Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR PREDICTING THE FILE SIZE OF IMAGES SUBJECT TO TRANSFORMATION BY SCALING AND A CHANGE OF QUALITY-CONTROLLING PARAMETERS
Document Type and Number:
WIPO Patent Application WO/2009/055896
Kind Code:
A1
Abstract:
A system and method for predicting a file size of an image subject to transformation by scaling and a change about at least one quality-controlling parameter, in which an input receives (a) the file size of the image before transformation, (b) information about at least one quality-controlling parameter of the image before transformation, (c) information about at least one quality- controlling parameter for application to the image during transformation, and (d) a scaling factor for application to the image during transformation. A relative size prediction is calculated on the basis of the received quality-controlling parameters information and scaling factor. The file size of the image after transformation is finally calculated as a function of the file size of the image before transformation and the calculated relative size prediction.

Inventors:
PIGEON STEVEN (CA)
FRANCHE JEAN-FRANCOIS (CA)
COULOMBE STEPHANE (CA)
Application Number:
PCT/CA2007/001974
Publication Date:
May 07, 2009
Filing Date:
November 02, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VANTRIX CORP (CA)
PIGEON STEVEN (CA)
FRANCHE JEAN-FRANCOIS (CA)
COULOMBE STEPHANE (CA)
International Classes:
G06T9/00; G06T3/40; H04N7/24; H04L12/58; H04W4/12
Domestic Patent References:
WO2006085301A22006-08-17
Foreign References:
US6992686B22006-01-31
Other References:
See also references of EP 2210236A4
Attorney, Agent or Firm:
PRINCE, Gaétan et al. (1100 René-Lévesque Blvd. West 25th Floo, Montréal Québec H3B 5C9, CA)
Download PDF:
Claims:

WHAT IS CLAIMED IS:

1. A system for predicting a file size of an image subject to transformation by scaling and a change of at least one quality-controlling parameter, comprising: an input for receiving (a) the file size of the image before transformation of said image, (b) information about at least one quality-controlling parameter of the image before transformation of said image, (c) information about at least one quality-controlling parameter for application to the image during transformation of said image, and (d) a scaling factor for application to the image during transformation of said image; a calculator of a relative file size prediction on the basis of the received information about quality-controlling parameters and scaling factor; and a calculator of a file size prediction of the image after transformation of said image, wherein the file size prediction of the image after transformation of said image is calculated as a function of the file size of the image before transformation of said image and the calculated relative file size prediction.

2. A system as defined in claim 1 , wherein said quality-controlling parameter information comprises information about at least one parameter indicative of the quality of the image and selected from the group consisting of a quality factor, a number of colors, a color depth, a color component sampling structure, and horizontal and vertical resolution.

3. A system as defined in claim 1 , wherein the file size of the image prior to transformation of said image and the file size prediction are compressed file sizes.

4. A system as defined in claim 1 , wherein the calculator of the file size prediction multiplies the file size of the image before transformation of said image and the calculated relative file size prediction.

5. A system as defined in claim 1 , wherein the calculator of the file size prediction multiplies the file size of the image before transformation of said image and the calculated relative file size prediction using the following relation:

where S(I) is the file size of the image / before transformation of said image, ^()is the relative file size prediction, QF 1n is a quality factor of the image before transformation of said image, QF 0Ut is a quality factor of the image after transformation and z is the scaling factor.

6. A system as defined in claim 1 , wherein the calculator of the relative file size prediction comprises an array of relative file size predictions pre-computed by a relative file size prediction array calculator, wherein the array of pre-computed relative file size predictions is used by the calculator of the relative file size prediction to calculate the relative file size prediction of the image after transformation of said image.

7. A system as defined in claim 6, wherein the information about the at least one quality-controlling parameter of the image before transformation of said image comprises a quality factor QF 1n of the image before transformation of said image, the information about the at least one quality-controlling parameter for application to the image during transformation of said image comprises a desired quality factor QF 0Ut of the image after transformation of the image, and wherein the calculator of the array of pre-computed relative file size predictions comprises: a quantizer of the quality factor QF 1n , the quality factor QF 0Ut and the scaling factor z to obtain quantized quality factors and a quantized scaling factor a set of images having values for QF in which contains all the images of a collection of images having the same original quality factor quantized

to values for the output quality factor QF 0Ut quantized to and values for the scaling factor z quantized to z ; and the calculator of the array of pre-computed relative file size predictions using the following relation:

where is a relative size observation, and is a cardinality of the set

8. A system as defined in claim 7, wherein the calculator of the file size prediction of the image after transformation of said image uses the following relation:

where S(I) is a compressed file size of the image / before transformation of said image.

9. A system as defined in claim 6, wherein the relative file size prediction array calculator comprises: a cluster calculator for (a) associating to each image of a set of images a vector representative of characteristics of said images and (b) partitioning the set of images into classes of images associated to similar vectors; a prototype calculator for calculating, for each class of images, a centroid which represents a prototype of the vectors associated to the images of the class; and an array calculator for computing an array of relative file size predictions for each centroid, said array having at least two dimensions including the

information about a change of at least one quality-controlling parameter and the scaling factor.

10. A system as defined in claim 9, wherein the vector associated to each image / is given by the relation:

where a is a scale constant, and W(I), H(I) and QF(I) are respectively a width, a height and a quality factor of the image /.

11. A system as defined in claim 6, wherein the calculator of the file size prediction of the image after transformation of said image calculates the file size prediction of the image after transformation of said image using the file size of the image before transformation of said image and an entry of the array of relative file size predictions pre-computed by the array calculator.

12. A method for predicting a file size of an image subject to transformation by scaling and a change of at least one quality-controlling parameter, comprising: receiving (a) the file size of the image before transformation of said image, (b) information about at least one quality-controlling parameter of the image before transformation of said image, (c) information about at least one quality- controlling parameter for application to the image during transformation of said image, and (d) a scaling factor for application to the image during transformation of said image; calculating a relative file size prediction on the basis of the received information about quality-controlling parameters and scaling factor; and calculating a file size prediction of the image after transformation of the image, wherein the file size prediction of the image after transformation of said image is calculated as a function of the file size of the image before transformation of said image and the calculated relative file size prediction.

13. A method as defined in claim 12, comprising receiving, as the quality-controlling parameter information, information about at least one parameter indicative of the quality of the image and selected from the group consisting of a quality factor, a number of colors, a color depth, a color component sampling structure, and horizontal and vertical resolution.

14. A method as defined in claim 12, comprising receiving, as the file size of the image before transformation of said image, a compressed file size and calculating, as the file size of the image after transformation of the image, a compressed file size.

15. A method as defined in claim 12, wherein calculating the file size prediction of the image after transformation of said image comprises multiplying the file size of the image before transformation of said image and the calculated relative file size prediction.

16. A method as defined in claim 12, wherein calculating the file size prediction comprises multiplying the file size of the image before transformation of said image and the calculated relative file size prediction using the following relation:

where S(TJ is the file size of the image / before transformation of said image, ,?()is the relative file size prediction, QF 1n is a quality factor of the image before transformation of said image, QF out is a quality factor of the image after transformation and z is the scaling factor.

17. A method as defined in claim 12, wherein calculating the relative file size prediction comprises (a) pre-computing an array of relative file size predictions

and (b) using the array of pre-computed relative file size predictions to calculate the relative file size prediction.

18. A method as defined in claim 17, wherein the information about the at least one quality-controlling parameter of the image before transformation of said image comprises a quality factor QF in of the image before transformation of said image, the information about the at least one quality-controlling parameter for application to the image during transformation of said image comprises a desired quality factor QF 0Ut of the image after transformation of the image, and wherein pre- computing the array of pre-computed relative file size predictions comprises: quantizing the quality factor QF 1n , the quality factor QF 0Ut and the scaling factor z to obtain quantized quality factors and a quantized scaling factor ; determining a set of images having values for QF m which contains all the images of a collection of images having the same original quality factor quantized to , values for the output quality factor QF out quantized to , and values for the scaling factor z quantized to z ; and calculating the array of pre-computed relative file size predictions using the following relation:

where s() is a relative size observation, and is a cardinality of the set

19. A method as defined in claim 18, wherein calculating the file size prediction of the image after transformation of said image comprises using the following relation:

where S(I) is a compressed file size of the image / before transformation of said i immaaπgpe.

20. A method as defined in claim 17, wherein calculating the relative file size prediction comprises:

(a) associating to each image of a set of images a vector representative of characteristics of said images and (b) partitioning the set of images into classes of images associated to similar vectors; calculating, for each class of images, a centroid which represents a prototype of the vectors associated to the images of the class; and computing an array of relative file size predictions for each centroid, said array having at least two dimensions including the information about a change of at least one quality-controlling parameter and the scaling factor.

21. A method as defined in claim 20, comprising calculating the vector associated to each image / by using the relation:

where a is a scale constant, and W(I), H(I) and QF(I) are respectively a width, a height and a quality factor of the image /.

22. A method as defined in claim 20, wherein calculating the file size prediction of the image after transformation of said image comprises using the file size of the image before transformation of said image and an entry of the array of pre-computed relative file size predictions.

Description:

TITLE OF THE INVENTION

SYSTEM AND METHOD FOR PREDICTING THE FILE SIZE OF IMAGES SUBJECT TO TRANSFORMATION BY SCALING AND A CHANGE OF QUALITY-CONTROLLING PARAMETERS

FIELD OF THE INVENTION

[0001] The present invention generally relates to image transcoding.

More specifically, the present invention is concerned with a system and method for predicting the file size of images subject to transformation by scaling and a change of quality-controlling parameters.

BACKGROUND OF THE INVENTION

[0002] Nowadays, the heterogeneous nature of mobile terminals, electronic devices, communications and multimedia applications renders multimedia transcoding inevitable. For example, in the emerging Multimedia Messaging Service (MMS), server-end adaptation is necessary to ensure interoperability when the destination mobile terminal cannot handle the received media under its current format. Image-related interoperability problems mainly originate from excessive resolution or file size. Accordingly, image transcoding operations commonly involve image scaling and file size reduction.

[0003] Although reducing the resolution of an image is a well-known and deterministic problem, reducing efficiently the compressed file size of an image in order to meet a given target remains a challenge. For example, in the lossy JPEG (Joint Photographic Experts Group) format, the user typically controls a quality factor (QF), which affects the quantization process and therefore the compressed file size. Indeed, a higher QF leads to a better image quality and a larger file size. However, a precise relationship between the QF and the compressed file size still lacks, since other image properties must also be taken

into consideration when establishing the relationship between the QF and the compressed file size.

[0004] A simple transcoding approach for file size reduction of an image may consist of decoding the image and then iteratively re-encoding the image with a different QF value until the given target size is met, within acceptable tolerance. Although functional, this approach is highly inefficient in terms of computations and is not acceptable for high volume image transcoding servers.

[0005] Several studies have investigated the relationship between quantization and file size, or the bitrate. Although these studies provide interesting results, they are difficult to implement in the proposed context of predicting a JPEG image file size subject to transformation by scaling and a change of QF value, because many assumptions do not hold. For example, most of the studies start from an original, artefact-free image. Also some of these studies were made in the context of MPEG video coding, which uses a simpler quantization scheme than JPEG. More importantly, these studies ignore scaling of the image as a bona fide adaptation strategy. The impact of these differences with the proposed context will be discussed herein below.

[0006] Furthermore, interesting methods have been proposed to address the specific problem of JPEG size adaptation (see for example Patent US 6,233,359 B1 granted to Ratnakar et al on May 15, 2001 and the article "Efficient transform-domain size and resolution reduction of images", by J. Ridge, Signal Processing: Image communication, 18(8):621-639, September 2003"). As discussed in the article of J. Ridge, the method of Patent US 6,233,359 B1 addresses complexity more than user experience and, also, this method is prone to undershooting file sizes, which represent two major shortcomings. Even though the method of J. Ridge provides much better results than the method disclosed in Patent US 6,233,359 B1 , these two methods still have major drawbacks or limitations, in particular their non-treatment of scaling as a file size reduction

strategy, so that there is a need to further investigate and improve the existing methods.

[0007] For example, the existing algorithms first require that some image statistics be gathered. By so doing, not only the complexity of the process is increased but also some level of re-engineering of the image compression tools is required, so that the JPEG encoder/decoder software has to become a specialized transcoder.

[0008] Secondly, those algorithms consider the resolution of the image as fixed, or independently altered in a previous stage, and focus solely on file size reduction. However, the study of the impact of changes in both quality-controlling parameters and scaling appears to be a necessity. Indeed, this will be useful so as to select the best combination of scaling and QF values which will meet terminal constraints. In particular, it is often better to have a lower resolution, high quality image than a high-resolution image with poor quality.

OBJECT OF THE INVENTION

[0009] An object of the present invention is to provide a system and method for predicting a file size of an image subject to transformation by scaling and changes of quality-controlling parameters, these system and method capable of overcoming the above discussed problems and drawbacks.

SUMMARY OF THE INVENTION

[0010] More specifically, in accordance with the present invention, there is provided a method for predicting a file size of an image subject to transformation by scaling and a change of at least one quality-controlling parameter, comprising: receiving (a) the file size of the image before transformation of the image, (b) information about at least one quality- controlling parameter of the image before transformation of the image, (c)

information about at least one quality-controlling parameter for application to the image during transformation of the image, and (d) a scaling factor for application to the image during transformation of the image; calculating a relative file size prediction on the basis of the received information about quality-controlling parameters and scaling factor; and calculating a file size prediction of the image after transformation of the image, wherein the file size prediction of the image after transformation of the image is calculated as a function of the file size of the image before transformation of the image and the calculated relative file size prediction.

[0011] The present invention also relates to a system for predicting a file size of an image subject to transformation by scaling and a change of at least one quality-controlling parameter, comprising: an input for receiving (a) the file size of the image before transformation of the image, (b) information about at least one quality-controlling parameter of the image before transformation of the image, (c) information about at least one quality-controlling parameter for application to the image during transformation of the image, and (d) a scaling factor for application to the image during transformation of the image; a calculator of a relative file size prediction on the basis of the received information about quality- controlling parameters and scaling factor; and a calculator of a file size prediction of the image after transformation of the image, wherein the file size prediction of the image after transformation of the image is calculated as a function of the file size of the image before transformation of the image and the calculated relative file size prediction.

[0012] The foregoing and other objects, advantages and features of the present invention will become more apparent upon reading of the following non-restrictive description of illustrative embodiments thereof, given by way of example only with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In the appended drawings:

[0014] Figure 1 is a schematic block diagram of a first system for predicting the file size of an image subject to transformation by scaling and a change of quality-controlling parameter, in accordance with a first non-restrictive, illustrative embodiment of the present invention;

[0015] Figure 2 is a flow chart illustrating the training phase of a first method (corresponding to the first system of Figure 1) for predicting the file size of an image subject to transformation by scaling and a change of quality-controlling parameter, in accordance with the first non-restrictive, illustrative embodiment of the present invention;

[0016] Figure 3 is a schematic block diagram of a second system for predicting the file size of an image subject to transformation by scaling and a change of quality-controlling parameter, in accordance with a second non- restrictive, illustrative embodiment of the present invention;

[0017] Figure 4 is a flow chart illustrating the training phase of a second method (corresponding to the second system of Figure 3) for predicting the file size of an image subject to transformation by scaling and a change of quality-controlling parameter, in accordance with the second non-restrictive, illustrative embodiment of the present invention;

[0018] Figure 5 is a graph illustrating a geometrical interpretation of an estimator S or its equivalent array

[0019] Figure 6 is a graph of an example of clustering; and

[0020] Figures 7a and 7b are graphs showing the percentage of zeros as a function of the file size (bytes).

DETAILED DESCRIPTION

[0021] Generally stated, a system and method according to the non- restrictive illustrative embodiments of the present invention will predict the file size of an image, which has already been compressed and which is subject to transformations by both scaling and changes of quality-controlling parameters.

[0022] Also, although the system and method according to the non- restrictive illustrative embodiments will predict the file size of a JPEG image subject to transformation by scaling and a change of at least one quality-controlling parameter, in this case the QF (Quality Factor), it should be kept in mind that the same concepts can be applied to other types of formats such as GIF (Graphics Interchange Format) as well as other image formats that have other quality- controlling parameters such as the number of colors, the color depth, the color component sampling structure (4:4:4, 4:2:2, 4:2:0, etc), horizontal and vertical resolutions, subsampling factors, etc. This invention is mostly described with one quality-controlling parameter for clarity and to help keeping the description simple but it extends to many quality controlling-parameters; this will be explained in more detail hereinafter.

[0023] The system and method according to the non-restrictive illustrative embodiments of the present invention will also select a proper combination of scaling and QF that meets a certain size constraint. Furthermore, in order to minimize processing complexity, the system for the prediction of the file size, hereinafter referred to as predictor of file size, uses values which are readily available and easily accessible from the image.

[0024] However, before further defining the predictor of file size, the concept of training and testing image corpus will be described.

[0025] For the purpose of testing a predictor of file size and/or a file size prediction method, a corpus of images is used. A useful corpus is formed of a collection of exemplars - in our case, images - representative of the population to be studied. Currently, typical JPEG databases are not widely available; therefore, one has to build his/her own database or image corpus. For example, images can be gathered from the Internet to form the image corpus. Indeed, a crawler can easily follow links starting from popular web pages, which ensures trendiness, and then grab any image media that it comes across. Furthermore, anonymization and uniqueness of the images in the image corpus can be ensured by renaming files using unique identifiers, for example identifiers generated by strong hash functions such as MD5 (Message Digest 5) applied to the entire files. Also, collisions can be safely ignored. A strong hash function, such as MD5, computes a digital signature from a document which can then be reliably used to identify the document for which it has been computed. Very strong hash functions like MD5 are extremely unlikely to produce the same digital signature for two different documents, thus enabling a very reliable method of detecting identical files.

[0026] In addition, the image corpus is divided into two random disjoint sets: a training set of images and a test set of images. The training set contains images used to optimize the model and method of prediction, while the test set is used to actually test the optimized model and method of prediction. Since the corpus presents a rather limited number of exemplars, new exemplars are generated by applying a large number of possible transformations, both in quality- controlling-parameters and in scaling, whereby the model can be populated with a much greater and useful exemplar population.

[0027] Currently used image file size prediction systems and methods, such as i) polynomial prediction and ii) p - domain prediction systems and methods will now be described.

i) Polynomial Prediction

[0028] Polynomial prediction uses a low order polynomial in order to formulate a prediction. If computing a polynomial fit on one-dimensional data is a simple task, however, adding more variables to the fit increases exponentially the number of points that need to be computed. Indeed, if the technique from Lin et al. (Article "Rate control using spline-interpolated R-D characteristics", in Procs. VCIP'96, pages 111-122, 1996) is generalized to use a polynomial of order d in n variables, then, there is a need to solve (d + 1)" equations in (d + 1) n unknowns. For each of these (d + 1)" equations a point on the curve needs to be evaluated. With the method proposed by Lin et al., this means that a partial transcoding for each point needs to be performed, which results in an unacceptable amount of computation.

[0029] Furthermore, it is unclear what is the optimal order d of the polynomial (or even if it is a polynomial at all) and what n variables should be included in the prediction. At least the scaling and the desired output quality factor QF out should be used to formulate a prediction; the input quality factor QF 1n is implicit in the image itself and, therefore, participates to the computation when the (d + 1) n points are computed. Because this procedure is computationally prohibitive, it was decided not to study its behavior in depth.

[0030] It should be noted that QPs (Quantization Parameters) and QFs

(Quality Factors) are inversely related. A high QP means a more aggressive quantization while a high QF means higher quality and therefore less aggressive quantization. QPs are directly related to quantization in schemes such as those used in Standard H.263. However, in JPEG, QFs are related to quantization through two successive steps: a first step in which a piecewise transfer function is used and a second step in which a quantization matrix is used. The quantization

matrix scales the DCT (Discrete Cosine Transform) coefficients before encoding. It should be pointed out that, in the present specification, QF refers to the JPEG quality factor, as understood by the Independent JPEG Group (IJG).

ii) p -domain Prediction

[0031] In p -domain prediction, an accurate prediction of the bitrate is calculated based on an estimate of the number of zeros resulting from quantization.

[0032] In p -domain prediction, it is assumed that i) the image is never resized, ii) the target bitrates are very low, and iii) the original images are available to the compressor. In the context of Standard H.263, the first two assumptions i) and ii) can be validated. However, assuming that the original images are available to the compressor (assumption iii)) is not valid in the context of image adaptation and transcoding; as mentioned hereinabove, original and raw images are generally not available to the transcoding engines.

[0033] p -domain prediction uses the cruder quantization of Standard

H.263. JPEG uses a quantization matrix that can be customized, while Standard H.263 uses a simpler uniform quantizer. The additional complexity introduced by the quantization matrix renders the model of p -domain prediction less amenable to

JPEG adaptation.

[0034] Figures 7a and 7b show that a predictor according to p -domain prediction is linear within a region of very low QFs. More specifically, the number of zeros varies linearly with bitrate but at low bitrates only. However, linearity is lost if broader ranges of bitrates are considered, as shown in Figure 7b. Also, very low QFs are not acceptable for still picture coding using JPEG because they lead to artifacts and poor perceived image quality. When maximizing the user experience, the highest possible QF should be considered while meeting file size constraints.

[0035] Furthermore, p -domain prediction is expensive, in terms of computation, and supposes a different range of quantization parameter values.

[0036] Not only polynomial prediction and p - domain prediction are rather complex, they also present drawbacks. First, polynomial prediction and p - domain prediction make assumptions that, often, do not hold in transcoding, such as using an original image. Secondly, polynomial prediction and p -domain prediction ignore the operation of scaling for reducing the file size. Therefore, their estimation does not lead to a joint estimation of scaling and QF reduction, p - domain prediction assumes that, when scaling happens, it happens before the transcoded file size prediction, which does not allow one to formulate an adaptation strategy for file size reduction based on both scaling and quality factor. Polynomial prediction can, theoretically, include scaling as well, but the computational cost of doing so is prohibitive, as the number of transcoding needed grows exponentially with the number of variables used. Ignoring scaling as an adaptation strategy is a major shortcoming since it may well be that, in order to maximize the user experience, an image is to be scaled down and encoded with a higher QF rather than just being recompressed with a lower QF. Thus, a predictor of file size should be able to take into consideration scaling as well as, in addition, QF changes.

[0037] Furthermore, it would be interesting to obtain a predictor of file size that does not use image data besides the width, height, scaling and QF of the image. Also, the predictor of file size should be able to use information about other images so as to formulate a prediction about the present image. Therefore, non- parametric methods would be advantageously used.

[0038] Non-parametric modeling differs from parametric modeling in the number of internal parameters which is usually rather large and that these parameters are loosely organized so as to enable the discovery of structure. On the contrary, parametric modeling uses a fixed and small number of parameters, each assigned with very specific role by a priori assumptions.

1. First transformed image file size predictor

[0039] Generally stated, a predictor of file size according to a first non- restrictive illustrative embodiment of the present invention predicts the file size of an image subject to transformation by scaling and a change of quality factor by considering the compressed file size of the image before transformation of that image multiplied by a certain prediction factor, referred hereinafter as the relative file size prediction.

[0040] Turning now to Figure 1 , a predictor of file size 10 according to the first non-restrictive, illustrative embodiment of the present invention will be described. The predictor of file size 10 is generally used in a transcoding engine (not shown). However, it is within the scope of the present invention to use the predictor of file size 10 in devices other than transcoding engines, for example in encoders and decoders, etc.

[0041] In transcoding, media characteristics such as the type of media, the resolution, etc., are typically used to determine if adaptation is needed. Those parameters can usually be obtained without decompressing a compressed media. For example, scanning the file header of the compressed media is often sufficient. In a predictor of file size, using parameters based on metrics that require decompression of the compressed image or any pixel-level computations is very expensive in terms of computations and requires almost the same time and power of processing as actual transcoding. Therefore, parameters of this type are avoided.

[0042] Characterization data are used as inputs to the predictor of file size 10. For example, in the case of JPEG images, the characterization data could

be the resolution, such as the width and height of the image, the quality factor QF, the subsampling method, or any other information readily available from the image.

[0043] In the first non-restrictive, illustrative embodiment of the present invention as illustrated in Figure 1 , the predictor of file size 10 is supplied as inputs 11 with i) the file size S(I) of the image / before transformation of that image, ii) the original quality factor QF 1n of the image / before transformation, iii) the desired output quality factor QF 0Ut for application to the image during transformation and iv) a scaling factor (zoom factor) z for application to the image during transformation, with 0 < z ≤ 1.

[0044] Referring to Figure 1 , the predictor of file size 10 comprises a quantizer 14 for quantizing the original quality factor QF in , the output quality factor QF out and the scaling factor z to obtain quantized quality factors and a quantized scaling factor . Quantizers are well known to those of ordinary skill in the art and, therefore, will not be further described in the present specification.

[0045] The predictor of file size 10 also includes an array-based, relative file size prediction calculator 16 for pre-computing relative file size predictions, based on a prediction array which will be described hereinbelow. This yields the prediction function 15, which gives a relative compressed file size prediction of the image / to which the desired output quality factor QF 0Uf and the scaling factor (zoom factor) z have been applied.

[0046] Finally, the predictor of file size 10 comprises a transformed image file size prediction calculator 18 supplied with the compressed file size S(I) of the image / before transformation of that image and the prediction function to compute a file size prediction 19 of the image / after transformation (image J) as follows:

where the function s() is the relative size prediction, which is given by:

yielding output 19 of Figure 1.

[0047] The function represents the exact function of the file size of the transformed image J, with the desired QF 0Ut and scaling z. The function is given by:

[0048] where S(J) is the compressed file size of the transformed image

J and T{J,QF O u t ,z) is the function that returns the compressed, transformed image J after it is applied both scaling z and the change of quality factor to QF 0Ut . The expression is the compressed file size function related to the transformed image J using the desired output quality factor QF 0Ut and the scaling factor z.

[0049] It should be noted that is the subset of images having

the same QF as the image / in the training set T and is the cardinality of the subset And the function can be, for example, a complete JPEG transcoder.

[0050] Also, it should be noted that represents an optimal least mean square estimator. Indeed, it can be readily verified that:

[0051] However, since the function is expensive in terms of computation, an array of relative file size predictions can be pre-compute using that function so as alleviate the computational complexity. Therefore, the relative file size prediction calculator 16 is used with an array M of pre-computed file size predictions whose indexes are the quantized quality factor of the image before transformation of the image, the desired quality factor for application during transformation of the image, and the scaling factor for application during transformation of the image. Quantized values are denoted by the tilde (~) symbol.

[0052] Suitable quantization will prevent context dilution while allowing the array M to be searched efficiently. The values can be quantized through a conventional quantizer (not shown). Since quantizers are well-known to those of ordinary skill in the art, they will not be further described in the present specification.

[0053] As indicated hereinabove, the inputs of the array-based relative size prediction calculator 16 comprise the quantized quality factor of the image before transformation of the image, the desired quantized output quality factor of the image during transformation of the image and the quantized scaling factor z for application during transformation of the image and the array- based relative file size prediction calculator 16 comprises a relative file size prediction array calculator (not shown) supplied with these inputs to pre-compute an array of relative file size predictions. An entry of the array M is given by the following equation:

where are functions that return the QF used during the transformation, or QF out , and the scaling factor z, respectively. The function (Equation (5)) returns the observed relative file size change when the transformed image J is applied the given transformation. The set represent a set of cardinalities of all images with quality factors and scaling factors that fall within the corresponding quantization cells. A quantization cell is the set of all values that quantize to a same given value. By the cells , it is meant the set of all values of QF in , QF out and z that quantize to respectively. Here, is a set of images having values for

QFj n which contains all the images of a collection of images having the same original quality factor quantized to the values for the output quality factor

QF out quantized to and the values for the scaling factor z quantized to (that is the intersection of the three sets If more quality-controlling parameters (beyond QF) were used, they would be quantized as well in a parameter-specific appropriate manner and used as yet more dimensions to the prediction array. The function s() is the exact relative file size prediction observed when the image J was transformed.

[0054] Accordingly, denotes a slice of the array M, i.e. an array with indices and Έ . For example, the array optimized from the image training set T is shown in Table 1.

[0055] The array-based relative size prediction calculator 18 of the predictor or file size 10 is responsive to the relative file size prediction and the file size S(I) of the image / before transformation of the image to calculate the predicted file size 19 of the image / after transformation (image J) using the transformed image file size prediction calculator 18 as follows:

[0056] It should be pointed out that the function S(I) embeds some of the information about the image / that other systems and methods extract explicitly at larger cost, in terms of computation. S(I) can be thought of as a hash function of

the image / that retains information about the characteristics of the image and injects them into the transformed image file size prediction calculator 18.

[0057] The predictor of file size 10 according to the first non-restrictive illustrative embodiment is a non-parametric predictor.

2. First array calculator and training method

[0058] Turning now to Figure 2, the training phase of the array-based relative file size prediction calculator 20 according to the first method is described. Such a method can be implemented for the predictor of relative file size 10.

[0059] In operation 21 , an image corpus is acquired. The means for such acquisition is beyond the scope of the present specification, but a non- restrictive illustrative embodiment is a web crawler or any other means of conducting a reliable survey of images existent. Images obtained on-the-fly by a transcoder can also be used for training.

[0060] In operation 22, each image in the corpus is used to generate any desired number of exemplars. In sub-operation 23 a large number of images on which were applied quality-controlling parameters changes and scaling, typically in a way that is compatible with the quantization scheme used in the predictor of file size 10 is generated from an image extracted from the corpus. With each exemplar are stored its quality factor QF 1n , quality factor QF 0Ut and scaling factor z.

[0061] In sub-operation 24, each of the generated exemplar is added to the exemplar list that also includes the original images from the corpus. Operation 22 is repeated as long as there are images left unprocessed in the corpus.

[0062] In operation 26, the array M is computed. Each exemplar generated in operation 22 is now processed to compute the array M.

[0063] In sub-operation 27, data extracted from a given examplar is quantized. The values of its quality factor QF in , quality factor QF out and scaling factor z are quantized to and

[0064] In sub-operation 28, the quantized quality factors and and the quantized scaling factor I are used to update the array M.

[0065] After operation 26, the array M contains the relative file size prediction for all images. According to equation (5):

where s() is calculated according to Equation (3). is a subset of all images having the same quantized quality factor as is the subset of all the images having the same quantized output quality factor as is the subset of all the images having the same quantized scaling factor as is the intersection of these three sets as described in equation (5).

[0066] The array-based relative file size prediction calculator 20 of

Figure 2 is time adaptive. For example, for updating the prediction, it is possible to add a new exemplar in Equation (2), that is, going through sub-operations 27 and 28 only. It can also be made trend adaptive by removing the oldest exemplars from the prediction set. Fortunately, when doing so, no storage of the images is required; only the transform values (quality factor and scaling factor), timestamp, and the relative file size after transformation of the image need to be stored.

[0067] It should be noted that the update time in the array-based relative file size prediction calculator 20 of Figure 2 is of order 0(1). By 0(1), it is

meant that the number of operations needed to update the the array-based relative file size prediction calculator 20 is constant, i.e. it doesn't depend on the number of images in the training set.

3. First set of numerical examples

[0068] Experiments have been carried out using the predictor of file size

10 of Figure 1 and the relative file size prediction array calculator 20 of Figure 2. The results are presented in the above Table 1. For example, Table 1 shows the array , optimized from the image training set and calculated according to equation (5).

[0069] The corpus used in the simulations contained 70,300 JPEG files.

The corpus was free from corrupted files and all metadata, such as EXIF tags, are removed. EXIF is a common extension to many image formats, including JPEG, that holds extra information about the picture or image, especially when originating from a digital camera. EXIF extensions are used to store data such as exposure details, color balance, camera brand name, and other digital photography information. For each original exemplar (image) in the corpus, 100 (one hundred) exemplars were generated using different quality factors QF out and scaling factors z. The split between the training set and the test set is about 80/20.

[0070] Table 2 shows the expected absolute error 100% for the prediction array . It can be seen that the prediction error is minimal around = 80 and = 100% . The prediction error is maximal when and and scaling factor differ the most, for example at the upper left of Table 2. Also, the portion of Table 2 which is in gray represents the region of expected absolute errors of 10% or less.

[0071] Table 3 gives the probabilities that the absolute relative error is under a certain threshold β , for typical quality factors such as QF 1n = QF 0Ul = 80. The probabilities are given by:

for different β and

[0072] It should be noted that the distribution of errors spreads further away from scaling of 100%, as can be expected.

[0073] Turning now to Figure 5, a geometrical interpretation of the estimator and the quantized arrays is given.

[0074] Figure 5 illustrates a series of boxes such as 50 which represent a row of the array corresponding to , with scaling factors quantized to the nearest 10%.

[0075] Above each box 50, the distribution of the actual values of of all images which participated in the computation of the estimator

is plotted. The distribution of the images is indicated by points. A thin line

51 joins the different least mean square estimators s ; this clearly shows that the surface is not very smooth.

[0076] The plots show the quartiles (rectangles such as 52) and the

5%/95% limits are indicated by dashes such as 53. It can be seen from Figure 5 that the distribution is not a very spread distribution, allowing good amortized bounds on the prediction error, for example.

[0077] Some points lying far away above or below of the quartiles can be spotted in Figure 5. Those points are outliers. Some outliers are images whose files are mostly composed of overhead. When images have a very low resolution, QF and scaling changes affect very little the overall file size because the compressed data is already small compared to the file format overhead, such as headers, markers, etc. However, when the original scale of the image is ignored, then the predictor of file size can break down because a least mean square estimator, given by Equation (1), is sensitive to outliers. Therefore, the original resolution should be included as a prediction parameter.

4. Second transformed image file size predictor

[0078] A predictor of file size 30 according to a second non-restrictive, illustrative embodiment of the present invention will now be described. The predictor of file size 30 takes into consideration the original resolution of the images and thus the presence of outliers.

[0079] Now turning to Figure 3, the predictor of file size 30 according to the second non-restrictive, illustrative embodiment of the present invention comprises a parameter quantizer 32, and a cluster-based relative file size prediction calculator 34 to produce a relative file size prediction 35.

[0080] The predictor of file size 30 is supplied with inputs 31 including the original file size S(I), the original quality factor QF(I) (denoted QF 1n ), the width W(I) and the height H(I) of an image / before transformation of the image, as well as the desired quality factor QF out and desired scaling factor (zoom factor) z after transformation of the image. The output 37 of the predictor 30 yields the file size prediction of the image / after transformation of the image to which the scaling factor z and quality factor QF out have been applied.

[0081] The quantizer 32 processes the quality factor QF 0111 and scaling factor z to produce a quantized quality factor and quantized scaling factor , respectively, to serve as inputs to the cluster-based relative file size prediction calculator 34.

[0082] A centroid determination also occurs in quantizer 32, which yields an array for image / from its width W(I), height H(I) and original quality factor QF 1n to serve as input to the cluster-based relative file size prediction calculator 34. If more quality-controlling parameters were used, they would be appended in the vector x, (to be defined hereinafter) of .

[0083] The cluster-based relative file size prediction calculator 34 receives as input the array , the quantized quality factor and the quantized scaling factor from the quantizer 32 to formulate the relative file size prediction 35.

[0084] Then, the transformed image file size prediction calculator 36 computes the file size prediction 37 of the image / after transformation (image J) using the output 35 from the calculator 34 as follows:

where the function is the relative size prediction 35.

[0085] As described hereinabove, in cases such as with the presence of outliers, the small resolution of an image breaks down the above described predictor of file size 10. To overcome this issue, segmenting the image space into regions is performed, where regions of similar resolutions are grouped together. To do that, the exemplars generated from the corpus of images will be split into classes using clusters. Furthermore, the use of clustering allows for optimizing a least mean square estimator for each class, thus further minimizing the error of prediction.

[0086] It should be noted that clustering is an unsupervised learning technique that partitions data in a given number of disjoint subsets, called classes, so that data in each subset are maximally similar under a chosen metric. For each subset, a representative value or prototype is computed. Generally, the prototype is the centroid of the subset. Clustering is therefore synonymous with probability distribution function optimized vector quantization where the quantization levels are the centroids of the classes.

[0087] Turning now to Figure 4, a cluster calculator 44 associates to each image / in the training set T a vector such as , where a is a scaling constant to bring the quality factor dimension to the same order of magnitude as width and height. W(I), H(I), and QF(I) are the width, height and QF of the image / respectively. Were we to use more quality-controlling parameters, they would be appended in the vector x / , and they would be taken into account by this second algorithm.

[0088] The number k of classes is chosen prior to clustering. Those of ordinary skill in the art know how to choose such a number k of classes. For example, the parameter k is sufficiently large to reduce the error and yet sufficiently small to avoid context dilution.

[0089] Still referring to Figure 4, the acquisition of the corpus 41 proceeds in the same way as operation 21 in Figure 2.

[0090] The generation of new exemplars 42 proceeds in the same way as operation 22 in Figure 2 except that sub-operation 24 in Figure 2 is replaced by a sub-operation 43 consisting of creating vectors with additional information QF 0Ut and z.

[0091] Therefore, the operation 42 creates exemplar vectors needed by the cluster calculator 44 to calculate a partition C of the training set T of images into a number k of classes.

[0092] By definition, the partition C is given by and will satisfy

[0093] Furthermore, an optimal partition C * will minimize the expected squared distance between any vector x, , with I e T , and its assigned centroid.

The optimal partition C * is given by:

where is the familiar L 2 norm, T is the transpose function, and X 1 is the prototype of the class C 1 .

[0094] An example of clustering is shown in Figure 6. In Figure 6, all the images have a QF = 80 so that the computed file size prediction can be visualized in two dimensions. However, the real partitions span the three (3) dimensions of width, height and quantized QF.

[0095] After the number k of classes has been decided, the cluster calculator 44 (see 45) calculates the classes or clusters using the k-means algorithm. Then a prototype calculator (see 45) calculates the centroid , as follows:

which represents the prototype of all vectors in class C 1 .

[0096] The complexity of computing the optimal partition C makes it computationally infeasible. However, it can be approximated with high precision using the /r-means algorithm, as disclosed in the article by Leon Bottou and Yoshua Bengio entitled "Convergence properties of the K-means algorithms" in G. Tesauro, D. Touretzky and T. Leen, editors, Advances in Neural Information Processing Systems, volume 7, pages 585-592, The MIT Press, 1995. Similar to Newton's algorithm, the /c-means algorithm has superlinear convergence which, in practice, means that a relatively small number of iterations is required for a good approximation. The details and properties of /c-means is believed to be well known to those of ordinary skill in the art and, for that reason, will not be further described in the present specification.

[0097] Once the classes or clusters C are computed, the array calculator (see 47 to 49 in Figure 4) computes an array of relative file size prediction for each computed centroid

[0098] Each of these prediction arrays has two dimensions in the illustrative embodiment (but would have more if more quality-controlling parameters were used) the quantized output quality factor and the quantized scaling

factor z . Quantization is performed in operation 48. Each entry of those arrays is computed as the following:

where is an image that was assigned to the class C 1 , of cardinality and with centroid

[0099] In order to find an estimator associated to an image J resulting from transformation of an image /, the closest centroid is first computed in operation 47 as follows:

[00100] Finally, the cluster-based relative file size prediction calculator of the predictor of file size 30 (Figure 3) yields the relative file size prediction 35, and the file size prediction 37 is computed in the calculator 38 according to the following equation:

[00101] It should be noted that the cost, in terms of computation, in the predictor 30 is limited to the cost of computing the closest centroid, which can be computed efficiently using adequate data structures (for details see Jean-Daniel Boissonnat and Mariette Yvinec, "Algorithmic Geometry", Cambridge University Press, 1998). Once located, the array M X - ι can be searched in constant time to produce the value of

5. Second array calculator and training method

[00102] Referring back to Figure 4, the second method of training the relative size prediction array calculator 40 according to the second non-restrictive, illustrative embodiment of the present invention will now be described.

[00103] The second training method can be implemented for the predictor of file size 30.

[00104] In operation 42, each image in the corpus is used to generate any desired number of exemplars. In operation 42, a large number of images on which were applied quality-controlling parameters changes and scalings, typically in a way that is compatible with the quantization scheme used in the cluster-based relative file size prediction calculator 34, is generated from an image drawn from the corpus. With each exemplar J are stored its vector as well as QF out and z.

[00105] In sub-operation 43, each of the generated exemplar is added to the examplar list that also includes the original images from the corpus. Operation 42 is repeated as long as there are images left unprocessed in the corpus.

[00106] In the cluster calculator 44, a number k of classes or clusters is specified.

[00107] In operation 45, the clusters and centroids are computed. A centroid is calculated for each cluster or class C 1 for 1 < i ≤ k , using Equation (9). The arrays are created, but not filled.

[00108] In operation 46, the arrays associated to the centroids are populated.

[00109] In operation 47, for each exemplar J, the quality factor QF 1n (J), width H(J) and eight H(J) before transformation of the image are used to find the corresponding centroid and its associated prediction array. The centroid which is the closest to the image / is computed using Equation (11).

[00110] In operation 48, the desired quality factor QF 0Ut after transformation of the image and scaling factor z are quantized to become respectively 1 and

[00111] Finally, in operation 49, the array M 1J of relative file size predictions is updated using and after application of the desired quantized quality factor and scaling, using Equation (12).

6. Second set of numerical examples

[00112] In experiments, k was chosen such that k=200. It was found empirically that

[00113] Results are presented in Table 4. Table 4 illustrates the expected absolute error for clustered prediction array for images in the corpus with QF m = 80. The expected absolute error is given by equation (7).

[00114] As with the predictor of file size 10, the minimum errors in the predictor of file size 30 is concentrated around = 80, with = 100%.

And the maximal prediction error is given by the portion of Table 4 where and scaling factor differ the most, for example, in the upper left of Table 4.

Similar to Table 2, the gray portion of Table 4 corresponds to the expected absolute errors of 10% or less. However, when comparing the two (2) gray portions of Tables 2 and 4, the expected absolute errors of Table 4 are significantly smaller than those of Table 2, thanks to the use of clusters. For example, the errors went down from 112.93% to 24.82%, from Table 2 to Table 4, in the most difficult transcoding setting, i.e. with = 10 and = 10%.

[00115] Again, although the system and method according to the non- restrictive illustrative embodiments predict the file size of a JPEG image subject to transformation by scaling and a change of quality-controlling parameter, in this

case the QF (Quality Factor), it should be kept in mind that the same concepts can be applied to other types of formats such as GIF (Graphics Interchange Format) and other quality-controlling parameters such as the number of colors, the color depth, the color component sampling structure, etc., and transformations such as color enhancement and cropping.

[00116] Although the present invention has been described in the foregoing description by means of non-restrictive illustrative embodiments, these illustrative embodiments can be modified at will within the scope of the appended claims without departing from the spirit and nature of the subject invention.