U.S. patent number RE43,628 [Application Number 12/908,690] was granted by the patent office on 2012-09-04 for method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding.
This patent grant is currently assigned to Sharp Kabushiki Kaisha. Invention is credited to Shawmin Lei, Shijun Sun.
United States Patent |
RE43,628 |
Sun , et al. |
September 4, 2012 |
Method and apparatus for controlling loop filtering or post
filtering in block based motion compensationed video coding
Abstract
Adjacent blocks are identified in an image. Coding parameters
for the adjacent blocks are identified. Deblock filtering between
the identified adjacent blocks is skipped if the coding parameters
for the identified adjacent blocks are similar and not skipped if
the coding parameters for the identified adjacent blocks are
substantially different.
Inventors: |
Sun; Shijun (Redmond, WA),
Lei; Shawmin (Hsinchu, TW) |
Assignee: |
Sharp Kabushiki Kaisha (Osaka,
JP)
|
Family
ID: |
25223683 |
Appl.
No.: |
12/908,690 |
Filed: |
October 20, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
09817701 |
Mar 26, 2001 |
6931063 |
|
|
Reissue of: |
11105729 |
Apr 13, 2005 |
7440501 |
Oct 21, 2008 |
|
|
Current U.S.
Class: |
375/240.16;
382/250; 382/238; 382/235; 375/240.18; 382/233; 375/240.12;
375/240.25; 382/264; 375/240.13; 375/240.2; 382/248; 375/240.29;
375/240.15; 382/236; 375/240.14 |
Current CPC
Class: |
H04N
19/895 (20141101); H04N 19/61 (20141101); H04N
19/527 (20141101); H04N 19/117 (20141101); H04N
19/80 (20141101); H04N 19/139 (20141101); H04N
19/196 (20141101); H04N 19/136 (20141101); H04N
19/577 (20141101); H04N 19/82 (20141101); H04N
19/573 (20141101); H04N 19/60 (20141101); H04N
19/132 (20141101); H04N 19/86 (20141101); G06T
5/001 (20130101); H04N 19/176 (20141101) |
Current International
Class: |
H04B
1/66 (20060101) |
Field of
Search: |
;375/240.16,240.15,240.13,240.14,240.12,240.25,240.29,240.2,240.18
;382/238,233,235,236,264,250,248 |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
|
|
|
|
|
|
|
2 374 523 |
|
Jul 2001 |
|
CA |
|
0 777 388 |
|
Dec 1995 |
|
EP |
|
0 714 209 |
|
May 1996 |
|
EP |
|
0 777 388 |
|
Apr 1997 |
|
EP |
|
0 777 388 |
|
Jun 1997 |
|
EP |
|
0 838 955 |
|
Jul 1997 |
|
EP |
|
0 838 955 |
|
Apr 1998 |
|
EP |
|
5-227518 |
|
Sep 1993 |
|
JP |
|
05-227518 |
|
Sep 1993 |
|
JP |
|
08-205178 |
|
Aug 1996 |
|
JP |
|
10-93966 |
|
Apr 1998 |
|
JP |
|
10-191351 |
|
Jul 1998 |
|
JP |
|
11-18085 |
|
Jan 1999 |
|
JP |
|
11-275584 |
|
Oct 1999 |
|
JP |
|
2000-299864 |
|
Oct 2000 |
|
JP |
|
2001-94996 |
|
Apr 2001 |
|
JP |
|
2001-204029 |
|
Jul 2001 |
|
JP |
|
2001-224031 |
|
Aug 2001 |
|
JP |
|
2004-328634 |
|
Nov 2004 |
|
JP |
|
2005-503737 |
|
Feb 2005 |
|
JP |
|
2006-191576 |
|
Jul 2006 |
|
JP |
|
1997-0078645 |
|
Dec 1997 |
|
KR |
|
WO 00/14685 |
|
Mar 2000 |
|
WO |
|
Other References
"Index of /av-arch/video-site/0109.sub.--San", Sep. 4, 2001, pp.
1-4, XP002606104, Retrieved from the Internet:
URL:http://ftp.itu3.int/av-arch/video-site/0109.sub.--San
[retrieved on Oct. 4, 2005]. cited by other .
Suehring, Karsten, "Release of reference software TML 8.4",
tml84changes.txt, Sep. 3, 2001, XP002606232, Retrieved from the
Internet:
URL:http//wftp3.itu.int/av-arch/video-site/h26L/older.sub.--tml/tml84chan-
ges.txt [retrieved on Oct. 20, 2010]. cited by other .
"Working Draft 1.0 of 14496-10: 200x/AMD1 Scalable Video Coding"
ITU Study Group 16--Video Coding Experts Group--ISO/IEC MPEG &
ITU-T VCEG/ISO/IEC JTC1/SC29/ WG11 and ITU-T SG16 Q6), No. N6901,
Feb. 5, 2005, (Feb. 5, 2005), XP030013621. cited by other .
"Working Draft 4 of ISO/IEC 14496-10: 200x/Amd.3 Scalable Video
Coding" ITU Study Group 16--Video Coding Experts Group--ISO/IEC
MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q6),
No. N7555. Oct. 28, 2005 (Oct. 28, 2005), XP030014100 p. 118-p.
119. cited by other .
Bjontegaard G.: "H.26L Test Model Long Term No. 6 (TML-6) draft 0",
ITU Telecommunication Standarization Sector, Eibsee, Germany, Jan.
9 (Jan. 9, 2001), pp. 1-35, generated Mar. 3, 2001. cited by other
.
Bjontegaard G.: "H.26L Test Model Long Term No. 7 (TML-7) draft 0"
ITU--Telecommunications Standardization Sector, Study Group 16,
Video Coding Experts Group; Document VCEG-M81, May 3, 2001; Austin
Texas, USA Apr. 2-4, 2001. cited by other .
Derviaux C et al.: "Blocking Artifact Reduction of DCT Coded Image
Sequences Using a Visually Adaptive Postprocessing" Proceedings of
the International Conference on Image Processing (ICIP), Lausanne,
Sep. 16-19, 1996, New York, IEEE, US, vol. 1, Sep. 16, 1996 pp.
5-8. cited by other .
European Search Report for EP02006295.6, Apr. 28, 2005. cited by
other .
European Search Report for EP02798822.9, Oct. 17, 2005. cited by
other .
European Search Report for EP05016012.6, Oct. 7, 2005. cited by
other .
European Search Report for EP06019135.0, Aug. 30, 2007. cited by
other .
European Search Report for EP06736425.7, Sep. 1, 2010. cited by
other .
Francois E. et al: "Extended Spatial Scalability" International
Organisation for Standardisation Organisation International De
Normalisation, ISO/IEC JTC1/SC29/WG11, Coding of Moving Pictures
and Audio, ISO/IEC JTC1/SC29/WG11, MPEG2005/M11660, Jan. 2005, Hong
Kong. cited by other .
Han W. et al.: "Response of SVC CE-3: Interlayer prediction" ITU
Study Group 16--Video Coding Experts Group--ISO/IEC MPEG &
ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q6), No.
M11585,11 Jan. 2005 (Jan. 11, 2005, XP030040330. cited by other
.
He Y; Wu F; Li S; Zhong 7; Yang S: "H.26L--Based Fine Granularity
Scalable Video Coding" Proceedings--IEEE International Symposium on
Circuits and Systems, vol. 4, 2002, pp. IV-548-IV-551, XP002593544
ISSN:0271-4310. cited by other .
International Search Report for PCT/JP02/09306, Dec. 17, 2002.
cited by other .
International Search Report for PCT/US2006/007105, Nov. 23, 2007.
cited by other .
Kim C. et al.: "Simplified Loop Filter for Mobile Service
(VCEG-M43)" ITU--Telecommunication Standardization Sector Study
Group 16, VCEG-M43, Austin, Texas, Apr. 2-4, 2001, generated Mar.
28, 2001. cited by other .
Kim S. D. et al.: "A Deblocking Filter with Two Separate Modes in
Block-Based Video Coding", IEEE Transactions on Circuits and
Systems for Video Technology, vol. 9, No. 1, Feb. 1999; pp.
156-160. cited by other .
Lee Y. L. et al.: "Loop-filtering and post-filtering for low
bit-rates moving picture coding" Image Processing, 1999. ICIP 99.
Proceedings,1999 International Conference on Kobe, Japan Oct.
24-28, 1999, Piscataway, NJ, USA, IEEE, US, vol. 1, Oct. 24, 1999.
cited by other .
List P. et al. "H.26L Test Model Long Term No. 8.40 (TML-8.4),
Software Module: loop-filter.c" ITU--Telecommunications
Standardization Sector Study Group 16, VCEG, [Online] Aug. 29,
2001, pp. 1-3, XP002440062, Santa Barbara, CA, USA. cited by other
.
List P. et al.: "Adaptive Deblocking Filter" IEEE Transactions on
Circuits and Systems for Video Technology, IEEE Service Center,
Piscataway, NJ, US LINKD-DOI: 10.1109/TCSVT. 2003.815175, vol. 13,
No. 7, Jul. 1, 2003 (Jul. 1, 2003). pp. 614-619, XP01122109. cited
by other .
List P.: "Report of the Ad Hoc Committee on Loop Filter Improvement
(VCEG-N08)" ITU Telecommunications Standardization Sector Study
Group 16, VCEG-N008, [Online] Sep. 4, 2001, pp. 1-3, XP002347724
Santa Barbara, CA, USA, generated Aug. 8, 2001. cited by other
.
Meier T. et al.: "Reduction of Blocking Artifacts in Image and
Video Coding", IEEE Transactions on Circuits and Systems for Video
Technology, vol. 9, No. 3, Apr. 1999; pp. 490-499. cited by other
.
Park H. W. et al.: "A Postprocessing Method for Reducing
Quantization Effects in Low Bit-Rate Moving Picture Coding", IEEE
Transactions on Circuits and Systems for Video Technology, IEEE
Inc. New York, US, vol. 9, No. 1, Feb. 1999 (Feb. 1999), pp.
161-171. cited by other .
Sun S. et al.: "Improved TML Loop Filter with Lower Complexity
(VCEG-N17)" ITU Telecommunications Standardization Sector Study
Group 16, VCEG-N17, [Online] Sep. 24, 2001, pp. 1-8, XP002347725
Santa Barbara, CA USA, generated Aug. 14, 2001. cited by other
.
Sun S. et al.: "Loop Filter with Skip Mode (VCEG-M20)" ITU
Telecommunications Standardization Sector Study Group 16, VCEG-M20,
Apr. 2-4, 2001, pp. 1-8, XP002321426 Austin, Texas, USA, sections 1
+ 2 with figure 1, generated Mar. 27, 2001. cited by other .
Turkowski K.: "Filters for Common Resampling Tasks," Graphics Gems
I, Academic Pres, Apple Computer, Apr. 1990. cited by other .
Video & JVT, Description of Core Experiments in SVC,
International Organisation For Standardisation, Organisation
International De Normalisation, Coding Of Moving Pictures And
Audio, ISO/IEC JTC1/SC29/WG11/N6898, Hong Kong, Jan. 2005. cited by
other .
Sun S. et al.: "Extended Spatial Scalability with Picture-Level
Adaptation," ITU Study Group 16--Video Coding Experts
Group--ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/VVG11 and
ITU-T SG16 Q6), No. JVT-0008, Apr. 13, 2005 (Apr. 13, 2005),
XP030005956. cited by other .
Sun S.:"CE2 Part 2: Deblocking filter for I.sub.--BL Blocks Spatial
Scalable Video Coding", ITU Study Group 16--Video Coding Experts
Group--ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 and
ITU-T SG16 Q6), No. JVT-P013r1, Jul. 28, 2005 (Jul. 28, 2005),
XP030006055. cited by other .
Derviaux, Christian et al., "Blocking Artifact Reduction of DCT
Coded Image Sequences Using a Visually Adaptive Postprocessing",
IEEE, pp. 5-8, 1996. cited by other .
Lee, Y.L. et al., "Loop-filtering and Post-filtering for Low
Bit-rates Moving Picture Coding", IEEE, pp. 94-98, 1999. cited by
other .
Bjontegaard, Gisle (Editor), "H.26L Test Model Long Term No. 6
(TML-6) draft0", ITU Telecommunications Standardization Sector,
Study Group 16, Video Coding Experts Group (VCEG), 12.sup.TH
meeting, Eibsee, Germany, Jan. 9-12, 2001. cited by other .
European Search Report for European Application No. EP 02 00 6295,
dated Apr. 20, 2005. cited by other .
Shijun Sun et al., "Loop Filter with Skip mode (VCEG-M20)", ITU
Telecommunications Standardization Sector Study Group 16, XX, XX
vol., VCEG-M20, Mar. 27, 2001, pp. 1/8, XP002321426, p. 1,
paragraph 2, Austin. cited by other .
Peter List, "Report of the AD Hoc Committee on Loop Filter
Improvement (VCEG-N08)" ITE Telecommunications Standardization
Sector Study Group 16, XX, XX, Sep. 4, 2001, pp. 1-3, XP 002347724,
p. 2, paragraph 4.5, Santa Barbara. cited by other.
|
Primary Examiner: An; Shawn
Attorney, Agent or Firm: Birch, Stewart, Kolasch &
Birch, LLP
Parent Case Text
This application is a divisional based on prior U.S. Ser. No.
09/817,701, filed Mar. 26, 2001 now U.S. Pat. No. 6,931,063.
Claims
The invention claimed is:
1. A method for encoding an image, comprising: identifying
spatially adjacent blocks in a same frame of the image; identifying
.[.transform coefficients.]. .Iadd.motion vectors used for motion
compensation .Iaddend.for the spatially adjacent blocks in the same
frame of the image .Iadd.and associated reference frames for the
motion vectors of the spatially adjacent blocks.Iaddend.;
.[.comparing the transform coefficients between.]. .Iadd.judging
whether to perform deblock filtering for removing image residuals
between the identified spatially adjacent block caused by encoding
the image, by: determining whether the motion vectors for
.Iaddend.the spatially adjacent blocks in the same frame of the
image .Iadd.are the same or similar to each other and determining
whether the reference frames for motion vectors of the spatially
adjacent blocks are identical.Iaddend.; .Iadd.and .Iaddend.
skipping deblock filtering for removing image residuals .[.caused
by encoding the image.]. .Iadd.between the identified spatially
adjacent blocks .Iaddend.when .[.the comparison indicates that.].
the .Iadd.motion vectors for the .Iaddend.spatially adjacent blocks
in the same frame of the image .[.have.]. .Iadd.are determined to
be the .Iaddend.same or similar .[.transform coefficients; and
deblock filtering to remove image residuals between the identified
spatially adjacent blocks when the comparison between the transform
coefficients for the identified spatially adjacent blocks in the
same frame of the image indicate that the spatially adjacent blocks
do not have the same or similar transform coefficients.]. .Iadd.and
the reference frames for the motion vectors of the spatially
adjacent blocks are determined to be identical.Iaddend..
2. A method according to claim 1 including: identifying D.C.
components .[.in the transform coefficients.]. .Iadd.for the
spatially adjacent blocks.Iaddend.; comparing the D.C. components
for the spatially adjacent blocks with each other; and skipping
deblock filtering between the spatially adjacent blocks when the
D.C. components for the compared spatially adjacent blocks have
same or similar values relative to each other.
3. A method according to claim 1 including: identifying both D.C.
and A.C. components .[.in the transform coefficients.]. .Iadd.for
the spatially adjacent blocks.Iaddend.; comparing the D.C.
components for adjacent blocks and A.C. components for adjacent
blocks; and skipping deblock filtering between the adjacent blocks
when both the D.C. components are the same or similar and the A.C.
components are the same or similar.
4. A method according to claim 1 including controlling deblock
filtering for a loop filter in an image coder.
5. A method according to claim 1 including controlling deblock
filtering in one or both of a loop filter and a post filter in an
image decoder.
6. A method according to claim 1 including: identifying
similarities between coding parameters in a luminance channel of
the adjacent blocks; and controlling deblock filtering for both the
luminance channel and a chrominance channel in the image according
to identified similarities in the luminance channel.
7. A method according to claim 1 including selectively skipping
deblock filtering in any one of a H.261, H.263, H263+, MPEG-1,
MPEG-2, or H26L encoding standard according to encoding parameter
similarities between adjacent image blocks.
8. An encoder for encoding an image, comprising: a processor
adapted to: .[.compare blocks in a same image frame with reference
frames; transform a result of the comparison between the reference
frames and the blocks in the image frame into transformed blocks
having transform coefficients;.]. .Iadd.identify motion vectors and
associated reference frames for the motion vectors of spatially
adjacent blocks in a same frame of the image;.Iaddend. .[.compare
are the similarities between the transform coefficients.].
.Iadd.determine whether motion vectors .Iaddend.for spatially
adjacent .[.transformed.]. blocks within the same image frame
.Iadd.are the same or similar to each other and determine whether
reference frames for the motion vectors of the spatially adjacent
blocks are identical.Iaddend.; and .[.skipping.]. .Iadd.skip
.Iaddend.deblock filtering between spatially adjacent
.[.transformed.]. blocks in the image that have the same or similar
.[.transform coefficients.]. .Iadd.motion vectors and that have
identical reference frames for the motion vectors.Iaddend..
.[.9. An encoder according to claim 8 wherein the processor is
adapted to identify motion vectors and associated reference frames
for the adjacent blocks and skip deblock filtering between the
spatially adjacent blocks according to the identified motion
vectors and reference frames..].
10. An encoder according to claim 8 wherein the processor is
adapted to identify residual coefficients for the spatially
adjacent blocks and skip deblock filtering according to the
identified residual coefficients.
11. An encoder according to claim 8 wherein the processor is
adapted to skip deblock filtering according to both D.C. and A.C.
components in the residual coefficients.
12. A decoder for decoding an encoded image, comprising: a
processor adapted to identify spatially adjacent blocks in the
encoded image; identify coding parameters including .[.D.C.
coefficients.]. .Iadd.motion vectors and associated reference
frames .Iaddend.for .Iadd.the motion vectors of .Iaddend.the
spatially adjacent blocks within a same encoded image frame;
compare the .Iadd.motion vectors and associated references frames
for the motion vectors of the .Iaddend.identified .[.D.C.
coefficients between.]. .Iadd.coding parameters of .Iaddend.the
identified spatially adjacent blocks; and enable or disable
filtering of blocking artifacts between the spatially adjacent
blocks according to the comparison of the .[.D.C. coefficients.].
.Iadd.coding parameters .Iaddend.between the spatially adjacent
blocks within the same encoded image frame.Iadd., wherein the
processor skips deblock filtering when the motion vectors for the
spatially adjacent blocks are the same or similar and the reference
frames for motion vectors of the spatially adjacent blocks are
identical.Iaddend..
13. A decoder according to claim 12 wherein the processor is
adapted to identify both D.C. coefficients and A.C. coefficients
for the spatially adjacent blocks within a same encoded image
frame; compare the identified D.C. coefficients between the
identified spatially adjacent blocks and .[.corn are.].
.Iadd.compare .Iaddend.the identified A.C. coefficients between the
identified spatially adjacent blocks; and enable or disable
filtering of blocking artifacts between the spatially adjacent
blocks according to the comparison of the D.C. coefficients between
the adjacent blocks within the same encoded image frame and
according to the comparison of the A.C. coefficients between the
adjacent blocks within the same encoded image frame.
14. A decoder according to claim 12 wherein the processor is
adapted to identify residual coefficients for the spatially
adjacent blocks and skip deblock filtering between the spatially
adjacent blocks according to the identified residual
coefficients.
15. A decoder according to claim 12 wherein the processor is
adapted to inverse transform the encoded image, compare blocks in
the inverse transformed encoded image with reference frames,
generate a reconstructed image from the comparison between the
inverse transformed encoded image and the reference frame, and skip
deblock filtering between spatially adjacent blocks in the
reconstructed image according to the coding parameters for the
spatially adjacent blocks.
.[.16. A decoder according to claim 15 wherein the coding
parameters include transform coefficients, motion vectors, and
reference frame information and the processor skips deblock
filtering when the transform coefficients, motion vectors, and
reference frame information for the spatially adjacent blocks are
the same or similar..].
17. A decoder according to claim 12 wherein the processor is
adapted to skip deblock filtering in one or both of a loop filter
and a post filter.
Description
BACKGROUND
Block based motion compensated video coding is used in many video
compression standards such as H.261, H.263, H263+, MPEG-1, MPEG-2,
and H26L. The lossy compression process can create visual artifacts
in the decoded images, referred to as image artifacts. Blocking
artifacts occur along the block boundaries in an image and are
caused by the coarse quantization of transform coefficients.
Image filtering techniques can be used to reduce artifacts in
reconstructed images. Reconstructed images are the images produced
after being inverse transformed and decoded. The rule of thumb in
these techniques is that image edges should be preserved while the
rest of the image is smoothed. Low pass filters are carefully
chosen based on the characteristic of a particular pixel or set of
pixels surrounding the image edges.
Non-correlated image pixels that extend across image block
boundaries are specifically filtered to reduce blocking artifacts.
However, this filtering can introduce blurring artifacts into the
image. If there are little or no blocking artifacts between
adjacent blocks, then low pass filtering needlessly incorporates
blurring into the image while at the same time wasting processing
resources.
The present invention addresses this and other problems associated
with the prior art.
SUMMARY OF THE INVENTION
Adjacent blocks are identified in an image. Coding parameters for
the adjacent blocks are identified. Deblock filtering between the
identified adjacent blocks is skipped if the coding parameters for
the identified adjacent blocks are similar and not skipped if the
coding parameters for the identified adjacent blocks are
substantially different.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram showing how deblock filtering is selectively
skipped according to similarities between adjacent image
blocks.
FIG. 2 is a diagram showing two adjacent image blocks having
similar motion vectors.
FIG. 3 is a diagram showing how transform coefficients are
identified for one of the image blocks.
FIG. 4 is a diagram showing how residual transform coefficients are
compared between two adjacent image blocks.
FIG. 5 is a block diagram showing how the video image is encoded
and decoded.
FIG. 6 is a block diagram showing how deblock filtering is
selectively skipped in a codec.
FIG. 7 shows a table containing the results from selective deblock
filter skipping.
DETAILED DESCRIPTION
In conventional filtering methods, filter processing only considers
a single reconstructed image frame at a time. The motion-vector
information available at both the encoder and decoder is not used.
If two adjacent blocks share the same motion vector with respect to
the same reference image frame, (for a multiple reference frames
system) there may be no significant difference between the image
residuals of each block. The block boundary of these two adjacent
blocks may have been filtered in the reference frame and should
therefore not be filtered again for the current frame. If a deblock
filter is used without considering this motion-vector information,
the conventional filtering process might filter the same boundary
again and again from frame to frame. This unnecessary filtering not
only causes unnecessary blurring but also results in extra filter
computations.
FIG. 1 shows an image 12 that selectively filters block artifacts
according to similarities between image blocks. The image 12
includes multiple image blocks 14 that are each individually
encoded before being stored, transmitted, etc. The borders between
some of the blocks 14 include blocking artifacts 18. Blocking
artifacts are any image discontinuities between blocks 14 that may
be created by the encoding process. A low pass filter is used to
reduce the blocking artifacts that exist at the borders of adjacent
image blocks.
For example, blocking artifacts 24 exist between blocks 20 and 22.
A low pass filter is used at the border 26 between blocks 20 and 22
to remove or reduce the blocking artifacts 24. The low pass filter
in one example selects a group of pixels 28 from both sides of the
border 26. An average pixel value is derived from the group of
pixels 28. Then each individual pixel is compared to the average
pixel value. Any pixels in group 28 outside of a predetermined
range of the average pixel value is then replaced with the average
pixel value.
As described above, if there are little or no blocking artifacts 24
between the adjacent pixels, then the group of pixels 28 may be
needlessly filtered causing blurring in the image and wasting
processing resources. A skip mode filtering scheme uses the motion
estimation and compensation information for adjacent image blocks.
If the motion estimation and compensation information is similar,
deblock filtering is skipped. This not only avoids unnecessary
image blurring but also significantly reduces the required number
of filtering operations.
For example, it is determined during the encoding process that
adjacent image blocks 30 and 32 have similar coding parameters.
Accordingly, deblock filtering is skipped for the groups of pixels
34 that extend across the border 31 between adjacent blocks 30 and
32. Skip mode filtering can be used for any horizontal or vertical
boundary between any adjacent blocks in image 12.
FIG. 2 shows reference frames 42 and 48 and a current frame 40 that
is currently being encoded or decoded. Coding parameters for blocks
44 and 46 are compared to determine whether deblock filtering
should be skipped between the two adjacent blocks 44 and 46. One
encoding parameter that is compared is the Motion Vectors (MV) for
the blocks 44 and 46.
The motion vector MV1 points from block 44 in current image frame
40 to an associated block 44' in the reference image 42. The motion
vector MV2 points from block 46 in current image frame 40 to an
associated block 46' in reference frame 42. Skip mode filtering
checks to see if the motion vectors MV1 and MV2 point to adjacent
blocks in the same reference frame 42. If the motion vectors point
to adjacent blocks in the reference frame (MV1=MV2), then deblock
filtering is skipped. This motion vector information may be used
along with other coding information to decide whether to skip
deblock filtering between the two image blocks 44 and 46.
More than one reference frame may be used during the encoding and
decoding process. For example, there may be another reference frame
48. The adjacent blocks 44 and 46 may have motion vectors pointing
to different reference frames. In one embodiment, the decision to
skip deblock filtering depends on whether the motion vectors for
the two adjacent blocks point to the same reference frame. For
example, image block 44 may have a motion vector 49 pointing to
reference frame 48 and image block 46 may have the motion vector
MV2 pointing to reference frame 42. Deblock filtering is not
skipped in this example because the motion vectors 49 and MV2 point
to different reference frames.
FIG. 3 shows another coding parameter that may be used to decide
whether or not to skip deblock filtering. The image block 44 from
image frame 40 is compared with reference block 44' from the
reference frame 42 pointed to by the motion vector MV1 as
previously shown in FIG. 2. A residual block 44'' is output from
the comparison between image block 44 and reference block 44'. A
transform 50 is performed on the residual block 44'' creating a
transformed block 44''' of transform coefficients. In one example,
the transform 50 is a Discrete Cosine Transform. The transformed
block 44''' includes a D.C. component 52 and A.C. components
53.
The D.C. component 52 refers to a lowest frequency transform
coefficient in image block 44. For example, the coefficient that
represents the average energy in the image block 44. The A.C.
components 53 refer to the transform coefficients that represent
the higher frequency components in the image block 44. For example,
the transform coefficients that represent the large energy
differences between pixels in the image block 44.
FIG. 4 shows the transformed residual blocks 44''' and 46'''. The
D.C. components 52 from the two transformed blocks 44''' and 46'''
are compared in processor 54. If the D.C. components are the same
or within some range of each other, the processor 54 notifies a
deblock filter operation 56 to skip deblock filtering between the
border of the two adjacent blocks 44 and 46. If the D.C. components
52 are not similar, then no skip notification is initiated and the
border between blocks 44 and 46 is deblock filtered.
In one embodiment, skip mode filtering is incorporated into the
Telecommunications Sector of the International Telecommunication
Union (ITU-T) proposed H.26L encoding scheme. The H.26L scheme only
uses 4.times.4 integer Discrete Cosine Transform (DCT) blocks.
Here, only the D.C. component of the two adjacent blocks may be
checked. However some limited low frequency A.C. coefficients could
also be checked when the image blocks are bigger sizes, such as
8.times.8 or 16.times.16 blocks. For example, the upper D.C.
component 52 and the three lower frequency A.C. transform
coefficients 53 for block 44''' may be compared with the upper D.C.
component 52 and three lower frequency A.C. transform coefficients
53 for block 46'''. Different combinations of D.C. and/or low
frequency A.C. transform coefficients can be used to identify the
relative similarity between the two adjacent blocks 44 and 46.
The processor 54 can also receive other coding parameters 55 that
are generated during the coding process. These coding parameters
include the motion vectors and reference frame information for the
adjacent blocks 44 and 46 as described above. The processor 54 uses
all of these coding parameters to determine whether or not to skip
deblock filtering between adjacent image blocks 44 and 46. Other
encoding and transform functions performed on the image may be
carried out in the same processor 54 or in a different processing
circuit. In the case where all or most of the coding is done in the
same processor, the skip mode is simply enabled by setting a skip
parameter in the filtering routine.
FIG. 5 shows how skip mode filtering is used in a block-based
motion-compensated Coder-Decoder (Codec) 60. The codec 60 is used
for inter-frame coding. An input video block from the current frame
is fed from box 62 into a comparator 64. The output of a frame
buffering box 80 generates a reference block 81 according to the
estimated motion vector (and possible reference frame number). The
difference between the input video block and the reference block 81
is transformed in box 66 and then quantized in box 68. The
quantized transform block is encoded by a Variable Length Coder
(VLC) in box 70 and then transmitted, stored, etc.
The encoding section of the codec 60 reconstructs the transformed
and quantized image by first Inverse Quantizing (IQ) the
transformed image in box 72. The inverse quantized image is then
inverse transformed in box 74 to generate a reconstructed residual
image. This reconstructed residual block is then added in box 76 to
the reference block 81 to generate a reconstructed image block.
Generally the reconstructed image is loop filtered in box 78 to
reduce blocking artifacts caused by the quantization and transform
process. The filtered image is then buffered in box 80 to form
reference frames. The frame buffering in box 80 uses the
reconstructed reference frames for motion estimation and
compensation. The reference block 81 is compared to the input video
block in comparator 64. An encoded image is output at node 71 from
the encoding section and is then either stored or transmitted.
In a decoder portion of the codec 60, a variable length decoder
(VLD) decodes the encoded image in box 82. The decoded image is
inverse quantized in box 84 and inverse transformed in box 86. The
reconstructed residual image from box 86 is added in the summing
box 88 to the reference block 91 before being loop filtered in box
90 to reduce blocking artifacts and buffered in box 92 as reference
frames. The reference block 91 is generated from box 92 according
to the received motion vector information. The loop filtered output
from box 90 can optionally be post filtered in box 94 to further
reduce image artifacts before being displayed as a video image in
box 96. The skip mode filtering scheme can be performed in any
combination of the filtering functions in boxes 78, 90 and 94.
The motion estimation and compensation information available during
video coding are used to determine when to skip deblock filtering
in boxes 78, 90 and/or 94. Since these coding parameters are
already generated during the encoding and decoding process, there
are no additional coding parameters that have to be generated or
transmitted specially for skip mode filtering.
FIG. 6 shows is further detail how skip mode filtering is used in
the filters 78, 90, and/or 94 in the encoder and decoder in FIG. 5.
The interblock boundary between any two adjacent blocks "j" and "k"
is first identified in box 100. The two blocks may be horizontally
or vertically adjacent in the image frame. Decision box 102
compares the motion vector mv(j) for block j with the motion vector
mv(k) for block k. It is first determined whether the two adjacent
blocks j and k have the same motion vector pointing to the same
reference frame. In other words, the motion vectors for the
adjacent blocks point to adjacent blocks (mv(j)=mv(k)) in the same
reference frame (ref(j)=ref(k)).
It is then determined whether the residual coefficients for the two
adjacent blocks are similar. If there is no significant difference
between the image residuals of the adjacent blocks, for example,
the two blocks j and k have the same of similar D.C. component
(dc(j)=dc(k)), then the deblock filtering process in box 104 is
skipped. Skip mode filtering then moves to the next interblock
boundary in box 106 and conducts the next comparison in decision
box 102. Skip mode filtering can be performed for both horizontally
adjacent blocks and vertically adjacent blocks.
In one embodiment, only the reference frame and motion vector
information for the adjacent image blocks are used to determine
block skipping. In another embodiment, only the D.C. and/or A.C.
residual coefficients are used to determine block skipping. In
another embodiment, the motion vector, reference frame and residual
coefficients are all used to determine block skipping.
The skip mode filtering scheme can be applied to spatially
sub-sampled chrominance channels For example in a case with 4:2:0
color format sequences, skip mode filtering for block boundaries
may only rely on the equality of motion vectors and D.C. components
for the luminance component of the image. If the motion vectors and
the D.C. components are the same, deblock filtering is skipped for
both the luminance and chrominance components of the adjacent image
blocks. In another embodiment, the motion vectors and the D.C.
components are considered separately for each luminance and
chrominance component of the adjacent blocks. In this case, a
luminance or chrominance component for adjacent blocks may be
deblock filtered while the other luminance or chrominance
components for the same adjacent blocks are not deblock
filtered.
FIG. 7 includes a table 110 showing the results of skip mode
filtering using a ITU-TH.26L Testing Model-Long TML5.0. Table 110
compares the results of the TML filtering standard with skip mode
filtering as described above. Encoding results using skip mode
filtering are shown in table 110 under the heading SLA.
There were four images that were tested, Akiyo_cif for 300 frames
at 30 Frames Per Second (fps), Foreman_cif for 300 frames at 30
fps, Foreman_qcif for 100 frames at 10 fps, and Tempete_cif for 260
frames at 30 fps. Quantization Parameters (QP) of 25 and 30 were
used. The results show no significant visual quality degradation
with the skip mode filtering. The Picture Signal to Noise Ratio
(PSNR) for the images stays approximately the same for the
luminance Y and chrominance U and V channels. However, skip mode
filtering provides time savings of 40-70 percent.
Skip mode filtering can be used with any system that encodes or
decodes multiple image frames. For example, DVD players, video
recorders, or any system that transmits image data over a
communications channel, such as over television channels or over
the Internet.
The skip mode filtering described above can be implemented with
dedicated processor systems, micro controllers, programmable logic
devices, or microprocessors that perform some or all of the
operations. Some of the operations described above may be
implemented in software and other operations may be implemented in
hardware.
For the sake of convenience, the operations are described as
various interconnected functional blocks or distinct software
modules. This is not necessary, however, and there may be cases
where these functional blocks or modules are equivalently
aggregated into a single logic device, program or operation with
unclear boundaries. In any event, the functional blocks and
software modules or described features can be implemented by
themselves, or in combination with other operations in either
hardware or software.
Having described and illustrated the principles of the invention in
a preferred embodiment thereof, it should be apparent that the
invention may be modified in arrangement and detail without
departing from such principles. Claim is made to all modifications
and variation coming within the spirit and scope of the following
claims.
* * * * *
References