This application is related to and claims the benefit of the filing date of U.S. provisional application No. 60/356,441 filed Feb. 12, 2002, and is incorporated herein by reference.
The present invention relates generally to image processing, and in particular to equalization of the information content in an image such that the image is more resistant to downsizing distortions.
Texture images are a simple yet effective way to increase realism of polygonal meshes at low cost. Most current hardware graphics accelerators provide a memory cache to store texture images. Images in the cache can be accessed by the Graphics Processing Unit (GPU) through a high-bandwidth connection, improving frame rate. However, the size of the cache is limited by its cost, especially in commercial game-oriented graphics boards and game consoles. Because not all textures used by an application can reside in memory at the same time, complex memory management algorithms need to be used. In high-end applications, such as flight simulators, where larger caches are available, the amount of textures employed increases proportionally, requiring the same careful allocation of texture memory.
Image compression can alleviate the problem of limited texture memory. However, to obtain interactive frame rates, the compressed texture must be decoded on the fly during rendering, which requires specialized hardware. To optimally use texture memory available on today's traditional graphics boards, several authors have looked at the problem of reducing the space required to store the texture image, without resorting to complicated encoding.
Except for simple textures containing repetitive patterns, details are typically not uniformly distributed across the image. For example, models obtained with 3D scanning systems are often textured with images that contain a large amount of background pixels. Faces of humans and characters need high-resolution details in areas such as the eyes and mouth, while the appearance of other regions can be captured with relatively fewer pixels per unit area.
The present invention addresses the above-mentioned limitations by implementing a technique that optimizes the space used by texture images. In one implementation of the invention, image frequency content is distributed uniformly across the image. In other words, the image is stretched in high frequency areas and contracted in low frequency regions. The texture coordinates are remapped in a similar manner to take into account image distortions. The resulting image can then be resampled at a lower rate (shrunk) with minimal detail loss in areas enclosing high frequency content. Alternatively, the image can be subsampled more aggressively with a uniform loss of visual fidelity across its regions. Only the texture image and texture coordinates are affected by the optimization process. Neither the model geometry nor its connectivity change. The smaller optimized image uses less texture memory, but does not require special hardware: its “decompression” is automatically performed through the texture mapping function available in common graphic hardware.
Thus, an aspect of the present invention involves a method for adjusting a unit image area within an input image according to information importance within the unit area. The method includes an obtaining operation to obtain an importance map. The importance map delineates regions of higher importance and regions of lower importance in the input image. A warping operation then warps the input image to produce a warped image according to the importance map such that the regions of higher importance are expanded and the regions of lower importance are contracted.
Another aspect of the invention is a system for preserving important information in an input image. The input image includes an associated input texture coordinate mapping, and the system includes an image receiver and an image warper. The image receiver is configured to receive the input image. The image warper is coupled to an importance map and is configured to generate a warped image such that regions of higher importance in the input image are expanded in the warped image and regions of lower importance in the input image are compressed in the warped image. The importance map is configured to delineate the regions of higher importance and the regions of lower importance in the input image.
Yet another aspect of the invention is a computer program product with computer readable program codes for adjusting a unit image area within an input image according to information importance within the unit area. The computer readable program codes are configured to obtain an importance map and warp the input image according to the importance map such that the regions of higher importance are expanded and the regions of lower importance are contracted.
The foregoing and other features, utilities and advantages of the invention will be apparent from the following more particular description of various embodiments of the invention as illustrated in the accompanying drawings.
As detailed below, the present invention beneficially optimizes the space used by images. Important image information is stretched to cover more of the image area, while less important information is contracted. Thus, a resulting warped image is created such that a ratio of information importance per unit area is substantially constant throughout the image. The invention is described herein with reference to
In
In
The invention strives to reduce the amount of system resources consumed by the image 102 while minimizing the amount of image detail loss in regions designated as important. To achieve this goal, the invention warps the image 102 such that important image regions are expanded and less important image regions are contracted according to the importance map. The entire warped image is then reduced in size so that it consumes less system resources. At a later point, when the image is to be utilized, the reduced warped image is expanded and unwarped.
In
In
In
In
The process begins at receiving operation 202. During this operation, an image is input by the system. As mentioned above, the image may be of any type and may be encoded using various methods known in the art. In one embodiment of the invention, the image is a texture image used to paint polygons forming a three-dimensional model in computer graphics applications. Typically, a texture image includes a set of texture coordinates in the image space that permit image transformation onto the model surface. After the receiving operation 202 is completed, control passes to generating operation 204.
At generating operation 204, an importance map is generated for the image. This operation may include receiving the importance map from a user or a graphics development package. Alternatively, the system may process the image and generate an importance map automatically, as described in detail below. After the generating operation 204 is completed, control passes to warping operation 206.
At warping operation 206, the image is warped according to the importance map such that regions of greater importance in the image are magnified, while regions of lesser importance are reduced. In one embodiment of the invention, a grid relaxation algorithm is utilized to resample the image, as discussed in detail below. After the warping operation 206 is completed, control passes to shrinking operation 208.
At shrinking operation 208, the amount of system resources required by the warped image is reduced. This operation may entail shrinking the image size, applying compression algorithms to image, or performing other such procedures known by those skilled in the art. Once the shrinking operation 208 is completed, the warped image may be stored in computer graphics memory or transmitted across communication links, such as an accelerated graphics port (AGP). When the warped image is to be redisplayed, control then passes to unwarping operation 210.
At unwarping operation 210, the warped image is transformed back to an undistorted image. This operation typically involves undoing the shrinking and warping operations 208, 206 previously executed. In one embodiment of the invention, the unwarping operation 210 includes an image transformation onto a polygonal mesh to form a three-dimensional rendering of an image, as discussed in detail below. Once the unwarping operation 210 is completed, the process is ended.
In
The system 302 includes an image receiver 304 configured to receive an input image 102. For reference, an exemplary input image 102 is depicted in
Returning again to
Alternatively, an image evaluator 314 coupled to the image receiver 304 may be configured to generate the importance map 312. In one embodiment of the invention, the importance map 312 is generated using a wavelet packet expansion transform to analyze the frequency content of the input image 102. This transform decomposes an image into a set of coefficients characterizing frequency subbands.
Referring now to
A sorting operation 502 in the process receives the input image 102 and sorts each pixel into a low frequency (LF) class or a high frequency (HF) class. Typically, high frequency regions contain edges and small details, whereas low frequency zones contain low variations in intensity. In order to detect frequency changes accurately, a multiscale analysis of the input image 102 is performed. Hence, edges can be efficiently detected by following local maxima in detail coefficient matrices. These values are referred to as wavelet maxima.
Thus, during the sort operation 502, each pixel I(u,v) is tested for the existence of a wavelet maximum within an area around the corresponding wavelet coefficient. If such a maximum exists, the existence is recorded in the frequency map, denoted by M(u,v). The wavelet packet transform allows maxima to be found at multiple scales (i.e. frequencies), leading to a classification of the image into frequency region.
After the first iteration of the sort operation 502, the image is transformed into a set of low-pass coefficients (describing frequencies between 0 and /2), and three sets of detail coefficients (representing frequencies between /2 and ). For each set of detail coefficients, wavelet maxima are measured using a threshold value estimated from the variance in the corresponding subband. Hence, after the first iteration of the classification loop 502, 504, 506, pixels are sorted into two sets and the results are stored in a matrix M1(u,v) defined as,
After the second iteration of the sort operation 502, each subband is again split into two half-bands. Hence M1(u,v) is refined; each previous entry is sorted by looking for wavelets maxima in the corresponding detail matrices. The new matrix M2(u,v) is therefore defined as,
At measuring operation 504, an activity measurement is performed to determine whether another iteration of the classification loop 502, 504, 506 is necessary. The activity measurement may be based on various metrics, including the number of importance classes, an accuracy of the classification, a computational budget that the user is provided with, a size of the quantity information in the input image 102, or any combination of such activity measurements. If, at decision operation 506, the activity measurement does not reach a threshold level, control returns to sorting operation 502. If the activity measurement reaches the threshold level, the importance map 312 is output and the transform ends. In
Returning to
In one embodiment of the invention, a Laplacian smoothing procedure is utilized to evenly distribute information across the image, stretching or shrinking regions according to the importance map. In particular, the grid relaxation module 308 relaxes the uniform grid by minimizing the energy function:
This relaxation procedure moves the vertices to new locations so that the distance |v1−vj| between two vertices v1 and vj connected by a grid edge e=(i,j) is approximately inversely proportional to the frequency map ó at the edge midpoint. The relaxation procedure is a successive approximation where the new position of a vertex v1n+1 is determined by adding a displacement to the corresponding current position v1n. Displacement vectors are computed using,
where i* is the set of grid vertex indices connected to i by a grid edge, and
The four corners of the unit square (which correspond to four vertices of the gird) are constrained not to move, and other boundary vertices are constrained to only move along their supporting straight boundary segments. The results are constrained-displacement vectors ä(vn)1, which are subsequently applied to the current vertex positions,
vin+1=vin+δ(vn)ii=1, . . . ,N.
Returning to
The present invention is particularly beneficial in graphics systems employing texture mapping. In such systems, a two-dimensional texture image is associated with texture coordinates that are used to paint a three-dimensional model. Modern graphics accelerators are typically capable of automatically translating (or texture mapping) the texture image onto the model using supplied texture coordinates.
Thus, returning to
For example, in
In one embodiment of the present invention, both the input image 102 and the input coordinates 318 are warped according to the relaxed grid, thereby producing the warped image 110 and the warped coordinates 320. Since the coordinates are warped along with the image, little or no distortion appears at the three-dimensional image 604 when the model 602 is painted using the warped image 110 and the warped coordinates 320. Thus, the warped image 110 is “unwarped” automatically by modern graphics accelerators having texture mapping capabilities. The present invention may therefore be employed to compress images while preserving their details using existing graphics accelerator technology to unwrap the processed images.
To better illustrate the advantages of the present invention, reference is now made to
In
The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. For example, alternative message sequences may be used by the present invention to select optimal sending and receiving nodes. Thus, the embodiments disclosed were chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments of the invention except insofar as limited by the prior art.
Number | Name | Date | Kind |
---|---|---|---|
6137923 | Takeo et al. | Oct 2000 | A |
6233362 | Takeo et al. | May 2001 | B1 |
6477279 | Go | Nov 2002 | B2 |
Number | Date | Country |
---|---|---|
1 134 697 | Sep 2001 | EP |
1 146 479 | Oct 2001 | EP |
08-272930 | Oct 1996 | JP |
Number | Date | Country | |
---|---|---|---|
20030152288 A1 | Aug 2003 | US |