Graphics, Video, and Display (D2:F0)
9.2.1
Entropy Coding
The entropy encoding module serves as the master controller for the video accelerator.
The master data stream control and bitstream parsing functions for the macroblock
level and below are performed here. Required control parameters are sent to the
motion compensation and deblocking modules.
The macroblock bitstream parsing performs the entropy encoding functions for VLC,
CALVC, and CABAC techniques used in video codecs. The entropy encoding module also
performs the motion vector reconstruction using the motion vector predictors.
After entropy encoding, the iDCT coefficients are extracted and inverse scan ordered.
Then inverse quantization, rescaling, and AC/DC coefficient processing is performed.
The re-scaled coefficients are passed to the Inverse Transform engine for processing.
The Hadamard transform is also supported and performed here. The inverse-
transformed data is connected to the output port of entropy coding module, which
provides the residual data to the motion compensation module.
9.2.2
Motion Compensation
The entropy encoder or host can writes a series of commands to define the type of
motion predication used. The motion predicated data is then combined with residual
data, and the resulting reconstructed data is passed to the de-blocker.
The Motion Compensation module is made-up of four sub-modules:
• The Module Control Unit module controls the overall motion compensation
operation. It parses the command stream to detect errors in the commands sent,
and extracts control parameters for use in later parts of the processing pipeline.
The Module Control Unit also accepts residual data (either direct from VEC or by a
system register), and re-orders the frame/field format to match the predicted tile
format.
• The Reference Cache module accepts the Inter/Intra prediction commands, along
with the motion vectors and index to reference frame in the case of Inter
prediction. The module calculates the location of reference data in the frame store
(including out-of-bounds processing requirements). The module includes cache
memory which is checked before external system memory reads are requested
(the cache can significantly reduce system memory bandwidth requirements). In
H264 mode, the module also extracts and stores Intra boundary data which is used
in Intra prediction. The output of the Reference Cache is passed to the 2-D filter
module.
• The 2-D filter module implements up to 8-tap Vertical and Horizontal filters to
generate predicted data for sub-pixel motion vectors (to a resolution of up-to 1/8th
of a pixel). The 2-D filter module also generates H264 Intra prediction tiles (based
on the Intra prediction mode and boundary data extracted by the Reference
Cache). For VC1 and WMV9, the 2-D filter module also implements Range scaling
and Intensity Compensation on Inter reference data prior to sub-pixel filtering.
• The Pixel Reconstruction Unit combines predicted data from the 2-D filter with the
re-ordered residual data from the Module Control Unit. In the case of Bi-directional
macroblocks with two motion vectors per tile, the Pixel Reconstruction Unit
combines the two tiles of predicted data prior to combining the result with residual
data. In the case of H264, the Pixel Reconstruction Unit also implements Weighted
Averaging. The final reconstructed data is then passed to the VDEB for de-blocking
(as well as being fed-back to Reference Cache so that Intra boundary data can be
extracted).
Datasheet
99