Customer SolutionsDigital Video Recorder with Motion JPEG using LabVIEW and IMAQ Products
Author(s):G. Kaltenborn, Martin-Luther-University Halle-Wittenberg; Holger Lehnich, Martin-Luther-University Halle-Wittenberg; Ursula Muller-Werdan, Martin-Luther-University Halle-Wittenberg; H.D. Pauer, Martin-Luther-University Halle-Wittenberg
Industry:Life Science
Product:LabVIEW, Vision
The Challenge:Determination of time dependent features in motion pictures.
The Solution:On-line digital recording with Motion JPEG. Off-line image analysis.Introduction
The digitised video signal is displayed on the PC monitor (768*576 pixel 25 frames /s). Therefore no additional analogue monitor is required to control the sharpness or the brightness of the image.
Within a cycle of 40 ms the software has to manage the following tasks:
The standard VI from the IMAQ Vision Library ‘Write JPEG File’ is the only one with compression functionality, but not fast enough to compress the images in real time ( 150 ms for 768*576 pixel ). To avoid the file handling in every cycle, the destination of the JPEG byte stream should be the memory and not a file. But there is no VI in the IMAQ Vision library, containing these properties. Nevertheless, the application of the JPEG standard is suitable for the compression of sequences. No frame differencing or motion estimation is used. This makes frame accurate analysing with-out any loss of image quality possible. So the goal was to create an encoder VI and a decoder VI using the JPEG still image compression standard. This DLL makes conversion to and from JPEG simpler by working on a DIB byte format. This makes it easier to use for LabVIEW programmers than the Independent JPEG Group’s C code ( www.ijg.org ), since the input and output format in memory is a standard Windows format. Figure 2 shows the LabVIEW diagram of the realised JPEG encoder, containing some non-standard VI’s. The SetProps and GetProps VI’s write or read the JPEG Core Properties, serving as parameter passing. The VI’s IJLinit, IJLfree, IJLwrite and IJLread call the DLL functions of the same name. That shows, no C code ( CIN ) is necessary to develop the JPEG encoder and decoder ( see Figure 3 ). But how time consuming is the IJL compression algorithm ?
The selected JPEG image quality has no effect on the VI Time, only the size of the compressed byte stream is changing. As can be seen from the benchmarks a fully sized digital recording system, using LabVIEW and the IJL DLL, may be possible soon. To keep real time conditions JPEG images are currently scaled to ½ . The created large binary files can be saved cost effectively to DVD RAM. View the entire user solution in Adobe Acrobat PDF format. |
