DVR prototype runs uClinux  

Posted by Daniela Mehler

DVR prototype runs uClinux

Minsk, Belarus-based Promwad Innovation Company says it used uClinux to create a digital video recorder (DVR) prototype. Based on an Analog Devices Inc. (ADI) Blackfin BF533 DSP (digital signal processor), the "JPEG2000 DVR" prototype encodes images in the Motion JPEG2000 format.

(Click for larger view of Promwad's JPEG2000 DVR)

Promwad's JPEG2000 DVR is designed to encode a PAL or NTSC video signal in the MJPEG2000 format, and store it to a USB flash drive, while simultaneously transmitting audio/video data to an external display. The DVR is based on ADI's BF533. Like other Blackfin DSPs, it uses the Micro Signal Architecture (MSA), which is said to support a RISC-like register and instruction model. The BF533 is equipped with two 16-bit MACs, two 40-bit ALUs, four 8-bit video ALUs, and a 40-bit shifter.

DVR prototype runs uClinux


DVR prototype conceptual diagram

The Promwad team says it used ADI's EZ-KIT Lite desktop development board, along with ADI's ADSP-BF533 uClinux BSP. In addition, the DVR prototype includes Promwad's "WiFi-USB-ZigBee BF Extender Board" and ADI's ADV202 BF-Expander JPEG2000 video codec.

DVR prototype runs uClinux


ADV202 video codec interactions

Promwad and its client selected Motion JPEG2000 due to the following touted advantages:High level and quality of compression, noise immunity

Wavelet technology allows changing image resolution with minimal efforts

Absence of frame-to-frame connection, enabling selecting separate frames from video steam without processingPromwad developed a driver for the ADV202, enabling the application to capture a compressed JPEG2000 stream, as well as adjust brightness, saturation, and contrast parameters. The team also developed a program module that saves frames received from the ADV202 codec to a video stream, with some data written to metadata fields of the JPEG2000 frame. The received data is saved in an AVI container file stored on a USB flash drive.

One of the core development tasks was creating the control protocol for the DVR, which is said to have the following capabilities:Setting the quality of the recorded video stream (D1, QCIF, or CIF)

Setting recording parameters, including resolution, brightness, contrast, color, video standard, and compression level

Managing the file archive

Searching and selecting recorded video fragments by specified parameters from the archive

Broadcasting by low-speed channel both in real-time mode and from the video archive with the specified resolution, frame rate, and fragment length

Power control (sleep and resume)Problems encountered along the way included a USB driver supplied with the BF533 BSP that did not fully support wakeup/resume after suspend, says the company. In retrospect, Promwad recommends using the AD212 codec instead of the ADV202, which suffers from excessive heat emissions and numerous (albeit well-documented) implementation errors, such as image artifacts, it said.

The DVR project took four months and 163 man-days, according to the company. The final firmware for the DVR prototype takes up 1.5MB, or just under 2MB with the U-Boot loader, says Promwad. Tools used include C, Bash, GCC, GNU make, Cunit, and Ffmpeg. Promwad appears to have enjoyed working with uClinux, which "allows creating different build profiles, easily integrating new components, and configuring the building of third-party components in detail," says the company.

Availability

More information on the DVR prototype should be available here.

Previous Promwad design wins include two logic controller designs and a home automation panel.


Madonna’s Striptease Tribute to Britney Spears
(E! Online)

Satellite STB runs Linux

This entry was posted on 8:10 AM .