Method and apparatus for adaptively reducing artifacts in block-coded video
AssigneeIntel Corporation
InventorsJorge E. Caviedes, Mahesh M. Subedar, Khasim S. Dudekula
Life of this patent
Estimating the term…
Abstract
Apparatus, systems and methods for adaptively reducing blocking artifacts in block-coded video are disclosed. In one implementation, a system includes processing logic at least capable of deblock filtering at least a portion of a line of video data based, at least in part, on edge information and texture information to generate at least a portion of a line of deblocked video data, and an image data output device responsive to the processing logic.
Claims36
1-21. (canceled)
A system comprising:
- memory to store a plurality of pixel values of at least a first block and a second block of a video frame, wherein the first and second blocks of the video frame comprise adjacent blocks with a block boundary therebetween;
- and
- a processor to:
- determine whether at least the first block of the video frame includes one or more edge pixels;
- determine, when the first block includes one or more edge pixels, a gradient in the first and second blocks of the video frame, the gradient comprising at least a difference between a first pixel value of the first block and a second pixel value of the second block across the block boundary with respect to the first pixel value;
- apply a first deblock filter to at least some of the plurality of pixel values when the first block includes one or more edge pixels and the gradient is less than a predetermined value;
- and
- apply a second deblock filter, different than the first deblock filter, to at least some of the plurality of pixel values when the first block does not include one or more edge pixels.
A method for decoding video comprising:
- receiving a plurality of pixel values of at least a first block and a second block of a video frame, wherein the first and second blocks of the video frame comprise adjacent blocks with a block boundary therebetween;
- determining whether at least the first block of the video frame includes one or more edge pixels;
- determining, when the first block includes one or more edge pixels, a gradient in the first and second blocks of the video frame, the gradient comprising at least a difference between a first pixel value of the first block and a second pixel value of the second block across the block boundary with respect to the first pixel value;
- applying a first deblock filter to at least some of the plurality of pixel values when the first block includes one or more edge pixels and the gradient is less than a predetermined value;
- and
- applying a second deblock filter, different than the first deblock filter, to at least some of the plurality of pixel values when the first block does not include one or more edge pixels.
At least one machine readable medium comprising a plurality of instructions that, in response to being executed on a device, cause the device to decode video by:
- receiving a plurality of pixel values of at least a first block and a second block of a video frame, wherein the first and second blocks of the video frame comprise adjacent blocks with a block boundary therebetween;
- determining whether at least the first block of the video frame includes one or more edge pixels;
- determining, when the first block includes one or more edge pixels, a gradient in the first and second blocks of the video frame, the gradient comprising at least a difference between a first pixel value of the first block and a second pixel value of the second block across the block boundary with respect to the first pixel value;
- applying a first deblock filter to at least some of the plurality of pixel values when the first block includes one or more edge pixels and the gradient is less than a predetermined value;
- and
- applying a second deblock filter, different than the first deblock filter, to at least some of the plurality of pixel values when the first block does not include one or more edge pixels.
A system comprising:
- means for receiving a plurality of pixel values of at least a first block and a second block of a video frame, wherein the first and second blocks of the video frame comprise adjacent blocks with a block boundary therebetween;
- means for determining whether at least the first block of the video frame includes one or more edge pixels;
- means for determining, when the first block includes one or more edge pixels, a gradient in the first and second blocks of the video frame, the gradient comprising at least a difference between a first pixel value of the first block and a second pixel value of the second block across the block boundary with respect to the first pixel value;
- means for applying a first deblock filter to at least some of the plurality of pixel values when the first block includes one or more edge pixels and the gradient is less than a predetermined value;
- and
- means for applying a second deblock filter, different than the first deblock filter, to at least some of the plurality of pixel values when the first block does not include one or more edge pixels.
An apparatus comprising:
- a processor to receive a plurality of pixel values of at least a first block and a second block of a video frame, wherein the first and second blocks of the video frame comprise adjacent blocks with a block boundary therebetween, to determine whether at least the first block of the video frame includes one or more edge pixels, to determine, when the first block includes one or more edge pixels, a gradient in the first and second blocks of the video frame, the gradient comprising at least a difference between a first pixel value of the first block and a second pixel value of the second block across the block boundary with respect to the first pixel value, to apply a first deblock filter to at least some of the plurality of pixel values when the first block includes one or more edge pixels and the gradient is less than a predetermined value, and to apply a second deblock filter, different than the first deblock filter, to at least some of the plurality of pixel values when the first block does not include one or more edge pixels.
Dependencies are inferred from the claim text.