The Transform-Domain Wyner-Ziv codec is one of the methods used for Distributed Video Coding (DVC) implementations. It offers a transform domain intra-frame encoder and inter-frame decoder with very low computational encoder complexity.
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, JPEG2000, etc.) while each Wyner-Ziv frame is encoded using a distributed encoder to generate Wyner-Ziv bits.
A block-based transform, in many cases DCT, is applied to each Wyner-Ziv frame. The coefficients of DCT transform of the entire Wyner-Ziv frame are grouped together, according to the position occupied by each DCT coefficient within a block. DCT coefficient bands are formed. Depending on the required quality, each DCT band is uniformly quantized with a particular number XXXX. For each band, bits of the quantized symbols are grouped together to form bit planes.
The bit planes are independently encoded by the turbo-encoder, starting with the most significant bit plane. The parity information generated for each bit plane is then stored in the buffer and sent. The parity bits generated by the turbo encoder are then stored in the buffer, punctured and transmitted upon request by the decoder through the feedback channel.
The decoder creates the side information for each Wyner-Ziv coded frame by performing a frame interpolation using a motion compensation approach from the neighboring, already decoded frames. The side information for each WZ frame is taken as an estimate of the original Wyner-Ziv frame. The better the estimate, the fewer the errors the turbo decoder has to correct and therefore the smaller the bitrate needed.
Once the side information DCT coefficients and the residual statistics for a given DCT coefficient band are known, each bit plane is decoded by the turbo decoder. The decoder operates in a DCT, on a bit plane by bit plane basis, and starts by decoding the most significant bit plane. It then only proceeds to the next bit plane after each bit plane is successfully decoded -which means that most of the errors are successfully corrected.
After turbo decoding all the bit planes associated with each DCT band, the bit planes are grouped together to form the decoded quantized symbol stream associated with each band. The matrix of DCT coefficients is reconstructed and the DCT coefficients for bands for which no Wyner-Ziv bits were transmitted are replaced by the corresponding DCT bands of the side information. After all DCT bands are reconstructed, an inverse DCT transform is done.
After decoding the key frames and Wyner-Ziv frames, the output GOP Control reorders the frames to the output video sequence.
As an alternative approach, instead of a Turbo codec, a Syndrome codec may be used to the same end.