IP Library Granted Patent US 8,040,957
Granted Patent B2
US 8,040,957 · App. 12/768,412 · Granted Oct 18, 2011

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 8,040,957
App. No.
12/768,412
Granted
Oct 18, 2011
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 (122)

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; and

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.

2. 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; and

wherein the specified condition is that an absolute difference between the two motion vectors is less than a non-zero threshold; and further

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.

3. 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; and

wherein decision not to conduct the filtering is made separately for a luminance component and for a chrominance component.

4. 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; and

wherein the specified condition is that the two motion vectors are identical with each other; and further

wherein decision not to conduct the filtering is made separately for a luminance component and for a chrominance component.

5. 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; and

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.

6. 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; and

wherein the specified condition is that an absolute difference between the two motion vectors is less than a non-zero threshold; and further

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.

7. 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; and

wherein decision not to conduct the filtering is made separately for a luminance component and for a chrominance component.

8. 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; and

wherein the specified condition is that the two motion vectors are identical with each other; and further

wherein decision not to conduct the filtering is made separately for a luminance component and for a chrominance component.

9. 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; and

wherein decision not to conduct the filtering is made separately for a luminance component and for a chrominance component.

10. 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; and

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. 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; and

wherein the specified condition is that an absolute difference between the two motion vectors is less than a non-zero threshold; and further

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.

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; and

wherein decision not to conduct the filtering is made separately for a luminance component and for a chrominance component.

13. 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; and

wherein the specified condition is that the two motion vectors are identical with each other; and further

wherein decision not to conduct the filtering is made separately for a luminance component and for a chrominance component.

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