KR101203338B1 - 움직임-보상형 시간적 필터링에서의 적응적 업데이트를위한 방법 - Google Patents

움직임-보상형 시간적 필터링에서의 적응적 업데이트를위한 방법 Download PDF

Info

Publication number
KR101203338B1
KR101203338B1 KR1020050062778A KR20050062778A KR101203338B1 KR 101203338 B1 KR101203338 B1 KR 101203338B1 KR 1020050062778 A KR1020050062778 A KR 1020050062778A KR 20050062778 A KR20050062778 A KR 20050062778A KR 101203338 B1 KR101203338 B1 KR 101203338B1
Authority
KR
South Korea
Prior art keywords
motion
image
update
subband
video
Prior art date
Application number
KR1020050062778A
Other languages
English (en)
Other versions
KR20060092825A (ko
Inventor
펭 우
지젱 쑤
리 송
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Priority to US11/456,679 priority Critical patent/US20070012058A1/en
Publication of KR20060092825A publication Critical patent/KR20060092825A/ko
Application granted granted Critical
Publication of KR101203338B1 publication Critical patent/KR101203338B1/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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/124Quantisation
    • 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

확장가능한 비디오 코딩 및 디코딩을 위한 기술들 및 도구들이 설명되어 있다. 예를 들어, 비디오 인코더 및 디코더는, 각각, 리프팅-기반 움직임-보상형 시간적 필터링 및 역 움직임-보상형 시간적 필터링에서 적응적 업데이트 연산들을 수행한다. 인코더는, 예측 스테이지에서, 홀수 이미지에 대한 움직임-보상형 예측을 계산하고, 홀수 이미지와 예측간의 차로서 고역-통과 이미지를 계산한다. 업데이트 스테이지에서는, 인코더는 그 고역-통과 이미지(및 잠재적으로 다른 고역-통과 이미지)에 대해 움직임 보상을 수행하여 움직임-보상형 업데이트를 계산한다. 인지 기준들에 기초해, 인코더는 업데이트를 짝수 이미지와 적응적으로 조합하여 저역-통과 이미지를 형성한다. 디코더는, 업데이트 스테이지에서, 하나 이상의 고역-통과 이미지들에 대해 움직임 보상을 수행하여 움직임-보상형 업데이트를 계산한다. 인지 기준들에 기초해, 인코더는 업데이트를 저역-통과 이미지와 적응적으로 조합하여 짝수 프레임을 재구성한다.
MCTF, 비디오 코딩, 비디오 디코딩, 리프팅-기반 움직임-보상, 시간 변환, 공간 변환, 고역-통과 이미지, 저역-통과 이미지, 짝수 프레임, 홀수 프레임

Description

움직임-보상형 시간적 필터링에서의 적응적 업데이트를 위한 방법{ADAPTIVE UPDATES IN MOTION-COMPENSATED TEMPORAL FILTERING}
도 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-인코딩된 비디오를 디코딩하는 2가지 방식들을 도시하는 블록도이다.
도 27은 SDIMCTF 및 IBIMCTF에서의 움직임-보상형 예측을 도시하는 도면이다.
도 28은 움직임 시프트로 인한 전력 스펙트럼 누설(power spectrum leak)을 도시하는 그래프이다.
도 29는 낮은 공간 해상도에서의 출력을 위해 SDMCTF-인코딩된 비디오를 디코딩하는 베이스라인 방식(baseline scheme)을 도시하는 블록도이다.
도 30은 낮은 공간 해상도에서의 출력을 위해 SDMCTF-인코딩된 비디오를 디코딩하는 일반적인 방식을 도시하는 블록도이다.
도 31, 도 32, 도 33, 및 도 34는 낮은 공간 해상도에서의 출력을 위해 SDMCTF-인코딩된 비디오를 디코딩하는 방식들을 도시하는 블록도들이다.
<도면의 주요 분할에 대한 부호의 설명>
200 : 인코더
205 : 비디오 화상들
210 : 시간 부대역 변환
220 : 움직임 예측
230 : 2D 공간 부대역 변환(들)
240 : 엔트로피 코딩
250 : MV 및 모드 코딩
295 : 압축된 정보
[문헌 1] US 60/587,923 2004. 07. 12
확장가능한 비디오 코딩 및 디코딩을 위한 기술들 및 도구들이 설명된다. 예를 들어, 비디오 인코더 및 디코더는 리프팅-기반의 MCTF(motion-compensated temporal filtering)에서의 적응적 업데이트 연산들을 수행한다.
디지털 비디오는 대량의 저장 및 전송 용량을 소비한다. 통상적인 미가공 디지털 비디오 시퀀스는 초당 15 또는 30 프레임들을 포함한다. 각각의 프레임은 (화소라고도 하는) 수 만 또는 수 십만 픽셀들을 포함할 수 있는데, 각각의 픽셀은 화상의 작은 요소를 표현한다. 미가공 형태에서, 컴퓨터는 흔히 픽셀을, 총 24비트의 3개 샘플들의 세트로서 표현한다. 예를 들어, 픽셀은 픽셀의 그레이스케일 성분을 정의하는 (여기에서는 "휘도(luminance)" 및 "루마(luma)"라는 용어들이 혼용되므로, 루마 샘플이라고도 하는) 8-비트 휘도 샘플 및 픽셀의 컬러 성분을 정의하는 (여기에서는 "색차(chrominance)" 및 "크로마(chroma)"라는 용어들이 혼용되므로, 크로마 샘플들이라고도 하는) 2개의 8-비트 색차 샘플들을 포함할 수 있다. 따라서, 통상적인 미가공 디지털 비디오 시퀀스의 초당 비트들의 수, 즉 비트레이트는 초당 5백만 비트 이상일 수 있다.
많은 컴퓨터들 및 컴퓨터 네트워크들은 미가공 디지털 비디오를 프로세싱하기 위한 자원을 갖고 있지 않다. 이런 이유로 인해, 엔지니어들은 (코딩 또는 인코딩이라고도 하는) 압축을 사용해 디지털 비디오의 비트레이트를 감소시킨다. 압축은, 비디오를 더 낮은 비트레이트 형태로 변환하는 것에 의해, 비디오를 저장하고 전송하는 비용을 감소시킨다. (디코딩이라고도 하는) 압축 해제는 압축된 형태로부터 원래의 비디오 버전을 복구한다. "코덱"은 인코더/디코더 시스템이다. 압축은 무손실 방식일 수 있는데, 이 경우, 비디오의 품질은 나빠지지 않지만, 비트레이트 감소는 비디오 데이터의 (엔트로피라고도 하는) 가변도의 고유한 양에 의해 제한된다. 또는, 압축은 손실 방식일 수 있는데, 이 경우, 비디오의 품질은 나빠지지만, 실현 가능한 비트레이트 감소는 좀더 극적이다. 손실 압축은 흔히 무손실 압축과 함께 사용되는데, 손실 압축은 정보의 근사치를 확립하고, 무손실 압축은 그러한 근사치를 표현하는데 적용된다.
비디오 압축의 일반적인 규칙으로서, 품질은 비트레이트와 직접적으로 관련하여 달라진다. 소정 비디오 시퀀스에 대하여, 시퀀스가 더 높은 품질에서 인코딩된다면, 시퀀스에 대한 비트레이트는 더 높을 것이고, 시퀀스가 더 낮은 품질에서 인코딩된다면, 시퀀스에 대한 비트레이트는 더 낮을 것이다. 시간 해상도(예를 들어, 초당 7.5, 15, 30, 또는 60 비디오 프레임들), 공간 해상도(예를 들어, 비디오 프레임당 176×144(QCIF), 352×288(CIF), 또는 704×576(4CIF) 픽셀들), 및 샘플 해상도(예를 들어, 픽셀당 8, 16, 또는 24 비트들)를 포함하여, 다양한 팩터들이 미가공 비디오 시퀀스의 비트레이트 및 품질에 영향을 미칠 수 있다. 품질 및 비트레이트는 시간, 공간, 및/또는 샘플 해상도를 높이거나 낮추는 것에 의해 변경될 수 있다.
품질 및 비트레이트는, 손실 압축 동안, 정보 내용의 간략화 또는 삭제에 의해 도입된 왜곡량에도 의존한다. 이것은, 예를 들어, 복구될 때의 비디오에 대한 얼룩짐(blurriness), 균일하지 못한 농도(blockiness), 불선명함(graininess) 등의 양에 영향을 미친다. 다시 말해, 손실 압축은, 시퀀스의 품질을 감소시키는 것에 의해, 인코더가 더 낮은 비트레이트들을 실현할 수 있게 한다.
또 다른 일반적 규칙으로서, 품질 및 비트레이트는 디테일(detail) 및 움직임의 관점에서 비디오 시퀀스의 복잡도에 의존한다. 소정의 고정 품질 레벨의 경우, 복잡한 시퀀스는 통상적으로 간단한 시퀀스보다 인코딩에 더 많은 비트들을 요한다. 이것의 반대로서, 소정의 고정 비트레이트로 인코딩할 경우, 복잡한 시퀀스는 통상적으로 간단한 시퀀스보다 더 낮은 품질을 갖는다.
일부 시나리오들에서는, 단일 비트레이트/품질 레벨에서 비디오를 인코딩하는 것이 필요한 전부이다. 예를 들어, 비디오가 단일 유형 장치에서의 재생을 위해 인코딩되는 중이라면, 또는 비디오가 전화선을 통한 점 대 점 영상 회의에서의 재생을 위해 인코딩되는 중이라면, 비디오를 단순히 단일 비트레이트/품질 레벨에서 인코딩하는 것이 바람직할 수 있다. 그러나, 다른 다수 시나리오들에서는, 비디오를 다수 비트레이트들 및 품질 레벨들에서 인코딩하는 것이 바람직할 수 있다. 예를 들어, 인터넷을 통해 비디오를 스트리밍하는 경우, 비디오 서버는 흔히 상이한 성능들을 가진 장치들에 비디오를 제공하거나 그리고/또는 상이한 속도 및 신뢰 특성들을 가진 다양한 종류의 네트워크 환경들을 통해 비디오를 전달해야 한다.
다양한 네트워크 및 재생 요구 사항들을 해결하는 한가지 방법은 동일한 비디오 시퀀스를 다수의 비트레이트들 및 품질 레벨들에서 인코딩하는 것인데, 이것은 다수의 독립적인 압축형 비디오 비트 스트림들에 대해 저장 및 전송 비효율들을 초래할 수 있다. 다른 방법으로서, 부대역 또는 웨이브렛 비디오 인코딩은 다중-해상도 방식의 비디오 시퀀스를 하나의 확장가능한 압축 비디오 비트스트림으로 인코딩하는 방법을 제공한다. 부대역 또는 웨이브렛 인코딩(sub-band or wavelet encoding)을 사용하면, 비디오 시퀀스가 상이한 시간 및 공간 부대역들로 분해된다.
간단한 예로서, 비디오 시퀀스는 (대략적으로 시퀀스의 낮은 프레임 레이트 버전에 대응되는) 저해상도의 시간적 부대역 및 (원래의 프레임 레이트 시퀀스를 복구하기 위해 저해상도의 시간적 부대역과 조합될 수 있는) 고해상도의 시간적 부 대역으로 분할된다. 개개의 비디오 프레임을 위한 정보는 마찬가지로 저해상도의 공간적 부대역 및 다수의 좀더 높은 해상도의 공간적 부대역들로 분할될 수 있다. 시간 및 공간 분해가 함께 사용될 수도 있다. 어떤 분해 유형이든, 예를 들어, 저해상도 부대역이 추가적으로 분해되도록 반복될 수 있다. 상이한 해상도들에서의 전송 또는 디코딩을 위해 소정 부대역들을 선택하는 것에 의해, 시간 및 공간 확장성(temporal and spatial scalability)이 구현될 수 있다.
또한, 개별 부대역에 대한 정보는 비트 해상도의 다수 계층들을 가진 비트 평면으로 표현될 수 있다. 인코딩된 원래 정보에 대한 충실도(fidelity)는 부대역을 위한 비트들의, 전부는 아니지만, 일부를 전송하는 것에 의해, (비트레이트에 따라) 선택적으로 감소될 수 있다. 또는, 충실도는, 부대역을 위한 모든 비트들보다 적은 비트들을 디코딩하는 것에 (프로세싱 요구 사항들에 따라) 선택적으로 감소될 수 있다.
확장가능한 비디오 코딩 및 디코딩 기술들이 압축된 비트 스트림의 다양한 공간, 시간, 및 비트 충실도 확장성(scalability)들을 용이하게 하지만, 기존의 확장가능한 비디오 코딩 및 디코딩 기술들에는 몇가지 단점들이 존재한다.
기존의 확장가능한 비디오 코딩 및 디코딩 기술들은 통상적으로 낮은 비트레이트들에서 비-확장가능한 기술들에 뒤지지 않는 성능을 제공하지 못한다. 확장가능한 비디오 코딩 및 디코딩 기술들의 성능이 높은 비트레이트들 및 품질들에서는 양호하지만, 낮은 비트레이트들에서는 확장가능한 비디오 코딩 및 디코딩 기술들이 비-확장가능한 비디오 코딩 및 디코딩 기술들에 비해 너무 많은 비트들을 사용한 다.
또한, 기존의 다수 하드웨어 및 소프트웨어 도구들은 특정한 비-확장가능한 비디오 코딩 및 디코딩 기술들에 따라 설계되었다. 이러한 도구들의 사용자들은 기존의 도구들과 호환 불가능한 새로운 확장가능한 비디오 코딩 및 디코딩 기술들에 투자하기를 꺼릴 수도 있다. 또한, 컨텐츠 제공자들은, 비디오 디코딩 도구들의 우세한 설치 기반과 호환될 수 없는 인코딩 컨텐츠를 생성하는 것을 꺼릴 수도 있다.
때때로, 디코더는 원래의 공간 해상도보다 낮은 공간 해상도에서 비디오를 재생한다. 이러한 일은, 예를 들어, 디코더 장치가 작은 스크린만을 가지거나 더 높은 공간 해상도 정보가 네트워크에 의해 누락되면 발생할 수 있다. 그러나, 인코딩 동안 원래의 공간 해상도에서 시간 분해가 발생할 경우, 낮은 공간 해상도에서의 디코딩은 문제가 된다. 기존의 확장가능한 비디오 코딩 및 디코딩 기술들은 이러한 디코딩 시나리오를 적절하게 해결하지 못한다.
마지막으로, 기존의 확장가능한 비디오 코딩 및 디코딩 기술들은 인코딩 및 디코딩 동안의 소정 판정들에서 왜곡의 인지 가능성(perceptibility of distortion)을 해결할 수 없다. 구체적으로, 기존의 확장가능한 비디오 코딩 기술들은 시간 분해의 소정 종류들에서 과도한 양의 인지 가능한 왜곡을 낮은 해상도의 시간적 부대역들에 도입한다.
디지털 비디오에 대한 압축 및 압축 해제의 결정적인 중요성에 있어서, 확장가능한 비디오 코딩 및 디코딩이 충분히 발전된 분야들이라는 것은 놀라운 일이 아 니다. 그러나, 종래의 확장가능한 비디오 코딩 및 디코딩 기술들의 이점들이 무엇이든 상관없이, 그들은 다음의 기술들 및 도구들의 이점들을 가지고 있지 않다.
여기에서 설명되는 기술들 및 도구들은 확장가능한 비디오 코딩 및 디코딩의 성능을 향상시킨다. 특히, 비디오 인코더 및/또는 디코더는 인코딩 및 디코딩 동안의 소정 판정들에서의 왜곡에 대한 인지 가능성을 해결한다. 예를 들어, 이러한 판정들은 MCTF(motion-compensated temporal filtering)에서의 업데이트 연산들에 관한 것이다. 적응적 업데이트 연산들은, 압축된 비디오 비트 스트림으로부터 복구되는 낮은 프레임 레이트 비디오의 인지 품질을 향상시킨다. 동시에, 적응적 업데이트 연산들은, 압축된 비디오 비트 스트림으로부터 복구되는 높은 프레임 레이트 비디오에 대해서도 여전히 효과적이다.
도구들 및 기술들의 제 1 세트에 따르면, 3-D 부대역 비디오 인코더와 같은 인코더는, 예측 스테이지 및 업데이트 스테이지를 포함하는 MCTF를 수행한다. 인코더는 인간의 시각적 시스템 모델(예를 들어, JND(just noticeable difference) 모델)에 적어도 부분적으로 기초해 업데이트 정보를 적응시킨다. 예를 들어, 인코더는 하나 이상의 이미지-종속형 스레숄드들(image-dependent thresholds)을 설정하는데, 이미지-종속형 스레숄드들은 평탄 영역들에 대해서는 낮고 잡음 영역들에 대해서는 높다. 그 다음, 인코더는 적응 결과들을 인코딩에 사용한다.
도구들 및 기술들의 제 2 세트에 따르면, 3D 부대역 비디오 디코더와 같은 디코더는, 예측 스테이지 및 업데이트 스테이지를 포함하는 역 MCTF(inverse motion-compensated temporal filtering)를 수행한다. 디코더는 인간의 시각적 시스템 모델에 적어도 부분적으로 기초해 정보를 업데이트한 다음, 적응 결과들을 디코딩에 사용한다.
도구들 및 기술들의 제 3 세트에 따르면, 3D 부대역 비디오 인코더와 같은 인코더는 인지 기준들에 적어도 부분적으로 기초해 리프팅-기반 MCTF(lifting-based MCTF)를 위한 하나 이상의 스레숄드들을 계산한다. 예를 들어, 인코더는 업데이트될 다수 이미지들 각각에 대해 매 이미지마다 업데이트 스레숄드들을 계산한다. 그 다음, 인코더는 하나 이상의 업데이트 스레숄드들에 따라 업데이트 정보를 스레숄딩한다.
도구들 및 기술들의 제 4 세트에 따르면, 3D 부대역 비디오 디코더와 같은 디코더는 인지 기준들에 적어도 부분적으로 기초해 역 MCTF를 위한 하나 이상의 업데이트 스레숄드들을 계산한다. 그 다음, 디코더는 하나 이상의 업데이트 스레숄드들에 따라 업데이트 정보를 스레숄딩한다.
여기에서 설명되는 기술들 및 도구들의 상기 및 다른 목적들, 사양들, 및 이점들이, 첨부 도면들을 참조하여 진행하는, 다음의 상세한 설명으로부터 좀더 명백해질 것이다.
3-차원(3D) 웨이브렛 또는 부대역 비디오 코딩에서, 비디오는 다수의 시간 변환들 및 공간 변환들을 통해 다수의 시간-공간 부대역들로 분해된다. 부대역들은, 이들 중 일부가 확장성을 위해 누락될 수 있다는 점에서, 어느 정도 독립적이 다. 예를 들어, 낮은 공간 해상도의 비디오를 디코딩하기 위해서는, 공간적 고역-통과 부대역들이 누락되며 디코더는 공간적 저역-통과 부대역들에서 수신된 데이터만으로 디코딩을 수행한다.
여기에서 설명되는 다양한 기술들 및 도구들은 독립적으로 사용될 수 있다. 기술들 및 도구들의 일부는 (예를 들어, 조합된 인코딩 및/또는 디코딩 프로세스의 상이한 단계들에서) 조합으로 사용될 수도 있다.
Ⅰ. 예시적 동작 환경들
도 1은, 설명된 실시예들 중 몇가지가 구현될 수 있는 적합한 컴퓨팅 환경(100)의 일반화된 예를 도시한다. 설명된 기술들 및 도구들은 다양한 범용 또는 특수-목적 컴퓨팅 환경들로 구현될 수 있으므로, 컴퓨팅 환경(100)은 사용 또는 기능 범위에 어떤 제한을 두려는 것이 아니다.
도 1을 참조하면, 컴퓨팅 환경(100)은 하나 이상의 프로세싱 유닛(110) 및 메모리(120)를 포함한다. 도 1에는, 이러한 가장 기본적 구성(130)이 점선내에 포함되어 있다. 프로세싱 유닛(110)은 컴퓨터-실행 가능 명령어들을 실행하는 실제의 또는 가상의 프로세서일 수 있다. 멀티-프로세싱 시스템에서는, 프로세싱 전력을 증가시키기 위해, 멀티 프로세싱 유닛들이 컴퓨터-실행 가능 명령어들을 실행한다. 메모리(120)는 휘발성 메모리(예를 들어, 레지스터, 캐시, RAM), 비-휘발성 메모리(예를 들어, ROM, EEPROM, 플래시 메모리 등), 또는 이 두가지의 어떤 조합일 수 있다. 메모리(120)는 여기에서 설명된 기술들 중 하나 이상을 사용하는 비디오 인코더 및/또는 디코더를 구현하는 소프트웨어(180)를 저장한다.
컴퓨팅 환경(100)은 추가 사양들을 가질 수 있다. 예를 들어, 컴퓨팅 환경(100)은 저장 장치(140), 하나 이상의 입력 장치들(150), 하나 이상의 출력 장치들(160), 및 하나 이상의 통신 접속들(170)을 포함한다. 버스, 컨트롤러, 또는 네트워크와 같은, (나타내지 않은) 상호 접속 메커니즘이 컴퓨팅 환경(100)의 컴포넌트들을 상호 접속한다. 통상적으로, (나타내지 않은) 오퍼레이팅 시스템 소프트웨어는 컴퓨팅 환경(100)에서 실행 중인 다른 소프트웨어에 대한 연산 환경을 제공하고, 컴퓨팅 환경(100)의 컴포넌트들에 대한 동작들을 조정한다.
저장 장치(140)는 분리형 또는 비-분리형일 수 있고, 정보를 저장하는데 사용될 수 있으며 컴퓨팅 환경(100)내에서 액세스될 수 있는 자기 디스크들, 자기 테이프들 또는 카세트들, CD-ROM들, DVD들, 또는 임의의 다른 매체를 포함한다. 저장 장치(140)는 소프트웨어(180)에 대한 명령어들을 저장한다.
입력 장치(들)(150)는, 컴퓨팅 환경(100)에 입력을 제공하는, 키보드, 마우스, 펜, 또는 트랙볼과 같은, 터치 입력 장치, 음성 입력 장치, 스캐닝 장치, 또는 다른 입력 장치일 수 있다. 오디오 또는 비디오 인코딩의 경우, 입력 장치(들)(150)는 오디오 입력이나 비디오 입력을 아날로그 또는 디지털 형태로 수용하는 사운드 카드, 비디오 카드, TV 튜너 카드, 또는 유사한 장치, 또는 오디오나 비디오 샘플들을 컴퓨팅 환경(100)으로 판독하는 CD-ROM 또는 CD-RW일 수 있다. 출력 장치(들)(160)는 컴퓨팅 환경(100)으로부터 출력을 제공하는 디스플레이, 프린터, 스피커, CD-라이터, 또는 다른 장치일 수 있다.
통신 접속(들)(170)은 통신 매체를 통한 다른 컴퓨팅 엔티티로의 통신을 가 능하게 한다. 통신 매체는 컴퓨터-실행 가능 명령어들, 오디오 또는 비디오 입력 또는 출력, 또는 변조 데이터 신호의 다른 데이터와 같은 정보를 전달한다. 변조 데이터 신호는, 신호 내에 정보를 인코딩하는 방식으로 설정 또는 변경된 하나 이상의 특성을 갖는 신호이다. 한정이 아닌 일례로서, 통신 매체는 전기, 광학, RF, 적외선, 음향, 또는 다른 캐리어로 구현되는 유선 또는 무선 기술들을 포함한다.
기술들 및 도구들은 컴퓨터-판독 가능 매체의 일반적인 맥락으로 설명될 수 있다. 컴퓨터-판독 가능 매체는, 컴퓨팅 환경내에서 액세스될 수 있는 이용 가능한 임의의 매체일 수 있다. 한정이 아닌 일례로서, 컴퓨팅 환경(100)의 경우, 컴퓨터-판독 가능 매체는 메모리(120), 저장 장치(140), 통신 매체, 및 상기한 것들의 임의 조합들을 포함한다.
본 기술들 및 도구들은 실제의 또는 가상의 타깃 프로세서를 통해 컴퓨팅 환경에서 실행될 수 있는, 프로그램 모듈들에 포함되어 있는 것들과 같은, 컴퓨터-실행 가능 명령어들의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈들은 소정 태스크들을 수행하거나 특정한 추상적 데이터형들을 구현하는 루틴들, 프로그램들, 라이브러리들, 오브젝트들, 클래스들, 컴포넌트들, 데이터 구조들 등을 포함한다. 프로그램 모듈들의 기능은 다양한 실시예들에서의 필요에 따라 프로그램 모듈들 사이에서 조합되거나 분리될 수 있다. 프로그램 모듈들을 위한 컴퓨터-실행 가능 명령어들은 로컬 또는 분산형 컴퓨팅 환경내에서 실행될 수 있다.
프레젠테이션을 위해, 상세한 설명은 "시그널링", "판정", 및 "적용"과 같은 용어들을 사용해 컴퓨팅 환경에서의 컴퓨터 연산들을 설명한다. 이러한 용어들은 컴퓨터에 의해 수행되는 연산들에 대한 고급의 추상 개념들(high-level abstractions)이고, 인간에 의해 수행되는 연산들과 혼동되어서는 안된다. 이러한 용어들에 대응되는 실제 컴퓨터 연산들은 구현에 따라 달라진다.
Ⅱ. 예시적인 비디오 인코더들 및 비디오 디코더들
도 2는, 여기에 설명되는 다수의 실시예들이 관련하여 구현될 수 있는 일반화된 비디오 인코더 시스템(200)의 블록도이다. 도 4는 하나의 공간 분해 계층이 수반되는 4개의 시간 분해 계층들을 가진 일반화된 인코더(400)를 나타낸다. 도 3은, 여기에 설명되는 다수의 실시예들이 관련하여 구현될 수 있는 일반화된 비디오 디코더 시스템(300)의 블록도이다. 도 5는 4개의 (역) 시간 분해 계층들 및 2개의 (역) 공간 분해 계층들을 가진 조합된 인코더/디코더 시스템(500)을 나타낸다.
인코더들 및 디코더들 내의 모듈들간에 나타낸 관계들은 인코더들 및 디코더들에서의 정보의 주된 흐름을 지시하고, 다른 관계들은 간략화를 위해 도시되지 않았다. 특히, 움직임 정보(motion information)와는 별도로, 도 2 및 도 3은 비디오 시퀀스, 프레임, 매크로블록, 블록 등에 대해 사용되는 인코더 설정들, 모드들, 테이블들 등을 지시하는 보조 정보를 나타내지 않는다. 이러한 보조 정보는, 잠재적으로 보조 정보의 엔트로피 인코딩 이후에, 출력 비트 스트림으로 송신된다.
구현 및 필요한 압축 유형에 따라, 도면들에 나타낸 인코더 또는 디코더의 모듈들은 추가되거나, 생략되거나, 다수 모듈들로 분리되거나, 다른 모듈들과 조합되거나, 그리고/또는 유사한 모듈들로 대체될 수 있다. 다른 실시예들에서는, 상이한 모듈들 및/또는 모듈들의 다른 구성들을 가진 인코더들 또는 디코더들이 설명 된 기술들 중 하나 이상을 수행한다. 예를 들어, 도 2는 인코더 시스템(200)에서 공간 분해(230)를 시간 분해(210)보다 다운스트림에 나타내지만, 인코더 시스템(200)은 다른 방법으로 또는 추가적으로 시간 분해(210)가 시작되기 전에 하나 이상의 공간 분해 계층들을 포함할 수도 있다. 이러한 경우, 대응되는 디코더 시스템(300)은 역 시간 분해(310) 후에 하나 이상의 역 공간 분해 계층들을 포함할 수 있다.
3D 부대역 코딩은 중간 또는 높은 비트레이트들에서의 (예를 들어, H.264 또는 VC-1 표준에 의한) 최신식 비-확장가능한 비디오 코딩에 비견될만한 성능을 실현한다. 그러나, 종래의 비-확장가능한 접근 방법들에 비해, 3D 부대역 비디오 코딩의 움직임 벡터들 코딩에 소요되는 비트량은 다소 크다. 따라서, 3D 부대역 비디오 코딩이, 통상적으로, 낮은 비트레이트들에서는 비-확장가능한 접근 방법들보다 성능이 떨어지는데, 이 경우, 움직임 벡터들의 코딩에 소요되는 비트들은 총 비트레이트의 좀더 큰 백분율을 차지한다.
A. 예시적인 비디오 인코더들
3D 부대역 비디오 코딩은 비디오의 여러 레벨의 공간/시간적 부대역 분해를 이용하는 것에 의해 여러 레벨의 공간 및/또는 시간 확장성을 제공하는 정밀한 방법이다. 도 2는 일반적인 3D 부대역 비디오 코딩 방식(200)을 도시한다. 인코더(200)는 비디오 화상들의 시퀀스(205;예를 들어, 순차 비디오 프레임들, 비월 비디오 프레임들(interlaced video frames), 또는 비월 비디오 프레임들의 필드들)을 수신하여 출력으로서 압축된 비디오 정보(295)를 발생시킨다. 비디오 인코더들의 특정 실시예들은 통상적으로, 일반화된 인코더(200)의 변형 또는 보완 버전을 사용한다.
인코더(200)는 시간적 부대역 변환(210)에 의해 비디오 신호를 분해한다. 도 2는 저해상도 부대역 및 고해상도 부대역으로의 단일 레벨의 시간 분해에 대한 출력을 나타내지만, 시간 분해는 4, 5, 또는 다른 소정 개수의 분해 레벨들을 포함할 수 있다.
도 2에서, 시간 분해(210)는 MCTF이므로, 인코더(200)는 비디오 신호에 대한 움직임 정보를 계산하기 위해 움직임 예측(220)을 수행한다. 움직임 예측(220)의 정확한 전략은 구현에 의존하며, 예를 들어, 서브-픽셀 상세화, 나선형 검색 패턴, 실제의 또는 모델링된 오차 코딩 비용, 움직임 정보 코딩 비용, 움직임 예측 모드들 등을 고려하는 속도-왜곡 펑션의 최소화가 수반되는 정수-픽셀 검색을 포함할 수 있다.
일부 구현들에서, 인코더(200)는 움직임 예측(220)에서 (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의 방향은 전방, 후방, 양방(bi-directional), 또는 내부(intra)일 수 있다. 일부 구현들에서, 인코더(200)는 매크로블록의 매 분할마다 움직임 예측(220)을 그리고 보상 방향을 전방, 후방, 양방, 또는 내부로 설정한다. 다른 방법으로, 인코더(200)는 다른 소정 레벨에서 방향들을 설정하거나 그리고/또는 일부 방향들(예를 들어, 내부)은 허용하지 않는다.
일부 구현들에서, 참조 프레임들은 (예를 들어, 반복적인 패딩에 의해) 참조 프레임들 외부에서의 움직임 예측/보상을 허용하도록 패딩될 수 있다. 참조 프레임들에 대한 서브-픽셀 보간은 쌍선형 필터(bilinear filter), 바이큐빅 필터(bicubic filter), 싱크 필터(sinc filter), 또는 다른 소정 필터를 사용해 분수 움직임 예측/보상에 대한 샘플 값들을 생성한다. 일부 구현들에서, 인코더는 OBMC(overlapped block motion compensation)를 사용한다. 다른 방법으로는, 움직 임 벡터 범위가 기준 프레임 경계들 내부로 한정되고 그리고/또는 OBMC가 사용되지 않는다.
5/3 배직교(biorthogonal) 웨이브렛 구조를 사용하는 MCTF의 일부 예들이 후술된다. 다른 방법으로, 인코더(200)는 다른 개수 및/또는 유형의 시간적 부대역 변환(210)(예를 들어, Haar) 및/또는 움직임 예측(220)을 수행한다. 도 2는, 완전 공간 해상도의 비디오가 시간적으로 변환되는 공간-영역 MCTF를 나타낸다. 다른 방법으로, 인코더(200)는 시간 분해(210) 이전에 하나 이상의 공간 부대역 변환들을 포함하고, MCTF는 초기 공간 분해로부터의 공간 부대역들에 대한 대역내 MCTF이다.
시간 변환(210) 이후에, 인코더(200)는 신호들을 추가 분해하기 위해 하나 이상의 2D 공간 부대역 변환(들)(230)을 적용한다. 도 2는 2D 공간 분해의 2개 레벨들에 대한 출력을 나타내는데, 수평적으로 그리고 수직적으로 낮은 공간 해상도의 부대역은 수평적으로 그리고 수직적으로 추가 분해된다. 예를 들어, 2D 공간 부대역 변환은 2항 DWT(dyadic discrete wavelet transform)이다. 웨이브렛 필터는, 예를 들어, 9/7 DWT 필터 또는 5/3 DWT 필터를 위한 것일 수 있다. 다른 방법으로, 인코더(200)는 (3 또는 4와 같은) 다른 수의 공간 부대역 변환들을 수행하고 그리고/또는 다른 유형의 공간 부대역 변환(230)을 수행한다.
시간 변환(들)(210) 및 공간 변환(들)(230) 이후에, 신호들은 상이한 공간-시간적 부대역들로 편성되는데, 이들은 입력 비디오(205)의 상이한 공간-시간 해상도들에 대응된다. 인코더(200)는 부대역들을 엔트로피 코딩(240)한다. 예를 들 어, 인코더(200)는 일부 구현들에서 3D EBCOT(embedded block coding with optimal truncation)를 사용한다. JPEG 2000은 EBCOT의 2D 형태를 사용하고, 이러한 구현들의 인코더(200)는 기본적으로 2D EBCOT를 3D 코딩으로 확장한다. 시간 및 공간 변환들에 의해 생성된 각각의 부대역은, 독립적으로 코딩되는 3D 코딩 블록들로 분리된다. 각각의 코딩 블록에 대해, 인코더(200)는 비트-평면 코딩 및 컨텍스트-기반 산술 코딩을 사용한다. 다른 방법으로, 인코더(200)는 부대역 정보에 대해 다른 소정 형태의 엔트로피 코딩을 사용한다.
인코더(200)는 움직임 정보(예를 들어, 움직임 벡터들, 움직임 모드 선택 정보)도 코딩한다. 예를 들어, 인코더(200)는 움직임 벡터 정보, 매크로블록들의 분할들, 및 움직임 예측/보상의 방향들을 엔트로피 인코딩하기 위한 간단한 가변 길이 코딩과 같은 소정 형태의 엔트로피 코딩을 사용한다. 움직임 벡터의 경우, 인코더(200)는 움직임 벡터와 그것의 예측간의 차를 인코딩한다. 움직임 벡터 예측은 앞서 인코딩/디코딩된 움직임 벡터들로부터의 중앙값 예측(median prediction)을 사용하거나 다른 소정의 움직임 벡터 예측 기술을 사용해 계산될 수 있다. 다른 방법으로, 인코더(200)는 움직임 정보를 위해 다른 및/또는 추가 코딩(250) 기술들을 사용한다.
부대역 변환들(210, 230)의 속성들로 인해, 인코더(200)는 자연스럽게 공간 확장성 및 시간/프레임-속도 확장성을 지원한다. 또한, 부대역 계수들의 비트-평면 코딩으로 인해, 인코더(200)는 일반적으로 품질/SNR(signal-to-noise ratio) 확장성도 지원한다.
이러한 확장성들은 인터넷 또는 무선 네트워크들과 같은 오류가 발생하기 쉬운 네트워크들을 통한 비디오 전송에 아주 유용하다. 상이한 부대역들은, 전송 오류들에 대해 오류 정정 또는 복원력의 상이한 레벨들을 갖도록, 전송을 위해 인코딩될 수 있다. 또는, 상이한 부대역들은 상이한 우선 순위 레벨들에서 전송될 수 있는데, 이 경우, 네트워크는 우선 순위가 결정된 전송을 지원한다.
다양한 확장성들은, 상이한 장치들이 상이한 메모리 리소스들, 계산 능력, 디스플레이 사이즈, 액세스 가능한 대역폭 등을 가진다 하더라도, 그 상이한 장치들이 동일한 압축 비디오 스트림을 공유하는 것을 도울 수도 있다. 이런 식으로, 비디오(205)를 상이한 비트레이트들로 인코딩하는 태스크가 간략화된다.
다중-레벨 시간 분해의 한가지 이점은, 비디오 신호내의 시간적 리던던시가 광범위하게 이용될 수 있다는 점이다. 시간적 부대역 변환들의 처음의 몇몇 레벨들은 인접한 프레임들 사이에서 시간적 리던던시를 이용할 수 있고, 시간적 부대역 변환들의 마지막 몇몇 레벨들은 더 긴 거리들에 걸친 프레임들 사이의 의존성들을 이용할 수 있다.
도 4는 시간 분해의 4개 계층들 및 공간 분해의 1개 계층을 가진 예시적인 3D 부대역 비디오 인코더(400)를 나타낸다. 본질적으로, 도 4는 도 2의 시간적 부대역 변환(210)에 대한 한가지 가능한 확장을 나타내며 시간 분해의 상이한 레벨들에 대한 데이터 흐름을 나타낸다. 도 4는 또한 시간 및 공간 분해에 대한 새로운 표기 방법을 도입한다.
도 4에서, 인코더(400)는 4-레벨 시간적 부대역 변환을 매초당 f개 프레임들 의 프레임 레이트를 가진 비디오에 적용한다. 시간적 부대역 변환의 각 레벨(Ti)은 그 레벨에 대한 신호 입력을 2개의 시간적 부대역들: 시간적 저역-통과 부대역 및 시간적 고역-통과 부대역으로 분리한다. 그러면, 각각의 부대역은 그 레벨에 대한 입력 비디오 신호의 1/2 프레임 레이트를 가진다. 도 4에서, t-Li 및 t-Hi의 항들은, 각각, i번째 시간 변환(Ti) 이후의 저역-통과 부대역 출력 및 고역-통과 부대역 출력을 나타낸다. t-Li 및 t-Hi 모두는 f/2i의 프레임 레이트를 가진다. 도 4에서, 신호 t-Li는 긴-범위 의존성들을 이용하기 위한 시간적 부대역 변환(Ti+1)으로써 몇회 반복 동안 분해되어 디코더에 의해 디코딩될 수 있는 더 낮은 프레임 레이트의 비디오를 가능하게 한다.
간단한 수치적 예로 설명하기 위해, 입력 비디오가 초당 30 프레임(30 fps;frame per second)의 CIF 비디오라고 가정한다. 제 1 시간 분해로부터의 저역-통과 부대역 출력(t-L1)은 15 fps 비디오인데, 이것은 제 1 시간 분해로부터의 고역-통과 부대역 출력(t-H1)이기도 하다. 제 2 시간 분해로부터의 부대역 출력들(t-L2 및 t-H2)은 7.5 fps 비디오이고, 제 3 시간 분해로부터의 부대역 출력들(t-L3 및 t-H3)은 3.75 fps 비디오이다. 마지막으로, 제 4 시간 분해로부터의 부대역 출력들(t-L4 및 t-H4)은 1.875 fps 비디오이다. 공간 해상도는 본 예의 모든 저역-통과 출력 및 고역-통과 부대역 출력들에 대해 CIF이다.
프레임들간의 움직임 정보는 상이한 레벨들에서 예측되고, 각 레벨의 시간 변환은 현재 레벨의 움직임 경로들에 따라 수행된다. 따라서, 시간 경로의 각 레벨은, 후속적으로 코딩되는 움직임 벡터들을 발생시킨다. 도 4에는, 시간 변환의 4개 레벨들에 대응되는, 움직임 벡터들의 4개 세트들이 존재한다.
그 다음, 시간적 저역-통과 부대역 출력(t-L4) 및 시간적 고역-통과 부대역 출력들(t-H1, t-H2, t-H3, 및 t-H4)은, 개개의 입력 부대역들을 저역-통과 수평, 저역-통과 수직(LL), 저역-통과 수평, 고역-통과 수직(LH), 고역-통과 수평, 저역-통과 수직(HL), 및 고역-통과 수평, 고역-통과 수직(HH) 부대역들로 분리하는 단일-레벨 2D 공간 부대역 변환(S1)으로 분할된다. 다른 방법으로, 인코더(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)는 공간-시간적 부대역들의 일부 또는 전부에 대한 정보(305)를 엔트로피 디코딩(340)한다. 비디오 정보(395)는 여전히, 입력 비디오(205)의 상이한 공간-시간 해상도들에 대응되는 상이한 공간-시간적 부대역들로 편성되어 있다. 이런 식으로, 디코더(300)는, 압축된 비트 스트림(395) 분할들을 무시하면서, 상이한 공간-시간 해상도들 사이에서 선택할 수 있거나, 디코더(300)는, 디코더(300)가 실제로 수신하는 압축된 비트 스트림(395)의 소정 서브세트를 단순 디코딩(340)할 수도 있다. 디코더(300)는 본질적으로 디코더(300)가 디코딩하는 정보에 대해 인코더(200)에서 수행된 엔트로피 코딩(240)의 역을 수행한다. 예를 들어, 디코더(300)는 3D EBCOT를 사용해 인코딩된 정보를 수신하여 디코딩(340)한다. 다른 방법으로, 디코더(300)는 부대역 정보의 일부 또는 전부에 대해 다른 형태의 엔트로피 디코딩을 사용한다.
디코더(300)가 역 MCTF(IMCTF)를 수행할 때, 인코더(200)에서 수행된 코딩(250)의 역을 수행하는 많은 경우들에서, 디코더(300)는 움직임 정보(예를 들어, 움직임 벡터들, 움직임 모드 선택 정보)를 디코딩(350)한다. 예를 들어, 디코더 (300)는 간단한 가변 길이 코드들의 디코딩과 같은 엔트로피 디코딩의 소정 형태를 사용한다. 움직임 벡터의 경우, 디코더(300)는 중앙값 예측 또는 다른 소정의 움직임 벡터 예측 기술을 사용해 움직임 벡터 예측을 계산한 다음, 디코더(300)는 움직임 벡터 예측을 움직임 벡터 차분과 조합한다. 다른 방법으로, 디코더(300)는 다른 및/또는 추가 디코딩(350) 기술들을 사용한다.
디코더(300)는 비디오를 공간적으로 복구하기 위해 하나 이상의 역 공간 부대역 변환(들)(330)을 적용한다. 도 3은 2D 역 공간 분해의 2개 레벨들에 대한 입력 및 출력을 나타낸다. 예를 들어, 2D 역 공간 부대역 변환은 2항 역 DWT(IDWT)이다. 다른 방법으로, 디코더(300)는 다른 수 그리고/또는 유형의 역 공간 부대역 변환(330)을 수행한다.
디코더(300)는 시간적 부대역 역변환(310)에 의해 비디오 신호를 추가 복구한다. 도 3은 저해상도 부대역 및 고해상도 부대역으로부터의 단일 레벨의 시간 복구에 대한 출력을 나타내지만, 시간 조합은 4, 5, 또는 다른 수의 합성 레벨들을 포함할 수 있다.
도 3에서, 시간적 역변환(310)은 IMCTF를 사용하고, 디코더(300)는 비디오 신호에 대한 디코딩(350)된 움직임 정보를 사용해 움직임 보상을 수행한다. 일반적으로, 움직임 정보들 및 IMCTF의 속성들(예를 들어, 움직임 보상을 위한 분할들, 움직임 벡터 정확도, 움직임 보상의 방향, 기준 프레임 패딩의 사용, 서브-픽셀 보간, OBMC의 사용)은 대응되는 인코더(200)에서와 동일하고, 압축된 비디오 비트 스트림(395)으로 시그널링된다. IMCTF의 몇가지 예들이 후술된다. 다른 방법으로, 디코더(300)는 다른 수 및/또는 유형의 시간적 부대역 역변환(310) 및/또는 움직임 변환을 수행한다. 도 3은, 완전 공간 해상도의 비디오가 시간적 역변환들을 사용해 구성되는 공간-영역 IMCTF를 나타낸다. 다른 방법으로, 디코더(300)는 대역내 MCTF를 수행한다.
도 4의 인코더(400)로 돌아가면, 대응되는 디코더는 t-Li로부터만 f/2i 프레임 레이트 비디오를 구성할 수 있다. 또는, 디코더는 (후속적인 시간적 고역-통과 부대역 정보 T-Hi+1 등을 포함하는) t-Li 및 t-Hi 양자로부터 f/2i-1의 프레임 레이트 비디오를 구성할 수 있다.
도 5는 인코더에 시간 분해의 4개 계층들 및 공간 분해의 2개 계층들을 갖고, 디코더에 대응되는 수의 역변환들을 가진 예시적인 3D 부대역 비디오 코덱(endoder-decoder) 시스템(500)을 나타낸다. 본질적으로, 도 5는 도 2 및 도 3의 인코더(200) 및 디코더(300)에 대한 가능한 다른 버전들을 나타낸다. 도 5는 또한 시간 및 공간 분해 및 그들의 역 연산들에 대한 좀더 간단한 다른 표기 방법을 도입한다.
도 5에서, 인코더는 비디오에 시간적 부대역 변환들(Ti)의 4개 레벨들(즉, T1, T2, T3, 및 T4)을 적용하고 시간 분해의 결과들에 공간 부대역 변환들(Si)의 2개 레벨들(즉, S1 및 S2)을 적용한다. 그 다음, 인코더는 엔트로피 코딩(E)을 수행한 다. 디코더는 엔트로피 디코딩(E-1)을 수행하고 엔트로피 디코딩의 결과들에 공간적 부대역 역변환들(Si -1)의 2개 레벨들(즉, S2 -1 및 S1 -1)을 적용한다. 그 다음, 디코더는 공간 복구의 결과들에 시간적 부대역 역변환들(Ti -1)의 4개 레벨들(즉, T4 -1, T3 -1, T2 -1, 및 T1 -1)을 적용한다.
Ⅲ. MCTF(Motion-compensated Temporal Filtering)
코딩 효율성을 향상시키기 위해, (여기에서는 MCTF라고도 하는) 움직임-정렬 시간 변환들이 시간 분해에 적용되어 시간적 리던던시를 효과적으로 제거한다. 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 112005037675771-pat00001
여기에서, MV2i+1->2i는 프레임(I2i+1)으로부터의 프레임(I2i)으로의 움직임 벡터를 의미하고, MV2i+1->2i+2는 유사한 의미를 가지며, MC()는, 인접한 짝수 프레임으로부터 현재 홀수 프레임의 예측의 적어도 일부를 생성하는 움직임 보상을 의미한다. (수학식 1은 매크로블록, 매크로블록 분할, 또는 움직임 벡터들이 적용되는 홀수 프레임 의 다른 부분에 대한 MCP를 도시하기 위한 것으로, 이러한 MCP는 홀수 프레임의 다른 매크로블록들, 매크로블록 분할들 등에 대해 반복된다.) 일부 경우들에서, 인코더는, 수학식 1의 MC 기여들 및 가중화에 대응되는 변화들을 가지며, (Haar 변환에서와 같이) MCP를 계산할 때 (양자가 아닌) 인접한 짝수 프레임들 중 하나만을 고려하거나, 인코더는 내부 압축을 사용해 홀수 프레임의 일부 또는 전부를 인코딩한다. 내장형 기본 계층 코덱과 관련하여, 인코더는, 후술하는 바와 같이, 인접한 짝수 프레임들이 아닌 프레임들을 기준 프레임들로서 사용할 수도 있다.
다음으로, 예측 모듈(710)은 수학식 2와 같이 고역-통과 프레임(Hi)을 계산한다.
Figure 112005037675771-pat00002
한-레벨의 시간 변환을 완결짓기 위해 예측 스테이지(710)에 후속되는 업데이트 스테이지(720)에서, 인코더는 다음의 수학식 3과 같이 인접한 고역-통과 프레임들로부터 짝수 프레임(I2i)에 대한 업데이트 U(I2i)를 계산한다.
Figure 112005037675771-pat00003
여기서, MC()는, 인접한 고역-통과 프레임으로부터 짝수 프레임에 대한 업데이트의 적어도 일부를 생성하는 움직임 보상을 의미한다. 간단한 근사치로서, MCU에 대한 움직임 벡터들은 MCP에 대한 대응되는 움직임 벡터들의 역으로서 유도된다. (수학식 3은 움직임 벡터들이 적용되는 짝수 프레임의 매크로블록, 매크로블록 분할, 또는 다른 부분을 나타내기 위한 것이며, 이러한 MCU는 다른 매크로블록들, 매크로블록 분할들 등에 대해 반복된다.) 일부 경우들에서, 인코더는, 수학식 3의 MC 기여들 및 가중화에 대응되는 변화들을 가지며, MCU를 계산할 때 고역-통과 프레임들 중 (양자가 아닌) 하나만을 고려하거나, 인코더는 고역-통과 프레임들 중 어떤 것도 고려하지 않는다.
그 다음, 인코더는 다음의 수학식 4와 같이 저역-통과 프레임을 생성한다.
Figure 112005037675771-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로부터의 오차(residual)이다. 그 다음, 짝수-인덱스의 원래 프레임(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)은, 스레숄드 정보의 관점에서 업데이트(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는 인지 코딩 및 이미지 워터마킹에 널리 사용된다. 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 112005037675771-pat00005
여기서, σx 2(i,j)는 좌표(i,j)의 픽셀이 중심인 윈도우의 이미지 x에 대한 로컬 분산을 지시한다. JND는 계산 복잡도를 감소시키기 위해 간단하게 휘도 샘플들로부터 계산될 수도 있다. 또는, JND는 휘도 및 색차 샘플들 모두로부터 계산될 수도 있다. 윈도우의 사이즈는 구현에 의존한다. 윈도우 사이즈의 일례는 3×3이고, 다른 일례는 5×5이다. θ는, 소정 이미지에 대해 선택될 수 있는 튜닝 파라미터이다. 이미지가 비-정지 가우시안(non-stationary Gausian)이라고 가정하면, 이것은 잡음 가시도 펑션 값과 동일하다. 튜닝 파라미터 θ는 JND 정의에서 콘트라스트 조정의 중요한 역할을 한다. 튜닝 파라미터 θ를 이미지-종속화하기 위해, 이것은 다음의 수학식 6과 같이 계산되는데,
Figure 112005037675771-pat00006
여기서,
Figure 112005037675771-pat00007
는 소정 이미지에 대한 최대 로컬 분산이고, D∈[50, 100]은 실험적으로 결정된 파라미터이다. 이러한 JND 정의에 따르면, σx 2(i,j)가 작으므로, 평탄 영역들에서는 JND 값이 작으며, 그 반대도 마찬가지이다.
인코더에서의 적응적 업데이트를 표현하는 좀더 정확한 방식은 다음의 수학식 7과 같은데,
Figure 112005037675771-pat00008
여기서, f(I2i,U2i)는 다음의 수학식 8과 같다.
Figure 112005037675771-pat00009
Figure 112005037675771-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 등과 같은 기존 표준과 호환 가능한 기본 계층 코덱의 경우, 인터-픽처(inter-picture)(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) 또는 불규칙한 움직임들이 존재할 경우, 움직임 예측은 시간적 고역-통과 부대역의 일부 블록들에 대해서는 불량하게 정합되는 블록들만을 찾을 수 있을 뿐이다. 내부-코딩 모드(inter-coding mode)가 불가능할 경우, 이러한 경우들에 대해 강제된 상호-예측(inter-prediction)은 코딩 성능을 열화시킬 수 있으며 시각적 품질에 나쁜 영향을 미칠 수 있다.
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 레벨의 공간 확장성만큼 차이가 난다.
제 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 방식(2650)을 위한 것으로 표시되어 있는 제 2 공간 역변환 및 후속 공간 변환은 서로 상쇄되므로 생략될 수 있다.)
제 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 112005037675771-pat00011
여기서, INTPSD는 기준 화상 정보를 위한 공간 영역의 픽셀들에 대한 보간을 지시하 고, MCPSD는 공간 영역에서의 MCP를 지시한다. DWT는 선형 연산으로, 다음의 수학식 10과 같다.
Figure 112005037675771-pat00012
SL 해상도 버퍼를 사용해 중간 결과들을 보유하기 위해, DWT는 공간-영역 예측을 SL 영역에서의 예측으로 감소시킨다.
IBIMCTF를 위해, SL 리프팅 신호는 다음의 수학식 11과 같이 발생되는데,
Figure 112005037675771-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 112005037675771-pat00014
Figure 112005037675771-pat00015
Figure 112005037675771-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 112005037675771-pat00017
Figure 112005037675771-pat00018
간략화를 위해, MCP가 간단한, 블록-기반의 움직임 시프트 연산들을 수반한다고 가정하면, 수학식 15는 다음과 같이 도시될 수 있다. 현재 프레임이 블록들 B={Bi|i=1, ..., m}로 분리되고 이러한 블록들에 대한 움직임 벡터들이 MV={MVi|i=1, ..., m}라고 가정한다. Fi ref는, 블록 Bi에 의해 참조되는 픽셀들만이 보유되고 다른 픽셀들은 0으로 설정되는, 기준 프레임 Fref의 새로운 버전이다.
Figure 112005037675771-pat00019
Figure 112005037675771-pat00020
수학식 18에서의 제 1 부등식은 DWT의 시프트-변경 속성으로 인한 것이다. 수학식 18의 제 2 부등식은, 움직임이 아주 복잡할 경우, MCP에서의 움직임 시프트 동안의 오버래핑(overlapping) 및 언커버링(uncovering)으로 인한 것이다.
가능한 한가지 솔루션은, 다음의 수학식 19에 나타낸 바와 같이, MCP를 DWT 이전에 공간 영역으로 이동시키는 것이다. 이 경우, MCP는 SDIMCTF의 일부이다.
Figure 112005037675771-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 부대역 정보를 사용해 IDWT 연산(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 112005037675771-pat00022
시간만큼 연속적으로 시프트하고 시프트된 시퀀스들을 다운샘플링한다. 이것은, {xp i(n)}(i=0, 1, ...,
Figure 112005037675771-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 112005037675771-pat00024
)의 세트를 사용해 연속적인 p-픽셀의 위상-시프팅 시퀀스들이 획득될 수 있다. 이러한 필터들은 서브-픽셀 보간 시퀀스를 연속적으로 시프팅하고 이러한 시프팅된 시퀀스들을 다운-샘플링하는 것과 등가이다. p-픽셀 CPOST의 분해 프로세스는, 필터들을 {x(n)}에 적용한 후, 그 결과를 웨이브렛 분해 변환을 위해 저역-통과 필터 GL(z)로 그리고 고역-통과 필터 GH(z)로 별개로 프로세싱한 다음, 다운샘플링하는 것으로서 표현될 수 있다. ip i(n) 및 hp i(n) (i=0, 1, 2, ...,
Figure 112005037675771-pat00025
)은, 각각 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 112005037675771-pat00026
Figure 112005037675771-pat00027
p-픽셀 CPOST의 분해 프로세스는 다음의 수학식 22 및 수학식 23과 같은 행렬 표현에 대응된다.
Figure 112005037675771-pat00028
Figure 112005037675771-pat00029
수학식 22는 원래 시퀀스의 시프팅없는 웨이브렛 분해 변환을 표현한다. 수학식 23은 연속적인 서브-위상 시프팅 시퀀스의 웨이브렛 분해 변환을 표현한다. 수학식 23 및 수학식 24는 CPOST를 구성한다. Lp i(z), Hp i(z)와 Lp o(z), Hp o(z)간의 관계에 대해 살펴본다. 수학식 20 및 수학식 23으로부터, 다음의 수학식 24가 얻어진다.
Figure 112005037675771-pat00030
수학식 22 및 수학식 24로부터, 다음의 수학식 25가 얻어지는데,
Figure 112005037675771-pat00031
여기서, G(z)는 다음과 같고, G-1(z)는 G(z)의 역행렬이다.
Figure 112005037675771-pat00032
수학식 25에 따르면, 변환 행렬 Tp i(z) 및 역변환 행렬 ITp i(z)은 서브-픽셀 위상-시프팅 시퀀스들의 웨이브렛 변환을 얻기 위한 원래 시퀀스(즉, 0-위상 시프팅 시퀀스)의 웨이브렛 변환으로부터 획득될 수 있다.
Figure 112005037675771-pat00033
Figure 112005037675771-pat00034
수학식 26으로부터, 다음의 수학식 28이 존재한다면, 과완전 웨이브렛 변환 이후의 서브-픽셀 보간 결과는 이산적 시간 영역에서의 서브-픽셀 보간 이후의 과완전 웨이브렛 변환 결과와 동일하다. 그렇지 않으면, 과완전 웨이브렛 변환 이후의 서브-픽셀 보간 결과는 이산적 시간 영역에서의 서브-픽셀 보간 이후의 과완전 웨이브렛 변환 결과와 동일하지 않다.
Figure 112005037675771-pat00035
일반적으로, 수학식 28은 존재하지 않으며, 이것은 대역내 비디오 코딩을 위해 서브-픽셀 보간과 과완전 웨이브렛 변환의 순서를 교환하지 않을 것을 제시한다. 그러나, 수학식 25에 따르면, 원래 시퀀스의 CPOST 계수들은 그것의 웨이브렛 변환 계수들로부터 유도될 수 있다.
CPOST 방법은 정수-픽셀 위상의 과완전 웨이브렛 변환 뿐만 아니라 서브-픽셀 위상의 과완전 웨이브렛 변환도 실현한다. 5-3 웨이브렛 변환 및 6-탭 보간 필터들을 가진 p=1/2에 대한 연속적인 위상의 과완전 변환 행렬 계수들은 다음과 같 다. 변환 행렬들
Figure 112005037675771-pat00036
,
Figure 112005037675771-pat00037
, 및
Figure 112005037675771-pat00038
에 대한 각 요소의 계수들은 다음과 같다.
Figure 112005037675771-pat00039
Figure 112005037675771-pat00040
Figure 112005037675771-pat00041
개시된 발명의 원리들이 적용될 수 있는 가능한 다수 실시예들의 관점에서, 예시된 실시예들은 단지 본 발명의 바람직한 예들일 뿐이며 본 발명의 범위를 한정하는 것으로 간주되어서는 안된다는 것을 알 수 있어야 한다. 오히려, 본 발명의 범위는 다음의 청구항들에 의해 정의된다. 따라서, 우리는 이들 청구항들의 범위 및 정신내에 해당되는 모든 것을 우리의 발명으로 주장한다.
본 발명은 확장가능한 비디오 코딩 및 디코딩을 위한 기술 및 도구를 제공한 다.

Claims (20)

  1. 비디오 인코더를 구현하는 컴퓨팅 장치 내에서, 시간적 필터링을 수행하기 위한 방법으로서, 상기 방법은
    상기 비디오 인코더를 구현하는 컴퓨팅 장치를 이용하여, 움직임-보상형 예측 스테이지 및 움직임-보상형 업데이트 스테이지를 포함하는 움직임-보상형 시간적 필터링(motion-compensated temporal filtering)을 수행하는 단계를 포함하고,
    상기 움직임-보상형 업데이트 스테이지는,
    인간의 시각적 시스템의 모델에 적어도 부분적으로 기초하고 업데이트 정보가 적용될 이미지의 샘플 값들에 적어도 부분적으로 기초하여, 상기 업데이트 정보를 적응시키는 단계 - 상기 적응시키는 단계는 왜곡이 인지될 수 있는 이미지 부분들에 대해서는 상기 업데이트 정보를 한정하고 상기 이미지의 다른 부분들에 대해서는 상기 업데이트 정보를 한정하지 않도록 하기 위하여, 상기 이미지의 상기 샘플 값들로부터 하나 이상의 이미지-종속형 스레숄드(image-dependent thresholds)를 설정하는 단계를 포함함 - ; 및 인코딩 동안, 상기 적응시키는 단계의 결과들을 상기 이미지에 적용하는 단계를 포함하는,
    시간적 필터링을 수행하기 위한 방법.
  2. 제1항에 있어서,
    상기 인간의 시각적 시스템의 모델은 JND(just noticeable difference) 모델인,
    시간적 필터링을 수행하기 위한 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 이미지-종속형 스레숄드는 상기 이미지 내에서 공간적으로 인접한 샘플 값들의 분산에 따라 달라지는
    시간적 필터링을 수행하기 위한 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 이미지-종속형 스레숄드는 상기 이미지 내에서 평탄 영역들에 대해서는 잡음 영역에서보다 더 낮고 잡음 영역들에 대해서는 평탄 영역에서보다 더 높은
    시간적 필터링을 수행하기 위한 방법.
  5. 제1항에 있어서,
    상기 하나 이상의 이미지-종속형 스레숄드는 콘트라스트 조정 튜닝 파라미터에 따라 달라지며,
    상기 하나 이상의 이미지-종속형 스레숄드는 강도 파라미터에 의해 추가적으로 변경되는
    시간적 필터링을 수행하기 위한 방법.
  6. 제1항에 있어서,
    상기 적응시키는 단계는,
    적용 가능한 스레숄드의 절대값 미만인 상기 업데이트 정보의 부분을 통과시키는 단계; 및
    그렇지 않으면, 상기 업데이트 정보의 부분을 상기 업데이트 정보의 부분의 부호에 의해 변경된 상기 적용 가능한 스레숄드로 한정하는 단계
    를 포함하는
    시간적 필터링을 수행하기 위한 방법.
  7. 제1항에 있어서, 상기 업데이트 정보가 적용될 이미지는 제2 이미지이며, 상기 방법은, 인코딩 동안,
    상기 움직임-보상형 예측 스테이지에서, 제1 이미지에 대해,
    적어도 상기 제2 이미지와 관련하여 상기 제1 이미지에 대한 움직임-보상형 예측을 계산하고;
    상기 제1 이미지와 상기 제1 이미지에 대한 상기 움직임-보상형 예측간의 차로서 고역-통과 이미지를 계산하는 단계; 및
    상기 고역-통과 이미지에 대해 움직임 보상을 수행하는 단계 - 상기 움직임-보상형 고역-통과 이미지는 상기 업데이트 정보에 기여하고, 상기 적용하는 단계는 상기 업데이트 정보를 상기 제2 이미지와 조합하여 저역-통과 이미지를 형성하는 단계를 포함함 -
    를 더 포함하며, 상기 방법은 후속적인 공간 분해 및 엔트로피 인코딩 중 하나 이상을 더 포함하는
    시간적 필터링을 수행하기 위한 방법.
  8. 시간적 필터링 방법을 구현하는데 사용되는 컴퓨터 실행가능 명령어들을 저장한 컴퓨터 판독가능 기록 매체로서, 상기 컴퓨터-실행가능 명령어들은
    그에 의해 프로그래밍된 컴퓨터 시스템으로 하여금,
    하나 이상의 인지 기준에 적어도 부분적으로 기초하고 움직임-보상형 업데이트 스테이지에서 업데이트 정보가 적용될 이미지의 샘플 값들에 적어도 부분적으로 기초하여, 리프팅-기반의 움직임-보상형 시간적 필터링 또는 역 움직임-보상형 시간적 필터링을 위한 하나 이상의 업데이트 스레숄드를 계산하는 단계; 및
    상기 하나 이상의 업데이트 스레숄드에 따라 상기 움직임-보상형 업데이트 스테이지에 대한 업데이트 정보를 스레숄딩(thresholding)하는 단계
    를 포함하는 방법을 수행하게 하는,
    컴퓨터 판독가능 기록 매체.
  9. 제8항에 있어서,
    상기 스레숄딩하는 단계는,
    상기 하나 이상의 업데이트 스레숄드 중 적용 가능한 업데이트 스레숄드 미만인 상기 업데이트 정보의 부분을 통과시키는 단계; 및
    그렇지 않으면, 상기 업데이트 정보의 부분을, 상기 업데이트 정보의 부분의 부호에 의해 변경된 상기 적용 가능한 업데이트 스레숄드로 한정하는 단계
    를 포함하는,
    컴퓨터 판독가능 기록 매체.
  10. 업데이트 정보가 적용될 비디오 화상 정보를 저장하기 위한 하나 이상의 버퍼들; 및
    인지 기준 및 상기 업데이트 정보가 적용될 버퍼링된 비디오 화상 정보의 샘플 값들에 기초하여 계산된 업데이트 스레숄드들을 고려하여, 움직임-보상형 시간적 필터링 또는 역 움직임-보상형 시간적 필터링의 움직임-보상형 업데이트 스테이지에서 업데이트 연산들을 적응적으로 수행하기 위한 수단 - 상기 업데이트 정보는 상기 업데이트 스레숄드들에 따라 선택적으로 적용되고, 움직임-보상형 시간적 필터링의 상기 움직임-보상형 업데이트 스테이지 동안 고려되는 샘플 값들은 원래의 값들이지만 역 움직임-보상형 시간적 필터링의 움직임-보상형 업데이트 스테이지 동안 고려되는 샘플 값들은 재구성된 값들임 -
    을 포함하는
    시간적 필터링을 수행하기 위한 장치.
  11. 제1항에 있어서, 상기 업데이트 정보가 적용될 이미지의 상기 샘플 값들은 공간-영역 값들 또는 저역-통과 부대역(sub-band) 값들이며, 상기 움직임-보상형 시간적 필터링은 공간-영역 움직임-보상형 시간적 필터링(spatial-domain motion-compensated temporal filtering) 또는 대역내(in-band) 움직임-보상형 시간적 필터링인
    시간적 필터링을 수행하기 위한 방법.
  12. 제8항에 있어서,
    고역-통과 이미지는, 움직임-보상형 예측 스테이지에서, 제1 이미지와 적어도 제2 이미지로부터의 상기 제1 이미지의 움직임-보상형 예측 간의 차들을 계산하는 것의 결과이고, 상기 제2 이미지는 상기 업데이트 정보가 적용될 이미지이며,
    상기 업데이트 정보는 상기 움직임-보상형 업데이트 스테이지에서 적어도 상기 고역-통과 이미지로부터의 움직임-보상형 예측의 결과이며,
    저역-통과 이미지는 상기 스레숄딩된 업데이트 정보를 상기 제2 이미지에 적용하는 것의 결과인,
    컴퓨터 판독가능 기록 매체.
  13. 비디오 디코더를 구현하는 컴퓨팅 장치에서, 시간적 필터링을 수행하기 위한 방법으로서, 상기 방법은
    상기 비디오 디코더를 구현하는 컴퓨팅 장치를 이용하여, 움직임-보상형 예측 스테이지 및 움직임-보상형 업데이트 스테이지를 포함하는 역 움직임-보상형 시간적 필터링을 수행하는 단계를 포함하고,
    상기 움직임-보상형 업데이트 스테이지는,
    인간의 시각적 시스템의 모델에 적어도 부분적으로 기초하고 업데이트 정보가 적용될 이미지의 샘플 값들에 적어도 부분적으로 기초하여, 상기 업데이트 정보를 적응시키는 단계 - 상기 적응시키는 단계는 왜곡이 인지될 수 있는 이미지 부분들에 대해서는 상기 업데이트 정보를 한정하고 상기 이미지의 다른 부분들에 대해서는 상기 업데이트 정보를 한정하지 않도록 하기 위하여, 상기 이미지의 상기 샘플 값들로부터 하나 이상의 이미지-종속형 스레숄드(image-dependent thresholds)를 설정하는 단계를 포함함 - ; 및
    디코딩 동안, 상기 적응시키는 단계의 결과들을 상기 이미지에 적용하는 단계를 포함하는,
    시간적 필터링을 수행하기 위한 방법.
  14. 제13항에 있어서, 디코딩 동안, 하나 이상의 고역-통과 이미지들에 대하여 움직임 보상을 수행하는 단계를 더 포함하며, 상기 하나 이상의 움직임-보상형 고역-통과 이미지는 상기 업데이트 정보에 기여하고, 상기 적용하는 단계는 상기 업데이트 정보를 저역-통과 이미지와 조합하는 단계를 포함하며, 상기 방법은 후속적인 움직임-보상형 예측 및 디스플레이 중 하나 이상을 더 포함하는,
    시간적 필터링을 수행하기 위한 방법.
  15. 제13항에 있어서, 상기 업데이트 정보가 적용될 이미지의 상기 샘플 값들은 공간-영역 값들 또는 저역-통과 부대역 값들이며, 상기 역 움직임-보상형 시간적 필터링은 공간-영역 역 움직임-보상형 시간적 필터링(spatial-domain inverse motion-compensated temporal filtering) 또는 대역내(in-band) 역 움직임-보상형 시간적 필터링인,
    시간적 필터링을 수행하기 위한 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020050062778A 2004-07-12 2005-07-12 움직임-보상형 시간적 필터링에서의 적응적 업데이트를위한 방법 KR101203338B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/456,679 US20070012058A1 (en) 2005-07-12 2006-07-11 Cogeneration system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US58792304P 2004-07-12 2004-07-12
US60/587,923 2004-07-12
US11/126,997 US8442108B2 (en) 2004-07-12 2005-05-10 Adaptive updates in motion-compensated temporal filtering
US11/126,997 2005-05-10

Publications (2)

Publication Number Publication Date
KR20060092825A KR20060092825A (ko) 2006-08-23
KR101203338B1 true KR101203338B1 (ko) 2012-11-20

Family

ID=35169236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050062778A KR101203338B1 (ko) 2004-07-12 2005-07-12 움직임-보상형 시간적 필터링에서의 적응적 업데이트를위한 방법

Country Status (5)

Country Link
US (1) US8442108B2 (ko)
EP (1) EP1617676B1 (ko)
JP (1) JP5276252B2 (ko)
KR (1) KR101203338B1 (ko)
CN (1) CN1735208B (ko)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060088461A (ko) * 2005-02-01 2006-08-04 엘지전자 주식회사 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
KR100732961B1 (ko) * 2005-04-01 2007-06-27 경희대학교 산학협력단 다시점 영상의 스케일러블 부호화, 복호화 방법 및 장치
WO2007018682A1 (en) * 2005-07-22 2007-02-15 Thomson Licensing Method and apparatus for weighted prediction for scalable video coding
CN101278563A (zh) * 2005-08-15 2008-10-01 诺基亚公司 用于视频编码中更新操作的亚像素内插的方法和装置
US7811553B2 (en) * 2005-11-09 2010-10-12 The Gillette Company Molded shaving aid compositions, components and methods of manufacture
EP1809041A1 (en) * 2006-01-11 2007-07-18 Mitsubishi Electric Information Technology Centre Europe B.V. Error concealement for scalable video coding
US8619865B2 (en) 2006-02-16 2013-12-31 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
JP2009540625A (ja) * 2006-02-16 2009-11-19 ヴィドヨ,インコーポレーテッド スケーラブルビデオコーディングビットストリームのシニングのためのシステムおよび方法
US8009861B2 (en) * 2006-04-28 2011-08-30 Vobile, Inc. Method and system for fingerprinting digital video object based on multiresolution, multirate spatial and temporal signatures
US8208545B2 (en) * 2006-06-01 2012-06-26 Electronics And Telecommunications Research Institute Method and apparatus for video coding on pixel-wise prediction
US8009732B2 (en) * 2006-09-01 2011-08-30 Seiko Epson Corporation In-loop noise reduction within an encoder framework
US20080140982A1 (en) * 2006-10-05 2008-06-12 Holt John M Redundant multiple computer architecture
KR100856411B1 (ko) * 2006-12-01 2008-09-04 삼성전자주식회사 조도 보상 방법 및 그 장치와 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
JP4799477B2 (ja) * 2007-05-08 2011-10-26 キヤノン株式会社 画像符号化装置及び画像符号化方法
KR101244917B1 (ko) * 2007-06-11 2013-03-18 삼성전자주식회사 조도 보상 방법 및 장치, 이를 이용한 영상의 부호화,복호화 방법 및 장치
US8331444B2 (en) * 2007-06-26 2012-12-11 Qualcomm Incorporated Sub-band scanning techniques for entropy coding of sub-bands
KR101394151B1 (ko) 2007-10-04 2014-05-14 삼성전자주식회사 시감 특성을 이용한 영상 부호화 장치 및 방법
US8179965B2 (en) * 2008-01-23 2012-05-15 Panasonic Corporation Moving picture coding method
ES2602100T3 (es) * 2008-04-16 2017-02-17 Ge Video Compression, Llc Escalabilidad de profundidad de bits
BRPI0915971A2 (pt) * 2008-07-25 2019-02-26 Sony Corp aparelho e método de processamento de imagem
KR101021249B1 (ko) * 2008-08-05 2011-03-11 동국대학교 산학협력단 적응적 부호화 모드 선택 방법
JP2012503416A (ja) * 2008-09-18 2012-02-02 トムソン ライセンシング ビデオ画像の刈り取り方法及び装置
US20100149301A1 (en) * 2008-12-15 2010-06-17 Microsoft Corporation Video Conferencing Subscription Using Multiple Bit Rate Streams
TWI463878B (zh) * 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
JP5234368B2 (ja) 2009-09-30 2013-07-10 ソニー株式会社 画像処理装置および方法
US8947492B2 (en) * 2010-06-18 2015-02-03 Microsoft Corporation Combining multiple bit rate and scalable video coding
WO2012016354A1 (en) * 2010-08-04 2012-02-09 Nxp B.V. Video player
US20120075346A1 (en) * 2010-09-29 2012-03-29 Microsoft Corporation Low Complexity Method For Motion Compensation Of DWT Based Systems
EP2466580A1 (en) * 2010-12-14 2012-06-20 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Encoder and method for predictively encoding, decoder and method for decoding, system and method for predictively encoding and decoding and predictively encoded information signal
CN103299632B (zh) 2011-01-14 2017-02-22 瑞典爱立信有限公司 去块效应滤波方法及去块效应滤波器单元
KR101221495B1 (ko) * 2011-02-28 2013-01-11 동국대학교 산학협력단 적응적 mctf의 rd 최적화 방법
EP2509315B1 (en) * 2011-04-04 2016-08-17 Nxp B.V. Video decoding switchable between two modes of inverse motion compensation
KR101215152B1 (ko) 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US9749638B1 (en) * 2011-04-28 2017-08-29 Google Inc. Method and apparatus for encoding video with dynamic quality improvement
CN102857762B (zh) * 2011-07-01 2016-03-30 华为技术有限公司 一种解码过程中块索引信息的获取方法及装置
WO2013049412A2 (en) * 2011-09-29 2013-04-04 Dolby Laboratories Licensing Corporation Reduced complexity motion compensated temporal processing
EP2777258B1 (en) * 2011-11-04 2017-01-11 Huawei Technologies Co., Ltd. Binarization of prediction residuals for lossless video coding
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
JP2013198059A (ja) * 2012-03-22 2013-09-30 Sharp Corp 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法およびプログラム
GB2502047B (en) * 2012-04-04 2019-06-05 Snell Advanced Media Ltd Video sequence processing
US9544587B2 (en) * 2012-05-14 2017-01-10 Google Technology Holdings LLC Scalable video coding with enhanced base layer
ES2907510T3 (es) * 2012-05-14 2022-04-25 V Nova Int Ltd Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada
US9185414B1 (en) * 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
US9635356B2 (en) * 2012-08-07 2017-04-25 Qualcomm Incorporated Multi-hypothesis motion compensation for scalable video coding and 3D video coding
CN102831589B (zh) * 2012-08-29 2015-12-09 上海交通大学 一种利用卷积滤波和抗锯齿分析增强图像分辨率的方法
US20140086328A1 (en) * 2012-09-25 2014-03-27 Qualcomm Incorporated Scalable video coding in hevc
US9491459B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Base layer merge and AMVP modes for video coding
EP2904803A1 (en) * 2012-10-01 2015-08-12 GE Video Compression, LLC Scalable video coding using derivation of subblock subdivision for prediction from base layer
WO2014072571A1 (en) * 2012-10-01 2014-05-15 Nokia Corporation Method and apparatus for scalable video coding
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
US9609336B2 (en) * 2013-04-16 2017-03-28 Fastvdo Llc Adaptive coding, transmission and efficient display of multimedia (acted)
US9888240B2 (en) 2013-04-29 2018-02-06 Apple Inc. Video processors for preserving detail in low-light scenes
US9313493B1 (en) * 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
KR102138368B1 (ko) * 2013-07-19 2020-07-27 삼성전자주식회사 적응적 샘플링에 기초한 계층적 움직임 예측 방법 및 움직임 예측 장치
US10009069B2 (en) 2014-05-05 2018-06-26 Nxp B.V. Wireless power delivery and data link
US9819075B2 (en) 2014-05-05 2017-11-14 Nxp B.V. Body communication antenna
US10015604B2 (en) 2014-05-05 2018-07-03 Nxp B.V. Electromagnetic induction field communication
US9819395B2 (en) 2014-05-05 2017-11-14 Nxp B.V. Apparatus and method for wireless body communication
US10014578B2 (en) 2014-05-05 2018-07-03 Nxp B.V. Body antenna system
US9812788B2 (en) 2014-11-24 2017-11-07 Nxp B.V. Electromagnetic field induction for inter-body and transverse body communication
US9819097B2 (en) 2015-08-26 2017-11-14 Nxp B.V. Antenna system
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
WO2017087537A1 (en) 2015-11-16 2017-05-26 Google Inc. Stabilization based on accelerometer data
US10320086B2 (en) 2016-05-04 2019-06-11 Nxp B.V. Near-field electromagnetic induction (NFEMI) antenna
US10567775B2 (en) * 2016-10-01 2020-02-18 Intel Corporation Method and system of hardware accelerated video coding with per-frame parameter control
JP7041494B2 (ja) * 2017-11-06 2022-03-24 キヤノン株式会社 画像処理装置および画像処理方法
CN108833916B (zh) * 2018-06-20 2021-09-24 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、存储介质和计算机设备
US10764603B2 (en) 2018-12-31 2020-09-01 Alibaba Group Holding Limited Resolution-adaptive video coding
CN117692630A (zh) 2019-05-11 2024-03-12 北京字节跳动网络技术有限公司 视频处理中编解码工具的选择性使用
KR20220073752A (ko) 2019-10-12 2022-06-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩 툴들을 위한 상위 레벨 신택스
AU2020369154A1 (en) * 2019-10-25 2022-04-21 Kakadu R & D Pty Ltd Method and apparatus for complexity control in high throughput JPEG 2000 (HTJ2K) encoding
CN111951949B (zh) * 2020-01-21 2021-11-09 武汉博科国泰信息技术有限公司 一种用于智慧病房的智能护理交互系统
CN113259662B (zh) * 2021-04-16 2022-07-05 西安邮电大学 基于三维小波视频编码的码率控制方法

Family Cites Families (137)

* 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 삼성전자 주식회사 해상도 가변 적응적 화상압축/복원방법 및 장치
US5495292A (en) * 1993-09-03 1996-02-27 Gte Laboratories Incorporated Inter-frame wavelet transform coder for color video compression
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
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
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
US5825929A (en) * 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
JP2000506687A (ja) 1996-03-29 2000-05-30 サーノフ コーポレイション 知覚量を用いて符号化を最適化し自動操作可能な画像圧縮を実行する装置及び方法
US6259631B1 (en) * 1996-09-13 2001-07-10 Texas Instruments Incorporated Row drive circuit equipped with feedback transistors for low voltage flash EEPROM memories
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
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
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
KR100370076B1 (ko) * 2000-07-27 2003-01-30 엘지전자 주식회사 다운 컨버젼 기능을 갖는 비디오 디코더 및 비디오 신호를디코딩 하는 방법
JP2004506355A (ja) 2000-08-08 2004-02-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ウェーブレット分解に基づくビデオ符号化方法
US6937291B1 (en) * 2000-08-31 2005-08-30 Intel Corporation Adaptive video scaler
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
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
JP2004523994A (ja) * 2001-04-10 2004-08-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 一連のフレームを符号化する方法
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
JP3964391B2 (ja) * 2001-06-29 2007-08-22 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US20040208247A1 (en) * 2001-07-10 2004-10-21 Eric Barrau Method and device for generating a scalable coded video signal from a non-scalable coded video signal
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
WO2003041055A1 (en) * 2001-11-02 2003-05-15 The Regents Of The University Of California End-to-end distortion estimation for streaming of pre-compressed video
AU2002351389A1 (en) * 2001-12-17 2003-06-30 Microsoft Corporation Skip macroblock coding
WO2003061294A2 (en) * 2001-12-28 2003-07-24 Koninklijke Philips Electronics N.V. Video encoding method
US20050018771A1 (en) * 2002-01-22 2005-01-27 Arnaud Bourge Drift-free video encoding and decoding method and corresponding devices
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 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
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
US20060146937A1 (en) * 2003-02-25 2006-07-06 Koninklijke Philips Electronics N.V. Three-dimensional wavelet video coding using motion-compensated temporal filtering on overcomplete wavelet expansions
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
US20130107938A9 (en) * 2003-05-28 2013-05-02 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
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 富士電機デバイステクノロジー株式会社 磁気記録媒体の製造方法、および、製造装置
WO2005002234A1 (en) * 2003-06-30 2005-01-06 Koninklijke Philips Electronics, N.V. Video coding in an overcomplete wavelet domain
CN1813269A (zh) 2003-06-30 2006-08-02 皇家飞利浦电子股份有限公司 使用过完备小波编码和循环预测映射进行视频处理的系统及方法
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 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
KR101117586B1 (ko) * 2003-12-03 2012-02-27 코닌클리케 필립스 일렉트로닉스 엔.브이. Mpeg-2 시스템에서 향상된 범위성 지원을 위한 시스템및 방법
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
JP4965429B2 (ja) 2004-04-02 2012-07-04 トムソン ライセンシング 複雑度スケーラブルなビデオエンコーダの方法及び装置
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
EP1774793A4 (en) * 2004-06-23 2010-08-25 Agency Science Tech & Res SCALABLE VIDEO CODING WITH LATERAL MOTOR 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
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
DE102004059978B4 (de) * 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein 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 삼성전자주식회사 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치
WO2006079997A2 (en) 2005-01-31 2006-08-03 Koninklijke Philips Electronics N.V. Pyramidal decomposition for multi-resolution image filtering
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
RU2411689C2 (ru) 2005-07-11 2011-02-10 Томсон Лайсенсинг Способ и устройство для адаптивного к макроблоку межслойного предсказания внутренней текстуры
US7216279B2 (en) * 2005-07-19 2007-05-08 Lsi Logic Corporation Testing with high speed pulse generator
EP1746839A1 (en) 2005-07-22 2007-01-24 Thomson Licensing Method and apparatus for encoding video data
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
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
CA2634738C (en) * 2005-12-29 2013-03-26 Rolls-Royce Power Engineering Plc Second stage turbine airfoil
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
EP1989883A1 (en) * 2006-01-09 2008-11-12 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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mehrseresht N. et al. "Adaptively weighted update steps in motion compensated lifting based scalable video compression(ICIP,2003. 14, Sep. vol.2. pages 771-774).

Also Published As

Publication number Publication date
KR20060092825A (ko) 2006-08-23
EP1617676B1 (en) 2013-10-23
EP1617676A2 (en) 2006-01-18
JP5276252B2 (ja) 2013-08-28
EP1617676A3 (en) 2011-05-25
US20060008038A1 (en) 2006-01-12
CN1735208A (zh) 2006-02-15
JP2006060790A (ja) 2006-03-02
CN1735208B (zh) 2011-12-14
US8442108B2 (en) 2013-05-14

Similar Documents

Publication Publication Date Title
KR101203338B1 (ko) 움직임-보상형 시간적 필터링에서의 적응적 업데이트를위한 방법
KR101176650B1 (ko) 3d 부-대역 코딩을 위한 내장형 기본 계층 코덱
KR101183304B1 (ko) Sdmctf 인코딩된 비디오의 3d 부-대역 디코딩에서의 공간 확장성
Andreopoulos et al. In-band motion compensated temporal filtering
US8031776B2 (en) Method and apparatus for predecoding and decoding bitstream including base layer
US8873623B2 (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
US7889793B2 (en) Method and apparatus for effectively compressing motion vectors in video coder based on multi-layer
US20060120450A1 (en) Method and apparatus for multi-layered video encoding and decoding
US20060088102A1 (en) Method and apparatus for effectively encoding multi-layered motion vectors
US9992503B2 (en) Scalable video coding with enhanced base layer
Andreopoulos et al. Complete-to-overcomplete discrete wavelet transforms for scalable video coding with MCTF
Hsu et al. Wavelet and lapped orthogonal transforms with overlapped motion-compensation for multiresolution coding of HDTV
Gao et al. Adaptive in-band motion compensated temporal filtering based on motion mismatch detection in the highpass subbands
JP2007088833A (ja) 符号化装置及び復号装置
WO2006080663A1 (en) Method and apparatus for effectively encoding multi-layered motion vectors

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 7