Universal blockiness correction
First Claim
Patent Images
1. A device comprising:
- a processor;
a memory coupled with a processor;
the processor operative to implement a set of instructions to commandeer an in-loop deblocking filtering engine and to universally correct blockiness in a decoded output signal during a post-loop filtering operation using the in-loop deblocking filtering engine, wherein universally correcting blockiness comprises;
determine tile edges of inter macroblocks;
turning on the in-loop deblocking filtering engine for tile edges not located on a block boundary of a respective inter macroblock to correct inherited blockiness;
performing a strong filtering operation on skipped inter macroblocks by reducing all quantization step size thresholds by a constant, increasing a first filter offset, and increasing a second filter offset, wherein the skipped inter macroblocks are not coded and exclude motion vector and texture information in bitstream;
performing the strong filtering operation on inter macroblocks that are not skipped but for which a coded block pattern is equal to zero by reducing all quantization step size thresholds by the constant, increasing the first filter offset, and increasing the second filter offset;
determine tile edges of intra macroblocks,correcting the blockiness for the intra macroblocks using a calculated boundary strength based on a plurality of quantization step size thresholds and applying the post-loop filtering operation according to the calculated boundary strength on pixels around the block boundary of respective intra macroblocks; and
wherein the calculated boundary strength is equal to an integer greater than zero, when the determined tile edges of intra macroblocks are on the block boundary of respective intra macroblocks and the calculated boundary strength is equal to zero, when the determined tile edges are not on the block boundary of respective intra macroblocks.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques to remove inherited blockiness with a low million instructions per second (MIPs) are provided. In one configuration, a device comprises a processor operative to implement a set of instructions to universally correct blockiness. The processor commandeers the in-loop deblocking filtering engine and universally corrects blockiness, including inherited blockiness, using the in-loop deblocking filtering engine.
-
Citations
11 Claims
-
1. A device comprising:
-
a processor; a memory coupled with a processor; the processor operative to implement a set of instructions to commandeer an in-loop deblocking filtering engine and to universally correct blockiness in a decoded output signal during a post-loop filtering operation using the in-loop deblocking filtering engine, wherein universally correcting blockiness comprises; determine tile edges of inter macroblocks; turning on the in-loop deblocking filtering engine for tile edges not located on a block boundary of a respective inter macroblock to correct inherited blockiness; performing a strong filtering operation on skipped inter macroblocks by reducing all quantization step size thresholds by a constant, increasing a first filter offset, and increasing a second filter offset, wherein the skipped inter macroblocks are not coded and exclude motion vector and texture information in bitstream; performing the strong filtering operation on inter macroblocks that are not skipped but for which a coded block pattern is equal to zero by reducing all quantization step size thresholds by the constant, increasing the first filter offset, and increasing the second filter offset; determine tile edges of intra macroblocks, correcting the blockiness for the intra macroblocks using a calculated boundary strength based on a plurality of quantization step size thresholds and applying the post-loop filtering operation according to the calculated boundary strength on pixels around the block boundary of respective intra macroblocks; and wherein the calculated boundary strength is equal to an integer greater than zero, when the determined tile edges of intra macroblocks are on the block boundary of respective intra macroblocks and the calculated boundary strength is equal to zero, when the determined tile edges are not on the block boundary of respective intra macroblocks. - View Dependent Claims (2, 3)
-
-
4. An integrated circuit comprising:
-
a decoder having an in-loop deblocking filtering engine; a processor; a memory coupled with the processor; the processor operative to implement a set of instructions to commandeer an in-loop deblocking filtering engine and to universally correct blockiness in a decoded output signal during a post-loop filtering operation using the in-loop deblocking filtering engine, wherein universally correcting blockiness comprises; determine tile edges of inter macroblocks; turning on the in-loop deblocking filtering engine for tile edges not located on a block boundary of respective inter macroblocks to correct inherited blockiness; performing a strong filtering operation on skipped inter macroblocks by reducing all quantization step size thresholds by a constant, increasing a first filter offset, and increasing a second filter offset, wherein the skipped inter macroblocks are not coded and exclude motion vector and texture information in bitstream; performing the strong filtering operation on inter macroblocks that are not skipped but for which a coded block pattern is equal to zero by reducing all quantization step size thresholds by the constant, increasing the first filter offset, and increasing the second filter offset; determine tile edges of intra macroblocks, correcting the blockiness for the intra macroblocks using a calculated boundary strength based on a plurality of quantization step size thresholds and applying the post-loop filtering operation according to the calculated boundary strength on pixels around the block boundary of respective intra macroblocks; and wherein the calculated boundary strength is equal to an integer greater than zero, when the determined tile edges of intra macroblocks are on the block boundary of respective intra macroblocks and the calculated boundary strength is equal to zero, when the determined tile edges are not on the block boundary of respective intra macroblocks. - View Dependent Claims (5, 6)
-
-
7. An apparatus comprising:
-
decoding means for decoding and having filtering means for in-loop deblocking filtering;
commandeering means for commandeering the filtering means; andcorrecting means for universally correcting blockiness in a decoded output signal during a post-loop filtering operation using the filtering means, wherein the correcting means is configured to; turn on the in-loop deblocking filtering for tile edges not located on a block boundary of a respective inter macroblock to correct inherited blockiness; and perform a strong filtering operation on skipped inter macroblocks by reducing all quantization step size thresholds by a constant, increasing a first filter offset, and increasing a second filter offset, wherein the skipped inter macroblocks are not coded and exclude motion vector and texture information in bitstream; perform the strong filtering operation on inter macroblocks that are not skipped but for which a coded block pattern is equal to zero by reducing all quantization step size thresholds by the constant, increasing the first filter offset, and increasing the second filter offset; determine tile edges of intra macroblocks, correct the blockiness for the intra macroblocks using a calculated boundary strength based on a plurality of quantization step size thresholds and apply the post-loop filtering operation according to the calculated boundary strength on pixels around the block boundary of respective intra macroblocks; and wherein the calculated boundary strength is equal to an integer greater than zero, when the determined tile edges of intra macroblocks are on the block boundary of respective intra macroblocks and the calculated boundary strength is equal to zero, when the determined tile edges are not on the block boundary of respective intra macroblocks.
-
-
8. A non-transitory computer readable medium storing instructions for causing one or more processors to:
-
commandeer an in-loop deblocking filtering engine; and
universally correct blockiness in a decoded output signal during a post-loop filtering operation using the in-loop deblocking filtering engine, wherein instructions for universally correcting blockiness comprises instructions for causing the computer to;determine tile edges of inter macroblocks; turn on the in-loop deblocking filtering engine for tile edges not located on a block boundary of respective inter macroblocks to correct inherited blockiness; perform a strong filtering operation on skipped inter macroblocks by reducing all quantization step size thresholds by a constant, increasing a first filter offset, and increasing a second filter offset, wherein the skipped inter macroblocks are not coded and exclude motion vector and texture information in bitstream; perform the strong filtering operation on inter macroblocks that are not skipped but for which a coded block pattern is equal to zero by reducing all quantization step size thresholds by the constant, increasing the first filter offset, and increasing the second filter offset; determine tile edges of intra macroblocks, correct the blockiness for the intra macroblocks using a calculated boundary strength based on a plurality of quantization step size thresholds and apply the post-loop filtering operation according to the calculated boundary strength on pixels around the block boundary of respective intra macroblocks; and wherein the calculated boundary strength is equal to an integer greater than zero, when the determined tile edges of intra macroblocks are on the block boundary of respective intra macroblocks and the calculated boundary strength is equal to zero, when the determined tile edges are not on the block boundary of respective intra macroblocks. - View Dependent Claims (9, 10)
-
-
11. A method comprising:
-
commandeering an in-loop deblocking filtering engine; and correcting blockiness in a decoded output signal during a post-loop filtering operation using the commandeered in-loop deblocking filtering engine, wherein correcting blockiness comprises; determining tile edges of inter macroblocks; turning on the in-loop deblocking filtering engine for tile edges not located on a block boundary of a respective inter macroblocks to correct inherited blockiness; performing a strong filtering operation on skipped inter macroblocks by reducing all quantization step size thresholds by a constant, increasing a first filter offset, and increasing a second filter offset, wherein the skipped inter macroblocks are not coded and exclude motion vector and texture information in bitstream; performing the strong filtering operation on inter macroblocks that are not skipped but for which a coded block pattern is equal to zero by reducing all quantization step size thresholds by the constant, increasing the first filter offset, and increasing the second filter offset; determining tile edges of intra macroblocks; correcting the blockiness for the intra macroblocks using a calculated boundary strength based on a plurality of quantization step size thresholds and applying the post-loop filtering operation according to the calculated boundary strength on pixels around the block boundary of respective intra macroblocks; and wherein the calculated boundary strength is equal to an integer greater than zero, when the determined tile edges of intra macroblocks are on the block boundary of respective intra macroblocks and the calculated boundary strength is equal to zero, when the determined tile edges are not on the block boundary of respective intra macroblocks.
-
Specification