Design Article

Integrating an H.264 video encoder with Stretch's processor

Joe Hanson,<br>Stretch Inc.

11/10/2006 3:15 AM EST

The H.264 video compression standard defines the bitstream resulting from compressing video using the tools within the standard. The standard does not describe how the tools are implemented nor does it mandate which tools must be used during the encoding process. An application developer integrating H.264 encoding into an embedded application can benefit from a flexible software development kit which encapsulates the encoding detail but provides the flexibility to customize the implementation of H.264 to meet the needs of their own application.

Target applications and trade-offs
While the goal of H.264 encoding is to deliver similar quality video at 50% of the bit rate of an MPEG 2 encoded stream, defining a single H.264 encoder application for all uses is difficult. The target bit rates and image quality requirements vary by application.

For low-motion video applications, such as surveillance, the requirements include variable image sizes ranging from CIF to D1 resolutions, medium to good video quality, low latency between the input and the output, and transport is over IP to a remote host for viewing and storage. The user application varies from simply controlling the camera settings and position to performing pre-processing or other specialized analytics on the video images.

For high-motion video applications, such as broadcast, the requirements include PAL or NTSC image sizes and frame rates, excellent video quality, low latency is less important, constant bit rate control to manage the channel capacity, and transport over an MPEG Transport Stream. The user application portion may perform specialized preprocessing on the images, such as noise removal or image enhancements.

VSS H.264 Encoder for Stretch Software Development Kit (SDK)
Stretch and VSS partnered to develop an SDK to ease the integration of H.264 encoding into a custom application. The SDK provides a set of 13 APIs to simplify the integration of video encoding into the application. The encoder provides a wide range of user selectable options which adapt the encoding requirements to the user application.

Figure 1 shows the typical usage for integrating H.264 encoding into an application. The three stages are the user application, the encoder and the transport mechanism. The content of the user application is, of course, up to the user to define. The transport mechanism is a packaging of the encoded bitstream into the targeted format, whether that is an RTP transport of Ethernet or an MPEG transport stream. The VSS SDK includes reference code for the transport layer. The H.264 encoder allows the user to configure the encoder to meet the bit-rate and quality within the compute requirements.


Figure 1: SDK usage in an application

Next: Parameters under user control


Next:




Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)

Feedback Form