Tech Tips - Encoding Still Images

Overview

PixelTools encoders can convert a single image into a high quality, low size MPEG2 or MPEG1 video.  This patented (7,359,439 B1 ENCODING A STILL IMAGE INTO COMPRESSED VIDEO) process is ideal for creating still picture videos and for creating video menus.  The image to MPEG conversion is exceedingly fast.  The resultant MPEG is very high quality and flicker free.  Multiple single frame clips can be combined to form a high quality multi-image MPEG video.

Demo of image to MPEG conversion

Download the repeatframedemo.zip file to obtain a preset demonstration of the PixelTools Encoding Still Images into compressed video capability.  Just unzip the zip file and run the Repeat.bat command file.  The MPEGRepairHD product will come up encoding a 5 minute video (7200 frames) in just 5 seconds with a bit-rate of under 2mbps!  Depress the Control Decode Run button and select the de speedbar button to view the video using the MPEGRepairHD viewer.

 

electrosonic
Click on image for larger view

 

Using the Encoding Still Images feature in MPEGRepairHD or ExpertHD

The Encoding Still Images into compressed video option is found in the Optimize Encode | Configure | Input Control dialog.  Selecting the “Encoding Still Images into compressed video” button will cause the encode to use only the selected Encode Input file to create a video of length set in Optimize Encode | Configure | Number of Frames and frame rate and frame size set in Optimize Encode | Configure |  Parameters.The source frame name does not have to have an embedded number.

The default setting with Optimize Encode | Configure | Parameter | Enable Stuffing selected will force the encoded output to be of the constant bit-rate set in the
Optimize Encode | Configure |  BitRate dialog. To create a significantly smaller variable bit-rate stream, just uncheck the above Enable Stuffing option.  Note that variable bit-rate streams may not playback properly on MPEG decoders and networks designed for constant bit-rate streams.  

An even smaller output file size can be attained by un-checking the Optimize Encode | Configure | Parameters | MPEG2 option.  This will result in an MPEG1 stream. MPEG2 decoders are required to be able to decode MPEG1 streams. MPEG1 is more efficient than MPEG2 and can encode a repeat frame in just 32 bytes (or 6K bits per second)!

Using the Encoding Still Images into compressed video feature in Expert WorkShop SDK

The PixelTools Expert WorkShop SDK can add the repeat frame feature to any PC, Mac, or UNIX application.   The repeat frame option can be enabled by setting the rEPEATFRAME member of the VidEncodeInputControl_struc structure to true.

A much smaller variable bit-rate file can be created by clearing the eNABLESTUFFING member of the VidEncodeParams_struc structure.  An even smaller MPEG1 file can be created by clearing the mpeg1member of the VidEncodeParams_struc structure to 0.

Specification

MPEG compresses video by identifying areas within each video frame that vaguely correspond to areas of past (or future) frames. Rather than encoding these repeated blocks, MPEG provides the facility to tell the decoder to use the previously encoded block(s) with slight modifications.  Normal MPEG encoding will encode one frame as an independent (I) frame and encode adjacent frames using just the differences between the I frame and the current frame.  When encoding a sequence of identical frames, a normal MPEG encoder will encode the frame as a (relatively low quality) I frame and then encode subsequent frames with the difference between the I frame and the input frame.  The net result is that the resultant MPEG will display a somewhat fuzzy I frame followed by increasingly better quality reference frames.  This sequence usually repeats about twice per second. The unchanging nature of the source frame greatly highlights the quality difference between the I frame and the subsequent reference frames.  Often the encoded MPEG visually (and very annoyingly) pulses twice per second.

The PixelTools “repeat frame” encodes the source frame only once in the entire sequence as an I frame of a size that will be appropriate for the selected bit-rate.  The mode adds NULL frames between I frames that instruct the MPEG decoder to repeat the I frame exactly.  This mode then repeatedly adds I frames, NULL frames and stuffing if enabled for the selected length of the video. This method provides several significant advantages over the normal MPEG encoding:

  1. The resultant MPEG file will not visually pulse every I frame.  Every frame in the video is identical. All I frames are computationally identical to one another and all non I frames instruct the decoder to repeat the I frame exactly.

  2. The encoding process is extremely fast.  To encode a 5 minute video for example, only one frame is actually compressed.  MPEG compression is a very computationally intensive process and so requiring the encoding of only one frame accelerates the process.  The Encoding Still Images into compressed video encoding throughput is largely paced by the disk I/O speed.  The above demo encodes the 5 minute video in only 5 seconds.

  3. The resultant stream can be very small.  If your decoding system can accommodate variable bit-rate MPEG files, the MPEG file does not have to be stuffed up to the selected bit-rate.  The NULL frames are only 32 bytes for MPEG-1 or a few hundred bytes for MPEG-2 files.

 

MPEGRepairHD and ExpertWorkshop SDK are trademarks of PixelTools Corporation. All other brand names are trademarks or registered trademarks of their respected holders

©1998-2009 PixelTools Corporation