KR101176650B1 - 3d 부-대역 코딩을 위한 내장형 기본 계층 코덱 - Google Patents

3d 부-대역 코딩을 위한 내장형 기본 계층 코덱 Download PDF

Info

Publication number
KR101176650B1
KR101176650B1 KR1020050062658A KR20050062658A KR101176650B1 KR 101176650 B1 KR101176650 B1 KR 101176650B1 KR 1020050062658 A KR1020050062658 A KR 1020050062658A KR 20050062658 A KR20050062658 A KR 20050062658A KR 101176650 B1 KR101176650 B1 KR 101176650B1
Authority
KR
South Korea
Prior art keywords
sub
band
base layer
video
decoder
Prior art date
Application number
KR1020050062658A
Other languages
English (en)
Other versions
KR20060092824A (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 KR20060092824A publication Critical patent/KR20060092824A/ko
Application granted granted Critical
Publication of KR101176650B1 publication Critical patent/KR101176650B1/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/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • 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/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/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
    • 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/62Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
    • 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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

확장가능한 비디오 코딩 및 디코딩을 위한 기술 및 도구들이 개시된다. 예컨대, 3D 부-대역 비디오 인코더는 내장된 기본 계층 코덱뿐 아니라, 시간 부-대역 변환 및 공간 부-대역 변환을 포함한다. 부-대역 변환들 간에서의 기본 계층 코덱의 배치 및 확장가능한 비디오 코딩에서의 기본 계층 코덱의 역할은 구현예에 따라 다르다. 일반적으로, 기본 계층 코덱은 저 비트율의 효율적 압축을 제공하며 기존의 디코더에서도 호환가능한 기본 계층 압축된 비디오 비트 스트림을 생성한다. 동시에, 3D 부-대역 비디오 인코더는 고 비트율의 공간 및 시간 확장성 옵션을 제공한다. 대응하는 3D 부-대역 비디오 디코더는 내장된 기본 계층 디코더를 포함한다.
Figure R1020050062658
3D 부-대역 비디오 인코더, 시간 부-대역 변환, 공간 부-대역 변환, 공간 확장성, 시간 확장성

Description

3D 부-대역 코딩을 위한 내장형 기본 계층 코덱{EMBEDDED BASE LAYER CODEC FOR 3D SUB-BAND CODING}
도 1은 확장가능한 비디오 코딩 및 디코딩을 위한 일반화된 운영 환경의 블록도.
도 2, 3, 4, 5는 본 명세서에 개시된 다양한 실시예들에 관련하여 구현될 수 있는 일반화된 비디오 인코더 및/또는 디코더의 블록도.
도 6은 움직임 보상된 시간 필터링("MCTF")에서의 시간 하이 패스 프레임, 시간 로우 패스 프레임 및 입력 비디오 프레임 간의 관계를 나타낸 도면.
도 7 및 도 8은 인코더 내에서의 MCTF와 디코더 내에서의 역 MCTF(IMCTF)를 각각 도시한 블록도.
도 9 및 도 10은 인코더 내에서의 적응형 업데이트 단계를 갖는 MCTF와 디코더 내에서의 적응형 업데이트 단계를 갖는 IMCTF를 각각 도시한 블록도.
도 11, 12 및 13은 적응형 업데이트 동작을 위한 기술을 나타낸 흐름도.
도 14, 15, 16, 17, 18 및 19는 3D 부-대역 인코더 내에 기본 계층 코덱을 내장하거나, 3D 부-대역 디코더 내에 기본 계층 디코더를 내장하기 위한 상이한 방식들을 도시한 블록도.
도 20은 기본 계층 코덱 또는 디코더가 기준 후보들을 제공할 때의 상이한 기준 프레임 조합들을 나타낸 도면.
도 21, 22 및 23은 3D 부-대역 코덱 및 내장된 기본 계층 코덱으로 인코딩하기 위한 프레임들의 패턴을 나타낸 도면.
도 24는 내장된 기본 계층 코덱을 갖는 3D 부-대역 인코더를 이용한 확장가능한 인코딩을 위한 기술을 도시하는 흐름도.
도 25는 내장된 기본 계층 디코더를 갖는 3D 부-대역 디코더를 이용한 확장가능한 디코딩을 위한 기술을 도시하는 흐름도.
도 26은 낮은 공간 해상도에서의 출력에 대하여 SDMCTF-인코딩된 비디오를 디코딩하기 위한 두 가지 방식을 도시하는 블록도.
도 27은 SDIMCTF 및 IBIMCTF에서 움직임 보상된 예측을 도시하는 도면.
도 28은 움직임 이동으로 인한 전력 스펙트럼 누출을 도시하는 그래픽 도면.
도 29는 낮은 공간 해상도에서의 출력에 대하여 SDMCTF-인코딩된 비디오를 디코딩하기 위한 베이스라인 방식(baseline scheme)을 도시하는 도면.
도 30은 낮은 공간 해상도에서의 출력에 대하여 SDMCTF-인코딩된 비디오를 디코딩하기 위한 일반화 방식을 도시하는 블록도.
도 31, 32, 33 및 34는 낮은 공간 해상도에서의 출력에 대하여 SDMCTF-인코딩된 비디오를 디코딩하기 위한 방식을 도시하는 도면들.
<도면의 주요부분에 대한 부호의 설명>
1800: 인코더
1810: DS
1820: 코덱
1830: US
1895: 기본 계층 비트 스트림
[문헌 1] 미국 특허 가출원 제60/587,797호 (2004년 7월 12일 출원)
확장가능한 비디오 코딩 및 디코딩을 위한 기술 및 도구가 기술된다. 예를 들어, 3D 부-대역 비디오 인코더는 내장된 기본 계층 코덱을 포함하고, 3D 부-대역 비디오 디코더는 내장된 기본 계층 디코더를 포함한다.
디지털 비디오는 대량의 저장 및 전송 용량을 소비한다. 통상적인 미가공 디지털 비디오 시퀀스는 초당 15 또는 30 프레임을 포함한다. 각각의 프레임은 수만 또는 수십만 개의 픽셀('펠(pels)'이라고도 함)을 포함할 수 있으며, 각각의 픽셀은 화상의 작은 요소를 표현한다. 미가공 형태에서, 컴퓨터는 한 픽셀을 통상적으로 총 24비트인 3개의 샘플의 세트로서 표현한다. 예를 들어, 픽셀은 픽셀의 계조 성분을 정의하는 8비트 휘도 샘플(luminance sample)(루마(luma) 샘플이라고도 하며, 본 명세서에서 "휘도"와 "루마"라는 용어는 상호교환적으로 사용됨)과, 픽셀의 색 성분을 정의하는 2개의 8비트 색차 샘플(chrominance sample)(크로마(chroma) 샘플이라고도 하며, 본 명세서에서 "색차"와 "크로마"라는 용어는 상호교 환적으로 사용됨)을 포함할 수 있다. 따라서, 통상적인 미가공 디지털 비디오 시퀀스의 초당 비트 수, 즉 비트레이트는 초당 5백만 비트 이상이 될 수 있다.
많은 컴퓨터 및 컴퓨터 네트워크는 미가공 디지털 비디오를 처리하기 위한 자원을 갖고 있지 않다. 따라서, 기술자들은 디지털 비디오의 비트레이트를 감소시키기 위해 압축(코딩 또는 인코딩이라고도 함)을 사용한다. 압축은 비디오를 보다 더 낮은 비트레이트를 갖는 형태로 변환함으로써, 비디오를 저장하고 전송하기 위한 비용을 감소시킨다. 압축해제(디코딩이라고도 함)는 압축된 형태로부터 원본 비디오의 버전을 재구성한다. "코덱"은 인코더/디코더 시스템이다. 압축은, 비디오의 품질이 손상되지는 않지만 비디오 데이터의 고유한 가변성(엔트로피라고도 함)의 정도에 의해 비트레이트의 감소가 제한되는 무손실 방식일 수 있다. 다르게는, 압축은 비디오의 품질은 손상되지만 보다 더 극적인 비트레이트 감소를 겪게 될 수 있는 손실 방식일 수 있다. 손실 압축은 주로 무손실 압축과 관련하여 사용된다. 즉, 손실 압축은 정보의 근사(approximation)를 확립하고, 무손실 압축은 그 근사를 표현하기 위해 적용된다.
비디오 압축에서의 일반적인 규칙으로서, 품질은 비트레이트에 직접적으로 관련하여 변화한다. 주어진 비디오 시퀀스에 대하여, 시퀀스가 보다 더 높은 품질로 인코딩되면 그 시퀀스의 비트레이트가 더 높아질 것이고, 시퀀스가 보다 더 낮은 품질로 인코딩되면 그 시퀀스의 비트레이트가 더 낮아질 것이다. 시간 해상도(예를 들어, 초당 7.5, 15, 30 또는 60 비디오 프레임), 공간 해상도(예를 들어, 비디오 프레임당 176 ×144(QCIF), 352 ×288(CIF) 또는 704 ×576(4CIF) 픽셀), 및 샘플 해상도(예를 들어, 픽셀당 8, 16 또는 24비트)를 비롯한 다양한 요인들이 미가공 비디오 시퀀스의 비트레이트와 품질에 영향을 줄 수 있다. 품질 및 비트레이트는 시간, 공간 및/또는 샘플 해상도를 상향 또는 하향 조정함으로써 변경될 수 있다.
또한, 품질 및 비트레이트는 손실 압축 동안의 정보 내용의 간단화(simplification) 또는 제거에 의해 도입된 왜곡(distortion)의 양에도 의존한다. 이것은 예를 들어 재구성 시에 비디오 내의 흐릿함(blurriness), 농담의 불균일함(blockiness), 불선명함(graininess) 등의 정도에 영향을 준다. 즉, 손실 압축은 인코더가 보다 더 낮은 비트레이트를 달성할 수 있게 해 주기 위하여 시퀀스의 품질을 감소시킨다.
다른 일반적인 규칙으로서, 품질 및 비트레이트는 디테일(detail) 및 움직임(motion)에 관련된 비디오 시퀀스의 복잡성(complexity)에 의존한다. 소정의 고정된 품질 레벨에 대하여, 통상적으로 복잡한 시퀀스는 단순한 시퀀스를 인코딩할 때보다 더 많은 비트를 필요로 한다. 반대로, 소정의 고정된 비트레이트로 인코딩될 때, 통상적으로 복잡한 시퀀스는 단순한 시퀀스보다 더 낮은 품질을 갖는다.
소정의 시나리오에서, 단일의 비트레이트/품질 레벨로만 비디오를 인코딩하면 되는 경우가 있다. 예를 들어, 비디오가 한 종류의 장치를 이용한 재생을 위하여 인코딩되고 있는 경우, 또는 비디오가 전화 회선을 통한 점-대-점 화상 회의에서의 재생을 위하여 인코딩되고 있는 경우, 비디오를 단일의 비트레이트/품질 레벨로 간단하게 인코딩하는 것이 바람직할 수 있다. 그러나, 많은 다른 시나리오에서 는, 비디오를 여러 비트레이트 및 품질 레벨로 인코딩하는 것이 바람직하다. 예를 들어, 인터넷을 통하여 비디오를 스트리밍할 때, 비디오 서버가 상이한 능력들을 갖는 장치들에 비디오를 제공하거나, 상이한 속도 또는 신뢰도 특성을 갖는 다양한 종류의 네트워크 환경을 거쳐 비디오를 전달해야 할 경우가 많이 있다.
다양한 네트워크 및 재생 요구조건을 다루기 위한 한가지 방법은 동일한 비디오 시퀀스를 여러 비트레이트 및 품질 레벨로 인코딩하는 것으로서, 이것은 다수의 독립적인 압축 비디오 비트스트림에 대한 저장 및 전송의 비효율성을 유발한다. 대안으로서, 부-대역(sub-band) 또는 웨이블릿(wavelet) 비디오 인코딩은 비디오 시퀀스를 다중해상도 방식(multi-resolution way)으로 단일의 확장가능한 압축 비디오 비트스트림으로 인코딩한다. 부-대역 또는 웨이블릿 인코딩을 이용하면, 비디오 시퀀스는 상이한 시간 및 공간 부-대역들로 분해된다.
간단한 예를 들면, 비디오 시퀀스는 낮은 해상도의 시간 부-대역(대체로 시퀀스의 낮은 프레임레이트 버전에 해당함)과 높은 해상도의 시간 부-대역(원래 프레임레이트의 시퀀스를 재구성하기 위하여 낮은 해상도의 시간 부-대역과 조합될 수 있음)으로 분할된다. 개별 비디오 프레임을 위한 정보도 마찬가지로 낮은 해상도의 공간 부-대역과 다수의 높은 해상도의 공간 부-대역들로 분해될 수 있다. 시간 분해와 공간적 분해가 함께 사용될 수 있다. 예를 들어 낮은 해상도의 부-대역이 더 분해되도록, 어떤 종류의 분해든 반복될 수 있다. 상이한 해상도들에서의 전송 또는 디코딩을 위하여 특정 부-대역을 선택함으로써, 시간 및 공간적 확장성이 구현될 수 있다.
또한, 개별 부-대역을 위한 정보는 다수의 비트 해상도 계층을 갖는 비트 평면으로서 표현될 수 있다. 원래의 인코딩된 정보에 대한 충실도는, 부-대역에 대한 비트들의 전부가 아닌 일부만을 전송함으로써 (비트레이트와 함께) 선택적으로 감소될 수 있다. 다르게는, 충실도는 부-대역에 대한 비트들의 전부가 아닌 일부만을 디코딩함으로써 (처리 요구조건과 함께) 선택적으로 감소될 수 있다.
확장가능한 비디오 코딩 및 디코딩 기술이 압축된 비트 스트림의 다양한 공간적, 시간 및 비트 충실도 확장성을 용이하게 해 주긴 하지만, 기존의 확장가능한 비디오 코딩 및 디코딩 기술에는 몇 가지 단점이 있다.
기존의 확장가능한 비디오 코딩 및 디코딩 기술은 통상적으로 낮은 비트레이트에서 확장불가능한 기술에 필적할만한 성능을 제공하지 않는다. 확장가능한 비디오 코딩 및 디코딩 기술의 성능은 높은 비트레이트 및 품질에서는 양호하지만, 이 기술은 낮은 비트레이트에서는 확장불가능한 비디오 코딩 및 디코딩 기술에 비하여 지나치게 많은 비트를 사용한다.
또한, 많은 기존의 하드웨어 및 소프트웨어 도구들은 특정한 확장불가능한 비디오 코딩 및 디코딩 기술에 따라 설계되었다. 그러한 도구들의 사용자는 기존의 도구들과 호환되지 않는 새로운 확장가능한 비디오 코딩 및 디코딩 기술 및 도구에 투자하기를 꺼릴 것이다. 또한, 내용 제공자는 우세하게 설치되어 있는 비디오 디코딩 도구의 기준에 호환되지 않는 인코딩된 내용을 제공하기를 꺼릴 것이다.
때로는, 디코더는 원래의 공간 해상도보다 낮은 공간 해상도로 비디오를 재생한다. 이것은 예를 들어 디코더 장치가 작은 스크린만을 갖거나, 보다 높은 공 간 해상도 정보가 네트워크에서 누락된 경우에 발생할 수 있다. 그러나, 인코딩 동안 원래의 공간 해상도에서 시간 분해가 발생한 경우, 낮은 공간 해상도에서의 디코딩은 문제를 유발한다. 기존의 확장가능한 비디오 디코딩 기술은 이러한 디코딩 시나리오에는 적절하게 대처하지 못한다.
마지막으로, 기존의 확장가능한 비디오 코딩 및 디코딩 기술은 인코딩 및 디코딩 동안의 특정한 판정에서 왜곡의 인지가능성(perceptibility)을 설명하지 못한다. 구체적으로는, 기존의 확장가능한 비디오 코딩 기술은 소정 종류의 시간 분해에서 낮은 해상도의 시간 부-대역 내의 과도한 양의 인지가능한 왜곡을 도입한다.
디지털 비디오에 있어서 압축 및 압축해제가 결정적으로 중요하다고 할 때, 확장가능한 비디오 코딩 및 디코딩이 풍부하게 개발되는 분야라는 것은 놀랍지 않다. 그러나, 이전의 확장가능한 비디오 코딩 및 디코딩 기술들이 어떠한 이점을 갖든지 간에, 그 기술들은 아래의 기술 및 도구들의 이점은 갖지 않는다.
여기에 설명되는 기술 및 도구는 확장가능한 비디오 코딩 및 디코딩의 성능을 개선한다. 예를 들어, 3D 부-대역 비디오 인코더는 내장된 기본 계층 코덱을 포함한다. 기본 계층 코덱은 낮은 비트레이트에서의 효율적인 압축 및 기존 디코더와의 기본 계층 호환성을 비롯한 여러 이점을 제공한다. 이와 동시에, 3D 부-대역 비디오 인코더는 보다 더 높은 비트레이트의 공간적 및 시간 확장성 옵션을 제공한다. 대응하는 3D 부-대역 비디오 디코더는 내장된 기본 계층 디코더를 포함한다.
제1 세트의 도구 및 기술에 따르면, 기본 계층 코덱이 내장되어 있는 3D 부-대역 비디오 인코더는 비디오를 인코딩하고, 그 인코딩의 결과를 출력한다. 예를 들어, 기본 계층 코덱은 3D 부-대역 인코더 내에서 하나 이상의 시간 변환에 후속하고, 그 인코더 내에서 하나 이상의 다른 시간 변환에 선행한다. 기본 계층 코덱 이후의 시간 변환(들)은, 기본 계층 코덱에 대한 입력과 기본 계층 코덱으로부터의 출력 간의 차이에 기초하는 오차 정보(residual information)에 적용될 수 있다. 다르게는, 시간 변환은 기본 계층 코덱으로부터의 출력 내의 기준 화상들에 대하여, 움직임 보상된 시간 필터링을 포함할 수 있다. 일부 실시예에서, 3D 부-대역 인코더는 기본 계층 코덱으로부터의 움직임 정보 및/또는 모드 정보를 재사용한다.
제2 세트의 도구 및 기술에 따르면, 기본 계층 디코더가 내장되어 있는 3D 부-대역 비디오 디코더는 비디오를 디코딩하고, 그 디코딩의 결과를 출력한다. 예를 들어, 기본 계층 디코더는 3D 부-대역 디코더 내에서 하나 이상의 시간 역변환에 후속하고, 디코더 내에서 하나 이상의 다른 시간 역변환에 선행한다. 기본 계층 디코더에 후속하는 시간 역변환(들)은 오차 정보에 적용될 수 있으며, 이것은 나중에 기본 계층 디코더로부터의 출력에 결합된다. 다르게는, 시간 역변환은 기본 계층 디코더로부터의 출력 내의 기준 화상들에 대하여, 움직임 보상된 시간 역필터링을 포함할 수 있다. 일부 실시예에서, 3D 부-대역 디코더는 기본 계층 디코더로부터의 움직임 정보 및/또는 모드 정보를 재사용한다.
상기에 언급한 것과 그 이외의 본 발명의 목적, 특징 및 이점들은, 첨부 도면들을 참조로 한 이하의 상세한 설명에 의해 분명해질 것이다.
3차원("3D") 웨이블릿 또는 부-대역 비디오 코딩에서, 비디오는 많은 시간 변환 및 공간 변환을 통해 여러 시공간(temporal-spatial) 부-대역으로 분해된다. 부-대역은 그들 중 몇몇이 확장성(scalability)을 위해 드롭(drop)될 수 있다는 점에서 다소 독립적이다. 예를 들어, 낮은 공간 해상도 비디오를 디코딩하기 위하여, 공간 하이 패스 부-대역들(spatial high-pass sub-bands)이 드롭되고, 디코더는 공간 로우 패스 부-대역들(spatial low-pass sub-bands)에서 수신된 데이터만을 이용하여 디코딩을 수행한다.
본 발명에 기술된 다양한 기술 및 도구는 독립적으로 사용될 수 있다. 기술 및 도구 중 몇몇이 (예를 들어, 통합된 인코딩 및/또는 디코딩 프로세스의 상이한 단계들에서) 함께 사용될 수 있다.
I. 예시적인 운영 환경
도 1은 기술된 실시예들 중 몇몇이 구현될 수 있는 적합한 컴퓨팅 환경(100)의 일반적인 예를 도시한다. 설명된 기술 및 도구는 다양한 범용 또는 특수 목적의 컴퓨팅 환경에서 구현될 수 있기 때문에, 컴퓨팅 환경(100)은 사용 또는 기능의 범위에 대하여 어떠한 제한을 제시하기 위한 것이 아니다.
도 1을 참조하면, 컴퓨팅 환경(100)은 적어도 하나의 처리 장치(110) 및 메모리(120)를 포함한다. 도 1에서, 이러한 가장 기본적인 구성(130)이 점선 내에 포함된다. 처리 장치(110)는 컴퓨터-실행가능 명령어들을 실행하며, 실제 또는 가상 프로세서일 수 있다. 멀티-프로세싱 시스템에서, 프로세싱 능력을 증가시키기 위하여 다수의 처리 장치가 컴퓨터-실행가능 명령어들을 실행한다. 메모리(120)는 휘발성 메모리(예를 들어, 레지스터, 캐시, RAM), 비휘발성 메모리(예를 들어, ROM, EEPROM, 플래시 메모리 등), 또는 둘의 소정의 조합일 수 있다. 메모리(120)는 본 발명에 설명된 기술들 중 하나 이상을 사용하는 비디오 인코더 및/또는 디코더를 구현하는 소프트웨어(180)를 저장한다.
컴퓨팅 환경은 부가적인 특성들을 가질 수 있다. 예를 들어, 컴퓨팅 환경(100)은 저장 장치(140), 하나 이상의 입력 장치(150), 하나 이상의 출력 장치(160) 및 하나 이상의 통신 연결(170)을 포함한다. 버스, 제어기 또는 네트워크와 같은 상호연결 메커니즘(도시 생략)은 컴퓨팅 환경(100)의 컴포넌트들을 상호연결한다. 통상적으로, 운영 시스템 소프트웨어(도시 생략)는 컴퓨팅 환경(100)에서 실행되는 기타 소프트웨어에 대한 운영 환경을 제공하고, 컴퓨팅 환경(100)의 컴포넌트들의 동작을 조정한다.
저장 장치(140)는 분리형 또는 비분리형일 수 있으며, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD, 또는 정보를 저장하기 위해 사용될 수 있고 컴퓨팅 환경(100) 내에서 액세스될 수 있는 임의의 기타 매체를 포함한다. 저장 장치(140)는 소프트웨어(180)에 대한 명령어들을 저장한다.
입력 장치(들)(150)는 키보드, 마우스, 펜, 또는 트랙볼과 같은 터치 입력 장치(touch input device), 음성 입력 장치, 스캐닝 장치, 또는 컴퓨팅 환경(100)에 입력을 제공하는 또 다른 장치일 수 있다. 오디오 또는 비디오 인코딩에 대해, 입력 장치(들)(150)는 사운드 카드, 비디오 카드, TV 튜너 카드, 또는 아날로그나 디지털 형식으로 오디오 또는 비디오 입력을 수용하는 유사한 장치, 또는 오디오 또는 비디오 샘플들을 컴퓨팅 환경(100)으로 판독하는 CD-ROM 또는 CD-RW일 수 있다. 출력 장치(들)(160)는 디스플레이, 프린터, 스피커, CD-기록기, 또는 컴퓨팅 환경(100)으로부터의 출력을 제공하는 또 다른 장치일 수 있다.
통신 연결(들)(170)은 통신 매체를 거쳐 또 다른 컴퓨팅 엔티티로의 통신을 가능하게 한다. 통신 매체는 컴퓨터-실행가능 명령어, 오디오 또는 비디오 입력 또는 출력, 또는 변조된 데이터 신호의 기타 데이터와 같은 정보를 전달한다. 변조된 데이터 신호는 신호의 정보를 인코딩하는 것과 같은 방식으로 설정되거나 변경된 특성들 중 하나 이상을 갖는 신호이다. 제한을 가하지 않는 예로서, 통신 매체는 전기, 광학, RF, 적외선, 음향, 또는 기타 반송파로 구현된 유선 또는 무선 기술을 포함한다.
기술 및 도구는 컴퓨터-판독가능 매체의 일반적인 문맥으로 기술될 수 있다. 컴퓨터-판독가능 매체는 컴퓨팅 환경 내에서 액세스될 수 있는 임의의 가용 매체이다. 제한을 가하지 않는 예로서, 컴퓨팅 환경(100)에서, 컴퓨터-판독가능 매체는 메모리(120), 저장 장치(140), 통신 매체, 및 상기 중 임의의 것의 조합을 포함한다.
기술 및 도구는 실제의 또는 가상의 타깃 프로세서를 통해 컴퓨팅 환경에서 실행될 수 있는, 프로그램 모듈들에 포함되어 있는 것들과 같은, 컴퓨터-실행가능 명령어들의 일반적인 맥락에서 설명될 수 있다. 프로그램 모듈에 포함된 것들과 같이 타겟 실제 또는 가상 프로세서상의 컴퓨팅 환경에서 실행되는 컴퓨터-실행가 능 명령어의 일반적인 문맥으로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 라이브러리, 객체, 클래스, 컴포넌트, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시예에서 원하는 대로 프로그램 모듈 사이에 결합되거나 분리될 수 있다. 프로그램 모듈에 대한 컴퓨터-실행가능 명령어는 로컬 또는 분산 컴퓨팅 환경 내에서 실행될 수 있다.
설명을 위하여, 상세한 설명은 컴퓨팅 환경에서의 컴퓨터 동작을 기술하기 위하여 "신호", "결정" 및 "적용"과 같은 용어들을 사용한다. 이러한 용어들은 컴퓨터에 의해 수행된 동작들에 대한 하이-레벨 추상화이며, 사람에 의해 수행된 동작들과 혼돈해서는 안 된다. 이러한 용어들에 대응하는 실제 컴퓨터 동작들은 구현에 따라 다양하다.
II. 예시적인 비디오 인코더 및 비디오 디코더
도 2는 기술된 다양한 실시예들이 구현될 수 있는 일반화된 비디오 인코더 시스템(200)의 블록도이다. 도 4는 공간 분해(spatial decomposition)의 한 계층이 뒤따르는 시간 분해의 4 계층을 갖는 일반화된 인코더(400)를 도시한다. 도 3은 기술된 다양한 실시예들이 구현될 수 있는 일반화된 비디오 디코더 시스템(300)의 블록도이다. 도 5는 (역) 시간 분해의 4개의 계층 및 (역) 공간 분해의 2개의 계층을 갖는 통합된 인코더/디코더 시스템(500)을 도시한다.
인코더 및 디코더 내의 모듈 사이에 도시된 관계들은 인코더 및 디코더에 있는 정보의 주요 흐름을 나타내고, 기타 관계들은 단순화를 위하여 도시되지 않는 다. 특히, 움직임 정보 외에, 도 2 및 3은 비디오 시퀀스, 프레임, 매크로블록, 블록 등에 대해 사용된 인코더 설정, 모드, 테이블 등을 나타내는 보조 정보(side information)를 도시하지 않는다. 그러한 보조 정보는 잠재적으로 보조 정보의 엔트로피 인코딩 후에 출력 비트 스트림에서 전송된다.
구현 및 원하는 압축의 유형에 따라, 도면에 도시된 인코더 또는 디코더의 모듈들은 추가, 생략, 다수의 모듈들로 분리, 기타 모듈들과 통합, 및/또는 유사한 모듈들과 대체될 수 있다. 대안적인 실시예에서, 상이한 모듈 및/또는 모듈들의 기타 구성을 갖는 인코더 또는 디코더는 설명된 기술들 중 하나 이상을 수행한다. 예를 들어, 도 2는 인코더 시스템(200)에서 시간 분해(210)로부터 공간 분해(230)로의 흐름을 도시하지만, 인코더 시스템(200)은 대안적으로 또는 부가적으로 시간 분해(210)가 시작하기 전에 공간 분해의 하나 이상의 계층을 포함할 수 있다. 그러한 경우에, 대응하는 디코더 시스템(300)은 역 시간 분해(310) 후에 역 공간 분해의 하나 이상의 계층을 포함할 수 있다.
3D 부-대역 비디오 코딩은 중간 또는 높은 비트율로 최첨단의 확장가능하지 않은 비디오 코딩(예를 들어, H.264 또는 VC-1 표준에 따른 것)에 필적하는 성능을 달성한다. 그러나, 기존의 확장가능하지 않은 접근법에 비교하면, 3D 부-대역 비디오 코딩에서 움직임 벡터 코딩에 소모되는 비트들의 양이 상대적으로 많다. 결과적으로, 3D 부-대역 비디오 코딩은 통상적으로 낮은 비트율에서 확장가능하지 않은 접근법보다 성능이 좋지 않으며, 움직임 벡터 코딩에 소모된 비트들은 전체 비트율 중 큰 비율을 차지한다.
A. 예시적인 비디오 인코더
3D 부-대역 비디오 코딩은 비디오의 공간/시간 부-대역 분해의 다수 레벨을 이용함으로써 다수 레벨의 공간 및/또는 시간 확장성을 제공하기 위한 훌륭한 방식이다. 도 2는 일반적인 3D 부-대역 비디오 코딩 방식(200)을 도시한다. 인코더(200)는 비디오 화상(205)의 시퀀스(예를 들어, 순차(progressive) 비디오 프레임, 비월(interlaced) 비디오 프레임, 또는 비월 비디오 프레임의 필드)를 수신하고, 압축된 비디오 정보(295)를 출력으로서 생성한다. 비디오 인코더의 특정 실시예들은 통상적으로 일반화된 인코더(200)의 변형 또는 보충된 버전을 사용한다.
인코더(200)는 시간 부-대역 변환(210)에 의해 비디오 신호를 분해한다. 도 2는 저 해상도 부-대역 및 고 해상도 부-대역에의 시간 분해의 단일 레벨에 대한 출력을 도시하지만, 시간 분해는 4, 5, 또는 소정의 기타 수의 분해 레벨을 포함할 수 있다.
도 2에서, 시간 분해(210)는 움직임 보상된 시간 필터링("MCTF")이며, 따라서 인코더(200)는 비디오 신호에 대한 움직임 정보를 계산하기 위하여 움직임 추정(220)을 수행한다. 움직임 추정(220)의 정확한 전략은 구현에 의존하며, 예를 들어, 서브-픽셀 상세화가 이어지는 정수-픽셀 검색, 나선형 검색 패턴, 실제 또는 모델링된 오차 코딩 비용, 움직임 정보 코딩 비용, 움직임 예측 모드 등을 고려하는 비율-왜곡 함수의 최소화 등을 포함할 수 있다.
소정의 구현에서, 인코더(200)는 움직임 추정에서 움직임 벡터의 가변-크기 블록들(4*4로부터 16*16까지)에 대해 움직임 벡터를 계산하고, 그러한 움직임 벡터 들을 MCTF에서 적용한다. 예를 들어, 16*16 매크로블록에 대해, 인코더(200)는 하나의 16*16 파티션, 2개의 16*8 파티션, 2개의 8*16 파티션, 또는 4개의 8*8 파티션에 대한 움직임 벡터(들)를 계산하며, 여기서 각 8*8은 또한 2개의 8*4 파티션, 2개의 4*8 파티션, 또는 4개의 4*4 파티션으로 나누어질 수 있다. 또는, 인코더(200)는 낮은 공간 해상도 비디오(예를 들어, QCIF)만을 디코딩하는 경우에 움직임 벡터들의 사용을 용이하게 하기 위하여 높은 공간 해상도 비디오(예를 들어, CIF)의 큰 블록들(예를 들어, 32*32)에 대해 움직임 벡터들을 계산한다. 대안적으로, 인코더(200)는 기타 크기의 블록들에 대해 움직임 정보를 계산한다.
움직임 추정(220) 및 MCTF의 움직임 정확도는 구현에 의존한다. 예를 들어, 움직임 추정(220) 및 MCTF는 1/4-픽셀 움직임 벡터를 사용한다. 대안적으로, 움직임 추정(220) 및 MCTF는 소정의 기타 정확도를 갖는 움직임 정보를 사용한다. 예를 들어, QCIF 비디오만을 디코딩하는 경우 1/4-픽셀 움직임 벡터의 사용을 용이하게 하기 위하여, 인코더(200)는 CIF 비디오에 대해 1/2-픽셀 움직임 벡터를 계산하고/거나 4CIF 비디오에 대해 정수-픽셀 움직임 벡터를 계산한다.
움직임 추정(220) 및 MCTF의 방향은 전방, 후방, 양방향, 또는 내부일 수 있다. 소정의 구현에서, 인코더(200)는 매크로블록의 파티션 당 움직임 추정(220) 및 보상된 방향을 전방, 후방, 양방향 또는 내부로 설정한다. 대안적으로, 인코더(200)는 소정의 기타 레벨로 방향을 설정하고/거나 소정의 방향(예를 들어, 내부)을 허용하지 않는다.
소정의 구현에서, 기준 프레임의 외부에 움직임 추정/보상을 허용하기 위하 여 (예를 들어, 단순히 반복적인 패딩에 의해) 기준 프레임이 패딩될 수 있다. 기준 프레임 상의 서브-픽셀 보간은 겹선형 필터(bilinear filter), 겹삼차 필터(bicubic filter), 싱크 필터(sinc filter), 또는 소정의 기타 필터를 사용하여 단편적인 움직임 추정/보상에 대한 샘플값을 생성한다. 소정의 구현에서, 인코더는 오버래핑된 블록 움직임 보상("OBMC")을 사용한다. 대안적으로, 움직임 벡터 범위가 기준 프레임 경계 내에 있을 것으로 제한되고/거나 OBMC가 사용되지 않는다.
5/3 배직교 웨이블릿 구조(5/3 biorthogonal wavelet structure)를 사용하는 MCTF의 몇몇 예가 아래에 기술된다. 대안적으로, 인코더(200)는 또 다른 수 및/또는 유형의 시간 부-대역 변환(210)(예를 들어, Haar) 및/또는 움직임 추정(220)을 수행한다. 도 2는 완전한 공간 해상도 비디오가 시간적으로 변환되는 공간-도메인 MCTF를 도시한다. 대안적으로, 인코더(200)는 시간 분해(210) 이전에 하나 이상의 공간 부-대역 변환을 포함하고, MCTF는 초기 공간 분해로부터 공간 부-대역 상의 대역내 MCTF이다.
시간 변환(210) 후에, 인코더(200)는 신호를 더 분해하기 위하여 하나 이상의 2차원("2D") 공간 부-대역 변환(들)(230)을 적용한다. 도 2는 2D 공간 분해의 두 레벨에 대한 출력을 도시하며, 수평 및 수직으로 낮은 공간 해상도를 갖는 부-대역은 수평 및 수직으로 더 분해된다. 예를 들어, 2D 공간 부-대역 변환은 이항(dyadic) 이산 웨이블릿 변환("DWT")이다. 웨이블릿 필터는, 예를 들어, 9/7 DWT 필터 또는 5/3 DWT 필터에 대한 것일 수 있다. 대안적으로, 인코더(200)는 또 다른 수(3 또는 4와 같은 수)의 공간 부-대역 변환을 수행하고/거나 또 다른 유형의 공간 부-대역 변환(230)을 수행한다.
시간 변환(들)(210) 및 공간 변환(들)(230) 후에, 신호들은 입력 비디오(205)의 상이한 공간-시간(spatio-temporal) 해상도에 대응하는 상이한 공간-시간 부-대역으로 조직된다. 인코더(200)는 부-대역을 엔트로피 코딩(240)한다. 예를 들어, 인코더(200)는 소정의 구현에서 3D EBCOT(embedded block coding with optimal truncation)를 사용한다. JPEG 2000은 EBCOT의 2D 형태를 사용하고, 그러한 구현들에서 인코더(200)는 기본적으로 2D EBCOT를 3D 코딩으로 확장한다. 시간 및 공간 변환에 의해 생성된 각 부-대역은 독립적으로 코딩되는 3D 코딩 블록으로 나누어진다. 각 코딩 블록에 대해, 인코더(200)는 비트-평면 코딩(bit-plane coding) 및 문맥 기반 산술 코딩(context-based arithmetic coding)을 사용한다. 대안적으로, 인코더(200)는 부-대역 정보에 대해 소정의 기타 형태의 엔트로피 코딩을 사용한다.
인코더(200)는 또한 움직임 정보(예를 들어, 움직임 벡터, 움직임 모드 선택 정보)를 코딩(250)한다. 예를 들어, 인코더(200)는 움직임 벡터 정보, 매크로블록의 파티션, 및 움직임 추정/보상의 방향을 엔트로피 인코딩하기 위하여 단순한 가변 길이 코딩과 같은 소정의 형태의 엔트로피 코딩을 사용한다. 움직임 벡터에 대하여, 인코더(200)는 움직임 벡터와 그것의 예측기 사이의 차이를 인코딩한다. 움직임 벡터 예측기는 이전에 인코딩/디코딩된 움직임 벡터로부터 중앙값 예측(median prediction)을 사용하여 또는 소정의 기타 움직임 벡터 예측 기술을 사용하여 계산될 수 있다. 대안적으로, 인코더(200)는 움직임 정보에 대한 기타 및/또 는 부가적인 코딩(250) 기술을 사용한다.
부-대역 변환(210, 230)의 속성들을 이용하여, 인코더(200)는 공간 확장성 및 시간/프레임-비율 확장성을 자연스럽게 지원한다. 게다가, 부-대역 계수(sub-band coefficient)의 비트-평면 코딩을 이용하여, 인코더(200)는 또한 일반적으로 품질/신호 대 잡음 비율(signal-to-noise ratio:SNR) 확장성을 지원한다.
이러한 확장성들은 인터넷 또는 무선 네트워크와 같이 에러가 발생하기 쉬운 네트워크를 거치는 비디오 전송에 매우 유용하다. 상이한 부-대역들은 상이한 레벨의 에러 수정 또는 전송 에러에 대한 복원력을 갖는 전송에 대해 인코딩될 수 있다. 또는, 상이한 부-대역들은 상이한 우선순위 레벨로 전송될 수 있으며, 네트워크는 우선순위 전송을 지원한다.
다양한 확장성은 또한 상이한 장치들이 상이한 메모리 자원, 계산 능력, 디스플레이 크기, 액세스가능한 대역 등을 가질지라도, 상이한 장치들이 동일한 압축 비디오 스트림을 공유하도록 도울 수 있다. 이러한 방식으로, 상이한 비트율로 비디오(205)를 인코딩하는 태스크가 단순화된다.
멀티-레벨 시간 분해의 한 가지 이점은 비디오 신호 내의 시간 중복성(temporal redundancy)이 넓은 범위에서 이용될 수 있다는 것이다. 시간 부-대역 변환의 첫번째 몇몇 레벨들은 가까운 프레임들 사이의 시간 중복성을 이용할 수 있고, 시간 부-대역 변환의 마지막 몇몇 레벨들은 먼 거리를 가로지르는 프레임들 사이의 의존성을 이용할 수 있다.
도 4는 4 계층의 시간 분해 및 한 계층의 공간 분해를 갖는 예시적인 3D 부- 대역 비디오 인코더(400)를 도시한다. 본질적으로, 도 4는 도 2의 시간 부-대역 변환의 하나의 가능한 확장을 도시하며, 또한 상이한 레벨의 시간 분해에 대한 데이터 흐름을 도시한다. 도 4는 또한 시간 및 공간 분해에 대한 새로운 표기를 도입한다.
도 4에서, 인코더(400)는 초당 f 프레임의 프레임율을 갖는 비디오에 4-레벨 시간 부-대역 변환을 적용한다. 시간 부-대역 변환의 각 레벨 Ti는 그 레벨에 대한 신호 입력을 두 개의 시간 부-대역 - 시간 로우 패스 부-대역(temporal low-pass sub-band) 및 시간 하이 패스 부-대역(temporal high-pass sub-band) - 으로 나눈다. 그 후 각 부-대역은 그 레벨에 대한 입력 비디오 신호의 프레임율의 1/2을 갖는다. 도 4에서, 용어 t-Li 및 t-Hi는 각각 i번째 레벨 시간 변환 Ti 후의 출력 로우 패스 부-대역 및 하이 패스 부-대역을 나타낸다. t-Li 및 t-Hi는 둘 모두 f/2i의 프레임율을 갖는다. 도 4에서, 신호 t-Li는 넓은 범위 의존성을 이용하고 디코더에 의해 디코딩될 수 있는 낮은 프레임율 비디오를 가능하게 하기 위하여 시간 부-대역 변환 Ti +1을 갖는 몇몇 반복에 대해 분해된다.
단순한 숫자적 예를 설명하기 위하여, 입력 비디오는 초당 30프레임(30 "fps") CIF 비디오라고 가정한다. 첫번째 시간 분해로부터의 출력 로우 패스 부-대역 t-L1은 15fps 비디오이고, 첫번째 시간 분해로부터의 출력 하이 패스 부-대역 t-H1 또한 그러하다. 두번째 시간 분해로부터의 출력 부-대역 t-L2 및 t-H2는 7.5fps 비디오이고, 세번째 시간 분해로부터의 출력 부-대역 t-L3 및 t-H3는 3.75fps 비디오이다. 마지막으로, 네번째 시간 분해로부터의 출력 부-대역 t-L4 및 t-H4는 1.875fps 비디오이다. 예에서 모든 출력 로우 패스 및 하이 패스 부-대역에 대한 공간 해상도는 CIF이다.
프레임 사이의 움직임 정보는 상이한 레벨로 추정되고, 각 레벨의 시간 변환은 현재 레벨의 움직임 경로를 따라 수행된다. 따라서, 시간 분해의 각 레벨은 움직임 벡터를 생성하고, 그 후 그것은 코딩된다. 도 4에서, 시간 변환의 4개의 레벨에 대응하는 4개 집합의 움직임 벡터가 있다.
그 후 출력 시간 로우 패스 부-대역 t-L4 및 출력 시간 하이 패스 부-대역 t-H1, t-H2, t-H3 및 t-H4는 단일-레벨 2D 공간 부-대역 변환 S1을 이용하여 분해되는데, 그것은 개개의 입력 부-대역을 로우 패스 수평, 로우 패스 수직("LL"), 로우 패스 수평, 하이 패스 수직("LH"), 하이 패스 수평, 로우 패스 수직("HL"), 및 하이 패스 수평, 하이 패스 수직("HH") 부-대역으로 나눈다. 대안적으로, 인코더(400)는 시간 분해 레벨 이전 및/또는 이후에 기타 및/또는 부가적 레벨의 공간 분해를 포함하며, 또는 인코더(400)는 상이한 공간 분해 패턴을 사용한다.
도 4에 대해 상기에 시작된 숫자적 예를 계속하면, 로우 패스 부-대역 t-L4는 CIF 공간 해상도를 갖는다. 단일-레벨 2D 공간 부-대역 변환 S1을 이용하여, 공 간 부-대역 t-L4는 LL 부-대역, LH 부-대역, HL 부-대역 및 HH 부-대역으로 분해된다. LL, LH, HL 및 HH 부-대역 각각은 QCIF 해상도를 갖는다. 유사하게, 시간 하이 패스 부-대역 t-H1, t-H2, t-H3 및 t-H4는 CIF 해상도로 시작하여 QCIF-해상도 LL, LH, HL 및 HH 부-대역으로 분해된다.
공간 분해된 부-대역들은 그 후 엔트로피 코딩되어 출력된다.
B. 예시적인 비디오 디코더
도 3은 일반적인 3D 부-대역 비디오 디코딩 방식(300)을 도시한다. 디코더(300)는 압축된 비디오 정보(395)를 수신하고, 비디오 화상(305)의 시퀀스(예를 들어, 순차 비디오 프레임, 비월 비디오 프레임, 또는 비월 비디오 프레임의 필드)를 출력으로서 생성한다. 비디오 디코더의 특정 실시예들은 통상적으로 일반화된 디코더(300)의 변형 또는 보충된 버전을 사용한다.
디코더(300)는 공간-시간 부-대역 중 몇몇 또는 모두에 대한 정보(395)를 엔트로피 디코딩(340)한다. 비디오 정보(395)는 여전히 상이한 공간-시간 부-대역으로 조직되고, 그것은 입력 비디오(205)의 상이한 공간-시간 해상도에 대응한다. 이러한 방식으로, 디코더(300)는 압축된 비트 스트림(395)의 일부를 무시하면서 상이한 공간-시간 해상도 사이에서 선택할 수 있고, 또는 디코더(300)는 자신이 실제로 수신하는 압축된 비트 스트림(395)의 소정의 부집합을 단순히 디코딩(340)할 수 있다. 디코더(300)는 본질적으로 디코더(300)가 디코딩한 그 정보에 대해 인코더(200)에서 수행된 엔트로피 코딩(240)의 역을 수행한다. 예를 들어, 디코더(300) 는 3D EBCOT를 사용하여 인코딩된 정보를 수신하고 디코딩(340)한다. 대안적으로, 디코더(300)는 부-대역 정보 중 소정의 또는 모두에 대한 소정의 기타 형태의 엔트로피 디코딩을 사용한다.
디코더(300)가 역 MCTF("IMCTF")를 수행할 때, 인코더(200)에서 수행된 코딩(250)의 역을 수행하는 여러 경우에, 디코더(300)는 움직임 정보(예를 들어, 움직임 벡터, 움직임 모드 선택 정보)를 디코딩(350)한다. 예를 들어, 디코더(300)는 단순한 가변 길이 코드의 디코딩과 같은 소정의 형태의 엔트로피 디코딩을 사용한다. 움직임 벡터에 대해, 디코더(300)는 중앙값 예측 또는 소정의 기타 움직임 벡터 예측 기술을 사용하여 움직임 벡터 예측을 계산하고, 그 후 디코더(300)는 움직임 벡터 예측과 움직임 벡터 차분(motion vector differential)을 결합한다. 대안적으로, 디코더(300)는 기타 및/또는 부가적인 디코딩(350) 기술을 사용한다.
디코더(300)는 비디오를 공간적으로 재구성하기 위하여 하나 이상의 2D 역 공간 부-대역 변환(들)(330)을 적용한다. 도 3은 2D 역 공간 분해의 두 레벨에 대한 입력 및 출력을 도시한다. 예를 들어, 2D 역 공간 부-대역 변환은 이항 역 DWT("IDWT")이다. 대안적으로, 디코더(300)는 또 다른 수 및/또는 유형의 역 공간 부-대역 변환(330)을 수행한다.
디코더(300)는 또한 역 시간 부-대역 변환(310)에 의해 비디오 신호를 재구성한다. 도 3은 저 해상도 부-대역 및 고 해상도 부-대역으로부터의 단일 레벨 시간 시간 재구성에 대한 출력을 도시하지만, 시간 구성은 4, 5 또는 소정의 기타 수의 레벨의 합성(synthesis)을 포함할 수 있다.
도 3에서, 역 시간 변환(310)은 IMCTF를 사용하고, 디코더(300)는 비디오 신호에 대한 디코딩(350)된 움직임 정보를 사용하여 움직임 보상을 수행한다. 일반적으로, 움직임 정보 및 IMCTF(예를 들어, 움직임 보상에 대한 파티션, 움직임 벡터 정확도, 움직임 보상의 방향, 기준 프레임 패딩의 사용, 서브-픽셀 보간, OBMC의 사용)의 속성은 대응하는 인코더(200)에서와 같고, 압축된 비디오 비트 스트림(395)에서 알려진다. IMCTF의 몇몇 예들이 아래에 기술된다. 대안적으로, 디코더(300)는 또 다른 수 및/또는 유형의 역 시간 부-대역 변환(310) 및/또는 움직임 보상을 수행한다. 도 3은 역 시간 변환을 사용하여 완전한 공간 해상도 비디오가 재구성되는 공간-도메인 IMCTF를 도시한다. 대안적으로, 디코더(300)는 대역내 MCTF를 수행한다.
도 4의 인코더(400)로 돌아가서, 대응하는 디코더는 t-Li로부터의 f/2i 프레임율 비디오만을 재구성할 수 있다. 또는, 디코더는 t-Li 및 t-Hi 둘 모두(후속하는 시간 하이 패스 부-대역 정보 t-Hi+1 등을 포함함)로부터의 f/2i-1 프레임율 비디오를 재구성할 수 있다.
도 5는 인코더에서 4개 계층의 시간 분해 및 2개 계층의 공간 분해를 갖고, 디코더에서 대응하는 수의 역 변환을 갖는 예시적인 3D 부-대역 비디오 인코더-디코더("코덱") 시스템(500)을 도시한다. 본질적으로, 도 5는 도 2 및 3의 인코더(200) 및 디코더(300)의 기타 가능한 버전을 도시한다. 도 5는 또한 시간 및 공간 분해, 및 그들의 역 동작에 대한 또 다른, 더 단순한 표기를 도입한다.
도 5에서, 인코더는 비디오에 4개 레벨의 시간 부-대역 변환 Ti(즉, T1, T2, T3 및 T4)을 적용하고, 시간 분해의 결과에 2개 레벨의 공간 부-대역 변환 Si(즉, S1 및 S2)을 적용한다. 그 후 인코더는 엔트로피 코딩 E를 수행한다. 디코더는 엔트로피 디코딩 E-1을 수행하고, 엔트로피 디코딩의 결과에 2개 레벨의 역 공간 부-대역 변환 Si -1(즉, S2 -1 및 S1 -1)을 수행한다. 그 후 디코더는 공간 재구성의 결과에 4개 레벨의 역 시간 부-대역 변환 Ti -1(즉, T4 -1, T3 -1, T2 -1 및 T1 -1)을 적용한다.
Ⅲ. MCTF (Motion-compensated Temporal Filtering)
코딩 효율성을 향상시키기 위해, (여기에서는 MCTF라고도 하는) 움직임-정렬 시간 변환들이 시간 분해에 적용되어 시간 중복성(temporal redundancy)을 효과적으로 제거한다. MCTF의 주된 아이디어는 시간 분해가 적용되는 동안 상이한 프레임들 사이의 픽셀들을 정렬한다는 것이다. 움직임-정렬 3D 코딩 방식들은 확장성 사양들 뿐만 아니라 다른 코딩 방식들에 비해 타협되지 않은, 심지어 더 양호한 코딩 효율성을 제공할 수 있다.
다양한 MCTF 방식들 중에서, 리프팅-기반 MCTF는 융통성 있고 효율적인 구현을 제공한다. 도 6은 5/3 배직교 웨이블릿에 대한 리프팅-기반 MCTF 방식에서의 입력 비디오 프레임들, 시간 로우 패스 프레임들, 및 시간 하이 패스 프레임들간의 관계들을 도시한다.
도 6은 MCTF로의 4개의 인덱스된 원래의 비디오 프레임들 입력에 대한 픽셀들의 컬럼들을 나타낸다. (입력 프레임들 자체는, 예를 들어, MCTF의 이전 레벨로부터의 시간 로우 패스 부-대역 출력일 수 있다.) 도 6의 리프팅-기반 웨이블릿 변환은 2개의 기본적인 단계들: 움직임 보상 예측(MCP) 단계 및 움직임 보상된 업데이트(MCU) 단계를 수반한다.
예측 단계에서, 홀수 프레임(예를 들어, 프레임 I2i +1)의 경우, 인접한 짝수 프레임들(예를 들어, 프레임들 I2i 및 I2i +2) 중 하나 이상으로부터의 움직임 보상은 홀수 프레임의 픽셀들에 대한 MCP를 지시한다. 하이 패스 프레임(예를 들어, Hi)은 본질적으로 홀수 프레임과 홀수 프레임에 대한 MCP간의 차다.
업데이트 단계에서, 이용 가능한 하이 패스 프레임들 중 하나 이상(예를 들어, Hi 및 Hi-1)의 움직임 보상은 MCU를 지시한다. 로우 패스 프레임(예를 들어, Li)은 본질적으로 업데이트와 짝수 프레임(예를 들어, 프레임 I2i)간의 차다.
도 7은 인코더의 리프팅을 가진 종래의 MCTF를 도시하고, 도 8은 디코더의 대응되는 IMCTF를 도시한다. 일관성을 위해, 도 7 및 도 8에서 그리고 본원의 다른 곳에서, 짝수의 비디오 프레임들은 움직임 보상된 예측을 위한 참조들로서 로우 패스 프레임들의 형성을 위해 사용되고, 홀수의 비디오 프레임은 MCP의 주체들로서 하이 패스 비디오 프레임들의 형성을 위해 사용된다. 다른 방법으로는, 홀수 및 짝수 프레임들의 역할들이 전환된다.
도 7의 MCTF(700)에서, 짝수의 비디오 프레임들은 MCP(710)에서의 기준들로 사용된다. 특정한 홀수 비디오 프레임(I2i +1)의 경우, 인코더는 인접한 짝수 프레임들(I2i 및 I2i +2) 중 하나 또는 양자로부터 MCP를 계산한다. 예측과 원래 홀수 프레임(I2i+1)간의 차가 시간 하이 패스 프레임(Hi)이다.
하이 패스 프레임들(Hi)은 MCU(720)에서 참조들로 사용된다. 특정한 짝수 비디오 프레임(I2i)의 경우, 인코더는 짝수 비디오 프레임들에 인접한 하이 패스 프레임들(Hi-1 및 Hi) 중 하나 또는 양자로부터 MCU를 계산한다. 업데이트와 원래 짝수 프레임(I2i)의 조합이 시간 로우 패스 프레임(Li)이다.
예를 들어, 프레임들(I0, I1, ..., I2n -1)의 비디오 시퀀스가 도 7의 MCTF(700)로 처리될 것으로 가정한다. 예측 모듈(710)은 연속적인 짝수 프레임들(I2i 및 I2i +2)로부터 홀수 프레임(I2i +1)에 대한 예측 P(I2i +1)을 다음의 수학식 1과 같이 계산한다.
Figure 112005037603862-pat00001
이 경우, MV2i +1->2i는 프레임(I2i +1)으로부터의 움직임 벡터들이 프레임(I2i)으로 이동 된다는 것을 의미하고, MV2i +1->2i+2는 유사한 의미를 가지며, MC()는, 인접한 짝수 프레임으로부터 현재 홀수 프레임의 예측의 적어도 일부를 생성하는 움직임 보상을 의미한다. (수학식 1은 매크로블록, 매크로블록 분할, 또는 움직임 벡터들이 적용되는 홀수 프레임의 다른 부분에 대한 MCP를 도시하기 위한 것으로, 이러한 MCP는 홀수 프레임의 다른 매크로블록들, 매크로블록 분할들 등에 대해 반복된다.) 일부 경우들에서, 인코더는, 수학식 1의 MC 기여들 및 가중화에 대응되는 변화들을 가지며, (Haar 변환에서와 같이) MCP를 계산할 때 (양자가 아닌) 인접한 짝수 프레임들 중 하나만을 고려하거나, 인코더는 내부 압축을 사용해 홀수 프레임의 일부 또는 전부를 인코딩한다. 내장된 기본 계층 코덱과 함께, 인코더는, 후술하는 바와 같이, 인접한 짝수 프레임들이 아닌 프레임들을 기준 프레임들로서 사용할 수도 있다.
다음으로, 예측 모듈(710)은 수학식 2와 같이 하이 패스 프레임(Hi)을 계산한다.
Figure 112005037603862-pat00002
일-레벨의 시간 변환을 완결짓기 위해 예측 단계(710)에 수반되는 업데이트 단계(720)에서, 인코더는 다음의 수학식 3과 같이 인접한 하이 패스 프레임들로부터 짝수 프레임(I2i)에 대한 업데이트 U(I2i)를 계산한다.
Figure 112005037603862-pat00003
여기서, MC()는, 인접한 하이 패스 프레임으로부터 짝수 프레임에 대한 업데이트의 적어도 일부를 생성하는 움직임 보상을 의미한다. 간단한 근사치로서, MCU에 대한 움직임 벡터들은 MCP에 대한 대응되는 움직임 벡터들의 역으로서 유도된다. (수학식 3은 움직임 벡터들이 적용되는 짝수 프레임의 매크로블록, 매크로블록 분할, 또는 다른 부분을 나타내기 위한 것이며, 이러한 MCU는 다른 매크로블록들, 매크로블록 분할들 등에 대해 반복된다.) 일부 경우들에서, 인코더는, 수학식 3의 MC 기여들 및 가중화에 대응되는 변화들을 가지며, MCU를 계산할 때 (양자가 아닌) 하이 패스 프레임들 중 하나만을 고려하거나, 인코더는 하이 패스 프레임들 중 어떤 것도 고려하지 않는다.
그 다음, 인코더는 다음의 수학식 4와 같이 로우 패스 프레임을 생성한다.
Figure 112005037603862-pat00004
도 8의 IMCTF(800)에서는, MCU(820)의 기준들로서 하이 패스 프레임들(Hi)이 사용된다. 특정한 짝수 비디오 프레임(I2i)에 대해, 디코더는 인접한 홀수 비디오 프레임들에 대한 하이 패스 프레임들(Hi-1 및 Hi) 중 하나 또는 양자로부터 MCU를 계산한다. 짝수 프레임(I2i)에 대한 업데이트와 대응되는 시간 로우 패스 프레임(Li) 간의 차가 재구성된 짝수 프레임(I2i)이다.
재구성됨에 따라, 짝수 비디오 프레임들은 MCP(810)의 기준들로서 사용된다. 특정한 홀수 비디오 프레임(I2i +1)에 대해, 디코더는 구성된 인접한 짝수 프레임들(I2i 및 I2i +2) 중 하나 또는 양자로부터 MCP를 계산한다. 홀수 프레임(I2i +1)에 대한 예측과 대응되는 시간 하이 패스 프레임(Hi)의 조합이 구성된 홀수 프레임(I2i +1)이다.
인코더에서, 예측 단계는 통상적으로, 예측에 사용되는 움직임 벡터들과 함께 (공간 분해 및 엔트로피 인코딩에서) 하이 패스 프레임을 인코딩하는데 필요한 비트 속도를 최소화하거나 감소시키고자 한다. 따라서, 하이 패스 프레임(Hi)은 본질적으로 관련된 짝수-인덱스의 원래 비디오 프레임(들)으로부터의 대응되는 홀수-인덱스의 입력 비디오 프레임들(I2i +1)에 대한 (경우에 따라, 전방 MCP, 또는 후방 MCP일 수 있는) 양방향 MCP로부터의 오차이다. 그 다음, 짝수-인덱스의 원래 프레임(I2i)은 로우 패스 프레임으로서의 예측 오차로써 업데이트된다.
하이 패스 프레임의 에너지는, 움직임의 복잡도, 프레임들에 걸친 움직임의 균일성, 및 움직임 모델 자체에 의존하는 움직임 모델들의 성공에 의존한다. 움직임 예측이 정확하다면, 예측 오차는 일반적으로 작은 크기를 갖는다. 그러나, 움직임이 실제적으로 포착된 경우라 하더라도, 이들이 움직임 경로들상의 로우 패스 필터링으로 인한 잡음 및 에일리어싱을 감소시킬 수 있다는 점에서, 업데이트 단계 들은 여전히 유용하다. 일반적으로, 업데이트 단계들은 로우 패스 프레임들에서의 고주파수 부분들을 제거하는 것을 용이하게 함으로써, 코딩 효율성을 향상시킨다.
(예를 들어, 복잡하고 예측 불가능한 움직임 또는 움직임 모델 자체의 단점들로 인해) 움직임 예측이 부정확하면, 오브젝트 사양들은 정렬될 수 없어, 몇가지 문제들을 발생시킨다. 부정확한 움직임 예측은 하이 패스 부-대역 프레임들에서 다수 에지들 및 증가된 에너지를 초래할 수 있다. 이것은 하이 패스 서브 대역들 자체의 인코딩에 대한 압축 성능을 손상시킬 뿐만 아니라, 업데이트 단계들 동안의 시간 로우 패스 프레임들에 고스트 에지들(ghost edges) 및 컨투어들(contours)을 추가한다.
좀더 일반적으로, 업데이트 단계들은 시간 확장성이 인에이블일 경우의 디코딩 성능에 영향을 미칠 수 있다. 특히, 일부 시간 하이 패스 프레임들이, 예를 들어, 한정된 채널 대역폭 또는 장치 용량으로 인해, 부분적으로 또는 완전히 누락될 경우에, 디코더에서 문제들이 발생할 수 있다. (대개, IMCTF에서의 시간 확장성은 시간 변환 영역에서의 하이 패스 부-대역들을 파기하면서 시간 로우 패스 부-대역을 보존하는 것에 의해 실현된다. 움직임 예측이 효율적이지 않을 경우, 하이 패스 프레임들은 인코딩에서의 업데이트 단계들 동안 로우 패스 프레임들(즉, 낮은 프레임 속도 비디오)에 아티팩트들(artifacts)을 발생시킨다. 비디오가 시간 로우 패스 프레임들로부터만 구성될 경우, 하이 패스 기여의 어떤 것도 디코더의 MCU에 의해 삭제되지 않는다. 또는, 시간 하이 패스 프레임 정보가 대략적으로 정량화되면, 시간 로우 패스 프레임들의 품질은, 하이 패스 프레임들로부터의 기여가 디코 더의 MCU에서 대략적으로 삭제되기 때문에, 나빠질 수 있다. 따라서, 로우 패스 프레임들의 고스팅은, 로우 패스 프레임들의 인코딩에 더 많은 비트들이 할당되는 경우라 하더라도, 제거될 수 없다.
한가지 가능한 해결책은 인코더의 리프팅-기반 MCTF에서 업데이트 단계들을 스킵하는 것이다. 그러나, 이것은, 업데이트 단계들이 움직임 경로들에 따른 로우 패스 필터링으로 인한 잡음 및 에일리어싱을 감소시킬 수 있기 때문에, 전반적인 코딩 성능을 상당히 감소시킬 수 있다. 또한, 업데이트 단계들은, 시간 하이 패스 부-대역들 및 시간 로우 패스 부-대역들 사이에서 왜곡을 분산하는 것에 의해 디코더에서의 전반적인 왜곡을 감소시킬 수 있다.
Ⅳ. MCTF IMCTF 에서의 적응형 업데이트 단계
일부 실시예들에서, 확장가능한 비디오 인코더는 리프팅-기반 MCTF에서의 업데이트 단계들을 적응적으로 수행하고 그리고/또는 확장가능한 비디오 디코더는 IMCTF에서의 업데이트 단계들을 적응적으로 수행한다. 휴먼 비주얼 시스템의 속성들을 이용하는 것에 의해, 적응형 업데이트 단계들은 시간 로우 패스 부-대역들로부터 디코딩된 낮은 프레임 속도 비디오의 인지 가능한 비주얼 품질을 향상시킨다. 동시에, 종래의 업데이트 단계들에 비해, 적응형 업데이트 단계들은 시간 로우 패스 및 시간 하이 패스 부-대역들 모두로부터 디코딩된 높은 프레임 속도의 비디오에 대해 만족스러운 성능을 유지한다.
A. 예시적 인코더들 및 디코더들
적응형 업데이트 방식들은 (1) 원래의 업데이트 정보를 가능한 많이 추가하 는 것과 (2) 동시에, 업데이트 단계들에 의해 도입되는 아티팩트들을 감소시키는 것의 상반되는 2개 목표들간의 양호한 보완 관계를 실현한다.
도 9는 적응형 업데이트 연산들을 가진 인코더의 MCTF 프레임워크(900)를 도시하고, 도 10은 적응형 업데이트 연산들을 가진 디코더의 IMCTF 프레임워크(1000)를 도시한다. 예를 들어, 프레임워크들(900, 1000)은 도 2 내지 도 5를 참조하여 설명된 바와 같은 인코더 및/또는 디코더에 통합된다. 다른 방법으로, 적응형 업데이트 연산들은 다른 인코더 및/또는 디코더에 통합된다.
도 9를 참조하면, MCTF 프레임워크(900)는 예측(910) 및 업데이트(920) 단계들을 포함한다. 이들 단계들은 기본적으로 도 7을 참조하여 설명된 바와 같이 진행한다.
MCTF 프레임워크(900)는 예측 단계로부터의 신호를 비주얼 품질의 관점에서 평가하기 위해 HVS(human vision system) 모델(930)을 사용한다. 예를 들어, 인코더는 짝수 프레임의 정보를 HVS 모델(930)에 따라 평가한다. 일부 구현들에서, HVS 모델(930)은 JND 메트릭을 사용한다. 다른 구현들에서, HVS 모델(930)은 다른 인지 기준들을 사용한다. HVS 모델(930)은, 스레숄드(threshold) 정보의 관점에서 업데이트(920) 단계의 결과들을 평가하고 적용하는 스레숄드(940) 단계에 스레숄드 정보를 제공한다. 예를 들어, HVS 모델(930)은, 짝수 프레임의 매 픽셀마다 모델에 따라 평가된 스레숄드 값을 제공한다. 업데이트 연산들에서의 스레숄드들 및 그들의 사용에 대한 다양한 예들이 후술된다. 다른 방법으로, HVS 모델(930)은 상이한 스레숄드 정보를 제공한다.
스레숄드(940) 단계의 결과는, 업데이트 정보가 왜곡이 특별하게 인지될 수 있는 이미지 부분들로 한정될 수 있다는 것이지만, 이미지의 다른 부분들에 대해서는 업데이트 정보가 그렇게 한정되지 않는다. 따라서, 업데이트 정보는, 인간의 인지에 따라, 업데이트 정보가 짝수 프레임에 적용되기 전에, 적응적으로 삭제되거나 한정될 수 있다.
도 10을 참조하면, IMCTF 프레임워크(1000) 또한 예측(1010) 및 업데이트(1020) 단계들을 포함한다. 이들 단계들은 기본적으로 도 8을 참조하여 설명된 바와 같이 진행한다.
IMCTF 프레임워크(1000)는 HVS 모델(1030)을 사용해 비주얼 품질의 관점에서 신호를 평가한다. 예를 들어, 디코더는 HVS 모델(1030)에 따라 로우 패스 프레임의 정보를 평가한다. 일부 구현들에서, HVS 모델(1030)은 JND 메트릭을 사용한다. 다른 구현들에서, HVS 모델(1030)은 다른 인지 기준들을 사용한다.
HVS 모델(1030)은 스레숄드 정보를 스레숄드(1040) 단계에 제공하는데, 스레숄드(1040) 단계는 스레숄드 정보의 관점에서 업데이트(1020) 단계의 결과들을 평가하고 적용한다. 예를 들어, HVS 모델(1030)은 모델에 따라 평가된 로우 패스 프레임의 매 픽셀마다 스레숄드 값을 제공한다. 업데이트 연산들에서의 스레숄드들 및 그들의 사용에 대한 다양한 예들이 후술된다. 다른 방법으로, HVS 모델(1030)은 상이한 스레숄드 정보를 제공한다.
도 9와 도 10을 비교하면, 인코더 측에서의 HVS 모델(930)은 짝수 프레임들에 적용되는 한편, 디코더 측에서의 HVS 모델(1030)은 로우 패스 프레임들에 적용 된다. 동일한 HVS 모델(930, 1030)이 인코더 측 및 디코더 측에서 사용된다고 하더라도, 스레숄드들은 약간 상이할 수 있다. 스레숄드들이 대응되는 짝수 및 로우 패스 프레임들에 대해 상당히 유사할 수만 있다면, 이것이 허용될 수 있는데, 인코더와 디코더 상태들 사이에서의 편차는 (시간에 걸쳐 누적되고 악화되는 것이 아니라) 프레임에 국한되기 때문이다.
또한, 도 9 및 도 10의 프레임워크들(900, 1000)에서, 스레숄드들은 MCTF/IMCTF의 각 레벨에서 계산된다. 이와 같이, 스레숄드들은, 시간적으로 대응되는 프레임들에 대한 경우라 하더라도, MCTF/IMCTF의 상이한 레벨에서 상이할 수 있다.
따라서, 일부 구현들에서, 인코더 측 MCTF(900) 및 디코더 측 IMCTF(1000)는 동일한 JND 메트릭을 HVS 모델들(930, 1030)에 적용한다. 스레숄드들이 독립적으로 계산되어 인코더 및 디코더에 적용되므로, 스레숄드들 또는 스레숄딩 연산들과 관련된 코딩 오버헤드가 존재하지 않는다. 다른 방법으로, 인코더는 스레숄드 정보 또는 판정들을 디코더에 시그널링하고, 또는 디코더는 인코더와 상이한 HVS 모델을 적용한다.
B. 예시적인 HVS 모델들 및 스레숄딩 연산들
인코더에서의 적응형 업데이트 단계는 일반적으로 Li=I2i+f(U2i)와 같이 표현된다. 함수 f()은, 짝수 프레임(I2i)에 대한 업데이트(U2i)에 적용되는 적응 함수(adaptation function)이다. Li는 그에 따른 로우 패스 프레임이다.
적응형 함수는 휴먼 비주얼 모델들의 결과들 및 전개들을 이용한다. 휴먼 비주얼 시스템에 기초한 컴퓨팅 모델들을 개발하기 위해 확장 검색이 수행되었다. 다양한 모델들에서, 인지 기준들(perceptual criteria)은, 공간 및 시간 영역에서의 콘트라스트 및 휘도 변화들의 달라지는 레벨들의 자극들에 대해 HVS의 민감도에 불일치가 존재한다는 관측들에 기초한다.
HVS의 다수 컴퓨팅 모델들 중에서, JND는 인지 코딩 및 이미지 워터마킹(image watermarking)에 널리 사용된다. JND는, 변동이 인간들에게 겨우 분간될 수 있을 때까지 증가되는 휘도 에지의 진폭에 대한 함수들로서 정의되는 가시도 스레숄드들(visibility thresholds)을 사용한다. 더 많은 정보를 위해서는, A.N. Netravali 및 B. Prasada, "Adaptive Quantization of Picture Signals Using Spatial Masking," Proc. IEEE, vol. 65, pp. 536-548(1997년 4월)을 참고한다. JND는 HVS의 텍스처 마스킹 속성과 밀접하게 관련되어 있다. 이러한 기준에 따르면, 잡음은 평탄 또는 무-텍스처 영역들에서 좀더 가시적이며, 에지들 및 텍스처들을 가진 영역들에서는 잡음이 덜 가시적이다.
JND 스레숄드들은 이미지 의존적이다. 업데이트 정보가 JND 스레숄드들 미만으로 유지되는 한, "업데이트 오차" 투과성이 로우 패스 프레임들에서 실현된다. 이와 같이, JND는 적응형 업데이트 방식들의 HVS 모델로서 양호하게 작용한다. 적응형 업데이트 방식의 일 구현에서, JND 모델은 다음의 수학식 5와 같이 정의된다.
Figure 112005037603862-pat00005
여기서, σx 2(i,j)는 좌표(i,j)의 픽셀이 중심인 윈도우의 이미지 x에 대한 로컬 분산을 지시한다. JND는 계산 복잡도를 감소시키기 위해 간단하게 휘도 샘플들로부터 계산될 수도 있다. 또는, JND는 휘도 및 색차 샘플들 모두로부터 계산될 수도 있다. 윈도우의 사이즈는 구현에 의존한다. 윈도우 사이즈의 일례는 3×3이고, 다른 일례는 5×5이다. θ는, 소정의 이미지에 대해 선택될 수 있는 튜닝 매개변수이다. 이미지가 비-정지 가우시안(non-stationary Gausian)이라고 가정하면, 이것은 잡음 가시도 함수 값과 동일하다. 튜닝 매개변수 θ는 JND 정의에서 콘트라스트 조정의 중요한 역할을 한다. 튜닝 매개변수 θ를 이미지-종속화하기 위해, 이것은 다음의 수학식 6과 같이 계산되는데,
Figure 112005037603862-pat00006
여기서,
Figure 112005037603862-pat00007
는 소정의 이미지에 대한 최대 로컬 분산이고, D∈[50, 100]은 실험적으로 판정된 매개변수이다. 이러한 JND 정의에 따르면, σx 2(i,j)가 작으므로, 평탄 영역들에서는 JND 값이 작으며, 그 반대도 마찬가지이다.
인코더에서의 적응형 업데이트를 표현하는 좀더 정확한 방식은 다음의 수학식 7과 같은데,
Figure 112005037603862-pat00008
여기서, f(I2i,U2i)는 다음의 수학식 8과 같다.
Figure 112005037603862-pat00009
Figure 112005037603862-pat00010
는 위에서 정의된 JNDx(i,j)의 일례이고, S는, 예를 들어, 12.5의 구현-종속형 강도 팩터(implementation-dependent strength factor)를 지시한다. JND 함수는 비주얼 마스킹과 관련된 로컬 프레임 특징들에 순응적이다. 로컬 세기 분산이 크면, JND는, 바쁜 영역 또는 세부 영역을 지시하며, (수학식 5에 따라 1에 접근하는) 비교적 큰 값이다. 한편, 로컬 세기 분산이 작으면, JND는, 평탄 영역을 지시하며, (수학식 5에 따라 0에 접근하는) 비교적 작은 값이다. 이것은 인코더의 업데이트될 짝수 인덱스 프레임으로부터 그리고 디코더의 짝수 인덱스 프레임(실제로는, 그것의 로우 패스 이미지 근사치)으로부터 계산된다. 따라서, 적응형 업데이트는 하이 패스 프레임들로 인한 고스팅 아티팩트들을 효과적으로 경감시키며 시간 확장성에 대한 코딩 성능을 향상시킬 수 있다.
상술된 바와 같이, 일부 구현들에서는, 인코더 및 디코더가 동일한 JND 메트릭 및 (수학식 8의 인덱스 값들 등이 변화된) 스레숄딩을 사용하며, 적응형 업데이트 연산들을 위해 코딩되어 디코더로 전달될 어떤 오버헤드도 존재하지 않는다. 인코더 및 디코더가 상이한 이미지들(인코더에서의 원래 프레임 및 디코더에서의 재구성된 로우 패스 버전)에 대해 연산하긴 하지만, 실험적 결과들은, 디코더에서 얻어진 업데이트 마스크가 인코더에서의 그것과 아주 근사하다는 것을 나타내었다.
다른 방법으로, 인코더 및/또는 디코더는 JND의 다른 정의, 다른 HVS 모델, 및/또는 다른 스레숄딩 연산들을 사용한다. 예를 들어, 다른 및/또는 추가 매개변수들이 사용될 수 있다.
C. 예시적인 적응형 업데이트 기술들
도 11 내지 도 13은 적응형 업데이트 연산들을 위한 기술들(1100, 1200, 1300)을 도시한다. 도 9를 참조하여 설명된 것과 같은 인코더가 도 11 및 도 12에 나타낸 기술들(1100, 1200)을 수행하고, 도 10을 참조하여 설명된 것과 같은 디코더가 도 11 및 도 13에 나타낸 기술들(1100, 1300)을 수행한다. 다른 방법으로는, 다른 인코더 또는 디코더가 기술들(1100, 1200, 1300)을 수행한다.
도 11은 적응형 업데이트 연산들을 위한 간략화되고, 일반화된 기술(1100)을 나타낸다. 인코더 또는 디코더는 적응형 업데이트를 위한 스레숄드들을 계산한다(1120). 그 다음, 인코더 또는 디코더는 적응형 업데이트 연산들을 수행한다(1160).
도 12는, MCP에 대한 추가적 세부 사항들을 포함하는, 인코더에서의 적응형 업데이트 연산들에 대한 상세한 기술(1200)을 나타낸다.
로우 패스 프레임이 계산될 현재의 짝수 프레임에 대해, 인코더는 스레숄드들을 계산한다(1220). 예를 들어, 인코더는 이전 섹션에서 설명된 바와 같이 현재의 짝수 프레임 픽셀들에 대한 JND를 계산한다. 다른 방법으로, 인코더는 소정의 다른 메트릭을 사용해 스레숄드들을 계산한다(1220).
MCP의 경우, 인코더는, 예를 들어, 인접한 홀수 프레임들을 예측하기 위해 전방 및/또는 후방으로 진행하는 현재의 짝수 프레임으로부터 하나 이상의 MCP들을 계산한다(1230). 인코더는 다른 짝수 프레임들로부터 인접한 홀수 프레임들에 대한 하나 이상의 다른 MCP들을 계산한다(1230)(또는 이러한 예측은 이전의 짝수 프레임으로부터 이미 계산되었을 수도 있다). 그 다음, 인코더는 MCP(들) 및 그들의 대응되는 인접한 홀수 프레임(들)으로부터 하나 이상의 하이 패스 프레임들을 계산한다(1240).
다음으로, 인코더는 하나 이상의 하이 패스 프레임들로부터 현재의 짝수 프레임에 대한 MCU를 계산한다(1250). 예를 들어, 인코더는 현재의 짝수 프레임으로부터 MCP(1230) 동안에 계산된 움직임 정보를 반대로 적용한다. 다른 방법으로, 인코더는 상이한 메커니즘을 사용해 업데이트를 계산한다(1250).
그 다음, 인코더는 현재의 짝수 프레임에 대해 적응형 업데이트를 수행하여(1260), 로우 패스 프레임을 얻는다. 예를 들어, 인코더는 MCU 및 선행 섹션에서 설명된 바와 같은 JND 스레숄드들을 사용해 적응형 스레숄딩 연산들을 수행한다. 다른 방법으로, 인코더는 상이한 스레숄딩 메커니즘을 사용해 적응형 업데이트를 수행한다(1260).
인코더는, MCFT를 계속할 것인지의 여부를 판정하고(1290), 그렇다면, 후속의 짝수 프레임으로 계속한다.
도 13은, 상이한 프레임 속도들에서의 디코딩을 위한 개별 경로들을 포함하는, 디코더에서의 적응형 업데이트 연산들을 위한 상세한 기술(1300)을 나타낸다.
디코더는 디코딩에 대한 시간 해상도를 판정한다(1310). 시간 해상도는, 디코더가 실제로 얼마나 많은 정보(예를 들어, 오류가 발생하기 쉬운 채널을 통해 단지 시간 로우 패스 정보)를 수신하는지에 따라 판정되거나 소정의 다른 방식으로 판정되는, 사용자-레벨 설정 또는 소정의 다른 설정에 따라 판정될 수 있다. 다른 방법으로, 디코더는 디코딩 경로들 중 하나만을 가질 수도 있다. 예를 들어, 개개 디코더들의 리소스들에 적당하게, 하나의 디코더는 낮은 프레임 속도의 경로를 포함할 수 있는 한편, 다른 디코더는 높은 프레임 속도의 경로를 포함한다.
낮은 프레임 속도의 경로에서, 디코더는 (예를 들어, 로우 패스 프레임을 현재의 프레임으로 사용해) 수신된 로우 패스 프레임 정보로부터 현재의 짝수 프레임을 계산한다(1312). 하이 패스 정보 및 움직임 정보는 무시되거나 수신되지 않으므로, 적응형 업데이트 연산은 수행되지 않는다. 이러한 정보의 부재시에도, 짝수 프레임에 대한 눈에 띄는 왜곡의 추가는 인코딩 동안에 제한되었으므로, 현재의 짝수 프레임에 대한 품질은 인코딩 동안의 적응형 업데이트 연산으로 인해 (종래의 IMCTF에 비해) 향상된다.
높은 프레임 속도의 경로에서, 현재의 짝수 프레임에 대해, 디코더는 디코더 에 의해 수신된 대응되는 로우 패스 프레임으로부터 스레숄드들을 계산한다(1320). 예를 들어, 디코더는, 선행 섹션에서 설명된 바와 같이, 로우 패스 프레임의 픽셀들에 대한 JND를 계산한다. 다른 방법으로, 디코더는 소정의 다른 메트릭을 사용해 스레숄드들을 계산한다(1320).
디코더는 하나 이상의 하이 패스 프레임들로부터 현재의 짝수 프레임에 대한 MCU를 계산한다(1330). 예를 들어, 디코더는 현재의 짝수 프레임으로부터 MCP(1230) 동안에 계산된 움직임 정보를 반대로 적용한다. 다른 방법으로, 디코더는 상이한 메커니즘을 사용해 업데이트를 계산한다(1330).
그 다음, 디코더는 로우 패스 프레임에 대해 적응형 업데이트를 수행하여(1360) 현재의 짝수 프레임을 재구성한다. 예를 들어, 디코더는, 선행 섹션에서 설명된 바와 같이, 업데이트 및 JND 스레숄드들을 사용해 적응형 스레숄딩 연산들을 수행한다. 다른 방법으로, 디코더는 상이한 스레숄딩 메커니즘을 사용해 적응형 업데이트를 수행한다(1360).
MCP의 경우, 디코더는, 예를 들어, 인접한 홀수 프레임들을 예측하기 위해 전방 및/또는 후방으로 진행하는 재구성된 현재의 짝수 프레임으로부터 하나 이상의 MCP들을 계산한다(1370). (인접한 홀수 프레임에 대한 다른 MCP들은 이전의 짝수 프레임으로부터 이미 계산되었을 수도 있다.) 그 다음, 디코더는 홀수 프레임 및 대응되는 하이 패스 프레임에 대한 MCP로부터 재구성된 홀수 프레임을 계산한다(1380).
디코더는 IMCTF를 계속할 것인지의 여부를 판정하고(1390), 그렇다면, 후속 의 짝수 프레임으로 계속한다.
도 12 및 도 13에 나타낸 다양한 연산들은 분리되거나, 다른 연산들과 조합되거나, 재배열될 수 있다. 예를 들어, 도 12는 소정의 연산들을 병렬로 나타내지만, 대신에 이러한 연산들이 직렬로 수행될 수도 있다.
Ⅴ. 3D 부-대역 비디오 코딩 및 디코딩에서의 내장된 기본 계층 코덱
일부 실시예들에서, 확장가능한 비디오 인코더는 내장된 기본 계층 코덱(embedded base layer codec)을 포함하고 확장가능한 비디오 디코더는 내장된 기본 계층 디코더를 포함한다. 기본적으로, 내장된 기본 계층 코덱에 의해 얻어진 비트 스트림은 3D 부-대역 비디오 코딩 비트 스트림의 낮은 비트 속도의 기본 계층으로서 기능한다. 일부의 확장가능한 비디오 코딩/디코딩 시스템들의 맥락에서, 예를 들어, 기본 계층은 시스템들에 대해 최소의 공간, 시간, 및 SNR 해상도들에서 비디오를 제공하는데, 그 위에는 시스템들에 대해 최대의 공간, 시간, 및 SNR 해상도들까지의 확장성을 제공하기 위해 추가적 향상 계층들이 추가된다. (인코딩 및 디코딩에서의 기본 계층의 정확한 역할은 상이한 실시예들에서 달라진다.) 예를 들어, 3D 부-대역 비디오 인코더는 내장된 비디오 코덱을 포함하고, 3D 부-대역 비디오 디코더는 내장된 비디오 디코더를 포함한다.
내장된 코덱들의 다수 유형들의 경우, 이것은 낮은 비트 속도들에서의 코딩 성능을 향상시키는데, 이 경우, 종래의 3D 부-대역 코딩에서 움직임 정보를 인코딩하는데 소요된 비트들은 이용 가능한 비트 속도의 비효율적인 부분을 소비하지만, 내장된 비디오 코덱은 그에 비해 좀더 효율적이다. 일부 경우들에서, 내장된 기본 계층 코덱은 폐쇄-루프 시간 예측(closed-loop temporal prediction), 루프내 필터링, 및 3D 부-대역 코딩과 관련된 제한들이 없는 속도-왜곡 최적화와 같은 이점들을 제공한다. 동시에, 중간 및 더 높은 비트 속도들에서의 3D 부-대역 코딩에 대한 이점들(예를 들어, 공간 및 시간 확장성들)은 보존된다.
코덱을 3D 부-대역 비디오 코딩에 내장하는 것의 다른 이점은, 그것이 내장된 코덱 및 대응되는 디코더들에 호환성을 제공한다는 점이다. 예를 들어, MPEG-1 코덱이 내장되면, (MPEG-1 코덱이 매 초당 코딩 성능을 향상시키지는 않더라도) MPEG-1 디코딩 기능을 가진 어떤 수신기도 압축된 비디오의 대략적인 버전을 디코딩할 수 있다. H.264 또는 VC-1 코덱이 내장되면, 호환성 이외에, 이것은 낮은 비트 속도들에서의 코딩 성능을 향상시킨다.
여기에서 설명된 기술들 및 도구들은 성능 및/또는 호환성 관점에서의 이점들을 가진 시스템들로 제한되지 않는다. 성능 및 호환성 이외에도, 기본 계층 코덱들을 확장가능한 비디오 인코더에 내장하고 기본 계층 디코더들을 확장가능한 비디오 디코더들에 내장하는 것은 다른 이점들을 가질 수 있다.
A. 예시적 인코더들 및 디코더들
도 14 내지 도 19는, 각각, 기본 계층 코덱 또는 디코더를 인코더 또는 디코더에 내장하는 3개의 상이한 방식들을 도시한다. 인코더들에서는, 기본 계층용 코덱이 시간 부-대역 변환들 사이에 내장되고, 시간 부-대역 변환들에는 공간 부-대역 변환이 수반된다. 디코더들에서의 가능한 변화들에 대응되는 추가적인 공간 부-대역 변환들도 시간 부-대역 변환들 이전 및/또는 이후에 배치될 수 있다. 디코 더들에서의 가능한 변화들에 대응되는 다양한 변환들 사이의 상이한 위치에 기본 계층 코덱이 배치될 수도 있다.
일반적으로, 내장된 코덱 세트들의 배치는 기본 계층 비디오에 대한 프레임 속도 및 공간 해상도를 설정한다. 도 14 내지 도 19에 나타낸 3가지 방식들간의 간단한 비교를 위해, 기본 계층 해상도는 원래 비디오의 1/4 프레임 속도 및 1/2 공간 해상도로 설정된다. 따라서, 예를 들어, 원래 비디오가 30 fps CIF 비디오라면, 기본 계층 비디오는 7.5 fps QCIF 비디오이다.
이와 같이, 기본 계층 코덱은 도 14, 도 16, 및 도 18의 인코더들에서의 2개의 시간 부-대역 변환들 이후에 위치하고, 기본 계층 디코더는 도 15, 도 17, 및 도 19의 디코더들에서의 마지막 2개의 시간 부-대역 역변환들 이전에 위치한다. 기본 계층 코덱들 및 디코더들의 배치를 변경하는 것이 기본 계층 프레임 속도를 변경하는 한가지 방법이다. 예를 들어, 도 14, 도 16, 및 도 18은 기본 계층 모듈들이 t-L2 부-대역을 입력으로서 수용하도록 내장하는 것을 나타내지만, 다른 방법으로, 기본 계층 모듈들은 t-L1 부-대역 변환 또는 다른 부-대역 변환 이후에 배치된다. 일반적으로, 시간 변환들간의 배치는 기본 계층 비디오에 대해 소정의 프레임 속도에 의존한다.
도 14, 도 16, 및 도 18에서, 기본 계층에 대한 공간 해상도 변화는 (내장된 코덱 또는 디코더에 인접한) 연산들 또는 공간 부-대역 변환 연산들을 소정의 임의 팩터만큼 샘플링하는 것에 의해 실현된다. 샘플링/공간 부-대역 변환 연산들의 비 를 변경하는 것이 기본 계층 공간 해상도를 변경하는 한가지 방법이다.
도 14, 도 16, 및 도 18은 시간 부-대역 변환 모듈들(T), 공간 부-대역 변환 모듈들(S), 및 MV 코딩과 엔트로피 코딩 모듈들 뿐만 아니라 모듈들로의 그리고 모듈들로부터의 입출력들을 포함한다. 도 15, 도 17, 및 도 19는 시간 부-대역 역변환 모듈들(T-1), 공간 부-대역 역변환 모듈들(S-1), 및 MV 디코딩과 엔트로피 디코딩 모듈들 뿐만 아니라 모듈들로의 그리고 모듈들로부터의 입출력들을 포함한다. 일반적으로, 이러한 모듈들 및 그들의 입/출력들에 대한 역할들은 도 2 내지 도 5를 참조하여 논의된다.
도 14, 도 16, 및 도 18에 나타낸 기본 계층 코덱은, 도 15, 도 17, 및 도 19의 대응되는 기본 계층 디코더를 가진, 표준에 따른 비트 스트림(예를 들어, MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264/AVC, 또는 VC-1)을 발생시키는 코덱일 수 있다. 또는, 기본 계층 코덱/디코더는 상용 제품(예를 들어, WMV8, WMV9)일 수 있다. 좀더 일반적으로, 기본 계층 코덱/디코더는 소정의 성능 및/또는 호환성 속성들을 가진 이용 가능한 임의의 코덱/디코더일 수 있다.
1. 제 1 방식
도 14는 제 1 방식에 따른 3D 부-대역 인코더(1400)를 나타낸다. 인코더(1400)는 내장된 기본 계층 코덱(1420) 뿐만 아니라 기본 계층 코덱(1420) 주변에 다운샘플링 모듈(1410) 및 업샘플링 모듈(1430)을 포함한다.
다운샘플링 모듈(1410) 및 업샘플링 모듈(1430)은 선택적이다. 이들은, 내 장된 코덱(1420)에 의해 코딩된 비디오가 내장된 코덱(1420)으로의 시간 부-대역 입력보다 낮은 시간 해상도를 가질 때, 사용된다. 그렇지 않으면, 다운샘플링 모듈(1410) 및 업샘플링 모듈(1430)은 생략될 수 있다.
도 14의 점선으로 이루어진 직사각형은 2-레벨 시간 분해 이후의 기본 계층 코덱(1420) 관련 연산들을 포함한다. 기본 계층에 대해, 입력 비디오는 f/4 fps이고 해상도는 다운샘플링 모듈(1410)에 의해 감소될 수 있다. 따라서, 기본 계층 비디오는 원래 비디오의 낮은 프레임 속도 및 (어쩌면) 낮은 공간 해상도 표현을 제공한다.
다운샘플링 모듈(1410)은 간단한 서브-샘플링, 로우 패스 필터, 또는 소정의 다른 필터링 메커니즘을 사용해 t-L2의 시간 부-대역을 다운샘플링한다. 예를 들어, 다운샘플링 모듈(1410)은 2의 팩터만큼 수평적으로 또는 수직적으로 공간 해상도를 감소시킨다. 일부 구현들에서, 다운샘플링 모듈(1410)은, Bjontegaard 등의 "H.263 Anchors - Technical Description" 문서에서 설명된 바와 같은 "MPEG" 필터 또는 Daubechies 9/7 DWT 필터를 적용한다. 좀더 일반적으로, 다운샘플링 모듈(1410)은 내장된 코덱(1420)으로의 입력에 대한 공간 해상도를 임의의 비만큼 변경하여 소정의 기본 계층 공간 해상도를 실현하고 그리고/또는 기본 계층 코덱(1420)에 대해 허용된 입력 공간 해상도를 정합한다.
내장된 코덱(1420)은 내장된 코덱(1420)에 대한 통상적인 연산들 중 하나를 사용해 (ts-LL 부-대역으로 나타낸) 다운샘플링된 t-L2 부-대역을 인코딩한다. 내 장된 코덱(1420)은 기본 계층 해상도에서 기본 계층 비트 스트림 출력(1495)을 발생시키는데, 기본 계층 비트 스트림(1495)은 대응되는 기본 계층 디코더들과 호환 가능하다. 인코더(1400)에서의 이후 인코딩 목적들을 위해, 내장된 코덱(1420) 또한 내장된 코덱(1420)에 대한 대응되는 디코딩 연산들을 사용해 ts-LL 부-대역을 디코딩하여, 재구성된 부-대역 ts-LL'을 발생시킨다.
업샘플링 모듈(1430)은 소정의 필터링 메커니즘을 사용해 기본 계층 코덱(1420)으로부터의 재구성된 부-대역 출력 ts-LL'을 업샘플링하여, 시간 부-대역 t-L2의 재구성된 버전 t-L2'을 발생시킨다. 재구성된 부-대역 t-L2'은 t-L2와 동일한 해상도를 가진다. 예를 들어, 업샘플링 모듈(1430)은 2의 팩터만큼 수평적으로 또는 수직적으로 공간 해상도를 증가시킨다. 일부 구현들에서, 업샘플링 모듈(1430)은 간단한 6-탭 필터 {-1, 5, 20, 20, 5, -1}, Chen 등의 "Improved MC-EZBC with Quarter-pixel Motion Vectors"에서의 8-탭 싱크 필터, 또는 Daubechies 9/7 IDWT 필터를 적용한다. 업샘플링 필터는 다운샘플링 필터를 미러링(mirroring)할 필요가 없는데, 예를 들어, MPEG 필터는 다운샘플링에 사용될 수 있고 IDWT는 업샘플링에 사용될 수 있다. 좀더 일반적으로, 업샘플링 모듈(1430)은 내장된 코덱(1420)으로부터의 출력에 대한 공간 해상도를 임의의 비만큼 변경하여 비디오를 다운샘플링 모듈(1410) 이전에 그것이 가졌던 공간 해상도로 복구한다.
원래의 시간 부-대역 t-L2로부터, 인코더(1400)는 재구성된 버전 t-L2'을 감산한다. 이것은 차, 또는 오차 부-대역 t-L2"을 발생시킨다. 기본 계층 코덱 (1420)이 효율적이고(예를 들어, VC-1 또는 H.264/AVC) 기본 계층 비트 속도가 적당할 경우, 기본 계층 품질은 비교적 양호할 수 있으므로, 차 부-대역은 많은 에너지를 갖지 않는다. 한편, 기본 계층 코덱(1420)이 덜 효율적이거나 기본 계층 비트 속도가 부적당할 경우, 기본 계층 품질은 비교적 불량할 수 있으므로, 차 부-대역은 많은 에너지를 가진다.
인코더(1400)는 차 부-대역 t-L2"에 대해 시간 분해의 추가적인 2개 레벨들을 수행한다. 마지막으로, 인코더(1400)는 확장가능한 비트 스트림을 생성하기 위해 개개의 부-대역들(예를 들어, t-H1, t-H2, t-H3, t-H4 및 t-L4)에 대해 공간 변환 및 엔트로피 코딩을 수행한다.
도 15는 제 1 방식에 따른 대응되는 3D 부-대역 디코더(1500)를 나타낸다. 디코더(1500)는 내장된 기본 계층 디코더(1520) 뿐만 아니라 기본 계층 디코더(1520) 이후의 업샘플링 모듈(1530)을 포함한다.
업샘플링 모듈(1530)은 선택적이다. 이것은, 내장된 디코더(1520)에 의해 디코딩된 비디오가 다운스트림의 시간 역변환 레벨들로 출력되는 시간 부-대역 t-L2보다 낮은 공간 해상도를 가질 경우에, 사용된다. 그렇지 않으면, 업샘플링 모듈(1530)은 생략될 수 있다.
도 15의 점선으로 이루어진 직사각형은 역 시간 분해의 추가적인 2-레벨들 이전의 기본 계층 디코더(1520) 관련 연산들을 포함한다. 기본 계층에 대해, 비디오는 f/4 fps이고 공간 해상도는 감소되었을 수도 있다. 따라서, 기본 계층은 비 디오의 낮은 프레임 속도 및 (어쩌면) 낮은 공간 해상도 표현을 제공한다. 실제로, 낮은 프레임 속도 및 (어쩌면) 낮은 공간 해상도를 가진 비디오는 기본 계층 디코더(1520)로써 직접적으로 디코딩되어 출력될 수 있다.
그렇지 않으면, 디코더(1500)는, 디코더(1500)가 비디오를 재구성하는데 사용할 확장가능한 비트 스트림(예를 들어, t-H1, t-H2, t-H3, t-H4 및 t-L4)으로부터의 부-대역들 중 어떤 것에 대해서도 엔트로피 디코딩 및 역 공간 분해를 수행한다. 디코더(1500)는 t-H3, t-H4 및 t-L4 부-대역들 및 관련된 움직임 정보로부터 차 부-대역 t-L2"을 재구성하기 위해 시간 역분해의 제 3 및 제 4 레벨들을 수행한다.
내장된 디코더(1520)는 기본 계층 해상도에서 인코딩된 비디오에 대한 기본 계층 비트 스트림(1595)을 수신한다. 적절한 디코딩 연산들을 사용해, 내장된 디코더(1520)는 기본 계층 비트 스트림(1595)의 압축되고, 다운샘플링된 부-대역 ts-LL을 디코딩하여, 부-대역의 재구성된 버전 ts-LL'을 발생시킨다.
업샘플링 모듈(1530)은 소정의 필터링 메커니즘을 사용해 기본 계층 디코더(1520)로부터 재구성된 부-대역 ts-LL'을 업샘플링하여, 시간 부-대역 t-L2의 재구성된 버전 t-L2'을 생성한다. 재구성된 부-대역 t-L2'은 t-L2와 동일한 해상도를 가진다. 예를 들어, 업샘플링 모듈(1530)은 2의 팩터만큼 수평적으로 또는 수직적으로 공간 해상도를 증가시킨다. 좀더 일반적으로, 업샘플링 모듈(1530)은 내장된 디코더(1520)로부터의 출력에 대한 공간 해상도를 임의의 비만큼 변경하여 비디오를 임의의 베이스-계층 다운샘플링 이전에 그것이 가졌던 공간 해상도로 복구한다.
디코더(1500)는 재구성된 차 부-대역 t-L2"을 대응되는 재구성된 부-대역 t-L2'에 추가한다. 이것은 시간 로우 패스 부-대역 t-L2의 재구성된 버전을 발생시키는데, 이것은 역 시간 분해의 오차로 입력된다.
2. 제 2 방식
도 16은 제 2 방식에 따른 3D 부-대역 인코더(1600)를 나타낸다. 인코더(1600)는 내장된 기본 계층 코덱(1620) 뿐만 아니라 기본 계층 코덱(1620) 주변에 DWT 모듈(1610) 및 IDWT 모듈(1630)을 포함한다.
도 14에 나타낸 다운샘플링 모듈(1410) 및 업샘플링 모듈(1430)처럼, DWT 모듈(1610) 및 IDWT 모듈(1630)은 선택적이다. 이들은, 내장된 코덱(1620)에 의해 코딩된 비디오가 내장된 코덱(1620)으로 입력되는 시간 부-대역 t-L2보다 낮은 공간 해상도를 가질 때, 사용된다. 그렇지 않으면, DWT 모듈(1610) 및 IDWT 모듈(1630)은 생략될 수 있다.
도 16의 점선으로 이루어진 직사각형은 2-레벨 시간 분해 이후의 기본 계층 코덱(1620) 관련 연산들을 포함한다. DWT 모듈(1610)은 t-L2 시간 부-대역을 처리하여, 로우 패스 부-대역 ts-LL을 생성한다. 일반적으로, DWT 모듈(1610)은 내장된 코덱(1620)으로의 입력에 대한 공간 해상도를 변경하여 소정의 기본 계층 공간 해상도를 실현하고 그리고/또는 기본 계층 코덱(1620)에 대해 허용된 입력 공간 해 상도를 정합한다. DWT 모듈(1610)은 IDWT 모듈(1630)로 라우팅되는 공간 하이 패스 부-대역들(ts-LH, ts-HL, 및 ts-HH)도 발생시킨다.
내장된 코덱(1620)은 내장된 코덱(1620)에 대한 통상적인 연산들 중 하나를 사용해 ts-LL 부-대역을 인코딩한다. 내장된 코덱(1620)은 기본 계층 해상도에서 기본 계층 비트 스트림 출력(1695)을 발생시킨다. 또한, 내장된 코덱(1620)은 내장된 코덱(1620)에 대한 대응되는 디코딩 연산들을 사용해 ts-LL 부-대역을 디코딩하여, 재구성된 부-대역 ts-LL'을 발생시킨다.
원래의 ts-LL 부-대역으로부터, 인코더(1600)는 그것의 재구성된 버전 ts-LL'을 감산한다. 이것은 오차 부-대역 ts-LL"을 발생시킨다. 도 14의 인코더(1400)에 대한 경우에서와 같이, 기본 계층 코덱(1620)이 효율적이고 기본 계층 비트 속도가 적당할 경우, 오차 ts-LL"은 통상적으로 많은 에너지를 갖지 않는다. 한편, 기본 계층 코덱(1620)이 덜 효율적이거나 기본 계층 비트 속도가 부적당할 경우, 오차 ts-LL"은 더 많은 에너지를 가질 수 있다.
오차 부-대역 ts-LL" 및 공간 하이 패스 부-대역들(ts-LH, ts-HL, 및 ts-HH)로부터, IDWT 모듈(1630)은 새로운 오차 부-대역 t-L2"을 생성한다. 새로운 오차 부-대역 t-L2"은 DWT 모듈(1610)로 입력된 부-대역 t-L2와 동일한 공간 해상도를 가진다.
인코더(1600)는 오차 부-대역 t-L2"에 대해 시간 분해의 추가적 2개 레벨들을 수행한다. 마지막으로, 인코더(1600)는 확장가능한 비트 스트림을 생성하기 위 해 개개의 부-대역들(예를 들어, t-H1, t-H2, t-H3, t-H4 및 t-L4)에 대해 공간 변환 및 엔트로피 코딩을 수행한다.
도 17은 제 2 방식에 따른 대응되는 3D 부-대역 디코더(1700)를 나타낸다. 디코더(1700)는 내장된 기본 계층 디코더(1720) 뿐만 아니라 기본 계층 디코더(1720) 주변에 DWT 모듈(1710) 및 IDWT 모듈(1730)을 포함한다.
DWT 모듈(1710) 및 IDWT 모듈(1730)은 선택적이다. 이들은, 내장된 디코더(1720)에 의해 디코딩된 비디오가 다운스트림의 시간 역변환 레벨들로 출력되는 시간 부-대역 t-L2보다 낮은 공간 해상도를 가질 경우에, 사용된다. 그렇지 않으면, DWT 모듈(1710) 및 IDWT 모듈(1730)은 생략될 수 있다.
도 17의 점선으로 이루어진 직사각형은 역 시간 분해의 추가적인 2-레벨들 이전의 기본 계층 디코더(1720) 관련 연산들을 포함한다. 기본 계층은 비디오의 낮은 프레임 속도 및 (어쩌면) 낮은 공간 해상도 표현을 제공하는데, 이처럼 낮은 품질의 비디오는 기본 계층 디코더(1720)로써 직접적으로 디코딩되어 출력될 수 있다.
그렇지 않으면, 디코더(1700)는, 디코더(1700)가 비디오를 재구성하는데 사용할 확장가능한 비트 스트림(예를 들어, t-H1, t-H2, t-H3, t-H4 및 t-L4)으로부터의 부-대역들 중 어떤 것에 대해서도 엔트로피 디코딩 및 역 공간 분해를 수행한다. 디코더(1700)는 t-H3, t-H4 및 t-L4 부-대역들 및 관련된 움직임 정보로부터 오차 부-대역 t-L2"을 재구성하기 위해 시간 역분해의 제 3 및 제 4 레벨들을 수행한다.
DWT 모듈(1710)은 오차 부-대역 t-L2"을 처리하여, 공간 로우 패스 오차 부-대역 ts-LL" 및 공간 하이 패스 부-대역들(ts-LH", ts-HL", 및 ts-HH")의 재구성된 버전들을 발생시킨다. 일반적으로, DWT 모듈(1710)은 공간 해상도를 변경함으로써, 로우 패스 오차 부-대역 ts-LL"을 공간 해상도의 관점에서 내장된 디코더(1720)의 출력과 정합한다.
내장된 디코더(1720)는 기본 계층 해상도에서 인코딩된 비디오에 대한 기본 계층 비트 스트림(1795)을 수신한다. 적절한 디코딩 연산들을 사용해, 내장된 디코더(1720)는 기본 계층 비트 스트림(1795)의 압축되고, 변환된 부-대역 ts-LL을 디코딩하여, 부-대역의 재구성된 버전 ts-LL'을 발생시킨다.
디코더(1700)는 재구성된 오차 부-대역 ts-LL"을 내장된 디코더(1720)로부터 출력되는, 대응되는 재구성된 부-대역 ts-LL'에 추가한다. 이것은 원래의 ts-LL 부-대역에 대한 재구성된 버전을 발생시킨다.
그 다음, IDWT 모듈(1730)은 재구성된 ts-LL 부-대역을 DWT 모듈(1710)로부터 출력되는 공간 하이 패스 부-대역들(ts-LH", ts-HL", 및 ts-HH")과 조합한다. 이것은, 역 시간 분해의 오차로 입력되는, 시간 로우 패스 부-대역 t-L2의 재구성된 버전을 발생시킨다.
3. 제 3 방식
처음 두 인코딩 방식들에서, 기본 계층 코덱은 시간 변환들에 내장되고, 오차 신호는 이후의 시간 변환들에서 추가적으로 분해된다. 이에 비해, 제 3 인코딩 방식에서는, 이후의 시간 분해들이 (오차 프레임들이 아니라) 시간 로우 패스 프레임들에 적용된다.
도 18은 제 3 방식에 따른 3D 부-대역 인코더(1800)를 나타낸다. 인코더(1800)는 내장된 기본 계층 코덱(1820) 뿐만 아니라 기본 계층 코덱(1820) 주변에 다운샘플링 모듈(1810) 및 업샘플링 모듈(1830)을 포함한다. 도 18의 점선으로 이루어진 직사각형은 2-레벨 시간 분해 이후의 기본 계층 코덱(1820) 관련 연산들을 포함한다. 도 14에 나타낸 인코더(1400)의 대응되는 모듈들에서와 같이, 다운샘플링 모듈(1810) 및 업샘플링 모듈(1830)은 선택적이다. 제 2 및 제 3 시간 변환들 사이의 확장가능한 비디오처럼, 기본 계층 비디오는 f/4 fps이고 해상도는 다운샘플링 모듈(1810)에 의해 감소될 수 있다. 따라서, 기본 계층 비디오는 이번에도 원래 비디오의 낮은 프레임 속도 및 (어쩌면) 낮은 공간 해상도 표현을 제공한다.
다운샘플링 모듈(1810)은 간단한 서브-샘플링, 로우 패스 필터, 또는 소정의 다른 필터링 메커니즘을 사용해 t-L2의 시간 부-대역을 다운샘플링한다. 일반적으로, 다운샘플링 모듈(1810)은 내장된 코덱(1820)으로의 입력에 대한 공간 해상도를 임의의 비만큼 변경하여 소정의 기본 계층 공간 해상도를 실현하고 그리고/또는 기본 계층 코덱(1820)에 대해 허용된 입력 공간 해상도를 정합한다.
내장된 코덱(1820)은 내장된 코덱(1820)에 대한 통상적인 연산들 중 하나를 사용해 (ts-LL 부-대역으로 나타낸) 다운샘플링된 t-L2 부-대역을 인코딩한다. 내장된 코덱(1820)은 기본 계층 해상도에서 최저 비트 속도의 기본 계층 비트 스트림 출력(1895)을 발생시키는데, 기본 계층 비트 스트림(1895)은 대응되는 기본 계층 디코더들과 호환 가능하다. 인코더(1800)에서의 이후 인코딩 목적들을 위해, 내장된 코덱(1820) 또한, 내장된 코덱(1820)에 대한 대응되는 디코딩 연산들을 사용해 ts-LL 부-대역을 디코딩하여, 재구성된 부-대역 ts-LL'을 발생시킨다.
업샘플링 모듈(1830)은 소정의 필터링 메커니즘을 사용해 기본 계층 코덱(1820)으로부터의 재구성된 부-대역 출력 ts-LL'을 업샘플링하여, 시간 부-대역 t-L2의 재구성된 버전 t-L2'을 발생시킨다. 재구성된 부-대역 t-L2'은 t-L2와 동일한 해상도를 가진다. 일반적으로, 업샘플링 모듈(1830)은 내장된 코덱(1820)으로부터의 출력에 대한 공간 해상도를 임의의 비만큼 변경하여 비디오를 다운샘플링 모듈(1810) 이전에 그것이 가졌던 공간 해상도로 복구한다.
인코더(1800)는 원래의 (사전-기본 계층 처리 중인) 시간 부-대역 t-L2에 대해 시간 변환의 제 3 및 제 4 레벨들을 수행한다. 제 3 및 제 4 시간 변환들을 위해, 인코더(1800)는 시간 하이 패스 부-대역들(t-H3 및 t-H4)에 대한 MCP들을 계산한다. 예상했던 바와 같이, 시간 부-대역 t-L2는 제 3-레벨 시간 변환에서의 움직임 보상을 위한 후보 기준 프레임들(예를 들어, t-L2의 짝수 프레임들)을 제공하고, 시간 부-대역 t-L3은 제 4-레벨 시간 변환에서의 움직임 보상을 위한 후보 기준 프 레임들(예를 들어, t-L3의 짝수 프레임들)을 제공한다. 제 3 방식에 따르면, 업샘플링되고 재구성된 부-대역 t-L2'에서의 시간적으로 대응되는 화상들은 움직임 보상을 위한 추가적인 후보 기준 프레임들로서 동작한다. 예를 들어, (t-L2의 짝수-인덱스 프레임들과 동일한 시간들을 가진) t-L2'의 다른 프레임들은 제 3-레벨 시간 변환에서의 짝수-인덱스 프레임들의 MCP에 대한 기준들로서 이용될 수 있다. (t-L3의 대응되는 홀수-인덱스 프레임과 동일한 시간을 가진) t-L2'의 매 4번째마다의 프레임(every fourth frame)은 제 4-레벨 시간 변환에서 t-L3의 시간적으로 대응되는 홀수-인덱스 프레임의 MCP에 대한 기준으로서 이용될 수 있다.
도 20은 내장된 기본 계층 코덱에 수반되는 시간 변환들에서의 움직임 보상을 위한 상이한 기준 조합 경우들을 나타낸다. 후보 기준 프레임들은 시간 로우 패스 부-대역 입력으로부터의 프레임들(예를 들어, 짝수 프레임들)을 포함한다. 후보 기준 프레임들은 기본 계층의 업샘플링된 출력으로부터의 시간적으로 대응되는 (예를 들어, 동일한 시간의), 재구성된 프레임들도 포함한다. 예를 들어, 도 20의 조합 (1)에서, 하이 패스 부-대역 프레임 H은 (로우 패스 부-대역 프레임 L에 대응되는) 선행 시간 부-대역의 짝수 프레임으로부터의 제 1 MCP를 사용하고 (시간적으로 하이 패스 부-대역 프레임 H와 함께 위치하는) 기본 계층으로부터 업샘플링된 재구성으로부터의 제 2 MCP를 사용한다. 그에 따라, 하이 패스 부-대역 프레임 H는 (대응되는 로우 패스 부-대역 프레임 L을 생성하기 위한) 움직임 보상을 위해 사용된 짝수 프레임을 업데이트하는데만 사용된다. 기본 계층으로부터의 기준이 예측 단계에 사용된다면, 그것을 위한 대응되는 업데이트 단계는 불필요하다.
일부 구현들에서, 인코더는 매크로블록-대-매크로블록 기준으로 움직임 보상을 위한 기준 프레임(들)을 선택하고 전환한다. 다른 방법으로, 인코더는 소정의 다른 기준으로(예를 들어, 현재의 홀수 프레임마다, 움직임 벡터 및 매크로블록 분할마다) 움직임 보상을 위한 프레임(들)을 선택하고 전환한다.
도 18로 돌아가면, 마지막 시간 분해 이후에, 기본 계층 출력 L-t2'의 프레임 속도는 최종적인 시간 로우 패스 부-대역 t-L4의 프레임 속도 4배이다. 최종적인 시간 로우 패스 부-대역 t-L4로부터, 인코더(1800)는 기본 계층 출력 L-t2'의 시간적으로 대응되는, 업샘플링된 재구성 프레임들을 감산한다. 이것은 오차 부-대역 t-L4'을 발생시킨다. 마지막으로, 인코더(1800)는 확장가능한 비트 스트림을 생성하기 위해 개개의 부-대역들(예를 들어, t-H1, t-H2, t-H3, t-H4 및 t-L4')에 대해 공간 변환 및 엔트로피 코딩을 수행한다.
도 19는 제 3 방식에 따른 대응되는 3D 부-대역 디코더(1900)를 나타낸다. 디코더(1900)는 내장된 기본 계층 디코더(1920) 뿐만 아니라 기본 계층 디코더(1920) 이후의 업샘플링 모듈(1930)을 포함한다.
도 15에 나타낸 디코더(1500)와 마찬가지로, 업샘플링 모듈(1930)은 선택적이다. 이것은, 내장된 디코더(1920)에 의해 디코딩된 비디오가 다운스트림의 시간 역변환 레벨들에 의해 사용되는 시간 부-대역 프레임들보다 낮은 공간 해상도를 가질 경우에, 사용된다. 그렇지 않으면, 업샘플링 모듈(1930)은 생략될 수 있다.
도 19의 점선으로 이루어진 직사각형은 역 시간 분해의 4개 레벨들 이전의 기본 계층 디코더(1920) 관련 연산들을 포함한다. 다른 기본 계층 디코더들과 마찬가지로, 낮은, 기본 계층 프레임 속도 및 (어쩌면) 낮은 공간 해상도를 가진 비디오는 기본 계층 디코더(1920)로써 직접적으로 디코딩되어 출력될 수 있다.
그렇지 않으면, 디코더(1900)는, 디코더(1900)가 비디오를 재구성하는데 사용할 확장가능한 비트 스트림(예를 들어, t-H1, t-H2, t-H3, t-H4 및 t-L4')으로부터의 부-대역들 중 어떤 것에 대해서도 엔트로피 디코딩 및 역 공간 분해를 수행한다.
내장된 디코더(1920)는 기본 계층 해상도에서 인코딩된 비디오에 대한 기본 계층 비트 스트림(1995)을 수신한다. 적절한 디코딩 연산들을 사용해, 내장된 디코더(1920)는 기본 계층 비트 스트림(1995)의 압축되고, 다운샘플링된 부-대역 ts-LL을 디코딩하여, 부-대역의 재구성된 버전 ts-LL'을 발생시킨다. 업샘플링 모듈(1930)은 소정의 필터링 메커니즘을 사용해 기본 계층 디코더(1920)로부터 재구성된 부-대역 ts-LL'을 업샘플링하여, 시간 부-대역 t-L2의 재구성된 버전 t-L2'을 생성한다.
디코더(1900)는 오차 부-대역 t-L4'을 업샘플링된 기본 계층 출력 t-L2'의 시간적으로 대응되는 (예를 들어, 동일 시간의) 프레임들에 추가한다. 이것은 시 간 로우 패스 부-대역 t-L4의 재구성된 버전을 발생시키는데, 이것은 제 4-레벨 역 시간 분해로 입력된다.
디코더(1900)는 재구성된 t-H3, t-H4, 및 t-L4 부-대역들 및 관련된 움직임 정보로부터 시간 부-대역 t-L2을 재구성하기 위해 역 시간 분해의 제 3 및 제 4 레벨들을 수행한다. 제 3 및 제 4 시간 역변환들을 위해, 디코더(1900)는 시간 하이 패스 부-대역들(t-H3 및 t-H4)에 대한 MCP들을 계산한다. 시간 부-대역 t-L3는 제 4-레벨 시간 변환에서의 MCP에 대한 재구성된 기준 프레임들(예를 들어, t-L3의 재구성된 짝수 프레임들)을 가지고, 시간 부-대역 t-L2는 제 3-레벨 시간 변환에서의 MCP에 대한 재구성된 기준 프레임들(예를 들어, t-L2의 재구성된 짝수 프레임들)을 가진다. 업샘플링되고 재구성된 부-대역 t-L2'에서의 시간적으로 대응되는(예를 들어, 동일-시간의) 화상들은 시간 역변환들의 제 3 및 제 4 레벨들에서의 MCP에 대한 추가적 기준 프레임들로서 동작할 수 있다.
B. 기본 계층 정보의 예시적 추가 용도들
후향호환성(backward compatibility)을 제공하며 낮은 비트 속도 비디오에 대해 속도-왜곡 의미에서의 압축 효율성을 향상시키는 것에 추가하여, 기본 계층으로부터의 출력은 추가적인 용도들을 가질 수 있다.
1. 기본 계층으로부터의 움직임 벡터들 재사용하기
리프팅-기반 MCTF를 사용하는 3D 부-대역 코딩에서, MCP 단계들에 대한 움직 임 벡터들은 움직임 예측에 의해 획득된다. 일부 구현들에서, 움직임 예측 프로세스는, MPEG2, H.264/AVC 등과 같은 기존 비디오 표준에 따른 인코더에 대한 종래의 움직임 예측과 유사하다. 또한, Haar 및 5/3 시간 변환들은, 각각, 종래의 P-화상들 및 B-화상들의 움직임 보상 프로세스들과 유사하다.
MPEG-2, MPEG-4, H.264/AVC 등과 같은 기존 표준과 호환 가능한 기본 계층 코덱의 경우, 인터-화상(P-화상 및 B-화상)에 대한 인터 압축(inter compression)을 사용해 코딩된 블록은 통상적으로 관련된 움직임 정보를 가진다. 한편, 3D 부-대역 코딩에서, 기본 계층 코덱으로부터의 시간 분해 다운스트림 레벨들(예를 들어, 도 14, 도 16 및 도 18에서의 제 3 및 제 4 레벨들)에서의 하이 패스 부-대역들은 기본 계층 출력에서 시간적으로 대응되는 화상들을 찾을 수 있다. (특히 제 3 방식에 따른) 많은 경우들에는, 이러한 하이 패스 부-대역들에 대한 움직임 정보와 기본 계층의 시간적으로 대응되는 인터-화상들에 대한 움직임 정보 사이에는 상당한 유사성이 존재한다. 이러한 상관 관계에 기초해, 인코더 및/또는 디코더는 기본 계층 코덱으로부터의 움직임 벡터들을 몇가지 목적들을 위해 재사용할 수 있다.
기본 계층 움직임 벡터들의 추가 사용에 대한 일례로서, 3D 부-대역 인코더 및 3D 부-대역 디코더는 기본 계층 움직임 벡터들을 단순히 시간적으로 대응되는 하이 패스 부-대역 프레임들에 대한 블록들을 위한 실제 움직임 벡터들로서 사용한다. (기본 계층 프레임들 및 하이 패스 부-대역 프레임들이 상이한 공간 해상도들을 가질 경우, 3D 부-대역 인코더 및 3D 부-대역 디코더는 그에 따라 기본 계층 움 직임 벡터들을 스케일링할 수 있다.) 특히, 3D 부-대역 인코더 및 3D 부-대역 디코더는 낮은 비트 속도들에서의 이러한 목적을 위해 기본 계층 움직임 벡터들을 사용한다. 기본 계층 움직임 벡터들이 이미 기본 계층 비트 스트림의 일부로서 시그널링되어 있으므로, 이것은 당연히 움직임 정보에 대한 오버헤드를 감소시킨다. 많은 경우들에서, 움직임 예측 정확도 손실 관점에서의 페널티는 미미하다.
기본 계층 움직임 벡터들의 추가 용도에 대한 다른 예에서, 3D 부-대역 인코더 및 3D 부-대역 디코더는 기본 계층 코덱으로부터의 움직임 벡터들을 움직임 벡터 예측에 사용한다. 통상적인 움직임 벡터 코딩 및 디코딩의 일부로서, 움직임 벡터 예측은 현재 움직임 벡터의 값에 대한 예측을 제공한다. 다음으로는, 현재 움직임 벡터가 표현되어, 예측된 움직임 벡터에 대한 차로서 시그널링될 수 있다. 인코더와 디코더 모두는 인접 블록들에 대해 앞서 재구성된 움직임 벡터들로부터 현재 움직임 벡터에 대해 예측된 움직임 벡터를 선택하거나 유도한다.
일부 구현들에서는, 시간 하이 패스 부-대역의 블록에 대한 현재 움직임 벡터를 위해 예측된 움직임 벡터를 선택하거나 유도할 때, 3D 부-대역 인코더 및 3D 부-대역 디코더가 시간적으로 대응되는 기본 계층 프레임의 공간적으로 대응되는 블록으로부터의 움직임 벡터를 사용한다. 예를 들어, 3D 부-대역 인코더 및 3D 부-대역 디코더는 기본 계층으로부터의 움직임 벡터를 예측된 움직임 벡터로 사용한다. 또는, 3D 부-대역 인코더 및 3D 부-대역 디코더는 기본 계층으로부터의 움직임 벡터를, 그로부터 예측된 움직임 벡터가 선택될 수 있는 후보(예를 들어, 후보들의 중앙값)로서 사용한다.
기본 계층 움직임 벡터의 추가적 용도에 대한 또 다른 예에서, 3D 부-대역 인코더는 기본 계층 움직임 벡터들을 사용해 움직임 예측의 속도를 향상시킨다. 예를 들어, 부-대역 인코더는 대응되는 기본 계층 움직임 벡터를 움직임 예측 초기에 고려함으로써 좀더 빨리 적당한 현재 움직임 벡터를 찾아낸다.
마찬가지로, 3D 부-대역 인코더 및 3D 부-대역 디코더는 기본 계층으로부터의 움직임 모드(에를 들어, 블록 분할, 방향) 정보를 재사용할 수 있다. 일부 경우들에서, 기본 계층 모드 정보는 시간적으로 대응되는 하이 패스 부-대역 프레임들의 블록들에 대한 실제 모드 정보로서 사용될 수 있다. 또는, 기본 계층 모드 정보는 모드 정보의 예측으로 사용되거나 움직임 예측의 속도를 향상시키는데 사용될 수 있다.
도 21 내지 도 23은, 기본 계층으로부터의 움직임 정보가 기본 계층 이후의 시간 분해에서의 시간 하이 패스 부-대역들에 대해 특히 유용한, 상이한 코딩 구조들(프레임 유형들의 패턴들)을 나타낸다. 도 21에서, 기본 계층의 코딩 구조는 3D 부-대역 코딩을 위한 공통 구조에 적합하도록 조정된다. 3개의 B-화상들이 2개의 I- 또는 P-화상들 사이에 삽입되고, (H.264/AVC에서 사용되는 저장된 B-화상와 같은) 제 2 B-화상은 제 1 및 제 3 B-화상들을 위한 기준으로서 사용된다. 이런 식으로, 기본 계층의 B-화상들에 대한 움직임 벡터들은 3D 부-대역 코딩의 시간적으로 대응되는 하이 패스 부-대역 프레임들에 대해 아주 자연스럽게 재사용될 수 있다.
기본 계층 코덱에 대한 기존의 소정의 표준들과의 호환성을 위해, 도 22의 프레임워크는 기본 계층을 위한 통상적 코딩 구조를 사용하지만 3D 부-대역 코딩을 위해 프레임 유형들의 패턴을 조정한다. 3개의 B-화상들이 기본 계층의 2개의 I/P-화상들 사이에 삽입되지만, 3개의 B-화상들은 (B-화상들이 아니라) I/P-화상들만을 움직임 보상 기준들로 취한다. 3D 부-대역 코딩 방식에서, 패턴은 2개의 로우 패스 부-대역들 사이에서 발생된 3개의 하이 패스 부-대역들을 포함한다.
도 23은 일반적인 패턴을 도시한다. 기본 계층에서, 3D 부-대역 코딩의 하이 패스 부-대역들에 시간적으로 대응되는 화상들은 B- 또는 P-화상들로써 코딩된다. 도 21 및 도 22에 나타낸 패턴들은 5/3 시간 분해에 적합한 반면, 도 23에 나타낸 패턴은 (각각, P-화상 및 B-화상 관계들에 대응되는) Haar 및 5/3 시간 분해를 위해 적응적으로 사용될 수 있다.
2. 기본 계층으로부터 내부 영역 예측하기
비디오 시퀀스들에 폐색들(occlusions) 또는 불규칙한 움직임들이 존재할 경우, 움직임 예측은 시간 하이 패스 부-대역의 일부 블록들에 대해서는 불량하게 정합되는 블록들만을 찾을 수 있을 뿐이다. 내부-코딩 모드가 불가능할 경우, 이러한 경우들에 대해 강제된 내부-예측은 코딩 성능을 열화시킬 수 있으며 비주얼 품질에 나쁜 영향을 미칠 수 있다.
H.264/AVC 표준에서, 내부 예측 기술들은, MCP가 실패하는 경우들을 다룬다. 내부 예측에서, 현재 블록에 대한 예측자는 재구성된 인접 픽셀들로부터의 공간 예측에 의해 획득된다. 그러나, 개방-루프 MCTF 구조를 사용하는 3D 부-대역 코딩에서, 이러한 공간 예측은 부정합 및 오류 드리프팅(error drifting)을 도입하는 경 향이 있다.
상술된 제 1 및 제 2의 내장된 기본 계층 코딩 방식들에서, 기본 계층 코딩 및 디코딩을 종료한 후, 3D 부-대역 코딩을 위한 추가적 시간 분해가 차 정보에 대해 수행된다. (도 14에서, 예를 들어, 차 정보는 시간 부-대역 입력 t-L2와 기본 계층 코덱으로부터의 출력 ts-LL'에 대한 업샘플링된 버전 t-L2'간의 오차다.) 통상적으로, 차는 고-주파수 에너지만을 가지며 그것의 공간 중복성은 낮다. 따라서, 블록이 기본 계층 코덱에서 내부 모드로 코딩될 때, 3D 부-대역 코딩의 이후의 시간 분해에서의 내부 예측은 대개 불필요하게 된다. 이것은 개방-루프 3D 부-대역 코딩에서의 내부 예측과 관련된 부정합 문제를 방지할 수 있게 하면서, 코딩 성능 및 비주얼 품질을 향상시킨다.
한편, 상술된 제 3의 내장된 기본 계층 코딩 방식에서는, 3D 부-대역 코딩에 대한 추가적 시간 분해가 차 정보에 대해 수행되지 않는다. 그러나, 이러한 제 3 방식에서, 기본 계층 코덱의 출력은 후보 기준 화상들을 제공할 수 있고, 후보 기준 화상들은 공간 내부 예측을 사용해 코딩된 블록들을 포함할 수 있다. 기본 계층 출력으로부터의 기준 화상들의 내부-코딩된 블록들에 대해 움직임 보상을 수행하는 것은, 그렇지 않으면 MCTF의 MCP가 불량하게 정합되는 블록만을 찾아내는 상황들을 해결할 수 있게 한다. 기본 계층 출력으로부터의 기준 화상들은 이후의 3D 부-대역 코딩의 로우 패스 부-대역들에 대한 예측자들로서 사용될 수도 있다. 3D 부-대역 인코더는 기본 계층으로부터의 내부 모드 정보를 사용해 기본 계층 출력으 로부터의 기준 화상들을 이후의 MCP 또는 다른 예측을 위해 사용해야 할 때를 판정할 수 있다.
3. 추가 시간 분해를 위한 움직임 예측
순수한 3D 부-대역 코딩에서, 그리고 상술된 제 3 방식에 따른 내장된 기본 계층 코덱을 이용하는 3D 부-대역 코딩에서, 움직임 예측은 더 높은 레벨의 하이 패스 부-대역들 및 움직임 정보를 얻기 위해 원래의 로우 패스 부-대역들에 대해 수행된다. 이러한 움직임 예측은, 움직임 정보를 코딩하는 비용에 대하여 오차 정보를 코딩하는 비용을 가중하는 "람다(lambda)" 매개변수와 같은, 다수의 통상적인 움직임 예측 매개변수들을 효과적으로 통합한다.
그러나, 상술된 제 1 및 제 2 방식들에 따른 내장된 기본 계층 코덱을 사용하는 3D 부-대역 코딩의 경우, 추가적 시간 분해를 위한 움직임 예측이 차 정보에 대해 수행된다. 이와 같이, 움직임 예측은 통상적인 움직임 예측 매개변수들을, 추가적인 시간 분해에서 인접 프레임들간의 시간 중복성을 이용하도록, 수정한다. 예를 들어, 인코더는 람다 매개변수를 조정해 시간 분해로의 상이한 입력을 설명한다.
C. 기본 계층 코덱 또는 디코더를 사용하기 위한 예시적 기술들
도 24는 내장된 기본 계층 코덱을 사용하는 확장가능한 인코딩을 위한 기술(2400)을 나타낸다. 도 25는 내장된 기본 계층 디코더를 사용하는 확장가능한 디코딩을 위한 기술(2500)을 나타낸다. 도 14, 도 16, 또는 도 18을 참조하여 설명된 바와 같은 3D 부-대역 인코더는 도 24에 나타낸 기술(2400)을 수행하고, 도 15, 도 17, 또는 도 19를 참조하여 설명된 바와 같은 3D 부-대역 디코더는 도 25에 나타낸 기술(2500)을 수행한다. 다른 방법으로는, 다른 인코더 또는 디코더가 기술들(2400, 2500)을 수행한다.
도 24를 참조하면, 3D 부-대역 인코더는 부-대역 코딩을 사용해 비디오의 하나 이상 계층들을 인코딩한다(2410). 이것은 기본 계층 코덱으로의 입력을 발생시킨다. 예를 들어, 3D 부-대역 인코더는 MCTF의 하나 이상 레벨들을 수행하여, 시간 하이 패스 부-대역들에 대한 움직임 정보를 찾아내고 기본 계층 코덱으로의 베이스 프레임 속도 비디오 입력으로 사용할 시간 로우 패스 부-대역을 발생시킨다. 다른 방법으로, 3D 부-대역 인코더는 이 단계에서 인코딩의 다른 및/또는 추가 유형들을 수행한다.
3D 부-대역 인코더는 기본 계층 코덱으로 기본 계층 비디오를 인코딩한다(2430). 예를 들어, 기본 계층 코덱은 H.264/AVC, MPEG-2, VC-1, 또는 WMV9 코덱이고 대응되는 압축된 비디오 비트 스트림 및 재구성된 출력 비디오를 발생시킨다. 움직임 정보 및 내부 모드 정보는 압축된 비트 스트림의 일부이거나 이 정보는 소정의 다른 형태로 개별적으로 3D 부-대역 인코더에 제공될 수 있다.
그 다음, 3D 부-대역 인코더는 기본 계층 코덱으로부터의 결과들을 사용해 비디오에 대한 하나 이상 계층들을 인코딩한다(2450). 예를 들어, 3D 부-대역 인코더는 기본 계층 코딩 및 디코딩의 결과들로부터 계산된 차 정보에 대한 시간 분해의 하나 이상 레벨들을 수행한다. 또는, 3D 부-대역 인코더는 기본 계층 코덱으로부터 재구성된 비디오의 기준 화상들을 사용해 시간 로우 패스 부-대역에 대해 시간 분해의 하나 이상 레벨들을 수행한다. 또는, 3D 부-대역 인코더는 시간 분해의 인코딩 또는 판정들에 움직임 정보 및/또는 내부 모드 정보를 사용한다. 다른 방법으로, 3D 부-대역 인코더는 기본 계층 코덱으로부터의 결과들을 소정의 다른 방식으로 후속 부-대역 코딩에 사용하거나 후속 인코딩을 생략한다(2450).
인코더는 인코딩 프로세스를 계속할 것인지의 여부를 판정하고(2490), 그렇다면, 후속 프레임들로 계속한다.
도 25를 참조하면, 3D 부-대역 디코더는 기본 계층 디코더로 기본 계층 비디오를 디코딩한다(2530). 예를 들어, 기본 계층 디코더는 H.264/VAC, MPEG-2, VC-1, 또는 WMV9 디코더이고, 이것은 대응되는 압축된 비디오 비트 스트림을 파싱하고 디코딩하여 재구성된 출력 비디오를 발생시킨다.
3D 부-대역 디코더는 디코딩을 위한 해상도를 판정한다(2540). 해상도는, 디코더가 실제로 얼마나 많은 정보를 수신하는지(예를 들어, 기본 계층 비디오만 또는 하나 이상의 추가 계층들도)에 따라 또는 소정의 다른 방식으로 판정되는, 사용자-레벨 설정 또는 소정의 다른 설정에 따라 판정될 수 있다. 다른 방법으로, 3D 부-대역 디코더는 디코딩 경로들 중 단 하나만을 가진다. 예를 들어, 개개의 디코더들의 리소스들에 적합하게, 하나의 디코더는 기본 계층 경로를 포함할 수 있는 한편, 다른 디코더는 기본 계층 + 확장가능한 계층 경로를 포함한다.
더 높은 해상도의 비디오가 디코딩되지 않는다면(판정 2540에 대한 경로가 "아니오"라면), 3D 부-대역 디코더는 단계 2590으로 진행한다.
그렇지 않으면, 3D 부-대역 디코더는 기본 계층 디코딩으로부터의 결과들을 사용해 비디오에 대한 하나 이상의 추가 계층들을 디코딩한다(2550). 예를 들어, 3D 부-대역 디코더는 차 정보에 대해 역 시간 분해의 하나 이상 레벨들을 수행한 다음 재구성된 차 정보를 기본 계층 디코딩의 결과들에 추가한다. 또는, 3D 부-대역 디코더는, 시간 로우 패스 부-대역을 재구성하기 위해, 기본 계층 디코더로부터 재구성된 비디오의 기준 화상들을 사용해, 역 시간 분해의 하나 이상 레벨들을 수행한다. 다른 방법으로, 3D 부-대역 디코더는 기본 계층 디코더로부터의 결과들을 소정의 다른 방식으로 후속 부-대역 디코딩에 사용한다.
마지막으로, 디코더는 디코딩 프로세스를 계속할 것인지의 여부를 판정하고(2590), 그렇다면, 후속 프레임들로 계속한다.
도 24 및 도 25에 나타낸 다양한 연산들은 분리될 수 있거나, 다른 연산들과 조합될 수 있거나, 재배열될 수 있다.
Ⅵ. SDMCTF -인코딩된 비디오를 디코딩할 때의 공간 확장성
일반적으로, MCTF가 3D 부-대역 비디오 코딩에서 수행되는 때에 따라, 2개의 MCTF 카테고리들이 존재한다. 대역내 MCTF(IBMCTF)라고 명명된 제 1 카테고리에서, 인코더는 먼저 비디오를 공간적으로 분해한 다음 부-대역/웨이블릿 영역에서 MCTF를 수행한다. 그 다음, 디코더는 추가적인 공간 분해들을 수행한다. 공간-영역 MCTF(SDMCTF)라고 명명된 제 2 카테고리에서, 인코더는, 공간 분해 전에, 공간 영역에서 직접적으로 MCTF를 수행한다. 마찬가지로, 디코딩 동안, IMCTF가 공간 영역에서(SDIMCTF) 또는 대역내에서(IBIMCTF) 수행될 수도 있다.
따라서, SDMCTF를 사용하는 3D 부-대역 코딩에서, 전체 비디오는 공간 영역 에서의 다수의 움직임-정렬형 시간 변환들 및 후속적인 공간 변환들에 의해 분해된다. 도 5는 (역) 시간 변환들의 4개 레벨들 및 (역) 공간 변환들의 2개 레벨들을 가지며, 디코딩의 공간 확장성이 없는, 완전 인코딩 및 디코딩 방식을 나타낸다. 디코딩 프로세스는 정확하게 도 5의 인코딩에 대한 역이다.
일반적으로, IBMCTF 방식들의 성능은 특정 비트 속도에 대한 품질의 관점에서 SDMCTF 방식들의 성능만큼 양호하지 않다. 이런 이유로, 많은 3D 부-대역 인코더들은 SDMCTF를 사용한다. 그러나, 일부 애플리케이션들에서는, 디코더가 비디오 출력의 좀더 낮은 공간 해상도 버전을 발생시킨다. 예를 들어, CIF 해상도(352×288 픽셀들)의 원래 비디오의 경우, 일-레벨의 공간 확장성으로 디코딩하기 위해, 3D 부-대역 디코더는 디코딩된 비디오의 QCIF 버전(176×144 픽셀들)을 발생시킨다. 이것은, 디코더가 작은 스크린 장치(예를 들어, 셀룰러 비디오폰)와 관련되거나 디코더가 신뢰할 수 없는 접속을 통해 낮은 공간 해상도의 부-대역 정보만을 수신하는 경우에 해당될 수 있다. 그러나, 이러한 시나리오들은, 움직임 정보, 기준 화상들 등이 완전 공간 해상도의 관점에서 표현되기 때문에, 비디오상의 MCTF 연산들이 공간 영역에서 수행될 경우에 문제가 될 수 있다.
본 섹션은, SDMCTF-인코딩된 비디오를 낮은 공간 해상도의 출력을 위해 디코딩할 경우에 디코딩 성능을 향상시키기 위한 다양한 메커니즘들을 설명한다. 일부 실시예들에서는, 예를 들어, 3D 부-대역 비디오 디코더가 소정의 해상도(예를 들어, CIF)의 SDMCTF를 사용해 인코딩된 비디오를 수신하지만, 이 비디오를 낮은 해상도(예를 들어, QCIF)의 출력을 위해 디코딩한다. 3D 부-대역 디코더는 몇가지 상이한 메커니즘들 중 하나를 사용해 디코딩 성능을 향상시킨다.
A. SDMCTF 비디오를 디코딩할 때의 간단한 공간 확장성 방식들
도 26은 SDMCTF-인코딩된 비디오에 대해 압축된 비디오 비트 스트림으로부터 더 낮은 공간 해상도의 비디오를 디코딩하고 출력하는 2개의 간단한 방식들(2600, 2650)을 도시한다. 더 낮은 공간 해상도의 비디오는 도 26의 공간 확장성의 일-레벨에 의한 완전 공간 해상도와 상이하다.
제 1 방식(2600)은 직접적인 해결책을 제공한다. 3D 부-대역 디코더는 먼저 (CIF 비디오로서 도시된) 완전 공간 해상도 비디오를 복구한다. (제 2의 공간 역변환에 대한 공간 하이 패스(SH) 부-대역들이 누락되었다는 가정하에서, 디코더는 제 2 공간 역변환의 SH 부-대역들은 공백으로(SH=0) 취급한다.) 역 시간 분해 후에, 3D 부-대역 디코더는 (공간 변환으로 표시되어 있는) 필터로 완전 공간 해상도 비디오를 (QCIF로 표시되어 있는) 출력 해상도로 다운샘플링한다. 디코더는 SDIMCTF를 수행하며, CIF 비디오를 중간 단계들에서 디코딩할 때 다수의 디코딩 리소스들(예를 들어, 계산 리소스들, 기준 화상 버퍼들)을 사용한다.
한편, 제 2 방식에서(2650), 3D 부-대역 디코더는 IBIMCTF를 수행한다. 제 2 방식(2650)은 저해상도 비디오를 디코딩하는 귀납적인 방법을 도시한다. 제 1 방식(2600)처럼, 제 2 방식(2650)은 엔트로피 디코딩 및 시간 역변환들의 4개 레벨들을 포함한다. 제 2 방식(2650)은 사실상 제 1 방식(2600)보다 하나 적은 공간 역변환을 포함한다. (제 2 공간 역변환 및 제 2 방식(2650)을 위한 것으로 표시되어 있는 후속 공간 변환은 서로 상쇄되므로 생략될 수 있다.)
제 2 방식(2650)에서, 3D 부-대역 디코더는, 시간 역변환들을 공간 로우 패스(SL) 부-대역 해상도에서 수행하면서, 본질적으로 SL 부-대역(제 1 공간 역변환의 출력)을 원래 비디오 전체로서 취급한다. 이것은 디코딩 프로세스를 공간 확장성없이 근사하고, 낮은 계산 복잡도 및 (기준 화상들 등을 위한) 낮은 버퍼 요구 사항들의 이점들을 가진다. 또한, 비디오의 원래 해상도 및 공간 확장성은 디코더에 대해 완전히 투과적일 수 있다. 방식(2650)의 성능은 낮은 비트 속도들에서는 만족스럽지만 높은 비트 속도들에서는 그렇지 않다. 특히, 비트 속도가 증가함에 따라, 비트 속도가 아주 높은 경우라 하더라도, 고품질의 낮은 공간 해상도 비디오를 재구성하기는 어렵거나 불가능하다.
도 26에 나타낸 2개 디코딩 방식들(2600, 2650)간의 차는, MCP 및 MCU 단계들이 IMCTF 동안에 수행되는 방식이다. 도 27은 IMCTF의 일 레벨에서의 2개 방식들(2600, 2650)에 대한 MCP를 도시한다. 특히, 도 27은 기준 화상들의 이용 가능한 (SH 부-대역 정보는 아닌) SL 부-대역 정보로부터의 예측 단계에서의 SL 리프팅 신호들의 생성을 나타낸다.
SDIMCTF의 경우, SL 리프팅 신호는 다음의 수학식 9과 같이 발생되는데,
Figure 112005037603862-pat00011
여기서, INTPSD는 기준 화상 정보를 위한 공간 영역의 픽셀들에 대한 보간을 지시하고, MCPSD는 공간 영역에서의 MCP를 지시한다. DWT는 선형 연산으로, 다음의 수학 식 10과 같다.
Figure 112005037603862-pat00012
SL 해상도 버퍼를 사용해 중간 결과들을 보유하기 위해, DWT는 공간-영역 예측을 SL 영역에서의 예측으로 감소시킨다.
IBIMCTF를 위해, SL 리프팅 신호는 다음의 수학식 11과 같이 발생되는데,
Figure 112005037603862-pat00013
INTPSL은 기준 화상 정보를 위한 SL 영역의 픽셀들에 대한 보간을 지시하고, MCPSL은 SL 영역에서의 MCP를 지시한다. 간략화를 위해, INTPSD 및 INTPSL에 동일한 보간 필터가 사용된다.
B. 이론적 분석
다양한 팩터들이 SDMCTF-인코딩된 비디오의 3D 부-대역 디코딩에서의 공간 확장성에 따른 문제들을 초래한다. 일 팩터는 SL 영역에서의 보간 및 움직임 보상의 비효율성이다. 다른 팩터는 (인코딩시의 MCTF 위치에 비교되는) IMCTF의 위치이다. 또 다른 팩터는 움직임 보상에 의해 발생되는 부-대역들에 걸친 전력 스펙트럼 누설이다.
이러한 팩터들 이외에도, 다양한 인코딩/디코딩 사양들이 인코더의 SDMCTF와 디코더의 IBIMCTF간에 부정합을 초래할 수 있다. 이러한 2개 사양들이 움직임 벡 터 스케일링 및 OBMC이다. 이 섹션에서는, 간략화를 위해, 움직임 벡터들의 정확도가 IBIMCTF에서 변경되지 않으며, 움직임 보상을 위해 사용되는 서브-픽셀 보간이 IBIMCTF 동안의 움직임 정보를 이용하기에 충분히 정밀하다고 가정한다. 역시 간략화를 위해, OBMC는 디스에이블되고, MCP 연산들은 단지 적용 가능한 움직임 벡터에만 따르는 간단한 픽셀-추출 연산들이라고 가정된다. 이러한 간략화를 위한 가정들에도 불구하고, 선행 문단에서 열거된 팩터들은 IBIMCTF의 성능을 열화시킬 수 있다.
1. 보간
(겹선형 필터 또는 8-탭 싱크 필터와 같은) 동일한 보간 필터가 공간-영역 보간 및 SL 영역 보간 모두에 사용되는 경우라 하더라도, 프레임의 동일 위치에서의 소정의 분수 픽셀은, 2개 연산들의 상이한 스케일로 인해, 픽셀들의 상이한 세트들로부터 보간된다. 이로 인해, 서브-픽셀 보간된 기준 화상들간에 부정합이 초래된다.
SL 영역에서의 보간은 다른 이유로 인해 비-최적일 수 있다. 웨이블릿 변환의 데시메이션 양상(decimation aspect)으로 인해, 공간 LL 대역 단독으로는 원래 비디오의 로우 패스 신호 전체를 완벽하게 표현할 수 없다. 즉, 하이 패스 신호를 고려하지 않거나 하이 패스 신호가 부재일 경우에는, 위상 위치들 중 절반에서, 로우 패스 신호의 일부가 상실된다. 데시메이션의 한가지 결과는 공간 LL 대역의 시프트-변형 속성(shift-variant property)이다. LL 대역의 불완전성으로 인해, 보간된 로우 패스 프레임을 획득할 때, (수학식 12에 나타낸 바와 같이) LL 대역에서 직접적으로 보간을 수행하는 것은 비-최적일 수 있다.
Figure 112005037603862-pat00014
Figure 112005037603862-pat00015
Figure 112005037603862-pat00016
다른 방법은 과완전 웨이블릿 표현(overcomplete wavelet representation)으로의 변환을 통한 1/2-픽셀 보간을 수행하는 것이다. SL 부-대역으로부터의 과완전 표현은 (나타내지 않은) CODWT(complete-to-overcomplete DWT)에 의해 또는 (수학식 13에 나타낸) IDWT(inverse DWT) 및 OCDWT(overcomplete DWT)에 의해 발생될 수 있다. 이러한 IDWT + OCDWT 조합은 일-레벨 보간으로 기능한다. 보간의 오차 레벨들은, 수학식 13에서 INTPOC - LL로서 지시된, 과완전 웨이블릿 영역의 통상적인 보간으로써 수행될 수 있다.
통상적인 과완전 웨이블릿 표현으로의 변환은 SL-영역의 1/2-픽셀 보간만을 제공한다. SL 영역에서의 1/4-픽셀의 움직임 벡터 정확도 또는 좀더 미세한 움직임을 지원하기 위해, 디코더는 CPOCWT(continuous phase overcomplete wavelet transform)를 사용할 수 있다. SL 부-대역에서의 1/4-픽셀 위치들을 위해, 디코더는, 수학식 14에 나타낸 바와 같이, 공간 영역에서의 보간을 수행한다. 그 다음, 보간된 프레임의 로우 패스 부-대역이 DWT에 의해 획득된다. DWT는 스케일에 민감한 연산이다. 인코더의 DWT를 정합하기 위해, 디코더는 보간된 프레임의 샘플링된 m개 픽셀들에 대해 OCDWT를 수행하는데, 이 경우, m×m은 OCDWT 이전의 공간-영역 보간에 대한 팩터이다. 수학식 14에서, DSDWT는, 개개의 서브-프레임들에 대해 OCDWT들을 수행하고 획득된 계수들을 뒤쪽으로 인터리브하는, 공간-영역 보간 프레임을 다수의 서브-프레임들로 다운샘플링하는 것을 표현한다. 이와 같이, DSDWT는 OCDWT의 일종이다.
수학식 12 내지 수학식 14의 각각에 따르면, 디코더는 m×m 기준 화상들에 대해 SL 영역에서 움직임 보상 예측을 수행한다.
2. DWT MCP 의 위치 바꾸기(Position Swap)
IBIMCTF를 위해, 대역내 보간이 수학식 14에서와 같은 공간-영역 보간으로 대체된다하더라도, MCP를 위한 기준 화상들은 여전히 로우 패스 프레임들이고, MCP는 웨이블릿 영역에서 발생한다. 인코더와 비교할 때, DWT와 MCP의 예상되는 순서는 바뀐다(이 경우, 인코더에서는, MCP가 DWT를 선행한다.) 그러나, DWT와 MCP 연산은, DWT의 시프트-변경 속성으로 인해, 비교환적이다.
Figure 112005037603862-pat00017
Figure 112005037603862-pat00018
간략화를 위해, MCP가 간단한, 블록-기반의 움직임 시프트 연산들을 수반한다고 가정하면, 수학식 15는 다음과 같이 도시될 수 있다. 현재 프레임이 블록들 B={Bi|i=1, ..., m}로 분리되고 이러한 블록들에 대한 움직임 벡터들이 MV={MVi|i=1, ..., m}라고 가정한다. Fi ref는, 블록 Bi에 의해 참조되는 픽셀들만이 보유되고 다른 픽셀들은 0으로 설정되는, 기준 프레임 Fref의 새로운 버전이다.
Figure 112005037603862-pat00019
Figure 112005037603862-pat00020
수학식 18에서의 제 1 부등식은 DWT의 시프트-변경 속성으로 인한 것이다. 수학식 18의 제 2 부등식은, 움직임이 아주 복잡할 경우, MCP에서의 움직임 시프트 동안의 오버래핑(overlapping) 및 언커버링(uncovering)으로 인한 것이다.
가능한 한가지 솔루션은, 다음의 수학식 19에 나타낸 바와 같이, MCP를 DWT 이전에 공간 영역으로 이동시키는 것이다. 이 경우, MCP는 SDIMCTF의 일부이다.
Figure 112005037603862-pat00021
3. 움직임 시프트로 인한 전력 스펙트럼 누설
3D 웨이블릿 코딩에서, 공간-시간 부-대역들은 대개 독립적인 것으로 가정된다. 많은 응용들에서, 공간-시간 부-대역들은, 특히 하이 패스 부-대역들에서, 자유자재로 누락된다. 그러나, MCTF의 3D 부-대역 코딩에서, 인접 프레임들의 로우 패스 부-대역들 및 하이 패스 부-대역들은 움직임 시프트들에 의해 도입되는 전력 스펙트럼 누설로 인해 유사점들을 가진다.
하나의 공간 부-대역에서의 신호만을 포함하는 프레임이 움직임에 따라 시프트될 때, 신호의 일부는 다른 공간 부-대역들로 전송될 것이다. 도 28은 간단한 전역적 움직임을 위한 현상을 도시한다. 도 28의 제 1 로우에서, 원래 프레임(Org)은 2개 부분들: SL 신호(A) 및 SH 신호(B)로 분리된다. 제 2 로우에서는, SL 신호(A)만을 포함하는 프레임이 간단한 이미지-영역 움직임 시프트(IMS)로 공간 영역으로 시프트되고, 시프트된 프레임은 이제 SH 신호를 포함한다. 마찬가지로, 도 28의 제 3 로우에서는, SH 신호(B)만을 포함하는 프레임이 공간 영역으로 시프트되고, 시프트된 프레임은 이제 SL 신호를 포함한다. 스펙트럼 누설 문제들은, 움직임이 복잡할 경우, 점점 더 심각해진다.
따라서, 인코더의 SDMCTF 및 SL 정보를 사용하는 IMCTF로는, 기준 프레임들의 SL 성분들이 프레임들의 SH 성분들 중 일부를 예측한다. 따라서, 디코더가 시 작시에 SL 부-대역 정보만을 가진다 하더라도, 디코더는 IMCTF의 각 레벨의 중간 결과들에서 의미있는 SH 부-대역 정보를 획득한다. 그러나, 디코더가 IMCTF의 레벨들간의 중간 결과들을 보유하기 위해 SL 해상도 버퍼를 사용할 경우, 이것은, IMCTF의 후속 레벨의 MCP를 위해 유용할 수도 있는 SH 부-대역 정보를 누락한다.
또한, 기준 프레임들의 SH 성분들은 프레임들의 SL 성분들 중 일부를 예측한다. SL 성분들을 코딩하기 위해, 인코더는 기준 프레임들의 SH 부-대역 정보를 이용할 수 있다. 디코더가 이러한 SH 성분들을 액세스할 수 없을 때, SH 부-대역들의 부재는 일종의 드리프팅을 초래한다. (예를 들어, 인코더는 (SH 정보를 포함하는) 완전 해상도 프레임들로부터 MCP를 수행하지만, 디코더는 SL 정보만을 가질 경우) 결과는 PSNR 상승 한계(PSNR ceiling)이고, PSNR 곡선은 비교적 낮은 비트 속도에서 수평으로 바뀐다.
C. SDMCTF -인코딩된 비디오를 공간 확장성으로 디코딩하는 향상된 방식들의 예들
일부 실시예들에서, 3D 부-대역 디코더는, SDMCTF-인코딩된 비디오를 보다 낮은 공간 해상도 출력을 위해 디코딩할 때, 디코딩 성능을 향상시키기 위해 몇가지 기술들 중 하나를 사용한다. 이 기술들은 디코딩 성능을 단계적으로 향상시키며, 대개는 인코더 및 전송되는 비트 스트림에 대한 변화들을 필요로 하지 않는다. 전체적으로, 이러한 기술들은 상이한 복잡도 레벨들에서의 상이한 옵션들을 가진 융통성있는 디코딩 방식을 제공한다.
일부 방식들에서, 디코더는 특수한 리소스들을 디코딩에 할당한다. 일반적 으로, 디코더는, 특수한 계산 리소스들이 디코딩에 충당될 때, 보다 양호한 비디오를 재구성한다. 또한, 디코더는, 특수한 버퍼 리소스들이 기준 화상 정보를 저장하는데 충당될 때, 보다 양호한 비디오를 재구성한다.
또는, 인코더나 디코더는 SL 비디오를 디코딩하기 위해 SH 부-대역 정보를 강조한다. 예를 들어, SH 부-대역 정보를 IMCTF 판정들로 통합하기 위해서는, 디코더가 SL 해상도 비디오만을 재구성하는 경우라 하더라도, 비트 스트림 추출기는, SH 계수들을 완전히 누락하는 대신, SH 계수들에 대역폭을 할당한다.
이 섹션의 다양한 도면들(즉, 도 29 내지 도 34)은 공간 확장성의 일 레벨을 나타낸다. 다른 방법으로, 3D 부-대역 디코더는 공간 확장성의 다수 레벨들을 위한 비디오를 출력한다. 동일한 맥락에서, 이 섹션의 다양한 도면들은, CIF 해상도에서 MCTF로 인코딩된 원래 비디오에 대한 QCIF 비디오를 출력하는 3D 부-대역 디코더를 나타낸다. 여기에서 설명된 기술들 및 도구들이 CIF 및 QCIF 해상도들을 사용하는 것으로 한정되는 것은 아니다.
이 섹션의 많은 도면들의 경우, 움직임 벡터들은 원래 해상도에서 1/2-픽셀 정확도를 그리고 SL 해상도에서 1/4-픽셀 정확도를 가진다. 이것은 서브-픽셀 보간과 같은 연산들에 영향을 미친다. 다른 방법으로, 움직임 벡터들은 다른 정확도들을 가지고, 디코더는 그에 따라 다소간의 서브-픽셀 보간을 수행한다. 또한, 이 섹션의 몇몇 도면들이 보간을 위한 싱크 필터를 도시하고 있기는 하지만, 다른 방법으로, 디코더는 다른 유형의 필터(예를 들어, 겹선형, 겹삼차)를 사용한다.
마지막으로, 이 섹션의 다양한 도면들은 2항 DWT 및 IDWT 연산들을 나타낸 다. 다른 방법으로, 디코더는 공간 변환 및 공간 역변환을 위해 다른 연산들을 사용한다.
1. 방식 A: IBIMCTF (베이스라인)
이후 방식들과의 비교를 위해, 도 29는, 디코딩 동안에 전용되는 추가적 계산 또는 버퍼 리소스들이 없는, IBIMCTF를 도시한다. 도 29의 방식은 도 26의 IBIMCTF 디코더(2650)에서의 IMCTF의 일 레벨에 대응된다. 도 29에 나타낸 연산들은 웨이블릿 영역에서 발생한다.
도 29에 따르면, 3D 부-대역 디코더는 SL 버퍼(2910)를 사용해 기준 화상 정보로서 사용할 SL 부-대역 정보를 저장한다. SL 부-대역 정보의 효과적인 해상도는 QCIF이다.
디코더는 4×4 싱크 필터를 사용해 서브-픽셀 보간(2920)을 수행한다. (SL 영역의 MCP에 대한 움직임 벡터 정확도는 1/4-픽셀 정확도이다.) 이것은 서브-픽셀 보간된 기준 프레임(2930)을 발생시킨다. 보간된 기준 프레임의 효과적인 해상도는 4CIF(704×576 픽셀들)이다.
디코더는, 기준 화상 정보에 대한 보간된 기준 프레임(2930)을 사용해, SL 영역에서 MCP(2940)를 수행한다. MCPSL(2940)은 SL 영역에서 예측(2950)을 발생시킨다. 이번에도, 예측(2950)의 효과적인 해상도는 QCIF이다.
2. 방식 B: 최적화된 IBIMCTF
제 2 방식 유형에서, 3D 부-대역 디코더는 보간 연산들 및/또는 MCP 연산들 을 공간 영역으로 이동시키는 것에 의해 IMCTF를 향상시킨다. 디코더는 여전히 기준 화상 정보를 위해 SL 해상도 버퍼들을 사용한다. 도 30은 제 2 유형 방식을 위한 일반화된 프레임워크를 나타내는데, 여기에서, 시간 역변환들은 최적화된 시간 역변환들(OTi -1)로 지시되어 있다. 도 31, 도 32, 및 도 33은 제 2 유형 방식의 상이한 변형들에 따른 IMCTF의 일 레벨에 대한 예들을 나타낸다.
a. 방식 B1
도 31에 나타낸 방식(방식 B1)에 따르면, 3D 부-대역 디코더는 SL 버퍼(3110)를 사용해 기준 화상 정보로서 사용할 SL 부-대역 정보를 저장한다. 디코더는 버퍼링된 SL 부-대역 정보를 사용해 IDET 연산(3120)을 수행한다. SH 부-대역들은 IDWT 연산(3120)에서 공백(SH=0)으로 취해진다. 따라서, IDWT 연산(3120)은 SL 부-대역 정보로부터 기준 프레임(3130)을 발생시킨다. SL 부-대역의 효과적인 해상도가 QCIF일 경우, 기준 프레임(3130)의 효과적인 해상도는 CIF이다.
그 다음, 디코더는 기준 프레임(3130)에 대해 OCDWT(3140) 연산을 수행해, 과완전 표현(3150)을 발생시킨다. 다른 방법으로, 디코더는 IDWT(3120) 및 OCDWT(3140)가 아니라 CODWT를 수행한다. 어떤 방식으로든, 과완전 표현(3150)은 1/2-픽셀 MCP에 적합한 위상-시프트된 값들을 포함한다.
1/4-픽셀 MCP를 준비하면서, 디코더는 2×2 싱크 필터를 사용해 서브-픽셀 보간(3160)을 수행한다. 이것은 서브-픽셀 보간된 기준 프레임(3170)을 발생시킨다. 보간된 기준 프레임(3170)의 효과적인 해상도는 4CIF이다.
디코더는, 기준 화상 정보를 위한 보간된 기준 프레임(3170)을 사용해, SL 영역에서 MCP(3180)를 수행한다. MCPSL(3180)은 SL 영역에서의 예측(3190)을 발생시킨다. 이번에도, 예측(3190)의 효과적 해상도는 QCIF이다.
b. 방식 B2
도 32에 나타낸 방식(방식 B2)에 따르면, 3D 부-대역 디코더는 SL 버퍼(3210)를 사용해 기준 화상 정보로서 사용할 SL 부-대역 정보를 저장한다. 디코더는 버퍼링된 SL 부-대역 정보를 사용해 IDWT 연산(3220)을 수행한다. SH 부-대역들은 IDWT 연산(3220)에서 공백(SH=0)으로 취해진다. 이와 같이, IDWT 연산(3220)은 SL 부-대역 정보로부터 기준 프레임(3230)을 발생시킨다. SL 부-대역의 효과적 해상도가 QCIF일 경우, 기준 프레임(3230)의 효과적 해상도는 CIF이다.
디코더는 2×2 싱크 필터를 사용해 서브-픽셀 보간(3240)을 수행한다. 이것은, 해상도가 2배만큼 수평으로 그리고 수직으로 증가된, 서브-픽셀 보간된 기준 프레임(3250)을 발생시킨다. 보간된 기준 프레임(3250)의 효과적 해상도는 4CIF이다.
그 다음, 디코더는 보간된 기준 프레임(3250)에 대해 DSDWT(3260) 연산을 수행한다. 이것은 기준 프레임 정보의 과완전 표현(3270)을 발생시킨다. 과완전 표현(3270)은 1/4-픽셀 MCP에 적합한 위상-시프트된 값들을 포함한다.
디코더는, 기준 화상 정보에 대한 보간된 기준 프레임(3270)을 사용해, SL 영역에서 MCP(3280)를 수행한다. MCPSL(3280)은 SL 영역에서 예측(3290)을 발생시 킨다. 이번에도, 예측(3290)의 효과적 해상도는 QCIF이다.
c. 방식 B3
도 33에 나타낸 방식(방식 B3)에 따르면, 3D 부-대역 디코더는 SL 버퍼(3310)를 사용해 기준 화상 정보로서 사용할 SL 부-대역 정보를 저장한다. 디코더는 버퍼링된 SL 부-대역 정보를 사용해 IDWT 연산(3320)을 수행한다. SH 부-대역들은 IDWT 연산(3320)에서 공백(SH=0)으로 취해진다. 이와 같이, IDWT 연산(3320)은 SL 부-대역 정보로부터 기준 프레임(3330)을 발생시킨다. SL 부-대역의 효과적 해상도가 QCIF일 경우, 기준 프레임(3330)의 효과적 해상도는 CIF이다.
디코더는 2×2 싱크 필터를 사용해 서브-픽셀 보간(3340)을 수행한다. 이것은, 해상도가 2배만큼 수평으로 그리고 수직으로 증가된, 서브-픽셀 보간된 기준 프레임(3350)을 발생시킨다. 보간된 기준 프레임(3350)의 효과적 해상도는 4CIF이다.
디코더는, 기준 화상 정보에 대한 보간된 기준 프레임(3350)을 사용해, 공간 영역에서의 MCP(3360)를 수행한다. (1/2-픽셀 정확도의 움직임 벡터들을 가진) MCPSD(3360)는 공간 영역에서의 예측(3370)을 발생시킨다. 이 경우, 예측(3370)의 효과적 해상도는 CIF이다.
디코더는 예측(3370)에 대해 DWT 연산(3380)을 수행해, 예측(3370)의 더 낮은 공간 해상도 버전(3390)을 발생시킨다. 더 낮은 공간 해상도 예측(3390)의 효과적 해상도는 QCIF이다.
3. 방식 C: SDIMCTF
도 34는 디코딩 동안에 전용되는 추가적인 계산 및 버퍼 리소스들을 가진 SDIMCTF를 도시한다. 도 34의 방식은 도 26의 SDIMCTF 디코더(2600)에서의 IMCTF에 대한 일 레벨에 대응된다. 도 34에 나타낸 연산들은 공간 영역에서 발생한다. 방식 B3에 비해, 방식 C의 기준 화상 버퍼는 SD 버퍼이고, 디코더는 IMCTF의 레벨마다 IDWT 및 DWT 연산들을 수행하지 않는다. 이런 식으로, 중간 결과들에서의 SH 정보가 차후의 SDIMCTF에서의 사용을 위해 보유된다.
방식 C에 따르면, 3D 부-대역 디코더는 SD 버퍼(3410)를 사용해 기준 화상 정보로 사용될 공간-영역 정보를 저장한다. 제 1 시간 역변환을 위해, 최종적인 공간 역변환은 SL 부-대역 정보로부터 SD 버퍼(3410)의 정보를 발생시킨다. 후속의 시간 역변환들을 위해, SD 버퍼(3410)의 정보는 초기의 시간 역변환들로부터 유지되고, SD 버퍼(3410)의 정보는 전력 스펙트럼 누설들로 인해 발생된 SH 정보를 포함할 수 있다. SD 버퍼(3410)의 정보에 대한 효과적 해상도는 CIF이다.
디코더는 2×2 싱크 필터를 사용해 서브-픽셀 보간(3420)을 수행한다. 이것은, 2의 팩터만큼 수평적으로 그리고 수직적으로 증가된 해상도의, 서브-픽셀 보간된 기준 프레임(3430)을 발생시킨다. 보간된 기준 프레임(3430)의 효과적 해상도는 4CIF이다.
디코더는, 기준 화상 정보를 위한 보간된 기준 프레임(3430)을 사용해, 공간 영역에서의 MCP(3440)를 수행한다. (1/2-픽셀 정확도의 움직임 벡터들을 가진) MCPSD(3440)는 공간 영역에서의 예측(3450)을 발생시킨다. 이 경우, 예측(3450)의 효과적 해상도는 CIF이다.
4. 방식 D: SH 계수들을 사용하는 SDIMCTF
SH 드리프팅 문제를 처리하기 위해, 비트 스트림 추출기의 SH 계수들에 대역폭이 할당된다. 이것은, SL 해상도의 비디오 출력을 위해 디코딩할 때 SH 부-대역 정보가 단순히 누락되는 종래의 공간 확장성과는 상이하다.
SH 계수들에 대한 최적 속도를 판정하기 위해, 낮은 공간 해상도의 왜곡을 감소시키는 것에 대한 SH 계수들의 기여가 측정된다. (통상적인 공간 확장성 관행들과 대조적으로, 전체적인 원래의 공간 해상도 비디오의 왜곡을 감소시키는 것에 의해 SH 계수들의 기여가 측정된다.) 다시 말해, 낮은 공간 해상도 비디오만이 출력되는 경우라 하더라도, SL 비디오에서의 왜곡 감소에 대한 SH 부-대역의 이점들(예를 들어, 향상된 움직임 보상형 예측 정확도)을 설명하기 위해, SH 부-대역들의 이득 팩터들이 고려된다. 이런 식으로, SH 부-대역 정보는 SL 비디오의 디코딩으로 진척될 것이다.
방식 D에서는, 디코더가 원래 해상도 비디오를 추출했던 것처럼, SH 부-대역들에 대한 현재의 이득 팩터들이 SL 비디오의 디코딩시에 사용된다. SL 및 SH 부-대역들 모두에 대한 계수들이 최종 비트 스트림에 포함될 수 있다. 다른 방법으로는, 상이한 이득 팩터들이 원래의 공간 해상도 디코딩 및 SL 디코딩을 위한 SH 부-대역들에 대해 계산된다.
방식 D에서, 3D 부-대역 디코더는, SL 비디오를 디코딩할 경우의 IMCTF 일 레벨에 대해, 도 34에 나타낸 디코딩 프레임워크를 사용한다. 기준 화상 버퍼(3410)는 SD 버퍼이다. 제 1 시간 역변환을 위해, SD 버퍼는, 최종적인 출력 비디오가 실제로는 SL 해상도만을 갖게 될 경우라 하더라도, SL 부-대역 정보 및 (적어도 일부의) SH 부-대역 정보를 사용해 구성된 기준 화상 정보를 포함한다. 중간 결과들의 SH 정보 또한 차후의 SDIMCTF에서의 사용을 위해 유지된다.
디코더는 2×2 싱크 필터를 사용해 서브-픽셀 보간(3420)을 수행한다. 이것은, 2의 팩터만큼 수평적으로 그리고 수직적으로 증가된 해상도의, 서브-픽셀 보간된 기준 프레임(3430)을 발생시킨다. 디코더는, 기준 화상 정보를 위한 보간된 기준 프레임(3430)을 사용해, 공간 영역에서의 MCP(3440)를 수행한다. (1/2-픽셀 정확도의 움직임 벡터들을 가진) MCPSD(3440)는 공간 영역에서의 예측(3450)을 발생시킨다.
5. 비교
다음의 표 1은 방식들 A, B1, B2, B3, C, 및 D의 특징들을 비교한다.
방식 SL 계수들만 SL 버퍼만 대역내 INTP 대역내 MCP
A
B1
B2 아니오
B3 아니오 아니오
C 아니오 아니오 아니오
D 아니오 아니오 아니오 아니오
다른 방법으로, 디코더는 공간-영역 보간, 공간-영역 움직임 보상, 공간-영역 기준 화상 버퍼들, 및/또는 SDMCTF-인코딩된 비디오를 더 낮은 공간 해상도 출력을 위해 디코딩할 때의 디코딩 성능을 향상시키기 위해 SH 정보를 사용하는 것의 다른 소정의 조합을 사용한다.
Ⅶ. 연속-위상의 과완전 부-대역
IBMCTF 및 IBIMCTF에서의 한가지 문제는 움직임 예측 및 보상에 대한 웨이블릿 변환들의 시프트-분산 효과를 감소시키는 방법인데, 이미지 영역의 시프트/움직임은 변환 영역으로 직접적으로 매핑되지 않는다. 일부 기술들은 정수 픽셀 이동들을 변환 영역으로 매핑한다. (예를 들어, Y.A. Andreopoulos 등의 "A New Method for Complete-to-OVercomplete Discrete Wavelet Transforms", Proc. IEEE Conf. Digital Signal Proc. (2002);및 X. Li, L.Kerofsky, S. Lei, "All-phase Motion Compensated Prediction for High Performance Video Coding", Proc. ICIP, vol. 3, pp.538-541(2001)을 참고한다.) 이 섹션은 분수 픽셀 이동들을 변환 영역의 위상 변화들에 매핑하는 기술들을 설명한다. 그렇게 함으로써, 움직임 예측 및 보상이 좀더 정확하게 수행될 수 있으며, 이것은 코딩 성능에 상당한 영향을 미칠 수 있다.
이 섹션은 일-레벨, 일-차원 웨이블릿 변환의 일례를 가진 CPOST(continuous-phase overcomplete sub-band transform)를 도시한다. p-픽셀 CPOST의 분해 프로세스는 4개의 순차적 단계들: (1) p-픽셀 보간, (2) 연속적인 시프팅, (3) 다운샘플링, 및 (4) 웨이블릿 변환을 가진다.
(p=1, 1/2, 1/4, 1/8, ...)에 대한 연속적인 p-픽셀 위상의 과완전 변환을 고려한다. p=1일 경우, CPOST는 정수-픽셀 위상의 과완전 경우이다. p의 다른 값들은 서브-픽셀 위상의 과완전 경우들을 표현한다. 입력 신호는 이산적 시간 영역 {x(n)}(n=0, 1, 2, 3, ...)의 시퀀스라고 가정한다. 인코더 또는 디코더는 먼저 {x(n)}의 p-픽셀 보간을 수행한 다음, p-픽셀 보간 시퀀스를
Figure 112005037603862-pat00022
시간만큼 연속적으로 시프트하고 시프트된 시퀀스들을 다운샘플링한다. 이것은, {xp i(n)}(i=0, 1, ...,
Figure 112005037603862-pat00023
)로써 설명되는, {x(n)}의 연속적인 위상-시프팅 시퀀스들의 세트를 발생시킨다. 마지막으로, 인코더 또는 디코더는 {xp i(n)}의 웨이블릿 분해 변환을 수행한다.
p=1/2의 경우, 연속적인 위상-시프팅 시퀀스는 다음과 같다. {y(n)}은, {x(n)}의 1/2-픽셀 보간 포인트들로 이루어진 시퀀스이다.
...x(n) y(n) x(n+1) y(n+1) x(n+2) y(n+2) x(n+3) y(n+3)...
0-위상 ... x(n) x(n+1) x(n+2) ...
1/2-위상 ... y(n) y(n+1) y(n+2) ...
1-위상 ... x(n+1) x(n+2) x(n+3) ...
3/2-위상 ... y(n+1) y(n+2) y(n+3) ...
2D CPOST는, 각각, 수평 및 수직 방향들을 따라 2개의 순차적 1D CPOST들을 수행하는 것에 의해 구현될 수 있다.
웨이블릿 영역에서는, 예측 필터들 Fp i(z)(i=0, 1, ...,
Figure 112005037603862-pat00024
)의 세트를 사용해 연속적인 p-픽셀의 위상-시프팅 시퀀스들이 획득될 수 있다. 이러한 필터들은 서브-픽셀 보간 시퀀스를 연속적으로 시프팅하고 이러한 시프팅된 시퀀스들을 다운-샘플링하는 것과 등가이다. p-픽셀 CPOST의 분해 프로세스는, 웨이블릿 분해 변환을 위해 결과들을 로우 패스 필터 GL(z)로 그리고 하이 패스 필터 GH(z)로 별개로 처리한 다음, 다운샘플링하는 것이 수반되는, {x(n)}에 대한 필터들의 응용으로서 표현될 수 있다. (i=0, 1, 2, ...,
Figure 112005037603862-pat00025
)에 대한 ip i(n) 및 hp i(n)은, 각각, CPOST의 로우 패스 계수들이다. z 영역에서, X(z) 및 Xp i(z)은, 각각, {x(n)} 및 {xp i(n)}의 z 변환들이다. Lp i(z) 및 Hp i(z)은, 각각, ip i(n) 및 hp i(n)의 z 변환들이다.
Figure 112005037603862-pat00026
Figure 112005037603862-pat00027
p-픽셀 CPOST의 분해 프로세스는 다음의 수학식 22 및 수학식 23과 같은 행렬 표현에 대응된다.
Figure 112005037603862-pat00028
Figure 112005037603862-pat00029
수학식 22는 원래 시퀀스의 시프팅없는 웨이블릿 분해 변환을 표현한다. 수학식 23은 연속적인 서브-위상 시프팅 시퀀스의 웨이블릿 분해 변환을 표현한다. 수학식 23 및 수학식 24는 CPOST를 구성한다. Lp i(z), Hp i(z)와 Lp o(z), Hp o(z)간의 관계에 대해 살펴본다. 수학식 20 및 수학식 23으로부터, 다음의 수학식 24가 얻어진다.
Figure 112005037603862-pat00030
수학식 22 및 수학식 24로부터, 다음의 수학식 25가 얻어지는데,
Figure 112005037603862-pat00031
여기서, G(z)는 다음과 같고, G- 1(z)는 G(z)의 역행렬이다.
Figure 112005037603862-pat00032
수학식 25에 따르면, 변환 행렬 Tp i(z) 및 역변환 행렬 ITp i(z)은 서브-픽셀 위상-시프팅 시퀀스들의 웨이블릿 변환을 얻기 위한 원래 시퀀스(즉, 0-위상 시프팅 시퀀스)의 웨이블릿 변환으로부터 획득될 수 있다.
Figure 112005037603862-pat00033
Figure 112005037603862-pat00034
수학식 26으로부터, 다음의 수학식 28이 존재한다면, 과완전 웨이블릿 변환 이후의 서브-픽셀 보간 결과는 이산적 시간 영역에서의 서브-픽셀 보간 이후의 과완전 웨이블릿 변환 결과와 동일하다. 그렇지 않으면, 과완전 웨이블릿 변환 이후 의 서브-픽셀 보간 결과는 이산적 시간 영역에서의 서브-픽셀 보간 이후의 과완전 웨이블릿 변환 결과와 동일하지 않다.
Figure 112005037603862-pat00035
일반적으로, 수학식 28은 존재하지 않으며, 이것은 대역내 비디오 코딩을 위해 서브-픽셀 보간과 과완전 웨이블릿 변환의 순서를 교환하지 않을 것을 제시한다. 그러나, 수학식 25에 따르면, 원래 시퀀스의 CPOST 계수들은 그것의 웨이블릿 변환 계수들로부터 유도될 수 있다.
CPOST 방법은 정수-픽셀 위상의 과완전 웨이블릿 변환 뿐만 아니라 서브-픽셀 위상의 과완전 웨이블릿 변환도 실현한다. 5-3 웨이블릿 변환 및 6-탭 보간 필터들을 가진 p=1/2에 대한 연속적인 위상의 과완전 변환 행렬 계수들은 다음과 같다. 변환 행렬들
Figure 112005037603862-pat00036
,
Figure 112005037603862-pat00037
,
Figure 112005037603862-pat00038
및 에 대한 각 요소의 계수들은 다음과 같다.
Figure 112005037603862-pat00039
Figure 112005037603862-pat00040
Figure 112005037603862-pat00041
개시된 발명의 원리들이 적용될 수 있는 가능한 다수 실시예들의 관점에서, 예시된 실시예들은 단지 본 발명의 바람직한 예들일 뿐이며 본 발명의 범위를 한정하는 것으로 간주되어서는 안된다는 것을 알 수 있어야 한다. 오히려, 본 발명의 범위는 다음의 청구항들에 의해 정의된다. 따라서, 우리는 이들 청구항들의 범위 및 정신내에 해당되는 모든 것을 우리의 발명으로 주장한다.
본 발명은 확장가능한 비디오 코딩 및 디코딩을 위한 기술 및 도구를 제공한다.

Claims (20)

  1. 기본 계층 코덱이 내장되어 있는 3D 부-대역 비디오 인코더를 이용하여 비디오를 인코딩하는 단계, 및
    상기 인코딩의 결과들을 출력하는 단계를 포함하며,
    상기 기본 계층 코덱은 2차원 주파수 변환으로 블록-기반 움직임 보상된 예측 코덱이고,
    상기 기본 계층 코덱은 상기 3D 부-대역 비디오 인코더의 복수의 시간 부-대역 변환 사이에 내장(embed)되어,
    상기 기본 계층 코덱을 이용한 인코딩/디코딩이, 상기 복수의 시간 부-대역 변환 중 하나 이상을 포함하여 이루어지는 제1 세트의 시간 부-대역 변환 이후에 수행되고 - 상기 제1 세트의 시간 부-대역 변환은 상기 기본 계층 코덱에 대한 입력 비디오를 제공함 - , 또한 상기 기본 계층 코덱을 이용한 인코딩/디코딩이, 상기 복수의 시간 부-대역 변환 중 하나 이상을 포함하여 이루어지는 제2 세트의 시간 부-대역 변환 이전에 수행되도록 - 상기 기본 계층 코덱은 상기 제2 세트의 시간 부-대역 변환에 대한 출력을 제공함 - 하는
    방법.
  2. 제1항에 있어서,
    상기 복수의 시간 부-대역 변환은 움직임 보상된 시간 필터링을 포함하는 방법.
  3. 제1항에 있어서,
    상기 기본 계층 코덱이 내장되어 있는 3D 부-대역 비디오 인코더를 이용하여 인코딩하는 단계는
    상기 기본 계층 코덱에 대한 상기 입력 비디오를 다운샘플링하는 단계,
    상기 다운샘플링된 입력 비디오에 대해 상기 기본 계층 코덱을 이용한 상기 인코딩/디코딩을 행하여, 기본 계층 비트 스트림 및 재구성된 출력 비디오를 생성하는 단계, 및
    상기 재구성된 출력 비디오를 업샘플링하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 기본 계층 코덱이 내장되어 있는 3D 부-대역 비디오 인코더를 이용하여 인코딩하는 단계는
    상기 기본 계층 코덱에 대한 상기 입력 비디오에 대해 공간 부-대역 변환을 행하여, 공간 로우 패스 부-대역 및 하나 이상의 공간 하이 패스 부-대역을 생성하는 단계,
    상기 공간 로우 패스 부-대역에 대해 상기 기본 계층 코덱을 이용한 상기 인코딩/디코딩을 행하여, 기본 계층 비트 스트림 및 재구성된 공간 로우 패스 부-대역을 생성하는 단계,
    상기 공간 로우 패스 부-대역과 상기 재구성된 공간 로우 패스 부-대역 간의 차로서 오차 부-대역을 계산하는 단계, 및
    상기 오차 부-대역 및 상기 하나 이상의 공간 하이 패스 부-대역에 대해 역 공간 부-대역 변환을 행하는 단계
    를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 기본 계층 코덱이 내장되어 있는 3D 부-대역 비디오 인코더를 이용하여 인코딩하는 단계는
    오차 부-대역에 대해 상기 제2 세트의 시간 부-대역 변환을 실행하는 단계를 더 포함하며, 상기 오차 부-대역은 상기 기본 계층 코덱에 대한 상기 입력 비디오와 상기 기본 계층 코덱으로부터의 재구성된 출력 비디오 간의 차에 적어도 일부분 기초하는 방법.
  6. 제1항에 있어서,
    상기 기본 계층 코덱이 내장되어 있는 3D 부-대역 비디오 인코더를 이용하여 인코딩하는 단계는
    상기 기본 계층 코덱을 이용한 상기 인코딩/디코딩에 이어서 상기 제2 세트의 시간 부-대역 변환에서 움직임 보상된 시간 필터링을 행하는 단계를 더 포함하며, 상기 움직임 보상된 시간 필터링 중 적어도 일부는 상기 기본 계층 코덱으로부터의 재구성된 출력 비디오 내의 하나 이상의 기준 화상에 관련되는 방법.
  7. 제6항에 있어서,
    상기 움직임 보상된 시간 필터링은 예측 스테이지(stage) 및 업데이트 스테이지를 포함하며,
    상기 움직임 보상된 시간 필터링은 하나 이상의 매크로블록 각각에 대해,
    상기 예측 스테이지에서 하위 레벨(lower level) 시간 로우 패스 부-대역으로부터의 기준 화상을 사용할 경우에는, 그 기준 화상에 대해 상기 업데이트 스테이지를 행하는 것과,
    상기 예측 스테이지에서 상기 재구성된 출력 비디오 내의 상기 하나 이상의 기준 화상 중 하나를 사용할 경우에는, 그 기준 화상에 대한 상기 업데이트 스테이지는 생략하는 것을 포함하는 방법.
  8. 제1항에 있어서,
    상기 기본 계층 코덱이 내장되어 있는 3D 부-대역 비디오 인코더를 이용하여 인코딩하는 단계는
    상기 3D 부-대역 비디오 인코더를 이용한 후속 인코딩에서 상기 기본 계층 코덱을 이용한 상기 인코딩/디코딩으로부터의 움직임 정보를 재사용하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 기본 계층 코덱이 내장되어 있는 3D 부-대역 비디오 인코더를 이용하여 인코딩하는 단계는
    상기 3D 부-대역 비디오 인코더를 이용한 후속 인코딩에서 상기 기본 계층 코덱을 이용한 상기 인코딩/디코딩으로부터의 내부 모드(intra mode) 정보를 재사용하는 단계를 더 포함하는 방법.
  10. 기본 계층 디코더가 내장되어 있는 3D 부-대역 비디오 디코더를 이용하여 비디오를 디코딩하는 단계, 및
    상기 디코딩의 결과들을 출력하는 단계를 포함하며,
    상기 기본 계층 디코더는 2차원 역 주파수 변환으로 블록-기반 움직임 보상된 예측 디코더이고,
    상기 기본 계층 디코더는 상기 3D 부-대역 비디오 디코더의 복수의 역 시간 부-대역 변환 사이에 내장되어,
    상기 기본 계층 디코더를 이용한 디코딩이, 상기 복수의 역 시간 부-대역 변환 중 하나 이상을 포함하여 이루어지는 제1 세트의 역 시간 부-대역 변환 이후에 수행되고 - 상기 제1 세트의 역 시간 부-대역 변환은 인코딩 중의 기본 계층 코덱의 출력에 따른 하나 이상의 시간 부-대역 변환에 대응함 - , 상기 기본 계층 디코더를 이용한 디코딩이, 상기 복수의 역 시간 부-대역 변환 중 하나 이상을 포함하여 이루어지는 제2 세트의 역 시간 부-대역 변환 이전에 수행되도록 - 상기 기본 계층 디코더는 상기 제2 세트의 역 시간 부-대역 변환에 대한 출력을 제공함 - 하는
    방법.
  11. 제10항에 있어서,
    상기 기본 계층 디코더가 내장되어 있는 3D 부-대역 비디오 디코더를 이용하여 디코딩하는 단계는
    기본 계층 비트 스트림에 대해 상기 기본 계층 디코더를 이용한 상기 디코딩을 행하여, 재구성된 출력 비디오를 생성하는 단계, 및
    상기 재구성된 출력 비디오를 업샘플링하는 단계
    를 더 포함하는 방법.
  12. 제10항에 있어서,
    상기 기본 계층 디코더가 내장되어 있는 3D 부-대역 비디오 디코더를 이용하여 디코딩하는 단계는
    공간 부-대역 변환을 행하여, 오차 부-대역 및 하나 이상의 공간 하이 패스 부-대역을 생성하는 단계,
    기본 계층 비트 스트림에 대해 상기 기본 계층 디코더를 이용한 상기 디코딩을 행하여, 재구성된 공간 로우 패스 부-대역을 생성하는 단계,
    상기 오차 부-대역과 상기 재구성된 공간 로우 패스 부-대역을 조합하여, 조합된 로우 패스 부-대역을 생성하는 단계, 및
    상기 조합된 로우 패스 부-대역 및 상기 하나 이상의 공간 하이 패스 부-대역에 대해 역 공간 부-대역 변환을 행하는 단계
    를 더 포함하는 방법.
  13. 제10항에 있어서,
    상기 기본 계층 디코더가 내장되어 있는 3D 부-대역 비디오 디코더를 이용하여 디코딩하는 단계는
    오차 부-대역에 대해 상기 제1 세트의 역 시간 부-대역 변환을 실행하는 단계를 더 포함하는 방법.
  14. 제10항에 있어서,
    상기 기본 계층 디코더가 내장되어 있는 3D 부-대역 비디오 디코더를 이용하여 디코딩하는 단계는
    상기 제1 세트의 역 시간 부-대역 변환에서 역 움직임 보상된 시간 필터링을 행하는 단계를 더 포함하며,
    상기 역 움직임 보상된 시간 필터링 중 적어도 일부는 상기 기본 계층 디코더로부터의 재구성된 출력 비디오 내의 하나 이상의 기준 화상에 관련되는 방법.
  15. 제14항에 있어서,
    상기 역 움직임 보상된 시간 필터링은 예측 스테이지 및 업데이트 스테이지를 포함하며,
    상기 역 움직임 보상된 시간 필터링은 하나 이상의 매크로-블록 각각에 대해,
    상기 예측 스테이지에서 하위 레벨 시간 로우 패스 부-대역으로부터의 기준 화상을 사용할 경우에는, 그 기준 화상에 대해 상기 업데이트 스테이지를 행하는 것과,
    상기 예측 스테이지에서 상기 재구성된 출력 비디오 내의 상기 하나 이상의 기준 화상 중 하나를 사용할 경우에는, 그 기준 화상에 대한 상기 업데이트 스테이지는 생략하는 것을 포함하는 방법.
  16. 3D 부-대역 비디오 디코더를 이용하여 확장가능한 압축된 비디오 비트 스트림을 처리하기 위한 수단, 및
    상기 3D 부-대역 비디오 디코더에 내장된 기본 계층 비디오 디코더로 기본 계층 압축된 비디오 비트 스트림을 처리하기 위한 수단을 포함하며,
    상기 기본 계층 비디오 디코더는 2차원 역 주파수 변환으로 블록-기반 움직임 보상된 예측 디코더이고,
    상기 기본 계층 비디오 디코더는 상기 3D 부-대역 비디오 디코더의 복수의 역 시간 부-대역 변환 사이에 내장되어,
    상기 기본 계층 비디오 디코더를 이용한 디코딩이, 상기 복수의 역 시간 부-대역 변환 중 하나 이상을 포함하여 이루어지는 제1 세트의 역 시간 부-대역 변환 이후에 수행되고 - 상기 제1 세트의 역 시간 부-대역 변환은 인코딩 중의 기본 계층 비디오 코덱의 출력에 따른 하나 이상의 시간 부-대역 변환에 대응함 - , 상기 기본 계층 비디오 디코더를 이용한 디코딩이, 상기 복수의 역 시간 부-대역 변환 중 하나 이상을 포함하여 수행되는 제2 세트의 역 시간 부-대역 변환 이전에 수행되도록 - 상기 기본 계층 비디오 디코더는 상기 제2 세트의 역 시간 부-대역 변환에 대한 출력을 제공함 - 하는
    시스템.
  17. 3D 부-대역 비디오 인코더를 이용하여 확장가능한 압축된 비디오 비트 스트림을 처리하기 위한 수단, 및
    상기 3D 부-대역 비디오 인코더에 내장된 기본 계층 비디오 코덱을 이용하여 기본 계층 압축된 비디오 비트 스트림을 처리하기 위한 수단을 포함하며,
    상기 기본 계층 비디오 코덱은 2차원 주파수 변환으로 블록-기반 움직임 보상된 예측 코덱이고,
    상기 기본 계층 비디오 코덱은 상기 3D 부-대역 비디오 인코더의 복수의 시간 부-대역 변환 사이에 내장되어,
    상기 기본 계층 비디오 코덱을 이용한 인코딩/디코딩이, 상기 복수의 시간 부-대역 변환 중 하나 이상을 포함하여 이루어지는 제1 세트의 시간 부-대역 변환 이후에 수행되고 - 상기 제1 세트의 시간 부-대역 변환은 상기 기본 계층 비디오 코덱에 대한 입력 비디오를 제공함 - , 상기 기본 계층 비디오 코덱을 이용한 인코딩/디코딩이, 상기 복수의 시간 부-대역 변환 중 하나 이상을 포함하여 이루어지는 제2 세트의 시간 부-대역 변환 이전에 수행되도록 - 상기 기본 계층 비디오 코덱은 상기 제2 세트의 시간 부-대역 변환에 대한 출력을 제공함 - 하는
    시스템.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020050062658A 2004-07-12 2005-07-12 3d 부-대역 코딩을 위한 내장형 기본 계층 코덱 KR101176650B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US58779704P 2004-07-12 2004-07-12
US60/587,797 2004-07-12
US11/126,650 US8340177B2 (en) 2004-07-12 2005-05-10 Embedded base layer codec for 3D sub-band coding
US11/126,650 2005-05-10

Publications (2)

Publication Number Publication Date
KR20060092824A KR20060092824A (ko) 2006-08-23
KR101176650B1 true KR101176650B1 (ko) 2012-08-23

Family

ID=35207891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050062658A KR101176650B1 (ko) 2004-07-12 2005-07-12 3d 부-대역 코딩을 위한 내장형 기본 계층 코덱

Country Status (5)

Country Link
US (1) US8340177B2 (ko)
EP (1) EP1617677B1 (ko)
JP (1) JP4989048B2 (ko)
KR (1) KR101176650B1 (ko)
CN (1) CN1738434B (ko)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442108B2 (en) 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8340177B2 (en) 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
WO2006043755A1 (en) * 2004-10-18 2006-04-27 Samsung Electronics Co., Ltd. Video coding and decoding methods using interlayer filtering and video encoder and decoder using the same
KR100679022B1 (ko) * 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
KR100703745B1 (ko) * 2005-01-21 2007-04-05 삼성전자주식회사 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
EP1727372A1 (en) * 2005-05-27 2006-11-29 Thomson Licensing Method and apparatus for encoding and decoding video data,
KR20080044874A (ko) * 2005-08-15 2008-05-21 노키아 코포레이션 비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법및 장치
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US8208545B2 (en) * 2006-06-01 2012-06-26 Electronics And Telecommunications Research Institute Method and apparatus for video coding on pixel-wise prediction
JP5143829B2 (ja) 2006-09-07 2013-02-13 エルジー エレクトロニクス インコーポレイティド スケーラブルビデオコーディングされたビットストリームのデコーディング方法及び装置
TWI368443B (en) * 2006-11-09 2012-07-11 Lg Electronics Inc Method and apparatus for decoding/encoding a video signal
US7742524B2 (en) * 2006-11-17 2010-06-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal using inter-layer prediction
MY162861A (en) 2007-09-24 2017-07-31 Koninl Philips Electronics Nv Method and system for encoding a video data signal, encoded video data signal, method and system for decoding a video data signal
US8155184B2 (en) * 2008-01-16 2012-04-10 Sony Corporation Video coding system using texture analysis and synthesis in a scalable coding framework
JP5496914B2 (ja) * 2008-01-18 2014-05-21 トムソン ライセンシング 知覚上の品質を評価する方法
US9398314B2 (en) * 2008-02-05 2016-07-19 Microsoft Technology Licensing, Llc Entropy coding efficiency enhancement utilizing energy distribution remapping
US8548002B2 (en) * 2008-02-08 2013-10-01 Koolspan, Inc. Systems and methods for adaptive multi-rate protocol enhancement
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
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
KR101037868B1 (ko) * 2008-08-11 2011-05-31 주식회사 케이티 듀얼 모드 비디오 인코더와 이를 이용한 인코딩 장치, 인코딩 방법 및 이를 수록한 저장매체
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
US9571857B2 (en) * 2008-09-18 2017-02-14 Thomson Licensing Methods and apparatus for video imaging pruning
US20100149301A1 (en) * 2008-12-15 2010-06-17 Microsoft Corporation Video Conferencing Subscription Using Multiple Bit Rate Streams
JP4784650B2 (ja) * 2009-01-07 2011-10-05 ソニー株式会社 符号化装置、目標符号量調整方法及び記録媒体
KR101548285B1 (ko) 2009-01-20 2015-08-31 삼성전자주식회사 고해상도 영상 획득 장치 및 그 방법
JP5169978B2 (ja) * 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
US8947492B2 (en) * 2010-06-18 2015-02-03 Microsoft Corporation Combining multiple bit rate and scalable video coding
KR101221495B1 (ko) 2011-02-28 2013-01-11 동국대학교 산학협력단 적응적 mctf의 rd 최적화 방법
US9008180B2 (en) * 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
WO2012169096A1 (ja) * 2011-06-08 2012-12-13 パナソニック株式会社 映像表示装置及び映像処理装置
EP2723076A4 (en) 2011-06-14 2015-03-04 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR ENCODING MOVEMENT INFORMATION, AND METHOD AND APPARATUS FOR DECODING THE SAME
WO2013049412A2 (en) 2011-09-29 2013-04-04 Dolby Laboratories Licensing Corporation Reduced complexity motion compensated temporal processing
US20130107962A1 (en) 2011-10-26 2013-05-02 Intellectual Discovery Co., Ltd. Scalable video coding method and apparatus using inter prediction mode
KR20130046534A (ko) 2011-10-28 2013-05-08 삼성전자주식회사 영상 부호화 방법 및 장치 그리고 영상 복호화 방법 및 장치
US9253508B2 (en) * 2011-11-04 2016-02-02 Futurewei Technologies, Inc. Differential pulse code modulation intra prediction for high efficiency video coding
US9161035B2 (en) * 2012-01-20 2015-10-13 Sony Corporation Flexible band offset mode in sample adaptive offset in HEVC
US9491458B2 (en) 2012-04-12 2016-11-08 Qualcomm Incorporated Scalable video coding prediction with non-causal information
US9420285B2 (en) 2012-04-12 2016-08-16 Qualcomm Incorporated Inter-layer mode derivation for prediction in scalable video coding
CN102868886B (zh) * 2012-09-03 2015-05-20 雷欧尼斯(北京)信息技术有限公司 一种在图像上叠加数字水印的方法及装置
US9491459B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Base layer merge and AMVP modes for video coding
WO2014053517A1 (en) 2012-10-01 2014-04-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Scalable video coding using derivation of subblock subdivision for prediction from base layer
US9596465B2 (en) 2013-01-04 2017-03-14 Intel Corporation Refining filter for inter layer prediction of scalable video coding
EP2979449B1 (en) * 2013-03-25 2018-09-26 Imax Corporation Enhancing motion pictures with accurate motion information
US9609336B2 (en) * 2013-04-16 2017-03-28 Fastvdo Llc Adaptive coding, transmission and efficient display of multimedia (acted)
US9516080B2 (en) 2013-05-31 2016-12-06 Western Digital Technologies, Inc. Methods and apparatuses for streaming content
KR101530774B1 (ko) 2013-09-30 2015-06-22 연세대학교 산학협력단 영상 부호화 및 복호화 방법, 장치 및 시스템
US9609338B2 (en) 2013-10-25 2017-03-28 Microsoft Technology Licensing, Llc Layered video encoding and decoding
US10698918B2 (en) * 2013-11-20 2020-06-30 Qliktech International Ab Methods and systems for wavelet based representation
KR101530782B1 (ko) * 2013-12-03 2015-06-22 연세대학교 산학협력단 영상 부호화 및 복호화 방법, 장치 및 시스템
CN104202594B (zh) * 2014-07-25 2016-04-13 宁波大学 一种基于三维小波变换的视频质量评价方法
US9667801B2 (en) * 2014-12-05 2017-05-30 Facebook, Inc. Codec selection based on offer
US10469630B2 (en) 2014-12-05 2019-11-05 Facebook, Inc. Embedded RTCP packets
US9729287B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Codec with variable packet size
US9729726B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Seamless codec switching
US9729601B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Decoupled audio and video codecs
US10506004B2 (en) 2014-12-05 2019-12-10 Facebook, Inc. Advanced comfort noise techniques
US9948618B2 (en) 2015-02-05 2018-04-17 Western Digital Technologies, Inc. Secure stream buffer on network attached storage
US10223810B2 (en) 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US11297346B2 (en) 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US10694210B2 (en) 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
EP3451663A1 (en) * 2017-08-31 2019-03-06 Thomson Licensing Pools of transforms for local selection of a set of transforms in video coding
JP7041494B2 (ja) * 2017-11-06 2022-03-24 キヤノン株式会社 画像処理装置および画像処理方法
CN111263191B (zh) * 2018-11-30 2023-06-27 中兴通讯股份有限公司 视频数据的处理方法、装置、相关设备及存储介质
WO2020207493A1 (en) 2019-04-12 2020-10-15 Beijing Bytedance Network Technology Co., Ltd. Transform coding based on matrix-based intra prediction
WO2020211807A1 (en) 2019-04-16 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Matrix derivation in intra coding mode
CN117097912A (zh) 2019-05-01 2023-11-21 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文编码
WO2020221373A1 (en) 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Matrix-based intra prediction using filtering
BR112021022174A2 (pt) 2019-05-11 2021-12-21 Beijing Bytedance Network Tech Co Ltd Método para processar dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento e meio de gravação
EP3954115A4 (en) 2019-05-22 2023-04-19 Beijing Bytedance Network Technology Co., Ltd. MATRIX-BASED INTRAPREDICTION USING UPSAMPLING
CN114051735A (zh) 2019-05-31 2022-02-15 北京字节跳动网络技术有限公司 基于矩阵的帧内预测中的一步下采样过程
EP3963885A4 (en) 2019-06-05 2022-12-14 Beijing Bytedance Network Technology Co., Ltd. DETERMINING CONTEXT FOR MATRIX-BASED INTRAPREDICTION
WO2021068954A1 (en) 2019-10-12 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. High level syntax for video coding tools
CN114641997A (zh) 2019-10-28 2022-06-17 北京字节跳动网络技术有限公司 基于颜色分量的语法信令通知和解析

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107683A1 (en) 2002-06-12 2003-12-24 Unisearch Limited Method and apparatus for scalable compression of video

Family Cites Families (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1506554A1 (ru) 1987-10-06 1989-09-07 Предприятие П/Я А-1772 Кодер видеосигнала
USRE35910E (en) 1989-05-11 1998-09-29 Matsushita Electric Industrial Co., Ltd. Moving image signal encoding apparatus and decoding apparatus
JP3303869B2 (ja) 1990-11-30 2002-07-22 株式会社日立製作所 画像符号化方法、画像符号化装置、画像復号化方法
US5136377A (en) 1990-12-11 1992-08-04 At&T Bell Laboratories Adaptive non-linear quantizer
US5611038A (en) 1991-04-17 1997-03-11 Shaw; Venson M. Audio/video transceiver provided with a device for reconfiguration of incompatibly received or transmitted video and audio information
US5414469A (en) 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
US5300949A (en) 1992-10-22 1994-04-05 International Business Machines Corporation Scalable digital video decompressor
KR970000683B1 (ko) 1993-05-31 1997-01-16 삼성전자 주식회사 해상도 가변 적응적 화상압축/복원방법 및 장치
US5592226A (en) 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
US5828421A (en) 1994-10-11 1998-10-27 Hitachi America, Ltd. Implementation efficient digital picture-in-picture decoding methods and apparatus
US5821986A (en) 1994-11-03 1998-10-13 Picturetel Corporation Method and apparatus for visual communications in a scalable network environment
US5864637A (en) 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
US6002801A (en) 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
US5959673A (en) 1995-10-05 1999-09-28 Microsoft Corporation Transform coding of dense motion vector fields for frame and object based video coding applications
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US6529631B1 (en) 1996-03-29 2003-03-04 Sarnoff Corporation Apparatus and method for optimizing encoding and performing automated steerable image compression in an image coding system using a perceptual metric
JP3466032B2 (ja) 1996-10-24 2003-11-10 富士通株式会社 動画像符号化装置および復号化装置
AR016812A1 (es) 1997-08-14 2001-08-01 Samsung Electronics Co Ltd Metodo para transmitir informacion de video comprimida, disposiciones de compresion y de grabacion de video y aparato de reproduccion de video
US6339434B1 (en) 1997-11-24 2002-01-15 Pixelworks Image scaling circuit for fixed pixed resolution display
WO1999029112A1 (en) 1997-12-01 1999-06-10 Matsushita Electric Industrial Co., Ltd. Image processor, image data processor and variable length encoder/decoder
US6239847B1 (en) 1997-12-15 2001-05-29 Netergy Networks, Inc. Two pass multi-dimensional data scaling arrangement and method thereof
US6873368B1 (en) 1997-12-23 2005-03-29 Thomson Licensing Sa. Low noise encoding and decoding method
US6229570B1 (en) 1998-09-25 2001-05-08 Lucent Technologies Inc. Motion compensation image interpolation—frame rate conversion for HDTV
US6501484B1 (en) 1998-09-29 2002-12-31 Globalstreams, Inc. System and method for high definition video rescaling
JP2000165661A (ja) 1998-11-27 2000-06-16 Murata Mach Ltd 画像処理装置及び記録媒体
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
AUPP779898A0 (en) 1998-12-18 1999-01-21 Canon Kabushiki Kaisha A method of kernel selection for image interpolation
US6259741B1 (en) 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
FR2792798B1 (fr) 1999-04-26 2001-05-25 Thomson Multimedia Sa Procede et dispositif de quantification pour compression video
US6678424B1 (en) 1999-11-11 2004-01-13 Tektronix, Inc. Real time human vision system behavioral modeling
ITBO20000012A1 (it) * 2000-01-18 2001-07-18 Marposs Spa Apparecchiatura per il controllo del diametro di perni .
US6700933B1 (en) 2000-02-15 2004-03-02 Microsoft Corporation System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (PFGS) video coding
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
US6456663B1 (en) 2000-03-29 2002-09-24 Matsushita Electric Industrial Co., Ltd. DCT domain down conversion system that compensates for IDCT mismatch
EP1277347A1 (en) * 2000-04-11 2003-01-22 Koninklijke Philips Electronics N.V. Video encoding and decoding method
JP4560897B2 (ja) 2000-06-02 2010-10-13 ソニー株式会社 通信装置、通信方法及び媒体
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US7023922B1 (en) * 2000-06-21 2006-04-04 Microsoft Corporation Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information
WO2002001881A2 (en) * 2000-06-30 2002-01-03 Koninklijke Philips Electronics N.V. Encoding method for the compression of a video sequence
KR100370076B1 (ko) 2000-07-27 2003-01-30 엘지전자 주식회사 다운 컨버젼 기능을 갖는 비디오 디코더 및 비디오 신호를디코딩 하는 방법
WO2002013536A2 (en) 2000-08-08 2002-02-14 Koninklijke Philips Electronics N.V. Video encoding method based on a wavelet decomposition
US6937291B1 (en) 2000-08-31 2005-08-30 Intel Corporation Adaptive video scaler
CN1266649C (zh) * 2000-09-12 2006-07-26 皇家菲利浦电子有限公司 视频编码方法
US6940905B2 (en) 2000-09-22 2005-09-06 Koninklijke Philips Electronics N.V. Double-loop motion-compensation fine granular scalability
DE10048735A1 (de) 2000-09-29 2002-04-11 Bosch Gmbh Robert Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
JP4231620B2 (ja) 2000-10-11 2009-03-04 メディア・テック・ユーエスエイ・インコーポレーテッド 画像処理方法および装置
US20020159484A1 (en) 2000-12-05 2002-10-31 Murat Azizoglu Coding scheme using a control code map for signal transmission in optical communications networks
AUPR222500A0 (en) * 2000-12-21 2001-01-25 Unisearch Limited Method for efficient scalable compression of video
US7072525B1 (en) 2001-02-16 2006-07-04 Yesvideo, Inc. Adaptive filtering of visual image using auxiliary image information
US6831947B2 (en) 2001-03-23 2004-12-14 Sharp Laboratories Of America, Inc. Adaptive quantization based on bit rate prediction and prediction error energy
WO2002085026A1 (en) 2001-04-10 2002-10-24 Koninklijke Philips Electronics N.V. Method of encoding a sequence of frames
US7206453B2 (en) 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
US6907143B2 (en) 2001-05-16 2005-06-14 Tektronix, Inc. Adaptive spatio-temporal filter for human vision system models
EP1404136B1 (en) 2001-06-29 2018-04-04 NTT DoCoMo, Inc. Image encoder, image decoder, image encoding method, and image decoding method
CN1251512C (zh) 2001-07-10 2006-04-12 皇家菲利浦电子有限公司 从不可分级编码视频信号产生可分级编码视频信号的方法和装置
US7876820B2 (en) 2001-09-04 2011-01-25 Imec Method and system for subband encoding and decoding of an overcomplete representation of the data structure
US6992725B2 (en) 2001-10-22 2006-01-31 Nec Electronics America, Inc. Video data de-interlacing using perceptually-tuned interpolation scheme
US7639739B2 (en) 2001-11-02 2009-12-29 The Regents Of The University Of California Technique to enable efficient adaptive streaming and transcoding of video and other signals
CN100452883C (zh) 2001-12-17 2009-01-14 微软公司 处理视频图像的方法
JP2005516494A (ja) * 2002-01-22 2005-06-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ドリフトフリー映像符合化及び復号化方法並びに対応する装置
US7596179B2 (en) 2002-02-27 2009-09-29 Hewlett-Packard Development Company, L.P. Reducing the resolution of media data
US7317759B1 (en) 2002-02-28 2008-01-08 Carnegie Mellon University System and methods for video compression mode decisions
US6993078B2 (en) 2002-03-28 2006-01-31 International Business Machines Corporation Macroblock coding technique with biasing towards skip macroblock coding
JP4724351B2 (ja) 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
WO2004008771A1 (en) * 2002-07-17 2004-01-22 Koninklijke Philips Electronics N.V. 3d wavelet video coding and decoding method and corresponding device
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US7010037B2 (en) 2002-08-06 2006-03-07 Koninklijke Philips Electronics N.V. System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
US7072394B2 (en) 2002-08-27 2006-07-04 National Chiao Tung University Architecture and method for fine granularity scalable video coding
US7379496B2 (en) 2002-09-04 2008-05-27 Microsoft Corporation Multi-resolution video coding and decoding
EP1422928A3 (en) 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
GB0228556D0 (en) 2002-12-06 2003-01-15 British Telecomm Video quality measurement
KR20050105246A (ko) 2003-02-25 2005-11-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간필터링을 사용하는 3차원 웨이블렛 비디오 코딩
FR2852773A1 (fr) 2003-03-20 2004-09-24 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images par decomposition mouvement/texture et codage par ondelettes
US8761252B2 (en) * 2003-03-27 2014-06-24 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
US8107535B2 (en) 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
US7653133B2 (en) 2003-06-10 2010-01-26 Rensselaer Polytechnic Institute (Rpi) Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders
JP4207684B2 (ja) 2003-06-27 2009-01-14 富士電機デバイステクノロジー株式会社 磁気記録媒体の製造方法、および、製造装置
KR20060024449A (ko) * 2003-06-30 2006-03-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 오버컴플릿 웨이브릿 도메인에서 비디오 코딩
JP2007519273A (ja) 2003-06-30 2007-07-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーバーコンプリート・ウェーブレット符号化と循環予測写像とを用いてビデオ処理を行うシステム及び方法
TWI232681B (en) 2003-08-27 2005-05-11 Mediatek Inc Method of transforming one video output format into another video output format without degrading display quality
KR100519776B1 (ko) 2003-11-24 2005-10-07 삼성전자주식회사 영상 신호의 해상도 변환 방법 및 장치
KR100597402B1 (ko) 2003-12-01 2006-07-06 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
EP1692872A1 (en) 2003-12-03 2006-08-23 Koninklijke Philips Electronics N.V. System and method for improved scalability support in mpeg-2 systems
CN1332563C (zh) 2003-12-31 2007-08-15 中国科学院计算技术研究所 一种视频图像跳过宏块的编码方法
US7471845B2 (en) 2004-01-06 2008-12-30 Sharp Laboratories Of America, Inc. De-ringing filter
US20050157791A1 (en) 2004-01-20 2005-07-21 Eastman Kodak Company System and method for video tone scale reduction
JP2005217940A (ja) 2004-01-30 2005-08-11 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
KR100596705B1 (ko) * 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US20050195896A1 (en) * 2004-03-08 2005-09-08 National Chiao Tung University Architecture for stack robust fine granularity scalability
WO2005099275A2 (en) * 2004-04-02 2005-10-20 Thomson Licensing Complexity scalable video decoding
EP1599046A1 (en) 2004-05-19 2005-11-23 THOMSON Licensing Method for coding video data of a sequence of pictures
US20050259729A1 (en) 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
US8249159B2 (en) 2004-06-23 2012-08-21 Agency For Science, Technology And Research Scalable video coding with grid motion estimation and compensation
KR100654436B1 (ko) 2004-07-07 2006-12-06 삼성전자주식회사 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더
US8340177B2 (en) 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US20060013305A1 (en) 2004-07-14 2006-01-19 Sharp Laboratories Of America, Inc. Temporal scalable coding using AVC coding tools
KR100621581B1 (ko) 2004-07-15 2006-09-13 삼성전자주식회사 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치
US8243820B2 (en) 2004-10-06 2012-08-14 Microsoft Corporation Decoding variable coded resolution video with native range/resolution post-processing operation
US9071847B2 (en) 2004-10-06 2015-06-30 Microsoft Technology Licensing, Llc Variable coding resolution in video codec
DE102004059993B4 (de) 2004-10-15 2006-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
KR100679022B1 (ko) * 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
KR20060043115A (ko) 2004-10-26 2006-05-15 엘지전자 주식회사 베이스 레이어를 이용하는 영상신호의 엔코딩/디코딩 방법및 장치
KR100888962B1 (ko) 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR100888963B1 (ko) 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US7801220B2 (en) 2005-01-07 2010-09-21 Microsoft Corporation In-band wavelet video coding with spatial scalability
KR100714689B1 (ko) 2005-01-21 2007-05-04 삼성전자주식회사 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치
JP2008529151A (ja) 2005-01-31 2008-07-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数解像度の画像フィルタリングに関するピラミッド分解
KR100728222B1 (ko) 2005-03-25 2007-06-13 한국전자통신연구원 공간영역에서의 완전한 스케일러빌리티를 위한 계층적 부호화/복호화 방법 및 장치
US7876833B2 (en) 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
US8619860B2 (en) 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
EP1727372A1 (en) 2005-05-27 2006-11-29 Thomson Licensing Method and apparatus for encoding and decoding video data,
US20070014349A1 (en) 2005-06-03 2007-01-18 Nokia Corporation Residual prediction mode in scalable video coding
US7830961B2 (en) 2005-06-21 2010-11-09 Seiko Epson Corporation Motion estimation and inter-mode prediction
KR101326610B1 (ko) 2005-07-11 2013-11-08 톰슨 라이센싱 매크로블록 적응적 인터-층 인트라 텍스쳐 예측을 위한 방법 및 장치
US7216279B2 (en) * 2005-07-19 2007-05-08 Lsi Logic Corporation Testing with high speed pulse generator
CN101228795B (zh) 2005-07-21 2011-09-07 汤姆森许可贸易公司 针对加权预测的可分级视频解码方法及设备
US20080123947A1 (en) 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein
EP1746839A1 (en) 2005-07-22 2007-01-24 Thomson Licensing Method and apparatus for encoding video data
WO2007044556A2 (en) 2005-10-07 2007-04-19 Innovation Management Sciences, L.L.C. Method and apparatus for scalable video decoder using an enhancement stream
EP1775958A1 (en) 2005-10-14 2007-04-18 Thomson Licensing Method and apparatus for reconstructing the texture of a spatial enhancement-layer video picture
KR100772868B1 (ko) 2005-11-29 2007-11-02 삼성전자주식회사 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
US8023569B2 (en) 2005-12-15 2011-09-20 Sharp Laboratories Of America, Inc. Methods and systems for block-based residual upsampling
US8094721B2 (en) 2005-12-29 2012-01-10 Cisco Technology, Inc. Methods and apparatuses for selecting a mode within a compression scheme
GB0600141D0 (en) 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US20070201551A1 (en) 2006-01-09 2007-08-30 Nokia Corporation System and apparatus for low-complexity fine granularity scalable video coding with motion compensation
KR100772873B1 (ko) 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
US8848789B2 (en) 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
KR100781524B1 (ko) 2006-04-04 2007-12-03 삼성전자주식회사 확장 매크로블록 스킵 모드를 이용한 인코딩/디코딩 방법및 장치
US20070274396A1 (en) 2006-05-26 2007-11-29 Ximin Zhang Complexity adaptive skip mode estimation for video encoding
WO2008004816A1 (en) 2006-07-04 2008-01-10 Electronics And Telecommunications Research Institute Scalable video encoding/decoding method and apparatus thereof
US8120660B2 (en) 2006-07-10 2012-02-21 Freescale Semiconductor, Inc. Image data up sampling
JP4647558B2 (ja) 2006-07-27 2011-03-09 日本電信電話株式会社 映像符号化並列処理方法,映像符号化装置,映像符号化プログラムおよびその記録媒体
US9014280B2 (en) 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
US20080095235A1 (en) 2006-10-20 2008-04-24 Motorola, Inc. Method and apparatus for intra-frame spatial scalable video coding
US8311120B2 (en) 2006-12-22 2012-11-13 Qualcomm Incorporated Coding mode selection using information of other coding modes
US8199812B2 (en) 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
US7983496B2 (en) 2007-06-26 2011-07-19 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding adapted to variable block sizes
US8160132B2 (en) 2008-02-15 2012-04-17 Microsoft Corporation Reducing key picture popping effects in video
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
US9338475B2 (en) 2008-04-16 2016-05-10 Intel Corporation Tone mapping for bit-depth scalable video codec

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107683A1 (en) 2002-06-12 2003-12-24 Unisearch Limited Method and apparatus for scalable compression of video

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문 : GLOBAL TELECOMMUNICATIONS CONFERENCE

Also Published As

Publication number Publication date
JP2006060791A (ja) 2006-03-02
EP1617677A1 (en) 2006-01-18
JP4989048B2 (ja) 2012-08-01
US20060008003A1 (en) 2006-01-12
CN1738434A (zh) 2006-02-22
EP1617677B1 (en) 2017-02-08
US8340177B2 (en) 2012-12-25
CN1738434B (zh) 2010-12-08
KR20060092824A (ko) 2006-08-23

Similar Documents

Publication Publication Date Title
KR101176650B1 (ko) 3d 부-대역 코딩을 위한 내장형 기본 계층 코덱
KR101183304B1 (ko) Sdmctf 인코딩된 비디오의 3d 부-대역 디코딩에서의 공간 확장성
KR101203338B1 (ko) 움직임-보상형 시간적 필터링에서의 적응적 업데이트를위한 방법
Andreopoulos et al. In-band motion compensated temporal filtering
US8031776B2 (en) Method and apparatus for predecoding and decoding bitstream including base layer
US8873624B2 (en) Apparatus and method for generating a coded video sequence and for decoding a coded video sequence by using an intermediate layer residual value prediction
JP4844741B2 (ja) 動画像符号化装置及び動画像復号装置と、その方法及びプログラム
US7042946B2 (en) Wavelet based coding using motion compensated filtering based on both single and multiple reference frames
US9992503B2 (en) Scalable video coding with enhanced base layer
WO2004036919A1 (en) Fully scalable 3-d overcomplete wavelet video coding using adaptive motion compensated temporal filtering
Pau et al. Motion compensation and scalability in lifting-based video coding
Liu et al. 3-D shape-adaptive directional wavelet transform for object-based scalable video coding
Wang Fully scalable video coding using redundant-wavelet multihypothesis and motion-compensated temporal filtering
Hsu et al. Wavelet and lapped orthogonal transforms with overlapped motion-compensation for multiresolution coding of HDTV

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 8