KR20160070822A - 서브-계층 기반 계층간 예측에 대한 의존성들을 별도로 정의하기 위한 시스템들 및 방법들 - Google Patents

서브-계층 기반 계층간 예측에 대한 의존성들을 별도로 정의하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20160070822A
KR20160070822A KR1020167012573A KR20167012573A KR20160070822A KR 20160070822 A KR20160070822 A KR 20160070822A KR 1020167012573 A KR1020167012573 A KR 1020167012573A KR 20167012573 A KR20167012573 A KR 20167012573A KR 20160070822 A KR20160070822 A KR 20160070822A
Authority
KR
South Korea
Prior art keywords
layer
picture
inter
enhancement layer
enhancement
Prior art date
Application number
KR1020167012573A
Other languages
English (en)
Other versions
KR101841858B1 (ko
Inventor
크리쉬나칸트 라파카
예-쿠이 왕
지안레 천
마르타 카르체비츠
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160070822A publication Critical patent/KR20160070822A/ko
Application granted granted Critical
Publication of KR101841858B1 publication Critical patent/KR101841858B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/423Methods 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 characterised by memory arrangements
    • 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/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 정의 및 표시하기 위한 시스템들 및 방법들이 본 명세서에서 설명된다. 본 개시에서 설명된 청구물의 일 양태는 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하도록 구성된 메모리 유닛을 포함하는 비디오 인코더를 제공한다. 비디오 인코더는 메모리 유닛과 통신하는 프로세서를 더 포함한다. 프로세서는, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시하는 별도의 표시를 인핸스먼트 계층들 각각에 대해 제공하도록 구성된다.

Description

서브-계층 기반 계층간 예측에 대한 의존성들을 별도로 정의하기 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR SEPARATELY DEFINING DEPENDENCIES FOR SUB-LAYER BASED INTER-LAYER PREDICTION}
본 개시는 스케일러블 비디오 코딩 (SVC) 의 분야에 관련된다. 더 상세하게는, 본 개시는 HEVC 기반 SVC (HEVC-SVC) 및 HEVC 확장들에 관련된다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인용 디지털 보조기들 (PDA들), 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, e-북 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 소위 "스마트 폰들", 비디오 텔레컨퍼런싱 디바이스들, 비디오 스트리밍 디바이스들 등을 포함한, 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 하기에서 설명되는 바와 같은 다양한 비디오 코딩 표준들 (예를 들어, 고효율 비디오 코딩 (HEVC)) 에서 설명된 기법들과 같은 비디오 압축 기법들을 구현한다. 비디오 디바이스들은 그러한 비디오 압축 기법들을 구현함으로써 디지털 비디오 정보를 더 효율적으로 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.
비디오 인코더로 하여금 제 1 계층과 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각과의 사이의 계층간 예측 의존성의 별도의 독립적인 표시들을 제공하게 하는 것이 유익할 것이다. 그러한 별도의 독립적인 표시들은, 예를 들어, 실시간 어플리케이션 시나리오들에 있어서 다수의 코딩 시나리오들에서의 코딩 성능을 개선시킬 수도 있다 (예를 들어, 리소스 트레이드오프 유연성들을 제공함).
따라서, 제 1 계층에서의 픽처들 및/또는 관련 인핸스먼트 계층에서의 픽처들의 특정 특성들에 관련된 표시들 및/또는 결정들을 사용하여 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 정의 및 표시하기 위한 기법들이 본 명세서에서 설명된다. 예를 들어, 본 개시는 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 정의, 표시, 및/또는 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 정의, 표시, 및/또는 결정하기 위한 기법들을 설명한다. 본 개시에서 설명된 기법들의 이점들은, 다른 이점들 중에서, 계층간 예측 동안 메모리 할당을 감소시키는 것 및 특정 코딩 시나리오들에서의 리소스 트레이드오프 유연성을 허용하는 것, 예컨대, 일 계층에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 구현하면서 다른 계층에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 구현하는 것을 포함할 수도 있다.
본 개시의 시스템들, 방법들 및 디바이스들 각각은 수개의 혁신적 양태들을 가지며, 이들 양태들 중 어떠한 단일 양태도 본 명세서에 개시된 바람직한 속성들을 유일하게 책임지지 않는다. 하나 이상의 예들의 상세들이 첨부 도면들 및 하기의 설명에 개시된다. 다른 특징들, 목적들, 및 이점들은 그 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
본 개시에서 설명된 청구물의 일 양태는 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하도록 구성된 메모리 유닛을 포함하는 비디오 인코더를 제공한다. 비디오 인코더는 메모리 유닛과 통신하는 프로세서를 더 포함한다. 프로세서는, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시하는 별도의 표시를 인핸스먼트 계층들 각각에 대해 제공하도록 구성된다.
본 개시에서 설명된 청구물의 다른 양태는 비디오를 인코딩하는 방법을 제공한다. 그 방법은 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하는 단계를 포함한다. 그 방법은, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시하는 별도의 표시를 인핸스먼트 계층들 각각에 대해 제공하는 단계를 더 포함한다.
본 개시에서 설명된 청구물의 다른 양태는 메모리 유닛을 포함하는 비디오 디코더를 제공한다. 메모리 유닛은 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 픽처들을 저장하도록 구성된다. 비디오 디코더는 메모리 유닛과 통신하는 프로세서를 더 포함한다. 프로세서는, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를, 개별 표시에 기초하여 인핸스먼트 계층들 각각에 대해 별도로 결정하도록 구성된다.
본 개시에서 설명된 청구물의 다른 양태는 비디오를 디코딩하기 위한 방법을 제공한다. 그 방법은 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하는 단계를 포함한다. 그 방법은, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를, 개별 표시에 기초하여 인핸스먼트 계층들 각각에 대해 별도로 결정하는 단계를 더 포함한다.
도 1a 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 활용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 도시한 블록 다이어그램이다.
도 1b 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 수행할 수도 있는 다른 예시적인 비디오 인코딩 및 디코딩 시스템을 도시한 블록 다이어그램이다.
도 2 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 구현할 수도 있는 예시적인 비디오 인코더를 도시한 블록 다이어그램이다.
도 3 은 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 구현할 수도 있는 예시적인 비디오 디코더를 도시한 블록 다이어그램이다.
도 4 는, 각각의 계층이 다중의 픽처들을 갖는 다중의 계층들을 각각의 액세스 유닛이 갖는 다중의 액세스 유닛들의 예들을 도시한 다이어그램이다.
도 5 는, 하나 이상의 제 2 계층들에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 표시하기 위한 비디오 인코더의 프로세서에 대한 일 방법의 플로우차트를 도시한다.
도 6 은, 제 1 계층과 하나 이상의 제 2 계층들 간의 계층간 예측 의존성들을 별도로 결정하기 위한 비디오 디코더의 프로세서에 대한 일 방법의 플로우차트를 도시한다.
도 7 은 비디오 정보를 인코딩하는 방법의 다른 실시형태를 도시한다.
첨부된 도면들과 관련하여 하기에 기재된 상세한 설명은 본 발명의 예시적인 실시형태들의 설명으로서 의도되고, 본 발명이 실시될 수도 있는 유일한 실시형태들만을 나타내도록 의도되지는 않는다. 이 설명 전반에 걸쳐 사용된 용어 "예시적인" 은 "예, 예증, 또는 예시로서 기능하는" 을 의미하며, 다른 예시적인 실시형태들에 비해 반드시 선호되거나 유리한 것으로서 해석되지는 않아야 한다. 상세한 설명은 본 발명의 예시적인 실시형태들의 철저한 이해를 제공할 목적으로 특정 상세들을 포함한다. 다른 경우들에 있어서, 일부 디바이스들은 블록 다이어그램 형태로 도시된다.
설명의 단순화의 목적으로, 방법들이 일련의 동작들로서 도시 및 설명되지만, 일부 동작들은, 하나 이상의 양태들에 따라, 본 명세서에서 도시 및 설명된 것과는 상이한 순서들로 발생할 수도 있고/있거나 다른 동작들과 동시에 발생할 수도 있기 때문에, 방법들은 동작들의 순서에 의해 한정되지 않음을 이해 및 인식해야 한다. 예를 들어, 당업자는, 방법이 상태 다이어그램에서와 같이 일련의 상호관련된 상태들 또는 이벤트들로서 대안적으로 표현될 수 있음을 이해 및 인식할 것이다. 더욱이, 모든 도시된 동작들이 하나 이상의 양태들에 따라 방법을 구현하는데 요구되는 것은 아닐 수도 있다.
비디오 코딩 표준들은 ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, ISO/IEC MPEG-4 비주얼, ITU-T H.263, ISO/IEC MPEG-4 비주얼 및 ITU-T H.264 (ISO/IEC MPEG-4 AVC 로서도 또한 공지됨) (그 스케일러블 비디오 코딩 (SVC) 및 멀티-뷰 비디오 코딩 (MVC) 확장들을 포함), 및 파트 10, 어드밴스드 비디오 코딩 (AVC) 에 의해 정의된 표준들, 현재 개발중인 고효율 비디오 코딩 (HEVC) 표준, 및 그러한 표준들의 확장들을 포함한다. HEVC 는 ITU-T 비디오 코딩 전문가 그룹 (VCEG) 및 ISO/IEC 모션 픽처 전문가 그룹 (MPEG) 의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 최근 개발되었다. 최신 HEVC 드래프트 사양 ("HEVC WD") 은 http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip 로부터 입수가능하다. HEVC 에 대한 멀티-뷰 확장 (MV-HEVC) 및 어드밴스드 HEVC 3D 비디오 코딩 확장 (3D-HEVC) 이 JCT-3V 에 의해 개발되고 있다. 더욱이, HEVC 에 대한 스케일러블 비디오 코딩 확장 (SHVC) 이 JCT-VC 에 의해 개발되고 있다. MV-HEVC 의 최근 워킹 드래프트 ("MV-HEVC WD5") 는 http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zip 로부터 입수가능하다. 3D-HEVC 의 최신 워킹 드래프트 ("3D-HEVC WD1") 는 http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1001-v3.zip 로부터 입수가능하다. 더욱이, SHVC 의 최근 워킹 드래프트 ("SHVC WD3") 는 http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1008-v3.zip 로부터 입수가능하다.
상기 설명된 바와 같이, 비디오 코딩의 특정 양태들은, 제 1 계층에서의 픽처들이 제 1 계층과 연관된 인핸스먼트 계층들 모두에서의 픽처들의 계층간 예측을 위해 사용될 수도 있는지 여부를 정의하는 것을 포함한다. 예를 들어, 비디오 시퀀스는 액세스 유닛들을 포함할 수 있으며, 액세스 유닛들 각각은 하나 이상의 픽처들을 포함할 수 있다. 각각의 액세스 유닛은 추가로, 비디오 정보의 하나 이상의 계층들 (예를 들어, 베이스 계층 및 하나 이상의 인핸스먼트 계층들) 과 연관될 수 있다. 계층들은 각각 계층 식별 (ID) 세트와 연관되거나 또는 일 값 (예를 들어, 정수 값) 과 동일할 수 있다. 소정의 계층은, 소정의 계층이 상이한 계층과 연관된 계층 식별 (ID) 보다 더 낮은 계층 식별 (ID) 과 연관될 경우에 상이한 계층에 "선행" 하거나 "아래" 에 있다고 일컬어질 수 있다. 이에 반하여, 소정의 계층은, 소정의 계층이 상이한 계층과 연관된 계층 식별 (ID) 보다 더 높은 계층 식별 (ID) 과 연관될 경우에 상이한 계층에 "후속" 하거나 "위" 에 있다고 일컬어질 수 있다. 예를 들어, 소정의 계층 (예를 들어, 하나 이상의 인핸스먼트 계층들 중 하나) 은, 베이스 계층 또는 임의의 선행하는 인핸스먼트 계층과 같이 소정의 계층에 선행하는 계층에 대한 인핸스먼트 계층일 수도 있다. 예를 들어, 비디오 인코더는, 제 1 계층 픽처들이 제 1 계층과 연관된 인핸스먼트 계층들의 계층간 예측을 위해 사용될 수 있는지 여부를 비디오 디코더에 표시할 수 있도록 제 1 계층에서의 픽처들을 분석할 수 있다. 일부 경우들에 있어서, 제 1 계층 픽처들이 제 1 계층과 연관된 인핸스먼트 계층들의 계층간 예측을 위해 사용될 수 있음을 비디오 인코더가 표시하면, 비디오 인코더는 또한, 제 1 계층에서의 픽처들이 제 1 계층과 연관된 인핸스먼트 계층들의 계층간 예측을 위해 어느 범위까지 사용될 수 있는지를 표시할 수도 있다. 예를 들어, 비디오 인코더는, 오직 그 값이 임계치 (예를 들어, 시간 식별 값 임계치 (예를 들어, "TID 임계치 값", "최대 TID", 또는 "맥스 (Max) TID")) 보다 작은 파라미터 (예를 들어, 시간 식별 값 (TID) 또는 "TID 값") 와 연관되는 그 픽처들만이 제 1 계층과 연관된 인핸스먼트 계층들의 계층간 예측을 위해 사용될 수도 있음을 표시할 수도 있다. 예를 들어, 비디오 파라미터 세트 (VPS) 레벨에서, 비디오 인코더는, 제 1 계층으로부터의 픽처들이 제 1 계층과 연관된 인핸스먼트 계층들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 비디오 디코더에 표시하는 표시 (예를 들어, 0 또는 1 로 설정된 신택스 엘리먼트 및/또는 플래그) 를 제공할 수 있다. 그 후, 비디오 인코더는, 상기 기술된 바와 같은, 제 1 계층에서의 픽처들이 제 1 계층과 연관된 인핸스먼트 계층들의 계층간 예측을 위해 사용될 수도 있는 범위를 비디오 디코더에 표시하는 부가적인 표시 (예를 들어, 값으로 설정될 수도 있는 신택스 엘리먼트, 플래그, 및/또는 변수) 를 제공할 수도 있다. (예를 들어, 특정 플래그들 및 변수들을 설정하는) 그러한 표시들을 제공함으로써, 비디오 인코더는, 비디오 디코더로 하여금 제 1 계층과 연관된 인핸스먼트 계층들 모두에서의 픽처들을 계층간 예측하기 위해 제 1 계층에서의 픽처들을 사용할 수 있는지 여부 및 그 범위를 결정하게 할 수도 있다.
예를 들어, MV-HEVC WD5 및 SHVC WD3 의 최근 워킹 드래프트들은 다음의 시맨틱스: 즉, "1 과 동일한 max_tid_ref_present_flag 는 신택스 엘리먼트 max_tid_il_ref_pics_plus1[i] 가 존재함을 명시함. 0 과 동일한 max_tid_ref_present_flag 는 신택스 엘리먼트 max_tid_il_ref_pics_plus1[ i ] 가 존재하지 않음을 명시함." 을 갖는 플래그 max_tid_ref_present_flag 를 포함한다. 더욱이, MV-HEVC WD5 및 SHVC WD3 의 최근 워킹 드래프트들은 다음의 시맨틱스: 즉, "0 과 동일한 max_tid_il_ref_pics_plus1 [ i ] 는 CVS 내에서 layer_id_in_nuh[ i ] 와 동일한 nuh_layer_id 를 갖는 비-IRAP 픽처들이 계층간 예측을 위한 레퍼런스로서 사용되지 않음을 명시함. 0 보다 큰 max_tid_il_ref_pics_plus1[ i ] 는 CVS 내에서 layer_id_in_nuh[ i ] 와 동일한 nuh_layer_id 및 max_tid_il_ref_pics_plus1[ i ] - 1 보다 큰 TemporalId 를 갖는 픽처들이 계층간 예측을 위한 레퍼런스로서 사용되지 않음을 명시함. 존재하지 않을 경우, max_tid_il_ref_pics_plus1[ i ] 는 7 과 동일한 것으로 추론됨." 을 갖는 비디오 파라미터 세트 (VPS) 에서의 플래그 max_tid_il_ref_pics_plus1 을 포함한다. 예를 들어, 비디오 인코더는 max_tid_il_ref_pics_plus1 [ i ] 가 존재함을 표시하기 위해 max_tid_ref_present_flag 를 시그널링할 수도 있다. 만약 존재한다면, 비디오 인코더는, 시간 서브-계층 (예를 들어, [i]) 에 속하는 픽처들이 (예를 들어, 인핸스먼트 계층들에서의) 상위 계층 픽처들에 의한 계층간 예측을 위해 사용되는지 여부를 표시하기 위해 VPS 레벨에서 (예를 들어, 비디오 디코더에 의해 저장 및/또는 프로세싱될 수 있는 비트스트림에) max_tid_il_ref_pics_plus1 [ i ] 를 시그널링할 수도 있다. 예를 들어, 비디오 인코더가 max_tid_il_ref_pics_plus1 [ i ] 를 "0" 의 값과 동일하게 설정하고 이를 비디오 디코더에 시그널링할 경우, 비디오 디코더는 [i] 계층에서의 픽처들이 임의의 인핸스먼트 계층들에 대한 계층간 예측을 위해 사용되지 않을 것임을 결정할 수 있다. 다른 예로서, 비디오 인코더가 max_tid_il_ref_pics_plus1 [ i ] 를 "0" 보다 큰 값 (예를 들어, X) 과 동일하게 설정할 경우, 비디오 디코더는 X-1 보다 큰 TID 값과 연관되는 [i] 계층에서의 픽처들이 임의의 인핸스먼트 계층들에 대한 계층간 예측을 위해 사용되지 않을 것임을 결정할 수 있다. 비디오 디코더는 이 정보를 이용하여, 계층간 예측을 위해 사용되지 않는 그 픽처들을 폐기할 수 있다 (예를 들어, 버퍼로부터 제거함).
max_tid_ref_present_flag 및 max_tid_il_ref_pics_plus1 [ i ] 를 상기 설명된 방식으로 사용함으로써, HEVC 다중 계층 확장들에 있어서의 코딩 효율, 메모리 대역폭, 및 계산 복잡도 간의 일부 트레이드오프들이 다양한 시나리오들에서 달성될 수 있다. 예를 들어, 제 1 계층에서의 픽처들이 임의의 다른 상위 계층들에 대해 사용되지 않을 것임이 결정될 경우, 그 픽처들은 메모리를 절약하기 위해 폐기될 수 있다.
하지만, 현재의 HEVC 확장 설계들은 특정한 단점들을 갖는다. 예를 들어, 상기 설명된 바와 같은 max_tid_il_ref_pics_plus1 에 기초한 현재의 시그널링은, 시간 서브-계층에 속하는 픽처들에 대한 계층간 예측이 모든 상위 계층들의 픽처들에 대해 인에이블링되거나 또는 디스에이블링될 것을 요구한다. 예를 들어, max_tid_il_ref_pics_plus1[i] 가 제 1 계층 (예를 들어, [i] = "0" 또는 "계층 0") 에 대해 "2" 의 값으로 설정되면, "2" 보다 크거나 같은 TID 값과 연관되는 계층 0 에서의 픽처들은 임의의 상위 계층들에 대한 계층간 레퍼런스로서 사용될 수 없다. 다른 예로서, max_tid_il_ref_pics_plus1[i] 가 제 1 계층 (예를 들어, [i] = "0" 또는 "계층 0") 에 대해 "7" 의 값으로 설정되면, "7" 보다 크거나 같은 TID 값과 연관되는 계층 0 에서의 픽처들은 임의의 상위 계층들에 대한 계층간 레퍼런스로서 사용될 수 없다. 즉, HEVC 에 따르면 TID 값의 최대 가능한 값이 "6" 이기 때문에, 계층 0 에서의 픽처들 모두는 이 예에 있어서 상위 계층들에 대한 계층간 레퍼런스로서 사용될 수 있다.
하지만, 현재의 HEVC 사양들 하에서, 예를 들어, 특정 TID 값 (예를 들어, "2" 의 값) 과 연관되는 제 1 계층 (예를 들어, 계층 0) 에서의 픽처들은 일 계층 (예를 들어, 계층 1) 에 대한 (예를 들어, 계층간 예측을 위한) 계층간 레퍼런스로서 사용될 수 없지만 상이한 계층 (예를 들어, 계층 2) 에 대한 계층간 레퍼런스로서 사용될 수도 있음을 표시하는 것이 가능하지 않다. 이들 제한들은, 그렇지 않으면 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 사용하여 디코딩하기에 유익할 수도 있는 픽처들에 대한 불필요한 디코딩 복잡도 요건들 (예를 들어, 다중 루프 디코딩을 요구함) 을 생성한다. 예를 들어, 임의의 소정 계층 아래의 계층들의 수가 증가함에 따라, 그 소정의 계층을 디코딩하는 복잡도는 증가할 수도 있다 (예를 들어, 계층 2 를 디코딩하기 위해, 일부 경우들에 있어서 계층 1 및 계층 0 을 디코딩하는 것이 필요할 수도 있음). 코딩 단순화가 픽처 품질보다 더 높은 우선순위를 갖는 특정 경우들에 있어서, 예를 들어, 계층 1 또는 계층 0 중 하나 이상을 디코딩하는 것없이 계층 2 를 디코딩하는 것이 더 유익할 수도 있다. 따라서, 비디오 인코더로 하여금 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성의 별도의 독립적인 정의들을 제공하게 하는 것이 유익할 것이다. 그러한 구성들은, 예를 들어, 실시간 어플리케이션 시나리오들에 있어서 다수의 코딩 시나리오들에서 유익할 수도 있다 (예를 들어, 리소스 트레이드오프 유연성들을 제공함).
따라서, 본 개시는, 제 1 계층에서의 픽처들 및/또는 관련 인핸스먼트 계층에서의 픽처들의 특정 특성들에 관련된 표시들 및/또는 결정들을 사용하여 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 정의 (종종, 독립적으로 정의하는 것으로서도 지칭됨) 하기 위한 기법들을 설명한다. 예를 들어, 본 개시는 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 정의, 표시, 및/또는 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 정의, 표시, 및/또는 결정하기 위한 기법들을 설명한다. 부가적으로, 인코더는, 픽처들 (예를 들어, TID 임계치 값보다 큰 TID 값과 연관되는 픽처들) 이 일 계층에 대한 계층간 예측을 위해 사용되지 않지만 다른 계층에 대한 계층간 예측을 위해 사용될 수도 있음을 표시하도록 적응될 수도 있다. 상기 설명된 예들 이후, 본 개시는, 예를 들어, 계층 0 에서의 픽처들 중 하나 이상의 픽처들이 계층 1 에서의 픽처들의 계층간 예측을 위해 사용되는 것을 제한하면서 계층 0 에서의 픽처들 중 임의의 픽처가 계층 2 에서의 픽처들의 계층간 예측을 위해 사용되는 것을 제한하지 않기 위한 기법들을 설명한다. 그러한 실시형태들은 계층 1 에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 및 계층 2 에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 갖기 위한 유연성을 제공한다. 다른 예들에 있어서, 하기에서 설명되는 바와 같은 도 4 내지 도 6 과 관련하여 설명되는 바와 같이, 계층 0 에서의 픽처들에게는, 계층 1, 계층 2 및/또는 임의의 다른 계층에 대한 계층간 예측에서 상이한 방식들로 사용되는 것이 제한되거나 제한되지 않을 수도 있다.
따라서, 본 명세서에서 설명된 기술들은 모든 직접 의존적 계층들에 대한 서브-계층 계층간 예측 의존성을 별도로 시그널링하는 것과 관련된 그 방법들과 같은 계층간 예측 의존성 시그널링 방법들을 개선하기 위한 다양한 방법들을 포함할 수도 있다. 예를 들어, 개선된 방법들은, 예컨대, HEVC 확장들에 통합되고, 스케일러블 코딩, 멀티뷰 코딩 (예를 들어, 심도가 있거나 또는 없음), 및 HEVC 의 임의의 다른 확장 및/또는 다른 멀티-계층 비디오 코덱들에 적용될 수도 있다. 설명된 방법들 중 임의의 방법이 서로 독립적으로 또는 조합하여 적용될 수도 있다.
본 개시에서 설명된 기법들의 이점들은, 다른 이점들 중에서, 계층간 예측 동안 메모리 할당을 감소시키는 것을 포함할 수도 있다. MV-HEVC WD5 및 SHVC WD3 에서의 현재의 방법들과 비교할 때, 본 개시에서 설명된 기법들은 또한, 상기 설명된 바와 같이, 일 계층에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 구현하면서 다른 계층에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 구현하는 것과 같이, 특정 코딩 시나리오들에서의 리소스 트레이드오프 유연성을 허용할 수도 있다.
도 1a 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 활용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 도시한 블록 다이어그램이다. 도 1a 에 도시된 바와 같이, 시스템 (10) 은, 목적지 모듈 (14) 에 의해 더 나중 시간에 디코딩될 인코딩된 비디오 데이터를 생성하는 소스 모듈 (12) 을 포함한다. 도 1a 의 예에 있어서, 소스 모듈 (12) 및 목적지 모듈 (14) 은 별도의 디바이스들 상에 있으며, 구체적으로, 소스 모듈 (12) 은 소스 모듈의 부분이고 목적지 모듈 (14) 은 목적지 디바이스의 부분이다. 하지만, 소스 및 목적지 모듈들 (12, 14) 은, 도 1b 의 예에 도시된 바와 같이, 동일한 디바이스 상에 있거나 그 부분일 수도 있다.
도 1a 를 다시 참조하면, 소스 모듈 (12) 및 목적지 모듈 (14) 은 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑 박스들, 소위 "스마트" 폰들과 같은 전화기 핸드셋들, 소위 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함한 광범위한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 일부 경우들에 있어서, 소스 모듈 (12) 및 목적지 모듈 (14) 은 무선 통신을 위해 장비될 수도 있다.
목적지 모듈 (14) 은 디코딩될 인코딩된 비디오 데이터를 링크 (16) 를 통해 수신할 수도 있다. 링크 (16) 는 인코딩된 비디오 데이터를 소스 모듈 (12) 로부터 목적지 모듈 (14) 로 이동 가능한 임의의 타입의 매체 또는 디바이스를 포함할 수도 있다. 도 1a 의 예에 있어서, 링크 (16) 는, 소스 모듈 (12) 로 하여금 인코딩된 비디오 데이터를 직접 목적지 모듈 (14) 로 실시간으로 송신할 수 있게 하는 통신 매체를 포함할 수도 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 목적지 모듈 (14) 로 송신될 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷 기반 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 모듈 (12) 로부터 목적지 모듈 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
대안적으로, 인코딩된 데이터는 출력 인터페이스 (22) 로부터 옵션적인 저장 디바이스 (31) 로 출력될 수도 있다. 유사하게, 인코딩된 데이터는 입력 인터페이스에 의해 저장 디바이스 (31) 로부터 액세스될 수도 있다. 저장 디바이스 (31) 는 하드 드라이브, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산된 또는 국부적으로 액세스된 데이터 저장 매체들 중 임의의 데이터 저장 매체를 포함할 수도 있다. 추가의 예에 있어서, 저장 디바이스 (31) 는, 소스 모듈 (12) 에 의해 생성된 인코딩된 비디오를 유지할 수도 있는 파일 서버 또는 다른 중간 저장 디바이스에 대응할 수도 있다. 목적지 모듈 (14) 은 저장 디바이스 (31) 로부터의 저장된 비디오 데이터에 스트리밍 또는 다운로드를 통해 액세스할 수도 있다. 파일 서버는, 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 모듈 (14) 로 송신하는 것이 가능한 임의의 타입의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버 (예를 들어, 웹 사이트용), FTP 서버, 네트워크 접속형 저장 (NAS) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 모듈 (14) 은 인코딩된 비디오 데이터에, 인터넷 커넥션을 포함한 임의의 표준 데이터 커넥션을 통해 액세스할 수도 있다. 이는 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하기에 적합한 무선 채널 (예를 들어, Wi-Fi 커넥션), 유선 커넥션 (예를 들어, DSL, 케이블 모뎀 등), 또는 이들 양자의 조합을 포함할 수도 있다. 인코딩된 비디오 데이터의 저장 디바이스 (31) 로부터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들 양자의 조합일 수도 있다.
도 1a 의 예에 있어서, 소스 모듈 (12) 은 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 일부 경우들에 있어서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함할 수도 있다. 소스 모듈 (12) 에 있어서, 비디오 소스 (18) 는 비디오 캡쳐 디바이스, 예를 들어, 비디오 카메라, 사전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스, 및/또는 컴퓨터 그래픽스 데이터를 소스 비디오로서 생성하기 위한 컴퓨터 그래픽스 시스템과 같은 소스, 또는 그러한 소스들의 조합을 포함할 수도 있다. 일 예로서, 도 1b 의 예에 도시된 바와 같이, 비디오 소스 (18) 가 비디오 카메라이면, 소스 모듈 (12) 및 목적지 모듈 (14) 은 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 하지만, 본 개시에서 설명된 기법들은 일반적으로 비디오 코딩에 적용가능할 수도 있으며, 무선 및/또는 유선 어플리케이션들에 적용될 수도 있다.
캡쳐되거나 사전-캡쳐되거나 또는 컴퓨터 생성된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 데이터는 소스 모듈 (12) 의 출력 인터페이스 (22) 를 통해 목적지 모듈 (14) 로 직접 송신될 수도 있다. 인코딩된 비디오 데이터는 또한 (또는 대안적으로), 디코딩 및/또는 플레이백을 위한 목적지 모듈 (14) 또는 다른 디바이스들에 의한 더 나중의 액세스를 위해 저장 디바이스 (31) 상으로 저장될 수도 있다.
목적지 모듈 (14) 은 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 일부 경우들에 있어서, 입력 인터페이스 (28) 는 수신기 및/또는 모뎀을 포함할 수도 있다. 목적지 모듈 (14) 의 입력 인터페이스 (28) 는 인코딩된 비디오 데이터를 링크 (16) 상으로 수신할 수도 있다. 링크 (16) 상으로 통신되는 또는 저장 디바이스 (31) 상에 제공되는 인코딩된 비디오 데이터는, 비디오 데이터를 디코딩함에 있어서 비디오 디코더 (30) 와 같은 비디오 디코더에 의한 사용을 위해 비디오 인코더 (20) 에 의해 생성된 다양한 신택스 엘리먼트들을 포함할 수도 있다. 그러한 신택스 엘리먼트들에게는, 통신 매체 상으로 송신되거나 저장 매체 상에 저장되거나 또는 파일 서버에 저장되는 인코딩된 비디오 데이터가 포함될 수도 있다.
디스플레이 디바이스 (32) 는 목적지 모듈 (14) 과 통합되거나 그 외부에 있을 수도 있다. 일부 예들에 있어서, 목적지 모듈 (14) 은 통합된 디스플레이 디바이스를 포함할 수도 있고, 또한, 외부 디스플레이 디바이스와 인터페이싱하도록 구성될 수도 있다. 다른 예들에 있어서, 목적지 모듈 (14) 은 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하며, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 디바이스를 포함할 수도 있다.
관련 양태들에 있어서, 도 1b 는, 소스 및 목적지 모듈들 (12, 14) 이 디바이스 또는 사용자 디바이스 (11) 상에 있거나 그 부분인 예시적인 비디오 인코딩 및 디코딩 시스템 (10') 을 도시한다. 디바이스 (11) 는 "스마트" 폰 등과 같은 전화기 핸드셋일 수도 있다. 디바이스 (11) 는 소스 및 목적지 모듈들 (12, 14) 과 동작적으로 통신하는 옵션적인 제어기/프로세서 모듈 (13) 을 포함할 수도 있다. 도 1b 의 시스템 (10') 은 비디오 인코더 (20) 와 출력 인터페이스 (22) 사이에 비디오 프로세싱 유닛 (21) 을 더 포함할 수도 있다. 일부 구현들에 있어서, 비디오 프로세싱 유닛 (21) 은 도 1b 에 도시된 바와 같이 별도의 유닛이지만, 다른 구현들에 있어서, 비디오 프로세싱 유닛 (21) 은 비디오 인코더 (20) 및/또는 프로세서/제어기 모듈 (13) 의 일부로서 구현될 수 있다. 시스템 (10') 은 또한, 비디오 시퀀스에 있어서 관심있는 오브젝트를 추적할 수 있는 옵션적인 추적기 (29) 를 포함할 수도 있다. 추적될 관심있는 오브젝트는 본 개시의 하나 이상의 양태들과 관련하여 설명된 기법에 의해 세그먼트화될 수도 있다. 관련 양태들에 있어서, 추적은 디스플레이 디바이스 (32) 에 의해, 홀로, 또는 추적기 (29) 와 함께 수행될 수도 있다. 그렇지 않으면, 도 1b 의 시스템 (10') 및 그 컴포넌트들은 도 1a 의 시스템 (10) 및 그 컴포넌트들과 유사하다.
하기에서 더 상세히 설명되는 바와 같이, 본 개시의 양태들은 일반적으로, 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 정의하는 것과 관련된다. 예를 들어, 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 정의, 표시, 및/또는 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 정의, 표시, 및/또는 결정하는 것. 본 개시의 기법들은 비디오 인코더 (20), 비디오 디코더 (30), 및/또는 프로세서/제어기 모듈 (13) 에 의해 수행될 수도 있다.
일 예에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 HEVC 등을 포함한 비디오 압축 표준들에 따라 동작할 수도 있다. 다른 예에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 MPEG-4, 파트 10, 어드밴스드 비디오 코딩 (AVC) 으로서 대안적으로 지칭되는 ITU-T H.264 표준과 같은 다른 전매특허 또는 산업 표준들, 또는 그러한 표준들의 확장들에 따라 동작할 수도 있다. 비디오 압축 표준들의 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다. 하지만, 본 개시의 기법들은 임의의 특정 코딩 표준 또는 기법에 한정되지 않는다.
도 1a 및 도 1b 에 도시되지 않지만, 일부 양태들에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있으며, 오디오 및 비디오 양자의 인코딩을 공통 데이터 스트림 또는 별도의 데이터 스트림들로 핸들링하기 위해 적절한 MUX-DEMUX 유닛들 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하다면, 일부 예들에 있어서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 부합할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적합한 인코더 회로 중 임의의 회로로서 구현될 수도 있다. 기법들이 부분적으로 소프트웨어로 구현될 경우, 디바이스는 적합한 비-일시적인 컴퓨터 판독가능 매체에 소프트웨어에 대한 명령들을 저장하고, 본 개시의 기법들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어로 명령들을 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 하나는 개별 디바이스에 있어서 결합된 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다.
JCT-VC 는 HEVC 표준의 개발에 관하여 작업하고 있다. HEVC 표준화 노력들은 HEVC 테스트 모델 (HM) 로서 지칭되는 비디오 코딩 디바이스의 진화하는 모델에 기초한다. HM 은 예를 들어, ITU-T H.264/AVC 에 따른 기존의 디바이스들에 관하여 비디오 코딩 디바이스들의 수개의 부가적인 능력들을 가정한다. 예를 들어, H.264 가 9개의 인트라-예측 인코딩 모드들을 제공하지만, HM 은 33개 만큼 많은 인트라-예측 인코딩 모드들을 제공할 수도 있다.
일반적으로, HM 의 작업 모델은, 비디오 프레임 또는 픽처가 루마 및 크로마 샘플들 양자를 포함하는, 최대 코딩 유닛들 (LCU들) 로서 또한 지칭되는 코딩 크리 유닛들 (CTU들) 의 시퀀스로 분할될 수도 있음을 설명한다. 트리블록은 H.264 표준의 매크로블록과 유사한 목적을 갖는다. 슬라이스는 코딩 순서에 있어서의 다수의 연속적인 트리블록들을 포함한다. 비디오 프레임 또는 픽처는 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각각의 트리블록은 쿼드트리에 따라 코딩 유닛들 (CU들) 로 분할될 수도 있다. 예를 들어, 쿼드트리의 루트 노드로서 트리블록은 4개의 자식 노드들로 분할될 수도 있고, 각각의 자식 노드는 결국 부모 노드일 수도 있으며 또다른 4개의 자식 노드들로 분할될 수도 있다. 쿼드트리의 리프 노드로서 최종의 미분할된 자식 노드는 코딩 노드, 즉, 코딩된 비디오 블록을 포함한다. 코딩된 비트스트림과 연관된 신택스 데이터는 트리블록이 분할될 수도 있는 최대 횟수를 정의할 수도 있으며, 또한 코딩 노드들의 최소 사이즈를 정의할 수도 있다.
CU 는 코딩 노드, 그리고 코딩 노드와 연관된 예측 유닛들 (PU들) 및 변환 유닛들 (TU들) 을 포함한다. CU 의 사이즈는 코딩 노드의 사이즈에 대응하고, 형상이 정방형이다. CU 의 사이즈는 8x8 픽셀들로부터, 최대 64x64 픽셀들 이상을 갖는 트리블록의 사이즈까지 이를 수도 있다. 각각의 CU 는 하나 이상의 PU들 및 하나 이상의 TU들을 포함할 수도 있다. CU 와 연관된 신택스 데이터는, 예를 들어, 하나 이상의 PU들로의 CU 의 파티셔닝을 기술할 수도 있다. 파티셔닝 모드들은 CU 가 스킵되거나 직접 모드 인코딩되거나, 인트라-예측 모드 인코딩되거나, 또는 인터-예측 모드 인코딩되는지 여부 간에 상이할 수도 있다. PU들은 형상이 비-정방형이도록 파티셔닝될 수도 있다. CU 와 연관된 신택스 데이터는 또한, 예를 들어, 쿼드트리에 따라 하나 이상의 TU들로의 CU 의 파티셔닝을 기술할 수도 있다. TU 는 형상이 정방형이거나 비-정방형일 수 있다.
도 2 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 구현할 수도 있는 예시적인 비디오 인코더 (20) 를 도시한 블록 다이어그램이다. 비디오 인코더 (20) 는 비디오 슬라이스들 내에서 비디오 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 소정의 비디오 프레임 또는 픽처 내 비디오에 있어서 공간 리던던시를 감소 또는 제거하기 위해 공간 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 인접한 프레임들 또는 픽처들 내 비디오에 있어서 시간 리던던시를 감소 또는 제거하기 위해 시간 예측에 의존한다. 인트라-모드 (I 모드) 는 수개의 공간 기반 압축 모드들 중 임의의 모드를 지칭할 수도 있다. 단방향 예측 (P 모드) 또는 양방향 예측 (B 모드) 과 같은 인터-모드들은 수개의 시간 기반 압축 모드들 중 임의의 모드를 지칭할 수도 있다.
도 2 의 예에 있어서, 비디오 인코더 (20) 는 파티셔닝 유닛 (35), 예측 프로세싱 유닛 (41), 메모리 (64) (레퍼런스 픽처 메모리 (64) 로서도 또한 지칭될 수도 있음), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 예측 프로세싱 유닛 (41) 은 모션 추정 유닛 (42), 모션 보상 유닛 (44) 및 인트라 예측 프로세싱 유닛 (46) 을 포함한다. 비디오 블록 복원을 위해, 비디오 인코더 (20) 는 또한 역양자화 유닛 (58), 역변환 프로세싱 유닛 (60), 및 합산기 (62) 를 포함한다. 디블록킹 (deblocking) 필터 (72) 가 또한 블록 경계들을 필터링하여 복원된 비디오로부터 블록키니스 아티팩트들을 제거하기 위해 포함될 수도 있다. 도 2 에 도시된 바와 같이, 비디오 인코더 (20) 는 또한, 샘플 적응적 오프셋 (SAO) 필터 (74) 및 옵션적인 적응적 루프 필터 (ALF) (76) 를 포함한 부가적인 루프 필터들을 포함한다. 비록 디블록킹 필터 (72) 및 SAO 필터 (74) 그리고 옵션적인 ALF (76) 가 인-루프 (in loop) 필터들인 것으로서 도 2 에 도시되지만, 일부 구성들에 있어서, 디블록킹 필터 (72), SAO 필터 (74), 및 옵션적인 ALF (76) 는 포스트 루프 필터들로서 구현될 수도 있다. 부가적으로, 디블록킹 필터 (72) 및 옵션적인 ALF (76) 중 하나 이상은 본 개시의 기법들의 일부 구현들에 있어서 생략될 수도 있다. 특히, ALF (76) 는, ALF (76) 가 HEVC 에 존재하지 않기 때문에 HEVC 에 대한 구현들에 있어서 생략될 것이다.
도 2 에 도시된 바와 같이, 비디오 인코더 (20) 는 비디오 데이터를 수신하고, 파티셔닝 유닛 (35) 은 그 데이터를 비디오 블록들로 파티셔닝한다. 이러한 파티셔닝은 또한, 예를 들어, LCU들 및 CU들의 쿼드트리 구조에 따른 비디오 블록 파티셔닝뿐 아니라 슬라이스들, 타일들, 또는 다른 더 큰 유닛들로의 파티셔닝을 포함할 수도 있다. 비디오 인코더 (20) 는 일반적으로, 인코딩될 비디오 슬라이스 내에서의 비디오 블록들을 인코딩하는 컴포넌트들을 예시한다. 슬라이스는 다중의 비디오 블록들로 (및 가능하게는 타일들로서 지칭되는 비디오 블록들의 세트들로) 분할될 수도 있다. 예측 프로세싱 유닛 (41) 은 에러 결과들 (예를 들어, 코딩 레이트 및 왜곡의 레벨) 에 기반한 현재 비디오 블록에 대해 복수의 인트라 코딩 모드들 중 하나 또는 복수의 인터 코딩 모드들 중 하나와 같이, 파티션 사이즈를 포함할 수도 있는 복수의 가능한 코딩 모드들 중 하나를 선택할 수도 있다. 예측 프로세싱 유닛 (41) 은 결과적인 인트라- 또는 인터-코딩된 블록을 합산기 (50) 에 제공하여 잔차 블록 데이터를 생성하고, 합산기 (62) 에 제공하여 레퍼런스 픽처로서의 사용을 위한 인코딩된 블록을 복원할 수도 있다.
예측 프로세싱 유닛 (41) 내의 인트라 예측 프로세싱 유닛 (46) 은 공간 압축을 제공하기 위해, 코딩될 현재 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃 블록들에 관해 현재 비디오 블록의 인트라-예측 코딩을 수행할 수도 있다. 예측 프로세싱 유닛 (41) 내의 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 시간 압축을 제공하기 위해 하나 이상의 레퍼런스 픽처들에서의 하나 이상의 예측 블록들에 관해 현재 비디오 블록의 인터-예측 코딩을 수행한다.
모션 추정 유닛 (42) 은 비디오 시퀀스에 대한 미리결정된 패턴에 따라 비디오 슬라이스에 대한 인터-예측 모드를 결정하도록 구성될 수도 있다. 미리결정된 패턴은 시퀀스에서의 비디오 슬라이스들을, 예측된 슬라이스들 (P 슬라이스들), 양방향 예측된 슬라이스들 (B 슬라이스들), 또는 일반화된 P/B 슬라이스들 (GPB 슬라이스들) 로서 명시할 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념적인 목적을 위해 별도로 도시된다. 모션 추정 유닛 (42) 에 의해 수행된 모션 추정은, 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스이다. 모션 벡터는, 예를 들어, 레퍼런스 픽처 내에서의 예측 블록에 관한 현재 비디오 프레임 또는 픽처 내의 비디오 블록의 PU 의 변위를 표시할 수도 있다.
예측 블록은 픽셀 차이의 관점에서 코딩될 비디오 블록의 PU 와 밀접하게 매칭하도록 발견되는 블록이며, 이 픽셀 차이는 절대 차이의 합 (SAD), 제곱 차이의 합 (SSD), 또는 다른 상이한 메트릭들에 의해 결정될 수도 있다. 일부 예들에 있어서, 비디오 인코더 (20) 는 레퍼런스 픽처 메모리 (64) 에 저장된 레퍼런스 픽처들의 서브-정수 픽셀 포지션들에 대한 값들을 계산할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 레퍼런스 픽처의 1/4 픽셀 포지션들, 1/8 픽셀 포지션들, 또는 다른 분수 픽셀 포지션들의 값들을 보간할 수도 있다. 따라서, 모션 추정 유닛 (42) 은 풀 픽셀 포지션들 및 분수 픽셀 포지션들에 관한 모션 탐색을 수행하고, 분수 픽셀 정밀도로 모션 벡터를 출력할 수도 있다.
모션 추정 유닛 (42) 은 인터-코딩된 슬라이스에서의 비디오 블록의 PU 에 대한 모션 벡터를, 그 PU 의 포지션을 레퍼런스 픽처의 예측 블록의 포지션과 비교함으로써 계산한다. 레퍼런스 픽처는 제 1 레퍼런스 픽처 리스트 (리스트 0) 또는 제 2 레퍼런스 픽처 리스트 (리스트 1) 로부터 선택될 수도 있으며, 이 리스트들 각각은 레퍼런스 픽처 메모리 (64) 에 저장된 하나 이상의 레퍼런스 픽처들을 식별한다. 모션 추정 유닛 (42) 은 계산된 모션 벡터를 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 전송한다.
모션 보상 유닛 (44) 에 의해 수행된 모션 보상은 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페치 또는 생성하여, 가능하게는 서브픽셀 정밀도로 보간들을 수행하는 것을 수반할 수도 있다. 현재 비디오 블록의 PU 에 대한 모션 벡터를 수신할 시, 모션 보상 유닛 (44) 은, 모션 벡터가 레퍼런스 픽처 리스트들 중 하나에 포인팅하는 예측 블록을 로케이팅할 수도 있다. 비디오 인코더 (20) 는, 코딩되고 있는 현재 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산하여 픽셀 차이 값들을 형성함으로써 잔차 비디오 블록을 형성한다. 픽셀 차이 값들은 블록에 대한 잔차 데이터를 형성하고, 루마 및 크로마 차이 컴포넌트들 양자를 포함할 수도 있다. 합산기 (50) 는 이러한 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 모션 보상 유닛 (44) 은 또한, 비디오 슬라이스의 비디오 블록들을 디코딩함에 있어서 비디오 디코더 (30) 에 의한 사용을 위해 비디오 블록들 및 비디오 슬라이스와 연관된 신택스 엘리먼트들을 생성할 수도 있다.
인트라-예측 프로세싱 유닛 (46) 은, 상기 설명된 바와 같은 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행된 인터-예측에 대한 대안으로서, 현재 블록에 대한 인트라-예측을 수행할 수도 있다. 특히, 인트라-예측 프로세싱 유닛 (46) 은 현재 블록을 인코딩하는데 이용하기 위한 인트라-예측 모드를 결정할 수도 있다. 일부 예들에 있어서, 인트라-예측 프로세싱 유닛 (46) 은 예를 들어 별도의 인코딩 패스들 동안에 다양한 인트라-예측 모드들을 이용하여 현재 블록을 인코딩할 수도 있으며, 예측 프로세싱 유닛 (41) 은 테스팅된 모드들로부터의 이용을 위해 적절한 인트라-예측 또는 인터-예측 모드를 선택할 수도 있다. 예를 들어, 인트라-예측 프로세싱 유닛 (46) 은 다양한 테스팅된 인트라-예측 모드들에 대한 레이트-왜곡 분석을 이용하여 레이트-왜곡 값들을 계산하고, 테스팅된 모드들 중 최상의 레이트-왜곡 특성들을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트-왜곡 분석은 일반적으로, 인코딩된 블록과 그 인코딩된 블록을 생성하도록 인코딩되었던 오리지널의 인코딩되지 않은 블록 간의 왜곡 (또는 에러) 의 양뿐 아니라 인코딩된 블록을 생성하는데 사용된 비트 레이트 (즉, 비트들의 수) 를 결정한다. 인트라-예측 프로세싱 유닛 (46) 은 다양한 인코딩된 블록들에 대한 왜곡들 및 레이트들로부터의 비율들을 계산하여, 어느 인트라-예측 모드가 그 블록에 대한 최상의 레이트-왜곡 값을 나타내는지를 결정할 수도 있다.
어떤 경우든, 블록에 대한 인트라-예측 모드를 선택한 이후, 예측 프로세싱 유닛 (41) 은 블록에 대한 선택된 인트라-예측 모드를 표시하는 정보를 엔트로피 인코딩 유닛 (56) 에 제공할 수도 있다. 엔트로피 인코딩 유닛 (56) 은, 본 개시의 기법들에 따라, 선택된 인트라-예측 모드를 표시한 정보를 인코딩할 수도 있다. 비디오 인코더 (20) 는 송신된 비트스트림에, 복수의 인트라-예측 모드 인덱스 테이블들 및 복수의 수정된 인트라-예측 모드 인덱스 테이블들 (코드워드 매핑 테이블들로서도 또한 지칭됨) 을 포함할 수도 있는 구성 데이터, 다양한 블록들에 대한 인코딩 컨텍스트들의 정의들, 및 컨텍스트들 각각에 대한 사용을 위한 가장 가능성있는 인트라-예측 모드, 인트라-예측 모드 인덱스 테이블, 및 수정된 인트라-예측 모드 인덱스 테이블의 표시들을 포함할 수도 있다.
예측 프로세싱 유닛 (41) 이 인터-예측 또는 인트라-예측 중 어느 하나를 통해 현재 비디오 블록에 대한 예측 블록을 생성한 이후, 비디오 인코더 (20) 는 현재 비디오 블록으로부터 예측 블록을 감산함으로써 잔차 비디오 블록을 형성한다. 잔차 블록에서의 잔차 비디오 데이터는 하나 이상의 TU들에 포함되고 변환 프로세싱 유닛 (52) 에 적용될 수도 있다. 변환 프로세싱 유닛 (52) 은 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 이용하여 잔차 비디오 데이터를 잔차 변환 계수들로 변환한다. 변환 프로세싱 유닛 (52) 은 잔차 비디오 데이터를 픽셀 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 컨버팅할 수도 있다.
변환 프로세싱 유닛 (52) 은 결과적인 변환 계수들을 양자화 유닛 (54) 으로 전송할 수도 있다. 양자화 유닛 (54) 은 비트 레이트를 추가로 감소시키기 위해 변환 계수들을 양자화한다. 양자화 프로세스는 그 계수들의 일부 또는 그 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수도 있다. 그 후, 일부 예들에 있어서, 양자화 유닛 (54) 은, 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수도 있다. 대안적으로, 엔트로피 인코딩 유닛 (56) 은 스캔을 수행할 수도 있다.
양자화 이후, 엔트로피 인코딩 유닛 (56) 은 양자화된 변환 계수들을 엔트로피 인코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 컨텍스트 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 이진 산술 코딩 (CABAC), 신택스 기반 컨텍스트 적응 이진 산술 코딩 (SBAC), 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩, 또는 다른 엔트로피 인코딩 방법 또는 기법을 수행할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 인코딩 이후, 인코딩된 비트스트림은 비디오 디코더 (30) 로 송신되거나, 또는 비디오 디코더 (30) 에 의한 더 나중의 송신 또는 취출을 위해 아카이브될 수도 있다. 엔트로피 인코딩 유닛 (56) 은 또한, 코딩되고 있는 현재 비디오 슬라이스에 대한 모션 벡터들 및 다른 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다.
역양자화 유닛 (58) 및 역변환 프로세싱 유닛 (60) 은, 각각, 역양자화 및 역변환을 적용하여, 레퍼런스 픽처의 레퍼런스 블록으로서의 더 나중 사용을 위해 픽셀 도메인에서 잔차 블록을 복원한다. 모션 보상 유닛 (44) 은, 레퍼런스 픽처 리스트들 중 하나 내에서의 레퍼런스 픽처들 중 하나의 예측 블록에 잔차 블록을 부가함으로써 레퍼런스 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 또한, 하나 이상의 보간 필터들을 복원된 잔차 블록에 적용하여, 모션 추정에서 사용하기 위한 서브-정수 픽셀 값들을 계산할 수도 있다. 합산기 (62) 는 복원된 잔차 블록을, 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 부가하여, 레퍼런스 픽처 메모리 (64) 로의 저장을 위한 레퍼런스 블록을 생성한다.
메모리 (64) 로의 저장 이전, 복원된 잔차 블록은 하나 이상의 필터들에 의해 필터링될 수 있다. 요구된다면, 디블록킹 필터 (72) 가 또한, 블록키니스 아티팩트들을 제거하기 위해, 복원된 잔차 블록들을 필터링하도록 적용될 수도 있다. (코딩 루프에서 또는 코딩 루프 이후에) 다른 루프 필터들이 또한 픽셀 천이들을 평활하게 하거나 그렇지 않으면 비디오 품질을 개선하기 위해 이용될 수도 있다. 그러한 루프 필터의 일 예는 SAO 필터 (74) 이다. 레퍼런스 블록은, 후속 비디오 프레임 또는 픽처에서의 블록을 인터-예측하기 위해 레퍼런스 블록으로서 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 사용될 수도 있다.
SAO 필터 (74) 는 비디오 코딩 품질을 개선하는 방식으로 SAO 필터링에 대한 오프셋 값들을 결정할 수 있다. 비디오 코딩 품질을 개선하는 것은, 예를 들어, 복원된 이미지를 오리지널 이미지와 더 밀접하게 매칭하게 하는 오프셋 값들을 결정하는 것을 수반할 수도 있다. 비디오 인코더 (20) 는, 예를 들어, 상이한 오프셋 값들을 갖는 다중의 패스들을 이용하여 비디오 데이터를 코딩하고, 예를 들어, 레이트-왜곡 계산에 기초하여 결정되는 바와 같은 바람직한 코딩 품질을 제공하는 오프셋 값들을, 인코딩된 비트스트림으로의 포함을 위해, 선택할 수도 있다.
일부 구성들에 있어서, SAO 필터 (74) 는 상기 기술된 에지 오프셋과 같은 하나 이상의 타입들의 오프셋을 적용하도록 구성될 수도 있다. SAO 필터 (74) 는 또한, 때때로, 그 자체가 제 3 타입의 오프셋으로 고려될 수 있는 오프셋 없음을 적용할 수도 있다. SAO 필터 (74) 에 의해 적용되는 오프셋의 타입은 비디오 디코더에 명시적으로 또는 암시적으로 시그널링될 수도 있다. 에지 오프셋을 적용할 경우, 픽셀들은 에지 정보에 기초하여 분류될 수 있다.
도 2 의 비디오 인코더 (20) 는, 제 1 주위 픽셀의 루마 컴포넌트에 대한 에지 인덱스를 포함하는 제 1 에지 인덱스를 결정하고, 제 2 주위 픽셀의 루마 컴포넌트에 대한 에지 인덱스를 포함하는 제 2 에지 인덱스를 결정하고, 제 1 에지 인덱스 및 제 2 에지 인덱스에 기초하여, 현재 픽셀의 크로마 컴포넌트에 대한 에지 인덱스를 포함하는 제 3 에지 인덱스를 결정하고, 제 3 에지 인덱스에 기초하여 오프셋을 선택하며, 그 오프셋을 현재 픽셀의 크로마 컴포넌트에 적용하도록 구성된 비디오 인코더의 일 예를 나타낸다.
도 3 은 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 구현할 수도 있는 예시적인 비디오 디코더 (30) 를 도시한 블록 다이어그램이다. 도 3 의 예에 있어서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (80), 예측 프로세싱 유닛 (81), 역양자화 유닛 (86), 역변환 프로세싱 유닛 (88), 합산기 (90), 및 레퍼런스 픽처 메모리 (92) 를 포함한다. 예측 프로세싱 유닛 (81) 은 인터-예측 디코딩을 위한 모션 보상 유닛 (82) 및 인트라-예측 디코딩을 위한 인트라 예측 프로세싱 유닛 (84) 을 포함한다. 일부 예들에 있어서, 비디오 디코더 (30) 는 도 2 로부터의 비디오 인코더 (20) 에 관하여 설명된 인코딩 패스에 일반적으로 상호적인 디코딩 패스를 수행할 수도 있다.
디코딩 프로세스 동안, 비디오 디코더 (30) 는, 인코딩된 비디오 슬라이스의 비디오 블록들 및 관련 신택스 엘리먼트들을 나타내는 인코딩된 비디오 비트스트림을 비디오 인코더 (20) 로부터 수신한다. 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (80) 은 비트스트림을 엔트로피 디코딩하여, 양자화된 계수들, 모션 벡터들, 및 다른 신택스 엘리먼트들을 생성한다. 엔트로피 디코딩 유닛 (80) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 예측 프로세싱 유닛 (81) 으로 포워딩한다. 비디오 디코더 (30) 는 신택스 엘리먼트들을 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨로 수신할 수도 있다.
비디오 슬라이스가 인트라-코딩된 (I) 슬라이스로서 코딩된 경우, 예측 프로세싱 유닛 (81) 의 인트라 예측 프로세싱 유닛 (84) 은 현재 프레임 또는 픽처의 이전에 디코딩된 블록들로부터의 데이터 및 시그널링된 인트라 예측 모드에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 생성할 수도 있다. 비디오 프레임이 인터-코딩된 (예를 들어, B, P 또는 GPB) 슬라이스로서 코딩된 경우, 예측 프로세싱 유닛 (81) 의 모션 보상 유닛 (82) 은 엔트로피 디코딩 유닛 (80) 으로부터 수신된 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 레퍼런스 픽처 리스트들 중 하나 내에서의 레퍼런스 픽처들 중 하나로부터 생성될 수도 있다. 비디오 디코더 (30) 는 레퍼런스 픽처 메모리 (92) 에 저장된 레퍼런스 픽처들에 기초한 디폴트 구성 기법들을 이용하여 레퍼런스 프레임 리스트들, 즉, 리스트 0 및 리스트 1 을 구성할 수도 있다.
모션 보상 유닛 (82) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 파싱함으로써 현재 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 그 예측 정보를 사용하여, 디코딩되고 있는 현재 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들어, 모션 보상 유닛 (82) 은 수신된 신택스 엘리먼트들 중 일부를 사용하여, 비디오 슬라이스의 비디오 블록들을 코딩하는데 사용되는 예측 모드 (예를 들어, 인트라-예측 또는 인터-예측), 인터-예측 슬라이스 타입 (예를 들어, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 레퍼런스 픽처 리스트들 중 하나 이상에 대한 구성 정보, 슬라이스의 각각의 인터-인코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각각의 인터-코딩된 비디오 블록에 대한 인터-예측 상태, 및 현재 비디오 슬라이스에서의 비디오 블록들을 디코딩하기 위한 다른 정보를 결정한다.
모션 보상 유닛 (82) 은 또한, 보간 필터들에 기초하여 보간을 수행할 수도 있다. 모션 보상 유닛 (82) 은 비디오 블록들의 인코딩 동안 비디오 인코더 (20) 에 의해 사용된 바와 같은 보간 필터들을 이용하여, 레퍼런스 블록들의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수도 있다. 이 경우, 모션 보상 유닛 (82) 은 수신된 신택스 엘리먼트들로부터 비디오 인코더 (20) 에 의해 사용된 보간 필터들을 결정하고, 보간 필터들을 이용하여 예측 블록들을 생성할 수도 있다.
역양자화 유닛 (86) 은 비트스트림에서 제공되고 엔트로피 디코딩 유닛 (80) 에 의해 디코딩되는 양자화된 변환 계수들을 역양자화, 즉, 양자화해제한다. 역양자화 프로세스는 비디오 슬라이스에서의 각각의 비디오 블록에 대해 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터의 이용을 포함하여, 적용되어야 하는 양자화의 정도 및 유사하게 역양자화의 정도를 결정할 수도 있다. 역변환 프로세싱 유닛 (88) 은 픽셀 도메인에서 잔차 블록들을 생성하기 위해, 역변환, 예를 들어, 역 DCT, 정수 역변환, 또는 개념적으로 유사한 역변환 프로세스를 변환 계수들에 적용한다.
예측 프로세싱 유닛 (81) 이 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재 비디오 블록에 대한 예측 블록을 생성한 이후, 비디오 디코더 (30) 는 역변환 프로세싱 유닛 (88) 으로부터의 잔차 블록들을 모션 보상 유닛 (82) 에 의해 생성된 대응하는 예측 블록들과 합산함으로써 디코딩된 비디오 블록을 형성한다. 합산기 (90) 는 이러한 합산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 그 후, 합산기 (90) 에 의해 형성된 디코딩된 비디오 블록들은 디블록킹 필터 (93), SAO 필터 (94), 및 옵션적인 ALF (95) 에 의해 필터링될 수도 있다. 옵션적인 ALF (95) 는, 일부 구현들로부터 배제될 수도 있는 옵션적인 필터를 나타낸다. ALF (95) 는, ALF (95) 가 HEVC 에 존재하지 않기 때문에 HEVC 에 대한 구현들에 있어서 생략될 것임을 유의한다. 그 후, 소정의 프레임 또는 픽처에서의 디코딩된 비디오 블록들이 레퍼런스 픽처 메모리 (92) 에 저장되고, 이 레퍼런스 픽처 메모리는 후속적인 모션 보상을 위해 사용되는 레퍼런스 픽처들을 저장한다. 레퍼런스 픽처 메모리 (92) 는 또한, 도 1a 및 도 1b 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상으로의 더 나중의 프리젠테이션을 위해 디코딩된 비디오를 저장한다. 관련 양태들에 있어서, SAO 필터 (94) 는 상기 논의된 SAO 필터 (74) 와 동일한 필터링 중 하나 이상 (예를 들어, 에지 오프셋 및 대역 오프셋) 을 적용하도록 구성될 수 있다.
도 3 의 비디오 디코더 (30) 는, 제 1 주위 픽셀의 루마 컴포넌트에 대한 에지 인덱스를 포함하는 제 1 에지 인덱스를 결정하고, 제 2 주위 픽셀의 루마 컴포넌트에 대한 에지 인덱스를 포함하는 제 2 에지 인덱스를 결정하고, 제 1 에지 인덱스 및 제 2 에지 인덱스에 기초하여, 현재 픽셀의 크로마 컴포넌트에 대한 에지 인덱스를 포함하는 제 3 에지 인덱스를 결정하고, 제 3 에지 인덱스에 기초하여 오프셋을 선택하며, 그 오프셋을 현재 픽셀의 크로마 컴포넌트에 적용하도록 구성된 비디오 디코더의 일 예를 나타낸다.
본 개시의 하나 이상의 양태들에 따르면, 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 (예를 들어, 독립적으로) 제공하기 위한 (종종, 정의하는 것, 확립하는 것, 프로세싱하는 것 및/또는 결정하는 것으로서 지칭됨) 기법들이 제공된다. 일부 실시형태들에 있어서, 프로세서는, 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 (예를 들어, 제 1 표시자로) 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 (예를 들어, 제 2 표시자로) 독립적으로 결정하도록 구성된다. 그 기법들은 시스템에 의해, 또는, 예를 들어 도 1b 의 디바이스 (10) 에 의해 수행될 수도 있다. 일부 구현들에 있어서, 그 기법들은 비디오 인코더 (20), 비디오 디코더 (30), 및/또는 프로세서-제어기 모듈 (13) 에 의해 홀로 또는 조합하여 수행될 수도 있다.
도 4 는, 각각의 계층이 다중의 픽처들을 갖는 다중의 계층들을 각각의 액세스 유닛이 갖는 다중의 액세스 유닛들의 예들을 도시한 다이어그램 (400) 이다. 액세스 유닛들 중 일부는, 독립적인 인핸스먼트 계층들에 관하여 제 1 계층에 대한 (예를 들어, 비디오 인코더에서) 별도로 표시된 계층간 예측 의존성들이 채용된 시나리오들을 도시한다. 예를 들어, 도시된 액세스 유닛들 중 일부에 있어서, 제 1 표시자는 제 1 계층 (예를 들어, 계층 ID=0) 으로부터의 픽처가 제 1 인핸스먼트 계층으로부터의 픽처를 예측하기 위해 사용될 수도 있음을 표시하고, 제 2 표시자는 제 1 계층으로부터의 픽처가 제 2 인핸스먼트 계층으로부터의 픽처를 예측하기 위해 사용되지 않을 수도 있음을 표시한다. 제 1 및 제 2 표시자들은 상이한 표시자들로서 독립적으로 시그널링된다 (예를 들어, 그들은 독립적인 계층간 예측 의존성들을 시그널링함). 예를 들어, 도시된 다이어그램에 있어서, 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 시그널링하거나 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 표시 (또는 결정) 하기 위해 사용될 수 있는 표시들이 제공된다. 임의의 소정의 인핸스먼트 계층이 계층간 예측을 위해 제 1 계층에 의존하는지 여부에 관한 표시는 임의의 다른 소정의 인핸스먼트 계층이 계층간 예측을 위해 제 1 계층에 의존하는지 여부에 관한 표시와 동일하거나 상이 (예를 들어, 독립적) 할 수도 있다. 일 양태에 있어서, 도 4 와 관련하여 설명된 특징들 중 하나 이상은 일반적으로 인코더 (예를 들어, 도 1b 및/또는 도 2 의 비디오 인코더 (20)) 및/또는 디코더 (예를 들어, 도 1b 및/또는 도 3 의 비디오 디코더 (30)) 에 의해 수행될 수도 있다. 일 실시형태에 있어서, 비디오 인코더 (20) 는, 비디오 디코더 (30) 가 하기에서 설명되는 바와 같은 다양한 추가적인 결정들 및/또는 동작들을 수행할 수 있도록 의존성 표시들을 비디오 디코더 (30) 에 제공할 수도 있다. 다른 실시형태들에 있어서, 의존성 표시들은 하나 이상의 상이한 디바이스들에 의해 프로세싱, 결정, 정의, 표시, 분석, 및/또는 활용될 수도 있다. 도 4 와 관련하여 설명된 다양한 양태들은 메모리 유닛 (예를 들어, 도 1a 의 저장 디바이스 (32), 도 2 의 메모리 (64), 도 3 의 메모리 (92) 등) 에 포함될 수도 있다. 도 4 와 관련하여 설명된 다양한 동작들은 프로세서 (예를 들어, 도 1a 의 프로세서 (13), 도 1b 의 비디오 프로세싱 유닛 (21), 도 2 의 예측 프로세싱 유닛 (41) 등) 에 의해 수행될 수도 있다. 비디오 인코더 (20), 비디오 디코더 (30), 저장 디바이스 (32), 및/또는 프로세서 (13) 는 서로 통신하고/하거나 동작가능하게 접속될 수도 있다.
예시적인 예시에 있어서, 2개의 시나리오들이 제시된다: 즉, (1) "시나리오 A" 및 (2) "시나리오 B". 각각의 시나리오는, 의존성 표시들의 특정 세트가 독립적으로 시그널링되는 액세스 유닛들, 계층들, 및 픽처들을 나타낸다. 컬럼들 각각은 비디오 시퀀스에서의 액세스 유닛을 나타낸다. 예를 들어, 액세스 유닛들 (420A1 내지 420A5) 은 시나리오 A 의 비디오 시퀀스에서의 5개의 액세스 유닛들을 나타낸다. 그 액세스 유닛들은 액세스 유닛들 (420) 로서 총칭될 수도 있다. 일 실시형태에 있어서, 비디오 시퀀스는 임의의 수의 액세스 유닛들 (420) 을 포함할 수도 있다. 액세스 유닛들 (420A1-420A5) 각각은 하나 이상의 픽처들을 포함할 수도 있으며 하나 이상의 계층들과 연관될 수도 있다. 예를 들어, 시나리오 A 에 있어서, 각각의 액세스 유닛 (420A1-420A5) 은 3개의 계층들 (410A, 415A1, 및 415A2) 을 포함한다. 각각의 계층은 복수의 픽처들을 포함하고, 각각의 액세스 유닛에 하나의 픽처가 존재한다. 최하위에 도시된 계층 (410A) 은 베이스 계층, 현재 계층, 및/또는 제 1 계층으로서 지칭될 수도 있다. 제 1 계층 (410A) 위 또는 아래에 부가적인 계층들 (도시 안됨) 이 존재할 수도 있다. 제 1 계층 (410A) 위의 계층들 (415A1 및 415A2) 은 제 1 계층 (410A) 의 인핸스먼트 계층들로 고려될 수도 있다. 일부 양태들에 있어서, 제 1 계층 (410A) 은 추가의 인핸스먼트 계층들 (도시 안됨) 을 가질 수도 있다. 인핸스먼트 계층은 종종 "인핸스드 계층" 으로서 지칭될 수도 있다. 도시된 예에 있어서, 제 1 계층 (410A) 은 또한, "0" 과 동일한 계층 식별 번호를 갖기 때문에 "계층 0" 으로서 지칭될 수도 있다. 일부 실시형태들에 있어서, 프로세서 (13) 는, 하기에서 더 설명되는 바와 같이 다양한 결정들에 대해 계층 식별 번호를 사용할 수도 있다. 일부 실시형태들에 있어서, 계층 식별 번호는 변수, 예를 들어, HEVC 기반 변수 LayerID 에 의해 표현될 수도 있다. 유사하게, 인핸스먼트 계층들 (415A1, 415A2) 이 계층 식별 번호들을 각각 가질 수도 있다. 도시된 예에 있어서, 인핸스먼트 계층들 (415A1 및 415A2) 은 각각 1 및 2 와 동일한 계층 식별 번호를 가지며, 따라서, 각각 "계층 1" 및 "계층 2" 로서도 또한 지칭될 수도 있다.
상기 서술된 바와 같이, 계층들 (410A, 415A1, 415A2) 각각은 하나 이상의 픽처들을 포함할 수도 있다. 따라서, 각각의 픽처는 일 계층 및 일 액세스 유닛과 연관된다. 예시적인 예시에 있어서, 액세스 유닛들 (420) 각각은 각각의 계층에 일 픽처를 포함하지만, 다른 예들에 있어서, 각각의 액세스 유닛 (420) 은 각각의 계층에 1 초과의 픽처를 포함할 수도 있다. 일 실시형태에 있어서, 제 1 계층 (410A) 과 연관된 픽처는 현재 픽처 또는 "제 1 픽처" 로서 지칭될 수도 있다. 도 4 에서의 제 1 픽처들을 제 1 픽처들 (430A1, 430A2, 430A3, 430A4, 및 430A5) 을 포함한다. 제 1 픽처들 (430A1, 430A2, 430A3, 430A4, 및 430A5) 은 제 1 픽처들 (430) 로서 총칭될 수도 있다. 제 1 픽처 (430A1) 는 제 1 계층 (410A) 및 액세스 유닛 (420A1) 내에 있다. 다른 예로서, 제 1 픽처 (430A3) 는 제 1 계층 (410A) 및 액세스 유닛 (420A3) 내의 픽처이다. 제 1 계층이 아닌 계층들에서의 픽처들은 인핸스먼트 픽처들로서 지칭될 수도 있다. 예를 들어, 인핸스먼트 픽처 (431A1-431A5) (인핸스먼트 픽처 (431) 로서 총칭됨) 는 인핸스먼트 계층 (415A1) 에 위치되고, 인핸스먼트 픽처들 (432A1-432A5) (인핸스먼트 픽처들 (432) 로서 총칭됨) 는 인핸스먼트 계층 (415A2) 에 있다. 인핸스먼트 픽처들은 또한 "인핸스먼트 계층 픽처들" 로서 지칭될 수도 있다. 예를 들어, 인핸스먼트 픽처 (431A2) 는 인핸스먼트 계층 (415A1) 및 액세스 유닛 (420A2) 내에 있다. 다른 예로서, 인핸스먼트 픽처 (432A4) 는 인핸스먼트 계층 (415A2) 및 액세스 유닛 (420A4) 내에 있다. 일 실시형태에 있어서, 제 1 픽처와 동일한 액세스 유닛 내에 위치된 인핸스먼트 픽처들 (431 및 432) 각각은 그러한 제 1 픽처의 인핸스먼트 픽처들일 수도 있다. 예를 들어, 인핸스먼트 픽처들 (431A3 및 432A3) 은 제 1 픽처 (430A3) 의 인핸스먼트 픽처들이다.
픽처들 (430, 431, 및 432) 각각은, 각각의 시나리오의 좌측부 상에 도시된 바와 같은 시간 식별 번호 또는 값 ("TID 값") 과 연관될 수도 있다. 예를 들어, 인핸스먼트 픽처 (431A3) 는 "1" 과 동일한 TID 값과 연관된다. 다른 예로서, 인핸스먼트 픽처 (430A2) 는 "2" 와 동일한 TID 값과 연관된다. 도시된 바와 같이, 액세스 유닛들 (420) 의 동일한 액세스 유닛 내에 있는 픽처들 (430, 431, 및 432) 각각은 동일한 TID 값과 연관된다. 다른 실시형태들에 있어서, 액세스 유닛들 (420) 의 동일한 액세스 유닛 내의 픽처들 모두가 동일한 TID 값과 연관될 필요는 없다. 일부 실시형태들에 있어서, 프로세서 (13) 는, 도 5 및 도 6 과 관련하여 하기에서 더 설명되는 바와 같이, 픽처들 (430, 431, 또는 432) 중 하나와 연관된 TID 값을, 계층들의 쌍과 연관된 임계치 (예를 들어, "최대 TID", "맥스 TID", "TID 임계치", 또는 "TID 임계치 값" ) 와 비교할 수도 있다.
프로세서 (13) 는, 도 5 및 도 6 과 관련하여 하기에서 더 설명되는 바와 같이, 픽처들 (430) 중 하나의 그 관련 인핸스먼트 픽처들 (예를 들어, 픽처들 (430) 중 하나와 동일한 액세스 유닛에서의 인핸스먼트 픽처들 (431 및/또는 432)) 에 관한 특성들에 기초한 동작들을 수행할 수도 있다. 예를 들어, 프로세서 (13) 는, 제 1 계층 (410A) 에서의 픽처들이 인핸스먼트 계층들 (415) 중 하나 이상에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 별도로 표시 또는 결정할 수도 있다. 즉, 프로세서 (13) 는, 인핸스먼트 계층들 (415) 각각이 각각의 인핸스먼트 계층 (415) 의 계층간 예측을 위해 제 1 계층 (410) 을 사용할 수도 있는지 여부를 별도로 표시 또는 결정할 수도 있다. 그 표시가, 제 1 계층 (410A) 에서의 픽처들이 인핸스먼트 계층들 (415) 중 하나에서의 픽처들의 계층간 예측을 위해 사용될 수도 있음을 표시하면, 개별 인핸스먼트 계층 (415) 은 제 1 계층 (410A) 에 의존한다. 예를 들어, 상기 설명된 바와 같이, 프로세서 (13) 은 인핸스먼트 계층 (415A1) 이 계층간 예측을 위해 제 1 계층 (410A) 에 의존하는지 여부를 (예를 들어, 제 1 표시자로) 별도로 표시하면서 인핸스먼트 계층 (415A2) 이 계층간 예측을 위해 제 1 계층 (410A) 에 의존하는지 여부를 (예를 들어, 제 2 표시자에서) 별도로 표시할 수도 있다. 2개의 별도의 별개의 의존성 표시들은 동일하거나 상이한 값들을 가질 수도 있다. 부가적인 인핸스먼트 계층들이 제공되면 (도시 안됨), 프로세서 (13) 는 부가적인 인핸스먼트 계층들도 역시 제 1 계층 (410A) 에 의존하는지 여부를 인핸스먼트 계층들 (415) 각각에 대해 별도로 표시할 수도 있다.
도시된 시나리오들 A 및 B 에 있어서, 프로세서 (13) 는 제 1 계층들 ((시나리오 A 에서의) 410A 및 410B (시나리오 B)) 이 계층간 예측을 위해 사용될 수도 있는 픽처들을 포함함을 표시하였다. 예를 들어, 인핸스먼트 계층들 (415A1 및 415A2) 각각은 제 1 계층 (410A) 에 의존하고, 인핸스먼트 계층들 (415B1 및 415B2) 각각은 제 1 계층 (410B) 에 의존한다. 픽처들 사이에서 연장하는 (X표 없는) 화살표들은, 제 1 계층 (410A, 410B) 의 픽처들이 인핸스먼트 계층들 (415A1, 415A2, 415B1, 415B2) 중 하나 이상에서의 픽처들을 예측하기 위해 사용될 수도 있음을 표시한다. 일 실시형태에 있어서, 심지어 인핸스먼트 계층들 (415) 중 하나가 제 1 계층들 (410) 중 하나에 의존할 경우라도, 제 1 계층 (410) 에서의 제 1 픽처들 (430) 중 일부에게는 개별 인핸스먼트 픽처들 (431, 432) 을 계층간 예측하기 위한 사용이 제한될 수도 있다. 그러한 제한은, 제 1 픽처들 (410) 중 제한된 하나로부터 인핸스먼트 픽처들 (431 또는 432) 중 대응하는 하나로 포인팅하는 화살표 상에 위치된 X표에 의해 표시된다. 사용으로부터의 제한은, 도 5 및 도 6 과 관련하여 하기에서 더 설명되는 바와 같이, 현재 계층 (410) 및 관련 인핸스먼트 계층들 (415) 과 연관된 TID 임계치 값에 기초할 수도 있다. 일부 실시형태들에 있어서, 비록 제 1 픽처들 (예를 들어, 제 1 픽처 (430A5)) 에게 그 개별 인핸스먼트 픽처들 (예를 들어, 인핸스먼트 픽처들 (431A5, 432A5)) 을 계층간 예측하기 위해 사용되는 것이 제한되지 않더라도, 그럼에도 불구하고, 제 1 픽처는 계층간 예측을 위해 사용되지 않을 수도 있다. 그러한 실시형태에 있어서, 어떠한 화살표도 제 1 픽처 (예를 들어, 제 1 픽처 (430A5)) 와 그 개별 인핸스먼트 픽처들 (예를 들어, 인핸스먼트 픽처들 (431A5, 432A5)) 사이로 연장하진 않는다.
일 실시형태에 있어서 (예를 들어, 도시된 시나리오 A 에 있어서), 프로세서 (예를 들어, 프로세서 (13)) 는, 제 1 계층 (410A) 에서의 픽처들이 제 1 계층의 제 1 인핸스먼트 계층 (415A1) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 결정하기 위해 사용될 수도 있는 제 1 TID 임계치 값을 결정 (예를 들어, 표시, 수신, 전송 등등) 할 수도 있다. 프로세서는 추가로, 제 1 계층 (410A) 에서의 픽처들이 제 1 계층의 제 2 인핸스먼트 계층 (415A2) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 결정하기 위해 사용될 제 2 TID 임계치 값을 결정할 수도 있다. 제 1 및 제 2 TID 임계치 값들은 서로 동일하거나 상이할 수도 있다.
도 4 의 실시형태들에 있어서, 제 1 TID 임계치는, 제 1 계층 (410A) 및 제 1 인핸스먼트 계층 (415A1) 과 같은 제 1 계층 쌍에 대해 명시된다. 제 1 TID 임계치는, 제 1 계층 (410A) 에서의 픽처들이 제 1 인핸스먼트 계층 (415A1) 에서의 픽처들의 계층간 예측을 위해 사용될 수도 있는지 여부를 결정하기 위해 사용된다. 제 2 TID 임계치는, 제 1 계층 (410A) 및 제 2 인핸스먼트 계층 (415A2) 과 같은 제 2 계층 쌍에 대해 제공된다. 제 2 TID 임계치는, 제 1 계층 (410A) 에서의 픽처들이 제 2 인핸스먼트 계층 (415A2) 에서의 픽처들의 계층간 예측을 위해 사용될 수도 있는지 여부를 결정하기 위해 사용된다. 부가적인 TID 임계치들이 부가적인 계층 쌍들에 대해 제공될 수도 있다. 시나리오 A 의 도시된 실시형태에 있어서, 제 1 TID 임계치 값은 "2" 의 값이다. 따라서, 도 5 및 도 6 과 관련하여 더 설명되는 바와 같이, "2" 미만의 TID 값과 연관되는 제 1 계층 (410A) 에서의 픽처들이 제 1 인핸스먼트 계층 (415A1) 에서의 픽처들의 계층간 예측을 위해 사용될 수도 있다 (예를 들어, 그들은 계층간 예측에서의 사용을 위해 제한되지 않음). 이에 따라, "2" 의 TID 값 ("2" 미만 아님) 과 연관되는 제 1 픽처들 (430A2 및 430A4) 에게는 각각 인핸스먼트 픽처들 (431A2 및 431A4) 의 계층간 예측을 위한 사용이 제한된다 (각각의 제한은 X표를 갖는 화살표로서 도시됨). 이에 반하여, 각각이 "2" 미만의 TID 값들과 연관되는 제 1 픽처들 (430A1 ("0" 의 TID 값을 가짐), 430A3 ("1" 의 TID 값을 가짐), 및 430A5 ("0" 의 TID 값을 가짐)) 에게는 그 개별 제 1 인핸스먼트 계층 픽처들 (431A1, 431A3, 및 431A5) 의 계층간 예측을 위한 사용이 제한되지 않는다. 상기 서술된 바와 같이, 허용된 픽처들 중 일부는 계층간 예측을 위해 사용 (화살표에 의해 표시됨) 될 수도 있지만 다른 픽처들은 계층간 예측을 위해 사용되지 않을 수도 있다 (화살표의 부재에 의해 표시됨). 그러한 구성은 제 1 인핸스먼트 계층 픽처들 (431A2 및 431A4) 에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 및 제 1 인핸스먼트 계층 픽처들 (431A1, 431A3, 및 431A5) 중 하나 이상에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 구현하기 위한 유연성을 제공한다. 더욱이, 일부 실시형태들에 있어서, TID 임계치 값들은 상이한 방식들로 사용될 수도 있다. 예를 들어, 일부 실시형태들에 있어서, 표시자는, TID 임계치 값보다 작은 하나 아래의 TID 값과 연관되는 제 1 계층 (410A) 에서의 픽처들 중 하나 이상이 관련 인핸스먼트 계층들 (415) 에서의 픽처들의 계층간 예측을 위해 사용될 수도 있음을 표시할 수도 있다. 다른 실시형태들에 있어서, 표시자는 TID 임계치 값을 상이한 방식으로 분석하기 위해 사용된다.
추가로, 시나리오 A 의 도시된 실시형태에 있어서, 제 2 TID 임계치 값은 "4" 의 값일 수도 있다. 따라서, 도 5 및 도 6 과 관련하여 더 설명되는 바와 같이, 4 미만의 TID 값과 연관되는 제 1 계층 (410A) 에서의 픽처들이 제 2 인핸스먼트 계층 (415A2) 에서의 픽처들의 계층간 예측을 위해 사용될 수도 있다. 이에 따라, 각각이 "4" 미만의 TID 값들과 연관되는 제 1 픽처들 (430A1 ("0" 의 TID 값을 가짐), 430A2 ("2" 의 TID 값을 가짐), 430A3 ("1" 의 TID 값을 가짐), 430A4 ("2" 의 TID 값을 가짐), 및 430A5 ("0" 의 TID 값을 가짐)) 모두에게는 그 개별 제 2 인핸스먼트 계층 픽처들 (432A1, 432A2, 432A3, 432A4, 및 432A5) 의 계층간 예측을 위한 사용이 제한되지 않는다. 상기 논의된 바와 같이, 제한되지 않은 픽처들 중 일부는 계층간 예측을 위해 사용 (화살표에 의해 표시됨) 될 수도 있지만 다른 픽처들은 계층간 예측을 위해 사용되지 않을 수도 있다 (화살표의 부재에 의해 표시됨).
다른 실시형태에 있어서 (예를 들어, 도시된 시나리오 B 에 있어서), 프로세서 (예를 들어, 프로세서 (13)) 는, 제 1 계층 (410B) 에서의 픽처들이 제 1 계층의 제 1 인핸스먼트 계층 (415B1) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 결정하기 위해 사용될 수도 있는 제 1 TID 임계치 값을 결정 (예를 들어, 표시, 수신, 전송 등등) 할 수도 있다. 프로세서는 추가로, 제 1 계층 (410B) 에서의 픽처들이 제 1 계층의 제 2 인핸스먼트 계층 (415B2) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 결정하기 위해 사용될 제 2 TID 임계치 값을 결정할 수도 있다. 제 1 및 제 2 TID 임계치 값들은 서로 동일하거나 상이할 수도 있다.
시나리오 B 의 도시된 실시형태에 있어서, 제 1 TID 임계치 값은 "6" 의 값일 수도 있다. 따라서, 도 5 및 도 6 과 관련하여 더 설명되는 바와 같이, "6" 미만의 TID 값과 연관되는 제 1 계층 (410B) 에서의 픽처들이 제 1 인핸스먼트 계층 (415B1) 에서의 픽처들의 계층간 예측을 위해 사용될 수도 있다 (예를 들어, 그들은 계층간 예측에서의 사용을 위해 제한되지 않음). 이에 따라, 각각이 "6" 미만의 TID 값들과 연관되는 제 1 픽처들 (430B1 ("0" 의 TID 값을 가짐), 430B2 ("2" 의 TID 값을 가짐), 430B3 ("1" 의 TID 값을 가짐), 430B4 ("2" 의 TID 값을 가짐), 및 430B5 ("0" 의 TID 값을 가짐)) 모두에게는 그 개별 제 2 인핸스먼트 계층 픽처들 (431B1, 431B2, 431B3, 431B4, 및 431B5) 의 계층간 예측을 위한 사용이 제한되지 않는다. 상기 논의된 바와 같이, 제한되지 않은 픽처들 중 일부는 계층간 예측을 위해 사용 (화살표에 의해 표시됨) 될 수도 있지만 다른 픽처들은 계층간 예측을 위해 사용되지 않을 수도 있다 (화살표의 부재에 의해 표시됨).
추가로, 시나리오 B 의 도시된 실시형태에 있어서, 제 2 TID 임계치 값은 "1" 의 값이다. 따라서, 도 5 및 도 6 과 관련하여 더 설명되는 바와 같이, "1" 미만의 TID 값과 연관되는 제 1 계층 (410B) 에서의 픽처들이 제 2 인핸스먼트 계층 (415B2) 에서의 픽처들의 계층간 예측을 위해 사용될 수도 있다 (예를 들어, 그들은 계층간 예측에서의 사용을 위해 제한되지 않음). 이에 따라, 각각이 "1" 이상의 TID 값과 연관되는 제 1 픽처들 (430B2 ("2" 의 TID 값을 가짐), 430B3 ("1" 의 TID 값을 가짐), 및 430B4 ("2" 의 TID 값을 가짐)) 에게는 각각 인핸스먼트 픽처들 (432B2, 432B3, 및 432B4) 의 계층간 예측을 위한 사용이 제한된다 (각각의 제한은 X표를 갖는 화살표로서 도시됨). 이에 반하여, 각각이 "0" 의 TID 값들 ("1" 의 값 미만임) 과 연관되는 제 1 픽처들 (430B1 및 430B5) 에게는 그 개별 제 1 인핸스먼트 계층 픽처들 (431B1 및 431B5) 의 계층간 예측을 위한 사용이 제한되지 않는다. 상기 논의된 바와 같이, 제한되지 않은 픽처들 중 일부는 계층간 예측을 위해 사용 (화살표에 의해 표시됨) 될 수도 있지만 다른 픽처들은 계층간 예측을 위해 사용되지 않을 수도 있다 (화살표의 부재에 의해 표시됨).
다른 양태들에 있어서, 상기 설명된 바와 같이, 프로세서 (13) 는, 제 1 계층에서의 픽처들 중 어느 것도 하나 이상의 제 2 계층들의 (예를 들어, 하나 이상의 인핸스먼트 계층들의) 픽처들을 계층간 예측하기 위해 사용되지 않을 수도 있음을 별도로 표시할 수도 있다. 그러한 실시형태 (도시 안됨) 에 있어서, 디코더 (30) 는 그러한 제 1 계층 픽처들을 폐기할 수도 있다 (예를 들어, 버퍼로부터 제거함). 본 명세서에서 설명된 바와 같이, 그러한 제 1 계층 픽처들을 폐기하는 것은 관련 인핸스먼트 계층의 계층간 예측 동안 메모리 및 프로세싱 비용들을 절약할 수도 있다. 예를 들어, 그러한 구성은 제 1 계층에서의 픽처들에 관하여 관련 인핸스먼트 픽처들 모두에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 구현하기 위한 유연성을 허용할 수도 있다.
상기 설명된 현재의 HEVC 확장 방법들의 컨텍스트에서, 일 실시형태에 있어서, 도 4 와 관련하여 설명된 기법들은 특정 HEVC 시맨틱스를 수정하여 비디오 인코더로 하여금 신택스 엘리먼트 max_tid_il_ref_pics_plus1 이 존재하고 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410A)) 과 연관됨을 명시하기 위해 max_tid_ref_present_flag 를 1과 동일하게 설정할 수 있게 하도록 사용될 수도 있다. 예를 들어, max_tid_ref_present_flag 플래그의 새로운 시맨틱스 정의는 "1 과 동일한 max _tid_ref_present_flag 는 신택스 엘리먼트 max_tid_il_ref_pics_plus1[ i ][ j ] 가 존재함을 명시함. 0 과 동일한 max_tid_ref_present_flag 는 신택스 엘리먼트 max_tid_il_ref_pics_plus1[ i ][ j ] 가 존재하지 않음을 명시함." 을 포함할 수도 있다. 새로운 정의에 있어서, [j] 인덱스 값은 제 2 계층 (예를 들어, 인핸스먼트 계층) 을 나타낼 수도 있다.
max_tid_ref_present_flag 의 새로운 시맨틱스 정의를 사용하여, 특정한 다른 HEVC 시맨틱스는, 인핸스먼트 계층들 각각에 대해, 제 1 계층에서의 픽처들이 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 정의하는 것을 가능케 하도록 수정될 수도 있다. 예를 들어, max_tid_il_ref_pics_plus1[ i ][ j ] 의 새로운 시맨틱스 정의는 "0 과 동일한 max_tid_il_ref_pics_plus1[ i ][ j ] 는 CVS 내에서 layer_id_in_nuh[ i ] 와 동일한 nuh_layer_id 를 갖는 비-IRAP 픽처들이 layer_id_in_nuh[ j ] 와 동일한 nuh_layer_id 를 갖는 픽처들에 대한 계층간 예측을 위한 레퍼런스로서 사용되지 않음을 명시함. 0 보다 큰 max_tid_il_ref_pics_plus1[ i ][ j ] 는 CVS 내에서 layer_id_in_nuh[ i ] 와 동일한 nuh_layer_id 및 max_tid_il_ref_pics_plus1[ i ][ j ] - 1 보다 큰 TemporalId 를 갖는 픽처들이 layer_id_in_nuh[ j ] 와 동일한 nuh_layer_id 를 갖는 픽처들에 대한 계층간 예측을 위한 레퍼런스로서 사용되지 않음을 명시함. 존재하지 않을 경우, max_tid_il_ref_pics_plus1[ i ][ j ] 는 7 과 동일한 것으로 추론됨." 을 포함할 수도 있다. 새로운 정의에 있어서, [j] 인덱스 값 및 그 관련 텍스트는 제 2 계층 (예를 들어, 인핸스먼트 계층) 을 나타낼 수도 있다. 이들 새로운 정의들의 하나의 예시적인 구현이, 새로운 인덱스 값 ([j]) 이 표현되는 하기의 신택스 표 1 에 도시된다:
Figure pct00001
더욱이, 일부 실시형태들에 있어서, 다른 일반적인 슬라이스 세그먼트 헤더 시맨틱스는 상기 설명된 바와 같은 [j] 인덱스 값의 사용에 기초하여 변경될 수도 있다. 예를 들어, 비트스트림에 관하여, 0 내지 일부 HEVC 기반 변수 (예를 들어, NumActiveRefLayerPics - 1) 까지의 범위에서의 i 의 각각의 값에 대해, 2개의 조건들 중 적어도 하나가 참일 수도 있다: 즉, (1) max_tid_il_ref_pics_plus1[ LayerIdxInVps[ RefPicLayerId[ i ] ] ][ LayerIdxInVps[ nuh_layer_id ] 의 값이 TemporalId 보다 클 수도 있음; 및 (2) max_tid_il_ref_pics_plus1[ LayerIdxInVps[ RefPicLayerId[ i ] ] ][ LayerIdxInVps[ nuh_layer_id ] 및 TemporalId 의 값들 양자가 0 과 동일할 수도 있고 그리고 RefPicLayerId[ i ] 와 동일한 nuh_layer_id 를 갖는 현재 액세스 유닛에서의 픽처가 IRAP 픽처일 수도 있음.
더욱이, 일부 실시형태들에 있어서, 서브-계층 비-레퍼런스 픽처들에 대한 특정 프로세스들 (예를 들어, 마킹 프로세스) 은 일부 경우들에 있어서 계층간 예측을 위해 필요하지 않을 수도 있다. 이러한 결과 이후, [j] 인덱스 값을 사용하는 예시적인 코드는 다음을 포함한다:
Figure pct00002
프로세서 (13), 비디오 인코더 (20), 및/또는 비디오 디코더 (30) 는 상기 설명된 표시들 및 결정들을 다수의 방식들로 표시, 결정, 정의, 분석, 및/또는 활용할 수도 있다. 도 5 및 도 6 은, 각각, 비디오 인코더 (20) 및 비디오 디코더 (30) 가 각각 표시하는 것 및/또는 결정하는 것에 관하여 수행할 수도 있는 예시적인 방법들의 플로우차트들을 제공한다. 다른 실시형태들에 있어서, 다른 디바이스들은 기술된 방법 단계들 중 하나 이상을 수행할 수도 있다.
도 5 는, 하나 이상의 제 2 계층들 (예를 들어, 도 4 의 인핸스먼트 계층들 (415)) 에 관하여 제 1 계층 (예를 들어, 도 4 의 제 1 계층 (410)) 에 대한 계층간 예측 의존성들을 별도로 표시하기 위한 비디오 인코더 (예를 들어, 비디오 인코더 (20)) 의 프로세서 (예를 들어, 프로세서 (13)) 에 대한 일 방법의 플로우차트를 도시한다. 프로세서 (13) 는, 제 2 계층들 각각에 대해, 제 1 계층에서의 픽처들이 개별 제 2 계층에서의 픽처들의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 표시할 수도 있다.
방법은 블록 505 에서 시작한다. 블록 510 에서, 프로세서 (13) 는 제 2 계층 (예를 들어, 제 1 계층의 제 1 인핸스먼트 계층 (415A1)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410A)) 의 계층간 예측 분석을 수행할지 여부를 결정할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는, 프로세서 (13) 가 제 2 계층에 관하여 제 1 계층의 계층간 예측 분석을 (예를 들어, 하기에서 설명되는 바와 같은 블록 550 에서) 수행하기에 충분한 정보를 (예를 들어, 슬라이스 헤더에서) 갖는지 여부에 기초하여 이 결정을 행할 수도 있다. 일 예로서, 프로세서 (13) 는, 제 2 계층이 제 1 계층에 직접적으로 의존하지 않는다면 제 2 계층에 관하여 제 1 계층의 계층간 예측 분석을 수행하지 않도록 결정할 수도 있다.
블록 510 에서, 프로세서 (13) 가 제 2 계층에 관하여 제 1 계층의 계층간 예측 분석을 수행하지 않도록 결정하면, 블록 520 에서, 프로세서 (13) 는, 계층간 예측 분석이 이러한 제 1 계층/인핸스먼트 계층 연관에 대해 수행되지 않음을 시그널링할 수도 있다. 일 실시형태에 있어서, 프로세서 (13) 가 (블록 530 에 관하여 하기에서 설명되는 바와 같이) 부가적인 계층들을 프로세싱하면, 프로세서 (13) 는 대신, 계층들 모두에 대한 단일 신호를 제공하기 위해 방법의 종료까지 대기할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는 슬라이스 헤더에서의 플래그, 예를 들어, "0" 의 값으로 설정된 플래그로서 그 표시를 시그널링할 수도 있다. 일 양태에 있어서, 그 플래그는 HEVC 기반 플래그, 예를 들어, max_tid_ref_present_flag 일 수도 있다. 일 양태에 있어서, 프로세서 (13) 는 이 표시를, 도 6 과 관련하여 설명되는 바와 같이, 변수가 존재하는지 여부를 결정하고 추가의 동작들을 수행하기 위해 그 표시를 사용할 수도 있는 다른 디바이스 (예를 들어, 도 3 의 비디오 디코더 (30)) 에 시그널링할 수도 있다. 그 후, 일 실시형태에 있어서, 프로세서 (13) 는, 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에 관하여 부가적인 인핸스먼트 계층들 (예를 들어, 제 2 인핸스먼트 계층 (415A2)) 을 프로세싱할지 여부를 결정할 수도 있는 블록 530 으로 진행할 수도 있다. 프로세서 (13) 가 제 1 계층에 관하여 부가적인 인핸스먼트 계층들을 프로세싱하도록 결정하면, 방법 (500) 은 블록 510 으로 리턴하고 다음의 제 2 계층 (예를 들어, 제 2 인핸스먼트 계층 (415A2)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410A)) 을 분석할 수도 있다. 프로세서 (13) 가 제 1 계층에 관하여 부가적인 제 2 계층들을 프로세싱하지 않도록 결정하면, 방법 (500) 은 블록 590 에서 종료한다. 프로세서 (13) 가 별도의 계층 연관들 모두에 대해 (예를 들어, 제 1 계층의 별도의 제 2 계층들 각각과의 각각의 별도의 계층 연관에 대해) 동시에 한번 시그널링하기 위해 그 방법의 종료까지 대기하는 실시형태에 있어서, 프로세서 (13) 는 이에 따라 시그널링하고 그 후 블록 590 으로 진행할 수도 있다.
블록 510 에서, 프로세서 (13) 가 고려되는 제 2 계층 (예를 들어, 인핸스먼트 계층) 에 관하여 제 1 계층의 계층간 예측 분석을 수행하도록 결정하면, 블록 540 에서, 프로세서 (13) 는, 계층간 예측 분석이 제 1 계층/제 2 계층 쌍에 대해 수행됨을 시그널링할 수도 있다. 하나의 예시적인 실시형태에 있어서, 프로세서 (13) 는 대신, 별도의 계층 연관들 모두에 대해 (예를 들어, 제 1 계층의 별도의 제 2 계층들 각각과의 각각의 별도의 계층 연관에 대해) 동시에 한번 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는 슬라이스 헤더에서의 플래그, 예를 들어, "1" 의 값으로 설정된 플래그로서 그 표시를 시그널링할 수도 있다. 일 양태에 있어서, 그 플래그는 HEVC 기반 플래그, 예를 들어, max_tid_ref_present_flag 일 수도 있다. 일 양태에 있어서, 프로세서 (13) 는 이 표시를, 도 6 과 관련하여 설명되는 바와 같이, 변수가 존재하는지 여부를 결정하고 추가의 동작들을 수행하기 위해 그 표시를 사용할 수도 있는 다른 디바이스 (예를 들어, 도 3 의 비디오 디코더 (30)) 에 시그널링할 수도 있다.
블록 550 에서, 프로세서 (13) 는, 제 1 계층의 픽처들 (예를 들어, 제 1 픽처들 (430A1-430A5)) 이 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 의 픽처들을 계층간 예측하기 위해 사용될 수 있는지 여부를 결정할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는, 제 1 계층에서의 픽처들의 다양한 특성들, 제 2 계층에서의 픽처들의 다양한 특성들, 또는 임의의 다른 수의 팩터들에 기초하여 이러한 결정을 행할 수도 있다. 일부 예시적인 팩터들은, 경량의 단일 루프 코딩의 가능성 및/또는 코딩 복잡도의 감소, 인핸스먼트 계층의 픽처 품질 레벨에 비한 제 1 계층의 픽처 품질 레벨 등을 포함할 수도 있다. 예를 들어, 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에서의 픽처가 (예를 들어, 더 조악한 양자화에 기초하여) 임계치량 초과만큼 제 2 계층에서의 픽처와 상이하면, 프로세서 (13) 는 제 1 계층에서의 픽처가 제 2 계층 (예를 들어, 제 2 인핸스먼트 계층 (415A1)) 에서의 개별 픽처를 계층간 예측하기 위해 사용될 수 없음을 결정할 수도 있다.
블록 550 에서, 프로세서 (13) 가 제 1 계층 (410A) 의 픽처들이 제 2 계층의 픽처들을 계층간 예측하기 위해 사용되지 않을 것임을 결정하면, 블록 560 에서, 프로세서 (13) 는 제 2 계층의 픽처들의 계층간 예측을 위한 제 1 계층의 픽처들의 사용을 디스에이블링하기 위한 변수를 설정할 수도 있다. 일 실시형태에 있어서, 그 변수는 제 1 인덱스 값 (예를 들어, [i]) 및 제 2 인덱스 값 (예를 들어, [j]) 을 포함할 수도 있으며, 여기서, 제 1 인덱스 값 ([i]) 은 제 1 계층 (예를 들어, 제 1 계층 (410A)) 과 연관되고 제 1 계층을 식별하고, 제 2 인덱스 값 ([j]) 은 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 과 연관되고 제 2 계층을 식별한다. 일 실시형태에 있어서, 그 변수는 "0" 으로 설정된 HEVC 기반 변수, 예를 들어, max_tid_il_ref_pics_plus1[i][j] = 0 을 포함할 수도 있다. 일 예에 있어서, 프로세서 (13) 는 (예를 들어, [i], [j] 계층 쌍과 연관된 맥스 TID (여기서, i 는 제 1 계층 (410A) (i=0 일 경우 "계층 0") 에 대응하고, j 는 제 1 인핸스먼트 계층 (415A1) (j=1 일 경우 "계층 1") 에 대응함) 가 "0" 의 값과 동일함을 표시하기 위하여) 변수 max_tid_il_ref_pics_plus1[0][1] 을 "0" 의 값과 동일하게 설정할 수도 있다. 이 예에 있어서, 변수 max_tid_il_ref_pics_plus1[0][1] = 0 은, 제 1 계층 (410A) 에서의 픽처들이 제 1 인핸스먼트 계층 (415A1) 에서의 픽처들에 대한 계층간 예측을 위한 레퍼런스로서 사용되지 않음을 표시할 수도 있다. 그 후, 블록 580 에서, 프로세서 (13) 는 이 변수를 (예를 들어, 슬라이스 헤더에) 시그널링할 수도 있다. 다른 디바이스 (예를 들어, 디코더 (30)) 가, 도 6 과 관련하여 설명되는 바와 같이, 추가의 동작들을 수행하기 위해 그 변수를 사용할 수도 있다. 즉, 프로세서 (13) 는, 제 1 계층 (410A) 에서의 픽처들이 다른 인핸스먼트 계층 (예를 들어, 제 2 인핸스먼트 계층 (415A2)) 에서의 픽처들을 예측하기 위해 사용될 수 있는지 또는 될 수 없는지 여부를 표시하는 것없이 제 1 계층 (410A) 에서의 픽처들이 일 인핸스먼트 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 에서의 픽처들을 예측하기 위해 사용될 수 있는지 또는 될 수 없는지 여부를 표시할 수도 있다. 즉, 프로세서 (13) 는, 제 1 계층 (410A) 에서의 픽처들이 제 1 인핸스먼트 계층 (415A1)) 에서의 픽처들을 예측하기 위해 사용될 수 있는지 여부를 별도로 표시할 수도 있으며 (이 표시는 제 2 인핸스먼트 계층 (415A2) 에 관련된 임의의 표시를 포함하지 않을 수도 있음), 그 후, 제 1 계층 (410A) 에서의 픽처들이 제 2 인핸스먼트 계층 (415A2)) 에서의 픽처들을 예측하기 위해 사용될 수 있는지 여부를 별도로 표시할 수도 있다 (이 표시는 제 1 인핸스먼트 계층 (415A1) 에 관련된 임의의 표시를 포함하지 않을 수도 있음). 그 후, 프로세서 (13) 는, 상기 설명된 바와 같은 블록 530 으로 계속할 수도 있다. 일 실시형태에 있어서, 프로세서 (13) 가 (블록 530 에서 결정된 바와 같이) 다중의 계층들을 프로세싱하면, 프로세서 (13) 는 대신, 별도의 계층 연관들 모두에 대해 (예를 들어, 제 1 계층의 별도의 제 2 계층들 각각과의 각각의 별도의 계층 연관에 대해) 동시에 한번 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다. 예를 들어, 일 실시형태에 있어서, 프로세서 (13) 가 다중의 계층들을 프로세싱하면, 프로세서 (13) 는, 블록들 (520, 540, 및/또는 580) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.
블록 550 에서, 프로세서 (13) 가 제 1 계층의 픽처들이 제 2 계층의 픽처들을 계층간 예측하기 위해 사용될 수도 있음을 결정하면, 블록 570 에서, 프로세서 (13) 는 제 2 계층의 픽처들의 계층간 예측을 위한 제 1 계층의 픽처들의 사용을 인에이블링하기 위한 변수를 설정할 수도 있다. 일 실시형태에 있어서, 그 변수는 제 1 인덱스 값 (예를 들어, [i]) 및 제 2 인덱스 값 (예를 들어, [j]) 을 포함할 수도 있으며, 여기서, 제 1 인덱스 값 ([i]) 은 제 1 계층 (예를 들어, 제 1 계층 (410A)) 과 연관되고 제 1 계층을 식별하고, 제 2 인덱스 값 ([j]) 은 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 과 연관되고 제 2 계층을 식별한다. 일 실시형태에 있어서, 그 변수는 HEVC 기반 변수, 예를 들어, max_tid_il_ref_pics_plus1[i][j] 를 포함할 수도 있다. 일 예에 있어서, 프로세서 (13) 는 변수 max_tid_il_ref_pics_plus1[0][1] (여기서, i 는 제 1 계층 (410A) (i=0 일 경우 "계층 0") 에 대응하고, j 는 제 1 인핸스먼트 계층 (415A1) (j=1 일 경우 "계층 1") 에 대응함) 을, 하기에서 더 설명되는 바와 같은 값으로 설정할 수도 있다.
일 실시형태에 있어서, 프로세서 (13) 는 그 변수를, TID 임계치 값을 나타낼 수도 있는 정수값 (예를 들어, "0" 과 "6" 사이의 정수값) 으로 설정할 수도 있다. 일 예로서, 픽처들 (예를 들어, 제 1 계층 픽처들 (430) 및 인핸스먼트 계층 픽처들 (431, 및 432)) 각각이 특정 TID 값과 연관될 경우, 프로세서 (13) 가 그 변수를, TID 임계치 값을 나타내는 정수값으로 설정하는 것이 유익할 수도 있다. 일 실시형태에 있어서, 그러한 설정은 프로세서 (13) (또는 상이한 디바이스) 로 하여금 TID 임계치 값보다 큰 특정 TID 값과 연관되는 픽처들이 (하기에서 더 설명되는 바와 같이) 계층간 예측을 위해 사용되지 않을 것임을 결정하게 할 수도 있다. 일 실시형태에 있어서, 변수의 값은, 도 6 과 관련하여 더 설명되는 바와 같이, 제 1 픽처가 TID 임계치 값보다 작은 TID 값과 연관되면 제 1 픽처 (예를 들어, 제 1 계층 (410A) 에서의 제 1 픽처 (430)) 가 제 2 픽처 (예를 들어, 제 1 인핸스먼트 계층 (415A1) 에서의 픽처) 의 계층간 예측을 위해 사용될 수 있음을 표시할 수도 있다. 예시하기 위해, 프로세서 (13) 는 변수 max_tid_il_ref_pics_plus1[0][1] = 3 을 설정할 수도 있으며, 이는 제 2 계층 픽처들 (제 2 인핸스먼트 계층 픽처들 (431A)) 에 관하여 제 1 계층 픽처에 대한 "3" 의 TID 임계치 값을 표시할 것이다. 그 후, 블록 580 에서, 프로세서 (13) 는 이 변수를 (예를 들어, 슬라이스 헤더에) 시그널링할 수도 있다. 디바이스 (예를 들어, 디코더 (30)) 가, 도 6 과 관련하여 설명되는 바와 같이, 추가의 동작들을 수행하기 위해 그 변수를 사용할 수도 있다. 즉, 프로세서 (13) 는, 제 1 계층 (410A) 에서의 픽처들이 다른 인핸스먼트 계층 (예를 들어, 인핸스먼트 계층 (415A2)) 에서의 픽처들을 예측하기 위해 사용될 수 있는지 또는 될 수 없는지 여부를 표시하는 것없이 제 1 계층 (410A) 에서의 픽처들이 일 인핸스먼트 계층 (예를 들어, 인핸스먼트 계층 (415A1)) 에서의 픽처들을 예측하기 위해 사용될 수 있는지 또는 될 수 없는지 여부를 표시할 수도 있다. 그 후, 프로세서 (13) 는, 상기 설명된 바와 같은 블록 530 으로 계속할 수도 있다. 일 실시형태에 있어서, 프로세서 (13) 가 (블록 530 에서 결정된 바와 같이) 다중의 계층들을 프로세싱하면, 프로세서 (13) 는 대신, 별도의 계층 연관들 모두에 대해 (예를 들어, 제 1 계층의 별도의 제 2 계층들 각각과의 각각의 별도의 계층 연관에 대해) 동시에 한번 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다. 예를 들어, 일 실시형태에 있어서, 프로세서 (13) 가 다중의 계층들을 프로세싱하면, 프로세서 (13) 는, 블록들 (520, 540, 및/또는 580) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.
다른 실시형태에 있어서, 프로세서 (13) 는 변수에 임의의 값을 설정하지 않을 수도 있다. 그 후, 그러한 실시형태에 있어서, 변수는 특정 값 (예를 들어, "7" 의 정수값) 을 갖는 것으로 추론될 수도 있다. 일 예로서, 픽처들 (예를 들어, 제 1 계층 픽처들 (430) 및 인핸스먼트 계층 픽처들 (431, 및 432)) 각각이 특정 TID 값과 연관되고 계층간 예측을 위해 각각 사용될 경우, 프로세서 (13) 가 그 변수를 정수값으로 설정 (예를 들어, 정수값이 "7" 임을 추론) 하지 않는 것이 유익할 수도 있다. 일 실시형태에 있어서, 그러한 설정은 프로세서 (13) (또는 상이한 디바이스) 로 하여금 예를 들어 픽처들 각각이 하기에서 더 설명되는 바와 같이 가능한 TID 값 (예를 들어, "7" 보다 작은 TID 값) 과 연관되기 때문에 픽처들 각각이 계층간 예측을 위해 사용될 것임을 결정하게 할 수도 있다. 일 실시형태에 있어서, 변수의 값은, 도 6 과 관련하여 더 설명되는 바와 같이, 제 1 픽처 (예를 들어, 제 1 계층 (410A) 에서의 제 1 픽처 (430)) 가 제 2 픽처 (예를 들어, 제 1 인핸스먼트 계층 (415A1) 에서의 픽처) 의 계층간 예측을 위해 사용될 수 있음을 표시할 수도 있다. 그 후, 블록 580 에서, 프로세서 (13) 는 이 변수를 (예를 들어, 슬라이스 헤더에) 시그널링할 수도 있다. 디바이스 (예를 들어, 디코더 (30)) 가, 도 6 과 관련하여 설명되는 바와 같이, 추가의 동작들을 수행하기 위해 그 변수를 사용할 수도 있다. 그 후, 프로세서 (13) 는, 상기 설명된 바와 같은 블록 530 으로 계속할 수도 있다. 일 실시형태에 있어서, 프로세서 (13) 가 (블록 530 에서 결정된 바와 같이) 다중의 계층들을 프로세싱하면, 프로세서 (13) 는 대신, 별도의 계층 연관들 모두에 대해 (예를 들어, 제 1 계층의 별도의 제 2 계층들 각각과의 각각의 별도의 계층 연관에 대해) 동시에 한번 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다. 예를 들어, 일 실시형태에 있어서, 프로세서 (13) 가 다중의 계층들을 프로세싱하면, 프로세서 (13) 는, 블록들 (520, 540, 및/또는 580) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.
도 5 와 관련하여 설명된 방법과 함께 도 4 의 시나리오 A 이후, 프로세서 (13) 는 블록 510 에서 제 2 계층 (예를 들어, 인핸스먼트 계층 (415A1)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에 대한 계층간 예측 분석을 수행하도록 결정할 수도 있다. 프로세서 (13) 는, 예를 들어, 플래그 max_tid_ref_present_flag 를 1 과 동일하게 설정 및 시그널링함으로써 블록 540 에서 이를 시그널링할 수도 있다. 그 후, 블록 550 에서, 프로세서 (13) 는, 제 1 계층에서의 픽처들이 제 2 계층에서의 픽처들을 계층간 예측하기 위해 사용될 수 있음을 결정할 수도 있다. 따라서, 블록 570 에서, 프로세서 (13) 는, 제 2 계층의 픽처들을 계층간 예측하기 위한 제 1 계층의 사용을 인에이블링하기 위한 변수 (예를 들어, max_tid_il_ref_pics_plus1[i][j] 변수) 를 설정할 수도 있다. 이 예에 있어서, 프로세서 (13) 는, "2" 의 값보다 크거나 같은 TID 값과 연관되는 제 1 계층 (410A) 에서의 픽처들이 (X표들을 갖는 화살표들에 의해 도시된 바와 같이) 인핸스먼트 계층 (415A1) 에서의 픽처들을 계층간 예측하기 위해 사용되지 않을 수도 있도록 그 변수를 "2" 의 값과 동일하게 설정할 수도 있다. 그 후, 블록 580 에서, 프로세서 (13) 는 제 1 계층 및 제 2 계층 (415A1) 을 참조하여 변수를 시그널링할 수도 있다. 예를 들어, 이 경우, 프로세서 (13) 는 max_tid_il_ref_pics_plus1[0][1] = 2 를 시그널링할 수도 있다. 그 후, 블록 530 에서, 프로세서 (13) 는 제 1 계층 (410A) 에 관하여 부가적인 인핸스먼트 계층들 (예를 들어, 인핸스먼트 계층 (415A2)) 을 프로세싱하도록 결정하고, 그 후, 블록 510 으로 리턴할 수도 있다. 그 후, 프로세서 (13) 는, 블록 570 에서 프로세서 (13) 가 변수를 2 보다 큰 어떤 값 (예를 들어, 3 내지 6) 과 동일하게 설정하거나 (예를 들어, 7 의 값을 의미하는) 값을 전혀 설정하지 않을 수도 있다는 것을 제외하면, 상기 설명된 바와 유사하게 진행할 수도 있다. 따라서, 제 1 계층 (410A) 에서의 픽처들 모두가 2 이하의 TID 값과 연관되기 때문에, 제 1 계층 (410A) 에서의 픽처들 모두는 인핸스먼트 계층 (415A2) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있다. 그 후, 블록 580 에서, 프로세서 (13) 는 제 1 계층 및 제 2 계층을 참조하여 변수를 시그널링할 수도 있다. 예를 들어, 이 경우, 프로세서 (13) 는 max_tid_il_ref_pics_plus1[0][2] = 4 를 시그널링할 수도 있다. 그 후, 블록 530 에서, 프로세서 (13) 는 제 1 계층 (410A) 에 관하여 임의의 부가적인 인핸스먼트 계층들을 프로세싱하지 않도록 결정하고, 그 후, 블록 590 에서 방법을 종료할 수도 있다. 일 실시형태에 있어서, 프로세서 (13) 가 (블록 530 에서 결정된 바와 같이) 다중의 계층들을 프로세싱하면, 프로세서 (13) 는 대신, 별도의 계층 연관들 모두에 대해 (예를 들어, 제 1 계층의 별도의 제 2 계층들 각각과의 각각의 별도의 계층 연관에 대해) 동시에 한번 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다. 예를 들어, 일 실시형태에 있어서, 프로세서 (13) 가 다중의 계층들을 프로세싱하면, 프로세서 (13) 는, 블록들 (520, 540, 및/또는 580) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.
도 5 와 관련하여 설명된 방법과 함께 도 4 의 시나리오 B 이후, 프로세서 (13) 는 블록 510 에서 인핸스먼트 계층 (415B1) 에 관하여 제 1 계층 (410B) 에 대한 계층간 예측 분석을 수행하도록 결정할 수도 있다. 프로세서 (13) 는, 예를 들어, 플래그 max_tid_ref_present_flag 를 "1" 의 값과 동일하게 설정 및 시그널링함으로써 블록 540 에서 이를 시그널링할 수도 있다. 일 실시형태에 있어서, 프로세서 (13) 는 상기 설명된 바와 같은 방법의 종료까지 그러한 신호를 하길 대기할 수도 있다. 그 후, 블록 550 에서, 프로세서 (13) 는, 제 1 계층 (410B) 에서의 픽처들이 인핸스먼트 계층 (415B1) 에서의 픽처들을 계층간 예측하기 위해 사용될 수 있음을 결정할 수도 있다. 따라서, 블록 570 에서, 프로세서 (13) 는, 인핸스먼트 계층 (415B1) 의 픽처들을 계층간 예측하기 위한 제 1 계층 (410B) 의 사용을 인에이블링하기 위한 변수 (예를 들어, max_tid_il_ref_pics_plus1[i][j] 변수) 를 설정할 수도 있다. 이 예에 있어서, 프로세서 (13) 는 변수를 "2" 보다 큰 어떤 값 (예를 들어, "3" 내지 "6") 과 동일하게 설정하거나 (예를 들어, 7 의 값을 의미하는) 값을 전혀 설정하지 않을 수도 있다. 따라서, 제 1 계층 (410B) 에서의 픽처들 모두가 "2" 이하의 TID 값과 연관되기 때문에, 제 1 계층 (410B) 에서의 픽처들 모두는 인핸스먼트 계층 (415B1) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있다. 그 후, 블록 580 에서, 프로세서 (13) 는 제 1 계층 (410B) 및 인핸스먼트 계층 (415B1) 을 참조하여 변수를 시그널링할 수도 있다. 예를 들어, 이 경우, 프로세서 (13) 는 max_tid_il_ref_pics_plus1[0][1] = 5 를 시그널링할 수도 있다. 그 후, 블록 530 에서, 프로세서 (13) 는 제 1 계층 (410B) 에 관하여 부가적인 인핸스먼트 계층들 (예를 들어, 인핸스먼트 계층 (415B2)) 을 프로세싱하도록 결정하고, 그 후, 블록 510 으로 리턴할 수도 있다. 그 후, 프로세서 (13) 는, 블록 570 에서, 1 보다 크거나 같은 TID 값과 연관되는 제 1 계층 (410B) 에서의 픽처들이 (X표들을 갖는 화살표들에 의해 도시된 바와 같이) 인핸스먼트 계층 (415B2) 에서의 픽처들을 계층간 예측하기 위해 사용되지 않을 수도 있도록 프로세서 (13) 가 그 변수를 "1" 과 동일하게 설정할 수도 있다는 것을 제외하면, 상기 설명된 바와 유사하게 진행할 수도 있다. 그 후, 블록 580 에서, 프로세서 (13) 는 제 1 계층 (410B) 및 인핸스먼트 계층 (415B2) 을 참조하여 변수를 시그널링할 수도 있다. 예를 들어, 이 경우, 프로세서 (13) 는 max_tid_il_ref_pics_plus1[0][2] = 1 을 시그널링할 수도 있다. 그 후, 블록 530 에서, 프로세서 (13) 는 제 1 계층 (410B) 에 관하여 임의의 부가적인 인핸스먼트 계층들을 프로세싱하지 않도록 결정하고, 그 후, 블록 590 에서 방법을 종료할 수도 있다. 일 실시형태에 있어서, 프로세서 (13) 가 (블록 530 에서 결정된 바와 같이) 다중의 계층들을 프로세싱하면, 프로세서 (13) 는 대신, 별도의 계층 연관들 모두에 대해 (예를 들어, 제 1 계층의 별도의 제 2 계층들 각각과의 각각의 별도의 계층 연관에 대해) 동시에 한번 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다. 예를 들어, 일 실시형태에 있어서, 프로세서 (13) 가 다중의 계층들을 프로세싱하면, 프로세서 (13) 는, 블록들 (520, 540, 및/또는 580) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.
도 4 와 관련하여 상기 설명된 바와 같이, 상기 프로세스들은 프로세서 (13) 및/또는 비디오 인코더 (20) 가 설명된 표시들을 어떻게 행할 수 있는지의 단지 예들일 뿐이다.
도 6 은, 도 4 와 관련하여 설명된 바와 같이, 제 1 계층 (예를 들어, 도 4 의 제 1 계층 (410A)) 과 하나 이상의 제 2 계층들 (예를 들어, 도 4 의 제 1 및 제 2 인핸스먼트 계층들 (415A1 및 415A2)) 간의 계층간 예측 의존성들을 별도로 결정하기 위한 비디오 디코더 (예를 들어, 비디오 디코더 (30)) 의 프로세서 (예를 들어, 프로세서 (13)) 에 대한 일 방법의 플로우차트를 도시한다. 예를 들어, 프로세서 (13) 는, 제 1 계층에서의 픽처들이 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 인핸스먼트 계층들 각각에 대해 (예를 들어, 개별 표시에 기초하여) 별도로 결정할 수도 있다.
방법은 블록 605 에서 시작한다. 블록 610 에서, 프로세서 (13) 는 계층간 예측 분석 변수 ("변수") 가 제 2 계층 (예를 들어, 인핸스먼트 계층 (415A1)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에 대해 존재하는지 여부를 결정할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는 이러한 결정을 개별 표시에 기초하여 행할 수도 있으며, 이 개별 표시는 도 4 및 도 5 와 관련하여 설명된 바와 같은 비디오 인코더 (예를 들어, 비디오 인코더 (20)) 로부터 시그널링되었을 수도 있다. 일 양태에 있어서, 그 표시는 슬라이스 헤더에 시그널링된 플래그일 수도 있다. 예를 들어, 그 플래그는 도 5 와 관련하여 설명된 바와 같은 HEVC 기반 플래그, 예를 들어, max_tid_ref_present_flag 일 수도 있다.
블록 610 에서, 프로세서 (13) 는 변수가 설정되지 않음 (예를 들어, max_tid_ref_present_flag 가 "0" 의 값으로 설정됨) 을 결정할 수도 있다. 이 경우, 그 후, 프로세서 (13) 는, 프로세서 (13) 가 제 1 계층에 관하여 부가적인 인핸스먼트 계층들 (예를 들어, 제 2 인핸스먼트 계층 (415A2)) 을 프로세싱할지 여부를 결정할 수도 있는 블록 620 으로 진행할 수도 있다. 프로세서 (13) 가 제 1 계층 (410A) 에 관하여 부가적인 인핸스먼트 계층들을 프로세싱하도록 결정하면, 방법 (600) 은 블록 610 으로 리턴할 수도 있다. 하지만, 블록 610 에서, 프로세서는 이전에 했던 것과는 상이한 제 2 계층을 분석할 것이다 (예를 들어, 제 2 인핸스먼트 계층 (415A2) 을 분석할 것임). 프로세서 (13) 가 제 1 계층 (410A) 에 관하여 부가적인 인핸스먼트 계층들을 프로세싱하지 않도록 결정하면, 방법은 블록 690 에서 종료한다.
대안적으로, 블록 610 에서, 프로세서 (13) 는, (예를 들어, max_tid_ref_present_flag 가 1 로 설정되면) 변수가 설정됨을 결정할 수도 있다. 이 경우, 그 후, 프로세서 (13) 는 블록 630 으로 진행하고, 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 의 픽처들을 계층간 예측하기 위한 제 1 계층에서의 픽처들의 사용을 변수가 디스에이블링하는지 여부를 결정할 수도 있다. 예를 들어, 도 5 와 관련하여 설명된 바와 같이 변수가 HEVC 기반 변수 max_tid_il_ref_pics_plus1[i][j] 를 포함하고 그 변수가 "0" 의 값으로 설정되면, 프로세서 (13) 는, 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 의 픽처들을 계층간 예측하기 위한 제 1 계층에서의 픽처들의 사용을 변수가 디스에이블링함을 결정할 수도 있다. 대안적으로, 도 5 와 관련하여 설명된 바와 같이, 변수가 "0" 의 값으로 설정되지 않으면 (예를 들어, 변수가 설정되지 않으면 또는 변수가 "1" 의 값과 같은 어떤 비-제로 값으로 설정되면), 프로세서 (13) 는, 인핸스먼트 계층 (415A1) 의 픽처들을 계층간 예측하기 위한 제 1 계층에서의 픽처들 (430A) 의 사용을 변수가 디스에이블링하지 않음을 결정할 수도 있다.
상기 설명된 바와 같이, 블록 630 에서, 프로세서 (13) 는, (예를 들어, max_tid_il_ref_pics_plus1[0][1] = 0 이면) 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 의 픽처들을 계층간 예측하기 위한 제 1 계층에서의 픽처들의 사용을 변수가 디스에이블링함을 결정할 수도 있다. 즉, 프로세서 (13) 는, 제 1 계층 (410A) 에서의 픽처들이 다른 인핸스먼트 계층 (예를 들어, 인핸스먼트 계층 (415A2)) 에서의 픽처들을 예측하기 위해 사용될 수 있는지 또는 될 수 없는지 여부를 결정하는 것없이 제 1 계층에서의 픽처들이 일 인핸스먼트 계층 (예를 들어, 인핸스먼트 계층 (415A1)) 에서의 픽처들을 예측하기 위해 사용될 수 있음 또는 될 수 없음을 결정할 수도 있다. 이 경우, 그 후, 프로세서 (13) 는, 제 2 계층에 관하여 제 1 계층에서의 픽처들을 폐기 (예를 들어, 버퍼로부터 제거) 할 수도 있는 블록 640 으로 진행할 수도 있다. 예를 들어, 프로세서 (13) 는, 제 2 계층에 관하여 계층간 예측을 위한 사용을 위해 디스에이블링되는 제 1 계층에서의 픽처들을 폐기할 수도 있다. 상기 설명된 바와 같이, 관련 제 1 계층 픽처들을 폐기하는 것은 제 2 계층의 계층간 예측 동안 메모리 및 프로세싱 비용들을 절약할 수도 있다. 예를 들어, 상기 설명된 바와 같이, 그러한 구성은 인핸스먼트 계층에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 구현하기 위한 유연성을 허용하면서 다른 인핸스먼트 계층들 (예를 들어, 인핸스먼트 계층 (415A2)) 중 하나 이상에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 구현하기 위한 유연성을 유지할 수도 있다.
대안적으로, 상기 설명된 바와 같이, 블록 630 에서, 프로세서 (13) 는, (예를 들어, max_tid_il_ref_pics_plus1[0][1] ≠ 0 이면) 제 2 계층의 픽처들을 계층간 예측하기 위한 제 1 계층에서의 픽처들의 사용을 변수가 디스에이블링하지 않음을 결정할 수도 있다. 이 경우, 그 후, 프로세서 (13) 는, 임계치 (예를 들어, TID 임계치 값) 보다 작은 TID 값과 연관되는 제 1 계층에서의 픽처들이 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 의 픽처들을 계층간 예측하기 위해 사용될 수 있음을 결정할 수도 있는 블록 650 으로 진행할 수도 있다. 예를 들어, 프로세서 (13) 는, 제 1 계층 (410A) 에서의 픽처들이 다른 인핸스먼트 계층 (예를 들어, 인핸스먼트 계층 (415A2)) 에서의 픽처들을 예측하기 위해 사용될 수 있는지 또는 될 수 없는지 여부를 결정하는 것없이 제 1 계층 (410A) 에서의 픽처들이 일 인핸스먼트 계층 (예를 들어, 인핸스먼트 계층 (415A1)) 에서의 픽처들을 예측하기 위해 사용될 수 있음 또는 될 수 없음을 결정할 수도 있다. 도 4 와 관련하여 설명된 바와 같이, 비록 제 1 픽처들 (430) 중 일부에게 그 개별 인핸스먼트 픽처들 (431 또는 432) 을 계층간 예측하기 위해 사용되는 것이 제한되지 않을 수도 있더라도, 그럼에도 불구하고, 프로세서 (13) 는 계층간 예측을 위해 비-제한된 픽처들 중 하나 이상을 실제로 사용하지 않도록 결정할 수도 있다. 예를 들어, 프로세서 (13) 는 슬라이스 헤더에서의 정보에 기초하여 이러한 결정을 행할 수도 있다.
일 실시형태에 있어서, 변수는, TID 임계치 값 (예를 들어, 블록 650 과 관련하여 설명된 TID 임계치 값) 을 나타낼 수도 있는 정수값 (예를 들어, "0" 과 "6" 사이의 정수값) 으로 설정될 수도 있다. 일 실시형태에 있어서, 변수의 값은, 도 6 과 관련하여 더 설명되는 바와 같이, 제 1 픽처가 TID 임계치 값보다 작은 TID 값과 연관되면 제 1 픽처 (예를 들어, 제 1 계층 (410A) 에서의 제 1 픽처 (430)) 가 제 2 픽처 (예를 들어, 제 1 인핸스먼트 계층 (415A1) 에서의 픽처) 의 계층간 예측을 위해 사용될 수 있음을 표시할 수도 있다. 예시하기 위해, 프로세서 (13) 는 변수 max_tid_il_ref_pics_plus1[0][1] = 3 을 설정할 수도 있으며, 이는 제 2 계층 픽처들 (제 2 인핸스먼트 계층 픽처들 (431A)) 에 관하여 제 1 계층 픽처에 대한 "3" 의 TID 임계치 값을 표시할 것이다.
다른 실시형태에 있어서, 변수는 임의의 값으로 설정되지 않을 수도 있다. 도 5 와 관련하여 설명된 바와 같이, 이 경우, 그 후, 변수는 특정 값 (예를 들어, "7" 의 정수값) 을 갖는 것으로 추론될 수도 있다. 상기 설명된 바와 같이, 일 실시형태에 있어서, 그러한 설정은 (블록 650 에서) 프로세서 (13) 로 하여금 예를 들어 픽처들 각각이 가능한 TID 값 (예를 들어, "7" 보다 작은 TID 값) 과 연관되기 때문에 픽처들 각각이 계층간 예측을 위해 사용될 것임을 결정하게 할 수도 있다.
블록 640 또는 블록 650 중 어느 하나 이후, 프로세서 (13) 는, 프로세서 (13) 가 상기 설명된 바와 같이 (블록 610 에서) 부가적인 제 2 계층으로 프로세스를 반복하거나 (블록 690 에서) 방법을 종료할 블록 620 으로 계속할 수도 있다. 일 실시형태에 있어서, 방법이 종료할 경우, 그 후, 비디오 디코더 (30) 는 관련 현재 픽처들 (예를 들어, 현재 픽처들 (430)) 중 하나 이상에 기초한 계층간 예측을 사용하여 인핸스먼트 픽처들 (예를 들어, 인핸스먼트 픽처들 (431 및/또는 432)) 중 하나 이상을 디코딩하도록 진행할 수도 있다. 일 양태에 있어서, 하나 이상의 관련 현재 픽처들은, 현재 픽처 및 인핸스먼트 계층 픽처와 연관된 TID 임계치 값보다 작은 TID 값과 연관될 수도 있다.
도 6 과 관련하여 설명된 방법과 함께 도 4 의 시나리오 A 이후, 프로세서 (13) 는 제 2 계층 (예를 들어, 인핸스먼트 계층 (415A1)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에 대해 변수가 존재함을 결정할 수도 있다. 예를 들어, 프로세서 (13) 는 max_tid_ref_present_flag 가 1 로 설정됨을 결정할 수도 있다. 그 후, 프로세서 (13) 는 블록 630 으로 진행하고, 제 2 계층의 픽처들을 계층간 예측하기 위한 제 1 계층에서의 픽처들의 사용을 변수가 디스에이블링하지 않음을 결정할 수도 있다. 예를 들어, 프로세서 (13) 는 max_tid_il_ref_pics_plus1[0][1] ≠ 0 임을 결정하는 것에 기초하여 그러한 결정을 행할 수도 있다. 따라서, 그 후, 프로세서 (13) 는 블록 650 으로 진행하고, TID 임계치 값 (예를 들어, 이 TID 임계치 값은, 만약 존재한다면 max_tid_il_ref_pics_plus1[0][1] 의 값에 기초할 수도 있음) 보다 작은 TID 값과 연관되는 제 1 계층에서의 픽처들이 제 2 계층의 픽처들을 계층간 예측하기 위해 사용될 수 있음을 결정할 수도 있다.
시나리오 A 의 도시된 예에 있어서, "2" 보다 크거나 같은 TID 값과 연관되는 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에서의 픽처들이, X표들을 갖는 화살표들에 의해 도시된 바와 같이 제 2 계층 (예를 들어, 인핸스먼트 계층 (415A1)) 에서의 픽처들을 계층간 예측하기 위해 사용되지 않을 수도 있음을 프로세서 (13) 가 결정할 수도 있도록, 변수는 "2" 로 설정될 수도 있다 (예를 들어, max_tid_il_ref_pics_plus1[0][1] = 2). 그 후, 블록 620 에서, 프로세서 (13) 는 제 1 계층에 관하여 부가적인 제 2 계층 (예를 들어, 인핸스먼트 계층 (415A2)) 을 프로세싱하도록 결정하고, 그 후, 블록 610 으로 리턴할 수도 있다. 그 후, 프로세서 (13) 는, 블록 650 에서 변수가 "2" 보다 큰 어떤 값 (예를 들어, "3" 내지 "6" 의 값) 으로 설정될 수도 있거나 (예를 들어, "7" 의 값을 의미하는) 변수가 전혀 설정되지 않을 수도 있다는 것을 제외하면, 상기 설명된 바와 유사하게 진행할 수도 있다. 예를 들어, 시나리오 A 의 도시된 예에 있어서, 변수 max_tid_il_ref_pics_plus1[0][2] 는 "4" 로 설정될 수도 있다. 따라서, 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에서의 픽처들 모두가 "4" 이하의 TID 값과 연관되기 때문에, 프로세서 (13) 는, 제 1 계층에서의 픽처들 모두가 제 2 계층 (예를 들어, 인핸스먼트 계층 (415A2)) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있음을 결정할 수도 있다. 그 후, 블록 620 에서, 프로세서 (13) 는 제 1 계층에 관하여 임의의 부가적인 계층들을 프로세싱하지 않도록 결정하고, 그 후, 블록 690 에서 방법을 종료할 수도 있다. 일 실시형태에 있어서, 방법이 종료할 경우, 그 후, 비디오 디코더 (30) 는 관련 현재 픽처들 (예를 들어, 현재 픽처들 (430A)) 중 하나 이상에 기초한 계층간 예측을 사용하여 인핸스먼트 픽처들 (예를 들어, 인핸스먼트 픽처들 (431A 및/또는 432A)) 중 하나 이상을 디코딩하도록 진행할 수도 있다. 일 양태에 있어서, 하나 이상의 관련 현재 픽처들은, 현재 픽처 및 인핸스먼트 계층 픽처와 연관된 TID 임계치 값보다 작은 TID 값과 연관될 수도 있다.
도 6 과 관련하여 설명된 방법과 함께 도 4 의 시나리오 B 이후, 프로세서 (13) 는 제 2 계층 (예를 들어, 인핸스먼트 계층 (415B1)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410B)) 에 대해 변수가 존재함을 결정할 수도 있다. 예를 들어, 프로세서 (13) 는 max_tid_ref_present_flag 가 1 로 설정됨을 결정할 수도 있다. 그 후, 프로세서 (13) 는 블록 630 으로 진행하고, 제 2 계층의 픽처들을 계층간 예측하기 위한 제 1 계층에서의 픽처들의 사용을 변수가 디스에이블링하지 않음을 결정할 수도 있다. 예를 들어, 프로세서 (13) 는 max_tid_il_ref_pics_plus1[0][1] ≠ 0 임을 결정하는 것에 기초하여 그러한 결정을 행할 수도 있다. 따라서, 그 후, 프로세서 (13) 는 블록 650 으로 진행하고, TID 임계치 값 (예를 들어, 이 TID 임계치 값은, 만약 존재한다면 max_tid_il_ref_pics_plus1[0][1] 의 값에 기초할 수도 있음) 보다 작은 TID 값과 연관되는 제 1 계층에서의 픽처들이 제 2 계층의 픽처들을 계층간 예측하기 위해 사용될 수 있음을 결정할 수도 있다. 시나리오 B 의 도시된 예에 있어서, 변수는 "2" 보다 큰 어떤 값 (예를 들어, "3" 내지 "6" 의 값) 으로 설정될 수도 있거나 (예를 들어, "7" 의 값을 의미하는) 변수가 전혀 설정되지 않을 수도 있다. 예를 들어, 시나리오 B 의 도시된 예에 있어서, 변수 max_tid_il_ref_pics_plus1[0][2] 는 "5" 로 설정될 수도 있다. 따라서, 제 1 계층 (예를 들어, 제 1 계층 (410B)) 에서의 픽처들 모두가 "5" 이하의 TID 값과 연관되기 때문에, 프로세서 (13) 는, 제 1 계층에서의 픽처들 모두가 제 2 계층 (예를 들어, 인핸스먼트 계층 (415B2)) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있음을 결정할 수도 있다. 그 후, 블록 620 에서, 프로세서 (13) 는 제 1 계층에 관하여 부가적인 제 2 계층 (예를 들어, 인핸스먼트 계층 (415B2)) 을 프로세싱하도록 결정하고, 그 후, 블록 610 으로 리턴할 수도 있다. 그 후, 프로세서 (13) 는, "1" 보다 크거나 같은 TID 값과 연관되는 제 1 계층 (예를 들어, 제 1 계층 (410B)) 에서의 픽처들이, X표들을 갖는 화살표들에 의해 도시된 바와 같이 제 2 계층 (예를 들어, 인핸스먼트 계층 (415B1)) 에서의 픽처들을 계층간 예측하기 위해 사용되지 않을 수도 있음을 프로세서 (13) 가 결정할 수도 있도록, 변수가 "1" 의 값으로 설정 (예를 들어, max_tid_il_ref_pics_plus1[0][2] = 1) 될 수도 있다는 것을 제외하면, 상기 설명된 바와 유사하게 진행할 수도 있다. 그 후, 블록 620 에서, 프로세서 (13) 는 제 1 계층에 관하여 임의의 부가적인 계층들을 프로세싱하지 않도록 결정하고, 그 후, 블록 690 에서 방법을 종료할 수도 있다. 일 실시형태에 있어서, 방법이 종료할 경우, 그 후, 비디오 디코더 (30) 는 관련 현재 픽처들 (예를 들어, 현재 픽처들 (430B)) 중 하나 이상에 기초한 계층간 예측을 사용하여 인핸스먼트 픽처들 (예를 들어, 인핸스먼트 픽처들 (431B 및/또는 432B)) 중 하나 이상을 디코딩하도록 진행할 수도 있다. 일 양태에 있어서, 하나 이상의 관련 현재 픽처들은, 현재 픽처 및 인핸스먼트 계층 픽처와 연관된 TID 임계치 값보다 작은 TID 값과 연관될 수도 있다.
도 4 및 도 5 와 관련하여 상기 설명된 바와 같이, 상기 프로세스들은 프로세서 (13) 및/또는 비디오 디코더 (30) 가 설명된 결정들을 어떻게 행할 수 있는지의 단지 예들일 뿐이다.
비디오 정보를 인코딩하는 방법의 다른 실시형태가 도 7 에 도시된다. 방법 (700) 은 블록 710 에서 시작한다. 블록 710 에서, 프로세서 (예를 들어, 본 명세서에서 기술된 임의의 프로세서) 는 제 1 계층과 연관된 제 1 픽처를 저장한다. 프로세서는 또한, 제 1 계층의 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장한다. 예를 들어, 일 실시형태에 있어서, 제 1 계층은 상기 설명된 제 1 계층 (410A) 에 대응하고, 복수의 인핸스먼트 계층들은 상기 설명된 제 1 및 제 2 인핸스먼트 계층들 (415A1 및 415A2) 에 대응한다.
블록 730 에서, 프로세서는 인핸스먼트 계층들 각각에 대한 별도의 표시를 제공한다. 그 표시는, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시한다. 예를 들어, 프로세서는, 상기 설명된 바와 같이, 각각의 제 1 계층-인핸스먼트 계층 쌍에 대한 맥스 TID 값을 제공할 수도 있다. 일 실시형태에 있어서, 프로세서는 [i] 인덱스 (여기서, [i] 는 제 1 계층의 계층 ID 값을 표시함) 및 [j] 인덱스 (여기서, [j] 는 각각의 인핸스먼트 계층의 계층 ID 값을 표시함) 를 갖는 변수에서의 맥스 TID 값을 제공한다. 따라서, 방법 (700) 은 현재 계층의 각각의 인핸스먼트 계층에 대한 상이한 맥스 TID 값들을 명시할 능력을 프로세서에게 제공한다. 방법 (700) 은 블록 740 에서 종료한다.
하나 이상의 예들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송되고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는, 예를 들어, 통신 프로토콜에 따라 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 데이터 저장 매체 또는 통신 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비-일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 캐리어파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체일 수도 있다. 컴퓨터 프로그램 제품이 컴퓨터 판독가능 매체를 포함할 수도 있다.
한정이 아닌 예로서, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 하지만, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 커넥션들, 캐리어파들, 신호들, 또는 다른 일시적 매체를 포함하지 않지만 대신 비-일시적인 유형의 저장 매체로 지향됨을 이해해야 한다. 본 명세서에서 사용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 는 레이저들을 이용하여 데이터를 광학적으로 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적된 또는 별개의 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 이에 따라, 본 명세서에서 사용된 바와 같은 용어 "프로세서" 는 본 명세서에서 설명된 기법들의 구현에 적합한 전술한 구조 또는 임의의 다른 구조 중 임의의 구조를 지칭할 수도 있다. 부가적으로, 일부 양태들에 있어서, 본 명세서에서 설명된 기능은 인코딩 및 디코딩을 위해 구성되거나 또는 결합된 코덱에서 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하여 매우 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들이 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 오히려, 상기 설명된 바와 같이, 다양한 유닛들은 적합한 소프트웨어 및/또는 펌웨어와 함께 상기 설명된 바와 같은 하나 이상의 프로세서들을 포함하여 코덱 하드웨어 유닛으로 결합되거나 또는 상호운용식 하드웨어 유닛들의 집합에 의해 제공될 수도 있다. 다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (30)

  1. 비디오 인코더로서,
    제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하도록 구성된 메모리 유닛; 및
    상기 메모리 유닛과 통신하고, 상기 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시하는 별도의 표시를 상기 인핸스먼트 계층들 각각에 대해 제공하도록 구성된 프로세서를 포함하는, 비디오 인코더.
  2. 제 1 항에 있어서,
    상기 프로세서는 추가로,
    상기 제 1 픽처와 연관된 시간 식별 값에 기초하여 상기 제 1 픽처가 상기 개별 인핸스먼트 계층에서의 상기 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 결정하고; 그리고
    상기 결정에 기초하여 상기 표시를 제공하도록
    구성되는, 비디오 인코더.
  3. 제 1 항에 있어서,
    상기 프로세서는 추가로,
    상기 제 1 계층 및 상기 개별 인핸스먼트 계층과 연관된 최대 시간 식별 값에 기초하여 상기 제 1 픽처가 상기 개별 인핸스먼트 계층에서의 상기 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 결정하고; 그리고
    상기 결정에 기초하여 상기 표시를 제공하도록
    구성되는, 비디오 인코더.
  4. 제 1 항에 있어서,
    상기 프로세서는 추가로, 슬라이스 헤더에 상기 표시를 제공하도록 구성되는, 비디오 인코더.
  5. 제 1 항에 있어서,
    상기 표시는 플래그인, 비디오 인코더.
  6. 제 1 항에 있어서,
    상기 프로세서는 추가로, 상기 제 1 계층과 연관된 제 1 인덱스 값 및 상기 개별 인핸스먼트 계층과 연관된 제 2 인덱스 값을 포함하는 변수를 설정하도록 구성되는, 비디오 인코더.
  7. 제 6 항에 있어서,
    상기 변수는 변수 값을 더 포함하고,
    상기 프로세서는 추가로, 상기 제 1 픽처가 상기 개별 인핸스먼트 계층의 계층간 예측을 위해 사용되지 않을 것이면 상기 변수 값을 제 1 값으로 설정하도록 구성되는, 비디오 인코더.
  8. 제 6 항에 있어서,
    상기 변수는 변수 값을 더 포함하고,
    상기 프로세서는 추가로, 상기 제 1 픽처가 상기 개별 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있으면 상기 변수 값을, 상기 제 1 계층 및 상기 개별 인핸스먼트 계층과 연관된 최대 시간 식별 값으로 설정하도록 구성되는, 비디오 인코더.
  9. 비디오를 인코딩하는 방법으로서,
    제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하는 단계; 및
    상기 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시하는 별도의 표시를 상기 인핸스먼트 계층들 각각에 대해 제공하는 단계를 포함하는, 비디오를 인코딩하는 방법.
  10. 제 9 항에 있어서,
    상기 제 1 픽처의 시간 식별 값에 기초하여 상기 제 1 픽처가 상기 개별 인핸스먼트 계층에서의 상기 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 결정하는 단계; 및
    상기 결정하는 단계에 기초하여 상기 표시를 제공하는 단계를 더 포함하는, 비디오를 인코딩하는 방법.
  11. 제 9 항에 있어서,
    상기 제 1 계층 및 상기 개별 인핸스먼트 계층과 연관된 최대 시간 식별 값에 기초하여 상기 제 1 픽처가 상기 개별 인핸스먼트 계층에서의 상기 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 결정하는 단계; 및
    상기 결정하는 단계에 기초하여 상기 표시를 제공하는 단계를 더 포함하는, 비디오를 인코딩하는 방법.
  12. 제 9 항에 있어서,
    슬라이스 헤더에 상기 표시를 제공하는 단계를 더 포함하는, 비디오를 인코딩하는 방법.
  13. 제 9 항에 있어서,
    상기 제 1 계층과 연관된 제 1 인덱스 값 및 상기 개별 인핸스먼트 계층과 연관된 제 2 인덱스 값을 포함하는 변수를 설정하는 단계를 더 포함하는, 비디오를 인코딩하는 방법.
  14. 제 13 항에 있어서,
    상기 변수는 변수 값을 더 포함하고,
    상기 비디오를 인코딩하는 방법은, 상기 제 1 픽처가 상기 개별 인핸스먼트 계층의 계층간 예측을 위해 사용되지 않을 것이면 상기 변수 값을 제 1 값으로 설정하는 단계를 더 포함하는, 비디오를 인코딩하는 방법.
  15. 제 13 항에 있어서,
    상기 변수는 변수 값을 더 포함하고,
    상기 비디오를 인코딩하는 방법은, 상기 제 1 픽처가 상기 개별 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있으면 상기 변수 값을, 상기 제 1 계층 및 상기 개별 인핸스먼트 계층과 연관된 최대 시간 식별 값으로 설정하는 단계를 더 포함하는, 비디오를 인코딩하는 방법.
  16. 비디오 디코더로서,
    제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 픽처들을 저장하도록 구성된 메모리 유닛; 및
    상기 메모리 유닛과 통신하고, 상기 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를, 개별 표시에 기초하여, 상기 인핸스먼트 계층들 각각에 대해 별도로 결정하도록 구성된 프로세서를 포함하는, 비디오 디코더.
  17. 제 16 항에 있어서,
    상기 프로세서는 추가로, 상기 제 1 픽처와 연관된 시간 식별 값에 기초하여 상기 제 1 픽처가 상기 개별 인핸스먼트 계층에서의 상기 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있음을 결정하도록 구성되는, 비디오 디코더.
  18. 제 16 항에 있어서,
    상기 프로세서는 추가로, 상기 제 1 계층 및 상기 개별 인핸스먼트 계층과 연관된 최대 시간 식별 값에 기초하여 상기 제 1 픽처가 상기 개별 인핸스먼트 계층에서의 상기 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있음을 결정하도록 구성되는, 비디오 디코더.
  19. 제 16 항에 있어서,
    상기 프로세서는 추가로, 슬라이스 헤더에서 상기 표시를 수신하도록 구성되는, 비디오 디코더.
  20. 제 16 항에 있어서,
    상기 표시는 플래그인, 비디오 디코더.
  21. 제 16 항에 있어서,
    상기 프로세서는 추가로,
    상기 제 1 계층과 연관된 제 1 인덱스 값 및 상기 개별 인핸스먼트 계층과 연관된 제 2 인덱스 값을 포함하는 변수를 수신하고; 그리고
    상기 변수에 기초하여 상기 제 1 픽처가 상기 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 결정하도록
    구성되는, 비디오 디코더.
  22. 제 21 항에 있어서,
    상기 변수는 변수 값을 더 포함하고,
    상기 프로세서는 추가로, 상기 변수 값이 제 1 값이면 상기 제 1 픽처를 폐기하도록 구성되는, 비디오 디코더.
  23. 제 21 항에 있어서,
    상기 변수는 변수 값을 더 포함하고,
    상기 프로세서는 추가로, 상기 제 1 픽처의 시간 식별 값이 최대 시간 식별 값보다 작으면 상기 제 1 픽처가 상기 개별 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있음을 결정하도록 구성되고, 상기 최대 시간 식별 값은 상기 변수 값에 기초하는, 비디오 디코더.
  24. 제 23 항에 있어서,
    상기 프로세서는 추가로,
    현재 픽처가 상기 현재 픽처 및 상기 인핸스먼트 계층 픽처와 연관된 상기 최대 시간 식별 값보다 작은 시간 식별 값을 가짐을 결정하고; 그리고
    계층간 예측을 사용하여 상기 인핸스먼트 계층 픽처를 상기 현재 픽처와 함께 디코딩하도록
    구성되는, 비디오 디코더.
  25. 비디오를 디코딩하는 방법으로서,
    제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하는 단계; 및
    상기 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를, 개별 표시에 기초하여, 상기 인핸스먼트 계층들 각각에 대해 별도로 결정하는 단계를 포함하는, 비디오를 디코딩하는 방법.
  26. 제 25 항에 있어서,
    상기 제 1 픽처와 연관된 시간 식별 값에 기초하여 상기 제 1 픽처가 상기 개별 인핸스먼트 계층에서의 상기 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있음을 결정하는 단계를 더 포함하는, 비디오를 디코딩하는 방법.
  27. 제 25 항에 있어서,
    상기 제 1 계층과 연관된 제 1 인덱스 값 및 상기 개별 인핸스먼트 계층과 연관된 제 2 인덱스 값을 포함하는 변수를 수신하는 단계; 및
    상기 변수에 기초하여 상기 제 1 픽처가 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 결정하는 단계를 더 포함하는, 비디오를 디코딩하는 방법.
  28. 제 27 항에 있어서,
    상기 변수는 변수 값을 더 포함하고,
    상기 비디오를 디코딩하는 방법은, 상기 변수 값이 제 1 값이면 상기 제 1 픽처를 폐기하는 단계를 더 포함하는, 비디오를 디코딩하는 방법.
  29. 제 27 항에 있어서,
    상기 변수는 변수 값을 더 포함하고,
    상기 비디오를 디코딩하는 방법은, 상기 제 1 픽처의 시간 식별 값이 최대 시간 식별 값보다 작으면 상기 제 1 픽처가 상기 개별 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있음을 결정하는 단계를 더 포함하고, 상기 최대 시간 식별 값은 상기 변수 값에 기초하는, 비디오를 디코딩하는 방법.
  30. 제 29 항에 있어서,
    현재 픽처가 상기 현재 픽처 및 상기 인핸스먼트 계층 픽처와 연관된 상기 최대 시간 식별 값보다 작은 시간 식별 값을 가짐을 결정하는 단계; 및
    계층간 예측을 사용하여 상기 인핸스먼트 계층 픽처를 상기 현재 픽처와 함께 디코딩하는 단계를 더 포함하는, 비디오를 디코딩하는 방법.
KR1020167012573A 2013-10-14 2014-10-14 서브-계층 기반 계층간 예측에 대한 의존성들을 별도로 정의하기 위한 시스템들 및 방법들 KR101841858B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361890864P 2013-10-14 2013-10-14
US61/890,864 2013-10-14
US14/513,113 US9591324B2 (en) 2013-10-14 2014-10-13 Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction
US14/513,113 2014-10-13
PCT/US2014/060453 WO2015057685A1 (en) 2013-10-14 2014-10-14 Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction

Publications (2)

Publication Number Publication Date
KR20160070822A true KR20160070822A (ko) 2016-06-20
KR101841858B1 KR101841858B1 (ko) 2018-03-23

Family

ID=52809634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167012573A KR101841858B1 (ko) 2013-10-14 2014-10-14 서브-계층 기반 계층간 예측에 대한 의존성들을 별도로 정의하기 위한 시스템들 및 방법들

Country Status (10)

Country Link
US (1) US9591324B2 (ko)
EP (1) EP3058732B1 (ko)
JP (1) JP6297710B2 (ko)
KR (1) KR101841858B1 (ko)
CN (1) CN105684444B (ko)
BR (1) BR112016008240B1 (ko)
ES (1) ES2749747T3 (ko)
HU (1) HUE045515T2 (ko)
MX (1) MX349627B (ko)
WO (1) WO2015057685A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105519114A (zh) 2013-09-10 2016-04-20 株式会社Kt 用于对可扩展视频信号进行编码/解码的方法及装置
WO2018107404A1 (en) * 2016-12-14 2018-06-21 SZ DJI Technology Co., Ltd. System and method for supporting video bit stream switching
KR20200069350A (ko) * 2018-09-11 2020-06-16 에스지 디제이아이 테크놀러지 코., 엘티디 프로그레시브 비디오 비트 스트림 스위칭을 지원하는 시스템 및 방법
GB2618298A (en) * 2021-09-21 2023-11-08 V Nova Int Ltd Low complexity enhancement video coding with temporal scalability

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991236B2 (en) * 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
KR20140092198A (ko) * 2013-01-07 2014-07-23 한국전자통신연구원 계층적 비디오 부호화에서의 스케일러빌리티 정보 표현방식
KR20150009424A (ko) * 2013-07-15 2015-01-26 한국전자통신연구원 시간적 서브 레이어 정보에 기반한 계층간 예측을 이용한 영상 부, 복호화 방법 및 그 장치
JP6472442B2 (ja) 2013-10-11 2019-02-20 シャープ株式会社 復号方法
KR102294092B1 (ko) * 2014-01-02 2021-08-27 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치

Also Published As

Publication number Publication date
MX2016004625A (es) 2016-08-01
MX349627B (es) 2017-08-07
US9591324B2 (en) 2017-03-07
BR112016008240A2 (ko) 2017-08-01
CN105684444B (zh) 2019-04-23
CN105684444A (zh) 2016-06-15
JP6297710B2 (ja) 2018-03-20
WO2015057685A1 (en) 2015-04-23
JP2016533697A (ja) 2016-10-27
US20150103905A1 (en) 2015-04-16
HUE045515T2 (hu) 2019-12-30
EP3058732A1 (en) 2016-08-24
EP3058732B1 (en) 2019-07-10
ES2749747T3 (es) 2020-03-23
BR112016008240B1 (pt) 2023-04-11
KR101841858B1 (ko) 2018-03-23

Similar Documents

Publication Publication Date Title
JP6914951B2 (ja) ビデオコーディングのための固定フィルタからのフィルタ係数を予測すること
CN109792538B (zh) 用于对视频数据进行译码的方法和装置
CN107660341B (zh) 用于解码视频数据的方法、装置和设备及存储媒体
KR101574866B1 (ko) 비디오 코딩을 위한 모션 벡터 예측의 수행
JP5989794B2 (ja) 適応型重複ブロック動き補償
JP6266605B2 (ja) 映像コーディングにおけるロスレスコーディングモード及びパルスコード変調(pcm)モードのシグナリングの統一
JP6158422B2 (ja) アラインされていないirapピクチャを含み得るマルチレイヤビットストリームのクロスレイヤpocアラインメント
JP2018110425A (ja) ビデオコード化における低遅延バッファリングモデル
KR101870546B1 (ko) 서브-레이어 참조 예측 종속성에 기초한 인터-레이어 rps 도출을 위한 시스템들 및 방법들
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP2018530962A (ja) ビデオコーディングのためのパレット予測子初期化およびマージ
JP2019519141A (ja) フィルタ処理情報のシグナリング
JP2017513326A (ja) ピクセル距離を使用したデブロックフィルタ処理
WO2015006662A2 (en) Adaptive filtering in video coding
KR102221569B1 (ko) 멀티-계층 비디오 코딩에서의 크로스 계층 픽처 타입 정렬의 표시
JP2014534733A (ja) ビデオコード化のデブロッキングフィルタリングのための境界強度値の決定
JP2014513456A (ja) ランダムアクセスの後に従属ピクチャをコード化するためのビデオコード化技法
KR20150140729A (ko) 비트 심도에 기초한 샘플 적응형 오프셋 스케일링
KR101841858B1 (ko) 서브-계층 기반 계층간 예측에 대한 의존성들을 별도로 정의하기 위한 시스템들 및 방법들
JP2017512025A (ja) ビデオコーディングにおけるフリッカー検出および軽減

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant