KR20000012878A - 영상데이터 루프필터링방법 및 장치 - Google Patents

영상데이터 루프필터링방법 및 장치 Download PDF

Info

Publication number
KR20000012878A
KR20000012878A KR1019980031431A KR19980031431A KR20000012878A KR 20000012878 A KR20000012878 A KR 20000012878A KR 1019980031431 A KR1019980031431 A KR 1019980031431A KR 19980031431 A KR19980031431 A KR 19980031431A KR 20000012878 A KR20000012878 A KR 20000012878A
Authority
KR
South Korea
Prior art keywords
block
pixel
filtering
flag
pixels
Prior art date
Application number
KR1019980031431A
Other languages
English (en)
Other versions
KR100301013B1 (ko
Inventor
이영렬
박현욱
Original Assignee
윤종용
삼성전자 주식회사
박호군
한국과학기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자 주식회사, 박호군, 한국과학기술연구원 filed Critical 윤종용
Priority to KR1019980031431A priority Critical patent/KR100301013B1/ko
Priority to RU99101345A priority patent/RU2154918C1/ru
Priority to AU12160/99A priority patent/AU717480B2/en
Priority to JP1362899A priority patent/JP3308921B2/ja
Priority to SG1999001675A priority patent/SG70679A1/en
Priority to BRPI9901340A priority patent/BRPI9901340B1/pt
Priority to US09/302,989 priority patent/US6665346B1/en
Publication of KR20000012878A publication Critical patent/KR20000012878A/ko
Application granted granted Critical
Publication of KR100301013B1 publication Critical patent/KR100301013B1/ko
Priority to US10/405,642 priority patent/US7251276B2/en
Priority to US11/768,688 priority patent/US20080159386A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법 및 장치에 관한 것으로서, 그 방법은 역양자화된 영상데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 영상데이터의 루프 필터링 필요성 여부를 나타내는 플래그를 추출하는 플래그추출단계; 및 추출된 플래그가 루프 필터링이 필요함을 나타내면, 플래그에 상응하는 영상데이터를 소정의 방법에 의해 필터링하는 필터링단계를 포함함을 특징으로 한다.
본 발명에 의하면, 플래그와 적응필터를 사용하므로써 양자화 효과를 감소시키고, 필터링의 계산량을 줄이는데 큰 도움이 된다. 그리고 하드웨어 복잡성 측면에서 곱셈과 나눗셈 없이 병렬처리에 의해 수행될 수 있다.

Description

영상데이터 루프필터링 방법 및 장치
본 발명은 영상 데이터 처리에 관한 것으로서, 특히 양자화효과를 감소시키기 위한 영상 데이터 루프필터링 방법 및 장치에 관한 것이다.
일반적으로 국제표준화기구(Internaltional Organization for Standardization:ISO)의 MPEG 및 ITU(International Telecommunication Union)의H.263을 포함하는 대부분의 화상(picture) 부호화 표준들은 블록에 기초한(block-based) 움직임추정 및 블록(block) 이산여현변환(Discrete Consine Transform:DCT) 처리를 사용한다. 그리고 대부분의 비디오 부호화(coding) 표준들은 정보를 작은 수의 변환계수로 팩킹(packing)하기 위해 8x8 픽셀블록 DCT를 사용한다. 이러한 block-based DCT 스킴(scheme)은 영상의 국부적인 공간 코리레이션(local spatial correlation ) 성질을 이용한다.
그러나 이러한 블록에 기초하여 부호화된 영상데이터를 복원하면, 블록경계 근처의 블록킹 아티팩트(blocking artifacts ) , 블록의 크로스(cross)에서의 코너 아웃라이어(corner outliers ) 및 영상 에지(edge) 부근의 링잉 노이즈(ringing noise )와 같은 상당한 영상 열화를 갖는다. 왜냐하면, 영상데이터를 8x8 픽셀 블록 단위로 DCT 변환하여 상기 변환된 계수를 양자화하기 때문이다. 특히, 이미지가 고압축되어 있을 때는 더욱 그러하다.
상기 블록에 기초한 부호화는, 특히 영상(image)이 고압축될 때, 잘 알려진 블록 경계 근처에서의 블록킹 아티팩트(blocking artifacts ), 블록의 크로스 포인트(corss points)에서의 코너 아웃라이어(corner outliers) 및 영상 에지(image edge) 근처에서의 링잉노이즈(ringing noise)를 유발시킨다.
상기 블록킹 아티팩트는 상대적으로 유사한 등질 영역(relative homogenous area)에서의 블록 경계를 따라 발생하는 그리드 노이즈(grid noise)이다. 상기 그리드 노이즈는 압축된 데이터가 복원되어 화면상에 디스플레이될 때, 블록에 기초하여 처리한 흔적이 블록들간의 가장자리에 나타나게 되어, 보는 사람으로 하여금 블록간의 가장자리를 알 수 있게 한다. 그리고 상기 코너 아웃라이어는 8x8 블록의 코너 포인트(corner points)에서 발생한다. 또한 상기 링잉노이즈(ringing noise)는 영상을 고압축하기 위해 상기 이산여현변환(DCT)의 고주파 성분의 계수를 양자화(quantization)에 의한truncation 함으로써 발생되는 전형적인 깁스(Gibb's) 현상으로서, 영상이 약간의 간격을 두고 여러 개 겹쳐서 나타나는 것같이 느끼게 되는 문제를 유발한다.
블록에 기초한 부호화(block-base coding)로 인해 발생되는 상기 블록킹 아티팩트, 코너 아웃라이어 및 링잉노이즈를 감소시키기 위한 몇 가지 방법들이 제안되어 왔다.[Y.L.Lee, H.C.Kim, and H.W.Park, "Blocking Effect Reduction of JPEG images by Signal Adaptive Filtering", in press IEEE Trans. on Image Processing, 1997][ B. Ramamurthi and A.Gersho, "Nonlinear Space Variant Postprocessing of Block Coded Images", IEEE Tans on ASSP, vol.34, no.5, pp1258-1267, 1986][Y.Ynag, N.Galatsanos and A.Katsaggelos, "Projection-Based Spatially Adaptive Reconstruction of Block-Transform Compressed Images,"IEEE trans. on Image Processing, vol.4, no.7, pp 896-908, July 1995][Z.Xiong, M.T.Orchard, and Y.Q.Zhang, "A Deblocking Algorithm for JPEG Compressed Images Using Overcomplete Wavelet Representations, "IEEE Trans. Circuits Syst. Video Technol.,vol.7, no.2, pp 433-437, 1997] 그 중에서 JPEG-decompressed 영상의 양자화효과를 감소시키기 위해 2차원 신호적응필터링(Signal-Adaptive Filtering : SAF)이 제안되었다.[Y.L.Lee, H.C.Kim, and H.W.Park, "Blocking Effect Reduction of JPEG images by Signal Adaptive Filtering", in press IEEE Trans. on Image Processing, 1997] 그리고 블록킹 아티팩트를 감소시키기 위해 2차원 필터를 사용하고, 계단노이즈(staircase noise) 감소를 위해서는 1차원 필터를 사용한 Ramamurthi 및 Gersho의 방법[ B. Ramamurthi and A.Gersho, "Nonlinear Space Variant Postprocessing of Block Coded Images", IEEE Tans on ASSP, vol.34, no.5, pp1258-1267, 1986]은 좋은 효과를 나타내기도 하였다. An iterative image-recovery algorithm using the theory of projections onto convex sets(POCS) has also been proposed.[Y.Ynag, N.Galatsanos and A.Katsaggelos, "Projection-Based Spatially Adaptive Reconstruction of Block-Transform Compressed Images,"IEEE trans. on Image Processing, vol.4, no.7, pp 896-908, July 1995]
그러나 이러한 방법들은 계산이 복잡하다는 단점이 있다.
본 발명이 이루고자하는 기술적 과제는 블록에 기초한 영상데이터의 복호화시 블록킹 아티팩트, 코너 아웃라이어 및 링잉노이즈와 같은 양자화 효과를 줄이기 위해, 계산이 복잡하지 않으면서 낮은 비트율 부호화가 가능한 영상데이터 루프필터링 방법 및 장치를 제공하는 것이다.
도 1은 블록에 기초하여(block-based) 영상데이터를 루프필터링할 때, 양자화 효과 감소를 위한 영상데이터 루프필터링 장치의 구성을 블록도로 도시한 것이다.
도 2는 H.263+에 대한 블록도 및 상기 복호화기의 역양자화부에서 역양자화된 8x8 DCT 계수 블록을 도시한 것이다.
도 3은 인터 프레임의 8x8 블록(Ac)과 기준 프레임에서의 이웃 블록과의 관계를 도시한 것이다.
도 4는 인터 VOP의 수평블록킹 플래그(HBF), 수직블록킹 플래그(VBF) 및 링잉플래그(RF) 추출을 설명하기 위한 한 예를 도시한 것이다.
도 5는 블록킹 아티팩트들(blocking artifacts) 감소를 목적으로 하는 디블록킹 필터의 동작 설명을 위해, 블록 경계와 블록경계의 픽셀 위치를 도시한 것이다.
도 6은 코너 포인트와 코너 아웃라이어를 도시한 것으로서, (a)는 양자화로 인해 코너 아웃라이어를 생성하는 영상에지의 예를 나타내고, (b)는 양자화로 인해 발생된 코너아웃라이어를 도시하고 있으며, (c)는 코너 아웃라이어 보상하기 위한 코너 포인트의 좌표값(coordination)을 도시한 것이다.
도 7a는 2차원 신호적응필터(SAF)의 커널(kernel)을 도시한 것이다.
도 7b는 에지검출을 위한 10x10 블록 및 SAF의 예를 도시한 것이다.
<도면의 주요 부분에 대한 부호의 설명>
10 : 영상데이터 후처리 장치
100 : 플래그 추출부, 110 : 디블록킹 필터
120 : 코너 아웃라이어 보상부, 130 : 디링잉 필터
상기 기술적 과제를 해결하기 위한 본 발명에 의한 양자화 효과 감소를 위한 영상데이터 루프필터링방법은, 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법에 있어서, 역양자화된 영상데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 상기 영상데이터의 루프 필터링 필요성 여부를 나타내는 플래그를 추출하는 플래그추출단계; 및 상기 추출된 플래그가 루프 필터링이 필요함을 나타내면, 상기 플래그에 상응하는 영상데이터를 소정의 방법에 의해 필터링하는 필터링단계를 포함함을 특징으로 한다.
상기 플래그 추출은 상기 루프필터링하고자하는 영상 프레임이 인트라 프레임이면, 각 블록의 이산여현변환(DCT) 도메인으로부터 추출하고, 상기 루프필터링하고자하는 영상 프레임이 인터 프레임이면, 잔차신호 및 기준프레임의 플래그로부터 추출함을 특징으로 한다.
상기 플래그는 블록 경계 근처의 블록킹 아티팩트들(artifacts)을 감소시킬 필요성 여부를 나타내는 블록킹 플래그; 및 영상 에지 근처의 링잉 노이즈를 감소시킬 필요성 여부를 나타내는 링잉 플래그로 이루어짐을 특징으로 한다.
상기 영상데이터가 인트라 프레임일 경우 상기 인트라 프레임의 블록킹 플래그는 수평 블록킹 플래그(HBF) 및 수직 블록킹 플래그(VBF)로 이루어지고, 상기 인트라 프레임의 수평 및 수직 블록킹 플래그 추출은 상기 압축된 영상데이터가 역양자화된 후, 상기 역양자화된 8x8 블록에 대한 이산여현변환(DCT) 계수를 구하는 단계; 상기 8x8 블록을 구성하는 64개의 픽셀 중 상기 블록의 맨 위 및 맨 왼쪽에 위치한 픽셀(DC 성분)을 픽셀 A라 하고, 상기 픽셀 A의 바로 오른 쪽 픽셀을 픽셀 B, 상기 픽셀 A의 바로 아래 픽셀을 픽셀 C라 할 때, 상기 픽셀 A의 계수만이 '0'이 아닌 값을 가지면, 상기 수평블록킹 플래그(HBF) 및 수직블록킹 플래그(VBF)를 루프필터링이 필요함을 나타내는 정보('1')로 세팅하는 단계; 상기 역양자화된 8x8 블록의 맨 위 열(top row) 만이 '0'이 아닌 값을 가진 픽셀을 포함하고 있을 때, 수직블록킹 플래그(VBF)를 루프 필터링 필요함을 나타내는 정보('1')로 세팅하는 단계; 및 상기 역양자화된 8x8 블록의 맨 왼쪽 칼럼(column) 만이 '0'아닌 값을 가진 픽셀을 포함하고 있을 때, 수평블록킹 플래그(HBF)를 루프필터링이 필요함을 나타내는 정보('1')로 세팅하는 단계를 포함함을 특징으로 한다.
상기 인트라 프레임의 링잉 플래그 추출은 상기 8x8 블록을 구성하는 64개의 픽셀 중 상기 블록의 맨 위, 맨 왼쪽에 위치한 픽셀(DC 성분)을 픽셀 A라 하고, 상기 픽셀 A의 바로 오른 쪽 픽셀을 픽셀 B, 상기 픽셀 A의 바로 아래 픽셀을 픽셀 C라 하면, 상기 역양자화된 8x8 블록의 픽셀 A, B 및 C 이외의 위치에 어느 하나라도 '0'이 아닌 계수 값을 가질 때, 링잉플래그(RF)를 루프필터링 필요함을 나타내는 정보('1')로 세팅함을 특징으로 한다.
현재 인터 프레임의 블록킹 플래그는 수평 블록킹 플래그 및 수직 블록킹 플래그로 이루어지고, 상기 현재 인터 프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은 기준 프레임이 소정의 기준블록들로 이루어지고, 상기 현재 인터 프레임의 블록(Ac)의 움직임 벡터 (MVx, MVy)에 의해 추정되는 기준 프레임의 블록을 움직임 블록(X)이라 할 때, 상기 움직임 블록(X)이 상기 기준블록들과 겹쳐진 정도를 조사하는 단계; 겹쳐진 픽셀 수가 소정 개수 이상인 기준블록들의 수평 블록킹 플래그(HBF)및 수직 블록킹 플래그(VBF)를 비트-와이즈(bit-wise) 논리곱 연산하는 단계; 및 상기 연산 결과를 상기 현재 VOP의 블록(Ac)의 수평 및 수직 블록킹 플래그로 세팅함을 특징으로 한다.
영상프레임이 인터프레임일 경우 현재 인터프레임의 블록(Ac)에 대한 링잉 플래그 추출은 인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)가 '0'이 아니면, 현재블록(Ac)의 링잉플래그(RF)를 '1'로 세팅하는 단계; 및 매크로블록(MB)에 대한 움직임 벡터를 전달하는 8x8 예측모드가 현재 블록에 사용되면 RF를 '1'로 세팅하는 단계로 이루어짐을 특징으로 한다.
상기 필터링단계의 필터링은 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 상기 블록 I에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이고, 상기 블록 J에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이면, 디블록킹(deblocking) 필터링을 수행하지 않음을 특징으로 한다.
인트라프레임에서의 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 블록 I 및 블록 J의 링잉플래그(RF)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링을 수행하는 단계; 블록 I 및 블록 J의 링잉플래그(RF)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고 블록 I의 HBF와 블록 J의 HBF 둘 중 적어도 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 또는 블록 I 및 블록 J의 링잉플래그(RF) 중 적어도 하나가 링잉노이즈를 감소시킬 필요가 있음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링을 수행하는 단계로 이루어지고, 수직블록 경계선을 사이에 둔 픽셀에 대해서는 상기 수직 블록킹 플래그(VBF)를 이용하여 상기 수평블록 경계선을 사이에 둔 픽셀과 같은 방식으로 필터링을 함을 특징으로 한다.
상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 6개의 픽셀을 A,B,C,D,E 및 F 라 하고, 상기 픽셀 C 및 D를 상기 수평블록 경계선에 가장 인접한 픽셀, 상기 픽셀 A 및 F 가 수평블록 경계선에서 가장 먼 픽셀, 상기 픽셀 B 및 D가 상기 A 및 C, D 및 F의 중간에 위치한 픽셀이라 할 때, 상기 제1필터링은 상기 6개의 픽셀에 대해 7-탭(1,1,1,2,1,1,1) 저역통과필터링을 수행하고, 상기 제2필터링은 상기 픽셀 C 및 D에 대해 필터링을 수행하되, 상기 픽셀 C 및 D의 차의 절대값이 H.263의 양자화 요소(factor) QP보다 작다면, C는 C+(D-C)/4로, D는 D+(D-C)/4로 대체함을 특징으로 한다.
인터프레임에서의 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링을 수행하는 단계; 블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘 중 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링을 수행하는 단계; 블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J가 둘다 HBF가 '1'이면 제1필터링을 수행하는 단계; 블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J 의 중 적어도 하나의 HBF가 '0'을 나타내면 제2필터링을 수행하는 단계; 및 상기 블록 I의 RF가 '0'이 아니면 제2필터링을 수행하는 단계로 이루어지고, 수직블록 경계선을 사이에 둔 픽셀에 대해서는 상기 수직 블록킹 플래그(VBF)를 이용하여 상기 수평블록 경계선을 사이에 둔 픽셀과 같은 방식으로 필터링을 함을 특징으로 한다.
상기 필터링단계에서의 링잉노이즈를 감소시키는 디링잉필터링은 링잉플래그가 디링잉 필터링이 필요함을 나타내는지 검사하여, 디링잉 필터링이 필요함을 나타내면 디링일 필터링을 수행하고, 그렇지 않으면 디링잉필터링을 수행하지 않음을 특징으로 한다.
상기 디링잉 필터링은 영상데이터의 수평에지 및 수직에지를 검출하는 에지검출 단계; 및 링잉노이즈를 감소시키자하는 8x8블록에 대해 2차원 신호적응필터링을 하는 신호적응필터링 단계로 이루어진다. 상기 에지검출단계의 수평에지검출은 픽셀[m][n], 상기 픽셀[m][n]의 오른쪽 픽셀을 픽셀[m][n+1], 왼쪽픽셀을 픽셀[m][n-1], 상기 픽셀[m][n]과 픽셀[m][n+1]의 차를 A1, 상기 픽셀[m][n]과 픽셀[m][n+1]의 차를 A2, H.263의 양자화 요소(factor)를 QP라 할 때, 조건식 ((A1>QP) and (A2>QP)) or (A1>2QP) or (A2>2QP) 을 만족하면, 에지로 검출되고, 에지[m][n] = 1 로 되고, 상기 에지검출단계의 수직에지검출은 픽셀[m][n], 상기 픽셀[m][n]의 윗쪽 픽셀을 픽셀[m+1][n], 아래쪽 픽셀을 픽셀[m-1][n], 상기 픽셀[m][n]과 픽셀[m+1][n]의 차를 A'1, 상기 픽셀[m][n]과 픽셀[m-1][n]의 차를 A'2, H.263의 양자화 요소(factor)를 QP라 할 때, 조건식 ((A'1>QP) and (A'2>QP)) or (A'1>2QP) or (A'2>2QP)을 만족하면, 에지로 검출되고, 에지[m][n] = '1'로 된다.
상기 신호적응 필터링 단계는 4-connected 필터 윈도우를 상기 8x8 블록에 대해 적용하여, 상기 필터윈도우의 중심 픽셀이 에지이면 필터링을 수행하지 않고, 상기 필터윈도우의 중심 픽셀이 에지가 아니면 가중필터링을 수행한다.
영상데이터를 블록에 기초하여(block-based) 인코딩 및 디코딩 할 때, 블록 4개가 만나는 크로스 포인트(cross point)의 코너에서 발생하는 코너 아웃라이어(corner outlier)들을 감소시키기 위해, 역양자화된 상기 영상데이터의 8x8 블록의 코너 아웃라이어를 검출하는 검출단계; 및 상기 검출된 코너 아웃라이어를 보상하는 보상단계를 더 구비함을 특징으로 한다.
상기 검출단계는, 상기 크로스 포인트를 중심으로 한 4개의 픽셀을 픽셀 A,B,C 및 D라 하고, value[0]를 A, value[1]를 B, value[2]를 C, value[3]를 D 라 하고, 평균값 Average = (A+B+C+D+2)/4라 두면, m을 0부터 시작하여 1씩 3 까지 증가시키면서 value[m]과 Average의 차를 H.263의 양자화 요소(factor) QP와 비교하여 상기 차가 QP보다 크면, 코너 아웃라이어 후보 픽셀 개수를 누적하여 코너 아웃라이어를 검출한다.
상기 보상단계는, 상기 A가 속한 블록에서 상기 A와 이웃하는 픽셀을 A1, A2라 하고, 상기 픽셀 A와 대각선에 위치하는 픽셀을 A3라 할 때, 상기 검출단계에서 검출된 코너 아웃라이어 후보가 한 개이고 그 픽셀이 A이면, 상기 픽셀 A와 픽셀 A3의 차가 3QP/2보다 작다면, 코너 아웃라이어 보상은 다음 식
픽셀 A에 대한 보상값 A' = (4A + B + C + 2D + 4)/9
픽셀 A1에 대한 보상값 A'1 = (A' + 3A1 +2)/4
픽셀 A2에 대한 보상값 A'2 = (A1 + 3A2 + 2)/4
와 같이 된다.
상기 코너 아웃라이어 후보 픽셀 수가 두 개 이상이면, (A3 + B3 + C3 + D3 + 2)/4 (여기서 B3, C3, D3도 A3와 같은 방식으로 정의됨)로부터 가장 큰 차이를 갖는 후보가 선택되고, 그 보상은 상기 하나의 후보 경우에서와 같은 방법으로 수행된다.
본 발명에 의한 영상데이터 루프필터링 장치는 상데이터를 블록에 기초하여(block-based) 인코딩 및 디코딩할 때 발생하는 양자화효과를 감소시키기 위한 영상데이터 루프필터링 장치에 있어서, 영상 데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 영상데이터의 루프필터링 필요성 여부를 나타내는 플래그를 추출하는 플래그추출부; 상기 플래그추출부에서 추출된 블록킹 플래그를 검사하여 상기 영상데이터를 디블록킹필터링하는 디블록킹 필터; 상기 디블록킹 필터링된 데이터 중 코너 아웃라이어를 검출하여 보상하는 코너 아웃라이어 보상부; 및 상기 플래그추출부에서 추출된 링잉 플래그를 검사하여 상기 코너 아웃라이어 보상된 데이터를 디링잉 필터링하는 디링잉 필터를 포함함을 특징한다.
상기 플래그는 블록 경계 근처의 블록킹 아티팩트들(artifacts)을 감소시킬 필요성 여부를 나타내는 블록킹 플래그; 및 영상 에지 근처의 링잉 노이즈를 감소시킬 필요성 여부를 나타내는 링잉 플래그로 이루어진다.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 도 1은 영상데이터를 블록에 기초하여(block based) 부호화 및 복호화할 때 발생하는 양자화 효과 감소를 위한 영상데이터 루프 필터링 장치(10)의 구성을 블록도로 도시한 것이다. 상기 루프필터링 장치(10)는 일반적인 부호화기 및 복호화기에 연결되어 사용된다.
본 발명에 의한, 상기 영상데이터 루프 필터링 장치(10)는 플래그 추출부(100), 디블록킹 필터(110), 코너 아웃라이어 보상부(120) 및 디링잉필터(130)를 포함하여 이루어진다. 상기 플래그추출부(100)는 역양자화된 상기 영상 데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 플래그를 추출한다.
상기 플래그(Flag)는 복호화된 영상의 루프 필터링 필요성 여부를 나타내는 정보이며, 블록킹 플래그와 링잉 플래그로 나누어진다. 상기 블록킹 플래그는 블록 경계 근처의 블록킹 아티팩트들(artifacts)을 감소시킬 필요성 여부를 나타내며, 상기 링잉플래그는 블록킹 플래그 및 영상 에지 근처의 링잉 노이즈를 감소시킬 필요성 여부를 나타낸다. 그리고 상기 블록킹 플래그는 수평블록경계선을 기준으로 하여 인접한 블록의 픽셀들에 대한 루프 필터링 여부를 나타내는 수평블록킹 플래그(Horizontal Blocking Flag : HBF) 및 수직블록경계선을 기준으로 하여 인접한 블록의 픽셀들에 대한 루프 필터링 여부를 나타내는 수직블록킹 플래그(Vertical Blocking Flag : VBF)로 구성된다.
그리고 상기 플래그 추출은 인트라프레임 및 인터 프레임에 대해 추출한다. 본 발명에서는 상기 인터프레임은 P 프레임 및 PB프레임으로 한다. 상기 인트라 프레임에 대한 플래그 추출은 역양자화된 상기 영상 데이터의 역양자화 계수의 분포를 이용한다. 상기 인터 프레임에 대한 플래그 추출은 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하며 보다 자세한 것은 후술하기로 한다.
상기 디블록킹 필터(110)는 일차원 수평 및 수직 저역통과필터(LPF)를 사용하여 상기 플래그 추출부(100)에서 추출된 블록킹 플래그를 검사하여 영상데이터를 디블록킹(deblocking) 필터링한다.
상기 아웃라이어 보상부(120)는 상기 디블록킹 필터(110)에서 디블록킹 필터링된 데이터 중 코너 아웃라이어를 검출하여 보상한다.
상기 디링잉(deringing) 필터(130)는 이차원 신호적응필터를 사용하여 상기 플래그 추출부(100)에서 추출된 링잉 플래그를 검사하여 상기 코너 아웃라이어 보상된 데이터를 디링잉 필터링한다.
한편, 바람직한 실시예를 들어 본 발명의 동작을 보다 상세히 설명하기로 한다. 본 발명에 의한, 영상데이터 루프 필터링 방법의 기본 개념은 영상데이터에 대해서 공간주파수(spatial frequency ) 및 시간정보(temporal information )를 사용하므로써 적응적으로 양자화 효과를 줄이는 것이다.
그리고 subjective image quality, PSNR 및 계산의 복잡성을 고려하고 있다. 특히 계산의 복잡성은 소프트웨어 및 하드웨어로 상기 기본 개념을 구현할 때 매우 중요한 결정요소이다. 8x8 블록마다 blocking artifacts 와 ringing noise 의 플래그를 추출하기 위해, 주파수 영역과 움직임 벡터에서의 역양자화 계수의 분포가 조사된다. 블록킹(blocking ) 플래그 및 링잉(ringing ) 플래그를 사용하므로써, 1차원 LPF와 2차원 SAF가 8x8 블록마다 적응적으로 적용된다.
먼저, 상기 플래그 추출부(100)에서의 blocking artifacts 와 ringing noise에 대한 플래그 추출에 대한 설명을 하기로 한다.
1. 블록킹 아티팩트들 및 링잉노이즈 감소를 위한 플래그
H.263+ 에서의 양자화효과를 감소하기 위해, 두 종류의 플래그가 정의된다. 첫째는 blocking 플래그이고, 둘째는 ringing 플래그이다. 상기 블록킹 및 링잉 플래그들은 인트라 프레임에서 8x8블록의 DCT 영역(domain)으로부터 추출된다. 또한 인터 프레임의 플래그는 잔차신호(residual signal) 및 기준 VOP의 플래그로부터 계산된다.
A. 인트라 매크로블록(Macro Block)에 대한 플래그 정보
역양자화 후의 DCT 계수인 역양자화계수(IQC)의 분포가 디코더 및 인코더에서 조사된다. 도 2는 H.263+ 의 블록도 및 역양자화후의 DCT 계수를 도시한 것이다. 도 2의 8x8 역양자화된 블록에서, 계수 A, B 및 C가 블록킹 플래그 및 링잉 플래그를 결정하는데 사용된다.
도 2에 도시된 8x8 블록의 64개의 픽셀 DCT 계수 중 위치 A 즉 DC 성분의 계수만이 '0'이 아닌 값을 갖는다면, 상기 8x8 부호화된 블록의 64 픽셀은 공간 영역에서 동일한 값을 갖는다. 그러므로 DC성분만을 갖는 블록은 수평 및 수직 블록킹 artifacts 를 유발할 수 있다. 이러한 경우, 수평블록킹 플래그(HBF)와 수직블록킹 플래그(VBF) 둘다 '1'로 세팅된다.
8x8 역양자화된 블록의 맨 위 열(top row) 만이 상기 top low를 구성하는 8 픽셀의 계수 중 어느 하나라도 '0'이 아닌 값을 가질 때, 각 칼럼(column)의 8개의 픽셀은 공간영역에서 동일한 값을 갖는다. 이 블록은 수직 블록킹 artifacts 를 유발하며, 따라서 VBF는 '1'로 세팅된다.
가장 왼쪽 칼럼 만이 상기 맨 왼쪽 칼럼을 구성하는 8픽셀의 계수 중 어느 하나라도 '0'이 아닌 값을 가질 때, 각 열(row)의 8개의 픽셀들은 공간 영역에서 동일한 값을 가진다. 이 블록은 수평 블록킹 artifacts 를 유발하며, 따라서 HBF는 '1'로 세팅된다.
도 2에 도시한 A, B 및 C 이외의 위치에 어느 하나라도 '0'이 아닌 계수 값을 가질 때, 링잉 플래그(RF)는 '1'로 세팅된다. 이들 고주파 계수는 블록이 영상에지(image edge)를 포함하고 있음을 뜻한다. 그러므로 이러한 블록은 고주파 성분 계수의 truncation 으로 인해 상기 영상에지 부근(around)에 링잉 노이즈를 만들어낸다. 상기 HBS, VBS 및 RS는 각 블록에서 루프 필터링을 하는데에 사용된다.
B. 인터 매크로 블록에 대한 플래그 정보의 전파(propagation)
기준 프레임에서의 블록킹 플래그는 움직임 벡터를 사용하므로써 다음(next) 인터 매크로블록에 전파된다. 또한, 인터 블록의 잔차 신호(residual signal)는 인터 블록의 플래그를 결정하는데 사용된다.
먼저, 블록킹 플래그가 기준 프레임으로부터 인터 프레임으로 전파되는 것을 설명한다. 도 3은 인터 프레임의 8x8 블록(Ac)과 기준 프레임에서의 이웃 블록과의 관계를 도시한 것이다. 블록킹 플래그의 전파는 움직임 벡터 MVx, MVy 에 의해 다음과 같이 기술된다.
도 3에서 Ar, Br, Cr 및 Dr은 기준 프레임의 블록들이다. Ac는 현재의 인터 프레임에서의 블록이며, X는 상기 Ac의 움직임 블록이다. 상기 움직임 블록 X는 움직임 벡터 (MVx, MVy)를 사용하므로써 추정된다. 먼저 상기 움직임 블록 X와 상기 기준블록들과 겹쳐진 정도를 조사한다. 만일 상기 움직임 블록 X와 상기 기준블록의 겹쳐진 영역이 2x2 픽셀보다 넓은 블록들만 각각 계산에 사용하면, 상기 현재 블록 Ac의 HBS 및 VBS는 움직임 추정된 블록 X에 의해 겹쳐지는 기준블록의 HBS 및 VBS 를 비트 와이즈 논리곱(bit-wise AND) 연산하므로써 계산될 수 있다.
예를 들어, 움직임 벡터가 MVx = 5, MVy = 3.5 일 때, 움직임 추정된 블록 X는 네 개의 기준블록 Ar, Br, Cr 및 Dr과 겹쳐진다. 여기서 상기 네 개의 겹쳐진 영역은 모두 2x2 픽셀보다 넓다. 그러므로, 현재 블록 Ac의 HBS 및 VBS는 도 4에 도시된 바와 같이 네 개의 기준블록 Ar, Br, Cr 및 Dr로부터 계산될 수 있다. 여기서 '&'는 비트와이즈 논리곱(bit-wise AND) 연산을 나타낸다.
다음으로, 인터프레임에서의 링잉 플래그에 대해 설명한다. 우선, 인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)를 검사하여 상기 IQC가 '0'이 아니면, 기준블록 Ac의 RF를 '1'로 세팅한다. 하나의 매크로블록(MB)에 대한 네 개의 움직임 벡터를 전달하는 것을 8x8 예측모드(prediction mode)라 한다. 상기 8x8 예측모드는 대개 고주파 성분을 갖는 busy area에 적용된다. 그러므로, 상기 블록이 8x8 예측모드를 갖는지 검사하여, 8x8 예측모드를 갖는 블록의 RF는 '1'로 세팅된다.
2. 플래그를 이용한 영상데이터 루프 필터링
한편, 디블록킹 필터(deblocking filter, 110), 코너 아웃라이어 보상부(120) 및 디링잉 필터(130)에 대해 구체적으로 설명하기로 한다.
2.1. blocking artifacts 감소를 위한 디블록킹 필터
blocking artifacts 감소를 위한 일차원 저역통과필터(LPF)는 수평 경계 및 수직 경계 상의 블록킹 플래그에 따라 강하게(strongly )또는 약하게(weakly) 수행된다. blocking artifacts 를 줄이기 위해, 대부분의 디블록킹(deblocking) 방법들은 영상에지(image-edge) 정보를 계산하고, 상기 영상에지에 기반한 저역통과필터(LPF)를 적응적으로 적용한다. 그러나 본 발명에 의한 디블록킹 방법은 상기에서 구한 블록킹 플래그를 이용하기 때문에 많은 계산량을 요구하는 영상에지검출을 필요로 하지 않는다.
처리되어야 할 8x8 블록과 인접블록들이 도 5에 도시되어 있다. 블록-I(BLOCK-I)의 HBF와 블록-J(BLOCK-J)의 HBF 둘다 '1'로 세팅되어 있다면, 7-탭(1,1,1,2,1,1,1) LPF가 도 5의 수평블록 경계상의 픽셀 A, B, C, D, E 및 F에 적용된다. 수평 디블록킹 필터링을 알고리즘으로 나타내면 다음과 같다.
if(BLOCK_I == NOT coded && BLOCK_J NOT coded) No deblocking filter ;
if(INTRA frame) {
if(RF of BLOCK_I == 0 && RF of BLOCK_J == 0) {/* No Ringing Noise */}
if(HBF of BLOCK_I == 1 && HBF of BLOCK_J == 1)
strong deblocking filtering ;
else
weak deblocking filtering ;
}
else weak deblocking filtering ;
}
if (P or PB_frame) {
if(RF of BLOCK_I == 0){ /* No Ringing Noise */
if(BLOCK_I == INTRA || BLOCK_J == INTRA) {
if(HBF of BLOCK I ++ 1 && HBF of BLOCK_J == 1)
strong deblocking filtering ;
else
weak deblocking filtering ;
}
else{
if (DC component of residual IQC of BLOCK_I or BLOCK_J exist){
if(HBS of BLOCK_I==1 && HBF of BLOCK_J==1)
strong delbocking filtering ;
else
weak deblocking filtering ;
}
}
}
else /* Ringing Noise */
weak deblocking filtering ;
}
상기 알고리즘을 설명하면, 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 상기 블록 I에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이고, 상기 블록 J에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이면, 디블록킹(deblocking) 필터링을 수행하지 않는다.
블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 블록 I 및 블록 J의 링잉플래그(RF)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링을 수행한다.
블록 I 및 블록 J의 링잉플래그(RF)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고 블록 I의 HBF와 블록 J의 HBF 둘 중 적어도 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 또는 블록 I 및 블록 J의 링잉플래그(RF) 중 적어도 하나가 링잉노이즈를 감소시킬 필요가 있음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링을 수행한다.
한편, 수직블록 경계선을 사이에 둔 픽셀에 대해서는 상기 수직 블록킹 플래그(VBF)를 이용하여 상기 수평블록 경계선을 사이에 둔 픽셀과 같은 방식으로 필터링을 한다.
그리고 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은 블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링을 수행한다.
블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘 중 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링을 수행한다.
블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J가 둘다 HBF가 '1'이면 제1필터링을 수행한다.
블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J 의 중 적어도 하나의 HBF가 '0'을 나타내면 제2필터링을 수행한다.
상기 블록 I의 RF가 '0'이 아니면 제2필터링을 수행하는 단계로 이루어지고,
한편, 수직블록 경계선을 사이에 둔 픽셀에 대해서는 상기 수직 블록킹 플래그(VBF)를 이용하여 상기 수평블록 경계선을 사이에 둔 픽셀과 같은 방식으로 필터링을 한다.
상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 6개의 픽셀을 A,B,C,D,E 및 F 라 하고, 상기 픽셀 C 및 D를 상기 수평블록 경계선에 가장 인접한 픽셀, 상기 픽셀 A 및 F 가 수평블록 경계선에서 가장 먼 픽셀, 상기 픽셀 B 및 D가 상기 A 및 C, D 및 F의 중간에 위치한 픽셀이라 할 때, 상기 제1필터링은 상기 6개의 픽셀에 대해 7-탭(1,1,1,2,1,1,1) 저역통과필터링을 수행한다.
상기 제2필터링은 상기 픽셀 C 및 D에 대해 필터링을 수행하되, 상기 픽셀 C 및 D의 차의 절대값이 H.263의 양자화 요소(factor) QP보다 작다면, C는 C+(D-C)/4로, D는 D+(D-C)/4로 대체한다.
2.2. 코너 아웃라이어 보상부(corner outliers )
코너 아웃라이어의 보상은 INTRA 프레임에서만 수행된다. 상기 코너 아웃라이어는 도 6에 도시된 바와 같이 8x8 블록의 corner point 에서 이웃하는 픽셀들 보다 훨씬 크거나 작은 픽셀에 의해 특징지워진다. 도 6 (a)에서 dark-gray 영역이 네 개의 블록에 걸쳐 분포되고 상기 dark-gray 영역의 하나나 두 개의 픽셀이 이웃하는 블록들의 corner points 에 위치할 때, corner points 는 도 6 (b)에 도시된 바와 같이 DCT 계수의 양자화에 의해 왜곡될 수 있다. 이렇게 왜곡된 corner point를 corner outlier 라 한다. 상기 corner outlier는 디블록킹 필터 및 디링잉 필터로는 제거할 수 없다. 상기 코너 아웃라이어를 줄이기 위해, 먼저 코너아웃라이어를 검출하고, 그 다음에 상기 검출된 코너 아웃라이러를 보상한다. 도 6 (c)는 코너아웃라이어 검출을 위한 간단한 coordination 을 기술하고 있다. 여기서 A,B,C 및 D는 8x8 블록의 corner points의 픽셀 값들이다.
먼저, 상기 corner outlier 검출을 위한 알고리즘은 다음과 같이 나타낼 수 있다.
value[0] = A; value[1] = B;
value[2] = C; value[3] = D;
Average = (A+B+C+D+2)/4;
Count = 0;
for(m=0; m<4; m++)
if (|value[m]-Average| > QP)
Count ++ ; /* 후보 points 의 개수 */
여기서 QP는 H.263의 양자화 요소(quantization factor)이다.
상기 'Count'는 코너아웃라이어 후보픽셀의 수를 저장하는 변수이다. 만일 상기 Count 가 '0'라면, 코너 아웃라이어는 없다. 만일 A만이 도 7(c)에서 후보 point 이고, |A - A3|가 3QP/2보다 작다면, 코너 아웃라이어 보상은 A, A1및 A2상에 다음과 같이 수행된다. A에 대해 보상된 값을 A', A1에 대해 보상된 값을 A'1, A2에 대해 보상된 값을 A'2라 하면, 상기 A', A'1및 A'2는 수학식 1과 같이 결정된다.
A' = (4A + B + C + 2D + 4)/8
A'1= (A' + 3A1+2)/4
A'2= (A' + 3A2+ 2)/4
후보 point 갯수가 두 개 이상이면, (A3+ B3+ C3+ D3+ 2)/4 로부터 가장 큰 차이를 갖는 후보가 선택되고, 코너 아웃라이어 보상은 상기 하나의 후보 경우에서와 같은 방법으로 그 point 상에 수행된다.
2.3 링잉노이즈 감소를 위한 디링잉 필터(deringing filter)
각 블록에 대해 디링잉 필터를 적용하기 전에, RS를 조사한다. 만일 현재 블록의 RS가 '1' 이라면, 디링잉 필터링은 상기 블록에 적용된다. 이미지 details가 필터링에 의해 왜곡되는 것을 방지하기 위해, 필터링 전에 간단한 에지검출이 수행된다. 도 8a 및 도 8b에 도시된 바와 같이, 에지검출 및 2 차원 신호적응 필터링(2-D SAF)은 '0'이 아닌 링잉 플래그를 갖는 8x8 블록에 적용된다. 2 차원 SAF는 8x8 블록에 적용된다. 왜냐하면 경계픽셀들은 deblocking 필터에 의해 부드럽게(smooth )되기 때문이다.
먼저, 에지 검출에 대해 설명한다. 영상 에지(image edge)를 발견하기 위해, 1차원 수평 및 수직 경사(gradient) 연산자들이 재구성된(reconstructed) 블록에 적용된다. 에지 픽셀을 결정하기 위한 문턱값(threshold value)은 H.263의 양자화 factor QP로부터 선택된다. 2 차원 SAF가 8x8 픽셀들에 적용되기 위해, 에지 정보는 도 8b에 도시된 바와 같이 현재 블록 내의 10x10 블록에 대해 얻어져야 한다. 수평에지검출은 픽셀[m][n], 상기 픽셀[m][n]의 오른쪽 픽셀을 픽셀[m][n+1], 왼쪽픽셀을 픽셀[m][n-1], 상기 픽셀[m][n]과 픽셀[m][n+1]의 차를 A1, 상기 픽셀[m][n]과 픽셀[m][n-1]의 차를 A2, H.263의 양자화 요소(factor)를 QP라 할 때, 조건식 ((A1>QP) and (A2>QP)) or (A1>2QP) or (A2>2QP) 을 만족하면, 에지로 검출되고, 에지[m][n] = 1 로 된다. 그리고 수직에지검출은 픽셀[m][n], 상기 픽셀[m][n]의 윗쪽 픽셀을 픽셀[m+1][n], 아래쪽 픽셀을 픽셀[m-1][n], 상기 픽셀[m][n]과 픽셀[m+1][n]의 차를 A'1, 상기 픽셀[m][n]과 픽셀[m-1][n]의 차를 A'2, H.263의 양자화 요소(factor)를 QP라 할 때, 조건식 ((A'1>QP) and (A'2>QP)) or (A'1>2QP) or (A'2>2QP)을 만족하면, 에지로 검출되고, 에지[m][n] = '1'로 된다.
이상의 에지맵 Edge[m][n]을 픽셀값 pixel[m][n]으로부터 생성하는 알고리즘으로 표현하면 다음과 같다.
/* 수평 에지 검출 */
A1 = |pixel[m][n] - pixel[m][n+1]| ;
A2 = |pixel[m][n] - pixel[m][n-1]| ;
if (((A1>QP) and (A2>QP)) or (A1>2QP) or (A2>2QP))
Edge[m][n] = 1 ;
else { /* 수직 에지 검출 */
A1 = |pixel[m][n] - pixel[m+1][n]| ;
A2 = |pixel[m][n] - pixel[m-1][n]| ;
if (((A1>QP) and (A2>QP)) or (A1>2QP) or (A2>2QP))
Edge[m][n] = 1 ;
}
다음으로 2차원 신호적응필터(SAF)를 사용한 디링잉 필터링(deringing filtering )에 대해 설명한다. 상기 디링잉 필터링은 image details 의 심각한 손실없이 링잉 노이즈를 부드럽게(smooth) 하기위한 것이다. 본 발명에 의한 디링잉 필터링은 에지 맵(edge map)에 따라 콘벌류선(convolution)에 대한 가중 팩터(weighting factor)가 변하는 간단한 콘벌루션(convolution) 연산이다. 상기 SAF는 Edge[m][n]을 사용하므로써 복호화된 블록에 적용된다. 도 7a는 2차원 SAF에 대한 커널(kernel)을 도시하고 있다. 도 7b에서의 필터 윈도우의 중심점 A가 에지픽셀이면, 2차원 필터링 연산은 수행되지 않는다.(도 8b의 예 1) 4-connected 필터 윈도우에서 에지 point가 포함되어 있지 않으면, 저역통과 필터링이 수행된다. (도 8b의 예 2) 만일 중심점 상에 있지 않는 어떤 에지 point 들이 4-connected filter window 에 있으면, 에지 픽셀들을 제외한 가중 필터링이 수행된다.(도 8b의 예 3) 가중 factor들이 계산의 복잡성을 고져하여 정의되며, 따라서 SAF 필터링이 표 1에 도시된 바와 같이 간단한 이동(shift) 및 가산(addition ) 연산에 의해 수행된다.
A B C D E SAF
0 0 0 0 0 A = (4A+B+C+D+E+4)/8
0 0 0 0 1 A = (4A+B+2C+D+4)/8
0 0 0 1 0 A = (4A+2B+C+D+4)/8
0 0 0 1 1 A = (2A+B+C+2)/4
0 0 1 0 0 A = (4A+B+D+2E+4)/8
0 0 1 0 1 A = (2A+B+D+2)/4
0 0 1 1 0 A = (2A+B+E+2)/4
0 0 1 1 1 A = (A+B+1)/2
0 1 0 0 0 A = (4A+C+2D+E+4)/8
0 1 0 0 1 A = (2A+C+D+2)/4
0 1 0 1 0 A = (2A+C+E+2)/4
0 1 0 1 1 A = (A+C+1)/2
0 1 1 0 0 A = (2A+D+E+2)/4
0 1 1 0 1 A = (A+D+1)/2
0 1 1 1 0 A = (A+E+1)/2
0 1 1 1 1 A = A
표 1에서 '0'은 nonedge 를 나타내고, '1'은 edge 를 나타낸다.
한편, 상술한 본 발명의 실시예는 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하다. 그리고 컴퓨터에서 사용되는 매체로부터 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 매체는 마그네틱 저장매체(예:롬, 플로피디스크, 하드 디스크 등), 광학적 판독 매체(예:CD-ROM, DVD 등) 및 캐리어 웨이브(예:인터넷을 통해 전송)와 같은 저장매체를 포함한다.
예를 들어, 상기 기록매체는 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법은, 역양자화된 영상데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 상기 영상데이터의 루프 필터링 필요성 여부를 나타내는 플래그를 추출하는 플래그추출단계가 컴퓨터에 의해 수행되는 코드수단; 및 상기 추출된 플래그가 루프 필터링이 필요함을 나타내면, 상기 플래그에 상응하는 영상데이터를 소정의 방법에 의해 필터링하는 필터링단계가 컴퓨터에 의해 수행되는 프로그램 코드수단을 포함함을 특징으로 한다.
그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
고압축된 영상데이터를 복원할 때, 블록킹 아티팩트들, 코너아웃라이어 및 링잉노이즈와 같은 양자화 효과를 발생된다. 본 발명에 의한 루프 필터링방법은 플래그와 적응필터를 사용하므로써 양자화 효과를 감소시킨다. 각 블록의 블록킹 및 링잉 플래그는 루프 필터링(loop filtering )의 계산량을 줄이는데 큰 도움이 된다. 현 블록에 대한 블록킹 및 링잉 플래그를 추출하기 위해서는, 인터 프레임 의 움직임 벡터가 사용된다.
비디오 코딩에서, 고품질의 영상 및 하드웨어 및 소프트웨어로의 구현의 용이성을 위해서는 계산의 복잡성 및 PSNR 이 고려되어야 한다. 하드웨어 복잡성 측면에서, 본 발명에 의한 방법은 곱셈과 나눗셈 없이 병렬처리에 의해 수행될 수 있다.
본 발명에 의한 루프 필터링(loop filtering ) 방법은 영상 details 를 유지하면서 subjective quality 을 크게 향상시키기 때문에 광범위하게 사용될 수 있다.

Claims (24)

  1. 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법에 있어서,
    역양자화된 영상데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 상기 영상데이터의 루프 필터링 필요성 여부를 나타내는 플래그를 추출하는 플래그추출단계; 및
    상기 추출된 플래그가 루프 필터링이 필요함을 나타내면, 상기 플래그에 상응하는 영상데이터를 소정의 방법에 의해 필터링하는 필터링단계를 포함함을 특징으로 하는 영상데이터 루프필터링 방법.
  2. 제1항에 있어서, 상기 플래그 추출은
    상기 루프필터링하고자하는 영상 프레임이 인트라 프레임이면, 각 블록의 이산여현변환(DCT) 도메인으로부터 추출하고,
    상기 루프필터링하고자하는 영상 프레임이 인터 프레임이면, 잔차신호 및 기준프레임의 플래그로부터 추출함을 특징으로 하는 영상데이터 루프필터링 방법.
  3. 제2항에 있어서, 상기 플래그는
    블록 경계 근처의 블록킹 아티팩트들(artifacts)을 감소시킬 필요성 여부를 나타내는 블록킹 플래그; 및
    영상 에지 근처의 링잉 노이즈를 감소시킬 필요성 여부를 나타내는 링잉 플래그로 이루어짐을 특징으로 하는 영상데이터 루프필터링 방법.
  4. 제3항에 있어서, 상기 영상데이터가 인트라 프레임일 경우 상기 인트라 프레임의 블록킹 플래그는
    수평 블록킹 플래그(HBF) 및 수직 블록킹 플래그(VBF)로 이루어지고,
    상기 인트라 프레임의 수평 및 수직 블록킹 플래그 추출은
    상기 압축된 영상데이터가 역양자화된 후, 상기 역양자화된 8x8 블록에 대한 이산여현변환(DCT) 계수를 구하는 단계;
    상기 8x8 블록을 구성하는 64개의 픽셀 중 상기 블록의 맨 위 및 맨 왼쪽에 위치한 픽셀(DC 성분)을 픽셀 A라 하고, 상기 픽셀 A의 바로 오른 쪽 픽셀을 픽셀 B, 상기 픽셀 A의 바로 아래 픽셀을 픽셀 C라 할 때, 상기 픽셀 A의 계수만이 '0'이 아닌 값을 가지면, 상기 수평블록킹 플래그(HBF) 및 수직블록킹 플래그(VBF)를 루프필터링이 필요함을 나타내는 정보('1')로 세팅하는 단계;
    상기 역양자화된 8x8 블록의 맨 위 열(top row) 만이 '0'이 아닌 값을 가진 픽셀을 포함하고 있을 때, 수직블록킹 플래그(VBF)를 루프 필터링 필요함을 나타내는 정보('1')로 세팅하는 단계; 및
    상기 역양자화된 8x8 블록의 맨 왼쪽 칼럼(column) 만이 '0'아닌 값을 가진 픽셀을 포함하고 있을 때, 수평블록킹 플래그(HBF)를 루프필터링이 필요함을 나타내는 정보('1')로 세팅하는 단계를 포함함을 특징으로 하는 영상데이터 루프필터링 방법.
  5. 제3항에 있어서, 상기 인트라 프레임의 링잉 플래그 추출은
    상기 8x8 블록을 구성하는 64개의 픽셀 중 상기 블록의 맨 위, 맨 왼쪽에 위치한 픽셀(DC 성분)을 픽셀 A라 하고, 상기 픽셀 A의 바로 오른 쪽 픽셀을 픽셀 B, 상기 픽셀 A의 바로 아래 픽셀을 픽셀 C라 하면,
    상기 역양자화된 8x8 블록의 픽셀 A, B 및 C 이외의 위치에 어느 하나라도 '0'이 아닌 계수 값을 가질 때, 링잉플래그(RF)를 루프필터링 필요함을 나타내는 정보('1')로 세팅함을 특징으로 하는 영상데이터 루프필터링 방법.
  6. 제3항에 있어서, 현재 인터 프레임의 블록킹 플래그는
    수평 블록킹 플래그 및 수직 블록킹 플래그로 이루어지고,
    상기 현재 인터 프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은
    기준 프레임이 소정의 기준블록들로 이루어지고, 상기 현재 인터 프레임의 블록(Ac)의 움직임 벡터 (MVx, MVy)에 의해 추정되는 기준 프레임의 블록을 움직임 블록(X)이라 할 때,
    상기 움직임 블록(X)이 상기 기준블록들과 겹쳐진 정도를 조사하는 단계;
    겹쳐진 픽셀 수가 소정 개수 이상인 기준블록들의 수평 블록킹 플래그(HBF)및 수직 블록킹 플래그(VBF)를 비트-와이즈(bit-wise) 논리곱 연산하는 단계; 및
    상기 연산 결과를 상기 현재 VOP의 블록(Ac)의 수평 및 수직 블록킹 플래그 로 세팅함을 특징으로 하는 영상데이터 루프필터링 방법.
  7. 제6항에 있어서, 상기 겹쳐진 픽셀 수의 소정 개수는
    2x2 픽셀임을 특징으로 하는 양자화 효과 감소를 위한 영상데이터 루프필터링 방법.
  8. 제3항에 있어서, 영상프레임이 인터프레임일 경우 현재 인터프레임의 블록(Ac)에 대한 링잉 플래그 추출은
    인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)가 '0'이 아니면, 현재블록(Ac)의 링잉플래그(RF)를 '1'로 세팅하는 단계; 및
    매크로블록(MB)에 대한 움직임 벡터를 전달하는 8x8 예측모드가 현재 블록에 사용되면 RF를 '1'로 세팅하는 단계로 이루어짐을 특징으로 하는 영상데이터 루프필터링 방법.
  9. 제3항에 있어서, 상기 필터링단계의 필터링은
    루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때,
    상기 블록 I에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이고, 상기 블록 J에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이면, 디블록킹(deblocking) 필터링을 수행하지 않음을 특징으로 하는 영상데이터 루프필터링 방법.
  10. 제4항 또는 제5항에 있어서, 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은
    루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때,
    블록 I 및 블록 J의 링잉플래그(RF)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링을 수행하는 단계;
    블록 I 및 블록 J의 링잉플래그(RF)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고 블록 I의 HBF와 블록 J의 HBF 둘 중 적어도 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 또는 블록 I 및 블록 J의 링잉플래그(RF) 중 적어도 하나가 링잉노이즈를 감소시킬 필요가 있음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링을 수행하는 단계로 이루어지고,
    수직블록 경계선을 사이에 둔 픽셀에 대해서는 상기 수직 블록킹 플래그(VBF)를 이용하여 상기 수평블록 경계선을 사이에 둔 픽셀과 같은 방식으로 필터링을 함을 특징으로 하는 영상데이터 루프필터링 방법.
  11. 제10항에 있어서,
    상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 6개의 픽셀을 A,B,C,D,E 및 F 라 하고, 상기 픽셀 C 및 D를 상기 수평블록 경계선에 가장 인접한 픽셀, 상기 픽셀 A 및 F 가 수평블록 경계선에서 가장 먼 픽셀, 상기 픽셀 B 및 D가 상기 A 및 C, D 및 F의 중간에 위치한 픽셀이라 할 때,
    상기 제1필터링은
    상기 6개의 픽셀에 대해 7-탭(1,1,1,2,1,1,1) 저역통과필터링을 수행하고,
    상기 제2필터링은
    상기 픽셀 C 및 D에 대해 필터링을 수행하되, 상기 픽셀 C 및 D의 차의 절대값이 H.263의 양자화 요소(factor) QP보다 작다면, C는 C+(D-C)/4로, D는 D+(D-C)/4로 대체함을 특징으로 하는 영상데이터 루프필터링 방법.
  12. 제6항 또는 제8항에 있어서, 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은
    루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때,
    블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링을 수행하는 단계;
    블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘 중 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링을 수행하는 단계;
    블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J가 둘다 HBF가 '1'이면 제1필터링을 수행하는 단계;
    블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J 의 중 적어도 하나의 HBF가 '0'을 나타내면 제2필터링을 수행하는 단계; 및
    상기 블록 I의 RF가 '0'이 아니면 제2필터링을 수행하는 단계로 이루어지고,
    수직블록 경계선을 사이에 둔 픽셀에 대해서는 상기 수직 블록킹 플래그(VBF)를 이용하여 상기 수평블록 경계선을 사이에 둔 픽셀과 같은 방식으로 필터링을 함을 특징으로 하는 영상데이터 루프필터링 방법.
  13. 제3항에 있어서, 상기 필터링단계에서의 링잉노이즈를 감소시키는 디링잉필터링은
    링잉플래그가 디링잉 필터링이 필요함을 나타내는지 검사하여, 디링잉 필터링이 필요함을 나타내면 디링일 필터링을 수행하고, 그렇지 않으면 디링잉필터링을 수행하지 않음을 특징으로 하고,
    상기 디링잉 필터링은
    영상데이터의 수평에지 및 수직에지를 검출하는 에지검출 단계; 및
    링잉노이즈를 감소시키고자하는 8x8블록에 대해 2차원 신호적응필터링을 하는 신호적응필터링 단계로 이루어지고,
    상기 에지검출단계의 수평에지검출은
    픽셀[m][n], 상기 픽셀[m][n]의 오른쪽 픽셀을 픽셀[m][n+1], 왼쪽픽셀을 픽셀[m][n-1], 상기 픽셀[m][n]과 픽셀[m][n+1]의 차를 A1, 상기 픽셀[m][n]과 픽셀[m][n+1]의 차를 A2, H.263의 양자화 요소(factor)를 QP라 할 때,
    조건식 ((A1>QP) and (A2>QP)) or (A1>2QP) or (A2>2QP) 을 만족하면, 에지로 검출되고, 에지[m][n] = 1 로 되고,
    상기 에지검출단계의 수직에지검출은
    픽셀[m][n], 상기 픽셀[m][n]의 윗쪽 픽셀을 픽셀[m+1][n], 아래쪽 픽셀을 픽셀[m-1][n], 상기 픽셀[m][n]과 픽셀[m+1][n]의 차를 A'1, 상기 픽셀[m][n]과 픽셀[m-1][n]의 차를 A'2, H.263의 양자화 요소(factor)를 QP라 할 때,
    조건식 ((A'1>QP) and (A'2>QP)) or (A'1>2QP) or (A'2>2QP)을 만족하면, 에지로 검출되고, 에지[m][n] = '1'로 되고,
    상기 신호적응 필터링 단계는
    4-connected 필터 윈도우를 상기 8x8블록에 대해 적용하여, 상기 필터윈도우의 중심 픽셀이 에지이면 필터링을 수행하지 않고, 상기 필터윈도우의 중심 픽셀이 에지가 아니면 가중필터링을 수행하는, 영상데이터 루프필터링 방법.
  14. 제1항에 있어서,
    영상데이터를 블록에 기초하여(block-based) 인코딩 및 디코딩 할 때, 블록 4개가 만나는 크로스 포인트(cross point)의 코너에서 발생하는 코너 아웃라이어(corner outlier)들을 감소시키기 위해,
    역양자화된 상기 영상데이터의 8x8 블록의 코너 아웃라이어를 검출하는 검출단계; 및
    상기 검출된 코너 아웃라이어를 보상하는 보상단계를 더 구비함을 특징으로 하고,
    상기 검출단계는, 상기 크로스 포인트를 중심으로 한 4개의 픽셀을 픽셀 A,B,C 및 D라 하고, value[0]를 A, value[1]를 B, value[2]를 C, value[3]를 D 라 하고, 평균값 Average = (A+B+C+D+2)/4라 두면, m을 0부터 시작하여 1씩 3 까지 증가시키면서 value[m]과 Average의 차를 H.263의 양자화 요소(factor) QP와 비교하여 상기 차가 QP보다 크면, 코너 아웃라이어 후보 픽셀 개수를 누적하여 코너 아웃라이어를 검출하고,
    상기 보상단계는, 상기 A가 속한 블록에서 상기 A와 이웃하는 픽셀을 A1, A2라 하고, 상기 픽셀 A와 대각선에 위치하는 픽셀을 A3라 할 때, 상기 검출단계에서 검출된 코너 아웃라이어 후보가 한 개이고 그 픽셀이 A이면, 상기 픽셀 A와 픽셀 A3의 차가 3QP/2보다 작다면, 코너 아웃라이어 보상은 다음 식
    픽셀 A에 대한 보상값 A' = (4A + B + C + 2D + 4)/9
    픽셀 A1에 대한 보상값 A'1 = (A' + 3A1 +2)/4
    픽셀 A2에 대한 보상값 A'2 = (A1 + 3A2 + 2)/4
    와 같이 되고,
    상기 코너 아웃라이어 후보 픽셀 수가 두 개 이상이면, (A3 + B3 + C3 + D3 + 2)/4 (여기서 B3, C3, D3도 A3와 같은 방식으로 정의됨)로부터 가장 큰 차이를 갖는 후보가 선택되고, 그 보상은 상기 하나의 후보 경우에서와 같은 방법으로 수행되는, 영상데이터 루프필터링 방법.
  15. 영상데이터를 블록에 기초하여(block-based) 인코딩 및 디코딩할 때 발생하는 양자화효과를 감소시키기 위한 영상데이터 루프필터링 장치에 있어서,
    영상 데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 영상데이터의 루프필터링 필요성 여부를 나타내는 플래그를 추출하는 플래그추출부;
    상기 플래그추출부에서 추출된 블록킹 플래그를 검사하여 상기 영상데이터를 디블록킹필터링하는 디블록킹 필터;
    상기 디블록킹 필터링된 데이터 중 코너 아웃라이어를 검출하여 보상하는 코너 아웃라이어 보상부; 및
    상기 플래그추출부에서 추출된 링잉 플래그를 검사하여 상기 코너 아웃라이어 보상된 데이터를 디링잉 필터링하는 디링잉 필터를 포함함을 특징으로 하고,
    상기 플래그는
    블록 경계 근처의 블록킹 아티팩트들(artifacts)을 감소시킬 필요성 여부를 나타내는 블록킹 플래그; 및
    영상 에지 근처의 링잉 노이즈를 감소시킬 필요성 여부를 나타내는 링잉 플래그로 이루어지는, 영상데이터 루프필터링 장치.
  16. 제15항에 있어서, 상기 플래그추출부의 플래그 추출은
    인트라 플래그 및 인터 플래그에 대해 추출하고,
    상기 인트라 플래그에 대한 플래그 추출은
    역양자화된 상기 영상 데이터의 역양자화 계수의 분포를 이용하고,
    상기 인터 플래그에 대한 플래그 추출은
    이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용함을 특징으로 하는 영상데이터 루프필터링 장치.
  17. 제15항에 있어서, 상기 디블록킹 필터는
    일차원 수평 및 수직 저역통과필터임을 특징으로 하는 양자화 효과 감소를 위한 영상데이터 루프필터링 장치.
  18. 제17항에 있어서, 상기 디링잉 필터는
    이차원 신호적응필터임을 특징으로 하는 양자화 효과 감소를 위한 영상데이터 루프필터링 장치.
  19. 영상데이터를 블록에 기초하여(block-based) 인코딩 및 디코딩할 때 발생하는 양자화효과를 감소시키기 위한 영상데이터 루프필터링에 있어서,
    역양자화된 영상데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 상기 영상데이터의 루프 필터링 필요성 여부를 나타내는 플래그를 추출하는 플래그추출단계; 및
    상기 추출된 플래그가 루프 필터링이 필요함을 나타내면, 상기 플래그에 상응하는 영상데이터를 소정의 방법에 의해 필터링하는 필터링단계를 포함하고,
    상기 플래그 추출은, 상기 루프필터링하고자하는 영상 프레임이 인트라 프레임이면 각 블록의 이산여현변환(DCT) 도메인으로부터 추출하고, 상기 루프필터링하고자하는 영상 프레임이 인터 프레임이면, 잔차신호 및 기준프레임의 플래그로부터 추출함을 특징으로 하는 영상데이터 루프필터링 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  20. 제19항에 있어서,
    상기 플래그가 블록 경계 근처의 블록킹 아티팩트들(artifacts)을 감소시킬 필요성 여부를 나타내는 블록킹 플래그; 및 영상 에지 근처의 링잉 노이즈를 감소시킬 필요성 여부를 나타내는 링잉 플래그로 이루어질 때,
    상기 영상데이터가 인트라 프레임일 경우, 상기 인트라 프레임의 블록킹 플래그는 수평 블록킹 플래그(HBF) 및 수직 블록킹 플래그(VBF)로 이루어지고,
    상기 인트라 프레임의 수평 및 수직 블록킹 플래그 추출은, 상기 압축된 영상데이터가 역양자화된 후, 상기 역양자화된 8x8 블록에 대한 이산여현변환(DCT) 계수를 구하는 단계; 상기 8x8 블록을 구성하는 64개의 픽셀 중 상기 블록의 맨 위 및 맨 왼쪽에 위치한 픽셀(DC 성분)을 픽셀 A라 하고, 상기 픽셀 A의 바로 오른 쪽 픽셀을 픽셀 B, 상기 픽셀 A의 바로 아래 픽셀을 픽셀 C라 할 때, 상기 픽셀 A의 계수만이 '0'이 아닌 값을 가지면, 상기 수평블록킹 플래그(HBF) 및 수직블록킹 플래그(VBF)를 루프필터링이 필요함을 나타내는 정보('1')로 세팅하는 단계; 상기 역양자화된 8x8 블록의 맨 위 열(top row) 만이 '0'이 아닌 값을 가진 픽셀을 포함하고 있을 때, 수직블록킹 플래그(VBF)를 루프 필터링 필요함을 나타내는 정보('1')로 세팅하는 단계; 및 상기 역양자화된 8x8 블록의 맨 왼쪽 칼럼(column) 만이 '0'아닌 값을 가진 픽셀을 포함하고 있을 때, 수평블록킹 플래그(HBF)를 루프필터링이 필요함을 나타내는 정보('1')로 세팅하는 단계로 이루어지고,
    상기 인트라 프레임의 링잉 플래그 추출은, 상기 8x8 블록을 구성하는 64개의 픽셀 중 상기 블록의 맨 위, 맨 왼쪽에 위치한 픽셀(DC 성분)을 픽셀 A라 하고, 상기 픽셀 A의 바로 오른 쪽 픽셀을 픽셀 B, 상기 픽셀 A의 바로 아래 픽셀을 픽셀 C라 하면, 상기 역양자화된 8x8 블록의 픽셀 A, B 및 C 이외의 위치에 어느 하나라도 '0'이 아닌 계수 값을 가질 때, 링잉플래그(RF)를 루프필터링 필요함을 나타내는 정보('1')로 세팅하고,
    상기 영상데이터가 인터 프레임일 경우, 현재 인터 프레임의 블록킹 플래그는 수평 블록킹 플래그 및 수직 블록킹 플래그로 이루어지고,
    상기 현재 인터 프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은, 기준 프레임이 소정의 기준블록들로 이루어지고, 상기 현재 인터 프레임의 블록(Ac)의 움직임 벡터 (MVx, MVy)에 의해 추정되는 기준 프레임의 블록을 움직임 블록(X)이라 할 때, 상기 움직임 블록(X)이 상기 기준블록들과 겹쳐진 정도를 조사하는 단계; 겹쳐진 픽셀 수가 소정 개수 이상인 기준블록들의 수평 블록킹 플래그(HBF)및 수직 블록킹 플래그(VBF)를 비트-와이즈(bit-wise) 논리곱 연산하는 단계; 및 상기 연산 결과를 상기 현재 VOP의 블록(Ac)의 수평 및 수직 블록킹 플래그 로 세팅하고,
    현재 인터프레임의 블록(Ac)에 대한 링잉 플래그 추출은, 인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)가 '0'이 아니면, 현재블록(Ac)의 링잉플래그(RF)를 '1'로 세팅하는 단계; 및 매크로블록(MB)에 대한 움직임 벡터를 전달하는 8x8 예측모드가 현재 블록에 사용되면 RF를 '1'로 세팅하는 단계로 이루어짐을 특징으로 하는 영상데이터 루프필터링 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  21. 제20항에 있어서, 상기 필터링단계의 필터링은
    루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 상기 블록 I에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이고, 상기 블록 J에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이면, 디블록킹(deblocking) 필터링을 수행하지 않음을 특징으로 하는 영상데이터 루프필터링 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  22. 제20항에 있어서, 블록킹 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은
    루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때,
    블록 I 및 블록 J의 링잉플래그(RF)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링을 수행하는 단계;
    블록 I 및 블록 J의 링잉플래그(RF)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고 블록 I의 HBF와 블록 J의 HBF 둘 중 적어도 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 또는 블록 I 및 블록 J의 링잉플래그(RF) 중 적어도 하나가 링잉노이즈를 감소시킬 필요가 있음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링을 수행하는 단계로 이루어지고,
    상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 6개의 픽셀을 A,B,C,D,E 및 F 라 하고, 상기 픽셀 C 및 D를 상기 수평블록 경계선에 가장 인접한 픽셀, 상기 픽셀 A 및 F 가 수평블록 경계선에서 가장 먼 픽셀, 상기 픽셀 B 및 D가 상기 A 및 C, D 및 F의 중간에 위치한 픽셀이라 할 때,
    상기 제1필터링은, 상기 6개의 픽셀에 대해 7-탭(1,1,1,2,1,1,1) 저역통과필터링을 수행하고,
    상기 제2필터링은, 상기 픽셀 C 및 D에 대해 필터링을 수행하되, 상기 픽셀 C 및 D의 차의 절대값이 H.263의 양자화 요소(factor) QP보다 작다면, C는 C+(D-C)/4로, D는 D+(D-C)/4로 대체하고,
    수직블록 경계선을 사이에 둔 픽셀에 대해서는 상기 수직 블록킹 플래그(VBF)를 이용하여 상기 수평블록 경계선을 사이에 둔 픽셀과 같은 방식으로 필터링을 함을 특징으로 하는 영상데이터 루프필터링 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  23. 제20항에 있어서, 상기 필터링단계의 디링잉 필터링은
    영상데이터의 수평에지 및 수직에지를 검출하는 에지검출 단계; 및
    링잉노이즈를 감소시키고자하는 8x8블록에 대해 2차원 신호적응필터링을 하는 신호적응필터링 단계로 이루어짐을 특징으로 하고,
    상기 에지검출단계의 수평에지검출은
    소정의 크기를 갖는 블록내의 한 픽셀을 픽셀[m][n]라 하고, 상기 픽셀[m][n]의 오른쪽 픽셀을 픽셀[m][n+1], 왼쪽픽셀을 픽셀[m][n-1], 상기 픽셀[m][n]과 픽셀[m][n+1]의 차를 A1, 상기 픽셀[m][n]과 픽셀[m][n+1]의 차를 A2, H.263의 양자화 요소(factor)를 QP라 할 때, 조건식 ((A1>QP) and (A2>QP)) or (A1>2QP) or (A2>2QP) 을 만족하면, 에지로 검출되고, 에지[m][n] = 1 로 되고,
    상기 에지검출단계의 수직에지검출은
    상기 픽셀[m][n]의 윗쪽 픽셀을 픽셀[m+1][n], 아래쪽 픽셀을 픽셀[m-1][n], 상기 픽셀[m][n]과 픽셀[m+1][n]의 차를 A'1, 상기 픽셀[m][n]과 픽셀[m-1][n]의 차를 A'2, H.263의 양자화 요소(factor)를 QP라 할 때, 조건식 ((A'1>QP) and (A'2>QP)) or (A'1>2QP) or (A'2>2QP)을 만족하면, 에지로 검출되고, 에지[m][n] = '1' 로 되고,
    상기 신호적응 필터링 단계는
    4-connected 필터윈도우를 상기 8x8블록에 대해 적용하여, 상기 필터윈도우의 중심 픽셀이 에지이면 필터링을 수행하지 않고, 상기 필터윈도우의 중심 픽셀이 에지가 아니면 가중필터링을 수행하는, 영상데이터 루프필터링 방법을 실행시키기기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  24. 제20항에 있어서,
    영상데이터를 블록에 기초하여(block-based) 인코딩 및 디코딩 할 때, 블록 4개가 만나는 크로스 포인트(cross point)의 코너에서 발생하는 코너 아웃라이어(corner outlier)들을 감소시키기 위해, 역양자화된 상기 영상데이터의 8x8 블록의 코너 아웃라이어를 검출하는 검출단계; 및 상기 검출된 코너 아웃라이어를 보상하는 보상단계를 더 구비함을 특징으로 하고,
    상기 검출단계는, 상기 크로스 포인트를 중심으로 한 4개의 픽셀을 픽셀 A,B,C 및 D라 하고, value[0]를 A, value[1]를 B, value[2]를 C, value[3]를 D 라 하고, 평균값 Average = (A+B+C+D+2)/4라 두면, m을 0부터 시작하여 1씩 3 까지 증가시키면서 value[m]과 Average의 차를 H.263의 양자화 요소(factor) QP와 비교하여 상기 차가 QP보다 크면, 코너 아웃라이어 후보 픽셀 개수를 누적하여 코너 아웃라이어를 검출하고,
    상기 보상단계는, 상기 A가 속한 블록에서 상기 A와 이웃하는 픽셀을 A1, A2라 하고, 상기 픽셀 A와 대각선에 위치하는 픽셀을 A3라 할 때, 상기 검출단계에서 검출된 코너 아웃라이어 후보가 한 개이고 그 픽셀이 A이면, 상기 픽셀 A와 픽셀 A3의 차가 3QP/2보다 작다면, 코너 아웃라이어 보상은 다음 식
    픽셀 A에 대한 보상값 A' = (4A + B + C + 2D + 4)/9
    픽셀 A1에 대한 보상값 A'1 = (A' + 3A1 +2)/4
    픽셀 A2에 대한 보상값 A'2 = (A1 + 3A2 + 2)/4
    와 같이 되고,
    상기 코너 아웃라이어 후보 픽셀 수가 두 개 이상이면, (A3 + B3 + C3 + D3 + 2)/4 (여기서 B3, C3, D3도 A3와 같은 방식으로 정의됨)로부터 가장 큰 차이를 갖는 후보가 선택되고, 그 보상은 상기 하나의 후보 경우에서와 같은 방법으로 수행되는, 영상데이터 루프필터링 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019980031431A 1998-08-01 1998-08-01 영상데이터 루프필터링방법 및 장치 KR100301013B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1019980031431A KR100301013B1 (ko) 1998-08-01 1998-08-01 영상데이터 루프필터링방법 및 장치
RU99101345A RU2154918C1 (ru) 1998-08-01 1999-01-20 Способ и устройство для цикл-фильтрации данных изображения
AU12160/99A AU717480B2 (en) 1998-08-01 1999-01-20 Loop-filtering method for image data and apparatus therefor
JP1362899A JP3308921B2 (ja) 1998-08-01 1999-01-21 映像データループフィルタリング方法及び装置
SG1999001675A SG70679A1 (en) 1998-08-01 1999-04-14 Loop-filtering method for image data and apparatus therefor
BRPI9901340A BRPI9901340B1 (pt) 1998-08-01 1999-04-30 processo de filtragem de circuito para dados de imagem para a redução do efeito de quantização gerado
US09/302,989 US6665346B1 (en) 1998-08-01 1999-04-30 Loop-filtering method for image data and apparatus therefor
US10/405,642 US7251276B2 (en) 1998-08-01 2003-04-03 Loop-filtering method for image data and apparatus therefor
US11/768,688 US20080159386A1 (en) 1998-08-01 2007-06-26 Loop-filtering method for image data and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980031431A KR100301013B1 (ko) 1998-08-01 1998-08-01 영상데이터 루프필터링방법 및 장치

Publications (2)

Publication Number Publication Date
KR20000012878A true KR20000012878A (ko) 2000-03-06
KR100301013B1 KR100301013B1 (ko) 2001-09-06

Family

ID=19546191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980031431A KR100301013B1 (ko) 1998-08-01 1998-08-01 영상데이터 루프필터링방법 및 장치

Country Status (1)

Country Link
KR (1) KR100301013B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100538215B1 (ko) * 2002-01-23 2005-12-21 삼성전자주식회사 고속 후처리가 가능한 영상 재생 장치 및 그 방법
KR100584549B1 (ko) * 2002-01-31 2006-05-30 삼성전자주식회사 블록킹 효과를 제거하기 위한 필터링 방법 및 그 장치
KR100628839B1 (ko) * 2004-03-30 2006-09-27 학교법인 성균관대학 모서리 잡음 검출 및 보상방법
KR100674027B1 (ko) * 2006-11-07 2007-01-25 엘지전자 주식회사 이미지 화소 필터링 방법
KR100748512B1 (ko) * 2007-04-16 2007-08-13 엘지전자 주식회사 블록 경계 영역 필터링 방법
WO2010114283A2 (ko) * 2009-03-30 2010-10-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR100989296B1 (ko) * 2006-03-01 2010-10-22 퀄컴 인코포레이티드 아티팩트 평가를 통한 향상된 이미지/비디오 품질
KR101530549B1 (ko) * 2008-10-10 2015-06-29 삼성전자주식회사 적응적 1차원 필터 세트를 이용한 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101462052B1 (ko) 2011-11-09 2014-11-20 에스케이 텔레콤주식회사 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100538215B1 (ko) * 2002-01-23 2005-12-21 삼성전자주식회사 고속 후처리가 가능한 영상 재생 장치 및 그 방법
KR100584549B1 (ko) * 2002-01-31 2006-05-30 삼성전자주식회사 블록킹 효과를 제거하기 위한 필터링 방법 및 그 장치
KR100708202B1 (ko) * 2002-01-31 2007-04-16 삼성전자주식회사 블록킹 효과를 제거하기 위한 필터링 방법
KR100628839B1 (ko) * 2004-03-30 2006-09-27 학교법인 성균관대학 모서리 잡음 검출 및 보상방법
KR100989296B1 (ko) * 2006-03-01 2010-10-22 퀄컴 인코포레이티드 아티팩트 평가를 통한 향상된 이미지/비디오 품질
US8391622B2 (en) 2006-03-01 2013-03-05 Qualcomm Incorporated Enhanced image/video quality through artifact evaluation
KR100674027B1 (ko) * 2006-11-07 2007-01-25 엘지전자 주식회사 이미지 화소 필터링 방법
KR100748512B1 (ko) * 2007-04-16 2007-08-13 엘지전자 주식회사 블록 경계 영역 필터링 방법
KR101530549B1 (ko) * 2008-10-10 2015-06-29 삼성전자주식회사 적응적 1차원 필터 세트를 이용한 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
WO2010114283A2 (ko) * 2009-03-30 2010-10-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2010114283A3 (ko) * 2009-03-30 2011-01-06 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8908760B2 (en) 2009-03-30 2014-12-09 Lg Electronics Inc. Method and apparatus for processing video signals

Also Published As

Publication number Publication date
KR100301013B1 (ko) 2001-09-06

Similar Documents

Publication Publication Date Title
KR100269125B1 (ko) 양자화효과감소를위한영상데이터후처리방법및장치
US7251276B2 (en) Loop-filtering method for image data and apparatus therefor
Yang et al. Removal of compression artifacts using projections onto convex sets and line process modeling
Park et al. A postprocessing method for reducing quantization effects in low bit-rate moving picture coding
EP0781053B1 (en) Method and apparatus for post-processing images
US8873643B2 (en) Signal adaptive filtering method, signal adaptive filter and computer readable medium for storing program therefor
Lee et al. Loop filtering and post-filtering for low-bit-rates moving picture coding
KR100331331B1 (ko) 영상데이터 루프필터링 방법
KR100301013B1 (ko) 영상데이터 루프필터링방법 및 장치
Nakajima et al. A pel adaptive reduction of coding artifacts for MPEG video signals
KR100319557B1 (ko) 블럭 단위로 부호화된 영상의 블럭 경계 잡음 성분 제거 방법
KR100628839B1 (ko) 모서리 잡음 검출 및 보상방법
Cahill et al. Locally adaptive deblocking filter for low bit rate video
Boroczky et al. Artifact reduction for MPEG-2 encoded video using a unified metric for digital video processing
Li et al. Postprocessing MPEG based on estimated quantization parameters

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130530

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 18

EXPY Expiration of term