(19)
(11)EP 3 288 266 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
26.06.2019 Bulletin 2019/26

(21)Application number: 17196413.3

(22)Date of filing:  11.01.2013
(51)International Patent Classification (IPC): 
H04N 19/117(2014.01)
H04N 19/14(2014.01)
H04N 19/86(2014.01)
H04N 19/176(2014.01)
H04N 19/82(2014.01)

(54)

FLEXIBLE BAND OFFSET MODE IN SAMPLE ADAPTIVE OFFSET IN HEVC

FLEXIBLER BANDOFFSETMODUS BEI ADAPTIVEM ABTAST-OFFSET IN HEVC

MODE DE DÉCALAGE DE BANDE FLEXIBLE DANS UN DÉCALAGE ADAPTATIF D'ÉCHANTILLON DANS HEVC


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 20.01.2012 US 201261589127 P
12.11.2012 US 201213674653

(43)Date of publication of application:
28.02.2018 Bulletin 2018/09

(62)Application number of the earlier application in accordance with Art. 76 EPC:
13150998.6 / 2618576

(73)Proprietor: Sony Corporation
Tokyo 108-0075 (JP)

(72)Inventors:
  • MAANI, Ehsan
    San Jose, CA 95134 (US)
  • TABATABAI, Ali
    Cupertino, CA 95014 (US)
  • XU, Jun
    Sunnyvale, CA (US)

(74)Representative: D Young & Co LLP 
120 Holborn
London EC1N 2DY
London EC1N 2DY (GB)


(56)References cited: : 
US-A1- 2011 305 274
  
  • LAROCHE(CANON) G ET AL: "On additional SAO Band Offset classifications", 7. JCT-VC MEETING; 98. MPEG MEETING; 21-11-2011 - 30-11-2011; GENEVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-G246, 8 November 2011 (2011-11-08), XP030110230,
  • MAANI E ET AL: "Flexible Band Offset Mode in SAO", 8. JCT-VC MEETING; 99. MPEG MEETING; 1-2-2012 - 10-2-2012; SAN JOSE; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-H0406, 21 January 2012 (2012-01-21), XP030111433,
  • SULLIVAN G J ET AL: "Meeting Report of the 8th JCT-VC Meeting", 8. JCT-VC MEETING; 99. MPEG MEETING; 1-2-2012 - 10-2-2012; SAN JOSE; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-H1000, 23 April 2012 (2012-04-23), XP030111766,
  • W-S KIM ET AL: "Non-CE8: Reduced number of band offsets in SAO", 7. JCT-VC MEETING; 98. MPEG MEETING; 21-11-2011 - 30-11-2011; GENEVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-G682, 9 November 2011 (2011-11-09), XP030110666,
  • LAROCHE G ET AL: "CE8: Results related to section e.2", 8. JCT-VC MEETING; 99. MPEG MEETING; 1-2-2012 - 10-2-2012; SAN JOSE; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-H0174, 20 January 2012 (2012-01-20), XP030111201,
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description


[0001] This invention pertains generally to video encoding and decoding, and more particularly, but not exclusively, to Sample Adaptive Offset (SAO) within high-efficiency video coding (HEVC) systems.

[0002] Demand continues for increased video resolution and associated coding systems which optimize compression of these videos, while being scalable across the range of target resolutions. The latest efforts in this direction by the Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T and ISO/IEC MPEG aim to support ultra high resolution and mobile applications as well as reduce the bitrate compressed in H.264/AVC coding systems, within a High Efficiency Video Coding (HEVC) standard.

[0003] Unlike many previous coding systems, HEVC divides frames into Coding Tree Blocks (CTBs) that can be further subdivided into Coding Units (CUs), such as using quadtree segmentation. A coding unit (CU) may have variable sizes depending on video content toward achieving a desired coding efficiency. CUs typically include a luminance component Y and two chroma components, U and V. The size of U and V components relate to the number of samples, and can be the same or different from that of the Y component, as depends upon the video sampling format. The CUs can be further subdivided into Prediction Unit (PU) partitions during intra-prediction and inter-prediction as well as Transform Units (TUs) defined for transform and quantization. Transform units (TU) generally refer to a block of residual data to which a transform is applied when generating transform coefficients.

[0004] HEVC introduces new elements over current video coding systems, such as H.264/AVC, and similar codecs. For example, although HEVC still involves motion compensated inter predictions, transforms, and entropy coding, it utilizes either arithmetic coding or variable length coding. In addition, following the deblocking filter is a new Sample Adaptive Offset (SAO) filter. The SAO unit considers the entire frame as a hierarchical quadtree. Quadrants in this quadtree are activated by the SAO transmitting syntax values which each represent an intensity band of pixel values referred to as band offset (BO) or the difference compared to neighboring pixel intensities referred to as edge offset (EO). For each type in SAO (BO and EO), transmitted offset values referred to as SAO offset will be added to the corresponding pixels.

[0005] In the HM 5.0 version of HEVC, there are four (4) EO (Edge Offset) modes and two (2) BO (Band Offset) modes for Sample Adaptive Offset (SAO). EO modes transmit four (4) offsets while BO modes transmit sixteen (16) offsets. Therefore, a temporary buffer is needed at the decoder to store SAO offsets for each partition until the image (or parts of it) are decoded.

[0006] LAROCHE(CANON) GET AL: "On additional SAO Band Offset classifications", 7. JCT-VC MEETING; 98. MPEG MEETING; 21-11-2011 - 30-11-2011; GENEVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16); URL: HTTP://WFTP3.1TU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-G246, 8 November 2011 (2011-11-08), XP03011 02302 discloses a modification of sample adaptive band offsets, which adds eight classifications of band offsets. The center of the classifications is encoded and classifications are adaptively chosen to allegedly reduce coding costs.

[0007] The present invention is directed at an inventive Sample Adaptive Offset (SAO) method within HEVC and similar encoders and / or decoders. Specifically, a Flexible Band Offset (FBO) method of SAO is taught which reduces the number of Band Offset (BO) modes from two (2) to one (1) and reduces the number of SAO offsets for BO from sixteen (16) to four (4). Accordingly, inventive embodiments provide four (4) SAO offsets regardless of the SAO mode (EO or BO). Since the maximum number of SAO offsets is reduced (from 16 to 4), the temporary buffer required at the decoder to hold the SAO parameters is beneficially reduced by approximately 75%. Simulation results illustrate obtaining a small performance gain, in particular for chroma components, in response to utilizing the inventive method.

[0008] Further aspects of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing preferred embodiments of the invention without placing limitations thereon.

[0009] The invention is defined in the appended claims.

[0010] Embodiments of the invention will now be described with reference to the accompanying drawings, throughout which like parts are referred to by like references, and in which:

FIG. 1 is a schematic of a video encoder according to an embodiment of the present invention.

FIG. 2 is a schematic of a video decoder according to an embodiment of the present invention.

FIG. 3A is a data diagram of conventional SAO BO mode utilized in existing HEVC coding under test model HM 5.0.

FIG. 3B is a data diagram of SAO with Flexible Band Offsets (FBO) SAO filtering according to an embodiment of the present invention.

FIG. 4A and FIG. 4B are flow diagrams of a Flexible Band Offset (FBO) method of performing Sample Adaptive Offsets within an HEVC coding system according to an embodiment of the present invention within an encoder (FIG. 4A) and a decoder (FIG. 4B).



[0011] The inventive flexible band offset (FBO) method of the invention can be implemented in both encoder and decoder apparatus as described in the following paragraphs.

[0012] FIG. 1 illustrates an example embodiment of a coding apparatus comprising an encoder 10 according to the invention for performing FBO modes within sample adaptive offsets (SAO) following the deblocking filter.

[0013] The encoder 10 is shown with encoding elements 12 executed by a computing means 46 exemplified with one or more processors 48, along with one or more memory devices 50. It will be appreciated that elements of the present invention can be implemented as programming stored on a media, which can be accessed for execution by a CPU for an encoder and / or decoder.

[0014] In the example, video frame input 14 is shown along with reference frames 16 and frame output 18. Inter-prediction 20 is depicted with motion estimation (ME) 22 and motion compensation (MC) 24. Intra-prediction 26 is shown with switching 25 depicted between inter-prediction and intra-prediction. A sum junction 28 is shown with output to a forward transform 30 which is performed based on the predictions to generate transform coefficients of residual data. Quantization of the transform coefficients is performed at quantization stage 32, which is followed by entropy encoding 34. Inverse quantization 36 and inverse transform 38 operations are shown coupled to a summing junction 40.

[0015] Output of summing junction 40, is a decoded video signal which is received by a deblocking filter 42, the Sample Adaptive Offset (SAO) filter with inventive FBO modes 44 according to the present invention to produce an output 18.

[0016] FIG. 2 illustrates an example embodiment 70 of a decoder, shown with process blocks 72 and an associated processing means 102. It will be noted that the decoder is substantially a subset of the elements contained in encoder 10 of FIG. 1, operating on reference frames 74 and outputting video signal 100. The decoder blocks receive an encoded video signal 76 which is processed through entropy decoder 78, inverse quantization 80, inverse transform 82, and summing 84 between the inverse transform 82 output and the selection 92 between inter-prediction 86 shown with motion compensation 88 and a separate intra-prediction block 90. Output from summing junction 84 is received by a deblocking filter 94, followed by SAO module with inventive Flexible Band Offset (FBO) modes 96 according to the present invention to produce a video output 98.

[0017] It should be appreciated that the decoder can be implemented with a processing means 100 which comprises at least one processing device 102 and at least one memory 104 for executing programming associated with the decoding. In addition, it will be noted that elements of the present invention can be implemented as programming stored on a media, wherein said media can be accessed for execution by processing device (CPU) 102.

[0018] It will be recognized that elements of the present invention 10 and 70 are implemented for execution by a processing means 46 and 100, such as in response to programming resident in memory 50 and 104 which is executable on computer processor (CPU) 48 and 102. In addition, it will be appreciated that elements of the present invention can be implemented as programming stored on a media, wherein said media can be accessed for execution by CPU 48 and / or 102.

[0019] It should also be appreciated that the above programming is executable from the memory which is a tangible (physical) computer readable media that is non-transitory in that it does not merely constitute a transitory propagating signal, but is actually capable of retaining programming, such as within any desired form and number of static or dynamic memory devices. These memory devices need not be implemented to maintain data under all conditions (e.g., power fail) to be considered herein as non-transitory media.

[0020] FIG. 3A and FIG. 3B compare current HEVC SAO filter operation (FIG. 3A) with the inventive flexible band offset SAO filter of the current invention (FIG. 3B). In FIG. 3A an example is seen of two SAO types based on band offset (BO), in which the first type (First Group BO_0) has central bands, and the second type (Second Group BO_1) has side bands seen on each end of the band structure. Toward reducing side information down to 16 offsets in the conventional SAO, the original 32 uniform bands are divided into two groups as seen in the figure, with the 16 bands in the center assigned to group 1 and the 16 bands on both sides assigned to group 2. Accordingly, one set of SAO offsets is sent for the center 16 bands (group 1), and one set of SAO offsets is sent for the outer 16 bands (group 2).

[0021] There has been some discussions of increasing the number of BO modes with various numbers of offsets. However, this would further complicate the design. The present invention is directed contrary to such offset increases and operates toward simplifying the design, minimizing the temporary buffer at the decoder, and unifying the number of SAO offsets for EO and BO modes. The present invention teaches a method for utilizing only one BO mode with four (4) SAO offsets, thus unifying the number of SAO offsets across the SAO modes.

[0022] In the present inventive apparatus and method, only a single band offset type is necessary. The encoder determines four (4) consecutive bands for which a SAO offset will be transmitted. It should be appreciated that the encoder may pick the four consecutive bands based on most distortion impact, or may utilize any other desired criterion, without departing from the teachings of the present invention. The rest of the bands are assumed to have a zero SAO offset. Since there are 32 possible BO bands in the current design, the first band for which an SAO offset is transmitted (i.e., first_band) is between 0 to 31. Thus, the encoder uses a 5-bit Fixed Length (FL) code to indicate first_band to the decoder. The offsets are depicted in FIG. 3B showing first non-zero offset band, with 4 SAO offsets shown with the dotted lines starting from the first non-zero offset band.

[0023] After the first non-zero offset band, the four consecutive bands with SAO offsets are determined in response to adding an offset i to the first band and using the modulo remainder based on number of BO bands NBands, such as (first_band + i)%NBands where i ∈ [0,4). By way of example and not limitation, the number of bands NBands is 32. Thus, the number of possible offsets transmitted for the remaining bands is substantially reduced, such as in the above example, from sixteen (16) SAO offsets down to four (4) SAO offsets.

[0024] FIG. 4A is a summary of an example embodiment of the Flexible Band Offset method for the SAO filter operating in the encoder. Four consecutive bands with SAO offsets are determined (selected) at step 110, while the remaining bands are assumed to have zero SAO offsets at step 112. Then a fixed length code is encoded at step 114 for indicating to a decoder the exact position of this first band. The position of the consecutive bands with SAO offsets is indicated and each band encodes a SAO offset as per step 116. As a result of the invention, the number of BO modes are reduced from two to one, while the SAO offsets required for BO is reduced from sixteen to four.

[0025] FIG. 4B is a summary of an example embodiment of this Flexible Band Offset method for the SAO filter operating in the decoder. The fixed length code received from the encoder is decoded to indicate 130 the first non-zero offset band. At step 132, SAO offsets for the four consecutive bands are decoded. Then the four consecutive band positions are determined in response to adding SAO offsets, comprising an offset i, which preferably can only assume values from 0 to 3, to the first band and using the modulo remainder based on number of BO bands, and decoded SAO offsets are added to corresponding bands at step 134. The remaining bands other than the four consecutive bands are added with zero SAO offsets at step 136.

[0026] Embodiments of the present invention may be described with reference to flowchart illustrations of methods and systems according to embodiments of the invention, and / or algorithms, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of a flowchart, and combinations of blocks (and/or steps) in a flowchart, algorithm, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and/or software including one or more computer program instructions embodied in computer-readable program code logic. As will be appreciated, any such computer program instructions may be loaded onto a computer, including without limitation a general purpose computer or special purpose computer, or other programmable processing apparatus to produce a machine, such that the computer program instructions which execute on the computer or other programmable processing apparatus create means for implementing the functions specified in the block(s) of the flowchart(s).

[0027] Accordingly, blocks of the flowcharts, algorithms, formulae, or computational depictions support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and computer program instructions, such as embodied in computer-readable program code logic means, for performing the specified functions. It will also be understood that each block of the flowchart illustrations, algorithms, formulae, or computational depictions and combinations thereof described herein, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer-readable program code logic means.

[0028] Furthermore, these computer program instructions, such as embodied in computer-readable program code logic, may also be stored in a computer-readable memory that can direct a computer or other programmable processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s). The computer program instructions may also be loaded onto a computer or other programmable processing apparatus to cause a series of operational steps to be performed on the computer or other programmable processing apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable processing apparatus provide steps for implementing the functions specified in the block(s) of the flowchart(s), algorithm(s), formula(e), or computational depiction(s).

[0029] From the discussion above it will be appreciated that aspects of above not directly forming part of the invention can be summarized by the following:
  1. 1. An apparatus for sample adaptive offset (SAO) signaling during entropy encoding and decoding of video, comprising: (a) a video encoder having a computer processor; (b) programming executable on said video encoder computer processor for: (i) receiving a decoded video signal from a deblocking filter; (ii) setting a fixed length code within an encoder, for transmission to a decoder, in response to steps comprising: (A) selecting four consecutive bands for which an SAO offset for each will be transmitted; (B) assuming remaining bands have zero SAO offsets; (C) encoding a fixed length code indicating extent of offset for a first non-zero band offset (BO) of said four consecutive bands; and (D) generating positioning for said four consecutive bands by adding an offset to said first non-zero band offset (BO) and using the modulo remainder based on number of BO bands and encoding SAO offset for each; (c) a video decoder having a computer processor; (d) programming executable on said video decoder computer processor for: (i) sample adaptive offset filtering of an encoded video signal based on receiving said fixed length code within said video decoder, in response to steps comprising: (A) determining position of said first band based on decoding said fixed length code; (B) decoding four SAO offsets for four consecutive bands determined during encoding; (C) determining position of remaining bands in response to adding an offset to said first band and taking a modulo remainder based on number of BO bands and adding decoded SAO offsets to them; and (D) adding zero SAO offsets to all remaining bands.
  2. 2. The apparatus of any preceding embodiment, wherein said system for encoding and decoding of video operates according to a High Efficiency Video Coding (HEVC) standard.
  3. 3. The apparatus of any preceding embodiment, wherein said system requires only one band offset (BO) type.
  4. 4. The apparatus of any preceding embodiment, wherein number of SAO offsets for said BO bands are reduced from 16 to 4.
  5. 5. The apparatus of any preceding embodiment, wherein said reduction of possible SAO offsets from 16 to 4 reduces necessary temporary buffering by approximately 75%.
  6. 6. The apparatus of any preceding embodiment, wherein programming executable on said video encoder computer processor is configured for transmitting thirty two possible BO bands for said first non-zero band.
  7. 7. The apparatus of any preceding embodiment, wherein programming executable on said video encoder computer processor is configured for generating positioning for the four consecutive bands by adding an offset i to said first non-zero band and uses a modulo remainder based on number of BO bands NBands, as (first_band + i)%NBands where i ∈ [0,4).
  8. 8. An apparatus for sample adaptive offset filtering during video entropy encoding, comprising: (a) a video encoder having a computer processor; (b) programming executable on said video encoder computer processor for: (i) receiving a decoded video signal from a deblocking filter; (ii) setting a fixed length code within an encoder, for transmission to a decoder, in response to steps comprising: (A) selecting four consecutive bands for which an SAO offset for each will be transmitted; (B) assuming remaining bands have zero SAO offsets; (C) encoding a fixed length code indicating extent of offset for a first non-zero band offset (BO); and (D) generating positioning for said four consecutive bands by adding an offset to said first non-zero band offset (BO) and using the modulo remainder based on number of BO bands and encoding SAO offset for each.
  9. 9. The apparatus of any preceding embodiment, wherein said programming executable on said video encoder computer processor utilizes a single band offset (BO) type.
  10. 10. The apparatus of any preceding embodiment, wherein programming executable on said video encoder computer processor generates 4 possible SAO offsets for said consecutive bands which is a reduction compared to 16 possible SAO offsets on a conventional HEVC apparatus.
  11. 11. The apparatus of any preceding embodiment, wherein said reduction of SAO offsets reduces necessary temporary buffering by approximately 75%.
  12. 12. The apparatus of any preceding embodiment, wherein said programming executable on said video encoder computer processor is configured for transmitting thirty two possible BO bands for said first non-zero band.
  13. 13. The apparatus of any preceding embodiment, wherein said programming executable on said video encoder computer processor generates positioning for said four consecutive bands by adding an offset i to said first non-zero band and determines a modulo remainder based on number of BO bands NBands, as (first_band + i)%NBands where i ∈ [0,4).
  14. 14. An apparatus for sample adaptive offset filtering during video entropy decoding, comprising: (a) a video decoder having a computer processor; (b) programming executable on said video decoder computer processor for: (i) sample adaptive offset filtering of video within said video decoder from a received encoded video signal containing a fixed length code, having steps comprising: (A) determining position of said first non-zero band offset (BO) based on decoding said fixed length code; (B) decoding four SAO offsets for four consecutive bands determined during encoding; (C) determining position of remaining bands in response to adding an offset to said first non-zero band and taking a modulo remainder based on number of BO bands and adding decoded SAO offsets to them; and (D) adding zero SAO offsets to all remaining bands.
  15. 15. The apparatus of any preceding embodiment, wherein said programming executable on said video decoder computer processor performs sample adaptive offset filtering requiring only a single band offset (BO) type.
  16. 16. The apparatus of any preceding embodiment, wherein programming executable on said video decoder computer processor utilizes 4 possible SAO offsets for said consecutive bands which is a reduction compared to 16 possible SAO offsets on a conventional HEVC apparatus.
  17. 17. The apparatus of any preceding embodiment, wherein said reduction of possible SAO offsets from 16 to 4 reduces necessary temporary buffering by approximately 75%.
  18. 18. The apparatus of any preceding embodiment, wherein said programming executable on said video decoder computer processor is configured for utilizing thirty two possible BO bands for said first non-zero band.
  19. 19. The apparatus of any preceding embodiment, wherein said programming executable on said video decoder computer processor decodes positioning information from said encoded video signal for remaining bands having an offset i added to said first non-zero band and determines a modulo remainder based on number of BO bands NBands, as (first_band + i)%NBands where i ∈ [0,4).
  20. 20. The apparatus of any preceding embodiment, wherein said apparatus for sample adaptive offset filtering during video entropy decoding operates according to a High Efficiency Video Coding (HEVC) standard.


[0030] Although the description above contains many details, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the presently preferred embodiments of this invention. Therefore, it will be appreciated that the scope of the present invention fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the present invention is accordingly to be limited by nothing other than the appended claims, in which reference to an element in the singular is not intended to mean "one and only one" unless explicitly so stated, but rather "one or more." All structural and functional equivalents to the elements of the above-described preferred embodiment that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element herein is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase "means for."

[0031] In so far as the embodiments of the invention described above are implemented, at least in part, using software-controlled data processing apparatus, it will be appreciated that a computer program providing such software control and a transmission, storage or other medium by which such a computer program is provided are envisaged as aspects of the present invention.

[0032] Aspects of the above disclosure not directly forming part of the invention can be summarized according to the following numbered clauses:

Clause 1. An apparatus for sample adaptive offset filtering during video entropy encoding, comprising:

  1. (a) a video encoder having a computer processor;
  2. (b) programming executable on said video encoder computer processor for:
    1. (i) receiving a decoded video signal from a deblocking filter;
    2. (ii) setting a fixed length code within an encoder, for transmission to a decoder, in response to steps comprising:
      1. (A) selecting four consecutive bands for which an SAO offset for each will be transmitted;
      2. (B) assuming remaining bands have zero SAO offsets;
      3. (C) encoding a fixed length code indicating extent of offset for a first non-zero band offset (BO); and
      4. (D) generating positioning for said four consecutive bands by adding an offset to said first non-zero band offset (BO) and using the modulo remainder based on number of BO bands and encoding SAO offset for each.

Clause 2. The apparatus recited in clause 1, wherein said programming executable on said video encoder computer processor utilizes a single band offset (BO) type.

Clause 3. The apparatus recited in clause 1, wherein programming executable on said video encoder computer processor generates 4 possible SAO offsets for said consecutive bands which is a reduction compared to 16 possible SAO offsets on a conventional HEVC apparatus.

Clause 4. The apparatus recited in clause 3, wherein said reduction of SAO offsets reduces necesary temporary buffering by approximately 75%.

Clause 5. The apparatus recited in clause 1, wherein said programming executable on said video encoder computer processor is configured for transmitting thirty two possible BO bands for said first non-zero band.

Clause 6. The apparatus of clause 1 wherein the encoding indicates the extent of offset for the first non-zero band offset of said four consecutive bands and the apparatus further comprises;

  1. (a) a video decoder having a computer processor;
  2. (b) programming executable on said video decoder computer processor for:
    1. (i) sample adaptive offset filtering of an encoded video signal based on receiving said fixed length code within said video decoder, in response to steps comprising:
      1. (A) determining position of said first band based on decoding said fixed length code;
      2. (B) decoding four SAO offsets for four consecutive bands determined during encoding;
      3. (C) determining position of remaining bands in response to adding an offset to said first band and taking a modulo remainder based on number of BO bands and adding decoded SAO offsets to them; and
      4. (D) adding zero SAO offsets to all remaining bands.

Clause 7. The apparatus recited in clause 1, wherein said system for encoding and decoding of video operates according to a High Efficiency Video Coding (HEVC) standard.

Clause 8. The apparatus recited in clause 1, wherein said system requires only one band offset (BO) type.

Clause 9. The apparatus recited in clause 1, wherein number of SAO offsets for said BO bands are reduced from 16 to 4.

Clause 10. The apparatus recited in clause 9, wherein said reduction of possible SAO offsets from 16 to 4 reduces necessary temporary buffering by approximately 75%.

Clause 11. The apparatus recited in clause 1, wherein programming executable on said video encoder computer processor is configured for transmitting thirty two possible BO bands for said first non-zero band.

Clause 12. The apparatus recited in clause 1 or 6, wherein programming executable on said video encoder computer processor is configured for generating positioning for the four consecutive bands by adding an offset i to said first non-zero band and uses a modulo remainder based on number of BO bands NBands, as (first_band + i) %NBands where i ∈ [0,4).

Clause 13. An apparatus for sample adaptive offset filtering during video entropy decoding, comprising:

  1. (a) a video decoder having a computer processor;
  2. (b) programming executable on said video decoder computer processor for:
    1. (i) sample adaptive offset filtering of video within said video decoder from a received encoded video signal containing a fixed length code, having steps comprising:
      1. (A) determining position of said first non-zero band offset (BO) based on decoding said fixed length code;
      2. (B) decoding four SAO offsets for four consecutive bands determined during encoding;
      3. (C) determining position of remaining bands in response to adding an offset to said first non-zero band and taking a modulo remainder based on number of BO bands and adding decoded SAO offsets to them; and
      4. (D) adding zero SAO offsets to all remaining bands.

Clause 14. The apparatus recited in clause 13, wherein said programming executable on said video decoder computer processor performs sample adaptive offset filtering requiring only a single band offset (BO) type.

Clause 15. The apparatus recited in clause 13, wherein programming executable on said video decoder computer processor utilizes 4 possible SAO offsets for said consecutive bands which is a reduction compared to 16 possible SAO offsets on a conventional HEVC apparatus.




Claims

1. A decoding apparatus (70) for decoding a bit stream (76), comprising:

a decoder (78) configured to decode the bit stream to generate a decoded image (98); and

an offset processing module (96) configured to:

acquire, from the bit stream, position data indicating a position of four consecutive bands to which offsets are applied as a band offset mode,

wherein the four consecutive bands are determined from thirty-two bands each representing an intensity range of pixel values belonging thereto;

identify the position of a first band using the position data; and

apply, for the decoded image generated by the decoder, an offset set for each band to a pixel value belonging to the four consecutive bands including the first band by adding the offset set for each band to the pixel value belonging to the four consecutive bands including the first band, and to apply a zero offset to the remaining bands other than the four consecutive bands, characterized in that the position data indicate the position of the first band of the four consecutive bands starting from the first band to which offsets are applied as a band offset mode, and wherein the band offset mode is the only band offset mode utilised by an offset processing module.


 
2. The decoding apparatus recited in claim 1, wherein the position data comprises data indicating a number of the first band.
 
3. The decoding apparatus recited in claim 2, wherein the position data is a 5-bit code.
 
4. The decoding apparatus recited in claim 1, wherein the offset processing module is configured to add, for chroma components of the decoded image, the offset to the pixel value belonging to the four consecutive bands.
 
5. The decoding apparatus recited in claim 1, further comprising:

a filter (94) configured to perform deblocking filtering for the decoded image,

wherein the offset processing module is configured to add, for the decoded image on which the deblocking filtering was performed by the filter, the offset to the pixel values belonging to the four consecutive bands.


 
6. The decoding apparatus recited in claim 5, wherein the bit stream is divided into coding units and the decoder is configured to decode the bit stream for each coding unit divided using quadtree segmentation.
 
7. The decoding apparatus recited in claim 6, wherein the coding units are divided into prediction units and transform units.
 
8. A method for decoding a bit stream, comprising the steps of:

decoding the bit stream to generate a decoded image;

acquiring, from the bit stream, position data indicating a position of four consecutive bands to which offsets are applied as a band offset mode, wherein the four consecutive bands are determined from thirty-two bands each representing an intensity range having a pixel value applied thereto;

identifying the position of a first band using the position data; and

applying, for the decoded image generated by the decoder, an offset set for each band to a pixel value belonging to the four consecutive bands including the first band by adding the offset set for each band to the pixel value belonging to the four consecutive bands including the first band, and to apply a zero offset to the remaining bands other than the four consecutive bands, characterized in that the position data indicate the position of the first band of the four consecutive bands starting from the first band to which offsets are applied as a band offset mode, and wherein the band offset mode is the only band offset mode utilised by an offset processing module.


 
9. The method recited in claim 8, wherein the position data comprises data indicating a number of the first band.
 
10. The method recited in claim 9, wherein the position data is a 5-bit code.
 
11. The method recited in 8, wherein applying the offsets comprises adding, for chroma components of the decoded image, the offset to the pixel value belonging to the four consecutive bands.
 
12. The method recited in claim 8, further comprising:

performing deblocking filtering of the decoded image; and

applying the offsets by adding the offset to the pixel value belonging to the four consecutive bands for the decoded image after the deblocking filtering.


 
13. The method recited in claim 12, wherein the bit stream is divided into coding united and decoding the bit stream comprises decoding the bit stream for each coding unit divided using quadtree segmentation.
 
14. The method recited in claim 13, wherein the coding units are divided into prediction units and transform units.
 


Ansprüche

1. Decodiervorrichtung (70) zum Decodieren eines Bitstroms (76), umfassend:

einen Decoder (78), der zum Decodieren des Bitstroms zum Erzeugen eines decodierten Bildes (98) konfiguriert ist; und

ein Offset-Verarbeitungsmodul (96), das konfiguriert ist zum:

Erfassen von Positionsdaten aus dem Bitstrom, die eine Position von vier aufeinanderfolgenden Bändern angeben, auf welche Offsets als ein Band-Offset-Modus angewendet werden, wobei die vier aufeinanderfolgenden Bänder aus zweiunddreißig Bändern bestimmt werden, die jeweils einen Intensitätsbereich von dazugehörigen Pixelwerten darstellen;

Identifizieren der Position eines ersten Bandes unter Verwendung der Positionsdaten; und

Anwenden für das decodierte Bild, das durch den Decoder erzeugt wird, eines Offsets, der für jedes Band festgelegt wird, auf einen Pixelwert, der zu den vier aufeinanderfolgenden Bändern gehört, die das erste Band umfassen, durch Hinzufügen des für jedes Band festgelegten Offsets zum Pixelwert, der zu den vier aufeinanderfolgenden Bändern gehört, die das erste Band umfassen, und Anwenden eines Null-Offsets auf die restlichen Bänder außer den vier aufeinanderfolgenden Bändern, dadurch gekennzeichnet, dass die Positionsdaten die Position des ersten Bandes der vier aufeinanderfolgenden Bändern beginnend vom ersten Band angeben, auf welches Offsets als ein Band-Offset-Modus angewendet werden, und wobei der Band-Offset-Modus der einzige Band-Offset-Modus ist, der von einem Offset-Verarbeitungsmodul verwendet wird.


 
2. Decodiervorrichtung nach Anspruch 1, wobei die Positionsdaten Daten umfassen, die eine Nummer des ersten Bandes angeben.
 
3. Decodiervorrichtung nach Anspruch 2, wobei es sich bei den Positionsdaten um einen 5-Bit-Code handelt.
 
4. Decodiervorrichtung nach Anspruch 1, wobei das Offset-Verarbeitungsmodul so ausgelegt ist, dass es für Chroma-Komponenten des decodierten Bildes den Offset zum Pixelwert hinzufügt, der zu den vier aufeinanderfolgenden Bändern gehört.
 
5. Decodiervorrichtung nach Anspruch 1, ferner umfassend:

ein Filter (94), das zum Durchführen von Entblockungsfilterung für das decodierte Bild ausgelegt ist,

wobei das Offset-Verarbeitungsmodul so ausgelegt ist, dass es für das decodierte Bild, an welchem die Entblockungsfilterung durch das Filter durchgeführt wurde, den Offset zu den Pixelwerten hinzufügt, die zu den vier aufeinanderfolgenden Bändern gehören.


 
6. Decodiervorrichtung nach Anspruch 5, wobei der Bitstrom in vier Codiereinheiten geteilt ist, und der Decoder so ausgelegt ist, dass er den Bitstrom für jede geteilte Codiereinheit unter Verwendung von Quadtree-Segmentierung decodiert.
 
7. Decodiervorrichtung nach Anspruch 6, wobei die Codiereinheiten in Prädiktionseinheiten und Transformationseinheiten geteilt sind.
 
8. Verfahren zur Decodierung eines Bitstrom, umfassend die folgenden Schritte:

Decodieren des Bitstroms zum Erzeugen eines decodierten Bildes;

Erfassen von Positionsdaten aus dem Bitstrom, die eine Position von vier aufeinanderfolgenden Bändern angeben, auf welche Offsets als ein Band-Offset-Modus angewendet werden, wobei die vier aufeinanderfolgenden Bänder aus zweiunddreißig Bändern bestimmt werden, die jeweils einen Intensitätsbereich mit einem darauf angewendeten Pixelwert darstellen;

Identifizieren der Position eines ersten Bandes unter Verwendung der Positionsdaten; und

Anwenden für das decodierte Bild, das durch den Decoder erzeugt wird, eines Offsets, der für jedes Band festgelegt wird, auf einen Pixelwert, der zu den vier aufeinanderfolgenden Bändern gehört, die das erste Band umfassen, durch Hinzufügen des für jedes Band festgelegten Offsets zum Pixelwert, der zu den vier aufeinanderfolgenden Bändern gehört, die das erste Band umfassen, und Anwenden eines Null-Offsets auf die restlichen Bänder außer den vier aufeinanderfolgenden Bändern, dadurch gekennzeichnet, dass die Positionsdaten die Position des ersten Bandes der vier aufeinanderfolgenden Bändern beginnend vom ersten Band angeben, auf welches Offsets als ein Band-Offset-Modus angewendet werden, und wobei der Band-Offset-Modus der einzige Band-Offset-Modus ist, der von einem Offset-Verarbeitungsmodul verwendet wird.


 
9. Verfahren nach Anspruch 8, wobei die Positionsdaten Daten umfassen, die eine Nummer des ersten Bandes angeben.
 
10. Verfahren nach Anspruch 9, wobei es sich bei den Positionsdaten um einen 5-Bit-Code handelt.
 
11. Verfahren nach Anspruch 8, wobei das Anwenden der Offsets ein Hinzufügen für Chroma-Komponenten des decodierten Bildes des Offsets zum Pixelwert umfasst, der zu den vier aufeinanderfolgenden Bändern gehört.
 
12. Verfahren nach Anspruch 8, ferner umfassend:

Durchführen von Entblockungsfilterung des decodierten Bildes; und

Anwenden der Offsets durch Hinzufügen des Offsets zum Pixelwert, der zu den vier aufeinanderfolgenden Bändern gehört, für das decodierte Bild nach der Entblockungsfilterung.


 
13. Verfahren nach Anspruch 12, wobei der Bitstrom in vier Codiereinheiten geteilt wird, und das Decodieren des Bitstroms ein Decodieren des Bitstroms für jede geteilte Codiereinheit unter Verwendung von Quadtree-Segmentierung umfasst.
 
14. Verfahren nach Anspruch 13, wobei die Codiereinheiten in Prädiktionseinheiten und Transformationseinheiten geteilt werden.
 


Revendications

1. Appareil de décodage (70) pour décoder un train de bits (76), comprenant :

un décodeur (78) configuré pour décoder le train de bits pour générer une image décodée (98) ; et

un module de traitement de décalage (96) configuré pour :

acquérir, à partir du train de bits, des données de position indiquant une position de quatre bandes consécutives auxquelles des décalages sont appliqués comme mode de décalage de bande,

où les quatre bandes consécutives sont déterminées à partir de trente-deux bandes représentant chacune une plage d'intensités de valeurs de pixels lui appartenant ;

identifier la position d'une première bande au moyen des données de position ; et

appliquer, pour l'image décodée générée par le décodeur, un décalage défini pour chaque bande à une valeur de pixel appartenant aux quatre bandes consécutives comprenant la première bande en ajoutant le décalage défini pour chaque bande à la valeur de pixel appartenant aux quatre bandes consécutives comprenant la première bande, et appliquer un décalage nul aux bandes restantes autres que les quatre bandes consécutives, caractérisé en ce que les données de position indiquent la position de la première bande des quatre bandes consécutives commençant à la première bande auxquelles des décalages sont appliqués comme mode de décalage de bande, et où le mode de décalage de bande est le seul mode de décalage de bande utilisé par un module de traitement de décalage.


 
2. Appareil de décodage énoncé dans la revendication 1, dans lequel les données de position comprennent des données indiquant un numéro de la première bande.
 
3. Appareil de décodage énoncé dans la revendication 2, dans lequel les données de position sont un code à 5 bits.
 
4. Appareil de décodage énoncé dans la revendication 1, dans lequel le module de traitement de décalage est configuré pour ajouter, pour les composantes chromatiques de l'image décodée, le décalage à la valeur de pixel appartenant aux quatre bandes consécutives.
 
5. Appareil de décodage énoncé dans la revendication 1, comprenant en outre :

un filtre (94) configuré pour effectuer un filtrage de déblocage pour l'image décodée,

où le module de traitement de décalage est configuré pour ajouter, pour l'image décodée sur laquelle le filtrage de déblocage a été effectué par le filtre, le décalage aux valeurs de pixels appartenant aux quatre bandes consécutives.


 
6. Appareil de décodage énoncé dans la revendication 5, dans lequel le train de bits est divisé en unités de codage et le décodeur est configuré pour décoder le train de bits pour chaque unité de codage divisée au moyen d'une segmentation en quadrilatères.
 
7. Appareil de décodage énoncé dans la revendication 6, dans lequel les unités de codage sont divisées en unités de prédiction et en unités de transformation.
 
8. Procédé de décodage d'un train de bits, comprenant les étapes suivantes :

décoder le train de bits pour générer une image décodée ;

acquérir, à partir du train de bits, des données de position indiquant une position de quatre bandes consécutives auxquelles des décalages sont appliqués comme mode de décalage de bande,

où les quatre bandes consécutives sont déterminées à partir de trente-deux bandes représentant chacune une plage d'intensités ayant une valeur de pixel lui étant appliquée ;

identifier la position d'une première bande au moyen des données de position ; et

appliquer, pour l'image décodée générée par le décodeur, un décalage défini pour chaque bande à une valeur de pixel appartenant aux quatre bandes consécutives comprenant la première bande en ajoutant le décalage défini pour chaque bande à la valeur de pixel appartenant aux quatre bandes consécutives comprenant la première bande, et appliquer un décalage nul aux bandes restantes autres que les quatre bandes consécutives, caractérisé en ce que les données de position indiquent la position de la première bande des quatre bandes consécutives commençant à la première bande auxquelles des décalages sont appliqués comme mode de décalage de bande, et où le mode de décalage de bande est le seul mode de décalage de bande utilisé par un module de traitement de décalage.


 
9. Procédé énoncé dans la revendication 8, dans lequel les données de position comprennent des données indiquant un numéro de la première bande.
 
10. Procédé énoncé dans la revendication 9, dans lequel les données de position sont un code à 5 bits.
 
11. Procédé énoncé dans la revendication 8, dans lequel l'application des décalages comprend d'ajouter, pour les composantes chromatiques de l'image décodée, le décalage à la valeur pixel appartenant aux quatre bandes consécutives.
 
12. Procédé énoncé dans la revendication 8, comprenant en outre les étapes suivantes :

effectuer un filtrage de déblocage pour l'image décodée ; et

appliquer les décalages en ajoutant le décalage à la valeur de pixel appartenant aux quatre bandes consécutives pour l'image décodée après le filtrage de déblocage.


 
13. Procédé énoncé dans la revendication 12, dans lequel le train de bits est divisé en unités de codage, et le décodage du train de bits comprend de décoder le train de bits pour chaque unité de codage divisée au moyen d'une segmentation en quadrilatères.
 
14. Procédé énoncé dans la revendication 13, dans lequel les unités de codage sont divisées en unités de prédiction et en unités de transformation.
 




Drawing

















Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Non-patent literature cited in the description