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

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

Info

Publication number
KR102101535B1
KR102101535B1 KR1020167028815A KR20167028815A KR102101535B1 KR 102101535 B1 KR102101535 B1 KR 102101535B1 KR 1020167028815 A KR1020167028815 A KR 1020167028815A KR 20167028815 A KR20167028815 A KR 20167028815A KR 102101535 B1 KR102101535 B1 KR 102101535B1
Authority
KR
South Korea
Prior art keywords
picture
layer
coded
decoding
base layer
Prior art date
Application number
KR1020167028815A
Other languages
English (en)
Other versions
KR20160134782A (ko
Inventor
미스카 한누크셀라
Original Assignee
노키아 테크놀로지스 오와이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 테크놀로지스 오와이 filed Critical 노키아 테크놀로지스 오와이
Publication of KR20160134782A publication Critical patent/KR20160134782A/ko
Application granted granted Critical
Publication of KR102101535B1 publication Critical patent/KR102101535B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 인코딩 및 디코딩을 위한 다양한 방법, 장치 및 컴퓨터 프로그램 제품이 개시된다. 몇몇 실시예에서, 제1 비디오 비트스트림의 베이스 레이어 및/또는 제2 비디오 비트스트림의 향상 레이어를 포함하는 파일 또는 스트림 내의 베이스 레이어 픽처 및 향상 레이어 픽처와 연계된 데이터 구조가 인코딩되고, 향상 레이어는 베이스 레이어로부터 예측될 수 있고, 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되는지 여부를 지시하는 정보가 데이터 구조 내로 또한 인코딩된다. 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되면, 데이터 구조 정보는 또한 향상 레이어 디코딩에 사용될 디코딩된 베이스 레이어 픽처를 위한 인트라 랜덤 액세스 포인트 IRAP 픽처의 유형을 또한 지시한다.

Description

비디오 코딩 및 디코딩용 방법 및 장치{METHOD AND APPARATUS FOR VIDEO CODING AND DECODING}
본 출원은 일반적으로 비디오 코딩 및 디코딩용 장치, 방법 및 컴퓨터 프로그램에 관한 것이다. 더 구체적으로, 다양한 실시예는 인터레이싱된 소스 콘텐트(interlaced source content)의 코딩 및 디코딩에 관한 것이다.
이 섹션은 청구범위에 상술된 본 발명에 배경기술 또는 맥락(context)을 제공하도록 의도된 것이다. 본 명세서의 설명은, 추구될 수 있지만, 반드시 이전에 인식되었거나 추구되었던 것들은 아닌 개념을 포함할 수 있다. 따라서, 본 명세서에서 달리 나타내지 않으면, 이 섹션에서 설명된 것은 본 출원에서 상세한 설명 및 청구범위의 종래 기술은 아니고, 이 섹션에 포함되는 것으로 인해 종래 기술로 용인되는 것은 아니다.
비디오 코딩 시스템은 저장/전송에 적합한 압축된 표현으로 입력 비디오를 변환하는 인코더와, 압축된 비디오 표현을 재차 뷰잉가능한 형태로 압축해제할 수 있는 디코더를 포함할 수 있다. 인코더는 더 치밀한 형태로 비디오를 표현하기 위해, 예를 들어 그 외에 요구될 수도 있는 것보다 더 낮은 비트레이트에서 비디오 정보의 저장/전송을 가능하게 하기 위해, 원본 비디오 시퀀스에서 몇몇 정보를 폐기할 수 있다.
스케일러블 비디오 코딩(scalable video coding)은 하나의 비트스트림이 상이한 비트레이트, 분해능, 프레임 레이트 및/또는 다른 유형의 스케일러빌러티(scalability)에서 콘텐트의 다수의 표현을 포함할 수 있는 코딩 구조를 참조한다. 스케일러블 비트스트림은 이용가능한 최저품질 비디오를 제공하는 베이스 레이어 및 수신되어 하위 레이어와 함께 디코딩될 때 비디오 품질을 향상시키는 하나 이상의 향상 레이어(enhancement layers)로 이루어질 수 있다. 향상 레이어를 위한 코딩 효율을 향상시키기 위해, 그 레이어의 코딩된 표현은 하위 레이어에 의존할 수 있다. 각각의 레이어는 모든 그 종속 레이어와 함께 특정 공간 분해능, 시간 분해능, 품질 레벨, 및/또는 다른 유형의 스케일러빌러티의 동작 포인트에서 비디오 신호의 일 표현이다.
3차원(3D) 비디오 콘텐트를 제공하기 위한 다양한 기술이 현재 연구되고 개발되고 있다. 특히, 뷰어가 특정 뷰포인트로부터 단지 한 쌍의 스테레오 비디오를 그리고 상이한 뷰포인트로부터 다른 쌍의 스테레오 비디오를 보는 것이 가능한 다양한 멀티뷰 용례에 심화 연구가 집중되어 왔다. 이러한 멀티뷰 용례를 위한 가장 실행가능한 접근법들 중 하나는, 단지 제한된 수의 입력 뷰(예를 들어 모노 또는 스테레오 비디오에 더하여 보충 데이터)만이 디코더측에 제공되고 모든 필요한 뷰가 이어서 디스플레이 상에 표시되도록 디코더에 의해 로컬방식으로 렌더링되는(즉, 합성됨) 것으로 판명되었다.
3D 비디오 콘텐트의 인코딩에 있어서, 어드밴스드 비디오 코딩 표준(Advanced Video Coding standard)(H.264/AVC), H.264/AVC의 멀티뷰 비디오 코딩(Multiview Video Coding: MVC) 확장 또는 HEVC의 스케일러블 확장과 같은 비디오 압축 시스템이 사용될 수 있다.
몇몇 실시예는 비디오 정보를 인코딩 및 디코딩하기 위한 방법을 제공한다. 몇몇 실시예에서, 목표는 SHVC와 같은 스케일러블 비디오 코딩 확장을 사용하여 적응성 분해능 변화를 가능하게 하는 것이다. 이는 향상 레이어 내의 단지 특정 유형의 픽처(예를 들어, RAP 픽처, 또는 상이한 NAL 단위 유형으로 지시된 상이한 유형의 픽처)만이 인터 레이어 예측을 이용하는 것을 스케일러블 비디오 코딩 비트스트림 내에 나타냄으로써 행해질 수 있다. 게다가, 적응성 분해능 변화 동작은 스위칭 픽처를 제외하고는, 시퀀스 내의 각각의 AU가 단일 레이어로부터 단일 픽처를 포함하도록(베이스 레이어 픽처일 수 있거나 또는 아닐 수도 있음) 비트스트림 내에 지시될 수 있고; 스위칭이 발생하는 액세스 단위는 2개의 레이어로부터 픽처를 포함하고 인터 레이어 스케일러빌러티 툴이 사용될 수 있다.
전술된 코딩 구성은 몇몇 진보를 제공할 수 있다. 예를 들어, 이 지시를 사용하여, 적응성 분해능 변화가 스케일러블 확장 프레임워크를 갖는 비디오 회의 환경에 사용될 수 있고, 중간 박스가 비트스트림을 트림하고 상이한 기능을 갖는 종단점을 위해 적응하기 위한 더 많은 융통성을 가질 수 있다.
본 발명의 다양한 양태가 상세한 설명에 제공된다.
제 1 양태에 따르면, 방법에 있어서,
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로 또는 디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트가 비트스트림 내에 존재하는지를 판정하기 위해 하나 이상의 지시를 수신하는 단계를 포함하고, 스위칭 포인트가 존재하면, 방법은
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 단계:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임 및 제2 스케일러빌러티 레이어의 제2 코딩된 필드를 수신하는 단계;
제 1 재구성된 프레임 내로 제 1 코딩된 프레임을 재구성하는 단계;
제 1 재구성된 프레임을 제 1 참조 픽처로 리샘플링하는 단계; 및
제2 코딩된 필드를 제2 재구성된 필드로 디코딩하는 단계를 수행하는 단계를 추가로 포함하고, 디코딩은 제2 코딩된 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함하고,
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답으로서, 이하의 단계:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드를 제 1 재구성된 상보적 필드쌍으로 디코딩하거나 제3 스케일러빌러티 레이어의 제 1 코딩된 필드를 제 1 재구성된 필드로 디코딩하는 단계;
제 1 재구성된 상보적 필드쌍 또는 제 1 재구성된 필드의 하나 또는 양 필드를 제2 참조 픽처 내로 리샘플링하는 단계;
제4 스케일러빌러티의 제2 코딩된 프레임을 제2 재구성된 프레임으로 디코딩하는 단계를 수행하는 단계를 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함하는 방법이 제공된다.
제2 양태에 따르면, 장치에 있어서, 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하고, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서와 함께, 장치가
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로 또는 디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트가 비트스트림 내에 존재하는지를 판정하기 위해 하나 이상의 지시를 수신하게 하도록 구성되고, 스위칭 포인트가 존재하면, 방법은
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임 및 제2 스케일러빌러티 레이어의 제2 코딩된 필드를 수신하고;
제 1 재구성된 프레임 내로 제 1 코딩된 프레임을 재구성하고;
제 1 재구성된 프레임을 제 1 참조 픽처로 리샘플링하고;
제2 코딩된 필드를 제2 재구성된 필드로 디코딩하도록 하는 동작을 수행하는 것을 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함하고;
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드를 제 1 재구성된 상보적 필드쌍으로 디코딩하거나 제3 스케일러빌러티 레이어의 제 1 코딩된 필드를 제 1 재구성된 필드로 디코딩하고;
제 1 재구성된 상보적 필드쌍 또는 제 1 재구성된 필드의 하나 또는 양 필드를 제2 참조 픽처 내로 리샘플링하고;
제4 스케일러빌러티의 제2 코딩된 프레임을 제2 재구성된 프레임으로 디코딩하는 동작을 수행하는 것을 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함하는 장치가 제공된다.
제3 양태에 따르면, 비일시적 컴퓨터 판독가능 매체 상에 구체화된 컴퓨터 프로그램 제품에 있어서, 적어도 하나의 프로세서 상에서 실행될 때, 장치 또는 시스템이
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로 또는 디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트가 비트스트림 내에 존재하는지를 판정하기 위해 하나 이상의 지시를 수신하게 하도록 구성된 컴퓨터 프로그램 코드를 포함하고, 스위칭 포인트가 존재하면, 방법은
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임 및 제2 스케일러빌러티 레이어의 제2 코딩된 필드를 수신하고;
제 1 재구성된 프레임 내로 제 1 코딩된 프레임을 재구성하고;
제 1 재구성된 프레임을 제 1 참조 픽처로 리샘플링하고;
제2 코딩된 필드를 제2 재구성된 필드로 디코딩하도록 하는 동작을 수행하는 것을 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함하고;
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드를 제 1 재구성된 상보적 필드쌍으로 디코딩하거나 제3 스케일러빌러티 레이어의 제 1 코딩된 필드를 제 1 재구성된 필드로 디코딩하고;
제 1 재구성된 상보적 필드쌍 또는 제 1 재구성된 필드의 하나 또는 양 필드를 제2 참조 픽처 내로 리샘플링하고;
제4 스케일러빌러티의 제2 코딩된 프레임을 제2 재구성된 프레임으로 디코딩하는 동작을 수행하는 것을 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함하는 컴퓨터 프로그램 제품이 제공된다.
제4 양태에 따르면, 방법에 있어서,
제 1 비압축된 상보적 필드쌍 및 제2 비압축된 상보적 필드쌍을 수신하는 단계;
제 1 코딩된 프레임 또는 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는지 제2 코딩된 프레임 또는 제2 쌍의 코딩된 필드로서 제2 비압축된 상보적 필드쌍을 인코딩하는지 여부를 결정하는 단계;
제 1 상보적 필드쌍이 제 1 코딩된 프레임으로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 쌍의 코딩된 필드로서 인코딩된다는 결정에 대한 응답으로서, 이하의 단계:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임으로서 제 1 상보적 필드쌍을 인코딩하는 단계;
제 1 참조 픽처 내로 제 1 코딩된 프레임을 재구성하는 단계;
제 1 참조 픽처 내로 제 1 재구성된 프레임을 리샘플링하는 단계; 및
제2 스케일러빌러티 레이어의 제2 쌍의 코딩된 필드로서 제2 상보적 필드쌍을 인코딩하는 단계를 수행하는 단계 - 인코딩은 제2 쌍의 코딩된 필드의 적어도 하나의 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함함 -;
제 1 상보적 필드쌍이 제 1 쌍의 코딩된 필드로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 코딩된 프레임으로서 인코딩된다는 결정에 대한 응답으로서, 이하의 단계:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는 단계;
제 1 재구성된 필드 및 제2 재구성된 필드 중 적어도 하나 내로 제 1 쌍의 코딩된 필드 중 적어도 하나를 재구성하는 단계;
제2 참조 픽처 내로 제 1 재구성된 필드 및 제2 재구성된 필드 중 하나 또는 모두를 리샘플링하는 단계; 및
제4 스케일러빌러티 레이어의 제2 코딩된 프레임으로서 제2 상보적 필드쌍을 인코딩하는 단계를 수행하는 단계 - 인코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함함 - 를 수행하는 단계를 포함하는 방법이 제공된다.
제5 양태에 따르면, 장치에 있어서, 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하고, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서와 함께, 장치가
제 1 비압축된 상보적 필드쌍 및 제2 비압축된 상보적 필드쌍을 수신하게 하고;
제 1 코딩된 프레임 또는 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는지 제2 코딩된 프레임 또는 제2 쌍의 코딩된 필드로서 제2 비압축된 상보적 필드쌍을 인코딩하는지 여부를 결정하게 하고;
제 1 상보적 필드쌍이 제 1 코딩된 프레임으로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 쌍의 코딩된 필드로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임으로서 제 1 상보적 필드쌍을 인코딩하게 하고;
제 1 참조 픽처 내로 제 1 코딩된 프레임을 재구성하게 하고;
제 1 참조 픽처 내로 제 1 재구성된 프레임을 리샘플링하게 하고;
제2 스케일러빌러티 레이어의 제2 쌍의 코딩된 필드로서 제2 상보적 필드쌍을 인코딩하게 하는 것을 수행하고 - 인코딩은 제2 쌍의 코딩된 필드의 적어도 하나의 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함함 -;
제 1 상보적 필드쌍이 제 1 쌍의 코딩된 필드로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 코딩된 프레임으로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하게 하고;
제 1 재구성된 필드 및 제2 재구성된 필드 중 적어도 하나 내로 제 1 쌍의 코딩된 필드 중 적어도 하나를 재구성하게 하고;
제2 참조 픽처 내로 제 1 재구성된 필드 및 제2 재구성된 필드 중 하나 또는 모두를 리샘플링하게 하고;
제4 스케일러빌러티 레이어의 제2 코딩된 프레임으로서 제2 상보적 필드쌍을 인코딩하게 하는 것을 수행하도록 - 인코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함함 - 구성되는 장치가 제공된다.
제6 양태에 따르면, 비일시적 컴퓨터 판독가능 매체 상에 구체화된 컴퓨터 프로그램 제품에 있어서, 적어도 하나의 프로세서 상에서 실행될 때, 장치 또는 시스템이
제 1 비압축된 상보적 필드쌍 및 제2 비압축된 상보적 필드쌍을 수신하게 하고;
제 1 코딩된 프레임 또는 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는지 제2 코딩된 프레임 또는 제2 쌍의 코딩된 필드로서 제2 비압축된 상보적 필드쌍을 인코딩하는지 여부를 결정하게 하고;
제 1 상보적 필드쌍이 제 1 코딩된 프레임으로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 쌍의 코딩된 필드로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임으로서 제 1 상보적 필드쌍을 인코딩하게 하고;
제 1 참조 픽처 내로 제 1 코딩된 프레임을 재구성하게 하고;
제 1 참조 픽처 내로 제 1 재구성된 프레임을 리샘플링하게 하고;
제2 스케일러빌러티 레이어의 제2 쌍의 코딩된 필드로서 제2 상보적 필드쌍을 인코딩하게 하는 것을 수행하고 - 인코딩은 제2 쌍의 코딩된 필드의 적어도 하나의 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함함 -;
제 1 상보적 필드쌍이 제 1 쌍의 코딩된 필드로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 코딩된 프레임으로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하게 하고;
제 1 재구성된 필드 및 제2 재구성된 필드 중 적어도 하나 내로 제 1 쌍의 코딩된 필드 중 적어도 하나를 재구성하게 하고;
제2 참조 픽처 내로 제 1 재구성된 필드 및 제2 재구성된 필드 중 하나 또는 모두를 리샘플링하게 하고;
제4 스케일러빌러티 레이어의 제2 코딩된 프레임으로서 제2 상보적 필드쌍을 인코딩하게 하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제7 양태에 따르면, 픽처 데이터 단위의 비트스트림을 디코딩하기 위해 구성된 비디오 디코더가 제공되고, 상기 비디오 디코더는 또한
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로 또는 디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트가 비트스트림 내에 존재하는지를 판정하기 위해 하나 이상의 지시를 수신하기 위해 구성되고, 스위칭 포인트가 존재하면, 방법은
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 단계:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임 및 제2 스케일러빌러티 레이어의 제2 코딩된 필드를 수신하고;
제 1 재구성된 프레임 내로 제 1 코딩된 프레임을 재구성하고;
제 1 재구성된 프레임을 제 1 참조 픽처로 리샘플링하고;
제2 코딩된 필드를 제2 재구성된 필드로 디코딩하는 것을 수행하는 단계를 추가로 포함하고, 디코딩은 제2 코딩된 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함하고,
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답으로서, 이하의 단계:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드를 제 1 재구성된 상보적 필드쌍으로 디코딩하거나 제3 스케일러빌러티 레이어의 제 1 코딩된 필드를 제 1 재구성된 필드로 디코딩하고;
제 1 재구성된 상보적 필드쌍 또는 제 1 재구성된 필드의 하나 또는 양 필드를 제2 참조 픽처 내로 리샘플링하고;
제4 스케일러빌러티의 제2 코딩된 프레임을 제2 재구성된 프레임으로 디코딩하는 것을 수행하는 단계를 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함한다.
제8 양태에 따르면, 픽처 데이터 단위의 비트스트림을 디코딩하기 위해 구성된 비디오 디코더가 제공되고, 상기 비디오 디코더는 또한
제 1 비압축된 상보적 필드쌍 및 제2 비압축된 상보적 필드쌍을 수신하고;
제 1 코딩된 프레임 또는 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는지 제2 코딩된 프레임 또는 제2 쌍의 코딩된 필드로서 제2 비압축된 상보적 필드쌍을 인코딩하는지 여부를 결정하고;
제 1 상보적 필드쌍이 제 1 코딩된 프레임으로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 쌍의 코딩된 필드로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임으로서 제 1 상보적 필드쌍을 인코딩하고;
제 1 참조 픽처 내로 제 1 코딩된 프레임을 재구성하고;
제 1 참조 픽처 내로 제 1 재구성된 프레임을 리샘플링하고;
제2 스케일러빌러티 레이어의 제2 쌍의 코딩된 필드로서 제2 상보적 필드쌍을 인코딩하는 단계를 수행하고 - 인코딩은 제2 쌍의 코딩된 필드의 적어도 하나의 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함함 -;
제 1 상보적 필드쌍이 제 1 쌍의 코딩된 필드로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 코딩된 프레임으로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하고;
제 1 재구성된 필드 및 제2 재구성된 필드 중 적어도 하나 내로 제 1 쌍의 코딩된 필드 중 적어도 하나를 재구성하고;
제2 참조 픽처 내로 제 1 재구성된 필드 및 제2 재구성된 필드 중 하나 또는 모두를 리샘플링하고;
제4 스케일러빌러티 레이어의 제2 코딩된 프레임으로서 제2 상보적 필드쌍을 인코딩하기 위해 - 인코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함함 - 구성된다.
본 발명의 예시적인 실시예의 더 완전한 이해를 위해, 이제 첨부 도면과 관련하여 취한 이하의 상세한 설명을 참조한다.
도 1은 본 발명의 몇몇 실시예를 채용하는 전자 디바이스를 개략적으로 도시하고 있다.
도 2는 본 발명의 몇몇 실시예를 채용하기 위해 적합한 사용자 장비를 개략적으로 도시하고 있다.
도 3은 무선 및/또는 유선 네트워크 접속을 사용하여 접속된 본 발명의 실시예를 채용하는 전자 디바이스를 또한 개략적으로 도시하고 있다.
도 4a는 인코더의 실시예를 개략적으로 도시하고 있다.
도 4b는 몇몇 실시예에 따른 공간 스케일러빌러티 인코딩 장치의 실시예를 개략적으로 도시하고 있다.
도 5a는 디코더의 실시예를 개략적으로 도시하고 있다.
도 5b는 본 발명의 몇몇 실시예에 따른 공간 스케일러빌러티 디코딩 장치의 실시예를 개략적으로 도시하고 있다.
도 6a 및 도 6b는 확장된 공간 스케일러빌러티의 오프셋값의 사용의 예를 도시하고 있다.
도 7은 2개의 타일로 이루어진 픽처의 예를 도시하고 있다.
도 8은 일반적인 멀티미디어 통신 시스템의 그래픽 표현이다.
도 9는 코딩된 필드가 베이스 레이어에 상주하고 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 포함하는 코딩된 프레임이 향상 레이어에 상주하는 예를 도시하고 있다.
도 10은 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 포함하는 코딩된 프레임이 베이스 레이어(BL)에 상주하고 코딩된 필드가 향상 레이어에 상주하는 예를 도시하고 있다.
도 11은 코딩된 필드가 베이스 레이어에 상주하고 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 포함하는 코딩된 프레임이 향상 레이어에 상주하고 대각 예측이 사용되는 예를 도시하고 있다.
도 12는 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 포함하는 코딩된 프레임이 베이스 레이어에 상주하고 코딩된 필드가 향상 레이어에 상주하고 대각 예측이 사용되는 예를 도시하고 있다.
도 13은 프레임-코딩된 레이어 및 필드-코딩된 레이어의 스테어케이스(staircase)의 예를 도시하고 있다.
도 14는 2방향 대각 인터 레이어 예측으로 레이어의 결합된 쌍으로서 레이어 내로 코딩된 필드 및 코딩된 프레임을 로케이팅하는 예시적인 실시예를 도시하고 있다.
도 15는 대각 인터 레이어 예측이 외부 베이스 레이어 픽처와 함께 사용되는 예를 도시하고 있다.
도 16은 스킵 픽처가 외부 베이스 레이어 픽처와 함께 사용되는 예를 도시하고 있다.
도 17은 코딩된 필드가 베이스 레이어에 상주하고 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 포함하는 코딩된 프레임이 향상 레이어에 상주하고 베이스 레이어 프레임 또는 필드쌍의 하나 또는 양 필드의 품질을 향상시키기 위해 베이스 레이어 프레임 또는 필드쌍과 일치하는 향상 레이어 픽처를 사용하는 예를 도시하고 있다.
도 18은 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 포함하는 코딩된 프레임이 베이스 레이어(BL)에 상주하고 코딩된 필드가 향상 레이어에 상주하고 베이스 레이어 프레임 또는 필드쌍의 하나 또는 양 필드의 품질을 향상시키기 위해 베이스 레이어 프레임 또는 필드쌍과 일치하는 향상 레이어 픽처를 사용하는 예를 도시하고 있다.
도 19는 상이한 레이어 내의 상부 및 하부 필드의 예를 도시하고 있다.
도 20a는 레이어 트리의 정의의 예를 도시하고 있다.
도 20b는 2개의 독립 레이어를 갖는 레이어 트리의 예를 도시하고 있다.
이하에는, 본 발명의 다수의 실시예가 하나의 비디오 코딩 구성의 맥락에서 설명될 것이다. 그러나, 본 발명은 이 특정 구성에 한정되는 것은 아니라는 것이 주목되어야 한다. 실제로, 상이한 실시예는 코딩된 필드와 프레임 사이에서 스위칭할 때 코딩의 향상이 요구되는 임의의 환경에서 광범위한 용례를 갖는다. 예를 들어, 본 발명은 스트리밍 시스템, DVD 플레이어, 디지털 텔레비전 수신기, 퍼스널 비디오 레코더, 시스템 및 퍼스널 컴퓨터 상의 컴퓨터 프로그램, 핸드헬드 컴퓨터 및 통신 디바이스, 뿐만 아니라 비디오 데이터가 핸들링되는 트랜스코더 및 클라우드 컴퓨팅 장치와 같은 네트워크 요소에 적용가능할 수 있다.
이하에는, 실시예가 디코딩 및/또는 인코딩에 적용될 수도 있는 것을 지시하는 (디)코딩을 칭하는 규약을 사용하여 다수의 실시예가 설명된다.
어드밴스드 비디오 코딩 표준(AVC 또는 H.264/AVC로 약칭될 수 있음)은 국제 전기 통신 연합의 전기 통신 표준화 부문(Telecommunications Standardization Sector of International Telecommunication Union: ITU-T)의 비디오 코딩 전문가 그룹(Video Coding Experts Group: VCEG)의 연합 비디오 팀(Joint Video Team: JVT) 및 국제 표준화 기구(International Organisation for Standardization: ISO)/국제 전기 기술 위원회(International Electrotechnical Commission: IEC)의 동영상 전문가 그룹(Moving Picture Experts Group: MPEG)에 의해 개발되었다. H.264/AVC 표준은 양 상위 표준화 기구에 의해 공표되었고, ITU-T 권고(Recommendation) H.264 및 MPEG-4 Part 10 어드밴스드 비디오 코딩(AVC)으로서 또한 공지된 ISO/IEC 국제 표준 14496-10이라 칭한다. 사양에 새로운 확장 또는 특징을 각각 통합하는 H.264/AVC의 다수의 버전이 존재해 왔다. 이들 확장은 스케일러블 비디오 코딩(Scalable Video Coding: SVC) 및 멀티뷰 비디오 코딩(Multiview Video Coding: MVC)을 포함한다.
고효율 비디오 코딩 표준(HEVC 또는 H.265/HEVC라 약칭할 수 있음)은 VCEG 및 MPGE의 연합 협력팀 - 비디오 코딩(Joint Collaborative Team-Video Coding: JCT-VC)에 의해 개발되었다. 표준은 양 상위 표준 기구에 의해 공표되었고, ITU-T 권고 H.265 및 MPEG-H 파트 2 고효율 비디오 코딩(HEVC)으로서 또한 공지된 ISO/IEC 국제 표준 23008-2라 칭한다. SHVC, MV-HEVC, 3D-HEVC, 및 REXT라 각각 칭할 수 있는 스케일러블, 멀티뷰, 3차원, 및 충실도 범위 확장을 포함하는 H.265/HEVC의 확장을 개발하기 위해 현재 진행중인 표준화 프로젝트가 존재한다. 이들 표준 사양의 정의, 구조 또는 개념을 이해하기 위한 목적으로 이루어진 H.265/HEVC, SHVC, MV-HEVC, 3D-HEVC 및 REXT의 본 명세서에서의 참조는 달리 지시되지 않으면, 본 출원일 이전에 이용가능하였던 이들 표준의 최신 버전의 참조라는 것이 이해되어야 한다.
H.264/AVC 및 HEVC를 설명할 때 뿐만 아니라 예시적인 실시예에서, 예를 들어 H.264/AVC 또는 HEVC에 지정된 바와 같은, 산술 연산자, 논리 연산자, 관계 연산자, 비트단위 연산자, 대입 연산자, 및 범위 표기법(range notation)을 위한 통상의 표기법이 사용될 수도 있다. 더욱이, 예를 들어, H.264/AVC 또는 HEVC에 지정된 바와 같은 통상의 수학 함수가 사용될 수 있고, 예를 들어 H.264/AVC 또는 HEVC에 지정된 바와 같은 연산자의 통상의 우선 순위 및 실행 순서(좌로부터 우 또는 우로부터 좌)가 사용될 수 있다.
H.264/AVC 및 HEVC를 설명할 때 뿐만 아니라 예시적인 실시예에서, 이하의 기술자(descriptor)가 각각의 신택스 요소(syntax element)의 파싱 프로세스(parsing process)를 지정하는데 사용될 수 있다.
- b(8): 임의의 패턴의 비트스트링을 갖는 바이트(8 비트).
- se(v): 좌측 비트 우선을 갖는 부호가 있는 정수 지수-골룸 코딩된(Exp-Golomb-coded) 신택스 요소.
- u(n): n개의 비트를 사용하는 부호가 없는 정수. n이 신택스 테이블에서 "v"이면, 비트의 수는 다른 신택스 요소의 값에 의존하는 방식으로 변한다. 이 기술자를 위한 파싱 프로세스는 최상위 비트 기록 우선을 갖는 부호가 없는 정수의 2진 표현으로서 해석된 비트스트림으로부터의 n개의 다음의 비트에 의해 지정된다.
- ue(v): 좌측 비트 우선을 갖는 부호가 없는 정수 지수-골룸 코딩된 신택스 요소.
지수-골룸 비트스트링은 예를 들어, 이하의 표를 사용하여 코드 넘버(codeNum)로 변환될 수 있다.
Figure 112016100265465-pct00001
지수-골룸 비트스트링에 대응하는 코드 넘버는 예를 들어 이하의 표를 사용하여 se(v)로 변환될 수 있다.
Figure 112016100265465-pct00002
H.264/AVC 및 HEVC를 설명할 때 뿐만 아니라 예시적인 실시예에서, 신택스 구조, 신택스 요소의 시맨틱스(semantics), 및 디코딩 프로세스가 이하와 같이 지정될 수 있다. 비트스트림 내의 신택스 요소는 볼드체(bold type)로 표현된다. 각각의 신택스 요소는 그 명칭(밑줄 문자를 갖는 모든 소문자), 선택적으로 그 1개 또는 2개의 신택스 카테고리, 및 그 코딩된 표현의 방법을 위한 1개 또는 2개의 기술자)에 의해 설명된다. 디코딩 프로세스는 신택스 요소의 값 및 미리 디코딩된 신택스 요소의 값에 따라 거동한다. 신택스 요소의 값이 신택스 테이블 또는 텍스트에 사용될 때, 이는 보통체(즉, 볼드체가 아님)로 나타난다. 몇몇 경우에, 신택스 테이블은 신택스 요소값으로부터 유도된 다른 변수의 값을 사용할 수 있다. 이러한 변수는 임의의 밑줄 문자를 갖지 않는 소문자와 대문자의 혼합에 의해 명명된 신택스 테이블 또는 텍스트에 나타난다. 대문자로 시작하는 변수는 현재 신택스 구조 및 모든 종속 신택스 구조의 디코딩을 위해 유도된다. 대문자로 시작하는 변수는 변수의 기원 신택스 구조를 언급하지 않고 이후의 신택스 구조를 위해 디코딩 프로세스에 사용될 수 있다. 소문자로 시작하는 변수는 단지 이들이 유도되는 맥락 내에서만 사용된다. 몇몇 경우에, 신택스 요소값 또는 변수값을 위한 "니모닉(mnemonic)" 명칭이 이들의 수치값과 상호교환식으로 사용된다. 때때로, "니모닉" 명칭은 임의의 연계된 수치값 없이 사용된다. 값 및 명칭의 연계는 텍스트에 지정된다. 명칭은 밑줄 문자에 의해 분리된 문자의 하나 이상의 그룹으로부터 구성된다. 각각의 그룹은 대문자로 시작하고, 더 많은 대문자를 포함할 수 있다.
H.264/AVC 및 HEVC를 설명할 때 뿐만 아니라 예시적인 실시예에서, 신택스 구조는 이하를 사용하여 지정될 수 있다. 중괄호(curly brackets) 내에 둘러싸인 명령문(statement)의 그룹은 복합문(compound statement)이고, 단일의 명령문으로서 기능적으로 취급된다. "while" 구조는 조건이 참인지 여부의 테스트를 지정하고, 참이면 조건이 더 이상 참이 아닐 때까지 반복적으로 명령문(또는 복합문)의 평가를 지정한다. "do ... while" 구조는 일단 명령문의 평가, 이어서 조건이 참인지 여부의 테스트를 지정하고, 참이면 조건이 더 이상 참이 아닐 때까지 명령문의 반복된 평가를 지정한다. "if ... else" 구조는 조건이 참인지의 여부의 테스트를 지정하고, 조건이 참이면, 1차 명령문의 평가를 지정하고, 그렇지 않으면 대안 명령문의 평가를 지정한다. 구조의 "else" 부분 및 연계된 대안 명령문은 대안 명령문 평가가 요구되지 않으면 생략된다. "for" 구조는 초기 명령문의 평가, 이어서 조건의 테스트를 지정하고, 조건이 참이면, 조건이 더 이상 참이 아닐 때까지 1차 명령문에 이어서 후속의 명령문의 반복된 평가를 지정한다.
H.264/AVC 및 HEVC 및 이들의 확장의 일부의 몇몇 주요 정의, 비트스트림 및 코딩 구조, 및 개념이 실시예가 구현될 수 있는 비디오 인코더, 디코더, 인코딩 방법, 디코딩 방법, 및 비트스트림 구조의 예로서 이 섹션에서 설명된다. H.264/AVC의 일부의 몇몇 주요 정의, 비트스트림 및 코딩 구조, 및 개념은 드래프트 HEVC 표준에서와 동일하고 - 따라서, 이들은 함께 이하에 설명된다. 본 발명의 양태는 H.264/AVC 또는 HEVC 또는 이들의 확장에 한정되는 것은 아니고, 오히려 설명은 본 발명의 부분적으로 또는 완전히 실현될 수 있는 일 가능한 기초에 대해 제공된다.
다수의 이전의 비디오 코딩 표준에 유사하게, 무손실 비트스트림을 위한 비트스트림 신택스 및 시맨틱스 뿐만 아니라 디코딩 프로세스가 H.264/AVC 및 HEVC에 지정되어 있다. 인코딩 프로세스는 지정되지 않지만, 인코더는 적합 비트스트림(conforming bitstreams)을 발생해야 한다. 비트스트림 및 디코더 적합(conformance)은 가상 참조 디코더(Hypothetical Reference Decoder: HRD)로 검증될 수 있다. 표준은 전송 에러 및 손실에 대처하는 것을 돕는 코팅 툴을 포함하지만, 인코딩에 있어서 툴의 사용은 선택적이고, 어떠한 디코딩 프로세스도 에러성 비트스트림에 대해 지정되어 있지 않다.
H.264/AVC 또는 HEVC 인코더로의 입력 및 H.264/AVC 또는 HEVC의 출력 각각에 대한 기본 단위는 픽처이다. 인코더로의 입력으로서 제공된 픽처는 또한 소스 픽처이라 칭할 수 있고, 디코더에 의해 디코딩된 픽처는 디코딩된 픽처이라 칭할 수 있다.
소스 픽처 및 디코딩된 픽처는 각각 이하의 샘플 어레이의 세트 중 하나와 같은 하나 이상의 샘플 어레이로 구성될 수 있다:
- 루마(Luma)(Y)만(단색).
- 루마 및 2개의 크로마(YCbCr 또는 YCgCo).
- 녹색, 청색 및 적색(GBR, RGB로서 또한 알려져 있음).
- 다른 미지정된 단색 또는 삼자극 컬러 샘플링을 표현하는 어레이(예를 들어, YZX, XYZ로서 또한 알려져 있음).
이하에서, 이들 어레이는 루마(또는 L 또는 Y) 및 크로마라 칭할 수 있고, 여기서 2개의 크로마 어레이는 사용시에 실제 컬러 표현 방법에 무관하게, Cb 및 Cr이라 칭할 수 있다. 사용시에 실제 컬러 표현 방법은 예를 들어, H.264/AVC 및/또는 HEVC의 비디오 사용성 정보(Video Usability Information: VUI)를 사용하여, 예를 들어 코딩된 비트스트림 내에 지시될 수 있다. 콤포넌트는 3개의 샘플 어레이(루마 및 2개의 크로마) 중 하나로부터의 어레이 또는 단일 샘플 또는 단색 포맷으로 픽처를 구성하는 어레이 또는 어레이의 단일 샘플로서 정의될 수 있다.
H.264/AVC 및 HEVC에서, 픽처는 프레임 또는 필드일 수 있다. 프레임은 루마 샘플 및 가능하게는 대응 크로마 샘플의 행렬을 포함한다. 필드는 프레임의 대안 샘플 행의 세트이다. 필드는 예를 들어 소스 신호가 인터레이싱될 때 인코더로서 사용될 수 있다. 크로마 샘플 어레이는 결여될 수도 있고(따라서, 단색 샘플링이 사용중일 수 있음) 또는 루마 샘플 어레이에 비교될 때 서브샘플링될 수도 있다. 몇몇 크로마 포맷은 이하와 같이 요약될 수 있다:
- 단색 샘플링에서, 공칭적으로는 루마 어레이로 고려될 수 있는 단지 하나의 샘플 어레이가 존재한다.
- 4:2:0 샘플링에서, 2개의 크로마 어레이의 각각은 루마 어레이의 절반의 높이 및 절반의 폭을 갖는다.
- 4:2:2 샘플링에서, 2개의 크로마 어레이의 각각은 루마 어레이와 동일한 높이 및 절반의 폭을 갖는다.
- 4:4:4 샘플링에서, 어떠한 개별 컬러 평면도 사용중이지 않을 때, 2개의 크로마 어레이의 각각은 루마 어레이와 동일한 높이 및 폭을 갖는다.
H.264/AVC 및 HEVC에서, 샘플 어레이를 개별의 컬러 평면으로서 비트스트림 내로 코딩하고 비트스트림으로부터 개별적으로 코딩된 컬러 평면을 각각 디코딩하는 것이 가능하다. 개별 컬러 평면이 사용중일 때, 이들의 각각은 단색 샘플링을 갖는 픽처로서 개별적으로 프로세싱된다(인코더 및/또는 디코더에 의해).
크로마 서브샘플링이 사용중일 때(예를 들어, 4:2:0 또는 4:2:2 크로마 샘플링), 루마 샘플에 대한 크로마 샘플의 로케이션이 인코더측에서 결정될 수 있다(예를 들어, 사전프로세싱 단계로서 또는 인코딩의 부분으로서). 루마 샘플 위치에 대한 크로마 샘플 위치는 예를 들어 H.264/AVC 또는 HEVC와 같은 코딩 표준에서 사전규정될 수 있고, 또는 예를 들어 H.264/AVC 또는 HEVC의 VUI의 부분으로서 비트스트림 내에 지시될 수 있다.
일반적으로, 인코딩을 위한 입력으로서 제공된 소스 비디오 시퀀스(들)는 인터레이싱된 소스 콘텐트 또는 프로그레시브 소스 콘텐트를 표현할 수 있다. 반대 패리티의 필드가 인터레이싱된 소스 콘텐트를 위해 상이한 시간에 캡처되어 있다. 프로그레시브 소스 콘텐트는 캡처된 프레임을 포함한다. 인코더는 2개의 방식으로 인터레이싱된 소스 콘텐트의 필드를 인코딩할 수 있는데: 한 쌍의 인터레이싱된 필드가 코딩된 프레임 내로 코딩될 수 있고 또는 필드가 코딩된 필드로서 코딩될 수 있다. 마찬가지로, 인코더는 2개의 방식으로 프로그레시브 소스 콘텐트의 프레임을 인코딩할 수 있는데: 프로그레시브 소스 콘텐트의 프레임은 코딩된 프레임 또는 한 쌍의 코딩된 필드로 코딩될 수 있다. 필드 쌍 또는 상보적 필드 쌍은 반대 패리티를 갖고(즉, 하나는 상부 필드에 있고, 다른 하나는 하부 필드에 있음) 임의의 다른 상보적 필드 쌍에 속하지 않는 디코딩 및/또는 출력 순서로 서로의 옆의 2개의 필드로서 규정될 수 있다. 몇몇 비디오 코딩 표준 또는 방안은 동일한 코딩된 비디오 시퀀스에서 코딩된 프레임과 코딩된 필드의 혼합을 허용한다. 더욱이, 코딩된 프레임 내의 필드로부터 코딩된 필드를 예측하는 것 및/또는 상보적 필드 쌍(필드로서 코딩됨)을 위한 코딩된 프레임을 예측하는 것은 인코딩 및/또는 디코딩에서 인에이블링될 수 있다.
파티셔닝은 세트의 각각의 요소가 서브세트의 정확한 하나 내에 있도록 하는 서브세트 내로의 세트의 분할로서 정의될 수 있다. 픽처 파티셔닝은 더 소형의 비중첩 단위로의 픽처의 분할로서 정의될 수 있다. 블록 파티셔닝은 서브블록과 같은 더 소형의 비중첩 단위로의 블록의 분할로서 정의될 수 있다. 몇몇 경우에, 용어 블록 파티셔닝은 예를 들어 슬라이스로의 픽처의 파티셔닝, 및 H.264/AC의 매크로블록과 같은 더 소형의 단위로의 각각의 슬라이스의 파티셔닝과 같은 다수의 레벨의 파티셔닝을 커버하도록 고려될 수 있다. 픽처와 같은 동일한 단위는 하나 초과의 파티셔닝을 가질 수 있다는 것이 주목된다. 예를 들어, 드래프트 HEVC 표준의 코딩 단위는 예측 단위로 그리고 개별적으로 다른 쿼드트리에 의해 변환 단위로 파티셔닝될 수 있다.
H.264/AVC에서, 매크로블록은 루마 샘플의 16×16 블록 및 크로마 샘플의 대응 블록이다. 예를 들어, 4:2:0 샘플링 패턴에서, 매크로블록은 각각의 크로마 콤포넌트마다 크로마 샘플의 하나의 8×8 블록을 포함한다. H.264/AVC에서, 픽처는 하나 이상의 슬라이스 그룹으로 파티셔닝되고, 슬라이스 그룹은 하나 이상의 슬라이스를 포함한다. H.264/AVC에서, 슬라이스는 특정 슬라이스 그룹 내의 래스터 스캔에서 연속적으로 순서화된 정수개의 매크로블록으로 이루어진다.
HEVC 표준화의 과정 중에, 예를 들어 픽처 파티셔닝 단위에 대한 술어(terminology)가 진화되어 왔다. 다음의 단락에서는, HEVC 술어의 몇몇 비한정적인 예가 제공된다.
HEVC 표준의 일 드래프트 버전에서, 픽처는 픽처의 영역을 커버하는 코딩 단위(coding unit: CU)로 분할된다. CU는 CU 내의 샘플을 위한 예측 프로세스를 규정하는 하나 이상의 예측 단위(prediction unit: PU) 및 CU 내의 샘플을 위한 예측 에러 코딩 프로세스를 규정하는 하나 이상의 변환 단위(transform unit: TU)로 이루어진다. 통상적으로, CU는 가능한 CU 크기의 사전규정된 세트로부터 선택가능한 크기를 갖는 샘플의 정사각형 블록으로 이루어진다. 최대 허용된 크기를 갖는 CU는 통상적으로 LCU(최대 코딩 단위)라 명명되고, 비디오 픽처는 비중첩 LCU로 분할된다. LCU는 예를 들어 LCU 및 최종 CU를 재귀적으로 분할함으로써, 더 소형의 CU의 조합으로 더 분할될 수 있다. 각각의 최종적인 CU는 통상적으로 적어도 하나의 PU 및 그와 연계된 적어도 하나의 TU를 갖는다. 각각의 PU 및 TU는 예측 및 예측 에러 코딩 프로세스의 입도(granularity)를 각각 증가시키기 위해 더 소형의 PU 및 TU로 더 분할될 수 있다. PU 분할은 CU를 4개의 동일한 크기의 정사각형 PU로 분할하거나 또는 CU를 대칭 또는 비대칭 방식으로 수직으로 또는 수평으로 2개의 직사각형 PU로 분할함으로써 실현될 수 있다. CU로의 이미지의 분할, 및 PU 및 TU로의 CU의 분할은 통상적으로 비트스트림 내에서 시그널링되어 디코더가 이들 단위의 의도된 구조를 재현하게 한다.
드래프트 HEVC 표준에서, 픽처는 직사각형인 타일로 파티셔닝되고, 정수개의 LCU를 포함한다. HEVC의 드래프트에서, 타일로의 파티셔닝은 규칙적인 그리드를 형성하고, 여기서 타일의 높이 및 폭은 최대 하나의 LCU만큼 서로 상이하다. 드래프트 HEVC에서, 슬라이스는 정수개의 CU로 이루어진다. CU는 타일이 사용중이지 않으면, 타일 내에 또는 픽처 내에서 LCU의 래스터 스캔 순서로 스캐닝된다. LCU 내에서, CU는 특정 스캔 순서를 갖는다.
HEVC의 워킹 드래프트(Working Draft: WD) 5에서, 픽처 파티셔닝의 몇몇 주요 정의 및 개념이 이하와 같이 정의된다. 파티셔닝은 세트의 각각의 요소가 서브세트의 정확한 하나 내에 있도록 서브세트로의 세트의 분할로서 정의된다.
드래프트 HEVC 내의 기본 코딩 단위는 트리블록이다. 트리블록은 3개의 샘플 어레이를 갖는 픽처의 루마 샘플의 N×N 블록 및 크로마 샘플의 2개의 대응 블록이거나, 또는 단색 픽처 또는 3개의 개별 컬러 평면을 사용하여 코딩된 픽처의 샘플의 N×N 블록이다. 트리블록은 상이한 코딩 및 디코딩 프로세스를 위해 파티셔닝될 수 있다. 트리블록 파티션은 3개의 샘플 어레이를 갖는 픽처의 트리블록의 파티셔닝으로부터 발생하는 루마 샘플의 블록 및 크로마 샘플의 2개의 대응 블록 또는 단색 픽처 또는 3개의 개별 컬러 평면을 사용하여 코딩된 픽처를 위한 트리블록의 파티셔닝으로부터 발생하는 루마 샘플의 블록이다. 각각의 트리블록은 인트라 또는 인터 예측을 위해 그리고 변환 코딩을 위해 블록 크기를 식별하도록 파티션 시그널링이 할당된다. 파티셔닝은 재귀적 쿼드트리 파티셔닝이다. 쿼드트리의 루트는 트리블록과 연계된다. 쿼드트리는 코딩 노드라 칭하는 리프(leaf)가 도달될 때까지 분할된다. 코딩 노드는 2개의 트리, 즉 예측 트리와 변환 트리의 루트 노드이다. 예측 트리는 예측 블록의 위치 및 크기를 지정한다. 예측 트리 및 연계된 예측 데이터는 예측 단위라 칭한다. 변환 트리는 변환 블록의 위치 및 크기를 지정한다. 변환 트리 및 연계된 변환 데이터는 변환 단위라 칭한다. 루마 및 크로마를 위한 분할 정보는 예측 트리에 대해 동일하고, 변환 트리에 대해 동일할 수도 있고 또는 동일하지 않을 수도 있다. 코딩 노드 및 연계된 예측 및 변환 단위는 함께 코딩 단위를 형성한다.
드래프트 HEVC에서, 픽처는 슬라이스 및 타일로 분할된다. 슬라이스는 트리블록의 시퀀스일 수 있지만, (소위 미세 입상 슬라이스를 참조할 때) 또한 변환 단위 및 예측 단위가 일치하는 로케이션에서 트리블록 내에 그 경계를 가질 수 있다. 미세 입상 슬라이스 특징부는 HEVC의 몇몇 드래프트 내에 포함되었지만, 완성된 HEVC 표준에는 포함되지 않는다. 슬라이스 내의 트리블록은 래스터 스캔 순서로 코딩되고 디코딩된다. 슬라이스로의 픽처의 분할은 파티셔닝이다.
드래프트 HEVC에서, 타일은 타일 내에 래스터 스캔으로 연속적으로 순서화된 하나의 열 및 하나의 행에서 동시 발생하는 정수개의 트리블록으로서 정의된다. 타일로의 픽처의 분할은 파티셔닝이다. 타일은 픽처 내에서 래스터 스캔으로 연속적으로 순서화된다. 슬라이스는 타일 내에 래스터 스캔으로 연속적인 트리블록을 포함하지만, 이들 트리블록은 픽처 내에 래스터 스캔으로 반드시 연속적이지는 않다. 슬라이스 및 타일은 트리블록의 동일한 시퀀스를 포함할 필요는 없다. 타일은 하나 초과의 슬라이스 내에 포함된 트리블록을 포함할 수 있다. 유사하게, 슬라이스는 다수의 타일 내에 포함된 트리블록을 포함할 수 있다.
코딩 단위와 코딩 트리블록 사이의 구별은 예를 들어 이하와 같이 규정될 수 있다. 슬라이스는 타일 내에 또는 타일이 사용중이지 않으면 픽처 내에 래스터 스캔 순서의 하나 이상의 코딩 트리 단위(coding tree unit: CTU)의 시퀀스로서 정의될 수 있다. 각각의 CTU는 하나의 루마 코딩 트리블록(luma coding treeblock: CTB) 및 가능하게는 (사용되는 크로마 포맷에 따라) 2개의 크로마 CTB를 포함할 수 있다. CTU는 3개의 샘플 어레이를 갖는 픽처의 루마 샘플의 코딩 트리 블록, 크로마 샘플의 2개의 대응 코딩 트리 블록, 또는 단색 픽처 또는 샘플을 코딩하는데 사용된 3개의 개별 컬러 평면 및 신택스 구조를 사용하여 코딩된 픽처의 샘플의 코딩 트리 블록으로서 정의된다. 코딩 트리 단위로의 슬라이스의 분할은 파티셔닝으로서 간주될 수 있다. CTB는 N의 몇몇 값에 대한 샘플의 N×N 블록으로서 정의될 수 있다. 3개의 샘플 어레이를 갖는 픽처를 구성하는 어레이 중 하나의 또는 단색 포맷의 픽처 또는 3개의 개별 컬러 평면을 사용하여 코딩된 픽처를 구성하는 어레이의 코딩 트리 블록으로의 분할은 파티셔닝으로서 간주될 수 있다. 코딩 블록이 N의 몇몇 값에 대한 샘플의 N×N 블록으로서 정의될 수 있다. 코딩 블록으로의 코딩 트리 블록의 분할은 파티셔닝으로서 간주될 수 있다.
HEVC에서, 슬라이스는 하나의 독립 슬라이스 세그먼트 및 동일한 액세스 단위 내의 다음의 독립 슬라이스 세그먼트(존재하면)에 선행하는 모든 후속 종속 슬라이스 세그먼트(존재하면) 내에 포함된 정수개의 코딩 트리 단위로서 정의될 수 있다. 독립 슬라이스 세그먼트는 슬라이스 세그먼트 헤더의 신택스 요소의 값이 선행 슬라이스 세그먼트를 위한 값으로부터 추론되지 않는 슬라이스 세그먼트로서 정의될 수 있다. 종속 슬라이스 세그먼트는 슬라이스 세그먼트 헤더의 몇몇 신택스 요소의 값이 디코딩 순서로 선행 독립 슬라이스 세그먼트를 위한 값으로부터 추론되는 슬라이스 세그먼트로서 정의될 수 있다. 달리 말하면, 단지 독립 슬라이스 세그먼트만이 "풀(full)" 슬라이스 헤더를 가질 수 있다. 독립 슬라이스 세그먼트는 하나의 NAL 단위(동일한 NAL 단위 내의 다른 슬라이스 세그먼트가 없음) 내에서 전달될 수 있고, 마찬가지로 종속 슬라이스 세그먼트는 하나의 NAL 단위(동일한 NAL 단위 내의 다른 슬라이스 세그먼트가 없음) 내에서 전달될 수 있다.
HEVC에서, 코딩된 슬라이스 세그먼트는 슬라이스 세그먼트 헤더 및 슬라이스 세그먼트 데이터를 포함하는 것으로 고려될 수 있다. 슬라이스 세그먼트 헤더는 슬라이스 세그먼트 내에 표현된 제 1 또는 모든 코딩 트리 단위에 속하는 데이터 요소를 포함하는 코딩된 슬라이스 세그먼트의 부분으로서 정의될 수 있다. 슬라이스 헤더는 현재 슬라이스 세그먼트인 독립 슬라이스 세그먼트 또는 디코딩 순서로 현재 종속 슬라이스 세그먼트에 선행하는 가장 최근의 독립 슬라이스 세그먼트의 슬라이스 세그먼트 헤더로서 정의될 수 있다. 슬라이스 세그먼트 데이터는 정수개의 코딩 트리 단위 신택스 구조를 포함할 수 있다.
H.264/AVC 및 HEVC에서, 픽처내 예측(in-picture prediction)은 슬라이스 경계를 가로질러 디스에이블링될 수 있다. 따라서, 슬라이스는 코딩된 픽처를 독립적으로 디코딩가능한 단편으로 분할하는 방식으로서 간주될 수 있고, 슬라이스는 따라서 전송을 위한 기본 단위로서 종종 간주된다. 다수의 경우에, 인코더는 픽처내 예측의 어느 유형이 슬라이스 경계를 가로질러 턴오프되는지를 비트스트림 내에 지시할 수 있고, 디코더 동작은 예를 들어 어느 예측 소스가 이용가능한지를 결론지을 때 이 정보를 고려한다. 예를 들어, 이웃하는 매크로블록 또는 CU로부터의 샘플은 이웃하는 매크로블록 또는 CU가 상이한 슬라이스 내에 상주하면, 인트라 예측을 위해 이용불가능한 것으로 간주될 수 있다.
신택스 요소는 비트스트림 내에 표현된 데이터의 요소로서 정의될 수 있다. 신택스 구조는 지정된 순서로 비트스트림 내에서 함께 제시된 제로 또는 그 초과의 신택스 요소로서 정의될 수 있다.
H.264/AVC 또는 HEVC 인코더의 출력 및 H.264/AVC 또는 HEVC 디코더의 입력 각각에 대한 기본 단위는 네트워크 추상화 레이어(Network Abstraction Layer: NAL) 단위이다. 패킷 지향 네트워크를 통한 전송 또는 구조화된 파일 내로의 저장을 위해, NAL 단위는 패킷 또는 유사한 구조로 캡슐화될 수 있다. 비트스트림 포맷은 프레이밍 구조를 제공하지 않는 전송 또는 저장 환경을 위해 H.264/AVC 및 HEVC에 지정되어 있다. 바이트스트림 포맷은 각각의 NAL 단위의 전방에 시작 코드를 연결함으로써 NAL 단위를 서로로부터 분리한다. NAL 단위 경계의 오검출을 회피하기 위해, 인코더는 바이트 지향 시작 코드 에뮬레이션 방지 알고리즘을 실행하는데, 이는 시작 코드가 다른 방식으로 발생될 것이면 에뮬레이션 방지 바이트를 NAL 단위 페이로드에 추가한다. 패킷 지향 시스템과 스트림 지향 시스템 사이의 간단한 게이트웨이 동작을 인에이블링하기 위해, 시작 코드 에뮬레이션 방지는 바이트스트림 포맷이 사용되는지 여부에 무관하게 항상 수행될 수 있다.
NAL 단위는 에뮬레이션 방지 바이트로 필요에 따라 산재된 RBSP의 형태의 그 데이터를 포함하는 바이트 및 이어지는 데이터의 유형의 지시를 포함하는 신택스 구조로서 정의될 수 있다. 원시 바이트 시퀀스 페이로드(raw byte sequence payload: RBSP)는 NAL 단위로 캡슐화된 정수개의 바이트를 포함하는 신택스 구조로서 정의될 수 있다. RBSP는 비어 있거나 또는 신택스 요소에 이어서 RBSP 정지 비트 및 이어서 0인 제로 또는 그 초과의 후속 비트를 포함하는 데이터 비트의 스트링의 형태를 갖는다.
NAL 단위는 헤더 및 페이로드로 이루어진다. H.264/AVC에서, NAL 단위 헤더는 NAL 단위의 유형 및 NAL 단위 내에 포함된 코딩된 슬라이스가 참조 픽처 또는 비참조 픽처의 부분인지의 여부를 지시한다. H.264/AVC는 2-비트 nal_ref_idc 신택스 요소를 포함하는데, 이는 0일 때 NAL 단위 내에 포함된 코딩된 슬라이스가 비참조 픽처의 부분인 것을 지시하고, 0 초과일 때 NAL 단위 내에 포함된 코딩된 슬라이스가 참조 픽처의 부분인 것을 지시한다. SVC 및 MVC NAL 단위를 위한 NAL 단위 헤더는 부가적으로 스케일러빌러티 및 멀티뷰 계층에 관련된 다양한 지시를 포함할 수 있다.
HEVC에서, 2-바이트 NAL 단위 헤더가 모든 지정된 NAL 단위 유형을 위해 사용된다. NAL 단위 헤더는 하나의 예비 비트(reserved bit), 6-비트 NAL 단위 유형 지시(nal_unit_type이라 칭함), 6-비트 예비 필드(nuh_layer_id)라 칭함 및 시간 레벨을 위한 3-비트 temporal_id_plus 1 지시를 포함한다. temporal_id_plus 1 신택스 요소는 NAL 단위를 위한 시간적 식별자로서 간주될 수 있고, 제로-기반 TemporalId 변수는 이하와 같이 유도될 수 있다: TemporalId = temporal_id_plus 1 - 1. 0인 TemporalId는 최저 시간 레벨에 대응한다. temporal_id_plus 1의 값은 2개의 NAL 단위 헤더 바이트를 수반하는 시작 코드 에뮬레이션을 회피하기 위해 비-제로가 되도록 요구된다. 선택된 값보다 크거나 동일한 TemporalId를 갖는 모든 VCL NAL 단위를 제외하고 모든 다른 VCL NAL 단위를 포함함으로써 생성된 비트스트림은 적합 상태로 유지된다. 따라서, TID에 동일한 TemporalId를 갖는 픽처는 인터 예측 기준으로서 TID보다 큰 TemporalId를 갖는 임의의 픽처를 사용하지 않는다. 서브레이어 또는 시간 서브레이어는 TemporalId 변수의 특정값을 갖는 VCL NAL 단위 및 연계된 비-VCL NAL 단위로 이루어진 시간 스케일러블 비트스트림의 시간 스케일러블 레이어인 것으로 규정될 수 있다. 일반성의 손실 없이, 몇몇 예시적인 실시예에서, 변수 LayerId는 예를 들어, 이하와 같이 nuh_layer_id의 값으로부터 유도된다: LayerId = nuh_layer_id. 이하에서, 레이어 식별자, LayerId, nuh_layer_id 및 layer_id는 달리 지시되지 않으면 상호교환식으로 사용된다.
HEVC 확장에서, NAL 유닛 헤더 내의 nuh_layer_id 및/또는 유사한 신택스 요소는 스케일러빌러티 레이어 정보를 전달한다. 예를 들어, LayerId 값 nuh_layer_id 및/또는 유사한 신택스 요소는 상이한 스케일러빌러티 치수를 기술하는 변수 또는 신택스 요소의 값으로 맵핑될 수 있다.
NAL 단위는 비디오 코딩 레이어(Video Coding Layer: VCL) NAL 단위 및 비-VCL NAL 단위로 분류될 수 있다. VCL NAL 단위는 통상적으로 코딩된 슬라이스 NAL 단위이다. H.264/AVC에서, 코딩된 슬라이스 NAL 단위는, 그 각각이 비압축된 픽처 내의 샘플의 블록에 대응하는 하나 이상의 코딩된 매크로블록을 표현하는 신택스 요소를 포함한다. HEVC에서, 코딩된 슬라이스 NAL 단위는 하나 이상의 CU를 표현하는 신택스 요소를 포함한다.
H.264/AVC에서, 코딩된 슬라이스 NAL 단위는 순간 디코딩 리프레시(Instantaneous Decoding Refresh: IDR) 픽처 내의 코딩된 슬라이스 또는 비-IDR 픽처 내의 코딩된 슬라이스인 것으로 지시될 수 있다.
HEVC에서, VCL NAL 단위는 이하의 유형 중 하나인 것으로 지시될 수 있다.
Figure 112016100265465-pct00003
픽처 유형에 대한 약어는 이하와 같이 정의될 수 있다: 트레일링(trailing: TRAIL) 픽처, 시간 서브레이어 액세스(Temporal Sub-layer Access: TSA), 단계식 시간 서브레이어 액세스(Step-wise Temporal Sub-layer Access: STSA), 랜덤 액세스 디코딩가능 리딩(Random Access Decodable Leading: RADL) 픽처, 랜덤 액세스 스킵된 리딩(Random Access Skipped Leading: RASL) 픽처, 브로큰 링크 액세스(Broken Link Access: BLA) 픽처, 순간 디코딩 리프레시(Instantaneous Decoding Refresh: IDR) 픽처, 클린 랜덤 액세스(Clean Random Access: CRA) 픽처.
또한 또는 대안적으로 인트라 랜덤 액세스 포인트(intra random access point: IRAP) 픽처이라 칭할 수도 있는 랜덤 액세스 포인트(Random Access Point: RAP) 픽처는 각각의 슬라이스 또는 슬라이스 세그먼트가 16 내지 23의 범위(경계값 포함)의 nal_unit_type을 갖는 픽처이다. RAP 픽처는 단지 인트라-코딩된 슬라이스(독립적으로 코딩된 레이어 내의)만을 포함하고, BLA 픽처, CRA 픽처 또는 IDR 픽처일 수 있다. 비트스트림 내의 제 1 픽처는 RAP 픽처이다. 필수 파라미터 세트가 이들이 활성화될 필요가 있을 때 이용가능하면, RAP 픽처 및 디코딩 순서로 모든 후속의 비-RASL 픽처는 디코딩 순서로 RAP 픽처에 선행하는 임의의 픽처의 디코딩 프로세스를 수행하지 않고 정확하게 디코딩될 수 있다. RAP 픽처가 아닌 단지 인트라-코딩된 슬라이스만을 포함하는 비트스트림 내의 픽처가 존재할 수 있다.
HEVC에서, CRA 픽처는 디코딩 순서로 비트스트림 내의 제 1 픽처일 수 있고, 또는 비트스트림 내에서 이후에 나타날 수도 있다. HEVC 내의 CRA 픽처는 디코딩 순서로 CRA 픽처에 후속하지만 출력 순서로는 그에 선행하는 소위 리딩 픽처를 허용한다. 리딩 픽처의 일부, 소위 RASL 픽처는 참조로서 CRA 픽처 전에 디코딩된 픽처를 사용할 수 있다. 디코딩 및 출력 순서의 모두에서 CRA 픽처에 후속하는 픽처는 랜덤 액세스가 CRA 픽처에서 수행되면 디코딩가능하고, 따라서 클린 랜덤 액세스가 IDR 픽처의 클린 랜덤 액세스 기능성에 유사하게 성취된다.
CRA 픽처는 연계된 RADL 또는 RASL 픽처를 가질 수 있다. CRA 픽처가 디코딩 순서로 비트스트림 내의 제 1 픽처일 때, CRA 픽처는 디코딩 순서로 코딩된 비디오 시퀀스의 제 1 픽처이고, 임의의 연계된 RASL 픽처는 디코더에 의해 출력되지 않고 디코딩가능하지 않을 수 있는데, 이는 이들이 비트스트림 내에 존재하지 않는 픽처에 대한 참조를 포함할 수 있기 때문이다.
리딩 픽처는 출력 순서로 연계된 RAP 픽처에 선행하는 픽처이다. 연계된 RAP 픽처는 디코딩 순서로(존재하면) 이전의 RAP 픽처이다. 리딩 픽처는 RADL 픽처 또는 RASL 픽처일 수 있다.
모든 RASL 픽처는 연계된 BLA 또는 CRA 픽처의 리딩 픽처이다. 연계된 RAP 픽처가 BLA 픽처이거나 비트스트림 내의 제 1 코딩된 픽처일 때, RASL 픽처가 비트스트림 내에 존재하지 않는 픽처에 대한 참조를 포함할 수 있기 때문에, RASL 픽처는 출력되지 않고 정확하게 디코딩가능하지 않을 수 있다. 그러나, RASL 픽처는 디코딩이 RASL 픽처의 연계된 RAP 픽처 전에 RAP 픽처로부터 시작되면 정확하게 디코딩될 수 있다. RASL 픽처는 비-RASL 픽처의 디코딩 프로세스를 위한 참조 픽처로서 사용되지 않는다. 존재할 때, 모든 RASL 픽처는 디코딩 순서로 동일한 연계된 RAP 픽처의 모든 트레일링 픽처에 선행한다. HEVC 표준의 몇몇 드래프트에서, RASL 픽처는 폐기를 위해 태깅된(Tagged for Discard: TFD) 픽처이라 칭하였다.
모든 RADL 픽처는 리딩 픽처이다. RADL 픽처는 동일한 연계된 RAP 픽처의 트레일링 픽처의 디코딩 프로세스를 위한 참조 픽처로서 사용되지 않는다. 존재할 때, 모든 RADL 픽처는 디코딩 순서로 동일한 연계된 RAP 픽처의 모든 트레일링 픽처에 선행한다. RADL 픽처는 디코딩 순서로 연계된 RAP 픽처에 선행하는 임의의 픽처를 참조하지 않고, 따라서 디코딩이 연계된 RAP 픽처로부터 시작할 때 정확하게 디코딩될 수 있다. HEVC 표준의 몇몇 이전의 드래프트에서, RADL 픽처는 디코딩가능 리딩 픽처(Decodable Leading Picture: DLP)이라 칭하였다.
디코딩가능 리딩 픽처는 디코딩이 CRA 픽처로부터 시작될 때 정확하게 디코딩될 수 있도록 이루어질 수 있다. 달리 말하면, 디코딩가능 리딩 픽처는 단지 CRA 픽처 또는 디코딩 순서에서 후속 픽처를 인터 예측에서 기준으로서 사용한다. 비-디코딩가능 리딩 픽처는 디코딩이 초기 CRA 픽처로부터 시작될 때 정확하게 디코딩될 수 없도록 이루어진다. 달리 말하면, 비-디코딩가능 리딩 픽처는 디코딩 순서에서 초기 CRA 픽처 이전의 픽처를 인터 예측에서 기준으로서 사용한다.
CRA 픽처로부터 시작하는 비트스트림의 부분이 다른 비트스트림 내에 포함될 때, 이들의 참조 픽처의 일부가 조합된 비트스트림 내에 존재하지 않을 수도 있기 때문에, CRA 픽처와 연계된 RASL 픽처는 정확하게 디코딩가능하지 않을 수도 있다. 이러한 스플라이싱 동작을 간단하게 하기 위해, CRA 픽처의 NAL 단위 유형은 이것이 BLA 픽처인 것을 지시하도록 변경될 수 있다. BLA 픽처와 연계된 RASL 픽처는 정확하게 디코딩가능하지 않을 수 있고, 따라서 출력/표시되지 않는다. 더욱이, BLA 픽처와 연계된 RASL 픽처는 디코딩으로부터 생략될 수 있다.
BLA 픽처는 디코딩 순서로 비트스트림 내의 제 1 픽처일 수 있고, 또는 비트스트림 내에서 이후에 나타날 수 있다. 각각의 BLA 픽처는 새로운 코딩된 비디오 시퀀스를 시작하고, 디코딩 프로세스에 IDR 픽처와 유사한 효과를 갖는다. 그러나, BLA 픽처는 비-비어 있는 참조 픽처 세트를 지정하는 신택스 요소를 포함한다. BLA 픽처가 BLA_W_LP에 동일한 nal_unit_type을 가지면, 이는 디코더에 의해 출력되지 않고 디코딩가능하지 않을 수 있는 연계된 RASL 픽처를 가질 수 있는데, 이는 이들이 비트스트림 내에 존재하지 않는 픽처에 대한 참조를 포함할 수 있기 때문이다. BLA 픽처가 BLA_W_LP에 동일한 nal_unit_type을 가질 때, 이는 또한 디코딩되도록 지정된 연계된 RADL 픽처를 가질 수 있다. BLA 픽처가 BLA_W_RADL(몇몇 HEVC 드래프트에서 BLA_W_DLP라 칭하였음)에 동일한 nal_unit_type을 가질 때, 이는 연계된 RASL 픽처를 갖지 않지만 디코딩되도록 지정된 연계된 RADL 픽처를 가질 수 있다. BLA_W_RADL은 또한 BLA_W_DLP라 칭할 수 있다. BLA가 BLA_N_LP와 동일한 nal_unit_type을 가질 때, 이는 어떠한 연계된 리딩 픽처도 갖지 않는다.
IDR_N_LP와 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림 내에 존재하는 연계된 리딩 픽처를 갖지 않는다. IDR_W_RADL에 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림 내에 존재하는 연계된 RASL 픽처를 갖지 않지만, 비트스트림 내에 존재하는 연계된 RADL 픽처를 가질 수 있다. IDR_W_RADL은 또한 IDR_W_DLP라 칭할 수 있다.
HEVC에서, 픽처가 동일한 서브레이어 내에서 디코딩 순서로 후속 픽처에서 인터 예측을 위한 기준으로서 사용될 수 있는지 여부에 따라 차별화되는 다수의 픽처 유형을 위한 2개의 NAL 단위 유형이 존재한다(예를 들어, TRAIL_R, TRAIL_N). 서브레이어 비참조 픽처(종종 픽처 유형 두문자어에서 _N에 의해 나타냄)는 디코딩 순서로 동일한 서브레이어의 후속 픽처의 디코딩 프로세스에서 인터 예측을 위해 사용될 수 없는 샘플을 포함하는 픽처로서 정의될 수 있다. 서브레이어 비참조 픽처는 더 큰 TemporalID 값을 갖는 픽처를 위한 참조로서 사용될 수 있다. 서브레이어 참조 픽처(종종 픽처 유형 두문자어에서 _R에 의해 나타냄)는 디코딩 순서로 동일한 서브레이어의 후속 픽처의 디코딩 프로세스에서 인터 예측을 위한 기준으로서 사용될 수 있는 픽처로서 정의될 수 있다.
nal_unit_type의 값이 TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14에 동일할 때, 디코딩된 픽처는 동일한 nuh_layer_id 및 시간 서브레이어의 임의의 다른 픽처를 위한 참조로서 사용되지 않는다. 즉, HEVC 표준에서, nal_unit_type의 값이 TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14에 동일할 때, 디코딩된 픽처는 동일한 TemporalId의 값을 갖는 임의의 픽처의 RefPicSetStCurrBefore, RefPicSetStCurrAfter 및 RefPicSetLtCurr 중 임의의 하나에 포함되지 않는다. TRAIL_N, TSA_N, STSA_N, RADL_N, RASL_N, RSV_VCL_N10, RSV_VCL_N12, 또는 RSV_VCL_N14에 동일한 nal_unit_type을 갖는 코딩된 픽처는 동일한 nuh_layer_id 및 TemporalId의 값을 갖는 다른 픽처의 디코딩가능성에 영향을 미치지 않고 폐기될 수 있다.
임의의 코딩 유형(I, P, B)의 픽처가 H.264/AVC 및 HEVC에서 참조 픽처 또는 비참조 픽처일 수 있다. 픽처 내의 슬라이스는 상이한 코딩 유형을 가질 수 있다.
트레일링 픽처는 출력 순서로 연계된 RAP 픽처에 후속하는 픽처로서 정의될 수 있다. 트레일링 픽처인 임의의 픽처는 RADL_N, RADL_R, RASL_N 또는 RASL_R에 동일한 nal_unit_type을 갖지 않는다. 리딩 픽처인 임의의 픽처는 디코딩 순서로 동일한 RAP 픽처와 연계된 모든 트레일링 픽처에 선행하도록 제약될 수 있다. BLA_W_RADL 또는 BLA_N_LP에 동일한 nal_unit_type을 갖는 BLA 픽처와 연계된 어떠한 RASL 픽처도 비트스트림 내에 존재하지 않는다. BLA_N_LP에 동일한 nal_unit_type을 갖는 BLA 픽처와 연계된 또는 IDR_N_LP에 동일한 nal_unit_type을 갖는 IDR 픽처와 연계된 어떠한 RADL 픽처도 비트스트림 내에 존재하지 않는다. CRA 또는 BLA 픽처와 연계된 임의의 RASL 픽처는 출력 순서로 CRA 또는 BLA 픽처와 연계된 임의의 RADL 픽처에 선행하도록 제약될 수 있다. CRA 픽처와 연계된 임의의 RASL 픽처는 디코딩 순서로 CRA 픽처에 선행하는 임의의 다른 RAP 픽처에 출력 순서로 후속하도록 제약될 수 있다.
HEVC에서, 시간 서브레이어 스위칭 포인트를 지시하는데 사용될 수 있는 2개의 픽처 유형, TSA 및 STSA 픽처 유형이 존재한다. 최대 N의 TemporalId를 갖는 시간 서브레이어가 TSA 또는 STSA 픽처(제외) 및 TSA 또는 STSA 픽처가 N+1에 동일한 TemporalId를 가질 때까지 디코딩되어 있으면, TSA 또는 STSA 픽처는 N+1에 동일한 TemporalId를 갖는 모든 후속 픽처(디코딩 순서로)의 디코딩을 인에이블링한다. TSA 픽처 유형은 디코딩 순서로 TSA 픽처에 후속하는 동일한 서브레이어 내의 TSA 픽처 자체 및 모든 픽처에 제한을 부여할 수 있다. 이들 픽처의 어느 것도 디코딩 순서로 TSA 픽처에 선행하는 동일한 서브레이어 내의 임의의 픽처로부터 인터 예측을 사용하도록 허용되지 않는다. TSA 정의는 디코딩 순서로 TSA 픽처에 후속하는 동일한 더 상위의 서브레이어 내의 픽처에 제한을 또한 부여할 수 있다. 이들 픽처의 어느 것도 그 픽처가 TSA 픽처와 동일한 또는 더 상위의 서브레이어에 속하면 디코딩 순서로 TSA 픽처에 선행하는 픽처를 참조하도록 허용되지 않는다. TSA 픽처는 0 초과의 TemporalId를 갖는다. STSA는 TSA 픽처에 유사하지만, 디코딩 순서로 STSA 픽처에 후속하는 더 상위의 서브레이어 내의 픽처에 제한을 부여하지 않고, 따라서 STSA 픽처가 상주하는 서브레이어 상에만 업스위칭을 인에이블링한다.
비-VCL NAL 단위는 예를 들어, 이하의 유형: 시퀀스 파라미터 세트, 픽처 파라미터 세트, 보충 향상 정보(supplemental enhancement information: SEI) NAL 단위, 액세스 단위 구분문자(delimiter), 시퀀스 NAL 단위의 종단, 스트림 NAL 단위의 종단, 또는 필터 데이터 NAL 단위 중 하나일 수 있다. 파라미터 세트는 디코딩된 픽처의 재구성을 위해 요구될 수 있고, 반면에 다수의 다른 비-VCL NAL 단위가 디코딩된 샘플값의 재구성을 위해 필요하지 않다.
HEVC에서, 이하의 비-VCL NAL 단위 유형이 지정되어 있다.
Figure 112016100265465-pct00004
코딩된 비디오 시퀀스를 통해 불변 유지되는 파라미터가 시퀀스 파라미터 세트 내에 포함될 수 있다. 디코딩 프로세스에 의해 요구될 수 있는 파라미터에 추가하여, 시퀀스 파라미터 세트는 버퍼링, 픽처 출력 타이밍, 렌더링, 및 자원 예약을 위해 중요할 수 있는 파라미터를 포함하는 비디오 사용성 정보(VUI)를 선택적으로 포함할 수 있다. 시퀀스 파라미터 세트를 전달하기 위해 H.264/AVC에 지정된 3개의 NAL 단위: 시퀀스 내의 H.264/AVC VCL NAL 단위를 위한 모든 데이터를 포함하는 시퀀스 파라미터 세트 NAL 단위(7에 동일한 NAL 단위 유형을 가짐), 보조 코딩된 픽처를 위한 데이터를 포함하는 시퀀스 파라미터 세트 확장 NAL 단위, 및 MVC 및 SVC VCL NAL 단위를 위한 서브세트 시퀀스 파라미터가 존재한다. H.264/AVC의 시퀀스 파라미터 세트 NAL 단위(7에 동일한 NAL 단위 유형을 가짐) 내에 포함된 신택스 구조는 시퀀스 파라미터 세트 데이터, seq_parameter_set_data, 또는 베이스 SPS(Sequence Parameter Set) 데이터라 칭할 수 있다. 예를 들어, 프로파일, 레벨, 픽처 크기 및 크로마 샘플링 포맷은 베이스 SPS 데이터 내에 포함될 수 있다. 픽처 파리미터 세트는 다수의 코딩된 픽처 내에 불변할 가능성이 있는 이러한 파라미터를 포함한다.
드래프트 HEVC에서, 다수의 코딩된 슬라이스에서 불변할 가능성이 있지만 예를 들어 각각의 픽처 또는 각각의 몇개의 픽처에 대해 변화될 수 있는 파라미터를 포함하는 적응 파라미터 세트(Adaptation Parameter Set: APS)라 본 명세서에서 칭하는 다른 유형의 파라미터 세트가 또한 존재하였다. 드래프트 HEVC에서, APS 신택스 구조는 양자화 행렬(quantization matrices: QM), 샘플 적응성 오프셋(sample adaptive offset: SAO), 적응성 루프 필터링(adaptive loop filtering: ALF), 및 디블록킹 필터링(deblocking filtering)에 관련된 파라미터 또는 신택스 요소를 포함한다. 드래프트 HEVC에서, APS는 NAL 단위이고 임의의 다른 NAL 단위로부터 참조 또는 예측 없이 코딩된다. aps_id 신택스 요소라 칭하는 식별자가 APS NAL 단위에 포함되고, 특정 APS를 참조하기 위해 슬라이스 헤더 내에 포함되어 사용된다. 그러나, APS는 최종 H.265/HEVC 표준에 포함되지 않았다.
H.265/HEVC는 비디오 파라미터 세트(video parameter set: VPS)라 칭하는 다른 유형의 파라미터 세트를 또한 포함한다. 비디오 파라미터 세트 RBSP는 하나 이상의 시퀀스 파라미터 세트 RBSP에 의해 참조될 수 있는 파라미터를 포함할 수 있다.
VPS, SPS 및 PPS 사이의 관계 및 계층은 이하와 같이 설명될 수 있다. VPS는 파라미터 세트 계층 내에 그리고 스케일러빌러티 및/또는 3DV의 맥락에서 SPS보다 1 레벨 위에 상주한다. VPS는 전체 코딩된 비디오 시퀀스에서 모든 (스케일러빌러티 또는 뷰) 레이어를 가로질러 모든 슬라이스에 대해 공통인 파라미터를 포함할 수 있다. SPS는 전체 코딩된 비디오 시퀀스에서 특정 (스케일러빌러티 또는 뷰) 레이어 내의 모든 슬라이스에 대해 공통인 파라미터를 포함하고, 다수의 (스케일러빌러티 또는 뷰) 레이어에 의해 공유될 수 있다. PPS는 특정 레이어 표현(하나의 스케일러빌러티의 표현 또는 하나의 액세스 단위의 뷰 레이어) 내의 모든 슬라이스에 대해 공통이고 다수의 레이어 표현 내의 모든 슬라이스에 의해 공유될 가능성이 있는 파라미터를 포함한다.
VPS는 비트스트림 내의 레이어의 종속 관계에 대한 정보, 뿐만 아니라 전체 코딩된 비디오 시퀀스에서 모든 (스케일러빌러티 또는 뷰) 레이어를 가로질러 모든 슬라이스에 적용가능한 다수의 다른 정보를 제공할 수 있다.
H.264/AVC 및 HEVC 신택스는 파라미터 세트의 다수의 인스턴스를 허용하고, 각각의 인스턴스는 고유 식별자로 식별된다. 파라미터 세트를 위해 요구되는 메모리 사용량을 제한하기 위해, 파라미터 세트 식별자를 위한 값 범위가 제한되어 왔다. H.264/AVC 및 드래프트 HEVC 표준에서, 각각의 슬라이스 헤더는 슬라이스를 포함하는 픽처의 디코딩을 위해 활성인 픽처 파라미터 세트의 식별자를 포함하고, 각각의 픽처 파라미터 세트는 활성 시퀀스 파라미터 세트의 식별자를 포함한다. 드래프트 HEVC 표준에서, 슬라이스 헤더는 부가적으로 APS 식별자를 포함한다. 따라서, 픽처 및 시퀀스 파라미터 세트의 전송은 슬라이스의 전송과 정확하게 동기화될 필요는 없다. 대신에, 활성 시퀀스 및 픽처 파라미터 세트는 이들이 참조되기 전의 임의의 순간에 수신되면 충분한데, 이는 슬라이스 데이터를 위해 사용된 프로토콜에 비교된 더 신뢰적인 전송 메커니즘을 사용하여 "대역외(out-of-band)" 파라미터 세트의 전송을 허용한다. 예를 들어, 파라미터 세트는 실시간 전송 프로토콜(Real-time Transport Protocol: RTP) 세션을 위한 세션 기술 내에 파라미터로서 포함될 수 있다. 파라미터 세트가 대역내(in-band) 전송되면, 이들 파라미터 세트는 에러 강인성을 향상시키기 위해 반복될 수 있다.
파라미터 세트는 슬라이스로부터 또는 다른 활성 파라미터로부터 또는 몇몇 경우에 버퍼링 기간 SEI 메시지와 같은 다른 신택스 구조로부터 참조에 의해 활성화될 수 있다.
SEI NAL 단위는 출력 픽처의 디코딩을 위해 요구되지 않지만, 픽처 출력 타이밍, 렌더링, 에러 검출, 에러 은폐, 및 자원 예약과 같은 관련 프로세스를 보조할 수 있는 하나 이상의 SEI 메시지를 포함할 수 있다. 다수의 SEI 메시지가 H.264/AVC 및 HEVC에 지정되고, 사용자 데이터 SEI 메시지는 기관 및 회사가 이들 자신의 사용을 위해 SEI 메시지를 지정하는 것을 가능하게 한다. H.264/AVC 및 HEVC는 지정된 SEI 메시지에 대한 신택스 및 시맨틱스를 포함하지만, 수신인 내의 메시지를 핸들링하기 위한 어떠한 프로세스도 규정되지 않는다. 따라서, 인코더는 이들이 SEI 메시지를 생성할 때 H.264/AVC 표준 또는 HEVC 표준을 따르도록 요구되고, H.264/AVC 표준 또는 HEVC 표준 각각에 적합하는 디코더는 출력 순서 적합성을 위해 SEI 메시지를 프로세싱하도록 요구되지 않는다. H.264/AVC 및 HEVC에서 SEI 메시지의 신택스 및 시맨틱스를 포함하는 이유들 중 하나는 상이한 시스템 사양이 보충 정보를 동일하게 해석하고 따라서 상호동작하게 하는 것이다. 시스템 사양은 인코딩 종료 및 디코딩 종료의 모두에서 특정 SEI 메시지의 사용을 필요로 할 수 있고, 부가적으로 수신인 내의 특정 SEI 메시지를 핸들링하기 위한 프로세스가 지정될 수 있는 것이 의도된다.
양 H.264/AVC 및 H.265/HEVC 표준은 NAL 단위 유형값의 범위를 미지정 상태로 방치한다. 이들 미지정 NAL 단위 유형값은 다른 사양에 의해 사용으로 취해질 수 있는 것으로 의도된다. 이들 미지정 NAL 단위 유형값을 갖는 NAL 단위는 비디오 비트스트림 내에, 통신 프로토콜을 위해 요구되는 데이터와 같은 데이터를 멀티플렉스하는데 사용될 수 있다. 이들 미지정 NAL 단위 유형값을 갖는 NAL 단위가 디코더에 패스되지 않으면, 비디오 비트스트림의 비트스트림 시작 코드 에뮬레이션을 위한 시작 코드 에뮬레이션 방지는 이들 NAL 단위가 생성되고 비디오 비트스트림 내에 포함될 때 수행될 필요가 없고 시작 코드 에뮬레이션 방지 제거가 행해질 필요가 없는데, 이는 이들 NAL 단위가 이들을 디코더에 패스하기 전에 비디오 비트스트림으로부터 제거되기 때문이다. 미지정 NAL 단위 유형값을 갖는 NAL 단위가 시작 코드 에뮬레이션을 포함하는 것이 가능할 때, NAL 단위는 NAL-단위형 구조라 칭할 수 있다. 실제 NAL 단위와는 달리, NAL-단위형 구조는 시작 코드 에뮬레이션을 포함할 수 있다.
HEVC에서, 미지정 NAL 단위 유형은 48 내지 63의 범위(경계값 포함)의 nal_unit_type 값을 갖고, 이하와 같이 테이블 포맷으로 지정될 수 있다.
Figure 112016100265465-pct00005
HEVC에서, NAL 단위 UNSPEC48 내지 UNSPEC55(경계값 포함)(즉, 48 내지 55의 범위(경계값 포함)의 nal_unit_type 값을 가짐)는 액세스 단위를 시작할 수도 있는 것이고, 반면에 NAL 단위 UNSPEC56 내지 UNSPEC63(즉, 56 내지 63의 범위(경계값 포함)의 nal_unit_type 값을 가짐)은 액세스 유닛의 종료에 있을 수 있는 것이다.
코딩된 픽처는 픽처의 코딩된 표현이다. H.264/AVC 내의 코딩된 픽처는 픽처의 디코딩을 위해 요구되는 VCL NAL 단위를 포함한다. H.264/AVC에서, 코딩된 픽처는 1차 코딩된 픽처 또는 중복 코딩된 픽처일 수 있다. 1차 코딩된 픽처는 유효 비트스트림의 디코딩 프로세스에 사용되고, 반면에 중복 코딩된 픽처는 1차 코딩된 픽처가 성공적으로 디코딩될 수 없을 때에만 디코딩되어야 하는 중복 표현이다.
H.264/AVC에서, 액세스 단위는 1차 코딩된 픽처 및 그와 연계된 이들 NAL 단위를 포함한다. HEVC에서, 액세스 단위는 특정 분류 규칙에 따라 서로 연계되고, 디코딩 순서로 연속적이고, 정확히 하나의 코딩된 픽처를 포함하는 NAL 단위의 세트로서 정의된다. H.264/AVC에서, 액세스 유닛 내의 NAL 단위의 출현 순서는 이하와 같이 제약된다. 선택적 액세스 단위 구분문자 NAL 단위는 액세스 유닛의 시작을 지시할 수 있다. 이는 제로 또는 그 초과의 SEI NAL 단위로 이어진다. 1차 코딩된 픽처의 코딩된 슬라이스가 다음에 출현한다. H.264/AVC에서, 1차 코딩된 픽처의 코딩된 슬라이스는 제로 또는 그 초과의 중복 코딩된 픽처를 위한 코딩된 슬라이스로 이어질 수 있다. 중복 코딩된 픽처는 픽처 또는 픽처의 부분의 코딩된 표현이다. 중복 코딩된 픽처는 1차 코딩된 픽처가 예를 들어 전송시의 손실 또는 물리적 저장 매체 내의 오손에 기인하여 디코더에 의해 수신되지 않으면 디코딩될 수 있다.
H.264/AVC에서, 액세스 유닛은 또한 1차 코딩된 픽처를 보충하고 예를 들어 디스플레이 프로세스에서 사용될 수 있는 픽처인 보조 코딩된 픽처를 또한 포함할 수 있다. 보조 코딩된 픽처는 예를 들어 디코딩된 픽처 내의 샘플의 투명성 레벨을 만족하는 알파 채널 또는 알파 평면으로서 사용될 수 있다. 알파 채널 또는 평면은 계층화된 조성 또는 렌더링 시스템에 사용될 수 있고, 여기서 출력 픽처가 서로의 상위에서 적어도 부분적으로 투명한 픽처를 오버레이함으로써 형성된다. 보조 코딩된 픽처는 단색 중복 코딩된 픽처와 동일한 신택틱 및 시맨틱 제한을 갖는다. H.264/AVC에서, 보조 코딩된 픽처는 1차 코딩된 픽처와 동일한 수의 매크로블록을 포함한다.
HEVC에서, 코딩된 픽처는 픽처의 모든 코딩 트리 단위를 포함하는 픽처의 코딩된 표현으로서 정의될 수 있다. HEVC에서, 액세스 단위는 지정된 분류 규칙에 따라 서로 연계되고, 디코딩 순서로 연속적이고, nuh_layer_id의 상이한 값을 갖는 하나 이상의 코딩된 픽처를 포함하는 NAL 단위의 세트로서 정의될 수 있다. 코딩된 픽처의 VCL NAL 단위를 포함하는 것에 추가하여, 액세스 단위는 또한 비-VCL NAL 단위를 포함할 수 있다.
H.264/AVC에서, 코딩된 비디오 시퀀스는 IDR 액세스 단위(경계값 포함)로부터 다음의 IDR 액세스 단위(경계값 제외)로, 또는 더 조기에 출현하는 어느것의 비트스트림의 종료까지 디코딩 순서로 연속적인 액세스 단위의 시퀀스인 것으로 규정된다.
HEVC에서, 코딩된 비디오 시퀀스(coded video sequence: CVS)는 예를 들어, 디코딩 순서로, 1에 동일한 NoRaslOutputFlag를 갖는 IRAP 액세스 단위, 이어서 1에 동일한 NoRaslOutputFlag를 갖는 IRAP 액세스 단위인 임의의 후속 액세스 단위까지 그러나 이를 포함하지 않는 모든 후속 액세스 단위를 포함하여, 1에 동일한 NoRaslOutputFlag를 갖는 IRAP 액세스 단위가 아닌 제로 또는 그 초과의 액세스 단위로 이루어지는 액세스 단위의 시퀀스로서 정의될 수 있다. IRAP 액세스 단위는 IDR 액세스 단위, BLA 액세스 단위, 또는 CRA 액세스 단위일 수 있다. NoRaslOutputFlag의 값은 각각의 IDR 액세스 단위, 각각의 BLA 액세스 단위, 및 디코딩 순서로 비트스트림 내의 제 1 액세스 단위이고, 디코딩 순서로 시퀀스 NAL 단위의 종단에 후속하는 제 1 액세스 단위이고, 또는 1에 동일한 HandleCraAsBlaFlag를 갖는 각각의 CRA 액세스 단위에 대해 1에 동일하다. 1에 동일한 NoRaslOutputFlag는 NoRaslOutputFlag가 설정되는 IRAP 픽처와 연계된 RASL 픽처가 디코더에 의해 출력되지 않는 효과를 갖는다. HandleCraAsBlaFlag는 예를 들어, 비트스트림 내에서 새로운 위치를 찾고 또는 브로드캐스트 내로 동조하고, 디코딩을 시작하고, 이어서 CRA 픽처로부터 디코딩을 시작하는 플레이어에 의해 1로 설정될 수 있다.
픽처의 그룹(group of pictures: GOP) 및 그 특성은 이하와 같이 정의될 수 있다. GOP는 임의의 이전의 픽처가 디코딩되었는지 여부에 무관하게 디코딩될 수 있다. 개방 GOP는 출력 순서로 초기 인트라 픽처에 선행하는 픽처가 개방 GOP의 초기 인트라 픽처로부터 디코딩이 시작할 때 정확하게 디코딩가능하지 않을 수도 있는 이러한 픽처의 그룹이다. 달리 말하면, 개방 GOP의 픽처는 이전의 GOP에 속하는 픽처를 참조할 수 있다(인터 예측에서). H.264/AVC 디코더는 H.264/AVC 비트스트림 내의 복구 포인트 SEI 메시지로부터 개방 GOP를 시작하는 인트라 픽처를 인식할 수 있다. HEVC 디코더는, 특정 NAL 단위 유형, CRA NAL 단위 유형이 그 코딩된 슬라이스에 대해 사용되기 때문에, 개방 GOP를 시작하는 인트라 픽처를 인식할 수 있다. 폐쇄 GOP는 폐쇄 GOP의 초기 인트라 픽처로부터 디코딩이 시작할 때 모든 픽처가 정확하게 디코딩될 수 있는 이러한 픽처의 그룹이다. 달리 말하면, 폐쇄 GOP 내의 어떠한 픽처도 이전의 GOP 내의 임의의 픽처를 참조하지 않는다. H.264/AVC 및 HEVC에서, 폐쇄 GOP는 IDR 액세스 유닛으로부터 시작한다. HEVC에서, 폐쇄 GOP는 또한 BLA_W_RADL 또는 BLA_N_LP 픽처로부터 시작할 수 있다. 그 결과, 폐쇄 GOP 구조는 개방 GOP 구조에 비교하여, 그러나 압축 효율의 가능한 감소를 희생하여, 더 많은 에러 탄성 잠재력을 갖는다. 개방 GOP 코딩 구조는 잠재적으로 참조 픽처의 선택에 있어서 더 큰 융통성에 기인하여, 압축에 있어서 더 효율적이다.
픽처의 구조(Structure of Pictures: SOP)는 디코딩 순서로 연속적인 하나 이상의 코딩된 픽처로서 정의될 수 있는데, 여기서 디코딩 순서로 제 1 코딩된 픽처는 최저 시간 서브레이어에서 참조 픽처이고, 디코딩 순서로 잠재적으로 제 1 코딩된 픽처를 제외한 어떠한 코딩된 픽처도 RAP 픽처가 아니다. 픽처의 상대 디코딩 순서는 픽처 내부의 숫자에 의해 예시된다. 이전의 SOP 내의 임의의 픽처는 현재의 SOP 내의 임의의 픽처보다 디코딩 순서로 더 작고, 다음의 SOP 내의 임의의 픽처는 현재의 SOP 내의 임의의 픽처보다 더 큰 디코딩 순서를 갖는다. 용어 픽처의 그룹(group of pictures: GOP)은 때때로 용어 SOP와 상호교환식으로 사용될 수 있고 전술된 바와 같이 폐쇄 또는 개방 GOP의 시맨틱스보다는 SOP의 시맨틱스와 동일한 시맨틱스를 갖는다.
픽처 적응성 프레임 필드 코딩(Picture-adaptive frame-field coding: PAFF)은 코딩된 필드(들) 또는 코딩된 프레임이 코딩되는지 여부를 픽처 기반으로 결정하기 위한 인코더의 능력 또는 코딩 방안을 칭한다. 시퀀스 적응성 프레임 필드 코딩(Sequence- adaptive frame-field coding: SAFF)은 코딩된 비디오 시퀀스와 같은 픽처의 시퀀스에 대해, 픽처의 그룹(GOP) 또는 픽처의 구조(SOP), 코딩된 필드 또는 코딩된 프레임이 코딩되는지 여부를 결정하기 위한 인코더의 능력 또는 코딩 방안을 칭한다.
HEVC는 이하와 같이 요약될 수 있는 지시 필드(대 프레임) 및 소스 스캔 유형에 관련된 다양한 방식으로 포함한다. HEVC에서, the profile_tier_level( ) 신택스 구조는 0에 동일한 nuh_layer_id를 갖는 SPS 내에 그리고 VPS 내에 포함된다. profile_tier_level( ) 신택스 구조가 VPS 내에 포함되지만 vps_extension( ) 신택스 구조 내에는 포함되지 않을 때, profile_tier_level( ) 신택스 구조가 적용되는 적용가능한 레이어 세트는 인덱스 0에 의해 지정된 레이어 세트인데, 즉 베이스 레이어만을 포함한다. profile_tier_level( ) 신택스 구조가 SPS 내에 포함될 때, profile_tier_level( ) 신택스 구조가 적용되는 레이어 세트는 인덱스 0에 의해 지정된 레이어 세트인데, 즉 베이스 레이어만을 포함한다. The profile_tier_level( ) 신택스 구조는 general_progressive_source_flag 및 general_interlaced_source_flag 신택스 요소를 포함한다.
general_progressive_source_flag 및 general_interlaced_source_flag는 이하와 같이 해석될 수 있다:
- general_progressive_source_flag가 1이고 general_interlaced_source_flag가 0 이면, CVS 내의 픽처의 소스 스캔 유형은 단지 프로그레시브로서 해석되어야 한다.
- 그렇지 않으면, general_progressive_source_flag가 0이고 general_interlaced_source_flag가 1이면, CVS 내의 픽처의 소스 스캔 유형은 단지 인터레이싱된 것으로서 해석되어야 한다.
- 그렇지 않으면, general_progressive_source_flag가 0이고 general_interlaced_source_flag가 0이면, CVS 내의 픽처의 소스 스캔 유형은 미지인 것 또는 미지정인 것으로서 해석되어야 한다.
- 그렇지 않으면(general_progressive_source_flag가 1이고 general_interlaced_source_flag가 1임), CVS 내의 각각의 픽처의 소스 스캔 유형은 픽처 타이밍 SEI 메시지 내의 신택스 요소 소스 스캔 유형을 사용하여 픽처 레벨에서 지시된다.
HEVC에 따르면, SPS는 VUI(vui_parameters 신택스 구조 내에)를 포함할 수 있다(그러나, 필수적인 것은 아님). VUI는 1일 때, CVS가 필드를 표현하는 픽처를 전달하는 것을 지시할 수 있는 신택스 요소 field_seq_flag를 포함하고, 픽처 타이밍 SEI 메시지가 현재 CVS의 모든 액세스 단위 내에 존재하는 것을 지정할 수 있다. 0에 동일한 field_seq_flag는 CVS가 프레임을 표현하는 픽처를 전달하고 픽처 타이밍 SEI 메시지가 현재 CVS의 임의의 액세스 단위 내에 존재할 수도 또는 존재하지 않을 수도 있다는 것을 지시할 수 있다. field_seq_flag가 존재하지 않을 때, 이는 0인 것으로 추론될 수도 있다. profile_tier_level( ) 신택스 구조는 1일 때 field_seq_flag가 0인 것을 지정할 수 있는 신택스 요소 general_frame_only_constraint_flag를 포함할 수 있다. 0에 동일한 general_frame_only_constraint_flag는 field_seq_flag가 0일 수도 있고 또는 0이 아닐 수도 있다는 것을 지시할 수 있다.
HEVC에 따르면, VUI는 1에 동일할 때, 픽처 타이밍 SEI 메시지가 모든 픽처에 대해 존재하는 것을 지정할 수 있는 신택스 요소 frame_field_info_present_flag를 또한 포함할 수 있고, pic_struct, source_scan_type, 및 duplicate_ flag 신택스 요소를 포함할 수 있다. 0에 동일한 frame_field_info_present_flag는 pic_struct 신택스 요소가 픽처 타이밍 SEI 메시지 내에 존재하지 않는 것을 지정할 수 있다. frame_field_info_present_flag가 존재하지 않을 때, 그 값은 이하와 같이 추론될 수 있다: general_progressive_source_flag가 1이고 general_interlaced_source_flag가 1이면, frame_field_info_present_flag는 1인 것으로 추론된다. 그렇지 않으면, frame_field_info_present_flag는 0인 것으로 추론된다.
HEVC의 픽처 타이밍 SEI 메시지의 pic_struct 신택스 요소는 이하와 같이 요약될 수 있다. pic_struct는 픽처가 프레임으로서 또는 하나 이상의 필드로서 표시되어야 하는지 여부를 지시하고, fixed_pic_rate_within_cvs_flag(SPS VUI 내에 포함될 수 있음)가 1일 때 프레임의 디스플레이에 대해, 고정 프레임 리프레시 간격을 사용하는 디스플레이를 위한 프레임 더블링 또는 트리플링 반복 기간을 지시할 수 있다. pic_strut의 해석은 이하의 표에 지시될 수 있다.
Figure 112016100265465-pct00006
HEVC의 픽처 타이밍 SEI 메시지의 source_scan_type 신택스 요소는 이하와 같이 요약될 수 있다. 1에 동일한 source_scan_type은 연계된 픽처의 소스 스캔 유형이 프로그레시브로서 해석되어야 하는 것을 지시할 수 있다. 0에 동일한 source_scan_type은 연계된 픽처의 소스 스캔 유형이 인터레이싱된 것으로서 해석되어야 하는 것을 지시할 수 있다. 2에 동일한 source_scan_type은 연계된 픽처의 소스 스캔 유형이 미지 또는 미지정인 것을 지시할 수 있다.
HEVC의 픽처 타이밍 SEI 메시지의 duplicate_flag 신택스 요소는 이하와 같이 요약될 수 있다. 1에 동일한 duplicate_flag는 현재 픽처가 출력 순서로 이전의 픽처의 듀플리케이트인 것으로 지시된다는 것을 지시할 수 있다. 0에 동일한 duplicate_flag는 현재 픽처가 출력 순서로 이전의 픽처의 듀플리케이트가 아닌 것으로 지시된다는 것을 지시할 수 있다. duplicate_flag는 3:2 풀다운 또는 다른 이러한 듀플리케이션 및 픽처 레이트 보간 방법과 같은 반복 프로세스로부터 발생되는 것으로 알려진 코딩된 픽처를 마킹하는데 사용될 수 있다. field_seq_flag가 1이고 duplicate_flag가 1일 때, 이는 페어링이 다른 방식으로 9 내지 12의 범위(경계값 포함)의 pic_struct 값의 사용에 의해 지시되지 않으면, 액세스 단위가 현재 필드와 동일한 패리티를 갖고 출력 순서로 이전의 필드의 듀플리케이팅된 필드를 포함한다는 지시로서 해석될 수 있다.
H.264/AVC 및 HEVC를 포함하는 다수의 하이브리드 비디오 코덱은 2개의 페이즈에서 비디오 정보를 인코딩한다. 제 1 페이즈에서, 예측 코딩이 예를 들어 소위 샘플 예측으로서 그리고/또는 소위 신택스 예측으로서 적용된다. 샘플 예측에서 특정 픽처 영역 또는 "블록" 내의 픽셀 또는 샘플값이 예측된다. 이들 픽셀 또는 샘플값은 예를 들어 이하의 방식 중 하나 이상을 사용하여 예측될 수 있다:
- 모션 보상 메커니즘(또한 시간 예측 또는 모션 보상 시간 예측 또는 모션 보상 예측 또는 MCP라 칭할 수 있음), 이는 코딩되는 블록에 근접하여 대응하는 이전에 코딩된 비디오 프레임 중 하나 내의 영역을 발견하고 지시하는 것을 수반함.
- 인터뷰 예측, 이는 코딩되는 블록에 근접하여 대응하는 이전에 코딩된 뷰 콤포넌트 중 하나 내의 영역을 발견하고 지시하는 것을 수반함.
- 뷰 합성 예측, 이는 예측 블록이 재구성된/디코딩된 레인징 정보에 기초하여 유도되는 예측 블록 또는 픽처 영역을 합성하는 것을 수반함.
- 소위 SVC의 IntraBL(베이스 레이어) 모드와 같은 재구성된/디코딩된 샘플을 사용하는 인터 레이어 예측.
- 인터 레이어 잔차 신호 예측, 여기서 예를 들어 참조 레이어의 코딩된 잔차 신호 또는 재구성된/디코딩된 참조 레이어 픽처와 대응하는 재구성된/디코딩된 향상 레이어 픽처의 차이로부터의 유도된 잔차 신호는 현재 향상 레이어 블록의 잔차 블록을 예측하기 위해 사용될 수 있음. 잔차 블록은 예를 들어 현재 향상 레이어 블록을 위한 최종 예측 블록을 얻기 위해 모션 보상된 예측 블록에 추가될 수 있음.
- 인트라 예측, 여기서 픽셀 또는 샘플값이 공간 영역 관계를 발견하고 지시하는 것을 수반하는 공간 메커니즘에 의해 예측될 수 있음.
파라미터 예측이라 또한 칭할 수 있는 신택스 예측에서, 신택스 요소 및/또는 신택스 요소로부터 유도된 신택스 요소값 및/또는 변수는 이전에 (디)코딩된 신택스 요소 및/또는 이전에 유도된 변수로부터 예측된다. 신택스 예측의 비한정적인 예가 이하에 제공된다:
- 모션 벡터 예측에서, 예를 들어 인터 및/또는 인터뷰 예측을 위한 모션 벡터는 블록 특정 예측된 모션 벡터와 관련하여 차등적으로 코딩될 수 있다. 다수의 비디오 코덱에서, 예측된 모션 벡터는 예를 들어 인접한 블록의 인코딩된 또는 디코딩된 모션 벡터의 중간값을 계산함으로써 사전규정된 방식으로 생성된다. 때때로 진보된 모션 벡터 예측(advanced motion vector prediction: AMVP)이라 칭하는 모션 벡터 예측을 생성하는 다른 방식은, 시간 참조 픽처에서 인접한 블록 및/또는 코로케이팅된 블록으로부터 후보 예측의 리스트를 발생하고 선택된 후보를 모션 벡터 예측자로서 시그널링하는 것이다. 모션 벡터값을 예측하는 것에 추가하여, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 시간 참조 픽처 내의 인접한 블록 및/또는 코로케이팅된 블록으로부터 예측될 수 있다. 모션 벡터의 차등 코딩은 슬라이스 경계를 가로질러 디스에이블링될 수 있다.
- CTU로부터 CU로 그리고 PU로 다운하는 블록 파티셔닝이 예측될 수 있다.
- 필터 파라미터 예측에서, 예를 들어, 샘플 적응성 오프셋을 위한 필터링 파라미터가 예측될 수 있다.
이전에 코딩된 이미지로부터 이미지 정보를 사용하는 예측 접근법은 또한 시간 예측 및 모션 보상이라 칭할 수 있는 인터 예측 방법이라 또한 칭할 수 있다. 동일한 이미지 내의 이미지 정보를 사용하는 예측 접근법은 또한 인트라 예측 방법이라 칭할 수 있다.
제2 페이즈는 픽셀 또는 샘플의 예측된 블록과 픽셀 또는 샘플의 원본 블록 사이의 에러를 코딩하는 것이다. 이는 지정된 변환을 사용하여 픽셀 또는 샘플값의 차이를 변환함으로써 성취될 수 있다. 변환은 이산 코사인 변환(DCT) 또는 그 변형예일 수 있다. 차이를 변환한 후에, 변환된 차이는 양자화되고 엔트로피 코딩된다.
양자화 프로세스의 충실도를 변경함으로써, 인코더는 픽셀 또는 샘플 표현의 정확도(즉, 픽처의 시각적 품질)와 최종 인코딩된 비디오 표현의 크기(즉, 파일 크기 또는 전송 비트레이트) 사이의 균형을 제어할 수 있다.
디코더는 픽셀 또는 샘플 블록의 예측된 표현을 형성하기 위해(인코더에 의해 생성되고 이미지의 압축된 표현으로 저장된 모션 또는 공간 정보를 사용하여) 인코더에 의해 사용되는 것과 유사한 예측 메커니즘 및 예측 에러 코딩(공간 도메인 내의 양자화된 예측 에러 신호를 복구하기 위한 예측 에러 코딩의 역동작)을 적용함으로써 출력 비디오를 재구성한다.
픽셀 또는 샘플 예측 및 에러 코딩 프로세스를 적용한 후에, 디코더는 출력 비디오 프레임을 형성하기 위해 예측 및 예측 에러 신호(픽셀 또는 샘플값)를 합성할 수 있다.
디코더(및 인코더)는 디스플레이를 위해 이를 패스하고 그리고/또는 비디오 시퀀스에서 다가오는 픽처를 위한 예측 참조로서 저장하기 전에 출력 비디오의 품질을 향상시키기 위해 부가의 필터링 프로세스를 또한 적용할 수 있다.
필터링은 참조 이미지로부터 블록킹, 링잉 등과 같은 다양한 아티팩트를 감소시키는데 사용될 수 있다. 모션 보상 및 이어서 역변환 잔차 후에, 재구성된 픽처가 얻어진다. 이 픽처는 블록킹, 링잉 등과 같은 다양한 아티팩트를 가질 수 있다. 아티팩트를 제거하기 위해, 다양한 후처리 동작이 적용될 수 있다. 후처리된 픽처가 모션 보상 루프에서 참조로서 사용되면, 후처리 동작/필터는 일반적으로 루프 필터라 칭한다. 루프 필터를 이용함으로써, 참조 픽처의 품질이 증가한다. 그 결과, 더 양호한 코딩 효율이 성취될 수 있다.
필터링은 예를 들어 디블록킹 필터, 샘플 적응성 오프셋(Sample Adaptive Offset: SAO) 필터 및/또는 적응성 루프 필터(Adaptive Loop Filter: ALF)를 포함할 수 있다.
디블록킹 필터는 루프 필터 중 하나로서 사용될 수 있다. 디블록킹 필터는 H.264/AVC 및 HEVC 표준의 모두에서 이용가능하다. 디블록킹 필터의 목표는 블록의 경계에서 발생하는 블록킹 아티팩트를 제거하는 것이다. 이는 블록 경계를 따른 필터링에 의해 성취될 수 있다.
SAO에서, 픽처는 영역으로 분할되고, 여기서 개별 SAO 결정이 각각의 영역에 대해 행해진다. 영역 내의 SAO 정보는 SAO 파라미터 적응 단위(SAO 단위)로 그리고 HEVC 내에 캡슐화되고, SAO 파라미터를 적응시키기 위한 기본 단위는 CTU이다(따라서, SAO 영역은 대응 CTU에 의해 커버된 블록임).
SAO 알고리즘에서, CTU 내의 샘플은 규칙의 세트에 따라 분류되고, 샘플의 각각의 분류된 세트는 오프셋값을 가산함으로써 향상된다. 오프셋값은 비트스트림 내에 시그널링된다. 2개의 유형의 오프셋: 1) 밴드 오프셋, 2) 에지 오프셋이 존재한다. CTU에 있어서, SAO가 이용되지 않고 또는 밴드 오프셋 또는 에지 오프셋이 이용된다. SAO가 이용되지 않거나 또는 밴드 또는 에지 오프셋이 사용되는지의 선택은 예를 들어 레이트 왜곡 최적화(rate distortion optimization: RDO)로 인코더에 의해 결정되고 디코더에 시그널링될 수 있다.
밴드 오프셋에서, 샘플값의 전체 범위는 몇몇 실시예에서 32개의 동일폭 밴드로 분할된다. 예를 들어, 8-비트 샘플에 대해, 밴드의 폭은 8(=256/32)이다. 32개의 밴드 중에서, 4개가 선택되고 상이한 오프셋이 각각의 선택된 밴드에 대해 시그널링된다. 선택 결정은 인코더에 의해 행해지고 이하와 같이 시그널링될 수 있다: 제 1 밴드의 인덱스가 시그널링되고, 이어서 이하의 4개의 밴드가 선택된 것들인 것으로 추론된다. 밴드 오프셋은 평활한 영역에서 에러를 보정하는데 유용할 수 있다.
에지 오프셋 유형에서, 에지 오프셋(EO) 유형은 4개의 가능한 유형(또는 에지 분류) 중에서 선택될 수 있고 여기서 각각의 유형은 방향 1) 수직, 2) 수평, 3) 135도 대각선, 및 4) 45도 대각선과 연계된다. 방향의 선택은 인코더에 의해 제공되고 디코더에 시그널링된다. 각각의 유형은 각도에 기초하여 소정의 샘플에 대해 2개의 이웃 샘플의 로케이션을 규정한다. 다음에, CTU 내의 각각의 샘플은 2개의 이웃 샘플의 값에 대한 샘플값의 비교에 기초하여 5개의 카테고리 중 하나로 분류된다. 5개의 카테고리는 이하와 같이 설명된다:
1. 현재 샘플값이 2개의 이웃 샘플보다 작음.
2. 현재 샘플값이 이웃 중 하나보다 작고 다른 이웃과 동일함.
3. 현재 샘플값이 이웃 중 하나보다 크고 다른 이웃과 동일함.
4. 현재 샘플값이 2개의 이웃 샘플보다 큼.
5. 전술한 것 중 어느 것도 아님.
이들 5개의 카테고리는 분류가 단지 인코더 및 디코더의 모두에서 이용가능하고 동일할 수 있는 재구성된 샘플에만 기초하기 때문에 디코더에 시그널링되도록 요구되지 않는다. 에지 오프셋 유형 CTU 내의 각각의 샘플이 5개의 카테고리 중 하나로서 분류된 후에, 첫번째 4개의 카테고리의 각각에 대한 오프셋값이 결정되고 디코더에 시그널링된다. 각각의 카테고리에 대한 오프셋은 대응 카테고리와 연계된 샘플값에 추가된다. 에지 오프셋은 링잉 아티팩트를 보정하는데 효과적일 수 있다.
SAO 파라미터는 CTU 데이터 내에 인터리빙된 것으로서 시그널링될 수 있다. CTU 위에는, 슬라이스 헤더는 SAO가 슬라이스 내에 사용되지는 여부를 지정하는 신택스 요소를 포함한다. SAO가 사용되면, 2개의 부가의 신택스 요소가 SAO가 Cb 및 Cr 콤포넌트에 적용되는지 여부를 지정한다. 각각의 CTU에 대해, 3개의 옵션: 1) 좌측 CTU로부터 SAO 파라미터 복사, 2) 상위 CTU로부터 SAO 파라미터 복사, 또는 3) 새로운 SAO 파라미터 시그널링이 존재한다.
SAO의 특정 구현예가 전술되었지만, 전술된 구현예에 유사한 SAO의 다른 구현예가 또한 가능할 수 있다는 것이 이해되어야 한다. 예를 들어, SAO 파라미터를 CTU 데이터 내에서 인터리빙된 것으로서 시그널링하기보다는, 쿼드트리 분할을 사용하는 픽처 기반 시그널링이 사용될 수 있다. SAO 파라미터(즉, CTU 좌측 또는 상위에서보다 동일한 파라미터를 사용하여) 또는 쿼드트리 구조의 병합은 예를 들어 레이트 왜곡 최적화 프로세스를 통해 인코더에 의해 결정될 수 있다.
적응성 루프 필터(adaptive loop filter: ALF)는 재구성된 샘플의 품질을 향상시키기 위한 다른 방법이다. 이는 루프 내의 샘플값을 필터링함으로써 성취될 수 있다. ALF는 필터 계수가 인코더에 의해 결정되고 비트스트림 내로 인코딩되는 유한 임펄스 응답(finite impulse response: FIR) 필터이다. 인코더는 예를 들어 최소 자승법 또는 위너 필터 최적화(Wiener filter optimization)에 의해, 원본 비압축된 픽처에 대한 왜곡을 최소화하려고 시도하는 필터 계수를 선택할 수 있다. 필터 계수는 예를 들어 적응 파라미터 세트 또는 슬라이스 헤더 내에 상주할 수 있고 또는 다른 CU-특정 데이터와 인터리빙된 방식으로 CU에 대한 슬라이스 데이터에서 나타날 수 있다.
H.264/AVC 및 HEVC를 포함하는 다수의 비디오 코덱에서, 모션 정보는 각각의 모션 보상된 이미지 블록과 연계된 모션 벡터에 의해 지시된다. 이들 모션 벡터의 각각은 코딩될(인코더에서) 또는 디코딩될(디코더에서) 픽처 내의 이미지 블록 및 이전에 코딩된 또는 디코딩된 이미지(또는 픽처) 중 하나 내의 예측 소스 블록의 변위를 표현한다. H.264/AVC 및 HEVC는 다수의 다른 비디오 압축 표준과 같이, 그 각각에 대해 참조 픽처 중 하나 내의 유사한 블록이 인터 예측을 위해 지시되는 직사각형의 메시로 픽처를 분할한다. 예측 블록의 로케이션은 코딩되는 블록에 대한 예측 블록의 위치를 지시하는 모션 벡터로서 코딩된다.
인터 예측 프로세스는 예를 들어 이하의 팩터 중 하나 이상을 사용하여 특징화될 수 있다.
모션 벡터 표현의 정확성
예를 들어, 모션 벡터는 1/4 픽셀 정확성, 1/2 픽셀 정확성 또는 풀 픽셀 정확성을 가질 수 있고, 분율 픽셀 위치 내의 샘플값은 유한 임펄스 응답(FIR) 필터를 사용하여 얻어질 수 있다.
인터 예측의 블록 파티셔닝
H.264/AVC 및 HEVC를 포함하는 다수의 코딩 표준은, 모션 벡터가 인코더 내에서 모션 보상된 예측을 위해 적용되는 블록의 크기 및 형상의 선택을 허용하고, 디코더가 인코더 내에서 행해진 모션 보상된 예측을 재현할 수 있도록 비트스트림 내에 선택된 크기 및 형상을 지시한다. 이 블록은 모션 파티션이라 또한 칭할 수 있다.
인터 예측을 위한 참조 픽처의 수
인터 예측의 소스는 이전에 디코딩된 픽처이다. H.264/AVC 및 HEVC를 포함하는 다수의 코딩 표준은 블록 기초로 사용된 참조 픽처의 인터 예측 및 선택을 위한 다수의 참조 픽처의 저장을 인에이블링한다. 예를 들어, 참조 픽처는 H.264/AVC에서 매크로블록 또는 매크로블록 파티션 기초로 그리고 HEVC에서 PU 또는 CU 기초로 선택될 수 있다. H.264/AVC 및 HEVC와 같은 다수의 코딩 표준은 디코더가 하나 이상의 참조 픽처 리스트를 생성하는 것을 가능하게 하는 비트스트림 내의 신택스 구조를 포함한다. 참조 픽처 리스트에 대한 참조 픽처 인덱스가 다수의 참조 픽처 중 어느 것이 특정 블록을 위한 인터 예측을 위해 사용되는지를 지시하는데 사용될 수 있다. 참조 픽처 인덱스는 몇몇 인터 코딩 모드에서 비트스트림 내로 인코더에 의해 코딩될 수 있고 또는 예를 들어 몇몇 다른 인터 코딩 모드에서 이웃 블록을 사용하여 유도될 수 있다(인코더 및 디코더에 의해).
모션 벡터 예측
비트스트림 내에서 모션 벡터를 효율적으로 표현하기 위해, 모션 벡터는 블록 특정 예측된 모션 벡터와 관련하여 차등적으로 코딩될 수 있다. 다수의 비디오 코덱에서, 예측된 모션 벡터는 예를 들어, 인접한 블록의 인코딩된 또는 디코딩된 모션 벡터의 중간값을 계산함으로써 사전규정된 방식으로 생성된다. 때때로 진보된 모션 벡터 예측(advanced motion vector prediction: AMVP)이라 칭하는 모션 벡터 예측을 생성하는 다른 방식은, 시간 참조 픽처에서 인접한 블록 및/또는 코로케이팅된 블록으로부터 후보 예측의 리스트를 발생하고 선택된 후보를 모션 벡터 예측자로서 시그널링하는 것이다. 모션 벡터값을 예측하는 것에 추가하여, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 시간 참조 픽처 내의 인접 블록 및/또는 코로케이팅된 블록으로부터 예측될 수 있다. 모션 벡터의 차등 코딩은 슬라이스 경계를 가로질러 디스에이블링될 수 있다.
멀티 가설 모션 보상된 예측
H.264/AVC 및 HEVC는 P 슬라이스(본 명세서에서 유니 예측 슬라이스라 칭함) 내의 단일 예측 블록의 사용 또는 또한 B 슬라이스라 칭하는 바이 예측 슬라이스를 위한 2개의 모션 보상된 예측 블록의 선형 조합을 인에이블링한다. B 슬라이스 내의 개별 블록은 바이 예측되고, 유니 예측되거나, 또는 인트라 예측될 수 있고, P 슬라이스 내의 개별 블록은 유니 예측되거나 인트라 예측될 수 있다. 바이 예측 픽처를 위한 참조 픽처는 출력 순서로 후속의 픽처 및 이전의 픽처인 것에 한정되지 않고, 오히려 임의의 참조 픽처가 사용될 수 있다. H.264/AVC 및 HEVC와 같은 다수의 코딩 표준에서, 참조 픽처 리스트 0이라 칭하는 하나의 참조 픽처 리스트가 P 슬라이스에 대해 구성되고, 리스트 0 및 리스트 1인 2개의 참조 픽처 리스트가 B 리스트를 위해 구성된다. B 슬라이스에 대해, 정방향에서의 예측이 참조 픽처 리스트 0 내의 참조 픽처로부터 예측을 참조할 수 있고 역방향에서의 예측이 참조 픽처 리스트 1 내의 참조 픽처로부터 예측을 참조할 수 있을 때, 예측을 위한 참조 픽처는 서로에 대해 또는 현재 픽처에 대해 임의의 디코딩 또는 출력 순서 관계를 가질 수 있다.
가중된 예측
다수의 코딩 표준은 인터(P) 픽처의 예측 블록에 대해 1 및 B 픽처의 각각의 예측 블록(평균화됨)에 대해 0.5의 예측 가중치를 사용한다. H.264/AVC는 P 및 B 슬라이스의 모두에 대한 가중된 예측을 허용한다. 암시적 가중된 예측에서, 가중치는 픽처 순서 카운트에 비례하고, 반면에 명시적 가중된 예측에서, 예측 가중치는 명시적으로 지시된다. 명시적 가중된 예측을 위한 가중치는 예를 들어 이하의 신택스 구조: 슬라이스 헤더, 픽처 헤더, 픽처 파라미터 세트, 적응 파라미터 세트 또는 임의의 유사한 신택스 구조 중 하나 이상으로 지시될 수 있다.
다수의 비디오 코덱에서, 모션 보상 후에 예측 잔차 신호가 먼저 변환 커널(DCT와 같은)로 변환되고 이어서 코딩된다. 이 이유는, 종종 잔차 신호 사이의 몇몇 상관이 존재하고 변환은 다수의 경우에 이 상관을 감소시키는 것을 돕고 더 효율적인 코딩을 제공할 수 있기 때문이다.
드래프트 HEVC에서, 각각의 PU는 어느 종류의 예측이 그 PU 내의 픽셀을 위해 적용되어야 하는지에 연계된 예측 정보(예를 들어, 인터 예측된 PU에 대한 모션 벡터 정보 및 인트라 예측된 PU에 대한 인트라 예측 방향성 정보)를 갖는다. 유사하게, 각각의 TU는 TU 내의 샘플을 위한 예측 에러 디코딩 프로세스를 설명하는 정보(예를 들어, DCT 계수 정보를 포함함)와 연계된다. 예측 에러 코딩이 각각의 CU에 대해 적용되는지 여부가 CU 레벨에서 시그널링될 수 있다. CU와 연계된 예측 에러 잔차 신호가 존재하지 않는 경우에, CU에 대한 TU가 존재하지 않는 것으로 고려될 수 있다.
몇몇 코딩 포맷 및 코덱에서, 소위 단기 및 장기 참조 픽처 사이의 구별이 이루어진다. 이 구별은 시간 다이렉트 모드 또는 암시적 가중된 예측에서 모션 벡터 스케일링과 같은 몇몇 디코딩 프로세스에 영향을 미칠 수 있다. 시간 다이렉트 모드를 위해 사용된 참조 픽처의 모두가 단기 참조 픽처이면, 예측에 사용된 모션 벡터는 현재 픽처와 참조 픽처의 각각 사이의 픽처 순서 카운트(picture order count: POC) 차이에 따라 스케일링될 수 있다. 그러나, 시간 다이렉트 모드를 위한 적어도 하나의 참조 픽처가 장기 참조 픽처이면, 모션 벡터의 디폴트 스케일링이 사용될 수 있는데, 예를 들어 절반으로의 모션의 스케일링이 사용될 수 있다. 유사하게, 단기 참조 픽처가 암시적 가중된 예측을 위해 사용되면, 예측 가중치는 현재의 픽처의 POC와 참조 픽처의 POC 사이의 POC 차이에 따라 스케일링될 수 있다. 그러나, 장기 참조 픽처가 암시적 가중된 예측을 위해 사용되면, 바이 예측된 블록을 위한 암시적 가중된 예측에서 0.5와 같은 디폴트 예측 가중치가 사용될 수 있다.
H.264/AVC와 같은 몇몇 비디오 코딩 포맷은 다수의 참조 픽처에 관련된 다양한 디코딩 프로세스를 위해 사용되는 frame_num 구문 요소를 포함한다. H.264/AVC에서, IDR을 위한 frame_num은 0이다. 비-IDR 픽처를 위한 frame_num의 값은 1만큼 증분된 디코딩 순서에서 이전의 픽처의 frame_num에 동일하다(모듈로 연산에서, 즉 frame_num의 값은 frame_num의 최대값 후에 0으로 랩오버됨).
H.264/AVC 및 HEVC는 픽처 순서 카운트(POC)의 개념을 포함한다. POC의 값은 각각의 픽처에 대해 유도되고, 출력 순서로 증가하는 픽처 위치에 따라 증가하지 않는다. 따라서, POC는 픽처의 출력 순서를 지시한다. POC는 예를 들어 바이 예측된 슬라이스의 시간 다이렉트 모드에서 모션 벡터의 암시적 스케일링을 위해, 가중된 예측에서 암시적으로 유도된 가중치에 대해, 그리고 참조 픽처 리스트 초기화를 위해 디코딩 프로세스에서 사용될 수 있다. 더욱이, POC는 출력 순서 적합의 검증에 사용될 수 있다. H.264/AVC에서, POC는 모든 픽처를 "참조를 위해 미사용됨"으로서 마킹하는 메모리 관리 제어 동작을 포함하는 픽처 또는 이전의 IDR 픽처에 대해 지정된다.
디코딩된 참조 픽처 마킹을 위한 신택스 구조는 비디오 코딩 시스템 내에 존재할 수 있다. 예를 들어, 픽처의 디코딩이 완료될 때, 디코딩된 참조 픽처 마킹 신택스 구조는 존재하면, "참조를 위해 미사용됨" 또는 "장기 참조를 위해 사용됨"으로서 픽처를 적응식으로 마킹하는데 사용될 수 있다. 디코딩된 참조 픽처 마킹 신택스 구조가 존재하지 않고 "참조를 위해 사용됨"으로서 마킹된 픽처의 수가 더 이상 증가할 수 없으면, 기본적으로 최초(디코딩 순서로) 디코딩된 참조 픽처를 참조를 위해 미사용됨으로서 마킹하는 슬라이딩 윈도우 참조 픽처 마킹이 사용될 수 있다.
H.264/AVC는 디코더 내의 메모리 소비를 제어하기 위해 디코딩된 참조 픽처 마킹을 위한 프로세스를 지정하고 있다. M이라 칭하는 인터 예측을 위해 사용되는 참조 픽처의 최대수는 시퀀스 파라미터 세트에서 결정된다. 참조 픽처가 디코딩될 때, 이는 "참조를 위해 사용됨"으로서 마킹된다. 참조 픽처의 디코딩이 M 초과의 픽처를 "참조를 위해 사용됨"으로서 마킹되게 하면, 적어도 하나의 픽처가 "참조를 위해 미사용됨"으로서 마킹된다. 디코딩된 참조 픽처 마킹을 위한 2개의 유형의 동작: 적응성 메모리 콘트롤 및 슬라이딩 윈도우가 존재한다. 디코딩된 참조 픽처 마킹을 위한 동작 모드는 픽처 기초로 선택된다. 적응성 메모리 콘트롤은 어느 픽처가 "참조를 위해 미사용됨"으로서 마킹되는지의 명시적 시그널링을 인에이블링하고, 또한 장기 인덱스를 단기 참조 픽처에 할당할 수 있다. 적응성 메모리 콘트롤은 비트스트림 내의 메모리 관리 콘트롤 동작(memory management control operation: MMCO) 파라미터의 존재를 요구할 수 있다. MMCO 파라미터는 디코딩된 참조 픽처 마킹 신택스 구조 내에 포함된다. 슬라이딩 윈도우 동작 모드가 사용중이고 "참조를 위해 사용됨"으로서 마킹된 M개의 픽처가 존재하면, "참조를 위해 사용됨"으로서 마킹된 이들 단기 참조 픽처 중에서 첫번째 디코딩된 픽처였던 단기 참조 픽처가 "참조를 위해 미사용됨"으로서 마킹된다. 달리 말하면, 슬라이딩 윈도우 동작 모드는 단기 참조 픽처 사이에 선입선출 버퍼링 동작을 야기한다.
H.264/AVC에서 메모리 관리 콘트롤 동작 중 하나는 현재 픽처를 제외한 모든 참조 픽처를 "참조를 위해 미사용됨"으로서 마킹되데 한다. 순시 디코딩 리프레시(IDR) 픽처는 단지 인트라 코딩된 슬라이스만을 포함하고, 참조 픽처의 유사한 "리셋"을 유발한다.
드래프트 HEVC 표준에서, 참조 픽처 마킹 신택스 구조 및 관련 디코딩 프로세스가 사용되지 않고, 대신에 참조 픽처 세트(RPS) 신택스 구조 및 디코딩 프로세스가 유사한 목적으로 대신에 사용된다. 픽처를 위해 유효하거나 활성화된 참조 픽처 세트는 픽처를 위한 참조로서 사용된 모든 참조 픽처 및 디코딩 순서로 임의의 후속 픽처를 위해 "참조를 위해 사용됨"으로서 계속 마킹되어 있는 모든 참조 픽처를 포함한다. 즉 RefPicSetStCurrO(또한 또는 대안적으로 RefPicSetStCurrBefore라 칭할 수 있음), RefPicSetStCurrl(또한 또는 대안적으로 RefPicSetStCurrAfter라 칭할 수 있음), RefPicSetStFollO, RefPicSetStFolll, RefPicSetLtCurr, 및 RefPicSetLtFoll이라 칭하는 6개의 서브세트의 참조 픽처 세트가 존재한다. 몇몇 HEVC 드래프트 사양에서, RefPicSetStFollO 및 RefPicSetStFolll은 RefPicSetStFoll이라 칭할 수 있는 하나의 서브세트로서 간주된다. 6개의 서브세트의 표기법은 이하와 같다. "Curr"는 현재 픽처의 참조 픽처 리스트 내에 포함된 참조 픽처를 칭하고, 따라서 현재 픽처를 위한 인터 예측 참조로서 사용될 수 있다. "Foil"은 현재 픽처의 참조 픽처 리스트 내에 포함되지 않았지만 디코딩 순서로 후속의 픽처에서 참조 픽처로서 사용될 수 있는 참조 픽처를 칭한다. "St"는 일반적으로 이들의 POC 값의 특정 수의 최하위 비트를 통해 식별될 수 있는 단기 참조 픽처를 칭한다. "Lt"는 특정하게 식별되고 언급된 특정 수의 최하위 비트에 의해 표현될 수 있는 것보다 더 상당한 현재 픽처에 대한 POC 값의 차이를 일반적으로 갖는 장기 참조 픽처를 칭한다. "0"은 현재 픽처의 것보다 작은 POC 값을 갖는 이들 참조 픽처를 칭한다. "1"은 현재 픽처의 것보다 큰 POC 값을 갖는 이들 참조 픽처를 칭한다. RefPicSetStCurrO, RefPicSetStCurrl, RefPicSetStFollO 및 RefPicSetStFolll은 참조 픽처 세트의 단기 서브세트라 총칭한다. RefPicSetLtCurr 및 RefPicSetLtFoU는 참조 픽처 세트의 장기 서브세트라 총칭한다.
드래프트 HEVC 표준에서, 참조 픽처 세트는 시퀀스 파라미터 세트에서 지정될 수 있고 참조 픽처 세트에 대한 인덱스를 통해 슬라이스 헤더 내에 사용되도록 고려될 수 있다. 참조 픽처 세트는 또한 슬라이스 헤더 내에 지정될 수 있다. 참조 픽처 세트의 장기 서브세트는 일반적으로 슬라이스 헤더 내에서만 지정되고, 반면에 동일한 참조 픽처 세트의 단기 서브세트는 픽처 파라미터 세트 또는 슬라이스 헤더 내에 지정될 수 있다. 참조 픽처 세트는 독립적으로 코딩될 수 있고 또는 다른 참조 픽처 세트(인터 RPS 예측으로서 공지됨)로부터 예측될 수 있다. 참조 픽처 세트가 독립적으로 코딩될 때, 신택스 구조는 상이한 유형의 참조 픽처; 현재 픽처보다 낮은 POC 값을 갖는 단기 참조 픽처, 현재 픽처보다 높은 POC 값을 갖는 단기 참조 픽처 및 장기 참조 픽처에 걸쳐 반복하는 최대 3개의 루프를 포함한다. 각각의 루프 엔트리는 "참조를 위해 사용됨"으로서 마킹되도록 픽처를 지정한다. 일반적으로, 픽처는 차등 POC 값을 갖고 지정된다. 인터 RPS 예측은, 현재 픽처의 참조 픽처 세트가 이전에 디코딩된 픽처의 참조 픽처 세트로부터 예측되는 사실을 활용한다. 이는 현재 픽처의 모든 참조 픽처가 이전의 픽처의 참조 픽처 또는 이전에 디코딩된 픽처 자체이기 때문이다. 이들 픽처 중 어느 것이 참조 픽처이어야 하는지 그리고 현재 픽처의 예측을 위해 사용되어야 하는지를 지시할 필요만 있다. 참조 픽처 세트 코딩의 양 유형에서, 플래그(used_by_curr_pic_X_flag)는 부가적으로 현재 픽처(*Curr list에 포함됨)에 의해 참조를 위해 사용되는지 아닌지(*Foll list에 포함됨)의 여부를 지시하는 각각의 참조 픽처를 위해 송신된다. 참조 픽처 세트는 픽처당 1회 디코딩될 수 있고, 제 1 슬라이스 헤더를 디코딩한 후에 그러나 임의의 코딩 단위를 디코딩하기 전에 그리고 참조 픽처 리스트를 구성하기 전에 디코딩될 수 있다. 현재 슬라이스에 의해 사용된 참조 픽처 세트 내에 포함된 픽처는 "참조를 위해 사용됨"으로서 마킹되고, 현재 슬라이스에 의해 사용된 참조 픽처 세트 내에 있지 않은 픽처는 "참조를 위해 미사용됨"으로서 마킹된다. 현재 픽처가 IDR 픽처이면, RefPicSetStCurrO, RefPicSetStCurrl, RefPicSetStFollO, RefPicSetStFolll, RefPicSetLtCurr, 및 RefPicSetLtFoU는 모두 비어 있도록 설정된다.
디코딩된 픽처 버퍼(Decoded Picture Buffer: DPB)는 인코더 및/또는 디코더 내에 사용될 수 있다. 인터 예측에서 참조를 위해 그리고 디코딩된 픽처를 출력 순서로 재순서화하기 위해, 디코딩된 픽처를 버퍼링하기 위한 2개의 이유가 존재한다. H.264/AVC 및 HEVC는 참조 픽처 마킹 및 출력 재순서화의 모두를 위한 상당한 융통성을 제공하고, 참조 픽처 버퍼링 및 출력 픽처 버퍼링을 위한 개별 버퍼는 메모리 자원을 낭비할 수 있다. 따라서, DPB는 참조 픽처를 위한 통합된 디코딩된 픽처 버퍼링 프로세스 및 출력 재순서화를 포함할 수 있다. 디코딩된 픽처는 참조로서 더 이상 사용되지 않고 출력을 위해 요구되지 않을 때 DPB로부터 제거될 수 있다.
H.264/AVC 및 HEVC의 다수의 코딩 모드에서, 인터 예측을 위한 참조 픽처는 참조 픽처 리스트로의 인덱스로 지시된다. 인덱스는 일반적으로 더 작은 인덱스가 대응 신택스 요소를 위한 더 짧은 값을 갖게 하는 가변 길이 코딩으로 코딩될 수 있다. H.264/AVC 및 HEVC에서, 2개의 참조 픽처 리스트(참조 픽처 리스트 0 및 참조 픽처 리스트 1)가 각각의 바이 예측(B) 슬라이스에 대해 발생되고, 하나의 참조 픽처 리스트(참조 픽처 리스트 0)가 각각의 인터 코딩된(P) 슬라이스에 대해 형성된다.
참조 픽처 리스트 0 및 참조 픽처 리스트 1과 같은 참조 픽처 리스트는 2개의 단계로 구성될 수 있다: 첫째로, 초기 참조 픽처 리스트가 발생된다. 초기 참조 픽처 리스트는 예를 들어 frame_num, POC, temporal_id, 또는 GOP 구조와 같은 예측 계층, 또는 이들의 임의의 조합에 기초하여 발생될 수 있다. 둘째로, 초기 참조 픽처 리스트는 슬라이스 헤더 내에 포함될 수 있는 참조 픽처 리스트 수정 신택스 구조로서 또한 공지된 참조 픽처 리스트 재순서화(reference picture list reordering: RPLR) 명령에 의해 재순서화될 수 있다. RPLR 명령은 각각의 참조 픽처 리스트의 시작으로 순서화된 픽처를 지시한다. 이 제2 단계는 또한 참조 픽처 리스트 수정 프로세스라 칭할 수 있고, RPLR 명령은 참조 픽처 리스트 수정 신택스 구조에 포함될 수 있다. 참조 픽처 세트가 사용되면, 참조 픽처 리스트 0은 RefPicSetStCurrO을 먼저, 이어서 RefPicSetStCurrl, 이어서 RefPicSetLtCurr을 포함하도록 초기화될 수 있다. 참조 픽처 리스트 1은 RefPicSetStCurrl을 먼저, 이어서 RefPicSetStCurr0을 포함하도록 초기화될 수 있다. 초기 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조를 통해 수정될 수 있는데, 여기서 초기 참조 픽처 리스트 내의 픽처는 엔트리 인덱스를 통해 리스트로 식별될 수 있다.
드래프트 HEVC 코덱과 같은 다수의 고효율 비디오 코덱이 종종 병합/병합 모드/프로세스/메커니즘이라 칭하는 부가의 모션 정보 코딩/디코딩 메커니즘을 이용하고, 여기서 블록/PU의 모든 모션 정보가 예측되고 임의의 수정/보정 없이 사용된다. PU를 위한 전술된 모션 정보는 이하의 것: 1) 'PU가 단지 참조 픽처 리스트0을 사용하여 유니 예측되는지' 또는 'PU가 단지 참조 픽처 리스트1을 사용하여 유니 예측되는지' 또는 'PU가 참조 픽처 리스트0 및 리스트1을 사용하여 바이 예측되는지' 여부의 정보; 2) 수평 및 수직 모션 벡터 성분을 포함할 수 있는 참조 픽처 리스트0에 대응하는 모션 벡터값; 3) 참조 픽처 리스트0 및/또는 참조 픽처 리스트0에 대응하는 모션 벡터에 의해 포인팅된 참조 픽처의 식별자 내의 참조 픽처 인덱스, 여기서 참조 픽처의 식별자는 예를 들어 픽처 순서 카운트값, 레이어 식별자값(인터 레이어 예측을 위한), 또는 픽처 순서 카운트값 및 레이어 식별자값의 쌍일 수 있음; 4) 참조 픽처의 참조 픽처 마킹의 정보, 예를 들어 참조 픽처가 "단기 참조를 위해 사용됨" 또는 "장기 참조를 위해 사용됨"으로서 마킹되었는지 여부에 대한 정보; 5) 내지 7) 2) 내지 4)와 각각 동일하지만, 참조 픽처 리스트1에 대한 것 중 하나 이상을 포함할 수 있다.
유사하게, 모션 정보를 예측하는 것은 시간 참조 픽처 내의 인접 블록 및/또는 코로케이팅된 블록의 모션 정보를 사용하여 수행된다. 종종 병합 리스트라 칭하는 리스트가 가용 인접/코로케이팅된 블록과 연계된 모션 예측 후보를 포함함으로써 구성될 수 있고, 리스트 내의 선택된 모션 예측 후보의 인덱스는 시그널링되고, 선택된 후보의 모션 정보는 현재 PU의 모션 정보에 복사된다. 병합 메커니즘이 전체 CU를 위해 이용되고 CU를 위한 예측 신호가 재구성 신호로서 사용될 때, 즉 예측 잔차가 프로세싱되지 않을 때, 이 유형의 CU의 코딩/디코딩은 통상적으로 스킵 모드 또는 병합 기반 스킵 모드로서 명명된다. 스킵 모드에 추가하여, 병합 메커니즘은 또한 개별 PU를 위해 이용될 수 있고(반드시 스킵 모드에서와 같이 전체 CU는 아님), 이 경우에 예측 잔차는 예측 품질을 향상하도록 이용될 수 있다. 이 유형이 예측 모드는 통상적으로 인터 병합 모드라 명명된다.
병합 리스트 내의 후보 중 하나는 예를 들어 collocated_ref_idx 신택스 요소 등을 사용하여 슬라이스 헤더 내에 예를 들어 지시된 참조 픽처와 같은, 지시된 또는 추론된 참조 픽처 내의 코로케이팅된 블록으로부터 유도될 수 있는 TMVP 후보일 수 있다.
HEVC에서, 병합 리스트 내의 시간 모션 벡터 예측을 위한 소위 타겟 참조 인덱스는 모션 코딩 모드가 병합 모드일 때 0으로서 설정된다. 시간 모션 벡터 예측을 이용하는 HEVC에서 모션 코딩 모드가 진보된 모션 벡터 예측 모드일 때, 타겟 참조 인덱스값은 명시적으로 지시된다(예를 들어, 각각의 PU마다).
타겟 참조 인덱스값이 결정되어 있을 때, 시간 모션 벡터 예측의 모션 벡터값은 이하와 같이 유도될 수 있다: 현재 예측 단위의 우하측 이웃과 코로케이팅된 블록에서의 모션 벡터가 계산된다. 코로케이팅된 블록이 상주하는 픽처는 예를 들어 전술된 바와 같이 슬라이스 헤더 내의 시그널링된 참조 인덱스에 따라 결정될 수 있다. 코로케이팅된 블록에서 결정된 모션 벡터는 제 1 픽처 순서 카운트 차이와 제2 픽처 순서 카운트 차이의 비와 관련하여 스케일링된다. 제 1 픽처 순서 카운트 차이는 코로케이팅된 블록을 포함하는 픽처와 코로케이팅된 블록의 모션 벡터의 참조 픽처 사이에서 유도된다. 제2 픽처 순서 카운트 차이는 현재 픽처와 타겟 참조 픽처 사이에서 유도된다. 타겟 참조 픽처 및 코로케이팅된 블록의 모션 벡터의 참조 픽처의 모두가 아니라 하나가 장기 참조 픽처이면(다른 하나는 단기 참조 픽처임), TMVP 후보는 이용불가능한 것으로 고려될 수 있다. 타겟 참조 픽처 및 코로케이팅된 블록의 모션 벡터의 참조 픽처의 모두가 장기 참조 픽처이면, 어떠한 POC 기반 모션 벡터 스케일링도 적용될 수 없다.
모션 파라미터 유형 또는 모션 정보는 이하의 유형 중 하나 이상을 포함할 수 있지만, 이들에 한정되는 것은 아니다:
- 예측 유형(예를 들어, 인트라 예측, 유니 예측, 바이 예측)의 지시 및/또는 참조 픽처의 수;
- 인터(즉, 시간) 예측, 인터 레이어 예측, 인터뷰 예측, 뷰 합성 예측(VSP), 및 인터 콤포넌트 예측(기준 픽처당 및/또는 예측 유형당 지시될 수 있고 여기서 몇몇 실시예에서 인터뷰 및 뷰 합성 예측은 하나의 예측 방향으로서 연합적으로 고려될 수 있음)과 같은 예측 방향의 지시, 및/또는
- 장기 참조 픽처 및/또는 장기 참조 픽처 및/또는 인터 레이어 참조 픽처(예를 들어, 참조 픽처당 지시될 수 있음)와 같은 참조 픽처 유형의 지시;
- 참조 픽처 리스트로의 참조 인덱스 및/또는 참조 픽처의 임의의 다른 식별자(예를 들어 참조 픽처 및 예측 방향 및/또는 참조 픽처 유형에 의존할 수 있는 유형마다 지시될 수 있고 참조 인덱스가 적용되는 참조 픽처 리스트 등과 같은 정보의 다른 관련 단편을 수반할 수 있음);
- 수평 모션 벡터 콤포넌트(예를 들어, 예측 블록당 또는 참조 인덱스당 지시될 수 있음);
- 수직 모션 벡터 콤포넌트(예를 들어, 예측 블록당 또는 참조 인덱스당 지시될 수 있음);
- 하나 이상의 모션 벡터 예측 프로세스에서 수평 모션 벡터 성분 및/또는 수직 모션 벡터 성분의 스케일링을 위해 사용될 수 있는 모션 파라미터 및 그 참조 픽처를 포함하거나 연계된 픽처 사이의 픽처 순서 카운트 차이 및/또는 상대 카메라 분리와 같은 하나 이상의 파라미터(여기서, 상기 하나 이상의 파라미터는 예를 들어 각각의 참조 픽처당 또는 참조 인덱스당 지시될 수 있음);
- 모션 파라미터 및/또는 모션 정보가 적용되는 블록의 좌표, 예를 들어 루마 샘플 단위의 블록의 좌상측 샘플의 좌표;
- 모션 파라미터 및/또는 모션 정보가 적용되는 블록의 범위(예를 들어, 폭 및 높이).
픽처와 연계된 모션 필드는 픽처의 모든 코딩된 블록을 위해 생성된 모션 정보의 세트를 포함하는 것으로 고려될 수 있다. 모션 필드는 예를 들어 블록의 좌표에 의해 액세스가능할 수 있다. 모션 필드는 예를 들어 TMVP 또는 임의의 다른 모션 예측 메커니즘에 사용될 수 있고, 여기서 현재 (디)코딩된 픽처 이외의 예측을 위한 소스 또는 참조가 사용된다.
상이한 공간 입도 또는 단위가 모션 필드를 표현하고 그리고/또는 저장하도록 적용될 수 있다. 예를 들어, 공간 단위의 규칙적인 그리드가 사용될 수 있다. 예를 들어, 픽처는 특정 크기의 직사각형 블록으로 분할될 수 있다(우측 에지 및 하부 에지 상과 같이, 픽처의 에지에 블록의 가능한 제외를 가짐). 예를 들어, 공간 단위의 크기는 별개의 모션이 루마 샘플 단위에서 4×4 블록과 같은 비트스트림 내에 인코더에 의해 지시될 수 있는 최소 크기에 동일할 수 있다. 예를 들어, 소위 압축된 모션 필드가 사용될 수 있고, 여기서 공간 단위는 루마 샘플 단위 내의 16×16 블록과 같은 사전규정된 또는 지시된 크기에 동일할 수 있는데, 이 크기는 별개의 모션을 지시하기 위한 최소 크기보다 클 수 있다. 예를 들어, HEVC 인코더 및/또는 디코더는, 모션 데이터 저장 감소(motion data storage reduction: MDSR)가 각각의 디코딩된 모션 필드를 위해 수행되는 방식으로(픽처들 사이의 임의의 예측을 위한 모션 필드를 사용하기 전에) 구현될 수 있다. HEVC 구현예에서, MDSR은 압축된 모션 필드 내에 16×16 블록의 좌상측 샘플에 적용가능한 모션을 유지함으로써 루마 샘플 단위 내에 16×16 블록에 모션 데이터의 입도를 감소시킬 수 있다. 인코더는 예를 들어 비디오 파라미터 세트 또는 시퀀스 파라미터 세트와 같은, 시퀀스 레벨 신택스 구조 내의 하나 이상의 신택스 요소 및/또는 신택스 요소값으로서 압축된 모션 필드의 공간 단위에 관련된 지시(들)를 인코딩할 수 있다. 몇몇 (디)코딩 방법 및/또는 디바이스에서, 모션 필드는 모션 예측의 블록 파티셔닝에 따라 표현되고 그리고/또는 저장될 수 있다(예를 들어, HEVC 표준의 예측 단위에 따라). 몇몇 (디)코딩 방법 및/또는 디바이스에서, 규칙적인 그리드 및 블록 파티셔닝의 조합이 적용될 수 있어 사전규정된 또는 지시된 공간 단위 크기보다 큰 파티션과 연계된 모션이 이들 파티션과 연계되어 표현되고 그리고/또는 저장되게 되고, 반면에 사전규정된 또는 지시된 공간 단위 크기 또는 그리드보다 작거나 미정렬된 파티션과 연계된 모션은 사전규정된 또는 지시된 단위를 위해 표현되고 그리고/또는 저장된다.
스케일러블 비디오 코딩은 하나의 비트스트림이 상이한 비트레이트, 분해능, 및/또는 프레임 레이트에서 콘텐트의 다수의 표현을 포함할 수 있는 코딩 구조를 참조할 수 있다. 이들 경우에, 수신기는 그 특징(예를 들어, 디바이스의 디스플레이의 분해능과 가장 양호하게 정합하는 분해능)에 따라 원하는 표현을 추출할 수 있다. 대안적으로, 서버 또는 네트워크 요소는 예를 들어, 네트워크 특징 또는 수신기의 프로세싱 기능에 따라 수신기에 전송될 비트스트림의 부분을 추출할 수 있다.
스케일러블 비트스트림은 이용가능한 최저품질 비디오를 제공하는 베이스 레이어 및 수신되어 하위 레이어와 함께 디코딩될 때 비디오 품질을 향상시키는 하나 이상의 향상 레이어로 이루어질 수 있다. 향상 레이어는 예를 들어, 시간 분해능(즉, 프레임 레이트), 공간 분해능, 또는 간단히 다른 레이어 또는 그 부분에 의해 표현된 비디오 콘텐트의 품질을 향상시킬 수 있다. 향상 레이어를 위한 코딩 효율을 향상시키기 위해, 그 레이어의 코딩된 표현은 하위 레이어에 의존할 수 있다. 예를 들어, 향상 레이어의 모션 및 모드 정보는 하위 레이어로부터 예측될 수 있다. 유사하게, 하위 레이어의 픽셀 데이터는 향상 레이어(들)를 위한 예측을 생성하는데 사용될 수 있다.
스케일러빌러티 모드 또는 스케일러빌러티 치수는 이들에 한정되는 것은 아니지만 이하를 포함할 수 있다:
- 품질 스케일러빌러티: 베이스 레이어 픽처는 예를 들어 향상 레이어 내에서보다 베이스 레이어에서 더 큰 양자화 파라미터값(즉, 변환 계수 양자화를 위한 더 큰 양자화 단계 크기)을 사용하여 성취될 수 있는 향상 레이어 픽처보다 낮은 품질에서 코딩된다. 품질 스케일러빌러티는 이하에 설명되는 바와 같이, 미세 입자 또는 미세 입도 스케일러빌러티(FGS), 중간 입자 또는 중간 입도 스케일러빌러티(MGS), 및/또는 거친 입자 또는 거친 입도 스케일러빌러티(CGS)로 더 분류될 수 있다.
- 공간 스케일러빌러티: 베이스 레이어 픽처는 향상 레이어 픽처보다 낮은 분해능(즉, 더 적은 샘플을 가짐)에서 코딩된다. 공산 스케일러빌러티 및 품질 스케일러빌러티, 특히 그 거친 입자 스케일러빌러티 유형은 때때로, 동일한 유형의 스케일러빌러티로 고려될 수 있다.
- 비트 깊이 스케일러빌러티: 베이스 레이어 픽처는 향상 레이어 픽처(예를 들어, 10 또는 12 비트)보다 낮은 비트 깊이(예를 들어, 8 비트)에서 코딩된다.
- 크로마 포맷 스케일러빌러티: 베이스 레이어 픽처는 향상 레이어 픽처(예를 들어, 4:4:4 포맷)보다 크로마 샘플 어레이(예를 들어, 4:2:0 크로마 포맷으로 코딩됨) 내에 더 낮은 공간 분해능을 제공한다.
- 색재현율 스케일러빌러티: 향상 레이어 픽처는 베이스 레이어 픽처의 것보다 더 풍부한/넓은 컬러 표현 범위를 갖는데 - 예를 들어, 향상 레이어는 UHDTV(ITU-R BT.2020) 색재현율을 갖고, 베이스 레이어는 ITU-R BT.709 색재현율을 가질 수 있다.
- 멀티뷰 코딩이라 또한 칭할 수 있는 뷰 스케일러빌러티. 베이스 레이어는 제 1 뷰를 표현하고, 반면에 향상 레이어는 제2 뷰를 표현한다.
- 깊이-향상된 코딩이라 또한 칭할 수 있는 깊이 스케일러빌러티. 비트스트림의 레이어 또는 몇몇 레이어들은 텍스처 뷰(들)를 표현할 수 있고, 반면에 다른 레이어 또는 레이어들은 깊이 뷰(들)를 표현할 수 있다.
- 관심 영역 스케일러빌러티(이하에 설명되는 바와 같이).
- 인터레이싱된-대-프로그레시브 스케일러빌러티(후술되는 바와 같이).
- 하이브리드 코덱 스케일러빌러티: 베이스 레이어 픽처는 향상 레이어 픽처와는 상이한 코딩 표준 또는 포맷에 따라 코딩된다. 예를 들어, 베이스 레이어는 H.264/AVC로 코딩될 수 있고, 향상 레이어는 HEVC 확장으로 코딩될 수 있다.
다수의 스케일러빌러티 유형이 조합되고 함께 적용될 수 있다는 것이 이해되어야 한다. 예를 들어, 색재현율 스케일러빌러티 및 비트 깊이 스케일러빌러티가 조합될 수 있다.
모든 상기 스케일러빌러티 경우에, 베이스 레이어 정보는 부가의 비트레이트 오버헤드를 최소화하기 위해 향상 레이어를 코딩하는데 사용될 수 있다.
용어 레이어는 뷰 스케일러빌러티 및 깊이 향상을 포함하는, 임의의 유형의 스케일러빌러티의 맥락에서 사용될 수 있다. 향상 레이어는 SNR, 공간 멀티뷰, 깊이, 비트 깊이, 크로마 포맷, 및/또는 색재현율 향상과 같은 임의의 유형의 향상을 칭할 수 있다. 베이스 레이어는 베이스 뷰, SNR/공간 스케일러빌러티를 위한 베이스 레이어, 또는 깊이 향상된 비디오 코딩을 위한 텍스처 베이스 뷰와 같은 임의의 유형의 베이스 비디오 시퀀스를 칭할 수 있다.
관심 영역(ROI) 코딩은 더 높은 충실도에서 비디오 내의 특정 영역을 코딩하는 것을 칭하도록 규정될 수 있다. 인코더 및/또는 다른 엔티티가 인코딩될 입력 픽처로부터 ROI를 결정하게 하기 위한 다수의 방법이 존재한다. 예를 들어, 페이스 검출이 사용될 수 있고, 페이스는 ROI인 것으로 결정될 수 있다. 부가적으로 또는 대안적으로, 다른 예에서, 초점 내에 있는 물체가 검출되고 ROI인 것으로 결정될 수 있고, 반면에 초점 외의 물체는 ROI 외부에 있는 것으로 결정된다. 부가적으로 또는 대안적으로, 다른 예에서, 물체까지의 거리가 예를 들어, 깊이 센서에 기초하여 추정되거나 공지될 수 있고, ROI는 배경에서보다는 카메라에 비교적 근접한 이들 물체들인 것으로 결정될 수 있다.
ROI 스케일러빌러티는, 향상 레이어가 예를 들어, 공간적으로, 품질 단위로, 비트 깊이로, 그리고/또는 다른 스케일러빌러티 치수를 따라 참조 레이어 픽처의 단지 부분만을 향상시키는 스케일러빌러티의 유형으로서 정의될 수 있다. ROI 스케일러빌러티는 다른 유형의 스케일러빌러티와 함께 사용될 수 있기 때문에, 이는 스케일러빌러티 유형의 상이한 분류를 형성하도록 고려될 수 있다. ROI 스케일러빌러티를 사용하여 실현될 수 있는 상이한 요구를 갖는 ROI 코딩을 위한 다수의 상이한 용례가 존재한다. 예를 들어, 향상 레이어는 베이스 레이어 내의 영역의 품질 및/또는 분해능을 향상시키도록 전송될 수 있다. 향상 및 베이스 레이어 비트스트림의 모두를 수신하는 디코더는 양 레이어를 디코딩할 수도 있고, 서로의 위에 디코딩된 픽처를 오버레이하고, 최종 픽처를 표시할 수 있다.
향상 레이어 픽처와 참조 레이어 영역 또는 유사하게 향상 레이어 영역과 베이스 레이어 픽처 사이의 공간적 대응성은 예를 들어, 소위 스케일링된 참조 레이어 오프셋을 사용하여 인코더에 의해 지시되고 그리고/또는 디코더에 의해 디코딩될 수 있다. 스케일링된 참조 레이어 오프셋은 향상 레이어 픽처의 각각의 코너 샘플에 대한 업샘플링된 참조 레이어 픽처의 코너 샘플의 위치를 지정하도록 고려될 수 있다. 오프셋값은 부호가 있을 수 있는데, 이는 도 6a 및 도 6b에 도시된 바와 같이, 오프셋값의 사용이 확장된 공간 스케일러빌러티의 양 유형에 사용되는 것을 가능하게 한다. 관심 영역 스케일러빌러티(도 6a)의 경우에, 향상 레이어 픽처(110)는 참조 레이어 픽처(116)의 영역(112)에 대응하고, 스케일링된 참조 레이어 오프셋은 향상 레이어 픽처의 영역을 확장하는 업샘플링된 참조 레이어 픽처의 코너를 지시한다. 스케일링된 참조 레이어 오프셋은 scaled_ref_layer_top_offset(118), scaled_ref_layer_bottom_offset(120), scaled_ref_layer_right_offset(122) 및 scaled_ref_layer_left_offset(124)이라 칭할 수도 있는 4개의 신택스 요소(예를 들어, 한 쌍의 향상 레이어 및 그 참조 레이어마다)에 의해 지시될 수 있다. 업샘플링되는 참조 레이어 영역은 향상 레이어 픽처 높이 또는 폭과 업샘플링된 참조 레이어 픽처 높이 또는 폭 각각 사이의 비에 따라 스케일링된 참조 레이어 오프셋을 다운스케일링함으로써 인코더 및/또는 디코더에 의해 결론지을 수 있다. 다운스케일링된 스케일링된 참조 레이어 오프셋은 이어서 업샘플링된 참조 레이어 영역을 얻기 위해 그리고/또는 참조 레이어 픽처의 어느 샘플이 향상 레이어 픽처의 특정 샘플에 코로케이팅되는지를 결정하기 위해 사용될 수 있다. 참조 레이어 픽처가 향상 레이어 픽처의 영역에 대응하는 경우에(도 6b), 스케일링된 참조 레이어 오프셋은 향상 레이어 픽처의 영역 내에 있는 업샘플링된 참조 레이어 픽처의 코너를 지시한다. 스케일링된 참조 레이어 오프셋은 업샘플링된 참조 레이어 픽처의 어느 샘플이 향상 레이어 픽처의 특정 샘플에 코로케이팅되는지를 결정하는데 사용될 수 있다. 확장된 공간 스케일러빌러티의 유형을 혼합하는 것, 즉 일 유형을 수평으로 그리고 다른 유형을 수직으로 적용하는 것이 또한 가능하다. 스케일링된 참조 레이어 오프셋은 예를 들어, SPS 및/또는 VPS와 같은 시퀀스 레벨 신택스 구조로부터 인코더에 의해 지시되고 그리고/또는 디코더에 의해 디코딩될 수 있다. 스케일링된 참조 오프셋의 정확성은 예를 들어 코딩 표준에 사전규정되고 그리고/또는 인코더에 의해 지정되고 그리고/또는 비트스트림으로부터 디코더에 의해 디코딩될 수 있다. 예를 들어, 향상 레이어 내의 루마 샘플 크기의 1/16의 정확성이 사용될 수 있다. 스케일링된 참조 레이어 오프셋은 어떠한 인터 레이어 예측도 2개의 레이어 사이에 발생하지 않을 때 인코딩, 디코딩 및/또는 표시 프로세스에서 지시되고, 디코딩되고, 그리고/또는 사용될 수 있다.
각각의 스케일러블 레이어는 모든 그 종속 레이어와 함께, 특정 공간 분해능, 시간 분해능, 품질 레벨 및/또는 임의의 다른 스케일러빌러티 치수에서 비디오 신호의 일 표현이다. 본 명세서에서, 본 출원인은 스케일러블 레이어를 모든 그 종속 레이어와 함께 "스케일러블 레이어 표현"이라 칭한다. 스케일러블 레이어 표현에 대응하는 스케일러블 비트스트림의 부분은 특정 충실도에서 원래 신호의 표현을 생성하도록 추출되어 디코딩될 수 있다.
스케일러빌러티는 2개의 기본 방식으로 인에이블링될 수 있다. 스케일러블 표현의 하위 레이어로부터 픽셀값 또는 신택스의 예측을 수행하기 위한 새로운 코딩 모드를 도입하는 것 또는 상위의 레이어의 참조 픽처 버퍼(예를 들어, 디코딩된 픽처 버퍼, DPB)에 하위 레이어 픽처를 배치하는 것이 2개의 기본 방식이다. 제 1 접근법은 더 융통성이 있을 수 있고, 따라서 대부분의 경우에 더 양호한 코딩 효율을 제공할 수 있다. 그러나, 제2 참조 프레임 기반 스케일러빌러티 접근법은 이용가능한 대부분의 코딩 효율 이득을 여전히 성취하면서 단일 레이어 코덱으로 최소 변화를 갖고 효율적으로 구현될 수 있다. 본질적으로, 참조 프레임 기반 스케일러빌러티 코덱은 모든 레이어를 위한 동일한 하드웨어 또는 소프트웨어 구현예를 이용함으로써 구현될 수 있어, 단지 외부 수단에 의해 DPB 관리를 처리한다.
품질 스케일러빌러티(또한 신호-대-노이즈 또는 SNR로서 공지됨) 및/또는 공간 스케일러빌러티를 위한 스케일러블 비디오 인코더가 이하와 같이 구현될 수 있다. 베이스 레이어에 대해, 통상의 비-스케일러블 비디오 인코더 및 디코더가 사용될 수 있다. 베이스 레이어의 재구성된/디코딩된 픽처는 향상 레이어를 위한 참조 픽처 버퍼 및/또는 참조 픽처 리스트 내에 포함된다. 공간 스케일러빌러티의 경우에, 재구성된/디코딩된 베이스 레이어 픽처는 향상 레이어 픽처를 위한 참조 픽처 리스트 내로의 그 삽입에 앞서 업샘플링될 수 있다. 베이스 레이어 디코딩된 픽처는 향상 레이어의 디코딩된 참조 픽처에 유사하게 향상 레이어 픽처의 코딩/디코딩을 위해 참조 픽처 리스트(들) 내에 삽입될 수 있다. 따라서, 인코더는 인터 예측 참조로서 베이스 레이어 참조 픽처를 선택하고, 코딩된 비트스트림 내에 참조 픽처와 함께 그 사용을 지시할 수 있다. 디코더는 베이스 레이어 픽처가 향상 레이어를 위한 인터 예측 참조로서 사용되는 것을 비트스트림으로부터, 예를 들어 참조 픽처 인덱스로부터 디코딩한다. 디코딩된 베이스 레이어 픽처가 향상 레이어를 위한 예측 참조로서 사용될 때, 이는 인터 레이어 참조 픽처라 칭한다.
이전의 단락은 향상 레이어 및 베이스 레이어를 갖는 2개의 스케일러빌러티 레이어를 갖는 스케일러블 비디오 코덱을 설명하였지만, 설명은 2개 초과의 레이어를 갖는 스케일러빌러티 계층 내의 임의의 2개의 레이어에 일반화될 수 있다는 것을 이해할 필요가 있다. 이 경우에, 제2 향상 레이어는 인코딩 및/또는 디코딩 프로세스에서 제 1 향상 레이어에 의존할 수 있고, 제 1 향상 레이어는 따라서 제2 향상 레이어의 인코딩 및/또는 디코딩을 위한 베이스 레이어로서 간주될 수 있다. 더욱이, 향상 레이어의 참조 픽처 버퍼 또는 참조 픽처 리스트 내의 하나 초과의 레이어로부터 인터 레이어 참조 픽처가 존재할 수 있고, 이들 인터 레이어 참조 픽처의 각각은 인코딩되고 그리고/또는 디코딩되는 향상 레이어를 위한 베이스 레이어 또는 참조 레이어 내에 상주하는 것으로 고려될 수 있다는 것을 이해할 필요가 있다.
스케일러블 비디오 코딩 및/또는 디코딩 방안은 이하와 같이 특징화될 수 있는 멀티루프 코딩 및/또는 디코딩을 사용할 수 있다. 인코딩/디코딩에서, 베이스 레이어 픽처는 동일한 레이어 내에서 코딩/디코딩 순서로, 후속의 픽처를 위한 모션 보상 참조 픽처로서 또는 인터 레이어(또는 인터뷰 또는 인터 콤포넌트) 예측을 위한 참조로서 사용되도록 재구성되고/디코딩될 수 있다. 재구성된/디코딩된 베이스 레이어 픽처가 DPB 내에 저장될 수 있다. 향상 레이어 픽처는 마찬가지로 동일한 레이어 내에서 코딩/디코딩 순서로, 후속의 픽처를 위한 모션 보상 참조 픽처로서 또는 존재하면 상위의 향상 레이어를 위한 인터 레이어(또는 인터뷰 또는 인터 콤포넌트) 예측을 위한 참조로서 사용되도록 재구성되고/디코딩될 수 있다. 재구성된/디코딩된 샘플값에 추가하여, 베이스/참조 레이어의 신택스 요소값 또는 베이스/참조 레이어의 신택스 요소값으로부터 유도된 변수가 인터 레이어/인터 콤포넌트/인터뷰 예측에 사용될 수 있다.
몇몇 경우에, 향상 레이어 내의 데이터는 특정 로케이션 후에 또는 심지어 임의의 위치에서 절단될(truncated) 수 있는데, 여기서 각각의 절단 위치는 증가적으로 향상된 시각 품질을 표현하는 부가의 데이터를 포함할 수 있다. 이러한 스케일러빌러티는 미세 입자(입도) 스케일러빌러티(FGS)라 칭한다. FGS는 SVC 표준의 몇몇 드래프트 버전에 포함되었지만, 최종 SVC 표준으로부터 결국에는 제외되었다. FGS는 SVC 표준의 몇몇 드래프트 버전의 맥락에서 이후에 설명된다. 절단될 수 없는 이들 향상 레이어에 의해 제공된 스케일러빌러티는 거친 입자(입도) 스케일러빌러티(CGS)라 칭한다. 이는 집합적으로 전통적인 품질(SNR) 스케일러빌러티 및 공간 스케일러빌러티를 포함한다. SVC 표준은 소위 중간 입자 스케일러빌러티(MGS)를 지원하는데, 여기서 품질 향상 픽처가 SNR 스케일러블 레이어 픽처에 유사하게 코딩되지만 0 초과의 quality_id 신택스 요소를 가짐으로써 FGS 레이어 픽처에 유사하게 상위 레벨 신택스 요소에 의해 지시된다.
SVC는 인터 레이어 예측 메커니즘을 사용하는데, 여기서 특정 정보가 현재 재구성된 레이어 또는 다음 하위 레이어 이외의 레이어로부터 예측될 수 있다. 인터 레이어 예측될 수 있는 정보는 인트라 텍스처, 모션 및 잔류 데이터를 포함한다. 인터 레이어 모션 예측은 블록 코딩 모드의 예측, 헤더 정보 등을 포함하는데, 여기서 하위 레이어로부터의 모션은 상위 레이어의 예측을 위해 사용될 수 있다. 인트라 코딩의 경우에, 주위 매크로블록으로부터 또는 하위 레이어의 코로케이팅된 매크로블록으로부터의 예측이 가능하다. 이들 예측 기술은 이전에 코딩된 액세스 단위로부터 정보를 이용하지 않고, 따라서 인트라 예측 기술이라 칭한다. 더욱이, 하위 레이어로부터의 잔류 데이터는 또한 인터 레이어 잔차 신호 예측이라 칭할 수 있는 현재 레이어의 예측을 위해 이용될 수 있다.
스케일러블 (디)코딩은 단일 루프 디코딩으로서 알려진 개념으로 실현될 수 있는데, 여기서 디코딩된 참조 픽처는 단지 디코딩되는 최상위 레이어를 위해서만 재구성되고, 반면에 하위 레이어에서의 픽처는 완전히 디코딩되지 않을 수 있고 또는 인터 레이어 예측을 위해 이들을 사용한 후에 폐기될 수 있다. 단일 루프 디코딩에서, 디코더는 단지 재생을 위해 요구되는 스케일러블 레이어("요구 레이어" 또는 "타겟 레이어"라 칭함)를 위해서만 모션 보상 및 풀 픽처 재구성을 수행하여, 이에 의해 멀티루프 디코딩에 비교할 때 디코딩 복잡성을 감소시킨다. 요구 레이어 이외의 모든 레이어는 코딩된 픽처 데이터의 모두 또는 일부가 요구 레이어의 재구성을 위해 요구되지 않기 때문에 완전히 디코딩될 필요가 없다. 그러나, 하위 레이어(타겟 레이어보다)는 인터 레이어 모션 예측과 같은, 인터 레이어 신택스 또는 파라미터 예측을 위해 사용될 수 있다. 부가적으로 또는 대안적으로, 하위 레이어는 인터 레이어 인트라 예측을 위해 사용될 수 있고, 따라서 하위 레이어의 인트라 코딩된 블록이 디코딩되어야 할 수 있다. 부가적으로 또는 대안적으로, 인터레이어 잔차 신호 예측이 적용될 수 있고, 여기서 하위 레이어의 잔차 신호 정보는 타겟 레이어의 디코딩을 위해 사용될 수 있고, 잔차 신호 정보는 디코딩되거나 재구성될 필요가 있을 수 있다. 몇몇 코딩 구성에서, 단일 디코딩 루프는 대부분의 픽처의 디코딩을 위해 요구되고, 반면에 제2 디코딩 루프는 예측 참조로서 요구되지만 출력 또는 표시를 위해서는 요구되지 않을 수 있는 소위 베이스 표현(즉, 디코딩된 베이스 레이어 픽처)을 재구성하도록 선택적으로 적용될 수 있다.
SVC는 단일 루프 디코딩의 사용을 허용한다. 이는 제약된 인트라 텍스처 예측 모드를 사용하여 가능하게 되는데, 이에 의해 인트라 레이어 텍스처 예측은 베이스 레이어의 대응 블록이 인트라-MB 내부에 로케이팅되는 매크로블록(MB)에 적용될 수 있다. 동시에, 베이스 레이어 내의 이들 인트라-MB는 제약된 인트라 예측(예를 들어, 1에 동일한 신택스 요소 "constrained_intra_pred_flag"를 가짐)을 사용한다. 단일 루프 디코딩에서, 디코더는 단지 재생을 위해 요구되는 스케일러블 레이어("요구 레이어" 또는 "타겟 레이어"라 칭함)를 위해서만 모션 보상 및 풀 픽처 재구성을 수행하여, 이에 의해 디코딩 복잡성을 감소시킨다. 요구 레이어 이외의 모든 레이어는 코딩된 인터 레이어 예측(인터 레이어 인트라 텍스처 예측, 인터 레이어 모션 예측 또는 인터 레이어 잔차 신호 예측임)을 위해 사용되지 않는 MB의 데이터의 모두 또는 일부가 요구 레이어의 재구성을 위해 요구되지 않기 때문에 완전히 디코딩되도록 요구되지 않는다. 단일 디코딩 루프는 대부분의 픽처의 디코딩을 위해 요구되고, 반면에 제2 디코딩 루프는 예측 참조로서 요구되지만 출력 또는 표시를 위해서는 요구되지 않는 베이스 표현을 재구성하도록 선택적으로 적용되고, 소위 키 픽처("store_ref_base_pic_flag"가 1임)를 위해서만 재구성된다.
SVC 드래프트 내의 스케일러빌러티 구조는 3개의 신택스 요소: "temporal_id," "dependency_id" 및 "quality_id"에 의해 특징화된다. 신택스 요소 "temporal_id"는 시간 스케일러빌러티 계층 또는 직접 프레임 레이트를 지시하는데 사용된다. 더 작은 최대 "temporal_id" 값의 픽처를 포함하는 스케일러블 레이어 표현은 더 큰 최대 "temporal_id"의 픽처를 포함하는 스케일러블 레이어 표현보다 작은 프레임 레이트를 갖는다. 소정의 시간 레이어는 통상적으로 하위의 시간 레이어(즉, 더 작은 "temporal_Id" 값을 갖는 시간 레이어)에 의존하지만, 임의의 상위의 시간 레이어에 의존하지 않는다. 신택스 요소 "dependency_id"는 CGS 인터 레이어 코딩 종속성 계층(전술된 바와 같이, SNR 및 공간 스케일러빌러티의 모두를 포함함)을 지시하는데 사용된다. 임의의 시간 레벨 위치에서, 더 작은 "dependency_id" 값의 픽처가 더 큰 "dependency_id" 값을 갖는 픽처의 코딩을 위해 인터 레이어 예측을 위해 사용될 수 있다. 신택스 요소 "quality_id"는 FGS 또는 MGS 레이어의 품질 레벨 계층을 지시하는데 사용된다. 임의의 시간 위치에서, 동일한 "dependency_id" 값을 갖고, QL에 동일한 "quality_id"를 갖는 픽처는 인터 레이어 예측을 위해 QL-1에 동일한 "quality_id"를 갖는 픽처를 사용한다. 0 초과의 "quality_id"를 갖는 코딩된 슬라이스는 절단가능한 FGS 슬라이스 또는 비-절단가능한 MGS 슬라이스로서 코딩될 수 있다.
간단화를 위해, 동일한 "dependency_id"의 값을 갖는 일 액세스 단위 내의 모든 데이터 단위(예를 들어, SVC 맥락에서 네트워크 추상화 레이어 단위 또는 NAL 단위)는 종속성 단위 또는 종속성 표현이라 칭한다. 일 종속 단위 내에서, 동일한 "quality_id"의 값을 갖는 모든 데이터 단위는 품질 단위 또는 레이어 표현이라 칭한다.
디코딩된 베이스 픽처로서 또한 공지되어 있는 베이스 표현은 0에 동일한 "quality_id"를 갖고 "store_ref_base_pic_flag"가 1에 동일하게 설정되는 종속성 단위의 비디오 코딩 레이어(VCL) NAL 단위를 디코딩하는 것으로부터 발생하는 디코딩된 픽처이다. 디코딩된 픽처라 또한 칭하는 향상 표현은 최고 종속성 표현을 위해 존재하는 모든 레이어 표현이 디코딩되는 규칙적인 디코딩 프로세스로부터 발생한다.
전술된 바와 같이, CGS는 공간 스케일러빌러티 및 SNR 스케일러빌러티의 모두를 포함한다. 공간 스케일러빌러티는 초기에 상이한 분해능을 갖는 비디오의 표현을 지원하도록 설계된다. 각각의 시간 인스턴스에 대해, VCL NAL 단위는 동일한 액세스 단위로 코딩되고, 이들 VCL NAL 단위는 상이한 분해능에 대응할 수 있다. 디코딩 중에, 저분해능 VCL NAL 단위는 고분해능 픽처의 최종 디코딩 및 재구성에 의해 선택적으로 계승될 수 있는 모션 필드 및 잔차 신호를 제공한다. 더 오래된 비디오 압축 표준에 비교할 때, SVC의 공간 스케일러빌러티는 베이스 레이어가 향상 레이어의 크롭핑된(cropped) 그리고 주밍된(zoomed) 버전이 되는 것을 가능하게 하도록 일반화되어 있다.
MGS 품질 레이어는 FGS 품질 레이어와 유사하게 "quality_id"를 갖고 지시된다. 각각의 종속성 단위(동일한 "dependency_id"를 갖는)에 대해, 0에 동일한 "quality_id"를 갖는 레이어가 존재하고, 0 초과의 "quality_id"를 갖는 다른 레이어가 존재할 수 있다. 0 초과의 "quality_id"를 갖는 이들 레이어는 슬라이스가 절단가능한 슬라이스로서 코딩되는지 여부에 따라 MGS 레이어 또는 FGS 레이어이다.
FGS 향상 레이어의 기본 형태에서, 단지 인터 레이어 예측만이 사용된다. 따라서, FGS 향상 레이어는 디코딩된 시퀀스로 임의의 에러 전파를 유발하지 않고 자유롭게 절단될 수 있다. 그러나, FGS의 기본 형태는 낮은 보상 효율의 문제를 겪는다. 이 문제점은 단지 저품질 픽처가 인터 예측 참조를 위해 사용되기 때문에 발생한다. 따라서, FGS-향상된 픽처가 인터 예측 참조로서 사용되는 것이 제안되어 왔다. 그러나, 이는 몇몇 FGS 데이터가 폐기될 때 드리프트라 또한 칭하는 인코딩-디코딩 오정합을 유발할 수 있다.
드래프트 SVC 표준의 일 특징은 FGS NAL 단위가 자유롭게 드롭핑되거나 절단될 수 있다는 것이고, SVCV 표준의 특징은 MGS NAL 단위가 비트스트림의 적합에 영향을 미치지 않고 자유롭게 드롭핑될 수 있다는 것이다(그러나, 절단될 수 없음). 전술된 바와 같이, 이들 FGS 또는 MGS 데이터가 인코딩 중에 인터 예측 참조를 위해 사용되었을 때, 데이터의 드롭핑 또는 절단은 디코더측에서 그리고 인코더측에서 디코딩된 픽처들 사이의 오정합을 야기할 것이다. 이 오정합은 또한 드리프트라 칭한다.
FGS 또는 MGS 데이터의 드롭핑 또는 절단에 기인하는 드리프트를 제어하기 위해, SVC는 이하의 솔루션을 적용하였다: 특정 종속성 단위에서, 베이스 표현(단지 0에 동일한 "quality_id"를 갖는 CGS 픽처 및 모든 종속 하위 레이어 데이터를 디코딩함으로써)이 디코딩된 픽처 버퍼 내에 저장된다. 동일한 "dependency_id"의 값을 갖는 후속의 종속성 단위를 인코딩할 때, FGS 또는 MGS NAL 단위를 포함하는 모든 NAL 단위는 인터 예측 참조를 위해 베이스 표현을 사용한다. 따라서, 이전의 액세스 단위 내의 FGS 또는 MGS NAL 단위의 드롭핑 또는 절단에 기인하는 모든 드리프트가 이 액세스 유닛에서 정지된다. 동일한 "dependency_id"의 값을 갖는 다른 종속성 단위에 대해, 모든 NAL 단위는 높은 코딩 효율을 위해 인터 예측 참조를 위해 디코딩된 픽처를 사용한다.
각각의 NAL 단위는 NAL 단위 헤더 내에 신택스 요소 "use_ref_base_pic_flag."를 포함한다. 이 요소의 값이 1일 때, NAL 단위의 디코딩은 인터 예측 프로세스 중에 참조 픽처의 베이스 표현을 사용한다. 신택스 요소 "store_ref_base_pic_flag"는 인터 예측을 위해 사용하기 위해 미래의 픽처를 위한 현재 픽처의 베이스 표현을 저장해야 하는지(1일 때) 또는 아닌지(0일 때) 여부를 지정한다.
0 초과의 "quality_id"를 갖는 NAL 단위는 참조 픽처 리스트 구성 및 가중 예측에 관련된 신택스 요소, 즉 신택스 요소 "num_ref_active_1x_minus1"(x=0 또는 1)을 포함하지 않고, 참조 픽처 리스트 재순서화 신택스 테이블, 및 가중된 예측 신택스 테이블은 존재하지 않는다. 따라서, MGS 또는 FGS 레이어는 필요할 때 동일한 종속성 단위의 0에 동일한 "quality_id"를 갖는 NAL 단위로부터 이들 신택스 요소를 계승해야 한다.
SVC에서, 참조 픽처 리스트는 단지 베이스 표현("use_ref_base_pic_flag"가 1일 때) 또는 단지 "베이스 표현"으로서 마킹되지 않은 디코딩된 픽처("use_ref_base_pic_flag"가 0일 때)만으로 이루어지고, 절대로 양자 모두로 동시에 이루어지지 않는다.
다수의 네스팅 SEI 메시지는 AVC 및 HEVC 표준에 지정되거나 다른 방식으로 제안되어 있다. 네스팅 SEI 메시지의 사상은 네스팅 SEI 메시지 내에 하나 이상의 SEI 메시지를 포함하고 비트스트림의 서브세트 및/또는 디코딩된 데이터의 서브세트와 포함된 SEI 메시지를 연계하기 위한 메커니즘을 제공하는 것이다. 네스팅 SEI 메시지는 네스팅 SEI 메시지 자체가 아닌 하나 이상의 SEI 메시지를 포함하도록 요구될 수 있다. 네스팅 SEI 메시지 내에 포함된 SEI 메시지는 네스팅된 SEI 메시지라 칭할 수 있다. 네스팅 SEI 메시지 내에 포함되지 않은 SEI 메시지는 비-네스팅된 SEI 메시지라 칭할 수 있다. HEVC의 스케일러블 네스팅 SEI 메시지는 비트스트림 서브세트(서브-비트스트림 추출 프로세스로부터 발생함) 또는 네스팅된 SEI 메시지가 적용되는 레이어의 세트를 식별하는 것이 가능하다. 비트스트림 서브세트는 또한 서브-비트스트림이라 칭할 수 있다.
스케일러블 네스팅 SEI 메시지는 SVC 내에 지정되어 있다. 스케일러블 네스팅 SEI 메시지는 지시된 종속성 표현 또는 다른 스케일러블 레이어와 같은, 비트스트림의 서브세트와 SEI 메시지를 연계하기 위한 메커니즘을 제공한다. 스케일러블 네스팅 SEI 메시지는 스케일러블 네스팅 SEI 메시지 자체가 아닌 하나 이상의 SEI 메시지를 포함한다. 스케일러블 네스팅 SEI 메시지 내에 포함된 SEI 메시지는 네스팅된 SEI 메시지라 칭한다. 스케일러블 네스팅 SEI 메시지 내에 포함되지 않은 SEI 메시지는 비-네스팅된 SEI 메시지라 칭한다.
작업은 HEVC 표준으로의 스케일러블 및 멀티뷰 확장을 지정하도록 계속된다. MV-HEVC라 칭하는 HEVC의 멀티뷰 확장은 H.264/AVC의 MVC 확장에 유사하다. MVC에 유사하게, MV-HEVC에서, 인터뷰 참조 픽처는 코딩되는 또는 디코딩되는 현재 픽처의 참조 픽처 리스트(들) 내에 포함될 수 있다. SHVC라 칭하는 HEVC의 스케일러블 확장은 멀티루프 디코딩 동작을 사용하도록 지정되게 계획된다(H.264/AVC의 SVC 확장과는 달리). SHVC는 참조 인덱스 기반인데, 즉 인터 레이어 참조 픽처는 코딩되는 또는 디코딩되는(전술된 바와 같이) 현재 픽처의 하나 이상의 참조 픽처 리스트 내에 포함될 수 있다.
MV-HEVC 및 SHVC를 위한 다수의 동일한 신택스 구조, 시맨틱스, 및 디코딩 프로세스를 사용하는 것이 가능하다. 깊이 향상된 비디오와 같은 다른 유형의 스케일러빌러티가 MV-HEVC 및 SHVC에서와 동일한 또는 유사한 신택스 구조, 시맨틱스, 및 디코딩 프로세스로 또한 실현될 수 있다.
향상 레이어 코딩을 위해, HEVC의 동일한 개념 및 코딩 툴은 SHVC, MV-HEVC 등에 사용될 수 있다. 그러나, 향상 레이어를 효율적으로 코딩하기 위해 참조 레이어 내에 미리 코딩된 데이터(재구성된 픽처 샘플 및 모션 파라미터, 즉 모션 정보를 포함함)를 이용하는 부가의 인터 레이어 예측 툴은 SHVC, MV-HEVC 및/또는 유사 코덱에 통합될 수 있다.
MV-HEVC, SHVC 등에서, VPS는 예를 들어, SVC 및 MVC에 유사하게 규정된 레이어에 대한 dependency_id, quality_id, view_id, 및 depth_flag에 대응하는 하나 이상의 스케일러빌러티 치수값으로의 NAL 단위 헤더로부터 유도된 LayerId 값의 맵핑을 포함할 수 있다.
MV-HEVC/SHVC에서, 0 초과의 레이어 식별자값을 갖는 레이어가 어떠한 직접 참조 레이어도 갖지 않는다는 것, 즉 레이어가 임의의 다른 레이어로부터 인터 레이어 예측되지 않는다는 것이 VPS 내에서 지시될 수 있다. 달리 말하면, MV-HEVC/SHVC 비트스트림은 사이멀캐스트 레이어라 칭할 수 있는 서로 독립적인 레이어를 포함할 수 있다.
비트스트림 내에 존재할 수 있는 스케일러빌러티 치수, 스케일러빌러티 치수값으로의 nuh_layer_id 값의 맵핑, 및 레이어 사이의 종속성을 지정하는 VPS의 부분이 이하의 신택스로 지정될 수 있다:
Figure 112016100265465-pct00007
VPS의 상기에 나타낸 부분의 시맨틱스는 이하의 단락에서 설명된 바와 같이 지정될 수 있다.
1에 동일한 splitting_flag는 dimension_id[ i ] [ j ] 신택스 요소가 존재하지 않는다는 것과, NAL 단위 헤더 내의 nuh_layer_id 값의 2진 표현이 dimension_id_len_minus1 [ j ]의 값에 따라 비트 단위의 길이를 갖는 NumScalabilityTypes 세그먼트로 분할된다는 것과, dimension_id[ LayerIdxInVpsf nuh layer id ] ] [ j ]의 값이 NumScalabilityTypes 세그먼트로부터 추론된다는 것을 지시한다. 0에 동일한 splitting_flag는 신택스 요소 dimension_id[ i ] [ j ]가 존재하는 것을 지시한다. 이하의 예시적인 시맨틱스에서, 일반성의 손실 없이, 분할 플래그는 0에 동일한 것으로 가정된다.
1에 동일한 scalability_mask_flag[ i ]는 이하의 표에서 i-번째 스케일러빌러티 치수에 대응하는 치수화된 신택스 요소가 존재하는 것을 지시한다. 0에 동일한 scalability_mask_flag[ i ]는 i-번째 스케일러빌러티 치수에 대응하는 치수화된 신택스 요소가 존재하지 않는 것을 지시한다.
Figure 112016100265465-pct00008
HEVC의 3D 확장에서 스케일러빌러티 마스크 인덱스 0은 깊이 맵을 지시하는데 사용될 수 있다.
dimension_id_len_minus1 [ j ] 플러스 1은 dimension_id[ i ] [ j ] 신택스 요소의 길이를 비트 단위로 지정한다.
1에 동일한 vps_nuh_layer_id_present_flag는 0 내지 MaxLayersMinus1(경계값 포함)(비트스트림 마이너스 1의 레이어의 최대 수에 동일함)의 i에 대해 layer_id_in_nuh[ i ]가 존재하는 것을 지정한다. 0에 동일한 vps_nuh_layer_id_present_flag는 0 내지 MaxLayersMinus1(경계값 포함)의 i에 대해 layer_id_in_nuh[ i ]가 존재하지 않는 것을 지정한다.
layer_id_in_nuh[ i ]는 i-번째 레이어의 VCL NAL 단위에서 nuh_layer_id 신택스 요소의 값을 지정한다. 0 내지 MaxLayersMinus1의 범위(경계값 포함)의 i에 대해, layer_id_in_nuh[ i ]가 존재하지 않을 때, 값은 i에 동일한 것으로 추론된다. i가 0 초과일 때, layer_id_in_nuh[ i ]는 layer_id_in_nuh[ i - 1 ] 초과이다. 0 내지 MaxLayersMinus1(경계값 포함)의 i에 대해, 변수 LayerIdxInVpsf layer_id_in_nuh[ i ] ]는 i에 동일하게 설정된다.
dimension_id[ i ] [ j ]는 i-번째 레이어의 j-번째 현재 스케일러빌러티 치수 유형의 식별자를 지정한다. dimension_id[ i ][ j ]의 표현을 위해 사용된 비트의 수는 dimension_id_len_minus1 [ j ] + 1 비트이다. 분할 플래그가 0일 때, 0 내지 NumScalabilityTypes - 1(경계값 포함)의 j에 대해, dimension_id[ 0 ][ j ]는 0에 동일한 것으로 추론된다.
i-번째 레이어의 smldx-번째 스케일러빌러티 치수 유형의 식별자를 지정하는 변수 Scalability Id [ i ][ smldx ], i-번째 레이어의 뷰 순서 인덱스를 지정하는 변수 ViewOrderIdx[ layer_id_in_nuh[ i ] ], i-번째 레이어의 공간/품질 스케일러빌러티 식별자를 지정하는 DependencyId[ layer_id_in_nuh[ i ] ], 및 i-번째 레이어가 뷰 스케일러빌러티 확장 레이어인지 여부를 지정하는 변수 ViewScalExtLayerFlag[ layer_id_in_nuh[ i ] ]가 이하와 같이 유도된다:
Figure 112016100265465-pct00009
향상 레이어 또는 0 초과의 레이어 식별자 값을 갖는 레이어는 베이스 레이어 또는 다른 레이어를 보충하는 보조 비디오를 포함하도록 지시될 수 있다. 예를 들어, MV-HEVC의 현재 드래프트에서, 보조 픽처는 보조 픽처 레이어를 사용하여 비트스트림 내에서 인코딩될 수 있다. 보조 픽처 레이어는 그 자신의 스케일러빌러티 치수값, AuxId(예를 들어, 뷰 순서 인덱스와 유사하게)와 연계된다. 0 초과의 AuxId를 갖는 레이어는 보조 픽처를 포함한다. 레이어는 단지 하나의 유형의 보조 픽처만을 전달하고, 레이어 내에 포함된 보조 픽처의 유형은 그 AuxId 값에 의해 지시될 수 있다. 달리 말하면, AuxId 값은 보조 픽처의 유형에 맵핑될 수 있다. 예를 들어, 1에 동일한 AuxId는 알파 평면을 지시할 수 있고, 2에 동일한 AuxId는 깊이 픽처를 지시할 수 있다. 보조 픽처는 1차 픽처의 디코딩 프로세스에 어떠한 규범적 효력도 갖지 않는 픽처로서 정의될 수 있다. 달리 말하면, 1차 픽처(0에 동일한 AuxId를 가짐)는 보조 픽처로부터 예측하지 않도록 제약될 수 있다. 보조 픽처가 1차 픽처로부터 예측할 수 있지만, 예를 들어 AuxId 값에 기초하여 이러한 예측을 불허하는 제약이 존재할 수 있다. SEI 메시지는 깊이 보조 레이어에 의해 표현된 깊이 범위와 같은, 보조 픽처 레이어의 더 상세한 특징을 전달하는데 사용될 수 있다. MV-HEVC의 현재 드래프트는 깊이 보조 레이어의 지원을 포함한다.
이들에 한정되는 것은 아니지만, 이하의 것: 깊이 픽처; 알파 픽처; 오버레이 픽처; 및 라벨 픽처를 포함하는 상이한 유형의 보조 픽처가 사용될 수 있다. 깊이 픽처에서, 샘플값은 깊이 픽처의 뷰포인트(또는 카메라 위치) 또는 깊이 또는 거리 사이의 디스패리티를 표현한다. 알파 픽처(즉, 알파 평면 및 알파 광택 픽처)에서, 샘플 값은 투명성 또는 불투명성을 표현한다. 알파 픽처는 투명성의 정도 또는 등가적으로 불투명성의 정도를 각각의 픽셀에 대해 지시할 수 있다. 알파 픽처는 단색 픽처일 수 있고 또는 알파 픽처의 크로마 콤포넌트는 색도를 지시하지 않도록 설정될 수 있다(예를 들어, 크로마 샘플값이 부호가 있는 것으로 고려될 때 0 또는 크로마 샘플값이 8-비트이고 부호가 없는 것으로 고려될 때 128). 오버레이 픽처는 표시시에 1차 픽처의 위에 오버레이될 수 있다. 오버레이 픽처는 다수의 영역 및 배경을 포함할 수 있고, 여기서 영역의 모두 또는 서브세트는 표시시에 오버레이될 수 있고 배경은 오버레이되지 않는다. 라벨 픽처는 단일 오버레이 영역을 식별하는데 사용될 수 있는 상이한 오버레이 영역에 대해 상이한 라벨을 포함한다.
어떻게 제시된 VPS 발췌부의 시맨틱스가 지정될 수 있는지를 계속하면; view_id_len은 view_id_val[ i ] 신택스 요소의 길이를 비트 단위로 지정한다. view_id_val[ i ]는 VPS에 의해 지정된 i번째 뷰의 뷰 식별자를 지정한다. view_id_val[ i ] 신택스 요소의 길이는 view_id_len 비트이다. 존재하지 않을 때, view_id_val[ i ]의 값은 0에 동일한 것으로 추론된다. nuhLayerId에 동일한 nuh_layer_id를 갖는 각각의 레이어에 대해, 값 ViewId[ nuhLayerId ]는 view_id_val[ ViewOrderIdx[ nuhLayerId ] ]에 동일하게 설정된다. 0에 동일한 direct_dependency_flag[ i ] [ j ]는 인덱스 j를 갖는 레이어가 인덱스 i를 갖는 레이어에 대한 직접 참조 레이어가 아니라는 것을 지정한다. 1에 동일한 direct_dependency_flag[ i ] [ j ]는 인덱스 j를 갖는 레이어가 인덱스 i를 갖는 레이어에 대한 직접 참조 레이어일 수 있다는 것을 지정한다. direct_dependency_flag[ i ][ j ]가 0 내지 MaxLayersMinus 1의 범위에서 i 및 j에 대해 존재하지 않을 때, 이는 0에 동일하도록 추론된다.
향상 레이어 또는 0 초과의 레이어 식별자 값을 갖는 레이어는 베이스 레이어 또는 다른 레이어를 보충하는 보조 비디오를 포함하도록 지시될 수 있다. 예를 들어, MV-HEVC의 현재 드래프트에서, 보조 픽처는 보조 픽처 레이어를 사용하여 비트스트림 내에서 인코딩될 수 있다. 보조 픽처 레이어는 그 자신의 스케일러빌러티 치수값, AuxId(예를 들어, 뷰 순서 인덱스와 유사하게)와 연계된다. 0 초과의 AuxId를 갖는 레이어는 보조 픽처를 포함한다. 레이어는 단지 하나의 유형의 보조 픽처만을 전달하고, 레이어 내에 포함된 보조 픽처의 유형은 그 AuxId 값에 의해 지시될 수 있다. 달리 말하면, AuxId 값은 보조 픽처의 유형에 맵핑될 수 있다. 예를 들어, 1에 동일한 AuxId는 알파 평면을 지시할 수 있고, 2에 동일한 AuxId는 깊이 픽처를 지시할 수 있다. 보조 픽처는 1차 픽처의 디코딩 프로세스에 어떠한 규범적 효력도 갖지 않는 픽처로서 정의될 수 있다. 달리 말하면, 1차 픽처(0에 동일한 AuxId를 가짐)는 보조 픽처로부터 예측하지 않도록 제약될 수 있다. 보조 픽처가 1차 픽처로부터 예측할 수 있지만, 예를 들어 AuxId 값에 기초하여 이러한 예측을 불허하는 제약이 존재할 수 있다. SEI 메시지는 깊이 보조 레이어에 의해 표현된 깊이 범위와 같은, 보조 픽처 레이어의 더 상세한 특징을 전달하는데 사용될 수 있다. MV-HEVC의 현재 드래프트는 깊이 보조 레이어의 지원을 포함한다.
이들에 한정되는 것은 아니지만, 이하의 것: 깊이 픽처; 알파 픽처; 오버레이 픽처; 및 라벨 픽처를 포함하는 상이한 유형의 보조 픽처가 사용될 수 있다. 깊이 픽처에서, 샘플값은 깊이 픽처의 뷰포인트(또는 카메라 위치) 또는 깊이 또는 거리 사이의 디스패리티를 표현한다. 알파 픽처(즉, 알파 평면 및 알파 광택 픽처)에서, 샘플 값은 투명성 또는 불투명성을 표현한다. 알파 픽처는 투명성의 정도 또는 등가적으로 불투명성의 정도를 각각의 픽셀에 대해 지시할 수 있다. 알파 픽처는 단색 픽처일 수 있고 또는 알파 픽처의 크로마 콤포넌트는 색도를 지시하지 않도록 설정될 수 있다(예를 들어, 크로마 샘플값이 부호가 있는 것으로 고려될 때 0 또는 크로마 샘플값이 8-비트이고 부호가 없는 것으로 고려될 때 128). 오버레이 픽처는 표시시에 1차 픽처의 위에 오버레이될 수 있다. 오버레이 픽처는 다수의 영역 및 배경을 포함할 수 있고, 여기서 영역의 모두 또는 서브세트는 표시시에 오버레이될 수 있고 배경은 오버레이되지 않는다. 라벨 픽처는 단일 오버레이 영역을 식별하는데 사용될 수 있는 상이한 오버레이 영역을 위한 상이한 라벨을 포함한다.
SHVC, MV-HEVC 등에서, 블록 레벨 신택스 및 디코딩 프로세스는 인터 레이어 텍스처 예측을 지원하기 위해 변경되지 않는다. 일반적으로 슬라이스 헤더, PPS, SPS, 및 VPS를 포함하는 신택스 구조를 참조하는 단지 상위 레벨 신택스만이 수정되어(HEVC의 것에 비교하여) 동일한 액세스 단위의 참조 레이어로부터의 재구성된 픽처(필요하다면 업샘플링됨)가 현재 향상 레이어 픽처를 코딩하기 위한 참조 픽처로서 사용될 수 있게 된다. 인터 레이어 참조 픽처 뿐만 아니라 시간 참조 픽처는 참조 픽처 리스트 내에 포함된다. 시그널링된 참조 픽처 인덱스는 현재 예측 단위(PU)가 시간 참조 픽처 또는 인터 레이어 참조 픽처로부터 예측되는지 여부를 지시하는데 사용된다. 이 특징의 사용은 인코더에 의해 제어되고, 비트스트림 내에서 예를 들어 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 및/또는 슬라이스 헤더 내에서 지시될 수 있다. 지시(들)는 예를 들어, 향상 레이어, 참조 레이어, 한 쌍의 향상 레이어와 참조 레이어, 특정 TemporalId 값, 특정 픽처 유형(예를 들어, RAP 픽처), 특정 슬라이스 유형(예를 들어, P 및 B 슬라이스, 그러나 I 슬라이스는 아님), 특정 POC 값의 픽처, 및/또는 특정 액세스 단위에 특정할 수 있다. 지시(들)의 범부 및/또는 지속성은 지시(들) 자체와 함께 지시될 수 있고 그리고/또는 추론될 수 있다.
SHVC, MV-HEVC 등에서의 참조 리스트(들)는 인터 레이어 참조 픽처(들)가 존재하면 초기 참조 픽처 리스트(들) 내에 포함될 수 있는 특정 프로세스를 사용하여 초기화될 수 있다. 예를 들어, 시간 참조는 HEVC 내의 참조 리스트 구성과 동일한 방식으로 참조 리스트(L0, L1) 내에 먼저 추가될 수 있다. 그 후에, 인터 레이어 참조가 시간 참조 후에 추가될 수 있다. 인터 레이어 참조 픽처는 예를 들어, VPS 확장에서 제공된 레이어 종속성 정보로부터 결론지을 수 있다. 인터 레이어 참조 픽처는 현재 향상 레이어 슬라이스가 P-슬라이스이면 초기 참조 픽처 리스트 L0에 추가될 수 있고, 현재 향상 레이어 슬라이스가 B-슬라이스이면 양 초기 참조 픽처 리스트 L0 및 L1에 추가될 수 있다. 인터 레이어 참조 픽처는 양 참조 픽처 리스트에 대해 동일할 수 있지만 필수적인 것은 아닌 특정 순서로 참조 픽처 리스트에 추가될 수 있다. 예를 들어, 초기 참조 픽처 리스트 1 내에 인터레이어 참조 픽처를 가산하는 반대 순서가 초기 참조 픽처 리스트 0의 것에 비교하여 사용될 수 있다. 예를 들어, 인터 레이어 참조 픽처는 nuh_layer_id의 오름차순으로 초기 참조 픽처 0 내에 삽입될 수 있고, 반면에 반대 순서가 초기 참조 픽처 리스트 1을 초기화하는데 사용될 수 있다.
코딩 및/또는 디코딩 프로세스에서, 인터 레이어 참조 픽처는 장기 참조 픽처로서 취급될 수 있다.
인터 레이어 모션 예측이라 칭할 수 있는 인터 레이어 예측의 유형은 이하와 같이 실현될 수 있다. H.265/HEVC의 TMVP와 같은 시간 모션 벡터 예측 프로세스가 상이한 레이어들 사이의 모션 데이터의 중복성을 활용하는데 사용될 수 있다. 이는 이하와 같이 행해질 수 있다: 디코딩된 베이스 레이어 픽처가 업샘플링될 때, 베이스 레이어 픽처의 모션 데이터는 향상 레이어의 분해능으로 또한 맵핑된다. 향상 레이어 픽처가 예를 들어 H.265/HEVC의 TMVP와 같은 시간 모션 벡터 예측 메커니즘으로 베이스 레이어 픽처로부터 모션 벡터 예측을 이용하면, 대응 모션 벡터 예측자가 맵핑된 베이스 레이어 모션 필드로부터 발생된다. 이 방식으로 상이한 레이어의 모션 데이터 사이의 상관이 스케일러블 비디오 코더의 코딩 효율을 향상시키는데 활용될 수 있다.
SHVC 등에서, 인터 레이어 모션 예측은 TMVP 유도를 위한 코로케이팅된 참조 픽처로서 인터 레이어 참조 픽처를 설정함으로써 수행될 수 있다. 2개의 레이어 사이의 모션 필드 맵핑 프로세스는 예를 들어 TMVP 유도에서 블록 레벨 디코딩 프로세스 수정을 회피하기 위해 수행될 수 있다. 모션 필드 맵핑 특징의 사용은 인코더에 의해 제어되고, 비트스트림 내에서 예를 들어 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 및/또는 슬라이스 헤더 내에서 지시될 수 있다. 지시(들)는 예를 들어, 향상 레이어, 참조 레이어, 향상 레이어와 참조 레이어의 쌍, 특정 TemporalId 값, 특정 픽처 유형(예를 들어, RAP 픽처), 특정 슬라이스 유형(예를 들어, P 및 B 슬라이스 그러나, I 슬라이스는 아님), 특정 POC 값의 픽처, 및/또는 특정 액세스 단위에 특정할 수 있다. 지시(들)의 범주 및/또는 지속성은 지시(들) 자체와 함께 지시될 수 있고 그리고/또는 추론될 수 있다.
공간 스케일러빌러티를 위한 모션 필드 맵핑 프로세스에서, 업샘플링된 인터 레이어 참조 픽처의 모션 필드는 각각의 참조 레이어 픽처의 모션 필드에 기초하여 얻어질 수 있다. 업샘플링된 인터 레이어 참조 픽처의 각각의 블록을 위한 모션 파라미터(예를 들어, 수평 및/또는 수직 모션 벡터값 및 참조 인덱스를 포함할 수 있음) 및/또는 예측 모드는 참조 레이어 픽처 내의 코로케이팅된 블록의 대응 모션 파라미터 및/또는 예측 모드로부터 유도될 수 있다. 업샘플링된 인터 레이어 참조 픽처 내의 모션 파라미터 및/또는 예측 모드의 유도를 위해 사용된 블록 크기는 예를 들어 16×16일 수 있다. 16×16 블록 크기는 참조 픽처의 압축된 모션 필드가 사용되는 HEVC TMVP 유도 프로세스에서와 동일하다.
인터 레이어 리샘플링
인코더 및/또는 디코더는 예를 들어 쌍을 위한 스케일링된 참조 레이어 오프셋에 기초하여 향상 레이어의 쌍 및 그 참조 레이어를 위한 수평 스케일 팩터(예를 들어, 변수 ScaleFactorX에 저장됨) 및 수직 스케일 팩터(예를 들어, 변수 ScaleFactor Y에 저장됨)를 유도할 수 있다. 스케일 팩터 중 하나 또는 모두가 1이 아니면, 참조 레이어 픽처는 향상 레이어 픽처를 예측하기 위한 참조 픽처를 발생하도록 리샘플링될 수 있다. 리샘플링을 위해 사용된 프로세스 및/또는 필터는 예를 들어 코딩 표준 내에 사전규정되고 그리고/또는 비트스트림 내에 인코더에 의해 지시될 수 있고(예를 들어, 사전규정된 리샘플링 프로세스 또는 필터 사이의 인덱스로서) 그리고/또는 비트스트림으로부터 디코더에 의해 디코딩될 수 있다. 상이한 리샘플링 프로세스는 인코더에 의해 지시되고 그리고/또는 디코더에 의해 디코딩되고 그리고/또는 스케일 팩터의 값에 따라 인코더 및/또는 디코더에 의해 추론될 수 있다. 예를 들어, 양 스케일 팩터가 1 미만일 때, 사전규정된 다운샘플링 프로세스가 추론될 수 있고, 양 스케일 팩터가 1 초과일 때, 사전규정된 업샘플링 프로세스가 추론될 수 있다. 부가적으로 또는 대안적으로, 상이한 리샘플링 프로세스가 인코더에 의해 지시되고 그리고/또는 디코더에 의해 디코딩되고 그리고/또는 샘플 어레이가 프로세싱되는지에 따라 인코더 및/또는 디코더에 의해 추론될 수 있다. 예를 들어, 제 1 리샘플링 프로세스는 루마 샘플 어레이를 위해 사용되도록 추론될 수 있고, 제2 리샘플링 프로세스는 크로마 샘플 어레이를 위해 사용되도록 추론될 수 있다.
리샘플링된 루마 샘플값을 얻기 위한 인터 레이어 리샘플링 프로세스의 예가 이하에 제공된다. 루마 참조 샘플 어레이라 또한 칭할 수 있는 입력 루마 샘플 어레이는 변수 rlPicSampleL을 통해 참조된다. 리샘플링된 루마 샘플값은 향상 레이어 픽처의 좌상측 루마 샘플에 대한 루마 샘플 위치(xp, yp)에 대해 유도된다. 그 결과, 프로세스는 변수 intLumaSample을 통해 액세스된 리샘플링된 루마 샘플을 발생한다. 본 예에서, p = 0 ... 15 및 x = 0 ... 7을 갖는 계수 f_L[p, x]를 갖는 이하의 8-탭 필터가 루마 리샘플링 프로세스를 위해 사용된다. (이하에서 첨자를 갖거나 갖지 않는 표기법은 상호교환식으로 해석될 수 있다. 예를 들어, f_L은 fL과 동일하도록 해석될 수 있다.)
Figure 112016100265465-pct00010
보간된 루마 샘플 IntLumaSample의 값은 이하의 순서화된 단계를 적용함으로써 유도될 수 있다:
1. (xP, yP)에 대응하거나 코로케이팅하는 참조 레이어 샘플 로케이션은 예를 들어 스케일링된 참조 레이어 오프셋에 기초하여 유도될 수 있다. 이 참조 레이어 샘플 로케이션은 1/16번째 샘플의 단위에서 (xRef16, yRef16)이라 칭한다.
2. 변수 xRef 및 xPhase가 이하와 같이 유도된다.
Figure 112016100265465-pct00011
여기서, ">>"는 우측으로의 비트-시프트 연산, 즉 x×y 2진수의 2개의 보수 정수 표현의 산술 우측 시프트이다. 이 함수는 단지 y의 음이 아닌 정수값에 대해서만 규정될 수 있다. 우측 시프트의 결과로서 MSB(최상위 비트) 내로 시프트된 비트는 시프트 연산에 앞서 x의 MSB에 동일한 값을 갖는다. "%"는 모듈러스 연산, 즉 x >= 0 및 y > 0을 갖는 정수 x 및 y에 대하서만 규정된 y로 나눈 x의 나머지이다.
3. 변수 yRef 및 yPhase가 이하와 같이 유도된다:
Figure 112016100265465-pct00012
4. 변수 shift1, shift2 및 offset은 이하와 같이 유도된다:
Figure 112016100265465-pct00013
여기서 RefLayerBitDepthY는 참조 레이어 내의 루마 샘플당 비트의 수이다. BitDepthY는 향상 레이어 내의 루마 샘플당 비트의 수이다. "<<"는 좌측으로의 비트-시프트 연산, 즉 x×y 2진수의 2개의 보수 정수 표현의 산술 좌측 시프트이다. 이 함수는 단지 y의 음이 아닌 정수값에 대해서만 규정될 수 있다. 좌측 시프트의 결과로서 LSB(최하위 비트) 내로 시프트된 비트는 0에 동일한 값을 갖는다.
5. n = 0 ... 7을 갖는 샘플값 tempArray[ n ]이 이하와 같이 유도된다:
Figure 112016100265465-pct00014
여기서 RefLayerPicHeightlnSamplesY는 루마 샘플 내의 참조 레이어 픽처의 높이이다. RefLayerPicWidthlnSamplesY는 루마 샘플의 참조 레이어 픽처의 폭이다.
6. 보간된 루마 샘플값 intLumaSample은 이하와 같이 유도된다:
Figure 112016100265465-pct00015
리샘플링된 크로마 샘플값을 얻기 위한 인터 레이어 리샘플링 프로세스는 루마 샘플값을 위한 전술된 프로세스에 동일하게 또는 유사하게 지정될 수 있다. 예를 들어, 루마 샘플에 대한 것과는 상이한 수의 탭을 갖는 필터가 크로마 샘플을 위해 사용될 수 있다.
리샘플링은 예를 들어, 픽처 단위로(리샘플링될 전체 참조 레이어 픽처 또는 영역에 대해), 슬라이스 단위로(예를 들어, 향상 레이어 슬라이스에 대응하는 참조 레이어 영역에 대해) 또는 블록 단위로(예를 들어, 향상 레이어 코딩 트리 단위에 대응하는 참조 레이어 영역에 대해) 수행될 수 있다. 결정된 영역(예를 들어, 향상 레이어 픽처 내의 픽처, 슬라이스, 또는 코딩 트리 단위)에 대한 참조 레이어 픽처의 리샘플링은 예를 들어, 결정된 영역의 모든 샘플 위치에 걸쳐 루핑하고 각각의 샘플 위치에 대한 샘플 단위 리샘플링 프로세스를 수행함으로써 수행될 수 있다. 그러나, 결정된 영역을 리샘플링하기 위한 다른 가능성이 존재하는데 - 예를 들어, 특정 샘플 로케이션의 필터링은 이전의 샘플 로케이션의 가변값을 사용할 수 있다는 것이 이해되어야 한다.
인터레이스-대-프로그레시브 스케일러빌러티 또는 필드-대-프레임 스케일러빌러티라 칭할 수 있는 스케일러빌러티 유형에서, 베이스 레이어의 코딩된 인터레이싱된 소스 콘텐트 자료가 프로그레시브 소스 콘텐트를 표현하기 위해 향상 레이어로 향상된다. 베이스 레이어 내의 코딩된 인터레이싱된 소스 콘텐트는 코딩된 필드, 필드쌍을 표현하는 코딩된 프레임, 또는 이들의 혼합을 포함할 수 있다. 인터레이스-대-프로그레시브 스케일러빌러티에서, 베이스 레이어 픽처는 하나 이상의 향상 레이어 픽처를 위한 적합한 참조 픽처가 되도록 리샘플링될 수 있다.
인터레이스-대-프로그레시브 스케일러빌러티는 또한 인터레이싱된 소스 콘텐트를 표현하는 참조 레이어 디코딩된 픽처의 리샘플링을 이용할 수 있다. 인코더는 리샘플링이 상부 필드 또는 하부 필드를 위한 것인지 여부에 의해 결정된 것으로서 부가의 페이즈 오프셋을 지시할 수 있다. 디코더는 부가의 페이즈 오프셋을 수신하고 디코딩할 수 있다. 대안적으로, 인코더 및/또는 디코더는 예를 들어 어느 필드(들)를 베이스 레이어 및 향상 레이어 픽처가 표현하는지의 지시에 기초하여, 부가의 페이즈 오프셋을 추론할 수 있다. 예를 들어, phase_position_flag[ RefPicLayerId[ i ]]는 EL 슬라이스의 슬라이스 헤더 내에 조건적으로 포함될 수 있다. phase_position_flag[ RefPicLayerId[ i ]]가 존재하지 않을 때, 이는 0에 동일한 것으로 추론될 수 있다. phase_position_flag[ RefPicLayerId[ i ]]는 참조 레이어 샘플 로케이션을 위해 유도 프로세스에 사용된 RefPicLayerId[ i ]에 동일한 nuh_layer_id를 갖는 참조 레이어 픽처와 현재 픽처 사이의 수직 방향에서의 페이즈 위치를 지정할 수 있다. 부가의 페이즈 오프셋은 예를 들어 상기에 제시된 인터 레이어 리샘플링 프로세스에서, 특히 yPhase 변수의 유도시에 고려될 수 있다. yPhase는 yPhase + (phase_position_flag[ RefPicLayerId[ i ]] << 2 )에 동일하도록 업데이트될 수 있다.
인터 레이어 예측을 위한 참조 픽처를 얻기 위해 재구성된 또는 디코딩된 베이스 레이어 픽처에 적용될 수 있는 리샘플링은 리샘플링 필터링으로부터 모든 다른 샘플 행을 제외할 수 있다. 유사하게, 리샘플링은 리샘플링을 위해 수행될 수 있는 필터링 단계에 앞서 모든 다른 샘플 행이 제외되는 데시메이션 단계를 포함할 수 있다. 더 일반적으로, 수직 데시메이션 팩터가 하나 이상의 지시(들)를 통해 지시되거나 또는 인코더 또는 비트스트림 멀티플렉서와 같은 다른 엔티티에 의해 추론될 수 있다. 상기 하나 이상의 지시(들)는 예를 들어, 향상 레이어 슬라이스의 슬라이스 헤더 내에, 베이스 레이어를 위한 프리픽스 NAL 단위 내에, BL 비트스트림 내의 향상 레이어 캡슐화 NAL 단위(등) 내에, EL 비트스트림 내의 베이스 레이어 캡슐화 NAL 단위(등) 내에, 베이스 레이어 및/또는 향상 레이어를 포함하거나 참조하기 위한 파일의 또는 파일을 위한 메타데이터 내에, 그리고/또는 MPEG-2 전송 스트림의 기술자와 같은 통신 프로토콜 내의 메타데이터 내에 상주할 수 있다. 상기 하나 이상의 지시(들)는, 베이스 레이어가 인터레이싱된 소스 콘텐트를 표현하는 프레임-코딩된 필드쌍과 코딩된 필드의 혼합을 포함할 수 있으면, 픽처 단위일 수 있다. 대안적으로 또는 부가적으로, 상기 하나 이상의 지시(들)는 시간 순간 및/또는 한 쌍의 향상 레이어 및 그 참조 레이어에 특정할 수 있다. 대안적으로 또는 부가적으로, 상기 하나 이상의 지시(들)는 한 쌍의 향상 레이어 및 그 참조 레이어에 특유할 수 있다(그리고 코딩된 비디오 시퀀스를 위한 것과 같이, 픽처의 시퀀스를 위해 지시될 수 있음). 상기 하나 이상의 지시(들)는 예를 들어 참조 레이어에 특정할 수 있는 슬라이스 헤더 내의 플래그 vert_decimation_flag일 수 있다. 예를 들어, VertDecimationFactor라 칭하는 변수는 플래그로부터 유도될 수 있는데, 예를 들어 VertDecimationFactor는 vert_decimation_flag + 1에 동일하게 설정될 수 있다. 디코더 또는 비트스트림 디멀티플렉서와 같은 다른 엔티티가 수직 데시메이션 팩터를 얻기 위해 상기 하나 이상의 지시(들)를 수신하고 디코딩할 수 있고 그리고/또는 수직 데시메이션 팩터를 추론할 수 있다. 수직 데시메이션 팩터는 예를 들어 베이스 레이어 픽처가 필드 또는 프레임인지 여부 및 향상 레이어 픽처가 필드 또는 프레임인지 여부에 대한 정보에 기초하여 추론될 수 있다. 베이스 레이어 픽처가 인터레이싱된 소스 콘텐트를 표현하는 필드쌍을 포함하는 프레임인 것으로 결론짓고 각각의 향상 레이어 픽처가 프로그레시브 소스 콘텐트를 표현하는 프레임인 것으로 결론지을 때, 수직 데시메이션 팩터는 2에 동일한 것으로 추론될 수 있는데, 즉 디코딩된 베이스 레이어 픽처의(예를 들어, 그 루마 샘플 어레이의) 모든 다른 샘플 행이 리샘플링시에 프로세싱되는 것을 지시한다. 베이스 레이어 픽처가 필드인 것으로 결론짓고 각각의 향상 레이어 픽처가 프로그레시브 소스 콘텐트를 표현하는 프레임인 것으로 결론지을 때, 수직 데시메이션 팩터는 1에 동일한 것으로 추론될 수 있는데, 즉 디코딩된 베이스 레이어 픽처의(예를 들어, 그 루마 샘플 어레이의) 모든 샘플 행이 리샘플링시에 프로세싱되는 것을 지시한다.
이하의 변수 VertDecimationFactor에 의해 표현되는 수직 데시메이션 팩터의 사용은 예를 들어 상기에 제시된 인터 레이어 리샘플링 프로세스를 참조하여 이하와 같이 리샘플링에 포함될 수 있다. 단지 서로로부터 이격된 VertDecimationFactor인 참조 레이어 픽처의 샘플 행만이 필터링에 참여할 수 있다. 리샘플링 프로세스의 단계 5는 이하와 같이 또는 유사한 방식으로 VertDecimationFactor를 사용할 수 있다.
5. n = 0 ... 7을 갖는 샘플값 tempArray[ n ]이 이하와 같이 유도된다:
Figure 112016100265465-pct00016
여기서 RefLayerPicHeightlnSamplesY는 루마 샘플 내의 참조 레이어 픽처의 높이이다. RefLayerPicWidthlnSamplesY는 루마 샘플 내의 참조 레이어 픽처의 폭이다.
스킵 픽처는 단지 인터 레이어 예측이 적용되고 어떠한 예측 에러도 코딩되지 않는 향상 레이어 픽처로서 정의될 수 있다. 달리 말하면, 어떠한 인트라 예측 또는 인터 예측(샘플 레이어로부터)이 스킵 픽처를 위해 적용된다. MV-HEVC/SHVC에서, 스킵 픽처의 사용은 이하와 같이 지정될 수 있는 VPS VUI 플래그 higher_layer_irap_skip_flag로 지시될 수 있고, 1에 동일한 higher_layer_irap_skip_flag는 VPS를 참조하는 모든 IRAP에 대해, nuh_layer_id의 낮은 값을 갖는 동일한 액세스 단위 내의 다른 픽처가 존재한다는 것을 지시하고, 이하의 제약이 적용된다:
- IRAP 픽처의 모든 슬라이스에 대해:
○ slice_type은 P에 동일할 것임.
○ slice_sao_luma_flag 및 slice_sao_chroma_flag는 모두 0에 동일할 것임.
○ five_minus_max_num_merge_cand는 4에 동일할 것임.
○ weighted_pred_flag는 슬라이스에 의해 참조되는 PPS 내에서 0에 동일할 것임.
- IRAP 픽처의 모든 코딩 단위에 대해:
○ cu_skip_flag[ i ][ j ]는 1에 동일할 것임.
○ 0에 동일한 higher_layer_irap_skip_flag는 상기 제약이 적용될 수도 있고 또는 적용되지 않을 수도 있는 것을 지시한다.
하이브리드 코덱 스케일러빌러티
스케일러블 비디오 코딩에서 스케일러빌러티의 유형은 하이브리드 코덱 스케일러빌러티라 또한 칭할 수 있는 코딩 표준 스케일러빌러티이다. 하이브리드 코덱 스케일러빌러티에서, 베이스 레이어 및 향상 레이어의 비트스트림 신택스, 시맨틱스 및 디코딩 프로세스는 상이한 비디오 코딩 표준에서 지정된다. 예를 들어, 베이스 레이어는 H.264/AVC와 같은 일 코딩 표준에 따라 코딩될 수 있고, 향상 레이어는 MV-HEVC/SHVC와 같은 다른 코딩 표준에 따라 코딩될 수 있다. 이 방식으로, 동일한 비트스트림이 레거시 H.264/AVC 기반 시스템 뿐만 아니라 HEVC 기반 시스템의 모두에 의해 디코딩될 수 있다.
더 일반적으로, 하이브리드 코덱 스케일러빌러티에서, 하나 이상의 레이어가 일 코딩 표준 또는 사양에 따라 코딩될 수 있고, 다른 하나 이상의 레이어가 다른 코딩 표준 또는 사양에 따라 코딩될 수 있다. 예를 들어, H.264/AVC의 MVC 확장에 따라 코딩된 2개의 레이어(그 중 하나는 H.264/AVC에 따라 코딩된 베이스 레이어임), 및 MV-HEVC에 따라 코딩된 하나 이상의 부가의 레이어가 존재할 수 있다. 더욱이, 그에 따라 동일한 비트스트림의 상이한 레이어가 코딩되는 코딩 표준 또는 사양의 수는 하이브리드 코덱 스케일러빌러티에서 2개에 한정되는 것은 아닐 수도 있다.
하이브리드 코덱 스케일러빌러티는 시간, 품질, 공간, 멀티뷰, 깊이 향상, 보조 픽처, 비트 깊이, 색재현율, 크로마 포맷, 및/또는 ROI 스케일러빌러티와 같은, 임의의 유형의 스케일러빌러티와 함께 사용될 수 있다. 하이브리드 코덱 스케일러빌러티는 다른 유형의 스케일러빌러티와 함께 사용될 수 있기 때문에, 이는 스케일러빌러티 유형의 상이한 분류를 형성하도록 고려될 수 있다.
하이브리드 코덱 스케일러빌러티의 사용은 예를 들어 향상 레이어 비트스트림 내에 지시될 수 있다. 예를 들어, MV-HEVC, SHVC, 등에서, 하이브리드 코덱 스케일러빌러티의 사용은 VPS 내에 지시될 수 있다. 예를 들어, 이하의 VPS 신택스가 사용될 수 있다:
Figure 112016100265465-pct00017
vps_base_layer_internal_flag의 시맨틱스는 이하와 같이 지정될 수 있다:
0에 동일한 vps_base_layer_internal_flag는 베이스 레이어가 MV-HEVC, SHVC, 등에 지정되지 않은 외부 수단에 의해 제공되는 것을 지정하고, 1에 동일한 vps_base_layer_internal_flag는 베이스 레이어가 비트스트림 내에 제공되는 것을 지정한다.
다수의 비디오 통신 또는 전송 시스템, 전송 메커니즘 및 멀티미디어 콘테이너 파일 포맷에서, 향상 레이어(들)로부터 개별적으로 베이스 레이어를 전송하거나 저장하기 위한 메커니즘이 존재한다. 레이어는 개별 논리 채널 내에 저장되거나 그를 통해 전송되는 것으로 고려될 수 있다. 예가 이하에 제공된다.
- ISO 베이스 미디어 파일 포맷(Base Media File Format)(ISOBMFF, ISO/IEC 국제 표준 14496-12): 베이스 레이어는 트랙으로서 저장될 수 있고, 각각의 향상 레이어는 다른 트랙 내에 저장될 수 있다. 유사하게, 코덱 스케일러빌러티 경우에, 비-HEVC-코딩된 베이스 레이어가 트랙으로서 저장될 수 있고(예를 들어, 샘플 엔트리 유형 'avc1'의), 반면에 향상 레이어(들)는 소위 트랙 참조를 사용하여 베이스 레이어 트랙에 링크된 다른 트랙으로서 저장될 수 있다.
- 실시간 전송 프로토콜(Real-time Transport Protocol: RTP): RTP 세션 멀티플렉싱 또는 동기화 소스(SSRC) 멀티플렉싱이 상이한 레이어를 논리적으로 분리하는데 사용될 수 있다.
- MPEG-2 전송 스트림(TS): 각각의 레이어는 상이한 패킷 식별자(PID) 값을 가질 수 있다.
다수의 비디오 통신 또는 전송 시스템, 전송 메커니즘 및 멀티미디어 콘테이너 파일 포맷은 상이한 트랙 또는 세션과 같은 개별 논리 채널의 코딩된 데이터를 서로 연계하기 위한 수단을 제공한다. 예를 들어, 동일한 액세스 단위의 코딩된 데이터를 함께 연계하기 위한 메커니즘이 존재한다. 예를 들어, 디코딩 또는 출력 시간은 콘테이너 파일 포맷 또는 전송 메커니즘 내에 제공될 수 있고, 동일한 디코딩 또는 출력 시간을 갖는 코딩된 데이터가 액세스 단위를 형성하도록 고려될 수 있다.
가용 미디어 파일 포맷 표준은 ISO 베이스 미디어 파일 포맷(ISO/IEC 14496- 12, ISOBMFF로 약칭될 수 있음), MPEG-4 파일 포맷(ISO/IEC 14496-14, MP4 포맷으로서 또한 공지됨), NAL 단위 구조화된 비디오를 위한 포맷(ISO/IEC 14496-15) 및 3GPP 파일 포맷(3GPP TS 26.244, 3GP 포맷으로서 또한 공지됨)을 포함한다. ISO 파일 포맷은 모든 전술된 파일 포맷(ISO 파일 포맷 자체는 제외함)의 유도를 위한 베이스이다. 이들 파일 포맷(ISO 파일 포맷 자체를 포함함)은 일반적으로 파일 포맷의 ISO 패밀리라 칭한다.
ISOBMFF의 몇몇 개념, 구조, 및 사양은 그에 기초하여 실시예가 구현될 수 있는 콘테이너 파일 포맷의 예로서 이하에 설명된다. 본 발명의 양태는 ISOBMFF에 한정되지 않고, 오히려 설명은 본 발명의 부분적으로 또는 완전히 실현될 수 있는 일 가능한 기초에 대해 제공된다.
ISO베이스 미디어 파일 포맷의 기본 빌딩 블록은 박스라 칭한다. 각각의 박스는 헤더 및 페이로드를 갖는다. 박스 헤더는 박스의 유형 및 바이트의 표현의 박스의 크기를 지시한다. 박스는 다른 박스를 에워쌀 수 있고, ISO 파일 포맷은 어느 박스 유형이 특정 유형의 박스 내에 허용되는지를 지정한다. 더욱이, 몇몇 박스의 존재는 각각의 파일 내에서 필수적일 수 있고, 반면에 다른 박스의 존재는 선택적일 수 있다. 부가적으로, 몇몇 박스 유형에 대해, 파일 내에 하나 초과의 박스가 존재하게 하도록 허용가능할 수 있다. 따라서, ISO 베이스 미디어 파일 포맷은 박스의 계층 구조를 지정하도록 고려될 수 있다.
파일 포맷의 ISO 패밀리에 따르면, 파일은 박스 내로 캡슐화되는 미디어 데이터 및 메타데이터를 포함한다. 각각의 박스는 4개의 문자 코드(4CC)에 의해 식별되고, 박스의 유형 및 크기에 대한 정보를 제공하는 헤더로 시작한다.
ISO 베이스 미디어 파일 포맷에 적합하는 파일에서, 미디어 데이터는 미디어 데이터 'mdat' 박스에 제공될 수 있고, 영화 "moov' 박스는 메타데이터를 에워싸는데 사용될 수 있다. 몇몇 경우에, 파일이 동작가능하게 하기 위해, 'mdat' 및 'moov' 박스의 모두가 존재하도록 요구될 수 있다. 영화 'moov' 박스는 하나 이상의 트랙을 포함할 수 있고, 각각의 트랙은 하나의 대응 트랙 'trak' 박스 내에 상주할 수 있다. 트랙은 미디어 압축 포맷(및 ISO 베이스 미디어 파일 포맷으로의 그 캡슐화)에 따라 포맷된 샘플을 참조하는 미디어 트랙을 포함하는 다수의 유형 중 하나일 수 있다. 트랙은 논리 채널로서 간주될 수 있다.
각각의 트랙은 트랙 유형을 지정하는 4-문자 코드에 의해 식별된 핸들러와 연계된다. 비디오, 오디오, 및 이미지 시퀀스 트랙은 미디어 트랙이라 총칭될 수 있고, 기본 미디어 스트림을 포함한다. 다른 트랙 유형은 힌트 트랙 및 타이밍 조절된 메타데이터 트랙을 포함한다. 트랙은 오디오 또는 비디오 프레임과 같은 샘플을 포함한다. 미디어 트랙은 미디어 압축 포맷(및 ISO 베이스 미디어 파일 포맷으로의 그 캡슐화)에 따라 포맷된 샘플(미디어 샘플이라 또한 칭할 수 있음)을 참조한다. 힌트 트랙은 지시된 통신 프로토콜을 통한 전송을 위해 패킷을 구성하기 위한 쿡북(cookbook) 인스트럭션을 포함하는 힌트 샘플을 참조한다. 쿡북 인스트럭션은 패킷 헤더 구성을 위한 안내를 포함할 수 있고, 패킷 페이로드 구성을 포함할 수 있다. 패킷 페이로드 구성에서, 다른 트랙 또는 아이템 내에 상주하는 데이터가 참조될 수 있다. 이와 같이, 예를 들어, 다른 트랙 또는 아이템 내에 상주하는 데이터는 특정 트랙 또는 아이템 내의 데이터의 단편이 패킷 구성 프로세스 중에 패킷 내로 복사되도록 명령되는지에 대한 참조에 의해 지시될 수 있다. 타이밍 조절된 메타데이터 트랙은 참조된 미디어 및/또는 힌트 샘플을 기술하는 샘플을 참조할 수 있다. 일 미디어 유형의 제시를 위해, 일 미디어 트랙이 선택될 수 있다.
예를 들어 레코딩 애플리케이션이 파손되고, 메모리 공간이 고갈되고, 또는 몇몇 다른 사고가 발생하면 데이터를 손실하는 것을 회피하기 위해, ISO 파일에 콘텐트를 레코딩할 때 영화 조각이 사용될 수 있다. 영화 조각 없이, 파일 포맷이 모든 메타데이터, 예를 들어 영화 박스가 파일의 일 연속적인 영역에 기록되는 것을 요구할 수 있기 때문에 데이터 손실이 발생할 수 있다. 더욱이, 파일을 레코딩할 때, 이용가능한 저장 장치의 크기를 위해 영화 박스를 버퍼링하기 위해 충분한 양의 메모리 공간(예를 들어, 랜덤 액세스 메모리(RAM))이 존재하지 않을 수 있고, 영화가 닫힐 때 영화 박스의 콘텐트를 재컴퓨팅하는 것이 너무 느릴 수도 있다. 더욱이, 영화 조각은 정규 ISO 파일 파서(parser)를 사용하여 파일의 동시 레코딩 및 재생을 인에이블링할 수 있다. 더욱이, 초기 버퍼링의 더 작은 기간은 프로그레시브 다운로딩, 예를 들어 영화 조각이 사용될 때 파일의 동시 수신 및 재생을 위해 요구될 수 있고, 초기 영화 박스는 동일한 미디어 콘텐트를 갖지만 영화 조각이 없이 구조화된 파일에 비교하여 더 작다.
영화 조각 특징은 그렇지 않으면 영화 박스 내에 상주할 수도 있는 메타데이터를 다수의 단편으로 분할하는 것을 가능하게 할 수 있다. 각각의 단편은 트랙의 특정 시간 기간에 대응할 수 있다. 달리 말하면, 영화 조각 특징은 파일 메타데이터 및 미디어 데이터를 인터리빙하는 것을 가능하게 할 수 있다. 따라서, 영화 박스의 크기는 제한될 수 있고, 전술된 사용 경우가 실현된다.
몇몇 예에서, 영화 조각을 위한 미디어 샘플은 이들이 moov 박스와 동일한 파일 내에 있으면, mdat 박스 내에 상주할 수 있다. 그러나, 영화 조각의 메타데이터에 대해, moof 박스가 제공될 수 있다. moof 박스는 미리 moov 박스에 있을 수 있는 재생 시간의 특정 기간 동안 정보를 포함할 수 있다. moov 박스는 여전히 그 자신이 유효한 영화를 표현할 수 있지만, 게다가 영화 조각이 동일한 파일 내에 후속할 것을 지시하는 mvex 박스를 포함할 수 있다. 영화 조각은 시간 내에 moov 박스에 연계된 제시를 확장할 수 있다.
영화 조각 내에서, 제로로부터 복수의 트랙의 임의의 장소를 포함하여, 트랙 조각의 세트가 존재할 수 있다. 트랙 조각은 이어서 제로로부터 복수의 트랙런의 임의의 장소를 포함할 수 있고, 그 문서의 각각은 그 트랙을 위한 샘플의 연속적인 런이다. 이들 구조 내에서, 다수의 필드는 선택적이고 디폴트될 수 있다. moof 박스 내에 포함될 수 있는 메타데이터는 moov 박스 내에 포함될 수 있는 메타데이터의 서브세트에 제한될 수 있고, 몇몇 경우에 상이하게 코딩될 수 있다. moof 박스 내에 포함될 수 있는 박스에 관한 상세는 ISO 베이스 미디어 파일 포맷 사양으로부터 발견될 수 있다. 자급식 영화 조각은 파일 순서로 연속적인 moof 박스 및 mdat 박스로 이루어지는 것으로 규정될 수 있고, mdat 박스는 영화 조각의 샘플을 포함하고(moof 박스가 메타데이터를 제공함), 임의의 다른 영화 조각의 샘플을 포함하지 않는다(즉, 임의의 다른 moof 박스).
ISO 베이스 미디어 파일 포맷은 특정 샘플에 연계될 수 있는 타이밍 조절된 메타데이터를 위한 3개의 메커니즘: 샘플 그룹, 타이밍 조절된 메타데이터 트랙, 및 샘플 보조 정보를 포함한다. 유도된 사양은 이들 3개의 메커니즘 중 하나 이상에 유사한 기능성을 제공할 수 있다.
ISO 베이스 미디어 파일 포맷 및 AVC 파일 포맷 및 SVC 파일 포맷과 같은 그 유도체에서 그룹화한 샘플은 그룹화 기준에 기초하여, 하나의 샘플 그룹의 멤버가 되도록 트랙 내의 각각의 샘플의 할당으로서 정의될 수 있다. 샘플 그룹화에서 샘플 그룹은 연속적인 샘플인 것에 한정되지 않고, 비-인접 샘플을 포함할 수 있다. 트랙 내의 샘플을 위한 하나 초과의 샘플 그룹화가 존재할 수 있기 때문에, 각각의 샘플 그룹화는 그룹화의 유형을 지시하기 위한 유형 필드를 가질 수 있다. 샘플 그룹화는 2개의 링크된 데이터 구조에 의해 표현될 수 있는데: (1) SampleToGroup 박스(sbgp 박스)는 샘플 그룹으로의 샘플의 할당을 표현하고, (2) SampleGroupDescription 박스(sgpd 박스)는 그룹의 특성을 기술하는 각각의 샘플 그룹을 위한 샘플 그룹 엔트리를 포함한다. 상이한 그룹화 기준에 기초하여 SampleToGroup 및 SampleGroupDescription 박스의 다수의 인스턴스가 존재할 수 있다. 이들은 그룹화의 유형을 지시하는데 사용된 유형 필드에 의해 구별될 수 있다.
샘플 보조 정보는 정보가 1대1 기초로 샘플에 직접 관련되는 경우에 사용을 위해 의도될 수 있고, 미디어 샘플 프로세싱 및 제시를 위해 요구될 수 있다. 샘플당 샘플 보조 정보는 샘플 데이터 자체와 동일한 파일 내에 임의의 장소에 저장될 수 있고, 자급형 미디어 파일에 대해, 이는 'mdat' 박스일 수 있다. 샘플 보조 정보는 청크(chunk)당 샘플의 수, 뿐만 아니라 청크의 수가 1차 샘플 데이터의 청킹에 일치하는 상태로 다수의 청크 내에, 또는 영화 샘플 테이블(또는 영화 조각) 내의 모든 샘플을 위해 단일 청크 내에 저장될 수 있다. 단일 청크(또는 트랙런) 내에 포함된 모든 샘플을 위한 샘플 보조 정보는 연속적으로 저장된다(샘플 데이터에 유사하게). 샘플 보조 정보는 존재할 때, 이들이 동일한 데이터 참조('dref') 구조를 공유하기 때문에 그가 관련하는 샘플과 동일한 파일 내에 저장될 수 있다. 그러나, 이 데이터는 데이터의 로케이션을 지시하기 위해 보조 정보 오프셋('saio')을 사용하여 이 파일 내의 임의의 장소에 로케이팅될 수 있다. 샘플 보조 정보는 2개의 박스, 즉 샘플 보조 정보 크기 박스 및 샘플 보조 정보 오프셋('saio') 박스를 사용하여 로케이팅된다. 이들 박스의 모두에서, 신택스 요소 aux_info_type 및 aux_info_type_parameter가 제공되거나 추론된다(이들 모두는 32-비트 부호가 없는 정수이거나 등가적으로 4-문자 코드임). aux_info_type은 보조 정보의 포맷을 결정하지만, aux_info_type_parameter의 이들의 값이 상이할 때 동일한 포맷을 갖는 보조 정보의 다수의 스트림이 사용될 수 있다. 샘플 보조 정보 크기 박스는 각각의 샘플을 위한 샘플 보조 정보의 크기를 제공하고, 반면에 샘플 보조 정보 오프셋 박스는 샘플 보조 정보의 청크 또는 트랙런의 (시작) 로케이션(들)을 제공한다.
마트료시카(Matroska) 파일 포맷은 하나의 파일 내에 비디오, 오디오, 픽처, 또는 자막의 임의의 것을 저장하는 것이 가능하다(그러나 이들에 한정되는 것은 아님). 마트료시카는 WebM과 같은 유도된 파일 포맷을 위한 기초 포맷으로서 사용될 수 있다. 마트료시카는 확장성 2진 메타 언어(Extensible Binary Meta Language: EBML)를 기초로서 사용한다. EBML은 XML의 원리에 의해 고무되는 2진 및 옥텟(바이트) 정렬된 포맷을 지정한다. EBML 자체는 2진 마크업의 기술의 일반화된 설명이다. 마트료시카 파일은 EBML "문서"를 형성하는 요소로 이루어진다. 요소는 요소 ID, 요소의 크기에 대한 기술자, 및 2진 데이터 자체를 합체한다. 요소는 네스팅될 수 있다. 마트료시카의 세그먼트 요소는 다른 상위 레벨(레벨 1) 요소를 위한 콘테이너이다. 마트료시카 파일은 일 세그먼트를 포함할 수 있다(그러나 이로 구성되는 것에 한정되는 것은 아님). 마트료시카 파일 내의 멀티미디어 데이터는 통상적으로 수 초의 멀티미디어 데이터를 각각 포함하는 클러스터(또는 클러스터 요소) 내에 편성된다. 클러스터는 BlockGroup 요소를 포함하고, 이어서 블록 요소를 포함한다. 대기열 요소는 랜덤 액세스 또는 탐색을 보조할 수 있고 탐색 포인트를 위한 파일 포인터 또는 각각의 타임스탬프를 포함할 수 있는 메타데이터를 포함한다.
실시간 전송 프로토콜(RTP)이 오디오 및 비디오와 같은 타이밍 조절된 미디어의 실시간 전송을 위해 광범위하게 사용된다. RTP는 사용자 데이터그램 프로토콜(User Datagram Protocol: UDP)의 위에서 동작할 수 있고, 이어서 인터넷 프로토콜(IP)의 위에서 동작할 수 있다. RTP는 www.ietf.org/rfc/rfc3550.txt로부터 입수가능한 국제 인터넷 표준화 기구(Internet Engineering Task Force: IETF) 코멘트 요청(Request for Comments: RFC) 3550에 지정되어 있다. RTP 전송에서, 미디어 데이터는 RTP 패킷 내로 캡슐화된다. 통상적으로, 각각의 미디어 유형 또는 미디어 코딩 포맷은 전용 RTP 페이로드 포맷을 갖는다.
RTP 세션은 RTP와 통신하는 참여자의 그룹 사이의 연계이다. 이는 다수의 RTP 스트림을 잠재적으로 전달할 수 있는 그룹 통신 채널이다. RTP 스트림은 미디어 데이터를 포함하는 RTP 패킷의 스트림이다. RTP 스트림은 특정 RTP 세션에 속하는 SSRC에 의해 식별된다. SSRC는 동기화 소스 또는 RTP 패킷 헤더 내의 32-비트 SSRC 필드인 동기화 소스 식별자를 참조한다. 동기화 소스는 동기화 소스로부터의 모든 패킷이 동일한 타이밍 및 시퀀스 번호 공간의 부분을 형성하여, 따라서 수신기가 재생을 위해 동기화 소스에 의해 패킷을 그룹화할 수 있는 점을 특징으로 한다. 동기화 소스의 예는 마이크로폰 또는 카메라, 또는 RTP 믹서와 같은 신호 소스로부터 유도된 패킷의 스트림의 송신기를 포함한다. 각각의 RTP 스트림은 RTP 세션 내에서 고유한 SSRC에 의해 식별된다. RTP 스트림은 논리 채널로서 간주될 수 있다.
RTP 패킷은 RTP 헤더 및 RTP 패킷 페이로드로 구성된다. 패킷 페이로드는 사용되고 있는 RTP 페이로드 포맷에 지정된 바와 같이 포맷된 RTP 페이로드 헤더 및 RTP 페이로드 데이터를 포함하는 것으로 고려될 수 있다. H.265(HEVC)를 위한 드래프트 페이로드 포맷은 페이로드 헤더 확장 구조(payload header extension structure: PHES)를 사용하여 확장될 수 있는 RTP 페이로드 헤더를 지정한다. PHES는 RTP 페이로드 데이터 내에 제 1 NAL 단위로서 나타나는 페이로드 콘텐트 정보(payload content information: PACI)라 칭할 수 있는 NAL-단위형 구조 내에 포함되는 것으로 고려될 수 있다. 페이로드 헤더 확장 메커니즘이 사용중일 때, RTP 패킷 페이로드는 페이로드 헤더, 페이로드 헤더 확장 구조(PHES), 및 PACI 페이로드를 포함하는 것으로 고려될 수 있다. PACI 페이로드는 조각 단위(NAL 단위의 부분을 포함함) 또는 다수의 NAL 단위의 집성(또는 세트)과 같은 NAL 단위 또는 NAL-단위형 구조를 포함할 수 있다. PACI는 확장성 구조이고, PACI 헤더 내의 존재 플래그에 의해 제어되는 바와 같이, 상이한 확장을 조건적으로 포함할 수 있다. H.265(HEVC)를 위한 드래프트 페이로드 포맷은 시간 스케일러빌러티 콘트롤 정보(Temporal Scalability Control Information)라 칭하는 일 PACI 확장을 지정한다. RTP 페이로드는 데이터 단위를 위한 디코딩 순서 번호(decoding order number: DON) 등을 포함하고 그리고/또는 추론함으로써 포함된 데이터 단위(예를 들어, NAL 단위)의 디코딩 순서를 설정하는 것을 가능하게 할 수 있는데, 여기서 DON 값은 디코딩 순서를 지시한다.
2개의 표준 또는 코딩 시스템의 NAL 단위 및/또는 다른 코딩된 데이터 단위를 동일한 비트스트림, 바이트스트림, NAL 단위 스트림 등으로 캡슐화할 수 있는 포맷을 지정하는 것이 바람직할 수 있다. 이 접근법은 캡슐화된 하이브리드 코덱 스케일러빌러티라 칭할 수 있다. 이하, 동일한 NAL 단위 스트림 내의 AVC NAL 단위 및 HEVC NAL 단위를 포함하기 위한 메커니즘이 설명된다. 메커니즘이 NAL 단위 이외의 코딩된 데이터 단위에 대해, 비트스트림 또는 바이트스트림 포맷에 대해, 임의의 코딩 표준 또는 시스템에 대해 유사하게 실현될 수도 있다는 것을 이해할 필요가 있다. 이하, 베이스 레이어는 AVC 코딩된 것으로 고려되고, 향상 레이어는 SHVC 또는 MV-HEVC와 같은 HEVC 확장으로 코딩되는 것으로 고려된다. 메커니즘은 하나 초과의 레이어가 AVC 또는 MVC와 같은 그 확장과 같은 제 1 코딩 표준 또는 시스템을 갖고, 그리고/또는 하나 초과의 레이어가 제2 코딩 표준이면 유사하게 실현될 수 있다는 것을 이해할 필요가 있다. 마찬가지로, 메커니즘은 레이어가 2개 초과의 코딩 표준을 표현할 때 유사하게 실현될 수 있다는 것을 이해할 필요가 있다. 예를 들어, 베이스 레이어는 AVC로 코딩될 수 있고, 향상 레이어는 MVC로 코딩될 수 있고 비-베이스 뷰를 표현하고, 이전의 레이어 중 하나 또는 모두는 SHVC로 코딩된 공간 또는 품질 스케일러블 레이어에 의해 향상될 수 있다.
AVC 및 HEVC NAL 단위의 모두를 캡슐화하는 NAL 단위 스트림 포맷을 위한 옵션은 이하의 것을 포함하지만, 이들에 한정되는 것은 아니다:
AVC NAL 단위는 HEVC-적합 NAL 단위 스트림 내에 포함될 수 있다. AVC 콘테이너 NAL 단위라 칭할 수 있는 하나 이상의 NAL 단위 유형은 AVC NAL 단위를 지시하기 위해 HEVC 표준에 지정된 nal_unit_type 값 사이에 지정될 수 있다. AVC NAL 단위 헤더를 포함할 수 있는 AVC NAL 단위는 이어서 AVC 콘테이너 NAL 단위 내에 NAL 단위 페이로드로서 포함될 수 있다.
HEVC NAL 단위는 AVC-적합 NAL 단위 스트림 내에 포함될 수 있다. HEVC 콘테이너 NAL 단위라 칭할 수 있는 하나 이상의 NAL 단위 유형은 HEVC NAL 단위를 지시하기 위해 AVC 표준에 지정된 nal_unit_type 값 사이에 지정될 수 있다. HEVC NAL 단위 헤더를 포함할 수 있는 HEVC NAL 단위는 이어서 HEVC 콘테이너 NAL 단위 내에 NAL 단위 페이로드로서 포함될 수 있다.
제 1 코딩 표준 또는 시스템의 데이터 단위를 포함하는 대신에, 제2 코딩 표준 또는 시스템의 비트스트림, 바이트스트림, NAL 단위 스트림 등이 제 1 코딩 표준의 데이터 단위를 참조할 수 있다. 부가적으로, 제 1 코딩 표준의 데이터 단위의 특성이 제2 코딩 표준의 비트스트림, 바이트스트림, NAL 단위 스트림 등 내에 제공될 수 있다. 특성은 디코딩, 인코딩, 및/또는 HRD 동작의 부분일 수 있는 디코딩된 참조 픽처 마킹, 프로세싱 및 버퍼링의 동작에 관련할 수 있다. 대안적으로 또는 부가적으로, 특성은 CPB 및 DPB 버퍼링 지연과 같은 버퍼링 지연, 및/또는 CPB 제거 시간 등과 같은 HRD 타이밍에 관련할 수 있다. 대안적으로 또는 부가적으로, 특성은 픽처 식별 또는 픽처 순서 카운트와 같은 액세스 단위에 대한 연계에 관련할 수 있다. 특성은 디코딩 프로세스에서 제 1 코딩 표준 또는 시스템의 디코딩된 픽처 및/또는 디코딩 픽처가 제2 코딩 표준에 따라 디코딩된 것처럼 제2 코딩 표준의 HRD를 핸들링하는 것을 가능하게 할 수 있다. 예를 들어, 특성은 디코딩 프로세스에서 디코딩된 AVC 베이스 레이어 픽처 및/또는 디코딩된 픽처가 HEVC 베이스 레이어 픽처였던 것처럼 SHVC 또는 MV-HEVC의 HRD를 핸들링하는 것을 가능하게 할 수 있다.
디코딩 프로세스에서 참조로서 사용될 수 있는 하나 이상의 디코딩된 픽처를 제공하는 것을 가능하게 하는 디코딩 프로세스로의 인터페이스를 지정하는 것이 바람직할 수 있다. 이 접근법은 예를 들어 비-캡슐화된 하이브리드 코덱 스케일러빌러티라 칭할 수 있다. 몇몇 경우에, 디코딩 프로세스는 그에 따라 하나 이상의 향상 레이어가 디코딩될 수 있는, 향상 레이어 디코딩 프로세스이다. 몇몇 경우에, 디코딩 프로세스는 그에 따라 하나 이상의 서브레이어가 디코딩될 수 있는 서브레이어 디코딩 프로세스이다. 인터페이스는 예를 들어 미디어 플레이어 또는 디코딩된 콘트롤 로직과 같은 외부 수단에 의해 설정될 수 있는 하나 이상의 변수를 통해 예를 들어 지정될 수 있다. 비-캡슐화된 하이브리드 코덱 스케일러빌러티에서, 베이스 레이어는, 베이스 레이어가 향상 레이어 비트스트림(EL 비트스트림이라 또한 칭할 수 있음)으로부터 외부에 있다고 지시하는 외부 베이스 레이어라 칭할 수 있다. HEVC 확장에 다른 향상 레이어 비트스트림의 외부 베이스 레이어는 비-HEVC 베이스 레이어라 칭할 수 있다.
비-캡슐화된 하이브리드 코덱 스케일러빌러티에서, 향상 레이어 디코더 또는 비트스트림의 액세스 단위로의 베이스 레이어 디코딩된 픽처의 연계는 그렇지 않으면 향상 레이어 디코딩 및/또는 비트스트림의 사양 내에 지정되지 않을 수도 있는 수단에 의해 수행된다. 연계는 예를 들어, 이하의 수단 중 하나 이상을 사용하여 수행될 수 있지만, 이들에 한정되는 것은 아니다.
디코딩 시간 및/또는 제시 시간이 예를 들어 콘테이너 파일 포맷 메타데이터 및/또는 전송 프로토콜 헤더를 사용하여 지시될 수 있다. 몇몇 경우에, 베이스 레이어 픽처는 이들의 제시 시간이 동일할 때 향상 레이어 픽처와 연계될 수 있다. 몇몇 경우에, 베이스 레이어 픽처는 이들의 디코딩 시간이 동일할 때 향상 레이어 픽처와 연계될 수 있다.
NAL-단위형 구조가 향상 레이어 비트스트림 내에 대역내로 포함된다. 예를 들어, MV-HEVC/SHVC 비트스트림 내에서, UNSPEC48 내지 UNSPEC55의 범위(경계값 포함)의 nal_unit_type을 갖는 NAL-단위형 구조가 사용될 수 있다. NAL-단위형 구조는 NAL-단위형 구조를 포함하는 향상 레이어 액세스 단위와 연계된 베이스 레이어 픽처를 식별할 수 있다. 예를 들어, ISO 베이스 미디어 파일 포맷으로부터 유도된 파일에서, 추출자(즉, ISO/IEC 14496-15에 지정된 추출자 NAL 단위)와 같은 구조가 열거된 트랙 참조(베이스 레이어를 포함하는 트랙을 지시하기 위해) 및 디코딩 시간차(향상 레이어 트랙의 현재 파일 포맷 샘플의 디코딩 시간에 대해 베이스 레이어 트랙 내의 파일 포맷 샘플을 지시하기 위해)를 포함할 수 있다. ISO/IEC 14496-15에 지정된 추출자는 추출자를 포함하는 트랙 내로 참조에 의해 참조된 트랙(예를 들어, 베이스 레이어를 포함하는 트랙)의 참조된 샘플로부터 지시된 바이트 범위를 포함한다. 다른 예에서, NAL 단위형 구조는 H.264/AVC의 idr_pic_id의 값과 같은 BL 코딩된 비디오 시퀀스의 식별자, 및 H.264/AVC의 frame_num 또는 POC 값과 같은 BL 코딩된 비디오 시퀀스 내의 픽처의 식별자를 포함한다.
특정 EL 픽처와 연계될 수 있는 프로토콜 및/또는 파일 포맷 메타데이터가 사용될 수 있다. 예를 들어, 베이스 레이어 픽처의 식별자가 MPEG-2 전송 스트림의 기술자로서 포함될 수 있는데, 여기서 기술자는 향상 레이어 비트스트림과 연계된다.
프로토콜 및/또는 파일 포맷 메타데이터는 BL 및 EL 픽처와 연계될 수 있다. BL 및 EL 픽처 정합을 위한 메타데이터가 일치할 때, 이들은 동일한 시간 순간 또는 액세스 단위에 속하는 것으로 고려될 수 있다. 예를 들어, 크로스 레이어 액세스 단위 식별자가 사용될 수 있고, 여기서 액세스 단위 식별자 값은 디코딩 또는 비트스트림 순서로 특정 범위 또는 양의 데이터 내의 다른 크로스 레이어 액세스 단위 식별자 값과는 상이할 필요가 있다.
하이브리드 코덱 스케일러빌러티 내의 디코딩된 베이스 레이어 픽처의 출력을 핸들링하기 위한 적어도 2개의 접근법이 존재한다. 개별-DPB 하이브리드 코덱 스케일러빌러티 접근법이라 칭할 수 있는 제 1 접근법에서, 베이스 레이어 디코더는 디코딩된 베이스 레이어 픽처의 출력을 처리한다. 향상 레이어 디코더는 디코딩된 베이스 레이어 픽처를 위한 하나의 픽처 저장 버퍼를 가질 필요가 있다(예를 들어, 베이스 레이어와 연계된 서브-DPB 내에). 각각의 액세스 단위의 디코딩 후에, 베이스 레이어를 위한 픽처 저장 버퍼가 비워질 수 있다. 공유-DPB 하이브리드 코덱 스케일러빌러티 접근법이라 칭할 수 있는 제2 접근법에서, 디코딩된 베이스 레이어 픽처의 출력은 향상 레이어 디코더에 의해 핸들링되고, 반면에 베이스 레이어 디코더는 베이스 레이어 픽처를 출력할 필요가 없다. 공유-DPB 접근법에서, 디코딩된 베이스 레이어 픽처는 적어도 개념적으로, 향상 레이어 디코더의 DPB 내에 상주할 수 있다. 개별-DPB 접근법은 캡슐화된 또는 비-캡슐화된 하이브리드 코덱 스케일러빌러티와 함께 적용될 수 있다. 마찬가지로, 공유-DPB 접근법은 캡슐화된 또는 비-캡슐화된 하이브리드 코덱 스케일러빌러티와 함께 적용될 수 있다.
공유-DPB 하이브리드 코덱 스케일러빌러티의 경우에(즉, 베이스 레이어가 비-HEVC-코딩됨) DPB가 정확하게 동작하게 하기 위해, 베이스 레이어 픽처는 적어도 개념적으로 스케일러블 비트스트림의 DPB 동작 내에 포함될 수 있고 후속의 특성 등 중 하나 이상이 할당될 수 있다:
1. NoOutputOfPriorPicsFlag(IRAP 픽처를 위한)
2. PicOutputFlag
3. PicOrderCntVal
4. 참조 픽처 세트
이들 언급된 특성은 베이스 레이어 픽처가 DPB 동작에서 임의의 다른 레이어의 픽처에 유사하게 처리되는 것을 가능하게 할 수 있다. 예를 들어, 베이스 레이어가 AVC 코딩되고, 향상 레이어가 HEVC 코딩될 때, 이들 언급된 특성은 이하와 같이 HEVC의 신택스 요소를 갖는 AVC 베이스 레이어에 관련된 기능성을 제어하는 것을 가능하게 한다:
- 몇몇 출력 레이어 세트에서, 베이스 레이어는 출력 레이어 사이에 있을 수 있고, 몇몇 다른 출력 레이어 세트에서, 베이스 레이어는 출력 레이어들 사이에 있지 않을 수도 있다.
- AVC 베이스 레이어 픽처의 출력은 동일한 액세스에서 다른 레이어의 픽처의 출력과 동기화될 수 있다.
- 베이스 레이어 픽처는 no_output_of_prior_pics_flag 및 pic_output_flag와 같은 출력 동작에 특정한 정보가 할당될 수 있다.
비캡슐화된 하이브리드 코덱 스케일러빌러티를 위한 인터페이스는 이하의 정보의 단편 중 하나 이상을 전달하는 것이 가능하지만, 이들에 한정되는 것은 아니다:
- 특정 향상 레이어 픽처의 인터 레이어 예측을 위해 사용될 수 있는 베이스 레이어 픽처가 존재하는지의 지시.
- 베이스 레이어 디코딩된 픽처의 샘플 어레이(들).
- 루마 샘플의 폭 및 높이, 컬러 포맷, 루마 비트 깊이, 및 크로마 비트 깊이를 포함하는, 베이스 레이어 디코딩된 픽처의 표현 포맷.
- 베이스 레이어 픽처와 연계된 픽처 유형 또는 NAL 단위 유형. 예를 들어, 베이스 레이어 픽처가 IRAP 픽처인지 여부의 지시, 베이스 레이어 픽처가 IRAP 픽처이면, 예를 들어 IDR 픽처, CRA 픽처, 또는 BLA 픽처를 지정할 수 있는 IRAP NAL 단위 유형.
- 픽처가 프레임 또는 필드인지의 지시. 픽처가 필드이면, 필드 패리티이의 지시(상부 필드 또는 하부 필드). 픽처가 프레임이면, 프레임이 상보적 필드쌍을 표현하는지 여부의 지시.
- 공유-DPB 하이브리드 코덱 스케일러빌러티를 위해 요구될 수 있는 NoOutputOfPriorPicsFlag, PicOutputFlag, PicOrderCntVal 및 참조 픽처 세트의 하나 이상.
몇몇 경우에, 비-HEVC 코딩된 베이스 레이어 픽처는 전술된 특성 중 하나 이상과 연계된다. 연계는 외부 수단(비트스트림 포맷 외부의)을 통해 또는 HEVC 비트스트림 내의 특정 NAL 단위 또는 SEI 메시지 내의 특성을 지시하는 것을 통해 또는 AVC 비트스트림 내의 특정 NAL 단위 또는 SEI 메시지 내의 특성을 지시하는 것을 통해 이루어질 수 있다. HEVC 비트스트림 내의 이러한 특정 NAL 단위는 BL-캡슐화된 NAL 단위라 칭할 수 있고, 마찬가지로 HEVC 비트스트림 내의 이러한 특정 SEI 메시지는 BL-캡슐화된 SEI 메시지라 칭할 수 있다. AVC 비트스트림 내의 이러한 특정 NAL 단위는 EL-캡슐화된 NAL 단위라 칭할 수 있고, 마찬가지로 AVC 비트스트림 내의 이러한 특정 SEI 메시지는 EL-캡슐화된 SEI 메시지라 칭할 수 있다. 몇몇 경우에, HEVC에 포함된 BL-캡슐화 NAL 단위는 부가적으로 베이스 레이어 코딩된 데이터를 포함할 수 있다. 몇몇 경우에, AVC에 포함된 EL-캡슐화 NAL 단위는 부가적으로 향상 레이어 코딩된 데이터를 포함할 수 있다.
디코딩 프로세스 및/또는 HRD에서 요구되는 몇몇 신택스 요소 및/또는 변수값은 하이브리드 코덱 스케일러빌러티가 사용중일 때 디코딩된 베이스 레이어 픽처를 위해 추론될 수 있다. 예를 들어, HEVC 기반 향상 레이어 디코딩에서, 디코딩된 베이스 레이어 픽처의 nuh_layer_id는 0에 동일한 것으로 추론될 수 있고, 디코딩된 베이스 레이어 픽처의 픽처 순서 카운트는 동일한 시간 순간 또는 액세스 단위의 각각의 향상 레이어 픽처의 픽처 순서 카운트에 동일하게 설정될 수 있다. 더욱이, 외부 베이스 레이어 픽처를 위한 TemporalId는 외부 베이스 레이어 픽처가 연계되는 액세스 단위 내의 다른 픽처의 TemporalId와 동일한 것으로 추론될 수 있다.
하이브리드 코덱 스케일러빌러티 네스팅 SEI 메시지는 버퍼링 기간 SEI 메시지(예를 들어, H.264/AVC 또는 HEVC에 따른) 또는 픽처 타이밍 SEI 메시지(예를 들어, H.264/AVC 또는 HEVC에 따른)와 같은 하나 이상의 HRD SEI 메시지를 포함할 수 있다. 대안적으로 또는 부가적으로, 하이브리드 코덱 스케일러빌러티 네스팅 SEI 메시지는 H.264/AVC의 hrd_parameter() 신택스 구조와 같은 비트스트림- 또는 시퀀스-레벨 HRD 파라미터를 포함할 수 있다. 대안적으로 또는 부가적으로, 하이브리드 코덱 스케일러빌러티 네스팅 SEI 메시지는, 그 일부가 비트스트림- 또는 시퀀스-레벨 HRD 파라미터(예를 들어, H.264/AVC의 hrd_parameter() 신택스 구조) 내에 그리고/또는 버퍼링 기간 SEI(예를 들어 H.264/AVC 또는 HEVC에 따른) 또는 픽처 타이밍 SEI 메시지(예를 들어 H.264/AVC 또는 HEVC에 따른) 내의 것들과 동일하거나 유사할 수 있는 신택스 요소를 포함할 수 있다. 하이브리드 코덱 스케일러빌러티 네스팅 SEI 메시지 내에 네스팅되도록 허용되는 SEI 메시지 또는 다른 신택스 구조는 상기의 것들에 한정되지 않을 수 있다는 것이 이해되어야 한다.
하이브리드 코덱 스케일러빌러티 네스팅 SEI 메시지는 베이스 레이어 비트스트림 내에 그리고/또는 향상 레이어 비트스트림 내에 상주할 수도 있다. 하이브리드 코덱 스케일러빌러티 네스팅 SEI 메시지는 네스팅된 SEI 메시지가 적용되는 레이어, 서브레이어, 비트스트림 서브세트, 및/또는 비트스트림 파티션을 지정하는 신택스 요소를 포함할 수 있다.
하이브리드 코덱 스케일러빌러티를 위한 베이스 레이어 HRD 파라미터가 적용될 때 적용가능한 베이스 레이어 프로파일 및/또는 레벨(및/또는 유사한 적합 정보)은 베이스 레이어 프로파일 및 레벨 SEI 메시지라 칭할 수 있는 특정 SEI 메시지로 내로 인코딩되고 그리고/또는 그로부터 디코딩될 수 있다. 실시예에 따르면, 하이브리드 코덱 스케일러빌러티를 위한 베이스 레이어 HRD 파라미터가 적용될 때 적용가능한 베이스 레이어 프로파일 및/또는 레벨(및/또는 유사한 적합 정보)은 그 신택스 및 시맨틱스가 베이스 레이어의 코딩 포맷에 의존하는 특정 SEI 메시지로 내로 인코딩되고 그리고/또는 그로부터 디코딩될 수 있다. 예를 들어, AVC 베이스 레이어 프로파일 및 레벨 SEI 메시지가 지정될 수 있고, 여기서 SEI 메시지 페이로드는 H.264/AVC의 profile_idc, H.264/AVC의 seq_parameter_set_data( ) 신택스 구조(신택스 요소 constraint_setX_flag를 포함할 수 있음, x는 0 내지 5의 범위(경계값 포함)의 각각의 값, 및 reserverved_zero_2bits를 포함할 수 있음)의 제2 바이트, 및/또는 H.264/AVC의 level_idc를 포함할 수 있다.
베이스 레이어 HRD 초기화 파라미터 SEI 메시지(들)(등), 베이스 레이어 버퍼링 기간 SEI 메시지(들)(등), 베이스 레이어 픽처 타이밍 SEI 메시지(들)(등), 하이브리드 코덱 스케일러빌러티 네스팅 SEI 메시지(들)(등) 및/또는 베이스 레이어 프로파일 및 레벨 SEI 메시지(들)(등)는 이하의 포함 신택스 구조 및/또는 메커니즘 중 하나 이상 내로 포함되고 그리고/또는 그로부터 디코딩될 수 있다:
- BL 비트스트림 내의 베이스 레이어 픽처와 연계된 프리픽스 NAL 단위(등).
- BL 비트스트림 내의 향상 레이어 캡슐화 NAL 단위(등).
- BL 비트스트림 내의 "자립식"(즉, 비캡슐화 또는 비네스팅된) SEI 메시지로서.
- BL 비트스트림 내의 스케일러블 네스팅 SEI 메시지(등), 여기서 타겟 레이어는 베이스 레이어 및 향상 레이어를 포함하도록 지정될 수 있음.
- EL 비트스트림 내의 베이스 레이어 캡슐화 NAL 단위(등).
- EL 비트스트림 내의 "자립식"(즉, 비캡슐화 또는 비네스팅된) SEI 메시지로서.
- EL 비트스트림 내의 스케일러블 네스팅 SEI 메시지(등), 여기서 타겟 레이어는 베이스 레이어인 것으로 지정될 수 있음.
- 파일 포맷에 따른 메타데이터, 이 메타데이터는 BL 비트스트림 및 EL 비트스트림을 포함하거나 참조하는 파일에 의해 참조되거나 상주함.
- MPEG-2 전송 스트림의 기술자 내에와 같은, 통신 프로토콜 내의 메타데이터.
하이브리드 코덱 스케일러빌러티가 사용중일 때, 제 1 비트스트림 멀티플렉서는 베이스 레이어 비트스트림 및 향상 레이어 비트스트림을 입력으로서 취하고, MPEG-2 전송 스트림 또는 그 부분과 같은 멀티플렉싱된 비트스트림을 형성할 수 있다. 대안적으로 또는 부가적으로, 제2 비트스트림 멀티플렉서(또한 제 1 비트스트림 멀티플렉서와 조합될 수 있음)는 NAL 단위와 같은 베이스 레이어 데이터 단위를 NAL 단위와 같은 향상 레이어 데이터 단위 내로, 향상 레이어 비트스트림 내로 캡슐화할 수 있다. 제2 비트스트림 멀티플렉서는 대안적으로 NAL 단위와 같은 향상 레이어 데이터 단위를 NAL 단위와 같은 베이스 레이어 데이터 단위 내로, 베이스 레이어 비트스트림 내로 캡슐화할 수 있다.
인코더 또는 파일 생성기와 같은 다른 엔티티는 인터페이스를 통해 인코딩될 상이한 레이어의 의도된 표시 거동을 수신할 수 있다. 의도된 표시 거동은 예를 들어, 그 세팅이 이어서 인코더가 인터페이스를 통해 수신하는 의도된 표시 거동에 영향을 미치는, 사용자 인터페이스를 통해 콘텐트를 생성하는 사용자 또는 사용자에 의한 것일 수 있다.
인코더 또는 파일 생성기와 같은 다른 엔티티는 입력 콘텐트 및/또는 인코딩 세팅에 기초하여, 의도된 표시 거동을 결정할 수 있다. 예를 들어, 2개의 뷰가 레이어로서 코딩될 입력으로서 제공되면, 인코더는 의도된 표시 거동이 뷰를 개별적으로 표시하는 것으로(예를 들어, 입체 디스플레이 상에) 결정할 수 있다. 다른 예에서, 인코더는 관심 영역 향상 레이어(EL)가 인코딩될 것이라는 인코딩 세팅을 수신한다. 인코더는 예를 들어, ROI 향상 레이어와 그 참조 레이어(RL) 사이의 스케일 팩터가 특정 한계, 예를 들어 2보다 작거나 같으면, 의도된 표시 거동이 각각의 업샘플링된 RL 픽처의 위에 EL 픽처를 오버레이하는 것이라는 휴리스틱 규칙을 가질 수 있다.
수신된 및/또는 결정된 표시 거동에 기초하여, 인코더 또는 파일 생성기와 같은 다른 엔티티는 비트스트림 내로, 예를 들어 VPS 및/또는 SPS(지시가 이들의 VUI 부 내에 상주할 수 있는)와 같은 시퀀스 레벨 신택스 구조 내에서, 또는 SEI로서, 예를 들어 SEI 메시지 내에, 2개 이상의 레이어의 의도된 표시 거동의 지시를 인코딩할 수 있다. 대안적으로 또는 부가적으로, 인코더 또는 파일 생성기와 같은 다른 엔티티는 코딩된 픽처를 포함하는 콘테이너 파일 내로 2개 이상의 레이어의 의도된 표시 거동의 지시를 인코딩할 수 있다. 대안적으로 또는 부가적으로, 인코더 또는 파일 생성기와 같은 다른 엔티티는 MIME 미디어 파라미터, SDP, 또는 MPD와 같은 기술 내로 2개 이상의 레이어의 의도된 표시 거동의 지시를 인코딩할 수 있다.
디코더 또는 미디어 플레이어 또는 파일 파서와 같은 다른 엔티티는 비트스트림으로부터, 예를 들어 VPS 및/또는 SPS(지시가 이들의 VUI 부 내에 상주할 수 있는)와 같은 시퀀스 레벨 신택스 구조로부터, 또는 SEI 메커니즘을 통해, 예를 들어 SEI 메시지로부터, 2개 이상의 레이어의 의도된 표시 거동의 지시를 디코딩할 수 있다. 대안적으로 또는 부가적으로, 디코더 또는 미디어 플레이어 또는 파일 파서와 같은 다른 엔티티는 코딩된 픽처를 포함하는 콘테이너 파일로부터 2개 이상의 레이어의 의도된 표시 거동의 지시를 디코딩할 수 있다. 대안적으로 또는 부가적으로, 디코더 또는 미디어 플레이어 또는 파일 파서와 같은 다른 엔티티는 MIME 미디어 파라미터, SDP, 또는 MPD와 같은 기술로부터 2개 이상의 레이어의 의도된 표시 거동의 지시를 디코딩할 수 있다. 디코딩된 표시 거동에 기초하여, 디코더 또는 미디어 플레이어 또는 파일 파서와 같은 엔티티는 2개 이상의 레이어의 디코딩된(그리고 가능하게는 크롭핑된) 픽처로부터 표시될 하나 이상의 픽처를 생성할 수 있다. 디코더 또는 미디어 플레이어 또는 파일 파서와 같은 엔티티는 표시될 하나 이상의 픽처를 또한 표시할 수 있다.
대각 인터레이어 예측
인터 레이어 예측의 다른 분류는 정렬된 인터 레이어 예측 및 대각(또는 방향성) 인터 레이어 예측을 구별한다. 정렬된 인터 레이어 예측은 예측되고 있는 픽처와 동일한 액세스 단위 내에 포함된 픽처로부터 발생하도록 고려될 수 있다. 인터 레이어 참조 픽처는 예측되고 있는 픽처와는 상이한(예를 들어, HEVC 맥락에서 현재 픽처의 것과는 상이한 nuh_layer_id 값을 가짐) 참조 픽처로서 정의될 수 있다. 정렬된 인터 레이어 참조 픽처는 현재 픽처를 또한 포함하는 액세스 단위 내에 포함된 인터 레이어 참조 픽처로서 정의될 수 있다. 대각 인터 레이어 예측은 예측되고 있는 현재 픽처를 포함하는 것과는 상이한 액세스 단위의 픽처로부터 발생하는 것으로 고려될 수 있다.
대각 예측 및/또는 대각 인터 레이어 참조 픽처는 예를 들어 이하와 같이 가능하게 될 수 있다. 부가의 단기 참조 픽처 세트(RPS) 등이 슬라이스 세그먼트 헤더 내에 포함될 수 있다. 부가의 단기 RPS 등은 인코더에 의해 슬라이스 세그먼트 헤더 내에 지시되고 디코더에 의해 슬라이스 세그먼트 헤더로부터 디코딩된 것으로서 지시된 직접 참조 레이어와 연계된다. 지시는 예를 들어, 예로서 VPS 내에 존재할 수 있는 레이어 종속성 정보에 따라 가능한 직접 참조 레이어를 인덱싱하는 것을 통해 수행될 수 있다. 지시는 예를 들어, 인덱싱된 직접 참조 레이어 사이의 인덱스값일 수 있고 또는 지시는 직접 참조 레이어를 포함하는 비트 마스크일 수 있고, 여기서 마스크 내의 위치는 직접 참조 레이어를 지시하고, 마스크 내의 비트값은 레이어가 대각 인터 레이어 예측을 위한 참조로서 사용되는지(및 따라서 단기 RPS 등이 그 레이어를 위해 포함되고 연계되는지) 여부를 지시한다. 부가의 단기 RPS 신택스 구조 등은 현재 픽처의 초기 참조 픽처 리스트(들) 내에 포함된 직접 참조 레이어로부터 픽처를 지정한다. 슬라이스 세그먼트 헤더 내에 포함된 통상의 단기 RPS와는 달리, 부가의 단기 RPS 등의 디코딩은 픽처의 마킹("참조를 위해 미사용됨" 또는 "장기 참조를 위해 사용됨"과 같은)에 변화를 유발하지 않는다. 부가의 단기 RPS 등은 통상의 단기 RPS와 동일한 신택스를 사용할 필요가 있는데 - 특히, 지시된 픽처가 현재 픽처를 위한 참조를 위해 사용될 수 있다는 것 또는 지시된 픽처가 현재 픽처를 위한 참조를 위해 사용되지 않지만 디코딩 순서로 참조 후속 픽처를 위해 사용될 수 있다는 것을 지시하기 위해 플래그를 제외하는 것이 가능하다. 참조 픽처 리스트 구성을 위한 디코딩 프로세스는 현재 픽처를 위한 부가의 단기 RPS 신택스 구조 등으로부터 참조 픽처를 포함하도록 수정될 수 있다.
적응성 분해능 변화는 예를 들어 비디오 회의 사용 경우에서 비디오 시퀀스 내의 분해능을 동적으로 변화하는 것을 칭한다. 적응성 분해능 변화는 예를 들어 더 양호한 네트워크 적응 및 에러 내성을 위해 사용될 수 있다. 상이한 콘텐트를 위한 네트워크 요구를 변화하는 것에 대한 더 양호한 적응을 위해, 품질에 추가하여 시간/공간 분해능의 모두를 변화하는 것이 가능하도록 요구될 수 있다. 적응성 분해능 변화는 또한 고속 시작을 가능하게 할 수 있고, 여기서 세션의 시작 시간은 저분해능 프레임을 먼저 송신하고 이어서 분해능을 증가시킴으로써 증가되는 것이 가능할 수 있다. 적응성 분해능 변화는 회의를 구성하는데 또한 사용될 수 있다. 예를 들어, 사람이 말하기 시작할 때, 그/그녀의 대응 분해능이 증가될 수 있다. IDR 프레임으로 이를 행하는 것은, 지연이 상당히 증가되지 않도록 IDR 프레임이 비교적 저품질에서 코딩될 필요가 있기 때문에 품질의 "블립(blip)"을 유발할 수 있다.
이하에는, 적응성 분해능 변화 사용 경우의 몇몇 상세가 스케일러블 비디오 코딩 프레임워크를 사용하여 더 상세히 설명된다. 스케일러블 비디오 코딩은 고유적으로 분해능 변화를 위한 메커니즘을 포함하고, 적응성 분해능 변화는 효율적으로 지원될 수 있다. 분해능 스위칭이 발생하는 액세스 유닛에서, 2개의 픽처가 인코딩되고 그리고/또는 디코딩될 수 있다. 더 상위 레이어에서 픽처는 IRAP 픽처일 수 있는데, 즉 어떠한 인터 예측도 이를 인코딩 또는 디코딩하는데 사용되지 않고, 인터 레이어 예측이 이를 인코딩 또는 디코딩하는데 사용될 수 있다. 더 상위 레이어에서 픽처는 스킵 픽처일 수 있는데, 즉 공간 분해능을 제외하고는, 품질 및/또는 다른 스케일러빌러티 치수의 견지에서 더 하위 레이어 픽처를 향상시키지 않을 수도 있다. 어떠한 분해능 변화도 발생하지 않는 액세스 단위는 동일한 레이어 내의 이전의 픽처로부터 인터 예측될 수 있는 단지 하나의 픽처를 포함할 수 있다.
MV-HEVC 및 SHVC의 VPS VUI에서, 적응성 분해능 변화에 관련된 이하의 신택스 요소가 지정되어 있다:
Figure 112016100265465-pct00018
전술된 신택스 요소의 시맨틱스는 이하와 같이 지정될 수 있다.
1에 동일한 single_layer_for_non_irap_flag는 액세스 단위의 모든 VCL NAL 단위가 동일한 nuh_layer_ id 값을 갖는다는 것 또는 2개의 nuh_layer_id 값이 액세스 단위의 VCL NAL 단위에 의해 사용되고 더 큰 nuh_layer_id 값을 갖는 픽처가 IRAP 픽처라는 것을 지시한다. 0에 동일한 single_layer_for_non_irap_flag는 1에 동일한 single_layer_for_non_irap_flag에 의해 암시된 제약이 적용될 수도 있고 또는 적용되지 않을 수도 있다는 것을 지시한다.
1에 동일한 higher_layer_irap_skip_flag는 VPS를 참조하는 모든 IRAP에 대해, nuh_layer_id의 낮은 값을 갖는 동일한 액세스 단위 내의 다른 픽처가 존재한다는 것을 지시하고, 이하의 제약이 적용된다:
- IRAP 픽처의 모든 슬라이스에 대해:
○ slice_type은 P에 동일할 것임.
○ slice_sao_luma_flag 및 slice_sao_chroma_flag는 모두 0에 동일할 것임.
○ five_minus_max_num_merge_cand는 4에 동일할 것임.
○ weighted_pred_flag는 슬라이스에 의해 참조되는 PPS 내에서 0에 동일할 것임.
- IRAP 픽처의 모든 코딩 단위에 대해:
○ cu_skip_flag[ i ][ j ]는 1에 동일할 것임.
○ 0에 동일한 higher_layer_irap_skip_flag는 상기 제약이 적용될 수도 있고 또는 적용되지 않을 수도 있다는 것을 지시한다.
인코더는 동일한 액세스 단위 내에 2개의 픽처가 존재할 때마다, 더 높은 nuh_layer_id를 갖는 것이 입력으로서 다른 픽처를 갖는 인터 레이어 참조 픽처를 위한 리샘플링 프로세스를 적용함으로써 디코딩된 샘플이 유도될 수 있는 IRAP 픽처라는 디코더로의 지시로서 1에 동일한 single_layer_for_no_irp_flag 및 higher_layer_irap_skip_flag의 모두를 설정할 수 있다.
3차원(3D) 비디오 콘텐트를 제공하기 위한 다양한 기술이 현재 연구되고 개발된다. 입체 또는 2-뷰 비디오에서, 하나의 비디오 시퀀스 또는 뷰는 왼쪽눈을 위해 제시되고 반면에 평행 뷰는 오른쪽 눈을 위해 제시되는 것이 고려될 수 있다. 2개 초과의 평행 뷰는 뷰포인트 스위칭을 가능하게 하는 용례를 위해 도는 많은 수의 뷰를 동시에 제시하고 뷰어가 상이한 뷰포인트로부터 콘텐트를 관찰하게 할 수 있는 자동입체 디스플레이를 위해 요구될 수 있다. 자동입체 디스플레이를 위한 비디오 코딩 및 뷰어가 특정 뷰포인트로부터 단지 한 쌍의 스테레오 비디오를 그리고 상이한 뷰포인트로부터 다른 쌍의 스테레오 비디오를 보는 것이 가능한 이러한 다양한 멀티뷰 용례에 강렬한 연구가 집중되어 왔다. 이러한 멀티뷰 용례를 위한 가장 실행가능한 접근법들 중 하나는, 단지 제한된 수의 뷰, 예를 들어 모노 또는 스테레오 비디오에 더하여 보충 데이터가 디코더측에 제공되고 모든 요구된 뷰가 이어서 디스플레이 상에 표시되도록 디코더에 의해 로컬방식으로 렌더링되는(즉, 합성됨) 이러한 것으로 판명되었다.
프레임 패킹은 하나 초과의 프레임이 인코딩을 위한 전처리 단계로서 인코더측에서 단일 프레임 내로 패킹되고 이어서 프레임 패킹된 프레임이 통상의 2D 비디오 코딩 방안으로 인코딩되는 방법을 칭한다. 따라서, 디코더에 의해 생성된 출력 프레임은 인코더측에서 하나의 프레임 내로 공간적으로 패킹된 입력 프레임에 대응하는 구성 프레임을 포함한다. 프레임 패킹은 하나가 왼쪽눈/카메라/뷰에 대응하고 다른 하나가 오른쪽눈/카메라/뷰에 대응하는 한 쌍의 프레임이 단일의 프레임 내로 패킹되는 입체 비디오를 위해 사용될 수 있다. 프레임 패킹은 또한 또는 대안적으로 깊이 또는 디스패리티 향상된 비디오를 위해 사용될 수 있고, 여기서 구성 프레임 중 하나는 규칙적인 컬러 정보(루마 및 크로마 정보)를 포함하는 다른 구성 프레임에 대응하는 깊이 또는 디스패리티 정보를 표현한다. 프레임 패킹의 다른 사용이 또한 가능할 수 있다. 프레임 패킹의 사용은 예를 들어, H.264/AVC 등의 프레임 패킹 배열 SEI 메시지를 사용하여 비디오 비트스트림 내에서 시그널링될 수 있다. 프레임 패킹의 사용은 또한 또는 대안적으로 고선명 멀티미디어 인터페이스(High-Definition Multimedia Interface: HDMI)와 같은 비디오 인터페이스를 통해 지시될 수 있다. 프레임 패킹의 사용은 또한 또는 대안적으로 다양한 기능 교환 및 세션 기술 프로토콜(Session Description Protocol: SDP)과 같은 모드 협상 프로토콜을 사용하여 지시되고 그리고/또는 협상될 수 있다.
프레임 패킹은 단일의 프레임 내로의 스테레오 쌍의 공간 패킹이 인코딩을 위한 전처리 단계로서 인코더측에서 수행되고 이어서 프레임 패킹된 프레임이 통상의 2D 비디오 코딩 방안으로 인코딩되는 프레임 호환성 입체 비디오에 이용될 수 있다. 디코더에 의해 생성된 출력 프레임은 입체 쌍의 구성 프레임을 포함한다. 통상의 동작 모드에서, 각각의 뷰의 원본 프레임 및 패키징된 단일 프레임의 공간 분해능은 동일한 분해능을 갖는다. 이 경우에, 인코더는 패킹 동작 전에 입체 비디오의 2개의 뷰를 다운샘플링한다. 공간 패킹은 예를 들어, 나란한 또는 상하 포맷을 사용할 수 있고, 다운샘플링은 이에 따라 수행되어야 한다.
뷰는 하나의 카메라 또는 뷰포인트를 표현하는 픽처의 시퀀스로서 정의될 수 있다. 뷰를 표현하는 픽처는 또한 뷰 콤포넌트라 칭할 수 있다. 달리 말하면, 뷰 콤포넌트는 단일 액세스 단위 내의 뷰의 코딩된 표현으로서 정의될 수 있다. 멀티뷰 비디오 코딩에서, 하나 초과의 뷰가 비트스트림 내에서 코딩된다. 이러한 뷰는 통상적으로 입체 또는 멀티뷰 자동입체 디스플레이 상에 표시되도록 또는 다른 3D 배열을 위해 사용되도록 의도되기 때문에, 이들 뷰는 통상적으로 동일한 장면을 표현하고 부분적으로 중첩하지만 콘텐트에 상이한 뷰포인트를 표현하는 콘텐트 단위이다. 따라서, 인터뷰 예측은 인터뷰 상관을 이용하고 압축 효율을 향상시키기 위해 멀티뷰 비디오 코딩에 이용될 수 있다. 인터뷰 예측을 실현하기 위한 일 방식은 제 1 뷰 내에 상주하는 코딩되는 또는 디코딩되는 픽처의 참조 픽처 리스트(들) 내에 하나 이상의 다른 뷰의 하나 이상의 디코딩된 픽처를 포함하는 것이다. 뷰 스케일러빌러티는, 최종 비트스트림이 적합을 유지하고 원래보다 적은 수의 뷰를 갖는 비디오를 표현하는 동안 하나 이상의 코딩된 뷰의 제거 또는 생략을 가능하게 하는 이러한 멀티뷰 비디오 코딩 또는 멀티뷰 비디오 비트스트림을 칭할 수 있다.
프레임 패킹된 비디오는 개별 향상 픽처가 프레임 패킹된 픽처의 각각의 구성 프레임을 위해 코딩/디코딩되는 방식으로 향상될 수 있는 것이 제안되어 왔다. 예를 들어, 좌측뷰를 표현하는 구성 프레임의 공간 향상 픽처는 하나의 향상 레이어 내에 제공될 수 있고, 우측뷰를 표현하는 구성 프레임의 공간 향상 픽처는 다른 향상 레이어 내에 제공될 수 있다. 예를 들어, H.264/AVC의 Edition 9.0은 입체 비디오 코딩을 위한 멀티 분해능 프레임 호환성(multi-resolution frame-compatible: MFC) 향상 및 MFC 향상을 사용하는 하나의 프로파일을 지정한다. MFC에서, 베이스 레이어(즉, 베이스 뷰)는 프레임 패킹된 입체 비디오를 포함하고, 반면에 각각의 비-베이스 뷰는 베이스 레이어의 구성 뷰 중 하나의 풀 분해능 향상을 포함한다.
전술된 바와 같이, MVC는 H.264/AVC의 확장이다. H.264/AVC의 다수의 정의, 개념, 신택스 구조, 시맨틱스, 및 디코딩 프로세스는 이와 같이 MVC에 또는 특정 일반화 또는 제약을 갖고 또한 적용된다. MVC의 몇몇 정의 개념, 신택스 구조, 시맨틱스, 및 디코딩 프로세스가 이하에 설명된다.
MVC 내의 액세스 단위는 디코딩 순서로 연속적인 NAL 단위의 세트인 것으로 정의되고, 하나 이상의 뷰 콤포넌트로 이루어진 정확하게 하나의 1차 코딩된 픽처를 포함한다. 1차 코딩된 픽처에 추가하여, 액세스 단위는 하나 이상의 중복 코딩된 픽처, 하나의 보조 코딩된 픽처, 또는 코딩된 픽처의 슬라이스 또는 슬라이스 데이터 파티션을 포함하지 않는 다른 NAL 단위를 또한 포함할 수 있다. 액세스 단위의 디코딩은 디코딩에 영향을 미칠 수 있는 디코딩 에러, 비트스트림 에러 또는 다른 에러가 발생하지 않을 때, 하나 이상의 디코딩된 뷰 콤포넌트로 이루어진 하나의 디코딩된 픽처를 생성한다. 달리 말하면, MVC 내의 액세스 단위는 하나의 출력 시간 인스턴스를 위한 뷰의 뷰 콤포넌트를 포함한다.
MVC 내의 뷰 콤포넌트는 단일 액세스 단위 내의 뷰의 코딩된 표현이라 칭한다.
인터뷰 예측은 MVC 내에 사용될 수 있고, 동일한 액세스 단위의 상이한 뷰 콤포넌트의 디코딩된 샘플로부터 뷰 콤포넌트의 예측을 칭한다. MVC에서, 인터뷰 예측은 인터 예측에 유사하게 실현된다. 예를 들어, 인터뷰 참조 픽처는 인터 예측을 위한 참조 픽처와 동일한 참조 픽처 리스트(들) 내에 배치되고, 참조 인덱스 뿐만 아니라 모션 벡터는 인터뷰 및 인터 참조 픽처에 대해 유사하게 코딩되거나 추론된다.
앵커 픽처는, 모든 슬라이스가 단지 동일한 액세스 단위 내의 슬라이스만을 참조할 수 있는, 즉 인터뷰 예측이 사용될 수 있지만, 어떠한 인터 예측도 사용되지 않고, 출력 순서로 모든 후속의 코딩된 픽처가 디코딩 순서로 코딩된 픽처에 앞서 임의의 픽처로부터 인터 예측을 사용하지 않는, 코딩된 픽처이다. 인터뷰 예측은 비-베이스 뷰의 부분인 IDR 뷰 콤포넌트를 위해 사용될 수 있다. MVC 내의 베이스 뷰는 코딩된 비디오 시퀀스에서 뷰 순서 인덱스의 최소값을 갖는 뷰이다. 베이스 뷰는 다른 뷰에 독립적으로 디코딩될 수 있고 인터뷰 예측을 사용하지 않는다. 베이스 뷰는 H.264/AVC의 베이스라인 프로파일 및 하이 프로파일과 같은, 단지 단일뷰 프로파일만을 지원하는 H.264/AVC 디코더에 의해 디코딩될 수 있다.
MVC 표준에서, MVC 디코딩 프로세스의 다수의 서브 프로세스는, H.264/AVC 표준의 서브-프로세스 사양에서 용어 "픽처", "프레임" 및 "필드"를 "뷰 콤포넌트", "프레임 뷰 콤포넌트", 및 "필드 뷰 콤포넌트" 각각으로 대체함으로써 H.264/AVC 표준의 각각의 서브-프로세스를 사용한다. 마찬가지로, 용어 "픽처", "프레임", 및 "필드"는 종종 이하에서 "뷰 콤포넌트", "프레임 뷰 콤포넌트", 및 "필드 뷰 콤포넌트"를 각각 의미하도록 사용된다.
전술된 바와 같이, MVC 비트스트림의 비-베이스 뷰는 서브세트 시퀀스 파라미터 세트 NAL 단위를 참조할 수 있다. MVC를 위한 서브세트 시퀀스 파라미터 세트는 베이스 SPS 데이터 구조 및 시퀀스 파라미터 세트 MVC 확장 데이터 구조를 포함한다. MVC에서, 상이한 뷰로부터 코딩된 픽처는 상이한 시퀀스 파라미터 세트를 사용할 수 있다. MVC 내의 SPS(특히, MVC 내의 SPS의 시퀀스 파라미터 세트 MVC 확장부)는 인터뷰 예측을 위한 뷰 종속성 정보를 포함할 수 있다. 이는 예를 들어, 뷰 종속성 트리를 구성하기 위해 시그널링 인식 미디어 게이트웨이에 의해 사용될 수 있다.
SVC 및 MVC에서, 프리픽스 NAL 단위는 디코딩 순서로 베이스 레이어/뷰 코딩된 슬라이스를 위한 VCL NAL 단위에 바로 선행하는 NAL 단위로서 정의될 수 있다. 디코딩 순서로 프리픽스 NAL 단위에 바로 후속하는 NAL 단위는 연계된 NAL 단위라 칭할 수 있다. 프리픽스 NAL 단위는 연계된 NAL 단위의 부분으로 고려될 수 있는 연계된 NAL 단위와 연계된 데이터를 포함한다. 프리픽스 NAL 단위는 SVC 또는 MVC 디코딩 프로세스가 사용중일 때, 베이스 레이어/뷰 코딩된 슬라이스의 디코딩에 영향을 미치는 신택스 요소를 포함하는데 사용될 수 있다. H.264/AVC 베이스 레이어/뷰 디코더는 그 디코딩 프로세스에서 프리픽스 NAL 단위를 생략할 수 있다.
스케일러블 멀티뷰 코딩에서, 동일한 비트스트림은 다수의 뷰의 코딩된 뷰 콤포넌트를 포함할 수 있고, 적어도 몇몇 코딩된 뷰 콤포넌트는 품질 및/또는 공간 스케일러빌러티를 사용하여 코딩될 수 있다.
양 텍스처 뷰 및 깊이 뷰가 코딩되는 깊이-향상된 비디오 코딩을 위한 진행중인 표준화 액티비티가 존재한다.
텍스처 뷰는 일반적인 비디오 콘텐트를 표현하고, 예를 들어 일반적인 카메라를 사용하여 캡처되어 있고, 일반적으로 디스플레이 상에 렌더링을 위해 적합한 뷰를 참조한다. 텍스처 뷰는 통상적으로 3개의 콤포넌트, 하나의 루마 콤포넌트 및 2개의 크로마 콤포넌트를 갖는 픽처를 포함한다. 이하에서, 텍스처 픽처는 통상적으로 예를 들어 루마 텍스처 픽처 및 크로마 텍스처 픽처로 달리 지시되지 않으면, 모든 그 콤포넌트 픽처 또는 컬러 콤포넌트를 포함한다.
깊이 뷰는 카메라 센서로부터의 텍스처 샘플의 거리 정보, 텍스처 샘플과 다른 뷰 내의 각각의 텍스처 샘플 사이의 디스패리티 또는 패럴랙스 정보, 또는 유사한 정보를 표현하는 뷰를 칭한다. 깊이 뷰는 텍스처 뷰의 루마 콤포넌트에 유사한 하나의 콤포넌트를 갖는 깊이 픽처(즉, 깊이 맵)를 포함할 수 있다. 깊이 맵은 픽셀당 깊이 정보 또는 유사한 것을 갖는 픽처이다. 예를 들어, 깊이 맵 내의 각각의 샘플은 카메라가 놓여 있는 평면으로부터 각각의 텍스처 샘플 또는 샘플들의 거리를 표현한다. 달리 말하면, z축이 카메라의 슈팅축을 따르면(그리고 따라서 카메라가 놓여 있는 평면에 직교함), 깊이 맵 내의 샘플은 z축 상의 값을 표현한다. 깊이 맵의 시맨틱스는 예를 들어, 이하의 것을 포함할 수 있다:
1. 코딩된 깊이 뷰 콤포넌트 내의 각각의 루마 샘플값은 실제 거리(Z) 값의 역수, 즉 8-비트 루마 표현에 대해, 0 내지 255의 범위(경계값 포함)와 같은, 루마 샘플의 동적 범위 내에서 정규화된 1/Z을 표현한다. 정규화는 1/Z의 양자화가 디스패리티의 견지에서 균일한 방식으로 행해질 수 있다.
2. 코딩된 깊이 뷰 콤포넌트 내의 각각의 루마 샘플값은 실제 거리(Z) 값의 역수, 단편 단위 선형 맵핑과 같은, 맵핑 함수 f(1/Z) 또는 테이블을 사용하여, 즉 8-비트 루마 표현에 대해, 0 내지 255의 범위(경계값 포함)와 같은, 루마 샘플의 동적 범위에 맵핑되는 1/Z을 표현한다. 달리 말하면, 깊이 맵 값은 함수 f(1/Z)를 적용하는 것을 야기한다.
3. 코딩된 깊이 뷰 콤포넌트 내의 각각의 루마 샘플값은 8-비트 루마 표현에 대해, 0 내지 255의 범위(경계값 포함)와 같은, 루마 샘플의 동적 범위 내에서 정규화된 실제 거리(Z)를 표현한다.
4. 코딩된 깊이 뷰 콤포넌트 내의 각각의 루마 샘플값은 현재 깊이 뷰로부터 다른 지시된 또는 유도된 깊이 뷰 또는 뷰 위치로 디스패리티 또는 패럴랙스 값을 표현한다.
깊이 맵 값의 시맨틱스는 비트스트림 내에서, 예를 들어, 비디오 파라미터 세트 신택스 구조, 시퀀스 파라미터 세트 신택스 구조, 비디오 유용성 정보 신택스 구조, 픽처 파라미터 세트 신택스 구조, 카메라/깊이/적응 파라미터 세트 신택스 구조, 보충 향상 정보 메시지 등 내에서 지시될 수 있다.
깊이 뷰, 깊이 뷰 콤포넌트, 깊이 픽처 및 깊이 맵과 같은 구문은 다양한 실시예를 설명하는데 사용되지만, 깊이 앱 값의 임의의 시맨틱스는 이들에 한정되는 것은 아니지만 전술된 것들을 포함하는 다양한 실시예에 사용될 수 있다는 것이 이해되어야 한다. 예를 들어, 본 발명의 실시예는 샘플값이 디스패리티값을 지시하는 깊이 픽처에 대해 적용될 수 있다.
인코딩 시스템 또는 코딩된 깊이를 포함하는 비트스트림을 생성하거나 수정하는 임의의 다른 엔티티는 깊이 샘플의 시맨틱스에 대한 그리고 비트스트림 내로의 깊이 샘플의 양자화 방안에 대한 정보를 생성하고 포함할 수 있다. 깊이 샘플의 시맨틱스에 대한 그리고 깊이 샘플의 양자화 방안에 대한 이러한 정보는 예를 들어 비디오 파라미터 세트 구조 내에, 시퀀스 파라미터 세트 구조 내에, 또는 SEI 메시지 내에 포함될 수 있다.
깊이 향상된 비디오는 하나 이상의 깊이 뷰를 갖는 깊이 비디오와 연계된 하나 이상의 뷰를 갖는 텍스처 비디오를 칭한다. 다수의 접근법이 비디오 플러스 깊이(V+D), 멀티뷰 비디오 플러스 깊이(MVD), 및 계층화된 깊이 비디오(LDV)의 사용을 포함하는, 깊이 향상된 비디오의 표현을 위해 사용될 수 있다. 비디오 플러스 깊이(V+D) 표현에서, 텍스처의 단일 뷰 및 깊이의 각각의 뷰는 텍스처 픽처 및 깊이 픽처의 시퀀스의 각각으로서 표현된다. MVD 표현은 다수의 텍스처 뷰 및 각각이 깊이 뷰를 포함한다. LDV 표현에서, 중앙 뷰의 텍스처 및 깊이는 통상적으로 표현되고, 반면에 다른 뷰의 텍스처 및 깊이는 부분적으로 표현되고 중간 뷰의 정확한 뷰 합성을 위해 요구되는 비-폐색 영역만을 커버한다.
텍스처 뷰 콤포넌트는 단일 액세스 단위 내의 뷰의 텍스처의 코딩된 표현으로서 정의될 수 있다. 깊이 향상된 비디오 비트스트림 내의 텍스처 뷰 콤포넌트는, 깊이 뷰를 디코딩하기 위한 기능을 갖지 않더라도 단일뷰 또는 멀티뷰 디코더가 텍스처 뷰를 디코딩할 수 있도록 단일뷰 텍스처 비트스트림 또는 멀티뷰 텍스처 비트스트림과 호환성이 있는 방식으로 코딩될 수 있다. 예를 들어, H.264/AVC 디코더는 깊이 향상된 H.264/AVC 비트스트림으로부터 단일 텍스처 뷰를 디코딩할 수 있다. 텍스처 뷰 콤포넌트는 대안적으로, H.264/AVC 또는 MVC 디코더와 같은 단일뷰 또는 멀티뷰 텍스처 디코딩이 가능한 디코더가 예를 들어 깊이 기반 코딩 툴을 사용하지 않기 때문에 텍스처 뷰 콤포넌트를 디코딩하는 것이 가능하지 않은 방식으로 코딩될 수 있다. 깊이 뷰 콤포넌트는 단일 액세스 단위 내의 뷰의 깊이의 코딩된 표현으로서 정의될 수 있다. 뷰 콤포넌트 쌍은 동일한 액세스 단위 내의 동일한 뷰의 텍스처 뷰 콤포넌트 및 깊이 뷰 콤포넌트로서 정의될 수 있다.
깊이 향상된 비디오는 텍스처 및 깊이가 서로 독립적으로 코딩되는 방식으로 코딩될 수 있다. 예를 들어, 텍스처 뷰는 하나의 MVC 비트스트림으로서 코딩될 수 있고, 깊이 뷰는 다른 MVC 비트스트림으로서 코딩될 수 있다. 깊이 향상된 비디오는 또한 텍스처 및 깊이가 연합하여 코딩되는 방식으로 코딩될 수 있다. 텍스처 및 깊이 뷰의 연합 코딩의 형태에서, 텍스처 픽처의 디코딩을 위한 텍스처 픽처 또는 데이터 요소의 몇몇 디코딩된 샘플은 깊이 픽처의 디코딩 프로세스에서 얻어진 깊이 픽처 또는 데이터 요소의 몇몇 디코딩된 샘플로부터 예측되거나 유도된다. 대안적으로 또는 부가적으로, 깊이 픽처의 디코딩을 위한 깊이 픽처 또는 데이터 요소의 몇몇 디코딩된 샘플은 텍스처 픽처의 디코딩 프로세스에서 얻어진 텍스처 픽처 또는 데이터 요소의 몇몇 디코딩된 샘플로부터 예측되거나 유도된다. 다른 옵션에서, 텍스처의 코딩된 비디오 데이터 및 깊이의 코딩된 비디오 데이터는 서로로부터 예측되지 않고 또는 하나는 다른 하나에 기초하여 코딩되고/디코딩되지 않지만, 코딩된 텍스처 및 깊이 뷰는 인코딩시에 동일한 비트스트림 내로 멀티플렉싱되고 디코딩시에 비트스트림으로부터 디멀티플렉싱될 수 있다. 또 다른 옵션에서, 텍스처의 코딩된 비디오 데이터가 예를 들어 아래의 슬라이스 레이어 내의 깊이의 코딩된 비디오 데이터로부터 예측되지 않지만, 텍스처 뷰 및 깊이 뷰의 상위 레벨 코딩 구조의 몇몇은 서로 공유되거나 예측될 수 있다. 예를 들어, 코딩된 깊이 슬라이스의 슬라이스 헤더는 코딩된 텍스처 슬라이스의 슬라이스 헤더로부터 예측될 수 있다. 더욱이, 파라미터의 세트의 몇몇은 코딩된 텍스처 뷰 및 코딩된 깊이 뷰의 모두에 의해 사용될 수 있다.
깊이 향상된 비디오 포맷은 임의의 코딩된 뷰에 의해 표현되지 않는 카메라 위치에서 가상 뷰 또는 픽처의 발생을 가능하게 한다. 일반적으로, 임의의 깊이-이미지-기반 렌더링(depth-image-based rendering: DIBR) 알고리즘이 뷰를 합성하기 위해 사용될 수 있다.
텍스처 뷰 및 깊이 뷰가 텍스처 뷰의 몇몇이 HEVC와 호환성이 있을 수 있는 단일 비트스트림 내로 코딩될 수 있는 3D-HEVC라 칭할 수 있는 HEVC 표준으로의 깊이 향상된 비디오 코딩 확장을 지정하기 위한 작업이 또한 진행중이다. 달리 말하면, HEVC 디코더는 이러한 비트스트림의 텍스처 뷰의 몇몇을 디코딩하는 것이 가능할 수 있고, 나머지 텍스처 뷰 및 깊이 뷰를 생략할 수 있다.
스케일러블 및/또는 멀티뷰 비디오 코딩에서, 적어도 랜덤 액세스 특성을 갖는 픽처 및/또는 액세스 단위를 인코딩하기 위한 이하의 원리가 지원될 수 있다.
- 레이어 내의 RAP 픽처는 인터 레이어/인터뷰 예측 없이 인트라 코딩된 픽처일 수 있다. 이러한 픽처는 이것이 상주하는 레이어/뷰에 대한 랜덤 액세스 기능을 가능하게 한다.
- 향상 레이어 내의 RAP 픽처는 인터 예측(즉, 시간 예측)이 없지만 인터 레이어/인터뷰 예측이 허용된 상태의 픽처일 수 있다. 이러한 픽처는 모든 참조 레이어/뷰가 이용가능하면 픽처가 상주하는 레이어/뷰의 디코딩을 시작하는 것을 가능하게 한다. 단일 루프 디코딩에서, 코딩된 참조 레이어/뷰가 이용가능하면(예를 들어 SVC 내에서 0 초과의 dependency_id를 갖는 IDR 픽처에 대해 해당될 수 있음) 충분할 수 있다. 멀티루프 디코딩에서, 참조 레이어/뷰가 디코딩될 필요가 있을 수 있다. 이러한 픽처는 예를 들어 스텝단위 레이어 액세스(stepwise layer access: STLA) 픽처 또는 향상 레이어 RAP 픽처라 칭할 수 있다.
- 앵커 액세스 단위 또는 완전 RAP 액세스 단위는 모든 레이어 내에 단지 인트라 코딩된 픽처(들) 및 STLA 픽처를 포함하도록 정의될 수 있다. 멀티루프 코딩에서, 이러한 액세스 단위는 모든 레이어/뷰로의 랜덤 액세스를 가능하게 한다. 이러한 액세스 단위의 예는 MVC 앵커 액세스 단위이다(이 유형 중에서 IDR 액세스 단위가 특정 경우임).
- 스텝단위 RAP 액세스 단위는 베이스 레이어 내에 RAP 픽처를 포함하지만 모든 향상 레이어 내에 RAP 픽처를 포함할 필요가 없도록 정의될 수 있다. 스텝단위 RAP 액세스 단위는 베이스 레이어 디코딩의 시작을 가능하게 하고, 반면에 향상 레이어 디코딩은 향상 레이어가 RAP 픽처를 포함할 때 시작될 수 있고, (멀티루프 디코딩의 경우에) 모든 그 참조 레이어/뷰가 그 시점에 디코딩된다.
HEVC의 스케일러블 확장 또는 HEVC에 유사한 단일 레이어 코딩 방안을 위한 임의의 스케일러블 확장에서, IRAP 픽처는 이하의 특성 중 하나 이상을 갖도록 지정될 수 있다.
- 0 초과의 nuh_layer_id를 갖는 IRAP 픽처의 NAL 단위 유형값이 향상 레이어 랜덤 액세스 포인트를 지시하는데 사용될 수 있다.
- 향상 레이어 IRAP 픽처는 모든 그 참조 레이어가 EL IRAP 픽처에 앞서 디코딩되어 있을 때 그 향상 레이어의 디코딩을 시작하는 것을 가능하게 하는 픽처로서 정의될 수 있다.
- 인터 레이어 예측은 0 초과의 nuh_layer_id를 갖는 IRAP NAL을 위해 허용되고, 반면에 인터 예측은 허용되지 않는다.
- IRAP NAL 단위는 레이어를 가로질러 정렬될 필요는 없다. 달리 말하면, 액세스 단위는 IRAP 픽처 및 비-IRAP 픽처의 모두를 포함할 수 있다.
- 베이스 레이어에서 BLA 픽처 다음에, 향상 레이어가 IRAP 픽처를 포함하고 모든 그 참조 레이어의 디코딩이 시작될 때 향상 레이어의 디코딩이 시작된다. 달리 말하면, 베이스 레이어 내의 BLA 픽처는 레이어 단위 시작 프로세스를 시작한다.
- 향상 레이어의 디코딩이 CRA 픽처로부터 시작할 때, 그 RASL 픽처는 BLA 픽처의 RASL 픽처에 유사하게 핸들링된다(HEVC 버전 1에서).
레이어를 가로질러 정렬되지 않은 IRAP 픽처 등을 갖는 스케일러블 비트스트림은 예를 들어 사용될 수 있고 더 빈번한 IRAP 픽처가 베이스 레이어에 사용될 수 있고, 여기서 이들은 예를 들어 더 작은 공간 분해능에 기인하여 더 작은 코딩된 크기를 가질 수 있다. 디코딩의 레이어 단위 시작을 위한 프로세스 또는 메커니즘이 비디오 디코딩 방안에 포함될 수 있다. 디코더는 따라서 베이스 레이어가 IRAP 픽처를 포함할 때 비트스트림의 디코딩을 시작하고 이들이 IRAP 픽처를 포함할 때 다른 레이어의 디코딩을 스텝단위로 시작할 수 있다. 달리 말하면, 디코딩 프로세스의 레이어 단위 시작에서, 디코더는 부가의 향상 레이어로부터의 후속 픽처가 디코딩 프로세스에서 디코딩되기 때문에 디코딩된 레이어의 수를 점진적으로 증가시킨다(여기서, 레이어는 공간 분해능, 품질 레벨, 뷰, 깊이와 같은 부가의 콤포넌트, 또는 조합의 향상을 표현할 수 있음). 디코딩된 레이어의 수의 점진적인 증가는 예를 들어 픽처 품질의 점진적 향상으로서 인식될 수 있다(품질 및 공간 스케일러빌러티의 경우에).
레이어 단위 시작 메커니즘은 특정 향상 레이어 내에서 디코딩 순서로 제 1 픽처의 참조 픽처를 위한 이용불가능한 픽처를 발생할 수 있다. 대안적으로, 디코더는 레이어의 디코딩이 시작될 수 있는 IRAP 픽처에 선행하는 픽처의 디코딩을 생략할 수 있다. 생략될 수 있는 이들 픽처는 비트스트림 내에서 인코더 또는 다른 엔티티에 의해 특정하게 라벨링될 수 있다. 예를 들어, 하나 이상의 특정 NAL 단위 유형이 이들을 위해 사용될 수 있다. 이들 픽처는 크로스 레이어 랜덤 액세스 스킵(CL-RAS) 픽처라 칭할 수 있다.
레이어 단위 시작 메커니즘은, 그 향상 레이어의 모든 참조 레이어가 참조 레이어 내의 IRAP 픽처로 유사하게 초기화되어 있을 때, 그 향상 레이어 내의 IRAP 픽처로부터 향상 레이어 픽처의 출력을 시작할 수 있다. 달리 말하면, 출력 순서로 이러한 IRAP 픽처에 선행하는 임의의 픽처(샘플 레이어 내의)는 디코더로부터 출력되지 않을 수도 있고 그리고/또는 표시되지 않을 수도 있다. 몇몇 경우에, 이러한 IRAP 픽처와 연계된 디코딩가능한 리딩 픽처가 출력될 수 있고, 반면에 이러한 IRAP 픽처에 선행하는 다른 픽처는 출력되지 않을 수도 있다.
스플라이싱이라 또한 칭할 수 있는 코딩된 비디오 데이터의 연쇄(concatenation)가 발생할 수 있고, 예를 들어 코딩된 비디오 시퀀스가 브로드캐스팅되거나 스트리밍되거나 대용량 메모리 내에 저장된 비트스트림 내로 연쇄된다. 예를 들어, 광고 또는 선전을 표현하는 코딩된 비디오 시퀀스가 영화 또는 다른 "1차" 콘텐트와 연쇄될 수 있다.
스케일러블 비디오 비트스트림은 레이어를 가로질러 정렬되지 않는 IRAP 픽처를 포함할 수도 있다. 그러나, 그러나 반드시 모든 레이어 내에는 아니라 그 제 1 액세스 단위 내의 베이스 레이어 내에 IRAP 픽처를 포함하는 코딩된 비디오 시퀀스의 연쇄를 가능하게 하는 것이 적합할 수 있다. 제 1 코딩된 비디오 시퀀스 다음에 스플라이싱되는 제2 코딩된 비디오 시퀀스는 레이어 단위 디코딩 시작 프로세스를 트리거링해야 한다. 이는 상기 제2 코딩된 비디오 시퀀스의 제 1 액세스 단위가 모든 그 레이어 내에 IRAP 픽처를 포함하지 않을 수도 있고 따라서 그 액세스 단위 내의 비-IRAP 픽처를 위한 몇몇 참조 픽처가 이용가능하지 않을 수 있고(연쇄된 비트스트림 내에서) 따라서 디코딩될 수 없기 때문이다. 따라서, 스플라이서라 칭하는 코딩된 비디오 시퀀스를 연쇄하는 엔티티는 디코더(들) 내에서 레이어 단위 시작 프로세스를 트리거링하도록 제2 코딩된 비디오 시퀀스의 제 1 액세스 단위를 수정해야 한다.
지시(들)는 레이어 단위 시작 프로세스의 트리거링을 지시하기 위해 비트스트림 신택스에 존재할 수 있다. 이들 지시(들)는 인코더 또는 스플라이서에 의해 발생될 수 있고, 디코더에 의해 종속될 수 있다. 이들 지시(들)는 단지 IDR 픽처를 위해서와 같이 특정 픽처 유형(들) 또는 NAL 단위 유형(들)을 위해 사용될 수 있고, 다른 실시예에서 이들 지시(들)는 임의의 픽처 유형(들)을 위해 사용될 수 있다. 일반성의 손실 없이, 슬라이스 세그먼트 헤더 내에 포함되는 것으로 고려되는 cross_layer_bla_flag라 칭하는 지시가 이하에 참조된다. 임의의 다른 명칭을 갖거나 임의의 다른 신택스 구조 내에 포함된 유사한 지시가 부가적으로 또는 대안적으로 사용될 수 있다는 것이 이해되어야 한다.
레이어 단위 시작 프로세스를 트리거링하는 지시(들)에 독립적으로, 특정 NAL 단위 유형(들) 및/또는 픽처 유형(들)이 레이어 단위 시작 프로세스를 트리거링할 수 있다. 예를 들어, 베이스 레이어 BLA 픽처는 레이어 단위 시작 프로세스를 트리거링할 수 있다.
레이어 단위 시작 메커니즘은 이하의 경우의 하나 이상에서 개시될 수 있다:
- 비트스트림의 시작시에.
- 코딩된 비디오 시퀀스의 시작시에, 구체적으로 제어될 때, 예를 들어 파일 또는 스트림 내의 위치를 탐색하거나 브로드캐스팅되는 것으로 전환되는 것에 응답으로서, 디코딩 프로세스가 시작되거나 재시작될 때. 디코딩 프로세스는 예를 들어, 비디오 플레이어 등과 같은 외부 수단에 의해 제어될 수 있는 NoClrasOutputFlag라 칭하는 변수를 입력할 수 있다.
- 베이스 레이어 BLA 픽처.
- 1에 동일한 cross_layer_bla_flag를 갖는 베이스 레이어 IDR 픽처.(또는 1에 동일한 cross_layer_bla_flag를 갖는 베이스 레이어 IRAP 픽처).
레이어 단위 시작 메커니즘이 개시될 때, DPB 내의 모든 픽처는 "참조를 위해 미사용됨"으로서 마킹될 수 있다. 달리 말하면, 모든 레이어 내의 모든 픽처는 "참조를 위해 미사용됨"으로서 마킹될 수 있고, 레이어 단위 시작 메커니즘을 개시하는 픽처 또는 디코딩 순서로 임의의 후속 픽처를 위한 예측을 위한 참조로서 사용되지 않을 것이다.
크로스 레이어 랜덤 액세스 스킵(CL-RAS) 픽처는, 레이어 단위 시작 메커니즘이 호출될 때(예를 들어, NoClrasOutputFlag가 1일 때), CL-RAS가 비트스트림 내에 존재하지 않는 픽처에 대한 참조를 포함할 수 있기 때문에, CL-RAS 픽처가 출력되지 않고 정확하게 디코딩가능하지 않을 수 있는 특성을 가질 수 있다. RASL 픽처는 비-RASL 픽처의 디코딩 프로세스를 위한 참조 픽처로서 사용되지 않는다는 것이 지정될 수 있다.
CL-RAS 픽처는 예를 들어, 하나 이상의 NAL 단위 유형 또는 슬라이스 헤더 플래그에 의해(예를 들어, cross_layer_bla_flag를 cross_layer_constraint_flag로 재명명하고 비-IRAP 픽처를 위한 cross_layer_bla_flag의 시맨틱스를 재정의함으로써) 명시적으로 지시될 수 있다. 픽처는 비-IRAP 픽처일 때(예를 들어, 그 NAL 단위 유형에 의해 결정된 바와 같이) CL-RAS 픽처로서 고려될 수 있고, 이는 향상 레이어 내에 상주하고, 1에 동일한 cross_layer_constraint_flag(등)를 갖는다. 그렇지 않으면, 픽처는 비-IRAP 픽처인 것으로 분류될 수 있고, cross_layer_bla_flag는 1인 것으로 추론될 수 있고(또는 각각의 변수가 1로 설정될 수 있음), 픽처가 IRAP 픽처이면(예를 들어, 그 NAL 단위 유형에 의해 결정된 바와 같이), 이는 베이스 레이어 내에 상주하고, cross_layer_constraint_flag는 1이다. 그렇지 않으면, cross_layer_bla_flag는 0인 것으로 추론될 수 있다(또는 각각의 변수는 0으로 설정될 수 있음). 대안적으로, CL-RAS 픽처가 추론될 수 있다. 예를 들어, layerId에 동일한 nuh_layer_id를 갖는 픽처는 LayerlnitializedFlag[ layerId ]가 0일 때 CL-RAS 픽처인 것으로 추론될 수 있다.
디코딩 프로세스는 특정 변수가 레이저 단위 시작 프로세스가 사용되는지 여부를 제어하는 방식으로 지정될 수 있다. 예를 들어, 0일 때 정상 디코딩 동작을 지시하고 1일 때 레이어 단위 시작 동작을 지시하는 변수 NoClrasOutputFlag가 사용될 수 있다. NoClrasOutputFlag는 예를 들어, 이하의 단계 중 하나 이상을 사용하여 설정될 수 있다:
1) 현재 픽처가 비트스트림 내의 제 1 픽처인 IRAP 픽처이면, NoClrasOutputFlag가 1로 설정된다.
2) 그렇지 않으면, 몇몇 외부 수단이 변수 NoClrasOutputFlag를 베이스 레이어 IRAP 픽처를 위한 값에 동일하게 설정하도록 이용가능하면, 변수 NoClrasOutputFlag는 외부 수단에 의해 제공된 값에 동일하게 설정된다.
3) 그렇지 않으면, 현재 픽처가 코딩된 비디오 시퀀스(coded video sequence: CVS) 내의 제 1 픽처인 BLA 픽처이면, NoClrasOutputFlag가 1로 설정된다.
4) 그렇지 않으면, 현재 픽처가 코딩된 비디오 시퀀스(CVS) 내의 제 1 픽처인 IDR 픽처이고 cross_layer_bla_flag가 1이면, NoClrasOutputFlag가 1로 설정된다.
5) 그렇지 않으면, NoClrasOutputFlag는 0으로 설정된다.
상기 단계 4는 대안적으로 더 일반적으로 예를 들어 이하와 같이 구문화될 수 있다: "그렇지 않으면, CVS 내의 제 1 픽처인 IRAP 픽처이고 레이어 단위 시작 프로세스의 지시가cross_layer_bla_flag가 1이면, NoClrasOutputFlag가 1로 설정된다." 상기 단계 3은 제거될 수 있고, BLA 픽처는 그를 위한 cross_layer_bla_flag가 1일 때, 레이어 단위 시작 프로세스로 지정될 수 있다(즉, NoClrasOutputFlag를 1로 설정함). 조건을 구문화하는 다른 방식이 가능하고 동등하게 적용가능하다는 것이 이해되어야 한다.
레이어 단위 시작을 위한 디코딩 프로세스는 예를 들어, 각각의 레이어를 위한 엔트리를 가질 수 있는(가능하게는 베이스 레이어를 제외하고 가능하게는 다른 독립 레이어를 또한 제외함) 2개의 어레이 변수 LayerlnitializedFlag[ i ] and FirstPicInLayerDecodedFlag[ i ]에 의해 제어될 수 있다. 예를 들어 NoClrasOutputFlag가 1인 것에 대한 응답으로서, 레이어 단위 시작 프로세스가 호출될 때, 이들 어레이 변수는 이들의 디폴트값으로 리셋될 수 있다. 예를 들어, 64개의 레이어가 인에이블링되어 있을 때(예를 들어, 6-비트 nuh_layer_id를 갖는), 변수는 이하와 같이 리셋될 수 있다: 변수 LayerlnitializedFlag[ i ]는 0 내지 63(경계값 포함)의 모든 i 값에 대해 0으로 설정되고, 변수 FirstPicInLayerDecodedFlag[ i ]는 1 내지 63(경계값 포함)의 모든 i 값에 대해 0으로 설정된다.
디코딩 프로세스는 RASL 픽처의 출력을 제어하기 위해 이하 또는 유사 것을 포함할 수도 있다. 현재 픽처가 IRAP 픽처일 때, 이하가 적용된다:
- LayerlnitializedFlag [ nuh layer id ]가 0이면, 변수 NoRaslOutputFlag는 1로 설정된다.
- 그렇지 않으면, 몇몇 외부 수단이 변수 HandleCraAsBlaFlag를 현재 픽처를 위한 값으로 설정하도록 이용가능하면, 변수 HandleCraAsBlaFlag는 외부 수단에 의해 제공된 값에 동일하게 설정되고, 변수 NoRaslOutputFlag는 HandleCraAsBlaFlag에 동일하게 설정된다.
- 그렇지 않으면, 변수 HandleCraAsBlaFlag는 0으로 설정되고, 변수 NoRaslOutputFlag는 0으로 설정된다.
디코딩 프로세스는 레이어를 위한 LayerlnitializedFlag를 업데이트하도록 이하를 포함할 수 있다. 현재 픽처가 IRAP 픽처이고 이하의 것 중 어느 하나가 참일 때, LayerlnitializedFlag [ nuh layer id ]는 1로 설정된다.
- nuh_layer_id가 0임.
- RefLayerId[ nuhlayer id ] [ j ]에 동일한 refLayerId의 모든 값에 대해 LayerlnitializedFlag [ nuh layer id ]가 0이고 LayerlnitializedFlag [ refLayerId ]이 1임, 여기서 j는 0 내지 NumDirectRefLayers[ nuh layer id ] - 1(경계값 포함)임.
FirstPicInLayerDecodedFlag[ nuh layer id ]가 0일 때, 이용불가능한 참조 픽처를 발생하기 위한 디코딩 프로세스는 현재 픽처를 디코딩하기 전에 호출될 수 있다. 이용불가능한 참조 픽처를 발생하기 위한 디코딩 프로세스는 디폴트값을 갖는 참조 픽처 세트 내의 각각의 픽처를 위한 픽처를 발생할 수 있다. 이용불가능한 참조 픽처를 발생하는 프로세스는 CL-RAS 픽처를 위한 신택스 제약의 사양을 위해서만 주로 지정되고, 여기서 CL-RAS 픽처는 layerId에 동일한 nuh_layer_id를 갖는 픽처로서 정의될 수 있고, LayerlnitializedFlag [ layerId ]는 0이다. HRD 동작에서, CL-RAS 픽처는 CPB 도달 및 제거 시간의 유도를 고려할 필요가 있을 수 있다. 디코더는 이들 픽처가 출력을 위해 지정되지 않았고 출력을 위해 지정된 임의의 다른 픽처의 디코딩 프로세스에 영향을 미치지 않기 때문에, 임의의 CL-RAS 픽처를 무시할 수 있다.
코딩 표준 또는 시스템은 그 하에서 디코딩이 동작하는 스케일러블 레이어 및/또는 서브레이어를 지시할 수 있고 디코딩되고 있는 스케일러블 레이어 및/또는 서브레이어를 포함하는 서브-비트스트림과 연계될 수 있는 용어 동작점 등을 참조할 수 있다. 동작 포인트의 몇몇 비한정적인 정의가 이하에 제공된다.
HEVC에서, 동작 포인트는 입력으로서 다른 비트스트림, TemporalId, 및 타겟 레이어 식별자 리스트를 갖는 서브-비트스트림 추출 프로세스의 동작에 의해 다른 비트스트림으로부터 생성된 비트스트림으로서 정의된다.
HEVC의 VPS는 레이어 세트 및 이들 레이어 세트를 위한 HRD 파라미터를 지정한다. 레이어 세트는 서브-비트스트림 추출 프로세스에서 타겟 레이어 식별자 리스트로서 사용될 수 있다.
SHVC 및 MV-HEVC에서, 동작 포인트 정의는 타겟 출력 레이어 세트의 고려를 포함할 수 있다. SHVC 및 HEVC에서, 동작 포인트는 입력으로서 다른 비트스트림, 타겟 최고 TemporalId, 및 타겟 레이어 식별자 리스트를 갖는 서브-비트스트림 추출 프로세스의 동작에 의해 다른 비트스트림으로부터 생성되고, 타겟 출력 레이어의 세트와 연계된 비트스트림으로서 정의된다.
출력 레이어 세트는 지정된 레이어 세트 중 하나의 레이어로 이루어진 레이어의 세트로서 정의될 수 있고, 여기서 레이어의 세트 내의 하나 이상의 레이어는 출력 레이어로 지시된다. 출력 레이어는 디코더 및/또는 HRD가 타겟 출력 레이어 세트로서 출력 레이어 세트를 사용하여 동작할 때 출력되는 출력 레이어 세트의 레이어로서 정의될 수 있다. MV-HEVC/SHVC에서, 변수 TargetOptLayerSetldx는 타겟 출력 레이어 세트인 출력 레이어 세트의 인덱스에 동일한 TargetOptLayerSetldx를 설정함으로써 어느 출력 레이어 세트가 타겟 출력 레이어 세트인지를 지정할 수 있다. TargetOptLayerSetldx는 예를 들어 HRD에 의해 설정될 수 있고 그리고/또는 외부 수단에 의해, 예를 들어 디코더에 의해 제공된 인터페이스를 통해 플레이어 등에 의해 설정될 수 있다. MV-HEVC/SHVC에서, 타겟 출력 레이어는 TargetOptLayerSetldx가 olsldx에 동일하도록 인덱스 olsIdx를 갖는 출력 레이어 세트의 출력 레이어 중 하나인 출력될 레이어로서 정의될 수 있다.
MV-HEVC/SHVC는 특정 메커니즘을 사용하여 또는 출력 레이어를 명시적으로 지시함으로써 VPS 내에 지정된 각각의 레이어 세트를 위한 "디폴트" 출력 레이어 세트의 유도를 가능하게 한다. 2개의 특정 메커니즘이 지정되어 있는데: 각각의 레이어가 출력 레이어라는 것 또는 단지 최상위 레이어가 "디폴트" 출력 레이어 세트 내에서 출력 레이어라는 것이 VPS 내에 지정될 수 있다. 보조 픽처 레이어는 레이어가 언급된 특정 메커니즘을 사용하는 출력 레이어인지 여부를 판정할 때 고려로부터 제외될 수 있다. 게다가, "디폴트" 출력 레이어 세트에 대해, VPS 확장은 출력 레이어인 것으로 지시된 선택된 레이어를 갖는 부가의 출력 레이어 세트를 지정하는 것이 가능하다.
MV-HEVC/SHVC에서, profile_tier_level( ) 신택스 구조는 각각의 출력 레이어 세트를 위해 연계된다. 더 정확하게는, profile_tier_level( ) 신택스 구조의 리스트는 VPS 확장 내에 제공되고, 리스트 내의 적용가능한 profile_tier_level( )에 대한 인덱스가 각각이 출력 레이어 세트에 대해 제공된다. 달리 말하면, 프로파일, 티어, 및 레벨 값의 조합은 각각의 출력 레이어 세트에 대해 지시된다.
출력 레이어의 일정한 세트는 최상위 레이어가 각각의 액세스 단위 내에서 불변 유지되는 사용 경우 및 비트스트림에 양호하게 적합하지만, 이들은 최상위 레이어가 하나의 액세스 단위로부터 다른 액세스 단위로 변화하는 사용 경우를 지원하지 않을 수 있다. 따라서, 인코더는 비트스트림 내의 대안 출력 레이어의 사용을 지정할 수 있고 대안 출력 레이어의 지정된 사용에 응답하여 디코더는 동일한 액세스 단위 내의 출력 레이어 내의 픽처의 결여시에 대안 출력 레이어로부터 디코딩된 픽처를 출력하는 것이 제안되어 있다. 어떻게 대안 출력 레이어를 지시하는지에 대한 다수의 가능성이 존재한다. 예를 들어, 출력 레이어 세트 내의 각각의 출력 레이어는 최소 대안 출력 레이어와 연계될 수 있고, 출력-레이어-단위 신택스 요소(들)는 각각의 출력 레이어를 위한 대안 출력 레이어(들)를 지정하기 위해 사용될 수 있다. 대안적으로, 대안적인 출력 레이어 세트 메커니즘은 단지 하나의 출력 레이어를 포함하는 출력 레이어 세트만을 위해 사용되도록 제약될 수 있고, 출력-레이어-단위 신택스 요소(들)는 출력 레이어 세트의 출력 레이어를 위한 대안 출력 레이어(들)를 지정하기 위해 사용될 수 있다. 대안적으로, 대안적인 출력 레이어 세트 메커니즘은 모든 지정된 출력 레이어 세트가 단지 하나의 출력 레이어만을 포함하는 비트스트림 또는 CVS를 위해서만 사용되도록 제약될 수 있고, 대안적인 출력 레이어(들)는 비트스트림- 또는 CVS-단위 신택스 요소(들)에 의해 지시될 수 있다. 대안적인 출력 레이어(들)는 예를 들어, VPS 내에 대안적인 출력 레이어를 리스팅하고(예를 들어, 이들의 레이어 식별자 또는 직접 또는 간접 참조 레이어의 리스트의 인덱스를 사용하여), 최소 대안적인 출력 레이어를 지시하고(예를 들어, 그 레이어 식별자 또는 직접 또는 간접 참조 레이어의 리스트 내의 그 인덱스를 사용하여), 또는 임의의 직접 또는 간접 참조 레이어가 대안적인 출력 레이어인 것을 플래그 지정함으로써 지정될 수 있다. 하나 초과의 대안적인 출력 레이어가 사용되는 것이 가능할 때, 지시된 최소 대안적인 출력 레이어로 내림차순 레이어 식별자 순서로 내려가는 액세스 단위 내에 존재하는 제 1 직접 또는 간접 인터 레이어 참조 픽처가 출력되는 것을 지정할 수 있다.
스케일러블 비디오 비트스트림을 위한 HRD는 단일 레이어 비트스트림을 위한 HRD에 유사하게 동작할 수 있다. 그러나, 특히 스케일러블 비트스트림의 멀티루프 디코딩에서 DPB 동작이 될 때, 몇몇 변화가 요구되거나 바람직할 수 있다. 스케일러블 비트스트림의 멀티루프 디코딩을 위한 DPB 동작을 다수의 방식으로 지정하는 것이 가능하다. 레이어 단위 접근법에서, 각각의 레이어는 개념적으로는 그 자신의 DPB를 가질 수 있는데, 이는 그렇지 않으면 독립적으로 동작할 수 있지만 몇몇 DPB 파라미터는 모든 레이어 단위 DPB에 대해 연합하여 제공될 수 있고 픽처 출력은 동기적으로 동작할 수 있어 동일한 출력 시간을 갖는 픽처가 동시에 출력되고, 또는 출력 순서 적합 점검에서, 동일한 액세스 단위로부터의 픽처가 서로의 옆에 출력되게 된다. 분해능 특정 접근법이라 칭하는 다른 접근법에서, 동일한 키 특성을 갖는 레이어는 동일한 서브-DPB를 공유한다. 키 특성은 이하의 것: 픽처 폭, 픽처 높이, 크로마 포맷, 비트 깊이, 컬러 포맷/색재현율 중 하나 이상을 포함할 수 있다.
서브-DPB 모델이라 칭할 수 있는 동일한 서브-DPB 모델에 의해 레이어 단위 및 분해능 특정 DPB 접근법의 모두를 지원하는 것이 가능할 수 있다. DPB는 다수의 서브-DPB로 파티셔닝되고, 각각의 서브-DPB는 그렇지 않으면 독립적으로 관리되지만, 몇몇 DPB 파라미터는 모든 서브-DPB에 대해 연합하여 제공될 수 있고 픽처 출력은 동기적으로 동작할 수 있어 동일한 출력 시간을 갖는 픽처가 동시에 출력되고, 또는 출력 순서 적합 점검에서, 동일한 액세스 단위로부터의 픽처가 서로의 옆에 출력되게 된다.
DPB는 서브-DPB로 논리적으로 파티셔닝되는 것으로 고려될 수 있고, 각각의 서브-DPB는 픽처 저장 버퍼를 포함한다. 각각의 서브-DPB는 분해능, 크로마 포맷 및 비트 깊이(소위 분해능-특정 모드에서)의 특정 조합의 레이어(레이어-특정 모드에서) 또는 모든 레이어와 연계될 수 있고, 레이어(들) 내의 모든 픽처는 연계된 서브-DPB에 저장될 수 있다. 서브-DPB의 동작은 서로 독립적일 수 있지만 - 디코딩된 픽처의 삽입, 마킹, 및 제거 뿐만 아니라 각각의 서브-DPB의 크기의 견지에서 -, 상이한 서브-DPB로부터의 디코딩된 픽처의 출력은 이들의 출력 시간 또는 픽처 순서 카운트값을 통해 링크될 수 있다. 분해능-특정 모드에서, 인코더는 서브-DPB당 및/또는 레이어당 픽처 버퍼의 수를 제공할 수 있고 또는 HRD는 이들의 버퍼링 동작에서 픽처 버퍼의 수의 어느 하나 또는 양 유형을 사용할 수 있다. 예를 들어, 출력 순서 적합 디코딩에서, 범핑 프로세스는 레이어 내의 저장된 픽처의 수가 픽처 버퍼의 지정된 레이어당 수에 부합하거나 초과할 때 그리고/또는 서브-DPB에 저장된 픽처의 수가 그 서브-DPB를 위한 픽처 버퍼의 지정된 수에 부합하거나 초과할 때 호출될 수 있다.
MV-HEVC 및 SHVC의 현재 드래프트에서, DPB 특징은 dpb_size( )라 또한 칭할 수 있는 DPB 크기 신택스 구조 내에 포함된다. DPB 크기 신택스 구조는 VPS 확장 내에 포함된다. DPB 크기 신택스 구조는 각각의 출력 레이어 세트(베이스 레이어만을 포함하는 0번째 출력 레이어 세트는 제외)에 대해, 이하의 정보의 단편이 각각의 서브 레이어(최대 서브 레이어까지)에 대해 존재할 수 있고, 하위의 서브 레이어에 적용되는 각각의 정보에 동일한 것으로 추론될 수 있다:
- max_vps_dec_pic_buffering_minus 1 [ i ][ k ][ j ] plus 1은 j에 동일한 최대 TemporalId(즉, HighestTid)에 대한 픽처 저장 버퍼의 단위 내의 i번째 출력 레이어 내의 CVS에 대해 k번째 서브-DPB의 최대 요구된 크기를 지정한다.
- max_vps_layer_dec_pic_buff_minus 1 [ i ][ k ][ j ] plus 1은 HighestTid가 j일 때 DPB 내에 저장될 필요가 있는 i번째 출력 레이어 세트 내의 CVS에 대해 k번째 레이어의 디코딩된 픽처의 최대 수를 지정한다.
- max_vps_num_reorder_pics[ i ][ j ]는, HighestTid가 j일 때, 디코딩 순서로 CVS 내의 i번째 출력 레이어 세트 내의 1에 동일한 PicOutputFlag를 갖는 픽처를 포함하는 임의의 액세스 단위 auA에 선행하고 출력 순서로 1에 동일한 PicOutputFlag를 갖는 픽처를 포함하는 액세스 단위 auA에 후속할 수 있는 1에 동일한 PicOutputFlag를 갖는 픽처를 포함하는 액세스 단위의 최대 허용된 수를 지정한다.
- 0에 동일한 max_vps_latency_increase_pics 1[ i ][ j ]는, HighestTid가 j일 때, 출력 순서로 CVS 내에서 1에 동일한 PicOutputFlag를 갖는 픽처를 포함하는 임의의 액세스 단위 auA에 선행하고 디코딩 순서로 1에 동일한 PicOutputFlag를 갖는 픽처를 포함하는 액세스 단위 auA에 후속할 수 있는 i번째 출력 레이어 세트 내에서 1에 동일한 PicOutputFlag를 갖는 픽처를 포함하는 액세스 단위의 최대 허용된 수를 지정하는 VpsMaxLatencyPictures[ i ][ j ]의 값을 컴퓨팅하는데 사용된다.
다수의 접근법이 MV-HEVC 및 SHVC와 같은 HEVC 확장을 위한 POC 값 유도를 위해 제안되어 있다. 이하, POC 리셋 접근법이라 칭하는 접근법이 설명된다. 이 POC 유도 접근법은 상이한 실시예가 실현될 수 있는 POC 유도의 예로서 설명된다. 설명된 실시예는 임의의 POC 유도로 실현될 수 있고 POC 리셋 접근법의 설명은 단지 비한정적인 예라는 것을 이해할 필요가 있다.
POC 리셋 접근법은, 현재 픽처의 POC가 현재 픽처를 위한 제공된 POC 시그널링으로부터 유도되고 디코딩 순서로 이전의 픽처의 POC가 특정값만큼 감소되도록 POC 값이 리셋되어야 한다는 슬라이스 헤더 내의 지시에 기초한다.
전체로 POC 리셋의 4개의 모드가 수행될 수 있다:
- 현재 액세스 단위 내의 POC MSB 리셋. 이는 향상 레이어가 IRAP 픽처를 포함할 때 사용될 수 있다. (이 모드는 1에 동일한 poc_reset_idc에 의해 신택스에서 지시된다.)
- 현재 액세스 단위 내의 풀 POC 리셋(MSB 및 LSB의 모두를 0으로). 이는 베이스 레이어가 IDR 픽처를 포함할 때 사용될 수 있다. (이 모드는 2에 동일한 poc_reset_idc에 의해 신택스에서 지시된다.)
- "지연된" POC MSB 리셋. 이는 POC MSB 리셋을 유발한 이전의 액세스 단위(디코딩 순서로) 내의 nuhLayerId에 동일한 nuh_layer_id의 픽처가 존재하지 않도록 nuhLayerId에 동일한 nuh_layer_id의 픽처에 대해 사용될 수 있다. (이 모드는 3에 동일한 poc_reset_idc 및 0에 동일한 full_poc_reset_flag에 의해 신택스 내에 지시된다.)
- "지연된" 풀 POC 리셋. 이는 풀 POC 리셋을 유발한 이전의 액세스 단위(디코딩 순서로) 내의 nuhLayerId에 동일한 nuh_layer_id의 픽처가 존재하지 않도록 nuhLayerId에 동일한 nuh_layer_id의 픽처에 대해 사용될 수 있다. (이 모드는 3에 동일한 poc_reset_idc 및 1에 동일한 full_poc_reset_flag에 의해 신택스 내에 지시된다.)
"지연된" POC 리셋 시그널링은 또한 에러 내성 목적으로 사용될 수 있다(POC 리셋 시그널링을 포함하는 동일한 레이어 내의 이전의 픽처의 손실에 대한 내성을 제공하기 위해).
POC 리셋 기간의 개념은 예를 들어, 슬라이스 세그먼트 헤더 확장에 존재할 수 있는 신택스 요소 poc_reset_period_id를 사용하여 지시될 수 있는 POC 리셋 기간 ID에 기초하여 지정될 수 있다. 적어도 하나의 IRAP 픽처를 포함하는 액세스 단위에 속하는 각각의 비-IRAP 픽처는 비-IRAP 픽처를 포함하는 레이어 내의 POC 리셋 기간의 시작일 수 있다. 그 액세스 단위에서, 각각의 픽처는 픽처를 포함하는 레이어 내의 POC 리셋 기간의 시작일 것이다. POC 리셋 및 DPB 내의 동일한 레이어 픽처의 POC 값의 업데이트는 각각의 POC 리셋 기간 내에 제 1 픽처를 위해서만 적용된다.
DPB 내의 모든 레이어의 이전의 픽처의 POC 값은 POC 리셋을 요구하고 새로운 POC 리셋 기간을 시작하는 각각의 액세스 단위의 시작시에 업데이트될 수 있다(액세스 단위를 위해 수신된 제 1 픽처의 디코딩 전에 그러나 그 픽처의 제 1 슬라이스의 슬라이스 헤더 정보의 파싱 및 디코딩 후에). 대안적으로, DPB 내의 현재 픽처의 레이어의 이전의 픽처의 POC 값은 POC 리셋 기간 동안 레이어 내의 제 1 픽처인 픽처의 디코딩의 시작시에 업데이트될 수 있다. 대안적으로, DPB 내의 현재 픽처의 레이어 트리의 이전의 픽처의 POC 값은 POC 리셋 기간 동안 레이어 트리 내의 제 1 픽처인 픽처의 디코딩의 시작시에 업데이트될 수 있다. 대안적으로, DPB 내의 현재 레이어 및 그 직접 및 간접 참조 레이어의 이전의 픽처의 POC 값은 POC 리셋 기간 동안 레이어 내의 제 1 픽처인 픽처의 디코딩의 시작시에 업데이트될 수 있다(미리 업데이트되지 않으면).
DPB 내의 동일한 레이어 픽처의 POC 값을 업데이트하기 위해 사용되는 델타 POC 값의 유도를 위해, 뿐만 아니라 현재 픽처의 POC 값의 POC MSB의 유도를 위해, POC LSB 값(poc_lsb_val 신택스 요소)은 슬라이스 세그먼트 헤더 내에서 조건적으로 시그널링된다("지연된" POC 리셋 모드를 위해 뿐만 아니라 베이스 레이어 IDR 픽처와 같은 풀 POC 리셋을 갖는 베이스 레이어 픽처를 위해). "지연된" POC 리셋 모드가 사용될 때, poc_lsb_val은 POC가 리셋되었던 액세스 단위의 값 POC LSB(slice_pic_order_cnt_lsb)에 동일하게 설정될 수 있다. 풀 POC 리셋이 베이스 레이어 내에 사용될 때, poc_lsb_val은 prevTidOPic의 POC LSB에 동일하게 설정될 수 있다(상기에 지정된 바와 같이).
제 1 픽처에 대해, 디코딩 순서로, 특정 nuh_layer_id 값을 갖고 그리고 POC 리셋 기간 내에서, 값 DeltaPocVal은 DPB 내에 현재 있는 픽처로부터 감산되어 유도된다. 기본 사상은, POC MSB 리셋에 대해, DeltaPocVal이 리셋을 트리거링하는 픽처의 POC 값의 MSB 부분에 동일하고 풀 POC 리셋에 대해 DeltaPocVal이 POC 리셋을 트리거링하는 픽처의 POC에 동일하다는 것이다(지연된 POC는 다소 상이하게 취급되기는 함). DPB 내의 모든 레이어 또는 현재 레이어 또는 현재 레이어 트리의 모든 디코딩된 픽처의 PicOrderCntVal 값은 DeltaPocVal의 값에 의해 감소된다. 따라서, 기본 사상은, POC MSB 리셋 후에, DPB 내의 픽처가 최대 MaxPicOrderCntLsb(제외)의 POC 값을 가질 수 있고, 풀 POC 리셋 후에, DPB 내의 픽처가 최대 0(제외)의 POC 값을 가질 수 있고, 반면에 재차 지연된 POC 리셋이 비트를 상이하게 핸들링한다는 것이다.
스케일러블 비디오 코딩을 위한 액세스 단위는 이들에 한정되는 것은 아니지만, 전술된 바와 같이 HEVC를 위한 액세스 단위의 정의를 포함하는 다양한 방식으로 정의될 수 있다. 예를 들어, HEVC의 액세스 단위 정의는 액세스 단위가 동일한 출력 시간과 연계되고 동일한 레이어 트리에 속하는 코딩된 픽처를 포함하도록 요구되도록 완화될 수도 있다. 비트스트림이 다수의 레이어 트리를 가질 때, 액세스 단위는 동일한 출력 시간과 연계되고 상이한 레이어 트리에 속하는 코딩된 픽처를 포함할 수 있지만 이와 같이 요구되지는 않는다.
다수의 비디오 인코더는 레이트 왜곡 최적 코딩 모드, 예를 들어 원하는 매크로블록 모드 및 연계된 모션 벡터를 발견하기 위해 라그랑지 비용 함수를 이용한다. 이 유형의 비용 함수는 손실 코딩 방법에 기인하여 정확한 또는 추정된 이미지 왜곡 및 이미지 영역 내의 픽셀/샘플값을 표현하도록 요구된 정보의 정확한 또는 추정된 양을 함께 타이하도록 가중 팩터 또는 λ를 사용한다. 라그랑지 비용 함수는 이하의 식에 의해 표현될 수 있다:
C=D+λR
여기서, C는 최소화될 라그랑지 비용이고, D는 모드 및 모션 벡터가 현재 고려되는 상태에서 이미지 왜곡이고(예를 들어, 원래 이미지 블록 내의 그리고 코딩된 이미지 블록 내의 픽셀/샘플값 사이의 평균 제곱 에러), λ는 라그랑지 계수이고, R은 디코더 내에 이미지 블록을 재구성하기 위해 요구된 데이터를 표현하도록 요구된 비트의 수이다(후보 모션 벡터를 표현하기 위한 데이터의 양을 포함함).
코딩 표준은 서브-비트스트림 추출 프로세스를 포함할 수 있고, 이러한 것은 예를 들어, SVC, MVC, 및 HEVC 내에 지정된다. 서브-비트스트림 추출 프로세스는 NAL 단위를 제거함으로써 비트스트림을 서브-비트스트림으로 변환하는 것에 관련된다. 서브-비트스트림은 여전히 표준에 적합하여 유지된다. 예를 들어, 드래프트 HEVC 표준에서, 선택된 값을 초과하는 temporal_id를 갖는 모든 VCL NAL 단위를 제외하고 모든 다른 VCL NAL 단위를 포함함으로써 생성된 비트스트림은 적합 상태로 유지된다. 드래프트 HEVC 표준의 다른 버전에서, 서브-비트스트림 추출 프로세스는 입력으로서 TemporalId 및/또는 LayerId의 리스트를 취하고, LayerId 값의 입력 리스트 내의 값들 사이에 있지 않는 입력 TemporalId 값 또는 layer_id 값보다 큰 TemporalId를 갖는 모든 NAL 단위를 비트스트림으로부터 제거함으로써 서브-비트스트림(비트스트림 서브세트로서 또한 알려져 있음)을 유도한다.
드래프트 HEVC 표준에서, 디코더가 사용하는 동작 포인트는 이하와 같이 변수 TargetDecLayerIdSet 및 HighestTid를 통해 설정될 수 있다. 디코딩될 VCL NAL 단위의 layer_id를 위한 값의 세트를 지정하는 리스트 TargetDecLayerIdSet가 디코더 제어 논리와 같은 외부 수단에 의해 지정될 수 있다. 외부 수단에 의해 지정되지 않으면, 리스트 TargetDecLayerIdSet는 베이스 레이어를 지시하는 layer_id를 위한 하나의 값을 포함한다(즉, 드래프트 HEVC 표준에서 0임). 최상위 시간 서브 레이어를 지정하는 변수 HighestTid가 외부 수단에 의해 지정될 수 있다. 외부 수단에 의해 지정되지 않으면, HighestTid는 드래프트 HEVC 표준에서 sps_max_sub_layers_minus1과 같은 코딩된 비디오 시퀀스 또는 비트스트림 내에 존재될 수 있는 최고 Temporalid 값으로 설정된다. 서브-비트스트림 추출 프로세스는 BitstreamToDecode라 칭하는 비트스트림에 할당된 입력 및 출력으로서 TargetDecLayerIdSet 및 HighestTid를 갖고 적용될 수 있다. 디코딩 프로세스는 BitstreamToDecode 내의 각각의 코딩된 픽처를 위해 동작할 수 있다.
전술된 바와 같이, HEVC는 필드 또는 프레임으로서(상보적 필드쌍을 표현함) 인터레이싱된 소스 콘텐트의 코딩을 가능하게 하고, 또한 소스 콘텐트 및 그 의도된 제시의 유형에 관련된 복잡한 시그널링을 포함한다. 본 발명의 다수의 실시예는 코딩된 필드와 프레임 사이에서 스위칭할 때 인트라 코딩의 필요성을 회피할 수 있는 코딩/디코딩 알고리즘을 이용하여 픽처-적응성 프레임-필드 코딩을 실현한다.
예시적인 실시예에서, 상보적 필드쌍을 표현하는 코딩된 프레임은 한 쌍의 코딩된 필드와는 상이한 스케일러빌러티 레이어 내에 상주하고, 한 쌍의 코딩된 필드의 하나 또는 양 필드는 코딩된 프레임을 예측하기 위한 참조로서 사용될 수 있고 또는 그 반대도 마찬가지이다. 따라서, 픽처-적응성 프레임-필드 코딩은 현재 픽처 및/또는 참조 픽처의 유형(코딩된 프레임 또는 코딩된 필드)에 따라 그리고/또는 소스 신호 유형(인터레이싱 또는 프로그레시브)에 따라 저레벨 코딩 툴 없이 가능해질 수 있다.
인코더는 예를 들어 전술된 바와 같이 레이트 왜곡 최적화에 기초하여 코딩된 프레임으로서 또는 2개의 코딩된 필드로서 상보적 필드쌍을 인코딩하도록 결정할 수 있다. 예를 들어, 코딩된 프레임이 2개의 코딩된 필드의 비용보다 라그랑지 비용 함수의 더 적은 비용을 산출하면, 인코더는 코딩된 프레임으로서 상보적 필드쌍을 인코딩하도록 선택할 수 있다.
도 9는 코딩된 필드(102, 104)가 베이스 레이어(BL)에 상주하고 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 포함하는 코딩된 프레임(106)이 향상 레이어(EL)에 상주하는 예를 도시하고 있다. 도 9에서 뿐만 아니라 몇몇 후속 도면에서, 높은 직사각형은 프레임(예를 들어, 106)을 표현할 수 있고, 작은 채워지지 않은 직사각형(예를 들어, 102)은 특정 필드 패리티의 필드(예를 들어, 홀수 필드)를 표현할 수 있고, 작은 대각선 빗금친 직사각형(예를 들어, 104)은 반대 필드 패리티의 필드(예를 들어, 짝수 필드)를 표현할 수 있다. 임의의 예측 계층의 인터 예측이 레이어 내에 사용될 수 있다. 인코더가 필드 코딩으로부터 프레임 코딩으로 스위칭하도록 결정할 때, 이는 본 예에서 스킵 픽처(108)를 코딩할 수 있다. 스킵 픽처(108)는 흑색 직사각형으로서 도시되어 있다. 스킵 픽처(108)는 동일한 레이어 내에, (디)코딩 순서로, 이후의 픽처의 인터 예측을 위한 참조로서 임의의 다른 픽처에 유사하게 사용될 수 있다. 스킵 픽처(108)는 디코더에 의해 출력되거나 표시되지 않도록 지시될 수 있다(예를 들어, 0에 동일하게 HEVC의 pic_output_flag를 설정함으로써). 어떠한 베이스 레이어 픽처도 동일한 액세스 단위 내로 또는 향상 레이어 픽처에 의해 표현된 바와 같은 동일한 시간 순간에 코딩될 필요가 없다. 인코더가 프레임 코딩으로부터 필드 코딩으로 스위칭백하도록 결정할 때, 이는 (필수적인 것은 아니지만) 도 9에 화살표(114, 116)에 의해 예시된 바와 같이, 예측을 위한 참조(들)로서 이전의 베이스 레이어 픽처를 사용할 수 있다. 직사각형(100)은 예를 들어 입력으로서 인코더를 위해 제공된 신호를 예시할 수 있는 인터레이싱된 소스 신호를 예시하고 있다.
도 10은 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 포함하는 코딩된 프레임이 베이스 레이어(BL)에 상주하고 코딩된 필드가 향상 레이어(EL)에 상주하는 예를 도시하고 있다. 그렇지 않으면, 코딩은 도 9의 것과 유사하다. 도 10의 도시에서, 프레임 코딩으로부터 필드 코딩으로의 스위칭이 베이스 레이어 상의 최좌측 프레임에서 발생하는데, 여기서 스킵 필드(109)는 더 상위의 레이어, 본 예에서 향상 레이어(EL) 상에 제공될 수 있다. 이후의 스테이지에서, 스위칭은 프레임 코딩으로 재차 발생할 수 있는데, 여기서 베이스 레이어 상의 하나 이상의 이전의 프레임이 베이스 레이어의 다음의 프레임을 예측하는데 사용될 수 있지만, 이는 필수적인 것은 아니다. 또한 프레임 코딩으로부터 필드 코딩으로의 다른 스위칭이 도 10에 도시되어 있다.
도 11 및 도 12는 도 9 및 도 10의 각각의 것들과 유사하지만, 대각 인터 레이어 예측이 스킵 픽처 대신에 사용되는 예를 제시한다. 도 11의 예에서, 필드 코딩으로부터 프레임 코딩으로의 스위칭이 발생할 때, 향상 레이어(EL) 상의 제 1 프레임은 베이스 레이어 스트림의 최종 프레임으로부터 대각 예측된다. 프레임 코딩으로부터 필드 코딩으로 스위칭백할 때, 다음의 필드(들)는 필드 코딩으로부터 프레임 코딩으로의 이전의 스위칭 전에 인코딩/디코딩되었던 최종 필드(들)로부터 예측될 수 있다. 이는 도 11에 화살표(114, 116)로 도시되어 있다. 도 12의 예에서, 프레임 코딩으로부터 필드 코딩으로의 스위칭이 발생할 때, 향상 레이어(EL) 상의 첫번째 2개의 필드는 베이스 레이어 스트림의 최종 프레임으로부터 대각 예측된다. 필드 코딩으로부터 프레임 코딩으로 스위칭백할 때, 다음의 프레임은 프레임 코딩으로부터 필드 코딩으로 이전의 스위칭 전에 인코딩/디코딩되었던 최종 프레임으로부터 예측될 수 있다. 이는 도 12에 화살표 118로 도시되어 있다.
이하에는, 코딩된 필드 및 코딩된 프레임을 레이어 내로 로케이팅하기 위한 몇몇 비한정적인 예가 간단히 설명된다. 예시적인 실시예에서, 도 13에 도시된 바와 같이 프레임- 및 필드-코딩된 레이어의 일종의 "스테어케이스"가 제공된다. 본 예에 따르면, 코딩된 프레임으로부터 코딩된 필드로의 또는 그 반대로의 스위치가 행해질 때, 다음의 최상위 레이어가 코딩된 프레임(들)으로부터 코딩된 필드(들)로 또는 그 반대로 인터 레이어 예측의 사용을 가능하게 하도록 사용된다. 도 13에 도시된 예시적인 상황에서, 스킵 픽처(108, 109)는, 코딩된 프레임으로부터 코딩된 필드로의 또는 그 반대로의 스위치가 행해지지만, 코딩 배열이 대각 인터 레이어 예측으로 유사하게 실현될 수 있을 때, 스위치-투(switch-to) 레이어에서 코딩된다. 도 13에서, 베이스 레이어는 인터레이싱된 소스 신호의 코딩된 필드(100)를 포함한다. 코딩된 필드로부터 코딩된 프레임까지의 스위칭이 발생하도록 의도되는 로케이션에서, 스킵 프레임(108)이 상위 레이어 상에, 본 예에서 제 1 향상 레이어(EL1) 상에, 이어서 프레임 코딩된 필드 쌍(106)에 제공된다. 스킵 프레임(108)은 하위 레이어로부터 인터 레이어 예측(예를 들어, 레이어로부터의 스위칭)을 사용하여 형성될 수 있다. 코딩된 프레임으로부터 코딩된 필드까지의 스위칭이 발생하도록 의도되는 로케이션에서, 다른 스킵 프레임(109)이 다른 상위 레이어 상에, 본 예에서 제2 향상 레이어(EL2) 상에, 이어서 코딩된 필드(112)에 제공된다. 코딩된 프레임과 코딩된 필드 사이의 스위칭은 최대 레이어가 도달될 때까지 인터 레이어 예측으로 실현될 수 있다. IDR 또는 BLA 픽처(등)가 코딩될 때, 그 픽처는 IDR 또는 BLA 픽처가 코딩된 프레임 또는 코딩된 프레임 각각으로서 코딩된 것으로 결정되는지 여부에 따라 코딩된 프레임 또는 코딩된 필드를 포함하는 최하위 레이어(BL 또는 EL1)에서 코딩될 수 있다. 도 13은 베이스 레이어가 코딩된 필드를 포함하는 배열을 도시하고 있지만, 베이스 레이어가 코딩된 프레임을 포함하고, 제 1 향상 레이어(EL1)가 코딩된 필드를 포함하고, 제2 향상 레이어(EL2)가 코딩된 프레임을 포함하고, 제3 향상 레이어(EL3)가 코딩된 프레임을 포함하는 등의 유사한 배열이 실현될 수 있다는 것이 이해되어야 한다.
인코더는 도 13에 도시된 바와 같이 프레임- 및 필드-코딩된 레이어의 "스테어케이스"를 사용하여 인코딩된 비트스트림을 위한 적응성 분해능 변화의 사용을 지시할 수 있다. 예를 들어, 인코더는 MV-HEVC, SHVC 등으로 코딩된 비트스트림의 VPS VUI 내에서 1에 동일하게 single_layer_for_non_irap_flag를 설정할 수 있다. 인코더는 도 13에 도시된 바와 같이 프레임- 및 필드-코딩된 레이어의 "스테어케이스"를 사용하여 인코딩된 비트스트림을 위한 스킵 픽처의 사용을 지시할 수 있다. 예를 들어, 인코더는 MV-HEVC, SHVC 등으로 코딩된 비트스트림의 VPS VUI 내에서 1에 동일하게 higher_layer_irap_skip_flag를 설정할 수 있다.
분해능 특정 서브-DPB 동작이 사용중이면, 전술된 바와 같이, 픽처 폭, 픽처 높이, 크로마 포맷, 비트 깊이, 및/또는 컬러 포맷/색재현율과 같은 동일한 키 특성을 공유하는 레이어는 동일한 서브-DPB를 공유한다. 예를 들어, 도 13을 참조하면, BL 및 EL2는 동일한 서브-DPB를 공유할 수 있다. 일반적으로, 프레임- 및 필드-코딩된 레이어의 "스테이케이스"가 인코딩 및/또는 디코딩되는 예시적인 실시예에서, 이전의 단락에 설명된 바와 같이, 다수의 레이어가 동일한 서브-DPB를 공유할 수 있다. 전술된 바와 같이, 참조 픽처 세트는 HEVC 및 그 확장에서 픽처를 디코딩하기 시작할 때 디코딩된다. 따라서, 픽처의 디코딩이 완료될 때, 그 픽처 및 모든 그 참조 픽처는 "참조를 위해 사용됨"으로서 마킹되도록 유지되고, 따라서 DPB 내에 존재하도록 유지된다. 이들 참조 픽처는 동일한 레이어 내의 다음의 픽처가 디코딩될 때 가장 빠르게 "참조를 위해 미사용됨"으로서 마킹될 수 있고, 현재 픽처는 동일한 레이어 내의 다음의 픽처가 디코딩될 때(현재 픽처가 디코딩되고 있는 최고 TemporalId에서 서브 레이어 비-참조 픽처가 아니면) 또는 인터 레이어 예측을 위한 참조로서 현재 픽처를 사용할 수 있는 모든 픽처가 디코딩될 때(현재 픽처가 디코딩되고 있는 최고 TemporalId에서 서브 레이어 비-참조 픽처이면) "참조를 위해 미사용됨"으로서 마킹될 수 있다. 따라서, 다수의 픽처는, 이들이 디코딩 순서로 임의의 후속 픽처를 위한 참조로서 사용되도록 진행중이지 않더라도, "참조를 위해 사용됨"으로서 마킹되어 유지될 수 있고, DPB 내의 픽처 저장 버퍼를 점유하도록 유지될 수 있다.
다른 실시예와 독립적으로 또는 함께 적용될 수 있는 실시예에서, 특히 도 13을 참조하여 설명된 실시예에서, 인코더 또는 다른 엔티티는 그 레이어의 다음 픽처의 디코딩이 시작될 때보다 일찍 특정 레이어 상의 픽처의 "참조를 위해 미사용됨"으로서 참조 픽처 마킹을 유발하는 비트스트림 내로의 명령 등을 포함할 수 있다. 이러한 명령의 예는 이하를 포함하지만, 이에 한정되는 것은 아니다:
- 비트스트림 내에 레이어 내의 픽처의 디코딩 후에 적용될 참조 픽처 세트(RPS)를 포함한다. 이러한 RPS는 포스트 디코딩 RPS라 칭할 수 있다. 포스트 디코딩 RPS는 디코딩 순서로 다음의 픽처를 디코딩하기 전에, 예를 들어 픽처의 디코딩이 완료되어 있을 때 적용될 수 있다. 현재 레이어에서 픽처가 인터 레이어 예측을 위한 참조로서 사용될 수 있으면, 픽처의 디코딩이 완료될 때 디코딩되는 포스트 디코딩 RPS는, 인터 레이어 예측을 위한 참조로서 여전히 사용될 수 있기 때문에, "참조를 위해 미사용됨"으로서 현재 픽처를 마킹하지 않을 수 있다. 대안적으로, 포스트 디코딩 RPS는 예를 들어 액세스 단위의 디코딩이 완료된 후에 적용될 수 있다(이는 인터 레이어 예측을 위한 참조로서 여전히 사용되는 어떠한 픽처도 "참조를 위해 미사용됨"으로서 마킹되지 않는 것을 보장함). 포스트 디코딩 RPS는 예를 들어, 특정 NAL 단위 내에, 서픽스 NAL 단위 또는 프리픽스 NAL 단위 내에, 그리고/또는 슬라이스 헤더 확장 내에 포함될 수 있다. 포스트 디코딩 RPS는 동일한 픽처와 동일하거나 동일한 픽처가 동일한 레이어 내의 다음의 픽처의 RPS로서 DPB 내에 유지되게 한다. 예를 들어, 코딩 표준에서, 포스트 디코딩 RPS는 "참조를 위해 미사용됨"으로서 현재 픽처의 것보다 작은 TemporalId를 갖는 픽처의 마킹을 유발하지 않는 것이 요구될 수 있다.
- 비트스트림 내에, 지연된 포스트 디코딩 RPS라 칭할 수 있는 참조 픽처 세트(RPS) 신택스 구조를 포함한다. 지연된 포스트 디코딩 RPS는 예를 들어 디코딩 순서로 로케이션(현재 픽처에 비교하여 디코딩 순서로 후속함) 또는 디코딩 순서로 후속하는 픽처(현재 픽처에 비교하여)를 식별하는 지시와 연계될 수 있다. 지시는 예를 들어 POC 차이값(등)일 수 있는데, 이는 현재 픽처의 POC에 추가될 때 제2 POC 값을 식별하여, 제2 POC 값과 같거나 큰 POC를 갖는 픽처가 디코딩되면, 지연된 포스트 디코딩 RPS가 디코딩될 수 있게 된다(픽처를 디코딩하기 전 또는 후에, 예를 들어 코딩 표준 내에 사전규정되거나 비트스트림 내에 지시된 바와 같이). 다른 예에서, 지시는 예를 들어 frame_num 차이값(등)일 수 있는데, 이는 현재 픽처의 frame_num(등)에 추가될 때 제2 frame_num(등) 값을 식별하여, 제2 frame_num(등) 값과 같거나 큰 frame_num(등)을 갖는 픽처가 디코딩되면, 지연된 포스트 디코딩 RPS가 디코딩될 수 있게 된다(픽처를 디코딩하기 전 또는 후에, 예를 들어 코딩 표준 내에 사전규정되거나 비트스트림 내에 지시된 바와 같이).
- 예를 들어 현재 픽처를 포함하는 액세스 단위가 완전히 디코딩될 때 현재 픽처의 디코딩 후에 "참조를 위해 미사용됨"으로서의 레이어 내의 모든 픽처(플래그가 1로 설정되는 현재 픽처를 포함함)의 마킹을 유발하는 HEVC 슬라이스 세그먼트 헤더의 slice_reserved[ i ] 신택스 요소의 비트 위치를 사용하여, 예를 들어 슬라이스 세그먼트 헤더 내에 플래그를 포함한다. 플래그는 예를 들어 코딩 표준 내에 사전규정된 바와 같이 또는 비트스트림 내에 개별적으로 지시되는 바와 같이 그 시맨틱스 내에 현재 픽처를 포함하거나 제외할 수 있다(즉, 픽처는 플래그가 존재할 때 슬라이스를 포함함).
- 전술된 플래그는 TemporalId에 특정할 수 있는데, 즉 현재 픽처의 것과 동일한 및 더 높은 TemporalId 값의 픽처가 "참조를 위해 미사용됨"으로서 마킹되게 하고(플래그의 시맨틱스는 그렇지 않으면 상기와 동일함) 또는 현재 픽처의 것보다 더 높은 TemporalId 값의 픽처는 "참조를 위해 미사용됨"으로서 마킹되게 한다(플래그의 시맨틱스는 그렇지 않으면 상기와 동일함).
- 디코딩된 참조 픽처 마킹을 유발하는 MMCO 명령 등.
디코더 및/또는 HRD 및/또는 미디어 인식 네트워크 요소와 같은 다른 엔티티는 비트스트림으로부터 전술된 명령 등 중 하나 이상을 디코딩하고 따라서 "참조를 위해 미사용됨"으로서 참조 픽처를 마킹할 수 있다. "참조를 위해 미사용됨"으로서 픽처의 마킹은 전술된 바와 같이, DPB 내의 픽처 저장 버퍼의 비워짐 또는 할당에 영향을 미칠 수 있다.
인코더는 코딩된 필드로부터 코딩된 프레임으로 또는 그 반대로의 스위치가 행해질 때, 비트스트림 내로 전술된 명령 등의 하나 이상을 인코딩할 수 있다. 전술된 명령 등의 하나 이상은, 다른 층(즉, 예측된 레이어, 예를 들어 픽처(108)에서 레이어를 스위칭할 때 도면의 향상 레이어(EL1))에서 코딩 픽처로 스위칭 전에, 디코딩 순서로 스위치-프롬(switch-from) 레이어(즉, 참조 레이어, 예를 들어 픽처(108)에서 레이어를 스위칭할 때 도 13의 베이스 레이어)의 최종 픽처 내에 포함될 수 있다. 전술된 명령 등의 하나 이상은 스위치-프롬 레이어의 픽처가 "참조를 위해 미사용됨"으로서 마킹되게 하고 따라서 또한 DPB 픽처 저장 버퍼의 비워짐을 유발할 수 있다.
MV-HEVC 및 SHVC의 현재 드래프트에서, 그 TemporalId가 디코딩되고 있는 최고 TemporalId(즉, 사용중인 동작 포인트의 최고 TemporalId)에 동일할 때 그리고 인터 레이어 예측을 위한 참조로서 서브 레이어 비-참조 픽처를 사용할 수 있는 모든 픽처가 디코딩될 때 서브 레이어 비-참조 픽처가 "참조를 위해 미사용됨"으로 마킹되는, 때때로 조기 마킹이라 칭하는 특징이 존재한다. 따라서, 픽처 저장 버퍼는 조기 마킹이 적용될 때보다 일찍 비워질 수 있는데, 이는 특히 분해능 특정 서브-DPB 동작에서 최대 요구된 DPB 점유를 감소시킬 수 있다. 그러나, 어느 것이 비트스트림 내에 그리고/또는 조기 마킹이 적용될 특정 액세스 단위 내에 존재하는 최고 nuh_layer_id 값인 것이 알려지지 않을 수도 있는 문제점이 존재한다. 따라서, 제 1 픽처는, 액세스 단위가 인터 레이어 예측을 위한 참조로서 제 1 픽처를 사용할 수 있는 후속 픽처(디코딩 순서로)를 포함할 것으로 예측되거나 또는 가능하면(예를 들어, VPS와 같은 시퀀스 레벨 정보에 기초하여), "참조를 위해 사용됨"으로서 마킹되어 유지될 수 있다.
다른 실시예와 독립적으로 또는 함께 적용될 수 있는 실시예에서, 이전의 단락에서 설명된 바와 같은 조기 마킹은, 그 TemporalId가 디코딩되고 있는 최고 TemporalId(즉, 사용중인 동작 포인트의 최고 TemporalId)에 동일할 때 액세스 단위의 각각의 서브 레이어 비-참조 픽처가 "참조를 위해 미사용됨"으로 마킹되는 방식으로, 액세스 내의 픽처의 디코딩 후에(예를 들어, 각각의 픽처의 디코딩 후에), 뿐만 아니라 액세스 단위의 모든 픽처가 디코딩된 후에 수행된다. 따라서, 액세스 단위가 모든 예측된 레이어 내에 픽처를 포함하지 않을지라도, "참조를 위해 미사용됨"으로서의 마킹은 참조 레이어에서 픽처를 위해 수행된다.
그러나, 다음의 액세스 단위의 하나 이상의 NAL 단위를 수신하기 전에 어느 것이 액세스 단위의 최종 NAL 단위 또는 최종 코덱 픽처인 것이 알려지지 않을 수도 있는 문제점이 존재한다. 다음의 액세스 단위는 현재의 액세스 단위의 디코딩이 종료된 직후에 수신되지 않을 수 있기 때문에, 따라서 이전의 단락에서 설명된 바와 같이, 액세스 단위의 디코딩의 종료시에 수행된 조기 마킹과 같이, 액세스 단위의 모든 코딩된 픽처가 디코딩된 후에 수행되는 프로세스를 수행하는 것이 가능하기 전에 액세스 단위의 최종 코딩된 픽처 또는 NAL 단위를 결론짓기 위한 지연이 존재할 수 있다.
다른 실시예와 독립적으로 또는 함께 적용될 수 있는 실시예에서, 인코더는 디코딩 순서로 액세스 단위를 위한 데이터의 최종 단편을 마킹하는 엔드-오브-NAL-단위(EoNALU) NAL 단위와 같은 비트스트림으로부터의 지시를 인코딩한다. 다른 실시예와 독립적으로 또는 함께 적용될 수 있는 실시예에서, 디코더는 디코딩 순서로 액세스 단위를 위한 데이터의 최종 단편을 마킹하는 엔드-오브-NAL-단위(EoNALU) NAL 단위와 같은 비트스트림으로부터의 지시를 디코딩한다. 지시를 디코딩하는 것의 응답으로서, 디코더는 디코딩 순서로, 액세스 단위의 모든 코딩된 픽처가 디코딩된 후에 그러나 다음의 액세스 단위를 디코딩하기 전에 수행된 이러한 프로세스를 수행한다. 예를 들어, 지시를 디코딩하는 것에 응답으로서, 디코더는 이전의 단락에 설명된 바와 같이, 액세스 단위의 디코딩의 종료시에 수행된 조기 마킹, 및/또는 전술된 바와 같이 액세스 단위의 픽처를 위한 PicOutputFlag의 결정을 수행한다. EoNALU NAL 단위는 예를 들어, 액세스 유닛 내에 존재하는 엔드-오브-시퀀스 NAL 단위 또는 엔드-오브-비트스트림 NAL 단위가 존재할 때 결여되도록 허용될 수 있다.
다른 예시적인 실시예에서, 코딩된 필드 및 코딩된 프레임을 레이어 내로 로케이팅하는 것은 2방향 인터 레이어 예측으로 레이어의 결합된 쌍으로서 실현될 수 있다. 이 접근법의 예가 도 14에 도시되어 있다. 이 배열에서, 레이어의 쌍은 이들이 통상의 계층 또는 일방향 인터 레이어 예측 관계를 형성하지 않고, 오히려 2방향 인터 레이어 예측이 수행될 수 있는 레이어의 쌍 또는 그룹을 형성할 수 있도록 결합된다. 레이어의 결합된 쌍은 특정하게 지시될 수 있고, 서브 비트스트림 추출은 비트스트림으로부터 추출되거나 비트스트림 내에 유지될 수 있는 단일 단위로서 레이어의 결합된 쌍을 취급할 수 있지만, 레이어의 결합된 쌍 내의 어느 레이어도 비트스트림으로부터 개별적으로 추출될 수 없다(또한 추출되는 다른 레이어가 없이). 레이어의 결합된 쌍 내의 어느 레이어도 베이스 레이어 디코딩 프로세스에 적합하지 않을 수 있기 때문에(인터 레이어 예측이 사용되는 것에 기인하여), 양 레이어는 향상 레이어일 수 있다. 레이어 종속성 시그널링(예를 들어, VPS 내의)은 예를 들어, 레이어 종속성을 지시할 때(레이어의 결합된 쌍의 레이어들 사이의 인터 레이어 예측이 가능한 것으로 추론되는 동안) 단일 단위로서 레이어의 결합된 쌍을 특정하게 취급하도록 수정될 수 있다. 도 14에서, 참조 레이어의 어느 참조 픽처가 현재 레이어 내의 픽처를 예측하기 위한 참조로서 사용될 수 있는지를 지정하는 것이 가능한 대각 인터 레이어 예측이 사용되고 있다. 코딩 배열은 픽처의 (디)코딩이 하나의 액세스 단위로부터 다른 액세스 단위 내에서 변할 수 있고 레이어 N이 레이어 M을 위한 참조 레이어인지 또는 그 반대인지 여부를 판정하는데 사용될 수 있으면, 통상의 (정렬된) 인터 레이어 예측으로 유사하게 실현될 수 있다.
또 다른 예시적인 실시예에서, 레이어 내로 코딩된 필드 및 코딩된 프레임을 로케이팅하는 것은 외부 베이스 레이어를 갖는 향상 레이어 비트스트림의 결합된 쌍으로서 실현될 수 있다. 외부 베이스 레이어를 갖는 향상 레이어 비트스트림의 결합된 쌍이라 칭하는 이러한 코딩 배열의 예가 도 15에 제시되어 있다. 이 배열에서, 2개의 비트스트림이 코딩되는데, 하나는 인터레이싱된 소스 콘텐트의 상보적 필드쌍을 표현하고, 다른 하나는 코딩된 필드를 포함한다. 양 비트스트림은 하이브리드 코덱 스케일러빌러티의 향상 레이어 비트스트림으로서 코딩된다. 달리 말하면, 양 비트스트림에서, 단지 향상 레이어만이 코딩되고 베이스 레이어는 외부에 있는 것으로 지시된다. 비트스트림은 향상 레이어 디코딩 프로세스를 위한 비트스트림 포맷에 적합하지 않을 수도 있는 멀티플렉싱된 비트스트림으로 멀티플렉싱될 수 있다. 대안적으로, 비트스트림은 콘테이너 파일 내의 개별 트랙에서와 같이 개별 논리 채널을 사용하여 또는 MPEG-2 전송 스트림 내의 분리된 PID를 사용하여 저장되고 그리고/또는 전송될 수 있다. 멀티플렉싱된 비트스트림 포맷 및/또는 다른 시그널링(예를 들어, 파일 포맷 메타데이터 또는 통신 프로토콜 내에서)은 비트스트림 1의 어느 픽처가 비트스트림 2 내의 픽처를 예측하기 위한 참조로서 사용되는지를 지정할 수 있고, 그리고/또는 그 반대도 마찬가지이고, 그리고/또는 이러한 인터 비트스트림 또는 인터 레이어 예측 관계를 갖는 비트스트림 1 및 2 내의 픽처의 쌍 또는 그룹을 식별할 수 있다. 코딩된 필드가 코딩된 프레임을 예측하기 위해 사용될 때, 이는 비트스트림 1의 디코딩 프로세스 내에서 또는 비트스트림 1의 디코딩 프로세스와 관련되지만 이를 포함하지 않는 인터 비트스트림 프로세스로서 업샘플링될 수 있다. 비트스트림 2의 코딩된 필드의 상보적 쌍이 코딩된 프레임을 예측하기 위해 사용될 때, 필드는 비트스트림 1의 디코딩 프로세스 내에서 또는 비트스트림 1의 디코딩 프로세스와 관련되지만 이를 포함하지 않는 인터 비트스트림 프로세스로서 인터리빙될 수 있다(행 단위로). 코딩된 프레임이 코딩된 필드를 예측하기 위해 사용될 때, 이는 다운샘플링될 수 있고 또는 모든 다른 샘플 행이 비트스트림 2의 디코딩 프로세스 내에서 또는 비트스트림 2의 디코딩 프로세스와 관련되지만 이를 포함하지 않는 인터 비트스트림 프로세스로서 추출될 수 있다. 도 15는 대각 인터레이어 예측이 외부 베이스 레이어 픽처와 함께 사용되는 예를 제시하고 있다. 코딩 배열은 도 16에 도시된 바와 같이, 대각 인터 레이어 예측을 사용하기보다는 스킵 픽처가 코딩될 때 유사하게 실현될 수 있다. 코딩된 필드가 도 16의 코딩된 프레임을 예측하기 위해 사용될 때, 이는 비트스트림 1의 디코딩 프로세스 내에서 또는 비트스트림 1의 디코딩 프로세스와 관련되지만 이를 포함하지 않는 인터 비트스트림 프로세스로서 업샘플링될 수 있다. 비트스트림 2의 코딩된 필드의 상보적 쌍이 도 16의 코딩된 프레임을 예측하기 위해 사용될 때, 필드는 비트스트림 1의 디코딩 프로세스 내에서 또는 비트스트림 1의 디코딩 프로세스와 관련되지만 이를 포함하지 않는 인터 비트스트림 프로세스로서 인터리빙될 수 있다(행 단위로). 양 경우에 코딩된 프레임은 스킵 픽처일 수 있다. 코딩된 프레임이 도 16의 코딩된 필드를 예측하기 위해 사용될 때, 이는 다운샘플링될 수 있고 또는 모든 다른 샘플 행이 비트스트림 2의 디코딩 프로세스 내에서 또는 비트스트림 2의 디코딩 프로세스와 관련되지만 이를 포함하지 않는 인터 비트스트림 프로세스로서 추출될 수 있고, 코딩된 필드는 스킵 픽처일 수 있다.
몇몇 실시예에서, 다양한 실시예에서의 것들과 같은 코딩 배열에 관련하여, 이하의 하나 이상을 인코더는 비트스트림 내에 지시할 수 있고 그리고/또는 디코더는 비트스트림으로부터 디코딩할 수 있다:
- 비트스트림(또는 도 15에 예시된 실시예에서와 같은 몇몇 실시예에서 멀티플렉싱된 비트스트림)은 인터레이싱된 소스 콘텐트를 표현한다. HEVC 기반 코딩에서, 이는 비트스트림을 위해 적용가능한 profile_tier_level 신택스 구조 내의 0에 동일한 general_progressive_source_flag 및 1에 동일한 general_interlaced_source_flag로 지시될 수 있다.
- 출력 픽처의 시퀀스(인코더에 의해 출력되고 그리고/또는 디코더에 의해 출력되도록 지시됨)는 인터레이싱된 소스 콘텐트를 표현한다.
- 레이어가 코딩된 필드 또는 코딩된 프레임을 표현하는 코딩된 픽처로 이루어지는지 여부가 지시될 수 있다. HEVC 기반 코딩에서, 이는 SPS VUI의 field_seq_flag에 의해 지시될 수 있다. 각각의 레이어는 상이한 SPS를 활성화할 수 있고, 따라서 field_seq_flag는 레이어마다 개별적으로 설정될 수 있다.
- 연계된 시퀀스 내의 임의의 시간 순간 또는 액세스 단위는 단일 레이어로부터 단일 픽처(BL 픽처일 수도 있고 또는 아닐 수도 있음) 또는 그 중에서 더 상위의 레이어에 있는 것이 IRAP 픽처인 2개의 픽처를 포함한다. HEVC 기반 코딩(예를 들어, SHVC)에서, 이는 1에 동일한 single_layer_for_non_irap_flag로 지시될 수 있다. 만일 그러하면, 2개의 픽처가 동일한 시간 순간 또는 액세스 단위에 대해 존재할 때, 더 상위의 레이어에서 픽처는 스킵 픽처인 것이 또한 지시될 수 있다. HEVC 기반 코딩에서, 이는 1에 동일한 higher_layer_irap_skip_flag로 지시될 수 있다.
- 연계된 시퀀스 내의 임의의 시간 순간 또는 액세스 단위는 단일 레이어로부터 단일 픽처를 포함한다.
전술된 지시는 예를 들어 VPS, SPS, VPS VUI, SPS VUI와 같은 하나 이상의 시퀀스 레벨 신택스 구조, 및/또는 하나 이상의 SEI 메시지에 상주할 수 있다. 대안적으로 또는 부가적으로, 전술된 지시는 예를 들어 ISOBMFF의 디코더 구성 내에 및/또는 MPEG-2 전송 스트림의 기술자(들)와 같은 통신 프로토콜 헤더 내에와 같은, 콘테이너 파일 포맷의 메타데이터 내에 상주할 수 있다.
몇몇 실시예에서, 다양한 실시예에서의 것들과 같은 코딩 배열에 관련하여, 이하의 하나 이상을 인코더는 비트스트림 내에 지시할 수 있고 그리고/또는 디코더는 비트스트림으로부터 디코딩할 수 있다:
- 코딩된 필드에 대해, 상부 또는 하부 필드의 지시.
- 인터 레이어 예측을 위한 참조로서 사용될 수 있는 코딩된 프레임에 대해 그리고/또는 인터레이어 예측되는 코딩된 필드에 대해, 필드에 적용될 업샘플링 필터를 위한 수직 페이즈 오프셋.
- 인터 레이어 예측을 위한 참조로서 사용될 수 있는 코딩된 프레임에 대해 그리고/또는 인터레이어 예측되는 코딩된 필드에 대해, 코딩된 프레임 내의 업샘플링된 코딩된 필드의 수직 오프셋의 지시. 예를 들어, SHVC의 스케일링된 참조 레이어에 유사한 시그널링이, 그러나 픽처 단위 방식으로 사용될 수 있음.
- 인터 레이어 예측을 위한 참조로서 사용될 수 있는 코딩된 프레임에 대해 그리고/또는 인터레이어 예측되는 코딩된 필드에 대해, 프레임을 리샘플링하는데 적용될 프레임 내의 초기 수직 오프셋 및/또는 수직 데시메이션 팩터(예를 들어, 전술된 바와 같은 VertDecimationFactor).
전술된 지시는 예를 들어 VPS 및/또는 SPS와 같은 하나 이상의 시퀀스 레벨 신택스 구조에 상주할 수 있다. 지시는 예를 들어, 지시된 레이어, 서브레이어 또는 TemporalId 값, 픽처 유형, 및/또는 NAL 단위 유형에 기초하여, 액세스 단위 또는 픽처의 서브세트에만 인가되도록 지정될 수 있다. 예를 들어, 시퀀스 레벨 신택스 구조는 스킵 픽처를 위한 전술된 지시 중 하나 이상을 포함할 수 있다. 대안적으로 또는 부가적으로, 전술된 지시는 액세스 단위, 픽처, 또는 슬라이스 레벨 내에, 예를 들어, PPS, APS, 액세스 단위 헤더 또는 구분문자, 픽처 헤더 또는 구분문자, 및/또는 슬라이스 헤더 내에 상주할 수 있다. 대안적으로 또는 부가적으로, 전술된 지시는 예를 들어 ISOBMFF의 샘플 보조 정보 및/또는 MPEG-2 전송 스트림의 기술자(들)와 같은 통신 프로토콜 헤더 내에와 같은, 콘테이너 파일 포맷의 메타데이터 내에 상주할 수 있다.
이하, 몇몇 상보적 및/또는 대안 실시예가 설명된다.
품질 향상을 갖는 인터 레이어 예측
실시예에서, 제 1 비압축된 상보적 필드쌍은 제2 비압축된 필드쌍과 동일하거나 동일한 시간 인스턴스를 표현한다. 베이스 레이어 픽처와 동일한 시간 인스턴스를 표현하는 향상 레이어 픽처가 베이스 레이어 픽처의 하나 또는 양 필드의 품질을 향상시킬 수 있다는 것이 고려될 수 있다. 도 17 및 도 18은 도 9 및 도 10의 것들과 각각 예시하지만, 향상 레이어(EL) 내의 스킵 픽처 대신에, 베이스 레이어 프레임 또는 필드쌍에 일치하는 향상 레이어 픽처(들)가 베이스 레이어 프레임 또는 필드쌍의 하나 또는 양 필드의 품질을 향상시킬 수 있는 예를 제시하고 있다.
상이한 레이어 내에 분리된 상부 및 하부 필드
HEVC 버전 1은 예를 들어 VUI의 field_seq_flag 및 픽처 타이밍 SEI 메시지의 pic_struct를 통해 인터레이스 소스 자료를 지시하기 위한 지원을 포함한다. 그러나, 인터레이스 소스 자료를 정확하게 표시하는 기능을 갖는 것은 디스플레이 프로세스의 책임이다. 플레이어는 픽처 타이밍 SEI 메시지의 pic_struct 신택스 요소와 같은 지시를 무시하고 이들이 프레임인 것처럼 필드를 표시할 수 있는 것 - 이는 불만족스러운 재생 거동을 유발할 수도 있음 - 이 단언된다. 상이한 레이어로 상이한 패리티의 필드를 분리함으로써, 베이스 레이어 디코더는 안정하고 만족스러운 표시 거동을 제공할 수 있는 단일 패리티 전용의 필드를 표시할 것이다.
다양한 실시예는 상부 및 하부 필드가 상이한 레이어 내에 상주하는 방식으로 실현될 수 있다. 도 19는 도 11의 것에 유사한 예를 도시하고 있다. 상부 및 하부 필드가 상이한 레이어 내에 분리되는 것을 가능하게 하기 위해, 스케일 팩터가 특정 조건 하에서 1일 때, 예를 들어 필터링을 위한 수직 페이즈 오프셋이 특정값이 되도록 지시될 때 및/또는 참조 레이어 픽처가 특정 패리티의 필드를 표현하고 반면에 예측되고 있는 픽처는 반대 패리티의 필드를 표현하는 것이 지시될 때, 참조 레이어 픽처의 리샘플링이 가능하게 될 수 있다.
동일한 비트스트림 내의 스케일러빌러티 레이어 인터레이싱된 -대-프로그레시브 스케일러빌러티를 갖는 PAFF 코딩
몇몇 실시예에서, PAFF 코딩은 전술된 하나 이상의 실시예로 실현될 수 있다. 부가적으로, 프로그레시브 소스 향상을 표현하는 하나 이상의 레이어가 또한 예를 들어 전술된 바와 같이, 인코딩 및/또는 디코딩될 수 있다. 프로그레시브 소스 콘텐트를 표현하는 레이어를 코딩 및/또는 디코딩할 때, 그 참조 레이어는 인터레이싱된 소스 콘텐트를 표현하는 상보적 필드쌍의 코딩된 프레임을 포함하는 레이어 및/또는 코딩된 필드를 포함하는 1개 또는 2개의 레이어일 수 있다.
MV-HEVC/SHVC에서 소스 스캐닝 유형(프로그레시브 또는 인터레이싱) 및 픽처 유형(프레임 또는 필드)에 관련된 지시의 사용은 현재 불명확한데, 이는 이하의 이유 때문이다:
- general_progressive_source_flag 및 general_interlaced_source_flag가 profile_tier_level( ) 신택스 구조 내에 포함된다. MV-HEVC/SHVC에서, the profile_tier_level( ) 신택스 구조가 출력 레이어 세트와 연계된다. 또한, general_progressive_source_flag 및 general_interlaced_source_flag의 시맨틱스는 CVS를 참조하는데 - 이는 가능하게는 profile_tier_level( ) 신택스 구조가 연계되는 출력 레이어의 레이어들만이 아니라 모든 레이어를 의미한다.
- SPS VUI의 결여시에, general_progressive_source_flag 및 general_interlaced_source_flag는 pic_struct, source_scan_type, 및 duplicate_flag 신택스 요소가 픽처 타이밍 SEI 메시지 내에 존재하는지 여부를 지정하는 frame_field_info_present_flag의 값을 추론하는데 사용된다. 그러나, general_progressive_source_flag 및 general_interlaced_source_flag는 0 초과인 nuh_layer_id를 갖는 SPS 내에서 결여되어 있고, 따라서 어느 profile_tier_level( ) 신택스 구조가 general_interlaced_source_flag의 추론 내에 있는지가 불명확하다.
인코더는 비트스트림 내로 하나 이상의 지시(들)를 인코딩할 수 있고, 디코더는 비트스트림으로부터, 예를 들어 VPS와 같은 시퀀스 레벨 신택스 구조 내로/로부터 하나 이상의 지시(들)를 디코딩할 수 있고, 여기서 하나 이상의 지시(들)는 예를 들어 각각의 레이어에 대해, 레이어가 인터레이싱된 소스 콘텐트 또는 프로그레시브 소스 콘텐트를 표현하는지를 지시할 수 있다.
대안적으로 또는 부가적으로, HEVC 확장에서, 이하의 변화가 신택스 및/또는 시맨틱스 및/또는 인코딩 및/또는 디코딩에 적용될 수 있다:
- SPS 신택스는 profile_tier_level( )이 SPS 내에 존재하지 않을 때 SPS 내에 존재하는 layer_progressive_source_flag 및 layer_interlaced_source_flag 신택스 요소를 포함하도록 수정된다. 이들 신택스 요소는 어떻게 0에 동일한 nuh_layer_id를 갖는 SPS 내의 general_progressive_source_flag 및 general_interlaced_source_flag가 베이스 레이어에 대한 소스 스캐닝 유형을 지정하는지에 유사하게 소스 스캐닝 유형을 지정한다.
- general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag 및 general_frame_only_constraint_flag가 SPS 내에 나타날 때, 이들은 SPS가 활성 SPS인 픽처에 적용된다.
- general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag 및 general_frame_only_constraint_flag가 출력 레이어 세트와 연계된 profile_tier_level( ) 신택스 구조 내에 나타날 때, 이들은 존재한다면 출력 레이어 세트의 출력 레이어 및 대안 출력 레이어에 적용된다.
- frame_field_info_present_flag(SPS VUI 내에서)이 제약 및 추론은 이들이 SPS 내에 존재하면, general_progressive_source_flag 및 general_interlaced_source_flag에 기초하여, 그렇지 않으면, layer_progressive_source_flag 및 layer_interlaced_source_flag에 기초하여 유도된다.
대안적으로 또는 부가적으로, HEVC 확장에서, profile_tier_level( ) 신택스 구조 내의 general_progressive_source_flag 및 general_interlaced_source_flag의 시맨틱스는 이하와 같이 부가될 수 있다. profile_tier_level( ) 신택스 구조가 독립 레이어를 위한 활성 SPS인 SPS 내에 포함될 때, general_progressive_source_flag 및 general_interlaced_source_flag는 레이어가 인터레이싱된 또는 프로그레시브 소스 콘텐트인지 또는 소스 콘텐트 유형이 미지인지 또는 소스 콘텐트 유형이 픽처 단위로 지시되는지 여부를 지시한다. profile_tier_level( ) 신택스 구조가 VPS 내에 포함될 때, general_progressive_source_flag 및 general_interlaced_source_flag는 출력 픽처가 인터레이싱된 또는 프로그레시브 소스 콘텐트인지 또는 소스 콘텐트 유형이 미지인지 또는 소스 콘텐트 유형이 픽처 단위로 지시되는지 여부를 지시하고, 여기서 출력 픽처는 profile_tier_level( ) 신택스 구조를 참조하는 출력 레이어 세트에 따라 결정된다.
대안적으로 또는 부가적으로, HEVC 확장에서, profile_tier_level( ) 신택스 구조 내의 general_progressive_source_flag 및 general_interlaced_source_flag의 시맨틱스는 이하와 같이 부가될 수 있다. 출력 레이어 세트와 연계된 profile_tier_level( ) 신택스 구조의 general_progressive_source_flag 및 general_interlaced_source_flag는 출력 레이어의 레이어가 인터레이싱된 또는 프로그레시브 소스 콘텐트를 포함하는지 또는 소스 콘텐트 유형이 미지인지 또는 소스 콘텐트 유형이 픽처 단위로 지시되는지 여부를 지시한다. 출력 레이어 세트에 대한 VPS 내에 지시된 것과는 상이한 스캔 유형을 표현하는 출력 레이어 세트 내에 레이어가 존재하면, 이들 레이어에 대한 활성 SPS는 그 상이한 스캔 유형을 지정하는 general_progressive_source_flag 및 general_interlaced_source_flag 값을 갖는 profile_tier_level( ) 신택스 구조를 포함한다.
전술된 실시예는 저레벨 코딩 툴을 적응할 필요가 없이, SHVC와 같은 스케일러블 비디오 코딩을 갖는 인터레이싱된 소스 콘텐트의 픽처 적응식 프레임 필드 코딩을 가능하게 한다. 코딩된 필드와 코딩된 프레임 사이의 예측이 또한 가능하게 될 수 있고, 따라서 저레벨 코팅 툴이 코딩된 프레임과 코딩된 필드 사이의 예측을 가능하게 하도록 적응되는 코덱으로 성취될 수 있는 것에 상응하는 양호한 압축 효율이 얻어질 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예가 이하에 설명된다. 인코더 또는 멀티플렉서 등은 하이브리드 코덱 스케일러빌러티의 베이스 레이어 비트스트림 내에서 HEVC 특성 SEI 메시지라 칭할 수 있는 SEI 메시지를 인코딩하고 그리고/또는 포함할 수 있다. HEVC 특성 SEI 메시지는 예를 들어 하이브리드 코덱 스케일러빌러티 SEI 메지시 내에 네스팅될 수 있다. HEVC 특성 SEI 메시지는 이하의 것 중 하나 이상을 지시할 수 있다:
- MV-HEVC, SHVC 등에 의해 요구되는 바와 같은 연계된 외부 베이스 레이어 픽처를 위한 입력 변수를 위한 값을 결정하는데 사용된 신택스 요소. 예를 들어, SEI 메시지는 픽처가 EL 비트스트림 디코딩 프로세스를 위한 IRAP 픽처인지의 여부의 지시 및/또는 픽처의 유형의 지시를 포함할 수 있다.
- 연계된 베이스 레이어 픽처가 인터 레이어 예측을 위한 참조로서 사용될 수 있는 참조 레이어 픽처인 EL 비트스트림 내의 픽처 또는 액세스 단위를 식별하는데 사용된 신택스 요소. 예를 들어, POC 리셋 기간 및/또는 POC 관련 신택스 요소가 포함될 수 있다.
- 디코딩 순서로 바로 후속하거나 선행하는 연계된 베이스 레이어 픽처가 참조 레이어 픽처인 EL 비트스트림 내의 픽처 또는 액세스 단위를 식별하는데 사용된 신택스 요소. 예를 들어, 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 BLA 픽처로서 작용하고 어떠한 EL 비트스트림 픽처도 BLA 픽처와 동일한 시간 순간에 대응하는 것으로 고려되지 않으면, BLA 픽처가 EL 비트스트림의 디코딩에 영향을 미칠 수 있기 때문에 EL 비트스트림 내의 어느 픽처가 BLA 픽처에 후속하거나 선행하는지를 식별할 필요가 있을 수 있다.
- 디코딩된 외부 베이스 레이어 픽처로서 그리고/또는 EL 디코딩 프로세스 내의 디코딩된 외부 베이스 레이어 픽처를 위한 인터 레이어 프로세싱의 부분으로서 픽처를 EL 디코딩에 제공하기 전에 연계된 픽처 또는 픽처들(예를 들어, 상보적 필드쌍)에 적용될 리샘플링을 지정하기 위한 신택스 요소.
예시적인 실시예에서, 이하의 신택스 등이 HEVC 특성 SEI 메시지를 위해 사용될 수 있다.
Figure 112016100265465-pct00019
HEVC 특성 SEI 메시지의 시맨틱스는 이하와 같이 지정될 수 있다. 0에 동일한 hevc_irap_flag는 연계된 픽처가 외부 베이스 레이어 IRAP 픽처가 아닌 것을 지정한다. 1에 동일한 hevc_irap_flag는 연계된 픽처가 외부 베이스 레이어 IRAP 픽처인 것을 지정한다. 0, 1 및 2에 동일한 hevc_irap_type은 연계된 픽처가 외부 베이스 레이어 픽처로서 사용될 때, nal_unit_type이 각각 IDR_W_RADL, CRA_NUT 및 BLA_W_LP에 동일한 것을 지정한다. hevc_poc_reset_period_id는 연계된 HEVC 액세스 단위의 poc_reset_period_id 값을 지정한다. hevc_pic_order_cnt_val_sign이 1이면, hevcPoc는 hevc_abs_pic_order_cnt_val에 동일하도록 유도되고, 그렇지 않으면 hevcPoc는 - hevc_abs_pic_order_cnt_val - 1에 동일하도록 유도된다. hevcPoc는 hevc_poc_reset_period_id에 의해 식별된 POC 리셋팅 기간 내에 연계된 HEVC 액세스 단위의 PicOrderCntVal 값을 지정한다.
HEVC 특성 SEI 메시지에 추가하여 또는 대신에, SEI 메시지의 신택스 요소 내에 제공된 바와 유사한 정보가 예를 들어 이하의 하나 이상 내의 다른 위치에 제공될 수 있다:
- BL 비트스트림 내의 베이스 레이어 픽처와 연계된 프리픽스 NAL 단위(등) 내에.
- BL 비트스트림 내의 향상 레이어 캡슐화 NAL 단위(등) 내에.
- BL 비트스트림 내의 베이스 레이어 캡슐화 NAL 단위(등) 내에.
- EL 비트스트림 내의 SEI 메시지(들) 또는 SEI 메시지(들) 내의 지시.
- 파일 포맷에 따른 메타데이터, 이 메타데이터는 BL 비트스트림 및 EL 비트스트림을 포함하거나 참조하는 파일에 의해 참조되거나 상주한다. 예를 들어, ISO 베이스 미디어 파일 포맷의 샘플 그룹화 및/또는 타이밍 조절된 메타데이터 트랙이 베이스 레이어를 포함하는 트랙을 위해 사용될 수 있다.
- MPEG-2 전송 스트림의 기술자 내에와 같은, 통신 프로토콜 내의 메타데이터.
ISOBMFF의 샘플 보조 정보 메커니즘을 갖는 전술된 HEVC 특성 SEI 메시지에 유사한 베이스 레이어 픽처 특성을 제공하는 것에 관련된 예시적인 실시예가 다음에 제공된다. 멀티레이어 HEVC 비트스트림이 외부 베이스 레이어를 사용할 때(즉, HEVC 비트스트림의 활성 VPS가 0에 동일한 vps_base_layer_internal_flag를 가질 때), 'lhvc'(또는 소정의 다른 선택된 4-문자 코드)에 동일한 aux_info_type 및 0(또는 소정의 다른 값)에 동일한 aux_info_type_parameter를 갖는 샘플 보조 정보가 예를 들어 인터 레이어 예측을 위한 참조로서 외부 베이스 레이어를 사용할 수 있는 트랙을 위해 파일 생성기에 의해 제공된다. 샘플 보조 정보의 저장은 ISOBMFF의 사양을 따른다. 'lhvc'에 동일한 aux_info_type을 갖는 샘플 보조 정보의 신택스는 이하 등이다:
Figure 112016100265465-pct00020
'lhvc'에 동일한 aux_info_type을 갖는 샘플 보조 정보의 시맨틱스는 이하에 설명된 바와 같이 또는 유사하게 지정될 수 있다. 시맨틱스에서, 용어 현재 샘플은 이 샘플 보조 정보가 샘플의 디코딩과 연계되고 제공되어야 하는 샘플을 칭한다.
- 0에 동일한 bl_pic_used_flag는 어떠한 디코딩된 베이스 레이어 픽처도 현재 샘플의 디코딩을 위해 사용되지 않는다는 것을 지정한다. 1에 동일한 bl_pic_used_flag는 디코딩된 베이스 레이어 픽처가 현재 샘플의 디코딩을 위해 사용되는 것을 지정한다.
- bl_irap_pic_flag는, bl_pic_used_flag가 1일 때, 디코딩된 픽처가 현재 샘플의 디코딩을 위한 디코딩된 베이스 레이어 픽처로서 제공될 때, 연계된 디코딩된 픽처를 위한 BlIrapPicFlag 변수의 값을 지정한다.
- bl_irap_nal_unit_type은, bl_pic_used_flag가 1이고 bl_irap_pic_flag가 1일 때, 디코딩된 픽처가 현재 샘플의 디코딩을 위한 디코딩된 베이스 레이어 픽처로서 제공될 때, 연계된 디코딩된 픽처를 위한 nal_unit_type 신택스 요소의 값을 지정한다.
- sample_offset은, when bl_pic_used_flag가 1일 때, 링크된 트랙 내의 연계된 샘플의 상대 인덱스를 제공한다. 링크된 트랙 내의 연계된 샘플의 디코딩으로부터 발생하는 디코딩된 픽처는 현재 샘플의 디코딩을 위해 제공되어야 하는 연계된 디코딩된 픽처이다. 0에 동일한 sample_offset은 연계된 샘플이 현재 샘플의 디코딩 시간에 비교하여 동일한, 또는 가장 근접한 선행 디코딩 시간을 갖는다는 것을 지정하고; 1에 동일한 sample_offset은 연계된 샘플이 0에 동일한 sample_offset에 대해 유도된 연계된 샘플에 대한 다음의 샘플인 것을 지정하고; -1에 동일한 sample_offset은 연계된 샘플이 0에 동일한 sample_offset에 대해 유도된 연계된 샘플에 대한 이전의 샘플이라는 것을 지정한다.
ISOBMFF의 샘플 보조 정보 메커니즘을 사용하여 전달된 전술된 HEVC 특성 SEI 메시지에 유사한 베이스 레이어 픽처 특성을 파싱하는 것에 관련된 예시적인 실시예가 다음에 제공된다. 멀티레이어 HEVC 비트스트림이 외부 베이스 레이어를 사용할 때(즉, HEVC 비트스트림의 활성 VPS가 0에 동일한 vps_base_layer_internal_flag를 가질 때), 'lhvc'(또는 소정의 다른 선택된 4-문자 코드)에 동일한 aux_info_type 및 0(또는 소정의 다른 값)에 동일한 aux_info_type_parameter를 갖는 샘플 보조 정보가 예를 들어 인터 레이어 예측을 위한 참조로서 외부 베이스 레이어를 사용할 수 있는 트랙을 위해 파일 파서에 의해 파싱된다. 'lhvc'에 동일한 aux_info_type을 갖는 샘플 보조 정보의 신택스 및 시맨틱스는 전술된 것들 등과 같을 수 있다. 0에 동일한 bl_pic_used_flag가 EL 트랙 샘플에 대해 파싱될 때, 어떠한 디코딩된 베이스 레이어 픽처도 현재 샘플(EL 트랙의)의 EL 디코딩 프로세스를 위해 제공되지 않는다. 1에 동일한 bl_pic_used_flag가 EL 트랙 샘플에 대해 파싱될 때, 식별된 BL 픽처가 디코딩되고(미리 디코딩되어 있지 않으면) 디코딩된 BL 픽처는 현재 샘플의 EL 디코딩 프로세스에 제공된다. 1에 동일한 bl_pic_used_flag가 파싱될 때, 신택스 요소 bl_irap_pic_flag, bl_irap_nal_unit_type, 및 sample_offset 중 적어도 일부가 또한 파싱된다. BL 픽처는 전술된 바와 같이 sample_offset 신택스 요소를 통해 식별된다. 디코딩된 BL 픽처와 함께 또는 연계하여, 파싱된 정보 bl_irap_pic_flag 및 bl_irap_nal_unit_type(또는 임의의 유사한 지시 정보)가 또한 현재 샘플의 EL 디코딩 프로세스에 제공된다. EL 디코딩 프로세스는 전술된 바와 같이 동작할 수 있다.
외부 베이스 레이어 추출기 NAL 단위 구조를 통해, 전술된 HEVC 특성 SEI 메시지에 유사한 베이스 레이어 픽처 특성을 제공하는 것에 관련된 예시적인 실시예가 다음에 제공된다. 외부 베이스 레이어 추출기 NAL 단위는 ISO/IEC 14496-15에 지정된 일반적인 추출기 NAL 단위에 유사하게 지정되지만, 부가적으로 디코딩된 베이스 레이어 픽처를 위한 BlIrapPicFlag 및 nal_unit_type을 제공한다. 디코딩된 베이스 레이어 픽처가 EL 샘플을 디코딩하기 위한 참조로서 사용될 때, 파일 생성기(또는 다른 엔티티)는, 베이스 레이어 트랙을 식별하는 신택스 요소값, 베이스 레이어 픽처를 디코딩하는데 있어서 입력으로서 사용된 베이스 레이어 샘플, 및 (선택적으로) 베이스 레이어 픽처를 디코딩하는데 있어서 입력으로서 사용된 베이스 레이어 샘플 내의 바이트 범위를 갖고, EL 샘플 내로의 외부 베이스 레이어 추출기 NAL 단위를 포함한다. 파일 생성기는 또한 디코딩된 베이스 레이어 픽처를 위한 BlIrapPicFlag 및 nal_unit_type의 값을 얻고, 외부 베이스 레이어 추출기 NAL 단위 내로 이들을 포함한다.
외부 베이스 레이어 추출기 NAL 단위 구조를 사용하여 전달된, 전술된 HEVC 특성 SEI 메시지에 유사한 베이스 레이어 픽처 특성을 파싱하는 것에 관련된 예시적인 실시예가 다음에 제공된다. 파일 파서(또는 다른 엔티티)가 EL 샘플로부터 외부 베이스 레이어 추출기 NAL 단위를 파싱하고, 따라서 디코딩된 베이스 레이어 픽처가 EL 샘플을 디코딩하기 위한 참조로서 사용될 수 있다고 결론짓는다. 파일 파서는 EL 샘플을 디코딩하기 위한 참조로서 사용될 수 있는 디코딩된 베이스 레이어 픽처를 얻기 위해 어느 베이스 레이어 픽처가 디코딩되는지를 외부 베이스 레이어 추출기 NAL 단위로부터 파싱한다. 예를 들어, 파일 파서는 베이스 레이어 트랙을 식별하고, 베이스 레이어 픽처를 디코딩하는데 있어서 입력으로서 사용된(예를 들어, 상기에서 ISO/IEC 14496-15의 추출기 메커니즘으로 설명된 바와 같은 디코딩 시간을 통해) 베이스 레이어 샘플, 및 (선택적으로) 베이스 레이어 픽처를 디코딩하는데 있어서 입력으로서 사용된 베이스 레이어 샘플 내의 바이트 범위를 식별하는 신택스 요소를 외부 베이스 레이어 추출기 NAL 단위로부터 파싱할 수 있다. 파일 파서는 또한 외부 베이스 레이어 추출기 NAL 단위로부터 디코딩된 베이스 레이어 픽처를 위한 BlIrapPicFlag 및 nal_unit_type의 값을 얻는다. 디코딩된 BL 픽처와 함께 또는 연계하여, 파싱된 정보 BlIrapPicFlag 및 nal_unit_type(또는 임의의 유사한 지시 정보)가 또한 현재 EL 샘플의 EL 디코딩 프로세스에 제공된다. EL 디코딩 프로세스는 전술된 바와 같이 동작할 수 있다.
RTP 페이로드 포맷과 같은 패킷화 포맷 내의 전술된 HEVC 특성 SEI 메시지에 유사한 베이스 레이어 픽처 특성을 제공하는 것에 관련된 예시적인 실시예가 다음에 제공된다. 베이스 레이어 픽처 특성은 예를 들어 이하의 수단 중 하나 이상을 통해 제공될 수 있다:
- 코딩된 EL 픽처를 포함하는(부분적으로 또는 완전하게) 패킷의 페이로드 헤더. 예를 들어, 페이로드 헤더 확장 메커니즘이 사용될 수 있다. 예를 들어, PACI 확장(H.265의 RTP 페이로드 포맷에 대해 지정된 바와 같은) 등은 BlIrapPicFlag, 및 적어도 BlIrapPicFlag가 참일 때, 디코딩된 베이스 레이어 픽처를 위한 nal_unit_type을 지시하는 정보를 포함하는 구조를 포함하는데 사용될 수 있다.
- 코딩된 BL 픽처를 포함하는(부분적으로 또는 완전하게) 패킷의 페이로드 헤더.
- EL 픽처를 포함하지만(부분적으로 또는 완전하게) EL 픽처와 각각의 BL 픽처 사이의 대응성이 전술된 바와 같이 트랙 기반 수단 이외의 수단을 통해 수립되는 패킷 내에서, 예를 들어 전술된 외부 베이스 레이어 추출기 NAL 단위에 유사한 NAL-단위형 구조. 예를 들어, NAL-단위형 구조는 BlIrapPicFlag, 및 적어도 BlIrapPicFlag가 참일 때, 디코딩된 베이스 레이어 픽처를 위한 nal_unit_type을 지시하는 정보를 포함할 수 있다.
- BL 픽처를 포함하는(부분적으로 또는 완전하게) 패킷 내의 NAL-단위형 구조.
상기 예에서, EL 픽처와 각각의 BL 픽처 사이의 대응성은 BL 픽처와 EL 픽처가 동일한 RTP 타임스탬프를 갖는다고 가정함으로써 암시적으로 수립될 수 있다. 대안적으로, EL 픽처와 각각의 BL 픽처 사이의 대응성은 EL 픽처와 연계된 NAL-단위형 구조 또는 헤더 확장 내에, BL 픽처의 제 1 단위의 디코딩 순서 번호(DON) 또는 BL 픽처의 픽처 순서 카운트(POC)와 같은, BL 픽처의 식별자를 포함함으로써; 또는 그 반대로, BL 픽처와 연계된 NAL-단위형 구조 또는 헤더 확장 내에 EL 픽처의 식별자를 포함함으로써 수립될 수 있다.
실시예에서, 디코딩된 베이스 레이어 픽처가 EL 픽처를 디코딩하기 위한 참조로서 사용될 때, 송신기, 게이트웨이 또는 다른 엔티티는 예를 들어, 페이로드 헤더 내에, NAL-단위형 구조 내에, 그리고/또는 SEI 메시지를 사용하여, BlIrapPicFlag의 값을 지시하는 정보를, 그리고 적어도 BlIrapPicFlag가 참일 때, 디코딩된 베이스 레이어 픽처를 위한 nal_unit_type을 지시한다.
실시예에서, 송신기, 게이트웨이 또는 다른 엔티티는 예를 들어, 페이로드 헤더로부터, NAL-단위형 구조로부터, 그리고/또는 SEI 메시지로부터, BlIrapPicFlag의 값을 지시하는 정보를, 그리고 적어도 BlIrapPicFlag가 참일 때, 디코딩된 베이스 레이어 픽처를 위한 nal_unit_type을 파싱한다. 디코딩된 BL 픽처와 함께 또는 연계하여, 파싱된 정보 BlIrapPicFlag 및 nal_unit_type(또는 임의의 유사한 지시 정보)가 또한 연계된 EL 픽처의 EL 디코딩 프로세스에 제공된다. EL 디코딩 프로세스는 전술된 바와 같이 동작할 수 있다.
EL 비트스트림 인코더 또는 EL 비트스트림 디코더는 예를 들어, poc_reset_period_id의 값 및 인코딩되거나 디코딩되고 있는 EL 픽처의 PicOrderCntVal을 제공함으로써 BL 비트스트림 인코더 또는 BL 비트스트림 디코더로부터 외부 베이스 레이어 픽처를 요청할 수 있다. BL 비트스트림 인코더 또는 BL 비트스트림 디코더가 예를 들어 디코딩된 HEVC 특성 SEI 메시지에 기초하여, 동일한 EL 픽처 또는 액세스 단위와 연계된 2개의 BL 픽처가 존재하는 것으로 결론지으면, 2개의 디코딩된 BL 픽처는 EL 비트스트림 인코딩 또는 디코딩에서 IRAP 픽처가 아닌 픽처에 선행하는 EL 비트스트림 인코딩 또는 디코딩에서 IRAP 픽처로서 작용하는 픽처 또는 BL 픽처의 각각의 디코딩 순서에서와 같이, 사전규정된 순서로 EL 비트스트림 인코더 또는 EL 비트스트림 디코더에 제공될 수 있다. BL 비트스트림 인코더 또는 BL 비트스트림 디코더가 예를 들어 디코딩된 HEVC 특성 SEI 메시지에 기초하여, EL 픽처 또는 액세스 단위와 연계된 하나의 BL 픽처가 존재하는 것으로 결론지으면, BL 비트스트림 인코더 또는 BL 비트스트림 디코더는 EL 비트스트림 인코더 또는 EL 비트스트림 디코더에 디코딩된 BL 픽처를 제공할 수 있다. BL 비트스트림 인코더 또는 BL 비트스트림 디코더가 예를 들어 디코딩된 HEVC 특성 SEI 메시지에 기초하여, EL 픽처 또는 액세스 단위와 연계된 어떠한 BL 픽처도 존재하지 않는 것으로 결론지으면, BL 비트스트림 인코더 또는 BL 비트스트림 디코더는 EL 비트스트림 인코더 또는 EL 비트스트림 디코더에 어떠한 연계된 BL 픽처도 존재하지 않는다는 지시를 제공할 수 있다.
외부 베이스 레이어로부터 대각 예측이 사용중일 때, EL 비트스트림 인코더 또는 EL 비트스트림 디코더는, poc_reset_period_id의 값 및 대각 예측을 위한 참조로서 사용될 수 있거나 사용되는 각각의 픽처의 PicOrderCntVal을 제공함으로써 BL 비트스트림 인코더 또는 BL 비트스트림 디코더로부터 외부 베이스 레이어 픽처를 요청할 수 있다. 예를 들어, 대각 참조 픽처를 식별하는데 사용되는 부가의 단기 RPS 등에서, 부가의 단기 RPS 내에 지시되거나 그로부터 유도된 PicOrderCntVal 값은 BL 비트스트림 인코더 또는 BL 비트스트림 디코더로부터 외부 베이스 레이어 픽처를 요청하도록 EL 비트스트림 인코더 또는 EL 비트스트림 디코더에 의해 사용될 수 있고, 인코딩 또는 디코딩되고 있는 현재 EL 픽처의 poc_reset_period_id가 또한 외부 베이스 레이어 픽처를 요청하는데 사용될 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예가 이하에 설명된다. 프레임 호환성(즉, 프레임 패킹된) 비디오가 베이스 레이어 내로 코딩되고 그리고/또는 그로부터 디코딩된다. 베이스 레이어는 인코더(또는 다른 엔티티)에 의해 지시되고, 그리고/또는 디코더(또는 다른 엔티티)에 의해 디코딩될 수 있어, 예를 들어 HEVC의 프레임 패킹 배열 SEI 메시지와 같은 SEI 메시지를 통해, 그리고/또는 VPS 및/또는 SPS 내에 포함될 수 있는 HEVC의 profile_tier_level( ) 신택스 구조의 general_non_packed_constraint_flag와 같은 파라미터 세트를 통해 프레임 패킹된 콘텐트를 포함한다. 1에 동일한 general_non_packed_constraint_flag는, 프레임 패킹 배열 SEI 메시지도 존재하지 않고 또한 분할된 직사각형 프레임 패킹 배열 SEI 메시지도 CVS 내에 존재하지 않는다는 것, 즉 베이스 레이어가 프레임 패킹된 콘텐트를 포함하도록 지시되지 않는다는 것을 지정한다. 0에 동일한 general_non_packed_constraint_flag는, 하나 이상의 프레임 패킹 배열 SEI 메시지 또는 분할된 직사각형 프레임 패킹 배열 SEI 메시지가 CVS 내에 존재할 수도 있고 또는 존재하지 않을 수도 있다는 것, 즉 베이스 레이어가 프레임 패킹된 콘텐트를 포함하도록 지시될 수 있다는 것을 지정한다. 이는 예를 들어, 향상 레이어가 베이스 레이어에 의해 표현된 뷰들 중 하나의 풀 분해능 향상을 표현하는 VPS와 같은 시퀀스 레벨 신택스 구조를 통해, 비트스트림 내로 인코딩되고 그리고/또는 비트스트림으로부터 디코딩될 수 있다. 베이스 레이어 픽처와 향상 레이어 내에 패킹된 뷰의 공간 관계는 예를 들어, 스케일링된 참조 레이어 오프셋 및/또는 유사한 정보를 사용하여 비트스트림 내로 인코더에 의해 지시될 수 있고 그리고/또는 비트스트림으로부터 디코더에 의해 디코딩될 수 있다. 공간 관계는 향상 레이어 픽처를 예측하기 위한 참조 픽처로서 업샘플링된 구성 픽처를 사용하기 위해 적용될 하나의 뷰를 표현하는 베이스 레이어의 구성 픽처의 업샘플링을 지시할 수 있다. 다양한 다른 설명된 실시예는 향상 레이어 픽처와 베이스 레이어 픽처의 연계의 인코더에 의한 지시 또는 디코더에 의한 디코딩에 사용될 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예가 이하에 설명된다. 적어도 하나의 중복 픽처가 코딩되고 그리고/또는 디코딩된다. 적어도 하나의 중복 코딩된 픽처는 HEVC 맥락에서 0 초과의 nuh_layer_id를 갖는 향상 레이어 내에 위치된다. 적어도 하나의 중복 픽처를 포함하는 레이어는 1차 픽처를 포함하지 않는다. 중복 픽처 레이어는 그 자신의 스케일러빌러티 식별자 유형(HEVC 확장의 맥락에서 ScalabilityId라 칭할 수 있음)이 할당되고, 또는 보조 픽처 레이어일 수 있다(HEVC 확장의 맥락에서 AuxId 값이 할당될 수 있음). AuxId 값은 중복 픽처 레이어를 지시하도록 지정될 수 있다. 대안적으로, 미지정 상태로 유지되는 AuxId 값이 사용될 수 있고(예를 들어, HEVC 확장의 맥락에서, 128 내지 143의 범위(경계값 포함)의 값), 보조 픽처 레이어는 중복 픽처를 포함하는 것이 SEI 메시지로 지시될 수 있다(예를 들어, 중복 픽처 특성 SEI 메시지가 지정될 수 있음).
인코더는 비트스트림 내에 지시할 수 있고 그리고/또는 디코더는 중복 픽처 레이어가 "1차" 픽처 레이어(베이스 레이어일 수 있음)로부터 인터 레이어 예측을 사용할 수 있는 비트스트림으로부터 디코딩될 수 있다. 예를 들어, HEVC 확장의 맥락에서, VPS의 direct_dependency_flag가 이러한 목적으로 사용될 수 있다.
예를 들어, 중복 픽처는 동일한 레이어의 다른 픽처로부터 인터 예측을 사용하지 않고 이들은 단지 대각 인터 레이어 예측을 사용할 수 있다는 것(1차 픽처 레이어로부터)이 코딩 표준에서 요구될 수 있다.
예를 들어, 중복 픽처 레이어 내에 중복 픽처가 존재할 때마다, 동일한 액세스 단위 내에 1차 픽처가 존재하는 것이 코딩 표준에 요구될 수 있다.
중복 픽처 레이어는 중복 픽처 레이어의 디코딩된 픽처가 동일한 액세스 단위 내의 1차 픽처 레이어의 픽처와 유사한 콘텐트를 갖도록 의미론적으로 특징화될 수 있다. 따라서, 중복 픽처는 중복 픽처보다 동일한 액세스 단위 내에 1차 픽처의 디코딩의 결여(즉, 우발적인 풀 픽처 손실) 또는 실패(예를 들어, 부분 픽처 손실)시에 1차 픽처 레이어 내의 픽처의 예측을 위한 참조로서 사용될 수 있다.
전술된 요구의 결과는, 각각의 1차 픽처가 (성공적으로) 디코딩되지 않을 때 중복 픽처가 단지 디코딩될 필요가 있다는 것 및 어떠한 개별 서브-DPB도 중복 픽처를 위해 유지될 필요가 없다는 것이 단언된다.
실시예에서, 1차 픽처 레이어는 제 1 EL 비트스트림(외부 베이스 레이어를 갖는) 내의 향상 레이어이고, 중복 픽처 레이어는 제2 EL 비트스트림(외부 베이스 레이어를 갖는) 내의 향상 레이어이다. 달리 말하면, 이 배열에서, 2개의 비트스트림이 코딩되는데, 하나는 1차 픽처를 포함하고 다른 하나는 중복 픽처를 포함한다. 양 비트스트림은 하이브리드 코덱 스케일러빌러티의 향상 레이어 비트스트림으로서 코딩된다. 달리 말하면, 양 비트스트림에서, 단지 향상 레이어만이 코딩되고 베이스 레이어는 외부에 있는 것으로 지시된다. 비트스트림은 향상 레이어 디코딩 프로세스를 위한 비트스트림 포맷에 적합하지 않을 수도 있는 멀티플렉싱된 비트스트림으로 멀티플렉싱될 수 있다. 대안적으로, 비트스트림은 콘테이너 파일 내의 개별 트랙에서와 같이 개별 논리 채널을 사용하여 또는 MPEG-2 전송 스트림 내의 분리된 PID를 사용하여 저장되고 그리고/또는 전송될 수 있다.
인코더는 1차 픽처 EL 비트스트림의 픽처를 인코딩할 수 있어, 이들 픽처가 단지 인트라 및 인터 예측(동일한 레이어 내의)만을 사용하고 후술될 특정 상황에서를 제외하고는 인터 레이어 예측을 사용하지 않을 수 있게 된다. 인코더는 중복 픽처 EL 비트스트림의 픽처를 인코딩할 수 있어, 이들 픽처가 인트라 및 인터 예측(동일한 레이어 내의) 및 1차 픽처 EL 비트스트림에 대응하는 외부 베이스 레이어로부터 인터 레이어 예측을 사용하게 될 수 있게 된다. 그러나, 인코더는 전술된 바와 같이 중복 픽처 EL 비트스트림 내에 인터 예측을 사용하는 것을 생략할 수도 있다(동일한 레이어 내의 픽처로부터). 인코더 및/또는 멀티플렉서는 비트스트림 1(예를 들어, 1차 픽처 EL 비트스트림)의 어느 픽처가 비트스트림 2(예를 들어, 중복 픽처 EL 비트스트림) 내의 픽처를 예측하기 위한 참조로서 사용되는지를 멀티플렉싱된 비트스트림 포맷 및/또는 다른 시그널링 내에(예를 들어, 파일 포맷 메타데이터 또는 통신 프로토콜 내에서) 지시할 수 있고, 그리고/또는 그 반대도 마찬가지이고, 그리고/또는 이러한 인터 비트스트림 또는 인터 레이어 예측 관계를 갖는 비트스트림 1 및 2 내의 픽처의 쌍 또는 그룹을 식별할 수 있다. 특정 경우에, 인코더는 중복 픽처 EL 비트스트림의 픽처가 1차 픽처 EL 비트스트림의 픽처를 위한 예측을 위한 참조로서 사용된다는 지시를 멀티플렉싱된 비트스트림 내에 인코딩할 수 있다. 달리 말하면, 지시는 중복 픽처가 1차 픽처 EL 비트스트림의 외부 베이스 레이어의 참조 레이어 픽처인 것처럼 사용되는 것을 지시한다. 특정 경우는 예를 들어 파엔드 디코더 또는 수신기 등으로부터 하나 이상의 피드백 메시지에 기초하여 인코더(등)에 의해 결정될 수 있다. 하나 이상의 피드백 메시지는 1차 픽처 EL 비트스트림의 하나 이상의 픽처(또는 그 부분)가 결여되어 있거나 성공적으로 디코딩되어 있지 않다는 것을 지시할 수 있다. 부가적으로, 하나 이상의 피드백 메시지는 중복 픽처 EL 비트스트림으로부터의 중복 픽처가 수신되고 성공적으로 디코딩되어 있다는 것을 지시할 수 있다. 따라서, 1차 픽처 EL 비트스트림의 후속 픽처의 예측을 위한 참조로서 1차 픽처 EL 비트스트림의 비수신된 또는 비성공적으로 디코딩된 픽처의 사용을 회피하기 위해, 인코더는 1차 픽처 EL 비트스트림의 후속 픽처의 예측을 위한 참조로서 중복 픽처 EL 비트스트림의 하나 이상의 픽처의 사용을 사용하고 지시하도록 결정할 수 있다. 디코더 또는 디멀티플렉서 등은 중복 픽처 EL 비트스트림의 픽처가 1차 픽처 EL 비트스트림의 픽처를 위한 예측을 위한 참조로서 사용된다는 지시를 멀티플렉싱된 비트스트림으로부터 디코딩할 수 있다. 이에 응답하여, 디코더 또는 디멀티플렉서 등은 중복 픽처 EL 비트스트림의 지시된 픽처를 디코딩할 수 있고, 1차 픽처 EL 비트스트림 디코딩을 위한 디코딩된 외부 베이스 레이어 픽처로서 디코딩된 중복 픽처를 제공할 수 있다. 제공된 디코딩된 외부 베이스 레이어 픽처는 1차 픽처 EL 비트스트림의 하나 이상의 픽처의 디코딩에 있어서 인터 레이어 예측을 위한 참조로서 사용될 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예가 이하에 설명된다. 인코더는 적응성 분해능 변화 기능성을 실현하기 위해 상이한 공간 분해능을 갖는 적어도 2개의 EL 비트스트림을 인코딩한다. 더 저분해능으로부터 더 고분해능으로의 스위칭이 발생할 때, 더 저분해능 EL 비트스트림의 하나 이상의 디코딩된 픽처는 더 고분해능 EL 비트스트림 인코딩 및/또는 디코딩을 위한 외부 베이스 레이어 픽처(들)로서 제공되고, 외부 베이스 레이어 픽처(들)는 인터 레이어 예측을 위한 참조로서 사용될 수 있다. 더 고분해능으로부터 더 저분해능으로의 스위칭이 발생할 때, 더 고분해능 EL 비트스트림의 하나 이상의 디코딩된 픽처는 더 저분해능 EL 비트스트림 인코딩 및/또는 디코딩을 위한 외부 베이스 레이어 픽처(들)로서 제공되고, 외부 베이스 레이어 픽처(들)는 인터 레이어 예측을 위한 참조로서 사용될 수 있다. 이 경우에, 디코딩된 더 고분해능 픽처의 다운샘플링은 예를 들어 인터 비트스트림 프로세스에서와 같이 또는 더 저분해능 EL 비트스트림 인코딩 및/또는 디코딩 내에서 수행될 수 있다. 따라서, 스케일러블 비디오 코딩으로 적응성 분해능 변화를 실현하기 위한 통상의 방법에 비교할 때, 더 고분해능 픽처(통상적으로 더 상위 레이어)로부터 더 저분해능 픽처(통상적으로 더 하위 레이어)로의 인터 레이어 예측이 발생할 수 있다.
이하의 정의가 실시예에서 사용될 수 있다. 레이어 트리는 인터 레이어 예측 종속성과 접속된 레이어의 세트로 정의될 수 있다. 베이스 레이어 트리는 베이스 레이어를 포함하는 레이어 트리로서 정의될 수 있다. 비-베이스 레이어 트리는 베이스 레이어를 포함하지 않는 레이어 트리로서 정의될 수 있다. 독립적인 레이어는 직접 참조 레이어를 갖지 않는 레이어로서 정의될 수 있다. 독립적인 비-베이스 레이어는 베이스 레이어가 아닌 독립적인 레이어로서 정의될 수 있다. MV-HEVC(등) 내의 이들 정의의 예가 도 20a에 제공된다. 예는 어떻게 3-뷰 멀티뷰-비디오-플러스-깊이 MV-HEVC 비트스트림이 nuh_layer_id 값을 할당할 수 있는지를 제시한다. MV-HEVC에서와 같이, 텍스처 비디오로부터 깊이의 예측 또는 그 반대가 존재하지 않고, "베이스" 깊이 뷰를 포함하는 독립적인 비-베이스 레이어가 존재한다. 비트스트림 내에 2개의 레이어, 즉 텍스처 비디오를 위한 레이어를 포함하는 하나(베이스 레이어 트리), 및 깊이 레이어를 포함하는 다른 하나(비-베이스 레이어 트리)가 존재한다.
부가적으로, 이하의 정의가 사용될 수 있다. 레이어 서브트리는 서브세트 내의 레이어의 직접 및 간접 참조 레이어를 포함하는 레이어 트리의 레이어의 서브세트로서 정의될 수 있다. 비-베이스 레이어 서브트리는 베이스 레이어를 포함하지 않는 레이어 서브트리로서 정의될 수 있다. 도 20a를 참조하면, 레이어 서브트리는 예를 들어 0 및 2에 동일한 nuh_layer_id를 갖는 레이어로 이루어질 수 있다. 비-베이스 레이어 서브트리의 예는 1 및 3에 동일한 nuh_layer_id를 갖는 레이어로 이루어진다. 레이어 트리는 레이어 트리의 모든 레이어를 또한 포함할 수 있다. 레이어 트리는 하나 초과의 독립적인 레이어를 포함할 수 있다. 레이어 트리 파티션은 따라서 이들이 동일한 레이어 트리의 더 작은 인덱스를 갖는 레이어 트리 파티션 내에 포함되지 않으면, 정확히 하나의 독립적인 레이어 및 모든 그 직접 또는 간접 예측된 레이어를 포함하는 레이어 트리의 레이어의 서브세트로서 정의될 수 있다. 레이어 트리의 레이어 트리 파티션은 레이어 트리의 독립적인 레이어의 오름차순 레이어 식별자 순서로(예를 들어, MV-HEVC, SHVC 등에서 오름차순 nuh_layer_id 순서로) 유도될 수 있다. 도 20b는 2개의 독립 레이어를 갖는 레이어 트리의 예를 제시하고 있다. 1에 동일한 nuh_layer_id를 갖는 층은 예를 들어, 베이스 레이어의 관심 영역 향상일 수 있고, 반면에 2에 동일한 nuh_layer_id를 갖는 층은 예를 들어, 품질 또는 공간의 견지에서 전체 베이스 레이어를 향상시킬 수 있다. 도 20b의 레이어 트리는 도면에 도시된 바와 같이 2개의 레이어 트리 파티션으로 파티셔닝된다. 비-베이스 레이어 서브트리는 따라서 비-베이스 레이어 트리의 서브세트 또는 0 초과의 파티션 인덱스를 갖는 베이스 레이어 트리의 레이어 트리 파티션일 수 있다. 예를 들어, 도 20b의 레이어 트리 파티션 1은 비-베이스 레이어 서브트리이다.
부가적으로, 이하의 정의가 사용될 수 있다. 부가의 독립적인 레이어 세트는 하나 이상의 비-베이스 레이어 서브트리의 레이어의 세트 또는 외부 베이스 레이어를 갖는 비트스트림의 레이어의 세트로 정의될 수 있다. 부가의 독립적인 레이어 세트는 하나 이상의 비-베이스 레이어 서브트리로 이루어진 레이어 세트로 정의될 수 있다.
몇몇 실시예에서, 출력 레이어 세트 네스팅 SEI 메시지가 사용될 수 있다. 출력 레이어 세트 네스팅 SEI 메시지는 하나 이상의 부가의 레이어 세트 또는 하나 이상의 출력 레이어 세트와 SEI 메시지를 연계하기 위한 메커니즘을 제공하도록 규정될 수 있다. 출력 레이어 세트 네스팅 SEI 메시지의 신택스는 예를 들어, 이하 등과 같을 수 있다:
Figure 112016100265465-pct00021
출력 레이어 세트 네스팅 SEI 메시지의 시맨틱스는 예를 들어, 이하와 같이 지정될 수 있다. 출력 레이어 세트 네스팅 SEI 메시지는 하나 이상의 부가의 레이어 세트 또는 하나 이상의 출력 레이어 세트와 SEI 메시지를 연계하기 위한 메커니즘을 제공한다. 출력 레이어 세트 네스팅 SEI 메시지는 하나 이상의 SEI 메시지를 포함한다. 0에 동일한 ols_flag는 네스팅된 SEI 메시지가 ols_idx[ i ]을 통해 식별된 부가의 레이어 세트와 연계된 것을 지정한다. 1에 동일한 ols_flag는 네스팅된 SEI 메시지가 ols_idx[ i ]을 통해 식별된 출력 레이어 세트와 연계된 것을 지정한다. NumAddLayerSets가 0일 때, ols_flag는 1일 수 있다. num_ols_indices_minus 1 plus 1은 네스팅된 SEI 메시지가 연계되는 부가의 레이어 세트 또는 출력 레이어 세트의 인덱스의 수를 지정한다. ols_idx[ i ]는 네스팅된 SEI 메시지가 연계되는 활성 VPS 내에 지정된 부가의 레이어 세트 또는 출력 레이어 세트의 인덱스를 지정한다. ols_nesting_zero_bit는 예를 들어 0에 동일하도록 코딩 표준에 의해 요구될 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예가 이하에 설명된다. 인코더는 비트스트림 내에 지시할 수 있고 그리고/또는 디코더는 부가의 레이어 세트에 관련된 비트스트림 지시로부터 디코딩할 수 있다. 예를 들어, 부가의 레이어 세트가 레이어 세트 인덱스의 이하의 값 범위: 외부 베이스 레이어가 사용중일 때 부가의 레이어 세트를 위한 인덱스의 제 1 범위, 및 부가의 독립적인 레이어 세트(적합 자립식 비트스트림으로 변환될 수 있음)를 위한 인덱스의 제2 범위 중 하나 또는 모두에서 VPS 확장에 지정될 수 있다. 지시된 부가의 레이어 세트가 통상의 서브-비트스트림 추출 프로세스로 적합 비트스트림을 발생하도록 요구되지 않는다는 것이 예를 들어 코딩 표준에 지정될 수 있다.
부가의 레이어 세트를 지정하기 위한 신택스는 VPS와 같은, 시퀀스 레벨 구조 내에 지시된 레이어 종속성 정보를 이용할 수 있다. 예시적인 실시예에서, 각각의 레이어 트리 파티션 내의 최상위 레이어는 부가의 레이어 세트를 지정하기 위해 인코더에 의해 지시되고 부가의 레이어 세트를 유도하기 위해 디코더에 의해 디코딩된다. 예를 들어, 부가의 레이어 세트는 각각의 레이어 트리의 각각의 레이어 트리 파티션에 대해 1-기반 인덱스가 지시될 수 있고(각각의 레이어 트리 파티션에 대해 독립적인 레이어의 오름차순 레이어 식별자 순서와 같은 사전규정된 순서로), 인덱스 0은 각각의 레이어 트리 파티션으로부터 어떠한 픽처도 레이어 트리 내에 포함되지 않는다는 것을 지시하는데 사용될 수 있다. 부가의 독립적인 레이어 세트에서, 인코더는 어느 독립적인 레이어가 비-베이스 레이어 서브트리 추출 프로세스를 적용한 후에 베이스 레이어가 되는지를 부가적으로 지시한다. 레이어 세트가 단지 하나의 독립적인 비-베이스 레이어만을 포함하면, 정보는 예를 들어, 인코더에 의해 VPS 확장 내에 명시적으로 지시되고 그리고/또는 예를 들어 디코더에 의해 VPS 확장으로부터 디코딩되는 것보다는 인코더 및/또는 디코더에 의해 추론될 수 있다.
재기록된 비트스트림을 위한 VPS 및/또는 HRD 파라미터(예를 들어, HEVC의 버퍼링 기간, 픽처 타이밍 및/또는 디코딩 단위 정보 SEI 메시지)와 같은 몇몇 특성이 재기록 프로세스에서만 적용되도록 지시된 특정 네스팅 SEI 메시지 내에 포함될 수 있어 네스팅된 정보가 역캡슐화되게 된다. 실시예에서, 네스팅 SEI 메시지는 예를 들어 레이어 세트 인덱스에 의해 식별될 수 있는 지정된 레이어 세트에 적용된다. 레이어 세트 인덱스가 하나 이상의 비-베이스 레이어 서브트리의 레이어 세트에 포인팅할 때, 그 하나 이상의 비-베이스 레이어 서브트리를 위한 재기록 프로세스에 적용되는 것으로 결론지을 수 있다. 실시예에서, 전술된 것과 동일한 또는 유사한 출력 레이어 세트 SEI 메시지는 네스팅된 SEI 메시지가 적용되는 부가의 레이어 세트를 지시하는데 사용될 수 있다.
인코더는 이들이 적합한 자립식 비트스트림으로서 재기록된 후에 부가의 독립적인 레이어 세트에 적용되는 하나 이상의 VPS를 발생하고 예를 들어, VPS 재기록 SEI 메시지 내에 이들 VPS를 포함할 수 있다. VPS 재기록 SEI 메시지 등은 출력 레이어 세트 네스팅 SEI 메시지와 같은(예를 들어, 전술된 바와 같은) 적절한 네스팅 SEI 메시지 내에 포함될 수 있다. 부가적으로, 인코더 또는 HRD 검증기 등은 이들이 적합 자립식 비트스트림으로서 재기록된 후에 부가의 독립 레이어 세트에 적용되는 HRD 파라미터를 발생하고, 출력 레이어 세트 네스팅 SEI 메시지와 같은(예를 들어, 전술된 바와 같이) 적절한 네스팅 SEI 메시지 내의 것들을 포함할 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예가 이하에 설명된다. 비-베이스 레이어 서브트리 추출 프로세스는 하나 이상의 비-베이스 레이어 서브트리를 자립식 적합 비트스트림으로 변환할 수 있다. 비-베이스 레이어 서브트리 추출 프로세스는 입력으로서 부가의 독립적인 레이어의 레이어 세트 인덱스 IsIdx를 얻을 수 있다. 비-베이스 레이어 서브트리 추출 프로세스는 이하의 단계 중 하나 이상을 포함할 수 있다:
- 이는 레이어 세트 내에 있지 않은 nuh_layer_id를 갖는 NAL 단위를 제거한다.
- 이는 IsIdx와 연계된 지시된 새로운 베이스 레이어에 동일한 nuh_layer_id를 0으로 재기록한다.
- 이는 VPR 재기록 SEI 메시지로부터 VPS를 추출한다.
- 이는 출력 레이어 세트 네스팅 SEI 메시지로부터 버퍼링 기간, 픽처 타이밍 및 디코딩 단위 정보 SEI 메시지를 추출한다.
- 이는 재기록된 비트스트림에 적용되지 않을 수 있는 네스팅 SEI 메시지를 갖는 SEI NAL 단위를 제거한다.
다른 실시예와 독립적으로 또는 함께 적용될 수 있는 실시예에서, 인코더 또는 HRD 검증기와 같은 다른 엔티티는 이하의 비트스트림의 유형: NoClrasOutputFlag가 1인 IRAP 픽처의 CL-RAS 픽처가 존재하는 비트스트림 및 NoClrasOutputFlag가 1인 IRAP 픽처의 CL-RAS 픽처가 존재하지 않는 비트스트림의 하나 또는 모두를 위한 버퍼링 파라미터를 지시할 수 있다. 예를 들어, CPB 버퍼 크기(들) 및 비트레이트(들)는 예를 들어 비트스트림의 어느 하나 또는 양 언급된 유형을 위해 VUI 내에서 개별적으로 지시될 수 있다. 부가적으로 또는 대안적으로, 인코더 또는 다른 엔티티는 비트스트림의 어느 하나 또는 양 언급된 유형을 위한 초기 CPB 및/또는 DPB 버퍼링 지연 및/또는 다른 버퍼링 및/또는 타이밍 파라미터를 지시할 수 있다. 인코더 또는 다른 엔티티는 예를 들어, 포함된 버퍼링 기간 SEI 메시지가 적용되는 서브-비트스트림, 레이어 세트 또는 출력 레이어 세트를 지시할 수 있는 출력 레이어 세트 네스팅 SEI 메시지(예를 들어, 전술된 바와 동일하거나 유사한 신택스 및 시맨틱스를 갖는) 내로의 버퍼링 기간 SEI 메시지를 포함할 수 있다. HEVC의 버퍼링 기간 SEI 메시지는 2개의 세트의 파라미터를 지시하는 것을 지원하는데, 하나의 경우는 IRAP 픽처(버퍼링 기간 SEI 메시지가 또한 연계되는)와 연계된 리딩 픽처가 존재하는 경우이고, 다른 경우는 리딩 픽처가 존재하지 않는 경우이다. 버퍼링 기간 SEI 메시지가 스케일러블 네스팅 SEI 메시지 내에 포함될 때의 경우에, 파라미터의 후자의(대안) 세트는 IRAP 픽처(버퍼링 기간 SEI 메시지가 또한 연계되는)와 연계된 CL-RAS 픽처가 존재하지 않는 비트스트림에 관련되도록 고려될 수 있다. 일반적으로, 버퍼링 파라미터의 후자의 세트는 NoClrasOutputFlag가 1인 IRAR 픽처와 연계된 CL-RAS 픽처가 존재하지 않는 비트스트림에 관련될 수 있다. 특정 용어 및 변수명이 본 실시예의 설명에 사용되었지만, 디코더 동작이 유사한 한, 다른 용어로 유사하게 실현될 수 있고 동일한 또는 유사한 변수를 사용할 필요는 없다는 것이 이해되어야 한다.
비트스트림 파티션에 기초하는 버퍼링 동작이 제안되어 있고 MV-HEVC/SHVC의 맥락에서 주로 이하에 설명된다. 그러나, 제시된 비트스트림 파티션 버퍼링의 개념은 임의의 스케일러블 코딩에 일반적이다. 이하에 설명되는 바와 같은 버퍼링 동작 등이 HRD의 부분으로서 사용될 수 있다.
비트스트림 파티션은 파티셔닝에 다른 비트스트림의 서브세트인, NAL 단위 스트림 또는 바이트스트림의 형태의 비트의 시퀀스로서 정의될 수 있다. 비트스트림 파티셔닝은 예를 들어 레이어 및/또는 서브레이어에 기초하여 형성될 수 있다. 비트스트림은 하나 이상의 비트스트림 파티션으로 파티셔닝될 수 있다. 비트스트림 파티션(즉, 베이스 비트스트림 파티션) 0의 디코딩은 다른 비트스트림 파티션에 독립적이다. 예를 들어, 베이스 레이어(및 베이스 레이어와 연계된 NAL 단위)는 베이스 비트스트림 파티션이고, 반면에 비트스트림 파티션 1은 베이스 비트스트림 파티션을 제외한 나머지 비트스트림으로 이루어질 수 있다. 베이스 비트스트림 파티션은 또한 적합 비트스트림 자체인 비트스트림 파티션으로서 정의될 수 있다. 상이한 비트스트림 파티셔닝이 예를 들어 상이한 출력 레이어 세트에 사용될 수 있고, 비트스트림 파티션은 따라서 출력 레이어 세트 기초로 지시될 수 있다.
HRD 파라미터는 비트스트림 파티션을 위해 제공될 수 있다. HRD 파라미터가 비트스트림 파티션을 위해 제공될 때, 비트스트림의 적합이 가설 스케쥴링 및 코딩된 픽처 버퍼링이 각각의 비트스트림 파티션에 대해 동작하는 비트스트림 파티션 기반 HRD 동작에 대해 테스트될 수 있다.
비트스트림 파티션이 디코더 및/또는 HRD에 의해 사용될 때, 비트스트림 파티션 버퍼(BPBO, BPB 1,...)라 칭하는 하나 초과의 코딩된 픽처 버퍼가 유지된다. 비트스트림은 하나 이상의 비트스트림 파티션으로 파티셔닝될 수 있다. 비트스트림 파티션(즉, 베이스 비트스트림 파티션) 0의 디코딩은 다른 비트스트림 파티션에 독립적이다. 예를 들어, 베이스 레이어(및 베이스 레이어와 연계된 NAL 단위)는 베이스 비트스트림 파티션일 수 있고, 반면에 비트스트림 파티션 1은 베이스 비트스트림 파티션을 제외한 나머지 비트스트림으로 이루어질 수 있다. 본 명세서에 설명된 바와 같은 CPB 동작에서, 디코딩 단위(DU) 프로세싱 기간(CPB 초기 도달로부터 CPB 제거까지)이 상이한 BPB에서 중첩할 수 있다. 따라서, HRD 모델은 각각의 비트스트림 파티션을 위한 디코딩 프로세스가 그 스케쥴링된 레이트로 착신 비트스트림 파티션을 실시간으로 디코딩하는 것이 가능하다는 가정으로 병렬 프로세싱을 고유적으로 지원한다.
다른 실시예와 독립적으로 또는 함께 적용될 수 있는 실시예에서, 버퍼링 파라미터를 인코딩하는 것은 비트스트림 파티션을 지시하는 네스팅 데이터 구조를 인코딩하는 것 및 네스팅 데이터 구조 내에 버퍼링 파라미터를 인코딩하는 것을 포함할 수 있다. 비트스트림 파티션을 위한 버퍼링 기간 및 픽처 타이밍 정보는 예를 들어, 버퍼링 기간, 픽처 타이밍 및 네스팅 SEI 메시지 내에 포함된 디코딩 유닛 정보 SEI 메시지를 사용하여 전달될 수 있다. 예를 들어, 비트스트림 파티션 네스팅 SEI 메시지는 네스팅된 SEI 메시지가 적용되는 비트스트림 파티션을 지시하는데 사용될 수 있다. 비트스트림 파티션 네스팅 SEI 메시지의 신택스는 어느 비트스트림 파티셔닝 및/또는 어느 비트스트림 파티션(지시된 비트스트림 파티셔닝 내에)이 이것이 적용되어 있는지의 하나 이상의 지시를 포함한다. 지시는 예를 들어, 비트스트림 파티셔닝 및/또는 비트스트림 파티션이 지정되어 있고 그리고 파티셔닝 및/또는 파티션이 예를 들어 이것이 지정되어 있는 순서에 따라 암시적으로 인덱싱되거나 신택스 요소로 명시적으로 인덱싱되는 신택스 레벨 신택스 구조를 참조하는 인덱스일 수 있다. 출력 레이어 세트 네스팅 SEI 메시지는 포함된 SEI 메시지가 적용되는 출력 레이어 세트를 지정할 수 있고, SEI 메시지가 적용되는 출력 레이어 세트의 비트스트림 파티션을 지정하는 비트스트림 파티션 네스팅 SEI 메시지를 포함할 수 있다. 비트스트림 파티션 네스팅 SEI 메시지는 이어서 하나 이상의 버퍼링 기간, 픽처 타이밍 및 지정된 레이어 세트 및 비트스트림 파티션을 위한 디코딩 단위 정보 SEI 메시지를 포함할 수 있다.
도 4a는 본 발명의 실시예를 이용하기 위해 적합한 비디오 인코더의 블록도를 도시하고 있다. 도 4a는 2개의 레이어를 위한 인코더를 제시하고 있지만, 제시된 인코더가 2개 초과의 레이어를 인코딩하도록 유사하게 확장될 수 있다는 것이 이해될 수 있을 것이다. 도 4a는 베이스 레이어를 위한 제 1 인코더 섹션(500) 및 향상 레이어를 위한 제2 인코더 섹션(502)을 포함하는 비디오 인코더의 실시예를 도시하고 있다. 제 1 인코더 섹션(500) 및 제2 인코더 섹션(502)의 각각은 착신 픽처를 인코딩하기 위한 유사한 요소를 포함할 수 있다. 인코더 섹션(500, 502)은 픽셀 예측자(302, 402), 예측 에러 인코더(303, 403) 및 예측 에러 디코더(304, 404)를 포함할 수 있다. 도 4a는 또한 인터 예측자(306, 406), 인트라 예측자(308, 408), 모드 선택기(310, 410), 필터(316, 416), 및 참조 프레임 메모리(318, 418)를 포함하는 것으로서 픽셀 예측자(302, 402)의 실시예를 도시하고 있다. 제 1 인코더 섹션(500)의 픽셀 예측자(302)는 인터 예측자(306)(이미지와 모션 보상된 참조 프레임(318) 사이의 차이를 결정함)와 인트라 예측자(308)(현재 프레임 또는 픽처의 미리 프로세싱된 부분에만 기초하여 이미지 블록을 위한 예측을 결정함)의 모두에서 인코딩될 비디오 스트림의 베이스 레이어 이미지를 수신한다(300). 인터 예측자 및 인트라 예측자의 모두의 출력은 모드 선택기(310)로 패스된다. 인트라 예측자(308)는 하나 초과의 인트라 예측 모드를 가질 수 있다. 따라서, 각각의 모드는 인트라 예측을 수행할 수 있고, 예측된 신호를 모드 선택기(310)에 제공할 수 있다. 모드 선택기(310)는 또한 베이스 레이어 픽처(300)의 카피를 또한 수신한다. 대응적으로, 제2 인코더 섹션(502)의 픽셀 예측자(402)는 인터 예측자(406)(이미지와 모션 보상된 참조 프레임(418) 사이의 차이를 결정함)와 인트라 예측자(408)(현재 프레임 또는 픽처의 미리 프로세싱된 부분에만 기초하여 이미지 블록을 위한 예측을 결정함)의 모두에서 인코딩될 비디오 스트림의 향상 레이어 이미지를 수신한다(400). 인터 예측자 및 인트라 예측자의 모두의 출력은 모드 선택기(410)로 패스된다. 인트라 예측자(408)는 하나 초과의 인트라 예측 모드를 가질 수 있다. 따라서, 각각의 모드는 인트라 예측을 수행할 수 있고, 예측된 신호를 모드 선택기(410)에 제공할 수 있다. 모드 선택기(410)는 또한 향상 레이어 픽처(400)의 카피를 또한 수신한다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예에서, 인코더 등(HRD 검증기와 같은)은 비트스트림 내에, 예를 들어 VPS 내에 또는 SEI 메시지 내에서, 스킵 픽처를 포함하는 층 또는 층의 세트를 위한 제2 서브-DPB 크기를 지시할 수 있고, 여기서 제2 서브-DPB 크기는 스킵 픽처를 배제한다. 제2 서브-DPB 크기는 현재의 MV-HEVC 및 SHVC 드래프트 사양의 max_vps_dec_pic_buffering_minus1 [ i ][ k ][ j ] 및/또는 max_vps_layer_dec_pic_buff_minus 1 [ i ][ k ][ j ]와 같은 통상의 서브-DPB 크기 또는 크기들을 지시하는 것에 추가하여 지시될 수 있다. 스킵 픽처의 존재가 없는 레이어 단위 서브-DPB 크기 및/또는 분해능 특정 DPB 동작을 위한 서브-DPB 크기가 지시될 수 있다는 것이 이해되어야 한다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예에서, 디코더 등(HRD와 같은)은 비트스트림으로부터, 예를 들어 VPS로부터 또는 SEI 메시지로부터, 스킵 픽처를 포함하는 층 또는 층의 세트를 위한 제2 서브-DPB 크기를 디코딩할 수 있고, 여기서 제2 서브-DPB 크기는 스킵 픽처를 배제한다. 제2 서브-DPB 크기는 현재의 MV-HEVC 및 SHVC 드래프트 사양의 max_vps_dec_pic_buffering_minus1 [ i ][ k ][ j ] 및/또는 max_vps_layer_dec_pic_buff_minus 1 [ i ][ k ][ j ]와 같은 통상의 서브-DPB 크기 또는 크기들을 디코딩하는 것에 추가하여 디코딩될 수 있다. 스킵 픽처의 존재가 없는 레이어 단위 서브-DPB 크기 및/또는 분해능 특정 DPB 동작을 위한 서브-DPB 크기는 디코딩될 수 있다는 것이 이해되어야 한다. 디코더 등은 디코딩된 픽처를 위한 버퍼를 할당하기 위해 제2 서브-DPB 크기 등을 사용할 수 있다. 디코더 등은 DPB 내로의 디코딩된 스킵 픽처의 저장을 생략할 수 있다. 대신에, 스킵 픽처가 예측을 위한 참조로서 사용될 때, 디코더 등은 예측을 위한 참조 픽처로서 스킵 픽처에 대응하는 참조 레이어 픽처를 사용할 수 있다. 참조 레이어 픽처가 참조로서 사용될 수 있기 전에, 리샘플링과 같은 인터 레이어 프로세싱을 요구하면, 디코더는 스킵 픽처에 대응하는 참조 레이어 픽처를 프로세싱하고, 예를 들어 리샘플링하고, 예측을 위해 참조로서 프로세싱된 참조 레이어 픽처를 사용할 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예에서, 인코더 등(HRD 검증기와 같은)은 비트스트림 내에서, 예를 들어 HEVC 슬라이스 세그먼트 헤더의 slice_reserved[ i ] 신택스 요소의 비트 위치를 사용하여 그리고/또는 SEI 메시지로부터 픽처가 스킵 픽처인 것을 지시할 수 있다. 다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예에서, 인코더 등(HRD 검증기와 같은)은 비트스트림으로부터, 예를 들어 HEVC 슬라이스 세그먼트 헤더의 slice_reserved[ i ] 신택스 요소의 비트 위치로부터 및/또는 SEI 메시지로부터 픽처가 스킵 픽처인 것을 디코딩할 수 있다.
모드 선택기(310)는 통상적으로 블록 기초로, 비용 평가기 블록(382)에서, 코딩 모드와 예를 들어 모션 벡터, 참조 인덱스, 및 인트라 예측 방향과 같은 이들의 파라미터값 사이를 선택하기 위해 라그랑지 비용 함수를 사용할 수 있다. 이 종류의 비용 함수는 손실 코딩 방법에 기인하는 이미지 왜곡(정확한 또는 추정된)과 이미지 영역 내의 픽셀값을 표현하도록 요구되는 정보의 양(정확한 또는 추정된)을 함께 타이하기 위해 가중 팩터 λ를 사용할 수 있는데: C = D + lambda×R, 여기서 C는 최소화될 라그랑지 비용이고, D는 모드 및 이들의 파라미터를 갖는 이미지 왜곡(예를 들어, 평균 제곱 에러)이고, R은 디코더 내에 이미지 블록을 재구성하기 위해 요구된 데이터를 표현하도록 요구된 비트의 수(예를 들어, 후보 모션 벡터를 표현하기 위한 데이터의 양을 포함함)이다.
인코딩 모드가 현재 블록을 인코딩하도록 선택되는지에 따라, 인터 예측자(306, 406)의 출력 또는 선택적 인트라 예측자 모드 중 하나의 출력 또는 모드 선택기 내의 표면 인코더의 출력이 모드 선택기(310, 410)의 출력에 패스된다. 모드 선택기의 출력이 제 1 합산 디바이스(321, 421)에 패스된다. 제 1 합산 디바이스는 베이스 레이어 픽처(300)/향상 레이어 픽처(400)로부터 픽셀 예측자(302, 402)의 출력을 감산하여 예측 에러 인코더(303, 403)에 입력되는 제 1 예측 에러 신호(320, 420)를 생성할 수 있다.
픽셀 예측자(302, 402)는 또한 이미지 블록(312, 412)의 예측 표현과 예측 에러 디코더(304, 404)의 출력(338, 438)의 조합을 예비 재구성기(339, 439)로부터 수신한다. 예비 재구성된 이미지(314, 414)는 인트라 예측자(308, 408)에 그리고 필터(316, 416)에 패스될 수 있다. 예비 표현을 수신하는 필터(316, 416)는 예비 표현을 필터링할 수 있고, 참조 프레임 메모리(318, 418) 내에 세이브될 수 있는 최종 재구성된 이미지(340, 440)를 출력할 수 있다. 참조 프레임 메모리(318)는 미래의 베이스 레이어 픽처(300)가 인터 예측 동작에 비교되는 참조 이미지로서 사용될 인터 예측자(306)에 접속될 수 있다. 몇몇 실시예에 따른 향상 레이어의 인터 레이어 샘플 예측 및/또는 인터 레이어 모션 정보 예측을 위해 베이스 레이어가 선택되어 소스인 것으로 지시되게 하면, 참조 프레임 메모리(318)는 또한 미래의 향상 레이어 픽처(400)가 인터 예측 동작에서 비교되는 참조 이미지로서 사용될 인터 예측자(406)에 접속될 수 있다. 더욱이, 참조 프레임 메모리(418)는 미래의 향상 레이어 픽처(400)가 인터 예측 동작에 비교되는 참조 이미지로서 사용될 인터 예측자(406)에 접속될 수 있다.
제 1 인코더 섹션(500)의 필터(316)로부터의 필터링 파라미터는, 몇몇 실시예에 따른 향상 레이어의 필터링 파라미터를 예측하기 위해 베이스 레이어가 선택되어 소스인 것으로 지시되게 하면, 제2 인코더 섹션(502)에 제공될 수 있다.
예측 에러 인코더(303, 403)는 변환 유닛(342, 442) 및 양자화기(344, 444)를 포함할 수 있다. 변환 유닛(342, 442)은 제 1 예측 에러 신호(320, 420)를 변환 도메인으로 변환한다. 변환은 예를 들어, DCT 변환이다. 양자화기(344, 444)는 예를 들어 DCT 계수와 같은 변환 도메인 신호를 양자화하여 양자화된 계수를 형성한다.
예측 에러 디코더(304, 404)는 예측 에러 인코더(303, 403)로부터 출력을 수신하고, 예측 에러 인코더(303, 403)의 반대 프로세스를 수행하여 제2 합산 디바이스(339, 439)에서 이미지 블록(312, 412)의 예측 표현과 조합될 때 예비 재구성된 이미지(314, 414)를 생성하는 디코딩된 예측 에러 신호(338, 438)를 생성한다. 예측 에러 디코더는 예를 들어 DCT 계수와 같은 양자화된 계수값을 역양자화하여, 변환 신호를 재구성하는 역양자화기(361, 461)와, 재구성된 변환 신호에 역변환을 수행하는 역변환 유닛(363, 463)을 포함하는 것으로 고려될 수 있고, 역변환 유닛(363, 463)의 출력은 재구성된 블록(들)을 포함한다. 예측 에러 디코더는 다른 디코딩된 정보 및 필터 파라미터에 따라 재구성된 블록(들)을 필터링할 수 있는 블록 필터를 또한 포함할 수 있다.
엔트로피 인코더(330, 430)는 예측 에러 인코더(303, 403)의 출력을 수신하고, 에러 검출 및 보정 기능을 제공하기 위해 신호 상에 적합한 엔트로피 인코딩/가변 길이 인코딩을 수행할 수 있다. 엔트로피 인코더(330, 430)의 출력은 예를 들어 멀티플렉서(508)에 의해 비트스트림 내로 삽입될 수 있다.
도 4b는 베이스 레이어 향상 요소(500) 및 향상 레이어 인코딩 요소(502)를 포함하는 공간 스케일러빌러티 인코딩 장치(400)의 실시예의 더 상위 레벨 블록도를 도시하고 있다. 베이스 레이어 인코딩 요소(500)는 입력 비디오 신호(300)를 베이스 레이어 비트스트림(506)에 인코딩하고, 각각 향상 레이어 인코딩 요소(502)는 입력 비디오 신호(300)를 향상 레이어 비트스트림(507)에 인코딩한다. 공간 스케일러빌러티 인코딩 장치(400)는 베이스 레이어 표현 및 향상 레이어 표현의 분해능이 서로 상이하면 입력 비디오 신호를 다운샘플링하기 위한 다운샘플러(404)를 또한 포함할 수 있다. 예를 들어, 베이스 레이어와 향상 레이어 사이의 스케일링 팩터는 1:2일 수 있고, 향상 레이어의 분해능은 베이스 레이어의 분해능의 2배이다(수평 및 수직 방향의 모두에서).
베이스 레이어 인코딩 요소(500) 및 향상 레이어 인코딩 요소(502)는 도 4a에 도시된 인코더를 갖는 유사한 요소를 포함할 수 있고 또는 이들은 서로 상이할 수 있다.
다수의 실시예에서, 참조 프레임 메모리(318, 418)는 상이한 레이어의 디코딩된 픽처를 저장하는 것이 가능할 수 있고 또는 상이한 레이어의 디코딩된 픽처를 저장하기 위한 상이한 참조 프레임 메모리가 존재할 수 있다.
픽셀 예측자(302, 402)의 동작은 임의의 픽셀 예측 알고리즘을 수행하도록 구성될 수 있다.
필터(316)는 참조 이미지로부터 블록킹, 링잉 등가 같은 다양한 아티팩트를 감소시키는데 사용될 수 있다.
필터(316)는 예를 들어, 디블록킹 필터, 샘플 적응성 오프셋(SAO) 필터 및/또는 적응성 루프 필터(ALF)를 포함할 수 있다. 몇몇 실시예에서, 인코더는 픽처의 어느 영역이 필터링되는지 및 필터 계수를 예를 들어 RDO에 기초하여 결정하고, 이 정보는 디코더에 시그널링된다.
향상 레이어 인코딩 요소(502)가 SAO 필터를 선택하면, 이는 상기에 제시된 SAO 알고리즘을 이용할 수 있다.
예측 에러 인코더(303, 403)는 변환 유닛(342, 442) 및 양자화기(344, 444)를 포함할 수 있다. 변환 유닛(342, 442)은 제 1 예측 에러 신호(320, 420)를 변환 도메인으로 변환한다. 변환은 예를 들어, DCT 변환이다. 양자화기(344, 444)는 변환 도메인 신호, 예를 들어 DCT 계수를 양자화하여 양자화된 계수를 형성한다.
예측 에러 디코더(304, 404)는 예측 에러 인코더(303, 403)로부터 출력을 수신하고, 예측 에러 인코더(303, 403)의 반대 프로세스를 수행하여 제2 합산 디바이스(339, 439)에서 이미지 블록(312, 412)의 예측 표현과 조합될 때 예비 재구성된 이미지(314, 414)를 생성하는 디코딩된 예측 에러 신호(338, 438)를 생성한다. 예측 에러 디코더는 예를 들어 DCT 계수와 같은 양자화된 계수값을 역양자화하여, 변환 신호를 재구성하는 역양자화기(361, 461)와, 재구성된 변환 신호에 역변환을 수행하는 역변환 유닛(363, 463)을 포함하는 것으로 고려될 수 있고, 역변환 유닛(363, 463)의 출력은 재구성된 블록(들)을 포함한다. 예측 에러 디코더는 다른 디코딩된 정보 및 필터 파라미터에 따라 재구성된 매크로블록을 필터링할 수 있는 매크로블록 필터를 또한 포함할 수 있다.
엔트로피 인코더(330, 430)는 예측 에러 인코더(303, 403)의 출력을 수신하고, 에러 검출 및 보정 기능을 제공하기 위해 신호 상에 적합한 엔트로피 인코딩/가변 길이 인코딩을 수행할 수 있다. 엔트로피 인코더(330, 430)의 출력은 예를 들어 멀티플렉서(508)에 의해 비트스트림 내에 삽입될 수 있다.
몇몇 실시예에서, 필터(440)는 샘플 적응성 필터를 포함하고, 몇몇 다른 실시예에서, 필터(440)는 적응성 루프 필터를 포함하고, 몇몇 또 다른 실시예에서, 필터(440)는 샘플 적응성 필터 및 적응성 루프 필터의 모두를 포함한다.
베이스 레이어와 향상 레이어의 분해능이 서로 상이하면, 필터링된 베이스 레이어 샘플값은 업샘플러(450)에 의해 업샘플링될 필요가 있을 수도 있다. 업샘플러(450)의 출력, 즉 업샘플링된 필터링된 베이스 레이어 샘플값은 이어서 향상 레이어 상의 현재 블록의 픽셀값의 예측을 위한 기준으로서 향상 레이어 인코딩 요소(502)에 제공된다.
완료를 위해, 적합한 디코더가 이하에 설명된다. 그러나, 몇몇 디코더는 향상 레이어 데이터를 프로세싱하는 것이 가능하지 않을 수 있고, 여기서 이들은 이들이 모든 수신된 이미지를 디코딩하는 것이 가능하지 않을 수 있다. 디코더는 inter_layer_pred_for_el_rap_only_flag 및 single_layer_for_non_rap_flag와 같은 2개의 플래그의 값을 결정하기 위해 수신된 비트스트림을 검사할 수 있다. 제 1 플래그의 값이 단지 향상 레이어 내의 랜덤 액세스 픽처만이 인터 레이어 예측을 이용할 수 있고 향상 레이어 내의 비-RAP 픽처가 인터 레이어 예측을 전혀 이용하지 않는 것을 지시하면, 디코더는 인터 레이어 예측이 단지 RAP 픽처와 함께 사용된다는 것을 연역할 수 있다.
디코더측에서, 유사한 동작이 이미지 블록을 재구성하도록 수행된다. 도 5a는 본 발명의 실시예를 구체화하기 위해 적합한 비디오 디코더의 블록도를 도시하고 있다. 본 실시예에서, 비디오 디코더(550)는 베이스 뷰 콤포넌트를 위한 제 1 디코더 섹션(552) 및 비-베이스 뷰 콤포넌트를 위한 제2 디코더 섹션(554)을 포함한다. 블록(556)은 베이스 뷰 콤포넌트에 관한 정보를 제 1 디코더 섹션(552)에 전달하기 위한 그리고 비-베이스 뷰 콤포넌트에 관한 정보를 제2 디코더 섹션(554)에 전달하기 위한 디멀티플렉서를 도시한다. 디코더는 수신된 신호 상에 엔트로피 디코딩(E-1)을 수행하는 엔트로피 디코더(700, 800)를 나타낸다. 엔트로피 디코더는 따라서 전술된 인코더의 엔트로피 인코더(330, 430)에 역동작을 수행한다. 엔트로피 디코더(700, 800)는 예측 에러 디코더(701, 801) 및 픽셀 예측자(704, 804)에 엔트로피 디코딩의 결과를 출력한다. 참조 P'n은 이미지 블록의 예측된 표현을 나타낸다. 참조 D'n은 재구성된 예측된 에러 신호를 나타낸다. 블록(705, 805)은 예비 재구성된 이미지 또는 이미지 블록(I'n)을 도시한다. 참조 R'n은 최종 재구성된 이미지 또는 이미지 블록을 나타낸다. 블록(703, 803)은 역변환(T-1)을 나타낸다. 블록(702, 802)은 역양자화(Q-1)를 나타낸다. 블록(706, 806)은 참조 프레임 메모리(RFM)를 나타낸다. 블록(707, 807)은 예측(P)(인터 예측 또는 인트라 예측)을 나타낸다. 블록(708, 808)은 필터링(F)을 나타낸다. 블록(709, 809)은 예비 재구성된 이미지(I'n)를 얻기 위해 예측된 베이스 뷰/비-베이스 뷰 콤포넌트와 디코딩된 예측 에러 정보를 합성하는데 사용된다. 예비 재구성된 그리고 필터링된 베이스 뷰 이미지는 제 1 디코더 섹션(552)으로부터 출력될 수 있고(710), 예비 재구성된 그리고 필터링된 베이스 뷰 이미지는 제2 디코더 섹션(554)으로부터 출력될 수 있다(810).
픽셀 예측자(704, 804)는 엔트로피 디코더(700, 800)의 출력을 수신한다. 엔트로피 디코더(700, 800)의 출력은 현재 블록을 인코딩하는데 사용되는 예측 모드에서 지시를 포함할 수 있다. 픽셀 예측자(704, 804) 내의 예측자 선택기(707, 807)는 디코딩될 현재 블록이 향상 레이어 블록인 것으로 결정할 수 있다. 따라서, 예측자 선택기(707, 807)는 현재 향상 레이어 블록을 디코딩하는 동안 베이스 레이어 예측 블록을 필터링하기 위해 베이스 레이어와 같은 다른 레이어 상에 대응 블록으로부터 정보를 사용하도록 선택할 수 있다. 베이스 레이어 예측 블록이 인코더에 의해 향상 레이어 예측에 사용하기 전에 필터링되어 있다는 지시는 디코더에 의해 수신될 수 있고, 여기서 픽셀 예측자(704, 804)는 재구성된 베이스 레이어 블록값을 필터(708, 808)에 제공하고 예를 들어, SAO 필터 및/또는 적응성 루프 필터와 같은 어느 종류의 필터가 사용되는지를 결정하기 위해 지시를 사용할 수 있고, 또는 수정된 디코딩 모드가 사용되어야 하는지 여부를 판정하기 위한 다른 방법이 존재할 수 있다.
예측자 선택기는 이미지 블록(P'n)의 예측된 표현을 제 1 합성기(709)에 출력할 수 있다. 이미지 블록의 예측된 표현은 예비 재구성된 이미지(I'n)를 발생하기 위해 재구성된 예측 에러 신호(D'n)와 함께 사용된다. 예비 재구성된 이미지는 예측자(704, 804)에 사용될 수 있고 또는 필터(708, 808)에 패스될 수 있다. 필터는 최종 재구성된 신호(R'n)를 출력하는 필터링을 인가한다. 최종 재구성된 신호(R'n)는 참조 프레임 메모리(706, 806) 내에 저장될 수 있고, 참조 프레임 메모리(706, 806)는 또한 예측 동작을 위해 예측자(707, 807)에 접속되어 있다.
예측 에러 디코더(702, 802)는 엔트로피 디코더(700)의 출력을 수신한다. 예측 에러 디코더(702, 802)의 역양자화기(702, 802)는 엔트로피 디코더(700, 800)의 출력을 역양자화할 수 있고, 역변환 블록(703, 803)은 역양자화기(702, 802)에 의해 출력된 양자화 신호에 대한 역변환 연산을 수행할 수 있다. 엔트로피 디코더(700, 800)의 출력은 또한 예측 에러 신호가 인가되지 않는 것을 지시할 수 있고, 이 경우에 예측 에러 디코더는 올 제로 출력 신호를 생성한다.
도 5a의 다양한 블록에서, 도 5a에는 도시되어 있지 않더라도, 인터 레이어 예측이 적용될 수 있다는 것이 이해되어야 한다. 인터 레이어 예측은 샘플 예측 및/또는 신택스/파라미터 예측을 포함할 수 있다. 예를 들어, 하나의 디코더 섹션으로부터의 참조 픽처(예를 들어, RFM(706))는 다른 디코더 섹션의 샘플 예측을 위해 사용될 수 있다(예를 들어, 블록(807)). 다른 예에서, 하나의 디코더 섹션으로부터의 신택스 요소 또는 파라미터(예를 들어, 블록(708)으로부터의 필터 파라미터)는 다른 디코더 섹션의 신택스/파라미터 예측을 위해 사용될 수 있다(예를 들어, 블록(808)).
몇몇 실시예에서, 뷰는 H.264/AVC 또는 HEVC 이외의 다른 표준으로 코딩될 수 있다.
도 5b는 베이스 레이어 디코딩 요소(810) 및 향상 레이어 디코딩 요소(820)를 포함하는 공간 스케일러빌러티 디코딩 장치(800)의 블록도를 도시한다. 베이스 레이어 디코딩 요소(810)는 인코딩된 베이스 레이어 비트스트림(802)을 베이스 레이어 디코딩된 비디오 신호(818)로 디코딩하고, 각각 향상 레이어 디코딩 요소(820)는 인코딩된 향상 레이어 비트스트림(804)을 향상 레이어 디코딩된 비디오 신호(828)로 디코딩한다. 공간 스케일러빌러티 디코딩 장치(400)는 재구성된 베이스 레이어 픽셀값을 필터링하기 위한 필터(840) 및 필터링된 재구성된 베이스 레이어 픽셀값을 업샘플링하기 위한 업샘플러(850)를 또한 포함할 수 있다.
베이스 레이어 디코딩 요소(810) 및 향상 레이어 디코딩 요소(820)는 도 4a에 도시된 인코더를 갖는 유사한 요소를 포함할 수 있고 또는 이들은 서로 상이할 수 있다. 달리 말하면, 베이스 레이어 디코딩 요소(810) 및 향상 레이어 디코딩 요소(820)의 모두는 도 5a에 도시된 디코더의 요소의 전체 또는 일부를 포함할 수 있다. 몇몇 실시예에서, 동일한 디코더 회로는 베이스 레이어 디코딩 요소(810) 및 향상 레이어 디코딩 요소(820)의 동작을 구현하기 위해 사용될 수 있고, 여기서 디코더는 그가 현재 디코딩하고 있는 레이어를 인식한다.
HEVC SAO 및 HEVC ALF 포스트 필터를 포함하여, 베이스 레이어 데이터를 위한 프리프로세서로서 사용된 임의의 향상 레이어 후처리 모듈을 사용하는 것이 또한 가능할 수 있다. 향상 레이어 후처리 모듈은 베이스 레이어 데이터 상에서 동작할 때 수정될 수 있다. 예를 들어, 특정 모드가 디스에이블링될 수 있고 또는 특정의 새로운 모드가 추가될 수 있다.
도 8은 다양한 실시예가 구현될 수 있는 일반적인 멀티미디어 통신 시스템의 그래픽 표현이다. 도 8에 도시된 바와 같이, 데이터 소스(900)는 아날로그, 비압축된 디지털, 또는 압축된 디지털 포맷, 또는 이들 포맷의 임의의 조합으로 소스 신호를 제공한다. 인코더(910)는 소스 신호를 코딩된 미디어 비트스트림 내로 인코딩한다. 디코딩될 비트스트림은 가상적으로 임의의 유형의 네트워크 내에 로케이팅된 원격 디바이스로부터 직접 또는 간접 수신될 수 있다는 것이 주목되어야 한다. 부가적으로, 비트스트림은 로컬 하드웨어 또는 소프트웨어로부터 수신될 수 있다. 인코더(910)는 오디오 및 비디오와 같은 하나 초과의 미디어 유형을 인코딩하는 것이 가능할 수 있고, 또는 하나 초과의 인코더(910)가 상이한 미디어 유형의 소스 신호를 코딩하도록 요구될 수 있다. 인코더(910)는 또한 그래픽 및 텍스트와 같은 합성적으로 생성된 입력을 얻을 수 있고, 또는 합성 미디어의 코딩된 비트스트림을 생성하는 것이 가능할 수 있다. 이하, 단지 하나의 미디어 유형의 하나의 코딩된 미디어 비트스트림의 프로세싱만이 설명을 간단화하기 위해 고려된다. 그러나, 통상적으로 멀티미디어 서비스는 다수의 스트림(통상적으로 적어도 하나의 오디오 및 비디오 스트림)을 포함한다는 것이 주목되어야 한다. 시스템은 다수의 인코더를 포함할 수 있지만, 도 8에서 단지 하나의 인코더(910)만이 일반성의 결여 없이 설명을 간단화하기 위해 표현되어 있다는 것이 또한 주목되어야 한다. 본 명세서에 포함된 텍스트 및 예는 인코딩 프로세스를 구체적으로 설명할 수 있지만, 당 기술 분야의 숙련자는 동일한 개념 및 원리가 또한 대응 디코딩 프로세스에 적용되고 그 반대도 마찬가지라는 것을 이해할 수 있다는 것이 또한 이해되어야 한다.
코딩된 미디어 비트스트림은 저장 장치(920)로 전달된다. 저장 장치(920)는 코딩된 미디어 비트스트림을 저장하기 위해 임의의 유형의 대용량 메모리를 포함할 수 있다. 저장 장치(920) 내의 코딩된 미디어 비트스트림의 포맷은 기본 자급식 비트스트림 포맷일 수 있고, 또는 하나 이상의 코딩된 미디어 비트스트림이 콘테이너 파일 내로 캡슐화될 수 있다. 하나 이상의 미디어 비트스트림이 콘테이너 파일 내에 캡슐화되면, 파일 발생기(도면에는 도시 생략)는 하나 이상의 미디어 비트스트림을 파일 내에 저장하고 또한 파일 내에 저장된 파일 포맷 메타데이터를 생성하는데 사용될 수 있다. 인코더(910) 또는 저장 장치(920)는 파일 발생기를 포함할 수 있고, 또는 파일 발생기는 인코더(910) 또는 저장 장치(920)에 동작식으로 연결된다. 몇몇 시스템은 "라이브"로 동작하는데, 즉 저장 장치가 생략되고, 인코더(910)로부터 송신기(930)로 직접 코딩된 미디어 비트스트림을 전달한다. 코딩된 미디어 비트스트림은 이어서 필요에 따라, 서버라 또한 칭하는 송신기(930)에 전달된다. 전송에 사용된 포맷은 기본 자급식 비트스트림 포맷, 패킷 스트림 포맷일 수 있고, 또는 하나 이상의 코딩된 미디어 비트스트림이 콘테이너 파일 내로 캡슐화될 수 있다. 인코더(910), 저장 장치(920), 및 서버(930)는 동일한 물리적 디바이스 내에 존재할 수 있고 또는 이들은 개별 디바이스 내에 포함될 수 있다. 인코더(910) 및 서버(930)는 라이브 실시간 콘텐트로 동작할 수 있는데, 이 경우에 코딩된 미디어 비트스트림은 통상적으로 영구적으로 저장되지 않고, 오히려 콘텐트 인코더(910) 내에 및/또는 서버(930) 내에 짧은 시간 기간 동안 버퍼링되어 프로세싱 지연, 전송 지연 및 코딩된 미디어 비트레이트의 편차를 평활화한다.
서버(930)는 통신 프로토콜 스택을 사용하여 코딩된 미디어 비트스트림을 송신한다. 스택은 실시간 전송 프로토콜(RTP), 사용자 데이터그램 프로토콜(UDP), 및 인터넷 프로토콜(IP)을 포함할 수 있지만, 이들에 한정되는 것은 아니다. 통신 프로토콜 스택이 패킷 지향성이면, 서버(930)는 코딩된 미디어 비트스트림을 패킷 내로 캡슐화한다. 예를 들어, RTP가 사용될 때, 서버(930)는 RTP 페이로드 포맷에 따라 코딩된 미디어 비트스트림을 RTP 패킷 내로 캡슐화한다. 통상적으로, 각각의 미디어 유형은 전용 RTP 페이로드 포맷을 갖는다. 시스템은 하나 초과의 서버(930)를 포함할 수 있지만, 간단화를 위해, 이하의 설명은 단지 하나의 서버(930)만을 고려한다는 것이 재차 주목되어야 한다.
미디어 콘텐트가 저장 장치(920)를 위해 또는 데이터를 송신기(930)에 입력하기 위해 콘테이너 파일 내에 캡슐화되면, 송신기(930)는 "송신 파일 파서"(도면에는 도시 생략)를 포함하거나 작동식으로 연결될 수 있다. 특히, 콘테이너 파일이 이와 같이 전송되지 않고 포함된 코딩된 미디어 비트스트림 중 적어도 하나가 통신 프로토콜을 통한 전송을 위해 캡슐화되면, 송신 파일 파서는 통신 프로토콜을 통해 전달될 코딩된 미디어 비트스트림의 적절한 부분을 로케이팅한다. 송신 파일 파서는 또한 패킷 헤더 및 페이로드와 같은 통신 프로토콜을 위한 정확한 포맷을 생성하는 것을 도울 수 있다. 멀티미디어 콘테이너 파일은 통신 프로토콜 상의 포함된 미디어 비트스트림 중 적어도 하나의 캡슐화를 위해, ISO 베이스 미디어 파일 포맷 내의 힌트 트랙과 같은 캡슐화 인스트럭션을 포함할 수 있다.
서버(930)는 통신 네트워크를 통해 게이트웨이(940)에 접속될 수도 있고 또는 접속되지 않을 수도 있다. 또한 또는 대안적으로 중간 박스 또는 미디어 인식 네트워크 요소(media- aware network element: MANE)라 칭할 수 있는 게이트웨이(940)가 일 통신 프로토콜 스택에 따른 패킷 스트림의 다른 통신 프로토콜 스택으로의 변환, 데이터 스트림의 병합 및 포킹, 및 우세적인 하향링크 네트워크 조건에 다른 포워딩된 스트림의 비트레이트를 제어하는 것과 같은 하향링크 및/또는 수신기 기능에 따른 데이터 스트림의 조작과 같은 상이한 유형의 기능을 수행할 수 있다. 게이트웨이(940)의 예는 멀티포인트 회의 제어 유닛(multipoint conference control units: MCUs), 회로 교환 및 패킷 교환 비디오 전화 사이의 게이트웨이, 셀룰러를 통한 푸시-투-토크(Push-to-talk over Cellular: PoC) 서버, 디지털 비디오 브로드캐스팅 핸드헬드(digital video broadcasting-handheld: DVB-H) 시스템 내의 IP 캡슐화기, 또는 홈 무선 네트워크에 로컬식으로 전송을 브로드캐스팅하는 셋탑 박스를 포함한다. RTP가 사용될 때, 게이트웨이(940)는 RTP 믹서 또는 RTP 변환기라 칭할 수 있고, RTP 접속부의 종단점으로서 작용할 수 있다. 송신기(930)와 수신기(950) 사이의 접속부에 제로 내지 임의의 수의 게이트웨이가 존재할 수 있다.
시스템은 통상적으로 전송된 신호를 수신하고, 복조하고, 그리고/또는 코딩된 미디어 비트스트림으로 디캡슐화하는 것이 가능한 하나 이상의 수신기(950)를 포함한다. 코딩된 미디어 비트스트림은 레코딩 저장 장치(955)로 전달된다. 레코딩 저장 장치(955)는 코딩된 미디어 비트스트림을 저장하기 위해 임의의 유형의 대용량 메모리를 포함할 수 있다. 레코딩 저장 장치(955)는 대안적으로 또는 부가적으로 랜덤 액세스 메모리와 같은 연산 메모리를 포함할 수 있다. 레코딩 저장 장치(955) 내의 코딩된 미디어 비트스트림의 포맷은 기본 자급식 비트스트림 포맷일 수 있고, 또는 하나 이상의 코딩된 미디어 비트스트림이 콘테이너 파일 내로 캡슐화될 수 있다. 서로 연계된 오디오 스트림 및 비디오 스트림과 같은 다수의 코딩된 미디어 비트스트림이 존재하면, 콘테이너 파일이 통상적으로 사용되고 수신기(950)는 입력 스트림으로부터 콘테이너 파일을 재현하는 콘테이너 파일 발생기를 포함하거나 이에 연결된다. 몇몇 시스템은 "라이브"로 동작하는데, 즉 레코딩 저장 장치(955)가 생략되고, 수신기(950)로부터 디코더(960)로 직접 코딩된 미디어 비트스트림을 전달한다. 몇몇 시스템에서, 단지 레코딩된 스트림의 가장 최근의 부분, 예를 들어 레코딩된 스트림의 가장 최근의 10분 발췌부가 레코딩 저장 장치(955) 내에 유지되고, 반면에 임의의 더 이전의 레코딩된 데이터가 레코딩 저장 장치(955)로부터 폐기된다.
코딩된 미디어 비트스트림은 레코딩 저장 장치(955)로부터 디코더(960)로 전달된다. 서로 연계된 오디오 스트림 및 비디오 스트림과 같은 다수의 코딩된 미디어 비트스트림이 존재하고 콘테이너 파일 내로 캡슐화되거나 또는 단일 미디어 비트스트림이 예를 들어 더 용이한 액세스를 위해 콘테이너 파일 내에 캡슐화되면, 파일 파서(도면에는 도시 생략)가 콘테이너 파일로부터 각각의 코딩된 미디어 비트스트림을 디캡슐화하는데 사용된다. 레코딩 저장 장치(955) 또는 디코더(960)는 파일 파서를 포함할 수 있고, 또는 파일 파서가 레코딩 저장 장치(955) 또는 디코더(960)에 연결된다.
코딩된 미디어 비트스트림은 그 출력이 하나 이상의 비압축된 미디어 스트림인 디코더(960)에 의해 더 프로세싱될 수 있다. 마지막으로, 렌더러(970)는 예를 들어 라우드스피커 또는 디스플레이로 비압축된 미디어 스트림을 재현할 수 있다. 수신기(950), 레코딩 저장 장치(955), 디코더(960), 및 렌더러(970)는 동일한 물리적 디바이스 내에 존재할 수 있고 또는 이들은 개별 디바이스 내에 포함될 수 있다.
도 1은 본 발명의 실시예에 따른 코덱을 합체할 수 있는, 예시적인 장치 또는 전자 디바이스(50)의 개략 블록도로서 예시적인 실시예에 따른 비디오 코딩 시스템의 블록도를 도시하고 있다. 도 2는 예시적인 실시예에 따른 장치의 레이아웃을 도시하고 있다. 도 1 및 도 2의 요소가 다음에 설명될 것이다.
전자 디바이스(50)는 예를 들어 무선 통신 시스템의 모바일 단말 또는 사용자 장비일 수 있다. 그러나, 본 발명의 실시예는 비디오 이미지의 인코딩 및 디코딩 또는 인코딩 또는 디코딩을 요구할 수 있는 임의의 전자 디바이스 또는 장치 내에 구현될 수 있다는 것이 이해될 수 있을 것이다.
장치(50)는 디바이스를 합체하여 보호하기 위한 하우징(30)을 포함할 수 있다. 장치(50)는 액정 디스플레이의 형태의 디스플레이(32)를 추가로 포함할 수 있다. 본 발명의 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 표시하기 위해 적합한 임의의 적합한 디스플레이 기술일 수 있다. 장치(50)는 키패드(34)를 추가로 포함할 수 있다. 본 발명의 다른 실시예에서, 임의의 적합한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예를 들어, 사용자 인터페이스는 터치 감응식 디스플레이의 부분으로서 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 장치는 마이크로폰(36) 또는 디지털 또는 아날로그 신호 입력일 수 있는 임의의 적합한 오디오 입력을 포함할 수 있다. 장치(50)는 본 발명의 실시예에서, 이어피스(38), 스피커, 또는 아날로그 오디도 또는 디지털 오디오 출력 접속 중 임의의 하나일 수 있는 오디오 출력 디바이스를 추가로 포함할 수 있다. 장치(50)는 배터리(40)를 또한 포함할 수 있다(또는 본 발명의 다른 실시예에서, 디바이스는 태양 전지, 연료 전지 또는 시계 발전기와 같은 임의의 적합한 모바일 에너지에 의해 전력 공급될 수 있음). 장치는 이미지 및/또는 비디오를 레코딩하거나 캡처링하는 것이 가능한 카메라(42)를 추가로 포함할 수 있다. 몇몇 실시예에서, 장치(50)는 다른 디바이스로의 단거리 시야선 통신을 위한 적외선 포트를 추가로 포함할 수 있다. 다른 실시예에서, 장치(50)는 예를 들어 블루투스 무선 접속 또는 USB/파이어와이어 유선 접속과 같은 임의의 적합한 단거리 통신 솔루션을 추가로 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 콘트롤러(56) 또는 프로세서를 포함할 수 있다. 콘트롤러(56)는 본 발명의 실시예가 이미지 및 오디오 데이터의 형태로 양 데이터를 저장할 수 있고 그리고/또는 콘트롤러(56) 상에 구현을 위한 인스트럭션을 또한 저장할 수 있는 메모리(58)에 접속될 수 있다. 콘트롤러(56)는 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 수행하거나 또는 콘트롤러(56)에 의해 수행된 코딩 및 디코딩을 보조하기 위해 적합한 코덱 회로(54)에 또한 접속될 수 있다.
장치(50)는 예를 들어 사용자 정보를 제공하기 위한 그리고 네트워크에서 사용자의 인증 및 허가를 위해 인증 정보를 제공하기 위해 적합한 UICC 및 UICC 리더와 같은 카드 리더(48) 및 스마트 카드(46)를 추가로 포함할 수 있다.
장치(50)는 콘트롤러에 접속되고 예를 들어, 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 근거리 네트워크와의 통신을 위해 무선 통신 신호를 발생하기 위해 적합한 무선 인터페이스 회로(52)를 포함할 수 있다. 장치(50)는 무선 인터페이스 회로(52)에서 발생된 무선 주파수 신호를 다른 장치(들)에 전송하기 위해 그리고 다른 장치(들)로부터 무선 주파수 신호를 수신하기 위해 무선 인터페이스 회로(52)에 접속된 안테나(44)를 추가로 포함할 수 있다.
본 발명의 몇몇 실시예에서, 장치(50)는 이어서 프로세싱을 위해 코덱(54) 또는 콘트롤러에 패스되는 개별 프레임을 레코딩 또는 검출하는 것이 가능한 카메라를 포함한다. 본 발명의 몇몇 실시예에서, 장치는 전송 및/또는 저장에 앞서 다른 디바이스로부터 프로세싱을 위해 비디오 이미지 데이터를 수신할 수 있다. 본 발명의 몇몇 실시예에서, 장치(50)는 코딩/디코딩을 위해 이미지를 무선으로 또는 유선 접속에 의해 수신할 수 있다.
도 3은 예시적인 실시예에 따른 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 장치를 도시하고 있다. 도 3과 관련하여, 본 발명의 실시예가 이용될 수 있는 시스템의 예가 도시되어 있다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 다수의 통신 디바이스를 포함한다. 시스템(10)은 이들에 한정되는 것은 아니지만, 휴대 전화 네트워크(GSM, UMTS, CDMA 네트워크 등과 같은), IEEE 802.x 표준, 블루투스 개인 영역 네트워크, 이더넷 근거리 네트워크, 토큰링 근거리 네트워크 중 임의의 하나에 의해 규정된 것과 같은 무선 근거리 네트워크(wireless local area network: WLAN), 광대역 네트워크, 및 인터넷을 포함하는 유선 또는 무선 네트워크의 임의의 조합을 포함할 수 있다.
시스템(10)은 본 발명의 실시예를 구현하기 위해 적합한 유선 및 무선 통신 디바이스 또는 장치(50)의 모두를 포함할 수 있다. 예를 들어, 도 3에 도시된 시스템은 이동 전화 네트워크(11) 및 인터넷(28)의 표현을 도시하고 있다. 인터넷(28)으로의 접속성은 장거리 무선 접속, 단거리 무선 접속, 및 이들에 한정되는 것은 아니지만 전화 라인, 케이블 라인, 전력 라인, 및 유사한 통신 경로를 포함하는 다양한 유선 접속을 포함할 수 있지만, 이들에 한정되는 것은 아니다.
시스템(10)에 도시된 예시적인 통신 디바이스는 전자 디바이스 또는 장치(50), 개인 휴대 정보 단말(personal digital assistant: PDA) 및 이동 전화(14), PDA(16), 통합 메시징 디바이스(integrated messaging device: IMD)(18), 데스크탑 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있지만, 이들에 한정되는 것은 아니다. 장치(50)는 고정식 또는 이동하는 개인에 의해 휴대될 때 이동식일 수 있다. 장치(50)는 또한 이들에 한정되는 것은 아니지만, 차량, 트럭, 택시, 버스, 기차, 선박, 항공기, 자전거, 오토바이 또는 임의의 유사한 적합한 운송 모드를 포함하는 운송 모드에 로케이팅될 수 있다.
몇몇 또는 다른 장치가 호 및 메시지를 송수신할 수 있고, 무선 접속(25)을 통해 기지국(24)에 서비스 공급자와 통신할 수 있다. 기지국(24)은 이동 전화 네트워크(11)와 인터넷(28) 사이의 통신을 허용하는 네트워크 서버(26)에 접속될 수 있다. 시스템은 부가의 통신 디바이스 및 다양한 유형의 통신 디바이스를 포함할 수 있다.
통신 디바이스는 이들에 한정되는 것은 아니지만, 코드 분할 다중 접속(code division multiple access: CDMA), 모바일 통신을 위한 글로벌 시스템(global systems for mobile communications: GSM), 범용 모바일 통신 시스템(universal mobile telecommunications system: UMTS), 시분할 다중 접속(time divisional multiple access: TDMA), 주파수 분할 다중 접속(frequency division multiple access: FDMA), 전송 제어 프로토콜-인터넷 프로토콜(transmission control protocol-internet protocol: TCP-IP), 단문 메시징 서비스(short messaging service: SMS), 멀티미디어 메시징 서비스(multimedia messaging service: MMS), 이메일, 인스턴트 메시징 서비스(instant messaging service: IMS), 블루투스, IEEE 802.11 및 임의의 유사한 무선 통신 기술을 포함하는 다양한 전송 기술을 사용하여 통신할 수 있다. 본 발명의 다양한 실시예를 구현하는데 수반된 통신 디바이스는 이들에 한정되는 것은 아니지만, 무선, 적외선, 레이저, 케이블 접속, 및 임의의 적합한 접속을 포함하는 다양한 매체를 사용하여 통신할 수 있다.
상기에서, 몇몇 실시예는 특정 유형의 파라미터 세트와 관련하여 설명되었다. 그러나, 실시예는 비트스트림 내에 임의의 유형의 파라미터 세트 또는 다른 신택스 구조를 갖고 실현될 수 있다는 것을 이해해야 할 필요가 있다.
상기에서, 몇몇 실시예는 지시, 신택스 요소, 및/또는 신택스 구조를 비트스트림 내로 또는 코딩된 비디오 시퀀스 내로 인코딩하는 것 그리고/또는 지시, 신택스 요소, 및/또는 신택스 구조를 비트스트림으로부터 또는 코딩된 비디오 시퀀스로부터 디코딩하는 것과 관련하여 설명되었다. 그러나, 실시예는 지시, 신택스 요소, 및/또는 신택스 구조를 코딩된 슬라이스와 같은 비디오 코딩 레이어 데이터를 포함하는 코딩된 비디오 시퀀스 또는 비트스트림의 외부에 있는 신택스 구조 또는 데이터 단위 내로 인코딩하고, 그리고/또는 지시, 신택스 요소, 및/또는 신택스 구조를 코딩된 슬라이스와 같은 비디오 코딩 레이어 데이터를 포함하는 코딩된 비디오 시퀀스 또는 비트스트림으로부터 외부에 있는 신택스 구조 또는 데이터 단위로부터 디코딩할 때 실현될 수 있다는 것을 이해할 필요가 있다. 예를 들어, 몇몇 실시예에서, 상기의 임의의 실시예에 따른 지시는, 예를 들어 SDP와 같은 제어 프로토콜을 사용하여 코딩된 비디오 시퀀스로부터 외부에서 전달되는 비디오 파라미터 세트 또는 시퀀스 파라미터 세트로 코딩될 수 있다. 동일한 예를 계속하면, 수신기는 예를 들어 제어 프로토콜을 사용하여 비디오 파라미터 세트 또는 시퀀스 파라미터 세트를 얻을 수 있고, 디코딩을 위해 비디오 파라미터 세트 또는 시퀀스 파라미터 세트를 제공할 수 있다.
상기에서, 예시적인 실시예는 비트스트림의 신택스의 도움으로 설명되어 있다. 그러나, 대응 구조 및/또는 컴퓨터 프로그램은 비트스트림을 발생하기 위해 인코더에 그리고/또는 비트스트림을 디코딩하기 위해 디코더에 상주할 수 있다는 것을 이해할 필요가 있다. 마찬가지로, 예시적인 실시예가 인코더를 참조하여 설명되는 경우에, 최종 비트스트림 및 디코더는 이들 내에 대응 요소를 갖는다는 것을 이해할 필요가 있다. 마찬가지로, 예시적인 실시예가 디코더를 참조하여 설명되는 경우에, 인코더는 디코더에 의해 디코딩될 비트스트림을 발생하기 위한 구조 및/또는 컴퓨터 프로그램을 갖는다는 것을 이해할 필요가 있다.
상기에서, 몇몇 실시예가 향상 레이어 및 베이스 레이어를 참조하여 설명되었다. 베이스 레이어는 마찬가지로 이것이 향상 레이어를 위한 참조 레이어인 한, 임의의 다른 레이어일 수 있다는 것을 이해할 필요가 있다. 인코더는 비트스트림 내로 2개 초과의 레이어를 발생할 수 있고, 디코더는 비트스트림으로부터 2개 초과의 층을 디코딩할 수 있다는 것을 또한 이해할 필요가 있다. 실시예는 임의의 쌍의 향상 레이어와 그 참조 레이어로 실현될 수 있다. 마찬가지로, 다수의 실시예는 2개 초과의 레이어의 고려로 실현될 수 있다.
상기에서, 몇몇 실시예가 단일 향상 레이어를 참조하여 설명되었다. 실시예는 단지 하나의 향상 레이어만을 인코딩 및/또는 디코딩하는 것에 제약되는 것은 아니고, 더 많은 수의 향상 레이어가 인코딩 및/또는 디코딩될 수 있다는 것을 이해할 필요가 있다. 예를 들어, 보조 픽처 레이어가 인코딩 및/또는 디코딩될 수 있다. 다른 예에서, 프로그레시브 소스 콘텐트를 표현하는 부가의 향상 레이어가 인코딩 그리고/또는 디코딩될 수 있다.
상기에서, 몇몇 실시예는 스킵 픽처를 사용하여 설명되었고, 몇몇 다른 실시예는 대각 인터 레이어 예측을 사용하여 설명되었다. 스킵 픽처 및 대각 인터 레이어 예측은 반드시 서로 배제적인 것은 아니고, 따라서 실시예는 스킵 픽처 및 대각 인터 레이어 예측의 모두를 사용하여 유사하게 실현될 수 있다는 것을 이해할 필요가 있다. 예를 들어, 일 액세스 단위에서, 스킵 픽처가 코딩된 필드로부터 코딩된 프레임으로 스위칭 또는 그 반대를 실현하는데 사용될 수 있고, 다른 액세스 단위에서, 대각 인터 레이어 예측이 코딩된 필드로부터 코딩된 프레임으로 또는 그 반대로 스위칭을 실현하는데 사용될 수 있다.
상기에서, 몇몇 실시예가 인터레이싱된 소스 콘텐트를 참조하여 설명되었다. 실시예는 소스 콘텐트의 스캔 유형을 무시하고 적용될 수 있다는 것을 이해할 필요가 있다. 달리 말하면, 실시예는 프로그레시브 소스 콘텐트에 그리고/또는 인터레이싱된 그리고 프로그레시브 소스 콘텐트의 혼합에 유사하게 적용될 수 있다.
상기에서, 몇몇 실시예가 단일의 인코더 및/또는 단일의 디코더를 참조하여 설명되었다. 하나 초과의 인코더 및/또는 하나 초과의 디코더가 실시예에서 유사하게 사용될 수 있다는 것을 이해할 필요가 있다. 예를 들어, 하나의 인코더 및/또는 하나의 디코더가 각각의 코딩된 및/또는 디코딩된 레이어마다 사용될 수 있다.
상기 예는 전자 디바이스 내의 코덱 내에서 동작하는 본 발명의 실시예를 설명하고 있지만, 이하에 설명되는 바와 같은 발명이 임의의 비디오 코덱의 부분으로서 구현될 수 있다는 것이 이해될 수 있을 것이다. 따라서, 예를 들어, 본 발명의 실시예는 고정식 또는 유선 통신 경로를 통해 비디오 코딩을 구현할 수 있는 비디오 코덱에 구현될 수 있다.
따라서, 사용자 장비는 상기의 본 발명의 실시예에 설명된 것들과 같은 비디오 코덱을 포함할 수 있다. 용어 사용자 장비는 이동전화, 휴대형 데이터 프로세싱 디바이스 또는 휴대형 웹브라우저와 같은 임의의 적합한 유형의 무선 사용자 장비를 커버하도록 의도된다는 것이 이해되어야 한다.
더욱이, 공중 육상 모바일 네트워크(PLMN)가 또한 전술된 바와 같은 비디오 코덱을 포함할 수 있다.
일반적으로, 본 발명의 다양한 실시예는 하드웨어 또는 특정 용도 회로, 소프트웨어, 로직 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 몇몇 양태는 하드웨어로 구현될 수 있고, 반면에 다른 양태는 콘트롤러, 마이크로프로세서 또는 다른 컴퓨팅 디바이스에 의해 실행될 수 있는 펌웨어 또는 소프트웨어에서 구현될 수 있지만, 본 발명은 이들에 한정되는 것은 아니다. 본 발명의 다양한 양태가 블록도, 흐름도로서, 또는 몇몇 다른 회화 표현을 사용하여 도시되고 설명될 수 있지만, 본 명세서에 설명된 이들 블록, 장치, 시스템, 기술 또는 방법은 비한정적인 예로서, 하드웨어, 소프트웨어, 펌웨어, 특정 용도 회로 또는 로직, 범용 하드웨어 또는 콘트롤러 또는 다른 컴퓨팅 디바이스, 또는 이들의 몇몇 조합으로 구현될 수 있다는 것이 양호하게 이해된다.
본 발명의 실시예는 프로세서 엔티티 내에서와 같은 모바일 디바이스의 데이터 프로세서에 의해 실행가능한 컴퓨터 소프트웨어에 의해, 또는 하드웨어에 의해, 또는 소프트웨어와 하드웨어의 조합에 의해 구현될 수 있다. 또한 이와 관련하여, 도면에서와 같은 논리 흐름의 임의의 블록은 프로그램 단계, 상호접속된 논리 회로, 블록, 및 기능, 또는 프로그램 단계와 논리 회로, 블록 및 기능의 조합을 표현할 수 있다는 것이 주목되어야 한다. 소프트웨어는 메모리 칩, 또는 프로세서 내에 구현된 메모리 블록과 같은 이러한 물리적 매체, 하드 디스크 또는 플로피 디스크와 같은 자기 매체, 및 예를 들어 DVD 및 이들의 데이터 변형예, CD와 같은 광학 매체 상에 저장될 수 있다.
본 발명의 다양한 실시예는 메모리 내에 상주하여 관련 장치가 본 발명을 수행하게 하는 컴퓨터 프로그램 코드의 도움으로 구현될 수 있다. 예를 들어, 단말 디바이스는 데이터를 핸들링, 수신 및 전송하기 위한 회로 및 전자기기, 메모리 내의 컴퓨터 프로그램 코드, 및 컴퓨터 프로그램 코드를 실행할 때 단말 디바이스가 실시예의 특징을 수행하게 하는 프로세서를 포함할 수 있다. 또한, 네트워크 디바이스는 데이터를 핸들링, 수신 및 전송하기 위한 회로 및 전자기기, 메모리 내의 컴퓨터 프로그램 코드, 및 컴퓨터 프로그램 코드를 실행할 때 네트워크 디바이스가 실시예의 특징을 수행하게 하는 프로세서를 포함할 수 있다.
메모리는 로컬 기술 환경에 적합한 임의의 유형일 수 있고, 반도체 기반 메모리 디바이스, 자기 메모리 디바이스 및 시스템, 광학 메모리 디바이스 및 시스템, 고정식 메모리 및 이동식 메모리와 같은 임의의 적합한 데이터 저장 장치 기술을 사용하여 구현될 수 있다. 데이터 프로세서는 로컬 기술 환경에 적합한 임의의 유형일 수 있고, 범용 컴퓨터, 특정 용도 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(DSP) 및 멀티코어 프로세서 아키텍처에 기반하는 프로세서를 비한정적인 예로서 포함할 수 있다.
본 발명의 실시예는 집적 회로 모듈과 같은 다양한 콤포넌트에서 실시될 수 있다. 집적 회로의 디자인은 대체로 고도로 자동화된 프로세스이다. 복잡하고 강력한 소프트웨어 툴이 반도체 기판 상에 에칭되고 형성될 준비가 된 반도체 회로 디자인으로 논리 레벨 디자인을 변환하기 위해 이용가능하다.
미국 캘리포니아주 마운틴 뷰 소재의 Synopsys Inc. 및 미국 캘리포니아주 산호세 소재의 Cadence Design에 의해 제공된 것들과 같은 프로그램은 양호하게 수립된 디자인 규칙 뿐만 아니라 사전저장된 디자인 모듈의 라이브러리를 사용하여 도전체를 자동으로 라우팅하고 반도체칩 상에 콤포넌트를 로케이팅한다. 일단 반도체 회로를 위한 디자인이 완료되면, 표준화된 전자 포맷(예를 들어, Opus, GDSII 등)의 최종적인 디자인은 제조를 위해 반도체 제조 시설 또는 "팹(fab)"으로 전송될 수 있다.
상기 설명은 본 발명의 예시적인 실시예의 완전한 정보적인 설명을 예시적으로 비한정적인 예로서 제공하였다. 그러나, 다양한 수정 및 적응이 첨부 도면 및 첨부된 청구범위와 함께 숙독할 때, 상기 설명의 견지에서 당 기술 분야의 숙련자들에게 명백해질 수 있다. 그러나, 본 발명의 교시의 모든 이러한 및 유사한 수정이 본 발명의 범주 내에 여전히 있을 것이다.
이하, 몇몇 실시예가 제공될 것이다.
제 1 예에 따르면, 방법에 있어서,
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로 또는 디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트가 비트스트림 내에 존재하는지를 판정하기 위해 하나 이상의 지시를 수신하는 단계를 포함하고, 스위칭 포인트가 존재하면, 방법은
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 단계:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임 및 제2 스케일러빌러티 레이어의 제2 코딩된 필드를 수신하는 단계;
제 1 재구성된 프레임 내로 제 1 코딩된 프레임을 재구성하는 단계;
제 1 재구성된 프레임을 제 1 참조 픽처로 리샘플링하는 단계; 및
제2 코딩된 필드를 제2 재구성된 필드로 디코딩하는 단계를 수행하는 단계를 추가로 포함하고, 디코딩은 제2 코딩된 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함하고,
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답으로서, 이하의 단계:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드를 제 1 재구성된 상보적 필드쌍으로 디코딩하거나 제3 스케일러빌러티 레이어의 제 1 코딩된 필드를 제 1 재구성된 필드로 디코딩하는 단계;
제 1 재구성된 상보적 필드쌍 또는 제 1 재구성된 필드의 하나 또는 양 필드를 제2 참조 픽처 내로 리샘플링하는 단계;
제4 스케일러빌러티의 제2 코딩된 프레임을 제2 재구성된 프레임으로 디코딩하는 단계를 수행하는 단계를 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함하는 방법이 제공된다.
몇몇 실시예에서, 방법은 이하의 단계:
제 1 참조 픽처의 지시를 수신하는 단계;
제2 참조 픽처의 지시를 수신하는 단계 중 하나 이상을 포함한다.
몇몇 실시예에서, 방법은:
스케일러빌러티 레이어가 코딩된 필드 또는 코딩된 프레임을 표현하는 코딩된 픽처를 포함하는지 여부의 상기 제 1 스케일러빌러티 레이어, 제2 스케일러빌러티 레이어, 제3 스케일러빌러티 및 제4 스케일러빌러티 레이어 중 적어도 하나의 지시를 수신하는 단계를 포함한다.
몇몇 실시예에서, 방법은:
제 1 스케일러빌러티 레이어 및 제4 스케일러빌러티 레이어로서 하나의 레이어를 사용하는 단계; 및
제2 스케일러빌러티 레이어 및 제3 스케일러빌러티 레이어로서 다른 하나의 레이어를 사용하는 단계를 포함한다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 다른 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 제 1 향상 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 다른 향상 레이어이다.
몇몇 실시예에서, 방법은:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하는 단계; 및
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답으로서, 스케일러빌러티 레이어 계층 내의 제 1 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제2 스케이러빌러티 레이어로서 사용하는 단계를 포함한다.
몇몇 실시예에서, 방법은:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하는 단계; 및
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답으로서, 스케일러빌러티 레이어 계층 내의 제3 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제4 스케이러빌러티 레이어로서 사용하는 단계를 포함한다.
몇몇 실시예에서, 방법은:
제 1 쌍의 코딩된 필드로부터 제2 참조 픽처를 대각 예측하는 단계를 포함한다.
몇몇 실시예에서, 방법은:
출력되지 않을 픽처로서 제2 참조 픽처를 디코딩하는 단계를 포함한다.
제2 예에 따르면, 장치에 있어서, 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하고, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서와 함께, 장치가
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로 또는 디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트가 비트스트림 내에 존재하는지를 판정하기 위해 하나 이상의 지시를 수신하게 하도록 구성되고, 스위칭 포인트가 존재하면, 방법은
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임 및 제2 스케일러빌러티 레이어의 제2 코딩된 필드를 수신하고;
제 1 재구성된 프레임 내로 제 1 코딩된 프레임을 재구성하고;
제 1 재구성된 프레임을 제 1 참조 픽처로 리샘플링하고;
제2 코딩된 필드를 제2 재구성된 필드로 디코딩하도록 하는 동작을 수행하는 것을 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함하고;
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드를 제 1 재구성된 상보적 필드쌍으로 디코딩하거나 제3 스케일러빌러티 레이어의 제 1 코딩된 필드를 제 1 재구성된 필드로 디코딩하고;
제 1 재구성된 상보적 필드쌍 또는 제 1 재구성된 필드의 하나 또는 양 필드를 제2 참조 픽처 내로 리샘플링하고;
제4 스케일러빌러티의 제2 코딩된 프레임을 제2 재구성된 프레임으로 디코딩하는 동작을 수행하는 것을 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함하는 장치가 제공된다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
제 1 참조 픽처의 지시를 수신하고;
제2 참조 픽처의 지시를 수신하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
스케일러빌러티 레이어가 코딩된 필드 또는 코딩된 프레임을 표현하는 코딩된 픽처를 포함하는지 여부의 상기 제 1 스케일러빌러티 레이어, 제2 스케일러빌러티 레이어, 제3 스케일러빌러티 및 제4 스케일러빌러티 레이어 중 적어도 하나의 지시를 수신하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
제 1 스케일러빌러티 레이어 및 제4 스케일러빌러티 레이어로서 하나의 레이어를 사용하고;
제2 스케일러빌러티 레이어 및 제3 스케일러빌러티 레이어로서 다른 하나의 레이어를 사용하는 것을 수행하게 하는 코드가 저장되어 있다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 다른 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 제 1 향상 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 다른 향상 레이어이다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하고;
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답으로서, 스케일러빌러티 레이어 계층 내의 제 1 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제2 스케이러빌러티 레이어로서 사용하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하고;
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답으로서, 스케일러빌러티 레이어 계층 내의 제3 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제4 스케이러빌러티 레이어로서 사용하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
제 1 쌍의 코딩된 필드로부터 제2 참조 픽처를 대각 예측하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
출력되지 않을 픽처로서 제2 참조 픽처를 디코딩하는 것을 수행하게 하는 코드가 저장되어 있다.
제3 예에 따르면, 비일시적 컴퓨터 판독가능 매체 상에 구체화된 컴퓨터 프로그램 제품에 있어서, 적어도 하나의 프로세서 상에서 실행될 때, 장치 또는 시스템이
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로 또는 디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트가 비트스트림 내에 존재하는지를 판정하기 위해 하나 이상의 지시를 수신하게 하도록 구성된 컴퓨터 프로그램 코드를 포함하고, 스위칭 포인트가 존재하면, 방법은
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임 및 제2 스케일러빌러티 레이어의 제2 코딩된 필드를 수신하고;
제 1 재구성된 프레임 내로 제 1 코딩된 프레임을 재구성하고;
제 1 재구성된 프레임을 제 1 참조 픽처로 리샘플링하고;
제2 코딩된 필드를 제2 재구성된 필드로 디코딩하도록 하는 동작을 수행하는 것을 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함하고;
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드를 제 1 재구성된 상보적 필드쌍으로 디코딩하거나 제3 스케일러빌러티 레이어의 제 1 코딩된 필드를 제 1 재구성된 필드로 디코딩하고;
제 1 재구성된 상보적 필드쌍 또는 제 1 재구성된 필드의 하나 또는 양 필드를 제2 참조 픽처 내로 리샘플링하고;
제4 스케일러빌러티의 제2 코딩된 프레임을 제2 재구성된 프레임으로 디코딩하는 동작을 수행하는 것을 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함하는 컴퓨터 프로그램 제품이 제공된다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
제 1 참조 픽처의 지시를 수신하고;
제2 참조 픽처의 지시를 수신하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
스케일러빌러티 레이어가 코딩된 필드 또는 코딩된 프레임을 표현하는 코딩된 픽처를 포함하는지 여부의 상기 제 1 스케일러빌러티 레이어, 제2 스케일러빌러티 레이어, 제3 스케일러빌러티 및 제4 스케일러빌러티 레이어 중 적어도 하나의 지시를 수신하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
제 1 스케일러빌러티 레이어 및 제4 스케일러빌러티 레이어로서 하나의 레이어를 사용하고;
제2 스케일러빌러티 레이어 및 제3 스케일러빌러티 레이어로서 다른 하나의 레이어를 사용하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 다른 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 제 1 향상 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 다른 향상 레이어이다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하고;
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답으로서, 스케일러빌러티 레이어 계층 내의 제 1 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제2 스케이러빌러티 레이어로서 사용하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하고;
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답으로서, 스케일러빌러티 레이어 계층 내의 제3 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제4 스케이러빌러티 레이어로서 사용하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
제 1 쌍의 코딩된 필드로부터 제2 참조 픽처를 대각 예측하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
출력되지 않을 픽처로서 제2 참조 픽처를 디코딩하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
제4 예에 따르면, 방법에 있어서,
제 1 비압축된 상보적 필드쌍 및 제2 비압축된 상보적 필드쌍을 수신하는 단계;
제 1 코딩된 프레임 또는 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는지 제2 코딩된 프레임 또는 제2 쌍의 코딩된 필드로서 제2 비압축된 상보적 필드쌍을 인코딩하는지 여부를 결정하는 단계;
제 1 상보적 필드쌍이 제 1 코딩된 프레임으로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 쌍의 코딩된 필드로서 인코딩된다는 결정에 대한 응답으로서, 이하의 단계:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임으로서 제 1 상보적 필드쌍을 인코딩하는 단계;
제 1 참조 픽처 내로 제 1 코딩된 프레임을 재구성하는 단계;
제 1 참조 픽처 내로 제 1 재구성된 프레임을 리샘플링하는 단계; 및
제2 스케일러빌러티 레이어의 제2 쌍의 코딩된 필드로서 제2 상보적 필드쌍을 인코딩하는 단계를 수행하는 단계 - 인코딩은 제2 쌍의 코딩된 필드의 적어도 하나의 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함함 -;
제 1 상보적 필드쌍이 제 1 쌍의 코딩된 필드로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 코딩된 프레임으로서 인코딩된다는 결정에 대한 응답으로서, 이하의 단계:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는 단계;
제 1 재구성된 필드 및 제2 재구성된 필드 중 적어도 하나 내로 제 1 쌍의 코딩된 필드 중 적어도 하나를 재구성하는 단계;
제2 참조 픽처 내로 제 1 재구성된 필드 및 제2 재구성된 필드 중 하나 또는 모두를 리샘플링하는 단계; 및
제4 스케일러빌러티 레이어의 제2 코딩된 프레임으로서 제2 상보적 필드쌍을 인코딩하는 단계를 수행하는 단계 - 인코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함함 - 를 수행하는 단계를 포함하는 방법이 제공된다.
몇몇 실시예에서, 방법은 이하의 단계:
제 1 참조 픽처의 지시를 제공하는 단계;
제2 참조 픽처의 지시를 제공하는 단계 중 하나 이상을 포함한다.
몇몇 실시예에서, 방법은:
스케일러빌러티 레이어가 코딩된 필드 또는 코딩된 프레임을 표현하는 코딩된 픽처를 포함하는지 여부의 상기 제 1 스케일러빌러티 레이어, 제2 스케일러빌러티 레이어, 제3 스케일러빌러티 및 제4 스케일러빌러티 레이어 중 적어도 하나의 지시를 제공하는 단계를 포함한다.
몇몇 실시예에서, 방법은:
제 1 스케일러빌러티 레이어 및 제4 스케일러빌러티 레이어로서 하나의 레이어를 사용하는 단계; 및
제2 스케일러빌러티 레이어 및 제3 스케일러빌러티 레이어로서 다른 하나의 레이어를 사용하는 단계를 포함한다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 다른 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 제 1 향상 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 다른 향상 레이어이다.
몇몇 실시예에서, 방법은:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하는 단계; 및
제 1 상보적 필드쌍을 제 1 코딩된 프레임으로서 그리고 제2 비압축된 상보적 필드쌍을 제2 쌍의 코딩된 필드로서 인코딩한다는 결정에 대한 응답으로서, 스케일러빌러티 레이어 계층 내의 제 1 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제2 스케이러빌러티 레이어로서 사용하는 단계를 포함한다.
몇몇 실시예에서, 방법은:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하는 단계; 및
제 1 상보적 필드쌍을 제 1 쌍의 코딩된 필드로서 그리고 제2 비압축된 상보적 필드쌍을 제2 코딩된 프레임으로서 인코딩한다는 결정에 대한 응답으로서, 스케일러빌러티 레이어 계층 내의 제3 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제4 스케이러빌러티 레이어로서 사용하는 단계를 포함한다.
몇몇 실시예에서, 방법은:
제 1 쌍의 코딩된 필드로부터 제2 참조 픽처를 대각 예측하는 단계를 포함한다.
몇몇 실시예에서, 방법은:
디코딩 프로세스로부터 출력되지 않을 픽처로서 제2 참조 픽처를 인코딩하는 단계를 포함한다.
제5 예에 따르면, 장치에 있어서, 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하고, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서와 함께, 장치가
제 1 비압축된 상보적 필드쌍 및 제2 비압축된 상보적 필드쌍을 수신하게 하고;
제 1 코딩된 프레임 또는 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는지 제2 코딩된 프레임 또는 제2 쌍의 코딩된 필드로서 제2 비압축된 상보적 필드쌍을 인코딩하는지 여부를 결정하게 하고;
제 1 상보적 필드쌍이 제 1 코딩된 프레임으로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 쌍의 코딩된 필드로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임으로서 제 1 상보적 필드쌍을 인코딩하게 하고;
제 1 참조 픽처 내로 제 1 코딩된 프레임을 재구성하게 하고;
제 1 참조 픽처 내로 제 1 재구성된 프레임을 리샘플링하게 하고;
제2 스케일러빌러티 레이어의 제2 쌍의 코딩된 필드로서 제2 상보적 필드쌍을 인코딩하게 하는 것을 수행하고 - 인코딩은 제2 쌍의 코딩된 필드의 적어도 하나의 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함함 -;
제 1 상보적 필드쌍이 제 1 쌍의 코딩된 필드로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 코딩된 프레임으로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하게 하고;
제 1 재구성된 필드 및 제2 재구성된 필드 중 적어도 하나 내로 제 1 쌍의 코딩된 필드 중 적어도 하나를 재구성하게 하고;
제2 참조 픽처 내로 제 1 재구성된 필드 및 제2 재구성된 필드 중 하나 또는 모두를 리샘플링하게 하고;
제4 스케일러빌러티 레이어의 제2 코딩된 프레임으로서 제2 상보적 필드쌍을 인코딩하게 하는 것을 수행하도록 - 인코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함함 - 구성되는 장치가 제공된다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
제 1 참조 픽처의 지시를 제공하고;
제2 참조 픽처의 지시를 제공하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
스케일러빌러티 레이어가 코딩된 필드 또는 코딩된 프레임을 표현하는 코딩된 픽처를 포함하는지 여부의 상기 제 1 스케일러빌러티 레이어, 제2 스케일러빌러티 레이어, 제3 스케일러빌러티 및 제4 스케일러빌러티 레이어 중 적어도 하나의 지시를 제공하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
제 1 스케일러빌러티 레이어 및 제4 스케일러빌러티 레이어로서 하나의 레이어를 사용하고;
제2 스케일러빌러티 레이어 및 제3 스케일러빌러티 레이어로서 다른 하나의 레이어를 사용하는 것을 수행하게 하는 코드가 저장되어 있다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 다른 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 제 1 향상 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 다른 향상 레이어이다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하고;
제 1 상보적 필드쌍을 제 1 코딩된 프레임으로서 그리고 제2 비압축된 상보적 필드쌍을 제2 쌍의 코딩된 필드로서 인코딩한다는 결정에 대한 응답으로서, 스케일러빌러티 레이어 계층 내의 제 1 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제2 스케이러빌러티 레이어로서 사용하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하고;
제 1 상보적 필드쌍을 제 1 쌍의 코딩된 필드로서 그리고 제2 비압축된 상보적 필드쌍을 제2 코딩된 프레임으로서 인코딩한다는 결정에 대한 응답으로서, 스케일러빌러티 레이어 계층 내의 제3 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제4 스케이러빌러티 레이어로서 사용하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
제 1 쌍의 코딩된 필드로부터 제2 참조 픽처를 대각 예측하는 것을 수행하게 하는 코드가 저장되어 있다.
장치의 몇몇 실시예에서, 상기 적어도 하나의 메모리에는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치가 적어도 이하의 동작:
디코딩 프로세스로부터 출력되지 않을 픽처로서 제2 참조 픽처를 인코딩하는 것을 수행하게 하는 코드가 저장되어 있다.
제6 예에 따르면, 비일시적 컴퓨터 판독가능 매체 상에 구체화된 컴퓨터 프로그램 제품에 있어서, 적어도 하나의 프로세서 상에서 실행될 때, 장치 또는 시스템이
제 1 비압축된 상보적 필드쌍 및 제2 비압축된 상보적 필드쌍을 수신하게 하고;
제 1 코딩된 프레임 또는 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는지 제2 코딩된 프레임 또는 제2 쌍의 코딩된 필드로서 제2 비압축된 상보적 필드쌍을 인코딩하는지 여부를 결정하게 하고;
제 1 상보적 필드쌍이 제 1 코딩된 프레임으로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 쌍의 코딩된 필드로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임으로서 제 1 상보적 필드쌍을 인코딩하게 하고;
제 1 참조 픽처 내로 제 1 코딩된 프레임을 재구성하게 하고;
제 1 참조 픽처 내로 제 1 재구성된 프레임을 리샘플링하게 하고;
제2 스케일러빌러티 레이어의 제2 쌍의 코딩된 필드로서 제2 상보적 필드쌍을 인코딩하게 하는 것을 수행하고 - 인코딩은 제2 쌍의 코딩된 필드의 적어도 하나의 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함함 -;
제 1 상보적 필드쌍이 제 1 쌍의 코딩된 필드로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 코딩된 프레임으로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하게 하고;
제 1 재구성된 필드 및 제2 재구성된 필드 중 적어도 하나 내로 제 1 쌍의 코딩된 필드 중 적어도 하나를 재구성하게 하고;
제2 참조 픽처 내로 제 1 재구성된 필드 및 제2 재구성된 필드 중 하나 또는 모두를 리샘플링하게 하고;
제4 스케일러빌러티 레이어의 제2 코딩된 프레임으로서 제2 상보적 필드쌍을 인코딩하게 하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
제 1 참조 픽처의 지시를 제공하고;
제2 참조 픽처의 지시를 제공하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
스케일러빌러티 레이어가 코딩된 필드 또는 코딩된 프레임을 표현하는 코딩된 픽처를 포함하는지 여부의 상기 제 1 스케일러빌러티 레이어, 제2 스케일러빌러티 레이어, 제3 스케일러빌러티 및 제4 스케일러빌러티 레이어 중 적어도 하나의 지시를 제공하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
제 1 스케일러빌러티 레이어 및 제4 스케일러빌러티 레이어로서 하나의 레이어를 사용하고;
제2 스케일러빌러티 레이어 및 제3 스케일러빌러티 레이어로서 다른 하나의 레이어를 사용하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 다른 하나의 레이어는 스케일러블 비디오 코딩의 베이스 레이어이고; 하나의 레이어는 스케일러블 비디오 코딩의 향상 레이어이다.
몇몇 실시예에서, 하나의 레이어는 스케일러블 비디오 코딩의 제 1 향상 레이어이고; 다른 하나의 레이어는 스케일러블 비디오 코딩의 다른 향상 레이어이다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하고;
제 1 상보적 필드쌍을 제 1 코딩된 프레임으로서 그리고 제2 비압축된 상보적 필드쌍을 제2 쌍의 코딩된 필드로서 인코딩한다는 결정에 대한 응답으로서, 스케일러빌러티 레이어 계층 내의 제 1 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제2 스케이러빌러티 레이어로서 사용하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
비디오 품질 향상의 오름차순으로 순서화된 복수의 스케일러빌러티 레이어를 포함하는 스케일러빌러티 레이어 계층을 제공하고;
제 1 상보적 필드쌍을 제 1 쌍의 코딩된 필드로서 그리고 제2 비압축된 상보적 필드쌍을 제2 코딩된 프레임으로서 인코딩한다는 결정에 대한 응답으로서, 스케일러빌러티 레이어 계층 내의 제3 스케일러빌러티 레이어보다 상위에 있는 스케일러빌러티 레이어를 제4 스케이러빌러티 레이어로서 사용하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
제 1 쌍의 코딩된 필드로부터 제2 참조 픽처를 대각 예측하는 것을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품은 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치 또는 시스템이 적어도 이하의 동작:
디코딩 프로세스로부터 출력되지 않을 픽처로서 제2 참조 픽처를 인코딩하는 것을 수행하도록 구성된 컴퓨터 프로그램 코드를 포함한다.
제7 예에 따르면, 픽처 데이터 단위의 비트스트림을 디코딩하기 위해 구성된 비디오 디코더가 제공되고, 상기 비디오 디코더는 또한
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로 또는 디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트가 비트스트림 내에 존재하는지를 판정하기 위해 하나 이상의 지시를 수신하기 위해 구성되고, 스위칭 포인트가 존재하면, 방법은
디코딩 코딩된 필드로부터 디코딩 코딩된 프레임으로의 스위칭 포인트를 결정하는 것에 응답하여, 이하의 단계:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임 및 제2 스케일러빌러티 레이어의 제2 코딩된 필드를 수신하고;
제 1 재구성된 프레임 내로 제 1 코딩된 프레임을 재구성하고;
제 1 재구성된 프레임을 제 1 참조 픽처로 리샘플링하고;
제2 코딩된 필드를 제2 재구성된 필드로 디코딩하는 것을 수행하는 단계를 추가로 포함하고, 디코딩은 제2 코딩된 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함하고,
디코딩 코딩된 프레임으로부터 디코딩 코딩된 필드로의 스위칭 포인트를 결정하는 것에 응답으로서, 이하의 단계:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드를 제 1 재구성된 상보적 필드쌍으로 디코딩하거나 제3 스케일러빌러티 레이어의 제 1 코딩된 필드를 제 1 재구성된 필드로 디코딩하고;
제 1 재구성된 상보적 필드쌍 또는 제 1 재구성된 필드의 하나 또는 양 필드를 제2 참조 픽처 내로 리샘플링하고;
제4 스케일러빌러티의 제2 코딩된 프레임을 제2 재구성된 프레임으로 디코딩하는 것을 수행하는 단계를 추가로 포함하고, 여기서 디코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함한다.
제8 예에 따르면, 픽처 데이터 단위의 비트스트림을 디코딩하기 위해 구성된 비디오 디코더가 제공되고, 상기 비디오 디코더는 또한
제 1 비압축된 상보적 필드쌍 및 제2 비압축된 상보적 필드쌍을 수신하고;
제 1 코딩된 프레임 또는 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하는지 제2 코딩된 프레임 또는 제2 쌍의 코딩된 필드로서 제2 비압축된 상보적 필드쌍을 인코딩하는지 여부를 결정하고;
제 1 상보적 필드쌍이 제 1 코딩된 프레임으로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 쌍의 코딩된 필드로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제 1 스케일러빌러티 레이어의 제 1 코딩된 프레임으로서 제 1 상보적 필드쌍을 인코딩하고;
제 1 참조 픽처 내로 제 1 코딩된 프레임을 재구성하고;
제 1 참조 픽처 내로 제 1 재구성된 프레임을 리샘플링하고;
제2 스케일러빌러티 레이어의 제2 쌍의 코딩된 필드로서 제2 상보적 필드쌍을 인코딩하는 단계를 수행하고 - 인코딩은 제2 쌍의 코딩된 필드의 적어도 하나의 필드의 예측을 위한 참조로서 제 1 참조 픽처를 사용하는 것을 포함함 -;
제 1 상보적 필드쌍이 제 1 쌍의 코딩된 필드로서 인코딩되고 제2 비압축된 상보적 필드쌍이 제2 코딩된 프레임으로서 인코딩된다는 결정에 대한 응답으로서, 이하의 동작:
제3 스케일러빌러티 레이어의 제 1 쌍의 코딩된 필드로서 제 1 상보적 필드쌍을 인코딩하고;
제 1 재구성된 필드 및 제2 재구성된 필드 중 적어도 하나 내로 제 1 쌍의 코딩된 필드 중 적어도 하나를 재구성하고;
제2 참조 픽처 내로 제 1 재구성된 필드 및 제2 재구성된 필드 중 하나 또는 모두를 리샘플링하고;
제4 스케일러빌러티 레이어의 제2 코딩된 프레임으로서 제2 상보적 필드쌍을 인코딩하기 위해 - 인코딩은 제2 코딩된 프레임의 예측을 위한 참조로서 제2 참조 픽처를 사용하는 것을 포함함 - 구성된다.

Claims (31)

  1. 방법으로서,
    ISO 베이스 미디어 파일 포맷(ISO Base Media File Format; ISOBMFF)에 따른 트랙의 샘플 내의 향상 레이어 픽처(enhancement layer picture), 및 ISOBMFF에 따른 추가 트랙의 샘플 내의 베이스 레이어 픽처(base layer picture)와 연계된 데이터 구조를 디코딩하는 단계 - 상기 베이스 레이어 픽처는 상기 향상 레이어 픽처에 대한 외부 베이스 레이어 픽처를 구성하고, 상기 향상 레이어 픽처는 상기 외부 베이스 레이어 픽처로부터 예측됨 -;
    상기 외부 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되는지 여부를 지시하는 제 1 정보를 상기 데이터 구조로부터 디코딩하는 단계;
    상기 외부 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되면, 상기 향상 레이어 디코딩에 사용될 상기 디코딩된 외부 베이스 레이어 픽처를 위한 인트라 랜덤 액세스 포인트 픽처의 유형을 지시하는 제2 정보를 상기 데이터 구조로부터 디코딩하는 단계; 및
    상기 추가 트랙 내의 상기 샘플의 상대 인덱스를 제공하는 샘플 오프셋 정보를 상기 데이터 구조로부터 디코딩하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 향상 레이어를 포함하는 상기 트랙의 ISOBMFF의 샘플 보조 정보로부터 상기 데이터 구조를 디코딩하는 단계를 추가로 포함하는
    방법.
  3. 삭제
  4. 삭제
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 디코딩된 외부 베이스 레이어 픽처 및 상기 데이터 구조로부터 디코딩된 상기 제 1 정보를, 그리고 상기 외부 베이스 레이어 픽처가 상기 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되면, 상기 제2 정보를 입력으로서 사용하여 상기 향상 레이어 픽처를 디코딩하는 단계를 추가로 포함하는
    방법.
  6. 장치로서,
    ISO 베이스 미디어 파일 포맷(ISO Base Media File Format; ISOBMFF)에 따른 트랙의 샘플 내의 향상 레이어 픽처(enhancement layer picture), 및 ISOBMFF에 따른 추가 트랙의 샘플 내의 베이스 레이어 픽처(base layer picture)와 연계된 데이터 구조를 디코딩하고 - 상기 베이스 레이어 픽처는 상기 향상 레이어 픽처에 대한 외부 베이스 레이어 픽처를 구성하고, 상기 향상 레이어 픽처는 상기 외부 베이스 레이어 픽처로부터 예측됨 -;
    상기 외부 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되는지 여부를 지시하는 제 1 정보를 상기 데이터 구조로부터 디코딩하고;
    상기 외부 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되면, 상기 향상 레이어 디코딩에 사용될 상기 디코딩된 외부 베이스 레이어 픽처를 위한 인트라 랜덤 액세스 포인트 픽처의 유형을 지시하는 제2 정보를 상기 데이터 구조로부터 디코딩하고;
    상기 추가 트랙 내의 상기 샘플의 상대 인덱스를 제공하는 샘플 오프셋 정보를 상기 데이터 구조로부터 디코딩하도록 구성되는
    장치.
  7. 제 6 항에 있어서,
    상기 장치는 상기 향상 레이어를 포함하는 상기 트랙의 ISOBMFF의 샘플 보조 정보로부터 상기 데이터 구조를 디코딩하도록 또한 구성되는
    장치.
  8. 삭제
  9. 삭제
  10. 제 6 항 또는 제 7 항에 있어서,
    상기 장치는 상기 디코딩된 외부 베이스 레이어 픽처 및 상기 데이터 구조로부터 디코딩된 상기 제 1 정보를, 그리고 상기 외부 베이스 레이어 픽처가 상기 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되면, 상기 제2 정보를 입력으로서 사용하여 상기 향상 레이어 픽처를 디코딩하도록 또한 구성되는
    장치.
  11. 방법으로서,
    ISO 베이스 미디어 파일 포맷(ISO Base Media File Format; ISOBMFF)에 따른 트랙의 샘플 내의 향상 레이어 픽처(enhancement layer picture), 및 ISOBMFF에 따른 추가 트랙의 샘플 내의 베이스 레이어 픽처(base layer picture)와 연계된 데이터 구조를 인코딩하는 단계 - 상기 베이스 레이어 픽처는 상기 향상 레이어 픽처에 대한 외부 베이스 레이어 픽처를 구성하고, 상기 향상 레이어 픽처는 상기 외부 베이스 레이어 픽처로부터 예측됨 -;
    상기 외부 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되는지 여부를 지시하는 제 1 정보를 상기 데이터 구조 내로 인코딩하는 단계;
    상기 외부 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되면, 상기 향상 레이어 디코딩에 사용될 상기 디코딩된 외부 베이스 레이어 픽처를 위한 인트라 랜덤 액세스 포인트 픽처의 유형을 지시하는 제2 정보를 상기 데이터 구조 내로 인코딩하는 단계; 및
    상기 추가 트랙 내의 상기 샘플의 상대 인덱스를 제공하는 샘플 오프셋 정보를 상기 데이터 구조 내로 인코딩하는 단계를 포함하는
    방법.
  12. 제 11 항에 있어서,
    상기 향상 레이어를 포함하는 상기 트랙을 위한 ISOBMFF의 샘플 보조 정보로부터 상기 데이터 구조를 인코딩하는 단계를 추가로 포함하는
    방법.
  13. 삭제
  14. 삭제
  15. 장치로서,
    ISO 베이스 미디어 파일 포맷(ISO Base Media File Format; ISOBMFF)에 따른 트랙의 샘플 내의 향상 레이어 픽처(enhancement layer picture), 및 ISOBMFF에 따른 추가 트랙의 샘플 내의 베이스 레이어 픽처(base layer picture)와 연계된 데이터 구조를 인코딩하고 - 상기 베이스 레이어 픽처는 상기 향상 레이어 픽처에 대한 외부 베이스 레이어 픽처를 구성하고, 상기 향상 레이어 픽처는 상기 외부 베이스 레이어 픽처로부터 예측됨 -;
    상기 외부 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되는지 여부를 지시하는 제 1 정보를 상기 데이터 구조 내로 인코딩하고;
    상기 외부 베이스 레이어 픽처가 향상 레이어 디코딩을 위한 인트라 랜덤 액세스 포인트 픽처로서 간주되면, 상기 향상 레이어 디코딩에 사용될 상기 디코딩된 외부 베이스 레이어 픽처를 위한 인트라 랜덤 액세스 포인트 픽처의 유형을 지시하는 제2 정보를 상기 데이터 구조 내로 인코딩하고;
    상기 추가 트랙 내의 상기 샘플의 상대 인덱스를 제공하는 샘플 오프셋 정보를 상기 데이터 구조 내로 인코딩하도록 구성되는
    장치.
  16. 제 15 항에 있어서,
    상기 장치는 상기 향상 레이어를 포함하는 상기 트랙을 위한 ISOBMFF의 샘플 보조 정보로부터 상기 데이터 구조를 인코딩하도록 또한 구성되는
    장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
KR1020167028815A 2014-03-17 2015-02-16 비디오 코딩 및 디코딩용 방법 및 장치 KR102101535B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461954270P 2014-03-17 2014-03-17
US61/954,270 2014-03-17
PCT/FI2015/050093 WO2015140391A1 (en) 2014-03-17 2015-02-16 Method and apparatus for video coding and decoding

Publications (2)

Publication Number Publication Date
KR20160134782A KR20160134782A (ko) 2016-11-23
KR102101535B1 true KR102101535B1 (ko) 2020-04-17

Family

ID=54070453

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028815A KR102101535B1 (ko) 2014-03-17 2015-02-16 비디오 코딩 및 디코딩용 방법 및 장치

Country Status (8)

Country Link
US (1) US20150264404A1 (ko)
EP (1) EP3120552A4 (ko)
KR (1) KR102101535B1 (ko)
CN (1) CN106464891B (ko)
CA (1) CA2942730C (ko)
RU (1) RU2653299C2 (ko)
WO (1) WO2015140391A1 (ko)
ZA (1) ZA201607005B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021251718A1 (ko) * 2020-06-10 2021-12-16 엘지전자 주식회사 서브레이어 레벨 정보에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2021251700A1 (ko) * 2020-06-09 2021-12-16 엘지전자 주식회사 Dpb 동작 기반 영상 또는 비디오 코딩

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3562170A1 (en) 2013-07-29 2019-10-30 Koninklijke KPN N.V. Providing tile video streams to a client
EP3094093A4 (en) * 2014-01-09 2017-08-16 Samsung Electronics Co., Ltd. Scalable video encoding/decoding method and apparatus
EP3139549B1 (en) * 2014-05-30 2021-03-03 Huawei Technologies Co. Ltd. Packet editing method and related device
US9769492B2 (en) * 2014-06-06 2017-09-19 Qualcomm Incorporated Conformance parameters for bitstream partitions
US9699480B2 (en) * 2014-06-13 2017-07-04 Sharp Laboratories Of America, Inc. Level limits
WO2015194191A1 (en) * 2014-06-19 2015-12-23 Sharp Kabushiki Kaisha Method for decoding a video bitstream
US10432951B2 (en) * 2014-06-24 2019-10-01 Qualcomm Incorporated Conformance and inoperability improvements in multi-layer video coding
US10091532B2 (en) * 2014-06-26 2018-10-02 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding
US10694192B2 (en) 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
JP6440747B2 (ja) 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
EP3166318A4 (en) * 2014-07-01 2018-01-03 Sony Corporation Information processing device and method
WO2016098056A1 (en) 2014-12-18 2016-06-23 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10389970B2 (en) * 2015-01-23 2019-08-20 Lg Electronics Inc. Method and device for transmitting and receiving broadcast signal for restoring pulled-down signal
US10085051B2 (en) * 2015-02-13 2018-09-25 Samsung Electronics Co., Ltd. Method and apparatus for converting MMTP stream to MPEG-2TS
CN107251008B (zh) * 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的***和方法
US10455242B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated Signaling output indications in codec-hybrid multi-layer video coding
GB2538997A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
CN106303673B (zh) * 2015-06-04 2021-01-22 中兴通讯股份有限公司 码流对齐、同步处理方法及发送、接收终端和通信***
WO2017029400A1 (en) 2015-08-20 2017-02-23 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
US10546421B2 (en) * 2015-09-23 2020-01-28 Koninklijke Philips N.V. Generation of triangle mesh for a three dimensional image
US10097836B2 (en) * 2015-09-28 2018-10-09 Samsung Electronics Co., Ltd. Method and device to mark a reference picture for video coding
US10674185B2 (en) * 2015-10-08 2020-06-02 Koninklijke Kpn N.V. Enhancing a region of interest in video frames of a video stream
US10798422B2 (en) * 2015-10-20 2020-10-06 Intel Corporation Method and system of video coding with post-processing indication
US9883183B2 (en) * 2015-11-23 2018-01-30 Qualcomm Incorporated Determining neighborhood video attribute values for video data
JP6566864B2 (ja) * 2015-12-28 2019-08-28 Kddi株式会社 ビットストリーム変換装置、ビットストリーム変換方法、配信システム及びコンピュータ可読記録媒体
TWI762260B (zh) 2016-02-09 2022-04-21 弗勞恩霍夫爾協會 用於圖像/視訊資料串流而允許有效可縮減性或有效隨機存取之技術
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
US20170359596A1 (en) * 2016-06-09 2017-12-14 Apple Inc. Video coding techniques employing multiple resolution
US10257107B1 (en) 2016-06-30 2019-04-09 Amazon Technologies, Inc. Encoder-sensitive stream buffer management
CN107634928B (zh) * 2016-07-18 2020-10-23 华为技术有限公司 一种码流数据的处理方法及装置
US10110256B2 (en) * 2016-09-16 2018-10-23 Micron Technology, Inc. Apparatuses and methods for staircase code encoding and decoding for storage devices
US10554711B2 (en) * 2016-09-29 2020-02-04 Cisco Technology, Inc. Packet placement for scalable video coding schemes
GB2554686A (en) * 2016-10-04 2018-04-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
WO2018191224A1 (en) * 2017-04-11 2018-10-18 Vid Scale, Inc. 360-degree video coding using face continuities
CN108733317B (zh) * 2017-04-18 2021-01-26 北京京东尚科信息技术有限公司 数据存储方法和装置
GB2563037A (en) * 2017-05-31 2018-12-05 Nokia Technologies Oy Method and apparatus for image compression
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10893256B2 (en) 2017-06-26 2021-01-12 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
CN109587501B (zh) * 2017-09-28 2022-07-12 腾讯科技(深圳)有限公司 进行运动估计的方法、装置及存储介质
CN111684802B (zh) * 2017-12-06 2023-12-22 V-诺瓦国际有限公司 用于对字节流进行分级编码和解码的方法和设备
CN109963176B (zh) * 2017-12-26 2021-12-07 中兴通讯股份有限公司 视频码流处理方法、装置、网络设备和可读存储介质
WO2020012073A1 (en) * 2018-07-11 2020-01-16 Nokia Technologies Oy Method and apparatus for storage and signaling of compressed point clouds
US10887574B2 (en) 2018-07-31 2021-01-05 Intel Corporation Selective packing of patches for immersive video
US10893299B2 (en) * 2018-07-31 2021-01-12 Intel Corporation Surface normal vector processing mechanism
US10762394B2 (en) 2018-07-31 2020-09-01 Intel Corporation System and method for 3D blob classification and transmission
US11212506B2 (en) 2018-07-31 2021-12-28 Intel Corporation Reduced rendering of six-degree of freedom video
US11178373B2 (en) 2018-07-31 2021-11-16 Intel Corporation Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments
CN110875911B (zh) * 2018-09-03 2022-03-04 厦门奇力微电子有限公司 支持自动识别单个数据包数据位数的通信协议及通信方法
US11057631B2 (en) 2018-10-10 2021-07-06 Intel Corporation Point cloud coding standard conformance definition in computing environments
GB201817781D0 (en) 2018-10-31 2018-12-19 V Nova Int Ltd Mehods, apparatuses, computer programs and computer-readable media
JP7285857B2 (ja) * 2019-01-16 2023-06-02 テレフオンアクチーボラゲット エルエム エリクソン(パブル) リマインダをもつ均一なタイルスプリットを含むビデオコーディング
WO2020175893A1 (ko) * 2019-02-28 2020-09-03 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
KR20230016712A (ko) * 2019-03-11 2023-02-02 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
KR20230149875A (ko) * 2019-03-11 2023-10-27 텐센트 아메리카 엘엘씨 비디오 비트스트림에서의 적응적 픽처 크기의 시그널링
CN110139129B (zh) * 2019-03-27 2021-09-17 西安万像电子科技有限公司 图像传输方法及装置
CN110175047B (zh) * 2019-04-22 2022-03-29 中国科学院信息工程研究所 处理器指令编码的自动生成方法及装置
JP7273193B2 (ja) * 2019-05-12 2023-05-12 北京字節跳動網絡技術有限公司 参照ピクチャ再サンプリングのための信号通知
CN114270868A (zh) * 2019-05-16 2022-04-01 诺基亚技术有限公司 用于在视频编码中处理随机访问图片的装置、方法和计算机程序
MX2021013287A (es) * 2019-05-20 2021-11-17 Panasonic Ip Corp America Decodificador.
US11153583B2 (en) * 2019-06-07 2021-10-19 Qualcomm Incorporated Spatial scalability support in video encoding and decoding
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
US11212555B2 (en) * 2019-06-19 2021-12-28 Tencent America LLC Method of reducing context models for entropy coding of transform coefficient significant flag
JP2022539657A (ja) * 2019-06-24 2022-09-13 アリババ グループ ホウルディング リミテッド 映像処理における適応解像度変更
CN114365496A (zh) * 2019-07-08 2022-04-15 Lg电子株式会社 基于缩放列表数据的图像或视频编码
CN114073073B (zh) * 2019-07-08 2023-06-06 华为技术有限公司 一种支持混合nal单元的编解码方法和编解码器
AU2020326881A1 (en) 2019-08-06 2022-03-24 Op Solutions, Llc Block-based adaptive resolution management
JP2022544164A (ja) 2019-08-06 2022-10-17 オーピー ソリューションズ, エルエルシー フレームタイプに基づく適応分解能管理の暗示的信号伝達
BR112022002195A2 (pt) * 2019-08-06 2022-10-18 Op Solutions Llc Sinalização de gerenciamento de resolução adaptativa
BR112022002204A2 (pt) 2019-08-06 2022-10-18 Op Solutions Llc Redimensionamento de previsão de gerenciamento de resolução adaptativa
CN114616834B (zh) * 2019-08-16 2024-04-02 谷歌有限责任公司 用于视频通话的基于面容的帧封装
MX2022002188A (es) 2019-09-02 2022-03-11 Beijing Bytedance Network Tech Co Ltd Determinacion de modo de codificacion basada en formato de color.
EP4026328A4 (en) * 2019-09-24 2022-10-19 Huawei Technologies Co., Ltd. HRD COMPLIANCE TESTING ON AN OLS
JP7388612B2 (ja) * 2019-09-24 2023-11-29 ホアウェイ・テクノロジーズ・カンパニー・リミテッド マルチレイヤビデオビットストリームのためのdpbパラメータのシグナリング
US11317093B2 (en) 2019-09-24 2022-04-26 Tencent America LLC Method for reference picture resampling with offset in video bitstream
CN115002467B (zh) * 2019-09-24 2023-04-04 华为技术有限公司 用于分辨率改变的解码图像缓冲区操作的方法和设备
CN114900697B (zh) * 2019-09-24 2023-04-11 华为技术有限公司 由编码器/解码器实现的方法、视频译码设备及计算机可读介质
KR20220070325A (ko) 2019-10-07 2022-05-30 후아웨이 테크놀러지 컴퍼니 리미티드 서브 비트스트림 추출의 sps 오류 방지
US11902584B2 (en) * 2019-12-19 2024-02-13 Tencent America LLC Signaling of picture header parameters
WO2021125703A1 (ko) * 2019-12-20 2021-06-24 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
CN113055668B (zh) * 2019-12-27 2023-06-02 腾讯美国有限责任公司 从已编码视频比特流中提取子比特流的方法和设备
CN115210715A (zh) * 2020-01-07 2022-10-18 诺基亚技术有限公司 用于神经网络的压缩表示的高级语法
BR112022013803A2 (pt) * 2020-01-12 2022-09-13 Huawei Tech Co Ltd Método e aparelho de harmonização de predição ponderada com modos de mesclagem não retangulares
US11272214B2 (en) * 2020-01-27 2022-03-08 Tencent America LLC Method for picture output with output layer set
US20210245047A1 (en) 2020-02-10 2021-08-12 Intel Corporation Continuum architecture for cloud gaming
JP7400114B2 (ja) 2020-02-24 2023-12-18 バイトダンス インコーポレイテッド ビデオコーディングでのピクチャレベルスライスインデックスの使用
US11792432B2 (en) * 2020-02-24 2023-10-17 Tencent America LLC Techniques for signaling and identifying access unit boundaries
CN115211044A (zh) * 2020-03-03 2022-10-18 字节跳动有限公司 使用条带头信令通知控制缩放处理
CN115428463A (zh) * 2020-04-02 2022-12-02 抖音视界有限公司 变换跳过模式下的系数编解码
US11470357B2 (en) 2020-04-03 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for signaling decoding capability information in video coding
EP4135320A4 (en) * 2020-04-11 2024-06-12 LG Electronics, Inc. DEVICE AND METHOD FOR TRANSMITTING POINT CLOUD DATA, DEVICE AND METHOD FOR RECEIVING POINT CLOUD DATA
CN115918077A (zh) * 2020-06-09 2023-04-04 字节跳动有限公司 子图片子比特流提取过程中补充增强信息的处理
CN115885512A (zh) 2020-06-12 2023-03-31 字节跳动有限公司 视频比特流中图片输出顺序的约束
US11503322B2 (en) 2020-08-07 2022-11-15 Samsung Display Co., Ltd. DPCM codec with higher reconstruction quality on important gray levels
US11509897B2 (en) 2020-08-07 2022-11-22 Samsung Display Co., Ltd. Compression with positive reconstruction error
WO2022035256A1 (ko) * 2020-08-12 2022-02-17 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11902552B2 (en) 2020-09-17 2024-02-13 Lemon Inc. Decoder configuration record in coded video
CN116325753A (zh) 2020-09-25 2023-06-23 抖音视界有限公司 子比特流提取
WO2022068839A1 (en) * 2020-09-29 2022-04-07 Beijing Bytedance Network Technology Co., Ltd. Signalling of auxiliary information
WO2022135508A1 (en) * 2020-12-23 2022-06-30 Beijing Bytedance Network Technology Co., Ltd. Video decoder initialization information constraints
US20240179345A1 (en) * 2021-03-30 2024-05-30 Interdigital Ce Patent Holdings, Sas Externally enhanced prediction for video coding
US20220337879A1 (en) * 2021-04-18 2022-10-20 Lemon Inc. Parameter Sets In Common Media Application Format
CN114501070B (zh) * 2022-04-14 2022-07-19 全时云商务服务股份有限公司 视频会议同步额外信息的编解码方法、处理方法和***

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100626419B1 (ko) * 2001-01-03 2006-09-20 노키아 코포레이션 비디오 전송에서 비트 스트림들간의 교환
KR20060063605A (ko) * 2004-12-06 2006-06-12 엘지전자 주식회사 영상신호의 엔코딩과 그 전송, 그리고 디코딩을 위한 방법및 장치
RU2368095C1 (ru) * 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
AU2010220454B2 (en) * 2009-03-02 2015-02-05 Interdigital Vc Holdings, Inc. Method and device for displaying a sequence of pictures
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
CA2870067C (en) * 2012-04-16 2017-01-17 Nokia Corporation Video coding and decoding using multiple parameter sets which are identified in video unit headers
CN103379320B (zh) * 2012-04-16 2016-11-23 华为技术有限公司 视频图像码流处理方法和设备
US10205961B2 (en) * 2012-04-23 2019-02-12 Qualcomm Incorporated View dependency in multi-view coding and 3D coding
US20130287093A1 (en) * 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
JP5891975B2 (ja) * 2012-07-02 2016-03-23 富士通株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法
JP6050488B2 (ja) * 2012-07-06 2016-12-21 サムスン エレクトロニクス カンパニー リミテッド ランダムアクセスのためのマルチレイヤビデオ符号化方法及びその装置、並びにランダムアクセスのためのマルチレイヤビデオ復号化方法及びその装置
US9374583B2 (en) * 2012-09-20 2016-06-21 Qualcomm Incorporated Video coding with improved random access point picture behaviors
US9161039B2 (en) * 2012-09-24 2015-10-13 Qualcomm Incorporated Bitstream properties in video coding
WO2014106692A1 (en) * 2013-01-07 2014-07-10 Nokia Corporation Method and apparatus for video coding and decoding
US9648348B2 (en) * 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021251700A1 (ko) * 2020-06-09 2021-12-16 엘지전자 주식회사 Dpb 동작 기반 영상 또는 비디오 코딩
WO2021251718A1 (ko) * 2020-06-10 2021-12-16 엘지전자 주식회사 서브레이어 레벨 정보에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Also Published As

Publication number Publication date
KR20160134782A (ko) 2016-11-23
CN106464891A (zh) 2017-02-22
EP3120552A4 (en) 2017-12-06
CA2942730C (en) 2019-11-12
RU2016138403A (ru) 2018-04-17
RU2653299C2 (ru) 2018-05-07
US20150264404A1 (en) 2015-09-17
WO2015140391A1 (en) 2015-09-24
ZA201607005B (en) 2018-08-29
EP3120552A1 (en) 2017-01-25
CN106464891B (zh) 2019-09-10
CA2942730A1 (en) 2015-09-24

Similar Documents

Publication Publication Date Title
KR102101535B1 (ko) 비디오 코딩 및 디코딩용 방법 및 장치
USRE49887E1 (en) Apparatus, a method and a computer program for video coding and decoding
US11818385B2 (en) Method and apparatus for video coding
US10652559B2 (en) Video encoding and decoding
KR102567284B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
AU2017204114B2 (en) Method and apparatus for video coding
US20190174144A1 (en) Video encoding and decoding
JP2018524897A (ja) ビデオの符号化・復号装置、方法、およびコンピュータプログラム
WO2017162911A1 (en) An apparatus, a method and a computer program for video coding and decoding
CN111327893A (zh) 用于视频编码和解码的装置、方法和计算机程序
KR20220061245A (ko) 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램

Legal Events

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