New version page

MIT 6 375 - Encoder Design

Documents in this Course
IP Lookup

IP Lookup

15 pages

Verilog 1

Verilog 1

19 pages

Verilog 2

Verilog 2

23 pages

Encoding

Encoding

21 pages

Quiz

Quiz

10 pages

IP Lookup

IP Lookup

30 pages

Load more

This preview shows page 1-2-19-20 out of 20 pages.

View Full Document
View Full Document

End of preview. Want to read all 20 pages?

Upload your study docs or become a GradeBuddy member to access this document.

View Full Document
Unformatted text preview:

1H.264 Encoder DesignMaxine Lee, Alex Moore - Group 3May 17, 20061 IntroductionH.264 is everywhere. If you have ever downloaded videos to your iPod from the iTunes movie storeor ripped a home movie to the latest a nd greatest MP4 video fo rmat, you have taken advantage ofH.264 e ncoding. H.264 is a giant step forward from previous standards because it achieves greatercompression, provides a full network ing framework, and streamlines the algorithms to achieve similarquality with much simpler mathematics. In addition, it is an ITU-re c ognized standard, so it is non-proprietary and open to everyone.At this point, storage space and network tr affic conditions are still the major bottlenecks in videoencoding, s o there should b e a market fo r hardware H.264 encoders that can perform compressionon video without needing a full-size computer and access to a power outlet. H.264 is well-suitedto implementation in hardware because unlike previous standards, w hich required larg e numbers ofmultiplication operations and exponential calculations, virtually all of the ca lculations in H.264 canbe done with adders and shifters. In this project, we will begin the implementation of an H.264encoder by writing an intraframe prediction system in Bluespec.The major blocks in intraframe prediction are listed below:• Discrete cosine transform (DCT)• Quantization• Inverse quantization• Inverse DCT• Prediction Mode Select• Prediction CalculationOf these blocks, the most challenging will probably be the prediction mode select block, whichdetermines the optimal prediction mode to minimize the s um of absolute differences (SATD) between2the predicted block and the actual image block. We expect that the most significant blocks in termsof size and speed will be the transformation, although they may be smaller than expected becauseof the optimization of the standard to use integers.Our baseline implementation only handles intraframe prediction, and we delve into simple in-terprediction for des ign explora tion. Still, in H.264 terminolog y, intraframe pr e dictio n mode aloneis all we need to predict ”I-Slices,” and this form of prediction (coupled with the remainder of thesp e c !) is sufficient to generate H.264-compliant video streams.2 BackgroundH.264 is a standard for high-quality video encoding that is resilient to poor network conditions, yethigh-quality enough to serve as a basis for HDTV and HD-DVD encoding. The standa rd definesonly the decoder, but it is relatively straightforward to derive an encoder specification from thestandard.H.264 has a number of impor tant advantages that make it the most imp ortant video standardin the technology world. First, it uses more sophisticated transforms, like quantization, Hadamard,and discrete cosine transforms to achieve top-quality compression. These operations are focused ontaking advantage of what digital computation does best - integer shifts a nd addition. As such, eventhough it is computationally intensive work, the blocks will be small and can capitalize on processormultimedia features. E qually important, H.264 was designed to compensate for lossy networks. Itincludes its own network layer to facilitate streaming video (with lost packets) and to minimizethe amount of transfer that needs to be completed. Perhaps most significantly, H.264 is an openstandard, produced by the ITU. It is a loose enough standard to allow for improvement, and therehave been five significant versions of the reference software and documents that have b e e n releasedto capitalize on improvements since H.264’s acceptance in 200 3. As such, we consider working on ahardware version of the encoder a relevant and valuable project.We chose to implement the intraframe encoding block of the H.264 encoder. The video streambegins its trip through the encoder when the video is split into single-image frames, then slicedinto 16x1 6 pixel macroblocks. This slicing algorithm is complex and aims to minimize discrepancywithin a macroblock a nd around its borders. These macroblocks need not be continuous, althoughthey need to be in the same frame. These mac roblocks are then passed into intra- and interframeprediction blocks. Predictions are ma de based on the macroblock’s appearance in previous framesand on the neighbo ring pixels within the sa me frame. Once the best prediction mode has beenfound, the difference between the prediction mode and the image is found, transformed, qua ntized,and entropy encoded. At that point, the entropy-coded changes in the macroblocks are sent to thenetwork layer, which processes and packages the data for transport over a potentially lossy network.3Figure 1: Encoder Block Diagram for Intra-Prediction Only [1]We choose to implement the prediction features because we found them to be the most interestingcomponents of the specification. Fraught with controls, the system must evaluate and make decisionsabout the predictions that will minimize transmission over 300 times per frame, resulting in hundredsof thousands of calculations per video clip. These blocks are mathematically intensive, and shouldcontain most o f the ”heavy lifting” involved in encoding. As such, they are perfect targets to farmout to a sp e c ific, optimized chip. We a lso considered this slice of the H.264 encoder to be a goodchoice because it is a very modular block. Since the specification for H.264 is only defined in wha t thedecoder must support, it is possible to consider a nything from our ba seline intraframe predictor allthe way through a sophisticated weighted-frame interframe predictor sufficient to meet the standardsfor H.264 video.3 High Level DesignThe block diagram for the H.264 encoder using only intraprediction is shown in Figure 1. Ourbaseline architecture will only support intraprediction, since interprediction is considerably mor ecomplex. The three main building blocks are the DCT, Quant, and Intra-Prediction blocks, whichwill each be discussed below. The purpose of the inverse blocks is to perform the same steps thedecoder will perform, and therefore base encoding decisions on how accurate the decoding processwill be. For the most part, the inverse operation is conceptually and structurally similar to theforward operation, so further discussion on the inverse will be minimal.3.1 Intra-PredictionIntra-prediction utilizes spatial correlation in each frame to reduce the amount of transmission datanecessary to represent the picture. H.264 performs


View Full Document
Loading Unlocking...
Login

Join to view Encoder Design and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Encoder Design and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?