1. Field of the Invention
The present invention relates to an efficient compressed domain algorithm to downscale by a factor of k/8 (for any integer k in the range 1≦k≦8) a JPEG digital image or any image/video content that uses the Discrete Cosine Transform (DCT). By chaining multiple such operations, any scale factors of the form k1k2 . . . kl/8l for integers ki's in the range [1,7] can be achieved. The algorithm can be implemented in various apparatuses, methods, and programs of instructions, e.g., software.
2. Description of the Related Art
Traditionally, downscaling a compressed digital image has been done by decompressing the image fully followed by pixel-domain averaging. As such, this approach incurs entropy-decoding, de-zigzagging, de-quantizing, and Inverse DCT (IDCT) costs.
While downscaling in the compressed domain by factors of ½, ¼ and ⅛ has been previously proposed in U.S. Pat. No. 5,708,732, this patent does not teach downscaling by all factors of the form k/8 for 1≦k≦8, including ⅜, ⅝, ¾, ⅞. Moreover, this prior patent does not teach the technique of downscaling by obtaining a k×k block X of pixels from an 8×8 matrix Y of DCT coefficients using the equation: X=(k/8)DkTYkDk, as described in the subject application.
Object of the Invention
It is therefore an object of the present invention to overcome the problems and shortcomings mentioned above.
It is a further object of this invention to provide an algorithm that works more efficiently than the prior downscaling techniques by combining the IDCT and pixel-domain averaging into a single compressed domain operation, where a part of the cost of even this simplified operation can be absorbed into the de-quantization process.
According to one aspect of this invention, a method for downscaling an image to a given target size is provided. The method comprises extracting a plurality of N×N blocks of transform coefficients representing data of the image to be downscaled; and transforming each of the extracted N×N blocks of transform coefficients into a k×k matrix of pixel values from the downscaled image, wherein the transformation from an N×N block of transform coefficients Y into a k×k matrix of pixel values X is achieved as follows:
X=(k/N)DkTYkDk, where 1≦k≦8, Yk is the top-left k×k sub-matrix of Y, and DkT is the transpose of Dk which is defined by:
Dk(i,j)=(2/k)1/2αi cos [(2j+1)iπ/2k], with αi=1/√{square root over (2)} for i=0 and 1 otherwise.
In the method, preferably N is 8, and the transform coefficients are discrete cosine transform coefficients.
The method preferably further comprises inverse quantizing the plurality of N×N blocks of transform coefficients representing data of the image to be downscaled, before the transforming step is performed; wherein the multiplier (2/k)1/2 is absorbed into the inverse quantizing step.
In another aspect, the invention involves an apparatus for downscaling an image to a given target size. The apparatus comprises means for extracting a plurality of N×N blocks of transform coefficients representing data of the image to be downscaled; and means for transforming each of the extracted N×N blocks of transform coefficients into a k×k matrix of pixel values from the downscaled image, wherein the transformation from an N×N block of transform coefficients Y into a k×k matrix of pixel values X is achieved as follows:
X=(k/N)DkTYkDk, where 1≦k≦8, Yk is the top-left k×k sub-matrix of Y, and DkT is the transpose of Dk which is defined by:
Dk(i,j)=(2/k)1/2αi cos [(2j+1)iπ/2k], with αi=1/√{square root over (2)} for i=0 and 1 otherwise.
In the operations performed by the apparatus N is preferably 8, and the transform coefficients are discrete cosine transform coefficients.
Preferably, the apparatus further comprises means for inverse quantizing the plurality of N×N blocks of transform coefficients representing data of the image to be downscaled, before the transforming function is performed; wherein the multiplier (2/k)1/2 is absorbed into the inverse quantizing operation.
The apparatus may be any of a variety of image processing devices including a computer, a cell phone, a personal digital assistant, a digital camera, etc.
In accordance with further aspects of the invention, the above-described method or any of the steps thereof may be embodied in a program of instructions (e.g., software) which may be stored on, or conveyed to, a computer or other processor-controlled device for execution. Alternatively, the method or any of the steps thereof may be implemented using functionally equivalent hardware (e.g., ASIC, digital signal processing circuitry, etc.) or a combination of software and hardware.
Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.
A. Overview
The algorithm is designed to operate on a compressed image to provide a compressed or frequency domain downscaling solution. The term “image” includes pictorial representations, graphics, or combination thereof. The algorithm works by transforming an 8×8 matrix of DCT coefficients into a k×k matrix of pixel values from the downscaled image. These pixel values can be directly displayed.
The details of algorithm are described below in connection with a JPEG image, as that is the preferred embodiment. However, the algorithm is not limited to JPEG images. With some suitable alterations, which would be apparent to one skilled in the art in light of this disclosure, the algorithm may be applied to any image compression format using an orthogonal transform function.
With the present invention, instead of having to apply an IDCT operation followed by block-to-raster conversion 15 and pixel-domain downscaling 16, a combined operation is used that directly generates pixel values of the downscaled image. That is, the output of the IDCT 14 is processed in accordance with the invention to directly generate the pixel values of the downscaled image. If a JPEG image is desired as output (for example, if a chain of downscaling operations is to be applied), then the resulting pixels can be transformed using the DCT after grouping the data into 8×8 blocks.
B. Algorithm
Referring to
Dk(i,j)=(2/k)1/2αi cos [(2j+1)iπ/2k], with αi=1/√{square root over (2)} for i=0 and 1 otherwise.
For added efficiency, the multiplier (2/k)1/2 is absorbed into the inverse quantization of DCT coefficients that precedes this transformation.
C. Implementations
The algorithm of the present invention may be conveniently implemented in software which may be run on an image processing system 40 of the type illustrated in
A number of controllers and peripheral devices are also provided, as shown in
In the illustrated system, all major system components connect to bus 56 which may represent more than one physical bus.
Depending on the particular application of the invention, various system components may or may not be in physical proximity to one another. For example, the input data (e.g., the input image to which the inventive algorithm is to be applied) and/or the output data (e.g., the output image to which the inventive algorithm has been applied) may be remotely transmitted from one physical location to another. Also, a program that implement various aspects of this invention may be accessed from a remote location (e.g., a server) over a network. Such data and/or program may be conveyed through any of a variety of machine-readable medium including magnetic tape or disk or optical disc, network signals, or any other suitable electromagnetic carrier signals including infrared signals. As used in the claims, the term “machine-readable medium” is intended to cover all such physical devices as well as electromagnetic carrier signals.
As will be apparent to those skilled in the art, not all of the components illustrated in
While the present invention may be conveniently implemented with software, a hardware implementation or combined hardware/software implementation is also possible. A hardware implementation may be realized, for example, using ASIC(s), digital signal processing circuitry, or the like. As such, the claim language “program of instructions” includes, in addition to software, instructions hardwired on a hardware component. Also, the “means” language used in the claims covers appropriately configured processing devices, such as CPUs, ASICs, digital processing circuitry, or the like. With these implementation alternatives in mind, it is to be understood that the figures and accompanying description provide the functional information one skilled in the art would require to write program code (i.e., software) or to fabricate circuits (i.e., hardware) to perform the processing required.
D. Effects
As the foregoing description demonstrates, the present invention provides an efficient and effective algorithm for downscaling a compressed image in the compressed domain. The original image need not be decompressed fully, only to the point of extracting the transform coefficients. Compressed-domain scaling for all scales k/8 for 1≦k≦8, including ⅜, ⅝, ¾, ⅞, is provided. By changing multiple such operations, any scale factors of the form k1k2 . . . kl/8l for integers ki's in the range [1,7] can be achieved.
While the invention has been described in conjunction with several specific embodiments, many further alternatives, modifications, variations and applications will be apparent to those skilled in the art that in light of the foregoing description. Thus, the invention described herein is intended to embrace all such alternatives, modifications, variations and applications as may fall within the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5708732 | Merhav et al. | Jan 1998 | A |
5845015 | Martucci | Dec 1998 | A |
6067384 | Manickam et al. | May 2000 | A |
6141456 | Pearlstein et al. | Oct 2000 | A |
6144772 | Garland et al. | Nov 2000 | A |
6222944 | Li et al. | Apr 2001 | B1 |
6417867 | Hallberg | Jul 2002 | B1 |
20010006561 | Skodras et al. | Jul 2001 | A1 |
Number | Date | Country |
---|---|---|
WO 9841929 | Sep 1998 | WO |
Number | Date | Country | |
---|---|---|---|
20040114812 A1 | Jun 2004 | US |