Image transformations in the compressed domain
First Claim
1. A method for performing a dihedral symmetry operation on a spatial domain representation of a digital image by manipulating a linear transform domain representation of the digital image, said method comprising the steps of:
- parsing compressed image data of the digital image to extract an offset value and a DC value for each of a plurality of linear-transform-based coded data blocks, wherein elements of the data blocks were previously coded as a sequence of symbol trios so that the steps of said method are performed without de-zigzagging and zigzagging the elements of each data block;
accessing each of the plurality of linear-transform-based coded data blocks by using the corresponding offset value;
extracting a sequence of non-zero elements from each of the plurality of linear-transform-based coded data blocks;
transposing the sequence of non-zero elements within each data block without expanding into a full data block; and
coding the transposed sequence of non-zero elements of each data block;
wherein the spatial domain representation of the digital image undergoes a dihedral symmetry operation.
2 Assignments
0 Petitions
Accused Products
Abstract
Image processing techniques which involve direct manipulation of the compressed domain representation of an image to achieve the desired spatial domain processing without having to go through a complete decompression and compression process. The techniques include processing approaches for performing the eight operations in D4 (the dihedral group of symmetries of a square) on JPEG images using the discrete cosine transform (DCT) domain representation of the images directly. For a task such as image rotation by 90° (an operation in D4), DCT-domain based methods can yield nearly a five-fold increase in speed over a spatial-domain based technique. These simple compressed-domain based processing techniques are well suited to the imaging tasks that are needed in a JPEG-based digital still-camera system.
-
Citations
36 Claims
-
1. A method for performing a dihedral symmetry operation on a spatial domain representation of a digital image by manipulating a linear transform domain representation of the digital image, said method comprising the steps of:
-
parsing compressed image data of the digital image to extract an offset value and a DC value for each of a plurality of linear-transform-based coded data blocks, wherein elements of the data blocks were previously coded as a sequence of symbol trios so that the steps of said method are performed without de-zigzagging and zigzagging the elements of each data block;
accessing each of the plurality of linear-transform-based coded data blocks by using the corresponding offset value;
extracting a sequence of non-zero elements from each of the plurality of linear-transform-based coded data blocks;
transposing the sequence of non-zero elements within each data block without expanding into a full data block; and
coding the transposed sequence of non-zero elements of each data block;
wherein the spatial domain representation of the digital image undergoes a dihedral symmetry operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 33)
sequentially examining the sequence of non-zero elements of each of the plurality of data blocks;
determining the non-zero elements that are positioned within a same one of a plurality of cross-diagonals of each data block; and
reversing the order of non-zero elements positioned within the same cross-diagonal.
-
-
3. The method as recited in claim 1, wherein the dihedral symmetry operation comprises flipping the digital image over its main diagonal.
-
4. The method as recited in claim 1, further comprising the step of applying sign-changes to the sequence of non-zero elements within each data block wherein the dihedral symmetry operation comprises flipping the digital image over its main cross-diagonal axis.
-
5. The method as recited in claim 1, further comprising the step of applying sign-changes to the sequence of non-zero elements within each data block wherein the dihedral symmetry operation comprises rotating the digital image 90°
- clockwise.
-
6. The method as recited in claim 1, further comprising the step of applying sign-changes to the sequence of non-zero elements within each data block wherein the dihedral symmetry operation comprises rotating the digital image 90°
- counterclockwise.
-
7. The method as recited in claim 4, wherein, after transposing the sequence of non-zero elements within each data block, sign-reversing every other non-zero element within each data block without expanding into a full data block.
-
8. The method as recited in claim 5, wherein, after transposing the sequence of non-zero elements within each data block, sign-reversing the odd-column non-zero elements within each data block without expanding into a full data block.
-
9. The method as recited in claim 6, wherein, after transposing the sequence of non-zero elements within each data block, sign-reversing the odd-row non-zero elements within each data block without expanding into a full data block.
-
33. The method as recited in claim 1, wherein the symbol trio comprises first, second and third symbols, the first symbol representing the number of consecutive zeros in a zigzag ordering of the corresponding data block, and the next non-zero element has a value x such that:
-
10. A digital camera, comprising:
-
a sensor for capturing light and converting the light into an analog image signal;
an analog-to-digital converter for converting the analog image signal to a digital image in spatial domain; and
a digital image processor for compressing the digital image from a spatial domain representation of the digital image to a linear transform domain representation of the digital image defined by a plurality of linear-transform-based coded data blocks, wherein elements of the data blocks are coded as a sequence of symbol trios during the compressing, wherein said digital image processor parses compressed image data of the digital image to extract an offset value and a DC value for each of the plurality of linear-transform-based coded data blocks, accesses each of the plurality of linear-transform-based coded data blocks by using the corresponding offset value, extracts a sequence of non-zero elements of each of the plurality of linear-transform-based coded data blocks, transposes the sequence of non-zero elements within each data block without expanding into a full data block, applies sign change to non-zero elements within each data block and codes the sequence of non-zero elements of each data block, without de-zigzagging and zigzagging the elements of each data block, to perform a dihedral symmetry operation on the spatial domain representation of the digital image. - View Dependent Claims (11, 12, 13, 14, 15, 16, 34)
-
-
17. A computer system having a computer-readable program code embodied therein for causing the computer system to geometrically transform a digital image in spatial domain by performing the steps of:
-
processing the digital image to obtain a linear transform domain representation of the digital image defined by a plurality of linear-transform-based coded data blocks, wherein elements of the data blocks are coded as a sequence of symbol trios so that the steps are performed without de-zigzagging and zigzagging the elements of each data block;
parsing the compressed image data to extract an offset value and a DC value for each of the plurality of linear-transform-based coded data blocks;
accessing each of the plurality of linear-transform-based coded data blocks by using the corresponding offset value;
extracting a sequence of non-zero elements from each of the plurality of linear-transform-based coded data blocks;
transposing the sequence of non-zero elements within each data block without expanding into a full data block; and
coding the transposed sequence of non-zero elements of each data block;
wherein the spatial domain representation of the digital image undergoes a dihedral symmetry operation. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 35)
sequentially examining the sequence of non-zero elements of each of the plurality of data blocks;
determining the non-zero elements that are positioned within a same one of a plurality of cross-diagonals of each data block; and
reversing the order of non-zero elements positioned within the same cross-diagonal.
-
-
19. The computer system as recited in claim 17, wherein the dihedral symmetry operation comprises flipping the digital image over its main diagonal.
-
20. The computer system as recited in claim 17, further comprising the step of applying a sign change to non-zero elements wherein the dihedral symmetry operation comprises rotating the digital image over its main cross-diagonal axis.
-
21. The computer system as recited in claim 17, further comprising the step of applying a sign change to non-zero elements wherein the dihedral symmetry operation comprises rotating the digital image 90°
- clockwise.
-
22. The computer system as recited in claim 17, further comprising the step of applying a sign change to non-zero elements wherein the dihedral symmetry operation comprises rotating the digital image 90°
- counterclockwise.
-
23. The computer system as recited in claim 20, wherein, after transposing the sequence of non-zero elements within each data block, sign-reversing every other non-zero element within each data block without expanding into a full data block.
-
24. The computer system as recited in claim 21, wherein, after transposing the sequence of non-zero elements within each data block, sign-reversing the odd-column non-zero elements within each data block without expanding into a full data block.
-
25. The computer system as recited in claim 22, wherein, after transposing the sequence of non-zero elements within each data block, sign-reversing the odd-row non-zero elements within each data block without expanding into a full data block.
-
35. The computer system as recited in claim 17, wherein the symbol trio comprises first, second and third symbols, the first symbol representing the number of consecutive zeros in a zigzag ordering of the corresponding data block, and the next non-zero element has a value x such that:
S=┌
log2(|x|+1),
-
26. A method for performing a dihedral symmetry operation on a spatial domain representation of a digital image by manipulating a linear transform domain representation of the digital image, said method comprising the steps of:
-
parsing compressed image data of the digital image to extract an offset value and a DC value for each of a plurality of linear-transform-based coded data blocks, wherein elements of the data block were previously coded as a sequence of symbol trios so that the steps of said method are performed without de-zigzagging and zigzagging the elements of each data block;
accessing each of the plurality of linear-transform-based coded data blocks by using the corresponding offset value;
extracting a sequence of non-zero elements from each of the plurality of linear-transform-based coded data blocks;
applying sign-changes to the sequence of non-zero elements within each data block without expanding into a full data block; and
coding the resulting sequence of non-zero elements of each data block;
wherein the spatial domain representation of the digital image undergoes a dihedral symmetry operation. - View Dependent Claims (27, 28, 29, 30, 31, 32, 36)
-
Specification