Search

US-12621466-B2 - Sample adaptive offset parameter determination for video coding

US12621466B2US 12621466 B2US12621466 B2US 12621466B2US-12621466-B2

Abstract

A method for sample adaptive offset (SAO) filtering in a video encoder is provided that includes estimating SAO parameters for color components of a largest coding unit (LCU) of a picture, wherein estimating SAO parameters includes using at least some non-deblock-filtered reconstructed pixels of the LCU to estimate the SAO parameters, performing SAO filtering on the reconstructed LCU according to the estimated SAO parameters, and entropy encoding SAO information for the LCU in a compressed video bit stream, wherein the SAO information signals the estimated SAO parameters for the LCU.

Inventors

  • Woo-shik Kim
  • Madhukar Budagavi
  • Minhua Zhou

Assignees

  • TEXAS INSTRUMENTS INCORPORATED

Dates

Publication Date
20260505
Application Date
20231113

Claims (20)

  1. 1 . A system comprising: means for deblock filtering reconstructed pixels of a picture using a deblocking filter; means for determining a sample adaptive offset (SAO) type for a largest coding unit (LCU) in the picture using deblock-filtered reconstructed pixels of the LCU and using non-deblock-filtered reconstructed pixels from one or more bottom rows of the LCU; means for determining an SAO starting band for the LCU; means for determining SAO offset values for the LCU using the deblock-filtered reconstructed pixels of the LCU and using the non-deblock-filtered reconstructed pixels from the one or more bottom rows of the LCU; means for performing SAO filtering on reconstructed pixels of the LCU according to the SAO type, the SAO starting band, and the SAO offset values; and means for entropy encoding SAO information for the LCU in a compressed video bit stream, wherein the SAO information signals the SAO type, the SAO starting band, and the SAO offset values for the LCU.
  2. 2 . The system of claim 1 , wherein the means for determining the SAO type include means for determining the SAO type using the deblock-filtered reconstructed pixels of the LCU, using the non-deblock-filtered reconstructed pixels from the one or more bottom rows of the LCU, and using non-deblock-filtered reconstructed pixels from one or more right column lines of the LCU that are not deblock filtered.
  3. 3 . The system of claim 2 , wherein the means for determining the SAO type include means for determining the SAO type before horizontal deblocking the one or more right column lines of the LCU.
  4. 4 . The system of claim 1 , wherein the means for performing the SAO filtering comprise means for performing the SAO filtering on deblocked filtered reconstructed pixels of the LCU according to the SAO type and the SAO offset values.
  5. 5 . The system of claim 1 , wherein the LCU is a first LCU, and wherein the system further comprises: means for coding a second LCU in the picture, wherein the second LCU is a right neighboring LCU of the first LCU; and means for performing deblock filtering on reconstructed pixels in the first LCU based on the second LCU, wherein the means for determining the SAO type comprise means for determining the SAO type after deblock filtering the reconstructed pixels in the first LCU.
  6. 6 . The system of claim 1 , wherein the means for determining the SAO starting band comprise means for determining the SAO starting band for the LCU using the deblock-filtered reconstructed pixels of the LCU and using the non-deblock-filtered reconstructed pixels from the one or more bottom rows of the LCU.
  7. 7 . The system of claim 1 , wherein the means for determining the SAO type include means for determining the SAO type before vertical deblocking the one or more bottom rows of the LCU.
  8. 8 . The system of claim 1 , wherein the means for determining the SAO offset values comprise means for determining four SAO offset values corresponding to four consecutive SAO bands, and wherein the SAO starting band is one of the four consecutive SAO bands.
  9. 9 . A method comprising: deblock filtering reconstructed pixels of a picture using a deblocking filter; determining a sample adaptive offset (SAO) type for a largest coding unit (LCU) in the picture using deblock-filtered reconstructed pixels of the LCU and using non-deblock-filtered reconstructed pixels from one or more bottom rows of the LCU; determining an SAO starting band for the LCU; determining SAO offset values for the LCU using the deblock-filtered reconstructed pixels of the LCU and using the non-deblock-filtered reconstructed pixels from the one or more bottom rows of the LCU; performing SAO filtering on reconstructed pixels of the LCU according to the SAO type, the SAO starting band, and the SAO offset values; and entropy encoding SAO information for the LCU in a compressed video bit stream, wherein the SAO information signals the SAO type, the SAO starting band, and the SAO offset values for the LCU.
  10. 10 . The method of claim 9 , wherein determining the SAO type includes determining the SAO type using the deblock-filtered reconstructed pixels of the LCU, using the non-deblock-filtered reconstructed pixels from the one or more bottom rows of the LCU, and using non-deblock-filtered reconstructed pixels from one or more right column lines of the LCU that are not deblock filtered.
  11. 11 . The method of claim 10 , wherein determining the SAO type includes determining the SAO type before horizontal deblocking the one or more right column lines of the LCU.
  12. 12 . The method of claim 9 , wherein performing the SAO filtering comprises performing the SAO filtering on deblocked filtered reconstructed pixels of the LCU according to the SAO type and the SAO offset values.
  13. 13 . The method of claim 9 , wherein the LCU is a first LCU, and wherein the method further comprises: coding a second LCU in the picture, wherein the second LCU is a right neighboring LCU of the first LCU; and performing deblock filtering on reconstructed pixels in the first LCU based on the second LCU, wherein determining the SAO type comprises determining the SAO type after deblock filtering the reconstructed pixels in the first LCU.
  14. 14 . The method of claim 9 , wherein determining the SAO starting band comprises determining the SAO starting band for the LCU using the deblock-filtered reconstructed pixels of the LCU and using the non-deblock-filtered reconstructed pixels from the one or more bottom rows of the LCU.
  15. 15 . The method of claim 9 , wherein determining the SAO type includes determining the SAO type before vertical deblocking the one or more bottom rows of the LCU.
  16. 16 . The method of claim 9 , wherein determining the SAO offset values comprises determining four SAO offset values corresponding to four consecutive SAO bands, and wherein the SAO starting band is one of the four consecutive SAO bands.
  17. 17 . A non-transitory computer-readable medium having executable instructions stored thereon, configured to be executable by one or more processors for causing the one or more processors to: deblock filter reconstructed pixels of a picture using a deblocking filter; determine a sample adaptive offset (SAO) type for a largest coding unit (LCU) in the picture using deblock-filtered reconstructed pixels of the LCU and using non-deblock-filtered reconstructed pixels from one or more bottom rows of the LCU; determine an SAO starting band for the LCU; determine SAO offset values for the LCU using the deblock-filtered reconstructed pixels of the LCU and using the non-deblock-filtered reconstructed pixels from the one or more bottom rows of the LCU; perform SAO filtering on reconstructed pixels of the LCU according to the SAO type, the SAO starting band, and the SAO offset values; and entropy encode SAO information for the LCU, wherein the SAO information signals the SAO type, the SAO starting band, and the SAO offset values for the LCU.
  18. 18 . The non-transitory computer-readable medium of claim 17 , wherein the LCU is a first LCU, and wherein the instructions are executable by the one or more processors for further causing the one or more processors to: code a second LCU in the picture, wherein the second LCU is a right neighboring LCU of the first LCU; and perform deblock filtering on reconstructed pixels in the first LCU based on the second LCU, wherein the instructions to determine the SAO type comprise instructions to determine the SAO type after deblock filtering the reconstructed pixels in the first LCU.
  19. 19 . The non-transitory computer-readable medium of claim 17 , wherein the instructions to determine the SAO starting band comprise instructions to determine the SAO starting band for the LCU using the deblock-filtered reconstructed pixels of the LCU and using the non-deblock-filtered reconstructed pixels from the one or more bottom rows of the LCU.
  20. 20 . The non-transitory computer-readable medium of claim 17 , wherein the instructions to determine the SAO type include instructions to determine the SAO type before vertical deblocking the one or more bottom rows of the LCU.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. patent application Ser. No. 17/527,200, filed Nov. 16, 2021, currently pending and scheduled to grant as U.S. Pat. No. 11,818,365 on Nov. 14, 2023, which is a continuation of U.S. patent application Ser. No. 16/049,543, filed Jul. 30, 2018 (now U.S. Pat. No. 11,212,557), which is a continuation of U.S. patent application Ser. No. 13/784,599, filed Mar. 4, 2013 (now U.S. Pat. No. 10,038,903), which claims the benefit of U.S. Provisional Application No. 61/607,069, filed Mar. 6, 2012, and U.S. Provisional Application No. 61/608,386, filed Mar. 8, 2012. This application is also a continuation-in-part of co-pending U.S. patent application Ser. No. 13/530,920 filed on Jun. 22, 2012 (now U.S. Pat. No. 10,484,693), which claims priority to U.S. Provisional Application No. 61/499,863, filed on Jun. 22, 2011, U.S. Provisional Application No. 61/500,280, filed on Jun. 23, 2011, U.S. Provisional Application No. 61/502,399, filed Jun. 29, 2011, U.S. Provisional Application No. 61/538,289, filed Sep. 23, 2011, and U.S. Provisional Application No. 61/559,922, filed Nov. 15, 2011. All of the above listed applications are incorporated herein by reference in their entirety. FIELD OF THE INVENTION This invention generally relates to sample adaptive offset parameter estimation for video coding. BACKGROUND OF THE INVENTION The Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T WP3/16 and ISO/IEC JTC 1/SC 29/WG 11 is currently developing the next-generation video coding standard referred to as High Efficiency Video Coding (HEVC). Similar to previous video coding standards such as H.264/AVC, HEVC is based on a hybrid coding scheme using block-based prediction and transform coding. First, the input signal is split into rectangular blocks that are predicted from the previously decoded data by either motion compensated (inter) prediction or intra prediction. The resulting prediction error is coded by applying block transforms based on an integer approximation of the discrete cosine transform, which is followed by quantization and coding of the transform coefficients. In a coding scheme that uses block-based prediction, transform coding, and quantization, some characteristics of the compressed video data may differ from the original video data. For example, discontinuities referred to as blocking artifacts can occur in the reconstructed signal at block boundaries. Further, the intensity of the compressed video data may be shifted. Such intensity shift may also cause visual impairments or artifacts. To help reduce such artifacts in decompressed video, the emerging HEVC standard defines three in-loop filters: a deblocking filter to reduce blocking artifacts, a sample adaptive offset filter (SAO) to reduce distortion caused by intensity shift, and an adaptive loop filter (ALF) to minimize the mean squared error (MSE) between reconstructed video and original video. As illustrated in FIG. 1, these filters may be applied sequentially, and, depending on the configuration, the SAO and ALF loop filters may be applied to the output of the deblocking filter. SUMMARY Embodiments of the current invention relate to methods, apparatus, and computer readable media for SAO parameter estimation. In one aspect, a method for sample adaptive offset (SAO) filtering in a video encoder is provided that includes estimating SAO parameters for color components of a largest coding unit (LCU) of a picture, wherein the estimating includes using at least some non-deblock-filtered reconstructed pixels of the LCU to estimate the SAO parameters, performing SAO filtering on the reconstructed LCU according to the estimated SAO parameters, and entropy encoding SAO information for the LCU in a compressed video bit stream, wherein the SAO information signals the estimated SAO parameters for the LCU. In one aspect, an apparatus configured to perform sample adaptive offset (SAO) filtering during encoding of a video sequence is provide that includes means for estimating SAO parameters for color components of a largest coding unit (LCU) of a picture, wherein estimating SAO parameters includes using at least some non-deblock-filtered reconstructed pixels of the LCU to estimate the SAO parameters, means for performing SAO filtering on reconstructed pixels of the LCU according to the estimated SAO parameters, and means for entropy encoding SAO information for the LCU in a compressed video bit stream, wherein the SAO information signals the estimated SAO parameters for the LCU. In one aspect, a non-transitory computer-readable medium storing software instructions is provided. The software instructions, when executed by at least one processor, cause the at least one processor to execute a method for sample adaptive offset (SAO) filtering during encoding of a video sequence. The method includes estimating SAO parameters for color components of a largest coding unit (LCU) of a picture, wherei