Patentable/Patents/US-10070152
US-10070152

Sample adaptive offset (SAO) parameter signaling

PublishedSeptember 4, 2018
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method for sample adaptive offset (SAO) filtering and SAO parameter signaling in a video encoder is provided that includes determining SAO parameters for largest coding units (LCUs) of a reconstructed picture, wherein the SAO parameters include an indicator of an SAO filter type and a plurality of SAO offsets, applying SAO filtering to the reconstructed picture according to the SAO parameters, and entropy encoding LCU specific SAO information for each LCU of the reconstructed picture in an encoded video bit stream, wherein the entropy encoded LCU specific SAO information for the LCUs is interleaved with entropy encoded data for the LCUs in the encoded video bit stream. Determining SAO parameters may include determining the LCU specific SAO information to be entropy encoded for each LCU according to an SAO prediction protocol.

Patent Claims
50 claims

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

1

1. A method for sample adaptive offset (SAO) filtering and SAO parameter signaling, the method comprising: determining sample adaptive offset (SAO) parameters for a plurality of non-overlapping regions of a reconstructed picture wherein the SAO parameters comprise an indicator of an SAO filter type and at least one SAO offset, applying SAO filtering to the plurality of non-overlapping regions of the reconstructed picture according to the SAO parameters; and encoding the SAO parameters in a slice data portion of a bit stream, wherein the SAO parameters for the associated plurality of the non-overlapping regions and data for the associated plurality of the non-overlapping regions are interleaved in the slice data portion of the bit stream.

2

2. The method of claim 1 wherein the plurality of non-overlapping regions further comprises a first non-overlapping region with an immediate left nearest neighbor non-overlapping region, and encoding a first merge flag in the bit stream if the SAO parameters determined for the left nearest neighbor non-overlapping region are to be applied to the first non-overlapping region.

3

3. The method of claim 1 wherein the plurality of non-overlapping regions further comprises a second non-overlapping region with an immediate top nearest neighbor non-overlapping region, and encoding a second merge flag in the bit stream if the SAO parameters for the top nearest neighbor non-overlapping region are to be applied to the second non-overlapping region.

4

4. The method of claim 1 , further comprising performing deblocking filtering on said reconstructed picture prior to the determining SAO parameters.

5

5. The method of claim 1 , wherein the SAO filter type is a band offset filter or an edge filter.

6

6. The method of claim 2 , wherein the SAO filter type is a band offset filter or an edge filter.

7

7. The method of claim 3 , wherein the SAO filter type is a band offset filter or an edge filter.

8

8. A video encoding system comprising: a dequantizing component configured to perform a dequantizing function on an input bit stream; an inverse transform component coupled to the dequantizing component and configured to perform an inverse transform function on bit stream data output from the dequantizing component; a combiner component coupled to the inverse transform component and configured to combine bit stream data output from the inverse transform component with additional data to form a plurality of non-overlapping regions of a reconstructed picture; a deblocking filter coupled to the combiner component and configured to perform a deblocking function on the plurality of non-overlapping regions to form a plurality of deblocked non-overlapping regions; a sample adaptive offset (SAO) filter coupled to the deblocking filter and configured to: determine SAO parameters for the plurality of deblocked non-overlapping regions wherein the SAO parameters comprise an indicator of an SAO filter type and at least one SAO offset; filter the plurality of deblocked non-overlapping regions using the SAO parameters; and an entropy encoder component coupled to the SAO filter and configured to encode the SAO parameters and data for the associated plurality of the non-overlapping regions for which the SAO parameters are determined in an interleaved manner in a slice data portion.

9

9. The system of claim 8 wherein the entropy encoder component is further configured to encode a first merge flag if for a first non-overlapping region with an immediate left nearest neighbor non-overlapping region, the SAO parameters determined for the left nearest neighbor non-overlapping region are to be applied to the first non-overlapping region.

10

10. The system of claim 8 wherein the entropy encoder component is further configured to encode a second merge flag if for a second non-overlapping region with an immediate top nearest neighbor non-overlapping region, the SAO parameters for the top nearest neighbor non-overlapping region are to be applied to the second non-overlapping region.

11

11. The system of claim 8 wherein the system comprises multiple processing units with a memory on a common integrated circuit.

12

12. The system of claim 11 wherein said multiple processing units further comprises at least a first processing unit for controlling video processes and at least a second processing unit wherein at least some of the SAO filtering is performed using the second processing unit.

13

13. The system of claim 11 further comprising software to be executed by at least some of the multiple processor units during video processing wherein the software is initially stored in a computer-readable medium and loaded and executed in the at least some of the multiple processor units.

14

14. A video encoding system, comprising: a video capture component configured to provide a video sequence; and a video encoder component coupled to the video capture component comprising: a dequantizing component configured to perform a dequantizing function on an input bit stream; an inverse transform component coupled to the dequantizing component and configured to perform an inverse transform function on bit stream data output from the dequantizing component; a combiner component coupled to the inverse transform component and configured to combine bit stream data output from the inverse transform component with additional data to form a plurality of non-overlapping regions of a reconstructed picture; a deblocking filter coupled to the combiner component and configured to perform a deblocking function on the plurality of non-overlapping regions to form a plurality of deblocked non-overlapping regions; a sample adaptive offset (SAO) filter coupled to the deblocking filter and configured to determine SAO parameters for the plurality of deblocked non-overlapping regions wherein the SAO parameters comprise an indicator of an SAO filter type and at least one SAO offset and filter the plurality of deblocked non-overlapping regions using the SAO parameters; and an entropy encoder component coupled to the SAO filter and configured to encode the SAO parameters and data for the associated plurality of the non-overlapping regions for which the SAO parameters are determined in an interleaved manner in a slice data portion to form encoded video data.

15

15. The video encoding system of claim 14 wherein the video encoder component comprises multiple processing units with a memory on a common integrated circuit.

16

16. The video encoding system of claim 15 wherein said multiple processing units further comprises at least a first processing unit for controlling video processes and at least a second processing unit wherein at least some of the SAO filtering is performed using the second processing unit.

17

17. The video encoding system of claim 15 further comprising software to be executed by at least some of the multiple processor units during video processing wherein the software is initially stored in a computer-readable medium and loaded and executed in the at least some of the multiple processor units.

18

18. The video encoding system of claim 14 where the video capture component is a camera.

19

19. The video encoding system of claim 14 where the video capture component is a video feed from a video content provider.

20

20. The video encoding system of claim 14 where the video capture component is a video archive.

21

21. The video encoding system of claim 18 comprising a transmitter component configured to transmit the encoded video data over a communication channel.

22

22. The video encoding system of claim 21 where the communication channel is a wireless or wired communication medium.

23

23. The video encoding system of claim 19 comprising a transmitter component configured to transmit the encoded video data over a communication channel.

24

24. The video encoding system of claim 23 where the communication channel is a wireless or wired communication medium.

25

25. The video encoding system of claim 20 further comprising a transmitter component configured to transmit the encoded video data over a communication channel.

26

26. The video encoding system of claim 25 where the communication channel is a wireless or wired communication medium.

27

27. The video encoding system of claim 21 further comprising a transmitter component configured to transmit the encoded video data over a communication channel.

28

28. The video encoding system of claim 27 where the communication channel is a wireless or wired communication medium.

29

29. A system for sample adaptive offset (SAO) filtering, the system comprising: an entropy decoder component configured to decode an entropy encoded bit stream; an inverse quantization component coupled to the entropy decoder component and configured to perform an inverse quantization function on at least a portion of the decoded bit stream; an inverse transform component coupled to the inverse quantization component and configured to perform an inverse transform component on bit stream data output from the inverse quantization component; a combiner component coupled to the inverse transform component and configured to combine bit stream data output from the inverse transform component with additional data to form a plurality of non-overlapping regions of a reconstructed picture; a deblocking filter component coupled to the combiner component, the deblocking filter component configured to perform deblocking filtering on the plurality of non-overlapping regions of the reconstructed picture; and a SAO filter component coupled to the deblocking filter component and configured to perform SAO filtering on the plurality of deblocked non-overlapping regions of the reconstructed picture using SAO parameters extracted from decoded slice data, wherein the SAO parameters for the associated plurality of the non-overlapping regions and data for the associated plurality of the non-overlapping regions are interleaved in the slice data portion of the decoded bit stream.

30

30. The system of claim 29 , wherein the SAO filter component is further configured to apply SAO parameters extracted for an immediate left nearest neighbor non-overlapping region to a first non-overlapping region when a first merge flag from the decoded slice data is set.

31

31. The system of claim 30 , wherein the SAO filter component is further configured to apply SAO parameters extracted for an immediate top nearest neighbor non-overlapping region to a second non-overlapping region when a second merge flag from the decoded slice data is set.

32

32. The system of claim 31 wherein the system is configured from a system comprising multiple processing units with a memory on a common integrated circuit.

33

33. The system of claim 32 wherein said multiple processing units further comprises at least a first processing unit for controlling video processes and at least a second processing unit wherein at least some of the SAO filtering is performed on the second processing unit.

34

34. The system of claim 32 further comprising software to be executed by at least some of the multiple processor units during video processes wherein the software is initially stored in a computer-readable medium and loaded and executed in the at least some of the multiple processor units.

35

35. The system of claim 32 , wherein the SAO filter type is a band offset filter or an edge filter.

36

36. A system for sample adaptive offset (SAO) filtering, the system comprising: a receiver component configured to receive encoded video data from a communications channel; a decoder component coupled to the receiver component, the decoder component further comprising: an entropy decoder component configured to decode an entropy encoded bit stream; an inverse quantization component coupled to the entropy decoder component and configured to perform an inverse quantization function on at least a portion of the decoded bit stream; an inverse transform component coupled to the inverse quantization component and configured to perform an inverse transform component on bit stream data output from the inverse quantization component; a combiner component coupled to the inverse transform component and configured to combine bit stream data output from the inverse transform component with additional data to form a plurality of non-overlapping regions of a reconstructed picture; a deblocking filter component coupled to the combiner component, the deblocking filter component configured to perform deblocking filtering on the plurality of non-overlapping regions of the reconstructed picture; a SAO filter component coupled to the deblocking filter and configured to perform SAO filtering on the plurality of non-overlapping regions of the reconstructed picture using SAO parameters extracted from decoded slice data, wherein the SAO parameters for the associated plurality of the non-overlapping regions and data for the associated plurality of the non-overlapping regions are interleaved in the slice data portion of the decoded bit stream; and a display component coupled to the decoder component and configured to display an SAO filtered reconstructed picture.

37

37. The system of claim 36 , wherein the SAO filter component is further configured to apply SAO parameters extracted for an immediate left nearest neighbor non-overlapping region to a first non-overlapping region when a first merge flag from the decoded slice data is set.

38

38. The system of claim 37 , wherein the SAO filter component is further configured to apply SAO parameters extracted for an immediate top nearest neighbor non-overlapping region to a second non-overlapping region when a second merge flag from the decoded slice data is set.

39

39. The system of claim 38 wherein the decoder component is configured from a system comprising multiple processing units with a memory on a common integrated circuit.

40

40. The system of claim 39 wherein said multiple processing units further comprises at least a first processing unit for controlling video processes and at least a second processing unit wherein at least some of the SAO filtering is performed on the second processing unit.

41

41. The system of claim 39 further comprising software to be executed by at least some of the multiple processor units during video processes wherein the software is initially stored in a computer-readable medium and loaded and executed in the at least some of the multiple processor units.

42

42. The system of claim 39 , wherein the SAO filter type is a band offset filter or an edge filter.

43

43. The system of claim 38 where the communication channel is a wireless or wired communication medium.

44

44. A system for sample adaptive offset (SAO) filtering, the system comprising: a receiver component configured to receive encoded video data from a storage device; a decoder component coupled to the receiver component, the decoder component further comprising: an entropy decoder component configured to decode an entropy encoded bit stream; an inverse quantization component coupled to the entropy decoder component and configured to perform an inverse quantization function on at least a portion of the decoded bit stream; an inverse transform component coupled to the inverse quantization component and configured to perform an inverse transform component on bit stream data output from the inverse quantization component; a combiner component coupled to the inverse transform component and configured to combine bit stream data output from the inverse transform component with additional data to form a plurality of non-overlapping regions of a reconstructed picture; a deblocking filter component coupled to the combiner component, the deblocking filter component configured to perform deblocking filtering on the plurality of non-overlapping regions of the reconstructed picture; a SAO filter component coupled to the deblocking filter and configured to perform SAO filtering on the plurality of non-overlapping regions of the reconstructed picture using SAO parameters extracted from decoded slice data, wherein the SAO parameters for the associated plurality of the non-overlapping regions and data for the associated plurality of the non-overlapping regions are interleaved in the slice data portion of the decoded bit stream; and a display component coupled to the decoder component and configured to display an SAO filtered reconstructed picture.

45

45. The system of claim 44 , wherein the SAO filter component is further configured to apply SAO parameters extracted for an immediate left nearest neighbor non-overlapping region to a first non-overlapping region when a first merge flag from the decoded slice data is set.

46

46. The system of claim 45 , wherein the SAO filter component is further configured to apply SAO parameters extracted for an immediate top nearest neighbor non-overlapping region to a second non-overlapping region when a second merge flag from the decoded slice data is set.

47

47. The system of claim 44 wherein the decoder component is configured from a system comprising multiple processing units with a memory on a common integrated circuit.

48

48. The system of claim 47 wherein said multiple processing units further comprises at least a first processing unit for controlling video processes and at least a second processing unit wherein at least some of the SAO filtering is performed on the second processing unit.

49

49. The system of claim 47 further comprising software to be executed by at least some of the multiple processor units during video processes wherein the software is initially stored in a computer-readable medium and loaded and executed in the at least some of the multiple processor units.

50

50. The system of claim 47 , wherein the SAO filter type is a band offset filter or an edge filter.

Classification Codes (CPC)

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

Patent Metadata

Filing Date

August 24, 2012

Publication Date

September 4, 2018

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. “Sample adaptive offset (SAO) parameter signaling” (US-10070152). https://patentable.app/patents/US-10070152

© 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.