KR20160105793A - 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램 - Google Patents

인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20160105793A
KR20160105793A KR1020167017397A KR20167017397A KR20160105793A KR 20160105793 A KR20160105793 A KR 20160105793A KR 1020167017397 A KR1020167017397 A KR 1020167017397A KR 20167017397 A KR20167017397 A KR 20167017397A KR 20160105793 A KR20160105793 A KR 20160105793A
Authority
KR
South Korea
Prior art keywords
sample
layer
samples
sub
descriptor
Prior art date
Application number
KR1020167017397A
Other languages
English (en)
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
Priority claimed from GB1400244.8A external-priority patent/GB2522014A/en
Priority claimed from GB201400303A external-priority patent/GB201400303D0/en
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Priority to KR1020227007645A priority Critical patent/KR102521495B1/ko
Publication of KR20160105793A publication Critical patent/KR20160105793A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/186Methods 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 colour or a chrominance component
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

시간 설정형 샘플을 포함한 다중-계층 구획된 시간 설정형 미디어 데이터가 캡슐화된다. 각각의 시간 설정형 샘플은 제1 계층과 적어도 하나의 제2 계층으로 인코딩되고, 적어도 하나의 시간 설정형 샘플은 적어도 하나의 서브샘플을 포함하고, 각각의 서브샘플은 제1 계층 또는 적어도 하나의 제2 계층으로 인코딩된다. 캡슐화 방법은, 적어도 하나의 시간 설정형 샘플로부터, 상기 제1 계층에 속한 적어도 하나의 서브샘플을 획득하는 단계; 적어도 하나의 획득된 서브샘플을 포함한 제1 트랙을 생성하는 단계; 동일한 하나의 시간 설정형 샘플로부터, 상기 제2 계층에 속한 적어도 또 하나의 서브샘플을 획득하는 단계; 상기 적어도 또 하나의 획득된 서브샘플을 포함한 제2 트랙을 생성하는 단계; 및 제2 트랙과 연관된 서술적 메타데이터(800, 850)를 생성하는 단계를 포함한다. 서술적 메타데이터는, 1로 설정될 때, 상기 제1 계층에 속하는 적어도 하나의 획득된 서브샘플이 완전한 프레임인 것을 나타내는 파라미터 full_frame을 포함한 제1 디스크립터(800); 및 상기 제2 계층에 속하는 적어도 하나의 획득된 서브샘플과 상기 제1 계층에 속하는 적어도 또 하나의 서브샘플 사이의 종속성 링크(851-853)를 신호화하기 위한 제2 디스크립터(850)를 포함하고, 상기 제2 디스크립터는 상기 제1 디스크립터를 참조한다.

Description

인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램{METHOD, DEVICE, AND COMPUTER PROGRAM FOR ENCODING INTER-LAYER DEPENDENCIES}
본 발명은 일반적으로, 교환, 관리, 편집, 및 미디어 데이터의 프리젠테이션을 용이하게 하는 유연하고 확장가능한 포맷을 제공하기 위해 그리고 특히 압축 비디오 스트림에서 관심있는 사용자 선택 영역의 HTTP(하이퍼텍스트 전송 규약) 및 RTP(실시간 전송 프로토콜) 스트리밍에 관한, 스트림 송출을 향상시키기 위해, 예를 들어, MPEG 표준화 기구에 의해 정의된 바와 같은 기본 미디어 파일 포맷(Base Media File Format)에 따라, 시간 설정형(timed) 미디어 데이터의 캡슐화 분야에 관한 것이다. 보다 상세하게는, 본 발명은, 특히 하나 이상의 타일(tiles)의 데이터의 효율적 스트리밍 또는 추출을 허용하는 공간 타일과 같은 다중-계층 구획된 데이터를 포함하는 기본적 스트림의 캡슐화 시에 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램에 관한 것이다.
비디오 코딩은, 일련의 비디오 이미지들을 콤팩트한 디지털화된 비트-스트림으로 변환하여, 이러한 비디오 이미지들이 전송되거나 저장될 수 있도록 하는 방식이다. 인코딩 디바이스는 이러한 비디오 이미지들을 코딩하는데 사용될 수 있고, 관련된 디코딩 디바이스는 디스플레이 및 시청을 위해 이러한 비트-스트림을 재구성하는데 사용될 수 있다. 일반적인 목적은 이러한 비트-스트림을 본래 비디오 정보보다 더 작은 사이즈가 되도록 형성하는 것이다. 이는 유리하게도 이러한 비트-스트림을 전송하거나 또는 저장하는데 요구되는 전송 네트워크 또는 스토리지 디바이스의 용량을 감소시켜 준다. 전송되기 위해서, 비디오 비트-스트림은 일반적으로, 통상 헤더들 및 체크 비트들을 추가하는 전송 프로토콜에 따라 캡슐화된다. 비디오 스트리밍 메커니즘은 예를 들어, 3GPP의 적응형 HTTP 스트리밍(AHS), 마이크로소프트사의 평활 스트리밍 또는 애플사의 HTTP 라이브 스트리밍과 같은 HTTP(하이퍼텍스트 전송 규약)를 통해서 오디오/비디오 미디어를 스트리밍하기 위해 인터넷 네트워크와 모바일 네트워크를 통해 광범위하게 활용되고 이용된다.
최근, 동화상전문가그룹(Moving Picture Experts Group(MPEG))은, HTTP를 통한 기존 스트리밍 솔루션들을 통합하여 대체하는 새로운 표준을 공개하였다. 이러한 새로운 표준, 소위 "HTTP를 통한 동적 적응형 스트리밍(DASH)"은, 지능(즉, 스트리밍하기 위한 미디어 데이터의 선택과, 사용자 선택, 네트워크 상태, 및 클라이언트 능력에 대한 비트-스트림의 동적 적응)이 클라이언트 선택과 디바이스에 배타적으로 종속하는, 표준 웹 서버를 기반으로 하는 HTTP를 통해서 미디어-스트리밍 모델을 지원하도록 의도된다.
이러한 모델에서, 미디어 프리젠테이션은, 데이터 세그먼트들로, 그리고 프리젠테이션될 시간 설정형 미디어 데이터의 조직화를 나타내는 "미디어 프리젠테이션 디스크립션(Media Presentation Description)(MPD)"라 불리우는 매니페스트로 조직화된다. 특히, 매니페스트는, 데이터 세그먼트들을 다운로드하는데 사용하는 리소스 식별자들을 포함하고, 이러한 데이터 세그먼트들을 선택 및 조합하여 유효 미디어 프리젠테이션을 획득하는 컨텍스트를 제공한다. 리소스 식별자들은 통상 HTTP-URL(Uniform Resource Locator)들이고, 가능한 바이트 범위들과 조합된다. 매니페스트에 기초하여, 클라이언트 디바이스는, 그의 필요성, 그의 능력(예를 들어, 지원된 코덱, 디스플레이 사이즈, 프레임 레이트, 품질 레벨 등)에 따라, 그리고 네트워크 조건(예를 들어, 가용 대역폭)에 종속하여, 어느 미디어 세그먼트들이 미디어 데이터 서버로부터 다운로드될 것인지를 언제든 결정한다.
그것은 HTTP, 예를 들어, 실시간 전송 프로토콜(Real-time Transport Protocol)(RTP)에 대한 대안적 프로토콜이 존재한다는 것이 주목되어야 한다.
또한, 비디오 해상도는, 표준 해상도(Standard Definition)(SD)에서 시작하여 고해상도(High Definition)(HD)로, 및 초고해상도(예를 들어, 4K2K 또는 8K4K, 즉 4,096 x 2,400 화소들 또는 7,680 x 4,320 화소들의 이미지들을 포함하는 비디오)로, 계속 증가하고 있다. 그러나, 수신 및 비디오 디코딩 디바이스들 모두가, 특히 비디오가 초고해상도일 때 전체 해상도의 비디오에 액세스하는 리소스들(예를 들어, 네트워크 액세스 대역폭 또는 CPU(Central Processing Unit))을 갖는 것은 아니며, 모든 사용자들이 이러한 비디오에 액세스할 필요는 없다. 이러한 맥락에서, 일부 관심 영역(Region-Of-Interest)(ROI)들에만 액세스하는, 즉 전체 비디오 시퀀스 중 일부 공간 서브 파트들에만 액세스하는 능력을 제공하는 것이 특히 유리하다.
비디오에 속하는 프레임들의 공간 서브 파트들에 액세스하는 공지의 메커니즘은, 비디오의 각 프레임을, 일반적으로 타일이라고 칭하는 독립적으로 디코드 가능한 공간 영역들의 배열로서 조직화하는 것에 있다. 스케일러블 비디오 코딩(Scalable Video Coding)(SVC) 또는 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC)과 같은 일부 비디오 포맷들은 타일 정의에 대한 지원을 제공한다. 사용자 정의의 ROI는 하나 또는 여러 연속적인 타일들을 커버할 수 있다.
따라서, HTTP 프로토콜에 따라 사용자 선택의 ROI들을 스트리밍하기 위해서는, 하나 이상의 타일들에 대한 공간 액세스들을 가능하게 하고 액세스된 타일들의 조합을 가능하게 하는 방식으로, 인코딩된 비디오 비트-스트림의 시간 설정형 미디어 데이터의 캡슐화를 제공하는 것이 중요하다.
인코딩된 비디오 비트-스트림들은 일반적으로, 완전한 프레임들에 대응하는 연속적인 시간적 샘플들의 세트로서 구성되고, 이러한 시간적 샘플들은 디코딩 순서의 함수로서 조직화된다는 점이 상기되어야 한다. 파일 포맷들은 이러한 인코딩된 비트-스트림을 캡슐화하고 서술하는데 사용된다.
설명의 목적상, 국제 표준 기구 베이스 미디어 파일 포맷(International Standard Organization Base Media File Format)(ISO BMFF)은, 네트워크를 통한 또는 다른 비트-스트림 전달 메커니즘을 통한 로컬 저장 또는 전송을 위해 인코딩된 시간 설정형 미디어 데이터 비트-스트림들을 서술하는 잘 알려진 유연하고 확장가능한 포맷이다. 이러한 파일 포맷은 객체 지향형이다. 이는, 순차적으로 또는 계층적으로 조직화되고, 타이밍 및 구조 파라미터들과 같은 인코딩된 시간 설정형 미디어 데이터 비트-스트림의 파라미터들을 정의하는, 박스라고 불리우는 구축 블럭들로 구성된다. 이러한 파일 포맷에 따르면, 시간 설정형 미디어 데이터 비트-스트림은, 트랙 박스(track box)라 하는 또 다른 데이터 구조로 정의되는 mdat box라고 하는 데이터 구조에 포함된다. 이러한 트랙은, 하나의 샘플이 단일 타임스탬프와 관련된 모든 데이터, 즉, 단일 프레임과 관련된 모든 데이터 또는 동일 타임스탬프를 공유하는 몇몇 프레임들과 관련된 모든 데이터에 대응하는 샘플들의 시간 설정형 시퀀스를 나타낸다.
SVC 포맷의 비디오와 같은 스케일러블 비디오에 대해, 계층화(layered) 미디어 데이터 조직은 다수의 종속 트랙들을 사용함으로써 효과적으로 표현될 수 있고, 각각의 트랙은 특정 레벨의 스케일 가능성으로 해당 비디오를 표현한다. 트랙들 사이의 데이터 중복을 회피하기 위해서, 추출기들이 사용될 수 있다. 표준 파일 포맷에 따르면, 추출기는, 다른 비트-스트림들로부터 네트워크 추상화 계층(NAL) 유닛들의 효과적인 추출을 가능하게 하며 비트-스트림에 직접 포함되는 데이터 구조이다. 예를 들어, 향상 계층 트랙(enhancement layer track)의 비트-스트림은 베이스 계층 트랙(base layer track)으로부터 NAL 유닛들을 참조하는 추출기들을 포함할 수 있다. 그리고 나중에, 이러한 향상 계층 트랙이 파일 포맷으로부터 추출될 때, 추출기들은 그들이 참조하고 있는 데이터로 대체되어야 한다.
이러한 메커니즘들을 내포한 ISO BMFF를 사용할 때, 서브 정보를 서술하고, 이러한 서브 정보로의 액세스를 용이하게 하거나 또는 비트-스트림들을 다수의 세그먼트들로 효과적으로 조직화하는 여러 전략들이 채택될 수 있다.
예를 들어, "Implications of the ISO Base Media File Format on Adaptive HTTP Streaming of H.264/SVC"라는 제목의 문헌에서, Kofler 등의 저자들은, ISO BMFF의 가능성들뿐만 아니라 제한들을 고려하여 HTTP 스트리밍을 위한 스케일러블 비디오 비트-스트림(H264/SVC)을 조직화하는 3가지 상이한 전략들을 제시한다:
a) (트랙 해상도들을 포함하여) 모든 ISO BMFF 메타데이터를 포함하는 파일 타입 박스 "ftyp" 및 무비 박스 "moov"를 포함하는 특정 파일 헤더를 포함하는 단일 파일, 이러한 단일 파일은 또한 전체 인코딩된 비트-스트림을 포함하는 단일 mdat 박스를 포함함. 이러한 조직화는 로컬 저장에는 적합하지만 클라이언트가 전체 비트-스트림의 일부만을 필요로 할 수 있는 HTTP 스트리밍에는 적응되지 않는다;
b) 프래그먼트화(fragmentation)에 적합한 다수의 moof/mdat 박스들을 포함하는 단일 파일. 이러한 포맷은 프로그레시브 다운로드를 허용한다. moof 박스는 프래그먼트 레벨에서 moov 박스에 해당한다. 이러한 방식에 따라, 프래그먼트화된 미디어 파일을 사용하여, 스케일러블 비트-스트림은, 비디오를 상이한 스케일 가능성 레벨들로 표현하는 다수의 종속 트랙들로 나뉜다. 다른 트랙들로부터의 NAL 유닛들을 참조하는데 추출기들이 사용된다. 타일 당 트랙이 사용되는 경우, 모든 어드레스 가능형 트랙들은 미리 준비되어야 하고 트랙들은 독립적으로 선택될 수 없다. 여러 타일들이 디스플레이되어야 하면, 몇몇 비트-스트림들이 디코딩되어야 하고 베이스 계층이 여러번 디코딩된다;
c) 각각의 파일이 그 자신의 URL에 의해 액세스 가능하고 독립적으로 다운로드 가능한, 다수의 세그먼트 파일들. 각각의 세그먼트는 통상적으로 세그먼트 타입 박스(styp)로 구성되고, 이는 일종의 파일 헤더, 옵션의 세그먼트 인덱스 박스(sidx) 및 하나 또는 다수의 프래그먼트들로서의 역할을 한다. 다시, 각각의 프래그먼트는 moof 및 mdat 박스로 구성된다. 이러한 방식에 따라, 프래그먼트화된 미디어 파일을 사용하여, 각각의 트랙은 스케일 가능성의 한 레벨에 관한 관련된 비트-스트림과 함께 그 자신의 세그먼트에 저장된다. 필요하다면, 종속 트랙들로부터 요구된 비트-스트림을 참조하는데 추출기들이 사용된다. 이러한 코딩 방식은 트랙들을 독립적으로 스트리밍하는데 특히 적합하다. 이는 DASH 표준에 잘 적응되지만, 여러 비트-스트림들이 디코딩되어야 하고, 이에 따라, 트랙 당 하나의 디코더가 요구되기 때문에, 타일 스트리밍에는 적합하지 않다. 더욱이, 둘 이상의 타일을 선택할 때 베이스 계층의 비트-스트림의 잠재적인 중복이 존재한다.
공간 타일들에 적용될 때, 이러한 전략들 중 어느 것도 HTTP 스트리밍의 맥락에서 특정 타일들에의 효율적인 액세스를 허용하지 않는다. 실제로 기존 파일 포맷 정의에 의하면, 인코딩된 비트-스트림에서 다수의 비연속 바이트 범위들에 여전히 액세스할 필요가 있거나, 또는 주어진 시간 간격에 대응하는 여러 프레임들의 공간 타일들을 디스플레이하기 위해서 비트-스트림 중복을 초래하게 된다.
이러한 이슈들을 해결하기 위해, 다중-계층 비디오 스트림들에서 공간 타일들을 처리하는데 적합한 효율적인 데이터 조직화 및 트랙 디스크립션 방식이 제공되는데, 이는 클라이언트 애플리케이션에 의해 어떠한 트랙 조합이 선택되더라도, ISO BMFF 파싱(parsing)의 결과는 항상 낮은 디스크립션 오버헤드를 필요로 하는, 비디오 디코더에 대해 유효한 비디오 기본 비트-스트림에 이르는 것을 보장한다.
본 발명의 양태의 제1 그룹에 따르면, 청구항 1에 의해 정의된 바와 같이 서버에서 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화(capsulating)하기 위한 방법, 청구항 8에 의해 정의된 바와 같이 클라이언트 디바이스에서 다중-계층 구획된 시간 설정형 미디어 데이터를 역캡슐화(decapsulating)(또는 파싱)하기 위한 방법, 청구항 15에 의해 정의된 바와 같이 컴퓨터 또는 프로세서에 의해 실행될 때, 컴퓨터 또는 프로세서가 캡슐화 방법을 실행하게 하는 프로그램, 또한 청구항 15에 의해 정의된 바와 같이 컴퓨터 또는 프로세서에 의해 실행될 때, 컴퓨터 또는 프로세서가 역캡슐화(또는 파싱)하게 하는 프로그램, 청구항 16에 의해 정의된 바와 같이 캡슐화 프로그램 및/또는 역캡슐화(또는 파싱) 프로그램을 저장하는 컴퓨터-판독가능 저장 매체, 청구항 17에 의해 정의된 바와 같이 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 디바이스, 청구항 24에 의해 정의된 바와 같이 다중-계층 구획된 시간 설정형 미디어 데이터를 역캡슐화(또는 파싱)하기 위한 디바이스, 청구항 31에 의해 정의된 바와 같이 캡슐화 방법에 의해 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 포함한 미디어 세그먼트 파일, 청구항 32에 의해 정의된 바와 같이 미디어 세그먼트 파일을 저장하는 컴퓨터-판독가능 저장 매체, 및 청구항 33에 의해 정의된 바와 같이 캡슐화 방법에 의해 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 전달하는 신호가 제공된다.
본 발명의 양태의 제2 그룹에 따르면, 청구항 34에 의해 정의된 바와 같이 서버에서 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 방법, 청구항 47에 의해 정의된 바와 같이 클라이언트 디바이스에서 다중-계층 구획된 시간 설정형 미디어 데이터를 역캡슐화(또는 파싱)하기 위한 방법, 청구항 60에 의해 정의된 바와 같이 컴퓨터 또는 프로세서에 의해 실행될 때, 컴퓨터 또는 프로세서가 캡슐화 방법을 실행하게 하는 프로그램, 또한 청구항 60에 의해 정의된 바와 같이 컴퓨터 또는 프로세서에 의해 실행될 때, 컴퓨터 또는 프로세서가 역캡슐화(또는 파싱)하게 하는 프로그램, 청구항 61에 의해 정의된 바와 같이 캡슐화 프로그램 및/또는 역캡슐화(또는 파싱) 프로그램을 저장하는 컴퓨터-판독가능 저장 매체, 청구항 62에 의해 정의된 바와 같이 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 디바이스, 청구항 75에 의해 정의된 바와 같이 다중-계층 구획된 시간 설정형 미디어 데이터를 역캡슐화(또는 파싱)하기 위한 디바이스, 청구항 88에 의해 정의된 바와 같이 캡슐화 방법에 의해 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 포함한 미디어 세그먼트 파일, 청구항 89에 의해 정의된 바와 같이 미디어 세그먼트 파일을 저장하는 컴퓨터-판독가능 저장 매체, 및 청구항 90에 의해 정의된 바와 같이 캡슐화 방법에 의해 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 전달하는 신호가 제공된다.
제1 및/또는 제2 그룹의 양태의 실시예에서, 다중-계층은 2 이상의 계층, 예를 들어, 베이스 계층 및 향상 계층을 의미하고, 샘플은 단일 타임스탬프(예를 들어, 베이스 계층 내의 프레임과 향상 계층 내의 프레임)와 연관된 모든 데이터를 의미하고, 서브샘플은 타일 또는 타일 세트와 같은 공간 서브샘플이다. 타일은 예를 들어, 프레임 내의 직사각형 영역을 의미하고, 타일의 세트는 임의의 수의 타일들의 조합을 의미한다.
본 발명의 양태의 제3 그룹은 추출기와 관련된다. 이러한 양태는 서버에서 예를 들어, 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 방법을 포함하고, 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하고, 각각의 시간 설정형 샘플은 베이스 계층과 적어도 하나의 향상 계층으로 인코딩되며, 적어도 하나의 시간 설정형 샘플은 적어도 하나의 타일을 포함하고, 각각의 타일은 베이스 계층 또는 적어도 하나의 향상 계층으로 인코딩되며, 상기 방법은:
베이스 계층 타일 트랙을 생성하는 단계;
상기 베이스 계층 타일 트랙 내의 데이터를 지시하는 제1 추출기를 포함한 베이스 계층 베이스 트랙을 생성하는 단계; 및
상기 베이스 계층 베이스 트랙 내의 상기 제1 추출기를 지시하는 제2 추출기를 포함한 향상 계층 트랙을 생성하는 단계를 포함하고;
그것에 의해 상기 베이스 계층 타일 트랙 내의 상기 데이터는 상기 향상 계층 트랙 내의 상기 제2 추출기로부터 상기 베이스 계층 베이스 트랙 내의 상기 제1 추출기로 상기 데이터 자체까지 추출기 경로를 따름으로써 얻어질 수 있다.
상기 향상 계층 트랙은 바람직하게는 향상 계층 베이스 트랙이다.
상기 캡슐화 방법은 향상 계층 타일 트랙을 더 포함할 수 있고, 상기 향상 계층 베이스 트랙은 상기 향상 계층 타일 트랙 내의 데이터를 지시하는 제3 추출기를 더 포함한다.
본 발명의 양태의 제3 그룹의 변형은 또한 추출기와 관련된다. 이러한 양태는, 서버에서 예를 들어, 다중-계층 시간 설정형 미디어 데이터를 캡슐화하기 위한 방법을 포함하고, 상기 다중-계층 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하고, 각각의 시간 설정형 샘플은 베이스 계층과 적어도 2개의 향상 계층으로 인코딩되며, 상기 방법은:
베이스 계층 트랙을 생성하는 단계;
상기 베이스 계층 트랙 내의 데이터를 지시하는 제1 추출기를 포함한 향상 계층 트랙을 생성하는 단계; 및
상기 향상 계층 트랙 내의 상기 제1 추출기를 지시하는 제2 추출기를 포함한 또 다른 향상 계층 트랙을 생성하는 단계를 포함하고;
그것에 의해 상기 베이스 계층 트랙 내의 상기 데이터는 상기 또 다른 향상 계층 트랙 내의 상기 제2 추출기로부터 상기 향상 계층 트랙 내의 상기 제1 추출기로 상기 베이스 계층 트랙의 상기 데이터까지 추출기 경로를 따름으로써 얻어질 수 있다.
본 발명의 양태의 제3 그룹은 또한, 클라이언트 디바이스에서 예를 들어, 다중-계층 구획된 시간 설정형 미디어 데이터를 역캡슐화(또는 파싱)하기 위한 방법을 포함하고, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플은 포함하고, 각각의 시간 설정형 샘플은 베이스 계층과 적어도 하나의 향상 계층으로 인코딩되며, 적어도 하나의 시간 설정형 샘플은 적어도 하나의 타일을 포함하고, 각각의 타일은 베이스 계층 또는 적어도 하나의 향상 계층으로 인코딩되며, 상기 방법은 다음을 포함한다:
베이스 계층 타일 트랙을 획득하는 단계;
상기 베이스 계층 타일 트랙 내의 데이터를 지시하는 제1 추출기를 포함한 베이스 계층 베이스 트랙을 획득하는 단계;
상기 베이스 계층 베이스 트랙 내의 상기 제1 추출기를 지시하는 제2 추출기를 포함한 향상 계층 트랙을 획득하는 단계; 및
상기 향상 계층 트랙 내의 상기 제2 추출기로부터 상기 베이스 계층 베이스 트랙 내의 상기 제1 추출기로 상기 데이터 자체까지 추출기 경로를 따름으로써 상기 베이스 계층 타일 트랙 내의 상기 데이터를 획득하는 단계.
바람직하게는, 상기 향상 계층 트랙은 향상 계층 베이스 트랙이다.
상기 역캡슐화(또는 파싱) 방법은 다음을 더 포함할 수 있다:
향상 계층 타일 트랙을 수신하는 단계 - 상기 향상 계층 베이스 트랙은 상기 향상 계층 타일 트랙 내의 데이터를 지시하는 제3 추출기를 더 포함함 -; 및
상기 향상 계층 베이스 트랙 내의 상기 제3 추출기로부터 상기 향상 계층 타일 트랙 내의 상기 데이터 자체까지 추출기 경로를 따름으로써 상기 향상 계층 타일 트랙 내의 상기 데이터를 획득하는 단계.
본 발명의 양태의 제3 그룹의 변형은 또한, 클라이언트에서 예를 들어 다중-계층 시간 설정형 미디어 데이터를 역캡슐화하기 위한 방법을 포함하고, 상기 다중-계층 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하고, 각각의 시간 설정형 샘플은 베이스 계층과 적어도 2개의 향상 계층으로 인코딩되며, 상기 방법은:
베이스 계층 트랙을 획득하는 단계;
상기 베이스 계층 트랙 내의 데이터를 지시하는 제1 추출기를 포함한 향상 계층 트랙을 획득하는 단계; 및
상기 향상 계층 트랙 내의 상기 제1 추출기를 지시하는 제2 추출기를 포함한 또 다른 향상 계층 트랙을 획득하는 단계를 포함하고;
그것에 의해 상기 베이스 계층 트랙 내의 상기 데이터는 상기 또 다른 향상 계층 트랙 내의 상기 제2 추출기로부터 상기 향상 계층 트랙 내의 상기 제1 추출기로 상기 베이스 계층 트랙의 상기 데이터까지 추출기 경로를 따름으로써 얻어질 수 있다.
본 발명의 양태의 제3 그룹은 또한, 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 디바이스를 포함하고, 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하고, 각각의 시간 설정형 샘플은 베이스 계층과 적어도 하나의 향상 계층으로 인코딩되며, 적어도 하나의 시간 설정형 샘플은 적어도 하나의 타일을 포함하고, 각각의 타일은 베이스 계층 또는 적어도 하나의 향상 계층으로 인코딩되며, 상기 디바이스는:
베이스 계층 타일 트랙을 생성하기 위한 수단;
상기 베이스 계층 타일 트랙 내의 데이터를 지시하는 제1 추출기를 포함한 베이스 계층 베이스 트랙을 생성하기 위한 수단; 및
상기 베이스 계층 베이스 트랙 내의 상기 제1 추출기를 지시하는 제2 추출기를 포함한 향상 계층 트랙을 생성하기 위한 수단을 포함하고;
그것에 의해 상기 베이스 계층 타일 트랙 내의 상기 데이터는 상기 향상 계층 트랙 내의 상기 제2 추출기로부터 상기 베이스 계층 베이스 트랙 내의 상기 제1 추출기로 상기 데이터 자체까지 추출기 경로를 따름으로써 얻어질 수 있다.
상기 향상 계층 트랙은 바람직하게는 향상 계층 베이스 트랙이다.
상기 캡슐화 디바이스는 향상 계층 타일 트랙을 생성하기 위한 수단을 더 포함할 수 있고, 상기 향상 계층 베이스 트랙은 상기 향상 계층 타일 트랙 내의 데이터를 지시하는 제3 추출기를 더 포함한다.
본 발명의 양태의 제3 그룹의 변형은 또한 예를 들어 서버에 포함된 다중-계층 시간 설정형 미디어 데이터를 캡슐화하기 위한 디바이스를 포함하고, 상기 다중-계층 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하고, 각각의 시간 설정형 샘플은 베이스 계층과 적어도 2개의 향상 계층으로 인코딩되며, 상기 디바이스는:
베이스 계층 트랙을 생성하기 위한 수단;
상기 베이스 계층 트랙 내의 데이터를 지시하는 제1 추출기를 포함한 향상 계층 트랙을 생성하기 위한 수단; 및
상기 향상 계층 트랙 내의 상기 제1 추출기를 지시하는 제2 추출기를 포함한 또 다른 향상 계층 트랙을 생성하기 위한 수단을 포함하고;
그것에 의해 상기 베이스 계층 트랙 내의 상기 데이터는 상기 또 다른 향상 계층 트랙 내의 상기 제2 추출기로부터 상기 향상 계층 트랙 내의 상기 제1 추출기로 상기 베이스 계층 트랙의 상기 데이터까지 추출기 경로를 따름으로써 얻어질 수 있다.
본 발명의 양태의 제3 그룹은 또한 다중-계층 구획된 시간 설정형 미디어 데이터를 역캡슐화(또는 파싱)하기 위한 디바이스를 포함하고, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하고, 각각의 시간 설정형 샘플은 베이스 계층과 적어도 하나의 향상 계층으로 인코딩되며, 적어도 하나의 시간 설정형 샘플은 적어도 하나의 타일을 포함하고, 각각의 타일은 상기 베이스 계층 또는 상기 적어도 하나의 향상 계층으로 인코딩되며, 상기 디바이스는 다음을 포함한다:
베이스 계층 타일 트랙을 획득하기 위한 수단;
상기 베이스 계층 타일 트랙 내의 데이터를 지시하는 제1 추출기를 포함한 베이스 계층 베이스 트랙을 획득하기 위한 수단;
상기 베이스 계층 베이스 트랙 내의 상기 제1 추출기를 지시하는 제2 추출기를 포함한 향상 계층 트랙을 획득하기 위한 수단; 및
상기 향상 계층 트랙 내의 상기 제2 추출기로부터 상기 베이스 계층 베이스 트랙 내의 상기 제1 추출기로 상기 데이터 자체까지 추출기 경로를 따름으로써 상기 베이스 계층 타일 트랙 내의 상기 데이터를 획득하기 위한 수단.
바람직하게는, 상기 향상 계층 트랙은 향상 계층 베이스 트랙이다.
상기 역캡슐화(또는 파싱) 디바이스는 다음을 더 포함할 수 있다:
향상 계층 타일 트랙을 수신하기 위한 수단 - 상기 향상 계층 베이스 트랙은 상기 향상 계층 타일 트랙 내의 데이터를 지시하는 제3 추출기를 더 포함함 -; 및
상기 향상 계층 베이스 트랙 내의 상기 제3 추출기로부터 상기 향상 계층 타일 트랙 내의 상기 데이터 자체까지 추출기 경로를 따름으로써 상기 향상 계층 타일 트랙 내의 상기 데이터를 획득하기 위한 수단.
본 발명의 양태의 제3 그룹의 변형은 또한 예를 들어 클라이언트에 포함되는 다중-계층 시간 설정형 미디어 데이터를 역캡슐화하기 위한 디바이스를 포함하고, 상기 다중-계층 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하며, 각각의 시간 설정형 샘플은 베이스 계층과 적어도 2개의 향상 계층으로 인코딩되고, 상기 디바이스는:
베이스 계층 트랙을 획득하기 위한 수단;
상기 베이스 계층 트랙 내의 데이터를 지시하는 제1 추출기를 포함한 향상 계층 트랙을 획득하기 위한 수단; 및
상기 향상 계층 트랙 내의 상기 제1 추출기를 지시하는 제2 추출기를 포함한 또 다른 향상 계층 트랙을 획득하기 위한 수단을 포함하고;
그것에 의해 상기 베이스 계층 트랙 내의 상기 데이터는 상기 또 다른 향상 계층 트랙 내의 상기 제2 추출기로부터 상기 향상 계층 트랙 내의 상기 제1 추출기로 상기 베이스 계층 트랙의 상기 데이터까지 추출기 경로를 따름으로써 얻어질 수 있다.
양태의 제3 그룹의 추가의 양태와 그의 변형은, 컴퓨터 또는 프로세서에 의해 실행될 때, 상기 컴퓨터 또는 프로세서가 상기 캡슐화 방법을 실행하게 하는 프로그램, 컴퓨터 또는 프로세서에 의해 실행될 때, 상기 컴퓨터 또는 프로세서가 상기 역캡슐화(또는 파싱) 방법을 실행하게 하는 프로그램, 상기 캡슐화 프로그램 및/또는 상기 역캡슐화(또는 파싱) 프로그램을 저장하는 컴퓨터-판독가능 저장 매체, 상기 캡슐화 방법에 의해 캡슐화된 상기 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 포함하는 미디어 세그먼트 파일, 상기 미디어 세그먼트 파일을 저장하는 컴퓨터-판독가능 저장 매체, 및 상기 캡슐화 방법에 의해 캡슐화된 상기 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 전달하는 신호를 제공할 수 있다.
본 발명의 또 다른 양태에 따르면, 서버에서 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 방법에 제공되고, 상기 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 프레임을 정의하고, 적어도 하나의 시간 설정형 샘플은 적어도 하나의 서브샘플을 포함하고, 상기 방법은 다음을 포함한다:
상기 시간 설정형 샘플의 적어도 하나로부터 적어도 하나의 서브샘플을 획득하는 단계;
상기 적어도 하나의 획득된 서브샘플을 포함한 트랙을 생성하는 단계; 및
상기 생성된 트랙과 연관된 서술적 메타데이터를 생성하는 단계 - 상기 서술적 메타데이터는, 설정될 때, 상기 적어도 하나의 획득된 서브샘플이 완전한 프레임인 것을 나타내는 파라미터를 포함함 -.
이러한 제약들과 직면하여, 본 발명자들은, 서버에서 다중-계층 타일형의 시간 설정형 미디어 데이터를 캡슐화하기 위한, 그리고 복수의 미디어 세그먼트 파일들에 캡슐화된 다중-계층 타일형의 시간 설정형 미디어 데이터로부터 시간 설정형 미디어 데이터 비트-스트림을 제공하기 위한 방법 및 디바이스를 제공한다.
본 발명의 광범위한 목적은 위에 설명된 바와 같은 종래 기술의 단점들을 해결하는 것이다.
본 발명의 제1 양태에 따르면, 서버에서 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 방법이 제공되며, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 적어도 하나의 제2 계층으로 인코딩되며, 적어도 하나의 시간 설정형 샘플은 적어도 하나의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 적어도 하나의 제2 계층으로 인코딩되며, 상기 방법은:
상기 시간 설정형 샘플들 중 적어도 하나로부터 적어도 하나의 서브샘플을 획득하는 단계;
상기 적어도 하나의 획득된 서브샘플을 포함한 트랙을 생성하는 단계; 및
상기 생성된 트랙과 연관된 서술적 메타데이터를 생성하는 단계 - 상기 서술적 메타데이터는 상기 적어도 하나의 획득된 서브샘플과 적어도 또 다른 서브샘플 사이의 종속성 링크를 신호화하기 위한 디스크립터를 포함함 -를 포함하고, 상기 종속성 링크는:
상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플이 동일한 계층에 속하는 경우 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플 사이의 인트라-계층 종속성; 및
상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플이 상이한 계층에 속하는 경우 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플 사이의 인터-계층 종속성을 서술한다.
따라서, 본 발명은, 클라이언트 디바이스에 의해 다운로드되는 부분들 또는 타일들의 선택된 세트가 무엇이든, 다중-계층 비디오 스트림의 상이한 부분들, 특히 상이한 타일들의 조합, 및 파싱 시의 유효 파일 포맷 및 기본 스트림의 생성을 가능하게 한다.
그러므로, 본 발명의 방법은 다중-계층 비디오 스트림의 독립적인 부분 또는 타일의 효율적 스트리밍에 적합하며, 표준으로, 특히 MPEG-4 Part 15 표준으로의 용이한 통합을 위해 기존 툴을 이용하고, 타일 레벨에서 동적 인터-계층 종속성을 지원하고, 타일링으로부터 상호관계를 줄이는 것은 2 이상의 일부 또는 타일 선택(즉, 임의의 ROI)에 적합하며, 추출기를 이용하여 유도된 오버헤드를 제한하여 인터-계층 종속성을 다룬다.
계층의 서브샘플이 또 다른 계층의 하나 이상의 서브샘플 또는 다양한 계층의 여러 서브샘플에 링크될 수 있다는 것이 주목되어야 한다.
일 실시예에서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 다중-계층 타일형의 시간 설정형 미디어 데이터이고, 상기 서브샘플들은 공간 서브샘플들이다.
일 실시예에서, 상기 생성된 트랙과 연관된 상기 서술적 메타데이터는, 상기 적어도 하나의 획득된 서브샘플이 상기 시간 설정형 샘플들 중 상기 적어도 하나의 모든 미디어 데이터를 포함하는, 동일한 계층에 속하는 적어도 하나의 서브샘플의 세트를 포함하는지 여부를 나타내는 파라미터를 포함한다.
일 실시예에서, 상기 생성된 트랙과 연관된 상기 서술적 메타데이터는 어떻게 상기 적어도 또 다른 서브샘플이 상기 생성된 트랙과 연관된 상기 서술적 메타데이터에서 서술되는지를 나타내는 파라미터를 포함한다.
일 실시예에서, 방법은, 상기 생성된 트랙의 서브샘플을 위한 적어도 2개의 서브샘플 그룹을 생성하는 단계를 더 포함하며, 상기 생성된 트랙과 연관된 상기 서술적 메타데이터는 각각의 상기 서브샘플 그룹의 정의를 포함하고, 각각의 상기 서브샘플 그룹의 정의는 상응하는 서브샘플 그룹의 각각의 서브샘플을 위한 종속성 링크를 포함한다.
일 실시예에서, 방법은 상기 생성된 트랙의 서브샘플을 위한 적어도 하나의 서브샘플 그룹을 생성하는 단계를 더 포함하며, 상기 생성된 트랙과 연관된 상기 서술적 메타데이터는 상기 생성된 서브샘플 그룹에 속하지 않는 상기 생성된 트랙의 각각의 서브샘플을 위한 종속성 링크를 포함한 제1 정의, 및 상기 생성된 서브샘플 그룹의 정의를 포함하고, 제2 정의로 지칭되는, 상기 생성된 서브샘플 그룹의 상기 정의는 상기 서브샘플 그룹의 각각의 서브샘플을 위한 종속성 링크를 포함한다.
일 실시예에서, 종속성 링크는 리스트로 조직되고, 리스트의 수는 샘플을 인코딩하는데 사용된 계층의 수와 동일하고, 각각의 리스트는 감소하거나 증가하는 계층의 순서로 조직되거나 계층 식별자와 연관된다.
일 실시예에서, 종속성 링크는 각각의 서브샘플을 위한 그리고 각각의 계층을 위한 상기 종속성 링크들 전부를 포함한 하나의 리스트로 조직된다.
일 실시예에서, 각각의 계층은 계층 식별자의 함수로서 식별되고, 종속성 링크는 동위치 서브샘플들의 계층 식별자를 포함한 하나의 리스트로 조직된다.
일 실시예에서, 상기 방법은:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 생성하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제2 서브샘플을 포함한 제2 트랙을 생성하는 단계 - 상기 적어도 하나의 제2 서브샘플은 상기 적어도 하나의 제1 샘플의 적어도 하나의 아이템의 서브샘플이고, 상기 제1 트랙은 상기 적어도 하나의 제2 서브샘플을 지시하는 적어도 하나의 제1 추출기를 포함함 -를 더 포함하고,
제3 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함한 상기 생성된 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제2 계층에 속한다.
일 실시예에서, 상기 방법은:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 생성하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제2 서브샘플을 포함한 제2 트랙을 생성하는 단계 - 상기 적어도 하나의 제2 서브샘플은 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템의 서브샘플이고, 상기 제1 트랙은 상기 적어도 하나의 제2 서브샘플을 지시하는 적어도 하나의 제1 추출기를 포함함 -;
적어도 하나의 제3 샘플의 아이템을 적어도 포함한 제3 트랙을 생성하는 단계 - 상기 제3 트랙의 샘플들의 상기 아이템들은 상기 적어도 하나의 제2 계층에 속함 -를 더 포함하고;
제4 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함한 상기 생성된 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기와 제4 트랙의 상기 적어도 하나의 획득된 서브샘플을 지시하는 적어도 하나의 제3 추가적 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제3 샘플의 상기 적어도 하나의 아이템의 서브샘플이다.
일 실시예에서, 상기 방법은:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 생성하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제3 샘플의 아이템을 적어도 포함한 제3 트랙을 생성하는 단계 - 상기 제3 트랙의 샘플들의 상기 아이템들은 상기 적어도 하나의 제2 계층에 속함 -를 포함하고;
제4 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 생성된 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기와 상기 제4 트랙의 상기 적어도 하나의 획득된 서브샘플을 지시하는 적어도 하나의 제3 추가적 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제3 샘플의 상기 적어도 하나의 아이템의 서브샘플이다.
일 실시예에서, 추출기는 상기 생성된 추출기에 의해 지시된 상기 계층의 서브샘플의 사이즈의 또는 샘플의 아이템의 사이즈를 기반으로 하는 기준의 값의 함수로서 생성된다.
일 실시예에서, 생성된 트랙들 각각을 캡슐화한 결과인 미디어 세그먼트 파일들은 국제 표준 기구(International Standard Organization)에 의해 정의되는 바와 같은 베이스 미디어 파일 포맷(Base Media File Format)과 호환 가능하도록 더 구성된다.
본 발명의 제2 양태에 따르면, 서버 또는 클라이언트 디바이스에서, 적어도 하나의 미디어 세그먼트 파일에서 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터로부터 다중-계층 시간 설정형 미디어 데이터 비트-스트림을 제공하기 위한 방법이 제공되며, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 적어도 하나의 제2 계층으로 인코딩되며, 적어도 하나의 시간 설정형 샘플은 상기 제1 계층 또는 상기 적어도 하나의 제2 계층으로 인코딩된 적어도 하나의 서브샘플을 포함하고, 적어도 하나의 트랙을 포함한 상기 적어도 하나의 미디어 세그먼트 파일은 상기 시간 설정형 샘플들 중 적어도 하나로부터 획득된 적어도 하나의 서브샘플을 포함하며, 상기 적어도 하나의 미디어 세그먼트 파일은 상기 적어도 하나의 트랙과 연관된 서술적 메타데이터와 연관되고, 상기 서술적 메타데이터는 상기 적어도 하나의 서브샘플과 적어도 또 다른 서브샘플 사이의 종속성 링크를 신호화하기 위한 디스크립터를 포함하며, 상기 종속성 링크는 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플이 동일한 계층에 속하는 경우 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플 사이의 인트라-계층 종속성과, 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플이 상이한 계층에 속하는 경우 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플 사이의 인터-계층 종속성을 서술하고, 상기 방법은 다음을 포함한다:
서브샘플을 표현하는 정보의 아이템을 선택하는 단계;
상기 선택된 서브샘플을 포함하는 상기 적어도 하나의 트랙을 요구하는 단계 - 상기 선택된 서브샘플은 상기 선택된 정보의 아이템에 대응함 -;
상기 적어도 하나의 미디어 세그먼트 파일과 상기 서술적 메타데이터를 수신하는 단계; 및
상기 다중-계층 시간 설정형 미디어 데이터 비트-스트림을 생성하기 위해 상기 적어도 또 다른 서브샘플을 식별하는 단계.
따라서, 본 발명은, 클라이언트 디바이스에 의해 다운로드되는 부분들 또는 타일들의 선택된 세트가 무엇이든, 다중-계층 비디오 스트림의 상이한 부분들, 특히 상이한 타일들의 조합, 및 파싱 시의 유효 파일 포맷 및 기본 스트림의 생성을 가능하게 한다.
그러므로, 본 발명의 방법은, 다중-계층 비디오 스트림의 독립적인 부분 또는 타일의 효율적 스트리밍에 적합하고, 표준, 특히 MPEG-4 Part 15 표준으로의 용이한 통합을 위해 기존 툴을 사용하고, 타일 레벨에서 동적 인터-계층 종속성을 지원하고, 타일링으로부터 상호관계를 줄이는 것은 2 이상의 일부 또는 타일 선택(즉, 임의의 ROI)에 적합하고, 추출기를 이용하여 유도된 오버헤드를 제한하여 인터-계층 종속성을 다룬다.
계층의 서브샘플이 또 다른 계층의 하나 이상의 서브샘플 또는 다양한 계층의 여러 서브샘플에 연결될 수 있다는 것이 주목되어야 한다.
일 실시예에서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 다중-계층 타일형의 시간 설정형 미디어 데이터이고, 상기 서브샘플들은 공간 서브샘플들이다.
일 실시예에서, 상기 방법은, 상기 적어도 하나의 획득된 서브샘플이, 상기 적어도 하나의 상기 시간 설정형 샘플의 모든 미디어 데이터를 포함하는, 동일한 계층에 속하는 적어도 하나의 서브샘플의 세트를 포함하는지의 여부를 나타내는 파라미터를, 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터로부터, 획득하는 단계를 더 포함한다.
일 실시예에서, 상기 방법은, 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터로부터, 어떻게 상기 적어도 또 다른 서브샘플이 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터에서 서술되는지를 나타내는 파라미터를 획득하는 단계를 더 포함한다.
일 실시예에서, 상기 방법은, 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터로부터, 상기 적어도 하나의 트랙의 적어도 2개의 서브샘플 그룹의 정의를 획득하는 단계 - 상기 획득된 정의는 상기 상응하는 서브샘플 그룹의 각각의 서브샘플을 위한 종속성 링크를 포함함 -를 더 포함한다.
일 실시예에서, 상기 방법은, 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터로부터, 상기 적어도 하나의 트랙의 서브샘플들을 위한 적어도 하나의 서브샘플 그룹의 정의 - 제1 정의로서 지칭된, 상기 적어도 하나의 서브샘플 그룹의 상기 정의는 상기 적어도 하나의 서브샘플 그룹의 각각의 서브샘플을 위한 종속성 링크를 포함함 -, 및 상기 적어도 하나의 서브샘플 그룹에 속하지 않는 상기 적어도 하나의 트랙의 각각의 서브샘플을 위한 종속성 링크를 포함한 제2 정의를 획득하는 단계를 더 포함한다.
일 실시예에서, 종속성 링크는 리스트로 조직되고, 리스트의 수는 샘플을 인코딩하는데 사용된 계층의 수와 동일하고, 각각의 리스트는 감소하거나 증가하는 계층의 순서로 조직되거나 계층 식별자와 연관된다.
일 실시예에서, 종속성 링크는, 각각의 서브샘플을 위한 그리고 각각의 계층을 위한 상기 종속성 링크들 전부를 포함한 하나의 리스트로 조직된다.
일 실시예에서, 각각의 계층은 계층 식별자의 함수로서 식별되고, 종속성 링크는 동위치 서브샘플들의 상기 계층 식별자들을 포함한 하나의 리스트로 조직된다.
일 실시예에서, 상기 방법은:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 획득하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제2 서브샘플을 포함한 제2 트랙을 획득하는 단계 - 상기 적어도 하나의 제2 서브샘플은 상기 적어도 하나의 제1 샘플의 서브샘플이고, 상기 제1 트랙은 상기 적어도 하나의 제2 서브샘플을 지시하는 적어도 하나의 제1 추출기를 포함함 -를 더 포함하고;
상기 제3 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 트랙은, 상기 적어도 하나의 제1 샘플을 지시하는 적어도 하나의 제3 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제2 계층에 속한다.
일 실시예에서, 상기 방법은:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 획득하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제2 서브샘플을 포함한 제2 트랙을 획득하는 단계 - 상기 적어도 하나의 제2 서브샘플은 상기 적어도 하나의 제1 샘플의 서브샘플이고, 상기 제1 트랙은 상기 적어도 하나의 제2 서브샘플을 지시하는 적어도 하나의 제1 추출기를 포함함 -;
적어도 하나의 제3 샘플의 아이템을 적어도 포함한 제3 트랙을 획득하는 단계 - 상기 제3 트랙의 샘플들의 상기 아이템들은 상기 적어도 하나의 제2 계층에 속함 -를 더 포함하고;
제4 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기와 상기 제4 트랙의 상기 적어도 하나의 획득된 서브샘플을 지시하는 적어도 하나의 제3 추가적 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제3 샘플의 상기 적어도 하나의 아이템의 서브샘플이다.
일 실시예에서, 상기 방법은:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 획득하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제3 샘플의 아이템을 적어도 포함한 제3 트랙을 획득하는 단계 - 상기 제3 트랙의 샘플들의 상기 아이템들은 상기 적어도 하나의 제2 계층에 속함 -를 더 포함하고;
제4 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기와 상기 제4 트랙의 상기 적어도 하나의 획득된 서브샘플을 지시하는 적어도 하나의 제3 추가적 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제3 샘플의 상기 적어도 하나의 아이템의 서브샘플이다.
일 실시예에서, 추출기는 상기 생성된 추출기에 의해 지시된 상기 계층의 서브샘플의 사이즈의 또는 샘플의 아이템의 사이즈를 기반으로 하는 기준의 값의 함수로서 식별된다.
일 실시예에서, 식별된 추출기에 의해 지시된 데이터의 추출은 종속성 링크의 파라미터의 함수로서 결정된다.
일 실시예에서, 생성된 트랙들 각각을 캡슐화한 결과인 미디어 세그먼트 파일들은 국제 표준 기구(International Standard Organization)에 의해 정의된 베이스 미디어 파일 포맷(Base Media File Format)과 호환 가능하다.
본 발명의 제3 양태에 따르면, 서버에서 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 디바이스가 제공되며, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 적어도 하나의 제2 계층으로 인코딩되고, 적어도 하나의 시간 설정형 샘플은 적어도 하나의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 적어도 하나의 제2 계층으로 인코딩되고, 상기 디바이스는:
상기 시간 설정형 샘플들 중 적어도 하나로부터 적어도 하나의 서브샘플을 획득하는 단계;
상기 적어도 하나의 획득된 서브샘플을 포함한 트랙을 생성하는 단계; 및
상기 생성된 트랙과 연관된 서술적 메타데이터를 생성하는 단계 - 상기 서술적 메타데이터는 상기 적어도 하나의 획득된 서브샘플과 적어도 또 다른 서브샘플 사이의 종속성 링크을 신호화하기 위한 디스크립터를 포함함 -를 실행하도록 구성된 프로세서를 포함하고, 상기 종속성 링크는:
상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플이 동일한 계층에 속하는 경우 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플 사이의 인트라-계층 종속성; 및
상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플이 상이한 계층에 속하는 경우 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플 사이의 인터-계층 종속성을 서술한다.
따라서, 본 발명은, 클라이언트 디바이스에 의해 다운로드되는 부분들 또는 타일들의 선택된 세트가 무엇이든, 다중-계층 비디오 스트림의 상이한 부분들, 특히 상이한 타일들의 조합, 및 파싱 시의 유효 파일 포맷 및 기본 스트림의 생성을 가능하게 한다.
그러므로, 본 발명의 디바이스는 다중-계층 비디오 스트림의 독립적인 부분 또는 타일의 효율적 스트리밍에 적합하고, 표준으로, 특히 MPEG-4 Part 15 표준으로의 용이한 통합을 위해 기존 툴을 사용하고, 타일 레벨에서 동적 인터-계층 종속성을 지원하고, 타일링으로부터 상호관계를 줄이는 것은 2 이상의 부분 또는 타일 선택(즉, 임의의 ROI)에 적합하고, 추출기를 이용하여 유도된 오버헤드를 제한하여 인터-계층 종속성을 다룬다.
계층의 서브샘플이 또 다른 계층의 하나 이상의 서브샘플 또는 다양한 계층의 여러 서브샘플에 링크될 수 있다는 것이 주목되어야 한다.
일 실시예에 따르면, 상기 프로세서는 다중-계층 구획된 시간 설정형 미디어 데이터가 다중-계층 타일형의 시간 설정형 미디어 데이터가 되도록 더 구성되고, 상기 서브샘플은 공간 서브샘플이다.
일 실시예에 따르면, 상기 프로세서는, 상기 생성된 트랙과 연관된 상기 서술적 메타데이터가, 상기 적어도 하나의 획득된 서브샘플이, 상기 시간 설정형 샘플들 중 상기 적어도 하나의 샘플의 상기 미디어 데이터들 전부를 포함하는, 동일한 계층에 속하는 적어도 하나의 서브샘플의 세트를 포함하는지 여부를 나타내는 파라미터를 포함하도록 더 구성된다.
일 실시예에 따르면, 상기 프로세서는 상기 생성된 트랙과 연관된 상기 서술적 메타데이터가 어떻게 상기 적어도 또 다른 서브샘플이 상기 생성된 트랙과 연관된 상기 서술적 메타데이터에서 서술되는지를 나타내는 파라미터를 포함하도록 더 구성된다.
일 실시예에 따르면, 상기 프로세서는 상기 생성된 트랙의 서브샘플을 위한 적어도 2개의 서브샘플 그룹을 생성하는 단계를 실행하도록 더 구성되고, 상기 생성된 트랙과 연관된 상기 서술적 메타데이터는 상기 서브샘플 그룹들 각각의 정의를 포함하고, 상기 서브샘플 그룹들 각각의 상기 정의는 상기 상응하는 서브샘플 그룹의 각각의 서브샘플을 위한 종속성 링크를 포함한다.
일 실시예에 따르면, 상기 프로세서는 상기 생성된 트랙의 서브샘플을 위한 적어도 하나의 서브샘플 그룹을 생성하는 단계를 실행하도록 더 구성되고, 상기 생성된 트랙과 연관된 상기 서술적 메타데이터는 상기 생성된 서브샘플 그룹에 속하지 않는 상기 생성된 트랙의 각각의 서브샘플을 위한 종속성 링크를 포함한 제1 정의, 및 상기 생성된 서브샘플 그룹의 정의를 포함하고, 제2 정의로 지칭된, 상기 생성된 서브샘플 그룹의 상기 정의는 상기 서브샘플 그룹의 각각의 서브샘플을 위한 종속성 링크를 포함한다.
일 실시예에 따르면, 상기 프로세서는 종속성 링크가 리스트로 조직되도록 더 구성되고, 리스트의 수는 샘플을 인코딩하는데 사용된 계층의 수와 동일하고, 각각의 리스트는 감소하거나 증가하는 계층의 순서로 조직되거나 계층 식별자에 연관된다.
일 실시예에 따르면, 상기 프로세서는 종속성 링크가 각각의 서브샘플을 위한 그리고 각각의 계층을 위한 모든 종속성 링크를 포함한 하나의 리스트로 조직되도록 더 구성된다.
일 실시예에 따르면, 상기 프로세서는 각각의 계층이 계층 식별자의 함수로서 식별되도록 더 구성되고, 종속성 링크는 동위치 서브샘플들의 상기 계층 식별자를 포함한 하나의 리스트로 조직된다.
일 실시예에 따르면, 상기 프로세서는:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 생성하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제2 서브샘플을 포함한 제2 트랙을 생성하는 단계 - 상기 적어도 하나의 제2 서브샘플은 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템의 서브샘플이고, 상기 제1 트랙은 상기 적어도 하나의 제2 서브샘플을 지시하는 적어도 하나의 제1 추출기를 포함함 -를 실행하도록 더 구성되고;
상기 제3 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 생성된 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제2 계층에 속한다.
일 실시예에 따르면, 상기 프로세서는:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 생성하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제2 서브샘플을 포함한 제2 트랙을 생성하는 단계 - 상기 적어도 하나의 제2 서브샘플은 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템의 서브샘플이고, 상기 제1 트랙은 상기 적어도 하나의 제2 서브샘플을 지시하는 적어도 하나의 제1 추출기를 포함함 -;
적어도 하나의 제3 샘플의 아이템을 적어도 포함한 제3 트랙을 생성하는 단계 - 상기 제3 트랙의 샘플들의 상기 아이템들은 상기 적어도 하나의 제2 계층에 속함 -를 실행하도록 더 구성되고;
제4 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 생성된 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기와 상기 제4 트랙의 상기 적어도 하나의 획득된 서브샘플을 지시하는 적어도 하나의 제3 추가적 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제3 샘플의 상기 적어도 하나의 아이템의 서브샘플이다.
일 실시예에 따르면, 상기 프로세서는:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 생성하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제3 샘플의 아이템을 적어도 포함한 제3 트랙을 생성하는 단계 - 상기 제3 트랙의 샘플들의 상기 아이템들은 상기 적어도 하나의 제2 계층에 속함 -를 실행하기 위해 더 구성되고;
제4 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 생성된 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기와 상기 제4 트랙의 상기 적어도 하나의 획득된 서브샘플을 지시하는 적어도 하나의 제3 추가적 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제3 샘플의 상기 적어도 하나의 아이템의 서브샘플이다.
일 실시예에 따르면, 상기 프로세서는 추출기가 상기 생성된 추출기에 의해 지시된 상기 계층의 서브샘플의 사이즈의 또는 샘플의 아이템의 사이즈를 기반으로 하는 기준의 값의 함수로서 생성되도록 더 구성된다.
일 실시예에서, 상기 프로세서는 상기 생성된 트랙들 각각을 캡슐화한 결과인 미디어 세그먼트 파일들이 국제 표준 기구(International Standard Organization)에 의해 정의된 베이스 미디어 파일 포맷(Base Media File Format)과 호환 가능하다.
본 발명의 제4 양태에 따르면, 서버 또는 클라이언트 디바이스에서, 적어도 하나의 미디어 세그먼트 파일에서 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터로부터 다중-계층 시간 설정형 미디어 데이터 비트-스트림을 제공하기 위한 디바이스가 제공되며, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 적어도 하나의 제2 계층으로 인코딩되고, 적어도 하나의 시간 설정형 샘플은 적어도 상기 제1 계층 또는 상기 적어도 하나의 제2 계층으로 인코딩된 적어도 하나의 서브샘플을 포함하고, 적어도 하나의 트랙을 포함한 상기 적어도 하나의 미디어 세그먼트 파일은 적어도 하나의 시간 설정형 샘플로부터 획득된 적어도 하나의 서브샘플을 포함하고, 상기 적어도 하나의 미디어 세그먼트 파일은 상기 적어도 하나의 트랙과 연관된 서술적 메타데이터와 연관되고, 상기 서술적 메타데이터는 상기 적어도 하나의 서브샘플과 적어도 또 다른 서브샘플 사이의 종속성 링크를 신호화하기 위한 디스크립터를 포함하고, 상기 종속성 링크는 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플이 동일한 계층에 속하는 경우 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플 사이의 인트라-계층 종속성과, 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플이 다양한 계층에 속하는 경우 상기 적어도 하나의 획득된 서브샘플과 상기 적어도 또 다른 서브샘플 사이의 인터-계층 종속성을 서술하고, 상기 디바이스는 다음과 같은 단계를 실행하도록 구성된 프로세서를 포함한다:
서브샘플을 표현하는 정보의 아이템을 선택하는 단계;
상기 선택된 서브샘플을 포함한 상기 적어도 하나의 트랙을 요구하는 단계 - 상기 선택된 서브샘플은 상기 선택된 정보의 아이템에 대응함 -;
상기 적어도 하나의 미디어 세그먼트 파일과 상기 서술적 메타데이터를 수신하는 단계; 및
상기 다중-계층 시간 설정형 미디어 데이터 비트-스트림을 생성하기 위해 상기 적어도 또 다른 서브샘플을 식별하는 단계.
따라서, 본 발명은, 클라이언트 디바이스에 의해 다운로드되는 부분들 또는 타일들의 선택된 세트가 무엇이든, 다중-계층 비디오 스트림의 상이한 부분들, 특히 상이한 타일들의 조합, 및 파싱 시의 유효 파일 포맷 및 기본 스트림의 생성을 가능하게 한다.
그러므로, 본 발명의 디바이스는 다중-계층 비디오 스트림의 독립적인 부분 또는 타일의 효율적 스트리밍에 적합하고, 표준으로, 특히 MPEG-4 Part 15 표준으로의 용이한 통합을 위해 기존 툴을 사용하고, 타일 레벨에서 동적 인터-계층 종속성을 지원하고, 타일링으로부터 상호관계를 줄이는 것은 2 이상의 부분 또는 타일 선택(즉, 임의의 ROI)에 적합하고, 추출기를 이용하여 유도된 오버헤드를 제한하여 인터-계층 종속성을 다룬다.
계층의 서브샘플이 또 다른 계층의 하나 이상의 서브샘플 또는 다양한 계층의 여러 서브샘플에 링크될 수 있다는 것이 주목되어야 한다.
특별한 실시예에 따르면, 상기 프로세서는 다중-계층 구획된 시간 설정형 미디어 데이터가 다중-계층 타일형의 시간 설정형 미디어 데이터가 되도록 더 구성되고, 상기 서브샘플은 공간 서브샘플이다.
특별한 실시예에 따르면, 상기 프로세서는, 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터로부터, 상기 적어도 하나의 획득된 서브샘플이 상기 시간 설정형 샘플들 중 상기 적어도 하나의 샘플의 모든 미디어 데이터를 포함하는, 동일한 계층에 속하는 적어도 하나의 서브샘플의 세트를 포함하는지 여부를 나타내는 파라미터를 획득하는 단계를 실행하도록 더 구성된다.
특별한 실시예에 따르면, 상기 프로세서는, 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터로부터, 어떻게 상기 적어도 또 다른 서브샘플이 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터에서 서술되는지를 나타내는 파라미터를 획득하는 단계를 실행하도록 더 구성된다.
특별한 실시예에 따르면, 상기 프로세서는, 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터로부터, 상기 적어도 하나의 트랙의 적어도 2개의 서브샘플 그룹의 정의를 획득하는 단계를 수행하도록 더 구성되고, 상기 획득된 정의는 상기 상응하는 서브샘플 그룹의 각각의 서브샘플을 위한 종속성 링크를 포함한다.
특별한 실시예에 따르면, 상기 프로세서는, 상기 적어도 하나의 트랙과 연관된 상기 서술적 메타데이터로부터, 상기 적어도 하나의 트랙의 서브샘플을 위한 적어도 하나의 서브샘플 그룹의 정의 - 상기 제1 정의로 지칭된, 상기 적어도 하나의 서브샘플 그룹의 상기 정의는 상기 적어도 하나의 서브샘플 그룹의 각각의 서브샘플을 위한 종속성 링크를 포함함 -, 및 상기 적어도 하나의 서브샘플 그룹에 속하지 않는 상기 적어도 하나의 트랙의 각각의 서브샘플을 위한 종속성 링크를 포함한 제2 정의를 획득하는 단계를 수행하도록 더 구성된다.
특별한 실시예에 따르면, 상기 프로세서는, 종속성 링크가 리스트로 조직되도록 더 구성되고, 리스트의 수는 샘플을 인코딩하는데 사용된 계층의 수와 동일하고, 각각의 리스트는 감소하거나 증가하는 계층의 순서로 조직되거나 계층 식별자에 연관된다.
특별한 실시예에 따르면, 상기 프로세서는, 종속성 링크가 각각의 서브샘플을 위한 그리고 각각의 계층을 위한 모든 종속성 링크를 포함한 하나의 리스트로 조직되도록 더 구성된다.
특별한 실시예에 따르면, 상기 프로세서는, 각각의 계층이 계층 식별자의 함수로서 식별되도록 더 구성되고, 종속성 링크는 상기 동위치 서브샘플들의 상기 계층 식별자를 포함한 하나의 리스트로 조직된다.
특별한 실시예에 따르면, 상기 프로세서는:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 획득하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제2 서브샘플을 포함한 제2 트랙을 획득하는 단계 - 상기 적어도 하나의 제2 서브샘플은 상기 적어도 하나의 제1 샘플의 서브샘플이고, 상기 제1 트랙은 상기 적어도 하나의 제2 서브샘플을 지시하는 적어도 하나의 제1 추출기를 포함함 -를 수행하도록 더 구성되고;
상기 제3 트랙으로서 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 트랙은, 상기 적어도 하나의 제1 샘플을 지시하는 적어도 하나의 제3 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제2 계층에 속한다.
특별한 실시예에 따르면, 상기 프로세서는:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 획득하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제2 서브샘플을 포함한 제2 트랙을 획득하는 단계 - 상기 적어도 하나의 제2 서브샘플은 상기 적어도 하나의 제1 샘플의 서브샘플이고, 상기 제1 트랙은 상기 적어도 하나의 제2 서브샘플을 지시하는 적어도 하나의 제1 추출기를 포함함 -;
적어도 하나의 제3 샘플의 아이템을 적어도 포함한 제3 트랙을 획득하는 단계 - 상기 제3 트랙의 샘플들의 상기 아이템들은 상기 적어도 하나의 제2 계층에 속함 -를 수행하도록 더 구성되고;
제4 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기와 상기 제4 트랙의 상기 적어도 하나의 획득된 서브샘플을 지시하는 적어도 하나의 제3 추가적 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제3 샘플의 상기 적어도 하나의 아이템의 서브샘플이다.
특별한 실시예에 따르면, 상기 프로세서는:
적어도 하나의 제1 샘플의 아이템을 적어도 포함한 제1 트랙을 획득하는 단계 - 상기 제1 트랙의 샘플들의 상기 아이템들은 상기 제1 계층에 속함 -;
적어도 하나의 제3 샘플의 아이템을 적어도 포함한 제3 트랙을 획득하는 단계 - 상기 제3 트랙의 샘플들의 상기 아이템들은 상기 적어도 하나의 제2 계층에 속함 -를 수행하도록 더 구성되고;
제4 트랙으로 지칭된, 상기 적어도 하나의 획득된 서브샘플을 포함하는 상기 트랙은, 상기 적어도 하나의 제1 샘플의 상기 적어도 하나의 아이템을 지시하는 적어도 하나의 제3 추출기와 상기 제4 트랙의 상기 적어도 하나의 획득된 서브샘플을 지시하는 적어도 하나의 제3 추가적 추출기를 포함하고, 상기 적어도 하나의 획득된 서브샘플은 상기 적어도 하나의 제3 샘플의 상기 적어도 하나의 아이템의 서브샘플이다.
특별한 실시예에 따르면, 상기 프로세서는, 추출기가 상기 생성된 추출기에 의해 지시된 상기 계층의 서브샘플의 사이즈의 또는 샘플의 아이템의 사이즈를 기반으로 하는 기준의 값의 함수로서 식별되도록 더 구성된다.
특별한 실시예에 따르면, 상기 프로세서는, 식별된 추출기에 의해 지시된 데이터의 상기 추출이 종속성 링크의 파라미터의 함수로서 결정되도록 더 구성된다.
특별한 실시예에 따르면, 상기 프로세서는, 생성된 트랙들 각각을 캡슐화한 결과인 미디어 세그먼트 파일들이 국제 표준 기구(International Standard Organization)에 의해 정의된 베이스 미디어 파일 포맷(Base Media File Format)과 호환 가능하도록 더 구성된다.
본 명세서에서 상기 주지된 캡슐화의 방법과 디바이스는, 일정한 실시예에서, 네트워크를 통해 (임의의 생성된 메타데이터를 포함하는) 상기 캡슐화된 데이터를 전송하거나, 그러한 캡슐화된 데이터를 저장하는 것을 더 포함할 수 있다. 디캡슐레이션(또는 파싱)의 방법과 디바이스는, 일정한 실시예에서, 디코딩될 및/또는 디스플레이될 상기 파싱된 비트-스트림을 출력하는 것을 더 포함할 수 있다.
본 발명의 제5 및 제6 양태에 따르면, 위에 설명된 디바이스를 포함하는 비디오 인코더 및 비디오 디코더가 제공된다.
따라서, 본 발명은, 클라이언트 디바이스에 의해 다운로드되는 부분들 또는 타일들의 선택된 세트가 무엇이든, 다중-계층 비디오 스트림의 상이한 부분들, 특히 상이한 타일들의 조합, 및 파싱 시의 유효 파일 포맷 및 기본 스트림의 생성을 가능하게 한다.
그러므로, 본 발명의 비디오 인코더와 비디오 디코더는 다중-계층 비디오 스트림의 독립적인 부분 또는 타일의 효율적 스트리밍에 적합하고, 표준으로, 특히 MPEG-4 Part 15 표준으로의 용이한 통합을 위해 기존 툴을 사용하고, 타일 레벨에서 동적 인터-계층 종속성을 지원하고, 타일링으로부터 상호관계를 줄이는 것은 2 이상의 부분 또는 타일 선택(즉, 임의의 ROI)에 적합하고, 추출기를 이용하여 유도된 오버헤드를 제한하여 인터-계층 종속성을 다룬다.
계층의 서브샘플이 또 다른 계층의 하나 이상의 서브샘플 또는 다양한 계층의 여러 서브샘플에 링크될 수 있다는 것이 주목되어야 한다.
본 발명은 소프트웨어로 구현될 수 있으므로, 본 발명은 임의의 적합한 캐리어 매체 상의 프로그램 가능한 기기에 대한 정의로서 컴퓨터 판독가능한 코드로서 구체화될 수 있다. 유형의 캐리어 매체는 플로피 디스크, CD-ROM, 하드 디스크 드라이브, 자기 테이프 디바이스 또는 솔리드 스테이트 메모리 디바이스 등과 같은 저장 매체를 포함할 수 있다. 일시적인 캐리어 매체는 전기 신호, 전자 신호, 광 신호, 음향 신호, 자기 신호 또는 전자기 신호, 예를 들어 마이크로웨이브 또는 RF 신호와 같은 신호를 포함할 수 있다.
본 발명의 추가의 이점들은 도면들 및 상세한 설명의 검토에 의해 본 기술 분야의 통상의 기술자에게 명백해질 것이다. 임의의 추가적인 이점들도 본 명세서에 결합될 수 있는 것으로 이해된다.
본 발명의 실시예들은 이하, 다음의 도면을 참고로 하여, 단지 예로서 설명될 것이다.
도 1a, 1b, 및 1c를 포함한 도 1은, HEVC 비트-스트림에서 타일과 슬라이스 세그먼트의 예를 예시한다;
도 2a 및 2b를 포함한 도 2는 다중 트랙에서 타일을 캡슐화하는 예를 예시한다;
도 3a, 3b, 3c를 포함한 도 3은 HEVC 스케일러블 비트-스트림들의 구성의 상이한 예들을 도시한다;
도 4는 디스플레이되도록 사용자에 의해 선택된 타일들의 시간적인 파이프를 도시한다;
도 5는 다중-계층 HEVC 방식을 이용하는 동안 비디오 데이터를 인코딩하기 위한 참조 픽처의 세트의 사용을 설명한다;
도 6a, 6b, 6c 및 6d를 포함한 도 6은 인터-계층 타일 예측의 다양한 타입을 설명한다;
도 7은 인터-계층 종속성 디스크립션을 가능하게 하는 타일 디스크립터의 예를 예시한다;
도 8a와 8b를 포함한 도 8은 본 발명의 특별한 실시예에 따라 수정된 단일 계층 타일 디스크립터, 및 타일 세트 디스크립터를 각각 예증하는데, 이는 다른 타일에 대한 디코딩 종속성의 설명을 가능하게 한다;
도 9는 다중-계층 타일링을 위한 타일 세트 디스크립터의 예를 예시한다;
도 10은 타일 트랙에서 인터-계층 종속성을 신호화하는 예를 예시한다;
도 11은 베이스 트랙과 독립적 타일 트랙을 포함한 트랙들의 세트로서 HEVC 비트-스트림을 캡슐화하는 예를 예시한다;
도 12는 각각이 개별 타일 트랙에 저장되는 4개의 타일을 포함한 HEVC 비트-스트림의 경우에 트랙들 간의 종속성의 단순화된 개요를 설명한다;
도 13은 타일되는 베이스 계층과 향상 계층을 포함한 스케일러블 HEVC 비트-스트림의 경우에 트랙들 간의 종속성의 단순화된 개요를 설명한다;
도 14는 순환적 추출기가 이용될 때, 타일되는 베이스 계층과 향상 계층을 포함한 스케일러블 HEVC 비트-스트림의 경우에 트랙들 간의 종속성의 단순화된 개요를 설명한다;
도 15는 다중-계층 타일형 비디오 비트-스트림을 효율적으로 캡슐화하기 위한 서버 디바이스에서 실시될 수 있는 단계의 예를 예시한다;
도 16은 인코딩된 다중-계층 타일형 비디오 비트-스트림의 역캡슐화하기 위한 비트-스트림 판독기에서 실시될 수 있는 단계의 예를 예시한다;
도 17은 순환적 추출기를 포함한 트랙으로부터 비디오 데이터를 추출하기 위한 알고리즘의 예를 예시한다;
도 18은 하나 이상의 실시예들의 단계들이 구현될 수 있는 서버 또는 클라이언트 디바이스의 블록도를 나타낸다.
특별한 실시예에 따르면, 시간 설정형 샘플(예를 들어, 이미지)을 포함한 다중-계층 타일형의 시간 설정형 미디어 데이터(예를 들어, 스케일러블 타일형 비디오 데이터)와 같은 다중-계층 구획된 시간 설정형 미디어 데이터는 여러개의 시간 설정형 미디어 데이터 트랙, 일반적으로 베이스 트랙과 타일 트랙의 세트로서 전송된다. 또한 특별한 실시예에 따르면, 베이스 트랙은 베이스 계층 베이스 트랙과 적어도 하나의 향상 계층 베이스 트랙을 포함하고, 타일 트랙은 베이스 계층 타일 트랙과 향상 계층 타일 트랙을 포함한다. 각각의 시간 설정형 미디어 데이터 트랙은 여러개의 시간 설정형 샘플의 하나의 공간적 서브샘플(예를 들어, 여러개의 NAL 유닛)을 포함한다. 추출기는 트랙 종속성(타일링, 인터-계층 및/또는 인트라-계층 종속성)을 설명하는데 사용된다. 시간 설정형 미디어 데이터 트랙들의 그러한 세트는 다중-계층 공간적 비디오 타일들의 선택, 구성, 및 효율적 스트리밍을 허용한다. 각각의 트랙은 미디어 세그먼트 파일들의 세트로서 서버 디바이스로부터 클라이언트 디바이스로 전송될 수 있다. 초기화 세그먼트 파일은 미디어 세그먼트 파일들을 디코딩하기 위해 요구되는 메타데이터를 전송하는데 사용될 수 있다.
바람직하게는, 타일 디스크립션은 종속성의 변화가 시간이 지남에 따라, 전체 타일링과 종속성이 다시 설명되게 요구하지 않도록 계층 종속성 디스크립션으로부터 개별적으로 고려된다. 인터-계층 종속성은 추출기, 특히 순환적 추출기를 이용하여 인코딩될 수 있고, 상기 순환은 종속성 선언에 의해 제어된다.
본 발명의 실시예는, 예를 들어, HEVC로 알려진 비디오 포맷에 적용할 수 있다.
HEVC 표준에 따르면, 이미지들은 타일들, 슬라이스들, 및 슬라이스 세그먼트들로 공간적으로 나누어질 수 있다. 이러한 표준에서, 타일은 수평 및 수직 경계들(즉, 행 및 열)에 의해 정의되는 이미지의 직사각형 영역에 대응한다. 이것은 정수 개의 코딩 트리 유닛(Coding Tree Unit)(CTU)들을 포함한다. 따라서, 타일들은, 예를 들어, 관심 영역들에 대한 위치 및 사이즈를 정의함으로써 관심 영역들을 식별하는 데 효율적으로 사용될 수 있다. 그러나, HEVC 비트-스트림의 구조뿐 아니라 네트워크 추상화 계층(Network Abstract Layer)(NAL) 유닛들로서의 그것의 캡슐화는 타일의 관점에서 조직화되지 않지만 슬라이스들에 기반한다.
HEVC 표준에서, 슬라이스들은 슬라이스 세그먼트들의 세트들이고, 슬라이스 세그먼트들의 세트의 제1 슬라이스 세그먼트는 독립 슬라이스 세그먼트이며, 즉, 헤더 내에 저장된 일반 정보가 다른 슬라이스 세그먼트의 것을 참조하지 않는 슬라이스 세그먼트이다. 슬라이스 세그먼트의 세트의 다른 슬라이스 세그먼트는, 만일 있다면, 종속 슬라이스 세그먼트이다(즉, 헤더 내에 저장된 일반적 정보가 독립 슬라이스 세그먼트의 것을 참조하는 슬라이스 세그먼트이다).
슬라이스 세그먼트는 정수 개의 연속적인(래스터 스캔 순서로) 코딩 트리 유닛(Coding Tree Unit)들을 포함한다. 그러므로, 슬라이스 세그먼트는 직사각형 형상일 수도 또는 아닐 수도 있고, 따라서, 관심 영역을 나타내기에 적절하지 않다. 이것은 슬라이스 세그먼트 헤더와 그에 후속하는 슬라이스 세그먼트 데이터의 형식 하에서 HEVC 비트-스트림으로 인코딩된다. 독립 및 종속 슬라이스 세그먼트들은 그들의 헤더에 차이가 있다: 종속 슬라이스 세그먼트는 독립 슬라이스 세그먼트에 종속하기 때문에, 그의 헤더의 정보량은 독립 슬라이스 세그먼트의 것보다 작다. 독립 및 종속 슬라이스 세그먼트들 둘다는 타일들을 정의하는 데 사용되거나 엔트로피 디코딩 동기화 포인트(entropy decoding synchronization point)들로서 사용되는 대응하는 비트-스트림에서의 엔트리 포인트들의 리스트를 포함한다.
도 1a, 1b, 및 1c를 포함한 도 1은 타일 및 슬라이스 세그먼트들의 예를 예시한다. 더 정확히, 도 1a는 수직 경계(105-1 및 105-2)와 수평 경계(110-1 및 110-2)에 의해 9개의 부분들로 나뉘어진 이미지(100)를 예시한다. 115-1 내지 115-9로 참조된 9개의 부분들 각각은 특정한 타일을 나타낸다.
도 1b는 수직 경계(105')에 의해 구분된 2개의 수직 타일들을 포함하는 이미지(100')를 예시한다. 이미지(100')는 1개의 독립 슬라이스 세그먼트(120-1)(빗금으로 나타냄)와 4개의 종속 슬라이스 세그먼트들(120-2 내지 120-5)인, 5개의 슬라이스 세그먼트들을 포함하는 단일 슬라이스(참조되지 않음)를 포함한다.
도 1c는 수직 경계(105")에 의해 구분된 2개의 수직 타일들을 포함하는 이미지(100")를 예시한다. 좌측 타일은 2개의 슬라이스들을 포함한다: 제1 슬라이스는 1개의 독립 슬라이스 세그먼트(120'-1) 및 1개의 종속 슬라이스 세그먼트(120'-2)를 포함하고 제2 슬라이스는 또한 1개의 독립 슬라이스 세그먼트(120'-3) 및 1개의 종속 슬라이스 세그먼트(120'-4)를 포함한다. 우측 타일은 1개의 독립 슬라이스 세그먼트(120'-5) 및 1개의 종속 슬라이스 세그먼트(120'-6)을 포함하는 하나의 슬라이스를 포함한다.
HEVC 표준에 따라, 슬라이스 세그먼트들은 이하와 같이 요약될 수 있는 규칙들에 따라 타일들에 링크된다(하나 또는 양측 조건들이 만족되어야 함):
- 슬라이스 세그먼트 내의 모든 CTU들이 동일한 타일에 속한다(즉, 슬라이스 세그먼트는 여러 타일에 속할 수 없다); 그리고
- 타일 내의 모든 CTU들이 동일한 슬라이스 세그먼트에 속한다(즉, 타일은 여러 슬라이스 세그먼트들로 나뉘어질 수 있고, 이들 슬라이스 세그먼트들 각각은 단지 해당 타일에 속한다고 정의된다).
설명의 목적상, 이하에서는 하나의 타일이 하나의 독립 슬라이스 세그먼트만을 갖는 하나의 슬라이스를 포함하는 것으로 간주된다. 그러나, 본 발명의 실시예는 도 1b 및 1c에 예시된 것과 같이 다른 구성으로 실행될 수 있다.
전술한 바와 같이, 타일들이 관심 영역들에 대한 적절한 지원으로서 간주될 수 있지만, 슬라이스 세그먼트들은 통신 네트워크를 통한 전송을 위해 실제로 NAL 유닛들 내에 삽입되고 액세스 유닛들(즉, 파일 포맷 레벨에서의 코딩된 픽처 또는 샘플들)을 형성하기 위해 집성되는 엔티티들이다.
HEVC 표준에 따라, NAL 유닛의 타입이 다음과 같이 정의될 수 있는 NAL 유닛 헤더의 2개의 바이트로 인코딩된다는 것이 상기된다:
nal_unit_header(){
forbidden_zero_bit
nal_unit_type
nuh_layer_id
nuh_temporal_id_plus1
}
슬라이스 세그먼트들을 코딩하는 데 사용된 NAL 유닛들은 슬라이스 세그먼트 어드레스 구문 요소 덕분에 슬라이스 세그먼트 내의 제1 CTU의 어드레스를 나타내는 슬라이스 세그먼트 헤더들을 포함한다. 그러한 슬라이스 세그먼트 헤더들은 다음과 같이 정의될 수 있다:
slice_segment_header(){
first_slice_segment_in_pic_flag
if(nal_unit_type>=BLA_W_LP&&nal_unit_type<=RSV_IRAP_VCL23)
no_output_of_prior_pics_flag
slice_pic_parameter_set_id
if(!first_slice_segment_in_pic_flag){
if(dependent_slice_segments_enabled_flag)
dependent_slice_segment_flag
slice_segment_address
}
if(!dependent_slice_segment_flag){
[...]
타일링 정보가 PPS(Picture Parameter Set) NAL 유닛에 제공된다. 그리고 나서, 슬라이스 세그먼트와 타일 간의 관계는 이러한 파라미터들로부터 추론될 수 있다.
공간적 예측들이 (정의에 의해) 타일 경계들 상에서 리셋되지만, 아무것도 타일이 참조 프레임(들) 내의 상이한 타일로부터 시간적 예측기들을 이용하는 것을 막지 못한다. 따라서, 독립 타일(들)을 구축하기 위해, 예측 유닛들을 위한 모션 벡터들이 유리하게도, 인코딩 동안에, 참조 프레임(들) 내의 동위치의 타일에 남아 있도록, 타일 내부에 제약된다. 또한, 인-루프 필터(in-loop filters)(디블로킹(deblocking) 및 샘플 적응형 오프셋(sample adaptive offset)(SAO) 필터)들은 바람직하게는 타일 경계들 상에서 비활성화되어, 하나의 타일만을 디코딩하는 경우에 어떠한 에러 드리프트(error drift)도 도입되지 않는다. 그러한 인-루프 필터들의 제어가 HEVC 표준에서 이용 가능하다는 것에 유의해야 한다. 이것은 loop_filter_across_tiles_enabled_flag로서 알려진 플래그를 이용하여 슬라이스 세그먼트 헤더에서 설정된다. 이러한 플래그를 0으로 명시적으로 설정함으로써, 타일 경계들에서의 픽셀들은 이웃 타일들의 경계 상에 속하는 픽셀들에 종속될 수 없다. 모션 벡터들 및 인-루프 필터들과 관련된 이러한 2개의 조건들이 만족되는 경우, 타일들은 "독립적으로 디코딩가능한 타일들" 또는 "독립 타일들"로서 간주될 수 있다.
비디오 비트-스트림이 독립 타일들의 세트로서 인코딩되는 경우, 이것은 참조 데이터의 누락 또는 재구성 에러들의 전파에 대한 어떠한 위험도 없이 하나의 프레임으로부터 다른 프레임으로의 타일 기반 디코딩을 가능하게 한다. 그리고 나서, 이러한 구성은, 예를 들어, (타일들 3 및 7을 포함하는) 도 4에 예시된 해당 영역에 대응할 수 있는 원래 비디오의 공간적 부분만을 재구성하는 것을 가능하게 한다. 그러한 구성은 타일 기반 디코딩이 신뢰할 수 있다는 것을 나타내기 위해 비디오 비트-스트림 내의 보충 정보로서 나타내어질 수 있다.
MPEG-4 Part 12 표준의 기존 샘플 그룹화 메커니즘은 타일을 캡슐화하는데 사용될 수 있다. 따라서, 특정한 샘플 그룹 디스크립션은 특정한 종류의 표준 VisualSampleGroupEntry 디스크립터인 타일 디스크립터를 이용하여 생성된다. 샘플 그룹화 메커니즘들은 트랙들에서의 샘플들의 파티션들을 나타내기 위해 사용된다. 그들은 2개의 박스의 사용에 대하여 종속한다: 샘플 그룹들에 대한 샘플들의 할당을 설명하는 SampleToGroup 박스('sbgp') 및 특정 샘플 그룹 내의 샘플들의 공통 특성들을 설명하는 SampleGroupDescription 박스('sgpd'). 특정 타입의 샘플 그룹화는 타입 필드('grouping_type')를 통해 하나의 SampleToGroup 박스와 하나의 SampleGroupDescription 박스의 조합에 의해 정의된다. 다수의 샘플 그룹화의 경우(즉, SampleToGroup과 SampleGroupDescription 박스의 쌍)들은 다양한 그룹화 기준을 기반으로 존재할 수 있다.
샘플의 타일링과 관련된 특별한 그룹화 기준이 이용된다. 'trif'로 지칭되는 이러한 특별한 그룹화 타입은 타일의 특성을 설명하고 표준 VisualSampleGroupEntry로부터 도출된다. 그것은 TileRegionSampleGroupEntry로서 언급될 수 있고, 다음과 같이 정의된다:
class TileRegionGroupEntry() extends VisualSampleGroupEntry('trif'){
unsigned int(16) group ID;
unsigned int(2) independent;
unsigned int(6) reserved=0;
unsigned int(16) horizontal_offset;
unsigned int(16) vertical_offset;
unsigned int(16) region_width;
unsigned int(16) region_height;
}
이러한 특별한 타입의 그룹 엔트리에 따르면, groupID 파라미터는 그룹에 의해 설명된 타일에 대한 고유 식별자이다. horizontal_offset 및 vertical_offset 파라미터는, 베이스 영역의 루마 샘플들에서, HEVC 프레임의 상부-좌측 픽셀에 대하여, 타일에 의해 표현된 직사각형 영역의 상부-좌측 픽셀의 수평 및 수직 오프셋을 설정하는데 각각 이용된다. region_width 및 region_height 파라미터는, HEVC 프레임의 루마 샘플들에서, 타일에 의해 표현된 직사각형 영역의 폭 및 높이를 설정하는데 각각 이용된다. independent 파라미터는, 독립 타일들의 정의를 참조하여 전술한 바와 같이, 동일한 타일에만 속하는 샘플들에 관련된 디코딩 종속성들을 타일이 포함하는 것을 명시하는 2-비트 워드이다. 설명을 위해 그리고 타일 조직을 설명하기 위한 SEI 메시지(Supplemental Enhancement Information: 보충 증강 정보)의 표준 사용을 참조하여, tile_section_exact_match_flag로 알려진 플래그는 그 의미가 다음과 같이 설정될 수 있는 독립 플래그의 값을 설정하는데 사용될 수 있다:
- independent 파라미터가 0인 경우에는, 이러한 타일과 동일한 프레임 또는 이전의 프레임들에서의 다른 타일들과의 사이의 코딩 종속성들은 타일 세트 레벨에서 설명되거나 또는 알려지지 않고;
- independent 파라미터가 1인 경우에는, 이러한 타일과 임의의 참조 프레임에서의 상이한 groupID를 갖는 다른 타일들과의 사이에 시간적 코딩 종속성이 존재할 수 없지만 이러한 타일과 참조 프레임에서의 동일한 groupID를 갖는 타일들과의 사이에 코딩 종속성들이 존재할 수 있고,
- independent 파라미터가 2인 경우에는, 이러한 타일과 동일한 프레임에서의 다른 타일들과의 사이에 코딩 종속성들이 존재하지 않고, 이러한 타일과 참조 프레임에서의 임의의 다른 타일들과의 사이에 코딩 종속성들이 존재하지 않으며,
independent 파라미터 값 3이 예약된다.
선택적으로, 타일당 평균 비트레이트를 설명하는 파라미터는 타일 샘플 엔트리, 예를 들어, MPEG4BitRateBox를 이용하여 4 문자 코드 'hvtV'에 의해 표현된 특정한 VisualSampleEntry인 HEVCTileSampleEntry 205를 설명하는 mp4 박스에서 또는 타일 디스크립터에서 설정될 수 있다. 대역폭을 기반으로 적응을 위한 스트리밍 클라이언트에게 제공되기 위해서, 타일당 비트레이트 정보를 이러한 박스에 저장하는 것이 유용할 수 있다. 대부분의 mp4 박스에 관해서, HEVCTileSampleEntry 박스는 애플리케이션 특정 요구에 맞게 선택적 여분 박스를 이용하여 확장될 수 있다.
각각의 타일의 특성들은, 각각의 타일 트랙에 대해, 'trif' grouping_type 및 TileRegionGroupEntry를 갖는 하나의 SampleGroupDescription 박스('sgpd')를 정의함으로써 무비 헤더('moov' 박스)에서 한번 제공된다. 타일 속성은 또한 트랙 프래그먼트마다 정의될 수 있다. 그러한 mp4 트랙은 비디오 타일 트랙 또는 타일 트랙으로 정의될 수 있다. HEVC 표준에 따르면, HEVC 타일 트랙은 이러한 트랙 내의 타일(들)이 속한 HEVC 계층의 다른 NALU(다양한 파라미터 세트와 같은 정보를 일반적으로 셋업하는)들을 전달하는 HEVC 트랙에의 참조가 있는 비디오 타일 트랙이다. 참조는 타일 베이스 트랙을 나타내기 위해, 'sbas' 4 문자 코드와 같은 MPEG-4 Part 15 표준, 또는 'tbas'와 같은 좀 더 특정된 것에서 이미 정의된 값을 이용할 수 있다.
하나의 타일 트랙은, 오직 하나의 TileRegionGroupEntry(도 8a에 예시됨)을 갖고 TileSetGroupEntry를 갖지 않거나, 또는 이러한 타일 세트가 만들어진 오직 하나의 TileSetGroupEntry와 하나 이상의 종속 TileRegionGroupEntry를 갖고, TileSetGroupEntry는 설명된 타일들의 세트에의 TileRegionGroupEntry의 확장이다. 이러한 그룹들 각각이 고유한 식별자를 할당받고, 그것은 그룹에 NALU를 연합시키는데 사용될 수 있다는 것에 유념해야 한다. 'tbas' 트랙 참조에 의해 나타난 것처럼, 타일 영역과 타일 세트는 베이스 HEVC 계층에 의한 범위인 groupID를 위한 동일한 네임스페이스를 공유한다(즉, 동일한 베이스 계층을 갖는 임의의 트랙에서 동일한 groupID를 갖는 2개의 타일 영역 또는 타일 세트가 아닐 것이다).
도 2a와 2b를 포함한 도 2는 다수의 트랙에서 타일을 캡슐화하는 예를 예시한다.
도 2a는 타일 구성의 예를 예시한다. 설명의 목적상, 그것은 4개의 타일(타일 1 내지 타일 4)을 포함하고, 각각의 타일의 사이즈는 폭이 310 픽셀이고 높이는 256 픽셀이다.
도 2b는 도 2a에 나타낸 4개의 타일을, MPEG-4 파일 포맷에 따라 독립 트랙 내에 캡슐화하는 예를 예시한다. 예시된 것처럼, 각각의 타일은 그 자체의 트랙 내에 캡슐화되는데, 이는 효율적 데이터 어드레싱을 가능하게 하고 비디오를 5개의 트랙으로서 캡슐화하게 한다: 각각의 타일을 캡슐화하기 위한 4개의 타일 트랙(201, 202, 203 및 204로 참조됨)과 모든 타일 트랙에 공통인 하나의 파라미터 세트 트랙(210)(또한 디스크립션에서 베이스 트랙으로서 지칭됨).
각각의 타일 트랙(201, 202, 203, 및 204)의 디스크립션은 TileRegionGroupEntry 박스(206)와 같은 TileRegionGroupEntry 박스('trif' 참조에 의해 식별됨)에 기반한다.
여기에서, 'trif 박스는 적절한 TileRegionGroupEntry 또는 TileSetGroupEntry에 타일 트랙의 모든 샘플을 연합시키기 위해 디폴트 샘플 그룹화 메커니즘(속성 default_sample_description_index = 1이면, 도면에서 def_sample_descr_index = 1이 주목됨)을 이용한다. 예를 들어, 타일 1에 대응하는 NAL 유닛들(221)은 트랙 1(201로 참조됨)에서 TileRegionGroupEntry 박스(206)에 설명된다.
여기서 NALUMapEntry 디스크립터에 대한 필요는 없는데, 그 이유는 주어진 트랙 내의 모든 샘플들이 이러한 트랙에 의해 설명된 타일에 맵핑되기 때문이다. 참조 번호 221 및 222는, 각각, 시간 1에서 시간 S까지(트랙 프래그먼트들의 경우에 미디어 파일 또는 미디어 세그먼트의 지속 기간) 타일 1 및 타일 4에 대한 데이터를 포함하는 데이터 청크들을 지정한다.
실제로 트랙 샘플은 종래의 비디오 샘플이 아닌데, 그 이유는 이 실시예에서, 이들은 타일 샘플이기 때문이다: ISO/IEC 23008-2(HEVC)에서 정의된 것처럼, 타일 트랙에 저장된 샘플은 하나 이상의 타일을 위한 슬라이스의 완전 세트이다. 이것은 파라미터 세트, SEI 메시지, 및 다른 비-VCL NAL 유닛을 제외한다. 타일 트랙에 저장된 HEVC 샘플은, 샘플 내의 VCL NAL 유닛들이, 샘플에 포함된 코딩된 슬라이스들이 동시 디코딩 리프레시(Instantaneous Decoding Refresh)(IDR) 슬라이스, 클린 랜덤 액세스(Clean Random Access)(CRA) 슬라이스, 또는 브로큰 링크 액세스(Broken Link Access)(BLA) 슬라이스임을 나타내는 경우에 동기 샘플로서 간주된다. 이에 따라, 그들은 종래의 샘플이 가지고 있는 것과 동일한 사이즈를 갖고 있지 않다: 도 2a의 예에 따르면, 종래의 HEVC 샘플은 640 x 512 픽셀의 사이즈를 갖고 있지만, 여기에서, 각각의 타일 트랙에 저장된 HEVC 샘플은 320 x 256 픽셀의 사이즈를 갖는다. 파싱 시에 모호성을 회피하기 위해서, 타일 샘플은 새로운 타입의 VisualSampleEntry 디스크립터로 신호화된다: 트랙 1(4-문자 코드 'hvtf로 지정됨)과 관련된 HEVCTileSampleEntry 디스크립터(205)와 같은, HEVCTileSampleEntry 디스크립터.
공식적으로, HEVC 비디오 트랙들의 샘플 엔트리들은 각각의 트랙 헤더의 샘플 디스크립션 박스에서 선언된 HEVCSampleEntry들이다. 여기서, 동일한 비디오 스트림을 나타내는 다수의 트랙들이 사용되기 때문에, 각각의 타일 트랙은, 트랙 내의 샘플들이 실제로는 완전한 비디오 스트림의 서브 파트의 샘플들이라는 표시를 포함하여, 이들 샘플이 HEVCTileSampleEntry 타입의 샘플임을 나타낸다(각각의 트랙의 Sample Description 박스 'stsd' 내의 각각의 'hvt1' 박스). 그리고 나서, 타일 트랙의 디코딩은 어떠한 레이아웃 작동도 포함하지 않고, 타일은 모든 타일들이 디코딩된 것처럼 비디오 디코더 메모리 내의 동일한 장소에서 디코딩된다. 그리고 나서 타일 트랙의 트랙 헤더 내의 레이아웃 정보는 'tbas' 트랙 참조 타입에 의해 식별된 것처럼 연관된 베이스 트랙의 트랙 헤더 정보와 동일하게 설정된다. 반면에, 타일 트랙은 무시되어야 한다. 덧붙여, 타일 트랙 내의 시각적 정보는 그것의 관련된 베이스 트랙 내의 시각적 정보와 다르지 않다. 특히, 샘플 디스크립션에서 클린 애퍼츄어 박스 'clap' 또는 픽셀 샘플 종횡비 'pasp'와 같은 정보를 재정의할 필요는 없다.
샘플 디스크립션 타입 'hvtl' 경우에, 타일 트랙 내의 샘플 또는 샘플 디스크립션 박스는 PS, SPS 또는 PPS NAL 유닛을 포함할 수 없다. 이러한 NAL 유닛은, 범위성(scalability)의 경우에 또는 도 2b의 전용 트랙(210)과 같은 전용 트랙에 있어서 샘플 내에 또는 베이스 계층을 포함한 트랙(트랙 참조에 의해 식별됨)의 샘플 디스크립션 박스 내에 있어야 한다.
정규 HEVC 샘플들에 대해 정의된 서브-샘플 및 샘플 그룹화는 HEVC 타일 샘플에 대해 동일한 정의를 갖는다. 파라미터 세트/베이스 트랙(210)과 타일 트랙 사이에 종속성은 바람직하게는 타입 'scal'(참조 번호 211)의 트랙 참조 박스 'tref'(또는 추출기-기반 타일링 종속성을 신호화하는 임의의 다른 4-바이트 코드)를 이용하여 설명된다.
HEVC 비디오 코딩 표준은 다시점(multi-view) 또는 스케일러블 애플리케이션을 위한 다중-계층 비디오 인코딩을 지원한다. 이 경우에, 주어진 계층은 하나 이상의 다른 계층에 대한 참조 데이터로서 이용될 수 있다.
도 3a, 3b, 및 3c를 포함한 도 3은, HEVC 스케일러블 비트-스트림들의 구성의 상이한 예들을 예시한다.
도 3a는 베이스 계층(300)과 향상 계층(305)을 포함하는 공간적 스케일러블 비디오 비트-스트림의 일례이다. 향상 계층(310)은 베이스 계층(300)의 기능으로서 인코딩된다. 이러한 비디오 비트-스트림 포맷에서는, 베이스 계층과 향상 계층 중 어느 것도 타일을 포함하지 않기 때문에 픽처와 픽처 간 종속성이 존재한다.
도 3b는 베이스 계층(310)과 향상 계층(315)을 포함하는 스케일러블 비디오 비트-스트림의 또 다른 예를 예시한다. 이러한 예에 따르면, 향상 계층(315)은, 특히, 타일(320)을 포함하는 타일형 향상 계층이다. 이러한 비디오 비트-스트림 포맷에서는, 향상 계층의 타일들이 베이스 계층에 종속하기 때문에 타일과 픽처 간 종속성이 존재한다.
도 3c는 또한 베이스 계층(325)과 향상 계층(330)을 포함하는 스케일러블 비디오 비트-스트림의 또 다른 예를 예시한다. 이러한 예에 따르면, 베이스 계층(325)은, 특히, 타일들(335 및 340)을 포함하는 타일형 베이스 계층이고, 향상 계층(330)은, 특히, 타일(345) 및 타일 세트(350)를 포함하는 타일형 향상 계층이다. 베이스 계층(325)은 향상 계층(330)에 의해 공간적으로 향상될 수 있다. 이러한 비디오 비트-스트림 포맷에서는, 향상 계층의 타일들이 베이스 계층의 타일들에 종속하기 때문에 타일과 타일 간 종속성이 존재한다. 또한, 향상 계층의 타일 세트가 베이스 계층의 타일들에 종속하기 때문에 타일 세트와 타일 간 종속성도 존재한다. 설명의 목적상, 타일(345)은 타일(340)에 종속하고 타일 세트(350)는 타일(335)에 종속한다. 타일과 타일 세트 간 종속성 또는 타일 세트와 타일 세트 간 종속성과 같은 다른 종속성들이 존재할 수 있다.
타일될 수 있거나 안될 수도 있는 베이스 계층의 상부에 타일될 수 있거나 안될 수 있는 SNR 스케일러블 계층에 대해 유사한 구성들이 존재한다는 것에 유의해야 한다.
도 4는 디스플레이되도록 사용자에 의해 선택된 타일들의 시간적 파이프를 예시한다. 보다 구체적으로, 도 4는 제1 비디오 프레임 n 및 제2 비디오 프레임 n+m(여기서, n 및 m은 정수 값들임)을 나타내고, 제1 및 제2 비디오 프레임들 각각은 1 내지 12로 넘버링된 12개의 타일들을 포함한다. 설명의 목적상, 이러한 12개의 타일들 중에서, (굵은 선들로 표기된 바와 같이) 단지 제3 및 제7 타일들만이 디스플레이될 것이다. 비디오 프레임 n 및 n+m은 주어진 시간 기간에 대응하는 일련의 연속적인 프레임들에 속한다. 그러므로, 프레임 n으로부터 프레임 n+m까지의 각각의 프레임의 제3 및 제7 타일은 연속적으로 디스플레이된다.
그러나, 표준 mp4 파일 포맷에 따르는 비디오 비트-스트림의 데이터는 풀 프레임에 해당하는 시간적 샘플로서 조직된다. 따라서, 도 4를 참조하여 위에서 설명된 바와 같이, 이러한 프레임들의 특정한 공간 영역들이 주어진 시간의 기간 동안 액세스될 때 각각의 프레임에 대한 여러 작은 바이트 범위들에 액세스하도록 요구된다. 이는 발생된 요구들의 수의 관점에서 그리고 데이터 오버헤드의 관점에서 HTTP 스트리밍에서는 비효율적이다. 또한, 그것은 다중 소형 파일 탐색 동작을 요구하기 때문에 RTP 스트리밍을 위한 비트-스트림 추출에 덜 효율적이다.
그러므로, ROI 스트리밍을 위한 압축된 비디오들에서 더 효율적인 액세스를 제공하기 위해, 특정한 타일의 데이터가 주어진 시간 기간(즉, 연속적인 프레임들의 세트) 동안 연속적인 바이트 범위로서 조직화되도록(파이프의 형성), 시간 설정형 미디어 데이터 비트-스트림이 재조직화될 것이다.
따라서, 단지 비디오 프레임들의 공간적 서브-파트만이 디스플레이될 때, 단지 선택된 공간 영역에 대응하는 타일들의 파이프들만이 파이프당 그리고 시간 기간당 하나의 HTTP 요구를 이용하여 다운로드되어야 한다(예를 들어, 도 2에서 타일 3 및 7). 유사하게, RTP 스트리밍에서, 서버는 타일의 파이프에 해당하는, 하드 디스크와 같은 소스로부터 좀 더 효율적으로 큰 데이터 청크를 추출할 수 있다.
HEVC 표준의 다중-계층 확장은, 도 5에 예시된 바와 같이, 예측 모드, 두드러지게는 참조 픽처의 구성에 충격을 준다.
도 5는 다중-계층 HEVC 방식 또는 비슷한 방식을 이용하면서 비디오 데이터를 인코딩하기 위한 참조 픽처의 세트의 사용을 예시한다.
픽처(500)가 인코딩될 때, 다양한 예측기들이 이용될 수 있다. 이러한 예측기들은 다양한 참조 픽처 세트들, 통상적으로는 인코딩될 현재의 픽처를 선행하는 단기간 픽처에 해당하는 참조 픽처들의 세트(501), 인코딩될 현재의 픽처 이후의 단기간 픽처에 해당하는 참조 픽처들의 세트(502), 인코딩될 현재의 픽처에 선행하는 장기간 픽처에 해당하는 참조 픽처들의 세트(503), 및 인터-계층 참조 픽처들의 세트(504)에 저장된 참조 픽처들 중에서 선택된다.
단기간 참조 픽처 세트와 장기간 참조 픽처 세트가 단일 계층 HEVC를 다루기 위해 일반적으로 이용되는 동안, 다중-계층 확장은 인터-계층 참조 픽처 세트의 적어도 2개의 추가적 참조 픽처 리스트를 제공하는데, 둘다는 코딩될 현재의 픽처에 연관되어 있다는 것에 유념해야 한다.
인터-계층 참조 픽처의 세트의 리스트에 존재하는 최대 개수의 픽처는 NumActiveRefLayerPics 파라미터(505)에 의해 주어진다.
설명을 위하여, 참조 픽처는 픽처 오더 카운트(Picture Order Count)(POC) 및/또는 Layerld 값의 함수로서 인덱스될 수 있다.
인터-계층 참조 픽처의 세트의 리스트에 존재하는 최대 개수의 픽처는 현재의 픽처(500)를 예측하기 위해 이용될 수 있는 각각의 인터-계층 참조 픽처마다, 그의 계층 식별자: NAL 유닛 headers_layer_identifier의 값을 제공하기 위해 슬라이스 세그먼트 헤더에 사용된다. 그리고 나서, 슬라이스(또는 하나의 타일이 하나의 슬라이스에 해당될 때의 타일)을 위해, 인터-계층 종속성의 리스트가 추론될 수 있다. 이것은 타일의 "독립적 디코딩 가능" 속성에 충격을 준다. 이에 따라, 이러한 인터-계층 종속성 정보는 재생 시에 또는 스트리밍 애플리케이션에서 종속 계층으로부터의 데이터가 정확한 디코딩과 선택된 타일(들)의 디스플레이를 위해 또한 존재하는 것을 확실히 하기 위해 파일 포맷으로 캡슐화될 때 타일의 디스크립션과 연관되어야 한다.
HEVC(ISO/IEC 23008-2 부록 F)의 다중-계층 확장에서, '인터-계층 제약된 타일이 SEI 메시지를 설정한다'라고 인용된 특별한 SEI 메시지는 계층이 타일로 인코딩될 때 인터-계층 예측 프로세스 상의 제약을 나타내도록 정의된다. 이러한 SEI 메시지는 다음과 같이 주어진 계층에 대해 정의된다: "인터-계층 제약된 타일이 SEI 메시지를 설정하는 것은, 계층에 대해 활성적인 모든 PPS가 1과 동일한 tile_boundaries_aligned_flag를 갖지 않거나[VPS VUI(Video Parameter Set, Video Usability Information)에서] 1과 동일한 tile_boundaries_aligned_flag에 의해 나타나는 조건들을 충족하지 않는 한 해당 계층에 존재하지 않을 것이다".
그러한 SEI 메시지는, "인터-계층 인터 예측 프로세스(inter-layer inter prediction process)가, 각각의 식별된 타일 세트 밖의 샘플 값, 및 식별된 타일 세트 밖의 하나 이상의 샘플 값을 이용하여 도출되는 단편적 샘플 위치에서의 샘플 값이 식별된 타일 세트 내의 임의의 샘플의 인터 예측에 이용되지 않도록, 한정되는 것을 나타낸다".
보다 상세하게는, 상기 예측은 각각의 타일 세트마다 제약되고 / 그 값이 다음과 같이 정의된 특정한 ilc_jdc 플래그(ilc_idc[i])에 의해 주어진다:
- 0: 미결이다;
- 1: CVS 내에서, i번째 식별된 타일 세트 밖의 샘플, 및 i번째 식별된 타일 세트 밖의 하나 이상의 샘플을 이용하여 도출된 단편적 샘플 위치에서의 샘플들이, ictsNuhLayerId와 동일한 nuh_layer_id를 가진 i번째 식별된 타일 세트 내의 임의의 샘플의 인터-계층 예측에 사용되지 않는 것을 나타내며, 여기서 ictsNuhLayerId는 이러한 메시지의 nuh_layer_id의 값이다;
- 2: CVS 내에서, ictsNuhLayerId와 동일한 nuh_layer_id를 가진 i번째 식별된 타일 세트 내의 예측 블록이 인터-계층 참조 화상으로부터 예측되지 않음을 나타낸다;
- 3: 예비됨.
인터-계층 참조 픽처가 참조 픽처의 세트에 존재할지라도, 그들은 반드시 이용되지는 않는다. 더욱이, 계산 비용 절약을 위해, 인코더는 동일한 현재의 계층으로부터의 정보만을 이용하여 타일을 인코딩하도록 결정하고, 때때로, 예를 들어 랜덤 액세스 프레임 상에서, 더 낮은 계층(들)으로부터의 정보를 이용하도록 결정할 수 있다.
도 6a, 6b, 6c 및 6d를 포함한 도 6은, 인터-계층 타일 예측의 다양한 타입을 예시한다. 예시에 따르면, 비디오 스트림의 각각의 프레임은 적어도 2개의 계층(계층 i와 계층 i+1, 계층 i+1은 계층 i의 향상 계층)을 포함한다.
도 6a에 예시된 예에 따르면, 인트라 및 인터 예측들 양측은 각각의 프레임의 향상 계층의 각각의 타일에 사용된다.
예를 들어, 프레임(600)의 향상 계층 i+1의 타일(601)은, 화살표 603으로 예시된 것처럼, 동일한 프레임(600)의 하부 계층 i의 상응하는 타일(602)에 종속하고, 화살표 605로 예시된 것처럼, 이전 프레임의 향상 계층 i+1의 상응하는 타일(604)에 종속한다.
참조 603에 의해 표시된 인터-계층 예측 표시는, 계층 i+1의 타일이 계층 i의 상응하는 타일, 계층 i의 타일들의 세트, 또는 계층 i의 전체 픽처에 종속하는 것을 나타낸다. 계층 i+1의 일부 타일만이 더 낮은 계층의 하나 이상의 타일에 종속할 수 있다.
더욱이, 종속성은 인코더가 프레임(610, 611, 620, 621, 630 및 631)들에 의해 표현된 랜덤 액세스 포인트 상에서만 인터-계층 예측을 사용하는 경우에 도 3b 내지 3d에 예시된 것과 같이 시간이 지남에 따라 비디오 시퀀스가 변할 수 있다.
도 6b에 예시된 예에 따르면, 계층 i+1의 각각의 타일은 이전 프레임의 동일한 향상 계층 i+1의 상응하는 타일 또는 낮은 계층 i의 하나 이상의 타일에 종속한다. 도 6c 및 6d에 예시된 예에 따르면, 계층 i+1의 각각의 타일은 이전 프레임의 동일한 향상 계층 i+1의 상응하는 타일 및/또는 낮은 계층 i의 하나 이상의 타일에 종속한다.
이러한 다양한 종속성 방식을 고려하여, 파일 포맷으로의 타일 디스크립터에 대한 인터-종속성 신호화는 동적으로 설정되어야 한다. 따라서, 타일 디스크립션에서의 유연성을 제공하고 다양한 인코더 선택을 지원하기 위해, 인터-종속성 신호화는 바람직하게는 타일 디스크립션 자체로부터 분리된다.
도 7은 인터-계층 종속성 디스크립션을 가능하게 하는 타일 디스크립터의 예를 예시한다.
도시된 바와 같이, TileRegionGroupEntry 디스크립터들(700 및 701)은, 주어진 예에서, 스케일 가능성 정보와 타일 또는 픽처 종속성 정보에 액세스하기 위한 dependentGroupID 파라미터(703) 및 layerGroupID 파라미터(704)를 포함한다. 주어진 예에 따르면, 스케일 가능성 정보는 HEVCLayerDefinitionBox 디스크립터(702) 내에 저장되고 타일 또는 픽처 종속성 정보는 TileRegionGroupEntry 디스크립터(701) 내에 저장된다.
HEVCLayerDefinitionBox 디스크립터(702)는 식별자, 종속성 신호화 메커니즘 및 비디오 기본 비트-스트림으로부터 오는 추가 속성들을 포함하는 HEVCLayerDefinitionBox 디스크립터(또는 HEVCLayerDefinitionBox 박스)의 파라미터들의 일례를 예시한다. 설명의 목적상, 추가 속성들은 visualWidth 및 visualHeight 파라미터들을 포함한다. 그러나, 추가 속성들은 또한 프레임 레이트, 비트 레이트 및 프로파일 및 레벨 정보와 같은 다른 파라미터들을 포함할 수도 있다. 그들은 스케일 가능성 계층을 설명하는 하이 레벨 구문 정보를 포함할 수도 있다.
수정된 TileRegionGroupEntry 디스크립터(701)의 가산되고 수정된 파라미터들은 다음과 같이 정의될 수 있다:
- 타일(TileRegionGroupEntry 디스크립터에 의해 정의됨)의, 타일 세트(TileSetGroupEntry 디스크립터에 의해 정의됨)의, 또는 이러한 타일이 종속하는 HEVC 계층(HEVCLayerDefinitionBox 디스크립터, 예를 들어 HEVCLayerDefinitionBox 디스크립터(702)에 의해 정의됨)의 식별자를 제공하는 dependentGroupID(참조 703). 이 파라미터는 바람직하게는 종속성이 트랙 참조 박스로부터 도출될 때 0으로 설정된다;
- 이러한 타일이 속하는 HEVC 계층(HEVCLayerDefinitionBox 디스크립터에 의해 정의됨)의 식별자를 제공하는 layerGroupID(참조 704). 이러한 파라미터는 종속성이 트랙 참조 박스로부터 도출될 때 0으로 설정된다;
- 루마 샘플들에 관하여, 그 값이 0과 다른 경우 layerGroupID 파라미터에 의해 식별된 계층의, 또는 관련 기술분야의 통상의 기술자에게 잘 알려진 'stsd' 박스의 시각적 샘플 엔트리에 나타나고 'moov' 박스에 포함된 프레임의 타일에 의해 표현된 직사각형 영역의 폭과 높이를 각각 정의하는 region_width 및 region_height.
groupID 파라미터를 인코딩하기 위해 이용되는 비트의 수를 수정하는 동안 TileSetGroupEntry 디스크립터에도 유사한 가산되고 수정된 파라미터들이 적용된다(타일링 및 스케일 가능성 구성들이 결합되고 단일 네임스페이스가 이용되므로, groupID 파라미터를 위한 값들의 수는 증가되어야 한다).
필요한 적응은 타일(TileRegionGroupEntry 디스크립터에 의해 정의됨)의, 타일 세트(TileSetGroupEntry 디스크립터에 의해 정의됨)의, 또는 이러한 타일 세트가 종속하는 HEVC 계층(HEVCLayerDefinitionBox 디스크립터에 의해 정의됨)의 식별자를 정의할 수 있는 dependencyTileGroupID 속성의 해석에 관한 것이다. dependencyTileGroupID 속성의 값이 0이면, 트랙 참조 박스로부터 종속성들이 도출된다.
설명의 목적상, HEVCLayerDefinitionBox 디스크립터(참조 702)의 파라미터들은 다음과 같이 정의될 수 있다:
- 그룹에 의해 설명된 계층에 대한 고유 식별자인 groupID. 값 0은 NALUMapEntry('nalm') 박스에서 특정 용도에 대하여 마련된다;
- 계층이 종속하는 HEVC 계층(HEVCLayerDefinitionBox 디스크립터에 의해 정의됨)의 groupID 식별자를 나타내는 dependentGroupID. dependentGroupID 파라미터의 값이 0이면, 위에 참조된 트랙 참조 박스 "stsd'로부터 종속성들이 도출된다. 이것은 예를 들어, 스케일러블 HVC(SHEVC) 비트-스트림이 AVC|H264 트랙을 개선하는 경우이다;
- 루마 샘플에서의 코딩된 픽처 또는 뷰의 폭의 값을 제공하는 visualWidth; 및
- 루마 샘플에서의 코딩된 픽처 또는 뷰의 높이의 값을 제공하는 visualHeight.
타일링 참조 계층 디스크립터를 갖는 그리고 타일 또는 계층 디스크립터를 참조할 수 있는 계층 디스크립터를 갖는 이점은, 모두 groupID 식별자들의 사용을 통하여, 통합되고 유연한 종속성 신호화를 제공하는 것이다. 타일들, 타일 세트들 및 HEVC 계층들의 groupID 식별자들에 대한 식별자 네임스페이스들을 통합함으로써, 그리고 2개의 종속성 식별자(dependentGroupID 및 layerGroupID 파라미터들)의 도입으로 인해, 다음의 종속성들이 간단히 정의된다:
- 타일형 계층들 간의 종속성;
- 비-타일형 계층들 간 종속성;
- 비-타일형 향상 계층과 타일형 베이스 계층 간의 종속성; 및
- 타일형 향상 계층과 비-타일형 베이스 계층 간의 종속성.
그러나, 2개의 파라미터들(703 및 704)은 각각, 주어진 타일에 대해, 또 다른 타일에 대한 종속성 정보와 이러한 타일의 계층에 대한 정보를 제공하면, 그러한 해결책의 제한은 그것이 HEVC에서 설명된 참조 픽처 리스트 메커니즘에 의해 요구된 다중 종속성을 지원하지 않는다는 것이다. 더욱이, 인터-계층 종속성 신호화는 타일 디스크립터 자체 내에 내장되고, 타일 신호화는 인터-계층 종속성이 변할 때마다 이중화되어야 한다. 사실상, 동일한 타일이 시간이 지남에 따라(적어도, 한 GOP로부터 또 다른 것까지) 변화하는 종속성을 가질 수 있기 때문에, 타일링 구성은 각각의 가능한 종속성에 대해 이중화되는 것이거나 명시적 종속성 그룹화가 도입되는 것이다.
도 8b에 도시된 것과 같이, TileSetGroupEntry('tsif') 타입의 타일 디스크립터는 인터-계층 종속성을 포함하는 타일 종속성을 서술하기 위해 이용될 수 있다.
TileSetGroupEntry 타입의 타일 디스크립터는 일반적으로 (인트라-계층) 코딩 종속성을 기반으로 타일들의 세트를 정의하기 위해 이용된다. 그러나, TileSetGroupEntry 디스크립터는 개별적 타일 식별자(타일 IDs = TileRegionGroupEntry 내의 groupID)를 이용하여 타일 세트가 설명되게 하기 때문에, 타일 세트가 단일 타일로 만들어지는 것을 나타내는 것이 가능하다. 그러므로, 뒤따르는 종속성 리스트는 다양한 계층으로부터 있을 수 있던 임의의 수의 타일들이 열거되게 한다. 그러므로, 더 낮은 계층에서 타일의 다른 타일 IDs에 대한 종속성을 'tsif' 샘플 디스크립션 박스에 열거하는 것이 가능하다.
mp4 파일에서 도 3을 참조하여 설명된 것들과 같은 HEVC 스케일러블 비트-스트림을 캡슐화하기 위해, 후자는 다음을 포함하여야 한다:
- 베이스 계층의 각각의 타일에 대해: "independent"로서 플래그된 하나의 타일 영역(ilc_jdc 값이 1과 동일함(또는 단지 IDR에 대해서는 2)), 즉 이러한 계층의 또 다른 타일로부터 시간적 종속성 없이 디코딩될 수 있는 타일 영역;
- 향상 계층의 각각의 타일에 대해: "independent"로서 플래그된 하나의 타일 영역(ilc_jdc 값이 1과 동일함), 즉 이러한 계층의 또 다른 타일로부터 시간적 종속성 없이 디코딩될 수 있는 타일 영역;
- 향상 계층의 각각의 타일에 대해: 단일 타일과, 베이스 타일(들)에 대한 종속성으로 만들어진 하나의 타일 세트; 및
- 다음의 2개의 엔트리를 가진 NALUMapEntry('nalm') 샘플 그룹 디스크립션 박스:
- NALUs를 'tsif' 그룹에 맵핑하는 하나의 엔트리 - 여기서, 인터-타일 종속성(인터-계층 종속성을 포함)의 사용이 설명됨 -; 및
- NALUs를 독립적 타일(즉, 다른, 비-동일 배치된 타일에 대한 종속성을 갖지 않은 타일)에 대한 'trif 그룹에 맵핑하는 하나의 엔트리.
도 3a와 3b를 참조하여 설명된 타일 계층과 비-타일 계층 간의 종속성의 디스크립션을 다루기 위해, 타일 디스크립션 디자인은 비-타일 계층을 디스크립터에 의해 설명되게 하기 위해 확장될 수 있어, 계층들 간의 모든 종속성, 타일될 지의 여부가, 단일 디스크립션 툴(TileSetGroupEntry 디스크립터)을 통해 표현될 수 있게 한다.
도 8a와 8b를 포함한 도 8은, 본 발명의 특별한 실시예에 따라 수정된 단일 계층 타일 디스크립터(800), 및 타일 세트 디스크립터(850)를 예시하는데, 이들 각각은 다른 타일에의 디코딩 종속성의 디스크립션을 가능하게 한다.
독립적 파라미터(801로 표시)는, 현재 프레임에서 그리고 동일한 계층의 참조 프레임에서 정의된 타일과 다른 타일 사이의 코딩 종속성을 특정한다. 도 8b에 예시된 바와 같이, 인터-타일 종속성은, 가능한 경우, 디스크립터 TileSetGroupEntry의 dependency_list 파라미터(851)에 의해 표시된다.
소위, full_frame 파라미터이고 802로 표시된 새로운 파라미터는, 설정될 때, 정의된 타일이 실제로 완전한 프레임인 것을 나타내고, 이 경우 803으로 표시된 파라미터 region_width 및 region_height는, 휘도 성분의 계층 사이즈로 설정된다. 이런 경우에, 파라미터 independent는 1로 설정된다. 이것은 1로 설정된 full_frame 파라미터를 가진 'trif' 샘플 그룹을 참조하는 'tsif' 샘플 그룹을 이용하여, 즉 통합된 방식으로, 계층(타일되거나 그렇지 않은)을 가로지르는 타일링 구성이 무엇이든 간에, 비-타일 계층에의 계층의 타일들 사이에 종속성이 표시되게 한다.
도 8b에 설명된 것과 같이, 종속성은 직사각형을 나타내는 상부 왼쪽 꼭지점과 바닥부 오른쪽 꼭지점(참조 853)에 해당하는 2개의 포인트를 이용하여 자체 정의될 수 있는 참조 영역으로서 또는 타일 식별자(참조 852)의 세트로서 정의될 수 있다.
도 8b에서 851로 표시된, 타일 세트 디스크립터의 dependency_list 파라미터가, 타일 세트가 자체에 포함되지만, 인트라-계층 종속성과 인터-계층 종속성을 구별하는 것이 가능하지 않는지 여부를 나타낸다. 그리고 나서, 스케일 가능성의 경우에(dependency_list 파라미터가 현재의 계층 내의 타일 세트가 베이스 계층에 종속하지 않거나 계층을 가로지르는 타일의 세트가 자체 포함되는 것을 나타낼 수 있음) 그리고 타일 트랙을 캡슐화/파싱할 때 상호운용성을 위해 임의의 모호성을 회피하기 위해, 특별한 의미가 도 9에 설명된 것과 같이 dependency_list 파라미터에 주어질 수 있다.
도 9는 다중-계층 타일링을 위한 타일 세트 디스크립터(900)의 예를 예시한다.
예시된 예에 따르면, 타일 세트 디스크립터(900)의 dependency_list 파라미터는 3개의 비트 또는 그 이상을 통해 코딩되고, 각각의 비트는 특별한 의미를 갖는다.
각각, 참조 901, 902 및 903으로 표시된 것처럼, 2개의 제1 최하위 비트는 일부 종속성이 일부가 선언되는 경우에 그들의 타입으로 선언되는지 여부를 나타낸다. 이진 값 00은 어떠한 종속성도 신호화되지 않음을 의미하고(테스트 901), 값 01은 인트라-계층 종속성만이 신호화됨을 의미하며(테스트 902), 값 10은 인터-계층 종속성만이 신호화됨을 의미하고(테스트 903), 그리고 마지막으로 값 11은 인트라 및 인터-계층 종속성의 양측이 신호화됨을 나타낸다(902와 903이 존재한다). 그리고 나서, 제3 최하위 비트는 종속성의 리스트가 타일 그룹 식별자(값 0)의 리스트로서 또는 영역으로서 제공되는지를 나타낸다.
타일 세트 디스크립터(900)는 인터-계층 타일 종속성이 어떠한 계층 정보를 제공하지 않고도 신호화되는 단순한 예에 해당하고, 따라서 dependency_list 파라미터를 위해 단지 3 비트만을 요구한다. 추가 비트는 인터-계층 타일 종속성의 더 정확한 디스크립션을 제공하기 위해 (바람직하게는 합계 최대 5) 사용될 수 있다.
특별한 실시예(예시되지 않음)에 따르면, 제4 비트는 종속성이 계층에 의해 조직되는지(예를 들어, 값 1) 또는 아닌지를 나타내기 위해 인터-계층 종속성이 존재할 때(제2 최소 유효 비트가 1로 설정됨) 이용된다. 그리고 나서, 종속성이 타일 그룹 식별자의 리스트로서 또는 영역으로서 설명되는지를 나타내는 신호화 모드(dependency_list의 제3 최하위 비트에 의해 주어진 리스트 또는 영역, 참조 904)에 따라, 단일(제3 비트 값은 1로 설정) 또는 이중 리스트(제3 비트 값은 0으로 설정)가 생성된다. 이중 리스트는 계층의 수를 포함하고, 각각의 계층마다, 현재의 계층에서의 이러한 타일이 종속하는 타일 그룹 식별자의 리스트를 포함한다. 단일 리스트는 다만 계층의 수를 포함하고, 각각의 계층마다, 현재의 계층의 현재의 타일이 종속하는 영역을 제공한다. 파서는 그리고 나서 계층이 현재의 계층으로부터 베이스 계층까지 내림 차순으로 조직된다고 가정한다. 종속성의 단순한 리스트 대신에, 파서는 그리고 나서 현재의 타일 트랙이 종속하는 트랙의 표시를 갖는다. 이것은 맵핑하기 위한 트랙의 세트에서 검색 공간을 제한한다.
이전 것의 개선으로서 간주될 수 있는, 또 다른 실시예(예시되지 않음)에 따르면, 제5 비트는 제4 비트가 1로 설정될 때, 즉 인터-계층 타일 종속성이 계층에 의해 설명될 때 이용된다. 이 경우에, 제5 비트는 각각의 계층마다 계층 식별자 정보의 아이템을 신호화한다. 예를 들어, 우리는 다음과 같은 파라미터를 갖는다(타일 그룹 식별자의 리스트로서 종속성을 서술하기 위해 제3 비트가 1로 설정되는 것으로 가정한다):
Figure pct00001
상기 예에서의 layer_ID는 NAL 유닛 헤더에 포함된 값을 취할 수 있다: nuh_layer_id. 소위, 캡슐화된 파일을 처리하는 파서는, 이러한 특정 계층을 설명하는 전용 박스, 예를 들어, MPEG-4 Part 15 표준으로부터의 TierInfoBox, 도 7에서의 HEVCLayerDefinitionBox(702)에서, MPEG 기여 시에 노키아에 의해 제안된 LayerInfoBox를 파싱함으로써, 또는 계층 정보를 제공하는 임의의 메타데이터 박스로부터, 계층 관련 정보를 찾아야 한다. 이러한 박스는 그것의 ID를 통하여 식별될 수 있다. 이것은 계층 정보 박스에 또는 예를 들어 도 7의 HEVCLayerDefinitionBox(702)와 같은 계층 디스크립션에 종속 타일을 신속하게 연관시킬시에 mp4 파서에 도움을 준다.
제5 비트가 0으로 설정되는 경우에는, 어떠한 계층 식별자도 제공되지 않는다. 이 경우에, 계층이 내림 차순으로 조직되고, 그리고 나서 각각의 계층마다 타일 그룹 식별자의 리스트 또는 영역이 특정될 수 있다고 가정된다. 주어진 계층에서, 어떠한 종속성도 존재하지 않을 때, 그것은 dependency_tile_count=0이거나 또는 topLeftDependencyTileGroupId 및 bottomRightDependencyTileGroupId는 둘다 0과 동등한 것으로 표현된다.
또한 또 다른 실시예에 따르면, 인터-계층 종속성이 계층 ID 정보(그들의 값을 가지고 있는 제4및 제5 비트가 1로 설정됨)를 갖는 계층마다 그리고 타일 그룹 식별자(제3 비트가 0으로 설정됨)의 리스트로서 조직될 때, 그것은 식별된 계층에서 동일한 프레임에서 공동 위치한 타일 세트에 대한 종속성으로서 해석되는 것이다. 이 경우(즉 공통의 경우)에 있어서, 디스크립션은 이전 예의 최종 루프를 갖지 않기 때문에 더 짧다. 이것은 dependency_tile_count를 값 0xFFFF으로 함으로써 신호화된다. 인터-계층 타일 종속성이 영역으로서 신호화되는 경우(제3 비트가 1로 설정됨), 인터-계층 종속 공동 위치 타일의 신호화는 TileSetGroupEntry의 topLeftDependencyTileGroupID 및 bottomRightDependencyTileGroupID의 양측을 0xFFFF로 설정함으로써 표현될 수 있다. 비디오 기본 스트림에서의 VPS의 tile_boundaries_aligned_flag가 1로 설정될 때, 파서는 공동 위치한 타일을 찾기 위해 타일 인덱스에게 의존할 수 있거나, 종속 계층에서 공동 위치한 타일의 위치를 찾기 위해 TileRegionGroupEntry로부터 획득된 현재의 타일 사이즈 또는 참조된 타일 사이즈의 현재의 타일 위치(803)에 대한 비율을 적용할 수 있다.
인터-계층 타일 종속성을 위한 선택된 신호화가 무엇이든지, 정보는 존재할 때 인터-계층 제약된 타일 세트 SEI 메시지로부터 판독될 수 있다. 이러한 SEI 메시지는, 정의에 의해, 주어진 계층에서의 각각의 타일 세트마다 이러한 타일 세트가 다른 계층에 대한 종속성을 가지고 있는지 여부를 나타낸다(ilc_idc 파라미터). 그리고 나서, 이러한 정보를 판독함으로써, mp4 작가는 주어진 타일 세트를 설명하는 TileSetGroupEntry의 종속성-리스트의 제2 비트를 설정할 수 있다. 현재의 타일 세트가 어느 계층에 종속할 수 있는지를 결정하기 위해, mp4 작가는 direct_dependency_flag 파라미터에서 비디오 파라미터 세트(VPS)의 확장에 포함된 다른 정보를 판독할 수 있다. 이러한 어레이는 한 계층으로부터 또 다른 계층으로의 직접적 종속성의 리스트를 제공한다. 그리고 나서, 인터-타일 계층 종속성의 리스트는, 예를 들어, direct_dependency_flag 파라미터가 값 1(현재의 계층으로부터 이러한 주어진 제2 계층까지의 종속성을 나타냄)을 갖는 각각의 계층마다 타일 종속성의 입력 리스트를 생성함으로써 계층 단위(제4 비트가 1로 설정됨)로 구축될 수 있다. ilc_idc 파라미터의 값이 자체-포함된 타일 세트를 나타낼 때, 마지막 실시예는 종속 타일이 현재의 계층에서 공동 위치한 것들이라는 것을 신호화하기 위해서 dependency_tile_count_tile_에 대한 특정 값 -1과 함께 사용될 수 있다. 반면에, 타일 제약은 타일에 대한 모션 제약을 나타내는 또 다른 SEI 메시지로부터 얻을 수 있다.
위에서 설명된 해결책은 주어진 트랙 또는 트랙 프래그먼트에 대한 샘플들의 그룹 또는 NALU들의 그룹에 대한 인터-계층 타일 종속성 신호화를 제공한다. 예를 들어, 도 6에 예시된 인터-계층 타일 예측의 다양한 타입을 다루기 위해 좀 더 유연하고 동적으로 만들기 위해, 여러 해결책들이 고려될 수 있다.
도 10에 예시된 제1 해결책에 따르면, 그들의 인터-계층 예측에 따른 샘플들의 맵핑은 NALU MapEntry를 이용하여 행해질 수 있다. 명료성을 위해서, mp4 파일의 헤더(1000)만이 타일 트랙들의 세트를 포함하는 것, 각각의 타일 트랙이 하나의 타일과 S개의 샘플들을 포함하는 것, 및 각각의 샘플이 N개의 NAL 유닛을 포함하는 것이 설명된다.
또한 명료성을 위해, 하나의 타일 트랙 디스크립션(1001)만의 예가 예시되는데, 여기서 그 샘플 박스 테이블 (1002)은 해당 샘플의 속성을 설명한다. 트랙 식별자, 예를 들어, 트랙 헤더 박스(여기에서 도시안됨)의 track_ID 파라미터는 그것이 향상 계층 1의 타일 트랙인 것을 나타낸다.
샘플 엔트리 박스(1003)는 HEVC 타일 샘플(HEVCTileSampleEntry)인 것으로서 샘플을 설명하고 SampleGroupDescription 박스(1004)는 그룹 엔트리를 위한 'nalrm' 그룹화 타입을 나타내고 샘플 그룹을 정의한다. 설명된 것처럼, 타일 샘플들은 각각, 인터-계층 종속성을 가진 타일 샘플과 인터-계층 또는 인트라-계층 종속성이 없는 타일 샘플에 해당하는 2개의 세트(1005 및 1006)로 나누어진다. 샘플들의 세트는 SampleGroupDescription 박스(1007)에 정의된 NALUMapEntry(1008 및 1009)를 각각 맵핑한다.
제1 NALU 맵(1008)은 참조 1013(종속성 파라미터: dependency_list = 2) 및 1012(현재의 타일이 종속하는 타일의 참조 groupID = T01)로 설명된 바와 같이 인터-계층 타일 종속성을 서술하는 TileSetGroupEntry(1010)에 연관된 NAL 유닛을 맵핑시킨다. 다른 NAL 유닛은 임의의 인터-계층 또는 인트라-계층 종속성을 정의하지 않은 TileRegionGroupEntry(1011)에 맵핑된다. 비디오 데이터는 샘플(1021-1023)의 리스트로서 'mdat' 박스(1020)에 배치되고, 각각은 타일 데이터를 전달한다.
독점적 서버와 mp4 작가의 그리고 독점적 클라이언트 디바이스와 mp4 파서의 사용에 기초한 특정한 실시예에 해당하는 제2 해결책에 따르면, 인코더는 정규 인터-계층 예측 패턴을 생성하도록 제어되고, mp4 작가는 도 6b 및 6c에 도시된 것과 같은 랜덤 액세스 포인트와 매칭하는 타일 트랙 프래그먼트를 생성하도록 제어된다. ISO/IEC JTC1/SC29/WG11 MPEG/N14727의 최근 버전, 삿포로, 일본, 2014년 7월에서, 이러한 포인트는 선택적으로 스트림 액세스 포인트(AP) 또는 SAP로 불린다. 정규 인터-계층 예측 패턴을 이용하여, mp4 작가는 디폴트 샘플 그룹화를 이용하여 모든 샘플을 TileSetGroupEntry에 맵핑함으로써 더 소형의 디스크립션을 생성할 수 있고, 이러한 TileSetGroupEntry는 타일을 설명하는 TileRegionGroupEntry를 참조하고 TileSetGroupEntry는 도 6b와 6c에서 610, 611과 620, 621로 참조된 랜덤 액세스 샘플을 위한 베이스 계층에 대한 종속성을 서술한다. NALU 맵(1008 및 1007)이 제거될 수 있기 때문에, 종속성 디스크립션은 도 10을 참고하여 설명된 해결책과 비교하여, 바이트 사이즈의 관점에서 더 소형이다.
그 대신, 트랙 내의 모든 샘플은 ISO BMFF의 디폴트 샘플 그룹화 메커니즘을 이용하여 TileSetGroupEntry에 맵핑된다. 랜덤 액세스 샘플(610, 611과 620, 621)은 랜덤 액세스 포인트를 제공하면서, 특정한 VisualSampleEntries를 둘다 포함하는 'sync' 또는 'ras' 타입의 샘플 그룹 디스크립션 박스에서 설명된다. 랜덤 액세스 포인트로서 설명된 엔트리들은 인터-계층 타일 종속성이 적용되는 샘플이다. dependency_list의 특정 값은 이러한 랜덤 액세스 샘플에 인터-계층 종속성을 제공하기 위해 예약된다:
Figure pct00002
선택적으로, 영역 모드 디스크립션이 선택될 때, 값 2와 4는 다음과 같이 사용될 수 있다:
Figure pct00003
이러한 실시예에서, dependency_list 파라미터는 타일 종속성의 추가적 리스트가 샘플이 IDR(Intra 디코딩 리프레시), CRA(클린 랜덤 액세스), 또는 BLA(브로큰 링크 액세스) 픽처(즉, 랜덤 액세스 샘플)인 경우에 대해 주어지는 것을 나타내기 위해 값 3 또는 4를 이용한다. 파라미터 idr_dependency_tile_count 및 idr_dependencyTileGroupID는 타일 영역과 타일 세트의 리스트를 특정하는데, 이러한 타일 세트는 이러한 타일이 속한 샘플이 IDR, CRA 또는 BLA 픽처일 때 종속한다. 파라미터 idr_TopLeftDependencyTileGroupId 및 idr_BottomRightDependencyTileGroupId는 각각 종속 계층에서 상부-좌측 타일과 바닥부 우측 타일의 식별자를 특정한다.
이전 실시예에서와 같이, 이것은 계층당 신호화로 확장될 수 있다.
비디오 콘텐츠로의 효율적 시간적 액세스를 위해, ISO BMFF는 추출기로 불리는 툴을 정의한다. 추출기는 다른 트랙으로부터 NAL 유닛의 효율적 추출을 가능하게 하는 파일 포맷 내부 구조이다. 직접적으로 비트-스트림에 삽입되는 이러한 구조는 각각의 코딩 포맷(예를 들어, ISO/IEC 14496-10 비디오를 위한 타입 31)에 의해 애플리케이션과 트랜스포트 계층에 대하여 마련된 전용 NAL 유닛 타입을 이용한다. 그들은 데이터의 복제 없이도 여러 트랙에서 비디오 데이터를 조직하는 것을 가능하게 한다.
추출기는 SVC 또는 MVC 포맷에 따르는 비디오 데이터와 같은 스케일러블 비디오 데이터를 위해 초기에 설계되었다. 그러한 포맷에서, 계층화(layered) 미디어 데이터 조직은 다수의 종속 트랙들을 사용함으로써 효과적으로 표현될 수 있고, 각각의 트랙은 스케일 가능성의 특정 레벨에서 비디오를 표현한다. 예를 들어, 향상 계층 트랙의 비트-스트림은 베이스 계층 트랙으로부터 NAL 유닛들을 참조하는 추출기들을 포함할 수 있다. 그러한 향상 계층 트랙이 파일 포맷으로부터 추출될 때, 추출기들은 그들이 참조하고 있는 데이터로 대체된다.
더 최근에, 추출기는 또한 개별 트랙 내로의 다중-계층 HEVC와 HEVC 타일의 효율적 캡슐화를 위해 HEVC 파일 포맷으로 정의되었다. 따라서, 인덱스될 각각의 독립 타일은 도 11(1120-1 및 1120-12)을 참조하여 설명된 '타일 트랙'으로 불리는 특정한 트랙에 의해 표현된다.
그러나, 타일링과 스케일 가능성을 혼합할 때, 필요한 추출기의 수가 현저하게 증가할 수 있다. 이에 따라, 양호한 실시예에서, 타일 트랙은 추출기를 이용하지 않을 것이다. 타일 트랙들은 도 11에 예시된 바와 같은 전체-프레임(full-frame) 내의 HEVC 비트-스트림에 대응하는 베이스 트랙(1115)에 의해 (타일 트랙들 각각에 대한 'scal' 정의를 포함하는 무비 박스 'moov'의 트랙 참조 박스 'tref'를 통해) 참조된다. 연관된 계층을 포함하는 이러한 베이스 트랙만이 어떻게 원래 비트-스트림이 재구성되는지를 나타내기 위해 추출기를 이용할 수 있다. 베이스 트랙은 'tbas' 트랙 참조(1150)의 덕택으로 타일 트랙에 의해 식별된다.
타일 트랙에 저장된 HEVC 샘플은, ISO/IEC 23008-2에서 정의된 것처럼, 하나 이상의 타일을 위한 슬라이스의 완전 세트이고, 즉 VCL NAL 유닛만이 그 슬라이스들을 형성한다. 이것은 타일 샘플이 임의의 파라미터 세트, SEI 메시지 또는 다른 비-VCL NAL 유닛을 포함하지 않을 것을 뜻한다. 반대로, 베이스 트랙은 초기화 데이터에 해당하는 다양한 파라미터 세트(예를 들면, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 및/또는 픽처 파라미터 세트)를 포함한다. 그것은 또한 타일 트랙에서 샘플을 지시하는 추출기(즉, 특정 유형의 NAL 유닛)를 포함한다.
전술한 바와 같이, 추출기는 이하의 구문을 갖는 파일 포맷 내부 구조일 수 있다:
Figure pct00004
추출기는 다른 트랙들로부터의 데이터에 대한 포인터 또는 참조들로서 기능하며 양쪽 트랙들에서의 데이터 복제 대신에 종속 트랙들을 참조하여 콤팩트한 트랙들을 구축하는 것을 가능하게 한다. 추출기는 바람직하게는 NAL 유닛 구문을 사용한다. 따라서, 이것은, 특히, NAL 유닛 타입에 속하는 정보를 포함하는, NAL 유닛 헤더와 동일한 구조를 갖는 헤더를 포함한다. 이러한 NAL 유닛 타입은, 예를 들어, HEVC의 예약된 NAL 유닛 타입에 현재 대응하는 값 '49'로 설정된다. 추출기에 의해 참조되는 트랙에 대응하는 트랙(track_id)의 식별자를 포함하는 tref 박스의 엔트리를 검색하는 것을 허용하는 트랙 참조 박스(tref)에서 인덱스(track_ref_index로 표기됨)가 헤더에 후속한다. 제3 파라미터는 현재 샘플과 비교하여 추출기에 의해 참조되는 샘플의 시간 오프셋(sample_offset)이다. 제4 및 제5 파라미터들(data_offset 및 data_length로 표기됨)은 각각 복사할 곳으로부터의 위치(바람직하게는 바이트 단위로) 및 복사할 데이터량을 제공한다(값 0은 전체 참조된 NAL 유닛의 복사를 나타내기 위해 예약된다).
도 11은 베이스 트랙(1115)과 독립 타일 트랙(1120)을 포함한 트랙들의 세트로서 HEVC 비트-스트림을 캡슐화하는 예를 예시한다.
예시된 바와 같이, 캡슐화된 비트-스트림(1100)은 트랙에 대한 정의를 제공하는 무비 박스('moov')를 포함하는 초기화 세그먼트 파일(1105)과, 하나의 베이스 트랙(1115)과 12개의 타일 트랙(1120-1 내지 1120-12)들을 나타내는 미디어 세그먼트 파일(1110)을 포함한다(타일 트랙(1120-1 내지 1120-12)들 각각은 비디오 시퀀스의 하나의 타일과 연관된다).
베이스 트랙(1115)은 세그먼트 타입 박스 'styp'(도시되지 않음)를 포함하고, 적어도 하나의 무비 프래그먼트 박스 'moof'(1125)는 트랙 세그먼트 타입과 식별자와 같은 메타데이터를 포함하고, 적어도 하나의 미디어 데이터 박스 "mdat"(1130)는, 각각의 비디오 데이터 샘플마다, PPS와 비디오 데이터에 대한 참조를 포함한다.
마찬가지로, 타일 트랙들(1120-1 내지 1120-12)의 각각은 세그먼트 타입 박스 "styp"(도시되지 않음), 적어도 하나의 영화 프래그먼트 박스 "moof"는 트랙 세그먼트 타입 및 식별자와 같은 메타데이터를 포함하고, 적어도 하나의 미디어 데이터 박스 "mdat"는 NAL 유닛들(NALUs) 내에 패키징된 압축된 비디오 데이터를 포함한다.
식별자(2 내지 13)를 갖는 타일 트랙들(1120-1 내지 1120-12)은 초기화 세그먼트 파일(1105)(보다 정확하게는, 식별자 id=1을 갖는 베이스 트랙의 정의에서, 초기화 세그먼트 파일(1105)의 무비 박스 "moov")의 트랙 참조 박스 "tref"(1135)에서 참조된다.
예시된 바와 같이, 베이스 트랙(1115)은 다른 트랙들로부터의 데이터에 대한 포인터들 또는 참조들로서 기능하는 추출기들을 포함한다. 예시를 위해, 베이스 트랙(1115)의 추출기들(1135-1 및 1135-p)에 대응하는 타일 트랙의 인덱스(track_ref_index), 데이터 오프셋(data_offset), 및 데이터 길이(data_length) 중 여러 파라미터들이 표현된다.
또한 예시를 위해, 베이스 트랙(1115)의 NAL 유닛(1135-1)이 처리되는 경우, 이것은 추출기 타입의 NAL 유닛을 나타낸다고 판정된다(NALUnitHeader는 16진수 값 6200과 같다). 따라서, 그것은 상응하는 압축 비디오 데이터를 검색하기 위해 처리된다. 그 때문에, 그것의 타일 트랙 인덱스(즉, track_ref_index= 1)가 획득된다. 이러한 인덱스로부터, 초기화 세그먼트 파일(1105)에 저장된 타일 트랙 정의로부터 타일 트랙 식별자를 검색하는 것이 가능하다. 주어진 예에서, 인덱스가 1과 같기 때문에, tref 박스의 제1 타일 트랙 식별자가 선택된다(id=2). 다음에, 이러한 식별자는 상응하는 타일 트랙에 액세스하는데 사용되고, 그리고 나서, 추출기(1135-1)의 데이터 오프셋(즉, 정보의 소스로서 이용될 식별된 트랙 내의 샘플의 상대 지수) 및 데이터 길이(즉, data_length=0일 때 예를 들어, 전체 NALU를 복사하기 위한 바이트의 수) 파라미터를 이용하여, 압축된 비디오 데이터는 타일 트랙(1120-1)(즉, 주어진 예에서 코딩된 슬라이스 세그먼트 NALU(1140)로부터 추출된다.
처리된 후에, 추출기는 그것이 참조하는 데이터에 의해 대체된다. 도 11에서 예시된 예에 따르면, 추출기(1135-1)의 파싱 및 처리는 코딩된 슬라이스 세그먼트 NALU(1140)에 의한 그의 대체를 야기하고, 따라서, HEVC 준수 비트-스트림을 형성한다.
HEVC 추출기의 파라미터들을 저장하기 위해 사용된 시맨틱은 SVC 표준에 정의된 것에 가까울 수 있다는 것에 유의해야 한다. 따라서, HEVC NAL 유닛들을 참조하는 추출기에 대해, 다음이 적용될 수 있다:
- forbidden_zero_bit로서 알려진 파라미터는 ISO/IEC 23008-2에 특정된 바와 같이 설정된다;
- nal_unit_type으로서 알려진 파라미터는 49(현재 FDIS에서의 예약된 코드)로 설정된다;
- nuh_layer_id 및 nuh_temporal_id_plus1으로서 알려진 파라미터들은 추출기에 의해 참조된 제1 NALU로부터 복사된다(HEVC NAL 유닛들을 참조하는 HEVC 트랙에서의 추출기는 상이한 nuh_layer_id 및 nuh_temporal_id_plus1 값들을 갖는 여러 NAL 유닛들을 참조하지 않는다); 그리고
- sample_offset으로 알려진 파라미터는 0으로 설정된다.
특별한 실시예에 따르면 HEVC 시퀀스의 타일의 서브세트만이 디코딩될 수 있는 것이 또한 주목된다. 이런 경우에, TileRegionGroupEntry 및 TileSetGroupEntry 샘플 그룹 디스크립션에 저장된 타일 종속성 정보는 HEVC 타일 트랙을 디코딩하는 동안 불필요한 타일 트랙을 처분하거나 일부 추출기를 무시하는데 사용될 수 있다.
도 12는 4개의 타일을 포함한 HEVC 비트-스트림의 경우에 트랙들 간의 종속성의 단순화된 개요를 예시하고, 각각의 타일은 개별 타일 트랙에 저장된다.
상술한 바와 같이, BT로 표시된, 베이스 HEVC 트랙(1210)은, 모든 타일에 공통인 데이터, 특히 다양한 파라미터 세트(예를 들면, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 및/또는 픽처 파라미터 세트)를 포함한다. 그것은 'tref' 박스 내의 'scal' 타입의 참조를 가진 타일 트랙에 대한 종속성을 신호화한다. 각각의 샘플을 위해, 그것은 또한 각각, TT1, TT2, TT3, 및 TT4로 표시된, 각각의 타일 트랙(1220-1 내지 1220-4)를 지시하는 추출기(화살표에 의해 표시됨)를 포함한다. 예시된 것처럼, 각각의 타일 트랙은 'tbas' 타입의 참조를 가진 HEVC 베이스 트랙을 식별한다.
스케일러블 HEVC 포맷(SHVC)과 같은 타일링과 다중-계층 비트-스트림 둘다를 고려할 때, 여러 비트-스트림 구성은 다음과 같이 가능하다:
- 베이스와 향상 계층들 양측이 타일되지 않는다;
- 베이스 계층은 타일되고 향상 계층은 타일되지 않는다;
- 베이스 계층은 타일되지 않고 향상 계층은 타일된다;
- 베이스와 향상 계층들 양측은 타일된다.
추출기의 사용은 타일링과 스케일 가능성(다중-계층) 양측을 다루기 위해 비디오 데이터의 효율적 조직을 가능하게 한다.
도 13은 베이스 계층과 향상 계층을 포함한 스케일러블 HEVC 비트-스트림의 경우에 트랙들 간의 종속성의 단순화된 개요를 예시하고, 베이스와 향상 계층들은 타일된다(이 예의 4개의 타일).
베이스 계층은 도 11과 12를 참조하여 설명된 것처럼 조직된다. BLBT로 표시된, 베이스 계층 베이스 트랙은, 'scal' 타입의 참조를 가진, BLTT1 내지 BLTT4로 표시된, 4개의 연관된 베이스 계층 타일 트랙에 대한 종속성을 신호화한다. 차례로, 각각의 베이스 계층 타일 트랙은 'tbas' 타입의 참조를 가진 베이스 계층 베이스 트랙을 식별한다.
베이스 계층 베이스 트랙 내의 각각의 샘플은 샘플 내의 모든 타일(예를 들면, 파라미터 세트, 다양한 SEI 메시지)들에 의해 공유될 데이터를 포함한다. 베이스 계층 베이스 트랙 내의 각각의 샘플은 또한 샘플을 구성하는 각각의 베이스 계층 타일 트랙을 위한 연관된 타일 샘플을 지시하는 하나 추출기를 포함한다.
동일한 원리가 향상 계층에 적용된다. 그러나, 추출기가 현재 표준에서 추출기의 정의에 따라, 또 다른 추출기를 직접적으로 또는 간접적으로, 참조하지 않아야 하기 때문에, 종속성의 구조는 더 복잡하다.
사실상, ELBT로 표시된, 향상 계층 베이스 트랙은, 추출기를 이용하여, ELTT1 내지 ELTT4로 표시된, 베이스 계층 베이스 트랙, 베이스 계층 타일 트랙, 및 향상 계층 타일 트랙을 참조해야 한다. 따라서, 향상 계층 베이스 트랙의 샘플은 다음으로 구성된다:
- 베이스 계층 베이스 트랙의 공통 데이터를 지시하는 하나의 추출기(추출기 1);
- 각각의 베이스 계층 타일 트랙을 지시하는 하나의 추출기(추출기 2 내지 5);
- 선택적으로, 베이스 계층 베이스 트랙의 임의의 SEI 접미사 메시지를 지시하는 추출기(추출기 6*);
- 향상 계층에 공통인 NAL 유닛;
- 각각의 향상 계층 타일 트랙에 대한 하나의 추출기(추출기 7 내지 10); 및
- 선택적으로, SEI 접미사 메시지.
현재 명세서를 적합시킨 이러한 구조는 수많은 추출기를 향상 계층 베이스 트랙 내의 각각의 샘플에서 요구한다. 예를 들어, 25 Hz에서 2x2 타일링을 고려하면, 향상 계층 베이스 트랙의 추출기를 전송하기 위해 요구된 대역폭은 24 kbps(10개의 추출기 x 12 바이트 x 25 Hz x 8 비트)이다.
동일한 추출기 패턴이 모든 상부 계층 내의 주어진 계층에서 타일에 대해 반복되기 때문에, 추출기와 관련된 오버헤드는 각각의 상부 계층과 함께 증가한다.
도 14에 설명된 것과 같이, 추출기의 그러한 증가를 회피하기 위해, 순환적 추출기가 이용될 수 있다.
순환적 추출기는 하나 이상의 추출기를 지시할 수 있는 추출기이다. 트랙이 파일 포맷으로부터 추출될 때, 그것이 포함한 모든 추출기는 그들이 참조하고 있는 데이터에 의해 대체된다. 참조된 데이터가 또한 추출기를 포함하면, 그들은 또한 논리적으로 그들이 참조하고 있는 데이터에 의해 대체되는, 등등이다. 추출기 정의에서의 파라미터 data_length의 값은 반복적으로 해결하기 위한 일부 추출기가 잠재적으로 있을지 결정하기 위한 단서로서 이용될 수 있다. data_length 파라미터는 복사하기 위한 바이트의 수를 보통 제공한다. 그러므로, data_length 파라미터가 'stsz' 또는 'trun' 테이블에 의해 보여진 것처럼 참조된 샘플의 사이즈와 동일하면, 참조된 샘플에 존재하는 추출기는 반복적으로 해결될 것이다. 추출기 경로에는 어떠한 사이클도 있을 수 없다.
또한, 비디오 시퀀스의 완전한 타일의 서브세트만이 디코딩되어야 하면, 그것은 베이스 트랙을 디코딩하는 동안 일부 추출기를 무시하기 위해 TileRegionGroupEntry 및 TileSetGroupEntry 샘플 그룹 디스크립션에서 타일 종속성 정보를 이용할 수 있다.
도 14에 예시된 것과 같이, 순환적 추출기를 이용하여, 향상 계층 베이스 트랙은 베이스 계층 베이스 트랙과 연관된 베이스 계층 타일 트랙에의 명시적 참조 없이, 베이스 계층 베이스 트랙만을 참조할 필요가 있다. 다시 말해서, 명시적으로 베이스 계층으로부터 각각의 타일을 참조하는 것 대신에, 향상 계층만이 샘플당 하나의 베이스 계층 추출기를 갖는다. 그러므로, 향상 계층 베이스 트랙의 샘플은 다음으로 구성된다:
- 베이스 계층 베이스 트랙의 상응하는 샘플을 지시하는 하나의 추출기(추출기 1)(베이스 계층 타일 트랙에 대한 추출기를 포함);
- 향상 계층에 공통인 NAL 유닛;
- 각각의 향상 계층 타일 트랙을 위한 하나의 추출기(추출기 2 내지 5); 및
- 선택적으로, SEI 접미사 메시지.
비-순환적 추출기의 사용에 기초한 해결책과 비교해서, 순환적 추출기의 사용은 필요한 추출기의 수가 감소될 수 있게 한다. 예를 들어, 25 Hz에서 2x2 타일링을 고려하면, 향상 계층 베이스 트랙의 추출기를 전송하기 위해 요구된 대역폭은 50% 절약으로 이어지는 12 kbps(5개의 추출기 x 12 바이트 x 25 Hz x 8 비트)이다. 더욱이, 새로운 계층을 추가하는 것은 더 낮은 계층에 하나의 추출기만이 필요하기 때문에 단지 캡슐화 오버헤드를 다소 증가시킨다.
도 15는 효율적으로 다중-계층 타일형 비디오 비트-스트림을 캡슐화하기 위한 서버 디바이스에서 실행될 수 있는 단계의 예를 예시한다.
예시된 것처럼, 제1 단계(단계 1501)는 타일링과 스케일 가능성 특징들을 제공하는 인코더, 예를 들어, 스케일러블 HEVC 표준에 따르는 인코더를 이용하여 비디오 비트-스트림을 인코딩하는 것에 관한 것이다. 인코딩된 비트-스트림은 계층 및/또는 타일을 나타내는 NAL 유닛으로 구성된다.
다음 단계(단계 1502)에서, 서버 디바이스는 타일과 연관된 모든 NAL 유닛들을 식별하고, 각각의 타일에 대해, 주어진 계층 내의 주어진 타일에 대응하는 모든 NAL 유닛들로 구성된 서브-샘플들을 포함하는 타일 트랙을 생성한다. 예를 들어, 서버 디바이스는 HEVC 표준화 위원회(제안 JCTVC-K0128)에 제안된 바와 같이, 상이한 픽처 영역들과의 NAL 유닛들의 연관을 식별하기 위해 서브-픽처 레벨 SEI 메시지들에 종속하고 각각의 ROI의 위치 및 사이즈를 식별하기 위한 시퀀스-레벨 SEI 메시지들에 종속한다. 그러므로, 타일의 튜브는 주어진 계층에 대해 그리고 시간의 기간 동안 생성될 수 있다. TileRegionGroupEntry 및 TileSetGroupEntry 샘플 그룹 디스크립션 구조는 (이전에 설명된 것처럼) 타일 정보와 종속성을 식별하는데 사용될 수 있다.
다음에, 서버 디바이스는, 각각의 계층마다, 모든 타일에 공통인 NAL 유닛, (있다면) 하위 레벨 스케일 가능성 베이스 트랙의 순환적 추출기, 및 현재의 계층의 각각의 타일 트랙에 대한 추출기를 포함하는 베이스 트랙을 생성한다(단계 1503). 추출기 및 공통 NAL 유닛은 바람직하게는, 추출기가 그들이 참조하고 있는 데이터에 의해 대체될 때, 최종 비트-스트림이 디코딩 순서로 순서화된 완전한 비디오 샘플로 구성된 유효한 비트-스트림인 그러한 방식으로 순서화된다.
다음에, 서버 디바이스는 ISO BMF 표현에 따른 시간적 기간을 포함하는 세그먼트 파일을 생성하고 그리고, 바람직하게 저장한다(단계 1504). 각각의 비디오 미디어 트랙(베이스 트랙 및 타일 트랙)은 개별 세그먼트 파일에 저장된다. 또 다른 실시예에서, 모든 미디어 트랙은 단일 ISO BMF 파일 내에 저장된다.
단계 1505에서, 서버 디바이스는, 요구에 따라, 캡슐화된 데이터를 요구 클라이언트 디바이스에 공급한다.
일 실시예에서, 인코딩된 데이터가 여러 세그먼트 파일에서 캡슐화될 때, 후자는 요구 시에 클라이언트 디바이스에 서빙된다. 이런 경우에, 서버 디바이스는 HTTP 요구에 응답하는 종래의 HTTP 서버일 수 있다.
대안적으로, 예를 들어 RTP 스트리밍에 대해서, 서버 디바이스는 클라이언트 디바이스에 의해 요구된 관심 영역의 계층과 타일에 해당하는 비트-스트림을 추출하고, 이들을, 예를 들어, RTP 프로토콜을 이용하여 송신한다.
비디오 비트-스트림 추출은 서버 단부에서 또는 클라이언트 단부에서 발생할 수 있다.
그것은 일반적으로 비디오 비트-스트림만이 파일 포맷 캡슐화 없이, 클라이언트 디바이스에 송신될 때 서버 단부에서 발생한다. 이것은 특히, 서버 디바이스가 인코딩된 비트-스트림을 클라이언트 디바이스로 밀어넣기 위해 RTP 프로토콜을 사용할 때의 경우이다. 이런 경우에, 서버 디바이스는 하나 또는 여러 캡슐화된 ISO BMF 파일로부터 비디오 비트-스트림을 추출하고 그것을 RTP 프로토콜과 같은 푸시 프로토콜을 이용하여 클라이언트 디바이스에 스트리밍한다.
그것은 비디오 비트-스트림이 ISO BMF 파일 세그먼트로서 교환될 때 클라이언트 단부에서 발생한다. 이런 경우에, 클라이언트 디바이스는 예를 들어, DASH와 같은 HTTP 스트리밍 프로토콜을 이용하여 서버 디바이스로부터 필요한 미디어 세그먼트를 다운로드한다. 그것은 사용자의 관심 영역을 디스플레이하도록 요구된 미디어 세그먼트만을 선택하기 위해, 매니페스트(manifest)를 통해 서버 디바이스와 이전에 교환된 미디어 표현의 디스크립션을 이용할 수 있다. 필요한 미디어 세그먼트는 요구된 공간적 또는 시간적 계층, 사용자의 관심 영역을 커버하는 타일, 및 그들이 종속하는 모든 베이스 계층과 타일에 해당된다. 그것은 요구된 비디오 비트-스트림을 추출할 수 있는 순응성 ISO BMF 파일을 구축하기 위해 수신된 미디어 세그먼트들을 연결시킨다.
도 16은 인코딩된 다중-계층 타일형 비디오 비트-스트림을 역캡슐화하기 위해 비트-스트림 판독기에서(또한 클라이언트 디바이스, 예를 들어, 비디오 플레이어, 또는 서버 디바이스, 예를 들어, RTP 서버에서) 실행될 수 있는 단계의 예를 예시한다.
제1 단계(단계 1600)에서, 비트-스트림 판독기는 초기화 데이터, 예를 들어, MPEG-4 표준에 따르는 캡슐화된 비트-스트림의 초기화 데이터, 일반적으로 'moov' 박스의 내용을 판독한다.
다음에, 단계 1601과 1602에서, 다양한 트랙, 샘플, 및 이용가능한 타일은 트랙 헤더, 샘플 테이블, 및 TileRegionGroupEntry 및 TileSetGroupEntry 샘플 그룹 디스크립션을 분석함으로써 식별된다.
사용자로부터 수신된 요구를 적합하게 하는 관심 영역과 계층에 해당하는 타일을 식별한 후(단계 1603), 데이터는 추출되고(단계 1604), 디코딩되고 디스플레이되기 위해 비디오 디코더에 제공된다(일반적으로)(단계 1605).
도 17에 예시된 알고리즘에 따라 데이터가 추출될 수 있다.
도 17은 순환적 추출기를 포함한 트랙으로부터 비디오 데이터를 추출하기 위한 알고리즘의 예를 예시한다.
일단 처리될 (일반적으로 디스플레이된) 계층이 단계 1603(도 16)에서 식별되면, 비트-스트림 판독기는 상부 계층의 식별자로서 현재의 계층의 식별자를 기록하고(단계 1701), 요구된 계층과 연관된 베이스 트랙으로부터 다음 NAL 유닛을 취한다(단계 1702). 예시를 위해서, 요구된 계층은 도 14를 참조하여 설명된 향상 계층 베이스 트랙일 수 있다.
그리고 나서 테스트는 NAL 유닛이 이용가능한지 여부를 결정하도록 수행된다(단계 1703년). NAL 유닛이 이용가능하면, 또 다른 테스트는 이러한 NAL 유닛이 추출기인지 아닌지를 결정하도록 수행된다(단계 1704년). NAL 유닛이 추출기가 아니면, 데이터는 디코더에 제공되고(단계 1705) 알고리즘은 (있다면) 다음 NAL 유닛을 획득하기 위해 단계 1702로 분기된다.
그 반대로, NAL 유닛이 추출기이면, 또 다른 테스트는 추출기의 파라미터 data_length가 'stsz' 또는 'trun' 테이블에 의해 보여진 것처럼 참조된 샘플의 사이즈와 동일한지 아닌지를 결정하도록 수행된다(단계 1706).
추출기의 파라미터 data_length가 참조된 샘플의 사이즈와 동일하면, 참조된 샘플에 존재하는 추출기는 반복적으로 해결된다. 그 때문에, 현재의 계층의 식별자는 이전 계층의 식별자로서 메모리 내에 저장되고 현재의 계층의 식별자는 추출기에 의해 지시된 트랙의 계층의 식별자로서 설정된다(단계 1707). 다음에, 알고리즘은 추출기에 의해 지시된 데이터에 도 17에 예시된 알고리즘을 적용하기 위해서 단계 1702로 분기된다.
그 반대로, 파라미터 data_length가 참조된 샘플의 사이즈와 동일하지 않으면, 또 다른 테스트는 추출기에 의해 지시된 데이터가 사용자에 의해 선택된 관심 영역에 적절한지 여부를 결정하도록 수행되고(단계 1708)(예를 들어, 추출기가 타일 트랙을 지시하는 경우, 타일의 좌표가 선택 영역 내에 위치하는지 확인함) 또는 추출기에 의해 지시된 데이터는 다른 데이터가 종속하기 때문에 요구된다(예를 들어, 추출기는 TileSetGroupEntry 샘플 그룹 디스크립션에서 설명된 바와 같이 현재 선택된 또 다른 타일 트랙의 종속성 리스트에 수록된 타일 트랙을 지시한다). 이러한 조건들 중 하나가 충족되면, 추출기는 지시된 데이터에 의해 해결되고 대체된다(단계 1709). 반면에, 그것은 무시된다(단계 1710). 다음에, 알고리즘은 (있다면) 다음 NAL 유닛을 취하기 위해 단계 1702로 분기된다.
NAL 유닛이 단계 1703에서 이용가능하지 않으면, 테스트는 현재의 계층의 식별자가 알고리즘의 도입부(상단 계층)에서 선택된 계층의 식별자인지 아닌지를 결정하도록 수행된다. 현재의 계층이 알고리즘의 도입부에서 선택된 계층이 아니면, 실행은 이전 계층에서 계속한다(단계 1712). 반면에, 현재의 계층이 알고리즘의 도입부에서 선택된 계층이면, 알고리즘은 멈춘다.
도 18은 하나 이상의 실시예들의 단계들이 구현될 수 있는 서버 또는 클라이언트 디바이스(1800)의 블록도를 나타낸다.
바람직하게는, 디바이스(1800)는 통신 버스(1802), 디바이스의 전원 인가 시에 프로그램 ROM(1806)으로부터의 명령어를 실행할 수 있는 중앙 처리 유닛(CPU)(1804), 및 전원 인가 후에 메인 메모리(1808)로부터의 소프트웨어 애플리케이션에 관련된 명령어들을 포함한다. 메인 메모리(1808)는 예를 들어, 통신 버스(1802)를 통해 CPU(1804)의 작업 영역으로서 기능하는 랜덤 액세스 메모리(RAM) 타입이고, 그의 메모리 용량은 확장 포트(도시되지 않음)에 접속되는 선택적 RAM에 의해 확장될 수 있다. 소프트웨어 애플리케이션에 관한 명령어들은, 예를 들어, 하드 디스크(HD)(1810) 또는 프로그램 ROM(1806)으로부터 메인 메모리(1808)에 로딩될 수 있다. CPU(1804)에 의해 실행되는 경우, 그러한 소프트웨어 애플리케이션은 도 15를 참조하여 설명된 단계들이 서버에서 수행되게 하고 도 16 및 도 17을 참조하여 설명된 단계들이 서버에서 또는 클라이언트 디바이스에서 수행되게 한다.
참조 번호 1812는 통신 네트워크(1814)로의 디바이스(1800)의 접속을 허용하는 네트워크 인터페이스이다. CPU(1804)에 의해 실행되는 경우, 소프트웨어 애플리케이션은 네트워크 인터페이스를 통해 수신된 요구들에 반응하고, 데이터 스트림들 및 요구들을 네트워크를 통해 다른 디바이스들에 제공하도록 적응된다.
참조 번호 1816은 사용자에게 정보를 디스플레이하고, 및/또는 사용자로부터 입력을 수신하기 위한 사용자 인터페이스를 나타낸다.
여기서, 변형으로서, 멀티미디어 비트-스트림의 수신 또는 송신을 관리하기 위한 디바이스(1800)가 도 15, 16 및 17을 참조하여 설명한 바와 같은 방법을 구현할 수 있는 하나 이상의 전용 집적 회로(ASIC)들로 이루어질 수 있다는 것이 지적된다. 이러한 집적 회로들은, 예를 들면 그리고 비-제한적으로, 비디오 시퀀스들을 생성 또는 표시하고 및/또는 오디오 시퀀스들을 청취하기 위한 기기 내로 통합된다.
본 발명의 실시예는, 예를 들면 특별한 관심 영역으로 줌인(zoom into)하기 위해서, 예를 들면 TV용의 원격 컨트롤러로서 동작하는 카메라, 스마트폰 또는 태블릿과 같은 디바이스 내에 내장될 수 있다. 또한, 그들은 특정 관심 영역을 선택함으로써 TV 프로그램의 개인적인 브라우징을 경험하도록 동일한 디바이스로부터 사용될 수도 있다. 사용자에 의한 이들 디바이스의 다른 용법은, 그가 선호하는 비디오의 일부 선택된 서브파트를 다른 접속된 디바이스와 공유하는 것이다. 또한, 그들은 감시 카메라가 본 발명의 생성 파트를 지원하는 경우에는, 감시 하에 놓인 빌딩의 특정 영역에서 발생하는 것을 모니터링하기 위한 스마트폰 또는 태블릿에서 사용될 수도 있다.
물론, 국부적인 그리고 특정 요건들을 만족시키기 위해서, 관련 기술분야의 통상의 기술자라면, 전부, 그러나 다음의 청구항들에 의해 정의된 본 발명의 보호 범위 내에 모두 포함되는 많은 수정들 및 변경들을 전술한 솔루션에 적용할 수 있다.

Claims (90)

  1. 다중-계층 구획된 시간 설정형(timed) 미디어 데이터를 캡슐화하기 위한 방법으로서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 하나 이상의 제2 계층으로 인코딩되며, 하나 이상의 시간 설정형 샘플은 하나 이상의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 하나 이상의 제2 계층으로 인코딩되며, 상기 방법은,
    상기 시간 설정형 샘플들 중 하나 이상으로부터, 상기 제1 계층에 속하는 하나 이상의 서브샘플을 획득하는 단계;
    상기 하나 이상의 획득된 서브샘플을 포함한 제1 트랙을 생성하는 단계;
    상기 시간 설정형 샘플들 중 동일한 상기 하나로부터, 상기 제2 계층에 속하는 적어도 또 다른 서브샘플을 획득하는 단계;
    상기 적어도 또 다른 획득된 서브샘플을 포함한 제2 트랙을 생성하는 단계; 및
    서술적 메타데이터를 생성하는 단계를 포함하고,
    상기 서술적 메타데이터는,
    1로 설정될 때, 상기 제1 계층에 속하는 상기 하나 이상의 획득된 서브샘플이 완전한 프레임인 것을 나타내는 파라미터를 포함한 제1 디스크립터; 및
    상기 제2 계층에 속하는 상기 적어도 또 다른 획득된 서브샘플과 상기 제1 계층에 속하는 상기 하나 이상의 서브샘플 사이의 종속성 링크를 신호화하고, 상기 제1 디스크립터를 참조하는 제2 디스크립터를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 계층이 비-타일형 계층일 때 상기 제1 디스크립터에서 상기 파라미터를 1로 설정하는 단계를 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 디스크립터는 VisualSampleGroupEntry('trif') 디스크립터인, 방법.
  4. 제1항, 제2항, 또는 제3항에 있어서,
    상기 제2 디스크립터가 VisualSampleGroupEntry('tsif') 디스크립터인, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    각각의 상기 디스크립터는 ISO 베이스 미디어 파일 포맷에 따른 디스크립터인, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 파라미터는 full_frame 파라미터인, 방법.
  7. 제2항에 있어서,
    상기 파라미터의 설정 외에, 상기 제1 계층의 상기 하나 이상의 서브샘플의 폭과 높이를 정의하는, 상기 제1 디스크립터의 추가적 파라미터를 상기 제1 계층의 휘도 성분의 사이즈로 설정하는 단계를 더 포함하는, 방법.
  8. 다중-계층 구획된 시간 설정형 미디어 데이터를 파싱하기 위한 방법으로서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 하나 이상의 제2 계층으로 인코딩되며, 하나 이상의 시간 설정형 샘플은 하나 이상의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 하나 이상의 제2 계층으로 인코딩되며, 상기 미디어 데이터는, 상기 시간 설정형 샘플 중 하나 이상으로부터 획득된, 상기 제1 계층에 속하는 하나 이상의 서브샘플을 포함한 제1 트랙, 및 상기 시간 설정형 샘플들 중 동일한 상기 하나로부터 획득된, 상기 제2 계층에 속하는 적어도 또 다른 서브샘플을 포함한 제2 트랙, 및 1로 설정될 때, 상기 제1 계층에 속하는 상기 하나 이상의 획득된 서브샘플이 완전한 프레임인 것을 나타내는 파라미터를 포함한 제1 디스크립터를 포함하는 서술적 메타데이터를 포함하도록 캡슐화되고, 상기 서술적 메타데이터는 상기 제2 계층에 속하는 상기 적어도 또 다른 획득된 서브샘플과 상기 제1 계층에 속하는 상기 하나 이상의 서브샘플 사이의 종속성 링크를 신호화하고 상기 제1 디스크립터를 참조하는 제2 디스크립터를 더 포함하고,
    상기 방법은,
    상기 캡슐화된 미디어 데이터의 상기 제1 및 제2 디스크립터를 획득하는 단계, 및
    원하는 서브샘플에 대해서 상기 원하는 서브샘플이 종속하는 상기 다른 서브샘플 또는 각각의 다른 서브샘플을 식별하기 위해 상기 획득된 상기 제1 및 제2 디스크립터를 이용하는 단계를 포함하는, 방법.
  9. 제8항에 있어서,
    상기 제1 디스크립터로부터 상기 파라미터를 획득하고 상기 파라미터가 1로 설정될 때 상기 제1 계층이 비-타일형 계층이라는 것을 결정하는 단계를 포함하는, 방법.
  10. 제8항 또는 제9항에 있어서,
    상기 제1 디스크립터는 VisualSampleGroupEntry('trif') 디스크립터인, 방법.
  11. 제8항, 제9항 또는 제10항에 있어서,
    상기 제2 디스크립터는 VisualSampleGroupEntry('tsif') 디스크립터인, 방법.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    각각의 상기 디스크립터는 ISO 베이스 미디어 파일 포맷에 따른 디스크립터인, 방법.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서,
    상기 파라미터는 full_frame 파라미터인, 방법.
  14. 제9항에 있어서,
    상기 파라미터가 1로 설정되는 것이 결정될 때, 상기 제1 계층의 휘도 성분의 사이즈와 같은 것으로 상기 제1 계층의 상기 하나 이상의 서브샘플의 폭과 높이를 정의하는 추가적 파라미터를 상기 제1 디스크립터로부터 획득하는 단계를 포함하는, 방법.
  15. 컴퓨터 또는 프로세서에 의해 실행될 때, 상기 컴퓨터 또는 프로세서로 하여금 제1항 내지 제14항 중 어느 한 항의 방법을 수행하게 하는 프로그램.
  16. 제15항의 상기 프로그램을 저장한 컴퓨터 판독가능 저장 매체.
  17. 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 디바이스로서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 하나 이상의 제2 계층으로 인코딩되며, 하나 이상의 시간 설정형 샘플은 하나 이상의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 하나 이상의 제2 계층으로 인코딩되며,
    상기 디바이스는,
    상기 시간 설정형 샘플들 중 하나 이상으로부터, 상기 제1 계층에 속하는 하나 이상의 서브샘플을 획득하기 위한 수단;
    상기 하나 이상의 획득된 서브샘플을 포함한 제1 트랙을 생성하기 위한 수단;
    상기 시간 설정형 샘플들 중 동일한 상기 하나로부터, 상기 제2 계층에 속하는 적어도 또 다른 서브샘플을 획득하기 위한 수단;
    상기 적어도 또 다른 획득된 서브샘플을 포함한 제2 트랙을 생성하기 위한 수단; 및
    서술적 메타데이터를 생성하기 위한 수단을 포함하고,
    상기 서술적 메타데이터는,
    1로 설정될 때, 상기 제1 계층에 속하는 상기 하나 이상의 획득된 서브샘플이 완전한 프레임인 것을 나타내는 파라미터를 포함하는 제1 디스크립터; 및
    상기 제2 계층에 속하는 상기 적어도 또 다른 획득된 서브샘플과 상기 제1 계층에 속하는 상기 하나 이상의 서브샘플 사이의 종속성 링크를 신호화하고, 상기 제1 디스크립터를 참조하는 제2 디스크립터를 포함하는, 디바이스.
  18. 제17항에 있어서,
    상기 제1 계층이 비-타일형 계층일 때 상기 제1 디스크립터에서 상기 파라미터를 1로 설정하기 위한 수단을 포함하는, 디바이스.
  19. 제17항 또는 제18항에 있어서,
    상기 제1 디스크립터는 VisualSampleGroupEntry('trif') 디스크립터인, 디바이스.
  20. 제17항, 제18항 또는 제19항에 있어서,
    상기 제2 디스크립터는 VisualSampleGroupEntry('tsif') 디스크립터인, 디바이스.
  21. 제17항 내지 제20항 중 어느 한 항에 있어서,
    각각의 상기 디스크립터는 ISO 베이스 미디어 파일 포맷에 따른 디스크립터인, 디바이스.
  22. 제17항 내지 제21항 중 어느 한 항에 있어서,
    상기 파라미터는 full_frame 파라미터인, 디바이스.
  23. 제18항에 있어서,
    상기 설정 수단은, 상기 파라미터를 1로 설정할 때, 상기 제1 계층의 상기 하나 이상의 서브샘플의 폭과 높이를 정의하는, 상기 제1 디스크립터의 추가적 파라미터를 상기 제1 계층의 휘도 성분의 사이즈로 설정하도록 더 동작 가능한, 디바이스.
  24. 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터를 파싱하기 위한 디바이스로서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 하나 이상의 제2 계층으로 인코딩되며, 상기 미디어 데이터는, 상기 시간 설정형 샘플 중 하나 이상으로부터 획득된, 상기 제1 계층에 속하는 하나 이상의 서브샘플을 포함한 제1 트랙, 및 상기 시간 설정형 샘플들 중 동일한 상기 하나로부터 획득된, 상기 제2 계층에 속하는 적어도 또 다른 서브샘플을 포함한 제2 트랙, 및 1로 설정될 때, 상기 제1 계층에 속하는 상기 하나 이상의 획득된 서브샘플이 완전한 프레임인 것을 나타내는 파라미터를 포함한 제1 디스크립터를 포함하는 서술적 메타데이터를 포함하도록 캡슐화되고, 상기 서술적 메타데이터는 상기 제2 계층에 속하는 상기 적어도 또 다른 획득된 서브샘플과 상기 제1 계층에 속하는 상기 하나 이상의 서브샘플 사이의 종속성 링크를 신호화하고 상기 제1 디스크립터를 참조하는 제2 디스크립터를 더 포함하고,
    상기 디바이스는,
    상기 캡슐화된 미디어 데이터의 상기 제1 및 제2 디스크립터를 획득하기 위한 수단, 및
    원하는 서브샘플에 대해서, 상기 원하는 서브샘플이 종속하는 상기 다른 서브샘플 또는 각각의 다른 서브샘플을 식별하기 위해 상기 획득된 상기 제1 및 제2 디스크립터를 이용하기 위한 수단을 포함하는, 디바이스.
  25. 제24항에 있어서,
    상기 제1 디스크립터로부터 상기 파라미터를 획득하기 위한 수단과 상기 파라미터가 1로 설정될 때 상기 제1 계층이 비-타일형 계층이라고 결정하기 위한 수단을 포함하는, 디바이스.
  26. 제24항 또는 제25항에 있어서,
    상기 제1 디스크립터는 VisualSampleGroupEntry('trif') 디스크립터인, 디바이스.
  27. 제24항, 제25항 또는 제26항에 있어서,
    상기 제2 디스크립터는 VisualSampleGroupEntry('tsif') 디스크립터인, 디바이스.
  28. 제24항 내지 제27항 중 어느 한 항에 있어서,
    각각의 상기 디스크립터는 ISO 베이스 미디어 파일 포맷에 따른 디스크립터인, 디바이스.
  29. 제24항 내지 제28항 중 어느 한 항에 있어서,
    상기 파라미터는 full_frame 파라미터인, 디바이스.
  30. 제25항에 있어서,
    상기 획득 수단에 의해 획득된 상기 파라미터가 1일 때, 상기 제1 계층의 휘도 성분의 사이즈와 같은 것으로 상기 제1 계층의 상기 하나 이상의 서브샘플의 폭과 높이를 정의하는 추가적 파라미터를 상기 제1 디스크립터로부터 획득하도록 동작 가능한 파라미터 획득 수단을 더 포함하는, 디바이스.
  31. 제1항 내지 제7항 중 어느 한 항의 방법에 의해 캡슐화된 상기 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 포함하는 미디어 세그먼트 파일.
  32. 제31항의 상기 미디어 세그먼트 파일을 저장하는 컴퓨터-판독가능 저장 매체.
  33. 제1항 내지 제7항 중 어느 한 항의 방법에 의해 캡슐화된 상기 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 전달하는 신호.
  34. 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 방법으로서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 하나 이상의 제2 계층으로 인코딩되며, 하나 이상의 시간 설정형 샘플은 하나 이상의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 하나 이상의 제2 계층으로 인코딩되며,
    상기 방법은,
    상기 시간 설정형 샘플들 중 하나 이상으로부터 하나 이상의 서브샘플을 획득하는 단계;
    상기 하나 이상의 획득된 서브샘플을 포함한 트랙을 생성하는 단계; 및
    상기 생성된 트랙과 연관된 서술적 메타데이터를 생성하는 단계를 포함하고,
    상기 서술적 메타데이터는, 상기 하나 이상의 획득된 서브샘플과 적어도 또 다른 서브샘플 사이의 종속성 링크를 신호화하기 위한 디스크립터를 포함하고,
    하나의 디스크립션 모드에서 상기 종속성 링크는,
    상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 하나 이상의 제1 종속성을 서술하는 제1 종속성 리스트; 및
    상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 하나 이상의 제2 종속성을 서술하는, 상기 제1 종속성 리스트와는 별개의 제2 종속성 리스트로 이루어지는, 방법.
  35. 제34항에 있어서,
    상기 제1 종속성 또는 각각의 상기 제1 종속성은 인트라-계층 종속성이고, 상기 제2 종속성 또는 각각의 상기 제2 종속성은 인터-계층 종속성인, 방법.
  36. 제34항에 있어서,
    상기 제1 종속성 리스트는 인터-계층 종속성을 제외하고 상기 제2 종속성 리스트는 인터-계층 종속성을 포함하는, 방법.
  37. 제34항, 제35항 또는 제36항에 있어서,
    각각의 상기 종속성 리스트는 서술된 상기 종속성의 수의 카운트를 내부에 포함하는, 방법.
  38. 제34항 내지 제37항 중 어느 한 항에 있어서,
    상기 디스크립터는 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 특정 값으로 설정되는 파라미터를 더 포함하는, 방법.
  39. 제34항 내지 제37항 중 어느 한 항에 있어서,
    추가적 디스크립션 모드에서 상기 종속성 링크는 상기 하나 이상의 획득된 서브샘플과 각각의 다른 서브샘플 사이의 종속성을 서술하는 단일 종속성 리스트로 구성되는, 방법.
  40. 제39항에 있어서,
    상기 디스크립터는 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제1 특정 값으로 설정되고 상기 추가적 디스크립션 모드가 이용되는 것을 나타내기 위해 제2 특정 값으로 설정되는 파라미터를 더 포함하는, 방법.
  41. 제39항에 있어서,
    또 하나의 디스크립션 모드에서 상기 종속성 링크는 그와 같은 종속성 리스트를 갖고 있지 않고, 상기 하나 이상의 획득된 서브샘플과 다른 서브샘플 사이의 종속성이 참조 영역으로서 정의되는, 방법.
  42. 제41항에 있어서,
    상기 디스크립터는, 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제1 특정 값으로 설정되고 상기 추가적 디스크립션 모드가 이용되는 것을 나타내기 위해 제2 특정 값을 설정되고 상기 또 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제3 특정 값으로 설정되는 파라미터를 더 포함하는, 방법.
  43. 제34항 내지 제42항 중 어느 한 항에 있어서,
    상기 디스크립터는 TileSetGroupEntry 디스크립터인, 방법.
  44. 제34항 내지 제43항 중 어느 한 항에 있어서,
    정규 인터-계층 예측 패턴을 생성하기 위해 상기 시간 설정형 샘플들 사이에 각각의 랜덤 액세스 포인트들에 랜덤 액세스 샘플을 포함시키는 단계, 및 그러한 랜덤 액세스 샘플을 위해 상기 제2 종속성 리스트에서 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 각각의 종속성을 특정하는 단계를 포함하는, 방법.
  45. 제44항에 있어서,
    그러한 랜덤 액세스 샘플과는 다른 샘플을 위해 상기 제1 종속성 리스트에서 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 각각의 종속성을 특정하는 단계를 포함하는, 방법.
  46. 제44항 또는 제45항에 있어서, 제43항을 인용하는 경우,
    디폴트 샘플 그룹화를 이용하여 모든 시간 설정형 샘플을 상기 TileSetGroupEntry 디스크립터에 맵핑하는 단계를 포함하는, 방법.
  47. 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터를 파싱하기 위한 방법으로서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 하나 이상의 제2 계층으로 인코딩되며, 하나 이상의 시간 설정형 샘플은 하나 이상의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 하나 이상의 제2 계층으로 인코딩되며, 상기 미디어 데이터는, 트랙이 상기 시간 설정형 샘플들 중 하나 이상으로부터 획득된 하나 이상의 서브샘플을 포함하고 상기 트랙과 연관된 서술적 메타데이터가 상기 하나 이상의 획득된 서브샘플과 적어도 또 다른 서브샘플 사이의 종속성 링크를 신호화하기 위한 디스크립터를 포함하도록 캡슐화되고, 하나의 디스크립션 모드에서 상기 종속성 링크는 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 하나 이상의 제1 종속성을 서술하는 제1 종속성 리스트와, 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 하나 이상의 제2 종속성을 서술하는, 상기 제1 종속성 리스트와는 별개의 제2 종속성 리스트로 구성되며,
    상기 방법은,
    상기 캡슐화된 미디어 데이터의 상기 디스크립터를 획득하는 단계, 및
    원하는 서브샘플에 대해서 상기 원하는 서브샘플이 종속하는 상기 다른 서브샘플 또는 각각의 다른 서브샘플을 식별하기 위해 상기 디스크립터를 이용하는 단계를 포함하는, 방법.
  48. 제47항에 있어서,
    상기 제1 종속성 또는 각각의 상기 제1 종속성은 인트라-계층 종속성이고, 상기 제2 종속성 또는 각각의 상기 제2 종속성은 인터-계층 종속성인, 방법.
  49. 제47항에 있어서,
    상기 제1 종속성 리스트는 인터-계층 종속성을 제외하고 상기 제2 종속성 리스트는 인터-계층 종속성을 포함하는, 방법.
  50. 제47항, 제48항 또는 제49항에 있어서,
    각각의 상기 종속성 리스트는 서술된 상기 종속성의 수의 카운트를 내부에 포함하는, 방법.
  51. 제47항 내지 제50항 중 어느 한 항에 있어서,
    상기 디스크립터는 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 특정 값으로 설정되는 파라미터를 더 포함하는, 방법.
  52. 제47항 내지 제50항 중 어느 한 항에 있어서,
    추가적 디스크립션 모드에서, 상기 종속성 링크는 상기 하나 이상의 획득된 서브샘플과 각각의 다른 서브샘플 사이의 종속성을 서술하는 단일 종속성 리스트로 구성되는, 방법.
  53. 제52항에 있어서,
    상기 디스크립터는, 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제1 특정 값으로 설정되고 상기 추가적 디스크립션 모드가 이용되는 것을 나타내기 위해 제2 특정 값으로 설정되는 파라미터를 더 포함하는, 방법.
  54. 제52항에 있어서,
    또 하나의 디스크립션 모드에서, 상기 종속성 링크는 그와 같은 종속성 리스트를 갖고 있지 않고 상기 하나 이상의 획득된 서브샘플과 다른 서브샘플 사이의 상기 종속성은 참조 영역으로 정의되는, 방법.
  55. 제54항에 있어서,
    상기 디스크립터는, 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제1 특정 값으로 설정되고 상기 추가적 디스크립션 모드가 이용되는 것을 나타내기 위해 제2 특정 값으로 설정되고 상기 또 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제3 특정 값으로 설정되는 파라미터를 더 포함하는, 방법.
  56. 제47항 내지 제55항 중 어느 한 항에 있어서,
    상기 디스크립터는 TileSetGroupEntry 디스크립터인, 방법.
  57. 제47항 내지 제56항 중 어느 한 항에 있어서,
    정규 인터-계층 예측 패턴을 생성하기 위해 상기 캡슐화된 미디어 데이터 내의 각각의 랜덤 액세스 포인트들에 상기 시간 설정형 샘플 사이에 랜덤 액세스 샘플들이 포함되고,
    상기 방법은,
    그러한 랜덤 액세스 샘플을 위해 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 각각의 종속성을 식별하기 위해 상기 제2 종속성 리스트를 이용하는 단계를 포함하는, 방법.
  58. 제57항에 있어서,
    그러한 랜덤 액세스 샘플과는 다른 샘플을 위해 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 각각의 종속성을 식별하기 위해 상기 제1 종속성 리스트를 이용하는 단계를 포함하는, 방법.
  59. 제57항 또는 제58항에 있어서, 제56항을 인용하는 경우,
    상기 캡슐화된 미디어 데이터의 모든 상기 시간 설정형 샘플이 디폴트 샘플 그룹화를 이용하여 상기 TileSetGroupEntry 디스크립터에 맵핑되는, 방법.
  60. 컴퓨터 또는 프로세서에 의해 실행될 때, 상기 컴퓨터 또는 프로세서로 하여금 제34항 내지 제59항 중 어느 한 항의 방법을 수행하게 하는 프로그램.
  61. 제60항의 프로그램을 저장한 컴퓨터 판독가능 저장 매체.
  62. 다중-계층 구획된 시간 설정형 미디어 데이터를 캡슐화하기 위한 디바이스로서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 하나 이상의 제2 계층으로 인코딩되며, 하나 이상의 시간 설정형 샘플은 하나 이상의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 하나 이상의 제2 계층으로 인코딩되며,
    상기 디바이스는,
    상기 시간 설정형 샘플들 중 하나 이상으로부터 하나 이상의 서브샘플을 획득하기 위한 수단;
    상기 하나 이상의 획득된 서브샘플을 포함한 트랙을 생성하기 위한 수단; 및
    상기 생성된 트랙과 연관된 서술적 메타데이터를 생성하기 위한 수단을 포함하고,
    상기 서술적 메타데이터는 상기 하나 이상의 획득된 서브샘플과 적어도 또 다른 서브샘플 사이의 종속성 링크를 신호화하기 위한 디스크립터를 포함하고,
    하나의 디스크립션 모드에서 상기 종속성 링크는,
    상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 하나 이상의 제1 종속성을 서술하는 제1 종속성 리스트; 및
    상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 하나 이상의 제2 종속성을 서술하는, 상기 제1 종속성 리스트와는 별개의 제2 종속성 리스트로 구성되는, 디바이스.
  63. 제62항에 있어서,
    상기 제1 종속성 또는 각각의 상기 제1 종속성은 인트라-계층 종속성이고, 상기 제2 종속성 또는 각각의 상기 제2 종속성은 인터-계층 종속성인, 디바이스.
  64. 제62항에 있어서,
    상기 제1 종속성 리스트는 인터-계층 종속성을 제외하고 상기 제2 종속성 리스트는 인터-계층 종속성을 포함하는, 디바이스.
  65. 제62항, 제63항 또는 제64항에 있어서,
    각각의 상기 종속성 리스트는 서술된 상기 종속성의 수의 카운트를 내부에 포함하는, 디바이스.
  66. 제62항 내지 제65항 중 어느 한 항에 있어서,
    상기 디스크립터는 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 특정 값으로 설정되는 파라미터를 더 포함하는, 디바이스.
  67. 제62항 내지 제65항 중 어느 한 항에 있어서,
    추가적 디스크립션 모드에서 상기 종속성 링크는 상기 하나 이상의 획득된 서브샘플과 각각의 다른 서브샘플 사이의 상기 종속성을 서술하는 단일 종속성 리스트로 구성되는, 디바이스.
  68. 제67항에 따른 디바이스에 있어서,
    상기 디스크립터는, 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제1 특정 값으로 설정되고 상기 추가적 디스크립션 모드가 이용되는 것을 나타내기 위해 제2 특정 값으로 설정되는 파라미터를 더 포함하는, 디바이스.
  69. 제67항에 있어서,
    또 하나의 디스크립션 모드에서 상기 종속성 링크는 그와 같은 종속성 리스트를 갖고 있지 않고, 상기 하나 이상의 획득된 서브샘플과 다른 서브샘플 사이의 상기 종속성은 참조 영역으로서 정의되는, 디바이스.
  70. 제69항에 있어서,
    상기 디스크립터는, 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제1 특정 값으로 설정되고 상기 추가적 디스크립션 모드가 이용되는 것을 나타내기 위해 제2 특정 값으로 설정되고 상기 또 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제3 특정 값으로 설정되는 파라미터를 더 포함하는, 디바이스.
  71. 제62항 내지 제70항 중 어느 한 항에 있어서,
    상기 디스크립터는 TileSetGroupEntry 디스크립터인, 디바이스.
  72. 제62항 내지 제71항 중 어느 한 항에 있어서,
    정규 인터-계층 예측 패턴을 생성하기 위해 각각의 랜덤 액세스 포인트들에 상기 시간 설정형 샘플들 사이에 랜덤 액세스 샘플들을 포함시키기 위한 수단, 및
    그러한 랜덤 액세스 샘플을 위해 상기 제2 종속성 리스트에서 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 각각의 종속성을 특정하기 위한 수단을 포함하는, 디바이스.
  73. 제72항에 있어서,
    그러한 랜덤 액세스 샘플과 다른 샘플을 위해 상기 제1 종속성 리스트에서 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 각각의 종속성을 특정하기 위한 수단을 포함하는, 디바이스.
  74. 제72항 또는 제73항에 있어서, 제71항을 인용하는 경우,
    디폴트 샘플 그룹화를 이용하여 모든 상기 시간 설정형 샘플을 상기 TileSetGroupEntry 디스크립터에 맵핑하기 위한 수단을 포함하는, 디바이스.
  75. 캡슐화된 다중-계층 구획된 시간 설정형 미디어 데이터를 파싱하기 위한 디바이스로서, 상기 다중-계층 구획된 시간 설정형 미디어 데이터는 시간 설정형 샘플들을 포함하고, 각각의 시간 설정형 샘플은 제1 계층과 하나 이상의 제2 계층으로 인코딩되며, 하나 이상의 시간 설정형 샘플은 하나 이상의 서브샘플을 포함하고, 각각의 서브샘플은 상기 제1 계층 또는 상기 하나 이상의 제2 계층으로 인코딩되며, 상기 미디어 데이터는, 트랙이 상기 시간 설정형 샘플 중 하나 이상으로부터 획득된 하나 이상의 서브샘플을 포함하고 상기 트랙과 연관된 서술적 메타데이터가 상기 하나 이상의 획득된 서브샘플과 적어도 또 다른 서브샘플 사이의 종속성 링크를 신호화하기 위한 디스크립터를 포함하도록 캡슐화되고, 하나의 디스크립션 모드에서 상기 종속성 링크는 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 하나 이상의 제1 종속성을 서술하는 제1 종속성 리스트와, 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 하나 이상의 제2 종속성을 서술하는, 상기 제1 종속성 리스트와는 별개의 제2 종속성 리스트로 구성되며,
    상기 디바이스는,
    상기 캡슐화된 미디어 데이터의 상기 디스크립터를 획득하기 위한 수단, 및
    원하는 서브샘플에 대해서 상기 원하는 서브샘플이 종속하는 상기 다른 서브샘플 또는 각각의 다른 서브샘플을 식별하기 위해 상기 획득된 디스크립터를 이용하기 위한 수단을 포함하는, 디바이스.
  76. 제75항에 있어서,
    상기 제1 종속성 또는 각각의 상기 제1 종속성은 인트라-계층 종속성이고, 상기 제2 종속성 또는 각각의 상기 제2 종속성은 인터-계층 종속성인, 디바이스.
  77. 제75항에 있어서,
    상기 제1 종속성 리스트는 인터-계층 종속성을 제외하고 상기 제2 종속성 리스트는 인터-계층 종속성을 포함하는, 디바이스.
  78. 제75항, 제76항 또는 제77항에 있어서,
    각각의 상기 종속성 리스트는 서술된 상기 종속성의 수의 카운트를 내부에 포함하는, 디바이스.
  79. 제75항 내지 제78항 중 어느 한 항에 있어서,
    상기 디스크립터는 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 특정 값으로 설정되는 파라미터를 더 포함하는, 디바이스.
  80. 제75항 내지 제78항 중 어느 한 항에 있어서,
    추가적 디스크립션 모드에서 종속성 링크는 하나 이상의 획득된 서브샘플과 각각의 다른 서브샘플 사이의 종속성을 서술하는 단일 종속성 리스트로 구성되는, 디바이스.
  81. 제80항에 있어서,
    상기 디스크립터는, 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제1 특정 값으로 설정되고 상기 추가적 디스크립션 모드가 이용되는 것을 나타내기 위해 제2 특정 값으로 설정되는 파라미터를 더 포함하는, 디바이스.
  82. 제80항에 있어서,
    또 하나의 디스크립션 모드에서 상기 종속성 링크는 그와 같은 종속성 리스트를 갖고 있지 않고, 상기 하나 이상의 획득된 서브샘플과 다른 서브샘플 사이의 상기 종속성은 참조 영역으로서 정의되는, 디바이스.
  83. 제82항에 있어서,
    상기 디스크립터는, 상기 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제1 특정 값으로 설정되고 상기 추가적 디스크립션 모드가 이용되는 것을 나타내기 위해 제2 특정 값으로 설정되고 상기 또 하나의 디스크립션 모드가 이용되는 것을 나타내기 위해 제3 특정 값으로 설정되는 파라미터를 더 포함하는, 디바이스.
  84. 제75항 내지 제83항 중 어느 한 항에 있어서,
    상기 디스크립터는 TileSetGroupEntry 디스크립터인, 디바이스.
  85. 제75항 내지 제84항 중 어느 한 항에 있어서,
    정규 인터-계층 예측 패턴을 생성하기 위해 상기 캡슐화된 미디어 데이터 내의 각각 랜덤 액세스 포인트들에서 상기 시간 설정형 샘플들 사이에 랜덤 액세스 샘플들이 포함되고,
    상기 디바이스는, 그러한 랜덤 액세스 샘플을 위해 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 각각의 종속성을 식별하기 위해 상기 제2 종속성 리스트를 이용하기 위한 수단을 포함하는, 디바이스.
  86. 제85항에 있어서,
    그러한 랜덤 액세스 샘플과는 다른 샘플을 위해 상기 하나 이상의 획득된 서브샘플과 또 다른 서브샘플 사이의 각각의 종속성을 식별하기 위해 상기 제1 종속성 리스트를 이용하기 위한 수단을 포함하는, 디바이스.
  87. 제85항 또는 제86항에 있어서, 제84항을 인용하는 경우,
    상기 캡슐화된 미디어 데이터의 모든 상기 시간 설정형 샘플은 디폴트 샘플 그룹화를 이용하여 상기 TileSetGroupEntry 디스크립터에 맵핑되는, 디바이스.
  88. 제34항 내지 제46항 중 어느 한 항의 방법에 의해 캡슐화된 상기 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 포함하는, 미디어 세그먼트 파일.
  89. 제88항의 상기 미디어 세그먼트 파일을 저장하는 컴퓨터-판독가능 저장 매체.
  90. 제34항 내지 제46항 중 어느 한 항의 방법에 의해 캡슐화된 상기 다중-계층 구획된 시간 설정형 미디어 데이터의 적어도 일부를 전달하는 신호.
KR1020167017397A 2014-01-07 2015-01-07 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램 KR20160105793A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227007645A KR102521495B1 (ko) 2014-01-07 2015-01-07 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1400244.8A GB2522014A (en) 2014-01-07 2014-01-07 Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data
GB1400244.8 2014-01-07
GB1400303.2 2014-01-08
GB201400303A GB201400303D0 (en) 2014-01-08 2014-01-08 Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitoned timed media data
PCT/EP2015/050183 WO2015104303A2 (en) 2014-01-07 2015-01-07 Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227007645A Division KR102521495B1 (ko) 2014-01-07 2015-01-07 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20160105793A true KR20160105793A (ko) 2016-09-07

Family

ID=52395040

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227007645A KR102521495B1 (ko) 2014-01-07 2015-01-07 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램
KR1020167017397A KR20160105793A (ko) 2014-01-07 2015-01-07 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227007645A KR102521495B1 (ko) 2014-01-07 2015-01-07 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램

Country Status (6)

Country Link
US (2) US10320867B2 (ko)
EP (2) EP3092796B1 (ko)
JP (1) JP6572222B2 (ko)
KR (2) KR102521495B1 (ko)
CN (1) CN105900401B (ko)
WO (1) WO2015104303A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210080607A (ko) * 2017-03-27 2021-06-30 캐논 가부시끼가이샤 생성된 콘텐츠를 포함하는 미디어 데이터를 인코딩하기 위한 방법 및 장치
WO2021251718A1 (ko) * 2020-06-10 2021-12-16 엘지전자 주식회사 서브레이어 레벨 정보에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
US11611752B2 (en) 2020-10-07 2023-03-21 Lemon Inc. Adaptation parameter set storage in video coding
US11711518B2 (en) 2020-09-17 2023-07-25 Lemon Inc. Decoding capability information storage in video coding

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170180758A1 (en) * 2015-12-22 2017-06-22 Vallabhajosyula S. Somayazulu Tiled Wireless Display
FI20165114A (fi) * 2016-02-17 2017-08-18 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
US10419768B2 (en) * 2016-03-30 2019-09-17 Qualcomm Incorporated Tile grouping in HEVC and L-HEVC file formats
GB2550604A (en) * 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data
US10652630B2 (en) * 2016-05-24 2020-05-12 Qualcomm Incorporated Sample entries and random access
US10360234B2 (en) * 2016-10-26 2019-07-23 Sap Se Recursive extractor framework for forensics and electronic discovery
CN110115034B (zh) * 2016-12-23 2023-01-13 华为技术有限公司 一种用于扩展预定定向帧内预测模式集合的帧内预测装置
EP3349459A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing A method and a device for image encoding and decoding
WO2019073113A1 (en) * 2017-10-09 2019-04-18 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING
GB2575074B (en) * 2018-06-27 2022-09-28 Canon Kk Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame
WO2020056354A1 (en) * 2018-09-14 2020-03-19 Futurewei Technologies, Inc. Tile based addressing in video coding
ES2952079T3 (es) * 2019-01-09 2023-10-26 Huawei Tech Co Ltd Dimensionamiento de subimágenes en la codificación de vídeo
GB2593222A (en) * 2020-03-20 2021-09-22 Canon Kk High level syntax for video coding and decoding
WO2021202174A1 (en) * 2020-03-31 2021-10-07 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatuses for signaling of syntax elements in video coding
GB2597642B (en) * 2020-06-16 2023-08-02 Canon Kk Method, device, and computer program for encapsulating media data into a media file
US11930295B2 (en) * 2020-09-17 2024-03-12 Lemon Inc. Handling of non-VCL NAL units in picture unit construction
EP3972278A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Subpicture tracks in coded video

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050002337A1 (en) * 2003-07-01 2005-01-06 Nokia Corporation Reducing effects caused by transmission channel errors during a streaming session
JP2008536420A (ja) * 2005-04-13 2008-09-04 ノキア コーポレイション スケーラビリティ情報の符号化、格納およびシグナリング
CA2767794A1 (en) * 2008-10-07 2010-04-15 Telefonaktiebolaget Lm Ericsson (Publ) Multi-view media data
GB0818463D0 (en) 2008-10-08 2008-11-12 Mitsubishi Elec R&D Ct Europe Encoding and decoding method and apparatus for multimedia signatures
WO2010084737A1 (ja) 2009-01-23 2010-07-29 日本電気株式会社 映像記述子生成装置
EP2462519A1 (en) 2009-08-05 2012-06-13 Ipharro Media GmbH Supplemental media delivery
CA2829493A1 (en) 2011-03-10 2012-09-13 Vidyo, Inc. Dependency parameter set for scalable video coding
AU2014291253B2 (en) * 2013-07-19 2018-07-05 Sony Corporation Information processing device and method
MY182651A (en) * 2013-07-22 2021-01-27 Sony Corp Information processing apparatus and method
GB2516826B (en) * 2013-07-23 2016-06-22 Canon Kk Method, device and computer program for encapsulating partitioned timed media data by creating tracks to be independently encapsulated in at least one media f
CN104575547B (zh) 2013-10-17 2017-12-22 深圳市云帆世纪科技有限公司 多媒体文件制作方法、播放方法及系统
US9648348B2 (en) * 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs
US10587934B2 (en) * 2016-05-24 2020-03-10 Qualcomm Incorporated Virtual reality video signaling in dynamic adaptive streaming over HTTP

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210080607A (ko) * 2017-03-27 2021-06-30 캐논 가부시끼가이샤 생성된 콘텐츠를 포함하는 미디어 데이터를 인코딩하기 위한 방법 및 장치
US11700434B2 (en) 2017-03-27 2023-07-11 Canon Kabushiki Kaisha Method and apparatus for generating media data
WO2021251718A1 (ko) * 2020-06-10 2021-12-16 엘지전자 주식회사 서브레이어 레벨 정보에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
US11711518B2 (en) 2020-09-17 2023-07-25 Lemon Inc. Decoding capability information storage in video coding
US11750815B2 (en) 2020-09-17 2023-09-05 Lemon, Inc. Versatile video coding track coding
US11611752B2 (en) 2020-10-07 2023-03-21 Lemon Inc. Adaptation parameter set storage in video coding

Also Published As

Publication number Publication date
US11412017B2 (en) 2022-08-09
EP3092796B1 (en) 2020-06-17
CN105900401A (zh) 2016-08-24
KR102521495B1 (ko) 2023-04-14
US20190014162A1 (en) 2019-01-10
EP3713234A1 (en) 2020-09-23
JP2017508334A (ja) 2017-03-23
US20160330255A1 (en) 2016-11-10
JP6572222B2 (ja) 2019-09-04
WO2015104303A3 (en) 2015-10-01
US10320867B2 (en) 2019-06-11
EP3092796A2 (en) 2016-11-16
CN105900401B (zh) 2020-03-06
KR20220034931A (ko) 2022-03-18
WO2015104303A2 (en) 2015-07-16

Similar Documents

Publication Publication Date Title
US11412017B2 (en) Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data
US11128898B2 (en) Method, device, and computer program for encapsulating scalable partitioned timed media data
JP7177902B2 (ja) タイムドメディアデータをカプセル化及びパージングするための方法、デバイス及びコンピュータプログラム
KR102037009B1 (ko) 동작 포인트 디스크립터가 동적으로 설정될 수 있는 캡슐화된 비트-스트림으로부터 미디어 데이터 및 메타데이터를 획득하는 방법, 디바이스, 및 컴퓨터 프로그램
EP3025505B1 (en) Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
KR101887799B1 (ko) Hevc 적층된 미디어 데이터를 캡슐화하기 위한 방법, 디바이스, 및 컴퓨터 프로그램
KR101748779B1 (ko) 분할된 시간 설정형 미디어 데이터를 캡슐화하는 방법, 디바이스 및 컴퓨터 프로그램
GB2522014A (en) Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data
GB2551296A (en) Method, device, and computer program for encapsulating partitioned timed media data
GB2535453A (en) Method, device, and computer program for encapsulating hevc layered media data

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right