IP Library Granted Patent US 11,849,148
Granted Patent B2
US 11,849,148 · App. 17/350,471 · Granted Dec 19, 2023

Method and apparatus for video encoding and/or decoding to prevent start code confusion

Inventors: Vivienne Sze (Dallas, TX); Madhukar Budagavi (Plano, TX); Akira Osamoto (Plano, TX); Yasutomo Matsuba (Allen, TX)
Assignee: Texas Instruments Incorporated
H04N19/70
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 11,849,148
App. No.
17/350,471
Granted
Dec 19, 2023
Kind
B2
Abstract

A method and a video processor for preventing start code confusion. The method includes aligning bytes of a slice header relating to slice data when the slice header is not byte aligned or inserting differential data at the end of the slice header before the slice data when the slice header is byte aligned, performing emulation prevention byte insertion on the slice header, and combine the slice header and the slice data after performing emulation prevention byte insertion.

Claims (31)

1. A method comprising:

receiving an encoded bitstream representing a slice, the slice comprising a slice header and slice data;

removing an emulation prevention byte from the encoded bitstream, wherein a first portion of the emulation prevention byte occurs in the slice header, and wherein a second portion of the emulation prevention byte occurs in the slice data;

extracting slice-header information from the slice header for the slice in the encoded bitstream, the slice-header information comprising sample adaptive offset information;

after extracting the slice-header information from the slice header for the slice, performing byte alignment at an end of the slice header; and

after performing byte alignment at the end of the slice header, extracting slice-data information from the slice data for the slice from the encoded bitstream.

2. The method of claim 1 , wherein performing byte alignment comprises extracting a stop bit from the encoded bitstream.

3. The method of claim 2 , wherein the stop bit represents a binary value of one.

4. The method of claim 3 , wherein performing byte alignment further comprises extracting at least one byte alignment bit from the encoded bitstream after extracting the stop bit from the encoded bitstream.

5. The method of claim 4 , wherein the at least one byte alignment bit represents a binary value of, zero.

6. The method of claim 1 , further comprising performing a second byte alignment at an end of the slice data after extracting data in the slice data for the slice.

7. The method of claim 1 , wherein the first portion of the emulation prevention byte occurs at an end of the slice header.

8. The method of claim 1 , wherein the first portion of the emulation prevention byte includes a final two bytes of the slice header.

9. The method of claim 1 , wherein the second portion of the emulation prevention byte occurs at a beginning of the slice data.

10. The method of claim 1 , wherein the second portion of the emulation prevention byte includes an initial four bytes of the slice data.

11. A system comprising:

a receiver configured to receive an encoded bitstream representing a slice, the slice comprising a slice header and slice data;

a decoder coupled to the receiver and configured to:

remove an emulation prevention byte from the encoded bitstream, wherein a first portion of the emulation prevention byte occurs in the slice header, and wherein a second portion of the emulation prevention byte occurs in the slice data;

extract slice-header information from the slice header for the slice in the encoded bitstream, the slice-header information comprising sample adaptive offset information;

after extracting the slice-header information from the slice header for the slice, perform byte alignment at an end of the slice header; and

after performing byte alignment at the end of the slice header, extract slice-data information from the slice data for the slice from the encoded bitstream.

12. The system of claim 11 , wherein performing byte alignment comprises extracting a stop bit from the encoded bitstream.

13. The system of claim 12 wherein the stop bit represents a binary value of one.

14. The system of claim 13 , wherein performing byte alignment further comprises extracting at least one byte alignment bit from the encoded bitstream after extracting the stop bit from the encoded bitstream.

15. The system of claim 14 , wherein the at least one byte alignment bit represents a binary value of zero.

16. The system of claim 11 , further comprising performing a second byte alignment at an end of the slice data after extracting data in the slice data for the slice.

17. The system of claim 11 , wherein the first portion of the emulation prevention byte occurs at an end of the slice header.

18. The system of claim 11 , wherein the first portion of the emulation prevention byte includes a final two bytes of the slice header.

19. The system of claim 11 , wherein the second portion of the emulation prevention byte occurs at a beginning of the slice data.

20. The system of claim 11 , wherein the second portion of the emulation prevention byte includes an initial four bytes of the slice data.

Continuity (5)
Continuation 16263309 · Jan 31, 2019
Continuation 13529446 · Jun 21, 2012
Provisional Application 61499276 · Jun 21, 2011
Provisional Application 61502387 · Jun 29, 2011
Related Publication 20210314627A1 · Oct 7, 2021