Patentable/Patents/US-9313513
US-9313513

Detection of resynchronization markers when decoding an MPEG-4 bitstream

PublishedApril 12, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method for detecting a resynchronization marker in an encoded MPEG-4 video bitstream is provided that includes computing a first candidate resynchronization marker length based on a first version of MPEG-4 Visual and the type of a video object plane (VOP) in the video bitstream, computing a second candidate resynchronization marker length based on a second version of MPEG-4 Visual and the type of the VOP, checking the video bitstream for a first valid resynchronization marker bit sequence using the first candidate resynchronization marker length, checking the video bitstream for a second valid resynchronization marker bit sequence using the second candidate resynchronization marker length, and detecting the resynchronization marker when a valid sequence of stuffing bits is present in the video bitstream after the macroblock boundary and either the first valid resynchronization marker bit sequence or the second valid resynchronization marker bit sequence is found in the video bitstream.

Patent Claims
12 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of detecting a resynchronization marker in an encoded MPEG-4 video bitstream, the method comprising: at a macroblock boundary between first and second video packets in a video object plane (VOP) in the video bitstream, checking the video bitstream for a valid sequence of stuffing bits, wherein the VOP is a bi-directionally coded type of VOP; based on the VOP being the bi-directionally coded type of VOP, computing a first candidate resynchronization marker length for the second video packet based on a first version of MPEG-4 Visual; based on the VOP being the bi-directionally coded type of VOP, computing a second candidate resynchronization marker length for the second video packet based on a second version of MPEG-4 Visual; in the second video packet, checking the video bitstream for a first valid resynchronization marker bit sequence having the first candidate resynchronization marker length; in the second video packet, checking the video bitstream for a second valid resynchronization marker bit sequence having the second candidate resynchronization marker length; and without an indication of which of the first and second versions of MPEG-4 Visual was used for encoding the video bitstream, detecting the resynchronization marker in the second video packet, in response to detecting: the valid sequence of stuffing bits in the video bitstream; and one of the first and second valid resynchronization marker bit sequences in the second video packet.

2

2. The method of claim 1 , wherein computing a first candidate resynchronization marker length and computing a second candidate resynchronization marker length are performed in parallel.

3

3. The method of claim 1 , wherein the first version is version two or version three of MPEG-4 Visual, and the second version is version one of MPEG-4 Visual.

4

4. The method of claim 1 , wherein: computing a first candidate resynchronization marker length comprises: computing the first candidate resynchronization marker length as eighteen when a value of an fcode is less than three; and computing the first candidate resynchronization marker length as a sum of sixteen plus the value of the fcode when the value of the fcode is greater than or equal to three; and computing a second candidate resynchronization marker length comprises: computing the second candidate resynchronization marker length as a sum of sixteen plus the value of the fcode; wherein the value of the fcode is the larger of vop_fcode_backward and vop_fcode_forward.

5

5. A video decoder for decoding an encoded MPEG-4 video bitstream, wherein the decoding comprises detecting a resynchronization marker in the encoded MPEG-4 video bitstream, and wherein the detecting comprises: at a macroblock boundary between first and second video packets in a video object plane (VOP) in the video bitstream, checking the video bitstream for a valid sequence of stuffing bits, wherein the VOP is a bi-directionally coded type of VOP; based on the VOP being the bi-directionally coded type of VOP, computing a first candidate resynchronization marker length for the second video packet based on a first version of MPEG-4 Visual; based on the VOP being the bi-directionally coded type of VOP, computing a second candidate resynchronization marker length for the second video packet based on a second version of MPEG-4 Visual; in the second video packet, checking the video bitstream for a first valid resynchronization marker bit sequence having the first candidate resynchronization marker length; in the second video packet, checking the video bitstream for a second valid resynchronization marker bit sequence having the second candidate resynchronization marker length; and without an indication of which of the first and second versions of MPEG-4 Visual was used for encoding the video bitstream, detecting the resynchronization marker in the second video packet, in response to detecting: the valid sequence of stuffing bits in the video bitstream; and one of the first and second valid resynchronization marker bit sequences in the second video packet.

6

6. The video decoder of claim 5 , wherein computing a first candidate resynchronization marker length and computing a second candidate resynchronization marker length are performed in parallel.

7

7. The video decoder of claim 5 , wherein the first version is version two or version three of MPEG-4 Visual, and the second version is version one of MPEG-4 Visual.

8

8. The video decoder of claim 5 , wherein: computing a first candidate resynchronization marker length comprises: computing the first candidate resynchronization marker length as eighteen when a value of an fcode is less than three; and computing the first candidate resynchronization marker length as a sum of sixteen plus the value of the fcode when the value of the fcode is greater than or equal to three; and computing a second candidate resynchronization marker length comprises: computing the second candidate resynchronization marker length as a sum of sixteen plus the value of the fcode; wherein the value of the fcode is the larger of vop_fcode_backward and vop_fcode_forward.

9

9. A system, comprising: at least one processor; and at least one memory storing instructions executable by the processor for detecting a resynchronization marker in an encoded MPEG-4 video bitstream, wherein the detecting comprises: at a macroblock boundary between first and second video packets in a video object plane (VOP) in the video bitstream, checking the video bitstream for a valid sequence of stuffing bits, wherein the VOP is a bi-directionally coded type of VOP; based on the VOP being the bi-directionally coded type of VOP, computing a first candidate resynchronization marker length for the second video packet based on a first version of MPEG-4 Visual; based on the VOP being the bi-directionally coded type of VOP, computing a second candidate resynchronization marker length for the second video packet based on a second version of MPEG-4 Visual; in the second video packet, checking the video bitstream for a first valid resynchronization marker bit sequence having the first candidate resynchronization marker length; in the second video packet, checking the video bitstream for a second valid resynchronization marker bit sequence having the second candidate resynchronization marker length; and without an indication of which of the first and second versions of MPEG-4 Visual was used for encoding the video bitstream, detecting the resynchronization marker in the second video packet, in response to detecting: the valid sequence of stuffing bits in the video bitstream; and one of the first and second valid resynchronization marker bit sequences in the second video packet.

10

10. The system of claim 9 , wherein computing a first candidate resynchronization marker length and computing a second candidate resynchronization marker length are performed in parallel.

11

11. The system of claim 9 , wherein the first version is version two or version three of MPEG-4 Visual, and the second version is version one of MPEG-4 Visual.

12

12. The system of claim 9 , wherein: computing a first candidate resynchronization marker length comprises: computing the first candidate resynchronization marker length as eighteen when a value of an fcode is less than three; and computing the first candidate resynchronization marker length as a sum of sixteen plus the value of the fcode when the value of the fcode is greater than or equal to three; and computing a second candidate resynchronization marker length comprises: computing the second candidate resynchronization marker length as a sum of sixteen plus the value of the fcode; wherein the value of the fcode is the larger of vop_fcode_backward and vop_fcode_forward.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

June 10, 2009

Publication Date

April 12, 2016

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Detection of resynchronization markers when decoding an MPEG-4 bitstream” (US-9313513). https://patentable.app/patents/US-9313513

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.