IP Library Granted Patent US 12,689,734
Granted Patent B2
US 12,689,734 · App. 18/819,536 · Granted Jul 21, 2026

Virtual boundary processing for adaptive loop filtering

Inventors: Kenneth Andersson (Gävle, SE); Jacob Ström (Stockholm, SE); Zhi Zhang (Solna, SE); Jack Enhorn (Kista, SE)
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
H04N19/132H04N19/105H04N19/117H04N19/176H04N19/82
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,689,734
App. No.
18/819,536
Granted
Jul 21, 2026
Kind
B2
Abstract

A method for encoding or decoding an image. The method includes obtaining a CTB having a vertical size (CtbSizeY) and a horizontal size (CtbSizex), the CTB comprising set of sample values comprising a current sample value having a location (x,y) within the CTB. The method also includes selecting a filter strength value for the current sample based on y and filtering the current sample using the selected filter strength value. Selecting a filter strength value for the current sample based on y comprises: i) determining whether the following first condition is true: (y==(CtbSizeY-5) OR y==(CtbSizeY-4)) AND var==1, where var is set equal to 1 as a result of a determination that a second condition is satisfied; and ii) choosing a filter strength value of 10 as a result of determining the first condition is true.

Claims (32)

1 . A method for decoding an image of a video sequence, the method comprising:

obtaining a set of sample values associated with the image, the set of sample values comprising a current sample value and sample values neighboring the current sample value, wherein the obtained set of sample values is included within a first block of sample values;

determining a relative location of the current sample value with respect to a virtual boundary, wherein the virtual boundary is defined with respect to a block boundary between the first block of sample values and a second block of sample values, wherein the virtual boundary is parallel with the block boundary and separated from the block boundary by at least one row or column of sample values included in the first block of sample values; and

as a result of determining that the current sample is at the virtual boundary or is one row or column away from the virtual boundary:

reducing a filter strength for adaptive loop filtering of the current sample value by increasing a right shift value, wherein an increase of the right shift value by N reduces a contribution from adaptive loop filtering by a factor of 2{circumflex over ( )}N; and

adaptive loop filtering the current sample value based on the increased right shift value.

2 . The method of claim 1 , wherein the current sample value is a luma value, wherein the first and second blocks are coding tree units, CTUs, having a vertical size, CtbSizeY, wherein the current sample has a vertical location, y, within the first CTU, wherein the virtual boundary is a virtual horizontal boundary at y=CtbSizeY-4 given in samples of the CTU where the top row of the CTU is row 0, and wherein the steps of reducing the filter strength and the adaptive loop filtering are performed for the luma samples having a vertical location y=CtbSize Y-4 or y=CtbSizeY-5.

3 . A non-transitory computer readable storage medium storing a computer program comprising instructions for configuring a decoder to perform the method of claim 1 .

4 . A decoder, the decoder comprising:

memory; and

processing circuitry, wherein the decoder is configured to perform a method comprising:

obtaining a set of sample values associated with the image, the set of sample values comprising a current sample value and sample values neighboring the current sample value, wherein the obtained set of sample values is included within a first block of sample values;

determining a relative location of the current sample value with respect to a virtual boundary, wherein the virtual boundary is defined with respect to a block boundary between the first block of sample values and a second block of sample values, wherein the virtual boundary is parallel with the block boundary and separated from the block boundary by at least one row or column of sample values included in the first block of sample values; and

as a result of determining that the current sample is at the virtual boundary or is one row or column away from the virtual boundary:

reducing a filter strength for adaptive loop filtering of the current sample value by increasing a right shift value, wherein an increase of the right shift value by N reduces a contribution from adaptive loop filtering by a factor of 2{circumflex over ( )}N; and

adaptive loop filtering the current sample value based on the increased right shift value.

5 . The decoder of claim 4 , wherein the current sample value is a luma value, wherein the first and second blocks are coding tree units, CTUs, having a vertical size, CtbSizeY, wherein the current sample has a vertical location, y, within the first CTU, wherein the virtual boundary is a virtual horizontal boundary at y=CtbSizeY-4 given in samples of the CTU where the top row of the CTU is row 0, and wherein the steps of reducing the filter strength and the adaptive loop filtering are performed for the luma samples having a vertical location y=CtbSize Y-4 or y=CtbSizeY-5.

6 . A method for encoding an image of a video sequence, the method comprising:

obtaining a set of sample values associated with the image, the set of sample values comprising a current sample value and sample values neighboring the current sample value, wherein the obtained set of sample values is included within a first block of sample values;

determining a relative location of the current sample value with respect to a virtual boundary, wherein the virtual boundary is defined with respect to a block boundary between the first block of sample values and a second block of sample values, wherein the virtual boundary is parallel with the block boundary and separated from the block boundary by at least one row or column of sample values included in the first block of sample values; and

as a result of determining that the current sample is at the virtual boundary or is one row or column away from the virtual boundary:

reducing a filter strength for adaptive loop filtering of the current sample value by increasing a right shift value, wherein an increase of the right shift value by N reduces a contribution from adaptive loop filtering by a factor of 2{circumflex over ( )}N, and

adaptive loop filtering the current sample value based on the increased right shift value.

7 . A non-transitory computer readable storage medium storing a computer program comprising instructions for configuring an encoder to perform the method of claim 6 .

8 . An encoder, the encoder comprising:

memory; and

processing circuitry, wherein the encoder is configured to perform a method comprising:

obtaining a set of sample values associated with the image, the set of sample values comprising a current sample value and sample values neighboring the current sample value, wherein the obtained set of sample values is included within a first block of sample values;

determining a relative location of the current sample value with respect to a virtual boundary, wherein the virtual boundary is defined with respect to a block boundary between the first block of sample values and a second block of sample values, wherein the virtual boundary is parallel with the block boundary and separated from the block boundary by at least one row or column of sample values included in the first block of sample values; and

as a result of determining that the current sample is at the virtual boundary or is one row or column away from the virtual boundary:

reducing a filter strength for adaptive loop filtering of the current sample value by increasing a right shift value, wherein an increase of the right shift value by N reduces a contribution from adaptive loop filtering by a factor of 2{circumflex over ( )}N, and

adaptive loop filtering the current sample value based on the increased right shift value.