Transform-domain correction of real-domain errors
First Claim
1. A method for digitally processing transform data representing a phenomenon, the method comprising:
- performing an inverse transform of said transform data to the real domain forming high-precision numbers;
converting said high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said converted data from said high-precision numbers forming high-precision differences;
forward transforming said initial converted data forming transformed converted data;
forward transforming said high-precision differences forming transformed differences; and
adding said transformed differences to said transformed converted data forming corrected transformed data.
1 Assignment
0 Petitions
Accused Products
Abstract
This invention solves problems due to employing error degraded data in digital processing. It particularly solves the multi-generation problem wherein transform data degrade during each inverse transform and forward transform cycle even without any processing due to the rounding and clipping errors. It provides methods, systems and apparatus for transform-domain correction of real-domain errors in the processing of transform, transform-coded, and coded data. After inverse transformation of transform data the high-precision numbers are converted to integers and clipped to an allowed range forming converted data. High-precision differences are obtained by subtracting converted data from the high-precision output of the inverse transform. The differences are re-transformed back to the transform domain and saved. In an alternate embodiment the differences are quantized, thus, only significant errors are saved. In still another embodiment the quantized differences are entropy encoded. Then after re-transforming the processed converted data, the decoded differences, the dequantized differences, or the transformed differences can be used in the transform domain to remove the real-domain errors introduced by the original conversion to integers and clipping to the allowed range.
-
Citations
88 Claims
-
1. A method for digitally processing transform data representing a phenomenon, the method comprising:
-
performing an inverse transform of said transform data to the real domain forming high-precision numbers;
converting said high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said converted data from said high-precision numbers forming high-precision differences;
forward transforming said initial converted data forming transformed converted data;
forward transforming said high-precision differences forming transformed differences; and
adding said transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
entropy decoding coded data forming the transform-coded data; and
entropy encoding the quantized data forming encoded data.
-
-
8. A method as recited in claim 6, wherein said inverse quantization step and said quantization step use at least one difference quantization value.
-
9. A method for digitally processing transform data representing a phenomenon, the method comprising:
-
performing an inverse transform of said transform data to the real domain forming high-precision numbers;
converting said high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said initial converted data from said high-precision numbers forming high-precision differences;
manipulating said initial converted data to produce an effect and forming processed converted data;
forward transforming said processed converted data forming transformed converted data;
forward transforming said high-precision differences forming transformed differences; and
adding said transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
entropy decoding coded data to form the transform-coded data; and
entropy encoding the quantized data forming encoded data.
-
-
13. A method as recited in claim 9, wherein said effect is the color correction of image data.
-
14. A method as recited in claim 12, wherein said coded data are coded audio data.
-
15. A method as recited in claim 12, wherein said coded data are coded image data.
-
16. A method as recited in claim 12, wherein said coded data are coded video data.
-
17. A method as recited in claim 15, wherein said coded image data are in a JPEG still image international standard format.
-
18. A method as recited in claim 16, wherein said coded video data are in a MPEG motion video international standard format.
-
19. A method as recited in claim 12, said method steps further comprising alternating a desired number of times said step of manipulating with said steps of performing a forward transform, performing a quantization, entropy encoding, entropy decoding, performing an inverse quantization, and performing an inverse transform.
-
20. A method as recited in claim 19, wherein said coded data are compressed data, and each step of alternating implements a compression/decompression cycle.
-
21. A method for digitally processing transform data representing a phenomenon, the method comprising:
-
performing an inverse transform of said transform data to the real domain forming high-precision numbers;
converting said high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said initial converted data from said high-precision numbers forming initial high-precision differences;
manipulating said initial converted data to produce a first effect forming processed converted data;
forward transforming said processed converted data forming transformed converted data;
manipulating said initial high-precision differences to produce a second effect and forming processed high-precision differences;
forward transforming said processed high-precision differences forming transformed differences; and
adding said transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
entropy decoding coded data to form the transform-coded data; and
entropy encoding the quantized data forming encoded data.
-
-
30. A method as recited in claim 29, wherein said coded data are in a JPEG still image international standard format.
-
31. A method as recited in claim 29, wherein said coded video data are in a MPEG motion video international standard format.
-
32. A method as recited in claim 21, wherein the processed high-precision differences are identical to the initial high-precision differences.
-
33. A method for digitally processing transform data representing a phenomenon, the method comprising:
-
performing an inverse transform of said transform data to the real domain forming high-precision numbers;
converting said high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said initial converted data from said high-precision numbers forming high-precision differences;
forward transforming said high-precision differences forming initial transformed differences;
manipulating said initial converted data to produce a first effect forming processed converted data;
forward transforming said processed converted data forming transformed converted data;
manipulating said initial transformed differences to produce a second effect forming processed transformed differences; and
adding said processed transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
entropy decoding coded data to form the transform-coded data; and
entropy encoding the quantized data forming encoded data.
-
-
38. A method as recited in claim 37, wherein said coded video data are in a MPEG motion video international standard format.
-
39. A method as recited in claim 36, wherein the step of manipulating said transformed differences includes:
-
performing a quantization of said transformed differences forming quantized differences;
performing an inverse quantization of said quantized differences forming dequantized differences; and
manipulating said dequantized differences to produce a second effect to form processed transformed differences.
-
-
40. A method as recited in claim 39, further comprising the step of entropy encoding the quantized differences forming encoded differences.
-
41. A method as recited in claim 40, further comprising the step of entropy decoding the encoded differences reforming the quantized differences.
-
42. A method as recited in claim 39, wherein the step of performing a quantization and the step of performing an inverse quantization use a first amount of quantization values which equal to one half a second amount of quantization values used in the step of performing a quantization of said corrected transformed data.
-
43. A method as recited in claim 36, wherein the step of manipulating said transformed differences further comprises:
-
manipulating said transformed differences to produce a second effect and forming manipulated transformed differences;
performing a quantization of the manipulated transformed differences forming quantized differences; and
performing an inverse quantization of said quantized differences forming processed transformed differences.
-
-
44. A method as recited in claim 43, further comprising the step of entropy encoding the quantized differences forming encoded differences.
-
45. A method as recited in claim 44, further comprising the step of entropy decoding the encoded differences reforming the quantized differences.
-
46. A method as recited in claim 43, wherein the step of performing a quantization of the manipulated transformed differences and the step of performing an inverse quantization of said quantized differences use half an amount of quantization values as used in the step of performing a quantization of said corrected transformed data.
-
47. A method as recited in claim 36, wherein the step of manipulating said transformed differences further comprises:
-
manipulating said transformed differences to produce a second effect and forming manipulated transformed differences;
performing a quantization of the manipulated transformed differences forming quantized differences;
performing an inverse quantization of said quantized differences forming dequantized differences; and
manipulating said dequantized differences to produce a third effect and forming processed transformed differences.
-
-
48. A method as recited in claim 47, further comprising the step of entropy encoding the quantized differences forming encoded differences.
-
49. A method as recited in claim 48, further comprising the step of entropy decoding the encoded differences reforming the quantized differences.
-
50. A method as recited in claim 47, wherein the step of performing a quantization of the manipulated transformed differences and the step of performing an inverse quantization of the quantized differences use half an amount of quantization values of as is used in the step of performing a quantization of the corrected transformed data.
-
51. A system for digitally processing transform data representing a phenomenon, the system comprising:
-
an inverse transformer to perform an inverse transform of said transform data to the real domain using high-precision numbers;
a converter to convert said high-precision numbers to integers and a clipper to clip the integers to an allowed range forming initial converted data;
a subtractor to subtract said initial converted data from said high-precision numbers forming high-precision differences;
a forward transformer to forward transform said initial converted data forming transformed converted data;
a forward transformer to forward transform said high-precision differences forming transformed differences; and
an adder to add said transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (52, 53, 54, 55)
-
-
56. A system for digitally processing transform data representing a phenomenon, the system comprising:
-
an inverse transformer to perform an inverse transform of said transform data to the real domain using high-precision numbers;
a converter to convert said high-precision numbers to integers and a clipper to clip the integers to an allowed range forming initial converted data;
a subtractor to subtract said initial converted data from said high-precision numbers forming high-precision differences;
a manipulator to manipulate said initial converted data to produce an effect and forming processed converted data;
a forward transformer to forward transform said processed converted data forming transformed converted data;
a forward transformer to forward transform said high-precision differences forming transformed differences; and
an adder to add said transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (57, 58, 59, 60)
-
-
61. A system for digitally processing transform data representing a phenomenon, the system comprising:
-
an inverse transformer to perform an inverse transform of said transform data to the real domain using high-precision numbers;
a converter to convert said high-precision numbers to integers and a clipper to clip the integers to an allowed range forming initial converted data;
a subtractor to subtract said initial converted data from said high-precision numbers forming high-precision differences;
a manipulator for manipulating said initial converted data to produce a first effect forming processed converted data;
a forward transformer to forward transform said processed converted data forming transformed converted data;
a manipulator for manipulating said high-precision differences to produce a second effect and forming processed high-precision differences;
a forward transformer to forward transform said processed high-precision differences forming transformed differences; and
an adder to add said transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (62, 63)
-
-
64. A system for digitally processing transform data representing a phenomenon, the system comprising:
-
an inverse transformer to perform an inverse transform of said transform data to the real domain using high-precision numbers;
a converter to convert said high-precision numbers to integers and a clipper to clip the integers to an allowed range forming initial converted data;
a subtractor to subtract said initial converted data from said high-precision numbers forming high-precision differences;
a first forward transformer to forward transform said high-precision differences forming transformed differences;
a first manipulator for manipulating said initial converted data to produce a first effect forming processed converted data;
a second forward transformer to forward transform said processed converted data forming transformed converted data;
a second manipulator for manipulating said transformed differences to produce a second effect forming processed transformed differences; and
an adder to add said processed transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (65, 66, 67, 68, 69, 70, 71, 72, 73, 74)
a second quantizer for performing a quantization of said transformed differences forming quantized differences;
a second inverse quantizer for performing an inverse quantization of said quantized differences forming dequantized differences; and
a third manipulator to manipulate said dequantized differences to produce a second effect forming processed transformed differences.
-
-
68. A system as recited in claim 67, further comprising an entropy encoder for encoding the quantized differences forming encoded differences.
-
69. A system as recited in claim 68, further comprising an entropy decoder for decoding the encoded differences reforming the quantized differences.
-
70. A system as recited in claim 67, wherein the second quantizer and the second inverse quantizer each use half an amount of quantization values as is used in the first quantizer.
-
71. A system as recited in claim 66, wherein the second manipulator includes:
-
a difference manipulator to manipulate said transformed differences to produce a second effect forming manipulated transformed differences;
a difference quantizer for performing a quantization of said manipulated transformed differences forming quantized differences; and
a difference inverse quantizer for performing an inverse quantization of said quantized differences forming the processed transformed differences.
-
-
72. A system as recited in claim 71, further comprising an entropy encoder for encoding the quantized differences forming encoded differences.
-
73. A system as recited in claim 72, further comprising an entropy decoder for decoding the encoded differences reforming the quantized differences.
-
74. A system as recited in claim 71, wherein second manipulator includes an alternate manipulator to manipulate said dequantized differences to produce a third effect and forming the processed transformed differences.
-
75. An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for digitally processing transform data representing a phenomenon, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect:
-
performing an inverse transform of said transform data to the real domain forming high-precision numbers;
converting said high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said initial converted data from said high-precision numbers forming high-precision differences;
forward transforming said initial converted data forming transformed converted data;
forward transforming said high-precision differences forming transformed differences; and
adding said transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (76, 77, 78)
entropy decoding the coded data forming the transform-coded data; and
entropy encoding the quantized data forming encoded data.
-
-
79. A computer program product comprising a computer usable medium having computer readable program code means embodied therein for digitally processing transform data in the real domain representing a phenomenon, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect:
-
performing an inverse transform of said transform data to the real domain forming high-precision numbers;
converting said high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said initial converted data from said high-precision numbers forming high-precision differences;
manipulating said initial converted data to produce an effect and forming processed converted data;
forward transforming said processed converted data forming transformed converted data;
forward transforming said high-precision differences forming transformed differences; and
adding said transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (80, 81)
-
-
82. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for digitally processing transform data representing a phenomenon, said method steps comprising:
-
performing an inverse transform of said transform data to the real domain forming initial high-precision numbers;
converting said initial high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said initial converted data from said initial high-precision numbers forming high-precision differences;
manipulating said initial converted data to produce a first effect forming processed converted data;
forward transforming said processed converted data forming transformed converted data;
manipulating said initial high-precision differences to produce a second effect and forming processed high-precision differences;
forward transforming said processed high-precision differences forming transformed differences; and
adding said transformed differences to said transformed converted data forming corrected transformed data.
-
-
83. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for digitally processing transform data representing a phenomenon, said method steps comprising:
-
performing an inverse transform of said transform data to the real domain forming high-precision numbers;
converting said high-precision numbers to integers and clipping the integers to an allowed range forming initial converted data;
subtracting said initial converted data from said high-precision numbers forming high-precision differences;
forward transforming said high-precision differences forming transformed differences;
manipulating said initial converted data to produce a first effect and forming processed converted data;
forward transforming said processed converted data forming transformed converted data;
manipulating said transformed differences to produce a second effect forming processed transformed differences; and
adding said processed transformed differences to said transformed converted data forming corrected transformed data. - View Dependent Claims (84, 85, 86, 87, 88)
entropy decoding coded data forming the transform-coded data; and
entropy encoding the quantized data forming encoded data.
-
-
87. A program storage device readable by machine as recited in claim 86, said method steps further comprising alternating said manipulating steps with said steps of performing a forward transform, performing a quantization, entropy encoding, entropy decoding, performing an inverse quantization, and performing an inverse transform a desired number of times.
-
88. A program storage device readable by machine as recited in claim 87, wherein said coded data are compressed data, and each step of alternating implements a compression/decompression cycle.
Specification