The Y, U, V pixels in one frame shall be divided into DCT blocks. All DCT blocks for 625-50 system and DCT blocks except for rightmost DCT blocks in U and V for 525-60 system are structured with a rectangular area of eight vertical lines and eight horizontal pixels in a frame.
For 525-60 system, the rightmost DCT blocks in U and V are structured with 16 vertical lines and four horizontal pixels. The rightmost DCT block is reconstructed to eight vertical lines and eight horizontal pixels by moving the lower part of eight vertical lines and four horizontal pixels to the higher part of eight vertical lines and four horizontal pixels.
Six DCT blocks Y0, Y1, Y2, Y3, U, V form a macroblock.
27 DCT macroblocks form a superblock. (Each cell stands for one macroblock).
System 525-60 has three types of superblocks.
All superblocks of 625-50 system are of the same type.
A video segment consists of five macroblocks, which are gathered from various areas as below:
where k is within the interval [0,26], n = 10 for 525-60 system, n = 12 for 625-50 system, and j is the vertical order in the superblock.
Data in a video segment is compressed and transformed to the data of 385 bytes ( compressed segment). A compressed segment consists of five compressed macroblocks. Each compressed macroblock consists of 77 bytes.
Type of block is equal to 1 when the difference between two fields is small (m0=0). Type of block is equal to 2 when the difference between two fields is big (m0=1).
Each DCT block is classified into four classes. For selecting quantization step, class number is used.
Function Short Name | Description |
---|---|
Decoding |
|
Variable Length Decoding | |
Allocates memory and initializes the table that contains codes for DCT coefficients (Run-Level codes). | |
Decodes and rearranges a segment block, multiplies the first block element by 2. | |
Decodes and rearranges a DV100 segment block, multiplies the first block element by 128. | |
Performs the first pass of video segment decoding, rearranges the segment block, multiplies the first block element by 128. | |
Frees the memory allocated for VLC table. | |
Inverse Quantization | |
Performs inverse quantization on a block. | |
Performs inverse quantization and inverse weighting on a block. | |
Performs inverse quantization and inverse weighting on a block according to DV100 standard. | |
Inverse Discrete Cosine Transformation | |
Performs the inverse DCT for block of type 2 ( m0=1). | |
Performs the inverse DCT for block 2x4x8 and then creates block 4x4. | |
Encoding |
|
Discrete Cosine Transformation | |
Performs DCT for a block of type 2. | |
Evaluates number of zeros in a block. | |
Color Conversion |
|
Convert five macroblocks from YUV411 format into YUV2 format. | |
Convert five reduced YCrCb411 macroblocks into YCrCb422 reduced macroblocks. | |
Convert a YCrCb411 macroblock into a YCrCb422 macroblock at the right edge of destination image. | |
Convert five YCrCb420 macroblocks into YCrCb422 macroblocks. | |
Converts five reduced YCrCb420 macroblocks into YCrCb422 reduced macroblocks. | |
Convert five YCrCb422 macroblocks into YCbCr422 macroblocks. | |
Converts five reduced YCrCb422 macroblocks into YCrCb422 reduced macroblocks. | |
Converts ten YCrCb422 half-macroblocks into YCrCb422 half-macroblocks. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.