IP Library Granted Patent US 7,787,542
Granted Patent B2
US 7,787,542 · App. 11/497,431 · Granted Aug 31, 2010

Adaptive filtering based upon boundary strength

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 7,787,542
App. No.
11/497,431
Granted
Aug 31, 2010
Kind
B2
Abstract

Adjacent regions are identified in an image. Coding parameters for the adjacent regions are identified. Selective filtering is performed at the region between the identified adjacent regions.

Claims (42)

1. An encoder for encoding an image with selectively filtering a boundary between two adjacent blocks in a reconstructed image, comprising:

motion compensation predictor for conducting motion compensation prediction for each of blocks to be encoded by using the reconstructed image, and

transformer for transforming data of the block to be encoded, wherein

filtering is not conducted for the boundary when

(1) both the two adjacent blocks are predicted from a reference frame;

(2) both the two adjacent blocks do not include any non-zero transform coefficients; and

(3) motion vectors of the two adjacent blocks satisfy a specified condition, said specified condition including:

|V(j,x)−V(k,x)|<1 pixel and |V(j,y)−V(k,y)|<1 pixel, where j and k are block numbers of adjacent blocks, V(j,x) and V(j,y) are components of the motion vector for block j, V(k,x), and V(k,y) are components of the motion vector for block k, x indicates horizontal direction of the motion vectors and y indicates vertical direction of the motion vectors.

2. The encoder of claim 1 , wherein the specified condition is that the two motion vectors are identical with each other.

3. The encoder of claim 1 , wherein the specified condition is that an absolute difference between the two motion vectors is less than a non-zero threshold.

4. A decoder for decoding an image with selectively filtering a boundary between two adjacent blocks in a reconstructed image, comprising:

motion compensation predictor for conducting motion compensation prediction for each of blocks to be decoded by using the reconstructed image, and

inverse transformer for inversely transforming data of each of the blocks to be decoded, wherein

the filtering is not conducted for the boundary when

(1) both the two adjacent blocks are predicted from a reference frame;

(2) both the two adjacent blocks do not include any non-zero transform coefficients; and

(3) motion vectors of the two adjacent blocks satisfy a specified condition, said specified condition including:

|V(j,x)−V(k,x)|<1 pixel and |V(j,y)−V(k,y)|<1 pixel, where j and k are block numbers of adjacent blocks, V(j,x) and V(j,y) are components of the motion vector for block j, V(k,x), and V(k,y) are components of the motion vector for block k, x indicates horizontal direction of the motion vectors and y indicates vertical direction of the motion vectors.

5. The decoder of claim 4 , wherein the specified condition is that the two motion vectors are identical with each other.

6. The decoder of claim 4 , wherein the specified condition is that an absolute difference between the two motion vectors is less than a non-zero threshold.

7. An encoding process for encoding an image with selectively filtering a boundary between two adjacent blocks in a reconstructed image, comprising:

step for conducting motion compensation prediction, with a motion compensation predictor, for each of blocks to be encoded by using the reconstructed image, and

step for transforming, with a transformer, data of the block to be encoded, wherein

filtering is not conducted for the boundary when

(1) both the two adjacent blocks are predicted from a reference frame;

(2) both the two adjacent blocks do not include any non-zero transform coefficients; and

(3) motion vectors of the two adjacent blocks satisfy a specified condition, said specified condition including:

|V(j,x)−V(k,x)|<1 pixel and |V(j,y)−V(k,y)|<1 pixel, where j and k are block numbers of adjacent blocks, V(j,x) and V(j,y) are components of the motion vector for block j, V(k,x), and V(k,y) are components of the motion vector for block k, x indicates horizontal direction of the motion vectors and y indicates vertical direction of the motion vectors.

8. The encoding process of claim 7 , wherein the specified condition is that the two motion vectors are identical with each other.

9. The encoding process of claim 7 , wherein the specified condition is that an absolute difference between the two motion vectors is less than a non-zero threshold.

10. The encoding process of any one of claims 7 to 9 , wherein decision not to conduct the filtering is based on only a luminance component and, when filtering is not conducted for a boundary of blocks of a luminance component, filtering is not conducted also for a boundary of blocks of a chrominance component corresponding to the blocks of the luminance component.

11. The encoding process of claim 8 , wherein decision not to conduct the filtering is made separately for a luminance component and for a chrominance component.

12. An decoding process for decoding an image with selectively filtering a boundary between two adjacent blocks in a reconstructed image, comprising:

step for conducting motion compensation prediction, with a motion compensation predictor, for each of blocks to be decoded by using the reconstructed image, and

step for inversely transforming, with an inverse transformer, data of the block to be decoded, wherein

filtering is not conducted for the boundary when

(1) both the two adjacent blocks are predicted from a reference frame;

(2) both the two adjacent blocks do not include any non-zero transform coefficients; and

(3) motion vectors of the two adjacent blocks satisfy a specified condition, said specified condition including:

|V(j,x)−V(k,x)|<1 pixel and |V(j,y)−V(k,y)|<1 pixel, where j and k are block numbers of adjacent blocks, V(j,x) and V(j,y) are components of the motion vector for block j, V(k,x), and V(k,y) are components of the motion vector for block k, x indicates horizontal direction of the motion vectors and y indicates vertical direction of the motion vectors.

13. The decoding process of claim 12 , wherein the specified condition is that the two motion vectors are identical with each other.

14. The decoding process of claim 12 , wherein the specified condition is that an absolute difference between the two motion vectors is less than a non-zero threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2015
From: SHARP KABUSHIKI KAISHA
To: DOLBY LABORATORIES LICENSING CORPORATION
Reel/Frame 036724/0111 →