KR101073150B1 - 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법 - Google Patents

공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법 Download PDF

Info

Publication number
KR101073150B1
KR101073150B1 KR1020090080452A KR20090080452A KR101073150B1 KR 101073150 B1 KR101073150 B1 KR 101073150B1 KR 1020090080452 A KR1020090080452 A KR 1020090080452A KR 20090080452 A KR20090080452 A KR 20090080452A KR 101073150 B1 KR101073150 B1 KR 101073150B1
Authority
KR
South Korea
Prior art keywords
filtering
normal
unit
pixel data
filtering operation
Prior art date
Application number
KR1020090080452A
Other languages
English (en)
Other versions
KR20110022933A (ko
Inventor
조준동
황진우
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020090080452A priority Critical patent/KR101073150B1/ko
Publication of KR20110022933A publication Critical patent/KR20110022933A/ko
Application granted granted Critical
Publication of KR101073150B1 publication Critical patent/KR101073150B1/ko

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 or 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

Landscapes

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

Abstract

본 발명은 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법에 관한 것으로, 입력된 인덱스 값으로부터 임계값을 생성하는 임계값 생성부, 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 에지 판단부, 보통 세기 필터링 또는 강한 세기 필터링 연산을 선택적으로 수행하는 파이프라인 구조의 필터링 연산 수행부 및 필터링 연산 결과를 출력하는 출력부를 포함하는 디블록킹 필터링 연산 장치 및 그 방법을 제공함으로써 필터링 연산부가 차지하는 면적이 작고 저전력으로 동작하는 디블록킹 필터의 구현이 가능하게 된다.
H.264, 디블록킹 필터, 기본 연산 유닛, 파이프라인 구조

Description

공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법{Deblocking Filtering Unit with a Reconfigurable Data-Path and Method Thereof}
본 발명은 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법에 관한 것으로, 특히 보통 세기 필터링을 수행하는 데이터 패스와 강한 세기 필터링을 수행하는 데이터 패스를 통합한 구성을 가지는 디블록킹 필터링 연산 장치 및 그 방법에 관한 것이다.
세계 표준화 기구(ISO) 산하의 MPEG(Motion Picture Experts Group)에서 표준화한 비디오 압축 코덱인 MPEG-2, MPEG-4와 국제전기통신 연합(ITU-T) 산하의 VCEG(Video Coding Experts Group)에서 표준화한 H.263, H.264와 같은 비디오 압축 코덱은 일정한 크기의 블록을 기본 단위로 하여 부호화 과정과 복호화 과정을 수행한다. 블록 기반의 비디오 압축 코덱에는 영상의 주관적 화질과 객관적 화질을 저하시키는 블록킹 아티팩트(Blocking Artifact) 현상이 발생하며 이를 제거하기 위해서는 디블록킹 필터가 인-루프 또는 포스트 방식으로 이용된다.
H.264/AVC 코덱에서는 16×16 크기를 갖는 블록을 영상 부호화, 복호화의 기 본 단위로 하며 이를 매크로블록이라고 한다. 매크로블록 단위의 비디오 코덱 부호화 과정을 설명하기로 한다.
도 1은 일반적인 매크로블록 단위의 비디오 코덱 부호화기의 블록 구성을 나타낸 도면이다.
비디오 코덱 부호화기(100)는 DCT(Discrete Cosine Transform)부(110), 양자화부(120), 움직임 예측부(130), 움직임 보상부(140), 엔트로피 부호화 및 복호화부(150), 역양자화부(160), 역 DCT부(170) 및 디블록킹 필터(180)를 포함하여 구성될 수 있다.
먼저 비디오 코덱 부호화기(100)는 부호화를 하고자 하는 원본 영상 프레임의 매크로 블록에 인트라 혹은 인터 예측을 통해 참조 영상 프레임 중에 상기 매크로 블록과 가장 차이가 적은 부분을 탐색한다. 이후 가장 유사한 부분과의 차(Residual)를 구하며, DCT부(110)는 이 차이값을 입력으로 하여 이산 코사인 변환(Discrete Cosine Transform)을 수행하며, 양자화부(120)는 이산 코사인 변환 결과에 대해 양자화 과정을 수행한다.
엔트로피 부호화 및 복호화부(150)는 양자화 과정 수행 결과 값에 대해 엔트로피 부호화를 수행하고 최종적으로 압축된 H.264/AVC 비트스트림(Bitstream)을 생성한다.
한편, 비디오 코덱 부호화기(100)는 그 다음 압축 수행과정에서 필요하게 될 참조 영상 프레임을 생성하기 위해서 복호화 과정과 동일한 절차로 복원 과정을 수 행한다.
즉, 엔트로피 부호화 및 복호화부(150)는 압축된 H.264/AVC 비트스트림을 엔트로피 복호화 과정을 수행하며, 역양자화부(160)는 이를 역양자화한다. 그 결과에 대해 역 DCT부(170)는 역이산 코사인 변환을 수행하여 차이값(Residual) 정보를 복원하는 것이다. 이와 같이 복원된 차이값 정보는 인트라 혹은 인터 움직임 보상을 거친 매크로 블록과 합해져서 복호화된다.
이와 같이 복호화된 영상 프레임은 매크로블록 혹은 세부 분할된 매크로블록 경계에 원래의 영상에는 존재하지 않는 격자 형태의 경계 오차를 표현하게 된다. 상기 오차는 블록 단위로 이산 코사인 변환을 수행함으로 인해서 블록 경계 픽셀에 상대적으로 부정확한 이상 코사인 변환이 수행되는 현상, 양자화 과정을 통해 손실 압축이 수행되고 역양자화 과정에서 원 영상과는 다른 값으로 복원되는 현상, 블록 단위의 움직임 예측으로 인한 현상으로 인하여 발생한다.
이러한 블록킹 아티팩트는 주관적 화질 저하의 원인으로 복원 품질을 향상시키기 위해서 현대의 비디오 압축 코덱들은 디블록킹 필터(180)의 사용을 권고하고 있다. 특히 H.264/AVC에서는 디블록킹 필터가 영상의 부호화, 영상의 복호화 루프안에 위치하여 반드시 수행되도록 표준으로 포함시키고 있다.
H.264/AVC의 디블록킹 필터(180)는 원본 영상에 존재하고 있던 에지와 블록킹 아티팩트로 인하여 발생하는 에지를 구별하여, 실제 원본 영상에 존재하고 있던 에지에 대해서는 디블록킹을 수행하지 않도록 설계되어 있다.
H.264/AVC 비디오 압축 코덱은 기존의 MPEG-2, H.263과 같은 코덱에 비하여 높은 압축률을 보이면서도 주관적, 객관적인 화질 향상을 위하여 여러 기술을 표준안에 도입하였다. 그 중 하나가 인-루프 디블록킹 필터로 비디오 압축 부호화, 복호화 과정에서 생성되는 코딩 조건들에 따라 경계면 세기를 판단하고, 그 경계면 세기에 따라 보통 세기의 필터, 강한 세기의 필터를 각각 적용하고 있다.
뿐만 아니라, H.264/AVC 디블록킹 필터는 촬영된 원본 영상 프레임에 나타나는 영상의 실제 에지들과 블록 단위의 부호화, 복호화 과정으로 인하여 발생되는 블로킹 아티팩트를 구분하여 적응적으로 디블록킹 필터링을 수행하도록 구현된다.
이 경우 블록 에지를 기준으로 인접한 블록의 픽셀 데이터 분포 특성을 분석하여 보통 세기의 필터, 강한 세기의 필터 각각에서도 여러 종류의 필터 수식이 이루어지고 있다. 이와 같이 H.264/AVC 디블록킹 필터는 적응성이 높아 실제 구현시 복잡도와 많은 연산량을 고려하여야만 한다.
HD-TV와 같은 고해상도 영상처리를 위한 고성능 디블록킹 필터 구현 방법으로서 기존에는 다양한 종류의 필터 수식과 연산 과정을 하드웨어로 병렬적으로 처리한 후 디블록킹 필터링을 수행하는 에지의 경계면 세기 계수에 따라 적절한 출력을 선택하는 방식을 사용하였다. 그러나 이러한 방식은 요구되는 하드웨어 면적과 전력 소모가 커지는 단점이 존재한다.
또한 다른 기존의 방식으로 생성된 경계면 세기 계수에 따라 보통 세기의 필터, 강한 세기의 필터 연산부 중 하나에 게이트 클럭 방법을 적용하여 저전력화하는 방법이 있으나 이 경우에도 보통 세기의 필터, 강한 세기의 필터와 상기 필터의 여러 변형 모드에 대하여 모든 연산 로직을 하드웨어로 구현하여야 하므로 복잡하 다는 단점이 있다.
따라서 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것으로, 보통 세기 필터링을 수행하는 데이터 패스와 강한 세기 필터링을 수행하는 데이터 패스를 통합 구현한 파이프라인 구조의 디블록킹 필터의 제공을 그 목적으로 한다.
본 발명의 일 측면에 따른 디블록킹 필터링 연산 방법은 디블록킹 필터링할 입력 픽셀 데이터를 읽어오고, 필터링을 위해 필요한 인덱스 값을 생성하는 제1 단계; 상기 생성한 인덱스 값으로부터 임계값을 생성하며, 현재 필터링 대상인 에지에 대한 경계면 세기 계수를 읽어오는 제2 단계; 상기 입력 픽셀 데이터와 임계값을 이용하여 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 제3 단계; 상기 경계면 세기 계수에 따라 보통 세기 필터링 또는 강한 세기 필터링 연산을 선택적으로 수행하는 제4 단계; 및 상기 보통 세기 필터링 또는 강한 세기 필터링 연산 결과를 출력하는 제5 단계를 포함한다.
상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식으로부터 추출한 적어도 하나의 공통 인수를 연산하는 제4-1 단계; 상기 연산된 적어도 하나의 공통 인수를 이용하여 보통 필터링 연산 또는 강한 세기 필터링 연산을 구성하는 덧셈 연산과 시프트 연산이 조합된 연산을 수행하는 제4-2 단계; 보통 세기 필터링 연산에 따른 클리핑(Cliping) 연산을 수행하는 제4-3 단계; 상기 클리핑된 값을 픽셀 데이터와 덧셈 연산하는 제4-4 단계를 포함하되, 상기 제5 단계는 상기 제4-4 단계의 결과를 클리핑 연산하는 단계를 포함하는 것을 특징으로 할 수 있다.
상기 제 5단계의 클리핑 연산 시간은 상기 제4-3 단계의 클리핑 연산 시간보다 작은 것을 특징으로 할 수 있다.
상기 적어도 하나의 공통 인수는, 2개의 연속된 덧셈기와 시프터기를 조합하여 연산될 수 있는 공통 인수인 것을 특징으로 할 수 있다.
상기 각 단계의 결과는 단계별로 마련되는 파이프라인 레지스터에 저장되는 것을 특징으로 할 수 있다.
상기 파이프라인 레지스터는 보통 세기 필터링 연산 결과와 강한 세기 필터링 연산 결과를 선택적으로 저장하는 것을 특징으로 할 수 있다.
상기 제4 단계는, 상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식으로부터 추출한 적어도 하나의 공통 인수를 연산하는 단계; 와 상기 공통 인수와 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 또는 강한 세기 필터링 연산식을 수행하는 단계를 포함하는 것을 특징으로 할 수 있다.
본 발명의 다른 측면에 따른 디블록킹 필터링 연산 장치는 입력된 인덱스 값으로부터 임계값을 생성하는 임계값 생성부; 상기 생성된 임계값과 필터링할 입력 픽셀 데이터를 이용하여 현재 필터링 대상인 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 에지 판단부; 및 입력되는 경계면 세기 계수에 따라 보통 세기 필터링 또는 강한 세기 필터링 연산을 선택적으로 수행하는 필터링 연산 수행부; 및 상기 보통 세기 필터링 또는 강한 세기 필터링 연산 결과를 출력하는 출력부를 포함한다.
상기 필터링 연산 수행부는, 상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 연산식과 강한 세기 필터링 연산식으로부터 추출한 공통 인수를 연산하는 다수의 제1 기본 연산 유닛; 상기 다수의 제1 기본 연산 유닛이 연산한 다수의 공통 인수를 이용하여 보통 필터링 연산 또는 강한 세기 필터링 연산을 수행하는 다수의 제2 기본 연산 유닛; 보통 세기 필터링 연산에 따른 클리핑(Cliping) 연산을 수행하기 위한 다수의 제1 클리핑 연산 유닛; 및 상기 클리핑된 값을 임의의 셀에 대한 픽셀 데이터와 덧셈 연산하는 다수의 덧셈 연산기를 포함하며, 상기 출력부는 상기 덧셈 연산기가 덧셈한 결과를 클리핑 연산하는 다수의 제2 클리핑 연산 유닛을 포함하는 것을 특징으로 할 수 있다.
상기 제1 기본 연산 유닛과 제2 기본 연산 유닛은, 2개의 연속된 덧셈기와 시프터기를 포함하여 구성되는 것을 특징으로 할 수 있다.
상기 임계값 생성부, 에지 판단부, 제1 기본 연산 유닛, 제2 기본 연산 유닛, 제1 클리핑 연산 유닛, 다수의 덧셈 연산기 및 출력부는 파이프라인의 각 단계로서 동작하도록 구성되는 것을 특징으로 할 수 있다.
상기 파이프라인의 각 단계별로 연산된 결과를 저장하기 위한 다수의 파이프라인 레지스터를 더 포함할 수 있다. 상기 파이프라인 레지스터는 보통 세기 필터링 연산 결과와 강한 세기 필터링 연산 결과를 선택적으로 저장할 수 있다.
상기 제1 기본 연산 유닛과 제2 기본 연산 유닛은, 두 개의 필터링 연산 중 하나의 필터링 연산을 선택적으로 수행할 수 있도록 입력되는 데이터를 제어하는 수단을 포함하는 것을 특징으로 할 수 있다.
상기 입력 픽셀 데이터를 이용하여 다수의 보통 세기 필터링 연산식과 강한 세기 필터링 연산식으로부터 추출한 공통 인수를 연산하는 다수의 제1 기본 연산 유닛; 과 상기 공통 인수와 입력 픽셀 데이터를 이용하여 보통 세기 필터링 또는 강한 세기 필터링 연산을 수행하는 다수의 제2 기본 연산 유닛을 포함하는 것을 특징으로 할 수 있다.
상기한 바와 같이 본 발명에 따른 공통 데이터 패스 구조를 포함하는 디블록킹 필터는 통합된 하나의 데이터 패스를 이용하므로 차지하는 면적이 작고 저전력으로 동작하는 디블록킹 필터를 제공할 수 있다.
본 발명에 따른 디블록킹 필터를 이용하여 블로킹 아티팩트 현상을 제거하여 압축 손실 없이도 영상의 화질을 향상시킬 수 있으며, 이 경우 상당한 양의 연산량과 전력을 소모하지도 않으므로 모바일 기기에 특히 유리하다.
이하, 본 발명에 따른 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법에 대하여 첨부된 도면을 참조하여 상세히 설명한다.
또한, H.264/AVC 디블록킹 필터는 4×4 블록들 사이의 에지를 기준으로 하여 에지 양측에 존재하는 최대 8개의 픽셀 데이터를 입력받는다. 코딩 조건에 대해 이들 중 최대 6개의 픽셀 데이터를 변형하게 되는데, 코딩 조건(예를 들어, 경계면 세기)에 따라 필터링 세기가 결정되므로 디블록킹 필터는 높은 적응성을 가진다.
코딩 조건과 관련하여 디블록킹 필터는 경계면 세기 계수를 이용할 수 있다. 먼저, 경계면 세기 계수가 0인 경우 디블록킹 필터는 적용되지 않는다. 또한, 경계면 세기 계수가 0 내지 3인 경우 보통 세기의 필터링이 수행되며, 경계면 세기 계수가 4인 경우 강한 세기의 필터링이 수행된다.
다른 코딩 조건으로, 디블록킹 필터는 한 라인으로 구성된 8개의 입력 픽셀 데이터를 임계값과 비교하여 원본 영상에 표현되는 실제 에지인지 아닌지의 여부를 판단한다. 이러한 원본 영상의 픽셀 데이터 값의 분포 특성을 파악하여 디블록킹 필터는 필터링 모드를 결정하기도 한다.
이러한 코딩 조건 별 필터링 연산을 위해 디블록킹 필터는 보통 세기의 필터 연산 로직, 강한 세기의 필터 연산 로직, 필터의 여러 변형 모드에 대한 연산 로직을 모두 포함한다. 이 경우 다양한 종류의 필터 수식을 공통된 데이터 패스와 입출력 시그널 먹스(MUX)를 가지는 구조로 변환할 수 있다면 디블록킹 필터의 크기를 상당히 줄일 수 있으며, 동시에 전력 소모의 증가 문제도 해결할 수 있게 된다.
특히, 본 발명에서는 경계면 세기(Boundary Strength)가 0~3의 값을 가질 때 적용되는 보통 세기의 필터와 경계면 세기가 4의 값을 가질 때 적용되는 강한 세기의 필터의 실행 조건이 상호 배타적(Mutually Exclusive)한 특성을 이용한다. 여기서, 상호 배타적 특성은 하나의 픽셀 라인 데이터에 대하여 보통 세기 필터링과 강 한 세기의 필터링이 동시에 수행되지 않는 특성을 의미한다. 이러한 특징을 이용하여 보통 세기의 필터와 강한 세기의 필터를 병합하여 동일한 연산부로 처리할 수 있다.
그러나 보통 세기의 필터와 강한 세기의 필터는 수식 특성이 확연히 다른 관계로 공통된 데이터 패스를 설정하는 것은 용이하지 않다. 구체적으로 살펴보면 강한 세기의 필터는 가산기와 시프트 레지스터만으로 구성되는 반면 보통 세기의 필터는 감산기로 주로 구성되며 강한 세기의 필터에는 존재하지 않는 클리핑(Clipping) 로직도 포함된다.
이 경우 가산기와 감산기를 동시에 수행할 수 있는 산술 논리 연산기(ALU : Arithmatic Logic Unit)를 이용할 수도 있다. 그러나 이러한 산술 논리 연산기는 그 구조가 복잡하고 면적도 크며 소비하는 전력도 크기 때문에 본 발명이 해결하고자 하는 소형화, 저전력화 목적을 이룰 수 없다.
이하, 본 발명에서 공통된 데이터 패스를 이용하여 보통 세기의 필터링과 강한 세기의 필터링을 수행하기 위한 방법에 대하여 살펴본다. 먼저, 설명의 편의를 위해 에지 필터링을 수행할 블록에 대하여 정의하기로 한다.
도 2는 본 발명에 따른 에지 필터링을 수행할 블록을 나타낸 도면이다.
도 2의 (A)에는 수직 에지를 기준으로 좌측 블록들이 P 블록이며, 우측 블록이 Q 블록임을 알 수 있다. 에지를 기준으로 하여 좌측으로 P 블록에 해당하는 픽셀 데이터는 각각 p0 내지 p3로, Q 블록에 해당하는 픽셀 데이터는 각각 q0 내지 q3로 나타내기로 한다.
도 2의 (B)에는 수평 에지를 기준으로 상측 블록들이 P 블록이며, 하측 블록이 Q 블록임을 알 수 있다. 에지를 기준으로 상측으로 P 블록에 해당하는 픽셀 데이터는 각각 p0 내지 p3로, Q 블록에 해당하는 픽셀 데이터는 각각 q0 내지 q3로 나타내기로 한다.
H.264/AVC 표준안에 따라 P 블록과 Q 블록의 필터링이 수행되기 위해서는 아래 수학식 1의 조건이 만족되어야 한다. 아래 수학식에서 α와 β는 기설정된 임계값이다. 여기서 ABS 함수는 절대값 연산을 의미한다.
BS != 0 && (p0 - q0) < α && ABS(p1 - p0) < β && ABS(q1 - q0) < β
수학식 1의 조건을 만족하고 경계면 세기 계수가 0 내지 3의 값을 가질 경우에는 보통 세기의 필터링이 적용된다. 보통 세기의 필터링을 수행하기 위한 H.264/AVC 표준안의 연산식은 아래 수학식 2와 같다.
Δ = Clip3( -tc, tc, ( ( (q0 - p0) << 2) + (p1 - q1) + 4 ) >> 3 ))
p`0 = Clip1 ( p0 + Δ)
q`0 = Clip1 ( q0 - Δ)
여기서 클리핑 계수 tc는 루마 4×4 블록 간 에지를 필터링하는 경우와 크로마 4×4 블록 간 에지를 필터링하는 경우에 따라 다르게 구해지는데, 클리핑 계수 tc는 아래 수학식 3과 같이 구할 수 있다.
i) 루마 4×4 블록 사이의 에지를 디블록킹 필터링하는 경우,
tc = tc0 + ((ap < β) ? 1 : 0) + ((aq < β) ? 1 : 0)
ii) 크로마 4×4 블록 사이의 에지를 디블록킹 필터링하는 경우,
tc = tc0 + 1
즉, 보통 세기의 필터링에서는 P0와 Q0에 대한 필터링 연산을 수학식 2와 3을 이용하여 수행할 수 있다.
한편, 루마 4×4 블록에 대한 보통 세기의 필터링에서 P1과 Q1에 대하여도 선택적으로 필터링 연산이 수행될 수 있다. 이 경우 P1과 Q1에 대한 보통 세기의 필터링을 위한 연산식은 아래 수학식 4와 5와 같다.
i) ABS (p2 - p0) < β인 조건을 만족하는 경우,
p`1 = p1 + Clip3( -tc0, tc0, (p2 + ((p0 + q0 + 1 ) >> 1) - (p1 << 1 )) >> 1)
ii) i)의 조건을 만족하지 않는 경우,
p`1 = p1
i) ABS(q2 - q0) < β의 조건을 만족하는 경우에는
q1` = q1 + Clip3 (-tc0, tc0, (q2 + ((p0 + q0 + 1) >> 1 ) - (q1 << 1)) >> 1)
ii) i)의 조건을 만족하지 않는 경우
q'1 = q1
즉, P1과 Q1에 대한 보통 세기의 필터링은 ABS (p2 - p0) < β 조건 또는 ABS(q2 - q0) < β 조건의 만족 여부에 따라 선택적으로 수행됨을 알 수 있다.
한편, 경계면 세기 계수(BS)가 4일 경우 강한 필터링이 적용되는데, 이러한 강한 필터링을 수행하기 위한 H.264/AVC 표준안의 수식은 다음과 같다. 보통 세기의 필터링과 달리 강한 필터링에서는 최대 6개의 픽셀 데이터에 대하여 연산이 수행된다.
아래 수학식 6은 루마 4×4 블록 사이의 에지를 기준으로 한 P0 내지 P2 블록에 대한 강한 필터링 연산식이다.
i) ABS( p2 - p0 ) < β && ABS( p0 - q0 ) < ( ( α >> 2 ) + 2 )인 경우,
p'0 = ( p2 + 2*p1 + 2*p0 + 2*q0 + q1 + 4 ) >> 3
p'1 = ( p2 + p1 + p0 + q0 + 2 ) >> 2
p'2 = ( 2*p3 + 3*p2 + p1 + p0 + q0 + 4 ) >> 3
ii) i)의 조건을 만족하지 않는 경우,
p'0 = ( 2*p1 + p0 + q1 + 2 ) >> 2
p'1 = p1
p'2 = p2
아래 수학식 7은 루마 4×4 블록 사이의 에지를 기준으로 한 Q0 내지 Q2 블록에 대한 강한 필터링 연산식이다.
i) ABS( q2 - q0 ) < β && ABS( p0 - q0 ) < ( ( α >> 2 ) + 2 )인 경우,
q'0 = ( p1 + 2*p0 + 2*q0 + 2*q1 + q2 + 4 ) >> 3
q'1 = ( p0 + q0 + q1 + q2 + 2 ) >> 2
q'2 = ( 2*q3 + 3*q2 + q1 + q0 + p0 + 4 ) >> 3의 수식을 적용하고,
ii) i)의 조건을 만족하지 않는 경우,
q'0 = ( 2*q1 + q0 + p1 + 2 ) >> 2
q'1 = q1
q'2 = q2
이상에서, H.264/AVC 표준안에 정의된 조건 별 디블록킹 필터링 방법에 대하여 살펴보았다. 본 발명에서는 위의 연산식을 재배열하게 된다. 이하에서 재배열한 수식을 살펴보겠다. 아래 수식들은 위에서 설명한 표준안 필터링 연산식을 재배열한 결과이므로, 동일한 필터링 조건과 입력 픽셀 데이터가 주어지면 표준안의 경우와 동일한 출력을 나타낸다. 또한 표준안의 수식을 재배열하는 방법은 다양한 변형이 있을 수 있으므로, 본 발명은 아래에서 기재되는 수학식에 한정되지 않음을 알려둔다.
경계면 세기 계수가 0 내지 3 사이의 값을 가질 경우에 적용되는 보통 세기 필터링과 관련된 수학식 4, 5를 재배열하면 아래 수학식과 같다.
i) ABS( p2 - p0 ) < β를 만족하는 경우,
p'1 = p1 + Clip3( tC0, tC0, ( p2 ( p1 << 1 ) + ( ( p0 + q0 + 1 ) >> 1 ) ) >> 1 )
ii) i)의 조건을 만족하지 못한 경우,
p`1 = p1
i) ABS( q2 - q0 ) < β를 만족하는 경우,
q'1 = q1 + Clip3( tC0, tC0, ( q2 ( q1 << 1 ) + ( ( p0 + q0 + 1 ) >> 1 ) ) >> 1 )
ii) i)의 조건을 만족하지 못한 경우,
q`1 = q1
보통 세기 필터링을 위하여 필요한 수학식 2, 8, 9에서 공통으로 포함되는 인수, 즉 공통 인수를 아래 수학식 10과 같이 새로운 변수로 정의한다. 이와 같이 정의된 변수는 도 3의 기본 연산 유닛을 통해 계산된다.
((q0 - p0) << 2) = N_M0,
(p1 - q1) = N_M1,
(p2 - ( p1 << 1 )) = N_L,
(q2 - ( q1 << 1 )) = N_R,
(( p0 + q0 + 1 ) >> 1) = N_SUM
한편, 경계면 세기 계수(BS)가 4일 경우 적용되는 강한 필터의 연산을 위한 수식은 다음과 같이 재배열을 하여야 공통의 항들을 추출할 수 있다. 수학식 6에 대해 공통의 인수를 추출하기 위하여 재배열한 식은 아래 수학식과 같다.
i) ABS( p2 - p0 ) < β && ABS( p0 - q0 ) < ( ( α >> 2 ) + 2 )인 경우,
p'0 = (2 * (p0 + q0) + (p2 + p1 + 2) + (p1 + q1 + 2)) >> 3
p'1 = ((p0 + q0) + (p2 + p1 + 2)) >> 2
p'2 = ((p0 + q0) + (p2 + p1 + 2) + 2 * (p3 + p2 + 1)) >> 3
ii) i)의 조건을 만족하지 않는 경우,
p'0 = ((p1 + p0) + (p1 + q1 + 2)) >> 2
p'1 = p1
p'2 = p2
수학식 11은 공통의 인수가 존재하지 않았던 수학식 6을 재배열한 것이며, 그 결과 p0 + q0 또는 p2 + p1 + 2 등과 같은 공통 인수들이 존재함을 알 수 있다. 마찬가지로, 수학식 7에 대해 공통의 인수를 추출하기 위하여 재배열한 식은 아래와 같다.
i) ABS( q2 - q0 ) < β && ABS( p0 - q0 ) < ( ( α >> 2 ) + 2 )인 경우,
q'0 = (2 * (p0 + q0) + (q2 + q1 + 2) + (p1 + q1 + 2)) >> 3
q'1 = ((p0 + q0) + (q2 + q1 + 2)) >> 2
q'2 = ((p0 + q0) + (q2 + q1 + 2) + 2 * (q3 + q2 + 1)) >> 3
ii) i)의 조건을 만족하지 않는 경우,
q'0 = ((q1 + q0) + (p1 + q1 + 2)) >> 2
q'1 = q1
q'2 = q2
마찬가지로, 수학식 12에서도 p0 + q0, q2 + q1 +2와 같은 공통 인수가 존재함을 알 수 있다.
여기서, 강한 세기 필터링을 수행하기 위한 수학식 11, 12들에 포함되어 있는 공통 인수를 아래 수학식 13과 같이 새로운 변수로 정의한다. 이들 공통 인수는 수학식 10과 마찬가지로 도 3의 기본 연산 유닛에 의하여 구해질 수 있다.
(p0 + q0) = S_M0,
(p1 + q1 + 2) = S_M1+2,
(p2 + p1 + 2) = S_L+2,
(q1 + q2 + 2) = S_R+2,
2 * (p3 + p2 + 1) = S_2L+2,
2 * (q3 + q2 + 1) = S_2R+2
여기서 공통 인수를 정의한 수학식 10과 수학식 13은 최대 2번의 덧셈 연산과 시프트 연산으로 구현될 수 있음을 알 수 있다. 수학식 13에서는 피연산자가 최대 3개인 덧셈 연산과 2와의 곱셈 연산(시프트 연산)을 포함한다.
수학식 10에서는 뺄셈 연산을 살펴볼 수 있다. 그러나 뺄셈 연산은 2의 보수를 이용하여 감산을 수행할 수 있다. 즉, 감산하고자 하는 이진수를 비트별로 반전 시킨 후 1을 더하여 2의 보수를 구하고, 이를 다른 피연산자와 더하여 감산 연산을 수행할 수 있다. 이를 고려하면 수학식 10 또한 2개의 연속된 덧셈 연산과 시프트 연산을 통해 표현할 수 있는 것이다.
이러한 규칙성을 통하여 감산기를 사용하는 보통 세기의 필터와 가산기로만 구성된 강한 세기의 필터가 수식 연산 과정에서 데이터 패스를 최대한 공유할 수 있으며 파이프라인 구조로 구현하는 경우의 효율성도 높아진다. 또한, 연산 결과값이 여러 수식들에서 공통된 중간 연산 값으로 사용될 수 있도록 고안되어 있으므로, 수식들을 각각 전부 계산할 때보다 연산량이 감소한다.
도 3과 도 4는 본 발명의 일 실시예에 따른 디블록킹 필터링 연산을 위한 기본 연산 유닛의 구성을 나타낸 도면이다.
도 3을 참조하면, 기본 연산 유닛은 파이프라인 레지스터와 2개의 연속된 가산기, 다수의 시프터기, 다수의 먹스 등을 포함하고 있다. 기본 연산 유닛은 입력 파이프라인 레지스터에 저장된 데이터를 입력받아 덧셈과 시프트 연산을 수행한 후 그 결과를 출력 파이프라인 레지스터로 출력한다.
이 때 입력 파이프라인 레지스터로부터 라인 픽셀 데이터(p0 ~ p3, q0 ~ q3)가 기본 연산 유닛으로 적절히 입력하면 수학식 10 또는 13 등에 기재한 공통 인수들을 연산할 수 있다.
뿐만 아니라, 파이프라인 레지스터에 임시 저장된 공통 인수가 기본 연산 유닛으로 적절히 입력되는 경우에는 수학식 2, 8, 9, 10, 11을 연산할 수도 있게 된 다.
특히, 도 3의 기본 연산 유닛은 보통 세기 필터링과 강한 세기 필터링의 상호 배타적 특성을 이용하는 것을 또 다른 특징으로 한다. 즉, 기본 연산 유닛은 동시에 보통 세기 필터링 수식(수학식 8, 9) 중 하나, 강한 세기 필터링 수식(수학식 0, 11) 중 하나를 선택적으로 연산할 수 있는 것이다. 입출력 먹스를 통하여 기본 연산 유닛으로 입력되는 신호를 제어함으로써 보통 세기의 필터링 연산 또는 강한 세기의 필터링 연산 중 하나가 선택적으로 수행될 수 있다.
예를 들어, 도 4의 우측에 기재된 박스에서 밑줄이 표시된 글씨는 강한 세기의 필터링 연산을 의미하며, 진하고 이탤릭체의 글씨는 보통 세기의 필터링 연산을 의미한다. 도 4의 기본 연산 유닛은 ① 강한 세기의 필터링 연산 중 수학식 10의 q`2 연산과 ② 보통 세기의 필터링 연산 중 수학식 9의 i) 조건 중 ( q2 ( q1 << 1 ) + ( ( p0 + q0 + 1 ) >> 1 ) 부분을 선택적으로 연산할 수 있다.
먼저, ① 강한 세기의 필터링 연산과 관련하여 기본 연산 유닛은 파이프라인 레지스터로부터 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 연산 결과와 동일하다.
②의 보통 세기 필터링 연산도 N_SUM_2이 시프터기로, N_L과 0 신호가 제1 가산기로 입력된다. 시프터기와 제1 가산기의 출력은 마찬가지로 제2 가산기로 입력된다. 이러한 기본 연산 유닛의 연산 결과는 수학식 9의 i) 조건 중 일부인 ( q2 ( q1 << 1 ) + ( ( p0 + q0 + 1 ) >> 1 )임을 알 수 있다.
결론적으로, 도 3에 도시된 하나의 기본 연산 유닛은 보통 세기의 필터에 해당하는 항과 강한 세기의 필터에 해당하는 항이 하나씩 선택되어 총 2개의 연산을 수행할 수 있다. 뿐만 아니라, 도 3에 도시된 하나의 기본 연산 유닛은 강한 세기의 필터 연산식 중에서 동시에 수행되지 않는 2개의 연산식들을 수행할 수 있도록 구현될 수도 있다.
또한, 다수의 기본 연산 유닛 입력과 출력 시그널들은 각 단계의 파이프라인 레지스터로 연결되어 파이프라인으로 구성되는 것이 바람직하다. 디블록킹 필터에서는 에지의 경계면 계수에 따라 각각 보통 세기의 필터, 강한 세기의 필터에 해당하는 연산 과정은 다른 파이프라인 단계들과 독립적으로 수행될 수 있다. 따라서, 파이프라인 단계의 일부에서, 보통 세기의 필터, 다른 일부는 강한 세기의 필터 연산을 수행하며 파이프라인 구조로 해당 필터 연산을 수행하는 것이 가능하다.
도 5는 본 발명의 다른 실시예에 따른 파이프라인의 각 단계별 동작을 나타낸 도면이다.
도 5의 MR(Memory Read) 단계에서는 디블록킹 필터링할 입력 픽셀 데이터를 읽어오고 필터링을 위해 필요한 인덱스 값인 α와 β를 생성한다.
그 후 PRE 단계에서는 MR 단계에서 생성한 인덱스 값을 이용해 α,β 임계 값을 생성하는 한편, 현재 필터링할 에지에 대한 경계면 세기 계수를 읽어들인다.
ZERO 단계에서는 영상의 에지가 원본 영상의 실제 에지인지 디블록킹 처리를 해야하는 에지인지 판단한다. 구체적으로, ZERO 단계에서는 입력 픽셀 라인 데이터인 P0, P1, P2, Q0, Q1, Q2를 입력받는다. 이를 통하여 각각 |p0 - q0|, |p1 - p0|, |q1 - q0|, |p2 - p0|, |q2 - q0| 들을 연산하고, 이들을 소정의 임계값들과 비교한다.
ONE, TWO, THREE, FOUR, WB(Write Back) 단계에서는 기본 연산 유닛들이 배치되어 보통 세기 필터를 적용할지 강한 세기 필터를 적용할지의 여부에 따라 동일한 데이터 패스의 입출력을 먹스(MUX)로 조절하며 디블록킹 필터링 연산을 수행하게 된다.
이 중 ONE 단계에서는, p0 내지 p3, q0 내지 q3의 픽셀 데이터를 입력받아 수학식 10과 수학식 13에서 정의해 둔 공통 인수들을 연산한다. 특히 도 5의 1 단계에 도시된 기본 연산 유닛은 밑줄이 표시된 글씨 또는 진하고 이탤릭체의 글씨로 표현되는 신호를 입력받는데, 이는 각각 강한 세기 필터링 시 입력되는 신호와 보통 세기 필터링 시 입력되는 신호임은 위에서 살펴보았다.
그 후 TWO 단계에서는, ONE 단계에서 획득한 공통 인수들을 이용하여, 수학식 2, 8, 9, 10, 11 등에 포함된 수학식을 연산하게 된다. 이 때 보통 세기 필터링은 클리핑 연산 등이 포함되어 있으므로 TWO 단계에서 모두 이루어지지 않는다.
즉, THREE 단계에서는 보통 세기 필터의 클리핑 연산이 수행된다. THREE 단 계에서 수행되는 클리핑 연산은 수학식 2의 Δ를 구하는 과정이다. 또한, FOUR 단계에서 수행되는 연산은 수학식 2에 속한 p0 + Δ와 q0 - Δ 연산이다.
이 때 WB(Write Back) 단계에서도 보통 세기 필터의 클리핑 연산, 즉 수학식 2의 p`0 = Clip1 ( p0 + Δ) 또는 q`0 = Clip1 ( q0 - Δ) 연산이 수행된다. 다만, WB의 연산은 단순 클리핑 연산만을 포함하고 있어 THREE 단계의 클리핑 연산보다 소요되는 시간이 훨씬 짧다. 따라서, WB 단계에서는 단순 클리핑 연산과 함께 그 결과를 출력하는 동작도 수행할 수 있다.
이상에서 살펴보면 보통 세기 필터링 연산은 클리핑 연산을 포함하고 있어, 강한 세기 필터의 연산보다 그 소요 시간이 길다는 것을 알 수 있다. 따라서 강한 세기 필터 연산의 일부를 클리핑 연산이 수행되는 THREE 파이프라인 단계 이후(도 4에서는 FOUR 단계)에서 수행하는 것이 바람직하다.
이러한 경우 강한 세기 필터 연산을 위해 입력으로 필요한 중간 연산 결과 값들을 파이프라인 레지스터들을 통하여 파이프라인 전달들에서 파이프라인 후단으로 전달 시켜주어야 하는데 이를 위해서는 추가적인 파이프라인 레지스터들이 필요하다. 따라서 상기 레지스터들로 인한 면적 증가가 동반될 수 있다.
본 발명에서는 이러한 문제점을 해결하기 위해 파이프라인 레지스터를 공유하여 사용하도록 한다. 보통 세기의 필터링을 수행하는데 사용되는 파이프라인 레지스터와 강한 세기의 필터링을 수행하는데 사용되는 파이프라인 레지스터는 공유가 가능하다. 보통 세기의 필터와 강한 세기의 필터의 실행조건이 상호배타적이기 때문이다.
따라서 파이프라인의 모든 단계에서 각 파이프라인 단계의 조합회로(Combinational Logic)의 결과값은 하나의 공유 파이프라인 레지스터에 저장되며 다음 파이프라인 단계의 조합회로의 입력으로 사용된다.
특히 클리핑 단계와 관련하여 강한 세기의 필터링을 위한 중간 연산 결과 값들을 파이프라인 후단으로 전달하는 경우 클리핑을 할 입력값들을 저장하는 파이프라인 레지스터와 클리핑을 한 후의 값들을 저장하는 파이프라인 레지스터를 공유하여 사용하는 것이 바람직하다.
또한, 디블록킹 필터링 과정에서 경계면 세기 계수가 0인 경우에는 입력 픽셀 데이터가 그대로 출력 픽셀 데이터로 전달되어야 하는데 디블록킹 필터를 파이프라인 구조로 설계하게 되면 매 클럭마다 입력 픽셀 데이터는 계속하여 파이프라인으로 입력된다. 파이프라인 각 단계마다 처음 단계에서 받아들인 입력 픽셀 데이터를 차례로 전달하여야 마지막 단계에서 파이프라인 방식으로 출력할 수 있다. 따라서 파이프라인의 각 단계에는 상기 픽셀 데이터를 위한 파이프라인 레지스터가 필요하게 된다.
본 발명에서는 포워딩 로직을 용이하게 구현하기 위해서 마지막 단계 이전의 단계들에서 필터링된 결과 픽셀 데이터들이 차례로 생성되는데 이러한 결과 픽셀 데이터들도 파이프라인 단계를 따라서 전파되어야 하므로 각 단계에서 추가적인 레지스터 사용이 필요하게 된다.
본 발명에서는 필터링 조건을 판단하여 파이프라인 각 단계에서 발생한 결과 픽셀 데이터 값을 입력 픽셀 데이터를 위한 레지스터에 덮어쓰는 방식을 사용하여 픽셀 데이터 전파를 위한 파이프라인 레지스터를 출력 픽셀 데이터 전파를 위한 레지스터와 공유하는 방법을 이용한다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의하여 정해져야 한다.
도 1은 일반적인 매크로블록 단위의 비디오 코덱 부호화기의 블록 구성을 나타낸 도면.
도 2는 본 발명에 따른 에지 필터링을 수행할 블록을 나타낸 도면.
도 3, 4는 본 발명의 일 실시예에 따른 디블록킹 필터링 연산을 위한 기본 연산 유닛의 구성을 나타낸 도면.
도 5는 본 발명의 다른 실시예에 따른 파이프라인의 각 단계별 동작을 나타낸 도면.
<도면의 주요 부분에 대한 부호 설명>
100 : 비디오 코덱 부호화기
110 : DCT(Discrete Cosine Transform)부
120 : 양자화부
130 : 움직임 예측부
140 : 움직임 보상부
150 : 엔트로피 부호화 및 복호화부
160 : 역양자화부
170 : 역 DCT부
180 : 디블록킹 필터부

Claims (15)

  1. 디블록킹 필터링 연산 방법에 있어서,
    디블록킹 필터링할 입력 픽셀 데이터를 읽어오고, 필터링을 위해 필요한 인덱스 값을 생성하는 제1 단계;
    상기 생성한 인덱스 값으로부터 임계값을 생성하며, 현재 필터링 대상인 에지에 대한 경계면 세기 계수를 읽어오는 제2 단계;
    상기 입력 픽셀 데이터와 임계값을 이용하여 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 제3 단계;
    상기 경계면 세기 계수에 따라 보통 세기 필터링 또는 강한 세기 필터링 연산을 수행하는 제4 단계; 및
    상기 보통 세기 필터링 또는 강한 세기 필터링 연산 결과를 출력하는 제5 단계를 포함하는 디블록킹 필터링 연산 방법.
  2. 제1항에 있어서,
    상기 제4 단계는,
    상기 입력 픽셀 데이터를 이용하여 보통 세기 필터링 또는 강한 세기 필터링 연산식으로부터 추출한 적어도 하나의 공통 인수를 연산하는 제4-1 단계;
    상기 연산된 적어도 하나의 공통 인수를 이용하여 보통 필터링 연산 또는 강한 세기 필터링 연산을 구성하는 덧셈 연산과 시프트 연산이 조합된 연산을 수행하는 제4-2 단계;
    보통 세기 필터링 연산에 따른 클리핑(Cliping) 연산을 수행하는 제4-3 단계;
    상기 클리핑된 값을 픽셀 데이터와 덧셈 연산하는 제4-4 단계를 포함하되,
    상기 제5 단계는 상기 제4-4 단계의 결과를 클리핑 연산하는 단계를 포함하는 것을 특징으로 하는 디블록킹 필터링 연산 방법.
  3. 제2항에 있어서,
    상기 제 5단계의 클리핑 연산 시간은 상기 제4-3 단계의 클리핑 연산 시간보다 작은 것을 특징으로 하는 디블록킹 필터링 연산 방법.
  4. 제2항에 있어서,
    상기 적어도 하나의 공통 인수는,
    2개의 연속된 덧셈기와 시프터기를 조합하여 연산될 수 있는 공통 인수인 것을 특징으로 하는 디블록킹 필터링 연산 방법.
  5. 제2항에 있어서,
    상기 각 단계의 결과는 단계별로 마련되는 파이프라인 레지스터에 저장되는 것을 특징으로 하는 디블록킹 필터링 연산 방법.
  6. 제5항에 있어서,
    상기 파이프라인 레지스터는 보통 세기 필터링 연산 결과와 강한 세기 필터링 연산 결과를 저장하는 것을 특징으로 하는 디블록킹 연산 방법.
  7. 제1항에 있어서,
    상기 제4 단계는,
    상기 입력 픽셀 데이터를 이용하여 보통 세기 필터링 또는 강한 세기 필터링 연산식으로부터 추출한 적어도 하나의 공통 인수를 연산하는 단계; 와
    상기 공통 인수와 입력 픽셀 데이터를 이용하여 보통 세기 필터링 또는 강한 세기 필터링 연산식을 수행하는 단계를 포함하는 것을 특징으로 하는 디블록킹 필터링 연산 방법.
  8. 디블록킹 필터링 연산 장치에 있어서,
    입력된 인덱스 값으로부터 임계값을 생성하는 임계값 생성부;
    상기 생성된 임계값과 필터링할 입력 픽셀 데이터를 이용하여 현재 필터링 대상인 에지가 블로킹 아티팩트로 인한 오차로 인한 것인지 판단하는 에지 판단부;
    입력되는 경계면 세기 계수에 따라 보통 세기 필터링 또는 강한 세기 필터링 연산을 수행하는 필터링 연산 수행부; 및
    상기 보통 세기 필터링 또는 강한 세기 필터링 연산 결과를 출력하는 출력부를 포함하는 디블록킹 필터링 연산 장치.
  9. 제8항에 있어서,
    상기 필터링 연산 수행부는,
    상기 입력 픽셀 데이터를 이용하여 보통 세기 필터링 연산식과 강한 세기 필터링 연산식으로부터 추출한 공통 인수를 연산하는 다수의 제1 기본 연산 유닛;
    상기 다수의 제1 기본 연산 유닛이 연산한 다수의 공통 인수를 이용하여 보통 필터링 연산 또는 강한 세기 필터링 연산을 수행하는 다수의 제2 기본 연산 유닛;
    보통 세기 필터링 연산에 따른 클리핑(Cliping) 연산을 수행하기 위한 다수의 제1 클리핑 연산 유닛; 및
    상기 클리핑된 값을 임의의 셀에 대한 픽셀 데이터와 덧셈 연산하는 다수의 덧셈 연산기를 포함하며,
    상기 출력부는 상기 덧셈 연산기가 덧셈한 결과를 클리핑 연산하는 다수의 제2 클리핑 연산 유닛을 포함하는 것을 특징으로 하는 디블록킹 필터링 연산 장치.
  10. 제9항에 있어서,
    상기 제1 기본 연산 유닛과 제2 기본 연산 유닛은,
    2개의 연속된 덧셈기와 시프터기를 포함하여 구성되는 것을 특징으로 하는 디블록킹 필터링 연산 장치.
  11. 제9항에 있어서,
    상기 임계값 생성부, 에지 판단부, 제1 기본 연산 유닛, 제2 기본 연산 유닛, 제1 클리핑 연산 유닛, 다수의 덧셈 연산기 및 출력부는 파이프라인의 각 단계로서 동작하도록 구성되는 것을 특징으로 하는 디블록킹 필터링 연산 장치.
  12. 제11항에 있어서,
    상기 파이프라인의 각 단계별로 연산된 결과를 저장하기 위한 다수의 파이프라인 레지스터를 더 포함하는 것을 특징으로 하는 디블록킹 연산 장치.
  13. 제12항에 있어서,
    상기 파이프라인 레지스터는 보통 세기 필터링 연산 결과와 강한 세기 필터링 연산 결과를 저장하는 것을 특징으로 하는 디블록킹 연산 장치.
  14. 제9항에 있어서,
    상기 제1 기본 연산 유닛과 제2 기본 연산 유닛은,
    두 개의 필터링 연산 중 하나의 필터링 연산을 선택적으로 수행할 수 있도록 입력되는 데이터를 제어하는 수단을 포함하는 것을 특징으로 하는 디블록킹 연산 장치.
  15. 제8항에 있어서,
    상기 입력 픽셀 데이터를 이용하여 보통 세기 필터링 연산식과 강한 세기 필터링 연산식으로부터 추출한 공통 인수를 연산하는 다수의 제1 기본 연산 유닛; 과
    상기 공통 인수와 입력 픽셀 데이터를 이용하여 보통 세기 필터링 또는 강한 세기 필터링 연산을 수행하는 다수의 제2 기본 연산 유닛을 포함하는 것을 특징으로 하는 디블록킹 필터링 연산 장치.
KR1020090080452A 2009-08-28 2009-08-28 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법 KR101073150B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090080452A KR101073150B1 (ko) 2009-08-28 2009-08-28 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090080452A KR101073150B1 (ko) 2009-08-28 2009-08-28 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법

Publications (2)

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

Family

ID=43931132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090080452A KR101073150B1 (ko) 2009-08-28 2009-08-28 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101073150B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY167204A (en) * 2011-06-28 2018-08-13 Sony Corp Image processing device and image processing method
KR102612588B1 (ko) * 2023-05-15 2023-12-12 메티스엑스 주식회사 프로그램가능 반도체 소자, 이를 포함하는 전자 장치, 및 프로그램가능 반도체 소자에 의해 연산을 수행하는 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668346B1 (ko) 2005-10-04 2007-01-12 삼성전자주식회사 멀티 코덱용 필터링 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668346B1 (ko) 2005-10-04 2007-01-12 삼성전자주식회사 멀티 코덱용 필터링 장치 및 방법

Also Published As

Publication number Publication date
KR20110022933A (ko) 2011-03-08

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
US8369420B2 (en) Multimode filter for de-blocking and de-ringing
KR100988984B1 (ko) 크로마 디블록킹 필터
Sima et al. An efficient architecture for adaptive deblocking filter of H. 264/AVC video coding
Chi et al. SIMD acceleration for HEVC decoding
US20160100175A1 (en) Residual colour transform signalled at sequence level for specific coding modes
US20060115002A1 (en) Pipelined deblocking filter
JP2004518342A (ja) スケーラブルビデオトランスコーディング方法及び装置
JP2005524347A (ja) 画素の輝度に基づく条件付きデブロッキング・フィルタ
US20090010326A1 (en) Method and apparatus for parallel video decoding
CN107211161B (zh) 包括最后阶段处理的扩展空间的视频编码优化
JP2006157925A (ja) パイプラインデブロッキングフィルタ
KR101073150B1 (ko) 공통 데이터 패스 구조를 포함하는 디블록킹 필터링 연산 장치 및 그 방법
Srinivasan et al. An overview of VC-1
KR101051871B1 (ko) 디블록킹 필터에서의 경계면 세기 계수 판단 장치 및 방법
KR101419689B1 (ko) H.264/avc 복호기에서 역양자화 및 역변환을 수행하는 복호화 장치 및 이를 이용한 복호화 방법
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
CN108848388B (zh) 一种提高H264编码16x16预测模式DCT运算速度的硬件实现方法
KR101004825B1 (ko) 수평 필터와 수직 필터를 이용하는 파이프라인 구조의 디블록킹 필터 장치
KR101475286B1 (ko) 인트라 예측 방법 및 장치, 그리고 영상 처리 장치
KR20180107067A (ko) 영상 부호화/복호화 장치 및 방법
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 (ko) 동영상 압축 시스템에서의 디블록킹 필터링 장치

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