IP Library Granted Patent US 10,062,149
Granted Patent B2
US 10,062,149 · App. 15/000,225 · Granted Aug 28, 2018

Methods for blending resembling blocks and apparatuses using the same

Inventors: Aimin Liang (Beijing, CN); Yuanyuan Wang (Beijing, CN)
Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
G06T5/002G06K9/4642G06K9/6215G06T5/50H04N5/217H04N9/045G06T2207/10016G06T2207/10024G06T2207/20021G06T2207/20182G06T2207/20216G06T2207/20221
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 10,062,149
App. No.
15/000,225
Granted
Aug 28, 2018
Kind
B2
Abstract

A method for blending resembling blocks, performed by a processing unit, at least contains: determining a target block of a frame to be fused; determining a search window for the target block and obtaining m neighboring blocks from the search window; calculating the difference between the target block and each neighboring block; selecting n resembling blocks from the m neighboring blocks according to the differences; calculating a weighting for each resembling block; and fusing each pixel value of the target block with corresponding pixel value of each of the resembling blocks according to the weighting.

Claims (383)

1. A method for blending resembling blocks, performed by a processing unit, comprising:

obtaining a frame from a frame buffer, wherein the frame is generated by a camera module comprising an image sensor to detect the frame;

determining a target block of the frame to be fused;

determining a search window for the target block and obtaining m neighboring blocks from the search window;

grouping the m neighboring blocks with the same distances from the target block into a plurality of sub-groups;

obtaining k groups of the neighboring blocks by merging the sub-groups, wherein each group has the same quantity of the neighboring blocks as that of the other groups, and the averaged distance of the neighboring blocks of each group are close;

calculating a difference between the target block and each neighboring block;

selecting at least one resembling block from the neighboring blocks of each group of the k groups according to the differences;

calculating a weighting for each resembling block;

fusing each pixel value of the target block with a corresponding pixel value of each of the resembling blocks according to the weighting; and

updating the pixel values of the target block of the frame according to a fusion result.

2. The method of claim 1 , wherein the difference between the target block and each neighboring block may be calculated using one of the following Equations:

Diff

(

x

+

1

,

y

+

1

)

=

i

=

0

i

=

a

j

=

0

j

=

b

(

Pn

(

i

,

j

)

-

Pt

(

i

,

j

)

)

2

Diff

(

x

+

1

,

y

+

1

)

=

i

=

0

i

=

a

j

=

0

j

=

b

Pn

(

i

,

j

)

-

Pt

(

i

,

j

)

where Diff(x+1,y+1) indicates the difference between the neighboring block comprising the center (x+1,y+1) and the target block, Pn(i,j) indicates the pixel value at position (i,j) of the neighboring block, Pt(i,j) indicates the pixel value at position (i,j) of the target block, a total amount of pixels in each column of the target block and the neighboring blocks is a+1 and a total amount of pixels in each row of the target block and the neighboring blocks is b+1.

3. The method of claim 1 , wherein the step for selecting the at least one resembling block from the neighboring blocks according to the differences further comprises:

dividing all the neighboring blocks into k groups;

selecting and labeling p of the neighboring blocks with the smallest differences as the resembling blocks for each group; and

labeling the target block as the resembling block.

4. The method of claim 1 , wherein the step for selecting the at least one resembling block from the neighboring blocks according to the differences further comprises:

dividing the neighboring blocks into the k groups according to distances between the neighboring blocks and the target block for selecting the at least one resembling block.

5. The method of claim 1 , wherein the step for calculating a weighting for each resembling block further comprises:

obtaining a noise parameter of each resembling block;

calculating a representative according to the noise parameter and the difference of each resembling block; and

obtaining the weighting according to the representative of each resembling block.

6. The method of claim 5 , wherein the representative of each resembling block is calculated by one of the following Equations:

Entry= d /σ; and

Entry= d 2 /2σ 2 ,

where Entry indicates the representative, d indicates the difference between the target block and the resembling block and σ indicates the noise parameter of the resembling block.

7. The method of claim 5 , wherein the step for obtaining the weighting according to the representative of each resembling block further comprises:

obtaining the weighting by searching a lookup table according to the representative of each resembling block,

wherein, in the lookup table, the weighting is an exponential decline function of the representative.

8. The method of claim 1 , wherein the fusion of the target block with the resembling blocks is calculated using the following Equations:

C

(

P

)

=

Q

B

(

Q

)

w

(

P

,

Q

)

;

and

u

(

p

ij

)

=

1

/

C

(

P

)

u

(

q

ij

)

Q

Q

B

(

Q

)

u

(

q

ij

)

w

(

P

,

Q

)

where P indicates the target block, Q indicates one resembling block, B(Q) indicates a set of the resembling blocks, w(P,Q) indicates the weighting of the resembling block, u(p ij ) indicates the pixel value of the target block and u(q ij ) indicates the corresponding pixel value of the resembling block.

9. The method of claim 1 , wherein the search window comprises pixels of a Bayer pattern and the pixel value of the target block is fused with the corresponding pixel value of each of the resembling blocks with a same channel as that of the target block.

10. An apparatus for blending resembling blocks, comprising:

a frame buffer, storing raw data of a frame, wherein the frame is generated by a camera module comprising an image sensor to detect the frame; and

a processing unit, coupled to the frame buffer, determining a target block of the frame to be fused; determining a search window for the target block and obtaining m neighboring blocks from the search window; grouping the m neighboring blocks with the same distances from the target block into a plurality of sub-groups; obtaining k groups of the neighboring blocks by merging the sub-groups, wherein each group has the same quantity of the neighboring blocks as that of the other groups, and the averaged distance of the neighboring blocks of each group are close; calculating a difference between the target block and each neighboring block; selecting at least one resembling block from the neighboring blocks of each group of the k groups according to the differences; calculating a weighting for each resembling block; fusing each pixel value of the target block with a corresponding pixel value of each of the resembling blocks according to the weighting so as to generate a fusion result; and updating the pixel values of the target block of the frame according to the fusion result.

11. The apparatus of claim 10 , wherein the difference between the target block and each neighboring block may be calculated using one of the following Equations:

Diff

(

x

+

1

,

y

+

1

)

=

i

=

0

i

=

a

j

=

0

j

=

b

(

Pn

(

i

,

j

)

-

Pt

(

i

,

j

)

)

2

Diff

(

x

+

1

,

y

+

1

)

=

i

=

0

i

=

a

j

=

0

j

=

b

Pn

(

i

,

j

)

-

Pt

(

i

,

j

)

where Diff(x+1,y+1) indicates the difference between the neighboring block comprising the center (x+1,y+1) and the target block, Pn(i,j) indicates the pixel value at position (i,j) of the neighboring block, Pt(i,j) indicates the pixel value at position (i,j) of the target block, a total amount of pixels in each column of the target block and the neighboring blocks is a+1 and a total amount of pixels in each row of the target block and the neighboring blocks is b+1.

12. The apparatus of claim 10 , wherein the processing unit divides all the neighboring blocks into k groups; selects and labels p of the neighboring blocks with the smallest differences as the resembling blocks for each group; and labels the target block as the resembling block.

13. The apparatus of claim 10 , wherein the processing unit divides the neighboring blocks into the k groups according to distances between the neighboring blocks and the target block for selecting the at least one resembling block.

14. The apparatus of claim 10 , wherein the processing unit obtains a noise parameter of each resembling block; calculates a representative according to the noise parameter and the difference of each resembling block; and obtains the weighting according to the representative of each resembling block.

15. The apparatus of claim 14 , wherein the representative of each resembling block is calculated by one of the following Equations:

Entry= d /σ; and

Entry= d 2 /2σ 2 ,

where Entry indicates the representative, d indicates the difference between the target block and the resembling block and σ indicates the noise parameter of the resembling block.

16. The apparatus of claim 14 , wherein the processing unit obtains the weighting by searching a lookup table according to the representative of each resembling block and, in the lookup table, the weighting is an exponential decline function of the representative.

17. The apparatus of claim 10 , wherein the fusion of the target block with the resembling blocks is calculated using the following Equations:

C

(

P

)

=

Q

B

(

Q

)

w

(

P

,

Q

)

;

and

u

(

p

ij

)

=

1

/

C

(

P

)

u

(

q

ij

)

Q

Q

B

(

Q

)

u

(

q

ij

)

w

(

P

,

Q

)

where P indicates the target block, Q indicates one resembling block, B(Q) indicates a set of the resembling blocks, w(P,Q) indicates the weighting of the resembling block, u(p ij ) indicates the pixel value of the target block and u(q ij ) indicates the corresponding pixel value of the resembling block.

18. The apparatus of claim 10 , wherein the search window comprises pixels of a Bayer pattern and the pixel value of the target block is fused with the corresponding pixel value of each of the resembling blocks with a same channel as that of the target block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
To: GLENFLY TECH CO., LTD.
Reel/Frame 058965/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2016
From: LIANG, AIMIN; WANG, YUANYUAN
To: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
Reel/Frame 037530/0242 →
Priority Claims (1)
CN 2015 1 0745964 · Nov 4, 2015 · national
Continuity (1)
Related Publication 20170124684A1 · May 4, 2017