IP Library Granted Patent US 9,591,331
Granted Patent B2
US 9,591,331 · App. 13/829,774 · Granted Mar 7, 2017

Merge signaling and loop filter on/off signaling

Inventors: In Suk Chong (San Diego, CA); Jaehong Chon (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/70H04N19/174H04N19/176H04N19/80H04N19/82H04N19/117
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,591,331
App. No.
13/829,774
Granted
Mar 7, 2017
Kind
B2
Abstract

Systems, methods, and devices are disclosed that encode video, decode video, or both. These systems, methods, and devices generate and/or receive an enable syntax element in an encoded bitstream, wherein the enable syntax element indicates whether a loop filter is turned on or turned off for a group of video blocks. They also generate or receive one or more additional syntax elements identifying parameters for the loop filter for the group of video blocks in response to the enable syntax element indicating the loop filter is turned on for the group of video blocks. These systems, methods, and devices also perform the loop filter for the group of video blocks based on the received enable syntax element.

Claims (92)

1. A method of decoding video, the method comprising:

receiving an enable syntax element in an encoded bitstream, wherein the enable syntax element indicates whether a sample adaptive offset (SAO) filter is turned on or turned off for one or more video blocks, wherein the one or more video blocks are less than an entire picture;

receiving one or more additional syntax elements identifying parameters for the SAO filter for the one or more video blocks in response to the enable syntax element indicating the SAO filter is turned on for the one or more video blocks, wherein the one or more additional syntax elements comprise one or more merge syntax elements, and the one or more merge syntax elements indicate whether the parameters for the SAO filter for at least one block of the one or more video blocks are reused from parameters for the SAO filter for another group of video blocks; and

performing the SAO filter for the one or more video blocks based on the received enable syntax element.

2. The method of claim 1 , further comprising:

receiving information for reconstructing offset values for the SAO filter in the encoded bitstream; and

reconstructing the set of filter coefficients for the SAO filter based on the received information.

3. The method of claim 1 , further comprising:

receiving an SAO type syntax element in the encoded bitstream, wherein the SAO type syntax element identifies a type of SAO filtering from a set of types.

4. The method of claim 1 , wherein the enable syntax element and the one or more additional syntax elements are received for the one or more video blocks in a layer of a scalable video coding (SVC) video stream.

5. The method of claim 4 , wherein the parameters for the one or more additional syntax elements are copied from the layer of the SVC video stream to another layer of the SVC video stream.

6. The method of claim 1 , wherein the enable syntax element and the one or more additional syntax elements are received for the one or more video blocks in a view of a multiview video coding (MVC) video stream.

7. The method of claim 6 , wherein the parameters for the one or more additional syntax elements are copied from the view of the MVC video stream to another view of the MVC video stream.

8. The method of claim 1 , further comprising:

receiving a current video unit and a video unit adjacent left to the current video unit;

parsing the received enable syntax element to determine whether SAO filtering is enabled for the video unit adjacent left to the current video unit;

in response to determining that the SAO filtering is enabled for the video unit adjacent left to the current video unit, determining whether to borrow a filter parameter for the current video unit from a filter parameter for the adjacent left video unit based on the one or more merge syntax elements; and

in direct response to determining that the filter parameter for the current video unit is not borrowed from the filter parameter for the adjacent left video unit, determining whether the filter parameter for the current video unit is borrowed from a filter parameter for an adjacent upper video unit based on the one or more merge syntax elements.

9. The method of claim 1 , further comprising:

receiving a current video unit and a video unit adjacent left to the current video unit;

parsing the received enable syntax element to determine whether SAO filtering is enabled for the video unit adjacent left to the current video unit;

in response to determining that the type of filtering is enabled for the video unit adjacent left to the current video unit, determining whether a filter parameter for the current video unit is borrowed from a filter parameter for the adjacent left video unit based on the one or more merge syntax elements; and

in response to determining that the filter parameter for the current video unit is not borrowed from the filter parameter for the adjacent left video unit, determining the filter parameter for the current video unit without determining whether the filter parameter for the current video unit is borrowed from a filter parameter for an adjacent upper video unit.

10. The method of claim 1 , wherein the one or more video blocks are one of a largest coding unit or a partition.

11. The method of claim 1 , the method being executable on a wireless communication device, wherein the device comprises:

a memory configured to store the encoded bitstream and video data including the one or more video blocks;

a processor configured to execute instructions to process the video data stored in the memory; and

a receiver configured to receive the encoded bitstream and the video data.

12. The method of claim 11 , wherein the wireless communication device is a cellular telephone and the encoded bitstream and the video data are received by the receiver and modulated according to a cellular communication standard.

13. A device for decoding video data, the device comprising:

a memory configured to store the video data associated with one or more video blocks; and

one or more processors configured to:

receive an enable syntax element in an encoded bitstream, wherein the enable syntax element indicates whether a sample adaptive offset (SAO) filter is turned on or turned off for one or more video blocks, wherein the one or more video blocks are less than an entire picture; and

receive one or more additional syntax elements identifying parameters for the SAO filter for the one or more video blocks in response to the enable syntax element indicating the SAO filter is turned on for the one or more video blocks, wherein the one or more additional syntax elements comprise one or more merge syntax elements, and the one or more merge syntax elements indicate whether the parameters for the SAO filter for at least one block of the one or more video blocks are reused from parameters for the SAO filter for another group of video blocks; and

perform the SAO filter for the one or more video blocks based on the received enable syntax element.

14. The device of claim 13 , wherein the one or more processors are further configured to:

receive information for reconstructing offset values for the SAO filter in the encoded bitstream; and

reconstruct the set of filter coefficients for the SAO filter based on the received information.

15. The device of claim 13 , wherein the one or more processors are further configured to:

receive an SAO type syntax element in the encoded bitstream, wherein the SAO type syntax element identifies a type of SAO filtering from a set of types.

16. The device of claim 13 , wherein the enable syntax element and the one or more additional syntax elements are received for the one or more video blocks in a layer of a scalable video coding (SVC) video stream.

17. The device of claim 16 , wherein the parameters for the one or more additional syntax elements are copied from the layer of the SVC video stream to another layer of the SVC video stream.

18. The device of claim 13 , wherein the enable syntax element and the one or more additional syntax elements are received for the one or more video blocks in a view of a multiview video coding (MVC) video stream.

19. The device of claim 18 , wherein the parameters for the one or more additional syntax elements are copied from the view of the MVC video stream to another view of the MVC video stream.

20. The device of claim 13 , wherein the one or more processors are further configured to:

receive a current video unit and a video unit adjacent left to the current video unit;

parsing the received enable syntax element to determine whether SAO filtering is enabled for the video unit adjacent left to the current video unit;

in response to determination that the SAO filtering is enabled for the video unit adjacent left to the current video unit, determine whether a filter parameter for the current video unit is borrowed from a filter parameter for the adjacent left video unit based on the one or more merge syntax elements; and

in direct response to determination that the filter parameter for the current video unit is not borrowed from the filter parameter for the adjacent left video unit, determine whether the filter parameter for the current video unit is borrowed from a filter parameter for an adjacent upper video unit based on the one or more merge syntax elements.

21. The device of claim 13 , wherein the one or more processors are further configured to:

receive a current video unit and a video unit adjacent left to the current video unit;

parsing the received enable syntax element to determine whether SAO filtering is enabled for the video unit adjacent left to the current video unit;

in response to determination that the type of filtering is enabled for the video unit adjacent left to the current video unit, determine whether a filter parameter for the current video unit is borrowed from a filter parameter for the adjacent left video unit based on the one or more merge syntax elements; and

in response to determination that the filter parameter for the current video unit is not borrowed from the filter parameter for the adjacent left video unit, determine the filter parameter for the current video unit without determining whether the filter parameter for the current video unit is borrowed from a filter parameter for an adjacent upper video unit.

22. The device of claim 13 , wherein the one or more video blocks are one of a largest coding unit or a partition.

23. The device of claim 13 , wherein the device is a wireless communication device, further comprising:

a receiver configured to receive the encoded bitstream and the video data.

24. The device of claim 23 , wherein the wireless communication device is a cellular telephone and the encoded bitstream and the video data are received by the receiver and modulated according to a cellular communication standard.

25. A method of encoding video, the method comprising:

generating, for inclusion in an encoded bitstream, an enable syntax element, wherein the enable syntax element indicates whether a sample adaptive offset (SAO) filter is turned on or turned off for one or more video blocks, wherein the one or more video blocks are less than an entire picture;

generating one or more additional syntax elements identifying parameters for the SAO filter for the one or more video blocks in response to the enable syntax element indicating the SAO filter is turned on for the one or more video blocks, wherein the additional syntax elements comprise one or more merge syntax elements, and the one or more merge syntax elements indicate whether the parameters for the SAO filter for at least one block of the one or more video blocks are reused from parameters for the SAO filter for another group of video blocks; and

performing the SAO filter for the group of video blocks according to the enable syntax element.

26. The method of claim 25 , further comprising:

generating, for inclusion in the encoded bitstream, information for reconstructing offset values for the SAO filter.

27. The method of claim 25 , w further comprising:

generating, for inclusion in the encoded bitstream, an SAO type syntax element, wherein the SAO type syntax element identifies a type of SAO filtering from a set of types.

28. The method of claim 25 , wherein the one or more video blocks are one of a largest coding unit or a partition.

29. The method of claim 25 , the method being executable on a wireless communication device, wherein the device comprises:

a memory configured to store the encoded bitstream and video data including the one or more video blocks;

a processor configured to execute instructions to process the video data stored in the memory; and

a transmitter configured to transmit the encoded bitstream and the video data.

30. The method of claim 29 , wherein the wireless communication device is a cellular telephone and the encoded bitstream and the video data are transmitted by the transmitter and modulated according to a cellular communication standard.

31. A device for encoding video data, the device comprising:

a memory configured to store the video data associated with one or more video blocks; and

one or more processors configured to:

generate, for inclusion in an encoded bitstream, an enable syntax element, wherein the enable syntax element indicates whether a sample adaptive offset (SAO) filter is turned on or turned off for one or more video blocks, wherein the one or more video blocks are less than an entire picture;

generate one or more additional syntax elements identifying parameters for the SAO filter for the one or more video blocks in response to the enable syntax element indicating the SAO filter is turned on for the one or more video blocks, wherein the one or more additional syntax elements comprise one or more merge syntax elements, and the one or more merge syntax elements indicate whether the parameters for the SAO filter for at least one block of the one or more video blocks are reused from parameters for the SAO filter for another group of video blocks; and

performing the SAO filter for the one or more video blocks according to the enable syntax element.

32. The device of claim 31 , wherein the one or more processors are further configured to:

generate, for inclusion in the encoded bitstream, information for reconstructing offset values for the SAO filter.

33. The device of claim 31 , wherein the one or more processors are further configured to:

generate, for inclusion in the encoded bitstream, an SAO type syntax element, wherein the SAO type syntax element identifies a type of SAO filtering from a set of types.

34. The device of claim 31 , wherein the one or more video blocks are one of a largest coding unit or a partition.

35. The device of claim 31 , wherein the device is a wireless communication device, further comprising:

a transmitter configured to transmit the encoded bitstream and the video data.

36. The device of claim 35 , wherein the wireless communication device is a cellular telephone and the encoded bitstream and the video data are transmitted by the transmitter and modulated according to a cellular communication standard.

37. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors to:

generate, for inclusion in an encoded bitstream, an enable syntax element, wherein the enable syntax element indicates whether a sample adaptive offset (SAO) filter is turned on or turned off for one or more video blocks, wherein the one or more video blocks are less than an entire picture;

generate one or more additional syntax elements identifying parameters for the SAO filter for the one or more video blocks in response to the enable syntax element indicating the SAO filter is turned on for the one or more video blocks, wherein the one or more additional syntax elements comprise one or more merge syntax elements, and the one or more merge syntax elements indicate whether the parameters for the SAO filter for at least one block of the one or more video blocks are reused from parameters for the SAO filter for another group of video blocks; and

perform the SAO filter for the one or more video blocks according to the enable syntax element.

38. The non-transitory computer-readable storage medium of claim 37 , further comprising instructions causing the one or more processors to generate, for inclusion in the encoded bitstream, information for reconstructing offset values for the SAO filter.

39. The non-transitory computer-readable storage medium of claim 37 , wherein the one or more video blocks are a largest coding unit or one of a partition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2013
From: CHONG, IN SUK; CHON, JAEHONG; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 030886/0995 →
Continuity (3)
Provisional Application 61616998 · Mar 28, 2012
Provisional Application 61662218 · Jun 20, 2012
Related Publication 20130258049A1 · Oct 3, 2013