Design Article

H.264 video encoder motion search implementation on a programmable accelerator

Joe Hanson, Director of Technical Marketing, and Ricardo E. Gonzalez, Architect, Stretch Inc.

5/18/2007 2:45 AM EDT

The significant coding efficiency of H.264 video compression technology opens a wide range of new applications for streaming video over a variety of media. This increase in coding efficiency is due in part to the more effective use of inter-frame motion compression. This is achieved through the use of more reference pictures and variable block-size motion compensation.

Using the sum-of-absolute-differences (SAD) computations for macro-block comparisons, H.264 encoding supports the displacement of a reference block in 41 possible motion vectors. Even for standard definition video, the number of computations required exceeds the capabilities of most DSPs. To meet the computation requirements, designers have implemented complex architectures, such as mixing DSPs with FPGAs. These solutions have long development times and restrict the designer's ability to make algorithm enhancements without also making hardware changes.

The recently announced Stretch S6000 family of software configurable processors has been specifically optimized for high-performance video and wireless signal processing and features three technology innovations: the second-generation Instruction Set Extension Fabric (ISEF), the Programmable Accelerator, and the Processor Array. This article discusses the Programmable Accelerator.

The Programmable Accelerator consists of a series of highly optimized hardware primitives that can accelerate software implementations of various algorithms, including entropy coding, motion search, cryptography, and audio compression and processing.

Let's begin by providing an overview of the compute and bandwidth requirements for motion search in H.264. We'll then look at the software implementation of motion search that takes advantage of the hardware features of the Programmable Accelerator, and, finally, provide a summary of the performance.

H.264 motion search
As in most video compression algorithms, H.264 allows for a video frame to be encoded using only the current picture. Although this intra-coded picture, or I-frame, provides a minimal amount of compression, it does provide an anchor point that other frames can reference. Significantly improved encoding efficiency can then be realized using inter-frame prediction. Inter-frame prediction compares pixels in one frame to pixels from a previous frame (or frames), determines object displacement, and encodes only the motion vector and any difference between the two frames. Motion-based video compression is common. The same basic technique is used in MPEG2. However, H.264 supports searching for motion across a higher number of reference frames and the encoding of motion vector for blocks smaller than 16x16 pixels.

Next: Motion Search Calculations


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