KR101004825B1 - Pipielined deblocking filter using two filters simultaneously - Google Patents
Pipielined deblocking filter using two filters simultaneously Download PDFInfo
- Publication number
- KR101004825B1 KR101004825B1 KR1020090080453A KR20090080453A KR101004825B1 KR 101004825 B1 KR101004825 B1 KR 101004825B1 KR 1020090080453 A KR1020090080453 A KR 1020090080453A KR 20090080453 A KR20090080453 A KR 20090080453A KR 101004825 B1 KR101004825 B1 KR 101004825B1
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- horizontal
- vertical
- data
- buffer memory
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- 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
Abstract
Description
본 발명은 수평 필터와 수직 필터를 이용하는 파이프라인 구조의 디블록킹 필터 장치에 관한 것으로, 특히 수평과 수직 두 개의 필터 연산부를 이용하여 디블록킹 필터의 고속 처리가 가능하면서 적은 양의 버퍼 메모리를 사용하며 부수적인 전치 행렬 연산을 제거하여 전력 소모가 적은 디블록킹 필터에 관한 것이다.The present invention relates to a pipeline deblocking filter device using a horizontal filter and a vertical filter. In particular, the present invention relates to a deblocking filter device having a horizontal filter and a vertical filter. It relates to a low power consumption deblocking filter by eliminating ancillary prematrix operations.
세계 표준화 기구(ISO) 산하의 MPEG(Motion Picture Experts Group)에서 표준화한 비디오 압축 코덱인 MPEG-2, MPEG-4와 국제전기통신 연합(ITU-T) 산하의 VCEG(Video Coding Experts Group)에서 표준화한 H.263, H.264와 같은 비디오 압축 코덱은 일정한 크기의 블록을 기본 단위로 하여 부호화 과정과 복호화 과정을 수행한다. 블록 기반의 비디오 압축 코덱에는 영상의 주관적 화질과 객관적 화질을 저하시키는 블록킹 아티팩트(Blocking Artifact) 현상이 발생하며 이를 제거하기 위해서는 디블록킹 필터가 인-루프 또는 포스트 방식으로 이용된다.Standardized by MPEG-2 and MPEG-4, video compression codecs standardized by the Motion Picture Experts Group (MPEG) under the World Organization for Standardization (ISO), and by the Video Coding Experts Group (VCEG) under the International Telecommunication Union (ITU-T). A video compression codec such as H.263 and H.264 performs encoding and decoding processes based on a block having a predetermined size. In the block-based video compression codec, a blocking artifact phenomenon occurs that degrades the subjective and objective image quality of the image, and a deblocking filter is used in an in-loop or post manner to remove the blocking artifact.
H.264/AVC 코덱에서는 16×16 크기를 갖는 블록을 영상 부호화, 복호화의 기본 단위로 하며 이를 매크로블록이라고 한다. 매크로블록 단위의 비디오 코덱 부호 화 과정을 설명하기로 한다.In the H.264 / AVC codec, a block having a size of 16 × 16 is used as a basic unit for image encoding and decoding, which is called a macroblock. A video codec encoding process in units of macroblocks will be described.
도 1은 일반적인 매크로블록 단위의 비디오 코덱 부호화기의 블록 구성을 나타낸 도면이다.FIG. 1 is a block diagram of a video codec encoder in a macroblock unit.
비디오 코덱 부호화기(100)는 DCT(Discrete Cosine Transform)부(110), 양자화부(120), 움직임 예측부(130), 움직임 보상부(140), 엔트로피 부호화 및 복호화부(150), 역양자화부(160), 역 DCT부(170) 및 디블록킹 필터(180)를 포함하여 구성될 수 있다.The
먼저 비디오 코덱 부호화기(100)는 부호화를 하고자 하는 원본 영상 프레임의 매크로 블록에 인트라 혹은 인터 예측을 통해 참조 영상 프레임 중에 상기 매크로 블록과 가장 차이가 적은 부분을 탐색한다. 이후 가장 유사한 부분과의 차(Residual)를 구하며, DCT부(110)는 이 차이값을 입력으로 하여 이산 코사인 변환(Discrete Cosine Transform)을 수행하며, 양자화부(120)는 이산 코사인 변환 결과에 대해 양자화 과정을 수행한다.First, the
엔트로피 부호화 및 복호화부(150)는 양자화 과정 수행 결과 값에 대해 엔트로피 부호화를 수행하고 최종적으로 압축된 H.264/AVC 비트스트림(Bitstream)을 생성한다. The entropy encoding and
한편, 비디오 코덱 부호화기(100)는 그 다음 압축 수행과정에서 필요하게 될 참조 영상 프레임을 생성하기 위해서 복호화 과정과 동일한 절차로 복원 과정을 수행한다.On the other hand, the
즉, 엔트로피 부호화 및 복호화부(150)는 압축된 H.264/AVC 비트스트림을 엔트로피 복호화 과정을 수행하며, 역양자화부(160)는 이를 역양자화한다. 그 결과에 대해 역 DCT부(170)는 역이산 코사인 변환을 수행하여 차이값(Residual) 정보를 복원하는 것이다. 이와 같이 복원된 차이값 정보는 인트라 혹은 인터 움직임 보상을 거친 매크로 블록과 합해져서 복호화된다.That is, the entropy encoding and
이와 같이 복호화된 영상 프레임은 매크로블록 혹은 세부 분할된 매크로블록 경계에 원래의 영상에는 존재하지 않는 격자 형태의 경계 오차를 표현하게 된다. 상기 오차는 블록 단위로 이산 코사인 변환을 수행함으로 인해서 블록 경계 픽셀에 상대적으로 부정확한 이상 코사인 변환이 수행되는 현상, 양자화 과정을 통해 손실 압축이 수행되고 역양자화 과정에서 원 영상과는 다른 값으로 복원되는 현상, 블록 단위의 움직임 예측으로 인한 현상으로 인하여 발생한다.The decoded image frame expresses a lattice boundary error that does not exist in the original image at the macroblock or subdivided macroblock boundary. The error is a phenomenon in which abnormal cosine transforms are relatively inaccurate for block boundary pixels due to discrete cosine transforms in blocks, lossy compression is performed through quantization, and restored to a value different from the original image in inverse quantization. This is caused by a phenomenon that occurs due to block prediction.
이러한 블록킹 아티팩트는 주관적 화질 저하의 원인으로 복원 품질을 향상시키기 위해서 현대의 비디오 압축 코덱들은 디블록킹 필터(180)의 사용을 권고하고 있다. 특히 H.264/AVC에서는 디블록킹 필터가 영상의 부호화, 영상의 복호화 루프안에 위치하여 반드시 수행되도록 표준으로 포함시키고 있다.Such blocking artifacts recommend the use of the
H.264/AVC의 디블록킹 필터(180)는 원본 영상에 존재하고 있던 에지와 블록킹 아티팩트로 인하여 발생하는 에지를 구별하여, 실제 원본 영상에 존재하고 있던 에지에 대해서는 디블록킹을 수행하지 않도록 설계되어 있다. The
H.264/AVC 비디오 압축 코덱은 기존의 MPEG-2, H.263과 같은 코덱에 비하여 높은 압축률을 보이면서도 주관적, 객관적인 화질 향상을 위하여 여러 기술을 표준 안에 도입하였다. 그 중 하나가 인-루프 디블록킹 필터로 비디오 압축 부호화, 복호화 과정에서 생성되는 코딩 조건들에 따라 경계면 세기를 판단하고, 그 경계면 세기에 따라 보통 세기의 필터, 강한 세기의 필터를 각각 적용하고 있다.The H.264 / AVC video compression codec introduces several technologies into the standard to improve the subjective and objective image quality while showing higher compression ratio than the existing codecs such as MPEG-2 and H.263. One of them is the in-loop deblocking filter, which determines the boundary strength according to the coding conditions generated during video compression encoding and decoding, and applies the normal intensity filter and the strong intensity filter according to the boundary strength. .
뿐만 아니라, H.264/AVC 디블록킹 필터는 촬영된 원본 영상 프레임에 나타나는 영상의 실제 에지들과 블록 단위의 부호화, 복호화 과정으로 인하여 발생되는 블로킹 아티팩트를 구분하여 적응적으로 디블록킹 필터링을 수행하도록 구현된다.In addition, the H.264 / AVC deblocking filter performs adaptive deblocking filtering by dividing the actual edges of the image appearing in the original image frame and the blocking artifacts generated by the encoding and decoding processes in units of blocks. Is implemented.
이 경우 블록 에지를 기준으로 인접한 블록의 픽셀 데이터 분포 특성을 분석하여 보통 세기의 필터, 강한 세기의 필터 각각에서도 여러 종류의 필터 수식이 이루어지고 있다. 이와 같이 H.264/AVC 디블록킹 필터는 적응성이 높아 실제 구현시 복잡도와 많은 연산량을 고려되어야 한다. 따라서 고성능의 디블록킹 방법 및 장치가 요구되고 있으며 한편으로 같은 성능이라면 보다 적은 메모리 자원을 사용하고 저전력으로 동작할 수 있도록 디블록킹 필터의 성능 개선이 요구된다. In this case, by analyzing the pixel data distribution characteristics of adjacent blocks on the basis of the block edge, various types of filter equations are performed in the filter of the normal intensity and the filter of the strong intensity. As such, the H.264 / AVC deblocking filter is highly adaptable and needs to consider complexity and a large amount of computation in actual implementation. Therefore, a high performance deblocking method and apparatus are required. Meanwhile, if the same performance is required, the performance of the deblocking filter needs to be improved to use less memory resources and operate at a lower power.
따라서 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것으로, 전치 버퍼를 제거하기 위해 수평 필터에서 파이프라인 단계별로 연산된 결과를 출력하고, 수직 필터의 파이프라인 레지스터를 이용하는 것을 특징으로 하는 수평 필터와 수직 필터를 포함한 파이프라인 구조의 디블록킹 필터 장치의 제공을 그 목적으로 한다.Accordingly, the present invention is to solve the problems according to the prior art described above, to output the results calculated by the pipeline stages in the horizontal filter to remove the pre-buffer, and horizontal characterized in that using the pipeline register of the vertical filter It is an object of the present invention to provide a deblocking filter device of a pipeline structure including a filter and a vertical filter.
본 발명의 일 측면에 따른 디블록킹 필터는 매크로 블록의 열 방향 데이터를 저장하기 위한 A 버퍼 메모리; 매크로 블록의 행 방향 데이터를 저장하기 위한 B 버퍼 메모리; 상기 A 버퍼 메모리에 저장되어 있는 열 방향 데이터를 이용하여 적어도 하나의 파이프 단계별로 수직 에지에 대하여 수평 필터링을 수행하고, 그 결과 데이터를 해당 단계에서 출력하는 수평 필터; 및 상기 B 버퍼 메모리에 저장되어 있는 행 방향 데이터와 상기 수평 필터가 출력한 결과 데이터를 입력받아 수평 에지에 대하여 수직 필터링을 수행하는 수직 필터를 포함한다.A deblocking filter according to an aspect of the present invention includes an A buffer memory for storing column direction data of a macro block; A B buffer memory for storing row direction data of a macro block; A horizontal filter performing horizontal filtering on vertical edges in at least one pipe step by using column direction data stored in the A buffer memory, and outputting the result data in a corresponding step; And a vertical filter which receives the row direction data stored in the B buffer memory and the result data output by the horizontal filter and performs vertical filtering on the horizontal edge.
상기 A 버퍼 메모리는, 현재 처리할 매크로 블록의 필터링 시작 시점에서, 현재 처리할 매크로 블록의 좌측 매크로 블록 중 최우측 열에 해당하는 픽셀 데이터를 저장하는 것을 특징으로 한다.The A buffer memory may store pixel data corresponding to the rightmost column of the left macroblock of the macroblock to be processed at the start of filtering of the macroblock to be processed.
상기 B 버퍼 메모리는, 현재 처리할 매크로 블록의 필터링 시작 시점에서, 현재 처리할 매크로 블록의 상측 매크로 블록 중 최하측 행에 해당하는 픽셀 데이 터를 저장하는 것을 특징으로 한다.The B buffer memory may store pixel data corresponding to the lowest row among upper macroblocks of the macroblock to be processed at the start of filtering the macroblock to be processed.
상기 수평 필터가 수평 필터링한 결과 데이터를 상기 수평 필터로 재입력하기 위한 제1 포워딩 수단; 상기 수평 필터가 수평 필터링한 결과 데이터를 상기 수직 필터로 입력하기 위한 제2 포워딩 수단; 및 상기 수직 필터가 수직 필터링한 결과 데이터를 상기 수직 필터로 재입력하기 위한 제3 포워딩 수단을 더 포함할 수 있다.First forwarding means for re-inputting the horizontal filter result data into the horizontal filter; Second forwarding means for inputting the horizontal filtering result data into the vertical filter; And third forwarding means for re-inputting the vertical filter result data into the vertical filter.
상기 수평 필터는, 적어도 하나 이상의 단계로 구성된 파이프라인에서, 상기 A 버퍼 메모리, 상기 제1 포워딩 수단 또는 상기 디블록킹 필터 외부에 위치한 메모리 중 적어도 하나로부터 재입력된 결과 데이터를 이용하여 필터링 연산을 수행하는 것을 특징으로 할 수 있다.The horizontal filter performs a filtering operation using result data re-input from at least one of the A buffer memory, the first forwarding means, or a memory located outside the deblocking filter in a pipeline composed of at least one step. It can be characterized by.
상기 수직 필터는, 파이프라인 단계 중 적어도 하나의 단계에서, 상기 수평 필터 또는 상기 B 버퍼 메모리로부터 하나의 픽셀 쌍 데이터를 입력받고, 상기 입력된 픽셀 쌍 데이터 또는 이전 파이프라인 단계에서 처리되어 상기 제3 포워딩 수단을 통해 재입력된 결과 데이터를 이용하여 필터링 연산을 수행하는 것을 특징으로 할 수 있다.The vertical filter is configured to receive one pixel pair data from the horizontal filter or the B buffer memory in at least one of the pipeline stages, and to process the inputted pixel pair data or the previous pipeline stage to perform the third filter. The filtering operation may be performed using the result data re-input through the forwarding means.
본 발명에 따른 디블록킹 필터는 상기 수직 필터링된 결과 데이터를 행 방향 라인의 데이터로 전치하기 위한 버퍼를 더 포함할 수도 있다. 상기 버퍼는 상기 수직 필터의 파이프라인 레지스터로 구현되는 것을 특징으로 할 수 있다.The deblocking filter according to the present invention may further include a buffer for transposing the vertically filtered result data into data of a row direction line. The buffer may be implemented as a pipeline register of the vertical filter.
상기한 바와 같이 본 발명에 따른 수평 필터와 수직 필터를 이용하는 파이프 라인 구조의 디블록킹 필터 장치에 따르면, 별도의 전치 버퍼를 사용하지 않아도 되어 총 버퍼 사용량의 감소와 함께 기존의 구조에서 전치 동작의 수행으로 인한 전력 낭비를 줄일 수 있다는 이점이 있다.As described above, according to the pipeline deblocking filter device using the horizontal filter and the vertical filter according to the present invention, there is no need to use a separate pre-buffer, and thus the pre-operation is performed in the existing structure with a decrease in the total buffer usage. There is an advantage that can reduce the waste of power.
또한, 수직 필터에도 수평 필터와 같이 포워딩 구조가 적용되어 있으며 수직 필터의 포워딩 구조는 수직 필터가 필터링하는 수평 에지들을 연속적으로 필터링할 수 있도록 하여 데이터를 재사용하는 효과가 있다. 이를 통하여 버퍼 메모리에 접근하는 횟수를 감소시킬 수 있고 필요한 전력의 양이 감소된다.In addition, the forwarding structure is applied to the vertical filter like the horizontal filter, and the forwarding structure of the vertical filter allows the vertical filter to continuously filter the horizontal edges filtered, thereby reusing data. This reduces the number of times the buffer memory is accessed and reduces the amount of power required.
이하, 본 발명에 따른 수평 필터와 수직 필터를 이용하는 파이프라인 구조의 디블록킹 필터 장치에 대하여 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, a deblocking filter device having a pipeline structure using a horizontal filter and a vertical filter according to the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 일 실시예에 따른 디블록킹 필터의 블록 구성을 나타낸 도면이다.2 is a block diagram illustrating a deblocking filter according to an embodiment of the present invention.
도 2에 도시된 바와 같이 디블록킹 필터(200)는 A 버퍼 메모리(210), B 버퍼 메모리(220), 버퍼 및 외부 메모리 제어부(230), 경계면 세기 판단부 및 임계치 생성부(240), 파이프라인 제어기(250), 수평 필터(260), 수직 필터(270) 및 다수의 포워딩부(281, 282, 282) 등을 포함하여 구성된다.As shown in FIG. 2, the deblocking filter 200 includes an
A 버퍼 메모리(210)는 현재 처리하는 매크로블록 좌측에 위치하는 루마 4×16 또는 크로마 2×4×8 픽셀 데이터를 저장한다. B-버퍼 메모리(220)는 현재 처리하는 매크로블록 위측에 위치하는 루마 16×4 또는 크로마 2×8×4 픽셀 데이터를 저장한다. The
또한, 도 2의 디블록킹 필터는 크게 세 개의 포워딩 수단(281, 282, 283)을 포함한다. 제1 포워딩 수단(281)은 수평 필터(260)가 수평 필터링한 결과 데이터를 수평 필터로 재입력하기 위한 구성 요소이다. 제1 포워딩 수단(281)이 존재하는 경우 다른 종류의 필터링 에지 순서를 적용하는데 이용할 수 있다.In addition, the deblocking filter of FIG. 2 largely includes three forwarding means 281, 282, 283. The first forwarding means 281 is a component for re-inputting the
또한, 제2 포워딩 수단(282)은 수평 필터(260)가 수평 필터링한 결과 데이터를 수직 필터(270)로 포워딩하기 위한 구성 요소이다. 수평 필터(260)는 파이프라인 단계에서 수행한 결과 데이터를 최종 단계에 종합하여 출력하는 것이 아니라, 제2 포워딩 수단(282)을 통해 해당 단계에서 바로바로 수직 필터(270)로 출력하는 것이다. 도 2의 수평 필터(260) 우측의 4개의 네모들은 파이프라인 각 단계에서 연산된 결과를 해당 단계에서 즉시 출력함을 의미한다. 수평 필터(260)는 다수의 단계를 가지는 파이프라인 형태로 구성될 수 있다. In addition, the second forwarding means 282 is a component for forwarding the resultant data filtered by the
제3 포워딩 수단(283)은 수직 필터(270)가 수직 필터링한 결과 데이터를 상기 수직 필터(270)로 재입력하기 위한 수단에 해당한다.The third forwarding means 283 corresponds to a means for re-input of the result data vertically filtered by the
수평 필터(260)는 입력되는 행 방향 데이터를 이용하여 적어도 하나의 파이프 단계별로 수평 필터링을 수행하고, 그 결과 데이터를 해당 단계에서 출력한다. The
이 경우 수평 필터(260)는 하나의 파이프라인 단계에서 행 방향 데이터, 즉 8개의 픽셀 데이터를 한꺼번에 읽어들인다. 이에 반해 수직 필터(270)는 수평 필터(260)에서 처리하여 파이프 단계별로 출력된 결과 데이터를 입력받고, 이를 이용하여 수직 필터링을 수행한다는 점에서 수평 필터(260)와 차이가 있다.In this case, the
한편, 도 2를 참조하면 수평 필터(260)의 결과는 A 버퍼 메모리(210)로 입력되는 것을 살펴볼 수 있다. 수평 필터(260)의 Q 블록은 4개의 픽셀 데이터 한꺼번에 출력되며 이러한 픽셀 데이터들은 다음 수직 라인에 대한 필터링을 위해 A 버퍼 메모리(210)에 저장되는 것이다.Meanwhile, referring to FIG. 2, it can be seen that the result of the
수직 필터(270)는 수평 필터(260)와 마찬가지로 다수의 단계를 가지는 파이프라인 형태로 구성될 수 있는데, 본 실시예에서는 8단의 파이프라인 구조를 가지는 수직 필터(270)를 고려하기로 하자. 수직 필터(270)는 아래와 같이 파이프라인 동작을 수행할 수 있다.Like the
0단계 : P0과 Q0에 관련한 계산. (ex. p0 + q0 또는 ((q0 - p0) << 2) )Step 0: Calculations relating to P0 and Q0. (ex. p0 + q0 or ((q0-p0) << 2))
1단계 : P1과 Q1만 혹은 0단계에서 발생한 계산 결과가 혼합되어 관련된 연산. (ex. p1 q1 또는 p1 + q1 + 2 )1st stage: P1 and Q1 alone or a combination of calculation results from 0th stage. (ex. p1 q1 or p1 + q1 + 2)
2단계 : P2과 Q2만 혹은 0단계, 1단계에서 발생한 계산 결과가 혼합되어 관련된 연산. (ex. p2 + p1 + 2 또는 ((p0 + q0) + (p1 + q1 + 2)) )2nd step: P2 and Q2 only, or calculations related to the mixed results of the 0th and 1st steps. (ex. p2 + p1 + 2 or ((p0 + q0) + (p1 + q1 + 2)))
3단계 : P3과 Q3만 혹은 0단계, 1단계, 2단계에서 발생한 계산 결과가 혼합되어 관련된 연산.Step 3: P3 and Q3 only, or a combination of calculation results generated in
4단계 이후의 단계 : 0단계, 1단계, 2단계, 3단계에서 발생한 계산 결과가 혼합되어 관련된 연산.Steps after Step 4: Operations related to a mixture of calculation results generated in
예를 들어, 제2 단계를 설명하면, 수직 필터(270)는 수평 필터(260) 또는 B 버퍼 메모리(220)에서 입력받은 P2, Q2 정보와 이전 파이프라인 단계(제1단계)에서 이미 계산되어 재입력된 데이터를 가지고 연산을 하는 것이다. 마찬가지로 제3 단 계에서, 수직 필터(270)는 수평 필터(260) 또는 B 버퍼 메모리(220)로부터 입력받는 P3, Q3 정보와 이전 파이프라인 단계(제1, 2단계)에서 연산되어 재입력된 데이터를 이용해 연산을 하게 된다.For example, referring to the second stage, the
즉, 수직 필터(270)는 파이프라인 단계 중 적어도 하나의 단계에서, 수평 필터(260) 또는 B 버퍼 메모리(220)로부터 하나의 픽셀 쌍 데이터를 입력받거나, 혹은 상기 입력된 픽셀 쌍 데이터와 수직 필터(270)가 이전 파이프라인 단계에서 처리하여 제3 포워딩 수단(283)을 통해 재입력된 결과 데이터로부터 하나의 픽셀 쌍 데이터를 입력받아서 필터링 연산을 수행하는 것이다.That is, the
도 2의 수직 필터(270)의 좌상측에는 전치 로직이 포함되어 있음을 알 수 있다. 이러한 전치 로직은 수직 필터링된 결과, 즉 최종 필터링된 결과 데이터를 행 방향 라인의 데이터로 전치하기 위한 구성 요소이다. 이러한 전치 로직은 상기 수직 필터(270) 상에 마련되어 있는 파이프라인 레지스터로 구현되는 것이 바람직하다.It can be seen that the preposition logic is included in the upper left side of the
또한, 도 2를 참조하면 수직 필터(270)의 P 블록 출력은 필터링 완료된 픽셀 데이터들이다. 필터링 완료된 데이터는 외부 버스로 출력되는 것이 일반적이나, 픽셀 데이터들이 B 버퍼 메모리(220)에 임시로 저장될 수도 있다. 2, the P block output of the
이러한 상황은 다음 상황 등에서 발생할 수 있다. 하나의 매크로블록을 처리할 때 현재 매크로블록 상측 매크로블록 중 최하측 행 블록들을 버스에서 읽어들여 필터링을 수행한다. 이 경우 현재 처리하는 매크로블록의 상측 매크로블록 중 최하측 행에 속하는 셀들의 픽셀 데이터는 그 값의 변동이 발생할 수 있다. 물론, 값의 변동이 발생한 셀들에 대한 외부 메모리에 저장되어 있는 기존의 값 또한 버스를 통하여 갱신하여야 할 것이다. 그러나 외부 버스의 대역폭이 한정되어 있어 결과 픽셀 데이터 발생이 버스 대역폭보다 크다면, 해당 픽셀 데이터는 임시적으로 B 버퍼 메모리(220)에 저장된다. 버스 출력과 B 버퍼 메모리(220)가 연결되어 있으므로, 추후 B 버퍼 메모리(220)에 저장된 데이터들은 외부 메모리로 전달된다.This situation may occur in the following situations. When processing one macroblock, the lowest row blocks among the upper macroblocks of the current macroblock are read from the bus and filtered. In this case, the pixel data of cells belonging to the lowermost row of the upper macroblock of the macroblock currently being processed may change in value. Of course, the existing value stored in the external memory for the cells in which the value is changed will also need to be updated through the bus. However, if the bandwidth of the external bus is limited and the resulting pixel data generation is larger than the bus bandwidth, the pixel data is temporarily stored in the
디블록킹 필터(200)가 하나의 매크로블록을 처리하기 위해서는 현재 디블록킹 필터(200)가 처리하는 매크로블록에 해당하는 루마 16×16 또는 크로마 2×8×8 픽셀 데이터가 필요하다. In order for the deblocking filter 200 to process one macroblock, luma 16 × 16 or
또한, 현재 매크로블록 왼쪽에 위치하여 바로 이전에 처리된 매크로블록의 최우측 부분 4×16 또는 크로마 2×4×8에 해당하는 픽셀 정보와 현재 매크로블록 위쪽에 위치하는 매크로블록 최하측 부분 16×4 또는 크로마 2×8×4에 해당하는 픽셀 데이터가 필요하다.In addition, the pixel information corresponding to the rightmost part 4x16 or chroma 2x4x8 of the immediately previous macroblock located to the left of the current macroblock and the lowermost part 16x of the macroblock located above the current macroblock Pixel data corresponding to 4 or chroma 2x8x4 is required.
현재 처리하고자 하는 매크로블록의 왼쪽과 위쪽 매크로블록은 외부 메모리에 저장된 정보를 리드/라이트(READ/WRITE) 과정을 통하여 액세스하거나 디블록킹 필터(200) 내부의 온 칩 SRAM 혹은 플립플롭과 같은 저장 공간을 마련하여 현재 매크로블록의 일부를 다음 처리할 매크로블록을 위한 정보로 저장하여 이용하는 방법이 있다.The left and upper macroblocks of the macroblock to be processed currently access information stored in the external memory through a READ / WRITE process or a storage space such as on-chip SRAM or flip-flop inside the deblocking filter 200. There is a method of preparing and storing a portion of the current macroblock as information for a macroblock to be processed next.
두 가지 방법 중에서 디블록킹 필터(200) 내부에 임시 저장 공간을 구성하는 방법이 지연시간 면에서 뛰어나고 전력을 적게 소모하는 장점이 있으며, 공유 버스 구조의 통신방법을 사용하는 하드웨어 구조에서는 디블록킹 필터(200)를 위해 소요되는 버스 대역폭을 감소시키는 이점이 있다. 외부 메모리의 접근이 상대적으로 지연 시간이 상당히 크며 전력 소모도 크기 때문이다. 그러나 온 칩 SRAM 또는 플립플롭과 같은 추가적 버퍼의 사용은 생산 비용의 증가로 이어지고, 이들 버퍼 역시 전력을 소모하는 구성 요소이므로 될 수 있는 한 적은 양을 사용하는 것이 유리하다.Among the two methods, the method of configuring the temporary storage space inside the deblocking filter 200 has an advantage of excellent latency and consumes less power. In the hardware structure using the communication method of the shared bus structure, the deblocking filter ( There is an advantage in reducing the bus bandwidth required for 200). This is because external memory access has a relatively high latency and high power consumption. However, the use of additional buffers, such as on-chip SRAM or flip-flops, leads to increased production costs, and these buffers are also power consuming components, so it is advantageous to use as little as possible.
H.264/AVC 표준의 디블록킹 과정은 4×4 블록 16개로 구성된 루마 16×16, 4×4 블록 4개로 구성된 두 개의 크로마, 8×8 매크로블록에 대하여 ① 수직 에지들을 먼저 필터링하고(수평 필터링), 수평 필터링된 픽셀들에 대하여 다시 ② 수평 에지들에 대하여 수직 방향으로 필터링하여(수직 필터링) 최종 결과를 얻게 된다.The deblocking process of the H.264 / AVC standard filters the vertical edges first (1) for
H.264/AVC 표준안의 필터링 순서에 의한 픽셀 데이터 의존성을 만족시키기 위해서는 각각의 4×4 블록은 수직 에지가 먼저 필터링 되고, 수평 에지가 나중에 필터링 되어야 한다. 따라서, 수평 필터와 수직 필터 사이의 시작 시점에는 차이가 존재하여야 한다.In order to satisfy the pixel data dependency by the filtering order in the H.264 / AVC standard, each 4x4 block must be filtered by the vertical edge first and then by the horizontal edge later. Therefore, there must be a difference in starting time between the horizontal filter and the vertical filter.
즉, 각각의 4×4 블록에 대하여 좌측 수직 에지, 우측 수직 에지, 상측 수평 에지, 하측 수평 에지 순서로 필터링을 수행하여야 하는데, 매크로블록에 존재하는 64개의 에지를 필터링하는 방법은 에지들에 필터링을 적용하는 순서에 따라 여러 방법이 존재할 수 있다.In other words, each 4x4 block should be filtered in order of left vertical edge, right vertical edge, upper horizontal edge, and lower horizontal edge. The method of filtering 64 edges present in a macroblock is filtered to edges. There may be several methods depending on the order of application.
도 3은 본 발명에 따른 에지 필터링 처리 순서를 나타낸 도면이다.3 is a view showing an edge filtering processing sequence according to the present invention.
본 발명에서는 두 개의 서로 다른 필터, 즉 수평 필터(260)와 수직 필터(270)가 동시에 실행되므로, 하나의 필터만을 사용하는 경우와는 다른 에지 필터링 처리 순서를 사용한다. 도 3을 참조하여 설명하기로 한다.In the present invention, since two different filters, that is, the
도 3에서 셀 내부에는 L0 ~ L3, T0 ~ T3, 0 ~ 15가 기재되어 있다. 현재 처리해야 하는 매크로블록에 속하는 4×4 블록에 대하여 0~15가 기재되어 있다. L0~L3는 현재 처리해야 하는 매크로블록의 좌측 매크로블록의 최우측에 위치한 블록들이다. T0 ~ T3은 현재 처리할 매크로블록의 상측 매크로블록의 최하측 위치 블록들을 의미한다.In FIG. 3, L0 to L3, T0 to T3, and 0 to 15 are described in the cell. 0 to 15 are described for the 4x4 block belonging to the macroblock to be processed at present. L0 to L3 are blocks located at the rightmost side of the left macroblock of the macroblock currently to be processed. T0 to T3 mean lowermost position blocks of the upper macroblock of the macroblock to be processed.
한편, 에지에 마킹된 원은 수평 필터의 에지 필터링을 의미하며, 세모는 수직 필터의 에지 필터링을 의미한다. 원 또는 세모안의 숫자는 에지 필터링 순서를 나타낸다. 예를 들어, 0번 셀의 좌측 에지에는 0이 기재되어 있으므로 처음으로 필터링이 수행된다. 한편, 0번 셀의 상측 에지와 9번 셀의 좌측 에지는 모두 6의 숫자를 가지고 있다. 이들은 여섯 번째 순서에 수평 필터(260)와 수직 필터(270)에서 동시에 필터링되는 것이다.Circles marked at the edges mean edge filtering of the horizontal filter, and triangles mean edge filtering of the vertical filter. Numbers in circles or triangles indicate edge filtering order. For example, filtering is performed for the first time since 0 is written at the left edge of the
한편, 기존의 디블록킹 필터에서는 필요한 크기의 차이가 존재하나 모두 디블록킹 필터링 과정에서 중간에 생성된 결과값을 임시로 저장하기 위한 공간이 필요하다. 예를 들어, 수평 필터가 생성한 중간 필터링된 결과를 임시로 저장하기 위하여 소정의 크기(4×16)를 가진 버퍼가 필요하다.Meanwhile, in the existing deblocking filter, there is a difference in the required size, but all of them need a space for temporarily storing the result value generated in the middle of the deblocking filtering process. For example, a buffer with a predetermined size (4x16) is needed to temporarily store intermediate filtered results generated by the horizontal filter.
본 발명에서는 중간 필터링된 결과를 임시로 저장하기 위한 4×16 크기의 버퍼를 우측 매크로블록의 데이터를 저장하기 위한 버퍼, 즉 도 2의 A 버퍼 메모리(210)로 대체한다.In the present invention, the 4 × 16 buffer for temporarily storing the intermediate filtered result is replaced with the buffer for storing the data of the right macroblock, that is, the
예를 들어, 16×16 루마 블록을 필터링하는 경우, 도 3의 원으로 마킹된 에지 0, 1, 2, 3을 디블록킹 처리하는 시점에서 현재 매크로블록의 왼쪽 매크로블록 최우측 4×16 픽셀 데이터들은 A 버퍼 메모리(210)에 저장되고, 다음 열의 필터링 수행시 이용된다.For example, when filtering a 16 × 16 luma block, the rightmost 4 × 16 pixel data of the left macroblock of the current macroblock at the time of deblocking the
원으로 마킹된 에지 0, 1, 2, 3을 수직 필터링한 후 결과들은 A 버퍼 메모리(210)에 저장되어 있던 데이터를 덮어쓰기 된다. 즉, A 버퍼 메모리(210)는 계속하여 재사용되는 것이다. 이와 같이 덮어쓰기 된 데이터도 다음 열의 필터링 수행시 이용된다.After vertically filtering
원으로 마킹된 에지 4, 5, 6, 7을 수행하며 발생하는 수평 필터(260)의 중간 필터링된 결과들은 마찬가지로 A 버퍼 메모리(210)에 저장된다. 원으로 마킹된 에지 4, 5, 6, 7에 대한 결과값들은 0, 1, 2, 3 에지 필터링 결과값이 저장되어 있던 버퍼 공간에 덮어쓰기 되는 것이다.The intermediate filtered results of the
도 3의 (A)에 표현된 매크로블록에 대한 필터링이 완료되면, A 버퍼 메모리(210)에는 그 다음 매크로블록 처리를 위하여 임시 저장된 현재 매크로블록 우측 부분 4×16 데이터, 즉 원으로 마킹된 에지 12, 13, 14, 15를 처리한 결과가 저장된다.When the filtering for the macroblock represented in FIG. 3A is completed, the
한편, 도 3의 (B)는 두 개의 크로마 8×8 블록과 크로마 성분에 대한 A 버퍼 메모리(210)의 재사용 방법을 나타낸 것이다. 도 3의 (B)를 참조하면 상측 크로마의 좌측 원으로 마킹된 16, 17 에지에 대한 결과값은 원으로 마킹된 20, 21 에지에 대한 결과값으로 덮어쓰기 된다. 즉, L4와 L5가 담겨 있는 A 버퍼 메모리(210)가 16, 17 에지를 수행후에는 16, 18 블록을 담게 되고 20, 21 에지를 수행후에는 17, 19 블록을 담게 된다. Meanwhile, FIG. 3B illustrates a method of reusing the
도 4는 본 발명에 따른 A 버퍼 메모리에 저장되는 데이터의 이동 방향을 나타낸 도면이다.4 is a diagram illustrating a moving direction of data stored in the A buffer memory according to the present invention.
도 4의 (A)를 참조하면, 현재 매크로블록의 필터링이 시작되는 시점에서 A 버퍼 메모리(210)에는 이전 매크로블록의 최우측열 4개의 블록에 대한 결과값이 저장되어 있다. 현재 매크로블록 제1열의 필터링이 수행된 후, A 버퍼 메모리(210)에는 제1열 필터링 수행 결과 값이 저장된다.Referring to FIG. 4A, a result value of four blocks of the rightmost column of the previous macroblock is stored in the
현재 매크로블록의 나머지 열의 필터링이 수행되면서 A 버퍼 메모리(210)에는 제2열 4개의 블록 픽셀값, 제3열 4개의 블록 픽셀값, 제4열 4개의 블록 픽셀값들이 순차적으로 임시 저장된다.As the remaining columns of the current macroblock are filtered, the
현재 매크로 블록의 필터링이 완료된 후 다음 매크로 블록의 제1열 필터링 시, 임시 저장된 제4열 4개의 블록 픽셀값이 참조되며, 이러한 동작은 모든 매크로 블록의 필터링 과정 동안 반복된다.When filtering the first column of the next macro block after filtering of the current macro block is completed, the temporarily stored fourth column four block pixel values are referenced, and this operation is repeated during the filtering process of all the macro blocks.
한편, 두 개의 크로마 8×8 블록과 크로마 성분에 대한 A 버퍼 메모리(210) 재사용 방법도 이상에서 설명한 루마 블록에서의 A 버퍼 메모리(210)의 재사용과 거의 동일하므로 그 자세한 설명을 생략한다.Meanwhile, the method of reusing the
병렬 처리를 이용하여 수평과 수직 두 개의 필터(260, 270)를 사용하는 디블록킹 필터(200)는 필터를 하나 이용하는 기존의 디블록킹 필터에 비해 단위 시간당 처리 가능한 연산량이 크다. 따라서 수평과 수직 두 개의 필터(260, 270)를 병렬 처리할 수 있는 디블록킹 필터는 기존의 방식보다 낮은 동작 주파수에서도 고해상도 영상의 실시간 처리가 가능하다.The deblocking filter 200 using two horizontal and
그러나 수평과 수직 두 개의 필터(260, 270)를 갖는 디블록킹 필터에서, 수평, 수직 필터(260, 270)는 동일한 구조를 갖는 필터 연산부로 구현되는 바, 수평 필터링된 중간 결과물을 수직 필터링 처리하기 위하여 전치 행렬 연산 과정이 필수적이다. 이러한 전치 과정은 실제 필터링 연산과는 무관하나 전치 버퍼(Transpose Buffer)와 같은 추가적인 임시 저장 공간과 상당한 양의 전력 소모가 따른다.However, in a deblocking filter having two horizontal and
그러나 본 발명에서는 서로 다른 구조의 픽셀 데이터 입력 방법을 이용하여, 각 단계에서 처리하는 연산이 상이한 파이프라인 구조의 수평 필터, 수직 필터 연산부를 사용하여 전치 행렬 연산 과정을 제거하게 된다.However, in the present invention, using the pixel data input method having a different structure, the pre-matrix calculation process is eliminated by using a horizontal filter and a vertical filter operation unit having different pipelined structures.
디블록킹 필터링을 수행하기 위해 도 2의 디블록킹 필터(200)는 최초 외부메모리에서 필터링할 데이터를 읽어온다. 데이터 버스는 행 방향 혹은 열 방향 데이터를 정렬하여 한꺼번에 불러오게 된다. 따라서 수평 필터(260)의 경우 불러온 한 라인의 픽셀 데이터를 바로 파이프라인 첫 단계에서 입력으로 받게 된다.In order to perform deblocking filtering, the deblocking filter 200 of FIG. 2 reads data to be filtered from the first external memory. The data bus aligns row- or column-oriented data and loads them all at once. Therefore, in the case of the
기존의 일반적 구성에서는 입력된 픽셀 데이터를 파이프라인 단계를 거치면서 파이프라인의 최종 단계에서 한꺼번에 필터링된 픽셀 데이터를 출력하도록 되어 있다. 본 발명의 수평 필터(260)는 파이프라인 단계별로 파이프라인의 최종 단계를 거치지 않고도 먼저 생성될 수 있는 픽셀들을 필터링된 결과값이 생성되는 대로 각각의 단계에서 수직 필터로 포워딩(Forwarding)하여 준다.In the conventional general configuration, the input pixel data is output through the pipeline stage, and the filtered pixel data is output at the same time in the final stage of the pipeline. The
즉, 도 2의 수평 필터(260) P 블록 우측에는 4개의 블록들이 기재되어 있는데, 이들 4개의 블록은 최종 단계가 아닌 결과값이 생성된 단계에서 바로 그 값을 MUX로 출력함을 의미한다. That is, four blocks are described on the right side of the P block of the
도 5는 본 발명에 따른 수직 필터의 픽셀 입력 및 처리 방법을 나타낸 도면이다. 5 is a diagram illustrating a pixel input and processing method of a vertical filter according to the present invention.
수직 필터(270)는 기존의 필터와는 달리 파이프라인 각 단계에서 픽셀 한 쌍씩을 입력받아 처리하는 구조를 가지고 있다. 블록 사이의 수직 에지를 기준으로 왼쪽 블록을 P 블록, 오른쪽 블록을 Q 블록으로 정의한다. 또한, 수평 에지를 기준으로 위쪽 블록을 P 블록 아래쪽 블록을 Q 블록으로 명명한다.Unlike the existing filter, the
P 블록과 Q 블록 사이에 위치한 에지를 중심으로 에지에서 가까운 곳에서 먼 곳의 순서로 동일한 에지와의 거리를 갖고 있는 두 픽셀이 한 쌍의 픽셀을 구성한다. 즉, 픽셀 쌍은 P3과 Q3, P2와 Q2, P1과 Q1 및 P0과 Q0로 구성된다.A pair of pixels constitutes a pair of pixels having a distance from the same edge in the order of the distance from the near to the edge around the edge located between the P block and the Q block. That is, the pixel pair is composed of P3 and Q3, P2 and Q2, P1 and Q1, and P0 and Q0.
수직 필터(270)의 파이프라인 각 단계에서 입력받은 픽셀 쌍 또는 그 이전 단계에서 수행된 연산의 결과를 입력으로 하여 연산을 수행하게 된다. 구체적으로, 본 발명에서 0~3 단계의 파이프라인은 각각의 픽셀 쌍을 입력으로 받아 처리하는 한편, 그 다음 단계에서는 이전 단계에서 연산된 값과 입력 픽셀 쌍 데이터를 입력받아 처리한다. 4 단계의 파이프라인부터는 모든 픽셀 값과 구해진 중간 연산 결과 값들을 가지고 연산을 처리하도록 구성된다.The operation is performed by inputting the result of the operation performed in the pixel pair received at each stage of the pipeline of the
기존의 방식에서는 수직 에지를 기준으로 필터링 할 때 P 블록에 속하는 1×4 수평 한 줄의 픽셀들을 필터부에서 수평 필터링한 후 그 결과를 4×4 전치 버퍼 블록에 쓰는 동작을 수행한다. P 블록을 구성하는 네 개의 1×4 줄에 대하여 차례로 수행하여 P 블록에 대한 4×4 필터링 결과를 모두 얻은 후에는 이를 각각 4×1 수직 한 라인의 픽셀 데이터로 출력하여 이를 수직 필터의 입력으로 주거나 별도의 버퍼에 향후의 수직 필터링을 위하여 열 방향으로 전치된 형태로 임시로 저장하는 과정을 수행한다.In the conventional method, when filtering based on the vertical edge, the filter unit horizontally filters 1 × 4 horizontal rows of pixels belonging to the P block and writes the result to the 4 × 4 pre-buffer block. After performing all four 1 × 4 lines of the P block in order to obtain all 4 × 4 filtering results for the P block, they are output as 4 × 1 vertical one-pixel pixel data, respectively. A temporary buffer is used for temporary storage in the column direction for future vertical filtering.
이러한 전치 행렬 연산은 H.264/AVC 표준에 제시된 디블록킹 연산에는 규정되어 있지 않은 부수적인 과정으로 본 발명의 수직 필터(270)에서는 전치되어야 하는 입력은 상기 방식으로 수평 필터(260)의 출력을 수직 필터의 입력으로 픽셀 쌍별로 입력해주는 간단한 먹스(MUX)만으로 해결하고 최종 필터링한 결과의 출력을 버스에서 사용하는 정렬 방식으로 다시 변환하기 위해 필요한 전치 연산은 기존의 방식과 달리 필터링을 수행해 나가는 파이프라인 단계 레지스터에서 전치 동작을 포함하여 수행할 수 있도록 한다.This prematrix operation is a secondary process that is not defined in the deblocking operation presented in the H.264 / AVC standard. In the
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의하여 정해져야 한다.Although the present invention has been described in detail through the representative embodiments, those skilled in the art to which the present invention pertains can make various modifications without departing from the scope of the present invention. Will understand. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.
도 1은 일반적인 매크로블록 단위의 비디오 코덱 부호화기의 블록 구성을 나타낸 도면.1 is a block diagram of a video codec encoder in units of typical macroblocks.
도 2는 본 발명의 일 실시예에 따른 디블록킹 필터의 블록 구성을 나타낸 도면.2 is a block diagram illustrating a deblocking filter according to an embodiment of the present invention.
도 3은 본 발명에 따른 에지 필터링 처리 순서를 나타낸 도면.3 illustrates an edge filtering processing sequence according to the present invention.
도 4는 본 발명에 따른 A-버퍼 메모리에 저장되는 데이터의 이동 방향을 나타낸 도면.4 is a diagram illustrating a moving direction of data stored in an A-buffer memory according to the present invention;
도 5는 본 발명에 따른 수직 필터의 픽셀 입력 및 처리 방법을 나타낸 도면.5 illustrates a pixel input and processing method of a vertical filter in accordance with the present invention.
<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>
200 : 디블록킹 필터 210 : A 버퍼 메모리200: deblocking filter 210: A buffer memory
220 : B 버퍼 메모리 230 : 외부 버퍼 메모리220: B buffer memory 230: external buffer memory
240 : 경계면 세기 판단부 및 임계치 생성부240: boundary strength determination unit and threshold generation unit
250 : 파이프라인 제어기 260 : 수평 필터250: pipeline controller 260: horizontal filter
270 : 수직 필터 281 : 제1 포워딩 수단270
282 : 제2 포워딩 수단 283 : 제3 포워딩 수단 282: second forwarding means 283: third forwarding means
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090080453A KR101004825B1 (en) | 2009-08-28 | 2009-08-28 | Pipielined deblocking filter using two filters simultaneously |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090080453A KR101004825B1 (en) | 2009-08-28 | 2009-08-28 | Pipielined deblocking filter using two filters simultaneously |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101004825B1 true KR101004825B1 (en) | 2010-12-28 |
Family
ID=43513496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090080453A KR101004825B1 (en) | 2009-08-28 | 2009-08-28 | Pipielined deblocking filter using two filters simultaneously |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101004825B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101720216B1 (en) * | 2016-02-29 | 2017-03-28 | 한밭대학교 산학협력단 | Method for filtering of in-loop filter and apparatus for performing filtering method of in-loop filter |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040228415A1 (en) | 2003-05-13 | 2004-11-18 | Ren-Yuh Wang | Post-filter for deblocking and deringing of video data |
KR100843196B1 (en) | 2004-12-17 | 2008-07-02 | 삼성전자주식회사 | Deblocking filter of H.264/AVC video decoder |
-
2009
- 2009-08-28 KR KR1020090080453A patent/KR101004825B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040228415A1 (en) | 2003-05-13 | 2004-11-18 | Ren-Yuh Wang | Post-filter for deblocking and deringing of video data |
KR100843196B1 (en) | 2004-12-17 | 2008-07-02 | 삼성전자주식회사 | Deblocking filter of H.264/AVC video decoder |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101720216B1 (en) * | 2016-02-29 | 2017-03-28 | 한밭대학교 산학협력단 | Method for filtering of in-loop filter and apparatus for performing filtering method of in-loop filter |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100843196B1 (en) | Deblocking filter of H.264/AVC video decoder | |
US20060115002A1 (en) | Pipelined deblocking filter | |
CN107197259B (en) | Through segment or the loop circuit filtering method and its device of band boundaries | |
CN103947208B (en) | Reduce the method and device of deblocking filter | |
KR20140029436A (en) | Method and apparatus for reduction of in-loop filter buffer | |
Shih et al. | A near optimal deblocking filter for H. 264 advanced video coding | |
TW201332362A (en) | Method and apparatus for decoding video data | |
WO2006078454A1 (en) | Method and apparatus for intra prediction for rru | |
KR100842557B1 (en) | Method for accessing memory in moving picture processing device | |
KR100614647B1 (en) | Register array structure for effective edge filtering operation of deblocking filter | |
KR20060003426A (en) | Pipeline decoding apparatus and method, and computer-readable recording media for storing computer program for controlling the apparatus | |
CN104521234B (en) | Merge the method for processing video frequency and device for going block processes and sampling adaptive migration processing | |
JP2006157925A (en) | Pipeline deblocking filter | |
Li et al. | De-blocking filter design for HEVC and H. 264/AVC | |
KR101051871B1 (en) | Apparatus and method for determining boundary strength coefficient in deblocking filter | |
KR101004825B1 (en) | Pipielined deblocking filter using two filters simultaneously | |
CN103491372A (en) | Filtering method of blocking-removing filter suitable for HEVC standard | |
JP2007258882A (en) | Image decoder | |
KR20050121627A (en) | Filtering method of audio-visual codec and filtering apparatus thereof | |
WO2022116824A1 (en) | Video decoding method, video encoding method, related devices, and storage medium | |
KR20020053336A (en) | High speed deblocking filter device | |
KR20140138537A (en) | Method and apparatus for filtering pixel blocks | |
Messaoudi et al. | Performance comparison of two hardware implementations of the deblocking filter used in H. 264 by changing the utilized data width | |
KR101073150B1 (en) | Deblocking Filtering Unit with a Reconfigurable Data-Path and Method Thereof | |
KR101475286B1 (en) | Method and apparatus for intra prediction, and apparatus for processing picture |
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: 20131007 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140923 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |