Distributed video coding for wireless video sensor networks: a review of the state-of-the-art architectures <s> Encoder <s> A general method of constructing error correcting binary group codes is obtained. A binary group code with n places, k of which are information places is called an ( n , k ) code. An explicit method of constructing t -error correcting ( n , k ) codes is given for n = 2 m −1 and k = 2 m −1−R( m , t ) ≧ 2 m −1− mt where R ( m , t ) is a function of m and t which cannot exceed mt . An example is worked out to illustrate the method of construction. <s> BIB001 </s> Distributed video coding for wireless video sensor networks: a review of the state-of-the-art architectures <s> Encoder <s> In current interframe video compression systems, the encoder performs predictive coding to exploit the similarities of successive frames. The Wyner-Ziv theorem on source coding with side information available only at the decoder suggests that an asymmetric video codec, where individual frames are encoded separately, but decoded conditionally (given temporally adjacent frames) could achieve similar efficiency. We report the first results on a Wyner-Ziv coding scheme for motion video that uses intraframe encoding, but interframe decoding. <s> BIB002
Each video frame is first decomposed into non-overlapping blocks of size n × n where n ∈ {8, 16}. Thereafter, each macro-block undergoes the following encoding steps. Transform coding 2D discrete cosine transform (DCT) is employed to transform each macroblock from spatial to frequency domain with a computational complexity equivalent to that of performing Intra-frame coding. The transformation yields DCT coefficients for each of the macroblock that must be transformed into quantized codewords prior to encoding. Scalar quantization Let X represents the current macroblock to be encoded, Y to be its side information generated from a previously reconstructed frame, and N is the correlation noise. In Fig. 6 , the first line represents the quantized codewords for X while the next two lines represent the corresponding partitions of the quantized codeword space of X. The box shows the observed codeword which exists in the first partition. If the quantization step is less than the magnitude of N, and the decoder decodes the circled codeword (side information), this will lead to a decoding error. Therefore, the choice of quantization step should be directly proportional to the standard deviation of N. The scalar quantization block generates the space for evenly distributing the quantized codewords for X. Syndrome encoding Following the quantization step, the quantized codewords are partitioned using Euclidean space Trellis channel code which operates on BCH 2 code BIB001 for error correction. A lightweight convolution process is executed between the parity matrix of Trellis channel code and quantized codewords to generate coset index (syndrome) for each codeword. Refine quantization In scalar quantization, the step size is lower bounded by the correlation noise N, which is crucial to avoid decoding errors (Fig. 6) . Depending on the target reconstruction quality, step size is chosen to be fine or coarse. Therefore, the refined quantization step is applied to coefficients to fine-tune codewords such that the desired target quality is achieved.  Let the frames to be encoded represented by X 1 , X 2 , …, X N , and the set of odd numbered frames X 2i+1 termed as key frames are available at decoder, where i ∈ 0, 1, . . . , N −1 2 . Therefore, steps for the compression of even numbered frames X 2i are as follows: Scalar quantizer The symbol stream is initially generated by quantizing each pixel of every row of the entire frame at 2 M distinct levels using uniform scalar quantizer. The resulting quantized symbol stream of length L for each even numbered frame is then fed into the Slepian-Wolf turbo encoder. BIB002 Turbo coder and buffer In order to achieve bit rate flexibility, rate compatible punctured turbo (RCPT) coding is implemented, which dynamically adapts to the coding parameters associated with mismatches that occur between the frame to be encoded and its side information. Each block of input symbols from the quantized stream is assigned a parity sequence and the blocks that have same parity sequence are grouped together in the same coset. Thereafter, the parity sequence is temporarily stored in buffer and transmitted in small chunks to the decoder as and when required. Such an arrangement ensures that the encoder will transmit only a small amount of parity bits to the decoder for reconstruction of quantized bitstream. However, the decoder continues to generate feedback requests until the quantized bitstream has been reconstructed with desired quality parameter. The TDWZ codec splits the video sequence into key frames and WZ frames encapsulated within a group of pictures (GOP).