KR20140138788A - 깊이 기반 변이 벡터 교정을 포함하는 3d 비디오 코딩 - Google Patents

깊이 기반 변이 벡터 교정을 포함하는 3d 비디오 코딩 Download PDF

Info

Publication number
KR20140138788A
KR20140138788A KR1020147027039A KR20147027039A KR20140138788A KR 20140138788 A KR20140138788 A KR 20140138788A KR 1020147027039 A KR1020147027039 A KR 1020147027039A KR 20147027039 A KR20147027039 A KR 20147027039A KR 20140138788 A KR20140138788 A KR 20140138788A
Authority
KR
South Korea
Prior art keywords
prediction unit
vectors
type
subblocks
calibration
Prior art date
Application number
KR1020147027039A
Other languages
English (en)
Other versions
KR101618672B1 (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 KR20140138788A publication Critical patent/KR20140138788A/ko
Application granted granted Critical
Publication of KR101618672B1 publication Critical patent/KR101618672B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/513Processing of motion vectors
    • 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)

Abstract

깊이 기반 변이 벡터 교정을 포함하는 3D 비디오 코딩을 위한 동작들을 포함하는 시스템들, 장치들, 물건들 및 방법들이 설명된다.

Description

깊이 기반 변이 벡터 교정을 포함하는 3D 비디오 코딩{3D VIDEO CODING INCLUDING DEPTH BASED DISPARITY VECTOR CALIBRATION}
비디오 인코더는 더 많은 정보가 주어진 대역폭을 통해 전송될 수 있도록 비디오 정보를 압축한다. 그 후, 압축된 신호는 표시 전에 신호를 디코딩하거나 압축 해제하는 수신기로 전송될 수 있다.
3D 비디오 코딩(3D Video Coding(3DVC))은 다양한 3D 디스플레이들을 지원하는 것을 목표로 하는 새로운 비디오 압축 표준을 지칭한다. 3DVC는 IS0/IEC 동화상 전문가 그룹(Moving Picture Experts Group(MPEG))에 의해 개발 중이다. 현재, 3DVC는 최신의 종래 비디오 코딩 표준인 고효율 비디오 코딩(High Efficient Video Coding(HEVC))에 기초하여 형성되며, 이는 2012년 말까지 완성되도록 계획되어 있다.
멀티뷰 비디오 플러스 깊이(Multiview Video plus Depth(MVD)) 개념이 3D 비디오 콘텐츠를 표현하기 위해 이용되며, 이 경우 다수의 뷰 및 관련 깊이 맵들이 통상적으로 코딩되고 비트스트림으로 다중화된다. 각각의 뷰의 카메라 파라미터들도 뷰 합성의 목적을 위해 비트스트림 내에 통상적으로 팩킹된다. 통상적으로 기초 뷰 또는 독립 뷰로도 지칭되는 뷰들 중 하나가 통상적으로 나머지 뷰들과 무관하게 코딩된다. 독립 뷰들에 대해, 비디오 및 깊이가 다른 뷰들의 화상들 또는 동일 뷰 내의 이전에 코딩된 화상들로부터 예측될 수 있다. 특정 응용에 따르면, 필요 없는 비트스트림 패킷들을 폐기함으로써 디코더 측에서 서브비트스트림들이 추출될 수 있다.
본 명세서에서 설명되는 내용은 첨부 도면들 내에 한정이 아닌 예로서 도시된다. 도시의 단순성과 명료성을 위해, 도면들 내에 도시된 요소들은 반드시 축척에 따라 도시된 것은 아니다. 예를 들어, 일부 요소들의 치수들은 명료성을 위해 다른 요소들에 비해 과장될 수 있다. 또한, 적절하다고 생각되는 경우, 대응하거나 유사한 요소들을 지시하기 위해 도면들 간에 참조 부호들이 반복되었다. 도면들에서:
도 1은 예시적인 3D 비디오 코딩 시스템의 예시적인 도면이다.
도 2는 예시적인 3D 비디오 코딩 프로세스를 나타내는 흐름도이다.
도 3은 실행 중인 3D 비디오 코딩 프로세스의 예시적인 도면이다.
도 4는 예시적인 변이 벡터 교정의 예시적인 도면이다.
도 5는 예시적인 3D 비디오 코딩 시스템의 예시적인 도면이다.
도 6은 예시적인 시스템의 예시적인 도면이다.
도 7은 본 발명의 적어도 일부 구현들에 따라 모두 구성된 예시적인 시스템의 예시적인 도면이다.
이제 첨부 도면들을 참조하여 하나 이상의 실시예들 또는 구현들이 설명된다. 특정 구성들 및 배열들이 설명되지만, 이것은 단지 예시적인 목적으로 행해진다는 것을 이해해야 한다. 당업자들은 본 설명의 사상 및 범위로부터 벗어나지 않으면서 다른 구성들 및 배열들이 이용될 수 있다는 것을 인식할 것이다. 본 명세서에서 설명되는 기술들 및/또는 배열들은 본 명세서에서 설명되는 것과 다른 다양한 다른 시스템들 및 응용들에서도 이용될 수 있다는 것이 당업자들에게 명백할 것이다.
아래의 설명은 예를 들어 시스템-온-칩(SoC) 아키텍처들과 같은 아키텍처들에서 명백할 수 있는 다양한 구현들을 설명하지만, 본 명세서에서 설명되는 기술들 및/또는 배열들의 구현은 특정 아키텍처들 및/또는 컴퓨팅 시스템들로 한정되지 않으며, 유사한 목적들을 위해 임의의 아키텍처 및/또는 컴퓨팅 시스템에 의해 구현될 수 있다. 예를 들어, 다수의 집적 회로(IC) 칩 및/또는 패키지를 이용하는 다양한 아키텍처들 및/또는 셋톱 박스, 스마트폰 등과 같은 다양한 컴퓨팅 장치들 및/또는 소비자 전자(CE) 장치들이 본 명세서에서 설명되는 기술들 및/또는 배열들을 구현할 수 있다. 또한, 아래의 설명은 논리적 구현들, 시스템 컴포넌트들의 타입들 및 상호관계들, 논리적 분할/통합 선택들 등과 같은 다양한 특정 상세들을 설명할 수 있지만, 청구 발명은 그러한 특정 상세 없이도 실시될 수 있다. 다른 예들에서는, 본 명세서에서 개시되는 내용을 불명확하게 하지 않기 위해, 예를 들어 제어 구조들 및 전체 소프트웨어 명령어 시퀀스들과 같은 일부 내용은 상세히 설명되지 않을 수 있다.
본 명세서에서 개시되는 내용은 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의 조합으로 구현될 수 있다. 본 명세서에서 개시되는 내용은 하나 이상의 프로세서에 의해 판독 및 실행될 수 있는 머신 판독 가능 매체 상에 저장된 명령어들로서 구현될 수도 있다. 머신 판독 가능 매체는 머신(예로서, 컴퓨팅 장치)에 의해 판독 가능한 형태로 정보를 저장 또는 전송하기 위한 임의의 매체 및/또는 메커니즘을 포함할 수 있다. 예를 들어, 머신 판독 가능 매체는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치, 전기, 광, 음향 또는 다른 형태의 전파 신호(예로서, 반송파, 적외선 신호, 디지털 신호 등) 등을 포함할 수 있다.
본 명세서에서 "하나의 구현", "일 구현", "예시적인 구현" 등에 대한 참조들은 설명되는 구현이 특정 특징, 구조 또는 특성을 포함할 수 있지만, 모든 구현이 그러한 특정 특징, 구조 또는 특성을 반드시 포함하지는 않을 수 있다는 것을 지시한다. 더욱이, 그러한 표현들은 반드시 동일 구현을 지칭하지는 않는다. 또한, 특정 특징, 구조 또는 특성이 일 구현과 관련하여 설명될 때, 다른 구현들이 본 명세서에서 명확히 설명되는지의 여부에 관계없이 그러한 특징, 구조 또는 특성을 다른 구현들과 관련하여 실시하는 것은 당업자의 지식 내에 있다는 것을 언급한다.
깊이 기반 변이 벡터 교정을 포함하는 3D 비디오 코딩을 위한 동작들을 포함하는 시스템들, 장치들, 물건들 및 방법들이 아래에 설명된다.
전술한 바와 같이, 일부 예들에서, 전통적인 비디오 인코딩 알고리즘들은 손실을 유발한다. 즉, 비디오 정보를 압축하는 과정에서, 일부 정보가 손실되어 화질을 저하시킬 수 있다. 이상적으로는, 비디오 품질이 최대의 가능한 정도로 개선되며, 압축이 최대의 가능한 정도로 증가된다. 그러나, 이러한 2개의 목표는 서로 충돌하는 경향이 있다.
아래에 더 상세히 설명되는 바와 같이, 3D 비디오 코딩을 위한 동작들은 깊이 기반 변이 벡터 교정 기술들을 이용할 수 있다. 예를 들어, 깊이 기반 변이 벡터 교정 기술들은 3DVC를 위해 이용될 수 있다.
코딩 종속 뷰들에 대한 하나의 뷰간(inter-view) 코딩 도구는 모션 보상 예측(MCP)에 대안으로서 추가될 수 있는 변이 보상 예측(DCP)이다. MCP는 동일 뷰의 이미 코딩된 화상들을 이용하는 화상간 예측을 지칭할 수 있는 반면, DCP는 다른 뷰들의 이미 코딩된 화상들을 이용하는 화상간 예측을 지칭할 수 있다.
깊이 기반 변이 벡터 교정 모듈이 화상간 예측된 예측 유닛(PU)의 디코딩(또는 인코딩) 프로세스에서의 보상 전에 삽입될 수 있다. PU가 변이 보상될 때, 변이 벡터 값이 비트스트림에 의해 전송되거나, 소정의 주요 변이 벡터 교정 방안을 이용하여 도출될 수 있다. PU에 속하는 모든 픽셀들이 동일 주요 변이 벡터 값을 이용하여, 기준 뷰 화상으로부터 예측 픽셀들을 생성할 수 있다. 깊이 기반 변이 벡터 교정이 적용되는 경우에, 변이 벡터 값은 대응하는 깊이 맵 값에 기초하여 PU 내의 상이한 영역에 대해 정밀화될 수 있다.
도 1은 본 발명의 적어도 일부 구현들에 따라 구성된 예시적인 3D 비디오 코딩 시스템(100)의 예시적인 도면이다. 도시된 구현에서, 3D 비디오 코딩 시스템(100)은 하나 이상의 타입의 디스플레이들(예로서, N-뷰 디스플레이(140), 스테레오 디스플레이(142), 2D 디스플레이(144) 등), 하나 이상의 이미지 장치(도시되지 않음), 3D 비디오 인코더(103), 3D 비디오 디코더(105), 스테레오 비디오 디코더(107), 2D 비디오 디코더(109) 및/또는 비트스트림 추출기(110)를 포함할 수 있다.
일부 예들에서, 3D 비디오 코딩 시스템(100)은 명료화를 위해 도 1에 도시되지 않은 추가 아이템들을 포함할 수 있다. 예를 들어, 3D 비디오 코딩 시스템(100)은 프로세서, 무선 주파수 타입(RF) 송수신기 및/또는 안테나를 포함할 수 있다. 또한, 3D 비디오 코딩 시스템(100)은 명료화를 위해 도 1에 도시되지 않은 스피커, 마이크, 가속도계, 메모리, 라우터, 네트워크 인터페이스 로직 등과 같은 추가 아이템들을 포함할 수 있다.
본 명세서에서 사용될 때, 용어 "코더"는 인코더 및/또는 디코더를 지칭할 있다. 유사하게, 본 명세서에서 사용될 때, "코딩"은 인코더를 통한 인코딩 및/또는 디코더를 통한 디코딩을 지칭할 수 있다. 예를 들어, 3D 비디오 인코더(103) 및 3D 비디오 디코더(105) 양자는 3D 코딩이 가능한 코더들의 예들일 수 있다.
일부 예들에서, 송신기(102)가 다수의 이미징 장치(도시되지 않음)로부터 다수의 뷰를 수신할 수 있다. 3D 인코더(103)에 대한 입력 신호는 다수의 뷰(예를 들어, 비디오 화상들(112, 113)), 관련 깊이 맵들(예로서, 깊이 맵들(114, 115)), 및 대응하는 카메라 파라미터들(도시되지 않음)을 포함할 수 있다. 그러나, 3D 비디오 코딩 시스템(100)은 깊이 데이터 없이도 동작할 수 있다. 입력 컴포넌트 신호들은 3D 비디오 인코더(103)를 이용하여 비트스트림 내에 코딩되며, 이 경우에 기초 뷰는 2D 비디오 인코더, 예를 들어 H264/AVC 인코더 또는 고효율 비디오 코딩(HEVC) 인코더를 이용하여 코딩될 수 있다. 비트스트림 추출기(110)로부터의 비트스트림이 3D 비디오 디코더(105)를 이용하여 3D 수신기(104)에 의해 디코딩되는 경우, 비디오들(예로서, 비디오 화상들(116, 117)), 깊이 데이터(예를 들어, 깊이 맵들(118, 119)) 및/또는 카메라 파라미터들(도시되지 않음)은 주어진 충실도로 재구성될 수 있다.
다른 예들에서, 비트스트림 추출기(110)로부터의 비트스트림이 자동 스테레오 디스플레이(예로서, 스테레오 디스플레이(142)) 상에 3D 비디오를 표시하기 위해 스테레오 수신기(106)에 의해 디코딩되는 경우, 추가적인 중간 뷰들(예로서, 2개의 뷰 화상(120, 121))이 재구성된 뷰들 및 깊이 데이터를 이용하여 깊이 이미지 기반 렌더링(DIBR) 알고리즘에 의해 생성될 수 있다. 3D 비디오 디코더(103)가 전통적인 스테레오 디스플레이(예로서, 스테레오 디스플레이(142))에 접속되는 경우, 한 쌍의 스테레오 뷰들이 비트스트림 추출기(110)로부터의 비트스트림 내에 실제로 존재하지 않는 경우에는 중간 뷰 합성(130)이 또한 그러한 한 쌍의 뷰들을 생성할 수 있다.
추가 예들에서, 비트스트림 추출기(110)로부터의 비트스트림이 2D 수신기(108)에 의해 디코딩되는 경우, 디코딩된 뷰들 중 하나(예로서, 독립 뷰 화상(122)) 또는 임의의 가상 카메라 위치에서의 중간 뷰가 또한 전통적인 2D 디스플레이(예로서, 2D 디스플레이(144)) 상에 단일 뷰를 표시하는 데 사용될 수 있다.
동작 시에, 3D 비디오 코딩 시스템(100)은 깊이 기반 변이 벡터 교정을 포함하는 3D 비디오 코딩을 위한 동작들을 구현할 수 있다. 아래에 더 상세히 설명되는 바와 같이, 그러한 깊이 기반 변이 벡터 교정은 비디오 압축의 문제에 적용될 수 있다. 3D 비디오 압축 코딩에서는, 다양한 3D 비디오 응용들을 지원하기 위해 다수의 뷰들 및 관련 깊이 맵들이 비트스트림 내에 코딩될 수 있다. 뷰간 예측 기술들을 이용하여, 상이한 뷰들 간의 중복을 제거할 수 있으며, 이 경우에 변이 보상 기반 뷰간 예측이 모션 보상 예측에 대안으로서 추가될 수 있다. 변이가 추정되고 보상을 위해 사용될 때 상이한 깊이 레벨에 속하는 비디오 콘텐츠들은 통상적으로 상이하게 거동한다. 따라서, 그러한 깊이 기반 변이 벡터 교정은 서브블록들로 분할될 수 있는 변이 보상 블록을 사용할 수 있으며, 이 경우에 특성 깊이 값이 각각의 서브블록에 대해 도출될 수 있다. 이어서, 각각의 서브블록의 변이 벡터가 사전 정의된 깊이 모델을 이용하여 변경될 수 있다. 따라서, 그러한 깊이 기반 변이 벡터 교정은 3D 비디오 코딩의 코딩 효율 및 유연성을 개선할 수 있다.
아래에 더 상세히 설명되는 바와 같이, 3D 비디오 코딩 시스템(100)은 도 2 및/또는 3과 관련하여 아래에 설명되는 다양한 기능들 중 일부 또는 전부를 수행하는 데 사용될 수 있다.
도 2는 본 발명의 적어도 일부 구현들에 따라 구성된 예시적인 3D 비디오 코딩 프로세스(200)를 나타내는 흐름도이다. 도시된 구현에서, 프로세스(200)는 블록들(202, 204 및/또는 206) 중 하나 이상에 의해 도시되는 바와 같은 동작들, 기능들 또는 액션들을 포함할 수 있다. 비한정적인 예로서, 프로세스(200)는 본 명세서에서 도 1 및/또는 5의 예시적인 3D 비디오 코딩 시스템(100)과 관련하여 설명된다.
프로세스(200)는 모션 추정의 콘텐츠 인식 선택적 조정을 위한 컴퓨터로 구현된 방법으로서 이용될 수 있다. 프로세스(200)는 블록 202, 즉 "두 개 이상의 변이 벡터를 교정"에서 시작될 수 있으며, 여기서 2개 이상의 변이 벡터가 교정될 수 있다. 예를 들어, 예측 유닛과 관련된 두 개 이상의 변이 벡터가 깊이 맵에 적어도 부분적으로 기초하여 교정될 수 있다. 그러한 예측 유닛은 깊이 맵과 관련된 비디오 화상의 일부에 대응할 수 있다.
처리는 동작 202로부터 동작 204, 즉 "변이 보상 화상간 예측을 수행"으로 계속될 수 있으며, 여기서 변이 보상 화상간 예측이 수행될 수 있다. 예를 들어, 예측 유닛에 대한 변이 보상 화상간 예측이 교정된 변이 벡터들에 적어도 부분적으로 기초하여 수행될 수 있다.
처리는 동작 204로부터 동작 206, 즉 "예측 유닛의 예측된 나머지를 코딩"으로 계속될 수 있으며, 여기서 예측 유닛의 예측된 나머지가 코딩될 수 있다. 예를 들어, 예측 유닛은 변이 보상 화상간 예측에 적어도 부분적으로 기초하여 코딩될 수 있다. 일부 예들에서, 예측 유닛의 코딩은 3D 디코딩을 포함한다. 다른 예에서, 종속 뷰 비디오 화상의 디코딩은 코딩된 예측 유닛에 적어도 부분적으로 기초할 수 있다.
프로세스(200)와 관련된 일부 추가 및/또는 대안 상세들이 도 3과 관련하여 아래에 더 상세히 설명되는 구현들의 하나 이상의 예에서 설명될 수 있다.
도 3은 본 발명의 적어도 일부 구현들에 따라 구성되는 동작 중인 예시적인 3D 비디오 코딩 시스템(100) 및 3D 비디오 코딩 프로세스(300)의 예시적인 도면이다. 도시된 구현에서, 프로세스(300)는 액션들(312, 314, 316, 318, 320, 322, 324, 326 및/또는 330) 중 하나 이상에 의해 도시되는 바와 같은 하나 이상의 동작, 기능 또는 액션을 포함할 수 있다. 비한정적인 예로서, 프로세스(300)는 본 명세서에서 도 1 및/또는 5의 예시적인 3D 비디오 코딩 시스템(100)과 관련하여 설명된다.
도시된 구현에서, 3D 비디오 코딩 시스템(100)은 로직 모듈들(306 등 및/또는 이들의 조합들을 포함할 수 있다. 예를 들어, 로직 모듈들(306)은 PU 디코딩 로직 모듈(307), 화상내 예측(intra prediction) 로직 모듈(308), 모션 보상 로직 모듈(309), 변이 보상 로직 모듈(310) 등 및/또는 이들의 조합들을 포함할 수 있다. 3D 비디오 코딩 시스템(100)은 도 3에 도시된 바와 같이 특정 모듈들과 관련된 블록들 또는 액션들의 하나의 특정 세트를 포함할 수 있지만, 이러한 블록들 또는 액션들은 여기서 예시되는 특정 모듈과 다른 모듈들과 관련될 수 있다.
프로세스(300)는 블록 312, 즉 "디코딩을 시작"에서 시작될 수 있으며, 여기서 디코딩이 시작될 수 있다. 예를 들어, 깊이 맵과 관련된 비디오 화상의 일부에 대응하는 예측 유닛이 디코딩될 수 있다. 프로세스(300)는 도시된 바와 같이 디코딩과 관련되지만, 설명되는 개념들 및/또는 동작들은 일반적으로 인코딩을 포함하는 코딩에 동일하거나 유사한 방식으로 적용될 수 있다.
처리는 동작 312로부터 동작 314, 즉 "PU가 화상간인가?"로 계속될 수 있으며, 여기서 예측 유닛이 화상간 예측되는지 또는 화상내 예측되는지에 관한 결정이 행해질 수 있다. 예를 들어, 그러한 결정은 PU 디코딩 로직 모듈(307)에 의해 행해질 수 있다.
동작 314가 예측 유닛이 화상내 예측되는 것으로 결정하는 경우, 처리는 동작 314로부터 동작 316, 즉 "화상내 예측"으로 계속될 수 있으며, 여기서 화상내 예측 방안이 구현될 수 있다. 예를 들어, 화상내 예측 방안이 화상내 예측 로직 모듈(308)을 통해 행해질 수 있다.
처리는 동작 316으로부터 동작 318, 즉 "화상내 재구성"으로 계속될 수 있으며, 여기서 화상내 예측 유닛이 재구성될 수 있다. 예를 들어, 화상내 예측 유닛이 화상내 예측 로직 모듈(308)을 통해 화상내 예측 방안의 출력에 적어도 부분적으로 기초하여 재구성될 수 있다.
동작 314가 예측 유닛이 화상간 예측되는 것으로 결정하는 경우, 처리는 동작 314로부터 동작 320, 즉 "PU 변이 보상"으로 계속될 수 있으며, 여기서 PU 디코딩 로직 모듈(307)을 통해, 예측 유닛이 모션 보상되어야 하는지 또는 변이 보상되어야 하는지에 관한 결정이 행해질 수 있다.
동작 320이 예측 유닛이 변이 보상되지 않아야 하는 것으로 결정하는 경우, 처리는 동작 320으로부터 동작 322, 즉 "모션 보상"으로 계속될 수 있으며, 여기서 모션 보상 화상간 예측이 수행될 수 있다. 예를 들어, 모션 보상 로직 모듈(309)을 통해 동일 뷰의 코딩된 화상들에 적어도 부분적으로 기초하여 모션 보상 화상간 예측이 수행될 수 있다.
동작 320이 예측 유닛이 변이 보상되어야 하는 것으로 결정하는 경우, 처리는 동작 320으로부터 동작 324, 즉 "변이 벡터 교정"으로 계속될 수 있으며, 여기서 두 개 이상의 변이 벡터가 교정될 수 있다. 예를 들어, 예측 유닛과 관련된 두 개 이상의 변이 벡터가 변이 보상 로직 모듈(310)을 통해 (또는 별도의 교정 로직 모듈(도시되지 않음)을 통해) 깊이 맵에 적어도 부분적으로 기초하여 교정될 수 있다. 그러한 예측 유닛은 깊이 지도와 관련된 비디오 화상의 일부에 대응할 수 있다.
처리는 동작 324로부터 동작 326, 즉 "변이 보상"으로 계속될 수 있으며, 여기서 변이 보상 화상간 예측이 수행될 수 있다. 예를 들어, 교정된 변이 벡터들에 적어도 부분적으로 기초하여 예측 유닛에 대해 변이 보상 화상간 예측이 수행될 수 있다. 예를 들어, 변이 보상 로직 모듈(310)을 통해 다른 뷰들의 코딩된 화상들에 적어도 부분적으로 기초하여 예측 유닛에 대해 변이 보상 화상간 예측이 수행될 수 있다.
처리는 동작 318, 322 및/또는 326으로부터 동작 330, 즉 "디코딩 완료"로 계속될 수 있으며, 여기서 화상 유닛이 코딩될 수 있다. 예를 들어, 화상 유닛은 변이 보상 화상간 예측에 적어도 부분적으로 기초하여 코딩될 수 있다. 일부 예들에서, 예측 유닛의 코딩은 3D 디코딩을 포함한다. 다른 예에서, 종속 뷰 비디오 화상의 디코딩은 PU 디코딩 로직 모듈(307)을 통해 코딩된 예측 유닛에 적어도 부분적으로 기초할 수 있다.
도 2 및 3에 도시된 바와 같은 예시적인 프로세스들(200, 300)의 구현은 도시된 순서로의 도시된 모든 블록들의 수행을 포함할 수 있지만, 본 발명은 이와 관련하여 한정되지 않으며, 다양한 예들에서 프로세스들(200, 300)의 구현은 도시된 블록들의 서브세트만의 수행 및/또는 도시된 순서와 다른 순서로의 수행을 포함할 수 있다.
게다가, 도 2 및 3의 블록들 중 어느 하나 이상은 하나 이상의 컴퓨터 프로그램 제품에 의해 제공되는 명령들에 응답하여 수행될 수 있다. 그러한 프로그램 제품들은 예를 들어 프로세서에 의해 실행될 때 본 명세서에서 설명되는 기능을 제공할 수 있는 명령어들을 제공하는 신호 보유 매체들을 포함할 수 있다. 컴퓨터 프로그램 제품들은 임의 형태의 컴퓨터 판독 가능 매체 내에 제공될 수 있다. 따라서, 예를 들어, 하나 이상의 프로세서 코어(들)를 포함하는 프로세서는 컴퓨터 판독 가능 매체에 의해 프로세서로 전달되는 명령어들에 응답하여 도 2 및 3에 도시된 블록들 중 하나 이상을 수행할 수 있다.
본 명세서에서 설명되는 임의의 구현에서 사용될 때, 용어 "모듈"은 본 명세서에서 설명되는 기능을 제공하도록 구성되는 소프트웨어, 펌웨어 및/또는 하드웨어의 임의 조합을 지칭한다. 소프트웨어는 소프트웨어 패키지, 코드 및/또는 명령어 세트 또는 명령어들로서 구현될 수 있으며, "하드웨어"는 본 명세서에서 설명되는 임의의 구현에서 사용될 때 예를 들어 하드와이어드 회로, 프로그래밍 가능 회로, 상태 머신 회로, 및/또는 프로그래밍 가능 회로에 의해 실행되는 명령어들을 저장하는 펌웨어를 단독으로 또는 임의의 조합으로 포함할 수 있다. 모듈들은 더 큰 시스템의 부분을 형성하는 회로, 예로서 집적 회로(IC), 시스템 온 칩(SoC) 등으로서 공동으로 또는 개별적으로 구현될 수 있다.
도 4는 본 발명의 적어도 일부 구현들에 따른 예시적인 변이 벡터 교정들의 예시적인 도면이다. 도시된 구현에서, 주요 변이 벡터(402)와 관련된 예측 유닛(400)은 2개 이상의 변이 벡터(예로서, 변이 벡터들(420, 422, 424, 426))의 교정 전에 2개 이상의 서브블록(예로서, 서브블록(410, 412, 414, 416))으로 분할될 수 있다. 본 명세서에서 사용될 때, 용어 "주요 변이 벡터"는 변이 벡터 교정 전의 현재 예측 유닛(400)과 관련된 오리지널 변이 벡터를 지칭할 수 있다.
일부 예들에서, 예측 유닛(400)의 두 개 이상의 서브블록으로의 분할은 이용 가능한 가장 미세한 파티션이 퍼 픽셀 레벨 파티션(per pixel level partition)과 동일하도록 파라미터화된다. 예를 들어, 두 개 이상의 서브블록(410, 412, 414, 416) 각각은 단일 픽셀 정도로 작을 수 있다.
일부 구현들에서, 제1 타입의 예측 유닛과 제1 타입과 다른 제2 타입의 예측 유닛 사이에 구별이 행해질 수 있으며, 제1 및 제2 타입의 예측 유닛들은 다음의 기준들, 즉 슬라이스 레벨 기준, 화상 레벨 기준, 뷰 레벨 기준 등 및/또는 이들의 조합들 중 하나 이상에 기초하여 상이하다. 그러한 슬라이스 레벨 기준은 상이한 슬라이스들(예로서, 코딩되는 현재 비디오 화상의 상이한 부분들) 간의 편차에 적어도 부분적으로 기초하여 제1 및 제2 타입의 예측 유닛을 구별하는 데 사용될 수 있다. 그러한 화상 레벨 기준은 상이한 화상들 간의 편차(예로서, 두 개 이상의 비디오 화상 간의, 예를 들어 코딩되는 현재 비디오 화상과 기준 비디오 화상 간의 차이)에 적어도 부분적으로 기초하여 제1 및 제2 타입의 예측 유닛을 구별하는 데 사용될 수 있다. 그러한 뷰 레벨 기준은 상이한 뷰들 간의 편차(예로서, 상이한 비디오 화상들과 관련된 두 개 이상의 뷰 간의, 예를 들어 코딩되는 현재 비디오 화상과 관련된 뷰와 기준 비디오 화상과 관련된 뷰 간의 차이)에 적어도 부분적으로 기초하여 제1 및 제2 타입의 예측 유닛을 구별하는 데 사용될 수 있다. 예를 들어, 슬라이스 레벨 기준, 화상 레벨 기준 및/또는 뷰 레벨 기준은 제1 타입의 예측 유닛 내의 비교적 균일한 깊이와 제2 타입의 예측 유닛 내의 비교적 불균일한 깊이 사이의 구별을 지시하는 데 사용될 수 있다. 예를 들어, 균일한 깊이의 예측 유닛이 전혀 분할되지 않도록 제1 파라미터 값이 설정될 수 있고, 불균일한 깊이의 예측 유닛이 다수의 부분으로 분할되도록 제2 파라미터 값이 설정될 수 있다.
일부 예들에서, 예측 유닛(400)은 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할될 수 있으며, 예측 유닛(400)은 제1 파라미터 값과 다른 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 선택적으로 분할될 수 있다. 예를 들어, 제1 타입의 예측 유닛이 전혀 분할되지 않도록 제1 파라미터 값이 설정될 수 있고, 제2 타입의 예측 유닛이 다수의 부분으로 분할되도록 제2 파라미터 값이 설정될 수 있다.
다른 예에서는, 예측 유닛(400)의 크기에 적어도 부분적으로 기초하여 제1 타입의 예측 유닛과 제1 타입과 다른 제2 타입의 예측 유닛 사이에 구별이 행해질 수 있다. 예를 들어, 큰 예측 유닛(400)에 대해 제1 타입의 예측 유닛이 미세하게 분할되도록 제1 파라미터 값이 설정될 수 있고, 비교적 작은 예측 유닛(400)에 대해 제2 타입의 예측 유닛이 거칠게 분할되도록 제2 파라미터 값이 설정될 수 있다.
추가 예에서, 예측 유닛(400)은 두 개 이상의 변이 벡터(420, 422, 424, 426)의 교정 전에 두 개 이상의 서브블록(410, 412, 414, 416)으로 분할될 수 있다. 두 개 이상의 변이 벡터(420, 422, 424, 426)의 교정은 다음의 특성 깊이 값, 즉 개별 서브블록과 관련된 평균 깊이 값, 개별 서브블록과 관련된 중앙 픽셀에 대응하는 깊이 값, 개별 서브블록에 대응하는 중간 깊이 값 등 및/또는 이들의 조합들로부터 선택된 특성 깊이 값(415, 416, 417, 418)에 적어도 부분적으로 기초하여 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대한 두 개 이상의 변이 벡터(420, 422, 424, 426)의 개별 벡터들을 교정하는 것을 포함할 수 있다.
더 추가적인 예에서, 두 개 이상의 변이 벡터(420, 422, 424, 426)의 교정은 고정 깊이 모델, 스케일링 팩터, 오프셋 팩터 등 및/또는 이들의 조합들에 적어도 부분적으로 기초하여 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대한 두 개 이상의 변이 벡터(420, 422, 424, 426)의 개별 벡터들을 디코더를 통해 교정하는 것을 포함할 수 있다. 예를 들어, 스케일링 팩터 또는 오프셋 팩터는 표준에서 정의될 수 있고 인코딩 및 디코딩 동안 변하지 않는 고정 값과 동일할 수 있다.
일부 예들에서, 두 개 이상의 변이 벡터(420, 422, 424, 426)의 교정은 개별 서브블록과 관련된 특성 깊이 값(415, 416, 417, 418)에 적어도 부분적으로 기초하여 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대한 스케일링 팩터를 디코더를 통해 결정하는 것을 포함할 수 있다. 개별 서브블록과 관련된 특성 깊이 값(415, 416, 417, 418)에 적어도 부분적으로 기초하여 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대해 디코더를 통해 오프셋 팩터가 결정될 수 있다. 두 개 이상의 변이 벡터(420, 422, 424, 426)의 개별 벡터들은 스케일링 팩터 및 오프셋 팩터에 적어도 부분적으로 기초하여 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대해 디코더를 통해 교정될 수 있다.
다른 예에서, 두 개 이상의 변이 벡터(420, 422, 424, 426)의 교정은 인코더로부터 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대한 스케일링 팩터를 디코더를 통해 수신하는 것을 포함할 수 있으며, 스케일링 팩터는 개별 서브블록과 관련된 특성 깊이 값(415, 416, 417, 418)에 적어도 부분적으로 기초하여 인코더에 의해 이전에 결정되었다. 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대한 오프셋 팩터가 인코더로부터 디코더를 통해 수신될 수 있으며, 스케일링 팩터는 개별 서브블록과 관련된 특성 깊이 값(415, 416, 417, 418)에 적어도 부분적으로 기초하여 인코더에 의해 이전에 결정되었다. 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대한 두 개 이상의 변이 벡터(420, 422, 424, 426)의 개별 벡터들이 스케일링 팩터 및 오프셋 팩터에 적어도 부분적으로 기초하여 디코더를 통해 교정될 수 있다.
일부 예들에서, 스케일링 팩터 및 오프셋 팩터는 이미징 장치 파라미터들에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 카메라-파라미터-도출 깊이 모델이 변이 벡터 교정에 적용될 수 있다. 예를 들어, 상이한 깊이 값들과 관련된 스케일링 팩터 및 오프셋 팩터는 코딩되는 현재 비디오 화상과 관련된 카메라 파라미터들(예로서, 이미징 장치 위치 및/또는 배향 데이터)을 이용하여 도출될 수 있다.
추가 예에서, 두 개 이상의 변이 벡터(420, 422, 424, 426)의 교정은 주요 타입의 예측 유닛과 관련된 두 개 이상의 변이 벡터(420, 422, 424, 426)를 선택적으로 교정하고, 주요 타입과 다른 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함할 수 있으며, 주요 및 보조 타입의 예측 유닛들은 다음 기준들, 즉 슬라이스 레벨 기준, 화상 레벨 기준, 뷰 레벨 기준 등 및/또는 이들의 조합들 중 하나 이상에 기초하여 다르다.
더 추가적인 예에서, 예측 유닛(400)과 관련된 플래그에 적어도 부분적으로 기초하여 주요 타입의 예측 유닛과 주요 타입과 다른 보조 타입의 예측 유닛 간의 구별이 행해질 수 있다. 두 개 이상의 변이 벡터(420, 422, 424, 426)의 교정은 주요 타입의 예측 유닛과 관련된 두 개 이상의 변이 벡터(420, 422, 424, 426)를 선택적으로 교정하고, 주요 타입과 다른 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함할 수 있다.
아래에 더 상세히 설명되는 바와 같이, 깊이 기반 변이 벡터 교정은 주로 3개의 단계를 이용한다. 첫째, 예측 유닛(400) 블록이 두 개 이상의 서브블록(410, 412, 414, 416)으로 분할될 수 있다. 둘째, 개별 서브블록들(410, 412, 414, 416)에 대해 특성 깊이 값(415, 416, 417, 418)이 도출될 수 있다. 셋째, 개별 서브블록들(410, 412, 414, 416)에 대해, 교정된 변이 벡터(420, 422, 424, 426)가 깊이 기반 모델을 이용하여 도출될 수 있다. 두 개 이상의 변이 벡터(420, 422, 424, 426)의 교정은 개별 서브블록과 관련된 특성 깊이 값(415, 416, 417, 418)에 적어도 부분적으로 기초하여 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대한 스케일링 팩터를 결정하는 것을 포함할 수 있다. 개별 서브블록과 관련된 특성 깊이 값(415, 416, 417, 418)에 적어도 부분적으로 기초하여 두 개 이상의 서브블록(410, 412, 414, 416)의 개별 서브블록들에 대한 오프셋 팩터가 결정될 수 있다.
첫째, 예측 유닛(400) 블록이 두 개 이상의 서브블록(410, 412, 414, 416)으로 분할될 수 있다. 예를 들어, 현재의 변이 보상 예측 유닛(400)이 NxM의 크기를 갖는 것으로 가정한다. 처음에, 현재의 변이 보상 예측 유닛(400)이 KxL의 크기를 갖는 여러 개의 오버랩되지 않는 서브블록(410, 412, 414, 416)으로 분할될 수 있으며, 여기서 K 및 L은 아래의 식 1에 나타나는 바와 같이 dv_calibrate_granularity라고 하는 파라미터에 의해 제어될 수 있다).
Figure pct00001
예를 들어, 예측 유닛(400)의 크기가 16x16이고 파라미터 dv_calibrate_granularity가 2인 경우, 예측 유닛(400)은 8x8의 크기를 갖는 4개의 서브블록으로 분할될 수 있다.
둘째, 개별 서브블록들(410, 412, 414, 416)에 대해, 특성 깊이 값(415, 416, 417, 418)이 도출될 수 있다. 예를 들어, KxL의 크기를 갖는 각각의 서브블록(410, 412, 414, 416)에 대해, 그에 대응하는 K'xL'의 크기를 갖는 깊이 블록이 깊이 맵 화상으로부터 발견될 수 있다. 다음 단계에서 깊이 기반 변이 벡터 교정 모델에 대한 입력 파라미터일 수 있는 각각의 서브블록(410, 412, 414, 416)에 대한 특성 깊이 값(415, 416, 417, 418)이 도출될 수 있다. 예를 들어, i 번째 서브블록의 특성 깊이 값(415, 416, 417, 418)이 depthi로 표시되는 것으로 가정한다.
다양한 방법들, 예를 들어 K'xL' 깊이 블록의 평균값, K'xL' 깊이 블록의 중간값 등을 이용하여 특성 깊이 값(415, 416, 417, 418)을 도출할 수 있다. 게다가, 현재 화상에 대한 깊이 맵 데이터가 이용 가능하지 않을 때에는, 추정된 깊이 데이터를 이용하여 특정 깊이 값을 추정할 수도 있다.
셋째, 개별 서브블록들(410, 412, 414, 416)에 대해, 교정된 변이 벡터(420, 422, 424, 426)가 깊이 기반 모델을 이용하여 도출될 수 있다. 예를 들어, 현재 예측 유닛(400)의 주요 변이 벡터(402)가 (dvx, dvy)이고, dvx 및 dvy가 각각 수평 성분 및 수직 성분인 것으로 가정한다. 변이 벡터(420, 422, 424, 426)는 아래의 식 2에 표시된 바와 같이 교정될 수 있다.
Figure pct00002
여기서, DVCalibrate(·)는 변이 벡터 교정 함수를 나타내고, (dvxi, dvyi)는 i 번째 서브블록에 대한 출력 변이 벡터 값을 나타낸다.
마지막으로, 현재 예측 유닛(400) 내의 모든 서브블록(410, 412, 414, 416)이 예측 유닛(400) 내의 모든 픽셀들에 대한 동일 주요 변이 벡터(402)를 이용하는 대신에 그들에 대응하는 교정된 변이 벡터들(420, 422, 424, 426)을 이용하여 보상될 수 있다. 도 3은 변이 벡터 교정을 수행하기 위해 예측 유닛(400)이 4개의 서브블록으로 분할되는 변이 벡터의 교정의 일례를 나타낸다. 예를 들어, i 번째 서브블록의 특성 깊이 값(415, 416, 417, 418)이 (예를 들어, depth0, depth1, depth2 및 depth3에 대응하는) depthi로 표시되는 것으로 가정한다. 예를 들어, 위에서 DVCalibrate()로서 표시되는 깊이 기반 변이 벡터 교정 로직 모듈은 아래의 식 3 및 4에 의해 제공될 수 있다.
Figure pct00003
여기서, Sx(·) 및 Sy(·)는 변이 벡터 값에 대한 스케일링 팩터들을 나타내고, Ox(·) 및 Oy(·)는 변이 벡터 값에 대한 오프셋 팩터들을 나타낸다. 예를 들어, Sx(depthi) 및 Sy(depthi)가 1로 고정되는 경우, 식 4이다.
Figure pct00004
게다가, 이것은 현재의 서브블록의 특성 깊이 값이 임계치(TH) 이하인 경우에 변이 벡터 값이 1만큼 증가될 수 있고; 현재의 서브블록의 특성 깊이 값이 TH보다 큰 경우에 변이 벡터 값이 1만큼 감소될 수 있다는 것을 의미한다.
다양한 방법들을 이용하여 Sx(·), Sy(·), Ox(·) 및/또는 Oy(·)의 특정 구현을 설계할 수 있다. 예를 들어, 고정 값(예로서, 고정 깊이 모델)이 인코더 및 디코더 양자에서 사용될 수 있거나, 함수 및 값이 인코더에 의해 추정되고, 비트스트림에 의해 디코더로 전송될 수 있거나, 함수 및 값이 이전의 코딩된 정보를 이용하여 디코더에서 자기 도출될 수 있거나, 기타 등등이고/이거나, 이들의 조합들일 수 있다.
도 5는 본 발명의 적어도 일부 구현들에 따라 구성된 예시적인 3D 비디오 코딩 시스템(100)의 예시적인 도면이다. 도시된 구현에서, 3D 비디오 코딩 시스템(100)은 디스플레이(502), 이미징 장치(들)(504), 3D 비디오 인코더(103), 3D 비디오 디코더(105) 및/또는 로직 모듈들(306)을 포함할 수 있다. 로직 모듈들(306)은 PU 디코딩 로직 모듈(307), 화상내 예측 로직 모듈(308), 모션 보상 로직 모듈(309), 변이 보상 로직 모듈(310), 교정 로직 모듈(510) 등 및/또는 이들의 조합들을 포함할 수 있다.
도시된 바와 같이, 디스플레이(502), 3D 비디오 디코더(105), 프로세서(506) 및/또는 메모리 저장소(508)는 서로 통신하고/하거나 로직 모듈들(306)의 부분들과 통신할 수 있다. 유사하게, 이미징 장치(들)(504) 및 3D 비디오 인코더(103)는 서로 통신하고/하거나 로직 모듈들(306)의 부분들과 통신할 수 있다. 따라서, 3D 비디오 디코더(105)는 로직 모듈들(306)의 전부 또는 부분들을 포함할 수 있고, 3D 비디오 인코더(103)는 유사한 로직 모듈들을 포함할 수 있다. 3D 비디오 코딩 시스템(100)은 도 5에 도시된 바와 같이 특정 모듈들과 관련된 블록들 또는 액션들의 하나의 특정 세트를 포함할 수 있지만, 이러한 블록들 또는 액션들은 여기서 설명되는 특정 모듈과 다른 모듈들과 관련될 수도 있다.
일부 예들에서, 디스플레이 장치(502)는 비디오 데이터를 제공하도록 구성될 수 있다. 프로세서들(506)은 디스플레이 장치(502)에 통신가능하게 결합될 수 있다. 메모리 저장소들(508)은 프로세서들(506)에 통신가능하게 결합될 수 있다. 교정 로직 모듈(510)은 프로세서들(506)에 통신가능하게 결합될 수 있으며, 깊이 맵에 적어도 부분적으로 기초하여 예측 유닛과 관련된 두 개 이상의 변이 벡터를 교정하도록 구성될 수 있다. 예측 유닛은 깊이 맵과 관련된 비디오 화상의 일부에 대응할 수 있다. 변이 보상 로직 모듈(310)은 교정 로직 모듈(510)에 통신가능하게 결합될 수 있으며, 교정된 변이 벡터들에 적어도 부분적으로 기초하여 예측 유닛에 대한 변이 보상 화상간 예측을 수행하도록 구성될 수 있다. 코더(예로서, 3D 디코더(105) 또는 3D 비디오 인코더(103))는 변이 보상 로직 모듈(310)에 통신가능하게 결합될 수 있으며, 디스플레이 장치 상의 제공을 위해 변이 보상 화상간 예측에 적어도 부분적으로 기초하여 예측 유닛을 코딩하도록 구성될 수 있다.
다양한 실시예들에서, 교정 로직 모듈(510) 및/또는 변이 보상 로직 모듈(310)은 하드웨어로 구현될 수 있는 반면, 소프트웨어가 PU 디코딩 로직 모듈(307), 화상내 예측 로직 모듈(308) 및/또는 모션 보상 로직 모듈(309)을 구현할 수 있다. 예를 들어, 일부 실시예들에서, 교정 로직 모듈(510) 및/또는 변이 보상 로직 모듈(310)은 주문형 집적 회로(ASIC)에 의해 구현될 수 있는 반면, PU 디코딩 로직 모듈(307), 화상내 예측 로직 모듈(308) 및/또는 모션 보상 로직 모듈(309)은 프로세서들(506)과 같은 로직에 의해 실행되는 소프트웨어 명령어들에 의해 제공될 수 있다. 그러나, 본 발명은 이와 관련하여 한정되지 않으며, PU 디코딩 로직 모듈(307), 화상내 예측 로직 모듈(308), 모션 보상 로직 모듈(309), 교정 로직 모듈(510) 및/또는 변이 보상 로직 모듈(310)은 하드웨어, 펌웨어 및/또는 소프트웨어의 임의 조합에 의해 구현될 수 있다. 게다가, 메모리 저장소들(508)은 휘발성 메모리(예로서, 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM) 등) 또는 비휘발성 메모리(예로서, 플래시 메모리 등) 등과 같은 임의 타입의 메모리일 수 있다. 비한정적인 예에서, 메모리 저장소들(508)은 캐시 메모리에 의해 구현될 수 있다.
도 6은 본 발명에 따른 예시적인 시스템(600)을 나타낸다. 다양한 구현들에서, 시스템(600)은 미디어 시스템일 수 있지만, 시스템(600)은 이러한 상황으로 한정되지 않는다. 예를 들어, 시스템(600)은 개인용 컴퓨터(PC), 랩탑 컴퓨터, 울트라-랩탑 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인 휴대 단말기(PDA), 셀룰러 전화, 콤비네이션 셀룰러 전화/PDA, 텔레비전, 스마트 장치(예로서, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 이동 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치 등 내에 통합될 수 있다.
다양한 구현들에서, 시스템(600)은 디스플레이(620)에 결합된 플랫폼(602)을 포함한다. 플랫폼(602)은 콘텐츠 서비스 장치(들)(630) 또는 콘텐츠 전달 장치(들)(640) 또는 다른 유사한 콘텐츠 소스들과 같은 콘텐츠 장치로부터 콘텐츠를 수신할 수 있다. 하나 이상의 내비게이션 특징을 포함하는 내비게이션 제어기(650)를 이용하여, 예를 들어 플랫폼(602) 및/또는 디스플레이(620)와 상호작용할 수 있다. 이러한 컴포넌트들 각각은 아래에 더 상세히 설명된다.
다양한 구현들에서, 플랫폼(602)은 칩셋(605), 프로세서(610), 메모리(612), 저장 장치(614), 그래픽 서브시스템(615), 애플리케이션들(616) 및/또는 라디오(618)의 임의 조합을 포함할 수 있다. 칩셋(605)은 프로세서(610), 메모리(612), 저장 장치(614), 그래픽 서브시스템(615), 애플리케이션들(616) 및/또는 라디오(618) 간의 통신을 제공할 수 있다. 예를 들어, 칩셋(605)은 저장 장치(614)와의 상호통신을 제공할 수 있는 저장 장치 어댑터(도시되지 않음)를 포함할 수 있다.
프로세서(610)는 복합 명령어 세트 컴퓨터(CISC) 또는 축소 명령어 세트 컴퓨터(RISC) 프로세서들, x86 명령어 세트 호환 프로세서들, 멀티코어 또는 다른 마이크로프로세서 또는 중앙 처리 유닛(CPU)으로서 구현될 수 있다. 다양한 구현들에서, 프로세서(610)는 듀얼코어 프로세서(들), 듀얼코어 모바일 프로세서(들) 등일 수 있다.
메모리(612)는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM) 또는 정적 RAM(SRAM)과 같은, 그러한 이에 한정되지 않는 휘발성 메모리 장치로서 구현될 수 있다.
저장 장치(614)는 자기 디스크 드라이브, 광 디스크 드라이브, 내부 저장 장치, 부착된 저장 장치, 플래시 메모리, 배터리 백업 SDRAM(동기 DRAM) 및/또는 네트워크 액세스 가능 저장 장치와 같은, 그러나 이에 한정되지 않는 비휘발성 저장 장치로서 구현될 수 있다. 다양한 구현들에서, 저장 장치(614)는 예를 들어 다수의 하드 드라이브가 포함될 때 귀중한 디지털 미디어에 대한 저장 성능 향상 보호를 증가시키기 위한 기술을 포함할 수 있다.
그래픽 서브시스템(615)은 표시를 위한 정지 또는 비디오와 같은 이미지들의 처리를 수행할 수 있다. 그래픽 서브시스템(615)은 예를 들어 그래픽 처리 유닛(GPU) 또는 비주얼 처리 유닛(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스를 이용하여, 그래픽 서브시스템(615)과 디스플레이(620)를 통신가능하게 결합할 수 있다. 예를 들어, 인터페이스는 고화질 멀티미디어 인터페이스, 디스플레이 포트, 무선 HDMI 및/또는 무선 HD 준수 기술들 중 임의의 것일 수 있다. 그래픽 서브시스템(615)은 프로세서(610) 또는 칩셋(605) 내에 통합될 수 있다. 일부 구현들에서, 그래픽 서브시스템(615)은 칩셋(605)에 통신가능하게 결합되는 독립형 카드일 수 있다.
본 명세서에서 설명되는 그래픽 및/또는 비디오 처리 기술들은 다양한 하드웨어 아키텍처들에서 구현될 수 있다. 예를 들어, 그래픽 및/또는 비디오 기능이 칩셋 내에 통합될 수 있다. 대안으로서, 개별 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또 다른 구현으로서, 그래픽 및/또는 비디오 기능들이 멀티코어 프로세서를 포함하는 범용 프로세서에 의해 제공될 수 있다. 추가 실시예들에서, 기능들은 소비자 전자 장치에서 구현될 수 있다.
라디오(618)는 다양한 적절한 무선 통신 기술들을 이용하여 신호들을 송신 및 수신할 수 있는 하나 이상의 라디오를 포함할 수 있다. 그러한 기술들은 하나 이상의 무선 네트워크를 통한 통신을 포함할 수 있다. 예시적인 무선 네트워크들은 무선 근거리 네트워크(WLAN), 무선 개인 영역 네트워크(WPAN), 무선 도시 영역 네트워크(WMAN), 셀룰러 네트워크 및 위성 네트워크를 포함한다(그러나 이에 한정되지 않는다). 그러한 네트워크들을 통한 통신에서, 라디오(618)는 임의 버전의 하나 이상의 적용 가능 표준에 따라 동작할 수 있다.
다양한 구현들에서, 디스플레이(620)는 임의의 텔레비전 타입 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(620)는 예를 들어 컴퓨터 디스플레이 스크린, 터치스크린 디스플레이, 비디오 모니터, 텔레비전형 장치 및/또는 텔레비전을 포함할 수 있다. 디스플레이(620)는 디지털 및/또는 아날로그일 수 있다. 다양한 구현들에서, 디스플레이(620)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(620)는 시각적 투영을 수신할 수 있는 투명 표면일 수 있다. 그러한 투영들은 다양한 형태의 정보, 이미지 및/또는 객체를 전달할 수 있다. 예를 들어, 그러한 투영들은 모바일 증강 현실(MAR) 응용을 위한 시각적 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션(616)의 제어하에, 플랫폼(602)은 디스플레이(620) 상에 사용자 인터페이스(622)를 표시할 수 있다.
다양한 구현들에서, 콘텐츠 서비스 장치(들)(630)는 임의의 국내, 국제 및/또는 독립 서비스에 의해 호스트될 수 있고, 따라서 예를 들어 인터넷을 통해 플랫폼(602)에 의해 액세스될 수 있다. 콘텐츠 서비스 장치(들)(630)는 플랫폼(602) 및/또는 디스플레이(620)에 결합될 수 있다. 플랫폼(602) 및/또는 콘텐츠 서비스 장치(들)(630)는 네트워크(660)에 결합되어, 미디어 정보를 네트워크(660)로 그리고 그로부터 통신(예를 들어, 송신 및/또는 수신)할 수 있다. 콘텐츠 전달 서비스(들)(640)도 플랫폼(602) 및/또는 디스플레이(620)에 결합될 수 있다.
다양한 구현들에서, 콘텐츠 서비스 장치(들)(630)는 케이블 텔레비전 박스, 개인용 컴퓨터, 네트워크, 전화, 디지털 정보 및/또는 콘텐츠를 전달할 수 있는 인터넷 인에이블드 장치들 또는 기구, 및 콘텐츠 제공자들과 플랫폼(602) 및/또는 디스플레이(620) 사이에서 네트워크(660)를 통해 또는 직접 콘텐츠를 단방향 또는 양방향 통신할 수 있는 임의의 다른 유사한 장치를 포함할 수 있다. 콘텐츠는 네트워크를 통해 시스템(600) 내의 컴포넌트들 중 어느 하나 및 콘텐츠 제공자로 그리고 그로부터 단방향으로 그리고/또는 양방향으로 통신될 수 있다는 것을 알 것이다. 콘텐츠의 예는 예를 들어 비디오, 음악, 의료 및 게임 정보 등을 포함하는 임의의 미디어 정보를 포함할 수 있다.
콘텐츠 서비스 장치(들)(630)는 미디어 정보, 디지털 정보 및/또는 다른 콘텐츠를 포함하는 케이블 텔레비전 프로그래밍과 같은 콘텐츠를 수신할 수 있다. 콘텐츠 제공자들의 예는 임의의 케이블 또는 위성 텔레비전 또는 라디오 또는 인터넷 콘텐츠 제공자들을 포함할 수 있다. 제공되는 예들은 본 발명에 따른 구현들을 어떠한 방식으로도 한정하는 것을 의도하지 않는다.
다양한 구현들에서, 플랫폼(602)은 하나 이상의 내비게이션 특징을 갖는 내비게이션 제어기(650)로부터 제어 신호들을 수신할 수 있다. 제어기(650)의 내비게이션 특징들은 예를 들어 사용자 인터페이스(622)와 상호작용하는 데 사용될 수 있다. 실시예들에서, 내비게이션 제어기(650)는 사용자가 공간(예로서, 연속 및 다차원) 데이터를 컴퓨터 내에 입력하는 것을 가능하게 하는 컴퓨터 하드웨어 컴포넌트(특히, 사람 인터페이스 장치)일 수 있는 포인팅 장치일 수 있다. 그래픽 사용자 인터페이스(GUI), 및 텔레비전 및 모니터와 같은 많은 시스템은 사용자가 물리적 제스처들을 이용하여 컴퓨터 또는 텔레비전을 제어하고, 그들에게 데이터를 제공하는 것을 가능하게 한다.
제어기(650)의 내비게이션 특징들의 이동들이 디스플레이 상에 표시되는 포인터, 커서, 포커스 링 또는 다른 시각적 지시기들의 이동들에 의해 디스플레이(예로서, 디스플레이(620)) 상에 복제될 수 있다. 예를 들어, 소프트웨어 애플리케이션들(616)의 제어하에, 내비게이션 제어기(650) 상에 위치하는 내비게이션 특징들은 예를 들어 사용자 인터페이스(622) 상에 표시된 가상 내비게이션 특징들에 맵핑될 수 있다. 실시예들에서, 제어기(650)는 개별 컴포넌트가 아니라, 플랫폼(602) 및/또는 디스플레이(620) 내에 통합될 수 있다. 그러나, 본 발명은 본 명세서에서 도시되거나 설명되는 요소들 또는 상황으로 한정되지 않는다.
다양한 구현들에서, 드라이버들(도시되지 않음)은 사용자들이 예를 들어 초기 부트-업 후에 가능할 때 버튼의 터치를 이용하여 텔레비전과 같은 플랫폼(602)을 즉시 턴온 및 턴오프하는 것을 가능하게 하기 위한 기술을 포함할 수 있다. 프로그램 로직은 플랫폼(602)이 "턴오프"될 때에도 플랫폼이 콘텐츠를 미디어 어댑터들 또는 다른 콘텐츠 서비스 장치(들)(630) 또는 콘텐츠 전달 장치(들)(640)로 스트리밍하는 것을 가능하게 할 수 있다. 게다가, 칩셋(605)은 예를 들어 6.1 서라운드 사운드 오디오 및/또는 고선명 7.1 서라운드 사운드 오디오에 대한 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버들은 통합 그래픽 플랫폼들에 대한 그래픽 드라이버를 포함할 수 있다. 실시예들에서, 그래픽 드라이버는 주변 컴포넌트 상호접속(PCI) 익스프레스 그래픽 카드를 포함할 수 있다.
다양한 구현들에서, 시스템(600) 내에 도시된 컴포넌트들 중 어느 하나 이상이 통합될 수 있다. 예를 들어, 플랫폼(602) 및 콘텐츠 서비스 장치(들)(630)가 통합될 수 있거나, 플랫폼(602) 및 콘텐츠 전달 장치(들)(640)가 통합될 수 있거나, 플랫폼(602), 콘텐츠 서비스 장치(들)(630) 및 콘텐츠 전달 장치(들)(640)가 통합될 수 있다. 다양한 실시예들에서, 플랫폼(602) 및 디스플레이(620)는 통합 유닛일 수 있다. 예를 들어, 디스플레이(620) 및 콘텐츠 서비스 장치(들)(630)가 통합될 수 있거나, 디스플레이(620) 및 콘텐츠 전달 장치(들)(640)가 통합될 수 있다. 이러한 예들은 본 발명을 한정하는 것을 의도하지 않는다.
다양한 실시예들에서, 시스템(600)은 무선 시스템, 유선 시스템, 또는 이들의 조합으로서 구현될 수 있다. 무선 시스템으로서 구현될 때, 시스템(600)은 하나 이상의 안테나, 송신기, 수신기, 송수신기, 증폭기, 필터, 제어 로직 등과 같이 무선 공유 매체를 통해 통신하는 데 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 무선 공유 매체의 일례는 RF 스펙트럼 등과 같은 무선 스펙트럼의 부분들을 포함할 수 있다. 유선 시스템으로서 구현될 때, 시스템(600)은 입출력(I/O) 어댑터, I/O 어댑터를 대응하는 유선 통신 매체에 접속하기 위한 물리적 커넥터, 네트워크 인터페이스 카드(NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기 등과 같이 유선 통신 매체를 통해 통신하는 데 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 유선 통신 매체의 예는 와이어, 케이블, 금속 도선, 인쇄 회로 보드(PCB), 백플레인, 스위치 패브릭, 반도체 재료, 트위스트-쌍 와이어, 동축 케이블, 광섬유 등을 포함할 수 있다.
플랫폼(602)은 정보를 통신하기 위한 하나 이상의 논리적 또는 물리적 채널을 형성할 수 있다. 정보는 미디어 정보 및 제어 정보를 포함할 수 있다. 미디어 정보는 사용자에 대해 의도된 콘텐츠를 나타내는 임의의 데이터를 지칭할 수 있다. 콘텐츠의 예는 예를 들어 음성 대화로부터의 데이터, 비디오 회의, 스트리밍 비디오, 전자 메일("이메일") 메시지, 음성 메일 메시지, 영숫자 심벌들, 그래픽, 이미지, 비디오, 텍스트 등을 포함할 수 있다. 음성 대화로부터의 데이터는 예를 들어 이야기 정보, 침묵 기간, 배경 잡음, 안락 잡음, 톤 등일 수 있다. 제어 정보는 자동 시스템에 대해 의도된 명령, 명령어 또는 제어 단어를 나타내는 임의의 데이터를 지칭할 수 있다. 예를 들어, 제어 정보는 시스템을 통해 미디어 정보를 라우팅하거나, 미디어 정보를 사전 결정된 방식으로 처리하도록 노드에 지시하는 데 사용될 수 있다. 그러나, 실시예들은 도 6에 도시되거나 설명된 요소들 또는 상황으로 한정되지 않는다.
전술한 바와 같이, 시스템(600)은 다양한 물리적 스타일들 또는 폼 팩터들로 구현될 수 있다. 도 7은 시스템(600)을 구현할 수 있는 작은 폼 팩터의 장치(700)의 구현들을 나타낸다. 실시예들에서, 예를 들어, 장치(700)는 무선 능력을 갖는 이동 컴퓨팅 장치로서 구현될 수 있다. 이동 컴퓨팅 장치는 처리 시스템 및 이동 전력 소스 또는 공급기, 예를 들어 하나 이상의 배터리를 갖는 임의의 장치를 지칭할 수 있다.
전술한 바와 같이, 이동 컴퓨팅 장치의 예는 개인용 컴퓨터(PC), 랩탑 컴퓨터, 울트라-랩탑 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인 휴대 단말기(PDA), 셀룰러 전화, 콤비네이션 셀룰러 전화/PDA, 텔레비전, 스마트 장치(예로서, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 이동 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치 등을 포함할 수 있다.
이동 컴퓨팅 장치의 예는 사람에 의해 착용되도록 구성되는 컴퓨터들, 예를 들어 손목 컴퓨터, 손가락 컴퓨터, 반지 컴퓨터, 안경 컴퓨터, 벨트-클립 컴퓨터, 팔-밴드 컴퓨터, 신발 컴퓨터, 의복 컴퓨터, 및 다른 착용식 컴퓨터도 포함할 수 있다. 다양한 실시예들에서, 예를 들어, 이동 컴퓨팅 장치는 컴퓨터 애플리케이션들은 물론, 음성 통신 및/또는 데이터 통신을 실행할 수 있는 스마트폰으로서 구현될 수 있다. 일부 실시예들은 예를 들어 스마트폰으로서 구현되는 이동 컴퓨팅 장치를 이용하여 설명될 수 있지만, 다른 실시예들은 다른 무선 이동 컴퓨팅 장치를 이용하여 구현될 수도 있다는 것을 알 수 있다. 실시예들은 이와 관련하여 한정되지 않는다.
도 7에 도시된 바와 같이, 장치(700)는 하우징(702), 디스플레이(704), 입출력(I/O) 장치(706) 및 안테나(708)를 포함할 수 있다. 장치(700)는 내비게이션 특징들(712)도 포함할 수 있다. 디스플레이(704)는 이동 컴퓨팅 장치에 적합한 정보를 표시하기 위한 임의의 적절한 디스플레이 유닛을 포함할 수 있다. I/O 장치(706)는 이동 컴퓨팅 장치 내에 정보를 입력하기 위한 임의의 적절한 I/O 장치를 포함할 수 있다. I/O 장치(706)에 대한 예는 영숫자 키보드, 숫자 키패드, 터치 패드, 입력 키들, 버튼들, 스위치들, 로커 스위치들, 마이크들, 스피커들, 음성 인식 장치 및 소프트웨어 등을 포함할 수 있다. 정보는 마이크(도시되지 않음)를 통해 장치(700) 내에 입력될 수도 있다. 그러한 정보는 음성 인식 장치(도시되지 않음)에 의해 디지털화될 수 있다. 실시예들은 이와 관련하여 한정되지 않는다.
다양한 실시예들은 하드웨어 요소들, 소프트웨어 요소들 또는 이들의 조합을 이용하여 구현될 수 있다. 하드웨어 요소들의 예는 프로세서, 마이크로프로세서, 회로, 회로 요소(트랜지스터, 저항기, 커패시터, 인덕터 등), 집적 회로, 주문형 집적 회로(ASIC), 프로그래밍 가능 로직 장치(PLD), 디지털 신호 프로세서(DSP), 필드 프로그래머블 게이트 어레이(FPGA), 로직 게이트, 레지스터, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메소드, 프로시져, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 심벌 또는 이들의 임의 조합을 포함할 수 있다. 실시예를 하드웨어 요소들 및/또는 소프트웨어 요소들을 이용하여 구현할지를 결정하는 것은 원하는 계산 레이트, 전력 레벨, 열 허용 한계, 처리 사이클 예산, 입력 데이터 레이트, 출력 데이터 레이트, 메모리 자원, 데이터 버스 속도 및 다른 설계 또는 성능 제약들과 같은 임의 수의 팩터에 따라 달라질 수 있다.
적어도 하나의 실시예의 하나 이상의 양태는 머신에 의해 판독될 때 머신로 하여금 본 명세서에서 설명되는 기술들을 수행하기 위한 로직을 형성하게 하는 프로세서 내의 다양한 로직을 나타내는 머신 판독 가능 매체 상에 저장된 표현 명령어들에 의해 구현될 수 있다. "IP 코어들"로서 알려진 그러한 표현들은 유형의 머신 판독 가능 매체 상에 저장될 수 있고, 다양한 고객들 또는 제조 설비들에 제공되어, 로직 또는 프로세서를 실제로 제조하는 제조 머신들 내에 로딩될 수 있다.
본 명세서에서 설명된 소정의 특징들은 다양한 구현들을 참조하여 설명되었지만, 이러한 설명은 한정으로 해석되는 것을 의도하지 않는다. 따라서, 당업자들에게 명백한 본 명세서에서 설명된 구현들의 다양한 변경들은 물론 다른 구현들은 본 발명의 사상 및 범위 내에 있는 것으로 간주된다.
아래의 예들은 추가 실시예들과 관련된다.
일례에서, 비디오 코딩을 위한 컴퓨터로 구현된 방법은 깊이 맵에 적어도 부분적으로 기초하여 예측 유닛과 관련된 두 개 이상의 변이 벡터를 교정하는 단계를 포함할 수 있으며, 상기 예측 유닛은 상기 깊이 맵과 관련된 비디오 화상의 일부에 대응한다. 상기 교정된 변이 벡터들에 적어도 부분적으로 기초하여 상기 예측 유닛에 대해 변이 보상 화상간 예측을 수행할 수 있다. 상기 변이 보상 화상간 예측에 적어도 부분적으로 기초하여 상기 예측 유닛을 코딩할 수 있다.
일부 예들에서, 상기 예측 유닛의 상기 코딩은 3D 디코딩을 포함한다.
다른 예에서, 종속 뷰 비디오 화상의 디코딩은 상기 코딩된 예측 유닛에 적어도 부분적으로 기초할 수 있다.
추가 예에서, 상기 예측 유닛은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 두 개 이상의 서브블록으로 분할될 수 있다.
더 추가적인 예에서, 상기 예측 유닛은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 두 개 이상의 서브블록으로 분할될 수 있으며, 상기 예측 유닛의 두 개 이상의 서브블록으로의 상기 분할은 이용 가능한 가장 미세한 파티션이 퍼 픽셀 레벨 파티션(per pixel level partition)과 동일하도록 파라미터화될 수 있다.
일부 예들에서, 제1 타입의 예측 유닛과 상기 제1 타입과 다른 제2 타입의 예측 유닛 사이에 구별이 행해질 수 있으며, 상기 제1 및 제2 타입의 예측 유닛들은 다음 기준들, 즉 슬라이스 레벨 기준, 화상 레벨 기준 및 뷰 레벨 기준 중 하나 이상에 기초하여 상이하다. 상기 예측 유닛은 상기 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할될 수 있으며, 상기 예측 유닛은 상기 제1 파라미터 값과 다른 상기 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 선택적으로 분할될 수 있다.
다른 예에서, 상기 예측 유닛의 크기에 적어도 부분적으로 기초하여 제1 타입의 예측 유닛과 상기 제1 타입과 다른 제2 타입의 예측 유닛 사이에 구별이 행해질 수 있다. 상기 예측 유닛은 상기 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할될 수 있으며, 상기 예측 유닛은 상기 제1 파라미터 값과 다른 상기 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 선택적으로 분할될 수 있다.
추가 예에서, 상기 예측 유닛은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 두 개 이상의 서브블록으로 분할될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들을 다음의 특성 깊이 값들, 즉 상기 개별 서브블록과 관련된 평균 깊이 값, 상기 개별 서브블록과 관련된 중앙 픽셀에 대응하는 깊이 값, 상기 개별 서브블록에 대응하는 중간 깊이 값 등 및/또는 이들의 조합들로부터 선택된 특성 깊이 값에 적어도 부분적으로 기초하여 교정하는 것을 포함할 수 있다.
더 추가적인 예에서, 상기 예측 유닛은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 두 개 이상의 서브블록으로 분할될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 고정 깊이 모델, 스케일링 팩터, 오프셋 팩터 등 및/또는 이들의 조합들에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들을 디코더를 통해 교정하는 것을 포함할 수 있다.
일부 예들에서, 상기 예측 유닛은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 두 개 이상의 서브블록으로 분할될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 스케일링 팩터를 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 디코더를 통해 결정하는 것을 포함할 수 있다. 상기 두 개 이상의 서브블록의 개별 서브블록들에 대해 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 디코더를 통해 오프셋 팩터가 결정될 수 있다. 상기 두 개 이상의 변이 벡터의 개별 벡터들은 상기 스케일링 팩터 및 상기 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록들에 대해 상기 디코더를 통해 교정될 수 있다.
다른 예에서, 상기 예측 유닛은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 두 개 이상의 서브블록으로 분할될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 인코더로부터 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 스케일링 팩터를 디코더를 통해 수신하는 것을 포함할 수 있으며, 상기 스케일링 팩터는 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 인코더에 의해 이전에 결정되었다. 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 오프셋 팩터가 상기 인코더로부터 상기 디코더를 통해 수신될 수 있으며, 상기 스케일링 팩터는 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 인코더에 의해 이전에 결정되었다. 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들이 상기 스케일링 팩터 및 상기 오프셋 팩터에 적어도 부분적으로 기초하여 상기 디코더를 통해 교정될 수 있다.
일부 예들에서, 상기 예측 유닛은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 두 개 이상의 서브블록으로 분할될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 스케일링 팩터 및 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들을 상기 디코더를 통해 교정하는 것을 포함할 수 있다. 상기 스케일링 팩터 및 상기 오프셋 팩터는 이미징 장치 파라미터들에 적어도 부분적으로 기초하여 결정될 수 있다.
추가 예에서, 상기 두 개 이상의 변이 벡터의 상기 교정은 주요 타입의 예측 유닛과 관련된 상기 두 개 이상의 변이 벡터를 선택적으로 교정하고, 상기 주요 타입과 다른 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함할 수 있으며, 상기 주요 및 보조 타입들의 예측 유닛들은 다음 기준들, 즉 슬라이스 레벨 기준, 화상 레벨 기준, 뷰 레벨 기준 등 및/또는 이들의 조합들 중 하나 이상에 기초하여 상이하다.
더 추가적인 예에서, 상기 예측 유닛과 관련된 플래그에 적어도 부분적으로 기초하여 주요 타입의 예측 유닛과 상기 주요 타입과 다른 보조 타입의 예측 유닛 간의 구별이 행해질 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 상기 주요 타입의 예측 유닛과 관련된 상기 두 개 이상의 변이 벡터를 선택적으로 교정하고, 상기 주요 타입과 다른 상기 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함할 수 있다.
다른 예들에서, 컴퓨터 상에서의 비디오 코딩을 위한 시스템은 디스플레이 장치, 하나 이상의 프로세서, 하나 이상의 메모리 저장소, 교정 로직 모듈, 변이 보상 로직 모듈, 코더 등 및/또는 이들의 조합들을 포함할 수 있다. 상기 이미징 장치는 비디오 데이터를 제공하도록 구성될 수 있다. 상기 하나 이상의 프로세서는 상기 디스플레이 장치에 통신가능하게 결합될 수 있다. 상기 하나 이상의 메모리 저장소는 상기 하나 이상의 프로세서에 통신가능하게 결합될 수 있다. 상기 교정 로직 모듈은 상기 하나 이상의 프로세서에 통신가능하게 결합될 수 있고, 깊이 맵에 적어도 부분적으로 기초하여 예측 유닛과 관련된 두 개 이상의 변이 벡터를 교정하도록 구성될 수 있다. 상기 예측 유닛은 상기 깊이 맵과 관련된 비디오 화상의 일부에 대응할 수 있다. 상기 변이 보상 로직 모듈은 상기 교정 로직 모듈에 통신가능하게 결합될 수 있으며, 상기 교정된 변이 벡터들에 적어도 부분적으로 기초하여 상기 예측 유닛에 대해 변이 보상 화상간 예측을 수행하도록 구성될 수 있다. 상기 코더는 상기 변이 보상 로직 모듈에 통신가능하게 결합될 수 있으며, 디스플레이 장치 상에서의 제공을 위해 상기 변이 보상 화상간 예측에 적어도 부분적으로 기초하여 상기 예측 유닛을 코딩하도록 구성될 수 있다.
추가 예에서, 상기 코더는 3D 디코더를 포함할 수 있다.
더 추가적인 예에서, 상기 코더는 상기 코딩된 예측 유닛에 적어도 부분적으로 기초하여 종속 뷰 비디오 화상을 디코딩하도록 더 구성될 수 있다.
다른 예에서, 상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성될 수 있다. 상기 예측 유닛의 두 개 이상의 서브블록으로의 상기 분할은 이용 가능한 가장 미세한 파티션이 퍼 픽셀 레벨 파티션과 동일하도록 파라미터화될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들을 다음의 특성 깊이 값들, 즉 상기 개별 서브블록과 관련된 평균 깊이 값, 상기 개별 서브블록과 관련된 중앙 픽셀에 대응하는 깊이 값, 상기 개별 서브블록에 대응하는 중간 깊이 값 등 및/또는 이들의 조합들로부터 선택된 특성 깊이 값에 적어도 부분적으로 기초하여 교정하는 것을 포함할 수 있다.
일부 예들에서, 상기 교정 로직 모듈은 제1 타입의 예측 유닛과 상기 제1 타입과 다른 제2 타입의 예측 유닛을 구별하도록 더 구성될 수 있으며, 상기 제1 및 제2 타입의 예측 유닛들은 다음의 기준들, 즉 슬라이스 레벨 기준, 화상 레벨 기준, 뷰 레벨 기준 등 및/또는 이들의 조합들 중 하나 이상에 기초하여 상이하다. 상기 예측 유닛은 상기 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할되고, 상기 제1 파라미터 값과 다른 상기 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 분할될 수 있다.
추가 예에서, 상기 교정 로직 모듈은 상기 예측 유닛의 크기에 적어도 부분적으로 기초하여 제1 타입의 예측 유닛과 상기 제1 타입과 다른 제2 타입의 예측 유닛을 구별하도록 더 구성될 수 있다. 상기 예측 유닛은 상기 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할되고, 상기 제1 파라미터 값과 다른 상기 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 분할될 수 있다.
더 추가적인 예에서, 상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 고정 깊이 모델, 스케일링 팩터, 오프셋 팩터 등 및/또는 이들의 조합들에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들을 상기 코더를 통해 교정하는 것을 포함할 수 있다.
다른 예에서, 상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 스케일링 팩터를 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 코더를 통해 결정하는 것을 포함할 수 있다. 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 오프셋 팩터가 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 코더를 통해 결정될 수 있다. 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들은 상기 스케일링 팩터 및 상기 오프셋 팩터에 적어도 부분적으로 기초하여 상기 코더를 통해 교정될 수 있다.
일부 예들에서, 상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 인코더로부터 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 스케일링 팩터를 상기 코더를 통해 수신하는 것을 포함할 수 있으며, 상기 스케일링 팩터는 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 인코더에 의해 이전에 결정되었다. 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 오프셋 팩터가 상기 인코더로부터 상기 코더를 통해 수신될 수 있으며, 상기 스케일링 팩터는 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 인코더에 의해 이전에 결정되었다. 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들이 상기 스케일링 팩터 및 상기 오프셋 팩터에 적어도 부분적으로 기초하여 상기 코더를 통해 교정될 수 있다.
추가 예에서, 상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 상기 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 스케일링 팩터 및 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록들에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터들을 상기 코더를 통해 교정하는 것을 포함할 수 있다. 상기 스케일링 팩터 및 상기 오프셋 팩터는 이미징 장치 파라미터들에 적어도 부분적으로 기초하여 결정될 수 있다.
더 추가적인 예에서, 상기 두 개 이상의 변이 벡터의 상기 교정은 주요 타입의 예측 유닛과 관련된 상기 두 개 이상의 변이 벡터를 선택적으로 교정하고, 상기 주요 타입과 다른 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함할 수 있으며, 상기 주요 및 보조 타입들의 예측 유닛들은 다음 기준들, 즉 슬라이스 레벨 기준, 화상 레벨 기준, 뷰 레벨 기준 등 및/또는 이들의 조합들 중 하나 이상에 기초하여 상이하다.
다른 예에서, 상기 교정 로직 모듈은 상기 예측 유닛과 관련된 플래그에 적어도 부분적으로 기초하여 주요 타입의 예측 유닛과 상기 주요 타입과 다른 보조 타입의 예측 유닛을 구별하도록 더 구성될 수 있다. 상기 두 개 이상의 변이 벡터의 상기 교정은 상기 주요 타입의 예측 유닛과 관련된 상기 두 개 이상의 변이 벡터를 선택적으로 교정하고, 상기 주요 타입과 다른 상기 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함할 수 있다.
추가 예에서, 적어도 하나의 머신 판독 가능 매체는 컴퓨팅 장치 상에서 실행되는 것에 응답하여 상기 컴퓨팅 장치로 하여금 위의 예들 중 어느 하나에 따른 방법을 수행하게 하는 복수의 명령어를 포함할 수 있다.
더 추가적인 예에서, 장치는 위의 예들 중 어느 하나에 따른 방법들을 수행하기 위한 수단을 포함할 수 있다.
위의 예들은 특징들의 특정 조합을 포함할 수 있다. 그러나, 그러한 상기 예들은 이와 관련하여 한정되지 않으며, 다양한 구현들에서 상기 예들은 그러한 특징들의 서브세트만을 수행하고, 상이한 순서의 그러한 특징들을 수행하고, 그러한 특징들의 상이한 조합을 수행하고/하거나, 명시적으로 열거된 그러한 특징들과 다른 추가 특징들을 수행하는 것을 포함할 수 있다. 예를 들어, 예시적인 방법들과 관련하여 설명된 모든 특징들은 예시적인 장치들, 예시적인 시스템들 및/또는 예시적인 물품들과 관련하여 구현될 수 있으며, 그 반대도 경우도 마찬가지이다.

Claims (28)

  1. 비디오 코딩을 위한 컴퓨터로 구현된 방법으로서,
    깊이 맵에 적어도 부분적으로 기초하여 예측 유닛과 관련된 두 개 이상의 변이 벡터(disparity vector)를 교정하는 단계 - 상기 예측 유닛은 상기 깊이 맵과 관련된 비디오 화상의 일부에 대응함 - 와,
    상기 교정된 변이 벡터에 적어도 부분적으로 기초하여 상기 예측 유닛에 대해 변이 보상 화상간 예측을 수행하는 단계와,
    상기 변이 보상 화상간 예측에 적어도 부분적으로 기초하여 상기 예측 유닛을 코딩하는 단계를 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  2. 제1항에 있어서,
    상기 예측 유닛의 상기 코딩은 3D 디코딩을 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  3. 제1항에 있어서,
    상기 코딩된 예측 유닛에 적어도 부분적으로 기초하여 종속 뷰(dependent view) 비디오 화상을 디코딩하는 단계를 더 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  4. 제1항에 있어서,
    상기 두 개 이상의 변이 벡터의 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하는 단계를 더 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  5. 제1항에 있어서,
    상기 두 개 이상의 변이 벡터의 교정 전에 상기 예측 유닛을 상기 두 개 이상의 서브블록으로 분할하는 단계를 더 포함하며, 상기 예측 유닛의 두 개 이상의 서브블록으로의 분할은 이용 가능한 가장 미세한 파티션이 퍼 픽셀 레벨 파티션(per pixel level partition)과 동일하도록 파라미터화되는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  6. 제1항에 있어서,
    제1 타입의 예측 유닛과 상기 제1 타입과 다른 제2 타입의 예측 유닛을 구별하는 단계 - 상기 제1 타입의 예측 유닛 및 상기 제2 타입의 예측 유닛은 다음 기준, 즉 슬라이스 레벨 기준, 화상 레벨 기준 및 뷰 레벨 기준 중 하나 이상에 기초하여 상이함 - 와,
    상기 예측 유닛을 상기 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할하고, 상기 예측 유닛을 상기 제1 파라미터 값과 다른 상기 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 분할하는 단계를 더 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  7. 제1항에 있어서,
    상기 예측 유닛의 크기에 적어도 부분적으로 기초하여 제1 타입의 예측 유닛과 상기 제1 타입과 다른 제2 타입을 구별하는 단계와,
    상기 예측 유닛을 상기 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할하고, 상기 예측 유닛을 상기 제1 파라미터 값과 다른 상기 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 분할하는 단계를 더 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  8. 제1항에 있어서,
    상기 예측 유닛을 상기 두 개 이상의 변이 벡터의 교정 전에 두 개 이상의 서브블록으로 분할하는 단계를 더 포함하고, 상기 두 개 이상의 변이 벡터의 교정은, 상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 다음의 특성 깊이 값, 즉 상기 개별 서브블록과 관련된 평균 깊이 값, 상기 개별 서브블록과 관련된 중앙 픽셀에 대응하는 깊이 값, 및 상기 개별 서브블록에 대응하는 중간 깊이 값으로부터 선택된 특성 깊이 값에 적어도 부분적으로 기초하여 교정하는 것을 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  9. 제1항에 있어서,
    상기 예측 유닛을 상기 두 개 이상의 변이 벡터의 교정 전에 두 개 이상의 서브블록으로 분할하는 단계를 더 포함하고,
    상기 두 개 이상의 변이 벡터의 교정은,
    고정 깊이 모델, 스케일링 팩터 및 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 디코더를 통해 교정하는 것을 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  10. 제1항에 있어서,
    상기 예측 유닛을 상기 두 개 이상의 변이 벡터의 교정 전에 두 개 이상의 서브블록으로 분할하는 단계를 더 포함하고,
    상기 두 개 이상의 변이 벡터의 교정은,
    상기 두 개 이상의 서브블록의 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 개별 서브블록에 대한 스케일링 팩터를 디코더를 통해 결정하는 것과,
    상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록에 대한 오프셋 팩터를 상기 디코더를 통해 결정하는 것과,
    상기 스케일링 팩터 및 상기 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 상기 디코더를 통해 교정하는 것을 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  11. 제1항에 있어서,
    상기 예측 유닛을 상기 두 개 이상의 변이 벡터의 교정 전에 두 개 이상의 서브블록으로 분할하는 단계를 더 포함하고,
    상기 두 개 이상의 변이 벡터의 교정은,
    상기 두 개 이상의 서브블록의 개별 서브블록에 대한 스케일링 팩터를 인코더로부터 디코더를 통해 수신하는 것 - 상기 스케일링 팩터는 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 인코더에 의해 이전에 결정됨 - 과,
    상기 두 개 이상의 서브블록의 개별 서브블록에 대한 오프셋 팩터를 상기 인코더로부터 상기 디코더를 통해 수신하는 것 - 상기 오프셋 팩터는 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 인코더에 의해 이전에 결정됨 - 과,
    상기 스케일링 팩터 및 상기 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 상기 디코더를 통해 교정하는 것을 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  12. 제1항에 있어서,
    상기 예측 유닛을 상기 두 개 이상의 변이 벡터의 교정 전에 두 개 이상의 서브블록으로 분할하는 단계를 더 포함하고,
    상기 두 개 이상의 변이 벡터의 교정은,
    스케일링 팩터 및 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 디코더를 통해 교정하는 것을 포함하고,
    상기 스케일링 팩터 및 상기 오프셋 팩터는 이미징 장치 파라미터에 적어도 부분적으로 기초하여 결정되는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  13. 제1항에 있어서,
    상기 두 개 이상의 변이 벡터의 교정은, 주요 타입의 예측 유닛과 관련된 상기 두 개 이상의 변이 벡터를 선택적으로 교정하고 상기 주요 타입과 다른 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함하고, 상기 주요 타입의 예측 유닛 및 상기 보조 타입의 예측 유닛은 다음 기준, 즉 슬라이스 레벨 기준, 화상 레벨 기준 및 뷰 레벨 기준 중 하나 이상에 기초하여 상이한
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  14. 제1항에 있어서,
    상기 예측 유닛과 관련된 플래그에 적어도 부분적으로 기초하여 주요 타입의 예측 유닛과 상기 주요 타입과 다른 보조 타입의 예측 유닛을 구별하는 단계를 더 포함하고,
    상기 두 개 이상의 변이 벡터의 교정은, 상기 주요 타입의 예측 유닛과 관련된 상기 두 개 이상의 변이 벡터를 선택적으로 교정하고 상기 주요 타입과 다른 상기 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함하는
    비디오 코딩을 위한 컴퓨터로 구현된 방법.
  15. 컴퓨터 상에서의 비디오 코딩을 위한 시스템으로서,
    비디오 데이터를 제공하도록 구성되는 디스플레이 장치와,
    상기 디스플레이 장치에 통신가능하게 결합되는 하나 이상의 프로세서와,
    상기 하나 이상의 프로세서에 통신가능하게 결합되는 하나 이상의 메모리 저장소와,
    상기 하나 이상의 프로세서에 통신가능하게 결합되고, 깊이 맵에 적어도 부분적으로 기초하여 예측 유닛과 관련된 두 개 이상의 변이 벡터를 교정하도록 구성되는 교정 로직 모듈 - 상기 예측 유닛은 상기 깊이 맵과 관련된 비디오 화상의 일부에 대응함 - 과,
    상기 교정 로직 모듈에 통신가능하게 결합되고, 상기 교정된 변이 벡터에 적어도 부분적으로 기초하여 상기 예측 유닛에 대해 변이 보상 화상간 예측을 수행하도록 구성되는 변이 보상 로직 모듈과,
    상기 변이 보상 로직 모듈에 통신가능하게 결합되고, 상기 디스플레이 장치 상에서의 제공을 위해 상기 변이 보상 화상간 예측에 적어도 부분적으로 기초하여 상기 예측 유닛을 코딩하도록 구성되는 코더를 포함하는
    비디오 코딩을 위한 시스템.
  16. 제15항에 있어서,
    상기 코더는 3D 디코더를 포함하는
    비디오 코딩을 위한 시스템.
  17. 제15항에 있어서,
    상기 코더는 상기 코딩된 예측 유닛에 적어도 부분적으로 기초하여 종속 뷰 비디오 화상을 디코딩하도록 더 구성되는
    비디오 코딩을 위한 시스템.
  18. 제15항에 있어서,
    상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성되고, 상기 예측 유닛의 두 개 이상의 서브블록으로의 분할은 이용 가능한 가장 미세한 파티션이 퍼 픽셀 레벨 파티션과 동일하도록 파라미터화되고, 상기 두 개 이상의 변이 벡터의 교정은, 다음의 특성 깊이 값, 즉 상기 두 개 이상의 서브블록의 개별 서브블록과 관련된 평균 깊이 값, 상기 개별 서브블록과 관련된 중앙 픽셀에 대응하는 깊이 값, 및 상기 개별 서브블록에 대응하는 중간 깊이 값으로부터 선택된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 교정하는 것을 포함하는
    비디오 코딩을 위한 시스템.
  19. 제15항에 있어서,
    상기 교정 로직 모듈은
    제1 타입의 예측 유닛과 상기 제1 타입과 다른 제2 타입의 예측 유닛을 구별하고 - 상기 제1 타입의 예측 유닛 및 상기 제2 타입의 예측 유닛은 다음의 기준, 즉 슬라이스 레벨 기준, 화상 레벨 기준 및 뷰 레벨 기준 중 하나 이상에 기초하여 상이함 -,
    상기 예측 유닛을 상기 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할하고, 상기 예측 유닛을 상기 제1 파라미터 값과 다른 상기 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 분할하도록 더 구성되는
    비디오 코딩을 위한 시스템.
  20. 제15항에 있어서,
    상기 교정 로직 모듈은,
    상기 예측 유닛의 크기에 적어도 부분적으로 기초하여 제1 타입의 예측 유닛과 상기 제1 타입과 다른 제2 타입의 예측 유닛을 구별하고,
    상기 예측 유닛을 상기 제1 타입의 예측 유닛에 대한 제1 파라미터 값을 이용하여 선택적으로 분할하고, 상기 예측 유닛을 상기 제1 파라미터 값과 다른 상기 제2 타입의 예측 유닛에 대한 제2 파라미터 값을 이용하여 분할하도록 더 구성되는
    비디오 코딩을 위한 시스템.
  21. 제15항에 있어서,
    상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성되고,
    상기 두 개 이상의 변이 벡터의 교정은, 고정 깊이 모델, 스케일링 팩터 및 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 상기 코더를 통해 교정하는 것을 포함하는
    비디오 코딩을 위한 시스템.
  22. 제15항에 있어서,
    상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성되고,
    상기 두 개 이상의 변이 벡터의 교정은,
    상기 두 개 이상의 서브블록의 개별 서브블록에 대한 스케일링 팩터를 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 코더를 통해 결정하는 것과,
    상기 두 개 이상의 서브블록의 개별 서브블록에 대한 오프셋 팩터를 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 코더를 통해 결정하는 것과,
    상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 상기 스케일링 팩터 및 상기 오프셋 팩터에 적어도 부분적으로 기초하여 상기 코더를 통해 교정하는 것을 포함하는
    비디오 코딩을 위한 시스템.
  23. 제15항에 있어서,
    상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성되고,
    상기 두 개 이상의 변이 벡터의 교정은,
    상기 두 개 이상의 서브블록의 개별 서브블록에 대한 스케일링 팩터를 인코더로부터 상기 코더를 통해 수신하는 것 - 상기 스케일링 팩터는 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 인코더에 의해 이전에 결정됨 - 과,
    상기 두 개 이상의 서브블록의 개별 서브블록에 대한 오프셋 팩터를 상기 인코더로부터 상기 코더를 통해 수신하는 것 - 상기 오프셋 팩터는 상기 개별 서브블록과 관련된 특성 깊이 값에 적어도 부분적으로 기초하여 상기 인코더에 의해 이전에 결정됨 - 과,
    상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 상기 스케일링 팩터 및 상기 오프셋 팩터에 적어도 부분적으로 기초하여 상기 코더를 통해 교정하는 것을 포함하는
    비디오 코딩을 위한 시스템.
  24. 제15항에 있어서,
    상기 교정 로직 모듈은 상기 두 개 이상의 변이 벡터의 교정 전에 상기 예측 유닛을 두 개 이상의 서브블록으로 분할하도록 더 구성되고,
    상기 두 개 이상의 변이 벡터의 교정은,
    스케일링 팩터 및 오프셋 팩터에 적어도 부분적으로 기초하여 상기 두 개 이상의 서브블록의 개별 서브블록에 대한 상기 두 개 이상의 변이 벡터의 개별 벡터를 상기 코더를 통해 교정하는 것을 포함하고,
    상기 스케일링 팩터 및 상기 오프셋 팩터는 이미징 장치 파라미터에 적어도 부분적으로 기초하여 결정되는
    비디오 코딩을 위한 시스템.
  25. 제15항에 있어서,
    상기 두 개 이상의 변이 벡터의 교정은, 주요 타입의 예측 유닛과 관련된 상기 두 개 이상의 변이 벡터를 선택적으로 교정하고, 상기 주요 타입과 다른 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함하고, 상기 주요 타입의 예측 유닛 및 상기 보조 타입의 예측 유닛은 다음 기준, 즉 슬라이스 레벨 기준, 화상 레벨 기준 및 뷰 레벨 기준 중 하나 이상에 기초하여 상이한
    비디오 코딩을 위한 시스템.
  26. 제15항에 있어서,
    상기 교정 로직 모듈은 상기 예측 유닛과 관련된 플래그에 적어도 부분적으로 기초하여 주요 타입의 예측 유닛과 상기 주요 타입과 다른 보조 타입의 예측 유닛을 구별하도록 더 구성되고,
    상기 두 개 이상의 변이 벡터의 교정은, 상기 주요 타입의 예측 유닛과 관련된 상기 두 개 이상의 변이 벡터를 선택적으로 교정하고, 상기 주요 타입과 다른 상기 보조 타입의 예측 유닛과 관련된 단일 변이 벡터만을 교정하는 것을 포함하는
    비디오 코딩을 위한 시스템.
  27. 컴퓨팅 장치 상에서 실행되는 것에 응답하여 상기 컴퓨팅 장치로 하여금 제1항 내지 제14항 중 어느 한 항의 방법을 수행하게 하는 복수의 명령어를 포함하는
    적어도 하나의 머신 판독 가능 매체.
  28. 제1항 내지 제14항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는
    장치.
KR1020147027039A 2012-04-19 2012-04-19 깊이 기반 변이 벡터 교정을 포함하는 3d 비디오 코딩 KR101618672B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/034177 WO2013158097A1 (en) 2012-04-19 2012-04-19 3d video coding including depth based disparity vector calibration

Publications (2)

Publication Number Publication Date
KR20140138788A true KR20140138788A (ko) 2014-12-04
KR101618672B1 KR101618672B1 (ko) 2016-05-18

Family

ID=49383867

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147027039A KR101618672B1 (ko) 2012-04-19 2012-04-19 깊이 기반 변이 벡터 교정을 포함하는 3d 비디오 코딩

Country Status (5)

Country Link
US (2) US9729849B2 (ko)
EP (1) EP2839639A4 (ko)
KR (1) KR101618672B1 (ko)
TW (2) TWI583186B (ko)
WO (1) WO2013158097A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9445121B2 (en) * 2008-08-04 2016-09-13 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
US9729849B2 (en) 2012-04-19 2017-08-08 Intel Corporation 3D video coding including depth based disparity vector calibration
US9781416B2 (en) * 2013-02-26 2017-10-03 Qualcomm Incorporated Neighboring block disparity vector derivation in 3D video coding
US9596448B2 (en) 2013-03-18 2017-03-14 Qualcomm Incorporated Simplifications on disparity vector derivation and motion vector prediction in 3D video coding
KR101710034B1 (ko) 2014-01-03 2017-02-24 경희대학교 산학협력단 서브 예측 유닛 단위의 시간적인 시점 간 움직임 정보 유도의 방법 및 장치
US10368097B2 (en) * 2014-01-07 2019-07-30 Nokia Technologies Oy Apparatus, a method and a computer program product for coding and decoding chroma components of texture pictures for sample prediction of depth pictures
WO2015123806A1 (en) 2014-02-18 2015-08-27 Mediatek Singapore Pte. Ltd. Methods for depth based block partitioning
RU2019128700A (ru) 2017-03-17 2021-03-15 Вид Скейл, Инк. Прогнозирующее кодирование для 360-градусного видео на основе геометрического дополнения
US11277635B2 (en) * 2017-03-17 2022-03-15 Vid Scale, Inc. Predictive coding for 360-degree video based on geometry padding
US11265579B2 (en) * 2018-08-01 2022-03-01 Comcast Cable Communications, Llc Systems, methods, and apparatuses for video processing

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1779673A1 (en) * 2004-07-15 2007-05-02 Qualcomm Incorporated H.264 spatial error concealment based on the intra-prediction direction
JP2009509582A (ja) 2005-09-22 2009-03-12 スリーエム イノベイティブ プロパティズ カンパニー 3次元イメージングにおけるアーチファクトの軽減
WO2007063352A1 (en) * 2005-11-30 2007-06-07 Telecom Italia S.P.A. Method for determining scattered disparity fields in stereo vision
CN101056398A (zh) 2006-03-29 2007-10-17 清华大学 一种多视编码过程中获取视差矢量的方法及编解码方法
WO2007110000A1 (en) 2006-03-29 2007-10-04 Huawei Technologies Co., Ltd. A method and device of obtaining disparity vector and its multi-view encoding-decoding
CN101647279A (zh) 2007-01-24 2010-02-10 Lg电子株式会社 用于处理视频信号的方法和装置
KR100801968B1 (ko) * 2007-02-06 2008-02-12 광주과학기술원 변위를 측정하는 방법, 중간화면 합성방법과 이를 이용한다시점 비디오 인코딩 방법, 디코딩 방법, 및 인코더와디코더
US8953684B2 (en) 2007-05-16 2015-02-10 Microsoft Corporation Multiview coding with geometry-based disparity prediction
ATE514285T1 (de) * 2007-07-26 2011-07-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zur tiefenbezogenen informationspropagierung
JP5561781B2 (ja) 2008-01-29 2014-07-30 トムソン ライセンシング 2d画像データを立体画像データに変換する方法およびシステム
JP5346076B2 (ja) * 2008-04-25 2013-11-20 トムソン ライセンシング 奥行きを用いた視点間スキップモード
JP5425897B2 (ja) 2008-05-28 2014-02-26 トムソン ライセンシング 前方及び後方の深度予測を伴う、画像の深度抽出のシステム及び方法
WO2010013171A1 (en) 2008-07-28 2010-02-04 Koninklijke Philips Electronics N.V. Use of inpainting techniques for image correction
US8179448B2 (en) * 2008-08-26 2012-05-15 National Taiwan University Auto depth field capturing system and method thereof
JP5429034B2 (ja) 2009-06-29 2014-02-26 ソニー株式会社 立体画像データ送信装置、立体画像データ送信方法、立体画像データ受信装置および立体画像データ受信方法
KR101054875B1 (ko) 2009-08-20 2011-08-05 광주과학기술원 깊이 영상의 부호화를 위한 양방향 예측 방법 및 장치
KR20110036234A (ko) 2009-10-01 2011-04-07 삼성전자주식회사 다시점 영상 압축 방법 및 장치
JP6073307B2 (ja) 2011-06-22 2017-02-01 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ディスプレイ用信号の生成方法及び装置
EP3657796A1 (en) * 2011-11-11 2020-05-27 GE Video Compression, LLC Efficient multi-view coding using depth-map estimate for a dependent view
KR101662918B1 (ko) * 2011-11-11 2016-10-05 지이 비디오 컴프레션, 엘엘씨 깊이-맵 추정 및 업데이트를 사용한 효율적인 멀티-뷰 코딩
US9729849B2 (en) 2012-04-19 2017-08-08 Intel Corporation 3D video coding including depth based disparity vector calibration

Also Published As

Publication number Publication date
TWI583186B (zh) 2017-05-11
US9860514B2 (en) 2018-01-02
EP2839639A1 (en) 2015-02-25
WO2013158097A1 (en) 2013-10-24
US9729849B2 (en) 2017-08-08
US20140153645A1 (en) 2014-06-05
TWI517672B (zh) 2016-01-11
EP2839639A4 (en) 2016-01-06
US20170318277A1 (en) 2017-11-02
TW201515448A (zh) 2015-04-16
TW201404163A (zh) 2014-01-16
KR101618672B1 (ko) 2016-05-18

Similar Documents

Publication Publication Date Title
JP6550633B2 (ja) 3dビデオコーディングのための予測パラメータ継承
KR101618672B1 (ko) 깊이 기반 변이 벡터 교정을 포함하는 3d 비디오 코딩
JP6030230B2 (ja) パノラマベースの3dビデオコーディング
US10075689B2 (en) Region-of-interest based 3D video coding
KR101636269B1 (ko) 3차원 비디오 코딩을 위한 뷰 간 필터 파라미터 재사용
KR101626683B1 (ko) 멀티뷰 비디오 코딩 방안
US9532048B2 (en) Hierarchical motion estimation employing nonlinear scaling and adaptive source block size

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
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 4