IP Library Granted Patent US 8,848,801
Granted Patent B2
US 8,848,801 · App. 12/986,896 · Granted Sep 30, 2014

Apparatus, a method and a computer program for video processing

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,848,801
App. No.
12/986,896
Granted
Sep 30, 2014
Kind
B2
Abstract

There is disclosed apparatuses, methods and computer program products for coding and decoding and specifically but not only for coding and decoding of image and video signals. It is determined whether two adjacent blocks of pixels of an image have a flat nature. The result of the determining is used to select a filter among at least a first filter and a second filter for filtering a block boundary between two adjacent blocks of pixels. The second filter is selected when said determining indicates that there are two adjacent blocks of pixels having a flat nature. At least a first reference value and a second reference value are selected for the second filter and used in filtering the block boundary.

Claims (82)

1. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least:

determine whether two adjacent blocks of pixels of an image have a flat nature;

use the result of the determining to select a filter among at least a first filter and a second filter for filtering a block boundary between two adjacent blocks of pixels;

select the second filter when said determining indicates that there are two adjacent blocks of pixels having a flat nature; and

select at least a first reference value and a second reference value for the second filter, wherein the first reference value is a leftmost value in a filter window and the second reference value is a rightmost value in the filter window;

wherein the second filter is configured for using said first reference value and said second reference value in filtering the block boundary.

2. An apparatus of claim 1 , wherein said block of pixels may comprise at least one row of pixels, and the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:

select said first reference value as a value of a pixel of said first block of pixels located at a first distance from the block boundary; and

select said second reference value as a value of a pixel of said second block of pixels located at a second distance from the block boundary.

3. An apparatus of claim 1 , wherein said block of pixels comprises at least two rows of pixels and at least two columns of pixels, the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:

filter a horizontal block boundary between the first block and the second block first; and

filter a vertical block boundary between the first block and a third block next.

4. An apparatus of claim 1 , wherein said block of pixels comprises at least two rows of pixels and at least two columns of pixels, the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:

filter a vertical block boundary between the first block and the second block first; and

filter a horizontal block boundary between the first block and a third block next.

5. A method comprising:

Determining, with a processor, whether two adjacent blocks of pixels of an image have a flat nature;

using the result of the determining to select a filter among at least a first filter and a second filter for filtering a block boundary between two adjacent blocks of pixels;

selecting the second filter when said determining indicates that there are two adjacent blocks of pixels having a flat nature;

selecting at least a first reference value and a second reference value for the second filter, wherein the second filter first reference value is the leftmost value in a filter window and the second reference value is the rightmost value in the filtering window; and

using said first reference value and said second reference value in filtering the block boundary.

6. The method of claim 5 , wherein said block of pixels may comprise at least one row of pixels, and the method further comprising:

selecting said first reference value as a value of a pixel of said first block of pixels located at a first distance from the block boundary; and

selecting said second reference value as a value of a pixel of said second block of pixels located at a second distance from the block boundary.

7. The method of claim 5 , wherein said block of pixels may comprise at least two rows of pixels and at least two columns of pixels, and the method further comprising:

filtering a horizontal block boundary between the first block and the second block first;

filtering a vertical block boundary between the first block and a third block next.

8. The method of claim 5 , wherein said block of pixels comprises at least two rows of pixels and at least two columns of pixels, the method further comprising:

filtering a vertical block boundary between the first block and the second block first; and

filtering a horizontal block boundary between the first block and a third block next.

9. A non-transitory computer readable storage medium stored with code thereon for use by an apparatus, which when executed by a processor, causes the apparatus to:

determine whether two adjacent blocks of pixels of an image have a flat nature;

use the result of the determining to select a filter among at least a first filter and a second filter for filtering a block boundary between two adjacent blocks of pixels;

select the second filter when said determining indicates that there are two adjacent blocks of pixels having a flat nature;

select at least a first reference value and a second reference value for the second filter wherein the first reference value is a leftmost value in a filter window and a second reference value is the rightmost value in the filter window; and

use said first reference value and said second reference value in filtering the block boundary.

10. The computer readable storage medium of claim 9 , wherein when said code is executed by the processor, it further causes the apparatus to:

select said first reference value as a value of a pixel of said first block of pixels located at a first distance from the block boundary; and

select said second reference value as a value of a pixel of said second block of pixels located at a second distance from the block boundary.

11. The computer readable storage medium of claim 9 , wherein said block of pixels comprises at least two rows of pixels and at least two columns of pixels, and when said code is executed by the processor, it further causes the apparatus to perform:

filter a horizontal block boundary between the first block and the second block first; and

filter a vertical block boundary between the first block and a third block next.

12. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least:

determine whether two adjacent blocks of pixels of an image have a flat nature;

use the result of the determining to select a deblocking filter among at least a first deblocking filter and a second deblocking filter for filtering a block boundary between two adjacent blocks of pixels;

select the second deblocking filter when said determining indicates that there are two adjacent blocks of pixels having a flat nature; and

select at least a first reference value and a second reference value for the second deblocking filter, wherein the first reference value is a leftmost value in a filter window and the second reference value is a rightmost value in the filter window;

wherein the second deblocking filter is configured for using said first reference value and said second reference value in filtering the block boundary.

13. The apparatus of claim 12 , wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to receive an indication indicative of the nature of the block of pixels.

14. The apparatus of claim 12 , wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:

select said first reference value as a value of a pixel of said first block of pixels located at a first distance from the block boundary; and

select said second reference value as a value of a pixel of said second block of pixels located at a second distance from the block boundary.

15. The apparatus of claim 12 , wherein said block of pixels comprises at least two rows of pixels and at least two columns of pixels, the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:

filter a horizontal block boundary between the first block and the second block first; and

filter a vertical block boundary between the first block and a third block next.

16. The apparatus of claim 12 , wherein said block of pixels comprises at least two rows of pixels and at least two columns of pixels, the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to:

filter a vertical block boundary between the first block and the second block first; and

filter a horizontal block boundary between the first block and a third block next.

17. A method comprising:

Determining, with a processor, whether two adjacent blocks of pixels of an image have a flat nature;

using the result of the determining to select a deblocking filter among at least a first deblocking filter and a second deblocking filter for filtering a block boundary between two adjacent blocks of pixels;

selecting the second deblocking filter when said determining indicates that there are two adjacent blocks of pixels having a flat nature; and

selecting at least a first reference value and a second reference value for the second deblocking filter, wherein the first reference value is a leftmost value in a filter window and the second reference value is a rightmost value in the filter window; and

using said first reference value and said second reference value in filtering the block boundary.

18. The method of claim 17 , further comprising:

receiving an indication indicative of the nature of the block of pixels.

19. The method of claim 17 , wherein said block of pixels may comprise at least one row of pixels, and the method further comprising:

selecting said first reference value as a value of a pixel of said first block of pixels located at a first distance from the block boundary; and

selecting said second reference value as a value of a pixel of said second block of pixels located at a second distance from the block boundary.

20. The method of claim 17 , wherein said block of pixels may comprise at least two rows of pixels and at least two columns of pixels, and the method further comprising:

filtering a horizontal block boundary between the first block and the second block first; and

filtering a vertical block boundary between the first block and a third block next.

21. The method of claim 17 , wherein said block of pixels may comprise at least two rows of pixels and at least two columns of pixels, and the method further comprising:

filtering a vertical block boundary between the first block and the second block first; and

filtering a horizontal block boundary between the first block and a third block next.

22. A non-transitory computer readable storage medium stored with code thereon for use by an apparatus, which when executed by a processor, causes the apparatus to perform:

determining whether two adjacent blocks of pixels of an image have a flat nature;

using the result of the determining to select a deblocking filter among at least a first deblocking filter and a second deblocking filter for filtering a block boundary between two adjacent blocks of pixels;

selecting the second deblocking filter when said determining indicates that there are two adjacent blocks of pixels having a flat nature;

selecting at least a first reference value and a second reference value for the second deblocking filter, wherein the first reference value is a leftmost value in a filter window and the second reference value is a rightmost value in the filter window; and

using said first reference value and said second reference value in filtering the block boundary.

23. The computer readable storage medium of claim 22 , wherein when said code is executed by the processor, it further causes the apparatus to receive an indication indicative of the nature of the block of pixels.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035500/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2011
From: LAINEMA, JANI; UGUR, KEMAL
To: NOKIA CORPORATION
Reel/Frame 025602/0406 →