IP Library Granted Patent US 8,416,861
Granted Patent B2
US 8,416,861 · App. 12/250,236 · Granted Apr 9, 2013

Fixed-point implementation of an adaptive image filter with high coding efficiency

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,416,861
App. No.
12/250,236
Granted
Apr 9, 2013
Kind
B2
Abstract

In accordance with an embodiment of the present invention, a method comprising: representing coefficients of an adaptive image filter in binary words wherein the coefficients are restricted and the binary words have a maximum number of bits defined at least in part by a precision index; computing at least one of a convolution sum and multiple partial convolution sums of the adaptive image filter wherein the at least one of a convolution sum and multiple partial convolution sums having a constrained value range and having a binary representation with a fixed maximum number of bits; and generating the output of the adaptive image filter based at least in part on the at least one of a convolution sum and multiple partial convolution sums, is disclosed.

Claims (41)

1. An apparatus, comprising,

at least a processor, a memory operationally associated with said processor and having computer coded instructions therein, said instructions when executed by the processor causing the apparatus to:

operate as an image filter, wherein at least one integer coefficient of said image filter is restricted, at least one of a convolution sum and multiple partial convolution sums of said image filter being determined based at least in part on said at least one integer coefficient, said at least one of a convolution sum and multiple partial convolution sums having a binary representation with a fixed maximum number of bits, and said at least one integer coefficient having a binary representation with a number of bits defined by a precision index;

generate an output of said adaptive image filter based at least in part on said at least one of a convolution sum and multiple partial convolution sums;

right shift said multiple partial convolution sums;

compute a sum of said right shifted multiple partial convolution sums and a negative number; and

right shift said computed sum of said right shifted multiple partial convolution sums and said negative number.

2. The apparatus of claim 1 , wherein said image filter comprises an adaptive filter of a video encoder and at least one of said precision index and said at least one integer coefficient is coded into a bit stream.

3. The apparatus of claim 1 , wherein said image filter comprises an adaptive filter of a video decoder and at least one of said precision index and said at least one integer coefficient is decoded from a bit stream.

4. The apparatus of claim 1 , wherein said apparatus is a chipset.

5. The apparatus of claim 1 , further comprising a memory unit communicatively connected to the processor and configured to store said at least one integer coefficient.

6. The apparatus of claim 1 , wherein said image filter comprises an adaptive interpolation filter of a video encoder and said precision index is different for different interpolation points.

7. The apparatus of claim 1 , wherein said image filter comprises an adaptive interpolation filter of a video decoder and said precision index is different for different interpolation points.

8. The apparatus of claim 1 , wherein the at least one coefficient is restricted to within upper and lower bound constraints.

9. The apparatus of claim 8 , wherein the upper and lower bound constraints on the at least one coefficient are different for different coefficients.

10. The apparatus of claim 1 , wherein said image filter comprises an adaptive loop filter of a video encoder and said precision index is different for different filter coefficients.

11. The apparatus of claim 1 , wherein said image filter comprises an adaptive loop filter of a video decoder and said precision index is different for different filter coefficients.

12. A method, comprising:

determining at least one of a convolution sum and multiple partial convolution sums based at least in part on at least one restricted integer coefficient of an adaptive image filter, said at least one of a convolution sum and multiple partial convolution sums being restricted to have a binary representation with a fixed maximum number of bits;

generating an output of said adaptive image filter based at least in part on said at least one of a convolution sum and multiple partial convolution sums;

said generating comprising right shifting said multiple partial convolution sums;

computing a sum of said right shifted multiple partial convolution sums and a negative number; and

right shifting said computed sum of said right shifted multiple partial convolution sums and said negative number.

13. The method of claim 12 , wherein said adaptive image filter comprises an interpolation filter.

14. The method of claim 13 , wherein said at least one restricted integer coefficient has different arithmetic accuracy for different interpolation points.

15. The method of claim 12 , further comprising converting at least one of a floating point coefficient of said adaptive image filter into at least one corresponding integer coefficient of said adaptive image filter, said at least one corresponding integer coefficient having a binary representation with a second fixed maximum number of bits, said converting further comprising restricting said at least one corresponding integer coefficient.

16. The method of claim 12 , wherein said at least one restricted integer coefficient is restricted such that a sum of one or more positive restricted integer coefficients in at least one subset of said at least one restricted integer coefficient has an upper bound and a sum of one or more negative integer coefficients in at least one subset of said at least one restricted integer coefficient has a lower bound.

17. The method of claim 12 , wherein at least one subset of said at least one restricted integer coefficient has a different value range from at least another subset of said at least one restricted integer coefficient.

18. The method of claim 12 , wherein a sum of said at least one restricted integer coefficient having a positive value has a different value range from a sum of said at least one restricted integer coefficient having a negative value.

19. A computer program product comprising computer program code embodied on a non-transitory computer-readable medium, said program code when executed by a processor being configured to cause an apparatus to:

determine at least one of a convolution sum and multiple partial convolution sums based at least in part on at least one restricted integer coefficient of an image filter, said at least one of a convolution sum and multiple partial convolutions sums being restricted to have a binary representation with a fixed maximum number of bits;

generate an output of said image filter based at least in part on said at least one of a convolution sum and multiple partial convolution sums;

said generating comprising right shifting said multiple partial convolution sums;

computing a sum of said right shifted multiple partial convolution sums and a negative number; and

right shifting said computed sum of said right shifted multiple partial convolution sums and said negative number.

20. An apparatus, comprising, at least a processor, a memory operationally associated with said processor and having computer coded instructions therein, said instructions when executed by the processor causing the apparatus to:

determine at least one of a convolution sum and multiple partial convolution sums based at least in part on at least one restricted integer coefficient of an image filter, said at least one of a convolution sum and multiple partial convolution sums being restricted to have a binary representation with a fixed maximum number of bits;

generate an output of said image filter based at least in part on said at least one of a convolution sum and multiple partial convolution sums;

said generating comprising right shifting said multiple partial convolution sums;

computing a sum of said right shifted multiple partial convolution sums and a negative number; and

right shifting said computed sum of said right shifted multiple partial convolution sums and said negative number.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2017
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 041006/0185 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2009
From: UGUR, KEMAL; HALLAPURO, ANTTI OLLI; RUSANOVSKYY, DMYTRO; LAINEMA, JANI
To: NOKIA CORPORATION
Reel/Frame 022125/0597 →