KR101063423B1 - Deblock filtering method and apparatus - Google Patents
Deblock filtering method and apparatus Download PDFInfo
- Publication number
- KR101063423B1 KR101063423B1 KR1020090018630A KR20090018630A KR101063423B1 KR 101063423 B1 KR101063423 B1 KR 101063423B1 KR 1020090018630 A KR1020090018630 A KR 1020090018630A KR 20090018630 A KR20090018630 A KR 20090018630A KR 101063423 B1 KR101063423 B1 KR 101063423B1
- Authority
- KR
- South Korea
- Prior art keywords
- unit blocks
- previous
- processing
- filtering
- macroblock
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 일 실시예에 따른 디블록 필터링 방법은 이전 매크로블록들에 포함되는 제 1 이전 단위 블록들 및 제 2 이전 단위 블록들을 준비하는 단계; 디블록 필터링을 수행할 처리 매크로블록에 포함되는 처리 단위 블록들을 준비하는 단계; 상기 제 1 및 제 2 이전 단위 블록들 및 상기 제 1 이전 단위 블록들과 인접한 처리 단위 블록들의 정보를 이용하여 상기 제 1 이전 단위 블록들을 디블록 필터링하는 단계; 및 상기 제 1 및 제 2 이전 단위 블록들 및 상기 처리 단위 블록의 정보를 이용하여 적어도 하나의 상기 처리 단위 블록을 디블록 필터링하는 단계를 포함한다. 본 발명에 따르면, 영상 데이터의 디코딩 과정에서 요구되는 내부메모리의 용량을 감소시킬 수 있고, 외부메모리 액세스에 필요한 대역폭을 감소시킬 수 있다.Deblocking filtering method according to an embodiment of the present invention comprises the steps of preparing the first previous unit blocks and the second previous unit blocks included in the previous macroblocks; Preparing processing unit blocks included in a processing macroblock to perform deblocking filtering; Deblocking the first previous unit blocks by using information of the first and second previous unit blocks and the processing unit blocks adjacent to the first previous unit blocks; And deblocking filtering the at least one processing unit block by using information of the first and second previous unit blocks and the processing unit block. According to the present invention, the capacity of the internal memory required in the decoding process of the image data can be reduced, and the bandwidth required for accessing the external memory can be reduced.
Description
본 발명은 영상 처리에 관한 것으로 보다 상세하게는 영상 데이터에 대한 디블록 필터링 방법 및 장치에 관한 것이다. The present invention relates to image processing, and more particularly, to a method and apparatus for deblocking filtering of image data.
비디오 디코딩(video decoding)에서 블로킹(blocking) 현상을 제거하기 위해 디블록 필터링(deblock filtering)이 종종 사용된다. 블로킹 현상은 복원된 영상에서 시각적으로 인지 가능하게 블록간의 경계가 단절되어 나타나는 블록화 현상을 의미한다. 블로킹 현상은 영상 데이터를 블록 단위로 압축 부호화한 후 디코딩하는 과정에서 발생하는데, 상기 블록 단위의 압축 부호화 과정에는 입력 영상의 손실이 생기는 양자화 과정이 포함되어 있기 때문이다. 그리고, 디코딩 시에 이전 영상이나 현재 영상의 이웃 블록을 참조하는 과정에서 블록마다 서로 다른 이웃 블록을 참조하는 경우가 있기 때문에 복원된 영상에서 블로킹 현상이 발생한다. Deblock filtering is often used to remove the blocking phenomenon in video decoding. The blocking phenomenon refers to a blocking phenomenon in which a boundary between blocks is visually recognizable in a reconstructed image. The blocking phenomenon occurs in the process of compressing and decoding the image data in block units, since the block encoding process includes a quantization process in which an input image is lost. In the process of referring to a neighboring block of a previous or current image at the time of decoding, a blocking phenomenon occurs in the reconstructed image because different blocks are referred to different blocks for each block.
이러한 블로킹 현상을 감소시키기 위해 디코딩된 각각의 매크로블록에 대해 디블록 필터로 디블록 필터링을 한다. 디블록 필터는 블록의 가장자리를 부드럽게 하여 디코딩된 프레임의 화질을 향상시키도록 하는 필터이다. 디블록 필터로 필터 링된 이미지는 미래 프레임의 움직임 보상 예측을 위해 사용될 수 있다. 이러한 경우, 미래 프레임이 원본 영상에 더 충실하게 복원되기 때문에 압축 성능을 향상시킬 수 있다. To reduce this blocking phenomenon, deblocking filtering is performed with a deblocking filter for each decoded macroblock. The deblock filter is a filter for smoothing the edges of blocks to improve the quality of decoded frames. The image filtered with the deblocking filter can be used for motion compensated prediction of future frames. In this case, the compression performance can be improved because the future frame is more faithfully restored to the original image.
상술한 디코딩 및 디블록 필터링 과정은 임베디드(embedded) 환경에서 수행되는 경우가 많다. 임베디드 환경에서는 내부메모리의 크기를 작게 하는 것이 중요하며, 외부메모리에 액세스(access)하는데 필요한 대역폭을 줄이는 것이 중요하다.The above decoding and deblocking filtering process is often performed in an embedded environment. In an embedded environment, it is important to reduce the size of internal memory, and it is important to reduce the bandwidth required to access external memory.
본 발명이 이루고자 하는 기술적 과제는 영상 데이터에 대한 디블록 필터링 과정에서 요구되는 내부메모리의 용량을 감소시키고, 외부메모리 액세스에 필요한 대역폭을 감소시키는 방법 및 장치를 제공하는 것이다. An object of the present invention is to provide a method and apparatus for reducing the capacity of the internal memory required in the deblocking filtering process for image data and reducing the bandwidth required for external memory access.
이러한 기술적 과제를 해결하기 위하여 본 발명은 일 측면(Aspect)에서 디블록 필터링 방법을 제공한다. 상기 디블록 필터링 방법은 이전 매크로블록들에 포함되는 제 1 이전 단위 블록들 및 제 2 이전 단위 블록들을 준비하는 단계; 디블록 필터링을 수행할 처리 매크로블록에 포함되는 처리 단위 블록들을 준비하는 단계; 상기 제 1 및 제 2 이전 단위 블록들 및 상기 제 1 이전 단위 블록들과 인접한 처리 단위 블록들의 정보를 이용하여 상기 제 1 이전 단위 블록들을 디블록 필터링하는 단계; 및 상기 제 1 및 제 2 이전 단위 블록들 및 상기 처리 단위 블록의 정보 를 이용하여 적어도 하나의 상기 처리 단위 블록을 디블록 필터링하는 단계를 포함한다. In order to solve this technical problem, the present invention provides a deblocking filtering method in an aspect. The deblocking filtering method may include preparing first previous unit blocks and second previous unit blocks included in previous macroblocks; Preparing processing unit blocks included in a processing macroblock to perform deblocking filtering; Deblocking the first previous unit blocks by using information of the first and second previous unit blocks and the processing unit blocks adjacent to the first previous unit blocks; And deblocking filtering the at least one processing unit block by using information of the first and second previous unit blocks and the processing unit block.
상술한 기술적 과제를 해결하기 위하여 본 발명은 다른 측면에서 디블록 필터링 장치를 제공한다. 상기 디블록 필터링 장치는 디블록 필터링을 수행할 처리 매크로블록의 처리 단위 블록들 및 이전 매크로블록들의 제 1 이전 단위 블록들 및 제 2 이전 단위 블록들을 저장하는 내부 메모리; 및 상기 내부메모리에 저장된 단위 블록들을 이용하여 디블록 필터링을 수행하되, 상기 제 1 이전 단위 블록들에 대한 디블록 필터링을 우선적으로 수행한 후 상기 처리 단위 블록들 중 적어도 하나의 단위 블록에 대한 디블록 필터링을 수행하는 디코딩 프로세서를 포함한다.In order to solve the above technical problem, the present invention provides a deblocking filtering device in another aspect. The deblocking filtering device may include an internal memory configured to store processing unit blocks of a processing macroblock and first previous unit blocks and second previous unit blocks of previous macroblocks to perform deblocking filtering; And deblocking filtering using the unit blocks stored in the internal memory, and performing deblocking filtering on the first previous unit blocks first, and then performing deblocking on at least one unit block among the processing unit blocks. And a decoding processor for performing block filtering.
이상 설명한 바와 같이, 본 발명에 따른 디블록 필터링 방법 및 장치는 영상의 디코딩 과정에서 요구되는 내부메모리의 용량을 감소시킬 수 있고, 외부메모리 액세스에 필요한 대역폭을 감소시킬 수 있다. As described above, the deblocking filtering method and apparatus according to the present invention can reduce the capacity of the internal memory required in the decoding process of an image and reduce the bandwidth required for accessing the external memory.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 도면에서 각 구성 요소의 구조나 크기는 설명의 편의 및 명확성을 위하여 과장될 수 있고, 설명과 관계없는 부분은 생략되었다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. 한편, 사용되는 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the structure or size of each component may be exaggerated for convenience and clarity of description, and parts irrelevant to the description are omitted. Like numbers refer to like elements in the figures. On the other hand, the terms used are used only for the purpose of illustrating the present invention and are not used to limit the scope of the invention described in the meaning or claims.
도 1은 영상의 디코딩(decoding) 과정을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 디코딩 과정은 엔트로피(entropy) 디코딩(110), 역양자화(Inverse Quantization,120), 역변환(Inverse Transform, 130), 인트라/인터 예측(Intra/Inter prediction, 140), 디블록 필터링(Deblock filtering,150)으로 구성된다. 1 is a block diagram illustrating a decoding process of an image. As shown in FIG. 1, the decoding process includes
엔트로피 디코딩(110)은 VLC(Variable-Length Coding)에 의해 부호화된 입력스트림을 복호화하는 과정이다. 상기 입력스트림에는 헤더(header)정보, 디코딩 파라미터, 정수 변환(Integer Transform) 정보 등을 포함한다. 엔트로피 디코딩(110)을 통해 복호화되는 것은 MD(Motion Difference), 레지듀얼(residual) 등이다.
역양자화(120) 과정은 MD, 레지듀얼 등을 제공받아 역양자화한다. 역양자화 (120)과정에서는 부호화시에 사용된 양자화값을 이용하여 역양자화한다. Inverse quantization (120) process is provided by MD, residual, and the like to dequantize. In the
역양자화된 정보는 역변환(예를 들면, IDCT)된다. 역변환(130) 과정에서 4x4 DCT와 같은 특성을 갖는 정수변환(Integer Transform)이 수행될 수 있다. 역양자화(120)와 역변환(130) 과정을 통해 참조 프레임과 현재 프레임 간의 차이값에 관한 정보를 생성한다. 인트라/인터 예측(140)은 상기 참조 프레임과 현재 프레임 간의 차이값에 관한 정보를 이용하여 현재 프레임을 디코딩한다. Inverse quantized information is inverse transformed (eg, IDCT). An integer transform having a characteristic such as 4x4 DCT may be performed in the
디블록 필터링(150)은 디코딩된 현재 프레임에서 블록간에 발생하는 블록킹(blocking) 현상을 개선한다. 본 발명에 따른 디블록 필터링 방법 및 장치는 이러한 디블록 필터링 과정에 적용될 수 있다. The deblock filtering 150 improves the blocking phenomenon that occurs between blocks in the current decoded frame. The deblocking filtering method and apparatus according to the present invention can be applied to such a deblocking filtering process.
도 2는 디블록 필터링이 수행되는 하나의 프레임(frame)을 개념적으로 나타낸 도면이다. FIG. 2 conceptually illustrates one frame in which deblocking filtering is performed.
도 2에서 매크로블록(Macro Block, MB, 201)을 MB(n,,m)(여기서, 0≤n≤N, 0≤m≤M, n,m은 정수, N,M은 자연수 중 어느 하나로 프레임의 크기에 따라 결정된다)으로 나타낸다. 이하에서 매크로블록(201)을 편의상 MB(n,m)와 같은 형식으로 나타내기로 한다. 이때, 상기 n은 프레임(100) 상에서 매크로블록의 열(column)번호를 표시하고, 상기 m은 매크로블록의 행(row)번호를 표시한다. In FIG. 2, the macroblock MB, 201 is represented by MB (n ,, m) (where 0 ≦ n ≦ N, 0 ≦ m ≦ M, n, m is an integer, and N, M is any one of natural numbers). Determined by the size of the frame). Hereinafter, the
도 2에 도시된 바와 같이, 하나의 프레임(100)은 다수개의 매크로블록(201)으로 구성된다. 매크로블록(201)에 대하여 상측에 인접한(contiguous) 매크로블록을 상측 매크로블록, 좌측에 인접한(contiguous)한 매크로블록을 좌측 매크로블록, 좌측이면서 상측 즉 좌상측에 위치한 매크로블록을 좌상측 매크로블록, 하측에 인접한(contiguous) 매크로블록을 하측 매크로블록이라고 칭한다. 예를 들어, 도 2에 도시된 MB(n,m)에 대해 MB(n, m-1)은 상측 매크로블록, MB(n-1, m)은 좌측 매크로블록, MB(n-1, m-1)은 좌상측 매크로블록, MB(n, m-1)는 하측 매크로블록에 해당한다. As shown in FIG. 2, one
상술한 프레임(100) 상에서 디블록 필터링은 동일한 행 (row)에 속하는 매크로블록들에 대해 가장 왼쪽부터 오른쪽 방향으로 순차적으로 수행된다. 동일한 행(row)에 위치에 매크로블록들에 대한 디블록 필터링이 수행된 후, 그 아래에 인접한 행에 위치한 매크로블록들에 대해 가장 왼쪽에서 오른쪽 방향으로 순차적으로 디블록 필터링이 수행된다. 예를 들어, 도 2에서 MB(0,0)에서 MB(N,0)의 방향으로 디블록 필터링이 진행된 후, MB(0,1)에서 MB(N,1)방향으로 디블록 필터링이 진행된다. Deblock filtering on the above-described
이러한 디블록 필터링의 진행 방향의 측면에서 임의의 매크로블록에 대해 좌측 매크로블록, 상측 매크로블록, 좌상측 매크로블록은 이전 매크로블록이라고 할 수 있다. 예를 들어, 도 2에서 MB(n,m)에 대해 MB(n-1, m), MB(n,m-1), MB(n-1, m-1)등은 이전 매크로블록이다. 그러나 MB(n+1, m)이나 MB(n, m+1) 등은 이전 매크로블록이 아니고 이후의 매크로블록이다.In terms of the advancing direction of the deblocking filtering, the left macroblock, the upper macroblock, and the upper left macroblock for any macroblock may be referred to as the previous macroblock. For example, in FIG. 2, MB (n-1, m), MB (n, m-1), MB (n-1, m-1), etc., for MB (n, m) are previous macroblocks. However, MB (n + 1, m) and MB (n, m + 1) are not macroblocks before, but macroblocks after.
도 3은 매크로블록을 나타낸 개념도이다. 도 3을 참조하면, 매크로블록(201)은 16 x 16 픽셀 사이즈를 가질 수 있다. 매크로블록(201)은 다수개의 N x N (N은 2 이상의 자연수) 픽셀 사이즈를 가지는 단위 블록으로 분할될 수 있다. 상기 N은 예컨대 4일 수 있는데, 그러한 경우 단위 블록(301)은 4x4 픽셀 사이즈를 가지고, 하나의 매크로블록(201)은 16개의 단위 블록(301)을 포함한다. 도 3에서 MB(n, m)에 대한 단위 블록들을 편의상 MB(n,m)_k (여기서, 1≤k≤16, k는 자연수)의 형식으로 표시하고 있다. MB(n,m)_k에서 MB(n,m)은 어느 매크로블록인지를 표시하고, _k는 어느 단위 블록인지를 표시한다. 3 is a conceptual diagram illustrating a macroblock. Referring to FIG. 3, the
도 4는 디블록 필터링이 적용되는 단위 블록의 경계영역을 도시한 도면이다. 4 is a diagram illustrating a boundary area of a unit block to which deblocking filtering is applied.
도 4를 참조하면, 디블록 필터링은 단위 블록간의 경계영역(401, 402, 403)에 적용된다. 이 때, 각 경계영역(401, 402, 403)에 적용되는 필터링은 다를 수 있으며, 순서가 있다. Referring to FIG. 4, deblocking filtering is applied to
예를 들어, 먼저 MB(n,m)_1과 MB(n, m)_5가 접하는 경계선을 기준으로 서로 대칭되는 동일한 수의 픽셀을 포함하는 영역(401)에는 위크(weak) 필터링이 적용된다. 그 다음으로 MB(n,m)_1과 MB(n-1, m)_4가 접하는 경계선을 기준으로 서로 대칭되는 동일한 수의 픽셀을 포함하는 영역(402)에 위크(weak) 필터링이 적용된다. 그리고, MB(n,m)_1과 MB(n, m-1)_13이 접하는 경계선을 기준으로 서로 대칭되는 동일한 수의 픽셀을 포함하는 영역(403)에 스트롱 필터링이 적용된다. 그 다음으로 MB(n,m)_1과 MB(n-1, m)_4가 접하는 경계선을 기준으로 서로 대칭되는 동일한 수의 픽셀을 포함하는 영역(402)에 스트롱 필터링이 적용된다. 결과적으로, 상기 영역(402)에는 위크 필터링 및 스트롱 필터링이 시간을 달리하여 모두 적용된다. For example, weak filtering is applied to an
여기서, 위크(weak) 필터링은 위크(weak) 2/3 탭(tap) 필터(이하 위크 필터) 또는 노멀(normal) 4/3 탭 필터(이하 노멀 필터)를 사용한 필터링을 의미한다. 그리고, 스트롱(strong) 필터링은 스트롱 5 탭 필터(이하 스트롱 필터)를 사용한 필터링을 의미한다. Here, the weak filtering means filtering using a weak 2/3 tap filter (hereinafter referred to as a weak filter) or a normal 4/3 tap filter (hereinafter referred to as a normal filter). In addition, strong filtering means filtering using a Strong 5 tap filter (hereinafter, referred to as a Strong filter).
상기 위크(weak) 필터, 노멀(normal) 필터, 스트롱 필터 중 어느 필터를 사용하여 필터링 할 것인지는 각 단위 블록의 “세기(strength)” 값과 매크로블록의 경계에 해당하는지 여부에 따라 결정된다. 단위 블록의 경계에서 세기가 2이고 매크로블록의 경계인 경우, 스트롱 필터링이 수행된다. 단위 블록의 경계에서 상기 세기가 0보다 크고 2보다 작으면 위크 필터링이 수행된다. 그 외의 경우에는 필터링이 수행되지 않는다. 또한, 단위 블록 중에서 매크로블록의 경계에 위치하지 않은 단위 블록에서는 스트롱 필터링이 수행되지 않는다. 예를 들어, MB(n,m)_1과 MB(n, m-1)_13이 접하는 경계 및 MB(n,m)_1과 MB(n-1, m)_4가 접하는 경계는 매크 로블록의 경계이므로 해당 경계영역(402, 403)에 스트롱 필터링이 수행될 수 있다. 그러나, MB(n,m)_1과 MB(n, m)_5의 경계영역(401)에는 스트롱 필터링이 수행되지 않는다. Whether to filter using the weak filter, the normal filter, or the strong filter is determined according to the “strength” value of each unit block and whether it corresponds to the boundary of the macroblock. When the intensity is 2 at the boundary of the unit block and the boundary of the macroblock, strong filtering is performed. If the strength is greater than 0 and less than 2 at the boundary of the unit block, weak filtering is performed. Otherwise, no filtering is performed. In addition, strong filtering is not performed in the unit block not located at the boundary of the macro block among the unit blocks. For example, the boundary between MB (n, m) _1 and MB (n, m-1) _13 and the boundary between MB (n, m) _1 and MB (n-1, m) _4 are the macroblocks. Since the boundary is strong, strong filtering may be performed on the
상기 위크(weak) 필터, 노멀(normal) 필터, 스트롱 필터를 사용한 필터링 및 상기 필터링이 적용되는 경계영역에 대해서는 리얼 비디오 9 문서(RealNetworks, “RealVideo. 9”, External Specification, Version 1.8, September 11, 2007.)에 상세히 기술되어 당업자에게 자명하다. 따라서, 더 이상의 설명은 생략한다.Filtering using the weak filter, the normal filter, the strong filter, and the boundary area to which the filtering is applied are described in RealNetworks, “RealVideo. 9”, External Specification, Version 1.8, September 11, 2007.) will be apparent to those skilled in the art. Therefore, further description is omitted.
도 5는 단위 블록의 경계영역에 적용되는 디블록 필터링의 연산순서와 필터링 종류를 나타내는 방법을 예시한 도면이다. FIG. 5 is a diagram illustrating a method for describing a calculation order and a filtering type of deblocking filtering applied to a boundary area of a unit block.
도 5에 도시된 (1), (2)에서 숫자 1 또는 2는 필터링 순서를 나타낸다. 즉, (1)이 먼저 수행되고, (2)가 수행된다는 의미이다. 그리고 괄호 ()는 위크(weak) 필터링이 수행되는 것을 나타낸다. 이하에서 상기 (1)과 같이 임의의 단위 블록에서 아래수평방향에 대한 위크 필터링을 편의를 위해 간략히 HDW(Horizontal-Down-Weak filtering)라고 칭하기로 한다. HDW에서 H는 수평방향을 나타내고, D는 단위 블록의 아래방향이라는 의미이며, W는 필터링 종류를 나타낸다. 또한 (2)와 같이 임의의 단위 블록에서 왼쪽수직방향에 대한 위크 필터링을 편의상 VLW(Vertical-Left-Weak filtering)이라고 칭하기로 한다. VLW에서 V는 수직방향, L은 왼쪽, W는 위크 필터링을 나타낸다.
도 5에 도시된 ③, ④에서 ○(원,circle)내부의 숫자 3 또는 4는 필터링 순서를 나타낸다. 즉, ③은 (2) 이후에 수행되어야 하고, ④는 ③이후에 수행되어야 한다. ③, ④에서 ○(circle)은 스트롱 필터링이 수행되는 것을 나타낸다(이하에서, ③과 같은 표기를 편의를 위해 <3>과 같이 표시할 수도 있다. 즉,<3>은 ③과 같은 표기이고, <4>는 ④와 같은 표기이다). 이하에서 ③과 같이 임의의 단위 블록에서 위쪽수평방향에 대한 스트롱 필터링을 편의상 HUS(Horizontal-Up-Strong filtering)이라 칭하기로 한다. HUS에서 H는 수평방향, U는 위쪽방향, S는 스트롱 필터링을 의미한다. 또한, ④와 같이 임의의 단위 블록에서 왼쪽수직방향에 대한 스트롱 필터링을 편의상 VLS(Vertical-Left-Strong filtering)이라 칭하기로 한다. In Figures 3 and 4, the
정리하면, 단위 블록의 필터링 순서는 HDW, VLW, HUS, VLS의 순서이다. 이 순서는 먼저 수평방향으로 필터링을 수행한 후 수직방향으로 필터링을 수행하고, 위크(weak) 필터링을 수행한 후 스트롱(strong) 필터링을 수행해야 하는 “Real Video 9”의 제한을 만족한다. 단, 상술한 바와 같이 HUS, VLS는 단위 블록의 경계가 매크로블록의 경계에 해당하지 않으면 수행되지 않을 수 있다. In summary, the filtering order of the unit blocks is HDW, VLW, HUS, VLS. This sequence satisfies the limitation of “
이하에서는 본 실시예에 따른 디블록 필터링의 특징 및 장점을 명확히 나타내기 위해 종래의 디블록 필터링 연산 순서 및 필터 종류에 대해 먼저 설명한다. Hereinafter, in order to clearly show the features and advantages of the deblocking filtering according to the present embodiment, a conventional deblocking filtering operation sequence and filter type will be described.
도 6은 종래의 디블록 필터링 연산 순서 및 필터 종류를 나타내는 도면이다. 도 6에 도시된 바와 같이, 종래의 디블록 필터링은 현재 처리하고자 하는 매크로블록(이하 처리 매크로블록이라 한다) 외에 이후의 매크로블록이 필요하다. 예컨대, 도 2에서 처리 매크로블록이 MB(n,m) 이라고 할 때, 이후의 매크로블록인 MB(n, m+1)이 필요하다. 왜냐하면, 도 6에 도시된 (13), (14), (15), (16) 필터링 과정은 이후의 매크로블록인 MB(n,m+1)에 대한 단위 블록들 즉, MB(n,m+1)_1 내지 MB(n,m+1)_4을 이용하기 때문이다. 따라서, 도 6과 같은 방식에 의하여서는 이전 매크로블록만으로 처리 매크로블록에 대한 디블록 필터링이 불가능하다. 6 is a diagram illustrating a conventional deblocking filtering operation sequence and filter type. As shown in FIG. 6, the conventional deblocking filtering requires the following macroblocks in addition to the macroblocks to be currently processed (hereinafter referred to as processing macroblocks). For example, when the processing macroblock is MB (n, m) in Fig. 2, MB (n, m + 1), which is a subsequent macroblock, is required. Because, the filtering process of (13), (14), (15), and (16) shown in FIG. 6 is a unit block for MB (n, m + 1), that is, a macroblock, that is, MB (n, m). This is because +1) _1 to MB (n, m + 1) _4 are used. Therefore, according to the method as shown in FIG. 6, deblocking filtering on the processed macroblock is not possible using only the previous macroblock.
그 결과, 종래에는 모든 매크로블록을 디코딩한 후, 프레임 버퍼에 일차적으로 저장하고, 처리 매크로블록(즉, MB(n,m))와 상측 매크로블록, 좌측 매크로블록, 하측 매크로블록(즉, MB(n,m-1), MB(n-1,m), MB(n,m+1))의 일부 단위 블록들을 내부메모리로 다시 가져온다. 그 후, 도 6와 같은 방식으로 디블록 필터링을 수행한다. 이러한 종래의 방식은 내부메모리에 28개의 단위 블록들이 저장되어야 한다.As a result, conventionally, after decoding all macroblocks, they are first stored in a frame buffer, and processed macroblocks (ie, MB (n, m)), upper macroblocks, left macroblocks, and lower macroblocks (ie, MBs). Some unit blocks of (n, m-1), MB (n-1, m) and MB (n, m + 1) are brought back into the internal memory. Thereafter, deblocking filtering is performed in the same manner as in FIG. 6. This conventional method requires 28 unit blocks to be stored in the internal memory.
도 7은 본 실시예에 따른 디블록 필터링 장치를 나타낸 블록도이다. 도 7에 도시된 바와 같이 디블록 필터링 장치(700)는 디코딩 프로세서(710), 내부메모리(722), GOB버퍼(721)를 포함한다. 7 is a block diagram illustrating a deblocking filtering apparatus according to the present embodiment. As shown in FIG. 7, the
디코딩 프로세서(710)는 단위 블록을 디코딩하고, 디코딩된 단위 블록들에 대해 디블록 필터링을 수행하는 부분이다. The
내부메모리(722)는 디블록 필터링 장치(700) 내부에 위치하는 메모리로 디코딩 프로세서(710)에서 처리할 단위 블록들을 저장하는 메모리이다. 내부메모리(722)는 디코딩 프로세서(710)와 직접 연결되어 매우 속도가 빠르지만, 내부메모리(722)의 용량이 커지는 것은 비용측면에서 바람직하지 않다. 내부메모리(722)는 처리 매크로블록과 이전 매크로블록에 대한 단위 블록을 저장할 수 있다. The
GOB버퍼(721)는 현재 처리하고자 하는 매크로블록인 처리 매크로블록에 대해 하측에 인접한(contiguous) 하측 매크로블록의 디블록 필터링 시에 사용하기 위해 상기 처리 매크로블록의 마지막 행에 속하는 단위 블록들을 저장하는 특정 버퍼이 다. 상기 GOB버퍼(721)는 하나의 매크로블록에 대한 단위 블록들만을 저장하는 것은 아니고, 다수개의 매크로블록에 대한 단위 블록들을 저장할 수 있다.The
외부메모리(730)는 전체 프레임을 구성하는 매크로블록들을 저장하는 부분이다. 디코딩 프로세서(710)에 의해 디블록 필터링이 완료된 단위 블록들은 외부메모리(730)로 다시 저장된다. The
도 8은 디블록 필터링 장치의 내부메모리에 저장되는 단위 블록들을 개념적으로 나타내는 도면이다. 도 8에 도시된 바와 같이, 내부메모리(722)에는 24개의 단위 블록이 저장된다. 상기 24개의 단위 블록은 디블록 필터링을 수행할 처리 매크로블록의 처리 단위 블록들과 이전 매크로블록들에 포함되는 제 1 이전 단위 블록들 및 제 2 이전 단위 블록들이다. FIG. 8 is a diagram conceptually illustrating unit blocks stored in an internal memory of a deblocking filtering device. As shown in FIG. 8, 24 unit blocks are stored in the
여기서, 처리 단위 블록들은 처리 매크로블록에 포함되는 모든 단위 블록들을 의미한다. 제 1 이전 단위 블록들은 처리 매크로블록의 상측에 인접한(contiguous) 단위 블록들을 의미한다. 그리고, 제 2 이전 단위 블록들은 처리 매크로블록의 좌측에 인접한(contiguous) 적어도 하나의 단위 블록들과 처리 매크로블록의 좌상측에 인접한 단위 블록을 의미한다. Here, the processing unit blocks mean all unit blocks included in the processing macroblock. The first previous unit blocks mean contiguous unit blocks above the processing macroblock. The second previous unit blocks mean at least one unit block contiguous to the left of the processing macroblock and a unit block adjacent to the upper left side of the processing macroblock.
예를 들어, 도 8에서 처리 매크로블록을 MB(n,m)이라고 표시하고 있다. 이, 때, 처리 단위 블록들은 MB(n,m)_1 내지 MB(n,m)_16의 16개 단위 블록들이다. 그리고, 제 1 이전 단위 블록들은 MB(n,m-1)_13 내지 MB(n,m-1)_16의 4개 단위 블록들이다. 또한, 제 2 이전 단위 블록들은 MB(n-1, m)_4, MB(n-1, m)_8, MB(n-1, m)_12의 3개 단위 블록들과 MB(n-1,m-1)_16이다. For example, in Fig. 8, the processing macroblock is indicated as MB (n, m). In this case, the processing unit blocks are 16 unit blocks of MB (n, m) _1 to MB (n, m) _16. The first previous unit blocks are four unit blocks of MB (n, m-1) _13 to MB (n, m-1) _16. In addition, the second previous unit blocks include three unit blocks MB (n-1, m) _4, MB (n-1, m) _8, MB (n-1, m) _12 and MB (n-1, m-1) _16.
도 9는 본 실시예에 따른 디블록 필터링 방법을 나타내는 흐름도이다. 9 is a flowchart illustrating a deblocking filtering method according to the present embodiment.
도 9을 참조하여, 디코딩 프로세서(710)는 이전 매크로블록들로부터 제 1이전 이전 단위 블록들 및 제 2 이전 단위 블록들을 준비한다(S91). 상기 제 1 이전 단위 블록들은 디코딩 프로세서(710)가 GOB버퍼(721)로부터 내부메모리(722)로 로드(load)하여 준비한다. Referring to FIG. 9, the
도 10은 GOB버퍼로부터 내부메모리로 제 1 이전 단위 블록들을 로드(load)하는 과정을 개념적으로 도시한 예시도이다. 10 is an exemplary diagram conceptually illustrating a process of loading first previous unit blocks from a GOB buffer into internal memory.
도 10에 도시한 바와 같이 MB(n,m-1)의 마지막 행에 해당하는 단위 블록들 즉, MB(n, m-1)_13 내지 MB(n,m-1)_16의 4개 단위 블록들을 GOB버퍼(721)로부터 내부메모리(722)로 로드한다. As shown in FIG. 10, the unit blocks corresponding to the last row of MB (n, m-1), that is, four unit blocks of MB (n, m-1) _13 to MB (n, m-1) _16 Are loaded from the
제 2 이전 단위 블록들은 디코딩 프로세서(710)가 단위 블록들의 내부메모리(722)상의 위치를 변경하여 준비한다. The second previous unit blocks are prepared by the
도 11은 제 2 이전 단위 블록들을 준비하는 과정을 개념적으로 나타내고 있다. 도 11에 도시된 것처럼, 내부메모리(722)에 있는 MB(n-1, m-1)_16, MB(n-1, m)_4, MB(n-1, m)_8, MB(n-1, m)_12 단위 블록들(80)을 내부메모리(722) 상에서 위치를 변경하여 왼쪽 가장자리 영역에 복사하여 준비한다. 11 conceptually illustrates a process of preparing second previous unit blocks. As shown in Fig. 11, MB (n-1, m-1) _16, MB (n-1, m) _4, MB (n-1, m) _8, MB (n-) in the
디코딩 프로세서(710)가 외부메모리로부터 디블록 필터링을 수행할 처리 매크로블록의 처리 단위 블록들을 준비한다(S92). The
도 12는 처리 단위 블록들을 준비하는 과정을 개념적으로 도시한 도면이다. 도 12에서 도시된 것처럼 디코딩 프로세서(710)가 외부메모리(730)에서 처리 단위 블록들을 내부메모리(722)로 로딩하여 준비한다. 12 is a diagram conceptually illustrating a process of preparing processing unit blocks. As shown in FIG. 12, the
처리 단위 블록들, 제 1 및 제 2 이전 단위 블록들이 준비되면, 디코딩 프로세서(710)는 먼저 상기 제 1 이전 단위 블록들을 디블록 필터링한다(S93). When the processing unit blocks, the first and the second previous unit blocks are prepared, the
제 1 이전 단위 블록에 대한 디블록 필터링 후에 디코딩 프로세서(710)는 처리 단위 블록에 대한 디블록 필터링을 수행한다(S94). 이 때, 처리 매크로블록의 마지막 행에 속하는 단위 블록들은 제외하고, 나머지 단위 블록들에 대해 디블록 필터링을 수행할 수 있다.After deblocking filtering on the first previous unit block, the
도 13은 디블록 필터링 과정에서 단위 블록들에 적용하는 필터링의 종류 및 순서를 나타내는 도면이다. FIG. 13 is a diagram illustrating the type and order of filtering applied to unit blocks in a deblocking filtering process.
도 13을 참조하면, 제 1 이전 단위 블록들을 디블록 필터링하는 단계(S93)는 상기 제 1 이전 단위 블록들에 대해 수평 방향에 대한 디블록 필터링을 수행하는 단계 및 상기 제 1 이전 단위 블록들에 대해 수직 방향에 대한 디블록 필터링을 수행하는 단계를 포함한다. Referring to FIG. 13, in operation S93, deblocking filtering of the first previous unit blocks may be performed by performing deblocking filtering on the first previous unit blocks in a horizontal direction and on the first previous unit blocks. Performing deblocking filtering on the vertical direction.
즉, 제 1 이전 단위 블록들에 대해 아래쪽 수평 방향(도 13에서 (1) 내지 (4))에 대한 디블록 필터링을 먼저 수행한 후, 수직 방향에 대한 디블록 필터링을 수행한다. 상기 아래쪽 수평 방향의 필터링 시에 가장 좌측에 있는 단위 블록부터 위크 필터링(도 13에서 (1))을 수행할 수 있다. 그 후, 차례로 우측에 있는 단위 블록들을 순서대로 위크 필터링을 수행한다(도 13에서 (2) 내지 (4)). That is, deblocking filtering for the first horizontal unit blocks (1 to 4 in FIG. 13) is first performed on the first previous unit blocks, and then deblocking filtering for the vertical direction is performed. During filtering in the lower horizontal direction, weak filtering ((1) in FIG. 13) may be performed from the leftmost unit block. Then, weak filtering is sequentially performed on the unit blocks on the right side ((2) to (4) in FIG. 13).
그 후, 수직 방향에 대한 디블록 필터링을 수행한다. 상기 수직 방향에 대한 디블록 필터링은 가장 좌측에 있는 단위 블록에 대한 위크 필터링(도 13의 (5)), 스트롱 필터링(도 13의 ⑥)을 하고 순차적으로 오른쪽에 있는 단위 블록들에 위크 필터링을 한다(도 13의 (7) 내지 (9)).Thereafter, deblocking filtering on the vertical direction is performed. The deblocking filtering in the vertical direction performs weak filtering (FIG. 13 (5)) and strong filtering (⑥ in FIG. 13) for the leftmost unit block and sequentially performs weak filtering on the right unit blocks. ((7)-(9) of FIG. 13).
상기 제 1 이전 단위 블록들에 대한 디블록 필터링이 종료되면, 처리 단위 블록들 중 적어도 하나의 단위 블록에 대한 디블록 필터링을 수행한다(S94). 도 13을 참조하면, MB(n,m)_1 내지 MB(n,m)_12에 대하여 (10)에서 까지 순차적으로 필터링을 수행한다. 이 과정에서, 처리 매크로블록의 단위 블록들 중에서 마지막 행(row)에 속하는 단위 블록들(MB(n,m)_13 내지 MB(n,m)_16)은 제외하고 디블록 필터링을 수행할 수 있다. When the deblocking filtering on the first previous unit blocks ends, the deblocking filtering on at least one unit block among the processing unit blocks is performed (S94). Referring to FIG. 13, filtering is performed sequentially from (10) to MB (n, m) _1 to MB (n, m) _12. In this process, deblocking filtering may be performed except for the unit blocks MB (n, m) _13 to MB (n, m) _16 belonging to the last row among the unit blocks of the processing macroblock. .
상기 마지막 행에 속하는 단위 블록들은 MB(n,m)의 디블록 필터링 과정에서 디블록 필터링을 하지 않고 MB(n,m+1)에 대한 디블록 필터링 과정에서 디블록 필터링할 수 있다. The unit blocks belonging to the last row may be deblocked in the deblocking process for MB (n, m + 1) without performing deblocking filtering in the deblocking process of MB (n, m).
도 13에 도시된 바와 같은 순서를 따라 디블록 필터링을 수행하는 경우, 각 단위 블록에 대한 디블록 필터링 순서는 HDW, VLW, HUS, VLS이다. 예컨대, MB(n,m)_1에 대한 필터링을 살펴보면, HDW((10)), VLW((22)), HUS(<25>), VLS(<26>)의 순서임을 알 수 있다. 상술한 바와 같이 HUS, VLS는 단위 블록의 경계가 매크로블록의 경계가 아닌 경우에는 적용되지 않는다. 따라서, 매크로블록의 경계를 포함하지 않는 단위 블록의 경우에는 상기 HUS, VLS는 하지 않을 수 있다. 예컨대, MB(n,m)_6의 경우, HDW((15)), VLW((30))가 수행되며, 스트롱 필터링은 포함하지 않는다.When deblocking filtering is performed in the order shown in FIG. 13, the deblocking filtering order for each unit block is HDW, VLW, HUS, and VLS. For example, looking at the filtering for MB (n, m) _1, it can be seen that HDW ((10)), VLW ((22)), HUS (<25>), and VLS (<26>). As described above, HUS and VLS are not applied when the boundary of the unit block is not the boundary of the macroblock. Therefore, in the case of the unit block that does not include the boundary of the macroblock, the HUS and VLS may not be performed. For example, in the case of MB (n, m) _6, HDW (15) and VLW (30) are performed, and strong filtering is not included.
도 13에 도시된 (1) 내지 <40>의 디블록 필터링이 완료되면, 디코딩 프로세 서(710)는 디블록 필터링이 완료된 단위 블록들을 외부메모리(730)에 백업한다(S95). When the deblocking filtering of (1) to (40) shown in FIG. 13 is completed, the
도 14는 외부메모리에 디블록 필터링이 완료된 단위 블록들을 백업하는 것을 개념적으로 나타낸 도면이다. 도 14에 도시된 바와 같이, 디블록 필터링이 완료된 MB(n,m)_1 내지 MB(n,m)_3, MB(n,m)_5 내지 MB(n,m)_7, MB(n,m)_9 내지 MB(n,m)_11과 MB(n-1, m-1)_16, MB(n,m-1)_13 내지 MB(n, m-1)_15, MB(n-1, m)_4, MB(n-1, m)_8, MB(n-1, m)_12이 외부메모리(730)에 백업된다. FIG. 14 is a diagram conceptually illustrating backing up unit blocks having completed deblocking filtering to an external memory. FIG. As shown in FIG. 14, MB (n, m) _1 to MB (n, m) _3, MB (n, m) _5 to MB (n, m) _7, MB (n, m) having completed deblocking filtering ) _9 to MB (n, m) _11 and MB (n-1, m-1) _16, MB (n, m-1) _13 to MB (n, m-1) _15, MB (n-1, m ) _4, MB (n-1, m) _8 and MB (n-1, m) _12 are backed up to the
그 후, 디코딩 프로세서(710)는 다음 매크로블록의 디블록 필터링을 위해 처리 매크로블록의 디블록 필터링이 완료되지 않은 단위 블록들을 저장한다(S96). Thereafter, the
도 15는 내부메모리에 저장된 단위블록들 중 디블록 필터링이 완료되지 않은 단위 블록들을 GOB버퍼에 저장하는 것을 개념적으로 나타낸 도면이다. 도 15에 도시된 바와 같이, MB(n,m)_13 내지 MB(n,m)_16 단위블록들이 GOB버퍼(721)에 저장된다. 즉, 디코딩 프로세서(710)는 MB(n,m)의 마지막 행에 속하는 단위블록들을 GOB버퍼(721)에 저장한다. 상기 MB(n,m)_13 내지 MB(n,m)_16 단위블록들은 MB(n,m)의 아래에 인접한(contiguous) MB(n,m+1)의 디블록 필터링 시에 사용된다.FIG. 15 is a diagram conceptually illustrating storing, in a GOB buffer, unit blocks in which deblocking filtering is not completed among unit blocks stored in an internal memory. As shown in FIG. 15, MB (n, m) _13 to MB (n, m) _16 unit blocks are stored in the
상술한 과정을 통해 MB(n,m)에 대한 디블록 필터링이 종료되면, 상기 MB(n,m)의 오른쪽에 인접한(contiguous) MB(n+1, m) (도 2 참조)에 대한 디블록 필터링이 시작된다. When the deblocking filtering for MB (n, m) is completed through the above-described process, the decode for the contiguous MB (n + 1, m) (see FIG. 2) adjacent to the right of MB (n, m) is completed. Block filtering begins.
본 실시예에 따른 디블록 필터링 방법 및 디코더(700)는 종래의 기술에 비해 작은 내부메모리(722)를 이용하여 디블록 필터링을 수행할 수 있다. 즉, 내부메모 리(722)에 종래 29개의 단위블록들이 사용된 것에 비해 최대 24개의 단위블록들만을 사용한다. 이것은 큰 내부메모리를 두기 곤란한 임베디드 환경에서 매우 중요한 장점이 된다. 내부메모리가 작아지므로 외부메모리에 액세스(access)하기 위한 대역폭도 줄일 수 있다. The deblocking filtering method and the
또한, 아직 디코딩되지 않은 이후의 매크로블록에 대한 단위 블록들을 필요로 하지 않고, 이미 디코딩된 이전 매크로블록의 단위 블록들만으로 디블록 필터링 과정을 수행할 수 있다. 따라서, 디블록 필터링 수행 속도를 향상시킬 수 있다. In addition, the deblocking filtering process may be performed using only the unit blocks of the previous macroblock already decoded without requiring the unit blocks for the macroblocks not yet decoded. Therefore, it is possible to improve the deblocking filtering speed.
도 16은 상술한 디블록 필터링 장치를 포함하는 디코딩 장치를 나타내는 도면이다. 도 16에 도시된 바와 같이, 디코딩 장치는 수신회로(740), 디블록 필터링 장치(700), 외부메모리(730), 출력회로(760)를 포함한다. 16 is a diagram illustrating a decoding apparatus including the above-described deblocking filtering apparatus. As shown in FIG. 16, the decoding apparatus includes a receiving
수신회로(740)는 압축 인코딩된 영상데이터를 수신하는 부분이다. 수신회로(740)는 수신된 영상데이터를 디블록 필터링 장치(700)로 전달한다. The receiving
디블록 필터링 장치(700)는 영상데이터를 디코딩하고 디블록 필터링을 수행하는 부분이다. 디블록 필터링 장치(700)는 상술한 디블록 필터링 방법으로 디블록 필터링을 수행한다. 디블록 필터링 장치(700)는 먼저 영상데이터를 디코딩하고 외부메모리(730)에 저장한다. 그리고, 외부메모리(730)에 접근(access)하여 처리하고자 하는 매크로블록을 가져와 내부메모리(722)에 저장한 후, 디블록 필터링한다. 이 때, 한 프레임 전체에 대한 디코딩을 완료한 후 디블록 필터링을 시작하는 것이 아니라 디코딩이 완료된 소정의 매크로블록에 대해 디블록 필터링을 시작할 수 있다. 이전 매크로블록만으로 처리 매크로블록을 디블록 필터링 할 수 있기 때문이 다. 디블록 필터링이 완료된 부분은 다시 외부메모리(730)에 저장한다. 디블록 필터링 장치(700)는 내부에 디코딩 프로세서(710)와 내부메모리(722) 및 GOB버퍼를 포함한다. The
외부메모리(730)는 디블록 필터링 장치(700)에서 디코딩된 매크로블록 또는 디블록 필터링까지 완료된 매크로블록에 대한 데이터를 제공받아 저장한다. The
출력회로(760)는 디블록 필터링이 완료된 데이터를 외부로 출력하는 회로이다. 출력회로(760)를 통해 외부로 출력된 데이터는 디스플레이 장치에 연결될 수 있다.The
지금까지, 본 발명을 도면에 표시된 실시예를 참고로 설명하였으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.So far, the present invention has been described with reference to the embodiments shown in the drawings, which are merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. . Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
도 1은 영상의 디코딩(decoding) 과정을 나타낸 블록도이다.1 is a block diagram illustrating a decoding process of an image.
도 2는 디블록 필터링이 수행되는 하나의 프레임(frame)을 개념적으로 나타낸 도면이다. FIG. 2 conceptually illustrates one frame in which deblocking filtering is performed.
도 3은 매크로블록을 나타낸 개념도이다.3 is a conceptual diagram illustrating a macroblock.
도 4는 디블록 필터링이 적용되는 단위 블록의 경계영역을 도시한 도면이다. 4 is a diagram illustrating a boundary area of a unit block to which deblocking filtering is applied.
도 5는 단위 블록의 경계영역에 적용되는 디블록 필터링의 연산순서와 필터링 종류를 나타내는 방법을 예시한 도면이다. FIG. 5 is a diagram illustrating a method for describing a calculation order and a filtering type of deblocking filtering applied to a boundary area of a unit block.
도 6은 종래의 디블록 필터링 연산 순서 및 필터 종류를 나타내는 도면이다.6 is a diagram illustrating a conventional deblocking filtering operation sequence and filter type.
도 7은 본 실시예에 따른 디블록 필터링 장치를 나타낸 블록도이다.7 is a block diagram illustrating a deblocking filtering apparatus according to the present embodiment.
도 8은 디블록 필터링 장치의 내부메모리에 저장되는 단위 블록들을 개념적으로 나타내는 도면이다.FIG. 8 is a diagram conceptually illustrating unit blocks stored in an internal memory of a deblocking filtering device.
도 9는 본 실시예에 따른 디블록 필터링 방법을 나타내는 흐름도이다. 9 is a flowchart illustrating a deblocking filtering method according to the present embodiment.
도 10은 GOB버퍼로부터 내부메모리로 제 1 이전 단위 블록들을 로드(load)하는 과정을 개념적으로 도시한 예시도이다. 10 is an exemplary diagram conceptually illustrating a process of loading first previous unit blocks from a GOB buffer into internal memory.
도 11은 제 2 이전 단위 블록들을 준비하는 과정을 개념적으로 나타내고 있다. 11 conceptually illustrates a process of preparing second previous unit blocks.
도 12는 디코딩 프로세서가 외부메모리로부터 현재 처리해야 할 매크로블록의 처리 단위 블록들을 준비하는 과정을 개념적으로 도시한 도면이다.FIG. 12 is a diagram conceptually illustrating a process in which a decoding processor prepares processing unit blocks of a macroblock to be currently processed from an external memory.
도 13은 디블록 필터링 과정에서 단위 블록들에 적용하는 필터링의 종류 및 순서를 나타내는 도면이다. FIG. 13 is a diagram illustrating the type and order of filtering applied to unit blocks in a deblocking filtering process.
도 14는 외부메모리에 디블록 필터링이 완료된 단위 블록들을 백업하는 것을 개념적으로 나타낸 도면이다.FIG. 14 is a diagram conceptually illustrating backing up unit blocks having completed deblocking filtering to an external memory. FIG.
도 15는 내부메모리에 저장된 단위블록들 중 디블록 필터링이 완료되지 않은 단위 블록들을 GOB버퍼에 저장하는 것을 개념적으로 나타낸 도면이다. FIG. 15 is a diagram conceptually illustrating storing, in a GOB buffer, unit blocks in which deblocking filtering is not completed among unit blocks stored in an internal memory.
도 16은 상술한 디블록 필터링 장치를 포함하는 디코딩 장치를 나타내는 도면이다.16 is a diagram illustrating a decoding apparatus including the above-described deblocking filtering apparatus.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090018630A KR101063423B1 (en) | 2009-03-04 | 2009-03-04 | Deblock filtering method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090018630A KR101063423B1 (en) | 2009-03-04 | 2009-03-04 | Deblock filtering method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100100002A KR20100100002A (en) | 2010-09-15 |
KR101063423B1 true KR101063423B1 (en) | 2011-09-07 |
Family
ID=43006122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090018630A KR101063423B1 (en) | 2009-03-04 | 2009-03-04 | Deblock filtering method and apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101063423B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100753504B1 (en) | 2005-12-20 | 2007-08-31 | 엘지전자 주식회사 | In-loop Deblocking Filter System and method for filterring data using the same |
KR100771879B1 (en) * | 2006-08-17 | 2007-11-01 | 삼성전자주식회사 | Method of deblocking filtering decreasing inner memory storage and a video processing device using the method |
KR100856551B1 (en) | 2007-05-31 | 2008-09-04 | 한국과학기술원 | Deblock filter and deblock filtering method in h.264/avc |
-
2009
- 2009-03-04 KR KR1020090018630A patent/KR101063423B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100753504B1 (en) | 2005-12-20 | 2007-08-31 | 엘지전자 주식회사 | In-loop Deblocking Filter System and method for filterring data using the same |
KR100771879B1 (en) * | 2006-08-17 | 2007-11-01 | 삼성전자주식회사 | Method of deblocking filtering decreasing inner memory storage and a video processing device using the method |
KR100856551B1 (en) | 2007-05-31 | 2008-09-04 | 한국과학기술원 | Deblock filter and deblock filtering method in h.264/avc |
Also Published As
Publication number | Publication date |
---|---|
KR20100100002A (en) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1812576B (en) | Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same | |
JP6281851B2 (en) | Image decoding apparatus, image encoding apparatus, image decoding method, image encoding method, program, and integrated circuit | |
TWI382764B (en) | Scratch pad for storing intermediate loop filter data | |
KR100624426B1 (en) | Pipeline decoding apparatus and method, and computer-readable recording media for storing computer program for controlling the apparatus | |
US20060115002A1 (en) | Pipelined deblocking filter | |
EP2061250B1 (en) | Deblocking filter | |
US9344717B2 (en) | Method and apparatus for sample adaptive offset in a video decoder | |
EP1613095A2 (en) | Deblocking filter apparatus and methods using sub-macro-block-shifting register arrays | |
JP2006157925A (en) | Pipeline deblocking filter | |
CN104521234B (en) | Merge the method for processing video frequency and device for going block processes and sampling adaptive migration processing | |
JP2007258882A (en) | Image decoder | |
KR101063423B1 (en) | Deblock filtering method and apparatus | |
KR101331093B1 (en) | Method and Apparatus for Interleaving Reference Pixel within a Single Bank of Video Memory, Video Codec System Including the Same | |
CN107667529B (en) | Method, apparatus, and computer-readable recording medium for efficiently embedded compression of data | |
KR101004825B1 (en) | Pipielined deblocking filter using two filters simultaneously | |
KR100816461B1 (en) | Real-time deblocking filter and Method using the same | |
CN117651145A (en) | Video decoding device, operation method thereof and video system |
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: 20140703 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151207 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160701 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170703 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |