KR101841858B1 - Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction - Google Patents
Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction Download PDFInfo
- Publication number
- KR101841858B1 KR101841858B1 KR1020167012573A KR20167012573A KR101841858B1 KR 101841858 B1 KR101841858 B1 KR 101841858B1 KR 1020167012573 A KR1020167012573 A KR 1020167012573A KR 20167012573 A KR20167012573 A KR 20167012573A KR 101841858 B1 KR101841858 B1 KR 101841858B1
- Authority
- KR
- South Korea
- Prior art keywords
- layer
- pictures
- tid
- enhancement
- inter
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 정의 및 표시하기 위한 시스템들 및 방법들이 본 명세서에서 설명된다. 본 개시에서 설명된 청구물의 일 양태는 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하도록 구성된 메모리 유닛을 포함하는 비디오 인코더를 제공한다. 비디오 인코더는 메모리 유닛과 통신하는 프로세서를 더 포함한다. 프로세서는, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시하는 별도의 표시를 인핸스먼트 계층들 각각에 대해 제공하도록 구성된다.Systems and methods for separately defining and indicating inter-layer predictive dependencies for a first layer with respect to each of a plurality of enhancement layers associated with a first layer are described herein. One aspect of the claimed subject matter provides a video encoder including a memory unit configured to store enhancement layer pictures associated with a first picture and a plurality of enhancement layers associated with a first layer. The video encoder further includes a processor in communication with the memory unit. The processor is configured to provide, for each enhancement layer, a separate indication that indicates whether the first picture can be used for inter-layer prediction of an enhancement layer picture in a respective enhancement layer.
Description
본 개시는 스케일러블 비디오 코딩 (SVC) 의 분야에 관련된다. 더 상세하게는, 본 개시는 HEVC 기반 SVC (HEVC-SVC) 및 HEVC 확장들에 관련된다.This disclosure relates to the field of scalable video coding (SVC). More particularly, this disclosure relates to HEVC-based SVC (HEVC-SVC) and HEVC extensions.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인용 디지털 보조기들 (PDA들), 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, e-북 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 소위 "스마트 폰들", 비디오 텔레컨퍼런싱 디바이스들, 비디오 스트리밍 디바이스들 등을 포함한, 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 하기에서 설명되는 바와 같은 다양한 비디오 코딩 표준들 (예를 들어, 고효율 비디오 코딩 (HEVC)) 에서 설명된 기법들과 같은 비디오 압축 기법들을 구현한다. 비디오 디바이스들은 그러한 비디오 압축 기법들을 구현함으로써 디지털 비디오 정보를 더 효율적으로 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.Digital video capabilities include digital televisions, digital direct broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, e-book readers, digital cameras, A wide variety of devices, including digital recording devices, digital media players, video gaming devices, video game consoles, cellular or satellite radiotelephones, so-called "smart phones," video teleconferencing devices, video streaming devices, Lt; / RTI > Digital video devices implement video compression techniques such as those described in various video coding standards (e.g., High Efficiency Video Coding (HEVC)) as described below. Video devices may more efficiently transmit, receive, encode, decode, and / or store digital video information by implementing such video compression techniques.
비디오 인코더로 하여금 제 1 계층과 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각과의 사이의 계층간 예측 의존성의 별도의 독립적인 표시들을 제공하게 하는 것이 유익할 것이다. 그러한 별도의 독립적인 표시들은, 예를 들어, 실시간 어플리케이션 시나리오들에 있어서 다수의 코딩 시나리오들에서의 코딩 성능을 개선시킬 수도 있다 (예를 들어, 리소스 트레이드오프 유연성들을 제공함).It would be advantageous to have the video encoder provide separate independent indications of inter-layer predictive dependencies between the first layer and each of the plurality of enhancement layers associated with the first layer. Such separate, independent indications may, for example, improve coding performance in multiple coding scenarios in real-time application scenarios (e.g., providing resource trade-off flexibility).
따라서, 제 1 계층에서의 픽처들 및/또는 관련 인핸스먼트 계층에서의 픽처들의 특정 특성들에 관련된 표시들 및/또는 결정들을 사용하여 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 정의 및 표시하기 위한 기법들이 본 명세서에서 설명된다. 예를 들어, 본 개시는 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 정의, 표시, 및/또는 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 정의, 표시, 및/또는 결정하기 위한 기법들을 설명한다. 본 개시에서 설명된 기법들의 이점들은, 다른 이점들 중에서, 계층간 예측 동안 메모리 할당을 감소시키는 것 및 특정 코딩 시나리오들에서의 리소스 트레이드오프 유연성을 허용하는 것, 예컨대, 일 계층에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 구현하면서 다른 계층에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 구현하는 것을 포함할 수도 있다.Thus, with respect to each of the plurality of enhancement layers associated with the first layer using indications and / or decisions related to the specific characteristics of the pictures in the first layer and / or the pictures in the related enhancement layer, Techniques for separately defining and displaying inter-layer predictive dependencies for layers are described herein. For example, the present disclosure may define, display, and / or determine whether pictures in a first layer can be used for inter-layer prediction of a first enhancement layer, Techniques for separately defining, displaying, and / or determining whether or not a layer can be used for inter-layer prediction of layers. Advantages of the techniques described in this disclosure include, among other advantages, reducing memory allocation during inter-layer prediction and allowing resource trade-off flexibility in certain coding scenarios, e.g., lightweight decoding (E. G., Multi-loop decoding) for the other layer while implementing a single loop decoding (e. G., Single loop decoding).
본 개시의 시스템들, 방법들 및 디바이스들 각각은 수개의 혁신적 양태들을 가지며, 이들 양태들 중 어떠한 단일 양태도 본 명세서에 개시된 바람직한 속성들을 유일하게 책임지지 않는다. 하나 이상의 예들의 상세들이 첨부 도면들 및 하기의 설명에 개시된다. 다른 특징들, 목적들, 및 이점들은 그 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.Each of the systems, methods, and devices of this disclosure has several innovative aspects, and none of these aspects are solely responsible for the desired attributes disclosed herein. The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
본 개시에서 설명된 청구물의 일 양태는 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하도록 구성된 메모리 유닛을 포함하는 비디오 인코더를 제공한다. 비디오 인코더는 메모리 유닛과 통신하는 프로세서를 더 포함한다. 프로세서는, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시하는 별도의 표시를 인핸스먼트 계층들 각각에 대해 제공하도록 구성된다.One aspect of the claimed subject matter provides a video encoder including a memory unit configured to store enhancement layer pictures associated with a first picture and a plurality of enhancement layers associated with a first layer. The video encoder further includes a processor in communication with the memory unit. The processor is configured to provide, for each enhancement layer, a separate indication that indicates whether the first picture can be used for inter-layer prediction of an enhancement layer picture in a respective enhancement layer.
본 개시에서 설명된 청구물의 다른 양태는 비디오를 인코딩하는 방법을 제공한다. 그 방법은 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하는 단계를 포함한다. 그 방법은, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시하는 별도의 표시를 인핸스먼트 계층들 각각에 대해 제공하는 단계를 더 포함한다.Another aspect of the claims described in this disclosure provides a method of encoding video. The method includes storing a first picture associated with a first layer and enhancement layer pictures associated with a plurality of enhancement layers. The method further includes providing, for each enhancement layer, a separate indication that indicates whether the first picture can be used for inter-layer prediction of an enhancement layer picture in a respective enhancement layer.
본 개시에서 설명된 청구물의 다른 양태는 메모리 유닛을 포함하는 비디오 디코더를 제공한다. 메모리 유닛은 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 픽처들을 저장하도록 구성된다. 비디오 디코더는 메모리 유닛과 통신하는 프로세서를 더 포함한다. 프로세서는, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를, 개별 표시에 기초하여 인핸스먼트 계층들 각각에 대해 별도로 결정하도록 구성된다.Another aspect of the claimed invention provides a video decoder including a memory unit. The memory unit is configured to store a first picture associated with the first layer and enhancement pictures associated with the plurality of enhancement layers. The video decoder further includes a processor in communication with the memory unit. The processor is configured to separately determine for each enhancement layer based on the individual indication whether the first picture can be used for inter-layer prediction of an enhancement layer picture in a respective enhancement layer.
본 개시에서 설명된 청구물의 다른 양태는 비디오를 디코딩하기 위한 방법을 제공한다. 그 방법은 제 1 계층과 연관된 제 1 픽처 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하는 단계를 포함한다. 그 방법은, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를, 개별 표시에 기초하여 인핸스먼트 계층들 각각에 대해 별도로 결정하는 단계를 더 포함한다.Another aspect of the claims described in this disclosure provides a method for decoding video. The method includes storing a first picture associated with a first layer and enhancement layer pictures associated with a plurality of enhancement layers. The method further includes determining separately for each enhancement layer based on the individual indication whether the first picture can be used for inter-layer prediction of an enhancement layer picture in a respective enhancement layer .
도 1a 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 활용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 도시한 블록 다이어그램이다.
도 1b 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 수행할 수도 있는 다른 예시적인 비디오 인코딩 및 디코딩 시스템을 도시한 블록 다이어그램이다.
도 2 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 구현할 수도 있는 예시적인 비디오 인코더를 도시한 블록 다이어그램이다.
도 3 은 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 구현할 수도 있는 예시적인 비디오 디코더를 도시한 블록 다이어그램이다.
도 4 는, 각각의 계층이 다중의 픽처들을 갖는 다중의 계층들을 각각의 액세스 유닛이 갖는 다중의 액세스 유닛들의 예들을 도시한 다이어그램이다.
도 5 는, 하나 이상의 제 2 계층들에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 표시하기 위한 비디오 인코더의 프로세서에 대한 일 방법의 플로우차트를 도시한다.
도 6 은, 제 1 계층과 하나 이상의 제 2 계층들 간의 계층간 예측 의존성들을 별도로 결정하기 위한 비디오 디코더의 프로세서에 대한 일 방법의 플로우차트를 도시한다.
도 7 은 비디오 정보를 인코딩하는 방법의 다른 실시형태를 도시한다.1A is a block diagram illustrating an exemplary video encoding and decoding system that may utilize the separate inter-layer predictive dependency definition techniques described in this disclosure.
1B is a block diagram illustrating another exemplary video encoding and decoding system that may perform separate inter-layer predictive dependency definition techniques described in this disclosure.
2 is a block diagram illustrating an exemplary video encoder that may implement the separate inter-layer predictive dependency definition techniques described in this disclosure.
3 is a block diagram illustrating an exemplary video decoder that may implement the separate inter-layer predictive dependency definition techniques described in this disclosure.
Figure 4 is a diagram illustrating examples of multiple access units, with each access unit having multiple layers, each layer having multiple pictures.
Figure 5 shows a flowchart of a method for a processor of a video encoder for separately indicating inter-layer prediction dependencies for a first layer with respect to one or more second layers.
6 shows a flowchart of a method for a processor of a video decoder for separately determining inter-layer predictive dependencies between a first layer and one or more second layers.
Figure 7 shows another embodiment of a method of encoding video information.
첨부된 도면들과 관련하여 하기에 기재된 상세한 설명은 본 발명의 예시적인 실시형태들의 설명으로서 의도되고, 본 발명이 실시될 수도 있는 유일한 실시형태들만을 나타내도록 의도되지는 않는다. 이 설명 전반에 걸쳐 사용된 용어 "예시적인" 은 "예, 예증, 또는 예시로서 기능하는" 을 의미하며, 다른 예시적인 실시형태들에 비해 반드시 선호되거나 유리한 것으로서 해석되지는 않아야 한다. 상세한 설명은 본 발명의 예시적인 실시형태들의 철저한 이해를 제공할 목적으로 특정 상세들을 포함한다. 다른 경우들에 있어서, 일부 디바이스들은 블록 다이어그램 형태로 도시된다.The following detailed description in conjunction with the accompanying drawings is intended as a description of exemplary embodiments of the invention and is not intended to represent only the singular embodiments in which the invention may be practiced. The word "exemplary " used throughout this description means" serving as an example, instance, or illustration ", and should not necessarily be construed as preferred or advantageous over other exemplary embodiments. The detailed description includes specific details for the purpose of providing a thorough understanding of the exemplary embodiments of the invention. In other cases, some devices are shown in block diagram form.
설명의 단순화의 목적으로, 방법들이 일련의 동작들로서 도시 및 설명되지만, 일부 동작들은, 하나 이상의 양태들에 따라, 본 명세서에서 도시 및 설명된 것과는 상이한 순서들로 발생할 수도 있고/있거나 다른 동작들과 동시에 발생할 수도 있기 때문에, 방법들은 동작들의 순서에 의해 한정되지 않음을 이해 및 인식해야 한다. 예를 들어, 당업자는, 방법이 상태 다이어그램에서와 같이 일련의 상호관련된 상태들 또는 이벤트들로서 대안적으로 표현될 수 있음을 이해 및 인식할 것이다. 더욱이, 모든 도시된 동작들이 하나 이상의 양태들에 따라 방법을 구현하는데 요구되는 것은 아닐 수도 있다.Although, for purposes of simplicity of explanation, the methods are shown and described as a series of acts, some acts may occur in different orders and / or different actions from those shown and described herein, in accordance with one or more aspects It should be understood and appreciated that the methods are not limited by the order of acts. For example, those skilled in the art will understand and appreciate that a method may alternatively be represented as a series of interrelated states or events as in a state diagram. Moreover, not all illustrated acts may be required to implement a method in accordance with one or more aspects.
비디오 코딩 표준들은 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 로부터 입수가능하다.Video coding standards are based on ITU-T H.261, ISO / IEC MPEG-1 Visual, ITU-T H.262 or ISO / IEC MPEG-2 Visual, ISO / IEC MPEG-4 Visual, ITU-T H.263, ISO / IEC MPEG-4 Visual and ITU-T H.264 (also known as ISO / IEC MPEG-4 AVC), including its scalable video coding (SVC) and multi- view video coding (MVC) Part 10, Standards Defined by Advanced Video Coding (AVC), High Efficiency Video Coding (HEVC) Standards Currently in Development, and Extensions to Such Standards. HEVC was recently developed by Joint Collaboration Team on Video Coding (JCT-VC) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Motion Picture Experts Group (MPEG). The latest HEVC draft specification ("HEVC WD") is available from http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip. A multi-view extension (MV-HEVC) and an advanced HEVC 3D video coding extension (3D-HEVC) for HEVC are being developed by JCT-3V. Moreover, a scalable video coding extension (SHVC) for HEVC is being developed by JCT-VC. A recent working draft of MV-HEVC ("MV-HEVC WD5") is available from http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zip. The latest working draft of 3D-HEVC ("3D-HEVC WD1") is available from http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1001-v3.zip. Moreover, a recent working draft of SHVC ("SHVC WD3") is available from 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 계층에서의 픽처들을 사용할 수 있는지 여부 및 그 범위를 결정하게 할 수도 있다.As described above, certain aspects of video coding include defining whether the pictures in the first layer may be used for inter-layer prediction of pictures in both enhancement layers associated with the first layer. For example, the video sequence may comprise access units, and each of the access units may comprise one or more pictures. Each access unit may additionally be associated with one or more layers of video information (e.g., a base layer and one or more enhancement layers). The layers may each be associated with a set of layer identification (ID) or may be the same as one value (e.g., an integer value). A given layer may be referred to as being "up" or "down" to a different layer when a given layer is associated with a layer identification (ID) lower than a layer identification (ID) associated with a different layer. Conversely, a given layer may be referred to as being "following" or "above" a different layer when a given layer is associated with a layer identification (ID) that is higher than a layer identification . For example, a given layer (e.g., one of more than one enhancement layers) may be an enhancement layer for a layer that precedes a given layer, such as a base layer or any preceding enhancement layer . For example, a video encoder may analyze pictures in the first layer to indicate to the video decoder whether first layer pictures can be used for inter-layer prediction of enhancement layers associated with the first layer . In some cases, if the video encoder indicates that the first layer pictures can be used for inter-layer prediction of enhancement layers associated with the first layer, the video encoder also determines whether the pictures in the first layer And to what extent it can be used for inter-layer prediction of the enhancement layers associated with it. For example, the video encoder may determine that the value is smaller than a threshold (e.g., a time identification threshold (e.g., "TID threshold value", "maximum TID", or "Max TID" May indicate that only those pictures associated with a parameter (e.g., a time identification value (TID) or a "TID value") may be used for inter-layer prediction of enhancement layers associated with the first layer. For example, at the Video Parameter Set (VPS) level, a video encoder may display an indication to the video decoder to indicate whether pictures from the first layer may be used for inter-layer prediction of enhancement layers associated with the first layer For example, a syntax element and / or flag set to 0 or 1). The video encoder may then include an additional indication (e.g., an indicator) to indicate to the video decoder that the pictures in the first layer, as described above, may be used for inter-layer prediction of enhancement layers associated with the first layer A syntax element, a flag, and / or a variable that may be set to a value). By providing such indications (e.g., setting specific flags and variables), the video encoder may cause the video decoder to perform a hierarchical prediction of the pictures in both the enhancement layers associated with the first layer Lt; RTI ID = 0.0 > and / or < / RTI >
예를 들어, 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] 계층에서의 픽처들이 임의의 인핸스먼트 계층들에 대한 계층간 예측을 위해 사용되지 않을 것임을 결정할 수 있다. 비디오 디코더는 이 정보를 이용하여, 계층간 예측을 위해 사용되지 않는 그 픽처들을 폐기할 수 있다 (예를 들어, 버퍼로부터 제거함).For example, the recent working drafts of MV-HEVC WD5 and SHVC WD3 specify that the following semantics: "max_tid_ref_present_flag equal to 1 specifies that the syntax element max_tid_il_ref_pics_plus1 [i] exists" max_tid_ref_present_flag equal to 0 is the syntax element max_tid_il_ref_pics_plus1 [i] is not present. " Gt; max_tid_ref_present_flag < / RTI > Furthermore, the recent working drafts of MV-HEVC WD5 and SHVC WD3 have the following semantics: max_tid_il_ref_pics_plus1 [i] equal to 0 means that non-IRAP pictures with nuh_layer_id equal to layer_id_in_nuh [i] Max_tid_il_ref_pics_plus1 [i], which is greater than 0, specifies that the pictures with TemporalId greater than nuh_layer_id and max_tid_il_ref_pics_plus1 [i] - 1 equal to layer_id_in_nuh [i] in the CVS are not used as references for interlayer prediction If not present, max_tid_il_ref_pics_plus1 [i] is inferred to be equal to 7. " And a flag max_tid_il_ref_pics_plus1 in the video parameter set (VPS) having For example, the video encoder may signal max_tid_ref_present_flag to indicate that max_tid_il_ref_pics_plus1 [i] is present. If so, the video encoder determines whether the pictures belonging to the time sub-layer (e.g., [i]) are used for inter-layer prediction by higher layer pictures (e.g., in enhancement layers) Or may signal max_tid_il_re_ref_pics_plus1 [i] at the VPS level (e.g., in a bitstream that can be stored and / or processed by the video decoder) to indicate whether or not it is a video decoder. For example, if the video encoder sets max_tid_il_ref_pics_plus1 [i] equal to a value of "0 " and signals it to the video decoder, the video decoder determines that the pictures in the [i] Can not be used for inter prediction. As another example, if the video encoder sets max_tid_il_ref_pics_plus1 [i] equal to a value (e.g., X) that is greater than "0, " It can be determined that the pictures will not be used for inter-layer prediction for any enhancement layers. The video decoder may use this information to discard (e.g., remove from the buffer) those pictures that are not used for inter-layer prediction.
max_tid_ref_present_flag 및 max_tid_il_ref_pics_plus1 [ i ] 를 상기 설명된 방식으로 사용함으로써, HEVC 다중 계층 확장들에 있어서의 코딩 효율, 메모리 대역폭, 및 계산 복잡도 간의 일부 트레이드오프들이 다양한 시나리오들에서 달성될 수 있다. 예를 들어, 제 1 계층에서의 픽처들이 임의의 다른 상위 계층들에 대해 사용되지 않을 것임이 결정될 경우, 그 픽처들은 메모리를 절약하기 위해 폐기될 수 있다.By using max_tid_ref_present_flag and max_tid_il_ref_pics_plus1 [i] in the manner described above, some tradeoffs between coding efficiency, memory bandwidth, and computational complexity in HEVC multi-layer extensions can be achieved in various scenarios. For example, if it is determined that pictures in the first layer will not be used for any other higher layers, those pictures may be discarded to conserve memory.
하지만, 현재의 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 에서의 픽처들 모두는 이 예에 있어서 상위 계층들에 대한 계층간 레퍼런스로서 사용될 수 있다.However, current HEVC expansion designs have certain disadvantages. For example, current signaling based on max_tid_il_ref_pics_plus1 as described above requires that inter-layer prediction for pictures belonging to the time sub-layer be enabled or disabled for pictures of all upper layers do. For example, if max_tid_il_ref_pics_plus1 [i] is set to a value of "2" for the first layer (eg, [i] = "0" or "
하지만, 현재의 HEVC 사양들 하에서, 예를 들어, 특정 TID 값 (예를 들어, "2" 의 값) 과 연관되는 제 1 계층 (예를 들어, 계층 0) 에서의 픽처들은 일 계층 (예를 들어, 계층 1) 에 대한 (예를 들어, 계층간 예측을 위한) 계층간 레퍼런스로서 사용될 수 없지만 상이한 계층 (예를 들어, 계층 2) 에 대한 계층간 레퍼런스로서 사용될 수도 있음을 표시하는 것이 가능하지 않다. 이들 제한들은, 그렇지 않으면 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 사용하여 디코딩하기에 유익할 수도 있는 픽처들에 대한 불필요한 디코딩 복잡도 요건들 (예를 들어, 다중 루프 디코딩을 요구함) 을 생성한다. 예를 들어, 임의의 소정 계층 아래의 계층들의 수가 증가함에 따라, 그 소정의 계층을 디코딩하는 복잡도는 증가할 수도 있다 (예를 들어, 계층 2 를 디코딩하기 위해, 일부 경우들에 있어서 계층 1 및 계층 0 을 디코딩하는 것이 필요할 수도 있음). 코딩 단순화가 픽처 품질보다 더 높은 우선순위를 갖는 특정 경우들에 있어서, 예를 들어, 계층 1 또는 계층 0 중 하나 이상을 디코딩하는 것없이 계층 2 를 디코딩하는 것이 더 유익할 수도 있다. 따라서, 비디오 인코더로 하여금 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성의 별도의 독립적인 정의들을 제공하게 하는 것이 유익할 것이다. 그러한 구성들은, 예를 들어, 실시간 어플리케이션 시나리오들에 있어서 다수의 코딩 시나리오들에서 유익할 수도 있다 (예를 들어, 리소스 트레이드오프 유연성들을 제공함).However, under current HEVC specifications, pictures at the first layer (e.g., layer 0) associated with a particular TID value (e.g., a value of "2 & For example, it is possible to indicate that it can not be used as an inter-layer reference (e.g., for inter-layer prediction) for
따라서, 본 개시는, 제 1 계층에서의 픽처들 및/또는 관련 인핸스먼트 계층에서의 픽처들의 특정 특성들에 관련된 표시들 및/또는 결정들을 사용하여 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 정의 (종종, 독립적으로 정의하는 것으로서도 지칭됨) 하기 위한 기법들을 설명한다. 예를 들어, 본 개시는 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 정의, 표시, 및/또는 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 정의, 표시, 및/또는 결정하기 위한 기법들을 설명한다. 부가적으로, 인코더는, 픽처들 (예를 들어, TID 임계치 값보다 큰 TID 값과 연관되는 픽처들) 이 일 계층에 대한 계층간 예측을 위해 사용되지 않지만 다른 계층에 대한 계층간 예측을 위해 사용될 수도 있음을 표시하도록 적응될 수도 있다. 상기 설명된 예들 이후, 본 개시는, 예를 들어, 계층 0 에서의 픽처들 중 하나 이상의 픽처들이 계층 1 에서의 픽처들의 계층간 예측을 위해 사용되는 것을 제한하면서 계층 0 에서의 픽처들 중 임의의 픽처가 계층 2 에서의 픽처들의 계층간 예측을 위해 사용되는 것을 제한하지 않기 위한 기법들을 설명한다. 그러한 실시형태들은 계층 1 에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 및 계층 2 에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 갖기 위한 유연성을 제공한다. 다른 예들에 있어서, 하기에서 설명되는 바와 같은 도 4 내지 도 6 과 관련하여 설명되는 바와 같이, 계층 0 에서의 픽처들에게는, 계층 1, 계층 2 및/또는 임의의 다른 계층에 대한 계층간 예측에서 상이한 방식들로 사용되는 것이 제한되거나 제한되지 않을 수도 있다.Thus, the present disclosure is directed to a method and apparatus for generating a plurality of enhancement layers associated with a first layer using indications and / or decisions related to specific features of pictures in a first layer and / or pictures in a related enhancement layer Techniques for separately defining (often also referred to as defining independently) the inter-layer predictive dependencies for the first layer with respect to the first layer. For example, the present disclosure may define, display, and / or determine whether pictures in a first layer can be used for inter-layer prediction of a first enhancement layer, Techniques for separately defining, displaying, and / or determining whether or not a layer can be used for inter-layer prediction of layers. Additionally, the encoder may be configured such that the pictures (e.g., those associated with TID values greater than the TID threshold value) are not used for inter-layer prediction for one layer but are used for inter- But may also be adapted to indicate the possibility. After the above-described examples, the present disclosure is based on the assumption that, for example, one or more of the pictures at
따라서, 본 명세서에서 설명된 기술들은 모든 직접 의존적 계층들에 대한 서브-계층 계층간 예측 의존성을 별도로 시그널링하는 것과 관련된 그 방법들과 같은 계층간 예측 의존성 시그널링 방법들을 개선하기 위한 다양한 방법들을 포함할 수도 있다. 예를 들어, 개선된 방법들은, 예컨대, HEVC 확장들에 통합되고, 스케일러블 코딩, 멀티뷰 코딩 (예를 들어, 심도가 있거나 또는 없음), 및 HEVC 의 임의의 다른 확장 및/또는 다른 멀티-계층 비디오 코덱들에 적용될 수도 있다. 설명된 방법들 중 임의의 방법이 서로 독립적으로 또는 조합하여 적용될 수도 있다.Accordingly, the techniques described herein may include various methods for improving inter-layer predictive dependency signaling methods, such as those methods related to separately signaling sub-layer inter-layer predictive dependencies for all directly dependent layers have. For example, the improved methods may include, for example, integrating into HEVC extensions, scalable coding, multi-view coding (e.g., with or without depth), and any other expansion of the HEVC and / Layer video codecs. Any of the methods described may be applied independently or in combination with each other.
본 개시에서 설명된 기법들의 이점들은, 다른 이점들 중에서, 계층간 예측 동안 메모리 할당을 감소시키는 것을 포함할 수도 있다. MV-HEVC WD5 및 SHVC WD3 에서의 현재의 방법들과 비교할 때, 본 개시에서 설명된 기법들은 또한, 상기 설명된 바와 같이, 일 계층에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 구현하면서 다른 계층에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 구현하는 것과 같이, 특정 코딩 시나리오들에서의 리소스 트레이드오프 유연성을 허용할 수도 있다.Advantages of the techniques described in this disclosure may include, among other benefits, reducing memory allocation during inter-layer prediction. Compared to current methods in MV-HEVC WD5 and SHVC WD3, the techniques described in this disclosure also implement lightweight decoding (e.g., single loop decoding) for one layer, as described above And allow resource trade-off flexibility in certain coding scenarios, such as implementing high-quality decoding (e.g., multiple-loop decoding) for other layers.
도 1a 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 활용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 도시한 블록 다이어그램이다. 도 1a 에 도시된 바와 같이, 시스템 (10) 은, 목적지 모듈 (14) 에 의해 더 나중 시간에 디코딩될 인코딩된 비디오 데이터를 생성하는 소스 모듈 (12) 을 포함한다. 도 1a 의 예에 있어서, 소스 모듈 (12) 및 목적지 모듈 (14) 은 별도의 디바이스들 상에 있으며, 구체적으로, 소스 모듈 (12) 은 소스 모듈의 부분이고 목적지 모듈 (14) 은 목적지 디바이스의 부분이다. 하지만, 소스 및 목적지 모듈들 (12, 14) 은, 도 1b 의 예에 도시된 바와 같이, 동일한 디바이스 상에 있거나 그 부분일 수도 있다.FIG. 1A is a block diagram illustrating an exemplary video encoding and
도 1a 를 다시 참조하면, 소스 모듈 (12) 및 목적지 모듈 (14) 은 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑 박스들, 소위 "스마트" 폰들과 같은 전화기 핸드셋들, 소위 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함한 광범위한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 일부 경우들에 있어서, 소스 모듈 (12) 및 목적지 모듈 (14) 은 무선 통신을 위해 장비될 수도 있다.1A, the
목적지 모듈 (14) 은 디코딩될 인코딩된 비디오 데이터를 링크 (16) 를 통해 수신할 수도 있다. 링크 (16) 는 인코딩된 비디오 데이터를 소스 모듈 (12) 로부터 목적지 모듈 (14) 로 이동 가능한 임의의 타입의 매체 또는 디바이스를 포함할 수도 있다. 도 1a 의 예에 있어서, 링크 (16) 는, 소스 모듈 (12) 로 하여금 인코딩된 비디오 데이터를 직접 목적지 모듈 (14) 로 실시간으로 송신할 수 있게 하는 통신 매체를 포함할 수도 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 목적지 모듈 (14) 로 송신될 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷 기반 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 모듈 (12) 로부터 목적지 모듈 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.The
대안적으로, 인코딩된 데이터는 출력 인터페이스 (22) 로부터 옵션적인 저장 디바이스 (31) 로 출력될 수도 있다. 유사하게, 인코딩된 데이터는 입력 인터페이스에 의해 저장 디바이스 (31) 로부터 액세스될 수도 있다. 저장 디바이스 (31) 는 하드 드라이브, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산된 또는 국부적으로 액세스된 데이터 저장 매체들 중 임의의 데이터 저장 매체를 포함할 수도 있다. 추가의 예에 있어서, 저장 디바이스 (31) 는, 소스 모듈 (12) 에 의해 생성된 인코딩된 비디오를 유지할 수도 있는 파일 서버 또는 다른 중간 저장 디바이스에 대응할 수도 있다. 목적지 모듈 (14) 은 저장 디바이스 (31) 로부터의 저장된 비디오 데이터에 스트리밍 또는 다운로드를 통해 액세스할 수도 있다. 파일 서버는, 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 모듈 (14) 로 송신하는 것이 가능한 임의의 타입의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버 (예를 들어, 웹 사이트용), FTP 서버, 네트워크 접속형 저장 (NAS) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 모듈 (14) 은 인코딩된 비디오 데이터에, 인터넷 커넥션을 포함한 임의의 표준 데이터 커넥션을 통해 액세스할 수도 있다. 이는 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하기에 적합한 무선 채널 (예를 들어, Wi-Fi 커넥션), 유선 커넥션 (예를 들어, DSL, 케이블 모뎀 등), 또는 이들 양자의 조합을 포함할 수도 있다. 인코딩된 비디오 데이터의 저장 디바이스 (31) 로부터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들 양자의 조합일 수도 있다.Alternatively, the encoded data may be output from the
도 1a 의 예에 있어서, 소스 모듈 (12) 은 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 일부 경우들에 있어서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함할 수도 있다. 소스 모듈 (12) 에 있어서, 비디오 소스 (18) 는 비디오 캡쳐 디바이스, 예를 들어, 비디오 카메라, 사전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스, 및/또는 컴퓨터 그래픽스 데이터를 소스 비디오로서 생성하기 위한 컴퓨터 그래픽스 시스템과 같은 소스, 또는 그러한 소스들의 조합을 포함할 수도 있다. 일 예로서, 도 1b 의 예에 도시된 바와 같이, 비디오 소스 (18) 가 비디오 카메라이면, 소스 모듈 (12) 및 목적지 모듈 (14) 은 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 하지만, 본 개시에서 설명된 기법들은 일반적으로 비디오 코딩에 적용가능할 수도 있으며, 무선 및/또는 유선 어플리케이션들에 적용될 수도 있다.1A, the
캡쳐되거나 사전-캡쳐되거나 또는 컴퓨터 생성된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 데이터는 소스 모듈 (12) 의 출력 인터페이스 (22) 를 통해 목적지 모듈 (14) 로 직접 송신될 수도 있다. 인코딩된 비디오 데이터는 또한 (또는 대안적으로), 디코딩 및/또는 플레이백을 위한 목적지 모듈 (14) 또는 다른 디바이스들에 의한 더 나중의 액세스를 위해 저장 디바이스 (31) 상으로 저장될 수도 있다.The captured, pre-captured, or computer generated video may be encoded by
목적지 모듈 (14) 은 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 일부 경우들에 있어서, 입력 인터페이스 (28) 는 수신기 및/또는 모뎀을 포함할 수도 있다. 목적지 모듈 (14) 의 입력 인터페이스 (28) 는 인코딩된 비디오 데이터를 링크 (16) 상으로 수신할 수도 있다. 링크 (16) 상으로 통신되는 또는 저장 디바이스 (31) 상에 제공되는 인코딩된 비디오 데이터는, 비디오 데이터를 디코딩함에 있어서 비디오 디코더 (30) 와 같은 비디오 디코더에 의한 사용을 위해 비디오 인코더 (20) 에 의해 생성된 다양한 신택스 엘리먼트들을 포함할 수도 있다. 그러한 신택스 엘리먼트들에게는, 통신 매체 상으로 송신되거나 저장 매체 상에 저장되거나 또는 파일 서버에 저장되는 인코딩된 비디오 데이터가 포함될 수도 있다.The
디스플레이 디바이스 (32) 는 목적지 모듈 (14) 과 통합되거나 그 외부에 있을 수도 있다. 일부 예들에 있어서, 목적지 모듈 (14) 은 통합된 디스플레이 디바이스를 포함할 수도 있고, 또한, 외부 디스플레이 디바이스와 인터페이싱하도록 구성될 수도 있다. 다른 예들에 있어서, 목적지 모듈 (14) 은 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하며, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 디바이스를 포함할 수도 있다.The
관련 양태들에 있어서, 도 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) 및 그 컴포넌트들과 유사하다.1B illustrates an exemplary video encoding and decoding system 10 'in which the source and
하기에서 더 상세히 설명되는 바와 같이, 본 개시의 양태들은 일반적으로, 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 정의하는 것과 관련된다. 예를 들어, 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 정의, 표시, 및/또는 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 정의, 표시, 및/또는 결정하는 것. 본 개시의 기법들은 비디오 인코더 (20), 비디오 디코더 (30), 및/또는 프로세서/제어기 모듈 (13) 에 의해 수행될 수도 있다.As will be described in greater detail below, aspects of the present disclosure generally relate to separately defining inter-layer predictive dependencies for a first layer with respect to each of a plurality of enhancement layers associated with a first layer. For example, it is possible to define, display, and / or determine whether pictures in the first layer can be used for inter-layer prediction of the first enhancement layer, Separately defining, displaying, and / or determining whether or not it can be used for inter prediction. The techniques of the present disclosure may be performed by
일 예에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 HEVC 등을 포함한 비디오 압축 표준들에 따라 동작할 수도 있다. 다른 예에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 MPEG-4, 파트 10, 어드밴스드 비디오 코딩 (AVC) 으로서 대안적으로 지칭되는 ITU-T H.264 표준과 같은 다른 전매특허 또는 산업 표준들, 또는 그러한 표준들의 확장들에 따라 동작할 수도 있다. 비디오 압축 표준들의 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다. 하지만, 본 개시의 기법들은 임의의 특정 코딩 표준 또는 기법에 한정되지 않는다.In one example,
도 1a 및 도 1b 에 도시되지 않지만, 일부 양태들에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있으며, 오디오 및 비디오 양자의 인코딩을 공통 데이터 스트림 또는 별도의 데이터 스트림들로 핸들링하기 위해 적절한 MUX-DEMUX 유닛들 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하다면, 일부 예들에 있어서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 부합할 수도 있다.Although not shown in FIGS. 1A and 1B, in some aspects,
비디오 인코더 (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개 만큼 많은 인트라-예측 인코딩 모드들을 제공할 수도 있다.JCT-VC is working on the development of the HEVC standard. HEVC standardization efforts are based on an evolving model of a video coding device referred to as the HEVC test model (HM). HM assumes several additional capabilities of video coding devices, for example, with respect to existing devices according to ITU-T H.264 / AVC. For example, H.264 provides nine intra-prediction encoding modes, but HM may provide as many as 33 intra-prediction encoding modes.
일반적으로, HM 의 작업 모델은, 비디오 프레임 또는 픽처가 루마 및 크로마 샘플들 양자를 포함하는, 최대 코딩 유닛들 (LCU들) 로서 또한 지칭되는 코딩 크리 유닛들 (CTU들) 의 시퀀스로 분할될 수도 있음을 설명한다. 트리블록은 H.264 표준의 매크로블록과 유사한 목적을 갖는다. 슬라이스는 코딩 순서에 있어서의 다수의 연속적인 트리블록들을 포함한다. 비디오 프레임 또는 픽처는 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각각의 트리블록은 쿼드트리에 따라 코딩 유닛들 (CU들) 로 분할될 수도 있다. 예를 들어, 쿼드트리의 루트 노드로서 트리블록은 4개의 자식 노드들로 분할될 수도 있고, 각각의 자식 노드는 결국 부모 노드일 수도 있으며 또다른 4개의 자식 노드들로 분할될 수도 있다. 쿼드트리의 리프 노드로서 최종의 미분할된 자식 노드는 코딩 노드, 즉, 코딩된 비디오 블록을 포함한다. 코딩된 비트스트림과 연관된 신택스 데이터는 트리블록이 분할될 수도 있는 최대 횟수를 정의할 수도 있으며, 또한 코딩 노드들의 최소 사이즈를 정의할 수도 있다.In general, the HM's working model may be divided into sequences of coding units (CTUs), also referred to as maximum coding units (LCUs), in which a video frame or picture contains both luma and chroma samples . The triblock has a purpose similar to the macroblock of the H.264 standard. The slice contains a number of contiguous tree blocks in the coding order. A video frame or picture may be partitioned into one or more slices. Each tree block may be divided into coding units (CUs) according to a quadtree. For example, a tree block as a root node of a quadtree may be divided into four child nodes, and each child node may eventually be a parent node or may be divided into another four child nodes. The final unadulterated child node as a leaf node of the quadtree comprises a coding node, i. E., A coded video block. The syntax data associated with the coded bitstream may define the maximum number of times the triblock may be divided and may also define the minimum size of the coding nodes.
CU 는 코딩 노드, 그리고 코딩 노드와 연관된 예측 유닛들 (PU들) 및 변환 유닛들 (TU들) 을 포함한다. CU 의 사이즈는 코딩 노드의 사이즈에 대응하고, 형상이 정방형이다. CU 의 사이즈는 8x8 픽셀들로부터, 최대 64x64 픽셀들 이상을 갖는 트리블록의 사이즈까지 이를 수도 있다. 각각의 CU 는 하나 이상의 PU들 및 하나 이상의 TU들을 포함할 수도 있다. CU 와 연관된 신택스 데이터는, 예를 들어, 하나 이상의 PU들로의 CU 의 파티셔닝을 기술할 수도 있다. 파티셔닝 모드들은 CU 가 스킵되거나 직접 모드 인코딩되거나, 인트라-예측 모드 인코딩되거나, 또는 인터-예측 모드 인코딩되는지 여부 간에 상이할 수도 있다. PU들은 형상이 비-정방형이도록 파티셔닝될 수도 있다. CU 와 연관된 신택스 데이터는 또한, 예를 들어, 쿼드트리에 따라 하나 이상의 TU들로의 CU 의 파티셔닝을 기술할 수도 있다. TU 는 형상이 정방형이거나 비-정방형일 수 있다.The CU includes a coding node and prediction units (PUs) and conversion units (TUs) associated with the coding node. The size of the CU corresponds to the size of the coding node, and the shape is square. The size of the CU may range from 8x8 pixels to the size of the triblock with a maximum of 64x64 pixels or more. Each CU may include one or more PUs and one or more TUs. The syntax data associated with the CU may describe, for example, the partitioning of the CU into one or more PUs. The partitioning modes may be different between whether the CU is skipped, direct mode encoded, intra-predicted mode encoded, or inter-predicted mode encoded. The PUs may be partitioned such that the shape is non-square. The syntax data associated with the CU may also describe the partitioning of the CUs into one or more TUs, for example, according to a quadtree. The TU may be square or non-square in shape.
도 2 는 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 구현할 수도 있는 예시적인 비디오 인코더 (20) 를 도시한 블록 다이어그램이다. 비디오 인코더 (20) 는 비디오 슬라이스들 내에서 비디오 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 소정의 비디오 프레임 또는 픽처 내 비디오에 있어서 공간 리던던시를 감소 또는 제거하기 위해 공간 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 인접한 프레임들 또는 픽처들 내 비디오에 있어서 시간 리던던시를 감소 또는 제거하기 위해 시간 예측에 의존한다. 인트라-모드 (I 모드) 는 수개의 공간 기반 압축 모드들 중 임의의 모드를 지칭할 수도 있다. 단방향 예측 (P 모드) 또는 양방향 예측 (B 모드) 과 같은 인터-모드들은 수개의 시간 기반 압축 모드들 중 임의의 모드를 지칭할 수도 있다.FIG. 2 is a block diagram illustrating an
도 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, the
도 2 에 도시된 바와 같이, 비디오 인코더 (20) 는 비디오 데이터를 수신하고, 파티셔닝 유닛 (35) 은 그 데이터를 비디오 블록들로 파티셔닝한다. 이러한 파티셔닝은 또한, 예를 들어, LCU들 및 CU들의 쿼드트리 구조에 따른 비디오 블록 파티셔닝뿐 아니라 슬라이스들, 타일들, 또는 다른 더 큰 유닛들로의 파티셔닝을 포함할 수도 있다. 비디오 인코더 (20) 는 일반적으로, 인코딩될 비디오 슬라이스 내에서의 비디오 블록들을 인코딩하는 컴포넌트들을 예시한다. 슬라이스는 다중의 비디오 블록들로 (및 가능하게는 타일들로서 지칭되는 비디오 블록들의 세트들로) 분할될 수도 있다. 예측 프로세싱 유닛 (41) 은 에러 결과들 (예를 들어, 코딩 레이트 및 왜곡의 레벨) 에 기반한 현재 비디오 블록에 대해 복수의 인트라 코딩 모드들 중 하나 또는 복수의 인터 코딩 모드들 중 하나와 같이, 파티션 사이즈를 포함할 수도 있는 복수의 가능한 코딩 모드들 중 하나를 선택할 수도 있다. 예측 프로세싱 유닛 (41) 은 결과적인 인트라- 또는 인터-코딩된 블록을 합산기 (50) 에 제공하여 잔차 블록 데이터를 생성하고, 합산기 (62) 에 제공하여 레퍼런스 픽처로서의 사용을 위한 인코딩된 블록을 복원할 수도 있다.As shown in FIG. 2, the
예측 프로세싱 유닛 (41) 내의 인트라 예측 프로세싱 유닛 (46) 은 공간 압축을 제공하기 위해, 코딩될 현재 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃 블록들에 관해 현재 비디오 블록의 인트라-예측 코딩을 수행할 수도 있다. 예측 프로세싱 유닛 (41) 내의 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 시간 압축을 제공하기 위해 하나 이상의 레퍼런스 픽처들에서의 하나 이상의 예측 블록들에 관해 현재 비디오 블록의 인터-예측 코딩을 수행한다.The intra
모션 추정 유닛 (42) 은 비디오 시퀀스에 대한 미리결정된 패턴에 따라 비디오 슬라이스에 대한 인터-예측 모드를 결정하도록 구성될 수도 있다. 미리결정된 패턴은 시퀀스에서의 비디오 슬라이스들을, 예측된 슬라이스들 (P 슬라이스들), 양방향 예측된 슬라이스들 (B 슬라이스들), 또는 일반화된 P/B 슬라이스들 (GPB 슬라이스들) 로서 명시할 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념적인 목적을 위해 별도로 도시된다. 모션 추정 유닛 (42) 에 의해 수행된 모션 추정은, 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스이다. 모션 벡터는, 예를 들어, 레퍼런스 픽처 내에서의 예측 블록에 관한 현재 비디오 프레임 또는 픽처 내의 비디오 블록의 PU 의 변위를 표시할 수도 있다.The
예측 블록은 픽셀 차이의 관점에서 코딩될 비디오 블록의 PU 와 밀접하게 매칭하도록 발견되는 블록이며, 이 픽셀 차이는 절대 차이의 합 (SAD), 제곱 차이의 합 (SSD), 또는 다른 상이한 메트릭들에 의해 결정될 수도 있다. 일부 예들에 있어서, 비디오 인코더 (20) 는 레퍼런스 픽처 메모리 (64) 에 저장된 레퍼런스 픽처들의 서브-정수 픽셀 포지션들에 대한 값들을 계산할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 레퍼런스 픽처의 1/4 픽셀 포지션들, 1/8 픽셀 포지션들, 또는 다른 분수 픽셀 포지션들의 값들을 보간할 수도 있다. 따라서, 모션 추정 유닛 (42) 은 풀 픽셀 포지션들 및 분수 픽셀 포지션들에 관한 모션 탐색을 수행하고, 분수 픽셀 정밀도로 모션 벡터를 출력할 수도 있다.The prediction block is a block that is found to closely match the PU of the video block to be coded in terms of pixel difference, and this pixel difference is a sum of absolute differences (SAD), sum of squared differences (SSD), or other different metrics . ≪ / RTI > In some examples, the
모션 추정 유닛 (42) 은 인터-코딩된 슬라이스에서의 비디오 블록의 PU 에 대한 모션 벡터를, 그 PU 의 포지션을 레퍼런스 픽처의 예측 블록의 포지션과 비교함으로써 계산한다. 레퍼런스 픽처는 제 1 레퍼런스 픽처 리스트 (리스트 0) 또는 제 2 레퍼런스 픽처 리스트 (리스트 1) 로부터 선택될 수도 있으며, 이 리스트들 각각은 레퍼런스 픽처 메모리 (64) 에 저장된 하나 이상의 레퍼런스 픽처들을 식별한다. 모션 추정 유닛 (42) 은 계산된 모션 벡터를 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 전송한다.The
모션 보상 유닛 (44) 에 의해 수행된 모션 보상은 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페치 또는 생성하여, 가능하게는 서브픽셀 정밀도로 보간들을 수행하는 것을 수반할 수도 있다. 현재 비디오 블록의 PU 에 대한 모션 벡터를 수신할 시, 모션 보상 유닛 (44) 은, 모션 벡터가 레퍼런스 픽처 리스트들 중 하나에 포인팅하는 예측 블록을 로케이팅할 수도 있다. 비디오 인코더 (20) 는, 코딩되고 있는 현재 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산하여 픽셀 차이 값들을 형성함으로써 잔차 비디오 블록을 형성한다. 픽셀 차이 값들은 블록에 대한 잔차 데이터를 형성하고, 루마 및 크로마 차이 컴포넌트들 양자를 포함할 수도 있다. 합산기 (50) 는 이러한 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 모션 보상 유닛 (44) 은 또한, 비디오 슬라이스의 비디오 블록들을 디코딩함에 있어서 비디오 디코더 (30) 에 의한 사용을 위해 비디오 블록들 및 비디오 슬라이스와 연관된 신택스 엘리먼트들을 생성할 수도 있다.The motion compensation performed by the
인트라-예측 프로세싱 유닛 (46) 은, 상기 설명된 바와 같은 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행된 인터-예측에 대한 대안으로서, 현재 블록에 대한 인트라-예측을 수행할 수도 있다. 특히, 인트라-예측 프로세싱 유닛 (46) 은 현재 블록을 인코딩하는데 이용하기 위한 인트라-예측 모드를 결정할 수도 있다. 일부 예들에 있어서, 인트라-예측 프로세싱 유닛 (46) 은 예를 들어 별도의 인코딩 패스들 동안에 다양한 인트라-예측 모드들을 이용하여 현재 블록을 인코딩할 수도 있으며, 예측 프로세싱 유닛 (41) 은 테스팅된 모드들로부터의 이용을 위해 적절한 인트라-예측 또는 인터-예측 모드를 선택할 수도 있다. 예를 들어, 인트라-예측 프로세싱 유닛 (46) 은 다양한 테스팅된 인트라-예측 모드들에 대한 레이트-왜곡 분석을 이용하여 레이트-왜곡 값들을 계산하고, 테스팅된 모드들 중 최상의 레이트-왜곡 특성들을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트-왜곡 분석은 일반적으로, 인코딩된 블록과 그 인코딩된 블록을 생성하도록 인코딩되었던 오리지널의 인코딩되지 않은 블록 간의 왜곡 (또는 에러) 의 양뿐 아니라 인코딩된 블록을 생성하는데 사용된 비트 레이트 (즉, 비트들의 수) 를 결정한다. 인트라-예측 프로세싱 유닛 (46) 은 다양한 인코딩된 블록들에 대한 왜곡들 및 레이트들로부터의 비율들을 계산하여, 어느 인트라-예측 모드가 그 블록에 대한 최상의 레이트-왜곡 값을 나타내는지를 결정할 수도 있다.The
어떤 경우든, 블록에 대한 인트라-예측 모드를 선택한 이후, 예측 프로세싱 유닛 (41) 은 블록에 대한 선택된 인트라-예측 모드를 표시하는 정보를 엔트로피 인코딩 유닛 (56) 에 제공할 수도 있다. 엔트로피 인코딩 유닛 (56) 은, 본 개시의 기법들에 따라, 선택된 인트라-예측 모드를 표시한 정보를 인코딩할 수도 있다. 비디오 인코더 (20) 는 송신된 비트스트림에, 복수의 인트라-예측 모드 인덱스 테이블들 및 복수의 수정된 인트라-예측 모드 인덱스 테이블들 (코드워드 매핑 테이블들로서도 또한 지칭됨) 을 포함할 수도 있는 구성 데이터, 다양한 블록들에 대한 인코딩 컨텍스트들의 정의들, 및 컨텍스트들 각각에 대한 사용을 위한 가장 가능성있는 인트라-예측 모드, 인트라-예측 모드 인덱스 테이블, 및 수정된 인트라-예측 모드 인덱스 테이블의 표시들을 포함할 수도 있다.In any case, after selecting the intra-prediction mode for the block, the
예측 프로세싱 유닛 (41) 이 인터-예측 또는 인트라-예측 중 어느 하나를 통해 현재 비디오 블록에 대한 예측 블록을 생성한 이후, 비디오 인코더 (20) 는 현재 비디오 블록으로부터 예측 블록을 감산함으로써 잔차 비디오 블록을 형성한다. 잔차 블록에서의 잔차 비디오 데이터는 하나 이상의 TU들에 포함되고 변환 프로세싱 유닛 (52) 에 적용될 수도 있다. 변환 프로세싱 유닛 (52) 은 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 이용하여 잔차 비디오 데이터를 잔차 변환 계수들로 변환한다. 변환 프로세싱 유닛 (52) 은 잔차 비디오 데이터를 픽셀 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 컨버팅할 수도 있다.After the
변환 프로세싱 유닛 (52) 은 결과적인 변환 계수들을 양자화 유닛 (54) 으로 전송할 수도 있다. 양자화 유닛 (54) 은 비트 레이트를 추가로 감소시키기 위해 변환 계수들을 양자화한다. 양자화 프로세스는 그 계수들의 일부 또는 그 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수도 있다. 그 후, 일부 예들에 있어서, 양자화 유닛 (54) 은, 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수도 있다. 대안적으로, 엔트로피 인코딩 유닛 (56) 은 스캔을 수행할 수도 있다.The
양자화 이후, 엔트로피 인코딩 유닛 (56) 은 양자화된 변환 계수들을 엔트로피 인코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 컨텍스트 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 이진 산술 코딩 (CABAC), 신택스 기반 컨텍스트 적응 이진 산술 코딩 (SBAC), 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩, 또는 다른 엔트로피 인코딩 방법 또는 기법을 수행할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 인코딩 이후, 인코딩된 비트스트림은 비디오 디코더 (30) 로 송신되거나, 또는 비디오 디코더 (30) 에 의한 더 나중의 송신 또는 취출을 위해 아카이브될 수도 있다. 엔트로피 인코딩 유닛 (56) 은 또한, 코딩되고 있는 현재 비디오 슬라이스에 대한 모션 벡터들 및 다른 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다.After quantization, the
역양자화 유닛 (58) 및 역변환 프로세싱 유닛 (60) 은, 각각, 역양자화 및 역변환을 적용하여, 레퍼런스 픽처의 레퍼런스 블록으로서의 더 나중 사용을 위해 픽셀 도메인에서 잔차 블록을 복원한다. 모션 보상 유닛 (44) 은, 레퍼런스 픽처 리스트들 중 하나 내에서의 레퍼런스 픽처들 중 하나의 예측 블록에 잔차 블록을 부가함으로써 레퍼런스 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 또한, 하나 이상의 보간 필터들을 복원된 잔차 블록에 적용하여, 모션 추정에서 사용하기 위한 서브-정수 픽셀 값들을 계산할 수도 있다. 합산기 (62) 는 복원된 잔차 블록을, 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 부가하여, 레퍼런스 픽처 메모리 (64) 로의 저장을 위한 레퍼런스 블록을 생성한다.The
메모리 (64) 로의 저장 이전, 복원된 잔차 블록은 하나 이상의 필터들에 의해 필터링될 수 있다. 요구된다면, 디블록킹 필터 (72) 가 또한, 블록키니스 아티팩트들을 제거하기 위해, 복원된 잔차 블록들을 필터링하도록 적용될 수도 있다. (코딩 루프에서 또는 코딩 루프 이후에) 다른 루프 필터들이 또한 픽셀 천이들을 평활하게 하거나 그렇지 않으면 비디오 품질을 개선하기 위해 이용될 수도 있다. 그러한 루프 필터의 일 예는 SAO 필터 (74) 이다. 레퍼런스 블록은, 후속 비디오 프레임 또는 픽처에서의 블록을 인터-예측하기 위해 레퍼런스 블록으로서 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 사용될 수도 있다.Prior to storage in
SAO 필터 (74) 는 비디오 코딩 품질을 개선하는 방식으로 SAO 필터링에 대한 오프셋 값들을 결정할 수 있다. 비디오 코딩 품질을 개선하는 것은, 예를 들어, 복원된 이미지를 오리지널 이미지와 더 밀접하게 매칭하게 하는 오프셋 값들을 결정하는 것을 수반할 수도 있다. 비디오 인코더 (20) 는, 예를 들어, 상이한 오프셋 값들을 갖는 다중의 패스들을 이용하여 비디오 데이터를 코딩하고, 예를 들어, 레이트-왜곡 계산에 기초하여 결정되는 바와 같은 바람직한 코딩 품질을 제공하는 오프셋 값들을, 인코딩된 비트스트림으로의 포함을 위해, 선택할 수도 있다.
일부 구성들에 있어서, SAO 필터 (74) 는 상기 기술된 에지 오프셋과 같은 하나 이상의 타입들의 오프셋을 적용하도록 구성될 수도 있다. SAO 필터 (74) 는 또한, 때때로, 그 자체가 제 3 타입의 오프셋으로 고려될 수 있는 오프셋 없음을 적용할 수도 있다. SAO 필터 (74) 에 의해 적용되는 오프셋의 타입은 비디오 디코더에 명시적으로 또는 암시적으로 시그널링될 수도 있다. 에지 오프셋을 적용할 경우, 픽셀들은 에지 정보에 기초하여 분류될 수 있다.In some arrangements, the
도 2 의 비디오 인코더 (20) 는, 제 1 주위 픽셀의 루마 컴포넌트에 대한 에지 인덱스를 포함하는 제 1 에지 인덱스를 결정하고, 제 2 주위 픽셀의 루마 컴포넌트에 대한 에지 인덱스를 포함하는 제 2 에지 인덱스를 결정하고, 제 1 에지 인덱스 및 제 2 에지 인덱스에 기초하여, 현재 픽셀의 크로마 컴포넌트에 대한 에지 인덱스를 포함하는 제 3 에지 인덱스를 결정하고, 제 3 에지 인덱스에 기초하여 오프셋을 선택하며, 그 오프셋을 현재 픽셀의 크로마 컴포넌트에 적용하도록 구성된 비디오 인코더의 일 예를 나타낸다.The
도 3 은 본 개시에서 설명된 별도의 계층간 예측 의존성 정의 기법들을 구현할 수도 있는 예시적인 비디오 디코더 (30) 를 도시한 블록 다이어그램이다. 도 3 의 예에 있어서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (80), 예측 프로세싱 유닛 (81), 역양자화 유닛 (86), 역변환 프로세싱 유닛 (88), 합산기 (90), 및 레퍼런스 픽처 메모리 (92) 를 포함한다. 예측 프로세싱 유닛 (81) 은 인터-예측 디코딩을 위한 모션 보상 유닛 (82) 및 인트라-예측 디코딩을 위한 인트라 예측 프로세싱 유닛 (84) 을 포함한다. 일부 예들에 있어서, 비디오 디코더 (30) 는 도 2 로부터의 비디오 인코더 (20) 에 관하여 설명된 인코딩 패스에 일반적으로 상호적인 디코딩 패스를 수행할 수도 있다.FIG. 3 is a block diagram illustrating an
디코딩 프로세스 동안, 비디오 디코더 (30) 는, 인코딩된 비디오 슬라이스의 비디오 블록들 및 관련 신택스 엘리먼트들을 나타내는 인코딩된 비디오 비트스트림을 비디오 인코더 (20) 로부터 수신한다. 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (80) 은 비트스트림을 엔트로피 디코딩하여, 양자화된 계수들, 모션 벡터들, 및 다른 신택스 엘리먼트들을 생성한다. 엔트로피 디코딩 유닛 (80) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 예측 프로세싱 유닛 (81) 으로 포워딩한다. 비디오 디코더 (30) 는 신택스 엘리먼트들을 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨로 수신할 수도 있다.During the decoding process, the
비디오 슬라이스가 인트라-코딩된 (I) 슬라이스로서 코딩된 경우, 예측 프로세싱 유닛 (81) 의 인트라 예측 프로세싱 유닛 (84) 은 현재 프레임 또는 픽처의 이전에 디코딩된 블록들로부터의 데이터 및 시그널링된 인트라 예측 모드에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 생성할 수도 있다. 비디오 프레임이 인터-코딩된 (예를 들어, B, P 또는 GPB) 슬라이스로서 코딩된 경우, 예측 프로세싱 유닛 (81) 의 모션 보상 유닛 (82) 은 엔트로피 디코딩 유닛 (80) 으로부터 수신된 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 레퍼런스 픽처 리스트들 중 하나 내에서의 레퍼런스 픽처들 중 하나로부터 생성될 수도 있다. 비디오 디코더 (30) 는 레퍼런스 픽처 메모리 (92) 에 저장된 레퍼런스 픽처들에 기초한 디폴트 구성 기법들을 이용하여 레퍼런스 프레임 리스트들, 즉, 리스트 0 및 리스트 1 을 구성할 수도 있다.When the video slice is coded as an intra-coded (I) slice, the intra
모션 보상 유닛 (82) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 파싱함으로써 현재 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 그 예측 정보를 사용하여, 디코딩되고 있는 현재 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들어, 모션 보상 유닛 (82) 은 수신된 신택스 엘리먼트들 중 일부를 사용하여, 비디오 슬라이스의 비디오 블록들을 코딩하는데 사용되는 예측 모드 (예를 들어, 인트라-예측 또는 인터-예측), 인터-예측 슬라이스 타입 (예를 들어, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 레퍼런스 픽처 리스트들 중 하나 이상에 대한 구성 정보, 슬라이스의 각각의 인터-인코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각각의 인터-코딩된 비디오 블록에 대한 인터-예측 상태, 및 현재 비디오 슬라이스에서의 비디오 블록들을 디코딩하기 위한 다른 정보를 결정한다.The
모션 보상 유닛 (82) 은 또한, 보간 필터들에 기초하여 보간을 수행할 수도 있다. 모션 보상 유닛 (82) 은 비디오 블록들의 인코딩 동안 비디오 인코더 (20) 에 의해 사용된 바와 같은 보간 필터들을 이용하여, 레퍼런스 블록들의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수도 있다. 이 경우, 모션 보상 유닛 (82) 은 수신된 신택스 엘리먼트들로부터 비디오 인코더 (20) 에 의해 사용된 보간 필터들을 결정하고, 보간 필터들을 이용하여 예측 블록들을 생성할 수도 있다.
역양자화 유닛 (86) 은 비트스트림에서 제공되고 엔트로피 디코딩 유닛 (80) 에 의해 디코딩되는 양자화된 변환 계수들을 역양자화, 즉, 양자화해제한다. 역양자화 프로세스는 비디오 슬라이스에서의 각각의 비디오 블록에 대해 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터의 이용을 포함하여, 적용되어야 하는 양자화의 정도 및 유사하게 역양자화의 정도를 결정할 수도 있다. 역변환 프로세싱 유닛 (88) 은 픽셀 도메인에서 잔차 블록들을 생성하기 위해, 역변환, 예를 들어, 역 DCT, 정수 역변환, 또는 개념적으로 유사한 역변환 프로세스를 변환 계수들에 적용한다.The
예측 프로세싱 유닛 (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) 와 동일한 필터링 중 하나 이상 (예를 들어, 에지 오프셋 및 대역 오프셋) 을 적용하도록 구성될 수 있다.After the prediction processing unit 81 generates a prediction block for the current video block based on the motion vectors and other syntax elements, the
도 3 의 비디오 디코더 (30) 는, 제 1 주위 픽셀의 루마 컴포넌트에 대한 에지 인덱스를 포함하는 제 1 에지 인덱스를 결정하고, 제 2 주위 픽셀의 루마 컴포넌트에 대한 에지 인덱스를 포함하는 제 2 에지 인덱스를 결정하고, 제 1 에지 인덱스 및 제 2 에지 인덱스에 기초하여, 현재 픽셀의 크로마 컴포넌트에 대한 에지 인덱스를 포함하는 제 3 에지 인덱스를 결정하고, 제 3 에지 인덱스에 기초하여 오프셋을 선택하며, 그 오프셋을 현재 픽셀의 크로마 컴포넌트에 적용하도록 구성된 비디오 디코더의 일 예를 나타낸다.The
본 개시의 하나 이상의 양태들에 따르면, 제 1 계층과 연관된 다수의 인핸스먼트 계층들 각각에 관하여 제 1 계층에 대한 계층간 예측 의존성들을 별도로 (예를 들어, 독립적으로) 제공하기 위한 (종종, 정의하는 것, 확립하는 것, 프로세싱하는 것 및/또는 결정하는 것으로서 지칭됨) 기법들이 제공된다. 일부 실시형태들에 있어서, 프로세서는, 제 1 계층에서의 픽처들이 제 1 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 (예를 들어, 제 1 표시자로) 결정하면서 제 1 계층에서의 픽처들이 제 2 인핸스먼트 계층의 계층간 예측을 위해 사용될 수 있는지 여부를 (예를 들어, 제 2 표시자로) 독립적으로 결정하도록 구성된다. 그 기법들은 시스템에 의해, 또는, 예를 들어 도 1b 의 디바이스 (10) 에 의해 수행될 수도 있다. 일부 구현들에 있어서, 그 기법들은 비디오 인코더 (20), 비디오 디코더 (30), 및/또는 프로세서-제어기 모듈 (13) 에 의해 홀로 또는 조합하여 수행될 수도 있다.According to one or more aspects of the present disclosure, there is provided a method for providing (separately, for example, independently) (inter alia, independently) inter-layer predictive dependencies for a first layer with respect to each of a plurality of enhancement layers associated with a first layer Processing, < / RTI > and / or determining) techniques are provided. In some embodiments, the processor determines whether the pictures in the first layer can be used for inter-layer prediction of the first enhancement layer (e.g., as a first indicator) (E. G., As a second indicator) whether pictures can be used for inter-layer prediction of the second enhancement layer. The techniques may be performed by the system or, for example, by the
도 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) 는 서로 통신하고/하거나 동작가능하게 접속될 수도 있다.4 is a diagram 400 illustrating examples of multiple access units, with each access unit having multiple layers with each layer having multiple pictures. Some of the access units illustrate scenarios in which inter-layer predictive dependencies marked separately (e.g., in a video encoder) for the first layer with respect to independent enhancement layers are employed. For example, in some of the illustrated access units, a first indicator may be used for a picture from a first layer (e.g., layer ID = 0) to predict a picture from the first enhancement layer And the second indicator indicates that the picture from the first layer may not be used to predict the picture from the second enhancement layer. The first and second indicators are independently signaled as different indicators (e.g., they signal independent inter-layer prediction dependencies). For example, in the depicted diagrams, pictures in the first layer may be used to determine whether pictures in the first layer can be used for inter-layer prediction of the first enhancement layer, Indicators are provided that can be used to separately indicate (or determine) whether or not it can be used for inter-layer prediction. An indication as to whether any given enhancement layer depends on the first layer for inter-layer prediction is the same as the indication as to whether any other predetermined enhancement layer depends on the first layer for inter-layer prediction Or may be different (e.g., independent). In one aspect, one or more of the features described in connection with FIG. 4 are generally implemented using an encoder (e.g.,
예시적인 예시에 있어서, 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" 로서도 또한 지칭될 수도 있다.In an illustrative example, two scenarios are presented: (1) "Scenario A" and (2) "Scenario B". Each scenario represents access units, layers, and pictures in which a particular set of dependency indications are independently signaled. Each of the columns represents an access unit in a video sequence. For example, access units 420A1 through 420A5 represent five access units in the video sequence of scenario A. [ The access units may be generically referred to as access units 420. In one embodiment, the video sequence may include any number of access units 420. [ Each of the access units 420A1-420A5 may comprise one or more pictures and may be associated with one or more layers. For example, in scenario A, each access unit 420A1-420A5 includes three
상기 서술된 바와 같이, 계층들 (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) 의 인핸스먼트 픽처들이다.As described above, each of the
픽처들 (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 임계치 값" ) 와 비교할 수도 있다.Each of pictures 430, 431, and 432 may be associated with a time identification number or value ("TID value") as shown on the left side of each scenario. For example, the enhancement picture 431A3 is associated with the same TID value as "1 ". As another example, the enhancement picture 430A2 is associated with the same TID value as "2 ". As shown, each of the pictures 430, 431, and 432 in the same access unit of the access units 420 is associated with the same TID value. In other embodiments, not all of the pictures in the same access unit of the access units 420 need be associated with the same TID value. In some embodiments, the
프로세서 (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)) 사이로 연장하진 않는다.In the depicted scenarios A and B, the
일 실시형태에 있어서 (예를 들어, 도시된 시나리오 A 에 있어서), 프로세서 (예를 들어, 프로세서 (13)) 는, 제 1 계층 (410A) 에서의 픽처들이 제 1 계층의 제 1 인핸스먼트 계층 (415A1) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 결정하기 위해 사용될 수도 있는 제 1 TID 임계치 값을 결정 (예를 들어, 표시, 수신, 전송 등등) 할 수도 있다. 프로세서는 추가로, 제 1 계층 (410A) 에서의 픽처들이 제 1 계층의 제 2 인핸스먼트 계층 (415A2) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 결정하기 위해 사용될 제 2 TID 임계치 값을 결정할 수도 있다. 제 1 및 제 2 TID 임계치 값들은 서로 동일하거나 상이할 수도 있다.In one embodiment (e.g., scenario A depicted), the processor (e.g., processor 13) determines whether the pictures in the
도 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 임계치 값을 상이한 방식으로 분석하기 위해 사용된다.In the embodiments of FIG. 4, the first TID threshold is specified for the first layer pair, such as the
추가로, 시나리오 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) 의 계층간 예측을 위한 사용이 제한되지 않는다. 상기 논의된 바와 같이, 제한되지 않은 픽처들 중 일부는 계층간 예측을 위해 사용 (화살표에 의해 표시됨) 될 수도 있지만 다른 픽처들은 계층간 예측을 위해 사용되지 않을 수도 있다 (화살표의 부재에 의해 표시됨).Additionally, in the illustrated embodiment of scenario A, the second TID threshold value may be a value of "4 ". Thus, as described further with respect to FIGS. 5 and 6, pictures in the
다른 실시형태에 있어서 (예를 들어, 도시된 시나리오 B 에 있어서), 프로세서 (예를 들어, 프로세서 (13)) 는, 제 1 계층 (410B) 에서의 픽처들이 제 1 계층의 제 1 인핸스먼트 계층 (415B1) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 결정하기 위해 사용될 수도 있는 제 1 TID 임계치 값을 결정 (예를 들어, 표시, 수신, 전송 등등) 할 수도 있다. 프로세서는 추가로, 제 1 계층 (410B) 에서의 픽처들이 제 1 계층의 제 2 인핸스먼트 계층 (415B2) 에서의 픽처들을 계층간 예측하기 위해 사용될 수도 있는지 여부를 결정하기 위해 사용될 제 2 TID 임계치 값을 결정할 수도 있다. 제 1 및 제 2 TID 임계치 값들은 서로 동일하거나 상이할 수도 있다.In another embodiment (e.g., scenario B shown), the processor (e.g., processor 13) may determine that the pictures in the
시나리오 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) 의 계층간 예측을 위한 사용이 제한되지 않는다. 상기 논의된 바와 같이, 제한되지 않은 픽처들 중 일부는 계층간 예측을 위해 사용 (화살표에 의해 표시됨) 될 수도 있지만 다른 픽처들은 계층간 예측을 위해 사용되지 않을 수도 있다 (화살표의 부재에 의해 표시됨).In the illustrated embodiment of scenario B, the first TID threshold value may be a value of "6 ". Thus, as further described with respect to FIGS. 5 and 6, pictures in the
추가로, 시나리오 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) 의 계층간 예측을 위한 사용이 제한되지 않는다. 상기 논의된 바와 같이, 제한되지 않은 픽처들 중 일부는 계층간 예측을 위해 사용 (화살표에 의해 표시됨) 될 수도 있지만 다른 픽처들은 계층간 예측을 위해 사용되지 않을 수도 있다 (화살표의 부재에 의해 표시됨).Additionally, in the illustrated embodiment of scenario B, the second TID threshold value is a value of "1 ". 5 and 6, pictures in the
다른 양태들에 있어서, 상기 설명된 바와 같이, 프로세서 (13) 는, 제 1 계층에서의 픽처들 중 어느 것도 하나 이상의 제 2 계층들의 (예를 들어, 하나 이상의 인핸스먼트 계층들의) 픽처들을 계층간 예측하기 위해 사용되지 않을 수도 있음을 별도로 표시할 수도 있다. 그러한 실시형태 (도시 안됨) 에 있어서, 디코더 (30) 는 그러한 제 1 계층 픽처들을 폐기할 수도 있다 (예를 들어, 버퍼로부터 제거함). 본 명세서에서 설명된 바와 같이, 그러한 제 1 계층 픽처들을 폐기하는 것은 관련 인핸스먼트 계층의 계층간 예측 동안 메모리 및 프로세싱 비용들을 절약할 수도 있다. 예를 들어, 그러한 구성은 제 1 계층에서의 픽처들에 관하여 관련 인핸스먼트 픽처들 모두에 대한 경량의 디코딩 (예를 들어, 단일 루프 디코딩) 을 구현하기 위한 유연성을 허용할 수도 있다.In other aspects, as described above, the
상기 설명된 현재의 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 계층 (예를 들어, 인핸스먼트 계층) 을 나타낼 수도 있다.In the context of the above-described current HEVC extension methods, in one embodiment, the techniques described in connection with FIG. 4 modify the specific HEVC semantics so that the video encoder allows the syntax element max_tid_il_ref_pics_plus1 to exist and the second layer May be used to enable the max_tid_ref_present_flag to be set equal to 1 to specify that the first layer (e.g., the first enhancement layer 415A1) is associated with a first layer (e.g., the
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 에 도시된다:Using the new semantics definition of max_tid_ref_present_flag, certain other HEVC semantics can be used to determine, for each of the enhancement layers, whether pictures in the first layer can be used for inter-layer prediction of enhancement layer pictures in the individual enhancement layers Or may be modified to enable it to be defined separately. For example, the new semantics definition of max_tid_il_ref_pics_plus1 [i] [j] is such that max_tid_il_ref_pics_plus1 [i] [j] equal to 0 is a layer_id_in_nuh [j] of non-IRAP pictures with nuh_layer_id equal to layer_id_in_nuh [i] Max_tid_il_ref_pics_plus1 [i] [j], which is greater than 0, is not used as a reference for nuh_layer_id and max_tid_il_re_ref_pics_plus1 [i] in the CVS that is the same as layer_id_in_nuh [i] j] - 1 is not used as a reference for inter-layer prediction for pictures having a nuh_layer_id equal to layer_id_in_nuh [j]. If not present, max_tid_il_ref_pics_plus1 [i] [j] Is inferred to be equal to 7. " . In the new definition, the [j] index value and its associated text may represent a second layer (e.g., an enhancement layer). One exemplary implementation of these new definitions is shown in the following Syntax Table 1 where the new index value ([j]) is represented:
더욱이, 일부 실시형태들에 있어서, 다른 일반적인 슬라이스 세그먼트 헤더 시맨틱스는 상기 설명된 바와 같은 [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 픽처일 수도 있음.Moreover, in some embodiments, other common slice segment header semantics may be changed based on the use of the [j] index value as described above. For example, for a bit stream, for each value of i in the range from 0 to some HEVC based variable (e.g., NumActiveRefLayerPics - 1), at least one of the two conditions may be true: , (1) max_tid_il_ref_pics_plus1 [LayerIdxInVps [RefPicLayerId [i]]] [Value of LayerIdxInVps [nuh_layer_id] may be larger than TemporalId; And (2) max_tid_il_ref_pics_plus1 [LayerIdxInVps [RefPicLayerId [i]]] The values of the LayerIdxInVps [nuh_layer_id] and TemporalId may be equal to 0 and the picture in the current access unit having the same nuh_layer_id as RefPicLayerId [i] It may be.
더욱이, 일부 실시형태들에 있어서, 서브-계층 비-레퍼런스 픽처들에 대한 특정 프로세스들 (예를 들어, 마킹 프로세스) 은 일부 경우들에 있어서 계층간 예측을 위해 필요하지 않을 수도 있다. 이러한 결과 이후, [j] 인덱스 값을 사용하는 예시적인 코드는 다음을 포함한다:Moreover, in some embodiments, certain processes (e.g., a marking process) for sub-layer non-reference pictures may not be necessary for inter-layer prediction in some cases. Following this result, exemplary code using the [j] index value includes:
프로세서 (13), 비디오 인코더 (20), 및/또는 비디오 디코더 (30) 는 상기 설명된 표시들 및 결정들을 다수의 방식들로 표시, 결정, 정의, 분석, 및/또는 활용할 수도 있다. 도 5 및 도 6 은, 각각, 비디오 인코더 (20) 및 비디오 디코더 (30) 가 각각 표시하는 것 및/또는 결정하는 것에 관하여 수행할 수도 있는 예시적인 방법들의 플로우차트들을 제공한다. 다른 실시형태들에 있어서, 다른 디바이스들은 기술된 방법 단계들 중 하나 이상을 수행할 수도 있다.
도 5 는, 하나 이상의 제 2 계층들 (예를 들어, 도 4 의 인핸스먼트 계층들 (415)) 에 관하여 제 1 계층 (예를 들어, 도 4 의 제 1 계층 (410)) 에 대한 계층간 예측 의존성들을 별도로 표시하기 위한 비디오 인코더 (예를 들어, 비디오 인코더 (20)) 의 프로세서 (예를 들어, 프로세서 (13)) 에 대한 일 방법의 플로우차트를 도시한다. 프로세서 (13) 는, 제 2 계층들 각각에 대해, 제 1 계층에서의 픽처들이 개별 제 2 계층에서의 픽처들의 계층간 예측을 위해 사용될 수 있는지 여부를 별도로 표시할 수도 있다.FIG. 5 illustrates an example of a hierarchical structure of a first layer (e.g., the first layer 410 of FIG. 4) with respect to one or more second layers (e.g., enhancement layers 415 of FIG. 4) (E. G., Processor 13) of a video encoder (e. G., Video encoder 20) for separately displaying prediction dependencies. The
방법은 블록 505 에서 시작한다. 블록 510 에서, 프로세서 (13) 는 제 2 계층 (예를 들어, 제 1 계층의 제 1 인핸스먼트 계층 (415A1)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410A)) 의 계층간 예측 분석을 수행할지 여부를 결정할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는, 프로세서 (13) 가 제 2 계층에 관하여 제 1 계층의 계층간 예측 분석을 (예를 들어, 하기에서 설명되는 바와 같은 블록 550 에서) 수행하기에 충분한 정보를 (예를 들어, 슬라이스 헤더에서) 갖는지 여부에 기초하여 이 결정을 행할 수도 있다. 일 예로서, 프로세서 (13) 는, 제 2 계층이 제 1 계층에 직접적으로 의존하지 않는다면 제 2 계층에 관하여 제 1 계층의 계층간 예측 분석을 수행하지 않도록 결정할 수도 있다.The method begins at
블록 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 으로 진행할 수도 있다.At
블록 510 에서, 프로세서 (13) 가 고려되는 제 2 계층 (예를 들어, 인핸스먼트 계층) 에 관하여 제 1 계층의 계층간 예측 분석을 수행하도록 결정하면, 블록 540 에서, 프로세서 (13) 는, 계층간 예측 분석이 제 1 계층/제 2 계층 쌍에 대해 수행됨을 시그널링할 수도 있다. 하나의 예시적인 실시형태에 있어서, 프로세서 (13) 는 대신, 별도의 계층 연관들 모두에 대해 (예를 들어, 제 1 계층의 별도의 제 2 계층들 각각과의 각각의 별도의 계층 연관에 대해) 동시에 한번 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는 슬라이스 헤더에서의 플래그, 예를 들어, "1" 의 값으로 설정된 플래그로서 그 표시를 시그널링할 수도 있다. 일 양태에 있어서, 그 플래그는 HEVC 기반 플래그, 예를 들어, max_tid_ref_present_flag 일 수도 있다. 일 양태에 있어서, 프로세서 (13) 는 이 표시를, 도 6 과 관련하여 설명되는 바와 같이, 변수가 존재하는지 여부를 결정하고 추가의 동작들을 수행하기 위해 그 표시를 사용할 수도 있는 다른 디바이스 (예를 들어, 도 3 의 비디오 디코더 (30)) 에 시그널링할 수도 있다.At
블록 550 에서, 프로세서 (13) 는, 제 1 계층의 픽처들 (예를 들어, 제 1 픽처들 (430A1-430A5)) 이 제 2 계층 (예를 들어, 제 1 인핸스먼트 계층 (415A1)) 의 픽처들을 계층간 예측하기 위해 사용될 수 있는지 여부를 결정할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는, 제 1 계층에서의 픽처들의 다양한 특성들, 제 2 계층에서의 픽처들의 다양한 특성들, 또는 임의의 다른 수의 팩터들에 기초하여 이러한 결정을 행할 수도 있다. 일부 예시적인 팩터들은, 경량의 단일 루프 코딩의 가능성 및/또는 코딩 복잡도의 감소, 인핸스먼트 계층의 픽처 품질 레벨에 비한 제 1 계층의 픽처 품질 레벨 등을 포함할 수도 있다. 예를 들어, 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에서의 픽처가 (예를 들어, 더 조악한 양자화에 기초하여) 임계치량 초과만큼 제 2 계층에서의 픽처와 상이하면, 프로세서 (13) 는 제 1 계층에서의 픽처가 제 2 계층 (예를 들어, 제 2 인핸스먼트 계층 (415A1)) 에서의 개별 픽처를 계층간 예측하기 위해 사용될 수 없음을 결정할 수도 있다.At
블록 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) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.At
블록 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") 에 대응함) 을, 하기에서 더 설명되는 바와 같은 값으로 설정할 수도 있다.At
일 실시형태에 있어서, 프로세서 (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) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.In one embodiment, the
다른 실시형태에 있어서, 프로세서 (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) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.In another embodiment, the
도 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) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.After scenario A of FIG. 4 with the method described with respect to FIG. 5, the
도 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) 중 하나 이상의 별도의 계층 연관 신호들 모두를 동시에 시그널링하기 위해 그 방법의 종료까지 대기할 수도 있다.After the scenario B of FIG. 4 with the method described in connection with FIG. 5, the
도 4 와 관련하여 상기 설명된 바와 같이, 상기 프로세스들은 프로세서 (13) 및/또는 비디오 인코더 (20) 가 설명된 표시들을 어떻게 행할 수 있는지의 단지 예들일 뿐이다.As described above in connection with FIG. 4, the processes are merely examples of how the
도 6 은, 도 4 와 관련하여 설명된 바와 같이, 제 1 계층 (예를 들어, 도 4 의 제 1 계층 (410A)) 과 하나 이상의 제 2 계층들 (예를 들어, 도 4 의 제 1 및 제 2 인핸스먼트 계층들 (415A1 및 415A2)) 간의 계층간 예측 의존성들을 별도로 결정하기 위한 비디오 디코더 (예를 들어, 비디오 디코더 (30)) 의 프로세서 (예를 들어, 프로세서 (13)) 에 대한 일 방법의 플로우차트를 도시한다. 예를 들어, 프로세서 (13) 는, 제 1 계층에서의 픽처들이 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 인핸스먼트 계층들 각각에 대해 (예를 들어, 개별 표시에 기초하여) 별도로 결정할 수도 있다.FIG. 6 is a flow chart illustrating a method of using a first layer (e.g.,
방법은 블록 605 에서 시작한다. 블록 610 에서, 프로세서 (13) 는 계층간 예측 분석 변수 ("변수") 가 제 2 계층 (예를 들어, 인핸스먼트 계층 (415A1)) 에 관하여 제 1 계층 (예를 들어, 제 1 계층 (410A)) 에 대해 존재하는지 여부를 결정할 수도 있다. 일 양태에 있어서, 프로세서 (13) 는 이러한 결정을 개별 표시에 기초하여 행할 수도 있으며, 이 개별 표시는 도 4 및 도 5 와 관련하여 설명된 바와 같은 비디오 인코더 (예를 들어, 비디오 인코더 (20)) 로부터 시그널링되었을 수도 있다. 일 양태에 있어서, 그 표시는 슬라이스 헤더에 시그널링된 플래그일 수도 있다. 예를 들어, 그 플래그는 도 5 와 관련하여 설명된 바와 같은 HEVC 기반 플래그, 예를 들어, max_tid_ref_present_flag 일 수도 있다.The method begins at
블록 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 에서 종료한다.At
대안적으로, 블록 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) 의 사용을 변수가 디스에이블링하지 않음을 결정할 수도 있다.Alternatively, at
상기 설명된 바와 같이, 블록 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)) 중 하나 이상에 대한 고품질 디코딩 (예를 들어, 다중 루프 디코딩) 을 구현하기 위한 유연성을 유지할 수도 있다.As described above, at block 630, the
대안적으로, 상기 설명된 바와 같이, 블록 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) 는 슬라이스 헤더에서의 정보에 기초하여 이러한 결정을 행할 수도 있다.Alternatively, as described above, at block 630, the
일 실시형태에 있어서, 변수는, 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 임계치 값을 표시할 것이다.In one embodiment, the variable is an integer value that may represent a TID threshold value (e.g., the TID threshold value described in connection with block 650) (e.g., an integer value between "0" ). In one embodiment, the value of the variable is set to a first picture (e.g., the
다른 실시형태에 있어서, 변수는 임의의 값으로 설정되지 않을 수도 있다. 도 5 와 관련하여 설명된 바와 같이, 이 경우, 그 후, 변수는 특정 값 (예를 들어, "7" 의 정수값) 을 갖는 것으로 추론될 수도 있다. 상기 설명된 바와 같이, 일 실시형태에 있어서, 그러한 설정은 (블록 650 에서) 프로세서 (13) 로 하여금 예를 들어 픽처들 각각이 가능한 TID 값 (예를 들어, "7" 보다 작은 TID 값) 과 연관되기 때문에 픽처들 각각이 계층간 예측을 위해 사용될 것임을 결정하게 할 수도 있다.In another embodiment, the variable may not be set to any value. As described in connection with FIG. 5, in this case, the variable may then be deduced to have a particular value (e.g., an integer value of "7"). As described above, in one embodiment, such a setting (at block 650) causes the
블록 640 또는 블록 650 중 어느 하나 이후, 프로세서 (13) 는, 프로세서 (13) 가 상기 설명된 바와 같이 (블록 610 에서) 부가적인 제 2 계층으로 프로세스를 반복하거나 (블록 690 에서) 방법을 종료할 블록 620 으로 계속할 수도 있다. 일 실시형태에 있어서, 방법이 종료할 경우, 그 후, 비디오 디코더 (30) 는 관련 현재 픽처들 (예를 들어, 현재 픽처들 (430)) 중 하나 이상에 기초한 계층간 예측을 사용하여 인핸스먼트 픽처들 (예를 들어, 인핸스먼트 픽처들 (431 및/또는 432)) 중 하나 이상을 디코딩하도록 진행할 수도 있다. 일 양태에 있어서, 하나 이상의 관련 현재 픽처들은, 현재 픽처 및 인핸스먼트 계층 픽처와 연관된 TID 임계치 값보다 작은 TID 값과 연관될 수도 있다.After either block 640 or block 650, the
도 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 계층의 픽처들을 계층간 예측하기 위해 사용될 수 있음을 결정할 수도 있다.After scenario A of FIG. 4 with the method described with respect to FIG. 6, the
시나리오 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 값과 연관될 수도 있다.In the illustrated example of scenario A, pictures in a first layer (e.g.,
도 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 값과 연관될 수도 있다.After scenario B of FIG. 4 with the method described with respect to FIG. 6, the
도 4 및 도 5 와 관련하여 상기 설명된 바와 같이, 상기 프로세스들은 프로세서 (13) 및/또는 비디오 디코더 (30) 가 설명된 결정들을 어떻게 행할 수 있는지의 단지 예들일 뿐이다.4 and 5, the processes are merely examples of how
비디오 정보를 인코딩하는 방법의 다른 실시형태가 도 7 에 도시된다. 방법 (700) 은 블록 710 에서 시작한다. 블록 710 에서, 프로세서 (예를 들어, 본 명세서에서 기술된 임의의 프로세서) 는 제 1 계층과 연관된 제 1 픽처를 저장한다. 프로세서는 또한, 제 1 계층의 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장한다. 예를 들어, 일 실시형태에 있어서, 제 1 계층은 상기 설명된 제 1 계층 (410A) 에 대응하고, 복수의 인핸스먼트 계층들은 상기 설명된 제 1 및 제 2 인핸스먼트 계층들 (415A1 및 415A2) 에 대응한다.Another embodiment of a method of encoding video information is shown in Fig. The
블록 730 에서, 프로세서는 인핸스먼트 계층들 각각에 대한 별도의 표시를 제공한다. 그 표시는, 제 1 픽처가 개별 인핸스먼트 계층에서의 인핸스먼트 계층 픽처의 계층간 예측을 위해 사용될 수 있는지 여부를 표시한다. 예를 들어, 프로세서는, 상기 설명된 바와 같이, 각각의 제 1 계층-인핸스먼트 계층 쌍에 대한 맥스 TID 값을 제공할 수도 있다. 일 실시형태에 있어서, 프로세서는 [i] 인덱스 (여기서, [i] 는 제 1 계층의 계층 ID 값을 표시함) 및 [j] 인덱스 (여기서, [j] 는 각각의 인핸스먼트 계층의 계층 ID 값을 표시함) 를 갖는 변수에서의 맥스 TID 값을 제공한다. 따라서, 방법 (700) 은 현재 계층의 각각의 인핸스먼트 계층에 대한 상이한 맥스 TID 값들을 명시할 능력을 프로세서에게 제공한다. 방법 (700) 은 블록 740 에서 종료한다.At
하나 이상의 예들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송되고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은 데이터 저장 매체들과 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체들, 또는 예를 들어, 통신 프로토콜에 따라 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비-일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 캐리어파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 본 개시에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 컴퓨터 프로그램 제품이 컴퓨터 판독가능 매체를 포함할 수도 있다.In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored or transmitted on one or more instructions or code as computer-readable media and executed by a hardware-based processing unit. Computer-readable media may be embodied in computer-readable storage media, such as data storage media, or any other medium that facilitates the transfer of a computer program from one location to another, for example, in accordance with a communication protocol. Media, and the like. In this manner, computer readable media may generally correspond to (1) non-transitory types of computer readable storage media or (2) communication media such as signals or carrier waves. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementation of the techniques described herein. The computer program product may comprise a computer readable medium.
한정이 아닌 예로서, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 하지만, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 커넥션들, 캐리어파들, 신호들, 또는 다른 일시적 매체를 포함하지 않지만 대신 비-일시적인 유형의 저장 매체로 지향됨을 이해해야 한다. 본 명세서에서 사용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 는 레이저들을 이용하여 데이터를 광학적으로 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.By way of example, and not limitation, such computer-readable storage media can comprise one or more of the following: RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, Or any other medium which can be used to store data in the form of data structures and which can be accessed by a computer. Also, any connection is properly termed a computer readable medium. If commands are sent from a website, server, or other remote source using, for example, wireless technologies such as coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line (DSL), or infrared, radio, and microwave, Wireless technologies such as cable, fiber optic cable, twisted pair, DSL, or infrared, radio, and microwave are included in the definition of the medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other temporary media, but are instead directed to non-transitory types of storage media. Disks and discs as used herein include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVD), floppy discs and Blu-ray discs, disk typically reproduces data magnetically, while a disc optically reproduces data using lasers. Combinations of the above should also be included within the scope of computer readable media.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적된 또는 별개의 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 이에 따라, 본 명세서에서 사용된 바와 같은 용어 "프로세서" 는 본 명세서에서 설명된 기법들의 구현에 적합한 전술한 구조 또는 임의의 다른 구조 중 임의의 구조를 지칭할 수도 있다. 부가적으로, 일부 양태들에 있어서, 본 명세서에서 설명된 기능은 인코딩 및 디코딩을 위해 구성되거나 또는 결합된 코덱에서 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.The instructions may include one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry Lt; / RTI > processors. Accordingly, the term "processor" as used herein may refer to any of the structures described above or any other structure suitable for implementation of the techniques described herein. Additionally, in some aspects, the functions described herein may be provided in dedicated hardware and / or software modules integrated in a codec configured or combined for encoding and decoding. In addition, the techniques may be fully implemented in one or more circuits or logic elements.
본 개시의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하여 매우 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들이 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 오히려, 상기 설명된 바와 같이, 다양한 유닛들은 적합한 소프트웨어 및/또는 펌웨어와 함께 상기 설명된 바와 같은 하나 이상의 프로세서들을 포함하여 코덱 하드웨어 유닛으로 결합되거나 또는 상호운용식 하드웨어 유닛들의 집합에 의해 제공될 수도 있다. 다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.The techniques of the present disclosure may be implemented in a wide variety of devices or devices, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules or units are described in this disclosure to emphasize the functional aspects of the devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, the various units may be combined into a codec hardware unit, including one or more processors as described above with suitable software and / or firmware, or may be provided by a set of interoperable hardware units . Various examples have been described. These and other examples are within the scope of the following claims.
Claims (30)
제 1 계층 [i] 과 연관된 픽처들 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하도록 구성된 메모리 유닛; 및
상기 메모리 유닛과 통신하고, 상기 복수의 인핸스먼트 계층들 중의 특정 인핸스먼트 계층 [j] 과 상기 제 1 계층 [i] 의 각각의 조합과 연관된 변수 max_tid_il_ref_pics_plus1[i][j] 에 값을 할당하도록 구성된 프로세서를 포함하고,
상기 복수의 인핸스먼트 계층들의 각각에 대해, 상기 특정 인핸스먼트 계층 [j] 과 연관된 상기 변수 max_tid_il_ref_pics_plus1[i][j] 의 상기 값보다 적은 시간 식별 값을 갖는 상기 제 1 계층 [i] 과 연관된 픽처들은 상기 특정 인핸스먼트 계층 [j] 과 연관된 상기 인핸스먼트 계층 픽처들의 계층간 예측을 위해 사용될 수 있는, 비디오 인코더.As a video encoder,
A memory unit configured to store enhancement layer pictures associated with a plurality of enhancement layers and pictures associated with a first layer [i]; And
Communicating with the memory unit and assigning a value to a variable max_tid_il_ref_pics_plus1 [i] [j] associated with a combination of a particular enhancement layer [j] and each of the first layers [i] of the plurality of enhancement layers A processor,
For each of the plurality of enhancement layers, a picture associated with the first layer [i] having a time identification value less than the value of the variable max_tid_il_ref_pics_plus1 [i] [j] associated with the particular enhancement layer [ Can be used for inter-layer prediction of the enhancement layer pictures associated with the particular enhancement layer [j].
상기 프로세서는 추가로, 상기 변수 max_tid_il_ref_pics_plus1[i][j] 의 존재 또는 부재에 기초하여 비디오 파라미터 세트 (VPS) 확장에서 max_tid_ref_present_flag 를 시그널링하도록 구성되는, 비디오 인코더.The method according to claim 1,
Wherein the processor is further configured to signal max_tid_ref_present_flag in a video parameter set (VPS) extension based on the presence or absence of the variable max_tid_il_ref_pics_plus1 [i] [j].
상기 프로세서는, 상기 제 1 계층 [i] 과 연관된 픽처들이 상기 특정 인핸스먼트 계층 [j] 과 연관된 픽처들의 계층간 예측을 위해 사용되지 않음에 기초하여 상기 변수 max_tid_il_ref_pics_plus1[i][j] 에 0 의 값을 할당하도록 구성되는, 비디오 인코더.The method according to claim 1,
Wherein the processor is further configured to determine whether the variable max_tid_il_ref_pics_plus1 [i] [j] has a value of 0 based on whether the pictures associated with the first layer [i] are not used for inter- Value to the video encoder.
상기 프로세서는, 상기 제 1 계층 [i] 과 연관된 픽처들 모두가 상기 특정 인핸스먼트 계층 [j] 과 연관된 픽처들의 계층간 예측을 위해 사용됨에 기초하여 상기 max_tid_ref_present_flag 를 0 으로 설정하고 상기 변수 max_tid_il_ref_pics_plus1[i][j] 를 시그널링하지 않도록 구성되는, 비디오 인코더.3. The method of claim 2,
Wherein the processor sets the max_tid_ref_present_flag to 0 based on the fact that all pictures associated with the first layer [i] are used for inter-layer prediction of pictures associated with the particular enhancement layer [j] and the variable max_tid_il_ref_pics_plus1 [i ] [j]. < / RTI >
제 1 계층 [i] 과 연관된 픽처들 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하는 단계; 및
상기 복수의 인핸스먼트 계층들 중의 특정 인핸스먼트 계층 [j] 과 상기 제 1 계층 [i] 의 각각의 조합과 연관된 변수 max_tid_il_ref_pics_plus1[i][j] 에 값을 할당하는 단계를 포함하고,
상기 복수의 인핸스먼트 계층들의 각각에 대해, 상기 특정 인핸스먼트 계층 [j] 과 연관된 상기 변수 max_tid_il_ref_pics_plus1[i][j] 의 상기 값보다 적은 시간 식별 값을 갖는 상기 제 1 계층 [i] 과 연관된 픽처들은 상기 특정 인핸스먼트 계층 [j] 과 연관된 상기 인핸스먼트 계층 픽처들의 계층간 예측을 위해 사용될 수 있는, 비디오를 인코딩하는 방법.CLAIMS 1. A method of encoding video,
Storing enhancement layer pictures associated with a plurality of enhancement layers and pictures associated with a first layer [i]; And
Assigning a value to a variable max_tid_il_ref_pics_plus1 [i] [j] associated with each combination of a particular enhancement layer [j] and the first layer [i] of the plurality of enhancement layers,
For each of the plurality of enhancement layers, a picture associated with the first layer [i] having a time identification value less than the value of the variable max_tid_il_ref_pics_plus1 [i] [j] associated with the particular enhancement layer [ Can be used for inter-layer prediction of the enhancement layer pictures associated with the particular enhancement layer [j].
상기 변수 max_tid_il_ref_pics_plus1[i][j] 의 존재 또는 부재에 기초하여 비디오 파라미터 세트 (VPS) 확장에서 max_tid_ref_present_flag 를 시그널링하는 단계를 더 포함하는, 비디오를 인코딩하는 방법.6. The method of claim 5,
Further comprising signaling max_tid_ref_present_flag in a video parameter set (VPS) extension based on the presence or absence of the variable max_tid_il_ref_pics_plus1 [i] [j].
상기 제 1 계층 [i] 과 연관된 픽처들이 상기 특정 인핸스먼트 계층 [j] 과 연관된 픽처들의 계층간 예측을 위해 사용되지 않음에 기초하여 상기 변수 max_tid_il_ref_pics_plus1[i][j] 에 0 의 값을 할당하는 단계를 더 포함하는, 비디오를 인코딩하는 방법.6. The method of claim 5,
Assigning a value of 0 to the variable max_tid_il_ref_pics_plus1 [i] [j] based on the fact that the pictures associated with the first layer [i] are not used for inter-layer prediction of pictures associated with the particular enhancement layer [j] ≪ / RTI > further comprising the steps of:
상기 제 1 계층 [i] 과 연관된 픽처들 모두가 상기 특정 인핸스먼트 계층 [j] 과 연관된 픽처들의 계층간 예측을 위해 사용됨에 기초하여 상기 max_tid_ref_present_flag 를 0 으로 설정하고 상기 변수 max_tid_il_ref_pics_plus1[i][j] 를 시그널링하지 않는 단계를 더 포함하는, 비디오를 인코딩하는 방법.The method according to claim 6,
Ij] [j] based on the fact that all of the pictures associated with the first layer [i] are used for inter-layer prediction of pictures associated with the particular enhancement layer [j] and the max_tid_ref_present_flag is set to 0, and the variable max_tid_il_ref_pics_plus1 [i] Lt; RTI ID = 0.0 > 1, < / RTI >
제 1 계층 [i] 과 연관된 픽처들 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 픽처들을 저장하도록 구성된 메모리 유닛; 및
상기 메모리 유닛과 통신하고, 상기 제 1 계층 [i] 과 연관된 픽처들이, 특정 인핸스먼트 계층 [j] 과 상기 제 1 계층 [i] 의 각각의 조합과 연관된 변수 max_tid_il_ref_pics_plus1[i][j] 의 값보다 적은 시간 식별 값을 갖는 상기 제 1 계층 [i] 과 연관된 픽처들에 기초하여, 상기 복수의 인핸스먼트 계층들 중의 상기 특정 인핸스먼트 계층 [j] 의 계층간 예측을 위해 사용될 수 있음을 결정하도록 구성된 프로세서를 포함하는, 비디오 디코더.A video decoder comprising:
A memory unit configured to store enhancement pictures associated with a plurality of enhancement layers and pictures associated with a first layer [i]; And
Wherein the pictures associated with the first layer [i] are associated with a value of a variable max_tid_il_ref_pics_plus1 [i] [j] associated with each combination of the particular enhancement layer [j] and the first layer [i] To determine that it can be used for inter-layer prediction of the particular enhancement layer [j] of the plurality of enhancement layers, based on the pictures associated with the first layer [i] And a processor configured.
상기 프로세서는 추가로, 상기 변수 max_tid_il_ref_pics_plus1[i][j] 의 존재 또는 부재에 기초하여 비디오 파라미터 세트 (VPS) 확장에서 max_tid_ref_present_flag 를 수신하도록 구성되는, 비디오 디코더.10. The method of claim 9,
Wherein the processor is further configured to receive a max_tid_ref_present_flag in a video parameter set (VPS) extension based on the presence or absence of the variable max_tid_il_ref_pics_plus1 [i] [j].
상기 프로세서는, 0 인 상기 변수 max_tid_il_ref_pics_plus1[i][j] 의 값에 기초하여, 상기 제 1 계층 [i] 과 연관된 픽처들을 폐기하도록 구성되는, 비디오 디코더.10. The method of claim 9,
Wherein the processor is configured to discard pictures associated with the first layer [i] based on a value of the variable max_tid_il_ref_pics_plus1 [i] [j] that is zero.
상기 프로세서는, 상기 제 1 계층 [i] 과 연관된 픽처들 모두가, 값 0 을 갖는 상기 max_tid_ref_present_flag 에 기초하여, 상기 특정 인핸스먼트 계층 [j] 과 연관된 픽처들의 계층간 예측을 위해 사용될 수 있음을 결정하도록 구성되고,
상기 프로세서는 추가로, 상기 변수 max_tid_il_ref_pics_plus1[i][j] 에 7 의 값을 할당하도록 구성되는, 비디오 디코더.11. The method of claim 10,
The processor determines that all of the pictures associated with the first layer [i] can be used for inter-layer prediction of pictures associated with the particular enhancement layer [j] based on the max_tid_ref_present_flag having a value of 0 Lt; / RTI >
Wherein the processor is further configured to assign a value of 7 to the variable max_tid_il_ref_pics_plus1 [i] [j].
제 1 계층 [i] 과 연관된 픽처들 및 복수의 인핸스먼트 계층들과 연관된 인핸스먼트 계층 픽처들을 저장하는 단계; 및
상기 제 1 계층 [i] 과 연관된 픽처들이, 특정 인핸스먼트 계층 [j] 과 상기 제 1 계층 [i] 의 각각의 조합과 연관된 변수 max_tid_il_ref_pics_plus1[i][j] 의 값보다 적은 시간 식별 값을 갖는 상기 제 1 계층 [i] 과 연관된 픽처들에 기초하여, 상기 복수의 인핸스먼트 계층들 중의 상기 특정 인핸스먼트 계층 [j] 의 계층간 예측을 위해 사용될 수 있음을 결정하는 단계를 포함하는, 비디오를 디코딩하는 방법.CLAIMS 1. A method for decoding video,
Storing enhancement layer pictures associated with a plurality of enhancement layers and pictures associated with a first layer [i]; And
The pictures associated with the first layer [i] have a time identification value that is less than the value of the variable max_tid_il_ref_pics_plus1 [i] [j] associated with each combination of the particular enhancement layer [j] and the first layer [i] Determining whether the enhancement layer can be used for inter-layer prediction of the particular enhancement layer [j] among the plurality of enhancement layers, based on the pictures associated with the first layer [i] Lt; / RTI >
0 인 상기 변수 max_tid_il_ref_pics_plus1[i][j] 의 값에 기초하여, 상기 제 1 계층 [i] 과 연관된 픽처들을 폐기하는 단계를 더 포함하는, 비디오를 디코딩하는 방법.14. The method of claim 13,
And discarding the pictures associated with the first layer [i], based on the value of the variable max_tid_il_ref_pics_plus1 [i] [j] with a value of 0.
상기 제 1 계층 [i] 과 연관된 픽처들 모두가, 값 0 을 갖는 max_tid_ref_present_flag 를 수신하는 것에 기초하여, 상기 특정 인핸스먼트 계층 [j] 과 연관된 픽처들의 계층간 예측을 위해 사용될 수 있음을 결정하는 단계, 및 상기 변수 max_tid_il_ref_pics_plus1[i][j] 에 7 의 값을 할당하는 단계를 더 포함하는, 비디오를 디코딩하는 방법.14. The method of claim 13,
Determining that all of the pictures associated with the first layer [i] can be used for inter-layer prediction of pictures associated with the particular enhancement layer [j], based on receiving a max_tid_ref_present_flag having a value of 0 , And assigning a value of 7 to the variable max_tid_il_ref_pics_plus1 [i] [j].
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 KR20160070822A (en) | 2016-06-20 |
KR101841858B1 true KR101841858B1 (en) | 2018-03-23 |
Family
ID=52809634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167012573A KR101841858B1 (en) | 2013-10-14 | 2014-10-14 | Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction |
Country Status (10)
Country | Link |
---|---|
US (1) | US9591324B2 (en) |
EP (1) | EP3058732B1 (en) |
JP (1) | JP6297710B2 (en) |
KR (1) | KR101841858B1 (en) |
CN (1) | CN105684444B (en) |
BR (1) | BR112016008240B1 (en) |
ES (1) | ES2749747T3 (en) |
HU (1) | HUE045515T2 (en) |
MX (1) | MX349627B (en) |
WO (1) | WO2015057685A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105519114A (en) | 2013-09-10 | 2016-04-20 | 株式会社Kt | Method and apparatus for encoding/decoding scalable video signal |
WO2018107404A1 (en) * | 2016-12-14 | 2018-06-21 | SZ DJI Technology Co., Ltd. | System and method for supporting video bit stream switching |
CN112673634A (en) * | 2018-09-11 | 2021-04-16 | 深圳市大疆创新科技有限公司 | System and method for supporting progressive video bitstream switching |
GB2618298A (en) * | 2021-09-21 | 2023-11-08 | V Nova Int Ltd | Low complexity enhancement video coding with temporal scalability |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015052942A1 (en) | 2013-10-11 | 2015-04-16 | Sharp Kabushiki Kaisha | Signaling information for coding |
Family Cites Families (4)
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 (en) * | 2013-01-07 | 2014-07-23 | 한국전자통신연구원 | Video Description for Scalable Coded Video Bitstream |
KR20150009424A (en) * | 2013-07-15 | 2015-01-26 | 한국전자통신연구원 | Method and apparatus for image encoding and decoding using inter-layer prediction based on temporal sub-layer information |
KR102294092B1 (en) * | 2014-01-02 | 2021-08-27 | 한국전자통신연구원 | Video decoding method and apparatus using the same |
-
2014
- 2014-10-13 US US14/513,113 patent/US9591324B2/en active Active
- 2014-10-14 WO PCT/US2014/060453 patent/WO2015057685A1/en active Application Filing
- 2014-10-14 CN CN201480055299.9A patent/CN105684444B/en active Active
- 2014-10-14 KR KR1020167012573A patent/KR101841858B1/en active IP Right Grant
- 2014-10-14 MX MX2016004625A patent/MX349627B/en active IP Right Grant
- 2014-10-14 JP JP2016547996A patent/JP6297710B2/en active Active
- 2014-10-14 EP EP14795709.6A patent/EP3058732B1/en active Active
- 2014-10-14 BR BR112016008240-0A patent/BR112016008240B1/en active IP Right Grant
- 2014-10-14 HU HUE14795709A patent/HUE045515T2/en unknown
- 2014-10-14 ES ES14795709T patent/ES2749747T3/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015052942A1 (en) | 2013-10-11 | 2015-04-16 | Sharp Kabushiki Kaisha | Signaling information for coding |
Non-Patent Citations (3)
Title |
---|
H. Lee, et al. MV-HEVC/SHVC HLS: Signalling for Inter-layer prediction indication. JCT-3V of ITU-T and ISO/IEC. JCT3V-E0091 Ver.3, Jul. 26, 2013, pp.1-4 |
Hendry, et al. AHG 9: Signalling Inter-layer Prediction Indication. JCT-VC of ITU-T and ISO/IEC. JCTVC-M0203 Ver.1, Apr. 8, 2013, pp.1-3 |
K. Rapaka, et al. MV-HEVC/SHVC HLS: On inter-layer RPS derivation and sub-layer inter-layer dependency. JCT-3V of ITU-T and ISO/IEC. JCT3V-F0080 Ver.1, Oct. 15, 2013, pp.1-6 |
Also Published As
Publication number | Publication date |
---|---|
US20150103905A1 (en) | 2015-04-16 |
WO2015057685A1 (en) | 2015-04-23 |
HUE045515T2 (en) | 2019-12-30 |
EP3058732B1 (en) | 2019-07-10 |
JP6297710B2 (en) | 2018-03-20 |
ES2749747T3 (en) | 2020-03-23 |
EP3058732A1 (en) | 2016-08-24 |
CN105684444A (en) | 2016-06-15 |
BR112016008240B1 (en) | 2023-04-11 |
US9591324B2 (en) | 2017-03-07 |
CN105684444B (en) | 2019-04-23 |
BR112016008240A2 (en) | 2017-08-01 |
KR20160070822A (en) | 2016-06-20 |
JP2016533697A (en) | 2016-10-27 |
MX2016004625A (en) | 2016-08-01 |
MX349627B (en) | 2017-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6914951B2 (en) | Predicting filter coefficients from fixed filters for video coding | |
CN107660341B (en) | Method, apparatus and device for decoding video data and storage medium | |
KR101574866B1 (en) | Performing motion vector prediction for video coding | |
JP6158422B2 (en) | Cross-layer POC alignment of multi-layer bitstreams that may include unaligned IRAP pictures | |
JP6266605B2 (en) | Unified signaling for lossless coding mode and pulse code modulation (PCM) mode in video coding | |
KR101870546B1 (en) | Systems and methods for inter-layer rps derivation based on sub-layer reference prediction dependency | |
US20150271517A1 (en) | Search region determination for intra block copy in video coding | |
JP2018110425A (en) | Low-delay buffering model in video coding | |
WO2018039596A1 (en) | Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction | |
JP2019525679A (en) | Cross component filter | |
JP2018530962A (en) | Pallet predictor initialization and merging for video coding | |
JP2019519141A (en) | Signaling of filtering information | |
JP2018530246A (en) | Improved video intra prediction using position-dependent prediction combinations for video coding | |
JP2017513326A (en) | Deblock filtering using pixel distance | |
WO2015006662A2 (en) | Adaptive filtering in video coding | |
KR102221569B1 (en) | Indication of cross-layer picture type alignment in multi-layer video coding | |
JP2014513456A (en) | Video coding technique for coding dependent pictures after random access | |
KR20150076235A (en) | Reference picture status for video coding | |
KR20150140729A (en) | Sample adaptive offset scaling based on bit-depth | |
CN107258081B (en) | Optimization of video data encoded using non-square partitions | |
KR20140139571A (en) | Inter layer texture prediction for video coding | |
KR101841858B1 (en) | Systems and methods for separately defining dependencies for sub-layer based inter-layer prediction | |
JP2017512025A (en) | Flicker detection and mitigation in video coding |
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 |