In all video coding systems, prediction is essential to achieve video coding efficiency. In two description coding, the decoder could receive either one or two descriptions. Thus there are three prediction loops in the encoder so that the decoder could still track the encoder state when a description is lost.
In the central prediction loop, a new frame is first motion compensated from its prediction based on both descriptions. The residue is then coded into two correlated bit streams that are sent to two separate channels. In , a DCT transform is first used to transform the residue to the frequency domain, followed by a correlation matrix. In our proposed matching pursuit based scheme, the residue is coded into two sets of atoms(an atom describes one basis function), F1 and F2, to be sent over two channels. The first L atoms found during MP iterations are shared by both sets and subsequent atoms are alternatively put into the two sets. As a result, F1 and F2 are of approximately equal importance because atoms are found in decreasing order of magnitude in MP iterations. The correlation between these two sets of atoms is controlled by the number of shared atoms L. Motion vectors, frame headers, and intra-coded (I) frames are duplicated and sent through both channels.
In the two symmetric side loops, we also use MP coding. There is no motion estimation in the side loops as the motion vectors are taken from the central loop. The rationale is that motion vectors in the side loops would be very similar to the motion vectors in the central loop. Bits saved in coding new motion vectors in side loops could be used to code the video at better quality. The energy of the residue R1(R2) from compensation based on one description is first reduced by exploiting its correlation with the coded residue from the central loop F1(F2) through pixel-wise subtraction, as in .