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:
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.