KR20150058457A - 비디오 코딩 방법 및 장치 - Google Patents

비디오 코딩 방법 및 장치 Download PDF

Info

Publication number
KR20150058457A
KR20150058457A KR1020157010203A KR20157010203A KR20150058457A KR 20150058457 A KR20150058457 A KR 20150058457A KR 1020157010203 A KR1020157010203 A KR 1020157010203A KR 20157010203 A KR20157010203 A KR 20157010203A KR 20150058457 A KR20150058457 A KR 20150058457A
Authority
KR
South Korea
Prior art keywords
depth
texture
block
view
encoded
Prior art date
Application number
KR1020157010203A
Other languages
English (en)
Other versions
KR101664758B1 (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 KR20150058457A publication Critical patent/KR20150058457A/ko
Application granted granted Critical
Publication of KR101664758B1 publication Critical patent/KR101664758B1/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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

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

Abstract

비디오 인코딩을 위한 다양한 방법, 장치 및 컴퓨터 프로그램 제품이 개시된다. 몇몇 실시예에서, 인코딩을 위한 방법은 텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 단계와, 코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 단계와, 코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하는 단계를 포함한다. 위 방법은 코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 단계를 더 포함한다. 비디오 디코딩을 위한 다양한 방법, 장치 및 컴퓨터 프로그램 제품에 대하여 대응하는 방법도 개시된다.

Description

비디오 코딩 방법 및 장치{METHOD AND APPARATUS FOR VIDEO CODING}
본 출원은 일반적으로 비디오 코딩 및 디코딩(video coding and decoding)을 위한 장치, 방법 및 컴퓨터 프로그램과 관련된다.
이 절은 청구항에 기재된 발명에 배경 내지 맥락(background or context)을 제공하도록 의도된 것이다. 본 명세서 내의 설명은, 추구될 수도 있으나 반드시 이전에 착상되었거나 추구되었던 것은 아닌 개념을 포함할 수 있다. 그러므로, 본 명세서에서 달리 표시되지 않으면, 이 절에서 기술된 것은 이 출원 내의 설명 및 청구항에 대한 선행기술이 아니고 이 절 내의 포함에 의해 선행기술로 인정되는 것이 아니다.
비디오 코딩 시스템은 입력 비디오를 저장(storage)/전송(transmission)에 적합한 압축된 표현(compressed representation)으로 변환하는 인코더(encoder) 및압축된 비디오 표현을 볼 수 있는 형태(viewable form)로 다시 비압축화(uncompress)할 수 있는 디코더(decoder)를 포함할 수 있다. 인코더는 비디오를 더 간결한 형태로 표현하기 위해 원래의 비디오 시퀀스(video sequence) 내의 소정의 정보를 폐기하여, 예를 들어 만약 그렇지 않았다면 필요하였을 수 있는 것보다 더 낮은 비트율(bitrate)로 그 비디오 정보의 저장/전송을 가능하게 할 수 있다.
스케일가능 비디오 코딩(scalable video coding)은 하나의 비트스트림(bitstream)이 상이한 비트율들, 해상도(resolution)들, 프레임율(frame rate)들 및/또는 다른 유형의 스케일가능성(scalability)으로 콘텐트(content)의 여러 표현을 포함할 수 있는 코딩 구조(coding structure)를 나타낸다. 스케일가능 비트스트림은 이용가능한 가장 낮은 품질 비디오를 제공하는 기반 계층(base layer) 및 더 낮은 계층과 함께 수신되고 디코딩되는 경우 비디오 품질을 향상시키는 하나 이상의 향상 계층(enhancement layer)으로 이루어질 수 있다. 향상 계층에 대한 코딩 효율을 개선하기 위하여, 그 계층의 코딩된 표현은 더 낮은 계층에 의존할 수 있다. 그의 모든 종속 계층과 함께 각 계층은 소정의 공간적 해상도(spatial resolution), 시간적 해상도(temporal resolution), 품질 레벨(quality level) 및/또는 다른 유형의 스케일가능성의 동작 포인트(operation point)에서의 비디오 신호의 한 표현이다.
3차원(3D) 비디오 콘텐트를 제공하기 위한 다양한 기술이 현재 연구되고 개발된다. 특히, 보는 이(viewer)가 특정 시점(viewpoint)으로부터 오직 한 쌍의 스테레오 비디오(stereo video)를, 그리고 상이한 시점으로부터 다른 쌍의 스테레오 비디오를 볼 수 있는 다양한 멀티뷰 애플리케이션(multiview application)들에 치열한 연구가 집중되어 있다. 그러한 멀티뷰 애플리케이션을 위한 가장 실행성 있는 접근법 중 하나는, 단지 한정된 개수의 입력 뷰(가령, 모노(mono) 또는 스테레오 비디오에 소정의 보충적 데이터까지)가 디코더 측에 제공되고 또한 디스플레이 상에 디스플레이되도록 모든 요구되는 뷰가 디코더에 의하여 국부적으로(locally) 렌더링되는(rendered)(즉, 합성되는(synthesized)) 그러한 것으로 드러났다.
3D 비디오 콘텐트의 인코딩에서, 고급 비디오 코딩 표준(Advanced Video Coding standard) H.264/AVC 또는 H.264/AVC의 멀티뷰 비디오 코딩 확장(Multiview Video Coding MVC extension)과 같은 비디오 압축 시스템이 사용될 수 있다.
몇몇 실시예는 비디오 정보를 인코딩하고 디코딩하는 방법을 제공한다. 그 방법의 몇몇 실시예에서 텍스처 블록(texture block)에 대한 예측 방법(prediction method)이 코로케이팅된 깊이 블록(co-located depth block)의 가용성(availability)에 기초하여 결정될 수 있고, 코로케이팅된 깊이 블록의 가용성에 기초하여 코로케이팅된 깊이 블록이 이용가능한 경우 텍스처 블록에 대한 제1 예측 블록(prediction block)이 코로케이팅된 깊이 블록에 기초하여 도출될 수 있다. 코로케이팅된 깊이 블록이 이용가능하지 않은 경우, 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록이 도출될 수 있다.
본 발명의 예들의 다양한 양상이 상세한 설명에서 제공된다.
본 발명의 제1 양상에 따르면,
텍스처 블록과 코로케이팅된(co-located) 깊이 블록의 가용성을 조사하는 단계와,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법(prediction method)을 결정하는 단계와,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 단계를 포함하는 방법이 제공된다.
본 발명의 제2 양상에 따르면,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 단계와,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 단계와,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 단계를 포함하는 방법이 제공된다.
본 발명의 제3 양상에 따르면,
컴퓨터 프로그램 코드(computer program code)를 포함하는 적어도 하나의 메모리(memory) 및 적어도 하나의 프로세서(processor)를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하고,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하며,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하게 하도록 구성되는, 장치가 제공된다.
본 발명의 제4 양상에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하고,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하며,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하게 하도록 구성되는, 장치가 제공된다.
본 발명의 제5 양상에 따르면,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 수단과,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 수단과,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 수단을 포함하는 장치가 제공된다.
본 발명의 제6 양상에 따르면,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 수단과,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하기와,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 수단을 포함하는 장치가 제공된다.
본 발명의 제7 양상에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 것과,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 것과,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공된다.
본 발명의 제8 양상에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 것과,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 것과,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공된다.
본 발명의 제9 양상에 따르면,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나(capturing) 도출하는 단계와,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 단계와,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시(indication)를 인코딩하는 단계와,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 단계를 포함하되,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점(viewpoint)을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형(depth map type)의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드(sampling grid)가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 상기 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평(horizontal) 또는 수직(vertical) 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수(integer)가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역(sampling area)을 커버(cover)하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 방법이 제공된다.
본 발명의 제10 양상에 따르면,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 단계와,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 단계 - 위 결정하는 단계는, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 단계와, 비트스트림에 기초하여 어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성(view synthesis)을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 단계 중 하나 이상을 포함함 - 와,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 단계와,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 단계를 포함하는 방법이 제공된다.
본 발명의 제11 양상에 따르면,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 수신하는 단계와,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되었는지 판정하기 위하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 디코딩하는 단계와,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰를 비트스트림으로부터 디코딩하는 단계를 포함하되,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 방법이 제공된다.
본 발명의 제12 양상에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하고,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하며,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하고,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하게 하도록 구성되고,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 장치가 제공된다.
본 발명의 제13 양상에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하고,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정 - 위 결정은, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 것과, 비트스트림에 기초하여 어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 것 중 하나 이상을 포함함 - 하며,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하고,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하게 하도록 구성되는, 장치가 제공된다.
본 발명의 제14 양상에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 수신하고,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되었는지 판정하기 위하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 디코딩하며,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰를 비트스트림으로부터 디코딩하게 하도록 구성되고,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 장치가 제공된다.
본 발명의 제15 양상에 따르면,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 수단과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 수단과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 수단과,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 수단을 포함하되,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 상기 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 장치가 제공된다.
본 발명의 제16 양상에 따르면,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 수단과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 수단 - 위 결정하는 수단은, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 수단과, 비트스트림에 기초하여 어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 수단 중 하나 이상을 포함함 - 과,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 수단과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 수단을 포함하는 장치가 제공된다.
본 발명의 제17 양상에 따르면,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 수신하는 수단과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되었는지 판정하기 위하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 디코딩하는 수단과,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰를 비트스트림으로부터 디코딩하는 수단을 포함하되,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 장치가 제공된다.
본 발명의 제18 양상에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 것과
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 것과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 것과,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 상기 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 컴퓨터 프로그램 제품이 제공된다.
본 발명의 제19 양상에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 것과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 것 - 위 결정은, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 것과, 비트스트림에 기초하여 어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 것 중 하나 이상을 포함함 - 과,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 것과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공된다.
본 발명의 제20 양상에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 수신하는 것과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되었는지 판정하기 위하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 디코딩하는 것과,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰를 비트스트림으로부터 디코딩하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 컴퓨터 프로그램 제품이 제공된다.
본 발명의 제21 양상에 따르면,
비트스트림으로부터 제1 시점의 제1 깊이 뷰를 수신하는 단계 - 비트스트림은 제1 시점의 텍스처 뷰를 포함하지 않음 - 와,
제1 깊이 뷰를 디코딩하는 단계와,
디코딩된 제1 깊이 뷰에 기반하여 제1 시점으로의 역방향 뷰 합성을 사용하는 단계를 포함하는 방법이 제공된다.
본 발명의 예시적 실시예들의 더욱 완벽한 이해를 위하여, 첨부된 도면과 관련하여 쓰인 다음의 설명이 이제 언급되는데, 첨부된 도면에서
도 1은 본 발명의 몇몇 실시예를 활용하는 전자 디바이스(electronic device)를 개략적으로 보여주고,
도 2는 본 발명의 몇몇 실시예를 활용하는 데에 적합한 사용자 장비(user equipment)를 개략적으로 보여주며,
도 3은 또한 무선 및 유선 네트워크 연결을 사용하여 연결된 본 발명의 실시예를 활용하는 전자 디바이스를 개략적으로 보여주고,
도 4A는 인코더 내에 포함된 본 발명의 실시예를 개략적으로 보여주며,
도 4B는 본 발명의 몇몇 실시예에 따라 인터 예측기(inter predictor)의 실시예를 개략적으로 보여주고,
도 5는 DIBR 기반 3차원 비디오 시스템(DIBR-based 3DV system)의 단순화된 모델을 보여주며,
도 6은 입체 카메라 설정(stereoscopic camera setup)의 단순화된 2D 모델을 보여주고,
도 7은 액세스 단위의 정의 및 코딩 순서의 예를 보여주며,
도 8은 텍스처 뷰 및 깊이 뷰를 인코딩할 수 있는 인코더의 실시예의 고수준 흐름도를 보여주고,
도 9는 텍스처 뷰 및 깊이 뷰를 디코딩할 수 있는 디코더의 실시예의 고수준 흐름도를 보여주며,
도 10은 인코더 내의 깊이 맵 코딩을 위한 예시적 처리 흐름을 보여주고,
도 11은 인코더의 인루프 구현(in-loop implementation)과 함께 두 개의 깊이 맵 뷰의 코딩의 예를 보여주며,
도 12는 앵커 픽처(anchor picture)의 공동 멀티뷰 비디오 및 깊이 코딩(joint multiview video and depth coding)의 예를 보여주고,
도 13은 비 앵커 픽처(non-anchor picture)의 공동 멀티뷰 비디오 및 깊이 코딩의 예를 보여주며,
도 14는 방향 분리된 움직임 벡터 예측(direction separated motion vector prediction)을 위한 예시적 방법의 흐름도를 도시하고,
도 15A는 인트라 예측(intra prediction)을 위한 후보로 쓸 수 있는 현재 코딩된 블록의 공간적 이웃을 보여주며,
도 15B는 인터 예측(inter prediction)을 위한 후보로 쓸 수 있는 현재 코딩된 블록의 시간적 이웃을 보여주고,
도 16A는 P 슬라이스 내 스킵 모드(skip mode)를 위한 깊이 기반 움직임 경쟁(depth-based motion competition)의 예시적 방법의 흐름도를 도시하며,
도 16B는 B 슬라이스 내 직접 모드(direct mode)를 위한 깊이 기반 움직임 경쟁의 예시적 방법의 흐름도를 도시하고,
도 17은 역방향 뷰 합성(backward view synthesis) 방안의 예를 보여준다.
이하에서, 본 발명의 여러 실시예가 하나의 비디오 코딩 구성(video coding arrangement)의 맥락에서 기술될 것이다. 다만, 본 발명이 이 특정한 구성에 한정되지 않는다는 점에 유의해야 한다. 실제로, 상이한 실시예들은 참조 픽처(reference picture) 취급의 개선이 요구되는 임의의 환경에서 널리 적용될 것이다. 예를 들어, 본 발명은 비디오 데이터가 취급되는 클라우드 컴퓨팅 구성 및 트랜스코더와 같은 네트워크 요소뿐만 아니라, 통신 디바이스와 핸드헬드(handheld) 컴퓨터, 개인용 컴퓨터 상의 시스템 및 컴퓨터 프로그램, 개인용 비디오 레코더, 디지털 텔레비전 수신기, DVD 플레이어, 스트리밍 시스템과 같은 비디오 코딩 시스템에 적용가능할 수 있다.
H.264/AVC 표준은 국제전기통신연합(International Telecommunication Union)의 전기통신표준화부문(Telecommunications Standardization Sector)(ITU-T)의 비디오코딩전문가그룹(Video Coding Experts Group: VCEG) 및 국제표준화기구(International Organisation for Standardization: ISO)/국제전기기술위원회(International Electrotechnical Commission: IEC)의 동화상전문가그룹(Moving Picture Experts Group: MPEG)의 공동비디오팀(Joint Video Team: JVT)에 의해 개발되었다. H.264/AVC 표준은 두 부모 표준화 기구에 의해 공표되었고, ITU-T 권장 H.264(ITU-T Recommendation H.264) 및 ISO/IEC 국제 표준 14496-10(ISO/IEC International Standard 14496-10)으로 지칭되며, 또한 MPEG-4 파트 10 고급 비디오 코딩(MPEG-4 Part 10 Advanced Video Coding (AVC))으로 알려져 있다. H.264/AVC 표준의 다수의 버전이 있어왔는데, 각 버전은 사양(specification)에 새로운 확장 또는 특징을 통합시킨다. 이 확장들은 스케일가능 비디오 코딩(Scalable Video Coding: SVC) 및 멀티뷰 비디오 코딩(Multiview Video Coding: MVC)을 포함한다.
VCEG 및 MPEG의 공동협력팀-비디오코딩(Joint Collaborative Team - Video Coding: JCT-VC)에 의한 고효율비디오코딩(High Efficiency Video Coding: HEVC)의 현재 진행중인 표준화 프로젝트가 있다.
H.264/AVC 및 HEVC의 몇몇 중요한 정의, 비트스트림과 코딩 구조, 그리고 개념이 이 절에서 비디오 인코더, 디코더, 인코딩 방법, 디코딩 방법 및 비트스트림 구조의 예로서 기술될 것인데, 여기에 실시예가 구현될 수 있다. H.264/AVC의 중요한 정의, 비트스트림과 코딩 구조, 그리고 개념 중 몇몇은 HEVC 표준 초안(draft HEVC standard)에서와 동일하고, 따라서 아래에서 같이 기술된다. 본 발명의 양상은 H.264/AVC 또는 HEVC에 한정되지 않으나, 본 발명이 그 위에서 부분적으로 또는 전적으로 실현될 수 있는 한 가지 가능한 토대에 대해 설명이 주어진다.
많은 초기 비디오 코딩 표준과 마찬가지로, 비트스트림 신택스(syntax) 및 시맨틱스(semantics)는 물론 에러 없는(error-free) 비트스트림을 위한 디코딩 프로세스가 H.264/AVC 및 HEVC에 명시된다. 인코딩 프로세스는 지정되지 아니하나, 인코더는 부합하는 비트스트림을 생성하여야 한다. 비트스트림 및 디코더 준수는 가정적 참조 디코더(Hypothetical Reference Decoder: HRD)로써 확인될 수 있다. 그 표준은 전송 에러 및 손실에 대처하는 데 도움이 되는 코딩 도구를 포함하나, 그 도구의 사용은 선택적이고 어떠한 디코딩 프로세스도 잘못된 비트스트림에 대해 명시되지는 않았다.
H.264/AVC 또는 HEVC 인코더로의 입력 및 H.264/AVC 또는 HEVC 디코더의 출력 각각을 위한 기본적인 단위는 픽처(picture)이다. H.264/AVC 및 HEVC에서, 픽처는 프레임(frame) 또는 필드(field) 중 어느 하나일 수 있다. 프레임은 루마(luma) 샘플 및 대응하는 크로마(chroma) 샘플의 매트릭스(matrix)를 포함한다. 필드는 프레임의 교번(alternate) 샘플 행의 집합이며, 소스 신호(source signal)가 인터레이싱된(interlaced) 경우 인코더 입력으로서 사용될 수 있다. 크로마 픽처는 루마 픽처에 비교되는 경우 서브샘플링될(subsampled) 수 있다. 예를 들어, 4:2:0 샘플링 패턴에서 크로마 픽처의 공간적 해상도는 양 좌표 축을 따라 루마 픽처의 공간적 해상도의 절반이다.
H.264/AVC에서, 매크로블록(macroblock)은 루마 샘플의 16x16 블록 및 크로마 샘플의 대응하는 블록이다. 예를 들어, 4:2:0 샘플링 패턴에서, 매크로블록은 각 크로마 콤포넌트 당 크로마 샘플의 하나의 8x8 블록을 포함한다. H.264/AVC에서, 픽처는 하나 이상의 슬라이스(slice) 그룹으로 파티셔닝되고(partitioned), 슬라이스 그룹은 하나 이상의 슬라이스를 포함한다. H.264/AVC에서, 슬라이스는 특정한 슬라이스 그룹 내에서의 래스터 스캔(raster scan)에서 연속적으로 순서화된 정수 개의 매크로블록으로 이루어진다.
HEVC 표준화 과정에서 가령 픽처 파티셔닝 단위에 관한 용어가 발달되었다. 다음 단락들에서, 몇몇 HEVC 용어의 비한정적(non-limiting) 예가 제공된다.
HEVC 표준의 한 초안 버전에서, 비디오 픽처는 그 픽처의 영역을 커버하는 코딩 단위(Coding Unit: CU)로 나뉜다. CU는 CU 내의 샘플에 대하여 예측 프로세스를 정의하는 하나 이상의 예측 단위(Prediction Unit: PU) 및 CU 내 샘플에 대하여 예측 에러 코딩 프로세스(prediction error coding process)를 정의하는 하나 이상의 변환 단위(Transform Unit: TU)로 이루어진다. 통상적으로, CU는 가능한 CU 크기의 사전정의된 집합으로부터 선택가능한 크기를 갖는 샘플의 정사각형 블록(square block)으로 이루어진다. 최대 허용된 크기를 갖는 CU는 통상적으로 LCU(Largest Coding Unit)라고 명명되고 비디오 픽처는 비중첩(non-overlapping) LCU로 나뉜다. LCU는 가령 재귀적으로(recursively) 그 LCU 및 결과적인 CU를 분할함으로써 더 작은 CU의 조합으로 더 분할될 수 있다. 각각의 결과적인 CU는 통상적으로 적어도 하나의 PU 및 그와 연관된 적어도 하나의 TU를 가진다. 예측 프로세스 및 예측 에러 코딩 프로세스 각각의 입도(granularity)를 증가시키기 위하여 각 PU 및 TU는 또한 더 작은 PU 및 TU로 더 분할될 수 있다. PU 분할은 CU를 네 개의 동일한 크기의 정사각형 PU로 분할하는 것 또는 대칭 또는 비대칭 방식으로 수직으로 또는 수평으로 두 개의 직사각형(rectangular) PU로 CU를 분할하는 것에 의하여 실현될 수 있다. 이미지를 CU로 나누는 것 및 CU를 PU 및 TU로 나누는 것은 디코더로 하여금 이 단위들의 의도된 구조를 재생성하도록 하는 비트스트림으로 통상 시그널링된다(signalled).
HEVC 표준 초안에서, 픽처는 직사각형이며 정수 개의 LCU를 포함하는 타일로 파티셔닝될 수 있다. HEVC 표준 초안에서, 타일로의 파티셔닝은 타일의 높이 및 폭이 최대 1 LCU 만큼 서로 상이한 규칙적인 그리드(grid)를 형성한다. HEVC 표준 초안에서, 슬라이스는 정수 개의 CU로 이루어진다. CU는 타일 내 또는 타일이 사용 중이 아닌 경우에는 픽처 내 LCU의 래스터 스캔 순서로 스캐닝된다. LCU 내에서, CU는 특유한 스캔 순서를 가진다.
HEVC의 작업 초안(Working Draft: WD) 5에서, 픽처 파티셔닝을 위한 몇몇 중요한 정의 및 개념이 다음과 같이 정의된다. 파티셔닝은 세트(set)의 각 원소(element)가 서브세트(subset)들 중 정확히 하나에 있도록 세트를 서브세트들로 나누는 것으로서 정의된다.
HEVC WD5 내의 기본 코딩 단위는 트리블록(treeblock)이다. 트리블록은 세 개의 샘플 어레이(array)들을 갖는 픽처의 루마 샘플의 NxN 블록 및 크로마 샘플의 두 개의 대응하는 블록, 또는 모노크롬(monochrome) 픽처 또는 세 개의 별개의 색상 평면(color plane)들을 사용하여 코딩된 픽처의 샘플의 NxN 블록이다. 트리블록은 상이한 코딩 및 디코딩 프로세스를 위하여 파티셔닝될 수 있다. 트리블록 파티션(treeblock partition)은 세 개의 샘플 어레이들을 갖는 픽처를 위한 트리블록의 파티셔닝으로부터 기인하는 루마 샘플의 블록 및 크로마 샘플의 두 개의 대응하는 블록 또는 단색 픽처 또는 세 개의 별개의 색상 평면들을 사용하여 코딩된 픽처를 위한 트리블록의 파티셔닝으로부터 기인하는 루마 샘플의 블록이다. 각 트리블록에는 인트라 또는 인터 예측을 위해서 그리고 변환 코딩(transform coding)을 위해서 블록 크기를 식별하도록 시그널링하는 파티션이 할당된다. 그 파티셔닝은 재귀적 쿼드트리 파티셔닝(recursive quadtree partitioning)이다. 쿼드트리의 루트(root)는 트리블록과 연관된다. 쿼드트리는 리프(leaf)에 이를 때까지 분할되는데, 이는 코딩 노드로 지칭된다. 코딩 노드는 두 개의 트리, 예측 트리 및 변환 트리의 루트 노드이다. 예측 트리는 예측 블록의 위치(position) 및 크기를 명시한다. 예측 트리 및 연관된 예측 데이터는 예측 단위로 지칭된다. 변환 트리는 변환 블록의 위치 및 크기를 명시한다. 변환 트리 및 연관된 변환 데이터는 변환 단위로 지칭된다. 루마 및 크로마를 위한 분할 정보(splitting information)는 예측 트리에 대하여 동일하고 변환 트리에 대해 동일할 수 있거나 동일하지 않을 수 있다. 코딩 노드 및 연관된 예측 및 변환 단위는 함께 코딩 단위를 형성한다.
HEVC WD5에서, 픽처는 슬라이스 및 타일로 나뉜다. 슬라이스는 트리블록의 시퀀스(sequence)일 수 있으나 (이른바 미세한 입도의 슬라이스(fine granular slice)를 참조하는 경우) 변환 단위 및 예측 단위가 일치하는 위치에서 트리블록 내에 그 경계를 또한 가질 수 있다. 슬라이스 내의 트리블록은 래스터 스캔 순서로 코딩되고 디코딩된다. 주요한 코딩된 픽처에 대하여, 각 픽처를 슬라이스로 나누는 것은 파티셔닝이다.
HEVC WD5에서, 타일은 하나의 열(column) 및 하나의 행(row)에서 함께 나타나고 그 타일 내 래스터 스캔에서 연속적으로 순서화되는 정수 개수의 트리블록으로 정의된다. 주요한 코딩된 픽처에 대하여, 각 픽처를 슬라이스로 나누는 것은 파티셔닝이다. 타일은 픽처 내 래스터 스캔에서 연속적으로 순서화된다. 슬라이스가 타일 내 래스터 스캔에서 연속적인 트리블록을 포함하나, 이 트리블록들이 반드시 픽처 내 래스터 스캔에서 연속적인 것은 아니다. 슬라이스 및 타일은 트리블록의 동일한 시퀀스를 포함할 필요는 없다. 타일은 하나보다 많은 슬라이스에 포함된 트리블록을 포함할 수 있다. 마찬가지로, 슬라이스는 여러 타일에 포함된 트리블록을 포함할 수 있다
코딩 단위 및 코딩 트리블록 간의 차이는 가령 다음과 같이 정의될 수 있다. 슬라이스는 타일 내 또는 타일이 사용 중이 아닌 경우 픽처 내 래스터 스캔 순서로 하나 이상의 코딩 트리 단위(Coding Tree Unit: CTU)의 시퀀스로서 정의될 수 있다. 각 CTU는 하나의 루마 코딩 트리블록(coding treeblock: CTB) 및 가능하게는 (크로마 포맷이 사용되는지에 따라) 두 개의 크로마 CTB를 포함할 수 있다.
H.264/AVC 및 HEVC에서, 인픽처(in-picture) 예측은 슬라이스 경계를 가로질러 불능화될(disabled) 수 있다. 그러므로, 슬라이스는 코딩된 픽처를 독립적으로 디코딩가능한 조각들로 분할하는 방법으로 간주될 수 있고, 따라서 흔히 슬라이스는 전송을 위한 기본적인 단위로 간주될 수 있다. 많은 경우에, 인코더는 어떤 유형의 슬라이스 경계를 가로지르며 인픽처 예측이 꺼지는지(turned off) 비트스트림에 표시할 수 있고, 디코더 동작은 가령 어느 예측 소스가 이용가능하지 판단하는 경우 이 정보를 고려한다. 예를 들어, 만약 이웃한 매크로 블록 또는 CU가 상이한 슬라이스에 있는 경우, 이웃한 매크로블록 또는 CU로부터의 샘플은 인트라 예측을 위하여 이용불가능한 것으로 간주될 수 있다.
신택스 요소(syntax element)는 비트스트림 내에 표현되는 데이터의 요소로서 정의될 수 있다. 신택스 구조(syntax structure)는 지정된 순서로 비트스트림 내에 함께 존재하는 0개 이상의 신택스 요소로 정의될 수 있다.
각각 H.264/AVC 또는 HEVC 인코더의 출력 및 H.264/AVC 또는 HEVC 디코더의 입력을 위한 기본적인 단위는 네트워크 추상화 계층(Network Abstraction Layer: NAL) 단위이다. 구조화된 파일로의 저장 또는 패킷지향(packet-oriented) 네트워크 상에서의 전송을 위하여, NAL 단위는 패킷 또는 유사한 구조로 캡슐화될(encapsulated) 수 있다. 프레이밍(framing) 구조를 제공하지 않는 전송 또는 저장 환경을 위하여 H.264/AVC 및 HEVC에 바이트스트림(bytestream) 포맷이 명시되었다. 바이트스트림 포맷은 각 NAL 단위 앞에 시작 코드(start code)를 부가함으로써 NAL 단위를 서로 분리한다. NAL 단위 경계의 잘못된 검출을 막도록, 인코더는 바이트지향 시작 코드 에뮬레이션 방지 알고리듬(byte-oriented start code emulation prevention algorithm)을 실행하는데, 이는 만약 그렇지 않으면 시작 코드가 발생하였을 경우에 에뮬레이션 방지 바이트를 NAL 단위 페이로드(NAL unit payload)에 추가한다. 가령 패킷지향 시스템 및 스트림지향(stream-oriented) 시스템 간의 간단한 게이트웨이 동작(straightforward gateway operation)을 가능하게 하기 위하여, 시작 코드 에뮬레이션 방지는 바이트스트림 포맷이 사용 중인지 아닌지 여부에 상관없이 항상 수행될 수 있다. NAL 단위는 후속할 데이터의 유형의 표시(indication) 및 에뮬레이션 방지 바이트와 함께 필요한 만큼 배치된(interspersed) RBSP의 형태로 그 데이터를 포함하는 바이트를 포함하는 신택스 구조로서 정의될 수 있다. 원 바이트 시퀀스 페이로드(Raw Byte Sequence Payload: RBSP)는 NAL 단위 내에 캡슐화된 정수 개의 바이트를 포함하는 신택스 구조로서 정의될 수 있다. RBSP는 비어 있거나(empty) 아니면 RBSP 정지 비트(RBSP stop bit)가 뒤따르고 0과 동일한 후속 비트 0개 이상이 뒤따르는 신택스 요소를 포함하는 데이터 비트의 스트링(string)의 형태를 가질 수 있다.
NAL 단위는 헤더(header) 및 페이로드(payload)로 이루어진다. H.264/AVC 및 HEVC에서, NAL 단위 헤더는 NAL 단위의 유형 및 NAL 단위에 포함된 코딩된 슬라이스가 참조 픽처(reference picture) 또는 비참조 픽처(non-reference picture)의 일부인지 여부를 나타낸다.
H.264/AVC NAL 단위 헤더는 2비트의 nal_ref_idc 신택스 요소를 포함하는데, 이는 0과 동일한 경우에는 NAL 단위에 포함된 코딩된 슬라이스가 비참조 픽처의 일부임을 나타내고 0보다 큰 경우에는 NAL 단위에 포함된 코딩된 슬라이스가 참조 픽처의 일부임을 나타낸다. HEVC 표준 초안은 nal_ref_flag로 또한 알려진 1비트 nal_ref_idc 신택스 요소를 포함하는데, 이는 0과 동일한 경우에는 NAL 단위에 포함된 코딩된 슬라이스가 비참조 픽처의 일부임을 나타내고 1과 동일한 경우에는 NAL 단위에 포함된 코딩된 슬라이스가 참조 픽처의 일부임을 나타낸다. SVC 및 MVC NAL 단위를 위한 헤더는 스케일가능성 및 멀티뷰 계층구조(hierarchy)에 관련된 다양한 표시를 추가적으로 포함할 수 있다.
HEVC 표준 초안에서, 2바이트의 NAL 단위 헤더는 지정된 모든 NAL 단위 유형을 위하여 사용된다. NAL 단위 헤더의 첫 번째 바이트는 하나의 예비된(reserved) 비트, 이 액세스 단위에서 전달되는 픽처가 참조 픽처인지 비참조 픽처인지를 주로 나타내는 1비트의 표시 nal_ref_flag 및 6비트의 NAL 단위 유형 표시를 포함한다. NAL 단위 헤더의 두 번째 바이트는 시간적 레벨에 대한 3비트의 temporal_id 표시 및 HEVC 표준 초안에서 1과 동일한 값을 갖도록 요구되는 5비트의 예비된 필드(reserved_one_5bits라고 불림)를 포함한다. temporal_id 신택스 요소는 NAL 단위를 위한 시간적 식별자(temporal identifier)로서 간주될 수 있고 TemporalId 변수는 temporal_id의 값과 동일하도록 정의될 수 있다. 5비트의 예비된 필드는 예컨대 향후 스케일가능한 3D 비디오 확장과 같은 확장에 의하여 사용될 것으로 예상된다. 일반론의 손실 없이, 몇몇 예시적 실시예에서 변수 LayerId는 가령 다음과 같이 reserved_one_5bits의 값으로부터 도출된다: LayerId = reserved_one_5bits - 1.
이후의 HEVC 표준 초안에서, 2바이트의 NAL 단위 헤더는 지정된 모든 NAL 단위 유형을 위하여 사용된다. NAL 단위 헤더는 하나의 예약된 비트, 6비트의 NAL 단위 유형 표시, 6비트의 예약된 필드(reserved zero_6bits라고 불림) 및 시간적 레벨을 위한 3비트의 temporal_id_plus1 표시를 포함한다. temporal_id_plusl 신택스 요소는 NAL 단위에 대한 시간적 식별자로서 간주 될 수 있고, 영 기반(zero-based) TemporalId 변수는 다음과 같이 도출될 수 있다: TemporalId = temporal_id_plusl - 1. 0과 동일한 TemporalID는 가장 낮은 시간적 레벨에 대응한다. temporal_id_plusl의 값은 두 NAL 단위 헤더 바이트를 수반하는 시작 코드 에뮬레이션을 막기 위하여 영이 아닐(non-zero) 것이 요구된다. 일반론의 손실 없이, 몇몇 실시예에서 변수 LayerId는 가령 다음과 같이 reserved_zero_6bits의 값으로부터 도출된다: LayerId = reserved_zero_6bits.
NAL 단위 헤더 내의 reserved_one_5bits, reserved_zero_6bits 및/또는 유사한 신택스 요소는 스케일가능성 계층구조에 대한 정보를 전달할 것으로 예상된다. 예를 들어, reserved_one_5bits, reserved_zero_6bits 및/또는 유사한 신택스 요소로부터 도출된 LayerId 값은, 가령 quality_id 또는 유사한 것, dependency_id 또는 유사한 것, 임의의 다른 유형의 계층 식별자(layer identifier), 인덱스(view order index) 또는 유사한 것, 뷰 식별자(view identifier), NAL 단위가 깊이 또는 텍스처에 관계되는지 여부의 표시, 즉 depth_flag 또는 유사한 것, 또는 만약 지정된 식별자 값보다 큰 모든 NAL 단위가 비트스트림으로부터 제거되는 경우 유효한 서브-비트스트림(sub-bitstream) 추출을 나타내는 SVC의 priority_id와 유사한 식별자와 같은, 상이한 스케일가능성 치수를 기술하는 신택스 요소 또는 변수의 값에 맵핑될 수 있다. reserved_one_5bits, reserved_zero_6bits 및/또는 유사한 신택스 요소는 스케일가능성 속성을 나타내는 하나 이상의 신택스 요소로 파티셔닝될 수 있다. 예를 들어, reserved_one_5bits, reserved_zero_6bits 및/또는 유사한 신택스 요소 중의 소정의 개수의 비트가 dependency_id 또는 유사한 것을 위하여 사용될 수 있는 반면, reserved_one_5bits, reserved_zero_6bits 및/또는 유사한 신택스 요소 중의 소정의 다른 개수의 비트가 quality_id 또는 유사한 것을 위하여 사용될 수 있다. 대안적으로, LayerId 값 또는 유사한 것을 상이한 스케일가능성 치수를 기술하는 신택스 요소 또는 변수의 값으로 맵핑하는 것은 가령 비디오 파라미터 세트(Video Parameter Set), 시퀀스 파라미터 세트(Sequence Parameter Set) 또는 다른 신택스 구조 내에 제공될 수 있다.
NAT 단위들은 비디오 코딩 계층(Video Coding Layer: VCL) NAL 단위 및 비 VCL(non-VCL) NAL 단위로 범주화될 수 있다. VCL NAL 단위는 통상적으로 코딩된 슬라이스 NAL 단위이다. H.264/AVC에서, 코딩된 슬라이스 NAL 단위는 압축되지 않은 픽처 내의 샘플의 블록에 각각 대응하는 하나 이상의 코딩된 매크로블록을 나타내는 신택스 요소를 포함한다. HEVC 표준 초안에서, 코딩된 슬라이스 NAL 단위는 하나 이상의 CU를 나타내는 신택스 요소를 포함한다.
H.264/AVC에서 코딩된 슬라이스 NAL 단위는 순시 디코딩 리프레시(Instantaneous Decoding Refresh: IDR) 픽처 내의 코딩된 슬라이스 또는 비 IDR(non-IDR) 픽처 내의 코딩된 슬라이스라고 표시될 수 있다.
HEVC 표준 초안에서, 코딩된 슬라이스 NAL 단위는 다음 유형 중 하나라고 표시될 수 있다.
Figure pct00001
HEVC 표준 초안에서, 픽처 유형에 대한 약어는 다음과 같이 정의될 수 있다: 단절된 링크 액세스(Broken Link Access: BLA), 클린 랜덤 액세스(Clean Random Access: CRA), 디코딩가능한 리딩 픽처(Decodable Leading Picture: DLP), 순시 디코딩 리프레시(Instantaneous Decoding Refresh: IDR), 랜덤 액세스 포인트(Random Access Point: RAP), 단계별 시간적 서브계층 액세스(Stepwise Temporal Sub-layer Access: STSA), 폐기를 위하여 태깅됨(Tagged For Discard: TFD), 시간적 서브계층 액세스(Temporal Sub-layer Access). BLA_W_TFD와 동일한 nal_unit_type을 갖는 BLA 픽처는 비트스트림 내에 존재하는 연관된 TFD 픽처를 갖게 된다. BLA_W_DLP와 동일한 nal_unit_type을 갖는 BLA 픽처는 비트스트림 내에 존재하는 연관된 TFD 픽처를 갖지 아니하나, 비트스트림 내의 연관된 DLP 픽처를 가질 수 있다. BLA_N_LP와 동일한 nal_unit_type을 갖는 BLA 픽처는 비트스트림 내에 존재하는 연관된 리딩 픽처를 갖지 않는다. IDR_N_LP와 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림 내에 존재하는 연관된 리딩 픽처를 갖지 않는다. IDR_W_LP와 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림 내에 존재하는 연관된 TFD 픽처를 갖지 아니하나, 비트스트램 내의 연관된 DLP 픽처를 가질 수 있다. nal_unit_type의 값이 TRAIL_N, TSA_N 또는 STSA_N과 동일한 경우, 디코딩된 픽처는 동일한 시간적 서브계층의 임의의 다른 픽처를 위한 참조로서 사용되지 않는다. 즉, HEVC 표준 초안에서, nal_unit_type의 값이 TRAIL_N, TSA_N 또는 STSA_N과 동일한 경우, 디코딩된 픽처는 TemporalId의 동일한 값을 갖는 임의의 픽처의 RefPicSetStCurrBefore, RefPicSetStCurrAfter 및 RefPicSetLtCurr 중 어느 것에도 포함되지 않는다. nal_unit_type이 TRAIL_N, TSA_N 또는 STSA_N과 동일한 코딩된 픽처는 TemporalId의 동일한 값을 갖는 다른 픽처의 디코딩가능성(decodability)에 영향을 주지 않고 폐기될 수 있다. 위의 표에서, RAP 픽처들은 포괄적(inclusive)으로 7에서 12의 범위 내의 nal_unit_type을 갖는 것들이다. 비트스트림 내의 첫 번째 픽처가 아닌 각 픽처는 디코딩 순서에서 이전 RAP 픽처와 연관된 것으로 간주된다. 리딩 픽처(leading picture)는 출력 순서에서 연관된 RAP 픽처를 선행하는 픽처로 정의될 수 있다. 리딩 픽처인 임의의 픽처는 DLP_NUT 또는 TFD_NUT와 동일한 nal_unit_type을 가진다. 트레일링 픽처(trailing picture)는 출력 순서에서 연관된 RAP 픽처에 후속하는 픽처로 정의될 수 있다. 트레일링 픽처인 임의의 픽처는 DLP_NUT 또는 TFD_NUT와 동일한 nal_unit_type을 가지지 않는다. 리딩 픽처인 임의의 픽처는, 디코딩 순서에서, 동일한 RAP 픽처와 연관된 모든 트레일링 픽처를 선행하도록 제한될 수 있다. BLA_W_DLP 또는 BLA_N_LP와 동일한 nal_unit_type을 갖는 BLA 픽처와 연관된 어떠한 TFD 픽처도 비트스트림 내에 존재하지 않는다. BLA_N_LP와 동일한 nal_unit_type을 갖는 BLA 픽처와 연관되거나 IDR_N_LP와 동일한 nal_unit_type을 갖는 IDR 픽처와 연관된 어떠한 DLP 픽처도 비트스트림 내에 존재하지 않는다. CRA 또는 BLA 픽처와 연관된 임의의 TFD 픽처는 그 CRA 또는 BLA 픽처와 연관된 임의의 DLP 픽처를 출력 순서에서 선행하도록 제한될 수 있다. CRA 픽처와 연관된 임의의 TFD 픽처는, 출력 순서에서, 그 CRA 픽처를 디코딩 순서에서 선행하는 임의의 다른 RAP 픽처에 후속하도록 제한될 수 있다.
HEVC 표준 초안의 픽처 유형을 기술하는 다른 수단이 다음에서 제공된다. 아래의 표에 예시된 바와 같이, 픽처 유형은 HEVC에서 다음의 그룹으로 분류될 수 있다: a) 랜덤 액세스 포인트 (RAP) 픽처, b) 리딩 픽처, c) 서브계층 액세스 픽처 및 D) 언급된 세 그룹에 속하지 않는 픽처. 아래의 표에 기술된 픽처 유형 및 그 서브유형은 HEVC에서 NAL 단위 유형에 의해 식별된다. RAP 픽처 유형은 IDR 픽처, BLA 픽처 및 CRA 픽처를 포함하고, 아래의 표에 표시된 바와 같이 그것들과 연관된 리딩 픽처에 기초하여 또한 특징지어질 수 있다.
Figure pct00002
HEVC 내의 CRA 픽처는 디코딩 순서에서 CRA 픽처에 후속하나 출력 순서에서 그에 선행하는 픽처를 허용하여 CRA 픽처 전에 디코딩된 픽처들을 참조로서 사용하고 IDR 픽처처럼 유사한 클린 랜덤 액세스 기능을 여전히 허용한다. 디코딩 및 출력 순서 모두에서 CRA 픽처에 후속하는 픽처들은 CRA 픽처에서 랜덤 액세스가 가능한 경우 디코딩가능하고, 따라서 클린 랜덤 액세스가 달성된다.
디코딩 순서에서 CRA 픽처에 선행하는 임의의 픽처를 참조하지 않는, CRA 픽처의 리딩 픽처는 디코딩이 CRA 픽처로부터 시작하는 경우 정확히 디코딩될 수 있고 따라서 DLP 픽처이다. 반면에, TFD 픽처는 디코딩이 TFD 픽처와 연관된 CRA 픽처로부터 시작하는 경우 정확히 디코딩될 수 없(으나 디코딩이 현재의 CRA 픽처 전의 RAP 픽처로부터 시작한다면 TFD 픽처는 정확히 디코딩될 수 있을 것이)다. 그러므로, CRA와 연관된 TFD 픽처는 디코딩이 CRA 픽처로부터 시작하는 경우 폐기될 수 있다.
CRA 픽처로부터 시작하는 비트스트림의 일부가 다른 비트스트림에 포함된 경우, CRA 픽처와 연관된 TFD 픽처는 디코딩될 수 없는데, 조합된 비트스트림 내에 이 참조 픽처들 중 일부가 존재하지 않기 때문이다. 그러한 스플라이싱 동작(splicing operation)을 간단하게 하기 위하여, CRA 픽처의 NAL 단위 유형은 그것이 BLA 픽처임을 나타내기 위하여 변경될 수 있다. BLA 픽처와 연관된 TFD 픽처는 정확히 디코딩가능하지 않을 수 있고 따라서 출력/디스플레이되지 않아야 한다. BLA 픽처와 연관된 TFD 픽처는 디코딩에서 생략될 수 있다.
HEVC에서 시간적 서브계층 스위칭 포인트(temporal sub-layer switching point)들을 나타내기 위하여 사용될 수 있는 두 픽처 유형, TSA 및 STSA 픽처 유형이 있다. TemporalId가 N까지인 시간적 서브계층이 TSA 또는 STSA 픽처(배타적임(exclusive))까지 디코딩되었고 TSA 또는 STSA 픽처가 N+1과 동일한 TemporalID를 갖는 경우, TSA 또는 STSA 픽처는 N+1과 동일한 TemporalID를 갖는 (디코딩 순서로) 차후의 픽처 모두의 디코딩을 가능하게 한다. TSA 픽처 유형은 동일한 서브계층 내에서 디코딩 순서로 TSA 픽처에 후속하는 모든 픽처 및 TSA 픽처 자신에 대해 제한을 부과할 수 있다. 이 픽처들 중 어느 것도 동일한 서브계층 내에서 디코딩 순서로 TSA 픽처에 선행하는 임의의 픽처로부터 인터 예측을 사용하도록 허용되지 않는다. TSA 정의는 또한 더 높은 서브계층 내에서 디코딩 순서로 TSA 픽처에 후속하는 픽처에 대해 제한을 부과할 수 있다. 이 픽처들 중 어느 것도 디코딩 순서로 TSA 픽처에 선행하는 픽처를 참조하는 것은, 만약 그 픽처가 TSA 픽처와 동일하거나 더 높은 서브계층에 속한다면, 허용되지 않는다. TSA 픽처는 0보다 큰 TemporalID를 가진다. STSA는 TSA 픽처와 유사하나 더 높은 서브계층에서 디코딩 순서로 STSA 픽처에 후속하고 따라서 STSA 픽처가 있는 서브계층 상으로만의 업스위칭(up-switching)을 가능하게 하는 픽처에 대해 제한을 부과하지 않는다.
비 VCL NAL 단위는 가령 다음 유형 중 하나일 수 있다: 시퀀스 파라미터 세트, 픽처 파라미터 세트, 보충적 향상 정보(Supplemental Enhancement Information: SEI) NAL 단위, 액세스 단위 구분자(access unit delimiter), 시퀀스 NAL 단위의 말단, 스트림 NAL 단위의 말단 또는 필러 데이터(filler data) NAL 단위. 파라미터 세트는 디코딩된 픽처의 재구성을 위해 필요할 수 있는 반면, 다른 비 VCL NAL 단위 중 다수는 디코딩된 샘플 값의 재구성을 위해 필요하지 않다.
코딩된 비디오 시퀀스를 거쳐 계속 바뀌지 않은 채 있는 파라미터는 시퀀스 파라미터 세트에 포함될 수 있다. 디코딩 프로세스가 필요로 할 수 있는 파라미터뿐만 아니라, 시퀀스 파라미터 세트는 비디오 유용성 정보(Video Usability Information: VUI)를 선택적으로 포함할 수 있는데, 이는 버퍼링(buffering), 픽처 출력 타이밍(picture output timing), 렌더링(rendering) 및 리소스 예비(resource reservation)를 위해 중요할 수 있는 파라미터를 포함한다. 시퀀스 파라미터 세트를 전달하도록 H.264/AVC에 명시된 세 개의 NAL 단위가 있다: 시퀀스 내의 H.264/AVC VCL NAL 단위를 위한 모든 데이터를 포함하는 시퀀스 파라미터 세트 NAL 단위(7과 동일한 NAL 단위 유형을 가짐), 보조(auxiliary) 코딩된 픽처를 위한 데이터를 포함하는 시퀀스 파라미터 세트 확장 NAL 단위, 그리고 MVC 및 SVC VCL NAL 단위를 위한 서브세트 시퀀스 파라미터 세트. (7과 동일한 NAL 단위 유형을 가지는) H.264/AVC의 시퀀스 파라미터 세트 NAL 단위에 포함되는 신택스 구조는 시퀀스 파라미터 세트 데이터 seq_parameter_set_data 또는 기반 SPS 데이터(base SPS data)로 지칭될 수 있다. 예를 들어, 프로파일(profile), 레벨(level), 픽처 크기 및 크로마 샘플링 포맷은 기반 SPS 데이터에 포함될 수 있다. 픽처 파라미터 세트는 여러 코딩된 픽처 내에서 변경되지 않을 것 같은 그러한 파라미터를 포함한다.
HEVC 초안에는, 여기서 적응 파라미터 세트(Adaptation Parameter Set: APS)로 지칭되는 다른 유형의 파라미터 세트도 있는데, 이는 여러 코딩된 슬라이스 내에서 변경되지 않을 듯하나 가령 픽처 각각 또는 약간의 픽처 각각에 대하여 변경될 수는 있는 파라미터를 포함한다. HEVC 초안에서, APS 신택스 구조는 양자화 매트릭스(Quantization Matrix: QM)들, 적응적 샘플 오프셋(Adaptive Sample Offset: SAO), 적응적 루프 필터링(Adaptive Loop Filtering: ALF) 및 비블록화 필터링(deblocking filtering)에 관련된 신택스 요소들 또는 파라미터들을 포함한다. HEVC 초안에서, APS는 NAL 단위이고 임의의 다른 NAL 단위로부터의 예측 또는 참조 없이 코딩된다. aps_id 신택스 구조로 지칭되는 식별자가 APS NAL 단위에 포함되고, 특정 APS를 참조하는 슬라이스 헤더에 포함되어 사용된다.
HEVC 표준 초안은 비디오 파라미터 세트(Video Parameter Set: VPS)라 불리는 파라미터 세트의 또 다른 유형을 포함하는데, 이는 가령 문서 JCTVC-H0388(http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H0388-v4.zip)에서 제안되었다. 비디오 파라미터 세트 RBSP는 하나 이상의 시퀀스 파라미터 세트 RBSP에 의해 참조될 수 있는 파라미터를 포함할 수 있다.
VPS, SPS 및 PPS 간의 관계 및 계층구조는 다음과 같이 기술될 수 있다. VPS는 파라미터 세트 계층구조 한 수준 위에 그리고 스케일가능성 및/또는 3DV의 맥락에 있다. VPS는 코딩된 비디오 시퀀스 전체 내의 모든 (스케일가능성 또는 뷰) 계층에 걸쳐 모든 슬라이스에 대해 공통인 파라미터를 포함할 수 있다. SPS는 코딩된 비디오 시퀀스 전체 내의 특정 (스케일가능성 또는 뷰) 계층 내의 모든 슬라이스에 대해 공통인 파라미터를 포함하고, 다수의 (스케일가능성 또는 뷰) 계층에 의해 공유될 수 있다. PPS는 특정 계층 표현(하나의 액세스 단위 내의 하나의 스케일가능성 또는 뷰 계층의 표현) 내의 모든 슬라이스에 대해 공통인 파라미터를 포함하며, 다수의 계층 표현 내의 모든 슬라이스에 의해 공유될 가능성이 있다.
VPS는 코딩된 비디오 시퀀스 전체 내의 모든 (스케일가능성 및 뷰) 계층에 걸쳐 모든 슬라이스에 대해 적용가능한 많은 다른 정보뿐만 아니라, 비트스트림 내의 계층들의 의존 관계에 관한 정보를 제공할 수 있다. HEVC의 스케일가능 확장(scalable extension)에서, 예컨대 VPS는, 가령 SVC 및 MVC와 유사하게 정의된 계층에 대한 depth_flag, view_id, quality_id 및 dependency_id에 대응하는 하나 이상의 스케일가능성 치수 값으로, NAL 단위 헤더로부터 도출되는 LayerId 값을 맵핑하는 것을 포함할 수 있다. VPS는 계층 표현의 하나 이상의 시간적 서브계층(소정의 TemporalId 값 이하에서 VCL NAL 단위로 이루어짐)에 대한 프로파일 및/또는 레벨뿐만 아니라 하나 이상의 계층에 대한 프로파일 및 레벨 정보를 포함할 수 있다.
H.264/AVC 및 HEVC 신택스(syntax)는 파라미터 세트의 많은 인스턴스를 허용하고, 각 인스턴스는 고유한 식별자로써 식별된다. 파라미터 세트에 필요한 메모리 사용(memory usage)을 한정하기 위하여, 파라미터 세트 식별자를 위한 값 범위가 한정되었다. H.264/AVC 및 HEVC 표준 초안에서, 각 슬라이스 헤더는 슬라이스를 포함하는 픽처의 디코딩을 위하여 활성(active)인 픽처 파라미터 세트의 식별자를 포함하고, 각 픽처 파라미터 세트는 활성 시퀀스 파라미터 세트의 식별자를 포함한다. HEVC 표준에서, 슬라이스 헤더는 추가적으로 APS 식별자를 포함한다. 따라서, 픽처 및 시퀀스 파라미터 세트들의 전송은 슬라이스의 전송과 정확히 동기화될(synchronized) 필요는 없다. 대신에, 활성 시퀀스 및 픽처 파라미터 세트들은 그들이 참조되기 전 임의의 순간에 수신되는 것으로 충분한데, 이는 슬라이스 데이터를 위해 사용되는 프로토콜에 비해 더욱 신뢰할 만한 전송 메커니즘을 사용하여 "대역외"(out-of-band)로 파라미터 세트의 전송이 되도록 한다. 예를 들어, 파라미터 세트가 실시간 전송 프로토콜(Realtime Transport Protocol: RTP) 세션을 위한 세션 기술(session description) 내의 파라미터로서 포함될 수 있다. 파라미터 세트가 대역내(in-band)로 전송되는 경우, 오차 강인성(error robustness)를 개선하기 위해 그것들이 반복될 수 있다.
파라미터 세트는 슬라이스로부터 또는 다른 활성 파라미터 세트로부터 또는 몇몇 경우에는 버퍼링 주기 SEI 메시지(buffering period SEI message)와 같은 다른 신택스 구조로부터 참조에 의해 활성화될(activated) 수 있다. 이하에서, HEVC 표준 초안에서의 파라미터 세트의 활성화의 비한정적 예들이 주어진다.
각 적응 파라미터 세트 RBSP가 초기에는 디코딩 프로세스의 동작의 시작에서 활성이 아니라고 간주된다. 최대 하나의 적응 파라미터 세트 RBSP가 디코딩 프로세스의 동작 중 임의의 주어진 순간에 활성이라고 간주되고, 임의의 특정한 적응 파라미터 세트 RBSP의 활성화는 이전에 활성인(previously-active) 적응 파라미터 세트 RBSP(만약 있다면)의 비활성화(deactivation)를 초래한다.
(aps_id의 특정 값에 대해) 적응 파라미터 세트 RBSP가 활성이 아니고 그것이 코딩된 슬라이스 NAL 단위에 의해 (aps_id의 그 값을 이용하여) 참조되는 경우, 그것은 활성화된다. 이 적응 파라미터 세트 RBSP는 다른 적응 파라미터 세트 RBSP의 활성화에 의하여 그것이 비활성화될 때까지 활성 적응 파라미터 세트 RBSP라고 불린다. aps_id의 그 특정 값과 함께, 적응 파라미터 세트 RBSP는, 그 적응 파라미터 세트가 외부 수단(external means)을 통해 제공되지 않는 한, temporal_id가 적응 파라미터 세트 NAL 단위의 temporal_id와 동일하거나 그보다 작은 적어도 하나의 액세스 단위에 포함되어, 그것의 활성화 전의 디코딩 프로세스에게는 이용가능한 것이다.
각 픽처 파라미터 세트 RBSP가 초기에는 디코딩 프로세스의 동작의 시작에서 활성이 아니라고 간주된다. 최대 하나의 픽처 파라미터 세트 RBSP가 디코딩 프로세스의 동작 중 임의의 주어진 순간에 활성이라고 간주되고, 임의의 특정한 픽처 파라미터 세트 RBSP의 활성화는 이전에 활성인 픽처 파라미터 세트 RBSP(만약 있다면)의 비활성화를 초래한다.
(pic_parameter_set_id의 특정 값에 대해) 픽처 파라미터 세트 RBSP가 활성이 아니고 그것이 코딩된 슬라이스 NAL 단위 또는 코딩된 슬라이스 데이터 파티션 A NAL 단위에 의해 (pic_parameter_set_id의 그 값을 이용하여) 참조되는 경우, 그것은 활성화된다. 이 픽처 파라미터 세트 RBSP는 다른 픽처 파라미터 세트 RBSP의 활성화에 의하여 그것이 비활성화될 때까지 활성 픽처 파라미터 세트 RBSP라고 불린다. pic_parameter_set_id의 그 특정 값과 함께, 픽처 파라미터 세트 RBSP는, 그 픽처 파라미터 세트가 외부 수단을 통해 제공되지 않는 한, temporal_id가 픽처 파라미터 세트 NAL 단위의 temporal_id와 동일하거나 그보다 작은 적어도 하나의 액세스 단위에 포함되어, 그것의 활성화 전의 디코딩 프로세스에게는 이용가능한 것이다.
각 시퀀스 파라미터 세트 RBSP가 초기에는 디코딩 프로세스의 동작의 시작에서 활성이 아니라고 간주된다. 최대 하나의 시퀀스 파라미터 세트 RBSP가 디코딩 프로세스의 동작 중 임의의 주어진 순간에 활성이라고 간주되고, 임의의 특정한 시퀀스 파라미터 세트 RBSP의 활성화는 이전에 활성인 시퀀스 파라미터 세트 RBSP(만약 있다면)의 비활성화를 초래한다.
(seq_parameter_set_id의 특정 값에 대해) 시퀀스 파라미터 세트 RBSP가 아직 활성이 아니고 그것이 픽처 파라미터 세트 RBSP의 활성화에 의해 (seq_parameter_set_id의 그 값을 이용하여) 참조되거나 버퍼링 주기 SEI 메시지를 포함하는 SEI NAL 단위에 의해 (seq_parameter_set_id의 그 값을 이용하여) 참조되는 경우, 그것은 활성화된다. 이 시퀀스 파라미터 세트 RBSP는 다른 시퀀스 파라미터 세트 RBSP의 활성화에 의하여 그것이 비활성화될 때까지 활성 시퀀스 파라미터 세트 RBSP라고 불린다. seq_parameter_set_id의 그 특정 값과 함께, 시퀀스 파라미터 세트 RBSP는, 그 시퀀스 파라미터 세트가 외부 수단을 통해 제공되지 않는 한, temporal_id가 0과 동일한 적어도 하나의 액세스 단위에 포함되어, 그것의 활성화 전의 디코딩 프로세스에게는 이용가능한 것이다. 활성화된 시퀀스 파라미터 세트 RBSP는 코딩된 비디오 시퀀스 전체에 대해 여전히 활성이다.
각 비디오 파라미터 세트 RBSP가 초기에는 디코딩 프로세스의 동작의 시작에서 활성이 아니라고 간주된다. 최대 하나의 비디오 파라미터 세트 RBSP가 디코딩 프로세스의 동작 중 임의의 주어진 순간에 활성이라고 간주되고, 임의의 특정한 비디오 파라미터 세트 RBSP의 활성화는 이전에 활성인 비디오 파라미터 세트 RBSP(만약 있다면)의 비활성화를 초래한다.
(video_parameter_set_id의 특정 값에 대해) 비디오 파라미터 세트 RBSP가 아직 활성이 아니고 그것이 시퀀스 파라미터 세트 RBSP의 활성화에 의해 (video_parameter_set_id의 그 값을 이용하여) 참조되는 경우, 그것은 활성화된다. 이 비디오 파라미터 세트 RBSP는 다른 비디오 파라미터 세트 RBSP의 활성화에 의하여 그것이 비활성화될 때까지 활성 비디오 파라미터 세트 RBSP라고 불린다. video_parameter_set_id의 그 특정 값과 함께, 비디오 파라미터 세트 RBSP는, 그 비디오 파라미터 세트가 외부 수단을 통해 제공되지 않는 한, temporal_id가 0과 동일한 적어도 하나의 액세스 단위에 포함되어, 그것의 활성화 전의 디코딩 프로세스에게는 이용가능한 것이다. 활성화된 비디오 파라미터 세트 RBSP는 코딩된 비디오 시퀀스 전체에 대해 여전히 활성이다.
HEVC 표준 초안에서의 디코딩 프로세스의 동작 동안, 활성 비디오 파라미터 세트, 활성 시퀀스 파라미터 세트, 활성 픽처 파라미터 세트 RBSP 및 활성 적응 파라미터 세트 RBSP의 파라미터의 값은 유효로(in effect) 간주된다. SEI 메시지의 해석을 위하여, 동일한 액세스 단위 내의 코딩된 픽처의 VCL NAL 단위를 위한 디코딩 프로세스의 동작을 위한 활성 비디오 파라미터 세트, 활성 시퀀스 파라미터 세트, 활성 픽처 파라미터 세트 RBSP 및 활성 적응 파라미터 세트 RBSP의 값은 SEI 메시지 시맨틱스에 달리 명시되지 않는 한 유효로 간주된다.
SEI NAL 단위는, 출력 픽처의 디코딩에 요구되지 않으나 가령 픽처 출력 타이밍, 렌더링, 에러 검출(error detection), 에러 은닉(error concealment) 및 리소스 예비(resource reservation)와 같은 관련된 프로세스에 도움이 될 수 있는 하나 이상의 SEI 메시지를 포함할 수 있다. 여러 SEI 메시지들이 H.264/AVC 및 HEVC에 명시되고, 사용자 데이터 SEI 메시지(user data SEI message)들이 기구 및 회사들로 하여금 그들 자신의 사용을 위해 SEI 메시지들을 지정할 수 있게 한다. H.264/AVC 및 HEVC는 지정된 SEI 메시지를 위한 신택스 및 시맨틱스를 포함하나 수신자에서 그 메시지들을 다루기 위한 어떠한 프로세스도 정의되지는 않는다. 따라서, 인코더는 SEI 메시지들을 생성하는 경우에 H.264/AVC 표준 또는 HEVC 표준을 따르는 것이 요구되고, H.264/AVC 표준 또는 HEVC 표준에 각각 따르는 디코더가 출력 순서 적합성(output order conformance)를 위해 SEI 메시지들을 처리할 것이 요구되는 것은 아니다. H.264/AVC 및 HEVC에 SEI 메시지의 신택스 및 시맨틱스를 포함시키는 이유 중 하나는 상이한 시스템 규격이 보충적 정보를 동일하게 해석하여서 상호동작(interoperate)하게 하는 것이다. 시스템 규격이 인코딩 단부 및 디코딩 단부 모두에서 특정 SEI 메시지의 사용을 요구할 수 있고, 추가적으로 수신자에서 특정 SEI 메시지들을 다루기 위한 프로세스가 지정될 수 있다는 점이 의도된 것이다.
코딩된 픽처는 픽처의 코딩된 표현이다. H.264/AVC 내의 코딩된 픽처는 그 픽처의 디코딩을 위해 요구되는 VCL NAL 단위를 포함한다. H.264/AVC에서, 코딩된 픽처는 주요 코딩된 픽처(primary coded picture) 또는 중복적 코딩된 픽처(redundant coded picture)일 수 있다. 주요 코딩된 픽처는 유효한 비트스트림의 디코딩 프로세스에서 사용되는 반면, 중복적 코딩된 픽처는 주요 코딩된 픽처가 성공적으로 디코딩될 수 없는 경우에 디코딩되어야 할 뿐인 중복적 표현(redundant representation)이다. HEVC 초안에서는 어떠한 중복적 코딩된 픽처도 지정되지 않았다.
H.264/AVC 및 HEVC에서, 액세스 단위는 주요 코딩된 픽처 및 그것과 연관된 NAL 단위를 포함한다. H.264/AVC에서, 액세스 단위 내의 NAL 단위의 출현 순서는 다음과 같이 제한된다. 선택적인 액세스 단위 구분자 NAL 단위(optional access unit delimiter NAL unit)가 액세스 단위의 시작을 나타낼 수 있다. 0개 이상의 SEI NAL 단위가 그것을 뒤따른다. 주요 코딩된 픽처의 코딩된 슬라이스가 다음에 나타난다. H.264/AVC에서, 주요 코딩된 픽처의 코딩된 슬라이스의 뒤에는 0개 이상의 중복적 코딩된 픽처를 위한 코딩된 슬라이스가 따라올 수 있다. 중복적 코딩된 픽처는 픽처 또는 픽처의 일부의 코딩된 표현이다. 중복적 코딩된 픽처는 가령 전송에서의 손실 또는 물리적 저장 매체 내의 오손(corruption)로 인하여 디코더에 의해 주요 코딩된 픽처가 수신되지 않는 경우에 디코딩될 수 있다.
H.264/AVC에서, 액세스 단위는 주요 코딩된 픽처를 보충하는 픽처이자 가령 디스플레이 프로세스에서 사용될 수 있는 픽처인 보조적 코딩된 픽처(auxiliary coded picture)를 또한 포함할 수 있다. 보조적 코딩된 픽처는 가령 디코딩된 픽처 내의 샘플의 투명도 레벨(transparency level)을 지정하는 알파 채널(alpha channel) 또는 알파 평면(alpha plane)으로서 사용될 수 있다. 알파 채널 내지 평면은 서로의 위에서 적어도 부분적으로 투명한 픽처들을 중첩시키는 것(overlaying)에 의해 출력 픽처가 형성되는 계층화된 콤포지션 또는 렌더링 시스템(layered composition or rendering system)에서 사용될 수 있다. 보조적 코딩된 픽처는 모노크롬 중복적 코딩된 픽처(monochrome redundant coded picture)와 동일한 신택스 및 시맨틱스의 제한(syntactic and semantic restriction)들을 가진다. H.264/AVC에서, 보조적 코딩된 픽처는 주요 코딩된 픽처와 동일한 개수의 매크로블록을 포함한다.
H.264/AVC에서, 코딩된 비디오 시퀀스는 IDR 액세스 단위로부터(포괄적으로) 다음 IDR 액세스 단위(배타적으로)까지 또는 비트스트림의 종단까지, 어느 쪽이든 먼저 나타나는 것까지의 디코딩 순서에서 연속적인(consecutive) 액세스 단위의 시퀀스라고 정의된다. HEVC 표준 초안에서, 코딩된 비디오 시퀀스는, 디코딩 순서로, 비트스트림 내의 첫 번째 액세스 단위인 CRA 액세스 단위, 임의의 후속 IDR 또는 BLA 액세스 단위까지이나 이를 포함하지 않는 모든 후속 액세스 단위를 포함하는 0개 이상의 비 IDR 및 비 BLA 액세스 단위가 뒤따르는 IDR 액세스 단위 또는 BLA 액세스 단위로 이루어지는 액세스 단위의 시퀀스라고 정의된다.
픽처의 그룹(Group of Pictures: GOP) 및 그 특성은 다음과 같이 정의될 수 있다. GOP는 임의의 이전 픽처가 디코딩되었는지 여부에 상관없이 디코딩될 수 있다. 개방 GOP(open GOP)는 디코딩이 그 개방 GOP의 초기 인트라 픽처(intra picture)로부터 시작하는 경우 출력 순서로 초기 인트라 픽처에 선행하는 픽처가 정확히 디코딩가능하지 않을 수도 있는 그러한 픽처의 그룹이다. 다시 말해, 개방 GOP의 픽처는 (인터 예측에서) 이전의 GOP에 속한 픽처를 참조할 수 있다. H.264/AVC 디코더는 H.264/AVC 비트스트림 내의 복구 지점 SEI 메시지(recovery point SEI message)로부터 개방 GOP를 개시하는 인트라 픽처를 인식할 수 있다. HEVC 디코더는 개방 GOP를 개시하는 인트라 픽처를 인식할 수 있는데, 이는 특정한 NAL 단위 유형인 CRA NAL 단위 유형이 그것의 코딩된 슬라이스를 위해 사용되기 때문이다. 폐쇄 GOP(closed GOP)는 디코딩이 그 폐쇄 GOP의 초기 인트라 픽처로부터 시작하는 경우 모든 픽처가 정확히 디코딩될 수 있는 그러한 픽처의 그룹이다. 다시 말해, 폐쇄 GOP 내의 어떠한 픽처도 이전 GOP 내의 임의의 픽처를 참조하지 않는다. H.264/AVC 및 HEVC에서, 폐쇄 GOP는 IDR 액세스 단위로부터 시작한다. HEVC에서 폐쇄 GOP는 또한 BLA_W_DLP 또는 BLA_N_LP 픽처로부터 시작할 수 있다. 결과적으로, 폐쇄 GOP 구조는 개방 GOP 구조에 비해 더 많은 에러 회복성 잠재력(error resilience potential)을 가지나, 압축 효율에서 있을 수 있는 감소를 희생한다. 참조 픽처의 선택에서의 더 많은 융통성(flexibility)으로 인해, 개방 GOP 코딩 구조는 압축에서 잠재적으로 더 효율적이다.
픽처의 구조(Structure of Pictures: SOP)는 디코딩 순서에서 연속적인 하나 이상의 코딩된 픽처로 정의될 수 있는데, 여기서 디코딩 순서로 첫 번째 코딩된 픽처는 최하의 시간적 서브계층에서의 참조 픽처이고 디코딩 순서로 잠재적으로 첫 번째 코딩된 픽처를 제외한 어떠한 코딩된 픽처도 RAP 픽처가 아니다. 그 픽처들의 상대적인 디코딩 순서는 그 픽처들 내부의 숫자들에 의해 보여진다. 이전의 SOP 내의 임의의 픽처가 현재의 SOP 내의 임의의 픽처보다 더 작은 디코딩 순서를 가지며 다음의 SOP 내의 임의의 픽처가 현재의 SOP 내의 임의의 픽처보다 더 큰 디코딩 순서를 가진다. 픽처의 그룹(GOP)라는 용어는 종종 SOP라는 용어와 호환가능하게 사용될 수 있고 앞서 기술된 폐쇄 또는 개방 GOP의 시맨틱스보다는 SOP의 시맨틱스와 동일한 시맨틱스를 가진다.
H.264/AVC 및 HEVC의 비트스트림 신택스는 특정 픽처가 임의의 다른 픽처의 인터 예측을 위한 참조 픽처인지 여부를 나타낸다. 임의의 코딩 유형 (I, P, B)의 픽처는 H.264/AVC 및 HEVC에서 참조 픽처 또는 비참조 픽처일 수 있다. H.264/AVC에서, NAL 단위 헤더는 NAL 단위의 유형, 그리고 NAL 단위에 포함된 코딩된 슬라이스가 참조 픽처 또는 비참조 픽처의 일부인지 여부를 나타낸다.
H.264/AVC 및 HEVC를 포함하여 많은 하이브리드 비디오 코덱(hybrid video codec)들은 비디오 정보를 두 단계로 인코딩한다. 첫 번째 단계에서, 어떤 픽처 영역 또는 "블록" 내의 픽셀 또는 샘플 값이 예측된다. 이 픽셀 또는 샘플 값은 가령 움직임 보상 메커니즘에 의해 예측될 수 있는데, 이는 코딩되는 블록에 딱 대응하는 이전에 인코딩된 비디오 프레임 중 하나 내의 영역을 찾고 나타내는 것을 수반한다. 추가적으로, 픽셀 또는 샘플 값은 공간적 지역 관계를 찾고 나타내는 것을 수반하는 공간적 메커니즘에 의해 예측될 수 있다.
이전에 코딩된 이미지로부터 이미지 정보를 사용하는 예측 접근법은 시간적 예측 및 움직임 보상으로 지칭될 수도 있는 인터 예측 방법이라고 불릴 수도 있다. 동일한 이미지 내의 이미지 정보를 사용하는 예측 접근법은 인트라 예측 방법이라고 불릴 수도 있다.
두 번째 단계는 픽셀 또는 샘플의 예측된 블록 및 픽셀 또는 샘플의 원래의 블록 간 에러를 코딩하는 것 중 하나이다. 이는 지정된 변환을 사용하여 픽셀 또는 샘플 값의 차이를 변환하는 것에 의하여 달성될 수 있다. 이 변환은 이산 코사인 변환(Discrete Cosine Transform: DCT) 또는 그것의 변종일 수 있다. 그러한 차이를 변환한 후, 변환된 차이는 양자화되고(quantized) 엔트로피 인코딩된다(entropy encoded).
양자화 프로세스의 충실도(fidelity)를 변화시킴으로써, 인코더는 픽셀 또는 샘플 표현의 정확성(즉, 픽처의 시각적 품질) 및 결과적인 인코딩된 비디오 표현의 크기(즉, 파일 크기 또는 전송 비트율(transmission bit rate)) 간의 균형을 제어할 수 있다.
디코더는 (인코더에 의해 생성되고 이미지의 압축된 표현으로 저장된 움직임 또는 공간적 정보를 사용하여) 픽셀 또는 샘플 블록의 예측된 표현을 형성하기 위하여 인코더에 의해 사용된 것과 유사한 예측 메커니즘 및 예측 에러 디코딩(공간적 도메인 내 양자화된 예측 에러 신호를 복구하기 위한 예측 에러 코딩의 역 동작(inverse operation))을 적용하는 것에 의해 출력 비디오를 재구성한다.
픽셀 또는 샘플 예측 및 에러 디코딩 프로세스를 적용한 후 디코더는 출력 비디오 프레임을 형성하도록 예측 및 예측 에러 신호(픽셀 또는 샘플 값)을 조합한다.
디코더 (및 인코더)는 출력 비디오의 품질을 개선하기 위하여 그것을 디스플레이를 위해 보내고/보내거나 비디오 시퀀스 내의 다음 번 픽처를 위한 예측 참조로서 저장하기 전에 추가적인 필터링 프로세스를 또한 적용할 수 있다.
H.264/AVC 및 HEVC를 포함하여 많은 비디오 코덱에서, 움직임 정보는 각각의 움직임 보상된 이미지 블록(motion compensated image block)과 연관된 움직임 벡터에 의해 나타내어진다. 이 모션 벡터 각각은 (인코더에서) 코딩되거나 (디코더에서) 디코딩될 픽처 내의 이미지 블록(image block) 및 이전에 코딩 또는 디코딩된 이미지 (또는 픽처) 중 하나 내의 예측 소스 블록(prediction source block)의 변위(displacement)를 나타낸다. 다른 많은 비디오 압축 표준과 같이, H.264/AVC 및 HEVC는 참조 픽처 중 하나 내의 유사한 블록이 인터 예측을 위하여 그 각각에 대하여 나타내어지는 사각형의 메쉬(mesh)로 픽처를 나눈다. 예측 블록의 로케이션(location)은 코딩되는 블록에 관련된 예측 블록의 위치(position)를 나타내는 움직임 벡터로서 코딩된다.
인터 예측 프로세스는 가령 다음 인자 중 하나 이상을 사용하여 특징지어질 수 있다.
움직임 벡터 표현의 정확도. 예를 들어, 움직임 벡터가 ¼ 픽셀(quarter-pixel) 정확도, ½ 픽셀(half-pixel) 정확도 또는 전 픽셀(full-pixel) 정확도의 것일 수 있고 유한 임펄스 응답(Finite Impulse Response: FIR) 필터를 사용하여 분획적 픽셀(fractional-pixel) 위치에서의 샘플 값이 획득될 수 있다.
인터 예측을 위한 블록 파티셔닝 . H.264/AVC 및 HEVC를 포함하여 많은 코딩 표준은 인코더에서의 움직임 보상된 예측을 위해 움직임 벡터가 적용되는 블록의 크기 및 형상의 선택과, 인코더에서 행해진 움직임 보상된 예측을 디코더가 재현할 수 있도록 선택된 크기 및 형상을 비트스트림 내에 나타내는 것을 허용한다.
인터 예측을 위한 참조 픽처의 개수. 인터 예측의 소스는 이전에 디코딩된 픽처이다. H.264/AVC 및 HEVC를 포함하여 많은 코딩 표준은 인터 예측을 위한 다수의 참조 픽처를 저장하는 것 및 사용되는 참조 픽처를 블록 기준으로(on a block basis) 선택하는 것을 가능하게 한다. 예를 들어, H.264/AVC에서는 매크로블록 또는 매크로블록 파티션 기준으로 그리고 HEVC에서는 PU 또는 CU 기준으로 참조 픽처가 선택될 수 있다. H.264/AVC 및 HEVC와 같은 많은 코딩 표준은 디코더로 하여금 하나 이상의 참조 픽처 리스트를 생성할 수 있게 하는 신택스 구조를 비트스트림에 포함시킨다. 참조 픽처 리스트에 대한 참조 픽처 인덱스(reference picture index)는 다수의 참조 픽처 중 어느 것이 특정 블록에 대한 인터 예측을 위해 사용되는지를 나타내도록 사용될 수 있다. 참조 픽처 인덱스는 몇몇 인터 코딩 모드에서 인코더에 의해 비트스트림으로 코딩될 수 있거나 가령 몇몇 다른 코딩 모드에서는 이웃한 블록을 사용하여 (인코더 및 디코더에 의해) 도출될 수 있다.
움직임 벡터 예측. 움직임 벡터를 효율적으로 비트스트림에 표현하기 위하여, 움직임 벡터는 블록 특정적인 예측된 움직임 벡터(block-specific predicted motion vector)에 관해서 차동적으로(differentially) 코딩될 수 있다. 많은 비디오 코덱에서, 예측된 움직임 벡터는 사전정의된 방식으로(예컨대, 인접한 블록의 인코딩된 또는 디코딩된 움직임 벡터의 중간값(median)을 계산하는 것에 의해) 생성된다. 움직임 벡터 예측을 생성하는 다른 방식은 시간적 참조 픽처 내의 인접 블록 및/또는 코로케이팅된(co-located) 블록으로부터 후보 예측의 리스트를 생성하고 선택된 후보를 움직임 벡터 예측자(motion vector predictor)로서 시그널링하는 것이다. 모션 벡터 값을 예측하는 것에 더하여, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 통상적으로 시간적 참조 픽처 내의 인접 블록 및/또는 코로케이팅된 블록으로부터 예측된다. 움직임 벡터의 차동 코딩(differential coding)은 슬라이스를 경계를 가로질러 통상적으로 불능화된다.
다중가설 움직임 보상된 예측(multi-hypothesis motion-compensated prediction). H.264/AVC 및 HEVC는 (본 명세서에서 단방향 예측(uni-predictive) 슬라이스라고도 지칭되는) P 슬라이스 내의 단일 예측 블록 또는 B 슬라이스라고도 지칭되는 쌍방향 예측(bi-predictive) 슬라이스를 위한 두 개의 움직임 보상된 예측 블록의 선형 조합의 사용을 가능하게 한다. B 슬라이스 내의 개개의 블록은 쌍방향 예측되거나(bi-predicted), 단방향 예측되거나(uni-predicted) 인트라 예측될(intra-predicted) 수 있고 P 슬라이스 내의 개개의 블록은 단방향 예측되거나 인트라 예측될 수 있다. 쌍방향 예측 픽처를 위한 참조 픽처는 출력 순서에서 이전 픽처 및 후속 픽처라고 한정되지 않을 수 있고, 오히려 임의의 참조 픽처가 사용될 수 있다. H.264/AVC 및 HEVC와 같은 많은 코딩 표준에서, 참조 픽처 리스트 0으로서 지칭되는 하나의 참조 픽처 리스트가 P 슬라이스를 위하여 구성되고, 두 개의 참조 픽처 리스트인 리스트 0 및 리스트 1이 B 슬라이스를 위해 구성된다. B 슬라이스에 대하여, 예측을 위한 참조 픽처가 서로에 대해 또는 현재의 픽처에 대해 임의의 디코딩 또는 출력 순서 관계를 가질 수 있으나, 순방향에서의 예측은 참조 픽처 리스트 0 내의 참조 픽처로부터의 예측을 지칭하고 역방향에서의 예측은 참조 픽처 리스트 1 내의 참조 픽처로부터의 예측을 지칭하는 경우이다.
가중 예측(weighted prediction). 많은 코딩 표준이 인터(P) 픽처의 예측 블록에 대하여 1 및 B 픽처의 각 예측 블록에 대하여 0.5(평균화를 초래함)라는 예측 가중치(prediction weight)를 사용한다. H.264/AVC는 P 및 B 슬라이스 모두에 대하여 가중 예측을 허용한다. 묵시적 가중 예측(implicit weighted prediction)에서 가중치들은 픽처 순서 카운트(picture order count)들에 비례하는 반면, 명시적 가중 예측(explicit weighted prediction)에서 예측 가중치들은 명시적으로 표시된다.
많은 비디오 코덱에서, 움직임 보상 후의 예측 잔차(prediction residual)는 우선 (DCT와 같은) 변환 커널(transform kernel)로써 변환되고 이어서 코딩된다. 이 이유는 종종 잔차 사이에 어떤 상관관계(correlation)가 여전히 존재하며 많은 경우에 변환이 이 상관관계를 줄이도록 도와 더 효율적인 코딩을 제공할 수 있다는 점이다.
HEVC 초안에서, 각 PU는 그것과 연관되며 어떤 종류의 예측이 그 PU 내의 픽셀들에 대해 적용될 것인지를 정의하는 예측 정보(예컨대, 인터 예측된 PU에 대한 움직임 벡터 정보 및 인트라 예측된 PU에 대한 인트라 예측 방향성 정보(intra prediction directionality information))를 갖는다. 마찬가지로 각 TU는 그 TU 내의 샘플들을 위한 예측 에러 디코딩 프로세스를 기술하는 정보(가령 DCT 계수 정보를 포함함)와 연관된다. 예측 에러 코딩이 각 CU에 대하여 적용되는지 아닌지는 CU 레벨에서 시그널링될 수 있다. CU와 연관된 어떠한 예측 에러 잔차도 없는 경우, CU에 대하여 어떠한 TU도 없다고 간주될 수 있다.
몇몇 코딩 포맷 및 코덱에서, 이른바 단기(short-term) 및 장기(long-term) 참조 픽처가 구별된다. 이 구별은 묵시적 가중 예측 또는 시간적 직접 모드(temporal direct mode)에서의 움직임 벡터 스케일링과 같은 몇몇 디코딩 프로세스에 영향을 미칠 수 있다. 만약 시간적 직접 모드를 위해 사용되는 참조 픽처 둘 다가 단기 참조 픽처인 경우, 예측에서 사용되는 움직임 벡터는 현재 픽처 및 각 참조 픽처 간의 픽처 순서 카운트(Picture Order Count: POC) 차이에 따라 스케일링될 수 있다. 그러나, 만약 시간적 직접 모드를 위한 적어도 하나의 참조 픽처가 장기 참조 픽처인 경우, 움직임 벡터의 디폴트(default) 스케일링이 사용될 수 있는데, 가령 움직임을 절반으로 스케일링하는 것이 사용될 수 있다. 마찬가지로, 단기 참조 픽처가 묵시적 가중 예측을 위해 사용되는 경우, 예측 가중치는 현재 픽처의 POC 및 참조 픽처의 POC 간의 POC 차이에 따라 스케일링 될 수 있다. 그러나, 장기 참조 픽처가 묵시적 가중 예측을 위해 사용되는 경우, 디폴트 예측 가중치(예컨대 쌍방향 예측된 블록에 대한 묵시적 가중 예측에서 0.5)가 사용될 수 있다.
H.264/AVC와 같은 몇몇 비디오 코딩 포맷은 frame_num 신택스 요소를 포함하는데, 이는 다수의 참조 픽처에 관련된 다양한 디코딩 프로세스를 위하여 사용된다. H.264/AVC에서, IDR 픽처를 위한 frame_num의 값은 0이다. 비 IDR 픽처를 위한 frame_num의 값은 디코딩 순서로 이전의 참조 픽처의 frame_num이 1만큼 증가된 것(모듈로 연산(modulo arithmetic)으로, 즉 frame_num의 값은 frame_num의 최대 값 후에 0으로 돌아감(wrap over))과 동일하다.
H.264/AVC 및 HEVC는 픽처 순서 카운트(Picture Order Count: POC)의 개념을 포함한다. POC의 값은 각 픽처에 대해 도출되고 출력 순서에서 증가하는 픽처 위치에 대해 비감소(non-decreasing)이다. 그러므로 POC는 픽처의 출력 순서를 나타낸다. POC는 가령 쌍방향 예측 슬라이스의 시간적 직접 모드에서 움직임 벡터의 묵시적 스케일링, 가중 예측에서 묵시적으로 도출된 가중치 및 참조 픽처 리스트 초기화를 위하여 디코딩 프로세스에서 사용될 수 있다. 나아가, POC는 출력 순서 적합성(output order conformance)의 확인에서 사용될 수 있다. H.264/AVC에서, POC는 이전 IDR 픽처 또는 모든 픽처를 "참조를 위해 사용되지 않음"(unused for reference)으로 마킹(marking)하는 메모리 관리 제어 동작을 포함하는 픽처와 관련하여 지정된다.
H.264/AVC는 디코더에서의 메모리 소비를 제어하기 위하여 디코딩된 참조 픽처 마킹(decoded reference picture marking)을 위한 프로세스를 명시한다. 인터 예측에 사용되는 참조 픽처의 최대 개수(M으로 지칭됨)는 시퀀스 파라미터 세트 내에 정해진다. 참조 픽처가 디코딩된 경우, 그것은 "참조를 위해 사용됨"(used for reference)으로 마킹된다. 참조 픽처의 디코딩이 "참조를 위해 사용됨"으로 마킹된 M개보다 많은 픽처를 유발한 경우, 적어도 하나의 픽처는 "참조를 위해 사용되지 않음"으로 마킹된다. 디코딩된 참조 픽처 마킹을 위한 두 가지 유형의 동작이 있다: 적응적 메모리 제어(adaptive memory control) 및 슬라이딩 윈도우(sliding window). 디코딩된 참조 픽처 마킹을 위한 동작 모드는 픽처 기준으로 선택된다. 적응적 메모리 제어는 어느 픽처가 "참조를 위해 사용되지 않음"으로 마킹되었는지 명시적으로 시그널링하는 것을 가능하게 하며 또한 장기 인덱스들(long-term indices)을 단기 참조 픽처들에 할당할 수 있다. 적응적 메모리 제어는 비트스트림 내의 메모리 관리 제어 동작(Memory Management Control Operation: MMCO) 파라미터의 존재를 요구할 수 있다. MMCO 파라미터는 디코딩된 참조 픽처 마킹 신택스 구조에 포함될 수 있다. 만약 슬라이딩 윈도우 동작 모드가 사용 중이고 "참조를 위해 사용됨"으로 마킹된 M개의 픽처가 있는 경우, "참조를 위해 사용됨"으로 마킹된 단기 참조 픽처 중 첫 디코딩된 픽처였던 단기 참조 픽처가 "참조를 위해 사용되지 않음"으로 마킹된다. 다시 말해, 슬라이딩 윈도우 동작 모드는 단기 참조 픽처 간 선입선출(first-in-first-out) 버퍼링 동작을 초래한다.
H.264/AVC에서의 메모리 관리 제어 동작 중 하나는 "참조를 위해 사용되지 않음"으로 마킹될 현재 픽처를 제외하고 모든 참조 픽처를 야기한다. 순시 디코딩 리프레시(Instantaneous Decoding Refresh: IDR) 픽처는 인트라 코딩된(intra-coded) 슬라이스만 포함하고 참조 픽처의 유사한 "리셋"(reset)을 야기한다.
HEVC 표준 초안에서, 참조 픽처 마킹 신택스 구조 및 관련된 디코딩 프로세스는 사용되지 않는 대신, 참조 픽처 세트(Reference Picture Set: RPS) 신택스 구조 및 디코딩 프로세스가 대신 유사한 목적을 위해 사용된다. 픽처에 대해 유효하거나 활성인 참조 픽처 세트는 그 픽처를 위한 참조로서 사용되는 모든 참조 픽처 및 디코딩 순서에서 후속적인 임의의 픽처를 위하여 "참조를 위해 사용됨"으로 마킹된 채 유지되는 모든 참조 픽처를 포함한다. 참조 픽처 세트의 5개의 서브세트가 있는데, 이들은 곧 RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, RefPicSetStFoll1, RefPicSetLtCurr 및 RefPicSetLtFoll으로 지칭된다. 6개의 서브세트의 표기법은 다음과 같다. "Curr"는 현재 픽처의 참조 픽처 리스트에 포함된 참조 픽처를 지칭하며 따라서 현재 픽처를 위한 인터 예측 참조로서 사용될 수 있다. "Foll"은 현재 픽처의 참조 픽처 리스트에 포함되지 않은 참조 픽처를 지칭하나 디코딩 순서로 후속적인 픽처들에서 참조 픽처로서 사용될 수 있다. "St"는 단기 참조 픽처를 지칭하는데, 이는 대체적으로 그것의 POC 값의 소정의 개수의 최하위(least significant) 비트를 통해 식별될 수 있다. "Lt"는 장기 참조 픽처를 지칭하는데, 이는 명확하게 식별되고 대체적으로 현재 픽처에 대하여 그 언급된 소정의 개수의 최하위 비트에 의하여 표현될 수 있는 것보다 POC 값의 차이가 더 크다. "0"은 현재 픽처보다 더 작은 POC 값을 갖는 참조 픽처를 지칭한다. "1"은 현재 픽처보다 더 큰 POC 값을 갖는 참조 픽처를 지칭한다. RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0 및 RefPicSetStFoll1은 집합적으로 참조 픽처 세트의 단기 서브세트(short-term subset)로 지칭된다. RefPicSetLtCurr 및 RefPicSetLtFoll은 집합적으로 참조 픽처 세트의 장기 서브세트(long-term subset)로 지칭된다.
HEVC 표준 초안에서, 참조 픽처 세트는 시퀀스 파라미터 세트 내에 지정되어 그 참조 픽처 세트에 대한 인덱스를 통해 슬라이스 헤더 내에서 사용되게 될 수 있다. 참조 픽처 세트는 또한 슬라이스 헤더 내에 지정될 수 있다. 참조 픽처 세트의 장기 서브세트는 대체적으로 슬라이스 헤더 내에만 지정되는 반면, 동일한 참조 픽처 세트의 단기 서브세트는 픽처 파라미터 세트 또는 슬라이스 헤더 내에 지정될 수 있다. 참조 픽처 세트는 독립적으로 코딩될 수 있거나 다른 참조 픽처 세트로부터 예측될 수 있다(인터 RPS 예측으로 알려짐). 참조 픽처 세트가 독립적으로 코딩되는 경우, 신택스 구조는 상이한 유형의 참조 픽처 상에서 반복하는 루프(loop)를 세 개까지 포함한다(현재 픽처보다 더 낮은 POC 값을 갖는 단기 참조 픽처, 현재 픽처보다 더 높은 POC 값을 갖는 단기 참조 픽처 및 장기 참조 픽처). 각 루프 엔트리(loop entry)는 "참조를 위해 사용됨"으로 마킹될 픽처를 지정한다. 일반적으로, 그 픽처는 차동적인(differential) POC 값으로써 지정된다. 인터 RPS 예측은 현재 픽처의 참조 픽처 세트가 이전에 디코딩된 픽처의 참조 픽처 세트로부터 예측될 수 있다는 사실을 활용한다. 이는 현재 픽처의 모든 참조 픽처가 이전 픽처의 참조 픽처이거나 아니면 이전에 디코딩된 픽처 그 자신이기 때문이다. 이 픽처들 중 어느 것이 참조 픽처이고 현재 픽처의 예측을 위하여 사용되어야 하는지를 나타내는 것이 필요할 뿐이다. 참조 픽처 세트 코딩의 유형 둘 다에서, 플래그(used_by_curr_pic_X_flag)는 각 참조 픽처를 위해 추가적으로 송신되어 그 참조 픽처가 현재 픽처에 의한 참조를 위해 사용되는지(*Curr 리스트에 포함됨) 아닌지(*Foll 리스트에 포함됨)를 나타낸다. 현재 슬라이스에 의해 사용되는 참조 픽처 세트에 포함된 픽처는 "참조를 위해 사용됨"으로 마킹되고, 현재 슬라이스에 의해 사용되는 참조 픽처 세트 내에 있지 않은 픽처는 "참조를 위해 사용되지 않음"으로 마킹된다. 만약 현재 픽처가 IDR 픽처인 경우, RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, RefPicSetStFoll1, RefPicSetLtCurr 및 RefPicSetLtFoll은 모두 비도록(empty) 설정된다.
디코딩된 픽처 버퍼(Decoded Picture Buffer: DPB)는 인코더 내에서 및/또는 디코더 내에서 사용될 수 있다. 인터 예측에서의 참조를 위하여 또한 디코딩된 픽처를 출력 순서로 재순서화하기 위하여, 디코딩된 픽처를 버퍼링할 두 가지 이유가 있다. H.264/AVC 및 HEVC가 참조 픽처 마킹(reference picture marking) 및 출력 재순서화(output reordering) 모두를 위하여 많은 융통성을 제공하는바, 참조 픽처 버퍼링(reference picture buffering) 및 출력 픽처 버퍼링(output picture buffering)을 위한 별개의 버퍼는 메모리 리소스를 낭비할 수 있다. 따라서, DPB는 참조 픽처 및 출력 재순서화를 위한 일원화된 디코딩된 픽처 버퍼링 프로세스(unified decoded picture buffering process)를 포함할 수 있다. 디코딩된 픽처는 그것이 참조로서 더 이상 사용되지 않고 출력을 위해 필요하지 않은 경우 DPB로부터 제거될 수 있다.
H.264/AVC 및 HEVC의 많은 코딩 모드에서, 인터 예측을 위한 참조 픽처는 참조 픽처 리스트에 대한 인덱스로써 나타내어진다. 그 인덱스는 가변 길이 코딩(variable length coding)으로써 코딩될 수 있는데, 이는 보통 더 작은 인덱스로 하여금 대응하는 신택스 요소에 대하여 더 모자라는 값을 갖도록 한다. H.264/AVC 및 HEVC에서, 두 참조 픽처 리스트(참조 픽처 리스트 0 및 참조 픽처 리스트 1)가 각각의 쌍방향 예측(bi-predictive) (B) 슬라이스를 위하여 생성되고, 하나의 참조 픽처 리스트(참조 픽처 리스트 0)가 각각의 인터 코딩된(inter-coded) (P) 슬라이스를 위하여 형성된다. 추가로, HEVC 표준 초안에서의 B 슬라이스에 대하여, 최종 참조 픽처 리스트(List 0 및 List 1)가 구성된 후에는 조합된 리스트(List C)가 구성된다. 그러한 조합된 리스트는 B 슬라이스 내의 단방향 예측(uni-prediction)(단일방향성의 예측(uni-directional prediction)이라고도 알려짐)을 위하여 사용될 수 있다.
참조 픽처 리스트 0 및 참조 픽처 리스트 1과 같은 참조 픽처 리스트는 통상적으로 두 단계로 구성되는데: 첫째, 초기 참조 픽처 리스트가 생성된다. 초기 참조 픽처 리스트는 가령 frame_num, POC, temporal_id 또는 예컨대 GOP 구조와 같은 예측 계층구조에 관한 정보 또는 그들의 임의의 조합에 기초하여 생성될 수 있다. 둘째, 초기 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조(reference picture list modification syntax structure)라고도 알려진 참조 픽처 리스트 재순서화(Reference Picture List Reordering: RPLR) 명령에 의해 재순서화될 수 있는데, 이는 슬라이스 헤더에 포함될 수 있다. RPLR 명령은 각자의 참조 픽처 리스트의 시작으로 순서화되는 픽처를 나타낸다. 이 두 번째 단계는 또한 참조 픽처 리스트 수정 프로세스로 지칭될 수 있고, RPLR 명령은 참조 픽처 리스트 수정 신택스 구조에 포함될 수 있다. 참조 픽처 세트가 사용되는 경우, 참조 픽처 리스트 0은 우선 RefPicSetStCurr0(그 뒤에는 RefPicSetStCurr1이 따라오며, 이 뒤에는 RefPicSetLtCurr이 따라옴)을 포함하도록 초기화될 수 있다. 참조 픽처 리스트 1은 우선 RefPicSetStCurr1(그 뒤에는 RefPicSetStCurr0이 따라옴)을 포함하도록 초기화될 수 있다. 초기 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조를 통하여 수정될 수 있는데, 여기서 초기 참조 픽처 리스트 내의 픽처는 그 리스트에 대한 엔트리 인덱스(entry index)를 통하여 식별될 수 있다.
HEVC 표준 초안 내의 조합된 리스트는 다음과 같이 구성될 수 있다. 만약 조합된 리스트에 대한 수정 플래그가 영(zero)인 경우, 조합된 리스트는 묵시적 메커니즘에 의하여 구성되고; 그렇지 않으면 그것은 비트스트림에 포함된 참조 픽처 조합 명령에 의하여 구성된다. 묵시적 메커니즘에서, List C 내의 참조 픽처는 List 0의 첫 번째 엔트리부터 시작하여, 그 뒤를 List 1의 첫 번째 엔트리가 따라오는 등의 인터리빙된(interleaved) 방식으로 List 0 및 List 1로부터 참조 픽처로 맵핑된다. List C 내에 이미 맵핑된 어떠한 참조 픽처도 다시 맵핑되지 않는다. 명시적 메커니즘에서, List C 내의 엔트리의 개수가 시그널링되고, List 0 또는 List 1 내의 엔트리로부터 List C의 각 엔트리로 맵핑하는 것이 뒤따른다. 추가로, List 0 및 List 1이 동일한 경우 인코더는 List 1로부터 어떠한 참조 픽처도 맵핑되지 않았다는 점 및 List C가 List 0과 등가라는 점을 나타내기 위하여 ref_pic_list_combination_flag를 0으로 설정하는 옵션(option)을 가진다.
HEVC 초안 코덱(draft HEVC codec)과 같은 많은 고효율 비디오 코덱은 병합하는(merging)/병합(merge) 모드/프로세스/메커니즘으로 종종 불리는 추가적인 움직임 정보 코딩/디코딩 메커니즘을 이용하는데, 여기서는 블록/PU의 모든 움직임 정보가 예측되고 어떠한 수정/정정 없이 사용된다. PU에 대한 상술된 움직임 정보는 1) 'PU가 참조 픽처 리스트0만 사용하여 단방향 예측되는지' 또는 'PU가 참조 픽처 리스트1만 사용하여 단방향 예측되는지' 또는 'PU가 참조 픽처 리스트0 및 리스트1 모두를 사용하여 쌍방향 예측되는지'의 정보; 2) 참조 픽처 리스트0에 대응하는 움직임 벡터 값; 3) 참조 픽처 리스트0 내의 참조 픽처 인덱스; 4) 참조 픽처 리스트1에 대응하는 움직임 벡터 값; 및 5) 참조 픽처 리스트1 내의 참조 픽처 인덱스를 포함할 수 있다. 마찬가지로, 움직임 정보를 예측하는 것은 시간적 참조 픽처 내의 인접 블록 및/또는 코로케이팅된 블록의 움직임 정보를 이용하여 수행된다. 병합 리스트(merge list)라고 종종 불리는 리스트는 이용가능한 인접/코로케이팅된 블록과 연관된 움직임 예측 후보를 포함시킴으로써 구성될 수 있고 그 리스트 내의 선택된 움직임 예측 후보의 인덱스가 시그널링되며 그 선택된 후보의 움직임 정보는 현재 PU의 움직임 정보로 복사된다(copied). 병합 메커니즘이 전체 CU를 위하여 이용되고 CU를 위한 예측 신호가 재구성 신호로서 사용되는 경우, 즉 예측 잔차가 처리되지 않은 경우, CU를 코딩/디코딩하는 이러한 유형은 통상 스킵 모드(skip mode) 또는 병합 기반 스킵 모드(merge based skip mode)로 명명된다. 스킵 모드에 더하여, 병합 메커니즘이 또한 개별 PU(스킵 모드에서처럼 전체 CU일 필요는 없음)를 위하여 이용될 수 있고 이 경우 예측 품질을 개선하기 위하여 예측 잔차가 활용될 수 있다. 이 유형의 예측 모드는 통상적으로 인터 병합 모드(inter-merge mode)로 명명된다.
인코더에 의해 비트스트림으로 생성되고 디코더에 의해 비트스트림으로부터 디코딩되는 참조 픽처 리스트 조합 신택스 구조(reference picture lists combination syntax structure)가 있을 수 있는데, 이는 조합된 참조 픽처 리스트의 내용을 나타낸다. 그 신택스 구조는 참조 픽처 리스트 0 및 참조 픽처 리스트 1이 단일방향성 예측되는(uni-directional predicted) 예측 단위를 위해 사용되는 추가적인 참조 픽처 리스트 조합이도록 조합됨을 나타낼 수 있다. 그 신택스 구조는, 어떤 값과 동일한 경우 참조 픽처 리스트 0 및 참조 픽처 리스트 1이 동일하여서 참조 픽처 리스트 0이 참조 픽처 리스트 조합으로서 사용됨을 나타내는 플래그를 포함할 수 있다. 그 신택스 구조는, 각각 참조 픽처 리스트(리스트 0 또는 리스트 1)를 명시하고 그 명시된 리스트에 대한 참조 인덱스를 명시하는 엔트리의 리스트를 포함할 수 있는데, 여기서 엔트리는 조합된 참조 픽처 리스트에 포함될 참조 픽처를 명시한다.
디코딩된 참조 픽처 마킹을 위한 신택스 구조가 비디오 코딩 시스템 내에 존재할 수 있다. 예를 들어, 픽처의 디코딩이 완료된 경우, 디코딩된 참조 픽처 마킹 신택스 구조(decoded reference picture marking syntax structure)가 만약 존재한다면 "참조를 위해 사용되지 않음" 또는 "장기 참조를 위해 사용됨"(used for long-term reference)으로 픽처를 적응적으로 마킹하도록 사용될 수 있다. 디코딩된 참조 픽처 마킹 신택스 구조가 존재하지 않고 "참조를 위해 사용됨"으로 마킹된 픽처의 개수가 더 이상 증가할 수 없는 경우, 슬라이딩 윈도우 참조 픽처 마킹(sliding window reference picture marking)이 사용될 수 있는데, 이는 기본적으로 (디코딩 순서에서) 가장 빠른 디코딩된 참조 픽처를 참조를 위해 사용되지 않음으로 마킹한다.
격리된 구역(isolated region)들로 알려진 코딩 기법은 인픽처 예측 및 인터 예측을 공동으로 제한하는 것에 기반한다. 픽처 내의 격리된 구역은 임의의 매크로블록 (또는 유사한 것) 위치를 포함할 수 있고, 픽처는 중첩하지 않는 0개 이상의 격리된 구역을 포함할 수 있다. 잔여 구역(leftoever region)은 만약 있다면 픽처의 어떠한 격리된 구역에 의해서도 커버되지(covered) 않는 픽처의 영역이다. 격리된 구역을 코딩하는 경우, 적어도 몇몇 유형의 인픽처 예측은 그것의 경계를 가로질러 불능화된다. 잔여 구역은 동일한 픽처의 격리된 구역으로부터 예측될 수 있다.
코딩된 격리된 구역은 동일한 코딩된 픽처의 임의의 다른 격리된 또는 잔여 구역이 존재하지 않아도 디코딩될 수 있다. 픽처의 모든 격리된 구역을 잔여 구역에 앞서 디코딩하는 것이 필요할 수 있다. 몇몇 구현에서, 격리된 구역 또는 잔여 구역은 적어도 하나의 슬라이스를 포함한다.
서로로부터 그들의 격리된 구역이 예측되는 픽처들은 격리된 구역 픽처 그룹(isolated-region picture group)으로 그룹핑될 수 있다. 격리된 구역은 동일한 격리된 구역 픽처 그룹 내의 다른 픽처에서의 대응하는 격리된 구역으로부터 인터 예측될 수 있는 반면, 다른 격리된 구역으로부터의 또는 격리된 구역 픽처 그룹 외부에서의 인터 예측은 받아들여지지 않을 수 있다. 잔여 구역은 임의의 격리된 구역으로부터 인터 예측될 수 있다. 결합된(coupled) 격리된 구역의 형상, 위치 및 크기는 격리된 구역 픽처 그룹 내에서 매 픽처마다 전개될 수 있다.
H.264/AVC 코덱에서의 격리된 구역의 코딩은 슬라이스 그룹에 기반할 수 있다. 매크로블록 위치를 슬라이스 그룹으로 맵핑하는 것은 픽처 파라미터 세트 내에 명시될 수 있다. H.264/AVC 신택스는 두 가지 유형인 정적(static) 및 전개(evolving)로 범주화될 수 있는 어떤 슬라이스 그룹 패턴들을 코딩하는 신택스를 포함한다. 정적 슬라이스 그룹은 픽처 파라미터 세트가 유효한 한 계속 변경되지 않고 있는 반면, 전개 슬라이스 그룹은 픽처 파라미터 세트 내의 대응하는 파라미터 및 슬라이스 헤더 내의 슬라이스 그룹 변경 싸이클 파라미터(slice group change cycle parameter)에 따라 한 픽처씩 변경될 수 있다. 정적 슬라이스 그룹 패턴들은 인터리빙됨(interleaved), 체커판(checkerboard), 직사각형 지향(rectangular oriented) 및 자유형태(freeform)를 포함한다. 전개 슬라이스 그룹 패턴들은 수평 와이프(horizontal wipe), 수직 와이프(vertical wipe), 박스 인(box-in) 및 박스 아웃(box-out)을 포함한다. 직사각형 지향 패턴 및 전개 패턴들은 격리된 구역의 코딩에 특히 적합하고 이하에서 더욱 세심히 기술된다.
직사각형 지향 슬라이스 그룹 패턴에 대하여, 원하는 개수의 직사각형이 픽처 구역 내에 지정된다. 전경 슬라이스 그룹(foreground slice gorup)은 대응하는 직사각형 내에 있는 매크로블록 위치를 포함하나 이전에 지정된 슬라이스 그룹에 의해 이미 할당된 매크로블록 위치는 배제한다. 잔여 슬라이스 그룹(leftover slice group)은 전경 슬라이스 그룹에 의해 커버되지 않는 매크로블록을 포함한다.
전개 슬라이스 그룹은 픽처 당 매크로블록 개수로 슬라이스 그룹의 크기의 변경율(change rate) 및 매크로블록 위치의 스캔 순서를 나타내는 것에 의하여 지정될 수 있다. 각각의 코딩된 픽처는 (슬라이스 헤더 내에서 전달되는) 슬라이스 그룹 변경 싸이클 파라미터와 연관된다. 변경율이 곱해진 변경 싸이클은 첫 번째 슬라이스 그룹 내의 매크로블록의 개수를 나타낸다. 두 번째 슬라이스 그룹은 나머지 매크로블록 위치를 포함한다.
H.264/AVC에서 인픽처 예측은 슬라이스 그룹 경계를 가로질러 불능화되는데, 슬라이스 그룹 경계가 슬라이스 경계에 놓여 있기 때문이다. 그러므로 각 슬라이스 그룹은 격리된 구역 또는 잔여 구역이다.
각 슬라이스 그룹은 픽처 내에 식별 번호(identification number)를 갖는다. 인코더는 인코딩될 슬라이스 그룹과 동일한 식별 번호를 갖는 슬라이스 그룹에 속하는 디코딩된 매크로블록을 그것이 참조하는 것뿐인 방식으로 움직임 벡터를 제한할 수 있다. 인코더는 어떤 범위의 소스 샘플들이 분획적 픽셀 보간(fractional pixel interpolation)에서 필요하며 소스 샘플 모두가 특정한 슬라이스 그룹 내에 있어야 한다는 사실을 고려하여야 한다.
H.264/AVC 코덱은 비블록화 루프 필터(deblocking loop filter)를 포함한다. 루프 필터링은 각각의 4x4 블록 경계에 적용되나, 루프 필터링은 슬라이스 경계에서 인코더에 의해 꺼질 수 있다. 만약 루프 필터링이 슬라이스 경계에서 꺼진 경우, 디코더에서의 완전한 재구성된 픽처는 점진적 랜덤 액세스(gradual random access)를 수행하는 경우에 달성될 수 있다. 그렇지 않으면, 재구성된 픽처는 복구 지점(recovery point) 후에도 콘텐트에 있어서 불완전할 수 있다.
H.264/AVC 표준의 복구 지점 SEI 메시지 및 움직임 제한된 슬라이스 그룹 세트 SEI 메시지(motion constrained slice group set SEI message)는 몇몇 슬라이스 그룹이 제한된 움직임 벡터로써 격리된 구역들로 코딩되었음을 나타내도록 사용될 수 있다. 디코더는 가령 잔여 구역을 무시함으로써 처리 시간을 아끼거나 더 빠른 랜덤 액세스를 달성하기 위해 그 정보를 활용할 수 있다.
서브픽처(sub-picture) 개념이 HEVC를 위해, 가령 문서 JCTVC-I0356< http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0356-v1.zip>에서 제안되었는데, 이는 H.264/AVC의 직사각형의 격리된 구역 또는 직사각형의 움직임 제한된 슬라이스 그룹 세트와 유사하다. JCTVC-I0356에서 제안된 서브픽처 개념이 이하에서 기술되기는 하나, 서브픽처가 아래에서 기술되는 것과 동일하지는 않고 달리 유사하게 정의될 수 있다는 점이 이해되어야 한다. 서브픽처 개념에서, 픽처는 사전정의된 직사각형 구역들로 파티셔닝된다. 각 서브픽처는 픽처를 구성하는 모든 서브픽처가 SPS, PPS 및 참조 픽처 세트와 같은 동일한 전역적(global) 정보를 공유한다는 점을 제외하고는 독립적인 픽처로서 처리될 것이다. 서브픽처들은 기하학적으로 타일(tile)들과 유사하다. 그것들의 속성은 다음과 같다: 그것들은 시퀀스 레벨에서 지정된 LCU-정렬된 직사각형 구역(LCU-aligned rectangular region)들이다. 픽처 내의 서브픽처는 그 픽처의 서브픽처 래스터 스캔에서 스캐닝될 수 있다. 각 서브픽처는 새 슬라이스를 시작한다. 만약 다수의 타일이 픽처 내에 존재한다면, 서브픽처 경계 및 타일 경계는 정렬될 수 있다. 서브픽처를 가로질러 어떠한 루프 필터링도 없을 수 있다. 서브픽처 외부의 샘플 값 및 움직임 정보의 어떠한 예측도 없을 수 있고, 서브픽처 외부의 하나 이상의 샘플 값을 사용하여 도출되는 분획적 샘플 위치(fractional sample position)에서의 어떠한 샘플 값도 서브픽처 내의 임의의 샘플을 인터 예측하기 위하여 사용되지 않을 수 있다. 움직임 벡터가 서브픽처 밖의 구역을 가리키는 경우, 픽처 경계에 대하여 정의된 패딩 프로세스(padding process)가 적용될 수 있다. 서브픽처가 하나보다 많은 타일을 포함하는 경우 외에는 LCU가 서브픽처 내에서 래스터 순서(raster order)로 스캐닝된다. 서브픽처 내의 타일들은 서브픽처의 타일 래스터 스캔에서 스캐닝된다. 픽처 케이스 당 디폴트인 하나의 타일을 제외하고는 타일들이 서브픽처 경계를 가로지를 수 없다. 픽처 레벨에서 이용가능한 모든 코딩 메커니즘은 서브픽처 레벨에서 지원된다.
스케일가능 비디오 코딩은 하나의 비트스트림이 상이한 비트율, 해상도 및/또는 프레임율에서의 콘텐트의 다수의 표현을 포함할 수 있는 코딩 구조를 참조한다. 이 경우 수신기는 그것의 특성(가령 디바이스의 디스플레이의 해상도와 가장 잘 매칭되는 해상도)에 따라 원하는 표현을 추출할 수 있다. 대안적으로, 서버 또는 네트워크 요소(network element)는 가령 수신기의 처리 능력 또는 네트워크 특성에 따라 수신기로 전송될 비트스트림의 부분을 추출할 수 있다.
스케일가능 비트스트림은 이용가능한 최저 품질 비디오를 제공하는 기반 계층 및 더 낮은 계층과 함께 수신되어 디코딩되는 경우 비디오 품질을 향상시키는 하나 이상의 향상 계층으로 이루어질 수 있다. 향상 계층은 시간적 해상도(즉, 프레임율(frame rate)), 공간적 해상도 또는 단순히 다른 계층 또는 그 일부에 의해 표현되는 비디오 콘텐트의 품질을 향상시킬 수 있다. 향상 계층에 대한 코딩 효율을 개선하기 위하여, 그 계층의 코딩된 표현은 더 낮은 계층에 의존할 수 있다. 예를 들어, 향상 계층의 움직임 및 모드 정보는 더 낮은 계층으로부터 예측될 수 있다. 마찬가지로 더 낮은 계층의 픽셀 데이터는 향상 계층(들)을 위한 예측을 생성하기 위하여 사용될 수 있다.
각 스케일가능 계층(그것의 모든 종속적 계층과 함께)은 어떤 공간적 해상도, 시간적 해상도 및 품질 레벨에서의 비디오 신호의 한 표현이다. 이 문서에서, 우리는 스케일가능 계층(그것의 종속적 계층 모두와 함께)을 "스케일가능 계층 표현"(scalable layer representation)으로 지칭한다. 스케일가능 계층 표현에 대응하는 스케일가능 비트스트림의 부분은 소정의 충실도로 원래의 신호의 표현을 산출하기 위하여 추출되고 디코딩될 수 있다.
몇몇 경우에, 향상 계층 내의 데이터는 어떤 위치 후 또는 임의적인 위치에서라도 절삭될(truncated) 수 있는데, 여기서 각 절삭 위치(truncation position)는 점점 더 향상된 시각적 품질을 표현하는 추가적인 데이터를 포함할 수 있다. 그러한 스케일가능성은 미립의 (입도) 스케일가능성(Fine-Grained (granularity) Scalability: FGS)으로 지칭된다. FGS는 SVC 표준의 몇몇 초안 버전에 포함되었으나, 그것은 결국 최종 SVC 표준에서 배제되었다. FGS는 SVC 표준의 몇몇 초안 버전의 맥락에서 나중에 서술된다. 절삭될 수 없는 향상 계층에 의해 제공되는 스케일가능성은 조립의 (입도) 스케일가능성(Coarse-Grained (granularity) Scalability: CGS)으로 지칭된다. 그것은 전통적인 품질 (SNR) 스케일가능성 및 공간적 스케일가능성을 집합적으로 포함한다. SVC 표준은 이른바 중립의 스케일가능성(Medium-Grained Scalability: MGS)을 지원하는데, 여기서는 품질 향상 픽처가 SNR 스케일가능 계층 픽처와 유사하게 코딩되나, 0보다 큰 quality_id 신택스 요소를 구비함으로써 FGS 계층 픽처와 유사하게 고수준 신택스 요소(high-level syntax element)에 의하여 나타내어진다.
SVC는 현재 재구성된 계층 또는 다음의 더 낮은 계층이 아닌 계층으로부터 어떤 정보가 예측될 수 있는 계층 간(inter-layer) 예측 메커니즘을 사용한다. 계층 간 예측될(inter-layer predicted) 수 있는 정보는 인트라(intra) 텍스처, 움직임 및 잔차 데이터를 포함한다. 계층 간 움직임 예측은 블록 코딩 모드, 헤더 정보 등의 예측을 포함하는데, 여기서는 더 낮은 계층으로부터의 움직임이 더 높은 계층의 예측을 위하여 사용될 수 있다. 인트라 코딩(intra coding)의 경우, 더 낮은 계층의 주위의 매크로블록으로부터의 또는 코로케이팅된 매크로블록으로부터의 예측이 가능하다. 이 예측 기법은 더 일찍 코딩된 액세스 단위로부터의 정보를 활용하지 않고 따라서 인트라 예측 기법으로 지칭된다. 나아가, 더 낮은 계층으로부터의 잔차 데이터가 현재의 계층의 예측을 위하여 또한 활용될 수 있다.
SVC는 단일 루프 디코딩(single-loop decoding)으로 알려진 개념을 명시한다. 그것은 제한된 인트라 텍스처 예측 모드(constrained intra texture prediction mode)를 사용하는 것에 의하여 가능하게 되는데, 이로써 계층 간 인트라 텍스처 예측(inter-layer intra texture prediction)이 매크로블록(macroblock: MB)들(이에 대하여 기반 계층의 대응하는 블록이 인트라 MB(intra-MB)들 내부에 위치됨)에 적용될 수 있다. 동시에, 기반 계층 내의 그러한 인트라 MB들은 (가령, 1과 동일한 신택스 요소 "constrained_intra_pred_flag"를 가지는) 제한된 인트라 예측(constrained intra-prediction)을 사용한다. 단일 루프 디코딩에서, 디코더는 재생(playback)을 위해 희망되는 스케일가능 계층("원하는 계층"(desired layer) 또는 "타겟 계층"(target layer)으로 불림)을 위해서만 움직임 보상 및 전 픽처 재구성(full picture reconstruction)을 수행하고, 이로써 디코딩 복잡도를 상당히 감소시킨다. 계층 간 예측(그것이 계층 간 인트라 텍스처 예측, 계층 간 움직임 예측 또는 계층 간 잔차 예측이라도)을 위하여 사용되지 않은 MB의 데이터의 전부 또는 일부가 원하는 계층의 재구성을 위해 필요하지는 않기 때문에, 원하는 계층이 아닌 계층 모두가 완전히 디코딩될 필요는 없다. 단일 디코딩 루프가 대부분의 픽처의 디코딩을 위해 필요하나, 기반 표현(base representation)들을 재구성하기 위하여 두 번째 디코딩 루프가 선택적으로 적용될 수 있는데, 이들은 예측 참조로서 필요하지만 출력 또는 디스플레이를 위해서는 그렇지 않고, 이른바 키 픽처(key picture)들(이에 대하여 "store_ref_base_pic_flag"가 1과 동일함)을 위해서만 재구성된다.
SVC 초안에서의 스케일가능성 구조(scalability structure)는 세 개의 신택스 요소에 의해 특징지어진다: "temporal_id", "dependency_id" 및 "quality_id". 신택스 요소 "temporal_id"는 시간적 스케일가능성 계층구조(temporal scalability hierarchy) 또는 간접적으로 프레임율을 나타내는 데 사용된다. 더 작은 최대 "temporal_id" 값의 픽처를 포함하는 스케일가능 계층 표현은 더 큰 최대 "temporal_id"의 픽처를 포함하는 스케일가능 계층 표현보다 더 작은 프레임율을 가진다. 주어진 시간적 계층(temporal layer)은 더 낮은 시간적 계층(즉, 더 작은 "temporal_id" 값을 갖는 시간적 계층)에 통상적으로 의존하나 어떠한 더 높은 시간적 계층에도 의존하지 않는다. 신택스 요소 "dependency_id"는 (앞서 언급된 바와 같이, SNR 및 공간적 스케일가능성 모두를 포함하는) CGS 계층 간 코딩 종속성 계층관계(CGS inter-layer coding dependency hierarchy)를 나타내는 데 사용된다. 임의의 시간적 레벨 위치에서, 더 작은 "dependency_id" 값의 픽처는 더 큰 "dependency_id" 값을 갖는 픽처의 코딩을 위한 계층 간 예측을 위하여 사용될 수 있다. 신택스 요소 "quality_id"는 FGS 또는 MGS 계층의 품질 레벨 계층관계(quality level hierarchy)를 나타내는 데 사용된다. 임의의 시간적 위치에서, 그리고 동일한 "dependency_id" 값에 대해, "quality_id"가 QL과 동일한 픽처는 계층 간 예측을 위하여 "quality_id"가 QL-1과 동일한 픽처를 사용한다. "quality_id"가 0보다 큰 코딩된 슬라이스는 절삭가능한(truncatable) FGS 슬라이스 아니면 절삭가능하지 않은(non-truncatable) MGS 슬라이스로서 코딩되는 것일 수 있다.
간단하게는, "dependency_id"의 동일한 값을 갖는 하나의 액세스 단위 내의 모든 데이터 단위(예컨대, SVC 맥락에서 네트워크 추상화 계층(Network Abstraction Layer) 단위 또는 NAL 단위)가 종속성 단위(dependency unit) 또는 종속성 표현(dependency representation)으로 지칭된다. 하나의 종속성 단위 내에서, "quality_id"의 동일한 값을 갖는 모든 데이터 단위가 품질 단위 또는 계층 표현으로 지칭된다.
디코딩된 기반 픽처(decoded base picture)라고도 알려진 기반 표현은, 0과 동일한 "quality_id"를 갖고 "store_ref_base_pic_flag"가 1과 동일하게 설정된 종속성 단위의 비디오 코딩 계층(Video Coding Layer: VCL) NAL 단위를 디코딩하는 것에서 기인하는 디코딩된 픽처이다. 디코딩된 픽처로도 지칭되는 향상 표현(enhancement representation)은 최상의 종속성 표현에 대하여 존재하는 모든 계층 표현이 디코딩되는 정규(regular) 디코딩 프로세스에서 기인한다.
앞서 언급된 바와 같이, CGS는 공간적 스케일가능성 및 SNR 스케일가능성을 모두 포함한다. 처음에 공간적 스케일가능성은 상이한 해상도를 갖는 비디오의 표현을 지원하도록 설계되었다. 각 시간 인스턴스(time instance)에 대하여, VCL NAL 단위는 동일한 액세스 단위에서 코딩되고 이 VCL NAL 단위는 상이한 해상도에 대응할 수 있다. 디코딩 동안, 저해상도 VCL NAL 단위(low resolution VCL NAL unit)는 고해상도 픽처(high resolution picture)의 최종 디코딩 및 재구성에 의해 선택적으로 대물림될(inherited) 수 있는 움직임 필드 및 잔차를 제공한다. 더 오래된 비디오 압축 표준과 비교될 때, SVC의 공간적 스케일가능성은 기반 계층이 향상 계층의 크로핑 및 주밍된 버전(cropped and zoomed version)일 수 있게 일반화되었다.
MGS 품질 계층은 FGS 품질 계층과 유사하게 "quality_id"로써 나타내어진다. (동일한 "dependency_id"를 갖는) 각 종속성 단위에 대하여, "quality_id"가 0과 동일한 계층이 있고 "quality_id"가 0보다 큰 다른 계층이 있을 수 있다. "quality_id"가 보다 큰 이 계층은 슬라이스가 절삭가능한 슬라이스로서 코딩되었는지에 따라 MGS 계층 아니면 FGS 계층이다.
FGS 향상 계층의 기본적 형태에서는, 계층 간 예측만이 사용된다. 그러므로, FGS 향상 계층은 디코딩된 시퀀스 내에 어떠한 에러 전파(error propagation)도 유발하지 않고 자유롭게 절삭될 수 있다. 그러나, FGS의 기본적 형태는 낮은 압축 효율을 겪는다. 이 문제는 저품질 픽처만 인터 예측 참조를 위해 사용되기 때문에 생긴다. 그러므로 FGS 향상(FGS-enhanced) 픽처가 인터 예측 참조로서 사용될 것이 제안되었다. 그러나, 이는 일부 FGS 데이터가 폐기되는 경우, 드리프트(drift)로도 지칭되는 인코딩-디코딩 미스매치(encoding-decoding mismatch)를 유발할 수 있다.
SVC 표준 초안의 한 가지 특징은 FGS NAL 단위가 자유롭게 드롭되거나(dropped) 절삭될 수 있다는 점이며, SVCV 표준의 한 특징은 비트스트림의 적합성(conformance)에 영향을 미치지 않고도 MGS NAL 단위가 자유롭게 드롭될 수 있(으나 절삭될 수는 없)다는 점이다. 위에서 서술된 바와 같이, 그러한 FGS 또는 MGS 데이터가 인코딩 동안 인터 예측 참조를 위해 사용되었던 경우, 그 데이터를 드롭하는 것(dropping) 또는 절삭하는 것은 인코더 측 및 디코더 측에서의 디코딩된 픽처 간 미스매치를 초래할 것이다. 이 미스매치 역시 드리프트로 지칭된다.
FGS 또는 MGS 데이터를 드롭하는 것 또는 절삭하는 것으로 인한 드리프트를 제어하기 위하여, SVC는 다음의 해결책을 적용하였다: 어떤 종속성 단위에서, 기반 표현("quality_id"가 0과 동일한 CGS 픽처 및 모든 의존되는 더 낮은 계층 데이터(dependent-on lower layer data)만을 디코딩하는 것에 의함)이 디코딩된 픽처 버퍼에 저장된다. "dependency_id"의 동일한 값을 갖는 후속 종속성 단위를 인코딩하는 경우, FGS 또는 MGS NAL 단위를 포함하여 NAL 단위 모두는 인터 예측 참조를 위하여 기반 표현을 사용한다. 따라서, 더 이른 액세스 단위 내 FGS 또는 MGS NAL 단위를 드롭하는 것 또는 절삭하는 것으로 인한 모든 드리프트는 이 액세스 단위에서 중단된다. "dependency_id"의 동일한 값을 갖는 다른 종속성 단위에 대하여, NAL 단위 모두는 높은 코딩 효율을 위하여, 디코딩된 픽처를 인터 예측 참조에 사용한다.
각 NAL 단위는 NAL 단위 헤더 내에 신택스 요소 "use_ref_base_pic_flag"를 포함한다. 이 요소의 값이 1과 동일한 경우, NAL 단위의 디코딩은 인터 예측 프로세스 동안 참조 픽처의 기반 표현을 사용한다. 신택스 요소 "store_ref_base_pic_flag"는 현재의 픽처의 기반 표현을 인터 예측을 위하여 사용할 장래의 픽처를 위해 저장할 것인지(1과 동일한 경우) 아닌지(0과 동일한 경우) 지정한다.
"quality_id"가 0보다 큰 NAL 단위는 참조 픽처 리스트 구성 및 가중 예측에 관련된 신택스 요소를 포함하지 않는다(즉, 신택스 요소 "num_ref_active_1x_minus1" (x=0 또는 1), 참조 픽처 리스트 재순서화 신택스 테이블(reference picture list reordering syntax table) 및 가중 예측 신택스 테이블(weighted prediction syntax table)은 존재하지 않는다). 따라서, MGS 또는 FGS 계층은 필요한 경우 동일한 종속성 단위의 0과 동일한 "quality_id"를 갖는 NAL 단위로부터 이 신택스 요소를 상속받아야(inherit) 한다.
SVC에서, 참조 픽처 리스트는 기반 표현으로만("use_ref_base_pic_flag"가 1과 동일한 경우) 아니면 "기반 표현"이라고 마킹되지 않은 디코딩된 픽처로만("use_ref_base_pic_flag"가 0과 동일한 경우) 이루어지나, 동시에 양자 모두인 것은 아니다.
H.264/AVC 비트 스트림에서, 하나의 코딩된 비디오 시퀀스 내의 코딩된 픽처는 동일한 시퀀스 파라미터 세트를 사용하고, 디코딩 프로세스 동안의 임의의 시간 인스턴스에서 하나의 시퀀스 파라미터 세트만이 활성이다. SVC에서, 상이한 스케일가능 계층으로부터의 코딩된 픽처는 상이한 시퀀스 파라미터 세트를 사용할 수 있다. 만약 상이한 시퀀스 파라미터 세트가 사용되면, 디코딩 프로세스 동안의 임의의 시간 인스턴스에서, 하나보다 많은 활성 시퀀스 픽처 파라미터 세트(active sequence picture parameter set)가 있을 수 있다. SVC 사양에서, 최상위 계층(top layer)를 위한 것이 활성 시퀀스 픽처 파라미터 세트로 표시되나, 나머지는 계층 활성 시퀀스 픽처 파라미터 세트로 지칭된다. 임의의 주어진 활성 시퀀스 파라미터 세트는 그 활성 시퀀스 파라미터 세트가 참조되는 계층 내 코딩된 비디오 시퀀스를 통해 쭉 변경되지 않은 채 있다.
스케일가능 내포 SEI 메시지(scalable nesting SEI message)가 SVC에 명시되어 있다. 스케일가능 내포 SEI 메시지는 SEI 메시지를 비트스트림의 서브세트(가령 표시된 종속성 표현 또는 다른 스케일가능 계층)와 연관시키기 위한 메커니즘을 제공한다. 스케일가능 내포 SEI 메시지는 스케일가능 내포 SEI 메시지 그 자체가 아닌 하나 이상의 SEI 메시지를 포함한다. 스케일가능 내포 SEI 메시지에 포함된 SEI 메시지는 내포된 SEI 메시지(nested SEI message)로 지칭된다. 스케일가능 내포 SEI 메시지에 포함되지 않은 SEI 메시지는 내포되지 않은 SEI 메시지(non-nested SEI message)로 지칭된다.
품질 스케일가능성(신호 대 잡음(Signal-to-Noise) 또는 SNR로도 알려짐) 및/또는 공간적 스케일가능성을 위한 스케일가능 비디오 인코더는 다음과 같이 구현될 수 있다. 기반 계층에 대하여, 종래의 비-스케일가능(non-scalable) 비디오 인코더 및 디코더가 사용될 수 있다. 기반 계층의 재구성된/디코딩된 픽처는 향상 계층을 위하여 참조 픽처 버퍼 및/또는 참조 픽처 리스트에 포함된다. 공간적 스케일가능성의 경우, 재구성된/디코딩된 기반계층 픽처는 향상계층 픽처를 위한 참조 픽처 리스트 내에 그것을 삽입하기에 앞서 업샘플링될(upsampled) 수 있다. 기반 계층 디코딩된 픽처는 향상 계층의 디코딩된 참조 픽처와 유사하게 향상 계층 픽처의 코딩/디코딩을 위한 참조 픽처 리스트(들) 내에 삽입될 수 있다. 따라서, 인코더는 인터 예측 참조로서 기반계층 참조 픽처를 선택하여 코딩된 비트스트림에 참조 픽처 인덱스와 함께 그것의 사용을 나타낼 수 있다. 디코더는 비트스트림으로부터(가령 참조 픽처 인덱스로부터) 디코딩하여 기반계층 픽처가 향상 계층을 위한 인터 예측 참조로서 사용된다. 디코딩된 기반계층 픽처가 향상 계층을 위한 예측 참조로서 사용되는 경우, 그것은 계층 간 참조 픽처(inter-layer reference picture)로 지칭된다.
이전의 단락이 스케일가능 비디오 코덱을 향상 계층 및 기반 계층을 구비한 두 스케일가능성 계층과 함께 설명하였으나, 그 설명은 두 개보다 많은 계층을 갖는 스케일가능성 계층구조 내의 임의의 두 계층으로 일반화될 수 있다는 점이 이해될 필요가 있다. 이 경우, 인코딩 및/또는 디코딩 프로세스에서 제2 향상 계층은 제1 향상 계층에 의존할 수 있고, 따라서 제1 향상 계층은 제2 향상 계층의 인코딩 및/또는 디코딩을 위한 기반 계층으로 간주될 수 있다. 나아가, 향상 계층의 참조 픽처 리스트 또는 참조 픽처 버퍼 내의 하나보다 많은 계층으로부터의 계층 간 참조 픽처가 있을 수 있고, 이 계층 간 참조 픽처 각각은 인코딩 및/또는 디코딩되는 향상 계층을 위한 참조 계층 또는 기반 계층 내에 있다고 간주될 수 있다는 점이 이해될 필요가 있다.
프레임 패킹(frame packing)은 인코딩을 위한 전처리(pre-processing) 단계로서 인코더 측에서 하나보다 많은 프레임이 단일 프레임으로 패킹되고(packed) 또 그 프레임 패킹된(frame-packed) 프레임이 종래의 2D 비디오 코딩 방안으로써 인코딩되는 방법을 지칭한다. 따라서 디코더에 의해 산출되는 출력 프레임은 인코더 측에서 하나의 프레임으로 공간적으로 패킹된 입력 프레임에 대응하는 것인 구성 프레임을 포함한다. 프레임 패킹은, 하나는 좌측 눈/카메라/뷰에 대응하고 다른 하나는 우측 눈/카메라/뷰에 대응하는 프레임들의 쌍이 단일 프레임으로 패킹된 입체 비디오(stereoscopic video)를 위해 사용될 수 있다. 프레임 패킹은 또한 또는 대안적으로, 구성 프레임 중 하나가 정규 색상 정보(루마 및 크로마 정보)를 포함하는 다른 구성 프레임에 대응하는 깊이(depth) 또는 디스패리티(disparity) 정보를 나타내는 깊이 또는 디스패리티 향상된 비디오(depth or disparity enhanced video)를 위해 사용될 수 있다. 프레임 패킹의 사용은 가령 H.264/AVC 또는 유사한 것의 프레임 패킹 배열 SEI 메시지(frame packing arrangement SEI message)를 사용하여 비디오 비트스트림 내에서 시그널링될 수 있다. 프레임 패킹의 사용은 또한 또는 대안적으로 고선명 멀티미디어 인터페이스(High-Definition Multimedia Interface: HDMI)와 같은 비디오 인터페이스 상에서 표시될 수 있다. 프레임 패킹의 사용은 또한 또는 대안적으로 세션 서술 프로토콜(Sessiong Description Protocol: SDP)과 같은 다양한 능력 교환 및 모드 협상 프로토콜(capability exchange and mode negotiation protocol)들을 사용하여 표시되고/되거나 협상될 수 있다. 디코더 또는 렌더러(renderer)는 디코딩된 프레임으로부터 구성 프레임을 표시된 프레임 패킹 배열 유형에 따라 추출할 수 있다.
일반적으로, 프레임 패킹은 가령 프레임이 두 개보다 많은 뷰의 구성 프레임을 포함할 수 있고/있거나 몇몇 또는 모든 구성 프레임이 동등하지 않은 공간적 규모를 가질 수 있고/있거나 구성 프레임이 깊이 뷰 콤포넌트를 가질 수 있는 방식으로 적용될 수 있다. 예를 들어, 프레임 패킹된 비디오의 픽처는 비디오 플러스 깊이 표현(video-plus-depth representation), 즉 텍스처 프레임 및 깊이 프레임을 가령 나란한(side-by-side) 프레임 패킹 배열로 포함할 수 있다.
프레임 패킹된 비디오 내의 구성 프레임의 서브세트에만 적용되는 특성, 코딩 속성 및 유사한 것이 가령 특정한 내포 SEI 메시지를 통해 표시될 수 있다. 그러한 내포 SEI 메시지는 어느 구성 프레임에 그것이 적용되는지 표시하고 그 표시된 구성 프레임에 적용되는 하나 이상의 SEI 메시지를 포함할 수 있다. 예를 들어, 움직임 제한된 타일 세트 SEI 메시지(motion-constrained tile set SEI message)는 격리된 지역 픽처 그룹(isolated-region picture group)을 형성하는 픽처들의 표시된 또는 암시된(inferred) 그룹 내(가령 코딩된 비디오 시퀀스 내)의 타일 인덱스 또는 어드레스와 같은 것의 세트를 표시할 수 있다.
앞서 기재된 바와 같이, MVC는 H.264/AVC의 확장이다. H.264/AVC의 정의, 개념, 신택스 구조, 시맨틱스 및 디코딩 프로세스 중 다수가 그대로 또는 소정의 일반화 또는 제한과 함께 MVC에도 적용된다. MVC의 몇몇 정의, 개념, 신택스 구조, 시맨틱스 및 디코딩 프로세스가 다음에서 기술된다.
MVC에서의 액세스 단위는 디코딩 순서로 연속적이고 하나 이상의 뷰 콤포넌트로 이루어지는 정확히 하나의 주요 코딩된 픽처를 포함하는 NAL 단위의 세트라고 정의된다. 주요 코딩된 픽처에 더하여, 액세스 단위는 하나 이상의 중복적 코딩된 픽처, 하나의 보조적 코딩된 픽처 또는 코딩된 픽처의 슬라이스 또는 슬라이스 데이터 파티션을 포함하지 않는 다른 NAL 단위를 또한 포함한다. 액세스 단위의 디코딩은 디코딩 에러, 비트스트림 에러 또는 디코딩에 영향을 미칠 수 있는 다른 에러가 발생하지 않는 경우, 하나 이상의 디코딩된 뷰 콤포넌트로 이루어지는 하나의 디코딩된 픽처를 초래한다. 다시 말해, MVC에서의 액세스 단위는 하나의 출력 타임 인스턴스에 대한 뷰의 뷰 콤포넌트를 포함한다.
MVC에서의 뷰 콤포넌트는 단일 액세스 단위 내의 뷰의 코딩된 표현으로 지칭된다.
뷰 간 예측(inter-view prediction)은 MVC에서 사용될 수 있고 동일한 액세스 단위의 상이한 뷰 콤포넌트의 디코딩된 샘플로부터의 뷰 콤포넌트의 예측을 지칭한다. MVC에서, 뷰 간 예측은 인터 예측과 유사하게 실현된다. 예를 들어, 뷰 간 참조 픽처는 인터 예측을 위한 참조 픽처와 동일한 참조 픽처 리스트(들) 내에 배치되고, 움직임 벡터뿐만 아니라 참조 인덱스가 뷰 간 및 인터 참조 픽처에 대해 유사하게 코딩되거나 암시된다.
앵커 픽처(anchor picture)는, 모든 슬라이스가 동일한 액세스 단위 내의 슬라이스만을 참조할 수 있으나(즉, 뷰 간 예측이 사용될 수 있으나) 어떠한 인터 예측도 사용되지 않으며 출력 순서에서 후속적 코딩된 픽처 전부가 디코딩 순서로 코딩된 픽처에 앞서는 임의의 픽처로부터의 인터 예측을 사용하지 않는 코딩된 픽처이다. 뷰 간 예측은 비 기반 뷰(non-base view)의 일부인 IDR 뷰 콤포넌트를 위해 사용될 수 있다. MVC에서의 기반 뷰(base view)는 코딩된 비디오 시퀀스 내의 뷰 순서 인덱스의 최소 값을 갖는 뷰이다. 기반 뷰는 다른 뷰와는 독립적으로 디코딩될 수 있고 뷰 간 예측을 사용하지 않는다. 기반 뷰는 H.264/AVC의 베이스라인 프로파일(Baseline Profile) 또는 하이 프로파일(High Profile)과 같은 단일 뷰 프로파일(single-view profile)들만을 지원하는 H.264/AVC 디코더에 의해 디코딩될 수 있다.
MVC 표준에서, MVC 디코딩 프로세스의 서브프로세스 중 다수는 H.264/AVC 표준의 서브프로세스 사양 내의 "픽처", "프레임" 및 "필드"(field)라는 용어를 각각 "뷰 콤포넌트"(view component), "프레임 뷰 콤포넌트"(frame view component) 및 "필드 뷰 콤포넌트"(field view component)로 대체하여서 H.264/AVC 표준의 각 서브프로세스를 사용한다. 마찬가지로, "픽처", "프레임" 및 "필드"라는 용어는 이하에서 종종 각각 "뷰 콤포넌트", "프레임 뷰 콤포넌트" 및 "필드 뷰 콤포넌트"를 뜻하도록 사용된다.
앞서 언급된 바와 같이, MVC 비트스트림의 비 기반 뷰는 서브세트 시퀀스 파라미터 세트 NAL 단위(subset sequence parameter set NAL unit)를 참조할 수 있다. MVC를 위한 서브세트 시퀀스 파라미터 세트는 기반 SPS 데이터 구조(base SPS data structure) 및 시퀀스 파라미터 세트 MVC 확장 데이터 구조(sequence parameter set MVC extension data structure)를 포함한다. MVC에서, 상이한 뷰로부터의 코딩된 픽처는 상이한 시퀀스 파라미터 세트를 사용할 수 있다. MVC에서의 SPS(특히 MVC 내 SPS의 시퀀스 파라미터 세트 MVC 확장 부분)은 뷰 간 예측을 위한 뷰 종속성(view dependency) 정보를 포함할 수 있다. 이는 가령 뷰 종속성 트리를 구성하기 위해 시그널링 인식(signaling-aware) 미디어 게이트웨이에 의해 사용될 수 있다.
멀티뷰 비디오 코딩의 맥락에서, 뷰 순서 인덱스는 액세스 단위 내의 뷰 콤포넌트의 디코딩 또는 비트스트림 순서를 나타내는 인덱스로 정의될 수 있다. MVC에서, 뷰 간 종속성 관계는 시퀀스 파라미터 세트에 포함된 시퀀스 파라미터 세트 MVC 확장에 표시된다. MVC 표준에 따르면, 코딩된 비디오 시퀀스에 의해 참조되는 모든 시퀀스 파라미터 세트 MVC 확장은 동일할 것이 요구된다. 시퀀스 파라미터 세트 MVC 확장의 다음 발췌는 뷰 간 종속성 관계가 MVC에 표시되는 방식에 관한 추가적인 세부사항을 제공한다.
Figure pct00003
MVC 디코딩 프로세스에서, 변수 VOIdx는 (디코딩되고 있는 코딩된 슬라이스의 MVC NAL 단위 헤더로부터 획득될 수 있는) view_id에 의해 식별되는 뷰의 뷰 순서 인덱스를 나타낼 수 있고 i의 값(참조된 서브세트 시퀀스 파라미터 세트에 포함된 신택스 요소 view_id[i]가 view_id와 동일함)과 동일하게 설정될 수 있다.
시퀀스 파라미터 세트 MVC 확장의 시맨틱스는 다음과 같이 지정될 수 있다. num_views_minus1 plus 1은 코딩된 비디오 시퀀스 내의 코딩된 뷰의 최대 개수를 명시한다. 코딩된 비디오 시퀀스 내의 뷰의 실제 개수는 num_views_minus1 plus 1보다 작을 수 있다. view_id[i]는 VOIdx가 i와 동일한 뷰의 view_id를 명시한다. num_anchor_refs_l0[i]는 VOIdx가 i와 동일한 앵커 뷰 콤포넌트를 디코딩하는 데에서 초기 참조 픽처 리스트 RefPicList0 내 뷰 간 예측을 위한 뷰 콤포넌트의 개수를 명시한다. anchor_ref_ l0[i][j]는 VOIdx가 i와 동일한 앵커 뷰 콤포넌트를 디코딩하는 데에서 초기 참조 픽처 리스트 RefPicList0 내 뷰 간 예측을 위한 j 번째 뷰 콤포넌트의 view_id를 명시한다. num _anchor_refs_ l1[i]는 VOIdx가 i와 동일한 앵커 뷰 콤포넌트를 디코딩하는 데에서 초기 참조 픽처 리스트 RefPicList1 내 뷰 간 예측을 위한 뷰 콤포넌트의 개수를 명시한다. anchor_ref_ l1[i][j]는 VOIdx가 i와 동일한 앵커 뷰 콤포넌트를 디코딩하는 데에서 초기 참조 픽처 리스트 RefPicList1 내 뷰 간 예측을 위한 j 번째 뷰 콤포넌트의 view_id를 명시한다. num_non_anchor_refs_l0[i]는 VOIdx가 i와 동일한 비 앵커 뷰 콤포넌트를 디코딩하는 데에서 초기 참조 픽처 리스트 RefPicList0 내 뷰 간 예측을 위한 뷰 콤포넌트의 개수를 명시한다. non_anchor_ref_ l0[i][j]는 VOIdx가 i와 동일한 비 앵커 뷰 콤포넌트를 디코딩하는 데에서 초기 참조 픽처 리스트 RefPicList0 내 뷰 간 예측을 위한 j 번째 뷰 콤포넌트의 view_id를 명시한다. num _non_anchor_refs_ l1[i]는 VOIdx가 i와 동일한 비 앵커 뷰 콤포넌트를 디코딩하는 데에서 초기 참조 픽처 리스트 RefPicList1 내 뷰 간 예측을 위한 뷰 콤포넌트의 개수를 명시한다. non_anchor_ref_l1[i][j]는 VOIdx가 i와 동일한 비 앵커 뷰 콤포넌트를 디코딩하는 데에서 초기 참조 픽처 리스트 RefPicList1 내 뷰 간 예측을 위한 j 번째 뷰 콤포넌트의 view_id를 명시한다. view_id가 vId1과 동일하고 VOIdx가 vOIdx1과 동일한 임의의 특정 뷰 및 view_id가 vId2와 동일하고 VOIdx가 vOIdx2와 동일한 다른 뷰에 대하여, vId2가 0부터 num_non_anchor_refs_l0[vOIdx1](배타적임)의 범위 내의 모든 j에 대하여 non_anchor_ref_l0[vOIdx1][j] 중 하나 또는 0부터 num_non_anchor_refs_l1[vOIdx1](배타적임)의 범위 내의 모든 j에 대하여 non_anchor_ref_l1[vOIdx1][j] 중 하나의 값과 동일한 경우, vId2는 0부터 num_anchor_refs_l0[vOIdx1](배타적임)의 범위 내의 모든 j에 대하여 anchor_ref_l0[vOIdx1][j] 중 하나 또는 0부터 num_anchor_refs_l1[vOIdx1](배타적임)의 범위 내의 모든 j에 대하여 anchor_ref_l1[vOIdx1][j] 중 하나의 값과 동일할 것이 또한 요구된다. 비 앵커 뷰 콤포넌트를 위한 뷰 간 종속성은 앵커 뷰 콤포넌트를 위한 뷰 간 종속성의 서브세트이다.
MVC에서, 동작 포인트는 다음과 같이 정의될 수 있다: 동작 포인트는 타겟 시간적 레벨을 나타내는 temporal_id 값 및 타겟 출력 뷰를 나타내는 view_id 값의 세트에 의해 식별된다. 하나의 동작 포인트는 비트스트림 서브세트와 연관되는데, 이는 타겟 출력 뷰 및 타겟 출력 뷰가 의존하는 다른 뷰 모두로 이루어지며, tIdTarget이 temporal_id 값과 동일하고 viewIdTargetList가 입력으로서 view_id 값의 세트로 이루어지는 서브비트스트림(sub-bitstream) 추출 프로세스를 사용하여 도출된다. 하나보다 많은 동작 포인트가 동일한 비트스트림 서브세트와 연관될 수 있다. "동작 포인트가 디코딩된" 경우, 동작 포인트에 대응하는 비트스트림 서브세트는 디코딩될 수 있고 이후에 타겟 출력 뷰가 출력될 수 있다.
스케일가능 멀티뷰 코딩에서, 동일한 비트스트림이 다수의 뷰의 코딩된 뷰 콤포넌트를 포함할 수 있고 적어도 몇몇의 코딩된 뷰 콤포넌트가 품질 및/또는 공간적 스케일가능성을 사용하여 코딩될 수 있다.
텍스처 뷰(texture view)는 보통의 비디오 콘텐트를 나타내고 가령 보통의 카메라를 사용하여 캡처되었으며 디스플레이 상에 렌더링하는 데에 대개 적합한 뷰를 지칭한다. 텍스처 뷰는 세 컴포넌트인 하나의 루마 콤포넌트 및 두 크로마 콤포넌트를 갖는 픽처를 통상적으로 포함한다. 이하에서, 텍스처 픽처는 가령 루마 텍스처 픽처 및 크로마 텍스처 픽처라는 용어로 달리 기재되지 않는 한 그것의 콤포넌트 픽처 또는 색상 콤포넌트 모두를 통상적으로 포함한다.
깊이 뷰(depth view)는 카메라 센서로부터의 텍스처 샘플의 거리 정보, 텍스처 샘플 및 다른 뷰 내의 각 텍스처 샘플 간의 디스패리티 또는 시차(parallax) 정보 또는 유사한 정보를 나타내는 뷰를 지칭한다. 깊이 뷰는 텍스처 뷰의 루마 콤포넌트와 유사한 하나의 콤포넌트를 갖는 깊이 픽처(깊이 맵으로도 알려짐)을 포함할 수 있다. 깊이 맵은 픽셀당(per-pixel) 깊이 정보 또는 유사한 것을 갖는 이미지이다. 예를 들어, 깊이 맵 내의 각 샘플은 카메라가 놓여 있는 평면으로부터의 각 텍스처 샘플 또는 샘플들의 거리를 나타낸다. 다시 말해, z 축이 카메라의 촬영 축(shooting axis)를 따라서 있(어서 카메라가 놓여 있는 평면에 대해 직교(orthogonal)한)다면, 깊이 맵 내의 샘플은 z 축 상의 값을 나타낸다. 깊이 맵 값의 시맨틱스는 가령 다음을 포함할 수 있다:
1. 코딩된 깊이 뷰 콤포넌트 내의 각 루마 샘플 값은 실세계의 거리 (Z) 값의 역, 즉 1/Z(8비트 루마 표현에 대해, 0부터 255(포괄적임)의 범위로와 같이, 루마 샘플의 동적 범위(dynamic range)에서 정규화됨)을 나타낸다. 그 정규화는 양자화 1/Z가 디스패리티 면에서 균일한 방식으로 행해질 수 있다.
2. 코딩된 깊이 뷰 콤포넌트 내의 각 루마 샘플 값은 실세계의 거리 (Z) 값의 역, 즉 1/Z(구분적 선형 맵핑(piece-wise linear mapping)과 같은 맵핑 함수 f(1/Z) 또는 테이블을 사용하여, 8비트 루마 표현에 대해, 0부터 255(포괄적임)의 범위로와 같이, 루마 샘플의 동적 범위로 맵핑됨)을 나타낸다. 다시 말해, 깊이 맵 값은 함수 f(1/Z)를 적용하는 것을 초래한다.
3. 코딩된 깊이 뷰 콤포넌트 내의 각 루마 샘플 값은 실세계의 거리 (Z) 값(8비트 루마 표현에 대해, 0부터 255(포괄적임)의 범위로와 같이, 루마 샘플의 동적 범위에서 정규화됨)을 나타낸다.
4. 코딩된 깊이 뷰 콤포넌트 내의 각 루마 샘플 값은 현재의 깊이 뷰부터 다른 표시된 또는 도출된 깊이 뷰 또는 뷰 위치까지 디스패리티 또는 시차 값을 나타낸다.
깊이 뷰, 깊이 뷰 콤포넌트, 깊이 픽처 및 깊이 맵과 같은 구절이 다양한 실시예를 기술하는 데 사용되나, 깊이 맵 값의 임의의 시맨틱스가 다양한 실시예(상술된 것을 포함하나 이에 한정되지 않음)에서 사용될 수 있다는 점이 이해되어야 한다. 예를 들어, 본 발명의 실시예는 샘플 값이 디스패리티 값을 나타내는 깊이 픽처를 위하여 적용될 수 있다.
인코딩 시스템 또는 코딩된 깊이 맵을 포함하는 비트스트림을 생성하거나 수정하는 임의의 다른 엔티티(entity)가 깊이 샘플의 시맨틱스에 관한, 그리고 비트스트림으로의 깊이 샘플의 양자화 방안에 관한 정보를 생성하고 포함할 수 있다. 깊이 샘플의 시맨틱스에 관한, 그리고 깊이 샘플의 양자화 방안에 관한 그러한 정보는 가령 비디오 파라미터 세트 구조 내에, 시퀀스 파라미터 세트 구조 내에 또는 SEI 메시지 내에 포함될 수 있다.
깊이 향상된(depth-enhanced) 비디오는 하나 이상의 깊이 뷰를 갖는 깊이 비디오(depth video)와 연관된 하나 이상의 뷰를 갖는 텍스처 비디오(texture video)를 지칭한다. 비디오 플러스 깊이(Video plus Depth: V+D), 멀티뷰 비디오 플러스 깊이(Multiview Video plus Depth: MVD) 및 계층화된 깊이 비디오(Layered Depth Video: LDV)를 포함하여, 깊이 향상된 비디오의 표현을 위한 다수의 접근법이 사용될 수 있다. 비디오 플러스 깊이 (V+D) 표현에서, 텍스처의 단일 뷰 및 깊이의 각 뷰는 각각 텍스처 픽처 및 깊이 픽처의 시퀀스로 표현된다. MVD 표현은 다수의 텍스처 뷰 및 각자의 깊이 뷰를 포함한다. LDV 표현에서, 중앙 뷰(central view)의 텍스처 및 깊이는 재래식으로(conventionally) 표현되나, 다른 뷰의 텍스처 및 깊이는 부분적으로 표현되고 중간 뷰의 정확한 뷰 합성(view synthesis)에 요구되는 폐색해제된(dis-occluded) 영역만을 커버한다.
텍스처 뷰 콤포넌트(texture view component)는 단일 액세스 단위 내의 뷰의 텍스처의 코딩된 표현으로 정의될 수 있다. 깊이 향상된 비디오 비트스트림 내의 텍스처 뷰 콤포넌트는 단일뷰 또는 멀티뷰 디코더가 설령 깊이 뷰를 디코딩할 능력이 전혀 없더라도 그것이 텍스처 뷰를 디코딩할 수 있도록 단일뷰 텍스처 비트스트림 또는 멀티뷰 텍스처 비트스트림과 호환가능한 방식으로 코딩될 수 있다. 예를 들어, H.264/AVC 디코더는 깊이 향상된 H.264/AVC 비트스트림으로부터 단일 텍스처 뷰를 디코딩할 수 있다. 대안적으로 텍스처 뷰 콤포넌트는 단일뷰 또는 멀티뷰 텍스처 디코딩을 할 수 있는 디코더(가령 H.264/AVC 또는 MVC 디코더)가 텍스처 뷰 콤포넌트를 디코딩할 수 없는 방식(가령 그것이 깊이 기반 코딩 도구를 사용하기 때문임)으로 코딩될 수 있다. 깊이 뷰 콤포넌트(depth view component)는 단일 액세스 단위 내의 뷰의 깊이의 코딩된 표현으로 정의될 수 있다. 뷰 콤포넌트 쌍(view component pair)은 동일한 액세스 단위 내의 동일한 뷰의 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트로서 정의될 수 있다.
깊이 향상된 비디오는 텍스처 및 깊이가 서로와 무관하게 코딩되는 방식으로 코딩될 수 있다. 예를 들어, 텍스처 뷰는 하나의 MVC 비트스트림으로서 코딩될 수 있고 깊이 뷰는 다른 MVC 비트스트림으로서 코딩될 수 있다. 깊이 향상된 비디오는 또한 텍스처 및 깊이가 공동으로(jointly) 코딩되는 방식으로 코딩될 수 있다. 텍스처 및 깊이 뷰의 공동 코딩(joint coding) 형태에서, 텍스처 픽처의 디코딩을 위한 데이터 요소들 또는 텍스처 픽처의 디코딩된 샘플들 몇몇이 깊이 픽처의 디코딩 프로세스에서 획득되는 데이터 요소들 또는 깊이 픽처의 디코딩된 샘플들 몇몇으로부터 예측되거나 도출된다. 대안적으로 또는 추가로, 깊이 픽처의 디코딩을 위한 데이터 요소들 또는 깊이 픽처의 디코딩된 샘플들 몇몇이 텍스처 픽처의 디코딩 프로세스에서 획득되는 데이터 요소들 또는 텍스처 픽처의 디코딩된 샘플들 몇몇으로부터 예측되거나 도출된다. 다른 옵션에서, 텍스처의 코딩된 비디오 데이터 및 깊이의 코딩된 비디오 데이터는 서로로부터 예측되지는 않거나 하나가 다른 하나에 기초하여 코딩/디코딩되지는 않지만, 코딩된 텍스처 및 깊이 뷰는 인코딩에서 동일한 비트스트림으로 다중화되고(multiplexed) 디코딩에서 그 비트스트림으로부터 역다중화될(demultiplexed) 수 있다. 또 다른 옵션에서, 텍스처의 코딩된 비디오 데이터가 가령 아래 슬라이스 계층 내 깊이의 코딩된 비디오 데이터로부터 예측되지는 않지만, 텍스처 뷰 및 깊이 뷰의 고수준 코딩 구조 중 몇몇은 서로로부터 공유되거나 예측될 수 있다. 예를 들어, 코딩된 깊이 슬라이스의 슬라이스 헤더는 코딩된 텍스처 슬라이스의 슬라이스 헤더로부터 예측될 수 있다. 더욱이, 파라미터 세트 중 몇몇은 코딩된 텍스처 뷰 및 코딩된 깊이 뷰 모두에 의해 사용될 수 있다.
몇몇 멀티뷰 3D 비디오(3DV) 애플리케이션을 위한 해결책이 한정된 개수의 입력 뷰(가령 모노 또는 스테레오 뷰에 몇몇 보충적 데이터까지)를 가지는 것이고 디코더 측에서 국부적으로 모든 요구되는 뷰를 렌더링(즉, 합성)하는 것이라고 알게 되었다. 뷰 렌더링(view rendering)을 위한 여러 이용가능한 기술로부터, 깊이 이미지 기반 렌더링(Depth Image-Based Rendering: DIBR)은 경쟁력 있는 대안임을 보여주었다.
DIBR 기반 3DV 시스템의 단순화된 모델이 도 5에 도시된다. 3D 비디오 코덱의 입력은 입체 비디오 및 입체 베이스라인(stereoscopic baseline) b0을 갖는 대응하는 깊이 정보를 포함한다. 그리고 3D 비디오 코덱은 베이스라인 (bi<b0)을 갖는 두 입력 뷰 간의 다수의 가상 뷰를 합성한다. DIBR 알고리즘은 또한 두 입력 뷰 외부에 있고 그들 사이에 있지 않은 뷰의 보외(extrapolation)를 가능하게 한다. 유사하게, DIBR 알고리즘은 텍스처의 단일 뷰 및 각자의 깊이 뷰로부터 뷰 합성을 가능하게 할 수 있다. 다만, DIBR 기반 멀티뷰 렌더링을 가능하게 하기 위하여, 텍스처 데이터는 대응하는 깊이 데이터와 함께 디코더 측에서 이용가능하여야 한다.
그러한 3DV 시스템에서, 깊이 정보는 인코더 측에서 텍스처 뷰를 위한 깊이 픽처(깊이 맵으로도 알려짐)의 형태로 산출된다.
깊이 정보는 다양한 수단에 의해 획득될 수 있다. 예를 들어, 3D 씬(scene)의 깊이는 카메라 또는 색상 이미지 센서를 캡처하는 것(capturing)에 의해 기록된 디스패리티로부터 계산될 수 있다. 스테레오 매칭(stereo matching)으로도 지칭될 수 있는 깊이 추정 접근법은 입체 뷰를 입력으로 취하고 그 뷰의 두 오프셋(offset) 이미지 간의 국부적 디스패리티를 계산한다. 두 입력 뷰가 상이한 시점 내지 관점을 나타내므로, 시차는 촬상 평면(imaging plane)들 상의 씬 포인트(scene point)들의 상대적 위치 간의 디스패리티를 그 포인트들의 거리에 따라 생성한다. 스테레오 매칭의 타겟은 그 이미지들 간의 대응하는 포인트를 찾거나 검출하는 것에 의해 그러한 디스패리티를 추출하는 것이다. 스테레오 매칭을 위한 여러 접근법이 존재한다. 예를 들어, 각 이미지가 중첩(overlapping) 블록에서 한 픽셀씩 처리되는 블록 또는 템플릿(template) 매칭 접근법에서, 그리고 픽셀들의 블록 각각에 대하여 오프셋 이미지 내의 매칭 블록(matching block)을 위한 수평적으로 국부화된 검색(horizontally localized search)이 수행된다. 픽셀별(pixel-wise) 디스패리티가 계산되면, 대응하는 깊이 값 z가 수학식 1에 의해 계산된다:
[수학식 1]
Figure pct00004
여기서 도 6에 도시된 바와 같이 f는 카메라의 초점거리(focal length)이고 b는 카메라들 간의 베이스라인 거리(baseline distance)이다. 또한, d는 두 카메라 간에 관측되는 디스패리티 또는 두 카메라 내의 대응하는 픽셀 간에 추정된 디스패리티를 나타낸다고 간주될 수 있다. 카메라 오프셋 Δd는 두 카메라의 광심(optical center)들의 가능한 수평적 오배치(horizontal misplacement) 또는 전처리로 인한 카메라 프레임들 내의 가능한 수평적 크로핑(horizontal cropping)을 반영한다고 간주될 수 있다. 그러나, 그 알고리즘은 블록 매칭에 기반하므로, 디스패리티를 통한 깊이 추정(depth-through-disparity estimation)의 품질이 콘텐트 의존적(content dependent)이고 빈번히 정확하지 않다. 예를 들어, 노이즈의 레벨이 크거나 텍스처가 있는 것이 아닌 매우 평활한(smooth) 영역이 특징인 이미지 단편에 대해서는 깊이 추정을 위한 어떠한 간단한 해결책도 가능하지 않다.
전술된 스테레오 뷰 깊이 추정에 더하여 또는 대안적으로, 깊이 값은 가령 씬을 조명하기 위한 광원(light source)(예컨대, 적외선 방사기(infrared emitter))이 제공될 수 있는 카메라를 사용함으로써 비행시간(Time-Of-Flight: TOF) 원리를 사용하여 획득될 수 있다. 그러한 조명기(illuminator)는 가령 10-100 MHz 사이의 주파수에 대한 강도변조된 전자기 방사(intensity modulated electromagnetic emission)를 산출하도록 마련될 수 있는데, 이는 LED 또는 레이저 다이오드가 사용될 것을 요구할 수 있다. 적외선광(infrared light)은 그 조명을 눈에 띄지 않게 하는 데 사용될 수 있다. 씬 내의 대상체로부터 반사된 광은 이미지 센서에 의해 검출되는데, 이는 조명기와 동일한 주파수에서 동기적으로(synchronously) 변조될 수 있다. 이미지 센서에는 광학기구가 제공될 수 있다; 반사된 광을 모으는 렌즈 및 조명기와 동일한 파장을 갖는 광만 통과시켜서 배경 광(background light)을 억제하는 데 도움이 되는 광학 대역통과 필터(optical bandpass filter). 이미지 센서는 각 픽셀에 대해 광이 조명기부터 대상체까지 지나가고서 돌아가는 데 걸린 시간을 측정할 수 있다. 대상체까지의 거리는 조명 변조(illumination modulation)에서 위상 쉬프트(phase shift)로서 표현될 수 있는데, 이는 샘플링된 데이터로부터 동시에 씬 내의 각 픽셀에 대해 판정될 수 있다.
전술된 스테레오 뷰 깊이 추정 및/또는 TOF 원리 깊이 센싱(sensing)에 더하여 또는 대안적으로, 깊이 값은 가령 대략적으로 다음과 같이 동작할 수 있는 구조화된 광 접근법(structured light approach)을 사용하여 획득될 수 있다. 적외선 레이저 방사기 또는 적외선 LED 방사기와 같은 광 방사기(light emitter)는 3D 공간에서 어떤 방향(예컨대, 래스터 스캔 또는 의사 랜덤(pseudo-random) 스캐닝 순서를 따름) 및/또는 광 방사기의 어레이(array) 내의 위치는 물론 어떤 패턴(가령 어떤 파장 및/또는 진폭 패턴)을 가질 수 있는 광을 방사할 수 있다. 방사된 광은 대상체로부터 다시 반사되며, 적외선 이미지 센서와 같은 센서를 사용하여 캡처될 수 있다. 센서에 의해 획득된 이미지/신호는 수신된 신호 및 방사된 광의 방향/위치는 물론 방사된 광의 패턴 사이의 대응성(correspondence)을 가령 삼각측량(triangulation) 원리를 사용하여 검출하기 위하여 방사된 광의 방향은 물론 방사된 광의 패턴과 관련하여 처리될 수 있다. 이 대응성으로부터 픽셀의 거리 및 위치가 판단될 수 있다.
전술된 깊이 추정 및 센싱 방법은 비한정적 예로서 제공되며 기술된 또는 임의의 다른 깊이 추정 및 센싱 방법 및 장치로써 실시예들이 실현될 수 있다는 점이 이해되어야 한다.
ISO/IEC 국제 표준 23002-3(ISO/IEC International Standard 23002-3)에 명시된 시차 맵과 같은 디스패리티 또는 시차 맵은 깊이 맵과 유사하게 처리될 수 있다. 깊이 및 디스패리티는 간단한 대응성을 가지며, 이들은 수식을 통해 서로로부터 계산될 수 있다.
텍스처 뷰 및 깊이 뷰는 텍스처 뷰 중 몇몇이 H.264/AVC 및/또는 MVC와 같은 하나 이상의 비디오 표준과 호환가능할 수 있는 단일 비트스트림으로 코딩될 수 있다. 다시 말해, 디코더는 그러한 비트스트림의 텍스처 뷰 중 몇몇을 디코딩하는 것이 가능할 수 있고 나머지 텍스처 뷰 및 깊이 뷰를 생략할 수 있다.
이 맥락에서 하나 이상의 텍스처 및 깊이 뷰를 단일 H.264/AVC 및/또는 MVC 호환가능 비트스트림으로 인코딩하는 인코더는 또한 3DV-ATM 인코더라고 불린다. 그러한 인코더에 의해 생성된 비트스트림은 3DV-ATM 비트스트림으로 지칭될 수 있다. 3DV-ATM 비트스트림은 H.264/AVC 및/또는 MVC 디코더가 디코딩할 수 없는 텍스처 뷰 중 몇몇, 그리고 깊이 뷰를 포함할 수 있다. 3DV-ATM 비트스트림으로부터 모든 뷰를 디코딩할 수 있는 디코더는 또한 3DV-ATM 디코더로 불릴 수 있다.
3DV-ATM 비트스트림은 선택된 개수의 AVC/MVC 호환가능 텍스처 뷰를 포함할 수 있다. 나아가, 3DV-ATM 비트스트림은 AVC/MVC 표준의 코딩 도구만을 사용하여 코딩된 선택된 개수의 깊이 뷰를 포함할 수 있다. AVC/MVC 호환가능 텍스처 뷰를 위한 3DV-ATM 비트스트림의 나머지 깊이 뷰는 텍스처 뷰로부터 예측될 수 있고/있거나 AVC/MVC 표준에 현재 포함되지 않은 깊이 코딩 방법을 사용할 수 있다. 나머지 텍스처 뷰는 향상된 텍스처 코딩, 즉 AVC/MVC 표준에 현재 포함되지 않은 코딩 도구를 활용할 수 있다.
콤포넌트 간 예측(inter-component prediction)은 신택스 요소 값, 샘플 값, 디코딩 프로세스에서 사용되는 변수 값 또는 유사한 임의의 것(하나의 유형의 콤포넌트 픽처(component picture)부터 다른 유형의 콤포넌트 픽처까지)의 예측을 포함하도록 정의될 수 있다. 예를 들어, 콤포넌트 간 예측은 깊이 뷰 콤포넌트로부터의 텍스처 뷰 콤포넌트의 예측 또는 그 반대를 포함할 수 있다.
3DV-ATM 비트스트림의 신택스 및 시맨틱스 및 3DV-ATM 비트스트림을 위한 디코딩 프로세스의 예는 적어도 두 개의 텍스처 뷰가 MVC 호환가능(MVC compatible)할 것을 요구하는 문서 MPEG N12544("Working Draft 2 of MVC extension for inclusion of depth maps")에서 찾을 수 있다. 나아가, 깊이 뷰는 현존하는 AVC/MVC 코딩 도구를 사용하여 코딩될 수 있다. 3DV-ATM 비트스트림의 신택스 및 시맨틱스 및 3DV-ATM 비트스트림을 위한 디코딩 프로세스의 예는 적어도 하나의 텍스처 뷰가 AVC 호환가능(AVC compatible)할 것을 요구하고 추가적인 텍스처 뷰가 MVC 호환가능할 수 있는 문서 MPEG N12545("Working Draft 1 of AVC compatible video with depth information")에서 찾을 수 있다. 언급된 문서들에 명시된 비트스트림 포맷 및 디코딩 프로세스는 이하에서 기술되는 바와 같이 호환가능하다. "MVC extension for inclusion of depth maps"(MPEG N12544)의 작업 초안에 대응하는 3DV-ATM 구성은 "3D High" 또는 "MVC+D"(MVC 플러스 깊이를 의미함)로 지칭될 수 있다. "AVC compatible video with depth information"(MPEG N12545)의 작업 초안에 대응하는 3DV-ATM 구성은 "3D Extended High" 또는 "3D Enhanced High" 또는 "3D-AVC"로 지칭될 수 있다. 3D Extended High 구성은 3D High 구성의 수퍼세트(superset)이다. 즉, 3D Extended High 구성을 지원하는 디코더는 3D High 구성을 위해 생성된 비트스트림을 디코딩할 수도 있어야 한다.
MVC+D 사양의 이후 초안 버전은 MPEG 문서 N12923("Text of ISO/IEC 14496-10:2012/DAM2 MVC extension for inclusion of depth maps")으로서 이용가능하다. 3D-AVC 사양의 이후 초안 버전은 MPEG 문서 N12732("Working Draft 2 of AVC compatible video with depth")로서 이용가능하다.
도 10은 가령 3DV-ATM에서 깊이 맵 코딩을 위한 예시적 처리 흐름을 도시한다.
MVC+D와 같은 몇몇 깊이 향상된 비디오 코딩 및 비트스트림에서, 깊이 뷰는 텍스처 뷰를 위한 시퀀스 파라미터 세트보다는 상이하게 구조화된 시퀀스 파라미터 세트(가령 서브세트 SPS NAL 단위)를 참조할 수 있다. 예를 들어, 깊이 뷰를 위한 시퀀스 파라미터 세트는 시퀀스 파라미터 세트 3D 비디오 코딩 확장(sequence parameter set 3D video coding (3DVC) extension)을 포함할 수 있다. 상이한 SPS 구조가 깊이 향상된 비디오 코딩을 위해 사용되는 경우, 가령 SPS는 3D 비디오 코딩 (3DVC) 서브세트 SPS 또는 3DVC SPS로 지칭될 수 있다. 신택스 구조 관점에서, 3DVC 서브세트 SPS는 멀티뷰 비디오 코딩을 위한 SPS(가령 MVC 서브세트 SPS)의 수퍼세트(superset)일 수 있다.
MVC+D 비트스트림와 같은 깊이 향상된 멀티뷰 비디오 비트스트림은 두 유형의 동작 포인트를 포함할 수 있다: 멀티뷰 비디오 동작 포인트(예컨대 MVC+D 비트스트림을 위한 MVC 동작 포인트) 및 깊이 향상된 동작 포인트. 텍스처 뷰 콤포넌트만으로 이루어지는 멀티뷰 비디오 동작 포인트는 멀티뷰 비디오를 위한 SPS, 예컨대 하나 이상의 텍스처 뷰에 의해 참조되는 SPS에 포함된 시퀀스 파라미터 세트 MVC 확장에 의해 지정될 수 있다. 깊이 향상된 동작 포인트는 깊이 향상된 비디오를 위한 SPS, 예컨대 하나 이상의 깊이 뷰에 의해 참조되는 SPS에 포함된 시퀀스 파라미터 세트 MVC 또는 3DVC 확장에 의해 지정될 수 있다.
깊이 향상된 멀티뷰 비디오 비트스트림은 다수의 시퀀스 파라미터 세트(가령, 기반 텍스처 뷰를 위한 하나, 비 기반 텍스처 뷰를 위한 다른 하나 및 깊이 뷰를 위한 세 번째 것)를 포함하거나 그것들과 연관될 수 있다. 예를 들어, MVC+D 비트스트림은 (SPS 식별자가 가령 0과 동일한) 하나의 SPS NAL 단위, (SPS 식별자가 가령 1과 동일한) 하나의 MVC 서브세트 SPS NAL 단위 및 (SPS 식별자가 가령 2와 동일한) 하나의 3DVC 서브세트 SPS NAL 단위를 포함할 수 있다. 첫 번째 것은 NAL 단위 유형에 의해 다른 두개와 구별되나, 뒤의 두 개는 상이한 프로파일을 가진다(즉, 그 중 하나는 MVC 프로파일을 나타내고 다른 하나는 MVC+D 프로파일을 나타낸다).
텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트의 코딩 및 디코딩 순서는 가령 시퀀스 파라미터 세트 내에 표시될 수 있다. 예를 들어, 시퀀스 파라미터 세트 3DVC 확장의 다음 신택스가 3D-AVC 사양 초안(MPEG N12732)에서 사용된다.
Figure pct00005
depth_preceding_texture_flag[i]의 시맨틱스는 다음과 같이 지정될 수 있다. depth_preceding_texture_flag[i]는 텍스처 뷰 콤포넌트에 대하여 깊이 뷰 콤포넌트의 디코딩 순서를 명시한다. 1과 동일한 depth_preceding_texture_flag[i]는 view_idx가 i와 동일한 뷰의 깊이 뷰 콤포넌트가 텍스처 및 깊이 뷰 콤포넌트를 둘 다 포함하는 각 액세스 단위에서 디코딩 순서로 동일한 뷰의 텍스처 뷰 콤포넌트를 선행함을 나타낸다. 0과 동일한 depth_preceding_texture_flag[i]는 view_idx가 i와 동일한 뷰의 텍스처 뷰 콤포넌트가 텍스처 및 깊이 뷰 콤포넌트를 둘 다 포함하는 각 액세스 단위에서 디코딩 순서로 동일한 뷰의 깊이 뷰 콤포넌트를 선행함을 나타낸다.
MVC+D 비트스트림 또는 AVC-3D 비트스트림과 같은 코딩된 깊이 향상된 비디오 비트스트림은 두 유형의 동작 포인트를 포함한다고 간주될 수 있다: MVC 동작 포인트와 같은 텍스처 비디오 동작 포인트 및 텍스처 뷰 및 깊이 뷰 모두를 포함하는 텍스처 플러스 깊이(texture-plus-depth) 동작 포인트. MVC 동작 포인트는 SPC MVC 확장에 의해 지정된 것과 같은 텍스처 뷰 콤포넌트를 포함한다. MVC+D 비트스트림 또는 AVC-3D 비트스트림과 같은 코딩된 깊이 향상된 비디오 비트스트림은 깊이 뷰를 포함하고, 따라서 서브비트스트림뿐만 아니라 전체 비트스트림이 이른바 3DVC 동작 포인트를 제공할 수 있는데, 이는 MVC+D 및 AVC-3D 사양 초안에서 각 타겟 출력 뷰를 위해 깊이 및 출력 모두를 포함한다. MVC+D 및 AVC-3D 사양 초안에서, 3DVC 동작 포인트는 SPS MVC 확장에서 사용된 것과 동일한 신택스 구조에 의해 3DVC 서브세트 SPS 내에 정의된다.
텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트의 코딩 및/또는 디코딩 순서는 콤포넌트 간 예측에 관련된 신택스 요소의 존재 및 콤포넌트 간 예측에 관련된 신택스 요소의 허용된 값을 결정할 수 있다.
이하에서 본 발명의 다양한 실시예에서 또는 이와 함께 사용될 수 있는 몇몇 예시적 코딩 및 디코딩 방법이 기술된다. 이 코딩 및 디코딩 방법은 예로서 주어지며 본 발명의 실시예는 다른 유사한 코딩 방법 및/또는 콤포넌트 간 중복성 또는 종속성을 활용하는 다른 코딩 방법과 함께 적용될 수 있다는 점이 이해될 필요가 있다.
깊이 맵은 가령 다음과 같이 기술되는 인루프(in-loop) 공동 뷰 간 깊이 필터링(Joint inter-View Depth Filtering: JVDF) 또는 유사한 필터링 프로세스를 사용하여 공동으로 필터링될 수 있다. 현재 처리되는 뷰 V C 의 깊이 맵은 깊이 공간(Z-공간)으로 전환될(converted) 수 있다:
[수학식 2]
Figure pct00006
이를 따르면, 다른 이용가능한 뷰 (V a1 , V a2 )의 깊이 맵 이미지는 깊이 공간으로 전환되고 현재 처리되는 뷰 V C 로 투영될(projected) 수 있다. 이 투영은 깊이 값의 여러 추정치를 생성하는데, 이는 깊이 값의 잡음제거된(denoised) 추정치를 산출하기 위하여 평균화될 수 있다. 현재의 뷰 V C 의 필터링된 깊이 값
Figure pct00007
은 이용가능한 뷰 V a 로부터 현재 처리되는 뷰 V C 로 투영된 깊이 추정 값
Figure pct00008
과 함께 가중 평균(weighted average)을 통해 산출될 수 있다.
Figure pct00009
여기서 { w 1 , w 2 }는 상이한 뷰 또는 뷰 투영의 깊이 값에 대한 가중 인자 또는 필터 계수이다.
만약 깊이 값 추정치가 어떤 신뢰 구간(confidence interval)에 속하는 경우, 다시 말해, 만약 추정치 간 절대차(absolute difference)가 특정한 임계 (Th)를 밑도는 경우, 필터링이 적용될 수 있다:
Figure pct00010
파라미터 Th는 가령 시퀀스 파라미터 세트 내에서 디코더로 전송될 수 있다.
도 11은 JVDF의 인루프 구현으로써 두 깊이 맵 뷰를 코딩하는 것의 예를 도시한다. H.264/AVC와 같은 종래의 비디오 코딩 알고리즘이 흑색으로 마킹된 점선 상자(1100) 내에 묘사된다. JVDF는 실선 상자(1102)에 묘사된다.
공동 멀티뷰 비디오 플러스 깊이 코딩(Joint Multiview Video plus Depth Coding: JMVDC)로 알려진 코딩 도구에서, 멀티뷰 텍스처 비디오 및 연관된 깊이 뷰 시퀀스 간의 상관관계가 활용된다. 텍스처 비디오 및 그것의 깊이 맵 시퀀스 간에 픽셀 값이 상당히 다르나, 텍스처 비디오 및 연관된 깊이 맵 시퀀스 내의 대상체의 실루엣과 움직임은 통상적으로 유사하다. 제안된 JMVDC 방안은 MVC 및 SVC 코딩 방안의 조합에 의해 실현될 수 있다. 특히, JMVDC는 SVC의 계층 간 움직임 예측 메커니즘을 MVC에서의 예측 구조에 내장하는 것(embedding)에 의해 실현될 수 있다. 각각의 뷰는 텍스처가 기반 계층에 있고 깊이가 향상 계층에 있는 두 계층 표현인 것으로 간주되고/되거나 코딩될 수 있는데, 이는 계층 간 움직임 예측만 허용되는 SVC의 조립 스케일가능성(Coarse Granular Scalability: CGS)을 사용하여 코딩될 수 있다. 추가로, 뷰 간 예측은 기반 계층에서도(텍스처) 비 기반(non-base) 뷰를 위한 향상 계층에서도(깊이) 가능하게 된다. JMVDC의 계층 간 움직임 예측이 기반 계층을 위해 사용되는 임의의 뷰 간 예측 구조를 위해 적용될 수도 있으나, 인코더 및 디코더는 뷰 간 예측이 IDR 및 앵커 액세스 단위에서 나타날 뿐인 방식으로 실현될 수 있는데, 그것이 복잡도 및 압축 효율 간의 합리적인 절충을 제공하여 JMVDC의 구현 활동(implementation effort)을 편하게 할 수 있기 때문이다. 이하에서, JMVDC 방안은 뷰 간 예측이 IDR/앵커 액세스 단위에서만 허용되고 비 IDR/비 앵커 액세스 단위에서는 불허되는 경우 IDR/앵커 및 비 앵커 액세스 단위에 대하여 기술된다.
IDR 및 앵커 픽처에 대하여, JMVDC 방안은 다음과 같이 적용될 수 있다. 뷰 간 예측에서 사용되는 움직임 벡터는 디스패리티 벡터(disparity vector)로 불린다. 도 12에 예시된 바와 같이, 멀티뷰 텍스처 비디오의 디스패리티 벡터는 계층 간 움직임 예측 프로세스에서 멀티뷰 깊이 맵의 디스패리티 벡터의 도출을 위한 예측 참조로서 사용된다. 예시적 코딩 방안에서, 이 예측 메커니즘은 계층 간 디스패리티 예측으로 지칭된다. JMVDC에서의 비 IDR/비 앵커 픽처의 코딩에 대하여, 인터 예측을 위한 깊이 움직임 벡터는 도 13에서 묘사된 바와 같이 각각의 텍스처 움직임 벡터로부터 계층 간 움직임 예측 프로세스를 사용하여 예측될 수 있다.
향상 계층 매크로블록을 위한 모드 결정 프로세스(mode decision process)는 앵커 픽처 및 비 앵커 픽처 둘 다에 대해 동일할 수 있다. 기반 모드(base mode)가 모드 결정 프로세스에 추가될 수 있고 기반 계층 내의 코로케이팅된 매크로블록의 움직임/디스패리티 벡터는 각 향상 계층 매크로블록을 위한 움직임/디스패리티 벡터 예측기(motion/disparity vector predictor)로서 선택될 수 있다.
JMVDC 도구는 또한 깊이 뷰가 기반 계층으로 간주되고 각각의 텍스처 뷰가 향상 계층으로 간주되는 배열에서 사용될 수 있고, 그렇지 않다면 전술된 바와 같이 코딩 및 디코딩이 행해질 수 있다.
뷰 내부 움직임 예측(Inside-View Motion Prediction: IVMP)으로 알려진 코딩 도구가 다음과 같이 동작할 수 있다. IVMP 모드에서, 텍스처 뷰 콤포넌트 내의 코로케이팅된 매크로블록의 움직임 벡터, 참조 인덱스, mb_type 및 sub_mb_type를 포함하여, 움직임 정보는 동일한 뷰의 깊이 뷰 콤포넌트에 의해 재사용될 수 있다. 플래그가 각 매크로블록 또는 매크로블록 파티션 내에 시그널링되어 그것이 IVMP 모드를 사용하는지 여부를 나타낼 수 있다. 만약 깊이 뷰 콤포넌트의 공간적 해상도가 텍스처 뷰 콤포넌트의 공간적 해상도와 상이하다면, 깊이 뷰 콤포넌트의 움직임 벡터는 그것이 텍스처 뷰 콤포넌트의 코로케이팅된 블록 또는 매크로블록의 움직임 벡터로 사용되는 경우 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트의 공간적 해상도 간의 비율에 비례하여 스케일링될 수 있다.
깊이 향상된 비디오에 대한 텍스처 및 깊이의 공동 코딩의 경우, 뷰 합성이 코덱의 루프 내에서 활용될 수 있고, 그리하여 뷰 합성 예측(View Synthesis Prediction: VSP)을 제공한다. VSP에서, 텍스처 및 깊이 정보를 활용하는 DIBR 또는 뷰 합성 알고리즘을 사용하여 VSP 참조 픽처와 같은 예측 신호가 형성된다. 예를 들어, 뷰 간 참조 픽처들 및 뷰 간 유일 참조 픽처(inter-view only reference picture)들에 대해 행해지는 것과 유사한 방식으로 합성된 픽처(즉, VSP 참조 픽처)가 참조 픽처 리스트에 도입될 수 있다. 대안적으로 또는 추가적으로, 어떤 예측 블록에 대한 특정한 VSP 예측 모드가 인코더에 의해 결정될 수 있고, 인코더에 의해 비트스트림 내에 나타내어질 수 있으며, 디코더에 의해 비트스트림으로부터 판단되는 것으로 사용될 수 있다.
MVC에서, 인터 예측 및 뷰 간 예측 모두 유사한 움직임 보상된 예측 프로세스를 사용한다. 뷰 간 참조 픽처 및 뷰 간 유일 참조 픽처는 상이한 예측 프로세스에서 장기 참조 픽처로 본질적으로 취급된다. 유사하게, 뷰 합성 예측은 그것이 본질적으로 인터 예측 및 뷰 간 예측과 동일한 움직임 보상된 예측 프로세스를 사용하는 방식으로 실현될 수 있다. 어떠한 VSP도 없이 단일 뷰 내에서만 발생하는 움직임 보상된 예측과 구별하기 위해, 인터 예측, 인터예측 및/또는 뷰 합성 예측을 혼합하는 것을 유연하게 선택하는 것을 포함하고 그러한 것이 가능한 움직임 보상된 예측은 본 명세서에서 혼합된 방향 움직임 보상된 예측(mixed-direction motion-compensated prediction)으로 지칭된다.
MVC 및 3DV-ATM과 같은 MVD를 위한 구상중인 코딩 방안 내, 그리고 유사한 코딩 방안 내의 참조 픽처 리스트는 하나보다 많은 유형의 참조 픽처, 즉 인터 참조 픽처(뷰 내(intra-view) 참조 픽처로도 알려짐), 뷰 간 참조 픽처, 뷰 간 유일 참조 픽처 및 VSP 참조 픽처를 포함할 수 있는바, 예측 방향(prediction direction)이라는 용어는 뷰 내 참조 픽처(시간적 예측), 뷰 간 예측 또는 VSP의 사용을 나타내도록 정의될 수 있다. 예를 들어, 인코더는 특정 블록에 대해 뷰 간 참조 픽처를 가리키는 참조 인덱스를 선택할 수 있고, 따라서 그 블록의 예측 방향은 뷰 간이다.
현재의 텍스처 뷰 콤포넌트의 코딩을 위한 뷰 합성 예측을 가능하게 하기 위하여, 동일한 액세스 단위의 이전에 코딩된 텍스처 및 깊이 뷰 콤포넌트가 뷰 합성을 위해 사용될 수 있다. 동일한 액세스 단위의 이전에 코딩된 텍스처 및 깊이 뷰 콤포넌트를 사용하는 그러한 뷰 합성은 순방향 뷰 합성(forward view synthesis) 또는 순방향 투영된 뷰 합성(forwawrd-projected view synthesis)로 지칭될 수 있고, 마찬가지로 그러한 뷰 합성을 사용하는 뷰 합성 예측은 순방향 뷰 합성 예측 또는 순방향 투영된 뷰 합성 예측으로 지칭될 수 있다.
순방향 뷰 합성 예측(View Synthesis Prediction: VSP)은 다음과 같이 수행될 수 있다. 뷰 합성은 합성된 타겟 이미지 t(x+D,y) 내의 새로운 픽셀 위치 내의 소스 픽처 s(x,y)의 다음 맵핑 픽셀에 대하여 깊이 맵(d)에서 디스패리티(D)로의 전환을 통해 구현될 수 있다.
[수학식 3]
Figure pct00011
텍스처 픽처의 투영의 경우, s(x,y)는 텍스처 이미지의 샘플이고, d(s(x,y))s(x,y)와 연관된 깊이 맵 값이다.
합성을 위해 사용되는 참조 프레임이 4:2:0인 경우, 크로마 콤포넌트는 가령 샘플 값을 다음과 같이 반복함으로써 4:4:4로 업샘플링될 수 있다.
Figure pct00012
여기서 s' chroma (·,·)는 전해상도(full resolution)에서의 크로마 샘플 값이고, s chroma (·,·)는 반해상도(half resolution)에서의 크로마 샘플 값이다.
깊이 맵 값의 투영의 경우, s(x,y)=d(x,y)이고 이 샘플은 그 자신의 값 d(s(x,y))=d(x,y)를 사용하여 투영된다.
워핑(warping)은 합성된 프레임을 다시 원래의 해상도로 워핑하고 다운샘플링(downsampling)하기 전에 참조 프레임 상에서 업샘플링하는 것에 의해 서브픽셀 정확도로 수행될 수 있다.
뷰 합성 프로세스는 두 개의 개념적 단계를 포함할 수 있다: 순방향 워핑(forward warping) 및 홀 필링(hole filling). 순방향 워핑에서, 참조 이미지의 각 픽셀은 합성된 이미지로 맵핑된다. 참조 프레임으로부터의 다수의 픽셀이 합성되는 뷰 내의 동일한 샘플 위치로 맵핑되는 경우, 더 큰 깊이 값(카메라에 더 가까움)과 연관된 픽셀이 맵핑 경쟁에서 선택될 수 있다. 모든 픽셀을 워핑한 후, 어떠한 샘플 값도 참조 프레임으로부터 맵핑되지 않은 채 남아 있는 몇몇 홀 픽셀이 있을 수 있고, 이 홀 픽셀들은 가령 선 기반 방향성 홀 필링(line-based directional hole filling)으로써 안이 채워질 수 있는데, 여기서 "홀"은 두 개의 비 홀(non-hole) 픽셀 간의 수평인 선 내의 연속적인 홀 픽셀로 정의될 수 있다. 홀 픽셀은 더 작은 깊이 샘플 값(카메라로부터 더 멈)을 갖는 두 개의 인접한 비 홀 픽셀 중 하나에 의해 채워질 수 있다.
워핑 및 홀 필링은 가령 다음과 같이 단일 처리 루프에서 수행될 수 있다. 입력 참조 이미지의 각 픽셀 행은 가령 좌에서 우로 횡단되고, 입력 참조 이미지 내의 각 픽셀은 다음과 같이 처리된다:
현재의 픽셀은 위의 깊이에서 디스패리티로의(depth-to-disparity) 맵핑/워핑 방정식에 따라 타겟 합성 이미지로 맵핑된다. 깊이 경계 주위의 픽셀은 한 픽셀이 두 개의 이웃한 위치로 맵핑되는 스플래팅(splatting)을 사용할 수 있다. 경계 검출은 참조 이미지의 각 선 내의 N 픽셀마다 수행될 수 있다. 픽셀은 그 픽셀의 깊이 샘플 값 및 (그 픽셀의 우측으로 N 픽셀인) 동일한 선 내의 이웃한 픽셀의 깊이 샘플 값 간의 차이가 임계(합성되는 이미지에 대한 정수의 워핑 정확도로 M 픽셀의 디스패리티 차이에 해당함)를 초과하는 경우 깊이 경계 픽셀(depth-boundary pixel)로 간주될 수 있다. 깊이 경계 픽셀 및 깊이 경계 픽셀의 우측으로 K개의 이웃한 픽셀은 스플래팅을 사용할 수 있다. 더욱 구체적으로, N = 4×UpRefs, M = 4, K = 16×UpRefs-1이고, 여기서 UpRefs는 워핑 전 참조 이미지의 업샘플링율이다.
현재의 픽셀이 z 버퍼링(z-buffering)을 얻는 경우, 즉 현재의 픽셀이 이전에 워핑된 픽셀이 없거나 이전에 워핑된 픽셀이 더 작은 깊이 샘플 값을 갖는 위치로 워핑되는 경우, 반복이 유효하다고 정의되며 다음 단계가 실행될 수 있다. 그렇지 않다면, 반복은 효과가 없고 입력 참조 이미지 내의 다음 픽셀부터 처리가 계속된다.
이 반복 및 이전의 유효한 반복의 맵핑된 위치 간 격차가 있다면, 홀이 식별될 수 있다.
홀이 식별되었고 현재의 맵핑된 위치가 이전 것의 우측에 있다면, 그 홀은 채워질 수 있다.
홀이 식별되었고 현재의 반복이 픽셀을 이전의 유효한 반복의 맵핑된 위치의 좌측에 맵핑했다면, 이 맵핑된 위치의 바로 좌측의 연속적인 픽셀은 만약 그것이 홀이라면 갱신될 수 있다.
남겨진 참조 뷰로부터 뷰 합성된 픽처를 생성하기 위하여, 참조 이미지는 우선 플리핑될(flipped) 수 있고 이어서 워핑 및 홀 필링의 위 프로세스는 중간 합성된 픽처(intermediate synthesized picture)를 생성하는 데 사용될 수 있다. 중간 합성된 픽처는 합성된 픽처를 획득하기 우해 플리핑될 수 있다. 대안적으로, 위의 프로세스는 깊이에서 디스패리티로의 맵핑, 경계 인식 스플래팅(boundary-aware splatting) 및 뷰 합성 예측을 위한 다른 프로세스를 기본적으로 수평 방향 및 순서에 대한 반대 가정(reverse assumptions)과 함께 수행하도록 변화될 수 있다.
다른 예시적 실시예에서 뷰 합성 예측은 다음을 포함할 수 있다. 뷰 합성 픽처를 도출하기 위한 이 예시적 프로세스의 입력은 텍스처 뷰 콤포넌트의 디코딩된 루마 콤포넌트 srcPicY, srcPicY의 해상도로 업샘플링된 두 크로마 콤포넌트 srcPicCb 및 srcPicCr, 그리고 깊이 픽처 DisPic이다.
뷰 합성 픽처를 도출하기 위한 예시적 프로세스의 출력은 디스패리티 기반 워핑을 통해 산출되는 합성 참조 콤포넌트(synthetic reference component) vspPic의 샘플 어레이(sample array)인데, 이는 다음 의사 코드(pseudo code)로써 예시될 수 있다:
Figure pct00013
여기서 함수 "Disparity()"는 공간적 위치 i,j에서의 깊이 맵 값을 디스패리티 값 dX로 전환하고, PicHeigh는 픽처의 높이(height)이며, PicWidth는 픽처의 폭(width)이고, srcTexturePicY는 소스 텍스처 픽처이며, outputPicY는 출력 픽처의 Y 콤포넌트이고, outputPicCb는 출력 픽처의 Cb 콤포넌트이며, outputPicCr은 출력 픽처의 Cr 콤포넌트이다.
디스패리티는 아래에 보여진 바와 같이 두 뷰 간의 이동(translation) b, 카메라의 초점거리 f 및 깊이 맵 표현의 파라미터들(Znear, Zfar)와 같은 카메라 설정을 고려하여 계산된다.
[수학식 4]
Figure pct00014
전술된 프로세스에서 기인하는 vspPic 픽처는 홀 및/또는 폐색과 같은 다양한 워핑 아티팩트(artifact)들이 특징일 수 있고 그 아티팩트들을 억제하기 위하여, 홀 필링과 같은 후처리 동작이 적용될 수 있다.
그러나, 이 동작은 계산상의 복잡도를 줄이기 위해 회피될 수 있는데, 뷰 합성 픽처 vspPic가 예측을 위한 참조 픽처를 위해 활용되고 디스플레이에는 출력되지 않을 수 있기 때문이다.
역방향 뷰 합성(backward view synthesis) 또는 역방향 투영된 뷰 합성(backward-projected view synthesis)로 지칭되는 방안에서, 합성되는 뷰와 함께 코로케이팅된 깊이 맵은 뷰 합성 프로세스에서 사용된다. 그러한 역방향 뷰 합성을 사용하는 뷰 합성 예측은 역방향 뷰 합성 예측 또는 역방향 투영된 뷰 합성 예측 또는 B-VSP로 지칭될 수 있다. 현재의 텍스처 뷰 콤포넌트의 코딩을 위한 역방향 뷰 합성 예측을 가능하게 하기 위하여, 현재 코딩된/디코딩된 텍스처 뷰 콤포넌트의 깊이 뷰 콤포넌트는 이용가능할 것이 요구된다. 다시 말해, 깊이 뷰 콤포넌트의 코딩/디코딩 순서가 각자의 텍스처 뷰 콤포넌트의 코딩/디코딩 순서에 선행하는 경우, 역방향 뷰 합성 예측이 텍스처 뷰 콤포넌트의 코딩/디코딩에서 사용될 수 있다.
B-VSP로써, 종속적 뷰(dependent view)의 텍스처 픽셀이 합성된 VSP 프레임으로부터가 아니라 기반 또는 참조 뷰의 텍스처 픽셀로부터 직접 예측될 수 있다. 이 프로세스를 위해 요구되는 변위 벡터는 종속적 뷰의 깊이 맵 데이터, 즉 현재 코딩/디코딩되는 텍스처 뷰 콤포너트에 대응하는 깊이 뷰 콤포넌트로부터 산출될 수 있다.
B-VSP의 개념은 도 17을 참조하여 다음과 같이 설명될 수 있다. 다음 코딩 순서가 활용된다고 가정하자: (T0, D0, D1, T1). 텍스처 콤포넌트 T0는 기반 뷰이고 T1은 B-VSP를 하나의 예측 도구로서 사용하여 코딩/디코딩된 종속적 뷰이다. 깊이 맵 콤포넌트 D0 및 D1은 각각 T0 및 T1과 연관된 각 깊이 맵이다. 종속적 뷰 T1에서, 현재 코딩되는 블록 Cb의 샘플 값은 기반 뷰 T0의 샘플 값을 이루는 참조 영역 R(Cb)로부터 예측될 수 있다. 코딩된 샘플 및 참조 샘플 간 변위 벡터(움직임 벡터)는 현재 코딩되는 텍스처 샘플과 연관된 깊이 맵 값으로부터 T1 및 T0 간 디스패리티로서 찾아질 수 있다.
깊이 (1/Z) 표현을 디스패리티로 전환하는 프로세스는 가령 다음 식으로 수행될 수 있다:
[수학식 5]
Figure pct00015
여기서 j 및 i는 Cb 내의 국부적 공간 좌표이고, d(Cb(j,i))는 뷰 #1의 깊이 맵 이미지 내의 깊이 맵 값이며, Z는 실제 깊이 값이고, D는 특정 뷰 #0으로의 디스패리티이다. 파라미터 f, b, Znear 및 Zfar는 카메라 설정(camera setup)을 지정하는 파라미터인데, 즉 사용되는 초점 거리(f), 뷰 #1 및 뷰 #0 간의 카메라 이격 (b) 및 깊이 맵 전환의 파라미터를 나타내는 깊이 범위 (Znear, Zfar)이다.
VSP에서 기인하는 합성된 픽처는 가령 시간적 및 뷰 간 참조 프레임을 따르는 초기 참조 픽처 리스트 List0 및 List1에 포함될 수 있다. 그러나, 참조 픽처 리스트 수정 신택스(즉, RPLR 명령)는 VSP 참조 픽처를 지원하도록 확장될 수 있고, 따라서 인코더는 어떤 순서라도 참조 픽처 리스트를 순서화하고 최종 순서를 RPLR 명령으로써 비트스트림 내에 나타낼 수 있는바, 디코더로 하여금 동일한 최종 순서를 갖는 참조 픽처 리스트를 재구성하도록 한다.
VSP는 몇몇 인코딩 및 디코딩 배열에서 인트라, 인터, 뷰 간 및 다른 코딩 모드들로부터 별개의 모드로서 사용될 수도 있다. 예를 들어, 어떠한 움직임 벡터 차이도 VSP 스킵/직접 모드를 사용하는 블록을 위해 비트스트림 내에 인코딩되지 않을 수 있으나, 인코더 및 디코더는 움직임 벡터 차이가 0과 동일하고/하거나 움직임 벡터가 0과 동일하다고 추론할 수 있다. 나아가, VSP 스킵/직접 모드는 어떠한 변환 코딩된(transform-coded) 잔차 블록도 VSP 스킵/직접 모드를 사용하는 블록을 위해 인코딩되지 않는다고 추론할 수 있다.
깊이 기반 움직임 벡터 예측(Depth-based Motion Vector Prediction)은 이용가능한 깊이 맵 데이터를 사용 중에 취하고 그것을 연관된 깊이 맵 텍스처 데이터의 코딩/디코딩을 위해 활용하는 코딩 도구이다. 이 코딩 도구는 동일한 뷰의 텍스처 뷰 콤포넌트에 앞서 코딩/디코딩될 뷰의 깊이 뷰 콤포넌트를 요구할 수 있다. D-MVP 도구는 다음에 기술되는 두 부분인 방향 분리된(direction-separated) MVP 및 스킵 및 직접 모두를 위한 깊이 기반 MV 경쟁을 포함할 수 있다.
방향 분리된 MVP는 다음과 같이 설명될 수 있다. 모든 이용가능한 이웃 블록은 그들의 예측의 방향에 따라 분류된다(가령 시간적, 뷰 간 및 뷰 합성 예측). 현재 블록 Cb(도 15A를 참조하시오)가 뷰 간 참조 픽처를 사용하는 경우, 뷰 간 예측을 활용하지 않는 모든 이웃 블록은 MVP에 대해 이용불가능(non-available)한 것으로 마킹되고 H.264/AVC의 MVP와 같은 종래의 움직임 벡터 예측에서 고려되지 않는다. 유사하게, 현재 블록 Cb가 시간적 예측을 사용하는 경우, 뷰 간 참조 프레임을 사용한 이웃 블록은 MVP에 대해 이용불가능한 것으로 마킹된다. 이 프로세스의 흐름도가 도 14에 묘사된다. 그 흐름도 및 아래의 설명은 시간적 및 뷰 간 예측 방향만을 고려하나, 그것은 가령 뷰 합성 예측과 같은 다른 예측 방향도 커버하도록 유사하게 확장될 수 있거나, 시간적 및 뷰 간 예측 방향 중 하나 또는 양자 모두가 다른 예측 방향에 의해 유사하게 대체될 수 있다.
만약 어떠한 움직임 벡터 후보도 이웃 블록으로부터 이용가능하지 않다면, 뷰 간 예측을 위한 디폴트 "영 MV"(zero-MV) MVP (mv y =0, mv x =0)는 mv y =0 및 mv x =
Figure pct00016
로 대체될 수 있는데, 여기서
Figure pct00017
는 현재 텍스처 Cb와 연관된 평균 디스패리티이고 다음에 의해 계산될 수 있다:
Figure pct00018
여기서 i는 현재 블록 Cb 내의 픽셀의 인덱스이고, N은 현재 블록 Cb 내의 픽셀의 총 개수이다.
스킵 및 직접 모드를 위한 깊이 기반 MV 경쟁은 다음과 같이 3DV-ATM의 맥락에서 기술될 수 있다. 스킵 및 직접 모드에서의 제안된 깊이 기반 움직임 경쟁(Depth-based Motion Competition: DMC)을 위한 프로세스의 흐름도가 각각 도 16A 및 도 16B에 도시된다. 스킵 모드에서, 텍스처 데이터 블록 {A, B, C}의 움직임 벡터 {mv i }는 그것들의 예측 방향에 따라 그룹핑되어 시간적 및 뷰 간 각각을 위해 Group 1Group 2를 형성한다. 도 16A의 회색 블록에 상세히 보여진 DMC 프로세스는 각 그룹에 대해 독립적으로 수행될 수 있다.
주어진 그룹 내의 각 움직임 벡터 mv i 에 대하여, 움직임 보상된 깊이 블록 d(cb,mv i )이 우선 도출될 수 있는데, 움직임 벡터 mv i mv i 가 가리키는 참조 깊이 맵으로부터 깊이 블록을 획득하기 위하여 상대적으로 d(cb)의 위치에 적용된다. 그리고, d(cb)d(cb, mv i ) 간 유사도가 다음에 의해 추정될 수 있다:
Figure pct00019
현재 그룹 내의 절대차의 최소 합(minimal sum of absolute differences (SAD) value) 값을 제공하는 mv i 는 특정 방향 (mvp dir )을 위한 최적 예측기로서 선택될 수 있다
Figure pct00020
이에 따르면, 시간적 방향 (mvp tmp ) 내의 예측기는 뷰 간 방향 (mvp inter ) 내의 예측기와 경쟁하게 된다. 최소 SAD를 제공하는 예측기는 다음에 의해 얻을 수 있다:
Figure pct00021
최종적으로, 다른 뷰를 참조(뷰 간 예측)하는 mvp opt 는 다음 온전성 검사(sanity check)를 받을 수 있다: "영 MV"가 활용되는 경우 그것은 "디스패리티 MV"(disparity-MV) 예측기 mv y =0 및 mv x =로 대체되는데, 여기서
Figure pct00023
는 전술된 바와 같이 도출될 수 있다.
도 16B에 도시된, B 슬라이스의 직접 모드를 위한 MVP는 스킵 모드와 유사할 수 있으나, (회색 블록으로 마킹된) DMC가 두 참조 픽처 리스트(List 0 및 List 1) 모두에서 독립적으로 수행될 수 있다. 따라서, 각 예측 방향(시간적 또는 뷰 간)에 대해 DMC는 List 0 및 List 1에 대하여 각각 두 예측기(mvp0 dir mvp1 dir )를 산출한다. 뒤이어, mvp0 dir mvp1 dir 로부터 도출되는 쌍방향 보상된 블록(bi-direction compensated block)이 다음과 같이 계산될 수 있다:
Figure pct00024
그리고, 이 쌍방향 보상된 블록 및 Cb 간의 SAD 값은 각 방향에 대해 독립적으로 계산될 수 있고 직접 모드를 위한 MVP는 스킵 모드를 위하여 앞서 보여진 바와 같이 이용가능한 mvp inter mvp tmp 로부터 선택될 수 있다. 스킵 모드와 유사하게, mvp opt 가 다른 뷰를 참조하는 경우(뷰 간 예측), 각 참조 리스트 내의 "영 MV"는 "디스패리티 MV"로 대체될 수 있다.
멀티뷰 코딩(MVC), 깊이 향상된 비디오 코딩, 멀티뷰+깊이(MVD) 코딩, 그리고 멀티뷰 및 인루프 뷰 합성(multi-view with in-loop view synthesis)(MVC-VSP) 목적의 텍스처 뷰를 위한 깊이/디스패리티 기반 인트라 예측은 다음과 같이 기술될 수 있다. 텍스처의 깊이/디스패리티 기반 인트라 예측은 텍스처 데이터의 현재 블록(cb)에 대한 깊이 또는 디스패리티 정보 (Di)의 활용에 기반하여 새로운 인트라 예측 메커니즘의 세트를 포함한다고 간주될 수 있다. 텍스처 데이터의 현재 블록(cb)에 대한 깊이 또는 디스패리티 정보 (Di)는 코딩된 깊이 또는 디스패리티 정보의 디코딩을 통해 이용가능하거나 현재 텍스처 블록의 디코딩 전에 디코더 측에서 추정될 수 있고, 이 정보는 인트라 예측에서 활용될 수 있다고 가정된다.
이하에서, 텍스처 블록은 통상적으로 텍스처 픽처의 단일 색상 콤포넌트의 샘플의 블록(즉, 통상적으로 텍스처 픽처의 루마 또는 크로마 콤포넌트 중 하나의 샘플의 블록)을 지칭한다.
인코더는 인트라 코딩된 텍스처 블록의 코딩을 위한 다음 동작 중 하나 이상을 포함할 수 있다. 여기서 유사한 원리가 인트라 코딩된 텍스처 블록의 디코딩을 위하여 디코더 측에서 또한 적용가능하다는 점에 유의하여야 한다. 텍스처를 위한 깊이 기반 인트라 예측이 깊이를 참조하여 기술되나, 디스패리티 또는 시차가 깊이 대신 유사하게 사용될 수 있으리라는 점이 이해될 것이다. 그 설명은 블록이라는 용어를 참조하는데, 이는 가령 H.264/AVC에서 사용된 것과 유사한 매크로블록, HEVC WD에서 사용된 것과 유사한 트리블록 또는 비슷한 임의의 것일 수 있다.
깊이 경계 검출
인코더는 가령 다음과 같이 깊이 경계 검출을 적용할 수 있다. 깊이 경계는 가령 깊이 에지(depth edge), 깊이 불연속(depth discontinuity) 또는 깊이 윤곽(depth contour)으로도 지칭될 수 있다. 인코더에서, 연관된 (재구성된/디코딩된) 깊이 블록은 깊이 경계를 포함하거나 아니면 그렇지 않거나 하도록 분류된다. 동일한 깊이 경계 검출 알고리즘이 디코더에서 또한 수행될 수 있고, 그래서 인코더 및 디코더 둘 다는 재구성된/디코딩된 깊이 픽처를 위해 깊이 경계 검출을 수행할 수 있다. 검출된 깊이 경계는 아래에서 기술되는 동작 중 하나 이상에서 사용될 수 있다.
인코더 및 디코더는 가령 에지 또는 경계 검출 알고리즘을 사용함으로써 픽처 또는 블록 내의 가능한 에지 또는 다른 경계를 검출하고자 할 수 있다. 적용될 수 있는 많은 가능한 알고리즘이 있을 수 있다. 예를 들어, 깊이 경계 분류는 다음과 같이 행해질 수 있다. 그 분류는 그래디언트 크기 이미지(gradient magnitude image) G를 획득하기 위하여 다음 두 개의 3×3 커널을 사용하는 소벨 연산자(Sobel operator)를 사용할 수 있다.
Figure pct00025
여기서 A는 소스 이미지(재구성되는 깊이 이미지)이다.
시퀀스들이 G 값에서 상이한 동적 샘플 값 범위를 가질 수 있는바, G는 히스토그램 균등화(histogram equalization)을 사용하여 이미지 G'로 전환될 수 있다. 히스토그램 균등화에서 G'의 최소 및 최대 값은 각각 0 및 255로 설정될 수 있다. 또한, 제1 임계 T1 및 제2 임계 T2 역시 적절한 값으로 설정될 수 있다. 인코더 또는 디코더는 G'(x,y)>T1인지 조사할 수 있다. 만약 그렇다면, 포인트 (x,y)는 경계 포인트로 분류된다. 히스토그램 균등화가 현재 블록에 대해 수행된 경우, 하나의 블록 내의 경계 포인트의 개수가 제2 임계 T2보다 큰지 판정하기 위해 현재 블록 내의 가능한 경계 포인트의 개수가 검사될 수 있다. 만약 그렇다면, 이 블록은 깊이 경계를 포함한다고 분류된다.
인코더는 앞서 언급된 임계 T1 및 T2 중 임의의 것의 값을, 가령 그 임계의 상이한 값들로 블록들을 인코딩하는 것 및 라그랑주 율-왜곡 최적화 식(Lagrangian rate-distortion optimization equation)에 따라 최적인 임계의 값을 선택하는 것에 기반하여 결정할 수 있다. 인코더는 임계 T1 및/또는 T2의 결정된 값을, 가령 그것을 하나 이상의 신택스 요소로서 예컨대 매크로블록 신택스 구조 또는 유사한 임의의 것 내에서, 슬라이스 헤더, 픽처 헤더, 슬라이스 파라미터 세트, 픽처 파라미터 세트, 시퀀스 파라미터 세트 내에 인코딩함으로써, 비트스트림 내에 나타낼 수 있다. 디코더는 가령 임계 T1 및/또는 T2의 값을 나타내는 하나 이상의 코드워드(codeword)와 같은, 비트스트림 내에 인코딩된 정보에 기반하여 임계 T1 및/또는 T2를 판정할 수 있다.
텍스처 블록은 텍스처 블록과 코로케이팅된 깊이 블록이 깊이 경계를 포함하는 경우 깊이 경계를 함유하거나, 커버하거나, 포함하거나, 가지거나, 그것과 함께 있다. 깊이는 텍스처와는 상이한 공간적 해상도로 코딩될 수 있다. 그러므로, 텍스처 블록이 깊이 경계를 포함하거나 커버하는 경우인지 판정하는 데에서 공간적 해상도의 비율에 따른 스케일링이 고려될 수 있다.
깊이 기반 픽처 파티셔닝
인코더는 깊이 정보에 기초하여 픽처를 파티셔닝할 수 있다. 인코더가 픽처 파티셔닝을 비트스트림으로 코딩할 수 있거나, 디코더가 깊이 정보에 기초하여 픽처를 파티셔닝할 수 있다. 인코더 및 디코더는 하나의 픽처 파티션의 블록이 다른 픽처 파티션의 블록을 코딩 또는 디코딩 순서에서 선행할 수 있도록 픽처 파티셔닝에 따라 블록 코딩 또는 디코딩 순서를 변경할 수 있다.
깊이 경계를 포함하지 않은 텍스처 블록이 (가령, 래스터 스캔 순서로) 우선 코딩 또는 디코딩되나 깊이 경계를 포함하는 텍스처 블록은 건너뛰게 되고 차후에 코딩 또는 디코딩되도록 블록 코딩 순서 및 디코딩 순서가 각각 변경될 수 있다. 깊이 경계를 포함하는 텍스처 블록은 깊이 경계를 포함하지 않는 블록에 대한 예측을 위해 이용가능하지 않은 것으로 인코딩 및/또는 디코딩에서 마킹될 수 있다(마치 그것이 상이한 슬라이스 내에 있고 제한된 인트라 예측이 켜진 것처럼).
깊이 경계를 포함하는 텍스처 블록이 (가령, 래스터 스캔 순서로) 우선 코딩 또는 디코딩되나 깊이 경계를 포함하지 않는 텍스처 블록은 (가령, 래스터 스캔 순서로) 깊이 경계를 포함하는 텍스처 블록 후에 코딩 또는 디코딩되도록 블록 코딩 순서 및 디코딩 순서가 각각 변경될 수 있다. 깊이 경계를 포함하지 않는 텍스처 블록은 깊이 경계를 포함하는 블록에 대한 예측을 위해 이용가능하지 않은 것으로 인코딩 및/또는 디코딩에서 마킹될 수 있다(마치 그것이 상이한 슬라이스 내에 있고 제한된 인트라 예측이 켜진 것처럼).
깊이 기반 픽처 파티셔닝에서, 인코더는 H.264/AVC의 융통성 있는 매크로블록 순서화의 slice_group_map_type6를 사용할 수 있는데, 이는 매크로블록으로부터 슬라이스 그룹으로의 매크로블록별 맵핑(macroblock-wise mapping)을 제공하는 것을 가능하게 한다. 슬라이스 그룹 맵의 생성은 분류된 깊이 에지 매크로블록에 기반하여 수행될 수 있다(즉 깊이 에지를 포함하지 않는 것으로 분류된 모든 매크로블록은 하나의 슬라이스 그룹에 속하고, 깊이 에지가 있는 매크로블록은 다른 슬라이스 그룹에 속한다).
인코더 및 디코더는 재구성된/디코딩된 깊이 뷰 콤포넌트의 깊이 경계 분류에 기반하여 슬라이스 그룹 맵핑을 추론할 수 있다. 예를 들어, 깊이 에지를 포함하지 않는 것으로 분류된 모든 매크로블록은 하나의 슬라이스 그룹에 속하고, 깊이 에지가 있는 매크로블록은 다른 슬라이스 그룹에 속한다.
다른 예에서, 동일한 깊이 범위의 모든 매크로블록은 슬라이스 그룹을 형성하도록 인코딩 및/또는 디코딩에서 분류될 수 있으나 깊이 에지를 포함하는 매크로블록은 그 자신의 슬라이스 그룹을 형성하도록 인코딩 및/또는 디코딩에서 분류될 수 있다.
깊이 경계를 포함하도록 분류된 매크로블록을 포함하는 슬라이스 그룹은 다른 슬라이스 그룹(들) 후에 코딩 또는 디코딩될 수 있다. 대안적으로, 깊이 경계를 포함하도록 분류된 매크로블록을 포함하는 슬라이스 그룹은 다른 슬라이스 그룹(들) 전에 코딩 또는 디코딩될 수 있다.
매크로블록은 래스터 스캐 순서 또는 임의의 다른 사전정의된 순서로 코딩 또는 디코딩되나 깊이 에지(depth edge)를 포함하는 매크로블록은 건너뛰게 되고 동일한 슬라이스의 모든 다른 매크로블록 후에 코딩 또는 디코딩될 수 있다. 대안적으로, 깊이 에지를 포함하는 매크로블록은 동일한 슬라이스의 모든 다른 매크로블록 전에 코딩 또는 디코딩될 수 있다.
깊이 기반 블록 파티셔닝
인코더는 깊이 정보에 기초하여 텍스처 블록을 파티셔닝할 수 있다. 인코더는 블록 파티션의 하나의 세트가 깊이 경계를 포함하되 블록 파티션의 다른 세트가 어떠한 깊이 경계도 포함하지 않도록 블록 파티셔닝을 수행할 수 있다. 인코더는 정의된 기준 또는 정의된 기준들을 사용하여 블록 파티션을 선택할 수 있는데, 가령 인코더는 깊이 경계를 포함하지 않는 블록의 크기를 가능한 한 크게 선택할 수 있다. 디코더는 또한 동일한 블록 파티셔닝 알고리즘을 실행시킬 수 있거나, 인코더는 가령 종래의 H.264/AVC 블록 파티셔닝 신택스 요소(들)을 사용하여 디코더에 사용된 블록 파티셔닝을 시그널링할 수 있다.
인트라 코딩된(intra-coded) 루마 텍스처 매크로블록은 인트라 예측을 위한 16x16, 8x8 또는 4x4 블록으로 파티셔닝될 수 있으나, 또 다른 블록 크기가 적용될 수 있음은 명백하다. 더욱이, 그 블록은 정사각형으로 된 블록일 필요는 없고 다른 포맷도 역시 적용가능하다. 일반화로서, 블록 크기는 MxN으로 표현될 수 있다(여기서
Figure pct00026
).
깊이 블록의 블록 파티셔닝은 각자의 또는 코로케이팅된 텍스처 블록을 위한 블록 파티셔닝으로서 사용될 수 있다.
어떠한 블록 파티셔닝도 비트스트림 내에 코딩되거나 표시될 수 없다. 그러므로, 인코더 및 디코더는 동일한 깊이 기반 블록 파티셔닝을 수행할 수 있다.
블록 파티셔닝에 관한 정보가 인코더로부터 디코더로 전달되는 경우, 그것을 위한 많은 옵션이 있을 수 있다. 예를 들어, 블록 파티셔닝에 관한 정보는 비트스트림으로 엔트로피 코딩될(entropy coded) 수 있다. 블록 파티셔닝의 엔트로피 코딩은 다수의 방식으로 수행될 수 있다. 예를 들어, 인코더는 사용된 블록 파티셔닝을 디코더로 H.264/AVC 블록 파티셔닝 신택스 요소(들)을 사용하여 시그널링할 수 있다. 블록 파티셔닝은 비트스트림 내에 코딩될 수 있으나 깊이 기반 블록 파티셔닝은 깊이 기반 블록 파티셔닝 방법에 의해 선택된 블록 파티셔닝이 더 적은 양의 코딩된 데이터 비트를 사용하는 방식으로 콘텍스트 적응적 이진 산술 코딩(Context Adaptive Binary Arithmetic Coding: CABAC) 또는 콘텍스트 기반 가변 길이 코딩(context-based variable length coding) 또는 임의의 유사한 엔트로피 코딩의 콘텍스트 상태(context state)를 수정하기 위하여 인코더 및 디코더 모두에서 적용될 수 있다. 사실상, 깊이 기반 블록 파티셔닝 도출에 의해 연역되는 블록 파티셔닝의 가능성은 엔트로피 코딩 및 디코딩에서 증가된다.
블록 파티셔닝은 비트스트림 내에 코딩될 수 있으나 블록 파티셔닝 코드워드(block partitioning codeword)에서 사용되는 코드 테이블(code table) 또는 이진화 테이블(binarization table)은 깊이 기반 블록 파티셔닝의 결과에 의존적일 수 있다.
사용되는 블록 파티셔닝 방법은 가령 율-왜곡 최적화를 통해 인코더에 의해 선택될 수 있고 인코더에 의해 신택스 요소 또는 요소들 또는 신택스 요소의 값으로 코딩된 비트스트림에 표시될 수 있다. 신택스 요소(들)은 가령 시퀀스 파라미터 세트, 픽처 파라미터 세트, 적응 파라미터 세트, 픽처 헤더 또는 슬라이스 헤더 내에 있을 수 있다.
예를 들어 인코더는 가령 율-왜곡 최적화를 사용하여 종래의 블록 파티셔닝 선택을 수행할 수 있다. 만약 종래의 블록 파티셔닝의 율-왜곡 비용이 깊이 기반 블록 파티셔닝의 율-왜곡 비용보다 작다면, 인코더는 종래의 블록 파티셔닝을 사용하고 종래의 블록 파티셔닝의 사용을 비트스트림 내에, 가령 슬라이스 헤더, 매크로블록 신택스 또는 블록 신택스 내에 표시하기로 선택할 수 있다.
디코더는 블록 파티셔닝 방법에 관련된 신택스 요소(들)을 디코딩하고 표시된 블록 파티셔닝 방법 및 관련된 신택스 요소를 사용하여 비트스트림을 디코딩할 수 있다.
블록 내의 서브블록 또는 블록 파티션의 코딩 또는 디코딩 순서는 깊이 경계 또는 경계들에 기반하여 결정될 수 있다. 예를 들어, H.264/AVC 기반 코딩 또는 디코딩에서, 매크로블록 내 블록 파티셔닝에 따른 블록의 코딩 순서는 깊이 경계에 기반하여 결정될 수 있다. 깊이 경계가 없는 블록은 깊이 경계를 갖는 블록 전에 코딩 또는 디코딩될 수 있다.
예를 들어, H.264/AVC 기반 코딩/디코딩 방안에서 깊이 경계를 포함하는 텍스처 매크로블록을 코딩 또는 디코딩하기 위하여, 깊이 경계(만약 있더라도)를 포함하지 않는 8x8 블록이 우선 코딩 또는 디코딩될 수 있다. 그 뒤를 이어, (깊이 경계를 포함하는 8x8 블록 내에 있는) 깊이 경계를 포함하지 않는 4x4 블록이 코딩 또는 디코딩될 수 있다. 최종적으로, 깊이 경계를 포함하는 4x4 블록이 가령 쌍방향 인트라 예측 모드를 사용하여 코딩 또는 디코딩될 수 있다.
H.264/AVC 기반 코딩/디코딩 방안을 위한 다른 예에서, 깊이 경계를 포함하는 4x4 텍스처 블록이 우선 코딩 또는 디코딩된다. 그리고, 텍스처 매크로블록의 나머지 샘플이 깊이 경계를 포함하는 재구성된/디코딩된 4x4 텍스처 블록 및 이웃하는 텍스처 매크로블록의 경계 샘플로부터 예측된다.
블록 파티셔닝은 서브블록 위치의 규칙적인 그리드(grid)를 사용하여 재래식으로 수행될 수 있다. 예를 들어, H.264/AVC에서, 매크로블록은 매크로블록 내의 규칙적인 4x4 그리드에서 4x4 또는 더 큰 블록으로 파티셔닝될 수 있다. 텍스처 블록의 블록 파티셔닝은 서브블록 위치의 좌표 중 적어도 하나가 서브블록 위치의 규칙적인 그리드와 상이한 방식으로 적용될 수 있다. 깊이 경계를 갖는 서브블록은 가령 그것의 수직 좌표가 규칙적인 4x4 그리드를 따르나 그것의 수평 좌표는 가령 깊이 경계를 갖는 4x4 서브블록의 개수를 최소화하기 위해 선정되는 방식으로 선택될 수 있다.
텍스처 블록의 인트라 예측을 위해 사용되는 블록 파티셔닝은 동일한 텍스처 블록의 예측 에러 코딩 또는 디코딩을 위해 사용되는 블록 파티셔닝과 상이할 수 있다. 예를 들어, 깊이 경계의 검출에 기반하는 위 방법들 중 임의의 방법이 텍스처 블록의 인트라 예측을 위한 블록 파티셔닝을 결정하기 위해 사용될 수 있고, 상이한 블록 파티셔닝이 변환 코딩된 예측 에러 코딩 또는 디코딩을 위해 사용될 수 있다. 인코더 및/또는 디코더는 코로케이팅된 또는 각자의 깊이 재구성된 또는 디코딩된 깊이에 기반하여 텍스처의 인트라 예측을 위해 사용되는 블록 파티셔닝을 추론할 수 있다. 인코더는 인트라 코딩된 텍스처 블록의 예측 에러 코딩을 위한 블록 파티셔닝을 비트스트림 내에 인코딩할 수 있고, 디코더는 인트라 코딩된 텍스처 블록의 예측 에러 디코딩을 위해 사용되는 블록 파티셔닝을 비트스트림으로부터 디코딩할 수 있다. 인코더는 인트라 예측 및 예측 에러 코딩/디코딩이 동일한 블록 파티셔닝을 사용하는지 아닌지를 선택하는 경우 가령 율-왜곡 최적화를 사용할 수 있다.
깊이 기반 인트라 예측 모드 결정
인코더 및/또는 디코더는 깊이 정보를 사용하여 인트라 예측 모드를 결정할 수 있다. 코딩 또는 디코딩되는 현재 텍스처 블록의 깊이는 이웃하는 텍스처 블록에 코로케이팅되거나 대응하는 깊이 블록의 경계 샘플 또는 이웃하는 텍스처 블록의 깊이와 비교될 수 있고, 현재 텍스처 블록의 인트라 예측 모드는 이 비교에 기초하여 결정될 수 있다. 예를 들어, 만약 현재 텍스처 블록의 깊이가 경계 샘플의 깊이와 매우 유사하다면, DC 예측이 추론될 수 있다. 다른 예에서, 깊이 경계는 현재 깊이 블록에서 검출되고 현재 텍스처 블록을 위한 쌍방향 인트라 예측이 추론된다.
인트라 예측 모드가 인코더 및 디코더에서 추론될 수 있는바, 어떠한 신택스 요소도 코딩될 수 없고 비트율은 감소될 수 있다. 깊이 기반 인트라 예측 모드 결정의 사용은 가령 슬라이스 헤더 내에 시그널링될 수 있고 인코더는 신택스 요소 코딩(syntax element coding) 및 종래의 인트라 예측 모드 결정과 깊이 기반 예측 모드 결정을 비교하는 율-왜곡 최적화된(rate-distortion optimized) 결정을 사용하여 깊이 기반 인트라 예측 모드를 켤 수 있다.
깊이 블록의 인트라 예측 모드는 각자의 또는 코로케이팅된 텍스처 블록의 인트라 예측을 위해 (인코더 및 디코더 모두에서) 사용될 수 있다.
코딩 또는 디코딩되는 현재 텍스처 블록의 깊이는 이웃하는 텍스처 블록에 코로케이팅되거나 대응하는 깊이 블록의 경계 샘플 또는 이웃하는 텍스처 블록의 깊이와 비교될 수 있고, 현재 텍스처 블록의 인트라 예측 모드는 이 비교에 기초하여 결정될 수 있다. 예를 들어, 만약 현재 텍스처 블록의 깊이가 경계 샘플의 깊이와 매우 유사하다면, DC 예측이 추론될 수 있거나 종래의 인트라 예측 모드 시그널링이 추론될 수 있다. 다른 예에서, 깊이 경계는 현재 깊이 블록에서 검출되고 현재 텍스처 블록을 위한 쌍방향 인트라 예측이 추론된다.
블록 파티셔닝과 유사하게, 다음을 포함하여, 인트라 예측 모드의 엔트로피 코딩을 위한 다수의 옵션이 있다. 쌍방향 인트라 예측 모드는 블록 내에 깊이 경계가 있는 경우 추론될 수 있고, 그렇지 않으면 종래의 인트라 예측이 블록을 위해 사용될 수 있는데, 여기서 인코더는 인트라 예측 모드를 결정하고 그것을 비트스트림 내에 나타낸다. 인트라 예측 모드가 인코더 및 디코더 모두에서 추론되는바, 어떠한 신택스 요소도 코딩되지 않는다.
다른 옵션에서, 인트라 예측 모드는 비트스트림 내에 코딩될 수 있으나 인트라 예측 모드의 깊이 기반 예측은 깊이 기반 알고리즘에 의해 선택된 인트라 예측 모드가 더 적은 양의 코딩된 데이터 비트를 사용하는 방식으로 CABAC 또는 콘텍스트 기반 가변 길이 코딩 또는 임의의 유사한 엔트로피 코딩의 콘텍스트 상태를 수정하기 위하여 인코더 및 디코더 모두에서 적용될 수 있다. 사실상, 깊이 기반 알고리즘에 의해 연역되는 인트라 예측 모드의 가능성은 엔트로피 코딩 및 디코딩에서 증가될 수 있다.
또 다른 옵션에서 인트라 예측 모드는 비트스트림 내에 코딩될 수 있으나 인트라 예측 모드 코드워드에서 사용되는 코드 테이블 또는 이진화 테이블은 깊이 기반 알고리즘의 결과에 의존적일 수 있다.
이 기반 인트라 예측 모드 결정의 사용은 가령 슬라이스 헤더, 매크로블록 신택스 또는 블록 신택스 내에 시그널링될 수 있고 인코더는 종래의 인트라 예측 모드 결정과 깊이 기반 예측 모드 결정을 비교하는 율-왜곡 최적화된 결정을 사용하여 그것을 켤 수 있다.
예를 들어 인코더는 가령 율-왜곡 최적화를 사용하여 종래의 인트라 예측 모드 선택을 수행할 수 있다. 만약 종래의 인트라 예측의 율-왜곡 비용이 깊이 기반 인트라 예측 모드 선택의 율-왜곡 비용보다 작다면, 인코더는 종래의 인트라 예측을 사용하고 종래의 인트라 예측의 사용을 비트스트림 내에, 가령 슬라이스 헤더, 매크로블록 신택스 또는 블록 신택스 내에 표시하기로 선택할 수 있다.
디코더는 인트라 예측 모드에 관련된 신택스 요소(들)을 디코딩하고 표시된 인트라 예측 모드 및 관련된 신택스 요소를 사용하여 비트스트림을 디코딩할 수 있다.
인트라 예측을 위한 깊이 기반 샘플 가용성
인코더 및/또는 디코더는 또한 인트라 예측을 위한 하나 이상의 샘플이 존재하는지 판정할 수 있다. 예측되고 있는 샘플로서 사용하여 동일한 대상체에 속하는 것으로 인코딩 및/또는 디코딩에서 분류된 샘플만이 예측 소스(prediction source)로서 사용될 수 있다. 동일한 대상체로의 분류는, 가령 깊이 샘플 값을 비교하는 것을 통해, 예컨대 깊이 샘플 값이 서로에 대해 충분히 가까운 샘플 위치만 동일한 대상체에 속한다고 간주하는 것에 의해 행해질 수 있다.
예시적 구현에서, 텍스처 블록에 대한 인트라 예측 모드 결정뿐만 아니라 매크로블록 파티셔닝 및 인트라 코딩 모드에 대한 인코더 및/또는 디코더 결정은 각자의 깊이 픽처와 무관하게 행해질 수 있다. 그러나, 인트라 예측을 위한 텍스처 샘플의 가용성 정보(availability information)는 이용가능한 깊이 정보에 따라 수정될 수 있다.
깊이 경계를 포함하는 블록에 대한 쌍방향 인트라 예측
인코더 및 디코더가 깊이 경계를 포함하는 텍스처 블록을 위하여 쌍방향 인트라 예측을 사용하는 것이 또한 가능하다. 쌍방향 인트라 예측은 깊이 콤포넌트가 텍스처 콤포넌트 전에 인코딩되고 디코딩되는 경우 더욱 효율적일 수 있다. 따라서, 현재 블록의 텍스처 콤포넌트를 인코딩 또는 디코딩하는 경우 현재 블록의 가능한 대로 모든 이웃 블록의 깊이 콤포넌트가 이용가능할 수 있다.
코딩 또는 디코딩될 텍스처 블록은 둘 이상의 깊이 구역으로 나뉠 수 있다. 이웃하는 텍스처 블록의 경계 샘플은 등가인 둘 이상의 깊이 구역으로도 인코딩 및/또는 디코딩에서 분류될 수 있다. 그리고 코딩되거나 디코딩되는 블록 내 특정한 깊이 구역 내의 샘플은 이웃하는 블록의 각각의 경계 샘플로부터만 예측될 수 있다. 상이한 예측 방향 또는 인트라 예측 모드가 상이한 구역을 위해 선택될 수 있다.
다음 단계 중 하나 이상이 깊이 경계를 포함하는 텍스처 블록의 쌍방향 또는 다방향(multi-directional) 인트라 예측을 위해 수행될 수 있다.
a. 쌍방향 인트라 예측을 위한 새로운 인트라 예측 모드가 아래에서 지정된 바와 같이 정규 인트라 모드에 부가하여 지정된다.
b. 인코더는 새로운 쌍방향 인트라 예측을 시험되는(tested) 모드 중 하나로서 포함하는 것에 의해 사용되는 코딩 모드 및 매크로블록 또는 트리블록 파티셔닝과 같은 블록 파티셔닝의 율-왜곡 최적화된 결정을 내린다. 일반화로서, 둘을 넘는 인트라 예측 방향, 즉 삼방향(tri-directional) 인트라 예측 또는 일반적으로 n방향 인트라 예측(여기서 n은 양의 정수임)이 있을 수 있다.
c. 만약 (16x16, 8x8 및 4x4와 같은 임의의 크기 및 형상의) 텍스처 블록이 깊이 경계를 포함하면, 이웃하는 블록에서의 블록 경계 샘플의 가용성이 판정될 수 있다. 블록 또는 매크로블록 코딩 및 디코딩 순서는 변경될 수 있고, 예측될 블록은 이웃하는 블록에서 이용가능한 블록 경계 샘플에 의해 최대 네 면으로부터 둘러싸일 수 있다.
d. 만약 이웃하는 텍스처 블록에서의 이용가능한 블록 경계 샘플이 상이한 깊이 범위로부터 있는 깊이 샘플과 코로케이팅하면, 쌍방향 인트라 예측 모드는 인코더 및/또는 디코더를 위해 이용가능할 수 있다.
쌍방향 인트라 예측 모드의 가용성은 가령 CABAC에서 쌍방향 인트라 모드의 확률을 영(zero)으로 설정하는 것 또는 쌍방향 인트라 예측 모드가 이용가능하지 않다면 콘텍스트 적응적 가변 길이 코딩(context-adaptive variable-length coding)에서 쌍방향 인트라 모드를 배제하는 코드 테이블을 선택하는 것에 의해 엔트로피 코딩을 조정하는(tune) 데 사용될 수 있다.
e. 이웃하는 블록에서의 이용가능한 블록 경계 깊이 샘플로부터 그리고 코딩되는 텍스처 블록을 코로케이팅하는 깊이 블록으로부터 인코딩 및/또는 디코딩에서 두 개의 가장 현저한 깊이 구역이 선택될 수 있다. 예를 들어, 깊이 블록 내의 최다 샘플을 갖는 두 깊이 구역은 그것을 위한 이웃하는 블록에서의 블록 경계 깊이 샘플도 이용가능하다면 선택될 수 있다.
f. 깊이 블록 내의 각 샘플은 가령 깊이 구역의 중간 또는 평균 깊이 값에 가장 가까운 절대차에 따라 두 개의 가장 현저한 깊이 구역 중 하나로 맵핑될 수 있다. 결과적으로 코딩되는 텍스처 블록 내 각 샘플은 깊이 구역 0 또는 깊이 구역 1로서 표시될 수 있는 어느 한 깊이 구역에 맵핑될 수 있다.
단계 e 및 f는 가령 다음과 같이 수행될 수 있다: Dmax 및 Dmin이 텍스처 블록을 코로케이팅하는 재구성된 깊이 블록 내에서 각각 최대 값 및 최소 값이도록 하자. 임계 값 DThres = (Dmax + Dmin))/2이도록 하자. 깊이 구역 0 내의 샘플은 그에 대한 depth <= DThres 인 것이다. 깊이 구역 1 내의 샘플은 그에 대한 depth > DThres인 것이다.
깊이 구역은 인접한다고 결정될 수 있다. 예를 들어, 웨지렛(Wedgelet) 파티셔닝은 인코더 및 디코더 모두에서 사용될 수 있다. 웨지렛 파티션에 대하여, 두 구역은 직선에 의해 분리된다고 정의된다. 그 분리선은 시작 포인트 S 및 종료 포인트 P(모두 블록의 상이한 경계 상에 위치됨)에 의해 결정된다. 그 분리선은 직선의 식에 의해 기술될 수 있다. 웨지렛 파티셔닝을 위한 시작 및 종료 포인트는 가령 다음과 같이 비용 함수(cost function)를 최소화하는 것에 의해 결정될 수 있다. S 및 P에 대한 상이한 가능성이 시험되고 각자의 비용이 도출된다. 예를 들어, S 및 P의 모든 가능한 조합이 시험될 수 있다. S 및 P의 각 쌍에 대해, 구역 0 및 1에 대한 대표 값은 가령 구역 0 및 1 내의 깊이 샘플 값을 각각 평균화하는 것에 의해 우선 결정될 수 있다. 그리고 가령 깊이 샘플이 S 및 P에 따라 어느 구역으로 나뉘었는지에 따라 구역 0 또는 1의 대표 값에 대하여 깊이 샘플의 절대차의 합을 도출하는 것에 의해 비용이 계산될 수 있다. 비용을 최소화하는 S 및 P의 값이 웨지렛 파티셔닝을 위해 선택된다.
몇몇 경우에, 깊이 구역은 인접하도록 결정될 수 있으나 직선에 의해 분리될 것이 요구되지 않을 수 있다.
g. 텍스처 블록을 위한 인트라 예측은 깊이 구역 0 및 깊이 구역 1을 위해 별개로 수행될 수 있다. 상이한 인트라 예측 방향은 깊이 구역 1보다는 깊이 구역 0을 위해 선택될 수 있다. 예측 방향은 인코더 및 디코더 모두에 의해 추론될 수 있다. 대안적으로, 예측 방향은 인코더에 의해 결정되어 비트스트림에서 시그널링될 수 있다. 후자의 경우, 두 예측 방향 코드워드가 코딩되는데, 하나는 깊이 구역 0에 대한 것이고 다른 하나는 깊이 구역 1에 대한 것이다.
인트라 예측을 위한 샘플 가용성은 가령 위에서 기술된 바와 같이 깊이 기반일 수 있다. 다른 유사한 대안은 인트라 예측을 위해 사용될 수 있는 이웃하는 블록 내의 샘플들을 구역 0 또는 구역 1로 (그것들의 깊이 값을 임계 DThres와 비교함으로써) 분류하는 것이다. 구역 0 내에 분류된 이웃하는 블록으로부터의 샘플은 코딩 또는 디코딩되는 현재 블록 내의 영역 0의 샘플을 예측하는 데 사용될 수 있고, 구역 1 내에 분류된 이웃하는 블록으로부터의 샘플은 코딩 또는 디코딩되는 현재 블록 내의 영역 0의 샘플을 예측하는 데 사용되지 않는다. 코딩 또는 디코딩되는 현재 블록 내의 영역 1은 유사하게 취급될 수 있다.
블록 또는 매크로블록 코딩 또는 디코딩 순서는 변경될 수 있고, 예측될 블록은 이웃하는 블록에서 이용가능한 블록 경계 샘플에 의해 최대 네 면으로부터 둘러싸일 수 있으며, 따라서 그것이 사용하는 이웃 블록에서의 블록 경계 샘플 및 인트라 예측 모드는 현재 H.264/AVC 또는 HEVC 또는 임의의 유사한 코딩 또는 디코딩 방법 또는 시스템과는 상이할 수도 있다. 예를 들어, H.264/AVC 인트라 예측 모드는 다음과 같이 변경될 수 있다.
DC 모드에서 구역 0/1은 현재 블록을 임의의 방향으로부터 둘러싸고 영역 0/1에 있기도 한 이웃 블록에서의 샘플의 평균 값(mean value)이도록 설정된다.
수평/수직 모드에서, 만약 현재 블록의 양 쪽으로부터의 블록의 경계 샘플이 이용가능하면, 경계 샘플은 예측되는 샘플까지의 유클리드 공간적 거리(Euclidean spatial distance)에 따라 가중된다. 예를 들어, 만약 예측 샘플 p1의 수평 좌표가 x1=7이고 예측 샘플 p2의 수평 좌표가 x2=16이며 예측되는 샘플의 수평 좌표가 x=10이고, 수평 예측이 사용된다면, 예측 샘플은 m=(x2-x1)=9를 ((m-(x-x1))*p1+(m-(x2-x))*p2)/m=((9-(10-7))*p1+(9-(16-10))*p2)/9=(6*p1+3*p2)/9로서 사용하여 도출될 수 있다. 오직 하나의 경계 샘플이 이용가능하다면, 그것은 예측 같은 것으로 사용된다. 어떠한 경계 샘플도 이용가능하지 않다면, DC 예측을 통함으로써 획득된 값이 사용될 수 있다.
깊이 가중화된 인트라 에측 (depth-weighted intra prediction)
인코더 및 디코더는 인트라 예측에서 가중화 목적을 위해 깊이 정보를 사용할 수 있다. 텍스처의 인트라 예측을 위한 깊이 기반 가중치는 예측되는 텍스처 샘플의 깊이 및 예측 샘플의 깊이 간 차이에 기반하는 비 이진(non-binary) 값(가령 분수 값(fractional value))일 수 있다.
하나보다 많은 예측 샘플이 단일 샘플을 예측하기 위해 사용될 수 있다. 나아가, 이진 가중치가 사용될 수 있다(즉, 예측되는 샘플로서 상이한 깊이 구역에 속하도록 예측 샘플이 분류된다면, 0이라는 가중치가 사용될 수 있다). 그렇지 않으면, 모든 예측 샘플에 대한 동일한 가중치가 사용될 수 있다. 몇몇 경우에, 추가적인 배수적 가중치(multiplicative weight)가 예측 샘플 및 예측되는 샘플 간 유클리드 공간적 거리에 기반하여 결정되었을 수 있다.
몇몇 경우에, 깊이 기반 가중치가 분수 값과 같은 비 이진 값일 수 있다. 예를 들어, 다음 도출이 사용될 수 있다. 예측되는 샘플의 깊이 값이 d로 표시된다고 하자. 예측 샘플은 pi로 표시되고 예측 샘플의 깊이 값은 di로 표시된다고 하자(여기서 i는 예측 샘플의 인덱스임). 예측 샘플의 깊이는 예측되는 샘플의 깊이로서 동일한 깊이 구역에 속한다고 분류된 이웃하는 깊이 블록의 모든 경계 샘플의 평균과 같은 다수의 깊이 샘플로부터 도출되는 값을 또한 포함할 수 있다. S는 n이 예측 샘플의 개수일 때 i=1부터 n(포괄적임)의 모든 값에서 Σabs(di-D)와 동일하다고 하자. 각 예측에 대해 정의된 wi는 j≠i일 때 j=1부터 n(포괄적임)의 값에 대해 (S-Σabs(dj-D))/S와 동일하다고 하자. 그러면 예측 샘플 p는 i=1부터 n(포괄적임)의 모든 값에서 Σ(wi*pi)로서 도출될 수 있다.
코딩 도구 중 다수가 3DV-ATM와 같은 특정 코덱의 맥락에서 기술되었으나, 그것들은 HEVC의 깊이 향상된 멀티뷰 비디오 코딩 확장과 같은 다른 코덱 구조에 유사하게 적용될 수 있으리라는 점이 이해될 것이다.
위에서 기술된 바와 같이, 코딩된 및/또는 디코딩된 깊이 뷰 콤포넌트는 가령 다음 목적 중 하나 이상을 위해 사용될 수 있다: i) 다른 깊이 뷰 콤포넌트를 위한 예측 참조로서, (ii) 가령 뷰 합성 예측을 통한 텍스처 뷰 콤포넌트를 위한 예측 참조로서, (iii) 렌더링/디스플레이하기 위한 전처리 또는 디코딩을 위한 후처리로서 수행되는 뷰 합성 프로세스 또는 DIBR에 대한 입력으로서. 많은 경우에, 깊이 맵 내의 왜곡은 디코딩을 위한 후처리로서 행해지는 뷰 합성 및/또는 뷰 합성 예측을 위해 사용될 수 있는 뷰 합성 프로세스에 영향을 유발한다. 따라서, 많은 경우에 깊이 왜곡은 렌더링된 뷰의 시각적 품질/충실도에 및/또는 예측 신호의 품질/충실도에 간접적인 영향을 가진다고 간주될 수 있다. 디코딩된 깊이 맵 자체는 애플리케이션에서 그대로 사용되지 않을 수 있는데, 가령 그것은 최종 사용자를 위해 디스플레이되지 않을 수 있다. 깊이 맵의 전술된 속성 및 그 영향은 율-왜곡 최적화된 인코더 제어를 위해 사용될 수 있다. 깊이 픽처를 위한 율-왜곡 최적화된 모드 및 파라미터 선택은 합성된 뷰 콤포넌트의 추정된 또는 도출된 품질 또는 충실도에 기반하게 될 수 있다. 더욱이, (깊이 기반 예측 및 코딩 도구로 인한) 텍스처 뷰 콤포넌트의 결과적인 율-왜곡 성능은 깊이 픽처를 위한 모드 및 파라미터 선택에서 고려될 수 있다. 뷰 합성 충실도를 고려하는, 깊이 향상된 비디오 코딩의 율-왜곡 최적화를 위한 여러 방법이 제시되었다. 이 방법들은 뷰 합성 최적화(View Synthesis Optimization: VSO) 방법으로 지칭될 수 있다.
텍스처 뷰 및 깊이 뷰를 인코딩할 수 있는 인코더(200)의 실시예의 고수준 흐름도가 도 8에 제시되고 텍스처 뷰 및 깊이 뷰를 디코딩할 수 있는 디코더(210)가 도 9에 제시된다. 이 도면에서 실선은 일반적인 데이터 흐름을 묘사하고 점선은 제어 정보 시그널링을 보여준다. 인코더(200)는 텍스처 인코더(202)에 의해 인코딩될 텍스처 콤포넌트(201) 및 깊이 인코더(204)에 의해 인코딩될 깊이 콤포넌트(203)을 수신할 수 있다. 인코더(200)가 AVC/MVC에 따라 텍스처 콤포넌트를 인코딩하고 있는 경우 제1 스위치(205)는 스위치가 꺼질 수 있다. 인코더(200)가 향상된 텍스처 콤포넌트를 인코딩하고 있는 경우 제1 스위치(205)는 깊이 인코더(204)에 의해 생성된 정보가 텍스처 인코더(202)로 제공될 수 있도록 스위치가 켜질 수 있다. 이 예의 인코더는 또한 다음과 같이 동작할 수 있는 제2 스위치(206)을 포함할 수 있다. 제2 스위치(206)는 인코더가 AVC/MVC 뷰의 깊이 정보를 인코딩하고 있는 경우 스위치가 켜지고, 제2 스위치(206)는 인코더가 향상된 텍스처 뷰의 깊이 정보를 인코딩하고 있는 경우 스위치가 꺼진다. 인코더(200)는 인코딩된 비디오 정보를 포함하는 비트스트림(207)을 출력할 수 있다.
디코더(210)는 유사한 방식으로 그러나 적어도 부분적으로 반대 순서로 동작할 수 있다. 디코더(210)는 인코딩된 비디오 정보를 포함하는 비트스트림(207)을 수신할 수 있다. 디코더(210)는 텍스처 정보를 디코딩하기 위한 텍스처 디코더(211) 및 깊이 정보를 디코딩하기 위한 깊이 디코더(212)를 포함한다. 제3 스위치(213)는 깊이 디코더(212)로부터 텍스처 디코더(211)로의 정보 전달을 제어하기 위하여 제공될 수 있고, 제4 스위치(214)는 텍스처 디코더(211)로부터 깊이 디코더(212)로의정보 전달을 제어하기 위하여 제공될 수 있다. 디코더(210)가 AVC/MVC 텍스처 뷰를 디코딩할 것인 경우 제3 스위치(213)는 스위치가 꺼질 수 있고 디코더(210)가 향상된 텍스처 뷰를 디코딩할 것인 경우 제3 스위치(213)는 스위치가 켜질 수 있다. 디코더(210)가 AVC/MVC 텍스처 뷰의 깊이를 디코딩할 것인 경우 제4 스위치(214)는 스위치가 켜질 수 있고 디코더(210)가 향상된 텍스처 뷰의 깊이를 디코딩할 것인 경우 제4 스위치(214)는 스위치가 꺼질 수 있다. 디코더(210)는 재구성된 텍스처 콤포넌트(215) 및 재구성된 깊이 맵 콤포넌트(216)를 출력할 수 있다.
많은 비디오 인코더는 율-왜곡 최적의 코딩 모드(가령, 원하는 매크로블록 모드 및 연관된 움직임 벡터)를 찾기 위해 라그랑주 비용함수를 활용한다. 이 유형의 비용 함수는 손실(lossy) 코딩 방법으로 인한 정확한 또는 추정된 이미지 왜곡 및 이미지 영역 내 픽셀/샘플 값을 나타내는 데 요구되는 정확한 또는 추정된 양의 정보를 결부(tie)시키는 가중 인자 또는 λ를 사용한다. 이 라그랑주 비용 함수는 식에 의해 표현될 수 있다:
Figure pct00027
여기서 C는 최소화될 라그랑주 비용(Lagrangian cost)이고, D는 현재 고려되는 움직임 벡터 및 모드에 대하여 이미지 왜곡(가령, 원래의 이미지 블록 내 및 코딩된 이미지 블록 내의 픽셀/샘플 값 간의 평균 제곱 에러(mean-squared error))이며, λ는 라그랑주 계수이고 R은 (후보 움직임 벡터를 나타내는 데이터의 양을 포함하여) 디코더에서 이미지 블록을 재구성하기 위해 요구되는 데이터를 나타내는 데 필요한 비트의 개수이다.
코딩 표준은 서브비트스트림 추출 프로세스를 포함할 수 있고, 가령 SVC, MVC 및 HEVC에 그러한 것이 명시되었다. 서브비트스트림 추출 프로세스는 NAL 단위를 제거하여 서브비트스트림으로 비트스트림을 전환하는 것과 관련된다. 서브비트스트림은 여전히 그 표준을 준수하는 채로 있다. 예를 들어, HEVC 표준 초안에서, 선택된 값보다 크거나 그와 동일한 temporal_id를 갖는 모든 VCL NAL 단위를 배제하고 다른 모든 VCL NAL 단위를 포함하는 것에 의해 생성된 비트스트림은 여전히 준수한다. 따라서, TID와 동일한 temporal_id를 갖는 픽처는 TID보다 큰 temporal_id를 갖는 어떠한 픽처도 인터 예측 참조로서 사용하지 않는다.
이전에 제안된 것과 다른 유형의 파라미터 세트 신택스 구조 역시 제안되었다. 다음 단락에서, 제안된 유형의 파라미터 세트 중 몇몇이 기술된다.
종래에 슬라이스 헤더에 포함되었던 신택스 요소의 적어도 한 서브세트가 인코더에 의해 GOS(Group of Slices) 파라미터 세트에 포함된다는 점이 제안되었다. 인코더는 GOS 파라미터 세트를 NAL 단위로 코딩할 수 있다. GOS 파라미터 세트 NAL 단위는 가령 코딩된 슬라이스 NAL 단위와 함께 비트스트림에 포함될 수 있으나, 다른 파라미터 세트의 맥락에서 이전에 기술된 것과 같이 대역외로 전달될 수도 있다.
GOS 파라미터 세트 신택스 구조는 가령 슬라이스 헤더 또는 다른 GOS 파라미터 세트로부터 특정한 GOS 파라미터 세트 인스턴스를 참조하는 경우에 사용될 수 있는 식별자를 포함할 수 있다. 대안적으로, GOS 파라미터 세트 신택스 구조는 식별자를 포함하지 아니하나 가령 사전정의된 넘버링(numbering) 방안 및 GOS 파라미터 세트 신택스 구조의 비트스트림 순서를 사용하여 인코더 및 디코더 모두에 의해 식별자가 추론될 수 있다.
인코더 및 디코더는 GOS 파라미터 세트의 인스턴스 또는 내용을 비트스트림 내에서 이미 인코딩되거나 디코딩되거나 존재하는 다른 신택스 구조로부터 추론할 수 있다. 예를 들어, 기반 뷰의 텍스처 뷰 콤포넌트의 슬라이스 헤더는 GOS 파라미터 세트를 암시적으로 형성할 수 있다. 인코더 및 디코더는 그러한 추론된 GOS 파라미터 세트를 위해 식별자 값을 추론할 수 있다. 예를 들어, 기반 뷰의 텍스처 뷰 콤포넌트의 슬라이스 헤더로부터 형성된 GOS 파라미터 세트는 0과 동일한 식별자 값을 갖는다고 추론될 수 있다.
GOS 파라미터 세트는 그것과 연관된 특정한 액세스 단위 내에서 유효하 수 있다. 예를 들어, GOS 파라미터 세트 신택스 구조가 특정 액세스 단위를 위한 NAL 단위 시퀀스에 포함되는 경우(여기서 그 시퀀스는 디코딩 또는 비트스트림 순서로 존재함), GOS 파라미터 세트는 그것의 출현 위치부터 액세스 단위의 끝까지 유효할 수 있다. 대안적으로, GOS 파라미터 세트는 많은 액세스 단위에 대해 유효할 수 있다.
인코더는 액세스 단위를 위한 많은 GOS 파라미터 세트를 인코딩할 수 있다. 만약 코딩될 슬라이스 헤더 내 신택스 요소 값의 적어도 서브세트는 후속 슬라이스 헤더에서와 동일할 것이라는 점이 알려지거나, 기대되거나 또는 추정되는 경우 인코더는 GOS 파라미터 세트를 인코딩하도록 결정할 수 있다.
한정된 넘버링 공간이 GOS 파라미터 세트 식별자를 위하여 사용될 수 있다. 예를 들어, 고정된 길이의 코드(fixed-length code)가 사용될 수 있고 어떤 범위의 무부호(unsigned) 정수 값으로서 해석될 수 있다. 인코더는 만약 제1 GOS 파라미터 세트가 가령 임의의 슬라이스 헤더 또는 GOS 파라미터 세트에 의해 이후에 참조되지 않는다면, GOS 파라미터 세트 식별자를 제1 GOS 파라미터 세트를 위해 그리고 이후에 제2 GOS 파라미터 세트를 위해 사용할 수 있다. 인코더는 가령 전송 에러에 대하여 더 나은 강인성을 달성하기 위해 비트스트림 내에서 GOS 파라미터 세트 신택스 구조를 반복할 수 있다.
GOS 파라미터 세트에 포함될 수 있는 신택스 요소는 신택스 요소의 세트 내에 개념적으로 수집될 수 있다. GOS 파라미터 세트를 위한 신택스 요소의 세트는 가령 다음 중 하나 이상을 기초로 하여 형성될 수 있다:
- 스케일가능 계층 및/또는 다른 스케일가능성 특징을 나타내는 신택스 요소
- 뷰 및/또는 다른 멀티뷰 특징을 나타내는 신택스 요소
- 깊이/디스패리티와 같은, 특정한 콤포넌트 유형과 관련된 신택스 요소
- 액세스 단위 식별, 디코딩 순서 및/또는 출력 순서 및/또는 액세스 단위의 모든 슬라이스에 대해 변경되지 않은 채 있을 수 있는 다른 신택스 요소와 관련된 신택스 요소
- 뷰 콤포넌트의 모든 슬라이스에서 변경되지 않은 채 있을 수 있는 신택스 요소
- 참조 픽처 리스트 수정에 관련된 신택스 요소
- 사용된 참조 픽처 세트에 관련된 신택스 요소
- 참조 픽처 마킹을 디코딩하는 것에 관련된 신택스 요소
- 가중 예측을 위한 예측 가중치 테이블에 관련된 신택스 요소
- 비블록화 필터링을 제어하기 위한 신택스 요소
- 적응적 루프 필터링을 제어하기 위한 신택스 요소
- 샘플 적응적 오프셋을 제어하기 위한 신택스 요소
- 위 세트들의 임의의 조합
각 신택스 요소 세트에 대하여, 인코더는 GOS 파라미터 세트를 코딩하는 경우 다음 옵션 중 하나 이상을 가질 수 있다.
- 신택스 요소 세트는 GOS 파라미터 세트 신택스 구조 내에 코딩될 수 있다(즉, 신택스 요소의 코딩된 신택스 요소 값은 GOS 파라미터 세트 신택스 구조에 포함될 수 있다).
- 신택스 요소 세트는 GOS 파라미터 세트 내에 참조에 의해 포함될 수 있다. 그 참조는 다른 GOS 파라미터 세트에 대하여 식별자로서 주어질 수 있다. 인코더는 상이한 신택스 요소 세트를 위하여 상이한 참조 GOS 파라미터 세트를 사용할 수 있다.
- 신택스 요소 세트는 GOS 파라미터 세트에 부재한다고 표시되거나 추론될 수 있다.
인코더가 GOS 파라미터 세트를 코딩하는 경우 특정한 신택스 요소 세트를 위해 선정할 수 있는 옵션은 신택스 요소 세트의 유형에 의존할 수 있다. 예를 들어, 스케일가능 계층에 관련된 신택스 요소 세트는 항상 GOS 파라미터 세트 내에 존재할 수 있는 반면, 뷰 콤포넌트의 모든 슬라이스에서 변경되지 않은 채 있을 수 있는 신택스 요소의 세트는 참조에 의한 포함을 위해서는 이용가능하지 않을 수 있으나 선택적으로는 GOS 파라미터 세트 내에 존재할 수 있고 참조 픽처 리스트 수정에 관련된 신택스 요소는 GOS 파라미터 세트 신택스 구조에 참조에 의해 포함되거나, 그 자체로 포함되거나, 부재할 수 있다. 인코더는 비트스트림 내에, 가령 GOS 파라미터 세트 신택스 구조 내에, 어느 옵션이 인코딩에서 사용되었는지의 표시를 인코딩할 수 있다. 코드 테이블 및/또는 엔트로피 코딩은 신택스 요소 세트의 유형에 의존할 수 있다. 디코더는 디코딩되는 신택스 요소 세트의 유형에 기반하여, 인코더에 의해 사용된 엔트로피 코딩 및/또는 코드 테이블과 매칭되는 엔트로피 코딩 및/또는 코드 테이블을 사용할 수 있다.
인코더는 신택스 요소 세트의 값을 위한 소스로서 사용된 GOS 파라미터 세트 및 신택스 요소 세트 간 연관을 표시하는 다수의 수단을 가질 수 있다. 예를 들어, 인코더는 참조로서 사용된 GOS 파라미터 세트 식별자 값을 나타내고 참조 GOP 파라미터 세트로부터 복사된 신택스 요소 세트를 식별하는 신택스 요소로서 각 루프 엔트리가 인코딩되는 신택스 요소의 루프를 인코딩할 수 있다. 다른 예에서, 인코더는 각각 GOS 파라미터 세트를 나타내는 다수의 신택스 요소를 인코딩할 수 있다. 특정한 신택스 요소 세트를 포함하는 루프 내의 마지막 GOS 파라미터 세트는 인코더가 비트스트림 내에 현재 인코딩하고 있는 GOS 파라미터 세트 내의 신택스 요소 세트를 위한 참조이다. 디코더는 그에 따라 인코더와 동일한 GOS 파라미터 세트를 재현하기 위해 그 인코딩된 GOS 파라미터 세트를 비트스트림으로부터 파싱한다(parse).
헤더 파라미터 세트(Header Parameter Set: HPS)가 문서 JCTVC-J0109(http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=5972)에서 제안되었다. HPS는 GOS 파라미터 세트와 유사하다. 슬라이스 헤더가 하나 이상의 HPS로부터 예측된다. 다시 말해, 슬라이스 헤더 신택스 요소의 값은 하나 이상의 HPS로부터 선택적으로 취해질 수 있다. 픽처가 단 하나의 슬라이스로 이루어진다면, HPS의 사용은 선택적이고 슬라이스 헤더는 코딩된 슬라이스 NAL 단위에 대신 포함될 수 있다. HPS 설계의 두 대안적 접근법이 JCTVC-J109에서 제안되었다: HPS가 동일한 액세스 단위 내의 슬라이스에만 적용가능한 단일 AU HPS 및 HPS가 다수의 액세스 단위 내 슬라이스에 적용가능할 수 있는 다중 AU(multi-AU) HPS. 제안된 두 접근법은 그 신택스에서 유사하다. 두 접근법 간 주된 차이는 단일 AU HPS 설계가 각 액세스 단위에 대해 HPS의 전송을 요구하는 반면 다중 AU HPS 설계가 다수의 AU에 걸쳐서 동일한 HPS의 재사용을 가능하게 한다는 사실에서 발생한다.
카메라 파라미터 세트(Camera Parameter Set: CPS)는 APS, GOS 파라미터 세트 및 HPS와 유사하다고 간주될 수 있으나, CPS는 단지 카메라 파라미터 및 뷰 합성 예측 파라미터 그리고 잠재적으로는 깊이 뷰 또는 깊이 뷰의 사용에 관련된 다른 파라미터를 전달하도록 의도될 수 있다.
도 1은 예시적 실시예에 따른 비디오 코딩 시스템의 블록도를, 본 발명의 실시예에 따른 코덱을 포함할 수 있는 예시적인 장치 또는 전자 디바이스(50)의 개략적 블록도로서 도시한다. 도 2는 예시적 실시예에 따른 장치의 레이아웃(layout)을 도시한다. 도 1 및 도 2의 요소는 다음에 설명될 것이다.
전자 디바이스(50)는 가령 무선 통신 시스템의 모바일 단말(mobile terminal) 또는 사용자 장비(user equipment)일 수 있다. 그러나, 본 발명의 실시예는 비디오 이미지를 인코딩 및 디코딩하는 것 또는 인코딩하는 것 또는 디코딩하는 것을 요구할 수 있는 임의의 전자 디바이스 또느 장치 내에 구현될 수 있다는 점이 인식될 것이다.
장치(50)는 그 디바이스를 포함하고 보호하기 위한 하우징(housing)(30)을 포함할 수 있다. 장치(50)는 나아가 액정 디스플레이(liquid crystal display)의 형태로 디스플레이(32)를 포함할 수 있다. 본 발명의 다른 실시예에서 그 디스플레이는 이미지 또는 비디오를 디스플레이하는 데 적합한 임의의 적합한 디스플레이 기술일 수 있다. 장치(50)는 또한 키패드(34)를 포함할 수 있다. 본 발명의 다른 실시예에서 임의의 적합한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예를 들어 사용자 인터페이스는 터치 감지 디스플레이의 일부로서 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 그 장치는 디지털 또는 아날로그 신호 입력일 수 있는 마이크로폰(microphone)(36) 또는 임의의 적합한 오디오 입력을 포함할 수 있다. 장치(50)는 또한 본 발명의 실시예에서 이어폰(earpiece)(38), 스피커 또는 아날로그 오디오 또는 디지털 오디오 출력 연결 중 임의의 것인 오디오 출력 디바이스를 포함할 수 있다. 장치(50)는 배터리(40)를 또한 포함할 수 있(거나 본 발명의 다른 실시예에서는 그 디바이스가 태양전지(solar cell), 연료전지(fuel cell) 또는 태엽 발전기(clockwork generator)와 같은 임의의 적합한 이동식 에너지 디바이스에 의해 동력공급을 받을 수 있)다. 그 장치는 이미지 및/또는 비디오를 기록하거나 캡처할 수 있는 카메라(42)를 더 포함할 수 있다. 몇몇 실시예에서 장치(50)는 다른 디바이스로의 단거리 시선 통신(short range line of sight communication)을 위한 적외선 포트를 더 포함할 수 있다. 다른 실시예에서 장치(50)는 가령 블루투스(Bluetooth) 무선 연결 또는 USB/파이어와이어(firewire) 유선 연결과 같은 임의의 적합한 단거리 통신 해결책을 더 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 제어기(56) 또는 프로세서를 포함할 수 있다. 제어기(56)는 본 발명의 실시예에서 이미지 및 오디오 데이터의 형태로 두 데이터 다 저장할 수 있고/있거나 제어기(56) 상의 구현을 위한 명령어를 또한 저장할 수 있는 메모리(58)에 연결될 수 있다. 제어기(56)는 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 수행하거나 제어기(56)에 의해 수행되는 코딩 및 디코딩을 돕는 데 적합한 코덱 회로(54)에 또한 연결될 수 있다.
장치(50)는 카드 판독기(card reader)(48) 및 스마트 카드(smart card)(46), 가령 사용자 정보를 제공하고 네트워크에서 사용자의 인증(authentication) 및 인가(authorization)를 위한 인증 정보를 제공하는 데 적합한 UICC 및 UICC 판독기를 더 포함할 수 있다.
장치(50)는 그 제어기에 연결되고 가령 이동전화 통신 네트워크(cellular communications network), 무선 통신 시스템(wireless communications system) 또는 무선 로컬 영역 네트워크(wireless local area network)와의 통신을 위해 무선 통신 신호를 생성하기에 적합한 무선 인터페이스 회로(radio interface circuitry)(52)를 포함할 수 있다. 장치(50)는 무선 인터페이스 회로(52)에서 생성된 무선 주파수 신호를 다른 장치(들)에 전송하고 다른 장치(들)로부터 무선 주파수 신호를 수신하기 위해 무선 인터페이스 회로(52)에 연결된 안테나(44)를 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 장치(50)는 처리를 위해 코덱(54) 또는 제어기에 전해지는 개개의 프레임을 기록 또는 검출할 수 있는 카메라를 포함할 수 있다. 본 발명의 몇몇 실시예에서, 그 장치는 전송 및/또는 저장 전에 처리를 위한 비디오 이미지 데이터를 다른 디바이스로부터 수신할 수 있다. 본 발명의 몇몇 실시예에서, 장치(50)는 코딩/디코딩을 위해 이미지를 무선으로 아니면 유선 연결에 의해 수신할 수 있다.
도 3은 예시적 실시예에 따라 다수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 구성을 보여준다. 도 3과 관련하여, 본 발명의 실시예가 활용될 수 있는 시스템의 예가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 다수의 통신 디바이스를 포함한다. 시스템(10)은 (GSM, UMTS, CDMA 네트워크 등과 같은) 무선 이동식 전화 네트워크, IEEE 802.x 표준 중 임의의 표준에 의해 정의된 것과 같은 무선 로컬 영역 네트워크(Wireless Local Area Network: WLAN), 블루투스 개인 영역 네트워크, 이더넷 로컬 영역 네트워크, 토큰 링 로컬 영역 네트워크, 광역 네트워크(wide area network) 및 인터넷을 포함하나 이에 한정되지는 않는 유선 또는 무선 네트워크의 임의의 조합을 포함할 수 있다.
시스템(10)은 본 발명의 실시예를 구현하는 데 적합한 유선 및 무선(둘 다) 통신 디바이스 또는 장치(50)를 포함할 수 있다. 예를 들어, 도 3에 도시된 시스템은 이동 전화 네트워크(11) 및 인터넷(28)의 표현을 도시한다. 인터넷(28)으로의 연결성은 장거리 무선 연결, 단거리 무선 연결 및 다양한 유선 연결(전화선, 케이블선, 전력선 및 유사한 통신 경로를 포함하나 이에 한정되지 않음)을 포함할 수 있으나 이에 한정되지는 않는다.
시스템(10)에 도시된 예시적 통신 디바이스는 전자 디바이스 또는 장치(50), 개인용 디지털 보조장치(Personal Digital Assistant: PDA) 및 이동 전화(14)의 조합, PDA(16), 통합 메시징 디바이스(Integrated Messaging Device: IMD)(18), 데스크톱 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있으나 이에 한정되지 않는다. 장치(50)는 이동 중인 개인이 지니는 경우 이동식(mobile)이거나 정지된(stationary) 것일 수 있다. 장치는 또한 차, 트럭, 택시, 버스, 기차 보트, 비행기, 자전거, 오토바이 또는 임의의 유사한 적합한 운송 방식을 포함하나 이에 한정되지 않는 운송의 방식에 위치될 수 있다.
몇몇 또는 추가적인 장치는 호(call)들 및 메시지들을 주고받을 수 있고 서비스 제공자(service provider)들과 무선 연결(25)을 통해 기지국(24)으로 통신할 수 있다. 기지국(24)은 이동 전화 네트워크(11) 및 인터넷(28) 간 통신을 가능하게 하는 네트워크 서버(26)에 연결될 수 있다. 시스템은 추가적인 통신 디바이스 및 다양한 유형의 통신 디바이스를 포함할 수 있다.
통신 디바이스는 코드 분할 다중 액세스(Code Division Multiple Access: CDMA), 이동 통신을 위한 전역 시스템(Global Systems for Mobile communications: GSM), 범용 이동 전기통신 시스템(Universal Mobile Telecommunications System: UMTS), 시간 분할 다중 액세스(Time Divisional Multiple Access: TDMA), 주파수 분할 다중 액세스(Frequenccy Division Multiple Access: FDMA), 전송 제어 프로토콜-인터넷 프로토콜(Transmission Control Protocol-Internet Protocol: TCP-IP), 단문 서비스(Short Messaging Service: SMS), 멀티미디어 메시징 서비스(Multimedia Messaging Service: MMS), 이메일, 인스턴트 메시징 서비스(Instant Messaging Service: IMS), 블루투스, IEEE 802..11 및 임의의 유사한 무선 통신 기술을 포함하나 이에 한정되지 않는 다양한 전송 기술을 사용하여 통신할 수 있다. 본 발명의 다양한 실시예를 구현하는 데 수반되는 통신 디바이스는 다양한 매체(무선, 적외선, 레이저, 케이블 연결 및 임의의 적합한 연결을 포함하나 이에 한정되지 않음)를 사용하여 통신할 수 있다.
도 4A 및 4B는 예시적 실시예에 따른 비디오 인코딩 및 디코딩을 위한 블록도를 도시한다.
도 4A는 픽셀 예측기(302), 픽셀 에러 인코더(303) 및 픽셀 에러 디코더(304)를 포함하는 것으로 인코더를 도시한다. 도 4A는 또한 픽셀 예측기(302)의 실시예가 인터 예측기(306), 인트라 예측기(308), 모드 선택기(310), 필터(316) 및 참조 프레임 메모리(318)를 포함하는 것으로 도시한다. 이 실시예에서 모드 선택기(310)는 블록 처리기(block processor)(381) 및 비용 평가기(cost evaluator)(382)를 포함한다. 인코더는 비트 스트림을 엔트로피 인코딩하기 위한 엔트로피 인코더(330)를 더 포함할 수 있다.
도 4B는 인터 예측기(306)의 실시예를 도시한다. 인터 예측기(306)는 참조 프레임 또는 프레임들을 선택하기 위한 참조 프레임 선택기(360), 움직임 벡터 정의기(motion vector definer)(361), 예측 리스트 형성기(prediction list former)(363) 및 움직임 벡터 선택기(motion vector selector)(364)를 포함한다. 이 구성요소들 또는 그것들 중 몇몇은 예측 처리기(prediction processor)(362)의 일부일 수 있거나 그것들은 다른 수단을 사용함으로써 구현될 수 있다.
픽셀 예측기(302)는 인코딩될 이미지(300)를 인터 예측기(306)(이미지 및 움직임 보상된 참조 프레임(318) 간 차이를 판정함) 및 인트라 예측기(308)(현재의 프레임 또는 픽처의 이미 처리된 부분에만 기반하여 이미지 블록을 위한 예측을 판정함) 모두에서 수신한다. 인터 예측기 및 인트라 예측기 모두의 출력은 모드 선택기(310)로 전달된다. 인터 예측기(306) 및 인트라 예측기(308) 모두 하나보다 많은 인트라 예측 모드를 가질 수 있다. 따라서, 인터 예측 및 인트라 예측은 각 모드에 대해 실행될 수 있고 예측된 신호는 모드 선택기(310)에 제공될 수 있다. 모드 선택기(310)는 또한 이미지(300)의 복사본(copy)을 수신할 수 있다.
모드 선택기(310)는 현재 블록을 인코딩하는 데 어느 인코딩 모드를 사용할 것인지 결정한다. 모드 선택기(310)가 인터 예측 모드를 사용하기로 결정하면 그것은 인터 예측기(306)의 출력을 모드 선택기(310)의 출력으로 전달할 것이다. 모드 선택기(310)가 인트라 예측 모드를 사용하기로 결정하면 그것은 인트라 예측기 모드 중 하나의 출력을 모드 선택기(310)의 출력으로 전달할 것이다.
모드 선택기(310)는 비용 평가기 블록(382)에서 가령 라그랑주 비용 함수를 사용하여 통상적으로 블록 기반으로 코딩 모드 및 그 파라미터 값 중에서(가령, 움직임 벡터, 참조 인덱스 및 인트라 예측 방향) 택할 수 있다. 이 종류의 비용 함수는 손실 코딩 방법으로 인한 (정확한 또는 추정된) 이미지 왜곡 및 이미지 영역 내 픽셀 값을 표현하는 데 요구되는 (정확한 또는 추정된) 양의 정보를 결부시키는 데 가중 인자 lambda를 사용할 수 있다: C=D+lambda×R (여기서, C는 최소화될 라그랑주 비용이고 D는 모드 및 그 파라미터에 대하여 이미지 왜곡(가령, 평균 제곱 에러)이며, R은 (가령 후보 움직임 벡터를 나타내는 데이터의 양을 포함하여) 디코더에서 이미지 블록을 재구성하기 위해 요구되는 데이터를 나타내는 데 필요한 비트의 개수이다).
모드 선택기의 출력은 제1 합산 디바이스(summing device)(321)에 전달된다. 제1 합산 디바이스는 예측 에러 인코더(303)에 입력되는 제1 예측 에러 신호(320)를 산출하기 위해 픽셀 예측기(302) 출력을 이미지(300)에서 감산할 수 있다.
픽셀 예측기(302)는 또한 이미지 블록(312)의 예측 표현 및 예측 에러 디코더(304)의 출력(338)의 조합을 예비적 재구성기(preliminary reconstructor)(339)로부터 수신할 수 있다. 예비적 재구성된 이미지(314)는 인트라 예측기(308)로 그리고 필터(316)로 전달될 수 있다. 예비적 표현을 수신하는 필터(316)는 예비적 표현을 필터링하고 참조 프레임 메모리(318)에 저장될 수 있는 최종 재구성된 이미지(340)를 출력할 수 있다. 참조 프레임 메모리(318)는 참조 이미지(이에 대해 장래 이미지(300)가 인터 예측 동작에서 비교됨)로서 사용되도록 인터 예측기(306)에 연결될 수 있다. 많은 실시예에서 참조 프레임 메모리(318)는 하나보다 많은 디코딩된 픽처를 저장하는 것이 가능할 수 있고, 그 중 하나 이상은 참조 픽처(이에 대해 장래 이미지(300)가 인터 예측 동작에서 비교됨)로서 인터 예측기(316)에 의해 사용될 수 있다. 참조 프레임 메모리(318)는 몇몇 경우에 디코딩된 픽처 버퍼(Decoded Picture Buffer)로 지칭될 수도 있다.
픽셀 예측기(302)의 동작은 당업계에 알려진 임의의 알려진 픽셀 예측 알고리즘을 수행하도록 구성될 수 있다.
픽셀 예측기(302)는 예측된 값을 픽셀 예측기(302)로부터 그것을 출력하기 전에 필터링하는 필터(385)를 또한 포함할 수 있다.
예측 에러 인코더(302) 및 예측 에러 디코더(304)의 동작이 이하에서 더욱 상세하게 기술될 것이다. 다음의 예에서 인코더는 전(full) 이미지 또는 픽처를 형성하는 역할을 하는 16x16 픽셀 매크로블록의 측면에서 이미지를 생성한다. 그러나, 도 4A는 블록 크기 16x16에 한정되지 않고 임의의 블록 크기 및 형상이 일반적으로 사용될 수 있고, 마찬가지로 도 4A는 픽처를 매크로블록으로 파티셔닝하는 것에 한정되지 않고 코딩 단위와 같은 블록으로의 임의의 다른 픽처 파티셔닝이 사용될 수 있다는 점에 유의한다. 따라서, 다음 예를 위하여 픽셀 예측기(302)는 일련의 예측된 매크로블록(크기 16x16 픽셀)을 출력하고 제1 합산 디바이스(321)는 일련의 16x16 픽셀 잔차 데이터 매크로블록(예측된 매크로블록(픽셀 예측기(302)의 출력)에 대한 이미지(300) 내의 제1 매크로블록 간 차이를 나타낼 수 있음)을 출력한다.
예측 에러 인코더(303)는 변환 블록(transform block)(342) 및 양자화기(quantizer)(344)를 포함한다. 변환 블록(342)는 제1 예측 에러 신호(320)를 변환 도메인(transform domain)으로 변환한다. 그 변환은 가령 DCT 변환 또는 그 변종이다. 양자화기(344)는 양자화된 계수를 형성하기 위해 변환 도메인 신호(가령 DCT 계수)를 양자화한다.
예측 에러 디코더(304)는 예측 에러 인코더(303)로부터 출력을 수신하고 디코딩된 예측 에러 신호(338)(제2 합산 디바이스(339)에서 이미지 블록(312)의 예측 표현과 조합되는 경우 예비적 재구성된 이미지(314)를 산출함)를 산출한다. 그 예측 에러 디코더는 역양자화기(dequantizer)(346)(변환 신호를 대략적으로 재구성하기 위해 가령 DCT 계수와 같은 양자화된 계수 값을 역양자화함) 및 역변환 블록(inverse transformation block)(348)(재구성되는 변환 신호로의 역변환을 수행하는데, 여기서 역변환 블록(348)의 출력은 재구성되는 블록(들)을 포함함)을 포함한다고 간주될 수 있다. 그 예측 에러 디코더는 재구성된 매크로블록을 추가로 디코딩되는 정보 및 필터 파라미터에 따라 필터링할 수 있는 매크로블록 필터(도시되지 않음)를 또한 포함할 수 있다.
인터 예측기(306)의 예시적 실시예의 동작이 이하에서 더욱 상세히 기술될 것이다. 인터 예측기(306)는 인터 에측을 위해 현재의 블록을 수신한다. 현재 블록에 대하여 하나 이상의 인코딩되어 있는 이웃 블록이 이미 존재하고 움직임 벡터가 그것을 위해 정의되었다고 가정된다. 예를 들어, 좌측의 블록 및/또는 현재 블록 위의 블록이 그러한 블록일 수 있다. 현재 블록을 위한 공간적 움직임 벡터 예측은 가령 동일한 슬라이스 또는 프레임 내의 이웃하지 않는(non-neighbor) 블록 및/또는 인코딩된 이웃 블록의 움직임 벡터를 사용하는 것, 공간적 움직임 벡터 예측의 선형 또는 비선형 함수를 사용하는 것, 선형 또는 비선형 동작과 다양한 공간적 움직임 벡터 예측기와의 조합을 사용하는 것에 의해 또는 시간적 참조 정보를 이용하지 않는 임의의 다른 적절한 수단에 의해 형성될 수 있다. 하나 이상의 인코딩된 블록의 공간적 및 시간적 예측 정보 모두를 조합하여 움직임 벡터 예측기를 획득하는 것이 또한 가능할 수 있다. 이 종류의 움직임 벡터 예측기는 시공간적(spatio-temporal) 움직임 벡터 예측기로 불릴 수도 있다.
인코딩에서 사용되는 참조 프레임은 참조 프레임 메모리에 저장될 수 있다. 각 참조 프레임은 참조 픽처 리스트 중 하나 이상에 포함될 수 있고, 참조 픽처 리스트 내에서, 각 엔트리는 참조 프레임을 식별하는 참조 인덱스를 가진다. 참조 프레임이 더 이상 참조 프레임으로 사용될 수 없는 경우 그것은 참조 프레임 메모리로부터 제거되거나 "참조를 위해 사용되지 않음" 또는 비 참조 프레임(non-reference frame)으로 마킹될 수 있는데, 그 참조 프레임의 저장 위치는 새로운 참조 프레임을 위해 점유될(occupied) 수 있다.
전술된 바와 같이, 액세스 단위는 상이한 콤포넌트 유형(가령 주요 텍스처 콤포넌트, 중복적 텍스처 콤포넌트, 보조적 콤포넌트, 깊이/디스패리티 콤포넌트)의, 상이한 뷰의, 그리고 상이한 스케일가능 계층의 슬라이스를 포함할 수 있다. 콤포넌트 픽처는 종속성 표현, 계층 표현, 텍스처 뷰 콤포넌트, 깊이 뷰 콤포넌트, 깊이 맵 또는 유사한 임의의 것에 대한 집합적 용어로서 정의될 수 있다. 코딩된 콤포넌트 픽처는 콤포넌트 픽처의 코딩된 슬라이스의 디코딩을 위해 사용될 공통 신택스 요소 값을 또한 전달할 수 있는 콤포넌트 픽처 구분자 NAL 단위를 사용하여 서로 분리될 수 있다. 액세스 단위는 종속성 및 계층 표현뿐만 아니라 코딩된 텍스처 및 깊이 뷰 콤포넌트와 같은 비교적 많은 개수의 콤포넌트 픽처로 이루어질 수 있다. 몇몇 콤포넌트 픽처의 코딩된 크기는 가령 그것이 기반 뷰 또는 기반 계층에 관한 델타(delta)들을 표현한다고 간주될 수 있기 때문에 또한 깊이 콤포넌트 픽처가 압축하기에 비교적 쉬울 수 있기 때문에 상대적으로 작을 수 있다. 콤포넌트 픽처 구분자 NAL 단위들이 비트스트림 내에 존재하는 경우, 콤포넌트 픽처는 액세스 단위의 끝까지 또는 다음 콤포넌트 픽처 구분자 NAL 단위까지(배타적이며, 디코딩 순서에서 더 먼저인 어느 쪽이든) 콤포넌트 픽처 구분자 NAL 단위 및 후속적 코딩된 슬라이스 NAL 단위로 정의될 수 있다.
MPEG 문서 N12732에 명시된 3D-AVC는 물론 MPEG 문서 N12923에 명시된 MVC+D에서, 비트스트림 내의 깊이 뷰의 개수는 동일한 비트스트림 내의 텍스처 뷰의 개수와 동일할 것이 요구된다. 나아가, 비트스트림 내의 깊이 뷰는 동일한 비트스트림의 텍스처 뷰와 코로케이팅할 것이 요구된다. 다시 말해, 비트스트림의 깊이 뷰는 비트스트림의 텍스처 뷰의 깊이 또는 디스패리티 정보를 나타낸다. 더욱이, 깊이 픽처의 샘플은 각자의 텍스처 픽처의 샘플보다는 동일한 공간적 영역을 커버할 것이 요구된다. 다시 말해, 각 텍스처 샘플에 대한 깊이 정보는 깊이 픽처 내에 존재하고 각자의 텍스처 샘플 또는 샘플들이 텍스처 픽처 내에 존재하지 않을 깊이 픽처 내에는 어떠한 샘플도 없다.
그러나, 비트스트림 내의 깊이 뷰의 개수가 동일한 비트스트림 내의 텍스처 뷰의 개수와 같지 않은 것 및/또는 깊이 뷰의 일부 또는 전부가 텍스처 뷰 중 어느 것과도 코로케이팅하지 않는 것 및/또는 깊이 픽처가 각자의 텍스처 픽처에 대하여 상이한 공간적 영역을 커버하는 것이 바람직할 수 있다. 그러한 방안이 왜 바람직할 수 있는지의 예는 다음의 단락에 주어진 것을 포함하나 이에 한정되지 않는다.
몇몇 3D 비디오 및 이미지 캡처링 시스템에서 특정한 센서 또는 센서 어레이(가령, 비행시간 원리에 기반함)는 깊이 또는 거리 센싱을 위해 사용될 수 있고 그러한 센서 또는 센서 어레이는 정규의 색상 이미지/이미지들을 캡처하기 위해 사용되는 것(들)(가령, 전하 결합 디바이스(Charge-Coupled Device: CCD) 센서 또는 상보형 금속 산화 반도체(Complementary Metal Oxide Semiconductor: CMOS) 센서)과는 상이할 수 있다. 그 차이는 상이한 해상도, 종횡비, 공간적 위치, 캡처된 3D 씬에 대한 것 및/또는 텍스처 및 깊이 센서를 위한 카메라 파라미터를 포함할 수 있다. 따라서 텍스처 픽처의 시점(viewpoint)(즉, 색상 이미지 센서/센서들의 위치)에 비해 깊이 픽처는 상이한 시점에서(즉, 깊이 센서/센서들의 상이한 위치에서) 캡처된다. 그 결과, 캡처링 시스템(capturing system)의 출력은 텍스처 뷰와 코로케이팅되지 않은 깊이 뷰를 포함할 수 있는데, 각 센서가 캡처링 디바이스 또는 다중디바이스 구성(multi-device arrangement)(가령, 카메라 리그(camera rig)) 내의 상이한 공간적 위치에 있기 때문이다. 깊이 센서는 가령 그 센서의 물리적 크기 및 픽셀/샘플 해상도, 샘플 종횡비(aspect ratio) 및/또는 픽처 종횡비에 관한 한 색상 이미지 센서에 비해 상이한 특성을 또한 가질 수 있다. 대안적으로 또는 추가로, 깊이 센서는 색상 이미지 센서(들)와 함께 공동으로 보정되지(calibrated) 않을 수 있거나 깊이 이미지는 색상 이미지와 함께 교정되지 않을 수 있다. 대안적으로 또는 추가로, 깊이 센서는 색상 이미지 센서와 비교되는 경우 상이한 카메라 파라미터(예컨대, 외재적(extrinsic) 및 내재적(intrinsic) 카메라 파라미터(가령, 초점 거리))를 가질 수 있다. 따라서 깊이 센서에 의해 커버되는 이미지 영역은 동일한 3D 캡처링 시스탬 내의 색상 이미지 센서에 의해 커버되는 것에 비해 동일하지 않을 수 있다는 점이 이해되어야 한다.
카메라는 마이크로 렌즈 및/또는 어떤 파장 범위만 통과시키는 광학 필터와 같은 광학 구성(optical arrangement)을 포함할 수 있다. 그러한 구성에서, 가령 상이한 센서 어레이 또는 센서 어레이의 상이한 부분은 상이한 파장 범위를 캡처하는 데 사용될 수 있다. 다른 예에서, 렌즈렛 어레이(lenslet array)가 사용되고, 각 렌즈렛은 약간 상이한 각도로 씬을 본다. 따라서, 이미지는 각각 하나의 렌즈렛에 대응하여 약간 상이한 각도에서 캡처된 씬을 나타내는 마이크로이미지의 어레이로 이루어질 수 있다. 나아가, 가령 적외선 파장을 사용하는 깊이 범위측정(depth ranging)은 마이크로렌즈 또는 렌즈렛 구성 또는 유사한 것으로써 행해질 수 있다. 그러나, 그러한 구성 내의 깊이 뷰의 시점은 텍스처 뷰의 시점과 약간 상이할 수 있다(설령 양자 모두가 동일한 센서로 캡처된 경우에도). 따라서, 캡처링 시스템의 출력은 텍스처 뷰와 코로케이팅되지 않은 깊이 뷰를 포함할 수 있다.
스테레오 매칭에서, 디스패리티 검색(disparity search)은 일방향 방식으로 수행될 수 있다(즉, 가령 좌측 뷰의 픽처와 같은 제1 뷰 콤포넌트 내의 각 샘플에 대해, 가령 우측 뷰의 픽처와 같은 제2 뷰 콤포넌트 내의 대응하는 샘플이 검색된다). 그러나, 제2 뷰 콤포넌트 내 각 샘플에 대하여 디스패리티를 찾기 위하여, 제1 뷰 콤포넌트 내 대응하는 샘플을 찾도록 적어도 몇몇 샘플에 대하여 다시 스테레오 매칭이 수행되는 것이 필요할 수 있다. 한 방향으로만 스테레오 매칭을 수행할 여러 이유가 있을 수 있는데, 즉 하나의 뷰에 대하여 (또는 일반적으로는 뷰의 서브세트에 대하여) 다음을 포함하나 이에 한정되지는 않는다:
1. 스테레오 매칭 또는 깊이 추정은 계산의 리소스 및/또는 메모리 리소스 및/또는 배터리 전력/충전 레벨을 아끼기 위해 뷰의 서브세트에 대해 행해질 수 있다. 깊이의 제2 뷰를 산출하도록, 깊이 추정이 반복되어야 하는데, 이는 계산 및 메모리 요구량을 두 배로 할 수 있다.
2. 합성된 뷰가 뷰의 서브세트만이 각자의 깊이 뷰와 연관된 경우에도 뷰 합성 품질이 충분히 좋다고 판단되거나 추정되도록 깊이 픽처가 도출되는 뷰에 상대적으로 가까이 위치되는 방식으로만 콘텐트가 수정되도록 의도되고/되거나 제한될 수 있다.
3. 합성된 뷰가 뷰의 서브세트만이 각자의 깊이 뷰와 연관된 경우에도 뷰 합성 품질이 충분히 좋다고 판단되거나 추정되도록 깊이 픽처가 도출되는 뷰에 상대적으로 가까이 위치되는 방식으로 렌더링 디바이스가 DIBR을 수행한다는 점이 알려지거나 시그널링될 수 있다.
위 리스트 내 항목 2 및 항목 3을 참조하여, 두 텍스처 뷰 및 하나의 깊이 뷰를 포함하는 비트스트림의 예(2T+1D로 지칭됨)가 고려될 수 있다. 2T+1D 포맷은 깊이 이미지 기반 렌더링(Depth Image-based Rendering)을 통해 렌더링 능력을 가능하게 할 수 있다. 가상의 텍스처 뷰는 이용가능한 텍스처 뷰로부터 어떤 뷰 각도 범위 내에 합성될 수 있다. 합성된 뷰와 함께 디스플레이되는 제2 텍스처 뷰와 조합되어, 2T+1D 방안은 조정가능한 스테레오 베이스라인 기능(adjustable stereo baseline functionality)을 이용한 입체 디스플레이를 가능하게 할 수 있다. 고품질 뷰 합성은 합성된 뷰 내에 나타날 수 있는 폐색/폐색해제로 인해 종래의 2T+2D MVD 데이터에 비해 더 작은 시야 범위(viewing range) 내에서 이용가능할 수 있다는 점이 이해되어야 한다. 그러나, 몇몇 용도 및/또는 애플리케이션은 2T+1D 포맷에 의해 제공되는 렌더링 범위로 만족될 수 있고 인 페인팅(in-painting) 또는 홀 필링과 같은 향상된 후처리 기법은 폐색/폐색해제 문제를 감출 수 있을 것이라고 여겨진다.
몇몇 캡처링 구성에서, 하나보다 많은 색상 이미지 센서(가령, 입체 색상 이미지 카메라) 및 범위측정 또는 거리 센싱 카메라 (또는 일반적으로는 많은 깊이 범위측정 카메라)가 있다. 스테레오 매칭 또는 깊이 추정을 통해, 하나 이사의 기이 뷰가 획득될 수 있으나, (가령 앞서 설명된 이유 중 임의의 이유로 인해) 색상 이미지 센서에 의해 획득된 텍스처 뷰의 시점에 비해 깊이 뷰는 시점의 서브세트를 나타낼 수 있다. 추가로, 범위측정 센서(들)에서 기원하되 텍스처 뷰와 코로케이팅되지 않는 깊이 뷰가 있을 수 있다.
가령 전력 소비, 처리 전력 사용, 메모리 액세스 대역폭 및 메모리 공간 요구를 줄이기 위해 텍스처 뷰의 개수에 비하여 더 적은 개수의 깊이 뷰를 인코딩하고 그 후에 디코딩하는 것이 바람직할 수 있다. 예를 들어, 깊이 맵 데이터의 단일 뷰를 두 개의 뷰 대신 코딩/디코딩하는 것은 텍스처 및 깊이의 두 개의 뷰를 포함하는 완전한 MVC 데이터에 비해 코덱을 위한 복잡도 감소를 제공할 수 있다.
그러므로, 본 발명에서 깊이 향상된 멀티뷰 비디오를 인코딩, 디코딩 및 처리하기 위한 방법이 제시되는데, 여기서 동일하지 않은 개수의 텍스처 및 깊이 뷰가 있을 수 있고/있거나 텍스처 뷰 중 몇몇은 코로케이팅된 깊이 뷰를 갖지 않을 수 있고/있거나 깊이 뷰 중 몇몇은 코로케이팅된 텍스처 뷰를 갖지 않을 수 있고, 깊이 뷰 콤포넌트 중 몇몇은 텍스처 뷰 콤포넌트와 시간적으로 일치하지 않고 있거나 그 역도 그럴 수 있고/있거나, 코로케이팅된 텍스처 및 깊이 뷰는 상이한 공간적 영역을 커버할 수 있고/있거나, 하나보다 많은 유형의 깊이 뷰 콤포넌트가 있을 수 있다. 본 발명의 몇몇 비한정적 실시예가 아래에서 제시된다.
다양한 실시예의 서술에서, 코로케이팅됨(co-located), 병치됨(collocated) 및 중첩함(overlapping)이라는 용어는 텍스처 뷰 콤포넌트 내의 어떤 샘플 또는 영역이 3D 씬의 동일한 물리적 대상체 또는 단편을 깊이 뷰 콤포넌트 내의 어떤 코로케이팅된/병치된/중첩하는 샘플 또는 영역으로서 나타낸다는 점을 보여주도록 교환가능하게 사용될 수 있다. 몇몇 실시예에서, 텍스처 뷰 콤포넌트의 샘플링 그리드(sampling grid)는 깊이 뷰 콤포넌트의 샘플링 그리드와 동일할 수 있다(즉, 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 하나의 샘플은 깊이 뷰 콤포넌트의 하나의 샘플에 대응함, 즉 샘플의 물리적 치수는 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지) 및 대응하는 깊이 뷰 콤포넌트 간에 매칭됨). 몇몇 실시예에서, 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드의 샘플 치수(twidth×theight)는 깊이 뷰 콤포넌트의 샘플링 그리드의 샘플 치수(dwidth×dheight)의 정수배일 수 있다(즉, m 및 n이 양의 정수일 때, twidth=m×dwidth이고 theight=n×dheight임). 몇몇 실시예에서는, m 및 n이 양의 정수일 때, dwidth=m×twidth이고 dheight=n×theight이다. 몇몇 실시예에서는, m 및 n이 양의 값이고 정수가 아닐 수 있을 때, twidth=m×dwidth이고 theight=n×dheight이거나 대안적으로 dwidth=m×twidth이고 dheight=n×theight이다. 이 실시예들에서, 보간(interpolation) 방안이 인코더에서 및 디코더에서 그리고 뷰 합성 프로세스 및 텍스처와 깊이 간 코로케이팅된 샘플 값을 도출하는 다른 프로세스에서 사용될 수 있다. 몇몇 실시예에서, 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드의 물리적 위치는 대응하는 깊이 뷰의 물리적 위치와 매칭될 수 있고 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플 치수는 깊이 뷰 콤포넌트의 샘플링 그리드의 샘플 치수(dwidth×dheight)의 정수 배일 수 있으며(또는 그 역이 그러하며)-그러면, 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트는 코로케이팅되고 동일한 시점을 나타낸다고 간주될 수 있다. 몇몇 실시예에서, 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드의 위치는 깊이 뷰 콤포넌트의 샘플링 그리드 위치에 대해 정수의 샘플 오프셋을 가지거나 그 역이 그러할 수 있다. 다시 말해, 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드의 좌측 최상부 샘플은 깊이 뷰 콤포넌트의 샘플링 그리드 내 위치 (x, y)에서의 샘플에 대응하거나 그 역이 그러할 수 있는데, 여기서 x 및 y는 음이 아닌(non-negative) 값만을 갖고 좌측 최상부 모서리에 원점(origo)을 갖는 2차원 데카르트 좌표계(Cartesian coordinate system) 내의 음이 아닌 정수이다. 몇몇 실시예에서, x 및/또는 y의 값은 정수가 아닐 수 있고 따라서 보간 방안이 인코더에서 및 디코더에서 그리고 뷰 합성 프로세스 및 텍스처와 깊이 간 코로케이팅된 샘플 값을 도출하는 다른 프로세스에서 사용될 수 있다. 몇몇 실시예에서, 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드는 깊이 뷰 콤포넌트의 샘플링 그리드에 비해 다른 규모를 가질 수 있다. 다시 말해, 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드 내의 수평 및/또는 수직 방향 내의 샘플의 개수는 깊이 뷰 콤포넌트의 샘플링 그리드 내의 수평 및/또는 수직 방향 내의 샘플의 개수와 각각 상이할 수 있고/있거나 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드의 물리적 폭 및/또는 높이는 깊이 뷰 콤포넌트의 샘플링 그리드의 물리적 폭 및/또는 높이와 각각 상이할 수 있다. 몇몇 실시예에서, 비균일(non-uniform) 및/또는 비매칭(non-matching) 샘플 그리드가 텍스처 및/또는 깊이 콤포넌트를 위해 활용될 수 있다. 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드가 깊이 뷰 콤포넌트의 샘플링 그리드의 샘플 치수(dwidth×dheight)의 정수배가 아니거나 텍스처 뷰 콤포넌트의 콤포넌트 이미지(가령 루마 이미지)의 샘플링 그리드 위치가 깊이 뷰 콤포넌트의 샘플링 그리드 위치에 비해 정수가 아닌 오프셋을 가지거나 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트의 샘플링 그리드가 정렬되지/교정되지 않은 경우에 깊이 뷰 콤포넌트의 샘플 그리드는 텍스처 뷰 콤포넌트의 샘플 그리드와 매칭하지 않는다(non-matching). 이는 가령 그 콤포넌트들 중 하나에서 데이터의 중복성을 줄이려는 목적에서 또는 깊이 센서 및 색상 이미지 센서 간 보정(calibration)/교정(rectification) 프로세스의 부정확성으로 인해 생길 수 있다.
본 발명의 몇몇 실시예에서, 코딩된 깊이 뷰의 개수가 코딩된 텍스처 뷰의 개수와 상이한 방식으로 인코더는 텍스처 뷰의 개수에 비해 상이한 개수의 깊이 뷰를 입력하고/하거나 깊이 뷰의 인코딩을 생략한다. 추가적으로 또는 대안적으로, 인코더는 인코딩을 위한 적어도 하나의 깊이 뷰가 상이한 시점(viewpoint)을 갖거나 인코딩을 위한 텍스처 뷰 중 어느 것과도 코로케이팅되지 않음을 입력하거나 판단할 수 있다. 몇몇 실시예에서, 코딩된 깊이 뷰의 개수는 코딩된 텍스처 뷰의 개수와 동일할 수 있으나 적어도 하나의 코딩된 깊이 뷰는 상이한 시점을 가지거나 코딩된 텍스처 뷰 중 어느 것과도 코로케이팅되지 않는다. 예를 들어, 깊이 뷰는 현재 텍스처 뷰 중 임의의 것과 병치되어서 현재 텍스처 뷰들 간에 이격된 시야각(viewing angle)으로부터 또는 현재 텍스처 뷰들의 시야각 외부에서 정보를 표현하지는 않을 수 있다.
다양한 실시예에서, 인코더 및/또는 인코더에 연결된 다른 유닛(예컨대 인코더를 사용하는 애플리케이션)은 무엇보다도 다음 단계 중 하나 이상을 수행할 수 있다:
1. 입력 텍스처 및 깊이 뷰 중 어느 것이 인코딩되는지 결정하는 것.
2. 텍스처 뷰 및 깊이 뷰의 뷰 간 예측 계층 구조를 결정하는 것.
3. AU 뷰 콤포넌트 순서로도 지칭되는, 액세스 단위 내의 뷰 콤포넌트 순서를 결정하는 것.
4. 입력 텍스처 및 깊이 뷰 중 어느 것이 인코딩되는지, 텍스처 뷰 및 깊이 뷰의 뷰 간 예측 계층구조 및/또는 AU 뷰 콤포넌트 순서의 하나 이상의 표시를 비트스트림으로 인코딩하는 것.
5. 코딩되지 않을 것으로 결정되거나 인코더에 입력되지 않은 깊이 뷰 및 디코딩을 위한 후처리로서 수행되는 뷰 합성을 위하여 및/또는 (뷰 합성 예측, 뷰 간 예측, 콤포넌트 간 예측 및/또는 유사한 것과 같은) 예측을 위하여 참조 또는 입력으로서 요구되는 깊이 뷰의 응답으로서, 다음을 수행하는 것:
- 깊이 뷰, 깊이 뷰를 위한 하나 이상의 깊이 뷰 콤포넌트 또는 깊이 뷰를 위한 하나 이상의 깊이 뷰 콤포넌트의 일부를 코딩된 깊이 뷰 및/또는 코딩된 텍스처 뷰 및/또는 재구성된 깊이 뷰 및/또는 재구성된 텍스처 뷰 또는 그들의 일부에 기초하여 도출하는 것. 그 도출은 가령 뷰 합성 또는 DIBR에 기반할 수 있다.
- 도출된 깊이 뷰를 디코딩을 위한 후처리로서 수행되는 뷰 합성을 위하여 및/또는 (뷰 합성 예측, 뷰 간 예측, 콤포넌트 간 예측 및/또는 유사한 것과 같은) 예측을 위하여 참조 또는 입력으로서 사용하는 것.
6. 하나 이상의 코딩 도구, 코딩 도구의 모드 및/또는 텍스처 뷰를 코딩하기 위한 코딩 파라미터의 사용을 각각의 코딩된 깊이 뷰의 존재 또는 부재 및/또는 각각의 도출된 깊이 뷰의 존재 또는 부재에 기반하여 추론하는 것. 몇몇 실시예에서, 깊이 뷰가 (뷰 합성 예측, 뷰 간 예측, 콤포넌트 간 예측 및/또는 유사한 것과 같은) 예측을 위하여 참조 또는 입력으로서 요구되나 인코딩되지 않는 경우, 인코더는
- 깊이 뷰를 도출하거나
- 깊이 뷰가 예측을 위하여 참조 또는 입력으로서 요구되게 하는 코딩 도구가 꺼져 있음을 추론하거나
- 위의 것 중 하나를 적응적으로 선택하고 선택된 옵션 및 관련된 파라미터 값(만약 있다면)을 하나 이상의 표시로 비트스트림 내에 인코딩할 수 있다.
7. 깊이 뷰 콤포넌트 내 코로케이팅된 샘플 또는 블록의 가용성에 기초하여 텍스처 뷰 콤포넌트 내 예측된 블록의 서브세트에 대해 깊이 뷰 콤포넌트로부터 (또는 일반적으로 하나 이상의 깊이 뷰 콤포넌트로부터) 텍스처 뷰 콤포넌트로 (또는 일반적으로 하나 이상의 텍스처 뷰 콤포넌트로) 콤포넌트 간 예측 신호 또는 예측 블록 또는 유사한 것을 형성하는 것. 마찬가지로, 텍스처 뷰 콤포넌트 내 코로케이팅된 샘플 또는 블록의 가용성에 기초하여 깊이 뷰 콤포넌트 내 예측된 블록의 서브세트에 대해 텍스처 뷰 콤포넌트로부터 (또는 일반적으로 하나 이상의 텍스처 뷰 콤포넌트로부터) 깊이 뷰 콤포넌트로 (또는 일반적으로 하나 이상의 깊이 뷰 콤포넌트로) 콤포넌트 간 예측 신호 또는 예측 블록 또는 유사한 것을 형성하는 것.
8. 코로케이팅된 깊이 샘플의 가용성에 기초하여 텍스처 블록에 대해 뷰 합성 예측 신호 또는 예측 블록 또는 유사한 것을 형성하는 것.
전술된 단계는 위에서 주어진 순서로 실행될 필요는 없다는 점이 이해되어야 한다. 예를 들어 단계 1부터 단계 3까지는 관련된 것으로 간주될 수 있고 위에서 제시된 것과는 상이한 순서로 또는 공동 프로세스(joint process)로서 수행될 수 있다.
몇몇 실시예에서, 인코더 및/또는 인코더에 연결된 다른 유닛(예컨대, 인코더를 사용하는 애플리케이션)은 입력 텍스처 및 깊이 뷰 중 어느 것이 인코딩되는지 판단할 수 있다. 그 판단은 가령 콘텐트 아이템(가령, 비디오 파일) 또는 세션(가령, 비디오 전화 연결 또는 호) 당 한 번 행해질 수 있거나, 콘텐트 아이템 또는 세션 중에 여러 번 결정이 행해질 수 있다(즉, 코딩된 텍스처 및 깊이 뷰는 콘텐트 아이템 또는 세션 내에서 바뀌도록 허용될 수 있다). 코딩된 텍스처 및 깊이 뷰에 대해 결정을 내리는 인코더 프로세스 또는 추론은 다음 중 하나 이상을 포함할 수 있으나 이에 한정되지는 않는다:
1. 인코더는 코딩된 깊이 뷰의 개수 및/또는 코딩된 텍스처 뷰의 개수를 가령 애플리케이션 설정으로부터 입력하도록 구성될 수 있다.
2. 인코더는 뷰 합성, 뷰 간 및/또는 콤포넌트 간 예측 계층구조(사용 중)에 기반하여 어느 깊이 뷰가 코딩되는지 결정할 수 있다. 깊이 뷰가 뷰 합성, 뷰 간 및/또는 콤포넌트 간 예측을 위한 예측을 위하여 참조로서 사용되는 경우, 인코더는 그 깊이 뷰를 코딩하기로 결정할 수 있다. 그렇지 않은 경우, 깊이 뷰가 뷰 합성, 뷰 간 및/또는 콤포넌트 간 예측을 위한 예측을 위하여 참조로서 사용되지 않는 경우, 인코더는 깊이 뷰의 인코딩을 생략하기로 결정할 수 있다.
3. 이전 항목과 유사하게, 인코더는 콤포넌트 간 예측 도구 및/또는 어느 유형의 뷰 합성 예측(가령 순방향 VSP 또는 역방향 VSP)이 사용 중인지에 기반하여(즉, 깊이 뷰가 임의의 다른 뷰 또는 뷰들을 코딩하기 위해 필요한지 여부에 기반하여) 어느 깊이 뷰가 코딩되는지 및 어느 깊이 뷰가 생략되는지를 선택할 수 있다. 그러한 결정으 가령 다음 중 하나 이상에 기반할 수 있다:
- 인코더는 코딩된 텍스처 및 깊이 뷰, 콤포넌트 간 코딩 및/또는 뷰 합성 예측 도구, 그리고 AU 뷰 콤포넌트 순서가 가령 율-왜곡 (또는 어떤 다른 비용) 메트릭에서 몇몇 다른 것보다 더 우수하게 수행하는 최적화 프로세스를 수행할 수 있다.
- 인코더는 소정의 코딩 도구, 코딩 모드 및/또는 코딩 파라미터(어느 깊이 뷰가 코딩되는지에 대해 제한을 부과함)를 사용하도록 구성될 수 있거나 사용하기로 결정할 수 있다. 예를 들어, 만약 순방향 VSP가 앞서 서술된 바와 같이 사용되는 경우, 뷰 합성 예측을 위해 참조로서 사용되는 뷰의 텍스처 뷰 콤포넌트 및 각자의 깊이 뷰 콤포넌트 모두는 코딩될 것이 요구될 수 있다.
4. 인코더는 코딩된 깊이 뷰가 (가령 뷰 합성, 뷰 간 또는 콤포넌트 간 예측과 같은) 예측을 위한 참조로서 그 코딩된 깊이 뷰를 사용할 수 있을 다른 뷰에 대해 율-왜곡 (또는 다른 비용 메트릭) 이득을 가져올 것인지를 판정하기 위해 VSO 방법 또는 유사한 것을 실행할 수 있다. VSO 방법 또는 유사한 것에 대해, 인코더는 가령 첫 번째 액세스 단위 또는 첫 번째 GOP의 뷰 콤포넌트만 사용할 수 있다. 만약 코딩 및 디코딩 프로세스가 코딩된 깊이 뷰 및/또는 코딩된 텍스처 뷰 및/또는 재구성된 깊이 뷰 및/또는 재구성된 텍스처 뷰 또는 그것들의 일부에 기초하여 깊이 뷰를 도출하는 것을 가능하게 하는 경우, 인코더의 VSO 방법 또는 유사한 것은 깊이 뷰를 코딩하는 것 또는 깊이 뷰를 코딩/디코딩 프로세스의 일부로서 도출하는 것의 율-왜곡 (또는 다른 비용 메트릭) 영향을 비교할 수 있다. 만약 코딩된 깊이 뷰가 율-왜곡 이득을 가져오면, 인코더는 깊이 뷰를 인코딩하기로 결정할 수 있고 - 그렇지 않으면, 인코더는 깊이 뷰의 인코딩을 생략하기로 결정할 수 있다.
5. 인코더는 디코딩을 위한 후처리로서 행해지는 뷰 합성을 위한 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위를 입력하도록 구성될 수 있다. 인코더는 코딩된 깊이 뷰가 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위에 대해 (그렇지 않다면 이용가능할 깊이 뷰에 기초하여 동일한 시점을 합성하는 것에 비해) 율-왜곡 (또는 다른 비용 메트릭) 이득을 가져올 것인지를 판정하기 위해 VSO 방법 또는 유사한 것을 실행할 수 있다. VSO 방법 또는 유사한 것에 대해, 인코더는 가령 첫 번째 액세스 단위 또는 첫 번째 GOP의 뷰 콤포넌트만 사용할 수 있다. 만약 코딩된 깊이 뷰가 율-왜곡 이득을 가져오면, 인코더는 깊이 뷰를 인코딩하기로 결정할 수 있고 - 그렇지 않으면, 인코더는 깊이 뷰의 인코딩을 생략하기로 결정할 수 있다.
텍스처 뷰 및 깊이 뷰의 뷰 간 예측 계층구조를 결정하는 것은 가령 다음과 같이 인코더에서 행해질 수 있다.
몇몇 실시예에서, 인코더는 텍스처 뷰 및 깊이 뷰에 대하여 소정의 동일한 뷰 간 종속성 순서를 선택하도록 구성될 수 있다. 대안적으로 또는 추가로, 인코더는 동일한 뷰 간 종속성 순서가 가령 율-왜곡 메트릭을 사용하여 몇몇 다른 것보다 더 우수하게 수행하는 최적화 프로세스를 수행할 수 있다.
몇몇 실시예에서, 인코더는 텍스처 뷰를 위한 뷰 간 종속성 순서를 깊이 뷰로부터 상이하게 선택할 수 있다. 예를 들어, 인코더는 텍스처 뷰 및 깊이 뷰를 위한 어떤 뷰 간 종속성 순서를 선택하도록 구성될 수 있다. 대안적으로 또는 추가로, 인코더는 뷰 간 종속성 순서가 가령 율-왜곡 메트릭을 사용하여 텍스처 뷰 및 깊이 뷰에 대해 몇몇 다른 것보다 더 우수하게 수행하는 최적화 프로세스를 수행할 수 있다.
몇몇 실시예에서, 인코더는, 다른 실시예에서 뷰 간 종속성 순서의 선택에 추가하여 또는 대안적으로, 텍스처 및 깊이 뷰를 위한 뷰 간 종속성 순서 및/또는 AU 뷰 콤포넌트 순서를 사용되는 예측 깊이 맵의 유형 및/또는 깊이 뷰 내의 깊이 맵의 유형에 기반하여 선택할 수 있다. 하나보다 많은 깊이 맵이 디스패리티를 나타내는 경우, 인코더는 깊이 뷰의 AU 뷰 콤포넌트 순서 및/또는 뷰 간 종속성 순서가 디스패리티 맵이 도출되는 뷰의 순서와 정렬되는 방식으로 깊이 뷰를 위한 AU 뷰 콤포넌트 순서 및/또는 뷰 간 종속성 순서를 선택할 수 있다. 나아가, 인코더가 역방향 VSP를 사용하는 경우, 인코더는, 깊이 뷰 콤포넌트의 샘플 값을 전환하지 않고, 디스패리티 맵을 나타내는 깊이 뷰 콤포넌트를 사용하는 역방향 VSP가 직접 사용될 수 있는 방식으로 텍스처 및 깊이 뷰의 AU 뷰 콤포넌트 및 텍스처 뷰의 뷰 간 종속성 순서를 선택할 수 있다. 일 예에서 일방향의 평행 설정인 세 개의 카메라가 멀티뷰 비디오 시퀀스를 캡처하는 데 사용되었고 스테레오 매칭이 두 디스패리티 맵을 생성하는 데 사용되었는데, 제1 디스패리티 맵은 좌측 카메라부터 우측 카메라로의 디스패리티 값을 포함하고 제2 디스패리티 맵은 우측 카메라로부터 중간 카메라로의 디스패리티 값을 포함한다. 동일한 예를 계속하면, 역방향 VSP가 사용될 수 있고 텍스처 뷰가 코딩될 수 있는데 좌측 뷰, 우측 뷰 및 중간 뷰의 순서이다. 제1 디스패리티 맵은 제2 디스패리티 맵 전에 코딩될 수 있다. 제1 디스패리티 맵 및 좌측 뷰의 텍스처 뷰 콤포넌트는 우측 뷰의 텍스처 뷰 콤포넌트를 위해 역방향 VSP에서 사용될 수 있다. 이후에, 제2 디스패리티 맵 및 우측 뷰의 텍스처 뷰 콤포넌트는 중간 뷰의 텍스처 뷰 콤포넌트를 위해 역방향 VSP에서 사용될 수 있다.
다음 단락에서, 코딩된 텍스처 및 깊이 뷰에 대하여 결정을 내리기 위한 인코더 프로세스 또는 추론 중 몇몇의 예시적인 설명 및/또는 추가적인 세부사항이 주어진다.
위에서 언급된 바와 같이, 몇몇 실시예에서 인코더는 사용 중인 뷰 간 및 콤포넌트 간 예측 계층구조에 기반하여 어느 깊이 뷰가 코딩되는지 결정할 수 있다. 인코더는 뷰 간 및/또는 콤포넌트 간 예측 종속성 계층구조를 입력하도록 구성될 수 있고/있거나, 사전정의된 뷰 간 및/또는 콤포넌트 간 예측 종속성 계층구조가 사용될 수 있거나, 율-왜곡 최적화와 같은 비용 함수가 뷰 간 및/또는 콤포넌트 간 예측 종속성 계층구조를 결정하기 위해 수행될 수 있다. 인코더는 또한 텍스처 및 깊이 뷰 콤포넌트의 코딩/디코딩 순서를 결정할 수 있는데, 이는 뷰 간 및 콤포넌트 간 예측 종속성 계층구조의 결정에 기반할 수 있다. 대안적으로, 인코더는 텍스처 및 깊이 뷰 콤포넌트의 코딩/디코딩 순서를 입력하도록 구성될 수 있거나, 텍스처 및 깊이 뷰 콤포넌트의 사전정의된 코딩/디코딩 순서를 사용할 수 있거나, 율-왜곡 최적화와 같은 비용 함수가 텍스처 및 깊이 뷰 콤포넌트의 코딩/디코딩 순서를 결정하기 위해 수행될 수 있다. 따라서, 텍스처 및 깊이 뷰 콤포넌트의 코딩/디코딩 순서에 기반하여, 인코더는 뷰 간 및/또는 콤포넌트 간 예측 종속성 계층구조를 결정할 수 있다.
예를 들어, 인코더는 세 개의 뷰의 코딩을 위해 "PIP" 뷰 간 예측 계층구조를 사용하도록 구성된다. PIP 뷰 간 예측 계층구조에서, 중간의 텍스처 뷰는 기반 텍스처 뷰로서 코딩되고 좌측 상 및 우측 상의 텍스처 뷰는 기반 텍스처 뷰로부터 뷰 간 예측을 사용할 수 있다. 동일한 예를 계속하면, 인코더는 좌측 상 및 우측 상의 텍스처 뷰에 대한 뷰 합성 예측 사용이고(즉, "P" 텍스처 뷰) 콤포넌트 간 예측을 사용하지 않도록 구성된다. 순방향 VSP가 사용되는 경우, 중간의 깊이 뷰는 뷰 합성 예측 신호를 형성하기 위해 필요하고 인코더에 의해 코딩될 것이 결정되며, 따라서 좌측 상 및 우측 상의 깊이 뷰의 코딩은 생략될 수 있다. 역방향 VSP가 사용되는 경우, 중간의 깊이 뷰는 뷰 합성 예측 신호를 형성하는 데 필요하지 않을 수 있고 그것의 코딩이 생략될 수 있으나, 좌측 및 우측 깊이 뷰는 뷰 합성 예측 신호를 형성하는 데 사용되고 따라서 인코더에 의해 코딩될 것이 결정된다. 언급된 역방향 VSP의 경우에 중간의 깊이 뷰가 코딩되지 않는바, 좌측 뷰 및 우측 뷰 중 하나가 기반 깊이 뷰로서 선택될 수 있으나 다른 하나는 기반 깊이 뷰로부터의 뷰 간 예측을 사용할 수 있다.
몇몇 실시예에서, 인코더는 디코딩을 위한 후처리로서 행해지는 뷰 합성을 위한 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위를 입력하도록 구성될 수 있다. 예를 들어, 사용자는 바람직한 멀티뷰 렌더링 경험을 초래하는 시점의 범위를 설정하는 콘텐트 인코딩(content encoding)을 도울 수 있다. 다른 예에서, 상이한 합성된 뷰에서 기인하는, 가령 최대의 양의 디스패리티 및/또는 최소의 음의 패리티 및/또는 디스패리티 분포와 같은 디스패리티 특성 및/또는 각각의 인식된 깊이 특성은 원하는/허용된 합성된 시점 또는 원하는/허용된 합성된 시점 범위를 결정하는 데 사용될 수 있다. 다른 예에서, 인코딩 측은 디스플레이의 정보 및 디코딩 측 디바이스(들) 또는 단말(들)의 시야 환경을 수신하는 것이 가능하다. 예를 들어, 비디오 전화 또는 비디오 회의 애플리케이션에서, 수신기(디코딩 측으로 지칭될 수도 있음)가 그것의 렌더링 환경의 특성을 인코딩 측에 나타내는 시그널링 메커니즘이 제공될 수 있다. 이 특성은 다음 중 하나 이상을 포함할 수 있으나 이에 한정되지는 않는다: 동시에 디스플레이되는 뷰의 개수, 샘플 또는 콤포넌트 샘플(예컨대, 적색, 녹색 및 청색 픽셀 콤포넌트)의 측면에서 (각 뷰에 대해 별개로 주어질 수 있는) 시야 윈도우(viewing window) 또는 디스플레이의 수평 및 수직 해상도, 시야 윈도우 또는 디스플레이 영역의 수평 및 수직 크기, 시야 거리(예컨대, 하나 이상의 뷰어(viewer)의 검출된 시야 거리 또는 권장되는 시야 거리), 디스플레이되는 시점 또는 뷰 및/또는 디스플레이되는 시점 또는 뷰 간의 베이스라인 차이/거리. 그 특성은 시간의 함수로서 변화할 수 있는바, 수신기는 세션 동안 그 특성의 새 값을 시그널링하는 수단을 가질 수 있다. 예를 들어, 하나 이상의 새로운 코덱 제어 메시지가 IETF RFC 5104에 지정된 코덱 제어 메시지와 유사하게 지정될 수 있다. 코덱 제어 메시지는 실시간 전송 제어 프로토콜(Real-Time Transport Control Protocol: RTCP, IETF RFC 3550) 상에서 메시지를 전달하기 위하여 피드백을 구비한 시청각 프로파일(Audio-Visual Profile with Feedback: AVPF, IETF RFC 4585)을 사용할 수 있다.
디코딩을 위한 후처리로서 행해지는 뷰 합성을 위한 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위에 기초하여, 인코더는 코딩된 깊이 뷰가 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위에 대해 (그렇지 않다면 이용가능할 깊이 뷰에 기초하여 동일한 시점을 합성하는 것에 비해) 율-왜곡 (또는 다른 비용 메트릭) 이득을 가져올 것인지를 판정하기 위해 VSO 방법 또는 유사한 것을 실행할 수 있다. VSO 방법 또는 유사한 것에 대해, 인코더는 가령 첫 번째 액세스 단위 또는 첫 번째 GOP의 뷰 콤포넌트만 사용할 수 있다. 만약 코딩된 깊이 뷰가 율-왜곡 이득을 가져오면, 인코더는 깊이 뷰를 인코딩하기로 결정할 수 있고 - 그렇지 않으면, 인코더는 깊이 뷰의 인코딩을 생략하기로 결정할 수 있다.
몇몇 실시예에서, 인코더 측 및/또는 디코더 측은 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위로의 깊이 뷰 콤포넌트의 순방향 뷰 합성을 사용할 수 있다. 이후에, 인코더 측 및/또는 디코더 측은 순방향 합성된 깊이 뷰 콤포넌트에 기반하여 텍스처 뷰 콤포넌트의 역방향 뷰 합성을 사용할 수 있다. 몇몇 실시예에서, 인코더는 코딩된 깊이 뷰(각각의 코딩된 텍스처 뷰가 서술된 뷰 합성 프로세스와 조합하여 있지 않음)가 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위에 대해 (그렇지 않다면 코딩될 깊이 뷰에 기초하여 동일한 시점을 합성하는 것에 비해) 율-왜곡 (또는 다른 비용 메트릭) 이득을 가져올 것인지를 판정하기 위해 VSO 방법 또는 유사한 것을 실행할 수 있다. 몇몇 실시예에서, 인코더는 각각의 텍스처 뷰 콤포넌트 없이 코딩될 깊이 뷰 또는 시점을 입력하도록 구성되거나 사전정의될 수 있다. 몇몇 실시예에서, 인코더는 각자의 텍스처 뷰를 갖지 않는 깊이 뷰를 입력으로서 수신하지 않을 수도 있고 인코더는 입력으로서 수신되지 않고 인코딩될 그러한 깊이 뷰를 생성하기 위해 깊이 뷰의 순방향 뷰 합성을 이후에 수행할 수 있다. 인코더는 순방향 깊이 뷰 합성과 역방향 텍스처 뷰 합성의 파라미터 및 그 사용에 관한 하나 이상의 표시를 인코딩하고 그 하나 이상의 표시를 비트스트림 내에(가령, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 보충적 향상 정보 또는 임의의 다른 신택스 구조 내에) 포함할 수 있다. 디코더는 순방향 깊이 뷰 합성과 역방향 텍스처 뷰 합성의 파라미터 및 그 사용에 관한 하나 이상의 표시를 비트스트림으로부터 수신하여 디코딩하고 디코딩된 표시에 따라 디코딩의 후처리에 의해 뷰 합성 및/또는 뷰 합성 예측을 수행할 수 있다.
몇몇 실시예에서, 인코더는 비선형 디스패리티 맵(실세계 디스패리티를 표현하지 않을 수 있으나 디스패리티는 공간적으로 또는 국부적으로 적응됨)을 입력하거나 생성하도록 구성될 수 있다. 그 공간적 또는 국부적 적응은 가령 사용자 조력형(user-assisted) 방식 및/또는 에너지 최소화 문제를 해결하는 것을 통하여 수행될 수 있다. 에너지 최소화 문제는 가령 식 또는 공식의 측면(산재한 스테레오 대응(sparse stereo correspondences), 시각적 중요성 또는 현저성(visual importance or saliency) 및 시간적 일관성(temporal consistency)를 포함할 수 있으나 이에 한정되지 않는 여러 측면과 함께)에서 만들어질(formulated) 수 있다. 비선형 디스패리티 맵은 가령 전경 대상체의 실제 디스패리티에 비해 전경 대상체를 위한 상이한 디스패리티를 나타낼 수 있는 반면, 씬의 배경의 디스패리티는 그것의 실제 디스패리티를 반영할 수 있다. 비선형 디스패리티 맵은 코딩된 텍스처 뷰 콤포넌트의 시점을 위해 인코더에 의해 입력 또는 생성될 수 있고 비선형 디스패리티 맵은 (디코딩의 후처리를 위한 뷰 합성 및/또는 뷰 합성 예측에서) 인코더 측 및/또는 디코더 측에 의해 순방향 뷰 합성을 위해 사용될 수 있다. 대안적으로 또는 추가로, 비선형 디스패리티 맵은 어떠한 텍스처 뷰 콤포넌트도 코딩되지 않은 시점을 위해 인코더에 의해 입력 또는 생성될 수 있고 비선형 디스패리티 맵은 (디코딩의 후처리를 위한 뷰 합성 및/또는 뷰 합성 예측에서) 인코더 측 및/또는 디코더 측에 의해 역방향 뷰 합성을 위해 사용될 수 있다. 몇몇 실시예에서, 인코더는 비선형 디스패리티 맵을 위한 파라미터 및 그 사용의 하나 이상의 표시를 인코딩하고 비트스트림 내에(가령, 시퀀스 파라미터 세트 또는 보충적 향상 정보 메시지 또는 임의의 다른 신택스 구조 내에) 포함할 수 있다. 예를 들어, 인코더는 (가령 참조 카메라 위치에 대한 전이(translational) 카메라 위치로서) 시점의 리스트 또는 범위를 포함할 수 있는데, 이에 대하여 비선형 디스패리티 맵이 비선형 디스패리티 맵 내의 디스패리티 값의 사전정의된, 선형 또는 시그널링된 스케일링을 이용하여 적용될 수 있다. 인코더는 임의의 다른 유형의 깊이 또는 디스패리티 맵과 동일하게 또는 유사하게 비선형 디스패리티 맵을 인코딩할 수 있고, 디코더는 임의의 다른 유형의 깊이 또는 디스패리티 맵과 동일하게 또는 유사하게 비선형 디스패리티 맵을 디코딩할 수 있다. 몇몇 실시예에서, 디코더는 비선형 디스패리티 맵을 위한 파라미터 및 그 사용의 하나 이상의 표시를 비트스트림으로부터 수신하여 디코딩한다. 디코더는 그 하나 이상의 표시에 기반하여 뷰 합성 예측을 위해 요구되거나 렌더링/디스플레이하는 것을 위해 희망되는 시점이 비선형 디스패리티 맵이 적용될 수 있는 시점의 리스트 또는 범위 내에 있다고 판단할 수 있다. 디코더는 비선형 디스패리티 맵에 기초하여 요구되는/희망되는 시점을 위한 뷰 콤포넌트를 생성하기 위하여 이후에 디스패리티 보상 또는 뷰 합성 또는 DIBR 알고리즘을 적용할 수 있다. 만약 뷰가 수신된 비선형 디스패리티 맵에 대응하는 시점에서 합성될 것으로 결정된다면, 뷰 합성 또는 DIBR은 비선형 디스패리티 맵에 기초하여 적용될 수 있고 역방향 뷰 합성과 유사할 것이다. 만약 뷰가 어떤 코딩된 비선형 디스패리티 맵과도 코로케이팅하지 않는 시점에서 합성될 것으로 결정된다면, 텍스처 뷰 및 깊이/디스패리티 뷰가 모두 이용가능(선행 단계에서 수신되거나 아니면 합성됨)한 시점으로부터 순방향 뷰 합성이 직접 적용될 수 있다. 대안적으로 또는 추가로, 깊이/디스패리티 뷰의 순방향 뷰 합성은, 가령 비선형 디스패리티 맵에 기초하여, 가령 스케일링된 비선형 디스패리티 맵을 초래하는 희망되는 시점으로 우선 행해질 수 있다. 그리고 스케일링된 비선형 디스패리티 맵은 희망되는 시점을 위한 합성된 텍스처 뷰를 획득하기 위해 역방향 뷰 합성에 사용될 수 있다.
몇몇 실시예에서, 인코더는 동일한 시점 또는 카메라 위치에 대해 하나보다 많은 깊이 뷰를 인코딩할 수 있다. 인코더 또는 인코딩 측이 동일한 시점에 대해 하나보다 많은 깊이 뷰를 인코딩하는 이유는 다음 중 하나를 포함할 수 있으나 이에 한정되지 않는다:
- 동일한 시점에 대해 코딩될 제1 깊이 뷰 및 제2 깊이 뷰는 상이한 기원(origin)을 가질 수 있다. 예를 들어, 제1 깊이 뷰는 깊이 범위 센서에서 비롯할 수 있고 그 시점에 투영되며, 제2 깊이 뷰는 입체 카메라의 한 쌍의 색상 이미지 간 스테레오 매칭에서 기인할 수 있다. 다른 예에서, 세 개의 색상 이미지 센서를 구비한 카메라 구성이 사용될 수 있다. 중간 카메라를 위한 제1 깊이 뷰는 좌측 뷰/카메라 및 중간 카메라의 스테레오 매칭을 통해 생성될 수 있는 반면, 중간 카메라를 위한 제2 깊이 뷰는 우측 뷰/카메라 및 중간 카메라의 스테레오 매칭을 통해 생성될 수 있다. 디코더 측은 예컨대 동일한 시점(viewpoint)(그리고 동일한 시간 인스턴스)을 나타내는 상이한 깊이 맵으로부터 깊이 샘플을 가령 평균화(averaging) 또는 중간값 필터링(median filtering)을 통해 융합(fuse)하고 융합된 깊이 샘플을 뷰 합성에서 사용할 수 있다.
- 동일한 시점에 대해 코딩될 제1 깊이 뷰 및 제2 깊이 뷰는 제1 및 제2 깊이 뷰의 시점에 관해 특정한 또는 표시된 방향 또는 시점을 향해 적용될 깊이 또는 디스패리티를 나타낼 수 있다. 예를 들어, 제1 깊이 뷰는 순방향 뷰 합성을 위해 제1 및 제2 깊이 뷰의 시점으로부터 좌측을 향해 적용될 수 있는 디스패리티 맵을 나타낼 수 있고 제2 깊이 뷰는 순방향 뷰 합성을 위해 제1 및 제2 깊이 뷰의 시점으로부터 우측을 향해 적용될 수 있는 디스패리티 맵을 나타낼 수 있다. 디코더 측은 적용되는 깊이 뷰를 깊이 뷰의 시점에 대한 합성된 시점의 방향에 기반하여 뷰 합성에서 사용될 동일한 시점에 대한 많은 깊이 뷰 중에서 선택할 수 있다.
- 동일한 시점에 대해 코딩될 제1 깊이 뷰 및 제2 깊이 뷰는 상이한 디스플레이 구성 또는 시야 상황에서 적용될 수 있는 상이한 비선형 디스패리티 맵을 나타낼 수 있다. 인코더는 깊이 뷰와 연관된 디스플레이 구성 또는 시야 상황을 비트스트림 내에 (가령 비디오 파라미터 세트 구조, 시퀀스 파라미터 세트 구조, SEI 메시지 또는 임의의 다른 신택스 구조에) 나타낼 수 있다. 디스플레이 구성 또는 뷰 상황은 하나 이상의 파라미터에 의해 특징지어지고 하나 이상의 신택스 요소로서 코딩될 수 있다. 예를 들어, 디스플레이 구성 또는 시야 상황을 특징짓는 파라미터는 다음 중 하나 이상을 포함할 수 있으나 이에 한정되지 않는다: 디스플레이될 뷰(들)의 픽처 종횡비, 디스플레이될 뷰(들)의 샘플 종횡비, 디스플레이될 뷰(들)의 인식된 깊이 범위 또는 대략적인/정확한 인식된 깊이 통계, 참조 디스플레이 폭 및/또는 시야 상황을 위한 시야 거리. 디코더 측은, 가령 선택된 알려진 또는 추정된 디스플레이 특성 및/또는 시야 조건이 선택되는 비선형 디스패리티 맵을 위해 비트스트림 내에 시그널링되는 파라미터와 매칭되고/되거나 선택되는 비선형 디스패리티 맵을 위해 비트스트림 내에 시그널링되는 파라미터에 대한 알려진 또는 추정된 디스플레이 특성 및/또는 시야 조건의 차이가 가능한 한 작은 방식으로, 알려진 또는 추정된 디스플레이 특성 및/또는 시야 조건에 기반하여 뷰 합성을 위해 사용될 비선형 디스패리티 맵을 선택할 수 있다.
몇몇 실시예에서, 인코더는 시간적으로 짝지어지지 않은(unpaired) 깊이 뷰의 다음 경우 중 하나 이상을 사용할 것을 결정할 수 있거나 사용하기 위한 제어를 입력할 수 있거나 사전정의될 수 있다:
- 하나 이상의 깊이 뷰의 코딩에서의 상이한 픽처율(picture rate)(몇몇 다른 깊이 뷰 및/또는 텍스처 뷰의 픽처율과 비교되는 경우)
- 동기화되지 않은 캡처링, 즉 깊이 뷰의 픽처들 간의 상이한 캡처링 (및 따라서 잠재적으로 또한 상이한 출력 또는 디스플레이) 인스턴스(다른 깊이 뷰의 픽처 및/또는 텍스처 뷰의 픽처에 비해, 이 뷰들의 픽처율이 동일했더라도)
- 비 시간 중첩(non-time-overlapping) 및/또는 불규칙적 캡처링 기간(가령 깊이 뷰는 텍스처 뷰에 비해 더 짧은 시간 동안 캡처될 수 있거나 깊이 뷰의 캡처링은 짧은 기간 동안 정지되고 그 짧은 기간 후에 계속될 수 있음)
인코더 측이 하나 이상의 시간적으로 짝지어지지 않은 깊이 뷰를 사용하거나 코딩하는 이유는 다음 중 하나 이상을 포함할 수 있으나 이에 한정되지 않는다:
- 깊이 뷰는 내재적으로 동일한 캡처링 구성에서 색상 이미지 센서와는 상이한 시간적 해상도 또는 픽처율을 갖는 센서에서 비롯할 수 있고 따라서 깊이 뷰는 색상 이미지 센서로써 획득되는 텍스처 뷰에 스테레오 매칭을 적용하는 것에 의해 도출된다. 예를 들어, 범위측정 카메라(ranging camera)는 초당 15 픽처의 시간적 해상도로 동작할 수 있는 반면, 색상 이미지 센서는 초당 60 프레임의 시간적 해상도로 동작할 수 있다.
- 몇몇 실시예에서, 인코더 및 디코더는 깊이 뷰의 픽처율을 가령 텍스처 뷰의 픽처율과 동일하도록 증가시키기 위해 픽처율 업샘플링 프로세스를 사용할 수 있다. 많은 픽처율 업샘플링 방법이 존재하고 임의의 방법 또는 방법들의 임의의 조합이 사용될 수 있다. 픽처율 업샘플링 방법은, 가령 비트스트림의 움직임 벡터를, 움직임 보상을 적용함으로써 시간적 도메인에서 픽처가 합성되는 중간의(intermediate) 시간적 위치에 그 움직임 벡터가 적용될 수 있는 방식으로 스케일링할 수 있다. 대안적으로 또는 추가로, 픽처율 업샘플링 방법은, 가령 평활한 움직임 필드를 선호하고 획득된 움직임 필드(들)을 중간의 시간적 위치의 움직임 보상을 위해 이후에 스케일링하도록 조정될 수 있는 블록 매칭 알고리즘으로써, 코딩된/디코딩된 픽처의 움직임 필드(들)을 추정할 수 있다. 인코더는 깊이 뷰의 픽처율을 결정하기 위해 율-왜곡 최적화 방법, VSO 방법 또는 유사한 것을 실행할 수 있는데, 여기서 깊이 뷰의 픽처율 업샘플링이 고려될 수 있다. 인코더는 사용되는 또는 가정되는 픽처율 업샘플링 알고리즘 및 그것의 파라미터의 하나 이상의 표시를 인코딩할 수 있다. 디코더는 깊이 뷰를 위해 사용되는 또는 가정되는 픽처율 업샘플링 알고리즘 및 그것의 파라미터의 하나 이상의 표시를 디코딩할 수 있다. 디코더는 가령 디코딩된 텍스처 뷰에 비해 동일한 픽처율을 갖는 깊이 뷰를 도출하기 위하여 픽처율 업샘플링 방법을 적용할 수 있다.
- 인코더는 어떤 액세스 단위 또는 시간 인스턴스 및/또는 어떤 액세스 단위 또는 시간 인스턴스 내의 어떤 뷰 콤포넌트를 위해 콤포넌트 간 예측 및/또는 뷰 합성 예측 및/또는 유사한 것을 사용하도록 또는 사용하기로 결정하도록 구성될 수 있다. 예를 들어, 인코더는 깊이 뷰 및/또는 유사한 것에 기반한 뷰 합성 및/또는 깊이 뷰로부터의 콤포넌트 간 예측이 율-왜곡 또는 몇몇 다른 비용 메트릭에 따라 유익한지 아닌지를 판정하기 위하여 VSO 방법 또는 유사한 것을 실행할 수 있다. 인코더는 가령 율-왜곡 또는 몇몇 다른 비용 메트릭의 관점으로부터 깊이 뷰를 소정의 픽처율로 코딩하는 것이 유익하다고 추정하고 판정할 수 있다. 대안적으로 또는 추가로, 인코더는 가령 율-왜곡 또는 몇몇 다른 비용 메트릭의 관점으로부터 깊이 뷰 콤포넌트의 코딩을 생략하거나 코딩하는 것이 유익하다고 판정할 수 있다.
- 인코더 측은 이용가능한 네트워크 처리량(throughput) 또는 혼잡 특성을 추정하거나 검출하고 그에 따라 깊이 뷰 콤포넌트를 인코딩할 것인지 아닌지를 결정할 수 있다. 따라서, 코딩된 깊이 뷰는 변화하는 픽처율을 가질 수 있다.
다양한 실시예가 가령 다음 기반 중 하나 이상에서 시간적으로 짝지어지지 않은 깊이 뷰에 대해 적용될 수 있다:
- 시간적으로 짝지어지지 않은 깊이 뷰의 픽처율 및/또는 캡처하는/디스플레이하는 인스턴스는 (가령 픽처율 업샘플링 또는 픽처율 다운샘플링/약화(decimation)를 통하여) 다른 깊이 뷰(들) 및/또는 텍스처 뷰(들)의 픽처율 및/또는 캡처하는/디스플레이하는 인스턴스에 매칭하도록 조절될 수 있다.
- 인코더 및 디코더는 깊이 뷰의 깊이 뷰 콤포넌트가 코딩되는 액세스 단위 또는 시간 인스턴스에 대해 깊이 뷰 및/또는 유사한 것에 기반한 뷰 합성 예측 및/또는 깊이 뷰로부터의 콤포넌트 간 예측을 사용할 수 있다. 깊이 뷰 콤포넌트가 코딩되지 않은 경우, 인코더 및 디코더는 깊이 뷰 및/또는 유사한 것에 기반한 뷰 합성 예측 및/또는 깊이 뷰로부터의 콤포넌트 간 예측이 전혀 사용되지 않는다고 판단할 수 있다.
- 디코더 측은 깊이 뷰의 깊이 뷰 콤포넌트가 코딩되고 수신되는 액세스 단위 또는 시간 인스턴스에 대해서만 깊이 뷰에 기반하여 뷰 합성을 적용할 수 있다. 디코더 측은 가령 제1 깊이 뷰의 깊이 뷰 콤포넌트가 코딩 및/또는 수신되지 않은 액세스 단위 또는 시간 인스턴스에 대해 이용가능한 제2 깊이 뷰에 기반하여 뷰 합성을 적용할 수 있다. 예를 들어, 3-뷰 비트스트림은 초당 60 픽처로 코딩된 중앙의 시점을 위한 깊이 뷰를 가질 수 있으나, 좌측 상 및 우측 상의 시점의 깊이 뷰는 초당 30 픽처의 비율로 코딩될 수 있다. 디코딩 단은 세 개의 깊이 뷰 전부의 깊이 픽처에 기반하여 두 액세스 단위마다 뷰 합성을 수행할 수 있으나, 나머지 액세스 단위를 위한 뷰 합성은 중앙 깊이 뷰에만 기반하여 수행될 수 있다. 그러한 뷰 합성 프로세스에서, 깊이 픽처 및/또는 합성된 텍스처 픽처의 시간적 평활화(smoothing)는 합성된 뷰의 적정히 안정적인 품질을 달성하기 위해 적용될 수 있다.
앞서 언급된 바와 같이, 깊이 픽처의 샘플 값에 대하여 상이한 유형의 깊이 픽처 및 상이한 시맨틱스가 있다. 몇몇 실시예에서, 제1 깊이 뷰는 동일한 비트스트림 내의 제2 깊이 뷰와는 상이한 유형 및/또는 상이한 시맨틱스의 샘플 값을 가질 수 있다. 그러한 짝지어지지 않은 깊이 뷰 유형에 대한 이유는 다음 중 하나 이상을 포함할 수 있으나 이에 한정되지 않는다:
- 제1 깊이 뷰 및 제2 깊이 뷰는 상이한 기원을 가질 수 있다. 예를 들어, 제1 깊이 뷰는 깊이 범위 센서에서 비롯할 수 있고 제2 깊이 뷰는 입체 카메라의 한 쌍의 색상 이미지 간 스테레오 매칭에서 기인할 수 있다. 깊이 범위 센서에서 비롯하는 제1 깊이 뷰는 가령 실세계 거리 (Z) 값의 역을 나타내거나 실세계 거리를 직접 나타내는 유형을 사용할 수 있다. 스테레오 매칭에서 비롯하는 제2 깊이 뷰는 가령 디스패리티 맵을 나타낼 수 있다.
- 소정의 유형의 깊이 뷰가 사용되는 것이 예측 메커니즘 및/또는 코딩/디코딩 도구에 의해 요구될 수 있다. 다시 말해, 예측 메커니즘 및/또는 코딩/디코딩 도구는 그것이 어떤 유형 또는 유형들의 깊이 맵을 입력으로서 사용할 수 있을 뿐인 방식으로 지정 및/또는 구현되었을 수 있다. 상이한 뷰를 위해 상이한 예측 메커니즘 및/또는 코딩/디코딩 도구가 사용될 수 있는바, 인코더는 예측 메커니즘 및/또는 코딩/디코딩 도구에 의해 영향을 받는 뷰를 위해 사용된 예측 메커니즘 및/또는 코딩/디코딩 도구에 따라 상이한 유형의 깊이 뷰를 선택할 수 있다.
- 코딩 및/또는 디코딩 동작이 제1 시점에 대해 어떤 유형의 깊이 뷰를, 그리고 제2 시점에 대해 다른 유형의 깊이 뷰를 사용하는 것은 유익할 수 있다. 인코더는 뷰 합성 예측 및/또는 콤포넌트 간 예측 및/또는 유사한 것을 위해 사용될 수 있는 어떤 유형의 깊이 뷰를 어떠한 계산 동작도 없이 또는 적은 개수의 계산 동작으로써 그리고 다른 유형의 깊이 뷰보다는 더 적은 개수의 또는 더 적은 복잡도의 계산으로써 선택할 수 있다. 예를 들어, 많은 코딩 구성에서 콤포넌트 간 예측 및 뷰 합성 예측은 기반 텍스처 뷰를 위하여 사용되지 않는다. 그러므로, 동일한 시점에 대한 깊이 뷰는 가령 실세계의 거리 값의 역을 나타낼 수 있는데, 이는 기반 텍스처 뷰 및 대응하는 깊이 뷰에 기반하여 순방향 뷰 합성을 용이하게 한다. 동일한 예를 계속하면, 비 기반 텍스처 뷰는 역방향 뷰 합성 예측을 사용하여 코딩되고 디코딩될 수 있다. 따라서, 비 기반 텍스처 뷰에 대응하는 깊이 뷰는 디스패리티를 나타낼 수 있는데, 이는 깊이 값을 디스패리티 값으로 전환할 필요 없이 역방향 뷰 합성을 위한 워핑 또는 디스패리티 보상을 획득하기 위해 직접 사용될 수 있다. 따라서, 역방향 뷰 합성 예측에 필요한 계산 동작의 개수는 대응하는 깊이 뷰가 가령 실세계 거리의 역을 나타내는 경우에 요구되는 동작의 개수에 비해 감소될 수 있다.
- 제1 깊이 뷰는 제2 깊이 뷰에서의 샘플 값의 시맨틱스에 대해 다를 수 있는 깊이의 샘플 값의 시맨틱스를 가질 수 있는데, 여기서 시맨틱스는 깊이 샘플 값에 의해 표현되는 실세계 깊이 또는 디스패리티의 동적 범위 또는 깊이 샘플 값의 동적 범위 또는 깊이 샘플 양자화에 관련된 파라미터 값에 기반하여, 예를 들어 깊이 뷰 내의 뷰 콤포넌트 또는 깊이 뷰에 의해 표현되는 가장 먼 실세계 깊이 값 또는 가장 가까운 실세계 깊이 값, 깊이 범위, 디스패리티 범위에 기반하여 다를 수 있다. 예를 들어, 제1 깊이 뷰 또는 (제1 깊이 뷰 내의) 제1 깊이 뷰 콤포넌트는 제1 최소 디스패리티 및/또는 제1 최대 디스패리티를 가질 수 있는데, 이는 제1 깊이 뷰 또는 제1 깊이 뷰 콤포넌트와 연관될 수 있고 비트스트림 내에 가령 인코더에 의해 표시될 수 있는 반면, 제2 깊이 뷰 또는 (제2 깊이 뷰 내의) 제2 깊이 뷰 콤포넌트는 제2 최소 디스패리티 및/또는 제2 최대 디스패리티를 가질 수 있는데, 이는 제2 깊이 뷰 또는 제2 깊이 뷰 콤포넌트와 연관될 수 있고 비트스트림 내에 표시될 수 있다. 이 예에서, 제1 최소 디스패리티는 제2 최소 디스패리티와 다르고/다르며 제1 최대 디스패리티는 제2 최대 디스패리티와 다르다.
몇몇 실시예에서, 깊이 픽처의 유형 및/또는 깊이 픽처의 샘플 값에 대한 시맨틱스는 깊이 뷰 내에서 가령 시간의 함수로서 변할 수 있다.
몇몇 실시예에서, 액세스 단위 내 뷰 콤포넌트 순서(AU 뷰 콤포넌트 순서라고도 지칭됨)를 결정하는 것은 다음과 같이 수행될 수 있다.
액세스 단위 내의 텍스처 및 깊이 뷰 콤포넌트의 코딩 및 디코딩 순서는 코딩된 뷰 콤포넌트의 데이터가 임의의 다른 코딩된 뷰 콤포넌트에 의해 인터리빙되지(interleaved) 않고, 액세스 단위를 위한 데이터가 비트스트림/디코딩 순서에서 임의의 다른 액세스 단위에 의해 인터리빙되지 않는 그러한 것일 수 있다. 예를 들어, 도 7에 예시된 바와 같이, 상이한 액세스 단위 (t, t+1, t+2) 내에 두 개의 텍스처 및 깊이 뷰 (T0t, T1t, T0t +1, T1t +1, T0t +2, T1t +2, D0t, D1t, D0t +1, D1t +1, D0t +2, D1t+2)가 있을 수 있는데, 여기서 텍스처 및 깊이 뷰 콤포넌트 (T0t, T1t, D0t, D1t)로 이루어지는 액세스 단위 t는 텍스처 및 깊이 뷰 콤포넌트 (T0t +1, T1t +1, D0t +1, D1t+1)로 이루어지는 액세스 단위 t+1을 비트스트림 및 디코딩 순서에서 선행한다.
액세스 단위 내의 뷰 콤포넌트의 코딩 및 디코딩 순서는 코딩 포맷에 의해 좌우되거나 인코더에 의해 결정될 수 있다. 결정된 코딩될 텍스처 및 깊이 뷰뿐만 아니라 결정된 뷰 간 예측 계층구조는 코딩 및 디코딩 순서를 제한할 수 있다. 동일한 액세스 단위의 텍스처 뷰 콤포넌트는 뷰 순서 인덱스에 의해 표시되는 뷰 종속성 순서로 코딩될 수 있다. 마찬가지로, 동일한 액세스 단위의 깊이 뷰 콤포넌트는 뷰 종속성 순서로 코딩될 수 있다.
텍스처 뷰 콤포넌트는 동일한 뷰의 각자의 깊이 뷰 콤포넌트 전에 코딩될 수 있고, 그러한 깊이 뷰 콤포넌트는 동일한 뷰의 텍스처 뷰 콤포넌트로부터 예측될 수 있다. 그러한 텍스처 뷰 콤포넌트는 가령 MVC 인코더에 의해 코딩되고 MVC 디코더에 의해 디코딩될 수 있다. 향상된 텍스처 뷰 콤포넌트는 본 명세서에서 동일한 뷰의 각자의 깊이 뷰 콤포넌트 후에 코딩되는 텍스처 뷰 콤포넌트를 지칭하며 각자의 깊이 뷰 콤포넌트로부터 예측될 수 있다. 예를 들어, 깊이 기반 움직임 벡터 예측(Depth-based Motion Vector Prediction: D-MVP)은 향상된 텍스처 뷰 콤포넌트에서 사용될 수 있다. 몇몇 실시예에서, 깊이 뷰 콤포넌트는 동일한 뷰의 각자의 텍스처 뷰 콤포넌트 전에 코딩될 수 있고, 그러한 텍스처 뷰 콤포넌트는 동일한 뷰의 깊이 뷰 콤포넌트로부터 예측될 수 있다. 따라서 인코더는 그것이 사용하기로 결정하는 뷰 합성 예측이 어느 유형인지(가령 순방향 VSP 또는 역방향 VSP) 및/또는 콤포넌트 간 예측 도구에 기반하여 동일한 뷰의 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트의 코딩, 비트스트림 및 디코딩 순서를 선택할 수 있다. 그러한 결정은 가령 다음 중 하나 이상에 기반할 수 있다:
- 만약 인코딩된 비트스트림이 단일뷰 또는 멀티뷰 텍스처 비디오를 디코딩할 수 있는 디코더와 호환가능할 것이 희망된다면, 인코더는 선택된 개수의 텍스처 뷰에 대해 깊이 기반 텍스처 코딩 도구를 사용하지 않기로 결정하고 따라서 각각의 깊이 뷰 전에 텍스처 뷰를 코딩할 수 있다.
- 인코더는 콤포넌트 간 코딩 도구 및 AU 뷰 콤포넌트 순서가 가령 율-왜곡 메트릭에서 몇몇 다른 것보다 더 우수하게 수행하는 최적화 프로세스를 수행할 수 있다.
- 인코더는 소정의 코딩 도구, 코딩 모드 및/또는 코딩 파라미터를 사용하도록 구성될 수 있거나 사용하기로 결정할 수 있는데, 이들은 AU 뷰 콤포넌트 순서에 대해 제한을 부과한다. 예를 들어, 순방향 VSP가 앞서 서술된 바와 같이 사용되면, 뷰 합성 예측을 위해 참조로서 사용되는 뷰의 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트 모두는, 코딩/디코딩되고 그에 대해 합성된 참조 콤포넌트가 도출되는 텍스처 뷰 콤포넌트를 AU 뷰 콤포넌트 순서에서 선행하여야 한다.
몇몇 실시예에서, 콤포넌트 간 코딩 및 뷰 합성 예측 및 다른 코딩 도구의 사용뿐만 아니라 텍스처 및 깊이 뷰의 뷰 간 종속성 순서는 AU 뷰 콤포넌트 순서뿐만 아니라 코딩된 텍스처 및 깊이 뷰를 결정하는 데에 함께 영향을 줄 수 있다.
예들이 이하에서 주어진다: 만약 세 개의 뷰가 코딩되고 인코더가 PIP 뷰 간 예측 계층구조를 각각 텍스처 뷰 T0, T1 및 T2에 대해(한복판의 뷰는 기반 뷰이나, 다른 두 뷰는 비 기반 뷰임), 그리고 IBP 뷰 간 예측 계층구조를 각각 깊이 뷰 D0, D1 및 D2에 대해(좌측 뷰는 기반 뷰이고, 우측 뷰는 좌측 뷰로부터 예측될 수 있으며, 중간 뷰는 좌측 뷰 및/또는 우측 뷰로부터 예측될 수 있음) 사용하기로 결정하고, 인코더가 D-MVP 코딩 도구 또는 비 기반 뷰 텍스처 코딩을 위한 임의의 다른 깊이 기반 텍스처 코딩 도구를 사용하기로 결정하며, 콤포넌트 간 예측 도구가 텍스처의 기반 뷰에 대해 사용되지 않으면, AU 뷰 콤포넌트 순서에 대한 다음의 제한이 인코더에서 추론될 수 있다. T1이 D0, D1 및 D2에 독립적으로 코딩되는바, 그것은 그것들에 대해 임의의 순서를 가질 수 있다. T0은 그것에 앞서 D0이 디코딩될 것을 요구하고, 마찬가지로 T2는 그것에 앞서 D2가 디코딩될 것을 요구하는데, D0 및 D2의 디코딩된 샘플 값이 각각 T0 및 T2를 디코딩하기 위해 D-MVP 도구에서 사용되기 때문이다. D1은 T1 (또는 임의의 다른 텍스처 뷰)를 위한 콤포넌트 간 예측 참조로서 사용되지 않아서, AU 뷰 콤포넌트 순서 내 그것의 위치는 깊이의 뷰 간 종속성 순서에 의해 좌우될 뿐이다. 따라서, 어떠한 뷰 합성 예측도 사용 중이 아니라고 가정하면, 가령 다음의 AU 뷰 콤포넌트 순서가 가능하다: (T1, D0, D2, D1, T0, T2); (T1, D0, T0, D2, T2, D1); (T1, D0, D2, D1, T0, T2); (D0, D2, D1, T1, T0, T2). 나아가, D1이 임의의 다른 뷰를 예측하기 위한 참조로서 사용되지 않으므로 그것의 인코딩은 전적으로 생략될 수 있다(즉, 예를 들어 다음의 AU 뷰 콤포넌트 순서가 가능하다: (T1, D0, D2, T0, T2); (T1, D0, T0, D2, T2); (D0, D2, T1, T0, T2)).
예시적 실시예에서, 가령 H.264/AVC 또는 HEVC 초안에 지정된 것과 같은, 산술(arithmetic) 연산자, 논리(logical) 연산자, 관계(relational) 연산자, 비트별(bit-wise) 연산자, 할당(assignment) 연산자 및 범위 표기(range notation)에 대한 공통적인 표기가 사용될 수 있다. 나아가, 가령 H.264/AVC 또는 HEVC 초안에 지정된 것과 같은 공통적인 수학 함수가 사용될 수 있고 가령 H.264/AVC 또는 HEVC 초안에 지정된 것과 같은 연산자의 우선(precedence) 및 실행(execution) 순서의 공통적인 순서(좌에서 우로 또는 우에서 좌로)가 사용될 수 있다.
예시적 실시예에서, 각 신택스 요소의 파싱 프로세스(parsing process)를 명시하기 위하여 다음의 서술자가 사용될 수 있다.
- b(8): 임의의 패턴의 비트 스트링을 갖는 바이트(8 비트).
- se(v): 좌측 비트가 우선인, 부호 있는 정수 지수-골롬-코딩된 신택스 요소(signed integer Exp-Golomb-coded syntax element).
- u(n): n 비트를 사용하는 부호 없는 정수(unsigned integer). n이 신택스 테이블에서 "v"인 경우, 비트의 개수는 다른 신택스 요소의 값에 의존하는 방식으로 변한다. 이 서술자에 대한 파싱 프로세스는 최상위 비트(most significant bit)가 우선 기록되는 부호 없는 정수의 이진 표현으로 해석되는 비트스트림으로부터 n 개의 다음 비트에 의해 지정된다.
- ue(v): 좌측 비트가 우선인, 부호 없는 정수 지수-골롬-코딩된 신택스 요소.
지수-골롬 비트 스트링은 가령 다음의 테이블을 사용하여 코드 번호 (codeNum)로 전환될 수 있다:
Figure pct00028
지수-골롬 비트 스트링에 대응하는 코드 번호는 가령 다음의 테이블을 사용하여 se(v)로 전환될 수 있다.
Figure pct00029
예시적 실시예에서, 신택스 구조, 신택스 요소의 시맨틱스 및 디코딩 프로세스는 다음과 같이 지정될 수 있다. 비트스트림 내의 신택스 요소는 볼드체 유형으로 표현된다. 각 신택스 요소는 그것의 이름(밑줄표시(underscore) 문자가 있는 모두 소문자), 선택적으로는 그것의 하나 또는 두 개의 신택스 카테고리, 그리고 그것의 코딩된 표현의 방법을 위한 하나 또는 두 개의 서술자에 의해 기술된다. 디코딩 프로세스는 신택스 요소의 값 및 이전에 디코딩된 신택스 요소의 값에 따라 행동한다. 신택스 요소의 값이 신택스 테이블 또는 텍스트에서 사용되는 경우, 그것은 정규의 유형(즉, 볼드체가 아님)으로 나타난다. 몇몇 경우에 신택스 테이블은 신택스 요소 값으로부터 도출되는 다른 변수의 값을 사용할 수 있다. 그러한 변수는, 소문자 및 대문자의 혼합에 의해 명명되고 어떠한 밑줄표시 문자도 없이, 신택스 테이블 또는 텍스트 내에 나타난다. 대문자로 시작하는 변수는 현재의 신택스 구조 및 모든 의존하는 신택스 구조의 디코딩을 위해 도출된다. 대문자로 시작하는 변수는 변수의 원 신택스 구조(originating syntax structure)를 언급하지 않고도 이후의 신택스 구조를 위해 디코딩 프로세스에서 사용될 수 있다. 소문자로 시작하는 변수는 그것이 도출된 콘텍스트에서 사용될 뿐이다. 몇몇 경우에, 신택스 요소 값 또는 변수 값을 위한 "연상기호"(mnemonic) 이름이 그 수치와 교환가능하게 사용된다. 때때로 "연상기호" 이름은 어떠한 연관된 수치도 없이 사용된다. 값과 이름의 연관은 텍스트에 명시된다. 이름은 밑줄표시 문자에 의해 분리된 문자의 하나 이상의 그룹으로부터 구성된다. 각 그룹은 대문자로 시작하고 더 많은 대문자를 포함할 수 있다.
예시적 실시예에서, 신택스 구조는 다음을 사용하여 지정될 수 있다. 중괄호(curly brackets)에 둘러싸인 문장(statement)들의 그룹은 합성 문장(compound statement)이고 기능적으로 단일 문장으로 취급된다. "while" 구조는 조건이 참인지의 시험(test)을 지정하고, 만약 참이라면, 조건이 더 이상 참이 아닐 때까지 반복적으로 문장 (또는 합성 문장)의 평가(evaluation)를 지정한다. "do ... while" 구조는 일단 문장의 평가를 지정하고, 조건이 참인지 여부의 시험이 그 뒤를 따르며, 만약 참이라면, 조건이 더 이상 참이 아닐 때까지 문장의 반복되는 평가를 지정한다. "if ... else" 구조는 조건이 참인지의 시험을 지정하고, 만약 조건이 참이라면, 주요 문장(primary statement)의 평가를 지정하고, 그렇지 않으면, 대안 문장(alternative statement)의 평가를 지정한다. 그 구조의 "else" 부분 및 연관된 대안 문장은 어떠한 대안 문장 평가도 필요하지 않다면 생략된다. "for" 구조는 초기 문장(initial statement)의 평가를 지정하고, 조건의 시험이 그 뒤를 따르며, 만약 조건이 참이라면, 조건이 더 이상 참이 아닐 때까지 후속 문장이 그 뒤를 따르는 주요 문장의 반복되는 평가를 지정한다.
몇몇 실시예에서, 인코더는 코딩된 비디오 시퀀스 또는 비트스트림에 존재하는 텍스처 뷰 및 깊이 뷰를 가령 하나 이상의 비디오 파라미터 세트 신택스 구조 및/또는 하나 이상의 시퀀스 파라미터 세트 신택스 구조 및/또는 임의의 다른 신택스 구조 내에 나타낸다. 예를 들어, 인코더는 비 기반 텍스처 뷰의 코딩된 슬라이스를, 그것이 코딩된 비디오 시퀀스(이를 위해 시퀀스 파라미터 세트가 활성화됨) 내에 존재하는 텍스처 뷰를 나타내는 뷰 식별자 값의 루프 또는 리스트를 포함하는 시퀀스 파라미터 세트를 활성화하는 방식으로 인코딩할 수 있다. 동일한 예를 계속하면, 인코더는 깊이 뷰의 코딩된 슬라이스를, 그것이 코딩된 비디오 시퀀스(이를 위해 시퀀스 파라미터 세트가 활성화됨) 내에 존재하는 깊이 뷰를 나타내는 뷰 식별자 값의 루프 또는 리스트를 포함하는 시퀀스 파라미터 세트를 활성화하는 방식으로 인코딩할 수 있다. 몇몇 실시예에서, 인코더는 텍스처 뷰의 서브세트인 깊이 뷰를 인코딩하고 표시하도록 제한될 수 있다(즉, 텍스처 뷰의 서브세트가 연관된 깊이 뷰를 가지나 나머지 텍스처 뷰는 연관된 깊이 뷰를 갖지 않고, 각 깊이 뷰는 텍스처 뷰와 코로케이팅 또는 연관된다). 그러한 제한은 인코더에 의해, 예컨대 코딩된 비디오 시퀀스 또는 비트스트림을 위한 표시된 프로파일의 일부로서 표시될 수 있으나, profile_idc 신택스 요소 또는 유사한 신택스 요소 또는 요소들을 통해 및/또는 플래그 또는 다른 표시를 통해 가령 시퀀스 파라미터 세트 또는 비디오 파라미터 세트 또는 유사한 신택스 구조 내에 표시될 수 있다. 다시 말해, 몇몇 실시예에서 텍스처 뷰 콤포넌트보다 깊이 뷰 콤포넌트가 더 적을 수 있으나, 현 깊이 뷰 콤포넌트는 현 텍스처 뷰 콤포넌트 중 몇몇에 의해 표현되는 것과 동일한 뷰를 표현한다.
일 예에서, 3D 비디오 코딩을 위한 서브세트 시퀀스 파라미터 세트는 다음과 같이 기반 SPS 데이터 및 시퀀스 파라미터 세트 3DVC 확장을 포함한다.
Figure pct00030
이 예에서, 상수 ANY_3DVC_PROFILE은 깊이 향상된 비디오 코딩을 위한 임의의 프로파일에 대한 profile_idc 값일 수 있다.
일 예에서, 인코더는 코딩된 비디오 시퀀스 내에 존재하는 텍스처 뷰 및 깊이 뷰를 다음 신택스를 사용하여 시퀀스 파라미터 세트 3DVC 확장 내에 표시할 수 있다:
Figure pct00031
0과 동일한 depth_view_present_flag[i]는 view_id[i]와 동일한 view_id를 갖는 어떠한 깊이 뷰도 없다는 것을 명시한다. 1과 동일한 depth_view_present_flag[i]는 view_id[i]와 동일한 view_id를 갖는 깊이 뷰가 있다는 것을 명시한다. 0과 동일한 texture_view_present_flag[i]는 view_id[i]와 동일한 view_id를 갖는 어떠한 텍스처 뷰도 없다는 것을 명시한다. 1과 동일한 texture_view_present_flag[i]는 view_id[i]와 동일한 view_id를 갖는 텍스처 뷰가 있다는 것을 명시한다.
몇몇 실시예에서, 인코더는 코딩된 비디오 시퀀스 또는 비트스트림 내의 깊이 뷰의 유형을 가령 하나 이상의 비디오 파라미터 세트 신택스 구조 및/또는 하나 이상의 시퀀스 파라미터 세트 신택스 구조 및/또는 임의의 다른 신택스 구조 내에 표시할 수 있다. 위 예를 계속하면, 인코더는 깊이 뷰의 유형을 다음과 같이 시퀀스 파라미터 세트 3DVC 확장 내에 depth_representation_type[i] 신택스 요소를 부가함으로써 표시할 수 있다.
Figure pct00032
depth_representation_type[i]는 뷰 순서 인덱스가 i와 동일한 깊이 뷰의 표현 포맷을, 가령 디스패리티가 두 개의 텍스처 뷰 간의 수평 변위를 지정하고 Z 값이 카메라로부터의 거리를 지정하는 아래의 테이블에서 명시된 바와 같이 지정한다.
Figure pct00033
몇몇 실시예에서, 인코더는 시퀀스 파라미터 세트에 대해 위에서 기술된 것과 같은 시퀀스 레벨 표시(들)에 대해 추가적으로 또는 대안적으로, 카메라 파라미터 세트, 적응 파라미터 세트 또는 코딩된 비디오 시퀀스의 서브세트를 위하여(가령 선택된 액세스 단위 또는 뷰 콤포넌트를 위하여) 활성화될 수 있는 임의의 다른 신택스 구조 내에 깊이 뷰의 유형을 표시할 수 있다. 만약 존재한다면, 시퀀스 레벨 표시(들)은 첫 번째 카메라 파라미터 세트 또는 유사한 것이 활성화될 때까지 및/또는 어떠한 카메라 파라미터 세트 또는 유사한 것도 활성이라고 표시되지 않는 경우에 유효할 수 있다.
몇몇 실시예에서, 위에서 명시된 시퀀스 파라미터 세트 3DVC 확장 또는 임의의 유사한 신택스 구조는 하나 이상의 깊이 뷰를 위해 활성화되거나 그것과 연관될 수 있으나 어떠한 텍스처 뷰를 위해서도 활성화되지 않는다. 따라서, 인코더는 깊이 뷰의 뷰 간 예측 관계 또는 계층관계를 시퀀스 파라미터 세트 3DVC 확장 또는 임의의 유사한 신택스 구조 내에 표시하고 텍스처 뷰의 뷰 간 예측 관계 또는 계층관계를 생략할 수 있다. 예를 들어, 시퀀스 파라미터 세트 3DVC 확장은 다음 신택스를 포함할 수 있다:
Figure pct00034
시퀀스 파라미터 세트 3DVC 확장의 전술된 부분 내의 신택스 요소와 그것으로부터 도출되는 변수의 시맨틱스는 (이전에 제시된) 시퀀스 파라미터 세트 MVC 확장 내의 각 신택스 요소와 동일하게 또는 유사하게 지정될 수 있으나, 그 시맨틱스는 깊이 뷰에만 적용될 수 있다. 예를 들어, 뷰 순서 인덱스 VOIdx 값이 깊이 뷰를 위해 시퀀스 파라미터 세트 3DVC 확장에 기초하여 명확히 도출될 수 있는 반면, 뷰 순서 인덱스 VOIdx 값의 상이한 세트가 텍스처 뷰를 위해 시퀀스 파라미터 세트 MVC 확장에 기초하여 도출될 수 있다.
이전의 신택스 예에 대해 대안적으로, 인코더는 깊이 뷰의 뷰 간 예측 고나계 또는 계층구조를 시퀀스 파라미터 세트 3DVC 확장 또는 임의의 유사한 신택스 구조 내에 표시하고 텍스처 뷰의 뷰 간 예측 관계 또는 계층관계를 생략하나 텍스처 뷰 및 깊이 뷰로의 뷰 순서 인덱스 VOIdx 값의 동일한 할당을 사용할 수 있다. 예를 들어, 시퀀스 파라미터 세트 3DVC 확장은 다음 신택스를 포함할 수 있다:
Figure pct00035
시퀀스 파라미터 세트 3DVC 확장의 전술된 부분 내의 신택스 요소와 그것으로부터 도출되는 변수의 시맨틱스는 (이전에 제시된) 시퀀스 파라미터 세트 MVC 확장 내의 각 신택스 요소와 동일하게 또는 유사하게 지정될 수 있으나, 그 시맨틱스는 깊이 뷰에만 적용될 수 있다. 뷰 순서 인덱스 VOIdx 값은 텍스처 뷰 및 깊이 뷰 모두를 위해 시퀀스 파라미터 세트 3DVC 확장에 기초하여 도출될 수 있다.
깊이 뷰의 뷰 간 예측 관계 또는 계층관계를 표시하는 전술된 신택스 예 모두에서, 깊이 향상된 비디오를 위한 디코딩 프로세스(예컨대 MVC+D를 위한 디코딩 프로세스)에 따라 VOIdx 값을 view_id 값으로 연관시키는 것은 멀티뷰 비디오를 위한 디코딩 프로세스(예컨대 MVC를 위한 디코딩 프로세스)와는 다를 수 있다. 그러므로, 동일한 비트스트림으로부터의 VOIdx 값의 도출은, (깊이 뷰의 고려 없이) 멀티뷰 비디오를 위한 디코딩 프로세스를 사용하여 비트스트림이 디코딩되는 경우에 비해, 깊이 향상된 비디오의 디코딩 프로세스를 사용하여 비트스트림이 디코딩되는 경우 다를 수 있다.
몇몇 실시예에서, 인코더는 깊이 뷰 및 텍스처 뷰의 속성(가령 사용된 센서, 광학 구성, 캡처링 조건, 카메라 설정 및 해상도와 같은 사용된 표현 포맷에 관련된 속성)을 비트스트림 내에 표시한다. 표시된 속성은 표시된 깊이 뷰 또는 텍스처 뷰에 대해 특정적일 수 있거나 다수의 표시된 깊이 뷰 및/또는 텍스처 뷰 사이에서 공유될 수 있다. 예를 들어, 그 속성은 다음 중 하나 이상을 포함할 수 있으나 이에 한정되지 않는다:
- 가령 뷰 콤포넌트 내의 수평 및 수직 샘플 카운트의 측면에서의 공간적 해상도
- 샘플의 동적 범위 및/또는 비트 깊이(bit-depth)
- 수평 및 수직 콤포넌트로 분리될 수 있는 초점 거리
- 수평 및 수직 콤포넌트로 분리될 수 있는 주점(principal point)
- 카메라/센서 위치의 전이 행렬(transition matrix)과 같은 외재적 카메라/센서 파라미터
- 텍스처 뷰 콤포넌트에 대한 깊이 뷰 콤포넌트의 샘플링 그리드의 상대적 위치(가령 깊이 뷰 콤포넌트의 샘플링 그리드 내의 좌측 최상부 샘플에 대응하는 루마 픽처 내의 수평 및 수직 좌표, 또는 그 역)
- 텍스처 뷰 콤포넌트의 루마 또는 크로마 샘플에 대한 깊이 샘플의 상대적 수평 및/또는 수직 샘플 종횡비(가령 (정확히 또는 대략적으로) dwidth÷twidth와 동일한 수평 곱셈 인자(multiplication factor) 및 (정확히 또는 대략적으로) dheight÷theight와 동일한 수직 곱셈 인자, 여기서 dwidth, twidth, dheight 및 theight 또는 샘플 치수는 앞서 서술된 바와 같음)
- 텍스처 뷰 콤포넌트 및/또는 깊이 뷰 콤포넌트를 위한 수평 및/또는 수직 샘플 이격(sample spacing)(이는 서브샘플링 방안을 나타내는 데 사용될 수 있음(잠재적으로는 저대역 필터링의 선행 없음))
예를 들어, 몇몇 실시예에서, 다음의 신택스 요소 또는 유사한 신택스 요소(들)이 시퀀스 파라미터 세트 3DVC 확장 신택스 구조 또는 임의의 유사한 신택스 구조에 부가될 수 있다:
Figure pct00036
몇몇 실시예에서, depth_loc_offset 신택스 요소는 다음과 같이 지정될 수 있다: depth_loc_offset은 디코딩된 텍스처 뷰 콤포넌트의 루마 샘플의 개수의 측면에서 동일한 view_id의 (시퀀스 파라미터 세트 내에 지정된 바와 같은 크로핑 후) 디코딩된 텍스처 뷰 콤포넌트의 가장 좌측의 샘플 열에 대한 (시퀀스 파라미터 세트 내에 지정된 바와 같은 크로핑 후) 디코딩된 깊이 뷰 콤포넌트의 가장 좌측의 샘플 열의 위치의 수평 오프셋을 지정한다. 몇몇 실시예에서, depth_loc_offset 신택스 요소는 다음과 같이 지정될 수 있다: depth_loc_offset은 디코딩된 텍스처 뷰 콤포넌트의 루마 샘플의 개수의 측면에서 동일한 view_id의 (시퀀스 파라미터 세트 내에 지정된 바와 같은 크로핑 없이) 디코딩된 텍스처 뷰 콤포넌트의 가장 좌측의 샘플 열에 대한 (시퀀스 파라미터 세트 내에 지정된 바와 같은 크로핑 없이) 디코딩된 깊이 뷰 콤포넌트의 가장 좌측의 샘플 열의 위치의 수평 오프셋을 지정한다.
몇몇 실시예에서, depth_loc_offset 신택스 요소 및 관련된 신택스 요소는 추가적으로 또는 대안적으로 상이한 방식으로 텍스처 뷰 콤포넌트에 대한 깊이 뷰 콤포넌트의 샘플링 그리드의 상대적 위치를 표시하도록 지정될 수 있다. 예를 들어, 오프셋이 텍스처 뷰 콤포넌트의 좌측 또는 우측 경계에 대한 것인지가 신택스 요소를 사용하여 지정될 수 있고/있거나 상이한 정확도(가령 ¼ 샘플 정확도)가 사용될 수 있다.
몇몇 실시예에서, depth_loc_offset 신택스 요소 및/또는 유사한 신택스 요소 및/또는 관련된 신택스 요소의 존재는 다음 중 하나 이상에 의존할 수 있다:
- depth_loc_offset 신택스 요소 및/또는 유사한 신택스 요소 및/또는 관련된 신택스 요소의 존재는 깊이 뷰의 유형에 의존할 수 있다. 예를 들어, depth_loc_offset 신택스 요소는 깊이 뷰 콤포넌트가 디스패리티 픽처를 나타내는 경우에 존재하도록 지정될 수 있고 깊이 뷰 콤포넌트가 거리 정보(가령 실세계 거리 값의 역 또는 실세계 거리 값 자체)를 나타내는 경우에 부재하도록 지정될 수 있다.
- depth_loc_offset 신택스 요소 및/또는 유사한 신택스 요소 및/또는 관련된 신택스 요소의 존재는 뷰 종속성 순서 및/또는 AU 뷰 콤포넌트 순서에 의존할 수 있다. 예를 들어, 기반 깊이 뷰는 기반 텍스처 뷰와 동일한 영역을 커버할 수 있는데, 기반 깊이 및 텍스처 뷰가 입력인 순방향 뷰 합성을 가능하게 하나, 비 기반 깊이 뷰는 단지 다른 깊이 뷰와 뷰의 필드 측면에서 중첩하는 영역을 커버할 수 있다.
몇몇 실시예에서, 인코더는 텍스처 뷰 및 각각의 텍스처 뷰를 마치 그것의 샘플링 그리드가 정렬된 것처럼 인코딩하고 동일한 공간적 영역을 커버할 수 있다. 깊이 뷰가 각각의 깊이 뷰보다 더 작은 영역을 커버하면, 인코더는 깊이 뷰 콤포넌트의 유효한 샘플 어레이 또는 샘플링 그리드의 위치를 표시된 크로핑 사각형(cropping rectangle)으로(가령, H.264/AVC의 seq_parameter_set_data 데이터 구조의 frame_crop_left_offset, frame_crop_right_offset, frame_crop_top_offset 및 frame_crop_bottom_offset 신택스 요소로) 표시할 수 있다. 예를 들어, 깊이 뷰 콤포넌트의 좌측 상의 다수의 샘플 열에 대해 어떠한 깊이 샘플 값도 이용가능하지 않다면, 이 개수의 샘플 열은 frame_crop_left_offset 값으로 표시될 수 있다.
몇몇 실시예에서, 인코더는 비트스트림 내에 깊이 뷰 도출에 관련된 파라미터를 표시할 수 있다. 이 파라미터는 다음을 포함할 수 있으나 이에 한정되지 않는다:
- 깊이 뷰 도출을 위해 사용될 방법 및 그 방법을 제어하기 위해 사용되는 관련된 파라미터 값의 하나 이상의 표시;
- 표시된 깊이 뷰가 투영될 수 있는 시점의 리스트(가령, 뷰 식별자 값) 및/또는 가령 유클리드 메트릭에서의 카메라 전이의 측면에서 투영된 시점이 코딩된 깊이 뷰의 시점과 얼마나 다를 수 있는지를 나타내는 임계 값 또는 값들.
인코더는 깊이 뷰 및 텍스처 뷰의 속성 및/또는 깊이 뷰 도출에 관련된 파라미터를 하나 이상의 신택스 구조(가령 비디오 파라미터 세트, 시퀀스 파라미터 세트, 카메라 파라미터 세트, 비디오 유용성 정보, SEI 메시지 또는 유사한 것) 내에 인코딩하고 포함할 수 있다.
몇몇 실시예에서, 인코더는 가령 SEI 메시지 내에 또는 비디오 유용성 정보로서 또는 다른 신택스 구조 내에 후처리로서 행해질 수 있는 뷰 합성에 관련된 파라미터 및 파라미터 값을 표시할 수 있다. 이 파라미터는 동일하지 않은 개수의 텍스처 및 깊이 뷰가 있을 수 있고/있거나, 텍스처 뷰 중 몇몇이 코로케이팅된 깊이 뷰를 갖지 않을 수 있고/있거나, 깊이 뷰 중 몇몇이 코로케이팅된 텍스처 뷰를 갖지 않을 수 있고/있거나, 코로케이팅된 텍스처 및 깊이 뷰가 상이한 공간적 영역을 커버할 수 있는 경우를 다루는 그러한 것을 특히 포함할 수 있다. (디코딩 후에) 후처리로서 행해질 수 있는 뷰 합성에 관련된 이 파라미터는 다음을 포함할 수 있으나 이에 한정되지 않는다:
- 비트스트림 내 텍스처 뷰 및 깊이 뷰의 속성에 대해 위에서 열거된 파라미터의 임의의 서브세트;
- 깊이 뷰 도출에 관련된 파라미터의 임의의 서브세트;
- 디코딩 후에 후처리로서 합성되도록 허용되는 시점의 리스트 또는 시점의 범위(가령 코딩된 텍스처 뷰의 시점으로부터 (일방향 평행 카메라 설정에서의 카메라의 축을 따른) 전이 차이(translational difference)의 절대 값을 제공하는 값이 주어질 수 있음);
- 추정된, 대략적인 또는 정확한 디스패리티 특성 및/또는 각각의 인식된 깊이 특성(가령 표시된 코딩된 또는 합성된 시점에서 기인하는 디스패리티 분포 및/또는 최소의 음의 디스패리티 및/또는 최대의 양의 디스패리티);
- 표시된 합성된 시점에 관련된 왜곡 또는 다른 비용 메트릭의 하나 이상의 추정 또는 값.
비트스트림 내의 뷰 간 예측 계층구조의 인코딩 표시(들)은 가령 비디오 파라미터 세트 및/또는 시퀀스 파라미터 세트 내에 표시를 코딩하는 것에 의해, 가령 시퀀스 파라미터 세트 MVC 확장의 신택스 또는 그에 유사한 것을 사용하여 수행될 수 있다. 인코더는 그것이 뷰 간 예측 계층구조 서술을 포함하는 파라미터 세트를 활성화하도록, 파라미터 세트 식별자를 VCL NAL 단위 내에 코딩하는 것에 의해 어느 비디오 파라미터 세트 또는 시퀀스 파라미터 세트가 사용 중인지를 나타낼 수 있다.
몇몇 실시예에서, 텍스처 뷰를 위한 표시된 뷰 간 종속성 순서가 깊이 뷰를 위한 것과는 상이하도록 허용된다. 예를 들어, 시퀀스 파라미터 세트 MVC 확장은 깊이 뷰 콤포넌트를 위한 그것의 콘텐트에 비해 텍스처 뷰 콤포넌트를 위해 동일한 콘텐트를 가질 필요는 없고, 따라서 텍스처 뷰를 위한 표시된 뷰 간 종속성 순서는 깊이 뷰를 위한 것과는 상이하도록 허용된다.
몇몇 실시예에서, 현 깊이 뷰 콤포넌트 및 텍스처 뷰 콤포넌트 및/또는 그들의 속성 및/또는 AU 뷰 콤포넌트 순서가 액세스 단위 레벨에서 가령 픽처 파라미터 세트, 적응 파라미터 세트 또는 액세스 단위 구분자 내에 표시될 수 있다. 몇몇 실시예에서, 현 깊이 뷰 콤포넌트 및 텍스처 뷰 콤포넌트 및/또는 그들의 속성 및/또는 AU 뷰 콤포넌트 순서는 액세스 단위의 아래의 레벨(가령, GOS 파라미터 세트, 픽처 헤더, 콤포넌트 픽처 구분자, 콤포넌트 픽처 헤더 또는 슬라이스 헤더)에 표시될 수 있고, 현 깊이 뷰 콤포넌트 및 텍스처 뷰 콤포넌트 및/또는 그들의 속성 및 AU 뷰 콤포넌트 순서는 동일한 액세스 단위에 대해 유효한 모든 신택스 구조에서 동일할 것이 요구될 수 있다.
몇몇 실시예에서, 현 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트 및/또는 AU 뷰 콤포넌트 순서의 하나보다 많은 세트가 예컨대 파라미터 세트(가령 비디오 파라미터 세트 또는 시퀀스 파라미터 세트) 내에, 예컨대 위에서 제시된 것과 유사한 신택스를 사용하여 지정될 수 있다. 현 텍스처 및 깊이 뷰 콤포넌트 및/또는 AU 뷰 콤포넌트 순서의 각 리스트는 뷰 존재 식별자(view presence identifier)(예컨대 0부터 시작하고, 현 텍스처 및 깊이 뷰 콤포넌트 및/또는 AU 뷰 콤포넌트 순서의 리스트가 파라미터 세트 내에 지정된 순서로 1만큼 증가되는 정수 값)와 연관될 수 있다. 뷰 존재 식별자 값은 각각의 코딩된 비디오 시퀀스, GOP 또는 액세스 단위에 대해 어느 AU 뷰 콤포넌트 순서가 사용 중인지 및/또는 어느 텍스처 및 깊이 뷰가 존재하는지를 나타내도록 가령 코딩된 비디오 시퀀스, GOP 또는 액세스 단위 레벨에 포함될 수 있다. 뷰 존재 식별자는 가령 픽처 파라미터 세트, GOS 파라미터 세트, 액세스 단위 구분자, 픽처 헤더, 콤포넌트 픽처 구분자, 콤포넌트 픽처 헤더 또는 슬라이스 헤더에 포함될 수 있다. 뷰 존재 식별자 값은 동일한 액세스 단위에 대해 유효한 모든 신택스 구조에서 동일할 것이 요구될 수 있다.
몇몇 실시예에서, 어느 텍스처 및 깊이 뷰가 존재하는지의 표시(들) 및 AU 뷰 콤포넌트 순서가 가령 파라미터 세트 또는 임의의 다른 신택스 구조(가령 존재하는 상이한 텍스처 및 깊이 뷰가 존재하게 할 뿐만 아니라 상이한 AU 뷰 콤포넌트 순서가 비트스트림 내에 사용되고 따라서 인코딩 및 디코딩에서 사용되게 하는 신택스 및 시맨틱스와 함께 위에서 언급된 것) 내에 지정될 수 있다. 예를 들어, 현 깊이 및 텍스처 뷰 및 AU 뷰 콤포넌트 순서는 가령 특정 깊이 뷰 콤포넌트가 AU 뷰 콤포넌트 순서에서 특정한 텍스처 뷰 콤포넌트를 선행함을 표시할 수 있는 제약의 시퀀스 또는 리스트로써 지정될 수 있다. 제약의 그 시퀀스 또는 리스트 내의 항목(item)은 관심(concerned) 깊이 및 텍스처 뷰 콤포넌트의 표시 및 제약의 유형을 포함할 수 있다. 예를 들어, 그 제약의 유형은 깊이 뷰 콤포넌트가 특정한 텍스처 뷰 콤포넌트보다 AU 뷰 콤포넌트 순서로 더 일찍 나타날 것이 요구된다는 것을 표시하고, 깊이 뷰 콤포넌트의 리스트 또는 범위(가령 그것들의 뷰 순서 인덱스 값), 그리고 가령 텍스처 뷰 콤포넌트의 뷰 순서 인덱스 값을 포함할 수 있다. 예를 들어, 입체적인(stereoscopic) 깊이 향상된 비트스트림에서 깊이 뷰 콤포넌트 (D0 및 D1) 둘 다 액세스 단위에서 비 기반 텍스처 뷰 콤포넌트 (T1)보다 더 일찍 나타난다는 것이 지정될 수 있다. 이 제약은 두 개의 AU 뷰 콤포넌트 순서와 맞을 것/그것을 허용할 것이다: (D0, D1, T0, T1) 및 (T0, D0, D1, T1).
몇몇 실시예에서, 존재하는 깊이 및 텍스처 뷰 콤포넌트 및 AU 뷰 콤포넌트 순서는 뷰 콤포넌트의 출현 순서에 의해 비트스트림 내에 묵시적으로 표시될 수 있다.
몇몇 실시예에서, 깊이 뷰는 텍스처 뷰의 활성 시퀀스 파라미터 세트와 상이한 활성 시퀀스 파라미터 세트를 사용할 수 있다. 나아가, 하나의 깊이 뷰는 다른 깊이 뷰와는 상이한 시퀀스 파라미터를 사용할 수 있다(즉, 활성화하였을 수 있다). 마찬가지로, 하나의 텍스처 뷰는 다른 텍스처 뷰와는 상이한 시퀀스 파라미터를 사용할 수 있다(즉, 활성화하였을 수 있다).
몇몇 실시예에서, 시퀀스 파라미터 세트에 포함된 신택스 요소의 서브세트의 시맨틱스는 시퀀스 파라미터 세트가 텍스처 뷰 콤포넌트 또는 깊이 뷰 콤포넌트에 의해 참조되는지 또는 시퀀스 파라미터가 텍스처 뷰 콤포넌트에 대해 또는 깊이 뷰 콤포넌트에 대해 활성인지 여부에 의존할 수 있다. 구체적으로, 시퀀스 파라미터 세트에 포함된 신택스 요소의 서브세트의 시맨틱스는 시퀀스 파라미터 세트가 텍스처 뷰 콤포넌트에 의해 참조되거나 텍스처 뷰 콤포넌트에 대해 활성인 경우 하나 이상의 텍스처 뷰에 적용될 수 있다. 구체적으로, 시퀀스 파라미터 세트에 포함된 신택스 요소의 서브세트의 시맨틱스는 시퀀스 파라미터 세트가 깊이 뷰 콤포넌트에 의해 참조되거나 깊이 뷰 콤포넌트에 대해 활성인 경우 하나 이상의 깊이 뷰에 적용될 수 있는 반면, 시퀀스 파라미터 세트 내의 신택스 요소의 다른 서브세트는 집합적으로 텍스처 및 깊이 뷰에 적용될 수 있다. 예를 들어, VUI 파라미터가 3DVC 서브세트 SPS의 시퀀스 파라미터 세트 데이터 신택스 구조에 포함된 경우, 그것은 3DVC 서브세트 SPS를 참조하는 깊이 뷰에만 적용되는 종횡비 정보 및 비트스트림 제한 정보를 (만약 존재한다면) 제외하고, 3DVC 서브세트 SPS를 참조하는 깊이 뷰 및 대응하는 텍스처 뷰 모두에 집합적으로 적용될 수 있다. 텍스처 뷰를 위한 종횡비 정보 및 비트스트림 제한 정보는 MVC 서브세트 SPS에 포함된 vui_parameters() 신택스 구조 내에 존재할 수 있다.
몇몇 실시예에서, 인코더는 디코딩된 텍스처 뷰 콤포넌트 및 디코딩된 깊이 뷰 콤포넌트 모두를 포함하는 단위를 사용하여 디코딩된 픽처 버퍼(Decoded Picture Buffer: DPB)의 요구되는 크기를 표시할 수 있다. 이 표시는 VUI의 일부로서 행해질 수 있고 가령 max_dec_frame_buffering 신택스 요소 또는 유사한 것을 사용하여 행해질 수 있다. 텍스처 뷰 및 깊이 뷰가 짝지어지지 않을 수 있는바, 디코딩된 텍스처 뷰 콤포넌트 및 디코딩된 깊이 뷰 콤포넌트 모두를 포함하는 그러한 단위는 차선(suboptimal)일 수 있다. 따라서, 몇몇 실시예에서, 인코더는 메모리 할당(memory allocation)을 위해 더 미세한 입도(granularity)를 가능하게 하고 그리하여 더욱 효율적인 메모리 사용을 가능하게 하는 수단을 통해 DPB의 요구되는 크기를 표시할 수 있다. 그러한 수단은 다음 중 하나 이상을 포함할 수 있으나 이에 한정되지 않는다:
- DPB 크기를 나타내기 위한 단위가 디코딩된 텍스처 뷰 콤포넌트가 그 단위의 정수 배이고 디코딩된 깊이 뷰 콤포넌트 역시 그 단위의 정수 배인 방식으로 선택될 수 있다. 예를 들어, 그 단위가 디코딩된 텍스처 뷰 콤포넌트의 크로마 콤포넌트의 크기로 선택되는 경우, (크로마 포맷 4:2:0의) 각 디코딩된 텍스처 뷰 콤포넌트는 6 단위를 취하고 (텍스처 뷰 콤포넌트의 루마 콤포넌트의 크기의 4분의 1의) 각 디코딩된 깊이 뷰 콤포넌트는 1 단위를 취한다. 인코더는 비트스트림 내에, 가령 시퀀스 파라미터 세트 내에, 어느 단위가 DPB 크기를 표시하는 데 사용되는지 표시할 수 있다.
- 두 개의 DPB 크기는 하나가 디코딩된 텍스처 뷰 콤포넌트를 위해 그리고 다른 하나가 디코딩된 깊이 뷰 콤포넌트를 위해 표시될 수 있다. 각각, 디코딩된 깊이 뷰 콤포넌트를 위한 것과는 별개의 DPB가 디코딩된 텍스처 뷰 콤포넌트를 위해 사용될 수 있는데 - 다만, 출력 프로세스는 동일한 액세스 단위의 디코딩된 텍스처 및 깊이 뷰 콤포넌트가 본질적으로 동시에 출력될 수 있는 방식으로 정렬 또는 동기화될 수 있다.
- 깊이 뷰를 위한 DPB 크기는 프레임 버퍼의 측면에서 텍스처 뷰를 위한 것과 동일한 것으로 상속될 수 있다. 디코딩된 깊이 뷰 콤포넌트를 위한 것과는 별개의 DPB가 디코딩된 텍스처 뷰 콤포넌트를 위해 사용될 수 있는데 - 다만, 출력 프로세스는 동일한 액세스 단위의 디코딩된 텍스처 및 깊이 뷰 콤포넌트가 본질적으로 동시에 출력될 수 있는 방식으로 정렬 또는 동기화될 수 있다.
DPB의 표시된 크기는 HRD에서 사용될 수 있다. HRD 및/또는 DPB는 인코딩 프로세스의 일부이거나 인코딩 프로세스에 연결될 수 있고, HRD 및/또는 DPB는 인코딩 프로세스를 제어하는 데 사용될 수 있다. DPB는 디코딩 프로세스의 일부이거나 디코딩 프로세스에 연결될 수 있다. DPB의 표시된 크기는 디코딩된 텍스처 및 깊이 뷰 콤포넌트를 위해 메모리를 할당 또는 예비하기 위하여 디코더에서 사용될 수 있다.
몇몇 실시예에서, DPB는 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트에 대해 별개로 동작될 수 있고 텍스처 DPB 및 깊이 DPB라는 용어가 각각 사용될 수 있다. 텍스처 DPB의 프레임 버퍼 각각은 디코딩된 텍스처 프레임 뷰 콤포넌트, 디코딩된 깊이 프레임 뷰 콤포넌트, 디코딩된 상보적(complementary) 텍스처 필드 뷰 콤포넌트 쌍 또는 "참조를 위해 사용됨"으로 마킹되거나(참조 픽처) 장래의 출력을 위해 유지되거나(재순서화된 또는 지연된 픽처) 뷰 간 예측을 위한 참조로서 유지되는(뷰 간 유일 참조 콤포넌트) 단일의 (짝지어지지 않은) 디코딩된 텍스처 필드 뷰 콤포넌트를 포함할 수 있다. 깊이 DPB의 프레임 버퍼 각각은 디코딩된 깊이 프레임 뷰 콤포넌트, 디코딩된 상보적 깊이 필드 뷰 콤포넌트 쌍 또는 "참조를 위해 사용됨"으로 마킹되거나(참조 픽처) 장래의 출력을 위해 유지되거나(재순서화된 또는 지연된 픽처) 뷰 간 예측을 위한 참조로서 유지되는(뷰 간 유일 참조 콤포넌트) 단일의 (짝지어지지 않은) 디코딩된 깊이 필드 뷰 콤포넌트를 포함할 수 있다. DPB의 동작은 가령 픽처 디코딩, 픽처 출력, 픽처 마킹(가령 "참조를 위해 사용됨" 및 "참조를 위해 사용되지 않음"으로) 및 DPB로부터의 픽처 제거를 포함할 수 있다. 픽처 출력은 비트스트림 내에 또는 외부 수단에 의해 표시될 수 있는 픽처 출력 시간에 기반할 수 있거나 그것은 모든 이용가능한 프레임 버퍼가 점유되어(occupied) 버린 경우 DPB의 프레임 버퍼를 풀거나(free) 할당해제할 수 있는 "범핑"(bumping) 프로세스에 기반할 수 있다.
몇몇 실시예에서, DPB를 위한 "범핑" 프로세스는 텍스처 및 깊이 뷰 콤포넌트에 대해 공동으로 또는 동기식으로 동작할 수 있는데, DPB가 달리 깊이 뷰 콤포넌트 및 텍스처 뷰 콤포넌트에 대해 별개로 동작하는(가령 깊이 DPB 및 텍스처 DPB가 있는) 경우에도 그러하다. 텍스처 및 깊이 뷰 콤포넌트에 대해 공동으로 동작하는 "범핑" 프로세스는 동일한 값의 view_id 및/또는 임의의 다른 뷰 식별자 신택스 요소 또는 변수를 갖는 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트를 본질적으로 함께 또는 나란히 출력할 수 있다.
텍스처 및 깊이 뷰 콤포넌트에 대해 공동으로 동작하는 DPB "범핑" 프로세스의 예가 이하에서 제공된다. 서술되는 "범핑" 프로세스는, 뷰 순서 인덱스 VOIdx를 갖는 특정한 텍스처 뷰 및 깊이 뷰에 대해 호출될 수 있는데, 각각의 "뷰 콤포넌트"가 "텍스처 뷰 콤포넌트" 또는 "깊이 뷰 콤포넌트"에 의해 대체되고 "프레임 뷰 콤포넌트"가 "텍스처 프레임 뷰 콤포넌트" 또는 "깊이 프레임 뷰 콤포넌트"에 의해 대체되며 "필드 뷰 콤포넌트"가 "텍스처 필드 뷰 콤포넌트"에 의해 대체된다. 특정 텍스처 뷰를 위한 그 프로세스의 호출 중에, 그 특정 뷰의 텍스처 뷰 콤포넌트만 고려되나 각각의 깊이 뷰 콤포넌트 역시 크로핑되고 출력될 수 있다. 특정 깊이 뷰를 위한 그 프로세스의 호출 중에, 그 특정 뷰의 깊이 뷰 콤포넌트만 고려되고 다른 뷰의 뷰 콤포넌트를 포함하는 프레임 버퍼는 비워지지 않는다. DPB 충만도(fullness)는, 다른 뷰의 뷰 콤포넌트를 포함하는 프레임 버퍼를 포함하여, 비지 않은(non-empty) 프레임 버퍼의 총 개수를 나타낸다. DPB 충만도는, 그 프로세스가 텍스처 뷰 또는 깊이 뷰를 위해 호출되었는지에 따라 각각 텍스처 DPB 또는 깊이 DPB에 대해, 다른 뷰의 뷰 콤포넌트를 포함하는 프레임 버퍼를 포함하여, 비지 않은 프레임 버퍼의 총 개수를 나타낸다.
텍스처 및 깊이 뷰 콤포넌트에 대해 공동으로 동작하는 DPB "범핑" 프로세스의 예는 계속하여 이하에서 제공되는데, "범핑" 프로세스는 다음 단계 중 하나 이상을 포함할 수 있다:
1. 출력을 위해 우선 고려되는 픽처 또는 상보적 참조 필드 쌍이 다음과 같이 선택된다:
a. "출력을 위해 필요함"(needed for output)으로 마킹된 DPB 내 모든 픽처 중 가장 작은 값의 PicOrderCnt()(즉, 픽처 순서 카운트)를 갖는 픽처를 포함하는 프레임 버퍼가 선택된다.
b. 프레임 버퍼에 따라, 다음이 적용된다:
- 양 필드 모두가 "출력을 위해 필요함"으로 마킹된 상보적 비 참조 필드 쌍(complementary non-reference field pair)을 이 프레임 버퍼가 포함하고 양 필드가 동일한 PicOrderCnt()를 갖는 경우, 디코딩 순서에서 이 두 필드 중 첫 번째가 출력을 위해 우선 고려된다.
- 그렇지 않으면, 양 필드 모두가 "출력을 위해 필요함"으로 마킹된 상보적 참조 필드 쌍(complementary reference field pair)을 이 프레임 버퍼가 포함하고 양 필드가 동일한 PicOrderCnt()를 갖는 경우, 전체 상보적 참조 필드 쌍이 출력을 위해 우선 고려된다.
- 그렇지 않으면, 이 프레임 버퍼 내에서 가장 작은 값의 PicOrderCnt()를 갖는 픽처가 출력을 위해 우선 고려된다.
2. 단일의 픽처 또는 상보적 참조 필드 쌍이 출력을 위해 고려되는지에 따라, 다음이 적용된다:
- 단일의 픽처가 출력을 위해 고려되는 경우, 그 픽처를 위한 활성 시퀀스 파라미터 세트 내에 지정된 크로핑 사각형을 사용하여 이 픽처가 크로핑되고, 크로핑된 픽처가 출력되며, 그 픽처는 "출력을 위해 필요하지 않음"(not needed for output)으로 마킹된다.
- 그렇지 않으면(상보적 참조 필드 쌍이 출력을 위해 우선 고려되면), 상보적 참조 필드 쌍의 두 필드 모두가 그 픽처를 위한 활성 시퀀스 파라미터 세트 내에 지정된 크로핑 사각형을 사용하여 크로핑되고, 상보적 참조 필드 쌍의 두 필드가 함께 출력되며, 상보적 참조 필드 쌍의 두 필드 모두가 "출력을 위해 필요하지 않음"으로 마킹된다.
3. 출력을 위해 고려되는 단일의 픽처 또는 상보적 참조 필드 쌍과 동일한 값의 view_id 및 PicOrderCnt()를 갖는 단일의 깊이 뷰 콤포넌트 또는 상보적 깊이 뷰 콤포넌트 쌍이 있는 경우, 단일의 깊이 뷰 콤포넌트 또는 상보적 깊이 뷰 콤포넌트 쌍은 단계 2에서와 같이 출력된다.
4. 크로핑되어 출력되었던 픽처 또는 상보적 참조 필드 쌍을 포함하였던 프레임 버퍼가 검사되고, 다음 조건 중 임의의 것이 참인 경우, 프레임 버퍼는 비워지고 DPB 충만도는 1만큼 감소된다:
- 프레임 버퍼는 비 참조의 짝지어지지 않은 필드(non-reference non-paired field)를 포함한다.
- 프레임 버퍼는 비 참조 프레임(non-reference frame)을 포함한다.
- 프레임 버퍼는 양 필드 모두 "출력을 위해 필요하지 않음"으로 마킹된 상보적 비 참조 필드 쌍을 포함한다.
- 프레임 버퍼는 "참조를 위해 사용되지 않음"으로 마킹된 짝지어지지 않은 참조 필드(non-paired reference field)를 포함한다.
- 프레임 버퍼는 양 필드 모두 "참조를 위해 사용되지 않음"으로 마킹된 참조 프레임을 포함한다.
- 프레임 버퍼는 양 필드 모두 "참조를 위해 사용되지 않음" 및 "출력을 위해 필요하지 않음"으로 마킹된 상보적 참조 필드 쌍을 포함한다.
"범핑" 프로세스는 가령 다음의 경우 중 하나 이상에서 호출될 수 있다.
- 빈(empty) 프레임 버퍼가 전혀 없고(즉, DPB 충만도는 DPB 크기와 동일함) 빈 프레임 버퍼가 추론된 "비 존재"(non-existing) 프레임의 저장을 위해 필요하다.
- 현재의 픽처는 IDR 픽처이고 no_output_of_prior_pics_flag는 1과 동일하지 않고 1과 동일하다고 추론되지 않는다.
- 현재의 픽처는 모든 이전 픽처를 "참조를 위해 사용되지 않음"으로 마킹하는 것을 야기하는 메모리 관리 제어를 포함한다.
- 빈 프레임 버퍼가 전혀 없고(즉, DPB 충만도는 DPB 크기와 동일함) 빈 프레임 버퍼가 디코딩된 (비 IDR) 참조 픽처 또는 참조 기반 픽처의 저장을 위해 필요하다.
- 빈 프레임 버퍼가 전혀 없고(즉, DPB 충만도는 DPB 크기와 동일함) 현재의 픽처가 상보적 비 참조 필드 쌍의 두 번째 필드가 아닌 비 참조 픽처이며 현재의 픽처가 출력을 위해 의도되고 "출력을 위해 필요함"으로 마킹되고 출력 순서에서 현재의 비 참조 픽처를 선행하는 픽처가 DPB 내에 있어서, 빈 버퍼가 현재의 픽처의 저장을 위해 필요하다.
- 빈 프레임 버퍼가 전혀 없고(즉, DPB 충만도는 DPB 크기와 동일함) 현재의 픽처가 상보적 비 참조 필드 쌍의 두 번째 필드가 아닌 비 참조 픽처이며 현재의 픽처가 뷰 간 유일 참조 픽처로서 필요하여서, 빈 버퍼가 현재의 픽처의 저장을 위해 필요하다.
몇몇 실시예에서, 인코더는 가령 다수의 프로세서 및/또는 프로세싱 코어, 그래픽스 프로세싱 유닛(Graphics Processing Unit: GPU) 또는 유사한 임의의 것을 통한 병렬 처리가 가능할 수 있다. 인코더는 (가령 사용될 콤포넌트 간 예측 도구에 따라 결정될 수 있는) 가령 뷰 간 예측 계층구조 및 콤포넌트 간 종속성 계층구조에 의해 결정되는 순서로 상이한 병렬 처리 유닛 상에서의 인코딩을 위해 텍스처 및 깊이 뷰 콤포넌트를 할당할 수 있다. 병렬 처리 유닛에서의 인코딩을 위해 뷰 콤포넌트를 할당하는 경우, 인코더는 어떠한 처리도 다른 병렬 처리 유닛에서의 인코딩의 완료의 대기로 인해 중단되지 않게 하여야 한다. 뷰 콤포넌트의 인코딩의 완료 순서는 상이한 병렬 처리 유닛에서 인코딩되도록 뷰 콤포넌트가 할당되었던 순서와 동일하지 않을 수 있다. 예를 들어, 몇몇 코딩 구성에서 깊이 뷰 콤포넌트는 텍스처 뷰 콤포넌트에 비해 더 낮은 공간적 해상도를 가질 수 있고, 따라서 깊이 뷰 콤포넌트의 인코딩은 또한 텍스처 뷰 콤포넌트의 인코딩에 비해 더 작은 처리 시간을 취할 가능성이 있다. 병렬 처리 유닛은 인코딩된 슬라이스 또는 뷰 콤포넌트를 그것이 완료된 순서로 비트스트림 내에 출력하도록 구성될 수 있다. 따라서, 몇몇 실시예에서, AU 뷰 콤포넌트 순서는 하나 이상의 병렬 처리 유닛에서의 뷰 콤포넌트의 인코딩의 완료 순서에 의해 결정될 수 있다. 몇몇 실시예에서, 뷰 콤포넌트의 인코딩의 완료 순서의 꼬리(tail)에 있는 깊이 뷰 콤포넌트 또는 콤포넌트들은 비트스트림으로부터 생략되거나 폐기될 수 있다.
많은 실시예에서, 코딩 포맷은 액세스 단위의 텍스처 및 깊이 뷰 콤포넌트를 서로에 대해 임의의 순서로 가지는 것을, 그 순서화가 뷰 간 및 콤포넌트 간 예측 계층구조 모두를 준수하는 한 허용한다. 다시 말해, 많은 코딩 포맷은 수신된 비트스트림을 선형 순서로(가령, NAL 단위가 비트스트림에 수신되는 순서로) 디코딩하는 것을 가능하게 하는 그러한 제약을 가진다. 즉, 수신된 뷰 콤포넌트는 비트스트림에서 더 먼저 나타나는 데이터에 대한 종속성을 가지도록 허용될 수 있고 비트스트림에서 나중에 나타나는 데이터에 대한 종속성을 가지는 것이 불허될 수 있다. 인코더는 뷰 콤포넌트를 각자의 순서로 인코딩하는 것 및/또는 인코딩된 데이터를 버퍼링하는 것, 그 제약이 준수되도록 버퍼링된 데이터를 재순서화하는 것 및 재순서화된 데이터를 비트스트림 내에 기록하는 것에 의해 그러한 제약이 비트스트림 내에서 준수되게 할 수 있다. 나아가, 인코더는 그러한 제약이 비트스트림 내에서 준수되는 방식으로 하나 이상의 뷰 콤포넌트를 인코딩하거나 폐기하지 않기로 결정할 수 있다.
몇몇 실시예에서, 인코더는 깊이 뷰가 (가령 뷰 합성 예측, 뷰 간 예측, 콤포넌트 간 예측 및/또는 유사한 것과 같은) 예측을 위한 입력 또는 참조로서 요구되고 코딩되지 않기로 결정되거나 인코더에 입력되지 않는다고 판단할 수 있다. 그러한 경우, 인코더는
- 깊이 뷰, 깊이 뷰를 위한 하나 이상의 깊이 뷰 콤포넌트 또는 깊이 뷰를 위한 하나 이상의 깊이 뷰 콤포넌트의 일부를 코딩된 깊이 뷰 및/또는 코딩된 텍스처 뷰 및/또는 재구성된 깊이 뷰 및/또는 재구성된 텍스처 뷰 또는 그것들의 일부에 기초하여 도출하고,
- 도출된 깊이 뷰를 (뷰 합성 예측, 뷰 간 예측, 콤포넌트 간 예측 및/또는 유사한 것과 같은) 예측을 위한 및/또는 디코딩을 위한 후처리로서 수행되는 뷰 합성을 위한 입력 또는 참조로서 사용할 수 있다.
깊이 뷰 콤포넌트의 도출의 예시적 실시예가 다음에서 제공된다. 깊이 뷰(전체적으로), 깊이 뷰를 위한 다른 깊이 뷰 콤포넌트 또는 깊이 뷰를 위한 하나 이상의 깊이 뷰 콤포넌트의 일부를 도출하기 위해 동일한 또는 유사한 프로세스가 사용될 수 있다는 점이 이해되어야 한다. 순방향 VSP 프로세스 또는 유사한 것은 (통상적으로 동일한 액세스 단위의 것인) 하나 이상의 재구성된 깊이 뷰 콤포넌트에 적용될 수 있다. 깊이 뷰 콤포넌트는 어느 워핑이 수행될 수 있는지에 따라 픽셀당 디스패리티 정보의 소스뿐만 아니라 워핑될 입력 픽처로서 간주될 수 있다. 다시 말해, 깊이 뷰 콤포넌트는 순방향 VSP 프로세스를 사용하여 다른 시점으로 재투영된다. 재투영된 깊이 뷰 콤포넌트의 품질을 개선하는 고급 방법(가령, 홀 필링)이 사용될 수 있다.
예를 들어, 인코더는 깊이 뷰 콤포넌트가 DMVP 또는 유사한 것을 위해 필요하나 어떠한 깊이 뷰 콤포넌트도 요구되는 뷰를 위해 코딩되지 않았다고 판단할 수 있다. 그러면 인코더는 순방향 VSP 또는 유사한 프로세스를 사용하여 깊이 뷰 콤포넌트를 도출할 수 있다. 이후, 인코더는 도출된 깊이 뷰 콤포넌트를 유사하게 또는 동일하게 마치 도출된 깊이 뷰 콤포넌트가 깊이 뷰 콤포넌트를 코딩하는 것에서 기인하는 재구성된 깊이 뷰 콤포넌트인 것처럼 사용할 수 있다. 몇몇 실시예에서, 인코더는 또한 하나보다 많은 재구성된 깊이 뷰 콤포넌트를 도출되는 깊이 뷰 콤포넌트를 위한 소스로서 사용할 수 있다. 예를 들어, 인코더는 다수의 후보 깊이 뷰 콤포넌트를 도출할 수 있는데, 각각은 상이한 소스 깊이 뷰 콤포넌트 및/또는 상이한 도출 프로세스 및/또는 도출 프로세스에서 적용되는 상이한 파라미터를 구비한다. 그리고 인코더는 도출되는 깊이 뷰 콤포넌트를 획득하기 위해 후보 깊이 뷰 콤포넌트 간에 필터링을 적용할 수 있다. 그 필터링은 다음 중 하나 이상을 포함할 수 있으나 이에 한정되지 않는다: 평균화, 중간값 필터링, 선형 또는 비선형 융합. 그 필터링은 또한 신뢰도 가중화될(confidence-weighted) 수 있다(가령, 홀 필링된(hole-filled) 샘플은 더 낮은 신뢰도를 가질 수 있고, 따라서 더 높은 신뢰도에 비해 도출된 깊이 뷰 콤포넌트에는 가중치가 더 낮을 수 있으며, 따라서 워핑된 샘플의 가중치는 더 높을 수 있다).
몇몇 실시예에서, 본 명세서에서 비트스트림 수정기(bitstream modifier)라고 지칭되는 엔티티(entity)는 비트스트림이 완전히 디코딩되지 않고 재인코딩되나 비트스트림을 위한 더 가벼운 부담의(lighter-weight) 처리가 수행되는 방식으로 비트스트림을 수정한다. 예를 들어, 원래의/입력 비트스트림의 선택된 NAL 단위는 수정된 비트스트림 내에 폐기(즉, 불포함)될 수 있다. 비트스트림 수정기는 가령 디코더, 미디어 플레이어, 수신기, 미디어 인지 네트워크 요소(Media-Aware Network Element: MANE) 또는 서버의 일부일 수 있다. 비트스트림 수정기는 비트스트림을 가령 추정된 또는 유력한(prevailing) 다운링크 네트워크 조건 또는 처리량 및/또는 가령 사용되는 디스플레이의 유형(예컨대, 모노스코프식(monoscopic), 입체(stereoscopic), 자동입체(autostereoscopic)), 디스플레이될 원하는 뷰, 계산 능력, 이용가능한 메모리 및/또는 메모리 액세스 대역폭의 측면에서 디코딩 측의 추정된 또는 알려진 능력 또는 동작 모드에 기반하여 수정하기로 결정할 수 있거나 수정하도록 구성될 수 있다. 몇몇 실시예에서, 비트스트림 수정기는 깊이 뷰 또는 깊이 뷰 내의 소정의 깊이 뷰 콤포넌트가 수정된 비트스트림에 포함되거나 수정된 비트스트림으로부터 생략/폐기되는지 여부를 결정하기 위한 전술된 인코더와 유사하게 동작할 수 있다. 예를 들어, 비트스트림 수정기는, 디코더와 유사하게, 비트스트림에 포함된 하나 이상의 표시에 기반하여, 깊이 뷰가 뷰 합성을 위한 예측, 뷰 간 및/또는 콤포넌트 간 예측을 위한 참조로서 사용되지 않음을 판단할 수 있고 따라서 비트스트림 수정기는 그 깊이 뷰를 수정된 비트스트림으로부터 생략하기로 결정할 수 있다. 대안적으로 또는 추가로, 비트스트림 수정기는 디코딩을 위한 후처리로서 행해지는 뷰 합성을 위한 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위를 입력하도록 구성될 수 있다. 비트스트림 수정기는 코딩된 깊이 뷰가 합성된 뷰 콤포넌트에 대한 기대되는 또는 알려진 시점 또는 시점의 기대되는 또는 알려진 범위에 대해 (그렇지 않다면 이용가능할 깊이 뷰에 기초하여 동일한 시점을 합성하는 것에 비해) 율-왜곡 (또는 다른 비용 메트릭) 이득을 가져올 것인지를 판정하기 위해 VSO 방법 또는 유사한 것을 실행할 수 있다. 대안적으로 또는 추가로, 비트스트림 수정기는 디코딩 측의 언급된 능력 및/또는 동작 모드에 기초하여 그리고 비트스트림에 포함된 표시에서 디코딩 또는 출력을 위해 필요하지 않은 뷰 콤포넌트를 판단하고 이 불필요한 코딩된 뷰 콤포넌트 중 적어도 일부를 수정된 비트스트림으로부터 생략할 수 있다. 비트스트림 수정기는 신택스 요소 및 파라미터 값을 비트스트림으로부터 수신하여 디코딩하는 경우 디코더와 유사하게 동작할 수 있다. 비트스트림 수정기는 스트리밍(streaming) 방식(가령 한 번에 전체 비트스트림 대신 한 번에 하나의 액세스 단위, 코딩된 픽처 또는 NAL 단위)으로 동작할 수 있다.
다양한 실시예에서, 디코더 또는 디코더 측은 무엇보다 다음 단계 중 하나 이상을 수행할 수 있다.
1. 코딩된 텍스처 및 깊이 뷰, 텍스처 뷰 및 깊이 뷰의 뷰 간 예측 계층구조 및/또는 AU 뷰 콤포넌트 순서를 비트스트림으로부터 수신하여 디코딩하는 것.
2. 예측(가령 뷰 합성 예측, 뷰 간 예측, 콤포넌트 간 예측 및/또는 유사한 것)을 위한 입력 또는 참조로서 깊이 뷰가 요구되나 수신된 비트스트림에 포함되지 않은 경우,
- 깊이 뷰를 도출하는 것; 또는
- 깊이 뷰가 예측을 위한 입력 또는 참조로서 요구되게 하는 코딩 도구가 꺼졌음을 추론하는 것; 또는
- 비트스트림으로부터 수신되어 디코딩된 하나 이상의 표시에 기반하여 위 단계 중 하나를 선택하는 것.
3. 각 코딩된 깊이 뷰의 존재 또는 부재 및/또는 각 도출된 깊이 뷰의 존재 또는 부재에 기반하여 텍스처 뷰를 디코딩하기 위한 하나 이상의 코딩 도구, 코딩 도구의 모드 및/또는 코딩 파라미터의 사용을 추론하는 것.
4. 깊이 뷰 콤포넌트 내의 코로케이팅된 샘플 또는 블록의 가용성에 기초하여 텍스처 뷰 콤포넌트 내 예측되는 블록의 서브세트를 위하여 콤포넌트 간 예측 신호 또는 예측 블록 또는 유사한 것을 깊이 뷰 콤포넌트로부터 (또는 일반적으로 하나 이상의 깊이 뷰 콤포넌트로부터) 텍스처 뷰 콤포넌트로 (또는 일반적으로 하나 이상의 텍스처 뷰 콤포넌트로) 형성하는 것. 마찬가지로, 텍스처 뷰 콤포넌트 내의 코로케이팅된 샘플 또는 블록의 가용성에 기초하여 깊이 뷰 콤포넌트 내 예측되는 블록의 서브세트를 위하여 콤포넌트 간 예측 신호 또는 예측 블록 또는 유사한 것을 텍스처 뷰 콤포넌트로부터 (또는 일반적으로 하나 이상의 텍스처 뷰 콤포넌트로부터) 깊이 뷰 콤포넌트로 (또는 일반적으로 하나 이상의 깊이 뷰 콤포넌트로) 형성하는 것.
5. 코로케이팅된 깊이 샘플의 가용성에 기초하여 뷰 합성 예측 신호 또는 예측 블록 또는 유사한 것을 형성하는 것.
6. 후처리로서 수행되는 뷰 합성을 위하여 예측을 위한 입력 또는 참조로서 깊이 뷰가 요구되는 경우, 깊이 뷰를 도출하는 것.
7. 언급된 시그널링에 기초하여 디코딩 또는 출력을 위해 필요하지 않은 뷰 콤포넌트를 결정하는 것 및 이 불필요한 코딩된 뷰 콤포넌트를 디코딩하는 것을 회피하도록 디코더를 설정하는 것.
디코더는 코딩된 텍스처 및 깊이 뷰, 텍스처 뷰 및 깊이 뷰의 뷰 간 예측 계층구조 및 AU 뷰 콤포넌트 순서의 표시를 가령 다음과 같이 비트스트림으로부터 수신하여디코딩할 수 있다. 디코더는 활성 비디오 파라미터 세트 또는 유사한 것, 활성 시퀀스 파라미터 세트(들) 또는 유사한 것, 활성 픽처 파라미터 세트(들) 또는 유사한 것 및 활성 적응 파라미터 세트(들) 또는 유사한 것 중 하나 이상을 가령 디코딩되는 하나 이상의 코딩된 슬라이스 신택스 구조에 포함된 파라미터 세트 식별자에 기반하여 판단할 수 있다. 예를 들어, 몇몇 실시예에서, 디코더는 각 텍스처 뷰 또는 깊이 뷰 당 파라미터 세트를 활성화할 수 있으나, 동일한 파라미터 세트가 다수의 뷰를 위해 활성화될 수 있다. 텍스처 뷰 및 깊이 뷰를 위한 뷰 식별자의 리스트 또는 루프 또는 유사한 것은 파라미터 세트 구조 중 하나 이상에 존재할 수 있다. 텍스처 뷰를 위해 표시된 것으로서 깊이 뷰를 위해 표시된 것과는 동일하지 않은 개수의 뷰 식별자 또는 유사한 것이 있을 수 있고/있거나 텍스처 뷰를 위해 표시된 뷰 식별자 값 중 일부 또는 전부는 깊이 뷰를 위해 표시된 것과 다를 수 있다. 뷰 간 예측 계층구조는 이 파라미터 세트 구조 중 하나 이상에 존재할 수 있다. 몇몇 실시예에서, 깊이 뷰를 위한 것과는 상이한 텍스처 뷰를 위한 뷰 간 예측 계층구조를 가지는 것이 허용되고, 따라서 디코더는 상이한 파라미터 세트 또는 파라미터 세트의 상이한 부분이 텍스처 및 깊이 뷰(이로부터 뷰 간 종속성 계층구조가 디코딩될 수 있음)로부터 참조된다고 판단할 수 있다. 몇몇 실시예에서, 텍스처 및 깊이 뷰 콤포넌트의 존재 및/또는 텍스처 및 깊이 뷰의 뷰 간 예측 계층구조가 액세스 단위 및/또는 코딩된 슬라이스로 가령 액세스 단위 구분자, 콤포넌트 픽처 구분자, 슬라이스 헤더 또는 유사한 임의의 것 내에 존재할 수 있는 뷰 순서 인덱스로서 표시되고, 디코더는 뷰 간 예측 계층관계 정보를 가령 뷰 순서 인덱스 신택스 요소 또는 유사한 것으로부터 파싱할 수 있다. 몇몇 실시예에서, 텍스처 및 깊이 뷰 콤포넌트의 존재는 뷰 식별자 값, 뷰 순서 인덱스 값 또는 유사한 식별자 값(코딩된 슬라이스 NAL 단위 또는 액세스 단위를 위한 유사한 코딩된 비디오 구조 또는 단위에 포함되거나 그에 대해 추론됨)에 의해 묵시적으로 표시될 수 있다. 더욱이, 뷰 간 예측 계층구조는 액세스 단위 내의 텍스처 또는 깊이 뷰 콤포넌트의 디코딩/비트스트림 순서에 의해 묵시적으로 표시될 수 있다.
디코더는 AU 뷰 콤포넌트 순서의 하나 이상의 표시를 비트스트림으로부터 가령 아래와 같이 수신하여 디코딩할 수 있다. AU 뷰 콤포넌트 순서의 표시는 앞서 언급된 것 중 임의의 것 또는 임의의 유사한 표시일 수 있다. 디코더는 가령 어느 파라미터 세트가 활성인지 판단하고 AU 뷰 콤포넌트 순서를 표시하는 활성 파라미터 세트의 일부를 디코딩할 수 있다. 몇몇 실시예에서, 디코더는 사용될 AU 뷰 콤포넌트 순서의 인덱스를 가령 픽처 파라미터 세트로부터 디코딩하고 활성 비디오 파라미터 세트 또는 시퀀스 파라미터에 포함된 AU 뷰 콤포넌트 순서 중 어느 것이 픽처 파라미터 세트를 참조하는 액세스 단위를 위해 사용되는지 판단하기 위해 그 인덱스를 사용할 수 있다.
몇몇 실시예에서, 디코더는 다음과 같이 전송 에러, 대용량 메모리 매체의 오손 또는 유사한 임의의 것에 대한 에러 내성(error resilience)을 위하여 디코딩된 또는 판단된 AU 뷰 콤포넌트 순서뿐만 아니라 어느 텍스처 및 깊이 뷰 콤포넌트가 존재하는지에 관한 디코딩된 또는 판단된 정보를 사용할 수 있다. 디코더는 가령 비트스트림이 콤포넌트 픽처 구분자 NAL 단위, 콤포넌트 픽처 헤더 또는 이전 슬라이스의 이전 것에 비해 상이한 뷰 순서 인덱스 및/또는 상이한 뷰 콤포넌트 유형(가령 깊이 또는 텍스처)을 나타내는 슬라이스 헤더를 포함하는 경우 새로운/다음 뷰 콤포넌트의 디코딩이 시작된다고 판단할 수 있다. 디코더는 뷰 콤포넌트 유형 및 뷰 콤포넌트의 표시자(indicator)(가령, 뷰 순서 인덱스)를 AU 뷰 콤포넌트 순서가 다음 뷰 콤포넌트를 위해 추론하는 것과 비교할 수 있다. 만약 뷰 콤포넌트 유형 및 뷰 콤포넌트의 표시자가 모두 AU 뷰 콤포넌트 순서에 기반하여 기대되는 것과 매칭된다면, 디코더는 전체 뷰 콤포넌트의 어떠한 손실도 발생하지 않았다고 판단할 수 있다. 만약 뷰 콤포넌트 유형 및 뷰 콤포넌트의 표시자 중 어느 하나 또는 모두가 AU 뷰 콤포넌트 순서에 기반하여 기대되는 것과 매칭되지 않는다면, 디코더는 전체 뷰 콤포넌트의 손실을 판단할 수 있다. 몇몇 실시예에서, 하나보다 많은 AU 뷰 콤포넌트 순서가 가능하고, 따라서 디코더는 다음 뷰 콤포넌트가 가능한 AU 뷰 콤포넌트 순서 중 어느 것에라도 합치하는지 체크할 수 있다. 몇몇 실시예에서, 디코더로 입력되는 비트스트림은 비트스트림 추출 또는 프루닝(bitstream extraction or pruning)을 겪을 수 있으나, AU 뷰 콤포넌트 순서의 표시는 프루닝 전의 비트스트림을 반영할 수 있다. 예를 들어, 몇몇 실시예에서, 모든 깊이 뷰 콤포넌트를 비트스트림으로부터 제거하는 것이 가능할 수 있으나, 나머지 비트스트림은 합치하는(conforming) 것이다(즉, 디코딩될 수 있다). 몇몇 실시예에서, 디코더는 뷰 콤포넌트의 손실이 고의적이거나/일 수 있거나 우연한 것인지/일 수 있는지를 가령 콤포넌트 간 코딩 도구가 사용되는지 여부 및 그것이 어느 뷰를 위해 사용되는지/될 수 있는지의 표시에 기반하여 판단할 수 있다. 제1 뷰 콤포넌트가 다른 뷰 콤포넌트를 코딩/디코딩하는 데에 사용되는 코딩 도구를 위해 요구되거나 요구될 수 있다고 디코더가 판단하는 경우, 디코더는 제1 뷰 콤포넌트의 손실이 우연한 것이라고 판단할 수 있다.
인코더에서 및/또는 디코더에서 각각의 코딩된 깊이 뷰의 존재 또는 부재 및/또는 각각의 도출된 깊이 뷰의 존재 또는 부재에 기반하여 하나 이상의 코딩 도구, 코딩 도구의 모드 및/또는 코딩 파라미터의 사용을 추론하는 것의 예시적 실시예가 다음 단락에서 제공된다.
몇몇 실시예에서, 뷰의 깊이 뷰 콤포넌트가 비트스트림 내에 존재하고 AU 뷰 콤포넌트 순서로 동일한 뷰의 텍스처 뷰 콤포넌트를 선행한다면 또는 깊이 뷰 콤포넌트가 도출된다면, 깊이로부터 텍스처로의 콤포넌트 간 종속성을 사용하는 하나 이상의 코딩 도구(가령 D-MVP, 텍스처에 대한 깊이 기반 인트라 예측 또는 기반 계층 내에 깊이가 있고 향상 계층 내에 텍스처가 있는 JMVDC)가 인코딩 및 디코딩에서 사용된다. 몇몇 실시예에서, 뷰의 깊이 뷰 콤포넌트가 AU 뷰 콤포넌트 순서에서 동일한 뷰의 텍스처 뷰 콤포넌트의 뒤를 잇거나 존재하지 않는다면, 인코더는 깊이 뷰 콤포넌트가 도출되었는지 여부를 비트스트림 내에 표시하며 도출 방법 및/또는 도출 방법을 위한 파라미터 값을 비트스트림 내에 표시할 수 있다. 디코더는 깊이 뷰가 도출되었는지 여부의 표시(들)을 비트스트림으로부터 수신하여 디코딩할 수 있다. 깊이 뷰가 도출된 것으로 표시되었다면, 디코더는 어느 도출 방법 및/또는 도출 방법을 위해 어느 파라미터 값이 사용되었는지의 표시를 비트스트림으로부터 수신하여 디코딩할 수 있고 이에 따라 깊이 뷰 (또는 예측을 위한 소스 또는 참조로서 필요한 그것의 일부)를 도출한다. 몇몇 실시예에서, 만약 뷰의 깊이 뷰 콤포넌트가 AU 뷰 콤포넌트 순서로 동일한 뷰의 텍스처 뷰 콤포넌트를 선행한다면 또는 깊이 뷰 콤포넌트가 도출된다면, 인코더는 깊이로부터 텍스처로의 콤포넌트 간 종속성을 사용하는 하나 이상의 코딩 도구(가령 D-MVP, 텍스처에 대한 깊이 기반 인트라 예측 또는 기반 계층 내에 깊이가 있고 향상 계층 내에 텍스처가 있는 JMVDC)의 사용을 비트스트림 내에 표시하나, 만약 뷰의 깊이 뷰 콤포넌트가 비트스트림 내에 존재하지 않거나 AU 뷰 콤포넌트 순서로 동일한 뷰의 텍스처 뷰 콤포넌트의 뒤를 잇는다면, 인코더는 깊이로부터 텍스처로의 콤포넌트 간 종속성을 사용하는 하나 이상의 코딩 도구의 사용을 비트스트림 내에 표시하지 않는다. 디코더는 뷰 콤포넌트의 존재 또는 부재 및/또는 깊이 뷰 콤포넌트의 도출이 수행되거나 허용되는지 및/또는 디코딩된 AU 뷰 콤포넌트 순서로부터 깊이로부터 텍스처로의 콤포넌트 간 종속성을 사용하는 하나 이상의 코딩 도구(가령, D-MVP)의 표시가 비트스트림 내에 존재하는지를 판단할 수 있고, 만약 그것이 존재한다면, 비트스트림으로부터 그것을 디코딩하고, 코딩된 비디오 데이터를 깊이 기반 텍스처 코딩 도구의 판단된 또는 디코딩된 사용에 기반하여 디코딩한다. 몇몇 실시예에서, 깊이 기반 코딩 도구의 사용 및 깊이 뷰의 도출은 하나의 신택스 요소 내에 코딩되거나 신택스 요소의 특정한 값 또는 값들은 깊이 기반 코딩 도구의 사용 및 깊이 뷰의 도출을 표시한다.
몇몇 실시예에서, 뷰의 텍스처 뷰 콤포넌트가 AU 뷰 콤포넌트 순서로 동일한 뷰의 깊이 뷰 콤포넌트를 선행하고 깊이 뷰 콤포넌트가 비트스트림 내에 존재한다면, 텍스처로부터 깊이로의 콤포넌트 간 종속성을 사용하는 하나 이상의 코딩 도구(가령 기반 계층 내에 텍스처가 있고 향상 계층 내에 깊이가 있는 JMVDC)가 인코딩 및 디코딩에서 사용된다. 몇몇 실시예에서, 뷰의 깊이 뷰 콤포넌트가 AU 뷰 콤포넌트 순서에서 동일한 뷰의 텍스처 뷰 콤포넌트의 뒤를 잇고 비트스트림 내에 존재한다면, 인코더는 텍스처로부터 깊이로의 콤포넌트 간 종속성을 사용하는 하나 이상의 코딩 도구(가령 기반 계층 내에 텍스처가 있고 향상 계층 내에 깊이가 있는 JMVDC)의 사용을 비트스트림 내에 표시하나, 뷰의 깊이 뷰 콤포넌트가 AU 뷰 콤포넌트 순서로 동일한 뷰의 텍스처 뷰 콤포넌트를 선행하거나 비트스트림 내에 존재하지 않는다면, 인코더는 텍스처로부터 깊이로의 콤포넌트 간 종속성을 사용하는 하나 이상의 코딩 도구의 사용을 비트스트림 내에 표시하지 않는다. 디코더는 디코딩된 AU 뷰 콤포넌트 순서 디코딩된 또는 판단된 존재 및 부재로부터 텍스처로부터 깊이로의 콤포넌트 간 종속성을 사용하는 하나 이상의 코딩 도구의 표시가 비트스트림 내에 존재하는지를 판단하고, 만약 그것이 존재한다면, 비트스트림으로부터 그것을 디코딩하고, 코딩된 비디오 데이터를 텍스처 기반 깊이 코딩 도구의 판단된 또는 디코딩된 사용에 기반하여 디코딩한다.
몇몇 실시예에서, 인코더 및 디코더는 적어도 두 개의 깊이 뷰 콤포넌트가 AU 뷰 콤포넌트 순서에서 연속적으로 있다면 AU 뷰 콤포넌트 순서로 그러한 연속적인 깊이 뷰 콤포넌트의 마지막 깊이 뷰 콤포넌트를 재구성 또는 디코딩한 후에 JVDF 프로세스 또는 임의의 다른 멀티뷰 깊이 필터링이 적용될 수 있다고 판단할 수 있다. AU 뷰 콤포넌트 순서로 연속적인 깊이 뷰 콤포넌트의 마지막 것까지 모든 재구성된 또는 디코딩된 깊이 뷰 콤포넌트는 JVDF 프로세스 또는 유사한 것에 참여할 수 있다. 따라서, 동일한 픽셀 또는 샘플 위치로 투영 또는 워핑되는 깊이 샘플의 개수는, 더 적은 개수(가령 하나씩) 깊이 뷰 콤포넌트가 재구성 또는 디코딩된 후에 JVDF 또는 임의의 다른 멀티뷰 깊이 필터링이 적용되었다면 발생할 것보다 더 클 수 있다. 동일한 픽셀 위치에 맵핑된 더 많은 수의 깊이 샘플로 인하여, 필터링 프로세스는 더 낫게 성공할 수 있다. 예를 들어, 픽셀 위치에 맵핑된 깊이/디스패리티 값의 대다수가 오직 그 깊이/디스패리티 값들 간 신뢰도 구간에 속한다면 가중 평균이 적용될 수 있고, 따라서 이상치인(outlier) 깊이/디스패리티 값은 배제될 수 있다.
몇몇 실시예에서, 인코더는 짝지어지지 않은 텍스처 및 깊이 뷰뿐만 아니라 텍스처 뷰 및 대응하는 깊이 뷰의 충분한 조합이 존재하고 코딩 도구와 연관된거나 코딩 도구를 위해 시그널링되는 뷰 콤포넌트 순서가 충족되는 경우 코딩 도구가 사용된다는 것을 비트스트림 내에 표시(들)로 표시할 수 있다. 텍스처 및 깊이 뷰의 충분한 조합은 하나 이상의 코딩 도구를 위해 시그널링될 수 있고/있거나 하나 이상의 코딩 도구를 위해 사전정의되거나 알려질 수 있다. 그렇지 않으면, 코딩 도구는 사용되지 않을 수 있다. 다시 말해, 만약 특정 뷰 콤포넌트가 비트스트림 내에 인코딩되면, 만약 액세스 단위 내의 더 이른 뷰 콤포넌트가 어떤 코딩 도구의 사용을 가능하게 한다면, 또한 만약 코딩 도구의 사용이 표시로써 켜진다면, 인코더는 특정 뷰 콤포넌트를 인코딩하기 위해 코딩 도구를 사용할 수 있다. 예를 들어, 만약 깊이 뷰 콤포넌트가 인코딩되고 있고, 인코딩되는 깊이 뷰 콤포넌트와 동일한 뷰의 텍스처 뷰 콤포넌트는 이미 인코딩되었으며, IVMP의 사용은 시퀀스 파라미터 세트 또는 유사한 임의의 것에서 가능하게 되었다면, 인코더는 현재 깊이 뷰 콤포넌트를 인코딩하기 위해 IVMP를 사용할 수 있다. 디코더는 인코더에 대하여 각각 코딩 도구의 사용을 판단할 수 있다. 즉, 만약 특정 뷰 콤포넌트가 비트스트림으로부터 디코딩되고 있다면, 만약 액세스 단위 내의 더 이른 뷰 콤포넌트가 어떤 코딩 도구의 사용을 가능하게 한다면, 또한 만약 코딩 도구의 사용이 비트스트림 내에 표시된다면, 디코더는 특정 뷰 콤포넌트를 디코딩하기 위해 코딩 도구를 사용할 수 있다. 예를 들어, 만약 깊이 뷰 콤포넌트가 디코딩되고 있고, 디코딩되는 깊이 뷰 콤포넌트와 동일한 뷰의 텍스처 뷰 콤포넌트는 이미 디코딩되었으며, IVMP의 사용은 시퀀스 파라미터 세트 또는 유사한 임의의 것에서 가능하게 되었다면, 디코더는 현재 깊이 뷰 콤포넌트를 디코딩하기 위해 IVMP를 사용할 수 있다. 몇몇 실시예에서, 코딩 도구가 사용된다는 비트스트림 내의 표시(들)은 특정한 표시된 뷰 콤포넌트에 또는 특정한 표시된 뷰 콤포넌트의 세트에 특정적일 수 있으나, 코딩 도구가 사용된다는 표시(들)은 표시된 특정 뷰 콤포넌트에 대해 코딩 도구와 연관 또는 시그널링되는 뷰 콤포넌트 순서가 충족되는 경우에만 유효할 수 있다.
몇몇 실시예에서, 인코더 및 디코더는 MVP 후보 및/또는 병합 리스트(코딩된 콤포넌트/뷰의 부재/존재에 따라 HEVC에 지정된 것과 유사함)를 재구성/재초기화할 수 있다. 상기 재구성/재초기화는 비트스트림 상에서의 명시적 시그널링으로써 또는 인코더 측에서 및/또는 디코더 측에서 묵시적으로 구현될 수 있다.
몇몇 실시예에서, 인코더 및/또는 디코더는 다음과 같이 깊이 뷰 콤포넌트 내 코로케이팅된 샘플 또는 블록의 가용성에 기초하여 텍스처 뷰 콤포넌트 내 예측된 블록의 서브세트에 대해 깊이 뷰 콤포넌트로부터 (또는 일반적으로 하나 이상의 깊이 뷰 콤포넌트로부터) 텍스처 뷰 콤포넌트로 (또는 일반적으로 하나 이상의 텍스처 뷰 콤포넌트로) 콤포넌트 간 예측 신호 또는 예측 블록 또는 유사한 것을 형성할 수 있다. 몇몇 실시예에서는, 코로케이팅된 샘플 또는 블록의 도출에서, 디스패리티 및/또는 움직임 보상이 적용될 수 있다(즉, 예측 블록의 위치를 예측되고 있는 블록의 위치로부터 도출하기 위해 디스패리티 또는 움직임 벡터 또는 유사한 것이 적용될 수 있는데, 여기서 디스패리티 또는 움직임 벡터 또는 유사한 것은 비트스트림에 표시되고/되거나 깊이 뷰 콤포넌트로부터 도출될 수 있다). 몇몇 실시예에서, 인코더 및/또는 디코더는 코로케이팅된 깊이 블록이 코딩/디코딩되고 있는 텍스처 블록에 대해 이용가능한지 판단한다. 판단 프로세스는 다음 단계 중 하나 이상을 포함할 수 있다:
- 어떠한 깊이 뷰 콤포넌트도 인코딩/디코딩되는 텍스처 뷰 콤포넌트와 동일한 뷰 식별자로 재구성, 디코딩 또는 도출되지 않았다면, 코로케이팅된 깊이 블록이 이용가능하지 않다.
- 그렇지 않다면, 재구성된/디코딩된/도출된 깊이 뷰 콤포넌트가 인코딩/디코딩되는 텍스처 뷰 콤포넌트와 동일한 영역을 코로케이팅하고 커버하는 경우, 코로케이팅된 깊이 블록은 이용가능하다.
- 그렇지 않다면, 인코딩/디코딩되는 텍스처 블록이 재구성된/디코딩된/도출된 깊이 뷰 콤포넌트에서 깊이 블록과 중첩한다면, 코로케이팅된 깊이 블록은 이용가능하다. 다시 말해, 인코딩/디코딩되는 텍스처 블록이 재구성된/디코딩된/도출ㄹ된 깊이 뷰 콤포넌트에 의해 커버되는 픽처 영역 내에 있다면, 코로케이팅된 깊이 블록은 이용가능하다.
몇몇 실시예에서, 인코더 및/또는 디코더는 텍스처 뷰 콤포넌트 내 코로케이팅된 샘플 또는 블록의 가용성에 기초하여 깊이 뷰 콤포넌트 내 예측된 블록의 서브세트에 대해 텍스처 뷰 콤포넌트로부터 (또는 일반적으로 하나 이상의 텍스처 뷰 콤포넌트로부터) 깊이 뷰 콤포넌트로 (또는 일반적으로 하나 이상의 깊이 뷰 콤포넌트로) 콤포넌트 간 예측 신호 또는 예측 블록 또는 유사한 것을 형성할 수 있다. 이전 단락에서 서술된 것과 유사한 프로세스가 깊이 뷰 콤포넌트를 텍스처 뷰 콤포넌트와 교환하고 반대로 텍스처 뷰 콤포넌트를 깊이 뷰 콤포넌트와 교환하는 것에 의해 사용될 수 있다.
몇몇 실시예에서, 인코더 및/또는 디코더는 다음과 같이 코로케이팅된 깊이 샘플의 가용성에 기초하여 뷰 합성 예측 신호 또는 예측 블록 또는 유사한 것을 형성할 수 있다. 역방향 VSP가 사용되는 경우, 인코더 및/또는 디코더는 콤포넌트 간 예측을 위해 전술된 것과 유사하게 또는 동일하게 코딩/디코딩되고 있는 텍스처 블록을 위해 코로케이팅된 깊이 블록이 이용가능한지 판단할 수 있다. 코로케이팅된 깊이 블록이 이용가능한 경우, 인코더 및/또는 디코더는 뷰 합성 예측 신호 또는 예측 블록 또는 유사한 것을 형성하기 위하여 그것을 사용할 수 있다. 순방향 VSP가 사용되는 경우, 현재 텍스처 뷰 콤포넌트와 동일한 시점의 합성된 뷰 콤포넌트 내의 코로케이팅된 블록 내의 샘플의 개수가 사전정의된 또는 표시된 임계를 초과하는 워핑된 샘플의 개수 내지 몫을 포함하고/하거나 합성된 뷰 콤포넌트 내의 코로케이팅된 블록으로 워핑된 샘플의 평균 또는 누적 신뢰도가 사전정의된 또는 표시된 임계를 초과하면 뷰 합성 예측 신호 또는 예측 블록 또는 유사한 것은 이용가능하다고 간주될 수 있다. 그러한 임계들은 인코더에 의해 비트스트림에 표시될 수 있고 디코더에 의해 비트스트림으로부터 디코딩되어 합성된 뷰 콤포넌트 내의 블록의 가용성을 판단하기 위한 디코딩 프로세스에서 사용될 수 있다.
몇몇 실시예에서, 인코더 및/또는 디코더는 이전 단락에서 서술된 것과 유사하게 콤포넌트 간 예측 및/또는 뷰 합성 예측을 위한 코로케이팅된 샘플의 가용성을 판단할 수 있다. 다만, 인코더 및/또는 디코더는 이용불가능한 것으로 밝혀진 샘플에 대해 패딩(padding) 프로세스를 적용하고 그 후에 그 샘플을 이용가능한 것으로 취급할 수 있다. 패딩 프로세스는 이용불가능한 샘플 일부 또는 전부에 대해 샘플 값을 도출한다. 샘플 값은 가령 수평 패딩 프로세스(여기서, 이용불가능한 샘플은 수평 방향에서 가장 가까운 이용가능한 샘플의 값을 그것에 적용함으로써 이용가능하게 됨)를 우선 적용하고 이후에 수직 패딩 프로세스(여기서, 이용불가능한 샘플은 수직 방향에서 가장 가까운 이용가능한 샘플의 값을 그것에 적용함으로써 이용가능하게 됨)를 적용하여 도출될 수 있다. 임의의 다른 유형의 패딩 프로세스가 대안적으로 적용될 수 있다. 몇몇 실시예에서, 인코더는 패딩이 사용되는지 여부 및/또는 적용된 패딩 방법을 비트스트림 내에 표시하고 디코더는 적용된 패딩 방법의 하나 이상의 표시를 비트스트림으로부터 수신하여 디코딩하고 이에 따라 패딩 프로세스를 수행한다.
몇몇 실시예에서, 인코더 및/또는 디코더는 이전 단락에서 서술된 것과 유사하게 콤포넌트 간 예측 및/또는 뷰 합성 예측을 위한 코로케이팅된 샘플의 가용성을 판단할 수 있다. 다만, 인코더 및/또는 디코더는 이용불가능한 것으로 밝혀진 샘플에 대해 뷰 콤포넌트 중 둘 다 또는 어느 하나에 전역적(global) 또는 국부적(local) 보간 프로세스를 적용하고 그 후에 그 샘플을 이용가능한 것으로 취급할 수 있다. 보간 프로세스는 이용불가능한 샘플 일부 또는 전부에 대해 샘플 값을 도출한다.
몇몇 실시예에서, 인코더 및/또는 디코더는 깊이 뷰 콤포넌트가 텍스처 뷰 콤포넌트로써 정렬 또는 교정되지 않았다고 판단하고 뷰 콤포넌트 중 둘 다 또는 어느 하나에 정렬 또는 교정 프로세스를 적용할 수 있다. 이후에 인코더 및/또는 디코더는 코로케이팅된 샘플의 가용성을 판정할 수 있고 이용불가능한 샘플에 대해 전술한 바와 같이 패딩 또는 보간과 같은 동작을 수행하고 그 후에 그 샘플을 이용가능한 것으로 취급할 수 있다.
몇몇 실시예에서, 인코더 및/또는 디코더는 이전 단락에서 서술된 것과 유사하게 콤포넌트 간 예측 및/또는 뷰 합성 예측을 위한 코로케이팅된 샘플의 가용성을 판단할 수 있고 이용불가능한 것으로 밝혀진 샘플에 대해 정렬 또는 교정 프로세스가 적용될 수 있다. 만약 정렬 또는 교정 후에 샘플이 여전히 이용불가능하다면, 인코더 및/또는 디코더는 이용불가능한 샘플에 대해 전술한 바와 같이 패딩 또는 보간과 같은 동작을 수행하고 그 후에 그 샘플을 이용가능한 것으로 취급할 수 있다.
어떠한 프레임 패킹도 사용 중이지 않은 경우 깊이 향상된 멀티뷰 비디오의 인코딩 및 디코딩을 위해 많은 실시예가 위에서 서술되었다. 본 발명의 많은 실시예는 프레임 패킹이 적용되는 코딩 및 디코딩 시나리오에 역시 적용가능하다는 점이 이해되어야 한다. 상이한 유형의 프레임 패킹(가령, 둘 이상의 텍스처 뷰 콤포넌트를 단일 프레임으로 패킹하는 것 및/또는 둘 이상의 깊이 뷰 콤포넌트를 단일 프레임으로 패킹하는 것 및/또는 하나 이상의 텍스처 뷰 콤포넌트 및 하나 이상의 깊이 뷰 콤포넌트를 단일 프레임으로 패킹하는 것)이 적용될 수 있다. 인코더는 전술된 것과 같이 상이한 표시를 코딩하여 포함시키고, 가령 적절한 내포 SEI 메시지를 사용함으로써 또는 구성 프레임에 콤포넌트 유형(가령 텍스처 또는 깊이) 및/또는 뷰 식별자를 다른 수단(가령 텍스처 및 깊이 뷰의 속성을 표시하기 위해 사용되는 신택스 구조에 구성 프레임의 식별자를 포함시키는 것)에 의해 연관시킴으로써 그 표시가 적용되는 뷰 또는 뷰 콤포넌트를 추가적으로 표시할 수 있다. 내포 SEI 메시지는 가령 내포된 SEI 메시지가 텍스처 뷰 또는 깊이 뷰 또는 둘 다에 적용되는지 여부를 표시하고/하거나 어느 뷰(가령 뷰 식별자 또는 뷰 순서 인덱스)가 내포된 SEI 메시지인지 표시하고/하거나 내포된 SEI 메시지가 어느 구성 프레임에 적용되는지 표시할 수 있다.
몇몇 실시예에서, 디코더 측(가령 디코더 및/또는 후처리기(post-processor) 및또는 렌더러(renderer))은 디코딩된 텍스처 및 깊이 뷰 콤포넌트에 기초하여 뷰 합성을 수행할 수 있다. 디코더 측은 가령 SEI 메시지로부터 또는 비디오 유용성 정보로부터 또는 다른 신택스 구조로부터 후처리로서 행해질 수 있는 뷰 합성에 관련된 파라미터 및 파라미터 값을 획득할 수 있다. 이 파라미터는 동일하지 않은 개수의 텍스처 및 깊이 뷰가 있을 수 있고/있거나, 텍스처 뷰 중 몇몇이 코로케이팅된 깊이 뷰를 갖지 않을 수 있고/있거나, 깊이 뷰 중 몇몇이 코로케이팅된 텍스처 뷰를 갖지 않을 수 있고/있거나, 코로케이팅된 텍스처 및 깊이 뷰가 상이한 공간적 영역을 커버할 수 있는 경우를 다루는 그러한 것을 특히 포함할 수 있다. 디코더 측은 어느 시점이 합성되고 어느 파라미터가 뷰 합성에서 사용되는지 제어하는 데에서 이 파라미터를 파싱하여 사용할 수 있다. 예를 들어, 디코더 측은 디코딩 후에 후처리로서 합성될 것이 허용된 시점의 리스트 또는 시점의 범위를 디코딩할 수 있다. 나아가, 디코더 측은 소정의 카메라 이격 또는 디스패리티 특성(가령 소정의 최대의 양의 디스패리티 및 최소의 음의 디스패리티) 또는 유사한 것을 가령 사용중인 디스플레이를 위한 사전정의된 값 또는 사용자 선택가능한(user-selectable) 값으로서 사용하도록 구성될 수 있다. 그리고 디코더 측은 허용된 시점의 리스트 EH는 범위 및 원하는 카메라 이격 또는 디스패리티 특성 또는 유사한 것에 기반하여 합성될 적절한 시점을 선택할 수 있다. 몇몇 실시예에서, 디코더 측은 또한 표시된 합성된 시점에 관련된 왜곡 또는 다른 비용 메트릭의 하나 이상의 추정 또는 값을 비트스트림으로부터 디코딩하고 이에 따라 왜곡 또는 다른 비용 메트릭의 측면에서 유리하게 그 합성된 시점(들)을 선택할 수 있다.
위에서, 몇몇 실시예가 특정한 유형의 파라미터 세트와 관련하여 서술되었다. 그러나, 실시예들은 비트스트림 내의 임의의 유형의 파라미터 세트 또는 다른 신택스 구조로써 실현될 수 있다는 점이 이해될 필요가 있다.
위에서, 몇몇 실시예가 표시, 신택스 요소 및/또는 신택스 구조를 비트스트림 내에 또는 코딩된 비디오 시퀀스 내에 인코딩하는 것 및/또는 표시, 신택스 요소 및/또는 신택스 구조를 비트스트림으로부터 또는 코딩된 비디오 시퀀스로부터 디코딩하는 것과 관련하여 서술되었다. 그러나, 실시예들은 코딩된 슬라이스와 같은 비디오 코딩 계층 데이터를 포함하는 코딩된 비디오 시퀀스 또는 비트스트림으로부터 외부에 있는 데이터 단위 또는 신택스 구조 내에 표시, 신택스 요소 및/또는 신택스 구조를 인코딩하고/하거나 코딩된 슬라이스와 같은 비디오 코딩 계층 데이터를 포함하는 코딩된 비디오 시퀀스 또는 비트스트림으로부터 외부에 있는 데이터 단위 또는 신택스 구조로부터 표시, 신택스 요소 및/또는 신택스 구조를 디코딩하는 경우에 실현될 수 있다는 점이 이해될 필요가 있다. 예를 들어, 몇몇 실시예에서, 임의의 위 실시예에 따른 표시는 비디오 파라미터 세트 또는 시퀀스 파라미터 세트 내에 코딩될 수 있는데, 이는 가령 SDP와 같은 제어 프로토콜을 사용하여 코딩된 비디오 시퀀스로부터 외부에서 전달된다. 동일한 예를 계속하면, 수신기는 가령 제어 프로토콜을 사용하여 비디오 파라미터 세트 또는 시퀀스 파라미터 세트를 획득하고 디코딩을 위해 비디오 파라미터 세트 또는 시퀀스 파라미터 세트를 제공할 수 있다.
위에서, 몇몇 실시예가 특정한 유형의 콤포넌트 픽처, 곧 깊이 뷰 콤포넌트 및 텍스처 뷰 콤포넌트와 관련하여 서술되었다. 그러나, 실시예들은 텍스처 및 깊이 뷰 콤포넌트에 대신하여 또는 추가하여 비트스트림 내에 존재할 수 있는 임의의 유형의 콤포넌트 픽처로써 실현될 수 있다는 점이 이해될 필요가 있다. 예를 들어, 몇몇 실시예에서의 콤포넌트 픽처는 적외선 뷰 콤포넌트 또는 인간이 인식가능한(human-perceivable) 이미지를 표현하는 데 사용되는 종래의 무선 주파수 스펙트럼(radio frequency spectrum) 외부에 속하는 어떤 다른 이미지 표현을 포함할 수 있다.
위에서, 몇몇 실시예가 콤포넌트 간 종속성을 가지는 코딩/디코딩 방법 또는 도구(가령 깊이 기반 텍스처 코딩/디코딩 또는 예측 도구)와 관련하여 서술되었다. 그러나, 실시예들은 서술된 코딩/디코딩 방법에 특정적이지 않을 수 있고 임의의 유사한 코딩/디코딩 방법 또는 도구로써 실현될 수 있다는 점이 이해될 필요가 있다.
위에서, 몇몇 실시예가 비트스트림의 신택스의 도움으로 서술되었다. 그러나, 대응하는 구조 및/또는 컴퓨터 프로그램이 비트스트림을 생성하기 위해 인코더에 있고/있거나 비트스트림을 디코딩하기 위해 디코더에 있다는 점이 이해될 필요가 있다. 마찬가지로, 예시적 실시예가 인코더를 참조하여 서술되었는데, 결과적인 비트스트림 및 디코더는 그것들 내에 대응하는 요소를 가진다는 점이 이해될 필요가 있다. 마찬가지로, 예시적 실시예가 디코더를 참조하여 서술되었는데, 인코더는 디코더에 의해 디코딩될 비트스트림을 생성하기 위한 구조 및/또는 컴퓨터 프로그램을 가진다는 점이 이해될 필요가 있다.
위 예들이 전자 디바이스 내의 코덱 내에서 동작하는 본 발명의 실시예를 서술하나, 아래에 기술되는 본 발명은 임의의 비디오 코덱의 일부로 구현될 수 있다는 점이 인식될 것이다. 그러므로, 예를 들어, 본 발명의 실시예는 고정 또는 유선 통신 경로 상에서 비디오 코딩을 구현할 수 있는 비디오 코덱 내에 구현될 수 있다.
그러므로, 사용자 장비는 본 발명의 위 실시예에 서술된 것과 같은 비디오 코덱을 포함할 수 있다. 사용자 장비라는 용어는 임의의 적합한 유형의 무선 사용자 장비(가령 이동 전화, 휴대용 데이터 처리 디바이스 또는 휴대용 웹 브라우저)를 커버하도록 의도된다.
나아가 공중 육상 이동 네트워크(Public Land Mobile Network: PLMN)의 요소는 전술된 비디오 코덱을 또한 포함할 수 있다.
일반적으로, 본 발명의 다양한 실시예는 하드웨어 또는 특수 목적 회로, 소프트웨어, 로직 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 몇몇 양상은 하드웨어로 구현될 수 있는 반면, 다른 양상은 제어기, 마이크로프로세서 또는 다른 컴퓨팅 디바이스에 의해 실행될 수 있는 소프트웨어 또는 펌웨어로 구현될 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 본 발명의 다양한 양상이 블록도, 흐름도 또는 어떤 다른 그림 표현을 사용하여 예시되고 서술될 수 있으나, 본 명세서에서 서술된 이들 블록, 장치, 시스템, 기법 또는 방법은 비한정적인 예로서 하드웨어, 소프트웨어, 펌웨어, 특수 목적 회로 또는 로직, 범용 하드웨어 또는 제어기 또는 다른 컴퓨팅 디바이스 또는 이들의 어떤 조합으로 구현될 수 있다는 점이 잘 이해된다.
이 발명의 실시예는 모바일 디바이스(mobile device)의 데이터 프로세서에 의해(가령 프로세서 엔티티(processor entity)에서) 또는 하드웨어에 의해 또는 소프트웨어 및 하드웨어의 조합에 의해 실행가능한 컴퓨터 소프트웨어에 의해 구현될 수 있다. 나아가 이와 관련하여 도면에서와 같은 로직 흐름의 임의의 블록은 프로그램 단계 또는 상호연결된 로직 회로, 블록 및 함수 또는 프로그램 단계 및 로직 회로, 블록 및 함수의 조합을 나타낼 수 있다는 점에 유의하여야 한다. 소프트웨어는 메모리 칩 또는 프로세서 내에 구현된 메모리 블록과 같은 물리적 매체, 하드 디스크 또는 플로피 디스크와 같은 자기(magnetic) 매체 및 가령 DVD 및 그 데이터 이형인 CD와 같은 광학(optical) 매체 상에 저장될 수 있다.
본 발명의 다양한 실시예가 메모리 내에 상주하고 관련 장치로 하여금 본 발명을 수행하게 하는 컴퓨터 프로그램 코드의 도움으로 구현될 수 있다. 예를 들어, 단말 디바이스(terminal device)는 데이터를 취급, 수신 및 전송하기 위한 회로 및 전자장치(electronics), 메모리 내의 컴퓨터 프로그램 코드 및 컴퓨터 프로그램 코드를 실행하는 경우 단말 디바이스로 하여금 실시예의 특징을 수행하도록 하는 프로세서를 포함할 수 있다. 더 나아가, 네트워크 디바이스는 데이터를 취급, 수신 및 전송하기 위한 회로 및 전자장치, 메모리 내의 컴퓨터 프로그램 코드 및 컴퓨터 프로그램 코드를 실행하는 경우 네트워크 디바이스로 하여금 실시예의 특징을 수행하도록 하는 프로세서를 포함할 수 있다.
메모리는 국부적 기술 환경(local technical environment)에 적합한 임의의 유형일 수 있고 가령 반도체 기반 메모리 디바이스, 자기 메모리 디바이스 및 시스템, 광학 메모리 디바이스 및 시스템, 고정식(fixed) 메모리 및 착탈가능(removable) 메모리와 같은 임의의 적합한 데이터 저장 기술을 사용하여 구현될 수 있다. 데이터 프로세서는 국부적 기술 환경에 적합한 임의의 유형일 수 있고, 비한정적인 예로서 하나 이상의 범용 컴퓨터, 특수 목적 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(Digital Signal Processor: DSP) 및 멀티코어 프로세서 아키텍처(multi-core processor architecture)에 기반한 프로세서를 포함할 수 있다.
본 발명의 실시예는 집적 회로 모듈과 같은 다양한 콤포넌트 내에서 행해질 수 있다. 집적 회로의 설계는 대체로 고도로 자동화된 프로세스이다. 로직 수준 설계를 에칭되어 반도체 기판 상에 형성될 준비가 된 반도체 회로 설계로 전환하기 위한 복잡하고 강력한 소프트웨어 도구가 이용가능하다.
캘리포니아 마운틴 뷰의 시놉시스 사(Synopsys Inc.) 및 캘리포니아 산 호세의 케이던스 디자인(Cadence Design)에 의해 제공되는 것과 같은 프로그램은 사전저장된 설계 모듈의 라이브러리뿐만 아니라 확립된 설계 규칙을 이용하여 도체를 자동적으로 라우팅하고 콤포넌트를 반도체 칩 상에 배치한다. 반도체 회로에 대한 설계가 완료되면, 그에 따른 설계는 표준화된 전자 포맷(가령, Opus, GDSII 등)으로 제조를 위해 반도체 제조 시설 또는 "팹"(fab)에 전송될 수 있다.
앞서 언급한 설명은 예시적이며 비한정적인 예로 이 발명의 예시적인 실시예의 충실하고 유용한 설명을 제공하였다. 그러나, 첨부된 도면 및 부가된 청구항과 함께 읽는 경우, 앞서 언급한 설명에 비추어 볼 때 다양한 수정 및 적응이 통상의 기술자에게 분명해질 수 있다. 다만, 이 발명의 교시의 그러한 또 유사한 수정 모두가 이 발명의 범주 내에 여전히 속할 것이다.
이하에서 몇몇 예가 제공될 것이다.
제1 예에 따르면,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 단계와,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 단계와,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 단계를 포함하는 방법이 제공된다.
몇몇 예에서, 위 방법은
도출된 제1 또는 제2 예측 블록에 기초하여 텍스처 블록을 인코딩하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로 텍스처 블록 및 깊이 블록을 인코딩하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 포함하는 텍스처 뷰 콤포넌트와 동일한 샘플링 또는 출력 시간을 갖는 깊이 뷰 콤포넌트의 존재
중 하나 이상에 기초하여 제1 또는 제2 예측 블록의 도출을 위한 예측 방법을 결정하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 포함하는 텍스처 뷰 콤포넌트와 동일한 샘플링 또는 출력 시간을 갖는 깊이 뷰 콤포넌트의 존재,
텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
텍스처 샘플링 그리드의 위치 및 깊이 샘플링 그리드의 위치,
텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 제1 공간 영역 및 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 제2 공간 영역,
제2 공간 영역 내에서 상기 텍스처 블록에 의해 커버되는 위치 및 영역
중 하나 이상에 기초하여 코로케이팅된 깊이 블록의 가용성을 판정하는 단계를 더 포함한다.
위 방법의 몇몇 예에서, 텍스처 블록은 하나 이상의 샘플을 포함하고 깊이 블록은 하나 이상의 샘플을 포함한다.
위 방법의 몇몇 예에서, 위 조사하는 단계는
깊이 블록 내의 코로케이팅된 샘플이 텍스처 블록의 하나 이상의 샘플 각각에 대하여 이용가능한지 조사하는 단계를 포함한다.
몇몇 예에서, 위 방법은
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 샘플을 패딩 또는 보간하고 깊이 블록을 이용가능한 것으로 취급하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 블록을 이용불가능한 것으로 취급하는 단계를 더 포함한다.
위 방법의 몇몇 예에서, 제2 예측 블록의 도출은
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 뷰 합성에 기초하여 코로케이팅된 깊이 블록을 도출하는 것을 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하는 단계와,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 단계와,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 단계를 더 포함한다.
위 방법의 몇몇 예에서, 어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 단계는
하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 단계와,
어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 단계 중 하나 이상을 포함한다.
위 방법의 몇몇 예에서, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 단계는
입력 깊이 뷰를 인코딩하기 위한 제1 비용 및 인코딩된 입력 깊이 뷰를 사용하여 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제1 왜곡을 도출하는 단계,
인코딩된 입력 깊이 뷰 없이 제2 비용을 도출하고 인코딩된 입력 깊이 뷰를 사용하지 않고 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제2 왜곡을 도출하는 단계,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하는 단계를 포함한다.
몇몇 예에서, 위 방법은
깊이 블록에 기초하여 깊이 블록을 포함하는 깊이 뷰 및 텍스처 블록을 포함하는 텍스처 뷰를 인코딩하기 위한 제1 왜곡 및 제1 비용을 도출하는 단계,
제2 예측 블록으로부터 예측되는 텍스처 블록을 포함하는 텍스처 뷰를 인코딩하기 위한 제2 왜곡 및 제2 비용을 도출하는 단계,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 계층관계를 결정하는 단계와,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 계층관계의 하나 이상의 표시를 인코딩하는 단계를 더 포함한다.
제2 예에 따르면,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 단계와,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 단계와,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 단계를 포함하는 방법이 제공된다.
몇몇 예에서, 위 방법은
제1 또는 제2 예측 블록에 기초하여 텍스처 블록을 디코딩하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로부터 텍스처 블록 및 깊이 블록을 디코딩하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록에 대한 표시된 예측 방법,
텍스처 블록을 포함하는 텍스처 뷰 콤포넌트와 동일한 샘플링 또는 출력 시간을 갖는 깊이 뷰 콤포넌트의 존재
중 하나 이상에 기초하여 예측 방법을 결정하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 포함하는 텍스처 뷰 콤포넌트와 동일한 샘플링 또는 출력 시간을 갖는 깊이 뷰 콤포넌트의 존재,
텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
텍스처 샘플링 그리드의 위치 및 깊이 샘플링 그리드의 위치,
텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 제1 공간 영역 및 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 제2 공간 영역,
제2 공간 영역 내에서 상기 텍스처 블록에 의해 커버되는 위치 및 영역
중 하나 이상에 기초하여 코로케이팅된 깊이 블록의 가용성을 판정하는 단계를 더 포함한다.
위 방법의 몇몇 예에서, 텍스처 블록은 하나 이상의 샘플을 포함하고 깊이 블록은 하나 이상의 샘플을 포함한다.
위 방법의 몇몇 예에서, 위 조사하는 단계는
깊이 블록 내의 코로케이팅된 샘플이 텍스처 블록의 하나 이상의 샘플 각각에 대하여 이용가능한지 조사하는 단계를 포함한다.
몇몇 예에서, 위 방법은
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 샘플을 패딩 또는 보간하고 깊이 블록을 이용가능한 것으로 취급하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 블록을 이용불가능한 것으로 취급하는 단계를 더 포함한다.
위 방법의 몇몇 예에서, 제2 예측 블록의 도출은
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 뷰 합성에 기초하여 코로케이팅된 깊이 블록을 도출하는 것을 포함한다.
몇몇 예에서, 위 방법은
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 비트스트림으로 수신하는 단계와,
하나 이상의 표시를 사용하여 어느 입력 텍스처 뷰 및 입력 깊이 뷰가 비트스트림으로 인코딩되었는지 판정하는 단계를 더 포함한다.
몇몇 예에서, 위 방법은 코로케이팅된 깊이 블록의 가용성의 표시를 수신하는 단계를 더 포함한다.
위 방법의 몇몇 예에서, 제2 예측 블록의 도출은
인코딩된 깊이 블록,
인코딩된 텍스처 블록,
재구성된 깊이 블록 또는
재구성된 텍스처 블록
중 하나에 기초하여 깊이 블록을 도출하는 것과,
도출된 깊이 블록을 예측을 위한 참조로서 사용하는 것을 포함한다.
몇몇 예에서, 위 방법은 깊이 블록의 도출에서 사용되는 블록의 표시를 수신하는 단계를 더 포함한다.
제3 예에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하고,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하며,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하게 하도록 구성되는, 장치가 제공된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
도출된 제1 또는 제2 예측 블록에 기초하여 텍스처 블록을 인코딩하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로 텍스처 블록 및 깊이 블록을 인코딩하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서
중 하나 이상에 기초하여 제1 또는 제2 예측 블록의 도출을 위한 예측 방법을 결정하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
텍스처 샘플링 그리드의 위치 및 깊이 샘플링 그리드의 위치,
텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 공간 영역 및 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 공간 영역
중 하나 이상에 기초하여 코로케이팅된 깊이 블록의 가용성을 판정하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 텍스처 블록은 하나 이상의 샘플을 포함하고 깊이 블록은 하나 이상의 샘플을 포함한다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
깊이 블록 내의 코로케이팅된 샘플이 텍스처 블록의 하나 이상의 샘플 각각에 대하여 이용가능한지 조사하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 샘플을 패딩 또는 보간하고 깊이 블록을 이용가능한 것으로 취급하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 블록을 이용불가능한 것으로 취급하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 뷰 합성에 기초하여 코로케이팅된 깊이 블록을 도출하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하고,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하며,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
깊이 블록에 기초하여 깊이 블록을 포함하는 깊이 뷰 및 텍스처 블록을 포함하는 텍스처 뷰를 인코딩하기 위한 제1 왜곡 및 제1 비용을 도출하고,
제2 예측 블록으로부터 예측되는 텍스처 블록을 포함하는 텍스처 뷰를 인코딩하기 위한 제2 왜곡 및 제2 비용을 도출하며,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 계층관계를 결정하고,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 계층관계의 하나 이상의 표시를 인코딩하게 하는 코드가 적어도 하나의 메모리에 저장된다.
제4 예에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하고,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하며,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하게 하도록 구성되는, 장치가 제공된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
제1 또는 제2 예측 블록에 기초하여 텍스처 블록을 디코딩하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로부터 텍스처 블록 및 깊이 블록을 디코딩하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록에 대한 표시된 예측 방법
중 하나 이상에 기초하여 예측 방법을 결정하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
텍스처 샘플링 그리드의 위치 및 깊이 샘플링 그리드의 위치,
텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 공간 영역 및 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 공간 영역
중 하나 이상에 기초하여 코로케이팅된 깊이 블록의 가용성을 판정하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 텍스처 블록은 하나 이상의 샘플을 포함하고 깊이 블록은 하나 이상의 샘플을 포함한다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
깊이 블록 내의 코로케이팅된 샘플이 텍스처 블록의 하나 이상의 샘플 각각에 대하여 이용가능한지 조사하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 샘플을 패딩 또는 보간하고 깊이 블록을 이용가능한 것으로 취급하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 블록을 이용불가능한 것으로 취급하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 뷰 합성에 기초하여 코로케이팅된 깊이 블록을 도출하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 비트스트림으로 수신하는 단계와,
하나 이상의 표시를 사용하여 어느 입력 텍스처 뷰 및 입력 깊이 뷰가 비트스트림으로 인코딩되었는지 판정하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
코로케이팅된 깊이 블록의 가용성의 표시를 수신하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
인코딩된 깊이 블록,
인코딩된 텍스처 블록,
재구성된 깊이 블록 또는
재구성된 텍스처 블록
중 하나에 기초하여 깊이 블록을 도출하고,
도출된 깊이 블록을 예측을 위한 참조로서 사용하게 하는 코드가 적어도 하나의 메모리에 저장된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 깊이 블록의 도출에서 사용되는 블록의 표시를 수신하게 하는 코드가 적어도 하나의 메모리에 저장된다.
제5 예에 따르면,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 수단과,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 수단과,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 수단을 포함하는 장치가 제공된다.
몇몇 예에서, 위 장치는
도출된 제1 또는 제2 예측 블록에 기초하여 텍스처 블록을 인코딩하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로 텍스처 블록 및 깊이 블록을 인코딩하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서
중 하나 이상에 기초하여 제1 또는 제2 예측 블록의 도출을 위한 예측 방법을 결정하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
텍스처 샘플링 그리드의 위치 및 깊이 샘플링 그리드의 위치,
텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 공간 영역 및 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 공간 영역
중 하나 이상에 기초하여 코로케이팅된 깊이 블록의 가용성을 판정하는 수단을 더 포함한다.
위 장치의 몇몇 예에서, 텍스처 블록은 하나 이상의 샘플을 포함하고 깊이 블록은 하나 이상의 샘플을 포함한다.
위 장치의 몇몇 예에서, 위 조사하는 수단은
깊이 블록 내의 코로케이팅된 샘플이 텍스처 블록의 하나 이상의 샘플 각각에 대하여 이용가능한지 조사하는 수단을 포함한다.
몇몇 예에서, 위 장치는
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 샘플을 패딩 또는 보간하고 깊이 블록을 이용가능한 것으로 취급하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 블록을 이용불가능한 것으로 취급하는 수단을 더 포함한다.
위 장치의 몇몇 예에서, 제2 예측 블록을 도출하는 수단은
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 뷰 합성에 기초하여 코로케이팅된 깊이 블록을 도출하는 것을 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하는 수단과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 수단과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
깊이 블록에 기초하여 깊이 블록을 포함하는 깊이 뷰 및 텍스처 블록을 포함하는 텍스처 뷰를 인코딩하기 위한 제1 왜곡 및 제1 비용을 도출하는 수단,
제2 예측 블록으로부터 예측되는 텍스처 블록을 포함하는 텍스처 뷰를 인코딩하기 위한 제2 왜곡 및 제2 비용을 도출하는 수단,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 계층관계를 결정하는 수단과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 계층관계의 하나 이상의 표시를 인코딩하는 수단을 더 포함한다.
제6 예에 따르면,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 수단과,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 수단과,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 수단을 포함하는 장치가 제공된다.
몇몇 예에서, 위 장치는
제1 또는 제2 예측 블록에 기초하여 텍스처 블록을 디코딩하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로부터 텍스처 블록 및 깊이 블록을 디코딩하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록에 대한 표시된 예측 방법
중 하나 이상에 기초하여 예측 방법을 결정하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
텍스처 샘플링 그리드의 위치 및 깊이 샘플링 그리드의 위치,
텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 공간 영역 및 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 공간 영역
중 하나 이상에 기초하여 코로케이팅된 깊이 블록의 가용성을 판정하는 수단을 더 포함한다.
위 장치의 몇몇 예에서, 텍스처 블록은 하나 이상의 샘플을 포함하고 깊이 블록은 하나 이상의 샘플을 포함한다.
위 장치의 몇몇 예에서, 위 조사하는 수단은
깊이 블록 내의 코로케이팅된 샘플이 텍스처 블록의 하나 이상의 샘플 각각에 대하여 이용가능한지 조사하는 수단을 포함한다.
몇몇 예에서, 위 장치는
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 샘플을 패딩 또는 보간하고 깊이 블록을 이용가능한 것으로 취급하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 블록을 이용불가능한 것으로 취급하는 수단을 더 포함한다.
위 장치의 몇몇 예에서, 제2 예측 블록을 도출하는 수단은
코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 뷰 합성에 기초하여 코로케이팅된 깊이 블록을 도출하는 수단을 포함한다.
몇몇 예에서, 위 장치는
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 비트스트림으로 수신하는 수단과,
하나 이상의 표시를 사용하여 어느 입력 텍스처 뷰 및 입력 깊이 뷰가 비트스트림으로 인코딩되었는지 판정하는 수단을 더 포함한다.
몇몇 예에서, 위 장치는 코로케이팅된 깊이 블록의 가용성의 표시를 수신하는 수단을 더 포함한다.
위 장치의 몇몇 예에서, 제2 예측 블록을 도출하는 수단은
인코딩된 깊이 블록,
인코딩된 텍스처 블록,
재구성된 깊이 블록 또는
재구성된 텍스처 블록
중 하나에 기초하여 깊이 블록을 도출하고,
도출된 깊이 블록을 예측을 위한 참조로서 사용하는 수단을 포함한다.
몇몇 예에서, 위 장치는 깊이 블록의 도출에서 사용되는 블록의 표시를 수신하는 수단을 더 포함한다.
제7 예에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 것과,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 것과,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공된다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
도출된 제1 또는 제2 예측 블록에 기초하여 텍스처 블록을 인코딩하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로 텍스처 블록 및 깊이 블록을 인코딩하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서
중 하나 이상에 기초하여 제1 또는 제2 예측 블록의 도출을 위한 예측 방법을 결정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다..
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
텍스처 샘플링 그리드의 위치 및 깊이 샘플링 그리드의 위치,
텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 공간 영역 및 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 공간 영역
중 하나 이상에 기초하여 코로케이팅된 깊이 블록의 가용성을 판정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
위 컴퓨터 프로그램 제품의 몇몇 예에서, 텍스처 블록은 하나 이상의 샘플을 포함하고 깊이 블록은 하나 이상의 샘플을 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
깊이 블록 내의 코로케이팅된 샘플이 텍스처 블록의 하나 이상의 샘플 각각에 대하여 이용가능한지 조사하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 샘플을 패딩 또는 보간하고 깊이 블록을 이용가능한 것으로 취급하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 블록을 이용불가능한 것으로 취급하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 뷰 합성에 기초하여 코로케이팅된 깊이 블록을 도출하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하고,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하며,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
깊이 블록에 기초하여 깊이 블록을 포함하는 깊이 뷰 및 텍스처 블록을 포함하는 텍스처 뷰를 인코딩하기 위한 제1 왜곡 및 제1 비용을 도출하고,
제2 예측 블록으로부터 예측되는 텍스처 블록을 포함하는 텍스처 뷰를 인코딩하기 위한 제2 왜곡 및 제2 비용을 도출하며,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 계층관계를 결정하고,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 계층관계의 하나 이상의 표시를 인코딩하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
제8 예에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 것과,
코로케이팅된 깊이 블록의 가용성에 기초하여 텍스처 블록에 대한 예측 방법을 결정하는 것과,
코로케이팅된 깊이 블록이 이용가능한 경우 코로케이팅된 깊이 블록에 기초하여 텍스처 블록에 대한 제1 예측 블록을 도출하고, 그렇지 않으면 코로케이팅된 깊이 블록을 사용하지 않고 텍스처 블록에 대한 제2 예측 블록을 도출하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공된다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
제1 또는 제2 예측 블록에 기초하여 텍스처 블록을 디코딩하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로부터 텍스처 블록 및 깊이 블록을 디코딩하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록에 대한 표시된 예측 방법
중 하나 이상에 기초하여 예측 방법을 결정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰,
하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
텍스처 샘플링 그리드의 위치 및 깊이 샘플링 그리드의 위치,
텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 공간 영역 및 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 공간 영역
중 하나 이상에 기초하여 코로케이팅된 깊이 블록의 가용성을 판정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
위 컴퓨터 프로그램 제품의 몇몇 예에서, 텍스처 블록은 하나 이상의 샘플을 포함하고 깊이 블록은 하나 이상의 샘플을 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
깊이 블록 내의 코로케이팅된 샘플이 텍스처 블록의 하나 이상의 샘플 각각에 대하여 이용가능한지 조사하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 샘플을 패딩 또는 보간하고 깊이 블록을 이용가능한 것으로 취급하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 깊이 블록을 이용불가능한 것으로 취급하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 샘플이 이용가능하지 않은 것에 응답하여, 뷰 합성에 기초하여 코로케이팅된 깊이 블록을 도출하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 비트스트림으로 수신하는 단계와,
하나 이상의 표시를 사용하여 어느 입력 텍스처 뷰 및 입력 깊이 뷰가 비트스트림으로 인코딩되었는지 판정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 코로케이팅된 깊이 블록의 가용성의 표시를 수신하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
인코딩된 깊이 블록,
인코딩된 텍스처 블록,
재구성된 깊이 블록 또는
재구성된 텍스처 블록
중 하나에 기초하여 깊이 블록을 도출하고,
도출된 깊이 블록을 예측을 위한 참조로서 사용하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금, 깊이 블록의 도출에서 사용되는 블록의 표시를 수신하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
제9 예에 따르면,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 단계와,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 단계와,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 단계와,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 단계를 포함하되,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 상기 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 방법이 제공된다.
위 방법의 몇몇 예에서, 동일한 시점을 나타내는 둘 이상의 인코딩된 깊이 뷰는
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰는 제1 방향을 향한 또는 제1 시점으로의 뷰 합성을 위해 의도되고 둘 이상의 코딩된 깊이 뷰 중 제2 깊이 뷰는 제2 방향을 향한 또는 제2 시점으로의 뷰 합성을 위해 의도된다는 점 - 제1 방향은 제2 방향과 상이하고 제1 시점은 제2 시점과 상이함 - 과,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰는 제1 디스플레이 구성 또는 시야 상황(display arrangement or viewing situation)을 위해 의도되고 둘 이상의 인코딩된 깊이 뷰 중 제2 깊이 뷰는 제2 디스플레이 구성 또는 시야 상황을 위해 의도된다는 점 - 제1 디스플레이 구성 또는 시야 상황은 제2 디스플레이 구성 또는 시야 상황과 상이함 -
중 하나 이상에 의해 또한 특징지어진다.
몇몇 예에서, 위 방법은
비트스트림에서 사용되는 예측 메커니즘이 제1 깊이 맵 유형 및/또는 제2 깊이 맵 유형의 사용을 요구함,
다른 깊이 맵 유형 대신 제1 깊이 맵 유형 및/또는 제2 깊이 맵 유형이 사용되는 경우 비트스트림에서 사용되는 예측 메커니즘이 더 적은 계산을 초래함
중 하나 이상에 기초하여 제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 것이고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 것이라고 결정하는 단계를 더 포함한다.
제10 예에 따르면,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 단계와,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 단계 - 위 결정하는 단계는, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 단계와, 비트스트림에 기초하여 어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 단계 중 하나 이상을 포함함 - 와,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 단계와,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 단계를 포함하는 방법이 제공된다.
위 방법의 몇몇 예에서, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 단계는
입력 깊이 뷰를 인코딩하기 위한 제1 비용 및 인코딩된 입력 깊이 뷰를 사용하여 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제1 왜곡을 도출하는 단계,
인코딩된 입력 깊이 뷰 없이 제2 비용을 도출하고 인코딩된 입력 깊이 뷰를 사용하지 않고 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제2 왜곡을 도출하는 단계,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하는 단계를 포함한다.
제11 예에 따르면,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 수신하는 단계와,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되었는지 판정하기 위하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 디코딩하는 단계와,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰를 비트스트림으로부터 디코딩하는 단계를 포함하되,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 방법이 제공된다.
위 방법의 몇몇 예에서, 동일한 시점을 나타내는 둘 이상의 인코딩된 깊이 뷰는
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰를 제1 방향을 향한 또는 제1 시점으로의 뷰 합성을 위해 사용하고 둘 이상의 코딩된 깊이 뷰 중 제2 깊이 뷰를 제2 방향을 향한 또는 제2 시점으로의 뷰 합성을 위해 사용함 - 제1 방향은 제2 방향과 상이하고 제1 시점은 제2 시점과 상이함 - 과,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰를 제1 디스플레이 구성 또는 시야 상황을 위해 사용하고 둘 이상의 인코딩된 깊이 뷰 중 제2 깊이 뷰를 제2 디스플레이 구성 또는 시야 상황을 위해 사용함 - 제1 디스플레이 구성 또는 시야 상황은 제2 디스플레이 구성 또는 시야 상황과 상이함 -
중 하나 이상에 의해 또한 특징지어진다.
제12 예에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하고,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하며,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하고,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하게 하도록 구성되고,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 장치가 제공된다.
위 장치의 몇몇 예에서, 동일한 시점을 나타내는 둘 이상의 인코딩된 깊이 뷰는
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰는 제1 방향을 향한 또는 제1 시점으로의 뷰 합성을 위해 의도되고 둘 이상의 코딩된 깊이 뷰 중 제2 깊이 뷰는 제2 방향을 향한 또는 제2 시점으로의 뷰 합성을 위해 의도된다는 점 - 제1 방향은 제2 방향과 상이하고 제1 시점은 제2 시점과 상이함 - 과,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰는 제1 디스플레이 구성 또는 시야 상황을 위해 의도되고 둘 이상의 인코딩된 깊이 뷰 중 제2 깊이 뷰는 제2 디스플레이 구성 또는 시야 상황을 위해 의도된다는 점 - 제1 디스플레이 구성 또는 시야 상황은 제2 디스플레이 구성 또는 시야 상황과 상이함 -
중 하나 이상에 의해 또한 특징지어진다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
비트스트림에서 사용되는 예측 메커니즘이 제1 깊이 맵 유형 및/또는 제2 깊이 맵 유형의 사용을 요구함,
다른 깊이 맵 유형 대신 제1 깊이 맵 유형 및/또는 제2 깊이 맵 유형이 사용되는 경우 비트스트림에서 사용되는 예측 메커니즘이 더 적은 계산을 초래함
중 하나 이상에 기초하여 제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 것이고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 것이라고 결정하게 하는 코드가 적어도 하나의 메모리에 저장된다.
제13 예에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하고,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정 - 위 결정은, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 것과, 비트스트림에 기초하여 어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 것 중 하나 이상을 포함함 - 하며,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하고,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하게 하도록 구성되는, 장치가 제공된다.
위 장치의 몇몇 예에서, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 것은 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
입력 깊이 뷰를 인코딩하기 위한 제1 비용 및 인코딩된 입력 깊이 뷰를 사용하여 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제1 왜곡을 도출하는 것,
인코딩된 입력 깊이 뷰 없이 제2 비용을 도출하고 인코딩된 입력 깊이 뷰를 사용하지 않고 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제2 왜곡을 도출하는 것,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하는 것 중 하나 이상을 수행하게 하는 코드를 포함한다.
제14 예에 따르면,
컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 수신하고,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되었는지 판정하기 위하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 디코딩하며,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰를 비트스트림으로부터 디코딩하게 하도록 구성되고,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 장치가 제공된다.
위 장치의 몇몇 예에서, 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 장치로 하여금,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰를 제1 방향을 향한 또는 제1 시점으로의 뷰 합성을 위해 사용하고 둘 이상의 코딩된 깊이 뷰 중 제2 깊이 뷰를 제2 방향을 향한 또는 제2 시점으로의 뷰 합성을 위해 사용하는 것 - 제1 방향은 제2 방향과 상이하고 제1 시점은 제2 시점과 상이함 - ,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰를 제1 디스플레이 구성 또는 시야 상황을 위해 사용하고 둘 이상의 인코딩된 깊이 뷰 중 제2 깊이 뷰를 제2 디스플레이 구성 또는 시야 상황을 위해 사용하게 것 - 제1 디스플레이 구성 또는 시야 상황은 제2 디스플레이 구성 또는 시야 상황과 상이함 - 중 하나 이상을 수행하게 하는 코드가 적어도 하나의 메모리에 저장된다.
제15 예에 따르면,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 수단과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 수단과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 수단과,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 수단을 포함하되,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 상기 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 장치가 제공된다.
위 장치의 몇몇 예에서, 동일한 시점을 나타내는 둘 이상의 인코딩된 깊이 뷰는
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰는 제1 방향을 향한 또는 제1 시점으로의 뷰 합성을 위해 의도되고 둘 이상의 코딩된 깊이 뷰 중 제2 깊이 뷰는 제2 방향을 향한 또는 제2 시점으로의 뷰 합성을 위해 의도된다는 점 - 제1 방향은 제2 방향과 상이하고 제1 시점은 제2 시점과 상이함 - 과,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰는 제1 디스플레이 구성 또는 시야 상황을 위해 의도되고 둘 이상의 인코딩된 깊이 뷰 중 제2 깊이 뷰는 제2 디스플레이 구성 또는 시야 상황을 위해 의도된다는 점 - 제1 디스플레이 구성 또는 시야 상황은 제2 디스플레이 구성 또는 시야 상황과 상이함 -
중 하나 이상에 의해 또한 특징지어진다.
몇몇 예에서, 위 장치는
비트스트림에서 사용되는 예측 메커니즘이 제1 깊이 맵 유형 및/또는 제2 깊이 맵 유형의 사용을 요구함,
다른 깊이 맵 유형 대신 제1 깊이 맵 유형 및/또는 제2 깊이 맵 유형이 사용되는 경우 비트스트림에서 사용되는 예측 메커니즘이 더 적은 계산을 초래함
중 하나 이상에 기초하여 제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 것이고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 것이라고 결정하는 수단을 더 포함한다.
제16 예에 따르면,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 수단과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 수단 - 위 결정하는 수단은, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 수단과, 비트스트림에 기초하여 어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 수단 중 하나 이상을 포함함 - 과,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 수단과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 수단을 포함하는 장치가 제공된다.
위 장치의 몇몇 예에서, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 수단은
입력 깊이 뷰를 인코딩하기 위한 제1 비용 및 인코딩된 입력 깊이 뷰를 사용하여 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제1 왜곡을 도출하는 수단,
인코딩된 입력 깊이 뷰 없이 제2 비용을 도출하고 인코딩된 입력 깊이 뷰를 사용하지 않고 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제2 왜곡을 도출하는 수단,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하는 수단을 포함한다.
제17 예에 따르면,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 수신하는 수단과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되었는지 판정하기 위하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 디코딩하는 수단과,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰를 비트스트림으로부터 디코딩하는 수단을 포함하되,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 장치가 제공된다.
몇몇 예에서, 위 장치는
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰를 제1 방향을 향한 또는 제1 시점으로의 뷰 합성을 위해 사용하고 둘 이상의 코딩된 깊이 뷰 중 제2 깊이 뷰를 제2 방향을 향한 또는 제2 시점으로의 뷰 합성을 위해 사용하는 수단 - 제1 방향은 제2 방향과 상이하고 제1 시점은 제2 시점과 상이함 - 과,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰를 제1 디스플레이 구성 또는 시야 상황을 위해 사용하고 둘 이상의 인코딩된 깊이 뷰 중 제2 깊이 뷰를 제2 디스플레이 구성 또는 시야 상황을 위해 사용하는 수단 - 제1 디스플레이 구성 또는 시야 상황은 제2 디스플레이 구성 또는 시야 상황과 상이함 -
중 하나 이상을 더 포함한다.
제18 예에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 것과
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 것과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 것과,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 상기 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 컴퓨터 프로그램 제품이 제공된다.
위 컴퓨터 프로그램 제품의 몇몇 예에서, 동일한 시점을 나타내는 둘 이상의 인코딩된 깊이 뷰는
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰는 제1 방향을 향한 또는 제1 시점으로의 뷰 합성을 위해 의도되고 둘 이상의 코딩된 깊이 뷰 중 제2 깊이 뷰는 제2 방향을 향한 또는 제2 시점으로의 뷰 합성을 위해 의도된다는 점 - 제1 방향은 제2 방향과 상이하고 제1 시점은 제2 시점과 상이함 - 과,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰는 제1 디스플레이 구성 또는 시야 상황을 위해 의도되고 둘 이상의 인코딩된 깊이 뷰 중 제2 깊이 뷰는 제2 디스플레이 구성 또는 시야 상황을 위해 의도된다는 점 - 제1 디스플레이 구성 또는 시야 상황은 제2 디스플레이 구성 또는 시야 상황과 상이함 -
중 하나 이상에 의해 또한 특징지어진다.
몇몇 예에서, 위 컴퓨터 프로그램 제품은 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금,
비트스트림에서 사용되는 예측 메커니즘이 제1 깊이 맵 유형 및/또는 제2 깊이 맵 유형의 사용을 요구함,
다른 깊이 맵 유형 대신 제1 깊이 맵 유형 및/또는 제2 깊이 맵 유형이 사용되는 경우 비트스트림에서 사용되는 예측 메커니즘이 더 적은 계산을 초래함
중 하나 이상에 기초하여 제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 것이고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 것이라고 결정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
제19 예에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하거나 캡처하거나 도출하는 것과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되는지 결정하는 것 - 위 결정은, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 입력 깊이 뷰가 필요한지 판단하고, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요하지 않은 깊이 뷰는 인코딩되지 아니하되, 하나 이상의 인코딩된 텍스처 뷰 중 임의의 인코딩된 텍스처 뷰의 예측을 위하여 필요한 깊이 뷰가 인코딩된다고 결정하는 것과, 비트스트림에 기초하여 어느 텍스처 뷰가 출력될 것으로 기대되거나 알려졌는지의 정보를 수신하고, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 것 중 하나 이상을 포함함 - 과,
인코딩될 것으로 결정된 입력 텍스처 뷰 및 입력 깊이 뷰를 비트스트림으로 인코딩하는 것과,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공된다.
위 컴퓨터 프로그램 제품의 몇몇 예에서, 출력될 것으로 기대되거나 알려진 텍스처 뷰의 디코딩 또는 뷰 합성을 인코딩된 텍스처 및 깊이 뷰가 가능하게 하도록 결정하는 것은 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금,
입력 깊이 뷰를 인코딩하기 위한 제1 비용 및 인코딩된 입력 깊이 뷰를 사용하여 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제1 왜곡을 도출하는 것,
인코딩된 입력 깊이 뷰 없이 제2 비용을 도출하고 인코딩된 입력 깊이 뷰를 사용하지 않고 디코딩되거나 합성된, 출력될 것으로 기대되거나 알려진 텍스처 뷰에 대한 제2 왜곡을 도출하는 것,
제1 비용, 제2 비용, 제1 왜곡 및 제2 왜곡에 기초하여 깊이 뷰를 인코딩할 것인지 여부를 결정하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함한다.
제20 예에 따르면,
컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 수신하는 것과,
어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩되었는지 판정하기 위하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 디코딩하는 것과,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰를 비트스트림으로부터 디코딩하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고,
인코딩된 텍스처 뷰 및 인코딩된 깊이 뷰는
비트스트림의 임의의 인코딩된 텍스처 뷰에 의해 표현되지 않은 시점을 인코딩된 깊이 뷰가 나타낸다는 특성과,
둘 이상의 인코딩된 깊이 뷰가 동일한 시점을 나타낸다는 특성과,
제1 인코딩된 깊이 뷰가 제1 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하고 제2 인코딩된 깊이 뷰가 제2 깊이 맵 유형의 깊이 뷰 콤포넌트를 포함하며, 제1 깊이 맵 유형 및 제2 깊이 맵 유형은 상이하다는 특성과,
인코딩된 깊이 뷰 및 인코딩된 텍스처 뷰가 동일한 시점을 나타내고, 제1 샘플링 그리드가 인코딩된 깊이 뷰의 깊이 뷰 콤포넌트를 위하여 사용되고 제2 샘플링 그리드가 인코딩된 텍스처 뷰의 텍스처 뷰 콤포넌트를 위하여 사용되며, 제1 샘플링 그리드 및 제2 샘플링 그리드는 제1 샘플링 그리드의 수평 또는 수직 샘플 치수 및 제2 샘플링 그리드의 대응하는 수평 또는 수직 샘플 치수의 비가 정수가 아니라는 특성과 제1 샘플링 그리드가 제2 샘플링 그리드와 동일한 샘플링 영역을 커버하지 않는다는 특성 중 하나 이상을 가진다는 특성
중 하나 이상을 가지는, 컴퓨터 프로그램 제품이 제공된다.
위 컴퓨터 프로그램 제품의 몇몇 예에서, 하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰를 제1 방향을 향한 또는 제1 시점으로의 뷰 합성을 위해 사용하고 둘 이상의 코딩된 깊이 뷰 중 제2 깊이 뷰를 제2 방향을 향한 또는 제2 시점으로의 뷰 합성을 위해 사용하는 것 - 제1 방향은 제2 방향과 상이하고 제1 시점은 제2 시점과 상이함 - ,
둘 이상의 인코딩된 깊이 뷰 중 제1 깊이 뷰를 제1 디스플레이 구성 또는 시야 상황을 위해 사용하고 둘 이상의 인코딩된 깊이 뷰 중 제2 깊이 뷰를 제2 디스플레이 구성 또는 시야 상황을 위해 사용하는 것 - 제1 디스플레이 구성 또는 시야 상황은 제2 디스플레이 구성 또는 시야 상황과 상이함 - 중 하나 이상을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함한다.
제21 예에 따르면,
비트스트림으로부터 제1 시점의 제1 깊이 뷰를 수신하는 단계 - 비트스트림은 제1 시점의 텍스처 뷰를 포함하지 않음 - 와,
제1 깊이 뷰를 디코딩하는 단계와,
디코딩된 제1 깊이 뷰에 기반하여 제1 시점으로의 역방향 뷰 합성을 사용하는 단계를 포함하는 방법이 제공된다.

Claims (18)

  1. 텍스처 블록(texture block)과 코로케이팅된(co-located) 깊이 블록(depth block)의 가용성(availability)을 조사하는 단계와,
    상기 코로케이팅된 깊이 블록의 가용성에 기초하여,
    텍스처 블록에 대한 예측 방법(prediction method)을 상기 코로케이팅된 깊이 블록의 가용성에 기초하여 결정하는 것 - 상기 코로케이팅된 깊이 블록이 이용가능한 경우 상기 예측 방법은 상기 코로케이팅된 깊이 블록을 사용하고 상기 코로케이팅된 깊이 블록이 이용가능하지 않은 경우 상기 예측 방법은 상기 코로케이팅된 깊이 블록을 사용하지 않음 - 또는
    상기 코로케이팅된 깊이 블록 내의 코로케이팅된 깊이 샘플(co-located depth sample)이 상기 조사에서 이용불가능한 것에 기초하여, 상기 코로케이팅된 깊이 샘플을 하나 이상의 이용가능한 깊이 샘플에 기초하여 패딩(padding) 또는 보간(interpolating)하고 상기 코로케이팅된 깊이 블록을 이용가능한 것으로 취급하며 상기 예측 방법이 상기 코로케이팅된 깊이 블록을 사용하도록 결정하는 것
    중 하나를 수행하는 단계와,
    상기 예측 방법에 기초하여 상기 텍스처 블록에 대한 예측 블록(prediction block)을 도출하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 텍스처 블록을 상기 도출된 예측 블록에 기초하여 비트스트림(bitstream)으로 인코딩(encoding)하는 단계 - 상기 비트스트림은 하나 이상의 인코딩된 텍스처 뷰(encoded texture view) 및 하나 이상의 인코딩된 깊이 뷰(encoded depth view)를 포함하기 위하여 형성됨 - 와,
    상기 텍스처 블록을 상기 도출된 예측 블록에 기초하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로부터 디코딩(decoding)하는 단계 중 하나를 더 포함하는
    방법.
  3. 제2항에 있어서,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰,
    상기 하나 이상의 인코딩된 텍스처 뷰의 뷰 간(inter-view) 예측 종속성,
    상기 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서(view component order),
    상기 텍스처 블록을 포함하는 텍스처 뷰 콤포넌트(texture view component)와 동일한 샘플링 또는 출력 시간을 갖는 깊이 뷰 콤포넌트(depth view component)의 존재(presence)
    중 하나 이상에 기초하여 상기 예측 블록의 도출을 위한 상기 예측 방법을 결정하는 단계를 포함하는
    방법.
  4. 제2항에 있어서,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰,
    상기 하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
    상기 텍스처 블록을 포함하는 텍스처 뷰 콤포넌트와 동일한 샘플링 또는 출력 시간을 갖는 깊이 뷰 콤포넌트의 존재,
    상기 텍스처 블록을 위한 텍스처 샘플링 그리드(texture sampling grid) 및 상기 깊이 블록을 위한 깊이 샘플링 그리드(depth sampling grid),
    상기 텍스처 샘플링 그리드의 위치 및 상기 깊이 샘플링 그리드의 위치,
    상기 텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는(covered) 제1 공간 영역(spatial area) 및 상기 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 제2 공간 영역,
    상기 제2 공간 영역 내에서 상기 텍스처 블록에 의해 커버되는 위치 및 영역
    중 하나 이상에 기초하여 상기 코로케이팅된 깊이 블록의 가용성을 판정하는 단계를 포함하는
    방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하는 단계와,
    어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩될 것인지 결정하는 단계와,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시(indication)를 인코딩하는 단계를 포함하는
    방법.
  6. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 비트스트림으로 수신하는 단계와,
    상기 하나 이상의 표시를 사용하여 어느 입력 텍스처 뷰 및 입력 깊이 뷰가 상기 비트스트림으로 인코딩되었는지 판정하는 단계를 포함하는
    방법.
  7. 컴퓨터 프로그램 코드(computer program code)를 포함하는 적어도 하나의 메모리(memory) 및 적어도 하나의 프로세서(processor)를 포함하는 장치로서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서로써 상기 장치로 하여금,
    텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하고,
    상기 코로케이팅된 깊이 블록의 가용성에 기초하여,
    텍스처 블록에 대한 예측 방법을 상기 코로케이팅된 깊이 블록의 가용성에 기초하여 결정하는 것 - 상기 코로케이팅된 깊이 블록이 이용가능한 경우 상기 예측 방법은 상기 코로케이팅된 깊이 블록을 사용하고 상기 코로케이팅된 깊이 블록이 이용가능하지 않은 경우 상기 예측 방법은 상기 코로케이팅된 깊이 블록을 사용하지 않음 - 또는
    상기 코로케이팅된 깊이 블록 내의 코로케이팅된 깊이 샘플이 상기 조사에서 이용불가능한 것에 기초하여, 상기 코로케이팅된 깊이 샘플을 하나 이상의 이용가능한 깊이 샘플에 기초하여 패딩 또는 보간하고 상기 코로케이팅된 깊이 블록을 이용가능한 것으로 취급하며 상기 예측 방법이 상기 코로케이팅된 깊이 블록을 사용하도록 결정하는 것
    중 하나를 수행하며,
    상기 예측 방법에 기초하여 상기 텍스처 블록에 대한 예측 블록을 도출하게 하도록 구성되는,
    장치.
  8. 제7항에 있어서,
    상기 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 상기 장치로 하여금,
    상기 텍스처 블록을 상기 도출된 예측 블록에 기초하여 비트스트림으로 인코딩하는 것 - 상기 비트스트림은 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하기 위하여 형성됨 - 과,
    상기 텍스처 블록을 상기 도출된 예측 블록에 기초하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로부터 디코딩하는 것 중 적어도 하나를 수행하게 하는 코드가 상기 적어도 하나의 메모리에 저장되는,
    장치.

  9. 제8항에 있어서,
    상기 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 상기 장치로 하여금,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰,
    상기 하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서
    중 하나 이상에 기초하여 상기 예측 블록의 도출을 위한 상기 예측 방법을 결정하게 하는 코드가 상기 적어도 하나의 메모리에 저장되는,
    장치.
  10. 제8항에 있어서,
    상기 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 상기 장치로 하여금,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰,
    상기 하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
    텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
    상기 텍스처 샘플링 그리드의 위치 및 상기 깊이 샘플링 그리드의 위치,
    상기 텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 공간 영역 및 상기 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 공간 영역
    중 하나 이상에 기초하여 상기 코로케이팅된 깊이 블록의 가용성을 판정하게 하는 코드가 상기 적어도 하나의 메모리에 저장되는,
    장치.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 상기 장치로 하여금,
    하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하고,
    어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩될 것인지 결정하며,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하게 하는 코드가 상기 적어도 하나의 메모리에 저장되는,
    장치.
  12. 제8항 내지 제10항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서에 의하여 실행되는 경우 또한 상기 장치로 하여금,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 비트스트림으로 수신하고,
    상기 하나 이상의 표시를 사용하여 어느 입력 텍스처 뷰 및 입력 깊이 뷰가 상기 비트스트림으로 인코딩되었는지 판정하게 하는 코드가 상기 적어도 하나의 메모리에 저장되는,
    장치.
  13. 텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 수단,
    상기 코로케이팅된 깊이 블록의 가용성에 기초하여,
    텍스처 블록에 대한 예측 방법을 상기 코로케이팅된 깊이 블록의 가용성에 기초하여 결정하는 것 - 상기 코로케이팅된 깊이 블록이 이용가능한 경우 상기 예측 방법은 상기 코로케이팅된 깊이 블록을 사용하고 상기 코로케이팅된 깊이 블록이 이용가능하지 않은 경우 상기 예측 방법은 상기 코로케이팅된 깊이 블록을 사용하지 않음 - 또는
    상기 코로케이팅된 깊이 블록 내의 코로케이팅된 깊이 샘플이 상기 조사에서 이용불가능한 것에 기초하여, 상기 코로케이팅된 깊이 샘플을 하나 이상의 이용가능한 깊이 샘플에 기초하여 패딩 또는 보간하고 상기 코로케이팅된 깊이 블록을 이용가능한 것으로 취급하며 상기 예측 방법이 상기 코로케이팅된 깊이 블록을 사용하도록 결정하는 것
    중 하나를 수행하는 수단과,
    상기 예측 방법에 기초하여 상기 텍스처 블록에 대한 예측 블록을 도출하는 수단을 포함하는
    장치.
  14. 컴퓨터 프로그램 제품으로서,
    하나 이상의 프로세서에 의하여 실행되는 경우 장치로 하여금 적어도,
    텍스처 블록과 코로케이팅된 깊이 블록의 가용성을 조사하는 것과,
    상기 코로케이팅된 깊이 블록의 가용성에 기초하여,
    텍스처 블록에 대한 예측 방법을 상기 코로케이팅된 깊이 블록의 가용성에 기초하여 결정하는 것 - 상기 코로케이팅된 깊이 블록이 이용가능한 경우 상기 예측 방법은 상기 코로케이팅된 깊이 블록을 사용하고 상기 코로케이팅된 깊이 블록이 이용가능하지 않은 경우 상기 예측 방법은 상기 코로케이팅된 깊이 블록을 사용하지 않음 - 또는
    상기 코로케이팅된 깊이 블록 내의 코로케이팅된 깊이 샘플이 상기 조사에서 이용불가능한 것에 기초하여, 상기 코로케이팅된 깊이 샘플을 하나 이상의 이용가능한 깊이 샘플에 기초하여 패딩 또는 보간하고 상기 코로케이팅된 깊이 블록을 이용가능한 것으로 취급하며 상기 예측 방법이 상기 코로케이팅된 깊이 블록을 사용하도록 결정하는 것
    중 하나를 수행하는 것과,
    상기 예측 방법에 기초하여 상기 텍스처 블록에 대한 예측 블록을 도출하는 것을 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는
    컴퓨터 프로그램 제품.
  15. 제14항에 있어서,
    하나 이상의 프로세서에 의하여 실행되는 경우 상기 장치로 하여금,
    상기 텍스처 블록을 상기 도출된 예측 블록에 기초하여 비트스트림으로 인코딩하는 것 - 상기 비트스트림은 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하기 위하여 형성됨 - 과,
    상기 텍스처 블록을 상기 도출된 예측 블록에 기초하여 하나 이상의 인코딩된 텍스처 뷰 및 하나 이상의 인코딩된 깊이 뷰를 포함하는 비트스트림으로부터 디코딩하는 것 중 적어도 하나를 수행하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함하는
    컴퓨터 프로그램 제품.
  16. 제15항에 있어서,
    하나 이상의 프로세서에 의하여 실행되는 경우 상기 장치로 하여금,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰,
    상기 하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서
    중 하나 이상에 기초하여 상기 예측 블록의 도출을 위한 상기 예측 방법을 결정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함하는
    컴퓨터 프로그램 제품.
  17. 제15항에 있어서,
    하나 이상의 프로세서에 의하여 실행되는 경우 상기 장치로 하여금,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰,
    상기 하나 이상의 인코딩된 텍스처 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 깊이 뷰의 뷰 간 예측 종속성,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 뷰 콤포넌트 순서,
    텍스처 블록을 위한 텍스처 샘플링 그리드 및 깊이 블록을 위한 깊이 샘플링 그리드,
    상기 텍스처 샘플링 그리드의 위치 및 상기 깊이 샘플링 그리드의 위치,
    상기 텍스처 블록을 포함하는 텍스처 뷰에 의하여 커버되는 공간 영역 및 상기 깊이 블록을 포함하는 깊이 뷰에 의하여 커버되는 공간 영역
    중 하나 이상에 기초하여 상기 코로케이팅된 깊이 블록의 가용성을 판정하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함하는
    컴퓨터 프로그램 제품.
  18. 청구항 중 어느 한 항에 있어서,
    하나 이상의 프로세서에 의하여 실행되는 경우 상기 장치로 하여금,
    하나 이상의 입력 텍스처 뷰 및 하나 이상의 입력 깊이 뷰를 수신하고,
    어느 입력 텍스처 뷰 및 입력 깊이 뷰가 인코딩될 것인지 결정하며,
    상기 하나 이상의 인코딩된 텍스처 뷰 및 상기 하나 이상의 인코딩된 깊이 뷰의 하나 이상의 표시를 인코딩하게 하는 하나 이상의 명령어의 하나 이상의 시퀀스를 더 포함하는
    컴퓨터 프로그램 제품.
KR1020157010203A 2012-09-21 2013-09-18 비디오 코딩 방법 및 장치 KR101664758B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261703735P 2012-09-21 2012-09-21
US61/703,735 2012-09-21
PCT/FI2013/050899 WO2014044908A1 (en) 2012-09-21 2013-09-18 Method and apparatus for video coding

Publications (2)

Publication Number Publication Date
KR20150058457A true KR20150058457A (ko) 2015-05-28
KR101664758B1 KR101664758B1 (ko) 2016-10-10

Family

ID=50340625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157010203A KR101664758B1 (ko) 2012-09-21 2013-09-18 비디오 코딩 방법 및 장치

Country Status (9)

Country Link
US (1) US9736454B2 (ko)
EP (1) EP2898689B1 (ko)
JP (1) JP6787667B2 (ko)
KR (1) KR101664758B1 (ko)
CN (1) CN104813669B (ko)
BR (1) BR112015006178B1 (ko)
SG (1) SG11201502194QA (ko)
WO (1) WO2014044908A1 (ko)
ZA (1) ZA201502578B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021229455A1 (en) * 2020-05-11 2021-11-18 Niantic, Inc. Generating stereo image data from monocular images
KR102550216B1 (ko) * 2022-07-20 2023-06-29 남세엔터테인먼트 유한회사 영상 처리 장치, 서버, 영상 처리 시스템, 영상 처리 방법

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US9058637B2 (en) 2011-05-05 2015-06-16 Arm Limited Method of and apparatus for encoding and decoding data
CN106954067B (zh) 2011-06-30 2020-08-18 三菱电机株式会社 图像编码装置及方法、图像解码装置及方法
JP5155462B2 (ja) * 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US10200708B2 (en) 2011-11-30 2019-02-05 Qualcomm Incorporated Sequence level information for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
WO2013125220A1 (ja) 2012-02-23 2013-08-29 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
WO2013153787A1 (ja) 2012-04-12 2013-10-17 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US10230956B2 (en) 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US9992490B2 (en) * 2012-09-26 2018-06-05 Sony Corporation Video parameter set (VPS) syntax re-ordering for easy access of extension parameters
US9639944B2 (en) * 2012-10-01 2017-05-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for determining a depth of a target object
US9781413B2 (en) * 2012-10-02 2017-10-03 Qualcomm Incorporated Signaling of layer identifiers for operation points
US9544612B2 (en) * 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
KR20150090057A (ko) * 2012-10-08 2015-08-05 엘지전자 주식회사 다시점 비디오 신호의 인코딩 방법, 디코딩 방법 및 이에 대한 장치
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
US10277907B2 (en) 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
US10334259B2 (en) 2012-12-07 2019-06-25 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
US10021388B2 (en) 2012-12-26 2018-07-10 Electronics And Telecommunications Research Institute Video encoding and decoding method and apparatus using the same
CN104885450B (zh) * 2012-12-27 2017-09-08 日本电信电话株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
US9584792B2 (en) 2013-01-04 2017-02-28 Qualcomm Incorporated Indication of current view dependency on reference view in multiview coding file format
JP6150277B2 (ja) * 2013-01-07 2017-06-21 国立研究開発法人情報通信研究機構 立体映像符号化装置、立体映像復号化装置、立体映像符号化方法、立体映像復号化方法、立体映像符号化プログラム及び立体映像復号化プログラム
US9177415B2 (en) * 2013-01-30 2015-11-03 Arm Limited Methods of and apparatus for encoding and decoding data
US20140219331A1 (en) * 2013-02-06 2014-08-07 Magnum Semiconductor, Inc. Apparatuses and methods for performing joint rate-distortion optimization of prediction mode
WO2014156202A1 (ja) * 2013-03-29 2014-10-02 株式会社ニコン 画像処理装置、撮像装置および画像処理プログラム
EP2932720A4 (en) * 2013-04-10 2016-07-27 Mediatek Inc METHOD AND APPARATUS FOR DIVIDING VECTOR DIVIDER FOR THREE-DIMENSIONAL AND MULTI-VIEW VIDEO CODING
WO2014166119A1 (en) * 2013-04-12 2014-10-16 Mediatek Inc. Stereo compatibility high level syntax
US9462283B2 (en) * 2013-04-18 2016-10-04 Spotlight Technologies Ltd. Efficient compression of Bayer images
WO2015007348A1 (en) * 2013-07-19 2015-01-22 Huawei Technologies Co., Ltd. Method and apparatus for encoding and decoding a texture block using depth based block partitioning
US10244253B2 (en) * 2013-09-13 2019-03-26 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning
KR101869882B1 (ko) * 2013-10-11 2018-06-25 브이아이디 스케일, 인크. Hevc 확장을 위한 하이 레벨 구문
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
US10075690B2 (en) * 2013-10-17 2018-09-11 Mediatek Inc. Method of motion information prediction and inheritance in multi-view and three-dimensional video coding
US9137285B2 (en) 2013-10-21 2015-09-15 Broadcom Corporation Adaptive audio video (AV) stream processing
US10203399B2 (en) 2013-11-12 2019-02-12 Big Sky Financial Corporation Methods and apparatus for array based LiDAR systems with reduced interference
US9438925B2 (en) * 2013-12-31 2016-09-06 Vixs Systems, Inc. Video encoder with block merging and methods for use therewith
BR122021021258A8 (pt) 2014-01-03 2023-02-07 Arris Entpr Llc Método para decodificar uma pluralidade de figuras, método para codificar uma pluralidade de figuras, e, fluxo de bits de dados de vídeo compactados
US9948950B2 (en) * 2014-01-03 2018-04-17 Qualcomm Incorporated Disparity vector and/or advanced residual prediction for video coding
US10547834B2 (en) * 2014-01-08 2020-01-28 Qualcomm Incorporated Support of non-HEVC base layer in HEVC multi-layer extensions
US10250895B2 (en) * 2014-03-14 2019-04-02 Sharp Kabushiki Kaisha DPB capacity limits
US20180176599A1 (en) * 2014-03-14 2018-06-21 Samsung Electronics Co., Ltd. Multi-layer video encoding method and multi-layer video decoding method using depth block
CA2943121C (en) 2014-03-18 2020-09-08 Arris Enterprises Llc Scalable video coding using reference and scaled reference layer offsets
US9769498B2 (en) * 2014-03-28 2017-09-19 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information
US9360554B2 (en) 2014-04-11 2016-06-07 Facet Technology Corp. Methods and apparatus for object detection and identification in a multiple detector lidar array
WO2015168581A1 (en) * 2014-05-01 2015-11-05 Arris Enterprises, Inc. Reference layer and scaled reference layer offsets for scalable video coding
WO2015184470A1 (en) 2014-05-30 2015-12-03 Arris Enterprises, Inc. Reference layer offset parameters for inter-layer prediction in scalable video coding
KR101663668B1 (ko) * 2014-06-27 2016-10-07 삼성전자주식회사 영상 패딩영역의 비디오 복호화 및 부호화 장치 및 방법
KR101632992B1 (ko) * 2014-07-03 2016-06-30 성균관대학교산학협력단 깊이 와핑에 기반한 폐색 컬링을 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
US9590952B2 (en) 2014-09-05 2017-03-07 Microsoft Technology Licensing, Llc Lossy data stream decoder
FR3026261A1 (fr) * 2014-09-22 2016-03-25 Orange Procede de codage et de decodage d'images integrales, dispositif de codage et de decodage d'images integrales et programmes d'ordinateur correspondants
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
US10542063B2 (en) 2014-10-16 2020-01-21 Samsung Electronics Co., Ltd. Method and device for processing encoded video data, and method and device for generating encoded video data
CN104506871B (zh) * 2014-11-23 2017-06-06 北京工业大学 一种基于hevc的3d视频快速编码方法
KR101844032B1 (ko) * 2014-12-26 2018-05-14 주식회사 케이티 파노라믹 비디오 영상의 관심 영역의 영상 전송 방법, 장치 및 디바이스
GB2534136A (en) * 2015-01-12 2016-07-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US9948920B2 (en) 2015-02-27 2018-04-17 Qualcomm Incorporated Systems and methods for error correction in structured light
US10036801B2 (en) 2015-03-05 2018-07-31 Big Sky Financial Corporation Methods and apparatus for increased precision and improved range in a multiple detector LiDAR array
US10068338B2 (en) 2015-03-12 2018-09-04 Qualcomm Incorporated Active sensing spatial resolution improvement through multiple receivers and code reuse
US11030332B1 (en) * 2015-04-13 2021-06-08 Wells Fargo Bank, N.A. Database controlled web service type architecture
US9942552B2 (en) * 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
US10791259B2 (en) * 2015-08-04 2020-09-29 Google Llc Devices and methods for repurposing IR transmitters
US9635339B2 (en) * 2015-08-14 2017-04-25 Qualcomm Incorporated Memory-efficient coded light error correction
US9846943B2 (en) 2015-08-31 2017-12-19 Qualcomm Incorporated Code domain power control for structured light
US9858706B2 (en) * 2015-09-22 2018-01-02 Facebook, Inc. Systems and methods for content streaming
US10096130B2 (en) 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
US10516891B2 (en) * 2015-11-20 2019-12-24 Intel Corporation Method and system of reference frame caching for video coding
US9866816B2 (en) 2016-03-03 2018-01-09 4D Intellectual Properties, Llc Methods and apparatus for an active pulsed 4D camera for image acquisition and analysis
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
KR102383106B1 (ko) * 2016-07-05 2022-04-06 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN109565605B (zh) * 2016-08-10 2021-06-29 松下电器(美国)知识产权公司 拍摄技术生成方法以及影像处理装置
US10249027B2 (en) 2016-09-22 2019-04-02 Sony Corporation Device and method for P-phase data compression
KR20180056313A (ko) 2016-11-18 2018-05-28 삼성전자주식회사 텍스처를 처리하는 방법 및 장치
JP2020501427A (ja) 2016-11-29 2020-01-16 リサーチ ビジネス ファウンデーション ソンギュングァン ユニバーシティResearch Business Foundation Sungkyunkwan University 画像符号化/復号化方法、装置、及びビットストリームを保存した記録媒体
US20190364284A1 (en) * 2017-01-16 2019-11-28 Industry Academy Cooperation Foundation Of Sejong University Image encoding/decoding method and device
KR20230079466A (ko) * 2017-04-11 2023-06-07 브이아이디 스케일, 인크. 면 연속성을 사용하는 360 도 비디오 코딩
CA3060578C (en) 2017-04-21 2020-07-21 Zenimax Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
EP3613210A4 (en) 2017-04-21 2021-02-24 Zenimax Media Inc. SYSTEMS AND PROCEDURES FOR DELAYED POST-PROCESSING IN VIDEO ENCODING
GB2585145B (en) 2017-04-21 2021-05-26 Zenimax Media Inc Systems and method for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
EP3720130B1 (en) 2017-04-21 2022-09-28 Zenimax Media Inc. System and method for rendering and pre-encoded load estimation based encoder hinting
US10567788B2 (en) 2017-04-21 2020-02-18 Zenimax Media Inc. Systems and methods for game-generated motion vectors
EP3635957B1 (en) * 2017-06-29 2024-05-22 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a video coding block of a multiview video signal
US11115666B2 (en) 2017-08-03 2021-09-07 At&T Intellectual Property I, L.P. Semantic video encoding
WO2019060443A1 (en) 2017-09-20 2019-03-28 Vid Scale, Inc. HANDLING FACIAL DISCONTINUITIES IN 360-DEGREE VIDEO CODING
KR102476204B1 (ko) 2017-10-19 2022-12-08 삼성전자주식회사 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템
CN111615828B (zh) * 2017-11-29 2023-01-10 韩国电子通信研究院 采用环内滤波的图像编码/解码方法和装置
US10404980B1 (en) * 2018-07-10 2019-09-03 Tencent America LLC Intra prediction with wide angle mode in video coding
US11677922B2 (en) * 2018-08-12 2023-06-13 Lg Electronics Inc. Apparatus for transmitting a video, a method for transmitting a video, an apparatus for receiving a video, and a method for receiving a video
WO2020050577A1 (ko) * 2018-09-07 2020-03-12 엘지전자 주식회사 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치
US11107230B2 (en) * 2018-09-14 2021-08-31 Toyota Research Institute, Inc. Systems and methods for depth estimation using monocular images
JP2022502955A (ja) * 2018-09-28 2022-01-11 中▲興▼通▲訊▼股▲ふぇん▼有限公司Zte Corporation ビデオエンコードおよびデコード方法、および装置
US11081139B2 (en) * 2018-10-12 2021-08-03 Adobe Inc. Video inpainting via confidence-weighted motion estimation
US11412260B2 (en) * 2018-10-29 2022-08-09 Google Llc Geometric transforms for image compression
US11290734B2 (en) * 2019-01-02 2022-03-29 Tencent America LLC Adaptive picture resolution rescaling for inter-prediction and display
WO2020171647A1 (ko) * 2019-02-21 2020-08-27 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측을 사용하는 영상 디코딩 방법 및 그 장치
MX2021011016A (es) * 2019-03-11 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
WO2020185128A1 (en) * 2019-03-12 2020-09-17 Huawei Technologies Co., Ltd. Design for distributed decoding refresh in video coding
WO2020182213A1 (en) * 2019-03-13 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Sub-block transform in transform skip mode
CN110012310B (zh) * 2019-03-28 2020-09-25 北京大学深圳研究生院 一种基于自由视点的编解码方法及装置
US20220217314A1 (en) * 2019-05-24 2022-07-07 Lg Electronics Inc. Method for transmitting 360 video, method for receiving 360 video, 360 video transmitting device, and 360 video receiving device
US11303935B2 (en) * 2019-07-10 2022-04-12 Qualcomm Incorporated Deriving coding system operational configuration
US10964089B1 (en) * 2019-10-07 2021-03-30 Sony Corporation Method and apparatus for coding view-dependent texture attributes of points in a 3D point cloud
WO2021107662A1 (ko) * 2019-11-27 2021-06-03 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
US20230328266A1 (en) * 2019-11-27 2023-10-12 Lg Electronics Inc. Image decoding method and device therefor
CN114731430A (zh) * 2019-12-05 2022-07-08 交互数字Vc控股法国有限公司 与多个变换选择、矩阵加权帧内预测或多参考线帧内预测结合的用于视频编码和解码的帧内子分区
US20230019601A1 (en) * 2019-12-19 2023-01-19 Interdigital Vc Holdings, Inc. Encoding and decoding methods and apparatus
KR20220113395A (ko) 2019-12-26 2022-08-12 바이트댄스 아이엔씨 비디오 코딩에서의 프로필 티어 레벨 파라미터 세트
FR3107383A1 (fr) * 2020-02-14 2021-08-20 Orange Procédé et dispositif de traitement de données de vidéo multi-vues
US11425324B2 (en) * 2020-06-22 2022-08-23 Samsung Electronics Co., Ltd. Time-of-flight down-up sampling using a compressed guide
US11995156B2 (en) 2021-02-03 2024-05-28 Samsung Electronics Co., Ltd. Confidence aided upsampling of categorical maps
CN112817681B (zh) * 2021-02-09 2023-03-24 杭州海康威视系统技术有限公司 一种数据显示方法、装置、设备及机器可读存储介质
WO2023194109A1 (en) * 2022-04-05 2023-10-12 Interdigital Ce Patent Holdings, Sas Depth-color alignment with assistance metadata for transcoding of volumetric video
WO2023227582A1 (en) * 2022-05-24 2023-11-30 Interdigital Ce Patent Holdings, Sas Decoder side depth and color alignment with the assistance of metadata for the transcoding of volumetric video
US20230386086A1 (en) * 2022-05-31 2023-11-30 Microsoft Technology Licensing, Llc Video compression
EP4354865A1 (en) * 2022-10-12 2024-04-17 Comcast Cable Communications, LLC Edge feature-assisted processing of multiview images

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010537484A (ja) * 2007-08-15 2010-12-02 トムソン ライセンシング 多視点符号化ビデオにおける領域視差ベクトルを使用したモーションスキップモードのための方法及び装置
JP2011519226A (ja) * 2008-04-25 2011-06-30 トムソン ライセンシング 奥行きを用いた視点間スキップモード
KR20120013966A (ko) * 2009-05-01 2012-02-15 톰슨 라이센싱 3dv를 위한 기준 화상 리스트
KR20120051574A (ko) * 2010-11-12 2012-05-22 한국전자통신연구원 3dtv 서비스에서의 영상 압축 규격 결정 방법 및 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03162085A (ja) * 1989-11-20 1991-07-12 Matsushita Electric Ind Co Ltd 画像符号化/復号化装置
WO2010043773A1 (en) * 2008-10-17 2010-04-22 Nokia Corporation Sharing of motion vector in 3d video coding
US9113196B2 (en) * 2008-11-10 2015-08-18 Lg Electronics Inc. Method and device for processing a video signal using inter-view prediction
US8750632B2 (en) * 2008-12-26 2014-06-10 JVC Kenwood Corporation Apparatus and method for encoding images from multiple viewpoints and associated depth information
JP4821846B2 (ja) * 2008-12-26 2011-11-24 日本ビクター株式会社 画像符号化装置、画像符号化方法およびそのプログラム
EP2399394B1 (en) * 2009-02-19 2020-09-30 InterDigital Madison Patent Holdings 3d video formats
US20130162774A1 (en) * 2010-09-14 2013-06-27 Dong Tian Compression methods and apparatus for occlusion data
JP2012100019A (ja) * 2010-11-01 2012-05-24 Sharp Corp 多視点画像符号化装置及び多視点画像復号装置
US9565449B2 (en) * 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
WO2013107931A1 (en) * 2012-01-19 2013-07-25 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
WO2013176485A1 (ko) * 2012-05-22 2013-11-28 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2014005248A1 (en) * 2012-07-02 2014-01-09 Qualcomm Incorporated Intra-coding of depth maps for 3d video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010537484A (ja) * 2007-08-15 2010-12-02 トムソン ライセンシング 多視点符号化ビデオにおける領域視差ベクトルを使用したモーションスキップモードのための方法及び装置
JP2011519226A (ja) * 2008-04-25 2011-06-30 トムソン ライセンシング 奥行きを用いた視点間スキップモード
KR20120013966A (ko) * 2009-05-01 2012-02-15 톰슨 라이센싱 3dv를 위한 기준 화상 리스트
KR20120051574A (ko) * 2010-11-12 2012-05-22 한국전자통신연구원 3dtv 서비스에서의 영상 압축 규격 결정 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021229455A1 (en) * 2020-05-11 2021-11-18 Niantic, Inc. Generating stereo image data from monocular images
US11805236B2 (en) 2020-05-11 2023-10-31 Niantic, Inc. Generating stereo image data from monocular images
KR102550216B1 (ko) * 2022-07-20 2023-06-29 남세엔터테인먼트 유한회사 영상 처리 장치, 서버, 영상 처리 시스템, 영상 처리 방법

Also Published As

Publication number Publication date
BR112015006178A2 (pt) 2017-07-04
CN104813669B (zh) 2018-05-22
CN104813669A (zh) 2015-07-29
US9736454B2 (en) 2017-08-15
JP2015535405A (ja) 2015-12-10
EP2898689B1 (en) 2020-05-06
SG11201502194QA (en) 2015-04-29
WO2014044908A1 (en) 2014-03-27
ZA201502578B (en) 2017-01-25
BR112015006178B1 (pt) 2022-11-16
JP6787667B2 (ja) 2020-11-18
US20140168362A1 (en) 2014-06-19
EP2898689A4 (en) 2016-07-13
KR101664758B1 (ko) 2016-10-10
EP2898689A1 (en) 2015-07-29

Similar Documents

Publication Publication Date Title
KR101664758B1 (ko) 비디오 코딩 방법 및 장치
KR102273418B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR101662963B1 (ko) 3d 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR101630564B1 (ko) 비디오 코딩을 위한 방법 및 장치
KR101678321B1 (ko) 비디오 코딩을 위한 방법 및 장치
EP2839660B1 (en) An apparatus, a method and a computer program for video coding and decoding
KR101669524B1 (ko) 비디오 코딩을 위한 방법 및 장치
US20150245063A1 (en) Method and apparatus for video coding
KR101715784B1 (ko) 비디오 코딩 방법 및 장치
US20140218473A1 (en) Method and apparatus for video coding and decoding
US20140098883A1 (en) Method and apparatus for video coding
US20140085415A1 (en) Method and apparatus for video coding
EP2904797A1 (en) Method and apparatus for scalable video coding
GB2516223A (en) Method and apparatus for video coding and decoding
WO2013159300A1 (en) An apparatus, a method and a computer program for video coding and decoding

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 4