System, method, and apparatus for error recovery in coded video signals
AssigneeIttiam Systems (P) Ltd.
InventorsArvind Raman, Murali Babu Muthukrishnan
Life of this patent
Estimating the term…
Abstract
Efficient techniques are provided to detect and correct channel errors found in an encoded video signal. In one example embodiment, header and global information in a video frame is analyzed to detect channel errors in the video frame. The video frame is then corrected for detected channel errors by isolating the detected channel errors to a few macroblocks in the video frame to reduce data loss and improve video quality.
Claims7
A method comprising:
- parsing a coded video signal to obtain one or more video frames by a video decoder, wherein each video frame includes header and global information, wherein the header and global information in each video frame includes a frame start code, one or more video packets following the frame start code, and a stuffing bit pattern following the one or more video packets, wherein each video packet comprises a resync marker data, a macroblock number, motion and header information, and one or more macroblocks including associated macroblock data;
- detecting an error in each video frame by analyzing the header and global information in the video frame by the video decoder;
- and
- correcting the video frame using the detected error to recover from the error by substantially limiting propagation of the error in the video frame by using the analyzed header and global information by the video decoder, wherein analyzing the header and global information includes performing an analysis of boundaries of current, preceding, and subsequent video packets for a macroblock number error from gaps and/or overlaps between the current, preceding, and subsequent video packets.
An apparatus comprising:
- a bit stream demux module to receive a coded video signal, wherein the coded video signal comprises a sequence of video frames, wherein each video frame includes a frame start code, one or more video packets following the frame start code, motion information, header and global information, and a stuffing bit pattern following the one or more video packets, wherein each video packet comprises a resync marker data, a macroblock number, and one or more macroblocks including associated macroblock data;
- a header decoding module to parse the coded video signal to get header and global information;
- and
- an error recovery module to detect and recover from an error in the coded video signal based on analyzing the header and global information in the coded video signal, wherein analyzing the header and global information includes performing an analysis of boundaries of current, preceding, and subsequent video packets for a decoded macroblock number error from gaps and/or overlaps between the current, preceding, and subsequent video packets.
An apparatus for decoding a coded video signal, comprising:
- means for receiving a video signal including a sequence of video frames, wherein each video frame includes a frame start code, one or more video packets following the frame start code, and a stuffing bit pattern following the one or more video packets, wherein each video packet comprises a resync marker data, a macroblock number, motion and header information, and one or more macroblocks including associated macroblock data;
- means for extracting header and global information, resync marker length, bit patterns in a frame start code, and stuffing bit pattern;
- and
- means for detecting and recovering from an error in the coded video signal, wherein the means for detecting and recovering from an error analyzes based on techniques selected from the group consisting of, performing an analysis of boundaries of a current video packet, a preceding video packet, and a subsequent video packet for a macroblock number error from gaps and overlaps between the current video packet, the previous video packet, and the subsequent video packet, and
- analyzing resync marker lengths in a header of a video frame and in first and second video packets.
A computer readable medium encoded with stored instructions that, when executed by a computer, result in execution of a method comprising:
- receiving a coded video signal, wherein the coded video signal comprises a sequence of video frames, wherein each video frame includes a frame start code, one or more video packets following the frame start code, and a stuffing bit pattern following the one or more video packets, wherein each video packet comprises a resync marker data, a macroblock number, motion and header information, and one or more macroblocks including associated macroblock data;
- detecting an error location in a coded video signal by analyzing data in the coded video signal;
- and
- recovering from the error by limiting propagation of the error substantially to the error location by using the analyzed data, wherein analyzing the data in the coded video signal comprises techniques selected from the group consisting of,
- performing an analysis of boundaries of a current video packet, a preceding video packet, and a subsequent video packet for a macroblock number error for gaps and overlaps between the current video packet, the previous video packet, and the subsequent video packet, and
- analyzing resync marker lengths in a header of a video frame and in first and second video packets.
A system comprising:
- a bus;
- a processor coupled to the bus;
- a memory coupled to the processor;
- a network interface coupled to the processor and the memory;
- and
- a video decoder coupled to the network interface comprising:
- a bit stream demux module to receive a coded video signal, wherein the coded video signal comprises a sequence of video frames, wherein each video frame includes a frame start code, one or more video packets following the frame start code, and a stuffing bit pattern following the one or more video packets, wherein each video packet comprises a resync marker data, a macroblock number, motion and header information, and one or more macroblocks including associated macroblock data;
- and
- an error recovery module to analyze data in the coded video signal and to detect and recover from an error by limiting propagation of the error substantially to the error location using the analyzed data, wherein the error recovery module analyzes the data based on techniques selected from the group consisting of,
- performing an analysis of boundaries of a current video packet, a preceding video packet, and a subsequent video packet for a macroblock number error from gaps and overlaps existing between the current video packet and the previous video packet and between the current video packet and the subsequent video packet, and
- analyzing resync marker lengths in a header of a video frame and in first and second video packets.
Dependencies are inferred from the claim text.