KR100856551B1 - Deblock filter and deblock filtering method in h.264/avc - Google Patents

Deblock filter and deblock filtering method in h.264/avc Download PDF

Info

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
Application number
KR1020070053493A
Other languages
Korean (ko)
Inventor
유회준
황민수
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020070053493A priority Critical patent/KR100856551B1/en
Application granted granted Critical
Publication of KR100856551B1 publication Critical patent/KR100856551B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection 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/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

A deblock filter and a deblock filtering method in H.264/AVC are provided to perform low power consumption and high performance filtering calculation by performing a horizontal-vertical interleave deblock filtering which satisfies H.264/AVC video coding standards and minimizing data transaction between an external memory and an inner SRAM. A deblock filter for removing a blocking effect, includes: an input controller which inputs video data to filter from an external memory in the order of luminance component data, blue chrominance component data, and red chrominance component data, and inputs data of sub-block units in sequence from a left column to a right column for a single macro block and from an upper line to a lower line in each column; a filtering magnitude/threshold value generator which calculates a filtering magnitude and a threshold value required for the filtering; an edge filtering calculator which is input with pixel data existing on opposite sides of an edge to filter for a sub-block input by the input controller and performs the filtering; an inner memory 1 and an inner memory 2 which store pixel data of a sub block neighboring left and upper sides of the present sub block to filter; a transpose register 1 and a transpose register 2 which buffer and transpose the video data; and an output controller which stores the data filtered by the edge filtering calculator in the unit of sub block in sequence to an external memory.

Description

H.264/AVC에서의 디블록 필터 및 필터링 방법{DEBLOCK FILTER AND DEBLOCK FILTERING METHOD IN H.264/AVC}DEBLOCK FILTER AND DEBLOCK FILTERING METHOD IN H.264 / AVC}

도 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: internal memory 1

305 : 내부 메모리2 306 : 전치 레지스터1305: Internal memory 2 306: Pre-register 1

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 internal memory 1 and an internal memory 2 for storing pixel data of subblocks adjacent to the left side and the upper side of the subblock to be currently filtered; A transposition register 1 and a transposition register 2 for buffering and transposing the video data; And an output controller for storing the filtered data in an order of subblocks in an external memory in the edge filtering calculator.

삭제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 internal memory 1 stores and outputs subblock data adjacent to the left of the macroblock to be filtered in column order.

본 발명에서 내부 메모리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 internal memory 1 outputs data of a corresponding address and is filtered through an edge filtering operator, and the pixel data stored in the internal memory 1 is filtered. After output through the output controller or transposed by the transposition register 1 to be used for the next vertical filtering, the pixel data of the current subblock input is repeated after filtering and inputted again to the same address of the internal memory 1, thereby all sub-filters to be filtered The block data neighboring the left side of the block is stored in the internal memory 1 having a predetermined size and outputted in a column unit order.

본 발명에서 내부 메모리2는 필터링할 매크로블록의 상측에 이웃한 서브블록 데이터를 행 단위 순서로 저장하고 출력하는 것을 특징으로 한다. In the present invention, the internal memory 2 stores and outputs subblock data neighboring the upper side of the macroblock to be filtered in row-by-row order.

본 발명에서 내부 메모리2는 수평 필터링 된 픽셀 데이터가 전치 레지스터를 통해 전치된 후 행 단위 순서로 에지 필터링 연산기로 입력될 때 해당하는 주소의 데이터를 출력하여 에지 필터링 연산기를 통해 필터링 되며, 내부 메모리2에 저장되어 있던 픽셀 데이터는 필터링 후 전치 레지스터2를 통해 전치되어 열 단위 순서로 출력제어기를 의해 출력되고, 전치 레지스터1를 통해 입력된 서브블록의 픽셀 데이터는 필터링 후 내부 메모리2의 동일한 주소에 행 단위 순서로 다시 입력되는 과정을 반복함으로써, 필터링할 모든 블록의 상측에 이웃하는 서브블록 데이터를 일정한 크기의 내부 메모리2에 행 단위 순서로 저장하고 출력하는 것을 특징으로 한다. In the present invention, the internal memory 2 outputs data of a corresponding address when the horizontally filtered pixel data is transposed through the transposition register and then input to the edge filtering operator in a row unit order, and then filtered through the edge filtering operator. After filtering, the pixel data is transposed through transposition register 2 and outputted by the output controller in column order. The pixel data of the subblock input through transposition register 1 is filtered to the same address in the internal memory 2. By repeating the input process again in the unit order, the subblock data neighboring the upper sides of all the blocks to be filtered are stored and output in a row unit order in the internal memory 2 having a predetermined size.

본 발명에서 전치 레지스터2는 수평 필터링 된 서브블록의 픽셀 데이터를 열 단위 순서로 입력 받아 전치하여 행 단위 순서로 에지 필터링 연산기로 출력하는 것을 특징으로 한다. In the present invention, the transposition register 2 receives and transposes pixel data of the horizontally filtered subblock in a column unit order and outputs the pixel data to the edge filtering operator in a row unit order.

본 발명에서 전치 레지스터2는 수평 필터링 된 서브블록의 픽셀 데이터와 수 직 필터링 된 서브블록의 픽셀 데이터의 양방향 입출력이 가능하며, 데이터 패스 재구성을 특징으로 한다. In the present invention, the transposition register 2 enables bidirectional input / output of pixel data of a horizontally filtered subblock and pixel data of a vertically filtered subblock, and features data path reconstruction.

본 발명에서 서브블록은 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 (edge 1 to edge 4) of the four subblocks at the left boundary are horizontally filtered, and then filtering is performed from edge 5 to edge 28 in a horizontal-vertical interleaving manner. In addition, the vertical filtering from the horizontal edge 29 to the edge 32 of the sub-blocks in the last right column is performed to complete the luminance component filtering for one macro block.

또한, 도 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 edge filtering operator 303 for performing filtering by receiving pixel data existing on both sides of an edge to be filtered with respect to the value generator 302, the subblock input by the input controller 301, and a subblock to be currently filtered Internal memory 1 304 and internal memory 2 305, which store pixel data of subblocks adjacent to the left and upper sides of the data, and transposition register 1 306 and transposition register 2 307 for buffering and transposing video data. And an output controller 308 for storing the data filtered by the edge filtering operator 303 in an external memory in the order of subblocks. All.

이때 점선 내의 각각의 실선은 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 internal memory 1 304 and the memory 2 305 are used to store pixel data of the neighboring left subblock and pixel data of the upper subblock, respectively, and the pixel data of the left subblock is in a row major order. In other words, the pixel data of the upper subblock is stored in a column major order. Two 4x4 transposition registers 306 and 307 are used for buffering and transposing pixel data.

에지 필터링 연산기(303)는 수평 또는 수직 에지 양쪽 면에 위치한 각각 4개의 픽셀 데이터를 입력받아 필터링 된 결과값을 출력하게 된다. The edge filtering operator 303 receives four pixel data respectively located on both horizontal and vertical edges, and outputs the filtered result.

출력제어기(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 edge 1 to edge 4 is performed. At this time, the data of the left subblock of the edge (LB0, LB1, LB2, LB3 of FIG. 2) is input from the memory 1 304 to the edge filtering operator 303, and the right subblock of the edge (CB0, CB4 of FIG. 2). The data of CB8 and CB12 are input from the input controller 301. Two data are input in column order, and the data of the filtered left subblock is output through the output controller 308, and the data of the right subblock is stored in the memory 1 304 for the next filtering.

이와 같이 도 2의 에지 1부터 에지 4까지의 필터링이 완료되면, 에지 5부터 에지 28까지의 필터링이 수평-수직 인터리브 방식에 의해 수행된다. As described above, when the filtering from the edge 1 to the edge 4 of FIG. 2 is completed, the filtering from the edge 5 to the edge 28 is performed by the horizontal-vertical interleaving method.

이때 에지 5에 대한 수평 필터링을 위해 CB0 서브블록 데이터가 메모리1(304)로부터, CB1 서브블록 데이터가 입력제어기(301)로부터 에지 필터링 연산기(303)로 입력된다. 필터링 된 CB1 서브블록 데이터는 다음 필터링을 위해 메모리1(304)에 저장되며, 수평 필터링 된 CB0 서브블록 데이터는 수직 필터링을 위해 전치 레지스터2(307)로 보내진다. At this time, the CB0 subblock data is input from the memory 1 304 and the CB1 subblock data is input from the input controller 301 to the edge filtering operator 303 for horizontal filtering on the edge 5. The filtered CB1 subblock data is stored in memory 1 304 for next filtering, and the horizontally filtered CB0 subblock data is sent to pre-register 2 307 for vertical filtering.

그리고 전치 레지스터2(307)에 의해 전치된 데이터는 다시 에지 필터링 연산기(303)로 입력되고, 상측 서브블록인 UB0 서브블록 데이터가 메모리2(305)로부터 입력되어 수평에지 6에 대한 수직 필터링이 진행된다. 이때 UB0 서브블록과 CB0 서브블록의 데이터는 행 단위 순서로 처리된다. 수직 필터링 된 UB0 서브블록 데이터는 전치 레지스터2(307)에 의해 열 단위 순서로 전치되어 출력제어기(308)에 의해 출력되며, CB0 서브블록의 데이터는 다음 필터링을 위해 행 단위 순서로 메모리2(305)에 저장된다. The data transposed by the transpose register 2 307 is input to the edge filtering operator 303 again, and the UB0 subblock data, which is an upper subblock, is input from the memory 2 305 to perform vertical filtering on the horizontal edge 6. do. At this time, the data of the UB0 subblock and the CB0 subblock are processed in row unit order. The vertically filtered UB0 subblock data is transposed in column order by transposition register 2 307 and output by the output controller 308. The data of the CB0 subblock is stored in memory 2 (305) in row order for the next filtering. )

이와 같이 도 2의 수직에지 5와 수평에지 6에 대한 필터링이 완료되며, 에지 7부터 에지 28까지는 이와 동일한 방식으로 필터링이 진행된다.As described above, the filtering of the vertical edge 5 and the horizontal edge 6 of FIG. 2 is completed, and the filtering is performed in the same manner from the edge 7 to the edge 28.

이렇게 수평-수직 인터리브 방식으로 도 2의 에지 28까지의 필터링이 완료되면, 수평에지 29부터 에지 32까지에 대한 수직 필터링이 수행된다. When the filtering to the edge 28 of FIG. 2 is completed in the horizontal-vertical interleaving manner, vertical filtering of the horizontal edge 29 to the edge 32 is performed.

에지 29의 상측 서브블록인 UB3 서브블록의 데이터가 메모리2(305)로부터 행 단위 순서로 에지 필터링 연산기(303)에 입력되며, 메모리1(304)에 저장되어 있던 하측 서브블록인 CB3 서브블록의 데이터는 전치 레지스터1(306)을 통해 행 단위 순서로 전치되어 에지 필터링 연산기(303)에 입력된다. Data of the UB3 subblock, the upper subblock of edge 29, is input from the memory 2 305 to the edge filtering operator 303 in a row-by-row order, and is stored in the CB3 subblock of the lower subblock stored in the memory 1304. The data is transposed in row-by-row order via transpose register 1 306 and input to edge filtering operator 303.

이때, CB3 서브블록 데이터는 수평에지 28에 대한 필터링이 수행될 때 전치 레지스터1(306)에 의해 전치되므로 추가 사이클을 소모할 필요가 없게 된다. At this time, the CB3 subblock data is transposed by the transposition register 1 306 when the filtering on the horizontal edge 28 is performed, so that it is not necessary to spend additional cycles.

이렇게 수직 필터링 된 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 edges 30, 31, and 32 of the last right column.

위와 같은 방식으로 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 internal memory 1 304 stores subblock data of a macroblock neighboring to the left of the current macroblock, and has a memory size of 32 × 32 bits.

내부 메모리2(305)는 현재 매크로블록의 상측에 이웃하는 매크로블록의 서브블록 데이터를 저장하며, 메모리 사이즈는 프레임 폭(frame width)에 따라 달라질 수 있다. Internal memory 2 305 stores the subblock data of the macroblock neighboring the current macroblock, and the memory size may vary according to the 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 internal memory 1 304 and the memory 2 305, where each rectangular number represents a data address for four pixel bundles.

메모리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 memory 2 305, pixel data of a macroblock neighboring the upper side is stored in units of rows.

도 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 edge 5 to edge 28 of FIG. 2 using a bidirectional input / output structure and a data path reconstruction scheme.

예를 들어, 도 2의 에지 5와 에지 6에 대한 필터링 시, 전치 레지스터2(307)의 데이터 패스는 도 5a와 도 5b와 같다. For example, when filtering on edges 5 and 6 of FIG. 2, the data path of pre-register 2 (307) is the same as FIGS. 5A and 5B.

도 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 transpose register 2 307 represents 8 bits of pixel data. First, in FIG. 2, data of CB0, which is the left subblock of edge 5, and data of CB1, which is the right subblock, are edged as shown in FIG. 5A. The data of the filtered CB0 is input to the filtering operator 303 and is input to the left of the transposition register 2 307 in a column unit order and shifted to the right. When the data shift is completed, the data of the transposed CB0 is output downward in the row unit order, inputted back to the edge filtering operator 30 as shown in FIG. 5B, and the UB0 input in the row unit order from the memory 2 305. Vertically filtered with data. The filtered data of UB0 is input upward of the transposition register 2 307 and shifted downward. When the data shift is completed, the data of the transposed UB0 is output to the right in the order of columns.

이때 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 transpose register 2 307 can be used more efficiently.

상술한 바와 같이 본 발명은 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)

블로킹 효과를 제거하기 위한 디블록 필터에 있어서,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 macro block 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; 현재 필터링할 상기 서브블록의 좌측과 상측에 이웃하는 서브블록의 픽셀 데이터를 저장하는 내부 메모리1과 내부 메모리2와;An internal memory 1 and an internal memory 2 for storing pixel data of subblocks adjacent to the left side and the upper side of the subblock to be currently filtered; 상기 비디오 데이터의 버퍼링과 전치를 위한 전치 레지스터1과 전치 레지스터2와;A transposition register 1 and a transposition register 2 for buffering and transposing the video data; 상기 에지 필터링 연산기에서 상기 필터링 된 데이터를 서브블록 단위로 순서에 따라 외부 메모리에 저장하기 위한 출력제어기;An output controller for storing the filtered data in an order of sub-blocks in an external memory by the edge filtering calculator; 를 포함하여 이루어진 것을 특징으로 하는 디블록 필터. Deblock filter, characterized in that consisting of. 삭제delete 제 1항에 있어서, 상기 에지 필터링 연산기는 상기 필터링할 매크로블록에서 상기 서브블록의 수직 에지에 대한 수평 필터링이 수행되고 그 결과 값을 저장하지 않고 바로 수평 에지에 대한 수직 필터링 시 사용하는 수평-수직 인터리브 방식에 의해 필터링 하는 것을 특징으로 하는 디블록 필터. 2. The horizontal filtering device of claim 1, wherein the edge filtering operator performs horizontal filtering on vertical edges of the sub-blocks in the macroblock to be filtered and uses the vertical filtering on the horizontal edges immediately without storing the result values. A deblocking filter characterized by filtering by an interleaved method. 제 1항에 있어서, 상기 내부 메모리1은 상기 필터링할 매크로블록의 좌측에 이웃한 상기 서브블록 데이터를 열 단위 순서로 저장하고 출력하는 것을 특징으로 하는 디블록 필터. The deblocking filter of claim 1, wherein the internal memory 1 stores and outputs the subblock data adjacent to the left side of the macroblock to be filtered in a column unit order. 제 1항 또는 제 4항에 있어서, 상기 내부 메모리1은 상기 필터링할 상기 현재 서브블록의 픽셀 데이터가 열 단위 순서로 입력될 때 해당하는 주소의 데이터를 출력하여 상기 에지 필터링 연산기를 통해 필터링 되며, 상기 내부 메모리1에 저장되어 있던 상기 픽셀 데이터는 필터링 후 상기 출력제어기를 통해 출력되거나 상기 전치 레지스터1에 의해 전치되어 다음 수직 필터링에 사용되고, 입력된 상기 현재 서브블록의 상기 픽셀 데이터는 필터링 후 상기 내부 메모리1의 동일한 주소에 다시 입력되는 과정을 반복함으로써, 필터링할 상기 모든 서브블록의 좌측에 이웃하 는 상기 블록 데이터를 일정한 크기의 상기 내부 메모리1에 열 단위 순서로 저장하고 출력하는 것을 특징으로 하는 디블록 필터. The method of claim 1, wherein the internal memory 1 outputs data of a corresponding address when the pixel data of the current subblock to be filtered is input in a column unit order, and is filtered by the edge filtering operator. The pixel data stored in the internal memory 1 is output through the output controller after filtering or transposed by the transposition register 1 to be used for next vertical filtering, and the input pixel data of the current subblock is filtered and then internally filtered. By repeating the process of re-input to the same address of the memory 1, the block data neighboring to the left of all the sub-blocks to be filtered are stored and output in a column unit order in the internal memory 1 of a predetermined size. Deblock filter. 제 1항에 있어서, 상기 내부 메모리2는 상기 필터링할 매크로블록의 상측에 이웃한 상기 서브블록 데이터를 행 단위 순서로 저장하고 출력하는 것을 특징으로 하는 디블록 필터. The deblocking filter of claim 1, wherein the internal memory 2 stores and outputs the subblock data adjacent to an upper side of the macroblock to be filtered in a row unit order. 제 1항 또는 제 6항에 있어서, 내부 메모리2는 수평 필터링 된 픽셀 데이터가 상기 전치 레지스터를 통해 전치된 후 행 단위 순서로 상기 에지 필터링 연산기로 입력될 때 해당하는 주소의 데이터를 출력하여 상기 에지 필터링 연산기를 통해 필터링 되며, 상기 내부 메모리2에 저장되어 있던 상기 픽셀 데이터는 필터링 후 상기 전치 레지스터2를 통해 전치되어 열 단위 순서로 상기 출력제어기를 의해 출력되고, 상기 전치 레지스터1를 통해 입력된 상기 서브블록의 픽셀 데이터는 상기 필터링 후 상기 내부 메모리2의 동일한 주소에 행 단위 순서로 다시 입력되는 과정을 반복함으로써, 필터링할 상기 모든 블록의 상측에 이웃하는 상기 서브블록 데이터를 일정한 크기의 상기 내부 메모리2에 행 단위 순서로 저장하고 출력하는 것을 특징으로 하는 디블록 필터. The edge memory of claim 1 or 6, wherein the internal memory 2 outputs data of a corresponding address when horizontally filtered pixel data is transposed through the pre-register and input to the edge filtering operator in a row-by-row order. The pixel data, which is filtered by a filtering operator, is stored in the internal memory 2 and then transposed through the pre-register 2 after being filtered and outputted by the output controller in a column-by-column order, and inputted through the pre-register 1. The pixel data of the subblock is repeatedly inputted in the row-by-row order to the same address of the internal memory 2 after the filtering, so that the subblock data neighboring the upper side of all the blocks to be filtered are fixed in the internal memory of a predetermined size. Deblocking, storing and outputting in row order in 2 Emitter. 제 1항에 있어서, 상기 전치 레지스터2는 수평 필터링 된 상기 서브블록의 픽셀 데이터를 열 단위 순서로 입력 받아 전치하여 행 단위 순서로 에지 필터링 연 산기로 출력하는 것을 특징으로 하는 디블록 필터. The deblocking filter of claim 1, wherein the preregister register 2 receives the pixel data of the horizontally filtered subblock in a column unit order, transposes the pixel data, and outputs the edge data to the edge filtering operator in a row unit order. 제 1항에 있어서, 상기 전치 레지스터2는 수평 필터링 된 서브블록의 픽셀 데이터와 수직 필터링 된 서브블록의 픽셀 데이터의 양방향 입출력이 가능하며, 데이터 패스 재구성을 특징으로 하는 디블록 필터. The deblocking filter of claim 1, wherein the pre-register 2 is capable of bi-directional input and output of pixel data of a horizontally filtered subblock and pixel data of a vertically filtered subblock. 제 1항 또는 제 9항 중 어느 한 항에 있어서, 상기 서브블록은 4x4 블록인 것을 특징으로 하는 디블록 필터. 10. The deblock filter according to any one of claims 1 to 9, wherein the subblock is a 4x4 block. 제 1항에 따른 디블록 필터를 이용하여 블로킹 효과를 제거하기 위한 디블록 필터링 방법에 있어서,In the deblocking filtering method for removing the blocking effect using the deblocking filter according to claim 1, 매크로블록의 좌측 경계에 있는 서브블록 열의 수직 에지에 대해 수평 필터링을 수행하는 단계와, Performing horizontal filtering on the vertical edges of the subblock columns at the left boundary of the macroblock; 상기 수평 필터링을 수행한 후 우측방향으로 열 단위로 수직방향의 상기 서브블록에 대해 순차적으로 수직에지와 수평에지에 대해 수평-수직 인터리브 방식으로 수평 필터링과 수직 필터링을 수행하는 단계와, Performing horizontal filtering and vertical filtering on the vertical edges and the horizontal edges in a horizontal-vertical interleaving manner sequentially for the sub-blocks in the vertical direction in the right direction after performing the horizontal filtering; 상기 수평-수직 인터리브 방식으로 필터링을 수행한 후 우측 마지막 열의 상기 서브블록의 수평 에지에 대해 수직 필터링을 수행하는 단계Performing vertical filtering on the horizontal edge of the subblock of the last right column after performing the filtering in the horizontal-vertical interleaving method 를 포함하여 이루어진 것을 특징으로 하는 디블록 필터링 방법. Deblock filtering method, characterized in that consisting of. 제 11항에 있어서, 상기 서브블록 열에 대해 수직방향으로 필터링을 수행하 는 것을 특징으로 하는 디블록 필터링 방법. 12. The method of claim 11, wherein the filtering is performed in a vertical direction with respect to the subblock column. 제 11항에 있어서, 상기 수평-수직 인터리브 방식으로 필터링을 수행하는 단계에서 상기 수직에지는 우측 에지이고, 상기 수평에지는 상측 에지인 것을 특징으로 하는 디블록 필터링 방법. 12. The method of claim 11, wherein the vertical edge is a right edge and the horizontal edge is an upper edge in performing the filtering in the horizontal-vertical interleaving method. 제 11항에 있어서, 상기 각 열의 최하위 서브블록의 하측 수평 에지와 우측 마지막 열의 서브블록의 우측 수직 에지는 인접한 매크로블록에서 필터링되는 것을 특징으로 하는 디블록 필터링 방법. 12. The method of claim 11, wherein 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. 제 12항 내지 제 14항 중 어느 한 항에 있어서, 상기 서브블록은 4x4 블록인 것을 특징으로 하는 디블록 필터링 방법. 15. The method of claim 12, wherein the subblock is a 4x4 block.
KR1020070053493A 2007-05-31 2007-05-31 Deblock filter and deblock filtering method in h.264/avc KR100856551B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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