IP Library Granted Patent US 8,194,741
Granted Patent B2
US 8,194,741 · App. 11/871,385 · Granted Jun 5, 2012

Method and system for processing B pictures with missing or invalid forward reference pictures

Assignee: Broadcom Corporation
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,194,741
App. No.
11/871,385
Granted
Jun 5, 2012
Kind
B2
Abstract

Methods and systems for processing B pictures with missing or invalid forward reference pictures are disclosed. Aspects of one method may include decoding of a contiguous sequence of B pictures that immediately follow a first I picture after a sequence header. The decoding of the B pictures may handle video edit codes in the AVS1-P2 format and/or random access points. Some embodiments of the invention may discard B pictures that refer to invalid or missing forward reference pictures, while other embodiments of the invention may interpolate B pictures. For an invalid forward reference picture, the interpolation algorithm for generating pictures may use the invalid forward reference picture and the backward reference picture. For a missing decoded forward reference picture, as in a random access, the interpolation algorithm for generating pictures may use the backward reference picture.

Claims (54)

1. A method for processing video signals, the method comprising:

during handling of a compressed video data, after detecting a video edit code in said compressed video data and/or selecting a random access point in said compressed video data:

detecting whether a following start code in said compressed video data corresponds to a sequence header within said compressed video data;

when said sequence header is detected, determining whether a contiguous sequence of B pictures immediately follows a first I picture within said compressed video data, wherein said first I picture is a first I picture that occurs after said sequence header; and

decoding said contiguous sequence of B pictures based on said determination, wherein said B pictures are decoded based on a status of forward reference pictures indicated by one or more of said contiguous sequence of B pictures.

2. The method according to claim 1 , comprising discarding each B picture in said contiguous sequence of B pictures that are determined to immediately follow said first I picture.

3. The method according to claim 1 , comprising discarding each B picture in said contiguous sequence of B pictures when said each B picture in said contiguous sequence of B pictures indicates a reference to a forward reference picture that is one of: invalid or missing.

4. The method according to claim 1 , comprising interpolating decoded pictures that correspond to each B picture in said contiguous sequence of B pictures, when said each B picture in said contiguous sequence of B pictures indicates a reference to a forward reference picture that is one of: invalid or missing.

5. The method according to claim 4 , wherein said interpolation uses an algorithm when said forward reference picture is invalid and is available, wherein the algorithm is described as:

(( m+ 1− n )/( m+ 1))*(decoded forward reference picture)+( n /( m+ 1))*(decoded backward reference picture),

wherein the parameter ‘m’ is a number of B pictures in said contiguous sequence of B pictures, and the parameter ‘n’ is a one-based index of said B picture.

6. The method according to claim 4 , wherein said interpolation uses an algorithm when said forward reference picture is missing, wherein the algorithm is described as:

( n /( m+ 1))*(decoded backward reference picture),

wherein the parameter ‘m’ is a number of B pictures in said contiguous sequence of B pictures, and the parameter ‘n’ is a one-based index of said B picture.

7. A method for processing video signals, the method comprising:

transitioning to a second state from a first state after detecting one of: a video edit code in AVS1-P2 format or an indication of a random access in said first state;

transitioning to an error state after detecting one of: an I picture, a P picture, a B picture or a video edit code in said second state;

transitioning to a third state after detecting a sequence header in said second state immediately after said detecting one of: a video edit code in AVS1-P2 format or an indication of a random access in said first state;

transitioning to said error state after detecting one of: a P picture, a B picture, a video edit code, or a sequence header in said third state;

transitioning to a fourth state after detecting an I picture in said third state;

transitioning to said first state after detecting one of: an I picture or a P picture in said fourth state;

transitioning to a fifth state after detecting a B picture in said fourth state when said B picture references a forward reference picture;

transitioning to said first state after detecting one of: an I picture or a P picture in said fifth state; and

transitioning to said fourth state after detecting a B picture in said fifth state when said B picture does not reference a forward reference picture.

8. The method according to claim 7 , comprising discarding each said B picture detected in said fourth state and said fifth state.

9. The method according to claim 7 , comprising discarding each said B picture detected in said fifth state that references said forward reference picture.

10. The method according to claim 7 , comprising interpolating a decoded picture that correspond to said B picture detected in one of: said fourth state or fifth state, when said forward reference picture is one of: invalid or missing.

11. The method according to claim 10 , wherein said interpolation uses an algorithm if a decoded said forward reference picture is invalid but available, wherein the algorithm is described as:

(( m+ 1− n )/( m+ 1))*(decoded forward reference picture)+( n /( m+ 1))*(decoded backward reference picture),

wherein the parameter ‘m’ is a number of B pictures in a contiguous sequence of B pictures after a first I picture after a sequence header, and the parameter ‘n’ is a one-based index of said B picture.

12. The method according to claim 10 , wherein said interpolation uses an algorithm when said forward reference picture is missing, wherein the algorithm is described as:

( n /( m+ 1))*(decoded backward reference picture),

wherein the parameter ‘m’ is a number of B pictures in said contiguous sequence of B pictures, and the parameter ‘n’ is a one-based index of said B picture.

13. A system for processing video signals, the system comprising:

one or more circuits for use in handling a compressed video data, wherein during said handling of said compressed video data, after detecting a video edit code in said compressed video data and/or selecting a random access point in said compressed video data:

said one or more circuits are operable to detect whether a following start code in said compressed video data corresponds to a sequence header within said compressed video data;

when said sequence header is detected, said one or more circuits are operable to determine whether a contiguous sequence of B pictures immediately follows a first I picture within said compressed video data, wherein said first I picture is a first I picture that occurs after said sequence header; and

said one or more circuits are operable to decode said contiguous sequence of B pictures based on said determination, wherein said B pictures are decoded based on a status of forward reference pictures indicated by one or more of said contiguous sequence of B pictures.

14. The system according to claim 13 , wherein said one or more circuits enable discarding of each B picture in said contiguous sequence of B pictures that are determined to immediately follow said first I picture.

15. The system according to claim 13 , wherein said one or more circuits enable discarding of each B picture in said contiguous sequence of B pictures when said each B picture in said contiguous sequence of B pictures indicates a reference to a forward reference picture that is one of: invalid or missing.

16. The system according to claim 13 , wherein said one or more circuits enable interpolation of decoded pictures that correspond to each B picture in said contiguous sequence of B pictures, when said each B picture in said contiguous sequence of B pictures indicates a reference to a forward reference picture that is one of: invalid or missing.

17. The system according to claim 16 , wherein said one or more circuits comprise one or more processors that enable interpolation of a decoded picture wherein said interpolation uses an algorithm when said forward reference picture is invalid and is available, wherein the algorithm is described as:

(( m+ 1− n )/( m+ 1))*(decoded forward reference picture)+( n /( m+ 1))*(decoded backward reference picture),

wherein the parameter ‘m’ is a number of B pictures in said contiguous sequence of B pictures, and the parameter ‘n’ is a one-based index of said B picture.

18. The system according to claim 16 , wherein said one or more circuits comprise one or more processors that enable interpolation of a decoded picture wherein said interpolation uses an algorithm when said forward reference picture is missing, wherein the algorithm is described as:

( n /( m+ 1))*(decoded backward reference picture),

wherein the parameter ‘m’ is a number of B pictures in said contiguous sequence of B pictures, and the parameter ‘n’ is a one-based index of said B picture.

19. A method for processing video signals, the method comprising:

during encoding of a video data, after generating a sequence header within said video data, determining when generating a particular B picture following a first I picture that follows said sequence header whether said particular B picture indicates that it does not reference a forward reference picture; and

for each subsequent B picture that follows said particular B picture in a contiguous sequence of B pictures comprising said particular B picture, generating said subsequent B picture to also indicate that it does not reference any forward reference picture.

20. A system for processing video signals, the system comprising:

one or more circuits that are operable to encode video data, wherein said encoding comprises:

after generating a sequence header within said video data, determining when generating a particular B picture following a first I picture whether said particular B picture indicates that it does not reference a forward reference picture, wherein said first I picture immediately follows said sequence header; and

generating each subsequent B picture that follow said particular B picture in a contiguous sequence of B pictures comprising said particular B picture to also indicate that it does not reference any forward reference picture.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: BROADCOM CORPORATION
To: KONINKLIJKE PHILIPS N.V.
Reel/Frame 041101/0235 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 6, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 040821/0326 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2008
From: YANG, ZHIJIE; CHEN, XUEMIN
To: BROADCOM CORPORATION
Reel/Frame 020392/0698 →
Continuity (1)
Related Publication 20090097559A1 · Apr 16, 2009