KR20110022933A - Deblocking filtering unit with a reconfigurable data-path and method thereof - Google Patents

Deblocking filtering unit with a reconfigurable data-path and method thereof Download PDF

Info

Publication number
KR20110022933A
KR20110022933A KR1020090080452A KR20090080452A KR20110022933A KR 20110022933 A KR20110022933 A KR 20110022933A KR 1020090080452 A KR1020090080452 A KR 1020090080452A KR 20090080452 A KR20090080452 A KR 20090080452A KR 20110022933 A KR20110022933 A KR 20110022933A
Authority
KR
South Korea
Prior art keywords
filtering
normal
pixel data
intensity
intensity filtering
Prior art date
Application number
KR1020090080452A
Other languages
Korean (ko)
Other versions
KR101073150B1 (en
Inventor
조준동
황진우
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020090080452A priority Critical patent/KR101073150B1/en
Publication of KR20110022933A publication Critical patent/KR20110022933A/en
Application granted granted Critical
Publication of KR101073150B1 publication Critical patent/KR101073150B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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

Abstract

PURPOSE: A deblocking filter calculation device and a method thereof including a common data pass structure are provided to integrate a data pass which performs strong intensity filtering and a data pass performing average intensity filtering. CONSTITUTION: A critical value generating unit generates a critical value from an inputted index value. An edge judging unit determines whether an edge, which is a current filtering target, is made due to an error because of a blocking artifact or not by using an input pixel data which will be filtered with the generated critical value. A filtering calculation performing unit selectively performs an average intensity filtering calculation or a strong strength filtering calculation according to an inputted boundary intensity coefficient. An outputting unit outputs an average intensity filtering calculation result or a strong intensity filtering calculation result.

Description

공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법{Deblocking Filtering Unit with a Reconfigurable Data-Path and Method Thereof}Deblocking filtering unit with a reconfigurable data-path and method thereof

본 발명은 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법에 관한 것으로, 특히 보통 세기 필터링을 수행하는 데이터 패스와 강한 세기 필터링을 수행하는 데이터 패스를 통합한 구성을 가지는 디블록킹 필터링 연산 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for deblocking filtering operation including a common data path structure, and more particularly, to a deblocking filtering operation having a configuration in which a data path for performing normal intensity filtering and a data path for performing strong intensity filtering are integrated. An apparatus and a method thereof are provided.

세계 표준화 기구(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 of 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 video codec encoder 100 may include a discrete cosine transform (DCT) unit 110, a quantization unit 120, a motion predictor 130, a motion compensator 140, an entropy encoding and decoding unit 150, and an inverse quantization unit. 160, an inverse DCT unit 170, and a deblocking filter 180.

먼저 비디오 코덱 부호화기(100)는 부호화를 하고자 하는 원본 영상 프레임의 매크로 블록에 인트라 혹은 인터 예측을 통해 참조 영상 프레임 중에 상기 매크로 블록과 가장 차이가 적은 부분을 탐색한다. 이후 가장 유사한 부분과의 차(Residual)를 구하며, DCT부(110)는 이 차이값을 입력으로 하여 이산 코사인 변환(Discrete Cosine Transform)을 수행하며, 양자화부(120)는 이산 코사인 변환 결과에 대해 양자화 과정을 수행한다.First, the video codec encoder 100 searches for a portion of the reference video frame having the smallest difference from the macroblock through intra or inter prediction on the macroblock of the original video frame to be encoded. After that, the residual with the most similar part is obtained. The DCT unit 110 performs a discrete cosine transform by inputting the difference value, and the quantization unit 120 performs a discrete cosine transform on the result. Perform the quantization process.

엔트로피 부호화 및 복호화부(150)는 양자화 과정 수행 결과 값에 대해 엔트로피 부호화를 수행하고 최종적으로 압축된 H.264/AVC 비트스트림(Bitstream)을 생성한다. The entropy encoding and decoding unit 150 performs entropy encoding on the result of the quantization process and finally generates a compressed H.264 / AVC bitstream.

한편, 비디오 코덱 부호화기(100)는 그 다음 압축 수행과정에서 필요하게 될 참조 영상 프레임을 생성하기 위해서 복호화 과정과 동일한 절차로 복원 과정을 수 행한다.On the other hand, the video codec encoder 100 performs the reconstruction process in the same procedure as the decoding process to generate a reference image frame which will be needed in the next compression process.

즉, 엔트로피 부호화 및 복호화부(150)는 압축된 H.264/AVC 비트스트림을 엔트로피 복호화 과정을 수행하며, 역양자화부(160)는 이를 역양자화한다. 그 결과에 대해 역 DCT부(170)는 역이산 코사인 변환을 수행하여 차이값(Residual) 정보를 복원하는 것이다. 이와 같이 복원된 차이값 정보는 인트라 혹은 인터 움직임 보상을 거친 매크로 블록과 합해져서 복호화된다.That is, the entropy encoding and decoding unit 150 performs an entropy decoding process on the compressed H.264 / AVC bitstream, and the dequantization unit 160 dequantizes it. On the result, the inverse DCT unit 170 performs inverse discrete cosine transform to restore residual information. The difference value information reconstructed as described above is decoded by being combined with a macro block subjected to intra or inter motion compensation.

이와 같이 복호화된 영상 프레임은 매크로블록 혹은 세부 분할된 매크로블록 경계에 원래의 영상에는 존재하지 않는 격자 형태의 경계 오차를 표현하게 된다. 상기 오차는 블록 단위로 이산 코사인 변환을 수행함으로 인해서 블록 경계 픽셀에 상대적으로 부정확한 이상 코사인 변환이 수행되는 현상, 양자화 과정을 통해 손실 압축이 수행되고 역양자화 과정에서 원 영상과는 다른 값으로 복원되는 현상, 블록 단위의 움직임 예측으로 인한 현상으로 인하여 발생한다.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 deblocking filter 180 in modern video compression codecs in order to improve reconstruction quality due to subjective picture quality degradation. In particular, in H.264 / AVC, the deblocking filter is included as a standard so that the deblocking filter is performed in a video encoding and decoding loop.

H.264/AVC의 디블록킹 필터(180)는 원본 영상에 존재하고 있던 에지와 블록킹 아티팩트로 인하여 발생하는 에지를 구별하여, 실제 원본 영상에 존재하고 있던 에지에 대해서는 디블록킹을 수행하지 않도록 설계되어 있다. The deblocking filter 180 of H.264 / AVC distinguishes the edge existing in the original image from the edge generated by the blocking artifact, and does not deblock the edge existing in the original image. have.

H.264/AVC 비디오 압축 코덱은 기존의 MPEG-2, H.263과 같은 코덱에 비하여 높은 압축률을 보이면서도 주관적, 객관적인 화질 향상을 위하여 여러 기술을 표준안에 도입하였다. 그 중 하나가 인-루프 디블록킹 필터로 비디오 압축 부호화, 복호화 과정에서 생성되는 코딩 조건들에 따라 경계면 세기를 판단하고, 그 경계면 세기에 따라 보통 세기의 필터, 강한 세기의 필터를 각각 적용하고 있다.The H.264 / AVC video compression codec introduces several technologies into the standard to improve 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.

HD-TV와 같은 고해상도 영상처리를 위한 고성능 디블록킹 필터 구현 방법으로서 기존에는 다양한 종류의 필터 수식과 연산 과정을 하드웨어로 병렬적으로 처리한 후 디블록킹 필터링을 수행하는 에지의 경계면 세기 계수에 따라 적절한 출력을 선택하는 방식을 사용하였다. 그러나 이러한 방식은 요구되는 하드웨어 면적과 전력 소모가 커지는 단점이 존재한다.High performance deblocking filter implementation method for high resolution image processing such as HD-TV. In the past, various types of filter equations and computational processes are processed in hardware in parallel, and then appropriately determined according to edge strength coefficients of edges for deblocking filtering. The method of selecting the output was used. However, this approach has the disadvantage of increasing the required hardware area and power consumption.

또한 다른 기존의 방식으로 생성된 경계면 세기 계수에 따라 보통 세기의 필터, 강한 세기의 필터 연산부 중 하나에 게이트 클럭 방법을 적용하여 저전력화하는 방법이 있으나 이 경우에도 보통 세기의 필터, 강한 세기의 필터와 상기 필터의 여러 변형 모드에 대하여 모든 연산 로직을 하드웨어로 구현하여야 하므로 복잡하 다는 단점이 있다.In addition, there is a method of lowering power by applying a gate clock method to one of a filter of a moderate intensity or a strong intensity filter according to the boundary strength coefficient generated by another conventional method. And it is complicated because all the calculation logic must be implemented in hardware for the various modification modes of the filter.

따라서 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것으로, 보통 세기 필터링을 수행하는 데이터 패스와 강한 세기 필터링을 수행하는 데이터 패스를 통합 구현한 파이프라인 구조의 디블록킹 필터의 제공을 그 목적으로 한다.Accordingly, an object of the present invention is to provide a deblocking filter having a pipelined structure in which a data path for performing intensity strength filtering and a data path for performing strong intensity filtering are integrated. It is done.

본 발명의 일 측면에 따른 디블록킹 필터링 연산 방법은 디블록킹 필터링할 입력 픽셀 데이터를 읽어오고, 필터링을 위해 필요한 인덱스 값을 생성하는 제1 단계; 상기 생성한 인덱스 값으로부터 임계값을 생성하며, 현재 필터링 대상인 에지에 대한 경계면 세기 계수를 읽어오는 제2 단계; 상기 입력 픽셀 데이터와 임계값을 이용하여 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 제3 단계; 상기 경계면 세기 계수에 따라 보통 세기 필터링 또는 강한 세기 필터링 연산을 선택적으로 수행하는 제4 단계; 및 상기 보통 세기 필터링 또는 강한 세기 필터링 연산 결과를 출력하는 제5 단계를 포함한다.A deblocking filtering operation method according to an aspect of the present invention includes: a first step of reading input pixel data to be deblocked filtered and generating an index value necessary for filtering; Generating a threshold value from the generated index value, and reading a boundary strength coefficient for an edge currently being filtered; Determining whether an edge is due to an error due to blocking artifacts using the input pixel data and a threshold value; A fourth step of selectively performing a normal intensity filtering or a strong intensity filtering operation according to the interface intensity coefficient; And a fifth step of outputting the result of the normal intensity filtering or the strong intensity filtering operation.

상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식으로부터 추출한 적어도 하나의 공통 인수를 연산하는 제4-1 단계; 상기 연산된 적어도 하나의 공통 인수를 이용하여 보통 필터링 연산 또는 강한 세기 필터링 연산을 구성하는 덧셈 연산과 시프트 연산이 조합된 연산을 수행하는 제4-2 단계; 보통 세기 필터링 연산에 따른 클리핑(Cliping) 연산을 수행하는 제4-3 단계; 상기 클리핑된 값을 픽셀 데이터와 덧셈 연산하는 제4-4 단계를 포함하되, 상기 제5 단계는 상기 제4-4 단계의 결과를 클리핑 연산하는 단계를 포함하는 것을 특징으로 할 수 있다.A step 4-1 of calculating at least one common factor extracted from a plurality of normal intensity filtering or strong intensity filtering equations using the input pixel data; Performing a combination of an addition operation and a shift operation that constitute a normal filtering operation or a strong intensity filtering operation using the calculated at least one common factor; Steps 4-3 to perform a clipping operation according to the normal intensity filtering operation; The method may include performing a fourth operation of adding the clipped value to the pixel data, and the fifth operation may include performing a clipping operation of the result of the fourth operation.

상기 제 5단계의 클리핑 연산 시간은 상기 제4-3 단계의 클리핑 연산 시간보다 작은 것을 특징으로 할 수 있다.The clipping operation time of the fifth step may be smaller than the clipping operation time of the fourth to third steps.

상기 적어도 하나의 공통 인수는, 2개의 연속된 덧셈기와 시프터기를 조합하여 연산될 수 있는 공통 인수인 것을 특징으로 할 수 있다.The at least one common factor may be a common factor that can be calculated by combining two consecutive adders and a shifter.

상기 각 단계의 결과는 단계별로 마련되는 파이프라인 레지스터에 저장되는 것을 특징으로 할 수 있다.The result of each step may be stored in pipeline registers provided in stages.

상기 파이프라인 레지스터는 보통 세기 필터링 연산 결과와 강한 세기 필터링 연산 결과를 선택적으로 저장하는 것을 특징으로 할 수 있다.The pipeline register may selectively store the result of the normal strength filtering operation and the strong intensity filtering operation.

상기 제4 단계는, 상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식으로부터 추출한 적어도 하나의 공통 인수를 연산하는 단계; 와 상기 공통 인수와 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식을 수행하는 단계를 포함하는 것을 특징으로 할 수 있다.The fourth step includes: calculating at least one common factor extracted from a plurality of normal intensity filtering or strong intensity filtering equations using the input pixel data; And performing a plurality of normal intensity filtering or strong intensity filtering equations using the common factor and the input pixel data.

본 발명의 다른 측면에 따른 디블록킹 필터링 연산 장치는 입력된 인덱스 값으로부터 임계값을 생성하는 임계값 생성부; 상기 생성된 임계값과 필터링할 입력 픽셀 데이터를 이용하여 현재 필터링 대상인 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 에지 판단부; 및 입력되는 경계면 세기 계수에 따라 보통 세기 필터링 또는 강한 세기 필터링 연산을 선택적으로 수행하는 필터링 연산 수행부; 및 상기 보통 세기 필터링 또는 강한 세기 필터링 연산 결과를 출력하는 출력부를 포함한다.Deblocking filtering operation apparatus according to another aspect of the present invention includes a threshold generator for generating a threshold value from the input index value; An edge determination unit determining whether an edge to be filtered currently is due to an error due to blocking artifacts using the generated threshold value and input pixel data to be filtered; And a filtering operation performing unit for selectively performing a normal intensity filtering or a strong intensity filtering operation according to the input boundary strength coefficient. And an output unit configured to output the result of the normal intensity filtering or the strong intensity filtering operation.

상기 필터링 연산 수행부는, 상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 연산식과 강한 세기 필터링 연산식으로부터 추출한 공통 인수를 연산하는 다수의 제1 기본 연산 유닛; 상기 다수의 제1 기본 연산 유닛이 연산한 다수의 공통 인수를 이용하여 보통 필터링 연산 또는 강한 세기 필터링 연산을 수행하는 다수의 제2 기본 연산 유닛; 보통 세기 필터링 연산에 따른 클리핑(Cliping) 연산을 수행하기 위한 다수의 제1 클리핑 연산 유닛; 및 상기 클리핑된 값을 임의의 셀에 대한 픽셀 데이터와 덧셈 연산하는 다수의 덧셈 연산기를 포함하며, 상기 출력부는 상기 덧셈 연산기가 덧셈한 결과를 클리핑 연산하는 다수의 제2 클리핑 연산 유닛을 포함하는 것을 특징으로 할 수 있다.The filtering operation performing unit may include: a plurality of first basic calculation units configured to calculate common factors extracted from a plurality of normal intensity filtering equations and a strong intensity filtering equation using the input pixel data; A plurality of second basic calculation units for performing a normal filtering operation or a strong intensity filtering operation using a plurality of common factors calculated by the plurality of first basic calculation units; A plurality of first clipping operation units for performing a clipping operation according to a normal intensity filtering operation; And a plurality of adders for adding the clipped value with pixel data for an arbitrary cell, and the output unit includes a plurality of second clipping operation units for clipping the added result of the add operator. It can be characterized.

상기 제1 기본 연산 유닛과 제2 기본 연산 유닛은, 2개의 연속된 덧셈기와 시프터기를 포함하여 구성되는 것을 특징으로 할 수 있다.The first basic operation unit and the second basic operation unit may be configured to include two consecutive adders and a shifter.

상기 임계값 생성부, 에지 판단부, 제1 기본 연산 유닛, 제2 기본 연산 유닛, 제1 클리핑 연산 유닛, 다수의 덧셈 연산기 및 출력부는 파이프라인의 각 단계로서 동작하도록 구성되는 것을 특징으로 할 수 있다.The threshold generator, the edge determiner, the first basic operation unit, the second basic operation unit, the first clipping operation unit, the plurality of adders and the output unit may be configured to operate as each stage of the pipeline. have.

상기 파이프라인의 각 단계별로 연산된 결과를 저장하기 위한 다수의 파이프라인 레지스터를 더 포함할 수 있다. 상기 파이프라인 레지스터는 보통 세기 필터링 연산 결과와 강한 세기 필터링 연산 결과를 선택적으로 저장할 수 있다.The apparatus may further include a plurality of pipeline registers for storing a result calculated at each stage of the pipeline. The pipeline register may selectively store the result of the normal intensity filtering operation and the result of the strong intensity filtering operation.

상기 제1 기본 연산 유닛과 제2 기본 연산 유닛은, 두 개의 필터링 연산 중 하나의 필터링 연산을 선택적으로 수행할 수 있도록 입력되는 데이터를 제어하는 수단을 포함하는 것을 특징으로 할 수 있다.The first basic operation unit and the second basic operation unit may include means for controlling input data to selectively perform one filtering operation among two filtering operations.

상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 연산식과 강한 세기 필터링 연산식으로부터 추출한 공통 인수를 연산하는 다수의 제1 기본 연산 유닛; 과 상기 공통 인수와 입력 픽셀 데이터를 이용하여 보통 세기 필터링 또는 강한 세기 필터링 연산을 수행하는 다수의 제2 기본 연산 유닛을 포함하는 것을 특징으로 할 수 있다.A plurality of first basic calculation units for calculating common factors extracted from the plurality of normal intensity filtering equations and the strong intensity filtering equation using the input pixel data; And a plurality of second basic operation units that perform a normal intensity filtering or a strong intensity filtering operation by using the common factor and the input pixel data.

상기한 바와 같이 본 발명에 따른 공통 데이터 패스 구조를 포함하는 디블록킹 필터는 통합된 하나의 데이터 패스를 이용하므로 차지하는 면적이 작고 저전력으로 동작하는 디블록킹 필터를 제공할 수 있다. As described above, the deblocking filter including the common data path structure according to the present invention can provide a deblocking filter that has a small area and operates at low power because it uses one integrated data path.

본 발명에 따른 디블록킹 필터를 이용하여 블로킹 아티팩트 현상을 제거하여 압축 손실 없이도 영상의 화질을 향상시킬 수 있으며, 이 경우 상당한 양의 연산량과 전력을 소모하지도 않으므로 모바일 기기에 특히 유리하다.By using the deblocking filter according to the present invention, the blocking artifacts can be eliminated to improve the image quality without loss of compression. In this case, a considerable amount of computation and power are not consumed, which is particularly advantageous for mobile devices.

이하, 본 발명에 따른 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법에 대하여 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, an apparatus and method for deblocking filtering including a common data path structure according to the present invention will be described in detail with reference to the accompanying drawings.

또한, H.264/AVC 디블록킹 필터는 4×4 블록들 사이의 에지를 기준으로 하여 에지 양측에 존재하는 최대 8개의 픽셀 데이터를 입력받는다. 코딩 조건에 대해 이들 중 최대 6개의 픽셀 데이터를 변형하게 되는데, 코딩 조건(예를 들어, 경계면 세기)에 따라 필터링 세기가 결정되므로 디블록킹 필터는 높은 적응성을 가진다.In addition, the H.264 / AVC deblocking filter receives up to eight pixel data existing on both sides of an edge between 4 × 4 blocks. Up to six of them are transformed with respect to the coding conditions. The deblocking filter has a high adaptability since the filtering strength is determined according to the coding conditions (eg, interface strength).

코딩 조건과 관련하여 디블록킹 필터는 경계면 세기 계수를 이용할 수 있다. 먼저, 경계면 세기 계수가 0인 경우 디블록킹 필터는 적용되지 않는다. 또한, 경계면 세기 계수가 0 내지 3인 경우 보통 세기의 필터링이 수행되며, 경계면 세기 계수가 4인 경우 강한 세기의 필터링이 수행된다.The deblocking filter may use interface strength coefficients in connection with coding conditions. First, when the interface strength coefficient is 0, the deblocking filter is not applied. In addition, when the interface strength coefficient is 0 to 3, filtering of the normal intensity is performed, and when the interface strength coefficient is 4, filtering of the strong intensity is performed.

다른 코딩 조건으로, 디블록킹 필터는 한 라인으로 구성된 8개의 입력 픽셀 데이터를 임계값과 비교하여 원본 영상에 표현되는 실제 에지인지 아닌지의 여부를 판단한다. 이러한 원본 영상의 픽셀 데이터 값의 분포 특성을 파악하여 디블록킹 필터는 필터링 모드를 결정하기도 한다.As another coding condition, the deblocking filter compares eight input pixel data consisting of one line with a threshold to determine whether or not it is an actual edge represented in the original image. The deblocking filter may determine a filtering mode by identifying distribution characteristics of pixel data values of the original image.

이러한 코딩 조건 별 필터링 연산을 위해 디블록킹 필터는 보통 세기의 필터 연산 로직, 강한 세기의 필터 연산 로직, 필터의 여러 변형 모드에 대한 연산 로직을 모두 포함한다. 이 경우 다양한 종류의 필터 수식을 공통된 데이터 패스와 입출력 시그널 먹스(MUX)를 가지는 구조로 변환할 수 있다면 디블록킹 필터의 크기를 상당히 줄일 수 있으며, 동시에 전력 소모의 증가 문제도 해결할 수 있게 된다.For the filtering operation according to the coding conditions, the deblocking filter includes all of the filter operation logic of the normal strength, the filter operation logic of the strong strength, and the operation logic of the various deformation modes of the filter. In this case, if the various types of filter equations can be converted into a structure having a common data path and input / output signal mux, the size of the deblocking filter can be significantly reduced, and at the same time, the problem of increased power consumption can be solved.

특히, 본 발명에서는 경계면 세기(Boundary Strength)가 0~3의 값을 가질 때 적용되는 보통 세기의 필터와 경계면 세기가 4의 값을 가질 때 적용되는 강한 세기의 필터의 실행 조건이 상호 배타적(Mutually Exclusive)한 특성을 이용한다. 여기서, 상호 배타적 특성은 하나의 픽셀 라인 데이터에 대하여 보통 세기 필터링과 강 한 세기의 필터링이 동시에 수행되지 않는 특성을 의미한다. 이러한 특징을 이용하여 보통 세기의 필터와 강한 세기의 필터를 병합하여 동일한 연산부로 처리할 수 있다.In particular, in the present invention, the execution conditions of the filter of the normal strength applied when the boundary strength has a value of 0 to 3 and the filter of the strong strength applied when the boundary strength has a value of 4 are mutually exclusive. Exclusive) In this case, the mutually exclusive characteristic means a characteristic in which normal intensity filtering and strong intensity filtering are not simultaneously performed on one pixel line data. Using this feature, the filter of the normal intensity and the strong intensity filter can be merged and processed by the same operation unit.

그러나 보통 세기의 필터와 강한 세기의 필터는 수식 특성이 확연히 다른 관계로 공통된 데이터 패스를 설정하는 것은 용이하지 않다. 구체적으로 살펴보면 강한 세기의 필터는 가산기와 시프트 레지스터만으로 구성되는 반면 보통 세기의 필터는 감산기로 주로 구성되며 강한 세기의 필터에는 존재하지 않는 클리핑(Clipping) 로직도 포함된다.However, it is not easy to set up common data paths because the filters of normal intensity and strong intensity filter have distinctly different mathematical characteristics. Specifically, a strong intensity filter consists of only an adder and a shift register, while a normal intensity filter mainly consists of a subtractor, and also includes clipping logic that does not exist in a strong intensity filter.

이 경우 가산기와 감산기를 동시에 수행할 수 있는 산술 논리 연산기(ALU : Arithmatic Logic Unit)를 이용할 수도 있다. 그러나 이러한 산술 논리 연산기는 그 구조가 복잡하고 면적도 크며 소비하는 전력도 크기 때문에 본 발명이 해결하고자 하는 소형화, 저전력화 목적을 이룰 수 없다. In this case, an Arithmatic Logic Unit (ALU) that can simultaneously perform an adder and a subtractor may be used. However, such an arithmetic logic operator cannot achieve the purpose of miniaturization and low power that the present invention intends to solve because of its complicated structure, large area, and high power consumption.

이하, 본 발명에서 공통된 데이터 패스를 이용하여 보통 세기의 필터링과 강한 세기의 필터링을 수행하기 위한 방법에 대하여 살펴본다. 먼저, 설명의 편의를 위해 에지 필터링을 수행할 블록에 대하여 정의하기로 한다.Hereinafter, a method for performing normal intensity filtering and strong intensity filtering using a common data path will be described. First, for convenience of description, a block for performing edge filtering will be defined.

도 2는 본 발명에 따른 에지 필터링을 수행할 블록을 나타낸 도면이다.2 illustrates a block for performing edge filtering according to the present invention.

도 2의 (A)에는 수직 에지를 기준으로 좌측 블록들이 P 블록이며, 우측 블록이 Q 블록임을 알 수 있다. 에지를 기준으로 하여 좌측으로 P 블록에 해당하는 픽셀 데이터는 각각 p0 내지 p3로, Q 블록에 해당하는 픽셀 데이터는 각각 q0 내지 q3로 나타내기로 한다.In FIG. 2A, it can be seen that the left blocks are P blocks and the right block is a Q block with respect to the vertical edge. The pixel data corresponding to the P block to the left based on the edge are represented by p0 to p3 and the pixel data corresponding to the Q block to q0 to q3, respectively.

도 2의 (B)에는 수평 에지를 기준으로 상측 블록들이 P 블록이며, 하측 블록이 Q 블록임을 알 수 있다. 에지를 기준으로 상측으로 P 블록에 해당하는 픽셀 데이터는 각각 p0 내지 p3로, Q 블록에 해당하는 픽셀 데이터는 각각 q0 내지 q3로 나타내기로 한다.In FIG. 2B, it can be seen that the upper blocks are P blocks and the lower blocks are Q blocks based on the horizontal edge. Pixel data corresponding to the P block upwards with respect to the edges will be represented by p0 to p3, and pixel data corresponding to the Q block will be represented as q0 to q3, respectively.

H.264/AVC 표준안에 따라 P 블록과 Q 블록의 필터링이 수행되기 위해서는 아래 수학식 1의 조건이 만족되어야 한다. 아래 수학식에서 α와 β는 기설정된 임계값이다. 여기서 ABS 함수는 절대값 연산을 의미한다. In order to perform filtering of the P block and the Q block according to the H.264 / AVC standard, the condition of Equation 1 below must be satisfied. In the equation below, α and β are preset thresholds. The ABS function here means absolute value calculation.

BS != 0 && (p0 - q0) < α && ABS(p1 - p0) < β && ABS(q1 - q0) < βBS! = 0 && (p0-q0) <α && ABS (p1-p0) <β && ABS (q1-q0) <β

수학식 1의 조건을 만족하고 경계면 세기 계수가 0 내지 3의 값을 가질 경우에는 보통 세기의 필터링이 적용된다. 보통 세기의 필터링을 수행하기 위한 H.264/AVC 표준안의 연산식은 아래 수학식 2와 같다.When the condition of Equation 1 is satisfied and the boundary strength factor has a value of 0 to 3, normal intensity filtering is applied. The equation in the H.264 / AVC standard for performing normal intensity filtering is shown in Equation 2 below.

Δ = Clip3( -tc, tc, ( ( (q0 - p0) << 2) + (p1 - q1) + 4 ) >> 3 ))Δ = Clip3 (-tc, tc, (((q0-p0) << 2) + (p1-q1) + 4) >> 3))

p`0 = Clip1 ( p0 + Δ)p`0 = Clip1 (p0 + Δ)

q`0 = Clip1 ( q0 - Δ)q`0 = Clip1 (q0-Δ)

여기서 클리핑 계수 tc는 루마 4×4 블록 간 에지를 필터링하는 경우와 크로마 4×4 블록 간 에지를 필터링하는 경우에 따라 다르게 구해지는데, 클리핑 계수 tc는 아래 수학식 3과 같이 구할 수 있다.Here, the clipping coefficient tc is determined differently depending on the case of filtering the edge between the luma 4 × 4 blocks and the case of filtering the edge between the chroma 4 × 4 blocks. The clipping coefficient tc may be obtained as in Equation 3 below.

i) 루마 4×4 블록 사이의 에지를 디블록킹 필터링하는 경우,i) When deblocking filtering edges between luma 4x4 blocks,

tc = tc0 + ((ap < β) ? 1 : 0) + ((aq < β) ? 1 : 0)tc = tc0 + ((ap <β)? 1: 0) + ((aq <β)? 1: 0)

ii) 크로마 4×4 블록 사이의 에지를 디블록킹 필터링하는 경우,ii) when deblocking filtering edges between chroma 4x4 blocks,

tc = tc0 + 1tc = tc0 + 1

즉, 보통 세기의 필터링에서는 P0와 Q0에 대한 필터링 연산을 수학식 2와 3을 이용하여 수행할 수 있다.That is, in the filtering of the normal intensity, the filtering operation for P0 and Q0 may be performed by using Equations 2 and 3 below.

한편, 루마 4×4 블록에 대한 보통 세기의 필터링에서 P1과 Q1에 대하여도 선택적으로 필터링 연산이 수행될 수 있다. 이 경우 P1과 Q1에 대한 보통 세기의 필터링을 위한 연산식은 아래 수학식 4와 5와 같다. On the other hand, the filtering operation may be selectively performed on P1 and Q1 in the normal intensity filtering on the luma 4x4 block. In this case, the equation for filtering the normal strength for P1 and Q1 is shown in Equations 4 and 5 below.

i) ABS (p2 - p0) < β인 조건을 만족하는 경우,i) when the condition that ABS (p2-p0) <β is satisfied,

p`1 = p1 + Clip3( -tc0, tc0, (p2 + ((p0 + q0 + 1 ) >> 1) - (p1 << 1 )) >> 1)p`1 = p1 + Clip3 (-tc0, tc0, (p2 + ((p0 + q0 + 1) >> 1)-(p1 << 1)) >> 1)

ii) i)의 조건을 만족하지 않는 경우,ii) if the conditions of i) are not satisfied,

p`1 = p1p`1 = p1

i) ABS(q2 - q0) < β의 조건을 만족하는 경우에는 i) If ABS (q2-q0) <β is satisfied

q1` = q1 + Clip3 (-tc0, tc0, (q2 + ((p0 + q0 + 1) >> 1 ) - (q1 << 1)) >> 1)q1` = q1 + Clip3 (-tc0, tc0, (q2 + ((p0 + q0 + 1) >> 1)-(q1 << 1)) >> 1)

ii) i)의 조건을 만족하지 않는 경우ii) does not meet the conditions of i)

q'1 = q1q'1 = q1

즉, P1과 Q1에 대한 보통 세기의 필터링은 ABS (p2 - p0) < β 조건 또는 ABS(q2 - q0) < β 조건의 만족 여부에 따라 선택적으로 수행됨을 알 수 있다. That is, it can be seen that the filtering of the normal intensity for P1 and Q1 is selectively performed depending on whether the ABS (p2-p0) <β condition or the ABS (q2-q0) <β condition is satisfied.

한편, 경계면 세기 계수(BS)가 4일 경우 강한 필터링이 적용되는데, 이러한 강한 필터링을 수행하기 위한 H.264/AVC 표준안의 수식은 다음과 같다. 보통 세기의 필터링과 달리 강한 필터링에서는 최대 6개의 픽셀 데이터에 대하여 연산이 수행된다. On the other hand, if the boundary strength coefficient (BS) is 4, strong filtering is applied, and the equation in the H.264 / AVC standard for performing such strong filtering is as follows. Unlike normal intensity filtering, strong filtering is performed on up to six pixel data.

아래 수학식 6은 루마 4×4 블록 사이의 에지를 기준으로 한 P0 내지 P2 블록에 대한 강한 필터링 연산식이다.Equation 6 below is a strong filtering equation for P0 to P2 blocks based on edges between luma 4x4 blocks.

i) ABS( p2 - p0 ) < β && ABS( p0 - q0 ) < ( ( α >> 2 ) + 2 )인 경우,i) When ABS (p2-p0) <β && ABS (p0-q0) <((α >> 2) + 2)

p'0 = ( p2 + 2*p1 + 2*p0 + 2*q0 + q1 + 4 ) >> 3p'0 = (p2 + 2 * p1 + 2 * p0 + 2 * q0 + q1 + 4) >> 3

p'1 = ( p2 + p1 + p0 + q0 + 2 ) >> 2p'1 = (p2 + p1 + p0 + q0 + 2) >> 2

p'2 = ( 2*p3 + 3*p2 + p1 + p0 + q0 + 4 ) >> 3p'2 = (2 * p3 + 3 * p2 + p1 + p0 + q0 + 4) >> 3

ii) i)의 조건을 만족하지 않는 경우,ii) if the conditions of i) are not satisfied,

p'0 = ( 2*p1 + p0 + q1 + 2 ) >> 2p'0 = (2 * p1 + p0 + q1 + 2) >> 2

p'1 = p1p'1 = p1

p'2 = p2p'2 = p2

아래 수학식 7은 루마 4×4 블록 사이의 에지를 기준으로 한 Q0 내지 Q2 블록에 대한 강한 필터링 연산식이다.Equation 7 below is a strong filtering equation for Q0 to Q2 blocks based on edges between luma 4x4 blocks.

i) ABS( q2 - q0 ) < β && ABS( p0 - q0 ) < ( ( α >> 2 ) + 2 )인 경우,i) When ABS (q2-q0) <β && ABS (p0-q0) <((α >> 2) + 2)

q'0 = ( p1 + 2*p0 + 2*q0 + 2*q1 + q2 + 4 ) >> 3q'0 = (p1 + 2 * p0 + 2 * q0 + 2 * q1 + q2 + 4) >> 3

q'1 = ( p0 + q0 + q1 + q2 + 2 ) >> 2q'1 = (p0 + q0 + q1 + q2 + 2) >> 2

q'2 = ( 2*q3 + 3*q2 + q1 + q0 + p0 + 4 ) >> 3의 수식을 적용하고,apply the formula of q'2 = (2 * q3 + 3 * q2 + q1 + q0 + p0 + 4) >> 3,

ii) i)의 조건을 만족하지 않는 경우,ii) if the conditions of i) are not satisfied,

q'0 = ( 2*q1 + q0 + p1 + 2 ) >> 2q'0 = (2 * q1 + q0 + p1 + 2) >> 2

q'1 = q1q'1 = q1

q'2 = q2q'2 = q2

이상에서, H.264/AVC 표준안에 정의된 조건 별 디블록킹 필터링 방법에 대하여 살펴보았다. 본 발명에서는 위의 연산식을 재배열하게 된다. 이하에서 재배열한 수식을 살펴보겠다. 아래 수식들은 위에서 설명한 표준안 필터링 연산식을 재배열한 결과이므로, 동일한 필터링 조건과 입력 픽셀 데이터가 주어지면 표준안의 경우와 동일한 출력을 나타낸다. 또한 표준안의 수식을 재배열하는 방법은 다양한 변형이 있을 수 있으므로, 본 발명은 아래에서 기재되는 수학식에 한정되지 않음을 알려둔다.In the above, the deblocking filtering method for each condition defined in the H.264 / AVC standard has been described. In the present invention, the above expression is rearranged. Let's take a look at the rearranged formula. The following equations are the result of rearranging the standard filtering algorithm described above, so that given the same filtering conditions and input pixel data, the same expressions are output as in the standard design. In addition, the method of rearranging the formula in the standard may be various modifications, it is noted that the present invention is not limited to the equation described below.

경계면 세기 계수가 0 내지 3 사이의 값을 가질 경우에 적용되는 보통 세기 필터링과 관련된 수학식 4, 5를 재배열하면 아래 수학식과 같다.Rearranging Equations 4 and 5 related to the normal intensity filtering applied when the interface intensity coefficient has a value between 0 and 3 is as follows.

i) ABS( p2 - p0 ) < β를 만족하는 경우,i) when ABS (p2-p0) <β is satisfied,

p'1 = p1 + Clip3( tC0, tC0, ( p2 ( p1 << 1 ) + ( ( p0 + q0 + 1 ) >> 1 ) ) >> 1 ) p'1 = p1 + Clip3 (tC0, tC0, (p2 (p1 << 1) + ((p0 + q0 + 1) >> 1)) >> 1)

ii) i)의 조건을 만족하지 못한 경우,ii) if the conditions of i) are not satisfied,

p`1 = p1p`1 = p1

i) ABS( q2 - q0 ) < β를 만족하는 경우,i) when ABS (q2-q0) <β is satisfied,

q'1 = q1 + Clip3( tC0, tC0, ( q2 ( q1 << 1 ) + ( ( p0 + q0 + 1 ) >> 1 ) ) >> 1 ) q'1 = q1 + Clip3 (tC0, tC0, (q2 (q1 << 1) + ((p0 + q0 + 1) >> 1)) >> 1)

ii) i)의 조건을 만족하지 못한 경우,ii) if the conditions of i) are not satisfied,

q`1 = q1q`1 = q1

보통 세기 필터링을 위하여 필요한 수학식 2, 8, 9에서 공통으로 포함되는 인수, 즉 공통 인수를 아래 수학식 10과 같이 새로운 변수로 정의한다. 이와 같이 정의된 변수는 도 3의 기본 연산 유닛을 통해 계산된다.In general, the factors commonly included in Equations 2, 8, and 9, which are necessary for strength filtering, are defined as new variables as shown in Equation 10 below. The variable thus defined is calculated via the basic computing unit of FIG. 3.

((q0 - p0) << 2) = N_M0,((q0-p0) << 2) = N_M0,

(p1 - q1) = N_M1,(p1-q1) = N_M1,

(p2 - ( p1 << 1 )) = N_L,(p2-(p1 << 1)) = N_L,

(q2 - ( q1 << 1 )) = N_R,(q2-(q1 << 1)) = N_R,

(( p0 + q0 + 1 ) >> 1) = N_SUM((p0 + q0 + 1) >> 1) = N_SUM

한편, 경계면 세기 계수(BS)가 4일 경우 적용되는 강한 필터의 연산을 위한 수식은 다음과 같이 재배열을 하여야 공통의 항들을 추출할 수 있다. 수학식 6에 대해 공통의 인수를 추출하기 위하여 재배열한 식은 아래 수학식과 같다. Meanwhile, the formula for calculating a strong filter applied when the boundary strength coefficient BS is 4 may be rearranged as follows to extract common terms. The equation rearranged to extract a common factor for the equation (6) is as shown in the following equation.

i) ABS( p2 - p0 ) < β && ABS( p0 - q0 ) < ( ( α >> 2 ) + 2 )인 경우,i) When ABS (p2-p0) <β && ABS (p0-q0) <((α >> 2) + 2)

p'0 = (2 * (p0 + q0) + (p2 + p1 + 2) + (p1 + q1 + 2)) >> 3p'0 = (2 * (p0 + q0) + (p2 + p1 + 2) + (p1 + q1 + 2)) >> 3

p'1 = ((p0 + q0) + (p2 + p1 + 2)) >> 2p'1 = ((p0 + q0) + (p2 + p1 + 2)) >> 2

p'2 = ((p0 + q0) + (p2 + p1 + 2) + 2 * (p3 + p2 + 1)) >> 3p'2 = ((p0 + q0) + (p2 + p1 + 2) + 2 * (p3 + p2 + 1)) >> 3

ii) i)의 조건을 만족하지 않는 경우,ii) if the conditions of i) are not satisfied,

p'0 = ((p1 + p0) + (p1 + q1 + 2)) >> 2p'0 = ((p1 + p0) + (p1 + q1 + 2)) >> 2

p'1 = p1p'1 = p1

p'2 = p2p'2 = p2

수학식 11은 공통의 인수가 존재하지 않았던 수학식 6을 재배열한 것이며, 그 결과 p0 + q0 또는 p2 + p1 + 2 등과 같은 공통 인수들이 존재함을 알 수 있다. 마찬가지로, 수학식 7에 대해 공통의 인수를 추출하기 위하여 재배열한 식은 아래와 같다.Equation 11 rearranges Equation 6 in which no common arguments existed, and as a result, common factors such as p0 + q0 or p2 + p1 + 2 exist. Similarly, the equation rearranged to extract common factors for Equation 7 is as follows.

i) ABS( q2 - q0 ) < β && ABS( p0 - q0 ) < ( ( α >> 2 ) + 2 )인 경우,i) When ABS (q2-q0) <β && ABS (p0-q0) <((α >> 2) + 2)

q'0 = (2 * (p0 + q0) + (q2 + q1 + 2) + (p1 + q1 + 2)) >> 3q'0 = (2 * (p0 + q0) + (q2 + q1 + 2) + (p1 + q1 + 2)) >> 3

q'1 = ((p0 + q0) + (q2 + q1 + 2)) >> 2q'1 = ((p0 + q0) + (q2 + q1 + 2)) >> 2

q'2 = ((p0 + q0) + (q2 + q1 + 2) + 2 * (q3 + q2 + 1)) >> 3q'2 = ((p0 + q0) + (q2 + q1 + 2) + 2 * (q3 + q2 + 1)) >> 3

ii) i)의 조건을 만족하지 않는 경우,ii) if the conditions of i) are not satisfied,

q'0 = ((q1 + q0) + (p1 + q1 + 2)) >> 2q'0 = ((q1 + q0) + (p1 + q1 + 2)) >> 2

q'1 = q1q'1 = q1

q'2 = q2q'2 = q2

마찬가지로, 수학식 12에서도 p0 + q0, q2 + q1 +2와 같은 공통 인수가 존재함을 알 수 있다.Similarly, in Equation 12, it can be seen that there are common factors such as p0 + q0 and q2 + q1 +2.

여기서, 강한 세기 필터링을 수행하기 위한 수학식 11, 12들에 포함되어 있는 공통 인수를 아래 수학식 13과 같이 새로운 변수로 정의한다. 이들 공통 인수는 수학식 10과 마찬가지로 도 3의 기본 연산 유닛에 의하여 구해질 수 있다.Here, the common factor included in Equations 11 and 12 for performing strong intensity filtering is defined as a new variable as shown in Equation 13 below. These common factors may be obtained by the basic computing unit of FIG. 3, as in Equation 10.

(p0 + q0) = S_M0,(p0 + q0) = S_M0,

(p1 + q1 + 2) = S_M1+2,(p1 + q1 + 2) = S_M1 + 2,

(p2 + p1 + 2) = S_L+2,(p2 + p1 + 2) = S_L + 2,

(q1 + q2 + 2) = S_R+2,(q1 + q2 + 2) = S_R + 2,

2 * (p3 + p2 + 1) = S_2L+2,2 * (p3 + p2 + 1) = S_2L + 2,

2 * (q3 + q2 + 1) = S_2R+22 * (q3 + q2 + 1) = S_2R + 2

여기서 공통 인수를 정의한 수학식 10과 수학식 13은 최대 2번의 덧셈 연산과 시프트 연산으로 구현될 수 있음을 알 수 있다. 수학식 13에서는 피연산자가 최대 3개인 덧셈 연산과 2와의 곱셈 연산(시프트 연산)을 포함한다. Here, it can be seen that Equations 10 and 13, which define common factors, can be implemented by up to two addition and shift operations. Equation 13 includes an addition operation having up to three operands and a multiplication operation (shift operation) with two.

수학식 10에서는 뺄셈 연산을 살펴볼 수 있다. 그러나 뺄셈 연산은 2의 보수를 이용하여 감산을 수행할 수 있다. 즉, 감산하고자 하는 이진수를 비트별로 반전 시킨 후 1을 더하여 2의 보수를 구하고, 이를 다른 피연산자와 더하여 감산 연산을 수행할 수 있다. 이를 고려하면 수학식 10 또한 2개의 연속된 덧셈 연산과 시프트 연산을 통해 표현할 수 있는 것이다.In Equation 10, a subtraction operation may be described. However, the subtraction operation can be subtracted using two's complement. In other words, the binary number to be subtracted can be inverted bit by bit, plus 1 to obtain a complement of 2, and added with another operand to perform a subtraction operation. Considering this, Equation 10 can also be expressed through two consecutive addition and shift operations.

이러한 규칙성을 통하여 감산기를 사용하는 보통 세기의 필터와 가산기로만 구성된 강한 세기의 필터가 수식 연산 과정에서 데이터 패스를 최대한 공유할 수 있으며 파이프라인 구조로 구현하는 경우의 효율성도 높아진다. 또한, 연산 결과값이 여러 수식들에서 공통된 중간 연산 값으로 사용될 수 있도록 고안되어 있으므로, 수식들을 각각 전부 계산할 때보다 연산량이 감소한다.This regularity makes it possible for the filters of the normal strength using the subtractor and the strong strength filter composed only of the adder to share the data path as much as possible in the calculation process and to improve the efficiency of the pipeline structure. In addition, since the operation result value is designed to be used as a common intermediate operation value in various equations, the calculation amount is reduced than when each calculation of all the equations is performed.

도 3과 도 4는 본 발명의 일 실시예에 따른 디블록킹 필터링 연산을 위한 기본 연산 유닛의 구성을 나타낸 도면이다.3 and 4 are diagrams showing the configuration of the basic operation unit for the deblocking filtering operation according to an embodiment of the present invention.

도 3을 참조하면, 기본 연산 유닛은 파이프라인 레지스터와 2개의 연속된 가산기, 다수의 시프터기, 다수의 먹스 등을 포함하고 있다. 기본 연산 유닛은 입력 파이프라인 레지스터에 저장된 데이터를 입력받아 덧셈과 시프트 연산을 수행한 후 그 결과를 출력 파이프라인 레지스터로 출력한다.Referring to FIG. 3, the basic computing unit includes a pipeline register, two consecutive adders, a plurality of shifters, a plurality of muxes, and the like. The basic operation unit receives the data stored in the input pipeline register, performs addition and shift operations, and outputs the result to the output pipeline register.

이 때 입력 파이프라인 레지스터로부터 라인 픽셀 데이터(p0 ~ p3, q0 ~ q3)가 기본 연산 유닛으로 적절히 입력하면 수학식 10 또는 13 등에 기재한 공통 인수들을 연산할 수 있다. In this case, if the line pixel data p0 to p3 and q0 to q3 are properly input from the input pipeline register to the basic operation unit, the common factors described in Equation 10 or 13 may be calculated.

뿐만 아니라, 파이프라인 레지스터에 임시 저장된 공통 인수가 기본 연산 유닛으로 적절히 입력되는 경우에는 수학식 2, 8, 9, 10, 11을 연산할 수도 있게 된 다.In addition, when the common argument temporarily stored in the pipeline register is properly input to the basic operation unit, Equations 2, 8, 9, 10, and 11 may be calculated.

특히, 도 3의 기본 연산 유닛은 보통 세기 필터링과 강한 세기 필터링의 상호 배타적 특성을 이용하는 것을 또 다른 특징으로 한다. 즉, 기본 연산 유닛은 동시에 보통 세기 필터링 수식(수학식 8, 9) 중 하나, 강한 세기 필터링 수식(수학식 0, 11) 중 하나를 선택적으로 연산할 수 있는 것이다. 입출력 먹스를 통하여 기본 연산 유닛으로 입력되는 신호를 제어함으로써 보통 세기의 필터링 연산 또는 강한 세기의 필터링 연산 중 하나가 선택적으로 수행될 수 있다.In particular, the basic computing unit of FIG. 3 is another feature that utilizes the mutually exclusive features of normal intensity filtering and strong intensity filtering. That is, the basic calculation unit can selectively calculate one of the normal intensity filtering equations (Equations 8 and 9) and one of the strong intensity filtering equations (Equations 0 and 11) at the same time. By controlling a signal input to the basic operation unit through the input / output mux, one of a normal intensity filtering operation or a strong intensity filtering operation may be selectively performed.

예를 들어, 도 4의 우측에 기재된 박스에서 밑줄이 표시된 글씨는 강한 세기의 필터링 연산을 의미하며, 진하고 이탤릭체의 글씨는 보통 세기의 필터링 연산을 의미한다. 도 4의 기본 연산 유닛은 ① 강한 세기의 필터링 연산 중 수학식 10의 q`2 연산과 ② 보통 세기의 필터링 연산 중 수학식 9의 i) 조건 중 ( q2 ( q1 << 1 ) + ( ( p0 + q0 + 1 ) >> 1 ) 부분을 선택적으로 연산할 수 있다.For example, the underlined letters in the box on the right side of FIG. 4 mean strong intensity filtering operations, and the dark, italic letters mean normal intensity filtering operations. The basic arithmetic unit of FIG. 4 includes (q2 (q1 << 1) + ((p0) of the condition q q2 of Equation 10 during the strong intensity filtering operation and ② i) of Equation 9 during the filtering operation of the normal intensity. + q0 + 1) >> 1) The part can be selectively operated.

먼저, ① 강한 세기의 필터링 연산과 관련하여 기본 연산 유닛은 파이프라인 레지스터로부터 S_2R + 2, S_M0, S_R + 2를 입력받는다. 이 중 2 * (q3 + q2 + 1)) 항을 위해 S_2R + 2는 시프터기로 입력된다. 한편, (p0 + q0) + (q2 + q1 + 2) 항을 위해 S_M0와 S_R + 2는 제1 가산기로 입력된다. q'2의 연산을 위해 시프터기의 출력과 제1 가산기의 출력은 제2 가산기로 입력된다. 이러한 기본 연산 유닛의 연산 결과는 수학식 10에 정의된 q`2 연산 결과와 동일하다.First, in relation to the strong strength filtering operation, the basic operation unit receives S_2R + 2, S_M0, S_R + 2 from the pipeline register. For 2 * (q3 + q2 + 1)), S_2R + 2 is input to the shifter. On the other hand, S_M0 and S_R + 2 are input to the first adder for the term (p0 + q0) + (q2 + q1 + 2). The output of the shifter and the output of the first adder are input to the second adder for the operation of q'2. The operation result of this basic operation unit is the same as the q`2 operation result defined in Equation 10.

②의 보통 세기 필터링 연산도 N_SUM_2이 시프터기로, N_L과 0 신호가 제1 가산기로 입력된다. 시프터기와 제1 가산기의 출력은 마찬가지로 제2 가산기로 입력된다. 이러한 기본 연산 유닛의 연산 결과는 수학식 9의 i) 조건 중 일부인 ( q2 ( q1 << 1 ) + ( ( p0 + q0 + 1 ) >> 1 )임을 알 수 있다.In general strength filtering operation of ②, N_SUM_2 is a shifter, and N_L and 0 signals are input to the first adder. The outputs of the shifter and the first adder are likewise input to the second adder. It can be seen that the operation result of the basic operation unit is (q2 (q1 << 1) + ((p0 + q0 + 1) >> 1) which is a part of condition i) of Equation (9).

결론적으로, 도 3에 도시된 하나의 기본 연산 유닛은 보통 세기의 필터에 해당하는 항과 강한 세기의 필터에 해당하는 항이 하나씩 선택되어 총 2개의 연산을 수행할 수 있다. 뿐만 아니라, 도 3에 도시된 하나의 기본 연산 유닛은 강한 세기의 필터 연산식 중에서 동시에 수행되지 않는 2개의 연산식들을 수행할 수 있도록 구현될 수도 있다.As a result, one basic operation unit illustrated in FIG. 3 may select two terms corresponding to a filter having a normal intensity and a term corresponding to a filter having a strong intensity one by one to perform a total of two operations. In addition, one basic calculation unit illustrated in FIG. 3 may be implemented to perform two expressions that are not performed simultaneously among the strong filter expressions.

또한, 다수의 기본 연산 유닛 입력과 출력 시그널들은 각 단계의 파이프라인 레지스터로 연결되어 파이프라인으로 구성되는 것이 바람직하다. 디블록킹 필터에서는 에지의 경계면 계수에 따라 각각 보통 세기의 필터, 강한 세기의 필터에 해당하는 연산 과정은 다른 파이프라인 단계들과 독립적으로 수행될 수 있다. 따라서, 파이프라인 단계의 일부에서, 보통 세기의 필터, 다른 일부는 강한 세기의 필터 연산을 수행하며 파이프라인 구조로 해당 필터 연산을 수행하는 것이 가능하다.In addition, it is preferable that a plurality of basic arithmetic unit input and output signals are connected to pipeline registers of each stage and constitute a pipeline. In the deblocking filter, a calculation process corresponding to a moderate intensity filter and a strong intensity filter may be performed independently of other pipeline stages according to the edge coefficient of the edge. Thus, in some of the pipeline stages, it is possible to perform a filter operation of moderate intensity, the other part of a strong intensity, and perform the corresponding filter operation in a pipeline structure.

도 5는 본 발명의 다른 실시예에 따른 파이프라인의 각 단계별 동작을 나타낸 도면이다.5 is a view showing each step of the pipeline according to another embodiment of the present invention.

도 5의 MR(Memory Read) 단계에서는 디블록킹 필터링할 입력 픽셀 데이터를 읽어오고 필터링을 위해 필요한 인덱스 값인 α와 β를 생성한다.In the MR (Memory Read) step of FIG. 5, input pixel data to be deblocked and filtered is read, and α and β, which are index values necessary for filtering, are generated.

그 후 PRE 단계에서는 MR 단계에서 생성한 인덱스 값을 이용해 α,β 임계 값을 생성하는 한편, 현재 필터링할 에지에 대한 경계면 세기 계수를 읽어들인다.In the PRE step, α and β threshold values are generated using the index values generated in the MR step, and the boundary strength coefficients of the edges to be filtered are read.

ZERO 단계에서는 영상의 에지가 원본 영상의 실제 에지인지 디블록킹 처리를 해야하는 에지인지 판단한다. 구체적으로, ZERO 단계에서는 입력 픽셀 라인 데이터인 P0, P1, P2, Q0, Q1, Q2를 입력받는다. 이를 통하여 각각 |p0 - q0|, |p1 - p0|, |q1 - q0|, |p2 - p0|, |q2 - q0| 들을 연산하고, 이들을 소정의 임계값들과 비교한다.In the ZERO step, it is determined whether the edge of the image is an actual edge of the original image or an edge to be deblocked. Specifically, in the ZERO step, input pixel line data P0, P1, P2, Q0, Q1, and Q2 are received. This allows | p0-q0 |, | p1-p0 |, | q1-q0 |, | p2-p0 |, | q2-q0 | And compare them with predetermined thresholds.

ONE, TWO, THREE, FOUR, WB(Write Back) 단계에서는 기본 연산 유닛들이 배치되어 보통 세기 필터를 적용할지 강한 세기 필터를 적용할지의 여부에 따라 동일한 데이터 패스의 입출력을 먹스(MUX)로 조절하며 디블록킹 필터링 연산을 수행하게 된다.In the ONE, TWO, THREE, FOUR, and WB (Write Back) phases, basic computational units are placed to control the input and output of the same data path to the MUX, depending on whether to apply normal or strong intensity filters. The deblocking filtering operation is performed.

이 중 ONE 단계에서는, p0 내지 p3, q0 내지 q3의 픽셀 데이터를 입력받아 수학식 10과 수학식 13에서 정의해 둔 공통 인수들을 연산한다. 특히 도 5의 1 단계에 도시된 기본 연산 유닛은 밑줄이 표시된 글씨 또는 진하고 이탤릭체의 글씨로 표현되는 신호를 입력받는데, 이는 각각 강한 세기 필터링 시 입력되는 신호와 보통 세기 필터링 시 입력되는 신호임은 위에서 살펴보았다. In the ONE step, the common arguments defined in Equations 10 and 13 are calculated by receiving pixel data of p0 to p3 and q0 to q3. In particular, the basic arithmetic unit illustrated in step 1 of FIG. 5 receives a signal expressed in underlined letters or bold and italic letters, which are signals input during strong intensity filtering and signals for normal intensity filtering, respectively. I looked at it.

그 후 TWO 단계에서는, ONE 단계에서 획득한 공통 인수들을 이용하여, 수학식 2, 8, 9, 10, 11 등에 포함된 수학식을 연산하게 된다. 이 때 보통 세기 필터링은 클리핑 연산 등이 포함되어 있으므로 TWO 단계에서 모두 이루어지지 않는다.Thereafter, in the TWO step, equations included in equations (2), (8), (9), (10), (11), and the like are calculated using the common factors obtained in the ONE step. In this case, the normal intensity filtering is not performed at the TWO stage because clipping operations are included.

즉, THREE 단계에서는 보통 세기 필터의 클리핑 연산이 수행된다. THREE 단 계에서 수행되는 클리핑 연산은 수학식 2의 Δ를 구하는 과정이다. 또한, FOUR 단계에서 수행되는 연산은 수학식 2에 속한 p0 + Δ와 q0 - Δ 연산이다. That is, in the THREE step, the clipping operation of the normal intensity filter is performed. The clipping operation performed in the THREE step is a process of obtaining Δ of Equation 2. In addition, operations performed in the FOUR step are p0 + Δ and q0-Δ operations belonging to equation (2).

이 때 WB(Write Back) 단계에서도 보통 세기 필터의 클리핑 연산, 즉 수학식 2의 p`0 = Clip1 ( p0 + Δ) 또는 q`0 = Clip1 ( q0 - Δ) 연산이 수행된다. 다만, WB의 연산은 단순 클리핑 연산만을 포함하고 있어 THREE 단계의 클리핑 연산보다 소요되는 시간이 훨씬 짧다. 따라서, WB 단계에서는 단순 클리핑 연산과 함께 그 결과를 출력하는 동작도 수행할 수 있다.At this time, in the WB (Write Back) step, the clipping operation of the normal intensity filter, that is, the p`0 = Clip1 (p0 + Δ) or q`0 = Clip1 (q0-Δ) operation of Equation 2 is performed. However, since the WB operation includes only a simple clipping operation, it takes much less time than the clipping operation in the THREE step. Therefore, in the WB step, an operation of outputting the result along with the simple clipping operation may be performed.

이상에서 살펴보면 보통 세기 필터링 연산은 클리핑 연산을 포함하고 있어, 강한 세기 필터의 연산보다 그 소요 시간이 길다는 것을 알 수 있다. 따라서 강한 세기 필터 연산의 일부를 클리핑 연산이 수행되는 THREE 파이프라인 단계 이후(도 4에서는 FOUR 단계)에서 수행하는 것이 바람직하다.As can be seen from the above, the normal intensity filtering operation includes a clipping operation, and thus it takes longer than the strong intensity filter operation. Therefore, it is preferable to perform a part of the strong intensity filter operation after the THREE pipeline stage in which the clipping operation is performed (FOUR stage in FIG. 4).

이러한 경우 강한 세기 필터 연산을 위해 입력으로 필요한 중간 연산 결과 값들을 파이프라인 레지스터들을 통하여 파이프라인 전달들에서 파이프라인 후단으로 전달 시켜주어야 하는데 이를 위해서는 추가적인 파이프라인 레지스터들이 필요하다. 따라서 상기 레지스터들로 인한 면적 증가가 동반될 수 있다.In this case, the intermediate calculation result values required as inputs for the strong intensity filter operation must be passed from the pipeline transfers to the pipeline end through the pipeline registers, which requires additional pipeline registers. Therefore, the area increase due to the registers may be accompanied.

본 발명에서는 이러한 문제점을 해결하기 위해 파이프라인 레지스터를 공유하여 사용하도록 한다. 보통 세기의 필터링을 수행하는데 사용되는 파이프라인 레지스터와 강한 세기의 필터링을 수행하는데 사용되는 파이프라인 레지스터는 공유가 가능하다. 보통 세기의 필터와 강한 세기의 필터의 실행조건이 상호배타적이기 때문이다.In the present invention, in order to solve this problem, the pipeline register is shared and used. The pipeline registers used to perform normal strength filtering and the pipeline registers used to perform strong strength filtering can be shared. This is because the running conditions of the normal intensity filter and the strong intensity filter are mutually exclusive.

따라서 파이프라인의 모든 단계에서 각 파이프라인 단계의 조합회로(Combinational Logic)의 결과값은 하나의 공유 파이프라인 레지스터에 저장되며 다음 파이프라인 단계의 조합회로의 입력으로 사용된다. Therefore, at every stage of the pipeline, the result of the combinational logic of each pipeline stage is stored in one shared pipeline register and used as input to the next pipeline stage combination circuit.

특히 클리핑 단계와 관련하여 강한 세기의 필터링을 위한 중간 연산 결과 값들을 파이프라인 후단으로 전달하는 경우 클리핑을 할 입력값들을 저장하는 파이프라인 레지스터와 클리핑을 한 후의 값들을 저장하는 파이프라인 레지스터를 공유하여 사용하는 것이 바람직하다.In particular, when passing intermediate calculation result values for strong filtering to the rear end of the pipeline, the pipeline register that stores the input values for clipping and the pipeline register that stores the values after clipping It is preferable to use.

또한, 디블록킹 필터링 과정에서 경계면 세기 계수가 0인 경우에는 입력 픽셀 데이터가 그대로 출력 픽셀 데이터로 전달되어야 하는데 디블록킹 필터를 파이프라인 구조로 설계하게 되면 매 클럭마다 입력 픽셀 데이터는 계속하여 파이프라인으로 입력된다. 파이프라인 각 단계마다 처음 단계에서 받아들인 입력 픽셀 데이터를 차례로 전달하여야 마지막 단계에서 파이프라인 방식으로 출력할 수 있다. 따라서 파이프라인의 각 단계에는 상기 픽셀 데이터를 위한 파이프라인 레지스터가 필요하게 된다.In addition, when the boundary strength coefficient is 0 in the deblocking filtering process, input pixel data should be transmitted as output pixel data as it is. When the deblocking filter is designed in a pipeline structure, input pixel data continues to the pipeline every clock. Is entered. In each stage of the pipeline, the input pixel data received in the first stage must be passed in order so that the final stage can be output in a pipelined manner. Therefore, each stage of the pipeline requires a pipeline register for the pixel data.

본 발명에서는 포워딩 로직을 용이하게 구현하기 위해서 마지막 단계 이전의 단계들에서 필터링된 결과 픽셀 데이터들이 차례로 생성되는데 이러한 결과 픽셀 데이터들도 파이프라인 단계를 따라서 전파되어야 하므로 각 단계에서 추가적인 레지스터 사용이 필요하게 된다.In the present invention, in order to easily implement the forwarding logic, the result pixel data filtered in the steps before the last step are generated in turn. These result pixel data must also be propagated along the pipeline step. do.

본 발명에서는 필터링 조건을 판단하여 파이프라인 각 단계에서 발생한 결과 픽셀 데이터 값을 입력 픽셀 데이터를 위한 레지스터에 덮어쓰는 방식을 사용하여 픽셀 데이터 전파를 위한 파이프라인 레지스터를 출력 픽셀 데이터 전파를 위한 레지스터와 공유하는 방법을 이용한다.In the present invention, a pipeline register for pixel data propagation is shared with a register for output pixel data propagation by determining a filtering condition and overwriting the resultant pixel data value generated at each stage of the pipeline with a register for input pixel data. How to do it.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의하여 정해져야 한다.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 illustrates a block for performing edge filtering according to the present invention.

도 3, 4는 본 발명의 일 실시예에 따른 디블록킹 필터링 연산을 위한 기본 연산 유닛의 구성을 나타낸 도면.3 and 4 are views showing the configuration of a basic operation unit for the deblocking filtering operation according to an embodiment of the present invention.

도 5는 본 발명의 다른 실시예에 따른 파이프라인의 각 단계별 동작을 나타낸 도면.5 is a diagram illustrating each step operation of a pipeline according to another embodiment of the present invention.

<도면의 주요 부분에 대한 부호 설명>Description of the Related Art [0002]

100 : 비디오 코덱 부호화기 100: video codec encoder

110 : DCT(Discrete Cosine Transform)부110: DCT (Discrete Cosine Transform) part

120 : 양자화부 120: quantization unit

130 : 움직임 예측부130: the motion prediction unit

140 : 움직임 보상부140: motion compensation unit

150 : 엔트로피 부호화 및 복호화부150: entropy encoding and decoding unit

160 : 역양자화부160: inverse quantization unit

170 : 역 DCT부170: reverse DCT section

180 : 디블록킹 필터부180: deblocking filter unit

Claims (15)

디블록킹 필터링 연산 방법에 있어서,In the deblocking filtering operation method, 디블록킹 필터링할 입력 픽셀 데이터를 읽어오고, 필터링을 위해 필요한 인덱스 값을 생성하는 제1 단계;A first step of reading input pixel data to be deblocked filtered and generating an index value necessary for filtering; 상기 생성한 인덱스 값으로부터 임계값을 생성하며, 현재 필터링 대상인 에지에 대한 경계면 세기 계수를 읽어오는 제2 단계;Generating a threshold value from the generated index value, and reading a boundary strength coefficient for an edge currently being filtered; 상기 입력 픽셀 데이터와 임계값을 이용하여 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 제3 단계;Determining whether an edge is due to an error due to blocking artifacts using the input pixel data and a threshold value; 상기 경계면 세기 계수에 따라 보통 세기 필터링 또는 강한 세기 필터링 연산을 선택적으로 수행하는 제4 단계; 및 A fourth step of selectively performing a normal intensity filtering or a strong intensity filtering operation according to the interface intensity coefficient; And 상기 보통 세기 필터링 또는 강한 세기 필터링 연산 결과를 출력하는 제5 단계를 포함하는 디블록킹 필터링 연산 방법.And a fifth step of outputting the result of the normal intensity filtering or the strong intensity filtering operation. 제1항에 있어서,The method of claim 1, 상기 제4 단계는,The fourth step, 상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식으로부터 추출한 적어도 하나의 공통 인수를 연산하는 제4-1 단계;A step 4-1 of calculating at least one common factor extracted from a plurality of normal intensity filtering or strong intensity filtering equations using the input pixel data; 상기 연산된 적어도 하나의 공통 인수를 이용하여 보통 필터링 연산 또는 강한 세기 필터링 연산을 구성하는 덧셈 연산과 시프트 연산이 조합된 연산을 수행하 는 제4-2 단계;Performing a combination of an addition operation and a shift operation constituting a normal filtering operation or a strong intensity filtering operation using the calculated at least one common factor; 보통 세기 필터링 연산에 따른 클리핑(Cliping) 연산을 수행하는 제4-3 단계;Steps 4-3 to perform a clipping operation according to the normal intensity filtering operation; 상기 클리핑된 값을 픽셀 데이터와 덧셈 연산하는 제4-4 단계를 포함하되,And adding a fourth operation of adding the clipped value to pixel data. 상기 제5 단계는 상기 제4-4 단계의 결과를 클리핑 연산하는 단계를 포함하는 것을 특징으로 하는 디블록킹 필터링 연산 방법.And the fifth step includes clipping the result of steps 4-4. 제2항에 있어서,The method of claim 2, 상기 제 5단계의 클리핑 연산 시간은 상기 제4-3 단계의 클리핑 연산 시간보다 작은 것을 특징으로 하는 디블록킹 필터링 연산 방법.The clipping operation time of the fifth step is smaller than the clipping operation time of the fourth to third steps. 제2항에 있어서,The method of claim 2, 상기 적어도 하나의 공통 인수는,The at least one common factor is 2개의 연속된 덧셈기와 시프터기를 조합하여 연산될 수 있는 공통 인수인 것을 특징으로 하는 디블록킹 필터링 연산 방법.A deblocking filtering method, characterized in that it is a common factor that can be calculated by combining two successive adders and a shifter. 제2항에 있어서,The method of claim 2, 상기 각 단계의 결과는 단계별로 마련되는 파이프라인 레지스터에 저장되는 것을 특징으로 하는 디블록킹 필터링 연산 방법.And the result of each step is stored in a pipeline register provided in stages. 제5항에 있어서,The method of claim 5, 상기 파이프라인 레지스터는 보통 세기 필터링 연산 결과와 강한 세기 필터링 연산 결과를 선택적으로 저장하는 것을 특징으로 하는 디블록킹 연산 방법.And the pipeline register selectively stores the result of the normal strength filtering operation and the result of the strong intensity filtering operation. 제1항에 있어서,The method of claim 1, 상기 제4 단계는,The fourth step, 상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식으로부터 추출한 적어도 하나의 공통 인수를 연산하는 단계; 와Calculating at least one common factor extracted from a plurality of normal intensity filtering or strong intensity filtering equations using the input pixel data; Wow 상기 공통 인수와 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식을 수행하는 단계를 포함하는 것을 특징으로 하는 디블록킹 필터링 연산 방법.And performing a plurality of normal intensity filtering or strong intensity filtering equations using the common factor and the input pixel data. 디블록킹 필터링 연산 장치에 있어서,In the deblocking filtering operation device, 입력된 인덱스 값으로부터 임계값을 생성하는 임계값 생성부;A threshold generator for generating a threshold value from the input index value; 상기 생성된 임계값과 필터링할 입력 픽셀 데이터를 이용하여 현재 필터링 대상인 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 에지 판단부; An edge determination unit determining whether an edge to be filtered currently is due to an error due to blocking artifacts using the generated threshold value and input pixel data to be filtered; 입력되는 경계면 세기 계수에 따라 보통 세기 필터링 또는 강한 세기 필터링 연산을 선택적으로 수행하는 필터링 연산 수행부; 및 A filtering operation performing unit for selectively performing a normal intensity filtering or a strong intensity filtering operation according to an input boundary strength coefficient; And 상기 보통 세기 필터링 또는 강한 세기 필터링 연산 결과를 출력하는 출력부를 포함하는 디블록킹 필터링 연산 장치.And an output unit for outputting the result of the normal intensity filtering or the strong intensity filtering operation. 제8항에 있어서,The method of claim 8, 상기 필터링 연산 수행부는, The filtering operation execution unit, 상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 연산식과 강한 세기 필터링 연산식으로부터 추출한 공통 인수를 연산하는 다수의 제1 기본 연산 유닛;A plurality of first basic calculation units for calculating common factors extracted from the plurality of normal intensity filtering equations and the strong intensity filtering equation using the input pixel data; 상기 다수의 제1 기본 연산 유닛이 연산한 다수의 공통 인수를 이용하여 보통 필터링 연산 또는 강한 세기 필터링 연산을 수행하는 다수의 제2 기본 연산 유닛;A plurality of second basic calculation units for performing a normal filtering operation or a strong intensity filtering operation using a plurality of common factors calculated by the plurality of first basic calculation units; 보통 세기 필터링 연산에 따른 클리핑(Cliping) 연산을 수행하기 위한 다수의 제1 클리핑 연산 유닛; 및A plurality of first clipping operation units for performing a clipping operation according to a normal intensity filtering operation; And 상기 클리핑된 값을 임의의 셀에 대한 픽셀 데이터와 덧셈 연산하는 다수의 덧셈 연산기를 포함하며,A plurality of add operators that add the clipped values with pixel data for any cell; 상기 출력부는 상기 덧셈 연산기가 덧셈한 결과를 클리핑 연산하는 다수의 제2 클리핑 연산 유닛을 포함하는 것을 특징으로 하는 디블록킹 필터링 연산 장치.And the output unit includes a plurality of second clipping operation units which perform a clipping operation on the result added by the add operator. 제9항에 있어서,10. The method of claim 9, 상기 제1 기본 연산 유닛과 제2 기본 연산 유닛은,The first basic calculation unit and the second basic calculation unit, 2개의 연속된 덧셈기와 시프터기를 포함하여 구성되는 것을 특징으로 하는 디블록킹 필터링 연산 장치.A deblocking filtering computing device comprising two successive adders and a shifter. 제9항에 있어서,10. The method of claim 9, 상기 임계값 생성부, 에지 판단부, 제1 기본 연산 유닛, 제2 기본 연산 유닛, 제1 클리핑 연산 유닛, 다수의 덧셈 연산기 및 출력부는 파이프라인의 각 단계로서 동작하도록 구성되는 것을 특징으로 하는 디블록킹 필터링 연산 장치.The threshold value generator, the edge determination unit, the first basic operation unit, the second basic operation unit, the first clipping operation unit, the plurality of add operation units and the output unit are configured to operate as respective stages of the pipeline. Blocking filtering computing device. 제11항에 있어서,The method of claim 11, 상기 파이프라인의 각 단계별로 연산된 결과를 저장하기 위한 다수의 파이프라인 레지스터를 더 포함하는 것을 특징으로 하는 디블록킹 연산 장치.And a plurality of pipeline registers for storing the result calculated at each stage of the pipeline. 제12항에 있어서,The method of claim 12, 상기 파이프라인 레지스터는 보통 세기 필터링 연산 결과와 강한 세기 필터링 연산 결과를 선택적으로 저장하는 것을 특징으로 하는 디블록킹 연산 장치.And the pipeline register selectively stores the result of the normal strength filtering operation and the result of the strong intensity filtering operation. 제9항에 있어서,10. The method of claim 9, 상기 제1 기본 연산 유닛과 제2 기본 연산 유닛은,The first basic calculation unit and the second basic calculation unit, 두 개의 필터링 연산 중 하나의 필터링 연산을 선택적으로 수행할 수 있도록 입력되는 데이터를 제어하는 수단을 포함하는 것을 특징으로 하는 디블록킹 연산 장치.And means for controlling input data to selectively perform one filtering operation of two filtering operations. 제8항에 있어서,The method of claim 8, 상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 연산식과 강한 세기 필터링 연산식으로부터 추출한 공통 인수를 연산하는 다수의 제1 기본 연산 유닛; 과 A plurality of first basic calculation units for calculating common factors extracted from the plurality of normal intensity filtering equations and the strong intensity filtering equation using the input pixel data; and 상기 공통 인수와 입력 픽셀 데이터를 이용하여 보통 세기 필터링 또는 강한 세기 필터링 연산을 수행하는 다수의 제2 기본 연산 유닛을 포함하는 것을 특징으로 하는 디블록킹 필터링 연산 장치.And a plurality of second basic computing units for performing a normal intensity filtering or a strong intensity filtering operation using the common factor and the input pixel data.
KR1020090080452A 2009-08-28 2009-08-28 Deblocking Filtering Unit with a Reconfigurable Data-Path and Method Thereof KR101073150B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090080452A KR101073150B1 (en) 2009-08-28 2009-08-28 Deblocking Filtering Unit with a Reconfigurable Data-Path and Method Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090080452A KR101073150B1 (en) 2009-08-28 2009-08-28 Deblocking Filtering Unit with a Reconfigurable Data-Path and Method Thereof

Publications (2)

Publication Number Publication Date
KR20110022933A true KR20110022933A (en) 2011-03-08
KR101073150B1 KR101073150B1 (en) 2011-10-12

Family

ID=43931132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090080452A KR101073150B1 (en) 2009-08-28 2009-08-28 Deblocking Filtering Unit with a Reconfigurable Data-Path and Method Thereof

Country Status (1)

Country Link
KR (1) KR101073150B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519592A (en) * 2011-06-28 2019-11-29 索尼公司 Image processing apparatus and image processing method
KR102612588B1 (en) * 2023-05-15 2023-12-12 메티스엑스 주식회사 Programmable semiconductor device, electronic device including same, and method for performing operation by programmable semiconductor device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668346B1 (en) 2005-10-04 2007-01-12 삼성전자주식회사 Filtering apparatus and method for a multi-codec

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519592A (en) * 2011-06-28 2019-11-29 索尼公司 Image processing apparatus and image processing method
CN110602492A (en) * 2011-06-28 2019-12-20 索尼公司 Image processing apparatus, image processing method, and program
CN110611810A (en) * 2011-06-28 2019-12-24 索尼公司 Image processing apparatus, image processing method, and program
CN110611811A (en) * 2011-06-28 2019-12-24 索尼公司 Image processing apparatus, image processing method, and program
CN110611812A (en) * 2011-06-28 2019-12-24 索尼公司 Image processing apparatus, image processing method, and program
CN110611811B (en) * 2011-06-28 2021-07-06 索尼公司 Image processing apparatus, image processing method, and program
KR102612588B1 (en) * 2023-05-15 2023-12-12 메티스엑스 주식회사 Programmable semiconductor device, electronic device including same, and method for performing operation by programmable semiconductor device

Also Published As

Publication number Publication date
KR101073150B1 (en) 2011-10-12

Similar Documents

Publication Publication Date Title
US8537895B2 (en) Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
KR100988984B1 (en) Chroma deblocking filter
Sima et al. An efficient architecture for adaptive deblocking filter of H. 264/AVC video coding
US8369420B2 (en) Multimode filter for de-blocking and de-ringing
US20160100175A1 (en) Residual colour transform signalled at sequence level for specific coding modes
US20060115002A1 (en) Pipelined deblocking filter
WO2007049150A2 (en) Architecture for microprocessor-based systems including simd processing unit and associated systems and methods
JP2004518342A (en) Scalable video transcoding method and apparatus
CN107211161B (en) Video coding optimization of extended space including last stage processing
US20090010326A1 (en) Method and apparatus for parallel video decoding
JP2006157925A (en) Pipeline deblocking filter
KR101073150B1 (en) Deblocking Filtering Unit with a Reconfigurable Data-Path and Method Thereof
Srinivasan et al. An overview of VC-1
KR101051871B1 (en) Apparatus and method for determining boundary strength coefficient in deblocking filter
Chen et al. A memory efficient architecture for deblocking filter in H. 264 using vertical processing order
US7877430B2 (en) Method and apparatus for accelerating processing of adaptive finite impulse response filtering
KR20140014722A (en) Decoding apparatus for performing inverse quantiation \and inverse transform in h.264/avc decoder and decoding method using decoding apparatus
Wang et al. The optimization of H. 264/AVC baseline decoder on low-cost TriMedia DSP processor
KR101475286B1 (en) Method and apparatus for intra prediction, and apparatus for processing picture
KR101004825B1 (en) Pipielined deblocking filter using two filters simultaneously
Chen et al. An Efficient Architecture for Deblocking Filter in H. 264/AVC Video Coding.
KR101902933B1 (en) Apparatus for image coding/decoding and the method thereof
Chen et al. An efficient VLSI architecture for edge filtering in H. 264/AVC.
Chen et al. An efficient pipeline architecture for deblocking filter in H. 264/AVC
KR100993303B1 (en) Apprartus for deblocking fitering in moving picture compression system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee