# US 12,113,981 B2 · Adaptively deriving rice parameter values for high bit-depth video coding

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,113,981 B2
- Document ID: US12113981B2
- Status: Granted
- Kind: B2
- Application number: 18/334,308
- Filed: 2023-06-13
- Published: 2023-12-28
- Granted: 2024-10-08
- Earliest claimed: 2020-10-06
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Luong Pham Van; Dmytro Rusanovskyy; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US12113981B2

## CPC

- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/157: Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An example device for binarizing video data includes a memory configured to store video data; and one or more processors implemented in circuitry and configured to: calculate a local sum of absolute values (locSumAbs value) of neighboring coefficients to a current coefficient of a current block of video data; derive a shift value from the locSumAbs value; normalize the locSumAbs value using the shift value; determine a Rice parameter using the normalized locSumAbs value; and binarize or inverse binarize the current coefficient using the Rice parameter. In this manner, these techniques may allow for more appropriate Rice parameter value selection when binarizing high bitdepth data in conjunction with performing context-adaptive binary arithmetic coding (CABAC).

## Claims

### Claim 1

A method of binarizing or inverse binarizing video data, the method comprising:
calculating an intermediate local sum of absolute values (intermediateLocSumAbs value) of neighboring coefficients to a current coefficient of a current block of video data;
deriving a shift value from the intermediateLocSumAbs value;
calculating a normalized locSumAbs value using the intermediateLocSumAbs value and the shift value, including calculating the normalized locSumAbs value according to intermediateLocSumAbs>>shift, wherein shift represents the shift value;
determining a Rice parameter using the normalized locSumAbs value; and
binarizing or inverse binarizing the current coefficient using the Rice parameter.

### Claim 2 (depends on 1)

The method of claim 1, further comprising context-adaptive binary arithmetic coding (CABAC) encoding or CABAC decoding the current coefficient.

### Claim 3 (depends on 1)

The method of claim 1, further comprising calculating a clipped locSumAbs value from the normalized locSumAbs value according to clippedLocSumAbs=Clip3(0, 31, normalizedlocSumAbs−baseLevel*5).

### Claim 4 (depends on 3)

The method of claim 3, wherein determining the Rice parameter comprises determining the Rice parameter from the clipped locSumAbs value.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the Rice parameter comprises deriving the Rice parameter from the normalized locSumAbs value according to a lookup table.

### Claim 6 (depends on 5)

The method of claim 5, wherein the lookup table comprises:
locSumAbs
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cRiceParam
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
locSumAbs
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cRiceParam
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
wherein the Rice parameter comprises cRiceParam, the method further comprising updating the Rice parameter according to cRiceParam=cRiceParam+c, wherein c is determined based on the shift value.

### Claim 7 (depends on 1)

The method of claim 1, wherein deriving the shift value from the intermediateLocSumAbs value comprises comparing the locSumAbs value to a threshold value and deriving the shift value according to the comparison.

### Claim 8

A device for binarizing or inverse binarizing video data, the device comprising:
a memory configured to store video data; and
a processing system comprising one or more processors implemented in circuitry, the processing system being configured to:
calculate an intermediate local sum of absolute values (intermediateLocSumAbs value) of neighboring coefficients to a current coefficient of a current block of video data;
derive a shift value from the intermediateLocSumAbs value;
calculate a normalized locSumAbs value using the intermediateLocSumAbs value and the shift value, wherein to calculate the normalized locSumAbs value, the processing system is configured to calculate intermediateLocSumAbs>>shift, wherein shift represents the shift value;
determine a Rice parameter using the normalized locSumAbs value; and
binarize or inverse binarize the current coefficient using the Rice parameter.

### Claim 9 (depends on 8)

The device of claim 8, wherein the processing system is configured to context-adaptive binary arithmetic coding (CABAC) encode or decode the current coefficient.

### Claim 10 (depends on 8)

The device of claim 8, wherein the processing system is further configured to calculate a clipped locSumAbs value from the normalized locSumAbs value according to clippedLocSumAbs=Clip3(0, 31, normalizedlocSumAbs−baseLevel*5).

### Claim 11 (depends on 10)

The device of claim 10, wherein the processing system is configured to determine the Rice parameter from the clipped locSumAbs value.

### Claim 12 (depends on 8)

The device of claim 8, wherein to determine the Rice parameter, the one or more processors are configured to derive the Rice parameter from the normalized locSumAbs value according to a lookup table.

### Claim 13 (depends on 12)

The device of claim 12, wherein the lookup table comprises:
locSumAbs
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cRiceParam
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
locSumAbs
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cRiceParam
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
wherein the Rice parameter comprises cRiceParam, and wherein the one or more processors are further configured to update the Rice parameter according to cRiceParam=cRiceParam+c, wherein c is determined based on the shift value.

### Claim 14 (depends on 8)

The device of claim 8, wherein to derive the shift value from the intermediateLocSumAbs value, the processing system is configured to compare the locSumAbs value to a threshold value and derive the shift value according to the comparison.

### Claim 15 (depends on 8)

The device of claim 8, further comprising a display configured to display the video data.

### Claim 16 (depends on 8)

The device of claim 8, wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

### Claim 17

A device for decoding video data, the device comprising:
means for calculating an intermediate local sum of absolute values intermediateLocSumAbs value) of neighboring coefficients to a current coefficient of a current block of video data;
means for deriving a shift value from the intermediateLocSumAbs value;
means for calculating a normalized locSumAbs value using the shift value, including means for calculating the normalized locSumAbs value according to intermediateLocSumAbs>>shift, wherein shift represents the shift value;
means for determining a Rice parameter using the normalized locSumAbs value; and
means for decoding the video data using the Rice parameter.
