Dirac Home
Navigation item arrowHome
Navigation item arrowDocumentation
Navigation item arrowDirac Algorithm
Navigation item arrowContents
Navigation item arrowIntroduction
Navigation item arrowArchitecture
Navigation item arrowRDO
Navigation item arrowTransform coding
Navigation item arrowMotion estimation
Navigation item arrowMacroblocks
Navigation item arrowMotion vector coding

SourceForge.net Logo
Valid XHTML 1.1!
Transform coding architecture

Previous: Transform coding contents
Next: Wavelet transform

Once any motion compensation has been performed, motion -compensated residuals are treated almost identically to Intra picture data. In both cases we have three (luminance and two chrominance) components in the form of two-dimensional arrays of data values. The picture (frame or field) component data is coded in three stages. First the data arrays are wavelet- transformed using separable wavelet filters and divided into subbands. Then they are quantised (using RDO quantisers in the reference encoder). Finally, the quantised data is entropy coded.

The architecture of coefficient coding is shown here:

Downloading a GIF rendering as your browser doesn't support SVG. Please ignore the "install additional plugins" message if you see it. More details Sorry, your browser can't connect to the server to download a GIF substitute.
     Either install an SVG-enabled browser or connect to the internet to download the diagram.

Figure: coefficient coding architecture

As can be seen, each wavelet subband is coded in turn. Both the quantisation and the entropy coding of each band can depend on the coding of previously coded bands. This does limit parallelisation, but the dependences are limited to parent-child relationships so some parallelisation/multi-threading is still possible.

The only difference between Intra picture coefficient coding and Inter picture residual coefficient coding lies in the use of prediction within the DC wavelet subband of Intra picture components.

At the decoder side, the three stages of the coding process are reversed. The entropy coding is decoded to produce the quantised coefficients, which are then reconstructed to produce the real values. Then, after undoing any prediction, the inverse transform produces the decoded picture component. The reference Dirac encoder has to maintain a local decoder within it, in part so that the result of the compression picture can be viewed at the time of compression, but mainly because compressed pictures must be used as reference frames for subsequent motion compensation else the encoder and the decoder will not remain in sync.

Previous: Transform coding contents
Next: Wavelet transform