Joint Photographs Expert Group (JPEG) is widely used for image compression for images accessible via the Internet owing to good performance with moderate implementation complexity. JPEG uses the block-based discrete cosine transform (DCT) coding architecture, which suffers from block artifacts when the compression ratio is high. This can be seen in the blocking and ringing that exists in many JPEG images available via the Internet.
Briefly, aspects of the subject matter described herein relate to image restoration for compressed images. In aspects, image restoration is accomplished by recovering spectral information from data corresponding to a compressed image. The spectral information is recovered using an algorithm to search through a solution space of possible solutions while constraints are imposed on the solution space to trim undesirable solutions from the space. The algorithm may be iteratively applied to improve the quality of the recovered image.
This Summary is provided to briefly identify some aspects of the subject matter that is further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
The phrase “subject matter described herein” refers to subject matter described in the Detailed Description unless the context clearly indicates otherwise. The term “aspects” is to be read as “at least one aspect.” Identifying aspects of the subject matter described in the Detailed Description is not intended to identify key or essential features of the claimed subject matter.
The aspects described above and other aspects of the subject matter described herein are illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
As mentioned previously, JPEG images often exhibit artifacts that are undesirable. Removing or diminishing these artifacts is a challenge. Image degradation may be formulated as follows:
g=Hf+n. (1)
The vectors g and f denote the observed and the original images, respectively. H is a convolution matrix to model the blurring, and n represents random additive noise. Recovering the original signal f from the noisy signal g is a difficult challenge. To attempt to recover f, nonlinear regularization with partial differential equations (PDE) may be employed. Recovering f in this manner may preserve significant global features while smoothing unimportant data. Nonlinear regularization may involve functional minimization, variational approaches, oriented Laplacians, other techniques, some combination of the above, and the like.
In JPEG images, at least some of the distortion is caused by the quantization of coefficients. By using the compression standard and parsing data compressed via an algorithm such as JPEG, the quantization algorithm and its parameters can be ascertained. Image restoration may be performed by considering the recovery of spectral information. In order to achieve this, image recovery may be translated to route establishment in a high dimensional vector space that is spanned by all DCT coefficients. In one embodiment, total variation regularization may be used to obtain an initial estimate the route nodes. This route may then be refined using two spectral constraints. The first constraint is quantization bound, and the second one is a low-frequency AC coefficient limitation, which is obtained via a prediction method described herein.
In JPEG, block-based DCTs are used, where an image is divided into blocks with a fixed size for the discrete cosine transform. In addition, the transformed coefficients are quantized to scalar values, which can be scaled up to reconstruct an image in a decoder. Let the original image scan be is denoted as f. It consists of K×L blocks with block size equal to N×N.
am,n is the (m,n)-th image block. The transform results of original block am,n are expressed as Am,n
The symbol H stands for transform operator, while H−1 represents an inverse transform. Q[•] is quantization operator implemented on the transformed coefficients
Âm,n=Q[Ham,n]. (4)
Âm,n is the quantized version of the transformed coefficient block, am,n, while the relevant decoded block is âm,n. The reconstruction in the JPEG standard can be expressed as follows:
âm,nH−1Q[Ham,n]. (5)
The reconstructed image g is composed of K×L decoded blocks. As the result of quantization error, both blocking and ringing artifacts may exist in the reconstructed image g when the compression ratio is high
Spectral information (Am,n) recovery may be used to compensate the quantization error.
For each N×N block in an image, the DCT coefficients matrix Am,n can be regarded as a vector in N2-dimensional vector space N
Besides the initial route construction, the pruning of the sub-space will restrict the recovery route from deviation. For example, if it is perceived that the destination is impossible to locate in hyperspace ψ (i.e., the back side of the surface β in
To search for a route, at least two problems exist: how to construct recovery route and how to prune the sub-space. In one embodiment, space pruning is combined with the route node decision. And the recovery route construction is treated as solving the following optimization with space constraints:
Min E(f), s.t. Ham,nεU2m,n, while U2m,n⊂U1m,n⊂N
E(f) is an objective function for minimization, and U2m,n is the space constraint on N2-dimensional vector space N
The division between feasible space and unavailable space is a space pruning problem, which is realized by several constraints. In one embodiment, two constraints are used for space pruning. After the first constraint is applied, the space N
Route Construction
In one embodiment, minimization may be solved with partial differential equations (PDE's). In a PDE-based solution, the signals are iteratively regularized with the evolution time going by, so that step-wise route construction can be implemented. In one embodiment, total variation based algorithms may be used for image processing. In other embodiments, other PDE-based algorithms mentioned previously may be applied. One exemplary total variation (TV) regularization that may be used as a dynamic adjustment scheme in the spatial domain is:
The first part of equation 8 above is a total variation item for regularization, while the second part of the formula is a fidelity term, which prevents an iterative solution from unacceptable deviation. With the two constraints mentioned previously, the fidelity term may be discarded. The dynamic adjustment may be calculated by solving the Euler-Lagrange equation and assigning evolution time dt.
fi+1={tilde over (f)}i+{tilde over (f)}ti·dt. (9)
fi+1 is the result of i+1 time iterations, while {tilde over (f)}i is the reconstruction image from estimated route nodes {Ãm,n,i}K×L in the i-th step. The partial differential of {tilde over (f)}i on evolution time t is denoted as fti, which is indicated by equation 10 below:
Constraining the Route
As mentioned previously, the final destination Am,n is constrained to be inside a sub-space U1m,n, which is defined as:
U1m,n={AεN
where Bli,jm,n=Âi,jm,n−Δli,j,q, Bhi,jm,n=Âi,jm,n+Δui,j,q. (11)
Âi,jm,n stands for the (i,j)-th entry of a typical vector Âm,n. Δli,j,q and Δui,j,q are the distances from the typical vector to the lower bound Bli,jm,n in and upper bound Bhi,jm,n of quantized interval in the (i, j) coordinate.
For further space pruning, an AC prediction method based on DC coefficients may be used as described below. In this algorithm, when four neighboring blocks only have DC components left after quantization, DC components of these blocks are utilized to predict three low frequency AC coefficients denoted as Āi,jk,l. After predication, the allowable evaluation range of the AC coefficients reduces to the new bounded scope. As the result, the sub-space U1m,n is clipped to sub-space U2m,n, which is more constrained as indicated by equation 12 below:
U2m,n={AεN
Where, the lower bound and upper bound in Ai,j dimension are modified as:
The typical vector of U2m,n is specified as:
During route construction, the estimated route nodes are bounded in sub-space U2m,n. In case the iterative result of regularization goes outside the space limitation in one coordinate, the relevant entry will be corrected to typical vectors as:
The symbol S is a correction operator in terms of space constraints. A is the near-estimated route node, and Ãm,n is the estimated route node for the next step regularization.
DC Based Low-Frequency AC Prediction
With the increase of quantization intervals, not only the texture and edge information are effaced but also the gradual variation in smooth area vanishes. For the blocks with gradual variation, the low frequency AC coefficients (A1,2, A2,1, A2,2) may contain valuable gradient information due to the properties of these three AC coefficients.
The absolute values of the four corner elements are equivalent, and the sub-matrix {hacek over (C)}i,j formed by four corner elements may be used to describe the variation property of the corresponding original basis C1,1. For example, {hacek over (C)}1,2 and {hacek over (C)}2,1 show the decrease trend in horizontal and vertical directions respectively; {hacek over (C)}2,2 exhibits the variation along diagonal direction. And all these four sub-matrices can be written as the product of one constant scalar and a 2×2 Hadamard transform basis. This can be used to build a bridge between the low frequency DCT coefficients and the Hadamard transform coefficients. Once a 2×2 matrix composed of pixels at a distance is obtained, the predicted low frequency coefficients can be calculated by a scaling operation and a Hadamard transform. The gradient information may be expressed by the difference among the DC components of the neighboring blocks in smooth area. Therefore, the variation of DC may be used to simulate the variation within a patch with the size same of image block, because the DC difference of neighboring blocks can be taken as the difference of pixel values in a distance of block's size.
A mathematical expression of the AC prediction algorithm may be described by the following equation:
As can be seen above, in one embodiment, compressed image restoration may be treated as a DCT coefficients recovery problem. The recovery procedure may be modeled as the construction of a route, which starts from the quantized coefficients node and terminates at the original transformed coefficients node in an N2-dimensional vector space. Using a partial differential equation diffusion method, total variation regularization may be used to realize stepwise route node selection. In addition, two constraints on high dimensional vector space may be used to restrict the route within the feasible space. The first constraint relates to the quantization operation, while the second constraint relates to a property of the discrete cosine transform.
Aspects of the subject matter described herein are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the subject matter described herein include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microcontroller-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
Aspects of the subject matter described herein may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. Aspects of the subject matter described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Computer-readable media as described herein may be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVDs) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 110.
Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
Turning to
The decoder 410 is operable to receive data corresponding to a first image and to determine a compression algorithm used to create the data. For example, the decoder 410 may be operable to determine that the data corresponds to a JPEQ image that has been compressed using a JPEQ compression algorithm. The decoder 410 may also be able to determine relevant characteristics about the compression algorithm such as block size and the like.
The constrainer 415 is operable to provide one or more constraints regarding a set of allowable solutions in creating a second (e.g., restoration) image from the data. The set of allowable solutions may include spectral components (e.g., coefficients) related to the second image. As described previously, two separate constraints may be used to trim the set of allowable solutions. The constrainer 415 may operate to predict one or more AC components using DC components from four adjoining blocks as described previously.
The optimizer/route finder 420 is operable to find a solution in the set of allowable solutions via an iterative function. The optimizer/route finder 420 is further operable to receive constraints from the constrainer 415 in conjunction with finding the solution. The solution corresponds to the restoration image that is determined to be the closest to the original image by the iterative function at a particular iteration. For an example of an iterative function, see equations 9 and 10 above.
The user interfaced 425 may display a restoration image provided by the other components and may be used to specify parameters such as how many iterations are to be performed by the optimizer/router finder 420.
At block 510, data corresponding to a compressed image is obtained. For example, referring to
After the data is obtained, a second image may be constructed from the data. In constructing the second image, spectral information may be recovered by performing the actions indicated in blocks 515-525.
At block 515, regularization is performed on the data. For example, referring to
At block 520, constraints are enforced. For example, referring to
At block 525, a determination is made of whether a further iteration of the regularization algorithm is needed or desired. If a further iteration is to be performed, the actions continue at block 515; otherwise, the actions continue at block 530. For example, referring to
At block 530, the recovered image is optionally displayed. For example, referring to
At block 535, other actions may optionally be performed as desired.
At block 610, data corresponding to a compressed image is obtained. For example, referring to
At block 615, nodes are selected to minimize a function. The nodes represent possible solutions to the function. For example, referring to
At block 620, the solution is constrained based on coefficients found in four neighboring blocks data. For example, DC components may be used to predict AC components as described previously. For example, referring to
At block 630, the solution space may be constrained based on other constraints. For example, the solution space may be constrained based on equation 11 above.
At block 635, a determination is made of whether a further iteration is needed or desired. If a further iteration is to be performed, the actions continue at block 615; otherwise, the actions continue at block 640. For example, referring to
At block 535, other actions may optionally be performed as desired.
As can be seen from the foregoing detailed description, aspects have been described related to image restoration for compressed images. While aspects of the subject matter described herein are susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit aspects of the claimed subject matter to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of various aspects of the subject matter described herein.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5293434 | Feig et al. | Mar 1994 | A |
| 5367629 | Chu et al. | Nov 1994 | A |
| 5455778 | Ide et al. | Oct 1995 | A |
| 5719963 | Kazui et al. | Feb 1998 | A |
| 5737451 | Gandhi et al. | Apr 1998 | A |
| 5850294 | Apostolopoulos et al. | Dec 1998 | A |
| 5850484 | Beretta et al. | Dec 1998 | A |
| 5933542 | Chang et al. | Aug 1999 | A |
| 5937101 | Jeon et al. | Aug 1999 | A |
| 5970172 | Mochizuki | Oct 1999 | A |
| 5974196 | Chang et al. | Oct 1999 | A |
| 6324301 | Jacquin et al. | Nov 2001 | B1 |
| 6434273 | Gillman et al. | Aug 2002 | B1 |
| 6760487 | Linares | Jul 2004 | B1 |
| 20050190189 | Chefd'hotel et al. | Sep 2005 | A1 |
| 20060050783 | Le Dinh et al. | Mar 2006 | A1 |
| 20060129366 | Shaw | Jun 2006 | A1 |
| 20070179762 | Sato et al. | Aug 2007 | A1 |
| 20080126278 | Bronstein et al. | May 2008 | A1 |
| Number | Date | Country |
|---|---|---|
| WO0207438 | Jan 2002 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20090238476 A1 | Sep 2009 | US |