Search

EP-4736438-A1 - ARITHMETIC CODING WITH SPATIAL TUNING

EP4736438A1EP 4736438 A1EP4736438 A1EP 4736438A1EP-4736438-A1

Abstract

An apparatus configured to: determine to encode or decode a first coding tree unit, wherein a second coding tree unit is at least partially different from the first coding tree unit, wherein the second coding tree unit comprises a previously encoded or decoded coding tree unit; in response to determining to encode or decode the first coding tree unit, determine at least one stored syntax element value based, at least partially, on a location of the first coding tree unit; and update at least one state variable of the apparatus based, at least partially, on the at least one stored syntax element value.

Inventors

  • LAINEMA, JANI
  • AMINLOU, ALIREZA

Assignees

  • Nokia Technologies Oy

Dates

Publication Date
20260506
Application Date
20240528

Claims (20)

  1. 1. An apparatus comprising: at least one processor; and at least one non-transitory memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: determine to encode or decode a first coding tree unit, wherein a second coding tree unit is at least partially different from the first coding tree unit, wherein the second coding tree unit comprises a previously encoded or decoded coding tree unit; in response to determining to encode or decode the first coding tree unit, determine at least one stored syntax element value based, at least partially, on a location of the first coding tree unit; and update at least one state variable of the apparatus based, at least partially, on the at least one stored syntax element value.
  2. 2. The apparatus of claim 1, wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to: determine a value of a syntax element, wherein the syntax element belongs to a coding unit; determine a location of the coding unit within the second coding tree unit; and store the value of the syntax element in response to the location of the coding unit meeting at least one predetermined criteria.
  3. 3. The apparatus of claim 2, wherein the at least one stored syntax element value comprises, at least, the value of the syntax element belonging to the coding unit within the second coding tree unit, wherein the location of the coding unit within the second coding tree unit is proximate the location of the first coding tree unit.
  4. 4. The apparatus of claim 2, wherein the at least one predetermined criteria comprises at least one of: the location of the coding unit being at a bottom of the second coding tree unit, the location of the coding unit being at a left-most bottom coding unit of the second coding tree unit, the location of the coding unit being a location in a bottom left half of the second coding tree unit, or the location of the coding unit being a location in a bottom right half of the second coding tree unit.
  5. 5. The apparatus of claim 2, wherein the value of the syntax element is stored in a syntax element value storage, wherein the syntax element value storage comprises at least one of: an array, a matrix, a vector, or a list.
  6. 6. The apparatus of claim 2, wherein the value of the syntax element is stored based, at least partially, on at least one of: a number of stored syntax element values associated with the first coding tree, or a number of stored syntax element values associated with the syntax element.
  7. 7. The apparatus of claim 1, wherein the at least one stored syntax element value comprises at least one of: one or more stored syntax element values of bottom coding units in a coding tree unit above the first coding tree unit, one or more stored syntax element values of bottom coding units in a coding tree unit above-left the first coding tree unit, one or more stored syntax element values of bottom coding units in the second coding tree unit, or one or more stored syntax element values of bottom-right coding units in the second coding tree unit.
  8. 8. The apparatus of claim 7, wherein the second coding tree unit is spatially located above the first coding tree unit in a picture.
  9. 9. The apparatus of claim 1, wherein no coding tree units are located above the first coding tree unit, wherein the second coding tree unit is to the right of the first coding tree unit, wherein the at least one stored syntax element value comprises one or more stored syntax element values of a right side of the second coding tree unit.
  10. 10. The apparatus of claim 1, wherein the at least one state variable is updated based, at least partially, on at least one characteristic of the first coding tree unit, wherein the at least one characteristic of the first coding tree unit comprises at least one of: a location of the first coding tree unit in a picture, or a location of a current coding unit in the first coding tree unit.
  11. 11. The apparatus of claim 1, wherein updating the at least one state variable comprises the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to: average a current value of the at least one state variable with the at least one stored syntax element value.
  12. 12. The apparatus of claim 1, wherein updating the at least one state variable comprises the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to: determine a weighted sum of a current value of the at least one state variable and the at least one stored syntax element value.
  13. 13. The apparatus of claim 1, wherein the at least one state variable comprises a short-term estimator.
  14. 14. The apparatus of claim 1, wherein a maximum number of the at least one stored syntax element value is based, at least partially, on at least one of: a frame quantization parameter, a slice quantization parameter, or a level of the apparatus.
  15. 15. A method comprising: determining, with a user equipment, to encode or decode a first coding tree unit, wherein a second coding tree unit is at least partially different from the first coding tree unit, wherein the second coding tree unit comprises a previously encoded or decoded coding tree unit; in response to determining to encode or decode the first coding tree unit, determining at least one stored syntax element value based, at least partially, on a location of the first coding tree unit; and updating at least one state variable of the apparatus based, at least partially, on the at least one stored syntax element value.
  16. 16. The method of claim 15, further comprising: determining a value of a syntax element, wherein the syntax element belongs to a coding unit; determining a location of the coding unit within the second coding tree unit; and storing the value of the syntax element in response to the location of the coding unit meeting at least one predetermined criteria.
  17. 17. The method of claim 16, wherein the at least one stored syntax element value comprises, at least, the value of the syntax element belonging to the coding unit within the second coding tree unit, wherein the location of the coding unit within the second coding tree unit is proximate the location of the first coding tree unit.
  18. 18. The method of claim 16, wherein the at least one predetermined criteria comprises at least one of: the location of the coding unit being at a bottom of the second coding tree unit, the location of the coding unit being at a left-most bottom coding unit of the second coding tree unit, the location of the coding unit being a location in a bottom left half of the second coding tree unit, or the location of the coding unit being a location in a bottom right half of the second coding tree unit.
  19. 19. The method of claim 15, wherein the at least one stored syntax element value comprises at least one of: one or more stored syntax element values of bottom coding units in a coding tree unit above the first coding tree unit, one or more stored syntax element values of bottom coding units in a coding tree unit above-left the first coding tree unit, one or more stored syntax element values of bottom coding units in the second coding tree unit, or one or more stored syntax element values of bottom-right coding units in the second coding tree unit.
  20. 20. A non-transitory computer-readable medium comprising program instructions stored thereon for performing at least the following: determining to encode or decode a first coding tree unit, wherein a second coding tree unit is at least partially different from the first coding tree unit, wherein the second coding tree unit comprises a previously encoded or decoded coding tree unit; in response to determining to encode or decode the first coding tree unit, determining at least one stored syntax element value based, at least partially, on a location of the first coding tree unit; and updating at least one state variable of the apparatus based, at least partially, on the at least one stored syntax element value.

Description

ARITHMETIC CODING WITH SPATIAL TUNING TECHNICAL FIELD [0001] The example and non-limiting embodiments relate generally to digital video coding and/or decoding and, more particularly, to updating of state variables of a codec used for the coding and/or decoding. BACKGROUND [0002] It is known, in coding and decoding, to use an arithmetic coder to compress and/or decompress syntax elements based on probability estimates for the syntax elements. SUMMARY [0003] The following summary is merely intended to be illustrative. The summary is not intended to limit the scope of the claims. [0004] In accordance with one aspect, an apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: determine to encode or decode a first coding tree unit, wherein a second coding tree unit is at least partially different from the first coding tree unit, wherein the second coding tree unit comprises a previously encoded or decoded coding tree unit; in response to determining to encode or decode the first coding tree unit, determine at least one stored syntax element value based, at least partially, on a location of the first coding tree unit; and update at least one state variable of the apparatus based, at least partially, on the at least one stored syntax element value. [0005] In accordance with one aspect, a method comprising: determining, with a user equipment, to encode or decode a first coding tree unit, wherein a second coding tree unit is at least partially different from the first coding tree unit, wherein the second coding tree unit comprises a previously encoded or decoded coding tree unit; in response to determining to encode or decode the first coding tree unit, determining at least one stored syntax element value based, at least partially, on a location of the first coding tree unit; and updating at least one state variable of the apparatus based, at least partially, on the at least one stored syntax element value. [0006] In accordance with one aspect, an apparatus comprising means for: determining to encode or decode a first coding tree unit, wherein a second coding tree unit is at least partially different from the first coding tree unit, wherein the second coding tree unit comprises a previously encoded or decoded coding tree unit; in response to determining to encode or decode the first coding tree unit, determining at least one stored syntax element value based, at least partially, on a location of the first coding tree unit; and updating at least one state variable of the apparatus based, at least partially, on the at least one stored syntax element value. [0007] In accordance with one aspect, a non-transitory computer-readable medium comprising program instructions stored thereon for performing at least the following: determining to encode or decode a first coding tree unit, wherein a second coding tree unit is at least partially different from the first coding free unit, wherein the second coding tree unit comprises a previously encoded or decoded coding tree unit; in response to determining to encode or decode the first coding tree unit, determining at least one stored syntax element value based, at least partially, on a location of the first coding tree unit; and updating at least one state variable of the apparatus based, at least partially, on the at least one stored syntax element value. [0008] According to some aspects, there is provided the subject matter of the independent claims. Some further aspects are defined in the dependent claims. BRIEF DESCRIPTION OF THE DRAWINGS [0009] The foregoing aspects and other features are explained in the following description, taken in connection with the accompanying drawings, wherein: [0010] FIG. 1 is a block diagram of one possible and non-limiting example system in which the example embodiments may be practiced; [0011] FIG. 2 is a block diagram of one possible and non-limiting exemplary system in which the example embodiments may be practiced; [0012] FIG. 3 is a diagram illustrating features as described herein; [0013] FIG. 4 is a diagram illustrating features as described herein; [0014] FIG. 5 is a diagram illustrating features as described herein; [0015] FIG. 6 is a diagram illustrating features as described herein; and [0016] FIG. 7 is a flowchart illustrating steps as described herein. DETAILED DESCRIPTION OF EMBODIMENTS [0017] The following abbreviations that may be found in the specification and/or the drawing figures are defined as follows: 3 GPP third generation partnership project 4G fourth generation 5G fifth generation 5GC 5G core network AR augmented reality AVC advanced video coding (ITU-T H.264 video coding standard) BCW bi-prediction with CU-level weight CABAC context adaptive binary arithmetic coder CCCM convolutional cross-component model CCRM cross-component residual model/cross-component reconstruction model CDMA code division mu