KR20060060919A - H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법 - Google Patents

H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법 Download PDF

Info

Publication number
KR20060060919A
KR20060060919A KR1020040099724A KR20040099724A KR20060060919A KR 20060060919 A KR20060060919 A KR 20060060919A KR 1020040099724 A KR1020040099724 A KR 1020040099724A KR 20040099724 A KR20040099724 A KR 20040099724A KR 20060060919 A KR20060060919 A KR 20060060919A
Authority
KR
South Korea
Prior art keywords
filtering
data
pixel
vertical
horizontal
Prior art date
Application number
KR1020040099724A
Other languages
English (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 KR1020040099724A priority Critical patent/KR20060060919A/ko
Priority to US11/226,563 priority patent/US20060115002A1/en
Priority to TW94141084A priority patent/TWI290438B/zh
Priority to JP2005344038A priority patent/JP2006157925A/ja
Priority to CN2005101297124A priority patent/CN1794814B/zh
Priority to DE200510058508 priority patent/DE102005058508A1/de
Priority to GB0524562A priority patent/GB2420929A/en
Publication of KR20060060919A publication Critical patent/KR20060060919A/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

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

Abstract

블로킹 효과를 제거하기 위한 디블록 필터 방법이 개시된다. 디블록 필터링 방법은, 비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하는 단계, 등분된 에지들을 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하는 단계 및 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하는 단계를 포함한다.
MPEG-4, H.264, 디블록 필터

Description

H.264/MPEG-4 에서의 블록킹 효과를 제거하기 위한 디블록 필터 및 필터링 방법{Deblocking Filter and Method of Deblock-Filtering for eliminating blocking effect in H.264/MPEG-4}
도 1은 H.264 코덱의 표준에 따른 매크로 블록 에지의 디블록 필터 순서를 나타낸 도이다.
도 2는 필터링 시 현재 필터링되는 매크로 블록과 이웃하는 매크로 블록의 관계를 나타낸 도이다.
도 3은 한 매크로 블록 내에서 본 발명에 따른 필터링 순서를 나타낸다.
도 4는 본 발명에 따른 디블록 필터에서 레지스터 어레이를 사용한 데이터의 흐름을 나타낸다.
도 5는 본 발명에 따른 디블록 필터의 메모리 구조를 나타낸다.
도 6은 본 발명에 따른 Current 메모리의 구조를 나타낸다.
도 7은 Current 메모리의 판독 순서를 나타낸다.
도 8은 본 발명에 따른 Top 메모리의 구조를 나타낸다.
도 9는 본 발명에 따른 한 화소 내의 필터링 순서를 나타낸다.
도 10은 본 발명에 따른 필터 엔진의 파이프라인 구조를 나타낸다.
본 발명은 H.264/MPEG-4에서의 영상 개선 방법에 관한 것이며, 더욱 구체적으로는 H.264/MPEG-4에서 발생되는 블로킹 효과를 제거하기 위한 디블록킹 필터 및 필터링 방법에 관한 것이다.
MPEG, H264 등의 비디오 코덱에서 영상을 압축하는 기본 단위는 매크로 블록이며, H.264에서 매크로 블록은 휘도(이하 Luminance)는 가로와 세로로 각각 16화소를 가지며, 채도(이하 Chrominance)는 가로와 세로 각 8화소를 갖는 블록이다. 최소 데이터 처리 단위는 공통적으로 가로 세로 4화소의 픽셀 블록이다.
비디오 코덱은 매크로 블록 단위로 여러 단계에 거쳐 압축이 진행된다. 이 중 양자화 과정에서 입력 영상에 손실이 생기고, 이전 영상이나 현 영상의 이웃 블록을 참조하는 과정에서 블록마다 서로 다른 영상을 참조하는 경우가 있기 때문에, 압축된 영상을 복원해는 영상에는 블록의 경계가 단절되어 나타나게 된다.
단절된 블록의 경계 오차를 완화해주어 복원 된 영상의 품질을 향상시키는 것이 디블록 필터이다. H.264 비디오 코덱의 디블록 필터는 최소 처리 단위인 4x4 블록의 경계마다 필터링 여부를 판명하여 필터링을 해야 한다. 가로, 세로 4화소씩 마다 필터링을 해야 하는지를 판단해야 하고, 그 여부에 따라 모든 블록 경계마다 필터링을 할 수도 있으므로 필터 계산 횟수가 많고, 필터링을 하는데 오랜 시간이 걸린다. 게다가, 최근의 향상된 멀티미디어 기기들은 실시간으로 처리해야 하는 데이터의 양이 많아져 보다 빠른 하드웨어를 필요로 하고, 디블록 필터 또한 이 것을 만족시켜야 한다.
본 발명의 목적은 하드웨어의 속도를 향상시키고, 복잡도를 최소화시키는 필터링 순서와, 내부 메모리 크기를 최소화하여 간편하고 효율적으로 관리하고 갱신할 수 있는 메모리 구조 및 주소 생성 방법을 제공하는 데 있다.
또한, 본 발명의 목적은 필터 엔진 1개로 모든 필터링을 처리할 수 있는 적절한 파이프라인 구조를 제공하는 데 있다.
상술한 바와 같은 본 발명의 목적을 달성하기 위해, 본 발명의 특징에 의하면, 블록킹 효과를 제거하기 위한 디블록 필터링 방법은, 비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하는 단계, 상기 등분된 에지들을 상기 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하는 단계, 및 상기 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하는 단계를 포함한다.
바람직하게는, 상기 필터링 순서 조합 단계에서, 상기 매크로 블록의 우측 경계에 있는 픽셀 블록의 경우, 좌측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 하측 가로 에지에 대한 세로 필터링의 순서로 디블록 필터 링 되도록 필터링 순서를 조합하며, 상기 필터링 수행 단계에서, 상기 매크로 블록의 우측 경계에 있는 픽셀 블록의 우측 세로 에지에 대한 가로 필터링은 상기 매크로 블록의 우측에 이웃하는 매크로 블록의 필터링 시 수행한다.
바람직하게는, 상기 필터링 순서 조합 단계에서, 상기 매크로 블록의 하측 경계에 있는 픽셀 블록의 경우, 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링의 순서로 디블록 필터링 되도록 필터링 순서를 조합하며, 상기 필터링 수행 단계에서, 상기 매크로 블록의 하측 경계에 있는 픽셀 블록의 하측 가로 에지에 대한 세로 필터링은 상기 매크로 블록의 하측에 이웃하는 매크로 블록의 필터링 시 수행한다.
바람직하게는, 상기 필터링 순서 조합 단계에서, 상기 매크로 블록의 우측 경계 및 하측 경계에 있는 픽셀 블록의 경우, 좌측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링의 순서로 디블록 필터링 되도록 필터링 순서를 조합하며, 상기 필터링 수행 단계에서, 상기 매크로 블록의 우측 경계 및 하측 경계에 있는 픽셀 블록의 우측 세로 에지에 대한 가로 필터링은 상기 매크로 블록의 우측에 이웃하는 매크로 블록의 필터링 시 수행하고, 상기 매크로 블록의 우측 경계 및 하측 경계에 있는 픽셀 블록의 하측 가로 에지에 대한 세로 필터링은 상기 매크로 블록의 하측에 이웃하는 매크로 블록의 필터링 시 수행한다.
본 발명을 달성하기 위한 다른 실시예에 따르면, 블록킹 효과를 제거하기 위한 디블록 필터링 방법은, 비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하는 단계, 상기 등분된 에지들을 상기 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하는 단계, 및 상기 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하는 단계를 포함하며, 상기 필터링 단계는, 상기 픽셀 블록의 세로 에지를 필터링 하는 경우, 상기 세로 에지의 좌측 및 우측 픽셀 블록의 데이터를 내부 메모리에서 판독하는 단계, 상기 좌측 픽셀 블록의 데이터와 상기 현재 픽셀 블록의 데이터를 이용하여 가로 필터링 하고 내부 레지스터에 저장하는 단계, 및 상기 필터링된 좌측 픽셀 블록의 데이터는 상하좌우 에지에 대한 필터링이 완료된 경우에는 외부 저장 메모리로 저장하는 단계를 더 포함하고, 상기 픽셀 블록의 가로 에지를 필터링 하는 경우, 상기 가로 에지의 상측 및 하측 픽셀 블록의 데이터를 내부 메모리에서 판독하는 단계, 상기 상측 픽셀 블록의 데이터와 상기 하측 픽셀 블록의 데이터를 이용하여 세로 필터링 하여 상기 내부 레지스터에 저장하는 단계, 및 상기 필터링된 상측 픽셀 블록의 데이터는 상하좌우 에지에 대한 필터링이 완료된 경우에는 외부 저장 메모리로 저장하는 단계를 더 포함한다.
본 발명의 또 다른 실시예에 따르면, 블록킹 효과를 제거하기 위한 디블록 필터는, 비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하고, 상기 등분된 에지들을 상기 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세 로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하며, 상기 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하도록 제어하는 필터 제어부, 현재 필터링을 수행하기 위한 매크로 블록 데이터, 상기 현재 필터링이 진행되는 매크로 블록의 좌측에 이웃하는 픽셀 블록들의 데이터, 및 상기 현재 필터링이 진행되는 매크로 블록의 상측에 이웃하는 픽셀 라인들의 데이터를 저장하기 위한 내부 메모리, 상기 픽셀 블록의 세로 에지 및 가로 에지에 대한 필터링 시 필요한 데이터를 상기 내부 메모리에서 판독하여 임시 저장하고, 상기 필터링된 픽셀 블록 데이터를 업데이트 하기 위한 내부 레지스터, 및 필터링이 완료된 픽셀 블록을 저장하기 위한 외부 저장 메모리를 포함하며, 상기 필터 제어부는, 상기 픽셀 블록의 세로 에지를 필터링 하는 경우, 상기 세로 에지의 좌측 및 우측 픽셀 블록의 데이터를 상기 내부 메모리 또는 상기 내부 레지스터에서 판독하여 가로 필터링 처리하고, 업데이트 된 데이터를 상기 내부 레지스터에 저장한 뒤, 상기 필터링된 좌측 픽셀 블록의 데이터가 상하좌우 에지에 대한 필터링이 완료된 경우에는 상기 외부 저장 메모리로 저장하며, 상기 픽셀 블록의 가로 에지를 필터링 하는 경우, 상기 가로 에지의 상측 및 하측 픽셀 블록의 데이터를 상기 내부 메모리 또는 상기 내부 레지스터에서 판독하여 세로 필터링 처리하고, 업데이트 된 데이터를 상기 내부 레지스터에 저장한 뒤, 상기 필터링된 상측 픽셀 블록의 데이터가 상하좌우 에지에 대한 필터링이 완료된 경우에는 상기 외부 저장 메모리로 저장한다.
본 발명의 또 다른 실시예에 따르면, 필터링하는 데이터를 저장하기 위한 내 부 메모리, 및 제1, 제2 및, 제3 레지스터를 포함하는 디블록 필터를 이용하여, 비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하고, 상기 등분된 에지들을 상기 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하며, 상기 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하는 디블록 필터링 방법이, 상기 4x4 크기의 픽셀 블록의 세로 에지에 대한 가로 필터링 시, 상기 내부 메모리 또는 상기 제2 레지스터에서 판독한 좌측 픽셀 블록 중 한 라인의 픽셀 데이터와 상기 내부 메모리에서 판독한 우측 픽셀 블록 중 한 라인의 픽셀 데이터 이용하여 가로 필터링 하는 단계, 상기 가로 필터링 후 업데이트 된 상기 좌측 픽셀 블록의 데이터를 상기 제1 레지스터에 저장하는 단계, 및 상기 가로 필터링 후 업데이트 된 상기 우측 픽셀 블록의 데이터를 상기 제2 레지스터에 저장하는 단계를 포함하며, 상기 4x4 크기의 픽셀 블록의 가로 에지에 대한 세로 필터링 시, 상기 내부 메모리에서 판독한 상측 픽셀 블록의 데이터를 상기 제3 레지터에 저장하는 단계, 상기 제3 레지스터에 저장된 상측 픽셀 블록 중 한 라인의 픽셀 데이터와 상기 제1 레지스터 또는 상기 제2 레지스터에 저장된 하측 픽셀 블록 중 한 라인의 픽셀 데이터 이용하여 세로 필터링 하는 단계, 상기 세로 필터링 후 업데이트 된 상기 상측 픽셀 블록의 데이터를 상기 제3 레지스터에 저장하는 단계, 및 상기 세로 필터링 후 업데이트 된 상기 하측 픽셀 블록의 데이터를 상기 제 1 레지스터에 저장하는 단계를 포함한다.
본 발명과 본 발명의 동작성의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
H.264 비디오 코덱의 디블록 필터는 블록의 경계마다 필터링을 하여, 복원 영상이 블록 경계에서 단절되는 현상을 막는 것이다. 이런 필터의 특성상 필터링을 수행하는데 시간이 많이 걸리고 처리해야 하는 데이터의 양이 매우 많다.
도 1은 H.264 코덱의 표준에 따른 매크로 블록 에지의 디블록 필터 순서를 나타낸 도이다.
H.264 코덱의 표준은 디블록 필터가 세로 에지에 대한 가로 필터링을 한 후 가로 에지에 대한 세로 필터링을 하는 것을 규정하고 있다. 즉, 각 매크로 블록에 대해 가로 필터링을 한 후 세로 필터링을 하는 순서로 필터링을 진행하며, 이때 에지는 최소 블록 처리 단위인 4x4 블록의 경계애 대해 정의된다.
H.264에서 매크로 블록에서 Luminance는 가로와 세로로 각각 16화소를 가지며, Chrominance는 가로와 세로 각 8화소를 갖는 블록을 갖는다. 또한, H.264의 기본 처리 단위인 매크로 블록은 도 1에 도시된 바와 같이, Luminance는 각각 가로 4개 세로 4개의 에지가 존재하고, Chrominance는 가로 2개 세로 2개의 에지가 존재 한다. 도 1에서 실선은 Luminance의 에지를 나타내고, 점선은 Chrominance의 에지를 나타내며, 숫자는 필터링이 이루어지는 순서를 나타낸다.
즉, 도 1에 도시된 바와 같이, H.264 코덱의 표준은 Luminance에 대해서, 세로 에지에 대한 필터링을 4번 처리한 후 가로 에지에 대한 필터링을 4번 처리한다. 또한, 각 세로 에지는 좌측부터 순차적으로 처리하고, 가로 에지도 상측부터 순차적으로 처리한다. 또한, Chrominance에 대해서, 세로 에지에 대해서 좌측부터 순차적으로 필터링을 처리하고, 세로 에지에 대한 필터링 후, 가로 에지에 대해서 상측부터 순차적으로 필터링을 처리한다.
이때, Luminance와 Chrominance에 대한 디블록 필터는 독립적으로 수행되며, 겹쳐지는 에지에 대하여 필터 계수만을 공유한다.
도 1을 참조하여, 디블록 필터의 적용 순서의 규칙성을 살펴보면, 세로 에지에 대한 가로 필터링 후에 세로 필터링을 하는 규칙성과, 좌측에서 우측으로, 그리고 상측에서 하측에 존재하는 에지에 대해 필터링을 적용하는 규칙성이 발견된다. 그리고,4x4 크기의 한 화소당 세로/가로 2회씩 모두 4회의 필터링을 해야한다.
그러나, 이것은 매크로 블록 단위의 순서에 관한 것이며, 한 화소에 해당하는 4x4 픽셀 블록을 중심으로 H.264 코덱의 표준을 해석하면, 한 프레임 내의 슬라이스 위치, 슬라이스 내의 매크로 블록의 위치, 매크로 블록 내의 4x4 에지 위치에 따라 필터링되는 순서와 횟수가 변하게 된다.
H.264 코덱의 표준에서 정의한 디블록 필터의 적용 순서를 한 화소를 기준으로 해석하면, 도 1에 나타난 바와 같이, 일반적으로 다음과 같이 진행된다.
고정된 한 화소를 기준으로 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상위 가로 에지에 대한 세로 필터링을 하고, 제일 마지막으로 하위 가로 에지에 대한 세로 필터링을 하는 순서를 갖는다. 그러나, 매크로 블록의 경계에 위치해 있는 화소(픽셀 블록)들의 경우, 이웃해 있는 매크로 블록의 데이터를 이용해야 하기 때문에 이러한 순서가 그대로 적용되지 않고 순서를 바꾸어 필터링을 하게 된다. 즉, 도 1에 도시된 4번 세로 에지 (Chrominance의 경우에는 2번 세로 에지)의 우측에 있는 화소들은 좌측 세로 에지에 대한 가로 필터링을 한 후에, 상위 가로 에지에 대해 세로 필터링을 하고, 그 후 하위 가로 에지에 대한 세로 필터링을 한다. 그리고, 마지막으로 우측 세로 에지에 대한 가로 필터링을 하는 순서로 진행이 된다. 이때, 우측 세로 에지에 대한 가로 필터링은 우측에 이웃하는 매크로 블록의 필터링 시 진행된다.
한편, 도 1에서 4번 세로 에지(Chrominance의 2번 세로 에지)의 우측이고, 8번 가로 에지(Chrominance의 4번 가로 에지)의 하위에 있는 화소들은 앞서 기술한 순서와 또 다른 순서로 필터링을 진행한다. 우선, 좌측 세로 에지에 대해 가로 필터링을 하고 상위 가로 에지에 대한 세로 필터링 후, 우측 세로 에지에 대한 가로 필터링을 하고, 마지막으로 하위 가로 에지에 대한 세로 필터링을 하는 순서로 진행된다. 이때, 우측 세로 에지에 대한 가로 필터링은 우측에 이웃하는 매크로 블록의 필터링 시 진행되며, 하위 가로 에지에 대한 세로 필터링은 하측에 이웃하는 매크로 블록의 필터링 시 진행된다.
도 2는 필터링 시 현재 필터링되는 매크로 블록과 이웃하는 매크로 블록의 관계를 나타낸 도이다.
매크로 블록 내의 필터링을 확장시켜서 프레임 전체에 대한 디블록 필터링을 고려해 보면, 현재 블록이 프레임의 가장자리 블록이 아니라면 도 1에 1번 세로 에지와 5번 가로 에지에 대하여 필터링을 하는 경우에는 현재 매크로 블록의 데이터뿐만 아니라 이전 매크로 블록의 데이터도 필요로 한다. 현재 매크로 블록이 프레임의 가장자리 블록이라면 이러한 필터링을 하지 않게 된다.
도 2를 참조하면, 현재 필터링되는 매크로 블록 중에서 가장 상측에 존재하는 가로 에지를 필터링하기 위해서는 상측에 이웃하는 매크로 블록의 4개의 픽셀 블록이 필요하며, 현재 필터링되는 매크로 블록 중에서 가장 좌측에 존재하는 세로 에지를 필터링하기 위해서는 좌측에 이웃하는 매크로 블록의 4개의 픽셀 블록이 필요하다.
즉, 현재 매크로 블록을 필터링 하기 위해서는 이웃하는 매크로 블록의 A 영역과 B 영역의 빗금친 부분의 데이터가 사용된다. 그리고, 현재 매크로 블록의 데이터 값을 필터링하여 갱신할 때 이웃하는 블록 A와 B의 빗금 친 부분도 갱신된다. 또한, 현재 매크로 블록의 맨 좌측 4 픽셀 블록은 우측 이웃 매크로 블록에게 A 영역이 되고, 맨 아래 4 픽셀 블록은 아래측 이웃 매크로 블록에게 B 영역이 되어 필터 처리를 해야만 현재 블록의 필터링이 완성될 수 있다.
이와 같은 이유로 디블록 필터는 이웃 블록 B의 빗금 친 부분을 저장하기 위한 Top 메모리와 이웃 블록 A의 빗금 친 부분을 저장하기 위한 Left 메모리, 그리고, 현재 블록의 데이터를 보관하기 위한 Current 메모리가 필요하다. 또한, 필 터링이 완료된 데이터를 DPB(Display Buffer)에 저장하기 전에 보관하는 DMA 임시 메모리도 필요하다.
하지만, 현재 매크로 블록이, 프레임의 최상위 부분이면, 상측에 이웃하는 4개의 픽셀 블록 B가 존재하지 않고, 현재 매크로 블록이 프레임 내의 가장 왼쪽에 있으면, 이웃 픽셀 블록 A가 존재하지 않으므로 여기에 인접한 4x4 에지는 각각 세로/가로 필터링을 한 번 덜하게 된다.
매크로 블록 단위의 관점에서도 왼쪽에서 오른쪽으로 가로 필터링을 한 후에 위에서 아래로 세로 필터링을 위해서는 가로 필터링이 끝난 데이터를 저장할 매크로 블록 크기의 상대적으로 저장 규모가 큰 내부 버퍼 메모리가 필요한 문제점이 있다. 이러한 두 가지 문제로 인해, 데이터의 흐름이 복잡하고, 필터링 사이클 및 하드웨어 크기가 증가하게 된다.
따라서, 본 발명에서는, 계산되는 데이터 양을 현저하게 줄이고, 데이터 흐름을 간단하게 할 수 있도록 가로 필터링 및 세로 필터링을 작게 세분화한다.
즉, 본 발명에서는, 매크로 블록에 대해 일률적으로 가로 필터리을 한 후 세로 필터링을 하는 것이 아니라, 한 매크로 블록 내의 가로 에지 및 세로 에지를 4등분 또는 2등분하고, 분할된 가로 에지 및 세로 에지를 적절히 가로 필터링과 세로 필터링의 순서로 조합하여 필터링을 수행한다.
각각의 분할된 세로 에지 및 가로 에지는 4x4 크기의 픽셀 블록에서 보면, 좌측 세로 에지, 우측 세로 에지, 상측 가로 에지, 하측 가로 에지의 순서를 만족하도록 필터링 순서가 조합된다.
도 3은 한 매크로 블록 내에서 본 발명에 따른 필터링 순서를 나타낸다.
도 3을 참조하면, 도 3의 좌측은 Luminance 매크로 블록의 필터링 순서를 나타낸다. 도 3의 원형 숫자는 Luminance 의 필터링 순서이며, 4x4 픽셀 블록 내부의 숫자는 H.264 코덱 표준에서 정의되는 매크로블록 입력 순서를 나타낸다.
본 발명의 일 실시예에서, 도 1에서의 1번 세로 에지는, 1번, 9번, 17번 25번으로 등분되고, 2번 세로 에지는 2번, 10번, 18번, 26번으로 등분된다. 또한, 3번 세로 에지는 4번, 12번, 20번, 28번으로 등분되며, 4번 세로 에지는 6번, 14번, 22번, 30번으로 등분된다.
도 1에서의 5번 가로 에지는, 본 발명의 일 실시예에서는 3번, 5번, 7번, 8번으로 등분되고, 6번 가로 에지는, 11번, 13번, 15번, 16번으로 등분되며, 7번 가로 에지는 19번, 21번, 23번, 24번으로 등분되고, 8번 가로 에지는 27번, 29번, 31번, 32번으로 등분된다.
도 3의 좌측 Luminance 필터링 순서를 살펴보면, 원형 내의 숫자의 순서 대로 등분된 에지를 필터링 하면, 각 4x4 픽셀 블록 기준으로 좌측 세로 에지, 우측 세로 에지, 상측 가로 에지, 하측 가로 에지의 순서를 만족시키는 것을 알 수 있다.
예를 들어, 1번 픽셀 블록을 살펴보면, 좌측 세로 에지가 첫 번째로 필터링이 수행되고, 우측 세로 에지가 두 번째로 필터링이 수행되며, 상측 가로 에지가 세 번째로 필터링이 수행되고, 하측 가로 에지가 열한 번째로 필터링이 수행되어, 표준을 만족시킨다. 또한, 매크로 블록의 우측 가장자리에 있는 5번 픽셀 블록을 살펴보면, 좌측 세로 에지가 여섯 번째로 필터링이 수행되고, 상측 가로 에지가 여덟 번째로 필터링이 수행되며, 하측 가로 에지가 열 여섯 번째로 필터링이 수행되고, 우측 가로 에지는 우측에 이웃하는 매크로 블록의 필터링 시 진행 세로 필터링이 진행되어, 표준을 만족시킨다.
또한, 도 3의 우측에는 Chrominance 필터링 순서를 나타내었다. Chrominance 필터링 순서에서도 원형 숫자는 필터링 순서이며, 4x4 픽셀 블록 내부의 숫자는 H.264 코덱 표준에서 정의되는 매크로 블록 입력 순서를 나타낸다.
본 발명의 일 실시예에서, 도 1에서 1번 세로 에지는, 1번, 5번 순으로 등분되고, 2번 세로 에지는 2번, 6번 순으로 등분되며, 3번 가로 에지는 3번, 4번 순으로 등분되고, 4번 가로 에지는 7번, 8번 순으로 등분된다.
도 3에 도시된 본 발명에 따른 Chrominance 필터링 순서에 의하면, H.264 코덱의 표준을 만족시키면서, 연산되는 데이터 양은 한 화소의 에지 단위로 줄어든다.
즉, 도 3에 도시된 필터링 순서에 따르면, 각 필터링 단계에서 계산되는 데이터 양이 현저하게 줄어들고 데이터 흐름을 간단하게 할 수 있어, 메모리 사용을 용이하게 필터링에 사용되는 시간을 감소시킬 수 있다. 또한, 이러한 필터링 방법을 사용하면, 디블록 필터를 구현하는 하드웨어의 복잡도를 줄일 수 있게 된다.
도 4는 본 발명에 따른 디블록 필터에서 레지스터 어레이를 사용한 데이터의 흐름을 나타낸다.
도 4를 참조하면, 본 발명에 따른 디블록 필터는, 미들 레지스터(41), 라이 트 레지스터(42), 레프트 레지스터(43), p 레지스터(44) 및 q 레지스터(45)를 포함한다. 이 중, 미들 레지스터(41), 라이트 레지스터(42), 및 레프트 레지스터(43)는 하나의 픽셀 블록 내의 데이터를 저장할 수 있는 4x4 크기의 어레이를 갖고, p 레지스터(44) 및 q 레지스터(45)는 상기 4x4 크기의 픽셀 블록 중 순차적으로 필터링을 수행할 수 있도록 한 라인의 데이터를 저장할 수 있는 4 개의 어레이를 갖는다.
도 4에서 실선은 세로 에지에 대한 가로 필터링 시 데이터의 흐름을 나타내며, 점선은 가로 에지에 대한 세로 필터링 시 데이터의 흐름을 나타낸다.
먼저, 세로 에지에 대한 가로 필터링 시의 데이터 흐름을 살펴보면, 상기 세로 에지의 좌측 픽셀 블록의 데이터를 내부 메모리(internal SRAM) 또는 라이트 레지스터(42)에서 순차적으로 한 라인씩 판독하여 p 레지스터(44)에 저장한다. 이때, 좌측 픽셀 블록의 데이터를 내부 메모리에서 판독하는 경우에는 Left 메모리(미도시)에서 현재 매크로 블록의 좌측에 이웃하는 블록의 A 데이터를 가져오는 경우이다. 그리고, 상기 세로 에지의 우측 픽셀 블록의 데이터를 내부 메모리(internal SRAM)에서 판독하여 q 레지스터(45)에 저장한다. 이때, 판독되는 우측 픽셀 블록의 데이터는 Current 메모리(미도시)에 저장된 현재 매크로 블록의 데이터가 된다.
그리고, 필터 엔진(46)은 p 레지스터(44) 및 q 레지스터(45)에 저장된 데이터를 이용하여 필터링을 하고, 필터링된 p 레지스터(44)의 데이터를 미들 레지스터(41)에 저장하고, 필터링된 q 레지스터(45)의 데이터를 라이트 레지스터(42)에 저 장한다.
그리고, 가로 에지에 대한 세로 필터링 시의 데이터 흐름을 살펴보면, 상기 가로 에지의 상측 픽셀 블록의 데이터를 내부 메모리에서 순차적으로 한 라인씩 판독하여 p 레지스터(44)에 저장한다. 이때, 상측 픽셀 블록의 데이터가 내부 메모리의 top 메모리(미도시)에 저장된 상측에 이웃하는 블록의 B 데이터인 경우에는, 상기 상측 픽셀 블록의 데이터를 미리 레프트 레지스터(43)에 저장하고, 상기 레프트레지스터(43)에서 한 라인씩 순차적으로 판독할 수 있다. 그리고, 상기 가로 에지의 하측 픽셀 블록의 데이터는 미들 레지스터(41) 또는 라이트 레지스터(42)에서 순차적으로 한 라인씩 판독하여 q 레지스터(45)에 저장한다. 이때, 하측 픽셀 블록의 데이터를 라이트 레지스터(42)에서 판독하는 경우에는,연속된 세로 필터링의 경우 두 번째 필터링 시에만 라이트 레지스터(42)에서 판독한다.
그리고, 필터 엔진(46)은 p 레지스터(44) 및 q 레지스터(45)에 저장된 데이터를 이용하여 필터링을 하고, 필터링된 p 레지스터(44)의 데이터를 레프트 레지스터(43)에 저장하고, 필터링된 q 레지스터(45)의 데이터를 미들 레지스터(41)에 저장한다.
한편, 필터링이 완료된 데이터는 외부 저장 메모리인 DBP에 저장한다. 또한, 필터링이 완료되지 않은 데이터는 이웃블록 A 또는 B로 사용하기 위해 Left 메모리 또는 TOP 메모리에 저장한다.
도 5는 본 발명에 따른 디블록 필터의 메모리 구조를 나타낸다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 디블록 필터(50)는, 도 4에서 설명한 내부 레지스터(51), Current 메모리(52), Left 메모리(53), Top 메모리(54), pq 메모리(55), DPB 임시 메모리(56)를 포함한다.
Current 메모리(52)는 현 매크로 블록의 필터링 하기 이전의 데이터를 보관하는 메모리이다. 본 발명에 따른 Current 메모리(52)는 한 매크로 블록의 Luminance 및 Chrominance의 Cb/Cr을 한 번에 저장할 수 있는 크기이다. 또한, 내부 메모리의 크기를 줄이기 위해 싱글 포트 SRAM을 사용할 수도 있다.
도 6은 본 발명에 따른 Current 메모리의 구조를 나타낸다.
도 6을 참조하면, 본 발명에 따른 Current 메모리(52)는 한 번 필터링 할 수 있는 4화소(32 비트)씩 24 개의 4x4 블록(depth 96)의 크기를 갖는다. 그리고, 메모리에 쓰는 주소는 매크로 블록 카운터 순서와 같게 증가한다. 이는 역 이산 변환기에서 출력되는 데이터를 메모리에 저장한다. 데이터의 순서대로 단순히 하나씩 주소를 증가시키면 되는 이점이 있다. 하지만, Current 메모리(52)에서 데이터를 판독하는 순서는 4x4 크기의 픽셀 블록 씩 좌측 방향으로 판독하기 때문에, 7번의 점핑이 존재한다.
도 7은 Current 메모리의 판독 순서를 나타낸다.
도 7을 참조하면, Current 메모리(52)에서 데이터를 판독하여 내부 레지스터(51)에 저장할 때에는, 4화소에 해당하는 4x4 크기의 픽셀 블록만 순차적으로 판독한다. 이때, 상술한 바와 같이, 매크로 블록의 Luminance에서 상기 4화소씩 좌측 방향 순으로 판독하기 때문에, 판독 순서는, 도 7에 도시된 바와 같이, 7번의 점핑이 존재한다. 다만, 매크로 블록의 Chrominance에서는 4개의 4x4 픽셀 블록 씩 존재하기 때문에, 판독 순서와 기록 순서가 동일하게 된다.
도 5에서 Left 메모리(53)는 현 매크로 블록의 맨 좌측 세로 에지에 대한 가로 필터링을 하기 위해 현 매크로 블록의 좌측 데이터를 저장하기 위한 내부 메모리이다. 본 발명에 따른 Left 메모리(53)는 상기 4 픽셀 블록의 Luminance와 Chrominance의 Cb/Cr을 모두 저장할 수 있는 크기를 갖는다.
도 5에서 Top 메모리(54)는 현 매크로 블록의 맨 상측 가로 에지의 세로 필터링을 하기 위한 현 매크로 블록의 상측 데이터를 저장하기 위한 내부 메모리이다. 상기 상측 데이터를 외부 메모리에서 가져오는 경우에는 버스 대역폭에 영향을 미치기 때문에, 4x4 블록 1라인의 저장 크기를 갖는 Top 메모리(54)를 두고 필터링을 진행하며 계속 데이터를 업데이트 한다. 상기 Top 메모리(54)의 정확한 크기는 입력 영상 한 화소 라인의 크기로 4*Luminance 가로 화소수 + 2*Cb 가로 화소수 + 2*Cr 가로 화소수 의 크기를 갖는다. 또한, 상기 Top 메모리(54)도 매크로 블록에 대하여 필터 순서에 따라 Luminance, Chrominance 순으로 저장되고 판독된다.
기본적으로 매크로 블록의 맨 아래쪽 4x4 픽셀 블록 데이터 중에서, 두 번의 가로 필터링과 한 번 세로 필터링이 된 데이터를 Top 메모리(54)에 저장하며, 두 번째 세로 필터링을 하여 디블록 필터링이 완료되면 저장된 데이터는 외부 저장 메모리(DPB)에 저장한다.
가로 필터링을 한 후, 세로 필터링을 위해서 데이터는 4x4 픽셀 블록의 바이트 단위로 가로 세로가 바뀌어져야 하므로, 사용의 편리를 위해 Top 메모리(54)는 128비트를 한 워드로 지정한다. 즉, 한 워드에 들어가는 데이터는 한 개의 4x4 픽셀 블록이다.
한 개의 매크로 블록은 Luminance의 경우 가로 가 4개의 4x4 픽셀 블록으로 구성되어 있고, Chrominance의 경우 Cb/Cr 각각 2개씩 4x4 블록으로 구성되어 있으므로, Top 메모리(54)의 메모리의 구조와 주소는 도 8에 도시된 바와 같다. 도 8을 참조하면, 한 매크로 블록 당 주소는 8씩 증가하게 되며, 이는 하드웨어로 구현할 때 매우 간단하게 구현될 수 있다.
도 5에서의 pq 메모리(55)는 필터링 연산을 하기 위해 필터 엔진이 사용하는 내부 메모리이며, DPB 임시 메모리(56)는 필터링이 완료된 데이터를 외부 저장 메모리(DPB)에 저장하기 위해 일시적으로 저장하기 위한 메모리이다.
한편, Top 메모리(54)에서 세로 필터링을 하기 위해 판독한 데이터는 도 4의 레프트 레지스터(43)에 임시 저장한다. 그리고, 레프트 레지스터(43)의 데이터는 필터링 계산시 p 레지스터(44)에 놓고, 필터링을 한 후 업데이트 해서 외부 저장 메모리로 전송한다.
한편, 도 5에는 도시되지 않았지만, 본 발명에 따른 디블록 필터는, 비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하고, 상기 4x4 크기의 픽셀 블록 단위로 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링을 수행하도록 제어하는 필터 제어부를 포함한다.
상기 필터 제어부는 등분된 에지에 대한 필터링 순서 및 데이터의 전송 및 데이터 저장을 제어할 수 있다.
한편, 본 발명에 따른 필터링 방법에서는, 필터링하는 데이터 량이 작고 연산 속도가 빠르기 때문에, 가로 필터링 및 세로 필터링에 사용되는 필터 엔진을 하나만 이용하여 처리할 수 있다.
도 9는 본 발명에 따른 한 화소 내의 필터링 순서를 나타낸다.
도 9의 좌측 도면은 세로 에지에 대한 가로 필터링 시 상측 화소부터 하나씩 차례대로 필터링을 하는 것을 나타내며, 우측도면은 가로 에지에 대한 세로 필터링 시 좌측 화소부터 하나씩 차례대로 필터링을 하는 것을 나타낸다. 즉, 가로 필터링과 세로 필터링을 하나의 필터 엔진을 사용하여 처리할 수 있어 하드웨어의 크기를 줄일 수 있게 된다. 도 9에서 원형 숫자는 각 라인의 필터링 순서를 나타낸다.
한편, 본 발명에 따른 디블록 필터는 4x4 픽셀 블록의 에지 단위로 필터링을 처리하기 때문에, 한 번에 4 개의 화소에 대하여 필터 계산을 할 수 있다. 이 경우, 한 개의 필터 엔진으로 4개의 화소에 대하여 필터 계산을 동시에 수행하도록 하기 위해 적절한 파이프 라인 구조를 사용한다.
도 10은 본 발명에 따른 필터 엔진의 파이프라인 구조를 나타낸다.
필터링 단계는 모두 3 단계로 구성되며, 상기 3 단계는 각 에지에 대한 필터 상수(BS; Boundary Strength)를 이용하여 α, β, tc0를 구하고, 화소간의 차를 구하는 제1 단계와, 블록 간 경계에 대해 필터 여부를 결정하고, 화소간 경계에 대해 필터 여부를 결정하는 제2 단계 및, Luminance 또는 Chrominance에 다른 필터링된 데이터를 출력하는 제3 단계로 구성된다.
도 9 및 도 10을 참조하면, 클록 사이클의 첫 번째 에지에서, 4x4 픽셀 블록의 첫 번째 라인에 대해 제1 단계의 필터링을 수행하고, 클록 사이클의 두 번째 에지에서, 첫 번째 라인에 대한 제2 단계의 필터링과 두 번째 라인에 대한 제1 단계의 필터링을 동시에 수행한다. 그리고, 클록 사이클의 세 번째 에지에서, 첫 번째 라인에 대한 제3 단계의 필터링, 두 번째 라인에 대한 제2 단계의 필터링, 및 세 번째 라인에 대한 제1 단계의 필터링이 동시에 수행된다. 그리고, 클록 사이클의 네 번째 에지에서, 두 번째 라인에 대한 제3 단계의 필터링, 세 번째 라인에 대한 제2 단계의 필터링, 및 네 번째 라인에 대한 제1 단계의 필터링이 동시에 수행된다. 이와 같은 파이프라인 방법을 사용하여 필터링을 수행하면, 하나의 에지를 필터링하는 데 12 사이클에서 6사이클로 필터링 시간을 단축 할 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 따른 디블록 필터 및 디블록 필터링 방법은, 디블록 필터의 순서를 적절히 배치함으로써 디블록 필터링 소요 시간을 단축하고, 하드웨어의 복잡도 를 줄일 수 있다. 또한, 본 발명에 따른 디블록 필터 방법을 적용하기 위한 내부 버퍼 메모리 구조 및 크기, 및 데이터 패스를 제공한다. 또한, 필터 엔진을 적절히 파이프라인 시켜서 1개의 필터 엔진으로 모든 필터링을 할 수 있는, 파이프라인 구조를 제공한다.

Claims (30)

  1. 블록킹 효과를 제거하기 위한 디블록 필터링 방법에 있어서,
    비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하는 단계;
    상기 등분된 에지들을 상기 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하는 단계; 및
    상기 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하는 단계를 포함하는 것을 특징으로 하는 디블록 필터링 방법.
  2. 제 1 항에 있어서,
    상기 필터링 순서 조합 단계에서, 상기 매크로 블록의 우측 경계에 있는 픽셀 블록의 경우, 좌측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 하측 가로 에지에 대한 세로 필터링의 순서로 디블록 필터링 되도록 필터 링 순서를 조합하며,
    상기 필터링 수행 단계에서, 상기 매크로 블록의 우측 경계에 있는 픽셀 블록의 우측 세로 에지에 대한 가로 필터링은 상기 매크로 블록의 우측에 이웃하는 매크로 블록의 필터링 시 수행하는 것을 특징으로 하는 디블록 필터링 방법.
  3. 제 2 항에 있어서,
    상기 필터링 순서 조합 단계에서, 상기 매크로 블록의 하측 경계에 있는 픽셀 블록의 경우, 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링의 순서로 디블록 필터링 되도록 필터링 순서를 조합하며,
    상기 필터링 수행 단계에서, 상기 매크로 블록의 하측 경계에 있는 픽셀 블록의 하측 가로 에지에 대한 세로 필터링은 상기 매크로 블록의 하측에 이웃하는 매크로 블록의 필터링 시 수행하는 것을 특징으로 하는 디블록 필터링 방법.
  4. 제 3 항에 있어서,
    상기 필터링 순서 조합 단계에서, 상기 매크로 블록의 우측 경계 및 하측 경계에 있는 픽셀 블록의 경우, 좌측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링의 순서로 디블록 필터링 되도록 필터링 순서를 조합하며,
    상기 필터링 수행 단계에서, 상기 매크로 블록의 우측 경계 및 하측 경계에 있는 픽셀 블록의 우측 세로 에지에 대한 가로 필터링은 상기 매크로 블록의 우측 에 이웃하는 매크로 블록의 필터링 시 수행하고, 상기 매크로 블록의 우측 경계 및 하측 경계에 있는 픽셀 블록의 하측 가로 에지에 대한 세로 필터링은 상기 매크로 블록의 하측에 이웃하는 매크로 블록의 필터링 시 수행하는 것을 특징으로 하는 디블록 필터링 방법.
  5. 블록킹 효과를 제거하기 위한 디블록 필터링 방법에 있어서,
    비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하는 단계;
    상기 등분된 에지들을 상기 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하는 단계; 및
    상기 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하는 단계를 포함하며,
    상기 필터링 단계는,
    상기 픽셀 블록의 세로 에지를 필터링 하는 경우, 상기 세로 에지의 좌측 및 우측 픽셀 블록의 데이터를 내부 메모리에서 판독하는 단계;
    상기 좌측 픽셀 블록의 데이터와 상기 현재 픽셀 블록의 데이터를 이용하여 가로 필터링 하고 내부 레지스터에 저장하는 단계; 및
    상기 필터링된 좌측 픽셀 블록의 데이터는 상하좌우 에지에 대한 필터링이 완료된 경우에는 외부 저장 메모리로 저장하는 단계를 더 포함하고,
    상기 픽셀 블록의 가로 에지를 필터링 하는 경우, 상기 가로 에지의 상측 및 하측 픽셀 블록의 데이터를 내부 메모리에서 판독하는 단계;
    상기 상측 픽셀 블록의 데이터와 상기 하측 픽셀 블록의 데이터를 이용하여 세로 필터링 하여 상기 내부 레지스터에 저장하는 단계; 및
    상기 필터링된 상측 픽셀 블록의 데이터는 상하좌우 에지에 대한 필터링이 완료된 경우에는 외부 저장 메모리로 저장하는 단계를 더 포함하는 것을 특징으로 하는 디블록 필터링 방법.
  6. 제 5 항에 있어서,
    상기 필터링 단계에서,
    상기 매크로 블록의 우측 경계에 있는 픽셀 블록들의 필터링 단계에서는 상기 가장 우측 픽셀 블록의 우측 세로 에지에 대한 가로 필터링 단계가 남은 경우 상기 픽셀 블록의 데이터는 상기 내부 메모리로 전송된 후, 상기 매크로 블록의 우측에 이웃하는 매크로 블록 데이터의 필터링 시 상기 세로 에지에 대한 필터링을 하며,
    상기 매크로 블록의 하측 경계에 있는 픽셀 블록들의 필터링 단계에서는 상기 가장 하측 픽셀 블록의 하측 가로 에지에 대한 세로 필터링 단계가 남은 경우 상기 픽셀 블록의 데이터는 상기 내부 메모리로 전송된 후, 상기 매크로 블록의 하측에 이웃하는 매크로 블록 데이터의 필터링 시 상기 가로 에지에 대한 필터링을 하는 것을 특징으로 하는 디블록 필터링 방법.
  7. 제 6 항에 있어서,
    상기 필터링 단계에서,
    상기 매크로 블록의 우측 경계 및 하측 경계에 있는 픽셀 블록의 필터링 단계에서는 상기 픽셀 블록의 우측 세로 에지 및 하측 가로 에지에 대한 필터링 단계가 남아 있는 경우,
    상기 픽셀 블록의 데이터는 상기 내부 메모리에 전송되어 저장된 후, 상기 매크로 블록의 우측에 이웃하는 매크로 블록 데이터의 필터링 시 상기 세로 에지에 대한 필터링을 하고,
    상기 세로 에지에 대한 필터링 후 업데이트 된 상기 픽셀 데이터는 다시 상기 내부 메모리에 저장된 후, 상기 매크로 블록의 하측에 이웃하는 매크로 블록 데이터의 필터링 시 상기 가로 에지에 대한 필터링을 수행하는 것을 특징으로 하는 디블록 필터링 방법.
  8. 제 7 항에 있어서,
    상기 내부 레지스터는 제1, 제2, 및 제3 레지스터를 포함하며,
    상기 세로 에지에 대한 필터링 단계에서, 상기 가로 필터링 후, 좌측 픽셀 블록의 데이터는 상기 제1 레지스터에 저장하고, 상기 우측 픽셀 블록의 데이터는 상기 제2 레지스터에 저장하는 단계를 더 포함하며,
    상기 가로 에지에 대한 필터링 단계에서, 상기 세로 필터링 후, 상측 픽셀 블록의 데이터는 상기 제3 레지스터에 저장하고, 상기 하측 픽셀 블록의 데이터는 상기 제1 레지스터에 저장하는 단계를 더 포함하는 것을 특징으로 하는 디블록 필터링 방법.
  9. 제 5 항에 있어서,
    상기 가로 필터링 단계와 세로 필터링 단계는 하나의 픽셀 라인씩 순차적으로 진행하는 것을 특징으로 하는 디블록 필터링 방법.
  10. 블록킹 효과를 제거하기 위한 디블록 필터에 있어서,
    비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하고, 상기 등분된 에지들을 상기 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하며, 상기 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하도록 제어하는 필터 제어부;
    현재 필터링을 수행하기 위한 매크로 블록 데이터, 상기 현재 필터링이 진행되는 매크로 블록의 좌측에 이웃하는 픽셀 블록들의 데이터, 및 상기 현재 필터링이 진행되는 매크로 블록의 상측에 이웃하는 픽셀 라인들의 데이터를 저장하기 위 한 내부 메모리;
    상기 픽셀 블록의 세로 에지 및 가로 에지에 대한 필터링 시 필요한 데이터를 상기 내부 메모리에서 판독하여 임시 저장하고, 상기 필터링된 픽셀 블록 데이터를 업데이트 하기 위한 내부 레지스터; 및
    필터링이 완료된 픽셀 블록을 저장하기 위한 외부 저장 메모리를 포함하며,
    상기 필터 제어부는,
    상기 픽셀 블록의 세로 에지를 필터링 하는 경우, 상기 세로 에지의 좌측 및 우측 픽셀 블록의 데이터를 상기 내부 메모리 또는 상기 내부 레지스터에서 판독하여 가로 필터링 처리하고, 업데이트 된 데이터를 상기 내부 레지스터에 저장한 뒤, 상기 필터링된 좌측 픽셀 블록의 데이터가 상하좌우 에지에 대한 필터링이 완료된 경우에는 상기 외부 저장 메모리로 저장하며,
    상기 픽셀 블록의 가로 에지를 필터링 하는 경우, 상기 가로 에지의 상측 및 하측 픽셀 블록의 데이터를 상기 내부 메모리 또는 상기 내부 레지스터에서 판독하여 세로 필터링 처리하고, 업데이트 된 데이터를 상기 내부 레지스터에 저장한 뒤, 상기 필터링된 상측 픽셀 블록의 데이터가 상하좌우 에지에 대한 필터링이 완료된 경우에는 상기 외부 저장 메모리로 저장하는 것을 특징으로 하는 디블록 필터.
  11. 제 10 항에 있어서,
    상기 내부 메모리는,
    현재 필터링을 수행하기 위한 매크로 블록 데이터를 저장하는 현 매크로 블 록 메모리;
    상기 현재 필터링이 진행되는 매크로 블록의 좌측에 이웃하는 픽셀 블록들의 데이터를 저장하는 제1 이웃 픽셀 메모리; 및
    상기 현재 필터링이 진행되는 매크로 블록의 상측에 이웃하는 픽셀 라인들의 데이터를 저장하기 위한 제2 이웃 픽셀 메모리를 포함하는 것을 특징으로 하는 디블록 필터.
  12. 제 11 항에 있어서,
    상기 필터 제어부는,
    상기 현재 매크로 블록의 가장 좌측 세로 에지를 필터링하는 경우, 상기 세로 에지의 좌측 픽셀 블록의 데이터를 상기 제1 이웃 픽셀 메모리에서 판독하고, 상기 세로 에지의 우측 픽셀 블록의 데이터를 상기 현 매크로 블록 메모리에서 판독하며,
    상기 현재 매크로 블록의 가장 상측 가로 에지를 필터링하는 경우, 상기 가로 에지의 상측 픽셀 블록의 데이터를 상기 제2 이웃 픽셀 메모리에서 판독하고, 상기 가로 에지의 하측 픽셀의 데이터를 상기 내부 레지스터에서 판독하는 것을 특징으로 하는 디블록 필터.
  13. 제 12 항에 있어서,
    상기 필터 제어부는,
    상기 매크로 블록의 우측 경계에 있는 픽셀 블록들의 필터링 후 상기 우측 경계의 픽셀 블록의 세로 에지에 대한 가로 필터링 단계가 1회 남은 경우 상기 픽셀 블록의 데이터를 상기 제1 이웃 픽셀 메모리로 전송하고,
    상기 매크로 블록의 하측 경계에 있는 픽셀 블록들의 필터링 후 상기 하측 경계의 픽셀 블록의 가로 에지에 대한 세로 필터링 단계가 1회 남은 경우 상기 픽셀 블록의 데이터를 상기 내부 메모리로 전송하는 것을 특징으로 하는 디블록 필터.
  14. 제 13 항에 있어서,
    상기 필터 제어부는,
    상기 제1 이웃 픽셀 메모리로 전송된 데이터는 상기 현재 매크로 블록의 이웃하는 우측 매크로 블록 데이터의 가로 필터링 시 판독되어 필터링이 수행되고,
    상기 제2 이웃 픽셀 메모리로 전송된 데이터는 상기 현재 매크로 블록의 이웃하는 상측 매크로 블록 데이터의 세로 필터링 시 판독되어 필터링이 수행되는 것을 특징으로 하는 디블록 필터.
  15. 제 14 항에 있어서,
    상기 필터 제어부는, 상기 매크로 블록의 우측 경계 및 하측 경계에 있는 픽셀 블록의 필터링 후 상기 픽셀 블록의 세로 에지 및 가로 에지에 대한 필터링 단계가 1회씩 남아 있는 경우 상기 픽셀 블록의 데이터를 상기 제1 이웃 픽셀 메모리 에 저장하고, 상기 매크로 블록의 우측에 이웃하는 매크로 블록 데이터의 가로 필터링 시 판독하여 필터링을 수행하고, 필터링 후 업데이트 된 데이터를 상기 제2 이웃 픽셀 메모리로 저장하고, 상기 매크로 블록의 하측에 이웃하는 매크로 블록 데이터의 세로 필터링 시 판독하여 필터링을 수행하는 것을 특징으로 하는 디블록 필터.
  16. 제 12 항에 있어서,
    상기 내부 레지스터는 제1, 제2, 및 제3 레지스터를 포함하며,
    상기 필터 제어부는,
    상기 세로 에지에 대한 가로 필터링 후, 업데이트 된 좌측 픽셀 블록의 데이터를 상기 제1 레지스터에 저장하고, 업데이트 된 우측 픽셀 블록의 데이터를 상기 제2 레지스터에 저장하며, 상기 가로 에지에 대한 세로 필터링 후, 업데이트 된 상측 픽셀 블록의 데이터를 상기 제3 레지스터에 저장하고, 업데이트 된 하측 픽셀 블록의 데이터를 상기 제1 레지스터에 저장하는 것을 특징으로 하는 디블록 필터.
  17. 제 16 항에 있어서,
    상기 필터 제어부는,
    상기 제1, 및 제2 레지스터에 저장된 픽셀 블록 데이터를 하나의 픽셀 라인씩 순차적으로 판독하여 필터링하는 것을 특징으로 하는 디블록 필터.
  18. 제 10 항에 있어서,
    현 매크로 블록 메모리는
    Luminance 데이터를 저장하기 위한 Luminance 저장부와 Chrominance 의 Cb/Cr 데이터를 저장하기 위한 Chrominance 저장부로 구성되며, 상기 Luminace 저장부는 16개의 4x4 픽셀 블록으로 구성되고, 상기 Chrominance 저장부는 8개의 4x4 픽셀 블록으로 구성되고, 상기 하나의 4x4 픽셀 블록은 32 비트 씩 4개 워드로 구성되며, 상기 현 매크로 블록 메모리는 96 뎁스(depth)로 구성되는 것을 특징으로 하는 디블록 필터.
  19. 제 10 항에 있어서,
    상기 제1 이웃 픽셀 메모리는
    Luminance 데이터를 저장하기 위한 Luminance 저장부와 Chrominance 의 Cb/Cr 데이터를 저장하기 위한 Chrominance 저장부로 구성되며, 상기 Luminace 저장부는 4개의 4x4 픽셀 블록으로 구성되고, 상기 Chrominance저장부는 2개의 4x4 픽셀 블록으로 구성되고, 상기 하나의 4x4 픽셀 블록은 32 비트 씩 4개 워드로 구성되며, 상기 제1 이웃 픽셀 메모리는 32 뎁스(depth)로 구성되는 것을 특징으로 하는 디블록 필터.
  20. 제 10 항에 있어서,
    상기 제2 이웃 픽셀 메모리는,
    Luminance 데이터를 저장하기 위한 Luminance 저장부와 Chrominance 의 Cb/Cr 데이터를 저장하기 위한 Chrominance 저장부로 구성되며, 상기 제2 이웃 픽셀 메모리는 입력 영상의 한 화소 라인의 크기로 구성되는 것을 특징으로 하는 디블록 필터.
  21. 필터링하는 데이터를 저장하기 위한 내부 메모리, 및 제1, 제2 및, 제3 레지스터를 포함하는 디블록 필터를 이용하여,
    비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하고, 상기 등분된 에지들을 상기 각 4x4 크기의 픽셀 블록에 대하여, 각각 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링 되도록 필터링 순서를 조합하며, 상기 조합된 순서에 따라 상기 에지들에 대한 필터링을 수행하는 디블록 필터링 방법에 있어서,
    상기 4x4 크기의 픽셀 블록의 세로 에지에 대한 가로 필터링 시,
    상기 내부 메모리 또는 상기 제2 레지스터에서 판독한 좌측 픽셀 블록 중 한 라인의 픽셀 데이터와 상기 내부 메모리에서 판독한 우측 픽셀 블록 중 한 라인의 픽셀 데이터 이용하여 가로 필터링 하는 단계;
    상기 가로 필터링 후 업데이트 된 상기 좌측 픽셀 블록의 데이터를 상기 제1 레지스터에 저장하는 단계; 및
    상기 가로 필터링 후 업데이트 된 상기 우측 픽셀 블록의 데이터를 상기 제2 레지스터에 저장하는 단계를 포함하며,
    상기 4x4 크기의 픽셀 블록의 가로 에지에 대한 세로 필터링 시,
    상기 내부 메모리에서 판독한 상측 픽셀 블록의 데이터를 상기 제3 레지스터에 저장하는 단계;
    상기 제3 레지스터에 저장된 상측 픽셀 블록 중 한 라인의 픽셀 데이터와 상기 제1 레지스터 또는 상기 제2 레지스터에 저장된 하측 픽셀 블록 중 한 라인의 픽셀 데이터 이용하여 세로 필터링 하는 단계;
    상기 세로 필터링 후 업데이트 된 상기 상측 픽셀 블록의 데이터를 상기 제3 레지스터에 저장하는 단계; 및
    상기 세로 필터링 후 업데이트 된 상기 하측 픽셀 블록의 데이터를 상기 제1 레지스터에 저장하는 단계를 포함하는 것을 특징으로 하는 디블록 필터링 방법.
  22. 제 21 항에 있어서,
    상기 가로 필터링 단계는,
    상기 내부 메모리 또는 상기 제2 레지스터에서 판독한 좌측 픽셀 블록 중 한 라인의 픽셀 데이터를 제1 연산 레지스터에 저장하는 단계;
    상기 내부 메모리에서 판독한 우측 픽셀 블록 중 한 라인의 픽셀 데이터를 제2 연산 레지스터에 저장하는 단계; 및
    상기 제1 연산 레지스터에 저장된 데이터와 상기 제2 연산 레지스터에 저장 된 데이터를 이용하여 가로 필터링 하는 단계를 포함하고,
    상기 세로 필터링 단계는,
    상기 제3 레지스터에 저장된 상측 픽셀 블록 중 한 라인의 픽셀 데이터를 상기 제1 연산 레지스터에 저장하는 단계;
    상기 제1 레지스터 또는 상기 제2 레지스터에 저장된 하측 픽셀 블록 중 한 라인의 픽셀 데이터를 상기 제2 연산 레지스터에 저장하는 단계; 및
    상기 제1 연산 레지스터에 저장된 데이터와 상기 제2 연산 레지스터에 저장된 데이터를 이용하여 세로 필터링 하는 단계를 포함하는 것을 특징으로 하는 디블록 필터링 방법.
  23. 제 21 항에 있어서,
    상기 가로 필터링 단계에서, 상기 세로 에지의 상기 좌측 픽셀 블록의 데이터가 현재 매크로 블록의 좌측에 이웃하는 매크로 블록의 데이터인 경우에는 상기 좌측 픽셀 블록의 데이터를 상기 내부 메모리에서 판독하며, 상기 세로 에지의 상기 좌측 픽셀 블록의 데이터가 현재 매크로 블록 내의 데이터이면, 상기 제2 레지스터에서 판독하는 것을 특징으로 하는 디블록 필터링 방법.
  24. 제 21 항에 있어서,
    상기 세로 필터링 단계에서, 연속된 세로 필터링의 경우에서 두 번째 세로 필터링을 수행하는 경우에는 상기 하측 픽셀 블록의 데이터를 상기 제2 레지스터에 서 판독하며, 이웃하지 않는 세로 필터링을 수행하는 경우와 상기 연속된 세로 필터링의 경우에서 첫 번째 세로 필터링을 수행하는 경우에는 상기 하측 픽셀 블록의 데이터를 상기 제1 레지스터에서 판독하는 것을 특징으로 하는 디블록 필터링 방법.
  25. 제 22 항에 있어서,
    상기 디블록 필터링 방법은,
    비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 상기 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하는 단계; 및
    상기 4x4 크기의 픽셀 블록 단위로 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링을 수행하는 단계를 더 포함하는 것을 특징으로 하는 디블록 필터링 방법.
  26. 제 25 항에 있어서,
    상기 필터링 단계는,
    상기 픽셀 블록의 세로 에지를 필터링 하는 경우, 상기 제1 레지스터에 저장된 좌측 픽셀 블록의 데이터가 상하좌우 에지에 대한 필터링이 완료된 경우에는 외부 저장 메모리로 저장하는 단계를 더 포함하고,
    상기 픽셀 블록의 가로 에지를 필터링 하는 경우, 상기 제3 레지스터에 저장된 상측 픽셀 블록의 데이터가 상하좌우 에지에 대한 필터링이 완료된 경우에는 상기 외부 저장 메모리로 저장하는 단계를 더 포함하는 것을 특징으로 하는 디블록 필터링 방법.
  27. 제 26 항에 있어서,
    상기 매크로 블록의 가장 우측 픽셀 블록들의 필터링 후, 상기 가장 우측 픽셀의 세로 에지에 대한 가로 필터 단계가 1회 남은 경우 상기 픽셀 블록의 데이터는 내부 메모리로 전송된 후, 상기 매크로 블록의 우측 매크로 블록 데이터의 필터링 시 세로 에지에 대한 필터링을 하며,
    상기 매크로 블록의 가장 하측 픽셀 블록들의 필터링 후, 상기 가장 하측 픽셀의 가로 에지에 대한 세로 필터 단계가 1회 남은 경우 상기 픽셀 블록의 데이터는 상기 내부 메모리로 전송된 후, 상기 매크로 블록의 하측 매크로 블록 데이터의 필터링 시 가로 에지에 대한 필터링을 하는 것을 특징으로 하는 디블록 필터링 방법.
  28. 제 27 항에 있어서,
    상기 매크로 블록의 가장 우측의 가장 하측 블록의 필터링 후, 상기 픽셀 블록의 세로 에지 및 가로 에지에 대한 필터 단계가 1회씩 남아 있는 경우 상기 픽셀 블록의 데이터는 상기 내부 메모리에 전송되어 저장된 후, 상기 매크로 블록의 우 측 매크로 블록 데이터의 필터링 시 세로 에지에 대한 필터링을 하고,
    상기 세로 에지에 대한 필터링 후 상기 내부 메모리에 저장된 후, 상기 매크로 블록의 하측 매크로 블록 데이터의 필터링 시 가로 에지에 대한 필터링을 수행하는 것을 특징으로 하는 디블록 필터링 방법.
  29. 블록킹 효과를 제거하기 위한 디블록 필터링 방법에 있어서,
    비디오 데이터의 매크로 블록에 대응하는 가로 에지들 및 세로 에지들을 4x4 크기의 픽셀 블록에 대응하는 가로 에지들 및 세로 에지들로 등분하는 단계; 및
    상기 4x4 크기의 픽셀 블록 단위로 좌측 세로 에지에 대한 가로 필터링, 우측 세로 에지에 대한 가로 필터링, 상측 가로 에지에 대한 세로 필터링, 및 하측 가로 에지에 대한 세로 필터링 순서로 디블록 필터링을 수행하는 단계를 포함하며,
    상기 디블록 필터링 단계는,
    상기 4x4 크기의 픽셀 블록의 데이터를 한 라인씩 순차적으로 필터링하는 단계를 포함하는 것을 특징으로 하는 디블록 필터.
  30. 제 29 항에 있어서,
    상기 순차적 필터링 단계는,
    상기 각 에지에 대한 필터 상수를 이용하여 화소간 차를 구하는 제1 단계;
    블록간 경계에 대해 필터 여부를 결정하고, 화소간 경계에 대한 필터 여부를 결정하는 제2 단계; 및
    Luminance 또는 Chronimance에 따른 필터링된 데이터를 출력하는 제3 단계를 포함하며,
    상기 픽셀 블록의 어느 한 라인에 대한 제2 단계는, 다음 라인에 대한 제1 단계와 동시에 진행되며,
    상기 픽셀 블록의 어느 한 라인에 대한 제3 단계는, 다음 라인에 대한 제2 단계와 그 다음 라인에 대한 제1 단계가 동시에 진행되는 것을 특징으로 하는 디블록 필터.
KR1020040099724A 2004-12-01 2004-12-01 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법 KR20060060919A (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020040099724A KR20060060919A (ko) 2004-12-01 2004-12-01 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
US11/226,563 US20060115002A1 (en) 2004-12-01 2005-09-14 Pipelined deblocking filter
TW94141084A TWI290438B (en) 2004-12-01 2005-11-23 A pipelined deblocking filter
JP2005344038A JP2006157925A (ja) 2004-12-01 2005-11-29 パイプラインデブロッキングフィルタ
CN2005101297124A CN1794814B (zh) 2004-12-01 2005-12-01 流水线化解块滤波器
DE200510058508 DE102005058508A1 (de) 2004-12-01 2005-12-01 Verfahren zur Pixeldaten-Blockfilterung und Deblockingfilter
GB0524562A GB2420929A (en) 2004-12-01 2005-12-01 A pipelined deblocking filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040099724A KR20060060919A (ko) 2004-12-01 2004-12-01 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법

Publications (1)

Publication Number Publication Date
KR20060060919A true KR20060060919A (ko) 2006-06-07

Family

ID=35685910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040099724A KR20060060919A (ko) 2004-12-01 2004-12-01 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법

Country Status (4)

Country Link
US (1) US20060115002A1 (ko)
KR (1) KR20060060919A (ko)
CN (1) CN1794814B (ko)
GB (1) GB2420929A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100824287B1 (ko) * 2007-02-13 2008-04-24 한국과학기술원 저전력 고속 디블록킹 필터
KR100856551B1 (ko) * 2007-05-31 2008-09-04 한국과학기술원 H.264/avc에서의 디블록 필터 및 필터링 방법
KR100877164B1 (ko) * 2004-07-02 2009-01-07 콸콤 인코포레이티드 비디오 매크로블록들을 에지 필터링하는 방법, 장치 및 비디오 시스템
KR101119978B1 (ko) * 2010-04-13 2012-03-16 인하대학교 산학협력단 디블록킹 필터 및 그 방법
WO2014104520A1 (ko) * 2012-12-27 2014-07-03 전자부품연구원 변환 방법, 연산 방법 및 이를 적용한 hevc 시스템

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4834446B2 (ja) * 2006-04-11 2011-12-14 株式会社東芝 画像処理装置
US8542744B2 (en) * 2006-05-19 2013-09-24 Altera Corporation Methods and apparatus for providing a scalable deblocking filtering assist function within an array processor
CN100446573C (zh) * 2006-06-22 2008-12-24 上海交通大学 基于avs的去块效应滤波器vlsi实现装置
CN100417227C (zh) * 2006-06-29 2008-09-03 上海交通大学 用于avs视频解码器的高效流水线***
US9001899B2 (en) * 2006-09-15 2015-04-07 Freescale Semiconductor, Inc. Video information processing system with selective chroma deblock filtering
JP2008124742A (ja) * 2006-11-10 2008-05-29 Sony Corp 画像処理装置、画像処理方法、およびプログラム
US20080123750A1 (en) * 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec
US9445128B2 (en) * 2006-12-08 2016-09-13 Freescale Semiconductor, Inc. System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers
US9961372B2 (en) 2006-12-08 2018-05-01 Nxp Usa, Inc. Adaptive disabling of deblock filtering based on a content characteristic of video information
CN100584019C (zh) * 2007-06-27 2010-01-20 中国科学院微电子研究所 视频解码中变换扫描表的反变换方法及装置
US20090147849A1 (en) * 2007-12-07 2009-06-11 The Hong Kong University Of Science And Technology Intra frame encoding using programmable graphics hardware
WO2009123033A1 (ja) * 2008-03-31 2009-10-08 日本電気株式会社 デブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法
US9602821B2 (en) * 2008-10-01 2017-03-21 Nvidia Corporation Slice ordering for video encoding
US8861586B2 (en) * 2008-10-14 2014-10-14 Nvidia Corporation Adaptive deblocking in a decoding pipeline
US8724694B2 (en) * 2008-10-14 2014-05-13 Nvidia Corporation On-the spot deblocker in a decoding pipeline
US8867605B2 (en) * 2008-10-14 2014-10-21 Nvidia Corporation Second deblocker in a decoding pipeline
US9179166B2 (en) * 2008-12-05 2015-11-03 Nvidia Corporation Multi-protocol deblock engine core system and method
US8761538B2 (en) * 2008-12-10 2014-06-24 Nvidia Corporation Measurement-based and scalable deblock filtering of image data
JP5183664B2 (ja) * 2009-10-29 2013-04-17 財團法人工業技術研究院 ビデオ圧縮のためのデブロッキング装置及び方法
CN102055969B (zh) * 2009-10-30 2012-12-19 鸿富锦精密工业(深圳)有限公司 影像解块过滤器及使用其的影像处理装置
US20110116545A1 (en) * 2009-11-17 2011-05-19 Jinwen Zan Methods and devices for in-loop video deblocking
US20110135011A1 (en) * 2009-12-04 2011-06-09 Apple Inc. Adaptive dithering during image processing
US8787443B2 (en) * 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
US20120230423A1 (en) * 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding
US9300975B2 (en) * 2011-09-11 2016-03-29 Texas Instruments Incorporated Concurrent access shared buffer in a video encoder
US9363516B2 (en) 2012-01-19 2016-06-07 Qualcomm Incorporated Deblocking chroma data for video coding
CN103379327A (zh) * 2012-04-24 2013-10-30 安凯(广州)微电子技术有限公司 一种去方块效应滤波方法
CN102724512A (zh) * 2012-06-29 2012-10-10 豪威科技(上海)有限公司 环路滤波器及环路滤波方法
US20140056363A1 (en) * 2012-08-23 2014-02-27 Yedong He Method and system for deblock filtering coded macroblocks
CN106470341B (zh) 2015-08-17 2020-10-02 恩智浦美国有限公司 媒体显示***
KR20200060589A (ko) * 2018-11-21 2020-06-01 삼성전자주식회사 병합된 프레임율 컨버터와 비디오 코덱을 갖는 시스템 온 칩 및 그것의 프레임율 변환 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337088A (en) * 1991-04-18 1994-08-09 Matsushita Electric Industrial Co. Ltd. Method of correcting an image signal decoded in block units
FI117534B (fi) * 2000-01-21 2006-11-15 Nokia Corp Menetelmä digitaalisten kuvien suodattamiseksi ja suodatin
KR100418437B1 (ko) * 2001-12-24 2004-02-14 (주)씨앤에스 테크놀로지 멀티미디어 신호처리를 위한 영상복원 프로세서
US8516026B2 (en) * 2003-03-10 2013-08-20 Broadcom Corporation SIMD supporting filtering in a video decoding system
US7362810B2 (en) * 2003-05-13 2008-04-22 Sigmatel, Inc. Post-filter for deblocking and deringing of video data
KR100644618B1 (ko) * 2004-07-02 2006-11-10 삼성전자주식회사 블록 단위로 부호화된 영상의 블록경계에서의 불연속성제거필터 및 방법
KR100614647B1 (ko) * 2004-07-02 2006-08-22 삼성전자주식회사 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877164B1 (ko) * 2004-07-02 2009-01-07 콸콤 인코포레이티드 비디오 매크로블록들을 에지 필터링하는 방법, 장치 및 비디오 시스템
KR100824287B1 (ko) * 2007-02-13 2008-04-24 한국과학기술원 저전력 고속 디블록킹 필터
KR100856551B1 (ko) * 2007-05-31 2008-09-04 한국과학기술원 H.264/avc에서의 디블록 필터 및 필터링 방법
KR101119978B1 (ko) * 2010-04-13 2012-03-16 인하대학교 산학협력단 디블록킹 필터 및 그 방법
WO2014104520A1 (ko) * 2012-12-27 2014-07-03 전자부품연구원 변환 방법, 연산 방법 및 이를 적용한 hevc 시스템

Also Published As

Publication number Publication date
CN1794814B (zh) 2010-12-08
GB2420929A (en) 2006-06-07
CN1794814A (zh) 2006-06-28
GB0524562D0 (en) 2006-01-11
US20060115002A1 (en) 2006-06-01

Similar Documents

Publication Publication Date Title
KR20060060919A (ko) H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
US7760809B2 (en) Deblocking filter apparatus and methods using sub-macro-block-shifting register arrays
KR100843196B1 (ko) H.264/avc 비디오 디코더의 디블록킹 필터
US8369420B2 (en) Multimode filter for de-blocking and de-ringing
CN103947208B (zh) 减少解块滤波器的方法及装置
JP4605052B2 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム
KR100771879B1 (ko) 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치
JP5183664B2 (ja) ビデオ圧縮のためのデブロッキング装置及び方法
TWI295140B (en) A dual-mode high throughput de-blocking filter
US20090129478A1 (en) Deblocking filter
KR101274112B1 (ko) 영상 부호화 장치
CN114979670A (zh) 自适应环路滤波方法及相应电路
KR20080076817A (ko) 디지털 동영상 처리 시스템의 디블록 필터링 장치 및 방법
CN104253998A (zh) 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法
KR100359208B1 (ko) 고속 디블럭킹 필터 장치
KR100686141B1 (ko) 이동형 방송 수신기의 디블로킹 필터 및 필터링 방법
US20100014597A1 (en) Efficient apparatus for fast video edge filtering
KR20050121627A (ko) 동영상 코덱의 필터링 방법 및 필터링 장치
KR101331093B1 (ko) 프레임 메모리의 단일뱅크 내 참조 영상의 픽셀 인터리빙 방법 및 장치, 이를 포함하는 영상코덱 시스템
US8170363B2 (en) Image processing apparatus for performing deblocking filtering process
US20080159637A1 (en) Deblocking filter hardware accelerator with interlace frame support
EP2073553A1 (en) Method and apparatus for performing de-blocking filtering of a video picture
Kthiri et al. A parallel hardware architecture of deblocking filter in H264/AVC
KR100816461B1 (ko) 실시간 디블록킹 필터 및 이를 이용한 디블록킹 방법
KR101063421B1 (ko) 영상 디코더 및 영상 디코딩 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application