KR100982835B1 - Deblocking method and equipment for image data - Google Patents

Deblocking method and equipment for image data Download PDF

Info

Publication number
KR100982835B1
KR100982835B1 KR1020080103085A KR20080103085A KR100982835B1 KR 100982835 B1 KR100982835 B1 KR 100982835B1 KR 1020080103085 A KR1020080103085 A KR 1020080103085A KR 20080103085 A KR20080103085 A KR 20080103085A KR 100982835 B1 KR100982835 B1 KR 100982835B1
Authority
KR
South Korea
Prior art keywords
low frequency
equation
dct
blocks
block
Prior art date
Application number
KR1020080103085A
Other languages
Korean (ko)
Other versions
KR20100043858A (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 KR1020080103085A priority Critical patent/KR100982835B1/en
Publication of KR20100043858A publication Critical patent/KR20100043858A/en
Application granted granted Critical
Publication of KR100982835B1 publication Critical patent/KR100982835B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/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]

Abstract

본 실시예에 따른 영상 프레임의 디블로킹 방법은 영상 프레임에서 연속하여 인접한 3개의 NxM(N,M은 2이상의 정수)블록 각각에서 동일한 라인에 대한 DCT계수들을 저주파 성분과 고주파 성분으로 분리하는 단계; 상기 저주파 성분들을 이용하여 상기 라인에 포함된 에지(edge)의 수를 판단하는 단계; 상기 에지의 수에 기초하여 상기 저주파 성분들에 대하여 상이한 필터링을 수행하는 단계; 상기 필터링 단계를 거친 저주파 성분들과 상기 고주파 성분들을 합하여 상기 DCT계수들을 재구성하는 단계를 포함하는 것으로, 본 실시예에 따르면 영상이 전체적으로 흐릿해 보이는 현상(over-blurring)을 줄임과 동시에 객체의 에지는 보존하여 영상의 선명도를 유지할 수 있고 연산량을 줄일 수 있어 실시간 응용프로그램에도 적용이 가능하다. 또한, 디블로킹 과정을 통해 발생하는 새로운 블록결점을 줄일 수 있으며, 모든 처리과정이 DCT 영역에서 행해지므로 특히 압축된 영상데이터의 영상처리에 적합하다. The deblocking method of an image frame according to the present embodiment comprises the steps of separating the DCT coefficients for the same line into a low frequency component and a high frequency component in each of three consecutive NxM blocks (N, M is an integer of 2 or more) consecutively in the image frame; Determining the number of edges included in the line using the low frequency components; Performing different filtering on the low frequency components based on the number of edges; And reconstructing the DCT coefficients by adding the low frequency components and the high frequency components that have passed through the filtering step. According to the present embodiment, an edge of an object is reduced while reducing over-blurring of the image as a whole. Can be preserved to maintain image clarity and reduce computation, so it can be applied to real-time applications. In addition, new block defects generated through the deblocking process can be reduced, and all processes are performed in the DCT region, which is particularly suitable for image processing of compressed image data.

Description

영상 프레임의 디블로킹 방법 및 장치{Deblocking method and equipment for image data}Deblocking method and device for image frame

본 발명은 영상 프레임의 디블로킹 방법 및 장치에 관한 것으로 좀더 상세하게는 영상 프레임에서 나타나는 블록 결점(Blocking artifact)을 제거하는 장치 및 방법에 관한 것이다. The present invention relates to a method and apparatus for deblocking an image frame, and more particularly, to an apparatus and method for removing a blocking artifact appearing in an image frame.

종래 대부분의 영상 데이터 부호화 방법은 영상 프레임을 블록 단위로 처리한다. 이러한 블록 기반의 영상 데이터 부호화 방법에서 이산여현변환(Discrete cosine transform, 이하 DCT라 한다)은 핵심적인 역할을 한다. 왜냐하면, DCT는 정보의 압축능력과 계산의 복잡성 측면에서 훌륭한 절충안이 되기 때문이다. 이러한 DCT는 JPEG, MPEG, H.26x등의 영상 데이터에 관한 부호화 표준들에 널리 사용된다.Most conventional image data encoding methods process image frames in units of blocks. Discrete cosine transform (hereinafter referred to as DCT) plays a key role in the block-based image data encoding method. This is because DCT is a good compromise in terms of information compression and computational complexity. This DCT is widely used in coding standards for image data such as JPEG, MPEG, H.26x.

대부분의 표준들에 따르면 영상 프레임은 NxN 사이즈를 가지는 다수개의 블록(block)들로 분해된다. 분해된 블록들은 DCT를 통해 공간영역에서 주파수 영역으로 변환되고, DCT를 통해 얻어진 계수들은 양자화된다. 예를 들어 상기 분해된 블 록 하나의 사이즈가 8x8이라고 할 때, 이 블록들의 픽셀들의 값들은 DCT에 의해 1개의 DC 계수와 63개의 AC계수들을 가지는 8x8 블록으로 변환되고, 각 계수들은 미리 정의된 양자화 테이블을 이용하여 양자화되어 이산적인 값을 가지게 된다. According to most standards, an image frame is decomposed into a plurality of blocks having an N × N size. The decomposed blocks are transformed from the spatial domain to the frequency domain through the DCT, and the coefficients obtained through the DCT are quantized. For example, when the size of one of the decomposed blocks is 8x8, the values of the pixels of these blocks are transformed by a DCT into an 8x8 block having one DC coefficient and 63 AC coefficients, and each coefficient is defined in advance. It is quantized using a quantization table to have discrete values.

그런데, 상기 DC계수와 AC계수들은 양자화를 통해 이산적인 값만을 가지게 되므로, 역양자화(Inverse quantization)과정을 거쳐도 원래의 값으로 정확히 복원되지는 않는다. 따라서, 양자화(Quantization)는 압축을 가능하게 하지만 손실이 발생하는 과정(lossy step)이다. However, since the DC coefficient and the AC coefficient have only discrete values through quantization, the DC coefficient and the AC coefficient may not be correctly restored to their original values even after the inverse quantization process. Thus, quantization is a lossy step that enables compression but causes loss.

DCT를 사용하는 블록 기반의 부호화 과정에서 블록은 하나의 독립된 개체로 취급되고, 압축 코딩 과정에서 인접한 블록 간의 공간적인 상관관계는 고려하지 않는다. 그 결과 블록 단위의 압축 코딩은 열화현상이 나타난다. 즉, 블록 단위로 압축 코딩된 데이터를 디코딩하여 복원한 영상에서 블록들의 경계부분이 눈에 띄게 되는 것이다. 예를 들어, 인접하는 소정의 블록들 경계에서 스무스(smooth)하게 루미넌스(luminance)가 변화하는 경우, 디코딩 과정에서 서로 다른 양자화 간격(quantization interval)에 속해져서 블록간의 경계가 눈에 띄게 되는 것이다. 이러한 현상을 블록 결점(Blocking artifact)이라 한다. In the block-based encoding process using DCT, a block is treated as an independent entity, and spatial compression between adjacent blocks is not considered in the compression coding process. As a result, compression coding in block units results in degradation. That is, the boundary portions of the blocks are noticeable in the image reconstructed by decoding the coded data in block units. For example, when luminance is smoothly changed at boundaries of adjacent blocks, the boundaries between blocks are conspicuous because they belong to different quantization intervals during decoding. This phenomenon is called blocking artifact.

상기한 블록 단위를 기반으로 하는 DCT의 약점 즉 블록 결점을 극복하기 위해 다양한 방법들이 연구되어 왔다. 이 방법들을 분류해 보면 크게 두가지로 나누어 진다.Various methods have been studied to overcome the weaknesses or block defects of the DCT based on the above-described block units. There are two main categories of these methods.

하나는 다른 인코딩 스킴(scheme)을 사용하는 것인데, 예컨대 비월 블록 코딩(interleaved block coding), 랩드 변환(lapped transform), 결합 변환(combined transform)등이 있다. One is to use another encoding scheme, such as interleaved block coding, lapped transform, combined transform, and the like.

다른 하나는 복원된 영상을 후처리(Post-processing)하는 방법이다. 이 방법은 현존하는 표준들을 바꿀 필요가 없다는 장점이 있다. 상기한 후처리하는 방법에는 일반적으로 세가지 타입이 있다.The other method is a post-processing of the reconstructed image. This method has the advantage of not having to change existing standards. There are generally three types of post-processing methods described above.

첫째는 블록결점을 없애기 위해 저역통과필터를 사용하는 것이다. 둘째는 통계적인 방법에 기반하여 블록결점을 없애는 것인데, 이 방법은 DCT 계수를 보정하는데 통계적인 모델을 사용한다. 마지막 셋째 방법은 집합 이론을 이용한 것인데, 대표적인 것이 POCS이론을 바탕으로 한 것이다. POCS이론은 영상데이터와 여러 제한 조건으로부터 컨벡스(convex) 집합과 그 집합으로의 투영자를 정의한 후, 각 집합으로의 반복적인 투영을 통해 원 영상의 특징은 손상시키지 않으면서 블록 결점을 제거하는 방법이다. The first is to use a low pass filter to eliminate block defects. The second is to eliminate block defects based on the statistical method, which uses a statistical model to correct the DCT coefficients. The third method is to use set theory, which is based on POCS theory. POCS theory is a method of defining convex sets and projectors to the sets from image data and various constraints, and then eliminating block defects without damaging the features of the original image through repeated projection to each set.

상기한 후처리 방법들은 공통적으로 객체(object)의 경계를 보존해야 하고, 영상의 선명도(sharpness)를 유지할 것이 요구된다. 또한, 후처리 방법은 실시간 영상 처리 응용프로그램(application)에 적용되기 위해서 단순해야 한다는 점도 요구된다. The post-processing methods described above are commonly required to preserve the boundaries of objects and to maintain the sharpness of an image. It is also required that the post processing method be simple in order to be applied to a real time image processing application.

그런데, 상기 첫째 방법은 블록들의 경계에서 뿐만 아니라 객체의 경계를 포함하는 영상 전체가 흐릿해 보이는 현상(over-blurring)이 발생하는 문제가 있고, 나머지 방법들은 연산의 복잡성이 커서 실시간 영상 처리 응용프로그램에 적용하기 어려운 문제가 있다.However, in the first method, there is a problem in that an entire image including an object boundary is blurred as well as at the boundary of blocks, and the other methods have a large computational complexity, and thus, real-time image processing application programs. There is a problem that is difficult to apply.

본 발명이 해결하고자 하는 과제는 보다 디코딩된 영상 프레임에서 나타나는 블록 결점을 제거하는 디블로킹 방법 및 장치를 제공하는 것이다.An object of the present invention is to provide a deblocking method and apparatus for removing block defects appearing in more decoded image frames.

본 발명이 해결하고자 하는 다른 과제는 디코딩된 영상 프레임의 블록 결점을 제거함에 있어서 연산량이 증가하는 것을 완화시킬 수 있는 디블로킹 방법 및 장치를 제공하는 것이다.Another object of the present invention is to provide a deblocking method and apparatus that can alleviate an increase in the amount of computation in eliminating block defects of a decoded image frame.

영상 프레임의 디블로킹 방법은 영상 프레임에서 연속하여 인접한 3개의 NxM(N,M은 2이상의 정수)블록 각각에서 동일한 라인에 대한 DCT계수들을 저주파 성분과 고주파 성분으로 분리하는 단계; 상기 저주파 성분들을 이용하여 상기 라인에 포함된 에지(edge)의 수를 판단하는 단계; 상기 에지의 수에 기초하여 상기 저주파 성분들에 대하여 상이한 필터링을 수행하는 단계; 상기 필터링 단계를 거친 저주파 성분들과 상기 고주파 성분들을 합하여 상기 DCT계수들을 재구성하는 단계를 포함한다. The deblocking method of an image frame includes separating DCT coefficients for the same line into a low frequency component and a high frequency component in each of three consecutive NxM blocks (N and M are integers of 2 or more) consecutively in the image frame; Determining the number of edges included in the line using the low frequency components; Performing different filtering on the low frequency components based on the number of edges; And reconstructing the DCT coefficients by adding the low frequency components and the high frequency components that have passed through the filtering.

본 실시예에 따르면, 상기 필터링하는 단계 전에 상기 저주파 성분들을 다른 DCT차원(dimension)으로 변환하는 소정의 테이블(table)을 적용하여 DCT 차원을 변환하는 단계를 더 포함할 수 있다.According to the present embodiment, the method may further include converting the DCT dimension by applying a predetermined table for converting the low frequency components into another DCT dimension before the filtering.

또한, 상기 필터링하는 단계와 상기 DCT 계수를 재구성하는 단계 사이에, 필터링된 저주파 성분을 정제하는 정제단계를 더 포함할 수 있다.The method may further include a purification step of purifying the filtered low frequency component between the filtering and reconstructing the DCT coefficients.

본 발명에 따르면, 영상이 전체적으로 흐릿해 보이는 현상(over-blurring)을 줄임과 동시에 객체의 에지는 보존하여 영상의 선명도를 유지할 수 있다. 그리고 연산량을 줄일 수 있어 실시간 응용프로그램에도 적용이 가능하다. 또한, 디블로킹 과정을 통해 발생하는 새로운 블록결점을 줄일 수 있다. According to the present invention, while reducing the overall blurring of the image (over-blurring) and at the same time preserves the edge of the object to maintain the sharpness of the image. In addition, the amount of computation can be reduced, so it can be applied to real-time applications. In addition, new block defects caused by the deblocking process can be reduced.

본 발명에 따르면, 모든 처리과정이 DCT 영역에서 행해지므로 특히 압축된 영상데이터의 영상처리에 적합하다. According to the present invention, all the processing is performed in the DCT area, which is particularly suitable for image processing of compressed image data.

이하, 본 발명이 속하는 분야에 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention.

도 1은 본 실시예에 따른 디블로킹 방법을 개략적으로 나타낸 도면이다. 1 is a view schematically showing a deblocking method according to the present embodiment.

도 1을 참조하여 본 실시예에 따른 디블로킹 방법을 개략적으로 살펴보면, 먼저 입력되는 영상 데이터를 저주파 성분과 고주파 성분으로 분리하고(110), 분리된 저주파 성분만을 디블로킹 프로세스를 거쳐 변화시킨다(120). 그 후, 변화된 저주파 성분과 상기 고주파 성분을 다시 결합하여 디블로킹된 출력 데이터를 얻는다(130). Referring to FIG. 1, the deblocking method according to the present embodiment will be described. First, input image data is separated into a low frequency component and a high frequency component (110), and only the separated low frequency component is changed through a deblocking process (120). ). Thereafter, the changed low frequency component and the high frequency component are recombined to obtain deblocked output data (130).

상기 입력되는 영상 데이터는 각 블록의 각 라인에 대한 DCT 영역에서의 값 즉, DCT계수들이다. 여기서, 상기 블록(block)은 하나의 영상프레임을 분할한 부분을 의미하며 NxM(N,M은 2이상의 정수)사이즈이다. The input image data are values in the DCT region for each line of each block, that is, DCT coefficients. Here, the block means a portion of one image frame divided, and has a size of NxM (N, M is an integer of 2 or more).

본 실시예에서는 상기 블록이 8x8 사이즈를 가지고, 한 영상 프레임은 512x512사이즈를 가지는 경우를 예로 들어 설명하기로 한다. 이 경우 상기 블록은 총 64개의 픽셀(pixel)들을 가지게 되고, 한 영상 프레임에 대해 수평방향으로 64개의 블록, 수직방향으로 64개의 블록으로 분할되어 총 4096개의 블록으로 구성된다. 그리고, 하나의 블록은 수평방향으로 1x8사이즈를 가지는 8개의 수평라인(행,row)과 8x1 사이즈를 가지는 8개의 수직라인(열, column)으로 분할이 가능하다. 결국, 하나의 라인은 8개의 픽셀을 가진다. In the present embodiment, a case in which the block has an 8x8 size and one image frame has a size of 512x512 will be described as an example. In this case, the block has a total of 64 pixels, and is divided into 64 blocks in the horizontal direction and 64 blocks in the vertical direction for a single image frame, and is composed of a total of 4096 blocks. In addition, one block may be divided into eight horizontal lines (rows) having a size of 1x8 in the horizontal direction and eight vertical lines (columns) having an size of 8x1. After all, one line has eight pixels.

본 실시예에서 디블로킹 과정은 상기한 블록 중에서 연속하여 인접한 3개의 블록에서 동일한 라인을 대상으로 하여 처리되는데 이를 설명한다. In the present embodiment, the deblocking process is processed by targeting the same line in three consecutive blocks among the above-described blocks.

도 2는 본 실시예에서 수평방향으로 디블로킹 할 때의 대상이 되는 라인들을 나타낸 도면이다. 도 2를 참조하면, 수평방향으로 연속하여 인접한 블록들을 블록 #1, 블록 #2, 블록 #3,…등으로 표시하고 있고, 각 블록의 수평방향의 라인을 라인 #1, 라인 #2,…,라인 #8로 표시하고 있다. FIG. 2 is a diagram illustrating lines that are an object when deblocking in a horizontal direction in this embodiment. 2, blocks # 1, block # 2, block # 3,. And the horizontal line of each block is indicated by line # 1, line # 2,... , Line # 8.

수평방향으로의 디블로킹 과정은 먼저, 수평으로 연속하여 인접한 3개의 블록 즉, 블록 #1, 블록 #2, 블록 #3에서 동일한 라인 예를 들어 라인 #1(200, 도 2의 (a)참조)에 대해 디블로킹 과정을 진행한다. 상기 디블로킹 과정이 종료되면 다음 디블로킹 과정의 대상이 되는 것은 블록 #1, 블록 #2, 블록 #3의 다음 라인인 라인 #2가 된다(210, 도 2의 (b)참조). 그 후, 다음 디블로킹 과정의 대상이 되는 것은 블록 #1, 블록 #2, 블록 #3의 다음 라인인 라인 #3가 된다(220, 도 2의 (c)참조).For the deblocking process in the horizontal direction, first, refer to the same line, for example, the line # 1 (200, FIG. Deblocking process for. When the deblocking process is completed, the next deblocking process becomes a line # 2 which is the next line of the block # 1, the block # 2, and the block # 3 (210, (b) of FIG. 2). Subsequently, the next deblocking process is the line # 3 which is the next line of the block # 1, the block # 2, and the block # 3 (220, see (c) of FIG. 2).

상기한 바와 같이 디블로킹 과정은 연속하여 인접한 3개의 블록들에서 동일한 라인에 대해 행해지고, 이러한 디블로킹 과정이 상기 3개의 블록들에서 라인 #1에서 라인 #8까지 반복된다. 상기한 과정이 종료되면, 다음 디블로킹 과정에서의 대상은 이전 디블로킹 과정에 사용된 하나의 블록(즉 블록 #3)을 포함하는 연속하여 인접한 3개의 블록들(즉 블록 #3,블록 #4, 블록#5)이 된다. 다시 말해, 블록 #3, 블록 #4, 블록 #5에 대하여 라인 #1 내지 라인 #8에 대한 디블로킹 과정이 반복되는 것이다(도 2의 (d)참조). 상기 블록 #3 내지 #5에 대한 디블로킹 과정이 끝나면 다시 블록 #5 내지 #7에 대하여 라인 #1 내지 #8에 대해 디블로킹 과정이 반복된다. 상기한 방식으로 한 영상 프레임에서 수평방향으로 연속되는 블록들의 그룹에 대해 디블로킹 과정이 끝나면 그 아래에 있는 블록들의 그룹에 대해 디블로킹 과정이 진행된다. 이를 설명한다.As described above, the deblocking process is performed on the same line in three consecutively adjacent blocks, and this deblocking process is repeated from line # 1 to line # 8 in the three blocks. When the above process is finished, the object in the next deblocking process is three consecutively contiguous blocks (ie, block # 3, block # 4) containing one block (ie, block # 3) used in the previous deblocking process. , Block # 5). In other words, the deblocking process for lines # 1 to # 8 is repeated for blocks # 3, # 4, and # 5 (see FIG. 2 (d)). After the deblocking process for the blocks # 3 to # 5 is finished, the deblocking process is repeated for the lines # 1 to # 8 for the blocks # 5 to # 7. After the deblocking process is performed on the group of blocks consecutively horizontally in one image frame in the above manner, the deblocking process is performed on the group of blocks below it. Explain this.

도 3은 본 실시예에 따른 디블로킹 과정의 대상을 나타내는 도면이다.3 is a diagram illustrating an object of a deblocking process according to the present embodiment.

도 3을 참조하면, 상기한 방식에 따라 블록 #1에서부터 블록 #64로 이루어지는 블록 그룹(310)에 대해 디블로킹 과정이 종료되면, 상기 블록 그룹(310)의 아래에 있는 블록 그룹 즉, 블록 #65에서 블록 #128에 대해 상기한 과정을 반복한다.Referring to FIG. 3, when the deblocking process is terminated with respect to the block group 310 consisting of block # 1 to block # 64 according to the above-described method, the block group below the block group 310, that is, block # Repeat the above process for block # 128 at 65.

상기한 바와 같이 한 영상 프레임에 대해 수평방향으로 디블로킹 과정이 모두 종료되면 다시 수직방향으로 연속하여 인접한 3개의 블록에서 동일한 라인을 대상으로 디블로킹 과정을 진행한다. 수직방향의 디블로킹은 수평방향과 방향에 차이 가 있을 뿐 그 원리는 동일하므로 이하에서는 수평방향의 디블로킹에 대해서만 설명한다.As described above, when the deblocking process is completed in the horizontal direction with respect to one image frame, the deblocking process is performed on the same line in three adjacent blocks in succession in the vertical direction again. Deblocking in the vertical direction is different in the horizontal direction and the direction, but the principle is the same, only the deblocking in the horizontal direction will be described below.

그런데, 본 실시예에서는 수평방향의 디블로킹을 먼저 하고 수직방향의 디블로킹을 하는 것으로 설명하지만, 이는 제한이 아니며 먼저 수직방향으로 디블로킹 과정을 진행하고 그후에 수평방향으로 진행하여도 무방하다. 또한, 반드시 한 영상프레임에서 수평방향의 디블로킹 과정을 전부 종료한 후 수직방향의 디블로킹을 시작할 필요는 없으며, 수평방향으로 소정의 블록에 대해 디블로킹 과정을 진행한 후 수직방향으로 디블로킹을 하고, 다시 수평방향으로 디블로킹 과정을 진행하는 방식으로 하여도 무방하다. However, in the present embodiment, the deblocking in the horizontal direction is performed first, and the deblocking in the vertical direction is described. However, this is not a limitation, and the deblocking process may be performed in the vertical direction first, and then the horizontal deblocking may be performed. Also, it is not necessary to start the deblocking in the vertical direction after completing the horizontal deblocking process in one image frame, and deblocking in the vertical direction after deblocking the predetermined block in the horizontal direction. The deblocking process may be performed again in the horizontal direction.

이하에서, 입력되는 영상 데이터를 디블로킹하는 방법에 대해 상세히 설명한다. 도 4는 본 실시예에 따른 디블로킹 방법을 나타낸 순서도이다. Hereinafter, a method of deblocking input image data will be described in detail. 4 is a flowchart illustrating a deblocking method according to the present embodiment.

도 4를 참조하면, 먼저 인접하는 3개의 블록들의 동일한 라인에 대한 영상 데이터를 입력받아 저주파 성분과 고주파 성분으로 분해한다(S41). 상기 입력되는 영상 데이터는 상기 라인에 대한 DCT계수들인데, 수평방향으로 디블로킹 과정을 수행하는 경우 상기 DCT계수들은 각 블록에서의 한 라인에 대한 1x8 수평 DCT 계수이다(수직방향으로 디블로킹 과정을 수행하는 경우에는 각 라인의 8x1 수직 DCT 계수). Referring to FIG. 4, first, image data of the same line of three adjacent blocks is received and decomposed into low frequency components and high frequency components (S41). The input image data are DCT coefficients for the line, and when the deblocking process is performed in the horizontal direction, the DCT coefficients are 1x8 horizontal DCT coefficients for one line in each block (the deblocking process in the vertical direction is performed. 8x1 vertical DCT coefficients for each line if done).

만약, 상기 입력되는 영상 데이터가 디코딩된 영상 프레임의 공간 영역(Spatial domain)에서의 데이터(예컨대, 각 픽셀의 RGB값, YUV값, YCrCb값 등)로 주어지는 경우에는 상기 공간 영역에서의 데이터를 1x8 수평 DCT를 하여 1x8 수평 DCT 계수를 얻을 수 있다. 이러한 경우 본 실시예는 영상의 후처리 방법으로 사용되는 경우이다. If the input image data is given as data in a spatial domain of the decoded image frame (eg, RGB value, YUV value, YCrCb value, etc. of each pixel), the data in the spatial region is 1x8. Horizontal DCT can be used to obtain 1x8 horizontal DCT coefficients. In this case, the present embodiment is used as an image post-processing method.

또한, 상기 입력되는 영상 데이터가 한 블록의 8x8의 DCT 계수로 주어지는 경우라면, 상기 DCT 계수를 수직으로 역 DCT(8x1 vertical inverse DCT)하여 각 라인에 대한 1x8 수평 DCT계수를 얻을 수 있다. 한 블록의 8x8 DCT 계수는 상기 블록의 공간 영역의 데이터를 2차원 DCT를 하여 얻어진 것이므로, 수직방향으로 1차원 역DCT를 하면 수평방향으로 1차원 DCT한 결과를 얻을 수 있다. In addition, if the input image data is given as a block of 8x8 DCT coefficients, the DCT coefficients may be vertically inversely DCT (8x1 vertical inverse DCT) to obtain a 1x8 horizontal DCT coefficient for each line. Since the 8x8 DCT coefficient of one block is obtained by performing two-dimensional DCT on the data of the spatial region of the block, the result of one-dimensional DCT in the horizontal direction can be obtained by performing one-dimensional inverse DCT in the vertical direction.

상기한 바와 같이 인접하는 3개의 블록들의 동일한 라인에 대한 1x8 DCT계수를 입력받아 이를 저주파 성분과 고주파 성분으로 분해하는데, 이하에서 편의를 위하여 상기 블록 #1, 블록 #2, 블록 #3를 블록 A, 블록 B, 블록 C로 이름을 변경하기로 한다. As described above, the 1x8 DCT coefficient for the same line of three adjacent blocks is input and decomposed into low frequency and high frequency components. Hereinafter, for convenience, the block # 1, block # 2, and block # 3 are divided into block A. Let's rename it to Block B, Block C.

도 5는 본 실시예에 따른 디블로킹 과정의 대상을 다시 나타내는 도면이다. 도 5를 참조하면, 블록 A, 블록 B, 블록 C는 수평방향으로 연속하여 인접하고 있다. 상기 블록 A, B, C에서 첫 번째 행에 해당하는 라인 #1(500)의 픽셀값을 DCT 하여 도출된 DCT 계수를 DCT 데이터 A, DCT 데이터 B, DCT 데이터 C라 한다. 이러한 DCT 데이터 A,B,C는 1x8 사이즈를 가지며, DCT 데이터 A,B,C 각각에 대하여 수학식 1과 같이 저주파 성분과 고주파 성분으로 분해를 한다(이하에서 저주파 성분과 고주파 성분을 수학적 표현의 편의상 저주파 성분 벡터, 고주파 성분 벡터와 같이 부르기도 한다). 5 is a diagram illustrating the object of the deblocking process according to the present embodiment. Referring to FIG. 5, blocks A, B, and C are adjacent in succession in the horizontal direction. In the blocks A, B, and C, the DCT coefficients obtained by DCTing pixel values of the line # 1 500 corresponding to the first row are referred to as DCT data A, DCT data B, and DCT data C. The DCT data A, B, and C have a size of 1 × 8, and the DCT data A, B, and C are decomposed into low frequency components and high frequency components as shown in Equation 1 below. For convenience, it may be referred to as a low frequency component vector or a high frequency component vector).

Figure 112008072990009-pat00001
Figure 112008072990009-pat00001

상기 수학식 1에서, 상기 DCT 데이터 A,B,C 각각을 X[n](0≤n≤7, n=정수)과 같이 표시하고,

Figure 112008072990009-pat00002
,
Figure 112008072990009-pat00003
이다.In Equation 1, each of the DCT data A, B, and C is expressed as X [n] (0 ≦ n ≦ 7, n = integer),
Figure 112008072990009-pat00002
,
Figure 112008072990009-pat00003
to be.

또한, 상기 수학식 1에서 LF_X[n]은 X[n]의 저주파 성분 (즉, 저주파 성분 벡터)이며, HF_X[n]은 X[n]의 고주파 성분(즉, 고주파 성분 벡터)이다. 예컨대 상기 DCT 데이터 A를 X[n] 과 같이 나타내면, 상기 블록 A의 라인 #1에 대한 저주파 성분 벡터는 LF_X[n], 고주파 성분 벡터는 HF_X[n]과 같이 표현된다는 의미이다.Further, in Equation 1, LF_X [n] is a low frequency component (ie, a low frequency component vector) of X [n], and HF_X [n] is a high frequency component (ie, a high frequency component vector) of X [n]. For example, when the DCT data A is expressed as X [n], it means that the low frequency component vector for line # 1 of the block A is expressed as LF_X [n], and the high frequency component vector is expressed as HF_X [n].

상기 수학식 1에서, η 및 λ는 X[n]의 기본파를 제외한 고주파 계수들을 LF_X[n]에 반영하기 위한 팩터이다. 즉, 상기 저주파 성분 벡터는 상기 DCT 데이터 A,B,C에서 DC계수와 기본파 계수에 고주파 계수(기본파 계수를 제외한 AC계수)가 반영된 것이다. 상기 고주파 성분 벡터는 DCT 데이터 A,B,C에서 저주파 성분 벡터를 빼면 구해지는 것이다. In Equation 1, η and λ are factors for reflecting high frequency coefficients LF_X [n] except the fundamental wave of X [n]. That is, the low frequency component vector is a high frequency coefficient (AC coefficient excluding the fundamental wave coefficient) is reflected in the DC coefficient and the fundamental wave coefficient in the DCT data A, B, and C. The high frequency component vector is obtained by subtracting the low frequency component vector from the DCT data A, B and C.

본 실시예에서는 상기한 바와 같이 각 블록의 동일한 라인에 대한 DCT계수들을 저주파 성분과 고주파 성분으로 분리하는데, 그 이유는 저주파 성분에 대해서만 디블로킹 과정을 수행하여 저주파 성분의 불연속성을 감소시키기 위해서이다. 고주파 성분은 분리 후에 저장되었다가 디블로킹 과정을 거친 저주파 성분과 합쳐지게 된다.In this embodiment, as described above, DCT coefficients for the same line of each block are separated into a low frequency component and a high frequency component, for the purpose of reducing the discontinuity of the low frequency component by performing a deblocking process on only the low frequency component. The high frequency components are stored after separation and then merged with the low frequency components which have undergone the deblocking process.

이하에서, 상기 블록 A에서 분해된 저주파 성분 LF_X[n]을 벡터 A라고 하고, 블록 B에서 분해된 저주파 성분 LF_X[n]을 벡터 B라고 하고, 블록 C에서 분해된 저주파 성분 LF_X[n]을 벡터 C와 같이 표시한다. 벡터 A, B, C는 1x8의 사이즈를 가지며, 각 벡터의 요소(element)는 A[n], B[n], C[n] (0≤n≤7, n=정수)과 같이 표시한다. 여기서, A[0], B[0], C[0]를 벡터 A,B,C의 DC 계수라고 하며 나머지 요소들은 AC계수라고 한다. 상기 AC계수 중에서 A[1], B[1], C[1]은 벡터 A,B,C의 기본파 계수라고 한다.Hereinafter, the low frequency component LF_X [n] decomposed in the block A is referred to as a vector A, the low frequency component LF_X [n] decomposed in the block B is referred to as a vector B, and the low frequency component LF_X [n] decomposed in the block C is referred to. It is represented as vector C. The vectors A, B, and C have a size of 1x8, and the elements of each vector are represented as A [n], B [n], C [n] (0≤n≤7, n = integer). . Here, A [0], B [0], and C [0] are called DC coefficients of vectors A, B, and C, and the remaining elements are called AC coefficients. Among the AC coefficients, A [1], B [1], and C [1] are referred to as fundamental wave coefficients of vectors A, B, and C.

다시 도 4를 참조하면, 상기 3개의 저주파 성분 벡터인 벡터 A,B,C에서 추출된 값으로부터 에지의 수를 판단하여 필터를 선택한다(S42). 상기 에지의 수를 판단하여 필터를 선택하는 과정은 상기 3개의 벡터 즉 벡터 A,B,C로부터 추출된 값을소정의 문턱치와 비교함으로써 연속하여 인접한 3개의 라인에 실제로 객체의 에지가 존재하는지 여부 및 블록결점이 존재하여 필터링이 필요한지 여부를 판단하는 단계이다. Referring back to FIG. 4, a filter is selected by determining the number of edges from the values extracted from the three low frequency component vectors, vectors A, B, and C (S42). The process of selecting a filter by determining the number of edges is performed by comparing the values extracted from the three vectors, i.e., vectors A, B, and C, with a predetermined threshold, to determine whether an edge of an object actually exists in three consecutive adjacent lines. And determining whether there is a block defect and whether filtering is necessary.

도 6은 본 실시예에 따른 필터를 선택하는 단계에 대한 플로우 차트이다. 6 is a flowchart for selecting a filter according to the present embodiment.

도 6을 참조하면, 상기 3개의 저주파 성분인 벡터 A, B, C 에서 7개의 값을 취한다(S60). 이 때, 벡터 A에서 3개의 값을 취하고, 벡터 B 및 벡터 C에서 각각 2개의 값을 취한다. 여기서, 벡터 A에서 취하는 값은 A[0], A[1], A[2]이고, 벡터 B 에서 취하는 값은 B[0], B[1]이며, 벡터 C에서 취하는 값은 C[0], C[1]이다.Referring to FIG. 6, seven values are taken from the three low-frequency components, vectors A, B, and C (S60). At this time, three values are taken from the vector A, and two values are taken from the vector B and the vector C, respectively. Here, the values taken by vector A are A [0], A [1], A [2], the values taken by vector B are B [0], B [1], and the values taken by vector C are C [0. ], C [1].

이러한 7개의 값으로부터 상기 블록들(즉 블록 A,블록 B,블록C)의 동일한 라인(즉 라인#1)의 경계에서의 픽셀값과 픽셀값의 차이를 구할 수 있다(S61). 먼저, 상기 픽셀값은 수학식 2에 의하여 구할 수 있다.From these seven values, the difference between the pixel value and the pixel value at the boundary of the same line (that is, line # 1) of the blocks (that is, block A, block B, and block C) can be obtained (S61). First, the pixel value can be obtained by Equation 2.

Figure 112008072990009-pat00004
Figure 112008072990009-pat00004

상기 수학식 2에서 구해진 a[7] 및 b[0]는 블록 A의 라인#1과 블록 B의 라인#1의 경계를 이루는 픽셀들의 값이며, b[7] 및 c[0]는 블록 B의 라인#1과 블록 C의 라인#1의 경계에 있는 픽셀들의 값이다. 이러한 픽셀값들을 이용하여 수학식 3에 의해 각 블록의 동일 라인에 대한 경계에서 픽셀값의 변화를 구할 수 있다.A [7] and b [0] obtained in Equation 2 are values of pixels forming a boundary between line # 1 of block A and line # 1 of block B, and b [7] and c [0] are block B Is the value of the pixels at the boundary between line # 1 and block # 1 of block C. Using the pixel values, the change of the pixel value at the boundary of the same line of each block can be obtained by Equation 3 below.

Figure 112008072990009-pat00005
Figure 112008072990009-pat00005

여기서, Dif 1은 블록 A와 블록 B의 라인#1에서의 경계 픽셀들의 픽셀값 변화를 나타내고, Dif 2는 블록 B와 블록 C의 라인#1에서의 경계 픽셀들의 픽셀값 변화를 나타낸다.Here, Dif 1 represents the pixel value change of the boundary pixels in the line # 1 of the block A and the block B, and Dif 2 represents the pixel value change of the boundary pixels in the line # 1 of the block B and the block C.

상기한 Dif 1과 Dif 2 그리고 상기 벡터 A,B,C의 기본파 계수를 문턱치 T1, T2와 비교하여 에지의 수를 판단하고 필터를 선택한다(S62 내지 S64). 여기서, 상기 문턱치 T1, T2는 아래 수학식 4와 같이 표시된다.The fundamental wave coefficients of Dif 1 and Dif 2 and the vectors A, B and C are compared with thresholds T1 and T2 to determine the number of edges and to select a filter (S62 to S64). Here, the thresholds T1 and T2 are represented by Equation 4 below.

Figure 112008072990009-pat00006
Figure 112008072990009-pat00006

상기 수학식 4의 Qd는 DCT 도메인의 DC계수에 대한 양자화 간격(DC quantization interval)을 역양자화하여 계산되는 픽셀값의 차이이다. 즉, 벡터 A와 다른 벡터가 DCT 도메인에서 DC 계수만을 가지고, 상기 두 벡터가 DC계수의 양자화 간격만큼 차이가 있는 DC계수를 가지는 경우에, 상기 두 벡터를 양자화, 역양자화, IDCT를 거쳐 계산되는 픽셀값의 차이가 Qd라는 의미이다.Qd of Equation 4 is a difference between pixel values calculated by inverse quantization of a DC quantization interval with respect to a DC coefficient of a DCT domain. That is, when vector A and another vector have only DC coefficients in the DCT domain, and the two vectors have DC coefficients that differ by the quantization interval of the DC coefficients, the two vectors are calculated through quantization, inverse quantization, and IDCT. The difference in pixel values is Qd.

상기 Qd를 다르게 표현하면 DCT 도메인에서 사용되는 8x8 양자화 테이블(quantization table)의 (0,0)값에 해당하는 값 즉, DCT 도메인에서 DC계수에 대한 양자화 단위를 8로 나눈 값과 동일하다. 예컨대 양자화 테이블의 (0,0)의 값이 16이라면 Qd는 16/8에 의해 2로 계산된다. 다시 말해 상기 Qd값은 DCT 도메인에서 DC 계수의 양자화 간격(DC quantization interval)를 얼마로 하는가에 적응적으로 결정되는 값이다.If Qd is expressed differently, it is equal to a value corresponding to a value of (0,0) of the 8x8 quantization table used in the DCT domain, that is, the quantization unit for the DC coefficient divided by 8 in the DCT domain. For example, if the value of (0,0) in the quantization table is 16, Qd is calculated as 2 by 16/8. In other words, the Qd value is a value that is adaptively determined by how much the DC quantization interval of the DC coefficient is in the DCT domain.

다시 도 6을 참조하면, 상기 Dif 1이 T1보다 크고, Dif 2도 T1보다 크다면 이것은 3개의 블록(즉 블록 A,B,C)에 위치하는 동일한 라인(즉 라인 #1) 내에 2개의 에지(edge)가 있고, 이것은 실제로 객체의 에지가 있다는 의미로 해석된다(S62). 따라서, 이러한 경우에는 디블로킹 과정을 거치지 않는다. 디블로킹 과정 을 거치면 보존해야할 객체의 에지가 흐릿해지는 현상이 발생할 것이기 때문이다.Referring back to FIG. 6, if Dif 1 is greater than T1 and Dif 2 is also greater than T1, this means two edges within the same line (ie, line # 1) located in three blocks (ie, blocks A, B, and C). (edge), which is interpreted to mean that there is actually an edge of the object (S62). Therefore, in this case, the deblocking process is not performed. This is because the deblocking process will blur the edges of objects to be preserved.

반면, Dif 1, Dif 2 둘 다 T1보다 큰 경우가 아니라면, 에지(edge)가 1개 있거나 없다고 판단하며, 필터링이 필요하다고 판단한다. 이 경우 Dif 1, Dif 2 중 하나만 T1보다 큰 경우에 1개의 에지가 있다고 판단하고 필터 3을 적용한다(S63). Dif 1, Dif 2가 모두 T1보다 작다면 에지는 없다고 판단하며, 각 벡터들의 기본파 계수를 문턱치 T2와 비교하여 필터를 선택한다(S64). 상기한 필터들은 후술한다.On the other hand, if both Dif 1 and Dif 2 are not larger than T1, it is determined that there is one edge or not, and it is determined that filtering is necessary. In this case, if only one of Dif 1 and Dif 2 is larger than T1, it is determined that there is one edge, and filter 3 is applied (S63). If both Dif 1 and Dif 2 are smaller than T1, it is determined that there is no edge, and the filter is selected by comparing the fundamental wave coefficients of the vectors with the threshold T2 (S64). The above filters are described later.

상기한 필터 선택 과정을 정리하면 아래 표 1과 같다.The above filter selection process is summarized in Table 1 below.

1) calculate Dif 1 and Dif 2
2) Comparing T1 with Dif 1 and Dif 2
if Dif1 > T1 and Dif 2 > T1 then NOP(No Operation)
else if Dif 1 < T1 and Dif 2 < T1 then 3)
else filter 3
3) Comparing AC value with T2
if abs(A[1])< T2 and abs(B[1])< T2 and abs(C[1])< T2 then filter 1
else filter 2
1) calculate Dif 1 and Dif 2
2) Comparing T1 with Dif 1 and Dif 2
if Dif1> T1 and Dif 2> T1 then NOP (No Operation)
else if Dif 1 <T1 and Dif 2 <T1 then 3)
else filter 3
3) Comparing AC value with T2
if abs (A [1]) <T2 and abs (B [1]) <T2 and abs (C [1]) <T2 then filter 1
else filter 2

다시 도 4를 참조하면, 상기 3개의 1x8 저주파 성분 벡터 A,B,C를 DCT 차원 변환하여 하나의 1x24 벡터를 생성한다(S43).Referring back to FIG. 4, one 1 × 24 vector is generated by performing DCT dimensional transformation on the three 1 × 8 low frequency component vectors A, B, and C (S43).

이러한 DCT차원 변환을 하는 이유는 1x24 DCT와 1x8 DCT간의 관계를 이용하여 관계식을 만들고, 실제적으로 사용되는 계수에 대해서만 연산을 수행하여 연산량을 줄이기 위한 것이다.  The reason for the DCT dimensional transformation is to create a relational expression using the relationship between the 1x24 DCT and the 1x8 DCT, and to reduce the amount of computation by performing only operations on the coefficients actually used.

또한, 본 실시예에서 사용되는 필터는 1x24 DCT 벡터에 적용되도록 설계된다. 그래서, 3개의 블록에서 추출된 3개의 저주파 성분 벡터들을 하나의 1x24 벡터로 차원을 변경한다.In addition, the filter used in this embodiment is designed to be applied to a 1x24 DCT vector. Thus, the three low frequency component vectors extracted from the three blocks are changed into one 1 × 24 vector.

이하에서, DCT 계수에 대한 차원(dimension)을 변환하는 방법을 설명한다. 먼저, T24 행렬을 수학식 5와 같이 정의한다. Hereinafter, a method of converting a dimension for the DCT coefficients will be described. First, the T 24 matrix is defined as in Equation 5.

Figure 112008072990009-pat00007
Figure 112008072990009-pat00007

수학식 5의 T24 행렬에서 아래 12개의 행을 제거한다. 그러면 상기 T24 행렬은 12x24 크기의 행렬이 된다. 이후에 수학식 6과 같이 상기 12x24행렬을 3개의 12x8행렬로 분해한다.The following 12 rows are removed from the T 24 matrix of Equation 5. The T 24 matrix then becomes a 12 × 24 matrix. Thereafter, the 12x24 matrix is decomposed into three 12x8 matrices, as shown in Equation (6).

Figure 112008072990009-pat00008
Figure 112008072990009-pat00008

그 후, 상기 3개의 12x8행렬들에 수학식 7과 같이 정의되는 T8 행렬을 수학식 8과 같이 각각 곱한다. Thereafter, the three 12x8 matrices are each multiplied by a T 8 matrix defined by Equation 7 as shown in Equation 8.

Figure 112008072990009-pat00009
Figure 112008072990009-pat00009

Figure 112008072990009-pat00010
Figure 112008072990009-pat00010

상기 수학식 8에 의해 구해진 행렬 TA, TB, TC는 1x24 DCT 벡터와 1x8 DCT 벡터의 관계 팩터를 나타낸다. 즉, 상기 행렬 TA, TB, TC 의 각 i번째 행(row)은 1x24 DCT 벡터의 i번째 계수가 1x8 DCT 벡터의 각 계수에 얼마나 영향을 미치는지를 나타내는 값이다. 또한, 상기 행렬 TA, TB, TC 의 각 i번째 열(column)은 1x8 DCT 벡터의 계수가 1x24 DCT 벡터의 계수에 얼마나 영향을 주는지를 나타낸다.The matrices TA, TB, and TC obtained by Equation 8 indicate the relationship factor between the 1x24 DCT vector and the 1x8 DCT vector. That is, each i-th row of the matrix TA, TB, TC is a value indicating how the i-th coefficient of the 1x24 DCT vector affects each coefficient of the 1x8 DCT vector. In addition, each i-th column of the matrices TA, TB, and TC indicates how the coefficients of the 1x8 DCT vector influence the coefficients of the 1x24 DCT vector.

상기한 행렬 TA, TB, Tc를 이용하여 수학식 9와 같이 벡터 H를 합성한다. A vector H is synthesized using Equation 9 using the matrices TA, TB, and Tc.

Figure 112008072990009-pat00011
Figure 112008072990009-pat00011

상기 수학식 9에서 상기 TA, TB, Tc 행렬은 많은 계수가 0이고, 상기 TA 및 Tc행렬이 서로 유사하다는 사실을 이용하여 상기 수학식 9에서 많은 연산량을 줄일 수 있다.In Equation 9, a large amount of computation can be reduced by using the fact that many coefficients of the TA, TB, and Tc matrices are 0, and the TA and Tc matrices are similar to each other.

예컨대, H[6]은 수학식 10과 같이 간단하게 계산된다.For example, H [6] is simply calculated as shown in equation (10).

Figure 112008072990009-pat00012
Figure 112008072990009-pat00012

다시 도 4를 참조하면, 상기 합성된 H벡터에 상기 에지 판단 및 필터 선택 단계에서 선택된 필터로 필터링을 하여 새로운 합성 벡터 H′를 생성한다(S44).Referring back to FIG. 4, a new composite vector H 'is generated by filtering the synthesized H vector with a filter selected in the edge determination and filter selection step (S44).

상기 필터링에 사용되는 필터는 로패스 필터(Low Pass Filter)로 수학식 11과 같다.The filter used for the filtering is a low pass filter, which is represented by Equation (11).

Figure 112008072990009-pat00013
Figure 112008072990009-pat00013

Figure 112008072990009-pat00014
Figure 112008072990009-pat00014

Figure 112008072990009-pat00015
Figure 112008072990009-pat00015

상기한 필터1,2,3들은 상술한 Qd에 의해 적응적으로 결정되며, ε는 상기 필터들의 필터링 범위를 결정하는 역할을 한다. 상기한 필터들은 H 벡터 내에 강력한 에지 즉 객체 에지가 존재하는 경우에는 이 정보를 보존해야 한다는 점과 사람의 눈이 스무스한 영역(smooth region)에 좀 더 민감한 점을 고려하여 구성한 것이다.The filters 1, 2, and 3 are adaptively determined by Qd described above, and ε serves to determine the filtering range of the filters. The above filters are constructed in consideration of preserving this information when there is a strong edge, i.e., an object edge in the H vector, and the fact that the human eye is more sensitive to a smooth region.

이러한 필터를 수학식 12와 같이 상기 H벡터에 적용하여 새로운 합성벡터 H′을 생성한다. This filter is applied to the H vector as in Equation 12 to generate a new composite vector H '.

Figure 112008072990009-pat00016
Figure 112008072990009-pat00016

상기 수학식 12에 있어서, 필터에서 정의되지 않은 값은 모두 0이다. 이것은 계산량을 줄이는데 도움을 준다. 새로운 합성벡터 H′는 곱해지는 필터에 따라 0(zero)값이 아닌 계수의 수가 달라진다. In Equation 12, all values not defined in the filter are zero. This helps to reduce the amount of computation. The new composite vector H 'has a different number of nonzero coefficients depending on the multiplying filter.

상기 수학식 12에서 H벡터에 필터 1, 필터 2, 필터 3중에 하나를 적용하는 것은 일종의 평균 필터(average filter)를 적용하는 것이다. 영상 데이터에 대한 DCT계수에서 고주파 계수를 없애는 것은 블록 결점을 없애는데 아주 효과적이지만, 그것은 영상에 대한 정보를 잃게 하고, 깁스 현상(Gibbs' phenomenon)과 같은 원치 않는 현상이 나타나게 한다. 따라서, 본 실시예에서는 저주파 성분 벡터에 포함된 고주파 계수를 버리는 대신 일종의 평균 필터를 사용하는 것이다. In Equation 12, applying one of the filter 1, the filter 2, and the filter 3 to the H vector is to apply a kind of average filter. Eliminating high-frequency coefficients in the DCT coefficients for image data is very effective at eliminating block defects, but it leads to loss of information about the image and undesired phenomena such as Gibbs' phenomenon. Therefore, the present embodiment uses a kind of average filter instead of discarding the high frequency coefficients included in the low frequency component vector.

상기한 평균 필터에 대해 좀 더 상세히 설명한다. 평균 함수 f′(t)와 f′(t)의 푸리에 변환 함수 F′(ω)가 수학식 13에 나타나 있다.The above-described average filter will be described in more detail. The Fourier transform function F '(ω) of the average function f' (t) and f '(t) is shown in Equation 13.

Figure 112008072990009-pat00017
Figure 112008072990009-pat00017

만약, f′(t)의 푸리에 변환 함수인 F′(ω)가 |ω| ≤ Ω 범위에서 잘린다면, 잘린 함수 F′Ω(ω)는 F′(ω)PΩ(ω)이다. 여기서 PΩ(ω)는 |ω| ≤ Ω의 직사각형의 펄스 함수이다. 그리고, F′Ω(ω)의 역푸리에 변환 함수 f′Ω(t)는 f′(t)의 가중평균(weighted average)이다. If the Fourier transform function F '(ω) of f' (t) is | ω | If truncated in the ≤ Ω range, the truncated function F ' Ω (ω) is F' (ω) P Ω (ω). Where P Ω (ω) is | ω | Is a rectangular pulse function of ≤ Ω. The inverse Fourier transform function f ' ? (T) of F' ? (?) Is a weighted average of f '(t).

다시 도 4를 참조하면, 새로운 합성벡터 H′를 DCT 차원 역변환을 하여 새로운 3개의 저주파 성분 벡터 A′,B′, C′를 생성한다(S45). 상기 새로운 3개의 저주파 성분 벡터는 수학식 14에 의해 구해진다. Referring back to FIG. 4, three new low frequency component vectors A ′, B ′ and C ′ are generated by performing DCT dimensional inverse transformation on the new composite vector H ′ (S45). The new three low frequency component vectors are obtained by equation (14).

Figure 112008072990009-pat00018
Figure 112008072990009-pat00018

상기 수학식 14에서 벡터 A′,B′,C′는 필터링 과정을 거친 벡터들이다.In Equation 14, vectors A ', B', and C 'are vectors that have undergone a filtering process.

상기 수학식 14에서 상기 TA, TB, Tc 행렬은 많은 계수가 0이고, 상기 TA 및 Tc행렬이 서로 유사하다는 사실을 이용하여 상기 수학식 14에서 많은 연산량을 줄일 수 있다. 예컨대, B′[0]은 수학식 15 와 같이 간단하게 계산된다.In Equation 14, a large amount of computation can be reduced in Equation 14 by using the fact that many coefficients of the TA, TB, and Tc matrices are 0, and the TA and Tc matrices are similar to each other. For example, B '[0] is simply calculated as in equation (15).

Figure 112008072990009-pat00019
Figure 112008072990009-pat00019

상기 수학식 14에 의해 구해진 벡터 A′, B′, C′에서 벡터 A′및 벡터 B′는 8개의 계수를 그대로 두고, 벡터 C′는 처음 3개의 계수 즉,C′[0], C′[1], C′[2]만 남기고, 나머지 5개의 계수 즉, C′[3] 내지 C′[7]는 0으로 한다. 상기 벡터 C′는 다음 디블로킹 과정(도 6의 S60 참조)에서 다시 사용되는데, 이때 사용되는 3개의 계수가 상기 C′[0], C′[1], C′[2]가 된다.In the vectors A ', B' and C 'obtained by Equation 14, the vectors A' and B 'are left with eight coefficients, and the vector C' is the first three coefficients, that is, C '[0], C' [1], leaving only C '[2], and the remaining five coefficients, i.e., C' [3] through C '[7], are set to zero. The vector C 'is used again in the next deblocking process (see S60 of FIG. 6), wherein three coefficients used are C' [0], C '[1], and C' [2].

다시 도 4를 참조하면, 새로운 3개의 저주파 성분 벡터 A′, B′, C′중에서 첫 번째 벡터인 A′를 정제한다(S46).Referring to FIG. 4 again, the first vector A 'from among three new low frequency component vectors A', B ', and C' is refined (S46).

여기서 상기 A′벡터의 값을 정제(Refine) 하는 이유는 본 발명은 3개의 블록에 대한 동일 라인 단위로 디블로킹을 하기 때문에 디블로킹 과정을 통해 새로운 블록 결점이 발생할 수 있기 때문이다. The reason for refining the value of the A 'vector is because the present invention deblocks three blocks in the same line unit, and thus a new block defect may occur through the deblocking process.

상기 A′벡터의 정제 과정은 수학식 16을 이용한다.Equation 16 is used to refine the A 'vector.

Figure 112008072990009-pat00020
Figure 112008072990009-pat00020

여기서 A'refine[i]는 A'벡터를 정제한 벡터를 의미하고, Where A ' refine [i] means a vector that refines the A' vector,

Figure 112008072990009-pat00021
,
Figure 112008072990009-pat00021
,

Figure 112008072990009-pat00022
이다.
Figure 112008072990009-pat00022
to be.

그리고, Rp[i]는

Figure 112008072990009-pat00023
와 같이 정의되는 픽셀 벡터를 DCT 하여 얻어지는 값이다.Rp [i] is
Figure 112008072990009-pat00023
A value obtained by DCT a pixel vector defined as follows.

수학식 16에 의하면, 상기 정제된 벡터 A′refine는 첫 번째 픽셀 값은 변하지 않고, 나머지 픽셀 값들만 a[0]와 a′[0]의 차이에 따라 변화된다.According to Equation 16, the refined vector A ' refine does not change the first pixel value, and only the remaining pixel values change according to the difference between a [0] and a' [0].

상기한 정제 과정을 마치면 결과적으로 정제된 A′refine벡터와 정제는 되지 않고 필터링만 거친 B′벡터, C′벡터를 얻을 수 있으며, 원래의 저주파 성분 벡터인 A,B,C벡터를 상기 A′refine 벡터, B′벡터, C′벡터로 갱신한다(S47).As a result of the above purification process, the purified A ′ refined vector and the purified B ′ vector and C ′ vector can be obtained without filtering, and the A, B, and C vectors, which are the original low frequency component vectors, are converted into A ′. The refinement is updated with a refine vector, a B 'vector, and a C' vector (S47).

도 7은 디블로킹 과정에 따라 변화되는 각 블록의 저주파 성분 벡터를 나타낸 도면이다.7 is a diagram illustrating a low frequency component vector of each block that is changed according to a deblocking process.

도 7을 참조하면, 저주파 성분 벡터 A,B,C(S1-a참조)는 상기 필터링을 거친 후 벡터 A′, B′, C′으로 되고(S1-b참조), 다시 정제 과정을 거쳐 A′refine벡터, B′벡터, C′벡터로 된다(S1-c참조). 즉, 저주파 성분 벡터 A,B,C가 새로운 벡터 A′refine, B′,C′로 갱신된다.Referring to FIG. 7, the low frequency component vectors A, B, and C (see S1-a) become the vectors A ', B', and C 'after the filtering (see S1-b), and then A is refined. ' Refine vector', 'B' vector, and 'C' vector (see S1-c). That is, the low frequency component vectors A, B, and C are updated with new vectors A ' refined, B', and C '.

상기 블록 A,B,C에서 라인 #1 내지 라인 #8에 대해 상기한 과정을 반복한 후, 다시 연속하여 인접하는 3개의 블록(즉 블록 C,D,E)의 동일한 라인에 대해 디블로킹 과정을 수행한다(S2-a, S2-b, S2-c 참조). 이때, 상기 3개의 블록은 새로운 3개의 블록이 아니라 종전 디블로킹 과정에서 사용된 제일 오른쪽의 블록 즉 C블록을 포함한다. 이때, 상기 C블록의 라인 #1에 대한 저주파 성분 벡터는 전의 디블로킹 과정에서 필터링을 거친 C′벡터를 사용한다. 즉, 새로운 디블로킹 과정은 C′벡터, D 벡터 및 E벡터를 대상으로 디블로킹 과정을 수행한다. After the above process is repeated for the lines # 1 to # 8 in the blocks A, B, and C, the deblocking process is performed for the same lines of three consecutive blocks (that is, blocks C, D, and E). (See S2-a, S2-b, S2-c). In this case, the three blocks include the rightmost block, that is, the C block, used in the previous deblocking process, rather than the new three blocks. In this case, the low frequency component vector for the line # 1 of the C block uses the C ′ vector filtered through the previous deblocking process. That is, the new deblocking process performs the deblocking process on the C ′ vector, the D vector, and the E vector.

상기한 방법을 반복함으로써 수평방향의 디블로킹 과정이 끝나면, 각 블록의 각 라인에 대한 고주파 성분 벡터와 디블로킹된 저주파 성분 벡터를 각각 합하여 디블로킹된 데이터를 얻는다. When the deblocking process in the horizontal direction is completed by repeating the above method, the deblocked data is obtained by summing the high frequency component vector and the deblocked low frequency component vector for each line of each block.

이하에서는 본 실시예에 따른 디블로킹 방법에 소요되는 연산량에 대해 검토한다. 먼저 각 1x8 DCT 계수를 입력받아 저주파 성분 벡터와 고주파 성분 벡터로 분해하는 과정에 6번의 덧셈(Add, 이하 A라고 한다)과 8번의 곱셈(Multiply, 이하 M이라 한다)이 필요하다. 또한, Dif 1, Dif 2를 계산하는데 7A, 9M이 소요된다. 도 6을 참조하면, 비교함수를 덧셈 함수로 한다는 가정하에 Dif 1과 Dif 2를 T1과 비교하는데 2A가 소요되며, 그 다음 선택단계에 2A가 소요된다. 그리고, 마지막 선택 단계인 필터1, 필터2를 선택하는 단계에서 추가로 2A가 소요된다. Hereinafter, the amount of calculation required for the deblocking method according to the present embodiment will be examined. First, six additions (Add, hereinafter A) and eight multiplications (Multiply, hereinafter M) are required to receive each 1x8 DCT coefficient and decompose it into a low frequency component vector and a high frequency component vector. In addition, it takes 7A and 9M to calculate Dif 1 and Dif 2. Referring to FIG. 6, assuming that the comparison function is an addition function, it takes 2A to compare Dif 1 and Dif 2 with T1, and then 2A for the selection step. In addition, 2A is additionally required in the step of selecting filter 1 and filter 2 which are the last selection steps.

필터링을 하는 단계 이전에 정제 과정을 위해 필요한 a[0]을 계산하는데 2A, 3M이 필요하다. 필터링 후 a′[0]을 구하고 정제하는 과정에서 15A, 16M이 소요된다. 그리고, 저주파 성분 벡터와 고주파 성분 벡터를 합하는데 8A가 필요하다. 그리고, 필터1에는 65A 및 90M, 필터 2와 필터 3은 142A 및 178M이 소요된다. 한 영상 프레임에서 하나의 수평 라인에 대한 디블로킹 과정을 거치는 동안 소요되는 총 연산량은 수학식 17과 같이 나타낼 수 있다.2A and 3M are required to calculate a [0] needed for the purification process before the filtering step. After filtering, it takes 15A and 16M to calculate and refine a '[0]. 8A is required to add the low frequency component vector and the high frequency component vector. Filter 1 takes 65A and 90M, and filter 2 and filter 3 take 142A and 178M. The total amount of computation required during the deblocking process for one horizontal line in one image frame may be expressed by Equation 17.

Figure 112008072990009-pat00024
Figure 112008072990009-pat00024

상기 수학식 17에서 α,β,γ는 각각 필터1,2,3이 각각 실행되는 회수를 나타낸다. In Equation 17, α, β, and γ represent the number of times filters 1, 2, and 3 are respectively executed.

이하에서는 상술한 디블로킹 방법을 이용하는 영상 프레임의 디블로킹 장치를 설명한다. 상기 영상 프레임의 디블로킹 장치에 이용되는 디블로킹 방법에 대해서는 이미 상세히 설명하였으므로, 반복되는 설명에 대해서는 생략한다.Hereinafter, an apparatus for deblocking an image frame using the aforementioned deblocking method will be described. Since the deblocking method used for the deblocking apparatus of the image frame has been described in detail, repeated description thereof will be omitted.

도 8은 일 실시예에 따른 영상 프레임의 디블로킹 장치를 도시한 블록도이다. 도 8을 참조하면, 디블로킹 장치는 데이터 추출기(80), 데이터 분해기(81), 디블로킹 모듈(82), 메모리(83), 데이터 합성기(84)를 포함한다. 8 is a block diagram illustrating an apparatus for deblocking an image frame, according to an exemplary embodiment. Referring to FIG. 8, the deblocking apparatus includes a data extractor 80, a data decomposer 81, a deblocking module 82, a memory 83, and a data synthesizer 84.

데이터 추출기(80)는 입력되는 소정 단위의 영상 데이터로부터 DCT 계수를 추출하기 위한 수단이다. 입력되는 영상 데이터가, 영상 프레임에 대해 디코딩된 공간 도메인(Spatial domain)에서의 데이터(예컨대, RGB나 YUV등의 데이터)인 경우에는 상기 영상 데이터를 1차원 DCT를 하여 1차원 DCT 계수를 추출한다. 상기 영상 데이터가 영상 프레임의 각 블록에 대한 2차원 DCT계수인 경우에는 1차원 역(inverse) DCT를 하여 1차원 DCT 계수를 추출한다. 만약, 입력되는 영상 데이터가 1차원 DCT계수인 경우에는 데이터 추출기(80)는 포함되지 않을 수 있다. The data extractor 80 is a means for extracting DCT coefficients from image data of a predetermined unit to be input. When the input image data is data in a spatial domain decoded with respect to the image frame (for example, data such as RGB or YUV), the image data is subjected to one-dimensional DCT to extract one-dimensional DCT coefficients. . When the image data is a two-dimensional DCT coefficient for each block of the image frame, one-dimensional inverse DCT is performed to extract the one-dimensional DCT coefficient. If the input image data is a one-dimensional DCT coefficient, the data extractor 80 may not be included.

본 실시예에서는 수평방향의 디블로킹 과정을 설명하고 있으므로, 데이터 추출기(80)에서 추출하는 DCT 계수는 1x8 수평(Horizontal) DCT 계수인 것으로 하여 설명한다. 수직 방향의 디블로킹 과정에 대해서는 수평방향과 대상이 되는 라인이 차이가 있을 뿐이다.In the present embodiment, the deblocking process in the horizontal direction is described. Therefore, the DCT coefficients extracted by the data extractor 80 will be described as being 1x8 Horizontal DCT coefficients. For the deblocking process in the vertical direction, there is only a difference between the horizontal direction and the target line.

데이터 분해기(81)는 상기 데이터 추출기(80)로부터 상기 블록들에 대한 DCT 계수를 제공받아 저주파 성분과 고주파 성분으로 분해한다. The data decomposer 81 receives the DCT coefficients for the blocks from the data extractor 80 and decomposes the low frequency component and the high frequency component.

상기 분해된 고주파 성분은 메모리(83)에 저장되고, 상기 저주파 성분은 디블로킹 모듈(82)로 제공된다. 저주파 성분이 디블로킹 모듈(82)을 거쳐 나오면 메모리(83)에 저장된다.The decomposed high frequency component is stored in the memory 83 and the low frequency component is provided to the deblocking module 82. When the low frequency component passes through the deblocking module 82, it is stored in the memory 83.

디블로킹 모듈(82)은 상기 저주파 성분을 제공받아 DCT차원을 변환하고, 필터링을 하여 필터링된 저주파 성분을 생성한다. 이러한 과정은 상기 영상 프레임의 디블로킹 방법에서 상술하였으므로 생략한다.The deblocking module 82 receives the low frequency component, converts the DCT dimension, and performs filtering to generate the filtered low frequency component. This process is omitted since it has been described above in the deblocking method of the image frame.

데이터 합성기(84)는 상기 메모리(83)에 저장된 상기 고주파 성분과 상기 디 블로킹 모듈을 거쳐 생성된 필터링된 저주파 성분을 합하여 출력데이터를 생성한다. The data synthesizer 84 generates output data by summing the high frequency components stored in the memory 83 and the filtered low frequency components generated through the deblocking module.

도 9는 본 실시예에 따라 영상을 처리한 결과를 종래 기술과 비교한 그래프이다. 도 10은 본 실시예에 따라 처리된 화면의 예시를 나타내는 사진이다.9 is a graph comparing the result of processing an image according to the present embodiment with the prior art. 10 is a photograph showing an example of a screen processed according to the present embodiment.

도 9를 참조하면, 영상은 단색(monochrome) 512x512 사이즈이며 (a)는 Lena, (b)는 Barbara, (c)는 Pepper 영상을 대상으로 한 것이다. 도 9 및 도 10에서 [1]는 참고문헌 C. Wang, P. Xue, W. Lin, W. Zhang, and S. Yu, "Fast Edge-Preserved Postprocessing for Compressed Image," IEEE Trans. CircuitsSyst. VideoTechnol., vol.16, no.9, pp. 1142-1147, Sep.2006에 개시된 방법에 의한 것이고, [2]는 참고문헌 Y. Luo, and R. K. Ward, "Removing the Blocking Artifacts of Block-Based DCT Compressed Images," IEEETrans.ImageProcess., vol. 12, no. 7, pp. 838-842, Jul. 2003. 에 개시된 방법에 의한 것이다. Referring to FIG. 9, the image is a monochrome 512x512 size (a) is Lena, (b) is Barbara, and (c) is Pepper image. 9 and 10, reference is made to references C. Wang, P. Xue, W. Lin, W. Zhang, and S. Yu, “Fast Edge-Preserved Postprocessing for Compressed Image,” IEEE Trans. CircuitsSyst. Video Technol., Vol. 16, no. 9, pp. 1142-1147, Sep. 2006, [2], which is described in reference Y. Luo, and RK Ward, "Removing the Blocking Artifacts of Block-Based DCT Compressed Images," IEEE Trans. ImageProcess. , vol. 12, no. 7, pp. 838-842, Jul. By the method disclosed in 2003.

상기 [1]은 신호를 분해하여 영상신호를 두 부분으로 나누고 한 부분의 신호에 대하여 일정 이상의 성분을 제거하여 디블록킹을 실행하는 방법이고, 상기 [2]는 원본 영상에 대한 DCT 정보를 이용하여 디블록킹 연산을 수행할 부분과 아닌 부분을 판단하여 상하 좌우 블록의 DCT를 값을 사용하여 경계 부분의 영상 정보를 조정하는 방법이다. [1] is a method of dividing a video signal into two parts by decomposing the signal, and performing a deblocking operation by removing at least one component from a signal of one part, and [2] using DCT information on an original video. A method of adjusting image information of a boundary portion by using DCT values of up, down, left, and right blocks by determining a portion to perform a deblocking operation and a portion that is not.

이상에서 상세하게 설명한 본 발명의 실시예는 단지 본 발명의 기술 사상을 보여주기 위한 예시적인 것으로서, 상기 실시예에 의하여 본 발명의 기술 사상이 한정되는 것으로 해석되어서는 안된다. 본 발명의 보호 범위는 후술하는 본 발명의 특허청구범위에 의하여 특정된다.The embodiments of the present invention described in detail above are merely illustrative of the technical idea of the present invention, and should not be construed as limiting the technical idea of the present invention by the embodiments. The protection scope of the present invention is specified by the claims of the present invention described later.

도 1은 본 실시예에 따른 디블로킹 방법을 개략적으로 나타낸 도면이다.1 is a view schematically showing a deblocking method according to the present embodiment.

도 2는 본 실시예에서 수평방향으로 디블로킹 할 때의 대상이 되는 라인들을 나타낸 도면이다.FIG. 2 is a diagram illustrating lines that are an object when deblocking in a horizontal direction in this embodiment.

도 3은 본 실시예에 따른 디블로킹 과정의 대상을 나타내는 도면이다.3 is a diagram illustrating an object of a deblocking process according to the present embodiment.

도 4는 본 실시예에 따른 디블로킹 방법을 나타낸 순서도이다. 4 is a flowchart illustrating a deblocking method according to the present embodiment.

도 5는 본 실시예에 따른 디블로킹 과정의 대상을 다시 나타내는 도면이다. 5 is a diagram illustrating the object of the deblocking process according to the present embodiment.

도 6은 본 실시예에 따른 필터를 선택하는 단계에 대한 플로우 차트이다.6 is a flowchart for selecting a filter according to the present embodiment.

도 7은 디블로킹 과정에 따라 변화되는 각 블록의 저주파 성분 벡터를 나타낸 도면이다.7 is a diagram illustrating a low frequency component vector of each block that is changed according to a deblocking process.

도 8은 일 실시예에 따른 영상 프레임의 디블로킹 장치를 도시한 블록도이다.8 is a block diagram illustrating an apparatus for deblocking an image frame, according to an exemplary embodiment.

도 9는 본 실시예에 따라 영상을 처리한 결과를 종래 기술과 비교한 그래프이다. 9 is a graph comparing the result of processing an image according to the present embodiment with the prior art.

도 10은 본 실시예에 따라 처리된 화면의 예시를 나타내는 사진이다.10 is a photograph showing an example of a screen processed according to the present embodiment.

Claims (11)

영상 프레임에서 연속하여 인접한 3개의 NxM(N,M은 2이상의 정수)블록 각각에서 동일한 라인에 대한 DCT계수들을 저주파 성분과 고주파 성분으로 분리하는 단계;Separating DCT coefficients for the same line into a low frequency component and a high frequency component in each of three consecutive NxM blocks (N and M are integers of 2 or more) consecutively in an image frame; 상기 저주파 성분들을 이용하여 상기 라인에 포함된 에지(edge)의 수를 판단하는 단계;Determining the number of edges included in the line using the low frequency components; 상기 에지의 수에 기초하여 상기 저주파 성분들에 대하여 상이한 필터링을 수행하는 단계;Performing different filtering on the low frequency components based on the number of edges; 상기 필터링 단계를 거친 저주파 성분들과 상기 고주파 성분들을 합하여 상기 DCT계수들을 재구성하는 단계를 포함하는 영상 프레임의 디블로킹 방법.And reconstructing the DCT coefficients by adding the low frequency components and the high frequency components that have passed through the filtering. 제 1항에 있어서, 상기 저주파 성분은,The method of claim 1, wherein the low frequency component, 상기 DCT계수들 중에서 DC(직류) 계수 및 기본파에 대한 계수 각각에 나머지 AC계수값을 반영하는 팩터를 더하여 구성되고, Among the DCT coefficients, each of the coefficients for the DC (direct current) coefficient and the fundamental wave is configured by adding a factor reflecting the remaining AC coefficient values. 상기 고주파 성분은 상기 DCT계수들에서 상기 저주파 성분들을 뺀 것으로 구성되는 것을 특징으로 하는 영상 프레임의 디블로킹 방법.The high frequency component is a deblocking method of an image frame, characterized in that consisting of the DCT coefficients minus the low frequency components. 제 2항에 있어서, 상기 블록이 8x8 사이즈인 경우, 수학식 1과 같이 상기 저주파 성분과 상기 고주파 성분이 구해지는 것을 특징으로 하는 영상 프레임의 디블로킹 방법.The method of claim 2, wherein when the block is 8x8 size, the low frequency component and the high frequency component are calculated as in Equation 1. (수학식 1)(Equation 1)
Figure 112008072990009-pat00025
Figure 112008072990009-pat00025
여기에서, X[n](0≤n≤7)는 상기 라인에 대한 DCT계수들을 나타내는 벡터이고, LF_X[n](0≤n≤7)는 저주파 성분, HF_X[n](0≤n≤7)는 고주파 성분을 표시하는 벡터이다. 또한, 상기 수학식 1에서
Figure 112008072990009-pat00026
이고,
Figure 112008072990009-pat00027
이다.
Where X [n] (0 ≦ n ≦ 7) is a vector representing the DCT coefficients for the line, and LF_X [n] (0 ≦ n ≦ 7) is a low frequency component, HF_X [n] (0 ≦ n ≦ 7) is a vector representing a high frequency component. In addition, in Equation 1
Figure 112008072990009-pat00026
ego,
Figure 112008072990009-pat00027
to be.
제 1항에 있어서, 상기 에지의 수를 판단하는 단계는, The method of claim 1, wherein the determining of the number of edges comprises: 제1 픽셀차분값(Dif 1) 및 제2 픽셀차분값(Dif 2)이 제1 문턱치보다 큰 경우에는 에지가 2개라고 판단하고, 그렇지 않은 경우에는 에지가 1개 또는 0개로 판단 하는 것을 특징으로 하는 영상 프레임의 디블로킹 방법.If the first pixel difference value Dif 1 and the second pixel difference value Dif 2 are greater than the first threshold value, two edges are determined. Otherwise, the edge is determined to be one or zero edges. The deblocking method of the video frame. 여기에서, 상기 제1 픽셀차분값은 상기 3개의 블록을 왼쪽부터 A블록, B블록, C블록이라고 할 때, 상기 A블록과 B블록의 동일한 라인에 대한 경계에 위치한 2개의 픽셀들의 픽셀값의 차이이고, 상기 제2 픽셀차분값은 상기 B블록과 C블록의 동일한 라인에 대한 경계에 위치한 2개의 픽셀들의 픽셀값의 차이이다. 또한, 제1문턱치(T1)는 상기 DCT 계수들에서 DC계수가 양자화 간격(DC quantization interval)만큼 차이가 있을 때 양자화, 역양자화 및 IDCT(Inverse DCT)에 의해 계산되는 픽셀값의 차이(이하 Qd라 한다)에 적응적으로 결정되는 것으로 수학식 2와 같이 결정되는 값이다.Here, the first pixel difference value is a value of the pixel value of two pixels located at the boundary of the same line of the A block and the B block when the three blocks are called A blocks, B blocks, and C blocks from the left. The second pixel difference value is a difference between pixel values of two pixels located at a boundary of the same line of the B block and the C block. In addition, the first threshold T1 is a difference between pixel values calculated by quantization, inverse quantization, and Inverse DCT (IDC) when the DC coefficients are different from each other by the DC quantization interval. It is determined adaptively as shown in Equation 2). (수학식 2)(Equation 2)
Figure 112008072990009-pat00028
Figure 112008072990009-pat00028
제 1항에 있어서, 상기 필터링하는 단계 전에 The method of claim 1, wherein before the filtering 상기 저주파 성분들을 다른 DCT차원(dimension)으로 변환하는 소정의 테이블(table)을 적용하여 DCT 차원을 변환하는 단계를 더 포함하는 것을 특징으로 하는 영상 프레임의 디블로킹 방법.And converting the DCT dimension by applying a predetermined table for converting the low frequency components into another DCT dimension. 제 5항에 있어서, 상기 블록의 사이즈가 8x8인 경우, 상기 DCT차원을 변환하 는 테이블은 수학식 3과 같이 결정되고, 상기 DCT차원을 변환하는 것은 수학식 4와 같이 결정되는 것을 특징으로 하는 디블로킹 방법.The method of claim 5, wherein when the size of the block is 8x8, the table for transforming the DCT dimension is determined as in Equation 3, and the transforming the DCT dimension is determined as in Equation 4. Deblocking method. (수학식 3)(Equation 3)
Figure 112008072990009-pat00029
Figure 112008072990009-pat00029
여기서, 상기 3개의 블록을 왼쪽부터 A블록, B블록, C블록이라고 할 때 TA, TB, TC는 각 블록에 대한 변환 테이블이고,Here, when the three blocks are called A blocks, B blocks, and C blocks from the left, T A , T B , and T C are conversion tables for each block.
Figure 112008072990009-pat00030
Figure 112008072990009-pat00030
이며, T24a, T24b, T24c 는 T24a = T24[i,j], T24b =T24[i,j+8], T24c=T24[i,j+16] (0≤i≤11, 0≤j≤7, i,j 는 정수)이고, T 24a, T 24b, T 24c are T 24a = T 24 [i, j], T 24b = T 24 [i, j + 8], T 24c = T 24 [i, j + 16] (0≤ i≤11, 0≤j≤7, i, j are integers)
Figure 112008072990009-pat00031
이다.
Figure 112008072990009-pat00031
to be.
(수학식 4)(Equation 4)
Figure 112008072990009-pat00032
Figure 112008072990009-pat00032
여기서, H[j]는 상기 A블록, B블록, C블록의 저주파 성분인 A[i],B[i],C[i]를 다른 DCT차원으로 변환한 벡터를 나타낸다.Here, H [j] represents a vector obtained by converting A [i], B [i], C [i], which are low frequency components of the A block, B block, and C block, into another DCT dimension.
제 6항에 있어서, 상기 필터링하는 단계에 사용되는 필터는 Qd(상기 DCT 계수들에서 DC계수가 양자화 간격(DC quantization interval)만큼 차이가 있을 때 양자화, 역양자화 및 IDCT(Inverse DCT)에 의해 계산되는 픽셀값의 차이)에 적응적으로 결정되고, 수학식 5에 의해 결정되는 것 중 하나인 것을 특징으로 하는 영상 프레임의 디블로킹 방법.The method of claim 6, wherein the filter used in the filtering step is calculated by Qd (quantization, inverse quantization, and inverse DCT) when the DC coefficient in the DCT coefficients is different by a DC quantization interval. And one of those determined by Equation (5). (수학식 5)(5)
Figure 112008072990009-pat00033
Figure 112008072990009-pat00033
Figure 112008072990009-pat00034
Figure 112008072990009-pat00034
Figure 112008072990009-pat00035
Figure 112008072990009-pat00035
(
Figure 112008072990009-pat00036
)
(
Figure 112008072990009-pat00036
)
제 7항에 있어서, 상기 에지의 수를 판단하는 단계 및 상기 에지의 수에 기초하여 적응적으로 필터링을 하는 단계는, The method of claim 7, wherein determining the number of edges and adaptively filtering based on the number of edges, 제1 픽셀차분값 및 제2 픽셀차분값을 계산하는 단계;Calculating a first pixel difference value and a second pixel difference value; 상기 제1 픽셀차분값 및 상기 제2 픽셀차분값을 제1 문턱치와 비교하는 단계; Comparing the first pixel difference value and the second pixel difference value with a first threshold; 상기 제1 픽셀차분값 및 상기 제2 픽셀차분값이 상기 제1 문턱치보다 작은 경우, When the first pixel difference value and the second pixel difference value are smaller than the first threshold, A[1]의 절대값, B[1]의 절대값 및 C[1]의 절대값이 제2 문턱치보다 작으면 상기 수학식 5의 필터 1을 적용하고, 그 외의 경우에는 상기 수학식 5의 필터 2를 적용하는 단계; 및 If the absolute value of A [1], the absolute value of B [1], and the absolute value of C [1] are less than the second threshold, filter 1 of Equation 5 is applied; otherwise, Equation 5 Applying filter 2; And 상기 제1 픽셀차분값 및 상기 제2 픽셀차분값 중 어느 하나는 상기 제1 문턱치보다 크고 나머지 하나는 상기 제1 문턱치보다 작은 경우, When one of the first pixel difference value and the second pixel difference value is larger than the first threshold and the other is smaller than the first threshold, 상기 수학식 5의 필터 3을 적용하는 단계를 포함하는 것을 특징으로 하는 영상 프레임의 디블로킹 방법.And applying filter 3 of Equation 5 to the deblocking method of an image frame. 여기에서, 상기 연속하여 인접한 3개의 NxM 블록을 왼쪽부터 각각 A블록, B블록, C블록이라고 하고, 상기 각 블록의 동일 라인에 대한 저주파 성분을 각각 A[n], B[n], C[n](0≤n≤7)과 같이 나타내며, 상기 각 블록의 동일 라인에 대한 픽셀값을 각각 a[n],b[n],c[n](0≤n≤7)이라고 나타낸다. 그러면, 상기 제1 픽셀차분값(Dif 1) 및 상기 제2픽셀차분값(Dif 2)은 수학식 6과 같이 결정되고, 상기 제1 문턱치(T1) 및 상기 제 2문턱치(T2)는 수학식 7과 같이 결정된다. Here, the three consecutive adjacent NxM blocks are called A blocks, B blocks, and C blocks from the left, respectively, and low frequency components for the same line of each block are A [n], B [n], and C [, respectively. n] (0 ≦ n ≦ 7), and the pixel values for the same line of each block are denoted as a [n], b [n], c [n] (0 ≦ n ≦ 7). Then, the first pixel difference value Dif 1 and the second pixel difference value Dif 2 are determined as in Equation 6, and the first threshold value T1 and the second threshold value T2 are expressed in Equation 6 below. Is determined as follows. (수학식 6)(6)
Figure 112010034390879-pat00037
Figure 112010034390879-pat00037
Figure 112010034390879-pat00038
)
Figure 112010034390879-pat00038
)
(수학식 7)(Equation 7)
Figure 112010034390879-pat00056
Figure 112010034390879-pat00056
Figure 112010034390879-pat00039
Figure 112010034390879-pat00039
수학식 7에서 Qd는 DCT 도메인의 DC계수에 대한 양자화 간격(DC quantization interval)을 역양자화하여 계산되는 픽셀값의 차이를 의미한다.In Equation 7, Qd denotes a difference between pixel values calculated by inverse quantization of a DC quantization interval with respect to a DC coefficient of a DCT domain.
제 8항에 있어서, 상기 필터링 단계를 거친 저주파 성분은 수학식 8과 같이 결정되는 것을 특징으로 하는 영상프레임의 디블로킹 방법.10. The method of claim 8, wherein the low frequency component that has passed through the filtering step is determined as in Equation (8). (수학식 8)(Equation 8)
Figure 112008072990009-pat00040
Figure 112008072990009-pat00040
여기서, A'[i], B'[i], C'[i]는 필터링 후의 저주파 성분을 표시하고, H'[i]는 수학식 9와 같이 결정된다.Here, A '[i], B' [i], and C '[i] represent low frequency components after filtering, and H' [i] is determined as in Equation (9). (수학식 9)(Equation 9)
Figure 112008072990009-pat00041
Figure 112008072990009-pat00041
제 9항에 있어서, 상기 필터링하는 단계와 상기 DCT 계수를 재구성하는 단계 사이에, 수학식 10과 같이 저주파 성분을 정제하는 정제단계를 더 포함하는 영상 프레임의 디블로킹 방법.10. The method of claim 9, further comprising a refinement step of purifying low frequency components, as shown in Equation 10, between the filtering and reconstructing the DCT coefficients. (수학식 10)(Equation 10)
Figure 112008072990009-pat00042
Figure 112008072990009-pat00042
여기서, A'refine[i]는 정제된 저주파 성분, Where A'refine [i] is a purified low frequency component,
Figure 112008072990009-pat00043
,
Figure 112008072990009-pat00043
,
Figure 112008072990009-pat00044
,
Figure 112008072990009-pat00044
,
Rp[i]는
Figure 112008072990009-pat00045
를 DCT한 값이다. 또한, 상기 3개의 블록을 왼쪽에서 오른쪽 방향으로 각각 A블록, B블록, C블록이라고 할때, 상기 A블록의 상기 라인에 대한 저주파 성분을 A[n](0≤n≤7, n은 정수), 상기 라인에 대한 픽셀값을 a[n](0≤n≤7, n은 정수)이라고 하고, 상기 필터링 후의 상기 라인에 대한 저주파 성분을 A′[n], 픽셀값을 a′[n] 으로 표시한다.
Rp [i] is
Figure 112008072990009-pat00045
Is the DCT value. Further, when the three blocks are called A blocks, B blocks, and C blocks from left to right, respectively, the low frequency component for the line of the A block is A [n] (0 ≦ n ≦ 7, where n is an integer). ), The pixel value for the line is a [n] (0 ≦ n ≦ 7, n is an integer), the low frequency component for the line after the filtering is A ′ [n], and the pixel value is a ′ [n ].
연속하여 인접한 3개의 블록의 동일한 라인에 대한 DCT계수를 저주파 성분과 고주파 성분으로 분리하는 데이터 분해기;A data decomposer for separating the DCT coefficients for the same lines of three consecutive adjacent blocks into a low frequency component and a high frequency component; 상기 저주파 성분들을 이용하여 상기 라인에 포함된 에지(edge)의 수를 판단하고, 상기 에지의 수에 기초하여 상기 저주파 성분들에게 상이한 필터링을 수행하는 디블로킹 모듈; 및 A deblocking module configured to determine the number of edges included in the line using the low frequency components, and to perform different filtering on the low frequency components based on the number of edges; And 상기 필터링된 저주파 성분과 상기 고주파 성분을 합하여 상기 DCT계수를 재구성하는 데이터 합성기를 포함하는 것을 특징으로 하는 영상 프레임의 디블로킹 장치.And a data synthesizer configured to reconstruct the DCT coefficient by adding the filtered low frequency component and the high frequency component.
KR1020080103085A 2008-10-21 2008-10-21 Deblocking method and equipment for image data KR100982835B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080103085A KR100982835B1 (en) 2008-10-21 2008-10-21 Deblocking method and equipment for image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080103085A KR100982835B1 (en) 2008-10-21 2008-10-21 Deblocking method and equipment for image data

Publications (2)

Publication Number Publication Date
KR20100043858A KR20100043858A (en) 2010-04-29
KR100982835B1 true KR100982835B1 (en) 2010-09-16

Family

ID=42218779

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080103085A KR100982835B1 (en) 2008-10-21 2008-10-21 Deblocking method and equipment for image data

Country Status (1)

Country Link
KR (1) KR100982835B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101286405B1 (en) * 2011-10-06 2013-07-18 경희대학교 산학협력단 Method for improving sharpness based on gradient of image
US11800240B2 (en) 2021-04-13 2023-10-24 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100683060B1 (en) 2004-12-08 2007-02-15 한국전자통신연구원 Device and method for deblocking of video frame

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100683060B1 (en) 2004-12-08 2007-02-15 한국전자통신연구원 Device and method for deblocking of video frame

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101286405B1 (en) * 2011-10-06 2013-07-18 경희대학교 산학협력단 Method for improving sharpness based on gradient of image
US11800240B2 (en) 2021-04-13 2023-10-24 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof

Also Published As

Publication number Publication date
KR20100043858A (en) 2010-04-29

Similar Documents

Publication Publication Date Title
Triantafyllidis et al. Blocking artifact detection and reduction in compressed data
Konstantinides et al. Noise estimation and filtering using block-based singular value decomposition
US6240135B1 (en) Method of removing blocking artifacts in a coding system of a moving picture
KR100237805B1 (en) Spatially adaptive filtering for video encoding
US6636645B1 (en) Image processing method for reducing noise and blocking artifact in a digital image
US6370279B1 (en) Block-based image processing method and apparatus therefor
JP4004089B2 (en) Video signal decoding system and noise suppression method
KR100983996B1 (en) Method and apparatus for improving video quality of low bit-rate video
US20050100235A1 (en) System and method for classifying and filtering pixels
JP2000059769A (en) Method and system for loop-filtering video data
US20090180700A1 (en) De-blocking filter and method for de-blocking filtering of video data
JP2000232651A (en) Method for removing distortion in decoded electronic image from image expression subtected to block transformation and encoding
EP1439711A2 (en) Method for blocking artifact reduction
EP1499114A2 (en) Noise reduction apparatus
US7003170B1 (en) Methods and apparatus for improving quality of block-transform coded images
Vo et al. Quality enhancement for motion JPEG using temporal redundancies
Nakajima et al. A pel adaptive reduction of coding artifacts for MPEG video signals
WO2019166317A1 (en) A spectrally adaptive noise filling tool (sanft) for perceptual transform coding of still and moving images
CN110115033B (en) Mixed domain collaborative post-filter for lossy still image coding
KR100982835B1 (en) Deblocking method and equipment for image data
Ono et al. Optimized JPEG image decompression with super-resolution interpolation using multi-order total variation
Wang et al. Fast edge-preserved postprocessing for compressed images
JPH11187400A (en) Method for removing distorting and its filter
EP3982632A1 (en) Image coding device, image decoding device, method, and program
Kapinaiah et al. Block DCT to wavelet transcoding in transform domain

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: 20130628

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140528

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160705

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 10