KR20070058839A - 디블록킹 필터 - Google Patents

디블록킹 필터 Download PDF

Info

Publication number
KR20070058839A
KR20070058839A KR1020050117615A KR20050117615A KR20070058839A KR 20070058839 A KR20070058839 A KR 20070058839A KR 1020050117615 A KR1020050117615 A KR 1020050117615A KR 20050117615 A KR20050117615 A KR 20050117615A KR 20070058839 A KR20070058839 A KR 20070058839A
Authority
KR
South Korea
Prior art keywords
stage
data
filtering
pixel data
boundary
Prior art date
Application number
KR1020050117615A
Other languages
English (en)
Other versions
KR100729241B1 (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 KR1020050117615A priority Critical patent/KR100729241B1/ko
Publication of KR20070058839A publication Critical patent/KR20070058839A/ko
Application granted granted Critical
Publication of KR100729241B1 publication Critical patent/KR100729241B1/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/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/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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 디지털 영상 디코더에서 전치 행렬 변환 메모리 버퍼를 이용하여 최소한의 하드웨어 자원을 활용하는 디블록킹 필터링 장치에 관한 것이다. 본 발명은 프레임 메모리에 저장되어 있는 픽셀 데이터를 효율적으로 필터링 하기 위한 전치 행렬 변환 메모리 버퍼와 3스테이지-파이프 라인 아키텍쳐 형태의 연산 로직(ALU)으로 구성되어 있다. 전치 행렬 변환 메모리 버퍼는 수직 방향으로 인접한 영상 픽셀 데이터의 필터링 방식을 수평 방향 필터링 방식과 동일하게 하여 불필요한 메모리 접근을 최소화하도록 한다. 한편, 3스테이지-파이프라인 아키텍쳐로 구성된 픽셀 데이터 연산 로직은 제 1 스테이지(stage) - 픽셀 데이터를 추출(fetch)과 필터 타입(Type)을 결정, 제 2 스테이지(stage) - 추출된 픽셀 데이터의 필터링(filtering), 제 3 스테이지(stage) - 필터링된 픽셀 데이터의 결과를 출력하는 각 스테이지를 독립적으로 수행하게 하여 연산 속도를 향상 시키도록 한다. 따라서 본 발명에 의하면, 기존의 중복적인 메모리 접근에 의해 발생되는 전체 복호화 프로그램의 성능 저하를 개선시킬 수 있을 뿐만 아니라 파이프 라인 아키텍쳐를 통하여 연산 속도를 향상 시킬 수 있다.
H.264, 루프 필터, 디블록킹, 전치 행렬 변환, 메모리 버퍼

Description

디블록킹 필터링 장치{Apparatus for deblocking filtering}
도 1은 종래의 매크로 블록에서 필터링 수행하는 과정을 나타낸 도면이다.
도 2는 본 발명에 따른 디블록킹 필터장치의 전체 구성도이다.
도 3은 가로/세로 경계에 입접한 픽셀을 나타낸 도면이다.
도 4는 세로 경계 필터링일 때 물리적 메모리 구조를 나타낸 도면이다.
도 5는 내부 메모리 버퍼의 전치 행렬 변환의 특성을 나타낸 도면이다.
도 6은 가로 경계 필터링을 위한 전치 행렬 변환의 특성을 나타낸 도면이다.
도 7은 가로 경계 필터링 결과를 위한 전치 행렬 변환의 특성을 나타낸 도면이다.
< 도면의 주요부분에 대한 부호의 설명 >
10: 전치 행렬 변환 메모리 버퍼(Transposable Memory Buffer)
20: 페치/디스패치 및 결정 스테이지(Fetch/Dispatch & Decision stage)
30: P-필터 스테이지(P-Filter Stage)
40: Q-필터 스테이지(Q-Filter Stage)
50: 라이트-백 스테이지(Write-Back stage)
60: 파이프라인 제어기(Pipeline controller)
본 발명은 디블록킹 필터링 장치에 관한 것이다. 더욱 상세하게는 H.264 디코더(Decoder)에서 전치 행렬변환 메모리 버퍼를 이용하여 최소한의 하드웨어 자원을 활용하는 루프 디블럭킹 필터링 기술에 관한 것이다.
MPEG(Moving Picture Expert Group), JPEG(Joint Photographic Expert Group), H.264 등의 디지털 영상 압축 알고리즘은 한 개의 프레임 데이터를 여러 개의 블록(16x16, 8x8 또는 4x4)으로 나누어 처리함으로써 블록 내의 화소들이 갖는 시공간적 공통성(redundancy)를 효율적으로 제거하여 압축률을 높일 수 있다는 장점이 있다.
그러나 이러한 블록 단위의 영상 처리 기술은 블록의 경계에 존재하는 화소들의 불연속성을 증가시켜 원치않는 결과를 발생시킬 수 있게 된다. 따라서 원(Source) 영상에서 존재하는 불연속성인지 아니면 영상 처리에 의해 발생된 불연속성인지의 여부를 판단하게 되는데, 후자인 경우 이를 보완할 수 있는 장치가 필요하다. 영상 처리 알고리즘에서 이러한 역할을 담당하는 블록을 디블록킹 필터(De-Blocking Filter)라 한다.
일반적으로, 디블록킹 필터(De-Blocking Filter)는 도 1과 같이 블록의 경계 면에서 이웃하는 몇 개의 화소들의 정보를 이용하여 필터링 과정을 수행한다. 예컨대, 경계구역의 왼쪽에서 가까운 순서대로 존재하는 화소 세 개를 p0, p1, p2라 하 고 마찬가지로 오른쪽에 존재하는 화소 세 개를 q0, q1, q2라 할 경우, 다음의 세가지 조건을 만족하면 필터링을 통하여 위의 여섯 화소의 값을 재설정할 수 있다.
제 1조건: |p0 - q0| < γ
제 2조건: |p2 - p0| < α
제 3조건: |q2 - q0| < β
여기서, 상기 α, β,γ 임계값은 각 블록의 양자화 계수 등의 정보를 이용하여 결정한다.
상기와 같은 디블록킹 필터는 계산식이 복잡하지 않지만 모든 블록의 경계면에서 화소를 읽고 쓰는 작업이 필요하므로 효율적인 메모리 관리가 필수적이다. 특히 H.264의 복호화 프로그램에서 디블록킹 필터에 걸리는 시간이 전체의 약 20 ~ 30%를 차지하고 있기 때문에 디블록킹 필터의 성능 향상은 전체 복호화 과정에 지대한 영향을 기치게 된다.
일반적으로 디블록킹 필터를 수행하기 위해서는 8개의 픽셀 데이터를 프레임 메모리에서 읽어와 내부의 특정 버퍼에 저장한 후 필터링을 시작하고 그 결과를 다시 프레임 메모리에 저장하는 방식을 취하게 된다.
즉, 도 1에서와 같이 경계면 (b)를 기준으로 필터링이 수행되고 나면 경계면 (a)와 (b) 사이, 그리고 경계면 (b)와 (c) 사이의 화소들이 재설정되어 프레임 메모리에 저장된다. 그러나 경계면 (c)를 기준으로 필터링이 수행될 때 경계면 (b)와 (c) 사이의 화소들은 한번 더 프레임 메모리에서 읽혀지고 재설정되어 다시 쓰여 지는 작업을 반복하게 된다. 위와 같은 기존 방식의 중복적인 메모리 접근은 전체 복호화 프로그램의 성능을 저하시키게 된다.
또한 디블럭킹 필터의 대상이 되는 화소들은 문자형(character type) 8 bit의 변수 형태를 갖는다. 따라서 중앙처리장치(CPU)가 32 bit 단위의 메모리 접근 방식을 사용하게 될 경우 수평으로 동일한 선에 존재하는 이웃 화소는 다음의 [표 1]과 같이 연속적인 메모리 주소를 갖는다.
메모리 주소 0x03 0x02 0x01 0x00
화소 위치 pV(4n+3,m) pV(4n+2,m) pV(4n+1,m) pV(4n,m)
이때, 상기 pV(x,y)는 프레임 상에서 가로축으로 x번째, 세로축으로 y번째 위치에 존재하는 화소를 나타낸다.
도 1에서와 같이 (a),(b),(c),(d)의 세로 경계면의 경우 연속적인 두 단어(2 word)을 읽음으로써 경계면 좌우의 8 개의 화소들을 처리할 수 있다. 그러나 (e),(f),(g),(h)의 가로 경계면 주위의 상하 8 개의 화소들은 다음의 [표 2]와 같이 불연속적인 번지를 갖게 되어 실제 필요한 데이터보다 많은 량의 데이터 전송을 요하게 된다.
메모리 주소 0x23 0x22 0x21 0x20
화소 위치 pV(4n+3,m) pV(4n+2,m) pV(4n+1,m) pV(4n,m)
메모리 주소 0x43 0x42 0x41 0x40
화소 위치 pV(4n+3,m+1) pV(4n+2,m+1) pV(4n+1,m+1) pV(4n,m+1)
메모리 주소 0x63 0x62 0x61 0x60
화소 위치 pV(4n+3,m+2) pV(4n+2,m+2) pV(4n+1,m+2) pV(4n,m+2)
메모리 주소 0x83 0x82 0x81 0x80
화소 위치 pV(4n+3,m+3) pV(4n+2,m+3) pV(4n+1,m+3) pV(4n,m+3)
이때, 상기 프레임 너비가 0x20(32)인 경우 상하 인접한 화소간의 번지 차이는 0x20 이다.
예컨대, (4n+1,m-1)의 화소와 (4n+1,m)의 화소 경계면을 기준으로 필터링이 수행되어야 할 경우 32 bit 단위의 메모리 접근 방식에 의해 각 화소마다 필요 없는 3 bytes의 데이터 전송이 발생한다. 또한, 필터링된 결과를 저장할 때 필터링 되지 않는 주변 화소들을 유지시키기 위해 별도의 버퍼를 필요로 하게 된다.
따라서 기존의 메모리 구조를 통한 데이터 접근 방식은 불필요한 데이터 전송을 발생시켜 시스템 전체의 효율성을 저하시키게 된다.
한편, 본 발명과 관련된 공지된 기술을 살펴보면 “ 공개번호: 특2000-0012878 (공개일자: 2000.03.06), 발명의 명칭: 영상데이터 루프 필터링 방법 및 장치 ”가 제시되어 있다.
상기의 공지된 기술은 영상데이터의 인코딩 및 디코딩할 때 발생하는 양자화효과 감소를 위한 루프 필터링 방법 및 장치에 관한 기술로서, 그 방법은 역양자화된 영상 데이터의 역양자화 계수의 분포 및 이전 프레임과 현재 프레임의 차를 나타내는 움직임 벡터를 이용하여 영상데이터의 루프 필터링 필요성 여부를 나타내는 플래그를 추출하는 플래그추출단계; 및 추출된 플래그가 루프 필터링이 필요함을 나타내면, 플래그에 상응하는 영상데이터를 소정의 방법에 의해 필터링하는 필터링 단계를 포함함을 특징으로 한다.
그러나, 상기의 공지 기술에서는 플래그와 적응필터를 사용함으로써 양자화 효과를 감소시키고, 필터링의 계산량을 줄일 수 있다는 장점은 있으나, 본 발명과 같이 전치 행렬 변환이 가능한 메모리 버퍼를 이용하여 최소한의 하드웨어 자원을 활용할 수 있다는 점에서 공지의 기술과는 기술적 특징의 차이점이 존재한다.
또 다른 공지의 기술로서 “ 공개번호: 10-2005-0091270(2005.09.15), 발명의 명칭: 영상의 불연속성을 제거하기 위한 필터 및 필터링 방법 ”이 제시되어 있다.
상기의 공지 기술은 영상의 불연속성을 제거하기 위한 필터와 필터링 방법에 관한 것으로서, 그 구성은 소정크기의 블록으로 구성된 영상에서 블록과 블록간의 경계부분의 불연속성을 필터링하는 방법에 있어서, (a) 필터링하고자 하는 블록의 경계부분의 화소와 이와 인접한 블록의 경계부분의 화소 값과의 차이를 고려하여 상기 경계부분에서의 불연속성의 방향성을 판단하는 단계; 및 (b) 상기 방향성에 따라, 화소들의 선택을 달리하여 상기 블록을 필터링하는 단계를 포함하는 것을 특징으로 한다.
그러나 상기의 공지 기술에서는 블록과 블록간의 경계부분에서의 불연속성을 제거하면서 화질을 향상시킬 수 있다는 점에서 유사점이 인정되나, 본 발명과 같이 전치 행렬 변환이 가능한 메모리 버퍼를 이용하여 최소한의 하드웨어 자원을 활용할 수 있다는 점에서 공지의 기술과는 기술적 특징의 차이점이 존재한다.
이에, 본 발명은 상기한 문제점을 해결하기 위한 것으로서 본 발명의 목적은 디지털 영상 디코더에서 전치 행렬변환 메모리 버퍼를 이용하여 최소한의 하드웨어 자원을 활용함으로써 기존의 메모리 구조 및 접근방식에 의해 발생 되는 전체 복호화 프로그램의 성능 저하 및 시스템 전체의 효율성 저하를 개선시키는 디블럭킹 필 터링 장치를 제공하는 데 있다.
상기한 본 발명의 목적을 달성하기 위한 기술적 사상으로서 본 발명은
외부 버스(Bus)로부터 입력된 픽셀 데이터의 전치 행렬 변환을 위한 메모리 버퍼; 상기 메모리 버퍼와 연결되어 픽셀 데이터를 추출하고 필터링 방식을 결정하기 위한 제 1 스테이지; 상기 픽셀 데이터를 가로와 세로의 경계선 기준으로 필터링하기 위한 제 2 스테이지; 상기 필터링된 결과 데이터를 출력하기 위한 제 3 스테이지; 및 상기 제 1,2,3 스테이지와 연결되어 픽셀 데이터를 병렬 처리하기 위한 파이프라인 제어기;를 포함하는 디블록킹 필터링 장치를 제공한다.
이하, 본 발명의 실시 예에 대한 구성 및 그 작용을 첨부한 도면을 참조하면서 상세히 설명하기로 한다.
도 2는 본 발명에 따른 디블록킹 필터의 전체 구성도이고, 도 3은 가로/세로 경계에 입접한 픽셀을 나타낸 것이다. 도 4는 세로 경계 필터링일 때 물리적 메모리 구조를 나타낸 것이고, 도 5는 내부 메모리 버퍼의 전치 행렬 변환의 특성을 나타낸 것이다. 도 6은 가로 경계 필터링을 위한 전치 행렬 변환의 특성을 나타낸 것이고, 도 7은 가로 경계 필터링 결과를 위한 전치 행렬 변환의 특성을 나타낸 것이다.
도 2에 도시된 바와 같이, 본 발명의 디블록킹 필터링 장치는 전치 행렬 변환 메모리 버퍼(Transposable Memory Buffer)(10), 페치/디스패치 및 결정 스테이 지(Fetch/Dispatch & Decision stage)(20), P-필터 스테이지(P-Filter Stage)(30), Q-필터 스테이지(Q-Filter Stage)(40), 라이트-백 스테이지(Write-Back stage)(50) 및 파이프라인 제어기(Pipeline controller)(60)로 구성된다.
각 구성요소의 기능에 대하여 살펴보면, 전치 행렬 변환 메모리 버퍼(10)는 외부 버스(Bus)로부터 입력된 픽셀 데이터의 전치 행렬 변환을 수행한다. 이때, 상기 메모리 버퍼(10)는 MㅧN 크기의 블록 메모리를 적어도 수 사이클(Cycle) 내에 전치 행렬 변환을 수행하며, 상기 전치 행렬 변환은 data[i][j] 형태로 배열된 메모리 데이터를 data[j][i] 형태로 변환한다.
페치/디스패치 및 결정 스테이지(Fetch/Dispatch & Decision stage)(20)는 픽셀 데이터를 추출하고, 상기 추출된 픽셀 데이터의 처리 시간을 할당하며 필터링 방식을 결정한다. 즉, 상기 페치/디스패치 및 결정 스테이지(20)는 메모리 버퍼(10)와 연결되어 픽셀 데이터를 추출하고 필터링 방식을 결정하기 위한 제 1 스테이지(stage) 역할을 한다.
P-필터 스테이지(30)은 수직 경계에 인접한 P 픽셀을 필터링하며, Q-필터 스테이지(40)는 수평 경계에 인접한 Q 픽셀을 필터링한다. 즉, 상기 P-필터 스테이지(30)와 Q-필터 스테이지(40)는 픽셀 데이터를 가로와 세로의 경계선 기준으로 필터링하기 위한 제 2 스테이지(stage) 역할을 한다.
라이트-백 스테이지(Write-Back stage)(50)는 상기 필터링된 결과 데이터를 출력하기 위한 제 3 스테이지(stage) 역할을 하며, 파이프라인 제어기(60)은 상기 제 1,2,3 스테이지와 연결되어 픽셀 데이터를 병렬 처리하는 역할을 한다.
이어서, 도 2 내지 7을 참조하여 본 발명의 루프 디블록킹 필터의 작용에 대하여 살펴보기로 한다.
상기와 같이, 본 발명의 구성은 3 스테이지-파이프라인 아키텍쳐(stage-pipelined architecture)로 되어 있다.
먼저 제 1 스테이지(stage)에서는 픽셀 데이터를 추출(fetch)하고 필터 타입(Type)을 결정하며, 제 2 스테이지(stage)에서는 상기 추출된 픽셀 데이터를 필터링(filtering) 하며, 제 3 스테이지(stage)는 상기의 필터링된 픽셀 데이터의 결과를 출력하게 된다.
이때, 입력 데이터를 위한 메모리 버퍼(10)는 전치 행렬 변환이 가능(transposable)한 메모리로서 8x8, 8x16, 16x8, 또는 16x16 크기의 블록 메모리를 수 사이클 안에 전치 행렬 변환할 수 있는 기능을 가진다. 제어 신호를 통해 전치 행렬 변환 여부와 그 타입에 대해 결정할 수 있으며, 페치/디스패치 및 결정 스테이지(20)에서 어드레스의 변경 없이 전치행렬 변환 결과를 입력 데이터로 이용할 수 있다.
상기 전치행렬 변환 메모리 버퍼(10)는 페치/디스패치 및 결정 스테이지(20)와 직접적으로 연결되어 있지만 외부 버스와도 연결되어 있어 다른 하드웨어에서도 이용할 수 있도록 구성되어 있다.
본 발명의 디블록킹 필터는 도 1과 같이 매크로 블록 내의 4x4 블록을 가로와 세로 방향으로 모두 필터링하게 된다. 휘도(Luminance)와 색도(Chrominance)에 따라 다르게 진행되며 그 수행하는 순서는 다음과 같다.
* 4개의 휘도 성분의 세로 경계 필터링([도 1]의 a, b, c, d)
* 4개의 휘도 성분의 가로 경계 필터링([도 1]의 e, f, g, h)
* 2개의 색도 성분의 가로 경계 필터링([도 1]의 i, j)
* 2개의 색도 성분의 가로 경계 필터링([도 1]의 i, j)
상기와 같이 필터링(filtering) 하여 출력된 각각의 결과는 각 경계선을 기준으로 3개의 픽셀에 영향을 준다. 도 3에서는 인접 블록 p와 q에서 가로와 세로 경계를 기준으로 4개의 픽셀을 보여준다. 필터링된 결과는 경계 강도(boundary strength)와 경계선을 가로지르는 샘플 영상의 경사도(gradient) 값에 의존하여 결정되는데, 루프 디블록킹 필터는 QP(Quantizer Parameter, 양자화 변수)값과 각 블록마다 BS 값을 입력받아 자동적으로 필터링(filtering)을 수행하고 프레임 메모리(Frame memory)에 업 데이트하게 된다.
도 4는 세로 경계 필터링일 때 물리적 메모리 구조를 나타낸 것이다. 도 4에서 어드레스 모드(Addressing Mode)를 설명하기 위한 SIMD(Single Instruction Multiple Data architecture)는 단일 명령 복수 데이터방식으로서 단일 명령으로 서로 다른 복수의 데이터에 대한 연산을 동시에 수행하게 된다.
P-side 데이터와 Q-side 데이터가 메모리에서 읽어오는 순서대로 두 부분으로 나누어진 내부의 메모리 버퍼(10)에 저장되고 4개 픽셀 데이터의 묶음인 하나의 워드(word) 단위로 필터링을 수행하게 된다. 이러한 경우에는 필터 경계를 기준으로 한 블록씩 32비트 워드(word) 단위로 데이터를 읽어올 수 있는 구조이므로 하드웨어 구조가 단순해지고 한 번에 4개의 픽셀, 즉 하나의 워드(word)씩 추출(fetch) 할 수 있으므로 시스템의 성능 향상에 도움이 된다.
그러나, 가로 방향 필터링일 경우에는 이런 단순한 하드웨어 구조를 그대로 사용할 수 없다. 가로 방향 필터링을 위해서는 세로 방향으로 데이터들을 추출(fetch)해야 하는데, 일반적인 메모리 구조상 세로 방향으로 여러 개의 데이터를 한번에 읽어올 수 없으므로, 도 3에서와 같이 한 번의 필터링을 위해 8번의 데이터 읽기(read) 동작이 이루어져야 한다. 게다가 필터링한 결과를 업 데이트할 경우에도 마찬가지 상황이므로 많은 성능 저하의 문제가 발생 될 수 있다.
따라서, 본 발명에서는 전치 행렬 변환이 가능한 메모리 버퍼(10)를 사용한다. 상기 메모리 버퍼(10)는 data[i][j] 형태로 배열된 메모리를 data[j][i] 형태로 변환할 수 있는 기능을 가진다.
도 5를 살펴보면, 왼쪽은 전치 행렬 변환(transpose)이 일어나기 전이고 오른쪽은 전치 행렬 변환 이후를 나타낸 특성으로서, 회색의 데이터의 위치가 바뀌어 있음을 알 수 있다. 이러한 내부 메모리 버퍼(10)를 이용해서 가로 방향 필터링을 세로 방향 필터링처럼 쉽게 구현할 수 있다.
전치 행렬 변환(Transpoable) 메모리 버퍼(10)를 이용한 가로 경계 필터링은 도 6과 같이 구현할 수 있다. 프레임 메모리(Frame Memory)에는 왼쪽과 같이 Q-side, P-side 데이터가 위,아래로 배치되어 있고, 상기 데이터들을 전치 행렬 변환 메모리 버퍼(10)로 전송한 후, 전치 행렬 변환을 수행하면 세로 경계 필터링할 때와 동일한 메모리 구조를 얻을 수 있다. 이때, 단지 P-side와 Q-side 데이터의 위치가 바뀌게 되는데, 이것은 필터 하드웨어의 P-side, Q-side의 시작 어드레스 주 소만 변경하면 간단히 해결할 수 있게 된다.
또한, 가로 경계 필터링을 세로 경계 필터링 하드웨어를 그대로 이용해서 동작시킨 후 그 결과를 프레임 메모리로 전송할 때도 위와 같은 전치 행렬 변환 과정을 거쳐야 한다.
도 7은 가로 경계 필터링의 결과를 원래 프레임 메모리 구조에 맞게 전치 행렬 변환을 수행한 상태로서 이 과정은 필터링하기 전의 입력 데이터에 대한 전치 행렬 변화 과정과 완전히 동일하다.
전치 행렬 변환의 동작은 하드웨어적으로 수 사이클 안에 이루어지므로 가로 방향 필터링도 많은 수행 시간을 요구하지 않는다. 따라서 본 발명에서는 단순한 구조의 세로 방향 필터링 하드웨어를 그대로 사용하면서 속도 저하 없이 가로 방향 필터링을 효과적으로 구현할 수 있게 된다.
이상에서와 같이 본 발명에 의한 디블록킹 필터링 장치에 따르면, 디지털 영상 디코더에서 전치 행렬변환 메모리 버퍼를 이용하여 최소한의 하드웨어 자원을 활용함으로써 기존의 중복적인 메모리 접근에 의해 발생되는 전체 복호화 프로그램의 성능 저하를 개선시킬 수 있다. 또한, 기존의 메모리 구조를 통한 접근방식에 의해 불필요한 데이터를 발생시킴으로써 초래되는 시스템 전체의 효율성 저하 문제를 개선시킬 수 있다.

Claims (7)

  1. 외부 버스(Bus)로부터 입력된 픽셀 데이터의 전치 행렬 변환을 위한 메모리 버퍼;
    상기 메모리 버퍼와 연결되어 픽셀 데이터를 추출하고 필터링 방식을 결정하기 위한 제 1 스테이지;
    상기 픽셀 데이터를 가로와 세로의 경계선 기준으로 필터링하기 위한 제 2 스테이지;
    상기 필터링된 결과 데이터를 출력하기 위한 제 3 스테이지; 및
    상기 제 1,2,3 스테이지와 연결되어 픽셀 데이터를 병렬 처리하기 위한 파이프라인 제어기;를 포함하는 디블록킹 필터링 장치.
  2. 제 1항에 있어서, 상기 전치 행렬 변환은 data[i][j] 형태로 배열된 메모리 데이터를 data[j][i] 형태로 변환하는 것을 특징으로 하는 디블록킹 필터링 장치.
  3. 제 1항에 있어서, 상기 제 1스테이지에는 픽셀 데이터를 추출하고 상기 추출된 픽셀 데이터의 처리 시간을 할당하며 필터링 방식을 결정하는 페치/디스패치 및 결정 스테이지를 더 구비하는 것을 특징으로 하는 디블록킹 필터링 장치.
  4. 제 1항에 있어서, 상기 제 2스테이지에는 수직 경계에 인접한 P 픽셀을 필터 링하기 위한 P-필터 스테이지와, 수평 경계에 인접한 Q 픽셀을 필터링하기 위한 Q-필터 스테이지를 더 구비하는 것을 특징으로 하는 디블록킹 필터링 장치.
  5. 제 4항에 있어서, 상기 수직 및 수평 경계를 기준으로 한 블록씩 32 bit 워드(Word) 단위로 데이터를 읽어 들이는 것을 특징으로 하는 디블록킹 필터링 장치.
  6. 제 1항에 있어서, 상기 제 3스테이지에는 제 2스테이지로부터 필터링된 결과 데이터를 출력하기 위한 라이트-백 스테이지를 더 구비하는 것을 특징으로 하는 디블록킹 필터링 장치.
  7. 제 1항 또는 제 6항에 있어서, 상기 제 3 스테이지에서 필터링된 결과 데이터는 경계 강도와 경계선을 가로지르는 경사도 값에 의해 결정되는 것을 특징으로 하는 디블록킹 필터링 장치.
KR1020050117615A 2005-12-05 2005-12-05 디블록킹 필터 KR100729241B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050117615A KR100729241B1 (ko) 2005-12-05 2005-12-05 디블록킹 필터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050117615A KR100729241B1 (ko) 2005-12-05 2005-12-05 디블록킹 필터

Publications (2)

Publication Number Publication Date
KR20070058839A true KR20070058839A (ko) 2007-06-11
KR100729241B1 KR100729241B1 (ko) 2007-06-15

Family

ID=38355425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050117615A KR100729241B1 (ko) 2005-12-05 2005-12-05 디블록킹 필터

Country Status (1)

Country Link
KR (1) KR100729241B1 (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 한국과학기술원 저전력 고속 디블록킹 필터
WO2010114283A2 (ko) * 2009-03-30 2010-10-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101496418B1 (ko) * 2008-09-26 2015-02-26 삼성전자 주식회사 영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법
KR20150128828A (ko) * 2013-03-12 2015-11-18 퀄컴 인코포레이티드 구성가능한 멀티코어 네트워크 프로세서
KR101656009B1 (ko) * 2015-03-02 2016-09-09 한밭대학교 산학협력단 Hevc의 디블록킹 필터

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3489735B2 (ja) * 2000-08-16 2004-01-26 松下電器産業株式会社 デブロッキングフィルタ演算装置
KR20050099256A (ko) * 2004-04-09 2005-10-13 삼성전자주식회사 디블록킹을 이용한 영상처리 장치와 영상처리 방법
KR100614647B1 (ko) * 2004-07-02 2006-08-22 삼성전자주식회사 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100824287B1 (ko) * 2007-02-13 2008-04-24 한국과학기술원 저전력 고속 디블록킹 필터
KR101496418B1 (ko) * 2008-09-26 2015-02-26 삼성전자 주식회사 영상 디블로킹을 위한 멀티 프로세싱 연산량 조절 장치 및 방법
WO2010114283A2 (ko) * 2009-03-30 2010-10-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2010114283A3 (ko) * 2009-03-30 2011-01-06 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8908760B2 (en) 2009-03-30 2014-12-09 Lg Electronics Inc. Method and apparatus for processing video signals
KR20150128828A (ko) * 2013-03-12 2015-11-18 퀄컴 인코포레이티드 구성가능한 멀티코어 네트워크 프로세서
KR101656009B1 (ko) * 2015-03-02 2016-09-09 한밭대학교 산학협력단 Hevc의 디블록킹 필터

Also Published As

Publication number Publication date
KR100729241B1 (ko) 2007-06-15

Similar Documents

Publication Publication Date Title
KR100843196B1 (ko) H.264/avc 비디오 디코더의 디블록킹 필터
CN101273638B (zh) 图像处理装置以及图像处理方法
CN103314581B (zh) 使用列的图像分割方法和系统
JP2017508415A (ja) 画像符号化/復号方法及び装置
CN103051892B (zh) 内嵌式回路滤波方法以及内嵌式回路滤波装置
EP1774789A1 (en) Method and system for performing deblocking filtering
KR20070058839A (ko) 디블록킹 필터
JP2022502976A (ja) ビデオコーディングにおけるデブロッキングフィルタのための装置および方法
CN104521234B (zh) 合并去区块处理和取样自适应偏移处理的视频处理方法和装置
CN114830665B (zh) 仿射运动模型限制
WO2024098821A1 (zh) Av1的滤波方法及装置
US20110110435A1 (en) Multi-standard video decoding system
KR100359208B1 (ko) 고속 디블럭킹 필터 장치
JP5580541B2 (ja) 画像復号化装置および画像復号化方法
JP2007258882A (ja) 画像復号装置
JP2006270851A (ja) 画像符号化装置及び画像復号装置
Baldev et al. Scalable wavefront parallel streaming deblocking filter hardware for HEVC decoder
US8503537B2 (en) System, method and computer readable medium for decoding block wise coded video
Le et al. High-Throughput Parallel Architecture for H. 265/HEVC Deblocking Filter.
CN116567231B (zh) 一种用于hevc去方块滤波的系统
KR101004825B1 (ko) 수평 필터와 수직 필터를 이용하는 파이프라인 구조의 디블록킹 필터 장치
US20220394265A1 (en) Video decoding method and apparatus, video coding method and apparatus, storage medium, and electronic device
KR100816461B1 (ko) 실시간 디블록킹 필터 및 이를 이용한 디블록킹 방법
KR20170133026A (ko) 정방형 또는 직방형 블록 분할을 사용하는 비디오 복호화 방법 및 장치
JP4830691B2 (ja) 映像信号処理方法及び装置、並びに映像信号復号方法

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: 20130510

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140512

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150512

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160502

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170516

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180521

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190513

Year of fee payment: 13