The Pixel Domain Wyner-Ziv codec is one of the approaches used for Distributed Video Coding (DVC). This implementation of DVC offers a pixel domain intra-frame encoder and inter-frame decoder with very low computational encoder complexity.
DVC principles are based on the Slepian-Wolf theorem (lossless case) and Wyner-Ziv theorem (lossy quantized case). Slepian-Wolf showed that the compression rate of the separate encoding of correlated sources is the same as that for joint encoding/decoding in the lossless case. Wyner and Ziv extended the Slepian and Wolf theorem to the lossy case.
At the encoder, an input video sequence is divided by GOP Control into key frames and Wyner-Ziv frames. Each key frame is encoded using a conventional intra-frame encoder (for example H.264, JPEG200, etc.) while each Wyner-Ziv frame is encoded using a distributed encoder to generate Wyner-Ziv bits.
Each pixel in the Wyner-Ziv frame is uniformly quantized. Bit plane extraction is performed on the entire image and then each bit plane is fed into a turbo encoder. At the decoder, the motion-compensated frame interpolation module generates the side information, by interpolation or extrapolation of previously decoded key frames and, possibly, previously decoded Wyner-Ziv frames. The side information will be used by the turbo decoder and reconstruction modules.
The parity bits generated by the turbo encoder are then stored in the buffer, punctured and transmitted upon request by the decoder while the systematic bits are discarded. The puncturing operation allows sending only a fraction of the parity bits and follows a specific puncturing pattern. The feedback channel is necessary to adapt to the changing statistics between the side information and the frame to be decoded, i.e. to the quality (or accuracy) of the frame interpolation or motion refinement process.
The decoder operates on a bit plane by bit plane basis. It starts by decoding the most significant bit plane and only proceeds to the next after each is successfully decoded – which means that most of the errors are successfully corrected. If the received Wyner-Ziv bits are not enough for decoding, the decoder requests additional parity bits from the encoder via a feedback channel.
After decoding the key frames and Wyner-Ziv frames, the output GOP Control reorders the frames to generate the output video sequence.