KR101452495B1 - 복원된 비디오 데이터를 위한 디링잉 필터 - Google Patents

복원된 비디오 데이터를 위한 디링잉 필터 Download PDF

Info

Publication number
KR101452495B1
KR101452495B1 KR1020080043561A KR20080043561A KR101452495B1 KR 101452495 B1 KR101452495 B1 KR 101452495B1 KR 1020080043561 A KR1020080043561 A KR 1020080043561A KR 20080043561 A KR20080043561 A KR 20080043561A KR 101452495 B1 KR101452495 B1 KR 101452495B1
Authority
KR
South Korea
Prior art keywords
pixel
value
pixels
denotes
adjacent
Prior art date
Application number
KR1020080043561A
Other languages
English (en)
Other versions
KR20090117489A (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 KR1020080043561A priority Critical patent/KR101452495B1/ko
Publication of KR20090117489A publication Critical patent/KR20090117489A/ko
Application granted granted Critical
Publication of KR101452495B1 publication Critical patent/KR101452495B1/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
    • 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

Abstract

복원된 비디오 데이터를 필터링하는 그래픽 컨트롤러의 후처리 장치를 개시한다. 이 장치의 일 실시예는 버퍼 및 디링잉 필터(de-ringing filter)를 포함한다. 버퍼는 메모리로부터 비디오 데이터의 픽셀 라인을 판독하도록 구성된다. 픽셀 라인은 비디오 데이터의 인접하는 매크로블록들로부터의 픽셀들을 포함한다. 디링잉 필터는 버퍼에 결합된다. 디링잉 필터는, 픽셀 라인에서 인접하는 픽셀들의 쌍들 간의 최대 픽셀 점프를 식별하도록 그리고 픽셀 라인의 픽셀 서브세트 내의 한 픽셀이 에지 픽셀이 아니라는 결정에 응답하여 디링잉 필터를 그 한 픽셀에 적용하도록 구성된다. 픽셀이 에지 픽셀이 아니라는 이러한 결정은 식별된 최대 픽셀 점프에 기초한다.
디링잉 필터, 그래픽 컨트롤러, 후처리 장치, 최대 픽셀 점프

Description

복원된 비디오 데이터를 위한 디링잉 필터{DE-RINGING FILTER FOR DECOMPRESSED VIDEO DATA}
본 발명은 복원된 비디오 데이터를 필터링하는 그래픽 컨트롤러의 후처리 장치에 관한 것이다.
비디오 압축은, 저장(예를 들어, 광 저장 매체 내의 저장), 처리, 전송용으로 비교적 관리가능한 무삭제 영화와 같은 비디오 데이터 파일들을 만드는 데 사용된다. 일반적으로, 비디오 압축은 여분의 정보 및 무의미 정보를 삭제함으로써 달성된다. 비디오 정보는 통상적으로 시간 및 공간에 대하여 크게 가변되지 않으며 그 이유는 비디오 이미지들이 통상적으로 스크린에 걸쳐 색의 매끄러운 영역들로 이루어지기 때문이다. 따라서, 이미지 내의 비디오 정보의 상당 부분은 예측가능하며 이에 따라 여분으로 된다. 이에 따라, 비디오 압축은 이 여분의 정보를 제거하고 예측불가 정보만을 남기는 데 사용된다.
무의미 비디오 이미지 정보는 소정의 적당한 관찰 상태 하에선 인간의 눈으로 볼 수 없는 정보이다. 예를 들어, 인간의 눈은 (저 공간 주파수에서의 잡음에 비교할 때) 고 공간 주파수에서의 잡음 또는 장면 변화 바로 전후에서의 상세 손실 을 쉽게 감지하지 못한다. 이에 따라, 비디오 압축은 무의미 정보를 제거하는 데에도 사용된다. 여분 정보 제거 및 무의미 정보 제거의 조합은 비디오 데이터 파일들에 대하여 비교적 고 압축비를 용이하게 한다.
동영상 전문가 그룹(MPEG)은 디지털 압축 포맷으로 된 오디오 비주얼 정보에 대한 표준들의 군이다. MPEG는 국제 표준 기구(ISO)에서 인정하는 표준이다. MPEG 압축은 비디오 데이터 파일들로부터 여분의 정보 및 무의미 정보를 제거하는 다양한 종래 기술들을 포함하는 비디오 압축의 한 가지 유형이다. 이러한 종래 기술들 중 일부는, 움직임 보상 예측, 이산 코사인 변환(DCT), 양자화, 가변 길이 코딩(VLC)을 포함한다. DCT는 픽셀 데이터를 관련 계수들을 갖는 공간 주파수들의 세트들로 변환하는 알고리즘이다. (이미지의 넌제로 DCT 계수들 대부분이 일반적인 영역 내에 위치하려는 경향이 있기 때문에) DCT 계수들의 비균일 분포로 인해, 넌제로 DCT 계수들 및 제로 DCT 계수들을 구별하도록 이러한 분포 특성을 이용하는 데 통상적으로 VLC가 사용된다. 이렇게 행하는 경우, 여분의 정보/예측가능 정보를 제거할 수 있다. 또한, DCT 하에 비디오 이미지를 공간 주파수들로 분해한다는 것은, 보다 높은 주파수들의 관련된 DCT 계수들을 통해 이러한 보다 높은 주파수들이 보다 낮은 주파수들의 관련된 DCT 계수들을 통해 이러한 보다 낮은 주파수들보다 덜 정밀하게 코딩될 수 있음을 의미한다. 이것은 무의미 정보를 제거할 수 있게 한다. 따라서, 양자화는 줄어든 계수들의 세트를 생성할 수 있도록 인간의 눈이 각 공간 주파수에서 견딜 수 있는 잡음의 양에 기초하여 DCT 계수들을 가중하는 동작으로서 일반화될 수 있다.
그러나, 고 압축 비디오 데이터 파일이 복원될 때, 복원된 비디오 이미지에서 잡음 아티팩트에 관련된 이미지 저하가 발생할 수 있다. 일반적으로, 열하 잡음 아티팩트에는 블록킹 아티팩트(blocking artifact) 및 링잉 아티팩트(ringing artifact)라는 2가지 유형이 존재한다. 블록킹 아티팩트는 통상적으로 인접하는 비디오 픽셀 데이터 블록들 간의 비연속성으로서 명시된다. 블록킹 아티팩트는, 비디오 픽셀 블록들의 DCT 계수들이 인접하는 블록들 간의 픽셀 상관을 고려하지 않고서 양자화되고 독립적으로 처리될 때 생성된다. 링잉 아티팩트는 통상적으로 에지 근처의 로컬 플리커링으로서 명시된다. 링잉 아티팩트는, 고 주파수 DCT 계수들이 대략적 양자화의 결과로 절단(truncate)될 때 생성된다.
종래의 디링잉 필터 기술은 MPEG 표준에서 참조된다. 그러나, 종래의 디링잉 필터 기술은 2차원(2D) 비선형 필터를 구현하며, 이것은 비교적 복잡하다. 또한, 종래의 2D 비선형 필터는 구현하는 데 3개의 스캔을 취한다.
장치의 실시예들을 설명한다. 일 실시예에서, 이 장치는 복원된 비디오 데이터를 필터링하는 그래픽 컨트롤러의 후처리 장치이다. 후처리 장치의 일 실시예는 버퍼 및 디링잉 필터를 포함한다. 버퍼는 메모리로부터 비디오 데이터의 픽셀 라인을 판독하도록 구성된다. 픽셀 라인은 비디오 데이터의 인접하는 매크로블록들로부터의 픽셀들을 포함한다. 디링잉 필터는 버퍼에 결합된다. 디링잉 필터는, 픽셀 라인에서 인접하는 픽셀들의 쌍들 간의 최대 픽셀 점프를 식별하도록 그리고 픽셀 라인의 픽셀 서브세트 내의 한 픽셀이 에지 픽셀이 아니라는 결정에 응답하여 디링잉 필터를 그 한 픽셀에 적용하도록 구성된다. 그 픽셀이 에지 픽셀이 아니라는 이러한 결정은 식별된 최대 픽셀 점프에 기초한다. 이 장치의 다른 실시예들도 설명한다.
방법의 실시예들도 설명한다. 일 실시예에서, 이 방법은, 링잉 아티팩트를 보상하도록, 복원된 비디오를 필터링하는 방법이다. 이 방법은 비디오 데이터의 픽셀 라인을 판독하는 단계를 포함한다. 픽셀 라인은 비디오 데이터의 인접하는 매크로블록들로부터의 픽셀들을 포함한다. 또한, 이 방법은 픽셀 라인에서 인접하는 픽셀들의 쌍들 간의 최대 픽셀 점프를 식별하는 단계를 포함한다. 또한, 이 방법은 픽셀 라인의 픽셀 서브세트 내의 한 픽셀이 에지 픽셀이 아니라는 결정에 응답하여 디링잉 필터를 그 한 픽셀에 적용하는 단계를 포함한다. 그 픽셀이 에지 픽셀이 아니라는 이러한 결정은 식별된 최대 픽셀 점프에 기초한다. 이 방법의 다른 실시예들도 설명한다.
본 명세서에서 사용되고 있듯이, 결합된 컴포넌트들 또는 엔티티들은, 물리적으로 연결된 컴포넌트들을 넓게 포함하는 것이며, 또한, 물리적으로 연결되어 있지는 않지만 통신할 수 있거나 다양한 수단에 의해 신호 또는 정보를 전송할 수 있는 엔티티들을 포함하는 것이다. 본 발명의 실시예들의 다른 양태들 및 이점들은, 본 발명의 원리를 예시한 첨부 도면과 함께 다음에 따르는 상세한 설명으로부터 명백해질 것이다.
본 발명에 의하면, 복원된 비디오 이미지 데이터로부터 블록킹 아티팩트 및 링잉 아티팩트가 제거되어 복원된 비디오 데이터의 품질이 개선된다.
다음의 상세한 설명에서, 본 발명의 실시예들을 완전히 이해하도록 수많은 특정 상세들을 설명한다. 그러나, 이러한 특정 상세 없이 본 발명을 실시할 수 있다는 것이 당업자에겐 자명할 것이다. 다른 경우에서는, 설명하는 실시예들의 양태들을 불필요하게 흐리지 않도록 명료하고도 간결함을 위해 잘 알려져 있는 방법, 절차, 컴포넌트, 회로를 상세히 설명하지 않았다. 또한, 다음에 따르는 상세한 설명이 비디오 이미지 데이터를 압축하기 위한 MPEG 표준을 참조하고 있지만, 일부 실시예들은 다른 비디오 압축 방식(scheme)들에도 적용가능하다.
도 1은 후처리 아키텍처(100)의 일 실시예의 개략적인 블록도이다. 일 실시예에서, 후처리 아키텍처(100)는 파이프라인형(pipelined) 필터링 프로세스를 구현한다. 예시한 후처리 아키텍처(100)는, 메모리 장치(102), 필터 버퍼(104), 디블록킹 필터(106), 및 디링잉 필터(108)를 포함한다. 후처리 아키텍처(100)의 물리적 구현예는 가변될 수 있지만, 예시한 메모리 장치(102), 필터 버퍼(104), 디블록킹 필터(106), 및 디링잉 필터(108)는, 함께 결합되어, 메모리(102)와 버퍼(104) 간에, 버퍼(104)와 디블록킹 필터(106) 간에, 버퍼(104)와 디링잉 필터(108) 간에, 디블록킹 필터(106)와 디링잉 필터(108) 간에 데이터 전달을 가능하게 한다. 이러한 데이터 전달은 다양한 컴포넌트 부분들 중에서 직접적으로 또는 간접적으로 달 성될 수 있다. 또한, 데이터 전달은 하나 이상의 데이터 전송 프로토콜을 이용하여 직렬 또는 병렬 통신 채널들에서 구현될 수 있다. 일 실시예에서, 후처리 아키텍처(100)의 컴포넌트 부분들은 서로 직렬로 연결되어, 추가 메모리 액세스를 필요로 하지 않고서 복원된 비디오 이미지 데이터가 블록킹 아티팩트를 제거하기 위한 디블록킹 필터(106)에 먼저 제공되고 다음에 링잉 아티팩트를 제거하기 위한 디링잉 필터(108)에 제공될 수 있게 한다. 다른 실시예들은 다른 직렬 또는 병렬 구성들을 구현할 수 있다.
일 실시예에서, 메모리(102)는 복원된(즉, 처리된) 비디오 이미지 데이터를 저장한다. 디블록킹 필터(106) 및 디링잉 필터(108)는 버퍼(104)로부터의 복원된 비디오 이미지 데이터에 액세스한다. 다른 방안으로, 디링잉 필터(108)는 디블록킹 필터(106)로부터의 복원된 비디오 이미지 데이터에 직접 액세스할 수 있다. 일 실시예에서, 디블록킹 필터(106) 및 디링잉 필터(108)는 1차원(1D) 필터들이다. 다른 실시예들에서는, 2차원(2D) 필터 또는 1D 및 2D 필터들의 조합을 구현할 수 있다. 디블록킹 필터(106) 및 디링잉 필터(108)의 추가 상세를 이하에 제공한다.
도 2는 수평으로 인접하는 픽셀들(116)의 매크로블록들(112, 114)의 한 쌍(110)의 일 실시예를 개략적으로 도시한다. 도시한 매크로블록들(112, 114)의 각각은 전체 256개의 픽셀들(116)에 대하여 16x16개의 픽셀 어레이를 포함한다. 유사한 매크로블록 지정을 이용하여 디스플레이 장치상의 픽셀들(116) 모두를 그룹화할 수 있다. 이러한 지정은 다양한 픽셀들(116)에 대응하는 비디오 데이터의 처리를 용이하게 한다. 이러한 식으로, 비디오 데이터는 매크로블록들(112, 114)과 같은 블록들 내에서 처리될 수 있다. 도시한 매크로블록들(112, 114)은 16x16개의 픽셀(116) 어레이로서 도시되어 있지만, 매크로블록들(112, 114)의 다른 구현예들은 보다 많거나 보다 적은 픽셀들(116)을 포함할 수 있다. 예를 들어, 매크로블록은 8x8개의 픽셀(116) 어레이를 갖는 것으로 구현될 수 있다.
설명의 편의상, 좌측 매크로블록(112)은 자신이 특별한 처리 또는 디스플레이 동작을 위해 현재 매크로블록 또는 비디오 데이터의 현재 블록으로서 지정되어 있음을 가리키도록 강조되어 있다. 일 실시예에서, 디스플레이 장치상의 매크로블록들(112, 114)의 각각은 특정 처리 동작을 위한 현재 블록으로서 개별적으로 지정될 수 있다. 이것은 비디오 데이터가 블록들 내에서 처리될 수 있게 하며, 이에 따라 처리 및 디스플레이 동작을 간략화한다.
또한, 인접하는 매크로블록들(112, 114) 내의 픽셀들(116)은 하나의 픽셀 라인(118)으로서 지정될 수 있다. 수평으로 인접하는 매크로블록들(112, 114)의 경우, 픽셀 라인(118)은 픽셀 행이라 칭할 수도 있다. 각 매크로블록(112, 114)은 각 행에서 16개의 픽셀(116)을 갖기 때문에, 픽셀 라인(118)은 32개의 픽셀(116)을 포함한다. 다른 방안으로, 픽셀 라인(118)은 픽셀 행의 모든 픽셀들(116)보다 적은 픽셀들을 포함할 수 있다. 예를 들어, 일 실시예에서, 픽셀 라인(118)은, 각 매크로블록(112, 114)으로부터의 모든 16개 픽셀(116) 대신에 중간의 8개 픽셀(116)을 포함한다. 픽셀 라인(118)은 이하에서와 같이 사용된다.
도 3은 수직으로 인접하는 픽셀들(116)의 매크로블록들(122, 124)의 한 쌍(120)의 일 실시예를 개략적으로 도시한다. 일 실시예에서, 상위 매크로블 록(122)은 현재 매크로블록으로서 지정되어 있다. 수직으로 인접하는 매크로블록들(122, 124)은 도 2에 도시한 수평으로 인접하는 매크로블록들(112, 114)과 대략 유사하다. 각 매크로블록(122, 124)은 16x16개의 픽셀(116) 어레이를 포함한다. 또한, 매크로블록들(122, 124)은 픽셀 라인(128)을 포함한다. 픽셀 라인(128)은 (매크로블록들(122, 124)의 공간적 관계로 인해) 수직 방향으로 배향되므로, 픽셀 라인(128)은 픽셀 열이라고도 칭할 수 있다. 많은 양태에 있어서, 픽셀 라인(118) 및 픽셀 라인(128)은 자신들의 배향을 제외하고는 대략 유사하다.
도 4는 디블록킹 아키텍처(130)의 일 실시예를 개략적으로 도시한다. 일반적으로, 예시한 디블록킹 아키텍처(130)는 매크로블록들(112, 114) 및 매크로블록들(122, 124)과 같이 인접하는 매크로블록들의 경계들을 매끄럽게 하는 것을 용이하게 한다. 일 실시예에서, 디블록킹 아키텍처(130)의 출력은 기준 프레임으로서 사용되지 않고 디스플레이 목적으로 사용된다. 또한, 일 실시예에서, 디블록킹 아키텍처(130)는 프레임이 완전히 디코딩된 후에 사용된다.
예시한 디블록킹 아키텍처(130)는 입력 픽셀 라인(132)의 10개의 픽셀(116)(예를 들어, 통상적인 픽셀 라인(118)에서의 32개 픽셀(116) 중 10개)을 도시한다. 이 픽셀들(116)은 P0 내지 P4 및 Q0 내지 Q4로서 지정되어 있다. 일 실시예에서, 픽셀들(P0 내지 P4)은 하나의 매크로블록(112)에 속하고, 픽셀들(Q0 내지 Q4)은 인접하는 다른 하나의 매크로블록(114)에 속한다. 픽셀들(P0 및 Q0) 간의 경계는 2개의 인접하는 매크로블록들(112, 114) 간의 경계를 나타낸다. (0으로부터 4로) 인덱스가 증가함에 따라, 대응 픽셀들(116)은 인접하는 매크로블록들(112, 114) 간의 경계로부터 멀어진다.
일 실시예에서, 입력 픽셀 라인(132)의 10개 픽셀들(116)은 디블록킹 필터(106)에 입력된다. 디블록킹 필터는, 입력 픽셀 라인(132)에 대한 2개의 매크로블록(112, 114) 간의 경계를 매끄럽게 하는 디블록킹 동작을 구현한다. 다시, 디블록킹 필터(106)는, 예를 들어, 출력 픽셀 라인(134)의 8개의 새로운 값(P0' 내지 P3', Q0' 내지 Q3')을 출력하여, 입력 픽셀 라인(132)의 픽셀(116)의 대응하는 원래의 입력 값들(P0 내지 P3, Q0 내지 Q3)을 대체한다. 일 실시예에서, 출력 픽셀 라인(134)의 픽셀들(116)의 새로운 그레이스케일 값들 또는 컬러스케일 값들은 입력 픽셀 라인(132)의 픽셀들(116)의 값들과 다르며 이에 따라 매크로블록들(112, 114) 간의 블록킹 아티팩트들이 저감된다.
도 5는 디링잉 아키텍처(140)의 일 실시예의 개략적인 블록도이다. 일반적으로, 예시한 디링잉 아키텍처(140)는, 매크로블록들(112, 114) 및 매크로블록들(122, 124)과 같이 인접하는 매크로블록들의 경계 근처의 에지에 대한 링잉 아티팩트의 제거를 용이하게 한다. 일 실시예에서, 디링잉 아키텍처(140)는 저 비트율 비디오에 대하여 특히 유익하다.
예시한 디링잉 아키텍처(140)는 입력 픽셀 라인(142)의 16개의 픽셀(116)(예를 들어, 통상적인 픽셀 라인(118)에서의 32개 픽셀(116) 중 16개)을 도시한다. 픽셀들(116)은 P0' 내지 P03', P4 내지 P7, Q0' 내지 Q3', Q4 내지 Q7로서 지정되어 있다. 일 실시예에서, 픽셀들(P0' 내지 P3') 및 픽셀들(Q0' 내지 Q3')은, 전술한 디블록킹 아키텍처(130)로부터의 출력 픽셀 라인(134)의 픽셀들(116)과 동일하 다. 다시 말하면, 디링잉 아키텍처(140)는 디블록킹 아키텍처(130)의 출력 픽셀 라인(134)을 디링잉 아키텍처(140)의 입력 픽셀 라인(142)의 일부로서 사용하여 인접하는 매크로블록들로부터의 링잉 아티팩트들을 저감할 수 있다.
일 실시예에서, 입력 픽셀 라인(142)의 16개 픽셀(116)은 디링잉 필터(108)에 입력된다. 디링잉 필터(108)는 입력 픽셀 라인(142)에 대한 2개의 매크로블록들(112, 114)로부터의 링잉 아티팩트들을 저감하도록 디링잉 동작들을 구현한다. 다시, 디링잉 필터(108)는, 예를 들어, 출력 픽셀 라인(144)의 8개의 새로운 값(P0" 내지 P3", Q0" 내지 Q3")을 출력하여, 입력 픽셀 라인(142)의 픽셀들(116)의 대응하는 원래의 입력 값들(P0' 내지 P3', Q0' 내지 Q3')을 대체한다. 일 실시예에서, 출력 픽셀 라인(144)의 픽셀들(116)의 새로운 그레이스케일 값들 또는 컬러스케일 값들은 입력 픽셀 라인(142)의 픽셀들(116)의 값들과 다르며 이에 따라 매크로블록들(112, 114) 간의 블록킹 아티팩트들이 저감된다.
일 실시예에서, 디링잉 필터(108)는, 링잉 아티팩트의 제거가 용이하도록 다양한 알고리즘들, 함수들, 동작들을 구현할 수 있다. 디링잉 필터(108)의 적어도 하나의 구현예는 디링잉 필터의 종래의 구현예보다 훨씬 간단한다. 다음에 따르는 설명에서는 1차원(1D) 디링잉 필터의 대표적인 기능성 실시예를 다루고 있지만, 다른 실시예들은 유사한 설계 기준 및 고려 사항을 이용하여 다른 디링잉 필터들을 구현할 수 있다.
또한, 다음에 따르는 설명에서는 양자화 스케일 및 하나 이상의 양자화 인자, 즉, 양자화 스케일 값들을 참조한다. 양자화 스케일의 사용은 당해 기술에 널 리 알려져 있으며 MPEG 표준에 상당히 상세하게 설명되어 있다. 이에 따라, 양자화 스케일의 보다 상세한 설명은 여기에 제공되지 않는다. 일부 실시예들에서, 사용되는 양자화 스케일 값은 특별한 매크로블록(112 또는 114)에 대응한다. 양자화 스케일 값이 서로 다른 매크로블록들(112, 114)로부터의 픽셀들(116)의 계산에 사용되는 다른 실시예들에서, 양자화 스케일 값은 개별적인 매크로블록들(112, 114)에 대한 양자화 스케일 값들의 조합(예를 들어, 평균)일 수 있다. 다른 실시예들은 하나 이상의 매크로블록에 대하여 양자화 스케일 값의 다른 유도값을 이용할 수도 있다.
도 6은 복원된 비디오 데이터를 필터링하는 후처리 방법(150)의 일 실시예의 개략적인 흐름도이다. 후처리 방법(150)의 일부 실시예들은 도 1의 후처리 아키텍처(100)를 이용하여 구현될 수 있다. 후처리 방법(150)의 다른 실시예들은 다른 후처리 아키텍처들을 이용하여 구현될 수 있다.
일 실시예에서, 디링잉 필터(108)는 디링잉 필터링이 활성화되어 있는지 여부를 결정한다. 이러한 결정을 내리기 위해, 디링잉 필터(108)는 양자화 스케일 값을 필터 임계값과 비교한다(블록 152). 양자화 스케일 값은 매크로블록들(112, 114)의 쌍(110)의 매크로블록(112)과 같은 현재 매크로블록에 대응한다. 디링잉 필터(108)는 특히 양자화 스케일 값이 필터 임계값보다 큰지를 결정한다(블록 154). 양자화 스케일 값이 필터 임계값보다 크지 않으면, 디링잉 필터(108)는 활성화되지 않으며 복원된 비디오 데이터에 디링잉 필터링을 적용하지 않는다(블록 156). 그러나, 양자화 스케일 값이 필터 임계값보다 크면, 디링잉 필터(108)가 활 성화된다.
디링잉 필터(108)가 활성화될 때, 디링잉 필터(108)는 양자화 스케일 값을 조절할 수 있다(블록 158). 양자화 스케일 값을 조절하는 것은 이미지 품질에 유연성을 제공한다. 예를 들어, 양자화 스케일 값이 증가되면, 이미지로부터 더 많은 잡음이 제거되며, 그 결과 이미지가 보다 부드러워진다. 다른 방안으로, 양자화 스케일 값이 감소되면, 이미지로부터 더 적은 잡음이 제거되며, 이미지는 보다 높은 주파수를 갖게 된다. 일 실시예에서, 양자화 스케일 값은 다음에 따라 조절된다.
Figure 112008033354370-pat00001
여기서,
Figure 112008033354370-pat00002
는 새로운 양자화 스케일 값을 가리키고, Qp는 원래의 양자화 스케일 값을 가리키고, M은 후 디링잉 인자를 가리키고, wd는 후 디링잉 가중 인자를 가리킨다. 일부 실시예들에서, 디링잉 가중 인자는 3이다. 다른 일 실시예에서, 후 디링잉 가중 인자는 (부동점 승산 대신 정수 제산을 이용하여 구현될 수 있는) 1/16이고, 후 디링잉 인자는 약 3 내지 64 사이의 값이다.
다른 일 실시예에서, 전술한 식은 후 디링잉 가중 인자(wd)를 배제하도록 수정될 수 있다. 그러나, 후 디링잉 가중 인자를 이용함으로써 부동점 계산을 회피하여 하드웨어 구현을 용이하게 할 수 있다. 후 디링잉 가중 인자가 배제되는 경우, 디링잉 가중 인자는 약 0.25 내지 4 사이의 값, 또는 다른 값일 수 있다. 다 른 실시예들에서는, 양자화 스케일 값 조절의 다른 변동을 구현할 수 있다.
양자화 스케일 값을 조절한 후, 디링잉 필터(108)는 디링잉 필터(108)에 입력되는 입력 픽셀 라인(142)에 대한 최대 인접 픽셀 점프를 찾는다(블록 160). 다시 말하면, 디링잉 필터(108)는 픽셀(116) 및 인접하는 픽셀들(116) 간의 그레이스케일 값들 또는 컬러스케일 값들의 최대 차이를 갖는다. 일 실시예에서, 최대 인접 픽셀 점프는, 입력 픽셀 라인(142)에서의 인접하는 픽셀들(116)의 각 쌍 간의 차이를 찾음으로써 발견된다. 일례로, 디링잉 필터(108)는, P0 및 P1 사이, P1 및 P2 사이, P2 및 P3 사이, P3 및 P4 사이, P4 및 P5 사이, P5 및 P6 사이, P6 및 P7 사이의 차이들의 절대값들을 결정할 수 있다. 디링잉 필터(108)는, Q0 및 Q1 사이, Q1 및 Q2 사이, Q2 및 Q3 사이, Q3 및 Q4 사이, Q4 및 Q5 사이, Q5 및 Q6 사이, Q6 및 Q7 사이의 차이들의 절대값들을 결정할 수도 있다. 또한, 디링잉 필터(108)는 P0 및 Q0 사이의 차이의 절대값을 결정할 수 있다. 이후, 디링잉 필터(108)는 인접하는 픽셀들 사이의 모든 차이들 중 가장 큰 차이를 찾을 수 있다. 이에 따라, 가장 큰 차이는 입력 픽셀 라인(142)에 대한 최대 인접 픽셀 점프로서 지정된다. 이것은 다음과 같이 작성될 수도 있다.
Figure 112008033354370-pat00003
여기서, Pi는 제1 매크로블록(112)에서의 픽셀(116)의 값을 가리키고, Pi +1은 동일한 매크로블록(112)에서의 인접 픽셀(116)의 값을 가리키며, Qi는 인접하는 매 크로블록(114)에서의 픽셀(116)의 값을 가리키며, Qi +1은 인접하는 매크로블록(114)에서의 인접하는 픽셀(116)의 값을 가리킨다. 픽셀 점프 동작의 추가 상세는 도 7을 참조하여 제공된다(블록 160).
디링잉 필터(108)가 입력 픽셀 라인(142)의 최대 인접 픽셀 점프를 찾은 후, 디링잉 필터(108)는 픽셀 값들을 수정하고(블록 162) 출력 픽셀 라인(144)에서의 픽셀 값들의 일부 또는 전부를 출력한다(블록 164). 일 실시예에서, 디링잉 필터(108)는 수정 여부에 상관없이 모든 픽셀값들을 출력한다. 다른 일 실시예에서, 디링잉 필터(108)는 수정된 픽셀 값들을 출력하고 변경되지 않은 픽셀 값들은 출력하지 않는다. 일부 실시예들은 픽셀 값들 중 몇 개를 수정할 수 있지만, 다른 실시예들은 그 픽셀 값들 중 해당 픽셀들이 존재하더라도 얼마 되지 않는 픽셀을 수정할 수 있다. 일 실시예에서, 픽셀 값들이 수정되는지 여부는 대응하는 픽셀들이 에지 픽셀들로 결정되는지 여부에 적어도 부분적으로 의존한다. 픽셀 수정 동작(블록 162)의 추가 상세는 도 8을 참조하여 제공된다.
도 7은 도 6의 후처리 방법(150)의 픽셀 점프 동작(160)의 보다 상세한 실시예의 개략적인 흐름도이다. 일부 동작들을 픽셀 점프 동작(160)에 관하여 설명하고 있지만, 디링잉 필터(108)의 일부 실시예들은 보다 적거나 보다 많은 동작들을 이용하여 픽셀 점프 동작(160)을 구현할 수 있다.
픽셀 점프 동작(160)을 구현하기 위해, 디링잉 필터(108)는 입력 픽셀 라인(142)의 인접하는 픽셀들(116)의 픽셀 쌍을 선택한다(블록 172). 예를 들어, 디 링잉 필터(108)는 픽셀들(P0, P1)을 선택할 수 있다. 이후, 디링잉 필터(108)는 선택한 픽셀들(116)로부터 픽셀 점프를 결정한다(블록 174). 예를 들어, 디링잉 필터(108)는 픽셀들(P0, P1) 사이의 그레이스케일 차이 또는 컬러스케일 차이를 결정한다. 이후, 디링잉 필터(108)는 선택한 픽셀 쌍에 대한 픽셀 점프를 저장한다(블록 176). 이후, 디링잉 필터(108)는 더 많은 픽셀 쌍들이 존재하는지 여부를 결정하고(블록 178), 더 많은 픽셀 쌍들이 존재하는 경우, 입력 픽셀 라인(142)에서의 픽셀 쌍들의 각각에 대하여 동일한 동작들을 반복한다. 디링잉 필터(108)가 입력 픽셀 라인(142)에서의 픽셀 쌍들 모두에 대하여 픽셀 점프를 결정한 후, 픽셀 점프 동작(160)이 종료된다. 다른 일 실시예에서, 디링잉 필터(108)는 입력 픽셀 라인(142)에서의 픽셀 쌍들의 서브세트에 대하여 픽셀 점프를 결정할 수 있다.
도 8은 도 6의 후처리 방법(150)의 픽셀 수정 동작(162)의 보다 상세한 실시예의 개략적인 흐름도이다. 일부 동작들을 픽셀 수정 동작(162)에 관하여 설명하고 있지만, 디링잉 필터(108)의 일부 실시예들은 보다 많거나 보다 적은 동작들을 이용하여 픽셀 수정 동작(162)을 구현할 수 있다.
픽셀 수정 동작(162)을 구현하기 위해, 디링잉 필터(108)는 입력 픽셀 라인(142)의 픽셀(116)을 선택한다(블록 182). 일 실시예에서, 디링잉 필터(108)는 입력 픽셀 라인(142) 내의 중간의 8개 픽셀들(116)(예를 들어, 픽셀들(P0 내지 P3, Q0 내지 Q3))과 같은 픽셀들의 서브세트로부터 하나의 픽셀(116)만을 선택한다. 이후, 디링잉 필터(184)는 선택한 픽셀(116)이 에지 픽셀인지 여부를 결정한다(블록 184). 일 실시예에서, 디링잉 필터(108)는 다음의 식에 따라 선택한 픽셀(116) 이 에지 픽셀인지 여부를 결정한다.
Figure 112008033354370-pat00004
Figure 112008033354370-pat00005
여기서, Pi는 선택한 픽셀(116)의 현재 값을 가리키고, Pi -1은 제1 인접 픽셀(116)의 값을 가리키고, Pi +1은 제2 인접 픽셀(116)의 값을 가리키고, Pmax는 식별된 최대 픽셀 점프를 가리키고, we는 에지 가중 인자를 가리킨다. 다시 말하면, 디링잉 필터(108)는, 현재 픽셀로부터 인접 픽셀들의 각각으로의 픽셀 점프가 픽셀들(116)의 2개 쌍에 대한 최대 인접 픽셀 점프 및 에지 가중 인자에 의존하는 임계값 미만인지 여부를 결정한다. 일 실시예에서, 에지 가중 인자는 약 0.75이다. 다른 방안으로, 에지 가중 인자는 0.65 내지 0.85 범위 내에 있을 수 있다. 다른 일 실시예에서, 에지 가중 인자는 0.5 내지 0.95 범위 내에 있을 수 있다.
이 값들이 임계값 미만이 아니라면, 선택한 픽셀(116)은 에지 픽셀로서 지정된다. 선택한 픽셀(116)이 에지 픽셀이면(즉, 선택한 픽셀(116)에 대한 값들이 임계값 미만이 아니라면), 디링잉 필터(108)는 선택한 픽셀(116)에 적용되지 않는다(블록 186). 다른 경우에, 이 값들이 임계값 미만이면, 선택한 픽셀(116)은 에지 픽셀이 아니다. 선택한 픽셀(116)이 에지 픽셀이 아니면, 디링잉 필터(108)는 선택한 픽셀(116)에 대한 새로운 픽셀 값을 계산한다(블록 188). 일 실시예에서, 선택한 픽셀(116)에 대한 새로운 픽셀 값은 다음에 따라 계산된다.
Figure 112008033354370-pat00006
여기서, Pnew는 선택한 픽셀(116)의 새로운 값을 가리키고, wp는 픽셀 가중 인자를 가리키고, Pi는 선택한 픽셀(116)의 현재 값을 가리키고, Pi -1은 제1 인접 픽셀의 값을 가리키고, Pi +1은 제2 인접 픽셀의 값을 가리키고, Pbias는 소정의 바이어스 인자를 가리킨다. 일 실시예에서, 픽셀 가중값은 약 2.0이고 바이어스 인자는 약 2.0이다. 그러나, 일부 실시예들은 픽셀 가중 인자 및 바이어스 인자에 대하여 서로 다른 값들을 사용할 수 있다.
또한, 선택한 픽셀(116)의 새로운 값을 계산하는 것은, 다음의 식에 따라 클램핑(clamp) 범위 내에서 새로운 픽셀 값을 클램핑할 수 있다.
Figure 112008033354370-pat00007
여기서, Pclamp는 클램핑 범위를 가리키고, Pi는 현재 픽셀 값을 가리키고, Qp는 양자화 스케일 값을 가리킨다. 일 실시예에서는, 원래의 양자화 스케일 값(Qp)을 사용할 수 있다. 다른 방안으로, 수정된 양자화 스케일 값(Qp')을 사용할 수 있다.
선택한 픽셀(116)에 대한 새로운 픽셀 값을 계산한 후에, 디링잉 필터(108)는 입력 픽셀 라인(142)에 (또는 픽셀들(116)의 지정된 서브세트 내에) 더 많은 픽셀들(116)이 존재하는지 여부를 결정한다(블록 190). 더 많은 픽셀들(116)이 존재하는 경우, 디링잉 필터(108)는 동일한 동작들을 다른 선택한 픽셀들(116)에 계속 적용한다. 선택한 픽셀들(116)의 전부가 처리된 후, 도시한 픽셀 수정 동작(162) 이 종료된다.
도 9는 인접하는 매크로블록들(112, 114)에 걸쳐 연장되는 픽셀 라인(118)의 픽셀들(116)에 대한 픽셀 맵(200)의 일 실시예를 개략적으로 도시한다. 픽셀 맵(200)의 수평축은 픽셀 지정을 가리키고, 픽셀 맵(200)의 수직축은 각 픽셀(116)에 대한 대략적인 그레이스케일 또는 컬러스케일 값을 가리킨다.
도시한 픽셀 맵(200)은 인접하는 픽셀들(P2, P3) 사이의 최대 픽셀 점프를 도시한다. 일 실시예에서, 최대 인접 픽셀 점프는 전술한 동작들을 이용하여 발견된다. 픽셀들(P2, P3) 사이의 픽셀 점프가 최대 픽셀 점프이므로, 그리고 픽셀들(P1, P2) 사이의 픽셀 점프가 최대 픽셀 점프보다 작으므로, 픽셀(P2)은 에지 가중 인자의 값에 따라 에지 픽셀로서 지정될 수 있다. 마찬가지로, 픽셀(Q0)은 픽셀들(Q0, P0) 사이 및 픽셀들(Q0, Q1) 사이의 픽셀 점프들이 최대 인접 픽셀 점프에 비교적 가깝기 때문에 에지 픽셀로서 지정될 수 있다. 따라서, 전술한 후 처리 방법(160)을 이용하는 경우, 새로운 픽셀 값들은 픽셀들(P2, Q0)에 대하여 잠재적으로 계산되지 않으며 그 이유는 이 픽셀 값들이 에지 픽셀들로서 지정되어 있기 때문이다. 다시 말하면, 디링잉 필터(108)는 픽셀들(P2, Q0)에 적용되지 않는다. 그러나, 디링잉 필터(108)는 픽셀들(P3, P1, P0, Q1 내지 Q3)에 적용되며 그 이유는 이 픽셀들이 에지 픽셀들이 아니기 때문이다. 이에 따라, 디링잉 필터(108)는 입력 픽셀 라인(142)의 중간의 8개 픽셀들(116) 중 6개의 픽셀에 적용된다.
인접하는 매크로블록들(112, 114)의 쌍(110)에 있는 픽셀 라인들(118)의 각각에 대한 처리 순서가 가변될 수 있다는 점에 주목하기 바란다. 예를 들어, 픽셀 라인들(118)은 좌측으로부터 우측으로, 우측으로부터 좌측으로, 위로부터 아래로, 또는 아래로부터 위로의 순서로 처리될 수 있다. 다른 방안으로, 픽셀 라인들(118)은 다른 순서로 처리될 수 있다. 게다가, 비디오 데이터의 프레임에 대한 매크로블록들의 조합들이 임의의 순서로 처리될 수 있다. 일 실시예에서, 매크로블록들의 조합들은, 현재 매크로블록을 지정한 후, 우측에 매크로블록이 존재하는 경우 이러한 우측에 인접하는 매크로블록을 이용하여 현재 매크로블록을 처리함으로써, 처리된다. 후속하여, 현재 매크로블록은, 자신 위에 매크로블록이 존재하는 경우, 이러한 현재 매크로블록 위의 인접하는 매크로블록을 이용하여 처리된다. 이러한 식으로, 최상위 최좌측 매크로블록에서 시작하여 우측으로 이동하면서 모든 매크로블록들을 처리할 수 있다. 이후, 매크로블록들의 다음 아래 행을 좌측으로부터 우측으로 처리한다. 이 프로세스는 최하위 최우측 매크로블록이 처리될 때까지 계속된다. 후처리 아키텍처(100)의 다른 실시예들은 다른 처리 순서들을 구현하여 디블록킹 필터(106) 및 디링잉 필터(108)를 적용할 수 있다.
도 10은 도 1의 후처리 아키텍처(100)를 구현하는 컴퓨터 시스템(210)의 일 실시예의 개략적인 블록도이다. 도 10에 도시한 바와 같이, 컴퓨터 시스템(210)은, 집적 프로세서 회로(212), 메모리(214), 디스플레이 모니터(216)를 포함하는 고집적 시스템이다. 일 실시예에서, 메모리(214)는 ROM 및 RAM을 포함한다. 고집적 아키텍처는 전력을 보존할 수 있게 한다. 다른 실시예들은 주변 컨트롤러와 같은 다른 컴포넌트들을 포함할 수 있다.
도시한 집적 프로세서 회로(212)는, 메모리 관리 유닛(MMU; 220)과 하나 이 상의 명령 및/또는 데이터 캐시(222)를 포함하는 처리 유닛(CPU; 218)을 포함한다. 또한, 집적 프로세서 회로(212)는 메모리(214)와 인터페이싱하는 메모리 인터페이스(224)를 포함한다. 또한, 집적 프로세서 회로(212)는 버스(228)에 의해 처리 유닛(218)과 메모리 인터페이스(224)에 결합된 그래픽 컨트롤러(226)를 포함한다.
직접 메모리 액세스(DMA) 컨트롤러(230)도 버스(228)에 결합된다. DMA 컨트롤러(230)는, 버스(228)를, 인코더/디코더(CODEC) 인터페이스, 병렬 인터페이스, 직렬 인터페이스, 입력 장치 인터페이스와 같은 다른 코어 로직 기능 컴포넌트들(도시하지 않음)이 결합될 수 있는 인터페이스(I/F) 버스(232)에 결합한다. 일 실시예에서, DMA 컨트롤러(230)는 메모리 인터페이스(224)를 통해 메모리(214)에 저장된 데이터에 액세스하고 I/F 버스(232)에 연결된 주변 장치들에 그 데이터를 제공한다. 또한, DMA 컨트롤러(230)는 그 데이터를 메모리 인터페이스(224)를 통해 주변 장치들로부터 메모리에 전송한다.
일 실시예에서, 그래픽 컨트롤러(226)는 메모리 인터페이스(224)를 통해 메모리(214)로부터 비디오/그래픽 데이터를 요구하고 액세스한다. 이후, 그래픽 컨트롤러(226)는 그 데이터를 처리하고, 처리한 데이터를 포맷하며, 포맷한 데이터를 디스플레이 장치(216)에 전송한다. 일부 실시예들에서, 디스플레이 장치(216)는 액정 디스플레이(LCD), 음극선관(CRT), 또는 텔레비전(TV) 모니터일 수 있다.
도 11은 도 10의 컴퓨터 시스템(210)의 그래픽 컨트롤러(226)의 일 실시예의 개략적인 블록도이다. 후처리 아키텍처(100)의 일부 실시예들은 그래픽 컨트롤러(226)의 일부로서 구현된다. 일반적으로, 그래픽 컨트롤러(226)는, 그래픽 컨트 롤러(226)의 메인 버스(224)를 전술한 집적 처리 회로(212)의 메인 버스(228)에 결합하는 CPU 인터페이스(242)를 포함한다. 또한, 그래픽 컨트롤러(226)는, SRAM(246)(또는 다른 메모리 장치), 비디오 디코더(248), 그래픽 엔진(250), 후처리 장치(252), 메모리 인터페이스 유닛(254), 픽셀 처리 로직(256), 디지털 인터페이스(258), 및 아날로그 인터페이스(260)를 포함한다. 디지털 인터페이스(258)는 디지털 신호를 디지털 디스플레이(262)에 공급한다. 마찬가지로, 아날로그 인터페이스(260)는 아날로그 신호를 아날로그 디스플레이(264)에 공급한다. 일 실시예에서, 아날로그 인터페이스(260)는 디지털 대 아날로그 변환기(DAC)를 포함한다.
CPU 인터페이스(242)는 CPU(218) 및 DMA 컨트롤러(230)에 인터페이스를 제공한다. 이에 따라, CPU 인터페이스(242)는 요구 및 비디오/이미지 데이터를 CPU(218)로부터 적절한 목적지로 라우팅한다. 특히, CPU 인터페이스(242)는 호스트 CPU(218) 및 DMA 컨트롤러(230)로부터의 레지스터 판독/기입 요구 및 메모리 판독/기입 요구를 그래픽 컨트롤러(226) 내의 적절한 모듈들로 전송한다. 예를 들어, 메모리 판독/기입 요구는 메모리 인터페이스 유닛(254)에 전달되고, 다시 이 메모리 인터페이스 유닛은 SRAM(246) 내의 프레임 버퍼에 대하여 데이터를 판독/기입한다. 또한, CPU 인터페이스(242)는, DMA 컨트롤러(230)와의 연락책(liason)으로서 기능을 하여 시스템 메모리(214)로부터 데이터를 페치(fetch)하고 이 데이터를 그래픽 엔진(250) 및 메모리 인터페이스 유닛(254)에 제공한다. 다른 일 실시예에서, CPU 인터페이스(242)는, 후처리 동작들을 제어하도록 CPU(218)에 의해 프로그래밍될 수 있는 다수의 제어 레지스터를 포함한다. 예를 들어, 제어 레지스터 들 중 일부의 콘텐츠는 비디오 디코더(248)를 구성하도록 사용될 수 있다. 일 실시예에서, 비디오 디코더(248)는 MPEG-4 디코더이다. 또한, CPU 인터페이스(242)는, 이미지 구축 및/또는 복원을 수행하도록, 압축된 비디오/이미지 비트스트림을 비디오 디코더(248)에 전달한다.
SRAM(246)의 프레임 버퍼는 디스플레이 장치(216) 상에 디스플레이되는 이미지의 픽스맵(pixmap; 즉, 프레임 버퍼 내로 매핑된 픽셀 패턴)을 저장하는 데 사용되며, 다양한 용도를 위한 임시 버퍼로서 기능할 수도 있다. 또한, SRAM(246)은 비디오 버퍼 및 트랜잭셔널 레지스터에 대하여 메모리 공간을 할당할 수 있다. 트랜잭셔널 레지스터는, 비디오 이미지 픽셀 데이터의 각 블록에 대한 양자화 인자 또는 양자화 스케일 값을 저장하는 데 사용될 수 있다. 그래픽 컨트롤러(226)가 도시한 바와 같이 비디오 디코더(248)를 포함하면, 다른 방안으로, 트랜잭셔널 레지스터가 비디오 디코더(248) 내에 구현될 수 있고 양자화 인자 또는 양자화 스케일 값이 비디오 디코더(248)에 저장될 수 있다.
일 실시예에서, 그래픽 엔진(250)은, 호스트 CPU(218)에 의해 발행되는 커맨드에 기초하여 SRAM(246)의 버퍼에 저장된 그래픽/비디오 이미지 데이터를 처리한다. 또한, 그래픽 엔진(250)은, 그래픽 동작들(예를 들어, BitBLT 및 ROP, 영역 필(fill), 라인 드로잉)을 수행하고, 클리핑(clipping), 투명도, 회전, 컬러 확장을 위한 하드웨어를 지원한다. 일부 실시예들에서, 그래픽 엔진(250)은, 내장 스트레치 블록 전달(built-in Stretch Block Transfer; STRBLT) 기능을 통해, 비디오 이미지 확장, 프로그레시브 스캐닝 변환, YcbCr (Yuv) 대 적색, 녹색, 청색(RGB) 색-공간 변환, 기타 유사한 기능들도 수행한다. 일반적으로, 그래픽 엔진(250)은 비디오/이미지 디스플레이 렌더링 기능들의 상당 부분 또는 전부로부터 CPU(218)를 자유롭게 한다. 이것은 CPU(218)가 시간 결정적 동작들 또는 실시간 동작들을 수행할 수 있게 한다.
일 실시예에서, 메모리 인터페이스 유닛(254)은, SRAM(246) 내의 프레임 버퍼, 비디오 버퍼, 트랜잭셔널 레지스터에 대한 모든 판독 및 기입 트랜잭션들을 제어한다. 이러한 판독 및 기입 요구들은 CPU 인터페이스(242)를 통해 호스트 CPU(218)로부터, 그래픽 엔진(250)으로부터, 픽셀 처리 로직(256)으로부터, 디지털 인터페이스(258) 등으로부터 온 것일 수 있다. 또한, 메모리 인터페이스 유닛(254)은 메모리 어드레싱, 메모리 타이밍 제어에 관련된 태스크, 및 기타 관련된 태스크를 수행한다.
일 실시예에서, 후처리 장치(252)는 복원된 비디오 이미지 데이터로부터 블록킹 아티팩트 및 링잉 아티팩트를 제거하여 복원된 비디오 데이터의 품질을 개선한다. 복원된 MPEG 비디오 이미지 데이터는, 예를 들어, 직렬 인터페이스 또는 비디오 디코더(248)를 통해 광 미디어 플레이어로부터 수신될 수 있다. 이후, 필터링된 비디오 이미지 데이터는 SRAM(246)에 전송된다.
일 실시예에서, 픽셀 처리 로직(256)은 메모리 인터페이스 유닛(254)을 통해 SRAM(246) 내의 버퍼로부터 비디오 및 이미지 데이터를 검색한다. 이후, 픽셀 처리 로직(256)은, 픽셀들(116)을 디지털 인터페이스(258) 및/또는 아날로그 인터페이스(260)에 출력하기 전에 이미지 데이터를 픽셀들(116)로 직렬화하고 이 픽셀 들(116)을 소정의 포맷들로 포맷한다. 이에 따라, 픽셀 처리 로직(256)은 수평 및 수직 디스플레이 타이밍 신호들, 메모리 어드레스들, 판독 요구들, 제어 신호들을 생성하여 SRAM(246)에 저장된 이미지 데이터에 액세스한다. 예를 들어, 디지털 디스플레이 장치(262)가 LCD인 경우, 픽셀 처리 로직(256)으로부터의 픽셀 데이터는 LCD에 전달되기 전에 디지털 인터페이스(258)에 전송된다. 일 실시예에서, 디지털 인터페이스(258)는 디스플레이를 위해 서로 다른 색상(hue)들 또는 그레이 음영들을 추가함으로써 그 픽셀 데이터를 더 처리한다. 또한, 박막 트랜지스터(TFT) LCD(또는 액티브 매트릭스 LCD라 함) 또는 수퍼 트위스티드 네마틱(STN) LCD(또는 패시브 매트릭스 LCD)가 사용되는지에 따라, 디지털 인터페이스(258)는 디스플레이의 유형에 맞도록 데이터를 포맷할 수 있다. 게다가, 디지털 인터페이스(258)는 모노크롬 LCD가 사용되는 경우 색 데이터가 모노크롬 데이터로 변환될 수 있게 한다. 또한, 아날로그 디스플레이 장치(264)가 음극선관(CRT)인 경우, 픽셀 데이터는 CRT에 전송되기 전에 아날로그 인터페이스(260)에 제공된다. 일 실시예에서, 아날로그 인터페이스(260)는 픽셀 처리 로직(256)으로부터의 디지털 픽셀 데이터를 CRT 모니터상에서 디스플레이될 RGB 신호들과 같은 아날로그 신호들로 변환한다.
도 12는 도 11의 그래픽 컨트롤러(226)의 후처리 장치(252)의 일 실시예의 개략적인 블록도이다. 도시한 후처리 장치(252)는, 후처리 컨트롤러(270), (SRAM(246)의 버퍼와 동일하거나 유사한 기능들을 수행하는) 버퍼(104), 디블록킹 필터(106), 및 디링잉 필터(108)를 포함한다. 일 실시예에서, 후처리 장치(252)는 메모리 인터페이스 유닛(254), SRAM(246), 그래픽 엔진(250), CPU 인터페이스(242) 에 대하여 외부적으로 연결된다.
일부 실시예들에서, 디블록킹 필터(106) 및 디링잉 필터(108)는 1차원(1D) 필터들이다. 그러나, 다른 실시예들은 2차원(2D) 필터들 또는 1D 및 2D 필터들의 조합을 사용할 수 있다. 게다가, 그래픽 파이프라인에서 디링잉 필터(108) 전에 디블록킹 필터(106)가 사용되는 일부 실시예들을 설명하고 있지만, 다른 실시예들은 디블록킹 필터(106)를 먼저 사용하지 않고서 디링잉 필터(108)를 사용할 수 있다.
비디오 이미지 파일의 후처리 동안, 후처리 컨트롤러(270)는 CPU 인터페이스(242) 내의 레지스터들의 프로그래밍된 명령어들을 판독하여, SRAM(246)의 버퍼들에 저장된 비디오 이미지 파일로부터, 복원된 비디오 프레임의 후처리를 시작한다. 일 실시예에서, 비디오 이미지 파일은 Yuv 4:2:0 색공간 포맷을 갖는다. 전술한 바와 같이, 비디오 프레임은 16x16 또는 8x8 매크로블록들, 또는 픽셀 블록들로 분할되고, 각 매크로블록은 Y (루미넌스), u, v 컴포넌트 데이터를 위해 예약된 보다 작은 섹션들로 부분할(subdivision)될 수 있다. 다른 실시예들은 다른 색공간 포맷들을 사용할 수 있다.
일 실시예에서, CPU 인터페이스(242) 내의 레지스터들은 후처리 컨트롤러(270)에 제어 정보도 제공한다. 제어 정보는, 예를 들어, 디블록킹 필터(106), 디링잉 필터(108), 또는 이 둘 다가 그래픽 파이프라인에서 사용되는지 여부를 가리킨다. 또한, 제어 정보는, 1D 또는 2D 필터들이 사용되는지 여부, 수평 아티팩트가 먼저 제거되는지 여부, 디링잉 프로세스 전에 디블록킹 프로세스가 실행되는 지 여부, 및 입력 데이터와 출력 데이터의 메모리 어드레스들을 가리킨다. 프로그래밍된 명령어들에 응답하여, 후처리 컨트롤러(270)는 메모리 인터페이스 유닛(254)과 통신하여, SRAM(246)으로부터, 비디오 데이터의 세트뿐만 아니라 대응하는 양자화 인자들 또는 양자화 스케일 값들도 검색한다. 다른 방안으로, 대응하는 양자화 인자들 또는 양자화 스케일 값들은 비디오 디코더(248) 내의 트랜잭셔널 레지스터들로부터 검색될 수 있다. 후처리 컨트롤러(270)로부터의 요구에 응답하여, 메모리 인터페이스 유닛(254)은, 비디오 데이터의 세트들(예를 들어, 각 세트는 10개의 데이터 픽셀을 포함할 수 있음)을 버퍼에 전송하고 대응하는 양자화 인자들 또는 양자화 스케일 값들이 SRAM(246)이 저장되어 있는 경우 이들을 전송하라고 SRAM(246)에게 명령한다. 양자화 인자들 또는 양자화 스케일 값들이 비디오 디코더(248)에 저장되어 있다면, 후처리 컨트롤러(270)는 비디오 디코더(248)에게 요구를 행한다. 또한, 후처리 컨트롤러(270)는 CPU 인터페이스(242) 내의 프로그래밍된 레지스터들로부터의 정보를 버퍼에 포워딩한다.
이후, 후처리 컨트롤러(270)는 전술한 바와 같이 디블록킹 및 디링잉 동작들을 개시한다. 디블록킹 및 디링잉 동작들이 실행된 후, 후처리 컨트롤러(270)는 처리한 데이터를 버퍼 내에 저장되어 있는 메모리 어드레스에서 SRAM(246) 내의 위치에 전송한다. 일 실시예에서, 후처리 컨트롤러(270)는 비디오 프레임에서의 나머지 비디오 데이터에 대하여 전술한 프로세스들을 감시 및 실행한다. 비디오 데이터 후처리의 감시를 돕기 위해, 비디오 데이터의 세트에 관한 정보(예를 들어, 비디오 데이터 프레임 내의 비디오 데이터의 한 세트의 위치를 식별하는 정보, 프 레임 내의 비디오 데이터의 나머지 세트들의 순서 번호들에 대한 비디오 데이터의 한 세트의 순서 번호를 특정하는 정보 등)는, 예를 들어, 그 비디오 데이터의 한 세트가 전술한 후처리 파이프라인을 따라 이동할 때, 그 비디오 데이터의 한 세트와 함께 자신의 헤더 정보의 일부로서 전송될 수 있다.
후처리 방법(150) 및 후처리 아키텍처(100)의 실시예들이 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 일부 조합으로 구현될 수 있다는 점에 주목하기 바란다. 또한, 후처리 방법(150) 및 후처리 아키텍처(100)의 일부 실시예들은, 전술한 기능성 및 동작에 관한 하나 이상의 알고리즘을 나타내는 소프트웨어 또는 하드웨어를 이용하여 구현될 수 있다.
또한, 본 발명의 실시예들은 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 또는 마이크로프로세서와 같은 컴퓨터 프로세서에 의해 수행되는 다수의 기능들을 포함할 수 있다. 마이크로프로세서는 특별한 태스크들을 정의하는 기계 판독가능 소프트웨어 코드를 실행함으로써 그 특별한 태스크들을 수행하도록 구성된 특정한 마이크로프로세서 또는 전용 마이크로프로세서일 수 있다. 또한, 마이크로프로세서는, 직접 메모리 액세스 모듈들, 메모리 저장 장치들, 인터넷 관련 하드웨어, 데이터 전송에 관한 기타 장치들과 같은 다른 장치들과 동작 및 통신하도록 구성될 수 있다. 소프트웨어 코드는, Java, C++, XML(확장가능 마크업 언어), 여기서 설명하는 관련 기능 동작들을 실행하는데 필요한 장치들의 동작들에 관한 기능들을 정의하는 데 사용될 수 있는 기타 언어와 같은 소프트웨어 포맷들을 사용하여 구성될 수 있다. 이 코드는 서로 다른 형태들 및 스타일들로 작성될 수 있으며, 이들 중 상당수는 당업자에게 알려져 있다. 마이크로프로세서의 동작들을 정의하는 코드를 구성하는 소프트웨어 프로그램들 및 기타 수단의 서로 다른 코드 포맷들, 코드 구성들, 스타일들 및 형태들을 구현할 수 있다.
본 발명을 활용하는 컴퓨터 서버와 같은 서로 다른 유형들의 컴퓨터들 내에는, 여기서 설명하는 기능들의 일부 또는 전부를 수행하면서 정보를 저장 및 검색하는 서로 다른 유형들의 메모리 장치들이 존재한다. 일부 실시예들에서, 데이터가 저장되는 메모리/저장 장치는, 프로세서 외부의 별도의 장치일 수 있고, 또는 단일 기판상에 연결된 컴포넌트들처럼 메모리 또는 저장 장치가 동일한 집적 회로 상에 위치하는 모노리식 장치에서 구성될 수 있다. 캐시 메모리 장치는 빈번하게 저장되고 검색되는 정보의 편리한 저장 위치로서 CPU 또는 GPU에 의해 사용되도록 흔히 컴퓨터에 포함된다. 마찬가지로, 영구 메모리도, 중앙 처리 유닛에 의해 빈번하게 검색되지만 캐시 메모리와는 달리 영구 메모리 내에서 자주 변경되지 않는 정보를 유지하도록 이러한 컴퓨터에서 빈번하게 사용된다. 일반적으로 중앙 처리 유닛에 의해 실행될 때 소정의 기능들을 수행하도록 구성된 데이터 및 소프트웨어 애플리케이션과 같은 보다 많은 양의 정보를 저장 및 검색하기 위한 메인 메모리도 포함된다. 이러한 메모리 장치들은 RAM, SRAM, DRAM, 플래시 메모리, 및 정보를 저장 및 검색하도록 중앙 처리 유닛에 의해 액세스될 수 있는 기타 메모리 저장 장치로서 구성될 수 있다. 실시예들은, 이러한 메모리 장치들에 대하여 정보를 저장 및 검색하도록 임의의 공통적으로 사용되는 프로토콜뿐만 아니라 다양한 메모리 및 저장 장치들로 구현될 수 있다.
본 명세서에서는 방법(들)의 동작들을 특정한 순서로 도시하고 설명하고 있지만, 각 방법의 동작들의 순서는, 소정의 동작들이 역 순서로 수행될 수 있도록 또는 소정의 동작들이 다른 동작들과 동시에 적어도 부분적으로 수행될 수 있도록 변경될 수 있다. 다른 일 실시예에서, 별개의 동작들의 명령어들 또는 부동작(sub-operation)들은 간헐적으로 그리고/또는 교번하는 방식으로 구현될 수 있다.
본 발명의 특정한 실시예들을 설명하고 예시하였지만, 본 발명은 전술하고 예시한 부분들의 특정한 형태나 배치에 한정되지 않는다. 본 발명의 범위는 청구범위 및 그 등가물에 의해 한정된다.
도 1 은 후처리 아키텍처의 일 실시예의 개략적인 블록도이다.
도 2는 수평으로 인접하는 픽셀들의 매크로블록들의 한 쌍의 일 실시예를 개략적으로 도시한다.
도 3은 수직으로 인접하는 픽셀들의 매크로블록들의 한 쌍의 일 실시예를 개략적으로 도시한다.
도 4는 디블록킹 아키텍처의 일 실시예의 개략적인 블록도이다.
도 5는 디링잉 아키텍처의 일 실시예의 개략적인 블록도이다.
도 6은 복원된 비디오 데이터를 필터링하는 후처리 방법의 일 실시예의 개략적인 흐름도이다.
도 7은 도 6의 후처리 방법의 픽셀 점프 동작의 보다 상세한 일 실시예의 개략적인 흐름도이다.
도 8은 도 6의 후처리 방법의 픽셀 수정 동작의 보다 상세한 일 실시예의 개략적인 흐름도이다.
도 9는 인접하는 픽셀들의 매크로블록들을 가로질러 연장되는 픽셀들의 라인에 대한 픽셀 맵의 일 실시예를 개략적으로 도시한다.
도 10은 도 1의 후처리 아키텍처를 구현하는 컴퓨터 시스템의 일 실시예의 개략적인 블록도이다.
도 11은 도 10의 컴퓨터 시스템의 그래픽 컨트롤러의 일 실시예의 개략적인 블록도이다.
도 12는 도 11의 그래픽 컨트롤러의 후처리 장치의 일 실시예의 개략적인 블록도이다.
상세한 설명 전반에 걸쳐, 유사한 참조 번호들은 유사한 요소들을 식별하는 데 사용될 수 있다.

Claims (23)

  1. 복원된 비디오 데이터를 필터링하는 그래픽 컨트롤러의 후처리 장치로서,
    메모리로부터 비디오 데이터의 픽셀 라인을 판독하도록 구성되되, 상기 픽셀 라인은 상기 비디오 데이터의 인접하는 매크로블록들로부터의 픽셀들을 포함하는, 버퍼,
    상기 버퍼와 통신하도록 구성되고, 상기 픽셀 라인에서 인접하는 픽셀들의 쌍들 사이의 최대 픽셀 점프를 식별하고 상기 픽셀 라인의 픽셀 서브세트 내의 한 픽셀이 에지 픽셀이 아니라는 결정에 응답하여 상기 한 픽셀에 적용되도록 구성된 디링잉 필터(de-ringing filter)를 포함하고,
    상기 한 픽셀이 에지 픽셀이 아니라는 결정은 식별한 최대 픽셀 점프에 기초하고,
    상기 디링잉 필터는
    Figure 712014002966299-pat00032
    Figure 712014002966299-pat00033
    를 비교하도록 더 구성되고,
    여기서, Pi는 상기 한 픽셀의 현재 값을 가리키고, Pi-1은 제1 인접 픽셀의 값을 가리키고, Pi+1은 제2 인접 픽셀의 값을 가리키고, Pmax는 상기 식별한 최대 픽셀 점프를 가리키고, we는 에지 가중 인자를 가리키는 후처리 장치.
  2. 제 1 항에 있어서,
    상기 디링잉 필터는 상기 픽셀과 인접하는 픽셀 사이의 차이를 에지 임계값에 비교하도록 더 구성되고, 상기 에지 임계값은 상기 식별한 최대 픽셀 점프 및 에지 가중 인자에 의존하는 후처리 장치.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 디링잉 필터는 상기 한 픽셀에 대한 새로운 값을 계산하도록 더 구성되고, 상기 한 픽셀에 대한 새로운 값은 상기 픽셀 라인에서의 인접하는 픽셀들의 현재 값들 및 상기 한 픽셀의 현재 값에 의존하는 후처리 장치.
  5. 제 4 항에 있어서,
    상기 디링잉 필터는
    Figure 112008033354370-pat00010
    에 따라 상기 픽셀에 대한 새로운 값을 계산하도록 더 구성되고,
    여기서, Pnew는 상기 한 픽셀의 새로운 값을 가리키고, wp는 픽셀 가중 인자를 가리키고, Pi는 상기 한 픽셀의 현재 값을 가리키고, Pi -1은 제1 인접 픽셀의 값을 가리키고, Pi +1은 제2 인접 픽셀의 값을 가리키고, Pbias는 소정의 바이어스 인자 를 가리키는 후처리 장치.
  6. 제 5 항에 있어서,
    상기 디링잉 필터는 클램핑 범위 내에서 상기 새로운 픽셀 값을 클램핑하도록 더 구성되고, 상기 클램핑 범위는
    Figure 112008033354370-pat00011
    에 따라 계산되며, 여기서, Pclamp는 상기 클램핑 범위를 가리키고 Qp는 양자화 스케일 값을 가리키는 후처리 장치.
  7. 제 1 항에 있어서,
    상기 버퍼 및 상기 디링잉 필터에 결합되며 상기 인접하는 매크로블록들로부터 블록킹 아티팩트를 제거하도록 구성된 디블록킹 필터를 더 포함하는 후처리 장치.
  8. 제 1 항에 따른 후처리 장치를 포함하는 시스템으로서,
    상기 후처리 장치에 연결되고 인접하는 매크로블록들 중 현재 매크로블록에 대한 양자화 스케일 값을 생성하는 비디오 디코더를 더 포함하고,
    상기 디링잉 필터는 상기 양자화 스케일 값을 디링잉 임계값과 비교하여 상기 디링잉 필터가 활성화되어 있는지 여부를 결정하도록 더 구성된 시스템.
  9. 제 8 항에 있어서,
    상기 디링잉 필터는
    Figure 112008033354370-pat00012
    에 따라 상기 양자화 스케일 값을 조절하도록 더 구성되고,
    여기서,
    Figure 112008033354370-pat00013
    는 새로운 양자화 스케일 값을 가리키고, Qp는 원래의 양자화 스케일 값을 가리키고, M은 후 디링잉 인자를 가리키고, wd는 후 디링잉 가중 인자를 가리키는 시스템.
  10. 링잉 아티팩트를 보상하도록, 복원된 비디오를 필터링하는 방법으로서,
    비디오 데이터의 픽셀 라인을 판독하되, 상기 픽셀 라인은 상기 비디오 데이터의 인접하는 매크로블록들로부터의 픽셀들을 포함하는, 단계와,
    상기 픽셀 라인에서 인접하는 픽셀들의 쌍들 사이의 최대 픽셀 점프를 식별하는 단계와,
    상기 픽셀 라인의 픽셀 서브세트 내의 한 픽셀이 에지 픽셀이 아니라는 결정에 응답하여 디링잉 필터를 상기 한 픽셀에 적용하는 단계를 포함하고,
    상기 한 픽셀이 에지 픽셀이 아니라는 결정은 식별한 최대 픽셀 점프에 기초하고,
    상기 한 픽셀이 에지 픽셀이 아니라는 결정은 상기 한 픽셀과 에지 임계값에 인접하는 픽셀 사이의 차이를 비교하는 단계를 포함하고,
    상기 에지 임계값은 상기 식별한 최대 픽셀 점프 및 에지 가중 인자에 의존하고,
    상기 한 픽셀과 에지 임계값에 인접하는 픽셀 사이의 차이를 비교하는 단계는,
    Figure 712014002966299-pat00034
    Figure 712014002966299-pat00035
    에 따라 비교를 수행하는 단계를 포함하고,
    여기서, Pi는 픽셀의 현재 값을 가리키고, Pi-1은 제1 인접 픽셀의 값을 가리키고, Pi+1은 제2 인접 픽셀의 값을 가리키고, Pmax는 상기 식별한 최대 픽셀 점프를 가리키고, we는 상기 에지 가중 인자를 가리키는 필터링 방법.
  11. 삭제
  12. 삭제
  13. 제 10 항에 있어서,
    상기 픽셀 라인은 픽셀들의 제1 매크로블록으로부터의 8개의 픽셀 및 픽셀들의 제2 매크로블록으로부터의 8개의 픽셀을 포함하고, 상기 픽셀 서브세트는 상기 제1 매크로블록 및 제2 매크로블록의 각각으로부터 4개씩 총 8개의 픽셀을 포함하는 필터링 방법.
  14. 제 10 항에 있어서,
    상기 디링잉 필터를 상기 한 픽셀에 적용하는 단계는 상기 한 픽셀에 대한 새로운 값을 계산하는 단계를 포함하고,
    상기 한 픽셀에 대한 새로운 값은, 상기 한 픽셀의 현재 값 및 상기 픽셀 라인에서의 인접하는 픽셀들의 현재 값들에 의존하는 필터링 방법.
  15. 제 14 항에 있어서,
    Figure 112008033354370-pat00016
    에 따라 상기 한 픽셀에 대한 새로운 값을 계산하는 단계를 더 포함하고,
    여기서, Pnew는 픽셀의 새로운 값을 가리키고, wp는 픽셀 가중 인자를 가리키고, Pi는 상기 한 픽셀의 현재 값을 가리키고, Pi -1은 제1 인접 픽셀의 값을 가리키고, Pi +1은 제2 인접 픽셀의 값을 가리키고, Pbias는 소정의 바이어스 인자를 가리키는 필터링 방법.
  16. 제 15 항에 있어서,
    상기 한 픽셀에 대한 새로운 값을 계산하는 단계는 클램핑 범위 내에서 상기 새로운 픽셀 값을 클램핑하는 단계를 포함하고,
    상기 클램핑 범위는
    Figure 112008033354370-pat00017
    에 따라 계산되며,
    여기서, Pclamp는 상기 클램핑 범위를 가리키고 Qp는 양자화 스케일 값을 가리키는 필터링 방법.
  17. 제 10 항에 있어서,
    디블록킹 필터로부터 상기 픽셀 라인의 픽셀들 중 적어도 일부를 수신하는 단계를 더 포함하는 필터링 방법.
  18. 제 10 항에 있어서,
    상기 인접하는 매크로블록들 중 현재 매크로블록에 대한 양자화 스케일 값을 디링잉 임계값과 비교하여 상기 디링잉 필터가 활성화되어 있는지 여부를 결정하는 단계를 더 포함하는 필터링 방법.
  19. 제 18 항에 있어서,
    Figure 112008033354370-pat00018
    에 따라 상기 양자화 스케일 값을 조절하는 단계를 더 포함하고,
    여기서,
    Figure 112008033354370-pat00019
    는 새로운 양자화 스케일 값을 가리키고, Qp는 원래의 양자화 스케일 값을 가리키고, M은 후 디링잉 인자를 가리키고, wd는 후 디링잉 가중 인자를 가리키는 필터링 방법.
  20. 에지 디링잉이 용이하도록 동작들을 수행하는 디지털 프로세서에 의해 실행가능한 기계 판독가능 명령어들의 프로그램을 구현하는 컴퓨터 판독가능 저장매체로서, 상기 동작들은,
    비디오 데이터의 픽셀 라인을 판독하되, 상기 픽셀 라인은 상기 비디오 데이터의 인접하는 매크로블록들로부터의 픽셀들을 포함하는, 동작과,
    상기 픽셀 라인에서 인접하는 픽셀들의 쌍들 사이의 최대 픽셀 점프를 식별하는 동작과,
    상기 픽셀 라인의 픽셀 서브세트 내의 한 픽셀이 에지 픽셀이 아니라는 결정에 응답하여 디링잉 필터를 상기 한 픽셀에 적용하는 동작을 포함하고,
    상기 한 픽셀이 에지 픽셀이 아니라는 결정은 식별한 최대 픽셀 점프에 기초하고,
    상기 디링잉 필터는
    Figure 712014002966299-pat00036
    Figure 712014002966299-pat00037
    를 비교하도록 더 구성되고,
    여기서, Pi는 상기 한 픽셀의 현재 값을 가리키고, Pi-1은 제1 인접 픽셀의 값을 가리키고, Pi+1은 제2 인접 픽셀의 값을 가리키고, Pmax는 상기 식별한 최대 픽셀 점프를 가리키고, we는 에지 가중 인자를 가리키는 컴퓨터 판독가능 저장매체.
  21. 제 20 항에 있어서,
    상기 동작들은 상기 한 픽셀과 인접하는 픽셀 사이의 차이를 에지 임계값에 비교하는 동작을 더 포함하고,
    상기 에지 임계값은 상기 식별한 최대 픽셀 점프 및 에지 가중 인자에 의존하는 컴퓨터 판독가능 저장매체.
  22. 제 20 항에 있어서,
    상기 동작들은 상기 한 픽셀에 대한 새로운 값을 계산하는 동작을 더 포함하고,
    상기 한 픽셀에 대한 새로운 값은 상기 한 픽셀에 대한 현재 값 및 상기 픽셀 라인에서의 인접하는 픽셀들의 현재 값들에 의존하는 컴퓨터 판독가능 저장매체.
  23. 제 20 항에 있어서,
    상기 동작들은 상기 인접하는 매크로블록들 중 현재 매크로블록에 대한 양자화 스케일 값과 디링잉 임계값과의 비교에 응답하여 상기 디링잉 필터를 활성화하는 동작을 더 포함하는 컴퓨터 판독가능 저장매체.
KR1020080043561A 2008-05-09 2008-05-09 복원된 비디오 데이터를 위한 디링잉 필터 KR101452495B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080043561A KR101452495B1 (ko) 2008-05-09 2008-05-09 복원된 비디오 데이터를 위한 디링잉 필터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080043561A KR101452495B1 (ko) 2008-05-09 2008-05-09 복원된 비디오 데이터를 위한 디링잉 필터

Publications (2)

Publication Number Publication Date
KR20090117489A KR20090117489A (ko) 2009-11-12
KR101452495B1 true KR101452495B1 (ko) 2014-10-21

Family

ID=41601961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080043561A KR101452495B1 (ko) 2008-05-09 2008-05-09 복원된 비디오 데이터를 위한 디링잉 필터

Country Status (1)

Country Link
KR (1) KR101452495B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331331B1 (ko) * 1998-11-02 2002-05-09 윤덕용 영상데이터 루프필터링 방법
KR20030065277A (ko) * 2002-01-31 2003-08-06 삼성전자주식회사 블록킹 효과를 제거하기 위한 필터링 방법 및 그 장치
KR20050025928A (ko) * 2003-09-07 2005-03-14 마이크로소프트 코포레이션 비트스트림 제어 후처리 필터링 방법 및 컴퓨터 판독가능매체
JP2008042565A (ja) 2006-08-07 2008-02-21 Toshiba Corp 動画像復号化装置および方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100331331B1 (ko) * 1998-11-02 2002-05-09 윤덕용 영상데이터 루프필터링 방법
KR20030065277A (ko) * 2002-01-31 2003-08-06 삼성전자주식회사 블록킹 효과를 제거하기 위한 필터링 방법 및 그 장치
KR20050025928A (ko) * 2003-09-07 2005-03-14 마이크로소프트 코포레이션 비트스트림 제어 후처리 필터링 방법 및 컴퓨터 판독가능매체
JP2008042565A (ja) 2006-08-07 2008-02-21 Toshiba Corp 動画像復号化装置および方法

Also Published As

Publication number Publication date
KR20090117489A (ko) 2009-11-12

Similar Documents

Publication Publication Date Title
US7792194B2 (en) MPEG artifacts post-processed filtering architecture
US8576924B2 (en) Piecewise processing of overlap smoothing and in-loop deblocking
US7792385B2 (en) Scratch pad for storing intermediate loop filter data
KR100281099B1 (ko) 동영상의부호화에따른블록화현상제거방법
JP4004089B2 (ja) ビデオ信号復号化システムおよびノイズ抑圧方法
KR101082179B1 (ko) 화상 데이터의 측정 기반의 스케일러블 디블록 필터링
KR101158345B1 (ko) 디블록킹 필터링을 수행하는 방법 및 시스템
KR19990024963A (ko) 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
JP2010514246A (ja) 画像圧縮及び伸張
US20090285308A1 (en) Deblocking algorithm for coded video
JP4641784B2 (ja) 階調変換処理装置、階調変換処理方法、画像表示装置、テレビジョン、携帯情報端末、カメラ、集積回路および画像処理プログラム
KR20210132708A (ko) 루프 필터링 구현 방법, 장치 및 컴퓨터 저장 매체
JP2003517796A (ja) 「ムラのあるピクチャ」効果を減らす方法
EP1549073A2 (en) Dynamic packet size control for mpeg-4 data partition mode
US8073276B2 (en) De-ringing filter for decompressed video data
US11600026B2 (en) Data processing systems
KR20010080611A (ko) 필터링 장치 및 방법
KR101452495B1 (ko) 복원된 비디오 데이터를 위한 디링잉 필터
KR20050099256A (ko) 디블록킹을 이용한 영상처리 장치와 영상처리 방법
WO2022077490A1 (zh) 一种帧内预测方法、编码器、解码器及存储介质
EP2117233B1 (en) De-ringing filter for decompressed video data
JP3715273B2 (ja) 画像データの平滑化処理装置、平滑化処理方法及び平滑化処理プログラム
JP2009278189A (ja) 解凍ビデオデータ用デリンギングフィルタ
KR100524856B1 (ko) 블록 경계 영역 필터링 방법
JP6265705B2 (ja) 画像符号化装置及び画像符号化方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191004

Year of fee payment: 6