Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
First Claim
Patent Images
1. A method comprising:
- receiving encoded data comprising at least one start code in a data stream;
recovering byte alignment based on location of a start code at a byte boundary in the received data, wherein the encoded data results from an encoder using a characteristic pattern of plural bytes as a search pattern for conducting start code emulation prevention data insertion on the encoded data to prevent start code emulation at every bit-shifted position relative to one or more byte-aligned locations;
searching, at the one or more byte-aligned locations in the received data, for a pattern of plural bytes comprising a start code emulation prevention byte for preventing start code emulation;
responsive to finding the pattern of plural bytes comprising the start code emulation prevention byte in the received data, removing the start code emulation prevention byte from the received data.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems provide approaches to start code emulation prevention at a granularity higher than the bit level. In various embodiments, start code emulation prevention can occur at locations other than data boundaries such as byte boundaries and the like. These embodiments can be used in connection with systems that do not always preserve data alignment boundaries in the data that is processed. In some systems, the described techniques can provide a basis from which decoder systems can recover in the event that data boundaries are lost.
-
Citations
43 Claims
-
1. A method comprising:
-
receiving encoded data comprising at least one start code in a data stream; recovering byte alignment based on location of a start code at a byte boundary in the received data, wherein the encoded data results from an encoder using a characteristic pattern of plural bytes as a search pattern for conducting start code emulation prevention data insertion on the encoded data to prevent start code emulation at every bit-shifted position relative to one or more byte-aligned locations; searching, at the one or more byte-aligned locations in the received data, for a pattern of plural bytes comprising a start code emulation prevention byte for preventing start code emulation; responsive to finding the pattern of plural bytes comprising the start code emulation prevention byte in the received data, removing the start code emulation prevention byte from the received data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. One or more computer-readable media having stored thereon computer-executable instructions for causing one or more computers to perform a method comprising:
-
receiving encoded data comprising at least one start code in a data stream; recovering byte alignment based on location of a start code at a byte boundary in the received data, wherein the encoded data results from an encoder using a characteristic pattern of plural bytes as a search pattern for conducting start code emulation prevemtion data insertion on the encoded data to prevent start code emulation at every bit-shifted position relative to one or more byte-aligned locations; searching, at the one or more byte-aligned locations in the received data, for a pattern of plural bytes comprising a start code emulation prevention byte for preventing start code emulation; and if the pattern of plural bytes comprising the start code emulation prevention byte is found in the received data, removing the start code emulation prevehtion byte from the received data. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method comprising:
-
searching for one or more search patterns in data being encoded, each of the one or more search patterns including plural bytes; and if one of the one or more search patterns is found in the data being encoded, replacing the found pattern with a replacement pattern in an encoded data stream, the replacement pattern comprising data in the found pattern along wit an emulation prevention byte for preventing start code emulation; wherein a characteristic pattern of plural bytes is used as one of the one or more search patterns for conducting start code emulation prevention data insertion on the data being encoded to prevent start code emulation at every bit-shified position relative to one or mom byte-aligned locations, thereby facilitating recovery of byte alignment at a decoder based on location of a start code at a byte boundary. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. One or more computer-readable media having stored thereon computer-executable instructions for causing one or more computers to perform a method comprising:
-
searching for one or more search patterns in data being encoded, each of the one or more search patterns including plural bytes; and if one of the one or more search patterns is found in the data being encoded, replacing the found pattern with a replacement pattern in an encoded data stream, the replacement pattern comprising data in the found pattern along with an emulation prevention byte for preventing start code emulation; wherein a characteristic pattern of plural bytes is used as one of the one or more search patterns for conducting start code emulation prevention data insertion on the data being encoded to prevent start code emulation at every bit-shifted position relative to one or more byte-aligned locations, thereby facilitating recovery of byte alignment at a decoder based on location of a start code at a byte boundary. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43)
-
Specification