Video encoder with transform size preprocessing and methods for use therewith
US-9591313-B2 · Mar 7, 2017 · US
US2017201769A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017201769-A1 |
| Application number | US-201614992820-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 11, 2016 |
| Priority date | Jan 11, 2016 |
| Publication date | Jul 13, 2017 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An example method includes determining a respective variance value for pixels of each respective sub-block of at least four sub-blocks of a current block of video data of a particular block size; determining an average of the determined variance values for the at least four sub-blocks; determining a maximum difference value for the current block based on the average and the variance values for the at least four sub-blocks; determining whether pixels of the current block are homogeneous based on whether the maximum difference value for the current block satisfies a threshold difference value; and in response to determining that the pixels of the current block are homogeneous, selectively including block sizes that are greater than or equal to a threshold block size in a sub-set of block sizes to evaluate for use when intra encoding the pixels of the current block.
Opening claim text (preview).
What is claimed is: 1 . A method for encoding video data, the method comprising: determining, by a video encoder, a respective variance value for pixels of each respective sub-block of at least four sub-blocks of a current block of video data of a particular block size of a plurality of block sizes; determining, by the video encoder, an average of the determined variance values for the at least four sub-blocks; determining, by the video encoder, a maximum difference value for the current block based on the determined average and the determined variance values for the at least four sub-blocks; determining, by the video encoder, whether pixels of the current block are homogeneous based on whether the maximum difference value for the current block satisfies a threshold difference value; in response to determining that the pixels of the current block are homogeneous, selectively including, by the video encoder, block sizes of the plurality of block sizes that are greater than or equal to a threshold block size of the plurality of block sizes in a sub-set of block sizes to evaluate for use when intra encoding the pixels of the current block; and evaluating block sizes in the sub-set of block sizes for use when intra encoding the pixels of the current block. 2 . The method of claim 1 , wherein the threshold block size is a first threshold block size, the method further comprising: in response to determining that the pixels of the current block are not homogeneous, selectively including block sizes of the plurality of block sizes that are less than or equal to a second threshold block size of the plurality of block sizes in the sub-set of block sizes to evaluate for use when intra encoding the pixels of the current block. 3 . The method of claim 2 , wherein the first threshold block size equals the second threshold block size. 4 . The method of claim 2 , wherein the first threshold block size is different than the second threshold block size. 5 . The method of claim 1 , wherein the threshold block size is a first threshold block size, the method further comprising, in response to determining that the pixels of the current block in the particular block size are not homogeneous: dividing a current sub-block of the at least four sub-blocks of video data into at least four second sub-blocks of video data; determining a respective variance value for each respective second sub-block of the at least four second sub-blocks; determining an average of the determined variance values for the at least four second sub-blocks; determining a maximum difference value for the current sub-block based on the determined average and the determined variance values for the at least four second sub-blocks; determining, based on the maximum difference value for the current sub-block, whether pixels of the current sub-block are homogeneous; and in response to determining that the pixels of the current sub-block are homogeneous, selectively including block sizes of the plurality of block sizes that are greater than or equal to a second threshold block size of the plurality of block sizes but less than the first threshold block size in a sub-set of block sizes to evaluate for use when intra encoding the pixels of the current sub-block. 6 . The method of claim 5 , further comprising: in response to determining that the pixels of the current sub-block are not homogeneous, selectively including block sizes of the plurality of block sizes that are less than or equal to a third threshold block size of the plurality of block sizes in the sub-set of block sizes to evaluate for use when intra encoding the pixels of the current sub-block. 7 . The method of claim 1 , further comprising: determining, for the current block, a horizontal sum of absolute differences (SAD) value using a first pixel in each respective row of the current block as a predictor for the respective row; determining, for the current block, a vertical SAD value using a first pixel in each respective column of the current block as a predictor for the respective column, wherein the determination of whether the pixels of the current block are homogeneous is further based on whether a lesser of the horizontal SAD value and the vertical SAD value satisfies a threshold SAD value. 8 . The method of claim 7 , further comprising: determining a variance value for the current block, wherein the determination of whether the pixels of the current block are homogeneous is further based on whether the variance value for the current block satisfies a threshold variance value. 9 . The method of claim 8 , wherein determining whether the pixels of the current block are homogeneous comprises determining that the pixels of the current block are homogeneous in response to determining that: the maximum difference value for the current block is less than the threshold difference value, the lesser of the horizontal SAD value and the vertical SAD value is less than the threshold SAD value, or the variance value for the current block is less than the threshold variance value. 10 . The method of claim 8 , wherein the threshold difference value, the threshold SAD value, and the threshold variance value are fixed. 11 . The method of claim 8 , further comprising: adaptively determining one or more of the threshold difference value, the threshold SAD value, and the threshold variance value. 12 . The method of claim 1 , wherein evaluating the block sizes in the sub-set of block sizes comprises: determining a respective rate-distortion (RD) cost for each respective block size in the sub-set of block sizes, the method further comprising: encoding, in a coded video bitstream, an indication that at least a portion of the pixels of the current block are intra encoded using the block size in the sub-set of block sizes with the lowest RD cost. 13 . A video encoding device comprising: a memory configured to store a current block of video data; and one or more processors configured to: determine a respective variance value for pixels of each respective sub-block of at least four sub-blocks of the current block of video data of a particular block size of a plurality of block sizes; determine an average of the determined variance values for the at least four sub-blocks; determine a maximum difference value for the current block based on the determined average and the determined variance values for the at least four sub-blocks; determine whether pixels of the current block are homogeneous based on whether the maximum difference value for the current block satisfies a threshold difference value; selectively include, in response to determining that the pixels of the current block are homogeneous, block sizes of the plurality of block sizes that are greater than or equal to a threshold block size of the plurality of block sizes in a sub-set of block sizes to evaluate for use when intra encoding the pixels of the current block; and evaluate block sizes in the sub-set of block sizes for use when intra encoding the pixels of the current block. 14 . The video encoding device of claim 13 , wherein the threshold block size is a first threshold block size, and wherein the one or more processors are further configured to: selectively include, in response to determining that the pixels of the current block are not homogeneous, block sizes of the plurality of block sizes that are less than or equal to a second threshold block size of the plurality of block sizes in the sub-set of block sizes to evaluate for use when intra encoding the pixels of the current block. 15 . The
involving spatial prediction techniques · CPC title
Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks · CPC title
according to rate distortion criteria (rate-distortion as a criterion for motion estimation H04N19/567) · CPC title
among a plurality of spatial predictive coding modes · CPC title
Coding unit complexity, e.g. amount of activity or edge presence estimation (H04N19/146 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.