IP Library Granted Patent US 10,708,591
Granted Patent B2
US 10,708,591 · App. 15/925,310 · Granted Jul 7, 2020

Enhanced deblocking filtering design in video coding

Inventors: Li Zhang (San Diego, CA); Yu-Chen Sun (Bellevue, WA); Wei-Jung Chien (San Diego, CA); Jianle Chen (San Diego, CA); Kai Zhang (San Diego, CA); Yi-Wen Chen (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: Qualcomm Incorporated
H04N19/117H04N19/107H04N19/119H04N19/154H04N19/176H04N19/82H04N19/86H04N19/96
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 10,708,591
App. No.
15/925,310
Granted
Jul 7, 2020
Kind
B2
Abstract

A video encoder reconstructs pixels of a current block and applies a deblocking filter to the reconstructed pixels of the current block to derive deblocking-filtered reconstructed pixels of the current block. Furthermore, the video encoder calculates distortion values based on values of the deblocking-filtered reconstructed pixels of the current block and original pixels of the current block. The video encoder selects, based on the calculated distortion values, an encoding mode for the current block. The encoding mode for the current block is a partitioning mode for the current block or a coding unit mode for the current block.

Claims (118)

1. A method of encoding video data, the method comprising:

reconstructing pixels of a current block of a current picture of video data;

applying a deblocking filter to the reconstructed pixels of the current block of the current picture to derive deblocking-filtered reconstructed pixels of the current block of the current picture;

calculating distortion values based on values of the deblocking-filtered reconstructed pixels of the current block of the current picture and original pixels of the current block of the current picture; and

selecting, based on the calculated distortion values, an encoding mode for the current block of the current picture, the encoding mode for the current block of the current picture being a partitioning mode for the current block of the current picture or a coding unit mode for the current block of the current picture.

2. The method of claim 1 , wherein calculating the distortion values comprises calculating the distortion values based on the values of the original pixels and only those ones of the deblocking-filtered reconstructed pixels that are within the current block.

3. The method of claim 1 , wherein:

the reconstructed pixels are a first set of reconstructed pixels and the deblocking-filtered reconstructed pixels are a first set of deblocking-filtered reconstructed pixels,

and wherein the method further comprises:

for each respective partitioning mode of a plurality of partitioning modes:

generating an encoded version of the current block according to the respective partitioning mode;

reconstructing pixels for the respective partitioning mode based on the encoded version of the current block according to the respective partitioning mode;

applying the deblocking filter to the reconstructed pixels for the respective partitioning mode to derive deblocking-filtered reconstructed pixels for the respective partitioning mode; and

calculating a distortion value for the respective partitioning mode based on the original pixels of the current and the deblocking-filtered reconstructed pixels for the respective partitioning mode, and

selecting the encoding mode for the current block comprises selecting, based on the distortion values for the partitioning modes in the plurality of partitioning modes, the partitioning mode for the current block from among the plurality of partitioning modes.

4. The method of claim 1 , wherein:

the reconstructed pixels are a first set of reconstructed pixels and the deblocking-filtered reconstructed pixels are a first set of deblocking-filtered reconstructed pixels,

and wherein the method further comprises:

for each respective coding unit mode of the plurality of coding unit modes:

generating an encoded version of the current block according to the respective coding unit mode;

reconstructing pixels for the respective coding unit mode based on the encoded version of the current block according to the respective coding unit mode;

applying the deblocking filter to the reconstructed pixels for the respective coding unit mode to derive deblocking-filtered reconstructed pixels for the respective coding unit mode; and

calculating a distortion value for the respective coding unit mode based on the original pixels of the current and the deblocking-filtered reconstructed pixels for the respective coding unit mode, and

selecting the encoding mode for the current block comprises selecting, based on the distortion value for the coding unit modes in the plurality of coding unit modes, the coding unit mode for the current block from among the plurality of coding unit modes.

5. The method of claim 1 , further comprising:

including, in a bitstream, a representation of the current block encoded according to the selected encoding mode for the current block.

6. The method of claim 1 , wherein the coding unit mode for the current block is either inter prediction or intra prediction.

7. The method of claim 1 , wherein the partitioning mode for the current block is one of: quad-tree based splitting, binary-tree based splitting, or no further splitting.

8. The method of claim 1 , wherein the partitioning mode for the current block is one of: symmetric splitting, asymmetric splitting, or no further splitting.

9. An apparatus for encoding video data, the apparatus comprising:

one or more storage media configured to store the video data; and

one or more processing circuits coupled to the one or more storage media, the one or more processing circuits configured to:

reconstruct pixels of a current block of a current picture of the video data;

apply a deblocking filter to the reconstructed pixels of the current block of the current picture to derive deblocking-filtered reconstructed pixels of the current block of the current picture;

calculate distortion values based on values of the deblocking-filtered reconstructed pixels of the current block of the current picture and original pixels of the current block of the current picture; and

select, based on the calculated distortion values, an encoding mode for the current block of the current picture, the encoding mode for the current block of the current picture being a partitioning mode for the current block of the current picture or a coding unit mode for the current block of the current picture.

10. The apparatus of claim 9 , wherein the one or more processing circuits are configured such that, as part of calculating the distortion values, the one or more processing circuits calculate the distortion values based on the original pixels and only those ones of the deblocking-filtered reconstructed pixels that are within the current block.

11. The apparatus of claim 9 , wherein:

the reconstructed pixels are a first set of reconstructed pixels and the deblocking-filtered reconstructed pixels are a first set of deblocking-filtered reconstructed pixels,

wherein the one or more processing circuits are further configured to:

for each respective partitioning mode of a plurality of partitioning modes:

generate an encoded version of the current block according to the respective partitioning mode;

reconstruct pixels for the respective partitioning mode based on the encoded version of the current block according to the respective partitioning mode;

apply the deblocking filter to the reconstructed pixels for the respective partitioning mode to derive deblocking-filtered reconstructed pixels for the respective partitioning mode; and

calculate a distortion value for the respective partitioning mode based on the original pixels of the current and the deblocking-filtered reconstructed pixels for the respective partitioning mode, and

wherein the one or more processing circuits are configured such that, as part of selecting the encoding mode for the current block, the one or more processing circuits select, based on the distortion values for the partitioning modes in the plurality of partitioning modes, the partitioning mode for the current block from among the plurality of partitioning modes.

12. The apparatus of claim 9 , wherein:

the reconstructed pixels are a first set of reconstructed pixels and the deblocking-filtered reconstructed pixels are a first set of deblocking-filtered reconstructed pixels,

and wherein the one or more processing circuits are further configured to:

for each respective coding unit mode of the plurality of coding unit modes:

generate an encoded version of the current block according to the respective coding unit mode;

reconstruct pixels for the respective coding unit mode based on the encoded version of the current block according to the respective coding unit mode;

apply the deblocking filter to the reconstructed pixels for the respective coding unit mode to derive deblocking-filtered reconstructed pixels for the respective coding unit mode; and

calculate a distortion value for the respective coding unit mode based on the original pixels of the current and the deblocking-filtered reconstructed pixels for the respective coding unit mode, and

wherein the one or more processing circuits are configured such that, as part of selecting the encoding mode for the current block, the one or more processing circuits select, based on the distortion values for the coding unit modes in the plurality of coding unit modes, the coding unit mode for the current block from among the plurality of coding unit modes.

13. The apparatus of claim 9 , wherein the one or more processors are further configured to:

include, in a bitstream, a representation of the current block encoded according to the selected encoding mode for the current block.

14. The apparatus of claim 9 , wherein the coding unit mode for the current block is either inter prediction or intra prediction.

15. The apparatus of claim 9 , wherein the partitioning mode for the current block is one of: quad-tree based splitting, binary-tree based splitting, or no further splitting.

16. The apparatus of claim 9 , wherein the partitioning mode for the current block is one of: symmetric splitting, asymmetric splitting, or no further splitting.

17. The apparatus of claim 9 , wherein the apparatus comprises:

an integrated circuit,

a microprocessor, or

a wireless communication device.

18. An apparatus for encoding video data, the apparatus comprising:

means for reconstructing pixels of a current block of a current picture of video data;

means for applying a deblocking filter to the reconstructed pixels of the current block of the current picture to derive deblocking-filtered reconstructed pixels of the current block of the current picture;

means for calculating distortion values based on values of the deblocking-filtered reconstructed pixels of the current block of the current picture and original pixels of the current block of the current picture; and

means for selecting, based on the calculated distortion values, an encoding mode for the current block of the current picture, the encoding mode for the current block of the current picture being a partitioning mode for the current block of the current picture or a coding unit mode for the current block of the current picture.

19. The apparatus of claim 18 , wherein the means for calculating the distortion values comprises means for calculating the distortion values based on the values of the original pixels and only those ones of the deblocking-filtered reconstructed pixels that are within the current block.

20. The apparatus of claim 18 , wherein:

the reconstructed pixels are a first set of reconstructed pixels and the deblocking-filtered reconstructed pixels are a first set of deblocking-filtered reconstructed pixels,

and wherein the apparatus further comprises:

for each respective partitioning mode of a plurality of partitioning modes:

means for generating an encoded version of the current block according to the respective partitioning mode;

means for reconstructing pixels for the respective partitioning mode based on the encoded version of the current block according to the respective partitioning mode;

means for applying the deblocking filter to the reconstructed pixels for the respective partitioning mode to derive deblocking-filtered reconstructed pixels for the respective partitioning mode; and

means for calculating a distortion value for the respective partitioning mode based on the original pixels of the current and the deblocking-filtered reconstructed pixels for the respective partitioning mode, and

wherein the means for selecting the encoding mode for the current block comprises means for selecting, based on the distortion values for the partitioning modes in the plurality of partitioning modes, the partitioning mode for the current block from among the plurality of partitioning modes.

21. The apparatus of claim 18 , wherein:

the reconstructed pixels are a first set of reconstructed pixels and the deblocking-filtered reconstructed pixels are a first set of deblocking-filtered reconstructed pixels,

and wherein the apparatus further comprises:

for each respective coding unit mode of the plurality of coding unit modes:

means for generating an encoded version of the current block according to the respective coding unit mode;

means for reconstructing pixels for the respective coding unit mode based on the encoded version of the current block according to the respective coding unit mode;

means for applying the deblocking filter to the reconstructed pixels for the respective coding unit mode to derive deblocking-filtered reconstructed pixels for the respective coding unit mode; and

means for calculating a distortion value for the respective coding unit mode based on the original pixels of the current and the deblocking-filtered reconstructed pixels for the respective coding unit mode, and

wherein the means for selecting the encoding mode for the current block comprises means for selecting, based on the distortion values for the coding unit modes in the plurality of coding unit modes, the coding unit mode for the current block from among the plurality of coding unit modes.

22. The apparatus of claim 18 , further comprising:

means for including, in a bitstream, a representation of the current block encoded according to the selected encoding mode for the current block.

23. The apparatus of claim 18 , wherein the coding unit mode for the current block is either inter prediction or intra prediction.

24. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors to:

reconstruct pixels of a current block of a current picture of video data;

apply a deblocking filter to the reconstructed pixels of the current block of the current picture to derive deblocking-filtered reconstructed pixels of the current block of the current picture;

calculate distortion values based on values of the deblocking-filtered reconstructed pixels of the current block of the current picture and original pixels of the current block of the current picture; and

select, based on the calculated distortion values, an encoding mode for the current block of the current picture, the encoding mode for the current block of the current picture being a partitioning mode for the current block of the current picture or a coding unit mode for the current block of the current picture.

25. The non-transitory computer-readable storage medium of claim 24 , wherein as part of causing the one or more processors to calculate the distortion values, execution of the instructions causes the one or more processors to calculate the distortion values based on the values of the original pixels and only those ones of the deblocking-filtered reconstructed pixels that are within the current block.

26. The non-transitory computer-readable storage medium of claim 24 , wherein:

the reconstructed pixels are a first set of reconstructed pixels and the deblocking-filtered reconstructed pixels are a first set of deblocking-filtered reconstructed pixels,

and wherein execution of the instructions further causes the one or more processors to:

for each respective partitioning mode of a plurality of partitioning modes:

generate an encoded version of the current block according to the respective partitioning mode;

reconstruct pixels for the respective partitioning mode based on the encoded version of the current block according to the respective partitioning mode;

apply the deblocking filter to the reconstructed pixels for the respective partitioning mode to derive deblocking-filtered reconstructed pixels for the respective partitioning mode; and

calculate a distortion value for the respective partitioning mode based on the original pixels of the current and the deblocking-filtered reconstructed pixels for the respective partitioning mode, and

as part of causing the one or more processors to select the encoding mode for the current block, execution of the instructions causes the one or more processors to select, based on the distortion values for the partitioning modes in the plurality of partitioning modes, the partitioning mode for the current block from among the plurality of partitioning modes.

27. The non-transitory computer-readable storage medium of claim 24 , wherein:

the reconstructed pixels are a first set of reconstructed pixels and the deblocking-filtered reconstructed pixels are a first set of deblocking-filtered reconstructed pixels,

and wherein execution of the instructions further causes the one or more processors to:

for each respective coding unit mode of the plurality of coding unit modes:

generate an encoded version of the current block according to the respective coding unit mode;

reconstruct pixels for the respective coding unit mode based on the encoded version of the current block according to the respective coding unit mode;

apply the deblocking filter to the reconstructed pixels for the respective coding unit mode to derive deblocking-filtered reconstructed pixels for the respective coding unit mode; and

calculate a distortion value for the respective coding unit mode based on the original pixels of the current and the deblocking-filtered reconstructed pixels for the respective coding unit mode, and

as part of causing the one or more processors to select the encoding mode for the current block, execution of the instructions causes the one or more processors to select, based on the distortion values for the coding unit modes in the plurality of coding unit modes, the coding unit mode for the current block from among the plurality of coding unit modes.

28. The non-transitory computer-readable storage medium of claim 24 , wherein execution of the instructions further causes the one or more processors to:

include, in a bitstream, a representation of the current block encoded according to the selected encoding mode for the current block.

29. The non-transitory computer-readable storage medium of claim 24 , wherein the coding unit mode for the current block is either inter prediction or intra prediction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2018
From: ZHANG, LI; SUN, YU-CHEN; CHIEN, WEI-JUNG; CHEN, JIANLE; ZHANG, KAI; CHEN, YI-WEN; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 045670/0655 →
Continuity (3)
Provisional Application 62504824 · May 11, 2017
Provisional Application 62474013 · Mar 20, 2017
Related Publication 20180270480A1 · Sep 20, 2018
Cited By (18)
US 12,212,743 US 12,238,346 US 12,244,819 US 12,284,347 US 12,284,371 US 12,341,980 US 12,356,020 US 12,382,060 US 12,395,650 US 12,418,647 US 12,425,586 US 12,432,345 US 12,477,130 US 12,513,290 US 12,537,938 US 12,581,090 US 12,666,024 US 12,689,724