KR20050105246A - 오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간필터링을 사용하는 3차원 웨이블렛 비디오 코딩 - Google Patents

오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간필터링을 사용하는 3차원 웨이블렛 비디오 코딩 Download PDF

Info

Publication number
KR20050105246A
KR20050105246A KR1020057015785A KR20057015785A KR20050105246A KR 20050105246 A KR20050105246 A KR 20050105246A KR 1020057015785 A KR1020057015785 A KR 1020057015785A KR 20057015785 A KR20057015785 A KR 20057015785A KR 20050105246 A KR20050105246 A KR 20050105246A
Authority
KR
South Korea
Prior art keywords
wavelet
frames
video
bands
pass frames
Prior art date
Application number
KR1020057015785A
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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20050105246A publication Critical patent/KR20050105246A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Abstract

비디오 프레임들을 인코딩 및 디코딩하기 위한 인코딩 및 디코딩 방법들 및 장치들이 제공된다. 인코딩 방법(700) 및 장치(110)는 비디오 프레임들을 압축하기 위해서 오버컴플릿 웨이블렛 영역에서 3차원 리프팅을 사용한다. 디코딩 방법(800) 및 장치(118)는 또한 비디오 프레임을 압축 해제하기 위해서 오버컴플릿 웨이블렛 영역에서 3차원 리프팅을 사용한다.

Description

오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간 필터링을 사용하는 3차원 웨이블렛 비디오 코딩{Three-dimensional wavelet video coding using motion-compensated temporal filtering on overcomplete wavelet expansions}
본 출원은 2003년 2월 25일에 제출된 35 U.S.C. 119(e) 하의 미국 특허 출원 번호 제 60/449,696 호의 이익을 청구한다.
본 개시는 일반적으로 비디오 코딩 시스템들에 관한 것이며, 보다 상세하게 3차원 리프팅(lifting)을 사용하는 비디오 코딩에 관한 것이다.
데이터 네트워크들을 통한 멀티미디어 콘텐트의 실시간 스트리밍은 최근에 점차 일반적인 애플리케이션이 되고 있다. 예를 들면, 주문형 뉴스, 라이브 네트워크 텔레비전 시청, 및 화상 회의와 같은 멀티미디어 애플리케이션들은 종종 비디오 정보의 단-대-단 스트리밍에 의존한다. 스트리밍 비디오 애플리케이션들은 통상적으로, 실시간으로 비디오 신호를 디코딩하여 디스플레이하는 비디오 수신기에 비디오 신호를 네트워크를 통해 전송하고 인코딩하는 비디오 송신기를 포함한다.
스케일링 가능한 비디오 코딩은 통상적으로 대부분의 멀티미디어 애플리케이션 및 서비스들에 바람직한 특징이다. 범위성(scalability)은 낮은 계산 능력을 가진 프로세서들이 비디오 스트림의 일부만을 디코딩할 수 있게 하는 반면에, 높은 계산 능력을 가진 프로세스들은 전체 비디오 스트림을 디코딩할 수 있다. 범위성의 또 다른 사용은 가변 전송 대역폭의 환경들에서 이다. 이들 환경들에서, 낮은 액세스 대역폭을 갖는 수신기들은 비디오 스트림의 일분만을 수신 및 디코딩하는 반면에, 큰 액세스 대역폭을 가진 수신기들은 전체 비디오 스트림을 수신 및 디코딩한다.
몇 가지 비디오 범위성 방법들은 MPEG-2 및 MEPG-4와 같은 선도적 압축 표준들에 의해 채택되었다. 시간, 공간, 및 품질(예를 들면, 신호-잡음 비 또는 "SNR") 범위성 유형들이 이들 표준들에 정의되어 있다. 이들 방식들은 통상적으로 기본층(Base Layer; BL) 및 개선층(Enhancement Layer; EL)을 포함한다. 비디오 스트림의 기본층은 일반적으로 이 스트림을 디코딩하는데 필요한 최소량의 데이터를 나타낸다. 스트림의 개선층은, 수신기에 의해 디코딩될 때 비디오 신호 표현을 향상시키는 추가의 정보를 나타낸다.
현재 많은 비디오 코딩 시스템들은 기본층에 대해 모션 보상된 예측 코딩과 개선층에 대해 이산 코사인 변환(DCT) 잔여 코딩을 사용한다. 이들 시스템들에서, 모션 보상을 사용하여 시간 중복성(redundancy)이 감소되고, 모션 보상의 잔여를 코딩하는 변환에 의해 공간 분해능이 감소된다. 그러나, 이들 시스템들은 통상적으로 에러 전파(또는 드리프트) 또는 사실상의 범위성의 결여와 같은 문제들이 일어나기 쉽다.
도 1은 본 개시의 일 실시예에 따른 예로서의 비디오 전송 시스템을 예시한 도면.
도 2는 본 개시의 일 실시예에 따른 예로서의 비디오 인코더를 예시한 도면.
도 3a-3c는 본 개시의 일 실시예에 따른 오버컴플릿 웨이블렛 확장에 의한 예로서의 참조 프레임의 생성 예시한 도면.
도 4는 본 개시의 일 실시예에 따른 예로서의 비디오 디코더를 예시한 도면.
도 5는 본 개시의 일 실시예에 따른 예로서의 모션 보상된 시간 필터링을 예시한 도면.
도 6a 및 도 6b는 본 개시의 일 실시예에 따른 예로서의 웨이블렛 분해들을 예시한 도면.
도 7은 본 개시의 일 실시예에 따른 오버컴플릿 웨이블렛 영역에서 3D 리프팅을 사용하여 비디오 정보를 인코딩하기 위한 방법의 예를 예시한 도면.
도 8은 본 개시의 일 실시예에 다른 오버컴플릿 웨이블렛 영역에서 3D 리프팅을 사용하여 비디오 정보를 디코딩하기 위한 방법의 예를 예시한 도면.
본 개시는 3차원(3D) 리프팅(lifting)을 사용하는 개선된 코딩 시스템을 제공한다. 한 특징에서, 오버컴플릿 웨이블렛 영역에서 미세 정확도의 모션 보상된 시간 필터링(Motion Compensated Temporal Filtering; MCTF)을 위해 3D 리프팅 구조가 사용된다. 3D 리프팅 구조는, 모션 추정에 대해 서로 다른 정확도가 가능하게 함으로써, 복원력과 효율 간의 절충을 제공할 수 있으며, 가변 채널 조건들에서 스트리밍하는 동안 이용될 수 있다.
본 개시의 보다 완전한 이해를 위해서, 첨부한 도면과 함께 취해진 다음의 설명을 참조한다.
후술되는 도 1 내지 도 8 및 이 특허문헌에 개시된 각종의 실시예들은 단지 예를 든 것이며 본 발명의 범위를 제한하는 것으로 해석되어서는 안된다. 본 발명의 원리는 임의의 적합하게 구성된 비디오 인코더, 비디오 디코더, 또는 그외 장치, 디바이스 또는 구조로 구현될 수 있음을 당업자는 알 것이다.
도 1은 본 개시의 일 실시예에 따른 예로서의 비디오 전송 시스템(100)을 예시한다. 본 실시예에서, 시스템(100)은 스트리밍 비디오 송신기(102), 스트리밍 비디오 수신기(104), 및 데이터 네트워크(106)를 포함한다. 비디오 전송 시스템의 다른 실시예들은 본 개시의 범위를 벗어나지 않고 사용될 수 있다.
스트리밍 비디오 송신기(102)는 비디오 정보를 네트워크(106)를 통해 스트리밍 비디오 수신기(104)에 스트리밍한다. 스트리밍 비디오 송신기(102)는 오디오 또는 다른 정보를 스트리밍 비디오 수신기(104)에 스트리밍할 수 있다. 스트리밍 비디오 송신기(102)는 데이터 네트워크 서버, 텔레비전국 송신기, 케이블 네트워크, 또는 데스크탑 개인용 컴퓨터를 포함하여, 광범위한 다양한 비디오 프레임들의 소스들 중 어느 하나를 포함한다.
예시된 예에서, 스트리밍 비디오 송신기기(102)는 비디오 프레임 소스(108), 비디오 인코더(110), 인코더 버퍼(112), 및 메모리(114)를 포함한다. 비디오 프레임 소스(108)는 텔레비전 안테나 및 수신기 유닛, 비디오 카세트 플레이어, 비디오 카메라, 또는 "생(raw)" 비디오 클립을 저장할 수 있는 디스크 저장 디바이스와 같은 일련의 비압축된 비디오 프레임들을 생성, 또는 제공할 수 있는 임의의 디바이스 또는 구조를 나타낸다.
비압축된 비디오 프레임들은 주어진 화상 레이트(또는 "스트리밍 레이트")로 비디오 인코더(110)에 입력되어 비디오 인코더(110)에 의해 압축된다. 이어서, 비디오 인코더(110)는 압축된 비디오 프레임들을 인코더 버퍼(112)에 전송하다. 비디오 인코더(110)는 비디오 프레임들을 코딩하기 위한 임의의 적합한 인코더를 나타낸다. 일부 실시예들에서, 비디오 인코더(110)는 오버컴플릿 웨이블렛 영역에서 미세-정확도 MCTF를 위해 3D 리프팅을 사용한다. 비디오 인코더(110)의 일 예를 도 2에 도시되며, 이를 이하 기술한다.
인코더 버퍼(112)는 압축된 비디오 프레임들을 비디오 인코더로부터 수신하고, 데이터 네트워크(106)를 통해 전송에 대비하여 비디오 프레임들을 버퍼한다. 인코더 버퍼(112)는 압축된 비디오 프레임들을 저장하기 위한 임의의 적합한 버퍼를 나타낸다.
스트리밍 비디오 수신기(104)는, 데이터 네트워크(106)를 통해 스트리밍 비디오 송신기(102)에 의해 스트리밍된 압축된 비디오 프레임들을 수신한다. 도시된 예에서, 스트리밍 비디오 수신기(104)는 디코더 버퍼(116), 비디오 디코더(118), 비디오 디스플레이(120), 및 메모리(122)를 포함한다. 애플리케이션에 따라, 스트리밍 비디오 수신기(104)는 텔레비전 수신기, 데스크탑 개인용 컴퓨터 또는 비디오 카세트 레코더를 포함하여, 광범위한 다양한 비디오 프레임 수신기들 중 어느 하나를 나타낼 수 있다. 디코더 버퍼(116)는, 데이터 네트워크(106)를 통해 수신된 압축된 비디오 프레임들을 저장한다. 이어서, 디코더 버퍼(116)는 압축된 비디오 프레임들을 필요시 비디오 디코더(118)에 전송한다. 디코더 버퍼(116)는, 압축된 비디오 프레임들을 저장하기 위한 임의의 적합한 버퍼를 나타낸다.
비디오 디코더(118)는 비디오 인코더(110)에 의해 압축된 비디오 프레임들을 압축 해제한다. 비디오 디코더(118)가 압축된 비디오 프레임들 중 일부 또는 전부를 디코딩할 수 있어서, 압축된 비디오 프레임들은 스케일링이 될 수 있다. 이어서, 표시를 위해 비디오 디코더(118)는 압축 해제된 프레임들을 비디오 디스플레이(120)에 전송한다. 비디오 디코더(118)는 비디오 프레임들을 디코딩하기 위한 임의의 적합한 디코더를 나타낸다. 일부 실시예들에서, 비디오 디코더(118)는 오버컴플릿 웨이블렛 영역에서 미세-정확도 역 MCTF를 위해 3D 리프팅을 사용한다. 비디오 디코더(118)의 일 예를 도 4에 도시하였으며, 이를 후술한다. 비디오 디스플레이(120)는 텔레비전, PC 화면, 또는 프로젝터와 같은 비디오 프레임들을 사용자에게 표현하기 위한 어떤 적합한 디바이스 또는 구조를 나타낸다.
일부 실시예들에서, 비디오 인코더(110)는 표준 MPEG 인코더와 같은 통상의 데이터 프로세서에 의해 실행되는 소프트웨어 프로그램으로서 구현된다. 이들 실시예들에서, 비디오 인코더(110)는 메모리(114)에 저장된 명령들과 같은 복수의 컴퓨터 실행가능의 명령들을 포함한다. 마찬가지로, 일부 실시예들에서, 비디오 디코더(118)는, 표준 MPEG 디코더와 같은 통상의 데이터 프로세서에 의해 실행되는 소프트웨어 프로그램으로서 구현된다. 이들 실시예들에서, 비디오 디코더(118)는, 메모리(122)에 저장된 명령들과 같은 복수의 컴퓨터 실행가능의 명령들을 포함한다. 메모리들(114, 122) 각각은 고정된 자기 디스크, 착탈 가능 자기 디스크, CD, DVD, 자기 테이프, 또는 비디오 디스크와 같은 임의의 휘발성 또는 비휘발성 저장장치 및 검색 디바이스 또는 디바이스들을 나타낸다. 다른 실시예들에서, 비디오 인코더(110) 및 비디오 디코더(118)는 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 어떤 조합으로 각각 구현된다.
데이터 네트워크(106)는 시스템(100)의 구성요소들 간의 통신을 용이하게 한다. 예를 들면, 네트워크(106)는 인터넷 프로토콜(IP) 패킷들, 프레임 릴레이 프레임들, 비동기 전송 모드(Asynchronous Transfer Mode; ATM) 셀들, 임의의 다른 적합한 정보를 네트워크 어드레스들 또는 구성요소들 간에 통신할 수 있다. 네트워크(106)는 하나 이상의 근거리 네트워크들(LAN), 대도시 통신 네트워크들(MAN), 광역 네트워크들(WAN), 인터넷과 같은 세계적 네트워크의 전부 또는 일부, 또는 하나 이상의 위치들에서의 그외 어떤 다른 통신 시스템 또는 시스템들을 포함할 수 있다. 네트워크(106)는 이더넷, IP, X.25, 프레임 릴레이, 또는 이외 어떤 다른 패킷 데이터 프로토콜과 같은 어떤 적합한 유형의 프로토콜 또는 프로토콜들에 따라 동작할 수 있다.
도 1에 비디오 전송 시스템(100)의 일 예를 도시하였으나, 도 1에 다양한 변경들이 행해질 수 있다. 예를 들면, 시스템(100)은 임의 수의 스트리밍 비디오 송신기들(102), 스트리밍 비디오 수신기들(104), 및 네트워크들(106)을 포함할 수 있다.
도 2는 본 개시의 일 실시예에 따른 예로서의 비디오 인코더(110)를 도시한 것이다. 도 2에 도시된 비디오 인코더(110)는 도 1에 도시된 비디오 송신 시스템(100)에서 사용될 수 있다. 비디오 인코더(110)의 그외 실시예들은 비디오 송신 시스템(100)에서 사용될 수 있고, 도 2에 도시된 비디오 인코더(110)는 본 개시의 범위 내에서 그외 어떤 다른 적합한 디바이스, 구조, 또는 시스템에서 사용될 수 있다.
도시된 예에서, 비디오 인코더(110)는 웨이블렛 변환기(202)를 포함한다. 웨이블렛 변환기(202)는 비압축된 비디오 프레임들(214)을 수신하고, 비디오 프레임들(214)을 공간 영역에서 웨이블렛 영역으로 변환한다. 이 변환은 비디오 프레임(214)을 웨이블렛 필터링을 사용하여 복수의 대역들(216a-216n)로 공간적으로 분해하며, 이 비디오 프레임(214)에 대한 각각의 대역(216)은 한 세트의 웨이블렛 계수들로 표현된다. 웨이블렛 변환기(202)는 임의의 적합한 변환을 사용하여 비디오 프레임(214)을 복수의 비디오 또는 웨이블렛 대역들(216)로 분해한다. 일부 실시예들에서, 프레임(214)은 로우-로우(LL)대역, 로우-하이(LH)대역, 하이-로우(HL)대역, 및 하이-하이(HH)대역을 포함하는 제1 분해 레벨로 분해된다. 이들 대역들 중 하나 이상은, LL대역이 LLLL, LLLH, LLHL, LLHH의 서브-대역들로 더욱 분해될 때와 같이, 추가의 분해 레벨들로 더욱 분해될 수 있다.
웨이블렛 대역들(216)은 복수의 모션 보상된 시간 필터들(MCTF)(204a-204n)에 제공된다. MCTF(204)는 비디오 대역들(216)을 시간적으로 필터링하고, 프레임들(214) 간에 시간적 상관을 제거한다. 예를 들면, MCTF들(204)은 비디오 대역들(216)을 필터링하고 비디오 대역들(216) 각각에 대해 고대역 통과 프레임들 및 저대역 통과 프레임들을 생성할 수 있다.
일부 실시예들에서, 다수 그룹들의 프레임들은 MCTF들(204)에 의해 프로세싱된다. 특정의 실시예들에서, 각각의 MCTF(204)는 모션 추정기 및 시간 필터를 포함한다. MCTF들(204) 내의 모션 추정기들은 하나 이상의 모션 벡터들을 생성하고, 이들 벡터들은 현 비디오 프레임과 참조 프레임간의 모션 량을 추정하고 하나 이상의 모션 벡터들을 생성한다. MCTF들(204) 내의 시간 필터들은, 모션 방향으로 일 그룹의 비디오 프레임들을 시간적으로 필터링하기 위해 이 정보를 사용한다. 다른 실시예들에서, MCTF들(204)은 비제약(unconstrained) 모션 보상된 시간 필터들(UMCTF)로 대치될 수 있다.
일부 실시예들에서, 모션 추정기들 내의 보간 필터들은 서로 다른 계수값들을 가질 수 있다. 서로 다른 대역들(216)은 서로 다른 시간 상관들을 가질 수 있기 때문에, 이것은 MCTF들(204)의 코딩 성능을 향상시키는데 도움을 줄 수 있다. 또한, 서로 다른 시간 필터들은 MCTF들(204)에서 사용될 수 있다. 일부 실시예들에서, 양방향 시간 필터들은 저대역들(216)에 대해 사용되고, 순방향만의 시간 필터들은 고대역들(216)에 사용된다. 시간 필터들은 왜곡 측정 또는 복잡도 측정을 최소화할 요구에 기초하여 선택될 수 있다. 시간 필터들은, 효율/복잡도 제약을 증가 또는 최적화하기 위해 각 대역(216)마다 다르게 설계된 예측 및 업데이트 단계를 사용하는 리프팅 필터들과 같은 임의의 적합한 필터들을 나타낼 수 있다.
또한, 함께 그룹을 이루고 MCTF들(204)에 의해 프로세싱되는 프레임들 수는 각 대역(216)마다 적응적으로 결정될 수 있다. 어떤 실시예들에서, 저대역들(216)은 함께 그룹을 이루는 더 많은 수의 프레임들을 가지며, 고대역들은 함께 그룹을 이루는 보다 적은 수의 프레임들을 갖는다. 이것은 예를 들면, 일련의 프레임들(214) 또는 복잡도 또는 복원력 요건들의 특성들에 기초하여 대역(216) 당 함께 그룹을 이루는 프레임들의 수를 가변할 수 있게 하여준다. 또한, 더 높은 공간 주파수 대역들(216)은 장기간 시간 필터링들로부터 생략될 수 있다. 특정의 예로서, LL, LH, HL, HH 대역들(216)의 프레임들은 각각 8, 4, 2 프레임들의 그룹들에 위치될 수 있다. 이것은 각각 3, 2, 1의 최대 분해 레벨을 허용한다. 대역들(216) 각각에 대한 시간 분해 레벨들의 수는 프레임 콘텐트, 타겟 왜곡 메트릭, 또는 각 대역(216)에 대한 시간 범위성의 소망된 레벨과 같은 임의의 적합한 기준을 사용하여 결정될 수 있다. 또 다른 특정의 예로서, LL, LH, HH 대역들(216) 각각의 프레임들은 다수 그룹의 8 프레임들에 위치될 수 있다.
도 2에 도시된 바와 같이, MCTF들(204)은 웨이블렛 영역에서 동작한다. 종래의 인코더들에서, 웨이블렛 계수들은 시프트-불변(shift-invatriant)이 아니기 때문에, 웨이블렛 영역에서의 모션 추정 및 보상은 통상적으로 불충분하다. 이러한 비효율성은 저대역 시프팅(shifting) 기술을 사용하여 극복될 수 있다. 본 실시예에서, 저대역 시프터(shifter)(206)는 입력 비디오 프레임들(214)을 프로세싱하고 하나 이상의 오버컴플릿 웨이블렛 확장(218)을 생성한다. MCTF들(204)은 모션 추정시 참조 프레임들로서 오버컴플릿 웨이블렛 확장(218)을 사용한다. 오버컴플릿 웨이블렛 확장들(218)을 참조 프레임들로서 사용하는 것은, MCTF들(204)이 모션을 가변 레벨들의 정확도로 추정할 수 있게 한다. 특정의 예로서, MCTF들(204)은 LL대역(216)에서 모션 추정에 대해 1/16 pel 정확도를 사용하고, 다른 대역들(216)에서 모션 추정에 대해선 1/8 pel 정확도를 사용할 수 있다.
일부 실시예들에서, 저대역 시프터(206)는, 입력 비디오 프레임들(214)의 저대역들을 시프트시킴으로써 오버컴플릿 웨이블렛 확장(218)을 생성한다. 저대역 시프터(206)에 의한 오버컴플릿 웨이블렛 확장(218)의 생성을 도 3a-3c에 도시하였다. 이 예에서, 특정 공간 위치에 동일 분해 레벨에 대응하는 상이한 시프트된 웨이블렛 계수들을 "교차-상태 웨이블렛 계수들"이라 한다. 도 3a에 도시된 바와 같이, 오버컴플릿 웨이블렛 확장(218)의 각각의 상태는 다음 미세 레벨 LL 대역의 웨이블렛 계수들을 시프트시키고 한 레벨 웨이블렛 분해를 적용함으로써 생성된다. 예를 들면, 웨이블렛 계수들(302)은 시프트시키지 않은 LL 대역의 계수들을 나타낸다. 웨이블렛 계수들(304)은 (1, 0) 시프트 후, 또는 우측으로 한 위치의 시프트 후의 LL 대역의 계수들을 나타낸다. 웨이블렛 계수들(306)은 (0, 1) 시프트, 또는 한 위치 아래로 시프트 후의 LL 대역의 계수들을 나타낸다. 웨이블렛 계수들(308)은 (1, 1) 시프트, 또는 한 위치를 우측으로 한 위치를 아래로 시프트 후의 LL 대역의 계수들을 나타낸 것이다.
도 3a의 4 개 세트의 웨이블렛 계수들(302-308)은, 오버컴플릿 웨이블렛 확장(218)을 생성하기 위해 증가 또는 결합된다. 도 3b는, 오버컴플릿 웨이블렛 확장(218)을 생성하기 위해 웨이블렛 계수들(302-308)이 증가 또는 결합되는 방법의 예를 도시한 것이다. 도 3b에 도시된 바와 같이, 두 세트의 웨이블렛 계수들(330, 332)을 인터리빙하여 한 세트의 오버컴플릿 웨이블렛 확장(218)을 생성한다. 오버컴플릿 웨이블렛 확장(218)은 도 3a에 도시한 오버컴플릿 웨이블렛 확장(218)을 나타낸다. 오버컴플릿 웨이블렛 확장(218)의 새로운 좌표들이 원래 공간 영역의 연관된 시프트에 대응하도록 인터리빙이 수행된다. 이러한 인터리빙 기술은 각각의 분해 레벨에서 순환적으로 사용될 수 있으며 2D 신호들에 대해 직접 확장될 수 있다. 오버컴플릿 웨이블렛 확장(218)을 생성하기 위한 인터리빙의 사용은 인접한 웨이블렛 계수들 간의 교차-상태 의존성들을 고려하게 하므로, 비디오 인코더(110) 및 비디오 디코더(118)에서 보다 최적의 또는 최적의 서브-화소 정확도 모션 추정 및 보상을 할 수 있게 한다. 도 3b에 두 세트의 웨이블렛 계수들(330, 332)이 인터리빙된 것이 도시되었으나, 4 개 세트의 웨이블렛 계수들과 같은 오버컴플릿 웨이블렛 확장(334)을 형성하기 위해 임의의 수의 계수들의 세트들이 함께 인터리빙될 수 있다.
저대역 시프팅 기술의 일부는 도 3c에 도시한 바와 같이 웨이블렛 블록들의 생성을 포함한다. 일부 실시예들에서, 웨이블렛 분해 동안에, 주어진 스케일의 계수들(가장 큰 주파수 대역의 계수들은 제외)은 미세 스케일들에서의 동일 방위의 한 세트의 계수들에 관련될 수 있다. 종래의 코더들에서, 이 관계는 계수들을 "웨이블렛 트리(tree)"라 하는 데이터 구조로서 나타냄으로써 활용된다. 저대역 시프팅 기술에서, 최저대역을 기반으로 하는 각각의 웨이블렛 트리의 계수들은, 도 3c에 도시된 바와 같이 웨이블렛 블록(350)을 형성하도록 재배열된다. 다른 계수들은 이와 유사하게 추가의 웨이블렛 블록들(352, 354)을 형성하도록 그룹화된다. 도 3c에 도시된 웨이블렛 블록들은 그 웨이블렛 블록 내 웨이블렛 계수들과 이미지에서 이들 계수들이 공간적으로 나타내는 것들 간에 직접적인 연관을 제공한다. 특정의 실시예들에서, 모든 스케일들 및 방위에서 관계된 계수들은 웨이블렛 블록들 각각에 포함된다.
일부 실시예들에서, 도 3c에 도시된 웨이블렛 블록들은 MCTF들(204)에 의해 모션 추정시 사용된다. 예를 들면, 모션 추정시, 각각의 MCTF(204)는 현 웨이블렛 블록과 참조 프레임 내 참조 웨이블렛 블록간의 최소 절대 평균 편차(MAD)를 생성하는 모션 벡터(dx, dy)를 찾는다. 예를 들면, 도 3c에서 k번째 웨이블렛 블록의 절대 평균 편차는 다음과 같이 하여 계산될 수 있다.
여기서, 예를 들면, LBS_HL(i) ref(x, y)는, 위에 기술한 인터리빙 기술을 사용한 참조 프레임의 확장된 HL 대역을 나타낸다. 식(1)은 (dx, dy)이 정수가 아닌 값들일 때에도 작용하는 반면에, 이전 저대역 시프팅 기술은 작용할 수 없다. 또한, 특정의 실시예들에서, 웨이블렛 블록들에 의한 이러한 코딩 방식의 사용은 임의의 모션 벡터 오버헤드도 생성하지 않는다.
도 2로 돌아가서, MCTF들(204)은 필터링한 비디오 대역들을 임베드 제로 블록 코딩(Embedded Zero Block Coding; EZBC) 코더(208)에 제공한다. EZBC 코더(208)는 필터링한 비디오 대역들을 분석하고 필터링된 대역들(216) 내의 상관 및 필터링된 대역들(216)간의 상관을 식별한다. EZBC 코더(208)는, 필터링된 대역들(216)을 코딩 및 압축하기 위해 이 정보를 사용한다. 특정의 예로서, EZBC 코더(208)는, MCTF들(204)에 의해 생성된 고대역 통과 프레임들 및 저대역 통과 프레임들을 압축할 수 있다.
MCTF들(204)은 또한 모션 벡터들을 모션 벡터 인코더(210)에 제공한다. 모션 벡터는, 비디오 인코더(110)에 제공된 일련의 비디오 프레임들(214)에서 검출된 모션을 나타낸다. 모션 벡터 인코더(210)는 MCTF들(204)에 의해 생성된 모션 벡터들을 인코딩한다. 모션 벡터 인코더(210)는 DCT 코딩과 같은 텍스처 기반의 코딩 기술과 같은, 어떤 적합한 인코딩 기술을 사용한다.
EZBC 코더(208)에 의해 생성된 압축 및 필터링된 대역들(216)과 모션 벡터 인코더(210)에 의해 생성된 압축된 모션 벡터들을 함께 취하여 입력 비디오 프레임들(214)을 나타낸다. 멀티플렉서(212)는 압축 및 필터링된 대역들(216)과 압축된 모션 벡터들을 수신하고 이들을 단일 출력 비트스트림(220)으로 다중화한다. 비트스트림(220)은 데이터 네트워크(106)를 거쳐 스트리밍 비디오 송신기(102)에 의해 스트리밍 비디오 수신기(104)에 전송된다.
도 4는 본 개시의 일 실시예에 따른 비디오 디코더(118)의 일 예를 도시한 것이다. 도 4에 도시된 비디오 디코더(118)는 도 1에 도시된 비디오 송신 시스템(100)에서 사용될 수 있다. 비디오 디코더(118)의 다른 실시예들은 비디오 송신 시스템(100)에서 사용될 수 있으며, 도 4에 도시된 비디오 디코더(118)는 본 개시의 범위 내에서 임의의 다른 적합한 디바이스 구조, 또는 시스템에서 사용될 수 있다.
일반적으로, 비디오 디코더(118)는 도 2의 비디오 인코더(110)에 의해 수행되었던 기능들의 역을 수행하고, 그럼으로써 인코더(110)에 의해 인코딩된 비디오 프레임들(214)을 디코딩한다. 예시된 예에서, 비디오 디코더(118)는 디멀티플렉서(402)를 포함한다. 디멀티플렉서(402)는 비디오 인코더(110)에 의해 생성된 비트스트림(220)을 수신한다. 디멀티플렉서(402)는 비트스트림(220)을 역다중화하고, 인코딩된 비디오 대역들과 인코딩된 모션 벡터들을 분리한다.
인코딩된 비디오 대역들은 EZBC 디코더(401)에 제공된다. EZBC 디코더(404)는, EZBC 코더(208)에 의해 인코딩된 비디오 대역들을 디코딩한다. 예를 들면, EZBC 디코더(404)는, 비디오 대역들을 복구하기 위해 EZBC 코더(208)에 의해 사용된 인코딩 기술의 역을 수행한다. 특정의 예로서, 인코딩된 비디오 대역들은 고역 통과 프레임들 및 저대역 통과 프레임들을 나타낼 수 있으며, EZBC 디코더(404)는 고대역 통과 및 저대역 통과 프레임들을 압축 해제할 수 있다. 유사하게, 모션 벡터들은 모션 벡터 디코더(506)에 제공된다. 모션 벡터 디코더(406)는, 모션 벡터 인코더(210)에 의해 사용된 인코딩 기술의 역을 수행함으로써 모션 벡터들을 디코딩 및 복구한다.
복구된 비디오 대역들(416a-416n) 및 모션 벡터들은, 복수의 역 모션 보상된 시간 필터들(역 MCTF들)(408a-408n)에 제공된다. 역 MCTF들(408)은 비디오 대역들(416a-416n)을 프로세싱 및 복구한다. 예를 들면, 역 MCTF들(408)은 MCTF들(204)에 의해 행해진 시간 필터링들의 효과를 반대가 되게 하기 위해서 시간 합성을 수행할 수 있다. 역 MCTF들(408)은, 모션을 비디오 대역들(416)에 다시 도입하기 위해서 모션 보상을 수행할 수 있다. 특히, 역 MCTF들(408)은 비디오 대역들(416)을 복구하기 위해서 MCTF들(204)에 의해 생성된 고대역 통과 및 저대역 통과 프레임들을 프로세싱할 수 있다. 다른 실시예들에서, 역 MCTF들(408)은, 역 UMCTF들에 의해 대치될 수 있다.
복구된 비디오 대역들(416)은 역 웨이블렛 변환기(410)에 제공된다. 역 웨이블렛 변환기(410)는 비디오 대역들(416)을 웨이블렛 영역에서 다시 공간 영역으로 변환하기 위한 변환 기능을 수행한다. 예를 들면, 비트스트림(220)으로 수신된 정보의 양과 비디오 디코더(118)의 프로세싱 능력에 따라, 역 웨이블렛 변환기(410)는 하나 이상의 서로 다른 다수 세트의 복구된 비디오 신호들(414a-414c)을 생성할 수 있다. 일부 실시예들에서, 복구된 비디오 신호들(414a-414c)은 서로 다른 해상도들을 갖는다. 예를 들면, 제1 복구된 비디오 신호(414a)는 낮은 해상도를 가질 수 있으며, 제2 복구된 비디오 신호(414b)는 중간 해상도를 가질 수 있고, 제3 복구된 비디오 신호(414c)는 고 해상도를 가질 수 있다. 이에 따라, 서로 다른 프로세싱 능력들 또는 서로 다른 대역폭 액세스를 가진 서로 다른 유형들의 스트리밍 비디오 수신기들(104)이 시스템(100)에서 사용될 수 있다.
복구된 비디오 신호들(414)은 저대역 시프터(412)에 제공된다. 위에 기술된 바와 같이, 비디오 인코더(110)는 하나 이상의 오버컴플릿 웨이블렛 확장(218)을 사용하여 입력 비디오 프레임들(214)을 프로세싱한다. 비디오 디코더(118)는, 동일 또는 거의 동일한 오버컴플릿 웨이블렛 확장(218)을 생성하기 위해 복구된 비디오 신호들(414)에서 이전에 복구된 비디오 프레임들을 사용한다. 오버컴플릿 웨이블렛 확장(218)은, 비디오 대역들(416)을 디코딩하는데 사용하기 위해 역 MCTF들(408)에 제공된다.
도 2 내지 4에 예로서의 비디오 인코더, 오버컴플릿 웨이블렛 확장, 및 비디오 디코더를 도시하였으나, 도 2-4에 다양한 변경들이 행해질 수 있다. 예를 들면, 비디오 인코더(110)는 임의의 수의 MCTF들(204)을 포함할 수 있으며, 비디오 디코더(118)는 임의의 수의 역 MCTF들(408)을 포함할 수 있다. 또한, 임의의 다른 오버컴플릿 웨이블렛 확장이 비디오 인코더(110) 및 비디오 디코더(118)에 의해 사용될 수 있다. 또한, 비디오 디코더(118)에서 역 웨이블렛 변환기(410)는 임의 수의 해상도들을 갖는 복구된 비디오 신호들(414)을 생성할 수 있다. 특정의 예로서, 비디오 디코더(118)는 n 개 세트들의 복구된 비디오 신호들(414)을 생성할 수도 있을 것이며, 여기서 n은 비디오 대역들(416)의 수를 나타낸다.
도 5는 본 개시의 일 실시예에 따른 예로서의 모션 보상된 시간 필터링을 도시한 것이다. 이 모션 보상된 시간 필터링은, 예를 들면, 도 2의 비디오 인코더(110)에서 MCTF들(204)에 의해 또는 임의의 다른 적합한 비디오 인코더에 의해 수행될 수 있다.
도 5에 도시된 바와 같이, 모션 보상된 시간 필터링은 이전 비디오 프레임(A)에서 현 비디오 프레임(B)으로의 모션 추정을 포함한다. 시간 필터링 동안, 비디오 프레임 내 일부 화소들(502)은 복수회에 걸쳐 참조되거나, 또는 전혀 참조되지 않을 수 있다. 이것은, 예를 들면, 비디오 프레임들에 포함된 모션, 및 이미지 내의 객체들의 가려짐 또는 드러남에 기인한다. 이들 화소들(502)은 통상적으로 "비접속된 화소들"이라 칭해지고, 1회 참조되는 화소들(504)은 통상적으로 "접속된 화소들"이라 칭해진다. 전형적인 코딩 시스템들에서, 비디오 프레임들에서 비접속된 화소들(502)의 존재는, 코딩 효율을 감소시키는 특별한 프로세싱을 요한다.
모션 추정의 품질을 향상시키기 위해서, 서브-화소 정확성 모션 추정은 3D 필터링 방식을 사용하여 채용되며, 3D 필터링 방식은 압축된 비디오 프레임들의 보다 정확한 또는 완벽한 재구성이 될 수 있게 한다. 비디오 인코더(110)에서 공간 영역 MCTF를 사용할 때, 모션 벡터들이 서브-화소 정확성을 갖는다면, 리프팅 방식은, 다음 식을 사용하여 비디오 프레임들에 대한 고대역 통과 프레임(H) 및 저대역 통과 프레임(L)을 생성한다.
여기서 A는 이전 비디오 프레임을 나타내며, B는 현재 비디오 프레임을 나타내며, 는 A 비디오 프레임 내 위치(x, y)의 보간된 화소값을 나타내며, B(m, n)는 B 비디오 프레임에서 위치(m, n)의 화소값을 나타내며, (dm, dn)은 서브-화소 정확성 모션 벡터를 나타내며, 는 가장 가까운 정수값 격자에 근사값을 나타낸다.
비디오 디코더(118)에서, 이전 비디오 프레임(A)는 다음 식을 사용하여 L 및 H로부터 재구성된다.
이전 비디오 프레임(A)이 재구성된 후에, 현 비디오 프레임(B)은 다음 식을 사용하여 재구성된다.
이 예에서, 현재 프레임(B)에 비접속된 화소들은 식(2)에 나타낸 바와 같이 프로세싱되고, 이전 프레임(A)에 비접속된 화소들은 다음과 같이 프로세싱된다.
비디오 인코더(110)에서 웨이블렛 영역에서 오버컴플릿 웨이블렛 확장(218)의 사용은, 웨이블렛 영역에서 각 비디오 대역(216)에 대해 서브-화소 모션 추정을 수행할 수 있는 MCTF들(204)의 모션 추정기들에서 보간 필터들을 필요로 할 수 있다. 일부 실시예들에서, 이들 보간 필터들은 비디오 대역(216) 내 인접한 이웃들로부터 그리고 다른 대역들(216)에 인접한 이웃들로부터의 화소들을 콘볼루션한다.
예로서, 도 6a는, 비디오 프레임(600)이 단일 분해 레벨의 4개의 웨이블렛 대역들(216)로 분해되는 예로서의 웨이블렛 분해를 도시한 것이다. 오버컴플릿 웨이블렛 영역에 대한 리프팅 구조는 식(2)-(6)을 수정함으로써 생성될 수 있다. 예를 들면, 간단히 식(2)을 전개함으로써, j번째 분해 레벨에 대한 고대역 통과 프레임은 다음과 같이 나타낼 수 있다.
여기서, di j(m) = dm/2j, di j(n) = dn/2j, and (dm, dn)은 공간 영역에서 모션 벡터를 나타낸다. 그러나, 식(7)에서 Ai j 프레임의 보간은 최적이 아닐 수 있는데, 이것이 교차-상태 웨이블렛 계수들의 의존성들을 포함하지 않기 때문이다. 위에 기술된 인터리빙 기술을 사용하여, j번째 분해 레벨에 대한 보다 최적의 고대역 통과 프레임은 다음과 같이 나타낼 수 있다.
여기서, LBS_Ai j는 인터리빙된 오버컴플릿 웨이블렛 계수들을 나타내며, 는 위치 에서 그의 보간된 화소값을 나타낸다. 인터리빙 후에, 보간 연산은 이웃 웨이블렛 계수들의 단순 공간 영역 보간을 나타낸다.
유사하게, 저대역 통과 필터링된 프레임은 다음과 같이 나타낼 수 있다.
여기서, di j(m)=dm/2j, di j(n) = dn/2j, 및 LBS_Hi j는 Hi j 프레임의 인터리빙된 오버컴플릿 웨이블렛 계수들을 나타낸다.
디코더측에서, 재구성은 다음 식들을 사용하여 수행될 수 있다.
일부 실시예들에서, 인코더(110)에서 어떤 보간 기술이 사용되든지 간에 완벽한 재구성은, 비디오 인코더(110) 및 비디오 디코더(118)가 동일 서브-화소 보간 기술을 사용할 때 비디오 디코더(118)에서 얻어질 수 있다. 이 예에서, 현재 프레임(B)에서 비접속된 화소들은 식(9)에서 나타낸 바와 같이 프로세싱되며, 이전 프레임(A)에 비연결 화소들은 다음과 같이 프로세싱된다.
식(9)는 저대역 통과 프레임을 생성하기 위해서 보간된 고대역 통과 프레임들을 사용한다. 결과적으로, 일부 실시예들에서, 동일 분해 레벨의 4개의 시간 고대역 통과 프레임들 Hi j, i=0,...,3은 식(8)을 사용하여 생성된다. 그후에, 4개의 저대역 통과 프레임들 Li j, i=0,...,3은 식(9)에 따라 시간 고대역 통과 프레임들을 사용하여 생성된다.
비디오 인코더(110) 및 비디오 디코더(118)에 의해 처리되는 비디오 프레임들은 하나 이상의 분해 레벨을 가질 수 있다. 예를 들면, 도 6b는 예로서의 웨이블렛 분해를 도시한 것으로, 비디오 프레임(650)은 2개의 분해 레벨들로 분해된다. 이 예에서, A0 1 대역은 복수의 서브-대역들 Aj 2, j=0,...,3으로 분해된다. 복수의 분해 레벨들을 가진 이 또는 다른 비디오 프레임들에 대해서, 리프팅 구조를 구현하는 식들(8)-(11)은 최저 해상도 이미지에서 시작하여, 순환적으로 실행된다. 즉, 식(8)-(11)은 A0 2 대역의 서브-대역들 Aj 2, j=0,...,3에 대해 1회 실행된다. 일단 완료되면, 식들(8)- (11)은 대역들 Aj 1, j=0,...,3에 대해 다시 실행된다.
요약하여, 비디오 인코더(110)에서, L 분해 레벨들을 가진 비디오 프레임들에 대한 3D 리프팅 알고리즘은 다음과 같다.
for j=L:1
for i=1:3
end
for i=1:3
end
Ai j, i=0,...3으로부터 A0 j-1 재구성
Hi j, i=0,...3으로부터 H0 j-1 재구성
end
유사하게, 비디오 디코더(118)에서, L 분해 레벨들을 가진 비디오 프레임들에 대한 3D 리프팅 알고리즘은 다음과 같다.
for j=L:1
for i=1:3
end
for i=1:3
end
Ai j, i=0,...3으로부터 A0 j-1 재구성
Hi j, i=0,...3으로부터 H0 j-1 재구성
end
이 요약 및 위의 식들(8)-(11)에서 나타낸 바와 같이, 특정 분해 레벨에서 대역이 비디오 인코더(110)에서 비디오 디코더(118)로 전송중에 오변질 또는 유실되었다면, 디코더(118)에서 비디오 프레임들의 재구성은 오류들을 초래한다. 이것은 식들(8)-(11)이 비디오 인코더(110)에서와 같이 비디오 디코더(118)에서 그와 동일한 참조를 생성하진 않을 것이기 때문이다. 오류 복원력을 제공하기 위해서, 다음 미세 레벨 서브-대역을 시프트시킴이 없이 대응하는 서브-대역(이를테면 Ai j)로부터 확장된 참조(이를테면 LBS_Ai j)가 생성된다. 이것은 시스템(100)의 강건성을 증가시키며 비디오 인코더(110) 및 디코더(118)를 덜 복잡하게 한다.
도 7은 본 개시의 일 실시예에 따른 오버컴플릿 웨이블렛 영역에서 3D 리프팅을 사용하여 비디오 정보를 인코딩하는 방법(700)의 예를 도시한 것이다. 방법(700)은 도 1의 시스템(100)에서 동작하는 도 2의 비디오 인코더(110)에 관하여 기술된다. 방법(700)은 임의의 다른 적합한 인코더에 의해서, 그리고 임의의 다른 적합한 시스템에서 사용될 수 있다.
비디오 인코더(110)는 단계(702)에서 비디오 입력 신호를 수신한다. 이것은, 예를 들면, 비디오 프레임 소스(108)로부터 복수 프레임들의 비디오 데이터를 수신하는 비디오 인코더(110)를 포함할 수 있다.
비디오 인코더(110)는 단계(704)에서 각각의 비디오 프레임을 대역들로 분할한다. 이것은, 예를 들면, 비디오 프레임들을 프로세싱하고 프레임들을 n개의 서로 다른 대역들(216)로 나누는 웨이블렛 변환기(202)를 포함할 수 있다. 웨이블렛 변환기(202)는 프레임들을 하나 이상의 분해 레벨들로 분해할 수 있다.
비디오 인코더(110)는 단계(706)에서 비디오 프레임들의 하나 이상의 오버컴플릿 웨이블렛 확장들을 생성한다. 이것은, 예를 들면, 비디오 프레임들을 수신하고 비디오 프레임들의 저대역을 식별하고 저대역을 서로 다른 양들만큼 시프트시키고 저대역을 함께 증가시켜 오버컴플릿 웨이블렛 확장을 생성하는 저대역 시프터(206)를 포함할 수 있다.
비디오 인코더(110)는 단계(708)에서 비디오 프레임들의 기본층을 압축한다. 이것은, 예를 들면, 최저 해상도의 웨이블렛 대역(216a)을 프로세싱하고 고대역 통과 프레임들 H0 L 및 저대역 통과 프레임들 L0 L을 생성하는 MCTF(204a)를 포함할 수 있다.
비디오 인코더(110)는 단계(710)에서 비디오 프레임들의 개선층을 압축한다. 이것은, 잔여 비디오 대역들(216b-216n)을 수신하는 잔여 MCTF들(204b-204n)을 포함할 수 있다. 이것은, 식(8)을 사용하여 최저 분해 레벨에서 잔여 시간 고대역 통과 프레임들을 생성하고 식(9)을 사용하여 그 분해 레벨에서 잔여 시간 저대역 통과 프레임들을 생성하는 전류 MCTF들(204)을 포함할 수 있다. 이것은, 임의의 다른 분해 레벨들을 대한 추가의 고대역 통과 프레임들 및 저대역 통과 프레임들을 생성하는 MCTF들(204)을 더 포함할 수 있다. 또한, 이것은, 비디오 프레임들에서 모션을 식별하는 모션 벡터들을 생성하는 MCTF들(204)를 포함할 수 있다.
비디오 인코더(110)는 단계(712)에서 필터링된 비디오 대역들을 인코딩한다. 이것은 MCTF들(204)로부터, 이를테면 고대역 통과 프레임들 및 저대역 통과 프레임들과 같은 필터링된 비디오 대역들(216)을 수신하고 필터링된 대역들(216)을 압축하는 EZBC 코더(208)를 포함할 수 있다. 비디오 인코더(110)는 단계(714)에서 모션 벡터를 인코딩한다. 이것은, 예를 들면, MCTF들(204)에 의해 생성된 모션 벡터들을 수신하고 모션 벡터들을 압축하는 모션 벡터 인코더(210)를 포함할 수 있다. 비디오 인코더(110)는 단계(716)에서 출력 비트스트림을 생성한다. 이것은, 예를 들면, 압축된 비디오 대역들(216) 및 압축된 모션 벡터들을 수신하고 이들을 비트스트림(220)으로 다중화하는 멀티플렉서(212)를 포함할 수 있다. 이 때, 비디오 인코더(110)는, 비스트림을 데이터 네트워크(106)을 통한 전송을 위해 버퍼에 보내는 등의 어떤 적합한 동작을 취할 수 있다.
도 7은 오버컴플릿 웨이블렛 영역에서 3D 리프팅을 사용하여 비디오 정보를 인코딩하는 방법(700)의 일 예를 도시하였으나, 도 7에 다양한 변경들이 행해질 수 있다. 예를 들면, 도 7에 도시한 다양한 단계들은 단계들(704 및 706) 등이 비디오 인코더(110)에서 동시에 실행될 수 있다. 또한, 비디오 인코더(110)는 인코더(110)에 의해 프로세싱된 각 그룹의 프레임들에 대해 1회로, 인코딩 프로세스 동안 복수회로 오버컴플릿 웨이블렛 확장을 생성할 수 있다.
도 8은 본 개시의 일 실시예에 따른 오버컴플릿 웨이블렛 영역에서 3D 리프팅을 사용하여 비디오 정보를 디코딩하는 방법(800)의 예를 도시한 것이다. 방법(800)은 도 1의 시스템(100)에서 동작하는 도 4의 비디오 디코더(118)에 관하여 기술한다. 방법(800)은 임의의 다른 적합한 디코더에 의해서, 그리고 임의의 다른 적합한 시스템에서 사용될 수 있다.
비디오 디코더(118)는 단계(802)에서 비디오 비트스트림을 수신한다. 이것은, 예를 들면, 데이터 네트워크(106)를 통해 비트스트림을 수신하는 비디오 디코더(110)를 포함할 수 있다.
비디오 디코더(118)는, 단계(804)에서 인코딩된 비디오 대역들과 인코딩된 모션 벡터들을 비트스트림에서 분리한다. 이것은, 예를 들면, 비디오 대역들 및 모션 벡터들을 분리하고 이들을 비디오 디코더(118) 내의 서로 다른 구성요소들에 전송하는 멀티플렉서(402)를 포함할 수 있다.
비디오 디코더(118)는 단계(806)에서 비디오 대역들을 디코딩한다. 이것은, 예를 들면, EZBC 코더(208)에 의해 수행되는 인코딩을 역으로 하기 위해 비디오 대역들에 역 동작들을 수행하는 EZBC 디코더(404)를 포함할 수 있다. 비디오 디코더(118)는 단계(808)에서 모션 벡터들을 디코딩한다. 이것은, 예를 들면, 모션 벡터 인코더(210)에 의해 수행되는 인코딩을 역으로 하기 위해 모션 벡터들에 역 동작을 수행하는 모션 벡터 디코더(406)을 포함할 수 있다.
비디오 디코더(118)는 단계 810에서 비디오 프레임들의 기본층을 압축 해제한다. 이것은, 예를 들면, 이전 및 현재 비디오 프레임들의 최저 해상도 대역들(416)을 고대역 통과 프레임들 HO L 및 저대역 통과 프레임들 LO L을 사용하여 프로세싱하는 MCTF(408a)를 포함할 수 있다.
비디오 디코더(118)는 단계(812)에서 비디오 프레임의 개선층을 압축 해제한다(가능하다면). 이것은, 예를 들면, 잔여 비디오 대역들(416b-416n)을 수신하는 역 MCTF들(408)을 포함할 수 있다. 이것은 한 분해 레벨에서 이전 프레임의 잔여 대역들을 복구하고, 이어서 그 분해 레벨에서 현재 프레임의 잔여 대역들을 복구하는 역 MCTF들(408)을 포함할 수 있다. 이것은, 임의의 다른 분해 레벨들에 대해 프레임들을 복구하는 역 MCTF들(408)을 더 포함할 수 있다.
비디오 디코더(118)는 단계(814)에서, 복구된 비디오 대역들(416)을 변환한다. 이것은, 예를 들면, 비디오 대역들(416)을 웨이블렛 영역에서 공간 영역으로 변환하는 역 웨이블렛 변환기(410)를 포함할 수 있다. 이것은, 또한 하나 이상의 세트들의 복구된 신호들(414)을 생성하는 역 웨이블렛 변환기(410)를 포함할 수 있는데, 여기서 서로 다른 다수 세트들의 복구된 신호(414)는 서로 다른 해상도들을 갖는다.
비디오 디코더(118)는 단계(816)에서, 복구된 신호(414)에서 복구된 비디오 프레임들의 하나 이상의 오버컴플릿 웨이블렛 확장들을 생성한다. 이것은, 예를 들면, 비디오 프레임들을 수신하고 저대역의 비디오 프레임들을 식별하고 저대역을 상이한 양들만큼 시프트시키고 저대역들을 증가시키는 저대역 시프터(412)를 포함할 수 있다. 이어서 추가의 비디오 정보를 디코딩하는데 사용하기 위해, 오버컴플릿 웨이블렛 확장이 역 MCTF들(408)에 제공된다.
도 8이 오버컴플릿 웨이블렛 영역에서 3D 리프팅을 사용하여 비디오 정보를 디코딩하기 위한 방법(800)의 일 예를 도시하였으나, 도 8에 각종의 변경들이 행해질 수 있다. 예를 들면, 도 8에 도시된 각종의 단계들은 단계들(806 및 808)과 같이, 비디오 디코더(118)에서 동시에 실행될 수 있다. 또한, 비디오 디코더(118)는 디코더(118)에 의해 디코딩된 각 그룹의 프레임들에 대해 한번과 같이, 디코딩 프로세스시 복수회로 오버컴플릿 웨이블렛 확장을 생성할 수 있다.
이 특허 문헌에서 사용한 어떤 단어들 및 구들의 정의들을 설명해두는 것이 이로울 수 있다. "포함하다"라는 것은 제한이 없는 포함을 의미한다. "또는"이라는 용어는 및/또는 의미를 포함한다. "에 연관된"은 "와 연관된"은 포함하다, 내에 포함되다, 에 연결하다, 내포하다, 내에 내포되다, 에 또는 와 연결하다, 에 또는 와 결합하다, 와 통신가능하다, 와 협동하다, 인터리빙하다, 병치하다, 에 근접하다, 에 속박되다, 구비하다, 의 특성을 갖다, 등을 의미할 수 있다. 본 특허문헌 전체에 걸쳐 어떤 단어들 및 구들에 대한 정의들이 제공된다. 당업자는 대부분의 경우는 아닐지라도 대부분, 이러한 정의들은 이러한 정의된 단어들 및 구들의 추후의 사용 및 이전에도 적용됨을 알 것이다.
본 개시는 어떤 실시예들 및 일반적으로 연관된 방법들을 기술하였으나, 이들 실시예들 및 방법들의 변경 및 순서의 교환들은 당업자에게 명백할 것이다. 따라서, 예를 든 실시예들의 전술한 바는 본 개시를 정의 또는 제약하지 않는다. 그외 변경, 대치, 및 개조는 첨부한 청구항들에 정의된 바와 같이, 본 개시의 정신 및 범위 내에서 가능하다.

Claims (27)

  1. 비디오 프레임들의 입력 스트림(214)을 압축하기 위한 방법(700)으로서,
    복수의 비디오 프레임들 각각을 하나 이상의 분해(decomposition) 레벨들의 복수의 웨이블렛 대역들(wavelet band)로 변환하는 단계;
    복수의 고대역 통과 프레임들 및 복수의 저대역 통과 프레임들을 생성하기 위해 적어도 일부의 상기 웨이블렛 대역들에 대해 모션 보상된 시간 필터링을 수행하는 단계로서, 각 분해 레벨의 상기 저대역 통과 프레임들은 상기 분해 레벨의 상기 고대역 통과 프레임들을 사용하여 생성되는, 상기 필터링 수행 단계; 및
    네트워크(106)를 통한 전송을 위해 상기 고대역 통과 프레임들 및 상기 저대역 통과 프레임들을 압축하는 단계를 포함하는, 입력 스트림 압축 방법.
  2. 제1항에 있어서,
    상기 모션 보상된 시간 필터링 동안 사용되는 하나 이상의 오버컴플릿 웨이블렛 확장들을 생성하는 단계;
    상기 모션 보상된 시간 필터링 동안 하나 이상의 모션 벡터들을 생성하는 단계;
    상기 하나 이상의 모션 벡터들을 압축하는 단계; 및
    상기 압축된 고대역 통과 프레임들, 저대역 통과 프레임들, 및 하나 이상의 모션 벡터들을 출력 비트스트림(220)으로 다중화하는 단계를 더 포함하는, 입력 스트림 압축 방법.
  3. 제1항에 있어서,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해, 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙함으로써,
    상기 오버컴플릿 웨이블렛 확장을 생성하는 단계를 더 포함하고,
    상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 입력 스트림 압축 방법.
  4. 비디오 스트림(220)을 압축 해제하기 위한 방법(800)으로서,
    복수의 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 포함하는 비디오 비트스트림(220)을 수신하는 단계;
    상기 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 압축 해제하는 단계;
    상기 비디오 프레임들과 연관된 복수의 웨이블렛 대역들을 생성하기 위해 상기 압축 해제된 고대역 통과 프레임들 및 저대역 통과 프레임들 중 적어도 일부에 대해 역 모션 보상된 시간 필터링을 수행하는 단계로서, 상기 웨이블렛 대역들은 하나 이상의 분해 레벨들과 연관되고, 상기 웨이블렛 대역들은 최저 분해 레벨들에서 시작하여 생성되는, 상기 필터링 수행 단계; 및
    상기 웨이블렛 대역들을 하나 이상의 복구된 비디오 프레임들로 변환하는 단계를 포함하는, 비디오 스트림 압축 해제 방법.
  5. 제4항에 있어서,
    상기 비트스트림(220)으로부터 하나 이상의 압축된 모션 벡터들 및 상기 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 역다중화하는 단계;
    상기 하나 이상의 압축된 모션 벡터들을 압축 해제하는 단계로서, 상기 하나 이상의 압축된 모션 벡터들은 상기 역 모션 보상된 시간 필터링 동안 사용되는, 상기 모션 벡터 압축 해제 단계; 및
    하나 이상의 오버컴플릿 웨이블렛 확장들을 생성하는 단계로서, 상기 하나 이상의 오버컴플릿 웨이블렛 확장들은 상기 역 모션 보상된 시간 필터링 동안 사용되는, 상기 오버컴플릿 웨이블렛 확장 생성 단계를 더 포함하는, 비디오 스트림 압축 해제 방법.
  6. 제4항에 있어서,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙함으로써,
    상기 오버컴플릿 웨이블렛 확장을 생성하는 단계를 더 포함하고,
    상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 비디오 스트림 압축 해제 방법.
  7. 비디오 프레임들의 입력 스트림(214)을 압축하기 위한 비디오 인코더(110)로서,
    복수의 비디오 프레임들 각각을 하나 이상의 분해 레벨들의 복수의 웨이블렛 대역들로 변환하는 웨이블렛 변환기(202);
    상기 웨이블렛 대역들 중 적어도 일부를 프로세싱하고 복수의 고대역 통과 프레임들 및 복수의 저대역 통과 프레임들을 생성하도록 동작 가능한 복수의 모션 보상된 시간 필터들(204)로서, 각 분해 레벨의 상기 저대역 통과 프레임들은 그 분해 레벨의 상기 고대역 통과 프레임들을 사용하여 생성되는, 상기 모션 보상된 시간 필터들(204); 및
    네트워크(106)를 통한 전송을 위해 상기 고대역 통과 프레임들 및 상기 저대역 통과 프레임들을 압축하도록 동작 가능한 인코더(208)를 포함하는, 비디오 인코더.
  8. 제7항에 있어서,
    상기 모션 보상된 시간 필터들(204)에 의해 사용되는 하나 이상의 오버컴플릿 웨이블렛 확장들을 생성하도록 동작 가능한 저대역 시프터(206)로서, 상기 모션 보상된 시간 필터들(204)은 하나 이상의 모션 벡터들을 생성하도록 또한 동작 가능한, 상기 저대역 시프터(206);
    상기 하나 이상의 모션 벡터들을 압축하도록 동작 가능한 제2 인코더(210); 및
    상기 압축된 고대역 통과 프레임들, 저대역 통과 프레임들, 및 하나 이상의 모션 벡터들을 출력 비트스트림(220)으로 다중화하도록 동작 가능한 멀티플렉서(212)를 더 포함하는, 비디오 인코더.
  9. 제8항에 있어서, 상기 저대역 시프터(206)는,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙함으로써,
    상기 오버컴플릿 웨이블렛 확장을 생성하도록 동작 가능하며,
    상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 비디오 인코더.
  10. 비디오 스트림(220)을 압축 해제하기 위한 비디오 디코더(118)로서,
    상기 비디오 비트스트림(220) 내에 포함된 복수의 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 압축 해제하도록 동작 가능한 디코더(404);
    상기 비디오 프레임들과 연관된 복수의 웨이블렛 대역들을 생성하기 위해 상기 압축 해제된 고대역 통과 프레임들 및 저대역 통과 프레임들 중 적어도 일부를 프로세싱하도록 동작 가능한 복수의 역 모션 보상된 시간 필터들(408)로서, 상기 웨이블렛 대역들은 하나 이상의 분해 레벨들과 연관되고, 상기 웨이블렛 대역들은 최저 분해 레벨들에서 시작하여 생성되는, 상기 역 모션 보상된 시간 필터들(408); 및
    상기 웨이블렛 대역들을 하나 이상의 복구된 비디오 프레임들로 변환하도록 동작 가능한 웨이블렛 변환기(410)를 포함하는, 비디오 디코더.
  11. 제10항에 있어서,
    상기 비트스트림으로부터 하나 이상의 압축된 모션 벡터들 및 상기 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 역다중화하도록 동작 가능한 디멀티플렉서(402);
    상기 하나 이상의 압축된 모션 벡터들을 압축 해제하도록 동작 가능한 제2 디코더(406)로서, 상기 역 모션 보상된 시간 필터들(408)은 상기 하나 이상의 모션 벡터들을 사용하여 상기 웨이블렛 대역들을 생성하도록 동작 가능한, 상기 제 2 디코더(406); 및
    하나 이상의 오버컴플릿 웨이블렛 확장들을 생성하도록 동작 가능한 저대역 시프터(412)로서, 상기 하나 이상의 오버컴플릿 웨이블렛 확장들은 상기 역 모션 보상된 시간 필터들(408)에 의해 사용되는, 상기 저대역 시프터(412)를 더 포함하는, 비디오 디코더.
  12. 제11항에 있어서, 상기 저대역 시프터(412)는,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙함으로써,
    상기 오버컴플릿 웨이블렛 확장을 생성하도록 동작 가능하고,
    상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 비디오 디코더.
  13. 비디오 송신기(102)로서,
    비디오 프레임들의 스트림을 제공하도록 동작 가능한 비디오 프레임 소스(108);
    상기 비디오 프레임들을 압축하도록 동작 가능한 비디오 인코더(110)로서,
    복수의 비디오 프레임들 각각을 하나 이상의 분해 레벨들의 복수의 웨이블렛 대역들로 변환하도록 동작 가능한 웨이블렛 변환기(202);
    상기 웨이블렛 대역들 중 적어도 일부를 프로세싱하고 복수의 고대역 통과 프레임들 및 복수의 저대역 통과 프레임들을 생성하도록 동작 가능한 복수의 모션 보상된 시간 필터들(204)로서, 각 분해 레벨의 상기 저대역 통과 프레임들은 그 분해 레벨의 상기 고대역 통과 프레임들을 사용하여 생성되는, 상기 모션 보상된 시간 필터들(204); 및
    상기 고대역 통과 프레임들 및 상기 저대역 통과 프레임들을 압축하도록 동작 가능한 인코더(208)를 포함하는 상기 비디오 인코더(110); 및
    네트워크(106)를 통한 송신을 위해 상기 압축된 비디오 프레임들을 수신 및 저장하도록 동작 가능한 버퍼(112)를 포함하는, 비디오 송신기.
  14. 제13항에 있어서, 상기 비디오 인코더(110)는 상기 모션 보상된 시간 필터들(204)에 의해 사용되는 하나 이상의 오버컴플릿 웨이블렛 확장들을 생성하도록 동작 가능한 저대역 시프터(206)를 더 포함하고, 상기 저대역 시프터(206)는,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙함으로써, 상기 오버컴플릿 웨이블렛 확장을 생성하도록 동작 가능하고, 상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 비디오 송신기.
  15. 비디오 수신기(104)로서,
    비디오 비트스트림을 수신 및 저장하도록 동작 가능한 버퍼(116);
    상기 비디오 비트스트림을 압축 해제하고 복구된 비디오 프레임들을 생성하도록 동작 가능한 비디오 디코더(118)로서,
    상기 비트스트림 내에 포함된 복수의 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 압축 해제하도록 동작 가능한 디코더(404);
    상기 비디오 프레임들과 연관된 복수의 웨이블렛 대역들을 생성하기 위해 상기 압축 해제된 고대역 통과 프레임들 및 저대역 통과 프레임들 중 적어도 일부를 프로세싱하도록 동작 가능한 복수의 역 모션 보상된 시간 필터들(408)로서, 상기 웨이블렛 대역들은 하나 이상의 분해 레벨들과 연관되고, 상기 웨이블렛 대역들은 최저 분해 레벨들에서 시작하여 생성되는, 상기 역 모션 보상된 시간 필터들(408); 및
    상기 웨이블렛 대역들을 하나 이상의 복구된 비디오 프레임들로 변환하도록 동작 가능한 웨이블렛 변환기(410)를 포함하는, 상기 비디오 디코더(118); 및
    상기 복구된 비디오 프레임들을 표시하도록 동작 가능한 비디오 디스플레이(120)를 포함하는, 비디오 수신기.
  16. 제15항에 있어서, 상기 비디오 디코더(118)는, 상기 역 모션 보상된 시간 필터들(204)에 의해 사용되는 하나 이상의 오버컴플릿 웨이블렛 확장들을 생성하도록 동작 가능한 저대역 시프터(412)를 더 포함하고, 상기 저대역 시프터(418)는,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙함으로써, 상기 오버컴플릿 웨이블렛 확장을 생성하도록 동작 가능하고, 상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 비디오 수신기.
  17. 컴퓨터 판독 가능 매체 상에서 구현되고 프로세서에 의해 실행되는 컴퓨터 프로그램으로서,
    복수의 비디오 프레임들 각각을 하나 이상의 분해 레벨들의 복수의 웨이블렛 대역들로 변환하고;
    복수의 고대역 통과 프레임들 및 복수의 저대역 통과 프레임들을 생성하기 위해 적어도 일부의 상기 웨이블렛 대역들에 대해 모션 보상된 시간 필터링을 수행하고,
    네트워크(106)를 통한 전송을 위해 상기 고대역 통과 프레임들 및 상기 저대역 통과 프레임들을 압축하기 위한 컴퓨터 판독 가능 프로그램 코드를 포함하고, 각 분해 레벨의 상기 저대역 통과 프레임들은 상기 분해 레벨의 상기 고대역 통과 프레임들을 사용하여 생성되는, 컴퓨터 프로그램.
  18. 컴퓨터 판독 가능 매체 상에서 구현되고 프로세서에 의해 실행되는 컴퓨터 프로그램으로서,
    비디오 비트스트림(220) 내에 포함된 복수의 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 압축 해제하고;
    상기 비디오 프레임들과 연관된 복수의 웨이블렛 대역들을 생성하기 위해 상기 압축 해제된 고대역 통과 프레임들 및 저대역 통과 프레임들 중 적어도 일부에 역 모션 보상된 시간 필터링을 수행하고,
    상기 웨이블렛 대역들을 하나 이상의 복구된 비디오 프레임들로 변환하기 위한 컴퓨터 판독 가능 프로그램 코드를 포함하고, 상기 웨이블렛 대역들은 하나 이상의 분해 레벨들과 연관되고, 상기 웨이블렛 대역들은 최저 분해 레벨들에서 시작하여 생성되는, 컴퓨터 프로그램.
  19. 전송 가능한 비디오 신호로서,
    복수의 비디오 프레임들 각각을 하나 이상의 분해 레벨들의 복수의 웨이블렛 대역들로 변환하는 단계;
    복수의 고대역 통과 프레임들 및 복수의 저대역 통과 프레임들을 생성하기 위해 적어도 일부의 상기 웨이블렛 대역들에 대해 모션 보상된 시간 필터링을 수행하는 단계로서, 각 분해 레벨의 상기 저대역 통과 프레임들은 상기 분해 레벨의 상기 고대역 통과 프레임들을 사용하여 생성되는, 상기 필터링 수행 단계; 및
    네트워크(106)를 통한 전송을 위해 상기 고대역 통과 프레임들 및 상기 저대역 통과 프레임들을 압축하는 단계에 의해 생성된, 전송 가능한 비디오 신호.
  20. 제19항에 있어서, 상기 저대역 시프터는,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙함으로써, 상기 오버컴플릿 웨이블렛 확장을 생성하도록 동작 가능하고, 상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 비디오 수신기.
  21. 컴퓨터 판독 가능 매체 상에서 구현되고 프로세서에 의해 실행되는 컴퓨터 프로그램으로서,
    복수의 비디오 프레임들 각각을 하나 이상의 분해 레벨들의 복수의 웨이블렛 대역들로 변환하고;
    복수의 고대역 통과 프레임들 및 복수의 저대역 통과 프레임들을 생성하기 위해 적어도 일부의 상기 웨이블렛 대역들에 대해 모션 보상된 시간 필터링을 수행하고,
    네트워크를 통한 전송을 위해 상기 고대역 통과 프레임들 및 상기 저대역 통과 프레임들을 압축하기 위한 컴퓨터 판독 가능 프로그램 코드를 포함하고, 각 분해 레벨의 상기 저대역 통과 프레임들은 상기 분해 레벨의 상기 고대역 통과 프레임들을 사용하여 생성되는, 컴퓨터 프로그램.
  22. 제21항에 있어서,
    상기 모션 보상된 시간 필터링 동안 사용되는 하나 이상의 오버컴플릿 웨이블렛 확장을 생성하고;
    상기 모션 보상된 시간 필터링 동안에 하나 이상의 모션 벡터들을 생성하고;
    상기 하나 이상의 모션 벡터들을 압축하고;
    상기 압축된 고대역 통과 프레임들, 저대역 통과 프레임들, 및 하나 이상의 모션 벡터들을 출력 비트스트림으로 다중화하기 위한 컴퓨터 판독 가능 프로그램 코드를 더 포함하는, 컴퓨터 프로그램.
  23. 제22항에 있어서, 하나 이상의 오버컴플릿 웨이블렛 확장들을 생성하기 위한 상기 컴퓨터 판독 가능 프로그램 코드는,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙하기 위한 컴퓨터 판독 가능 프로그램 코드를 포함하고, 상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 컴퓨터 프로그램.
  24. 컴퓨터 판독 가능 매체 상에서 구현되고 프로세서에 의해 실행되는 컴퓨터 프로그램으로서,
    복수의 비디오 프레임들과 연관된 포함된 복수의 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 압축 해제하고;
    상기 비디오 프레임들과 연관된 복수의 웨이블렛 대역들을 생성하기 위해 상기 압축 해제된 고대역 통과 프레임들 및 저대역 통과 프레임들 중 적어도 일부에 역 모션 보상된 시간 필터링을 수행하고,
    상기 웨이블렛 대역들을 하나 이상의 복구된 비디오 프레임들로 변환하기 위한 컴퓨터 판독 가능 프로그램 코드를 포함하고, 상기 웨이블렛 대역들은 하나 이상의 분해 레벨들과 연관되고, 상기 웨이블렛 대역들은 최저 분해 레벨들에서 시작하여 생성되는, 컴퓨터 프로그램.
  25. 제24항에 있어서,
    상기 비트스트림으로부터 하나 이상의 압축된 모션 벡터들 및 상기 압축된 고대역 통과 프레임들 및 저대역 통과 프레임들을 역다중화하고;
    상기 하나 이상의 압축된 모션 벡터들을 압축 해제하고;
    하나 이상의 오버컴플릿 웨이블렛 확장들을 생성하기 위한 컴퓨터 판독 가능 프로그램 코드를 포함하고, 상기 하나 이상의 압축된 모션 벡터들은 상기 역 모션 보상된 시간 필터링 동안 사용되고, 상기 하나 이상의 오버컴플릿 웨이블렛 확장들은 상기 역 모션 보상된 시간 필터링 동안 사용되는, 컴퓨터 프로그램.
  26. 제25항에 있어서, 하나 이상의 오버컴플릿 웨이블렛 확장을 생성하기 위한 상기 컴퓨터 판독 가능 프로그램 코드는,
    복수의 시프트된 웨이블렛 대역들을 생성하기 위해 상기 웨이블렛 대역들 중 특정의 대역을 복수회 시프트시키고,
    오버컴플릿 웨이블렛 확장을 나타내는 한 세트의 오버컴플릿 웨이블렛 계수들을 생성하기 위해 상기 특정의 웨이블렛 대역의 웨이블렛 계수들과 상기 시프트된 웨이블렛 대역들 각각의 웨이블렛 계수들을 인터리빙하기 위한 컴퓨터 판독 가능 프로그램 코드를 포함하고, 상기 시프트된 웨이블렛 대역들 각각은 서로 다르게 시프트되는, 컴퓨터 프로그램.
  27. 전송 가능한 비디오 신호로서,
    복수의 비디오 프레임들 각각을 하나 이상의 분해 레벨들의 복수의 웨이블렛 대역들로 변환하는 단계;
    복수의 고대역 통과 프레임들 및 복수의 저대역 통과 프레임들을 생성하기 위해 적어도 일부의 상기 웨이블렛 대역들에 대해 모션 보상된 시간 필터링을 수행하는 단계로서, 각 분해 레벨의 상기 저대역 통과 프레임들은 상기 분해 레벨의 상기 고대역 통과 프레임들을 사용하여 생성되는, 상기 필터링 수행 단계; 및
    네트워크를 통한 전송을 위해 상기 고대역 통과 프레임들 및 상기 저대역 통과 프레임들을 압축하는 단계에 의해 생성된, 전송 가능한 비디오 신호.
KR1020057015785A 2003-02-25 2004-02-23 오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간필터링을 사용하는 3차원 웨이블렛 비디오 코딩 KR20050105246A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US44969603P 2003-02-25 2003-02-25
US60/449,696 2003-02-25
US48295403P 2003-06-27 2003-06-27
US60/482,954 2003-06-27

Publications (1)

Publication Number Publication Date
KR20050105246A true KR20050105246A (ko) 2005-11-03

Family

ID=32930520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057015785A KR20050105246A (ko) 2003-02-25 2004-02-23 오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간필터링을 사용하는 3차원 웨이블렛 비디오 코딩

Country Status (5)

Country Link
US (1) US20060146937A1 (ko)
EP (1) EP1600002A1 (ko)
JP (1) JP2006521039A (ko)
KR (1) KR20050105246A (ko)
WO (1) WO2004077834A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060024449A (ko) * 2003-06-30 2006-03-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 오버컴플릿 웨이브릿 도메인에서 비디오 코딩
US20050201468A1 (en) * 2004-03-11 2005-09-15 National Chiao Tung University Method and apparatus for interframe wavelet video coding
US8340177B2 (en) 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
FR2873256A1 (fr) * 2004-07-13 2006-01-20 France Telecom Procede et dispositif de densification de champ de mouvement
KR100732961B1 (ko) 2005-04-01 2007-06-27 경희대학교 산학협력단 다시점 영상의 스케일러블 부호화, 복호화 방법 및 장치
EP1727372A1 (en) * 2005-05-27 2006-11-29 Thomson Licensing Method and apparatus for encoding and decoding video data,
FR2886787A1 (fr) * 2005-06-06 2006-12-08 Thomson Licensing Sa Procede et dispositif de codage et de decodage d'une sequence d'images
US7848584B2 (en) * 2005-09-08 2010-12-07 Monro Donald M Reduced dimension wavelet matching pursuits coding and decoding
US8121848B2 (en) * 2005-09-08 2012-02-21 Pan Pacific Plasma Llc Bases dictionary for low complexity matching pursuits data coding and decoding
US20070065034A1 (en) * 2005-09-08 2007-03-22 Monro Donald M Wavelet matching pursuits coding and decoding
US7813573B2 (en) * 2005-09-08 2010-10-12 Monro Donald M Data coding and decoding with replicated matching pursuits
US20070053603A1 (en) * 2005-09-08 2007-03-08 Monro Donald M Low complexity bases matching pursuits data coding and decoding
US8755440B2 (en) * 2005-09-27 2014-06-17 Qualcomm Incorporated Interpolation techniques in wavelet transform multimedia coding
KR100791453B1 (ko) 2005-10-07 2008-01-03 성균관대학교산학협력단 움직임보상 시간축 필터링을 이용한 다시점 비디오 부호화및 복호화 방법 및 장치
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
CN102510492A (zh) * 2011-09-13 2012-06-20 海南大学 一种基于三维dwt和dft在视频中嵌入多重水印的方法
CN112995637B (zh) * 2021-03-10 2023-02-28 湘潭大学 一种基于三维离散小波变换的多剖面医学图像压缩方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5777678A (en) * 1995-10-26 1998-07-07 Sony Corporation Predictive sub-band video coding and decoding using motion compensation
JP3518717B2 (ja) * 1996-09-20 2004-04-12 ソニー株式会社 動画像符号化装置および方法、並びに動画像復号化装置および方法
TW573433B (en) * 2000-12-20 2004-01-21 Pulsent Corp Efficiently adaptive double pyramidal coding
US7512180B2 (en) * 2003-06-25 2009-03-31 Microsoft Corporation Hierarchical data compression system and method for coding video data

Also Published As

Publication number Publication date
JP2006521039A (ja) 2006-09-14
US20060146937A1 (en) 2006-07-06
EP1600002A1 (en) 2005-11-30
WO2004077834A1 (en) 2004-09-10

Similar Documents

Publication Publication Date Title
KR20050105246A (ko) 오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간필터링을 사용하는 3차원 웨이블렛 비디오 코딩
KR100703760B1 (ko) 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
KR100763182B1 (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100703788B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
US20060008000A1 (en) Fully scalable 3-d overcomplete wavelet video coding using adaptive motion compensated temporal filtering
US20060159173A1 (en) Video coding in an overcomplete wavelet domain
US7042946B2 (en) Wavelet based coding using motion compensated filtering based on both single and multiple reference frames
US7023923B2 (en) Motion compensated temporal filtering based on multiple reference frames for wavelet based coding
US20030202599A1 (en) Scalable wavelet based coding using motion compensated temporal filtering based on multiple reference frames
JP2008506328A (ja) 基礎階層を利用するスケーラブルビデオコーディング方法および装置。
KR20060035541A (ko) 비디오 코딩 방법 및 장치
KR20050107488A (ko) 인터레이스된 디지털 비디오 데이터의 스케일러블 인코딩및 디코딩
US20070014356A1 (en) Video coding method and apparatus for reducing mismatch between encoder and decoder
KR20060109240A (ko) 인코더-디코더 간 불일치를 감소시키는 mctf 기반의비디오 코딩 방법 및 장치
US20060088100A1 (en) Video coding method and apparatus supporting temporal scalability
KR20040106418A (ko) 웨이브렛 부호화에 대한 다중 기준 프레임들에 기초한움직임 보상 시간 필터링
EP1905238A1 (en) Video coding method and apparatus for reducing mismatch between encoder and decoder
KR100577364B1 (ko) 적응형 프레임간 비디오 코딩방법, 상기 방법을 위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치
WO2006043754A1 (en) Video coding method and apparatus supporting temporal scalability

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid