IP Library › Granted Patent US 11,917,144
Granted Patent B2
US 11,917,144 · App. 17/844,034 · Granted Feb 27, 2024

Efficient in-loop filtering for video coding

Inventors: Yueh-Lin Wu (Hsinchu, TW); Min-Hao Chiu (Hsinchu, TW); Yen-Chieh Huang (Hsinchu, TW)
Assignee: MediaTek Inc.
H04N19/117H04N19/159H04N19/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 11,917,144
App. No.
17/844,034
Granted
Feb 27, 2024
Kind
B2
Abstract

Various schemes for realizing efficient in-loop filtering are described, manifested in low latency and reduced hardware cost for an in-loop filter comprising at least two filtering stages. An apparatus receives pixel data of a current block of a picture and one or more neighboring blocks thereof, based on which the apparatus performs a filtering operation and generates a filtered block that includes completely filtered sub-blocks and partially filtered sub-blocks. The apparatus further outputs an output block that includes the completely filtered sub-blocks as well as a respective portion of each of the partially filtered sub-blocks, wherein the respective portion is adjacent to one of the completely filtered sub-blocks.

Claims (74)

1. A method of processing a current block of a picture, comprising:

receiving pixel data of the current block;

receiving pixel data of one or more neighboring blocks of the current block;

generating a filtered block by performing a filtering operation to the current block using the pixel data of the current block and the pixel data of the one or more neighboring blocks, the filtered block comprising one or more completely filtered sub-blocks and one or more partially filtered sub-blocks; and

outputting an output block, the output block comprising the one or more completely filtered sub-blocks and a respective portion of each of the one or more partially filtered sub-blocks, the respective portion being adjacent to one of the completely filtered sub-blocks,

wherein the filtering operation comprises a deblocking operation, the picture comprises a reconstructed picture using block-based intra-picture or inter-picture prediction, and the performing of the filtering operation comprises either or both of:

performing a horizontal filtering operation along at least one vertical deblocking boundary of the block, and

performing a vertical filtering operation along at least one horizontal deblocking boundary of the block,

the horizontal filtering operation comprises, on each of two sides of the at least one vertical deblocking boundary, referencing a first number of pixels and revising a second number of pixels, and

the vertical filtering operation comprises, on each of two sides of the at least one horizontal deblocking boundary, referencing a third number of pixels and revising a fourth number of pixels.

2. The method of claim 1 , wherein:

the one or more neighboring blocks comprise a first neighboring block immediately above the current block and a second neighboring block immediately left to the current block,

the one or more partially filtered sub-blocks comprise three partially filtered sub-blocks that overlap with the current block and two partially filtered sub-blocks that respectively overlap with the first and second neighboring blocks, and

the respective portions of the partially filtered sub-blocks collectively form an L-shaped area.

3. The method of claim 1 , wherein:

the one or more neighboring blocks comprise a neighboring block immediately left to the current block,

the one or more partially filtered sub-blocks comprise a partially filtered sub-block that overlaps with the current block, and

the respective portion of the partially filtered sub-block comprises a rectangular area.

4. The method of claim 1 , wherein:

the performing of the filtering operation comprises performing the horizontal filtering operation,

the respective portion comprises a rectangular area having a horizontal dimension of a fifth number of pixels, and

the fifth number is equal to a difference between the first number and the second number.

5. The method of claim 1 , wherein:

the performing of the filtering operation comprises performing the vertical filtering operation,

the respective portion comprises a rectangular area having a vertical dimension of a sixth number of pixels, and

the sixth number is equal to a difference between the third number and the fourth number.

6. The method of claim 1 , wherein:

the performing of the filtering operation comprises performing both the horizontal filtering operation and the vertical filtering operation; and

the respective portions of the partially filtered sub-blocks collectively form an L-shaped area comprising a first segment having a width of a fifth number of pixels and a second segment having a width of a sixth number of pixels,

the fifth number is equal to a difference between the first number and the second number, and

the sixth number is equal to a difference between the third number and the fourth number.

7. The method of claim 1 , wherein the pixel data of the one or more neighboring blocks comprises a first set of pixel data, and wherein the filtering operation comprises a first filtering operation, the method further comprising:

receiving a second set of pixel data of the one or more neighboring blocks,

performing a second filtering operation for each pixel of the one or more completely filtered sub-blocks using pixel data of the output block, the second set of pixel data, or both, wherein the second filtering operation comprises:

referencing a seventh number of pixels adjacent to the respective pixel of the one or more completely filtered sub-blocks in each of a left direction, a right direction, a top direction, and a bottom direction; and

revising the respective pixel of the one or more completely filtered sub-blocks based on the referencing.

8. The method of claim 7 , wherein:

the respective portions of the partially filtered sub-blocks collectively form an L-shaped area comprising a first segment having a width of a fifth number of pixels and a second segment having a width of a sixth number of pixels,

the second filtering operation further comprises referencing the seventh number of pixels adjacent to the respective pixel of the one or more completely filtered sub-blocks in each of a top-left direction, a top-right direction, a bottom-left direction, and a bottom-right direction, and

the seventh number is equal to the fifth number and the sixth number.

9. The method of claim 7 , wherein:

the deblocking operation is performed by a first filter,

the second filtering operation comprises a de-ringing operation performed by a second filter,

the second filter comprises a sample adaptive offset (SAO) filter or a constrained directional enhancement filter (CDEF), and

the first and second filters are configured to process the picture using a block-based pipeline process.

10. An apparatus, comprising:

an input module configured to receive a current block of a picture;

a neighboring block buffer configured to store a first set of pixel data of one or more neighboring blocks of the current block;

a deblocking filter configured to perform a deblocking operation to the current block using pixel data of the current block and the first set of pixel data of the one or more neighboring blocks;

a filtered block buffer configured to store one or more completely filtered sub-blocks and one or more partially filtered sub-blocks; and

an output module configured to output an output block comprising the one or more completely filtered sub-blocks and a respective portion of each of the one or more partially filtered sub-blocks, the respective portion being adjacent to one of the completely filtered sub-blocks, wherein the deblocking filter is configured to perform the deblocking operation along at least one vertical or horizontal deblocking boundary of the current block by referencing a first number of pixels and revising a second number of pixels on each of two sides of the at least one vertical or horizontal deblocking boundary, and wherein:

the respective portion comprises a rectangular area having a width or length of a third number of pixels, and

the third number is equal to a difference between the first number and the second number.

11. The apparatus of claim 10 , wherein:

the one or more neighboring blocks comprise a first neighboring block immediately above the current block and a second neighboring block immediately left to the current block,

the deblocking operation comprises a horizontal filtering operation and a vertical filtering operation,

the one or more partially filtered sub-blocks comprise three partially filtered sub-blocks that overlap with the current block and two partially filtered sub-blocks that respectively overlap with the first and second neighboring blocks, and

the respective portions of the partially filtered sub-blocks collectively form an L-shaped area.

12. The apparatus of claim 10 , wherein:

the one or more neighboring blocks comprise a neighboring block immediately left to the current block,

the deblocking operation comprises a horizontal filtering operation,

the one or more partially filtered sub-blocks comprise a partially filtered sub-block that overlaps with the current block, and

a respective portion of a partially filtered sub-block comprises a rectangular area.

13. The apparatus of claim 10 , wherein:

the respective portions of the partially filtered sub-blocks collectively form an L-shaped area comprising a first segment and a second segment each having a width of the third number of pixels.

14. The apparatus of claim 10 , wherein:

the neighboring block buffer is further configured to store a second set of pixel data of the one or more neighboring blocks,

the apparatus further comprising:

a de-ringing filter configured to perform a de-ringing operation for each pixel of the one or more completely filtered sub-blocks using pixel data of the output block and the second set of pixel data of the one or more neighboring blocks.

15. The apparatus of claim 14 , wherein the de-ringing filter is configured to perform the de-ringing operation by referencing a seventh number of pixels adjacent to each pixel of the one or more completely filtered sub-blocks in each of a left direction, a right direction, a top direction, and a bottom direction and revising the respective pixel of the one or more completely filtered sub-blocks based on the referencing.

16. The apparatus of claim 15 , wherein the de-ringing filter is configured to perform the de-ringing operation by further referencing the seventh number of pixels adjacent to the respective pixel of the one or more completely filtered sub-blocks in each of a top-left direction, a top-right direction, a bottom-left direction, and a bottom-right direction.

17. The apparatus of claim 14 , wherein:

the de-ringing filter comprises a sample adaptive offset (SAO) filter or a constrained directional enhancement filter (CDEF), and

the deblocking filter and the de-ringing filter are configured to process the picture using a block-based pipeline process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2022
From: WU, YUEH-LIN; CHIU, MIN-HAO; HUANG, YEN-CHIEH
To: MEDIATEK INC.
Reel/Frame 060244/0310 →
Continuity (2)
Provisional Application 63249633 · Sep 29, 2021
Related Publication 20230412800A1 · Dec 21, 2023
Cited By (1)
US 12,720,121