KR100856551B1 - Deblock filter and deblock filtering method in h.264/avc - Google Patents
Deblock filter and deblock filtering method in h.264/avc Download PDFInfo
- Publication number
- KR100856551B1 KR100856551B1 KR1020070053493A KR20070053493A KR100856551B1 KR 100856551 B1 KR100856551 B1 KR 100856551B1 KR 1020070053493 A KR1020070053493 A KR 1020070053493A KR 20070053493 A KR20070053493 A KR 20070053493A KR 100856551 B1 KR100856551 B1 KR 100856551B1
- Authority
- KR
- South Korea
- Prior art keywords
- filtering
- data
- subblock
- filtered
- edge
- 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/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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
도 1은 H.264 코덱의 표준에 따른 매크로 블록 에지의 디블록 필터링 순서를 나타낸 도면이다. 1 is a diagram illustrating a deblocking filtering order of macroblock edges according to the H.264 codec standard.
도 2는 매크로블록 내에서 본 발명에 따른 필터링 순서를 나타낸 도면이다. 2 is a diagram illustrating a filtering order according to the present invention in a macroblock.
도 3은 본 발명에 따른 디블로킹 필터를 나타낸 블록구성도이다. 3 is a block diagram illustrating a deblocking filter according to the present invention.
도 4a와 도 4b는 본 발명에 따른 내부 메모리의 데이터와 내부 메모리 구조를 나타낸 도면이다. 4A and 4B are diagrams illustrating data and an internal memory structure of an internal memory according to the present invention.
도 5a와 도 5b는 본 발명에 따른 전치 레지스터의 구조와 데이터 패스를 나타낸 도면이다. 5A and 5B illustrate the structure and data path of a transposition register in accordance with the present invention.
- 도면의 주요부분에 대한 부호의 설명 - -Explanation of symbols for the main parts of the drawings-
301 : 입력제어기 302 : 필터링세기/임계값 생성기301: input controller 302: filtering strength / threshold generator
303 : 에지 필터링 연산기 304 : 내부 메모리1303: edge filtering operator 304:
305 : 내부 메모리2 306 : 전치 레지스터1305:
307 : 전치 레지스터2 308 : 출력제어기307: pre-register 2 308: output controller
본 발명은 H.264/AVC 에서의 영상개선 방법에 관한 것으로서, 보다 상세하게는 H.264/AVC에서 발생되는 블로킹 효과를 제거하기 위한 H.264/ACV에서의 디블록 필터 및 필터링 방법에 관한 것이다.The present invention relates to an image enhancement method in H.264 / AVC, and more particularly, to a deblocking filter and filtering method in H.264 / ACV for removing the blocking effect generated in H.264 / AVC. will be.
대부분의 영상 처리 시스템에서는 국제전기통신연합(ITU; International Telecommunication Union)에서 권고하는 H.261, H.262, H.263 등과 같은 표준화된 비디오 코덱을 일반적으로 사용한다. Most image processing systems generally use standardized video codecs such as H.261, H.262, and H.263 as recommended by the International Telecommunication Union (ITU).
최근에는 더 높은 압축률을 구현할 수 있는 H.264/AVC 비디오 코덱에 대한 연구 및 표준화 작업이 활발히 진행되고 있다.Recently, research and standardization of H.264 / AVC video codec that can realize higher compression rate has been actively conducted.
H.264/AVC 비디오 코딩 표준에서는 블록단위로 압축 부호화한 후 디코딩 하므로 복원 영상에 시각적으로 인지 가능한 블록 현상이 나타난다. 이는 블록단위의 코딩 과정 중에 양자화 과정에서 입력 영상에 손실이 생기고, 이전 영상이나 현재 영상의 이웃 블록을 참조하는 과정에서 블록마다 서로 다른 영상을 참조하는 경우가 있기 때문에 복원된 영상에서 블록의 경계가 단절되어 나타나게 된다. In the H.264 / AVC video coding standard, compression coding is performed after block-by-block coding to decode a visually recognizable block phenomenon. This is because the input image is lost during the quantization process during the block-level coding process, and in the process of referring to the neighboring block of the previous image or the current image, each block refers to a different image. It will appear disconnected.
따라서 블록 인코딩 시, 움직임 보상 및 정수 변환에 의해 발생하는 블록 왜곡 현상을 감소시키기 위해 각각의 디코딩된 매크로 블록에 디블록 필터가 적용된 다. Thus, in block encoding, a deblock filter is applied to each decoded macroblock to reduce block distortion caused by motion compensation and integer transform.
디블록 필터는 블록의 가장자리를 부드럽게 하여 디코딩된 프레임의 화질을 향상시키도록 하는 필터로써 필터링 된 이미지는 미래 프레임의 움직임 보상 예측을 위해 사용될 수 있는데, 블록 현상이 있는(필터링 되지 않은) 이미지보다 원본 프레임에 더 충실하게 복원된 것이기 때문에 압축 성능을 향상시킬 수 있다.The deblock filter is a filter that smoothes the edges of the block to improve the quality of the decoded frame. The filtered image can be used to predict the motion compensation of future frames, rather than the original blocky image. Since it is more faithfully restored to the frame, compression performance can be improved.
도 1은 H.264 코덱의 표준에 따른 매크로 블록 에지의 디블록 필터링 순서를 나타낸 도면이다. 1 is a diagram illustrating a deblocking filtering order of macroblock edges according to the H.264 codec standard.
여기에 도시된 바와 같이 H.264 코덱의 표준은 디블록 필터가 수직 에지에 대한 수평 필터링을 한 후 수평 에지에 대한 수직 필터링을 하는 것을 규정하고 있다. 즉, 각 매크로 블록에 대해 수평 필터링을 한 후 수직 필터링을 하는 순서로 필터링을 진행하며, 이때 에지는 최소 블록 처리 단위인 4x4 블록의 경계에 대해 정의된다. As shown here, the standard of the H.264 codec specifies that the deblock filter performs horizontal filtering on vertical edges and then vertical filtering on horizontal edges. That is, the filtering is performed in the order of horizontal filtering and then vertical filtering for each macro block. In this case, an edge is defined for a boundary of a 4x4 block which is a minimum block processing unit.
이를 구체적으로 설명하면, 하나의 매크로 블록에 대한 필터링 연산은 매크로 블록을 구성하는 픽셀의 휘도 성분(luminance component)과 채도 성분(chrominance component)에 대해서 각각 수행되어 지며, 도 1의 (a)는 휘도 성분의 필터링 에지 영역을 나타내며, 도 1의 (b)는 채도 성분의 필터링 에지 영역을 나타낸다. Specifically, the filtering operation for one macro block is performed on the luminance component and the chrominance component of the pixels constituting the macro block, respectively. The filtering edge region of the component is shown, and FIG. 1B illustrates the filtering edge region of the chroma component.
휘도 성분의 필터링 연산은 수직 에지에 대해 a, b, c, d 순으로 필터링을 수행하며, 그 다음 수평 에지에 대해 e, f, g, h 순으로 필터링을 수행한다. 또한, 채도 성분의 필터링 연산은 수직 에지에 대해 i, j 순으로 필터링을 수행하며, 그 다음 수평 에지에 대해 k, l 순으로 필터링을 수행한다. 일반적으로, 휘도 성분의 필터링 연산이 먼저 수행되고, 그 후 채도 성분의 필터링 연산이 수행된다.The filtering operation of the luminance component performs filtering on the vertical edges in the order of a, b, c, and d, and then performs filtering on the horizontal edge in the order of e, f, g, and h. In addition, the filtering operation of the saturation component performs filtering on the vertical edges in the order of i and j, and then performs filtering on the horizontal edge in the order of k and l. In general, a filtering operation of the luminance component is performed first, followed by a filtering operation of the saturation component.
이와 같이 일반적인 디블록 필터와 필터링 방법을 사용할 경우 필터링 연산을 위해 매우 많은 메모리 접근 및 필터링 수행시간이 소요될 뿐만 아니라 디코더의 구현도 복잡해지기 때문에 고화질의 영상 데이터를 실시간으로 처리하는 데 문제가 발생할 수 있다. In this case, the general deblocking filter and the filtering method require very much memory access and filtering time for the filtering operation, and also complicated implementation of the decoder, which may cause problems in real time processing of high quality image data. .
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 본 발명의 목적은 H.264/AVC 비디오 코딩 표준을 만족하는 수평-수직 인터리브 디블록 필터링을 수행하며 외부 메모리 및 내부 SRAM과의 데이터 트랜잭션(data transaction)을 최소화하여 저 전력, 고 성능의 필터링 연산을 수행할 수 있는 H.264/AVC에서의 디블록 필터 및 필터링 방법을 제공하는 데 있다.The present invention was created to solve the above problems, and an object of the present invention is to perform horizontal-vertical interleaved deblocking filtering that satisfies the H.264 / AVC video coding standard, and to perform data transactions with external memory and internal SRAM. It is to provide a deblocking filter and filtering method in H.264 / AVC that can perform low power and high performance filtering operations by minimizing data transactions.
상기와 같은 목적을 실현하기 위한 본 발명에 의한 H.264에서의 디블록 필터는:
블로킹 효과를 제거하기 위한 디블록 필터에 있어서,
외부 메모리로부터 필터링 할 비디오 데이터를 휘도 성분 데이터, 청색 채도 성분 데이터, 적색 채도 성분 데이터 순으로 입력하고, 하나의 매크로블록에 대해 좌측 열부터 우측 열로, 각 열에서는 상측에서부터 하측으로 서브블록 단위의 데이터를 차례대로 입력하는 입력제어기와; 상기 필터링 시 필요한 필터링 세기와 임계값을 계산하는 필터링세기/임계값 생성기와; 상기 입력제어기에서 입력된 서브블록에 대해 상기 필터링을 하고자 하는 에지의 양측에 존재하는 픽셀 데이터를 입력 받아 상기 필터링을 수행하는 에지 필터링 연산기와; 현재 필터링할 상기 서브블록의 좌측과 상측에 이웃하는 서브블록의 픽셀 데이터를 저장하는 내부 메모리1과 내부 메모리2와; 상기 비디오 데이터의 버퍼링과 전치를 위한 전치 레지스터1과 전치 레지스터2와; 상기 에지 필터링 연산기에서 상기 필터링 된 데이터를 서브블록 단위로 순서에 따라 외부 메모리에 저장하기 위한 출력제어기;를 포함하여 이루어진 것을 특징으로 한다.The deblocking filter in H.264 according to the present invention for realizing the above object is:
In the deblocking filter for removing the blocking effect,
Video data to be filtered from the external memory is input in order of luminance component data, blue saturation component data, and red saturation component data, and the data in subblock units from left to right columns for each macroblock and from top to bottom in each column An input controller for sequentially inputting the inputs; A filtering strength / threshold generator for calculating a filtering strength and a threshold required for the filtering; An edge filtering calculator configured to perform the filtering by receiving pixel data existing on both sides of the edge to be filtered with respect to the subblock input from the input controller; An
삭제delete
본 발명의 에지 필터링 연산기는 필터링할 매크로블록에서 서브블록의 수직 에지에 대한 수평 필터링이 수행되고 그 결과 값을 저장하지 않고 바로 수평 에지에 대한 수직 필터링 시 사용하는 수평-수직 인터리브 방식에 의해 필터링 하는 것을 특징으로 한다. The edge filtering operator of the present invention performs horizontal filtering on vertical edges of sub-blocks in a macroblock to be filtered and filters them by a horizontal-vertical interleaving method used for vertical filtering on horizontal edges without storing the result values. It is characterized by.
본 발명에서 내부 메모리1은 필터링할 매크로블록의 좌측에 이웃한 서브블록 데이터를 열 단위 순서로 저장하고 출력하는 것을 특징으로 한다. In the present invention, the
본 발명에서 내부 메모리1은 필터링할 현재 서브블록의 픽셀 데이터가 열 단위 순서로 입력될 때 해당하는 주소의 데이터를 출력하여 에지 필터링 연산기를 통해 필터링 되며, 내부 메모리1에 저장되어 있던 픽셀 데이터는 필터링 후 출력제어 기를 통해 출력되거나 전치 레지스터1에 의해 전치되어 다음 수직 필터링에 사용되고, 입력된 현재 서브블록의 픽셀 데이터는 필터링 후 내부 메모리1의 동일한 주소에 다시 입력되는 과정을 반복함으로써, 필터링할 모든 서브블록의 좌측에 이웃하는 블록 데이터를 일정한 크기의 내부 메모리1에 열 단위 순서로 저장하고 출력하는 것을 특징으로 한다. In the present invention, when the pixel data of the current subblock to be filtered is input in a column unit order, the
본 발명에서 내부 메모리2는 필터링할 매크로블록의 상측에 이웃한 서브블록 데이터를 행 단위 순서로 저장하고 출력하는 것을 특징으로 한다. In the present invention, the
본 발명에서 내부 메모리2는 수평 필터링 된 픽셀 데이터가 전치 레지스터를 통해 전치된 후 행 단위 순서로 에지 필터링 연산기로 입력될 때 해당하는 주소의 데이터를 출력하여 에지 필터링 연산기를 통해 필터링 되며, 내부 메모리2에 저장되어 있던 픽셀 데이터는 필터링 후 전치 레지스터2를 통해 전치되어 열 단위 순서로 출력제어기를 의해 출력되고, 전치 레지스터1를 통해 입력된 서브블록의 픽셀 데이터는 필터링 후 내부 메모리2의 동일한 주소에 행 단위 순서로 다시 입력되는 과정을 반복함으로써, 필터링할 모든 블록의 상측에 이웃하는 서브블록 데이터를 일정한 크기의 내부 메모리2에 행 단위 순서로 저장하고 출력하는 것을 특징으로 한다. In the present invention, the
본 발명에서 전치 레지스터2는 수평 필터링 된 서브블록의 픽셀 데이터를 열 단위 순서로 입력 받아 전치하여 행 단위 순서로 에지 필터링 연산기로 출력하는 것을 특징으로 한다. In the present invention, the
본 발명에서 전치 레지스터2는 수평 필터링 된 서브블록의 픽셀 데이터와 수 직 필터링 된 서브블록의 픽셀 데이터의 양방향 입출력이 가능하며, 데이터 패스 재구성을 특징으로 한다. In the present invention, the
본 발명에서 서브블록은 4x4 블록인 것을 특징으로 한다. In the present invention, the subblock is characterized in that the 4x4 block.
본 발명에 의한 H.264에서의 디블록 필터링 방법은 블로킹 효과를 제거하기 위한 디블록 필터링 방법에 있어서, 매크로블록의 좌측 경계에 있는 서브블록 열의 수직 에지에 대해 수평 필터링을 수행하는 단계와, 수평 필터링을 수행한 후 우측방향으로 열 단위로 수직방향의 서브블록에 대해 순차적으로 수직에지와 수평에지에 대해 수평-수직 인터리브 방식으로 수평 필터링과 수직 필터링을 수행하는 단계와, 수평-수직 인터리브 방식으로 필터링을 수행한 후 우측 마지막 열의 서브블록의 수평 에지에 대해 수직 필터링을 수행하는 단계를 포함하여 이루어진 것을 특징으로 한다. The deblocking filtering method in H.264 according to the present invention is a deblocking filtering method for removing a blocking effect, comprising: performing horizontal filtering on vertical edges of a subblock column at a left boundary of a macroblock; Performing filtering and performing horizontal and vertical filtering on the vertical edges and the horizontal edges in the vertical direction on the sub-blocks in the column direction in the right direction, in the horizontal-vertical interleaving manner, and in the horizontal-vertical interleaving manner. And performing vertical filtering on the horizontal edge of the subblock of the last right column after the filtering.
본 발명은 서브블록 열에 대해 수직방향으로 필터링을 수행하는 것을 특징으로 한다. The present invention is characterized in that the filtering is performed in the vertical direction with respect to the subblock column.
본 발명의 수평-수직 인터리브 방식으로 필터링을 수행하는 단계에서 수직에지는 우측 에지이고, 수평에지는 상측 에지인 것을 특징으로 한다. In the step of performing the filtering in the horizontal-vertical interleaving method of the present invention, the vertical edge is a right edge, and the horizontal edge is an upper edge.
본 발명에서 각 열의 최하위 서브블록의 하측 수평 에지와 우측 마지막 열의 서브블록의 우측 수직 에지는 인접한 매크로블록에서 필터링되는 것을 특징으로 한다. In the present invention, the lower horizontal edge of the lowest subblock of each column and the right vertical edge of the subblock of the last right column are filtered in adjacent macroblocks.
본 발명에서 서브블록은 4x4 블록인 것을 특징으로 한다. In the present invention, the subblock is characterized in that the 4x4 block.
이와 같이 이루어진 본 발명은 수평-수직 인터리브 디블록 필터링 방법으로 수직 에지에 대한 수평 필터링이 수행되고 그 결과 값이 내부 또는 외부 메모리에 저장되지 않고 바로 수평 에지에 대한 수직 필터링 시 사용되도록 함으로써 외부 메모리 및 내부 메모리와의 데이터 트랜잭션을 최소화하여 저 전력, 고 성능의 필터링 연산을 수행할 수 있도록 한다. The present invention thus achieved is a horizontal-vertical interleaved deblock filtering method in which horizontal filtering is performed on vertical edges, and as a result, values are not stored in the internal or external memory, but are immediately used for vertical filtering on horizontal edges. Minimize data transactions with internal memory to enable low power, high performance filtering operations.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명하며 종래 구성과 동일한 부분은 동일한 부호 및 명칭을 사용한다. 또한 본 실시예는 본 발명의 권리범위를 한정하는 것은 아니고, 단지 예시로 제시된 것이며 당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상 내에서 많은 변형이 가능할 것이다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings, and the same parts as in the prior art use the same reference numerals and names. In addition, the present embodiment is not intended to limit the scope of the present invention, but is presented by way of example only and those skilled in the art will be capable of many modifications within the technical spirit of the present invention.
도 2는 16x16 블록의 하나의 매크로블록 내에서 본 발명에 따른 필터링 순서를 나타낸 도면이다. 2 is a diagram illustrating a filtering order according to the present invention in one macroblock of a 16x16 block.
본 발명에서의 필터링은 4x4 블록의 서브블록 단위로 수행되며, 휘도 성분의 경우 필터링 순서는 도 2의 (a)에 도시된 원형 숫자와 같다. In the present invention, the filtering is performed in units of subblocks of 4x4 blocks, and in the case of the luminance component, the filtering order is the same as the circular number shown in FIG.
먼저, 좌측 경계에 있는 4개의 서브블록의 수직에지(에지 1부터 에지 4까지)가 수평 필터링 된 후, 수평-수직 인터리브 방식으로 에지 5부터 에지 28까지 필터링이 수행된다. 그리고 우측 마지막 열의 서브블록의 수평에지 29부터 에지 32까지의 수직 필터링이 수행됨으로써 하나의 매크로 블록에 대한 휘도 성분 필터링이 완 료된다. First, the vertical edges (
또한, 도 2의 (b)와 도 2의 (c)에 도시된 바와 같이 청색(Cb)과 적색(Cr) 채도 성분의 필터링 순서와 같이 청색과 적색 채도 성분의 매크로블록에 대해서도 휘도 성분의 필터링 방식과 동일한 방식으로 필터링을 수행한다. In addition, as shown in FIGS. 2B and 2C, the luminance component is filtered for the macroblocks of the blue and red chroma components, as in the filtering order of the blue (Cb) and red (Cr) chroma components. Filtering is performed in the same way.
이와 같은 디블록 필터링 방법은 H.264/AVC 표준에 명시된 매크로블록의 필터링 순서와는 다르지만, 매크로블록 내에 포함된 각각의 4x4 서브 블록에 대한 필터링 순서는 변하지 않기 때문에 동일한 결과를 출력하게 되며, 필터링이 인터리브 방식에 의해 수행되기 때문에 수평 필터링에 의한 중간 결과 값이 수직 필터링에 바로 사용될 수 있으므로, 필터링을 위해 필요한 메모리 접근 횟수를 줄일 수 있게 된다. This deblocking filtering method is different from the filtering order of macroblocks specified in the H.264 / AVC standard, but the filtering order for each 4x4 subblock included in the macroblock does not change, and thus the same result is output. Since the interleaved method is used, intermediate result values of horizontal filtering can be directly used for vertical filtering, thereby reducing the number of memory accesses required for filtering.
도 3은 본 발명에 따른 디블로킹 필터를 나타낸 블록구성도이다. 3 is a block diagram illustrating a deblocking filter according to the present invention.
여기에 도시된 바와 같이 외부 메모리(미도시)로부터 필터링할 비디오 데이터를 서브블록 단위로 순서에 따라 입력하는 입력제어기(301)와, 필터링 연산 시 필요한 필터링 세기와 임계값을 계산하는 필터링세기/임계값 생성기(302)와, 입력제어기(301)에서 입력된 서브블록에 대해 필터링하고자 하는 에지의 양측에 존재하는 픽셀 데이터를 입력 받아 필터링을 수행하는 에지 필터링 연산기(303)와, 현재 필터링할 서브블록의 좌측과 상측에 이웃하는 서브블록의 픽셀 데이터를 저장하는 내부 메모리1(304)과 내부 메모리2(305)와, 비디오 데이터의 버퍼링과 전치를 위한 전치 레지스터1(306)과 전치 레지스터2(307)와, 에지 필터링 연산기(303)에서 필터 링 된 데이터를 서브블록 단위로 순서에 따라 외부 메모리에 저장하기 위한 출력제어기(308)를 포함하여 이루어진다. As shown here, an input controller 301 for sequentially inputting video data to be filtered from an external memory (not shown) in units of subblocks, and filtering intensity / threshold for calculating filtering intensity and threshold required for a filtering operation. An
이때 점선 내의 각각의 실선은 32-bits 데이터 흐름을 나타내며, 입력제어기(301)를 통해 들어오는 픽셀 데이터는 32-bits 폭(4개 픽셀)을 가지는 열(row) 단위로 입력된다.At this time, each solid line in the dotted line represents a 32-bits data flow, and pixel data input through the input controller 301 is input in units of rows having a 32-bits width (four pixels).
필터링세기/임계값 생성기(302) 모듈은 외부로부터 데이터를 입력 받아, 디블록 필터링에 필요한 필터링 세기(bS; boundary strength)와 임계값(α, β, C0)을 계산한다. The filtering strength / threshold generator 302 module receives data from the outside and calculates the filtering strength bS and the threshold values α, β, and C0 necessary for deblocking filtering.
내부 메모리1(304)과 메모리2(305)는 각각 이웃한 좌측 서브블록의 픽셀 데이터와 상측 서브블록의 픽셀 데이터를 저장하는데 사용되며, 좌측 서브블록의 픽셀 데이터는 열 단위 순서(row major order)로, 상측 서브블록의 픽셀 데이터는 행 단위 순서(column major order)로 저장된다. 2개의 4x4 전치 레지스터(306, 307)는 픽셀 데이터의 버퍼링과 전치(transpose)를 위해 사용된다. The
에지 필터링 연산기(303)는 수평 또는 수직 에지 양쪽 면에 위치한 각각 4개의 픽셀 데이터를 입력받아 필터링 된 결과값을 출력하게 된다. The
출력제어기(308)는 최종 필터링 된 픽셀 데이터를 적절한 순서에 의해 출력한다. The output controller 308 outputs the final filtered pixel data in the proper order.
여기에 도시된 본 발명에 의한 디블록 필터를 참조하여 도 2에 도시된 필터링 순서를 고려하여 설명하면 다음과 같다. Referring to the deblocking filter according to the present invention shown here in consideration of the filtering order shown in Figure 2 as follows.
먼저, 에지 1부터 에지 4까지의 필터링이 수행된다. 이때, 에지의 좌측 서브 블록(도 2의 LB0, LB1, LB2, LB3)의 데이터는 메모리1(304)로부터 에지 필터링 연산기(303)로 입력되며, 에지의 우측 서브블록(도 2의 CB0, CB4, CB8, CB12)의 데이터는 입력제어기(301)로부터 들어온다. 두 데이터는 열 단위 순서로 입력되며, 필터링 된 좌측 서브블록의 데이터는 출력제어기(308)를 통해 출력되고, 우측 서브블록의 데이터는 다음 필터링을 위해 메모리1(304)에 저장된다.First, filtering from
이와 같이 도 2의 에지 1부터 에지 4까지의 필터링이 완료되면, 에지 5부터 에지 28까지의 필터링이 수평-수직 인터리브 방식에 의해 수행된다. As described above, when the filtering from the
이때 에지 5에 대한 수평 필터링을 위해 CB0 서브블록 데이터가 메모리1(304)로부터, CB1 서브블록 데이터가 입력제어기(301)로부터 에지 필터링 연산기(303)로 입력된다. 필터링 된 CB1 서브블록 데이터는 다음 필터링을 위해 메모리1(304)에 저장되며, 수평 필터링 된 CB0 서브블록 데이터는 수직 필터링을 위해 전치 레지스터2(307)로 보내진다. At this time, the CB0 subblock data is input from the
그리고 전치 레지스터2(307)에 의해 전치된 데이터는 다시 에지 필터링 연산기(303)로 입력되고, 상측 서브블록인 UB0 서브블록 데이터가 메모리2(305)로부터 입력되어 수평에지 6에 대한 수직 필터링이 진행된다. 이때 UB0 서브블록과 CB0 서브블록의 데이터는 행 단위 순서로 처리된다. 수직 필터링 된 UB0 서브블록 데이터는 전치 레지스터2(307)에 의해 열 단위 순서로 전치되어 출력제어기(308)에 의해 출력되며, CB0 서브블록의 데이터는 다음 필터링을 위해 행 단위 순서로 메모리2(305)에 저장된다. The data transposed by the
이와 같이 도 2의 수직에지 5와 수평에지 6에 대한 필터링이 완료되며, 에지 7부터 에지 28까지는 이와 동일한 방식으로 필터링이 진행된다.As described above, the filtering of the
이렇게 수평-수직 인터리브 방식으로 도 2의 에지 28까지의 필터링이 완료되면, 수평에지 29부터 에지 32까지에 대한 수직 필터링이 수행된다. When the filtering to the
에지 29의 상측 서브블록인 UB3 서브블록의 데이터가 메모리2(305)로부터 행 단위 순서로 에지 필터링 연산기(303)에 입력되며, 메모리1(304)에 저장되어 있던 하측 서브블록인 CB3 서브블록의 데이터는 전치 레지스터1(306)을 통해 행 단위 순서로 전치되어 에지 필터링 연산기(303)에 입력된다. Data of the UB3 subblock, the upper subblock of
이때, CB3 서브블록 데이터는 수평에지 28에 대한 필터링이 수행될 때 전치 레지스터1(306)에 의해 전치되므로 추가 사이클을 소모할 필요가 없게 된다. At this time, the CB3 subblock data is transposed by the
이렇게 수직 필터링 된 UB3 서브블록 데이터는 전치 레지스터2(307)에 의해 열 단위 순서로 전치되어 출력제어기(308)에 의해 출력되며, CB3 서브블록 데이터는 다음 필터링을 위해 행 단위 순서로 메모리2(305)에 저장된다. The vertically filtered UB3 subblock data is transposed in column order by transposition register 2 (307) and output by the output controller 308. The CB3 subblock data is stored in memory 2 (305) in row order for the next filtering. )
이와 같은 방식으로 우측 마지막 열의 에지 30, 에지 31, 에지 32에 대해서도 수직 필터링이 수행된다. In this way, vertical filtering is also performed on
위와 같은 방식으로 16x16 매크로블록의 휘도 성분에 대한 디블로킹 필터링이 완료되며, Cb와 Cr 채도 성분에 대해서도 동일한 방식에 의해 필터링 될 수 있다.In the same manner as above, the deblocking filtering of the luminance component of the 16x16 macroblock is completed, and the Cb and Cr saturation components may be filtered in the same manner.
도 4a와 도 4b는 본 발명에 따른 디블로킹 필터에 사용되는 두 종류의 내부 메모리 데이터와 구조를 나타낸 도면이다. 4A and 4B illustrate two types of internal memory data and structures used in the deblocking filter according to the present invention.
여기에 도시된 도 4a와 같이 내부 메모리1(304)은 현재 매크로블록의 좌측에 이웃하는 매크로블록의 서브블록 데이터를 저장하며, 32x32bits의 메모리 사이즈를 갖는다. As shown in FIG. 4A, the
내부 메모리2(305)는 현재 매크로블록의 상측에 이웃하는 매크로블록의 서브블록 데이터를 저장하며, 메모리 사이즈는 프레임 폭(frame width)에 따라 달라질 수 있다.
예를 들어, CIF 비디오 영상인 경우 메모리 사이즈는 (2x352)x32bits가 된다. For example, in the case of a CIF video image, the memory size is (2x352) x32bits.
다음으로, 도 4b는 내부 메모리1(304)과 메모리2(305)의 구조를 나타낸 도면으로써 각각의 직사각형의 숫자는 4개의 픽셀 묶음에 대한 데이터 어드레스를 나타낸다. Next, FIG. 4B is a diagram showing the structures of the
메모리1(304)에는 현재 매크로블록의 좌측에 이웃하는 매크로블록의 픽셀 데이터가 열 단위로 저장되며, 메모리2(305)에는 상측에 이웃하는 매크로블록의 픽셀 데이터가 행 단위로 저장된다.In memory 1304, pixel data of a macroblock neighboring the left side of the current macroblock is stored in columns, and in
도 5a와 도 5b는 본 발명에 따른 디블록 필터에 사용되는 전치 레지스터의 구조와 데이터 패스를 나타낸 도면이다. 5A and 5B illustrate the structure and data path of a pre-register used in a deblocking filter according to the present invention.
여기에 도시된 디블록 필터에 사용되는 4x4 전치 레지스터2(307)는 양방향 입출력 구조와 데이터 패스 재구성 방식을 사용하여, 도 2의 에지 5부터 에지 28까 지를 필터링하는데 매우 유용하게 사용된다. The 4x4 pre-register 2 (307) used in the deblock filter shown here is very useful for filtering from
예를 들어, 도 2의 에지 5와 에지 6에 대한 필터링 시, 전치 레지스터2(307)의 데이터 패스는 도 5a와 도 5b와 같다. For example, when filtering on
도 5a에서 전치 레지스터2(307) 내에 각각의 정사각형은 8bits 픽셀 데이터를 나타내는 것으로써 먼저, 도 2에서 에지 5의 좌측 서브블록인 CB0의 데이터와 우측 서브블록인 CB1의 데이터가 도 5a와 같이 에지 필터링 연산기(303)로 입력되고, 필터링 된 CB0의 데이터는 열 단위 순서로 전치 레지스터2(307)의 왼쪽으로 입력되어 오른쪽으로 쉬프트 된다. 데이터 쉬프트가 완료되면, 전치된 CB0의 데이터가 행 단위 순서로 아래쪽으로 출력되어, 도 5b와 같이 에지 필터링 연산기(30)로 다시 입력되고, 메모리2(305)로부터 행 단위 순서로 입력된 UB0의 데이터와 함께 수직 필터링 된다. 필터링 된 UB0의 데이터는 전치 레지스터2(307)의 위쪽으로 입력되어 아래쪽으로 쉬프트 되며, 데이터 쉬프트가 완료되면, 전치된 UB0의 데이터가 열 단위 순서로 오른쪽으로 출력된다. In FIG. 5A, each square in the
이때 CB0의 데이터가 완전히 출력되지 않고 전치 레지스터2(307)에 남아 있더라도 UB0의 데이터 입력을 가능하게 해 준다. At this time, even if the data of CB0 is not completely output and remains in the pre-register 2 (307), it enables the data input of the UB0.
이와 같은 전치 레지스터2(307)의 양방향 입출력 구조 및 데이터 패스 재구성을 통해 전치 레지스터를 더욱 효율적으로 활용할 수 있다.The bidirectional input / output structure and data path reconstruction of the
상술한 바와 같이 본 발명은 H.264/AVC 비디오 코딩 표준을 만족하며, 디블 록 필터링 순서를 수평-수직 인터리브 방식에 의해 적절히 배치함으로써, 수평 필터링 된 중간 픽셀 값을 외부 메모리 또는 내부 메모리에 저장하지 않고 바로 수직 필터링에 사용할 수 있으므로 메모리 접근 횟수를 최소화하여 저 전력, 고 성능의 디블록 필터링 연산을 수행할 수 있는 이점이 있다. As described above, the present invention satisfies the H.264 / AVC video coding standard, and by properly placing the deblocking filtering order by a horizontal-vertical interleaving method, the horizontal filtered intermediate pixel values are not stored in the external memory or the internal memory. Because it can be used directly for vertical filtering, it has the advantage of performing low power, high performance deblocking filtering operations by minimizing the number of memory accesses.
또한, 현재 매크로블록의 좌측에 이웃한 픽셀 데이터를 내부 메모리에 열 단위 순서로 저장하고 상측에 이웃한 픽셀 데이터를 행 단위 순서로 저장하여 수평-수직 인터리브 방식의 디블록 필터링을 수행함으로써 고속의 필터링 연산이 가능한 이점이 있다. In addition, high-speed filtering is performed by storing pixel data neighboring the left side of the current macroblock in the internal memory in column unit order and storing the pixel data neighboring the upper side in the row unit order to perform horizontal-vertical interleaving deblocking filtering. Operation has the advantage of being possible.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070053493A KR100856551B1 (en) | 2007-05-31 | 2007-05-31 | Deblock filter and deblock filtering method in h.264/avc |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070053493A KR100856551B1 (en) | 2007-05-31 | 2007-05-31 | Deblock filter and deblock filtering method in h.264/avc |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100856551B1 true KR100856551B1 (en) | 2008-09-04 |
Family
ID=40022414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070053493A KR100856551B1 (en) | 2007-05-31 | 2007-05-31 | Deblock filter and deblock filtering method in h.264/avc |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100856551B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101051040B1 (en) | 2009-08-26 | 2011-07-21 | 성균관대학교산학협력단 | Deblocking filtering method |
KR101063423B1 (en) | 2009-03-04 | 2011-09-07 | 주식회사 코아로직 | Deblock filtering method and apparatus |
KR101119978B1 (en) * | 2010-04-13 | 2012-03-16 | 인하대학교 산학협력단 | De-Blocking Filter and Method thereof |
CN107277525A (en) * | 2011-02-23 | 2017-10-20 | 高通股份有限公司 | Many measurement filtering |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060060919A (en) * | 2004-12-01 | 2006-06-07 | 삼성전자주식회사 | Deblocking filter and method of deblock-filtering for eliminating blocking effect in h.264/mpeg-4 |
JP2006174138A (en) | 2004-12-16 | 2006-06-29 | Sony Corp | Data processor, image processing apparatus, method and program therefor |
KR20060084960A (en) * | 2005-01-21 | 2006-07-26 | 엘지전자 주식회사 | Deblocking filter and filtering method in mobile-type broadcasting receiver |
-
2007
- 2007-05-31 KR KR1020070053493A patent/KR100856551B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060060919A (en) * | 2004-12-01 | 2006-06-07 | 삼성전자주식회사 | Deblocking filter and method of deblock-filtering for eliminating blocking effect in h.264/mpeg-4 |
JP2006174138A (en) | 2004-12-16 | 2006-06-29 | Sony Corp | Data processor, image processing apparatus, method and program therefor |
KR20060084960A (en) * | 2005-01-21 | 2006-07-26 | 엘지전자 주식회사 | Deblocking filter and filtering method in mobile-type broadcasting receiver |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101063423B1 (en) | 2009-03-04 | 2011-09-07 | 주식회사 코아로직 | Deblock filtering method and apparatus |
KR101051040B1 (en) | 2009-08-26 | 2011-07-21 | 성균관대학교산학협력단 | Deblocking filtering method |
KR101119978B1 (en) * | 2010-04-13 | 2012-03-16 | 인하대학교 산학협력단 | De-Blocking Filter and Method thereof |
CN107277525A (en) * | 2011-02-23 | 2017-10-20 | 高通股份有限公司 | Many measurement filtering |
CN107277525B (en) * | 2011-02-23 | 2020-05-01 | 高通股份有限公司 | Method, apparatus, device and computer readable storage medium for video decoding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100843196B1 (en) | Deblocking filter of H.264/AVC video decoder | |
CN107277539B (en) | Method and apparatus for reducing line cache in context adaptive entropy decoding | |
CN101160971B (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 | |
US8031778B2 (en) | Picture decoding device and method | |
US20060115002A1 (en) | Pipelined deblocking filter | |
US20090060049A1 (en) | Method and system for calculating flag parameter of image block | |
KR100614647B1 (en) | Register array structure for effective edge filtering operation of deblocking filter | |
KR100856551B1 (en) | Deblock filter and deblock filtering method in h.264/avc | |
CN104521234B (en) | Merge the method for processing video frequency and device for going block processes and sampling adaptive migration processing | |
CN107040778A (en) | Loop circuit filtering method and loop filter | |
KR100359208B1 (en) | High speed deblocking filter device | |
CN103491372A (en) | Filtering method of blocking-removing filter suitable for HEVC standard | |
KR20050121627A (en) | Filtering method of audio-visual codec and filtering apparatus thereof | |
JP2007174602A (en) | Decoding apparatus | |
JP2007258882A (en) | Image decoder | |
KR100686141B1 (en) | Deblocking filter and filtering method in mobile-type broadcasting receiver | |
GB2459567A (en) | Video signal edge filtering | |
KR100999505B1 (en) | Device for encoding/decoding video data capable of processing parallel macroblock-based data | |
CN103702132B (en) | filtering method, device and equipment | |
KR100824287B1 (en) | Low power high speed deblocking filter | |
KR101004825B1 (en) | Pipielined deblocking filter using two filters simultaneously | |
KR100816461B1 (en) | Real-time deblocking filter and Method using the same | |
KR20060117059A (en) | The system for minimizing frame memory access of deblocking filter module | |
JP4830691B2 (en) | Video signal processing method and apparatus, and video signal decoding method |
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: 20110829 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20120730 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |