U.S. patent number RE42,851 [Application Number 11/834,312] was granted by the patent office on 2011-10-18 for method of removing blocking artifacts in a coding system of a moving picture.
This patent grant is currently assigned to Video Enhancement Solutions LLC. Invention is credited to Hyun Mun Kim, Sung Deuk Kim, Young Su Lee, Jong Beom Ra.
United States Patent |
RE42,851 |
Kim , et al. |
October 18, 2011 |
**Please see images for:
( Certificate of Correction ) ** |
Method of removing blocking artifacts in a coding system of a
moving picture
Abstract
A method of coding a moving picture reduces blocking artifacts.
The method includes defining pixel sets S0, S1, S2 around a block
boundary, selectively determining a deblocking mode as a default
mode or a DC offset mode depending on the degree of blocking
artifacts. If the default mode is selected, frequency information
is obtained around the block boundary per pixel using a 4-point DCT
kernel, for example, a magnitude of a discontinuous component
belonging to the block boundary is replaced with a minimum
magnitude of discontinuous components belonging to the surroundings
of the block boundary in the frequency domain and the replacing
step is applied to the spatial domain. If the DC offset mode is
selected and a determination is made to perform DC offset mode, the
blocking artifacts in a smooth region are removed in the DC offset
mode.
Inventors: |
Kim; Hyun Mun (Rockville,
MD), Ra; Jong Beom (Taejeon-si, KR), Kim; Sung
Deuk (Taejeon-si, KR), Lee; Young Su (Seoul,
KR) |
Assignee: |
Video Enhancement Solutions LLC
(Frisco, TX)
|
Family
ID: |
19521058 |
Appl.
No.: |
11/834,312 |
Filed: |
August 6, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
Reissue of: |
09065577 |
Apr 24, 1998 |
6240135 |
May 29, 2001 |
|
|
Foreign Application Priority Data
|
|
|
|
|
Sep 9, 1997 [KR] |
|
|
1997-46368 |
|
Current U.S.
Class: |
375/240.01;
382/268; 348/420.1 |
Current CPC
Class: |
H04N
19/86 (20141101); H04N 19/48 (20141101); H04N
19/117 (20141101); H04N 19/14 (20141101); H04N
19/134 (20141101); H04N 19/80 (20141101); H04N
19/182 (20141101) |
Current International
Class: |
H04B
1/66 (20060101); G06K 9/40 (20060101) |
Field of
Search: |
;375/240.01,240.12,240.13,240.15,240.24,240.25,240.26,240
;348/420.1,403.1,607 ;382/236,250,252,268,275 ;358/433,432,403 |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
|
|
|
|
|
|
|
0808068 |
|
Nov 1997 |
|
EP |
|
2002-232889 |
|
Aug 2002 |
|
JP |
|
WO-02/096117 |
|
Nov 2002 |
|
WO |
|
Other References
Lai, Yung-Kai et al., "Image Enhancement for Low Bit-rate JPEG and
MPEG Coding via Postprocessing", Proc. SPIE vol. 2727 Feb. 1996 ,
1484-1494. cited by other .
Minami, Shigenobu et al., "An Optimization Approach for Removing
Blocking Effects in Transform Coding", IEEE Transactions on
Circuits and Systems for Video Technology, vol. 5 No. 2 Apr. 1995 ,
74-82. cited by other .
Byeungwoo Jeon et al, Blocking Artifacts reduction in image
compression with block boundary discontinuity criteron, Circuits
and System for Video Technology, IEEE Transactions on, vol.: Jun.
8, 1998, pp. 345-357. cited by other .
Barzykina, E et al., Removal of blocking artifacts using random
pattern filtering, Image Processing, 1999 International Conference,
vol. 3, 1999, pp. 904-908 vol. 2. cited by other .
Mei-Yin Shen te al., Fast compression artifact reduction technique
based on nonlinear filter, Circuits and Systems, 1999. ISCAS '99.
Proceedings of the 1999 IEEE International Symposium on, vol. 4,
1999, pp. 179-182. cited by other .
Yung-Kai Lai et al., Removal of blocking artifacts of DCT transform
by classified space-frequency filtering, Signals, System and
Computers, 1995, Conference Record of the Twenty-Nine Asilmar
Conference on, vol. 2, 1996, pp. 1457-1461. cited by other .
Kasezawa, T., Blocking artifacts reduction using discrete cosine
transfomr, Consumer Electronics, IEEE Transactions on, vol. 43
Issue: 1, Feb. 1997, pp. 48-55. cited by other .
Avideh Zakhor, "Iterative Procedures for Reduction of Blocking
Effects in Transform Image Coding", IEEE Transactions on Circuits
and Systems for Video Technology, vol. 2, No. 1, pp. 91-95 (Mar.
1992). cited by other .
Yongyi Yang et al., "Regularized Reconstructions to Reduce Blocking
Artifacts of Block Discrete Cosine Transform Compressed Images",
IEEE Transactions on Circuits and Systems for Video Technology,
vol. 3, No. 6, pp. 421-432 (Dec. 1993). cited by other .
Gary J. Sullivan et al., "Motion Compensation for Video Compression
Using Control Grid Interpolation", IEEE International Conference,
pp. 2713-2716 (1991). cited by other .
G. de Haan et al., "IC for Motion-Compression 100Hz TV With
Natural-Motion Move-Mode", IEEE Transactions on Consumer
Electronics, vol. 42, pp. 165-174 (Feb. 1996). cited by other .
Ozcelik, Taner et al., "Image and Video Compression Algorithms
Based on Recovery Techniques Using Mean Field Annealing",
Proceedings of the IEEE, vol. 83, No. 2, pp. 304-316, Feb. 1995.
cited by other .
Nakajima, Yasuyuki, et al., "A PEL Adaptive Reduction of Coding
Artifacts for MPEG Video Signals", pp. 928-932, IEEE, 1994. cited
by other.
|
Primary Examiner: Vo; Tung
Attorney, Agent or Firm: Sherr & Vaughn, PLLC
Claims
What is claimed is:
.[.1. A method for removing blocking artifacts in a coding system
of a moving picture comprising the steps of: determining a
plurality of pixel sets around a block boundary; selecting one of a
first mode and a second mode as a deblocking mode based on a degree
of blocking artifacts; performing an analysis, if the first mode is
selected, comprising, obtaining frequency information for each of
the plurality of pixel sets, replacing a magnitude of at least one
discontinuous component in the frequency domain of a selected pixel
set of the plurality of pixel sets belonging to the block boundary
with a magnitude of at least one corresponding discontinuous
component belonging to a replacement pixel set of the plurality of
pixel sets near the block boundary, and applying the replaced
frequency information of the selected pixel set to the spatial
domain to remove the blocking artifacts; and removing the blocking
artifacts in the second mode, if the second mode is selected and a
second mode condition is satisfied..].
.[.2. The method as claimed in claim 1, wherein the magnitude of
the discontinuous component of the selected pixel set is replaced
with a minimum value of a magnitude of discontinuous components of
one of a first pixel set and a second pixel set when the selected
pixel set is located across the block boundary and the first and
second pixel sets are located within a block adjacent the block
boundary..].
.[.3. The method of claim 1, further comprising determining a mode
decision value, wherein the second mode is selected if the mode
decision value is greater than a first threshold value..].
.[.4. The method as claimed in claim 3, wherein mode decision value
is determined based on the following equation: mode decision
value=.phi.(v.sub.0-v.sub.1)+.phi.(v.sub.1-v.sub.2)+.phi.(v.sub.2-v.sub.3-
)+.phi.(v.sub.3-v.sub.4)+.phi.(v.sub.4-v.sub.5)+.phi.(v.sub.5-v.sub.1)+.ph-
i.(v.sub.7-v.sub.8)+.phi.(v.sub.8-v.sub.9), wherein
.phi.(.gamma.)=1 when |.gamma.|.gtoreq. a second threshold value
and .phi.(.gamma.)=0 otherwise, and wherein v.sub.0-v.sub.9 are
boundary pixel values..].
.[.5. The method as claimed in claim 1, wherein the second mode
condition is satisfied when an absolute value of a maximum data
value minus a minimum data value in block boundary pixels is
smaller than 2QP, wherein the maximum data value=MAX(v.sub.1,
v.sub.2, v.sub.3, v.sub.4, v.sub.5, v.sub.6, v.sub.7, v.sub.8), the
minimum data value=MIN(v.sub.1, v.sub.2, v.sub.3, v.sub.4, v.sub.5,
v.sub.6, v.sub.7, v.sub.8), QP is the quantization parameter of a
block adjacent the block boundary and v.sub.1-v.sub.8 are
pixels..].
.[.6. The method as claimed in claim 1, wherein the second mode
performs low pass filtering to remove the blocking
artifacts..].
.[.7. The method as claimed in claim 1, wherein the deblocking
filtering in the default mode is performed by replacing the
magnitude of the discontinuous component of pixels v.sub.4 and
v.sub.5 that sandwich the block boundary with v.sub.4' and
v.sub.5', according to the following equation: v.sub.4'=v.sub.4-d
v.sub.5'=v.sub.5+d
d=CLIP(c.sub.2.(a.sub.3,0'-a.sub.3,0)//c.sub.3,0,(v.sub.4-v.sub.5)/2)*.de-
lta.(|a.sub.3,0|<QP
a.sub.3,0'=SIGN(a.sub.3,0)*MIN(|a.sub.3,0|,|a.sub.3,1|,|a.sub.3,2|)
a.sub.3,0=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.3v.sub.4v.sub.5v.sub.6].sup.T)//c.sub.3
a.sub.3,1=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.1v.sub.2v.sub.3v.sub.4].sup.T)//c.sub.3
a.sub.3,2=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.5v.sub.6v.sub.7v.sub.8].sup.T)//c.sub.3,
where QP is the quantization parameter of the block containing the
pixel v.sub.5, values c.sub.1, c.sub.2, c.sub.3 are kernel
constants used in a DCT, and values of a.sub.3,0, a.sub.3,1,
a.sub.3,2 are the discontinuous component in each of the plurality
of pixel sets, respectively..].
.[.8. The method as claimed in claim 7, wherein c.sub.1 and c.sub.2
are approximated to an integer and c.sub.3 is approximated to a
multiple of 2, wherein the DCT is a 4-point DCT used to determine
the frequency information, and wherein a.sub.3,0, a.sub.3,1,
a.sub.3,2 are evaluated from an inner product of the DCT kernel and
the selected pixel set being S0, a first pixel set S1 and a second
pixel set S2..].
.[.9. The method as claimed in claim 7, wherein |a.sub.3,0|<QP
prevents over-smoothing..].
.[.10. The method as claimed in claim 1, further comprising
performing the deblocking filtering process around horizontal and
vertical block boundaries in a frame..].
.[.11. The method of claim 1, wherein the removing blocking
artifacts in the second mode satisfies the following equation:
.times..times..ltoreq..ltoreq. ##EQU00004## <.times..times.
##EQU00004.2## if m<1; v.sub.m, if 1.ltoreq.m.ltoreq.8;
(|v.sub.8-v.sub.9|<QP) v.sub.9:v.sub.8, if m>8; {b.sub.k:
-4.ltoreq.k.ltoreq.4}={1,1,2,2,4,2,2,1,1}//16, where
v.sub.0-v.sub.9 are boundary pixels, QP is the quantization
parameter of a block adjacent the block boundary, and v.sub.n is an
adjusted pixel value..].
.[.12. The method of claim 1, wherein the replacement pixel set
contains a minimum magnitude of the at least one corresponding
discontinuous component..].
.[.13. The method of claim 1, wherein the first mode is the default
mode and the second mode is the DC offset mode, and wherein each of
the plurality of pixel sets has four pixels..].
.[.14. A method for removing blocking artifacts in a coding system
comprising: determining at least pixel sets S0, S1, S2 around a
block boundary; selecting one of a default mode and a DC offset
mode as a deblocking mode based on an amount of blocking artifacts;
deblocking filtering of pixels adjacent the block boundary if the
default mode is selected; and removing artifacts in the DC offset
mode, if the DC offset mode is selected and a DC offset mode
condition is satisfied, wherein the artifacts are removed in the DC
offset mode according to the following equation:
.times..times..ltoreq..ltoreq. ##EQU00005## <.times..times.
##EQU00005.2## if m<1; v.sub.m, if 1.ltoreq.m.ltoreq.8;
(|v.sub.8-v.sub.9|<QP) v.sub.9:v.sub.8, if m>8; {b.sub.k:
-4.ltoreq.k.ltoreq.4}={1,1,2,2,4,2,2,1,1}//16, wherein
v.sub.0-v.sub.9 are boundary pixels, QP is the quanatation
parameter of a block adjacent the block boundary, and v.sub.n is an
adjusted pixel value..].
.[.15. The method of claim 14, wherein the deblocking filtering
step comprises: obtaining frequency information for each of the
plurality of pixel sets S0, S1, S2; replacing a magnitude of at
least one discontinuous component in the frequency domain of a
selected pixel set S0 of the plurality of pixel sets belonging to
the block boundary with a magnitude of at least one corresponding
discontinuous component belonging to a replacement pixel set S1, S2
of the plurality of pixel sets near the block boundary; and
applying the replaced frequency information of the selected pixel
set S0 to the spatial domain to remove the blocking
artifacts..].
.[.16. The method of claim 14, further comprising determining a
mode decision value, wherein the DC offset mode is selected if the
mode decision value is greater than a first threshold value,
wherein mode decision value is determined based on the following
equation: mode decision
value=.phi.(v.sub.0-v.sub.1)+.phi.(v.sub.1-v.sub.2)+.phi.(v.sub.-
2-v.sub.3)+.phi.(v.sub.3-v.sub.4)+.phi.(v.sub.4-v.sub.5)+.phi.(v.sub.5-v.s-
ub.1)+.phi.(v.sub.7-v.sub.8)+.phi.(v.sub.8-v.sub.9), wherein
.phi.(.gamma.)=1 when |.gamma.|.ltoreq. a second threshold value
and .phi.(.gamma.)=0 otherwise, and wherein v.sub.0-v.sub.9 are
boundary pixel values..].
.[.17. The method of claim 14, wherein the DC offset mode condition
is satisfied when an absolute value of a maximum data value minus a
minimum data value in block boundary pixels is smaller than 2QP,
wherein the maximum data value=MAX(v.sub.1, v.sub.2, v.sub.3,
v.sub.4, v.sub.5, v.sub.6, v.sub.7, v.sub.8), the minimum data
value=MIN(v.sub.1, v.sub.2, v.sub.3, v.sub.4, v.sub.5, v.sub.6,
v.sub.7, v.sub.8), QP is the quantization parameter of a block
adjacent the block boundary and v.sub.1-v.sub.8 are the block
boundary pixels..].
.[.18. The method of claim 14, wherein the deblocking filtering in
the default mode is performed by replacing the magnitude of the
discontinuous component of pixels v.sub.4 and v.sub.5 sandwiching
the block boundary with v.sub.4' and v.sub.5', according to the
following equation: v.sub.4'=v.sub.4-d v.sub.5'=v.sub.5+d
d=CLIP(c.sub.2.(a.sub.3,0'-a.sub.3,0)//c.sub.3,0,(v.sub.4-v.sub.5)/2)*.de-
lta.(|a.sub.3,0|<QP
a.sub.3,0'=SIGN(a.sub.3,0)*MIN(|a.sub.3,0|,|a.sub.3,1|,|a.sub.3,2|)
a.sub.3,0=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.3v.sub.4v.sub.5v.sub.6].sup.T)//c.sub.3
a.sub.3,1=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.1v.sub.2v.sub.3v.sub.4].sup.T)//c.sub.3
a.sub.3,2=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.5v.sub.6v.sub.7v.sub.8].sup.T)//c.sub.3,
where QP is the quantization parameter of the block containing the
pixel v.sub.5, values c.sub.1, c.sub.2, c.sub.3 are kernel
constants used in a 4-point DCT, and values of a.sub.3,0,
a.sub.3,1, a.sub.3,2 are based on a simple inner product of the DCT
kernel and the selected pixel set S0, a first pixel set Si and the
second pixel set S2..].
.[.19. The method of claim 14, further comprising performing the
determining through removing steps for each horizontal and vertical
block boundaries in a frame..].
.Iadd.20. A method for removing blocking artifacts in a coding
system of a moving picture comprising the steps of: determining a
plurality of pixel sets around a block boundary; selecting one of a
first mode and a second mode as a deblocking mode based on a degree
of blocking artifacts; performing an analysis, if the first mode is
selected, comprising, obtaining frequency information for each of
the plurality of pixel sets, replacing a magnitude of at least one
discontinuous component in the frequency domain of a selected pixel
set of the plurality of pixel sets belonging to the block boundary
with a magnitude of at least one corresponding discontinuous
component belonging to a replacement pixel set of the plurality of
pixel sets near the block boundary if the magnitude of the at least
one discontinuous component is less than a quantization parameter,
and applying the replaced frequency information of the selected
pixel set to the spatial domain to remove the blocking artifacts;
and removing the blocking artifacts in the second mode, if the
second mode is selected and a second mode condition is
satisfied..Iaddend.
.Iadd.21. The method as claimed in claim 20, wherein the magnitude
of the discontinuous component of the selected pixel set is
replaced with a minimum value of a magnitude of discontinuous
components of one of a first pixel set and a second pixel set when
the selected pixel set is located across the block boundary and the
first and second pixel sets are located within a block adjacent the
block boundary..Iaddend.
.Iadd.22. The method as claimed in claim 20, further comprising
determining a mode decision value, wherein the second mode is
selected if the mode decision value is greater than a first
threshold value..Iaddend.
.Iadd.23. The method as claimed in claim 22, wherein mode decision
value is determined based on the following equation: mode decision
value=.phi.(v.sub.0-v.sub.1)+.phi.(v.sub.1-v.sub.2)+.phi.(v.sub.2-v.sub.3-
)+.phi.(v.sub.3-v.sub.4)+.phi.(v.sub.4-v.sub.5)+.phi.(v.sub.5-v.sub.1)+.ph-
i.(v.sub.7-v.sub.8)+.phi.(v.sub.8-v.sub.9), wherein
.phi.(.gamma.)=1 when |.gamma.|.ltoreq. a second threshold value
and .phi.(.gamma.)=0 otherwise, wherein v.sub.0-v.sub.9 are
boundary pixel values, and wherein .phi.(.gamma.) is a function
generating 1 or 0 according to |.gamma.| and .gamma. is a variable
denoting a result of substraction of two given boundary pixel
values..Iaddend.
.Iadd.24. The method as claimed in claim 20, wherein the second
mode condition is satisfied when an absolute value of a maximum
data value minus a minimum data value in block boundary pixels is
smaller than 2QP, wherein the maximum data value=MAX(v.sub.1,
v.sub.2, v.sub.3, v.sub.4, v.sub.5, v.sub.6, v.sub.7, v.sub.8), the
minimum data value=MIN(v.sub.1, v.sub.2, v.sub.3, v.sub.4, v.sub.5,
v.sub.6, v.sub.7, v.sub.8), QP is the quantization parameter of a
block adjacent the block boundary and v.sub.1-v.sub.8 are the block
boundary pixels..Iaddend.
.Iadd.25. The method as claimed in claim 20, wherein the second
mode performs low pass filtering to remove the blocking
artifacts..Iaddend.
.Iadd.26. The method as claimed in claim 20, wherein the deblocking
filtering in the default mode is performed by replacing the
magnitude of the discontinuous component of pixels v.sub.4 and
v.sub.5 sandwich the block boundary with v.sub.4' and v.sub.5',
according to the following equation: v.sub.4'=v.sub.4-d
v.sub.5'=v.sub.5+d
d=CLIP(c.sub.2.(a.sub.3,0'-a.sub.3,0)//c.sub.3,0,(v.sub.4-v.sub.5)/2)*.de-
lta.(|a.sub.3,0|<QP
a.sub.3,0'=SIGN(a.sub.3,0)*MIN(|a.sub.3,0|,|a.sub.3,1|,|a.sub.3,2|)
a.sub.3,0=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.3v.sub.4v.sub.5v.sub.6].sup.T)//c.sub.3
a.sub.3,1=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.1v.sub.2v.sub.3v.sub.4].sup.T)//c.sub.3
a.sub.3,2=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.5v.sub.6v.sub.7v.sub.8].sup.T)//c.sub.3,
where QP is the quantization parameter of the block containing the
pixel v.sub.5, values c.sub.1, c.sub.2, c.sub.3 are kernel
constants used in a DCT, and values of a.sub.3,0, a.sub.3,1,
a.sub.3,2 are the discontinuous component in each of the plurality
of pixel sets, respectively, and wherein d is a variable used to
calculate v.sub.4' and v.sub.5' and denotes a result of a function
CLIP (x, p, q) where x, p, and q are integers, wherein the function
CLIP (x, p, q) clips x to a value between p and q, wherein
.delta.(condition) is a function generating 1 if the "condition" is
true and generating 0 if the "condition" is not true, wherein T
denotes a transpose of vector matrix, and wherein v.sub.1, v.sub.2,
v.sub.6, and v.sub.7 denote boundary pixel values..Iaddend.
.Iadd.27. The method as claimed in claim 26, wherein c.sub.1 and
c.sub.2 are approximated to an intenger and c.sub.3 is approximated
to a multiple of 2, wherein the DCT is a 4-point DCT used to
determine the frequency information, and wherein a.sub.3,0,
a.sub.3,1, a.sub.3,2 are evaluated from an inner product of the DCT
kernel and the selected pixel set being S0, a first pixel set S1
and a second pixel set S2..Iaddend.
.Iadd.28. The method as claimed in claim 26, wherein
|a.sub.3,0|<QP prevents over-smoothing..Iaddend.
.Iadd.29. The method as claimed in claim 20, further comprising
performing the deblocking filtering process around horizontal and
vertical block boundaries in a frame..Iaddend.
.Iadd.30. The method as claimed in claim 20, wherein the removing
blocking artifacts in the second mode satisfies the following
equation: .times..times..ltoreq..ltoreq. ##EQU00006##
P.sub.m=(|v.sub.1-v.sub.9|<QP)?v.sub.9:v.sub.1, if m<1;
v.sub.m, if 1.ltoreq.m.ltoreq.8; (|v.sub.8-v.sub.9|<QP)?
v.sub.9:v.sub.8, if m>8; {b.sub.k:
-4.ltoreq.k.ltoreq.4}={1,1,2,2,4,2,2,1,1}//16 where v.sub.0-v.sub.9
are boundary pixels, QP is the quantization parameter of a block
adjacent the block boundary, and v.sub.n is an adjusted pixel
value, wherein b.sub.k and p.sub.n+k are variables used to
calculate the adjusted pixel value v.sub.n where n is an integer
among 1, 2, 3, 4, 5, 6, 7, and 8, wherein b.sub.k changes according
to a value of k where k is one of -4, -3, -2, -1, 0, 1, 2, 3, 4,
wherein p.sub.n+k is decided according to p.sub.m where m=n+k and m
is an integer, wherein P.sub.m is one of boundary pixels values
v.sub.0 to v.sub.9 according to given conditions of
(|v.sub.1-v.sub.0|<QP) and (|v.sub.8-v.sub.9|<QP) and a value
of m..Iaddend.
.Iadd.31. The method as claimed in claim 20, wherein the
replacement pixel set contains a minimum magnitude of the at least
one corresponding discontinuous component..Iaddend.
.Iadd.32. The method as claimed in claim 20, wherein the first mode
is the default mode and the second mode is the DC offset mode, and
wherein each of the plurality of pixel sets has four
pixels..Iaddend.
.Iadd.33. A method for removing blocking artifacts in a coding
system comprising: determining at least pixel sets S0, S1, S2
around a block boundary; selecting one of a default mode and a DC
offset mode as a deblocking mode based on an amount of blocking
artifacts; deblocking filtering of pixels adjacent the block
boundary based on frequency information of the pixels adjacent to
the block boundry, if the default mode is selected; and removing
artifacts in the DC offset mode, if the DC offset mode is selected
and a DC offset mode condition is satisfied, wherein the artifacts
are removed in the DC offset mode according to the following
equation: .times..times..ltoreq..ltoreq. ##EQU00007##
<.times..times. ##EQU00007.2## if m<1; v.sub.m, if
1.ltoreq.m.ltoreq.8; (|v.sub.8-v.sub.9|<QP)? v.sub.9:v.sub.8, if
m>8; {b.sub.k: -4.ltoreq.k.ltoreq.4}={1,1,2,2,4,2,2,1,1}//16
wherein v.sub.0-v.sub.9 are boundary pixels, QP is the quantization
parameter of a block adjacent the block boundary , and v.sub.n is
an adjusted pixel value, wherein b.sub.k and p.sub.n+k are
variables used to calculate the adjusted pixel value v.sub.n where
n is an integer among 1, 2, 3, 4, 5, 6, 7, and 8, wherein b.sub.k
changes according to a value of k where k is one of -4, -3, -2, -1,
0, 1, 2, 3, 4, wherein p.sub.n+1 is decided according to p.sub.m
where m=n+1 and m is an integer, wherein P.sub.m is one of boundary
pixels values v.sub.0 to v.sub.9 according to given conditions of
(|v.sub.1-v.sub.9|<QP) and (|v.sub.8-v.sub.9|<QP) and a value
of m..Iaddend.
.Iadd.34. The method as claimed in claim 33, wherein the deblocking
filtering step comprises: obtaining frequency information for each
of the plurality of pixel sets S0, S1, S2; replacing a magnitude of
at least one discontinuous component in the frequency domain of a
selected pixel set S0 of the plurality of pixel sets belonging to
the block boundary with a magnitude of at least one corresponding
discontinuous component belonging to a replacement pixel set S1, S2
of the plurality of pixel sets near the block boundary; and
applying the replaced frequency information of the selected pixel
set S0 to the spatial domain to remove the blocking
artifacts..Iaddend.
.Iadd.35. The method as claimed in claim 33, further comprising
determining a mode decision value, wherein the DC offset mode is
selected if the mode decision value is greater than a first
threshold value, wherein mode decision value is determined based on
the following equation: mode decision
value=.phi.(v.sub.0-v.sub.1)+.phi.(v.sub.1-v.sub.2)+.phi.(v.sub.2-v.sub.3-
)+.phi.(v.sub.3-v.sub.4)+.phi.(v.sub.4-v.sub.5)+.phi.(v.sub.5-v.sub.1)+.ph-
i.(v.sub.7-v.sub.8)+.phi.(v.sub.8-v.sub.9), wherein
.phi.(.gamma.)=1 when |.gamma.|.ltoreq. a second threshold value
and .phi.(.gamma.)=0 otherwise, wherein v.sub.0-v.sub.9 are
boundary pixel values, and wherein .phi.(.gamma.) is a function
generating 1 or 0 according to |.gamma.| and .gamma. is a variable
denoting a result of substraction of two given boundary pixel
values..Iaddend.
.Iadd.36. The method as claimed in claim 33, wherein the DC offset
mode condition is satisfied when an absolute value of a maximum
data value minus a minimum data value in block boundary pixels is
smaller than 2QP, wherein the maximum data value=MAX(v.sub.1,
v.sub.2, v.sub.3, v.sub.4, v.sub.5, v.sub.6, v.sub.7, v.sub.8), the
minimum data value=MIN(v.sub.1, v.sub.2, v.sub.3, v.sub.4, v.sub.5,
v.sub.6, v.sub.7, v.sub.8), QP is the quantization parameter of a
block adjacent the block boundary and v.sub.1-v.sub.8 are the block
boundary pixels..Iaddend.
.Iadd.37. The method as claimed in claim 33, wherein the deblocking
filtering in the default mode is performed by replacing the
magnitude of the discontinuous component of pixels v.sub.4 and
v.sub.5 sandwiching the block boundary with v.sub.4' and v.sub.5',
according to the following equation: v.sub.4'=v.sub.4-d
v.sub.5'=v.sub.5+d
d=CLIP(c.sub.2.(a.sub.3,0'-a.sub.3,0)//c.sub.3,0,(v.sub.4-v.sub.5)/2)*.de-
lta.(|a.sub.3,0|<QP
a.sub.3,0'=SIGN(a.sub.3,0)*MIN(|a.sub.3,0|,|a.sub.3,1|,|a.sub.3,2|)
a.sub.3,0=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.3v.sub.4v.sub.5v.sub.6].sup.T)//c.sub.3
a.sub.3,1=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.1v.sub.2v.sub.3v.sub.4].sup.T)//c.sub.3
a.sub.3,2=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.5v.sub.6v.sub.7v.sub.8].sup.T)//c.sub.3,
where QP is the quantization parameter of the block containing the
pixel v.sub.5, values c.sub.1, c.sub.2, c.sub.3 are kernel
constants used in a 4-point DCT, and values of a.sub.3,0,
a.sub.3,1, a.sub.3,2, are based on a simple inner product of the
DCT kernel and the selected pixel set S0, a first pixel set S1 and
the second pixel set S2, and wherein d is a variable used to
calculate v.sub.4' and v.sub.5' and denotes a result of a function
CLIP (x, p, q) where x, p, and q are integers, wherein the function
CLIP (x, p, q) clips x to a value between p and q, wherein
.delta.(condition) is a function generating 1 if the "condition" is
true and generating 0 if the "condition" is not true, wherein T
denotes a transpose of vector matrix, and wherein v.sub.1, v.sub.2,
v.sub.6, and v.sub.7 denote boundary pixel values..Iaddend.
.Iadd.38. The method as claimed in claim 33, further comprising
performing the determining through removing steps for each
horizontal and vertical block boundaries in a frame..Iaddend.
Description
.Iadd.Notice: More than one reissue application has been filed for
the reissue of U.S. Pat. No. 6,240,135. The reissue applications
are application Ser. No. 11/834,312 (the present application); Ser.
Nos. 11/834,347; 11/851,551; 11/851,529; and 11/851,517, all of
which are divisional reissues of U.S. Pat. No.
6,240,135..Iaddend.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a method of coding data, and more
particularly, to a method of removing blocking artifacts when
coding image signals such as in a moving picture at
low-bit-rate.
2. Background of the Related Art
Generally, to efficiently compress a time variable video sequence,
it is necessary to remove redundancy in the temporal domain as well
as in the two-dimensional spatial domain. In moving picture experts
group (MPEG), discrete cosine transform (DCT) is used to remove the
redundancy in the two-dimensional spatial domain while a motion
compensation method is used to remove the redundancy in the
temporal domain.
The DCT is a method of removing the correlativity between data
through a two-dimensional spatial transformation. Each block in a
picture is spatially transformed using the DCT after the picture is
divided into blocks. Data that has been spatially transformed tends
to be driven to a certain direction. Only a group of the data
driven in the certain direction is quantized and transmitted.
Pictures, which are consecutive in the temporal domain, tend to
form motions of a human being or an object at the center of the
frame. This property is used to reduce the redundancy of the
temporal domain in the motion compensation method. A volume of data
to be transmitted can be minimized by taking out a similar region
from the preceding picture to fill a corresponding region, which
has not been changed (or has very little change), in the present
picture. The operation of finding the most similar blocks between
pictures is called a motion estimation. The displacement
representing a degree of motion is called a motion vector. MPEG
uses a motion compensation-DCT method so that the two methods
combine.
When a compression technique is combined with a DCT algorithm, the
DCT transform is usually performed after input data is sampled in a
unit size of 8.times.8, and the transform coefficients are
quantized with respect to a visual property using quantization
values from a quantization table. Then, the data is compressed
through a run length coding (RLC). The data processed with the DCT
is converted from a spatial domain to a frequency domain and
compressed through the quantization with respect to the visual
property of human beings, not to be visually recognized. For
example, since eyes of human beings are insensitive to a high
frequency, a high frequency coefficient is quantized in a large
step size.
For the quantized data, the data having a relatively high frequency
is coded with a short code word. The quantized data having a low
frequency is coded with a long code word. Thus, the data is finally
compressed.
In processing a moving picture as discussed above, blocks are
individually processed to maximize the compression ratio and coding
efficiency. However, the individual process causes blocking
artifacts that disturb the eyes of human beings at boundaries
between blocks.
A related art method of removing blocking artifacts will be
described with reference to FIGS. 1 and 2. FIG. 1 is a pixel matrix
illustrating a method for removing blocking artifacts. FIG. 2 is a
pixel matrix illustrating block boundaries in horizontal and
vertical directions.
Various algorithms have been presented for removing blocking
artifacts that appear in a coding system, which individually
processes blocks. For example, MPEG-4 used a deblocking filter by
Telenor, which uses the following algorithm:
If B is replaced with B1 and C is replaced with C1, B1=B+d1,
C1=C-d1, and d1=sign(d)*(MAX(0,|d|-MAX(0,2* |d|-QP))) where
d=(3A-8B+8C-3D)/16 and QP denotes the quantization parameter of the
macroblock where pixel C belongs.
In processing a MPEG-4 moving picture, blocking artifacts are
removed using the above algorithm to improve picture quality.
However, it is difficult to effectively remove the blocking
artifacts with the above with a small operation capacity in a real
time operation. For example, coding and decoding a moving picture
is a real time operation. In other words, to completely remove the
blocking artifacts, a large calculation amount is needed, which is
undesirable in efficiency.
Alternatively, to remove the blocking artifacts, there is provided
a method of changing processes of coding and decoding. This method
increases the amount of bits to be transmitted.
Still another method for removing blocking artifacts is based on
the theory of projection onto convex sets (POCS). However, this
method is applied only to a still picture because of an iteration
structure and long convergence time.
Thus, the related art methods for removing blocking artifacts in a
coding system of a moving picture have several problems. First, in
performing an algorithm for removing the blocking artifacts, a
calculation is complicated and the calculation amount and time
become correspondingly large. Further, the blocking artifacts are
not removed in either complex regions or smooth regions in a
picture. In addition, the amount of bits to be transmitted
increases.
SUMMARY OF THE INVENTION
An object of the present invention is to provide a method of
removing blocking artifacts in a coding system that substantially
obviates one or more of the problems due to limitations and
disadvantages of the related art.
Another object of the present invention is to remove blocking
artifacts when necessary in a smooth portion of a moving
picture.
Yet another object of the present invention is to provide a method
of removing blocking artifacts in a coding system of a moving
picture where blocking artifacts of the moving picture are removed
at real time using frequency features around a block boundary
without increasing the amount of bits.
To achieve at least the above objects in a whole or in parts, a
method of removing blocking artifacts in a coding system according
to the present invention includes determining at least pixel sets
S0, S1, S2 around a block boundary, selecting one of a default mode
and a DC offset mode as a deblocking mode based on an amount of
blocking artifacts, deblocking filtering pixels adjacent the block
boundary if a default mode is selected, deblocking filtering of
pixels adjacent the block boundary if a default mode is selected,
and removing artifacts in the DC offset mode when the DC offset
mode is selected and a DC offset mode condition is satisfied, where
the artifacts are removed in the DC offset mode according to the
following equation:
.times..times..ltoreq..ltoreq. ##EQU00001## <.times..times.
##EQU00001.2##
If m<1; v.sub.m, if 1.ltoreq.m.ltoreq.8;
(|v.sub.8-v.sub.9|<QP)? v.sub.9: v.sub.8, if m>8;
{b.sub.k:-4.ltoreq.k.ltoreq.4}={1,1,2,2,4,2,2,1,1}//16, wherein
v.sub.0-v.sub.9 are boundary pixels, QP is the quanatation
parameter of a block adjacent the block boundary, and v.sub.n is an
adjusted pixel value.
To further achieve the above advantages and in accordance with the
purpose of the present invention, as embodied and broadly
described, a method of removing blocking artifacts in a coding
system of a moving picture according to the present invention
includes the steps of defining pixel sets S0, S1, S2 around block
boundary, selectively determining a deblocking mode as a default
mode or a DC offset mode depending on the degree of blocking
artifacts after obtaining a mode decision value, obtaining
frequency information around the block boundary per pixel using
4-point DCT kernel if the default mode is determined, replacing a
magnitude of a discontinuous component belonging to the block
boundary with a minimum magnitude of discontinuous components
belonging to the surroundings of the block boundary in the
frequency domain and applying this replacing step to the spatial
domain, judging whether or not it is necessary to perform DC offset
mode if the DC offset mode is determined, and removing the blocking
artifacts in a smooth region when the judgment is to perform the DC
offset mode.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be described in detail with reference to the
following drawings in which like reference numerals refer to like
elements wherein:
FIG. 1 is a diagram showing a pixel matrix illustrating a related
art method of removing blocking artifacts;
FIG. 2 is a diagram showing a pixel matrix illustrating block
boundaries in horizontal and vertical directions;
FIG. 3 is a schematic diagram showing a 4-point DCT basis;
FIG. 4 is a flow chart showing a preferred embodiment of a method
of removing blocking artifacts according to the present invention;
and
FIG. 5 is a table showing exemplary results of a preferred
embodiment of a method of removing blocking artifacts according to
the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
In a preferred embodiment of the present invention, blocking
artifacts at a block boundary are removed in a frequency domain not
a spatial domain. Frequency features around the block boundary are
preferably obtained using a 4-point DCT kernel, which can be easily
calculated. Thus, a complex region at the block boundary can
effectively be processed by extending the smoothness of a picture
from the frequency domain to the spatial domain.
Using the 4-point DCT kernel has advantages that frequency analysis
is possible and deblocking can easily be processed. Therefore, the
4-point DCT Kernel can efficiently remove the blocking artifacts of
a real time moving picture.
The blocking artifacts appear at the block boundary between fixed
block patterns in the form of a line of discontinuity. Accordingly,
removal of the blocking artifacts involves transformation of the
discontinuity of the block boundary region to continuity.
FIG. 2 shows a block boundary region in a horizontal or a vertical
direction. In one-dimensional images consisting of four points such
as S0, S1 and S2 located around the block boundary, S1 and S2 are
individually processed with a block-unit compression method. Thus,
S1 and S2 are not influenced by the blocking artifacts. However, S0
is located across a block boundary. Thus, S0 is directly influenced
by the blocking artifacts.
In the preferred embodiment according to the present invention,
frequency information in S1 and S2 is used to reduce the blocking
artifacts from S0. When images change smoothly, image features of
S0, S1 and S2 are similar to one another. This means that image
features of S0, S1 and S2 are also similar to one another in the
frequency domain.
Since the frequency features of S0, S1 and S2 are similar, the
frequency component of S0 influenced by the blocking artifacts is
adjusted considering the frequency components of S1, S2, which can
remove the blocking artifacts. Here, DCT, which is widely applied
as an image compression technique, is used as a frequency analysis
tool.
The blocking artifacts may appear in both horizontal and vertical
block boundaries. In the preferred embodiment according to the
present invention, after the blocking artifacts at the horizontal
block boundary are removed, the blocking artifacts at the vertical
block boundary are removed.
Pixel sets S0, S1 and S2, which overlap, can be defined around the
horizontal block boundary. S0 is a 4-point pixel set arranged
across the block boundary while S1 and S2 are 4-point pixel sets
that adjoin the block boundary.
That is to say, the pixel set S0 contains a discontinuity. The
discontinuity in S0 is removed in the preferred embodiment using
common information (e.g., between S0 and S2), which are not
directly influenced by the discontinuity of the block boundary.
The 4-point DCT basis is used to get information around the block
boundary and is shown in FIG. 3. The 4-point DCT basis vectors have
symmetric and anti-symmetric properties. In other words, assuming
the 4-point DCT coefficients of S0 are defined as a.sub.0,0(DC),
a.sub.1,0, a.sub.2,0, a.sub.3,0, although both a.sub.2,0 and
a.sub.3,0 are the high frequency components, a.sub.2,0 is symmetric
and a.sub.3,0 is anti-symmetric around the center.
As shown in FIG. 2, since the center of S0 is coincident with the
block boundary, a factor directly affecting the block discontinuity
is not the symmetric component but the anti-symmetric component.
Thus, in the preferred embodiment the magnitude of a.sub.3,0 in the
frequency domain is adjusted based on the anti-symmetric component
so that the block discontinuity can be adjusted. An appropriate
adjustment of a.sub.3,0 in the frequency domain is directly related
to the removal of the block discontinuity in the spatial
domain.
Operations for reduction or removal of the block discontinuity will
now be described. In the preferred embodiment, the magnitude of
a.sub.3,0 is replaced with the minimum value of the magnitudes of
a.sub.3,1 and a.sub.3,2. By doing this, a large blocking artifact,
which appears when one side of the block boundary to be processed
is smooth, can be removed. For a complex region where both S1 and
S2 are the objects of motion (i.e., all the values of the
magnitudes of a.sub.3,0, a.sub.3,1 and a.sub.3,2 are large), there
is little influence on the block boundary.
A method for removing the blocking artifacts in a default mode in
the preferred embodiment is as follows: v.sub.4'=v.sub.4-d;
v.sub.5'=v.sub.5+d; and
d=CLIP(c.sub.2.(a.sub.3,0'-a.sub.3,0)//c.sub.3,0(v.sub.4-v.sub.5)/2)*.del-
ta.(|a.sub.3,0|<QP), where
a.sub.3,0'=SIGN(a.sub.3,0)*MIN(|a.sub.3,0|,|a.sub.3,1|,|a.sub.3,2|),
a.sub.3,0=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.3v.sub.4v.sub.5v.sub.6].sup.T)//c.sub.3,
a.sub.3,1=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.1v.sub.2v.sub.3v.sub.4].sup.T)//c.sub.3,
and a.sub.3,2=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.5v.sub.6v.sub.7v.sub.8].sup.T)//c.sub.3.
Thus, boundary pixels v.sub.4 and v.sub.5 that adjoin the boundary
are replaced with v.sub.4' and v.sub.5', respectively. QP is the
quantization parameter of the macroblock where pixel v.sub.5
belongs. Values c.sub.1, c.sub.2, c.sub.3 are kernel constants used
in the 4-point DCT. The values of c.sub.1 and c.sub.2 are
approximated to an integer, and the value of c.sub.3 is
approximated to a multiple of 2. The values of a.sub.3,0,
a.sub.3,1, a.sub.3,2 are evaluated from the simple inner product of
the DCT kernel and the pixel sets S0, S 1 and S2.
The condition |a.sub.3,0|<QP is used to count the influence of
the quantization parameter on the blocking artifacts. The condition
|a.sub.3,0|<QP also prevents over-smoothing when the blocking
artifacts are not very serious. The clipping operation on the
compensated value is performed to prevent the direction of the
gradient at the block boundary from being enlarged or changed in an
opposite direction.
This filtering process is performed in both horizontal and vertical
block boundaries. In this manner, the blocking artifacts in the
whole frame can be removed.
In the default mode, only the boundary pixel values v.sub.4 and
v.sub.5 are compensated. Thus, the default mode is not sufficient
to remove the blocking artifacts in a very smooth region, such as a
setting in a picture. Therefore, in the preferred embodiment the
blocking artifacts in the smooth region are removed by a DC offset
mode.
A method for removing the blocking artifacts in the DC offset mode
in the preferred embodiment is as follows: max=MAX(v.sub.1,
v.sub.2, v.sub.3, v.sub.4, v.sub.5, v.sub.6, v.sub.7, v.sub.8),
min=MIN(v.sub.1, v.sub.2, v.sub.3, v.sub.4, v.sub.5, v.sub.6,
v.sub.7, v.sub.8) if(|max-min|<2QP), /*low pass filtering*/
.times..times..ltoreq..ltoreq. ##EQU00002## <.times..times.
##EQU00002.2## if m<1; v.sub.m, if 1.ltoreq.m.ltoreq.8;
(|v.sub.8-v.sub.9|<QP)? v.sub.9: v.sub.8, if m>8;
{b.sub.k:-4.ltoreq.k.ltoreq.4}={1,1,2,2,4,2,2,1,1}//16.
If the absolute value of the maximum data value minus minimum data
value in the block boundary pixels is smaller than twice the
quantization parameter (i.e., if deblocking is required), the
blocking artifacts in the smooth region are removed by the DC
offset mode.
The decision to use the default mode or to use the DC offset mode
is preferably made based on the following condition: Mode decision
value(eq_cnt)=.phi.(v.sub.0-v.sub.1)+.phi.(v.sub.1-v.sub.2)+.phi.(v.sub.2-
-v.sub.3)+.phi.(v.sub.3-v.sub.4)+.phi.(v.sub.4-v.sub.5)+.phi.(v.sub.5-v.su-
b.1)+.phi.(v.sub.7-v.sub.8)+.phi.(v.sub.8-v.sub.9), where
.phi.(.gamma.)=1 if |.gamma.|.ltoreq.THR1(first threshold value)
and .phi.(.gamma.)=0 otherwise.
If the mode decision value eq_cnt.gtoreq.THR2(i.e., a second
threshold value), the DC offset mode is applied. In the remaining
cases, default mode is applied.
A method for removing the blocking artifacts to code a moving
picture at low-rate-bit according to the preferred embodiment of
the present invention will be described with reference to FIG. 4.
After beginning in FIG. 4, control continues to step 401S. In step
401S, three pixel sets S0, S1, S2 are defined based on the
horizontal block boundary. From step 401S, control continues to
step 402S.
In step 402S, the mode decision value (e.g., eq_cnt) is determined
and control continues to step 403S. In step 403S, the mode decision
value is compared with a decision value (e.g., a second threshold
value THR2 preferably set by a user) to perform deblocking
filtering process by selecting the mode depending on the degree of
the blocking artifacts in the picture.
If the determination in step 403S is negative, control continues to
step 404S where the default mode is set. From step 404S, control
continues to step 405S where frequency information around the block
boundary on each of the pixel is determined, for example, using the
4-point DCT kernel. From step 405S, control continues to step
406S.
In step 406S, the magnitude of the discontinuous component
belonging to the block boundary is replaced with the minimum
magnitude of the discontinuous components belonging to the
surroundings of the block boundary in the frequency domain. This
adjusting operation is applied to the spatial domain. That is, the
magnitude of the discontinuous component belonging to the block
boundary is replaced with the minimum magnitude of the
discontinuous components belonging to the surroundings of the block
boundary in the spatial domain.
In the default mode of the preferred embodiment, the blocking
artifacts are removed in step 406S using the method as described
below: v.sub.4'=v.sub.4-d; v.sub.5'=v.sub.5+d; and
d=CLIP(c.sub.2.(a.sub.3,0'-a.sub.3,0)//c.sub.3,0,(v.sub.4-v.sub.5)/2)*
.delta.(|a.sub.3|<QP, where
a.sub.3,0'=SIGN(a.sub.3,0)*MIN(|a.sub.3,0|,|a.sub.3,1|,|a.sub.3,2|),
a.sub.3,0=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.3v.sub.4v.sub.5v.sub.6].sup.T)//c.sub.3,
a.sub.3,1=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.1v.sub.2v.sub.3v.sub.4].sup.T)//c.sub.3,
a.sub.3,2=([c.sub.1-c.sub.2
c.sub.2-c.sub.1]*[v.sub.5v.sub.6v.sub.7v.sub.8].sup.T)//c.sub.3. In
the default mode, the blocking artifacts are effectively removed in
a complex region. However, the default mode does not sufficiently
remove blocking artifacts in a smooth region.
If the determination in step 403S is affirmative, control continues
to step 407S where the DC offset mode is set to remove the blocking
artifacts. From step 407S, control continues to step 408S where the
minimum and maximum data values (min, max) are determined. From
step 408S, control continues to step 409S where a determination is
made to remove the blocking artifacts in the default mode. If the
determination in step 409S is negative, the process ends. If the
determination in step 409S is affirmative, control continues to
step 410S.
In the DC offset mode according to the preferred embodiment, in
step 410S, the blocking artifacts are removed using the following
algorithm. max=MAX(v.sub.1, v.sub.2, v.sub.3, v.sub.4, v.sub.5,
v.sub.6, v.sub.7, v.sub.8), min=MIN(v.sub.1, v.sub.2, v.sub.3,
v.sub.4, v.sub.5, v.sub.6, v.sub.7, v.sub.8),
if(|max-min|<2.QP), /*low pass filtering*/
.times..times..ltoreq..ltoreq. ##EQU00003## <.times..times.
##EQU00003.2## if m<1; v.sub.m, if 1.ltoreq.m.ltoreq.8;
(|v.sub.8-v.sub.9|<QP)? v.sub.9: v.sub.8, if m>8; {b.sub.k:
-4.ltoreq.k.ltoreq.4}={1,1,2,2,4,2,2,1,1}//16.
The maximum data value and the minimum data value in the block
boundary pixels are obtained in step 408S. Then, if the absolute
value of the maximum data value minus the minimum data value is
smaller than 2QP (i.e., if deblocking is required), the blocking
artifacts in the smooth region are removed by the DC offset mode in
steps 409S and 410S.
From step 406S and 410S, control continues to step 411S. If the
deblocking filtering process around the horizontal block boundary
is completed, the deblocking filtering process around the vertical
block boundary is performed in step 411S. From step 411S, control
continues to step 412S.
In step 412S, the deblocking filtering processes around the
horizontal and vertical block boundaries repeat over the whole
frame. From step 412S, the process ends.
FIG. 5 is a table illustrating exemplary PSNR properties according
to the method of removing the blocking artifacts of the preferred
embodiment. The conditions yielding the exemplary results of FIG. 5
are as follows: 300 frames (only the initial frame was coded in
intra.); Fixed QP; H.263 quantization; F_code=1; Enable DC/AC
prediction; and Rectangular shape VOP. As shown in FIG. 5, the
method for removing the blocking artifacts of the preferred
embodiment improves results relative to VM (no filtering) of
MPEG-4.
As described above, the method for removing the blocking artifacts
according to the preferred embodiments of the present invention has
various advantages. The deblocking filtering process is performed
using features of the frequency domain so that the blocking
artifacts are effectively removed. Further, the blocking artifacts
are removed in both the complex and smooth regions. Thus, an
excellent image or picture quality is provided. In addition, amount
of bits does not increase.
The foregoing embodiments are merely exemplary and are not to be
construed as limiting the present invention. The present teaching
can be readily applied to other types of apparatuses. The
description of the present invention is intended to be
illustrative, and not to limit the scope of the claims. Many
alternatives, modifications, and variations will be apparent to
those skilled in the art.
* * * * *