KR101632812B1 - 텍스쳐 및 심도 뷰 성분들 간의 내부 뷰 모션 예측 - Google Patents

텍스쳐 및 심도 뷰 성분들 간의 내부 뷰 모션 예측 Download PDF

Info

Publication number
KR101632812B1
KR101632812B1 KR1020147016428A KR20147016428A KR101632812B1 KR 101632812 B1 KR101632812 B1 KR 101632812B1 KR 1020147016428 A KR1020147016428 A KR 1020147016428A KR 20147016428 A KR20147016428 A KR 20147016428A KR 101632812 B1 KR101632812 B1 KR 101632812B1
Authority
KR
South Korea
Prior art keywords
texture view
texture
partition
view
block
Prior art date
Application number
KR1020147016428A
Other languages
English (en)
Other versions
KR20140096129A (ko
Inventor
리 장
잉 천
마르타 카르체비츠
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140096129A publication Critical patent/KR20140096129A/ko
Application granted granted Critical
Publication of KR101632812B1 publication Critical patent/KR101632812B1/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
    • 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
    • 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/103Selection of coding mode or of prediction mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 개시물의 기법들은 일반적으로, 도 뷰 성분에서의 블록을 코딩하는데 있어 심도 뷰 성분의 블록에 대응하는 테스쳐 뷰 성분으로부터의 대응하는 블록에 대한 모션 정보를 이용하는 것에 관한 것이다. 일부 실시예들에서, 코딩 목적을 위하여, 본 기법들은 텍스쳐 뷰 성분의 공간 해상도가 심도 뷰 성분의 공간 해상도와 상이한 경우에 모션 정보를 이용할 수도 있다.

Description

텍스쳐 및 심도 뷰 성분들 간의 내부 뷰 모션 예측{INSIDE VIEW MOTION PREDICTION AMONG TEXTURE AND DEPTH VIEW COMPONENTS}
본 출원은 다음의 이익을 청구한다:
2011년 11월 18일 출원된 미국 특허 가출원 No. 61/561,800;
2011년 11월 26일에 출원된 미국 특허 가출원 No. 61/563,771; 및
2012년 1월 10일 출원된 미국 특허 출원 No. 61/585,169, 이들 출원 각각의 전체 내용을 본 명세서에서는 전반적으로 참조로서 포함한다.
본 개시물은 비디오 코딩에 관한 것으로, 보다 구체적으로, 비디오 데이터를 코딩하는 기법에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대정보 단말기들 (PDAs), 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, e-책 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 소위 "스마트폰들", 원격 화상회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함한, 광범위한 디바이스들에 포함될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10, AVC (Advanced Video Coding), 현재 개발중인 HEVC (High Efficiency Video Coding) 표준, 및 이런 표준들의 익스텐션들에 의해 정의된 표준들에서 설명되는 기법들과 같은, 비디오 압축 기법들을 구현한다. 비디오 디바이스들은 이런 비디오 압축 기법들을 구현함으로써, 디지털 비디오 정보를 좀더 효율적으로 송신하거나, 수신하거나, 인코딩하거나, 디코딩하거나, 및/또는 저장할 수도 있다.
비디오 압축 기법들은 비디오 시퀀스들에 고유한 리던던시를 감소시키거나 또는 제거하기 위해, 공간 (인트라-픽쳐) 예측 및/또는 시간 (인터-픽쳐) 예측을 수행한다. 블록-기반의 비디오 코딩에 있어, 비디오 슬라이스 (예컨대, 비디오 프레임 또는 비디오 픽쳐의 부분) 는 비디오 블록들로 파티셔닝될 수도 있으며, 이 비디오 블록들은 또한 트리블록들, 코딩 유닛들 (CUs) 및/또는 코딩 노드들로서 지칭될 수도 있다. 픽쳐의 인트라-코딩된 (I) 슬라이스에서 비디오 블록들은 동일한 픽쳐에서 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 픽쳐의 인터-코딩된 (P 또는 B) 슬라이스에서 비디오 블록들은 동일한 프레임에서 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측 또는 다른 참조 프레임들에서의 참조 샘플들에 대한 시간 예측을 이용할 수도 있다. 픽쳐들은 프레임들로서 참조될 수도 있으며, 참조 픽쳐들은 참조 픽쳐들에 참조될 수도 있다.
공간 또는 시간 예측은 코딩되는 블록에 대한 예측 블록을 초래한다. 잔여 데이터는 코딩되는 원래 블록과 예측 블록 사이의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 사이의 차이를 나타내는 잔여 데이터에 따라서 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔여 데이터에 따라서 인코딩된다. 추가적인 압축을 위해, 잔여 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어, 잔여 변환 계수들을 초래할 수도 있으며, 이 잔여 변환 계수는 그후 양자화될 수도 있다. 처음에 2차원 어레이로 배열된, 양자화된 변환 계수들은 변환 계수들의 1차원 벡터를 발생하기 위해 스캐닝될 수도 있으며, 더욱 더 많은 압축을 달성하기 위해 엔트로피 코딩이 적용될 수도 있다.
일반적으로, 본 개시물은 멀티뷰 비디오 코딩 및 3D 비디오 코딩에 관련된 기법들을 설명한다. 예를 들어, 본 개시물에 설명된 기법들은 소정의 메카니즘을 제공하며, 이 메카니즘에 의해 비디오 코더 (예를 들어, 인코더 또는 디코더) 가 하나 이상의 대응 텍스쳐 뷰 블록들에 대한 모션 정보에 기초하여 심도 뷰 블록에 대한 모션 정보를 결정할 수도 있다. 이들 기법은 심도 뷰 성분에 대한 공간 해상도가 텍스쳐 뷰 성분의 것과 상이한 경우에 적용가능할 수도 있다. 예를 들어, 본 개시물의 기법들은 심도 뷰 블록을 포함하는 심도 뷰 성분의 공간 해상도가 하나 이상의 대응하는 텍스쳐 뷰 블록들을 포함하는 대응하는 텍스쳐 뷰 성분의 것과 상이한 경우에 심도 뷰 블록들에 대한 모션 정보를 결정하는 것을 설명할 수도 있다.
일례에서, 본 개시물은 비디오 데이터를 코딩하는 방법을 설명한다. 방법은 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하는 단계를 포함한다. 이 예에서, 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응한다. 방법은 또한 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를, 복수의 대응하는 텍스쳐 뷰 블록들의 중 한 텍스쳐 뷰 블록으로부터 결정하는 단계, 및 결정된 상기 참조 인덱스, 파티션 정보 및 모션 벡터 정보 중 적어도 하나에 기초하여 단일의 심도 뷰 블록을 코딩하는 단계를 포함한다. 이 실시예에서, 심도 뷰 성분 및 텍스쳐 뷰 성분은 액세스 유닛 내의 동일한 뷰에 속하며, 단일의 심도 뷰 블록은 대응하는 복수의 텍스쳐 뷰 블록들 내의 모든 픽셀들의 상대 심도를 나타내며, 텍스쳐 뷰 성분의 공간 해상도와 심도 뷰 성분의 공간 해상도는 상이하다.
일례에서, 본 개시물은 비디오 데이터를 코딩하는 디바이스를 설명한다. 본 디바이스는 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하도록 구성된 비디오 코더를 포함한다. 이 예에서, 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응한다. 비디오 코더는 또한, 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를, 복수의 대응하는 텍스쳐 뷰 블록들의 중 한 텍스쳐 뷰 블록으로부터 결정하고, 결정된 상기 참조 인덱스, 파티션 정보 및 모션 벡터 정보 중 적어도 하나에 기초하여 단일의 심도 뷰 블록을 코딩하도록 구성된다. 이 실시예에서, 심도 뷰 성분 및 텍스쳐 뷰 성분은 액세스 유닛 내의 동일한 뷰에 속하며, 단일의 심도 뷰 블록은 대응하는 복수의 텍스쳐 뷰 블록들 내의 모든 픽셀들의 상대 심도를 나타내며, 텍스쳐 뷰 성분의 공간 해상도와 심도 뷰 성분의 공간 해상도는 상이하다.
일례에서, 본 개시물은 실행시, 비디오 데이터를 코딩하는 디바이스의 프로세서로 하여금 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하게 하는 명령들이 저장된 컴퓨터 판독가능 저장 매체를 설명한다. 이 예에서, 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응한다. 명령들은 또한, 실행시, 프로세서로 하여금 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를, 복수의 대응하는 텍스쳐 뷰 블록들의 중 한 텍스쳐 뷰 블록으로부터 결정하게 하고, 결정된 상기 참조 인덱스, 파티션 정보 및 모션 벡터 정보 중 적어도 하나에 기초하여 단일의 심도 뷰 블록을 코딩하게 한다. 이 실시예에서, 심도 뷰 성분 및 텍스쳐 뷰 성분은 액세스 유닛 내의 동일한 뷰에 속하며, 단일의 심도 뷰 블록은 대응하는 복수의 텍스쳐 뷰 블록들 내의 모든 픽셀들의 상대 심도를 나타내며, 텍스쳐 뷰 성분의 공간 해상도와 심도 뷰 성분의 공간 해상도는 상이하다.
일례에서, 본 개시물은 비디오 데이터를 코딩하는 디바이스를 설명한다. 디바이스는 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하는 수단을 포함한다. 이 예에서, 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응한다. 디바이스는 또한, 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를, 복수의 대응하는 텍스쳐 뷰 블록들의 중 한 텍스쳐 뷰 블록으로부터 결정하는 수단, 및 결정된 상기 참조 인덱스, 파티션 정보 및 모션 벡터 정보 중 적어도 하나에 기초하여 단일의 심도 뷰 블록을 코딩하는 수단을 포함한다. 이 실시예에서, 심도 뷰 성분 및 텍스쳐 뷰 성분은 액세스 유닛 내의 동일한 뷰에 속하며, 단일의 심도 뷰 블록은 대응하는 복수의 텍스쳐 뷰 블록들 내의 모든 픽셀들의 상대 심도를 나타내며, 텍스쳐 뷰 성분의 공간 해상도와 심도 뷰 성분의 공간 해상도는 상이하다.
하나 이상의 실시형태들의 상세들은 첨부된 도면과 하기의 설명으로부터 설명된다. 다른 특징들, 목적들 및 이점들은 하기의 설명 및 도면들, 및 하기의 특허청구범위로부터 명확해질 것이다.
도 1 은 본 개시물에서 설명된 하나 이상의 실시예들에 따라, 예시적인 멀티뷰 비디오 코딩 (MVC) 인코딩 또는 디코딩 순서를 나타내는 그래프도이다.
도 2 는 예시적인 MVC 예측 패턴을 나타내는 개념도이다.
도 3 은 비디오 시퀀스를 형성하는 픽쳐들의 시퀀스의 개념적 예시도이며, 심도 뷰 성분의 4-번째 픽쳐에서의 식별된 매크로블록 및 텍스쳐 뷰의 4-번째 픽쳐에서의 대응하는 매크로블록의 모션 벡터가 심도 뷰 성분에 재사용된다.
도 4a 및 도 4b 는 텍스쳐 뷰 성분들 및 심도 뷰 성분들의 공간 해상도들이 상이한 경우의 텍스쳐 뷰 블록들 및 심도 뷰 블록들의 개념도이다.
도 5 는 본 개시물에 설명된 기법들을 이용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 나타내는 블록도이다.
도 6 은 심도 뷰 파티션에 대한 모션 벡터 정보 및 참조 인덱스를 결정하기 위한 텍스쳐 뷰 블록들 및 심도 뷰 블록들의 개념도이다.
도 7 은 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우 기법들을 구현할 수도 있는 비디오 인코더의 일례를 나타내는 블록도이다.
도 8 은 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우의 기법들을 구현할 수도 있는 비디오 디코더의 일례를 나타내는 블록도이다.
도 9 는 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우의 기법들에 따라 비디오 디코더의 예시적인 동작을 나타내는 흐름도이다.
도 10 은 도 9 는 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우의 기법들에 따라 비디오 인코더의 예시적인 동작을 나타내는 흐름도이다.
아래 보다 자세히 설명된 바와 같이, 본 개시물에 설명된 기법들은 "내부 뷰 모션 예측" (IVMP) 을 가능하게 하며, 여기에서 텍스쳐 뷰와 그 대응하는 심도 뷰의 공간 해상도는 상이하다. 텍스쳐 뷰 성분과 그 대응하는 심도 뷰 성분의 공간 해상도가 상이한 경우의 예들에서, 심도 뷰 성분 내의 심도 뷰 블록은 텍스쳐 뷰 성분 내의 복수의 텍스쳐 뷰 블록들에 대응한다. 심도 뷰 블록이 복수의 텍스쳐 뷰 블록들에 대응하기 때문에, 심도 뷰 블록에 대한 모션 정보를 예측하기 위한 텍스쳐 뷰 블록들에 대한 모션 정보를 이용하는데 있어 잠재적인 문제들이 존재한다. 본 개시물에 설명된 기법들은 이들 문제를 해결하여, 텍스쳐 뷰 성분과 그 대응하는 심도 뷰 성분의 공간 해상도들이 상이한 경우의 예들에서도 텍스쳐 뷰 블록들로부터 심도 뷰 블록에 대한 모션 정보가 예측되도록 허용한다.
본 개시물에 설명된 기법들은 일반적으로, 멀티뷰 비디오 코딩 (MVC) 및 3D 비디오 코딩에 적용가능하다. 멀티뷰 비디오 코딩 (MVC) 은 뷰의 상이한 포인트들 (즉, 뷰들) 로부터 장면들을 보여주는 비디오 픽쳐의 코딩을 지칭한다. 예를 들어, 복수의 뷰들이 존재할 수도 있고, 각각의 뷰는 복수의 비디오 픽쳐들을 포함하는 것으로서 간주된다. 뷰들 중 적어도 두 개로부터의 비디오 픽쳐들이 표시되는 경우, 결과적인 비디오는 뷰들을 렌더링하도록 이용된 디스플레이 내에 푸시하거나 디스플레이로부터 나타나는 3D 비디오로서 존재한다.
본 개시물에서 설명된 기법들은 다양한 비디오 코딩 표준들에 적용가능할 수도 있다. 비디오 코딩 표준들의 예들은 ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, ITU-T H.263, ISO/IEC MPEG-4 비주얼 그리고 자신의 SVC (Scalable Video Coding) 및 MVC (Multiview Video Coding) 확장안들을 포함하는 ITU-T H.264 (또한 ISO/IEC MPEG-4 AVC로 알려짐) 을 포함한다. 덧붙여서, ITU-T 비디오 코딩 전문가 그룹 (Video Coding Experts Group; VCEG) 및 ISO/IEC 동화상 전문가 그룹(MPEG)의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 개발되고 있는 새로운 비디오 코딩 표준, 즉 고효율 비디오 코딩 (High-Efficiency Video Coding; HEVC) 이 있다.
예시만을 목적으로 하여, 그 MVC 확장안 및 3D 비디오 확장안을 포함한 H.264/AVC 표준의 환경에서 기법이 설명된다. 그 MVC 확장안을 포함한 H.264/AVC 표준은 또한 "H.264/AVC 표준", 또는 간단히 "H.264" 표준이라 지칭될 수도 있다. 더욱이, 비록 기법들이 그 MVC 확장안을 포함한 H.264/AVC 표준의 맥락에서 설명되었지만, 본 개시물에 설명된 기법들은 현재 개발중인 HEVC 표준과 같은 다른 표준들에도 또한 확장가능할 수도 있다.
최근 공개되어 이용가능한 MVC 의 공동 초안이 "Advanced video coding for generic audiovisual services"(ITU-T Recommendation H.264, 2010년 3월) 에 설명되어 있다. 더욱 최근에 공개되어 이용가능한 MVC 의 공동 초안은 "Advanced video coding for generic audiovisual services"(ITU-T Recommendation H.264, 2011년 6월) 에 설명되어 있다. MVC 의 현재 공동 초안은 2012년 1월자로 승인되었다.
각각의 뷰에 대한 복수의 비디오 피쳐들은 텍스쳐 뷰 성분들로서 지칭될 수도 있다. 각각의 텍스쳐 뷰 성분은 대응하는 심도 뷰 성분을 갖는다. 텍스쳐 뷰 성분들은 비디오 컨텐츠를 포함하고, 심도 뷰 성분들은 텍스쳐 뷰 성분들 내의 픽셀들의 상대 심도를 나타낼 수도 있다.
본 개시물의 기법들은 텍스쳐 및 심도 데이터를 코딩함으로써 3D 비디오 데이터를 코딩하는 것에 관한 것이다. 일반적으로 용어 "텍스쳐" 는 이미지의 휘도 (즉, 밝기 또는 "루마") 값 및 이미지의 색도 (즉, 색 또는 "크로마") 값들을 기술하는데 이용된다. 몇몇 예들에서, 텍스쳐 이미지는 청색 색상 (Cb) 및 적색 색상 (Cr) 에 대한 색도 데이터의 두개의 세트들 및 휘도 데이터의 하나의 세트를 포함할 수도 있다. 4:2:2 또는 4:2:0 와 같은 특정 크로마 형식들에서, 크로마 데이터는 루마 데이터에 비해 다운샘플링된다. 즉, 색도 픽섹들의 공간 해상도는 대응하는 휘도 픽섹들의 공간 해상도보다 작다, 예를 들어, 휘도 해상도의 1/2 또는 1/4 정도 낮다.
심도 데이터는 일반적으로 대응하는 텍스쳐 데이터에 대한 심도 값들을 기술한다. 예를 들어, 심도 이미지는 각각이 대응하는 텍스쳐 데이터에 대한 심도를 기술하는 심도 픽셀들의 세트를 포함할 수도 있다. 심도 데이터는 대응하는 심도 데이터에 대한 수평방향 디스패리티를 결정하는데 이용될 수도 있다. 따라서, 텍스쳐 및 심도 데이터를 수신하는 디바이스는 심도 값들에 기초하여 결정된 수평 디스패리티 값들에 의해 제 1 이미지의 픽셀 값들을 오프셋함으로써, 하나의 뷰 (예를 들어, 좌안 뷰) 에 대한 제 1 텍스쳐 이미지를 디스플레이하고, 심도 데이터를 이용하여, 다른 뷰 (예를 들어, 우안 뷰) 에 대한 제 2 텍스쳐 이미지를 생성하도록 제 1 텍스쳐 이미지를 변경할 수도 있다. 일반적으로, 수평방향 디스패리티 (간단히, "디스패리티") 는 제 1 뷰에서의 픽셀의, 제 2 뷰에서의 대응하는 픽셀에 대한 수평방향 공간 오프셋을 기술하며, 여기에서, 두개의 픽셀들은 두 개의 뷰들에 표현된 것과 동일한 오브젝트의 동일한 부분에 대응한다.
또 다른 실시예들에서, 심도 데이터는 이미지 평면에 직교하는 z-차원에서의 픽셀들에 대해 정의될 수도 있어, 소정의 픽셀과 연관된 심도가 이미지에 대해 정의된 제로 디스패리티 평면에 대해 정의되게 된다. 이러한 심도는 픽셀을 디스플레이하기 위한 수평방향 디스패리티를 형성하는데 이용될 수도 있어, 제로 디스패리티 평면에 대한 픽셀의 z-차원 심도 값에 의존하여 좌안 및 우안에 대하여 상이하게 픽셀이 디스플레이되게 한다. 제로 디스패리티 평면은 비디오 시퀀스의 상이한 부분들에 대해 변할 수도 있고, 제로 디스패리티 평면에 대한 심도량이 또한 변할 수도 있다. 제로 디스패리티 평면에 위치된 픽셀들은 좌안과 우안에 대하여 유사하게 정의될 수도 있다. 제로 디스패리티 평면 앞에 면에 위치된 픽셀들은 픽셀이 이미지 평면에 직교하는 z-방향에서의 이미지에서 돌출하도록 나타나는 인식을 형성하도록 (예를 들어, 수평방향 디스패리티를 갖고) 좌안과 우안에 대해 상이한 로케이션들에서 디스플레이될 수도 있다. 제로 디스패리티 평면 뒤에 위치된 픽셀들은 심도의 미소한 인식으로 미소한 블러 상태에서 디스플레이될 수도 있거나, 또는 (예를 들어, 제로 디스패리티 평면의 앞에 위치된 픽셀들의 것과 반대되는 수평방향 디스패리티를 갖고) 좌안과 우안에 대해 상이한 로케이션들에서 디스플레이될 수도 있다. 많은 다른 기법들이 또한 이미지에 대한 심도 데이터를 전달 또는 정의하는데 이용될 수도 있다.
심도 뷰 성분에서의 각각의 픽셀에 대해, 텍스쳐 뷰 성분에서의 하나 이상의 대응하는 픽셀들이 있을 수도 있다. 예를 들어, 심도 뷰 성분 및 텍스쳐 뷰 성분의 공간 해상도가 동일한 경우, 심도 뷰 성분에서의 각각의 픽셀은 텍스쳐 뷰 성분에서의 하나의 픽셀에 대응한다. 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도보다 작다면, 심도 뷰 성분에서의 각각의 픽셀은 텍스쳐 뷰 성분에서의 다수의 픽셀들에 대응한다. 심도 뷰 성분에서의 픽셀의 값은 텍스쳐 뷰에서의 대응하는 하나 이상의 픽셀들의 상대 심도를 나타낼 수도 있다.
일부 예들에서, 비디오 인코더는 뷰들 각각에 대한 텍스쳐 뷰 성분들 및 대응하는 심도 뷰 성분들에 대한 비디오 데이터를 시그널링한다. 비디오 디코더는 디스플레이를 위한 뷰들의 비디오 컨텐츠를 디코딩하기 위해 텍스쳐 뷰 성분들 및 심도 뷰 성분들의 비디오 데이터 양쪽 모두를 이용한다. 그 후, 디스플레이는 3D 비디오를 재생하기 위해 멀티뷰 비디오를 디스플레이한다.
이와 유사하게, 심도 뷰 성분들은 또한 H.264 표준에서 "매크로블록"으로 통상 지칭되는 "비디오 블록들"로서 코딩된다. 이와 유사하게, 심도 뷰 성분들은 또한 H.264 표준에서 "매크로블록"으로 통상 지칭되는 "비디오 블록들"로서 코딩된다. 각각의 심도 뷰 블록은 하나 이상의 대응하는 텍스쳐 뷰 블록들을 가질 수도 있다. 예를 들어, 심도 뷰 성분 및 텍스쳐 뷰 성분의 공간 해상도들이 동일하면, 각각의 심도 뷰 블록은 하나의 텍스쳐 뷰 블록에 대응한다. 텍스쳐 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도 보다 작다면, 각각의 심도 뷰 블록은 두개 이상의 텍스쳐 뷰 블록에 대응한다.
그러나, 상이한 비디오 블록들 (텍스쳐 및 심도) 은 개별적으로 이용가능하게 코딩된다. 다른 비디오 코딩 표준들이 트리블록들 또는 코딩 유닛들 (CUs) 로 비디오 블록들을 지칭할 수도 있다.
텍스쳐 뷰 성분의 비디오 블록들은 인트라 예측 (예를 들어, 동일한 텍스쳐 뷰 성분에서의 다른 부분드에 대해 예측됨) 또는 인터 예측 (예를 들어, 상이한 뷰들로부터의 텍스쳐 뷰 성분들을 포함한, 하나 이상의 다른 텍스쳐 뷰 성분들에서의 부분들에 대해 예측됨) 을 이용하여 코딩될 수도 있다. 예를 들어, 현재의 텍스쳐 뷰 블록을 인터 예측하기 위하여, 비디오 코더 (예를 들어, 비디오 인코더 또는 비디오 디코더) 는 (참조 텍스쳐 뷰 성분이라 지칭되는) 다른 텍스쳐 뷰 성분에서의 블록을 식별하고 현재의 텍스쳐 뷰 블록과 참조 텍스쳐 뷰 성분의 블록 사이의 잔여 블록을 코딩 (예를 들어, 인코딩 또는 디코딩) 한다. 참조 텍스쳐 뷰 성분의 블록은 참조 텍스쳐 뷰 블록이라 지칭될 수도 있다.
추가로, 인터 예측에 대해, 비디오 코더는 참조 텍스쳐 뷰 성분을 식별하는 참조 인덱스 및 참조 텍스쳐 뷰 성분에서의 참조 텍스쳐 뷰 블록의 로케이션을 나타내는 모션 벡터를 코딩한다. 일부 예들에서, 비디오 코더는 현재 텍스쳐 뷰 성분의 블록을 인터예측하도록 두개의 모션 벡터들 및 두개의 참조 텍스쳐 뷰 성분들을 이용한다.
일반적으로, 현재의 텍스쳐 뷰 블록을 예측하는데 이용된 정보는 블록에 대한 모션 정보로서 지칭될 수도 있다. 인터 예측에 대해, 모션 정보는 파티션 모드, 모션 벡터들 및 이들의 임의의 조합일 수도 있다.
텍스쳐 뷰 블록에 대응하는 심도 뷰 블록을 또한 예측하기 우해 텍스쳐 뷰 블록을 예측하는데 이용되는 모션 정보를 이용하는 것이 제안되어 왔다. 또한, 심도 뷰 블록이 텍스쳐 뷰 블록 내의 픽셀들의 상대 심도를 나타내는 경우, 심도 뷰 블록은 텍스쳐 뷰 블록에 대응한다. 이와 유사하게, 심도 뷰 성분이 텍스쳐 뷰 성분 내의 픽셀들의 상대 심도들을 나타내는 경우 심도 뷰 성분은 텍스쳐 뷰 성분에 대응한다. 일부 예들에서, 텍스쳐 뷰 성분 및 대응하는 심도 뷰 성분은 동일한 비디오 네트워크 추상 계층 (NAL) 유닛으로 코딩될 수도 있다.
텍스쳐 뷰 블록에 대응하는 심도 뷰 블록을 나타내기 위하여 텍스쳐 뷰 블록을 예측하는데 이용된 모션 정보를 이용하는 것은 IVMP("Inside View Motion Prediction") 이라 지칭된다. 이러한 예측은 IVMP 이라 지칭되는데, 그 이유는 텍스쳐 뷰 블록에 대한 모션 정보 (즉, 텍스쳐 뷰 블록을 예측하는데 이용되는 정보) 가 (예를 들어, 임의의 추가적인 변경없이 채용된) 대응하는 심도 뷰 블록을 예측하는데 이용되기 때문이다. 심도 뷰 블록이 속하는 심도 뷰 성분, 및 텍스쳐 뷰 블록이 속하는 그 대응하는 텍스쳐 뷰 성분은 동일한 뷰에 속하며, 이에 따라 어구 IVMP("Inside View Motion Prediction") 에 속하는 것으로 간주될 수도 있다.
텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도가 동일하면, 텍스쳐 뷰 성분에서의 블록에 대해, 대응하는 심도 뷰 성분에 하나의 대응하는 블록이 존재한다. 이 경우에 대해, 다른 심도 뷰 성분들에 대한 것일 지라도, 현재의 텍스쳐 뷰 성분에서의 블록의 모션 정보를 이용하여 대응하는 심도 뷰 성분에서의 블록을 인터 예측하는 것이 제안되어 있다.
예를 들어, 위에 설명된 바와 같이, 텍스쳐 뷰 블록이 참조 텍스쳐 뷰 성분 (예를 들어, 참조 텍스쳐 뷰 블록) 에서의 블록에 대하여 인터 예측된다. MVC 및 3D 비디오 코딩에 있어서, 참조 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분 (참조 심도 뷰 성분이라 지칭됨) 이 존재한다. 참조 심도 뷰 성분에서의 심도 뷰 블록을 예측하기 위하여, 비디오 코더는 텍스쳐 뷰 블록을 코딩하는데 이용되었던 참조 텍스쳐 뷰 성분을 식별하기 위해 그 대응하는 텍스쳐 뷰 성분에서의 대응하는 텍스쳐 뷰 블록의 모션 정보를 이용할 수도 있다.
참조 텍스쳐 뷰 성분으로부터, 비디오 코더는 참조 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분을 식별할 수도 있다 (즉, 참조 심도 뷰 성분을 식별할 수도 있다). 비디오 코더는 또한 참조 텍스쳐 뷰 블록이 텍스쳐 뷰 블록을 코딩하는데 이용되었을 경우, 참조 텍스쳐 뷰 블록에 대응하는 참조 심도 뷰 성분에서의 심도 뷰 블록을 식별할 수도 있다.
그 후, 비디오 코더는 참조 심도 뷰 성분에서의 식별된 심도 뷰 블록을 이용하여 심도 뷰 블록을 코딩한다. 이 방식으로, 심도 뷰 블록을 재구성하기 위한 목적을 위하여, 비디오 인코더는 심도 뷰 블록에 대한 모션 정보를 시그널링할 필요가 없을 수도 있고 비디오 디코더는 심도 뷰 브록에 대한 모션 정보를 수신할 필요가 없을 수도 있다.
심도 뷰 블록들을 예측하기 위하여 모션 정보를 이용하는 이전 예에서, 심도 뷰 성분 및 텍스쳐 뷰 성분의 공간 해상도는 동일한 것으로 보았다. 그러나, 이는 모든 경우마다 그러한 것은 아닐 수도 있다. 대역폭 효율 목적을 위하여, 심도 뷰 성분의 공간 해상도는 대응하는 텍스쳐 뷰 성분의 공간 해상도 보다 작을 수도 있어, 공간 해상도들이 동일했었던 것에 비해, 보다 적은 데이터 량이 시그널링 또는 수신될 필요가 있다.
예를 들어, 비디오 코더는 일례로서, 공간 해상도를 감소시키기 위해 심도 뷰 성분을 다운샘플링한다. 그러나, 본 개시물의 기법들은 심도 뷰 성분의 공간 해상도를 감소시키기 위한 다운샘플링을 필요로 하지 않는다. 일반적으로, 본 개시물에 설명된 실시예들에서, 텍스쳐 뷰 성분의 다중 픽셀들에 대응하도록 심도 뷰 성분의 하나의 픽셀을 할당하는 것을 포함한, 텍스쳐 뷰 성분의 공간 해상도와는 상이하게 되는 심도 뷰 성분의 공간 해상도를 가져오는 임의의 기법을 이용할 수도 있다.
두개의 예들로서, 심도 뷰 성분의 공간 해상도는 텍스쳐 뷰 성분의 공간 해상도 1/4 또는 1/2 일 수도 있다. 1/4 해상도에 대해, 비디오 코더는 전체에 대해x및 y 차원 각각에서 두개씩 4의 인수로 다운샘플링할 수도 있다. 1/2 해상도에 대해, 비디오 코더는 전체에 대해x및 y 차원 각각에서 두개씩 2의 인수로 다운샘플링할 수도 있다.
1/2 보다 크고 1 보다 작은 비, 또는 1/4 보다 작은 값을 포함한, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 일부 다른 분수값인 것도 가능하다. 오직 예시의 목적으로만, 대부분의 예들이 심도 뷰 성분의 공간 해상도가 심도 뷰 성분의 공간 해상도의 1/4인 경우로서 설명된다. 그러나, 기법들은 다른 비들, 이를 테면, 2가가 아닌 비들을 포함한 1/2, 1/8, 1/16 등으로도 또한 확장가능하다.
공간 해상도들이 상이한 예들에서는, 대응하는 심도 뷰 블록을 예측하기 위하여 텍스쳐 뷰 블록에 대한 모션 정보를 어떻게 이용할지 결정하는 것이 어려울 수도 있다. 예를 들어, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4인 경우에, 심도 뷰 성분에서의 하나의 비디오 블록은 텍스쳐 뷰 성분에서의 4개의 비디오 블록들에 대응한다.
이 경우에, 텍스쳐 뷰 성분에서의 4 개의 비디오 블록들 중 하나 이상이 상이한 방법들로 예측되는 것이 가능할 수도 있다. 예를 들어, 텍스쳐 뷰 성분에서의 4 개의 비디오 블록들 중 일부는 인트라 예측될 수도 있고, 다른 일부는 인터 예측될 수도 있다. 다른 예로서, 텍스쳐 뷰 성분에서의 비디오 블록들에 대한 모션 벡터들은 상이할 수도 있다. 또 다른 예로서, 텍스쳐 뷰 성분에서의 비디오 블록들의 파티셔닝이 존재할 수도 있어, 파티션들의 모션 정보가 대응하는 심도 뷰 블록에 대하여 이용가능하지 않을 수도 있다. 이러한 다른 문제들은 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도가 상이한 경우에 존재할 수도 있다.
본 개시물에 설명된 기법들은 비디오 코더가 비대칭 공간 해상도 (예를 들어, 공간 해상도들이 상이한 경우) 을 가진 텍스쳐 뷰 성분들과 심도 뷰 성분들 간에 IVMP (inside view motion prediction) 를 이용해야 하는지 여부를 결정한다. 비디오 코더가 IVMP 가 이용될 수 없다고 결정하는 경우, 비디오 코더는 대응하는 텍스쳐 뷰 성분에서의 하나 이상의 대응하는 텍스쳐 뷰 블록들의 파티션들로부터 심도 뷰 성분에서의 심도 뷰 블록의 파티션을 여전히 예측할 수도 있다.
또한, 비디오 코더가 IVMP 를 이용하는 경우에도, 본 개시물에 설명된 기법들은 심도 뷰 성분 및 텍스쳐 뷰 성분의 공간 해상도가 상이한 경우에 대응하는 텍스쳐 뷰 블록으로부터 심도 뷰 블록들에 대한 모션 정보를 결정한다. 예를 들어, 기법들은 대응하는 텍스쳐 뷰 블록들에 대한 모션 정보에 기초하여 예측되고 있는 심도 뷰 블록에 대한 모션 벡터, 참조 인덱스 및 파티션 모드 중 적어도 하나를 결정한다.
도 1 은 본 개시물에서 설명된 하나 이상의 실시예들에 따라, 예시적인 멀티뷰 비디오 코딩 (MVC) 인코딩 또는 디코딩 순서를 나타내는 그래프도이다. 예를 들어, 도 1 에서 설명된 디코딩 순서 정렬은 시간 우선 코딩이라 지칭된다. 도 1 에서, S0-S7 각각은 멀티뷰 비디오의 상이한 뷰들에 대해 지칭한다. T0-T8 각각은 하나의 출력 시간 인스턴스를 나타낸다. 액세스 유닛은 하나의 출력 시간 인스턴스에 대한 모든 뷰들의 코딩된 픽쳐들을 포함할 수도 있다. 예를 들어, 제 1 액세스 유닛은 시간 인스턴스 T0 에 대해 뷰들 (S0-S7) 모두를 포함할 수도 있고, 제 2 액세스 유닛은 시간 인스턴스 T1 에 대해 뷰들 (S0-S7) 모두를 포함할 수도 있고, 이하 동일하게 이루어진다.
간략화를 위하여, 본 개시물은 다음의 정의들을 이용할 수도 있다.
뷰 성분 : 단일의 액세스 유닛에서의 뷰의 코딩된 표현. 뷰가 코딩된 텍스쳐 및 심도 표현들 양쪽 모두를 포함하는 경우, 뷰 성분은 텍스쳐 뷰 성분 및 심도 뷰 성분으로 구성된다.
텍스쳐 뷰 성분 : 단일의 액세스 유닛에서의 뷰의 텍스쳐의 코딩된 표현.
심도 뷰 성분 : 단일의 액세스 유닛에서의 뷰의 심도의 코딩된 표현.
도 1 에서, 뷰들 각각은 픽쳐들의 세트를 포함한다. 예를 들어, 뷰 (S0) 는 픽쳐들 (0, 8, 16, 24, 32, 40, 48, 56, 및 64) 의 세트를 포함하고, 뷰 (S1) 는 픽쳐들 (1, 9, 17, 25, 33, 41, 49, 57, 및 65) 의 세트를 포함하고 이하 동일하게 이루어진다. 각각의 세트는 두개의 픽쳐들을 포함하는데, 하나의 픽쳐는 텍스쳐 뷰 성분으로 지칭되고, 다른 픽쳐는 심도 뷰 성분으로 지칭된다. 뷰의 픽쳐들의 세트 내의 텍스쳐 뷰 성분 및 심도 뷰 성분은 서로에 대응하는 것으로 간주될 수도 있다. 예를 들어, 뷰의 픽쳐들의 세트 내의 텍스쳐 뷰 성분은 뷰의 픽쳐들의 세트 내의 심도 뷰 성분에 대응하는 것으로 간주되고, 그 역으로도 간주된다 (즉, 심도 뷰 성분이 세트에서의 그 텍스쳐 뷰 성분에 대응하고 그 역도 마찬가지이다). 본 개시물에 이용된 바와 같이, 심도 뷰 성분에 대응하는 텍스쳐 뷰 성분은 단일의 액세스 유닛의 동일한 뷰의 부분인 심도 뷰 성분 및 텍스쳐 뷰 성분으로서 간주될 수도 있다.
텍스쳐 뷰 성분은 표시되는 실제 이미지 컨텐츠를 포함한다. 예를 들어, 텍스쳐 뷰 성분은 루마 (Y) 및 크로마 (Cb and Cr) 성분들을 포함할 수도 있다. 심도 뷰 성분은 그 대응하는 텍스쳐 뷰 성분에서의 픽셀들의 상대 심도를 나타낼 수도 있다. 일례로서, 심도 뷰 성분은 루마 값들만을 포함하는 그레이 스케일 이미지이다. 즉, 심도 뷰 성분은 어떠한 이미지 컨텐츠를 전달하지 않고 다만 텍스쳐 뷰 성분에서의 픽셀들의 상대 심도의 측정값을 제공할 수도 있다.
예를 들어, 심도 뷰 성분에서의 순수 화이트 픽셀은 그 대응하는 텍스쳐 뷰 성분에서의 그 대응하는 픽셀 또는 픽셀들이 뷰어의 관점으로부터 가까워짐을 나타내고, 심도 뷰 성분에서의 순수 블랙 픽셀은 그 대응하는 텍스쳐 뷰 성분에서의 그 대응하는 픽셀 또는 픽셀들이 뷰어의 관점으로부터 더욱 멀어짐을 나타낸다. 블랙과 화이트 사이의 그레이의 여러 음영은 상이한 심도 레벨들을 나타낸다. 예를 들어, 심도 뷰 성분에서의 강한 그레이 픽셀 (very gray pixel) 은 텍스쳐 뷰 성분에서의 그 대응하는 픽셀이 심도 뷰 성분에서의 약한 그레이 픽셀보다 더 멀리 있음을 나타낸다. 픽셀들의 심도를 식별하는데 그레이 스케일만이 요구되기 때문에, 심도 뷰 성분에 대한 컬러 값들이 어떠한 목적도 서브하지 않을 수도 있어, 심도 뷰 성분은 크로마 성분을 필요로 하지 않는다.
심도를 식별하기 위해 루마 값들 (예를 들어, 강도 값들) 만을 이용하는 심도 뷰 성분이 예시 목적을 위해 제공되며, 제한으로서 고려되지 않아야 한다. 다른 예들에서, 텍스쳐 뷰 성분에서의 픽셀들의 상대 심도들을 나타내기 위한 임의의 기법이 이용될 수도 있다.
MVC 에 따르면, 텍스쳐 뷰 성분들은 동일한 뷰에서의 텍스쳐 뷰 성분들로부터 또는 하나 이상의 상이한 뷰들에서지만 동일한 액세스 유닛에서의 텍스쳐 뷰 성분들로부터 인터 예측된다. 이와 유사하게 심도 뷰 성분들은 동일한 뷰에서의 심도 뷰 성분들로부터 또는 하나 이상의 상이한 뷰들에서의 심도 뷰 성분들로부터 인터 예측된다. 텍스쳐 뷰 성분들 및 심도 뷰 성분들은 또한 인트라 예측된다 (예를 들어, 텍스쳐 또는 심도 뷰 성분 내의 블록은 동일한 텍스쳐 또는 심도 뷰 성분 내의 다른 블록으로부터 예측된다).
이와 유사하게, 심도 뷰 성분들은 또한 H.264 표준에서 "매크로블록"으로 통상 지칭되는 "비디오 블록들"로서 코딩된다. 이와 유사하게, 심도 뷰 성분들은 또한 H.264 표준에서 "매크로블록"으로 통상 지칭되는 "비디오 블록들"로서 코딩된다. 그러나, 상이한 비디오 블록들 (텍스쳐 및 심도) 은 개별적으로 이용가능하게 코딩된다. 다른 비디오 코딩 표준들이 트리블록들 또는 코딩 유닛들 (CUs) 로 비디오 블록들을 지칭할 수도 있다.
인터 코딩에서, 모션 벡터들은 예측 블록들을 정의하는데 이용되며, 그 후 예측 블록은 코딩된 비디오 블록들의 값들을 예측하는데 이용된다. 이 경우에, 소위 "잔여 값들" 또는 "차이 값들"이, 대응하는 예측 블록들을 식별하는 모션 벡터들과 함께, 인코딩된 비트스트림에 포함된다. 디코더는 모션 벡터들 및 잔여 값들을 수신하고, 모션 벡터들을 이용하여 이전에 디코딩된 비디오 데이터로부터 예측 블록들을 식별한다. 인코딩된 비디오 블록들을 재구성하기 위해 디코더는 잔여 값을 모션 벡터들에 의해 식별된 대응하는 예측 블록들과 결합한다.
본 개시물에 설명된 기법들은 대응하는 심도 뷰 성분에서의 대응하는 블록 (즉, 대응하는 심도 뷰 성분에서의 대응하는 심도 뷰 블록) 을 예측하기 위하여, 텍스쳐 뷰 성분에서의 블록 (즉, 텍스쳐 뷰 블록) 을 예측하는데 이용된 정보를 이용하는 것을 지시한다. 현재의 텍스쳐 뷰 블록을 예측하는데 이용된 정보는 모션 정보로서 지칭된다. 모션 정보의 예들은 파티션 모드 (예를 들어, 현재 텍스쳐 뷰 블록이 추가로 파티셔닝되는 방식), 모션 벡터 정보 (예를 들어, 현재 텍스쳐 뷰 성분의 텍스쳐 뷰 블록을 예측하는데 이용된 모션 벡터) 및 참조 인덱스 정보 (예를 들어, 현재 텍스쳐 뷰 블록에 이용되었던 하나 이상의 다른 텍스쳐 뷰 성분들을 나타내는 하나 이상의 참조 픽쳐 리스트들로의 하나 이상의 인덱스들) 을 포함한다.
즉, 참조 인덱스 정보로부터, 현재의 텍스쳐 뷰 블록을 인터 예측하는데 이용되는 참조 텍스쳐 뷰 성분 또는 성분들을 결정하는 것이 가능하다. 모션 벡터로부터, 현재의 텍스쳐 뷰 블록을 인터 예측하는데 이용되는 참조 텍스쳐 뷰 성분 또는 성분들 내에서 블록 또는 블록들의 로케이션 또는 로케이션들을 결정하는 것이 가능하다.
파티션 모드는 현재의 텍스쳐 뷰 블록이 파티셔닝되었던 방식을 나타낼 수도 있다. 예를 들어, H.264/AVC 표준은 16x16 픽셀들이도록 매크로블록 (MB) 을 정의한다. 16x16 MB 는 4개의 상이한 방식으로 보다 작은 부분들로 파티셔닝될 수도 있다 : 하나의 16x16 MB 파티션 (즉, P_Skip, B_Skip, B_Direct_16x16, P_L0_16x16, B_L0_16x16, B_L1_16x16 or B_Bi_16x16 와 같이 추가의 분할이 없음), 두개의 16x8 MB 파티션들, 두개의 8x16 MB 파티션들, 또는 4개의 8x8 MB 파티션들. 하나의 MB 에서의 각각의 MB 파티션은 상이한 참조 텍스쳐 뷰 블록들에서의 파티션들로부터 예측될 수도 있다. 즉, 하나의 MB 에서의 상이한 MB 파티션들은 상이한 참조 인덱스 값들을 가질 수도 있다.
예를 들어, 파티션은 참조 텍스쳐 뷰 성분의 하나의 다른 파티션으로부터 예측될 수도 있으며, 여기에서 참조 텍스쳐 뷰 성분은 (RefPicList0 및 RefPicList1 로 지칭되는) 두개의 참조 픽쳐 리스트들 중 하나에서 식별된다. 몇몇 다른 예들에서, 파티션은 두개의 상이한 참조 텍스쳐 뷰 성분들의 두개의 다른 파티션들로부터 예측될 수도 있고, 참조 텍스쳐 뷰 성분 중 하나는 RefPicList0 로 식별되고, 다른 참조 텍스쳐 뷰 성분은 RefPicList1 로 식별된다. 하나의 다른 파티션으로부터 파티션이 예측될 때, 파티션은 단방향 예측으로서 지칭되며, 파티션이 두개의 파티션들로부터 예측될 때, 파티션은 양방향 예측으로 지칭된다.
MB 가 4 개의 8x8 MB 파티션들로 파티셔닝되지 않는 경우, MB 는 각각의 방향에서 각각의 MB 파티션에 대해 하나의 모션 벡터를 가질 수도 있고, 여기에서 용어 방향은 파티션이 RefPicList0 에서, RefPicList1 에서, 또는 RefPicList0 및 RefPicList1 양쪽 모두에서 픽쳐들에 대하여 인터 예측되는지의 여부를 나타내는데 이용된다. 예를 들어, 하나의 MB 가 두개의 16x8 MB 파티션들로서 코딩되면, 단방향으로 예측되고 하나의 모션 벡터가 각각의 16x8 파티션에 할당되는 (예를 들어, 한 방향으로 예측되는) 경우, 두개의 16x8 파티션들 각각은 참조 텍스쳐 뷰 블록에서의 개별적인 16x8 파티션들로부터 예측된다. 양방향으로 예측되고 두개의 모션 벡터들이 각각의 참조 픽쳐 리스트에 대해 각각의 16x8 파티션에 할당되는 (예를 들어, 양쪽 방향으로 예측되는) 경우, 두개의 참조 텍스쳐 뷰 블록들에서의 개별적인 16x8 파티션들로부터 각각이 예측된다. 일부 예들에서, 하나의 참조 텍스쳐 뷰 블록은 16x8 파티션들 각각을 인터 예측하는데 이용된 16x8 파티션들 양쪽 모두를 포함할 수도 있지만, 본 개시물의 양태는 이들로 제한되지 않는다. 두개의 8x16 파티션들에 대해서도 동일하게 적용한다.
일부 예들에서, MB 가 4 개의 8x8 MB 파티션들로 파티셔닝되는 경우, 각각의 8x8 MB 파티션은 서브 블록들로 추가로 파티셔닝된다. 이들 서브블록들 각각은 상이한 참조 텍스쳐 뷰 성분들에서의 상이한 서브 블록들로부터 단방향 예측되거나 또는 양방향 예측될 수도 있다. 8x8 MB 파티션을 서브 블록들로 추가로 파티셔닝하기 위한 4 개의 상이한 방법들이 있을 수도 있다. 4 개의 방법들은 하나의 8x8 서브 블록 (즉, 추가 분할이 없음), 두개의 8x4 서브 블록들, 두개의 4x8 서브 블록들, 및 4 개의 4x4 서브 블록들을 포함한다.
위에 설명된 바와 같이, 본 개시물에 설명된 기법들은 대응하는 심도 뷰 블록을 예측 (예를 들어 코딩) 하기 위하여 텍스쳐 뷰 블록에 대한 모션 정보를 이용하는 것에 관련된다. 특히, 본 개시물에 설명된 기법들은 텍스쳐 뷰 성분 및 그 대응하는 심도 뷰 성분의 공간 해상도가 상이한 경우의 상황에 관련된다.
예를 들어, 심도 뷰 성분이 그레이 스케일로 표현될 수도 있기 때문에, 심도 뷰 성분은 마치 이것이 대응하는 텍스쳐 뷰 성분의 블랙 및 화이트 버전인 것처럼 나타날 수도 있다. 이 경우에, 심도 뷰 성분 및 대응하는 텍스쳐 뷰 성분은 유사한 오브젝트 실루엣을 가질 수도 있다. 텍스쳐 뷰 성분 및 그 대응하는 심도 뷰 성분이 유사한 오브젝트 실루엣을 갖기 때문에, 이들은 유사한 오브젝트 바운더리 및 움직임을 가질 수도 있고, 따라서 이들의 모션 필드들 (즉, 모션 정보) 에 리던던시가 있을 수도 있다.
심도 뷰 성분 및 그 대응하는 공간 뷰 성분의 공간 해상도가 동일한 경우의 상황에 대해, 텍스쳐 뷰 성분으로부터의 모션 정보가 대응하는 심도 뷰 성분에 재사용되는 기법들이 제안되어 있다. 텍스쳐 뷰 성분으로부터 대응하는 심도 뷰 성분으로의 모션 예측과 같은 모션 정보의 재사용은 새로운 모드로서 실행될 수 있다. 이들 예에서, IVMP (Inside View Motion Prediction) 모드가 심도 뷰 성분들에서만 인터 코딩된 MB (즉, 인터 예측된 MB) 에 대해 실행된다. IVMP 모드에서, 텍스쳐 뷰 성분에서의 대응하는 MB 의 mb_type, sub_mb_type, 참조 인덱스들, 및 모션 벡터들을 포함하는 모션 정보는 동일한 뷰의 심도 뷰 성분에 의해 재사용된다. IVMP 모드를 사용하는지의 여부를 나타내는 플래그가 각각의 MB 에서 시그널링될 수도 있다.
mb_type 은 매크로블록이 파티셔닝되는 방식 (즉, 16x16 MB 가 하나의 16x16 MB 파티션으로 파티셔닝되는지, 두개의 16x8 MB 파티션들로 파티셔닝되는지, 두개의 8x16 MB 파티션들로 파티셔닝되는지, 또는 4 개의 8x8 MB 파티션들로 파티셔닝되는지의 여부) 을 나타낸다. sub_mb_type 은 8x8 파티션이 추가로 파티셔닝되는 방식 (즉, 8x8 파티션이 하나의 8x8 서브블록으로 파티셔닝되는지, 두개의 8x4 서브블록들로 파티셔닝되는지, 두개의 4x8 서브블록들로 파티셔닝되는지 또는 4개의 4x4 서브블록들로 파티셔닝되는지의 여부) 를 나타낸다.
실행시, IVMP 모드는 심도 뷰 성분이 소위 "병합" 모드와 유사한 방식으로 대응하는 텍스쳐 뷰 성분의 모션 정보를 완전히 채택하도록 허용한다. 이 경우에, 심도 뷰 성분은 그 모션 정보에 대해 어떠한 추가적인 델타 값들을 포함하지 않을 수도 있지만, 그 대신에, 그 모션 정보로서 텍스쳐 뷰 성분의 모션 정보를 채택하게 한다. 텍스쳐 뷰의 모션 정보를 심도 뷰의 모션 정보로서 완전히 채택시키는 모드를 정의함으로써, 이러한 모션 정보에 대한 델타 값들의 어떠한 시그널링 없이도, 향상된 압축을 실현할 수도 있다.
심도 뷰 성분 및 텍스쳐 뷰 성분의 공간 해상도가 동일한 예들에서는 IVMP 모드가 적절하게 기능할 수도 있지만, 심도 뷰 성분과 텍스쳐 뷰 성분의 공간 해상도가 상이할 때 존재하는 특정 문제들이 있을 수도 있다. 예를 들어, 도 1 에서, 뷰 S0 의 픽쳐들 (0) 의 세트는 대응하는 심도 뷰 성분 및 텍스쳐 뷰 성분을 포함한다. 본 개시물에 설명된 예들에서, 텍스쳐 뷰 성분 및 대응하는 심도 뷰 성분의 공간 해상도가 상이할 수도 있다. 예를 들어, 심도 뷰 성분의 공간 해상도는 대응하는 텍스쳐 뷰 성분의 공간 해상도의 1/2 또는 1/4 이지만 공간 해상도들의 다른 비들도 가능하다.
심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도보다 낮을 경우, 심도 뷰 성분에서의 MB 는 대응하는 텍스쳐 뷰 성분에서의 다수의 MB들에 대응한다. 예를 들어, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4이면, 심도 뷰 성분에서의 16x16 MB 는 텍스쳐 뷰 성분에서의 4 개의 16x16 MB들에 대응한다. 심도 뷰 성분에서의 하나의 MB 가 텍스쳐 뷰 성분에서의 다수의 MB들에 대응하기 때문에, 텍스쳐 뷰 MB들로부터의 모션 정보가 심도 뷰 MB 에 대한 모션 정보를 예측하는데 이용될 수 있는지의 여부가 불명확할 수도 있다. 또한, 이러한 모션 정보가 심도 뷰 MB 에 대한 모션 정보를 예측하기 위해 이용될 수 있다면, 텍스쳐 뷰 성분의 어느 MB 의 모션 정보가 이용되어야 하는지에 관하여 불명확할 수도 있다.
예를 들어, 텍스쳐 뷰 성분에서의 MB들 중 하나 이상이 인트라 코딩 (즉, 인트라 예측) 되고 그 외의 것들은 인터 코딩 (인터 예측) 되는 것으로 가정한다. 이 예에서, 텍스쳐 뷰 성분의 이들 MB들에 대응하는 심도 뷰 성분의 MB 가 인트라 코딩 또는 인터 코딩되어야 하는지의 여부가 불명확할 수도 있다.
다른 예로서, 텍스쳐 뷰 성분에서의 MB들 중 하나가, 각각의 파티션에 대해 상이한 참조 인덱스 값들을 갖는 하나보다 많은 MB 파티션들로 파티셔닝되는 것으로 가정한다. 참조 인덱스 값들은 RefPicList0 및 RefPicList1 으로 지칭되는 하나 또는 두개의 참조 픽쳐 리스트들에서 참조 텍스쳐 뷰 성분들을 식별한다. 예를 들어, 텍스쳐 뷰 성분에서의 MB들 중 하나가 4 개의 8x8 파티션들, 두개의 16x8 파티션들, 또는 두개의 8x16 파티션들로 파티셔닝되는 것으로 가정한다. 이 경우에, 이들 파티션들 각각은 8x8 보다 작은 심도 뷰 성분에서의 MB 의 서브블록들에 대응한다.
예를 들어, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4이면, 심도 뷰 성분에서의 8x8 파티션들의 각각의 하나가 텍스쳐 뷰 성분에서의 MB들에 대응하는 심도 뷰 성분에서의 MB의 4x4 서브 블록에 대응한다. 이와 유사하게, 텍스쳐 뷰 성분에서의 MB 의 16x8 파티션들 또는 8x16 파티션들의 각각의 하나가 텍스쳐 뷰 성분의 MB들에 대응하는 심도 뷰 성분에서의 MB 의 8x4 서브 블록 또는 4x8 서브 블록에 각각 대응한다.
이 예에서, 심도 뷰 성분에서의 4x4 서브블록들, 8x4 서브블록들, 4x8 서브블록들 각각은 그 사이즈에 있어서 8x8보다 작다. H.264/AVC 표준은 동일한 파티션 내에 있는 8x8 보다 작은 블록들이 상이한 참조들에 대하여 예측되는 것을 허용하지 않을 수도 있다. 예를 들어, 텍스쳐 뷰 블록은 4 개의 8x8 MB 파티션들로 파티셔닝되고, 4 개의 8x8 파티션들 중 첫번째 8x8 파티션 및 두번째 8x8 파티션은 상이한 참조 텍스쳐 뷰 성분들로부터 예측되는 것으로 가정한다. 이 예에서, 텍스쳐 뷰 블록에서의 첫번째 8x8 파티션은 심도 뷰 블록의 8x8 파티션에서의 첫번째 4x4 서브블록에 대응하고, 텍스쳐 뷰 블록에서의 두번째 8x8 파티션은 심도 뷰 블록의 동일한 8x8 파티션에서의 두번째 4x4 서브블록에 대응한다.
따라서, 이 예에서, 텍스쳐 뷰 블록에서의 첫번째 8x8 파티션 및 두번째 8x8 파티션이 상이한 참조 텍스쳐 뷰 성분으로부터 예측되기 때문에, 심도 뷰 블록에서의 첫번째 4x4 서브블록 및 심도 뷰 블록에서의 두번째 4x4 서브블록은 상이한 참조 심도 뷰 성분들로부터 예측될 필요가 있다. 그러나, H.264/AVC 표준은 이러한 예측을 허용하지 않을 수도 있다. 예를들어, H.264/AVC 에서, 동일한 파티션에 속하는 두개의 서브 블록들은 상이한 참조 성분들로부터 예측되도록 허용되지 않을 수도 있다 (즉, 서브 블록들 각각에 대한 참조 인덱스 값들은 H.264/AVC 에 순응하도록 동일하게 되는 것이 요구될 수도 있다).
상술한 방식에서, 텍스쳐 뷰 블록이 하나 보다 많은 파티션으로 파티셔닝되고, 파티션들 중 두개 이상이 상이한 참조 텍스쳐 뷰 성분들에 대하여 예측되는 경우, 이는 H.264/AVC 표준을 위반하여 예측될 것을 필요로 하는 심도 뷰 블록들을 가져올 수도 있다. 이는 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도가 상이한 경우에 존재하는 다른 예의 문제들이다.
공간 해상도들이 상이한 경우에 존재할 수도 있는 또 다른 예의 문제들로는, 텍스쳐 뷰 블록이 하나 보다 많은 MB 파티션으로 파티셔닝되고 MB 파티션들 각각에 대한 참조 인덱스 값들이 동일한 것이 가능하게 될 수도 있다. 예를 들어, 16x16 텍스쳐 뷰 블록이 4개의 8x8 파티션들로 파티셔닝될 수도 있고, 텍스쳐 뷰 블록에서의 8x8 파티션들 각각이 동일한 참조 텍스쳐 뷰 성분 또는 성분들로부터 예측된다.
이 예에서, 심도 뷰 블록의 8x8 파티션에서의 대응하는 서브 블록들은 H.264/AVC 표준에 순응하여 동일한 참조 심도 뷰 성분 또는 성분들로부터 예측된다. 그러나, 텍스쳐 뷰 블록에서의 8x8 파티션들 중 하나가 서브블록들로 추가로 파티셔닝된다면, 심도 뷰 블록의 8x8 파티션에서의 하나 이상의 4x4 서브블록에 매핑하는 다수의 모션 벡터들이 존재할 수도 있다.
예를 들어, 텍스쳐 뷰 성분에서의 4 개의 8x8 파티션들 중 첫번째 파티션이 텍스쳐 뷰 블록의 첫번째 내지 두번째 서브블록들로서 식별되는 4 개의 4x4 서브블록들로 추가로 파티셔닝되는 것으로 가정한다. 이 예에서, 텍스쳐 뷰 블록에서의 4 개의 8x8 파티션들 중 첫번째 파티션은 대응하는 심도 뷰 블록에서의 하나의 4x4 서브블록에 대응한다. 또한, 이 예에서, 텍스쳐 뷰 블록에서의 첫번째 8x8 파티션의 첫번째 내지 네번째 서브블록들은 동일한 참조 텍스쳐 뷰 성분을 적시하는 모션 벡터들일지라도, 상이한 모션 벡터들로 예측된다. 따라서, 이 예에서, 텍스쳐 뷰 블록의 첫번째 내지 네번째 서브블록들에 대한 모션 벡터들 중에서 모션 벡터들 중 어느 모션 벡터가, 대응하는 심도 뷰 블록에서의 4x4 서브블록에 대한 모션 벡터로서 이용되어야 하는지의 여부가 불명확하다.
보다 자세히 설명된 바와 같이, 본 개시물의 기법들은 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우에 존재하는 이들 문제 또는 다른 문제들을 해결한다. 예를 들어, 본 개시물에 설명된 기법들은 비대칭 해상도 (예를 들어, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도보다 작은 경우) 을 가진 IVMP (Inside View Motion Prediction) 를 지원한다.
예를 들어, 공간 해상도들이 상이한 경우에도, 본 개시물에 설명된 기법들은 대응하는 텍스쳐 뷰 블록에 대한 모션 정보로부터 심도 뷰 블록에 대한 모션 정보를 결정한다. 몇몇 예들에서, 본 개시물의 기법들이 심도 뷰 블록에 대하여 결정하는 모션 정보는 파티션 모션 정보, 참조 인덱스 정보 및 모션 벡터 정보를 포함할 수도 있다.
구체적으로, 본 개시물에 설명된 기법들은 비디오 인코더 또는 비디오 디코더와 같은 비디오 코더가, 심도 뷰 성분에서의 매크로블록에 대응하는 텍스쳐 뷰 성분에서의 하나 이상의 매크로블록에 대한 파티션 모드 정보, 참조 인덱스 정보, 및 모션 벡터 정보에 기초하여, 심도 뷰 성분에서의 매크로블록을 코딩 (예를 들어, 인코딩 또는 디코딩) 하기 위하여, 파티션 모션 예측, 참조 인덱스 예측, 및 모션 벡터 예측을 수행하도록 허용할 수도 있다. 예시를 위하여, 기법들은 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/2 또는 1/4인 경우의 예들로 설명된다. 그러나, 본 개시물의 양태들은 텍스쳐 뷰 성분과 심도 뷰 성분 사이의 이들 특정 공간 해상도 비들로 제한되지 않는다.
비디오 코더가 심도 뷰 블록에 대한 모션 정보 예측을 수행하는 예시적인 방식을 설명하기 전에, 도 2 내지 도 4b 는 몇몇 추가적인 컨텍스트를 제공한다. 예를 들어, 도 2 는 멀티뷰 비디오 코딩을 추가로 나타낸다. 도 3, 도 4a 및 도 4b 는 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우에 발생할 수도 있는 잠재적인 문제를 추가로 나타낸다.
도 2 는 예시적인 MVC 예측 패턴을 나타내는 개념도이다. 도 2 의 예에서, 8개의 뷰들 (뷰 ID들 "S0"내지"S7"을 가짐) 이 예시되며, 12 개의 시간 로케이션들 ("T0" 내지 "T11") 이 각각의 뷰에 대해 예시된다. 즉, 도 2 에서의 각각의 로우는 뷰에 대응하는 한편, 각각의 컬럼은 시간 로케이션을 나타낸다.
MVC 가 H.264/AVC 디코더들에 의해 디코딩가능한 소위 베이스 뷰를 갖고 있고, 스테레오 뷰 페어가 또한 MVC 에 의해서만 지원될 수 있지만, MVC 의 이점은 3D 비디오 입력으로서 두개보다 많은 뷰들을 이용하고 다수의 뷰들에 의해 표현되는 이 3D 비디오를 디코딩하는 예를 지원할 수 있다는 것이다. VC 디코더를 갖는 클라이언트의 렌더러는 다수의 뷰들을 갖는 3D 비디오 컨텐츠를 예상할 수도 있다.
도 2 에서의 픽쳐들은 도 2 에서의 각각의 로우 및 각각의 컬럼의 교차부에 표시된다. H.264/AVC 표준은 비디오의 일부분을 표현하도록 용어, 프레임을 사용할 수도 있다. 이 개시물은 용어 픽쳐 및 프레임을 상호교환적으로 사용할 수도 있다.
도 2 에서의 픽쳐들은 대응하는 픽쳐가 인트라 코딩되는지 (즉, I-픽쳐) 또는 한 방향에서 (즉, P-픽쳐로서) 또는 다수의 방향에서 (즉, B-픽쳐로서) 인터 코딩되는지의 여부를 지정하는 문자를 포함하는 음영표시된 블록을 이용하여 나타내어진다. 일반적으로, 예측들은 화살표에 의해 표시되며, 픽쳐들 (지시도달 픽쳐들) 은 예측 참조를 위하여 지시 출발 픽쳐를 이용한다. 예를 들어, 시간 로케이션 T0 에서의 뷰 (S2) 의 P-픽쳐는 시간 로케이션 T0 에서의 뷰 (S0) 의 I-픽쳐로부터 예측된다.
단일의 뷰 비디오 인코딩에서는, 멀티 뷰 비디오 코딩 비디오 시퀀스의 픽쳐들이 상이한 시간 로케이션들에서 픽쳐들에 대해 예측적으로 인코딩될 수도 있다. 예를 들어, 시간 로케이션 T1에서의 뷰 (S0) 의 b-픽쳐는 시간 로케이션 T0 에서의 뷰 (S0) 의 I-픽쳐로부터 자신에게 지시되는 화살표를 가져, b-픽쳐가 I-픽쳐로부터 예측됨을 나타낸다. 추가적으로 그러나, 멀티뷰 비디오 인코딩의 환경에서는, 픽쳐들이 인터 뷰 예측될 수도 있다. 즉, 뷰 성분은 참조로 다른 뷰들에서의 뷰 성분들을 이용할 수도 있다. MVC 에서, 예를 들어, 인터뷰 예측은 마치 다른 뷰에서의 뷰 성분이 인터 예측 참조인 것처럼 실현된다. 가능성있는 인터뷰 참조들은 SPS (Sequence Parameter Set) MVC 확장안에서 시그널링되고, 참조 픽쳐 리스트 구성 프로세스에 의해 수정될 수 있는데, 이 프로세스는 인터 예측 및 인터 뷰 예측 참조들의 유연성있는 순서화를 가능하게 한다.
도 2 는 인터 뷰 예측의 여러 실시예들을 제공한다. 도 2 의 예에서, 뷰 (S1) 의 픽쳐들은 뷰 (S1) 의 상이한 시간 로케이션들에서의 픽쳐들로부터 예측될 뿐만 아니라 동일한 시간 로케이션들에서 뷰들 (S0 및 S2) 의 픽쳐들로부터 인터 뷰 예측되는 것으로 도시된다. 예를 들어, 시간 로케이션 T1 에서의 뷰 (S1) 이 b-픽쳐는 시간 로케이션 T0 및 T2 에서의 뷰 (S1) 의 B-픽쳐들 각각 뿐만 아니라 시간 로케이션 T1 에서의 뷰들 (S0 및 S2) 의 b-픽쳐에서부터 예측된다.
도 2 의 예에서, 대문자 "B" 및 소문자 "b" 는 상이한 코딩 방법론들이기 보다는 픽쳐들 간의 상이한 계층구조 관계들을 나타내는데 이용된다. 일반적으로, 대문자 "B" 픽쳐는 소문자 "b" 프레임들보다 예측 계층 구조에 있어 상대적으로 높다. 도 2 는 또한, 상이한 레벨의 음영을 이용하여 예측 계층 구조에서의 변동들을 나타내며, 프레임들을 음영 표시하는 정도가 클수록 (즉, 상대적으로 어두울수록) 음영 표시가 약한 (즉, 상대적으로 더 밝은) 프레임들을 갖는 것보다 예측 계층 구조에서 있어 더 높다. 예를 들어, 도 2 에서의 모든 I-픽쳐들은 완전 음영을 갖는 것으로 예시되는 한편, P-픽쳐들은 다소 더 밝은 음영을 갖고 B-픽쳐들 (및 소문자 b-픽쳐들) 은 서로에 대해 상이한 레벨들의 음영들을 갖지만 P-픽쳐들 및 I-픽쳐들의 음영보다 항상 더 밝다.
일반적으로, 예측 계층 구조에서 상대적으로 더 높은 픽쳐들이 예측 계층 구조에서 상대적으로 더 낮은 픽쳐들을 디코딩하기 전에 디코딩되어야 하며, 이에 의해 계층 구조에서 상대적으로 더 높은 프레임들이 계층 구조에서 상대적으로 더 낮은 픽쳐들을 디코딩하는 동안에 참조 픽쳐들로서 이용될 수도 있다는 점에서 예측 계층 구조는 뷰 순서 인덱스들에 관련된다. 뷰 순서 인덱스는 액세스 유닛으로 뷰 성분들의 디코딩 순서를 나타내는 인덱스이다. 뷰 순서 인덱스들은 H.264/AVC 의 Annex H (MVC 보정안) 에 구체화되어 있는 바와 같이 SPS MVC 확장안에 내포되어 있다. 각각의 인덱스 i 에 대해 SPS 에서 대응하는 view_id 가 시그널링된다. 뷰 성분들의 디코딩은 뷰 성분 인덱스의 오름차순을 따른다. 모든 뷰들이 제공되면, 뷰 순서 인덱스들은 0 에서부터 num_views_minus_1 로 연속하는 순서로 된다.
이 방식으로, 참조 픽쳐들을 참조로 인코딩되는 픽쳐들을 디코딩하기 전에 참조 픽쳐들로서 이용된 픽쳐들이 디코딩된다. 뷰 순서 인덱스는 액세스 유닛으로 뷰 성분들의 디코딩 순서를 나타내는 인덱스이다. 각각의 뷰 순서 인덱스 i 에 대해, 대응하는 view_id 가 시그널링된다. 뷰 성분들의 디코딩은 뷰 순서 인덱스들의 오름차순을 따른다. 모든 뷰들이 제공되면, 뷰 순서 인덱스들의 세트는 0 부터 뷰들의 전체 수 보다 하나 작은 수까지 연속적으로 순서화된 세트를 포함할 수도 있다.
계층 구조의 동일 레벨들에서의 특정 픽쳐들에 대해, 디코딩 순서는 서로에 대해 중요하지 않을 수도 있다. 예를 들어, 시간 로케이션 T0 에서의 뷰 (S0) 의 I-픽쳐는 시간 로케이션 T0 에서의 뷰 (S2) 의 P-픽쳐들에 대한 참조 픽쳐로서 이용되며 이는 이어서 시간 로케이션 T0 에서의 뷰 (S4) 의 P-픽쳐에 대한 참조 픽쳐로서 이용된다. 따라서 시간 로케이션 T0 에서의 뷰 (S0) 의 I-픽쳐는 시간 로케이션 T0 에서의 뷰 (S4) 의 P-픽쳐 이전에 디코딩되어야 하는, 시간 로케이션 T0 에서의 뷰 (S2) 의 P-픽쳐의 디코딩 전에 디코딩되어야 한다. 그러나, 뷰들 (S1 및 S3) 은 예측을 위해 서로 의존하지 않고 대신에 예측 계층 구조에서 더 높은 뷰들로부터만 예측되기 때문에, 뷰들 S1 와 S3 사이에서, 디코딩 순서는 중요하지 않다. 또한, 뷰 (S1) 가 뷰 (S0 및 S2) 이후에 디코딩되는 한, 뷰 (S1) 는 뷰 (S4) 이전에 디코딩될 수도 있다.
이러한 방식으로, 계측 구조 순서화는 뷰들 S0 내지 S7 을 기술하는데 이용될 수도 있다. 표기 SA > SB 는 뷰 SA 가 뷰 SB 이전에 디코딩되어야 함을 나타내는 것으로 한다. 이 표기를 이용하여, 도 2 의 예에서는 S0 > S2 > S4 > S6 > S7 가 된다. 또한, 도 2 의 예에 대해, S0 > S1, S2 > S1, S2 > S3, S4 > S3, S4 > S5, 및 S6 > S5 이다. 이들 요건을 위배하지 않는 뷰들에 대한 임의의 디코딩 순서가 가능하다. 따라서 많은 상이한 디코딩 순서들이 특별한 제한 없이 가능하다.
일부 예들에서, 도 2 는 텍스쳐 뷰 성분들을 나타내는 것으로 보여질 수도 있다. 예를 들어, 도 2 에 나타내어진 I-, P-, B-, 및 b-픽쳐들은 뷰들 각각에 대한 텍스쳐 뷰 성분들로서 간주될 수도 있다. 본 개시물에 설명된 기법들에 따르면, 도 2 에 나타내어진 텍스쳐 뷰 성분들 각각에 대해, 상이한 공간 해상도에서 대응하는 심도 뷰 성분이 있다. 일부 예들에서, 심도 뷰 성분들은 대응하는 텍스쳐 뷰 성분들에 대한 도 2 에 예시된 것과 유사한 방식으로 심도 뷰 성분들이 예측될 수도 있다.
그러나, 일부 예들에서, 비디오 인코더가 비트스트림 신호를 인코딩하거나 또는 비디오 디코더가 심도 뷰 성분 내의 하나 이상의 매크로블록들이 예측되는 방식을 나타내는 정보를 수신하여 디코딩하는 것이 필요하지 않을 수도 있다. 예를 들어, 심도 뷰 성분에서의 매크로블록이, 텍스쳐 뷰 성분에서의 대응하는 매크로블록들 중 하나로부터 모션 정보를 채택하는 것이 가능하다. 이 방식으로, 델타 값들 또는 임의의 추가적인 이러한 정보가 심도 뷰 성분에서의 매크로블록을 코딩하는데 필요하지 않을 수도 있다.
매크로블록인지, 매크로블록의 파티션인지, 또는 파티션의 서브블록인지의 여부는 참조 인덱스 정보를 채택할 수 있고, 모션 벡터 정보는 IVMP (Inside View Motion Prediction) 플래그에 기초할 수도 있다. 예를 들어, 비디오 인코더가 IVMP 플래그를 심도 뷰 성분 (예를 들어, 심도 뷰 블록) 에서의 매크로블록에 대한 참으로서 시그널링하면, 비디오 디코더는 참조 인덱스 정보 및 모션 벡터 정보를 채택하고, 텍스쳐 뷰 성분에서의 대응하는 매크로블록 (예를 들어, 대응하는 텍스쳐 뷰 블록) 중 하나에 기초하여 이용하는 심도 뷰 블록에 대한 파티션 모드를 결정한다.
일부 예들에서, IVMP 플래그가 심도 뷰 블록에 대하여 거짓 (false) 인 경우에도, 비디오 디코더가 심도 뷰 블록에 대한 파티션 모드를 결정하는 것이 가능하다. 이러한 예들에서, 비디오 인코더는 코딩된 비트스트림으로 시그널링하는 것이 필요할 수도 있고 비디오 디코더는 심도 뷰 블록이 예측되어지는 방식에 관한 코딩된 비트스트림 정보로부터 수신하는 것이 필요할 수도 있다. 그렇지 않고, IVMP 플래그가 심도 뷰 블록에 대해 참인 경우, 비디오 인코더는 코딩된 비트스트림으로 시그널링하는 것이 필요하지 않을 수도 있고, 비디오 디코더는 심도 뷰 블록이 예측되어지는 방식에 관한 코딩된 비트스트림 정보로부터 수신하는 것이 필요하지 않을 수도 있다. 오히려, 비디오 디코더는 심도 뷰 블록이 예측되어지는 방식을 결정하기 위해 대응하는 텍스쳐 뷰 블록들 중 하나에 대한 모션 정보를 재사용할 수도 있다.
도 3 은 비디오 시퀀스를 형성하는 픽쳐들의 시퀀스의 개념적 예시도이며, 심도 뷰 성분의 4-번째 픽쳐에서의 식별된 매크로블록 및 텍스쳐 뷰의 4-번째 픽쳐에서의 대응하는 매크로블록의 모션 벡터가 심도 뷰 성분에 재사용된다. 도 3 에서, 심도 뷰 성분 및 텍스쳐 뷰 성분의 공간 해상도는 예시된 바와 같이 동일할 수도 있다. 이는 IVMP 모드를 추가로 예시하기 위한 것이다.
일부 예드에서, IVMP (Inside View Motion Prediction) 모드는 심도 뷰 성분들을 가진 인터 코딩된 (즉, 인터 예측된) MB들에 대해서만 인에이블될 수도 있다. IVMP 모드에서, 텍스쳐 뷰 성분에서의 대응하는 MB 의 mb_type, sub_mb_type, 참조 인덱스들, 및 모션 벡터들을 포함하는 모션 정보는 동일한 뷰의 심도 뷰 성분에 의해 재사용된다. IVMP 모드를 사용하는지의 여부를 나타내는 플래그가 각각의 MB 에서 시그널링될 수도 있다. 도 3 에 도시된 바와 같이, 플래그는 심도 뷰의 4번째 픽쳐에서의 식별된 MB 에 대하여 참일 수도 있고, (4번째 픽쳐로서 식별된) 텍스쳐 뷰의 4번째 픽쳐에서의 대응하는 MB 의 모션 벡터가 심도 뷰 성분에서의 하이라이트된 MB 에 대하여 재사용된다. 일부 예들에서, IVMP 모드는 비고정 픽쳐들에만 적용됨을 주지한다.
또한, 다른 뷰의 모션에 기초하여 하나의 뷰에 대한 모션 벡터를 예측하는 통상의 기법들에 비해, IVMP 와 연관된 기법들은 추가 압축을 실현할 수도 있다. 예를 들어, 일부 통상의 스케일가능 기법들은 베이스 뷰의 모션 정보에 기초하여 강화 뷰의 모션 예측을 허용하고, 일부 경우에 베이스 뷰는 텍스쳐 뷰일 수도 있고 강화 뷰는 심도 뷰일 수도 있다. 그러나, 이 경우에 잔여 데이터 (예를 들어, 델타) 는 베이스 뷰가 강화 뷰를 예측하는데 이용된다고 나타내는 예측 정보 (또는 플래그) 에 더하여, 잔여 데이터 (예를 들어 델타) 가 항상 코딩된다. 이와 대조적으로, 본 개시물의 기법들은 델타 정보가 코딩되거나 허용되지 않는 IVMP 모드를 이용하지 않을 수도 있다. 그 대신에, IVMP 모드에서, 텍스쳐 뷰의 모션 정보가 심도 뷰의 모션 정보로서 채택된다.
심도 뷰 블록을 예측하는 텍스쳐 뷰 블록의 모션 정보를 이용하는 것은 텍스쳐 뷰 및 심도 뷰 블록들의 공간 해상도들이 동일한 경우에 적절하게 기능할 수도 있다. 그러나, 위에 설명된 바와 같이, 공간 해상도가 상이할 경우에 특정 문제가 존재할 수도 있다. 이것을 도 4a 및 도 4b에서 보다 자세하게 설명한다.
도 4a 및 도 4b 는 텍스쳐 뷰 성분들 및 심도 뷰 성분들의 공간 해상도들이 상이한 경우의 텍스쳐 뷰 블록들 및 심도 뷰 블록들의 개념도이다. 쉬운 설명을 위하여, 도 4a 및 도 4b 에서는, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4 이다. 따라서,도 4a 및 도 4b 에서는 심도 뷰 성분에서의 하나의 MB 가 텍스쳐 뷰 성분에서의 4 개의 MB들에 대응한다.
또한, 도 4a 및 도 4b 에서는, 심도 뷰 성분이 텍스쳐 뷰 성분에 대응한다.]예를 들어, 텍스쳐 뷰 성분 및 심도 뷰 성분은 단일의 액세스 유닛의 동일한 뷰의 일부이다. 예를 들어, 도 1 에서의 픽쳐들 (33) 의 세트는 단일의 액세스 유닛 (즉, 시간 인스턴스 T4 에서) 의 동일한 뷰 (즉, 뷰 (S1)) 의 텍스쳐 뷰 성분 및 심도 뷰 성분을 포함한다. 픽쳐들 (33) 의 세트는 이해를 돕기 위해 랜덤하게 선택되었다.
도 4a 는 텍스쳐 뷰 매크로블록들 (2A-2D) 및 심도 뷰 매크로블록 (4) 을 나타낸다. 텍스쳐 뷰 매크로블록 (2A-2D) 은 텍스쳐 뷰 블록의 일례이며, 심도 뷰 매크로블록 (4) 은 심도 뷰 블록의 일례이다. 텍스쳐 뷰 매크로블록들 (2A-2D) 은 각각 텍스쳐 뷰 성분에서의 매크로블록의 각각의 예들이다. 예를 들어, 텍스쳐 뷰 블록들 (2A-2D) 의 각자 개개의 하는 길이에서 16 픽셀들 및 폭에서 16 픽셀들이다 (즉, 16x16). 심도 뷰 매크로블록 (4) 은 심도 뷰 성분에서의 매크로블록의 일례이다. 예를 들어, 심도 뷰 매크로블록 (4) 은 16x16 픽셀들의 블록이다. 도 4a 에서, 심도 뷰 매크로블록 (4) 을 포함하는 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 매크로블록들 (2A-2D) 을 포함하는 텍스쳐 뷰 성분의 공간 해상도의 1/4 이기 때문에, 텍스쳐 뷰 매크로블록 (2A-2D) 은 심도 뷰 매크로블록 (4) 에 대응한다.
이 예에서, 심도 뷰 매크로블록 (4) 의 하나의 8x8 블록에 대한 모션 정보를 예측하기 위해 텍스쳐 뷰 매크로블록 (2A-2D) 중 하나로부터의 모션 정보를 이용하는 것이 바람직할 수도 있다. 그러나, 텍스쳐 뷰 매크로블록 (2A-2D) 중 하나 이상이 인트라 예측되고 다른 것들은 인터예측되는 경우, 심도 뷰 매크로블록 (4) 에 대한 예측 모드는 알지 못할 수도 있다 (즉, 심도 뷰 블록 (4) 이 인트라예측되어야 하는지 인터예측되어야 하는지를 모를 수도 있다). 이는 모든 4 개의 텍스쳐 뷰 매크로블록들 (2A-2D) 이 심도 뷰 매크로블록 (4) 에 대응하기 때문이다. 보다 자세히 설명될 바와 같이, 본 개시물에 설명된 예들은 비디오 인코더 및 비디오 디코더가 대응하는 심도 뷰 매크로블록에 대한 모션 정보를 결정하는데 있어 텍스쳐 뷰 매크로블록에서의 대응하는 매크로블록의 일부가 인트라예측되고 다른 것들이 인터예측되는 경우를 처리하는 방식에 대하여 제공한다.
도 4b 는 텍스쳐 뷰 매크로블록 (6) 및 심도 뷰 매크로블록 (10) 을 나타내며, 이들 양쪽 모두는 16x16 픽셀들의 블록들을 나타낸다. 심도 뷰 매크로블록 (10) 은 심도 뷰 파티션들 (12A-12D) 로 파티셔닝된다. 심도 뷰 파티션들 (12A-12D) 의 각각은 8x8 픽셀들의 블록을 갖는다. 심도 뷰 파티션들 (12A-12D) 은 심도 뷰 블록의 다른 예이다.
심고 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4 이기 때문에, 8x8 심도 뷰 파티션들 (12A-12D) 의 각각의 하나는 전체 16x16 텍스쳐 뷰 매크로블록에 대응한다. 예를 들어, 8x8 심도 뷰 파티션 (12A) 은 전체 16x16 텍스쳐 뷰 매크로블록 (6) 에 대응한다. 심도 뷰 파티션들 (12B-12D) 은 텍스쳐 뷰 매크로블록 (6) 에 이웃하는 전체 16x16 텍스쳐 뷰 매크로블록들에 대응한다.
예시된 바와 같이, 텍스쳐 뷰 매크로블록 (6) 은 4 개의 8x8 텍스쳐 뷰 파티션들 (8A-8D) 로 파티셔닝된다. 텍스쳐 뷰 매크로블록 (6) 을 두개의 8x16 파티션들 또는 2 개의 16x8 파티션들로 파티셔닝하는 것이 가능할 수도 있다. 텍스쳐 뷰 파티션들 (8A-8D) 은 텍스쳐 뷰 블록의 다른 예이다.
도 4b 에서, 텍스쳐 뷰 매크로블록 (6) 이 심도 뷰 매크로블록 (12A) 에 대응하기 때문에, 텍스쳐 뷰 파티션들 (8A-8D) 은 심도 뷰 서브블록들 (14A-14D) 에 대응한다. 심도 뷰 서브블록들 (14A-14D) 은 심도 뷰 블록의 다른 예이다. 예를 들어, 심도 뷰 파티션 (12A) 은 4 개의 4x4 심도 뷰 서브블록들 (14A-14D) 로 추가로 파티셔닝될 수도 있다. 이들 4x4 시도 뷰 서브블록들 (14A-14D) 의 각각의 하나는 텍스쳐 뷰 파티션들 (8A-8D) 의 각각의 것들에 대응한다. 예를 들어, 8x8 텍스쳐 뷰 파티션 (8A) 은 4x4 심도 뷰 서브 블록 (14A) 에 대응하고,8x8 텍스쳐 뷰 파티션 (8B) 은 4x4 심도 뷰 서브블록 (14B) 에 대응하고 이하 동일하게 이루어진다.
일부 예들에서, 텍스쳐 뷰 파티션들 (8A-8D) 의 각각의 하나는 상이한 참조 텍스쳐 뷰 성분들로 인터 예측될 수도 있다. 예를 들어, 위에 설명된 바와 같이, 참조 텍스쳐 뷰 성분들로서 이용되는 하나 이상의 텍스쳐 뷰 성분들은 RefPicList0 및 RefPicList1 로서 지칭되는 참조 픽쳐 리스트들에서 식별된다. 참조 인덱스는 참조 텍스쳐 뷰 성분을 식별하는데 이용된 이들 리스트 중 하나로의 인덱스이다. 텍스쳐 뷰 파티션들 (8A-8D) 중 하나가 하나의 참조 텍스쳐 뷰 성분에 대하여 (예를 들어, 한 방향으로) 인터 예측되면, 텍스쳐 뷰 파티션들 (8A-8D) 중 하나에 대한 RefPicList0 또는 RefPicList1 로의 하나의 참조 인덱스가 존재한다. 텍스쳐 뷰 파티션들 (8A-8D) 중 하나가 두개의 참조 텍스쳐 뷰 성분에 대하여 (예를 들어, 두개의 방향으로) 인터 예측되면, 텍스쳐 뷰 파티션들 (8A-8D) 중 하나에 대하여, 하나의 RefPicList0 및 하나의 RefPicList1 로의 두개의 참조 인덱스가 존재한다.
텍스쳐 뷰 파티션들 (8A-8D) 이 상이한 참조 텍스쳐 뷰 성분들로 인터 예측되면 텍스쳐 뷰 성분들 (8A-8D) 의 참조 인덱스 또는 인덱스들이 상이한 것이 가능할 수도 있다. 이는 심도 뷰 서브블록들 (14A-14D) 중 하나 이상이 상이한 참조 심도 뷰 성분들로부터 인터 예측되는 것을 필요로 한다.
그러나, MVC 확장안을 가진 H.264/AVC 와 같은 일부 표준들은 이러한 결과를 허용하지 않을 수도 있다. 예를 들어, H.264 표준은 서브 블록들 내에 있는 8x8 사이즈보다 작은 블록들에 대해 이러한 블록들이 동일한 참조로부터 인터 예측되어야 함을 요구할 수도 있다. 예를 들어, 심도 뷰 서브블록들 (14A-14D) 이 4x4 이고 이에 따라 8x8 보다 더 작은 사이즈로 된다. 따라서, H.264 표준은 모든 심도 뷰 서브블록들 (14A-14D) 이 동일한 참조 심도 뷰 성분으로부터 인터 예측되어야 함을 요구할 수도 있다. 그러나, 텍스쳐 뷰 파티션들 (8A-8D) 중 하나 이상이 상이한 참조 텍스쳐 뷰 성분들에 대하여 인터예측되면, 이는 심도 뷰 서브블록들 (14A-14D) 이 상이한 참조 심도 뷰 성분들에 대해 예측되는 것을 가져오는데 이는 H.264 표준에서 허용되지 않을 수도 있다. 더 상세히 설명되는 바와 같이, 본 개시물에서 설명된 기법들은, 이러한 문제를 해결하기 위한 기법들을 제공한다.
일부 대안의 예들에서, 텍스쳐 뷰 파티션들 (8A-8D) 의 각각의 하나가 동일한 참조 텍스쳐 뷰 성분 또는 성분들에 대해 인터예측되는 것 (예를 들어, 파티션들이 단방향으로 예측되는지 또는 양방향으로 예측되는지에 기초하여, RefPicList0 및/또는 RefPicList1 로의 참조 인덱스 또는 인덱스들이 동일한 것) 이 가능할 수도 있다. 이 경우에, 심도 뷰 서브블록들 (14A-14D) 의 각각의 하나는 동일한 참조 심도 뷰 성분으로부터 예측되는데, 이는 H.264 표준의 요건들에 순응하는 것이다.
그러나, 이 경우에도, 텍스쳐 뷰 파티션들 (8A-8D) 중 하나 이상에 대한 모션 벡터들이 상이할 수도 있다. 예를 들어, 텍스쳐 뷰 파티션 (8A) 에 대한 모션 벡터 및 텍스쳐 뷰 파티션 (8B) 의 모션 벡터는, 모션 벡터 양쪽 모두가 동일한 참조 텍스쳐 뷰 성분으로부터 지시된 경우에도 상이할 수도 있다. 이 경우에, 심도 뷰 파티션들 (12A) 를 인터예측하는데 어느 모션 벡터를 이용하지는가 불명확할 수도 있다. 본 개시물에서 설명된 예들은, 이러한 문제를 해결하기 위한 기법들을 제공한다.
보다 자세하게, 본 개시물에 설명된 예들은 비디오 인코더 또는 비디오 디코더의 환경에서 설명된다. 본 개시물에 부합하는 비디오 인코더는 일반적으로, JMVC (joint multiview video coding) 인코더 방식에 따를 수도 있다. 이 경우에, 뷰들은 하나씩 인코딩된다. 각각의 뷰 내에서, 텍스쳐 시퀀스가 먼저 인코딩되고 심도 시퀀스가 그 다음에 인코딩된다.
IVMP 모드가 인에이블되면, 텍스쳐 뷰 성분 인코딩 동안에, 각각의 텍스쳐 뷰 성분의 모션 필드가 모션 파일 내에 기록되고, 그 이름은 컨피규어 파일 내에 특정될 수 있다. 동일한 뷰의 대응하는 심도 뷰 성분들을 인코딩할 때, 모션 파일이 참조로 판독될 수도 있다.
비디오 디코더는 JMVC 디코더와 유사할 수도 있으며, 또한 각각의 뷰에 대한 심도 시퀀스를 디코딩 및 추력하는데 있어 변경이 있다. 다른 비디오 코딩 인코들은 이 AVC-기반/ HEVC-기반 멀티뷰/3D 비디오 코딩 표준들에 이용되는 3D-ATM 및 3D-HTM 을 참조할 수도 있다. IVMP 모드가 인에이블되면, 각각의 텍스쳐 뷰 성분의 모션은 각각의 대응하는 심도 뷰 성분의 모션으로서 저장되어 채택된다. IVMP 모드가 디스에이블되는 임의의 블록들에 대해, 심도 뷰는 하나의 자체 모션 정보를 포함할 수도 있거나 또는 자신의 각각의 모션 정보를 획득, 예측 또는 채택하는 경우를 식별하는 일부 다른 신택스 엘리먼트들을 포함할 수도 있다.
도 5, 도 6 및 도 7 의 다음 설명은 본 개시물의 기법들이 이용될 수도 있는 일부 예시적인 시나리오들을 설명한다. 예를 들어, 도 5 는 비디오 인코더 또는 비디오 디코더의 일례를 나타낸다. 도 6 및 도 7 은 비디오 인코더 또는 비디오 디코더의 일례를 보다 자세하게 설명한다. 비디오 인코더 또는 비디오 디코더의 예시된 예들은 본 개시물의 예시적인 기법들을 구현하도록 구성될 수도 있다.
예를 들어, 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도가 상이한 경우에, 일부 예들에서, 비디오 인코더는 IVMP 플래그를 심도 뷰 성분에서의 특정 매크로블록에 대해 참으로서 시그널링할 수도 있지만 (예를 들어, IVMP 플래그에 대한 1 의 비트 값이 IVMP 플래그가 참임을 나타낼 수도 있음) ; 그러나, 비디오 인코더가 IVMP 플래그를 시그널링하는 것이 모든 예에 반드시 그러한 것은 아니다. IVMP 플래그가 참이면, 비디오 인코더는 심도 뷰 성분에서의 매크로블록에 대한 모션 정보를 시그널링하지 않도록 구성될 수도 있다. 비디오 디코더는 모션 정보를 수신함이 없이 매크로블록에 대한 모션 정보를 결정하도록 구성될 수도 있다. 예를 들어, 비디오 디코더는 비디오 인코더로부터 모션 정보를 수신함이 없이, 심도 뷰 성분의 매크로블록에 대한 파티션 모드 정보, 참조 인덱스 정보 및 모션 벡터 정보 중 적어도 하나를 결정한다.
일부 예들에서, 비디오 인코더가 IVMP 플래그를 거짓으로서 (예를 들어, 0의 비트 값) 시그널링하는 경우에도, 비디오 디코더는 심도 뷰 성분의 매크로블록에 대한 파티션 모드 정보를 결정하도록 구성될 수도 있다. 이들 예에서, 비디오 인코더는 비디오 디코더가 심도 뷰 성분에서의 매크로블록에 대한 모션 정보를 결정해야 하는 방식을 나타내는 추가의 정보를 시그너링할 수도 있다. 예를 들어, IVMP 플래그가 거짓인 경우, 비디오 디코더는 일부 경우에 매크로블록에 대한 파티션 모드 정보를 결정할 수 있지만, 모션 벡터 정보 및 참조 인덱스를 결정하기 위해 추가적인 정보를 요구할 수도 있다. IVMP 플래그가 거짓인 경우 비디오 인코더가 신택스 엘리먼트로서 시그널링하는 추가적인 정보는 참조 인덱스 및 모션 벡터 정보를 어디서 획득, 예측 또는 채택하는지를 나타내는 정보 또는 참조 인덱스 및 모션 벡터 정보의 명시적 시그널링일 수도 있다.
도 5 는 본 개시물에 설명된 기법들을 이용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (16) 을 나타내는 블록도이다. 도 5 에 도시된 바와 같이, 시스템 (16) 은 목적지 디바이스 (20) 에 의해 나중에 디코딩될 인코딩된 비디오를 생성하는 소스 디바이스 (18) 를 포함한다. 소스 디바이스 (18) 와 목적지 디바이스 (20) 는, 무선 핸드셋 이를테면 이른바 "스마트" 폰들과 같은, 이른바 "스마트" 패드들, 또는 무선 통신을 위해 장비된 다른 이러한 무선 디바이스들을 포함하는 넓은 범위의 디바이스들 중 임의의 것을 포함한다. 소스 디바이스 (18) 및 목적지 디바이스 (20) 의 부가적인 예들은, 디지털 텔레비전, 디지털 직접 브로드캐스트 시스템 내 디바이스, 무선 브로드캐스트 시스템 내 디바이스, 개인휴대 정보단말들 (PDA), 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 이-북 리더, 디지털 카메라, 디지털 레코딩 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 디바이스, 비디오 게임 콘솔, 셀룰러 무선 전화기, 위성 무선 전화기, 비디오 원격회의 디바이스, 및 비디오 스트리밍 디바이스 등을 포함하지만 그것들로 제한되지 않는다.
목적지 디바이스 (20) 는 디코딩될 인코딩된 비디오 데이터를 링크 (22) 를 통해 수신할 수도 있다. 링크 (22) 는 인코딩된 비디오 데이터를 소스 디바이스 (18) 에서 목적지 디바이스 (20) 로 이동시킬 수 있는 임의의 타입의 매체 또는 디바이스를 포함할 수도 있다. 일 실시형태에서, 링크 (22) 는 소스 디바이스 (18) 로 하여금 인코딩된 비디오 데이터를 목적지 디바이스 (20) 로 실시간으로 직접 송신하게 하는 통신 매체를 포함할 수도 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 목적지 디바이스 (20) 로 전송될 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 예컨대 무선 주파수(RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들을 포함할 수도 있다. 통신 매체는 패킷 기반의 네트워크, 예컨대 근거리 통신망(local area network), 원거리 통신망(wide-area network), 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (18) 에서 목적지 디바이스 (20) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
대안적으로, 인코딩된 데이터는 출력 인터페이스 (28) 에서 저장 디바이스 (39) 로 출력될 수도 있다. 마찬가지로, 인코딩된 데이터는 입력 인터페이스에 의해 저장 디바이스 (39) 로부터 액세스될 수도 있다. 저장 디바이스 (39) 는 하드 드라이브, 블루레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 불휘발성 메모리와 같은 임의의 다양한 분산된 또는 로컬하게 액세스된 데이터 저장 매체, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적절한 디지털 저장 매체를 포함할 수도 있다. 다른 실시예에서, 저장 디바이스 (39) 는 소스 디바이스 (18) 에 의해 생성된 인코딩된 비디오를 유지할 수도 있는 다른 중간 저장 디바이스 또는 파일 서버에 대응할 수도 있다. 목적지 디바이스 (20) 는 스트리밍 또는 다운로드를 통해 저장 디바이스 (39) 로부터의 저장된 비디오 데이터에 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있고 그 인코딩된 비디오 데이터를 목적지 디바이스 (20) 로 송신할 수 있는 임의의 타입의 서버일 수도 있다. 예시적인 파일 서버들은 (예를 들면 웹사이트용의) 웹서버, FTP 서버, NAS(network attached storage) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스 (20) 는 인터넷을 접속을 포함하는 임의의 표준 데이터 접속을 통해 인코딩된 비디오 데이터에 액세스할 수도 있다. 이것은 파일 서버에 저장된 인코딩된 비디오 데이터를 액세스하는데 적합한 무선 채널 (예를 들면, 와이파이 접속), 유선 접속 (예를 들면,DSL, 케이블 모뎀 등), 또는 이들의 조합을 포함할 수도 있다. 저장 디바이스 (39) 로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다.
본 개시의 기술들은 무선 어플리케이션들 또는 설정들에 반드시 제한되는 것은 아니다. 본 기술은 임의의 다양한 멀티미디어 어플리케이션들, 예컨대 지상파(over-the-air) 텔레비젼 방송들, 케이블 텔레비젼 송신들, 위성 텔레비젼 송신들, 예를 들면 인터넷을 통한 스트리밍 비디오 송신들, 데이터 저장 매체 상의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩 또는 다른 어플리케이션들을 지원하여 비디오 코딩에 적용될 수도 있다. 몇몇 실시형태들에서, 시스템 (16) 은, 비디오 스트리밍, 비디오 플레이백, 비디오 방송, 및/또는 영상 전화와 같은 어플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 5 의 실시형태에서, 소스 디바이스 (18) 는 비디오 소스 (24), 비디오 인코더 (26) 및 출력 인터페이스 (28) 를 포함한다. 몇몇 경우들에서, 출력 인터페이스 (28) 는 변조기/복조기(modulator/demodulator; modem) 및/또는 송신기를 포함할 수도 있다. 소스 디바이스 (18) 에서, 비디오 소스 (24) 는 비디오 캡쳐 디바이스, 예컨대 비디오 카메라와 같은 소스, 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 비디오 컨텐츠 공급자로부터 비디오를 수신하는 비디오 공급 인터페이스, 및/또는 소스 비디오로서 컴퓨터 그래픽 데이터를 생성하는 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합을 포함할 수도 있다. 일 실시형태로서, 비디오 소스 (24) 가 비디오 카메라이면, 소스 디바이스 (18) 및 목적지 디바이스 (20) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 본 개시물에서 설명된 기술들은 일반적으로 비디오 코딩에 적용될 수 있으며, 무선 및/또는 유선 어플리케이션들에 적용될 수도 있다.
캡쳐된, 프리캡쳐된, 또는 컴퓨터에 의해 생성된 비디오는 비디오 인코더 (26) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 데이터는 소스 디바이스 (18) 의 출력 인터페이스 (28) 를 통해 목적지 디바이스 (20) 에 직접적으로 송신될 수도 있다. 인코딩된 비디오 데이터는, 디코딩 및/또는 재생을 위한, 목적지 디바이스 (20) 또는 다른 디바이스들에 의한 나중의 액세스를 위해 저장 디바이스 (39) 에 또한 (또는 대안적으로) 저장될 수도 있다.
목적지 디바이스 (20) 는 입력 인터페이스 (34), 비디오 디코더 (36), 및 디스플레이 디바이스 (38) 를 포함한다. 몇몇 경우들에서, 입력 인터페이스 (34) 는 수신기 및/또는 모뎀을 포함할 수도 있다. 목적지 디바이스 (20) 의 입력 인터페이스 (34) 는 링크 (22) 를 통해 인코딩된 비디오 데이터를 수신한다. 링크 (22) 를 통해 전달된, 또는 저장 디바이스 (39) 상에 제공된 인코딩된 비디오 데이터는, 비디오 데이터 디코딩시, 비디오 디코더, 예컨대 비디오 디코더 (36) 에 의한 사용을 위해 비디오 인코더 (26) 에 의해 생성된 다양한 신택스 엘리먼트들을 포함할 수도 있다. 이러한 신택스 엘리먼트들은 통신 매체 상에서 전달되거나, 저장 매체 상에 저장된거나, 또는 파일 서버 상에 저장된 인코딩된 비디오 데이터와 함께 포함될 수도 있다.
디스플레이 디바이스 (38) 는 목적지 디바이스 (20) 와 통합될 수도 있거나 또는 목적지 디바이스 (20) 외부에 있을 수도 있다. 몇몇 실시형태들에서, 목적지 디바이스 (20) 는 통합 디스플레이 디바이스를 포함할 수도 있고 외부 디스플레이 디바이스와 인터페이싱하도록 또한 구성될 수도 있다. 다른 실시형태들에서, 목적지 디바이스 (20) 는 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (28) 는 디코딩된 비디오 데이터를 유저에게 디스플레이하고, 액정 디스플레이(liquid crystal display; LCD), 플라즈마 디스플레이, 유기 발광 다이오드(organic light emitting diode; OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다.
비디오 인코더 (26) 및 비디오 디코더 (36) 는, ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, ITU-T H.263, ISO/IEC MPEG-4 비주얼 그리고 SVC (Scalable Video Coding) 및 MVC (Multiview Video Coding) 확장안들을 포함하는 ITU-T H4 (또한 ISO/IEC MPEG-.264 AVC로 알려짐) 와 같은 비디오 압축 표준에 따라 동작할 수도 있다. 최근 공개되어 이용가능한 MVC 의 공동 초안이 "Advanced video coding for generic audiovisual services"(ITU-T Recommendation H.264, 2010년 3월) 에 설명되어 있다. 더욱 최근에 공개되어 이용가능한 MVC 의 공동 초안은 "Advanced video coding for generic audiovisual services"(ITU-T Recommendation H.264, 2011년 6월) 에 설명되어 있다. MVC 의 현재 공동 초안은 2012년 1월자로 승인되었다.
덧붙여서, ITU-T 비디오 코딩 전문가 그룹(Video Coding Experts Group; VCEG) 및 ISO/IEC 동 화상 전문가 그룹(MPEG)의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 개발되고 있는 새로운 비디오 코딩 표준, 즉 고효율 비디오 코딩 (High-Efficiency Video Coding; HEVC) 이 있다. HEVC의 최근의 작업 초안 (Working Draft; WD)(이하, HEVC WD8로 지칭됨)은, 2012년 7월 20일 현재로, http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip에서 입수가능하다. 예시의 목적으로, 비디오 인코더 (26) 또는 비디오 디코더 (36) 는 HEVC 또는 H.264 또는 이러한 표준의 확장안들의 환경에서 기술된다. 그러나, 본 개시의 기술들은 임의의 특정 코딩 표준에 제한되지 않는다. 비디오 압축 표준들의 다른 실시형태들은 MPEG-2 및 ITU-T H.263을 포함한다. On2 VP6/VP7/VP8 이라 지칭되는 것과 같은 독점적 코딩 기법들이 또한 본 명세서의 기법들 중 하나를 구현할 수도 있다.
도 5 에 도시되지 않았지만, 몇몇 양태들에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 오디오 인코더 및 디코더와 통합될 수도 있고, 공통 데이터 스트림 또는 개별적인 데이터 스트림들에서 오디오 및 비디오 양자의 인코딩을 핸들링하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용 가능하다면, 몇몇 실시형태들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 유저 데이터그램 프로토콜(UDP)과 같은 다른 프로토콜을 준수할 수도 있다.
비디오 인코더 (26) 및 비디오 디코더 (36) 각각은 임의의 다양한 적절한 인코더 회로부, 예컨대 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들(DSPs), 주문형 반도체들(application specific integrated circuits; ASICs), 필드 프로그램가능 게이트 어레이들(FPGAs), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들로서 구현될 수도 있다. 상기 기술이 부분적으로 소프트웨어로 구현되는 경우, 디바이스는 그 소프트웨어에 대한 명령들을 적절한 비일시적 컴퓨터 판독가능 매체에 저장할 수도 있고, 본 개시의 기술들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어에서 그 명령들을 실행할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 것도 결합된 인코더/디코더(CODEC)의 일부로서 각각의 디바이스에 통합될 수도 있다.
비디오 시퀀스는 일련의 비디오 프레임들을 통상 포함한다. 픽쳐들의 그룹(group of pictures; GOP)은 일련의 하나 이상의 비디오 프레임들을 일반적으로 포함한다. GOP는 GOP의 헤더, GOP의 하나 이상의 프레임들의 헤더, 또는 그 외의 곳에, GOP에 포함된 프레임들의 수를 설명하는 신택스 데이터를 포함할 수도 있다. 각각의 프레임은 각각의 프레임에 대한 인코딩 모드를 설명하는 픽쳐 신택스 데이터를 포함할 수도 있다. 비디오 인코더 (26) 는 비디오 데이터를 인코딩하기 위해 개개의 비디오 프레임들 내의 비디오 블록들에 대해 통상 동작한다. 비디오 블록은 매크로블록 또는 매크로블록의 파티션 및 가능하다면 파티션의 서브블록에 대응할 수도 있다. 비디오 블록들은 고정된 또는 가변적인 사이즈들을 가질 수도 있고, 특정 코딩 표준에 따라 사이즈가 상이할 수도 있다. 각각의 비디오 프레임은 복수의 슬라이스들을 포함할 수도 있다. 각 슬라이스는 복수의 매크로블록들을 포함할 수도 있고, 이들은 서브블록들로도 칭해지는 파티션들로 정렬될 수도 있고, 또한
예로서, ITU-T H.264 표준은 여러 블록 사이즈들, 예컨대 루마 컴포넌트들에 대한 16x16, 8x8, 또는 4x4, 크로마 컴포넌트들에 대한 8x8에서의 인트라 예측뿐만 아니라, 여러 블록 사이즈들, 예컨대 루마 컴포넌트들과 크로마 컴포넌트들에 대한 대응하여 스케일링된 사이즈들에 대한 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 및 4x4에서의 인터 예측을 지원한다. 본 개시물에서, "NxN" 및 "N곱하기N", 예컨대 16x16 픽셀들 또는 16x16 픽셀들은 수직 및 수평 치수들에 의해 블록의 픽셀 치수들을 언급하기 위해 상호 교환적으로 사용될 수도 있다. 일반적으로, 16x16 블록은 수직 방향으로 16픽셀들(Y=16) 및 수평 방향으로 16픽셀들(x=16)을 구비할 수도 있다. 마찬가지로, NxN 블록은 수직 방향으로 N 픽셀들 수평 방향으로 N 픽셀들을 구비하는데, 여기서 N은 음이 아닌 정수 값을 나타낸다. 블록에서의 픽셀들은 행들 및 열들로 정렬될 수도 있다. 또한, 블록들은 수평 방향에서의 픽셀들의 수가 수직 방향에서의 것과 반드시 동일할 필요는 없다. 예를 들면, 블록들은 NxM 픽셀들을 포함할 수도 있으며, 여기서 M은 N과 반드시 동일하지는 않다.
16x16보다 작은 블록 사이즈들은 16x16 매크로블록의 파티션들로서 칭해질 수도 있다. 비디오 블록들은 픽셀 도메인에서의 픽셀 데이터의 블록들, 또는, 예를 들면, 이산 코사인 변환(DCT), 정수 변환, 웨이브릿 변환, 또는 코딩된 비디오 블록들과 예측된 비디오 블록들 사이의 픽셀 차이들을 나타내는 잔여 비디오 블록 데이터와 개념적으로 유사한 변환와 같은 변환의 적용에 후속하는 변환 도메인에서의 변환 계수들의 블록들을 포함할 수도 있다. 몇몇 경우들에서, 비디오 블록은 변환 도메인에서의 양자화된 변환 계수들의 블록들을 포함할 수도 있다.
더 작은 비디오 블록들은 더 나은 해상도를 제공할 수 있으며, 높은 레벨의 상세를 포함하는 비디오 프레임의 로케이션을 위해 사용될 수도 있다. 일반적으로, 매크로블록들 및 종종 서브블록들로서 칭해지는 여러 파티션들은, 비디오 블록들로서 고려될 수도 있다. 또한, 슬라이스는 복수의 비디오 블록들, 예컨대 매크로블록들 및/또는 서브 블록들인 것으로 간주될 수도 있다. 각 슬라이스는 비디오 프레임의 독립적으로 디코딩 가능한 단위일 수도 있다. 대안적으로, 프레임들 그 자체가 디코딩 가능한 단위들일 수도 있거나, 또는 프레임의 다른 부분들이 디코딩 가능한 단위들로서 정의될 수도 있다. 용어 "디코딩가능 단위"는, 전체 프레임, 프레임의 슬라이스, 시퀀스라고도 칭해지는 픽쳐들의 그룹(GOP)과 같은 비디오 프레임의 임의의 독립적으로 디코딩 가능한 단위, 또는 적용가능한 코딩 기술들에 따라 정의된 다른 독립적으로 디코딩 가능한 단위를 지칭할 수도 있다.
예를 들면, 매크로블록이 인트라 모드 인코딩 (예를 들어, 인트라 예측) 되면, 매크로블록은 매크로블록에 대한 인트라 예측 모드를 설명하는 데이터를 포함할 수도 있다. 다른 실시형태로서, 매크로블록이 인터 모드 인코딩 (예를 들어, 인터 예측) 되면, 매크로블록은 매크로블록에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. 매크로블록에 대한 모션 벡터를 정의하는 데이터는, 예를 들면, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터에 대한 해상도 (예를 들면, 1/4 픽셀 정밀도 또는 8/1 픽셀 정밀도) 를 기술할 수도 있다. 추가로 인터 예측될 때, 매크로블록은 모션 벡터가 지시하는 참조 프레임과 같은 참조 인덱스 정보 및/또는 모션 벡터에 대한 참조 픽쳐 리스트 (예를 들어, RefPicList0 또는 RefPicList1) 를 포함할 수도 있다.
JCT-VC는 HEVC 표준의 개발에 노력하고 있다. HEVC 표준화 노력들은 HEVC 테스트 모델(HEVC Test Model; HM)로 칭해지는 비디오 코딩 디바이스의 모델에 기초한다. HM은, 예를 들면, ITU-T H.264/AVC에 따른 기존 디바이스들에 비해 비디오 코딩 디바이스들의 여러가지 추가적인 성능들을 가정한다. 예를 들면, H.264가 9개의 인트라 예측 인코딩 모드들을 제공하지만, HM은 33개만큼 많은 방향/각도 인트라 예측 인코딩 모드들을 제공한다.
HM의 작업 모델은, 비디오 프레임 또는 픽쳐가 루마 및 크로마 샘플 양쪽 모두를 포함하는 최대 코딩 단위들(largest coding units; LCU들) 또는 트리블록들의 시퀀스로 분할될 수도 있다. 트리블록은 H.264 표준의 매크로블록과 유사한 목적을 갖는다. 슬라이스는 코딩 순서에서 다수의 연속적인 트리블록들을 포함한다. 비디오 프레임 또는 픽쳐는 하나 이상의 슬라이스들로 파티션될 수도 있다. 각각의 트리블록은 쿼드트리에 따라 코딩 단위들(coding units; CU들)로 스플릿될 수도 있다. 예를 들면, 쿼트트리의 루트 노드로서의 트리블록은 4개의 차일드 노드들로 스플릿되고, 계속해서 각각의 차일드 노드는 부모 노드가 될 수도 있고 다른 4개의 차일드 노드들로 스플릿될 수도 있다. 최종적으로, 쿼드트리의 리프 노드로서의 스플릿되지 않은 차일드 노드는 코딩 노드, 즉, 코딩된 비디오 블록을 포함한다. 코딩된 비트스트림과 관련된 신택스 데이터는 트리블록이 스플릿될 수도 있는 최대 횟수를 정의할 수도 있고, 코딩 노드들의 최소 사이즈를 또한 정의할 수도 있다. 트리블록들은 일부 예들에서 LCU들이라고 지칭될 수도 있다.
CU는 코딩 노드 및 코딩 노드와 관련된 변환 단위들(transform units; TU들) 및 예측 단위들(prediction units; PU들)을 포함한다. CU의 사이즈는 코딩 노드의 사이즈에 대응하고 정사각형 형상이어야 한다. CU의 사이즈는 8x8 픽셀들에서 최대 64x64 픽셀들 이상의 픽셀들을 갖는 트리블록의 사이즈까지의 범위에 있을 수도 있다. 각각의 CU는 하나 이상의 PU들 및 하나 이상의 TU들을 포함할 수도 있다. CU와 관련된 신택스 데이터는, 예를 들면, CU를 하나 이상의 PU들로 파티션하는 것을 설명할 수도 있다. 파티션 모드들은, CU가 스킵 또는 다이렉트 모드 인코딩되는지, 인트라 예측 모드 인코딩되는지, 또는 인터 예측 모드 인코딩되는지의 사이에서 상이할 수도 있다. PU들은 비정사각형의 형상으로 파티션될 수도 있다. CU와 관련된 신택스 데이터는, 예를 들면, CU를 쿼드트리에 따라 하나 이상의 TU들로 파티션하는 것을 또한 설명할 수도 있다. TU는 정사각형 또는 비정사각형 형상일 수 있다.
HEVC 표준은 TU들에 따른 변환들을 허용하는데, 이것은 상이한 CU들에 대해 상이할 수도 있다. TU들은 파티션된 LCU에 대해 정의된 주어진 CU 내에서의 PU들의 사이즈에 기초하여 통상 크기가 정해지지만, 이것이 항상 그런 것은 아닐 수도 있다. TU들은 통상 PU들과 동일한 사이즈이거나 또는 더 작다. 몇몇 실시예들에서, CU에 대응하는 잔여 샘플들은, "잔여 쿼드 트리(residual quad tree; RQT)"로서 알려진 쿼드트리 구조를 사용하여 더 작은 단위들로 서브분할될 수도 있다. RQT의 리프 노드들(leaf nodes)은 변환 단위들(TU들)로 칭해질 수도 있다. TU들과 관련된 픽셀 차이값들은 변환되어 변환 계수들을 생성할 수도 있고, 변환 계수는 양자화될 수도 있다.
일반적으로, PU는 예측 프로세스와 관련된 데이터를 포함한다. 예를 들면, PU가 인트라 모드 인코딩되면, PU는 PU에 대한 인트라 예측 모드를 설명하는 데이터를 포함할 수도 있다. 다른 실시형태로서, PU가 인터 모드 인코딩되면, PU는 PU에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. PU에 대한 모션 벡터를 정의하는 데이터는, 예를 들어, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터에 대한 해상도 (예컨대, 1/4 화소 정밀도 또는 1/8 화소 정밀도), 모션 벡터가 가리키는 참조 화상, 및/또는 모션 벡터에 대한 참조 화상 리스트 (예컨대, 리스트 0 또는 리스트 1) 를 서술할 수도 있다.
일반적으로, TU는 변환 및 양자화 프로세스들에 대해 사용된다. 하나 이상의 PU들을 갖는 주어진 CU는 하나 이상의 변환 단위들(transform units; TU들)을 또한 포함할 수도 있다. 예측에 후속하여, 비디오 인코더 (26) 는 PU에 대응하는 잔여 값들을 계산할 수도 있다. 잔여 값들은, 변환 계수들로 변환되고, 양자화되고, TU들을 사용하여 스캐닝되어 엔트로피 코딩을 위한 직렬화된 변환 계수들을 생성할 수도 있는 픽셀 차이값들을 포함한다. 본 개시는 CU의 코딩 노드를 지칭하기 위해 통상적으로 용어 "비디오 블록"을 사용한다. 몇몇 특정 경우들에서, 본 개시는 코딩 노드와 PU들 및 TU들을 포함하는 트리블록, 즉, LCU 또는 CU를 지칭하기 위해 용어 "비디오 블록"을 사용할 수도 있다.
비디오 시퀀스는 일련의 비디오 프레임들 또는 픽쳐들을 통상 포함한다. 픽쳐들의 그룹(GOP)은 일련의 하나 이상의 비디오 픽쳐들을 일반적으로 포함한다. GOP는 GOP의 헤더, GOP의 하나 이상의 픽쳐들의 헤더, 또는 그 외의 곳에, GOP에 포함된 픽쳐들의 수를 설명하는 신택스 데이터를 포함할 수도 있다. 픽쳐의 각각의 슬라이스는 각각의 슬라이스에 대한 인코딩 모드를 설명하는 슬라이스 신택스 데이터를 포함할 수도 있다. 비디오 인코더 (26) 는 비디오 데이터를 인코딩하기 위해 개개의 비디오 픽쳐들 내의 비디오 블록들에 대해 통상 동작한다. 비디오 블록은 CU 내의 코딩 노드에 대응할 수도 있다. 비디오 블록들은 고정된 또는 가변적인 사이즈들을 가질 수도 있고, 특정 코딩 표준에 따라 사이즈가 상이할 수도 있다.
일 실시형태로서, HM은 다양한 PU 사이즈들에서의 예측을 지원한다. 특정 CU의 사이즈가 2Nx2N이라고 가정하면, HM은 2Nx2N 또는 NxN의 사이즈들에서의 인트라 예측, 및 2Nx2N, 2NxN, Nx2N, 또는 NxN의 대칭적 사이즈들에서의 인터 예측을 지원한다. HM은 2NxnU, 2NxnD, nLx2N, 및 nRx2N의 PU 사이즈들에서의 인터 예측에 대한 비대칭적 파티션을 또한 지원한다. 비대칭적 파티션에서, CU의 한 방향은 스플릿되지 않지만, 나머지 방향은 25% 및 75%로 파티셔닝된다. 25% 파티션에 대응하는 CU의 부분은 "Up", "Down", "Left", 또는 "Right"의 표시가 후속하는 "n"에 의해 표시된다. 따라서, 예를 들면, "2NxnU"은 위쪽의 2Nx0.5N PU와 아래쪽의 2Nx1.5N PU로 수평적으로 분할되는 2Nx2N을 가리킨다.
CU의 PU들을 사용하는 인트라 예측 또는 인터 예측 코딩에 후속하여, 비디오 인코더(20)는 CU의 TU들에 대한 잔여 데이터를 계산할 수도 있다. PU들은 공간 도메인(픽셀 도메인으로도 칭해짐)에서의 픽셀 데이터를 포함할 수도 있고, TU들은, 잔여 비디오 데이터에 대한, 예를 들면, 이산 코사인 변환(discrete cosine transform; DCT), 정수 변환, 웨이브릿 변환, 또는 개념적으로 유사한 변환과 같은 변환의 적용에 후속하는 변환 도멘인에서의 계수들을 포함할 수도 있다. 잔여 데이터는 HEVC 에서의 PU들에 대응하는 예측값들 또는 H.264 에서의 매크로블록들에 대한 에측값들에 대응하는 예측 값들과 인코딩되지 않은 픽쳐의 픽셀들 사이의 픽셀 차이들에 대응할 수도 있다.
변환 계수들을 생성하기 위한 임의의 변환들에 후속하여, 비디오 인코더 (26) 는 변환 계수들의 양자화를 수행할 수도 있다. 양자화는, 변환 계수 블록의 계수들을 표현하기 위해 사용되는 데이터의 양을 최대한 줄이기 위해 변환 계수들이 양자화되어 추가적인 압축을 제공하는 프로세스를 일반적으로 지칭한다. 양자화 프로세스는 계수들의 일부 또는 전부와 관련된 비트 깊이를 감소시킬 수도 있다. 예를 들면, n-비트 값은 양자화 동안 m-비트 값으로 내림(round down)될 수도 있는데, 여기서 n은 m보다 더 크다.
몇몇 실시형태들에서, 비디오 인코더(20)는 엔트로피 인코딩될 수 있는 직렬화된 벡터를 생성하기 위해 양자화된 변환 계수들을 스캔하기 위한 미리 정의된 스캔 순서를 활용할 수도 있다. 다른 실시형태들에서, 비디오 인코더 (26) 는 적응성 스캔 (adaptive scan) 을 수행할 수도 있다. 양자화된 변환 계수들을 스캐닝하여 1차원 벡터를 형성한 이후, 비디오 인코더 (26) 는, 예를 들면, 콘텍스트 적응 가변 길이 코딩(context adaptive variable length coding; CAVLC), 콘텍스트 적응 이진 산술 코딩(context adaptive binary arithmetic coding; CABAC), 신택스 기반 콘텍스트 적응 이진 산술 코딩(syntax-based context-adaptive binary arithmetic coding; SBAC), 확률 인터벌 파티션 엔트로피(probability interval partitioning entropy; PIPE) 코딩, 또는 다른 엔트로피 인코딩 방법론에 따라, 1차원 벡터를 엔트로피 인코딩할 수도 있다. 비디오 인코더 (26) 는 비디오 데이터를 디코딩함에 있어서 비디오 디코더 (36) 에 의해 사용하기 위한 인코딩된 비디오와 관련된 신택스 엘리먼트들을 또한 엔트로피 인코딩할 수도 있다.
CABAC를 수행하기 위해, 비디오 인코더 (26) 는 콘텍스트 모델 내의 콘텍스트를 송신될 심볼에 할당할 수도 있다. 콘텍스트는, 예를 들면, 심볼의 이웃하는 값들이 넌제로 (non-zero) 인지 또는 넌제로가 아닌지의 여부에 관련될 수도 있다. CAVLC를 수행하기 위해, 비디오 인코더 (26) 는 송신될 심볼에 대한 가변 길이 코드를 선택할 수도 있다. VLC에서의 코드워드들은, 상대적으로 더 짧은 코드들이 고확률(more probable) 심볼들에 대응하고, 상대적으로 더 긴 코드들이 저확률(less probable) 심볼들에 대응하도록 구성될 수도 있다. 이렇게 하여, VLC의 사용은, 예를 들면, 송신될 각각의 심볼에 대해 동일한 길이의 코드워드들을 사용하는 것에 비해 비트 절감을 달성할 수도 있다. 확률 결정은 심볼들에 할당된 콘텍스트에 기초할 수도 있다.
본 개시물에 설명된 실시예들에서, 비디오 인코더 (26) 는 상술한 방식으로, 텍스쳐 뷰 성분의 매크로블록들 및 심도 뷰 성분들의 매크로블록들을 인트라 또는 인터 예측할 수도 있다. 비디오 디코더 (36) 는 인코딩된 매크로블록들을 디코딩하기 위해 비디오 인코더 (36) 에 의해 수행된 기능들의 반대 또는 역을 수행할 수도 있다. 예를 들어, 텍스쳐 뷰 성분에서의 매크로블록이 인터 코딩 (예를 들어,인터 예측) 되면, 비디오 인코더 (26) 는 파티션 모드 정보, 참조 인덱스 정보 및 모션 벡터 정보와 같은 매크로블록에 대한 모션 정보를 정의하는 신택스 엘리먼트들을 시그널링한다. 비디오 디코더 (36) 는 매크로블록에 대한 신텍스 엘리먼트들에 대한 모션 정보를 수신하고, 그 수신된 모션 정보에 기초하여 최초의 텍스쳐 뷰 성분을 재구성하기 위해 매크로블록을 디코딩한다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 성분들의 매크로블록들에 대해서도 또한 동일한 기능을 수행한다.
그러나, 일부 상황에서, 비디오 인코더 (26) 는 심도 뷰 성분의 매크로블록에 대한 모션 정보를 정의하는 신택스 엘리먼트를 시그널링할 필요가 없을 수도 있다. 다만, 심도 뷰 성분에 대한 일부 매크로블록들에 대해, 비디오 인코더 (26) 가 상술한 바와 같이 IVMP 플래그를 시그널링할 수도 있지만, IVMP 플래그의 시그널링은 모든 경우에 필요한 것은 아니다. IVMP 플래그가 시그널링되지 않으면, 비디오 디코더 (36) 는 IVMP 플래그를 수신할 필요 없이 이전에 디코딩된 블록들의 상태에 기초하여 IVMP 플래그의 상태를 결정한다.
IVMP 플래그가 심도 뷰 성분에서의 매크로블록에 대해 참인 경우, 비디오 디코더 (36) 는 텍스쳐 뷰 성분에 의 대응하는 매크로블록들 중 하나로부터의 모션 정보를 이용하여 심도 뷰 성분에서의 매크로블록을 디코딩한다. 또한, 본 개시물에 설명된 실시예들에서, 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도가 상이할 수도 있어, 텍스쳐 뷰 성분에서의 복수의 매크로블록들이 심도 뷰 성분에서의 하나의 매크로블록에 대응하게 된다.
본 개시물에 이용되는 용어"대응하는" 또는 "대응하고 있는" 은 용어, "연관된" 또는 "공동 연관된" 과 상호교환적으로 이용될 수도 있다. 예를 들어, 위에 설명된 바와 같이, 심도 뷰 성분은 대응하는 텍스쳐 뷰 성분에서의 픽셀들의 상대 심도들을 나타낼 수도 있다. 이 방식으로, 심도 뷰 성분 및 그 대응하는 텍스쳐 뷰 성분이 서로 연관된 것으로 간주된다. 따라서, 텍스쳐 뷰 성분에서의 복수의 매크로블록들 (즉, 텍스쳐 뷰 매크로블록들) 은 심도 뷰 매크로블록과 연관된 것으로 간주될 수도 있다. 또한, 텍스쳐 뷰 매크로블록들 및 그 대응하는 심도 뷰 매크로블록 중 하나는 각각의 성분들에서 동일한 로케이션들에 위치될 수도 있다. 예를 들어, 텍스쳐 뷰 성분의 상단 좌측 코너에 위치된 텍스쳐 뷰 매크로블록은 심도 뷰 성분의 상단 좌측 코너에 위치된 심도 뷰 매크로블록에 대응한다. 이 방식으로, 텍스쳐 뷰 매크로블록 및 그 대응하는 심도 뷰 매크로블록이 서로 연관된 것으로 간주된다.
본 개시물에 설명된 기법들에 따르면, 비디오 디코더 (36) 는 (예를 들어, IVMP 플래그를 수신함으로써 또는 IVMP 플래그의 상태를 수신함이 없이 IVMP 플래그의 상태를 결정함으로써) IVMP 가 인에이블되는 것으로 결정하는 경우, 비디오 디코더 (36) 는 심도 뷰 매크로블록에 대응하는 텍스쳐 뷰 매크로블록들 중 하나로부터 모션 정보를 이용하는 방법을 결정한다. 또한, 비디오 디코더 (36) 가 IVMP 가 심도 뷰 매크로블록에 대해 디스에이블되는 것이라 결정하는 경우에도, 비디오 디코더 (36) 는 여전히 심도 뷰 매크로블록에 대한 일부 모션 정보를 결정하는 것이 가능할 수도 있다.
오직 예시만을 위하여, 기법들은 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4인 경우의 예들로 먼저 설명된다. 이들 경우에, 이어서 각각 설명되는 가능한 여러 기법들이 존재한다. 다음으로, 기법들은 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/2 인 경우의 예들로 설명된다. 유사하게, 이들 경우에, 이어서 각각 설명되는 가능한 여러 기법들이 존재한다.
심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4인 예들에서, 심도 뷰 성분의 폭은 텍스쳐 뷰 성분의 폭의 1/2이고, 심도 뷰 성분의 높이는 텍스쳐 뷰 성분의 높이의 1/2이다. 비디오 디코더 (36) 가 심도 뷰 매크로블록에 대하여 결정하는 모션 정보의 예들은 파티션 모드 정보, 참조 인덱스 정보 및 모션 벡터 정보를 포함한다.
일례로서, 텍스쳐 뷰 성분에서의 임의의 대응하는 매크로블록들이 인트라예측되면, IVMP 가 디스에이블될 수도 있다. 예를 들어, 도 4a 를 다시 참조하면, 텍스쳐 뷰 매크로블록들 (2A-2D) 은 심도 뷰 매크로블록 (4) 에 대응한다. 이 예에서, 텍스쳐 뷰 매크로블록들 (2A-2D) 중 어느 하나가 인트라 예측되면, 비디오 인코더 (26) 는 IVMP 가 심도 뷰 매크로블록 (4) 에 대하여 디스에이블됨을 나타내도록 거짓으로서 (예를 들어, 0 으로서) IVMP 플래그를 시그널링할 수도 있다. 대안으로서, 비디오 디코더 (36) 는 이전에 디코딩된 텍스쳐 뷰 매크로블록들 (2A-2D) 을 가질 수도 있고, IVMP 플래그를 비디오 인코더 (26) 로부터 수신할 필요 없이 IVMP 가 심도 뷰 매크로블록 (4) 에 대해 디스에이블된다고 결정할 수도 있다. 어느 경우에도, 비디오 디코더 (36) 는 심도 뷰 매크로블록 (4) 을 디코딩하기 위하여 텍스쳐 뷰 매크로블록들 (2A-2B) 중 어느 하나에 대한 모션 정보를 이용하는 것이 가능하지 않을 수도 있다. 다만, 비디오 인코더 (26) 는 심도 뷰 매크로블록 (4) 을 디코딩하는데 필요한 정보를 비디오 디코더 (36) 에 나타내는 추가적인 정보를 비디오 디코더 (36) 에 시그널링할 수도 있다.
다른 예로서, 텍스쳐 뷰 성분에서의 대응하는 매크로블록들 중 어느 것이 "4개의 8x8 MB 파티션" 과 동일한 매크로블록 파티션 모드를 갖는 경우, IVMP 는 디스에이블될 수도 있다. 예를 들어, 도 4b 를 참조하여 보면, 텍스쳐 뷰 매크로블록 (6) 은 4 개의 8x8 텍스쳐 뷰 파티션들 (8A-8D) 로 파티셔닝된다. 이 경우에, 비디오 인코더 (26) 는 IVMP 가 심도 뷰 매크로블록 (10) 에 대하여 디스에이블됨을 나타내도록 거짓으로서 IVMP 플래그를 시그널링할 수도 있다. 대안으로서, 비디오 디코더 (36) 는 심도 뷰 매크로블록 (10) 을 디코딩하기 전에, 이미 디코딩된 텍스쳐 뷰 매크로블록 (6) 을 가질 수도 있기 때문에, 비디오 디코더 (36) 는 IVMP 플래그를 수신할 필요 없이 IVMP 가 심도 뷰 매크로블록 (10) 에 대해 디스에이블된다고 결정할 수도 있다.
또한, 도 4a 에서, 텍스쳐 뷰 매크로블록들 (2A-2D) 중 어느 하나가 4개의 8x8 MB 파티션들로 파티셔닝되면, 비디오 인코더 (26) 는 IVMP 가 심도 뷰 매크로블록 (4) 에 대하여 디스에이블됨을 나타내도록 거짓으로서 IVMP 플래그를 시그널링할 수도 있다. 또한, 비디오 디코더 (36) 는 비디오 인코더 (26) 로부터 IVMP 플래그를 명시적으로 수신할 필요 없이 IVMP 가 심도 뷰 매크로블록 (4) 에 대하여 디스에이블되는 것으로 결정하는 것이 가능하다. 이 예에서, 심도 뷰 매크로블록 (4) 과 심도 뷰 매크로블록 (10) 양쪽 모두에 대해, 비디오 인코더 (26) 는 심도 뷰 매크로블록 (4) 과 심도 뷰 매크로블록 (10) 을 디코딩하는데 필요한 방식을 결정하도록 비디오 디코더 (36) 가 수신하는 추가적인 정보를 시그널링할 수도 있다.
위에 설명된 바와 같이, 몇몇 예들에서, IVMP 가 디스에이블되면, IVMP가 심도 뷰 매크로블록에 대해 거짓임을 비디오 인코더 (26) 가 명시적으로 시그널링할 필요가 없다. 예를 들어, 비디오 비디오 디코더 (36) 는 텍스쳐 뷰 매크로블록들 (2A-2D) 을 디코딩하고 있는 경우, 일부 경우에 비디오 디코더 (36) 는 텍스쳐 뷰 매크로블록들 (2A-2D) 중 적어도 하나가 인트라 예측된다고 결정하다. 이 경우, 비디오 디코더 (36) 는 비디오 인코더 (26) 로부터 IVMP 플래그를 수신할 필요 없이 IVMP 가 심도 뷰 매크로블록 (4) 에 대하여 디스에이블되는 것으로 결정한다. 이와 유사하게, 텍스쳐 뷰 매크로블록 (6) 을 디코딩할 때, 비디오 디코더 (36) 는 텍스쳐 뷰 매크로블록이 4 개의 8x8 텍스쳐 뷰 파티션들 (8A-8D) 로 파티셔닝된다고 결정한다. 이 경우, 비디오 디코더 (36) 는 비디오 인코더 (26) 로부터 IVMP 플래그를 수신할 필요 없이 IVMP 가 심도 뷰 매크로블록 (4) 에 대하여 디스에이블되는 것 (예를 들어, IVMP 플래그가 거짓임) 으로 결정한다. 이 방식으로, 비디오 인코더 (26) 는 모든 예에서 IVMP 플래그를 시그널링할 필요가 없어, 이에 의해, 대역폭 효율을 추가로 향상시킨다.
텍스쳐 뷰 매크로블록에 대한 매크로블록 파티션이"4개의 8x8 MB 파티션"인 경우 또는 텍스쳐 뷰 성분에서의 적어도 하나의 대응하는 매크로블록이 인트라 예측되는 경우, IVMP 가 디스에이블되는 경우에도, 비디오 디코더 (36) 는 대응하는 심도 뷰 매크로블록에 대한 파티셔닝 모드를 결정하는 것이 여전히 가능하다. 예를 들어, 텍스쳐 뷰 매크로블록에 대한 매크로블록 파티션이"4개의 8x8 MB 파티션"인 경우 비디오 디코더 (36) 는 대응하는 심도 뷰 매크로블록에 대한 매크로블록 파티션을 "4개의 8x8 MB 파티션"으로 설정하도록 구성된다. 이와 유사하게, 텍스쳐 뷰 성분의 대응하는 매크로블록들 중 어느 하나가 인트라 예측되는 경우, 비디오 디코더 (36) 는 대응하는 심도 뷰 매크로블록에 대한 매크로블록 파티션을 "4개의 8x8 MB 파티션"으로 설정하도록 구성된다. 예를 들어, 도 4b 를 참조하여 보면, 비디오 디코더 (36) 는 심도 뷰 매크로블록 (10) 에 대한 매크로블록 파티션을 "4개의 8x8 MB 파티션들" (예를 들어, 심도 뷰 파티션들 (12A-12D)) 로서 설정한다.
또한, 비디오 디코더 (36) 가 심도 뷰 매크로블록 (10) 에 대한 매크로블록 파티션을 "4개의 8x8 MB 파티션들"로 설정하기 때문에, 인코딩 동안에 비디오 인코더 (26) 는 또한 심도 뷰 매크로블록 (10) 에 대한 매크로블록 파티션을 "4개의 8x8 MB 파티션들"로 설정할 수도 있다. 이 방식으로, 비디오 인코더 (26) 는 심도 뷰 매크로블록 (10) 에 대한 매크로블록 파티션을 "4개의 8x8 MB 파티션들"로 설정하도록 구성될 수도 있고, 이예에서, 심도 뷰 매크로블록 (10) 을 디코딩하기 위한 모션 정보를 결정하도록 비디오 디코더 (36) 가 이용하는 추가적인 정보를 시그널링하도록 구성될 수도 있다.
심도 뷰 성분이 그 대응하는 텍스쳐 뷰 성분의 공간 해상도의 1/4이면, 심도 뷰 성분에서의 하나의 8x8 파티션이 텍스쳐 뷰 성분에서의 하나의 16x16 매크로블록, 텍스쳐 뷰 성분에서의 두개의 16x8 매크로블록, 또는 텍스쳐 뷰 성분에서의 두개의 8x16 매크로블록에 대응한다. 따라서, 다음 예들은 심도 뷰 성분에서의 8x8 매크로블록 파티션에 대해 설명된다.
또한, 위에 설명된 바와 같이, 대응하는 16x16 심도 뷰 매크로블록에 대한 16x16 텍스쳐 뷰 매크로블록들의 어느 것이 4 개의 8x8 매크로블록으로 파티셔닝되고 인트라 예측 모드로서 코딩되어 IMVP 가 디스에이블된다. 대응하는 16x16 텍스쳐 뷰 매크로블록의 모두가 하나의 16x16 매크로블록 파티션으로 파티셔닝되면, 일 경우에 IVMP 가 인에이블되지만, 아래 설명된 바와 같이 다른 경우에는 디스에이블될 수도 있다.
추가로, 텍스쳐 뷰 성분에서의 대응하는 매크로블록들에 이용된 참조 픽쳐들의 동일한 POC (Picture Order Count) 를 갖는 픽쳐가 심도 뷰 성분에서의 참조 픽쳐 리스트에 포함되지 않으면, IVMP 가 디스에이블될 수도 있다. 예를 들면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 텍스쳐 뷰 성분 및 심도 뷰 성분에 대해 참조 픽쳐 리스트들 (예를 들어, RefPicList0 및/또는 RefPicList1) 를 각각 구성할 수도 있다. 참조 텍스쳐 뷰 성분에 대응하는 참조 심도 뷰 성분이 심도 뷰 성분에 대하여 구성된 참조 픽쳐 리스트들에 포함되지 않으면, IVMP 는 디스에이블될 수도 있다. 이 예에서, 참조 텍스쳐 뷰 성분은 대응하는 텍스쳐 뷰 성분의 대응하는 블록을 인터 예측하는데 이용된다.
예를 들어, 8x8 심도 뷰 매크로블록 파티션이 하나의 16x16 텍스쳐 뷰 매크로블록 파티션에 대응하면, (이를 테면, mb_type 가 P_Skip, B_Skip, B_Direct_16x16, P_L0_16x16, B_L0_16x16, B_L1_16x16 또는 B_Bi_16x16와 동일하면), IVMP 가 인에블될 수도 있다. 이 경우, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스 또는 인덱스들을 하나의 16x16 텍스쳐 뷰 매크로블록 파티션의 참조 인덱스 또는 인덱스들로 설정할 수도 있다. 또한, 이 경우, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션들에 대한 파티션을 "하나의 8x8 서브블록"으로 설정할 수도 있다.
예를 들어,비디오 인코더 (26) 는 하나의 참조 텍스쳐 뷰 성분으로 하나의 16x16 텍스쳐 뷰 매크로블록을 인터예측 (즉, 단방향으로 예측) 하거나 또는 두개의 참조 텍스쳐 뷰 성분들로 하나의 16x16 텍스쳐 뷰 매크로블록을 인터예측 (즉, 양방향으로 예측) 하였을 수도 있다. 비디오 디코더 (36) 는 하나의 16x16 텍스쳐 뷰 매크로블록 파티션을 인터 예측하는데 이용된 참조 텍스쳐 뷰 성분들을 식별하는 참조 픽쳐 리스트들 (즉, RefPicList0 및 RefPicList1) 을 구성하도록 구성될 수도 있다. 참조 텍스쳐 뷰 성분들은 텍스쳐 뷰 성분들의 디스플레이 또는 출력 순서를 자신의 개별적인 픽쳐 순서 카운트 (POC) 값들로 식별될 수도 있다. 이 예들에서, 단방향으로 예측되면, 비디오 인코더 (26) 는 비디오 인코더 (26) 가 하나의 16x16 텍스쳐 뷰 매크로블록을 인터 예측하는데 이용하였던 참조 텍스쳐 뷰 성분을 (예를 들어, 자신의 POC 값에 의해) 식별시키는 RefPicList0 또는 RefPicList1 중 하나로 참조 인덱스를 시그널링할 수도 있다. 양방향으로 예측되면, 비디오 인코더 (26) 는 비디오 인코더 (26) 가 하나의 16x16 텍스쳐 뷰 매크로블록을 인터 예측하는데 이용하였던 참조 텍스쳐 뷰 성분들을 (예를 들어, 자신들의 POC 값에 의해) 식별시키는 RefPicList0 및 RefPicList1 각각으로 참조 인덱스를 시그널링할 수도 있다.
텍스쳐 뷰 성분과 유사하게, 8x8 심도 뷰 매크로블록 파티션에 대해 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션을 인터예측하는데 이용된 참조 텍스쳐 뷰 성분들을 식별하는 참조 픽쳐 리스트들을 구성하도록 구성될 수도 있다. 혼란을 피하기 위해, 참조 텍스쳐 뷰 성분들을 식별하는 참조 픽쳐 리스트들은 텍스쳐 뷰 RefPicList0 및 텍스쳐 뷰 RefPicList1 로서 지칭되며, 참조 심도 뷰 성분들을 식별하는 참조 픽쳐 리스트들은 심도 뷰 RefPicList0 및 심도 뷰 RefPicList1 로서 지칭된다.
이 예에서, 8x8 심도 뷰 매크로블록 파티션이 하나의 16x16 텍스쳐 뷰 매크로블록 파티션에 대응하는 경우, 텍스쳐 뷰 RefPicList0 및 텍스쳐 뷰 RefPicList1 로 식별된 텍스쳐 뷰 성분들은 심도 뷰 RefPicList0 및 심도 뷰 RefPicList1 로 식별된 심도 뷰 성분들에 대응한다. 예를 들어, 텍스쳐 뷰 RefPicList0 로 식별된 제 1 참조 텍스쳐 뷰 성분은 심도 뷰 RefPicList0 로 식별된 제 1 참조 식별 뷰 성분에 대응하며, 이하 동일하게 이루어진다.
심도 뷰 성분들은 자신들의 개별적인 픽쳐 순서 카운트 (POC) 값들로 또한 식별될 수도 있다. 일부 예들에서, 텍스쳐 뷰 성분에 대한 POC 값은 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분의 POC 값과 동일한 POC 값일 수도 있다. 예를 들어, 텍스쳐 뷰 성분에 대한 POC 값이 5 이면, 그 대응하는 심도 뷰 성분에 대한 POC 값은 또한 5 일 것이다. 그러나, 본 개시의 양상들은 이렇게 제한되는 것은 아니다.
일부 경우에, 텍스쳐 뷰 RefPicList0 및 텍스쳐 뷰 RefPicList1 및 심도 뷰 RefPicList0 및 심도 뷰RefPicList1 에서의 참조 픽쳐들의 순서는 상이할 수도 있다. 이 경우에, 심도 뷰 성분들에 이용된 참조 픽쳐는 텍스쳐 뷰 성분들의 것과 동일한 POC 값을 가질 수도 있지만, 심도 뷰 RefPicList0 및 심도 뷰 RefPicList1 에서의 참조 픽쳐 인덱스들은 텍스쳐 뷰 RefPicList0 및 텍스쳐 뷰 RefPicList1 에서의 텍스쳐 뷰 성분들의 참조 픽쳐 인덱스들과 상이할 수도 있다.
이 예들에서, 비디오 디코더 (36) 는 텍스쳐 뷰 RefPicList0 및/또는 텍스쳐 뷰 RefPicList1 에서의 참조 텍스쳐 뷰 성분(들) 의 POC 값 또는 값들을 결정한다. 텍스쳐 뷰 RefPicList0 및 텍스쳐 뷰 RefPicList1 및 심도 뷰 RefPicList0 및 심도 뷰 RefPicList1 의 참조 픽쳐들의 순서화가 상이하면, 비디오 디코더 (36) 는 참조 텍스쳐 뷰 성분(들) 로서 POC 값(들) 을 갖는참조 심도 뷰 성분(들) 을 식별하는 심도 뷰 RefPicList0 및/또는 심도 뷰RefPicList1 에서의 참조 인덱스를 결정한다. 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션을 인터 예측하는데 이용된 참조 심도 뷰 성분(들) 을 식별하기 위한 심도 뷰 RefPicList0 및 심도 뷰 RefPicList1 에서의 결정된 참조 인덱스를 이용한다.
다음 설명에서, 심도 뷰 성분들에 대한 참조 픽쳐 리스트들에서의 각각의 참조 픽쳐의 POC 가 텍스쳐 뷰 성분들에 대한 것과 동일하다 (예를 들어, 텍스쳐 뷰 RefPicList0 및/또는 텍스쳐 뷰 RefPicList1 에서의 POC 값들의 순서화가 심도 뷰 RefPicList0 및/또는 심도 뷰 RefPicList1 에서의 POC 값들과 동일하다) 고 본다. 다음 실시예들에서, 텍스쳐 뷰 RefPicList0 및/또는 텍스쳐 뷰 RefPicList1 에서의 POC 값들의 순서화가 심도 뷰 RefPicList0 및/또는 심도 뷰 RefPicList1 에서의 POC 값들과 상이한 것도 가능함을 알아야 한다. 이러한 경우, 비디오 디코더 (36) 는 위에 설명된 방식으로 심도 뷰 RefPicList0 및/또는 심도 뷰 RefPicList1 로의 참조 인덱스를 결정한다. 또한, 위에 주지된 바와 같이, (순서화에 무관하게) 심도 뷰 RefPicList0 및/또는 심도 뷰 RefPicList1 에 포함되지 않은 텍스쳐 뷰 RefPicList0 및/또는 텍스쳐 뷰 RefPicList1 에서의 POC 값이 존재하면, IVMP 는 그 심도 뷰 매크로블록에 대해 디스에이블될 수도 있다.
텍스쳐 뷰 RefPicList0 에서 식별된 "n번째" 참조 텍스쳐 뷰 성분으로부터 하나의 16x16 텍스쳐 뷰 매크로블록을 인터 예측하고 그 후, 8x8 심도 뷰 매크로블록 파티션을 디코딩하였다면, 비디오 디코더 (36) 는 (순서화는 동일한 것으로 보면) 심도 뷰 RefPicList0 에서 식별된 "n번째" 참조 심도 뷰 성분을 이용할 수도 있다. 텍스쳐 뷰 RefPicList0 및 텍스쳐 뷰 RefPicList1 의 각각의 하나로 식별된 두개의 참조 텍스쳐 뷰 성분들로부터 하나의 16x16 텍스쳐 뷰 매크로블록 파티션을 인터 예측하는 경우에도 동일하게 적용한다.
그러나, 픽쳐들의 순서화가 동일하지 않으면, 비디오 디코더 (36) 는 텍스쳐 뷰 픽쳐 리스트들의 참조 인덱스에 기초하여 심도 뷰 픽쳐 리스트들의 참조 인덱스를 결정한다. 예를 들어, 픽쳐들의 순서화 심도 뷰 참조 픽쳐 리스트들 및 텍스쳐 뷰 참조 픽쳐 리스트들에서 동일하지 않으면, 그 후, 비디오 인코더 (26) 는 텍스쳐 뷰 RefPicList0 에서 식별된 "n번째" 참조 텍스쳐 성분으로부터 하나의 16x16 텍스쳐 뷰 매크로블록 파티션을 인터 예측하면, 비디오 디코더 (36) 는 텍스쳐 뷰 RefPicList0 에서 식별된 "n번째" 참조 텍스쳐 뷰 성분의 POC 값을 결정한다. 비디오 디코더 (36) 는 그 후, "n번째" 참조 텍스쳐 뷰 성분의 POC 값과 동일한 POC 값을 갖는 심도 뷰 성분 식별하는 심도 뷰 RefPicList0 에서의 참조 인덱스를 결정한다. 이 예에서, 8x8 심도 뷰 매크로블록 파티션을 디코딩하기 위해, 비디오 디코더 (36) 는 심도 뷰 RefPicList0 에서의 결정된 참조 인덱스를 이용한다. 텍스쳐 뷰 RefPicList1 및 심도 뷰 RefPicList1 에 대해서도 동일하게 적용한다.
예를 들어, 비디오 디코더 (36) 는 텍스쳐 뷰 참조 픽쳐 리스트 (예를 들어, 텍스쳐 뷰 RefPicList0 및/또는 텍스쳐 뷰 RefPicList1) 에서 POC 값이 리스트되는 순서가 심도 뷰 참조 픽쳐 리스트 (예를 들어, 심도 뷰 RefPicList0 및/또는 심도 뷰 RefPicList1) 에서 POC 값이 리스트되는 순서와 상이하다고 결정할 수도 있다. 이 경우, 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스 정보를 결정하기 위해, 비디오 디코더 (36) 는 16x16 텍스쳐 뷰 매크로블록에 대한 참조 인덱스에 기초하여 텍스쳐 뷰 참조 픽쳐 리스트로 식별된 참조 텍스쳐 뷰 성분의 POC 값을 결정한다. 비디오 디코더 (36) 는 심도 뷰 참조 픽쳐 리스트의 참조 인덱스를 결정하며, 심도 뷰 참조 픽쳐 리스트의 참조 인덱스는 참조 텍스쳐 뷰 성분의 POC 값과 동일한 심도 뷰 참조 픽쳐 리스트에서의 POC 값을 식별한다.
이러한 방식으로, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스 정보를 결정하기 위하여 하나의 16x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 정보를 이용할 수도 있다. 예를 들어, 텍스쳐 뷰 성분들 및 심도 뷰 성분들에서의 POC 값들의 순서화가 동일한 경우에, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스 정보를 하나의 16x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 정보와 동일하게 설정할 수도 있다. 이 경우, 16x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 정보는 텍스쳐 뷰 RefPicList0 및 텍스쳐 뷰 RefPicList1 의 일방 또는 양방으로 지칭된다. 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션을 디코딩하기 위해 하나의 16x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 또는 인덱스들을 참조 인덱스 또는 인덱스들로서 심도 뷰 RefPicList0 및 심도 뷰 RefPicList1 의 일방 또는 양방으로 이용한다. 이 경우에, 비디오 인코더 (26) 는 비디오 인코더 (26) 측에서 구성된 텍스쳐 뷰 RefPicList0, 텍스쳐 뷰 RefPicList1, 심도 뷰 RefPicList0 및 심도 뷰 RefPicList1에 대하여 동일한 참조 인덱스 또는 인덱스들을 이용하여 하나의 16x16 텍스쳐 뷰 매크로블록 파티션 및 8x8 심도 뷰 매크로블록 파티션을 인코딩할 수도 있다.
POC 값들의 순서화가 텍스쳐 뷰 RefPicList0 및/또는 RefPicList1 및 심도 뷰 RefPicList0 및/또는 RefPicList1 에서 동일하지 않은 예에서, 비디오 디코더 (36) 는 위에 설명된 방식으로 심도 뷰 RefPicList0 및/또는 RefPicList1 으로의 참조 인덱스를 결정할 수도 있다. 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션을 디코딩하기 위해 심도 뷰 RefPicList0 및 심도 뷰 RefPicList1 의 일방 또는 양방에 대하여 결정된 참조 인덱스 또는 인덱스들을 이용할 수도 있다.
또한, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션이 하나의 16x16 텍스쳐 뷰 매크로블록 파티션에 대응하는 경우, 8x8 심도 뷰 매크로블록 파티션에 대한 서브 블록 파티션을 결정할 수도 있다. 예를 들어, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션의 서브 블록 파티션을 "하나의 8x8 서브블록" 으로 설정할 수도 있으며, 이는 8x8 심도 뷰 매크로블록 파티션이 추가로 파티셔닝될 수 없음을 의미한다.
상기 예들은 8x8 심도 뷰 매크로블록 파티션이 하나의 16x16 텍스쳐 뷰 매크로블록 파티션에 대응하는 상황을 설명한다. 다음은 8x8 심도 뷰 매크로블록 파티션이 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들에 대응하는 경우 비디오 인코더 (26) 및 비디오 디코더 (36) 에 의해 구현되는 기법들을 설명한다.
텍스쳐 뷰 매크로블록이 두개의 16x8 텍스쳐 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는 다음 예들에서, 기법들은 두개의 16x8 텍스쳐 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들 각각이 하나의 방향으로 인터 예측되는 경우 (예를 들어, RefPicList0 로 식별된 픽쳐 또는 RefPicList1 로 식별된 픽쳐에 대해 인터 예측되는 P-픽쳐 또는 P-슬라이스) 의 예들로 설명된다. 두개의 16x8 텍스쳐 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들이 양방향으로 인터 예측되는 경우 (예를 들어, RefPicList0 로 식별된 픽쳐 및 RefPicList1 로 식별된 픽쳐에 대해 인터 예측되는 B-픽쳐 또는 B-슬라이스) 의 예들에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 두개의 16x8 텍스쳐 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들이 RefPicList0 또는 RefPicList1 로 식별된 픽쳐에 대해 인터 예측 (즉, 하나의 방향으로 인터 예측) 되는 예들에 대해 아래 설명된 것과 유사한 기법들을 구현할 수도 있다.
이들 예들의 일부에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 파티션 모드를 "하나의 8x8 서브블록"인 것으로 (예를 들어, 8x8 심도 뷰 매크로블록 파티션의 추가적인 파티션은 없음) 결정하도록 구성될 수도 있다. 그러나, 본 개시물의 양태들은 이들로 제한되지 않고, 일부 경우들에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록에 대한 파티션 모드를 "하나의 8x8 서브블록"과는 상이하도록 결정한다. 이러한 방식으로, IVMP 가 인에이블되는 경우, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션들의 파티션 모드를 나타내는 정보를 수신할 필요 없이, 8x8 심도 뷰 매크로블록 파티션에 대한 파티션 모드를 결정하도록 구성된다. 또한, 이러한 방식으로, IVMP 가 인에이블되면, 비디오 인코더 (26) 는 8x8 심도 뷰 매크로블록 파티션의 파티션 모드를 나타내는 정보를 시그널링할 필요가 없다.
추가로, 다음 예들에서, 두개의 텍스쳐 뷰 매크로블록 파티션들에 대한 참조 인덱스 또는 인덱스들은 상이하고, 양쪽 모두 -1 과 같지 않다. 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 각각 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들 각각에 대한 참조 텍스쳐 뷰 성분 또는 성분들을 식별하는 참조 인덱스 또는 인덱스들은 상이하다. 즉, 텍스쳐 뷰 매크로블록이 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되면, 참조 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들에 대한 인덱스 또는 인덱스들이 상이한 경우에, 텍스쳐 뷰 매크로블록 파티션들 각각은 상이한 참조 텍스쳐 뷰 성분 또는 성분들에 대해 인터 예측된다. 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들 각각에 대한 인덱스 또는 인덱스들이 동일한 경우의 상황은 다음 예들에서 보다 자세하게 설명된다.
일례로서, 8x8 심도 뷰 매크로블록 파티션이 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들에 대응하는 경우, 참조 인덱스 및 모션 벡터는 두개의 텍스쳐 뷰 매크로블록 파티션들 중 하나 (즉, 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 하나 또는 두개의 8x16 중 하나) 로부터만 예측될 수도 있다. 예를 들어, 이 경우, 적어도 두개의 가능한 참조 인덱스 및 모션 벡터 정보가, 16x8 또는 8x16 텍스쳐 뷰 매크로블록 중 첫번째 것으로부터 하나 및 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들 중 두번째 것으로부터 하나가 존재한다. 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스 및 모션 벡터 정보로서 두 개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들 중 적어도 하나에 대한 참조 인덱스 및 모션 벡터 정보를 선택하도록 구성된다.
일부 예들에서, 비디오 디코더 (36) 는 16x16 텍스쳐 뷰 매크로블록 내의 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들의 로케이션들 및 16x16 심도 뷰 매크로블록 내의 8x8 심도 뷰 매크로블록 파티션의 로케이션에 기초하여 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션 중 하나를 선택한다. 예를 들어, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션이 심도 뷰 매크로블록 내에 포함하고 있는 텍스쳐 뷰 매크로블록 내의 동일한 영역을 포함하는 텍스쳐 뷰 매크로블록 파티션을 선택한다. 비디오 디코더 (36) 는 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션 중 선택된 하나의 참조 인덱스 및 모션 벡터 정보를 사용하여, 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들을 포함하는 16x16 텍스쳐 뷰 메크로블록에 대응하는 8x8 심도 뷰 매크로블록 파티션의 참조 인덱스 및 모션 벡터 정보를 결정한다. 이 기법은 도 6 에 더욱 설명된다.
도 6 은 심도 뷰 파티션에 대한 모션 벡터 정보 및 참조 인덱스를 결정하기 위한 텍스쳐 뷰 블록들 및 심도 뷰 블록들의 개념도이다. 도 6 은 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들 (즉, 텍스쳐 뷰 파티션 (40A) 및 텍스쳐 뷰 파티션 (40B)) 으로 파티셔닝되는 텍스쳐 뷰 매크로블록 (39) 을 나타낸다. 도 6 을 참조로 설명된 기법들은 텍스쳐 뷰 매크로블록 (39) 이 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는 경우들에 동등하게 적용가능함을 알아야 한다. 도 6 은 또한 4 개의 8x8 심도 뷰 매크로블록 파티션들 (즉, 심도 뷰 파티션 (42A-42D)) 으로 파티셔닝되는 심도 뷰 매크로블록 (41) 을 나타낸다.
텍스쳐 뷰 파티션 (40A 및 40B) 의 각각의 하나는 자신의 독립적인 모션 정보를 가질 수도 있다. 예를 들어, 텍스쳐 뷰 파티션 (40A) 에 대한 참조 인덱스 또는 인덱스들은 텍스쳐 뷰 인덱스 (40B) 의 참조 인덱스 또는 인덱스들과 상이하다. 예를 들어, 텍스쳐 뷰 파티션 (40A) 에 대한 모션 벡터는 텍스쳐 뷰 인덱스 (40B) 의 모션 벡터와 상이하다.
도 6 의 실시예에서, IVMP 가 심도 뷰 매크로블록 (41) 에 대해 인에이블되면, 비디오 디코더 (36) 는 심도 뷰 파티션들 (42A-42D) 의 각각의 하나에 대한 참조 인덱스 및 모션 벡터 정보를 결정하는 것이 가능하다. 위에서와 같이, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4 인 것으로 본다. 이 예들에서, 8x8 심도 뷰 매크로블록 파티션들 (42A-42D) 각각은 하나의 16x16 텍스쳐 뷰 매크로블록에 대응한다.
예를 들어, 8x8 심도 뷰 매크로블록 파티션 (42A) 은 16x16 텍스쳐 뷰 매크로블록 (39) 에 대응한다. 이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42A) 이 16x16 심도 뷰 매크로블록 (41) 의 상단 좌측 코너를 포함하고 있다고 결정한다. 비디오 디코더 (36) 는 또한 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 이 16x16 텍스쳐 뷰 매크로블록 (39) 의 상단 좌측 코너를 포함하고 있다고 결정한다. 따라서, 이 예에서, 8x8 심도 뷰 매크로블록 파티션 (42A) 에 대한 참조 인덱스 및 모션 벡터 정보를 결정하기 위해, 비디오 디코더 (36) 는 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 을 선택하는데, 그 이유는 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 이 8x8 심도 뷰 매크로블록 파티션 (42A) 이 심도 뷰 매크로블록 (41) 을 포함하는 텍스쳐 뷰 매크로블록 내에서의 동일한 영역을 포함하기 때문이다.
즉, 비디오 디코더 (36) 는 두개의 텍스쳐 뷰 블록 파티션들 (예를 들어, 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 또는 8x16 텍스쳐 뷰 매크로블록 파티션 (40B)) 중 어느 것이 심도 뷰 블록 (예를 들어, 심도 뷰 매크로블록 (41)) 의 적어도 하나의 파티션 (예를 들어, 8x8 심도 뷰 매크로블록 (42A)) 이 심도 뷰 블록에 대해 위치되는 경우의 텍스쳐 뷰 블록 (예를 들어, 텍스쳐 뷰 매크로블록 (39)) 에 대하여 적어도 동일한 영역을 포함하는지를 결정한다. 본 개시물에 설명된 기법들에서, 심도 뷰 블록의 적어도 하나의 파티션이 심도 뷰 블록에 대해 위치되는 경우의 텍스쳐 뷰 블록에 대하여 적어도 동일한 영역을 포함하는 텍스쳐 뷰 블록 파티션이 텍스쳐 뷰 블록의 중심에 보다 가깝게 위치된 텍스쳐 뷰 블록 파티션으로서 간주될 수도 있다.
예를 들어, 8x16 텍스쳐 뷰 매크로블록 (40A) 은 8x8 심도 뷰 파티션 (42A) 이 16x16 심도 뷰 매크로블록 (41) 에 대해 위치되는 경우의 텍스쳐 뷰 매크로블록 (39) 에 대하여 적어도 동일한 영역을 포함한다. 이 경우, 비디오 디코더 (36) 는 그 모션 정보가 8x8 심도 뷰 매크로블록 파티션 (42A) 에 대한 모션 정보를 결정하는데 이용되는 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 을 선택한다.
이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42A) 에 대한 심도 뷰 RefPicList0 및/또는 심도 뷰 RefPicList1 으로의 참조 인덱스가 8x8 텍스쳐 뷰 매크로블록 파티션 (40A) 에 대한 텍스쳐 뷰 RefPicList0 및/또는 텍스쳐 뷰 RefPicList1 으로의 참조 인덱스와 동일하다고 결정할 수도 있다. 비디오 디코더 (36) 는 아래 설명된 바와 같이, 8x8 심도 뷰 매크로블록 파티션 (42A) 의 모션 벡터(들)을 결정하기 위해 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 의 모션 벡터(들)에 대해 스케일링을 수행할 수도 있다. 이러한 방식으로, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42A) 에 대한 참조 인덱스 및 모션 벡터 정보를 비디오 인코더 (26) 에 의해 시그널링된 코딩된 비트스트림으로 수신할 필요 없이, 8x8 심도 뷰 매크로블록 파티션 (42A) 에 대한 참조 인덱스 및 모션 벡터 정보를 결정가능할 수도 있다.
다른 예로서, 8x8 심도 뷰 매크로블록 파티션 (42B) 이 16x16 텍스쳐 뷰 매크로블록 (39) 에 대응한다고 본다. 이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42B) 이 16x16 심도 뷰 매크로블록 (41) 의 상단 우측 코너를 포함하고 있다고 결정한다. 비디오 디코더 (36) 는 또한 8x16 텍스쳐 뷰 매크로블록 파티션 (40B) 이 16x16 텍스쳐 뷰 매크로블록 (39) 의 상단 우측 코너를 포함하고 있다고 결정한다. 예를 들어, 8x16 텍스쳐 뷰 매크로블록 (40B) 은 8x8 심도 뷰 매크로블록 파티션 (42B) 이 16x16 심도 뷰 매크로블록 (41) 에 대해 위치되는 경우의 텍스쳐 뷰 매크로블록 (39) 에 대하여 적어도 동일한 영역을 포함한다.
따라서, 이 예에서, 8x8 심도 뷰 매크로블록 파티션 (42B) 에 대한 참조 인덱스 및 모션 벡터 정보를 결정하기 위해, 비디오 디코더 (36) 는 8x16 텍스쳐 뷰 매크로블록 파티션 (40B) 을 선택하는데, 그 이유는 8x16 텍스쳐 뷰 매크로블록 파티션 (40B) 이 8x8 심도 뷰 매크로블록 파티션 (42B) 이 심도 뷰 매크로블록 (41) 을 포함하는 텍스쳐 뷰 매크로블록 내에서의 동일한 영역을 포함하기 때문이다. 이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42A) 에 대하여 위의 예에서 설명된 바와 같이 8x8 심도 뷰 매크로블록 파티션 (42B) 에 대한 참조 인덱스 및 모션 벡터 정보를 유사하게 결정한다.
다른 예로서, 8x8 심도 뷰 매크로블록 파티션 (42C) 이 16x16 텍스쳐 뷰 매크로블록 (39) 에 대응한다고 본다. 이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42C) 이 16x16 심도 뷰 매크로블록 (41) 의 하단 좌측 코너를 포함하고 있다고 결정한다. 비디오 디코더 (36) 는 또한 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 이 16x16 텍스쳐 뷰 매크로블록 (39) 의 하단 좌측 코너를 포함하고 있다고 결정한다. 따라서, 이 예에서, 8x8 심도 뷰 매크로블록 파티션 (42C) 에 대한 참조 인덱스 및 모션 벡터 정보를 결정하기 위해, 비디오 디코더 (36) 는 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 을 선택하는데, 그 이유는 8x16 텍스쳐 뷰 매크로블록 파티션 (40A) 이 8x8 심도 뷰 매크로블록 파티션 (42C) 이 심도 뷰 매크로블록 (41) 을 포함하는 텍스쳐 뷰 매크로블록 내에서의 동일한 영역을 포함하기 때문이다. 이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42A) 에 대하여 위의 예에서 설명된 바와 같이 8x8 심도 뷰 매크로블록 파티션 (42C) 에 대한 참조 인덱스 및 모션 벡터 정보를 유사하게 결정한다.
다른 예로서, 8x8 심도 뷰 매크로블록 파티션 (42D) 이 16x16 텍스쳐 뷰 매크로블록 (39) 에 대응한다고 본다. 이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42D) 이 16x16 심도 뷰 매크로블록 (41) 의 하단 우측 코너를 포함하고 있다고 결정한다. 비디오 디코더 (36) 는 또한 8x16 텍스쳐 뷰 매크로블록 파티션 (40B) 이 16x16 텍스쳐 뷰 매크로블록 (39) 의 하단 우측 코너를 포함하고 있다고 결정한다. 따라서, 이 예에서, 8x8 심도 뷰 매크로블록 파티션 (42D) 에 대한 참조 인덱스 및 모션 벡터 정보를 결정하기 위해, 비디오 디코더 (36) 는 8x16 텍스쳐 뷰 매크로블록 파티션 (40B) 을 선택하는데, 그 이유는 8x16 텍스쳐 뷰 매크로블록 파티션 (40B) 이 8x8 심도 뷰 매크로블록 파티션 (42D) 이 심도 뷰 매크로블록 (41) 을 포함하는 텍스쳐 뷰 매크로블록 내에서의 동일한 영역을 포함하기 때문이다. 이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션 (42A) 에 대하여 위의 예에서 설명된 바와 같이 8x8 심도 뷰 매크로블록 파티션 (42D) 에 대한 참조 인덱스 및 모션 벡터 정보를 유사하게 결정한다.
위의 예들에서, 비디오 디코더 (36) 는 심도 뷰 매크로블록 파티션이 심도 뷰 매크로블록 내에 포함하고 있는 텍스쳐 뷰 매크로블록 내의 동일한 영역을 포함하는 텍스쳐 뷰 매크로블록 파티션을 선택하였다. 그러나, 본 개시의 양상들은 이렇게 제한되는 것은 아니다. 일부 예들에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록의 모션 정보가 결정되는 텍스쳐 뷰 매크로블록 파티션으로서, 텍스쳐 뷰 성분의 중심에 더 가까운 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션 중 하나를 하나를 선택한다. 대안으로서, 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션 중, 더 작은 참조 인덱스 또는 인덱스들을 갖는 하나가 8x8 심도 뷰 매크로블록의 모션 정보가 결정되는 텍스쳐 뷰 매크로블록 파티션으로서 선택된다. 대안으로서, IVMP 는 이 심도 매크로블록에 대하여 거짓으로서 설정된다 (즉, 디스에이블된다).
비디오 디코더 (36) 가 심도 뷰 매크로블록 파티션에 대한 모션 정보를 결정하는 예에서, 대응하는 텍스쳐 뷰 매크로블록이 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는 경우, 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들에 대한 참조 인덱스 또는 인덱스들이 상이하고, -1 과 같지 않은 것으로 본다. 이 예에서, 비디오 디코더 (36) 는 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들 중 하나를 선택하고 모션 정보를 이용하여, 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는 텍스쳐 뷰 매크로블록에 대응하는 8x8 심도 뷰 매크로블록 파티션에 대한 모션 정보를 결정한다.
일례로서, 비디오 디코더 (36) 가 텍스쳐 뷰 매크로블록 내의 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들 중 첫번째 8x16 텍스쳐 뷰 매크로블록을 선택했다고 본다. 이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션을 디코딩하는데 이용된 참조 심도 뷰를 식별하기 위해 참조 인덱스 또는 인덱스들로서 첫번째 8x16 텍스쳐 뷰 매크로블록의 참조 텍스쳐 뷰 성분 또는 성분들을 식별하는데 이용된 참조 인덱스 또는 인덱스를 이용한다. 유사하게, 이 예에서, 비디오 인코더 (26) 는 8x8 심도 뷰 매크로블록 파티션을 인코딩하는데 이용된 참조 심도 뷰를 식별하기 위해 참조 인덱스 또는 인덱스들로서 첫번째 8x16 텍스쳐 뷰 매크로블록의 참조 텍스쳐 뷰 성분 또는 성분들을 식별하는데 이용된 참조 인덱스 또는 인덱스를 이용한다.
이들 예에서, 비디오 디코더 (36) 및 비디오 인코더 (26) 는 또한 8x8 심도 뷰 매크로블록 파티션을 각각 디코딩 또는 인코딩하기 위하여 첫번째 8x16 텍스쳐 뷰 매크로블록 파티션의 모션 벡터 정보를 이용한다. 예를 들어, 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들을 인터 예측하는데 이용된 참조 텍스쳐 뷰 성분을 식별하는 것에 더하여, 비디오 인코더 (26) 는 또한 두개의 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들 각각에 대한 모션 벡터를 식별한다. 이 예에서, 비디오 디코더 (36) 는 첫번째 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 모션 벡터를 결정하고, 결정된 첫번째 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 결정된 모션 벡터에 기초하여 8x8 심도 뷰 매크로블록 파티션에 대한 모션 벡터를 결정한다.
예를 들어, 텍스쳐 뷰 성분과 심도 뷰 성분에서의 공간 차이 때문에, 비디오 디코더 (36) 는 첫번째 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 결정된 모션 벡터의 모션 벡터의 추가적인 스케일링을 수행할 필요가 있을 수도 있다. 이러한 스케일링은 보다 자세히 아래 설명된다.
일부 대안의 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션과 동일한 영역을 포함하는 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 또는 인덱스들 및 모션 벡터를 이용하기 보다는, 비디오 디코더 (36) 는 보다 작은 참조 인덱스 또는 인덱스들을 갖는 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 또는 인덱스들 또는 모션 벡터를 이용한다. 예를 들어, 첫번째 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스가 두번째 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 보다 작다면, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션을 인터예측하기 위하여 첫번째 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 및 모션 벡터를 이용한다. 두번째 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스가 첫번째 8x16 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스보다 작은 경우에 반대로 발생한다. 텍스쳐 뷰 매크로블록이 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는 경우에 동일한 기법들이 적용된다.
앞의 예들은 8x8 심도 뷰 매크로블록 파티션이 인터 예측되는 방식을 결정하기 위한, 두개의 8x16 및 16x8 텍스쳐 뷰 매크로블록 파티션들에 대한 인덱스 또는 인덱스들이 상이한 경우에 대한 일부 예시적인 구현들을 설명하였다. 그러나, 두개의 8x16 및 16x8 텍스쳐 뷰 매크로블록 파티션들에 대한 인덱스 또는 인덱스들이 상이한 경우에 대한 다른 구현들이 있을 수도 있다. 예를 들어, 참조 인덱스 또는 인덱스들 정보의 어느 것을 이용하거나 또는 모션 벡터 정보의 어느 것을 이용하기 보다는, 비디오 인코더 (26) 는 IVMP 플래그를 거짓으로서 시그널링할 수도 있다 (즉, IVMP 가 디스에이블됨). 위에 설명된 바와 같이, IVMP 가 디스에이블되는 경우, 비디오 디코더 (36) 는 모션 정보를 이용하지 않을 수도 있고, 그 대신에, 8x8 심도 뷰 매크로블록 파티션을 인터 예측 (예를 들어, 디코딩) 하기 위하여 비디오 디코더 (36) 에 의해 이용되는 모션 정보를 정의하는 신택스 엘리먼트들을 수신할 수도 있다.
다른 예로서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들에 대한 모션 벡터들에 대한 매핑 팩터를 결정할 수도 있다. 매핑 팩터는 인터 예측에 이용된 참조 텍스쳐 뷰 성분들의 POC (picture order count) 값에 기초할 수도 있다. POC 값은 텍스쳐 뷰 성분들의 디스플레이 또는 출력 순서를 나타내는 수치 값이다. 예를 들면, 하위 POC 값을 갖는 텍스쳐 뷰 성분은 상위 POC 값을 갖는 텍스쳐 뷰 성분 보다 빨리 디스플레이 또는 출력된다.
예를 들어, 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 하나가 RefA 로서 지칭되는 참조 텍스쳐 뷰 성분으로 인터 예측되고 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 다른 하나가 RefB 로 지칭되는 참조 텍스쳐 뷰 성분으로 인터 예측된다고 본다. RefPicList0 또는 RefPicList1 에서 RefA 에 대한 참조 인덱스는 ref_idxA 일 수도 있고, RefPicList0 또는 RefPicList1 에서의 RefB 에 대한 참조 인덱스는 ref_idxB 일 수도 있다. 이 예에서, 비디오 인코더 (26) 는 ref_idxA and ref_idxB 의 값들을 시그널링할 수도 있고 ref_idxA 및 ref_idxB 가 RefPicList0 또는 RefPicList1 를 지칭하는지의 여부를 나타낼 수도 있다. 비디오 디코더 (30) 는 그 후, ref_idxA 및 ref_idxB 인덱스 값들에 기초하여 RefPicList0 또는 RefPicList1 를 인덱싱함으로써 RefA 및 RefB 에 대한 POC 값을 결정할 수도 있다.
비디오 인코더 (26) 및 비디오 디코더 (36) 는 매핑 팩터를 결정하기 위해 다음 식을 구현할 수 있다.
매핑 팩터 = (POC(RefB) - POC(CurrP))/(POC(RefA)-(POC(CurrP)).
상기 식에서, CurrP 는 현재의 텍스쳐 뷰 성분을 지칭하고, POC(CurrP) 는 현재의 텍스쳐 뷰 성분의 POC 값을 지칭하고, POC(RefB) 는 RefB 의 POC 값을 지칭하고 POC(RefA) 는 RefA 의 POC 값을 지칭한다.
이 예시적인 구현예에서, ref_idxA 의 값은 ref_idxB 의 값보다 크다. 즉, RefA 는 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중, 보다 큰 참조 인덱스 값을 갖는 하나에 대한 참조 텍스쳐 뷰 성분일 수도 있고, RefB 는 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중, 보다 작은 참조 인덱스 값을 갖는 다른 하나에 대한 참조 텍스쳐 뷰 성분일 수도 있다.
매핑 팩터에 의해, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 보다 큰 참조 인덱스를 가진 하나의 모션 벡터를 보다 작은 참조 인덱스를 가진 모션 벡터에 매핑할 수도 있다. 예를 들어, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션 중, 더 큰 참조 인덱스 값을 가진 하나에 대한 모션 벡터의x및 y 성분들에 매핑 팩터를 곱할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는 그 후, 8x8 심도 뷰 매크로블록 파티션에 대한 모션 벡터를 결정하기 위하여 결과적인 매핑된 모션 벡터 값을 이용할 수도 있다. 예를 들어, 이 예들에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 아래 보다 자세히 설명될 바와 같이, 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이하기 때문에 매핑된 모션 벡터 값을 추가로 스케일링하는 것이 필요할 수도 있다.
이 방식으로, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 이 예시적인 구현에서, 8x8 심도 뷰 성분에 대한 모션 벡터를 결정할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스를 결정할 수도 있고 보다 큰 참조 인덱스 값에 매핑 팩터를 곱할 수도 있다. 이 방식으로, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 이 예시적인 구현에서, 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스를 결정할 수도 있다. 이 예시적인 구현에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 텍스쳐 뷰 매크로블록 파티션들이 각각 16x8 또는 8x16 텍스쳐 뷰 매크로블록 파티션들인지의 여부에 기초하여 "두개의 8x4 서브블록들" 또는 "두개의 4x8 서브블록들"로서 8x8 심도 뷰 매크로블록 파티션에 대한 해당 서브블록 파티션을 결정할 수도 있다.
일부 예들에서, 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 하나에 대한 참조 텍스쳐 뷰 성분들이 인터뷰 텍스쳐 뷰 성분 (예를 들어, 현재의 텍스쳐 뷰 성분과 동일한 뷰에 있지 않은 텍스쳐 뷰 성분) 이면 비디오 인코더 (26) 및 비디오 디코더 (36) 는 상술한 바와 같이 매핑 기법들을 구현하지 않을 수도 있다. 다만, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 비디오 디코더 (36) 가, 8x8 심도 뷰 매크로블록 파티션이 심도 뷰 매크로블록에서 수반하는 텍스쳐 뷰 매크로블록에서의 동일한 영역을 포함하는, 8x16 또는 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 모션 정보를, 8x8 심도 뷰 매크로블록 파티션에 대한 모션 정보로서 이용하는 경우에 설명된 기법들을 구현할 수도 있다.
상기 예들 중 일부에서, 텍스쳐 뷰 매크로블록은 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되며, 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 각각은 상이한 참조 텍스쳐 뷰 성분들로 인터 예측되었다 (즉, 각각의 파티션에 대한 참조 인덱스가 상이하였다). 일부 예들에서, 몇몇 참조 픽쳐 리스트의 양쪽 참조 인덱스들이 -1 이다 (예를 들어, 참조 픽쳐 리스트x(X 는 0 또는 1 과 같다) 에 대해, 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 하나에 대한 참조 인덱스와 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 다른 하나에 대한 참조 인덱스는 -1 이다). 참조 인덱스들 양쪽 모두가 -1 인 경우, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션이 RefPicListX 로부터 예측되지 않고 다만 몇몇 다른 참조 텍스쳐 뷰 성분들 (예를 들어, RefPicList(1-X)) 로부터 예측된다고 결정할 수도 있다. 즉, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록이 인덱스 값이 -1 과 같지 않은 인덱스 값을 갖는 참조 픽쳐 리스트로부터 예측된다고 결정할 수도 있다.
이 경우에, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 하나에 대한 참조 픽쳐 리스트 (1-X) 에서 모션 벡터 정보 및 참조 픽쳐 인덱스를 유도하여 8x8 심도 뷰 매크로블록 파티션에 대한 모션 벡터 정보를 결정할 수도 있다. 예를 들어, 16x16 텍스쳐 뷰 매크로블록이 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션 및 두번째 16x8 텍스쳐 뷰 매크로블록 파티션으로 파티셔닝된다고 본다.
텍스쳐 뷰 참조 픽쳐 리스트x(X 는 0 또는 1 임) 에서의 참조 인덱스가 -1 이면 (이는 첫번째 및 두번째 16x8 텍스쳐 뷰 매크로블록 파티션들이 참조 픽쳐 리스트 (X) 에 대응하는 방향으로부터 예측되지 않음을 의미한다), 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 참조 픽쳐 리스트x에서 대응하는 8x8 심도 뷰 매크로블록 파티션의 참조 인덱스를 -1 과 같도록 설정할 수도 있다. 예를 들어, 첫번째 및 두번째 16x8 텍스쳐 뷰 매크로블록 파티션들에 대한 참조 인덱스가 -1 이면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 -1 과 동일한 심도 뷰에 대한 참조 인덱스 (RefPicList0) 를 -1 과 같도록 설정할 수도 있다. 심도 뷰 RefPicList1 에 대한 참조 인덱스에 대해, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 (첫번째 및 두번째 16x8 텍스쳐 뷰 매크로블록 파티션들에 대한 텍스쳐 뷰 RefPicList1 에 대한 참조 인덱스가 상이하다고 보면) 첫번째 및 두번째 16x8 텍스쳐 뷰 매크로블록 중 어느 하나가 동일한 영역을 8x8 심도 뷰 매크로블록 파티션과 동일한 영역을 포함하는지를 결정할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 RefPicList1 에 대한 참조 인덱스를, 8x8 심도 뷰 매크로블록 파티션들과 동일한 영역을 포함하는 16x8 텍스쳐 뷰 매크로블록 파티션의 텍스쳐 뷰 RefPicList1 의 참조 인덱스와 동일하게 설정할 수도 있다.
이 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션의 파티션 모드를 "하나의 8x8 서브블록"으로 설정할 수도 있다. 또한, 이 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록이 16x16 심도 뷰 매크로블록을 포함하는 텍스쳐 뷰 매크로블록에서 동일한 영역을 포함하는 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 모션 벡터 정보에 기초하여 8x8 심도 뷰 매크로블록 파티션에 대한 모션 벡터 정보를 결정할 수도 있다.
이전의 예들은 16x16 텍스쳐 뷰 매크로블록이 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는 조건을 설명하고 있지만, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 16x16 텍스쳐 뷰 매크로블록이 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는 예들에서 유사한 기법들을 구현할 수도 있다. 또한, 이전 실시예는 RefPicList0 에 대한 참조 인덱스가 -1 인 조건을 설명하고 있지만, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 RefPicList1 에 대한 참조 인덱스가 -1 인 조건들에 대해 유사한 기법들을 구현할 수도 있다.
일부 실시예들에서, 하나의 참조 인덱스가 -1 이고 동일한 참조 픽쳐 리스트에서의 다른 하나의 참조 인덱스가 -1 이 아니면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 대응하는 8x8 심도 뷰 매크로블록 파티션의 참조 인덱스를 -1 과 같지 않은 텍스쳐 뷰 매크로블록 파티션의 참조 인덱스와 동일하게 설정할 수도 있다. 예를 들어, 이전 실시예에 따라서, 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList0 가 "A" 이고 (여기에서 A 는 -1 과 같지 않음), 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList1 가 -1 인 것으로 본다. 또한, 두번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList0 가 "B" 이고 (여기에서 B 는 -1 과 같지 않음), 두번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList1 가 -1 인 것으로 본다.
이 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 심도 뷰 RefPicList1 에 대한 참조 인덱스가 "C" 라고 결정할 수도 있는데, 이는 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList1 에 대한 참조 인덱스가 -1 이고 두번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList1 에 대한 참조 인덱스가 C 이기 때문이다. 즉, 심도 뷰 RefPicList1 에 대해, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 매크로블록 파티션에 대한 참조 인덱스를 -1 과 같지 않은 텍스쳐 뷰 매크로블록 파티션의 참조 인덱스로 설정할 수도 있다.
다른 예로서, 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList0 에 대한 참조 인덱스가 "D" 이고 (여기에서 D 는 -1 과 같지 않음), 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList1 가 -1 인 것으로 본다. 또한, 두번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList0 에 대한 참조 인덱스가 "-1" 이고, 두번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList1 가 "E" (여기에서 E 는 -1 과 같지 않음) 인 것으로 본다.
이 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 심도 뷰 RefPicList0 에 대한 참조 인덱스가 D 라고 결정할 수도 있는데, 이는 D 가 -1 과 같지 않은 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList0 에 대한 참조 인덱스이기 때문이다. 또한, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 심도 뷰 RefPicList1 에 대한 참조 인덱스가 E 라고 결정할 수도 있는데, 이는 E 가 -1 과 같지 않은 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList1 에 대한 참조 인덱스이기 때문이다.
참조 픽쳐 리스트들 각각에 대해 참조 인덱스들 중 하나가 -1 이고 다른 하나가 -1 이 아닌 상술한 예들 중 어느 것에서도, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스로서 이용된 참조 인덱스를 갖는 텍스쳐 뷰 매크로블록에 대한 모션 벡터 정보에 기초하여 8x8 심도 뷰 매크로블록 파티션에 대한 모션 벡터 정보를 결정할 수도 있다. 예를 들어, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 -1 과 같지 않은 참조 인덱스를 가진 16x8 텍스쳐 뷰 매크로블록 파티션의 모션 벡터 정보를 이용할 수도 있다 (예를 들어, 두번째 16x8 텍스쳐 뷰 매크로블록 파티션이 갖는 RefPicList1 에 대한 참조 인덱스는 C 이고, 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션이 갖는 RefPicList0 에 대한 참조 인덱스는 D 이고, 두번째 16x8 텍스쳐 뷰 매크로블록 파티션이 갖는 RefPicList1 에 대한 참조 인덱스는 E 이다).
비디오 인코더 (26) 및 비디오 디코더 (36) 가, 심도 뷰 RefPicList1 로의 참조 인덱스를 C 인 것으로 결정하였던 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 RefPicList0 로의 참조 인덱스를 결정하는 것이 여전히 필요할 수도 있다. 이 경우, 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList0 로의 참조 인덱스가 두번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 텍스쳐 뷰 RefPicList1 로의 참조 인덱스와 상이하다면 (예를 들어, 상기 예에서, A 는 B 와 같지 않음), 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션이 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션 및 두번째 16x8 텍스쳐 뷰 매크로블록 파티션과 동일한 영역을 포함하는지 여부를 결정할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는, 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션이 8x8 심도 뷰 매크로블록 파티션과 동일한 영역을 포함하면 심도 뷰 RefPicList0 에 대한 참조 인덱스를 A 인 것으로 결정할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는, 두번째 16x8 텍스쳐 뷰 매크로블록 파티션이 8x8 심도 뷰 매크로블록 파티션과 동일한 영역을 포함하면 심도 뷰 RefPicList0 에 대한 참조 인덱스를 B 인 것으로 결정할 수도 있다.
이 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 RefPicList0 로 식별된 참조 픽쳐에 대한 8x8 심도 뷰 매크로블록 파티션에 대한 모션 벡터 정보를 결정하기 위해 8x8 심도 뷰 매크로블록 파티션과 동일한 영역을 포함하는 16x8 텍스쳐 뷰 매크로블록에 대한 모션 벡터 정보를 이용할 수도 있다. 또한, 이 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션들에 대한 파티션 모드를 "하나의 8x8 서브블록"으로 설정할 수도 있다.
이전의 예들 중 일부에서, 텍스쳐 뷰 매크로블록은 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되었으며, 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들에 대한 참조 인덱스들은 상이하였고 -1 과 같지 않았거나, 둘다 -1 이였거나, 또는 하나는 -1 였고, 다른 하나는 -1 이 아니였다. 이들 이전 실시예들은 대응하는 8x8 심도 뷰 매크로블록 파티션에 대한 모션 정보를 결정하기 위하여, 참조 인덱스, 모션 벡터 및 파티션 모드 정보와 같은 모션 정보를 이용하기 위한 예시적인 구현들을 설명하였다.
다음 실시예들은 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스들이 동일하고 참조 인덱스들 중 적어도 하나가 -1 이 아닌 경우의 예시적인 구현들을 설명한다. 예를 들어, 상기 예들에서, 첫번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 값 A 는 두번째 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스 값 B 와 같지 않은 것으로 보았다. 그러나, 일부 경우에, A 와 B 는 동일할 수도 있다.
두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스들이 동일한 예들에서도, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 위에서 설명된 기법들과 유사한 기법들을 구현할 수도 있음을 알아야 한다. 다음 실시예들은 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 참조 인덱스들이 동일하고 참조 인덱스들 중 적어도 하나가 -1 이 아닌 경우의 다음 기법들은 일례로서 제공되며 제한적인 것으로서 고려되지 않아야 한다.
이 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스 또는 인덱스들이 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션의 어느 것에 대한 참조 인덱스들과 동일하다고 결정할 수도 있는데, 이는 참조 인덱스 양쪽 모두가 동일하기 때문이다. 또한, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 대응하는 텍스쳐 뷰 매크로블록이 각각 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는지 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는지의 여부에 기초하여 8x8 심도 뷰 매크로블록 파티션에 대한 서브블록 파티션이 "두개의 8x4 서브블록들"또는 "두개의 4x8 서브블록들"이라고 결정할 수도 있다.
모션 벡터에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 텍스쳐 뷰 매크로블록 파티션들의 대응하는 모션 벡터들 각각에 대한 모션 벡터를 이용할 수도 있다. 예를 들어, 텍스쳐 뷰 매크로블록이 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되기 때문에 8x8 심도 뷰 매크로블록 파티션이"두개의 8x4 서브블록들"로 파티셔닝되면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 상단 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 모션 벡터에 기초하여 8x8 심도 뷰 매크로블록 파티션의 상단 8x4 서브블록에 대한 모션 벡터를 결정할 수도 있고, 하단 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 모션 벡터에 기초하여 8x8 심도 뷰 매크로블록 파티션의 하단 8x4 서브블록에 대한 모션 벡터를 결정할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는 이와 유사하게, 대응하는 16x16 텍스쳐 뷰 매크로블록의 좌측 및 우측 8x16 텍스쳐 뷰 매크로블록 파티션들에 기초하여 8x8 심도 뷰 매크로블록 파티션의 4x8 서브블록들에 대한 모션 벡터들을 결정할 수도 있다.
이전 실시예들의 일부에서, 테스쳐 뷰 매크로블록은 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되었으며, 여기에서, 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들에 대한 참조 픽쳐 리스트들 중 적어도 하나는 동일하고 -1 과 같지 않았다. 이러한 방식으로, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 대응하는 텍스쳐 뷰 매크로블록이 각각 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는지 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는지의 여부에 기초하여 8x8 심도 뷰 매크로블록 파티션에 대한 서브블록 파티션이 "두개의 8x4 서브블록들"또는 "두개의 4x8 서브블록들"이라고 결정할 수도 있다. 그렇지 않으면 (각각의 참조 픽쳐 리스트에 대해, 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들에 대한 참조 인덱스가 상이하고 -1 과 같지 않거나, 또는 둘다 -1이거나 또는 하나가 -1이고 다른 하나가 -1 이 아니면), 8x8 심도 뷰 매크로블록 파티션에 대한 서브 블록 파티션은 "하나의 8x8 서브블록"으로 설정된다 (예를 들어, 8x8 심도 뷰 매크로블록 파티션의 더 이상의 추가 파티셔닝이 없다).
위에 설명된 바와 같이, IVMP 가 인에이블되면 (즉, 실시예들은 비디오 인코더 (26) 및 비디오 디코더 (36) 가 8x8 심도 뷰 매크로블록 파티션에 대한 모션 정보를 결정하기 위해 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 하나로부터의 모션 정보를 이용하는 것으로 위에 설명하였음), 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 참조 인덱스 또는 인덱스들을 결정할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 가 참조 인덱스 또는 인덱스들을 결정하는 경우, 각각이 동일한 참조 인덱스 또는 인덱스들을 갖거나 자신의 참조 인덱스를 갖는 관련 텍스쳐 뷰 매크로블록 파티션들 (즉, 두개의 8x16 또는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 하나) 의 모션 벡터가 대응하는 8x8 심도 뷰 매크로블록 파티션에 할당될 수도 있다.
또한, 8x8 심도 뷰 매크로블록 파티션에 이용되는 결정된 텍스쳐 뷰 매크로블록 파티션의 모션 벡터에 대하여, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 성분 및 텍스쳐 뷰 성분의 공간 해상도에 기초하여 스케일링을 수행할 수도 있다. 예를 들어, 위의 예들에서, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4 이다. 따라서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 공간 해상도의 차이를 보상하기 위해 그 결정된 텍스쳐 뷰 매크로블록 파티션에 대한 모션 벡터들을 스케일링할 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는 또한 위에 설명된 바와 같이 매핑 팩터가 적용되는 실시예들에서 이러한 스케일링을 수행할 수도 있다.
예를 들어, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 첫번째 것에 대한 모션 벡터가 8x8 심도 뷰 매크로블록 파티션에 대한 모션 벡터를 결정하는데 이용될 것으로서 결정한다고 본다. 또한, 이 16x8 텍스쳐 뷰 매크로블록 파티션에 대한 모션 벡터가 (MVx, MVy) 로서 표현되는 것으로서 보며, 여기에서, MVx 는 모션 벡터의, x-성분이고 MVy 는 y-성분이다. 이 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 모션 벡터를 결정하기 위해 MVx 값을 2 로 나누고 MVy 값을 2 로 나눌 수도 있다. 비디오 인코더 (26) 및 비디오 디코더 (36) 는x및 y 성분들 각각을 2 로 나눌 수도 있는데 이는 심도 뷰 성분의 폭이 텍스쳐 뷰 성분의 폭의 1/2이고, 심도 뷰 성분의 높이가 텍스쳐 뷰 성분의 높이의 1/2이기 때문이다. 따라서, MV'로 표현되는 8x8 심도 뷰 매크로블록 파티션에 대한 모션는 (MVx/2, MVy/2) 와 같다.
위에 설명된 예들에서, 심도 뷰 매크로블록에 대응하는 16x16 텍스쳐 뷰 매크로블록 파티션들 중 어느 것이 4 개의 8x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되면, IVMP 는 심도 뷰 매크로블록에 대해 디스에이블된다. 그러나, 이는 모든 예에서의 경우는 아니다. 일부 경우에, 16x16 텍스쳐 뷰 매크로블록이 4 개의 8x8 심도 뷰 매크로블록 파티션들로 파티셔닝되면, IVMP 는 심도 뷰 매크로블록에 대해 인에이블될 수도 있다.
이 예에서, 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 파티션에 대한 모션 정보 (예를 들어, 참조 인덱스 정보, 파티션 모드 정보 및 모션 벡터 정보 중 적어도 하나) 를 결정할 수도 있다. 예를 들어, 도 4b 를 다시 참조하여 보면, 텍스쳐 뷰 매크로블록 (6) 은 심도 뷰 매크로블록 (10) 의 심도 뷰 파티션 (12B) 에 대응하는 것으로 본다. 이 예에서, 텍스쳐 뷰 매크로블록 (6) 이 4 개의 8x8 텍스쳐 뷰 매크로블록 파티션들 (8A-8D) 로 파티셔닝되면, IVMP 는 디스에이블되지 않을 수도 있다.
그 대신에, 이 예에서, 비디오 디코더 (36) 는 8x8 텍스쳐 뷰 매크로블록 파티션들 중 어느 것이, 심도 뷰 파티션 (12B) 이 심도 뷰 매크로블록 (10) 에 대해 위치되는 경우의 텍스쳐 뷰 매크로블록 (6) 에 대해 동일한 영역을 포함하는지를 결정한다. 예를 들어, 텍스쳐 뷰 파티션 (8B) 은 심도 뷰 파티션 (12B) 이 심도 뷰 매크로블록 (10) 에 대해 위치되는 경우의 텍스쳐 뷰 매크로블록 (6) 에 대해 동일한 영역을 포함한다. 이 예에서, 비디오 디코더 (36) 는 심도 뷰 파티션 (12B) 의 참조 인덱스를 결정하기 위해 텍스쳐 뷰 파티션 (8B) 의 참조 인덱스를 이용할 수도 있다.
이전 실시예에서, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4 이였다. 그러나, 본 개시물에서 설명된 기법들은 그렇게 제한되지 않는다. 다른 예들에서, 심도 뷰 성분 및 텍스쳐 뷰 성분의 공간 해상도 사이의 비는 1/4 와 상이할 수도 있다. 설명을 목적으로, 다음은, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/2 인 경우에 비디오 인코더 (26) 및 비디오 디코더 (36) 의 예시적인 구현들을 설명한다.
심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/2인 예들에서, 심도 뷰 성분의 폭이 텍스쳐 뷰 성분의 폭의 1/2일 수도 있고 높이들은 동일할 수도 있거나, 또는 심도 뷰 성분의 높이가 텍스쳐 뷰 성분의 높이의 1/2일 수도 있고 폭들이 동일할 수도 있다. 또한, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/2 인 경우, 하나의 심도 뷰 매크로블록은 두개의 텍스쳐 뷰 매크로블록들에 대응할 수도 있다.
예를 들어, 이 경우에서, 16x16 심도 뷰 매크로블록은 두개의 16x16 텍스쳐 뷰 매크로블록들에 대응할 수도 있다. 두개의 대응하는 16x16 텍스쳐 뷰 매크로블록들은 나란히 배열될 수도 있거나, 또는 하나가 다른 하나의 상단에 배열될 수도 있다. 텍스쳐 뷰 매크로블록들이 나란히 배열되면, 두개의 16x8 심도 뷰 매크로블록 파티션들 중 하나가 두개의 16x16 텍스쳐 뷰 매크로블록들 중 하나에 대응하고 두개의 16x8 심도 뷰 매크로블록 파티션들 중 다른 하나가 다른 16x16 텍스쳐 뷰 매크로블록들에 대응한다. 텍스쳐 뷰 매크로블록이 하나가 다른 하나의 상단에 배열되면, 두개의 8x16 심도 뷰 매크로블록 파티션들은 두개의 16x16 텍스쳐 뷰 매크로블록들의 각각의 하나에 각각 대응한다.
또한, 텍스쳐 뷰 매크로블록들이 나란히 배열되면, 두개의 16x8 심도 뷰 매크로블록 서브블록들 중 하나가 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 중 하나에 대응하고 두개의 16x8 심도 뷰 매크로블록 서브블록 중 다른 하나가 다른 16x8 텍스쳐 뷰 매크로블록 파티션에 대응한다. 텍스쳐 뷰 매크로블록이 하나가 다른 하나의 상단에 배열되면, 두개의 8x8 심도 뷰 매크로블록 서브블록들 각각은 두개의 8x16 텍스쳐 뷰 매크로블록들의 각각의 하나에 각각 대응한다.
심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/2인 경우, 텍스쳐 뷰 성분에서의 두개의 대응하는 매크로블록들 중 어느 하나가 인트라 예측되면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 IVMP 가 심도 뷰 매크로블록에 대해 디스에이블된다고 결정할 수도 있다. 또한, 텍스쳐 뷰 성분에서의 두개의 대응하는 매크로블록들 중 어느 하나가 "4개의 8x8 MB 파티션들" 과 동일한 매크로블록 파티션 모드를 갖는다면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 IVMP 가 심도 뷰 매크로블록에 대해 디스에이블된다고 결정할 수도 있다.
일부 예들에서, 심도 뷰 성분의 폭이 텍스쳐 뷰 성분의 폭의 1/2 이고, 텍스쳐 뷰 성분에서의 두개의 대응하는 매크로블록들 중 어느 하나가 "2개의 8x16 MB 파티션들"과 동일하면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 IVMP 가 심도 뷰 매크로블록에 대해 디스에이블된다고 결정할 수도 있다. 이와 유사하게, 심도 뷰 성분의 높이가 텍스쳐 뷰 성분의 높이의 1/2 이고, 텍스쳐 뷰 성분에서의 두개의 대응하는 매크로블록들 중 어느 하나가 "2개의 16x8 MB 파티션들"과 동일하면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 IVMP 가 심도 뷰 매크로블록에 대해 디스에이블된다고 결정할 수도 있다.
텍스쳐 뷰 성분에서의 대응하는 매크로블록들 양쪽 모두가 "하나의 16x16 MB 파티션"과 동일한 파티션 모드를 갖는다면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 매크로블록에 대한 파티션을, 심도 뷰 매크로블록이 텍스쳐 뷰 성분의 1/2 폭을 가질 경우 "두개의 8x16 파티션들"과 동일하게 또는 심도 뷰 매크로블록이 텍스쳐 뷰 성분의 1/2 높이를 가질 경우 "두개의 16x8 파티션들"과 동일하게 결정 (예를 들어, 설정) 할 수도 있다. 그렇지 않으면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 매크로블록의 파티션을 "4개의 8x8 파티션들"로 결정 (예를 들어, 설정) 할 수도 있다.
심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/2인 예들에서, 대응하는 텍스쳐 뷰 매크로블록들 양쪽 모두가 "하나의 16x16 MB 파티션"과 동일한 파티션을 갖는다면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 매크로블록에 대한 파티션을, 심도 뷰 매크로블록이 텍스쳐 뷰 성분의 1/2 폭을 가질 경우 "두개의 8x16 파티션들"과 동일하게 또는 심도 뷰 매크로블록이 텍스쳐 뷰 성분의 1/2 높이를 가질 경우 "두개의 16x8 파티션들"과 동일하게 결정할 수도 있다. 이들 예에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 심도 뷰 매크로블록 파티션들 각각에 대한 참조 인덱스가 그 대응하는 텍스쳐 뷰 매크로블록의 참조 인덱스와 동일하다고 결정할 수도 있다. 일부 다른 예들에서, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 8x8 심도 뷰 매크로블록 서브블록들 각각에 대한 참조 인덱스가 그 대응하는 16x8 또는 8x16 텍스쳐 뷰 매크로블록의 참조 인덱스와 동일하다고 결정할 수도 있다.
모션 벡터를 결정하기 위하여, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4인 예들에서, 심도 뷰 매크로블록의 각각의 심도 뷰 매크로블록 파티션에 대한 파티션 모드가 두개의 대응하는 텍스쳐 뷰 매크로블록들 중 하나의 텍스쳐 뷰 매크로블록으로부터 결정되기 때문에, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 하나의 모션 벡터만을 스케일링할 수도 있다. 예를 들어, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4인 예들과 유사하게, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 공간 해상도들에서의 차이를 보상하기 위해 대응하는 텍스쳐 뷰 매크로블록에 대한 모션 벡터를 스케일링하는 것이 필요할 수도 있다.
예를 들어, 텍스쳐 뷰 성분의 매크로블록 또는 파티션에 대한 모션 벡터가 (MVx, MVy) 이고 심도 뷰 성분의 폭이 텍스쳐 뷰 성분의 폭의 1/2 이면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 MV'로서 표현되는, 심도 뷰 성분의 매크로블록 파티션 또는 서브블록에 대한 모션 벡터를 MV' = (MVx/2, MVy) 인 것으로서 결정할 수도 있다. 예를 들어, 텍스쳐 뷰 성분의 매크로블록 또는 파티션에 대한 모션 벡터가 (MVx, MVy) 이고 심도 뷰 성분의 높이가 텍스쳐 뷰 성분의 높이의 1/2 이면, 비디오 인코더 (26) 및 비디오 디코더 (36) 는 MV'로서 표현되는, 심도 뷰 성분의 매크로블록 파티션 또는 서브블록에 대한 모션 벡터를 MV' = (MVx, MVy/2) 인 것으로서 결정할 수도 있다.
따라서, 본 개시물에 설명된 기법들에 따르면, 비디오 코더 (예를 들어, 비디오 인코더 (26) 및 비디오 디코더 (36)) 는 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 인코딩 또는 디코딩 (예를 들어, 코딩) 할 수도 있다. 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응할 수도 있다. 예시로서, 도 4a 에서의 텍스쳐 뷰 매크로블록들 (2A-2D) 은 단일의 심도 뷰 매크로블록 (4) 에 대응한다.
또한, 텍스쳐 뷰 성분 및 심도 뷰 성분은 액세스 유닛 내의 동일한 뷰에 속할 수도 있다. 위에 설명된 예들에서, 심도 뷰 블록 (예를 들어, 단일의 심도 뷰 매크로블록 (4)) 은 대응하는 복수의 텍스쳐 뷰 매크로블록들 (예를 들어, 텍스쳐 뷰 매크로 블록들 (2A-2D)) 내에서의 모든 픽셀들의 상대 심도를 나타낼 수도 있다. 위에 설명된 바와 같이, 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도는 상이할 수도 있다. 예를 들어, 심도 뷰 성분의 공간 해상도는 텍스쳐 뷰 성분의 1/2 폭 및 1/2 높이인 1/4 일 수도 있지만, 다른 비들, 이를 테면, 1/2 일 수도 있다.
비디오 코더는 복수의 대응하는 텍스쳐 뷰 블록들의 중 한 텍스쳐 뷰 블록으로부터 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정할 수도 있다. 일부 예들에서, 비디오 코더는 복수의 대응하는 텍스쳐 뷰 블록들로부터 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정할 수도 있다. 비디오 코더는 결정된 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나에 기초하여 단일의 심도 뷰 블록을 코딩할 수도 있다.
예를 들어, 단일의 심도 뷰 블록의 적어도 하나의 파티션은 대응하는 텍스쳐 뷰 블록들 중 텍스쳐 뷰 블록에 대응한다. 본 개시물에 설명된 기법들에 따르면, 복수의 대응하는 텍스쳐 뷰 블록들의 중 한 텍스쳐 뷰 블록으로부터 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정하기 위해, 비디오 코더는 단일의 심도 뷰 블록의 적어도 하나의 파티션의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정할 수도 있다. 이 예에서, 복수의 대응하는 텍스쳐 뷰 블록들의 텍스쳐 뷰 블록은 심도 뷰 블록의 적어도 하나의 파티션에 대응한다.
예를 들어, IVMP (inside view motion prediction) 가 단일의 심도 뷰 블록에 대해 인에이블되면, 비디오 코더는 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정하는 방법에 관한 정보를 시그널링 또는 수신함이 없이 단일 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정하도록 구성될 수도 있다. 단지, 비디오 코더는 단일의 심도 뷰 블록의 모션 정보 (예를 들어, 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보) 를 결정하기 위해 복수의 텍스쳐 뷰 블록들에 대한 모션 정보를 이용할 수도 있다.
일례로서, 비디오 코더는 텍스쳐 뷰 매크로블록들 (2A-2D; 도 4a) 에 기초하여 심도 뷰 매크로블록 (4; 도 4a) 에 대한 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정할 수도 있다. 예를 들어, 위에 설명된 바와 같이, 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정하기 위해, 비디오 코더는 단일의 심도 뷰 블록의 파티션에 대한 단일의 심도 뷰 블록의 적어도 하나의 파티션의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정할 수도 있다. 예를 들어, 도 6 을 참조하여 보면, 16x16 심도 뷰 매크로블록 (41) 의 8x8 심도 뷰 매크로블록 파티션 (42A) 이 16x16 텍스쳐 뷰 매크로블록 (39) 에 대응하고 IVMP 가 심도 뷰 매크로블록 (41) 에 대해 인에이블되면, 비디오 디코더 (36) 는 텍스쳐 뷰 파티션 (40A) 의 또는 텍스쳐 뷰 파티션 (40B) 의 참조 인덱스 정보 및 모션 벡터 정보를 이용하여, 심도 뷰 매크로블록 파티션 (42A) 의 참조 인덱스 정보 및 모션 벡터 정보를 결정할 수도 있다.
심도 뷰 파티션들 (42B-42D) 중 어느 것이 텍스쳐 뷰 메크로블록 (39) 에 대응하면, 동일하게 적용한다. 이 방식으로, 비디오 코더가 심도 뷰 블록의 파티션에 대응하는 텍스쳐 뷰 블록으로부터 심도 뷰 블록의 파티션의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정하는 경우, 비디오 코더는 복수의 대응하는 텍스쳐 뷰 블록들 중 텍스쳐 뷰 블록로부터, 심도 뷰 블록의 파티션의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보 중 적어도 하나를 결정하는 것으로 간주될 수도 있다.
IVMP 이 인에이블 또는 디스에이블되는 경우를 비디오 코더가 결정할 수도 있는 다른 예시적인 방식들이 있을 수도 있다. 예를 들어, 비디오 인코더 (26) 는 비디오 디코더 (36) 에 참 또는 거짓으로서 IVMP 플래그를 코딩된 비트스트림으로 시그널링할 수도 있다. 다른 예들에서, 비디오 디코더 (36) 는 IVMP 플래그를 수신할 필요 없이, IVMP 이 인에이블되는지의 여부를 결정할 수도 있다. 예를 들어, 비디오 디코더 (36) 는 단일의 심도 뷰 블록이 대응하는 텍스쳐 뷰 블록들 중 어느 것이 인트라 예측되거나 또는 4 개의 8x8 텍스쳐 뷰 매크로블록 블록들로 파티셔닝되면, IVMP 가 디스에이블된다고 결정할 수도 있다.
또한, 위에 설명된 바와 같이, 텍스쳐 뷰 블록이 두개의 16x8 또는 8x16 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 경우, 비디오 코더는 두개의 16x8 또는 8x16 텍스쳐 뷰 블록 파티션들 중 어느 하나가 심도 뷰 블록의 파티션 (예를 들어, 8x8 심도 뷰 블록 파티션) 이 심도 뷰 블록에 대해 위치되는 경우의 텍스쳐 뷰 블록에 대해 동일한 영역을 포함하는지를 결정한다. 비디오 코더는 두개의 16x8 또는 8x16 텍스쳐 뷰 블록 파티션들 중 결정된 하나를 선택할 수도 있고, 두개의 16x8 또는 8x16 텍스쳐 뷰 블록 파티션들 중 선택된 하나의 참조 인덱스에 기초하여 심도 뷰 블록의 파티션에 대한 참조 인덱스를 결정할 수도 있다. 심도 뷰 블록의 파티션 (예를 들어, 8x8 심도 뷰 블록 파티션) 에 대응하는 텍스쳐 뷰 블록이 복수의 텍스쳐 뷰 블록 파티션들, 이를 테면, 4 개의 8x8 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 경우의 예들에서, 비디오 코더는 유사하게 참조 인덱스를 결정할 수도 있다.
심도 뷰 블록의 파티션에 대응하는 텍스쳐 뷰 블록이 하나의 16x16 텍스쳐 뷰 블록 파티션으로 파티셔닝되는 경우의 예들에서는, 비디오 코더는 16x16 텍스쳐 뷰 블록 파티션의 참조 인덱스에 기초하여 심도 뷰의 파티션에 대한 참조 인덱스를 결정할 수도 있다. 또한, 이 경우, 8x8 심도 뷰 매크로블록 파티션들 각각은 하나의 8x8 심도 뷰 서브블록으로 설정된다.
도 7 은 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우 기법들을 구현할 수도 있는 비디오 인코더 (26) 의 일례를 나타내는 블록도이다. 비디오 인코더 (26) 는, 매크로블록들, 또는 매크로블록들의 파티션들 또는 서브블록들 (이는 파티션들의 서브파티션들임) 을 포함하는, 비디오 프레임들 내의 블록들의 인트라 코딩 및 인터 코딩을 수행할 수도 있다. 인트라 코딩은 주어진 비디오 프레임 내의 비디오에서의 공간적 용장성을 감소시키거나 제거하기 위해 공간 예측에 의존한다. 인터 코딩은 비디오 시퀀스의 인접한 프레임들 내의 비디오에서의 시간적 용장성을 감소시키거나 제거하기 위해 시간 예측에 의존한다. 인트라 모드(I 모드)는 임의의 여러 공간 기반 압축 모드들을 참조할 수도 있고 단방향 예측(P 모드) 또는 양방향 예측(B 모드)와 같은 인터 모드들은 임의의 여러 시간 기반 압축 모드들을 참조할 수도 있다.
용어 프레임들 및 픽쳐들은 상호교환적으로 이용될 수도 있다. 예를 들어, H.264 표준은 용어 프레임을 이용하고, HEVC 표준은 용어 픽쳐를 이용한다. 프레임 및 픽쳐는 비디오 데이터의 동일한 부분을 지칭하며 따라서 유사어이다.
도 7 에 도시된 바와 같이, 비디오 인코더 (26) 는 인코딩될 비디오 프레임 내에서 현재 비디오 블록을 수신한다. 도 7 의 실시형태에서, 비디오 인코더 (26) 는 모션 보상 유닛 (44), 모션 추정 유닛 (45), 참조 프레임 메모리 (64), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 유닛 (54), 및 엔트로피 코딩 유닛 (56) 을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더 (26) 는 역양자화 유닛 (58), 역변환 모듈 (60), 및 합산기 (62) 를 또한 포함한다. 재구성된 비디오에서 블록화 아티팩트들 (blockiness artifacts) 을 제거하도록 블록 경계들을 필터링하기 위해 디블록화 필터 (deblocking filter) (도 7 에 도시되지 않음) 가 포함될 수도 있다. 원하는 경우, 디블록화 필터는 통상적으로 합산기 (62) 의 출력을 필터링할 것이다. 다른 유형의 필터들, 이를 테면, 루프 필터들 또는 샘플 적응성 오프셋 (SAO) 필터들이 또한 이용될 수도 있다.
인코딩 프로세스 동안, 비디오 인코더 (26) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 복수의 비디오 블록들로 분할될 수도 있다. 모션 추정 유닛 (45) 및 모션 보상 유닛 (44) 은 하나 이상의 참조 프레임들에서의 하나 이상의 블록들에 대한 수신된 비디오 블록의 인터 예측 코딩을 수행하여 시간적 압축을 제공한다. 인트라 예측 유닛 (46) 은 코딩될 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃하는 블록들에 대한 수신된 비디오 블록의 인트라 예측 코딩을 또한 수행하여 공간 압축을 제공할 수도 있다.
모드 선택 유닛 (43) 은, 예를 들면, 에러 결과들에 기초하여 코딩 모드들 중 하나, 인트라 또는 인터를 선택할 수도 있고, 결과적인 인트라 코딩된 블록 또는 인터 코딩된 블록을 합산기 (50) 에 제공하여 잔여 블록 데이터를 생성하고 합산기 (62) 에 제공하여 참조 프레임으로서 사용하기 위한 인코딩된 블록을 재구성한다. 몇몇 실시형태들에서, 모드 선택 유닛 (43) 은 또한, 예를 들어, 완전 고화질 픽쳐를 위한 인터 뷰 예측을 선택할 수도 있다.
본 개시물에 따르면, 모드 선택 유닛 (43) 은 위에서 설명된 예의 기능들을 수행하는 하나의 예시적인 유닛을 나타낼 수도 있다. 예를 들어, 모드 선택 유닛 (43) 은 복수의 대응하는 텍스쳐 뷰 블록들에 대한 모드 정보로부터 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보를 결정할 수도 있다. 그러나, 본 개시의 양상들은 이렇게 제한되는 것은 아니다. 다른 예들에서, 모드 선택 유닛 (43) 이외의 유닛이 도 5 에 대하여 위에 설명된 예들을 구현할 수도 있다. 일부 다른 예들에서, 모드 선택 유닛 (43) 은 비디오 인코더 (26) 의 하나 이상의 다른 유닛들과 연계하여 도 5 에 대해 위에서 설명된 예들을 구현할 수도 있다. 또 다른 일부 예들에서, 비디오 인코더 (26) 의 프로세서 또는 유닛 (도 2 에 도시되지 않음) 은, 단독으로 또는 비디오 인코더 (26) 의 다른 유닛들과 연계하여, 도 5 에 대하여 위에서 설명된 예들을 구현할 수도 있다.
모션 추정 유닛 (45) 및 모션 보상 유닛 (44) 은 고도로 집적될 수도 있지만, 개념적 목적들을 위해 별개로 예시되어 있다. 모션 추정은 모션 벡터들을 생성하는 프로세스로서, 비디오 블록들에 대한 모션을 추정한다. 모션 벡터는, 예를 들면, 현재의 프레임 내에서 코딩되고 있는 현재의 블록 (또는 다른 코딩된 유닛) 에 대한 예측 참조 프레임 내의 예측 블록 (또는 다른 코딩된 유닛) 의 변위를 나타낼 수도 있다. 예측 블록은 픽셀 차이의 관점에서, 코딩될 비디오 블록과 밀접하게 일치하는 것으로 발견된 블록인데, 픽셀 차이는 절대 차의 합 (sum of absolute difference; SAD), 제곱 차의 합 (sum of square difference; SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있다. 모션 벡터는 매크로블록의 파티션의 변위를 또한 나타낼 수도 있다. 모션 보상은 모션 추정에 의해 결정된 모션 벡터에 기초한 예측 블록의 페칭 또는 생성을 수반할 수도 있다. 또한, 모션 추정 유닛 (45) 과 모션 보상 유닛 (44) 은, 몇몇 실시형태들에서, 기능적으로 통합될 수도 있다.
모션 추정 유닛 (45) 은, 비디오 블록을 참조 프레임 메모리 (64) 에서의 참조 프레임의 비디오 블록들에 비교함으로써 인터 코딩된 프레임의 비디오 블록에 대한 모션 벡터를 계산한다. 모션 보상 유닛 (44) 은 참조 프레임, 예를 들면, I 프레임 또는 P 프레임의 서브-정수(sub-integer) 픽셀들을 또한 보간할 수도 있다. 예로서, ITITU H.264 표준은 2개의 리스트들을 설명한다: 인코딩되고 있는 현재 프레임보다 더 빠른 디스플레이 순서를 갖는 참조 프레임들을 포함하는 리스트 0, 및 인코딩되고 있는 현재 프레임보다 더 늦은 디스플레이 순서를 갖는 참조 프레임들을 포함하는 리스트 1. 따라서, 참조 프레임 메모리(64)에 저장된 데이터는 이들 리스트들에 따라 조직화될 수도 있다. 리스트 0 및 리스트 1 은 도 5 를 참조로 위에 설명된 RefPicList0 및 RefPicList1 와 등가인 것으로 간주될 수도 있다.
모션 추정 유닛 (45) 은 참조 프레임 메모리 (64) 로부터의 하나 이상의 참조 프레임들의 블록들을, 현재 프레임, 예를 들면, P 프레임 또는 B 프레임의 인코딩될 블록에 비교한다. 참조 프레임 메모리 (64) 의 참조 프레임들이 서브-정수 픽셀들에 대한 값들을 포함하면, 모션 추정 유닛 (45) 에 의해 계산된 모션 벡터는 참조 프레임의 서브-정수 픽셀 로케이션을 참조할 수도 있다. 모션 추정 유닛 (45) 및/또는 모션 보상 유닛 (44) 은, 서브-정수 픽셀 포지션들에 대해 어떠한 값도 참조 프레임 메모리 (64) 에 저장되지 않으면, 참조 프레임 메모리 (64) 에 저장된 참조 프레임들의 서브-정수 표지션들에 대한 값들을 계산하도록 또한 구성될 수도 있다. 모션 추정 유닛 (45) 은 계산된 모션 벡터를 엔트로피 코딩 유닛 (56) 과 모션 보상 유닛 (44) 으로 전송한다. 모션 벡터에 의해 식별된 참조 프레임 블록은 예측 블록으로서 지칭될 수도 있다.
모션 보상 유닛 (44) 은 예측 블록에 기초하여 예측 데이터를 계산할 수도 있다. 비디오 인코더 (26) 는 코딩되고 있는 원래의 비디오 블록으로부터 모션 보상 유닛(44)으로부터의 예측 데이터를 감산함으로써 잔여 비디오 블록을 형성한다. 잔여 블록은 코딩되고 있는 최초 블록과 예측 블록 사이에 픽셀 단위 차이들을 포함한다. 합산기(50)는 이 감산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 프로세싱 유닛(52)은, 이산 코사인 변환(DCT) 또는 개념적으로 유사한 변환과 같은 변환을 잔여 블록에 적용하여, 잔여 변환 계수 값들을 포함하는 비디오 블록을 생성한다. 변환 프로세싱 유닛(52)은, DCT와 개념적으로 유사한 다른 변환들, 예컨대 H.264 표준들 또는 HEVC 표준에 의해 정의된 것들과 같은 다른 변환들을 수행할 수도 있다. 웨이블릿 변환들, 정수 변환들, 서브 대역 변환들, 또는 다른 유형의 변환들이 또한 이용될 수도 있다. 어떠한 경우에도, 변환 프로세싱 유닛(52)은 잔여 블록에 변환을 적용하여, 잔여 변환 계수들의 블록을 생성한다. 변환은 잔여 정보를 픽셀 도메인에서 주파수 도메인과 같은 변환 도메인으로 변환할 수도 있다. 양자화 유닛(54)은 잔여 변환 계수들을 양자화하여 비트 레이트를 더 감소시킨다. 양자화 프로세스는 계수들의 일부 또는 전부와 관련된 비트 깊이를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수도 있다.
양자화 이후, 엔트로피 코딩 유닛(56)은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들면, 엔트로피 코딩 유닛(56)은 콘텍스트 적응 가변 길이 코딩(CAVLC), 콘텍스트 적응 이진 산술 코딩(CABAC), 또는 다른 엔트로피 코딩 기술을 수행할 수도 있다. 엔트로피 코딩 유닛(56)에 의한 엔트로피 코딩에 후속하여, 인코딩된 비디오는 다른 디바이스로 송신되거나 또는 나중의 송신 또는 취출을 위해 아카이브화될 수도 있다. 콘텍스트 적응 이진 산술 코딩의 경우, 콘텍스트는 이웃하는 매크로블록들에 기초할 수도 있다.
몇몇 경우들에서, 비디오 인코더(20)의 엔트로피 코딩 유닛(56) 또는 다른 유닛은, 엔트로피 코딩에 더하여, 다른 코딩 함수들을 수행하도록 구성될 수도 있다. 예를 들면, 엔트로피 코딩 유닛(56)은 매크로블록들 및 파티션들에 대한 CBP 값들을 결정하도록 구성될 수도 있다. 또한, 몇몇 경우들에서, 엔트로피 코딩 유닛 (56) 은 매크로블록 또는 그 파티션으로 계수들의 런렝쓰 코딩을 수행할 수도 있다. 구체적으로, 엔트로피 코딩 유닛 (56) 은 지그재그 스캔 또는 다른 스캔 패턴을 적용하여 매크로블록 또는 파티션에서의 변환 계수들을 스캐닝하고 추가 압축을 위하여, 제로들의 런들을 인코딩할 수도 있다. 엔트로피 코딩 유닛 (56) 은 인코딩된 비디오 비트스트림에서의 송신에 대해 적절한 신택스 엘리먼트들을 갖는 헤더 정보를 또한 구성할 수도 있다.
역양자화 유닛 (58) 및 역변환 유닛 (60) 은, 각각, 역양자화 및 역변환을 적용하여, 나중의 사용을 위한 참조 블록으로서 픽셀 도메인의 잔여 블록을 재구성한다. 모션 보상 유닛 (44) 은 참조 프레임 메모리 (64) 의 프레임들 중 하나의 예측 블록에 잔여 블록을 가산함으로써 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은, 모션 추정에서 사용하기 위한 서브-정수 픽셀 값들을 계산하기 위해, 재구성된 잔여 블록에 하나 이상의 보간 필터들을 또한 적용할 수도 있다. 합산기 (62) 는 재구성된 잔여 블록을 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 가산하여 참조 프레임 메모리 (64) 에 저장하기 위한 재구성된 비디오 블록을 생성한다. 재구성된 비디오 블록은 후속하는 비디오 프레임에서의 블록을 인터 코딩하기 위한 참조 블록으로서 모션 추정 유닛 (45) 및 모션 보상 유닛 (44) 에 의해 사용될 수도 있다.
도 8 은 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우의 기법들을 구현할 수도 있는 비디오 디코더 (36) 의 일례를 나타내는 블록도이다. 도 8 의 실시형태에서, 비디오 디코더 (36) 는 엔트로피 디코딩 유닛 (70), 모션 보상 유닛 (72), 인트라 예측 유닛 (74), 역양자화 유닛 (76), 역변환 유닛 (78), 참조 프레임 메모리 (82) 및 합산기 (80) 를 포함한다. 비디오 디코더 (36) 는, 몇몇 실시형태들에서, 비디오 인코더 (26)(도 7)에 대해 설명된 인코딩 과정에 일반적으로 역순인 디코딩 과정을 수행할 수도 있다. 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들에 기초하여 예측 데이터를 생성할 수도 있다.
본 개시물에 따르면, 모션 보상 유닛 (72) 은 위에서 설명된 예의 기능들을 수행하는 하나의 예시적인 유닛을 나타낼 수도 있다. 예를 들어, 모션 보상 유닛 (72) 은 복수의 대응하는 텍스쳐 뷰 블록들에 대한 모드 정보로부터 단일의 심도 뷰 블록의 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보를 결정할 수도 있다. 그러나, 본 개시의 양상들은 이렇게 제한되는 것은 아니다. 다른 예들에서, 모션 보상 유닛 (72) 이외의 유닛이 도 5 에 대하여 위에 설명된 예들을 구현할 수도 있다. 일부 다른 예들에서, 모션 보상 유닛 (72) 은 비디오 디코더 (36) 의 하나 이상의 다른 유닛들과 연계하여 도 5 에 대해 위에서 설명된 예들을 구현할 수도 있다. 또 다른 일부 예들에서, 비디오 디코더 (36) 의 프로세서 또는 유닛 (도 8 에 도시되지 않음) 은, 단독으로 또는 비디오 디코더 (36) 의 다른 유닛들과 연계하여, 도 5 에 대하여 위에서 설명된 예들을 구현할 수도 있다.
모션 보상 유닛 (72) 은 비트스트림에서 수신된 모션 벡터들을 사용하여 참조 프레임 메모리 (82) 에서의 참조 프레임들의 예측 블록을 식별할 수도 있다. 인트라 예측 유닛 (74) 은 비트스트림에서 수신된 인트라 예측 모드들을 사용하여 공간적으로 인접한 블록들로부터 예측 블록을 형성할 수도 있다. 역양자화 유닛 (76) 은 비트스트림으로 제공되고 엔트로피 디코딩 유닛 (70) 에 의해 디코딩된 양자화된 블록 계수들을 역양자화, 즉, 탈양자화한다(dequantizes). 역양자화 프로세스는, 예를 들면, H.264 디코딩 표준 또는 HEVC 디코딩 표준에서 정의된 것과 같은 통상의 프로세스를 포함할 수도 있다. 역양자화 프로세스는 양자화의 정도, 및, 마찬가지로, 적용되어야 하는 역양자화의 정도를 결정하기 위해, 각각의 매크로블록에 대해 비디오 인코더 (26) 에 의해 계산된 양자화 파라미터 (QPY) 의 사용을 또한 포함할 수도 있다.
역변환 모듈 (58) 은, 픽셀 도메인에서의 잔여 블록들을 생성하기 위해 변환 계수들에 대해 역변환, 예를 들면, 역DCT, 역정수 변환, 또는 개념적으로 유사한 역변환 프로세스를 적용한다. 모션 보상 유닛 (72) 은 모션 보상 블록들을 생성하고 가능하다면 보간 필터들에 기초한 보간을 수행한다. 서브-픽셀 정밀도를 갖는 모션 추정에 사용될 보간 필터들에 대해 식별자들은 신택스 엘리먼트들에 포함될 수도 있다. 모션 보상 유닛 (72) 은 비디오 블록의 인코딩 동안 비디오 인코더 (26) 에 의해 사용되는 것과 같이 보간 필터들을 사용하여 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수도 있다. 모션 보상 모듈 (72) 은 수신된 신택스 정보에 따라 비디오 인코더 (26) 에 의해 사용된 보간 필터들을 결정하고 보간 필터들을 사용하여 예측 블록들을 생성할 수도 있다.
합산기 (80) 는 잔여 블록들을 모션 보상 유닛 (72) 또는 인트라 예측 유닛에 의해 생성된 대응하는 예측 블록들과 합산하여 디코딩된 블록들을 형성한다. 원하는 경우, 블록화 아티팩트들을 제거하도록 디코딩된 블록들을 필터링하기 위해 디블록화 필터가 또한 적용될 수도 있다. 그 다음 디코딩된 비디오 블록들은 참조 프레임 메모리 (82) 에 저장되고, 참조 프레임 메모리는 후속 모션 보상에 대한 참조 블록들을 제공하고 또한 디스플레이 디바이스(예컨대 도 5 의 디스플레이 디바이스 (38)) 상에서의 표시를 위한 디코딩된 비디오를 생성한다.
도 9 는 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우의 기법들에 따라 비디오 디코더의 예시적인 동작을 나타내는 흐름도이다. 예시를 위하여, 도 5 및 도 8 을 참조한다. 예를 들어, 도 9 에 예시된 기법들은 비디오 디바이스들의 비디오 코더에 의해 구현될 수도 있다. 비디오 디바이스의 예들은 목적지 디바이스 (20)(도 5) 를 포함한다. 비디오 코더의 예들은 비디오 디코더 (36)(도 5 및 도 8) 를 포함한다. 일부 실시예들에서, 비디오 코더가 비디오 디코더 (36) 인 경우에, 본 개시물에 설명된 예시적인 기법들 중 하나 이상이 예측 모듈 (81)(도 8) 로 수행될 수도 있다. 또한, 비디오 디코더의 관점에서 본 기법들이 설명되어 있지만, 일부 예들에서, 비디오 인코더, 이를 테면, 비디오 인코더 (26) 가 도 9 에 설명된 기법들 중 하나 이상을 수행할 수도 있다.
텍스쳐 뷰 블록들이 심도 뷰 성분에서의 단일 심도 뷰 블록에 대응하는 경우에 비디오 디코더는 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 디코딩할 수도 있다 (94). 비디오 디코더는 IVMP (inside view motion prediction) 이 심도 뷰 블록에 대해 인에이블되는지 또는 디스에이블되는지의 여부를 결정할 수도 있다 (96). 비디오 코더가 IVMP 이 인에이블 또는 디스에이블되는지의 여부를 결정할 수 있는 여러 방법들이 있을 수도 있다. 일례로서, 비디오 디코더는 IVMP (inside view motion prediction) 이 심도 뷰 블록에 대해 인에이블되는지 또는 디스에이블되는지의 여부를 나타내는 IVMP 플래그를 디코딩할 수도 있다. 또 다른 예로서, 비디오 디코더는 IVMP 플래그를 수신함이 없이 심도 뷰 블록에 대하여 IVMP (inside view motion prediction) 이 디스에이블된다고 결정가능할 수도 있다. 예를 들어, 비디오 디코더는 복수의 텍스쳐 뷰 블록들 중 하나가 인트라 예측되거나 또는 8x8 파티션들로 파티셔닝된다고 결정할 수도 있다. 이들 경우 어느 것에도, 비디오 디코더는 IVMP 플래그를 수신함이 없이 심도 뷰 블록에 대하여 IVMP 가 디스에이블된다고 결정가능할 수도 있다.
IVMP 가 인에이블되는 경우, 비디오 디코더는 대응하는 텍스쳐 뷰 블록들에 기초하여 심도 뷰 블록에 대한 모션 정보를 결정할 수도 있다 (98). 비디오 디코더는 결정된 모션 정보에 기초하여 심도 뷰 블록을 디코딩할 수도 있다 (100).
IVMP 가 인에이블되는 경우, 비디오 디코더가 심도 뷰 블록에 대해 모션 정보를 결정할 수도 있는 여러 방법이 있을 수도 있다. 예를 들어, 비디오 디코더는 심도 뷰 블록의 파티션들의 각각에 대한 파티션 모드 정보, 참조 인덱스 정보 및 모션 벡터 정보 중 적어도 하나를 결정할 수도 있다. 예를 들어, 심도 뷰 블록이 4 개의 8x8 파티션들로 파티셔닝되면, 비디오 디코더는 4 개의 8x8 파티션들 각각에 대한 파티션 모드 정보, 참조 인덱스 정보 및 모션 벡터 정보 중 적어도 하나를 결정할 수도 있다.
일례로서,A심도 뷰 블록의 4 개의 8x8 파티션들 각각은 복수의 텍스쳐 뷰 블록들 중 하나의 텍스쳐 뷰 블록에 대응할 수도 있다. 이 예에서, 비디오 디코더는 대응하는 텍스쳐 뷰 블록들에 대한 모션 정보에 기초하여 4 개의 8x8 파티션들에 대한 모션 정보를 결정할 수도 있다. 예를 들어, 대응하는 텍스쳐 뷰 블록이 하나의 16x16 텍스쳐 뷰 매크로블록으로 파티셔닝되면, 비디오 디코더는 16x16 텍스쳐 뷰 매크로블록의 참조 인덱스를 16x16 텍스쳐 뷰 매크로블록에 대응하는 8x8 심도 뷰 블록 파티션으로서 설정할 수도 있다.
다른 예로서, 대응하는 텍스쳐 뷰 블록이 2 개의 텍스쳐 뷰 파티션들 (예를 들어, 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들) 로 파티셔닝되고, 동일한 참조 픽쳐 리스트에서의 두개의 텍스쳐 뷰 파티션들 양쪽 모두에 대한 참조 인덱스 (예를 들어, 텍스쳐 뷰 RefPicListX, 여기에서x는 0 또는 1 임) 가 상이하고 -1 과 같지 않다면, 비디오 디코더는 이들 두개의 텍스쳐 뷰 파티션들 중 하나를 선택할 수도 있다. 비디오 디코더는 참조 인덱스로서 선택된 텍스쳐 뷰 파티션의 참조 인덱스를 두개의 텍스쳐 뷰 파티션들로 파티셔닝되는 텍스쳐 뷰 블록에 대응하는 8x8 심도 뷰 블록 파티션으로 설정할 수도 있다. 일부 예들에서, 비디오 디코더는 두개의 텍스쳐 뷰 파티션들로부터, 8x8 심도 뷰 블록 파티션이 심도 뷰 매크로블록에서 포함하는 텍스쳐 텍스쳐 뷰 매크로블록 내의 동일한 영역을 포함하는 텍스쳐 뷰 파티션을 선택하였다.
다른 예로서, 대응하는 텍스쳐 뷰 블록이 2 개의 텍스쳐 뷰 파티션들 (예를 들어, 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들) 로 파티셔닝되고, 동일한 참조 픽쳐 리스트 (예를 들어, 텍스쳐 뷰 RefPicListX, 여기에서x는 0 또는 1 임) 에서의 하나에 대한 참조 인덱스가 -1과 같고 동일한 참조 픽쳐 리스트에서의 다른 하나가 -1 과 같지 않다면, 비디오 디코더는 이들 참조 인덱스가 -1 과 같지 않은 텍스쳐 뷰 파티션을 선택할 수도 있다. 비디오 디코더는 -1 과 같지 않은 텍스쳐 뷰 블록 파티션의 참조 인덱스를 두개의 텍스쳐 뷰 파티션들로 파티셔닝되는 텍스쳐 뷰 블록에 대응하는 8x8 심도 뷰 블록 파티션에 대한 참조 인덱스로서 설정할 수도 있다.
또 다른 예로서, 대응하는 텍스쳐 뷰 블록이 2 개의 텍스쳐 뷰 파티션들 (예를 들어, 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들) 로 파티셔닝되고, 동일한 참조 픽쳐 리스트x에서의 양쪽 모두에 대한 참조 인덱스가 -1 과 같으면, 비디오 디코더는 동일한 참조 픽쳐 리스트x로부터 8x8 심도 뷰 블록 파티션의 예측을 디스에이블시킬 수도 있다. 즉, 두개의 16x8 텍스쳐 뷰 매크로블록 파티션들 또는 두개의 8x16 텍스쳐 뷰 매크로블록 파티션들의 양쪽 모두에 대한 텍스쳐 뷰 RefPicList0 로의 참조 인덱스가 -1 과 같다면, 비디오 디코더는 심도 뷰 RefPicList0 에서의 참조 심도 뷰 성분으로부터 8x8 심도 뷰 블록 파티션을 인터예측하지 못할 수도 있다. 예를 들어, 비디오 디코더는 심도 뷰 RefPicList0 로의 참조 인덱스를 -1 과 같도록 설정할 수도 있다.
비디오 디코더는 또한 8x8 심도 뷰 블록 파티션들의 모션 벡터 및 파티션 모드를 결정할 수도 있다. 예를 들어, 비디오 디코더는 8x8 심도 뷰 블록 파티션에 대응하는 텍스쳐 뷰 블록에 대한 모션 벡터들 중 하나를 선택할 수도 있다. 비디오 디코더는 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들에 기초하여 모션 벡터를 스케일링할 수도 있다. 예를 들어, 심도 뷰 성분의 공간 해상도가 텍스쳐 뷰 성분의 공간 해상도의 1/4 (텍스쳐 뷰 성분의 1/2 폭 및 1/2 높이) 인 예들로서, 8x8 심도 뷰 블록 파티션에 대한 스케일링된 모션 벡터를 결정하기 위해 텍스쳐 뷰 블록의 모션 벡터의x성분을 2 로 나누고, 텍스쳐 뷰 블록의 모션 벡터의 y 성분을 2 로 나눌 수도 있다.
파티션 모드에 대해서는, IVMP 가 인에이블되는 경우, 비디오 디코더는 일반적으로 8x8 심도 뷰 블록 파티션에 대한 파티션 모드를 하나의 8x8 서브블록으로 설정할 수도 있다. 그러나, 8x8 심도 뷰 블록 파티션이 두개의 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 텍스쳐 뷰 블록에 대응하고 두개의 텍스쳐 뷰 블록 파티션들 각각에 대한 참조 인덱스가 동일하고 -1 과 같지 않으면, 비디오 디코더는 텍스쳐 뷰 블록이 파티셔닝되는 방식에 기초하여 8x8 심도 뷰 블록에 대한 파티션을 두개의 8x4 서브블록들 또는 두개의 4x8 서브블록들과 동일하도록 설정할 수도 있다. 일반적으로, 심도 뷰 블록 파티션에 대한 파티션 모드가 두개의 8x4 서브블록들이 아니면, 비디오 디코더는 심도 뷰 블록에 대한 파티션 모드를 하나의 8x8 서브블록으로 설정할 수도 있다.
도 10 은 도 9 는 텍스쳐 뷰 성분 및 심도 뷰 성분의 공간 해상도들이 상이한 경우의 기법들에 따라 비디오 인코더의 예시적인 동작을 나타내는 흐름도이다. 예시를 위하여, 도 5 및 도 7 을 참조한다. 예를 들어, 도 10 에 예시된 기법들은 비디오 디바이스들의 비디오 코더에 의해 구현될 수도 있다. 비디오 디바이스의 예들은 소스 디바이스 (18)(도 5) 를 포함한다. 비디오 코더의 예들은 비디오 인코더 (26)(도 5 및 도 7) 를 포함한다. 일부 실시예들에서, 비디오 코더가 비디오 인코더 (26) 인 경우에, 본 개시물에 설명된 예시적인 기법들 중 하나 이상이 모드 선택 유닛 (43)(도 7) 으로 수행될 수도 있다.
비디오 인코더는 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 인코딩할 수도 있다 (102). 비디오 코더는 또한, IVMP (inside view motion prediction) 이 복수의 텍스쳐 뷰 블록들에 대응하는 심도 뷰 블록에 대해 인에이블되는지의 여부를 결정할 수도 있다 (104). 예를 들어, 복수의 텍스쳐 뷰 블록들 중 어느 것도 인트라예측되지 않고 복수의 텍스쳐 뷰 블록들의 어느것도 8x8 파티션들로 파티셔닝되지 않는다면, 비디오 인코더는 복수의 텍스쳐 뷰 블록에 대응하는 단일의 심도 뷰 블록에 대하여 IVMP 가 인에이블된다고 결정할 수도 있다.
비디오 인코더가 IVMP 가 인에이블된다고 결정하는 경우, 비디오 인코더는 심도 뷰 블록에 대하여 참으로서 IVMP 플래그를 시그널링할 수도 있다 (106). 비디오 디코더는 IVMP 플래그를 참으로서 수신시, 심도 뷰 블록을 디코딩하기 위하여 복수의 텍스쳐 뷰 블록들에 대한 모션 정보를 이용할 수도 있다. 예를 들어, 비디오 인코더는 심도 뷰 블록에 대한 모션 정보를 시그널링할 필요가 없을 수도 있다 (108). 다만, 비디오 디코더는 텍스쳐 뷰 블록들에만 기초하여 심도 뷰 블록에 대한 참조 인덱스 정보, 파티션 정보 및 모션 벡터 정보와 같은 모션 정보를 결정하도록 구성될 수도 있다.
하나 이상의 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 또는 그것을 통해 송신될 수도 있고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은, 데이터 저장 매체들과 같은 유형의 매체, 또는 예를 들어, 통신 프로토콜에 따라, 한 곳에서 다른 곳으로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체들에 대응하는 컴퓨터 판독가능 저장 매체들일 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독 가능한 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 이 개시물에 설명된 기법들의 구현을 위한 명령들, 코드, 및/또는 데이터 구조들을 검색하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
비제한적인 예로서, 이러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 플래시 메모리, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터 판독 가능한 매체라고 적절히 칭해진다. 예를 들면, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 접속들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 대신에 비일시적, 유형의 저장 매체들임을 이해해야 한다. 본원에서 이용된 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크(CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 통상 자기적으로 데이터를 재생하는 반면, 디스크(disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은, 하나 이상의 디지털 신호 프로세서들(DSPs), 범용 마이크로프로세서들, 주문형 집적 회로들(ASICs), 필드 프로그래머블 로직 어레이(FPGAs), 또는 다른 등가의 집적 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 본원에서 사용된 용어 "프로세서"는 임의의 앞서 설명된 구조 또는 본원에서 설명된 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 또한, 몇몇 양상들에서, 본원에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈 내에 제공되거나, 또는 통합 코덱에 통합될 수도 있다. 또한, 본원에서 개시된 기법들은 하나 이상의 회로들 또는 로직 소자들에서 완전히 구현될 수 있다.
본 개시의 기술들은, 무선 헤드셋, 집적 회로(IC) 또는 ICs의 세트를 포함하는 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양태를 강조하기 위해 다양한 소자들, 모듈들, 또는 유닛들이 본 개시물에서 설명되었지만, 반드시 상이한 하드웨어 유닛들에 의해 실현될 필요는 없다. 대신, 상술한 바와 같이, 다양한 유닛들은, 적절한 소프트웨어 및/또는 펌웨어와 연계하여, 코덱 하드웨어 유닛에 통합되거나 또는 상술한 하나 이상의 프로세서들을 포함하여 상호 동작적인 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 실시형태들을 설명하였다. 이들 및 다른 실시형태들은 하기의 특허청구범위 내에 있다.

Claims (41)

  1. 비디오 데이터 코딩 방법으로서,
    텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하는 단계로서, 상기 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응하는, 상기 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하는 단계;
    상기 단일의 심도 뷰 블록의 적어도 하나의 파티션에 대응하는 상기 복수의 텍스쳐 뷰 블록들 중 텍스쳐 뷰 블록이 복수의 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 것에 기초하여,
    상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션이 상기 단일의 심도 뷰 블록에 대해 위치되는 곳과 적어도 동일한 영역을 상기 텍스쳐 뷰 블록에 대해 포함하는지를 결정하는 단계;
    상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하는 단계;
    선택된 상기 텍스쳐 뷰 블록 파티션의 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록의 적어도 하나의 파티션의 참조 인덱스를 결정하는 단계; 및
    결정된 상기 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록을 코딩하는 단계를 포함하고,
    상기 심도 뷰 성분 및 상기 텍스쳐 뷰 성분은 액세스 유닛 내에서 동일한 뷰에 속하고,
    상기 단일의 심도 뷰 블록은 대응하는 상기 복수의 텍스쳐 뷰 블록들 내의 모든 픽셀들의 상대 심도를 나타내고,
    상기 심도 뷰 성분의 공간 해상도는 상기 텍스쳐 뷰 성분의, 1/2 폭 및 1/2 높이인, 공간 해상도의 1/4 인, 비디오 데이터 코딩 방법.
  2. 제 1 항에 있어서,
    IVMP (Inside View Motion Prediction) 가 상기 단일의 심도 뷰 블록에 대해 인에이블된다고 결정하는 단계를 더 포함하고,
    상기 참조 인덱스를 결정하는 단계는, 상기 IVMP 가 인에이블된 것에 기초하여 상기 참조 인덱스를 결정하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  3. 제 2 항에 있어서,
    상기 IVMP 가 인에이블된다고 결정하는 단계는 상기 IVMP 가 인에이블되는 것을 나타내는 IVMP 플래그에 기초하여 상기 IVMP가 인에이블된다고 결정하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  4. 제 1 항에 있어서,
    상기 단일의 심도 뷰 블록은 제 1 심도 뷰 블록을 포함하고, 상기 복수의 텍스쳐 뷰 블록들은 제 1 복수의 텍스쳐 뷰 블록들을 포함하며,
    상기 방법은, 제 2 복수의 텍스쳐 뷰 블록들 중 어느 것의 예측 모드 또는 상기 제 2 복수의 텍스쳐 뷰 블록들 중 어느 것의 파티션 모드 중 적어도 하나에 기초하여 IVMP (Inside View Motion Prediction) 가 상기 제 2 복수의 텍스쳐 뷰 블록들에 대응하는 제 2 심도 뷰 블록에 대해 디스에이블된다고 결정하는 단계를 더 포함하는, 비디오 데이터 코딩 방법.
  5. 제 4 항에 있어서,
    상기 IVMP 가 디스에이블된다고 결정하는 단계는, 상기 제 2 복수의 텍스쳐 뷰 블록들 중 어느 것이 인트라 예측된다는 것에 기초하여, 또는 상기 제 2 복수의 텍스쳐 뷰 블록들 중 어느 것이 4 개의 8x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝된다는 것에 기초하여, 상기 IVMP 가 디스에이블된다고 결정하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  6. 제 1 항에 있어서,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 모션 벡터를 결정하는 단계를 더 포함하고,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 상기 모션 벡터를 결정하는 단계는,
    상기 적어도 하나의 파티션에 대응하는 상기 복수의 텍스쳐 뷰 블록들의 상기 텍스쳐 뷰 블록에 대한 모션 벡터를 스케일링하는 단계; 및
    스케일링된 상기 모션 벡터를 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 상기 모션 벡터로서 설정하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  7. 제 1 항에 있어서,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록은 하나의 16x16 텍스쳐 뷰 블록 파티션으로 파티셔닝되는, 비디오 데이터 코딩 방법.
  8. 제 1 항에 있어서,
    상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이 적어도 동일한 영역을 포함하는지를 결정하는 단계, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하는 단계, 및 상기 참조 인덱스를 결정하는 단계는,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로 파티셔닝되지 않고, 하나의 참조 픽쳐 리스트에서 상기 두 개의 텍스쳐 뷰 블록 파티션들 양쪽 모두에 대한 참조 인덱스가 -1 과 같지 않다는 것에 기초하여, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이 적어도 동일한 영역을 포함하는지를 결정하는 단계, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하는 단계, 및 상기 참조 인덱스를 결정하는 단계를 포함하며,
    상기 방법은,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로서 파티셔닝되고, 하나의 참조 픽쳐 리스트에서 상기 두 개의 텍스쳐 뷰 블록 파티션들 양쪽 모두에 대한 참조 인덱스가 -1 과 같다는 것에 기초하여, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 상기 참조 인덱스를 -1 과 같게 설정하는 단계를 더 포함하는, 비디오 데이터 코딩 방법.
  9. 제 1 항에 있어서,
    상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이 적어도 동일한 영역을 포함하는지를 결정하는 단계, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하는 단계, 및 상기 참조 인덱스를 결정하는 단계는,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로 파티셔닝되지 않고, 하나의 참조 픽쳐 리스트에서 상기 두 개의 텍스쳐 뷰 블록 파티션들 양쪽 모두에 대한 참조 인덱스가 -1 과 같지 않다는 것에 기초하여, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이 적어도 동일한 영역을 포함하는지를 결정하는 단계, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하는 단계, 및 상기 참조 인덱스를 결정하는 단계를 포함하며,
    상기 방법은,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로서 파티셔닝되고, 상기 두 개의 텍스쳐 뷰 블록 파티션들 중 제 1 파티션의 참조 픽쳐 리스트에 대한 참조 인덱스가 -1 과 같지 않고 상기 두 개의 텍스쳐 뷰 블록 파티션들 중 제 2 파티션의 상기 참조 픽쳐 리스트에 대한 참조 인덱스가 -1 과 같다는 것에 기초하여, 상기 두 개의 텍스쳐 뷰 블록 파티션들 중 상기 제 1 파티션의 상기 참조 인덱스를 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 상기 참조 인덱스로서 설정하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  10. 제 1 항에 있어서,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 파티션 모드를 결정하는 단계를 더 포함하고,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 파티션 모드를 결정하는 단계는,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로서 파티셔닝되고 상기 텍스쳐 뷰 블록 파티션들의 양쪽 모두의 참조 인덱스가 상이하다는 것에 기초하여, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션의 상기 파티션 모드를 하나의 8x8 서브블록으로서 설정하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  11. 제 1 항에 있어서,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 파티션 모드를 결정하는 단계를 더 포함하고,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 파티션 모드를 결정하는 단계는,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로 파티셔닝되고 상기 텍스쳐 뷰 블록 파티션들의 양쪽 모두의 참조 인덱스가 동일하다는 것에 기초하여, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션의 상기 파티션 모드를 하나의 8x4 서브블록 또는 하나의 4x8 서브블록으로서 설정하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  12. 제 1 항에 있어서,
    POC (picture order count) 값들이 상기 복수의 대응하는 텍스쳐 뷰 블록들 중 상기 텍스쳐 뷰 블록의 텍스쳐 뷰 참조 픽쳐 리스트에서 리스트되는 순서가, 상기 POC 값들이 심도 뷰 참조 픽쳐 리스트에서 리스트되는 순서와 상이하다고 결정하는 단계를 더 포함하고,
    상기 참조 인덱스를 결정하는 단계는,
    상기 복수의 텍스쳐 뷰 블록들 중 상기 텍스쳐 뷰 블록에 대한 참조 인덱스에 기초하여 상기 텍스쳐 뷰 참조 픽쳐 리스트에서 식별된 참조 텍스쳐 뷰 성분의 POC 값을 결정하는 단계; 및
    상기 심도 뷰 참조 픽쳐 리스트의 참조 인덱스를 결정하는 단계를 포함하고,
    상기 심도 뷰 참조 픽쳐 리스트의 상기 참조 인덱스는 상기 참조 텍스쳐 뷰 성분의 상기 POC 값에 동일한 상기 심도 뷰 참조 픽쳐 리스트에서의 POC 값을 식별하는, 비디오 데이터 코딩 방법.
  13. 제 1 항에 있어서,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록은 두 개의 16x8 텍스쳐 뷰 블록 파티션들 또는 두 개의 8x16 텍스쳐 뷰 블록 파티션들로 파티셔닝되는, 비디오 데이터 코딩 방법.
  14. 제 1 항에 있어서,
    상기 복수의 텍스쳐 뷰 블록들을 코딩하는 단계는 상기 텍스쳐 뷰 성분의 상기 복수의 텍스쳐 뷰 블록들을 디코딩하는 단계를 포함하고, 상기 복수의 텍스쳐 뷰 블록들은 상기 심도 뷰 성분의 상기 단일의 심도 뷰 블록에 대응하고,
    상기 단일의 심도 뷰 블록을 코딩하는 단계는 상기 결정된 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록을 디코딩하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  15. 제 1 항에 있어서,
    상기 복수의 텍스쳐 뷰 블록들을 코딩하는 단계는 상기 텍스쳐 뷰 성분의 상기 복수의 텍스쳐 뷰 블록들을 인코딩하는 단계를 포함하고, 상기 복수의 텍스쳐 뷰 블록들은 상기 심도 뷰 성분의 상기 단일의 심도 뷰 블록에 대응하고,
    상기 단일의 심도 뷰 블록을 코딩하는 단계는 상기 결정된 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록을 인코딩하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  16. 비디오 데이터를 코딩하는 디바이스로서,
    복수의 참조 픽쳐들을 저장하도록 구성된 메모리 유닛; 및
    비디오 코더를 포함하고,
    상기 비디오 코더는,
    텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하는 것으로서, 상기 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응하는, 상기 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하고;
    상기 단일의 심도 뷰 블록의 적어도 하나의 파티션에 대응하는 상기 복수의 텍스쳐 뷰 블록들 중 텍스쳐 뷰 블록이 복수의 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 것에 기초하여,
    상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션이 상기 단일의 심도 뷰 블록에 대해 위치되는 곳과 적어도 동일한 영역을 상기 텍스쳐 뷰 블록에 대해 포함하는지를 결정하고;
    상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하고;
    선택된 상기 텍스쳐 뷰 블록 파티션의 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록의 적어도 하나의 파티션의 참조 인덱스를 결정하고;
    결정된 상기 참조 인덱스로부터 식별되는 상기 복수의 참조 픽쳐들 중 하나의 참조 픽쳐에 기초하여 상기 단일의 심도 뷰 블록을 코딩하도록 구성되고,
    상기 심도 뷰 성분 및 상기 텍스쳐 뷰 성분은 액세스 유닛 내에서 동일한 뷰에 속하고,
    상기 단일의 심도 뷰 블록은 대응하는 상기 복수의 텍스쳐 뷰 블록들 내의 모든 픽셀들의 상대 심도를 나타내고,
    상기 심도 뷰 성분의 공간 해상도는 상기 텍스쳐 뷰 성분의, 1/2 폭 및 1/2 높이인, 공간 해상도의 1/4 인, 비디오 데이터 코딩 디바이스.
  17. 제 16 항에 있어서,
    상기 비디오 코더는 IVMP (Inside View Motion Prediction) 가 상기 단일의 심도 뷰 블록에 대해 인에이블된다고 결정하도록 구성되고,
    상기 비디오 코더는 상기 IVMP 가 인에이블되는 것에 기초하여 상기 참조 인덱스를 결정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  18. 제 17 항에 있어서,
    상기 비디오 코더는 상기 IVMP 가 인에이블되는 것을 나타내는 IVMP 플래그를 코딩하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  19. 제 16 항에 있어서,
    상기 단일의 심도 뷰 블록은 제 1 심도 뷰 블록을 포함하고, 상기 복수의 텍스쳐 뷰 블록들은 제 1 복수의 텍스쳐 뷰 블록들을 포함하며,
    상기 비디오 코더는 제 2 복수의 텍스쳐 뷰 블록들 중 어느 것의 예측 모드 또는 상기 제 2 복수의 텍스쳐 뷰 블록들 중 어느 것의 파티션 모드 중 적어도 하나에 기초하여 IVMP (Inside View Motion Prediction) 가 상기 제 2 복수의 텍스쳐 뷰 블록들에 대응하는 제 2 심도 뷰 블록에 대해 디스에이블된다고 결정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  20. 제 19 항에 있어서,
    상기 비디오 코더는 상기 제 2 복수의 텍스쳐 뷰 블록들 중 어느 것이 인트라 예측되는 것에 기초하여 또는 상기 복수의 텍스쳐 뷰 블록들 중 어느 것이 4 개의 8x8 텍스쳐 뷰 매크로블록 파티션들로 파티셔닝되는 것에 기초하여 상기 IVMP 가 디스에이블된다고 결정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  21. 제 16 항에 있어서,
    상기 비디오 코더는 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 모션 벡터를 결정하도록 구성되고,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 상기 모션 벡터를 결정하기 위해, 상기 비디오 코더는,
    상기 적어도 하나의 파티션에 대응하는 상기 복수의 텍스쳐 뷰 블록들의 상기 텍스쳐 뷰 블록에 대한 모션 벡터를 스케일링하고;
    스케일링된 상기 모션 벡터를 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 상기 모션 벡터로서 설정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  22. 제 16 항에 있어서,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록은 하나의 16x16 텍스쳐 뷰 블록 파티션으로 파티셔닝되는, 비디오 데이터를 코딩하는 디바이스.
  23. 제 16 항에 있어서,
    상기 비디오 코더는, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로 파티셔닝되지 않고, 하나의 참조 픽쳐 리스트에서 상기 두 개의 텍스쳐 뷰 블록 파티션들 양쪽 모두에 대한 참조 인덱스가 -1 과 같지 않다는 것에 기초하여, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이 적어도 동일한 영역을 포함하는지를 결정하고, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하고, 상기 참조 인덱스를 결정하도록 구성되고,
    상기 비디오 코더는,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로서 파티셔닝되고, 하나의 참조 픽쳐 리스트에서 상기 두 개의 텍스쳐 뷰 블록 파티션들 양쪽 모두에 대한 참조 인덱스가 -1 과 같다는 것에 기초하여, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 상기 참조 인덱스를 -1 과 같게 설정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  24. 제 16 항에 있어서,
    상기 비디오 코더는, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로 파티셔닝되지 않고, 하나의 참조 픽쳐 리스트에서 상기 두 개의 텍스쳐 뷰 블록 파티션들 양쪽 모두에 대한 참조 인덱스가 -1 과 같지 않다는 것에 기초하여, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이 적어도 동일한 영역을 포함하는지를 결정하고, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하고, 상기 참조 인덱스를 결정하도록 구성되고,
    상기 비디오 코더는,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로서 파티셔닝되고, 상기 두 개의 텍스쳐 뷰 블록 파티션들 중 제 1 파티션의 참조 픽쳐 리스트에 대한 참조 인덱스가 -1 과 같지 않고 상기 두 개의 텍스쳐 뷰 블록 파티션들 중 제 2 파티션의 상기 참조 픽쳐 리스트에 대한 참조 인덱스가 -1 과 같다는 것에 기초하여, 상기 두 개의 텍스쳐 뷰 블록 파티션들 중 상기 제 1 파티션의 상기 참조 인덱스를 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 상기 참조 인덱스로서 설정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  25. 제 16 항에 있어서,
    상기 비디오 코더는 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 파티션 모드를 결정하도록 구성되고,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 파티션 모드를 결정하기 위해, 상기 비디오 코더는,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로 파티셔닝되고 상기 텍스쳐 뷰 블록 파티션들의 양쪽 모두의 참조 인덱스가 상이하다는 것에 기초하여, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션의 상기 파티션 모드를 하나의 8x8 서브블록으로서 설정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  26. 제 16 항에 있어서,
    상기 비디오 코더는 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 파티션 모드를 결정하도록 구성되고,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대한 파티션 모드를 결정하기 위해, 상기 비디오 코더는,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록이 두 개의 텍스쳐 뷰 블록 파티션들로 파티셔닝되고 상기 텍스쳐 뷰 블록 파티션들의 양쪽 모두의 참조 인덱스가 동일하다는 것에 기초하여, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션의 상기 파티션 모드를 하나의 8x4 서브블록 또는 하나의 4x8 서브블록으로서 설정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  27. 제 16 항에 있어서,
    상기 참조 인덱스를 결정하기 위해, 상기 비디오 코더는,
    POC (picture order count) 값들이 상기 복수의 대응하는 텍스쳐 뷰 블록들 중 상기 텍스쳐 뷰 블록의 텍스쳐 뷰 참조 픽쳐 리스트에서 리스트되는 순서가, 상기 POC 값들이 심도 뷰 참조 픽쳐 리스트에서 리스트되는 순서와 상이하다고 결정하고;
    상기 복수의 텍스쳐 뷰 블록들 중 상기 텍스쳐 뷰 블록에 대한 참조 인덱스에 기초하여 상기 텍스쳐 뷰 참조 픽쳐 리스트에서 식별된 참조 텍스쳐 뷰 성분의 POC 값을 결정하고;
    상기 심도 뷰 참조 픽쳐 리스트의 참조 인덱스를 결정하도록 구성되고,
    상기 심도 뷰 참조 픽쳐 리스트의 상기 참조 인덱스는 상기 참조 텍스쳐 뷰 성분의 상기 POC 값에 동일한 상기 심도 뷰 참조 픽쳐 리스트에서의 POC 값을 식별하는, 비디오 데이터를 코딩하는 디바이스.
  28. 제 16 항에 있어서,
    상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션에 대응하는 상기 텍스쳐 뷰 블록은 두 개의 16x8 텍스쳐 뷰 블록 파티션들 또는 두 개의 8x16 텍스쳐 뷰 블록 파티션들로 파티셔닝되는, 비디오 데이터를 코딩하는 디바이스.
  29. 제 16 항에 있어서,
    상기 비디오 코더는 비디오 디코더를 포함하고,
    상기 비디오 디코더는,
    상기 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 디코딩하는 것으로서, 상기 복수의 텍스쳐 뷰 블록들은 상기 심도 뷰 성분의 상기 단일의 심도 뷰 블록에 대응하는, 상기 디코딩하고;
    상기 결정된 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록을 디코딩하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  30. 제 16 항에 있어서,
    상기 비디오 코더는 비디오 인코더를 포함하고,
    상기 비디오 인코더는,
    상기 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 인코딩하는 것으로서, 상기 복수의 텍스쳐 뷰 블록들은 상기 심도 뷰 성분의 상기 단일의 심도 뷰 블록에 대응하는, 상기 인코딩하고;
    상기 결정된 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록을 인코딩하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  31. 제 16 항에 있어서,
    상기 디바이스는,
    무선 통신 디바이스;
    마이크로프로세서; 및
    집적 회로
    중 하나를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  32. 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은 실행시, 비디오 데이터를 코딩하는 디바이스의 프로세서로 하여금,
    텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하게 하는 것으로서, 상기 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응하는, 상기 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하게 하고;
    상기 단일의 심도 뷰 블록의 적어도 하나의 파티션에 대응하는 상기 복수의 텍스쳐 뷰 블록들 중 텍스쳐 뷰 블록이 복수의 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 것에 기초하여,
    상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션이 상기 단일의 심도 뷰 블록에 대해 위치되는 곳과 적어도 동일한 영역을 상기 텍스쳐 뷰 블록에 대해 포함하는지를 결정하게 하고;
    상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하게 하고;
    선택된 상기 텍스쳐 뷰 블록 파티션의 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록의 적어도 하나의 파티션의 참조 인덱스를 결정하게 하고;
    결정된 상기 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록을 코딩하게 하고,
    상기 심도 뷰 성분 및 상기 텍스쳐 뷰 성분은 액세스 유닛 내에서 동일한 뷰에 속하고,
    상기 단일의 심도 뷰 블록은 대응하는 상기 복수의 텍스쳐 뷰 블록들 내의 모든 픽셀들의 상대 심도를 나타내고,
    상기 심도 뷰 성분의 공간 해상도는 상기 텍스쳐 뷰 성분의, 1/2 폭 및 1/2 높이인, 공간 해상도의 1/4 인, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  33. 비디오 데이터 코딩 디바이스로서,
    텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하는 수단으로서, 상기 복수의 텍스쳐 뷰 블록들은 심도 뷰 성분의 단일의 심도 뷰 블록에 대응하는, 상기 텍스쳐 뷰 성분의 복수의 텍스쳐 뷰 블록들을 코딩하는 수단;
    상기 단일의 심도 뷰 블록의 적어도 하나의 파티션에 대응하는 상기 복수의 텍스쳐 뷰 블록들 중 텍스쳐 뷰 블록이 복수의 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 것에 기초하여, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 어느 텍스쳐 뷰 블록 파티션이, 상기 단일의 심도 뷰 블록의 상기 적어도 하나의 파티션이 상기 단일의 심도 뷰 블록에 대해 위치되는 곳과 적어도 동일한 영역을 상기 텍스쳐 뷰 블록에 대해 포함하는지를 결정하는 수단;
    상기 단일의 심도 뷰 블록의 적어도 하나의 파티션에 대응하는 상기 복수의 텍스쳐 뷰 블록들 중 텍스쳐 뷰 블록이 복수의 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 것에 기초하여, 상기 복수의 텍스쳐 뷰 블록 파티션들 중 결정된 상기 텍스쳐 뷰 블록 파티션을 선택하는 수단;
    상기 단일의 심도 뷰 블록의 적어도 하나의 파티션에 대응하는 상기 복수의 텍스쳐 뷰 블록들 중 텍스쳐 뷰 블록이 복수의 텍스쳐 뷰 블록 파티션들로 파티셔닝되는 것에 기초하여, 선택된 상기 텍스쳐 뷰 블록 파티션의 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록의 적어도 하나의 파티션의 참조 인덱스를 결정하는 수단; 및
    결정된 상기 참조 인덱스에 기초하여 상기 단일의 심도 뷰 블록을 코딩하는 수단을 포함하고,
    상기 심도 뷰 성분 및 상기 텍스쳐 뷰 성분은 액세스 유닛 내에서 동일한 뷰에 속하고,
    상기 단일의 심도 뷰 블록은 대응하는 상기 복수의 텍스쳐 뷰 블록들 내의 모든 픽셀들의 상대 심도를 나타내고,
    상기 심도 뷰 성분의 공간 해상도는 상기 텍스쳐 뷰 성분의, 1/2 폭 및 1/2 높이인, 공간 해상도의 1/4 인, 비디오 데이터 코딩 디바이스.
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
KR1020147016428A 2011-11-18 2012-11-16 텍스쳐 및 심도 뷰 성분들 간의 내부 뷰 모션 예측 KR101632812B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161561800P 2011-11-18 2011-11-18
US61/561,800 2011-11-18
US201161563771P 2011-11-26 2011-11-26
US61/563,771 2011-11-26
US201261585169P 2012-01-10 2012-01-10
US61/585,169 2012-01-10
US13/678,374 2012-11-15
US13/678,374 US9485503B2 (en) 2011-11-18 2012-11-15 Inside view motion prediction among texture and depth view components
PCT/US2012/065675 WO2013075024A1 (en) 2011-11-18 2012-11-16 Inside view motion prediction among texture and depth view components

Publications (2)

Publication Number Publication Date
KR20140096129A KR20140096129A (ko) 2014-08-04
KR101632812B1 true KR101632812B1 (ko) 2016-06-22

Family

ID=48426920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147016428A KR101632812B1 (ko) 2011-11-18 2012-11-16 텍스쳐 및 심도 뷰 성분들 간의 내부 뷰 모션 예측

Country Status (7)

Country Link
US (1) US9485503B2 (ko)
EP (1) EP2781096B1 (ko)
JP (1) JP5866454B2 (ko)
KR (1) KR101632812B1 (ko)
CN (1) CN103975597B (ko)
IN (1) IN2014CN03590A (ko)
WO (1) WO2013075024A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
EP3754982B1 (en) * 2011-09-29 2024-05-01 SHARP Kabushiki Kaisha Image decoding device, image decoding method, image encoding method and image encoding device for performing bi-prediction to uni-prediction conversion
WO2013047805A1 (ja) 2011-09-29 2013-04-04 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
WO2013082291A2 (en) * 2011-11-29 2013-06-06 Huawei Technologies Co., Ltd. Unified partitioning structures and signaling methods for high efficiency video coding
JP2013198059A (ja) * 2012-03-22 2013-09-30 Sharp Corp 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法およびプログラム
US20130271565A1 (en) * 2012-04-16 2013-10-17 Qualcomm Incorporated View synthesis based on asymmetric texture and depth resolutions
KR102028123B1 (ko) * 2012-04-23 2019-10-04 삼성전자주식회사 다시점 비디오 부호화 방법 및 장치, 다시점 비디오 복호화 방법 및 장치
WO2013176485A1 (ko) * 2012-05-22 2013-11-28 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
MX340603B (es) 2012-09-03 2016-07-15 Sony Corp Dispositivo y metodo de procesamiento de imagenes.
JP6787667B2 (ja) 2012-09-21 2020-11-18 ノキア テクノロジーズ オサケユイチア ビデオコーディングのための方法と装置
US9544612B2 (en) * 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
US20150326880A1 (en) * 2012-12-14 2015-11-12 Liu He Inside view motion prediction among texture and depth view components with asymmetric spatial resolution
WO2015007348A1 (en) * 2013-07-19 2015-01-22 Huawei Technologies Co., Ltd. Method and apparatus for encoding and decoding a texture block using depth based block partitioning
CN109743577A (zh) * 2013-10-18 2019-05-10 华为技术有限公司 视频编解码中的块分割方式确定方法及相关装置
EP3059968A4 (en) * 2013-10-18 2017-05-31 LG Electronics Inc. Method and apparatus for decoding multi-view video
US10070147B2 (en) 2013-10-18 2018-09-04 Lg Electronics Inc. Method predicting view synthesis in multi-view video coding and method for constituting merge candidate list by using same
WO2015123806A1 (en) 2014-02-18 2015-08-27 Mediatek Singapore Pte. Ltd. Methods for depth based block partitioning
WO2015135175A1 (en) * 2014-03-13 2015-09-17 Mediatek Singapore Pte. Ltd. Simplified depth based block partitioning method
EP3122050A4 (en) * 2014-03-20 2017-12-13 LG Electronics Inc. 3d video encoding/decoding method and device
CN105519120B (zh) * 2014-06-20 2019-03-22 寰发股份有限公司 用于视频数据的三维或多视图视频编码的分区模式编码方法
WO2015192706A1 (en) * 2014-06-20 2015-12-23 Mediatek Inc. Method of coding for depth based block partitioning mode in three-dimensional or multi-view video coding
US9704213B2 (en) 2014-08-13 2017-07-11 Qualcomm Incorporated Texture element streaming
CN105957137B (zh) * 2016-04-20 2018-09-21 上海交通大学 基于纹理映射的三维彩色模型图像处理方法
CN106973292B (zh) * 2017-02-27 2019-07-09 华侨大学 基于纹理特性的3d-hevc帧间预测快速模式选择方法
US20190327655A1 (en) * 2018-04-23 2019-10-24 Mediatek Inc. Methods And Apparatus For Selecting Large-Bandwidth Cell In Mobile Communications
WO2020003274A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
CN110662057B (zh) 2018-06-29 2022-06-21 北京字节跳动网络技术有限公司 视频处理方法、装置、设备以及存储比特流的方法
BR112020024202A2 (pt) 2018-06-29 2021-02-17 Beijing Bytedance Network Technology Co., Ltd. método de processamento de dados de vídeo, aparelho de processamento de vídeo e meios de armazenamento e gravação legíveis por computador não transitório
EP3791589A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Which lut to be updated or no updating
MX2020013828A (es) 2018-06-29 2021-03-25 Beijing Bytedance Network Tech Co Ltd Interaccion entre lut y amvp.
CN115134599A (zh) 2018-06-29 2022-09-30 抖音视界有限公司 更新查找表(lut)的条件
TWI752331B (zh) 2018-06-29 2022-01-11 大陸商北京字節跳動網絡技術有限公司 當向Merge/AMVP添加HMVP候選時的部分/完全修剪
JP7181395B2 (ja) 2018-07-02 2022-11-30 北京字節跳動網絡技術有限公司 イントラ予測モードを有するルックアップテーブルおよび非隣接ブロックからのイントラモード予測
EP4336832A3 (en) * 2018-08-17 2024-05-22 Huawei Technologies Co., Ltd. Reference picture management in video coding
US10951885B2 (en) * 2018-08-30 2021-03-16 Google Llc Adaptive temporal filtering for alternate frame reference rendering
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090147848A1 (en) 2006-01-09 2009-06-11 Lg Electronics Inc. Inter-Layer Prediction Method for Video Signal

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107705A (en) 1990-03-30 1992-04-28 Schlumberger Technology Corporation Video system and method for determining and monitoring the depth of a bottomhole assembly within a wellbore
US5329369A (en) 1990-06-01 1994-07-12 Thomson Consumer Electronics, Inc. Asymmetric picture compression
US5821986A (en) 1994-11-03 1998-10-13 Picturetel Corporation Method and apparatus for visual communications in a scalable network environment
US5852565A (en) 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
JP3466032B2 (ja) 1996-10-24 2003-11-10 富士通株式会社 動画像符号化装置および復号化装置
US6125147A (en) 1998-05-07 2000-09-26 Motorola, Inc. Method and apparatus for reducing breathing artifacts in compressed video
US6310919B1 (en) 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
US6665344B1 (en) 1998-06-29 2003-12-16 Zenith Electronics Corporation Downconverting decoder for interlaced pictures
US6452969B1 (en) 1998-09-28 2002-09-17 Thomson Licensing S.A. Transform domain inverse motion compensation having fractional pel accuracy
CA2357921C (en) 2000-09-29 2007-02-06 Baker Hughes Incorporated Method and apparatus for prediction control in drilling dynamics using neural networks
CN1218282C (zh) 2001-11-27 2005-09-07 三星电子株式会社 用深度图像表示三维物体的节点结构
KR100481732B1 (ko) 2002-04-20 2005-04-11 전자부품연구원 다 시점 동영상 부호화 장치
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
US7801217B2 (en) * 2002-10-01 2010-09-21 Thomson Licensing Implicit weighting of reference pictures in a video encoder
US8761252B2 (en) 2003-03-27 2014-06-24 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
US7001065B2 (en) 2003-05-05 2006-02-21 Ray Dishaw Oilfield thread makeup and breakout verification system and method
US20050041736A1 (en) 2003-05-07 2005-02-24 Bernie Butler-Smith Stereoscopic television signal processing method, transmission system and viewer enhancements
KR100596705B1 (ko) 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
KR100586883B1 (ko) 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
US7079156B1 (en) 2004-05-14 2006-07-18 Nvidia Corporation Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
US7006700B2 (en) 2004-06-25 2006-02-28 Avocent Corporation Digital video compression command priority
CN101023672A (zh) * 2004-07-12 2007-08-22 诺基亚公司 在可调整视频编码中用于运动预测的系统和方法
US20060012719A1 (en) * 2004-07-12 2006-01-19 Nokia Corporation System and method for motion prediction in scalable video coding
KR100888963B1 (ko) * 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US7616824B2 (en) 2004-12-08 2009-11-10 Ecole Polytechnique Fédérale de Lausanne (EPFL) CM - Ecublens Method for spatially scalable video coding
US7925097B2 (en) 2005-02-18 2011-04-12 Sanyo Electric Co., Ltd. Image display method, image coding apparatus, and image decoding apparatus
CN101213840B (zh) * 2005-02-18 2011-02-02 汤姆森许可贸易公司 从低分辨率图像导出高分辨率图像的编码信息的方法以及实现该方法的编码和解码设备
CN101176347B (zh) 2005-04-01 2010-05-19 Lg电子株式会社 可对视频信号缩放地进行编码和解码的方法
US20060233258A1 (en) 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
WO2007029443A1 (ja) 2005-09-09 2007-03-15 Matsushita Electric Industrial Co., Ltd. 画像処理方法、画像記録方法、画像処理装置および画像ファイルフォーマット
US8239766B2 (en) 2005-09-27 2012-08-07 Qualcomm Incorporated Multimedia coding techniques for transitional effects
KR100825737B1 (ko) 2005-10-11 2008-04-29 한국전자통신연구원 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱
US9131247B2 (en) 2005-10-19 2015-09-08 Thomson Licensing Multi-view video coding using scalable video coding
WO2007081176A1 (en) 2006-01-12 2007-07-19 Lg Electronics Inc. Processing multiview video
AU2006344088B2 (en) 2006-05-23 2010-07-29 Halliburton Energy Services, Inc. Remote logging operations environment
JP4915992B2 (ja) 2006-09-12 2012-04-11 オリンパスイメージング株式会社 ズームレンズ
TWI332799B (en) 2006-09-13 2010-11-01 Realtek Semiconductor Corp A video data source system and an analog back end device
CN102761744B (zh) 2006-10-13 2015-10-28 汤姆逊许可公司 用于多视点视频编码的参考图像列表管理语法
WO2008051041A1 (en) 2006-10-25 2008-05-02 Electronics And Telecommunications Research Institute Multi-view video scalable coding and decoding
EP1933564A1 (en) 2006-12-14 2008-06-18 Thomson Licensing Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction
US7606666B2 (en) 2007-01-29 2009-10-20 Schlumberger Technology Corporation System and method for performing oilfield drilling operations using visualization techniques
TW200845758A (en) 2007-05-03 2008-11-16 Nat Univ Chung Cheng Fast intra coding algorithms for dynamic definition adjustment
KR20100014552A (ko) 2007-03-23 2010-02-10 엘지전자 주식회사 비디오 신호의 인코딩/디코딩 방법 및 장치
EP2140687A2 (en) 2007-04-03 2010-01-06 Gary Demos Flowfield motion compensation for video compression
JP5273824B2 (ja) 2007-04-04 2013-08-28 トムソン ライセンシング 参照ピクチャー・リスト管理
AU2008239653C1 (en) 2007-04-12 2015-05-07 Dolby International Ab Tiling in video encoding and decoding
WO2008133455A1 (en) 2007-04-25 2008-11-06 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
US20100177819A1 (en) 2007-05-29 2010-07-15 Lg Electronics Inc. Method and an apparatus for processing a video signal
JP5646994B2 (ja) 2007-08-15 2014-12-24 トムソン ライセンシングThomson Licensing 多視点符号化ビデオにおける領域視差ベクトルを使用したモーションスキップモードのための方法及び装置
BRPI0818444A2 (pt) 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
DE102007049351A1 (de) 2007-10-15 2009-04-16 Siemens Ag Verfahren und Vorrichtung zum Erstellen eines kodierten Ausgangsvideostroms aus mindestens zwei kodierten Eingangsvideoströmen, sowie Verwendung der Vorrichtung und kodierter Eingangsvideostrom
US7878268B2 (en) 2007-12-17 2011-02-01 Schlumberger Technology Corporation Oilfield well planning and operation
JP2011509631A (ja) 2008-01-11 2011-03-24 トムソン ライセンシング ビデオおよび奥行きの符号化
US8577660B2 (en) 2008-01-23 2013-11-05 Schlumberger Technology Corporation Three-dimensional mechanical earth modeling
JP5203503B2 (ja) 2008-04-16 2013-06-05 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ビット深度スケーラビリティ
US8527248B2 (en) 2008-04-18 2013-09-03 Westerngeco L.L.C. System and method for performing an adaptive drilling operation
US8855199B2 (en) 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
TW200945909A (en) 2008-04-22 2009-11-01 Novatek Microelectronics Corp Synchronization signal extraction device and related method
WO2010043773A1 (en) 2008-10-17 2010-04-22 Nokia Corporation Sharing of motion vector in 3d video coding
US9113196B2 (en) * 2008-11-10 2015-08-18 Lg Electronics Inc. Method and device for processing a video signal using inter-view prediction
US8760495B2 (en) 2008-11-18 2014-06-24 Lg Electronics Inc. Method and apparatus for processing video signal
KR101158491B1 (ko) 2008-12-08 2012-06-20 한국전자통신연구원 다시점 영상 부호화, 복호화 방법 및 그 장치.
US8750632B2 (en) 2008-12-26 2014-06-10 JVC Kenwood Corporation Apparatus and method for encoding images from multiple viewpoints and associated depth information
US8326538B2 (en) 2008-12-30 2012-12-04 Occidental Permian Ltd. Mobile wellsite monitoring
US8514942B2 (en) 2008-12-31 2013-08-20 Entropic Communications, Inc. Low-resolution video coding content extraction
WO2010079921A2 (ko) 2009-01-12 2010-07-15 엘지 전자 주식회사 뎁스 정보를 이용한 비디오 신호 처리 방법 및 장치
KR101405019B1 (ko) 2009-01-29 2014-06-11 돌비 레버러토리즈 라이쎈싱 코오포레이션 다중 이미지들,예를 들면 스테레오스코픽을 서브―샘플링 및 인터리빙하기 위한 방법들 및 디바이스들
EP2399394B1 (en) 2009-02-19 2020-09-30 InterDigital Madison Patent Holdings 3d video formats
US20100246683A1 (en) * 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
WO2010120804A1 (en) 2009-04-13 2010-10-21 Reald Inc. Encoding, decoding, and distributing enhanced resolution stereoscopic video
US9078008B2 (en) 2009-04-20 2015-07-07 Dolby Laboratories Licensing Corporation Adaptive inter-layer interpolation filters for multi-layered video delivery
CN102415100B (zh) 2009-04-27 2015-02-04 Lg电子株式会社 广播接收机及其3d视频数据处理方法
US20120050475A1 (en) 2009-05-01 2012-03-01 Dong Tian Reference picture lists for 3dv
WO2011017336A1 (en) 2009-08-03 2011-02-10 General Instrument Corporation Method of encoding video content
KR101624649B1 (ko) 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101636539B1 (ko) 2009-09-10 2016-07-05 삼성전자주식회사 입체영상 압축 처리 방법 및 장치
KR101807886B1 (ko) 2009-10-14 2017-12-11 돌비 인터네셔널 에이비 깊이 맵 처리를 위한 방법 및 디바이스
KR101631451B1 (ko) 2009-11-16 2016-06-20 엘지전자 주식회사 영상표시장치 및 그 동작방법
KR101703327B1 (ko) 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
WO2011094034A2 (en) 2010-01-27 2011-08-04 Dolby Laboratories Licensing Corporation Methods and systems for reference processing in image and video codecs
BR112012020471B1 (pt) 2010-02-15 2021-09-21 Interdigital Madison Patent Holdings Aparelho e método para processar conteúdo de vídeo, e aparelho e método para processar um sinal
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN106358045B (zh) 2010-04-13 2019-07-19 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
CN103155568B (zh) 2010-07-08 2016-07-27 杜比实验室特许公司 用于使用参考处理信号进行多层图像和视频传输的系统和方法
US20120079583A1 (en) 2010-09-23 2012-03-29 Microsoft Corporation Offload reads and writes
US20120075436A1 (en) 2010-09-24 2012-03-29 Qualcomm Incorporated Coding stereo video data
JP5855570B2 (ja) 2010-09-30 2016-02-09 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
US9035939B2 (en) 2010-10-04 2015-05-19 Qualcomm Incorporated 3D video control system to adjust 3D video rendering based on user preferences
US20130311147A1 (en) 2011-02-01 2013-11-21 Halliburton Energy Services, Inc. Drilling optimization
KR101961889B1 (ko) * 2011-02-09 2019-03-25 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
US9565449B2 (en) 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
JP4893862B1 (ja) 2011-03-11 2012-03-07 オムロン株式会社 画像処理装置、および画像処理方法
US20120274664A1 (en) 2011-04-29 2012-11-01 Marc Fagnou Mobile Device Application for Oilfield Data Visualization
US9918068B2 (en) 2011-06-15 2018-03-13 Media Tek Inc. Method and apparatus of texture image compress in 3D video coding
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
JP5749595B2 (ja) 2011-07-27 2015-07-15 日本電信電話株式会社 画像伝送方法、画像伝送装置、画像受信装置及び画像受信プログラム
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
EP2781091B1 (en) 2011-11-18 2020-04-08 GE Video Compression, LLC Multi-view coding with efficient residual handling
US20130127987A1 (en) 2011-11-18 2013-05-23 Qualcomm Incorporated Signaling depth ranges for three-dimensional video coding
CN104205819B (zh) 2012-02-01 2017-06-30 诺基亚技术有限公司 用于视频编码的方法和装置
US9584711B2 (en) 2012-04-04 2017-02-28 Schlumberger Technology Corporation Imaging methods and systems for controlling equipment in remote environments
US20130287093A1 (en) 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
US20140218473A1 (en) 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090147848A1 (en) 2006-01-09 2009-06-11 Lg Electronics Inc. Inter-Layer Prediction Method for Video Signal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H.264-based depth map sequence coding using motion information of corresponding texture video (2006.12.31.)*

Also Published As

Publication number Publication date
US20130128965A1 (en) 2013-05-23
CN103975597A (zh) 2014-08-06
CN103975597B (zh) 2017-06-06
EP2781096A1 (en) 2014-09-24
JP2015502095A (ja) 2015-01-19
JP5866454B2 (ja) 2016-02-17
US9485503B2 (en) 2016-11-01
IN2014CN03590A (ko) 2015-10-16
WO2013075024A1 (en) 2013-05-23
KR20140096129A (ko) 2014-08-04
EP2781096B1 (en) 2016-01-06

Similar Documents

Publication Publication Date Title
KR101632812B1 (ko) 텍스쳐 및 심도 뷰 성분들 간의 내부 뷰 모션 예측
EP2932472B1 (en) Inside view motion prediction among texture and depth view components with asymmetric spatial resolution
KR101963054B1 (ko) 인트라 bc 및 인터 단일화
KR101600154B1 (ko) 비디오 코딩에서의 모션 벡터 예측
JP6312854B2 (ja) 3dビデオコーディングにおけるデルタdc残差コーディングの簡易化
KR101722823B1 (ko) 3d 비디오 코딩에서의 뷰 합성 예측 지원의 시그널링
JP6608275B2 (ja) ビデオコード化における視差ベクトル予測
KR101617971B1 (ko) 멀티뷰 비디오 코딩
KR101780434B1 (ko) 3d 비디오 코딩에서의 유도된 디스패리티 벡터
KR101617556B1 (ko) 멀티뷰 비디오 코딩
KR20140120900A (ko) 심도를 갖는 3d 비디오 코딩에서의 멀티-가설 디스패리티 벡터 구성
KR20160132891A (ko) 3d 비디오 코딩에 대한 제약된 깊이 인트라 모드 코딩
KR20160041841A (ko) 디스패리티 벡터 유도를 위한 화상들의 선택
EP3050299B1 (en) Inter-view dependency type in mv-hevc
KR20150126875A (ko) 뷰들 내에서의 그리고 뷰들에 걸친 심도 룩업 테이블들의 예측 코딩
JP2017507618A (ja) 3dビデオコーディングにおける大型予測ブロックのセグメントごとのdcコーディングの簡易化
EP2904809A1 (en) Sub-bitstream extraction for multiview, three-dimensional (3d) and scalable video bitstreams
JP2019050621A (ja) 3dビデオコーディングのための制限付き深度イントラモードコーディング

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