IP Library Granted Patent US 9,105,106
Granted Patent B2
US 9,105,106 · App. 13/696,010 · Granted Aug 11, 2015

Two-dimensional super resolution scaling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,105,106
App. No.
13/696,010
Granted
Aug 11, 2015
Kind
B2
Abstract

For scaling an input image into an output image, the method comprises, for a point of the output sampling grid which is not in the input sampling grid: calculating a plurality of interpolated pixel values by applying respective interpolators; determining respective loss values associated with the interpolated pixel values; and providing a pixel value of the output image using at least one of the interpolated pixel values selected by minimizing the loss value. The set of interpolators includes two-dimensional interpolators I n of the form (I) for values of a parameter n such that |n|≧1 and two-dimensional interpolators I′ m of the form (II) for values of a parameter m such that |m|≧1, where x and y are spatial indices identifying the point of the output sampling grid, j and k are integer spatial indices identifying points of the input sampling grid, f and g are one-dimensional interpolation functions, at least one of f and g having a support]−p; p[ with p>1, and I(j, k) is the value of the pixel at coordinates (j, k) in the input grid.

Claims (532)

1. A method of scaling an input image having pixel values defined on an input sampling grid to provide an output image having pixel values defined on an output sampling grid, the method being a computer-implemented method or an electronic-implemented method, the method comprising, for a point of the output sampling grid which is not in the input sampling grid:

calculating a plurality of interpolated pixel values by applying respective interpolators of a set of interpolators to pixels values defined on the input sampling grid;

determining respective loss values associated with the plurality of interpolated pixel values; and

providing the pixel value of the output image at said point using at least one of the interpolated pixel values selected by minimizing the respective loss values,

wherein the set of interpolators includes two-dimensional interpolators I n of the form

I

n

(

x

,

y

)

=

j

k

I

(

j

,

k

)

·

f

(

x

-

j

-

n

(

y

-

k

)

)

·

g

(

y

-

k

)

for a plurality of values of a parameter n such that |n|≧1 and two-dimensional interpolators I′ m of the form

I

m

(

x

,

y

)

=

j

k

I

(

j

,

k

)

·

f

(

x

-

j

)

·

g

(

y

-

k

-

m

(

x

-

j

)

)

for a plurality of values of a parameter m such that |m|≧1, where x and y are spatial indices identifying said point of the output sampling grid, j and k are integer spatial indices identifying points of the input sampling grid, f and g are one-dimensional interpolation functions, at least one off and g having a support]−p; p[ with p being a predetermined value, p>1, and I(j, k) is the value of the pixel at coordinates (j, k) in the input grid.

2. The method of claim 1 , wherein the one-dimensional interpolation function f has a support]−p; p[ with p>1.

3. The method of claim 1 , wherein the values of the parameters n and m are integers.

4. The method of claim 1 , wherein the parameter n has a range of values broader than the parameter m.

5. The method of claim 1 , wherein applying an interpolator I n for the point of the output sampling grid which is not in the input sampling grid comprises:

interpolating horizontally using the one dimensional interpolation function f to compute

I

H

,

n

(

x

,

y

,

k

)

=

j

I

(

j

,

k

)

·

f

(

x

-

n

·

(

y

-

k

)

-

j

)

for a plurality of integer values of the spatial index k;

interpolating vertically using the one dimensional interpolation function g to compute the interpolated pixel value

I

n

(

x

,

y

)

as

I

n

(

x

,

y

)

=

k

I

H

,

n

(

x

,

y

,

k

)

·

g

(

y

-

k

)

.

6. The method of claim 1 , wherein applying an interpolator I′ m for the point of the output sampling grid which is not in the input sampling grid comprises:

interpolating vertically using the one dimensional interpolation function g to compute

I

V

,

m

(

x

,

y

,

j

)

=

k

I

(

j

,

k

)

·

g

(

y

-

m

·

(

x

-

j

)

-

k

)

for a plurality of integer values of the spatial index j; and

interpolating horizontally using the one dimensional interpolation function f to compute the interpolated pixel value I′ m (x, y) as

I

m

(

x

,

y

)

=

j

I

V

,

m

(

x

,

y

,

j

)

·

f

(

x

-

j

)

.

7. The method of claim 1 , wherein determining the loss value associated with an interpolated pixel value resulting from an interpolator I n around a pixel of the input image for a parameter n such that |n|≧1 comprises computing an axial loss component measuring variations of the pixel values of the input image in at least one horizontal linear array of pixels,

and wherein determining the loss value associated with an interpolated pixel value resulting from an interpolator I′ m around a pixel of the input image for a parameter m such that |m|≧1 comprises computing an axial loss component measuring variations of the pixel values of the input image in at least one vertical linear array of pixels.

8. The method of claim 7 , wherein, for a pixel of the input image having respective integer spatial indices j and k along the horizontal and vertical directions:

the axial loss component for an interpolator I n , where n is a non-zero integer, is a measure of variations of the pixel values of the input image in 2Q+1 horizontal arrays, where Q is a positive integer, wherein the 2Q+1 horizontal arrays comprise, for each integer q such that −Q≦q≦Q, a horizontal array of a q,n +a −q,n +1 pixels including a pixel having respective integer spatial indices j+n·q and k+q along the horizontal and vertical directions, the numbers a q,n being positive integers;

and the axial loss component for an interpolator I′ m , where m is a non-zero integer, is a measure of variations of the pixel values in 2Q+1 vertical arrays, wherein the 2Q+1 vertical arrays comprise, for each integer q such that −Q≦q≦Q, a vertical array of a q,m +a −q,m +1 pixels including a pixel having respective integer spatial indices j·q and k+m·q along the horizontal and vertical directions.

9. The method of claim 8 , wherein for q=0, each horizontal array of 2·a 0,n +1 pixels and each vertical array of 2·a 0,m +1 pixels are centered on said pixel of the input image having respective integer spatial indices j and k along the horizontal and vertical directions.

10. The method of claim 8 , wherein, for each integer q such that −Q≦q≦Q, the positive integers a q,n are non-decreasing functions of |n| and the positive integers a q,m are non-decreasing functions of |m|.

11. An image scaling apparatus, comprising:

an input port ( 41 ) for receiving an input image having pixel values defined on an input sampling grid;

an output port ( 47 ) for providing an output image having pixel values defined on an output sampling grid;

an interpolation processor ( 20 ) for calculating a plurality of interpolated pixel values for a point of the output sampling grid which is not in the input sampling grid, by applying respective interpolators of a set of interpolators to pixels values defined on the input sampling grid; and

an optimizer ( 30 ) for determining respective loss values associated with the plurality of interpolated pixel values for said point, and for providing the pixel value of the output image at said point using at least one of the interpolated pixel values selected by minimizing the respective loss values,

wherein the set of interpolators includes two-dimensional interpolators I n of the form

I

n

(

x

,

y

)

=

j

k

I

(

j

,

k

)

·

f

(

x

-

j

-

n

(

y

-

k

)

)

·

g

(

y

-

k

)

for a plurality of values of a parameter n such that |n|≧1 and two-dimensional interpolators I′ m of the form

I

m

(

x

,

y

)

=

j

k

I

(

j

,

k

)

·

f

(

x

-

j

)

·

g

(

y

-

k

-

m

(

x

-

j

)

)

for a plurality of values of a parameter m such that |m|≧1, where x and y are spatial indices identifying said point of the output sampling grid, j and k are integer spatial indices identifying points of the input sampling grid, f and g are one-dimensional interpolation functions, at least one off and g having a support]−p; p[ with p>1, and I(j, k) is the value of the pixel at coordinates (j, k) in the input grid.

12. The image scaling apparatus of claim 11 , wherein the interpolation processor ( 20 ) has first and second interpolation stages,

wherein for an interpolator I n and said point of the output sampling grid, the first interpolation stage is arranged for interpolating horizontally using the one-dimensional interpolation function f to compute

I

H

,

n

(

x

,

y

,

k

)

=

j

I

(

j

,

k

)

·

f

(

x

-

n

·

(

y

-

k

)

-

j

)

for a plurality of integer values of the spatial index k, while the second interpolation stage is arranged for interpolating vertically using the one-dimensional interpolation function g to compute the interpolated pixel value I n (x, y) as

I

n

(

x

,

y

)

=

k

I

H

,

n

(

x

,

y

,

k

)

·

g

(

y

-

k

)

,

and wherein for an interpolator I′ m and said point of the output sampling grid, the first interpolation stage is arranged for interpolating vertically using the one-dimensional interpolation function g to compute

I

V

,

m

(

x

,

y

,

j

)

=

k

I

(

j

,

k

)

·

g

(

y

-

m

·

(

x

-

j

)

-

k

)

for a plurality of integer values of the spatial index j, while the second interpolation stage is arranged for interpolating horizontally using the one-dimensional interpolation function f to compute the interpolated pixel value I′ m (x, y) as

I

m

(

x

,

y

)

=

j

I

V

,

m

(

x

,

y

,

j

)

·

f

(

x

-

j

)

.

13. The image scaling apparatus of claim 11 , wherein the optimizer ( 30 ) for determining the loss value associated with an interpolated pixel value comprises a metrics computation unit ( 22 ) for computing an axial loss component measuring variations of the pixel values of the input image in at least one linear array of pixels, the linear array of pixels being a horizontal array if said interpolated pixel value results from an interpolator I n around a pixel of the input image for a parameter n such that |n|≧1, and a vertical linear if said interpolated pixel value results from an interpolator I′ m around a pixel of the input image for a parameter m such that |m|≧1.

14. The image scaling apparatus of claim 13 , wherein, for a pixel of the input image having respective integer spatial indices j and k along the horizontal and vertical directions:

the axial loss component for an interpolator I n , where n is a non-zero integer, is a measure of variations of the pixel values of the input image in 2Q+1 horizontal arrays, where Q is a positive integer, wherein the 2Q+1 horizontal arrays comprise, for each integer q such that −Q≦q≦Q, a horizontal array of a q,n +a −q,n +1 pixels including a pixel having respective integer spatial indices j+n·q and k+q along the horizontal and vertical directions, the numbers a q,n being positive integers;

and the axial loss component for an interpolator I′ m , where m is a non-zero integer, is a measure of variations of the pixel values in 2Q+1 vertical arrays, wherein the 2Q+1 vertical arrays comprise, for each integer q such that −Q≦q≦Q, a vertical array of a q,m +a −q,m +1 pixels including a pixel having respective integer spatial indices j·q and k+m·q along the horizontal and vertical directions.

15. The image scaling apparatus of claim 14 , wherein, for each integer q such that −Q≦q≦Q, the positive integers a q,n are non-decreasing functions of |n| and the positive integers a q,m are non-decreasing functions of |m|.

Assignments (3)
MERGER Recorded Jun 26, 2018
From: ZORAN (FRANCE) S.A.
To: ZORAN CORPORATION
Reel/Frame 046435/0788 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT PREVIOUSLY RECORDED UNDER REEL AND FRAME 029248/0060 TO CORRECT ZORAN (FRANCE) TO ZORAN (FRANCE) S.A. PREVIOUSLY RECORDED ON REEL 029248 FRAME 0060. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 6, 2013
From: BERNARD, CHRISTOPHE
To: ZORAN (FRANCE) S.A.
Reel/Frame 030969/0101 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2012
From: BERNARD, CHRISTOPHE
To: ZORAN (FRANCE)
Reel/Frame 029248/0060 →