Method for the detection and recovery of errors in the frame...

Pulse or digital communications – Bandwidth reduction or expansion – Television or motion video signal

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C375S240280

Reexamination Certificate

active

06836514

ABSTRACT:

TECHNICAL FIELD
This invention relates to the field of digital image and video coding, and more specifically to the area of error detection and data recovery while decoding an erroneous bitstream.
BACKGROUND OF THE INVENTION
Transmission and storage of uncompressed digital video requires a large amount of bandwidth. Video compression is necessary to reduce the bandwidth to a level suitable for transmission over channels such as the Internet and wireless links. H.263, H.261, MPEG-1, MPEG-2, and MPEG-4 international video coding standards provide a syntax for compressing the original source video allowing it to be transmitted or stored using a fewer number of bits. These video coding methods serve to reduce redundancies within a video sequence at the risk of introducing loss in quality. However, the resulting compressed bitstream is much more sensitive to bit errors. When transmitting the compressed video bitstream in an error prone environment, the decoder must be resilient in its ability to handle and mitigate the effects of these bit errors. This requires the need for a robust decoder capable of resolving errors and handling them adeptly.
FIG. 1
is a simplified block diagram of an exemplary block-based video coder
100
. The input
102
is typically a sequence of values representing the luminescence (Y) and color difference (Cr and Cb) components of each pixel in each image. The sequence of pixels may be ordered according to raster (line by line) scan of the image. At block
104
the sequence of pixels is reordered so that the image is represented as a number of macroblocks of pixels. In a 4:2:0 coding system, for example, each macroblock is 16 pixels by 16 pixels. In video, the images often change very little from one images to the next, so many coding schemes use inter-coding, in which a motion compensated version
127
of the previous image is subtracted from the current image at
106
, and only the difference image
107
is coded. The luminescence (Y) macroblock is divided into four 8×8 sub-blocks, and a Discrete Cosine Transform (DCT) is applied to each subblock at
108
. The color difference signals (Cb and Cr) are sub-sampled both vertically and horizontally and the DCT of the resulting blocks of 8×8 pixels is applied at
108
. The DCT coefficients are quantized at quantizer
110
to reduce the number of bits in the coded image. Variable length coder
112
is then applied to convert the sequence of coefficients to serial bit-stream and further reduce the number of bit in the coded image
114
.
In order to regenerate the image as seen by a decoder, an inverse variable-length coder
116
, an inverse quantizer
118
and an inverse DCT
120
are applied. This gives the reconstructed difference image
121
. The motion compensated version
127
of the previous image is then added at
122
to produce the reconstructed image. The reconstructed image is stored in frame store
128
. The previous reconstructed image
129
and the current image
102
are used by motion estimator
124
to determine how the current image should by aligned with the previous reconstructed images to minimize the difference between them. Parameters describing this alignment are passed to variablelength coder
130
and the resulting information
132
is packaged with the DCT coefficients
114
and other information to form the final coded image. Motion compensator
126
is used to align the current image and produces motion compensated image
127
.
In this inter-coding approach, each image depends upon the previous image, so an error in a single macroblock will affect macroblocks in subsequent frames. In order to mitigate this problem, macroblocks may be intra-coded periodically, i.e. coded without reference to any other macroblock.
FIG. 11
shows the decoding process
1100
of an exemplary decoder. Decoding of a frame begins by first decoding the picture header using a picture header decoder as in block
1110
. This is followed by decoding of the GOB or slice header information (block
1115
). The macroblock data
132
′ and
114
′ is then decoded in the macroblock data decoder shown in block
1120
and described in FIG.
2
. If a new slice is signaled after the decoding of a macroblock has finished (decision block
1125
), the operation of the decoder returns to the GOB or slice header decoder (block
1115
). If a new frame is found after the macroblock (decision block
1130
), the decoder returns to the picture header decoder (block
1110
), and begins to decode the next frame. If a new slice or frame is not signaled after the current macroblock, another macroblock is assumed (block
1130
) and is decoded in block
1120
, as described in FIG.
2
.
An exemplary decoder
200
, suitable for use with the encoder
100
of
FIG. 1
, is shown in FIG.
2
. The input bit-stream
524
′ (the apostrophe is used to indicate the signal may contain bit errors) may be modified from the bitstream produced by the coder by transmission or storage errors that alter the signal. Demultiplexer
201
separates the coefficient data
114
′ and the motion vector data
132
′ from other information. The input
114
′ may be modified from the output
114
from the coder by transmission or storage errors that alter the signal. The image is reconstructed by passing the data through an inverse variable-length coder
202
, an inverse quantizer
204
and an inverse DCT
206
. This gives the reconstructed difference image
208
. The inverse variablelength coder
202
is coupled with a syntax error detector
228
for identifying errors in the data. The coded motion vector
132
′ may be modified from the output
132
from the coder by transmission or storage errors that alter the signal. The coded motion vector is decoded in inverse variable-length coder
222
to give the motion vector
224
. Coupled with the inverse variable-length coder
222
is a syntax error detector
230
to detect errors in the coded motion vector data
132
′. The previous motion compensated image
212
is generated by motion compensator
226
using the previous reconstructed image
220
and the motion vector
224
. The motion compensated version
212
of the previous image is then added at
210
to produce the reconstructed image. Error correction may be applied at
215
if errors are identified by either the syntax error detectors,
228
, or
230
or by other information contained in the bitstream. The correction may use techniques that utilize the motion vector information
224
in conjunction with the previously reconstructed frame
220
. The reconstructed image
214
is stored in frame store
218
. The sequence of pixels representing the reconstructed image
214
may then be converted at
216
to raster scan order to produce a signal
217
that may be presented to a visual display unit for viewing.
In their basic mode of operation H.261, H.263, MPEG-1, MPEG-2, and MPEG-4 code each frame in a hierarchical manner as shown in FIG.
3
. The information transmitted for each frame includes the picture start code (PSC), picture header, group of block (GOB) or slice headers, macroblock information, and texture information for each coded block. The general structure of this transmitted bitstream is shown in FIG.
4
. The PSC, picture header, and slice headers may be considered overhead information that enable the decoder to recover and decode the received bitstream with a high probability of error. It should also be noted that while the structure shown in FIG.
3
and
FIG. 4
imply that header information follows each slice, it is also possible for the header information be split so that some or all of the header information occurs once every several slices.
One of the most important fields in the bitstream is the picture start code. The PSC is a special sequence of bits that is transmitted before each frame and serves two key purposes. First, the PSC delineates the start of a new frame, and second, it serves as resynchronization markers within the bitstream in the event of bit errors. Bit errors corrupting t

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for the detection and recovery of errors in the frame... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method for the detection and recovery of errors in the frame..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for the detection and recovery of errors in the frame... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3324272

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.