IP Library Granted Patent US 8,767,840
Granted Patent B2
US 8,767,840 · App. 12/617,498 · Granted Jul 1, 2014

Method for detecting errors and recovering video data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,767,840
App. No.
12/617,498
Granted
Jul 1, 2014
Kind
B2
Abstract

A method of processing video data includes providing a bit-stream; and decoding the bit-stream. The step of decoding the bit-stream includes extracting a data portion from the bit-stream; extracting a first backup copy of the data portion from the bit-stream; and determining correct values of syntaxes in the data portion from the data portion itself and the first backup copy of the data portion. A second backup copy of the data portion may be extracted from the bit-stream and cross-examined with the data portion and the first backup copy of the data portion.

Claims (47)

1. A method of processing video data, the method comprising:

providing a bit-stream; and

decoding the bit-stream comprising:

extracting a data portion from the bit-stream;

extracting a first backup copy of the data portion from the bit-stream, wherein the extracting the first backup copy of the data portion from the bit-stream comprises:

shifting a shift correction byte in the bit-stream until the shift correction byte is identical to a pre-determined reference shift correction byte; and

shifting the first backup copy of the data portion in a same shift direction and by a same number of bits as the shift correction byte is shifted;

determining correct values of syntaxes in the data portion from the data portion itself and the first backup copy of the data portion, wherein the step of extracting the first backup copy of the data portion from the bit-stream comprises performing a circular redundancy check (CRC) to determine a correctness of the first backup copy of the data portion;

retaining all bit values in the first backup copy of the data portion when the CRC passes; and

cross-examining bit values in the data portion and in the first backup copy of the data portion when the CRC fails, wherein the cross-examining comprises comparing the bit values in the data portion and the bit values in the first backup copy of the data portion bit-by-bit, and adopting identical bit values, and wherein the identical bit values in the data portion and in the first backup copy of the data portion are corresponding bit values that are identical to each other.

2. The method of claim 1 , wherein the bit-stream is an H.264 bit-stream, and wherein the data portion is selected from the group consisting essentially of a seq_parameter_set (SPS), a pic_parameter_set (PPS), a macro block (MB) information (MB_info), an MB_data, and combinations thereof.

3. The method of claim 2 , wherein the data portion comprises rbsp_trailing_bits.

4. The method of claim 2 , wherein the data portion comprises the SPS.

5. The method of claim 2 , wherein the data portion comprises the PPS.

6. The method of claim 2 , wherein the data portion comprises the MB_info and the MB_data.

7. The method of claim 6 , wherein the MB_info and MB_data comprise data of a MB close to a center of an image frame.

8. The method of claim 1 further comprising:

extracting a second backup copy of the data portion from the bit-stream; and

cross-examining and determining correct bit values from the data portion, the first backup copy of the data portion, and the second backup copy of the data portion, wherein the correct bit values are identical in at least two of the data portion, the first backup copy of the data portion, and the second backup copy of the data portion.

9. A method of processing video data, the method comprising:

providing an H.264 bit-stream; and

decoding the H.264 bit-stream comprising:

extracting a data portion from the H.264 bit-stream, wherein the data portion is selected from the group consisting essentially of a seq_parameter_set (SPS), a pic_parameter_set (PPS), a macro block (MB) information (MB_info), an MB_data, and combinations thereof;

extracting a first backup copy of the data portion from the H.264 bit-stream, wherein the step of extracting the first backup copy of the date portion comprises:

shifting a shift correction byte in the H.264 bit-stream until the shift correction byte is identical to a pre-determined reference shift correction byte; and

shifting the first backup copy of the data portion in a same shift direction and by a same number of bits as the shift correction byte is shifted;

performing a first circular redundancy check (CRC) to determine a correctness of the first backup copy of the data portion;

determining correct bit values in the data portion from the data portion itself and the first backup copy of the data portion; and

cross-examining bit values in the data portion and in the first backup copy of the data portion when the CRC fails, wherein the cross-examining comprises comparing the bit values in the data portion and the bit values in the first backup copy of the data portion bit-by-bit, and adopting identical bit values, and wherein the identical bit values in the data portion and in the first backup copy of the data portion are corresponding bit values that are identical to each other.

10. The method of claim 9 further comprising:

extracting a second backup copy of the data portion from the H.264 bit-stream, wherein the step of extracting the second backup copy of the date portion comprises:

shifting the second backup copy of the data portion in a same shift direction and by a same number of bits as the shift correction byte is shifted; and

performing a second CRC to determine a correctness of the second backup copy of the data portion; and.

11. The method of claim 9 , wherein the first backup copy of the data portion is extracted from a network abstraction layer unit (NALU) behind an additional NALU comprising the data portion.

12. The method of claim 9 , wherein the first backup copy of the data portion is extracted from a position inside an NALU comprising the data portion.

13. A method of processing video data, the method comprising:

encoding an H.264 bit-stream comprising:

encoding a data portion into the H.264 bit-stream, wherein the data portion is selected from the group consisting essentially of a seq_parameter_set (SPS), a pic_parameter_set (PPS), a macro block (MB) information (MB_info), an MB_data, and combinations thereof;

encoding a first backup copy of the data portion into the H.264 bit-stream;

encoding a circular redundancy check (CRC) data and a shift correction byte into the H.264 bit-stream and following the first backup copy of the data portion; and

encoding a second backup copy of the data portion into the H.264 bit-stream;

decoding the data portion from the H.264 bit-stream;

decoding the first backup copy of the data portion from the H.264 bit-stream;

decoding the second backup copy of the data portion from the H.264 bit-stream; and

cross-examining bit values in the data portion, the first backup copy of the data portion, and the second backup copy of the data portion to determine correct bit values, wherein bit values that are identical in at least two of data portion, the first backup copy of the data portion, and the second backup copy of the data portion are adopted, and wherein bit values that are different in all three of the data portion, the first backup copy of the data portion, and the second backup copy of the data portion are performed with further determination.

14. The method of claim 13 , wherein the first backup copy of the data portion is encoded to a position behind a network abstraction layer unit (NALU) comprising the data portion.

15. The method of claim 13 , wherein the first backup copy of the data portion is encoded to a position inside an NALU comprising the data portion.

Assignments (2)
CORRECTIVE ASSIGNMENT TO ADD THE SECOND OMITTED ASSIGNEE PREVIOUSLY RECORDED AT REEL: 023509 FRAME: 0717. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 4, 2015
From: CHUANG, YE LIN
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.; GLOBAL UNICHIP CORP.
Reel/Frame 035828/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2009
From: CHUANG, YE LIN
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.
Reel/Frame 023509/0717 →