System and process for image rescaling using adaptive interpolation kernel with sharpness and de-ringing control
Abstract
A digital video rescaling system is provided. The system includes an image data input configured to receive input support pixels y 1 to y n and a sharpness control module configured to generate a sharpness control parameter Kshp. The system further includes an interpolated pixel generator configured to use an adaptive interpolation kernel to generate an interpolated pixel y s based on the input support pixels, and adjust a sharpness of the interpolated pixel y s based at least partly upon the sharpness control parameter Kshp. The system also includes a de-ringing control unit to adjust the ringing effect of the interpolated pixel based on a local image feature Kfreq, and an output module configured to output the adjusted interpolated pixel for display.
Claims
exact text as granted — not AI-modified1 . A digital video rescaling system comprising:
an image data input configured to receive input support pixels y 1 to y n ; a sharpness control module configured to generate a sharpness control parameter Kshp; an interpolated pixel generator configured to use an 8-tap filter to
generate an interpolated pixel y s based on the input support pixels, and
adjust a sharpness of the interpolated pixel y s based at least partly upon the sharpness control parameter Kshp; and
an output module configured to output the adjusted interpolated pixel y s for display.
2 . A system in accordance with claim 1 wherein the interpolated pixel generator is configured to generate the interpolated pixel y s using third order polynomial functions based at least partly upon eight input support pixels y 1 to y 8 .
3 . A system in accordance with claim 1 wherein the interpolated pixel y s is generated as follows:
y
s
(
s
)
=
∑
n
=
1
8
y
n
*
f
n
(
s
,
Kshp
)
,
where y n , n=(1 . . . 8) are eight support pixels. S is the phase of the interpolation which is the distance from interpolation position to the position of the support pixel y 4 . f n (s,Kshp) (n=1 . . . 8) are eight control synthesis functions that can be expressed as follows:
f 1 ( s,K shp)=( a (0,0)+ K shp* b (0,0))* s 3 +( a (0,1)+ K shp* b (0,1))* s 2 +( a (0,2)+ K shp* b (0,2)* s +( a (0,3)+ K shp* b (0,3))
f 2 ( s,K shp)=( a (1,0)+ K shp* b (1,0))* s 3 +( a (1,1)+ K shp* b (1,1))* s 2 +( a (1,2)+ K shp* b (1,2)* s +( a (0,3)+ K shp* b (1,3))
f 3 ( s,K shp)=( a (2,0)+ K shp* b (2,0))* s 3 +( a (2,1)+ K shp* b (2,1))* s 2 +( a (2,2)+ K shp* b (2,2)* s +( a (2,3)+ K shp* b (2,3))
f 4 ( s,K shp)=( a (3,0)+ K shp* b (3,0))* s 3 +( a (3,1)+ K shp* b (3,1))*s 2 +( a (3,2)+ K shp* b (3,2)* s +( a (3,3)+ K shp* b (3,3))
f 5 ( s,K shp)= f 4 ((1 −s ), K shp),
f 6 ( s,K shp)= f 3 ((1 −s ), K shp),
f 7 ( s,K shp)= f 2 ((1 −s ), K shp), and
f 8 ( s,K shp)= f 1 ((1 −s ), K shp).
A
=
[
a
(
0
,
0
)
a
(
0
,
1
)
a
(
0
,
2
)
a
(
0
,
3
)
a
(
1
,
0
)
a
(
1
,
1
)
a
(
1
,
2
)
a
(
1
,
3
)
a
(
2
,
0
)
a
(
2
,
1
)
a
(
2
,
2
)
a
(
2
,
3
)
a
(
3
,
0
)
a
(
3
,
1
)
a
(
3
,
2
)
a
(
3
,
3
)
]
and
B
=
[
b
(
0
,
0
)
b
(
0
,
1
)
b
(
0
,
2
)
b
(
0
,
3
)
b
(
1
,
0
)
b
(
1
,
1
)
b
(
1
,
2
)
b
(
1
,
3
)
b
(
2
,
0
)
b
(
2
,
1
)
b
(
2
,
2
)
b
(
2
,
3
)
b
(
3
,
0
)
b
(
3
,
1
)
b
(
3
,
2
)
b
(
3
,
3
)
]
are two coefficient matrices.
4 . A system in accordance with claim 3 wherein the coefficient matrices A and B are defined as follows:
A
=
[
-
21
52
-
32
0
52
-
150
97
1
-
154
412
-
256
0
304
-
587
28
254
]
,
and
B
=
[
-
9
21
-
11
-
2
15
-
38
18
3
-
32
69
-
23
-
11
51
-
88
5
21
]
.
5 . A method of rescaling digital video, the method comprising:
receiving input support pixels y 1 to y n at an image data input; generating a sharpness control parameter Kshp at a sharpness control module; generating an interpolated pixel y s based on the input support pixels y 1 to y n at an 8-tap filter; adjusting a sharpness of the interpolated pixel y s based at least partly upon the sharpness control parameter Kshp at the interpolated pixel generator; and outputting the adjusted interpolated pixel y s for display.
6 . A method in accordance with claim 5 wherein generating the interpolated pixel y s comprises using third order polynomial functions based at least partly upon eight input support pixels y 1 to y 8 .
7 . A method in accordance with claim 5 wherein generating the interpolated pixel y s comprises using the following relationship:
y
s
(
s
)
=
∑
n
=
1
8
y
n
*
f
n
(
s
,
Kshp
)
,
where y n , n=(1 . . . 8) are eight support pixels. S is the phase of the interpolation which is the distance from interpolation position to the position of the support pixel y 4 . f n (s,Kshp) (n=1 . . . 8) are eight control synthesis functions that can be expressed as follows:
f 1 ( s,K shp)=( a (0,0)+ K shp* b (0,0))* s 3 ( a (0,1)+ K shp* b (0,1))* s 2 +( a (0,2)+ K shp* b (0,2)* s +( a (0,3)+ K shp* b (0,3))
f 2 ( s,K shp)=( a (1,0)+ K shp* b (1,0))* s 3 +( a (1,1)+ K shp* b (1,1))* s 2 +( a (1,2)+ K shp* b (1,2)* s +( a (0,3)+ K shp* b (1,3))
f 3 ( s,K shp)=( a (2,0)+ K shp* b (2,0))* s 3 +( a (2,1)+ K shp* b (2,1))* s 2 +( a (2,2)+ K shp* b (2,2)* s +( a (2,3)+ K shp* b (2,3))
f a ( s,K shp)=( a (3,0)+ K shp* b (3,0))* s 3 +( a (3,1)+ K shp* b (3,1))* s 2 +( a (3,2)+ K shp* b (3,2)* s +( a (3,3)+ K shp* b (3,3))
f 5 ( s,K shp)= f 4 ((1 −s ), K shp),
f 6 ( s,K shp)= f 3 ((1 −s ), K shp),
f 7 ( s,K shp)= f 2 ((1 −s ), K shp), and
f 8 ( s,K shp)= f 1 ((1 −s ), K shp).
A
=
[
a
(
0
,
0
)
a
(
0
,
1
)
a
(
0
,
2
)
a
(
0
,
3
)
a
(
1
,
0
)
a
(
1
,
1
)
a
(
1
,
2
)
a
(
1
,
3
)
a
(
2
,
0
)
a
(
2
,
1
)
a
(
2
,
2
)
a
(
2
,
3
)
a
(
3
,
0
)
a
(
3
,
1
)
a
(
3
,
2
)
a
(
3
,
3
)
]
and
B
=
[
b
(
0
,
0
)
b
(
0
,
1
)
b
(
0
,
2
)
b
(
0
,
3
)
b
(
1
,
0
)
b
(
1
,
1
)
b
(
1
,
2
)
b
(
1
,
3
)
b
(
2
,
0
)
b
(
2
,
1
)
b
(
2
,
2
)
b
(
2
,
3
)
b
(
3
,
0
)
b
(
3
,
1
)
b
(
3
,
2
)
b
(
3
,
3
)
]
are two coefficient matrices.
8 . A method in accordance with claim 7 wherein the coefficient matrices A and B are defined as follows:
A
=
[
-
21
52
-
32
0
52
-
150
97
1
-
154
412
-
256
0
304
-
587
28
254
]
,
and
B
=
[
-
9
21
-
11
-
2
15
-
38
18
3
-
32
69
-
23
-
11
51
-
88
5
21
]
.
9 . A digital video rescaling system comprising:
an image data input configured to receive input support pixels y 1 to y n ; an interpolated pixel generator configured to use an 8-tap filter to generate an interpolated pixel value y s based on the input support pixels y 1 to y n ; a de-ringing control unit configured to modify the interpolated pixel y s adaptively to a local image feature Kfreq to generate an output y out ; and an output module configured to output the output y out for display.
10 . A system in accordance with claim 9 wherein the local image feature Kfreq is related to local frequency characteristics.
11 . A system in accordance with claim 9 further comprising:
a local frequency analysis unit configured to calculate the local image feature Kfreq;
a local max/min analysis unit configured to distinguish between a larger and a smaller value of two support pixels y a and y b and generate an output Lmax and Lmin; and
a comparator configured to compare the interpolated pixel value y s with the output Lmax and Lmin and generate a comparison result y m .
12 . A system in accordance with claim 11 further wherein the comparator is configured to generate the comparison result y m as follows:
y
m
=
{
L
max
if
(
y
s
>
L
max
)
L
min
if
(
y
s
<
L
min
)
y
s
else
.
13 . A system in accordance with claim 11 further wherein the de-ringing control unit is further configured to:
subtract the comparison result y m from the interpolated pixel value y s ;
multiply the difference by the local image feature Kfreq; and
add the product to comparison result y m to generate g out .
14 . A system in accordance with claim 9 wherein the local frequency analysis unit is configured to calculate the local image feature Kfreq as follows:
K freq=min( dev 1 ,dev 2 ,dev 3 ,dev 4)/ N,
where dev1, dev2, dev3 and dev4 are defined as follows:
dev 1=max(| y 1 −2 *y 2 +y 3 |,|y 2 −2 *y 3 +y 4 |),
dev 2=max(| y 3 −2 *y 4 +y 5 |,|y 4 −2 *y 5 +y 6 |),
dev 3=max(| y 5 −2 *y 6 +y 7 |,|y 6 −2 *y 7 +y 8 |), and
dev 4=min(| y 2 −y 4 |,|y 3 −y 5 |),
where N is a constant value used to normalize Kfreq so that Kfreq is in the range of [0,1].
15 . A method of rescaling digital video, the method comprising:
receiving support pixels y 1 to y n at an image data input; using an 8-tap filter to generate an interpolated pixel y s based on the input support pixels y 1 to y n at an interpolated pixel generator; modifying the interpolated pixel y s adaptively to a local image feature Kfreq to generate an output y out at a de-ringing control unit; and outputting the output y out for display.
16 . A method in accordance with claim 15 wherein the local image feature Kfreq is related to local frequency characteristics.
17 . A method in accordance with claim 15 further comprising:
distinguishing between a larger and a smaller value of two support pixels y a and y b and generating an output Lmax and Lmin at a local max/min analysis unit; and
comparing the interpolated pixel value y s with the output Lmax and Lmin and generating a comparison result y m at a comparator.
18 . A method in accordance with claim 17 further wherein the comparison result y m is generated as follows:
y
m
=
{
L
max
if
(
y
s
>
L
max
)
L
min
if
(
y
s
<
L
min
)
y
s
else
.
19 . A method in accordance with 17 further comprising:
subtracting the comparison result y m from the interpolated pixel value y s ;
multiplying the difference by the local image feature Kfreg; and
adding the product to comparison result y m to generate y out at the de-ringing control unit.
20 . A method in accordance with claim 15 wherein calculating the local image feature Kfreq comprises using the following relationship:
K freq=min( dev 1 ,dev 2 ,dev 3 ,dev 4)/ N,
where dev1, dev2, dev3 and dev4 are defined as follows:
dev 1=max(| y 1 −2 *y 2 +y 3 |,|y 2 −2 *y 3 +y 4 |),
dev 2=max(| y 3 −2 *y 4 +y 5 |,|y 4 −2 *y 5 +y 6 |),
dev 3=max(| y 5 −2 *y 6 +y 7 |,|y 6 −2 *y 7 +y 8 |), and
dev 4=min(| y 2 −y 4 |,|y 3 −y 5 |),
where N is a constant value used to normalize Kfreq so that Kfreq is in the range of [0,1].Join the waitlist — get patent alerts
Track US2011298972A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.