Embedded Video Processing and Radio Unit
The embedded video processing and radio unit (VPRU) is a small, high performance single board computer for capturing and transmission of high definition video and for providing a simple TM/TC interface for the system it is built into.
- 1 Requirements
- 2 Functional Overview
- 3 Development Approach
- 4 Initial Analysis
- 5 Resources (to be moved?)
- 6 Further Reading
- 7 References
- Capture high quality video in 640x360 and 1280x720 pixels, 25 fps, progressive scan
- Perform some basic compression of the video stream in real time
- Transmit the compressed video over the air in one of the following modes:
- In real-time at highest resolution and quality
- In real-time at low resolution, storing the high resolution in a data storage for later non real-time retrieval
- Provide a TM/TC interface to other processing units
- Interleave telemetry from other processing units and the video stream and transmit it over a radio link
- Receive telecommands via the radio and forward them to the other processing units
- Size and weight TBD
Nice to have requirements:
- Camera pan and tilt (zoom?)
- Transponder functionality in the radio unit for ranging
The diagram below shows an overview of the desired functionality. Note that a box represent a function that may be implemented by hardware, software or both. Similarly, the arrows represent data flow that could be function calls in software or signals through a wire.
The camera can be either CCD or CMOS. It sends RGB or YCbCr data to the Video encoder and receives control signals from the Camera controller. These can be gain, shutter speed, capture size, etc, depending on the camera used.
Cam control & Video encoder
This function has two purposes:
- Compress and encode the video data received from the camera.
- Send control signals to the camera.
These two functions are quite different, nonetheless they are listed as one function because controlling the camera settings is often done in a closed loop.
Video processing and transmission can performed in three different modes:
- High-rate TM: The high quality video is forwarded in real-time at its original size to the TM encoder. This mode is used when there is sufficient radio bandwidth for high-rate transmission.
- Low-rate TM: The high quality video is stored in the Storage at its original size for later retrieval and a reduced-size preview is forwarded in real-time to the TM encoder. This mode is used when the radio link can only provide sufficient bandwidth for low rate transmissions.
- Retrieve: This mode is used when the capturing was done in the Low-rate TM mode and the high quality & size video needs to be downloaded in non-real time.
The Cam control and video encoder function receives telecommands directly from the TC decoder. These commands include everything related to video processing (e.g. preview size), including camera control commands.
The data storage is used for storing video for later retrieval when only low-rate TM transmission is possible.
The telemetry encoder receives video data stream and telemetry data from the video encoder and interleaves them with telemetry from other sources. The interleaved telemetry stream is sent to the Digital Signal Processor of the radio unit.
The TC decoder receiver telecommand data from the Digital Signal Processor of the radio unit and decodes them. Camera and video related commands are sent to the Camera controller, other TCs are sent to the Auxiliary Units.
This has been included to allow interaction with other on-board units so that they can share the RX/TX connection. Such unit could be a flight computer or a simple expansion board containing various payloads like GPS receiver, accelerometer, temperature sensors, etc.
The transceiver is responsible for converting the digital data stream from the TM encoder into radio frequency signals that can be transfered over the air (transmitter part). The other way around, it is also responsible for receiving radio frequency signals, converting them into a digital data stream and sending it to the TC decoder (receiver part). The diagram below shows a functional breakdown of the transceiver:
DSP – Digital Signal Processor
A/D and D/A
There are the analog-to-digital and digital-to-analog signal converters in the radio unit. The reason for explicitly including them on the diagram will be clarified later on.
RX and TX
These are RF parts of the radio unit. The transmitter (RX) converts the baseband signal from the DSP/DA into a high frequency carrier wave. The receiver (RX) takes the received carrier and extracts the baseband signal from it, and sends it to the AD/DSP.
Antenna match & Diplexer
This has been added to allow using the same antenna for both transmission and reception.
Initial development will focus on implementing functionalities using various development boards, i.e. boards that have more electrical interfaces than needed. Depending on progress and flight opportunities, flight models will be created.
The VPRU is going to be developed in three incremental iterations resulting in three prototypes:
- First Prototype
- This prototype will focus on the video processing functionality and the TM/TC interface. For the radio part, a simple Wi-Fi, Bluetooth or ZigBee interface could be used allowing laptops and handheld devices to act as hosts.
- Second Prototype
- This prototype will focus on the radio unit and implement the transponder functionality to allow tracking and ranging.
- Third prototype (TBC)
- This prototype is more like an optional extension to the first two prototypes and will add pan and tilt functionalities.
Two processors from Texas Instruments are being evaluated:
Both are based on the DaVinci™ technology and contain hardware accelerators for video processing (both front end and back end). The OMAP3530 also contains a C64x+ DSP using which Software defined radio functionality could be implemented.
While these may not provide the best solution, they are relatively easy and cheap to get started with, because development environments are available in the form of the Beagle Board, the Leopard Board, and the Gumstix series. To begin with, following boards have been acquired:
- Leopard Board that comes with a VGA camera, plus an additional 5 Mpix camera.
- Gumstix Overo Fire with the Summit expansion board.
For now we have deferred acquisition of the Beagle Board because it does not expose the camera interfaces.
Resources (to be moved?)
- http://wiki.davincidsp.com/ or http://wiki.omap.com/
- GStreamer On TI DaVinci and OMAP Platform training.
The work is documented in details on the following pages:
- OMAP3530 VPU – VPU breadboarding using the Gumstix Overo (closed).
- Romit2 VPU – VPU for the Romit2 cubesat.
- OMAP4430 VPU – VPU breadboarding using the Pandaboard.
- OMAP3530 SDR – DSP/SDR breadboarding using the Gumstix Overo Tide and USRP E100.
- Camera Pan and Tilt – Breadboarding of the pan and tilt for the camera
- TMS320DM355 VPU – VPU breadboarding using the Leopard Board – Cancelled for now