KR20070026876A - 비디오 에지 필터링을 위한 데이터 캐싱 - Google Patents

비디오 에지 필터링을 위한 데이터 캐싱 Download PDF

Info

Publication number
KR20070026876A
KR20070026876A KR1020077002724A KR20077002724A KR20070026876A KR 20070026876 A KR20070026876 A KR 20070026876A KR 1020077002724 A KR1020077002724 A KR 1020077002724A KR 20077002724 A KR20077002724 A KR 20077002724A KR 20070026876 A KR20070026876 A KR 20070026876A
Authority
KR
South Korea
Prior art keywords
memory
pixel data
macroblock
edge
filter
Prior art date
Application number
KR1020077002724A
Other languages
English (en)
Other versions
KR100877164B1 (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 콸콤 인코포레이티드
Publication of KR20070026876A publication Critical patent/KR20070026876A/ko
Application granted granted Critical
Publication of KR100877164B1 publication Critical patent/KR100877164B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal

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

본 발명의 실시예는 비디오 매크로블록들의 에지를 필터링하는데 사용되는 픽셀 데이터를 캐싱하는 장치 및 방법에 관한 것이다. 연속한 매크로블록을 에지 필터링하기 위해 필요한 픽셀 데이터는 캐시 메모리에 일시적으로 저장된다. 매크로블록이 연속적으로 프로세싱될 때, 이렇게 캐싱된 픽셀 데이터는 판독되고 대응하는 에지를 필터링하기 위해 사용된다. 선택 픽셀 값들을 외부 메모리에 기록하지 않고 이들을 캐싱함으로써, 메모리 액세스의 수는 현저히 감소된다.

Description

비디오 에지 필터링을 위한 데이터 캐싱{CACHING DATA FOR VIDEO EDGE FILTERING}
본 출원은 2004년 7월 2일 출원된 "Method and Apparatus for Video Filtering"이란 명칭의 가출원 No.60/585,498을 우선권으로 청구하는데, 이 건은 본 건의 양수인에게 양도되었으며, 본 명세서에 참조된다.
본 발명은 비디오 매크로블록의 에지를 필터링하는데 사용되는 픽셀 데이터를 캐싱하는 방법 및 장치에 관한 것이다.
디지털 비디오는 디지털 캠코더, 디지털 카메라, 비디오-CD, DVD, 디지털 텔레비전, 디지털 오디오 방송, 컴퓨터 생성 비디오 등의 도입 및 확산으로 급증하고 있다. 실제로, 오늘날의 셀룰러 전화는 비디오 이미지를 기록하고 무선으로 송신하는 성능을 가지고 있다. 디지털 비디오 애플리케이션이 겪는 주요한 장애는 통상의 비디오 파일을 표현하는 디지털 데이터의 과도한 양의 디지털 데이터와 관련한다. 비디오 파일과 관련한 디지털 데이터의 순수한 분량은 이러한 비디오 파일의 프로세싱, 송신 및 저장을 복잡하고 비용 소모적인 작업이 되게 한다.
비디오 프로세싱, 송신, 및 저장과 관련하여 비용을 감소시키고 노력을 줄이기 위해, 많은 다양한 비디오 압축/압축 해제 기술이 개발되었으며 구축되었다. 잘 알려지고 보다 널리 적용되는 비디오 압축/압축 해제 표준의 일부는 MPEG4, H264, Windows MediaTM, 및 RealVideo9TM을 포함한다. 통상의 압축 방식에서, 입력 비디오 스트림이 분석되고 정보가 비디오 파일을 "압축"하기 위해 선택적으로 버려짐으로써, 파일의 크기를 감소시킨다. 압축된 비디오 파일이 원래의 비디오 파일보다 현저히 작기 때문에, 압축된 비디오 파일로 작업하는 것은 용이하고, 신속하고 비용 절감이 된다. 그 후, 압축된 비디오 파일은 재생을 위해 압축해제된다. 비록 재생시, 압축 해제된 비디오 이미지의 품질이 원래의 비디오 이미지와 비교하여 양호하지는 않지만, 이러한 사소한 품질 저하는 비디오 압축/압축해제 기술을 적용함으로써 얻은 장점으로 인해 차감 이상이다. 결론적으로, 디지털 비디오 애플리케이션은 거의 변함없이 소정 형태의 비디오 압축/압축해제를 포함한다.
비디오 압축/압축해제를 위해, 비디오 스트림은 한번에 프로세싱된 하나의 프레임이다. 통상적으로, 비디오 프레임은 다수의 더욱 관리 가능한 매크로블록으로 분할된다. 각각의 매크로블록은 픽셀의 고정된 어레이(예를 들어, 16×16 픽셀 어레이)를 포함한다. 많은 예에서, 매크로블록은 더 작은 픽셀의 블록(예를 들어, 4×4 픽셀 어레이)으로 추가로 세분된다. 프레임을 다수의 블록으로 분할함으로써, 다양한 단계의 압축/압축해제 칩이 파이프라인 구조에서 동시에 몇몇 블록들을 프로세싱할 수 있다. 이러한 파이프라인 프로세싱은 비디오가 압축 및 압축해제될 수 있는 속도를 증가시키는데, 이는 고해상도 및 고비율 데이터 스트림을 지원하기 위해 매우 중요하다.
불행히도, 매크로블록 기반에 대한 압축/압축해제의 부작용은 매크로블록의 에지가 원치 않는 인공물(artifacts) 또는 다른 타입의 왜곡을 보일 수 있다는 것이다. 비디오 프레임을 포함하는 매크로블록이 디스플레이를 위해 어셈블링되면, 이러한 인공물 및 왜곡은 비디오가 여기저기에서 물결이 일고, 지그재그 또는 뒤틀리게 한다. 최종 비디오 이미지는 시각적으로 불안하고 만족할 만하지 않다.
이러한 문제를 해결하는 한가지 공통 해법은 매크로블록의 에지를 필터링하게 하는 것이다. 필터링에서, 에지의 양측에 잔여하는 다수의 픽셀은 자신의 각각의 값을 필터링 알고리즘에 따라 조절되게 하거나 "밸런싱(balanced)"되게 한다. 조절되거나 "필터링"된 픽셀 값은 에지가 매끄럽게 되게 한다. 최종 결과는 훨씬 시각적으로 만족스런 비디오 이미지를 초래한다.
그러나 필터링된 에지에 대한 아래쪽은 다수의 메모리 액세스를 필요로 한다. 처리할 디지털 데이터의 높은 분량으로 인해, 일단 블록이 초기에 프로세싱되면, 비디오 스트림을 압축 및 압축해제하는 엔코더/디코더 칩은 통상적으로 저장을 위해 외부 메모리에 데이터를 기록한다. 그러나 필터링은 에지의 양측으로부터 픽셀 데이터를 필요로 하므로, 엔코더/디코더 칩은 필터링을 달성하기 위해, 현재 블록에 대응하는 것은 물론 인접한 블록으로부터 픽셀 데이터를 획득해야 한다. 결론적으로, 엔코더/디코더 칩은 앞서 프로세싱된 인접한 블록에 대응하는 외부 메모리에 저장된 픽셀 데이터를 판독하기 위해 메모리 액세스를 실행해야 한다. 픽셀 값이 조절된 후, 현재 블록에 대응하는 새롭게 필터링된 픽셀 값들이 외부 메모리에 기록된다. 이는 또 다른 메모리 액세스 요구를 필요로 한다. 더욱이, 인접한 블록에 대응하는 픽셀은 또한 필터링 프로세싱에 의해 교환된 자신의 값들을 갖는다. 이는 인접함 블록에 대응하는 필터링된 픽셀 값들이 이제 메모리로 다시 기록되어야 함을 의미한다. 따라서, 또 다른 메모리 액세스 요구가 실행된다. 이러한 판독/기록 메모리 액세스 관례는 각각의 모든 블록에 대해 반복된다. 최종 결론은 동일한 픽셀은 외부 메모리로부터 많은 회수로 재판독(read back)되어야 한다는 것이다. 비디오 스트림을 압축/압축해제하는 과정에 우선하여, 관련된 판독/기록 메모리 액세스 요구의 수가 시스템의 성능에 결정적으로 영향을 줄 수 있다.
메모리 액세스 요구를 실행하는 것은 시간, 시스템 성능 및 전력 면에서 비용 소모적이다. 메모리 요구를 나타내는 것은 시간이 소모된다. 그리고 버스가 다수의 시스템 컴포넌트 사이에서 공유되기 때문에, 만일 다른 컴포넌트가 현재 버스를 사용하고 있다면, 컴포넌트에 대응하는 트랜잭션은 버스가 이용가능하게 되기 전까지 자신의 실행을 완료해야 한다. 실제로 메모리로부터 데이터를 검색하고 데이터를 메모리에 기록하는 것은 또한 시간이 소모된다. 게다가, 만일 버스가 압축/압축해제 칩에 의한 메모리 액세스 요구를 서비스하고 있다면, 시스템의 다른 컴포넌트 및 칩은 그 시간 동안에 버스의 이용으로부터 거부된다. 이러한 모든 팩터는 전체 시스템 성능을 저하시키기 쉽다. 더욱이, 각각의 메모리 액세스에 대해, 작은 양의 전력도 소모된다. 과도한 메모리 액세스는 휴대용 비디오 장치의 배터리가 예상보다 더욱 신속히 고갈되게 한다.
따라서, 비디오 압축/압축해제가 효율적으로 적용되도록 에지 필터링을 지원함과 동시에, 메모리 액세스가 최소화될 수 있는 소정의 방법이 요구된다.
외부 메모리가 아닌 캐시 메모리에서 비디오 매크로블록의 에지를 필터링하는데 사용되는 픽셀데이터를 저장하기 위한 장치 및 방법이 제공된다. 연속한 매크로블록을 에지 필터링하기 위해 요구되는 픽셀 데이터는 일시적으로 캐시 메모리에 저장된다. 매크로블록이 연속적으로 프로세싱되면, 캐싱된 픽셀 데이터는 판독되어 대응하는 에지를 필터링하기 위해 사용된다. 자동으로 픽셀들을 외부 메모리로 모두 기록하지 않고, 선택적으로 소정의 픽셀을 캐싱함으로써, 메모리 액세스의 수가 픽셀당 한번의 메모리 기록 트랙잭션으로 실질적으로 감소된다.
본 발명은 첨부한 도면과 함께, 예를 통해 설명되지만 이에 한정되지는 않으며, 동일한 참조 번호는 동일한 엘리먼트를 나타낸다.
도1은 본 발명이 실행되는 비디오 시스템의 예의 블록도이다.
도2는 본 발명의 일 실시예에 따른 캐싱된 필터 픽셀 데이터 프로세스를 설명하는 흐름도이다.
도3은 매크로블록의 16×16 어레이로 분할된 비디오 프레임을 도시한다.
도4는 매크로블록을 포함하는 16개의 비디오 블록을 도시한다.
도5는 픽셀 데이터가 제1 매크로블록에 대해 어떻게 캐싱되는 지를 도시한다.
도6은 픽셀 데이터가 제2 매크로블록에 대해 어떻게 캐싱되는 지를 도시한다.
도7은 픽셀 데이터가 제3 매크로블록에 대해 어떻게 캐싱되는 지를 도시한다.
도8은 픽셀 데이터가 제2 스캔 라인의 매크로블록에 대해 어떻게 캐싱되는 지를 도시한다.
도9는 본 발명의 일 실시예의 특정 애플리케이션의 상세 설명을 도시한다.
도10은 필터링된 매크로블록에 대해 외부 메모리로 어떻게 기록이 발생하는 지를 나타낸 9가지 경우를 도시한다. 볼드 라인의 각각의 16×16 블록은 매크로블록을 나타내며, 각각의 음영된 영역은 필터링이 행해진 후 매크로블록에 대해 기록된 실제 픽셀을 도시한다.
"예"라는 용어는 "사례, 실례, 또는 설명예"라는 의미로 사용된다. "예"로서 설명된 소정의 실시예 또는 고안은 다른 실시예 또는 고안에 비해 반드시 바람직하거나 우수한 장점을 갖는 것만은 아니다.
비디오 매크로블록의 에지 필터링을 위해 픽셀 데이터를 캐싱하는 방법 및 시스템이 개시된다. 도1은 본 발명이 실행될 수 있는 비디오 시스템의 예의 블록도이다. 이미지는 이미지 캡쳐 장치(101)(예를 들어, 전하 결합 장치(CCD))로부터 캡쳐링된다. 이미지 캡쳐 장치로부터의 전자 신호는 프로세서(103)(예를 들어, 디지털 신호 처리기(DSP), 상태 머신 등)에 의해 비디오 스트림으로 프로세싱되고, 버스(102)를 통해 엔코더/디코더(104)로 전송된다. 비디오 엔코더/디코더(104)는 인입 비디오 스트림을 압축하고 압축된 비디오 데이터를 저장을 위해 버스(102)를 통해 외부 메모리(105)로 전송한다. 비디오 엔코더/디코더(104)는 또한 외부 메모리(105)로부터 비디오 데이터를 판독하고, 비디오 데이터를 압축해제하고, 디스플레이(106)상에 표현하기 위해 압축해제된 비디오 데이터를 전송한다. 입력/출력(I/O) 인터페이스(107)는 인간의 입력을 수신하고 외부 장치에 대한 인터페이스를 제공하는데 사용된다.
일 실시예에서, 비디오 엔코더/디코더(140)는 모션 보상기(110), 텍스쳐 코덱(111), 및 디블록커/필터(112)를 포함한다. 모션 보상기(110)는 최종 화상으로부터 픽셀의 블록을 재배치함으로써 픽셀들의 값들을 예상한다. 이러한 모션은 2차원 벡터 또는 그 최종 위치로부터의 움직임에 의해 설명된다. 텍스쳐 코덱(111)은 텍스쳐 코딩 및 디코딩을 실행한다. 디블록커/필터(112)는 압축된 비디오 데이터를 취하고, 버스(102)를 통해 이를 저장하기 위해 외부 메모리(105)에 버스트 기록한다. 디블록커/필터(112)는 또한 비디오가 외부 메모리로 기록되기 전에 비디오 블록의 에지를 필터링할 책임이 있다.
캐시 메모리(113)는 디블록커/필터(112)에 결합된다. 장래의 필터링 동작에 사용될 픽셀 데이터는 일시적으로 캐시 메모리(113)에 저장된다. 이러한 비디오 블록을 계속하여 필터링할 순간이 되면, 인접한 에지에 대응하는 픽셀 데이터는 이미 캐시 메모리(113)에 유지된다. 결론적으로, 디블록커/필터(112)는 캐시 메모리(113)로부터 필수적인 픽셀 데이터를 판독한다. 종래 기술에서, 인접한 에지의 픽셀 데이터는 이러한 데이터를 판독하는데 메모리 액세스 요구를 필요로 하는 외부 메모리(105)로부터 판독되어야 할 것이다. 내부 캐시 메모리를 구현함으로써, 본 발명의 실시예는 에지 필터링을 위해 외부 메모리(105)로부터 데이터를 판독하기 위한 메모리 액세스의 실행 필요성을 제거한다. 일 실시예에서, 캐시 메모리(113)는 정적 랜덤 액세스 메모리(SRAM)의 내부 섹션이다. SRAM 메모리는 엔코더/디코더 칩(103)의 일부로서 제조된다. 캐시 메모리를 직접적으로 엔코더/디코더 칩(103)으로, 그리고 그 일부로서 제조함으로써, 픽셀 데이터는 내부 캐시 메모리로 기록될 수 있으며, 외부 버스를 통해 칩의 외부 및 외부 메모리 칩으로 액세스하지 않고, 이러한 캐시 메모리로부터 직접 판독될 수 있다. 캐시 메모리(103)로 인해, 각각의 픽셀은 디블록커로부터 외부 메모리(105)로 단지 한번만 기록될 필요가 있으며, 어떠한 픽셀도 외부 메모리(105)로부터 판독될 필요가 없다.
메모리 액세스 요구의 수를 감소시킴으로써, 실시예는 에지 필터링을 훨씬 신속하게 그리고 통상의 시스템보다 더욱 효율적으로 실행한다. 더욱이, 소정의 실시예의 구현은 전력 소모를 감소시킨다. 도1의 시스템의 예는 실시예를 설명하기 위한 의도로 비디오 시스템과 관련한 다양한 컴포넌트를 개시하고 있음을 주목해야 한다. 그러나 다른 컴포넌트가 본 발명의 사상을 벗어나지 않고, 포함, 생략 또는 대체될 수 있다. 더욱이, 본 발명의 픽셀 캐시 에지 필터링 장치 및 방법은 실질적으로 소정의 비디오 엔코더/디코더 장치, 시스템 또는 서브 시스템에 용이하게 적용될 수 있다.
도2는 캐싱된 필터 픽셀 데이터 프로세스를 위한 단계를 설명하는 흐름도이다. 초기에, 단계(201)에서, 프로세스의 실시예는 연속한 매크로블록의 필터링을 필요로 하지 않을 각각의 매크로블록의 일부를 특정한다. 이러한 일부는 비디오 프레임의 각각의 매크로블록의 각각의 위치에 따라 상이할 수도 있다. 비디오 프레임은 한번에 래스터 스캐닝된 하나의 매크로블록이다. 각각의 매크로블록에 대해, 매크로블록의 에지들은 필터링되는데, 이에 대해서는 단계(202-206)고 관련하여 후술될 것이다. 특히, 단계(202)에서, 필터링 프로세스는 현재의 매크로블록 중 하나의 에지에 대해 실행된다. 필터링 프로세스의 일부로서, 인접한 매크로블록에 속하는 픽셀 데이터가 단계(203)에서 현재 에지를 필터링하기 위해 필요한지에 대한 결정이 행해진다. 만일 인접한 매크로블록에 속하는 픽셀 데이터가 현재 에지를 필터링하기 위해 필요하면, 픽셀 데이터는 단계(204)에서 캐시 메모리로부터 판독된다. 따라서, 캐시 메모리로부터의 판독은 외부 메모리로의 메모리 액세스에 대한 요구를 제거한다. 일단 이러한 픽셀 데이터가 캐시 메모리로부터 검색되면, 실제 필터링이 단계(202)에서 현재 에지에 대해 실행될 수 있다. 그렇지 않고, 만일 인접한 매크로블록으로부터의 데이터가 요구되지 않으면, 현재 에지는 단계(202)에서 간단히 필터링된다. 매크로블록의 각각의 에지는 현재의 매크로블록에 대응하는 모든 에지가 성공적으로 필터링될 때까지 이런 식으로 필터링된다(단계205-206 참조).
일단 현재의 매크로블록의 모든 에지가 필터링되면, (단계(201)에서 특정된 바와 같이) 연속한 매크로블록을 필터링하는데 필요하지 않을 매크로블록의 일부는 단계(207)에서 외부 메모리로 기록된다. 이러한 일부가 연속한 매크로블록을 필터링하기 위해 요구되지 않기 때문에, 이는 소정의 연속한 에지 필터링의 일부로서 변경되지 않을 것이다. 결론적으로, 이러한 일부는 외부 메모리에 한번만(once and only once) 기록된다. 매크로블록의 일부를 한번만 메모리로 기록함으로써, 판독-수정-기록 메모리 액세스를 실행하기 위한 필요성이 제거된다. 연속한 매크로블록을 필터링하는데 사용될 일부인 매크로블록의 다른 부분은 캐시 메모리에 저장된다. 이는 단계(208)로 표현된다. 단계(209) 및 (210)에서, 매크로블록의 에지 필터링의 전술한(202-208) 프로세스가 비디오 프레임의 각각의 그리고 모든 매크로블록에 대해 반복된다. 따라서, 단계(201-210)는 캐시가 비디오 매크로블록을 에지 필터링하기 위해 적용되는 방법의 프로세스를 배열한다.
도3 및 4는 비디오 프레임의 에지가 필터링을 위해 식별되는 방법을 나타낸다. 도3에서, 비디오 프레임(300)은 301, 302, 303, ..., 317 등으로 도시된 다수의 매크로블록으로 분할된다. 일 실시예에서, 비디오 프레임(300)은 전체 256 매크로블록에 대해 16×16 매크로블록의 어레이로 분할된다. 매크로블록은 좌에서 우로, 상부에서 하부로 래스터 스캐닝된다. 각각의 매크로블록은 비디오 블록으로 추가로 세분된다. 일 실시예에서, 각각의 매크로블록은 비디오 블록의 4×4 어레이로 세분된다. 도4는 매크로블록(310)을 포함하는 비디오 블록의 4×4 어레이를 도시한다. 이러한 세분의 결과, 각각의 매크로블록은 전체 16개의 비디오 블록에 대해 비디오 블록의 4개의 열 및 4개의 행을 갖는다. 비디오 블록의 4개의 열의 각각의 4개의 좌측 에지(즉 16 에지) 및 4개의 행의 각각의 4개의 상부 에지(즉 16 에지)가 에지 필터링된다. 따라서, 매크로블록당 필터링이 필요한 32개의 에지가 존재한다.
비디오 블록의 32개의 에지에 대해 에지 필터링이 적용된 후, 픽셀 데이터의 예정된 부분이 버스를 통해 외부 메모리에 저장을 위해 기록된다. 픽셀 데이터의 나머지 부분은 내부 캐시에 저장된다. 외부 메모리에 기록된 픽셀 데이터의 일부는 연속한 매크로블록에 대응하는 에지 필터링을 실행할 필요가 없는 픽셀 데이터이다. 그로 인해, 일 실시예에서, 필터링된 픽셀 데이터는 외부 메모리에 한번만 기록된다. 비교하면, 실시예는 외부 메모리로 판독-수정-기록 동작을 실행하는 종래 기술과 대조적으로, 외부 메모리로 기록 연산을 실행하는 것에 관한 것이다.
연속한 매크로블록의 에지 필터링에 필요할 픽셀 데이터는 내부 캐시 메모리에 저장된다. 에지 필터링의 실행 과정에서, 인접한 매크로블록에 대응하는 픽셀 데이터가 필요한 경우, 픽셀 데이터는 내부 캐시 메모리로부터 판독된다. 따라서, 일 실시예에서, 픽셀 데이터는 에지 필터링을 위해 외부 메모리로부터 결코 재판독되지 않는다. 특정한 필터링된 픽셀 데이터를 외부 메모리에 한번만 기록하고 픽셀 데이터를 외부 메모리로부터 결코 판독하지 않는 것은 에지 필터링에 필요한 외부 메모리 액세스의 수를 감소시킨다. 전술한 바와 같이, 메모리 액세스의 수를 최소로 유지하는 것은 매우 유리하다.
도5-7을 참조하면, 실시예의 일부의 이하의 설명은 매크로블록 픽셀 데이터의 특정한 일부가 외부 메모리로 기록되고 어떤 부분이 내부 캐시에 저장될지를 결정하는 방식을 상세히 설명한다. 소정의 비디오 프레임에서 래스터 스캐닝될 제1 매크로블록은 가장 좌상부 모서리 중 하나에 대응한다. 도5는 픽셀 데이터가 제1 매크로블록에 대해 캐싱되는 방법을 도시한다. 프로세싱될 제1 매크로블록은 매크로블록(301)으로서 도시된다. 연속적으로 에지 필터링될 매크로블록(301)의 우측 에 매크로블록이 존재한다. 그 결과, 매크로블록(301)의 우측 에지를 따르는 픽셀 데이터의 수직 스트립(501)은 내부 캐시 메모리에 저장된다. 지원될 특정 코딩 표준에 따라, 픽셀 열(501)의 폭이 변화한다. 마찬가지로, 매크로블록(301) 아래에 매크로블록이 존재한다. 매크로불록(301) 바로 아래에 존재하는 매크로블록은 연속적으로 에지 필터링되어야 할 것이다. 따라서, 매크로블록(310)의 하부 에지를 따르는 수평 스트립(502)은 내부 캐시에 저장되어야 한다. 또 한편, 수평 스트립(502)의 픽셀 높이는 지원될 특정 코딩 표준에 의존한다. 그로 인해, 부분(503)으로 도시된, 수직 스트립과 수평 스트립의 결합부는 내부 캐시 메모리에 저장된다. 픽셀 데이터의 부분(504)으로 도시된 나머지 부분은 에지 필터링될 필요가 없다. 따라서, 부분(504)은 저장을 위해 외부 메모리로 기록된다. 그리고 부분(504)가 장래의 매크로블록의 에지 필터링을 위해 요구되지 않기 때문에, 픽셀 데이터는 에지 필터링의 목적으로 단지 한번만 외부 메모리에 기록된다. 실시예의 이러한 특징은 비디오 시스템이 판독-수정-기록 동작을 이러한 데이터에 대해 실행하는 것을 방지하며, 이는 요구되는 메모리 액세스의 수를 감소시킨다.
도6은 픽셀 데이터가 제2 매크로블록에 대해 캐싱되는 방법을 도시한다. 매크로블록(302)은 매크로블록(301)에 뒤이어 래스터 스캐닝된다. 연속하여 에지 필터링될 매크로블록(302)의 우측에 매크로블록이 존재한다. 그 결과, 매크로블록(302)의 우측 에지를 따르는 픽셀 데이터의 수직 스트립(601)은 내부 캐시 메모리에 저장된다. 마찬가지로, 연속적으로 에지 필터링될 매크로블록(302) 아래에 매크로블록이 존재한다. 따라서, 매크로블록(302)의 하부 에지를 따르는 수평 스트 립(602)은 내부 캐시에 저장되어야 한다. 그로 인해, 부분(603)으로 도시된, 수직 스트립과 수평 스트립의 결합부는 내부 캐시 메모리에 저장된다. 픽셀 데이터의 부분(604)으로 도시된 나머지 부분은 에지 필터링될 필요가 없다. 따라서, 부분(604)은 저장을 위해 외부 메모리로 기록된다.
게다가, 매크로블록(302)의 프로세싱에 있어서, 에지(605)는 에지 필터링된다. 에지(605)의 우측에 대한 픽셀 데이터의 수직 스트립은 현재의 매크로블록(302)의 일부로서 이용가능하다. 에지(605)의 좌측에 대한 픽셀 데이터의 수직 스트립은 매크로블록(301)을 프로세싱할 때 내부 캐시 메모리에 앞서서 저장된다. 따라서, 에지(605)의 좌측에 대한 픽셀 데이터의 수직 스트립은 내부 캐시 메모리로부터 판독될 것이고 에지(605)를 필터링하는데 사용된다. 에지(605)의 필터링에 있어서, 수직 스트립에 대응하는 픽셀 데이터가 변경된다. 픽셀 데이터의 이러한 수직 스트립의 상부 부분(606)은, 연속한 매크로블록의 에지 필터링을 더 이상 필요로 하지 않으므로, 이제 외부 메모리에 기록될 수 있다. 일단 상부 부분(606)이 외부 메모리에 기록되면, 이러한 픽셀 데이터를 내부 캐시 메모리에 유지할 필요가 없다. 수직 스트립의 하부 부분(608)은 에지(605)의 필터링의 일부로서 변경된 자신의 픽셀 데이터를 갖는다. 결론적으로, 부분(608)의 변경된 픽셀 데이터는 결론적으로 내부 캐시 메모리에 업데이트될 수 있다. 그러나 매크로블록(301)의 하부 부분(607)은, 매크로블록(301)의 바로 하부에 존재하는 매크로블록이 아직 프로세싱되지 않고 에지 필터링되지 않기 때문에, 여전히 내부 캐시 메모리에 유지되어야 함을 주목하라. 따라서, 매크로블록(302)을 에지 필터링하는데 있어서, 픽셀 데이 터 부분(604 및 606)은 단지 한번만 외부 메모리에 기록되고; 부분(608)에 속하는 변경된 픽셀 데이터는 내부 캐시 메모리에서 업데이트되어야 하며; 픽셀 데이터 부분(607)은 내부 캐시 메모리에 유지되며; 그리고 픽셀 데이터 부분(603)은 내부 캐시 메모리에 저장된다.
도7은 제3 매크로블록에 대해 픽셀 데이터가 캐싱되는 방법을 도시한다. 매크로블록(303)은 매크로블록(302)에 뒤이어 래스터 스캐닝된다. 연속하여 에지 필터링될 매크로블록(303)의 우측에 매크로블록이 존재한다. 그 결과, 매크로블록(303)의 우측 에지를 따르는 픽셀 데이터의 수직 스트립(701)은 내부 캐시 메모리에 저장된다. 마찬가지로, 연속적으로 에지 필터링될 매크로블록(303) 아래에 매크로블록이 존재한다. 따라서, 매크로블록(303)의 하부 에지를 따르는 수평 스트립(702)은 내부 캐시 메모리에 저장되어야 한다. 그로 인해, 부분(703)으로 도시된, 수직 스트립과 수평 스트립의 결합부는 내부 캐시 메모리에 저장된다. 픽셀 데이터의 부분(704)으로 도시된 나머지 부분은 에지 필터링될 필요가 없다. 따라서, 부분(704)은 저장을 위해 외부 메모리로 기록된다.
게다가, 매크로블록(303)의 프로세싱에 있어서, 에지(705)는 에지 필터링된다. 에지(705)의 우측에 대한 픽셀 데이터의 수직 스트립은 현재의 매크로블록(303)의 일부로서 이용가능하다. 에지(705)의 좌측에 대한 픽셀 데이터의 수직 스트립은 매크로블록(302)을 프로세싱할 때 내부 캐시 메모리에 앞서서 저장된다. 따라서, 에지(705)의 좌측에 대한 픽셀 데이터의 수직 스트립은 내부 캐시 메모리로부터 판독될 것이고 에지(705)를 필터링하는데 사용된다. 에지(705)의 필터링에 있어서, 에지(705)의 바로 이웃한 좌측에 대한 수직 스트립에 대응하는 픽셀 데이터가 변경된다. 픽셀 데이터의 이러한 수직 스트립의 상부 부분(706)은, 연속한 매크로블록의 에지 필터링을 더 이상 필요로 하지 않으므로, 이제 외부 메모리에 기록될 수 있다. 일단 상부 부분(706)이 외부 메모리에 기록되면, 이러한 픽셀 데이터를 내부 캐시 메모리에 유지할 필요가 없다. 수직 스트립의 하부 부분(708)은 에지(705)의 필터링의 일부로서 변경된 자신의 픽셀 데이터를 갖는다. 결론적으로, 부분(708)의 변경된 픽셀 데이터는 결론적으로 내부 캐시 메모리에 업데이트될 수 있다.
그러나 매크로블록(302)의 하부 부분(707)은, 매크로블록(302)의 바로 하부에 존재하는 매크로블록이 아직 프로세싱되지 않고 에지 필터링되지 않기 때문에, 여전히 내부 캐시 메모리에 유지되어야 함을 주목하라. 더욱이, 매크로블록(301)에 속하는 픽셀 데이터의 수평 스트립(709)은 내부 캐시 메모리에 또한 유지되어야 한다. 픽셀 데이터의 수평 스트립(709)은 매크로블록(301)의 바로 아래 존재하는 매크로블록이 프로세싱되고 에지 필터링될 때까지 내부 메모리에 머물러야 한다. 따라서, 매크로블록(303)을 에지 필터링하는데 있어서, 픽셀 데이터 부분(704 및 706)은 단지 한번만 외부 메모리에 기록되고; 부분(708)에 속하는 변경된 픽셀 데이터는 내부 캐시 메모리에서 업데이트되어야 하며; 픽셀 데이터 부분(707 및 709)은 내부 캐시 메모리에 유지되며; 그리고 픽셀 데이터 부분(703)은 내부 캐시 메모리에 저장된다.
전술한 프로세스는 래스터 스캐닝된 제1 라인에 대해 반복된다. 제2 스캔 라인을 프로세싱하는데 있어서, 유사한 캐싱 방식을 사용된다. 도8은 픽셀 데이터가 제2 스캔 라인에서 매크로블록에 대해 캐싱되는 방법을 도시한다. 매크로블록(317)은 매크로블록(301) 바로 아래에 존재한다. 매크로블록(317)을 프로세싱하는데 있어서, 부분(801)에 대한 픽셀 데이터는 매크로블록(317)의 바로 우측 및 하부에 인접한 매크로블록의 에지 필터링을 지원하기 위해 내부 캐시 메모리에 저장된다. 에지(802)를 필터링할 때, 수평 스트립(709)의 픽셀 데이터는 내부 캐시 메모리로부터 판독된다. 수평 스트립(709)의 픽셀 데이터 및 매크로블록(803)의 에지(802)를 따르는 수평 스트립에 대응하는 픽셀 데이터는 필터링 알고리즘에 따라 변경된다. 에지(802)가 필터링된 후, 수평 스트립(709)의 변경된 픽셀 데이터는 외부 메모리로 기록되고, 내부 캐시 메모리로부터 제거될 수 있다. 부분(803)에 속하는 픽셀 데이터는 또한 저장을 위해 외부 메모리에 기록된다. 그리고 제1 스캔 라인의 다른 매크로블록에 대응하는 픽셀 데이터는 부분(801)과 함께 내부 캐시 메모리에 계속 유지된다.
매크로블록의 에지 필터링에 대해 전술된 캐싱 프로세스는 전체 비디오 프레임이 래스터 스캐닝될 때까지 반복된다.
도9는 본 발명의 일 실시예의 특정한 하나의 애플리케이션을 도시한다. 이 실시예에서, H264 엔코딩 표준이 사용된다. 이 실시예에서, 디블록커 하드웨어는 디블록킹된 필터(902)를 매크로블록에 적용하기 위해, Y, Cr, Cb의 순서로, 매크로블록 버퍼 메모리(901)로부터 픽셀을 판독하도록 구성된다. 이어 최종 픽셀은 진보된 고성능(AHB) 버스를 통해 마이크로 인터페이스(903)를 거쳐 메모리에 버스트 기록된다. 일 실시예에서, 디블록킹 필터(902)는 현재의 매크로블록의 좌측 및 우측에 대한 4개의 수직 픽셀 및 4개의 수평 픽셀을 저장하기 위해 1448×32 이전의 라인 버퍼 또는 캐시를 갖는다. 이전의 픽셀 메모리(904)에 저장된 픽셀은 필터링을 실행하기 위해 필터에 의해 사용된다. 디블록킹 필터(902)는 Y, Cr 및/또는 Cb 픽셀 타입과 관련하여 사용될 수도 있다. Y, Cr 및 Cb 픽셀 타입은 휘도 신호 및 색도 신호로서 알려져 있다. RGB와 같은 다른 픽셀 타입이 실시예에 의해 설명된 방식으로 저장 및 조종되는 정보일 수도 있다. DSP 레지스터 인터페이스(905)는 DSP와 디블록킹 필터(902) 사이에서 인터페이스를 제공한다.
매크로블록을 필터링할 경우, 이전의 라인 저장소(예를 들어, 이전의 픽셀 메모리(904))는, 현재의 매크로블록을 필터링할 때 필터링이 현재의 매크로블록의 좌측 및 상부에 대한 3개의 픽셀까지 영향을 미칠 수 있기 때문에, 요구된다. 매크로블록을 기록할 때 판독-수정-기록 동작의 필요성을 제거하고, 모든 기록이 워드로 적합하게 되도록 하기 위해, 디블로킹 필터 하드웨어는 모든 매크로블록의 좌측에 대해 4개의 픽셀을 저장한다. 또한, 이는 에지의 각각의 측면 상에 4개의 픽셀까지 요구할 수도 있는 더 용이한 장래의 필터를 가능하게 한다. 수평으로, 픽셀은 프레임을 가로지르는 내내 저장될 필요가 있다. 수직으로, 단지 이전의 매크로블록의 픽셀이 저장될 필요가 있다. 또한, 이러한 픽셀들을 유지하는 메모리(예를 들어, 이전의 픽셀 메모리(904) 및 AHB 메모리)는 두 개의 상이한 프레임들이 인터리빙된 자신의 매크로블록과 디블록킹될 수 있도록 하기 위해 더블 버퍼링될 필요가 있다. 이는 인터리빙된 매크로블록 디코드 및 엔코드를 지원하기 위한 것 이다.
이러한 실시예에서, 디블록킹을 위해 지원된 가장 큰 프레임은 CIF인데, 이는 22 매크로블록 폭이다. 이러한 픽셀을 저장하기 위해 사용된 메모리는 32비트 폭(4 픽셀 폭)으로, 블로킹 동안 신속한 판독 및 기록을 촉진한다. 수평으로, Y에 대해 저장될 필요가 있는 전체 픽셀의 수는:
22*(16*4)=1408 픽셀=352 워드이다.
수평으로, Cr 또는 Cb에 대해 저장될 필요가 있는 전체 픽셀의 수는:
22*(8*4)=704 픽셀=176 워드이다.
수직으로, Y에 대해 저장될 필요가 있는 전체 픽셀의 수는:
4*12=48 픽셀=12 워드이다.
수직으로, Cr 또는 Cb에 대해 저장될 필요가 있는 전체 픽셀의 수는:
4*4=14 픽셀=4 워드이다.
따라서, 저장된 픽셀의 전체 수는:
2*{1408+2*704+48+2*16}=2896 픽셀=724 워드이다.
표1은 픽셀 값을 저장하기 위한 이전의 라인 버퍼를 도시한다.
Figure 112007010225876-PCT00001
표1: 이전의 라인 버퍼 픽셀 저장소
이러한 실시예에서, 매크로블록은 비블록커를 통해 버스에 기록된다. 외부 메모리에서, 매크로블록은 워드당 4픽셀씩 래스터 스캔 순서로 수평 라인 단위로 저장된다. Y 프레임은 하나의 어드레스 위치에 저장되며 Cr/Cb는 각각의 워드에 인터리빙되고, 또 하나의 어드레스 위치에 저장된다. 만일 매크로블록이 필터링되지 않으면, 매크로블록의 위치에 무관하게 외부 메모리에 대한 매크로블록의 기록이 동일하다. 만일 매크로블록이 필터링되면, 매크로블록의 가장 우측 및 가장 하부 라인이 이전의 픽셀 버퍼에 저장될 필요가 있기 때문에, 픽셀의 가변 크기의 블록은 외부 메모리에 저장된다. 픽셀들이 완전히 필터링되었을 때, 픽셀들이 외부 메모리에 기록될 수 있도록 픽셀들은 블록킹 필터에 의해 4배 이상까지 필터링된다.
도10은 필터링된 매크로블록의 경우 외부 메모리에 대해 기록이 어떻게 발행하는 지에 대한 9가지 케이스를 도시한다. 이러한 9가지 케이스는 프레임의 매크로블록의 위치에 기초한다. 9개의 상이한 위치(1001-1009)는, 완전히 필터링되고, 대응하는 매크로블록에 대한 필터링이 완료되는 경우 외부 메모리로 기록될 수 있는 픽셀을 나타낸다. 표2는 디블록커 픽셀 기록 조건을 설명하는 도표이다.
Figure 112007010225876-PCT00002
표2: 디블록커 픽셀 기록 조건
가장 긴 버스트의 그룹은 하부 우측 모서리임을 알 수 있는데: (4*4)+(16*5)+(4*4)+(8*6)=160 기록. 이는 버스 임의 지연을 고려하지 않았음을 주목해야 한다. 디블록커는 버스의 유일한 마스터는 아니다.
필터링이 완료된 후, 픽셀은 매크로블록 버퍼로부터 이전의 라인 버퍼로 복 사된다. 픽셀은 이전의 라인 버퍼 메모리 및 매크로블록 버퍼 메모리의 조합으로부터 외부 메모리에 기록된다. 이러한 기록이 완료된 후, 픽셀은 가장 우측의 4×4 블록 및 가장 하부의 4×4 블록으로부터, 매크로블록 버퍼에서 이전의 라인 버퍼 메모리로 복사될 필요가 있다. Y의 픽셀의 가장 하부의 16×4 블록, 및 Cr/Cb에 대한 픽셀의 8×4 블록은 매크로블록 버퍼로부터 이전의 라인 버퍼로 복사된다. 이는 MB_POS_H(0 내지 21)의 값에 따라 적절한 위치로 복사된다. 이는 MB_POS_V=MB_MAX_B-1(가장 하부의 매크로블록)일 경우를 제외하고 모든 매크로블록에 대해 복사된다. Y의 픽셀의 우측 및 가장 상부의 4×12 블록, 및 Cr/Cb에 대한 픽셀의 4×4 블록은 매크로블록 버퍼로부터 이전의 라인 버퍼로 복사된다. 이는 모든 매크로블록에 대해 동일한 위치에 복사된다. 게다가, 이는 MB_POS_H=MB_MAX_H-1(가장 우측 매크로블록)일 경우를 제외하고 모든 매크로블록에 대해 복사된다.
결론적으로, 비디오 매크로블록의 에지를 필터링하는데 사용되는 픽셀 데이터를 캐싱하는 방법 및 장치가 개시되었다. 전술한 특정한 실시예에 대한 설명은 실례 및 설명을 위해 제공되었다. 이들은 본 발명을 전술한 형태로 한정하기 위한 것이 아니며, 많은 변경 및 변화가 전술한 기술적 사상을 중심으로 행해질 수 있다. 더욱이, 비록 본 발명의 실시예는 비디오와 관련하여 설명되었지만, 본 발명은 비디오에 한정되지 않음을 알아야 한다. 실시예는 본 발명의 원리를 가장 잘 설명하기 위해 선택되었으며, 그로 인해 당업자는 본 발명 및 실시예를 특정한 목적을 위해 변경하여 사용할 수 있을 것이다. 본 발명의 사상은 덧붙인 청구항에 의해 한정된다.

Claims (25)

  1. 픽셀 데이터의 제1 매크로블록과 픽셀 데이터의 제2 매크로블록 사이의 에지를 프로세싱하는 방법으로서,
    상기 제1 매크로블록에 대응하는 픽셀 데이터의 제1 세트를 캐시 메모리에 저장하는 단계;
    상기 캐시 메모리로부터 상기 픽셀 데이터의 제1 세트를 판독하는 단계;
    필터링된 픽셀 데이터를 생성하기 위해 상기 픽셀 데이터의 제1 세트 및 상기 제2 매크로블록에 대응하는 상기 픽셀 데이터의 제2 세트를 필터링하는 단계; 및
    상기 필터링된 픽셀 데이터의 제1 부분을 외부 메모리에 기록하는 단계를 포함하는,
    에지 프로세싱 방법.
  2. 제1항에 있어서,
    상기 필터링된 픽셀 데이터의 제2 부분을 상기 캐시 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 에지 프로세싱 방법.
  3. 제2항에 있어서,
    상기 필터링된 픽셀 데이터의 제2 부분은 높이로 하나의 매크로블록당 픽셀 데이터의 수직 스트립을 포함하며, 폭으로 적어도 하나의 매크로블록당 픽셀 데이터의 수평 스트립을 포함하는 것을 특징으로 하는 에지 프로세싱 방법.
  4. 제3항에 있어서,
    상기 픽셀 데이터의 수평 스트립은 폭으로 적어도 하나의 프레임인 것을 특징으로 하는 에지 프로세싱 방법.
  5. 제1항에 있어서,
    상기 필터링된 픽셀 데이터 제1 부분은 단지 한번만 상기 외부 메모리에 기록되는 것을 특징으로 하는 에지 프로세싱 방법.
  6. 제1항에 있어서,
    상기 외부 메모리에 저장된 픽셀 데이터는 에지 필터링을 위해 재판독(read back)이 요구되지 않는 것을 특징으로 하는 에지 프로세싱 방법.
  7. 비디오 시스템으로서,
    이미지들을 비디오 스트림으로 변환하기 위한 이미지 캡쳐 장치;
    상기 이미지 캡쳐 장치에 결합되고 상기 비디오 스트림을 압축하는 엔코더;
    상기 엔코더에 결합되고 픽셀들의 그룹의 에지를 필터링하는 필터;
    상기 필터에 결합된 제1 메모리를 포함하는데, 상기 픽셀들의 그룹에 대응하 는 픽셀의 값들은 상기 제1 메모리에 일시적으로 캐싱되며; 및
    상기 필터에 결합된 제2 메모리를 포함하며, 필터링된 픽셀 값들은 상기 제2 메모리에 저장되는,
    비디오 시스템.
  8. 제7항에 있어서,
    상기 필터, 상기 제2 메모리 및 다수의 컴포넌트에 결합된 버스를 더 포함하며, 필터링된 픽셀 값들은 상기 필터로부터 상기 버스를 통해 저장을 위해 상기 제2 메모리로 전송되는 것을 특징으로 하는 비디오 시스템.
  9. 제8항에 있어서,
    픽셀들의 상기 그룹의 선택 픽셀 값들은 상기 버스를 통해 송신되지 않고 상기 필터로부터 상기 제1 메모리로 직접 기록되는 것을 특징으로 하는 비디오 시스템.
  10. 제7항에 있어서,
    상기 필터 및 상기 제1 메모리는 모두 동일한 칩에 존재하며, 상기 제2 메모리는 상기 칩의 외부에 있는 것을 특징으로 하는 비디오 시스템.
  11. 제7항에 있어서,
    필터링된 픽셀 값들은 필터링된 픽셀 값당 단지 한번만 상기 필터로부터 상기 외부 메모리로 기록되는 것을 특징으로 하는 비디오 시스템.
  12. 제11항에 있어서,
    필터링된 픽셀 값들은 에지 필터링을 위해 상기 제2 메모리로부터 판독되는 것이 요구되지 않는 것을 특징으로 하는 비디오 시스템.
  13. 제7항에 있어서,
    상기 제1 메모리는 적어도 하나의 프레임을 가로지르는 픽셀의 스트립을 저장하는 것을 특징으로 하는 비디오 시스템.
  14. 비디오 매크로블록을 에지 필터링하는 방법으로서,
    제1 메모리에 픽셀 값들의 세트를 저장하는 단계를 포함하는데, 상기 픽셀 값들의 세트는 연속한 비디오 매크로블록의 에지를 필터링하는데 사용되며;
    상기 연속한 매크로블록이 에지 필터링을 위해 프로세싱될 때 상기 제1 메모리로부터 상기 픽셀 값들의 세트를 판독하며;
    상기 에지의 적어도 두 측면에 대해 픽셀 값들을 필터링하는 단계; 및
    제2 외부 메모리에 필터링된 픽셀 값들을 저장하는 단계를 포함하는,
    에지 필터링 방법.
  15. 제14항에 있어서,
    상기 픽셀 값들의 세트를 상기 제1 메모리로 직접 기록하는 단계를 더 포함하는데, 상기 제1 메모리는 내부 캐시 메모리를 포함하며; 및
    상기 필터링된 픽셀 값들을 외부 버스를 통해 상기 제2 메모리로 기록하는 단계를 포함하며, 상기 제2 메모리는 외부 메모리 칩을 더 포함하는 것을 특징으로 하는 에지 필터링 방법.
  16. 제14항에 있어서,
    특정 매크로블록의 어떤 부분이 소정의 연속한 매크로블록을 필터링하기 위해 필요할지, 및 상기 특정 매크로블록의 어떤 부분이 소정의 연속한 매크로블록들에 대해 필요하지 않을지를 특정하는 단계를 더 포함하며,
    소정의 매크로블록을 필터링할 필요가 있는 상기 특정 매크로블록의 상기 특정 부분은 상기 제1 메모리에 저장되며, 소정의 연속한 매크로블록을 필터링할 필요가 없는 상기 특정 매크로블록의 상기 부분은 상기 제2 외부 메모리에 저장되는 것을 특징으로 하는 에지 필터링 방법.
  17. 제14항에 있어서,
    상기 매크로블록의 특정 픽셀에 대응하는 필터링된 픽셀 값을 상기 제2 외부 메모리에 단지 한번만 기록하는 단계를 더 포함하는 것을 특징으로 하는 에지 필터링 방법.
  18. 제14항에 있어서,
    현재 매크로블록의 에지를 필터링하기 위해 상기 제2 외부 메모리로부터가 아닌, 상기 제1 메모리로부터 이전에 프로세싱된 매크로블록에 대응하는 픽셀 값들을 판독하는 단계를 더 포함하는 것을 특징으로 하는 에지 필터링 방법.
  19. 제14항에 있어서,
    상기 제1 메모리에 픽셀 데이터의 수평 스트립 및 픽셀 데이터의 수직 스트립을 저장하는 단계를 더 포함하며,
    상기 수평 스트립은 매크로블록의 하부 에지에 대응하며, 상기 수직 스트립은 상기 매크로블록의 우측 에지에 대응하는 것을 특징으로 하는 에지 필터링 방법.
  20. 캐시 메모리에 픽셀 값들의 제1 블록에 대응하는 픽셀 데이터의 제1 세트를 저장하는 수단;
    상기 캐시 메모리로부터 상기 픽셀 데이터의 제1 세트를 판독하는 수단;
    필터링된 픽셀 데이터를 생성하기 위해 상기 픽셀 데이터의 제1 세트 및 픽셀 값들의 제2 블록에 대응하는 픽셀 데이터의 제2 세트를 필터링하는 수단; 및
    상기 필터링된 픽셀 데이터의 제1 부분을 외부 메모리에 기록하는 수단을 포함하는 장치.
  21. 제20항에 있어서,
    상기 필터링된 픽셀의 제2 부분을 상기 캐시 메모리에 저장하는 수단을 더 포함하는 것을 특징으로 하는 장치.
  22. 제21항에 있어서,
    상기 필터링된 픽셀 데이터의 제2 부분은 높이로 하나의 블록당 픽셀 데이터의 수직 스트립을 포함하며, 폭으로 적어도 하나의 블록당 픽셀 데이터의 수평 스트립을 포함하는 것을 특징으로 하는 장치.
  23. 제22항에 있어서,
    상기 픽셀 데이터의 수평 스트립은 폭을 가로지르는 적어도 하나의 프레임인 것을 특징으로 하는 장치.
  24. 제21항에 있어서,
    상기 필터링된 픽셀 데이터 제1 부분은 단지 한번만 상기 외부 메모리에 기록되는 것을 특징으로 하는 장치.
  25. 제21항에 있어서,
    상기 외부 메모리에 저장된 픽셀 데이터는 에지 필터링을 위해 재판독되지 않는 것을 특징으로 하는 장치.
KR1020077002724A 2004-07-02 2005-07-01 비디오 매크로블록들을 에지 필터링하는 방법, 장치 및 비디오 시스템 KR100877164B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US58549804P 2004-07-02 2004-07-02
US60/585,498 2004-07-02
US11/022,533 2004-12-22
US11/022,533 US20060002475A1 (en) 2004-07-02 2004-12-22 Caching data for video edge filtering

Publications (2)

Publication Number Publication Date
KR20070026876A true KR20070026876A (ko) 2007-03-08
KR100877164B1 KR100877164B1 (ko) 2009-01-07

Family

ID=35064657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077002724A KR100877164B1 (ko) 2004-07-02 2005-07-01 비디오 매크로블록들을 에지 필터링하는 방법, 장치 및 비디오 시스템

Country Status (4)

Country Link
US (1) US20060002475A1 (ko)
EP (1) EP1774467A1 (ko)
KR (1) KR100877164B1 (ko)
WO (1) WO2006014312A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060029135A1 (en) * 2004-06-22 2006-02-09 Minhua Zhou In-loop deblocking filter
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
KR100771879B1 (ko) * 2006-08-17 2007-11-01 삼성전자주식회사 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치
TWI382766B (zh) * 2008-12-23 2013-01-11 Nat Univ Tsing Hua 一種用於超高解析度之顯示框壓縮系統及方法
US9762921B2 (en) * 2012-12-19 2017-09-12 Qualcomm Incorporated Deblocking filter with reduced line buffer
US20150228106A1 (en) * 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
CN115988211A (zh) * 2018-10-12 2023-04-18 华为技术有限公司 用于视频译码中去块效应滤波器的装置和方法
CN113282786B (zh) * 2021-05-12 2022-09-30 河海大学 一种基于深度强化学习的全景视频边缘协作缓存替换方法
CN114598902B (zh) * 2022-03-09 2023-12-22 安徽文香科技股份有限公司 一种视频帧处理方法、装置及电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493513A (en) * 1993-11-24 1996-02-20 Intel Corporation Process, apparatus and system for encoding video signals using motion estimation
US6188799B1 (en) * 1997-02-07 2001-02-13 Matsushita Electric Industrial Co., Ltd. Method and apparatus for removing noise in still and moving pictures
US6198773B1 (en) * 1997-12-18 2001-03-06 Zoran Corporation Video memory management for MPEG video decode and display system
US6560371B1 (en) * 1997-12-31 2003-05-06 Sarnoff Corporation Apparatus and method for employing M-ary pyramids with N-scale tiling
AUPP444898A0 (en) * 1998-07-02 1998-07-23 Canon Kabushiki Kaisha A method and apparatus for boundary filtering a digital image
US6229852B1 (en) * 1998-10-26 2001-05-08 Sony Corporation Reduced-memory video decoder for compressed high-definition video data
EP1039635B1 (en) * 1999-03-20 2007-09-12 Freescale Semiconductor, Inc. Multi channel filtering device and method
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7084929B2 (en) * 2002-07-29 2006-08-01 Koninklijke Philips Electronics N.V. Video data filtering arrangement and method
US8159548B2 (en) * 2003-01-30 2012-04-17 Qualcomm Incorporated Modular architecture having reusable front end for processing digital video data
KR20060060919A (ko) * 2004-12-01 2006-06-07 삼성전자주식회사 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법

Also Published As

Publication number Publication date
KR100877164B1 (ko) 2009-01-07
WO2006014312A1 (en) 2006-02-09
EP1774467A1 (en) 2007-04-18
US20060002475A1 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
KR100877164B1 (ko) 비디오 매크로블록들을 에지 필터링하는 방법, 장치 및 비디오 시스템
US6088391A (en) Method and apparatus for segmenting memory to reduce the memory required for bidirectionally predictive-coded frames
KR101127962B1 (ko) 영상 처리 장치 및 영상 처리를 위한 프레임 메모리 관리 방법
US5835636A (en) Method and apparatus for reducing the memory required for decoding bidirectionally predictive-coded frames during pull-down
US20090129478A1 (en) Deblocking filter
US20060133504A1 (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
US8494062B2 (en) Deblocking filtering apparatus and method for video compression using a double filter with application to macroblock adaptive frame field coding
US20080101718A1 (en) Apparatus and method for deblock filtering
US20060262862A1 (en) Deblocking filtering method used on video encoding/decoding and apparatus thereof
US8331446B2 (en) Method and device for reordering video information
US20090180700A1 (en) De-blocking filter and method for de-blocking filtering of video data
KR20050090516A (ko) 비디오 디코딩 시스템
JP4973886B2 (ja) 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
US8681862B2 (en) Moving picture decoding apparatus and moving picture decoding method
US6205181B1 (en) Interleaved strip data storage system for video processing
US20190289300A1 (en) Image compression system and image compression method using image compression system
EP1992162B1 (en) Memory organizational scheme and controller architecture for image and video processing
US8588300B1 (en) Efficient transcoding between formats using macroblock buffer
US7636490B2 (en) Deblocking filter process with local buffers
US6249617B1 (en) Video encounter having an integrated scaling mechanism
JP2863096B2 (ja) 並列処理による画像復号装置
KR101331093B1 (ko) 프레임 메모리의 단일뱅크 내 참조 영상의 픽셀 인터리빙 방법 및 장치, 이를 포함하는 영상코덱 시스템
JP7020782B2 (ja) 再生装置及びその制御方法
US20030123555A1 (en) Video decoding system and memory interface apparatus
JPH07298264A (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
LAPS Lapse due to unpaid annual fee