Adaptive video encoding using a perceptual model
First Claim
1. In a computing device that implements a video encoder, a method comprising, with the computing device, for each of plural blocks to be encoded using adaptive inter-picture compression:
- classifying the block according to content of the block, wherein the classifying the block includes;
determining a block gradient for the block to be encoded using the adaptive inter-picture compression, including;
downsampling luminance samples for the block; and
determining a pixel gradient for each of plural pixels within the block, the pixel gradient being between one or more samples for the pixel and one or more corresponding samples for surrounding pixels, wherein the pixel gradient is quantified as a sum of differences between the samples for the pixel and the one or more corresponding samples for surrounding pixels, wherein the sum of differences is determined based upon both the luminance samples and chrominance samples for the block, and wherein the downsampling of the luminance samples is performed before the sum of differences is determined; and
evaluating the block gradient to determine a block value; and
adaptively encoding the block using adaptive inter-picture compression and depending at least in part upon the block classification, wherein the adaptive encoding includes using two or more of;
adaptive median filtering depending at least in part on the block classification, selective dropping of a last non-zero transform coefficient depending at least in part on the block classification,adaptive dead zone re-sizing depending at least in part on the block classification, orquantization step size adjustment depending at least in part on the block classification.
2 Assignments
0 Petitions
Accused Products
Abstract
A video encoder includes a region detector module that classifies blocks of video frames. An adaptive filter module applies a median filter to a block based upon a block classification assigned by the region detector module. An adaptive quantization module quantizes a block according to a quantization method adaptively determined based upon a block classification assigned by the region detection module. In one example, a video encoder adaptively determines a median filter selected using a block classification. In another example, a video encoder adaptively determines whether to drop an isolated last transform coefficient based on the block classification, and/or applies a dead-zone selected using the block classification.
361 Citations
26 Claims
-
1. In a computing device that implements a video encoder, a method comprising, with the computing device, for each of plural blocks to be encoded using adaptive inter-picture compression:
-
classifying the block according to content of the block, wherein the classifying the block includes; determining a block gradient for the block to be encoded using the adaptive inter-picture compression, including; downsampling luminance samples for the block; and determining a pixel gradient for each of plural pixels within the block, the pixel gradient being between one or more samples for the pixel and one or more corresponding samples for surrounding pixels, wherein the pixel gradient is quantified as a sum of differences between the samples for the pixel and the one or more corresponding samples for surrounding pixels, wherein the sum of differences is determined based upon both the luminance samples and chrominance samples for the block, and wherein the downsampling of the luminance samples is performed before the sum of differences is determined; and evaluating the block gradient to determine a block value; and adaptively encoding the block using adaptive inter-picture compression and depending at least in part upon the block classification, wherein the adaptive encoding includes using two or more of; adaptive median filtering depending at least in part on the block classification, selective dropping of a last non-zero transform coefficient depending at least in part on the block classification, adaptive dead zone re-sizing depending at least in part on the block classification, or quantization step size adjustment depending at least in part on the block classification.
-
-
2. In a computing device that implements a video encoder, a method comprising, with the computing device, for each of plural blocks:
-
classifying the block according to its content, wherein the classifying the block includes; determining a block gradient, including determining a pixel gradient for each of plural pixels within the block, wherein the pixel gradient is quantified as a sum of differences between samples from the pixel and corresponding samples from neighboring pixels, and wherein the samples include both luminance and chrominance samples; and evaluating the block gradient to determine a block value; and adaptively encoding the block using adaptive inter-picture compression and depending at least in part upon the block classification, wherein the adaptive encoding includes using selective dropping of a last non-zero transform coefficient, wherein the selective dropping of a last non-zero coefficient depends at least in part on the block classification and a number of consecutive zero coefficients preceding the last non-zero coefficient in a zig-zag scan, and wherein the adaptive encoding further includes using one or more of; adaptive median filtering, adaptive dead zone re-sizing, or quantization step size adjustment. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. In a computing device that implements a video encoder, a method comprising:
with the computing device that implements the video encoder, for each of plural blocks of video data, classifying the block according to content of the block and adaptively encoding the block based at least in part upon the block classification, wherein the adaptive encoding includes selective dropping of a last non-zero transform coefficient depending at least in part on the block classification, wherein the selective dropping of a last non-zero coefficient further depends at least in part on a number of consecutive zero coefficients preceding the last non-zero coefficient in a zig-zag scan, and wherein the adaptive encoding further includes using one or more of; adaptive median filtering depending at least in part on the block classification, adaptive dead zone re-sizing depending at least in part on the block classification, or quantization step size adjustment depending at least in part on the block classification. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
21. A computing device that implements a video encoder, the computing device comprising a processor, memory and storage that stores computer-executable instructions for causing the processor to perform a method comprising, for each of plural blocks of video data:
classifying the block according to content of the block and adaptively encoding the block based at least in part upon the block classification, wherein the adaptive encoding includes selective dropping of a last non-zero transform coefficient depending at least in part on the block classification, wherein the selective dropping of a last non-zero coefficient further depends at least in part on a number of consecutive zero coefficients preceding the last non-zero coefficient in a zig-zag scan, and wherein the adaptive encoding further includes using one or more of; adaptive median filtering depending at least in part on the block classification, adaptive dead zone re-sizing depending at least in part on the block classification, or quantization step size adjustment depending at least in part on the block classification.
-
22. A computing device that implements a video encoder, the computing device comprising a processor, memory and storage that stores computer-executable instructions for causing the processor to perform a method comprising, for each of plural non-encoded blocks to be encoded using adaptive inter-picture compression:
-
classifying the block according to content of the block, wherein the classifying the block includes; determining a block gradient for the block to be encoded using the adaptive inter-picture compression, including; downsampling luminance samples for the block; and determining a pixel gradient for each of plural pixels within the block, the pixel gradient being between one or more samples for the pixel and one or more corresponding samples for surrounding pixels, wherein the pixel gradient is quantified as a sum of differences between the one or more samples for the pixel and the one or more corresponding samples for surrounding pixels, wherein the sum of differences is determined based upon both the luminance samples and chrominance samples for the block, and wherein the downsampling of the luminance samples is performed before the sum of differences is determined; and evaluating the block gradient to determine a block value; and adaptively encoding the block using the adaptive inter-picture compression and depending at least in part upon the block classification, wherein the adaptive encoding includes using two or more of; adaptive median filtering depending at least in part on the block classification, selective dropping of a last non-zero transform coefficient depending at least in part on the block classification, adaptive dead zone re-sizing depending at least in part on the block classification, or quantization step size adjustment depending at least in part on the block classification.
-
-
23. In a computing device that implements a video encoder, a method comprising, with the computing device, for each of plural non-encoded blocks to be encoded using adaptive inter-picture compression:
-
classifying the block according to its content, wherein the classifying the block includes; determining a block gradient, including determining a pixel gradient for each of plural pixels within the block, the pixel gradient between one or more samples for the pixel and one or more corresponding samples from surrounding pixels; and evaluating the block gradient to determine a block value, wherein the evaluating comprises ordering pixel gradient values numerically and selecting a median value as the block value; and adaptively encoding the block using the adaptive inter-picture compression and depending at least in part upon the block classification, wherein the adaptive encoding includes using selective dropping of a last non-zero coefficient, wherein the selective dropping of a last non-zero coefficient depends at least in part on a number of consecutive zero coefficients preceding the last non-zero coefficient in a zig-zag scan, and wherein the adaptive encoding further includes using one or more of; adaptive median filtering, adaptive dead zone re-sizing, or quantization step size adjustment. - View Dependent Claims (24, 25, 26)
-
Specification