KR102327617B1 - 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념 - Google Patents

효율적인 다-시점/계층 코딩을 허용하는 코딩 개념 Download PDF

Info

Publication number
KR102327617B1
KR102327617B1 KR1020207017996A KR20207017996A KR102327617B1 KR 102327617 B1 KR102327617 B1 KR 102327617B1 KR 1020207017996 A KR1020207017996 A KR 1020207017996A KR 20207017996 A KR20207017996 A KR 20207017996A KR 102327617 B1 KR102327617 B1 KR 102327617B1
Authority
KR
South Korea
Prior art keywords
layer
view
inter
delete delete
prediction
Prior art date
Application number
KR1020207017996A
Other languages
English (en)
Other versions
KR20200077611A (ko
Inventor
로베르트 스쿠핀
카르스텐 쉬링
야고 산체스 데 라 푸엔테
게르하르트 테히
발레리 게오르게
토마스 쉬를
데트레브 마르페
Original Assignee
지이 비디오 컴프레션, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지이 비디오 컴프레션, 엘엘씨 filed Critical 지이 비디오 컴프레션, 엘엘씨
Priority to KR1020217036956A priority Critical patent/KR102467038B1/ko
Publication of KR20200077611A publication Critical patent/KR20200077611A/ko
Application granted granted Critical
Publication of KR102327617B1 publication Critical patent/KR102327617B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

다-시점/계층 코딩 개념들을 더 향상시키는 다양한 개념들이 설명된다.

Description

효율적인 다-시점/계층 코딩을 허용하는 코딩 개념{CODING CONCEPT ALLOWING EFFICIENT MULTI-VIEW/LAYER CODING}
본 발명은 다-시점(multi-view) 화상 /비디오 코딩과 같은 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념들에 관한 것이다.
종래에 스케일러블 코딩(scalable coding) 개념들이 알려져 있다. 비디오 코딩에 있어서, 예를 들면 H.254는 공간 해상도, 신호 대 잡음 비율(SNR) 등과 같은, 서로 다른 항들 내의 기본 계층 품질 비디오의 복원 품질 및/또는 마지막이나 이에 뒤지지 않게 중요한 시점들의 수를 증가시키기 위하여 기본 계층 코딩된 비디오 데이터 스트림이 부가적인 강화 계층(enhancement layer) 데이터에 의해 동반되는 것을 허용한다. 최근에 확장된 고효율 비디오 코딩(HEVC) 표준은 또한 스케일러블 비디오 코딩(SVC)/다-시점 코딩(MVE) 프로파일들에 의해 확장될 것이다. 고효율 비디오 코딩은 예를 들면, 병렬 디코딩/인코딩의 적합성 및 저지연 전송과 같이, 많은 양상들에서 그것의 앞선 H.264와 다르다. 병렬 인코딩/디코딩에 관한 한, 고효율 비디오 코딩은 파면 병렬 처리(wavefront parallel processing, WPP) 인코딩/디코딩은 물론 타일(tile) 병렬 처리 개념을 지원한다. 파면 병렬 처리 개념에 따르면, 개별 화상들은 열-방향(row-wise) 방식으로 서브스트림들 내로 세그먼트화된다. 각각의 서브스트림 내의 코딩 순서는 왼쪽으로부터 오른쪽으로 향한다. 서브스트림들은 상단 서브스트림으로부터 하단 서브스트림으로 이르는 것들 중에서 정의되는 디코딩 순서를 갖는다. 서브스트림들의 엔트로피 코딩은 확률 적응(probability adaptation)을 사용하여 실행된다. 확률 초기화는 각각의 서브스트림을 위하여 개별적으로, 또는 제 2 코딩된 트리블록(CTB)의 끝과 같은 상에서, 각각 선행 서브스트림의 왼쪽 모서리로부터 특정 위치까지 바로 선행하는 서브스트림의 엔트로피 코딩에서 사용되는 확률들의 초기 적용된 상태를 기초로 하여 수행된다. 공간 예측은 제한될 필요가 없다. 즉, 공간 예측은 바로 뒤따르는 서브스트림들 사이의 경계들을 교차할 수 있다. 이러한 방식으로, 그러한 서브스트림들은 병렬로 인코딩/디코딩될 수 있고 현재 인코딩/디코딩의 위치들은 바닥 왼쪽으로부터 상단 오른쪽, 왼쪽으로부터 오른쪽으로 이르게 하는 경사 방식(tilted manner)으로 실행하는 파면을 형성한다. 타일 개념에 따르면, 화상들은 타일 경계들을 가로질러 병렬 처리 공간 예측의 가능한 대상이 금지되는 이러한 타일들의 인코딩/디코딩을 제공하기 위하여 타일들 내로 세그먼트화된다. 타일 경계들을 가로지른 인-루프 필터링(in-loop filtering)만이 허용될 수 있다. 저지연 처리를 지원하기 위하여, 슬라이스 개념이 확장되었는데, 슬라이스들은 엔트로피 확률들을 다시 초기화하거나, 또는 이전 서브스트림, 즉 현재 슬라이스 시작이 속하는 서브스트림에 선행하는 서브스트림의 처리 동안에 저장된 엔트로피 확률들을 적응시키기 위하여 스위칭 가능하도록 허용하고, 바로 선행하는 슬라이스의 끝까지 연속적으로 업데이트된 엔트로파 확률들을 적응시키도록 허용한다. 이러한 측정에 의해, 파면 병렬 처리 및 타일 개념들이 저지연 처리에 더 적합하도록 제공된다.
그럼에도 불구하고, 가까운 장래에 다-시점/계층 코딩 개념들을 더 향상시키는 개념들을 갖는 것이 바람직할 수 있다.
따라서, 다-시점/계층 코딩 개념들을 더 향상시키는 개념들을 제공하는 것이 본 발명의 목적이다.
본 발명의 목적은 첨부된 독립 청구항들에 의해 달성된다.
본 발명의 제 1 양상은 다-시점 코딩에 관한 것이다. 특히, 제 1 양상의 기초가 되는 개념은 다음과 같다. 한편으로, 시점-간 예측은 특정 장면이 촬상되는(captured) 복수의 시점 사이의 반복들을 이용하는데 도움을 주고, 이에 의해 코딩 효율을 증가시킨다. 다른 한편으로, 시점-간 예측은 복수의 시점이 서로 독립적으로 완전히 디코딩/인코딩 가능하도록 되는 것을 방지하는데, 즉 예를 들면, 멀티-코어(multi-core) 프로세서로부터 이용하기 위하여 병렬로 디코딩/인코딩 가능하도록 되는 것을 방지한다. 더 정확하게 설명하면, 시점-간 예측은 제 1 시점의 상응하는 기준 부분들에 의존하여 제 2 시점의 부분들을 제공하고 제 1 및 제 2 시점들의 부분들 사이의 이러한 연관성은 제 1 및 제 2 시점을 병렬로 인코딩/디코딩할 때 충족되도록 특정 시점-간 디코딩/인코딩 오프셋/지연을 필요로 한다. 제 1 양상의 기초가 되는 개념은 만일 인코딩 및/또는 디코딩이 시점-간 예측이 제 1 기준 시점이 분할되는 공간 세그먼트들의 공간 세그먼트 경계들에서 형성되는 방법과 관련하여 변경되면, 작기는 하지만, 코딩 효율의 감소와 함께 이러한 시점-간 코딩 오프셋이 실질적으로 감소된다는 것이다. 변경은 제 1 시점으로부터 제 2 시점으로의 시점-간 예측이 제 1 시점의 서로 다른 공간 세그먼트들을 위하여 어떠한 정보도 결합하지 않으나, 제 1 시점의 단지 하나의 공간 세그먼트로부터 스테밍하는(stemming) 정보로부터, 각각 제 2 시점 및 그것이 구문 요소를 예측하는 것과 같이 실행될 수 있다. 일 실시 예에 따르면, 변경은 시점-간 예측이 심지어 공간 세그먼트 경계들을 교차하지 않는 것과 같이 훨씬 더 엄격하게 실행될 수 있는데, 즉 하나의 공간 세그먼트는 공동 위치되는 위치 또는 공동 위치되는 부분을 포함하는 하나이다. 세그먼트 경계들에서 시점-간 예측의 변경으로부터 야기하는 이득은 시점-간 예측에서 제 1 시점의 두 개 이상의 공간 세그먼트로부터 스테밍하는 정보를 결합하는 결과를 고려할 때 명백해진다. 그러한 경우에 있어서, 그러한 계층-간 예측에서의 결합을 포함하는 제 2 시점의 어떠한 부분의 인코딩/디코딩은 제 1 시점의 모든 공간 세그먼트의 인코딩/디코딩이 계층-간 예측에 의해 결합될 때까지 연기되어야만 한다. 그러나, 제 1 시점의 공간 세그먼트들의 공간 세그먼트 경계들에서 시점-간 예측의 변경은 이러한 문제점을 해결하고 제 2 시점의 각각의 부분은 제 1 시점의 하나의 공간 세그먼트가 디코딩/인코딩되자마자 쉽게 인코딩/디코딩 가능해진다. 그러나, 코딩 효율은 단지 작게 감소되었는데 그 이유는 성분-간 예측이 실질적으로 여전히 허용되고, 제한이 단지 제 1 시점의 공간 세그먼트들의 공간 세그먼트 경계들에 적용하기 때문이다. 일 실시 예에 따르면, 인코더는 방금 설명된 제 1 시점의 두 개 이상의 세그먼트들의 결합을 방지하고 아러한 방지/상황을 디코더에 시그널링하기 위하여 제 1 시점의 공간 세그먼트들의 공간 세그먼트 경계들에서 계층-간 예측의 변경을 처리하고, 이는 차례로 예를 들면, 시그널링에 응답하여 시점-간 디코딩 지연을 감소시키기 위하여 상응하는 보장(guarantee)으로서 시그널링을 사용한다. 또 다른 실시 예에 따르면, 디코더는 또한 데이터 스트림 내의 시그널링에 의해 트리거링되는(triggered), 계층-간 예측의 방법을 변경할 수 있고, 따라서 데이터 스트림을 형성하는데 있어서 제 1 시점의 공간 세그먼트들의 공간 세그먼트 경계들에서 계층-간 예측 파라미터 설정의 제한이 이용될 수 있는데, 그 이유는 이러한 세그먼트 경계들이 관련되는 한, 계층-간 예측을 제어하는데 필요한 부가 정보의 양이 감소될 수 있기 때문이다.
본 발명의 제 2 양상은 일반적으로 복수의 계층의 화상들이 코딩되는 네트워크 추상 계층(NAL, 이하 NAL로 표기) 유닛들이 각각의 네트워크 추상 계층이 관련하는 계층에 관계없이 하나의 시간 인스턴트(time instant)에 대한 NAL 유닛들이 하나의 액세스 유닛을 형성하는 것과 같이, 또는 시간 인스턴스와 계층의 각각의 서로 다른 층을 위하여 하나의 액세스 유닛이 존재하는 것과 같이, 액세스 유닛 내로 수집되나, 선택된 확률에 관계없이 각각의 시간 인스턴트 대 계층 쌍의 네트워크 추상 계층을 개별적으로 처리하고, 이를 인터리빙되지 않은(un-interleaved) 채로 명령하는 다-계층식 비디오 코딩(multi-layered video coding) 및 상황에 관한 것이다. 즉, 하나의 특정 시간 인스턴스 및 계층에 속하는 NAL 유닛들은 시간 인스턴트 및 계층의 또 다른 쌍의 NAL 유닛들을 진행하기 전에 전송된다. 어떠한 인터리빙도 허락되지 않는다. 그러나, 이는 엔드-투-엔드(end-to-end) 지연의 감소를 더 방해하는데 그 이유는 인코더가 기본 계층에 속하는 네트워크 추상 계층들 사이의 종속 계층에 속하는 네트워트 추상 계층 유닛들을 송신하는 것으로부터 방해받기 때문이며, 그러나 이러한 경우는 계층-간 병렬 처리로부터 야기할 수 있다. 본 발명의 제 2 양상은 전송된 비트스트림 내의 NAL 유닛들의 강력한 순차적인 인터리빙되지 않은 배치를 포기하고 이를 위하여, 하나의 시간 인스턴트 내의 모든 NAL 유닛의 수집으로서 액세스 유닛을 정의하는 제 1 가능성을 재사용하는데, 하나의 시간 인스턴트 내의 모든 NAL 유닛은 하나의 액세스 유닛 내에 수집되고 액세스 유닛들은 여전히 인터리빙되지 않는 방식으로 전송된 비트스트림 내에 배치된다. 그러나, 하나의 액세스 유닛의 NAL 유닛들의 인터리빙은 하나의 계층의 NAL 유닛들이 또 다른 계층의 NAL 유닛들에 의해 사이에 배치되도록 하기 위하여 허용된다. 하나의 액세스 유닛 내의 하나의 계층에 속하는 NAL 유닛들의 실행들은 디코딩 유닛들을 형성한다. 인터리빙은 하나의 액세스 유닛 내의 각각의 NAL 유닛을 위하여, 계층-간 예측을 위하여 필요한 정보가 그러한 액세스 유닛 내의 선행 NAL 유닛들 중 어느 하나 내에 포함되는 정도까지 허락된다. 인코더는 인터리빙이 적용되었는지를 비트스트림 내에 시그널링할 수 있고 디코더는 차례로, 예를 들면 시그널링화에 의존하여, 각각의 액세스 유닛의 서로 다른 계층들의 인터리빙된 NAL 유닛들을 재분류하기 위하여 복수의 버퍼, 또는 인터리빙도 없는 경우에 단지 하나의 버퍼를 사용할 수 있다. 어떠한 코딩 효율 불이익도 야기하지 않으나, 엔드-투-엔드 지연이 감소된다.
본 발명의 제 3 양상은 NAL 유닛 당과 같은, 비트스트림 패킷 당 계층 지수의 시그널링화에 관한 것이다. 본 발명의 제 3 양상에 따르면, 본 발명의 발명자들은 적용들이 주로 두 가지 형태 중 하나로 나뉘는 것을 실현하였다. 정상 적용들은 적당한 수의 계층을 필요로 하고, 따라서 적당한 수의 계층 전체를 완전히 포함하도록 구성되는 각각의 패킷 내의 계층 식별 필드(layer ID field)로부터 곤란을 겪지 않는다. 차례로 과도한 수의 계층을 필요로 하는, 더 복잡ㅎㄴ 적용들은 거의 발생하지 않는다. 따라서, 본 발명의 제 3 양상에 따르면, 다-계층식 비디오 신호에서 시그널링하는 계층 식별 확장은 각각의 패킷 내의 계층 식별 구문 요소가 완전히, 또는 단지 부분적으로, 다-계층식 데이터 스트림 내의 계층 식별 확장과 함께 각각의 패킷의 계층을 결정하는지, 혹은 계층 식별 확장에 의해 완전히 대체되는지/기각되는지를 시그널링하도록 사용된다. 이러한 측정에 의해, 거의 발생하지 않는 적용들에서만 계층 식별 확장이 필요하고, 비트레이트를 소모하나, 대부분의 경우에 있어서, 계층 연관의 효율적인 시그널링이 실현 가능하다.
본 발명의 제 4 양상은 다-계층식 비디오 데이터 스트림 내로 코딩되는 비디오 재료의 정보량의 서로 다른 레벨들 사이의 계층-간 예측 종속의 시그널링에 관한 것이다. 제 4 양상에 따르면, 제 1 구문 구조는 종속 차원들의 수뿐만 아니라 종속 차원(i) 당 순위 레벨들의 최대(Ni), 및 종속 공간 내의 이용 가능한 지점들 중 적어도 하나의 서브셋의 각각의 하나 상으로, 그리고 종속 차원(i) 당 각각의 레벨을 매핑하는, 제 2 구문 구조의 전단 매핑(bijective mapping)을 정의한다. 후자는 계층들 중에서의 종속을 정의한다. 각각의 구문 구조는 각각의 제 2 구문 구조가 속하는 종속 차원(i)의 N 순위 레벨들 중에서의 종속을 기술한다. 따라서, 종속들을 정의하기 위한 수고는 종속 차원의 수와 함께 단지 선형으로 증가하나, 이러한 시그널링화에 의해 부과되는 개별 계층들 사이의 종속들-간 사이의 제한은 상대적으로 낮다.
자연적으로, 위의 모든 양상은 쌍들, 트리플릿들, 또는 전부로 조합될 수 있다.
도면들과 관련하여 본 발명의 바람직한 실시 예들이 아래에 설명된다.
도 1은 아래의 도면들과 관련하여 더 설명되는 다-계층 인코더들 중 어느 하나를 구현하기 위한 일례로서 역할을 하는 비디오 인코더를 도시한다.
도 2는 도 1의 비디오 인코더에 적합한 비디오 디코더를 나타내는 개략적인 블록 다이어그램을 도시한다.
도 3은 파면 병렬 처리 처리를 위하여 서브스트림들로 세분된 화상의 개략적인 다이어그램을 도시한다.
도 4는 블록들로 세분되는, 어떠한 계층의 화상을 나타내고 화상의 공간 세그먼트들로의 또 다른 세분을 나타내는 개략적인 다이어그램을 도시한다.
도 5는 블록들 및 타일들로 세분되는, 어떠한 계층의 화상의 개략적인 다이어그램을 도시한다.
도 6은 블록들 및 서브스트림들로 세분되는 어떠한 계층의 화상의 개략적인 다이어그램을 도시한다.
도 7은 기본 및 종속 시점들의 화상들을 개략적으로 도시하는데, 종속 시점 화상은 기본 시점 화상의 앞에 배치되고 둘 모두는 일 실시 예에 따라, 공간 세그먼트 경계들로부터 더 멀리 떨어져 위치되는 기본 시점 블록들에 대하여 공간 세그먼트 경계들에 가까운 기본 시점 블록들의 차이 벡터들의 가능한 값들의 도메인의 제한을 설명하기 위하여 서로 등록된다.
도 8은 일 실시 예에 따라 시점-간 예측 제한들 및 공간 세그먼트 경계들을 지원하는 인코더의 개략적인 블록 다이어그램을 도시한다.
도 9는 도 8의 인코더에 적합한 디코더의 개략적인 블록 다이어그램을 도시한다.
도 10은 차이 벡터들의 가능한 값들 및/또는 시점-간 예측된 종속 시점 블록들의 시점-간 예측 프로세스의 가능한 변형들의 도메인의 제한을 결정하는데 있어서의 양상들을 설명하기 위하여 차이 벡터들을 사용하여 시점-간 예측을 나타내는 개략적인 다이어그램을 도시한다.
도 11은 시점-간 예측을 적용하기 위하여 종속 시점의 예측 파라미터들을 위한 시점-간 예측을 나타내는 개략적인 다이어그램을 도시한다.
도 12는 각각 코드 블록들과 타일들로 세분되는 화상의 개략적인 다이어그램을 도시하는데, 타일들은 코드 블록들의 정수배(integer multiple)로 구성되고 디코딩 순서는 타일들로의 화상의 세분 후에 코드 블록들 중에서 정의된다.
도 13a은 고효율 비디오 코딩에서 도 8 내지 11의 실시 예를 바람직하게 구성하기 위한 일례로서 변형된 비디오 파라미터 세트 구문 중에서의 일부분을 도시한다.
도 13b는 도 13a의 부분과 상응하나, 시퀀스 파라미터 세트 구문에 속하는 일부분을 도시한다.
도 13c는 변형된 비디오 파라미터 세트 구문 중에서 또 다른 바람직한 부분을 도시한다.
도 13d는 시점-간 예측 변화 시그널링화를 구현하기 위한 변형된 VPS 구문의 일례를 도시한다.
도 13e는 또한 공간 세그먼트 경계들에서 시점-간 예측 변경을 시그널링하기 위한 변형된 비디오 파라미터 세트 구문 중에서의 일부분을 위한 또 다른 실시 예를 도시한다.
도 13f는 또한 변형된 비디오 파라미터 세트 구문 중에서의 일부분을 위한 또 다른 실시 예를 도시한다.
도 13g는 시점-간 예측 변경/제한을 시그널링하는 또 다른 가능성으로서 변형된 비디오 파라미터 세트 구문 중에서의 일부분을 도시한다.
도 14는 시점-간 예측 변경/제한을 시그널링하기 위한 변형된 비디오 파라미터 세트 구문의 일부분을 위한 일례를 도시한다.
도 15는 일 실시 예에 따라 시점-간 예측 변경/제한에 대한 변형이 동시에 트리거링될 수 있는 공간 세그먼트 경계들에서, 기본 계층 필터 프로세스를 위한 가능한 변형들을 설명하기 위하여 하나가 나머지의 상단 상에 도시된, 종속 시점 화상 및 기본 시점 화상의 오버레이의 개략적인 다이어그램을 도시한다.
도 16은 여기서는 바람직하게는 세 개의 계층을 포함하는, 다-계층식 비디오 데이터 스트림의 개략적인 다이어그램을 도시하고, 각각의 시간 인스턴트에 속하는 NAL 유닛들 및 데이터 스트림 내의 각각의 층의 배치를 위한 선택사항 1 및 2가 도 16의 하단 반에 도시된다.
도 17은 데이터 스트림 중에서의 일부분의 개략적인 다이어그램을 도시하고 두 계층의 바람직한 경우에서의 이러한 두 가지 선택사항을 도시한다.
도 18은 선택사항 1의 도 16 및 17에 따라 다-계층식 비디오 데이터 스트림들을 처리하도록 구성되는 디코더의 개략적인 블록 다이어그램을 도시한다.
도 19는 도 18의 디코더에 적합한 인코더의 개략적인 블록 다이어그램을 도시한다.
도 20은 부가적으로 일 실시 예에 따라 파면 병렬 처리를 사용하여 화상을 병렬 디코딩/인코딩할 때 야기하는 파면을 나타내는, 파면 병렬 처리를 위한 서브스트림들로 세분되는 화상의 개략적인 다이어그램을 도시한다.
도 21은 인터리빙되지 않은 상태에서 각각 세 개의 디코딩 유닛을 갖는 세 개의 시점에 대한 다-계층식 비디오 데이터 스트림을 도시한다.
도 22는 도 21에 따르나 시점들이 인터리빙되는, 다-계층식 비디오 데이터 스트림의 구성의 개략적인 다이어그램을 도시한다.
도 23은 가능하게는 액세스 유닛 내의 계층들의 인터리빙에 따르는 제한들을 나타내기 위하여 NAL 유닛들 내의 내부 시퀀스 내의 다-계층식 비디오 데이터 스트림 중에서의 일부분의 개략적인 다이어그램을 도시한다.
도 24는 디코딩 유닛 인터리빙의 시그널링의 가능성을 나타내기 위한 변형된 비디오 파라미터 세트 구문 중에서의 일부분을 위한 일례를 도시한다.
도 25는 NAL 유닛 헤더 중에서의 일부분을 도시하고, 일부분은 바람직하게는 고정 길이 계층 식별 구문 요소를 포함한다.
도 26은 계층 식별 확장 메커니즘 시그널링을 실현하는 가능성을 나타내기 위한 비디오 파라미터 세트 중에서의 일부분을 도시한다.
도 27은 계층 식별 확장 메커니즘 시그널링을 실현하는 또 다른 가능성을 나타내기 위한 비디오 파라미터 세트 중에서의 일부분을 도시한다.
도 28은 또한 계층 식별 확장 메커니즘 시그널링을 실현하는 또 다른 실시 예를 나타내기 위하여 비디오 파라미터 세트 중에서의 일부분을 도시한다.
도 29는 데이터 스트림 내의 계층 식별 확장을 구현하는 가능성을 나타내기 위한 슬라이스 세그먼트 헤더 중에서의 일부분을 도시한다.
도 30은 계층 식별 확장을 구현하는 또 다른 가능성을 나타내기 위하여 슬라이싱된 세그먼트 헤더의 일부분을 도시한다.
도 31은 계층 식별 확장의 실현을 나타내기 위한 비디오 파라미터 세트 구문 중에서의 일부분을 도시한다.
도 32는 계층 식별 확장을 실현하는 또 다른 가능성을 나타내기 위한 데이터 스트림 구문 중에서의 일부분을 도시한다.
도 33은 일 실시 예에 따른 계층 식별 확장을 갖는 계층 식별 구문 요소의 기여의 가능성을 나타내기 위하여 카메라 설정을 개략적으로 도시한다.
도 34는 데이터 스트림 내에 계층 확장 메커니즘을 위한 프레임워크를 시그널링하기 위한 비디오 파라미터 세트 확장 구문 중에서의 일부분을 도시한다.
도 35는 각각 데이터 스트림의 계층들, 종속 공간 내의 이러한 계층들의 배치에 대하여 계층들 사이의 종속들의 시그널링이 제공되는 다-계층식 비디오 데이터 스트림을 처리하도록 구성되는 디코더의 개략적인 다이어그램을 도시한다.
도 36은 종속 공간, 여기서는 공간 내의 각각의 차원이 특정 예측 구조를 사용하는 2차원 공간 내의 계층들의 직접적인 종속 구조를 나타내는 개략적인 다이어그램을 도시한다.
도 37은 서로 다른 계층들 사이의 종속들을 지정하는 직접적인 위치 종속 플래그들의 어레이의 개략적인 다이어그램을 도시한다.
도 38은 서로 다른 위치들 및 서로 다른 차원들 사이의 종속들을 지정하는 직접적인 위치 종속 플래그들의 두 개의 어레이의 개략적인 다이어그램을 도시한다.
도 39는 종속 공간을 정의하는 제 1 구문 구조의 일부분의 시그널링 방법을 나타내는 데이터 스트림 구문 중에서의 일부분을 도시한다.
도 40은 데이터 스트림의 계층들 및 종속 공간 내의 이용 가능한 지점들 사이의 매핑에 대한 제 1 구문 구조의 일부분의 시그널링의 가능성을 나타내기 위하여 데이터 스트림 중에서의 일부분을 도시한다.
도 41은 종속-차원 방식으로 종속들을 설명하는 제 2 구문 요소를 정의하는 가능성을 나타내는 데이터 스트림 중에서 일부분을 도시한다.
도 42는 제2 구문 구조를 정의하는 또 다른 가능성을 도시한다.
우선, 개요로서, 뒤에 제시되는 어떠한 개념들에도 적합한 인코더/디코더 구조를 위한 일례가 제시된다.
도 1은 일 실시 예에 따른 인코더의 일반적인 구조를 도시한다. 인코더(10)는 멀티-스레드식(multi-threaded) 방식 또는 그 외, 즉 단지 단일-스레드식 방식으로 작동할 수 있도록 구현될 수 있다. 죽, 인코더(10)는 예를 들면, 다수의 중앙 처리 유닛 코어들을 사용하여 구현될 수 있다. 바꾸어 말하면, 인코더(10)는 병렬 처리를 지원할 수 있으나 반드시 그럴 필요는 없다. 발생되는 비트스트림들은 또한 단일-스레드식 인코더들/디코더들에 의해 발생/디코딩될 것이다. 그러나, 본 발명의 코딩 개념은 병렬 처리 인코더들이 압축 효율을 위해하지 않고 병렬 처리를 효율적으로 적용하는 것을 가능하게 한다. 병렬 처리 능력과 관련하여, 유사한 설명들이 도 2와 관련하여 뒤에 설명되는 디코더에 대하여 유효하다.
인코더(10)는 비디오 인코더이나 일반적으로 인코더(10)는 또한 화상 인코더일 수 있다. 비디오(14)의 화상(12)은 입력(18)에서 인코더(10)로 들어가는 것으로 도시된다. 화상(12)은 특정 장면, 특 화상 콘텐츠를 나타낸다. 그러나, 인코더(10)는 그 입력에서 또한 두 화상(12 및 15) 모두를 갖는 동일한 시간 인스턴트와 관련되고 서로 다른 계층들에 속하는 또 다른 화상(15)을 수신한다. 단지 설명의 목적을 위하여, 화상(12)은 계층 제로에 속하는 것으로서 도시되고 화상(15)은 계층 1에 속하는 것으로서 도시된다. 도 1은 계층 1이 계층 제로와 관련하여, 더 높은 공간 해상도를 포함할 수 있는, 즉 더 많은 수의 화상 샘플들로 동일한 장면을 나타낼 수 있다는 것을 설명하나, 이는 단지 설명의 목적을 위한 것이며 계층 1의 화상(15)은 대안으로서, 계층 0에 대히여 동일한 공간 해상도를 가질 수 있으나, 예를 들면 시점 방향이 다를 수 있는데, 즉 화상(12 및 15)은 서로 다른 시점들로부터 쵤상되었을 수 있다. 본 명세서에서 사용되는 기본 및 강화 계층의 용어는 계층들의 계층구조 내의 기준 및 종속 계층의 어떠한 세트를 언급할 수 있다는 것에 유의하여야 한다.
인코더(10)는 하이브리드 인코더인데, 즉 화상들(12 및 15)은 예측기(predictor, 18)에 의해 예측되고 잔류 결정기(22)에 의해 획득되는 예측 잔류(20)는 변환/양자화 모듈(24)에서 이산 코사인 변환(DCT)과 같은 스펙트럼 분해와 같은, 변환 및 양자화의 대상이 된다. 이에 따라 획득된, 변환되고 양자화된 예측 잔류(26)는 예를 들면 산술 코딩 또는 콘텍스트-적응성(context-adaptivity)을 사용하는 가변 길이 코딩과 같은, 엔트로피 코더(28) 내의 엔트로피 코딩의 대상이 된다. 디코더를 위하여 잔류의 복원 가능한 버전이 이용 가능한데, 즉 탈양자화되고 재변환된 잔류 신호(30)는 재변환/재양자화 모듈(31)에 의해 복원되고 결합기(33)에 의해 예측기(18)의 예측 신호(32)와 재결합되며, 이에 의해 각각 화상(12 및 15)의 복원(34)을 야기한다. 그러나, 인코더(10)는 블록 기반으로 작동한다. 따라서, 복원된 신호(34)는 블록 경계들에서의 불연속성들로부터 곤란을 겪으며, 따라서 어떤 예측기(18)가 서로 다른 계층들의 그 뒤에 인코딩되는 화상들을 예측하는지를 기초로 하여, 각각 화상들(12 및 15)을 위한 기준 화상(38)을 생산하기 위하여 필터(36)가 복원된 신호(34)에 적용될 수 있다.
예측기(18)는 화상(12)의 특정 블록들을 예측하기 위하여 서로 다른 예측 모드들 중에서 선택할 수 있다. 화상(12)의 그러한 하나의 블록(39)이 바람직하게는 도 1에 도시된다. 화상(12)과 같은 동일한 계층의 이전에 코딩된 화상을 기초로 하여 화상(12)이 분할되는 화상(12)의 어떠한 블록을 위하여 대표되는 블록(39)이 예측되는지에 따라 시간 예측이 존재할 수 있다. 동일한 화상(12)의 이전에 코딩된 부분, 이웃하는 블록(39)을 기초로 하여 어떠한 블록이 예측되는지에 따라 공간 예측 모드가 또한 존재할 수 있다. 화상(15)이 분할되는 어떠한 다른 블록들을 위하여 표현되도록 하기 위하여 화상(15)의 블록(41)이 또한 도 1에 도시된다. 블록(41)을 위하여, 예측기(18)는 방금 설명된 예측 모드들, 즉 시간 및 공간 예측 모드들을 지원할 수 있다. 부가적으로, 예측기(18)는 하부 계층의 화상(12)의 상응하는 부분을 기초로 하여 어떠한 블록(41)이 예측되는지에 따라 층-간 예측 모드를 제공할 수 있다. "상응하는 부분"에서의 "상응하는"은 공간적 상응성, 즉 화상(15) 내에 예측되려는 블록(41)과 동일한 장면의 부분을 나타내는 화상(12) 내의 부분을 나타내어야만 한다.
예측기(18)의 예측들은 자연적으로 화상 샘플들에 한정되지 않을 수 있다. 예측은 또한 어떠한 코딩 파라미터, 즉 예측 모드들, 시간 예측의 움직임 벡터들, 다-시점 예측의 차이 벡터(disparity vector) 등에 적용할 수 있다. 잔류들만이 그리고 나서 비트스트림(40) 내에 코딩된다. 이는 공간 및/또는 계층-간 예측을 사용하고, 코딩 파라미터들은 예측으로 코딩/디코딩될 수 있다. 심지어 여기서도, 차이 보상이 사용될 수 있다.
양자화된 잔류 데이터(26), 즉 변환 계수 레벨들과 다른 잔류 데이터뿐만 아니라, 예를 들면 예측기(18)에 의해 결정되는 것과 같이 화상들(12 및 15)의 개별 블록들(39 및 41)을 위한 예측 모드들과 예측 파라미터들을 포함하는, 코딩 파라미터들을 컴파일하기(compile) 위하여 특정 구문이 사용되고 이러한 구문의 구문 요소들은 엔트로피 코더(28)에 의해 엔트로피 코딩의 대상이 된다. 엔트로피 코더(28)에 의해 출력된 것과 같이 이에 따라 획득된 데이터 스트림(40)은 인코더(10)에 의해 출력되는 비트스트림(40)을 형성한다.
도 2는 도 1의 인코더에 적합한, 즉 비트스트림(40)을 디코딩할 수 있는, 디코더를 도시한다. 도 2의 디코더는 일반적으로 도면부호 50으로 표시되고 엔트로피 디코더, 재변환/탈양자화 모듈(54), 결합기(56), 필터(58) 및 예측기(60)를 포함한다. 엔트로피 디코더(42)는 비트스트림을 수신하고 잔류 데이터(62)와 코딩 파라미터들(64)을 복원하기 위하여 엔트로피 디코딩을 실행한다. 재변환/탈양자화 모듈(54)은 잔류 데이터(62)를 탈양자화하고 재변환하며 이에 따라 획득된 잔류 신호를 결합기(56)로 전달한다. 결합기(56)는 또한 예측기(60)로부터 예측 신호(66)를 수신하고, 차례로 예측 신호(66)와 잔류 신호(65)를 결합함으로써 결합기(56)에 의해 결정되는 복원된 신호(68)를 기초로 하여 코딩 파라미터(64)를 사용하여 예측 신호(66)를 형성한다. 예측은 예측기(18)에 의해 최종적으로 선택된 예측을 미러링하는데(mirror), 즉 동일한 예측 모드들이 이용 가능하고 이러한 모드들은 화상들(12 및 15)의 개별 블록들을 위하여 선택되고 예측 파라미터들에 따라 조종된다. 도 1과 관련하여 위에서 이미 설명된 것과 같이, 예측기(60)는 복원된 신호(68)의 필터링된 버전 또는 대안으로서 또는 부가적으로, 일부 중간 버전을 사용할 수 있다. 최종적으로 재생되고 디코더(50)의 출력에서 출력되려는 서로 다른 계층들의 화상들은 유사하게 결합 신호(58)의 필터링되지 않은 버전 또는 일부 필터링된 버전 상에서 결정될 수 있다.
타일 개념에 따르면, 화상들(12 및 15)은 각각 타일들(80 및 82)로 세분되고, 각각 이러한 타일들(80 및 82) 내의 적어도 블록들(39 및 41)의 예측들이 공간 예측을 위한 기본으로서, 각각 동일한 화상(12, 15)의 동일한 타일에 대한 데이터만을 사용하도록 제한된다. 이는 블록(39)의 공간 예측이 동일한 타일의 이전에 코딩된 부분들을 사용하도록 제한되나, 시간 예측 모드는 화상(12')과 같은 이전에 코딩된 화상의 정보에 의존하는데 제한받지 않는다는 것을 의미한다. 유사하게, 블록(41)의 공간 예측 모드는 동일한 타일의 이전에 코딩된 데이터만을 사용하도록 제한되나, 시간 및 계층-간 예측 모드들은 제한받지 않는다. 각각 6개의 타일로의 화상들(15 및 12)의 세분은 단지 설명의 목적을 위하여 선택되었다. 타일들로의 세분은 각각 화상들(12', 12 및 15, 15')을 위하여 개별적으로 비트스트림(40) 내에 선택되고 시그널링될 수 있다. 각각 화상(12 및 15) 당 타일들의 수는 1, 2, 3, 4, 6 등의 수 중 어느 하나일 수 있고, 타일 분할은 타일들의 열들과 행들로의 규칙적인 분할에만 제한될 수 있다. 완전성을 위하여, 개별적으로 타일들을 코딩하는 방법은 예측-간 또는 공간 예측에 제한되지 않을 수 있으나 또한 타일 경계들을 가로지른 코딩 파라미터들의 어떠한 예측 및 엔트로피 코딩 내의 상황 선택을 포함할 수 있다는 것에 유의하여야 한다. 이는 후자가 또한 동일한 타일의 데이터에만 의존되는 것으로 제한될 수 있다는 것이다. 따라서, 디코더는 방금 언급된 작동들을 병렬로, 즉, 타일들의 유닛 내에서 실행할 수 있다.
도 1과 2의 인코더와 디코더는 대안으로서 또는 부가적으로 파면 병렬 처리 개념을 사용할 수 있다. 파면 병렬 처리 서브스트림들(100)은 화상의 파면 병렬 처리 서브스트림들로의 공간 분할을 표현한다. 타일들 및 슬라이스들과 대조적으로, 파면 병렬 처리 서브스트림들은 파면 병렬 처리 서브스트림들(100)을 가로질러 예측들 및 상황 선택들 상으로의 제한들을 부과하지 않는다. 파면 병렬 처리 서브스트림들(100)은 최대 코딩 유닛(largest coding unit, LCU)들, 즉 예측 코딩 모드들이 개별적으로 비트스트림 내에 전송될 수 있는 가장 큰 가능한 블록들의 열들을 가로지르는 것과 같이 열 방향으로 확장하고, 병렬 처리를 가능하도록 하기 위하여, 엔트로피 코딩과 관련하여 하나의 위해만이 만들어진다. 특히, 순서(102)는 파면 병렬 처리 스트림들 중에서 정의되는데, 이는 바람직하게는 상단으로부터 하단으로 이르고, 순서(102) 내의 제 1 파면 병렬 처리 스트림을 제외하고, 각각의 파면 병렬 처리 서브스트림을 위하여, 심벌 알파벳을 위한 확률 추정들, 즉 엔트로피 확률들은 완전히 재설정되지 않으나, 바로 선행하는 파면 병렬 처리 서브스트림을 라인들(104)에 의해 표시되는 것과 같이, 그것들의 제 2 최대 코딩 유닛까지 엔트로피 코딩/디코딩한 후에 결과로서 생긴 확률들로부터 적용되거나 또는 확률들과 동일하도록 설정되며, 최대 코딩 유닛 순서, 또는 서브스트림들의 디코더 순서는 각각의 파면 병렬처리 서브스트림을 위하여 화살표(106)에 의해 표시된 것과 같은 왼쪽과 같이, 각각 동일한 화상(12 및 15)의 측(side)에서 시작하고, 최대 코딩 유닛 방향으로, 나머지 측에 이른다. 따라서, 각각 동일한 화상(12 및 15)의 파면 병렬 처리 서브스트림들의 시퀀스 사이의 일부 코딩 지연을 따름으로써, 이러한 파면 병렬 처리 서브스트림들(100)은 병렬로 디코딩/코딩할 수 있고, 따라서 각각의 화상(12, 15)이 병렬로, 즉 동시에 디코딩/코딩할 수 있는 부분들은 왼쪽으로부터 오른쪽으로 경사 방식으로 화상을 가로질러 이동하는 일종의 파면(308)을 형성한다.
간단히 설명하면 순서들(102 및 104)은 또한 상단부터 하단으로 열(row)별로 상단 왼쪽 최대 코딩 유닛(101)으로부터 하단 오른쪽 최대 코딩 유닛에 이르는 최대 코딩 유닛들 중에서 래스터 스캔 순서(raster scan order)를 정의한다. 파면 병렬 처리 서브스트림들은 각각 하나의 최대 코딩 유닛 열과 상응할 수 있다. 다시 간단히 타일들을 참조하면, 후자는 또한 최대 코딩 유닛 경계들에 정렬되도록 제한될 수 있다. 서브스트림들은 서브스트림의 내부 내의 두 슬라이스 사이의 경계들이 관련되는 한, 최대 코딩 유닛 경계들에 묶이지 않고 하나 이상의 슬라이스로 단편화된다(fragmented). 그러나, 엔트로피 확률들은 그러한 경우에 있어서 서브스트림의 하나의 슬라이스로부터 서브스트림의 그 다음 슬라이스로 전이할 때 적용될 수 있다. 타일들의 경우에 있어서, 전체 타일들은 하나의 슬라이스로 요약될 수 있거나 또는 하나의 타일은 타일의 내부 내의 두 슬라이스 사이의 경계들이 관련되는 한 다시 최대 코딩 유닛 경계들에 묶이지 않고 하나 이상의 슬라이스로 단편화될 수 있다. 타일들의 경우에 있어서, 타일 순서 내의 그 다음 타일로 진행하기 전에 먼저 래스터 스캔 순서 내의 타일 순서 내의 타일들을 교차하기 위하여 최대 코딩 유닛들 중에서의 순서가 변경된다.
지금까지 설명된 것과 같이, 화상(12)은 타일들 또는 파면 병렬 처리 서브스트림들로 분할될 수 있고, 유사하게 화상(15)이 또한 타일들 또는 파면 병렬 처리 서브스트림들로 분할될 수 있다. 가상으로, 파면 병렬 처리 서브스트림분할/개념은 하나의 화상(12 및 15)을 위하여 선택될 수 있으나 타일 분할/개념은 두 개 중 나머지를 위하여 선택된다. 대안으로서, 개념 형태, 즉 타일들 또는 파면 병렬 처리 서브스트림들이 계층들 중에서 동일해야만 하는지에 따라 비트스트림 상에 제한이 부과될 수 있다. 공간 세그먼트를 위한 또 다른 예는 슬라이스들을 포함한다. 슬라이스들은 전송 목적을 위하여 비트스트림(40)을 단편화하도록 사용된다. 슬라이스들은 전송을 위하여 가장 작은 엔티티들인 NAL 유닛들로 패킹된다. 각각의 슬라이스는 독립적으로 코딩/디코딩할 수 있다. 즉, 마치 상황 선택들 등에서와 같이, 슬라이스 경계들을 가로지른 어떠한 예측도 금지된다. 이것들이 모두 공간 세그먼트들, 슬라이스들, 타일들 및 파면 병렬 처리 서브스트림들을 위한 세 가지 예들이다. 부가적으로 세 가지 모든 병렬화 개념, 타일들, 파면 병렬 처리 서브스트림들 및 슬라이스들은 조합하여 사용될 수 있는데, 즉 화상(12 또는 15)은 타일들로 분할될 수 있고, 각각의 타일은 다수의 파면 병렬 처리 서브스트림들로 분할된다. 또한 슬라이스들은 예를 들면(그러나 이에 한정되지 않는) 타일 또는 파면 병렬 처리 경계들에서 비트스트림을 다수의 NAL 유닛들로 분할하도록 사용될 수 있다. 만일 타일들 또는 파면 병렬 처리 서브스트림들을 사용하여 사용하고, 부가적으로 슬라이스들을 사용하여 화상(12, 15)이 분할되고, 슬라이스 분할이 다른 파면 병렬 처리/타일 분할에서 벗어나면, 공간 세그먼트는 화상(12, 15)의 가장 작게 독립적으로 디코딩할 수 있는 섹션으로서 정의되어야만 한다. 대안으로서, 제한은 개념들의 조합이 화상(12 또는 15) 내에서 및/또는 만일 경계들이 정렬되어야만 하면 서로 다르게 사용되는 개념들 사이에서 사용될 수 있는 비트스트림 상에 부과될 수 있다.
인코더와 디코더에 의해 지원되는 다양한 예측 모드들뿐만 아니라 예측 모드들 상에 부과되는 제한들뿐만 아니라 타일 및/또는 파면 병렬 처리 개념과 같은, 병렬 처리 개념들을 가능하도록 하기 위하여 엔트로피 코딩/디코딩을 위한 상황 편차들이 위에서 설명되었다. 또한 인코더와 디코더가 블록 기반으로 작동할 수 있다는 것이 위에서 설명되었다. 예를 들면, 위에 설명된 예측 모드들은 블록 기반으로, 즉 화상들 자체보다 미세한 입상도에서 선택된다. 본 발명의 양상들을 설명하기 전에, 일 실시 예에 따라 슬라이스들, 타일들, 파면 병렬 처리 서브스트림들 및 방금 언급된 블록들 사이의 관계가 설명되어야만 한다.
도 4는 계층(12)과 같은, 계층 0의 화상, 또는 화상(15)과 같은 계층 1의 화상일 수 있는 화상을 도시한다. 화상은 블록들(90)의 어레이로 규칙적으로 분할된다. 때때로, 이러한 블록들(90)은 최대 코딩 블록(LCB)들, 최대 코딩 유닛들, 코딩 트리 블록(CTB)들 등으로 불린다. 블록들(90)로의 화상의 세분은 일종의 기본 또는 위에 설명된 예측들과 잔류 코딩들이 실행되는 가장 거친 입상도를 형성할 수 있고 이러한 가장 거친 입상도, 즉 블록들(90)의 차원은 계층 0 및 1을 위하여 개별적으로 인코더에 의해 시그널링될 수 있고 설정될 수 있다. 예를 들면, 각각의 블록(90)을 각각 예측 블록들, 잔류 블록들 및/또는 코딩 블록들로 세분하기 위하여 쿼드-트리(quad-tree) 세분과 같은 멀티-트리가 데이터 스트림 내에 사용될 수 있고 시그널링될 수 있다. 특히 코딩 블록들은 블록들(90)의 재귀 멀티-트리 세분의 리프 블록(leaf block)들일 수 있고 일부 예측 관련 결정들은 예측 모드들과 같은, 코딩 블록들의 입상도에서 시그널링될 수 있으며, 예를 들면 시간 예측-간의 경우에 움직임 벡터들 및 계층-간 예측의 경우에 차이 벡터들과 같은 예측 파라미터들이 코딩되는 예측 블록들, 및 예측 잔류가 코딩되는 입상도에서 잔류 블록들은 코드 블록들의 개별 재귀 멀티-트리 세분들의 리프 블록들일 수 있다.
래스터 스캔 코딩/디코딩 순서(92)는 블록들(90) 중에서 정의될 수 있다. 코딩/디코딩 순서(92)는 공간 예측의 목적을 위하여 이웃 부분들의 이용 가능성을 제한하는데, 코딩/디코딩 순서(92)가 현재 예측되려는 구문 요소가 관련된, 블록(90) 또는 그것들의 일부 더 작은 블록과 같은 현재 부분을 진행하는지에 따라 화상의 부분들만이 현재 화상 내의 공간 예측을 위하여 이용 가능하다. 각각의 계층 내에서, 코딩/디코딩 순서(92)는 그리고 나서 반드시 화상들의 시간 재생 순서를 따르지는 않는 화상 코딩/디코딩 순서 내의 각각의 계층의 그 다음 화상의 블록들의 횡단을 진행하기 위하여 화상의 모든 블록(90)을 가로지른다. 개별 블록들(90) 내에서, 코딩/디코딩 순서(92)는 코딩 블록들과 같은, 더 작은 블록들 중에서 하나의 스캔으로 정제된다.
방금 언급된 블록들(90) 및 더 작은 블록들과 관련하여, 각각의 화상은 방금 언급된 코딩/디코딩 순서(92)를 따라 하나 이상의 슬라이스로 더 세분된다. 슬라이스들(94a 및 94b)이 바람직하게는 도 4에 도시되고 이에 따라 각각의 화상을 갭 없이 포함한다. 하나의 화상의 연속적인 슬라이스들(94a 및 94b) 사이의 경계 또는 인터페이스(96)는 이웃 블록들(90)의 경계들에 정렬될 수 있거나 또는 정렬되지 않을 수 있다. 더 정확하게 설명하면, 도 4의 왼쪽 면에 도시된 것과 같이, 하나의 화상 내의 연속적인 슬라이스들(94a 및 94b)은 코딩 블록과 같은 더 작은 블록들, 즉 블록들(90) 중 하나의 세분의 리프 블록들의 경계들에서 서로 경계를 이룰 수 있다.
화상의 슬라이스들(94a 및 94b)은 화상이 코딩되는 데이터 스트림의 일부가 패킷들로 패킷화될 수 있는 가장 작은 유닛들, 즉 NAL 유닛들을 형성할 수 있다. 슬라이스들의 또 다른 가능한 특성, 즉 예를 들면 슬라이스 경계들을 가로질러 예측 및 엔트로피 상황 결정과 관련하여 슬라이스들 상으로의 제한이 위에 설명되었다. 그러한 제한들을 갖는 슬라이스들는 "정상(normal)" 슬라이스들로 불린다. 아래에 더 상세히 설명되는 것과 같이, 정상 슬라이스들 이외에 "종속 슬라이스들"이 또한 존재할 수 있다.
블록들(90)의 어레이 중에서 정의되는 코딩/디코딩 순서(92)는 만일 타일 세분 개념이 화상을 위하여 사용되면 변경될 수 있다. 이는 타일들이 자체로 블록들(90)의 유닛들 내의 화상의 정규 세분으로서 정의되는 도 5에 도시된다. 즉, 각각의 타일(82a 내지 82d)은 n×m 블록들(90)의 어레이로 구성되고 n은 타일들의 각각의 열을 위하여 개별적으로 설정되고 m은 타일들의 각각의 행을 위하여 개별적으로 설정된다. 코딩/디코딩 순서(92) 다음에, 그 다음 타일(82b) 등을 진행하기 전에 먼저 제 1 타일 내의 블록들(90)이 래스터 스캔 순서 내에 스캐닝되고, 타일들(82a 내지 82d)은 자체로 래스터 스캔 순서 내에 스캐닝된다.
파면 병렬 처리 분할 개념에 따르면, 화상은 코딩/디코딩 순서(92)를 따라, 블록(90)의 하나 이상의 열의 유닛들 내에 파면 병렬 처리 서브스트림들(98a 내지 98d)로 세분된다. 각각의 파면 병렬 처리 서브스트림은 예를 들면, 도 6에 도시된 것과 같이 하나의 완전한 블록들(90)의 열을 포함한다.
그러나, 타일 개념 및 파면 병렬 처리 개념은 또한 혼합될 수 있다. 그러한 경우에 있어서, 각각의 파면 병렬 처리 서브스트림은 예를 들면, 각각의 타일 내의 블록들(90)의 하나의 열을 포함한다.
심지어 화상의 슬라이스 세분이 타일 분할 및/또는 파면 병렬 처리 서브스트림 분할과 함께 공동 사용된다. 타일들과 관련하여, 화상이 세분되는 하나 이상의 타일 각각은 코딩/디코딩 순서(92)를 따라 정확하게 하나의 완전한 타일 또는 하나 이상의 완전한 타일, 또는 단지 하나의 타일의 하위 부분일 수 있다. 슬라이스들은 또한 파면 병렬 처리 서브스트림들(98a 내지 98d)을 형성하도록 사용될 수 있다. 이를 위하여, 패킷화를 위한 가장 작은 유닛들을 형성하는 슬라이스들은 한편으로는 정상 슬라이스들 및 다른 한편으로는 종속 슬라이스들을 포함할 수 있고, 정상 슬라이스들은 예측 및 엔트로피 상황 편차 상에 위에 설명된 제한들을 부과하고, 종속 슬라이스들은 그러한 제한들을 부과하지 않는다. 코딩/디코딩 순서(92)가 실질적으로 열-방향을 벗어나는 화상의 경계에서 시작하는 종속 슬라이스들은 블록들(90)의 바로 선행하는 열 내의 엔트로피 디코딩 블록(90)으로부터 야기한 것과 같이 엔트로피 상황을 적용하고, 다른 어딘가에서 시작하는 종속 슬라이스들은 그것이 끝까지 바로 선행하는 열 내의 엔트로피 디코딩 블록(90)으로부터 야기한 것과 같이 엔트로피 코딩 상황을 적용할 수 있다. 이러한 측정에 의해, 각각의 파면 병렬 처리 서브스트림(98a 내지 98d)은 하나 이상의 종속 슬라이스들로 구성될 수 있다.
즉, 블록들(90) 중에서 선형으로 정의되는 코딩/디코딩 순서(92)는 각각의 화상의 제 1 측, 여기서는 바람직하게는 왼쪽으로부터 반대면, 바람직하게는 오른쪽으로 이르게 하고, 그리고 나서 아래쪽/하단 방향으로 블록들(90)의 그 다음 열로 진행한다. 현재 화상의 이용 가능한, 즉 이미 코딩/디코딩된 부분들은 주로 왼쪽 및 현재 블록(90)과 같은, 현재 코딩/디코딩된 부분의 상단에 놓인다. 예측들의 붕괴 및 경계들을 가로지른 엔트로피 상황 편차에 기인하여, 하나의 화상의 타일들은 병렬로 처리될 수 있다. 하나의 화상의 타일들의 코딩/디코딩은 심지어 동시에 시작될 수 있다. 제한들은 타일 경계들을 가로지르도록 허용되는 경우에 위에 언급된 인-루프 필터링으로부터 기인한다. 파면 병렬 처리 서브스트림들의 코딩/디코딩의 시작이 차례로, 상단으로부터 하단으로 교번 방식(staggered manner)으로 실행된다. 블록들(90) 내에 측정되는, 연속적인 파면 병렬 처리 서브스트림들의 화상-내 지연은 두 개의 블록(90)이다.
그러나, 심지어 화상(12 및 15), 즉 서로 다른 계층들의 시간 인스턴트의 코딩/디코딩을 병렬화하는 것이 바람직할 수 있다. 분명하게, 종속 계층의 화상(15)의 코딩/디코딩은 이미 이용 가능한 기본 계층의 "공간적으로 상응하는" 부분들이 존재하는 것을 보장하기 위하여 기본 계층의 코딩/디코딩에 비해 지연되어야만 한다. 이러한 사고들은 심지어 개별적으로 어떠한 화상들(12 및 15) 내의 코딩/디코딩의 병렬화를 사용하지 않는 경우에서도 유효하다. 타일 및 파면 병렬 처리 서브스트림 처리를 사용하지 않고, 각각 전체 화상(12 및 15)을 포함하도록 하기 위하여 하나의 슬라이스를 사용하는 경우에도, 화상들(12 및 15)이 코딩/디코딩은 병렬화될 수 있다. 그 다음, 즉 제 6 양상에서 설명되는 시그널링은 계층들의 어떠한 화상들을 위하여 타일 또는 파면 병렬 처리 과정이 사용되는 그러한 경우에서, 또는 이와 관계없이, 계층들 사이의 그러한 디코딩/코딩 지연을 표현하기 위한 가능성이다.
본 발명의 위에 제시된 개념들을 설명하기 전에, 다시 도 1 및 2가 참조된다. 도 1과 2의 인코더와 디코더의 블록 구조는 단지 설명의 목적을 위한 것이나 또한 다를 수 있다는 것을 이해하여야 한다.
연속적인 계층들의 코딩 사이의 최소 코딩 지연에 대한 위의 설명과 관련하여, 디코더는 단기간 구문 요소들을 기초로 하여 최소 디코딩 지연을 결정할 수 있다는 것을 이해하여야만 한다. 그러나, 미리 결정된 시간 기간 동안 미리 이러한 계층-간 시간 지연을 시그널링하기 위하여 장기간 구문 요소들을 사용하는 경우에, 디코더는 제공되는 보장을 사용하여 미래를 계획할 수 있고 비트스트림(40)의 병렬 디코딩 내의 작업량 할당을 더 쉽게 실행할 수 있다.
제 1 양상은 시점들 중에서 계층-간 예측, 특히, 예를 들면 하부 전체 코딩/디코딩 지연 또는 병렬화 능력에 유리한, 차이 보상된 시점-간 예측에 관한 것이다. 상세한 설명이 다음의 도면들로부터 쉽게 이용 가능하다. 간단한 설명을 위하여 도 7이 참조된다.
인코더는 예를 들면, 기본 계층 세그먼트들의 경계들(300)에서 성분-간 예측되도록 종속 시점의 현재 블록(302)을 위하여 차이 벡터의 이용 가능한 도메인(301)을 제한할 수 있다. 303은 제한을 나타낸다. 비교를 위하여, 도 7은 차이 벡터들의 이용 가능한 도메인이 제한되지 않는 종속 시점의 또 다른 블록(302)을 도시한다. 인코더는 디코더가 저지연 의미에서 이를 이용하는 것을 가능하게 하도록 이러한 행동, 즉 데이터 스트림 내의 제한을 시그널링할 수 있다. 즉, 디코더는 계층-간 예측이 인코더와 관련되는 한 정상인 것과 같이 작동할 수 있으나, "비-이용 가능한 세그먼트"의 어떠한 부분도 필요하지 않다는 것을 보장하는데, 즉 디코더는 계층-간 지연을 낮게 유지할 수 있다. 대안으로서, 인코더와 디코더 모두는 부가적으로 예를 들면, 경계들(300)에서 계층-간 예측 파라미터들의 이용 가능한 상태들의 하부 매니폴드를 이용하기 위하여 경계들(300)에서의 계층-간 예측이 관련되는 한 그것들의 작동 모드를 변경한다.
도 8은 시점-간 예측을 사용하여 데이터 스트림(40) 내로 복수의 시점(12 및 15)을 인코딩하도록 구성되는 다-시점 인코더(600)를 도시한다. 도 8의 경우에서, 시점들의 수는 바람직하게는 2로 선택되고, 시점-간 예측은 화살표(602)를 사용하여 도시된 것과 같이 제 1 시점(12)으로부터 제 2 시점(15)에 이른다. 두 개 이상의 시점을 향하는 확장이 쉽게 생각될 수 있다. 이는 이후에 설명되는 실시 예들에 동일하게 적용된다. 시점-간 인코더(600)는 제 1 시점이 분할되는 공간 세그먼트들(301)의 공간 세그먼트 경계들(300)에서 시점-간 예측을 변경하도록 구성된다.
인코더(600)에 대한 가능한 구현 구현의 상세내용에 관한 한, 예를 들면 도 1과 관련하여 제시된 설명이 참조된다. 즉, 인코더(600)는 화상 또는 비디오 인코더일 수 있고 블록-방향(block-wise) 방식으로 작동할 수 있다. 특히, 인코더(600)는 제 1 시점(12)과 제 2 시점(15)을 예측 코딩의 대상이 되도록 하고, 데이터 스트림 내로 예측 파라미터들을 삽입하며, 스펙트럼 분해의 사용에 의해 예측 잔류를 데이터 스트림 내로 변환 코딩하며, 적어도 제 2 시점(15)이 관련되는 한 적어도 공간 및 시점-간 예측(602)을 포함하는 서로 다른 예측 형태들 사이를 스위칭하도록 구성되는, 하이브리드 인코딩 형태일 수 있다. 이전에 언급된 것과 같이, 인코더(600)가 서로 다른 예측 형태들/모드들 사이에서 스위칭하는 유닛들은 코딩 블록들로 불릴 수 있고, 이들의 차원은 변경될 수 있는데, 그 이유는 이러한 코딩 블록들이 예를 들면, 제 2 시점(15)의 화상의 계층구조 멀티-트리 세분의 리프 블록들 또는 제 2 시점(15)의 화상이 규칙적으로 사전 분할될 수 있는 또는 트리 루트 블록들을 표현할 수 있기 때문이다. 시점-간 예측은 블록(302) 내로 부분(608)의 복원된 버전을 복사함으로써 블록(302) 내의 샘플들이 예측되는 부분(608)을 액세스하기 위하여, 제 2 시점(15)의 화상의 시점-간 예측되는 블록(302)에 공동 위치되는, 제 1 시점(12)의 화상의 공간적으로 공동 위치되는 부분(606)에 적용되려는 변위를 나타내는 차이 벡터(604)를 사용하여 각각의 코딩 내의 샘플들의 예측을 야기할 수 있다. 그러나, 성분-간 예측은 제 2 시점(15)의 샘플 값들의 그러한 형태의 성분-간 예측에 제한되지 않는다. 오히려, 부가적으로 또는 대안으로서, 인코더(600)에 의해 지원되는 것과 같은 성분-간 예측은 예측 파라미터 자체로 예측으로 코딩하도록 사용될 수 있는데, 방금 설명된 성분-간 예측에 부가적으로, 인코더(600)가 공간 및/또는 시간 예측을 지원하는 것이 예상된다. 특정 코딩 블록을 공간적으로 예측하는 것은 시간적 예측이 수행하는 것과 같이, 그러한 코딩 블록을 위하여 데이터 스트림(40) 내로 삽입되도록 예측 파라미터들로 끝난다. 그러나, 제 2 시점(15)의 화상의 코딩 블록들의 이러한 예측 파라미터 모두를 데이터 스트림(40) 내로 독립적으로 코딩하는 대신에, 제 1 시점의 화상을 데이터 스트림(40) 내로 코딩하기 위하여 사용된 에측 파라미터들과 독립적으로, 인코더(600)는 예측 파라미터들 또는 제 1 시점(12)이 인코더(600)에 의해 인코딩된 데이터 스트림(40)의 일부분으로부터 이용 가능한 다른 정보를 기초로 하여 제 2 시점(15)의 코딩 블록들을 예측으로 코딩하기 위하여 사용된 예측 파라미터들의 예측과 함께 예측 코딩을 사용할 수 있다. 즉, 움직임 벡터 등과 같은 제 2 시점(15)의 특정 코딩 블록(302)의 예측 파라미터는 예를 들면, 제 1 시점(12)의 상응하는, 또한 시간적으로 예측된 코딩 블록의 움직임 벡터를 기초로 하여 예측될 수 있다. "상응성"은 시점들(12 및 15) 사이의 차이를 고려할 수 있다. 예를 들면, 제 1 및 제 2 시점(12 및 15)은 각각 그것들과 관련된 깊이 맵을 가질 수 있고 인코더(600)는 깊이 맵들의 관련 깊이 값들과 함께 시점들(12 및 15)의 텍스처 샘플들을 데이터 스트림(40) 내로 인코딩하도록 구성될 수 있으며, 인코더(600)는 제 1 시점(12) 내의 "상응하는 코딩 블록"을 결정하기 위하여 코딩 블록(302)의 깊이 추정을 사용할 수 있으며, 이의 .장면 콘텐츠는 제 2 시점(15)의 현재 코딩 블록(302)의 장면 콘텐츠에 더 적합하다. 자연적으로, 그러한 깊이 추정은 또한 코딩되거나 또는 코딩되지 않는 어떠한 깊이 맵에 상관없이, 시점(15)의 인근의 상분-간 예측된 코딩 블록들의 사용된 차이 벡터들을 기초로 하여 인코더(600)에 의해 결정될 수 있다.
이미 설명된 것과 같이, 도 8의 인코더(600)는 공간 세그먼트 경계들(300)의 시점-간 예측을 변경하도록 사용된다. 즉, 인코더(600)는 이러한 공간 세그먼트 경계들(300)에서 시점-간 예측의 방법을 변경한다. 그 이유 및 목적이 아래에 더 설명된다. 특히, 인코더(600)는 시점-간 예측된 코딩 블록(300)의 텍스처 샘플 콘텐츠 또는 그러한 코딩 블록의 특정 예측 파라미터와 같은, 예측되는 제 2 시점(15)의 각각의 엔티티가 시점-간 예측(602)에 의해, 제 1 시점(12)의 정확하게 하나의 공간 세그먼트(301)에만 의존해야만 하는 것과 같은 방법으로 시점-간 예측의 방법을 변경한다. 이의 장점은 샘플 값들 또는 예측 파라미터가 시점-간 예측된, 특정 코딩 블록을 위한 시점-간 예측의 변경의 결과를 보면 쉽게 이해될 수 있다. 시점-간 예측(602)의 변경 또는 제한 없이, 이러한 코딩 블록의 인코딩은 시점-간 예측(602) 내에 분할하는 제 1 시점(12)의 두 개 이상의 공간 세그먼트(301)의 인코딩이 완료될 때까지 연기되어야만 한다. 따라서, 인코더(600)는 어떠한 경우에도 이러한 시점-간 지연/오프셋을 따라야만 하고, 인코더(600)는 시간-오버래핑 방식으로 시점들(12 및 15)의 인코딩에 의한 인코딩 지연을 더 감소시킬 수 없다. 방금 설명된 방식으로 공간 세그먼트 경계들(301)에서 시점-간 예측(602)이 변경/변형될 때 상황은 다른데, 그 이유는 그러한 경우에, 일부 엔티티가 시점-간 예측된, 제 1 시점(12)의 하나(단지 하나)의 공간 세그먼트(301)가 완전히 인코딩되자마자 문제의 그 코딩 블록(602)이 인코딩의 대상이 될 수 있기 때문이다. 이에 의해, 가능한 인코딩 지연은 감소된다.
따라서, 도 9는 도 8의 다-시점 인코더에 적합한 다-시점 디코더(620)를 도시한다. 도 9의 다-시점 디코더는 제 1 시점(12)으로부터 제 2 시점(15)으로 시점-간 예측(602)을 사용하여 데이터 스트림(40)으로부터 복수의 시점(12 및 15)을 복원하도록 구성된다. 위에 설명된 것과 같이, 디코더(620)는 디코더(620)는 데이터 스트림(40)으로부터 판독함으로써 도 8의 다-시점 인코더(600)에 의해 수행되는 것으로 추정되는 것과 같이 동일한 방식으로 시점-간 예측, 및 이들 중 일부가 시점-간 예측된 코딩 블록들인, 제 2 시점(15)의 각각의 코딩 블록들을 위하여 표시되는 예측 모드들과 같이 데이터 스트림 내에 포함된 예측 파라미터들의 적용을 재수행할 수 있다. 위에 이미 설명된 것과 같이, 시점-간 예측(602)은 대안으로서 또는 부가적으로, 예측 파라미터들 자체의 예측과 관련되고, 데이터 스트림(40)은 그러한 시점-간 예측된 예측 파라미터들을 위하여, 예측 잔류 또는 이들 중 하나가 602에 따라 시점-간 예측된, 예측기들의 리스트를 가리키는 지수를 포함할 수 있다.
도 8과 관련하여 이미 설명된 것과 같이, 인코더는 두 개의 세그먼트(301)로부터 정보를 결합하는 시점-간 예측(602)을 방지하기 위하여 경계들(300)에서 시점-간 예측의 방법을 변경할 수 있다. 인코더(600)는 디코더(620)를 위한 투명한 방식으로 이를 달성할 수 있다. 즉, 인코더(600)는 가능한 코딩 파라미터들 중에서의 그 선택과 관련하여 자가-제한을 간단하게 부가할 수 있고, 디코더(620)는 데이터 스트림(40) 내에 전달된 이에 따라 설정된 코딩 파라미터들을 간단하게 적용하며, 따라서 시점-간 예측(602)에서 두 개의 독특한 세그먼트(301)의 정보의 결합은 본질적으로 방지된다.
즉, 디코더(620)가 디코더(620)가 디코딩 시점들(12 및 15)이 병렬인, 데이터 스트림(40)의 디코딩에 대한 병렬 처리의 적용에 관심이 없거나 또는 병렬 처리를 할 수 없는 한, 디코더(620)는 방금 설명된 시점-간 예측에서의 변경을 시그널링하는, 데이터 스트림(40) 내에 삽입된 인코더(600)의 시그널링화를 간단하게 무시할 수 있다. 더 정확하게 설명하면, 본 발명의 일 실시 예에 따르면, 도 8의 인코더는 데이터 스트림 내에서 데이터 스트림(40) 내의 세그먼트 경계들(300)에서의 시점-간 예측의 변경을 시그널링하는데, 즉 경계들(300)에서 어떠한 변경이 존재하는지 또는 존재하지 않는지를 시그널링한다. 만일 적용되는 것으로 시그널링되면, 디코더(620)는 시점-간 예측(602)이 제 2 시점의 각각의 부분(302)에 공동 위치되는, 제 1 시점(12)의 공동 위치되는 부분(302)이 위치되는 공간 세그먼트 이외의 공간 세그먼트에 대한 제 2 시점(15)의 어떠한 부분(302)의 어떠한 종속도 포함하지 않는 것과 같이 시점-간 예측(602)이 공간 세그먼트들(301)의 공간 세그먼트 경계들(300)에서 제한되는 보장으로서 경계들(300)에서의 시점-간 예측(602)의 변경을 간주할 수 있다. 즉, 만일 경계들(300)에서의 시점-간 예측(602)의 변경이 적용되는 것으로 시그널링되면, 디코더(620)는 이를 그것의 샘플들 또는 그것의 예측 파라미터들 중 어느 하나의 예측을 위하여 시점-간 예측(602)이 사용되는 종속 시점(15)의 어떠한 블록(302)을 위하여, 이러한 시점-간 예측(602)이 어떠한 "이웃하는 공간 세그먼트"에 대한 어떠한 종속도 도입하지 않는다는 보장으로서 간주한다. 이는 다음을 의미한다: 각각의 부분/블록(302)을 위하여, 제 2 기점(12)의 각각의 블록과 함께 공동 위치되는 제 1 시점(12)의 공동 위치되는 부분(606)이 존재한다. "공동 위치"는 예를 들면 블록(302)의 원주(circumference)와 국부적으로 정확하게 일치하는 시점(12) 원주 내의 블록을 나타내는 것을 의미한다. 대안으로서, "공동 위치"는 샘플 정확도가 아닌 계층(12)의 화상이 분할되는 블록들의 입상도에서 측정되며 따라서 "공동 위치되는" 블록의 결정은 계층(12)의 화상의 블록들로의 분할 중에서 그러한 블록의 선택, 즉 예를 들면 블록(302)의 상부 왼쪽 모서리 또는 블록(302)의 또 다른 대표적인 위치에 공동 위치되는 위치와 통합하는 블록의 선택을 야기한다. "공동 위치되는 부분/블록"은 606으로 표시된다. 시점들(12 및 15)의 서로 다른 시점 방향들 때문에, 공동 위치되는 부분(606)은 부분(302)과 동일한 장면 콘텐츠를 포함하지 않을 수 있다는 것을 기억하여야 한다. 그럼에도 불구하고, 시점-간 예측 변경 시그널링의 경우에, 디코더(620)는 시점-간 예측(602)의 대상이 되는, 제 2 시점(15)의 어떠한 부분/블록(302)이 지점-간 예측(602)에 의해, 공동 위치되는 부분/블록(606)이 위치되는 그러한 공간 세그먼트(301)에 의존한다는 사실을 추정한다. 즉, 다른 한편으로 서로 등록된(registered) 제 1 및 제 2 시점(12 및 15)의 화상들을 볼 때, 시점-간 예측(602)은 제 1 시점(12)의 세그먼트 경계들(300)을 교차하지 않으나 제 2 시점(15)의 각각의 블록들/부분들(302)이 위치되는 그러한 세그먼트들(301) 내에 남아 있다. 예를 들면, 다-시점 인코더(600)는 제 2 시점(15)의 시점-간 예측된 부분들/블록들의 시그널링된/선택된 차이 벡터들(604)을 적절하게 제한하였거나, 및/또는 "이웃 공간 세그먼트들(301)"의 정보로부터 시점-간 예측(602)을 포함하는 예측기들을 인덱싱하지 않기 위하여 예측기 리스트르 내의 지수들을 적절하게 코딩/선택하였다.
서로 결합되거나 또는 결합되지 않을 수 있는 다양한 실시 예들을 나타내는, 도 8과 9의 인코더와 디코더와 관련하여 가능한 다양한 내용의 설명을 진행하기 전에, 다음이 설명된다. 도 8과 9의 설명으로부터 인코더(600)가 시점-간 예측(602)의 "변경/제한"을 실현할 수 있는 서로 다른 방법들이 존재한다는 것을 자명해진다. 더 완화된 제한에서, 인코더(600)는 시점-간 예측(602)이 두 개 이상의 공간 세그먼트의 정보를 결합하지 않는 것과 같은 방법으로만 시점-간 예측을 제한한다. 도 9의 설명은 더 강력한 제한 예를 특징으로 하고 이에 따라 시점-간 예측(602)은 공간 세그먼트들(301)을 교차하지 않도록 하기 위하여 훨씬 제한되는데: 즉 독점적으로 그것의 "공동 위치되는 블록/부분(606)"이 위치되는 시점-간 예측(602)의 대상이 되는, 제 2 시점(15)의 어떠한 부분/블록(602)도 제 1 시점(12)의 그러한 공간 세그먼트(301)의 정보로부터 시점-간 예측을 통하여 그것의 시점-간 예측기를 획득한다. 인코더는 이에 따라 작용할 수 있다. 후자의 제한 형태는 도 8의 설명에 대한 대안을 나타내고 이전에 설명된 것보다 훨씬 더 강력하다. 두 대안에 따르면, 디코더(620)는 제한을 이용할 수 있다. 예를 들면, 디코더(620)는 만일 적용되도록 시그널링되면, 제 1 시점(12)에 대한 제 2 시점(15)의 디코딩에 있어서 시점-간 디코딩 오프셋/지연을 감소시킴으로써 시점-간 예측(602)의 제한을 이용할 수 있다. 대안으로서 또는 부가적으로, 디코더(620)는 병렬로 시점들(12 및 15)의 디코딩의 시도를 실행하는 것에 대한 결정을 할 때 보장 시그널링을 고려할 수 있다: 만일 보장 시그널링이 적용하도록 시그널링되면, 디코더는 시점-간 병렬 처리를 기회주의적으로 실행하려고 시도할 수 있고 그렇지 않으면 그러한 시도를 자제한다. 예를 들면, 제 1 시점(12)이 각각 제 1 시점(12)의 화상의 1/4을 표현하는 4개의 공간 세그먼트(301)로 분할되는, 도 9에 도시된 실시 예에서, 디코더(620)는 제 1 시점(12)의 제 1 공간 세그먼트(301)가 완전하게 디코딩되자마마 제 2 시점(154)의 디코딩을 시작할 수 있다. 그렇지 않으면, 차이 벡터들(604)이 가로의 본질만인 것으로 추정하면, 디코더(620)는 적어도 제 1 시점(12)의 두 상부 공간 세그먼트들(301) 모두의 완전한 디코딩을 기다려야만 할 수도 있다. 세그먼트 경계들(300)을 따라 더 강력한 변경/제한은 보장의 이용을 더 쉽게 제공한다.
방금 설명된 보장 시그널링화는 예를 들면, 하나의 화상 또는 심지어 화상들의 시퀀스만을 포함하는 범위/유효성(validity)을 가질 수 있다. 따라서, 아래에 설명되는 것과 같이, 이는 비디오 파라미터 세트 또는 시퀀스 파라미터 세트 또는 심지어 화상 파라미터 세트 내에 시그널링될 수 있다.
지금까지, 도 8 및 9와 관련하여 실시 예들이 제시되었는데, 보장 시그널링화를 제외하고는, 데이터 스트림(40) 및 도 8과 9의 인코더와 디코더의 인코딩/디코딩 방법은 시점-간 예측(602)이 변경에 의존하여 변경하지 않는다. 오히려, 데이터 스트림의 디코딩/인코딩 방법은 시점-간 예측(602)의 자가 제한을 적용 또는 비-적용에 관계없이 그대로 남아 있다. 그러나 대안의 실시 예에 따르면, 인코더와 디코더는 보장 경우, 즉 즉 공간 세그먼트 경계들(300)에서 시점-간 예측(602)의 제한을 이용하기 위하여 오히려 데이터 스트림의 인코딩/디코딩 방법을 변경한다. 예를 들면, 데이터 스트림 내에 시그널링할 수 있는 가능한 차이 벡터들의 도메인은 제 1 시점(12)공간 세그먼트 경계(300)의 공동 위치 근처의 제 2 시점(15)의 시점-간 예측되는 블록들/부분들(302)을 위하여 제한될 수 있다. 예를 들면, 다시 도 7이 참조된다. 이에 이미 설명된 것과 같이, 도 7은 제 2 시점(15)의 두 개의 바람직한 블록(302' 및 302)을 도시하며, 그 중 하나는 제 1 시점(12)의 공간 세그먼트 경계들(300)의 공동 위치되는 위치에 가깝게 위치된다. 제 2 시점(15) 내로 전달할 때 제 1 시점(12)의 공간 세그먼트 경계들(300)의 공동 위치되는 부분이 622에 도시된다. 도 7에 도시된 것과 같이, 블록(302)의 공동 위치되는 블록(306)은 공동 위치되는 블록(606)을 포함하는 공간 세그먼트(301a)를 세로로 분리하는 블록(공간 세그먼트 경계(300)에 가깝고, 가로로 이웃하는 공간 세그먼트(301b)는 상당히 큰 차이 벡터들이 공동 위치되는 블록/부분(606)을 왼쪽으로, 즉 이웃하는 공간 세그먼트(301b)를 향하여 이동시키는 정도까지, 적어도 부분적으로 이러한 이웃하는 공간 세그먼트(301b)의 샘플들로부터 복사되도록 시점-간 예측 블록(302)을 야기할 수 있으며, 이러한 경우에 시점-간 예측(602)은 공간 세그먼트 경계(300)를 교차할 수 있다. 따라서 "보장 경우"에 있어서, 인코더(600)는 블록(302)을 위한 그러한 차이 벡터들을 선택하지 않을 수 있고 따라서 블록(302)을 위한 가능한 차이 벡터들의 코딩 가능한 도메인은 제한될 수 있다. 예를 들면 허프만 코딩(Huffman coding)을 사용할 때, 시점-간 예측되는 블록(302)을 위한 차이 벡터를 코딩하도록 사용되는 허프만 코드는 가능한 차이 벡터들의 그것의 제한된 도메인의 상황을 이용하기 위하여 변경될 수 있다. 산술 코딩을 사용하는 경우에, 예를 들면, 이진 산술 전략과 결합하는 또 다른 이진화가 차이 벡터의 코딩을 위하여 사용될 수 있거나, 또는 가능한 차이 벡터들 중에서 또 다른 확률 분포가 사용될 수 있다. 이러한 실시 예에 따르면, 공간 세그먼트 경계들(300)에서 시점-간 예측 제한으로부터 야기하는 작은 코딩 효율 감소는 공간 세그먼트 경계들(300)의 공동 위치되는 위치에 근처의 공간 세그먼트들(302)을 위한 차이 벡터들의 전송과 관련하여 데이터 스트림(40) 내에 전달되려는 부가 정보의 양을 감소시킴으로써 부분적으로 보상될 수 있다.
따라서, 방금 설명된 실시 예에 따르면, 다-시점 인코더들과 다-시점 디코더들 모두는 적용하거나 또는 적용하지 않는 보장 경우에 의존하여, 데이터 스트림으로부터 차이 벡터들의 인코딩/디코딩 방법을 변경한다. 예를 들면, 둘 모두는 차이 벡터들을 디코딩/인코딩하도록 사용되는 허프만 코드를 변경하거나, 또는 차이 벡터들을 산술적으로 디코딩/인코딩하도록 사용되는 이진화 및/또는 확률 분포를 변경한다.
특정 실시 예와 관련하여, 도 8과 9의 인코더와 디코더가 데이터 스트림(40) 내의 시그널링할 수 있는 가능한 차이 벡터들의 도메인을 제한하는 방법을 더 명확하게 설명하기 위하여, 도 10이 참조된다. 도 10은 다시 시점-간 예측되는 블록(302)을 위한 인코더와 디코더의 행동을 도시하는데: 가능한 차이 벡터들의 도메인 중에서 차이 벡터(308)가 현재 블록(302)을 위하여 결정된다. 블록(302)은 따라서 차이-보상된 예측된 예측 블록이다. 제 1 시점(12)은 그때 결정된 차이 벡터(308)에 의해, 현재 블록에 공동 위치되는, 제 1 시점(12)의 공동 위치되는 부분으로부터 대체되는 기준 부분(304)에서 샘플링된다. 데이터 스트림 내의 시그널링할 수 있는 가능한 차이 벡터들의 도메인의 제한은 다음과 같이 수행된다: 제한은 기준 부분(304)이 공동 위치되는 부분(306)이 공간적으로 위치되는, 공간 세그먼트(301a) 내에 완전히 위치되는 것과 같이 만들어진다. 예를 들면, 도 10에 도시된 차이 벡터(308)는 이러한 제한을 충족시키지 않는다. 이는 결과적으로, 블록(302)을 위한 가능한 차이 벡터들의 도메인 외부에 존재하고 일 실시 예에 따르면, 블록(302)이 관련되는 한 데이터 스트림(40) 내에 시그널링될 수 없다. 그러나 대안의 실시 예에 따르면, 차이 벡터(308)는 데이터 스트림 내에 시그널링될 수 있으나 인코더(600)는 보장 경우에 있어서, 이러한 차이 벡터(308)의 적용을 방지하고 예를 들면, 공간 예측 모드와 같은, 블록(302)을 위한 또 다른 예측 모드를 적용하도록 선택한다.
도 10은 또한 차이 벡터들의 도메인의 제한을 실행하기 위하여, 보간 필터 커널 반폭(10, interpolation filter kernel half-width)이 고려될 수 있다는 것을 도시한다. 더 정확하게 설명하면, 제 1 시점(12)의 화상으로부터 차이 보상된 예측된 블록(302)의 샘플 콘텐츠를 복사하는데 있어서, 블록(302)의 각각의 샘플은 서브-펠(sub-pel) 차이 벡터의 경우에, 특정 보간 필터 커널 차원을 갖는 보간 필터를 사용하여 보간을 적용함으로써 제 1 시점(12)으로부터 획득될 수 있다. 예를 들면, 도 10에서 "x"를 사용하여 도시된 샘플 값은 중앙에 샘플 위치 "x"가 위치되는 필터 커널(311) 내의 샘플들을 결합함으로써 획득될 수 있고, 따라서 블록(302)을 위한 가능한 차이 벡터들의 도메인은 그러한 경우에, 기준 부분(304) 내의 샘플들 없이, 필터 커널(311)은 이웃하는 공간 세그먼트(301b)를 오버레이하나(overlay), 현재 공간 세그먼트(301a) 내에 남아 있는 것과 같이 제한될 수 있다. 시그널링 가능한 도메인은 이에 따라 제한될 수 있거나 또는 제한되지 않을 수 있다. 대안의 실시 예에 따르면, 이웃하는 공간 세그먼트(301b) 내에 위치되는 필터 커널(311)의 샘플들은 서브-펠 차이 벡터들을 위한 가능한 차이 벡터들의 도메인의 부가적인 제한을 방지하기 위하여 일부 예외 규칙에 따라 간단하게 다르게 채워질 수 있다. 그러나, 디코더는 시그널링되는 보장의 경우에 있어서만 대체 충전이 적용하는 것을 가능하게 할 수 있다.
후자의 예는 디코더(620)가 데이터 스트림의 엔트로피 디코딩에 부가적으로 또는 대안으로서, 인코더(600)에 의해 데이터 스트림 내로 삽입되는 것과 같이 데이터 스트림 내의 시그널링에 응답하여 공간 세그먼트 경계들(300)에서 시점-간 예측의 실행 방법을 변경할 수 있거나 변경할 수 없다는 사실이 분명히 하였다. 예를 들면, 방금 설명된 것과 같이, 인코더와 디코더 모두는 적용하거나 또는 적용하지 않는 보장 경우에 의존하여 공간 세그먼트 경계(300)를 넘어 확장하는 부분들에서 보간 필터 커널을 다르게 충전할 수 있다. 이는 기준 부분(306) 자체에 동일하게 적용할 수 있는데: 이웃하는 공간 세그먼트(301b) 내로 적어도 부분적으로 확장하도록 동일하게 허용될 수 있고 각각의 부분은 현재 공간 세그먼트(301a) 외부의 어떠한 정보로부터 독립적인 정보를 사용하여 대체하여 충전된다. 실제로, 인코더와 디코더는 보장 경우에 있어서, 기준 부분(304)의 부분들을 갖는 화상 경계들 같은 공간 세그먼트들(300) 및/또는 현재 공간 세그먼트(301a)로부터의 보간에 의해 충전되는 보간 필터 커널(311)을 처리한다.
또한 위에 설명된 것과 같이, 시점-간 예측(602)은 시점-간 예측된 블록(302)의 샘플-와이즈 콘텐츠의 예측에 제한되지 않는다. 오히려, 시점-간 예측은 또한 예를 들면 시점(15)의 시간적으로 예측되는 블록들(302)과 관련된 움직임 파라미터들과 같은 예측 파라미터들의 예측, 또는 공간적으로 예측되는 블록들(302)의 예측 내에 포함되는 공간 예측 파라미터들의 예측에 적용할 수 있다. 경계들(30)에서 그러한 시점-간 예측(602) 상에 부과되는 가능한 변경들, 제한들을 설명하기 위하여, 도 11이 참조된다. 도 11은 파라미터가 적어도 그중에서도 시점-간 예측을 사용하여 예측되어야만 하는, 독립 시점(15)의 블록(302)을 도시한다. 예를 들면, 블록(302)의 파라미터의 몇몇 예측기들의 리스트가 시점-간 예측(602)에 의해 결정될 수 있다. 이를 위하여, 인코더와 디코더는 예를 들면, 다음과 같이 작용한다: 제 1 시점(12)의 기준 부분이 현재 블록(302)을 위하여 선택된다. 기준 블록/부분(314)의 선택 또는 편차는 제 1 계층(12)의 화상이 분할되는 코딩 블록들, 예측 블록들 등과 같은 블록들 중에서 실행된다. 그 편차를 위하여, 제 1 시점(12) 내의 대표 위치(628, representative position)가 블록(302)의 대표 위치(628), 또는 블록(302)과 이웃하는 이웃 블록(320)의 대표 위치(630)에 공동 위치되도록 결정될 수 있다. 예를 들면, 이웃 블록(320)은 블록(302) 상단에 대한 블록일 수 있다. 블록(320)의 결정은 블록(302)의 상부 왼쪽 모서리 샘플의 바로 상단에 대한 샘플을 포함하는 것과 같이 제 2 계층(!5)의 화상이 분할되는 블록들 중에서 블록(320)의 선택을 포함할 수 있다. 대표 위치(628 및 630)는 상부 왼쪽 모서리에서의 샘플 또는 블록의 중간의 샘플 등일 수 있다. 제 1 시점(12) 내의 기준 위치(318)는 그때 628 또는 630에 공동 위치되는 위치이다. 도 11은 위치(628)에 대한 공동 위치를 도시한다. 그리고 나서, 인코더/디코더는 차이 벡터(316)를 추정한다. 이는 예를 들면, 현재 장면의 추정된 깊이 맵을 기초로 하거나 혹은 이미 디코딩되고 블록(302) 또는 블록(320)의 공간-시간적 이웃 내에 존재하는 차이 벡터들을 사용하여 수행될 수 있다. 이에 따라 결정된 차이 벡터(316)는 벡터(318)의 헤드가 위치(632)를 가리키도록 대표 위치(318)에 적용된다. 제 1 시점(12)의 화상의 블록들로의 분할 중에서, 기준 부분(314)은 위치(632)를 포함하는 그러한 부분이 되도록 선택된다. 방금 언급된 것과 같이, 부분/블록(314)의 선택이 만들어지는 분할은 시점(12)의 코딩 블록들, 예측 블록들, 잔류 블록들 및/또는 변환 블록들의 분할일 수 있다.
일 실시 예에 따르면, 다-시점 인코더는 단지 이웃하는 공간 세그먼트(301b), 즉 기준 지점(628)의 공동 위치가 위치되는 공동 위치되는 블록을 포함하지않는 공간 세그먼트 내에 위치하는지를 검사한다. 만일 인코더가 위에 설명된 보장을 디코더에 시그널링하면, 인코더(600)는 현재 블록(302)의 파라미터로의 어떠한 적용을 억제한다. 즉, 블록(302)의 파라미터를 위한 예측기들의 리스트는 경계(300)의 교차에 이르게 하는 시점-간 예측기를 포함할 수 있으나, 인코더(600)는 그러한 예측기의 선택을 방지하고 원치 않는 예측기를 가리키지 않는, 블록(302)의 지수를 선택한다. 보장의 경우에 있어서, 만일 다-시점 인코더와 디코더 모두가 기준 부분(314)이 이웃하는 공간 세그먼트(301b) 내에 위치되는지를 검사하면, 인코더와 디코더 모두는 "경계 교차" 시점-간 예측기를 또 다른 예측기로 대체하거나 또는 예를 들면 또한 공간적으로 및/또는 시간적으로 예측되는 파라미터들 및/또는 하나 이상의 디폴트 예측기를 포함할 수 있는 예측기들의 리스트로부터 간단하게 이를 제외할 수 있다. 조건, 즉 기준 부분(314)이 공간 세그먼트(301a)의 일부분인지 또는 아닌지의 검사, 및 조건부 대체 또는 제외는 보장 경우에서만 수행된다. 비-보장 경우에 있어서, 기준 부분(314)이 공간 세그먼트(301a) 내에 위치되는지 또는 아닌지의 어떠한 검사도 제외될 수 있고 기준 부분(314)의 속성으로부터 유도되는 예측기의 블록(302)의 파라미터의 예측으로의 적용은 기준 부분(314)이 공간 세그먼트(301a 또는 301b) 내에 존재하는지 또는 어디에 존재하는지에 관계없이 수행될 수 있다. 공간 세그먼트(301a) 내에 또는 외부에 위치하는 기준 블록(314)에 의존하여, 블록(314)의 속성으로부터 유도되는 어떠한 예측기의 현재 블록(302)을 위한 파라미터들의 리스트로 추가하지 않거나, 또는 대체 예측기를 추가하는 경우에, 일반적인 시점-간 예측의 각각의 변형은 인코더뿐만 아니라 디코더(620)에 의해 실행된다. 이러한 측정에 의해, 이에 따라 결정된 블록(302)을 위한 예측기들의 리스트 내의 어떠한 예측 지수도 디코더 내의 예측기들의 동일한 리스트를 가리킨다. 블록(302)을 위한 지수의 시그널링 가능한 도메인은 적용하거나 또는 적용하지 않는 보장 경우에 응답하여 제한되거나 또는 제한되지 않을 수 있다. 적용하는 보장 경우에 있어서, 그러나 단지 검사를 실행하는 인코더, 다-시점 인코더는 공간 세그먼트(301a) 내에 위치하는 기준 부분(314)과 관계없이(심지어 적용하거나 또는 적용하지 않는 보장 경우와 관계없이) 블록(302)을 위한 예측기들의 리스트를 형성하나, 보장 경우에 있어서 공간 세그먼트(301a) 외부에 위치하는 블록(314)의 속성으로부터 유도된 경우에 예측기들의 리스트 중에서 예측기를 선택하지 않기 위하여 지수를 제한한다. 그러한 경우에 있어서, 디코더(620)는 동일한 방식, 즉 보장 경우와 비-보장 경우에서와 동일한 방식으로 블록(302)을 위한 예측기들의 리스트를 형성할 수 있는데, 그 이유는 인코더(600)가 이미 시점-간 예측이 이웃하는 공간 세그먼트(301b)로부터의 어떠한 정보도 필요하지 않다고 처리하였기 때문이다.
블록(302)의 파라미터 및 기준 부분(314)의 속성에 대하여, 이는 움직임 벡터, 차이 벡터, 변환 계수와 같은 잔류 신호, 및/또는 깊이 값일 수 있다는 것에 유의하여야 한다.
도 8 내지 11과 관련하여 설명된 시점-간 예측 변경 개념은 고효율 비디오 코딩 표준의 현재 예상되는 확장에, 즉 아래에 설명되는 방식으로 도입될 수 있다. 이와 관련하여, 이후에 바로 제시되는 설명은 도 8 내지 11과 관련하여 위에 제시된 설명에 대한 가능한 구현 내용을 위한 기본으로서 해석되어야만 한다.
중간 설명으로서, 시점-간 예측이 변경/제한되는 경계들에서 유닛들을 형성하는 것으로서 위에 설명된 공간 세그먼트들(301)은 계층-내 병렬 처리가 허용되거나 또는 가능한 유닛들 내의 그러한 공간 세그먼트를 반드시 형성하는 것은 아니라는 것을 이해하여야 한다. 바꾸어 말하면, 비록 위에 설명된 도 8 내지 11의 공간 세그먼트들이 기본 계층(12)이 분할될 수 있는 타일들일 수 있으나, 공간 세그먼트들(301)이 기본 계층(12)의 코딩 트리 루트 블록(CTB)들을 형성하는 예에서와 같은, 다른 예들이 또한 실현 가능하다. 아래에 설명되는 실시 예에서, 공간 세그먼트들(301)은 타일들의 정의에 결합되는데, 즉 공간 세그먼트들은 타일들 또는 타일들의 그룹들이다.
고효율 비디오 코딩에서의 초저지연 및 병렬화를 위한 뒤의 설명에 따르면, 계증-간 예측은 기본 계층 화상의 분할, 특히 타일들을 보장하는 방법으로 제한된다.
고효율 비디오 코딩은 세로 및 가로 경계들을 통하여 코딩된 기본 계층의 코딩된 트리 블록들의 타일들로서 추론되는 직사각형 영역으로의 세분을 허용하고 인-루프 필터링을 제외하고 독립적으로 처리될 수 있다. 인-루프 필터들은 완전히 독립적이 되도록 경계들에서 꺼질 수 있다.
파싱 및 예측 종속들은 화상 경계들 상에서와 같은 타일 경계들에서 깨지나, 인-루프 필터들은 만일 타일 경계 아피팩트들을 감소시키기 위하여 이에 알맞게 구성되면 타일 경계들을 교차할 수 있다. 따라서, 개별 타일들의 처리는 다른 타일들에 완전히 의존하지 않거나 또는 상당한 정도로 필터링 구성에 의존한다. 타일의 모든 코딩 트리 블록이 동일한 슬라이스에 속하여야만 하거나 또는 슬라이스의 모든 코딩 트리 블록이 동일한 타일에 속해야만 한다는 점에서 제한이 설치된다. 도 1에서 알 수 있는 것과 같이, 타일들은 타일들의 순서를 고려하기 위하여 코딩 트리 블록 스캔을 강요하는데, 즉 제 2 타일, 예를 들면 상부 오른쪽에 속하는 코딩 트리 블록들을 진행하기 전에, 제 1, 예를 들면 상부 왼쪽에 속하는 모든 코딩 트리 블록을 진행한다. 타일 구조는 화상 내의 그리드(grid)로 구성되는 각각의 열과 행 내의 코딩 트리 블록들의 수와 차원을 통하여 정의된다. 이러한 구조는 프레임 당 기반으로 변경될 수 있거나 또는 코딩된 비디오 시퀀스 동안에 일정할 수 있다.
도 12는 화상 내의 코딩 트리 블록들의 9개의 타일로의 세분을 도시한다. 굵은 흑색 선들은 타일 경계들을 나타내고 번호는 또 한 타일 순서를 나타내는, 코딩 트리 블록들의 스캐닝 순서를 나타낸다.
고효율 비디오 코딩 확장의 강화 계층 타일은 기본 계층 비트스트림 내의 그러한 상응하는 이미지 영역을 포함하는 모든 타일이 디코딩되자마자 디코딩될 수 있다.
아래는 도 7 내지 11의 개념을 사용하여 낮은 계층-간 코딩 오프셋/지연을 허용하는 제한, 시그널링, 및 인코딩/디코딩 처리 변형들을 설명한다.
고효율 비디오 코딩 내의 경계들과 관련된 변형된 디코딩 과정은 다음과 같을 수 있다:
a) 움직임 및 차이 벡터들은 기본 계층 내의 타일들을 교차하여서는 안 된다.
만일 제한이 가능하면, 다음이 적용되어야만 한다:
만일 계층-간 예측(예를 들면, 샘플 값들, 움직임 벡터들, 잔류 데이터 또는 다른 데이터와 같은)이 기준 화상으로서 기본 시점(계층 12)을 사용하면, 차이 또는 움직임 벡터들은 제한되어야만 하고, 따라서 기준이 된 화상 영역은 병치된(collocated) 기본 계층(CTU)과 동일한 타일에 속한다. 특정 실시 예에서, 움직임 또는 차이 벡터들(308)은 디코딩 과정에서 고정되고, 따라서 기준이 된 화상 영역은 동일한 타일 내부에 위치되고 기준이 된 서브-펠 위치들은 단지 동일한 타일 내부으정보로부터만 예측된다. 더 구체적으로 현재 고효율 비디오 코딩 보간 과정에서 이는 타일 경계들(300)로부터 3 내지 4 펠(pel) 떨어져 고정되도록 서브-펠 위치들을 가리키는 움직임 벡터들 또는 시점-간 움직임 벡터에서 시점-간 잔류 예측 과정을 제한할 수 있고, 이는 동일한 타일 내의 위치들을 가리키도록 차이 벡터들을 제한할 수 있다. 대안의 실시 예는 서브-펠 보간 필터의 커널 차원(310)보다 타일 경계에 더 가까운 서브-펠 위치들을 가리키는 움직임 벡터들을 허용하기 위하여 서브-펠 보간 필터가 화상 경계들과 유사한 타일 경계들을 처리하도록 조정한다. 대안의 실시 예는 이전에 설명된 실시 예에서 고정되었을 수 있는 움직임 또는 차이 벡터들의 사용을 허용하지 않는 비트스트림 제한을 나타낸다.
b) 기본 계층 내의 병치된 블록의 이웃하는 블록들은 서로 다른 타일일 때 사용되어서는 안 된다.
만일 제한이 가능하면, 다음이 적용되어야만 한다:
만일 기본 계층이 이웃하는 블록으로부터의 예측을 위하여 사용되고(예를 들면, 시간적 움직임 벡터 예측(TMVP) 또는 이웃하는 블록 차이 유도와 같이) 타일들이 사용되면 다음을 적용한다: 만일 코딩 트리 유닛(CTU) B가 병치된 기본 계층 코딩 트리 유닛 A와 동일한 타일에 속하면, 기본 계층 내의 협력된 코딩 트리 유닛 A와 다른 코딩 트리 유닛 B로부터 기원하는 예측기 후보들만이 사용되어야만 한다. 예를 들면, 현재 고효율 비디오 코딩 유도 과정에서, 코딩 트리 유닛 B는 병치된 코딩 트리 유닛 A의 오른쪽에 위치될 수 있다. 본 발명의 특정 실시 예에서, 예측 후보들은
서로 다른 예측으로 대체된다. 예를 들면, 병치된 예측 유닛(PU)이 대신에 예측을 위하여 사용될 수 있다. 본 발명의 또 다른 실시 예에서, 관련 예측 모드의 사용은 코딩된 비트스트림 내에 허용되지 않는다.
방금 설명된 고효율 비디오 코딩 변형 가능성들을 도 8과 11의 설명 상으로 전달하면, 도 11의 예측 대체가 관련되는 한, 이는 자체로 현재 블록(302)의 기준 위치(628)의 공동 위치되는 위치를 포함하는, 제 1 계층(12)의 그러한 블록의 각각의 속성이 되도록 선택될 수 있다.
c) 시그널링
특정 실시 예들에서, 예를 들면 도 13a, b에 도시된 것과 같이, N 플래그들을 사용하여 위에 설명된 제약/제한들을 가능하게 하도록 다음의 고레벨 구문, 비디오 파라미터 세트(VPS) 또는 시퀀스 파라미터 세트(SPS)가 사용될 수 있다.
여기서 inter_layer_PREDTYPE_RESTYPE_SCAL_flag_N에 대한 inter_layer_PREDTYPE_RESTYPE_SCAL_flag_1에서 PREDTYPE, RESTYPE, SCAL은 아래에 설명되는 것과 같이 서로 다른 값들로 대체될 수 있다:
PREDTYPE은 제약/제한이 적용되는 것을 위한 예측 형태를 나타내고, 다음 또는 아래에 열거되지 않은 또 다른 예측 형태 중 하나일 수 있다:
- 예를 들면, 기본 시점 내의 병치된 블록의 이웃하는 블록들로부터의 시간 움직임 벡터들의 예측을 위한, temporal_motion_vector_prediction
- 예를 들면, 기본 시점 내의 병치된 블록의 이웃하는 블록들로부터의 차이 벡터들의 예측을 위한, disparity_vector_prediction
- 예를 들면, 기본 시점으로부터의 깊이 값들의 예측을 위한, ㅇdepth_map_derivation
- 예를 들면, 기본 시점으로부터의 움직임 벡터들의 예측을 위한, inter_view_motion_prediction
- 예를 들면, 기본 시점으로부터의 잔류 데이터의 예측을 위한, inter_view_residual_prediction
- 예를 들면, 기본 시점으로부터의 샘플 값들의 예측을 위한, inter_view_sample_prediction
대안으로서 이는 제한/제약이 적용되고 제한/제약이 모든 예측 형태를 위하여 적용되거나 또는 제한/제약이 세트 당 하나의 플래그만을 사용하는 예측 형태들의 세트들을 위하여 시그널링되는 예측 형태를 위하여 명확하게 시그널링되지 않는다.
RESTYPE는 제한의 형태를 나타내고 다음 중 하나일 수 있다:
- 예를 들면 제약(비트스트림 제약을 나타내는, 그리고 플래그가 비디오 유용 정보(VUI) 내에 포함될 수 있다)
- 예를 들면 제한(고정(a) 또는 서로 다른 예측기의 선택(b)을 나타내는)
SCAL은 제한/제약이 동일한 형태의 계층들만을 위하여 적용되는지를 나타낸다.
- 예를 들면, same_scal (플래그가 비디오 유용 정보 내에 포함될 때, 제한만이 적용되는 것을 나타내는)
- 예를 들면, diff_scal (기본 및 강화 계층들의 스케일러빌리티(scalability) 형태들에 관계없이, 제한이 적용되는 것을 나타내는)
도 14가 관련된 대안의 실시 예에서, 설명된 모든 제한의 사용은 고레벨 구문 내의 초저지연 모드로서, 예를 들면 비디오 파라미터 세트 또는 시퀀스 파라미터 세트 내의 ultra_low_delay_decoding_mode_flag1으로서 시그널링될 수 있다.
1과 동일한 ultra_low_delay_decoding_mode_flag는 타일 경계들에서 변형된 디코딩 과정의 사용을 나타낸다.
이러한 플래그에 의해 나타나는 제한은 또한 타일 경계 정렬 상의 제약들 및 경계들에 대한 업셈플링 필터 제한들을 포함할 수 있다.
즉, 도 1과 관련하여, 보장 시그널링은 부가적으로 화상들의 시퀀스에 대하여 확장하는 시간 주기와 같은, 미리 결정된 시간 주기 동안에, 제 2 계층의 화상들(15)이 세분되는 보장을 시그널링하도록 사용될 수 있고 따라서 제 2 계층의 화상들의 공간 세그먼트들(82) 사이의 경계들(84)은 제 1 계층의 공간 세그먼트들(80)의 모든 경계(86)를 오버레이한다(가능하게는 만일 공간 스케일러빌리티가 고려되면 업샘플링 이후에). 디코더는 개별 화상들의 유닛들에서와 같은, 미리 결정된 시간 주기, 즉 화상 피치 간격들보다 적은 시간 간격으로 다-계층 비디오 데이터 스트림(40)의 단기간 구문 요소를 기초로 하여 제 1 계층과 제 2 계층의 화상들(12, 15)의 공간 세그먼트들(80 및 82)로의 실제 세분을 주기적으로 결정하나, 정렬에 대한 지식은 이미 병렬 처리 작업량 지정을 계획하는데 도움을 준다. 도 1의 실선들(84)은 예를 들면, 타일 경계들(94)이 계층 0의 타일경계들(86)에 완전하게 공간적으로 정렬되는 일례를 나타낸다. 그러나, 방금 설명된 보장은 또한 계층 0의 타일 분할보다 더 미세하도록 계층 1의 타일 분할을 허용할 수 있고 따라서 계층 1의 타일 분할은 계층 0의 어떠한 타일 경계들(86)을 공간적으로 오버래핑하지 않는 부가적인 타일 경계들을 더 포함할 수 있다. 어떠한 경우에도, 계층 1과 계층 2 사이의 타일 등록에 대한 지식은 디코더가 작업량을 할당하거나 또는 병렬로 동시에 처리되는 공간 세그먼트들 중에서 이용 가능한 전력을 처리하는데 도움을 준다. 장기간 구문 요소 구조 없이, 디코더는 더 적은 시간 간격으로, 즉 화상 당 작업량 할당을 실행하여야만 할 수 있고, 이에 의해 작업량 할당을 실행하도록 컴퓨터 전력을 낭비한다. 또 다른 양상은 "기회주의적 디코딩(opportunistic decoding)인데: 다중 중앙 처리 유닛 코어들을 갖는 디코더는 높은 복잡도의 계층들, 즉 또는 높은 수의 계층들 또는 바꾸어 말하면, 또 다른 시점들을 디코딩하려고 시도하도록 결정하거나 또는 시도하지 않도록 결정하기 위하여 계층들의 병렬화에 관한 지식을 이용할 수 있다. 단일 코어의 능력을 초과하는 비트스트림들은 동일한 디코더의 모든 코어를 이용함으로써 디코딩될 수 있다. 만일 프로파일 및 레벨 표시기가 그러한 최소 병렬에 대한 표시를 포함하지 않으면 이러한 정보는 특히 도움이 된다.
위에 설명된 것과 같이, 보장 시그널링(예를 들면, ultra_low_delay_decoding_mode_flag)은 또한 종속 시점 화상(15)과 다른 공간 해상도를 갖는 기본 계층 화상(12)을 갖는 다-계층 비디오의 경우에 업샘플링 필터(36)를 조종하기 위하여 사용될 수 있다. 만일 업샘플링 필터링이 공간 세그먼트 경계들(86)을 가로질러 계층 0 내에서 실행되면, 계층 0의 공간 세그먼트들(80)의 인코딩/디코딩에 대한 계층 1의 공간 세그먼트들(82)의 병렬 디코딩/인코딩에서 충족되기 위한 지연은 업샘플링 결합함에 따라 증가되고, 따라서 상호 종속적으로, 계층 1의 블록들(41)의 계층-간 예측에서 사용되는 예측 기준(38)으로서 역할을 하도록 계층 0의 이웃하는 공간 세그먼트들의 정보를 제공한다. 예를 들면, 도 15가 참조된다.eb 화상(12 및 15) 모두는 오버레이 방식으로 도시되고 화상들 모두는 공간적 상응성에 따라 서로 차원화되고 등록되는데, 즉 장면의 동일한 부분을 나타내는 부분들은 서로 오버레이한다. 화상들(12 및 15)은 바람직하게는 각각 6과 12, 타일들과 같은 공간 세그먼트들로 분할되도록 도시된다. 필터 커널은 왼쪽 상부 타일을 공간적으로 오버레이하는, 화상(15)의 타일들 내의 어떠한 블록을 계층-간 예측하기 위한 기본으로서 역할을 하는 그것의 업샘플링된 버전을 획득하기 위하여 화상(12)의 왼쪽 상부 타일을 교차하여 이동하는 것으로서 도시된다. 202에서와 같은 일부 중간 인스턴트들에서 커널(200)은 화상(12)의 이웃하는 타일을 오버래핑한다. 업샘플링된 버전의 위치(202)에서 커널(200)의 중간의 샘플 값은 따라서 화상(12)의 상부 왼쪽 타일의 샘플들뿐만 아니라 그 오른쪽으로의 화상(12)의 타일의 샘플들 모두에 의존한다. 만일 화상(12)의 업샘플링된 버전이 계층-간 예측을 위한 기본으로서 역할을 하면, 계층들의 세그먼트들을 병렬 처리하는데 있어서의 계층-간 지연은 증가된다. 따라서, 제한은 서로 다른 계층들을 교차하는 병렬화 양을 중가시키고 이에 따라 전체 코딩 지연을 감소시키는데 도움을 준다. 자연적으로, 구문 요소는 또한 화상들의 시퀀스를 위하여 유효한 장기간 구문 요소일 수 있다. 제한은 다음의 방법들 중 하나로 달성될 수 있다: 예를 들면 커널(200)의 비-파선 부분 내의 샘플 값들의 중심 집중 경향을 갖는, 오버래핑 위치(202) 위치에서 커널(200)의 오버래핑 부분의 필터링, 선형 또는 다른 함수들을 사용하여 비-파선 부분들의 파선 부분 내로의 추정 등.
ultra_low_delay_decoding_mode_flag에 의해 제어되나, 대안으로서(플래그가 불능일 때) 각각의 제한/제약이 개별적으로 가능할 수 있는, 일 실시 예로서 비디오 파라미터 세트 내에 대안의 실시 예가 아래에 주어진다. 이러한 실시 예를 위하여, 도 3c 및 13d가 참조된다. 이러한 실시 예는 또한 다른 비-비디오 코딩 계층(non-VCL) NAL 유닛들(예를 들면, 시퀀스 파라미터 세트 또는 화상 파라미터 세트) 내에 포함될 수 있다. 도 13c 및 13d에서,
1과 동일한 ultra_low_delay_decoding_mode_flag는 여_interleaving_enabled_flag, interlayer_tile_mv_clipping_flag, depth_disparity_tile_mv_clipping_flag, inter_layer_tile_tmvp_restriction_flag 및independent_tile_upsampling_idc는 1과 동일한 것으로 추정되어야만 하고 비디오 파라미터 세트, 시퀀스 파라미터 세트 또는 화상 파라미터 세트 내에 존재하지 않는다는 것을 지정한다.
타일들과 같은 병렬화 기술들이 계층식 코딩된 비디오 시퀀스에서 사용될 때, 통일된 방법으로 타일들의 경계들을 교차하지 않도록 지연 관점으로부터 고효율 비디오 코딩의 확장에서 시점-간 예측과 같은 코딩 공구들의 제한들을 제어하는 것이 유익하다.
일 실시 예에서, independent_tiles_flag의 값은 inter_layer_PREDTYPE_RESTYPE_SCAL_flag-x 또는 independent_tile_upsampling_idc와 같은, 개별 제한/제약들을 제어하는 구문 요소들의 존재를 결정한다. independent_tiles_flag는 또한 도 13e에 도시된 것과 같이 비디어 파라미터 세트 내에 포함될 수 있다. 여기서,
1과 동일한 independent_tiles_flag는 inter_layer_PREDTYPE_RESTYPE_SCAL_flag-N에 대한 inter_layer_PREDTYPE_RESTYPE_SCAL_flag-1을 지정하고, independent_tile_upsampling_idc는 1과 동일한 것으로 추정되어야만 하고 비디오 파라미터 세트, 시퀀스 파라미터 세트 또는 화상 파라미터 세트 내에 존재하지 않는다.
independent_tiles-flag에 의해 위에 언급된 제한들이 제어되는, 일례로서 비디오 파라미터 세트에서 대안의 실시 예가 도 13f에 도시되나, 대안으로서(플래그가 불능일 때) 각각의 제한이 개별적으로 가능할 수 있다. 이러한 실시 예는 또한 도 13g에 도시된 것과 같이 다른 비-비디오 코딩 계층 NAL 유닛들(예를 들면, 시퀀스 파라미터 세트 또는 화상 파라미터 세트) 내에 포함될 수 있다.
도 8 내지 15와 관련하여 지금까지 설명된 위의 실시 예들을 요약하면 서로 다른 계층들/시점들(12 및 15)의 디코딩 사이의 계층-간 디코딩 오프셋을 최적화하기 위하여 데이터 스트림 내의 보장 신호가 디코더(620)에 의해 사용될 수 있거나, 또는 "기회주의적 디코딩"을 참조하여 위에 설명된 것과 같이 계층-간 병렬 처리 시도를 억제하거나 또는 제한하기 위하여 디코더(620)에 의해 보장이 사용될 수 있다.
그 다음에 설명되는 본 발명의 양상은 다-계층 비디오 코딩에서 낮은 엔드-투-엔드 지연을 허용하는 문제점에 관한 것이다. 그 다음에 설명되는 양상은 이전에 설명된 양상과 결합될 수 있으나, 그 반대의 경우도 또한 사실인데, 즉 이제 설명되는 양상은 또한 위에 설명된 상세내용 없이 구현될 수 있다는 것을 설명할 가치가 있다. 이와 관련하여, 아래에 설명되는 실시 예들은 다-시점 코딩에 한정되는 않는다는 것에 또한 유의하여야만 한다. 본 발명의 제 2 양상과 관련하여 아래에 언급되는 다수의 계층들은 서로 다른 시점들을 포함할 수 있으나, 또한 다양한 공간 해상도들, 신호 대 잡음 비율 정확도 등에서 동일한 시점을 표현할 수 있다. 아래에 설명되는 다수의 계층들이 이전의 계층들에 의해 전달되는 정보 콘텐츠를 증가시키는 가능한 스케일러빌리티 차원들은 여러 가지이고 예를 들면, 시점들의 수, 공간 해상도 및 신호 대 잡음 비율 정확도를 포함할 수 있으며, 또 다른 가능성들은 본 발명의 제 3 및 제 3 양상으로부터 자명해질 것이며, 이러한 양상들은 또한 일 실시 예에 따라, 이제 설명되는 양상과 결합될 수 있다.
이제 설명되는 본 발명의 제 2 양상은 실제로 NAL 유닛들의 프레임워크 내로 내장하는 저지연의 달성의 문제점에 관한 것이다. 위에 설명된 것과 같이, NAL 유닛들은 슬라이스들로 구성된다. 타일 및/또는 파면 병렬 처리 개념들은 다-계층식 비디오 데이터 스트림의 서로 다른 계층들을 위하여 개별적으로 선택되는 것이 자유롭다. 따라서, 그 안으로 패킷화된 슬라이스를 갖는 각각의 NAL 유닛은 각각의 슬라이스가 언급하는 화상의 영역에 공간적으로 기인할 수 있다. 따라서, 계층-간 예측의 경우에 저지연 코딩을 가능하도록 하기 위하여, 인코더와 디코더가 서로 다른 계층들의 이러한 화상들의 병렬 처리를 허용하나. 동일한 시간 인스턴트에 속하는 방식으로 이러한 NAL 유닛들 내로 패킷화된 슬라이스들을 각각 인코딩과 전송 및 디코딩을 시작하도록 허용하도록 동일한 시간 인스턴트에 속하는 서로 다른 계층들의 NAL 유닛들을 인터리빙할 수 있는 것이 바람직할 수 있다. 그러나, 적용에 따라, 인코더는 계층 차원 내의 병렬 처리를 허용하기 위한 능력에 대하여, 서로 다른 계층들을 위한 서로 다른 화상들의 그룹 구조들과 같은, 서로 다른 계층들의 화상들 중에서 서로 다른 코딩 순서들을 사용하기 위한 능력을 선호할 수 있다. 따라서, 제 2 양상에 따르면, 데이터 스트림의 구조는 도 16과 관련하여 아래에 다시 설명되는 것과 같을 수 있다.
도 16은 각각의 서로 다른 계층들을 위한 화상들(204)의 시퀀스로 구성되는 다-계층식 비디오 재료(201)를 도시한다. 각각의 계층은 다-계층식 비디오 재료(201)에 의해 기술되는 이러한 장면의 서로 다른 특성을 기술할 수 있다. 죽, 계층들의 의미는 예를 들면 색 성분, 깊이 맵, 투명도 및/또는 시점 중에서 선택될 수 있다. 보편성의 손실 없이, 서로 다른 계층들은 서로 다른 시점들과 상응하고 비디오 재료(201)는 다-시점 비디오인 것으로 추정한다.
저지연을 필요로 하는 적용의 경우에, 인코더는 장기간 고레벨 구문 요소를 시그널링하도록 결정할 수 있다(즉 아래에 소개되는 du_interleaving_enabled_flag를 1과 동일하도록 설정). 그러한 경우에, 인코더에 의해 발생되는 데이터 스트림은 도 16의 중간에 ①에서 도시된 것과 같을 수 있다. 그러한 경우에, 다-계층식 비디오 스트림(200)은 하나의 액세스 유닛(206)에 속하는 NAL 유닛들(202)이 하나의 시간적 시간 인스턴트의 화상들과 관련되고, 서로 다른 액세스 유닛들의 NAL 유닛들(202)이 서로 다른 시간 인스턴트들과 관련되는 것과 같이 NAL 유닛들(202)의 시퀀스로 구성된다. 각각의 액세스 유닛(206) 내에, 각각의 계층을 위하여, 각각의 계층에 대한 NAL 유닛들 중 적어도 일부는 하나 이상의 디코딩 유닛(208)으로 그룹화된다. 이는 다음을 의미한다: NAL 유닛들(202) 중에서, 위에 나타낸 것과 같이, 한편으로는 비디오 코딩 계층 NAL 유닛들 및 다른 한편으로는 비-비디오 코딩 계층 NAL 유닛들과 같은, 서로 다른 형태들의 NAL 유닛들이 존재한다. 더 구체적으로 설명하면, NAL 유닛들(202)은 서로 다른 형태들일 수 있고, 이러한 형태들은 다음을 포함할 수 있다:
1) 슬라이스들, 타일들, 파면 병렬 처리 서브스트림들을 지니는 NAL 유닛들, 즉 화상 샘플 스케일/입상도 상의 화상 콘텐츠를 기술하는 예측 파라미터들 및/또는 잔류 데이터에 대한 구문 요소들. 하나 이상의 그러한 형태가 존재할 수 있다. 비디오 코딩 계층 NAL 유닛들이 그러한 형태이다. 그러한 NAL 유닛들은 제거될 수 없다.
2) 파라미터 세트 NAL 유닛들은 일 부 실시 예들이 위에 설명된 장기간 코딩 설정들과 같은 드물게 변화하는 정보를 지닐 수 있다. 그러한 NAL 유닛들은 예를 들면, 어느 정도까지는, 그리고 반복적으로 데이터 스트림 내에 배치된다.
3) 보충 강화 정보(SEI) NAL 유닛들은 선택적 데이터를 지닐 수 있다.
디코딩 유닛들은 위에 설명된 NAL 유닛들 중 첫 번째로 구성될 수 있다. 더 정확하게 설명하면, 디코딩 유닛들은 "액세스 유닛 내의 하나 이상의 비디오 코딩 계층 NAL 유닛 및 관련 비-비디오 코딩 계층 NAL 유닛들"로 구성될 수 있다. 디코딩 유닛들은 따라서 하나의 화상의 특정 영역, 즉 거기에 포함된 하나 이상의 슬라이스 내로 인코딩된 영역을 기술한다.
서로 다른 계층들과 관련된 NAL 유닛들은 인터리빙되고, 따라서 각각의 디코딩 유닛을 위하여, 각각의 디코딩 유닛을 인코딩하도록 사용되는 계층-간 예측은 각각의 디코딩 유닛이 관련된 계층 이외의 계층들의 화상들의 부분들을 기초로 하고, 이러한 부분들은 각각의 액세스 유닛 내의 각각의 디코딩 유닛을 선행하는 디코딩 유닛들 내로 코딩된다. 예를 들면 도 16의 디코딩 유닛이 참조된다. 이러한 디코딩 유닛은 바람직하게는 종속 계층(2) 및 특정 시간 인스턴트의 각각의 화상의 영역(210)과 관련된다는 것에 유의하여야 한다. 동일한 시간 인스턴트의 기본 계층 화상 내의 공동 위치되는 영역이 212에 의해 표시되고 계층-간 예측을 이용함으로써 디코딩 유닛(208a)을 완전하게 인코딩하기 위하여 이러한 영역(212)을 약간 초과하는 이러한 기본 계층 화상의 영역이 필요할 수 있다. 예를 들면 차이 보상된 예측의 결과는 약간 초과할 수 있다. 이는 차례로 디코딩 유닛(들)(208b)이 계층-간 예측을 위하여 필요한 영역을 완전히 포함하여야만 한다는 것을 의미한다. 인터리빙 입상도를 위한 경계로서 사용될 수 있는 지연 표시에 대하여 위의 설명이 참조된다.
그러나 만일 서로 다른 계층들 중에서 화상들의 디코딩 순서들을 다르게 선택하기 위하여 더 많은 자유도를 이용하면, 디코더는 du_interleaving_enabled_flag를 0과 동일하도록 설정하는 것을 선호할 수 있고, 이러한 경우가 도 16의 하단의 ②에 도시된다. 이러한 경우에, 다-계층식 비디오 데이터 스트림은 계층 식별 및 단일 시간적 시간 인스턴트의 하나 이상의 값들의 특정 쌍에 속하는 각각의 화상을 위하여 개별 액세스 유닛을 갖는다. 도 16에 도시된 것과 같이, (i-1) 번째 디코딩 순서, 즉 시간 인스턴트(t(i-1))에서, 각각의 계층은 모든 계층이 단일 액세스 유닛(AU1) 내에 포함되는 액세스 유닛(AU1, AU2 등)으로 구성될 수 있거나 또는 그렇지 않을 수(즉, 시간 인스턴트(t(i))) 있다. 그러나, 이 경우에 인터리빙은 허용되지 않는다. 액세스 유닛들은 디코딩 순서 지수(i)를 따르는 데이터 스트림(200) 내에 배치되는데, 즉 각각의 계층을 위한 디코딩 순서 지수(i)의 액세스 유닛들 뒤에, 디코딩 순서(i+1)와 상응하는 이러한 계층들의 화상들에 대한 액세스 유닛들이 뒤따른다. 데이터 스트림 내의 시간적 화상-간 예측 시그널링은 동일한 코딩 순서 또는 서로 다른 화상 코딩 순서들이 서로 다른 계층들에 적용하는지에 대하여 시그널링하고, 시그널링은 예를 들면, NAL 유닛들 내로 패킷화된 슬라이스 내에서와 같은, 데이터 스트림 내의 하나 이상의 위치 내에 한 번 또는 심지어 반복적으로 위치될 수 있다.
NAL 유닛 형태들과 관련하여, 그것들 중에서 정의되는 순서 규칙은 디코더가 연속적인 액세스 유닛들의 사이의 경계들이 전송 동안에 제거되었거나 또는 제거되지 않은 제거 가능한 패킷 형태의 NAL 유닛들과 관계없이 위치되는 경계들이 예를 들면 보충 강화 정보 NAL 유닛듣, 또는 반복 화상 데이터 NAL 유닛들 또는 다른 특정 NAL 유닛 형태들을 포함할 수 있다는 것을 결정하는 것을 가능하게 한다는 것에 유의하여야 한다. 즉, 액세스 유닛들 사이의 경계들은 이동하지 않고 남아 있고, 순서 규칙들은 각각의 액세스 유닛 내에 명령되나, 어떠한 두 개의 액세스 유닛 사이의 각각의 경계에서 깨진다.
완전성을 위하여, 도 17은 du_interleaving_flag=1의 경우가 서로 다른 계층들에 속하나 동일한 시간 인스턴트(t(i-1))에 속하는 패킷들이 예를 들면, 하나의 액세스 유닛 내에 분포되도록 허용하는 것을 도시한다. du_interleaving_flag=0의 경우가 도 16에 따라 ②에 도시된다.
그러나, 도 16 및 17과 관련하여, 위에 설명된 인터리빙 시그널링화 또는 인터리빙 시그널링은 누락되고 도 16과 17에서 ①에 도시된 경우에 따라 불가피하게 액세스 유닛 정의를 사용하는 다-계층 비디오 데이터 스트림을 야기할 수 있다는 것에 유의하여야 한다.
일 실시 예에 따르면, 각각의 액세스 유닛 내에 포함된 NAL 유닛들이 데이터 스트림의 계층들과 관련하여 실제로 인터리빙되는지에 대한 사실은 인코더의 재량으로 결정될 수 있다. 데이터 스트림의 처리를 편리하게 하기 위하여, du_interleaving_flag와 같은, 구문 요소는 특정 시간 스탬프의 모든 NAL 유닛을 수집하는 액세스 유닛 내에 포함된 NAL 유닛들의 인터리빙 또는 비-인터리빙을 디코더에 시그널링할 수 이Y고 따라서 후자는 NAL 유닛들을 더 쉽게 처리할 수 있으나. 예를 들면, 인터리빙이 켜지도록 시그널링될 때마다, 디코더는 도 18과 관련하여 간단하게 도시된 것과 같이 하나 이상의 코딩된 화상 버퍼를 사용할 수 있다.
도 18은 도 2와 관련하여 위에 설명된 것과 같이 구현될 수 있고 심지어 도 9와 관련하여 제시된 설명을 따를 수 있는 디코더(700)를 도시한다. 바람직하게는, 도 17의 다-계층식 비디오 데이터 스트림, 선택사항 ①이 디코더에 들어가는 것으로서 도시된다. 서로 다른 계층들에 속하나 액세스 유닛 당 공통 시간 인스턴트에 속하는 NAL 유닛들의 탈인터리빙을 더 쉽게 실행하기 위하여, 디코더(700)는 두 개의 버퍼(702 및 704)를 사용하고 멀티플렉서(706)는 각각의 액세스 유닛(AU)을 위하여, 예를 들면 제 1 계층에 속하는 그러한 액세스 유닛의 NAL 유닛들을 버퍼(702)에 전달하고, 예를 들면 제 2 계층에 속하는 액세스 유닛의 NAL 유닛들을 버퍼(704)에 전달한다. 디코딩 유닛(708)은 그리고 나서 디코딩을 실행한다. 예를 들면, 도 18에서, 기본/제 1 계층에 속하는 NAL 유닛들은 예를 들면, 해칭되지 않은 것으로서 도시되나, 종속/제 2 계층의 NAL 유닛들은 해칭을 사용하여 도시된다. 위에 설명된 인터리빙 시그널링이 데이터 스트림 내에 존재하면, 디코더(700)는 다음의 방식으로 인터리빙 시그널링에 응답할 수 있다: 만일 인터리빙 시그널링이 NAL 유닛 인터리빙이 켜지도록 시그널링하면, 즉 서로 다른 계층들의 NAL 유닛들이 하나의 액세스 유닛(AU) 내에 서로 인터리빙되면, 디코더(700)는 버퍼들(702 및 704)을 사용하고 멀티플렉서(706)는 방금 설명된 것과 같이 네트워크 추상 계층유닛들은 이러한 버퍼들 상에 분포시킨다. 그러나 만일 아니면, 디코더(700)는 예를 들면 버퍼(702)와 같은, 어떠한 액세스 유닛에 의해 포함되는, 모든 네트워크 계층 유닛을 위하여 버퍼들(702 및 704) 중 단지 하나를 사용한다.
도 18의 실시 예를 더 쉽게 하기 위하여, 도 19와 함께 도 18이 첨조되는데, 도 19는 위에 설명된 것과 같은 다-계층 비디오 데이터 스트림을 발생시키도록 구성되는 인코더를 도시한다. 도 19인 인코더는 일반적으로 도면부호 720을 사용하여 표시되고 들어오는 화상, 여기서는 바람직하게는 이해의 편이를 위하여 기본 계층을 형성하는 계층(12) 및 종속 계층을 형성하는 계층(15)으로서 표시되는 두 개의 계층을 인코딩한다. 계층들은 이전에 설명된 것과 같이, 서로 다른 시점들을 형성한다. 인코더(720)가 계층들(12 및 15)의 화상들을 인코딩하는 일반적인 인코딩 순서는 실질적으로 그것들의 시간적(표시 시간) 순서를 따라 이러한 계층들의 화상들을 스캐닝하고, 인코딩 순서(722)는 화상들의 그룹들의 유닛들에서, 화상들(12 및 16)의 표현 시간 순서로부터 벗어난다. 각각의 시간적 시간 인스턴트에서, 인코딩 순서(722)는 그것들의 종속을 따라, 즉 계층(12)으로부터 계층(15)으로 계층들(12 및 15)의 화상들을 통과한다.
인코더(720)는 앞서 언급된 NAL 유닛들의 유닛들로 데이터 스트림(40) 내로 계층들(12 및 15)의 화상을 인코딩되고, 이들 각각은 공간적 의미에서 각각의 화상의 일부분과 관련된다. 따라서, 특정 화상에 속하는 NAL 유닛들은 각각의 화상을 공간적으로 세분하거나 또는 분할하고 이미 설명된 것과 같이, 계층-간 예측은 실질적으로 계층(15)의 화상의 각각의 부분에 공동 위치되는 계층(12)의 시간 정렬된 화상들의 부분들에 의존하여 계층(15)의 화상들의 부분들을 제공하는데, "실질적으로"는 차이 변위들을 포함한다. 도 19의 실시 예에서, 인코더(720)는 특정 시간 인스턴트에 속하는 모든 NAL 유닛을 수집하는 액세스 유닛들을 형성하는데 인터리빙 가능성을 이용하도록 선택되었다. 도 19에서, 도시된 데이터 스트림(40) 중에서의 일부분은 도 18의 디코더로 오는 하나와 상응한다. 즉, 도 19의 실시 예에서, 인코더(720)는 인코딩 계층들(12 및 15) 내의 계층-간 병렬 처리를 사용한다. 시간 인스턴트(t(i-1))가 관련되는 한, 인코더(720)는 계층(12)의 화상의 NAL 유닛 1이 인코딩되자마자 계층 1의 화상의 인코딩을 시작한다. 인코딩이 완료된 각각의 NAL 유닛은 인코더(720)에 의해 각각의 NAL 유닛이 출력된 시간과 상응하는 도착 시간 스탬프가 제공되는, 인코더(720)에 의해 출력된다. 시간 인스턴트(t(i-1))에서 계층(12)의 화상의 제 1 NAL 유닛을 인코딩한 후에, 인코더(720)는 계층(12)의 화상의 콘텐츠의 인코딩을 진행하고 계층(15)의 시간 정렬된 화상의 제 1 NAL 유닛의 도착 시간 스탬프 다음의 도착 시간 스탬프가 제공되는, 계층(12)의 화상의 제 2 NAL 유닛을 출력한다. 즉, 인코더(720)는 인터리빙 방식으로, 모두 동일한 시간 인스턴트에 속하는, 계층들(12 및 15)의 화상들의 NAL 유닛들을 출력하고, 이러한 인터리빙 방식으로, 데이터 스트림(40)의 NAL 유닛들이 실제로 전송된다. 인코더(720)가 인터리빙의 가능성을 이용하도록 선택된 상황이 각각의 인터리빙 시그널링(724)에 의해 데이터 스트림(40) 내에 인코더(720)에 의해 표시된다. 시간 정렬 기반 계층 화상의 모든 NAL 유닛의 인코딩과 출력이 완료될 때까지 계층(15)의 제 1 NAL 유닛이 연기될 수 있는지에 따라 디코더(720)가 비-인터리빙된 시나리오와 비교하여 먼저 시간 인스턴트(t(i-1))의 종속 계층(15)의 제 1 NAL 유닛을 출력할 수 있기 대문에, 도 18의 디코더 및 도 19의 인코더 사이의 엔드-투-엔드 지연은 감소될 수 있다.
위에서 이미 설명된 것과 같이, 대안의 실시 예에서, 비-인터리빙의 경우에, 즉 비-인터리빙된 대안을 나타내는 시그널링(724)의 경우에, 액세스 유닛들의 정의는 동일하게 남는데, 즉 액세스 유닛들(AU)은 특정 시간 인스턴트에 속하는 모든 NAL 유닛을 수집할 수 있다. 그러한 경우에 있어서, 시그널링(724)은 단지 각각의 액세스 유닛 내에, 서로 다른 계층들(12 및 15)에 속하는 NAL 유닛들이 인터리빙되는지를 나타낸다.
위에 설명된 것과 같이, 시그널링(724)에 의존하여, 도 18의 디코딩은 하나의 버퍼 또는 두 개의 버퍼를 사용한다. 인터리빙이 켜진 경우에, 디코더(700)는 예를 들면 계층(12)의 NAL 유닛들이 버퍼(702) 내에 버퍼링되고, 계층(15)의 NAL 유닛들이 버퍼(704) 내에 버퍼링되는 것과 같이, NAL 유닛들을 두 개의 버퍼(702 및 704) 상에 분포시킨다. 버퍼들(702 및 704)은 공의(empty) 액세스 유닛 와이즈이다. 이는 두 시그널링(724) 모두가 인터리빙 또는 비-인터리빙을 나타내는 경우에 사실이다.
만일 인코더(720)가 각각의 NAL 유닛 내의 제거 시간을 설정하면 디코딩 유닛(708)이 계층-간 병렬 처리를 사용하여 데이터 스트림(40)으로부터 디코딩 계층들(12 및 15)의 가능성을 이용하는 것이 바람직하다. 그러나, 디코더(700)가 계층-간 병렬 처리를 적용하지 않더라도 엔드-투-엔드 지연은 이미 감소된다.
위에 이미 설명된 것과 같이, NAL 유닛들은 다른 NAL 유닛 형태일 수 있다. 각각의 NAL 유닛은 가능한 형태들의 세트 중에서, 그리고 각각의 액세스 유닛 내에서 각각의 NAL 유닛의 형태를 나타내는 NAL 유닛 형태 지수를 가질 수 있고, 각각의 액세스 유닛의 NAL 유닛들의 형태들은 NAL 유닛 형태들 중에서 명령 규칙을 따를 수 있고, 두 개의 연속적인 액세스 유닛 사이에서만, 명령 규칙은 깨지며, 따라서 디코더(700)는 이러한 규칙을 조사함으로써 액세스 유닛 경계들을 식별할 수 있다. 더 상세한 정보는 H.264 표준에서 참조된다.
도 18 및 19와 관련하여, 디코딩 유닛(DU)들은 동일한 계층에 속하는, 하나의 액세스 유닛 내의 연속적인 NAL 유닛들의 런(run)들로서 식별 가능하다. 액세스 유닛((AU(i-1)) 내의 도 19에서 "3" 및 "4"로 표시되는 NAL 유닛들은 예를 들면, 하나의 디코딩 유닛을 형성한다. 액세스 유닛((AU(i-1))의 다른 디코딩 유닛들은 하나의 NAL 유닛만을 포함한다. 함께, 도 19의 액세스 유닛((AU(i-1))은 바람직하게는 대안으로서 액세스 유닛(AU(i-1)) 내에 배치되는 6개의 디코딩 유닛(DU)을 포함하는데, 즉 그것들은 대안으로서 계층 1 및 계층 0 사이에서 변경하는 하나의 층을 갖는 하나으 lrP층의 NAL 유닛들의 런들로 구성된다.
제 1 양상과 유사하게, 아래에서 이전에 설명된 제 2 양상이 고효율 비디오 코딩 화상 내에 어떻게 구성되는지에 대하여 이제 설명된다.
그러나 지금까지, 완전성을 위하여, 화상-간 병렬 처리, 즉 파면 병렬 처리를 가능하게 하는, 현재 고효율 비디오 코딩의 또 다른 양상이 설명된다.
도 20은 파면 병렬 처리가 현재 고효율 비디오 코딩 내에서 어떻게 구현되는 지를 설명한다. 즉, 이러한 설명은 또한 위 또는 아래에 설명되는 실시 예들 중 어느 하나의 파면 병렬 처리의 최적 구현들을 위한 기초를 형성해야만 한다.
기본 계층에서, 파면 병렬 처리는 코딩된 트리 블록(CTB들) 열들의 병렬 처리를 허용한다. 예측 종속들은 코딩된 트리 블록 열들을 가로질러 깨지지 않는다. 엔트로피 코딩과 관련하여, 파면 병렬 처리는 콘텍스트 기반 적응 이진 산술 코딩(context-based adaptive binary arithmetic coding, CABAC) 종속들을 도 20에서 알 수 있는 것과 같이, 각각의 상부 코딩된 트리 블록 열 내의 상단 왼쪽 코딩된 트리 블록으로 변경한다. 그 다음 열 내의 코딩된 트리 블록의 엔트로피 코딩은 일단 상응하는 상단 오른쪽 코딩된 트리 블록의 엔트로피 디코딩이 완료된 후에 시작할 수 있다.
강화 계층에서, 상응하는 이미지 영역을 포함하는 코딩된 트리 블록들이 완전히 디코딩되고 이용 가능해지자마자 시작할 수 있다.
고효율 비디오 코딩 및 그 확장에서, 다음의 디코딩 유닛들의 정의가 주어진다:
디코딩 유닛: SubPicHrfFlag가 0과 동일하면 액세스 유닛 혹은 그렇지 않으면, 액세스 유닛 내의 하나 이상의 비디오 코딩 계층 NAL 유닛들 및 관련 비-비디오 코딩 계층 NAL 유닛들로 구성되는, 액세스 유닛의 서브셋.
고효율 비디오 코딩에서, 가상 참조 디코더(hypothetical reference decoder, HRD)는 만일 외부 수단에 의해 우선되고 서브 화상 가상 참조 디코더 파라미터들이 이용 가능하면 디코딩 유닛 레벨(또는 서브-화상 레벨)에서 코딩된 트리 블록 및 DPB를 작동할 수 있다.
고효율 비디오 코딩 사양[1]은 이른바 아래와 같이 정의되는 디코딩 유닛들의 개념을 특징으로 한다.
3.1 디코딩 유닛: SubPicHrfFlag가 0과 동일하면 액세스 유닛 혹은 그렇지 않으면, 액세스 유닛 내의 하나 이상의 비디오 코딩 계층 NAL 유닛들 및 관련 비-비디오 코딩 계층 NAL 유닛들로 구성되는, 액세스 유닛의 서브셋.
예측적 계층-간/시점-간 코딩 공구들을 통한 낮은 계층들에 의존하여 비디오 데이터(예를 들면 높은 충실도, 공간 해상도 또는 서로 다른 카메라 시점들을 갖는)가 코딩되는, 3차원, 다-시점[2] 또는 공간 스케일러빌리티[4]를 위한 고효율 비디오 코딩 확장들에 존재하는 것과 같은 계층식 코딩된 비디오 시퀀스에서, 인코더와 디코더에 대한 엔드-투-엔드(end to end) 지연을 최소화하기 위하여 비트스트림 내의 관련 계층들의 (화상 영역 방식의) 관련 또는 공동 위치되는 디코딩 유닛들을 인터리빙하는 것이 유익할 수 있다.
코딩된 비디오 비트스트림 내의 디코딩 유닛들의 인터리빙을 허용하기 위하여, 코딩된 비디오 비트스트림들에 대한 특정 제약들이 시그널링되고 강요되어야만 한다.
위의 인터리빙 개념이 고효율 비디오 코딩에서 어떻게 구현되는지가 아래의 서브섹션에서 설명되고 추론된다.
다-시점 고효율 비디오 코딩 사양[2]의 드래프트 문서들로부터 획득되는 것과 같은 고효율 비디오 코딩 확장의 현재 상태들이 관련되는 한, 액세스 유닛을 위한 정의가 사용되었고, 이에 따라 하나의 코딩된 화상(nuh_layer_id의 특정 값을 갖는)을 포함하는 것으로 고려된다. 하나의 코딩된 화상은 MVC 내의 시점 성분에 대하여 본질적으로 동일하게 아래에 정의된다. 액세스 유닛이 대신에 동일한 POC 값을 갖는 모든 시점 성분을 포함하도록 정의되어야만 하는지는 공개된 문제였다.
정의된 기본 고효율 비디오 코딩 사양[1]:
3.1 액세스 유닛:
지정된 분류 규칙에 따라 서로 관련된 NAL 유닛들의 세트는 디코딩 순서에서 연속적이고, 정확하게 하나의 코딩된 화상을 포함한다.
유의사항 1 - 코딩된 화상의 비디오 코딩 계층 NAL 유닛들의 포함에 더하여, 액세스 유닛은 또한 비-비디오 코딩 계층 NAL 유닛들을 포함할 수 있다. 액세스 유닛의 디코딩은 항상 디코딩된 화상을 야기한다.
각가그이 액세스 유닛 내의 하나의 코딩된 화상만을 허용하는 액세스 유닛(AU) 정의는 각각의 종속 시점이 개별 코딩된 화상으로서 해석될 수 있고 개별 액세스 유닛 내에 포함되는 것이 필요항 수 있는 방법으로 해석되었다. 이는 도 17의 "2"에 도시된다.
이전 표준들에서, "코딩된 화상"은 특정 시간 스탬프의 화상의 시점 표현들의 모든 계층을 포함한다.
액세스 유닛들은 인터리빙될 수 없다. 이는 만일 각각의 시점이 서로 다른 액세스 유닛 내에 포함되면, 기본 시점의 전체 화상은 종속 화상의 제 1 코딩 유닛(DU)이 디코딩될 수 있기 전에, DPB 내에 포함될 필요가 있다는 것을 의미한다.
종속 계층들/시점들을 갖는 초-저지연 작동을 위하여, 디코딩 유닛들을 인터리빙하는 것이 바람직할 수 있다.
도 21의 실시 예는 각각 세 개의 디코딩 유닛을 갖는 세 개의 시점을 포함한다. 그것들은 왼쪽으로부터 오른쪽으로의 순서로 수신된다.
만일 각각의 시점이 고유의 액세스 유닛 내에 포함되면, 시점(3)의 제 1 디코딩 유닛을 디코딩하기 위한 최소 지연은 시점들(1 및 2)의 완전한 수신을 포함한다.
고효율 비디오 코딩의 스케일러블 확장들 내의 NAL 유닛들의 인터리빙은 다음과 같이 달성될 수 있다:
계층 또는 시점 표현들을 위한 비트스트림 인터리빙 메커니즘 및 병렬화 기술들을 사용하여 매우 낮은 지연을 갖는 종속 시점들을 디코딩하기 위하여 이러한 비트스트림 레이아웃응 사용할 수 있도록 실현될 수 있는 디코더, 디코딩 유닛들의 인터리빙은 플래그(예를 들면, du_interleaving_enabled_flag)를 통하여 제어된다.
고효율 비디오 코딩의 스케일러블 확장 내의 저지연 디코딩 및 병렬화를 허용하기 위하여, 동일한 액세스 유닛의 서로 다른 계층들의 NAL 유닛들의 인터리빙이 필요하다. 따라서, 다음에 따른 정의들이 도입될 수 있다:
액세스 유닛: 지정된 분류 규칙에 따라 서로 관련된 NAL 유닛들의 세트는 디코딩 순서에서 연속적이고, 정확하게 하나의 코딩된 화상을 포함한다.
코딩된 계층 화상 성분들: 계층 화상 성분의 모든 코딩 트리 유닛을 포함하는 계층 화상 성분의 코딩된 표현.
코딩된 화상: 하나 이상의 코딩된 계층 화상 성분을 포함하는 화상의 모든 코딩 트리 유닛을 포함하는 화상의 코딩된 표현.
화상: 화상은 하나 이상의 계층 화상 성분의 세트이다.
계층 화상 성분: 모노크롬 포맷 내의 루마 샘플들의 어레이 또는 코딩된 표현이 액세스 유닛 내의 모든 NAL 유닛 중에서 특정 계층으로부터의 NAL 유닛들로 구성되는, 4.2.0, 4.2.2 및 4.4.4 색 포맷 내의 루마 샘플들의 어레이 및 크로마 샘플들의 두 개의 상응하는 어레이.
디코딩 순서 내의 이전의 NAL 유닛들 내에 수신된 데이터만으로 디코딩될 수 있는 것과 같은 방법으로 그것들 중에서의 종속들 다음에 NAL 유닛들은 인터리빙되는데(du_interleaving_enabled_flag = = 1), 즉 나중에 디코딩 순서 내의 NAL 유닛들로부터 어떠한 데이터도 NAL 유닛의 디코딩을 위하여 필요하지 않다.
디코딩 유닛들의 인터리빙이 적용되고(즉, du_interleaving_enabled_flag = = 1) 루마 및 크로마 성분들이 서로 다른 색 평면들 내로 분리될 때, 색 평면들과 관련된 각각의 NAL 유닛은 인터리빙되도록 허용된다. 이러한 각각의 NAL 유닛들(color_plane_id의 독특한 값과 관련된) 각각은 아래에 설명되는 것과 같은 비디오 코딩 계층 NAL 유닛 순서를 충족시켜야만 한다. 색 평면들이 액세스 유닛 내의 서로들 사이에서 어떠한 코딩 종속들도 갖지 않는 것으로 예상되기 때문에, 그것들은 정상 순서를 따른다.
NAL 유닛 순서 상의 제약들은 코딩된 트리 블록들의 유닛들 내의 공간 세그먼트들 사이의 최악의 경우의 지연/오프셋을 측정하고 보장하는 구문 요소(min_spacial_segment_delay)를 사용하여 표현될 수 있다. 구문 요소는 기본 및 강화 계층들의 코딩된 트리 블록들 또는 공간 세그먼트들(타일들, 슬라이스들 또는 파면 병렬 처리를 위한 코딩된 트리 블록 열들과 같은)사이의 공간 영역들의 종속을 기술한다. NAL 유닛들의 인터리빙 또는 코딩 순서 내의 NAL 유닛들의 순차적 디코딩을 위하여 구문 요소는 필요하지 않다. 병렬 다-계층 디코더는 계층들의 병렬 디코딩을 설정하기 위하여 구문 요소를 사용할 수 있다.
다음의 제약들은 제 1 양상과 관련하여 주로 설명된 것과 같이 계층들/시점들을 가로지르는 병렬화 및 디코딩 유닛들의 인터리빙를 위한 인코더 가능성들에 영향을 미친다.
1) 샘플들과 구문 요소들의 예측
루마 및 크로마 재셈플링을 위한 보간 필터들은 높은 계층들을 위하여 필요한 업샘플링된 데이터를 발생시키기 위하여 낮은 계층들 내의 필요한 데이터에 대한 억제들을 설정한다. 디코딩 종속들은 예를 들면 화상의 공간 세그먼트들이 독립적으로 재샘플링될 수 있는 것과 같이, 이러한 필터들을 제한함으로써 감소될 수 있다. 처리는 제 1 양상과 관련하여 위에서 설명되었다.
"기준 지수 기반 스케일러블 확장들"((Http 라이브 스트리밍(HLS) 접근법)을 위한 움직임 벡터 예측 및 더 구체적으로 시간적 움직임 벡터 예측(TMVP) 세트는 필요한 재샘플링된 화상 움직임 필드를 발생시키기 위하여 낮은 계층 내에 필요한 데이터를를 억제한다. 관련 발명들과 시그널링이 제 1 양상과 관련하여 위에 설명된다.
2) 움직임 벡터들
스케일러블 고효율 비디오 코딩(SHVC)를 위하여 움직임 보상은 저지연과 함께 사용되지 않는데, 즉 만일 기준 화상들로서 낮은 계층들이 사용되면(Http 라이브 스트리밍 접근법) 결과로서 생기는 움직임 벡터들은 제로 벡터들이어야만 한다. 그러나, 다-시점 고효율 비디오 코딩 0 또는 3차원 고효율 비디오 코딩 0을 위하여, 차이 벡터들은 제한될 수 있으나 반드시 제로 벡터들은 아니다. 즉, 시점-간 예측을 위하여 움직임 보상이 사용될 수 있다. 따라서, 움직임 벡터들에 대한 제한은 디코딩을 위하여 이전 NAL 유닛들 내에 수신된 데이터만이 필요하다는 것을 보장하도록 적용될 수 있다. 관련 발명들과 시그널링이 제 1 양상과 관련하여 위에 설명된다.
3) 타일 경계들을 갖는 화상 분할
서로 다른 계층들로부터의 NAL 유닛들의 인터리빙과 함께 만일 병렬 처리 및 저지연을 효율적으로 원하면 강화 계층들 내의 화상 분할은 기준 계층들 내의 분할의 화상 분할에 의존하여 수행되어야만 한다.
비디오 코딩 계층 NAL 유닛들의 순서 및 코딩된 화상에 대한 연관성이 관련되는 한, 다음이 지정될 수 있다.
각각의 비디오 코딩 계층 NAL 유닛은 코딩된 화상의 일부분이다.
코딩된 화상의 코딩된 계층 화상 성분 내의 비디오 코딩 계층 NAL 유닛들, 즉 동일한 layer_id_nuh 값을 갖는 코딩된 화상의 비디오 코딩 계층 NAL 유닛들의 순서는 다음과 같이 제한된다:
- 코딩된 계층 화상 성분의 제 1 비디오 코딩 계층 NAL 유닛은 1과 동일한 first_slice_segment_in_oic_flag를 가져야만 한다.
- sliceSegAddrA 및 sliceSegAddrB를 동일하게 코딩된 계층 화상 성분 내의 어떠한 두 개의 코딩된 슬라이스 세그먼트 NAL 유닛들(A 및 B)의 slice_segment_address 값들이 되도록 한다. 아래의 조건들 중 어느 하나가 참이면, 코딩된 슬라이스 세그먼트 NAL 유닛(A)은 코딩된 슬라이스 세그먼트 NAL 유닛(B)을 진행하여야만 한다:
- TileId[CtbAddrRsToTs[sliceSegAddrA]]는 TileId[CtbAddrRsToTs [sliceSegAddrB]보다 작다.
- TileId[CtbAddrRsToTs[sliceSegAddrA]]는 TileId[CtbAddrRsToTs [sliceSegAddrB]와 동일하고 CtbAddrRsToTs[sliceSegAddrA]는 CtbAddrRsToTs[sliceSegAddrB]보다 작다.
만일 코딩된 화상이 하나 이상의 계층 성분으로 구성되면 모든 화상 성분의 비디오 코딩 계층 NAL 유닛들의 순서는 다음과 같이 제한된다:
- 비디오 코딩 계층 NAL 유닛(A)을 또 다른 계층 화상 성분(layerPicB)을 위한 기준으로서 코딩된 계층 화상 성분(layerPicA) 내의 제 1 비디오 코딩 계층 NAL 유닛(A)이 되도록 한다. 그때 비디오 코딩 계층 NAL 유닛(A)은 layerPicB에 속하는 어떠한 비디오 코딩 계층 NAL 유닛 B를 진행하여야만 한다.
- 그렇지 않으면(제 1 비디오 코딩 계층 NAL 유닛이 아니면), 만일 du_interleaving_enabled_flag가 0과 동일하면, 비디오 코딩 계층 네트워크 추상 계층 A를 또 다른 코딩된 계층 화상 성분(layerPicB)를 위한 기준으로서 사용되는 코딩된 계층 화상 성분(layerPicA)의 어떠한 비디오 코딩 계층 NAL 유닛이 되도록 한다. 그때 비디오 코딩 계층 NAL 유닛 A는 layerPicB에 속하는 어떠한 비디오 코딩 계층 NAL 유닛 B를 진행하여야만 한다.
- 그렇지 않으면(제 1 비디오 코딩 계층 NAL 유닛이 아니고 du_interleaving_enabled_flag가 1과 동일하면), 만일 ctb_based_delay_enabled_flag가 1과 동일하면(즉, 비디오 시퀀스 내에 타일들 또는 파면 병렬 처리(WPP)가 사용되는 것과 관계없이, 코딩된 트리 블록 기반 지연이 시그널링되면), layerPicA는를 또 다른 코딩된 계층 화상 성분(layerPicB)을 위한 기준으로서 사용되는 코딩된 계층 화상 성분이 되도록 한다. 또한 NALUsetA를 layerPicB에 속하는 연속적인 슬라이스 세그먼트 NAL 유닛들의 시퀀스를 바로 뒤따르는 layerPicA에 속하는 연속적인 슬라이스 세그먼트 NAL 유닛들의 시퀀스가 되도록 하고, NALUsetB1 및 NALUsetB2를 NALUsetA를 바로 뒤따르는 layerPicB에 속하는 연속적인 슬라이스 세그먼트 NAL 유닛들의 시퀀스가 되도록 한다. sliceSegAddrA를 NALUsetA의 제 1 세그먼트 NAL 유닛의 slice_segment_address가 되도록 하고 sliceSegAddrB를 NALUsetB2의 제 1 코딩된 슬라이스 세그먼트 NAL 유닛의 slice_segment_address가 되도록 한다. 그때, 아래의 조건들이 참이어만 한다:
- 만일 NALUsetA가 존재하면, NALUsetB2는 존재하여야만 한다.
- CtbAddrRsToTs[PicWidthInCtbsYA * CtbRowBA(sliceSegAddrB-1) + CtbColBA(sliceSegAddrB-1) + min_spacial_segment_delay]는 CtbAddrRsToTs[sliceSegAddrA-1]보다 작거나 또는 동일해야만 한다.
그렇지 않으면(제 1 비디오 코딩 계층 NAL 유닛이 아니고, du_interleaving_enabled_flag가 1과 동일하며 ctb_based_delay_enabled_flag가 0과 동일하면), 만일 tiles_enabled_flag가 0과 동일하고 entropy_coding_sync_enabled_flag가 0과 동일하면(즉, 비디오 시퀀스 내에 타일들과 파면 병렬 처리 모두가 사용되지 않으면), layerPicA를 또 다른 코딩된 계층 화상 성분(layerPicB)을 위한 기준으로서 사용되는 코딩된 계층 화상 성분이 되도록 한다. 또한 비디오 코딩 계층 NAL 유닛 B를 코딩된 계층 화상 성분(layerPicB)의 어떠한 비디오 코딩 계층 NAL 유닛이 되도록 하고 비디오 코딩 계층 NAL 유닛 A를 비디오 코딩 계층 네트워크 추상 계층유닛 A 및 비디오 코딩 계층 NAL 유닛 B 사이의 layerPicA로부터 (mim_apacial_segment_delay-1) 비디오 코딩 계층 NAL 유닛들이 존재하는 sliceSegAddrA와 동일한 slice_segment_address_의 값을 갖는 layerPicA 로부터 선행 비디오 코딩 계층 NAL 유닛이 되도록 한다. 또한 비디오 코딩 계층 NAL 유닛 C를 sliceSegAddrC와 동일한 slice_segment_address_의 값을 갖는 비디오 코딩 계층 NAL 유닛 B를 따르는 코딩된 계층 화상 성분(layerPicB)의 그 다음 비디오 코딩 계층 NAL 유닛이 되도록 한다.
- 항상 비디오 코딩 계층 NAL 유닛 B를 선행하는 layerPicA로부터 mim_apacial_segment_delay 비디오 코딩 계층 NAL 유닛들이 존재하여야만 한다.
- PicWidthInCtbsYA * CtbRowRA(sliceSegAddrC-1) + CtbColBA(sliceSegAddrC-1)은 sliceSegAddrA-1보다 작거나 또는 동일해야만 한다.
- 그렇지 않으면(제 1 비디오 코딩 계층 NAL 유닛이 아니고, du_interleaving_enabled_flag가 1과 동일하며 ctb_based_delay_enabled_flag가 0과 동일하면), 만일 tiles_enabled_flag가 0과 동일하고 entropy_coding_sync_enabled_flag가 1과 동일하면(즉, 비디오 시퀀스 내에 파면 병렬 처리가 사용되면), sliceSegAddrA를 기준으로서 layerPicA를 사용하는 코딩된 계층 화상 성분(layerPicB)에 속하는 sliceSegAddrB와 동일한 slice_segment_address를 갖는 슬라이스 세그먼트 비디오 코딩 계층 NAL 유닛 B를 바로 선행하는 코딩된 계층 화상 성분(layerPicA)의 어떠한 세그먼트 NAL 유닛 A의 slice_segment_address가 되도록 한다. 또한 PicWidthInCtbsYA를 layerPicA의 코딩 트리 블록들의 유닛들 내의 화상 폭이 되도록 한다. 그때, 다음의조건들이 참이어야만 한다:
- (CtbRowBA(sliceSegAddrB) - Floor((sliceSegAddrA)/PicWidthInCtbsYA) + 1)은 min_spatialsegment_delay와 동일하거나 또는 커야만 한다.
그렇지 않으면(제 1 비디오 코딩 계층 NAL 유닛이 아니고, du_interleaving_enabled_flag가 1과 동일하며 ctb_based_delay_enabled_flag가 0과 동일하면), 만일 tiles_enabled_flag가 1과 동일하고 entropy_coding_sync_enabled_flag가 0과 동일하면(즉, 비디오 시퀀스 내에 타일들이 사용되면), sliceSegAddrA를 코딩된 계층 화상 성분(layerPicA)의 어떠한 세그먼트 NAL 유닛 A의 slice_segment_address가 되도록 하고 슬라이스 세그먼트 비디오 코딩 계층 네트워크 추상 계층 B를 sliceSegAddrB와 동일한 slice_segment_address를 갖는 기준으로서 layerPicA를 사용하는 코딩된 계층 화상 성분(layerPicB)에 속하는 제 1 후행 비디오 코딩 계층 NAL 유닛이 되도록 한다. 또한 PicWidthInCtbsYS가 LayerPicA의 코딩 트리 블록들의 유닛들 내의 화상 폭이 되도록 한다. 그때, 다음이 조건이 참이어야만 한다.
- TileId[CtbAddrRsToTs[PicWidthInCtbsYA * CtbRowBA(sliceSegAddrB-1) + CtbCoBA(sliceSegAddrBA-1)]] - TileId[CtbAddrRsToTs[sliceSegAddrA-1]]는 min_spacial_segment_delay와 동일하거나 또는 커야만 한다.
시그널링(724)은 도 24에 도시된 것과 같이, 비디오 파라미터 세트 내에 배치될 수 있고:
du_interleaving_enabled_flag는 du_interleaving_enabled_flag가 1과 동일할 때, 프레임이 그러한 프레임을 위하여 모든 코딩된 계층 화상 성분으로 구성되는 단일 관련 코딩된 화상(즉, 단일 관련 AU)을 가져야만 한다는 것을 지정하고 서로 다른 계층들과 상응하는 NAL 유닛들이 인터리빙될 수 있다. du_interleaving_enabled_flag가 0과 동일할 때, 프레임은 하나 이상의 관련 코딩된 화상(즉, 하나 이상의 관련 AU)을 가질 수 있고 서로 다른 계층 화상 성분들의 비디오 코딩 계층 NAL 유닛들은 인터리빙되지 않는다.
위의 설명을 완결하기 위하여, 디코더(700)와 관련된 이론적 기준 디코더는 도 18의 실시 예와 함께, 시그널링(724)의 설정에 의존하여, 버퍼들(702 및 704)의 하나 이상의 버퍼로 작동하도록, 즉 시그널링(7234)에 따라 이러한 선택들 사이에서 스위칭하도록 적용될 수 있다.
다음에서, 다시 양상 1, 양상 2 또는 둘 모두와 결합될 수 있는, 본 발명의 또 다른 양상이 설명된다. 본 발명의 제 3 양상은 예를 들면 상당한 수의 시점들을 갖는 적용들을 위한 스케일러빌리티 시그널링의 확장에 관한 것이다.
아래에 제시되는 설명의 이해를 쉽게 하기 위하여, 현존하는 스케일러빌리티 시그널링 개념의 개요가 제공된다.
대부분의 최신 3차원 비디오 적용 또는 배치는 두 개의 카메라 시점 각각을 위한 각각의 깊이 맵들이 있거나 또는 없는 입체적(stereoscopic) 콘텐츠 또는 각각의 카메라 시점을 위한 각각의 깊이 맵들이 있거나 또는 없는 높은 수의 시점들(>2)을 갖는 다-시점 콘텐츠를 특징으로 한다.
3차원을 위한 고효율 비디오 코딩 표준[1]과 그 확장성 및 다-시점 비디오[2][3]는 도 25의 구문 테이블에 주어진 것과 같이 각각의 NAL 유닛의 헤더 내에 6 비트 계층 식별기(즉, nuh_layer_id)를 갖는 64개의 서로 다른 계층들을 표현할 수 있는 네트워크 추상 계층 상의 스케일러빌리티 시그널링을 특징으로 한다.
계층 식별기의 각각의 값은 만일 계층 식별기가 또한 깊이 맵을 나타내도록 사용되면 네트워크 추상 계층 상에 나타내도록 최대 64 전용 시점들 또는 32 전용 시점들을 허용하는, 사용중인 스케일러빌리티 차원에 의존하여. 예를 들면 비디오 파라미터 세트 확장을 통하여, 스케일러블 식별기 변수들(예를 들면, DependencyId, ViewId, 등)의 세트로 번역된다.
그러나, 또한 비디오 비트스트림 내로 인코딩되고, 예를 들면 상당한 수의 카메라를 갖는 다중 카메라 어레이들 또는 [5][6][7]에 제시된 것과 같이 많은 수이 시점을 필요로 하는 홀로그램 디스플레이(holoraphic display)들 내에 전달되고, 디코딩되고 디스플레이되기 위하여 실질적으로 많은 수의 시점을 필요로 하는 적용들이 존재한다. 아래의 섹션들은 위에 언급된 확장들을 위한 고효율 비디오 코딩 고레벨 구문 요소의 단점을 설명하는 두 가지 발명을 설명한다.
단순하게 NAL 유닛 헤더 내의 차원(nuh_layer_id_) 필드를 확장하는 것은 문제점의 유용한 해결책으로서 고려되지 않는다. 헤더는 루팅(routing) 또는 추출 같은 비트스트림 상의 작동들을 실행하는 매우 간단한(저 비용) 장치들 내로의 쉬운 액세스를 위하여 필요한, 고정 길이인 것으로 예상된다. 이는 훨씬 적은 시점들이 사용되더라도, 모든 경우를 위하여 부가적인 비트들(또는 바이트)이 추가되어야만 할 수도 있다는 것을 의미할 수 있다.
또한, 표준의 제 1 버전의 완료 후에, NAL 유닛 헤더의 변경은 더 이상 가능하지 않다.
아래의 설명은 위에 설명된 요구사항들을 충족시키기 위하여 스케일러빌리티 시그널링의 가능성들을 확장시키도록 고효율 비디오 코딩 디코더 또는 중간 장치의 확장 메커니즘을 설명한다. 활성 또는 확장 데이터는 고효율 비디오 코딩 고레벨 구문 내에 시그널링될 수 있다.
특히, 아래는 계층 식별기 확장 메커니즘(아래의 섹션에서 설명하는)이 비디오 비트스트림 내에서 이용 가능한 것을 나타내는 시그널링을 설명한다.
제 1 및 제 2 양상 이외에, 고효율 비디오 코딩 프레임워크에서의 제 3 양상의 가능한 구현이 먼저 설명되고, 그리고 나서 아래에 실시 예들의 일반화를 설명한다. 개념은 동일한 액세스 유닛 내의 동일한 현존하는 계층 식별기(즉, nuh_layer_id)를 갖는 다-시점 성분들이 발생을 허용한다. 이러한 시점 성분들 사이를 구별하기 위하여 부가적인 식별기 확장이 사용된다. 이러한 확장은 NAL 유닛 헤더 내에 코딩되지 않는다. 따라서 이는 NAL 유닛 헤더 내에서만큼 쉽게 액세스될 수 없으나, 여전히 더 많은 시점을 갖는 새로운 사용 경우들을 허용한다. 특히 시점 클러스터링(아래의 설명 참조)과 함께, 어떠한 변형 없이 함께 속하는 시점들의 그룹을 추출하기 위하여 이전의 추출 메커니즘이 여전히 사용될 수 있다.
계층 식별기 값들의 현존 범위를 화장하기 위하여, 본 발명은 아래의 메커니즘을 기술한다:
a. 실제 값이 대안의 유도 과정을 사용하여(특정 실시 예에서, NAL 유닛 헤더 내의 구문 요소(nuh_layer_id, 예를 들면 계층 식별기의 최대 값)의 값이 사용되는) 결정되는 것을 나타내기 위하여 현존하는 계층 식별기의 미리 결정된 값이 특별 값(이른바 "탈출 코드(escape code)")으로서 사용된다.
b. 현존하는 계층 식별기 값의 각각의 값의 또 다른 구문 구조와의 결합을 가능하게 하는 고레벨 구문 구조(예를 들면 본 발명의 아래의 실시 예들에서 주어지는 것과 같은 슬라이스 헤더 구문 내 또는 비디오/시퀀스/화상 파라미터 세트 확장 내)에서의 플래그 또는 지수 또는 비트 길이 표시.
확장 메커니즘의 활성은 다음과 같이 구현될 수 있다:
a)를 위하여 분명한 활성 시그널링이 필요하지 않을 수 있는데, 즉 예약된 탈출 코드는 항상 확장(a1)의 사용을 위하여 시그널링하도록 사용될 수 있다. 그러나 이는 1(탈출 코드의 값)에 의한 확장을 사용하지 않고 가능한 계층들/시점들의 수를 감소시킬 수 있다. 따라서 아래의 스위칭 파라미터들이 두 변이(a2) 모두를 위하여 사용될 수 있다.
확장 메커니즘은 전체 비트스트림, 비디오 시퀀스 또는 비디오 시퀀스의 부분들에 대하여 지속되는 하나 이상의 구문 요소를 사용하여 비트스트림 내에서 가능해질 수 있거나 또는 불가능해질 수 있다.
변수 LayerId가 현존하는 계층 식별기 특정 예를 나타내는 확장 메커니즘을 가능허도록 하기 위한 본 발명의 특정 실시 예들은 다음과 같다:
변이 Ⅰ) 변이 Ⅰ이 도 26에 도시된다. 여기서,
Layer_id_ext_flag는 부가적인 LayerId 값들의 사용을 가능하게 한다.
변이 Ⅱ) 변이 Ⅱ가 도 27에 도시된다. 여기서,
1과 동일한 Layer_id_mode_idc는 LayerId의 값 범위가 오프셋 값에 의해 확장되는 것을 나타내는 2와 동일한 nuh_layer_id_mode_idc 내의 탈출 코드를 사용함으로써 LayerId의 값 범위가 확장되는 것을 나타낸다. 0과 동일한 layer_id_mode_idc는 LayerId를 위하여 어떠한 확장 메커니즘도 사용되지 않는 것을 나타낸다.
유의사항: 모드들로의 값들의 서로 다른 할당이 가능하다.
변이 Ⅲ) 변이 Ⅲ이 도 28에 도시된다. 여기서,
layer_id_ext_len은 LayerId 범위의 확장을 위하여 사용되는 비트들의 수를 나타낸다.
위의 구문 요소는 상응하는 NAL 유닛 또는 슬라이스 데이터의 계층 식별기의 표시를 위한 계층 식별기 확장 메커니즘의 사용을 위한 식별기로서 역할을 한다.
아래의 설명에서 변수 LayerIdExtEnabled는 확장 메커니즘이 가능하였다는 불 방식(boolean) 표시기로서 사용된다. 변수는 설명에서 쉬운 참조를 위하여 사용된다. 본 발명의 변수 명칭 예 및 실시 예들은 서로 다른 명칭들로 사용될 수 있거나 또는 상응하는 구문 요소를 직접적으로 사용할 수 있다. 변수 LayerIdExtEnabled는 위의 경우들에 따라 다음과 같이 유도된다:
a1)을 위하여, 만일 계층 식별기 확장 메커니즘을 가능하도록 하기 위하여 계층 식별기 구문 요소의 미리 결정된 값만이 사용되면, 다음이 적용된다:
Figure 112020063870257-pat00001
경우들 a2) 및 b)를 위하여, 만일 변이 Ⅰ)이면, 즉 계층 식별기 확장 메커니즘을 가능하도록 하기 위하여 플래그(예를 들면, Layer_id_ext_enable_flag)가 사용되면, 다음이 적용된다:
LayerIdExtEnabled = Layer_id_ext_enable_flag
경우들 a2) 및 b)를 위하여, 만일 변이 Ⅱ)이면, 즉 계층 식별기 확장 메커니즘을 가능하도록 하기 위하여 지수(예를 들면, Layer_id_mode_idc)가 사용되면, 다음이 적용된다:
Figure 112020063870257-pat00002
a2) 및 b)의 경우를 위하여, 만일 변이 Ⅲ), 즉 계층 식별 확장 메커니즘을 가능하게 하기 위하여 비트 길이 표시(예를 들면, id_ext_len)가 사용되면, 다음이 적용된다:
Figure 112020063870257-pat00003
a2)의 경우를 위하여, 만일 미리 결정된 값이 실시 가능한 구문 요소와 결합하여 사용되면, 다음이 적용된다:
Figure 112020063870257-pat00004
계층 식별기 확장은 다음과 같이 시그널링될 수 있다:
만일 확장 메커니즘이 사용되면(예를 들면 이전 섹션에 설명된 것과 같은 시그널링을 통하여), 실제 LayerId 값을 결정하기 위하여 미리 정의되거나 또는 시그널링된 비트들의 수(즉, layer_id_ext_len)가 사용된다. 비디오 코딩 계층 NAL 유닛들을 위하여 부가적인 비트들이 슬라이스 헤더 구문 내에(예를 들면, 현존하는 확장들을 사용함으로써) 또는 비디오 비트스트림 내의 위치에 의하거나 또는 상응하는 슬라이스 데이터와 관련된 지수에 의해 존재하는 보충 강화 정보 메시지 내에 포함될 수 있고, NAL 유닛 헤더 내의 계층 식별기의 시그널링 범위를 확장하도록 사용될 수 있다.
비-비디오 코딩 계층 NAL 유닛들(비디오 파라미터 세트, 시퀀스 파라미터 세트, 화상 파라미터 세트, 보충 강화 정보 메시지들)을 위하여 부가적인 식별기가 특정 확장들에 추가될 수 있거나 또한 관련 보충 강화 정보 메시지들에 의해 추가될 수 있다.
또 다른 설명에서 지정된 구문 요소는 비트스트림 구문 내의 그것의 위치와 관계없이 layer_id_ext로서 언급된다. 명칭은 예로서 사용된다. 아래의 구문 테이블들 및 시맨틱스는 가능한 실시 예들의 예들을 제공한다.
슬라이스 헤더 내의 계층 식별기 확장의 시그널링이 도 29에 예시된다.
슬라이스 헤더 확장 내의 계층 식별기 확장의 대안의 시그널링이 도 30에 도시된다.
비디오 파라미터 세트(VPS)를 위한 시그널링에 대한 일례가 도 31에 도시된다.
유사한 확장들이 시퀀스 파라미터 세트, 화상 파라미터 세트 및 보충 강화 정보(SEI) 메시지들을 위하여 존재한다. 부가적인 구문 요소가 유사한 방식으로 이러한 확장들에 더해질 수 있다.
관련 보충 강화 정보 메시지(예를 들면 계층 식별 확장 보충 강화 정보 ㅁ메메시지) 내의 계층 식별기의 시그널링이 도 32에 도시된다.
보충 강화 정보 메시지의 범위는 비트스트림 내의 그것의 위치를 기초로 하여 결정될 수 있다. 본 발명의 특정 실시 예에서 계층 식별 확장 보충 강화 정보 메시지 이후의 모든 NAL 유닛은 새로운 액세스 유닛 또는 새로운 계층 식별 확장 보충 강화 정보 메시지의 시작이 수신될 때까지 layer_idext의 값과 관련된다.
그것의 위치에 의존하여, 부가적인 구문 요소가 고정(여기서는 u(v)로서 표시되는) 또는 가변(ue(v)) 길이 코드들로 코딩될 수 있다.
특정 NAL 유닛 및/또는 슬라이스 데이터를 위한 계층 식별기들은 그때 계층 식별기 확장 메커니즘의 활성(즉, LayerIdExtEnabled)에 의존하여 NAL 유닛 헤더(즉, nuh_layer)id) 및 계층 식별 확장 메커니즘(즉, layer_id_ext) 내의 계층 식별기에 의해 제공되는 수학적으로 결합한 정보에 의해 유도된다.
특정 실시 예는 다음과 같이 최소 중요 비트들로서 현존하는 계층 식별기(즉, nuh_layer_id) 및 최대 중요 비트들로서 확장 정보를 사용함으로써, 여기서는 LayerId로서 언급되는, 계층 식별기를 유도한다.
Figure 112020063870257-pat00005
이러한 시그널링 전략은 b) nuh_layer_id가 다른 값들을 나타낼 수 있는 경우에 더 작은 범위의 layer_id_ext 값들로 더 다른 LayeredId 값들의 시그널링을 허용한다. 이는 또한 특정 시점들의 클러스터링을 허용하는데, 즉 함께 가까이 위치되는 시점들은 그것들이 함께 속하는 것을 나타내기 위하여 동일한 nuh_layer_id의 값을 사용할 수 있다.
도 33은 클러스터(즉, 물리적으로 선택된 카메라들의 시점들의 그룹)와 관련된 모든 NAL 유닛이 nuh_layer_id의 동일한 값 및 layer_id_ext의 동일하지 않은 값들을 갖는 시점 클러스터들의 구성을 도시한다. 대안으로서, 구문 요소(layer_id_ext)는 이에 알맞게 클러스터들을 구성하기 위하여 본 발명의 또 다른 실시 예에서 사용될 수 있고 nuh_layer_id는 클러스터 내의 시점들을 식별하는 역할을 할 수 있다.
본 발명의 또 다른 실시 예는 다음과 같이 최소 중요 비트들로서 현존하는 계층 식별기(즉, nuh_layer_id) 및 최대 중요 비트들로서 확장 정보를 사용함으로써, 여기서는 LayerId로서 언급되는, 계층 식별기를 유도한다:
Figure 112020063870257-pat00006
이러한 시그널링 전략은 특정 시점들의 클러스터링을 갖는 시그널링을 허용하는데, 즉 서로 멀리 떨어져 물리적으로 위치되는 카메라의 시점들은 그것들이 서로 다른 클러스터 내의 nuh_layer_id의 동일한 값(즉, 본 실시 예에서 layer_id_ext의 값)을 갖는 카메라들의 시점들과 관련하여 동일한 예측 종속들을 이용하는 것을 나타내기 위하여 nuh_layer_id의 동일한 값을 사용할 수 있다.
또 다른 실시 예는 LayerId(현존하는 계층 식별기 범위(즉, nuh_layer_id)의 최대 허용된 값을 언급하는 maxNuhLayeredId)의 범위를 확장하기 위한 추가의 전략을 이용한다:
Figure 112020063870257-pat00007
이러한 시그널링는 a) 확장을 가능하도록 하기 위하여 미리 정의된 값이 사용되는 경우에 특히 유용하다. 예를 들면, maxNuhLayeredId의 값은 LayerId 값 범위의 갭이 없는 확장을 허용하도록 미리 정의된 탈출 코드로서 사용될 수 있다.
[3]의 초기 드래프트 버전들에서 설명된 것과 같이 고효율 비디오 코딩의 3차원 비디오 코딩 확장의 테스트모델의 드래프트의 맥락에서, 아래의 단락에서 가능한 실시 예들이 설명된다
[3]의 초기 버전의 섹션 G.3.5에서 시점 성분은 다음과 같이 정의된다:
시점 성분: 단일 액세스 유닛 내의 시점의 코딩된 표현. 시점 성분은 깊이 시점 성분 및 텍스처 시점 성분을 포함할 수 있다/
깊이 및 텍스처 성분 시점의 매핑은 존재하는 계층 식별기(즉, nuh_layer_id)를 기초로 하여 비디오 파라미터 세트 확장 구문에서 정의되었다. 본 발명은 부가적인 계층 식별기 값 범위를 매핑하기 위하여 융통성(flexibility)을 더한다. 바람직한 구문이 도 34에 도시된다. 현조하는 구문의 변경은 쉐이딩(shading)을 사용하여 강조된다.
만일 계층 식별기 확장이 사용되면, VpsMaxLayerId는 vps_max_layer_id와 동일하게 설정되고, 그렇지 않으면 이는 vps_max_ext_layer_id와 동일하게 설정된다.
만일 계층 식별기 확장이 사용되면, VpsMaxLayerId는 확장을 사용하여(미리 정의된 수의 비트들에 의하거나 또는 layer_id_ext_ien을 기초로 하여) 인코딩될 수 있는 계층들의 최소 수로 설정되고, 그렇지 않으면 VpsMaxNumLayers는 vps_max_layers_minus1 + 1 으로 설정된다.
vps_max_layer_id는 최대 사용되는 LayerId 값이다.
layer_id_in_nalu[i]는 i-번째 계층의 비디오 코딩 계층 NAL 유닛들과 관련된 Layerid 값의 값을 지정한다. 0부터 VpsMaxNumLayers - 1까지의 범위 내의 i를 위하여, 존재하지 않을 때, layer_id_in_nalu[i]의 값은 i와 동일한 것으로 추정된다.
i가 0보다 클 때, layer_id_in_nalu[i]는 layer_id_in_nalu[i-1]보다 커야만 한다.
splitting_flag가 i와 동일할 때, layer_id_in_nuh의 MSB들은 만일 비트들의 총 수가 6보다 적으면 0이 되도록 요구되어야만 한다.
0부터 vps_max_layers_minus1까지의 범위 내의 i를 위하여, 변수 LayereIdInVps[layer_id_in_nalu[i]]는 i와 동일하게 설정된다.
dimension_id[i][j]는 i-번째 계층의 j-번째 존재하는 스케일러빌리티 차원 형태의 식별기를 지정한다. 존재하지 않을 때, dimension_id[i][j]의 값은 0과 동일한 것으로 추정된다. dimension_id[i][j]의 표현을 위하여 사용되는 비트들의 수는 dimension_id_len_minus1[j] + 1 비트들이다. splitting_flag가 1과 동일할 때, dimension_id[i][j]가 ((layer_id_in_nalu[i]&((1≪dimBitOffset[j+1])-1))≫dimBitOffset[j])와 동일하여야만 하는 것이 비트스트림 적합성의 요구이다..
i-번째 계층의 smiIdx-번째 스케일러빌리티 차원 형태의 식별기를 지정하는 변수 ScalabilityId[i][smdx] 및 i-번째 계층의 시점 식별기를 지정하는 변수 View[layer_id_in_nuh[i]] 및 i-번째 계층의 공간/신호 대 잡음 비율 스케일러빌리티 식별기를 지정하는 DependencyId[layer_id_in_nuh[]]는 다음과 같이 유도된다:
Figure 112020063870257-pat00008
[3]의 초기 버전의 섹션 2에서 특정 카메라의 상응하는 깊이 시점 및 텍스처 성분들은 [3]의 초기 버전들의 섹션 NAL 유닛 헤더 시맨틱스에서 다음과 같이 유도되는 그것들의 스케일러빌리티 식별기 시점 순서 지수(즉 ViewIdx) 및깊이 플래그(즉 DepthFlag)에 의해 다른 깊이 시점 및 텍스처와 구별될 수 있다는 것이 설명된다.
ViewIdx = Later_id ≫ 1
DepthFlag = layer_id%2
따라서, 개별 시점 성분들(즉, 특정 카메라의 텍스처 및 깊이 시점 성분)은 예를 들면 변수 ViewIdx의 값을 통하여 0의 초기 버전의 섹션 G.8의 디코딩 과정에서 구별될 수 있도록, layer_id의 개별 값들을 갖는 NAL 유닛들로 패킷화되어야만 한다.
방금 설명된 개념은 서로 다른 시점들을 위한 NAL 유닛 헤더(즉, nuh_layer_id) 내의 계층 식별기 내의 동일한 값의 사용을 허용한다. 따라서 식별기들(ViewIdx 및DepthFlag)의 유도는 다음과 같이 이전에 유도된 확장된 시점을 사용하도록 적용될 필요가 있다:
ViewIdx = LayerId ≫ 1
DepthFlag = layerid%2
제 3 양상의 일반화된 실시 예가 다-계층식 비디오 신호를 디코딩하도록 구성되는 디코더(800)를 도시한 도 35와 관련하여 아래에 설명된다. 디코더는 도 2, 9 또는 18과 관련하여 위에 설명된 것과 같이 구현될 수 있다. 즉, 특정 실시 에에 따른 도 35의 디코더(800)의 더 상세한 설명을 위한 예들은 위에 설명된 양상들과 그 실시 예들을 사용하여 획득될 수 있다. 위에 설명된 양상들과 그 실시 예들 및 도 35의 실시 예 사이의 가능한 오버랩을 설명하기 위하여, 예를 들면 도 35의 다-계층식 비디오 신호(40)를 위하여, 동일한 도면부호가 사용된다. 다-계층식 비디오 신호(40)의 다수의 계층이 고려될 수 있는 것과 관련하여, 계제 2 양상과 관련하여 위에 제시된 설명들이 참조된다.
도 35에 도시된 것과 같이, 다-계층식 비디오 신호는 패킷들(804)의 시퀀스로 구성되고, 이들 각각은 위에 설명된 특정 고효율 비디오 코딩 예에서 구문 요소(nuh_layer_id)를 사용하여 구현되는, 계층 식별 구문 요소(806)를 포함한다. 디코더(800)는 아래에 더 설명되는 것과 같이, 자체로 계층 식별 구문 요소들을 부분적으로 포함할 수 있는, 다-계층 비디오 신호(40) 내의 계층 식별 확장 메커니즘 시그널링에 응답하도록 구성된다. 계층 식별 확장 메커니즘 시그널링(808)은 시그널링(808)에 응답하여, 디코더(800)에 의해 감지되고, 패킷들(804) 중에서 미리 결정된 패킷(810)을 위하여 다음과 같이 작용하며, 그러한 미리 결정된 패킷은 화살표(810)를 사용하여 디코더(800)에 들어가는 것으로서 도시된다. 계층 식별 확장 메커니즘 시그널링(808)을 통하여 제어되는, 디코더(800)의 스위치(812)를 사용하여 도시된 것과 같이, 디코더(800)는 미리 결정된 패킷(810)을 위하여, 814에서 다-계층 데이터 스트림(40)으로부터 계층 식별 확장을 판독하고, 이러한 계층 식별 확장을 사용하여 현재 패킷(810)의 계층 식별 지수를 결정한다(816). 만일 시그널링(808)이 계층-식별 확장 메커니즘의 불활성을 시그널링하면, 814에서 판독된 계층 식별 확장은 818에 도시된 것과 같이 현재 패킷(810)에 의해 자체로 포함될 수 있거나, 또는 현재 패킷(810)과 연관될 수 있는 방식으로 데이터 스트림(40) 내의 어딘가에 위치될 수 있다. 따라서, 만일 계층 식별 확장 메커니즘 시그널링(806)이 계층 식별 확장 메커니즘의 불활성을 시그널링하면, 디코더(800)는 814 및 816에 따라 현재 패킷(810)의 계층 식별 구문 요소(806)로부터 미리 결정된 패킷(810)의 계층 식별 지수를 결정한다. 그러나, 만일 계층 식별 확장 메커니즘 시그널링(806)이 계층 식별 확장 메커니즘의 불활성을 시그널링하면, 디코더(800)는 단지 현재 패킷(810)의 계층 식별 구문 요소(806)로부터 미리 결정된 패킷(810)의 계층 식별 지수를 결정한다. 그러한 경우에 있어서, 계층 식별 확장(818), 즉 신호(40) 내의 그것의 존재는 불필요한데, 즉 존재하지 않는다.
일 실시 예에 따르면, 계층 식별 구문 요소(806)는 패킷 당의 의미에서 계층 식별 확장 메커니즘 시그널링(808)에 기여하는데: 현재 패킷(810)과 같은 각각의 패킷이 관련되는 한, 계층 식별 확장 메커니즘 시그널링(808)은 적어도 부분적으로, 각각의 패킷(810)의 계층 식별 확장 메커니즘 시그널링(808)이 탈출 값을 추정하는지에 의존하여, 식별 확장 메커니즘의 활성 또는 불활성을 시그널링하는지가 디코더(800)에 의해 결정된다. 특정 파라미터 세트(824) 내의 데이터 스트림(40)에 의해 포함되는 고레벨 구문 요소(822)는 예를 들면, 오히려 가시적으로, 또는 높은 범위와 관련하여, 계층 식별 확장 메커니즘 시그널링(808)에 기여하는데, 즉 이는 계층 식별 확장 메커니즘의 활성 또는 불활성을 시그널링한다. 특히, 디코더(800)는 계층 식별 확장 메커니즘 시그널링(808)이 주로 고레벨 구문 요소(822)에 의존하여 미리 결정된 패킷(810)을 위한 계층 식별 확장 메커니즘이 활성 또는 불활성을 시그널링하는지를 결정하도록 구성될 수 있다. 만일 고레벨 구문 요소가 제 1 상태를 추정하면, 계층 식별 확장 메커니즘은 시그널링(808)에 의해 불활성화되도록 시그널링될 수 있다. 위에 설명된 실시 예들을 참조하면, 이는 layer_id_ext_flaf=0, layer_id_mode_ide=0 또는 layer_id_ext_len=0과 관련된다. 바꾸어 말하면, 위의 특정 구문 예들에서, layer_id_ext_flaf, layer_id_mode_ide 및 layer_id_ext_len은 각각 고레벨 구문 요소(822)를 위한 예들을 표현하였다.
패킷(810)과 같은, 특정 패킷과 관련하여, 이는 만일 고레벨 구문 요소(822)가 제 1 상태와 다른 상태를 추정하고, 그러한 패킷(810)의 계층 식별 구문 요소(806)가 탈출 값을 추정하면, 디코더(800)가 레벨-식별 확장 메커니즘 시그널링(808)의 패킷(810)을 위한 레벨 식별 확장 메커니즘의 활성을 시그널링하는 것을 결정하는 것을 의미한다. 그러나, 만일 패킷(810)을 위하여 유효한 고레벨 구문 요소(822)가 제 1 상태를 추정하거나 또는 그러한 패킷(810)의 계층 식별 요소(806)가 탈출 값과 가른 값을 추정하면, 그대 디코더는 계층 식별 확장 메커니즘이 시그널링(808)에 의해 시그널링되도록 결정한다.
위의 구문 예들에서 설명된 것과 같은, 두 가지 가능한 상태를 갖는 것보다는, 고레벨 구문 요소(822)는 불활성 상태, 즉 제 1 상태를 넘어, 고레벨 구문 요소(824)가 가능하게 추정할 수 있는 하나 이상의 또 다른 상태를 포함할 수 있다. 이러한 가능한 또 다른 상태들에 의존하여, 결정(816)은 파선(824)을 사용하여 표시된 것과 같이 변경될 수 있다 예를 들면, 위의 구문 예에서, layer_id_mode_idc=2가 도시된 경우는 패킷(810)의 계층 식별 지수를 획득하기 위하여 가능하게는 패킷(810)의 계층 식별 구문 요소(806)를 나타내는 숫자 및 계층 식별 확장을 나타내는 숫자를 연관시키는 디코더(800)를 야기하는 것을 나타내었다. 이와 다르게, layer_id_ren≠0의 경우는 결정(816)이 가능하게는 다음을 실행하는 디코더(800)를 야기하는 것을 나타내었다: 디코더(800)는 고레벨 구문 요소를 사용하여 패킷(810)과 관련된 계층 식별 확장(818)의 길이(n)를 결정하고 미리 결정된 패킷의 계층 식별 지수를 획득하기 위하여 패킷(810)의 레벨 식별 구문 요소(806)를 나타내는 숫자 및 패킷(810)의 레벨 식별 확장(818)을 나타내는 n 숫자를 연관시킨다. 심지어, 결정(810)은 미리 결정된 패킷(810)의 계층 식별 지수를 획득하기 위하여 패킷(810)과 관련된 레벨 식별 확장(818)의 계층-식별 구문 요소(806)의 예를 들면 최대한으로 표현 가능한 상태들을 초과하는 수와 상응할 수 있는(탈출 값보다 작은), 미리 결정된 값에 추가하는 것을 포함할 수 있다.
도 34에서 808'을 사용하여 표시된 것과 같이, 그러나 구문 요소(806)의 전체 대표 값들/상태들이 남아 있고 그것들 중 어떤 것도 탈출 코드로서 예비할당되지 않도록 하기 위하여 패킷들(810)의 계층 식별 구문 요소(806)를 계층 식별 확장 메커니즘 시그널링(808)으로의 기여로부터 배제하는 것이 또한 실현 가능하다. 그러한 경우에 있어서, 시그널링(808')은 각각의 패킷(810)을 위하여, 계층 식별 확장(818)이 존재하는지, 그리고 이에 따라 계층 식별 지수 결정이 814 및 816 또는 820을 따르는지를 디코더에 나타낸다.
도 35의 디코더에 적합한 인코더는 이에 알맞게 간단하게 데이터 스트림을 형성한다. 인코더는 예를 들면 데이터 스트림 내로 인코딩되려는 계층들의 수에 의존하여, 확장 메커니즘이 사용을 결정한다.
본 발명의 제 4 양상은 차원 의존적 직접적인 종속 시그널링과 관련된다.
현재 고효율 비디오 코딩 확장들([2][3][4])에서 코딩 계층은 데이터의 예측을 위한 제로 이상의 기준 코딩 계층을 이용할 수 있다. 각각의 코딩 계층은 독특한 nuh_layer_id 값에 의해 식별되고, 이는 laterIdInVps 값으로 전단으로 매핑된다. aterIdInVps 값들은 연속적이고 A와 동일한 aterIdInVps를 갖는 계층이 aterIdInVps B를 갖는 계층에 의해 참조될 때, 이는 A가 B보다 작다는 비트스트림 적합성(conformance)의 요구이다.
비트스트림 내의 각각의 코딩 계층을 위하여 기준 코딩 계층들이 비디오 파라미터 세트 내에 시그널링된다. 따라서 각각의 코딩 계층을 위하여 이진 마스크(binary mask)가 전송된다. b의 layerIdInVps 값을 갖는 코딩 계층을 위하여 마스크(direct_dependency_flag[b]로 표시되는)는 b-1 비트들로 구성된다. x와 동일한 layerIdInVps를 갖는 계층이 b와 동일한 layerIdInVps를 갖는 계층의 기준 계층일 때 이진 마스크(direct_dependency_flag[b][x]로 표시되는) 내의 x-번째 비트는 1과 동일하다. 그렇지 않으면, x와 동일한 layerIdInVps를 갖는 계층이 B와 동일한 layerIdInVps를 갖는 계층의 기준 계층이 아닐 때 direct_dependency_flag[b][x]의 값은 0과 동일하다.
모든 (direct_dependency_flags를 파싱한 후에, 각각의 코딩 계층을 위하여 (direct_dependency_flags에 의해 지정되는 것과 같이, 모든 기준 계층의 num_layer_id 값들을 포함하는 리스트가 생성된다.
게다가 각각의 laterIdInVps 값을 T-차원 스케일러빌리비 공간 내의 위치로 매핑하도록 허용하는 정보가 비디오 파라미터 세트 내에 시그널링된다. 각각의 차원(t)은 스케일러빌리티의 형태를 표현하고, 이는 예를 들면 시점 스케일러빌리티, 공간 스케일러빌리티, 또는 깊이 맵들의 표시일 수 있다.
각각의 가능한 종속을 위한 하나의 비트를 시그널링함으로써, 현재 디자인은 최대한의 융통성을 제공한다. 그러나, 융통성은 일부 단점들을 야기한다:
1. 각각의 스케일러빌리티 차원을 위하여 특정 종속 구조가 사용되는 것은 흔한 경우이다.
게다가 직접적인 차원-간 종속들은 흔한 일이 아니고 허용되지 않을 수 있다.
공통 계층 설정을 위한 일례가 도 36에 도시된다. 따라서 차원 0은 일종의 계층구조(hierarchy) 예측 구조를 이용하는, 시점 스케일러빌리티 차원일 수 있다. 차원 1은 IP 구조를 이용하는 공간 스케일러빌리티 차원일 수 있다. 도시된 설정과 관련된 direct_dependency_flags이 도 37에 도시된다.
현재 해결책의 단점은 현재 비디오 파라미터 세트 디자인으로부터 그러한 차원 의존적 종속들을 식별하는 것이 간단하지 않다는 것인데, 그 이유는 이것이 direct_dependency_flags의 복소 분석을 알고리즘적으로 요구할 수 있기 때문이다.
2. 하나의 스케일러블 차원 형태만이 사용될 때에도 동일한 구조들은 계층들의 서브셋들을 위하여 공통으로 사용된다. 예를 들면 시점 스케일러빌리티만의 경우를 위하여, 시점들은 가로 또는 세로 카메라 위치들에 의해 스패닝되는 공간에 매핑될 수 있다.
그러한 시나리오의 일례가 차원 0 및 1이 가로 및 세로 카메라 위치 차원들로서 해석되는, 도 36에 도시된다.
비록 각각의 카메라를 위하여 하나의 예측 구조를 사용하는 것이 통례이나, 현재 비디오 파라미터 세트 디자인은 이로부터 야기하는 반복들을 이용할 수 없다. 게다가 현재 비디오 파라미터 세트 디자인에서 종속들이 차원 의존적이라는 어떠한 직접적인 표시도 존재하지 않는다.
3. direct_dependency_flags의 수는 비트스트림 내의 계층들의 제곱 수에 비례하고, 따라서 64 계층을 갖는 현재 최악의 경우에 64*63/2=2016 비트가 필요하다. 게다가 최대한의 수는 확장되고, 이는 급격하게 증가된 비트들의 수를 야기한다.
위에 설명된 단점들은 t-차원 종속 공간의 각각의 차원(t)을 위한 종속들의 분명한 시그널링을 가능하게 함으로써 달성될 수 있다.
차원 의존적 직접적인 종속 시그널링은 다음의 혜택들을 제공한다:
1. 각각의 종속 차원을 위한 종속들은 비트스트림 내에서 직접적으로 이용 가능하고 direct_dependency_flags의 복소 분석(complex analysis)이 필요하지 않다.
2, 종속들의 시그널링에 필요한 비트들의 수는 감소될 수 있다.
일 실시 예에서 종속 공간은 예를 들면 현재 MV- 및 스케일러블 드래프트[2]에 설명된 것과 같은 스케일러빌리티 공간과 동일할 수 있다. 또 다른 실시 예에서 종속 공간은 분명하게 시그널링될 수 있고 예를 들면 또한 카메라 위치들에 의해 스패닝되는 공간일 수 있다.
차원 의존적 종속 시그널링의 일례가 도 38에 주어진다. 차원들 사이의 종속들이 이진 마스크들로부터 직접적으로 유도될 수 있고 필요한 비트들의 양이 감소되는 것을 알 수 있다.
아래에서 각각의 layerIdInVps 값은 차원들(0,1,2,...,(T-1))을 갖는, T-차원 종속 공간 내로 전단적으로 매핑되는 것으로 추정된다. 따라서 각각의 계층은 상응하는 차원들(0,1,2,...,(T-1)) 내의 위치들을 지정하는 d1,d2,d3,...dT-1을 갖는 관련 벡터(d1,d2,d3,...dT-1)'를 갖는다.
기본 개념은 계층 종속들의 차원 의존적 시그널링이다. 따라서 각각의 차원(t ∈ {0,1,2...(T-1)} 및 차원(t) 내의 각각의 위치(d t )를 위하여 차원(t) 내의 기준 위치들의 세트(Ref(d t ))가 시그널링된다. 기준 위치 세트들은 아래에 설명되는 것과 같이, 서로 다른 계층들 사이의 직접적인 종속들을 결정하도록 사용된다:
차원(t) 내의 위치(d t ) 및 x ∈ {0,1,2...(T-1)}\{t}인 차원들(x) 내의 위치들(dx)을 갖는 계층은 d t,ref 가 Ref(dt) 내의 요소일 때, 차원(t) 내의 위치(d t,ref )를 갖는 계층 및 x ∈ {0,1,2...(T-1)}\{t}인 차원들(x) 내의 위치들(dx)을 갖는 계층에 의존한다.
또 다른 특정 실시 예에서 모든 종속들은 가역되고, 따라서 Ref(d t ) 내의 위치들은 차원(t) 내의 위치(d t )에서 계층들에 의존하는 차원(t) 내의 계층들의 위치들을 나타낸다.
종속 공간의 시그널링이 관련되는 한, 아래에 설명되는 시그널링은 예를 들면 보충 강화 정보(SEI) 메시지 내의 비디오 파라미터 세트 또는 시퀀스 파라미터 세트 혹은 비트스트림 내의 다른 위치들에서 수행될 수 있다.
차원들의 수 및 차원 내의 위치들의 수와 관련하여, 다음이 설명된다. 종속 공간은 차원들의 특정 수 및 각각의 차원 내의 위치들의 특정 수로 정의된다.
특정 실시 예에서 차원들의 수(num_dims) 및 차원(t) 내의 위치들의 수(num_pos_minus1[t]는 예를 들면 도 39에 도시된 것과 같이 분명하게 시그널링될 수 있다.
또 다른 실시 예에서 num_dims의 값들 또는 num_pos_minus1의 값들은 비트스트림 내에 존재하는 다른 구문 요소들로부터 유도될 수 있다. 더 구체적으로 현재 고효율 비디오 코딩 확장 디자인에서, 차원들의 수 및 차원 내의 위치들의 수는 각각 스케일러빌리티 처원들의 수 및 스케일러빌리티 차원의 길이와 동일할 수 있다.
따라서 NumscalabilityTypes 및 dimension_id_len_minu1{t]는 [2]에서와 같이 정의된다:
num_ms = NumscalabilityTypes
num_pos_minus1[t] = dimension_id_len_minu1{t]
또 다른 실시 예에서 num_dims의 값들 또는 num_pos_minus1의 값들이 분명하게 시그널링되는지 또는 비트스트림 내에 존재하는 다른 구문 요소들로부터 유도되는지가 시그널링될 수 있다.
또 다른 실시 예에서 num_dims의 값은 비트스트림 내에 존재하는 다른 구문 요소들로부터 유도될 수 있고 그때 하나 이상의 차원의 분할의 부가적인 시그널링 또는 부가적인 차원의 시그널링에 의해 증가된다.
layerIdInVps의 종속 공간 내의 위치로의 매핑에 대하여, 계층들은 종속 공간에 매핑되는 것에 유의하여야 한다.
특정 실시 예에서 차원(t) 내의 layerIdInVps 값(i)을 갖는 계층의 위치를 지정하는 구문 요소(pos_in_dim[i][t])는 예를 들면 분명하게 전송될 수 있다. 이는 도 40에 도시된다.
또 다른 실시 예에서 pos_in_dim[i][t]의 값은 비트스트림 내에 시그널링되지 않으나, 예를 들면 아래와 같이 layerIdInVps 값(i)으로부터 직접적으로 유도된다.
Figure 112020063870257-pat00009
특히 현재 고효율 비디오 코딩 확장 디자인을 위하여, 위의 설명은 dimension_id[i][t] 값들의 현재 분명한 시그널링을 대체할 수 있다.
또 다른 실시 예에서, pos_in_dim[i][t]의 값은 비트스트림 내의 다른 구문 요소들로부터 유도된다. 더 구체적으로 현재 고효율 비디오 코딩 확장 디자인에서, pos_in_dim[i][t]의 값들은 예를 들면 dimension_id[i][t] 값들로부터 유도될 수 있다.
pos_in_dim[i][t] = dimension_id[i][t]
또 다른 실시 예에서 pos_in_dim[i][t]가 분명하게 시그널링되거나 또는 다른 구문 요소들로부터 유도되는지가 시그널링될 수 있다.
또 다른 실시 예에서 비트스트림 내에 존재하는 다른 구문 요소들로부터 유도되는 pos_in_dim[i][t] 값들에 더하여 pos_in_dim[i][t] 값들이 분명하게 시그널링되는지가 시그널링될 수 있다.
종속들의 시그널링 및 유도와 관련하여, 다음이 사용된다.
직접적 위치 종속 플래그들의 사용은 아래의 실시 예의 대상이 된다. 이러한 실시 예에서 기준 위치들은 예를 들면, 차원(t) 내의 위치(n)가 예를 들면 도 41에 지정된 것과 같이 차원 1 내의 위치(m)의 기준 위치 세트 내에 포함되는지를 나타내는 플래그 pos_dependency_flag[t][m][n]에 의해 시그널링된다.
기준 위치 세트들을 사용하는 일 실시 예에서, 차원(t) 내의 위치(m)를 위한 차원(t) 내의 기준 위치들의 수를 지정하는 변수(num_ref_pos[t][m]) 및 차원(t) 내의 위치를 위한 차원(t) 내의 j번째 기준 위치를 지정하는 변수(ref_pos_set[t][m][j])는 예를 들면 다음과 같이 유도될 수 있다:
*
Figure 112020063870257-pat00010
또 다른 실시 예에서, 기준 위치들 세트의 요소들은 예를 들면 도 42에 지정된 것과 같이, 직접적으로 시그널링되어야만 한다.
직접적 종속 플래그들을 사용하는 일 실시 예에서, i와 동일한 layerIdInVps를 갖는 계층이 j와 동일한 layerIdInVps를 갖는 계층에 의존하는 것을 지정하는 직접적인 종속 플래그(directDependencyFlad[i][j])는 기준 위치들 세트들로부터 유도될 수 있다. 이는 예를 들면 아래에 지정되는 것과 같이 수행될 수 있다:
입력으로서 벡터(posVector)를 갖는 함수(posxVecToPosIdx(posVector))는 아래에 지정되는 것과 같이 종속공간 내의 위치(posVector)와 관련된 지수(posIdx)를 유도한다:
Figure 112020063870257-pat00011
pos_in_dim[i]로부터 유도되는 지수(idx)에 의존하는 layerIdinVps 값(i)를 지정하는 변수(posIdxToLayerIdInVps[dx])는 예를 들면 아래에 지정되는 것과 같이 유도될 수 있다:
Figure 112020063870257-pat00012
변수(directDependnecyFlag[i][j])는 아래에 지정되는 것과 같이 유도된다:
Figure 112020063870257-pat00013
일 실시 예에서, i과 동일한 layerIdIVps를 갖는 계층은 j와 동일한 ayerIdInVps를 갖는 계층에 의존하는 것을 지정하는 직접적인 종속 플래그(directDependnecyFlag[i][j])는 pos_dependenct_flag[t][m][n] 플래그들로부터 직접적으로 유도될 수 있다. 예를 들면, 아래와 같이 지정된다:
Figure 112020063870257-pat00014
일 실시 예에서 기준 계층들의 사용은 i와 동일한 layeridinVps를 갖는 계층을 위한 기준 계층들의 수를 지정하는 변수 NumDirectRefLayers[i]을 설정하고 k번째 기준 계층의 layeridinVps의 값을 지정하는 변수 RefLayerId[i][k]는 예를 들면 아래에 지정되는 것과 같이 유도될 수 있다.
Figure 112020063870257-pat00015
또 다른 실시 예에서 기준 계층들은 예를 들면 아래에 지정되는 것과 같이, directDependencyFlag 값들을 유도하지 않고, 기준 위치 세트들로부터 직접적으로 유도될 수 있다:
Figure 112020063870257-pat00016
또 다른 실시 예에서, 기준 계층들은 ref_pos_set 변수들을 유도하지 않고, pos_dependency_flag 변수들로부터 직접적으로 유도될 수 있다.
따라서, 위에 설명된 도면들은 제 4 양상에 따른 데이터 스트림을 나타내고 계층-간 예측을 사용하여 정보량의 서로 다른 레벨들에서 비디오 재료가 코딩되는 다-계층식 비디오 데이터 스트림, 즉 수에 있어서 LayeridinVps를 나타낸다. 레벨들은 그것들 중에서 정의되는 순차적 순서를 갖는다. 예를 들면, 레벨들은 sequence 1... vps_max_layers_minus1을 따른다. 예를 들면 도 40이 참조된다. 여기서, 다-계층식 비디오 데이터 스트림 내의계층들의 수는 vps_max_layers_minus1에 의해 900에 주어진다.
비디오 재료는 어떠한 계층도 순차적 순서에 따라 뒤따르는 어떠한 계층으로부터 계층-간 예측을 통하여, 의존하지 않도록 하기 위하여 다-계층식 비디오 데이터 스트림 내로 코딩된다. 즉, 1부터 vps_max_layers_minus1까지의 번호를 사용하여, 계층 i는 단지 j<i 계층들에만 의존할 수 있다.
하나 이상의 다른 계층으로부터 계층-간 예측을 통하여 의존하는 각각의 계층은 하나 이상의 다른 계층 내로 비디오 재료가 코딩되는 정보량을 증가시킨다. 예를 들면, 증가는 공간 해상도, 시점들의 수, 신호대 잡음 비율 정확도 등 또는 다른 차원 형태들을 포함한다.
다-계층식 비디오 데이터 스트림은 예를 들면 비디오 파라미터 세트 레벨에서, 제 1 구문 구조를 포함한다. 위의 실시 예들에서, num_dims는 도 39의 902에 도시된 것과 같이 제 1 구문 구조에 의해 포함될 수 있다. 따라서, 제 1 구문 구조는 종속 차원들(904 및 906)의 수(M)를 정의한다. 도 36에서, 이는 바람직하게는 2인데, 하나는 가로로 이르고, 나머지는 세로로 이른다. 이와 관련하여, 위의 아이템(2)이 참조되는데: 차원들의 수는 레벨들이 정보량을 증가시키는 서로 다른 차원 형태들의 수와 동일할 필요는 없다. 차원들의 수는 예를 들면 높을 수 있고, 세로 및 가로 시점 이동들 사이에서 구별할 수 있다. 종속 공간(908)을 스패닝하는 M 종속 차원들(904 및 906)이 도 36에 도시된다.
또한 제 1 구문 구조는 최대 수(Ni), 예를 들면 종속 차원(i) 당 순위 레벨들의 num_pos_minus1을 정의하고, 이에 의해 종속 공간(908) 내의
Figure 112020063870257-pat00017
이용 가능한 지점들(910)을 정의한다. 도 36의 경우에, 두 개의 이용 가능한 지점들(910)의 4배가 존재하고 후자가 도 36에서의 직사각형들에 의해 도시된다. 또한, 제 1 구문 구조는 위의 실시 예에서 pos_in_dim[i][t]에 의하거나 또는 암시적으로 정의되는 전단 매핑(912, 도 40참조)을 정의한다. 전단 매핑(40)은 각각의 레벨, 즉 도 40에서의 i를 적어도 종속 공간(908) 내의 이용 가능한 지점들(910)의 서브셋 중 각각의 하나 상으로 매핑한다. pos_in_dim[i][t]는 레벨(i)을 위하여 그것의 성분들(pos_in_dim[i][t])에 의해 이용 가능한 지점(910)을 가리키는 벡터이고 t는 차원들(904 및 906)을 스캐닝한다. 서브셋은 예를 들면,
Figure 112020063870257-pat00018
보다 작은 vps_max_layers_minus1의 경우에 적절한 서브셋이다. 예를 들면, 실제 사용되고 그것들 중에서 정의되는 종속 순서를 갖는 레벨들은 도 36의 8개 이하의 이용 가능한 지점 상으로 매핑될 수 있다. 종속 차원(i)을 위하여, 다-계층식 비디오 데이터 스트림은 예를 들면 비디오 파라미터 세트 레벨에서, 제 2 구문 요소(914)를 포함한다. 위의 실시 예에서, 제 2 구문 구조는 pos_dependency_flag[t][m][n] 또는 num_ref_pos[t][m] 및 ref_pos_set[t][m][j]를 포함한다. 제 2 구문 구조(914)는 종속 차원(i) 당, 종속 차원(i)의 Ni 순위 레벨들 중에서 종속을 기술한다. 종속은 직사각형들(910) 사이의 모든 가로 화살표와 모든 세로 화살표에 의해 도 36에 도시된다.
대체로, 이러한 측정에 의해, 종속 공간 내의 이용 가능한 지점들 사이의 종속들은 이러한 모든 종속이 종속 축들 중 각각의 하나에 평행하게 구동하고 높은 순위 레벨로부터 낮은 순위 레벨들을 가리키는 것과 같은 방식으로 정의되고, 각각의 종속 차원에 대하여, 각각의 종속 차원에 평행한 종속들은 각각의 차원 이외의 각각의 종속 차원들을 따른 주기 이동에 대항하여 불변이다. 도 36이 참조되는데: 직사각형의 상부 라인의 직사각형들 사이의 모든 가로 화살표는 직사각형들의 하부 열에서 중복되고, 이는 직사각형들의 4개의 세로 열과 관련하여 세로 화살표들에 동일하게 적용되며 직사각형은 이용 가능한 지점들과 상응하고 화살표들은 그것들 사이의 종속들과 상응한다. 이러한 측정에 의해, 전단 매핑을 통하여, 제 2 구문 구조는 동시에 계층들 상이의 종속들을 정의한다.
디코더와 같은 네트워크 엔티티 또는 이동성 관리 엔티티(MME, Mobility Management Entity)와 같은 메인(mane)은 데이터 스트림의 제 1 및 제 2 구문 구조를 판독할 수 있고, 제 1 및 제 2 구문 구조들을 기초로 하여 계층들 사이의 종속들을 결정할 수 있다.
네트워크 엔티티는 제 1 구문 구조를 판독하고 그것으로부터 종속 공간을 스패닝하는 종속 차원들의 수뿐만 아니라 종속 차원(i) 당 순위 레벨들의 최대 수(Ni)를 유도하며, 이에 의해 종속 공간 내의
Figure 112020063870257-pat00019
이용 가능한 지점들을 획득한다. 또한, 네트워크 엔티티는 제 1 구문 구조로부터 전단 매핑을 유도한다. 또한, 네트워크 엔티티는 종속 차원(i) 당, 제 2 구문 구조를 판독하고 이에 의해 종속 차원(i)으 N 순위 레벨들 중에서 종속을 유도한다. 어떠한 계층, 즉 특정 계층에 속하는 NAL 유닛들의 제거를 결정할 때마다, 네트워크 엔티티는 각각 이용 가능한 지점들과 계층들 사이의 종속들과 함께 종속 공간 내의 계층의 위치를 고려한다.
그렇게 함으로써, 네트워크 엔티티는 레벨들 중 하나를 선택할 수 있고: nuh_layer_id를 통하여 계층들 사이의 종속들에 의해, 선택된 레벨이 종속적인 계층에 속하는 다-계층식 비디오 데이터 스트림의 패킷들, 예를 들면 NAL 유닛들을 폐기한다.
장치의 맥락에서 일부 양상들이 설명되었으나, 이러한 양상들은 또한 블록 또는 장치가 방법 단계 또는 방법 단계의 특징과 상응하는, 상응하는 방법의 설명을 나타낸다는 것은 자명하다. 유사하게, 방법 단계의 맥락에서 설명된 양상들은 또한 상응하는 블록 아이템 혹은 상응하는 장치의 특징을 나타낸다. 일부 또는 모든 방법 단계는 예를 들면 마이크로프로세서, 프로그램가능 컴퓨터 또는 전자 회로 같은 하드웨어 장치에 의해(또는 사용하여) 실행될 수 있다. 일부 실시 예들에서, 하나 또는 그 이상의 가장 중요한 방법 단계는 그러한 장치에 의해 실행될 수 있다.
특정 구현 요구사항들에 따라, 본 발명의 실시 예들은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 예를 들면, 각각의 방법이 실행될 것과 같이 프로그램가능 컴퓨터 시스템과 협력하는(또는 협력할 수 있는), 그 안에 저장되는 전자적으로 판독 가능한 제어 신호들을 갖는, 디지털 저장 매체, 예를 들면, 플로피 디스크, DVD, CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 사용하여 실행될 수 있다. 따라서, 디지털 저장 매체는 컴퓨터로 판독될 수 있다.
본 발명에 따른 일부 실시 예들은 여기에 설명된 방법들 중 어느 하나가 실행되는 것과 같이, 프로그램가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독 가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시 예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터 상에서 구동할 때 방법들 중 어느 하나를 실행하도록 운영될 수 있다. 프로그램 코드는 예를 들면, 기계 판독가능 캐리어 상에 저장될 수 있다.
다른 실시 예들은 기계 판독가능 캐리어 상에 저장되는, 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 포함한다.
바꾸어 말하면, 본 발명의 방법의 일 실시 예는 따라서 컴퓨터 프로그램이 컴퓨터 상에 구동할 때, 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
본 발명의 방법의 또 다른 실시 예는 따라서 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 포함하는, 그 안에 기록되는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록된 매체는 일반적으로 유형 및/또는 비-시간적이다.
본 발명의 방법의 또 다른 실시 예는 따라서 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호들의 시퀀스이다. 데이터 스트림 또는 신호들의 시퀀스는 예를 들면 데이터 통신 연결, 예를 들면 인터넷을 거쳐 전송되도록 구성될 수 있다.
또 다른 실시 예는 여기에 설명된 방법들 중 어느 하나를 실행하도록 구성되거나 혹은 적용되는, 처리 수단, 예를 들면 컴퓨터, 또는 프로그램가능 논리 장치를 포함한다.
또 다른 실시 예는 그 안에 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 또 다른 실시 예는 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터를 수신기로 전달하도록(예를 들면, 전자적으로 또는 광학적으로) 구성되는 장치 또는 시스템을 포함한다. 수신기는 예를 들면, 컴퓨터 모바일 장치, 메모리 장치 등일 수 있다. 장치 또는 시스템은 예를 들면 컴퓨터 프로그램을 수신기로 전달하기 위한 파일 서버를 포함할 수 있다.
일부 실시 예들에서, 여기에 설명된 방법들 중 일부 또는 모두를 실행하기 위하여 프로그램가능 논리 장치(예를 들면, 필드 프로그램가능 게이트 어레이)가 사용될 수 있다. 일부 실시 예들에서, 필드 프로그램가능 게이트 어레이는 여기에 설명된 방법들 중 어느 하나를 실행하기 위하여 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 바람직하게는 어떠한 하드웨어 장치에 의해 실행된다.
여기에 설명되는 장치는 하드웨어 장치를 사용하거나, 또는 컴퓨터를 사용하거나, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
여기에 설명되는 방법들은 하드웨어 장치를 사용하거나, 또는 컴퓨터를 사용하거나, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 실행될 수 있다.
위에 설명된 실시 예들은 단지 본 발명의 원리들을 위한 설명이다. 여기에 설명된 배치들과 상세내용들의 변형과 변경은 통상의 지식을 가진 자들에 자명할 것이라는 것을 이해할 것이다. 따라서, 본 발명은 여기에 설명된 실시 예들의 설명에 의해 표현된 특정 상세내용이 아닌 특허 청구항의 범위에 의해서만 한정되는 것으로 의도된다.
참고문헌
[1] B. Bross et al., “Efficiency Video Coding (HEVC) text specification draft 10“JCTVC-L1003, Geneva, CH, 1423 Jan. 2013
[2] G. Tech et al., “Draft Text 3“JCT3V-C1004, Geneva, CH , 1723 Jan. 2013
[3] G. Tech et al., Test Model 3“JCT3V-C1005, Geneva, CH , 1723 Jan. 2013
[4] J. Chen et al., “Draft Text 1”JCT-VCL1008, Geneva, CH , 1723 Jan. 2013
[5] WILBURN, Bennett, et al. High performance imaging using large camera arrays. ACM Transactions on Graphics, 2005, 24. Jg., Nr. 3, S. 765-776.
[6] WILBURN, Bennett S., et al. Light field video camera. In: Electronic Imaging 2002. International Society for Optics and Photonics, 2001. S. 29-36.
[7] HORIMAI, Hideyoshi, et al. Full-color 3D display system with 360 degree horizontal viewing angle. In: Proc. Int. Symposium of 3D and Contents. 2010. S. 7-10.
본 분할출원은 원출원의 최초 청구항 내용을 실시예로 아래에 포함하였다.
[실시예 1]
제 1 시점(12)으로부터 제 2 시점(14)으로 시점-간 예측을 사용하여 데이터 스트림으로부터 복수의 시점(12, 15)을 복원하도록 구성되는 다-시점 디코더에 있어서, 상기 다-시점 디코더는 상기 제 1 시점(12)이 분할되는 공간 세그먼트들(301)의 공간 세그먼트 경계들(300)에서 상기 시점-간 예측을 변경하기 위하여 상기 데이터 스트림 내의 시그널링에 응답하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 2]
제 1실시예에 있어서, 상기 다-시점 디코더는 상기 시점-간 예측의 변경에 있어서, 데이터 스트림 내에 시그널링할 수 있는 가능한 차이 벡터들의 도메인의 제한을 실행하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 3]
제 1실시예 또는 2실시예에 있어서, 상기 다-시점 디코더는 상기 데이터 스트림을 기초로 하여, 상기 제 2 시점(15)의 현재 부분(302)을 위한 가능한 차이 벡터들의 도메인 중에서 차이 벡터(308)를 결정하고 상기 결정된 차이 벡터(308)에 의해 상기 현재 부분(302)에 공동 위치되는 상기 제 1 시점(12)의 공동 위치되는 부분(306)으로부터 대체되는 기준 부분(304)에서 상기 제 1 시점(12)을 샘플링하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 4]
제 3실시예에 있어서, 상기 다-시점 디코더는 상기 시점-간 예측의 변경에 있어서, 상기 데이터 스트림 내에 시그널링할 수 있는 가능한 차이 벡터들의 도메인의 제한을 실행하고 상기 공동 위치되는 부분(306)이 공간적으로 위치되는 공간 세그먼트(301) 내에 상기 기준 부분(304)이 위치되는 것과 같이 가능한 차이 벡터들의 상기 도메인의 제한을 실행하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 5]
제 3실시예에 있어서, 상기 다-시점 디코더는 상기 시점-간 예측의 변경에 있어서, 상기 데이터 스트림 내에 시그널링할 수 있는 가능한 차이 벡터들의 도메인의 제한을 실행하고, 상기 공동 위치되는 부분(306)이 공간적으로 위치되는 공간 세그먼트(301) 내에 상기 기준 부분(304)이 위치되고 서브-펠(sub-pel) 해상도를 갖는, 상기 경계(300)를 나타내는 차원의 차이 벡터의 성분의 경우에 보간 필터 커널 반폭(interpolation filter kernel half-width, 310) 이상으로 또는 상기 반폭과 동일하게 상기 공간 세그먼트의 경계로부터 떨어져 간격을 두는 것과 같이 가능한 차이 벡터들의 상기 도메인의 제한을 실행하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 6]
제 1실시예 내지 5실시예 중 어느 한 실시예에 있어서, 상기 다-시점 디코더는 상기 시점-간 예측의 변경에 있어서, 시점-간 예측을 사용하여 현재 예측되도록 하기 위하여 상기 제 2 시점(15)의 현재 부분(302)에 공동 위치되는 상기 제 1 시점의 공동 위치되는 부분(306)이 공간적으로 위치되는 공간 세그먼트의 경계(300)를 넘어 확장하는 부분들에서 보간 필터 커널(311)을 상기 공간 세그먼트의 경계 외부의 정보와 독립적으로 대체 데이터로 채우도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 7]
제 1실시예 내지 6실시예 중 어느 한 실시예에 있어서, 상기 다-시점 디코더는 상기 시점-간 예측에 있어서, 상기 제 2 시점의 현재 부분을 위하여, 상기 제 1 시점(312) 내의 기준 부분(314)을 유도하도록 구성되고, 상기 데이터 스트림 내의 상기 시그널링에 의존하여,
상기 기준 부분(314)이 상기 현재 부분(302)에 공동 위치되는 상기 제 1 시점(12)의 공동 위치되는 부분(306)이 공간적으로 위치되는 공간 세그먼트(301) 내에 위치되는지를 검사하고, 상기 기준 부분(314)이 상기 공동 위치되는 부분이 공간적으로 위치되거나 또는 위치되지 않는 상기 공간 세그먼트(301) 내에 위치되는지에 의존하여 상기 기준 부분(314)의 속성으로부터 유도되는 상기 현재 부분(302)을 위한 예측기를 상기 현재 부분(302)의 파라미터에 적용하거나, 또는 상기 적용을 억제하거나, 또는 대체 예측기를 적용하거나 혹은,
상기 공동 위치되는 부분이 공간적으로 위치되거나 또는 위치되지 않는 상기 공간 세그먼트(82) 내에 위치하는 상기 기준 부분(314)에 관계없이 상기 예측기를 적용하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 8]
제 7실시예에 있어서, 상기 다-시점 디코더는 상기 기준 부분(314)을 유도하는데 있어서,
상기 현재 부분(302)을 위한 차이 벡터(316)를 추정하고,
대표 위치(318)를 상기 현재 부분(302) 혹은 상기 현재 부분(302)에 이웃하는 상기 제 1 시점의 이웃하는 부분(320)에 위치시키며,
상기 차이 벡터(316)를 상기 대표 위치(318)에 적용함으로써 상기 기준 부분(314)을 결정하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 9]
제 8실시예에 있어서, 상기 다-시점 디코더는 상기 데이터 스트림 내의 깊이 맵을 기초로 하여 상기 현재 부분을 위한 상기 차이 벡터 혹은 상기 현재 부분을 위한 공간적으로 또는 시간적으로 예측된 차이 벡터를 추정하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 10]
제 8실시예 또는 9실시예에 있어서, 상기 다-시점 디코더는 상기 기준 부분(314)의 결정에 있어서, 상기 차이 벡터(316)의 사용에 의해, 상기 제 1 시점(12)의 코딩 블록들, 예측 블록들, 잔류 블록들 및/또는 변환 블록들로의 분할 중에서 상기 기준 부분을 선택하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 11]
제 7실시예 내지 10실시예 중 어느 한 실시예에 있어서, 상기 파라미터는 움직임 벡터, 차이 벡터, 잔류 신호 및/또는 깊이 값인 것을 특징으로 하는 다-시점 디코더.
[실시예 12]
제 7실시예 내지 11실시예 중 어느 한 실시예에 있어서, 상기 속성은 움직임 벡터, 차이 벡터, 잔류 신호 및/또는 깊이 값인 것을 특징으로 하는 다-시점 디코더.
[실시예 13]
제 1 시점(12)으로부터 제 2 시점(14)으로 시점-간 예측을 사용하여 데이터 스트림 내에 복수의 시점(12, 15)을 인코딩하도록 구성되는 다-시점 인코더에 있어서, 상기 다-시점 인코더는 상기 제 1 시점(12)이 분할된 공간 세그먼트들(301)의 공간 세그먼트 경계들(300)에서 상기 시점-간 예측을 변경하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 14]
제 13실시예에 있어서, 상기 다-시점 인코더는 상기 시점-간 예측의 변경에 있어서, 가능한 차이 벡터들의 도메인의 제한을 실행하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 15]
제 13실시예 또는 14실시예에 있어서, 상기 다-시점 인코더는 상기 제 2 시점(15)의 현재 부분(302), 예를 들면 차이 보상식으로 예측된 예측 블록)을 위한 가능한 차이 벡터들의 도메인 중에서 차이 벡터(308)를 결정하고(예를 들면, 최적화에 의해), 상기 데이터 스트림 내에 시그널링하며, 상기 결정된 차이 벡터(308)에 의해 상기 현재 부분(302)에 공동 위치되는 상기 제 1 시점(12)의 공동 위치되는 부분(306)으로부터 대체되는 기준 부분(304)에서 상기 제 1 시점(12)을 샘플링하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 16]
제 15실시예에 있어서, 상기 다-시점 인코더는 상기 기준 부분(304)이 상기 공동 위치되는 부분(306)이 공간적으로 위치되는 공간 세그먼트(301) 내에 위치되는(예를 들면 완전하게) 것과 같이 가능한 차이 벡터들의 상기 도메인의 상기 제한을 실행하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 17]
제 15실시예에 있어서, 상기 다-시점 인코더는 상기 공동 위치되는 부분(306)이 공간적으로 위치되는 공간 세그먼트(301) 내에 상기 기준 부분(304)이 위치되고 서브-펠 해상도를 갖는, 상기 경계(300)를 나타내는 차원의 차이 벡터의 성분의 경우에 보간 필터 커널 반폭(310) 이상으로 또는 상기 반폭과 동일하게 상기 공간 세그먼트의 경계로부터 떨어져 간격을 두는 것과 같이 가능한 차이 벡터들의 상기 도메인의 제한을 실행하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 18]
제 13실시예 내지 17실시예 중 어느 한 실시예에 있어서, 상기 다-시점 인코더는 상기 시점-간 예측의 변경에 있어서, 시점-간 예측을 사용하여 현재 예측되도록 하기 위하여 상기 제 2 시점(15)의 현재 부분(302)에 공동 위치되는 상기 제 1 시점의 공동 위치되는 부분(306)이 공간적으로 위치되는 공간 세그먼트의 경계(300)를 넘어 확장하는 부분들에서 보간 필터 커널(311)을 채우도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 19]
제 13실시예 내지 18실시예 중 어느 한 실시예에 있어서, 상기 다-시점 인코더는 상기 시점-간 예측에 있어서, 상기 제 2 시점의 현재 부분을 위하여, 상기 제 1 시점(312) 내의 기준 부분(314)을 유도하도록 구성되고, 상기 데이터 스트림 내의 상기 시그널링에 의존하여,
상기 기준 부분(314)이 상기 현재 부분(302)에 공동 위치되는 상기 제 1 시점(12)의 공동 위치되는 부분(306)이 공간적으로 위치되는 공간 세그먼트(301) 내에 위치되는지를 검사하고, 상기 기준 부분(314)이 상기 공동 위치되는 부분이 공간적으로 위치되거나 또는 위치되지 않는 상기 공간 세그먼트(301) 내에 위치되는지에 의존하여 상기 기준 부분(314)의 속성으로부터 유도되는 상기 현재 부분(302)을 위한 예측기를 상기 현재 부분(302)의 파라미터에 적용하거나, 또는 상기 적용을 억제하거나, 혹은,
상기 공동 위치되는 부분이 공간적으로 위치되거나 또는 위치되지 않는 상기 공간 세그먼트(301) 내에 위치하는 상기 기준 부분(314)에 관계없이 상기 예측기를 적용하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 20]
제 19실시예에 있어서, 상기 다-시점 인코더는 상기 기준 부분(314)을 유도하는데 있어서,
상기 현재 부분(302)을 위한 차이 벡터(316)를 추정하고,
대표 위치(318)를 상기 현재 부분(302) 혹은 상기 현재 부분(302)에 이웃하는 상기 제 1 시점의 이웃하는 부분(320)에 위치시키며,
상기 차이 벡터(316)를 상기 대표 위치(318)에 적용함으로써 상기 기준 부분(314)을 결정하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 21]
제 20실시예에 있어서, 상기 다-시점 디코더는 상기 데이터 스트림 내에 전송된 깊이 맵을 기초로 하여 상기 현재 부분을 위한 상기 차이 벡터 혹은 상기 현재 부분을 위하여 공간적으로 또는 시간적으로 예측된 차이 벡터를 추정하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 22]
제 19실시예 내지 21실시예 중 어느 한 실시예에 있어서, 상기 파라미터는 움직임 벡터, 차이 벡터, 잔류 신호 및/또는 깊이 값인 것을 특징으로 하는 다-시점 인코더.
[실시예 23]
제 19실시예 내지 22실시예 중 어느 한 실시예에 있어서, 상기 속성은 움직임 벡터, 차이 벡터, 잔류 신호 및/또는 깊이 값인 것을 특징으로 하는 다-시점 인코더.
[실시예 24]
제 13실시예 내지 23실시예 중 어느 한 실시예에 있어서, 상기 디코더가 상기 변화에 의존하는 것을 가능하도록 하기 위하여 상기 데이터 스트림 내의 상기 변경을 상기 디코더에 시그널링하도록 구성되는 것을 특징으로 하는 다-시점 인코더.
[실시예 25]
제 1 시점(12)으로부터 제 2 시점(15)으로 시점-간 예측을 사용하여 데이터 스트림으로부터 복수의 시점(12, 15)을 복원하도록 구성되는 다-시점 디코더에 있어서, 상기 다-시점 디코더는 상기 시점-간 예측(602)이 상기 제 2 시점의 상기 각각의 부분(302)에 공동 위치되는 상기 제 1 시점의 공동 위치되는 부분(302)이 위치되는 공간 세그먼트 이외의 공간 세그먼트에 대한 상기 제 2 시점(15)의 어떠한 부분(302)의 어떠한 종속도 포함하지 않는 것과 같이 상기 시점-간 예측(602)이 상기 제 1 시점(12)이 분할되는 공간 세그먼트들(301)의 공간 세그먼트 경계들(300)에서 제한되는 보장으로서 상기 데이터 스트림 내의 시그널링을 사용하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 26]
제 25실시예에 있어서, 시점-간 디코딩 오프셋을 조정하거나 또는 상기 데이터 스트림 내의 시그널링에 응답하여 시점-간 병렬처리를 사용하여 상기 제 1 및 제 2 시점들의 상기 복원의 실행의 시도를 결정하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 27]
제 25실시예 또는 26실시예에 있어서, 상기 다-시점 디코더는 상기 데이터 스트림을 기초로 하여, 상기 제 2 시점(15)의 현재 부분(302)을 위한 가능한 차이 벡터들의 도메인 중에서 차이 벡터(308)를 결정하고 상기 결정된 차이 벡터(308)에 의해 상기 현재 부분(302)에 공동 위치되는 상기 제 1 시점(12)의 공동 위치되는 부분(306)으로부터 대체되는 기준 부분(304)에서 상기 제 1 시점(12)을 샘플링하도록 구성되는 것을 특징으로 하는 다-시점 디코더.
[실시예 28]
제 1 시점(12)으로부터 제 2 시점(14)으로 시점-간 예측을 사용하여 데이터 스트림으로부터 복수의 시점(12, 15)을 복원하기 위한 방법에 있어서, 상기 방법은 상기 제 1 시점(12)이 분할되는 공간 세그먼트들(301)의 공간 세그먼트 경계들(300)에서 상기 시점-간 예측을 변경하기 위하여 상기 데이터 스트림 내의 시그널링에 응답하는 것을 특징으로 하는 방법.
[실시예 29]
제 1 시점(12)으로부터 제 2 시점(14)으로 시점-간 예측을 사용하여 데이터 스트림 내에 복수의 시점(12, 15)을 인코딩하기 위한 방법에 있어서, 상기 방법은 상기 제 1 시점(12)이 분할된 공간 세그먼트들(301)의 공간 세그먼트 경계들(300)에서 상기 시점-간 예측을 변경하는 단계를 포함하는 것을 특징으로 하는 방법.
[실시예 30]
제 1 시점(12)으로부터 제 2 시점(15)으로 시점-간 예측을 사용하여 데이터 스트림으로부터 복수의 시점(12, 15)을 복원하기 위한 방법에 있어서, 상기 방법은 상기 시점-간 예측(602)이 상기 제 2 시점의 상기 각각의 부분(302)에 공동 위치되는 상기 제 1 시점의 공동 위치되는 부분(302)이 위치되는 공간 세그먼트 이외의 공간 세그먼트에 대한 상기 제 2 시점(15)의 어떠한 부분(302)의 어떠한 종속도 포함하지 않는 것과 같이 상기 시점-간 예측(602)이 상기 제 1 시점(12)이 분할되는 공간 세그먼트들(301)의 공간 세그먼트 경계들(300)에서 제한되는 보장으로서 상기 데이터 스트림 내의 시그널링을 사용하는 단계를 포함하는 것을 특징으로 하는 방법.
[실시예 31]
컴퓨터 상에서 구동할 때, 제 27실시예 내지 30실시예 중 어느 한 실시예에 따른 방법을 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램.
[실시예 32]
각각의 NAL 유닛(202)이 각각의 NAL 유닛이 관련된 계층을 나타내는 계층 지수(nuh_layer_id)를 갖고 NAL 유닛들의 시퀀스는 비-인터리빙된 액세스 유닛들(206)의 시퀀스 내로 구성화되는, NAL 유닛들(202)의 시퀀스로 구성되고, 계층-간 예측을 사용하여 그 안에 인코딩되는 복수의 계층의 화상들(204)을 갖는 다-계층식 비디오 데이터 스트림(202)에 있어서, 하나의 액세스 유닛에 속하는 상기 NAL 유닛들은 하나의 시간적 시간 인스턴트와 화상들과 관련되고, 다른 액세스 유닛들의 NAL 유닛들은 다른 시간 인스턴트들과 관련되며, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 각각의 계층과 관련된 NAL 유닛들은 하나 이상의 디코딩 유닛(208)으로 그룹화되고, 다른 계층들과 관련된 상기 NAL 유닛들의 디코딩 유닛들은 인터리빙되며 따라서 각각의 디코딩 유닛(208)을 위하여, 상기 각각의 디코딩 유닛을 인코딩하도록 사용되는 계층-간 예측은 상기 각각의 디코딩 유닛이 관련되는 상기 계층들 이외의 계층들의 화상들의 부분들을 기초로 하며, 이는 상기 각각의 액세스 유닛 내의 상기 각각의 디코딩 유닛을 선행하는 디코딩 유닛들 내로 코딩되는 것을 특징으로 하는 다-계층형 비디오 데이터 스트림(200).
[실시예 33]
제 32실시예에 있어서, 상기 다-계층형 비디오 데이터 스트림은 제 1 가능한 상태 및 제 2 가능한 상태를 갖는 인터리빙 시그널링을 가지며,
만일 상기 인터리빙 시그널링이 상기 제 1 가능한 상태를 추정하면, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 각각의 계층과 관련된 상기 NAL 유닛들의 적어도 일부는 하나 이상의 디코딩 유닛으로 그룹화되고, 다른 계층들과 관련된 NAL 유닛들의 상기 디코딩 유닛들은 인터리빙되며 따라서 각각의 디코딩 유닛을 위하여, 상기 각각의 디코딩 유닛을 인코딩하도록 사용되는 계층-간 예측은 상기 각각의 디코딩 유닛이 관련되는 상기 계층들 이외의 계층들의 화상들의 부분들을 기초로 하며, 이는 상기 각각의 액세스 유닛 내의 상기 각각의 디코딩 유닛을 선행하는 디코딩 유닛들 내로 코딩되며,
만일 상기 인터리빙 시그널링이 상기 제 2 가능한 상태를 추정하면, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 NAL 유닛들은 동일하게 관련되는 상기 계층들과 관련하여 비-인터리빙된 채로 배치되는 것을 특징으로 하는 다-계층형 비디오 데이터 스트림(200).
[실시예 34]
제 32실시예 또는 33실시예에 있어서, 각각의 NAL 유닛은 가능한 형태들의 세트 중에서 상기 각각의 NAL 유닛의 형태를 나타내는 NAL 유닛 형태 지수를 갖고, 각각의 액세스 유닛 내에서, 상기 각각의 액세스 유닛의 상기 NAL 유닛들의 상기 형태들은 상기 NAL 유닛 형태들 중에서 순서 규칙을 따르고, 액세스 유닛들의 각각의 쌍 사이에서, 상기 순서 규칙은 깨지는 것을 특징으로 하는 다-계층형 비디오 데이터 스트림(200).
[실시예 35]
NAL 유닛들(202)로 구성되는 다-계층식 비디오 데이터 스트림(200)을 발생시키기 위한 다-계층 비디오 코더에 있어서, 상기 다-계층 비디오 코더는 상기 다-계층식 비디오 데이터 스트림(200) 계층-간 예측을 사용하여 그 안에 코딩되는 복수의 계층의 화상들(204)을 갖는 것과 같이 상기 다-계층식 비디오 데이터 스트림(200)을 발생시키도록 구성되고, 각각의 NAL 유닛(202)은 각각의 NAL 유닛이 관련되는 계층을 나타내는 계층 지수(예를 들면, nuh_layer_id)를 가지며, 상기 NAL 유닛들의 시퀀스는 비-인터리빙된 액세스 유닛(206)의 시퀀스 내로 구조화되며, 하나의 액세스에 속하는 상기 NAL 유닛들은 하나의 시간적 시간 인스턴트의 화상들과 관련되고, 다른 액세스 유닛들의 NAL 유닛들은 다른 시간 인스턴트들과 관련되며, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 각각의 계층과 관련된 상기 NAL 유닛들의 적어도 일부는 하나 이상의 디코딩 유닛(208) 내로 그룹화되고, 다른 계층들과 관련된 NAL 유닛들이 상기 디코딩 유닛들은 인터리빙되며 따라서 각각의 디코딩 유닛을 위하여, 상기 각각의 디코딩 유닛을 인코딩하도록 사용되는 계층-간 예측은 상기 각각의 디코딩 유닛이 관련된 상기 계층 이외의 계층들의 화상들의 부분들을 기초로 하고, 이는 상기 각각의 액세스 유닛 내의 상기 각각의 디코딩 유닛을 선행하는 디코딩 유닛들 내로 코딩되는 것을 특징으로 하는 다-계층 비디오 코더.
[실시예 36]
NAL 유닛들(202)의 시퀀스로 구성되는 다-계층식 비디오 데이터 스트림(200)을 디코딩하도록 구성되는 디코더에 있어서, 상기 다-계층식 비디오 데이터 스트림은 계층-간 예측을 사용하여 그 안에 코딩되는 복수의 계층의 화상들(204)을 갖고, 각각의 NAL 유닛(202)은 각각의 NAL 유닛이 관련되는 계층을 나타내는 계층 지수(예를 들면, nuh_layer_id)를 가지며, 상기 NAL 유닛들의 시퀀스는 비-인터리빙된 액세스 유닛(206)의 시퀀스 내로 구조화되며, 하나의 액세스에 속하는 상기 NAL 유닛들은 하나의 시간적 시간 인스턴트의 화상들과 관련되고, 다른 액세스 유닛들의 NAL 유닛들은 다른 시간 인스턴트들과 관련되며, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 각각의 계층과 관련된 상기 NAL 유닛들의 적어도 일부는 하나 이상의 디코딩 유닛(208) 내로 그룹화되고, 다른 계층들과 관련된 NAL 유닛들이 상기 디코딩 유닛들은 인터리빙되며 따라서 각각의 디코딩 유닛을 위하여, 상기 각각의 디코딩 유닛을 인코딩하도록 사용되는 계층-간 예측은 상기 각각의 디코딩 유닛이 관련된 상기 계층 이외의 계층들의 화상들의 부분들을 기초로 하고, 이는 상기 각각의 액세스 유닛 내의 상기 각각의 디코딩 유닛을 선행하는 디코딩 유닛들 내로 코딩되는 것을 특징으로 하는 디코더.
[실시예 37]
제 36실시예에 있어서, 상기 디코더는 병렬 방식으로, 상기 하나의 시간 인스턴트에 대하여, 상기 다-계층 비디오 데이터 스트림으로부터 상기 복수의 계층의 상기 화상들을 디코딩하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 38]
제 36실시예 또는 37실시예에 있어서, 상기 디코더는 복수의 버퍼 내의 상기 다-계층 비디오 데이터 스트림을 버퍼링하도록 구성되고 상기 NAL 유닛들을 상기 NAL 유닛들이 속하는, 상기 계층에 따라 상기 복수의 버퍼 상으로 분포시키는 것을 특징으로 하는 디코더.
[실시예 39]
제 36실시예 내지 38실시예 중 어느 한 실시예에 있어서, 상기 다-계층식 비디오 데이터 스트림은 제 1 가능한 상태 및 제 2 가능한 상태를 갖는 인터리빙 시그널링를 갖고, 승기 디코더는 만일 상기 인터리빙 시그널링이 상기 제 1 가능한 상태를 추정하면, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 각각의 계층과 관련된 상기 NAL 유닛들의 적어도 일부는 하나 이상의 디코딩 유닛으로 그룹화되고, 다른 계층들과 관련된 NAL 유닛들의 상기 디코딩 유닛들은 인터리빙되며 따라서 각각의 디코딩 유닛을 위하여, 상기 각각의 디코딩 유닛을 인코딩하도록 사용되는 계층-간 예측은 상기 각각의 디코딩 유닛이 관련되는 상기 계층들 이외의 계층들의 화상들의 부분들을 기초로 하며, 이는 상기 각각의 액세스 유닛 내의 상기 각각의 디코딩 유닛을 선행하는 디코딩 유닛들 내로 코딩되며, 만일 상기 인터리빙 시그널링이 상기 제 2 가능한 상태를 추정하면, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 NAL 유닛들은 상기 디코딩 유닛들이 관련되는 상기 계층들과 관련하여 비-인터리빙된 채로 배치되는 것을 인지한다는 점에서 상기 인터리빙 시그널링에 응답하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 40]
제 36실시예 내지 39실시예 중 어느 한 실시예에 있어서, 상기 다-계층식 비디오 데이터 스트림은 제 1 가능한 상태 및 제 2 가능한 상태를 갖는 인터리빙 시그널링을 갖고, 상기 디코더는 상기 제 2 가능한 상태를 갖는 상기 인터리빙 시그널링의 경우에, 상기 각각의 NAL 유닛들이 속하는 상기 계층에 따라 상기 복수의 버퍼 상으로 NAL 유닛들을 분배하는 복수의 버퍼 내의 상기 다-계층 비디오 데이터 스트림을 버퍼링하고, 상기 제 2 가능한 상태를 갖는 상기 인터리빙 시그널링의 경우에, 상기 각각의 NAL 유닛들이 속하는 상기 계층과 관계없이, 상기 복수의 버퍼 중 하나의 내의 상기 다-계층 비디오 데이터 스트림을 버퍼링도록 구성되는 점에서 상기 인터리빙 시그널링에 응답하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 41]
제 36실시예 내지 40실시예 중 어느 한 실시예에 있어서, 상기 다-계층식 비디오 데이터 스트림(200)은 각각의 NAL 유닛이 가능한 형태들의 세트 중에서 각각의 NAL 유닛의 형태를 나타내는 NAL 유닛 형태 지수를 갖고, 각각의 액세스 유닛 내에서, 상기 각각의 액세스 유닛의 상기 NAL 유닛들의 상기 형태들이 상기 NAL 유닛 형태들 중에서 순서 규칙을 따르며, 액세스 유닛들의 각각의 쌍 사이에서,상기 순서 규칙이 깨지는 것과 같이 배치되고, 상기 디코더는 상기 순서 규칙이 두 개의 바로 연속하는 NAL 유닛 사이에서 깨지는지를 검출함으로써 상기 순서 규칙을 사용하여 액세스 유닛 경계들을 검출하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 42]
NAL 유닛들(202)의 시퀀스로 구성되는 다-계층식 비디오 데이터 스트림(200)을 디코딩하기 위한 방법에 있어서, 상기 방법은 상기 다-계층식 비디오 데이터 스트림이 계층-간 예측을 사용하여 그 안에 코딩되는 복수의 계층의 화상들(204)을 갖는 것과 같이 상기 다-계층식 비디오 데이터 스트림(200)을 발생시키는 단계를 포함하고, 각각의 NAL 유닛(202)은 각각의 NAL 유닛이 관련되는 계층을 나타내는 계층 지수(예를 들면, nuh_layer_id)를 가지며, 상기 NAL 유닛들의 시퀀스는 비-인터리빙된 액세스 유닛(206)의 시퀀스 내로 구조화되며, 하나의 액세스에 속하는 상기 NAL 유닛들은 하나의 시간적 시간 인스턴트의 화상들과 관련되고, 다른 액세스 유닛들의 NAL 유닛들은 다른 시간 인스턴트들과 관련되며, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 각각의 계층과 관련된 상기 NAL 유닛들의 적어도 일부는 하나 이상의 디코딩 유닛(208) 내로 그룹화되고, 다른 계층들과 관련된 NAL 유닛들이 상기 디코딩 유닛들은 인터리빙되며 따라서 각각의 디코딩 유닛을 위하여, 상기 각각의 디코딩 유닛을 인코딩하도록 사용되는 계층-간 예측은 상기 각각의 디코딩 유닛이 관련된 상기 계층 이외의 계층들의 화상들의 부분들을 기초로 하고, 이는 상기 각각의 액세스 유닛 내의 상기 각각의 디코딩 유닛을 선행하는 디코딩 유닛들 내로 코딩되는 것을 특징으로 하는 방법.
[실시예 43]
NAL 유닛들(202)의 시퀀스로 구성되는 다-계층식 비디오 데이터 스트림(200)을 디코딩하기 위한 방법에 있어서, 상기 다-계층식 비디오 데이터 스트림(200)은 계층-간 예측을 사용하여 그 안에 인코딩되는 복수의 계층을 갖고, 각각의 NAL 유닛(202)은 각각의 NAL 유닛이 관련되는 계층을 나타내는 계층 지수(예를 들면, nuh_layer_id)를 가지며, 상기 NAL 유닛들의 시퀀스는 비-인터리빙된 액세스 유닛(206)의 시퀀스 내로 구조화되며, 하나의 액세스에 속하는 상기 NAL 유닛들은 하나의 시간적 시간 인스턴트의 화상들과 관련되고, 다른 액세스 유닛들의 NAL 유닛들은 다른 시간 인스턴트들과 관련되며, 각각의 액세스 유닛 내에서, 각각의 계층을 위하여, 상기 각각의 계층과 관련된 상기 NAL 유닛들의 적어도 일부는 하나 이상의 디코딩 유닛(208) 내로 그룹화되고, 다른 계층들과 관련된 NAL 유닛들이 상기 디코딩 유닛들은 인터리빙되며 따라서 각각의 디코딩 유닛을 위하여, 상기 각각의 디코딩 유닛을 인코딩하도록 사용되는 계층-간 예측은 상기 각각의 디코딩 유닛이 관련된 상기 계층 이외의 계층들의 화상들의 부분들을 기초로 하고, 이는 상기 각각의 액세스 유닛 내의 상기 각각의 디코딩 유닛을 선행하는 디코딩 유닛들 내로 코딩되는 것을 특징으로 하는 방법.
[실시예 44]
컴퓨터 상에서 구동할 때, 제 42실시예 내지 43실시예 중 어느 한 실시예에 따른 방법을 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램.
[실시예 45]
각각 계층 식별 구문 요소(806)를 포함하는 패킷들의 시퀀스로 구성되는 다-계층식 비디오 신호를 디코딩하도록 구성되는 디코더에 있어서, 상기 디코더는 만일 상기 계층 식별 확장 메커니즘 시그널링(808; 808')이 계층 식별 확장 메커니즘의 활성을 시그널링하면, 미리 결정된 패킷(810)을 위하여 상기 다-계층식 데이터 스트림으로부터 계층 식별 확장(818)을 판독하고 상기 계층 식별 확장(818)을 사용하여 상기 미리 결정된 패킷의 계층 식별 지수를 결정하기(818) 위하여, 그리고 만일 상기 계층 식별 확장 메커니즘 시그널링(808; 808')이 상기 계층 식별 확장 메커니즘의 불활성을 시그널링하면, 상기 미리 결정된 패킷(810)을 위하여, 상기 미리 결정된 패킷에 의해 포함되는 상기 계층 식별 구문 요소(806)로부터 상기 미리 결정된 패킷의 상기 계층 식별 지수를 결정하기 위하여, 상기 다-계층식 비디오 신호 내의 상기 계층 식별 확장 메커니즘 시그널링에 응답하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 46]
제 45실시예에 있어서, 상기 계층 식별 구문 요소(806)는 적어도 상기 계층 식별 확장 메커니즘 시그널링(808)에 기여하고, 상기 디코더는 상기 계층 식별 확장 메커니즘 시그널링(808)이 적어도 탈출 값을 추정하거나 또는 추정하지 않는 상기 미리 결정된 패킷에 의해 포함되는 상기 계층 식별 구문 요소에 의존하여 상기 미리 결정된 패킷을 위한 상기 계층 식별 확장 메커니즘의 상기 활성 또는 상기 불활성을 시그널링하는지를 결정하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 47]
제 45실시예 또는 46실시예에 있어서, 상기 계층 식별 구문 요소(806)는 적어도 상기 계층 식별 확장 메커니즘 시그널링(808)에 기여하고, 상기 디코더는 상기 계층 식별 확장 메커니즘 시그널링(808)이 상기 고레벨 구문 요소(822)에 의존하여 상기 미리 결정된 패킷(810)을 위한 상기 계층 식별 확장 메커니즘의 상기 활성 또는 상기 불활성을 시그널링하는지를 결정하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 48]
제 47실시예에 있어서, 상기 디코더는 상기 계층 식별 확장 메커니즘 시그널링(808; 808')이 제 1 상태를 추정하는 상기 고레벨 구문 요소에 응답하여 상기 계층 식별 확장 메커니즘의 상기 불활성을 시그널링하는 것을 결정하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 49]
제 48실시예에 있어서, 상기 계층 식별 구문 요소는 부가적으로 계층 식별 확장 메커니즘 시그널링(608)에 기여하고 상기 디코더는 만일 상기 고레벨 구문 요소 모두가 상기 제 1 상태와 다른 제 2 상태를 추정하고 상기 미리 결정된 패킷의 상기 계층 식별 구문 요소가 탈출 값을 추정하면, 레벨 식별 확장 메커니즘 시그널링이 상기 미리 결정된 패킷을 위한 상기 레벨 식별 확장 메커니즘의 화성을 시그널링하는 것을 결정하도록 구성되고, 만일 상기 제1 상태를 추정하는 상기 고레벨 구문 요소 및 상기 탈출 값과 가른 값을 추정하는 상기 계층 식별 요소 중 하나가 적용되면, 상기 레벨 식별 확장 메커니즘은 상기 레벨 식별 확장 메커니즘의 불활성을 시그널링하는 것을 결정하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 50]
제 49실시예에 있어서, 상기 디코더는 만일 상기 고레벨 구문 요소가 상기 제 1 및 제 2 상태와 다른 제 3 상태를 추정하면, 상기 미리 결정된 패킷의 상기 레벨 식별 지수를 획득하기 위하여 상기 미리 결정된 패킷에 의해 포함되는 상기 계층 식별 구문 요소를 나타내는 숫자 및 상기 레벨 식별 확장을 나타내는 숫자를 연관시키도록 구성되는 것을 특징으로 하는 디코더.
[실시예 51]
제 49실시예에 있어서, 상기 디코더는 만일 상기 고레벨 구문 요소가 상기 제 2 상태를 추정하면, 상기 고레벨 구문 요소를 사용하여 상기 레벨 식별 확장의 길이(n)를 결정하고, 상기 미리 결정된 패킷의 상기 레벨 식별 지수를 획득하기 위하여 상기 미리 결정된 패킷에 의해 포함되는 상기 계층 식별 구문 요소를 나타내는 숫자 및 상기 레벨 식별 확장을 나타내는 n 숫자를 연관시키도록 구성되는 것을 특징으로 하는 디코더.
[실시예 52]
제 45실시예 내지 51실시예 중 어느 한 실시예에 있어서, 상기 디코더는 만기 계층 식별 메커니즘 시그널링이 상기 계층 식별 확장 메커니즘의 활성을 시그널링하면, 상기 미리 결정된 패킷의 상기 레벨 식별 지수를 획득하기 위하여 상기 미리 결정된 패킷에 의해 포함되는 상기 계층 식별 구문 요소를 나타내는 숫자 및 상기 레벨 식별 확장을 나타내는 숫자를 연관시킴으로써 상기 미리 결정된 패킷의 상기 계층 식별 지수를 결정하도록(816) 구성되는 것을 특징으로 하는 디코더.
[실시예 53]
제 45실시예 내지 52실시예 중 어느 한 실시예에 있어서, 상기 디코더는 만일 상기 계층 식별 확장 메커니즘 시그널링이 상기 계층 식별 확장 메커니즘의 상기 활성을 시그널링하면, 상기 미리 결정된 패킷의 상기 레벨 식별 지수를 획득하기 위하여 상기 레벨 식별 확장을 미리 결정된 값(예를 들면, maxNuhLayerId)에 가산함으로써 상기 미리 결정된 패킷의 상기 계층 식별 지수를 결정하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 54]
각각 계층 식별 구문 요소(806)를 포함하는 패킷들의 시퀀스로 구성되는 다-계층식 비디오 데이터 스트림을 디코딩하기 위한 방법에 있어서, 상기 방법은:
만일 상기 계층 식별 확장 메커니즘 시그널링(808; 808')이 계층 식별 확장 메커니즘의 시그널링의 활성을 시그널링하면, 미리 결정된 패킷(810)을 위하여, 상기 다-계층식 비디오 데이터 스트림으로부터 계층 식별 확장(818)을 판독하는 단계 및 상기 계층 식별 확장(818)을 사용하여 상기 미리 결정된 패킷의 계층 식별 지수를 결정하는 단계(816); 및
만일 상기 계층 식별 확장 메커니즘 시그널링(808; 808')이 계층 식별 확장 메커니즘의 시그널링의 불활성을 시그널링하면, 미리 결정된 패킷(810)을 위하여, 상기 미리 결정된 패킷에 의해 포함되는 상기 계층 식별 구문 요소(806)로부터 상기 미리 결정된 패킷의 상기 계층 식별 지수를 결정하는 단계(820);를 포함한다는 점에서,
상기 다-계층식 비디오 신호 내의 계층 식별 확장 메커니즘 시그널링(808; 808')에 응답하는 것을 특징으로 하는 방법.
[실시예 55]
컴퓨터 상에서 구동할 때, 제 54실시예에 따른 방법을 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램.
[실시예 56]
계층-간 예측을 사용하여 서로 다른 정보량의 레벨들에서 비디오 재료가 코딩되는 다-계층식 비디오 데이터 스트림에 있어서, 상기 레벨들은 그 중에서 정의된 순차적 순서를 갖고 상기 비디오 재료는 어떠한 계층도 상기 순차적 순서에 따라 뒤따르는 어떠한 계층으로부터 상기 계층-간 예측을 통하여 의존하지 않도록 상기 다-계층식 비디오 데이터 스트림 내로 인코딩되며, 하나 이상의 다른 계층으로부터 상기 계층-간 예측을 통하여 의존하는 각각의 계층은 상기 비디오 재료가 하나 이상의 다른 계층 내로 코딩되는(예를 들면 서로 다른 차원 형태들과 관련하여) 정보량을 증가시키며, 상기 다-계층식 비디오 데이터 스트림은:
종속 공간뿐만 아니라 종속 차원(i) 당 순위 레벨들의 최대 수(N)를 스패닝하는 종속 차원들의 수(M)를 정의하고, 이에 의해 상기 종속 공간 내의
Figure 112020063870257-pat00020
이용 가능한 지점들, 및 각각의 레벨을 상기 종속 공간 내의 상기 이용 가능한 지점들의 적어도 하나의 서브셋 중 각각의 하나 상으로 매핑하는, 전단 매핑을 정의하는 제 1 구문 구조; 및
종속 차원(i) 당, 종속 차원들(i)의 Ni 순위 레벨들 중에서 종속을 기술하고, 이에 의해 모두 높은 순위 레벨로부터 낮은 순위 레벨들로의 포인팅(pointing)을 갖는 상기 종속 축들 중 각각의 하나에 평행하게 구동하는 상기 종속 공간 내의 상기 이용 가능한 지점들 사이의 종속들을 정의하는 제 2 구문 구조;를 포함하고, 각각의 종속 차원을 위하여, 상기 각각의 종속 차원들에 평행한 상기 종속들은 상기 각각의 차원 이외의 상기 각각의 종속 차원들을 따르는 순환 이동에 대항하여 불변이며, 이에 의해 상기 전단 매핑을 통하여, 상기 계층들 사이의 상기 종속들을 동시에 정의하는 것을 특징으로 하는 다-계층식 비디오 데이터 스트림.
[실시예 57]
제 56실시예의 상기 데이터 스트림의 상기 제 1 및 제 2 구문 구조를 판독하고,
상기 제 1 및 제 2 구문 구조에 의존하여 상기 계층들 사이의 상기 종속들을 결정하도록 구성되는 것을 특징으로 하는 네트워크 엔티티.
[실시예 58]
제 56실시예에 있어서,
상기 레벨들 중 하나를 선택하고,
선택된 래벨이 상기 계층들 사이의 종속들에 의해 독립적인 계층에 속하는(예를 들면 nuh_layer_id를 통하여) 상기 다-께층식 비디오 데이터 스트림의 패킷들을 폐기허더록 구성되는 것을 특징으로 하는 네트워크 엔티티.
[실시예 59]
제 56실시예의 상기 데이터 스트림의 상기 제 1 및 제 2 구문 구조를 판독하는 단계; 및
상기 제 1 및 제 2 구문 구조에 의존하여 상기 계층들 사이의 상기 종속들을 결정하는 단계;를 포함하는 것을 특징으로 하는 방법.
[실시예 60]
컴퓨터 상에서 구동할 때, 제 59실시예에 따른 방법을 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 저장 매체.
10 : 인코더
12, 15 : 화상
14 : 비디오
18 : 예측기
20 : 예측 잔류
22 : 잔류 결정기
24 : 변환/양자화 모듈
26 : 변환되고 양자화된 예측 잔류
28 : 엔트로피 코더
30 : 탈양자화되고 재변환된 잔류 신호
31 : 재변환/재양자화 모듈
32 : 예측 신호
33 : 결합기
34 : 복원된 신호
39, 41 : 블록
40 : 비트스트림
50 : 디코더
54 : 재변환/탈양자화 모듈
56 : 결합기
58 : 필터
60 : 예측기
62 : 잔류 데이터
64 : 코딩 파라미터
65 : 잔류 신호
66 : 예측 신호
58 : 복원된 신호
80, 82 : 타일
86 : 타일 경계
90 : 블록
92 : 래스터 스캔 코딩/디코딩 순서
94a, 94b : 화상의 슬라이스
98a-98d :파면 병렬 처리 서브스트림
100 : 파면 병렬 처리 서브스트림
108 : 파면
200 : 커널
201 : 다-계층식 비디오 재료
202 : NAL 유닛
204 : 화상
206 : 액세스 유닛
208 : 디코딩 유닛
210 : 화상의 영역
300 : 경계
301 : 공간 세그먼트
302 : 블록
308 : 차이 벡터
311 : 필터 커널
314 : 기준 블록/부분
320 : 이웃 블록
600 : 다-시점 인코더
602 : 시점-간 예측
606 : 공동 위치되는 부분
620 : 디코더
700 : 디코더
702, 704 : 버퍼
706 : 멀티플렉서
708 : 디코딩 유닛
720 : 인코더
724 : 인터리빙 시그널링
800 : 디코더
804 : 패킷
806 : 계층 식별 구문 요소
808 : 계층 식별 확장 메커니즘 시그널링
810 : 미리 결정된 패킷
812 : 스위치
818 : 레벨 식별 확장
822 : 고레벨 구문 요소

Claims (60)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제 1 시점에서 제 2 시점으로의 시점-간 예측을 사용하여 데이터 스트림으로부터 복수의 시점들을 재구성하도록 구성된 디코더에 있어서,
    상기 디코더는 상기 데이터 스트림에서의 시그널링에 기초하여 상기 제 1 시점이 분할되는 공간 세그먼트들의 공간 세그먼트 경계들에서의 시점-간 예측을 수행하도록 구성되고, 상기 시그널링은 상기 제 2 시점의 현재 부분에 대한 상기 제 1 시점으로부터 상기 제 2 시점으로의 시점-간 예측이 상기 제 1 시점의 공간 세그먼트들 중 오직 제 1 공간 세그먼트로부터 유래하는 정보에 기초한다는 보장을 나타내고, 상기 제 1 시점의 제 1 공간 세그먼트는 상기 제 2 시점의 현재 부분과 공간적으로 병치되는 것을 특징으로 하는 디코더.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 제15항에 있어서,
    상기 시점-간 예측은 상기 제 2 시점의 현재 부분의 샘플 값들을 예측하는 것을 포함하는 것을 특징으로 하는 디코더.
  21. 제15항에 있어서,
    상기 시점-간 예측은 상기 제 1 시점의 제 1 공간 세그먼트와 연관된 움직임 벡터들에 기초하여 상기 제 2 시점의 현재 부분과 연관된 움직임 벡터들을 예측하는 것을 포함하는 것을 특징으로 하는 디코더.
  22. 제15항에 있어서,
    상기 공간 세그먼트 경계들에서의 시점-간 예측의 변화는 상기 제 2 시점의 현재 부분의 구문 요소의 확률 추정 또는 이진화의 선택과 연관되는 것을 특징으로 하는 디코더.
  23. 제 1 시점에서 제 2 시점으로의 시점-간 예측을 사용하여 복수의 시점들을 데이터 스트림으로 인코딩하도록 구성된 인코더에 있어서,
    상기 인코더는 상기 데이터 스트림에 시그널링을 삽입하도록 구성되고, 상기 제 1 시점 분할되는 공간 세그먼트들의 공간 세그먼트 경계들에서의 시점-간 예측은 상기 시그널링에 기초하여 수행되고, 상기 시그널링은 상기 제 2 시점의 현재 부분에 대한 상기 제 1 시점으로부터 상기 제 2 시점으로의 시점-간 예측이 상기 제 1 시점의 공간 세그먼트들 중 오직 제 1 공간 세그먼트로부터 유래하는 정보에 기초한다는 보장을 나타내고, 상기 제 1 시점의 제 1 공간 세그먼트는 상기 제 2 시점의 현재 부분과 공간적으로 병치되는 것을 특징으로 하는 인코더.
  24. 삭제
  25. 제23항에 있어서,
    상기 시점-간 예측은 상기 제 2 시점의 현재 부분의 샘플 값들을 예측하는 것을 포함하는 것을 특징으로 하는 인코더.
  26. 제23항에 있어서,
    상기 시점-간 예측은 상기 제 1 시점의 제 1 공간 세그먼트와 연관된 움직임 벡터들에 기초하여 상기 제 2 시점의 현재 부분과 연관된 움직임 벡터들을 예측하는 것을 포함하는 것을 특징으로 하는 인코더.
  27. 제23항에 있어서,
    상기 공간 세그먼트 경계들에서의 시점-간 예측의 변화는 상기 제 2 시점의 현재 부분의 구문 요소의 확률 추정 또는 이진화의 선택과 연관되는 것을 특징으로 하는 인코더.
  28. 비디오와 연관된 데이터를 저장하기 위한 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 비일시적 컴퓨터 판독 가능한 매체는 상기 비일시적 컴퓨터 판독 가능 매체에 저장된 데이터 스트림을 포함하고, 상기 데이터 스트림은 상기 데이터 스트림 내의 시그널링을 포함하고, 제 1 시점 분할되는 공간 세그먼트들의 공간 세그먼트 경계들에서의 시점-간 예측은 상기 시그널링에 기초하여 수행되고, 상기 시그널링은 제 2 시점의 현재 부분에 대한 상기 제 1 시점으로부터 상기 제 2 시점으로의 시점-간 예측이 상기 제 1 시점의 공간 세그먼트들 중 오직 제 1 공간 세그먼트로부터 유래하는 정보에 기초한다는 보장을 나타내고, 상기 제 1 시점의 제 1 공간 세그먼트는 상기 제 2 시점의 현재 부분과 공간적으로 병치되는 것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
  29. 삭제
  30. 제28항에 있어서,
    상기 시점-간 예측은 상기 제 2 시점의 현재 부분의 샘플 값들을 예측하는 것을 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
  31. 제28항에 있어서,
    상기 시점-간 예측은 상기 제 1 시점의 제 1 공간 세그먼트와 연관된 움직임 벡터들에 기초하여 상기 제 2 시점의 현재 부분과 연관된 움직임 벡터들을 예측하는 것을 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
  32. 제28항에 있어서,
    상기 공간 세그먼트 경계들에서의 시점-간 예측의 변화는 상기 제 2 시점의 현재 부분의 구문 요소의 확률 추정 또는 이진화의 선택과 연관되는 것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
KR1020207017996A 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념 KR102327617B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217036956A KR102467038B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361809605P 2013-04-08 2013-04-08
US61/809,605 2013-04-08
PCT/EP2014/057089 WO2014166964A1 (en) 2013-04-08 2014-04-08 Coding concept allowing efficient multi-view/layer coding
KR1020177023826A KR102127281B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177023826A Division KR102127281B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217036956A Division KR102467038B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념

Publications (2)

Publication Number Publication Date
KR20200077611A KR20200077611A (ko) 2020-06-30
KR102327617B1 true KR102327617B1 (ko) 2021-11-17

Family

ID=50442530

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020217036956A KR102467038B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
KR1020207017996A KR102327617B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
KR1020227039316A KR20220156103A (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
KR1020157031931A KR101773413B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
KR1020177023826A KR102127281B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020217036956A KR102467038B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020227039316A KR20220156103A (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
KR1020157031931A KR101773413B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
KR1020177023826A KR102127281B1 (ko) 2013-04-08 2014-04-08 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념

Country Status (6)

Country Link
US (2) US11582473B2 (ko)
EP (2) EP3758379A3 (ko)
JP (2) JP6449241B2 (ko)
KR (5) KR102467038B1 (ko)
CN (7) CN105308968B (ko)
WO (1) WO2014166964A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140122202A (ko) * 2013-04-05 2014-10-17 삼성전자주식회사 계층 식별자 확장에 따른 비디오 스트림 부호화 방법 및 그 장치, 계층 식별자 확장에 따른 따른 비디오 스트림 복호화 방법 및 그 장치
JP6261215B2 (ja) * 2013-07-12 2018-01-17 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
KR102067231B1 (ko) 2013-07-15 2020-01-17 지이 비디오 컴프레션, 엘엘씨 네트워크 장치 및 오류 처리
CN105393532B (zh) 2013-07-22 2019-04-19 索尼公司 信息处理设备和方法
US9706228B2 (en) * 2013-10-15 2017-07-11 Qualcomm Incorporated Support for large numbers of views in multi-layer coding
US10110910B2 (en) * 2013-10-21 2018-10-23 Vid Scale, Inc. Parallel decoding method for layered video coding
US10390087B2 (en) 2014-05-01 2019-08-20 Qualcomm Incorporated Hypothetical reference decoder parameters for partitioning schemes in video coding
US20150373376A1 (en) 2014-06-20 2015-12-24 Qualcomm Incorporated Systems and methods for selectively signaling different numbers of video signal information syntax structures in a parameter set
WO2015196966A1 (en) * 2014-06-23 2015-12-30 Mediatek Singapore Pte. Ltd. Method of segmental prediction for depth and texture data in 3d and multi-view coding systems
KR101682627B1 (ko) * 2014-09-05 2016-12-05 삼성에스디에스 주식회사 영상 스트림 제공 방법 및 시스템과 중계 장치
WO2016124711A1 (en) * 2015-02-05 2016-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. 3d-video codec supporting inter-component prediction
CN114827601A (zh) 2015-09-11 2022-07-29 株式会社Kt 对视频进行解码的方法和设备以及对视频进行编码的方法和设备
US10230948B2 (en) * 2016-02-03 2019-03-12 Mediatek Inc. Video transmitting system with on-the-fly encoding and on-the-fly delivering and associated video receiving system
FI20165256A (fi) * 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
GB2550150B (en) * 2016-05-10 2020-01-22 Advanced Risc Mach Ltd Data processing systems
US20170374364A1 (en) * 2016-06-23 2017-12-28 Mediatek Inc. Method and Apparatus of Face Independent Coding Structure for VR Video
GB2553315A (en) * 2016-09-01 2018-03-07 Nokia Technologies Oy Determining inter-view prediction areas
US20180098090A1 (en) * 2016-10-04 2018-04-05 Mediatek Inc. Method and Apparatus for Rearranging VR Video Format and Constrained Encoding Parameters
KR102004247B1 (ko) * 2016-11-25 2019-07-29 경희대학교 산학협력단 영상 병렬 처리 방법 및 장치
GB2572770B (en) * 2018-04-09 2022-11-02 Canon Kk Method and apparatus for encoding or decoding video data with frame portions
US10841604B2 (en) * 2018-09-04 2020-11-17 Google Llc Temporal prediction shifting for scalable video coding
WO2020056356A1 (en) 2018-09-14 2020-03-19 Futurewei Technologies, Inc. Tile signaling in video coding
US11736713B2 (en) * 2018-11-14 2023-08-22 Tencent America LLC Constraint on affine model motion vector
CN113366834A (zh) * 2018-11-26 2021-09-07 弗劳恩霍夫应用研究促进协会 使用切片独立约束的间预测概念
US11310516B2 (en) * 2018-12-21 2022-04-19 Hulu, LLC Adaptive bitrate algorithm with cross-user based viewport prediction for 360-degree video streaming
JP7481332B2 (ja) * 2018-12-25 2024-05-10 オッポ広東移動通信有限公司 デコードのための予測方法及びその装置、並びにコンピュータ記憶媒体
KR20210094082A (ko) 2018-12-29 2021-07-28 에스지 디제이아이 테크놀러지 코., 엘티디 비디오 처리 방법 및 기기
CN114026863A (zh) * 2019-06-24 2022-02-08 交互数字Vc控股公司 使用高级语法元素发信号通知解码数据的方法和装置
WO2021010887A1 (en) * 2019-07-12 2021-01-21 Telefonaktiebolaget Lm Ericsson (Publ) Extension of header values in video and image coding units
US11706428B2 (en) * 2020-04-06 2023-07-18 Tencent America LLC Method for signaling picture header in coded video stream
CN115699728A (zh) 2020-06-08 2023-02-03 字节跳动有限公司 视频编解码中的子层信令
US20230079859A1 (en) * 2021-09-13 2023-03-16 Apple Inc. Systems and methods for streaming extensions for video encoding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012036901A1 (en) * 2010-09-14 2012-03-22 Thomson Licensing Compression methods and apparatus for occlusion data

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69331174T2 (de) * 1992-06-29 2002-06-06 Canon Kk Bildverarbeitungsvorrichtung
JPH10336668A (ja) * 1997-06-02 1998-12-18 Sharp Corp 動きベクトル検出装置
JP4118049B2 (ja) * 2001-12-28 2008-07-16 株式会社リコー 画像処理装置及び方法
US8260661B2 (en) * 2003-09-30 2012-09-04 Visa U.S.A. Inc. System and apparatus for linking multiple rewards programs to promote the purchase of specific product mixes
ITMI20041971A1 (it) 2004-10-15 2005-01-15 Uni Degli Studi Brescia Metodo di codifica video scalabile
US7961963B2 (en) 2005-03-18 2011-06-14 Sharp Laboratories Of America, Inc. Methods and systems for extended spatial scalability with picture-level adaptation
KR100678907B1 (ko) 2005-07-12 2007-02-06 삼성전자주식회사 하위 계층의 복원 데이터를 사용하여 fgs 계층을 인코딩및 디코딩하는 방법 및 장치
JP4490351B2 (ja) 2005-08-29 2010-06-23 日本電信電話株式会社 階層間予測処理方法,階層間予測処理装置,階層間予測処理プログラムおよびその記録媒体
KR100772868B1 (ko) 2005-11-29 2007-11-02 삼성전자주식회사 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
JP2009518981A (ja) 2005-12-08 2009-05-07 ヴィドヨ,インコーポレーテッド ビデオ通信システムでのエラー回復力およびランダムアクセスのためのシステムおよび方法
JP5535485B2 (ja) * 2006-01-09 2014-07-02 トムソン ライセンシング 削減された分解能更新モードをマルチビュー・ビデオ符号化に提供する方法及び装置
WO2007081908A1 (en) * 2006-01-09 2007-07-19 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multi-view video coding
US8422805B2 (en) 2006-07-10 2013-04-16 France Telecom Device and method for scalable encoding and decoding of image data flow and corresponding signal and computer program
US7535383B2 (en) * 2006-07-10 2009-05-19 Sharp Laboratories Of America Inc. Methods and systems for signaling multi-layer bitstream data
CN101627634B (zh) * 2006-10-16 2014-01-01 诺基亚公司 用于将可并行解码片用于多视点视频编码的系统和方法
WO2008049052A2 (en) * 2006-10-18 2008-04-24 Apple Inc. Scalable video coding with filtering of lower layers
AU2007318376B2 (en) * 2006-11-09 2010-07-01 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
KR100896290B1 (ko) * 2006-11-17 2009-05-07 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
KR20080066522A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 다시점 영상의 부호화, 복호화 방법 및 장치
CN101669367A (zh) * 2007-03-02 2010-03-10 Lg电子株式会社 用于解码/编码视频信号的方法及设备
SI3264780T1 (sl) 2007-04-18 2020-08-31 Dolby International Ab Kodirni sistemi, pri katerih se uporablja dodatni niz sekvenčnih parametrov za skalabilno kodiranje videa ali večpogledno kodiranje
BR122012021950A2 (pt) * 2007-10-05 2015-08-04 Thomson Licensing Aparelho para incorporação de informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo com múltiplos visualizações (mvc)
CN101822055B (zh) 2007-10-15 2013-03-13 汤姆森许可贸易公司 可缩放视频的层间残差预测的方法和设备
SG155797A1 (en) * 2008-03-20 2009-10-29 St Microelectronics Asia System and process for image rescaling with edge adaptive phase control in interpolation process
US8249142B2 (en) 2008-04-24 2012-08-21 Motorola Mobility Llc Method and apparatus for encoding and decoding video using redundant encoding and decoding techniques
JP5115498B2 (ja) * 2009-03-05 2013-01-09 富士通株式会社 画像符号化装置、画像符号化制御方法およびプログラム
AU2009201637B2 (en) * 2009-04-24 2011-08-11 Canon Kabushiki Kaisha Processing multi-view digital images
US8705624B2 (en) 2009-11-24 2014-04-22 STMicroelectronics International N. V. Parallel decoding for scalable video coding
FR2955730A1 (fr) * 2010-01-25 2011-07-29 Thomson Licensing Procedes de codage et de decodage
KR20140017018A (ko) * 2010-04-07 2014-02-10 가부시키가이샤 제이브이씨 켄우드 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화 프로그램, 및 동화상 복호 장치, 동화상 복호 방법 및 동화상 복호 프로그램
US20110293004A1 (en) * 2010-05-26 2011-12-01 Jicheng An Method for processing motion partitions in tree-based motion compensation and related binarization processing circuit thereof
PT2594077E (pt) * 2010-07-15 2016-03-01 Ge Video Compression Llc Codificação de vídeo híbrida para suporte a síntese de visualização intermédia
KR102185765B1 (ko) * 2010-08-11 2020-12-03 지이 비디오 컴프레션, 엘엘씨 멀티-뷰 신호 코덱
AU2012205650B2 (en) * 2011-01-14 2016-08-11 Vidyo, Inc. Improved NAL unit header
JP5747559B2 (ja) * 2011-03-01 2015-07-15 富士通株式会社 動画像復号方法、動画像符号化方法、動画像復号装置、及び動画像復号プログラム
CN107071411B (zh) * 2011-04-25 2020-08-28 Lg电子株式会社 一种由解码设备和编码设备执行的帧内预测方法
WO2012167711A1 (en) 2011-06-10 2012-12-13 Mediatek Inc. Method and apparatus of scalable video coding
AU2012267007B2 (en) 2011-06-10 2016-03-17 Mediatek Inc. Method and apparatus of scalable video coding
KR20140057373A (ko) * 2011-08-30 2014-05-12 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
GB2505643B (en) * 2012-08-30 2016-07-13 Canon Kk Method and device for determining prediction information for encoding or decoding at least part of an image
US9473779B2 (en) * 2013-03-05 2016-10-18 Qualcomm Incorporated Parallel processing for video coding
US20160088305A1 (en) * 2013-04-17 2016-03-24 Wilus Institute Of Standards And Technology Inc. Method and apparatus for processing video signal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012036901A1 (en) * 2010-09-14 2012-03-22 Thomson Licensing Compression methods and apparatus for occlusion data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ki-Kit Lai et al.; "Viewpoint Switching in Multiview video Using SP-Frames", pp.1776-1779, ICIP, 2008.
Y-K WANG: "Report of BoG on High-level syntax for extension planning", JCTVC-J0574, 11-20,July, 2012.*

Also Published As

Publication number Publication date
KR101773413B1 (ko) 2017-08-31
JP2016519513A (ja) 2016-06-30
US11582473B2 (en) 2023-02-14
CN117956142A (zh) 2024-04-30
KR20200077611A (ko) 2020-06-30
KR20170102045A (ko) 2017-09-06
EP2984839B1 (en) 2020-05-27
KR20150140354A (ko) 2015-12-15
EP3758379A3 (en) 2021-02-24
EP2984839A1 (en) 2016-02-17
KR20220156103A (ko) 2022-11-24
CN117956141A (zh) 2024-04-30
US20160057441A1 (en) 2016-02-25
KR102127281B1 (ko) 2020-06-26
WO2014166964A1 (en) 2014-10-16
JP2021182750A (ja) 2021-11-25
JP6920271B2 (ja) 2021-08-18
CN105308968B (zh) 2019-06-14
KR20210138166A (ko) 2021-11-18
CN110225356A (zh) 2019-09-10
CN117956144A (zh) 2024-04-30
CN117956143A (zh) 2024-04-30
JP2019075793A (ja) 2019-05-16
CN117956140A (zh) 2024-04-30
EP3758379A2 (en) 2020-12-30
CN110225356B (zh) 2024-02-13
US20230108814A1 (en) 2023-04-06
KR102467038B1 (ko) 2022-11-14
JP6449241B2 (ja) 2019-01-09
CN105308968A (zh) 2016-02-03

Similar Documents

Publication Publication Date Title
KR102327617B1 (ko) 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
ES2952079T3 (es) Dimensionamiento de subimágenes en la codificación de vídeo
US20210306646A1 (en) Efficient scalable coding concept
KR101770928B1 (ko) 비디오 코딩을 위한 교차 계층 병렬 프로세싱 및 오프셋 지연 파라미터들
KR102113906B1 (ko) 비디오 코딩에서의 nooutputofpriorpicsflag 의 개선된 추론
KR20160019068A (ko) 멀티-계층 비디오 코딩에서의 계층간 예측 타입들에 관한 비트스트림 제약들의 프로세싱
JP2023168394A (ja) ビデオエンコーダ、ビデオデコーダ、および対応する方法
KR20160031498A (ko) 비디오 정보의 스케일러블 코딩을 위한 디바이스 및 방법
EP3022926A2 (en) Device and method for scalable coding of video information
JP7485639B2 (ja) 効率的なマルチビュー/レイヤ符号化を可能とする符号化コンセプト
CN116567251A (zh) 基于子图像的视频译码中的子图像id指示

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant