US 12,262,043 B2
Content adaptive deblocking during video encoding and decoding
Xiaoyan Sun, Beijing (CN); Zhiwei Xiong, Beijing (CN); and Feng Wu, Beijing (CN)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jan. 11, 2024, as Appl. No. 18/410,863.
Application 18/410,863 is a continuation of application No. 17/983,287, filed on Nov. 8, 2022, abandoned.
Application 17/983,287 is a continuation of application No. 17/188,784, filed on Mar. 1, 2021, granted, now 11,528,499, issued on Dec. 13, 2022.
Application 17/188,784 is a continuation of application No. 16/404,534, filed on May 6, 2019, granted, now 10,965,950, issued on Mar. 30, 2021.
Application 16/404,534 is a continuation of application No. 14/336,913, filed on Jul. 21, 2014, granted, now 10,284,868, issued on May 7, 2019.
Application 14/336,913 is a continuation of application No. 12/924,836, filed on Oct. 5, 2010, granted, now 8,787,443, issued on Jul. 22, 2014.
Prior Publication US 2024/0155147 A1, May 9, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04N 19/51 (2014.01); H04N 19/117 (2014.01); H04N 19/14 (2014.01); H04N 19/176 (2014.01); H04N 19/80 (2014.01); H04N 19/86 (2014.01)
CPC H04N 19/51 (2014.11) [H04N 19/117 (2014.11); H04N 19/14 (2014.11); H04N 19/176 (2014.11); H04N 19/80 (2014.11); H04N 19/86 (2014.11)] 20 Claims
OG exemplary drawing
 
1. A computer system comprising one or more processing units and memory, wherein the computer system implements a video encoder configured to perform operations comprising:
encoding a video frame of a video sequence using block-based motion-predictive encoding, thereby producing encoded data for the video frame;
reconstructing the video frame;
buffering the reconstructed video frame; and
adaptively filtering the reconstructed video frame, including:
applying a deblocking filter to at least one component of the reconstructed video frame, including applying the deblocking filter to luminance values of the reconstructed video frame, thereby producing a deblocked, reconstructed video frame; and
for a given block in the deblocked, reconstructed video frame:
selecting one of a plurality of filters to apply to the given block based at least in part on filtering performed for a neighboring block in the deblocked, reconstructed video frame, the filtering performed for the neighboring block depending on analysis of pixel values of the neighboring block; and
applying the selected filter to the given block; and
outputting, in a bitstream for at least part of the video sequence, the encoded data for the video frame.