Page 234 - Video Coding for Mobile Communications Efficiency, Complexity, and Resilience
P. 234
Section 9.6. Forward Techniques 211
resilience. Some techniques are designed to minimize the e ects of transmis-
sion errors, some are designed to make error handling at the decoder more
e ective, and others are designed to guarantee a basic level of quality while
providing graceful degradation in the presence of transmission errors. Exam-
ples of forward techniques are brie5y described in the following subsections.
9.6.1 Forward Error Correction (FEC)
Forward error correction works by adding redundant bits to a bitstream to help
the decoder detect and correct some transmission errors without the need for
retransmission. The name forward stems from the fact that the 5ow of data
is always in the forward direction (i.e., from encoder to decoder).
For example, in block codes the transmitted bitstream is divided into blocks
of k bits. Each block is then appended with r parity bits to form an n-bit
codeword. This is called an (n; k) code.
For example, Annex H of the H.263 standard provides an optional FEC
mode. This mode uses a (511; 493) BCH (Bose-Chaudhuri-Hocquenghem)
code. Blocks of k = 493 bits (consisting of 492 video bits and 1 ll indicator
bit) are appended with r =18 parity bits to form a codeword of n = 511 bits.
Use of this mode allows the detection of double-bit errors and the correction
of single-bit errors within each block.
9.6.2 Robust WaveformCoding
As already discussed, the waveform encoder in a typical video communication
system works by removing statistical and psychovisual redundancies present
in the input video. Robust waveform coding techniques, however, intentionally
keep (or even add) some redundancy to achieve error resilience. Examples of
such techniques are given next.
9.6.2.1 Adding Redundant Information
This technique adds auxiliary information or repeats some previously coded
information to help error handling at the decoder. For example, as is shown in
Section 9.7, a powerful technique for error concealment is temporal conceal-
ment. The performance of this technique is highly dependent on the availability
of motion information for the damaged blocks. Thus, this technique is usually
used for concealing INTER macroblocks. In MPEG-2, however, the encoder
can optionally send auxiliary motion vectors for INTRA macroblocks. In the
presence of errors, such vectors can be used to temporally conceal damaged
macroblocks.
Another example is the header extension code (HEC) included by MPEG-
4 in packet headers. If this bit is set to “1,” then some data, like timing