Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ADAPTIVE IMAGE UP-SCALING TECHNIQUE
Document Type and Number:
WIPO Patent Application WO/2009/038154
Kind Code:
A1
Abstract:
A method for scaling an image includes providing one filter or a filter based on a set of filters, both being based upon a low-resolution data set and a high-resolution data set suitable for up-scaling a low-resolution image to a high-resolution image. The filter based on a set of filters can be collectively representative of at least a portion of an image space and a substantial number of the set of filters are representative of a different at least one selected from a volume and a shape within the image space. A low-resolution image is received and generates a corresponding high-resolution image based upon the filter.

Inventors:
PAN HAO
XU XINYU
Application Number:
PCT/JP2008/066906
Publication Date:
March 26, 2009
Filing Date:
September 11, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SHARP KK (JP)
PAN HAO
XU XINYU
International Classes:
G06T3/40; H04N1/387; H04N7/01
Foreign References:
JP2004266381A2004-09-24
JPH05328185A1993-12-10
JPH1093929A1998-04-10
JPH0327670A1991-02-06
JPS62140179A1987-06-23
Attorney, Agent or Firm:
HARAKENZO WORLD PATENT & TRADEMARK (2-6 Tenjinbashi 2-chome Kita,Kita-ku, Osaka-shi, Osaka 41, JP)
Download PDF:
Claims:

CLAIMS

1. A method for scaling an image comprising:

(a) generating a low-resolution data set from a high- resolution data set;

(b) generating a filter based upon said low-resolution data set and said high-resolution data set suitable for up- scaling a low- resolution image to a high-resolution image;

(c) wherein said filter is a segmented linear filter; (d) receiving a low-resolution image and generating a corresponding high-resolution image based upon said filter.

2. The method of claim 1 wherein said filter is generated as a result of a regression technique.

3. The method of claim 2 wherein said regression technique is a least square.

4. A method for scaling an image comprising: (a) generating a low-resolution data set from a high- resolution data set;

(b) generating a filter by merging a set of filters based upon said low-resolution data set and said high- resolution data set suitable for up-scaling a low-resolution image to a high-resolution image;

(c) wherein said set of filters is determined based upon a weighting factor, a breakpoint factor, and an error factor using an iterative technique;

(d) receiving a low-resolution image and generating a corresponding high-resolution image based upon said filter.

5. The method of claim 4 wherein said filter is generated as a result of a regression technique.

6. The method of claim 5 wherein said regression technique is non-linear.

7. A method for scaling an image comprising:

(a) providing a filter by merging a set of filters based upon a low-resolution data set and a high-resolution data set suitable for up-scaling a low-resolution image to a high- resolution image;

(b) wherein said set of filters is collectively- representative of at least a portion of an image space and a substantial number of said set of filters are representative of a different at least one selected from a volume and a shape within said image space;

(c) receiving a low-resolution image and generating a corresponding high-resolution image based up said filter.

8. The method of claim 7 wherein said generating is based upon a classification process.

9. The method of claim 8 wherein said classification process includes regression.

10. The method of claim 7 wherein said filter is based upon minimization of an error of said set of filters for a data set.

1 1. The method of claim 8 wherein said classification process includes multi-way splits of a predictor variable.

12. The method of claim 7 wherein said filter is based upon using a dimension-wise statistical technique .

13. The method of claim 8 wherein said classification requires no more than N comparisons, where N is the number of pixels in a window used for said generating said high-resolution image.

14. The method of claim 7 wherein said filter is based upon a k-means clustering technique to reduce the number of coefficient sets.

15. The method of claim 14 wherein said k-means clustering technique is applied independently to a plurality of interpolated pixels of said high-resolution image.

16. The method of claim 15 wherein said k-means clustering technique is applied jointly to a plurality of interpolated pixels of said high-resolution image.

17. The method of claim 16 wherein said k-means clustering technique further includes adjusting the order of coefficients in said coefficient sets.

18. A device for up-scaling a low-resolution image, comprising: (a) an image display;

(b) an up-scaling filter;

(c) said up-scaling filter is based upon a low- resolution data set and a high-resolution data set suitable for up-scaling said low-resolution image to a high-resolution image; and

(d) said up-scaling filter is a segmented linear filter.

19. A computer program for execution on a computer embodied in a device for up-scaling a low-resolution image, said computer executes the steps of:

(a) generating a low-resolution data set from a high- resolution data set;

(b) generating a filter based upon said low-resolution data set and said high-resolution data set suitable for up- scaling a low- resolution image to a high-resolution image;

(c) wherein said filter is a segmented linear filter;

(d) receiving a low-resolution image and generating a corresponding high-resolution image based upon said filter.

20. A computer readable recording medium on which is stored said computer program of claim 19.

Description:

DESCRIPTION

ADAPTIVE IMAGE UP-SCALING TECHNIQUE

TECHNICAL FIELD

The present invention relates to image upscaling.

BACKGROUND ART

High definition televisions (HDTVs) include image up- conversion techniques to properly display standard definition video content on the high definition television at a high definition resolution. Traditional spatial up-conversion techniques include linear interpolation such as bilinear/ bicubic interpolation. Unfortunately, the linear techniques increases the number of pixels, but not the high frequency part of the spectrum, and therefore does not increase the perceived sharpness of the image.

To increase the perceived sharpness in the up-converted image, training-based content-adaptive techniques have been used. These types of training-based content-adaptive interpolation techniques have two phases: the training phase and the interpolation phase. The training phase is done offline by using a number of low-resolution (LR) images and their high-resolution (HR) counterparts as training data to define relationships between the LR images and the HR

images. In the training phase, different sets of linear filter coefficients are derived from the training data for different local contents. The interpolation phase is done on-line by- interpolating LR images not in the training data. In the interpolation phase, a set of the linear filter coefficients that is used to make a filter for a particular position in the LR image is chosen to interpolate HR pixels around those positions based on the local content. Locally the interpolation is based on linear filtering, but because of the content adaptation of the linear filter coefficients, globally this type of the technique is non-linear.

The foregoing and other objectives, features, and advantages of the invention will be more readily understood upon consideration of the following detailed description of the invention, taken in conjunction with the accompanying drawings.

DISCLOSURE OF INVENTION

An image up-scaling technique suitable for standard definition television images to high definition images preferably up-scales the image by a factor of 2 on each of its two orthogonal dimensions. It is to be understood that the techniques described herein can be used for any up-scaling factor, such as 2.2 , 4, or 10. The input image is referred to as the LR (low-resolution) image, and the output up-scaled

image is referred to as the HR (high-resolution) image . The upscaling factor is preferably 2 , so the HR image has four times as many pixels as the LR image . For example, if the input LR image has a resolution of 300x200 (a matrix of 300 columns and 200 rows) , then the image up-scaling technique outputs the up-scaled HR image with a resolution of 600x400 (a matrix of 600 columns and 400 rows) .

This method can also be used by a device for use in a high definition television to display the up-scaled high definition image through the use of a filter device that performs the image up-scaling technique.

BRIEF DESCRIPTION OF DRAWINGS

FIGS . l (a) - l (b) illustrates the relationship between low- resolution and high-resolution images wherein the LR images from FIG. l (a) and FIG. l (b) have the row indexes on the left- hand side and the column indexes on the top. The HR images from FIG. l (a) and FIG. l (b) have the row indexes on the right- hand side and the column indexes on the bottom. In FIG. l (a) the HR windows consist of four pixels and do not overlap, in

FIG. l (b) the HR windows consist of nine pixels that overlap.

FIG. 2 illustrates linear regression using one straight line to approximate the training samples (dots) .

FIG. 3 illustrates segmented linear regression using two lines to approximate the training samples (dots) .

FIGS. 4(a) -4(b) illustrates breakpoints per predictor variable, where FIG.4(a) illustrates one breakpoint per predictor variable, and FIG.4 (b) illustrates three breakpoints per predictor variable. FIG. 5 illustrates binary CART.

FIG. 6 illustrates multi-way CART. FIG. 7 illustrates HR and down sampled LR image. FIGS. 8(a) -8(b) illustrates relative positions between LR and HR pixel grids where white circles represent HR pixels and dark circles represent LR pixels. FIG.8(a) shows the LR pixels' positions half-HR-pixel off from HR pixels' positions, FIG.8(b) shows LR and HR pixels co-sited.

FIG.9 (a) illustrates LR and HR grids are half-pixel off and Fig.9 (b) illustrates LR and HR grids are co-sited, where white circles are HR pixels, dark circles are LR pixels and the gray circles are HR pixels being interpolated by the 3x3 window centered at (e, r) . Both FIG.9 (a) and FIG.9(b) show the row index of the LR image on the left-hand side, the row index of the HR image on the right-hand side, the column index of the LR image on the top, and the column index of the HR image on the bottom.

FIG. 10 illustrates the training phase .

FIG. 1 1 illustrates updating the weights by breakpoints. FIG. 12 illustrates updating the breakpoints by weights. FIG. 13 illustrates updating the breakpoint.

FIGS . 14 (a)- 14(d) illustrates LR windows and its generated HR pixels, where FIG. 14 (a) illustrates the LR window and its four generated HR pixels, FIG. 14(b) illustrates rotating the LR window by 90 degrees, FIG. 14 (c) illustrates rotating the LR window by 180 degrees and FIG. 14(d) illustrates rotating the LR window by 270 degrees.

FIG. 15 illustrates generating a HR window from a LR window in the interpolate phase.

FIG. 16 illustrates an image upscaling device.

BEST MODE FOR CARRYING OUT THE INVENTION

Referring to FIG. l (a) , the image up-scaling technique may be "window" based that defines windows on both input

LR and output up-scaled HR images. The "window" may be any set of continuous or discontinuous pixels. A LR window

100 is defined such that it is centered at pixel position (c, r)

102 of a LR image 104. The image upscaling technique generates either four or nine HR pixels (HR window 106) from the LR window 100 centered at or close to pixel position (2 c, 2 r) 108 in the HR image 120. The HR pixels 108, 1 10, 1 12 ,

1 14 form the HR window 106.

The image up-scaling technique moves the LR window

100 sequentially centered at every pixel of the input LR image

104, and each LR window generates a corresponding HR window. For example LR window 1 16 results in corresponding

HR pixels 1 18. The nearby LR windows typically overlap to a greater or lesser extent, while the nearby HR windows may or may not overlap depending upon the number of pixels generated from a LR window. If each LR window generates four HR pixels, then the HR windows will typically not overlap.

However, if each LR window generates nine pixels, then the HR windows will generally overlap. As illustrated in FIG. l (a) , four HR pixels are generated from one LR window and they form a HR window. It is also noted that the HR windows do not overlap.

Referring to FIG. l (b) , the image up-scaling technique may be "window" based that defines windows on both input LR and output up-scaled HR images. The "window" may be any set of continuous or discontinuous pixels. A LR window 200 is defined such that it is centered at pixel position (c, r)

202 of a LR image 204. The image upscaling technique generates either nine HR pixels (HR window 206) from the LR window 200 centered at or close to pixel position (2 c, 2 r) 208 in the HR image 220. The HR pixels 207, 208 , 209 , 210, 2 1 1 , 212 , 213, 2 14, 2 15 form the HR window 206.

The image up-scaling technique moves the LR window 200 sequentially centered at every pixel of the input LR image 204, and each LR window generates a corresponding HR window. For example LR window 216 results in corresponding HR pixels 2 18. The nearby LR windows typically overlap to a

greater or lesser extent, while the nearby HR windows may or may not overlap depending upon the number of pixels generated from a LR window. If each LR window generates four HR pixels, then the HR windows will typically not overlap, however, if each LR window generates nine pixels, then the

HR windows will generally overlap. In FIG. l (b) , nine HR pixels are generated from one LR window and they form a HR window. It is also noted that the HR windows do overlap.

The image up-scaling technique includes a training phase which generates the HR pixels from a LR window that is learnt from a number of LR images and their corresponding

HR versions (the training set) . Typically, a set of HR images are selected from which LR versions of the images are generated, which are then used for the training phase. Then in the interpolation phase, the image up-scaling technique uses learned knowledge to generate new HR images based upon the input LR images.

The image up-scaling technique may treat the training as a regression analysis problem that builds a mathematical model f(X) , from the M training samples to minimize the following mean square error: where Xi=[xι, i X2, . ... Xm, i] τ and Yi= [yi , . yz, i ... t/n, i] τ , i= l ,2... M, are the pixels in a LR and HR window in the

training data, respectively. By the terminology of regression analysis, Xi is a predictor variable vector in a m-dimensional predictor space, and Yi is a dependent variable vector in a n- dimensional dependent space. It is to be understood that other analysis techniques, may likewise be used.

Referring to FIG. 2 , the regression analysis determines a regression model. The technique may start with a simple regression model, such as a linear regression model. f {X) =wX+ v The task of regression analysis then becomes to estimate m-by- n-dimensional w and m-by- 1 -dimensional v from the training samples Xi and Yi. Linear regression with a linear model on a simple 1 -D predictor space is illustrated in FIG. 2.

However, the training samples of image upscaling have demonstrated strong heterogeneousness, and the above linear regression model does not tend to sufficiently describe the relation between Xi and Yi. Therefore, the image up-scaling technique may use a least square nonlinear regression model, such as a segmented linear regression to create a filter. It is to be understood that other nonlinear techniques, may likewise be used.

The segmented linear regression divides the predictor space θ into many sub-spaces θi , © 2 , ... θp, and models each sub-space with the linear regression model. Mathematically, the segmented linear regression can be expressed as

where θi, ©2, ... ,θ P are the sub-spaces, and θ1+θ2+ ... + θ P is the predictor space. Segmented linear regression of a simple 1 -D predictor space is illustrated in FIG. 3.

The segmented linear regression partitions the predictor space into sub-spaces, and each of them can be modeled by a linear regression model. Theoretically, there are countless possibilities of partition techniques, but some possibilities can have high computational costs and can have the trapping of a local minimum. One partition technique that can be used is a classification and regression tree (CART) .

CART puts a restriction on the partition of the predictor space. Specifically, CART splits every (or a selected set of) predictor variable into segments by one or more breakpoint(s) , and uses these segments of different predictor variables to form sub-spaces. If the high-dimensional predictor space is a big rectangle on a hyperplane, then CART cuts the big rectangle into many smaller rectangles along the orientation of the boundaries of the big rectangle.

Assuming that each predictor variable XJ has one breakpoint bj, then a m-dimensional predictor space has total m breakpoints B=[bi , b∑, ■ ■ ■ b m ] . Totally there are 2 m sub- spaces, as illustrated in FIG. 4(a) . FIG. 4 (a) shows a 3-

dimensional predictor variable space, and each predictor variable has one breakpoint. There are totally 2 3 =8 sub- spaces.

Each predictor variable can also define more than one breakpoint. FIG. 4(b) illustrates that every predictor variable has two breakpoints, and there are 3 3 =27 sub-spaces in the predictor space.

Once the partition of predictor space is determined, classification of samples involves putting samples into classes, where each class is defined by a sub-space. The strong restriction on the partition method of the predictor space greatly simplifies classification of a sample, and the classification can be well represented by a tree structure. Specifically, assuming that each predictor variable has one breakpoint, then the system has breakpoint vector B= [bi , b∑, ... bm] . For a sample Xi= [xι, i X2, i ... x m , i] τ , the system compares its first response variable xi,;- with the break point b\ at the single root layer node, if it is less than b\ , the sample will be partitioned into a left child leaf; otherwise it will be classified to a right child leaf. Then the system compares xi,i with the breakpoint bz< at the second layer nodes, and decide if the sample belongs to the left or right child leaf. The splitting procedure is repeated for all the response variables, until all m predictor variables have been processed. At the last level, there are F=2 m leafs, and each leaf is a class

that is corresponding to one sub-space . FIG. 5 illustrates the classification process for FIG.4a, and FIG. 6 illustrates the classification process for FIG. 4b .

A m-bit binary code is assigned to every sub-space/ class, assuming that each predictor variable has one breakpoint. By comparing every predictor variable of a m-dimensional sample with its respective breakpoint, 0 is assigned if it is smaller and 1 if it is bigger, then this sample is converted into an 771- bit code. This code is the index of the sub-space / class that this sample belongs to. FIG. 4 (a) illustrates the binary codes of the 8 sub-spaces. It is to be understood that other indexes and things can be used.

Because of the tree structure, this partition and classification method is called a classification tree . A similar tree structure can be applied to regression as well, so jointly this partition technique is generally referred to as a classification and regression tree (CART) .

The technique for up-scaling may be based on segmented linear regression and CART, and is comprised of a training phase and a testing phase :

( 1) Training phase (offline training) : using the LR images and the corresponding HR images as training pairs, the training phase learns the breakpoints for CART to classify a LR window into one of the many classes, and the linear filter coefficients of each class.

(2) Interpolation phase (real-time interpolation) : using the breakpoints and linear filter coefficients from the training phase, the interpolation phase generates new HR pixels.

Initially the training phase will be described. The training phase uses a number of LR-HR images pairs that have exactly (or substantially similar) the same contents but different resolutions as the training set. In order to make the LR-HR images have exactly (or substantially similar) the same contents, the low-resolution (LR) training images are obtained by down sampling the original high-resolution (HR) images by factor of 2 (or another suitable factor) , as illustrated by FIG. 7.

The down-sampling technique can make the LR pixel grid be either half-HR-pixel off from the HR pixel grid, or co-sited with the HR pixel grid, which is illustrated in FIG. 8(a) and

(b) , respectively. Other grid or spatial relationships may likewise be used, as desired.

To obtain co-sited LR images, the system may first filter the original HR images with a 7-tap low-pass FIR filter, and then do 2X decimation by dropping the pixels at odd- numbered columns and rows. To obtain half-pixel-off LR images, the system may directly apply either simple 4-point averaging, bi-linear down-sampling with half pixel shifting, or bi-cubic down-sampling with half pixel shifting to the HR images.

The choice of the grid setting preferably impacts the choice of the HR window. During the training and interpolation phases, the LR window is sequentially centered at every pixel of an input LR image. The size of the LR window determines the computation cost and the size of the training set. The bigger the LR window is, the greater the computation cost is and the bigger the training set is. One preferred embodiment of the LR window size is 3 by 3. It is also noted that a window with other shapes may alternatively be used, such as a rectangular window, or a diamond shaped window, or octagonal shaped window, and so forth.

A HR window consists of four or nine HR pixels interpolated from one LR window. The HR window of the half- pixel off grid setting consists of four HR pixels. As illustrated in FIG. 9(a) , if the center of the LR window is at position of (c, r) in the LR image, the technique interpolates four pixels A, B, C, D, where A, B, C, and D are at position (2 c, 2 r) , (2 c, 2r+ l ) , (2c+ l , 2 r) , (2 c+ l , 2 r+ l ) , respectively.

The HR window of the co-sited grid setting consists of either four or nine HR pixels. As illustrated in FIG. 9(b) , if the center of the LR window is at position (c, r) in the LR image, there are the following five options:

( 1) the technique interpolates four pixels A, B, D, E;

(2) the technique interpolates four pixels D, E, G, H; (3) the technique interpolates four pixels B, C, E, F;

(4) the technique interpolates four pixels E, F, H, I;

(5) the technique interpolates nine pixels A, B, C 5 D, E, F, G, H, I. where A is at (2c-l, 2r-l), B is at (2c-l, 2r), C is at (2c-l, 2r+l), D is at (2c, 2r-l), E is at (2c, 2r), F is at (2c, 2r+l), G is at (2c+l, 2r-l), H is at (2c+l, 2r), I is at (2c+l, 2r+l), respectively.

Options (1), (2), (3), and (4) have the four HR pixels un- symmetrically distributed in the LR window, and the HR windows are not overlapped. Option (5) has the nine HR pixels symmetrically distributed in the LR window, and the

HR windows are overlapped. HR pixels are generated multiple times from different LR windows in the interpolation phase.

More specifically, pixels A, C, G, I are calculated four times, B, D, F, H two times, and E one time. The symmetry of HR pixels in a LR window assists in reducing the generation of undesirable artifacts.

The training images may be converted into monochrome images, such as by the following equation L=O. 299R+0. 587G+0. 114 B

The system may likewise be extended to include color images, where the training phases and/ or interpolation account for the colors of the images.

In the training phase, the image up-scaling technique may find the breakpoints and the parameters of

f(X) from Xi and Yi, where f(X) is defined by

where w; is a n by m weight vector. Because the LR and

HR windows have the same mean, equation (3) does not define the offset term v; that is defined in equation (2) .

The training samples Xi and Yi are all the M LR windows and their corresponding M HR windows in the training image set. For example, a 3x3 window is used in the LR images, so m=9 in Xv, a 2x2 window is used in the HR images, so n=4 in Yi. A number of 20 LR-HR image pairs may be used as training data where the LR resolution is 100x 100 and the HR resolution is 200x200, so M=20* 100* 100. The preferred optimization criterion is to minimize E defined in equation ( 1 ) :

5, W 1 , w a λ w P

This optimization cannot be solved by simply taking the derivative with respect to B and W 1 -, and a traditional approach is an exhaustive search: it examines all possible breakpoints, calculate all the possible linear regression models and B, and picks the set that gives the smallest E.

Obviously, the exhaustive search is possible but quite time- consuming.

An iterative approach may be used, as illustrated in FIG. 10, to perform the optimization. Specifically, the technique does not simultaneously optimize breakpoints and weights. Instead, the technique alternates between optimizing weights with breakpoints fixed and optimizing breakpoints with weights fixed to drive down E. The iteration ends when E stops decreasing.

In summary, the training phase has four modules: ( 1 ) initializing breakpoints 400, (2) calculating the weights with the breakpoints fixed 410 , (3) calculating the breakpoints with the weights fixed 420, and (4) merging weights 430.

Before iterations begin, the breakpoints , hi, ... b m ] T are initialized 400. The initial breakpoints are the mean of all M X'i= [x'ι , i x } 2, i ... JC V i] τ , λ 1 M M

The normalization of Xi is defined by x jj max(X ; . ) - max(X,. ) , ,- ,

where min(Xi) is the minimal component in Xi, and max(Jt) is the maximal component in Xi.

The normalization makes the new vector, X'i= [x'ι ι ; x'2, i ... x'm, t] τ , which has the following characteristics : max(I'i) = l minpn) = 0

Because all the components in X\ are between 0 and 1 , bj is between 0 and 1.

A breakpoint calculation module, illustrated by FIG . 1 1 , calculates the weights wi w 2... Wp 500 and E 510 while it keeps breakpoints B unchanged . The input of this module is the M training samples XM-YM 520 and breakpoints 530 ; the output is weights wi w 2... Wp 500 and E 510.

First, every pair of XM-YM 540 is classified by CART 550 based on the breakpoints into one of the P sub-spaces 560. CART is not directly applied to the original sample Xi. Instead, it is applied to X\, normalized from Xi, which was discussed previously. The normalization takes out undesirable factors such as the offset term and amplitude .

Once all the M training samples XM-YM have been classified into sub-spaces 560, the system uses linear regression 570 with a linear model to calculate wi w 2 - .. wp. The mathematical equations are:

w, = argmin ∑ (W 1 Z,. -Y 1 ) 1

W 2 (W 2 X 1 -Y 1 ) 1

M w p = argmin ]T (γfpX, -Y 1 ) 2

Weights wi w 2... Wp minimize the prediction error 580 of a respective class. The prediction error 580 of each class is:

^ = E (W 1 X,. -^) 2

A',eθ, M

E p =

The total E 510 is:

Referring again to FIG. 10, the process initializes the breakpoints 400 then calculates the weights and E 410 based upon the initialized breakpoints, as illustrated in FIG. 1 1.

Then the system calculates breakpoints with the weights fixed 420, as illustrated in FIG. 12. FIG. 12 calculates the breakpoints B 530 while keeping the weights wi w 2... Wp 500 unchanged. The input of this module is the M training samples XM-YM 520 and wi w 2... wp 500 while the output is B

530.

This module also classifies training samples first. However, the classification is not based on CART and breakpoints. Instead, it uses the weights wi w 2 --- wp 500 to do the classification. More specifically, the sub-space/ class that X M -Y M pair 560 belongs to is the weight set that gives the minimal predictor error among all P sets of weights 610 : index(X,.) = arg ITIm(W 7 X,. -JQ 2 5 y e {1,2,L P) j

In other words, the module 410 tries all the P sets of weights on Xi to predict Yi, to find the set of weights that give

the minimal prediction error, and put Xi-Yi into the corresponding sub-space / class .

After all the M samples are classified into subs.paces by the above technique, the module 410 derives the new break points 620. In the case of binary CART, half of the 2 m sub- spaces whose Xi are bigger than hi, and the i-th bit in the indexes of these sub-spaces is 1 ; half of the sub-spaces whose Xi are smaller than hi, and the i-th bit in their indexes is 0. For example, if , the predictor space is 3 dimensional (FIG. 3) , then there are 8 sub-spaces . The sub- spaces with indexes

010, 01 1 , 1 10, and 1 1 1 have their X2 bigger than bo,, and the sub-spaces with indexes 000, 001 , 100 , and 101 have their X 2

smaller than hi .

To determine bi, the system first collects samples that belong to the 2 sub-paces whose Xi are bigger than bi into

Ai, and samples that belong to the 2 sub- spaces whose Xi are smaller than bi into Bj. Then the system does :

ZJ 1 = [mean(A ] ) + mean{B x )) / 2 b 2 = {rnean{A^) + mean(B 2 ))/ '2 M

The above procedure is illustrated graphically in FIG. 13.

Referring again to FIG. 10 , the technique includes

calculating breakpoints 420 and calculating weights and E

410. Before calculating new breakpoints 420 and weights and E 410, the current value of E is maintained as E 0 Id 415. After

calculating new breakpoints 420 and weights and E 410, the modified value of E is compared against the maintained value of Eoid at block 425 to determine if the error has decreased. If the error has decreased, then the process is repeated 435. If the error has not decreased, then the iteration process is ended 445 and the weights are merged at block 430.

A weight reduction module 430 may be used. The input is the trained weights W 1 w 2... Wp, where Wj is n by m. The output is a vector table with the size of L by m, where L is much smaller than Pn, and an index lookup table that will be used by the interpolation phase to map the vector table back to W 1 w 2... Wp.

The reduction is based on the fact that there is strong redundancy among weights across different sub-spaces. More specifically, many sub-spaces can merge their weights into one set without sacrificing the performance .

The reduction is done by using the /c-means clustering technique clustering on W 1 , W2, ... wp, where P=2 m . Weight vector Wj of class i can be viewed as a n by m matrix, where m is the pixel number in the LR window and n is the pixel number in the HR window. Assuming that n=4 (2x2 HR window) , and m=9 (3x3 LR window) , all the 5 12 weight vectors are

W 1 W 2 L W 512 =

Each of the components, ιυ s t, ( l <s<512 , 1 <£<4) in the above matrices is a 1 by 9 vector, and is responsible for generating a HD pixel with index t for class s. The system reorganizes these weight vectors into 4 groups:

A column is the weight vectors across all the classes which generate one of the four HD pixels . The system applies /c-means clustering to each group independently.

The k-mean clustering will cluster the number of weight vectors into a certain number of centroids . In the above case, the clustering target could be 128 centroids. The centroids and the table that maps from the weight vectors to the group are the results. In the prediction phase, these centroids and the table are used to recover the full- size weight vectors.

When the HD pixels interpolated from a LR window are symmetrically distributed in the LR window, the system can further reduce the size by exploiting the redundancy among the symmetric positions . For example, FIG. 14 shows the case where the LR window is 3x3 , and the HR window is 2x2.

The HD pixels generated from the LR window are symmetric around the central pixel. When the system rotates the LR-HR window anti-clockwise by 90, 180 and 270 degrees, pixels C, D, and B are at the position of pixel A, respectively, as illustrated by FIG. 14(b-d) . The rotation of the LR-HR window is equal to re-ordering the components in the weight vectors. Specifically, if the system represents a weight vector w < y = [v i v * v * v * v * v <> v? v * V λ

For pixel B, the system rotates 90 degree, and the re- ordered weight vector is: w« = [v * v " v ' v * v * v * v > v« v ' ]

For pixel C, the system rotates 180 degree, and the reordered weight vector is: w«w = [v» v * v ' v < v * v« V3 v * v > ]

For pixel D, the system rotates 270 degree, and the reordered weight vector is: w " 0 = [v3 v« v > ^ ^ ^ v > V4 ^ Then after re-ordering, the system concatenates these weight vectors into one group, and applies /c-means clustering to this group. In the interpolation phase, the technique may revise this re-ordering.

FIG. 15 shows a block-diagram of generating a HR window from a LR window in the interpolation phase, which includes the following five modules : ( 1 ) RGB to Y 700

If the input LR image is a color image with red, green and blue sub-pixels, the technique convert to luminance by the following equation

Y=0.299R+0.587G+0. 1 14B

(2) Normalization 710

The normalization module normalizes the luminance of the pixels in the input LR window into range [0 1 ] that is defined by equation (5) .

(3) Classification by CART 720

Classification by CART uses the breakpoints B obtained in the training phase. The class ID from the classification refers to the "class ID to centroid ID" LUT 750 to get the proper centroid ID, and the centroid ID leads to the centroids stored in the LUT 760.

(4) Reordering components of the weights 730 Some weights are re-ordered before /c-means clustering in the training phase. The centroids need to be revised and re-ordered to get the proper weight vectors wj.

(5) Linear filtering 740

The technique applies Wj to the RGB channels separately to generate the interpolated RGB HR pixels.

If the HR window contains 9 pixels, then some HR pixels are generated multiple times by different windows. The technique uses averaging to get the final results.

Fig. 16 shows an image upscaling device 800 that can be used to perform the image up-scaling technique. A low- resolution image selected from a low-resolution data set is input to an up-scaling filter 801 , which performs an image

up-scaling technique. The resultant high-resolution image is output to a display on an image display 802, for Example of a High definition television (HDTV) .

The image upscaling device can also include a computer program used to execute the image upscaling technique on a computer system. This control program is stored on a storage medium such as an optical disc or a magnetic disk.

The storage medium containing the content data and the computer programs realizing the functions of the content processing device is by no means limited to the optical disc which may be a CD-ROM (compact disc read-only memory) ,

MO (magneto-optical disc) , MD (MiniDisc) , or DVD (digital versatile disc) or the magnetic disk which may be a FD

(flexible disk) or hard disk. Examples of such a storage medium include tapes, such as magnetic tapes and cassette tapes; card storage media, such as IC (integrated circuit) cards and optical cards; and semiconductor memories, such as mask ROMs, EPROMs (erasable programmable ROMs) ,

EEPROMs (electrically erasable programmable ROMs) , and flash ROMs. Nevertheless, the computer system needs to have a readout device for retrieval from these storage media.

The terms and expressions which have been employed in the foregoing specification are used therein as terms of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding

equivalents of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims which follow.