KR100331331B1 - Image Data Loop Filtering Method - Google Patents

Image Data Loop Filtering Method Download PDF

Info

Publication number
KR100331331B1
KR100331331B1 KR1019980046822A KR19980046822A KR100331331B1 KR 100331331 B1 KR100331331 B1 KR 100331331B1 KR 1019980046822 A KR1019980046822 A KR 1019980046822A KR 19980046822 A KR19980046822 A KR 19980046822A KR 100331331 B1 KR100331331 B1 KR 100331331B1
Authority
KR
South Korea
Prior art keywords
block
flag
filtering
ringing
pixel
Prior art date
Application number
KR1019980046822A
Other languages
Korean (ko)
Other versions
KR20000031028A (en
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 KR1019980046822A priority Critical patent/KR100331331B1/en
Priority to AU12160/99A priority patent/AU717480B2/en
Priority to RU99101345A priority patent/RU2154918C1/en
Priority to JP1362899A priority patent/JP3308921B2/en
Priority to SG1999001675A priority patent/SG70679A1/en
Priority to BRPI9901340A priority patent/BRPI9901340B1/en
Priority to US09/302,989 priority patent/US6665346B1/en
Publication of KR20000031028A publication Critical patent/KR20000031028A/en
Application granted granted Critical
Publication of KR100331331B1 publication Critical patent/KR100331331B1/en
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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법 및 장치에 관한 것으로서, 블록킹플래그 및 링잉플래그를 추출하는 플래그 추출단계; 및 플래그가 루프필터링이 필요함을 나타내면 영상데이터를 필터링하는 필터링 단계를 포함함을 특징으로 하고, 인터프레임일 경우, 현재 인터 프레임의 블록킹 플래그는 수평 블록킹 플래그 및 수직 블록킹 플래그로 이루어지고, 기준프레임의 블록킹 플래그를 패딩하는 단계; 인터프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은 현재 인터 프레임의 블록(Ac)의 움직임 벡터 (MVx, MVy)에 의해 추정되는 기준프레임의 블록을 움직임 블록(X)이라 할 때, 움직임 블록(X)이 상기 기준블록들과 겹쳐진 픽셀수가 소정 개수 이상인 기준블록들의 수평 블록킹 플래그(HBF) 및 수직 블록킹 플래그(VBF)를 비트-와이즈 논리곱하여 현재 VOP의 블록(Ac)의 수평 및 수직 블록킹 플래그로 세팅하는 단계; 및 현재 매크로블록이 스킵된 매크로블록이면 기준 매크로블록의 블록킹 플래그를 현재 매크로블록의 블록킹 플래그로 세팅하는 단계를 포함한다.The present invention relates to a loop filtering method and apparatus for reducing quantization effects occurring when encoding and decoding image data, comprising: a flag extracting step of extracting a blocking flag and a ringing flag; And a filtering step of filtering image data when the flag indicates that loop filtering is required. In the case of an interframe, the blocking flag of the current interframe includes a horizontal blocking flag and a vertical blocking flag. Padding the blocking flag; The horizontal and vertical blocking flag extraction for the block Ac of the interframe is performed when the block of the reference frame estimated by the motion vectors MVx and MVy of the block Ac of the current interframe is called the motion block X. The motion block X bit-wise ORs the horizontal blocking flag HBF and the vertical blocking flag VBF of the reference blocks having a predetermined number of pixels overlapping the reference blocks, thereby horizontally and vertically blocking the block Ac of the current VOP. Setting to a blocking flag; And if the current macroblock is a skipped macroblock, setting the blocking flag of the reference macroblock to the blocking flag of the current macroblock.

본 발명에 의하면, 플래그와 적응필터를 사용하므로써 양자화 효과를 감소시키고, 필터링의 계산량을 줄이는데 큰 도움이 된다. 그리고 하드웨어 복잡성 측면에서 곱셈과 나눗셈 없이 병렬처리에 의해 수행될 수 있다.According to the present invention, the use of the flag and the adaptive filter is very helpful in reducing the quantization effect and reducing the amount of filtering. And in terms of hardware complexity, it can be performed by parallel processing without multiplication and division.

Description

영상데이터 루프필터링 방법Image Data Loop Filtering Method

본 발명은 영상 데이터 처리에 관한 것으로서, 특히 양자화효과를 감소시키기 위한 영상 데이터 루프필터링 방법에 관한 것이다.The present invention relates to image data processing, and more particularly, to an image data loop filtering method for reducing quantization effects.

일반적으로 국제표준화기구(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 ) 성질을 이용한다.In general, most picture coding standards, including MPEG by the International Organization for Standardization (ISO) and H.263 by the International Telecommunication Union (ITU), are block-based motion estimation and block (block) Use Discrete Consine Transform (DCT) processing. Most video coding standards use an 8x8 pixelblock DCT to pack information into a small number of transform coefficients. This block-based DCT scheme utilizes the local spatial correlation properties of the image.

그러나 이러한 블록에 기초하여 부호화된 영상데이터를 복원하면, 블록경계 근처의 블록킹 아티팩트(blocking artifacts ) , 블록의 크로스(cross)에서의 코너 아웃라이어(corner outliers ) 및 영상 에지(edge) 부근의 링잉 노이즈(ringing noise )와 같은 상당한 영상 열화를 갖는다. 왜냐하면, 영상데이터를 8x8 픽셀 블록 단위로 DCT 변환하여 상기 변환된 계수를 양자화하기 때문이다. 특히, 이미지가 고압축되어 있을 때는 더욱 그러하다.However, restoring encoded image data based on these blocks results in blocking artifacts near the block boundary, corner outliers at the cross of the block, and ringing noise near the image edge. has significant image degradation such as (ringing noise). This is because the transformed coefficient is quantized by DCT transforming the image data in units of 8x8 pixel blocks. This is especially true when the image is highly compressed.

상기 블록에 기초한 부호화는, 특히 영상(image)이 고압축될 때, 잘 알려진 블록 경계 근처에서의 블록킹 아티팩트(blocking artifacts ), 블록의 크로스 포인트(corss points)에서의 코너 아웃라이어(corner outliers) 및 영상 에지(image edge) 근처에서의 링잉노이즈(ringing noise)를 유발시킨다.The block-based encoding includes blocking artifacts near well-known block boundaries, corner outliers and images at the corss points of the block, especially when the image is compressed. It causes ringing noise near the image edge.

상기 블록킹 아티팩트는 상대적으로 유사한 등질 영역(relative homogenous area)에서의 블록 경계를 따라 발생하는 그리드 노이즈(grid noise)이다. 상기 그리드 노이즈는 압축된 데이터가 복원되어 화면상에 디스플레이될 때, 블록에 기초하여 처리한 흔적이 블록들간의 가장자리에 나타나게 되어, 보는 사람으로 하여금 블록간의 가장자리를 알 수 있게 한다. 그리고 상기 코너 아웃라이어는 8x8 블록의 코너 포인트(corner points)에서 발생한다. 또한 상기 링잉노이즈(ringing noise)는 영상을 고압축하기 위해 상기 이산여현변환(DCT)의 고주파 성분의 계수를 양자화(quantization)에 의한truncation 함으로써 발생되는 전형적인 깁스(Gibb's) 현상으로서, 영상이 약간의 간격을 두고 여러 개 겹쳐서 나타나는 것같이 느끼게 되는 문제를 유발한다.The blocking artifact is grid noise that occurs along block boundaries in relatively similar homogenous areas. When the compressed data is reconstructed and displayed on the screen, the grid noise causes a trace processed based on the block to appear at the edges between the blocks so that the viewer can know the edges between the blocks. And the corner outliers occur at corner points of an 8x8 block. In addition, the ringing noise is a typical Gibb's phenomenon caused by quantization of the coefficients of the high frequency components of the discrete cosine transform (DCT) in order to compress the image. This causes problems that you may feel as if you are overlapping with one another.

본 발명이 이루고자하는 기술적 과제는 블록에 기초한 영상데이터의 복호화시 블록킹 아티팩트, 코너 아웃라이어 및 링잉노이즈와 같은 양자화 효과를 줄이기 위해, 계산이 복잡하지 않으면서 낮은 비트율 부호화가 가능한 영상데이터 루프필터링 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a video data loop filtering method capable of low bit rate coding without complicated computations in order to reduce quantization effects such as blocking artifacts, corner outliers, and ringing noise when decoding block-based video data. To provide.

도 1은 블록에 기초하여(block-based) 영상데이터를 루프필터링할 때, 양자화 효과 감소를 위한 영상데이터 루프필터링 장치의 구성을 블록도로 도시한 것이다.FIG. 1 is a block diagram illustrating a configuration of an image data loop filtering apparatus for reducing quantization effects when loop filtering image data based on blocks.

도 2는 H.263+에 대한 블록도 및 상기 복호화기의 역양자화부에서 역양자화된 8x8 DCT 계수 블록을 도시한 것이다.FIG. 2 shows a block diagram of H.263 + and an 8x8 DCT coefficient block dequantized by an inverse quantizer of the decoder.

도 3은 인터 프레임의 8x8 블록(Ac)과 기준 프레임에서의 이웃 블록과의 관계를 도시한 것이다.3 illustrates a relationship between an 8x8 block Ac of an inter frame and a neighboring block in a reference frame.

도 4는 인터 VOP의 수평블록킹 플래그(HBF), 수직블록킹 플래그(VBF) 및 링잉플래그(RF) 추출을 설명하기 위한 한 예를 도시한 것이다.4 illustrates an example for explaining the horizontal blocking flag (HBF), the vertical blocking flag (VBF), and the ringing flag (RF) extraction of the inter VOP.

도 5는 블록킹 아티팩트들(blocking artifacts) 감소를 목적으로 하는 디블록킹 필터의 동작 설명을 위해, 블록 경계와 블록경계의 픽셀 위치를 도시한 것이다.FIG. 5 illustrates pixel positions of block boundaries and block boundaries for explaining the operation of the deblocking filter for the purpose of reducing blocking artifacts.

도 6은 코너 포인트와 코너 아웃라이어를 도시한 것으로서, (a)는 양자화로 인해 코너 아웃라이어를 생성하는 영상에지의 예를 나타내고, (b)는 양자화로 인해 발생된 코너아웃라이어를 도시하고 있으며, (c)는 코너 아웃라이어 보상하기 위한 코너 포인트의 좌표값(coordination)을 도시한 것이다.6 illustrates a corner point and a corner outlier, (a) shows an example of an image edge generating a corner outlier due to quantization, and (b) shows a corner outlier generated due to quantization. , (c) shows the coordination of corner points for corner outlier compensation.

도 7a는 2차원 신호적응필터(SAF)의 커널(kernel)을 도시한 것이다.FIG. 7A illustrates a kernel of a 2D signal adaptation filter (SAF).

도 7b는 에지검출을 위한 10x10 블록 및 SAF의 예를 도시한 것이다.7B shows an example of 10 × 10 block and SAF for edge detection.

도 8은 Bf_Y 패딩의 결과를 도시한 것이다.8 shows the results of Bf_Y padding.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>

10 : 영상데이터 후처리 장치10: Image data post processing device

100 : 플래그 추출부, 110 : 디블록킹 필터100: flag extracting unit, 110: deblocking filter

120 : 코너 아웃라이어 보상부, 130 : 디링잉 필터120: corner outlier compensation unit, 130: D-ring filter

상기 기술적 과제를 해결하기 위한 본 발명에 의한 양자화 효과 감소를 위한 영상데이터 루프필터링방법은, 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법에 있어서, 영상데이터의 루프 필터링 필요성 여부를 나타내는 블록킹 플래그 및 링잉플래그를 추출하는 플래그 추출단계; 및 상기 플래그가 루프 필터링이 필요함을 나타내면 영상데이터를 필터링하는 필터링 단계를 포함함을 특징으로 한다. 상기 영상데이터가 인터프레임일 경우, 현재 인터 프레임의 블록킹 플래그는 수평 블록킹 플래그 및 수직 블록킹 플래그로 이루어지고, 상기 인터프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은 기준 프레임이 소정의 기준블록들로 이루어지고, 현재 인터 프레임의 블록(Ac)의 움직임 벡터 (MVx, MVy)에 의해 추정되는 기준프레임의 블록을 움직임 블록(X)이라 할 때, 움직임 블록(X)이 상기 기준블록들과 겹쳐진 픽셀수가 소정 개수 이상인 기준블록들의 수평 블록킹 플래그(HBF) 및 수직 블록킹 플래그(VBF)를 비트-와이즈 논리곱하여 현재 VOP의 블록(Ac)의 수평 및 수직 블록킹 플래그로 세팅하는 단계; 및 현재 매크로블록의 움직임 벡터가 0인 스킵된 매크로블록(skipped MB)이면 기준 매크로블록의 블록킹 플래그를 현재 매크로블록의 블록킹 플래그로 세팅하는 단계를 포함하여 이루어진다.An image data loop filtering method for reducing quantization effects according to the present invention for solving the technical problem, in the loop filtering method for reducing quantization effects occurring when encoding and decoding image data, necessity of loop filtering of image data A flag extraction step of extracting a blocking flag and a ringing flag indicating whether or not; And filtering the image data when the flag indicates that loop filtering is required. When the image data is an interframe, the blocking flag of the current interframe consists of a horizontal blocking flag and a vertical blocking flag. The horizontal and vertical blocking flag extraction for the block Ac of the interframe is based on a predetermined reference frame. When a block of a reference frame consisting of blocks and estimated by the motion vectors MVx and MVy of the block Ac of the current inter frame is called a motion block X, the motion block X is the reference blocks. Bit-wise ORing the horizontal blocking flag HBF and the vertical blocking flag VBF of the reference blocks having a predetermined number of pixels overlapping with each other and setting the horizontal and vertical blocking flags of the block Ac of the current VOP; And setting the blocking flag of the reference macroblock to the blocking flag of the current macroblock when the motion vector of the current macroblock is 0 skipped MB.

상기 루프필터링방법은 상기 현재 인터 프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은 먼저 기준블록의 블록킹 플래그를 복사하여 패딩을 하는 단계를 더 구비함이 바람직하다.In the loop filtering method, the horizontal and vertical blocking flag extraction for the block Ac of the current inter frame may further include copying the blocking flag of the reference block and padding.

그리고 상기 영상데이터가 인터프레임일 경우 상기 인터프레임의 링잉플래그는 제1링잉플래그(RF0) 및 제2링잉플래그(RF1)으로 이루어진다. 현재 인터프레임의 블록(Ac)에 대한 상기 제1링잉 플래그(RF0) 및 제2링잉플래그(RF1)의 추출은 인터 매크로블록의 8x8 블록에서 잔차신호의 역양자화계수(IQC)의 DC 성분 만이 '0'이 아니면, 현재블록(Ac)의 제1링잉플래그(RF0)를 '1'로 세팅하고, 그렇지 않으면 RF0를 0 으로 하는 단계; 및 인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)의 AC 성분 중 하나라도 '0'이 아니면, 현재블록(Ac)의 링잉플래그(RF)를 '1'로 세팅하고, 그렇지 않으면 RF를 0 으로 하는 단계로 이루어진다. 상기 영상데이터가 인터프레임일 경우 상기 인터프레임의 링잉플래그는 제1링잉플래그(RF0) 및 제2링잉플래그(RF1)으로 이루어지며, 현재 인터프레임의 블록(Ac)에 대한 상기 제1링잉 플래그(RF0) 및 제2링잉플래그(RF1)의 추출은 인터 매크로블록의 8x8 블록에서 잔차신호의 역양자화계수(IQC)의 DC 성분 만이 '0'이 아니면, 현재블록(Ac)의 제1링잉플래그(RF0)를 '1'로 세팅하고, 그렇지 않으면 RF0를 0 으로 하는 단계; 및 인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)의 AC 성분 중 하나라도 '0'이 아니면, 현재블록(Ac)의 링잉플래그(RF)를 '1'로 세팅하고, 그렇지 않으면 RF를 0 으로 하는 단계로 이루어진다.When the image data is an interframe, the ringing flag of the interframe includes a first ringing flag RF0 and a second ringing flag RF1. The extraction of the first ringing flag RF0 and the second ringing flag RF1 for the block Ac of the current interframe is performed by the DC component of the inverse quantization coefficient IQC of the residual signal in the 8x8 block of the inter macroblock. If it is not 0 ', setting the first ringing flag RF0 of the current block Ac to' 1 ', otherwise setting RF0 to 0; And if any one of the AC components of the inverse quantization coefficient (IQC) of the residual signal in the 8x8 block of the inter frame is not '0', sets the ringing flag (RF) of the current block (Ac) to '1'; RF is zero. When the image data is an interframe, the ringing flag of the interframe consists of a first ringing flag RF0 and a second ringing flag RF1, and the first ringing flag for the block Ac of the current interframe. RF0) and the second ringing flag RF1 extract the first ringing flag (AC) of the current block (Ac) if only the DC component of the inverse quantization coefficient (IQC) of the residual signal is 8 in the 8x8 block of the inter macroblock. Setting RF0) to '1', otherwise setting RF0 to 0; And if any one of the AC components of the inverse quantization coefficient (IQC) of the residual signal in the 8x8 block of the inter frame is not '0', sets the ringing flag (RF) of the current block (Ac) to '1'; RF is zero.

상기 필터링단계에서의 링잉노이즈를 감소시키는 디링잉필터링의 수행여부는, 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 상기 블록 I에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이고, 상기 블록 J에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이면, 디링잉(deringing ) 필터링을 수행하지 않음을 특징으로 한다. 또한 상기 필터링단계에서의 링잉노이즈를 감소시키는 디링잉필터링 수행여부는, 블록 I가 인트라 블록이면 디링잉 필터링을 수행하는 단계; 상기 블록 I가 인트라 블록이 아니고, 8x8 예측모드를 사용한 블록이면 디링잉 필터링을 수행하는 단계; 및 상기 상기 블록 I가 인트라 블록이 아니고 8x8 예측모드를 사용한 블록이 아니고, 블록 I의 RF1이 디링잉필터링이 필요함을 나타내면 디링잉필터링을 수행하고, 블록 I의 RF1이 디링잉필터링이 필요치 않음을 나타내면 디링잉필터링을 수행하지않는 단계를 이루어짐을 특징으로 한다.Performing the de-ringing filtering to reduce the ringing noise in the filtering step, when the predetermined block constituting the frame to be loop-filtered is called block I, and the block adjacent to the block I is called block J, the block Delinging filtering if the difference between the current block and the dequantized previous block for I is less than or equal to a predetermined value, and the difference between the current block and the de-quantized previous block for Block J is less than or equal to a predetermined value. It is characterized by not performing. In addition, whether to perform the de-ringing filtering to reduce the ringing noise in the filtering step, if the block I is an intra block, performing the de-ringing filtering; Performing de-ringing filtering if the block I is not an intra block and is a block using an 8x8 prediction mode; And if the block I is not an intra block and is not a block using an 8x8 prediction mode, and the RF1 of the block I indicates that de-ringing filtering is required, the de-ringing filtering is performed, and the RF1 of the block I does not need de-ringing filtering In this case, the step of performing the de-ringing filtering is performed.

이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 도 1은 영상데이터를 블록에 기초하여(block based) 부호화 및 복호화할 때 발생하는 양자화 효과 감소를 위한 영상데이터 루프 필터링 장치(10)의 구성을 블록도로 도시한 것이다. 상기 루프필터링 장치(10)는 일반적인 부호화기 및 복호화기에 연결되어 사용된다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. FIG. 1 is a block diagram illustrating a configuration of an image data loop filtering device 10 for reducing quantization effects generated when encoding and decoding image data based on blocks. The loop filtering device 10 is used in connection with a general encoder and decoder.

상기 영상데이터 루프 필터링 장치(10)는 플래그 추출부(100), 디블록킹 필터(110), 코너 아웃라이어 보상부(120) 및 디링잉필터(130)를 포함하여 이루어진다. 상기 플래그추출부(100)는 역양자화된 상기 영상 데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 플래그를 추출한다.The image data loop filtering device 10 includes a flag extractor 100, a deblocking filter 110, a corner outlier compensator 120, and a de-ringing filter 130. The flag extractor 100 extracts a flag using a distribution of inverse quantization coefficients of the dequantized image data and a motion vector representing a difference between a previous frame and a current frame.

상기 플래그(Flag)는 복호화된 영상의 루프 필터링 필요성 여부를 나타내는 정보이며, 블록킹 플래그와 링잉 플래그로 나누어진다. 상기 블록킹 플래그는 블록 경계 근처의 블록킹 아티팩트들(artifacts)을 감소시킬 필요성 여부를 나타내며, 상기 링잉플래그는 블록킹 플래그 및 영상 에지 근처의 링잉 노이즈를 감소시킬 필요성 여부를 나타낸다. 그리고 상기 블록킹 플래그는 수평블록경계선을 기준으로 하여 인접한 블록의 픽셀들에 대한 루프 필터링 여부를 나타내는 수평블록킹 플래그(Horizontal Blocking Flag : HBF) 및 수직블록경계선을 기준으로 하여 인접한 블록의 픽셀들에 대한 루프 필터링 여부를 나타내는 수직블록킹 플래그(Vertical Blocking Flag : VBF)로 구성된다.The flag is information indicating whether loop filtering of the decoded image is necessary and is divided into a blocking flag and a ringing flag. The blocking flag indicates whether it is necessary to reduce blocking artifacts near the block boundary, and the ringing flag indicates whether it is necessary to reduce the blocking flag and ringing noise near the image edge. The blocking flag is a loop for pixels of neighboring blocks based on a horizontal block flag (HBF) and a vertical block boundary indicating whether or not loop filtering is performed on pixels of an adjacent block based on a horizontal block boundary. It consists of a vertical blocking flag (VBF) indicating whether to filter.

그리고 상기 플래그 추출은 인트라프레임 및 인터 프레임에 대해 추출한다. 본 발명에서는 상기 인터프레임은 P 프레임 및 PB 프레임으로 한다. 상기 인트라 프레임에 대한 플래그 추출은 역양자화된 상기 영상 데이터의 역양자화 계수의 분포를 이용한다. 상기 인터프레임에 대한 플래그 추출은 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하며 보다 자세한 것은 후술하기로 한다.The flag extraction is extracted for intra frames and inter frames. In the present invention, the interframe is a P frame and a PB frame. The flag extraction for the intra frame uses a distribution of inverse quantization coefficients of the dequantized image data. The flag extraction for the interframe uses a motion vector indicating a difference between a previous frame and a current frame, which will be described later.

상기 디블록킹 필터(110)는 일차원 수평 및 수직 저역통과필터(LPF)를 사용하여 상기 플래그 추출부(100)에서 추출된 블록킹 플래그를 검사하여 영상데이터를 디블록킹(deblocking) 필터링한다.The deblocking filter 110 deblocks and filters the image data by inspecting a blocking flag extracted by the flag extractor 100 using one-dimensional horizontal and vertical low pass filters (LPFs).

상기 아웃라이어 보상부(120)는 상기 디블록킹 필터(110)에서 디블록킹 필터링된 데이터 중 코너 아웃라이어를 검출하여 보상한다.The outlier compensator 120 detects and compensates for a corner outlier among deblocking filtered data by the deblocking filter 110.

상기 디링잉(deringing) 필터(130)는 이차원 신호적응필터를 사용하여 상기 플래그 추출부(100)에서 추출된 링잉 플래그를 검사하여 상기 코너 아웃라이어 보상된 데이터를 디링잉 필터링한다.The delinging filter 130 examines the ringing flag extracted by the flag extractor 100 using a two-dimensional signal adaptation filter to de-ring and filter the corner outlier compensated data.

본 발명에 의한, 영상데이터 루프 필터링 방법의 기본 개념은 영상데이터에 대해서 공간주파수(spatial frequency ) 및 시간정보(temporal information )를 사용하므로써 적응적으로 양자화 효과를 줄이는 것이다.The basic concept of the image data loop filtering method according to the present invention is to adaptively reduce the quantization effect by using spatial frequency and temporal information on the image data.

그리고 subjective image quality, PSNR 및 계산의 복잡성을 고려하고 있다. 특히 계산의 복잡성은 소프트웨어 및 하드웨어로 상기 기본 개념을 구현할 때 매우 중요한 결정요소이다. 8x8 블록마다 blocking artifacts 와 ringing noise 의 플래그를 추출하기 위해, 주파수 영역과 움직임 벡터에서의 역양자화 계수의 분포가 조사된다. 블록킹(blocking ) 플래그 및 링잉(ringing ) 플래그를 사용하므로써, 1차원 LPF와 2차원 SAF가 8x8 블록마다 적응적으로 적용된다.We consider the subjective image quality, PSNR, and computational complexity. In particular, the complexity of computation is a very important determinant when implementing the basic concepts in software and hardware. In order to extract the blocking artifacts and the ringing noise flag every 8x8 block, the distribution of inverse quantization coefficients in the frequency domain and the motion vector is examined. By using the blocking flag and the ringing flag, one-dimensional LPF and two-dimensional SAF are adaptively applied every 8x8 blocks.

먼저, 상기 플래그 추출부(100)에서의 blocking artifacts 와 ringing noise에 대한 플래그 추출에 대한 설명을 하기로 한다.First, a description will be given of flag extraction for blocking artifacts and ringing noise in the flag extractor 100.

1. 블록킹 아티팩트들 및 링잉노이즈 정보1. Blocking artifacts and ringing noise information

H.263+ 에서의 양자화효과를 감소하기 위해, 두 종류의 플래그가 정의된다. 첫째는 블록킹(blocking ) 플래그이고, 둘째는 링잉(ringing) 플래그이다. 상기 블록킹 및 링잉 플래그들은 인트라 매크로블록에서 각 8x8블록의 DCT 영역(domain)으로부터 추출된다. 또한 인터 매크로블록의 플래그는 잔차신호(residual signal) 및 기준 VOP의 플래그로부터 계산된다. 상기 플래그들은 수평블록킹 플래그(HBF), 수직블록킹 플래그(VBF), 제1링잉플래그(RF0) 및 제2링잉플래그(RF1)으로 구성된다.In order to reduce the quantization effect in H.263 +, two kinds of flags are defined. The first is the blocking flag and the second is the ringing flag. The blocking and ringing flags are extracted from the DCT domain of each 8x8 block in the intra macroblock. The flag of the inter macroblock is also calculated from the residual signal and the flag of the reference VOP. The flags include a horizontal blocking flag HBF, a vertical blocking flag VBF, a first ringing flag RF0 and a second ringing flag RF1.

A. 인트라 매크로블록(Macro Block)을 위한 플래그 정보A. Flag Information for Intra Macro Block

역양자화 후의 DCT 계수인 역양자화계수(IQC)의 분포가 디코더 및 인코더에서 조사된다. 도 2는 H.263+ 의 블록도 및 역양자화후의 DCT 계수를 도시한 것이다. 도 2의 8x8 역양자화된 블록에서, 계수 A, B 및 C가 블록킹 플래그 및 링잉 플래그를 결정하는데 사용된다.The distribution of the inverse quantization coefficient IQC, which is the DCT coefficient after inverse quantization, is examined at the decoder and the encoder. Figure 2 shows a block diagram of H.263 + and the DCT coefficients after dequantization. In the 8x8 dequantized block of Figure 2, coefficients A, B and C are used to determine the blocking flag and the ringing flag.

도 2에 도시된 8x8 블록의 64개의 픽셀 DCT 계수 중 위치 A, 즉 DC 성분의 계수만이 '0'이 아닌 값을 갖는다면, 상기 8x8 부호화된 블록의 64 픽셀은 공간 영역에서 동일한 값을 갖는다. 그러므로 DC성분만을 갖는 블록은 수평 및 수직 블록킹 artifacts 를 유발할 수 있다. 이러한 경우, 수평블록킹 플래그(HBF)와 수직블록킹 플래그(VBF) 둘다 '1'로 세팅된다.If only position A among the 64 pixel DCT coefficients of the 8x8 block illustrated in FIG. 2, that is, the coefficient of the DC component has a value other than '0', 64 pixels of the 8x8 coded block have the same value in the spatial domain. . Therefore, blocks with only DC components can cause horizontal and vertical blocking artifacts. In this case, both the horizontal blocking flag HBF and the vertical blocking flag VBF are set to '1'.

8x8 역양자화된 블록의 맨 위 열(top row) 만이 상기 top low를 구성하는 8 픽셀의 계수 중 어느 하나라도 '0'이 아닌 값을 가질 때, 각 칼럼(column)의 8개의 픽셀은 공간영역에서 동일한 값을 갖는다. 이 블록은 수직 블록킹 artifacts 를 유발하며, 따라서 VBF는 '1'로 세팅된다.When only the top row of an 8x8 dequantized block has a value other than '0' in any of the 8 pixel coefficients constituting the top low, the eight pixels of each column are space domains. Have the same value in. This block causes vertical blocking artifacts, so the VBF is set to '1'.

가장 왼쪽 칼럼 만이 상기 맨 왼쪽 칼럼을 구성하는 8픽셀의 계수 중 어느 하나라도 '0'이 아닌 값을 가질 때, 각 열(row)의 8개의 픽셀들은 공간 영역에서 동일한 값을 가진다. 이 블록은 수평 블록킹 artifacts 를 유발하며, 따라서 HBF는 '1'로 세팅된다.When only the leftmost column has a value other than '0' of any of the eight pixel coefficients constituting the leftmost column, the eight pixels of each row have the same value in the spatial domain. This block causes horizontal blocking artifacts, so HBF is set to '1'.

도 2에 도시한 A, B 및 C 이외의 위치에 어느 하나라도 '0'이 아닌 계수 값을 가질 때, 제1링잉 플래그(RF0)는 '1'로 세팅된다. 이들 고주파 계수는 블록이 영상에지(image edge)를 포함하고 있음을 뜻한다. 그러므로 이러한 블록은 고주파 성분 계수의 truncation 으로 인해 상기 영상에지 부근(around)에 링잉 노이즈를 만들어낸다. 상기 HBS, VBS 및 RS는 각 블록에서 루프 필터링을 하는데에 사용된다. 제2링잉플래그(RF0)는 인트라 매크로 블록에서는 사용되지 않는다.When any of the positions other than A, B and C shown in Fig. 2 has a coefficient value other than '0', the first ringing flag RF0 is set to '1'. These high frequency coefficients mean that the block contains image edges. Therefore, this block generates ringing noise near the image edge due to truncation of the high frequency component coefficients. The HBS, VBS and RS are used for loop filtering in each block. The second ringing flag RF0 is not used in the intra macro block.

B. 인터 매크로 블록에 대한 플래그 정보의 전파(propagation)B. Propagation of Flag Information for Inter Macro Blocks

기준 프레임(I 픽쳐 또는 P 픽쳐 또는 개선된(improved) PB 프레임의 P픽쳐 부분)에서의 블록킹 플래그는 움직임 벡터를 사용하므로써 다음(next) 인터 매크로블록에 전파된다. 또한, 인터 블록의 잔차 신호(residual signal)는 인터 블록의 플래그를 결정하는데 사용된다. 현재의 매크로블록이 스킵된(skipped) 매크로블록(COD-1)이라면, 기준 매크로 블록에서의 6개의 블록(Y용 4개, Cb 및 Cr용 각 1개)의 블록킹 플래그는 현재의 매크로블록으로 복사된다.The blocking flag in the reference frame (I picture or P picture or P picture portion of an improved PB frame) is propagated to the next inter macroblock by using a motion vector. In addition, the residual signal of the inter block is used to determine a flag of the inter block. If the current macroblock is skipped macroblock (COD-1), then the blocking flags of the six blocks (four for Y, one for each of Cb and Cr) in the reference macroblock are changed to the current macroblock. Copied.

먼저, 블록킹 플래그가 기준 프레임으로부터 인터 프레임으로 전파되는 것을 설명한다. 도 3은 인터 프레임의 8x8 블록(Ac)과 기준 프레임에서의 이웃 블록과의 관계를 도시한 것이다. 블록킹 플래그의 전파는 움직임 벡터 MVx, MVy 에 의해 다음과 같이 기술된다.First, the blocking flag is described to be propagated from the reference frame to the inter frame. 3 illustrates a relationship between an 8x8 block Ac of an inter frame and a neighboring block in a reference frame. Propagation of the blocking flag is described as follows by the motion vectors MVx and MVy.

도 3에서 Ar, Br, Cr 및 Dr은 기준 프레임의 블록들이다. Ac는 현재의 인터 프레임에서의 블록이며, X는 상기 Ac의 움직임 블록이다. 상기 움직임 블록 X는 움직임 벡터 (MVx, MVy)를 사용하므로써 추정된다. 상기 현재 블록 Ac의 HBS 및 VBS는 움직임 추정된 블록 X에 의해 겹쳐지는 기준블록의 HBS 및 VBS 를 비트 와이즈 논리곱(bit-wise AND) 연산하므로써 계산될 수 있다. 상기 AND 연산은 블록 X와 겹쳐진(overlapped) 블록 중 겹쳐진 정도가 1x1 픽셀보다 넓은 블록에 대해서 수행된다. 예를 들어, 움직임 벡터가 MVx = 5, MVy = 3.5 일 때, 움직임 추정된 블록 X는 네 개의 기준블록 Ar, Br, Cr 및 Dr과 겹쳐진다. 여기서 상기 네 개의 겹쳐진 영역은 모두 1x1 픽셀보다 넓다. 그러므로, 현재 블록 Ac의 HBS 및 VBS는 도 4에 도시된 바와 같이 네 개의 기준블록 Ar, Br, Cr 및 Dr로부터 계산될 수 있다. 여기서 '&'는 비트와이즈 논리곱(bit-wise AND) 연산을 나타낸다.In Figure 3 Ar, Br, Cr and Dr are blocks of the reference frame. Ac is a block in the current inter frame, and X is a motion block of the Ac. The motion block X is estimated by using the motion vectors MVx and MVy. The HBS and VBS of the current block Ac may be calculated by bit-wise ANDing the HBS and VBS of the reference block overlapped by the motion estimated block X. The AND operation is performed on blocks whose overlapping degree is larger than 1 × 1 pixels among blocks overlapped with block X. For example, when the motion vector is MVx = 5 and MVy = 3.5, the motion estimated block X overlaps with four reference blocks Ar, Br, Cr and Dr. The four overlapped regions are all wider than 1x1 pixels. Therefore, the HBS and VBS of the current block Ac can be calculated from four reference blocks Ar, Br, Cr and Dr as shown in FIG. Where '&' represents a bit-wise AND operation.

다음으로, 인터프레임에서의 링잉 플래그에 대해 설명한다. 우선, 인터 매크로블록의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)를 검사한다. 상기 IQC의 DC성분만이 '0'가 아니고 다른 성분은 모두 '0'일 때 Ac의 제1링잉플래그(RF0)는 '1'로 세팅된다. 그리고 상기 IQC의 AC 성분 중 하나라도 '0'가 아니면, 기준블록 Ac의 RF를 '1'로 세팅한다. 하나의 매크로블록(MB)에 대한 네 개의 움직임 벡터를 전달하는 것을 8x8 예측모드(prediction mode)라 한다. 8x8 예측모드는 디링잉필터링에서 고려된다.Next, the ringing flag in the interframe will be described. First, the inverse quantization coefficient IQC of the residual signal in the 8x8 block of the inter macroblock is examined. When only the DC component of the IQC is not '0' and all other components are '0', the first ringing flag RF0 of Ac is set to '1'. If none of the AC components of the IQC is '0', the RF of the reference block Ac is set to '1'. Transferring four motion vectors for one macroblock MB is called an 8x8 prediction mode. The 8x8 prediction mode is considered in the de-ringing filtering.

2. 플래그를 이용한 영상데이터 루프 필터링2. Image Data Loop Filtering Using Flags

한편, 디블록킹 필터(deblocking filter, 110), 코너 아웃라이어 보상부(120) 및 디링잉 필터(130)에 대해 구체적으로 설명하기로 한다.Meanwhile, the deblocking filter 110, the corner outlier compensator 120, and the deringing filter 130 will be described in detail.

2.1. blocking artifacts 감소를 위한 디블록킹 필터2.1. Deblocking filter for reducing blocking artifacts

blocking artifacts 감소를 위한 일차원 저역통과필터(LPF)는 수평 경계 및 수직 경계 상의 블록킹 플래그에 따라 강하게(strongly )또는 약하게(weakly) 수행된다. blocking artifacts 를 줄이기 위해, 대부분의 디블록킹(deblocking) 방법들은 영상에지(image-edge) 정보를 계산하고, 상기 영상에지에 기반한 저역통과필터(LPF)를 적응적으로 적용한다. 그러나 본 발명에 의한 디블록킹 방법은 상기에서 구한 블록킹 플래그를 이용하기 때문에 많은 계산량을 요구하는 영상에지검출을 필요로 하지 않는다.One-dimensional low pass filter (LPF) for reducing blocking artifacts is performed strongly or weakly according to the blocking flag on the horizontal boundary and the vertical boundary. In order to reduce blocking artifacts, most deblocking methods calculate image-edge information and adaptively apply a low pass filter (LPF) based on the image edge. However, the deblocking method according to the present invention does not require image edge detection, which requires a large amount of computation since the blocking flag obtained above is used.

처리되어야 할 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에 적용된다. 수평 디블록킹 필터링을 알고리즘으로 나타내면 다음과 같다.8x8 blocks and neighboring blocks to be processed are shown in FIG. If both HBF of Block-I and HBF of Block-J are set to '1', the 7-tap (1,1,1,2,1,1,1) LPF is It applies to pixels A, B, C, D, E and F on the horizontal block boundary of FIG. The horizontal deblocking filtering algorithm is as follows.

if(BLOCK_I == NOT coded && BLOCK_J NOT coded) No deblocking filter ;if (BLOCK_I == NOT coded && BLOCK_J NOT coded) No deblocking filter;

if(INTRA frame) {if (INTRA frame) {

if(RF0 of BLOCK_I == 0 && RF of BLOCK_J == 0) {/* No Ringing Noise */}if (RF0 of BLOCK_I == 0 && RF of BLOCK_J == 0) {/ * No Ringing Noise * /}

if(HBF of BLOCK_I == 1 && HBF of BLOCK_J == 1)if (HBF of BLOCK_I == 1 && HBF of BLOCK_J == 1)

strong deblocking filtering ;strong deblocking filtering;

elseelse

weak deblocking filtering ;weak deblocking filtering;

}}

else weak deblocking filtering ;else weak deblocking filtering;

}}

if (P or PB_frame) {if (P or PB_frame) {

if(RF of BLOCK_I == 0){ /* No Ringing Noise */if (RF of BLOCK_I == 0) {/ * No Ringing Noise * /

if(BLOCK_I == INTRA || BLOCK_J == INTRA) {if (BLOCK_I == INTRA || BLOCK_J == INTRA) {

if(HBF of BLOCK I ++ 1 && HBF of BLOCK_J == 1)if (HBF of BLOCK I ++ 1 && HBF of BLOCK_J == 1)

strong deblocking filtering ;strong deblocking filtering;

elseelse

weak deblocking filtering ;weak deblocking filtering;

}}

else{else {

if (RF0 of BLOCK I == 1 || RF0 of BLOCK J == 1){if (RF0 of BLOCK I == 1 || RF0 of BLOCK J == 1) {

if(HBS of BLOCK_I==1 && HBF of BLOCK_J==1)if (HBS of BLOCK_I == 1 && HBF of BLOCK_J == 1)

strong delbocking filtering ;strong delbocking filtering;

elseelse

weak deblocking filtering ;weak deblocking filtering;

}}

}}

}}

else /* Ringing Noise */else / * Ringing Noise * /

weak deblocking filtering ;weak deblocking filtering;

}}

상기 알고리즘을 설명하면, 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 상기 블록 I에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이고, 상기 블록 J에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이면, 디블록킹(deblocking) 필터링을 수행하지 않는다.In the above algorithm, when a predetermined block constituting the frame to be loop-filtered is called block I, and a block adjacent to the block I is called block J, the previous block dequantized with the current block with respect to the block I If the difference between the blocks is equal to or less than a predetermined value and the difference between the current block and the previous block dequantized for the block J is less than or equal to the predetermined value, deblocking filtering is not performed.

인트라 프레임일 경우, 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 블록 I 및 블록 J의 링잉플래그(RF0)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링(strong deblocking filtering)을 수행한다.In the case of an intra frame, deblocking filtering to reduce blocking artifacts is a block I and a block J when a block constituting the frame to be loop filtered is called block I, and a block adjacent to the block I is called block J. If the ringing flag of RF0 indicates that there is no need to reduce ringing noise, and both the HBF of block I and the HBF of block J indicate that it is necessary to reduce blocking artifacts, then the horizontal boundary between block I and block J Strong deblocking filtering is performed to change a predetermined number of pixel values between block boundaries.

블록 I 및 블록 J의 링잉플래그(RF0)가 모두 링잉노이즈를 감소시킬 필요가 없음을 나타내고 블록 I의 HBF와 블록 J의 HBF 둘 중 적어도 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 또는 블록 I 및 블록 J의 링잉플래그(RF) 중 적어도 하나가 링잉노이즈를 감소시킬 필요가 있음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링(weak deblocking filtering)을 수행한다.If both the ringing flags (RF0) of block I and block J indicate that there is no need to reduce ringing noise and at least one of the HBF of block I and the HBF of block J does not need to reduce blocking artifacts, or block If at least one of the ringing flags (RF) of I and block J indicates that the ringing noise needs to be reduced, the difference between two adjacent pixels across the horizontal block boundary and the QP, the quantized factor of H.263, are When the difference between the two pixels is smaller than the QP, the second filtering (weak deblocking filtering) is performed to change the number of pixel values smaller than the first filtering.

그리고 수직블록 경계선을 사이에 둔 픽셀에 대해서는 상기 수직 블록킹 플래그(VBF)를 이용하여 상기 수평블록 경계선을 사이에 둔 픽셀과 같은 방식으로 필터링을 한다.Pixels having a vertical block boundary line are filtered in the same manner as pixels having the horizontal block boundary line using the vertical blocking flag VBF.

한편, 인터프레임(P 또는 PB 프레임)일 경우, 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은 블록 I의 제2링잉플래그(RF1)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링(strong deblocking filtering)을 수행한다.On the other hand, in the case of an interframe (P or PB frame), deblocking filtering to reduce blocking artifacts indicates that the second ringing flag RF1 of block I does not need to reduce ringing noise, and block I is INTRA or If block J is INTRA and indicates that both the HBF of block I and the HBF of block J need to reduce blocking artifacts, change a predetermined number of pixel values between the horizontal block boundaries that border block I and block J. Strong deblocking filtering is performed.

블록 I의 제2링잉플래그(RF1)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘 중 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링(weak deblocking filtering)을 수행한다.The second ringing flag RF1 of block I indicates that there is no need to reduce ringing noise, block I is INTRA or block J is INTRA, and either HBF of block I or HBF of block J reduces blocking artifacts. If the difference between the two adjacent pixels and the QP, which is the quantized factor of H.263, is intersected with the horizontal block boundary line, the number is smaller than the first filtering. Weak deblocking filtering is performed to change the pixel value of.

블록 I의 제2링잉플래그(RF1)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J 둘 중 하나의 RF0가 1임을 나타내고, 블록 I 및 블록 J가 둘다 HBF가 '1'이면 제1필터링(strong deblocking filtering)을 수행한다.The second ringing flag RF1 of block I indicates that there is no need to reduce ringing noise, block I and block J are both INTRA, and that RF0 of either block I and block J is 1, block I and If the blocks J are both HBF is '1', the first filtering (strong deblocking filtering) is performed.

블록 I의 링잉플래그(RF)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J 둘 중 하나의 RF0가 1임을 나타내고, 블록 I 및 블록 J 의 중 적어도 하나의 HBF가 '0'을 나타내면 제2필터링(weak deblocking filtering)을 수행한다.The ringing flag (RF) of block I indicates that there is no need to reduce ringing noise, both block I and block J are not INTRA, indicating that RF0 of either block I and block J is 1, block I and block J When at least one of HBFs indicates '0', second filtering is performed.

블록 I의 RF 1이 0 이 아니면 제2필터링(weak deblocking filtering)을 수행한다.If the RF 1 of the block I is not 0, the second filtering is performed.

상기 블록 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) 저역통과필터링을 수행한다.Six pixels having a horizontal block boundary line between the block I and block J are A, B, C, D, E, and F, and the pixels C and D are pixels closest to the horizontal block boundary line, and When pixels A and F are pixels farthest from the horizontal block boundary, and pixels B and D are pixels located in the middle of A and C, D and F, the first filtering is 7-tap for the six pixels. Perform (1,1,1,2,1,1,1) low pass filtering.

상기 제2필터링은 상기 픽셀 C 및 D에 대해 필터링을 수행하되, 상기 픽셀 C 및 D의 차의 절대값이 H.263의 양자화 요소(factor) QP보다 작다면, C는 C+(D-C)/4로, D는 D+(D-C)/4로 대체한다.The second filtering performs filtering on the pixels C and D, but if the absolute value of the difference between the pixels C and D is less than the quantization factor QP of H.263, C is C + (DC) / 4 D is replaced by D + (DC) / 4.

2.2. 코너 아웃라이어 보상부(corner outliers )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 의 픽셀 값들이다.Compensation of the corner outliers is performed only in the INTRA frame. The corner outliers are characterized by pixels that are much larger or smaller than neighboring pixels at the corner point of the 8x8 block as shown in FIG. In FIG. 6 (a), when the dark-gray area is distributed over four blocks and one or two pixels of the dark-gray area are located at corner points of neighboring blocks, the corner points are shown in FIG. 6 (b). As shown, it may be distorted by quantization of the DCT coefficients. This distorted corner point is called corner outlier. The corner outlier cannot be removed with the deblocking filter and the deringing filter. To reduce the corner outliers, the corner outliers are first detected and then the detected corner outliers are compensated for. 6 (c) describes a simple coordination for corner outlier detection. Where A, B, C and D are the pixel values of the corner points of the 8x8 block.

먼저, 상기 corner outlier 검출을 위한 알고리즘은 다음과 같이 나타낼 수 있다.First, the algorithm for detecting the corner outlier can be expressed as follows.

value[0] = A; value[1] = B;value [0] = A; value [1] = B;

value[2] = C; value[3] = D;value [2] = C; value [3] = D;

Average = (A+B+C+D+2)/4;Average = (A + B + C + D + 2) / 4;

Count = 0;Count = 0;

for(m=0; m<4; m++)for (m = 0; m <4; m ++)

if (|value[m]-Average| > QP)if (| value [m] -Average |> QP)

Count ++ ; /* 후보 points 의 개수 */Count ++; / * Number of candidate points * /

여기서 QP는 H.263의 양자화 요소(quantization factor)이다.Where QP is the quantization factor of H.263.

상기 'Count'는 코너아웃라이어 후보픽셀의 수를 저장하는 변수이다. 만일 상기 Count 가 '0'라면, 코너 아웃라이어는 없다. 만일 A만이 도 6(c)에서 후보 point 이고, |A - A3|가 3QP/2보다 작다면, 코너 아웃라이어 보상은 A, A1및 A2상에 다음과 같이 수행된다. A에 대해 보상된 값을 A', A1에 대해 보상된 값을 A'1, A2에 대해 보상된 값을 A'2라 하면, 상기 A', A'1및 A'2는 수학식 1과 같이 결정된다.'Count' is a variable that stores the number of corner outlier candidate pixels. If the Count is '0', there is no corner outlier. If only A is the candidate point in Fig. 6 (c) and | A-A 3 | is less than 3QP / 2, the corner outlier compensation is performed on A, A 1 and A 2 as follows. When the value compensated for A is A ', the value compensated for A 1 is A' 1 , and the value compensated for A 2 is A ' 2 , the A', A ' 1 and A' 2 are Is determined as 1.

A' = (4A + B + C + 2D + 4)/8A '= (4A + B + C + 2D + 4) / 8

A'1= (A' + 3A1+2)/4A ' 1 = (A' + 3A 1 +2) / 4

A'2= (A' + 3A2+ 2)/4A ' 2 = (A' + 3A 2 + 2) / 4

후보 point 갯수가 두 개 이상이면, (A3+ B3+ C3+ D3+ 2)/4 로부터 가장 큰 차이를 갖는 후보가 선택되고, 코너 아웃라이어 보상은 상기 하나의 후보 경우에서와 같은 방법으로 그 point 상에 수행된다.If the number of candidate points is two or more, the candidate with the largest difference from (A 3 + B 3 + C 3 + D 3 + 2) / 4 is selected, and the corner outlier reward is the same as in the one candidate case. Method is performed on that point.

2.3 링잉노이즈 감소를 위한 디링잉 필터(deringing filter)2.3 Delinging filter to reduce ringing noise

각 블록에 대해 디링잉 필터를 적용하기 전에, 링잉플래그 즉 RF0 및 RF1을 조사한다. 먼저, 링잉노이즈를 감소시키는 디링잉필터링의 수행여부를 판단하는 알고리즘은 나타내면 다음과 같다.Before applying the de-ring filter for each block, examine the ringing flag, RF0 and RF1. First, an algorithm for determining whether to perform de-ringing filtering that reduces ringing noise is as follows.

if(BLOCK_I == NOT coded) No deringing filtering ;if (BLOCK_I == NOT coded) No deringing filtering;

if(INTRA frame) {if ( INTRA frame ) {

if(RF0 of BLOCK_I == 1) deringing filtering ;if (RF0 of BLOCK_I == 1) deringing filtering;

else No deringing filtering ;else No deringing filtering;

}}

if(P or PB-frame) {if ( P or PB-frame ) {

if(BLOCK_I == INTRA_BLOCK) deringing filtering ;if (BLOCK_I == INTRA_BLOCK) deringing filtering;

else {else {

if(BLOCK_I==INTER4V_BLOCK) deringing filtering ;if (BLOCK_I == INTER4V_BLOCK) deringing filtering;

else {else {

if(RF1 of BLOCK_I == 1) deringing filtering ;if (RF1 of BLOCK_I == 1) deringing filtering;

else No deringing filtering ;else No deringing filtering;

}}

}}

}}

상기 링잉노이즈를 감소시키는 디링잉필터링의 수행여부 알고리즘을 설명하면 다음과 같다.The algorithm for performing de-ringing filtering to reduce the ringing noise is as follows.

블록 I에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이고, 상기 블록 J에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이면, 디링잉(deringing ) 필터링을 수행하지 않는다.If the difference between the current block and the de-quantized previous block for block I is less than or equal to a predetermined value, and the difference between the current block and the de-quantized previous block for block J is less than or equal to a predetermined value, then deringing Do not perform filtering.

인트라 프레임일 경우, 링잉노이즈를 감소시키는 디링잉필터링 수행여부는 블록 I의 링잉플래그가 디링잉 필터링이 필요함을 나타내는지 검사하여, 디링잉 필터링이 필요함을 나타내면 디링일 필터링을 수행하고, 그렇지 않으면 디링잉필터링을 수행하지 않는다.In the case of intra frame, de-ringing filtering to reduce ringing noise is performed to check whether the ringing flag of block I indicates that de-ringing filtering is required, performing de-ringing filtering if de-ringing filtering is required, and Do not perform ringing filtering.

다음으로 인터프레임 경우, 링잉노이즈를 감소시키는 디링잉필터링 수행여부는 블록 I가 인트라 블록이면 디링잉 필터링을 수행한다. 상기 블록 I가 인트라 블록이 아니고, 8x8 예측모드를 사용한 블록이면 디링잉 필터링을 수행한다. 상기 상기 블록 I가 인트라 블록이 아니고 8x8 예측모드를 사용한 블록이 아니고, 블록 I의 RF1이 디링잉필터링이 필요함을 나타내면 디링잉필터링을 수행하고, 블록 I의 RF1이 디링잉필터링이 필요치 않음을 나타내면 디링잉필터링을 수행하지않는다.Next, in the case of interframe, de-ringing filtering that reduces ringing noise is performed if the block I is an intra block. If the block I is not an intra block and is a block using an 8x8 prediction mode, de-ringing filtering is performed. If the block I is not an intra block and is not a block using an 8x8 prediction mode, and the RF1 of the block I indicates that the de-ringing filtering is required, the de-ringing filtering is performed, and the RF1 of the block I indicates that the de-ringing filtering is not necessary. Do not perform de-ringing filtering.

디링잉필터링은 에지검출과 2차원 신호적응필터링(2-D SAF)에 의해 행해진다. 이미지 details 가 필터링에 의해 왜곡되는 것을 방지하기 위해, 필터링 전에 간단한 에지검출이 수행된다. 도 7a 및 도 7b에 도시된 바와 같이 링잉노이즈를 감소시키기 위해, 에지검출 및 2차원 신호적응 필터링(2-D SAF)은 상술한 조건이 만족되는 경우에 8x8 블록에 적용된다.De-ringing filtering is performed by edge detection and two-dimensional signal adaptive filtering (2-D SAF). To prevent the image details from being distorted by the filtering, simple edge detection is performed before filtering. In order to reduce ringing noise as shown in Figs. 7A and 7B, edge detection and two-dimensional signal adaptive filtering (2-D SAF) are applied to an 8x8 block when the above conditions are met.

먼저, 에지 검출에 대해 설명한다. 영상 에지(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'로 된다.First, edge detection will be described. To find the image edge, one-dimensional horizontal and vertical gradient operators are applied to the reconstructed block. The threshold value for determining the edge pixel is selected from the quantization factor QP of H.263. In order for a two-dimensional SAF to be applied to 8x8 pixels, edge information must be obtained for a 10x10 block in the current block as shown in FIG. 8B. Horizontal edge detection includes pixel [m] [n], right pixel of pixel [m] [n], pixel [m] [n + 1], left pixel [m] [n-1], and pixel [ the difference between m] [n] and pixel [m] [n + 1] is A1, and the difference between pixel [m] [n] and pixel [m] [n-1] is A2 and H.263. When factor) is QP, if the conditional expressions ((A1> QP) and (A2> QP)) or (A1> 2QP) or (A2> 2QP) are satisfied, it is detected as an edge and edge [m] [n] = 1 The vertical edge detection includes pixel [m] [n], pixel [m + 1] [n] above the pixel [m] [n], pixel [m-1] [n] below the pixel, and pixel The difference between [m] [n] and pixel [m + 1] [n] is A'1, and the difference between pixel [m] [n] and pixel [m-1] [n] is A'2, H. If the quantization factor of 263 is QP, the conditional expression ((A'1> QP) and (A'2> QP)) or (A'1> 2QP) or (A'2> 2QP) is satisfied. , Edge is detected, and edge [m] [n] = '1'.

이상의 에지맵 Edge[m][n]을 픽셀값 pixel[m][n]으로부터 생성하는 알고리즘으로 표현하면 다음과 같다.The above-described edge map Edge [m] [n] is expressed by an algorithm generated from the pixel value pixel [m] [n] as follows.

/* 수평 에지 검출 *// * Horizontal edge detection * /

A1 = |pixel[m][n] - pixel[m][n+1]| ;A1 = | pixel [m] [n]-pixel [m] [n + 1] | ;

A2 = |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))if (((A1> QP) and (A2> QP)) or (A1> 2QP) or (A2> 2QP))

Edge[m][n] = 1 ;Edge [m] [n] = 1;

else { /* 수직 에지 검출 */else {/ * vertical edge detection * /

A1 = |pixel[m][n] - pixel[m+1][n]| ;A1 = | pixel [m] [n]-pixel [m + 1] [n] | ;

A2 = |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))if (((A1> QP) and (A2> QP)) or (A1> 2QP) or (A2> 2QP))

Edge[m][n] = 1 ;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차원 필터링 연산은 수행되지 않는다.(도 7b의 예 1) 4-connected 필터 윈도우에서 에지 point가 포함되어 있지 않으면, 저역통과 필터링이 수행된다. (도 7b의 예 2) 만일 중심점 상에 있지 않는 어떤 에지 point 들이 4-connected filter window 에 있으면, 에지 픽셀들을 제외한 가중 필터링이 수행된다.(도 7b의 예 3) 가중 factor들이 계산의 복잡성을 고져하여 정의되며, 따라서 SAF 필터링이 표 1에 도시된 바와 같이 간단한 이동(shift) 및 가산(addition ) 연산에 의해 수행된다.Next, delinging filtering using a 2D signal adaptation filter (SAF) will be described. The de-ring filtering is for smoothing ringing noise without significant loss of image details. De-ringing filtering according to the present invention is a simple convolution operation in which the weighting factor for the convolution changes according to an edge map. The SAF is applied to a block decoded by using Edge [m] [n]. 7A shows a kernel for a two dimensional SAF. If the center point A of the filter window in Fig. 7B is an edge pixel, the two-dimensional filtering operation is not performed. (Example 1 of Fig. 7B) If no edge point is included in the 4-connected filter window, low pass filtering is performed. . (Example 2 of FIG. 7B) If any edge points that are not on the center point are in the 4-connected filter window, weighted filtering is performed except for edge pixels. (Example 3 of FIG. 7B) Weighting factors increase the complexity of the calculation. Therefore, SAF filtering is performed by simple shift and addition operations as shown in Table 1.

3. 블록킹 플래그의 패딩(Padding)3. Padding of Blocking Flags

QCIF의 경우, Y를 위한 블록킹 플래그(Bf_Y)는 22x18 어레이로 구성되고, Cb를 위한 블록킹 플래그(Bf_Cb) 및 Cr을 위한 블록킹 플래그(Bf_Cr)은 11x9 어레이로 구성된다. 여기서 각 엘리멘트는 각 블록의 노이즈 정보를 가지고 있다. 그러나 비제한 움직임벡터 모드(Unrestricted Motion Vector mode)가 사용되면, 움직임 벡터는 픽쳐의 바깥으을 가리키는 것이 허용된다. 따라서, 움직임 벡터들이 픽쳐의 바깥을 가리키는 것을 허용하기 위해 Bf_Y, Bf_Cb 및 Bf_Cr 패딩이 이루어진다. Bf_Y의 경우, Bf_Y를 확장하기 위해, Bf_Y의 top/bottom row element 들은 수직적으로 복사된다. 그리고 수직반복 패딩이 되고 나면 수평적인 반복 패딩이 far left/right column elements 상에 수행된다. 마지막으로 원(original) Bf_Y 크기가 MxN 이라고 가정하면, 패딩이 이루어지면 크기는 (M+8)x(N+8)이 된다. 마찬가지로 Bf_Cb 및 Bf_Cr의 원래의 크기가 M/2 x N/2라고 하면, 패딩이 이루어지면 (M/2 + 4) x (N/2 +4)가 된다. 도 8은 Bf_Y 패딩의 결과를 도시한 것이다. 여기서 Bf_Y의 패딩은 참조번호 1,2,3,4 순서로 이루어진다. 상기 패딩은 여러 가지 방법이 있을 수 있지만, 그 일예로 기준 프레임의 블록킹 플래그를 복사함으로써 이루어질 수 있다. 그리고 상기 패딩은 루프필터링하고자하는 새로운 프레임이 들어오면 먼저 이루어지고 난 후, 움직임벡터를 이용하여 블록킹 플래그를 추출할 때, 상기 패딩된 블록킹 플래그를 이용해서 해당 매크로 블록의 블록킹 플래그를 구한다.In the case of QCIF, the blocking flag Bf_Y for Y is configured in a 22x18 array, and the blocking flag Bf_Cb for Cb and the blocking flag Bf_Cr for Cr are configured in an 11x9 array. Here, each element has noise information of each block. However, if Unrestricted Motion Vector mode is used, the motion vector is allowed to point out of the picture. Thus, Bf_Y, Bf_Cb and Bf_Cr padding are made to allow the motion vectors to point out of the picture. In the case of Bf_Y, the top / bottom row elements of Bf_Y are copied vertically to extend Bf_Y. After the vertical repeat padding, horizontal repeat padding is performed on the far left / right column elements. Finally, assuming that the original Bf_Y size is MxN, the size becomes (M + 8) x (N + 8) when padding is performed. Similarly, if the original sizes of Bf_Cb and Bf_Cr are M / 2 x N / 2, then the padding is (M / 2 + 4) x (N / 2 +4). 8 shows the results of Bf_Y padding. Here, the padding of Bf_Y is made in the order of reference numerals 1,2,3,4. The padding may be in various ways, but may be achieved by copying the blocking flag of the reference frame. The padding is performed first when a new frame to be loop filtered is input, and then, when the blocking flag is extracted using the motion vector, the blocking flag of the macroblock is obtained using the padding blocking flag.

AA BB CC DD EE SAFSAF 00 00 00 00 00 A = (4A+B+C+D+E+4)/8A = (4A + B + C + D + E + 4) / 8 00 00 00 00 1One A = (4A+B+2C+D+4)/8A = (4A + B + 2C + D + 4) / 8 00 00 00 1One 00 A = (4A+2B+C+D+4)/8A = (4A + 2B + C + D + 4) / 8 00 00 00 1One 1One A = (2A+B+C+2)/4A = (2A + B + C + 2) / 4 00 00 1One 00 00 A = (4A+B+D+2E+4)/8A = (4A + B + D + 2E + 4) / 8 00 00 1One 00 1One A = (2A+B+D+2)/4A = (2A + B + D + 2) / 4 00 00 1One 1One 00 A = (2A+B+E+2)/4A = (2A + B + E + 2) / 4 00 00 1One 1One 1One A = (A+B+1)/2A = (A + B + 1) / 2 00 1One 00 00 00 A = (4A+C+2D+E+4)/8A = (4A + C + 2D + E + 4) / 8 00 1One 00 00 1One A = (2A+C+D+2)/4A = (2A + C + D + 2) / 4 00 1One 00 1One 00 A = (2A+C+E+2)/4A = (2A + C + E + 2) / 4 00 1One 00 1One 1One A = (A+C+1)/2A = (A + C + 1) / 2 00 1One 1One 00 00 A = (2A+D+E+2)/4A = (2A + D + E + 2) / 4 00 1One 1One 00 1One A = (A+D+1)/2A = (A + D + 1) / 2 00 1One 1One 1One 00 A = (A+E+1)/2A = (A + E + 1) / 2 00 1One 1One 1One 1One A = AA = A

표 1에서 '0'은 nonedge 를 나타내고, '1'은 edge 를 나타낸다.In Table 1, '0' represents nonedge and '1' represents edge.

한편, 상술한 본 발명의 실시예는 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하다. 그리고 컴퓨터에서 사용되는 매체로부터 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 매체는 마그네틱 저장매체(예:롬, 플로피디스크, 하드 디스크 등), 광학적 판독 매체(예:CD-ROM, DVD 등) 및 캐리어 웨이브(예:인터넷을 통해 전송)와 같은 저장매체를 포함한다.On the other hand, the embodiments of the present invention described above can be written as a program that can be executed on a computer. And it can be implemented in a general-purpose digital computer for operating the program from a medium used in the computer. The media includes storage media such as magnetic storage media (e.g. ROM, floppy disks, hard disks, etc.), optical reading media (e.g. CD-ROM, DVD, etc.) and carrier waves (e.g., transmitted over the Internet). .

예를 들어, 상기 기록매체는 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법은, 영상데이터의 루프 필터링 필요성 여부를 나타내는 블록킹 플래그 및 링잉플래그를 추출하는 플래그 추출단계가 컴퓨터에 의해 수행되는 코드수단; 및 상기 플래그가 루프 필터링이 필요함을 나타내면 영상데이터를 필터링하는 필터링 단계가 컴퓨터에 의해 수행되는 코드수단을 포함함을 특징으로 한다. 상기 영상데이터가 인터프레임일 경우, 현재 인터 프레임의 블록킹 플래그는 수평 블록킹 플래그 및 수직 블록킹 플래그로 이루어지고, 상기 인터프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은 기준 프레임이 소정의 기준블록들로 이루어지고, 현재 인터 프레임의 블록(Ac)의 움직임 벡터 (MVx, MVy)에 의해 추정되는 기준프레임의 블록을 움직임 블록(X)이라 할 때, 움직임 블록(X)이 상기 기준블록들과 겹쳐진 픽셀수가 소정 개수 이상인 기준블록들의 수평 블록킹 플래그(HBF) 및 수직 블록킹 플래그(VBF)를 비트-와이즈 논리곱하여 현재 VOP의 블록(Ac)의 수평 및 수직 블록킹 플래그로 세팅하는 단계; 및 현재 매크로블록의 움직임 벡터가 0인 스킵된 매크로블록(skipped MB)이면 기준 매크로블록의 블록킹 플래그를 현재 매크로블록의 블록킹 플래그로 세팅하는 단계를 포함하여 이루어진다.For example, the loop filtering method for reducing the quantization effect generated when the recording medium encodes and decodes the image data may include: extracting a blocking flag and a ringing flag indicating whether loop filtering of the image data is necessary; Code means performed by; And if the flag indicates that loop filtering is required, the filtering means for filtering the image data is performed by a computer. When the image data is an interframe, the blocking flag of the current interframe consists of a horizontal blocking flag and a vertical blocking flag. The horizontal and vertical blocking flag extraction for the block Ac of the interframe is based on a predetermined reference frame. When a block of a reference frame consisting of blocks and estimated by the motion vectors MVx and MVy of the block Ac of the current inter frame is called a motion block X, the motion block X is the reference blocks. Bit-wise ORing the horizontal blocking flag HBF and the vertical blocking flag VBF of the reference blocks having a predetermined number of pixels overlapping with each other and setting the horizontal and vertical blocking flags of the block Ac of the current VOP; And setting the blocking flag of the reference macroblock to the blocking flag of the current macroblock when the motion vector of the current macroblock is 0 skipped MB.

그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

고압축된 영상데이터를 복원할 때, 블록킹 아티팩트들, 코너아웃라이어 및 링잉노이즈와 같은 양자화 효과를 발생된다. 본 발명에 의한 루프 필터링방법은 플래그와 적응필터를 사용하므로써 양자화 효과를 감소시킨다. 각 블록의 블록킹 및 링잉 플래그는 루프 필터링(loop filtering )의 계산량을 줄이는데 큰 도움이 된다. 현 블록에 대한 블록킹 및 링잉 플래그를 추출하기 위해서는, 인터 프레임 의 움직임 벡터가 사용된다.When reconstructing the high compressed image data, quantization effects such as blocking artifacts, corner outliers, and ringing noise are generated. The loop filtering method according to the present invention reduces the quantization effect by using a flag and an adaptive filter. The blocking and ringing flags of each block are very helpful in reducing the amount of computation of loop filtering. In order to extract the blocking and ringing flag for the current block, the motion vector of the inter frame is used.

비디오 코딩에서, 고품질의 영상 및 하드웨어 및 소프트웨어로의 구현의 용이성을 위해서는 계산의 복잡성 및 PSNR 이 고려되어야 한다. 하드웨어 복잡성 측면에서, 본 발명에 의한 방법은 곱셈과 나눗셈 없이 병렬처리에 의해 수행될 수 있다.In video coding, computational complexity and PSNR must be taken into account for high quality images and ease of implementation in hardware and software. In terms of hardware complexity, the method according to the invention can be performed by parallel processing without multiplication and division.

본 발명에 의한 루프 필터링(loop filtering ) 방법은 영상 details 를 유지하면서 subjective quality 을 크게 향상시키기 때문에 광범위하게 사용될 수 있다.The loop filtering method according to the present invention can be widely used because it greatly improves subjective quality while maintaining image details.

Claims (10)

영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법에 있어서,In the loop filtering method for reducing the quantization effect generated when encoding and decoding image data, 영상데이터의 루프 필터링 필요성 여부를 나타내는 블록킹 플래그 및 링잉플래그를 추출하는 플래그 추출단계; 및 상기 플래그가 루프 필터링이 필요함을 나타내면 영상데이터를 필터링하는 필터링 단계를 포함함을 특징으로 하고,A flag extraction step of extracting a blocking flag and a ringing flag indicating whether loop filtering of image data is necessary; And filtering the image data when the flag indicates that loop filtering is required. 상기 영상데이터가 인터프레임일 경우, 현재 인터 프레임의 블록킹 플래그는 수평 블록킹 플래그 및 수직 블록킹 플래그로 이루어지고,When the image data is an interframe, the blocking flag of the current interframe includes a horizontal blocking flag and a vertical blocking flag. 상기 인터프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은 기준 프레임이 소정의 기준블록들로 이루어지고, 현재 인터 프레임의 블록(Ac)의 움직임 벡터 (MVx, MVy)에 의해 추정되는 기준프레임의 블록을 움직임 블록(X)이라 할 때, 움직임 블록(X)이 상기 기준블록들과 겹쳐진 픽셀수가 소정 개수 이상인 기준블록들의 수평 블록킹 플래그(HBF) 및 수직 블록킹 플래그(VBF)를 비트-와이즈 논리곱하여 현재 VOP의 블록(Ac)의 수평 및 수직 블록킹 플래그로 세팅하는 단계; 및 현재 매크로블록의 움직임 벡터가 0인 스킵된 매크로블록(skipped MB)이면 기준 매크로블록의 블록킹 플래그를 현재 매크로블록의 블록킹 플래그로 세팅하는 단계를 포함하여 이루어지는, 영상데이터 루프필터링 방법.The horizontal and vertical blocking flag extraction for the block Ac of the interframe is based on a reference frame consisting of predetermined reference blocks and a reference estimated by the motion vectors MVx and MVy of the block Ac of the current interframe. When a block of a frame is referred to as a motion block X, bit-wise the horizontal blocking flag HBF and the vertical blocking flag VBF of the reference blocks whose motion blocks X overlap with the reference blocks by a predetermined number or more. ORing and setting the horizontal and vertical blocking flags of the block Ac of the current VOP; And setting the blocking flag of the reference macroblock to the blocking flag of the current macroblock if the motion vector of the current macroblock is 0 (skipped MB). 제1항에 있어서, 상기 현재 인터 프레임의 블록(Ac)에 대한 수평 및 수직 블록킹 플래그 추출은 먼저 기준블록의 블록킹 플래그를 복사하여 패딩을 하는 단계를 더 구비함을 특징으로 하는 영상데이터 루프필터링 방법.The method of claim 1, wherein the horizontal and vertical blocking flag extraction for the block Ac of the current inter frame further comprises copying the blocking flag of the reference block and padding. . 제1항 또는 제2항에 있어서, 상기 겹쳐진 픽셀 수의 소정 개수는The method of claim 1 or 2, wherein the predetermined number of overlapped pixels is 1x1 픽셀임을 특징으로 하는 양자화 효과 감소를 위한 영상데이터 루프필터링 방법.An image data loop filtering method for reducing quantization effects, characterized in that 1x1 pixels. 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프필터링 방법에 있어서,In the loop filtering method for reducing the quantization effect generated when encoding and decoding image data, 영상데이터의 루프 필터링 필요성 여부를 나타내는 블록킹 플래그 및 링잉플래그를 추출하는 플래그 추출단계; 및A flag extraction step of extracting a blocking flag and a ringing flag indicating whether loop filtering of image data is necessary; And 상기 플래그가 루프 필터링이 필요함을 나타내면 영상데이터를 필터링하는 필터링 단계를 포함함을 특징으로 하고,And if the flag indicates that loop filtering is required, filtering the image data. 상기 영상데이터가 인터프레임일 경우 상기 인터프레임의 링잉플래그는If the image data is an interframe, the ringing flag of the interframe is 제1링잉플래그(RF0) 및 제2링잉플래그(RF1)으로 이루어지며,It consists of a first ringing flag (RF0) and a second ringing flag (RF1), 현재 인터프레임의 블록(Ac)에 대한 상기 제1링잉 플래그(RF0) 및 제2링잉플래그(RF1)의 추출은Extraction of the first ringing flag RF0 and the second ringing flag RF1 for the block Ac of the current interframe 인터 매크로블록의 8x8 블록에서 잔차신호의 역양자화계수(IQC)의 DC 성분 만이 '0'이 아니면, 현재블록(Ac)의 제1링잉플래그(RF0)를 '1'로 세팅하고, 그렇지 않으면 RF0를 0 으로 하는 단계; 및If only the DC component of the inverse quantization coefficient (IQC) of the residual signal in the 8x8 block of the inter macroblock is not '0', the first ringing flag RF0 of the current block Ac is set to '1', otherwise RF0 To 0; And 인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)의 AC 성분 중 하나라도 '0'이 아니면, 현재블록(Ac)의 링잉플래그(RF)를 '1'로 세팅하고, 그렇지 않으면 RF를 '0' 으로 하는 단계로 이루어짐을 특징으로 하는 영상데이터 루프필터링 방법.If any of the AC components of the inverse quantization coefficient (IQC) of the residual signal in the 8x8 block of the inter frame is not '0', the ringing flag (RF) of the current block (Ac) is set to '1', otherwise RF The image data loop filtering method comprising the step of setting '0'. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 영상데이터가 인터프레임일 경우 상기 인터프레임의 링잉플래그는If the image data is an interframe, the ringing flag of the interframe is 제1링잉플래그(RF0) 및 제2링잉플래그(RF1)으로 이루어지며,It consists of a first ringing flag (RF0) and a second ringing flag (RF1), 현재 인터프레임의 블록(Ac)에 대한 상기 제1링잉 플래그(RF0) 및 제2링잉플래그(RF1)의 추출은 인터 매크로블록의 8x8 블록에서 잔차신호의 역양자화계수(IQC)의 DC 성분 만이 '0'이 아니면, 현재블록(Ac)의 제1링잉플래그(RF0)를 '1'로 세팅하고, 그렇지 않으면 RF0를 0 으로 하는 단계; 및 인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)의 AC 성분 중 하나라도 '0'이 아니면, 현재블록(Ac)의 링잉플래그(RF)를 '1'로 세팅하고, 그렇지 않으면 RF를 0 으로 하는 단계로 이루어지고,The extraction of the first ringing flag RF0 and the second ringing flag RF1 for the block Ac of the current interframe is performed by the DC component of the inverse quantization coefficient IQC of the residual signal in the 8x8 block of the inter macroblock. If it is not 0 ', setting the first ringing flag RF0 of the current block Ac to' 1 ', otherwise setting RF0 to 0; And if any one of the AC components of the inverse quantization coefficient (IQC) of the residual signal in the 8x8 block of the inter frame is not '0', sets the ringing flag (RF) of the current block (Ac) to '1'; RF is set to 0, 상기 영상데이터가 인터프레임일 경우 상기 인터프레임의 링잉플래그는 제1링잉플래그(RF0) 및 제2링잉플래그(RF1)으로 이루어지며,When the image data is an interframe, the ringing flag of the interframe includes a first ringing flag RF0 and a second ringing flag RF1. 현재 인터프레임의 블록(Ac)에 대한 상기 제1링잉 플래그(RF0) 및 제2링잉플래그(RF1)의 추출은 인터 매크로블록의 8x8 블록에서 잔차신호의 역양자화계수(IQC)의 DC 성분 만이 '0'이 아니면, 현재블록(Ac)의 제1링잉플래그(RF0)를 '1'로 세팅하고, 그렇지 않으면 RF0를 0 으로 하는 단계; 및 인터 프레임의 8x8 블록에서의 잔차신호의 역양자화계수(IQC)의 AC 성분 중 하나라도 '0'이 아니면, 현재블록(Ac)의 링잉플래그(RF)를 '1'로 세팅하고, 그렇지 않으면 RF를 0 으로 하는 단계로 이루어짐을 특징으로 하는 영상데이터 루프필터링 방법.The extraction of the first ringing flag RF0 and the second ringing flag RF1 for the block Ac of the current interframe is performed by the DC component of the inverse quantization coefficient IQC of the residual signal in the 8x8 block of the inter macroblock. If it is not 0 ', setting the first ringing flag RF0 of the current block Ac to' 1 ', otherwise setting RF0 to 0; And if any one of the AC components of the inverse quantization coefficient (IQC) of the residual signal in the 8x8 block of the inter frame is not '0', sets the ringing flag (RF) of the current block (Ac) to '1'; The image data loop filtering method comprising the step of setting RF to zero. 제5항에 있어서, 블록킹 아티팩트들을 감소시키기 위한 디블록킹 필터링은6. The method of claim 5, wherein the deblocking filtering to reduce blocking artifacts is 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때,When a predetermined block constituting the frame to be loop filtered is called block I, and a block adjacent to the block I is called block J, 블록 I의 제2링잉플래그(RF1)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘다 블록킹 아티팩트들을 감소시킬 필요가 있음을 나타내면, 상기 블록 I와 블록 J를 경계짓는 수평블록 경계선을 사이에 둔 소정 개수의 픽셀값을 변화시키는 제1필터링을 수행하는 단계;The second ringing flag RF1 of block I indicates that there is no need to reduce ringing noise, block I is INTRA or block J is INTRA, and both HBF of block I and HBF of block J need to reduce blocking artifacts. Performing a first filtering to change a predetermined number of pixel values between horizontal block boundaries that block the blocks I and J; 블록 I의 제2링잉플래그(RF1)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I가 INTRA 이거나 블록 J가 INTRA 이고, 블록 I의 HBF와 블록 J의 HBF 둘 중 하나라도 블록킹 아티팩트들을 감소시킬 필요가 없음을 나타내면, 수평블록 경계선을 사이에 두고 인접한 두 픽셀의 차와 H.263의 양자화된 요소(faoctor)인 QP를 비교하여 두 픽셀의 차가 QP보다 작으면 상기 제1필터링보다 작은 개수의 픽셀 값을 변화시키는 제2필터링을 수행하는 단계;The second ringing flag RF1 of block I indicates that there is no need to reduce ringing noise, block I is INTRA or block J is INTRA, and either HBF of block I or HBF of block J reduces blocking artifacts. If the difference between the two adjacent pixels and the QP, which is the quantized factor of H.263, is intersected with the horizontal block boundary line, the number is smaller than the first filtering. Performing second filtering to change the pixel value of the &lt; RTI ID = 0.0 &gt; 블록 I의 제2링잉플래그(RF1)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J 중 적어도 하나의 RF0가 1 이고, 블록 I 및 블록 J의 HBF가 둘다 '1'이면 제1필터링을 수행하는 단계;Indicates that the second ringing flag RF1 of block I does not need to reduce ringing noise, neither block I nor block J is INTRA, and at least one RF0 of block I and block J is 1, block I and block Performing first filtering if both HBFs of J are '1'; 블록 I의 제2링잉플래그(RF1)가 링잉노이즈를 감소시킬 필요가 없음을 나타내고, 블록 I 및 블록 J 둘다 INTRA 가 아니고, 블록 I 및 블록 J 중 적어도 하나의 RF0가 1 이고, 블록 I 및 블록 J의 HBF 중 적어도 하나가 '1'이 아니면 제2필터링을 수행하는 단계; 및Indicates that the second ringing flag RF1 of block I does not need to reduce ringing noise, neither block I nor block J is INTRA, and at least one RF0 of block I and block J is 1, block I and block Performing second filtering if at least one of J's HBFs is not '1'; And 상기 블록 I의 RF가 '0'이 아니면 제2필터링을 수행하는 단계로 이루어짐을 특징으로 하는 영상데이터 루프필터링 방법.And performing a second filtering when the RF of the block I is not '0'. 제6항에 있어서,The method of claim 6, 상기 블록 I와 블록 J를 경계짓는 블록 경계선을 사이에 둔 6개의 픽셀을 A,B,C,D,E 및 F 라 하고, 상기 픽셀 C 및 D를 상기 블록 경계선에 가장 인접한 픽셀, 상기 픽셀 A 및 F 가 블록 경계선에서 가장 먼 픽셀, 상기 픽셀 B 및 D가 상기 A 및 C, D 및 F의 중간에 위치한 픽셀이라 할 때,Six pixels with a block boundary line between the block I and the block J are called A, B, C, D, E, and F, and the pixels C and D are the pixels closest to the block boundary line, and the pixel A is And F is a pixel furthest from the block boundary, and the pixels B and D are pixels located in the middle of the A and C, D and F, 상기 제1필터링은 상기 6개의 픽셀에 대해 7-탭(1,1,1,2,1,1,1) 저역통과필터링을 수행하고,The first filtering performs 7-tap (1,1,1,2,1,1,1) low pass filtering on the six pixels, 상기 제2필터링은 상기 픽셀 C 및 D에 대해 필터링을 수행하되, 상기 픽셀 C 및 D의 차의 절대값이 H.263의 양자화 요소(factor) QP보다 작다면, C는 C+(D-C)/4로, D는 D+(D-C)/4로 대체함을 특징으로 하는 영상데이터 루프필터링 방법.The second filtering performs filtering on the pixels C and D, but if the absolute value of the difference between the pixels C and D is less than the quantization factor QP of H.263, C is C + (DC) / 4 Where D is replaced by D + (DC) / 4. 제5항에 있어서, 상기 필터링단계에서의 링잉노이즈를 감소시키는 디링잉필터링의 수행여부는The method of claim 5, wherein whether to perform the de-ringing filtering to reduce the ringing noise in the filtering step 루프필터링하고자 하는 프레임을 구성하고 있는 소정 블록을 블록 I라 하고, 상기 블록 I와 인접한 블록을 블록 J라 할 때, 상기 블록 I에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이고, 상기 블록 J에 대해 현재의 블록과 역양자화된 이전의 블록의 차가 소정의 값 이하이면, 디링잉(deringing ) 필터링을 수행하지 않음을 특징으로 하는 영상데이터 루프필터링 방법.When a predetermined block constituting the frame to be loop-filtered is called block I, and a block adjacent to the block I is called block J, the difference between the current block and the previous block dequantized with respect to the block I is a predetermined value. Or less, and if the difference between the current block and the previous block inversely quantized with respect to the block J is less than or equal to a predetermined value, delinging filtering is not performed. 제5항에 있어서, 상기 필터링단계에서의 링잉노이즈를 감소시키는 디링잉필터링 수행여부는The method of claim 5, wherein whether to perform the de-ringing filtering to reduce the ringing noise in the filtering step 블록 I가 인트라 블록이면 디링잉 필터링을 수행하는 단계;Performing de-ringing filtering if block I is an intra block; 상기 블록 I가 인트라 블록이 아니고, 8x8 예측모드를 사용한 블록이면 디링잉 필터링을 수행하는 단계; 및Performing de-ringing filtering if the block I is not an intra block and is a block using an 8x8 prediction mode; And 상기 상기 블록 I가 인트라 블록이 아니고 8x8 예측모드를 사용한 블록이 아니고, 블록 I의 RF1이 디링잉필터링이 필요함을 나타내면 디링잉필터링을 수행하고, 블록 I의 RF1이 디링잉필터링이 필요치 않음을 나타내면 디링잉필터링을 수행하지않는 단계를 이루어짐을 특징으로 하는 영상데이터 루프필터링 방법.If the block I is not an intra block and is not a block using an 8x8 prediction mode, and the RF1 of the block I indicates that the de-ringing filtering is required, the de-ringing filtering is performed. The image data loop filtering method of claim 1, wherein the filtering is performed. 제8항 또는 제9항에 있어서, 상기 디링잉필터링은The method according to claim 8 or 9, wherein the de-ringing filtering 영상데이터의 수평에지 및 수직에지를 검출하는 에지검출 단계; 및An edge detection step of detecting horizontal and vertical edges of the image data; And 링잉노이즈를 감소시키고자하는 8x8블록에 대해 2차원 신호적응필터링을 하는 신호적응필터링 단계로 이루어지고,The signal adaptation filtering step is performed to perform 2D signal adaptation filtering on 8x8 blocks to reduce ringing noise. 상기 에지검출단계의 수평에지검출은, 픽셀[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 로 되고,The horizontal edge detection of the edge detection step includes pixel [m] [n], right pixel of the pixel [m] [n], pixel [m] [n + 1], and left pixel of pixel [m] [n− 1], the difference between the pixel [m] [n] and the pixel [m] [n + 1] is A1, and the difference between the pixel [m] [n] and pixel [m] [n + 1] is A2, H When the quantization factor of .263 is QP, if the conditional expression ((A1> QP) and (A2> QP)) or (A1> 2QP) or (A2> 2QP) is satisfied, it is detected as an edge, and the edge is detected. [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'로 되고,The vertical edge detection of the edge detection step includes pixel [m] [n], pixel [m + 1] [n] for the upper pixel of pixel [m] [n], and pixel [m-1] [for lower pixel. n], A'1 is the difference between the pixel [m] [n] and pixel [m + 1] [n], and A is the difference between the pixel [m] [n] and pixel [m-1] [n]. '2, when the quantization factor of H.263 is QP, the conditional expression ((A'1> QP) and (A'2> QP)) or (A'1> 2QP) or (A'2> 2QP) is detected, it is detected as an edge, and edge [m] [n] = '1', 상기 신호적응 필터링 단계는The signal adaptive filtering step 4-connected 필터 윈도우를 상기 8x8블록에 대해 적용하여, 상기 필터윈도우의 중심 픽셀이 에지이면 필터링을 수행하지 않고, 상기 필터윈도우의 중심 픽셀이 에지가 아니면 가중필터링을 수행하는, 영상데이터 루프필터링 방법.By applying a 4-connected filter window to the 8x8 block, if the center pixel of the filter window is an edge, no filtering is performed, and if the center pixel of the filter window is not an edge, weighted filtering is performed. .
KR1019980046822A 1998-08-01 1998-11-02 Image Data Loop Filtering Method KR100331331B1 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1019980046822A KR100331331B1 (en) 1998-11-02 1998-11-02 Image Data Loop Filtering Method
AU12160/99A AU717480B2 (en) 1998-08-01 1999-01-20 Loop-filtering method for image data and apparatus therefor
RU99101345A RU2154918C1 (en) 1998-08-01 1999-01-20 Method and device for loop filtration of image data
JP1362899A JP3308921B2 (en) 1998-08-01 1999-01-21 Video data loop filtering method and apparatus
SG1999001675A SG70679A1 (en) 1998-08-01 1999-04-14 Loop-filtering method for image data and apparatus therefor
BRPI9901340A BRPI9901340B1 (en) 1998-08-01 1999-04-30 Circuit filtering process for image data to reduce the quantization effect generated
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
KR1019980046822A KR100331331B1 (en) 1998-11-02 1998-11-02 Image Data Loop Filtering Method

Publications (2)

Publication Number Publication Date
KR20000031028A KR20000031028A (en) 2000-06-05
KR100331331B1 true KR100331331B1 (en) 2002-05-09

Family

ID=19556920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980046822A KR100331331B1 (en) 1998-08-01 1998-11-02 Image Data Loop Filtering Method

Country Status (1)

Country Link
KR (1) KR100331331B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452495B1 (en) * 2008-05-09 2014-10-21 비반테 코포레이션 De-ringing filter for decompressed video data

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2818863A1 (en) * 2000-12-26 2002-06-28 Koninkl Philips Electronics Nv Received digital image processing method includes analysis of spatial activity values for pixel to detect and correct MPEG image errors
KR100525785B1 (en) 2001-06-15 2005-11-03 엘지전자 주식회사 Filtering method for pixel of image
CN1984344A (en) * 2001-11-29 2007-06-20 松下电器产业株式会社 Coding distortion removal method, video encoding method, video decoding method, and apparatus and program for the same
ATE419713T1 (en) 2001-11-29 2009-01-15 Panasonic Corp METHOD FOR ELIMINATION OF CODING DISTORTION AND METHOD FOR VIDEO CODING AND DECODING
KR100929078B1 (en) 2001-11-29 2009-11-30 파나소닉 주식회사 How to remove coding distortion
KR100584549B1 (en) * 2002-01-31 2006-05-30 삼성전자주식회사 Filtering method for removing block artifacts and/or ringing noise and apparatus therefor
KR100674027B1 (en) * 2006-11-07 2007-01-25 엘지전자 주식회사 Filtering method for pixel of image
JP5026092B2 (en) * 2007-01-12 2012-09-12 三菱電機株式会社 Moving picture decoding apparatus and moving picture decoding method
KR100748512B1 (en) * 2007-04-16 2007-08-13 엘지전자 주식회사 Method for filtering block boundary region
KR101647376B1 (en) * 2009-03-30 2016-08-10 엘지전자 주식회사 A method and an apparatus for processing a video signal
BR112013000556A2 (en) * 2010-07-09 2019-09-24 Samsung Electronics Co Ltd method for decoding a video using a video decoding processor, method for encoding a video using a video encoding processor, video decoding apparatus with respect to a video decoding processor, video encoding apparatus with respect to a video encoding processor, and computer readable recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452495B1 (en) * 2008-05-09 2014-10-21 비반테 코포레이션 De-ringing filter for decompressed video data

Also Published As

Publication number Publication date
KR20000031028A (en) 2000-06-05

Similar Documents

Publication Publication Date Title
US7251276B2 (en) Loop-filtering method for image data and apparatus therefor
KR100269125B1 (en) Image post processing method and apparatus for reducing quantization effect
Yang et al. Removal of compression artifacts using projections onto convex sets and line process modeling
US8873643B2 (en) Signal adaptive filtering method, signal adaptive filter and computer readable medium for storing program therefor
Park et al. A postprocessing method for reducing quantization effects in low bit-rate moving picture coding
Lee et al. Loop filtering and post-filtering for low-bit-rates moving picture coding
KR100331331B1 (en) Image Data Loop Filtering Method
KR100301013B1 (en) Image data loop filtering method and apparatus
Huang et al. A post deblocking filter for H. 264 video
US20210014521A1 (en) Inter prediction apparatus and method for video coding
CA2570723A1 (en) Signal adaptive filtering method, signal adaptive filter and computer readable medium for storing program therefor

Legal Events

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

Payment date: 20130227

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee