IP Library › Granted Patent US 9,066,110
Granted Patent B2
US 9,066,110 · App. 13/412,045 · Granted Jun 23, 2015

Parsing friendly and error resilient merge flag coding in video coding

Inventor: Minhua Zhou (Plano, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
H04N19/61H04N19/52H04N19/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 9,066,110
App. No.
13/412,045
Granted
Jun 23, 2015
Kind
B2
Abstract

Methods and apparatus for parsing friendly and error resilient merge flag coding in video coding are provided. In some methods, in contrast to merging candidate list size dependent coding of the merge flag in the prior art, a merge flag is always encoded in the encoded bit stream for each inter-predicted prediction unit (PU) that is not encoded using skip mode. In some methods, in contrast to the prior art that allowed the merging candidate list to be empty, one or more zero motion vector merging candidates formatted according to the prediction type of the slice containing a PU are added to the merging candidate list if needed to ensure that the list is not empty and/or to ensure that the list contains a maximum number of merging candidates.

Claims (52)

1. A method for decoding an encoded bit stream for a picture in a video decoder, the method comprising:

decoding a merge flag for a non skip mode inter-predicted prediction unit (PU) from the encoded bit stream;

constructing a merge mode motion data vector (merging candidate) list for the non skip mode inter-predicted PU for a first value of the merge flag;

adding a zero motion vector merging candidate to the merging candidate list comprising determining a content of the zero motion vector merging candidate based on a prediction type of a slice containing the non skip mode inter-predicted PU wherein the zero motion vector merging candidate comprises a motion vector with a value of zero if the slice is a forward predicted slice, and the zero motion vector merging candidate comprises two motion vectors with values of zero if the slice is a bi-directionally predicted slice ; and

reconstructing the non skip mode inter-predicted PU based on the merging candidate list.

2. The method of claim 1 further comprising a first prediction list utilization flag and a second prediction list utilization flag, and when the slice containing the non skip mode inter-predicted PU is a bi-directionally predicted slice, both the first prediction list utilization flag and the second prediction list utilization flag are set to one.

3. The method of claim 1 , wherein the zero motion vector merging candidate is added to the merging candidate list when the merging candidate list is empty.

4. A method for encoding a video stream in a video encoder to generate an encoded bit stream, the method comprising:

constructing a merge mode motion data vector (merging candidate) list for a prediction unit (PU);

adding a zero motion vector merging candidate to the merging candidate list, wherein content of the zero motion vector merging candidate is determined based on a prediction type of a slice containing the PU; and

encoding a merge flag for the PU in the encoded bit stream, wherein the merge flag is set to a first value indicating merge mode if merge mode is used for inter-prediction of the PU and the merge flag is set to a second value indicating no merge mode if merge mode is not used for inter-prediction of the PU,

wherein a merge flag is always encoded in the encoded bit stream for each inter-predicted PU that is not encoded using skip mode.

5. The method of claim 4 , wherein the zero motion vector merging candidate comprises setting a motion vector with a value of zero if the slice is a forward predicted slice, and the zero motion vector merging candidate comprises setting two motion vectors with values of zero if the slice is a bi-directionally predicted slice.

6. The method of claim 5 , further comprising encoding in the encoded bit stream a first prediction list utilization flag and a second prediction list utilization flag, and when the slice is a bi-directionally predicted slice, both the first prediction list utilization flag and the second prediction list utilization flag are set to one.

7. The method of claim 4 , wherein the zero motion vector merging candidate is added to the merging candidate list when the merging candidate list is empty.

8. A method for decoding an encoded video bit stream in a video decoder, the method comprising:

decoding a merge flag for a inter-predicted prediction unit (PU) from the encoded bit stream;

constructing a merge mode motion data vector (merging candidate) list for the inter-predicted PU;

adding a zero motion vector merging candidate to the merging candidate list, wherein content of the zero motion vector merging candidate is determined based on a prediction type of a slice containing the inter-predicted PU; and

reconstructing the inter-predicted PU based on a value of the merge flag.

9. The method of claim 8 , wherein a merge flag is always encoded in the encoded bit stream for each inter-predicted PU that is not encoded using skip mode.

10. The method of claim 8 , wherein the zero motion vector merging candidate comprises a motion vector with a value of zero if the slice is a forward predicted slice, and the zero motion vector merging candidate comprises two motion vectors with values of zero if the slice is a bi-directionally predicted slice.

11. The method of claim 10 , further comprising decoding from the encoded bit stream a first prediction list utilization flag and a second prediction list utilization flag, and when the slice is a bi-directionally predicted slice, both the first prediction list utilization flag and the second prediction list utilization flag are decoded each with a value of one.

12. The method of claim 8 , wherein the zero motion vector merging candidate is added to the merging candidate list when the merging candidate list is empty.

13. A method for decoding an encoded bit stream for a picture, the method comprising:

decoding a merge flag for a inter-predicted prediction unit (PU) not encoded using skip mode from the encoded bit stream;

constructing a merge mode motion data vector (merging candidate) list for the inter-predicted PU for a first value of the merge flag;

adding a zero motion vector merging candidate to the merging candidate list comprising determining a content of the zero motion vector merging candidate based on a prediction type of a slice containing the inter-predicted PU wherein the zero motion vector merging candidate comprises a motion vector with a value of zero if the slice is a forward predicted slice, and the zero motion vector merging candidate comprises two motion vectors with values of zero if the slice is a bi-directionally predicted slice ;

reconstructing the inter-predicted PU based on the merging candidate list;

reconstructing the picture using the reconstructed inter-predicted PU; and

displaying the picture on a display.

14. The method of claim 13 further comprising decoding from the encoded bit stream a first prediction list utilization flag and a second prediction list utilization flag, and when the slice containing the non skip mode inter-predicted PU is a bi-directionally predicted slice, both the first prediction list utilization flag and the second prediction list utilization flag are decoded as being set to one.

15. The method of claim 13 , wherein the zero motion vector merging candidate is added to the merging candidate list when the merging candidate list is empty.

16. A method of processing a picture in video, comprising:

dividing the picture into a plurality of prediction units (PU);

encoding a merge flag into an encoded video bit stream for each of the plurality of prediction units not encoded using a skip mode wherein the merge flag is set to a first value indicating merge mode if merge mode is used to encode code motion parameters and the merge flag is set to a second value indicating no merge mode if merge mode is not used to encode code motion parameters;

constructing a merge mode motion data vector (merging candidate) list for the each of the plurality of prediction units not encoded using the skip mode and for which the merge flag is set to the first value; and

adding a zero motion vector merging list candidate to at least one of the merging candidate lists wherein the zero motion vector merging candidate comprises setting a motion vector with a value of zero if the slice is a forward predicted slice, and the zero motion vector merging candidate comprises setting two motion vectors with values of zero if the slice is a bi-directionally predicted slice.

17. The method of claim 16 , further comprising encoding in the encoded bit stream a prediction direction indicator comprising a first prediction list utilization flag and a second prediction list utilization flag, and when the slice is a bi-directionally predicted slice, both the first prediction list utilization flag and the second prediction list utilization flag are set to one.

18. The method of claim 16 further comprising capturing the picture using a charge coupled device camera or a complementary metal oxide semiconductor camera.

19. The method of claim 16 further comprising receiving the picture using a transceiver.

20. The method of claim 16 further comprising receiving the picture using a Bluetooth interface.

21. A method of processing a picture in video, comprising:

dividing the picture into a plurality of prediction units (PU);

encoding a merge flag into an encoded video bit stream for each of the plurality of prediction units not encoded using a skip mode wherein the merge flag is set to a first value indicating merge mode if merge mode is used to encode code motion parameters and the merge flag is set to a second value indicating no merge mode if merge mode is not used to encode code motion parameters;

constructing a merge mode motion data vector (merging candidate) list for the each of the plurality of prediction units not encoded using the skip mode and for which the merge flag is set to the first value;

adding a zero motion vector merging list candidate to at least one of the merging candidate lists wherein the zero motion vector merging candidate comprises setting a motion vector with a value of zero if the slice is a forward predicted slice, and the zero motion vector merging candidate comprises setting two motion vectors with values of zero if the slice is a bi-directionally predicted slice; and

storing the encoded video bit stream in a video buffer.

22. The method of claim 21 , further comprising encoding in the encoded bit stream a a first prediction list utilization flag and a second prediction list utilization flag, and when the slice is a bi-directionally predicted slice, both the first prediction list utilization flag and the second prediction list utilization flag are set to one.

23. The method of claim 21 further comprising capturing the picture using a charge coupled device camera or a complementary metal oxide semiconductor camera.

24. The method of claim 21 further comprising receiving the picture using a RF transceiver.

25. The method of claim 21 further comprising receiving the picture using a Bluetooth interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2012
From: ZHOU, MINHUA
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 027808/0903 →
Continuity (2)
Provisional Application 61450242 · Mar 8, 2011
Related Publication 20120230408A1 · Sep 13, 2012