Determining scalar quantizers for a signal based on a target distortion
First Claim
1. A method comprising:
- obtaining a target distortion and a transformed signal, the target distortion indicating desired signal quality, and the transformed signal comprising sub-components resulting from a source signal being transformed by a multi-resolution decomposition;
distributing the target distortion among the sub-components to produce target sub-component distortions;
determining quantizer values for the sub-components based on the target sub-component distortions; and
quantizing the sub-components with the determined quantizer values;
wherein the distributing, the determining and the quantizing are performed using one or more processors;
wherein the sub-components comprise sub-bands resulting from the source signal being transformed by a wavelet-based, frequency-dependent, multi-resolution decomposition, the target sub-component distortions comprise target sub-band distortions, and distributing the target distortion comprises distributing the target distortion among the sub-bands based on energy weights of the sub-bands;
the method further comprising ascertaining actual sub-band distortion values that result at different grades of quantization in a current sub-band, wherein determining quantizer values comprises;
if a target sub-band distortion for the current sub-band falls between at least two of the actual sub-band distortion values determined for the current sub-band, interpolating between at least two of the quantization grades based on the at least two actual sub-band distortion values to determine a quantizer value for the current sub-band corresponding to the target sub-band distortion for the current sub-band; and
wherein distributing the target distortion comprises distributing the target distortion among the sub-bands in inverse proportion to the energy weights of the sub-bands, and determining quantizer values further comprises;
determining quantizer values for the sub-bands starting at a highest resolution level and ending at a lowest resolution level of the sub-bands, andif one or more sub-bands of a current resolution level cannot satisfy one or more corresponding target sub-band distortions, redistributing an unsatisfied portion of the one or more corresponding target sub-band distortions to target sub-band distortions for lower resolution sub-bands in inverse proportion to energy weights of the lower resolution sub-bands.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus implementing systems and techniques for determining quantizer values for a signal. In general, in one implementation, a technique includes: obtaining a target distortion and a transformed signal having sub-bands resulting from a source signal being transformed by a wavelet-based decomposition; distributing the target distortion among the sub-bands based on energy weights to produce target sub-band distortions; ascertaining actual sub-band distortion values that result at different grades of quantization; determining quantizer values for the sub-bands, including interpolating between at least two of the quantization grades; and quantizing the sub-bands with the determined quantizer values. The signal may be a digital image. Additionally, in another implementation, determining the quantizer values can involve determining approximations of sub-band coefficient quantization error rather than performing the interpolation, in which case, the ascertaining operation need not be performed.
215 Citations
30 Claims
-
1. A method comprising:
-
obtaining a target distortion and a transformed signal, the target distortion indicating desired signal quality, and the transformed signal comprising sub-components resulting from a source signal being transformed by a multi-resolution decomposition; distributing the target distortion among the sub-components to produce target sub-component distortions; determining quantizer values for the sub-components based on the target sub-component distortions; and quantizing the sub-components with the determined quantizer values; wherein the distributing, the determining and the quantizing are performed using one or more processors; wherein the sub-components comprise sub-bands resulting from the source signal being transformed by a wavelet-based, frequency-dependent, multi-resolution decomposition, the target sub-component distortions comprise target sub-band distortions, and distributing the target distortion comprises distributing the target distortion among the sub-bands based on energy weights of the sub-bands; the method further comprising ascertaining actual sub-band distortion values that result at different grades of quantization in a current sub-band, wherein determining quantizer values comprises;
if a target sub-band distortion for the current sub-band falls between at least two of the actual sub-band distortion values determined for the current sub-band, interpolating between at least two of the quantization grades based on the at least two actual sub-band distortion values to determine a quantizer value for the current sub-band corresponding to the target sub-band distortion for the current sub-band; andwherein distributing the target distortion comprises distributing the target distortion among the sub-bands in inverse proportion to the energy weights of the sub-bands, and determining quantizer values further comprises; determining quantizer values for the sub-bands starting at a highest resolution level and ending at a lowest resolution level of the sub-bands, and if one or more sub-bands of a current resolution level cannot satisfy one or more corresponding target sub-band distortions, redistributing an unsatisfied portion of the one or more corresponding target sub-band distortions to target sub-band distortions for lower resolution sub-bands in inverse proportion to energy weights of the lower resolution sub-bands. - View Dependent Claims (2, 3, 4)
-
-
5. A software product tangibly embodied in a computer-readable medium, the software product comprising instructions operable to cause data processing apparatus to perform operations comprising:
-
obtaining a target distortion and a transformed signal, the target distortion indicating desired signal quality, and the transformed signal comprising sub-components resulting from a source signal being transformed by a multi-resolution decomposition; distributing the target distortion among the sub-components to produce target sub-component distortions; determining quantizer values for the sub-components based on the target sub-component distortions; and quantizing the sub-components with the determined quantizer values; wherein the sub-components comprise sub-bands resulting from the source signal being transformed by a wavelet-based, frequency-dependent, multi-resolution decomposition, the target sub-component distortions comprise target sub-band distortions, and distributing the target distortion comprises distributing the target distortion among the sub-bands based on energy weights of the sub-bands; wherein the operations further comprise ascertaining actual sub-band distortion values that result at different grades of quantization in a current sub-band, and wherein determining quantizer values comprises;
if a target sub-band distortion for the current sub-band falls between at least two of the actual sub-band distortion values determined for the current sub-band, interpolating between at least two of the quantization grades based on the at least two actual sub-band distortion values to determine a quantizer value for the current sub-band corresponding to the target sub-band distortion for the current sub-band; andwherein distributing the target distortion comprises distributing the target distortion among the sub-bands in inverse proportion to the energy weights of the sub-bands, and determining quantizer values further comprises; determining quantizer values for the sub-bands starting at a highest resolution level and ending at a lowest resolution level of the sub-bands, and if one or more sub-bands of a current resolution level cannot satisfy one or more corresponding target sub-band distortions, redistributing an unsatisfied portion of the one or more corresponding target sub-band distortions to target sub-band distortions for lower resolution sub-bands in inverse proportion to energy weights of the lower resolution sub-bands. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
obtaining a target distortion and a signal, the target distortion indicating desired signal quality; ascertaining actual distortion values that result at different grades of quantization of the signal; interpolating between at least two of the quantization grades based on at least two of the actual distortion values to determine a quantizer value corresponding to the target distortion; quantizing the signal with the determined quantizer value; presenting a preview of the quantized signal to demonstrate a result of the target distortion on the signal; and repeating the interpolating, quantizing and presenting operations, but not the ascertaining operation, in response to a change in the target distortion; wherein the interpolating, the quantizing, the presenting and the repeating are performed using one or more processors. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A software product tangibly embodied in a computer-readable medium, the software product comprising instructions operable to cause data processing apparatus to perform operations comprising:
-
obtaining a target distortion and a signal, the target distortion indicating desired signal quality; ascertaining actual distortion values that result at different grades of quantization of the signal; interpolating between at least two of the quantization grades based on at least two of the actual distortion values to determine a quantizer value corresponding to the target distortion; quantizing the signal with the determined quantizer value; presenting a preview of the quantized signal to demonstrate a result of the target distortion on the signal; and repeating the interpolating, quantizing and presenting operations, but not the ascertaining operation, in response to a change in the target distortion. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A system comprising:
-
a data processing apparatus; and a machine-readable medium tangibly embodying a software product comprising instructions operable to cause the data processing apparatus to present an imaging software user interface and to perform operations comprising; obtaining a target distortion and a transformed image, the target distortion indicating desired image quality, and the transformed image comprising sub-bands resulting from a source image being transformed by a wavelet-based decomposition; distributing the target distortion among the sub-bands based on energy weights of the sub-bands to produce target sub-band distortions; ascertaining, for at least four of the sub-bands, actual sub-band distortion values that result at different grades of quantization; determining quantizer values for the sub-bands based on the target sub-band distortions, including, for each of the at least four sub-bands, interpolating between at least two of the quantization grades based on at least two corresponding actual sub-band distortion values to determine a quantizer value for a current sub-band corresponding to a target sub-band distortion for the current sub-band; and quantizing the sub-bands with the determined quantizer values; wherein distributing the target distortion comprises redistributing an unsatisfied portion of a target sub-band distortion for a current sub-band to subsequent sub-bands based on energy weights of the subsequent sub-bands. - View Dependent Claims (30)
-
Specification