Method and device for error control of a macroblock-based video compression technique
First Claim
1. A method of error control of a macroblock-based video codec, wherein macroblocks are encoded using entropy coding, comprising:
- A) utilizing, in a decoder, control information and a plurality of picture headers in fixed positions relative to a beginning of a frame wherein the control information provides decoding information for decoding at least a forward sequence of macroblocks;
B) detecting errors in the frame and limiting propagation of errors in the frame utilizing the control information and the plurality of picture headers,wherein the control information defines a boundary of individual packets and includes;
C) an absolute count of a next/previous macroblock within the frame;
D) a relative address of a start of a next macroblock in a next packet; and
E) absolute values for predetermined differentially encoded information,where the relative address is quantized to bytes, and where a quantization remainder determines a number of bits available for an error detection code.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method (200) and device (300) for error control of a video compressed sequence in which error protection for both random and burst channel errors is provided. The error control syntax (100) applies a fixed length packet synchronization system to variable length coded compressed video data, which provides the capability to limit error propagation within the decoded video bit stream. The fixed length packet control information provides information to decode compressed video data in both forward and reverse directions to allow for the recovery of correctly decoded video data within a decoded frame after long bursts of channel errors while reducing the overhead for error control. The error control method also provides video error detection which may be used for error concealment.
78 Citations
25 Claims
-
1. A method of error control of a macroblock-based video codec, wherein macroblocks are encoded using entropy coding, comprising:
-
A) utilizing, in a decoder, control information and a plurality of picture headers in fixed positions relative to a beginning of a frame wherein the control information provides decoding information for decoding at least a forward sequence of macroblocks; B) detecting errors in the frame and limiting propagation of errors in the frame utilizing the control information and the plurality of picture headers, wherein the control information defines a boundary of individual packets and includes; C) an absolute count of a next/previous macroblock within the frame; D) a relative address of a start of a next macroblock in a next packet; and E) absolute values for predetermined differentially encoded information, where the relative address is quantized to bytes, and where a quantization remainder determines a number of bits available for an error detection code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 15)
-
-
11. A method of error control of a macroblock-based video codec, wherein macroblocks are encoded using entropy coding, comprising:
-
A) utilizing, in a decoder, control information and a plurality of picture headers in fixed positions relative to a beginning of a frame wherein the control information provides decoding information for decoding at least a forward sequence of macroblocks; B) detecting errors in the frame and limiting propagation of errors in the frame utilizing the control information and the plurality of picture headers, wherein the control information defines a boundary of individual packets and includes; C) an absolute count of a next/previous macroblock within the frame; D) a relative address of a start of a next macroblock in a next packet; and E) absolute values for predetermined differentially encoded information, further including that encoding of the macroblocks includes outputting the macroblocks in a forward bit order for a predetermined number of macroblocks and in a bit-reversed bit order for a second predetermined number of macroblocks and wherein a control information is used to decode both forward and reverse bit encoded macroblocks. - View Dependent Claims (12, 14)
-
-
16. A device for error control and concealment of a macroblock-based video codec, wherein macroblocks are encoded using entropy coding, wherein the device is directed by a computer program that is embodied in at least one of:
-
A) a memory; B) an application specific integrated circuit; C) digital signal processor; and D) a field programmable gate array, and the computer program includes steps of; E) utilizing control information and a plurality of picture headers in fixed positions relative to a beginning of a frame wherein the control information provides decoding information for decoding at least a forward sequence of macroblocks; F) detecting errors in the frame and limiting propagation of errors in the frame utilizing the control information and the plurality of picture headers, wherein the control information computed by a bit packer controller defines a boundary of individual packets and includes; G) an absolute count of a next/previous macroblock within the frame; H) a relative address of a start of a next macroblock in a next packet; and I) absolute values for predetermined differentially encoded information, where the relative address is quantized to bytes, and where a quantization remainder determines a number of bits available for an error detection code. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A device for error control and concealment for packets in a compressed bitstream in a macroblock-based video codec, wherein macroblocks are encoded using entropy coding, and a fixed length packet synchronization system is applied to variable length coded compressed video data, to limit error propagation within a decoded video bitstream, wherein the device comprises at least one of an encoder and a decoder,
wherein the encoder comprises: -
A) a bit packet controller, coupled to receive a compressed bitstream, for computing error control information by generating a plurality of predetermined control words, wherein packet control information is placed at a beginning of each packet; B) a block-based bit reverser, coupled to receive the compressed bitstream and to the bit packet controller, for reversing a macroblock bit order for macroblocks that are designated as backwards encoded macroblocks; and C) a multiplexer, coupled to the bit packet controller, the compressed bitstream and to the block-reversed bit reverser, for multiplexing the error control information and the compressed bitstream with the output of the block-based bit reverser according to a predetermined scheme; and in the decoder comprises; D) a demultiplexer, coupled to receive a multiplexed bitstream and to a control unit, for removing bits indicated by the control unit in accordance with a predetermined scheme and sending the bits to a second block-based bit reversal unit, a forward block decoder, and an error detector; E) the second block-based bit reversal unit, coupled to the demultiplexer, for reversing a macroblock bit order for macroblocks in accordance with the predetermined scheme to provide an output; and F) a backward block decoder, coupled to the second block-based bit reversal unit, for decoding the output of the second block-based bit reversal unit; G) a forward block decoder, coupled to the demultiplexer, for decoding the bits from the demultiplexer; H) an error detector, coupled to the demultiplexer, the backward block decoder, and to the forward block decoder, for utilizing control information and the decoded bitstreams to signal a presence of specific errors. - View Dependent Claims (24, 25)
-
Specification