KR20100105877A - 비디오 및 깊이 코딩 - Google Patents

비디오 및 깊이 코딩 Download PDF

Info

Publication number
KR20100105877A
KR20100105877A KR1020107017779A KR20107017779A KR20100105877A KR 20100105877 A KR20100105877 A KR 20100105877A KR 1020107017779 A KR1020107017779 A KR 1020107017779A KR 20107017779 A KR20107017779 A KR 20107017779A KR 20100105877 A KR20100105877 A KR 20100105877A
Authority
KR
South Korea
Prior art keywords
information
motion vector
coded
video information
picture
Prior art date
Application number
KR1020107017779A
Other languages
English (en)
Inventor
퍼빈 비하스 판딧
펑 인
동 티안
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20100105877A publication Critical patent/KR20100105877A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

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)

Abstract

다양한 실행예가 기재된다. 몇몇 실행예는 비디오 및 깊이 코딩과 관련된다. 일 방법은 화상에 대한 비디오 정보의 성분을 선택하는 단계를 포함한다. 모션 벡터가 상기 선택된 비디오 정보 또는 상기 화상에 대한 깊이 정보에 대하여 결정된다(1010, 1040). 상기 선택된 비디오 정보는 상기 결정된 모션 벡터(1015)에 기초하여 코딩된다. 깊이 정보는 상기 결정된 모션 벡터(1035)에 기초하여 코딩된다. 상기 선택된 비디오 정보 및 상기 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자가 생성된다(1030, 1050). 상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 또는 그 이상의 데이터 구조가 생성된다(1065, 1070).

Description

비디오 및 깊이 코딩{Video and Depth Coding}
본 출원은 발명의 명칭이 "비디오 및 깊이 코딩(Video and Depth Coding)"인 U.S. Provisional Application Serial No. 61/010,823, filed on January 11, 2008에 대한 권리을 주장하며, 그 내용은 여기서 모든 목적을 위하여 전체적으로 참조로서 통합된다.
코딩 시스템과 관련된 실시예가 기재된다. 다양한 특정 실시예가 비디오 및 깊이 코딩(video and depth coding)에 관련된다.
다시점 비디오 코딩(multi-view video coding, MVC)은 예를 들어 자유 시점 및 3차원(3D) 비디오 애플리케이션, 홈 엔터테인먼트 및 감시를 포함하는 매우 다양한 애플리케이션을 만족시키는 핵심 기술이다. 깊이 데이터(depth data)는 각 시점(view)과 연관될 수 있다. 깊이 데이터는 시점 합성에 유용하며, 이것은 추가적인 시점의 생성이다. 다시점 애플리케이션에 있어, 관련된 비디오 및 깊이 데이터의 양은 막대할 수 있다. 따라서, 예를 들어 깊이 데이터를 사용하거나 개별 시점의 동시방송을 수행하는 현행 비디오 코딩 솔루션의 코딩 효율을 향상시키는 것을 도와주는 구성 체계에 대한 필요성이 존재한다.
본 발명이 해결하고자 하는 과제는 종래 기술의 문제점을 개선할 수 있는 방법 및 장치를 제공하는 데 있다.
일반적인 양태에 따라, 화상(picture)에 대한 비디오 정보의 성분(component)이 선택된다. 상기 선택된 비디오 정보 또는 화상에 대한 깊이 정보에 대하여 모션 벡터가 결정된다. 상기 결정된 비디오 정보는 상기 결정된 모션 벡터에 기초하여 코딩된다. 깊이 정보는 상기 결정된 모션 벡터에 기초하여 코딩된다. 상기 선택된 비디오 정보와 깊이 정보가 상기 결정된 모션 벡터에 기초하여 각각 코딩된다는 지시자(indicator)가 생성된다. 상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 이상의 데이터 구조가 생성된다.
또 다른 일반적인 양태에 따라, 신호가 데이터 구조를 포함하도록 포맷된다. 상기 데이터 구조는 화상에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보 및 지시자를 포함한다. 상기 지시자는, 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보가 상기 비디오 정보 또는 깊이 정보에 대하여 결정된 모션 벡터에 기초하여 코딩된다는 것을 나타낸다.
또 다른 일반적인 양태에 따라, 화상의 비디오 성분에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보가 상기 비디오 정보 또는 깊이 정보에 대하여 결정된 모션 벡터에 기초하여 코딩된다는 것을 나타내는 지시자를 포함하는 데이터가 수신된다. 상기 모션 벡터는 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보 모두를 디코딩하는 데에 사용하기 위하여 생성된다. 상기 코딩된 비디오 정보는, 상기 화상에 대한 디코딩된 비디오 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 디코딩된다. 상기 코딩된 깊이 정보는, 상기 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 디코딩된다.
하나 또는 그 이상의 실시예에 관한 상세한 설명이 첨부되는 도면 및 이하의 기재 내용에서 제시된다. 하나의 특정 방식에 따라 기재되었다 하더라도, 실시예들은 다양한 방식에 따라 구성되거나 구체화될 수 있다는 점을 명확히 해야 한다. 예를 들어, 실시예는, 어떤 방법으로서 수행될 수 있거나, 또는 예를 들어 일련의 동작을 수행하도록 구성된 장치나 일련의 동작을 수행하기 위한 명령을 저장하는 장치와 같이 어떤 장치로서 구체화될 수 있거나, 또는 어떤 신호로 구체화될 수 있다. 다른 양태 및 특징은 첨부되는 도면 및 청구항과 관련하여 고려되는 이하의 상세한 설명으로부터 명백해질 것이다.
본 발명에 따르면, 종래의 문제점을 효과적으로 개선한 방법 및 장치를 제공할 수 있다.
도 1은 8 시점을 갖는 다시점 비디오 코딩 시스템에 대한 코딩 구조의 실시예에 관한 도면이다.
도 2는 3 시점을 갖는 다시점 비디오 및 깊이 코딩 시스템에 대한 코딩 구조의 실시예에 관한 도면이다.
도 3은 시점 i의 깊이 데이터의 예측에 관한 실시예의 블럭도이다.
도 4는 다시점 비디오 콘텐트 및 깊이를 인코딩하기 위한 인코더의 실시예에 관한 블럭도이다.
도 5는 다시점 비디오 콘텐트 및 깊이를 디코딩하기 위한 디코더의 실시예에 관한 블럭도이다.
도 6은 비디오 송신기의 실시예에 관한 블럭도이다.
도 7은 비디오 수신기의 실시예에 관한 블럭도이다.
도 8은 시점 및 깊이 데이터의 배열(ordering)의 실시예에 관한 도면이다.
도 9는 시점 및 깊이 데이터의 배열의 또 다른 실시예에 관한 도면이다.
도 10은 인코딩 프로세스의 실시예에 관한 흐름도이다.
도 11은 인코딩 프로세스의 또 다른 실시예에 관한 흐름도이다.
도 12는 인코딩 프로세스의 또 다른 실시예에 관한 흐름도이다.
도 13은 디코딩 프로세스의 실시예에 관한 흐름도이다.
도 14는 인코딩 프로세스의 또 다른 실시예에 관한 흐름도이다.
도 15는 인코더의 또 다른 실시예에 관한 블럭도이다.
도 16은 디코딩 프로세스의 또 다른 실시예에 관한 흐름도이다.
도 17은 디코더의 또 다른 실시예에 관한 블럭도이다.
적어도 하나의 실시예에 있어서, 다시점 비디오 및 깊이 데이터를 코딩하기 위한 구성 체계를 제안한다. 추가적으로, 비디오 및 깊이 데이터를 코딩하기 위해 코딩 효율(coding efficiency)이 개선될 수 있는 몇몇 방법을 제안한다. 또한, 코딩 효율을 향상시키기 위하여 깊이 신호(depth signal)가 또 다른 깊이 신호뿐만 아니라 비디오 신호를 이용할 수 있는 접근법을 기재한다.
제기되는 많은 문제점 중의 하나는 다시점 비디오 시퀀스의 효율적인 코딩이다. 다시점 비디오 시퀀스는 상이한 시점으로부터 동일한 장면(scene)을 캡쳐하는 둘 이상의 비디오 시퀀스의 세트이다. 깊이 데이터는 다시점 콘텐트의 각 시점과 관련되어 있을 수 있지만, 몇몇 다시점 비디오 코딩 애플리케이션에 있어 비디오 및 깊이 데이터의 양은 막대하다. 따라서, 예를 들어 깊이 데이터를 사용하거나 개별 시점의 동시방송을 수행하는 현행 비디오 코딩 솔루션의 코딩 효율을 향상시키는 것을 도와 주는 구성 체계에 대한 필요성이 존재한다.
다시점 비디오 소스는 동일한 장면에 관한 다중 시점을 포함하고 있기 때문에, 통상적으로 다중 시점 이미지 간에는 고도의 상관관계가 존재한다. 따라서, 시점 리던던시(view redundancy)가 시간 리던던시(temporal redundancy)에 더하여 이용될 수 있으며, 이는 상이한 시점들에 걸쳐서 시점 예측을 수행함으로써 달성될 수 있다.
실제적인 일 실시예에 있어, 많은 수의 카메라를 포함하는 다시점 비디오 시스템이 이종(heterogeneous)의 카메라 또는 완벽하게 조정되지 않은 복수의 카메라를 이용하여 형성될 것이다. 많은 수의 카메라로 인해, 디코더의 메모리 요구 조건은 큰 양까지 증가될 수 있고 복잡도를 또한 증가시킬 수 있다. 또한, 특정 애플리케이션은 일련의 시점 집합으로부터 몇몇 시점을 디코딩하는 것만을 요구할 수 있다. 결과적으로, 출력을 위해 요구되지 않는 시점을 완전히 재구성할 필요는 없을 수도 있다.
또한, 몇몇 시점은 깊이 정보만을 전달할 수 있고, 그에 따라 그 관련된 깊이 데이터를 이용하여 디코더에서 합성된다. 깊이 데이터는 중간 가상 시점(intermediate virtual views)을 생성하는 데에 또한 사용될 수 있다.
H.264/AVC의 현행 다시점 비디오 코딩 확장(이하, "MVC 사양"이라고도 함)은 비디오 데이터만을 코딩하기 위한 구성 체계를 규정한다. MVC 사양은 코딩 효율을 향상시키기 위하여 시간 및 시점-간 의존성(temporal and inter-view dependencies)을 이용한다. 8 시점을 갖는 다시점 비디오 코딩 시스템에 있어 MVC 사양에 의해 뒷받침되는 예시적인 코딩 구조(100)이 도 1에 도시되어 있다. 도 1의 화살표는 의존성 구조(dependency structure)를 나타내며, 화살표는 기준 화상으로부터 그 기준 화상에 기초하여 코딩되는 화상을 향한다. 고급 레벨(high level)에서, 상이한 시점 간 예측 구조(prediction structure)을 나타내기 위하여 구문(syntax)이 신호화된다. 이 구문은 표 1에 도시되어 있다. 특히, 표 1은 일 실시예에 있어 MVC 사양에 따른 시퀀스 파라미터 조합(sequence parameter set)을 나타낸다.
Figure pct00001
코딩 효율을 더 향상시키기 위하여, 조도 보상 및 모션 스킵 모드와 같은 몇몇 도구가 제안되었다. 모션 스킵 도구는 이하에서 간단히 기재된다.
다시점 비디오 코딩을 위한 모션 스킵 모드(Motion Skip Mode for Multi-view Video Coding)
모션 스킵 모드는 다시점 비디오 코딩의 코딩 효율을 향상시키기 위하여 제안된다. 모션 스킵 모드는 2개의 이웃하는 시점 간에 모션의 유사성이 존재한다는 개념에 적어도 기초한다.
모션 스킵 모드는 동일한 시순간(temporal instant)에서 이웃하는 시점(view) 내의 대응하는 매크로블럭으로부터 직접 매크로블럭 타입, 모션 벡터 및 기준 인덱스와 같은 모션 정보를 추정한다. 상기 방법은, 예를 들어 제 1 단계에서 대응하는 매크로블럭에 대한 탐색 및 제 2 단계에서 모션 정보의 유도와 같은 2개의 단계로 분해될 수 있다. 상기 예의 제 1 단계에서, 이웃하는 시점의 화상 내의 대응하는 위치를 나타내기 위하여 전역 변이 벡터(global disparity vector, GDV)가 사용된다. 상기 방법은 전역 변이 벡터에 의하여 이웃하는 시점 내의 대응하는 매크로블럭을 위치시킨다. 전역 변이 벡터는 현재 화상 및 이웃 시점의 화상 간에 매크로블럭 크기화된 단위로 측정되며, 이에 따라 상기 GDV는 매크로블럭 크기화된 단위로 위치를 지시하는 개략 벡터(coarse vector)이다. 전역 변이 벡터는 예를 들어 매 앵커 화상(anchor picture)마다 주기적으로 추정 및 디코딩될 수 있다. 그 경우, 비-앵커 화상의 전역 변이 벡터는 앵커 화상으로부터의 최근 전역 변이 벡터를 이용하여 보간(interpolate)될 수 있다. 예를 들어, 현재 화상 c의 GDV는 GDVc = w1*GDV1 + w2*GDV2 이다(w1 및 w2는 현재 화상과, 앵커 화상 1 및 앵커 화상 2 각각 간 거리의 역(inverse of distance)에 기초한 가중 성분이다.). 제 2 단계에서, 모션 정보가 이웃하는 시점의 화상 내의 대응하는 매크로블럭으로부터 유도되고, 모션 정보는 현재 매크로블럭에 적용하기 위해 복사된다.
현재 매크로블럭이 기본 시점(base view)의 화상 또는 JMVM 모델(joint multi-view video model)에서 정의된 바와 같은 앵커 화상 내에 위치하는 경우, 모션 스킵 모드는 바람직하게는 디스에이블된다. 이는, 이웃하는 시점으로부터의 화상이 인터 예측 프로세스(inter prediction process)를 위한 또 다른 방법을 제공하는 데 사용되기 때문이다. 즉, 모션 스킵 모드에 있어서 그 목적은 기준 시점(reference view)으로부터 코딩 모드/인터 예측 정보를 차용하는 것이다. 하지만, 기본 시점은 기준 시점을 가지고 있지 않으며, 앵커 화상은 어떠한 인터 예측도 행해지지 않도록 인트라 코딩된다. 즉, 이러한 경우에는 MSM(모션스킵 모드)을 디스에이블시키는 것이 바람직하다.
JMVM에서 GDVs가 전송되는 것을 주목한다.
모션 스킵 모드의 사용을 디코더에 통지하기 위하여, 새 플래그인 motion_skip_flag가 다시점 비디오 코딩을 위해 예를 들어 매클로블럭 계층 구문의 헤더에 포함된다. 만약 motion_skip_flag가 턴온되면, 현재 매크로블럭은 이웃하는 시점 내의 대응하는 매크로블럭으로부터 매크로블럭 타입, 모션 벡터 및 기준 인덱스를 유도한다.
비디오 데이터로부터 개별적으로 깊이 데이터를 코딩(Coding Depth Data Separately from Video Data)
JVT(Joint Video Team)에 의해 작업 중인 현행 다시점 비디오 코딩 사양은 비디오 데이터만을 코딩하기 위한 구성 체계를 규정한다. 결과적으로, (예를 들어 자유시점 TV(FTV), 몰입형 매체(immersive media) 및 3D 원격회의와 같이) 깊이(depth)를 이용하여 중간 시점을 생성하는 것을 요구하는 애플리케이션들은 완전히 지원되지 않는다. 이러한 구성 체계에서, 재구성되는 시점들은 어떤 시점에 대한 시간 예측 외에도 시점-간 기준(inter-view references)으로서 사용될 수 있다. 도 1은 8 시점을 갖는 다시점 비디오 코딩 시스템에 대한 예시적인 코딩 구조(100)를 나타내며, 본 발명 원리는 본 발명의 일 실시예에 따라 도 1에 적용될 수 있다.
적어도 일 실시예에 있어서, 우리는 다시점 비디오 코딩 구성 체계 내에 깊이(depth)를 추가하는 것을 제안한다. 깊이 신호는 각 시점에 대한 비디오 신호에 대하여 사용되는 구성 체계와 유사한 구성 체계를 또한 이용할 수 있다. 이것은, 깊이를 또 다른 비디오 데이터의 조합으로서 고려하고 비디오 데이터에 대하여 사용되는 동일한 도구 조합을 이용함으로써, 행해질 수 있다. 도 2는 3 시점을 갖는 다시점 비디오 및 깊이 코딩 시스템에 대한 또 다른 예시적인 코딩 구조(200)를 나타내며(위에서부터 아래 방향으로, 화상의 첫번째 두 행에 있어 제 1 시점(view)의 비디오 및 깊이, 이어서 화상의 중간부의 두 행에 있어 제 2 시점의 비디오 및 깊이, 이어서 화상의 하단부의 두 행에 있어 제 3 시점의 비디오 및 깊이), 본 발명 원리에 대한 일 실시예에 따라 본 발명 원리는 도 2에 적용된다.
본 실시예의 구성 체계에 있어, 비디오 코딩이 아닌 깊이 코딩만이 모션 스킵 및 시점-간 예측을 위해 깊이 데이터로부터의 정보를 이용할 것이다. 이러한 특정 실시예의 목적은 비디오 신호로부터 독립적으로 상기 깊이 데이터를 코딩하는 것이다. 하지만, 모션 스킵 및 시점-간 예측은, 비디오 신호에 대해 적용되는 방식과 유사한 방식으로, 깊이 신호에 적용될 수 있다. 깊이 데이터를 코딩하는 코딩 효율을 향상시키기 위하여, 우리는 시점 i의 깊이 데이터가 예를 들어 시점 j의 다른 깊이 데이터로부터의 시점-간 예측 및 모션 정보(모션 스키 모드), 시점 합성 정보 등등과 같은 부가 정보를 이용할 수 있을 뿐만 아니라, 시점 i에 대응하는 관련된 비디오 데이터로부터의 상기 부가 정보를 이용할 수도 있다는 것을 제안한다. 도 3은 시점 i의 깊이 데이터의 예측(300)을 나타낸다. TO, T1 및 T2는 상이한 시순간에 대응한다. 시점 i의 비디오 데이터와 시점 j의 깊이 데이터로부터 예측하는 경우 시점 i의 깊이는 동일한 시순간으로부터만 예측할 수 있는 것으로 도시되어 있지만, 이것은 단지 일 실시예에 불과하다. 다른 시스템은 어떠한 시순간이라도 이용하도록 선택할 수 있다. 또한, 다른 시스템 및 실시예는, 다양한 시점과 시순간으로부터의 깊이 데이터 및/또는 비디오 데이터로부터 얻어지는 정보의 조합으로부터, 시점 i의 깊이 데이터를 예측할 수 있다.
시점 i에 대한 깊이 데이터가 시점 i의 관련 비디오 데이터 또는 또다른 시점 j의 깊이 데이터로부터의 모션, 모드 및 다른 예측 정보를 사용하는지 여부를 나타내기 위하여, 우리는 어떤 구문 요소(syntax element)의 동일한 사용을 나타낼 것을 제안한다. 상기 구문 요소는 예를 들어 매크로블럭 레벨에서 신호화될 수 있고, 깊이 데이터에 속하는 현재 네트워크 추상 계층(network abstraction layer, NAL) 단위에서 요건화될 수 있다. 물론, 본 발명의 사상을 유지하면서, 상기 신호화는 또 다른 레벨에서 일어날 수도 있다.
표 2는, 본 실시예에 따라, 모션 스킵 모드를 위한 매크로블럭 계층에 대한 구문 요소를 나타낸다.
Figure pct00002
Figure pct00003
예를 들어 표 2에 대응하는 것과 같은 일 실시예에 있어서, 구문 depth_data는 다음과 같은 의미를 갖는다.
depth_data가 0과 같다는 것은, 현재 매크로블럭에 대한 모션 예측을 위해 현재 매크로블럭이 현재 깊이 데이터에 대응하는 비디오 데이터를 사용해야 한다는 것을 나타낸다.
depth_data가 1과 같다는 것은, 모션 예측을 위한 의존성 구조(dependency structure)에 지시되어 있는 바와 같이 현재 매크로블럭이 또 다른 시점의 깊이 데이터에 대응하는 깊이 데이터를 사용해야 한다는 것을 나타낸다.
또한, 깊이 데이터와 비디오 데이터는 상이한 해상도를 가질 수 있다. 일부 몇몇 시점은 서브-샘플링된 비디오 데이터(video data sub-sampled)를 가질 수 있는 반면, 다른 시점은 서브-샘플링된 깊이 데이터를 가지거나 두가지 모두를 가질 수 있다. 만약 이러한 경우라면, depth_data 플래그의 해석은 기준 화상의 해상도에 의존한다. 해상도가 상이한 경우에는, 모션 정보의 유도를 위하여, H.264/AVC 표준에 대한 스케일러블 비디오 코딩(scalable video coding, SVC) 확장에 대해 사용되는 방법과 동일한 방법을 사용할 수 있다. SVC에서, 만약 강화 계층(enhancement layer)에서의 해상도가 베이스 계층의 해상도의 정수 배이면, 인코더는 동일한 해상도로 먼저 업샘플링한 후 모션 보상을 수행함으로써 모션 및 모드 층-간 예측(motion and mode inter-layer prediction)을 수행하는 것을 선택할 것이다.
만약 기준 화상(깊이 또는 비디오)이 코딩되고 있는 현재 깊이 화상보다 더 낮은 해상도를 가지고 있으면, 인코더는 상기 기준 화상으로부터 모션 및 모드 해석을 수행하지 않는 것을 선택할 수 있다.
깊이 정보가 디코더에 전송될 수 있는 몇가지의 방법이 있다. 이러한 방법의 몇가지가 예시적인 목적을 위해 이하에서 기재된다. 하지만, 본 발명의 원리는 이하의 방법에만 한정되지 않으며, 따라서 본 발명의 사상을 유지하는 한 디코더에 깊이 정보를 전송하기 위해 다른 방법이 사용될 수도 있다.
도 4는 예시적인 다시점 비디오 코딩(Multi-view Video Coding, MVC) 인코더(400)를 나타나며, 본 발명 원리는 본 발명의 일 실시예에 따라 상기 인코더에 적용될 수 있다. 인코더(400)는 신호 통신적으로 트랜스포머(410)의 입력에 연결되는 출력을 갖는 결합기(combiner, 405)를 포함한다. 트랜스포머(410)의 출력은 양자화기(quantizer, 415)의 입력과 신호 통신적으로 연결된다. 양자화기(415)의 출력은 엔트로피 코더(entropy coder, 420)의 입력 및 역양자화기(inverse quantizer, 425)의 입력과 신호 통신적으로 연결된다. 역양자화기(425)의 출력은 역트랜스포머(inverse transformer, 430)의 입력과 신호 통신적으로 연결된다. 역트랜스포머(430)의 출력은 결합기(435)의 제 1 비반전 입력과 신호통신적으로 연결된다. 결합기(435)의 출력은 인트라 예측기(intra predictor, 445)의 입력 및 디블러킹 필터(deblocking filter, 450)의 입력과 신호통신적으로 연결된다. 디블러킹 필터(450)의 출력은 (시점 i에 대한) 기준화상 저장부(455)의 입력과 신호통신적으로 연결된다. 기준화상 저장부(455)의 출력은 모션 보상기(475)의 제 1 입력 및 모션 평가기(motion estimator, 480)의 제 1 입력과 신호통신적으로 연결된다. 모션 평가기(480)의 출력은 모션 보상기(475)의 제 2 입력과 신호통신적으로 연결된다.
(다른 시점에 대한) 기준화상 저장부(460)의 출력은 변이/조도 평가기(disparity/illumination estimator, 470)의 제 1 입력 및 변이/조도 보상기(465)의 제 1 입력과 신호통신적으로 연결된다. 변이/조도 평가기(470)의 출력은 변이/조도 보상기(465)의 제 2 입력과 신호통신적으로 연결된다.
엔트로피 디코더(420)의 출력은 인코더(400)의 출력으로서 사용가능하다. 결합기(405)의 비반전 입력은 인코더(400)의 입력으로서 사용가능하고, 변이/조도 평가기(470)의 제 2 입력 및 모션 평가기(480)의 제 2 입력과 신호통신적으로 연결된다. 스위치(485)의 출력은 결합기(435)의 제 2 비반전 입력 및 결합기(405)의 반전 입력과 신호통신적으로 연결된다. 스위치(485)는 모션 보상기(475)의 출력과 신호통신적으로 연결되는 제 1 입력과, 변이/조도 보상기(465)의 출력과 신호통신적으로 연결되는 제 2 입력, 및 인트라 예측기(445)의 출력과 신호통신적으로 연결되는 제 3 입력을 포함한다.
모드결정 모듈(mode decision module, 440)은 어떤 입력이 스위치(485)에 의하여 선택되는지를 제어하기 위하여 스위치(485)에 연결되는 출력을 갖는다.
도 5는 예시적인 다시점 비디오 코딩(MVC) 디코더를 나타내며, 본 발명 원리는 본 발명의 일 실시예에 따라 상기 디코더에 적용될 수 있다. 디코더(500)는 역양자화기(510)의 입력과 신호통신적으로 연결된 출력을 갖는 엔트로피 디코더(entropy decoder, 505)를 포함한다. 상기 역양자화기의 출력은 역트랜스포머(515)의 입력과 신호통신적으로 연결된다. 역트랜스포머(515)의 출력은 결합기(520)의 제 1 비반전입력과 신호통신적으로 연결된다. 결합기(520)의 출력은 디블러킹 필터(525)의 입력 및 인트라예측기(530)의 입력과 신호통신적으로 연결된다. 디블러킹 필터(525)의 출력은 (시점 i에 대한) 기준화상 저장부(540)의 입력과 신호통신적으로 연결된다. 기준화상 저장부(540)의 출력은 모션보상기(535)의 제 1 입력과 신호통신적으로 연결된다.
(다른 시점에 대한) 기준화상 저장부(545)의 출력은 변이/조도 보상기 (550)의 제 1 입력과 신호통신적으로 연결된다.
엔트로피 코더(505)의 입력은 잔여 비트스트림(residue bitstream)을 수신하기 위하여 디코더(500)로의 입력으로서 사용가능하다. 또한, 모드모듈(mode module, 560)의 입력은, 어떤 입력이 스위치(555)에 의하여 선택되는지를 제어하기 위한 제어구문(control syntax)을 수신하기 위하여, 디코더(500)로의 입력으로서 또한 사용가능하다. 그리고, 모션 보상기(535)의 제 2 입력은 모션벡터를 수신하기 위하여 디코더(500)로의 입력으로서 사용가능하다. 또한, 변이/조도 보상기(550)의 제 2 입력은 변이벡터(disparity vector)와 조도보상 구문(syntax)을 수신하기 위하여 디코더(500)로의 입력으로서 사용가능하다.
스위치(555)의 출력은 결합기(520)의 제 2 비반전입력과 신호통신적으로 연결된다. 스위치(555)의 제 1 입력은 변이/조도 보상기(550)의 출력과 신호통신적으로 연결된다. 스위치(555)의 제 2 입력은 모션보상기(535)의 출력과 신호통신적으로 연결된다. 스위치(555)의 제 3입력은 인트라예측기(530)의 출력과 신호통신적으로 연결된다. 모드모듈(560)의 출력은 어떤 입력이 스위치(555)에 의하여 선택되는지 제어하기 위하여 스위치(555)와 신호통신적으로 연결된다. 디블러킹 필터(525)의 출력은 상기 디코더의 출력으로서 사용가능하다.
도 6은 비디오 전송 시스템(600)을 나타내며, 본 발명 원리는 본 발명의 일 실시예에 따라 상기 비디오 전송 시스템에 적용될 수 있다. 비디오 전송 시스템(600)은 예를 들어 인공위성, 케이블, 전화선 또는 지상파 방송과 같은 다양한 매체 중의 어느 것이라도 이용하여 신호를 전송하기 위한 전송 시스템 또는 헤드엔드(head-end)일 수 있다. 전송은 인터넷 또는 어떤 다른 네트워크를 통하여 제공될 수 있다.
비디오 전송 시스템(600)은 비디오 및 깊이 정보를 포함하는 비디오 콘텐트를 생성 및 전달할 수 있다. 이것은 비디오 및 깊이 정보를 포함하는 인코딩된 신호를 생성함으로써 달성될 수 있다.
비디오 전송 시스템(600)은 인코더(610) 및 상기 인코딩된 신호를 전송할 수 있는 전송기(transmitter, 620)를 포함한다. 인코더(610)는 비디오 정보 및 깊이 정보를 수신하고, 이로부터 인코딩된 신호를 생성한다. 인코더(610)는 예를 들어 상기에서 상세하게 기재된 인코더(300)일 수 있다.
전송기(620)는 예를 들어 관련된 인코딩된 화상 및/또는 정보를 나타내는 하나 이상의 비트스트림을 갖는 프로그램 신호를 전송하도록 적용될 수 있다. 전형적인 전송기는 예를 들어 오류-보정 코딩을 제공하는 단계, 상기 신호 내의 데이터를 인터리빙(interleaving)하는 단계, 상기 신호 내의 애너지를 랜덤화하는 단계 및 하나 이상의 반송파(carriers)에 상기 신호를 변조하는 단계 중의 하나 이상과 같은 기능을 수행한다. 전송기는 안테나(미도시)를 포함하거나 이와 인터페이스할 수 있다.
도 7은 비디오 수신 시스템(700)의 실시예에 관한 도면이다. 비디오 수신 시스템(700)은 예를 들어 인공위성, 케이블, 전화선 또는 지상파 방송과 같은 다양한 매체를 통하여 신호를 수신하도록 구성될 수 있다. 그 신호는 인터넷이나 어떤 다른 네트워크를 통하여 수신될 수 있다.
비디오 수신 시스템(700)은, 인코딩된 비디오를 수신하고 예를 들어 사용자에게 디스플레이하거나 저장하기 위한 디코딩된 비디오를 제공하는, 예를 들어 휴대폰, 컴퓨터, 셋톱박스, 텔레비전 또는 다른 장치일 수 있다. 따라서, 비디오 수신 시스템(700)은 그 출력을 예를 들어 텔레비전의 스크린, 컴퓨터 모니터, 컴퓨터(저장, 처리, 디스플레이를 위해), 또는 어떤 다른 저장, 처리 또는 디스플레이장치에 제공할 수 있다.
비디오 수신 시스템(700)은 비디오 및 깊이 정보를 포함하는 비디오 콘텐트를 수신 및 처리할 수 있다. 이것은 비디오 및 깊이 정보를 포함하는 인코딩된 신호를 수신함으로써 달성된다.
비디오 수신 시스템(700)은 예를 들어 본 출원의 실시예들에 기재되어 있는 상기 신호와 같은 인코딩된 신호를 수신할 수 있는 수신기(710), 및 그 수신된 신호를 디코딩할 수 있는 디코더(720)를 포함한다.
수신기(710)는 예를 들어 인코딩된 화상을 나타내는 복수의 비트스트림을 갖는 프로그램 신호를 수신하도록 적용될 수 있다. 전형적인 수신기는, 예를 들어 변조 및 인코딩된 데이터 신호를 수신하는 단계, 상기 데이터 신호를 하나 이상의 반송파로부터 복조하는 단계, 상기 신호 내의 에너지를 디-랜덤화(de-randomizing)하는 단계, 상기 신호 내의 데이터를 디-인터리빙(de-interleaving)하는 단계, 및 상기 신호를 오류-보정 디코딩하는 단계 중의 하나 이상과 같은 기능을 수행한다. 수신기(710)는 안테나(미도시)를 포함하거나 이와 인터페이스할 수 있다.
디코더(720)는 비디오 정보와 깊이 정보를 포함하는 비디오 신호를 출력한다. 디코더(720)는 예를 들어 상기에서 상세하게 기재된 디코더(400)일 수 있다.
실시예 1
깊이(depth)는, 시점 i의 비디오 데이터 후에 그 관련된 깊이 데이터가 따라 오는 방식으로, 비디오 데이터와 인터리빙될 수 있다. 도 8은 시점 및 깊이 데이터의 배열(800)을 나타낸다. 이 경우, 하나의 액세스 단위(access unit)는 주어진 시순간에서 모든 시점에 대한 비디오 및 깊이 데이터를 포함하는 것으로 생각될 수 있다. 네트워크 추상 계층 단위(network abstraction layer unit)에 대하여 비디오 및 깊이 데이터 간에 구별하기 위하여, 예를 들어 고급 레벨에서 슬라이스(slice)가 비디오 또는 깊이 데이터에 속하는 것을 나타내는 구문 요소를 추가하는 것을 제안한다. 이러한 고급 레벨 구문은 네트워크 추상 계층 단위 헤더, 슬라이스 헤더, 시퀀스 파라미터 세트(SPS), 화상 파라미터 세트(PPS), 보충 강화 정보(supplemental enhancement information, SEI) 메시지 등에 존재할 수 있다. 네트워크 추상 계층 단위 헤더에 상기 구문을 추가하는 일 실시예가 표 3에 나타나 있다. 특히, 표 3은 일 실시예에 따라 MVC 사양에 대한 네트워크 추상 계층 단위 헤더를 보여준다.
Figure pct00004
예를 들어 표 2에 대응하는 것과 같은 일 실시예에 있어, 구문 요소 depth_flag는 다음과 같은 의미를 가질 수 있다:
depth_flag가 0과 같으면, 네트워크 추상 계층 단위가 비디오 데이터를 포함하는 것을 나타낸다.
depth_flag가 1과 같으면, 네트워크 추상 계층 단위가 깊이 데이터를 포함하는 것을 나타낸다.
다른 실행예는 코딩을 위한 다른 표준에 맞춰질 수 있고, 또는 특정한 어떤 표준에 맞춰지지 않을 수도 있다. 실행예에 따라서는, 상기 비디오 및 깊이 데이터를 정렬하여, 어떤 주어진 콘텐트 단위에 대하여 깊이 데이터가 비디오 데이터 다음에 오거나 또는 그 반대가 되도록 할 수 있다. 콘텐트의 단위(unit of content)는 예를 들어 어떤 주어진 시점으로부터의 화상 시퀀스, 주어진 시점으로부터의 단일 화상, 또는 주어진 시점으로부터의 화상에 대한 (예를 들어 슬라이스, 매크로블럭 또는 서브-매크로블럭 부분과 같은) 서브-화상 부분(sub-picture portion)일 수 있다. 콘텐트의 단위는 예를 들어 주어진 시순간에서 모든 가능한 시점으로부터 얻어진 화상일 수도 있다.
실시예 2
깊이는 비디오 신호와는 독립적으로 전송될 수 있다. 도 9는 시점 및 깊이 데이터의 또 다른 배열(900)을 나타낸다. 표 2에서 제안된 상기 고급 레벨 구문 변화는 이 경우에도 적용될 수 있다. (다른 실행예에서는 깊이 데이터와 비디오 데이터가 개별적으로 전송된다 하더라도) 깊이 데이터는 여전히 비트스트림의 일부로서 비디오 데이터와 함께 전송된다는 점을 알아야 한다. 비디오 및 깊이가 각각의 시순간에 대하여 인터리빙되도록, 인터리빙 작업이 이루어진다.
깊이가 비디오 데이터와 함께 비트스트림의 일부분으로서 전송되기 때문에, 실시예 1 및 2는 대역내 전송(in-bnad transmission)을 포함하도록 고려된다. 실시예 2는, 시스템 또는 애플리케이션 레벨에서 결합될 수 있는 2개의 스트림(비디오를 위한 것 하나 및 깊이를 위한 것 하나)을 생성한다. 이에 따라 실시예 2는 그 결합된 스트림 내에 비디오와 깊이 데이터의 다양한 상이한 구성을 허락한다. 또한, 상기 2개의 별개의 스트림은 달리 처리될 수 있어, 깊이 데이터가 필수적인 애플리케이션에 있어서 (비디오 데이터에 대한 오류 보정과 비교할 때) 예를 들어 깊이 데이터에 대한 추가적인 오류 보정을 제공할 수 있다.
실시예 3
깊이의 사용을 지원하지 않는 특정 애플리케이션에 대해서는, 깊이 데이터는 요구되지 않을 수 있다. 이러한 경우, 깊이 데이터는 대역외(out-of-band)로 전송될 수 있다. 이것은 비디오 및 깊이 데이터가 분리되고 별개의 채널에 거쳐 어떤 매체를 통해 전송된다는 것을 의미한다. 깊이 데이터는 상기 깊이 데이터를 이용하여 시점 합성을 수행하는 애플리케이션에 대해서만 필요하다. 결과적으로, 이러한 애플리케이션에 대하여 깊이 데이터가 수신기에 도달하지 않는다 하더라도, 상기 애플리케이션은 여전히 정상적으로 동작할 수 있다.
예를 들어 FTV와 몰입형 원격회의(이에 한정되지는 않음)와 같이 깊이 데이터가 사용되는 경우, 상기 애플리케이션이 시기적절한 방식으로 깊이 데이터를 사용할 수 있도록, (대역외로 전송되는) 깊이 데이터의 수신이 보증될 수 있다.
비디오 데이터 성분으로서 깊이 데이터를 코딩(Coding Depth Data as a Video Data Component}
비디오 신호는 휘도와 색도(chroma) 데이터로 구성되는 것으로 추정되며, 이는 비디오 인코더의 입력이 된다. 제 1 안과는 달리, 깊이 맵(depth map)을 비디오 신호의 추가적인 성분으로서 취급하는 것을 제안한다. 이하에서, 휘도와 색도 데이터에 추가하여 입력으로서 깊이 맵을 포함하도록 H.264/AVC를 적용하는 것을 제안한다. 본 발명 사상을 유지하는 한, 이러한 접근법이 다른 표준, 비디오 인코더, 및/또는 비디오 디코더에 적용될 수 있다는 것을 이해해야 한다. 특정 실행예에서, 비디오 및 깊이는 동일한 네트워크 추상 계층 단위에 있다.
실시예 4
색도 성분과 마찬가지로, 깊이는 휘도 성분과 다른 위치에서 샘플링될 수 있다. 일 실행예에 있어서, 깊이는 4:2:0, 4:2:2 및 4:4:4로 샘플링될 수 있다. H.264/AVC의 4:4:4 프로파일과 마찬가지로, 깊이 성분은 휘도/색도(luma/chroma) 성분과 독립적으로 코딩될 수 있고(독립 모드), 또는 휘도/색도 성분과 결합하여 코딩될 수 있다(결합 모드). 이러한 특성을 용이하게 하기 위하여, 시퀀스 파라미터 세트의 수정이 표 4에 도시된 바와 같이 제안된다. 특히, 표 4는, 일 실행예에 따라, 깊이 샘플링 포맷을 나타낼 수 있는 수정된 시퀀스 파라미터 세트를 나타낸다.
Figure pct00005
Figure pct00006

depth_format_idc 구문 요소의 의미는 다음과 같다:
depth_format_idc는 색도 샘플링 위치로서 휘도(luma) 샘플링에 관련된 깊이 샘플링을 규정한다. depth_format_idc의 값은 0 내지 3(포함)의 범위에 있다. depth_format_idc가 존재하지 않는 경우, 그것은 0과 같은 것으로 추정된다(깊이 맵은 제공 안 됨). SubWidthD와 SubHeightD의 변수는 깊이 샘플링 포맷(depth sampling format)에 따라 표 5에 규정되어 있으며, 이것은 depth_format_idc를 통해 규정된다.
Figure pct00007
본 실시예에서, depth_format_idc와 chroma_format_idc는 동일한 값을 가지되 3과 같지 않으며, 이에 따라 깊이 디코딩은 색도 성분의 디코딩과 유사하다. 기준 리스트 인덱스, 기준 인덱스 및 모션 벡터 뿐만 아니라 예측 모드(predict mode)를 포함하는 코딩 모드는 색도 성분으로부터 모두 유도된다. coded_block_pattern 구문은 깊이 변환 계수(depth transform coefficients)가 어떻게 코딩되는지를 나타내기 위하여 확장되어야 한다. 한 예로서 다음의 식을 이용한다.
CodedBlockPatternLuma = coded_block_pattern % 16
CodedBlockPatternChroma = (coded_block_pattern / 16) % 4
CodedBlockPatternDepth = (coded_block_pattern / 16) / 4
CodedBlockPatternDepth가 0이면, 모든 깊이 변환 계수 레벨(depth transform coefficient levels)이 0이라는 것을 의미한다. CodedBlockPatternDepth가 1이면, 하나 이상의 깊이 DC 변환 계수 레벨이 0 아닌 값으로 되고 모든 깊이 AC 변환 계수 레벨은 0이라는 것을 의미한다. CodedBlockPatternDepth가 2이면, 0 이상의 깊이 DC 변환 계수 레벨이 0 아닌 값으로 되고 하나 이상의 깊이 AC 변환 계수 레벨이 0 아닌 값으로 된다는 것을 의미한다. 깊이 리지듀얼(depth residual)은 표 6에 도시된 바와 같이 코딩된다.
Figure pct00008
실시예 5
본 실시예에서, depth_format_idc는 3과 같고, 즉 깊이는 휘도와 동일한 위치에서 샘플링된다. 기준 리스트 인덱스, 기준 인덱스 및 모션 벡터 뿐만 아니라 예측 모드를 포함하는 코딩 모드는 휘도 성분으로부터 유도된다. coded_block_pattern 구문은 실시예 4에서와 동일한 방식으로 확장될 수 있다.
실시예 6
실시예 4 및 5에 있어, 모션 벡터는 휘도 성분 또는 색도 성분과 동일하게 설정된다. 모션 벡터가 깊이 데이터에 기초하여 정밀화될 수 있으면, 코딩 효율이 향상될 수 있다. 모션 정밀화 벡터(motion refinement vector)는 표 7에 표시된 바와 같이 신호화된다. 정밀화(refinement)는 본 기술분야에서 공지되거나 추후 개발될 다양한 기술 중의 어느 것을 이용함으로써 수행될 수 있다.
Figure pct00009
제시된 구문에 대한 의미는 다음과 같다:
depth_motion_refine_flag는 모션 정밀화가 현재 매크로블럭에 대하여 인에이블되는지 여부를 나타낸다. 1의 값은 휘도 성분으로부터 복사된 모션 벡터가 정밀화될 것이라는 것을 의미한다. 그렇지 않은 경우, 모션 벡터에 대해 어떠한 정밀화도 수행되지 않을 것이다.
motion_refinement_list0_x, motion_refinement_list0_y가 존재하는 경우, 이것은 만약 depth_motion_refine이 현재 매크로블럭에 대해 설정된다면 LIST0 모션 벡터가 상기 신호화된 정밀화 벡터에 의해 추가될 것이라는 것을 나타낸다.
motion_refinement_list1_x, motion_refinement_list1_y가 존재하는 경우, 이것은 만약 depth_motion_refine이 현재 매크로블럭에 대해 설정된다면 LIST1 모션 벡터가 상기 신호화된 정밀화 벡터에 의해 추가될 것이라는 것을 나타낸다.
상기에서 논의된 표들의 각 부분들은 이탤릭체로 표시된 형태를 이용하여 표들에 전반적으로 표시되어 있다.
도 10은 본 발명의 실행예에 따라 비디오 및 깊이 정보를 인코딩하기 위한 방법(1000)을 나타낸다. 단계(S1005)("S"는 단계를 말하고, 이것은 작업(operation)을 말하기도 하며, 이에 따라 "S1005"는 "단계 1005"로 읽혀질 수 있다)에서, 휘도 및/또는 색도와 관련된 깊이 샘플링이 선택된다. 예를 들어, 선택되는 깊이 샘플링은 휘도 샘플링 위치와 같거나 또는 다를 수 있다. 단계(S1010)에서, 모션 벡터(MV1)는 비디오 정보에 기초하여 생성된다. 단계(S1015)에서, 비디오 정보는 모션 벡터(MV1)를 이용하여 인코딩된다. 단계(S1020)에서, MV1를 이용한 깊이 코딩의 비트율 왜곡치(rate distortion cost, RD1)가 계산된다.
단계(S1040)에서, 모션벡터(MV2)가 비디오 정보에 기초하여 생성된다. 단계(S1045)에서, MV2를 이용한 깊이 코딩의 비트율 왜곡치(RD2)가 계산된다.
단계(S1025)에서, RD1이 RD2보다 작은지 여부가 결정된다. 만약 그렇다면, 단계(S1030)로 넘어 가도록 제어된다. 만약 그렇지 않다면, 단계(S1050)로 넘어 가도록 제어된다.
단계(S1030)에서, depth_data가 0으로 설정되고, MV는 MV1으로 설정된다.
단계(S1050)에서, depth_data가 1으로 설정되고, MV는 MV2로 설정된다.
"depth_data"는 플래그를 말할 수 있고, 그것은 어떤 모션 벡터를 사용하고 있는지를 알려준다. 따라서, depth_data가 0과 같다는 것은 비디오 데이터로부터의 모션 벡터를 사용해야 한다는 것을 의미한다. 즉, 현재 깊이 데이터에 대응하는 비디오 데이터가 현재 매크로블럭에 대한 모션 예측을 위해 사용된다.
그리고, depth_data가 1과 같다는 것은 깊이 데이터로부터의 모션 벡터를 사용해야 한다는 것을 의미한다. 즉, 모션 예측에 대한 상기 의존성 구조에 지시되어 있는 바와 같이, 또 다른 시점의 깊이 데이터가 현재 매크로블럭에 대한 모션 예측을 위해 사용된다.
단계(S1035)에서, 깊이 정보는 MV를 이용하여 인코딩된다(depth_data는 비트스트림 내에 캡슐화되어 있다). 단계(S1055)에서, 깊이가 대역-내(in-band) 전송될 것인지 여부가 결정된다. 만약 그렇다면, 단계(S1060)로 넘어가도록 제어된다. 만약 그렇지 않다면, 단계(S1075)로 넘어가도록 제어된다.
단계(S1060)에서, 깊이가 비디오 성분으로서 취급될 것인지 여부가 결정된다. 만약 그렇다면, 단계(S1065)로 넘어가도록 제어된다. 만약 그렇지 않다면, 단계(S1070)로 넘어가도록 제어된다.
단계(S1065)에서, 비디오 및 깊이 정보를 포함하도록 일 데이터 구조가 생성되고, 깊이 정보는 (예를 들어 4번째) 일 비디오 성분으로서 취급되며(예를 들어, 시점 i의 깊이 데이터가 시점 i의 비디오 데이터 다음에 오도록, 비디오 및 깊이 정보를 인터리빙함으로써), depth_data는 상기 데이터 구조에 포함된다. 상기 비디오 및 깊이는 매크로블럭 레벨에서 인코딩된다.
단계(S1070)에서, 비디오 및 깊이 정보를 포함하도록 일 데이터 구조가 생성되고, 깊이 정보는 일 비디오 성분으로서 취급되지 않으며(예를 들어, 비디오 및 깊이 정보가 각 시순간에 대해 인터리빙되도록, 비디오 및 깊이 정보를 인터리빙함으로써), depth_data는 상기 데이터 구조에 포함된다.
단계(S1075)에서, 비디오 정보를 포함하도록 일 데이터 구조가 생성되되, 상기 데이터 구조와는 별개의 깊이 정보를 전송하기 위하여 깊이 정보는 이로부터 배제된다. depth_data는 상기 데이터 구조 내에 또는 상기 별개의 깊이 데이터와 함께 포함될 수 있다. 데이터 구조라고 불리는지 여부와 상관없이, 비디오 정보는 어떤 타입의 포맷된 데이터에도 포함될 수 있다. 또한, 상기 깊이 정보를 포함하도록 또 다른 데이터 구조가 생성될 수 있다. 깊이 데이터는 대역-외(out-of-band)로 전송될 수 있다. depth_data는 비디오 데이터(예를 들어 비디오 데이터를 포함하는 일 데이터 구조 내에) 및/또는 깊이 데이터(예를 들어 깊이 데이터를 포함하는 일 데이터 구조 내에)와 함께 포함될 수 있다.
도 11은 본 발명의 일 실행예에 따라 모션 벡터 정밀화를 구비한 비디오 및 깊이 정보를 인코딩하기 위한 방법을 나타낸다. 단계(S1110)에서, 모션벡터(MV1)가 비디오 정보에 기초하여 생성된다. 단계(S1115)에서, (예를 들어, 기준 화상 내에서 비디오 정보와 비디오 정보 간의 레지듀(residue)를 결정함으로써) 비디오 정보는 MV1를 이용하여 인코딩된다. 단계(S1120)에서, MV1은 깊이를 최상으로 인코딩하기 위하여 MV2로 정밀화(refine)된다. 모션 벡터를 정밀화하는 것에 관한 일 예는, 더 좋은 정합(match)이 발견되는지를 결정하기 위하여, 모션 벡터에 의해 지시되는 영역 주변으로 국부화된 탐색(localized search)를 수행하는 단계를 포함한다.
단계(S1125)에서, 정밀화 지시자(refinement indicator)가 생성된다. 단계(S1130)에서, 정밀화된 모션 벡터(MV2)가 인코딩된다. 예를 들어, MV2과 MV1 간의 차가 결정되고 인코딩될 수 있다.
일 실행예에 있어서, 상기 정밀화 지시자는 매크로블럭 계층에서 설정되는 플래그이다. 이러한 플래그가 어떻게 전송될 수 있는지에 관한 일 예를 제공하기 위해 표 7이 적용될 수 있다. 표 7은 깊이가 제 4 차원으로서 취급된 일 실행예에서의 사용을 위해 일찍이 제공되었다. 하지만, 표 7은 상이하고 더 광대한 영역 분야에서도 또한 사용될 수 있다. 본 영역 분야에서도 표 7은 사용될 수 있으며, (표 7에 대하여 애초에 제안되었던 구문에 대한 의미론 대신에) 상기 구문에 대한 이하의 의미론이 적용될 수 있다. 또한, 표 7의 재적용을 위한 이하의 의미론에 있어, 만약 depth_motion_refine_flag가 1로 설정되면, 코딩된 MV는 비디오 신호로부터의 복사본에 대한 정밀화 벡터(refinement vector)로서 묘사될 것이다.
표 7의 재적용을 위한 상기 제시된 구문의 의미는 다음과 같다:
depth_motion_refine_flag는 모션 정밀화가 현재 매크로블럭에 대하여 인에이블되는지 여부를 나타낸다. 1의 값은 비디오 신호로부터 복사된 모션 벡터가 정밀화될 것이라는 것을 의미한다. 그렇지 않은 경우, 모션 벡터에 대해 어떠한 정밀화도 수행되지 않을 것이다.
motion_refinement_list0_x, motion_refinement_list0_y가 존재하는 경우, 이것은 만약 depth_motion_refine이 현재 매크로블럭에 대해 설정된다면 LIST0 모션 벡터가 상기 신호화된 정밀화 벡터에 의해 추가될 것이라는 것을 나타낸다.
motion_refinement_list1_x, motion_refinement_list1_y가 존재하는 경우, 이것은 만약 depth_motion_refine이 현재 매크로블럭에 대해 설정된다면 LIST1 모션 벡터가 상기 신호화된 정밀화 벡터에 의해 추가될 것이라는 것을 나타낸다.
상기에서 논의된 표들의 각 부분들은 이탤릭체로 표시된 형태를 이용하여 표들에 전반적으로 표시되어 있다.
단계(S1135)에서, 레지듀얼 깊이(residual depth)가 MV2를 이용하여 인코딩된다. 이것은 단계(S1115)에서의 비디오의 인코딩과 유사하다. 단계(S1140)에서, (비디오 정보뿐만 아니라)정밀화 지시자(및 선택적으로 깊이 정보)를 포함하도록 데이터 구조가 생성된다.
도 12는, 본 발명의 일 실행예에 따라, 모션 벡터 정밀화를 갖는 비디오 및 깊이 정보를 인코딩하고 차분처리(differencing)하기 위한 방법을 나타낸다. 단계(S1210)에서, 모션 벡터(MV1)가 비디오 정보에 기초하여 생성된다. 단계(S1215)에서, 비디오 정보가 MV1을 이용하여 인코딩된다. 단계(S1220)에서, 깊이를 최상으로 인코딩하기 위하여 MV1이 MV2로 정밀화된다. 단계(S1225)에서, MV1이 MV2와 같은지 여부가 결정된다. 만약 그렇다면 단계(S1230)로 넘어가도록 제어된다. 만약 그렇지 않다면, 단계(S1255)로 넘어가도록 제어된다.
단계(S1230)에서, 정밀화 지시자가 0으로 설정된다(false).
단계(S1235)에서, 정밀화 지시자가 인코딩된다. 단계(S1240)에서, 만약 상기 정밀화 지시자가 참(true)으로 설정되면(단계(S1255)에서), 차분 모션 벡터(difference motion vector)가 인코딩된다(MV2 - MV1). 단계(S1245)에서, MV2를 이용하여 레지듀얼 깊이가 인코딩된다. 단계(S1250)에서, (비디오 정보뿐만 아니라)정밀화 지시자(및 선택적으로 깊이 정보)를 포함하도록 데이터 구조가 생성된다.
단계(S1255)에서, 정밀화 지시자는 1로 설정된다(true).
도 13은, 본 발명의 일 실행예에 따라, 비디오 및 깊이 정보를 디코딩하기 위한 방법을 나타낸다. 단계(S1302)에서, 화상의 비디오 성분에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보 및 지시자 depth_data를 포함하는 하나 이상의 비트스트림이 수신된다(지시자 depth_data는 모션 벡터가 비디오 정보에 의해 결정되는지 또는 깊이 정보에 의해 결정되는지를 신호화한다). 단계(S1305)에서, 화상의 비디오 성분에 대한 코딩된 비디오 정보가 추출된다. 단계(S1310)에서, 화상에 대한 코딩된 깊이 정보가 상기 비트스트림으로부터 추출된다. 단계(S1315)에서, 지시자 depth_data가 분석된다. 단계(S1320)에서, depth_data가 0과 같은지 여부가 결정된다. 만약 그렇다면 단계(S1325)로 넘어가도록 제어된다. 만약 그렇지 않다면, 단계(S1340)로 넘어가도록 제어된다.
단계(S1325)에서, 모션 벡터(MV)가 비디오 정보에 기초하여 생성된다.
단계(S1330)에서, 모션 벡터(MV)를 이용하여 비디오 신호가 디코딩된다. 단계(S1335)에서, 모션 벡터(MV)를 이용하여 깊이 신호가 디코딩된다. 단계(S1340)에서, 비디오 및 깊이 정보를 포함하는 화상이 출력된다.
단계(S1340)에서, 모션 벡터(MV)가 깊이 정보에 기초하여 생성된다.
만약 깊이 정보를 인코딩하기 위하여 정밀화된 모션 벡터가 사용된다면, 단계(S1335) 전에, 정밀화 정보(refinement information)가 추출될 수 있고 정밀화된 MV가 생성될 수 있다. 그러면, 단계(S1335)에서, 상기 정밀화된 MV가 사용될 수 있다.
도 14를 참조하면, 프로세스(1400)가 도시되어 있다. 프로세스(1400)는 화상에 대한 비디오 정보의 성분을 선택하는 단계(1410)를 포함한다. 그 성분은 예를 들어 휘도, 색차(chrominance), 적색, 녹색 또는 청색일 수 있다.
프로세스(1400)는 상기 선택된 비디오 정보 또는 상기 화상의 깊이 정보에 대한 모션 벡터를 결정하는 단계(1420)를 포함한다. 작업(1420)은 예를 들어 도 10의 작업(1010) 및 작업(1040)에 기재되어 있는 바와 같이 수행될 수 있다.
프로세스(1400)는, 상기 결정된 모션 벡터에 기초하여, 상기 선택된 비디오 정보(1430) 및 깊이 정보(1440)를 코딩하는 단계를 포함한다. 작업(1430) 및 작업(1440)은 예를 들어 도 10의 작업(1015) 및 작업(1035)에 각각 기재된 바와 같이 수행될 수 있다.
프로세스(1400)는, 상기 선택된 비디오 정보와 상기 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩된다는 것을 나타내는 지시자(indicator)를 생성하는 단계를 포함한다. 작업(1450)은 예를 들어 도 10의 작업(1030) 및 작업(1050)에 기재되어 있는 바와 같이 수행될 수 있다.
프로세스(1400)는, 상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 이상의 데이터 구조를 생성하는 단계(1460)를 포함한다. 작업(1460)은 예를 들어 도 10의 작업(1065) 및 작업(1070)에 기재되어 있는 바와 같이 수행될 수 있다.
도 15를 참조하면, 예를 들어 H.264 인코더와 같은 장치(1500)가 도시되어 있다. 장치(1500)의 구조 및 동작에 관한 일 실시예가 이제 제공된다. 장치(1500)는 인코딩될 비디오를 수신하는 선택기(1510)를 포함한다. 선택기(1510)는 화상에 대한 비디오 정보의 성분을 선택하고, 그 선택된 비디오 정보(1520)를 모션 벡터 생성기(1530)와 코더(1540)에 제공한다. 선택기(1510)는 프로세스(1400)의 작업(1410)을 수행할 수 있다.
모션 벡터 생성기(1530)는 또한 화상에 대한 깊이 정보를 수신하고, 그 선택된 비디오 정보(1520) 또는 그 깊이 정보에 대한 모션 벡터를 결정한다. 모션 벡터 생성기(1530)는 예를 들어 도 4의 모션 평가 블럭(480)와 유사한 방식으로 동작할 수 있다. 모션 벡터 생성기(1530)는 프로세스(1400)의 작업(1420)을 수행할 수 있다. 모션 벡터 생성기(1530)는 코더(1540)에 모션 벡터(1550)를 제공한다.
코더(1540)는 또한 상기 화상에 대한 깊이 정보를 수신한다. 코더(1540)는 상기 선택된 비디오 정보를 상기 결정된 모션 벡터에 기초하여 코딩하고, 깊이 정보를 상기 결정된 모션 벡터에 기초하여 코딩한다. 코더(1540)는 코딩된 비디오 정보(1560)와 코딩된 깊이 정보(1570)를 생성기(1580)에 제공한다. 코더(1540)는 예를 들어 도 4의 블럭(410-435, 450, 455 및 475)와 유사한 방식으로 동작할 수 있다. 다른 실행예로서, 예를 들어 비디오와 깊이를 코딩하기 위한 별개의 코더를 사용할 수 있다. 코더(1540)는 프로세스(1400)의 작업(1430)과 작업(1440)을 수행할 수 있다.
생성기(1580)는, 상기 선택된 비디오 정보와 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩된다는 것을 나타내는 지시자(indicator)를 생성한다. 생성기(1580)는 상기 코딩된 비디오 정보, 코딩된 깊이 정보 및 생성된 지시자를 집합적으로 포함하는 하나 또는 그 이상의 데이터 구조(출력(1590)으로 표시됨)를 또한 생성한다. 생성기(1580)는 예를 들어 인코더(400)에 대하여 출력 비트스트림을 생성하는 도 4의 엔트로피 코딩 블럭(420)과 유사한 방식으로 동작할 수 있다. 다른 실행예로서, 예를 들어 상기 지시자와 데이터 구조를 생성하기 위한 별개의 생성기를 사용할 수 있다. 또한, 상기 지시자는 예를 들어 모션 벡터 생성기(1530) 또는 코더(1540)에 의하여 생성될 수 있다. 생성기(1580)는 프로세스(1400)의 작업(1450)과 작업(1460)을 수행할 수 있다.
도 16에는 프로세스(1600)가 도시되어 있다. 프로세스(1600)는 데이터를 수신하는 단계(1610)를 포함한다. 상기 데이터는 화상의 비디오 성분에 대한 코딩된 비디오 정보, 그 화상에 대한 코딩된 깊이 정보, 및 그 코딩된 비디오 정보와 코딩된 깊이 정보가 상기 비디오 정보 또는 깊이 정보에 대하여 결정된 모션 벡터에 기초하여 코딩된다는 것을 나타내는 지시자를 포함한다. 상기 지시자는 모션 벡터 소스 지시자(motion vector source indicator)로 불릴 수 있으며, 여기서 소스는 예를 들어 비디오 정보 또는 깊이 정보이다. 작업(1610)은 예를 들어 도 13의 작업(1302)에 대하여 기재된 바와 같이 수행될 수 있다.
프로세스(1600)는 상기 코딩된 비디오 정보와 코딩된 깊이 정보 모두를 디코딩하는 데에 사용하기 위한 모션 벡터를 생성하는 단계를 포함한다(1620). 작업(1620)은 예를 들어 도 13의 작업(1325)과 작업(1340)에 대하여 기재된 바와 같이 수행될 수 있다.
프로세스(1600)는, 화상에 대한 디코딩된 비디오 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 비디오 정보를 디코딩하는 단계(1330)를 포함한다(1630). 프로세스(1600)는, 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 깊이 정보를 디코딩하는 단계(1335)를 또한 포함한다(1640). 작업(1630)과 작업(1640)은 예를 들어 각각 도 13의 작업(1330)과 작업(1335)에 대하여 기재된 바와 같이 수행될 수 있다.
도 17에는, 예를 들어 H.264 디코더와 같은 장치(1700)가 도시되어 있다. 이제 장치(1700)의 구조 및 동작에 대한 일 예가 제공된다. 장치(1700)는, (1)어떤 화상의 비디오 성분에 대한 코딩된 비디오 정보, (2)그 화상에 대한 코딩된 깊이 정보, 및 (3)그 코딩된 비디오 정보와 코딩된 깊이 정보가 상기 비디오 정보 또는 깊이 정보에 대하여 결정된 모션 벡터에 기초하여 코딩된다는 것을 나타내는 지시자를 포함하는 데이터를 수신하도록 구성된 버퍼(1710)를 포함한다. 버퍼(1710)는 예를 들어 도 5의 엔트로피 디코딩 블럭(505)과 유사한 방식으로 동작할 수 있으며, 그것은 코딩된 정보를 수신한다. 버퍼(1710)는 프로세스(1600)의 작업(1610)을 수행할 수 있다.
버퍼(1710)는 상기 코딩된 비디오 정보(1730), 코딩된 깊이 정보(1740), 및 지시자(1750)를 장치(1700)에 포함된 모션 벡터 생성기(1760)에 제공한다. 모션 벡터 생성기(1760)는 상기 코딩된 비디오 정보와 코딩된 깊이 정보 모두를 디코딩하는 데에 사용하기 위한 모션 벡터(1770)를 생성한다. 이전에 수신된 비디오 및/또는 깊이 데이터에 기초하여 모션벡터(1770)를 생성하는 것 또는 이전에 수신된 비디오 및/또는 깊이 데이터에 대하여 이미 생성된 모션 벡터를 복사함으로써 모션벡터(1770)를 생성하는 것을 포함하여, 모션 벡터 생성기(1760)는 다양한 방법에 의하여 모션 벡터(1770)를 생성할 수 있다는 점을 주목해야 한다. 모션 벡터 생성기(1760)는 프로세스(1600)의 작업(1620)을 수행할 수 있다. 모션 벡터 생성기(1760)는 디코더(1780)에 모션 벡터(1770)를 제공한다.
디코더(1780)는 또한 상기 코딩된 비디오 정보(1730)와 코딩된 깊이 정보(1740)를 수신한다. 디코더(1780)는, 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여, 코딩된 깊이 정보(1740)를 상기 생성된 모션 벡터(1770)에 기초하여 디코딩하도록 또한 구성된다. 그 디코딩되는 비디오 및 깊이 정보는 도 17의 출력(1790)으로서 도시되어 있다. 출력(1790)은 다양한 방식 및 데이터 구조로 포맷될 수 있다. 또한, 상기 코딩된 비디오 및 깊이 정보는 출력으로서 제공될 필요는 없으며, 또는 출력되기 전에 또 다른 포맷(화면에 디스플레이하기에 적합한 포맷과 같이)으로 변환될 수도 있다. 디코더(1780)는 예를 들어 수신된 데이터를 디코딩하는 도 5의 블럭(510-525, 535 및 540)과 유사한 방식으로 동작할 수 있다. 디코더(1780)는 프로세스(1600)의 작업(1630)과 작업(1640)을 수행할 수 있다.
이와 같이 다양한 실행예가 제공된다. 이러한 실행예들에는, 예를 들어 (1) 깊이 데이터를 인코딩하기 위하여 비디오 데이터의 인코딩으로부터의 정보를 사용, (2) 비디오 데이터를 인코딩하기 위하여 깊이 데이터의 인코딩으로부터의 정보를 사용, (3) 비디오의 Y, U 및 V와 함께 제 4의(또는 부가적인) 차원 또는 성분으로서 깊이 데이터를 코딩, 및/또는 (4) 비디오 데이터로부터는 분리된 신호로서 깊이 데이터를 인코딩하는 실행예들이 포함된다. 추가적으로, 이러한 실행예들은 다시점 비디오 코딩 구조의 관점에서, 또 다른 표준의 관점에서, 또는 어떤 표준을 포함하지 않는 관점(예를 들어 권고사항 등)에서 이용될 수 있다.
이와 같이 우리는 특수한 특징 및 양태를 갖는 하나 이상의 실행예들을 제공한다. 하지만, 기재된 실행예들의 특징 및 양태는 다른 실행예들을 위해 채용될 수도 있다. 실행예들은, SEI 메시지, 다른 고급 레벨 구문, 비고급 레벨 구문(non-high-level syntax), 대역외 정보, 데이터스트림 데이터 및 함축적 시그널링을 포함하되 이에 한정되지 않는 다양한 기술을 이용하여 정보를 신호화할 수 있다. 따라서, 여기에 기재된 실행예가 특정한 관점(문맥)에서 기재될 수 있다 하더라도, 이러한 기재 내용이 특징 및 개념을 상기 실행예나 관점으로 한정시키는 것으로 받아들여져서는 안 된다.
또한, 많은 실행예들이 인코더 및 디코더 중의 하나 또는 그 둘 모두에서 실행될 수 있다.
다른 변형예들뿐만 아니라 명세서에서 본 발명의 "일 실시예" 또는 "어떤 실시예" 또는 "일 실행예" 또는 "어떤 실행예"로 언급된 것은 그 실시예와 관련하여 기재된 특정 특징, 구조, 특성 등이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 다른 변형예들뿐만 아니라 명세서를 통하여 다양한 곳에서 나타나는 "일 실시예"에서 또는 "어떤 실시예에서" 또는 "일 실행예에서" 또는 "어떤 실행예에서"라는 문구는 모두 동일한 실시예를 필연적으로 언급하는 것은 아니다.
예를 들어 "A/B", "A 및/또는 B" 및 "A와 B 중의 적어도 하나"와 같이, 이하의 "/", "및/또는" 및 "적어도 하나" 중 어떤 용어의 사용은 첫번째로 나열된 옵션 (A)만의 선택 또는 두번째로 나열된 옵션 (B)만의 선택, 또는 옵션 (A와 B) 모두의 선택을 포함하도록 의도된다. 또 다른 예로서 "A, B 및/또는 C" 및 "A, B 및 C 중의 적어도 하나"의 경우, 이러한 문구는 첫번째로 나열된 옵션 (A)만의 선택 또는 두번째로 나열된 옵션 (B)만의 선택, 또는 세번째로 나열된 옵션 (C)만의 선택, 또는 첫번째와 두번째로 나열된 옵션 (A와 B)만의 선택, 또는 첫번째와 세번째로 나열된 옵션 (A와 C)만의 선택, 또는 두번째와 세번째로 나열된 옵션 (B와 C)만의 선택, 또는 세 옵션 모두 (A와 B와 C)의 선택을 포함하도록 의도된다. 이것은, 본 기술분야 또는 관련기술분야의 당업자에게 명확한 바와 같이, 많은 항목이 나열된 경우에 대해 확장될 수 있다.
여기에 기재된 실행예들은 예를 들어 어떤 방법이나 프로세스, 장치, 또는 소프트웨어 프로그램에서 실행될 수 있다. 단일 형태의 실행예의 관점에서 단지 논의되고 있다 할지라도(예를 들어 어떤 방법으로서만 논의되는 경우), 논의되는 특징에 대한 실행예는 다른 형태(예를 들어 장치 또는 프로그램)로 실행될 수도 있다. 장치는 예를 들어 적정 하드웨어, 소프트웨어 및 펌웨어에서 실행될 수 있다. 방법은 예를 들어 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그램 가능한 논리장치를 포함하여 일반적으로 프로세싱 장치라고 불리는 프로세서와 같은 예를 들어 어떤 장치에서 실행될 수 있다. 프로세서는 예를 들어 컴퓨터, 휴대폰, PDAs(portable/personal digital assistants), 및 최종 사용자 간 정보의 통신을 용이하게 하는 다른 장치와 같은 통신장치를 또한 포함한다.
여기에 기재된 다양한 프로세스 및 특징에 대한 실행예들은 특히 예를 들어 데이터 인코딩 및 디코딩과 관련된 장치나 애플리케이션과 같은 상이한 다양한 장치나 애플리케이션에서 구체화될 수 있다. 장치의 예는 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋톱 박스, 랩톱(laptops), 개인용 컴퓨터, 휴대폰, PDAs, 및 다른 통신 장치를 포함한다. 명백한 바, 상기 장치는 이동식일 수 있고 모바일 차량에 설치될 수도 있다.
추가적으로, 상기 방법은 프로세서에 의해 실행되고 있는 명령에 의해 실행될 수 있으며, 이러한 명령(및/또는 일 실행예에 의해 생성되는 데이터값)은 예를 들어 집적회로, 소프트웨어 운송자 또는 하드디스크, 컴팩트 디스크, RAM(random access memory) 또는 ROM(read only memory) 등의 다른 저장 장치와 같은 프로세서 판독가능 매체에 저장될 수 있다. 상기 명령은 프로세서 판독가능 매체 상에 실재적으로 구체화되는 애플리케이션 프로그램을 형성할 수 있다. 명령은 예를 들어 하드웨어, 펌웨어, 소프트웨어 또는 그 조합에 있을 수 있다. 명령은 예를 들어 운영시스템, 별도의 애플리케이션 또는 그 둘의 조합 내에서 발견될 수 있다. 따라서, 프로세서는 예를 들어 프로세스를 실행하도록 구성된 장치, 및 프로세스를 실행하기 위한 명령을 구비한 프로세서 판독가능 매체를 포함하는 장치의 둘 모두로서 특징지어질 수 있다.
당업자에게 명백한 바와 같이, 실행예들은 예를 들어 저장되거나 전송될 수 있는 정보를 전달하기 위하여 포맷된 다양한 신호를 생성할 수 있다. 그 정보는 예를 들어 방법을 수행하기 위한 명령 또는 상기 기재된 실행예 중의 하나에 의해 생성된 데이터를 포함한다. 예를 들어, 신호는 상기 기재된 실시예의 구문(syntax)를 기입 또는 판독하기 위한 규칙을 데이터로서 전송하거나, 기재된 실시예에 의해 기입된 실제 구문-값(syntax-values)을 데이터로서 전송하기 위하여 포맷화될 수 있다. 이러한 신호는 예를 들어 전자기파(예를 들어 스펙트럼의 무선 주파수를 이용하여)로서, 또는 기저대(baseband) 신호로서 포맷화될 수 있다. 상기 포맷화는 예를 들어 데이터 스트림을 인코딩하는 단계와, 상기 인코딩된 데이터 스트림과 함께 반송파를 변조하는 단계를 포함할 수 있다. 상기 신호가 전달하는 정보는 예를 들어 아날로그 또는 디지털 정보일 수 있다. 상기 신호는 공지된 바와 같이 다양한 상이한 유선 또는 무선 링크를 통해 전송될 수 있다.
많은 실행예가 기재되었다. 그럼에도 불구하고, 다양한 수정이 행해질 수 있다는 것을 알아야 한다. 예를 들어, 상이한 실행예들의 구성요소는 다른 실행예를 생성하기 위하여 조합, 보충, 수정, 또는 삭제될 수 있다. 또한, 다른 구조 및 프로세스가 상기 개시된 내용에 대하여 대체될 수 있고, 그 결과로서의 실행예는 상기 개시된 실행예와 적어도 실질적으로 동일한 결과를 달성하기 위하여 적어도 실질적으로 동일한 작용을 적어도 실질적으로 동일한 방식으로 수행할 것이라는 것을 당업자라면 이해할 것이다. 따라서, 이러한 및 다른 실행예가 본 출원에 의해 구상될 수 있고 이는 이하의 청구항의 범위 내에 있다.
100 : 예시적인 코딩 구조
200 : 또 다른 예시적인 코딩 구조
300 : 깊이 데이터의 예측
400 : 인코더 410 : 트랜스포머
405 : 결합기 415 : 양자화기
420 : 엔트로피 코더 425 : 역양자화기
430 : 역트랜스포머 435 : 결합기
440 : 모드 결정 모듈
445 : 인트라예측기 450 : 디블러킹 필터
455 : 기준화상 저장부 460 : 기준화상 저장부
465 : 변이/조도 보상기 470 : 변이/조도 평가기
475 : 모션보상기 480 : 모션 평가기
485 : 스위치
500 : 디코더 505 : 엔트로피 디코더
510 : 역양자화기 515 : 역트랜스포머
520 : 결합기 525 : 디블러킹 필터
530 : 인트라예측기 540 : 기준화상 저장부
535 : 모션보상기 545 : 기준화상 저장부
550 : 변이/조도 보상기 555 : 스위치
560 : 모드모듈

Claims (36)

  1. 화상에 대한 비디오 정보의 성분을 선택하는 단계(1410);
    상기 선택된 비디오 정보 또는 상기 화상에 대한 깊이 정보에 대한 모션 벡터를 결정하는 단계(1420; 1010, 1040);
    상기 결정된 모션 벡터에 기초하여 상기 선택된 비디오 정보를 코딩하는 단계(1430; 1015);
    상기 결정된 모션 벡터에 기초하여 상기 깊이 정보를 코딩하는 단계(1440; 1035);
    상기 선택된 비디오 정보와 상기 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 생성하는 단계(1450; 1030, 1050); 및
    상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 또는 그 이상의 데이터 구조를 생성하는 단계(1460; 1065, 1070)를 포함하여 구성되는, 방법.
  2. 제 1항에 있어서,
    상기 결정된 모션 벡터에 기초하여 상기 선택된 비디오 정보를 코딩하는 단계는 상기 선택된 비디오 정보와 기준 비디오 화상에서의 비디오 정보 간의 레지듀(residue)를 결정하는 단계(1015)를 포함하고,
    상기 결정된 모션 벡터에 기초하여 상기 깊이 정보를 코딩하는 단계는 상기 깊이 정보와 기준 깊이 화상에서의 깊이 정보 간의 레지듀를 결정하는 단계(1035)를 포함하되,
    상기 기준 비디오 화상에서의 비디오 정보는 상기 결정된 모션 벡터에 의해 지시되고, 상기 기준 깊이 화상에서의 깊이 정보는 상기 결정된 모션 벡터에 의해 지시되는, 방법.
  3. 제 1항에 있어서,
    상기 모션 벡터를 결정하는 단계는 상기 선택된 비디오 정보에 대하여 상기 모션 벡터를 결정하는 단계(1010, 1110)를 포함하고,
    상기 결정된 모션 벡터에 기초하여 상기 선택된 비디오 정보를 코딩하는 단계는 상기 선택된 비디오 정보와 기준 비디오 화상에서의 비디오 정보 간의 레지듀를 결정하는 단계(1015, 1115)를 포함하되, 상기 기준 비디오 화상에서의 비디오 정보는 상기 결정된 모션 벡터에 의해 지시되며,
    상기 결정된 모션 벡터에 기초하여 상기 깊이 정보를 코딩하는 단계는:
    정밀화된(refined) 모션 벡터를 생성하기 위하여 상기 결정된 모션 벡터를 정밀화(refining)하는 단계(1120); 및
    상기 깊이 정보와 기준 깊이 화상에서의 깊이 정보 간의 레지듀를 결정하는 단계(1135)를 포함하되,
    상기 기준 깊이 화상에서의 깊이 정보는 상기 정밀화된 모션 벡터에 의해 지시되는, 방법.
  4. 제 3항에 있어서,
    상기 결정된 모션 벡터와 상기 정밀화된 모션 벡터 간의 차(difference)를 나타내는 정밀화 지시자(refinement indicator)를 생성하는 단계(1230, 1255); 및
    상기 생성된 데이터 구조 내에 상기 정밀화 지시자를 포함하는 단계(1140, 1250)를 추가로 더 포함하는, 방법.
  5. 제 1항에 있어서,
    상기 화상은 프레임의 매크로블럭인, 방법.
  6. 제 1항에 있어서,
    상기 화상의 특정 슬라이스가 상기 선택된 비디오 정보 또는 상기 깊이 정보에 속한다는 것을 나타내는 지시(indication)를 생성하는 단계(1030, 1050)를 추가로 더 포함하되, 상기 데이터 구조는 상기 특정 슬라이스에 대하여 상기 생성된 지시를 추가로 더 포함하는, 방법.
  7. 제 6항에 있어서,
    상기 지시는 적어도 하나의 고급 레벨 구문 요소를 사용하여 제공되는, 방법.
  8. 제 1항에 있어서,
    상기 화상은 다시점 비디오 콘텐트에 대응하고,
    상기 데이터 구조는 상기 화상의 주어진 시점의 상기 선택된 비디오 정보 및 상기 깊이 정보를 인터리빙함으로써 생성되되, 상기 화상의 주어진 시점의 상기 깊이 정보는 상기 화상의 주어진 시점의 상기 선택된 비디오 정보를 뒤따르는, 방법(1065).
  9. 제 1항에 있어서,
    상기 화상은 다시점 비디오 콘텐트에 대응하고,
    상기 데이터 구조는 주어진 시순간(time instance)에서 상기 화상의 주어진 시점의 상기 선택된 비디오 정보 및 상기 깊이 정보를 인터리빙함으로써 생성되되, 상기 주어진 시순간에서 상기 화상의 주어진 시점의 상기 인터리빙된 깊이 정보와 선택된 비디오 정보는 상기 주어진 시순간에서 상기 화상의 또 다른 시점의 인터리빙된 깊이 정보와 선택된 비디오 정보보다 선행하는, 방법(1065).
  10. 제 1항에 있어서,
    상기 화상은 다시점 비디오 콘텐트에 대응하고,
    상기 데이터 구조는 상기 깊이 정보와 상기 선택된 비디오 정보를 인터리빙함으로써 생성되되, 상기 깊이 정보와 상기 선택된 비디오 정보는 각각의 시순간에 대하여 시점 당 인터리빙되는, 방법(1070).
  11. 제 1항에 있어서,
    상기 화상은 다시점 비디오 콘텐트에 대응하고,
    상기 데이터 구조는 상기 깊이 정보와 상기 선택된 비디오 정보를 인터리빙함으로써 생성되되, 다시점(multiple views)에 대한 깊이 정보와 다시점에 대한 선택된 비디오 정보는 각각의 시순간에 대하여 인터리빙되는, 방법.
  12. 제 1항에 있어서,
    상기 데이터 구조는 상기 깊이 정보를 상기 선택된 비디오 정보의 추가적인 성분으로서 배열함으로써 생성되고, 상기 선택된 비디오 정보는 적어도 하나의 휘도 성분(luma component) 및 적어도 하나의 색도 성분(chroma component)를 추가로 더 포함하는, 방법(1065).
  13. 제 1항에 있어서,
    비디오 정보의 상기 선택된 성분 및 상기 깊이 정보에 대하여 동일한 샘플링이 사용되는, 방법.
  14. 제 13항에 있어서,
    비디오 정보의 상기 선택된 성분은 휘도 성분 또는 색차 성분(chrominance component)인, 방법(1005).
  15. 제 1항에 있어서,
    상기 방법은 인코더에 의해 수행되는, 방법.
  16. 화상에 대한 비디오 정보의 성분을 선택하기 위한 수단;
    상기 선택된 비디오 정보 또는 상기 화상에 대한 깊이 정보에 대한 모션 벡터를 결정하기 위한 수단;
    상기 결정된 모션 벡터에 기초하여 상기 선택된 비디오 정보를 코딩하기 위한 수단;
    상기 결정된 모션 벡터에 기초하여 상기 깊이 정보를 코딩하기 위한 수단;
    상기 선택된 비디오 정보와 상기 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 생성하기 위한 수단; 및
    상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 또는 그 이상의 데이터 구조를 생성하기 위한 수단을 포함하여 구성되는, 장치.
  17. 프로세서 판독가능 매체로서,
    화상에 대한 비디오 정보의 성분을 선택하는 단계;
    상기 선택된 비디오 정보 또는 상기 화상에 대한 깊이 정보에 대한 모션 벡터를 결정하는 단계(1010, 1040);
    상기 결정된 모션 벡터에 기초하여 상기 선택된 비디오 정보를 코딩하는 단계(1015);
    상기 결정된 모션 벡터에 기초하여 상기 깊이 정보를 코딩하는 단계(1035);
    상기 선택된 비디오 정보와 상기 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 생성하는 단계(1030, 1050); 및
    상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 또는 그 이상의 데이터 구조를 생성하는 단계(1065, 1070)를
    프로세서로 하여금 적어도 수행하도록 하기 위한 명령을 저장한 프로세서 판독가능 매체.
  18. 장치로서,
    화상에 대한 비디오 정보의 성분을 선택하는 단계;
    상기 선택된 비디오 정보 또는 상기 화상에 대한 깊이 정보에 대한 모션 벡터를 결정하는 단계(1010, 1040);
    상기 결정된 모션 벡터에 기초하여 상기 선택된 비디오 정보를 코딩하는 단계(1015);
    상기 결정된 모션 벡터에 기초하여 상기 깊이 정보를 코딩하는 단계(1035);
    상기 선택된 비디오 정보와 상기 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 생성하는 단계(1030, 1050); 및
    상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 또는 그 이상의 데이터 구조를 생성하는 단계(1065, 1070)를
    적어도 수행하도록 구성된 프로세서를 포함하는, 장치.
  19. 화상에 대한 비디오 정보의 성분을 선택하기 위한 선택기(1510);
    상기 선택된 비디오 정보 또는 상기 화상에 대한 깊이 정보에 대한 모션 벡터를 결정하기 위한 모션 벡터 생성기(1530);
    상기 결정된 모션 벡터에 기초하여 상기 선택된 비디오 정보를 코딩하고, 상기 결정된 모션 벡터에 기초하여 상기 깊이 정보를 코딩하기 위한 코더(1540); 및
    상기 선택된 비디오 정보와 상기 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 생성하고, 상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 또는 그 이상의 데이터 구조를 생성하기 위한 생성기(1580)를 포함하여 구성되는, 장치(1500).
  20. 제 19항에 있어서,
    상기 장치는, 상기 선택기, 모션 벡터 생성기, 코더, 지시자 생성기 및 스트림 생성기를 포함하는 인코더를 포함하는, 장치.
  21. 화상에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 코딩된 깊이 정보가 상기 비디오 정보 또는 깊이 정보에 대하여 결정되는 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 포함하는 데이터 구조를 포함하도록 포맷화되는 신호.
  22. 화상에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 코딩된 깊이 정보가 상기 비디오 정보 또는 깊이 정보에 대하여 결정되는 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 포함하는 데이터 구조를 저장한 프로세서 판독가능 매체.
  23. 화상의 비디오 성분에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보가 상기 비디오 정보 또는 상기 깊이 정보에 대하여 결정되는 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 포함하는 데이터를 수신하는 단계(1610; 1302);
    상기 코딩된 비디오 정보와 코딩된 깊이 정보 둘 다를 디코딩하는 데에 사용하기 위한 상기 모션 벡터를 생성하는 단계(1620; 1325, 1340);
    상기 화상에 대한 디코딩된 비디오 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 비디오 정보를 디코딩하는 단계(1630; 1330); 및
    상기 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 깊이 정보를 디코딩하는 단계(1640; 1335)를 포함하여 구성되는, 방법.
  24. 제 23항에 있어서,
    상기 디코딩된 비디오 정보와 디코딩된 깊이 정보를 포함하는 데이터 구조를 생성하는 단계(1345);
    적어도 하나의 디코딩단계에서 사용하기 위하여 상기 데이터 구조를 저장하는 단계; 및
    상기 화상의 적어도 일부분을 디스플레이하는 단계를
    추가로 더 포함하는, 방법.
  25. 제 23항에 있어서,
    상기 수신된 데이터 구조 내에서, 상기 화상의 특정 슬라이스가 상기 코딩된 비디오 정보 또는 상기 코딩된 깊이 정보에 속한다는 것을 나타내는 지시를 수신하는 단계(1302)를 추가로 더 포함하는, 방법.
  26. 제 25항에 있어서,
    상기 지시는 적어도 하나의 고급 레벨 구문 요소를 이용하여 제공되는, 방법.
  27. 제 23항에 있어서,
    상기 수신된 데이터는 상기 화상의 추가적인 비디오 성분으로서 배열된 상기 코딩된 깊이 정보와 함께 수신되는, 방법.
  28. 제 23항에 있어서,
    상기 방법은 디코더(500, 720)에 의하여 수행되는, 방법.
  29. 화상의 비디오 성분에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보가 상기 비디오 정보 또는 상기 깊이 정보에 대하여 결정되는 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 포함하는 데이터를 수신하기 위한 수단;
    상기 코딩된 비디오 정보와 코딩된 깊이 정보 둘 다를 디코딩하는 데에 사용하기 위한 상기 모션 벡터를 생성하기 위한 수단;
    상기 화상에 대한 디코딩된 비디오 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 비디오 정보를 디코딩하기 위한 수단; 및
    상기 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 깊이 정보를 디코딩하기 위한 수단을 포함하여 구성되는, 장치.
  30. 화상의 비디오 성분에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보가 상기 비디오 정보 또는 상기 깊이 정보에 대하여 결정되는 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 포함하는 데이터를 수신하는 단계(1302);
    상기 코딩된 비디오 정보와 코딩된 깊이 정보 둘 다를 디코딩하는 데에 사용하기 위한 상기 모션 벡터를 생성하는 단계(1325, 1340);
    상기 화상에 대한 디코딩된 비디오 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 비디오 정보를 디코딩하는 단계(1330); 및
    상기 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 깊이 정보를 디코딩하는 단계(1335)를
    프로세서로 하여금 적어도 수행하도록 하기 위한 명령을 저장한 프로세서 판독가능 매체.
  31. 화상의 비디오 성분에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보가 상기 비디오 정보 또는 상기 깊이 정보에 대하여 결정되는 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 포함하는 데이터 구조를 수신하는 단계(1302);
    상기 코딩된 비디오 정보와 코딩된 깊이 정보 둘 다를 디코딩하는 데에 사용하기 위한 상기 모션 벡터를 생성하는 단계(1325, 1340);
    상기 화상에 대한 디코딩된 비디오 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 비디오 정보를 디코딩하는 단계(1330); 및
    상기 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여, 상기 생성된 모션 벡터에 기초하여 상기 코딩된 깊이 정보를 디코딩하는 단계(1335)를
    적어도 수행하도록 구성된 프로세서를 포함하는, 장치.
  32. 화상의 비디오 성분에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보가 상기 비디오 정보 또는 상기 깊이 정보에 대하여 결정되는 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 포함하는 데이터를 수신하기 위한 버퍼(1710);
    상기 코딩된 비디오 정보와 코딩된 깊이 정보 둘 다를 디코딩하는 데에 사용하기 위한 상기 모션 벡터를 생성하기 위한 모션 벡터 생성기(1760); 및
    상기 화상에 대한 디코딩된 비디오 정보를 생성하기 위하여 상기 생성된 모션 벡터에 기초하여 상기 코딩된 비디오 정보를 디코딩하고, 상기 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여 상기 생성된 모션 벡터에 기초하여 상기 코딩된 깊이 정보를 디코딩하기 위한 디코더(1780)를 포함하여 구성되는, 장치(1770).
  33. 제 32항에 있어서,
    상기 디코딩된 비디오 정보와 상기 디코딩된 깊이 정보를 포함하는 데이터 구조를 생성하기 위한 어셈블러(525)를 추가로 더 포함하는, 장치.
  34. 제 32항에 있어서,
    상기 장치는 상기 버퍼, 상기 모션 벡터 생성기 및 상기 디코더를 포함하는 디코더를 포함하는, 장치.
  35. 화상의 비디오 성분에 대한 코딩된 비디오 정보, 상기 화상에 대한 코딩된 깊이 정보, 및 상기 코딩된 비디오 정보와 상기 코딩된 깊이 정보가 상기 비디오 정보 또는 상기 깊이 정보에 대하여 결정되는 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 포함하는 신호를 수신 및 복조(demodulate)하도록 구성된 복조기(demodulator, 710); 및
    상기 코딩된 비디오 정보와 코딩된 깊이 정보 둘 다를 디코딩하는 데에 사용하기 위한 상기 모션 벡터를 생성하는 단계,
    상기 화상에 대한 디코딩된 비디오 정보를 생성하기 위하여 상기 생성된 모션 벡터에 기초하여 상기 코딩된 비디오 정보를 디코딩하는 단계, 및
    상기 화상에 대한 디코딩된 깊이 정보를 생성하기 위하여 상기 생성된 모션 벡터에 기초하여 상기 코딩된 깊이 정보를 디코딩하는 단계를
    적어도 수행하도록 구성된 디코더(720)를 포함하는, 장치.
  36. 화상에 대한 비디오 정보의 성분을 선택하는 단계,
    상기 선택된 비디오 정보 또는 상기 화상에 대한 깊이 정보에 대한 모션 벡터를 결정하는 단계,
    상기 결정된 모션 벡터에 기초하여 상기 선택된 비디오 정보를 코딩하는 단계,
    상기 결정된 모션 벡터에 기초하여 상기 깊이 정보를 코딩하는 단계,
    상기 선택된 비디오 정보와 상기 깊이 정보가 상기 결정된 모션 벡터에 기초하여 코딩되는 것을 나타내는 지시자를 생성하는 단계, 및
    상기 코딩된 비디오 정보, 상기 코딩된 깊이 정보 및 상기 생성된 지시자를 집합적으로 포함하는 하나 또는 그 이상의 데이터 구조를 생성하는 단계를
    수행하도록 구성된 인코더(400, 610); 및
    상기 데이터 구조를 변조 및 전송하도록 구성된 변조기(modulator)를 포함하여 구성되는, 장치.
KR1020107017779A 2008-01-11 2008-12-18 비디오 및 깊이 코딩 KR20100105877A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1082308P 2008-01-11 2008-01-11
US61/010,823 2008-01-11

Publications (1)

Publication Number Publication Date
KR20100105877A true KR20100105877A (ko) 2010-09-30

Family

ID=40756396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107017779A KR20100105877A (ko) 2008-01-11 2008-12-18 비디오 및 깊이 코딩

Country Status (7)

Country Link
US (1) US20100284466A1 (ko)
EP (1) EP2232875A2 (ko)
JP (2) JP2011509631A (ko)
KR (1) KR20100105877A (ko)
CN (1) CN101911700A (ko)
BR (1) BRPI0821500A2 (ko)
WO (1) WO2009091383A2 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100635A1 (ko) * 2011-12-30 2013-07-04 (주)휴맥스 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치
WO2013133587A1 (ko) * 2012-03-07 2013-09-12 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR20140043483A (ko) * 2011-07-22 2014-04-09 퀄컴 인코포레이티드 내부 뷰 모션 예측 (ivmp) 모드를 지원하는 mvc 기반 3dvc 코덱
WO2014058216A1 (ko) * 2012-10-09 2014-04-17 한국전자통신연구원 비디오 데이터 디코딩 방법 및 비디오 데이터 디코딩 장치
KR20140051970A (ko) * 2011-08-30 2014-05-02 인텔 코포레이션 멀티뷰 비디오 코딩 방안
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9918068B2 (en) 2011-06-15 2018-03-13 Media Tek Inc. Method and apparatus of texture image compress in 3D video coding
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009131688A2 (en) 2008-04-25 2009-10-29 Thomson Licensing Inter-view skip modes with depth
WO2010043773A1 (en) * 2008-10-17 2010-04-22 Nokia Corporation Sharing of motion vector in 3d video coding
KR101158491B1 (ko) 2008-12-08 2012-06-20 한국전자통신연구원 다시점 영상 부호화, 복호화 방법 및 그 장치.
KR101675555B1 (ko) * 2009-01-30 2016-11-11 톰슨 라이센싱 깊이 맵의 코딩
WO2010093351A1 (en) * 2009-02-13 2010-08-19 Thomson Licensing Depth map coding to reduce rendered distortion
JP5614900B2 (ja) * 2009-05-01 2014-10-29 トムソン ライセンシングThomson Licensing 3d映像符号化フォーマット
US8878912B2 (en) 2009-08-06 2014-11-04 Qualcomm Incorporated Encapsulating three-dimensional video data in accordance with transport protocols
KR101624649B1 (ko) * 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101636539B1 (ko) * 2009-09-10 2016-07-05 삼성전자주식회사 입체영상 압축 처리 방법 및 장치
KR101660312B1 (ko) * 2009-09-22 2016-09-27 삼성전자주식회사 3차원 비디오의 움직임 탐색 장치 및 방법
US20110122225A1 (en) * 2009-11-23 2011-05-26 General Instrument Corporation Depth Coding as an Additional Channel to Video Sequence
KR101281961B1 (ko) * 2009-12-21 2013-07-03 한국전자통신연구원 깊이 영상 편집 방법 및 장치
US9077966B2 (en) 2010-02-15 2015-07-07 Thomson Licensing Apparatus and method for processing video content
KR101628383B1 (ko) * 2010-02-26 2016-06-21 연세대학교 산학협력단 영상 처리 장치 및 방법
KR101584480B1 (ko) 2010-04-13 2016-01-14 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
ES2549734T3 (es) 2010-04-13 2015-11-02 Ge Video Compression, Llc Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
CN106454371B (zh) 2010-04-13 2020-03-20 Ge视频压缩有限责任公司 解码器、数组重建方法、编码器、编码方法及存储介质
KR102166520B1 (ko) 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
CN101873494B (zh) * 2010-04-30 2012-07-04 南京邮电大学 基于切片级别的视频传输中动态交织的方法
EP2596635B1 (en) * 2010-07-19 2020-05-20 Dolby Laboratories Licensing Corporation Enhancement methods for sampled and multiplexed image and video data
KR101781254B1 (ko) * 2010-08-11 2017-09-26 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
US20130162774A1 (en) 2010-09-14 2013-06-27 Dong Tian Compression methods and apparatus for occlusion data
KR102034004B1 (ko) 2010-10-08 2019-10-18 지이 비디오 컴프레션, 엘엘씨 블록 분할 및 블록 병합을 지원하는 픽처 코딩
CN106851320B (zh) 2010-11-04 2020-06-02 Ge视频压缩有限责任公司 数字存储介质、解码比特流的方法
CN103181171B (zh) * 2010-11-04 2016-08-03 皇家飞利浦电子股份有限公司 深度指示图的产生
CN103202019A (zh) * 2010-11-22 2013-07-10 索尼公司 编码装置和编码方法、以及解码装置和解码方法
HU1000640D0 (en) * 2010-11-29 2011-02-28 Holografika Hologrameloeallito Fejlesztoe Es Forgalmazo Kft Image coding and decoding method and apparatus for efficient encoding and decoding of 3d field content
US20120189060A1 (en) * 2011-01-20 2012-07-26 Industry-Academic Cooperation Foundation, Yonsei University Apparatus and method for encoding and decoding motion information and disparity information
EP2676446B1 (en) 2011-02-15 2018-07-04 Thomson Licensing DTV Apparatus and method for generating a disparity map in a receiving device
TWI547152B (zh) 2011-02-22 2016-08-21 太格文 Ii有限責任公司 影像解碼方法及影像解碼裝置
AU2012221588B2 (en) 2011-02-22 2015-12-17 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US9105076B2 (en) 2011-03-08 2015-08-11 Sony Corporation Image processing apparatus, image processing method, and program
US9565449B2 (en) 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
EP3267398A3 (en) 2011-03-18 2018-03-28 Sony Corporation Image processing apparatus and image processing method
JPWO2012147622A1 (ja) * 2011-04-28 2014-07-28 ソニー株式会社 画像処理装置、及び、画像処理方法
JPWO2012147621A1 (ja) 2011-04-28 2014-07-28 ソニー株式会社 符号化装置および符号化方法、並びに、復号装置および復号方法
LT3661201T (lt) 2011-07-19 2021-04-12 Tagivan Ii Llc Filtravimo būdas, vaizdo dekodavimo būdas, vaizdo kodavimo būdas, vaizdo dekodavimo aparatas, vaizdo kodavimo aparatas ir vaizdo kodavimo/dekodavimo aparatas
US9363535B2 (en) 2011-07-22 2016-06-07 Qualcomm Incorporated Coding motion depth maps with depth range variation
BR112014003162A2 (pt) * 2011-08-09 2017-06-13 Samsung Electronics Co Ltd método para codificar dados de vídeo de múltiplas visualizações, método para decodificar dados de vídeo de múltiplas visualizações, e aparelho para decodificar dados de vídeo de múltiplas visualizações
KR101927967B1 (ko) * 2011-08-09 2018-12-12 삼성전자주식회사 다시점 비디오 데이터의 깊이맵 부호화 방법 및 장치, 복호화 방법 및 장치
AU2012303085A1 (en) 2011-08-31 2014-01-30 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
EP2777273B1 (en) 2011-11-11 2019-09-04 GE Video Compression, LLC Efficient multi-view coding using depth-map estimate for a dependent view
WO2013068547A2 (en) * 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient multi-view coding using depth-map estimate and update
EP2777256B1 (en) 2011-11-11 2017-03-29 GE Video Compression, LLC Multi-view coding with effective handling of renderable portions
EP3462742A1 (en) 2011-11-11 2019-04-03 GE Video Compression, LLC Multi-view coding with exploitation of renderable portions
WO2013072484A1 (en) 2011-11-18 2013-05-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-view coding with efficient residual handling
US9473752B2 (en) 2011-11-30 2016-10-18 Qualcomm Incorporated Activation of parameter sets for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
KR102057194B1 (ko) * 2012-01-19 2019-12-19 삼성전자주식회사 시점 변환을 위한 다시점 비디오 예측 방법 및 그 장치, 시점 변환을 위한 다시점 비디오 예측 복원 방법 및 그 장치
EP2810443B1 (en) 2012-02-01 2021-03-31 Nokia Technologies Oy Method and apparatus for video coding
WO2013157439A1 (ja) * 2012-04-17 2013-10-24 ソニー株式会社 復号装置および復号方法、並びに、符号化装置および符号化方法
US9584806B2 (en) * 2012-04-19 2017-02-28 Futurewei Technologies, Inc. Using depth information to assist motion compensation-based video coding
US20150117514A1 (en) * 2012-04-23 2015-04-30 Samsung Electronics Co., Ltd. Three-dimensional video encoding method using slice header and method therefor, and three-dimensional video decoding method and device therefor
US20130287093A1 (en) * 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
US9307252B2 (en) 2012-06-04 2016-04-05 City University Of Hong Kong View synthesis distortion model for multiview depth video coding
US20130329800A1 (en) * 2012-06-07 2013-12-12 Samsung Electronics Co., Ltd. Method of performing prediction for multiview video processing
RU2506712C1 (ru) * 2012-06-07 2014-02-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ межкадрового прогнозирования для кодирования многоракурсной видеопоследовательности
WO2014025294A1 (en) * 2012-08-08 2014-02-13 Telefonaktiebolaget L M Ericsson (Publ) Processing of texture and depth images
US9998727B2 (en) * 2012-09-19 2018-06-12 Qualcomm Incorporated Advanced inter-view residual prediction in multiview or 3-dimensional video coding
US9554146B2 (en) * 2012-09-21 2017-01-24 Qualcomm Incorporated Indication and activation of parameter sets for video coding
JP6763664B2 (ja) 2012-10-01 2020-09-30 ジーイー ビデオ コンプレッション エルエルシー エンハンスメント層作動パラメータのためのベース層ヒントを使用するスケーラブルビデオ符号化
US9998755B2 (en) 2012-10-03 2018-06-12 Mediatek Inc. Method and apparatus for motion information inheritance in three-dimensional 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
WO2014103967A1 (ja) * 2012-12-27 2014-07-03 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム及び記録媒体
JP6027143B2 (ja) 2012-12-27 2016-11-16 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、および画像復号プログラム
CN103929650B (zh) * 2013-01-10 2017-04-12 乐金电子(中国)研究开发中心有限公司 一种深度编码单元编码方法、解码方法、编码器及解码器
US10080036B2 (en) 2013-05-16 2018-09-18 City University Of Hong Kong Method and apparatus for depth video coding using endurable view synthesis distortion
US20160165259A1 (en) * 2013-07-18 2016-06-09 Lg Electronics Inc. Method and apparatus for processing video signal
US9906768B2 (en) * 2013-07-26 2018-02-27 Qualcomm Incorporated Use of a depth condition in 3DV codec
WO2015109598A1 (en) 2014-01-27 2015-07-30 Mediatek Singapore Pte. Ltd. Methods for motion parameter hole filling
CN103841405B (zh) * 2014-03-21 2016-07-06 华为技术有限公司 深度图像的编解码方法和编解码装置
JP5755781B2 (ja) * 2014-05-07 2015-07-29 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 平面間予測
US20160050440A1 (en) * 2014-08-15 2016-02-18 Ying Liu Low-complexity depth map encoder with quad-tree partitioned compressed sensing
JP2017147749A (ja) * 2017-04-20 2017-08-24 シャープ株式会社 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法およびプログラム
EP3451665A1 (en) 2017-09-01 2019-03-06 Thomson Licensing Refinement of internal sub-blocks of a coding unit
WO2020156538A1 (en) 2019-02-03 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interaction between mv precisions and mv difference coding
CN113424533B (zh) 2019-02-14 2024-09-10 北京字节跳动网络技术有限公司 复杂度降低的解码器侧运动推导
FR3124301A1 (fr) * 2021-06-25 2022-12-23 Orange Procédé de construction d’une image de profondeur d’une vidéo multi-vues, procédé de décodage d’un flux de données représentatif d’une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d’ordinateur correspondants.

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3104439B2 (ja) * 1992-11-13 2000-10-30 ソニー株式会社 高能率符号化及び/又は復号化装置
US5614952A (en) * 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
US6188730B1 (en) * 1998-03-23 2001-02-13 Internatonal Business Machines Corporation Highly programmable chrominance filter for 4:2:2 to 4:2:0 conversion during MPEG2 video encoding
US6504872B1 (en) * 2000-07-28 2003-01-07 Zenith Electronics Corporation Down-conversion decoder for interlaced video
US6940538B2 (en) * 2001-08-29 2005-09-06 Sony Corporation Extracting a depth map from known camera and model tracking data
US20030198290A1 (en) * 2002-04-19 2003-10-23 Dynamic Digital Depth Pty.Ltd. Image encoding system
US7003136B1 (en) * 2002-04-26 2006-02-21 Hewlett-Packard Development Company, L.P. Plan-view projections of depth image data for object tracking
KR20060105409A (ko) * 2005-04-01 2006-10-11 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
JP4533895B2 (ja) * 2003-09-30 2010-09-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像レンダリングのための動き制御
US7728878B2 (en) * 2004-12-17 2010-06-01 Mitsubishi Electric Research Labortories, Inc. Method and system for processing multiview videos for view synthesis using side information
JP2006191357A (ja) * 2005-01-06 2006-07-20 Victor Co Of Japan Ltd 再生装置および再生プログラム
JP4414379B2 (ja) * 2005-07-28 2010-02-10 日本電信電話株式会社 映像符号化方法、映像復号方法、映像符号化プログラム、映像復号プログラム及びそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体
NZ566935A (en) * 2005-09-27 2010-02-26 Qualcomm Inc Methods and apparatus for service acquisition
MX2008011652A (es) * 2006-03-29 2008-09-22 Thomson Licensing Metodos y aparatos para usarse en un sistema de codificacion de video de multiples vistas.
JP4605715B2 (ja) * 2006-06-14 2011-01-05 Kddi株式会社 多視点画像圧縮符号化方法、装置及びプログラム
JP5021739B2 (ja) * 2006-07-12 2012-09-12 エルジー エレクトロニクス インコーポレイティド 信号処理方法及び装置
US8488677B2 (en) * 2007-04-25 2013-07-16 Lg Electronics Inc. Method and an apparatus for decoding/encoding a video signal
WO2009131688A2 (en) * 2008-04-25 2009-10-29 Thomson Licensing Inter-view skip modes with depth
US20100188476A1 (en) * 2009-01-29 2010-07-29 Optical Fusion Inc. Image Quality of Video Conferences

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20140043483A (ko) * 2011-07-22 2014-04-09 퀄컴 인코포레이티드 내부 뷰 모션 예측 (ivmp) 모드를 지원하는 mvc 기반 3dvc 코덱
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US10165267B2 (en) 2011-08-30 2018-12-25 Intel Corporation Multiview video coding schemes
KR20140051970A (ko) * 2011-08-30 2014-05-02 인텔 코포레이션 멀티뷰 비디오 코딩 방안
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
WO2013100635A1 (ko) * 2011-12-30 2013-07-04 (주)휴맥스 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치
US9602831B2 (en) 2012-03-07 2017-03-21 Lg Electronics Inc. Method and apparatus for processing video signals
WO2013133587A1 (ko) * 2012-03-07 2013-09-12 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US10034020B2 (en) 2012-10-09 2018-07-24 Electronics And Telecommunications Research Institute Video data decoding method and video data decoding apparatus
WO2014058216A1 (ko) * 2012-10-09 2014-04-17 한국전자통신연구원 비디오 데이터 디코딩 방법 및 비디오 데이터 디코딩 장치
US10368100B2 (en) 2012-10-09 2019-07-30 Electronics And Telecommunications Research Institute Video data decoding method and video data decoding apparatus

Also Published As

Publication number Publication date
WO2009091383A3 (en) 2009-09-11
CN101911700A (zh) 2010-12-08
BRPI0821500A2 (pt) 2015-06-16
EP2232875A2 (en) 2010-09-29
US20100284466A1 (en) 2010-11-11
WO2009091383A2 (en) 2009-07-23
JP2011509631A (ja) 2011-03-24
JP2014003682A (ja) 2014-01-09

Similar Documents

Publication Publication Date Title
KR20100105877A (ko) 비디오 및 깊이 코딩
US8532410B2 (en) Multi-view video coding with disparity estimation based on depth information
TWI679882B (zh) 具區塊向量衍生區塊內複製編碼方法及系統
KR101663819B1 (ko) 정제된 깊이 맵
CN112235581B (zh) 视频解码方法、装置、存储介质及电子设备
US20130343459A1 (en) Method and apparatus for video coding
CN105556965A (zh) 用于视频编码和解码的方法、装置和计算机程序产品
CN114600466A (zh) 基于交叉分量滤波的图像编码设备和方法
CN105325003A (zh) 用于视频编码和解码的装置、方法和计算机程序
KR20150132505A (ko) 스킵 및 직접 모드들에 대한 3d 비디오 코딩에서의 디스패리티 벡터 유도
JP7348411B2 (ja) ラップアラウンド動き補償に基づく画像符号化/復号化方法及び装置、並びにビットストリームを保存した記録媒体
CN110971907B (zh) 视频编解码方法和装置、计算机设备及存储介质
JP2024096411A (ja) ラップアラウンド動き補償に基づく画像符号化/復号化方法及び装置、並びにビットストリームを保存した記録媒体
CN114631318A (zh) 应用双向预测时推导用于加权平均的权重索引信息的图像解码方法和设备
WO2010021664A1 (en) Depth coding
CN114303375A (zh) 使用双向预测的视频解码方法和用于该方法的装置
CN114375573A (zh) 使用合并候选推导预测样本的图像解码方法及其装置
CN117136544A (zh) 视频流式传输中的参数集指示的方法
WO2021058401A1 (en) Prediction for video encoding and decoding using external reference
CN118872274A (zh) 基于高级运动向量预测(amvp)-合并模式的图像编码/解码方法、装置和存储比特流的记录介质
CN116057932A (zh) 基于层信息信令的图像编码设备和方法
CN118827983A (zh) 对色度块使用分段限制的视频编码/解码方法和设备,以及发送比特流的方法
CN118827985A (zh) 对色度块使用分段限制的视频编码/解码方法和设备,以及发送比特流的方法
WO2008130716A2 (en) Video coding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application