IP Library Granted Patent US 8,731,323
Granted Patent B2
US 8,731,323 · App. 13/304,118 · Granted May 20, 2014

General banding and codec banding artifact removal

Inventors: Haiyun Wang (Singapore, SG); Lucas Hui (Singapore, SG)
Assignee: STMicroelectronics Asia Pacific Pte Ltd.
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 8,731,323
App. No.
13/304,118
Granted
May 20, 2014
Kind
B2
Abstract

A method and apparatus are disclosed for identifying and removing banding artifacts (i.e., false contours) resulting from insufficient bit depth caused by digital image quantization, conversion, and/or compression. This method includes: explicitly identifying texture block and flat block; de-termination of filter window sizes with the consideration of handling transitions between texture block and flat block; de-banding filtering with edge protection; and noise shaping according to de-banding filter result.

Claims (299)

1. An apparatus for removing banding artifacts, comprising:

a block classification processing module; and

a de-banding filtering module coupled to the block classification processing module,

wherein the block classification processing module comprises:

an edge detection unit; and

a block classification unit coupled to the edge detection unit,

wherein the block classification unit is configured to differentiate flat blocks and texture blocks,

wherein the de-banding filtering unit is configured to removing banding artifacts according to the equation

{

I

(

x

,

y

)

=

I

0

+

FiltThresh

,

if

I

(

x

,

y

)

>

(

I

0

+

FiltThresh

)

;

I

(

x

,

y

)

=

I

0

-

FiltThresh

,

if

I

(

x

,

y

)

<

(

I

0

-

FiltThresh

)

;

I

(

x

,

y

)

=

I

(

x

,

y

)

,

else

.

I

(

x

,

y

)

=

x

=

0

(

WinH

-

1

)

y

=

0

(

WinW

-

1

)

I

(

x

,

y

)

WinH

×

WinW

,

and

wherein FiltThresh comprises a definable sigma in the equation that is controllable to steer the filter strength, I 0 comprises a gray value of the current pixel under processing which is located in the center of filter window, a current window size WinSize is WinW×WinH, FiltThresh further comprises the manually selected threshold for de-banding filtering, I(x,y) comprises a pray value of each pixel located within the filter window, I′(x,y) comprises an intermediate filtered output, and I″(x,y) comprises a final filtering output.

2. The apparatus of claim 1 , further comprising a noise shaping processing module coupled to the de-banding filtering module.

3. The apparatus of claim 1 , wherein the block classification processing module is configured to perform coded block location based image feature extraction and block type identification.

4. The apparatus of claim 1 , wherein the de-banding filtering module is configured to be applied to each pixel according to a filtering window.

5. The apparatus of claim 4 , wherein the de-banding filtering module is further configured to be steered by a definable sigma.

6. The apparatus of claim 2 , wherein the noise shaping processing module is configured to be conducted according to filtering results of the de-banding filtering module.

7. The apparatus of claim 1 , wherein the edge detection unit is configured to extract block-wise features of a coded block.

8. The apparatus of claim 1 , wherein the de-banding filtering module comprises:

a window size assignment unit; and

a de-banding filtering unit coupled to the window size assignment unit.

9. The apparatus of claim 1 , wherein the window size assignment unit is configured to determine a filtering window for a pixel.

10. The apparatus of claim 8 , wherein the filtering window is adaptively determined according to distance to boundary of flat block and texture block.

11. The apparatus of claim 2 , wherein the noise shaping processing module is configured to calculate a gray value difference between a de-banding output data and an original input frame, multiply the gray value difference with a spatial/temporal noise generated by a noise shaping unit as an adding-back-randomness, and adding the adding-back randomness to the de-banding output.

12. The apparatus of claim 11 , wherein the noise shaping unit is configured to generate temporal, spatial and pure flat noise.

13. A method for block classification comprising calculating a block max edge magnitude and a normalized block min edge magnitude as two axes of a 2D mask, wherein a value of the block max edge magnitude and the normalized block min edge magnitude represents the probability of banding artifacts.

14. The method of claim 13 , further comprising applying thresholdings to determine flat blocks and texture blocks.

15. A method for noise generation and noise shaping, comprising, if temporal noise is enabled, updating a seed of a noise generator temporally on each frame, otherwise, applying a fixed seed over a whole sequence.

16. The method of claim 15 , further comprising if spatial noise is enabled, adaptively adding a spatial noise on each pixel if a de-banding filter-in-out difference is not equal to zero.

17. The method of claim 16 , wherein noise strength control on luma/chroma is applied to the adaptively adding of the spatial noise.

18. The method of claim 16 , further comprising if pure flat noise is enabled, the spatial noise can be added on pure flat pixels.

19. The method of claim 18 , wherein pure flat pixels are detected by checking whether the de-banding filter-in-out difference equals to zero.

20. A method for removing banding artifacts, comprising:

one or more processors implementing on the following steps;

conducing block classification based on coded block location and block max/min edge analysis to explicitly identify texture block and flat block;

determining a de-banding window size according to surrounding block classifications and current pixel position within a current block to handle transitions between texture block and flat block;

applying a de-banding filter to the current pixel according to the determined de-banding window size; and

applying a noise shaping function according to a result of the de-banding filter to fine tune transitions between mono-tone region, de-banding region, and re-quantized output result,

wherein the de-banding filtering unit is configured to removing banding artifacts according to the equation

{

I

(

x

,

y

)

=

I

0

+

FiltThresh

,

if

I

(

x

,

y

)

>

(

I

0

+

FiltThresh

)

;

I

(

x

,

y

)

=

I

0

-

FiltThresh

,

if

I

(

x

,

y

)

<

(

I

0

-

FiltThresh

)

;

I

(

x

,

y

)

=

I

(

x

,

y

)

,

else

.

I

(

x

,

y

)

=

x

=

0

(

WinH

-

1

)

y

=

0

(

WinW

-

1

)

I

(

x

,

y

)

WinH

×

WinW

,

and

wherein FiltThresh comprises a definable sigma in the equation that is controllable to steer the filter strength, I 0 comprises a gray value of the current pixel under processing which is located in the center of filter window, a current window size WinSize is WinW×WinH, FiltThresh further comprises the manually selected threshold for de-bandinq filtering, I(x,y) comprises a gray value of each pixel located within the filter window, I′(x,y) comprises an intermediate filtered output, and I″(x,y) comprises a final filtering output.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2024
From: STMICROELECTRONICS ASIA PACIFIC PTE LTD
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 068434/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2011
From: WANG, HAIYUN; HUI, LUCAS
To: STMICROELECTRONICS ASIA PACIFIC PTE LTD.
Reel/Frame 027275/0188 →
Continuity (1)
Related Publication 20130128122A1 · May 23, 2013