KR101242472B1 - 트랙 및 트랙 서브세트의 그룹화를 위한 방법 및 장치 - Google Patents

트랙 및 트랙 서브세트의 그룹화를 위한 방법 및 장치 Download PDF

Info

Publication number
KR101242472B1
KR101242472B1 KR1020117003634A KR20117003634A KR101242472B1 KR 101242472 B1 KR101242472 B1 KR 101242472B1 KR 1020117003634 A KR1020117003634 A KR 1020117003634A KR 20117003634 A KR20117003634 A KR 20117003634A KR 101242472 B1 KR101242472 B1 KR 101242472B1
Authority
KR
South Korea
Prior art keywords
track
group
tracks
box
groups
Prior art date
Application number
KR1020117003634A
Other languages
English (en)
Other versions
KR20110033273A (ko
Inventor
미스카 한눅셀라
예-쿠이 왕
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20110033273A publication Critical patent/KR20110033273A/ko
Application granted granted Critical
Publication of KR101242472B1 publication Critical patent/KR101242472B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

복수의 트랙들 및/또는 트랙 서브세트들로 실-시간 멀티미디어 데이터를 저장하고 하나 이상의 다중-트랙 그룹들을 식별하는 것을 포함하는, 방법으로서, 각각의 다중-트랙 그룹은 상기 복수의 트랙들 및/또는 트랙 서브세트들 중 하나 이상의 트랙들 및/또는 트랙 서브세트들 간의 관계와 관련이 있는, 방법이 제공된다.

Description

트랙 및 트랙 서브세트의 그룹화를 위한 방법 및 장치{Method and apparatus for track and track subset grouping}
본 발명은 일반적으로 기술하면 실-시간 멀티미디어 데이터 분야에 관한 것이며, 좀더 구체적으로 기술하면 그러한 미디어 데이터의 편성에 관한 것이다.
본 식별항목에서는 본 명세서에 첨부된 청구범위에 기재된 발명에 대한 배경 또는 전후관계를 제공하려고 한 것이다. 본 식별항목에서의 설명은 실시가능한 개념들을 포함할 수 있지만, 반드시 기존에 착안 또는 실시되었던 개념들만은 아니다. 그러므로, 본 식별항목에서 설명되는 것이 기존에 착안 또는 실시되었던 개념들이라고 암시하지 않는 한은, 본 식별항목에서 설명되는 것이 본원의 상세한 설명 및 청구범위에 대한 선행기술이 아니며 또한 본 식별항목에 포함되어 있다고 해서 선행기술이라고 단정지어선 안된다.
SVC 파일 포맷과 같은, ISO 기본 미디어 파일 포맷 및 그의 수정들은 계층적으로 편성된 비트스트림 서브세트들의 특징들의 표시를 지원한다. 예를 들면, 스케일러블 비디오 코딩(scalable video coding; SVC) 비트스트림의 서브세트들의 특징들은 (스케일러블 층들과 본질적으로 유사한) 티어(tier)들 또는 (스케일러블 계층들에 대응되는) 전체 트랙(entire track)들에 대해 표시될 수 있다. 그러나, ISO 기본 미디어 파일 포맷에는 (어떠한 어니언-셀(onion-shell) 구조도 갖지 않는) 서로 다른 계층적 파티셔닝들 및 오버래핑 비트스트림 서브세트들을 표시하기 위한 지원이 미흡하다. 다중 뷰 비디오 코딩(multiview video coding; MVC)은 양자 모두의 표시 타입들을 필요로 하는 데, 그 이유는 출력을 위한 뷰들의 선택에 관한 유연성(flexibility)이 있어야 하기 때문이다.
트랙들이 트랙 참조들에 의해 서로 관련지어질 수도 있으며 트랙 또는 트랙 서브세트(예컨대, SVC의 티어)의 특징들이 표시될 수도 있지만, 트랙들 또는 트랙 서브세트들의 그룹의 특징들을 표시하기 위한 ISO 기본 미디어 파일 포맷 또는 이를 유도하는 것(derivative)들의 메커니즘이 존재하지 않는다. 그러한 특징들은 예를 들면 필요한 프로파일, 레벨, 및 복호기 버퍼링 매개변수들일 수 있다.
ISO 기본 미디어 파일 포맷에는 트랙들 또는 트랙 서브세트들의 한 그룹을 트랙들 또는 트랙 서브세트들의 다른 한 그룹과 연결시켜 주는 관계(공통적이면서 구별되는 인자(factor)들)를 나타내기 위한 메커니즘이 미흡하다.
본 발명은 트랙들 또는 트랙 서브세트들의 한 그룹을 트랙들 또는 트랙 서브세트들의 다른 한 그룹과 연결시켜 주는 관계(공통적이면서 구별되는 인자(factor)들)를 나타내기 위한 메커니즘을 제공하는 것이다.
본 발명의 한 실시태양에서는, 복수의 트랙들 및/또는 트랙 서브세트들로 실-시간 멀티미디어 데이터를 저장하고 하나 이상의 다중-트랙 그룹들을 식별하는 것을 포함하는, 방법으로서, 각각의 다중-트랙 그룹은 상기 복수의 트랙들 및/또는 트랙 서브세트들 중 하나 이상의 트랙들 및/또는 트랙 서브세트들 간의 관계와 관련이 있는, 방법이 제공된다.
한 실시예에서는, 상기 방법이 2개 이상의 다중-트랙 그룹 세트들 간에 적어도 하나의 관계를 식별하는 것을 더 포함한다.
한 실시예에서는, 하나 이상의 다중-트랙 그룹들을 식별하는 것이 적어도 하나의 트랙 서브세트에 기반하여 다중-트랙 그룹을 식별하는 것을 포함한다.
한 실시예에서는, 하나 이상의 다중-트랙 그룹들을 식별하는 것이 동일한 콘텐츠의 다중 뷰들을 그룹화하는 것을 포함한다.
한 실시예에서는, 하나 이상의 다중-트랙 그룹들을 식별하는 것이 다중-트랙 그룹 박스를 사용하여 트랙들 및/또는 트랙 서브세트들 간의 관계들을 나타내는 것을 포함한다.
한 실시예에서는, 상기 방법이 적어도 한 다중-트랙 그룹 세트를 형성하는 것을 더 포함하며, 상기 적어도 한 다중-트랙 그룹 세트는 상기 다중-트랙 그룹들의 하나 이상의 특징들과 관련된다.
한 실시예에서는, 적어도 한 다중-트랙 그룹 세트를 형성하는 것이 다중 뷰 미디어 렌더링, 코딩 또는 뷰 포인트 캡쳐링(capturing point of view)으로부터의 유사한 특징들에 기반하여 이루어진다.
한 실시예에서는, 적어도 한 다중-트랙 그룹 세트를 형성하는 것이 다중-트랙 그룹 관계 박스를 사용하여 다중-트랙 그룹들 간의 관계들을 나타내는 것을 포함한다. 다중-트랙 그룹들 간의 관계들을 나타내기 위해 하나 이상의 기준들이 사용될 수 있다. 한 기준은 상기 표시된 다중-트랙 그룹 중 단지 하나의 다중-트랙 그룹이 한번에 처리되어야 한다는 것을 표시할 수 있다.
본 발명의 다른 한 실시태양에 있어서는, 컴퓨터 프로그램이 컴퓨터-판독가능 매체상에 수록된다. 상기 컴퓨터 프로그램은, 복수의 트랙들 및/또는 트랙 서브세트들로 실-시간 멀티미디어 데이터를 저장하고 하나 이상의 다중-트랙 그룹들을 식별하는 것을 포함하는, 방법으로서, 각각의 다중-트랙 그룹은 상기 복수의 트랙들 및/또는 트랙 서브세트들 중 하나 이상의 트랙들 및/또는 트랙 서브세트들 간의 관계와 관련이 있는, 방법을 제공하도록 구성된다.
다른 한 실시태양에 있어서는, 본 발명이 실-시간 멀티미디어 데이터를 저장하기 위한 저장 유닛; 및 프로세서를 포함하는, 장치를 포함한다. 상기 프로세서는, 복수의 트랙들 및/또는 트랙 서브세트들로 실-시간 멀티미디어 데이터를 저장하고 하나 이상의 다중-트랙 그룹들을 식별하도록 구성되며, 각각의 다중-트랙 그룹은 상기 복수의 트랙들 및/또는 트랙 서브세트들 중 하나 이상의 트랙들 및/또는 트랙 서브세트들 간의 관계와 관련된다.
본 발명은, 예를 들면 각각의 다중-트랙 그룹이 하나 이상의 트랙들 및/또는 트랙 서브세트들 간의 관계에 적어도 부분적으로 기반하여 식별되게 함으로써, 트랙들 또는 트랙 서브세트들의 한 그룹을 트랙들 또는 트랙 서브세트들의 다른 한 그룹과 연결시켜 주는 관계(공통적이면서 구별되는 인자(factor)들)를 나타내기 위한 메커니즘을 제공한다.
이하의 구체적인 내용을 상세한 첨부 도면들과 연관지어 보면 본 발명의 여러 실시예들에 대한 이들 및 다른 이점들 및 특징들이, 본 발명의 여러 실시예들에 대한 특징들의 편성 및 동작 방식과 함께 자명해질 것이다.
본 발명의 전형적인 실시예들은 첨부 도면들을 참조하여 설명될 것이다.
도 1은 멀티미디어 파일 포맷 계층을 예시한 도면이다.
도 2는 ISO 기본 미디어 파일 포맷에 따른 전형적인 박스를 예시한 도면이다.
도 3a는 샘플 그룹화(sample grouping)를 예시하는 전형적인 박스를 예시한 도면이다.
도 3b는 샘플-그룹(SampleToGroup) 박스를 포함하는 무비 프래그먼트(movie fragment)가 수록된 전형적인 박스를 예시한 도면이다.
도 4는 전형적인 MVC 복호화 순서를 예시한 도면이다.
도 5는 다중-뷰 비디오 코딩을 위한 전형적인 MVC 예측 구조를 예시한 도면이다.
도 6은 시간의 함수로서 전형적인 오디오/비디오 레이트 공유 프로파일을 예시한 도면이다.
도 7은 이용가능한 비트레이트의 함수로서 전형적인 오디오 레이트 공유 프로파일을 예시한 도면이다.
도 8은 멀티미디어 데이터 편성을 개략적으로 예시한 도면이다.
도 9는 본 발명의 실시예들에 따른 멀티미디어 데이터 편성을 개략적으로 예시한 도면이다.
도 10은 본 발명의 실시예들에 따른 프로세스를 예시한 흐름도이다.
도 11은 본 발명의 실시예들에 따른, 2개의 다중-트랙 그룹들이 2개의 다중-트랙 그룹들 간의 하나의 스위치(switch) 관계를 갖는 전형적인 파일을 예시한 도면이다.
도 12는 본 발명의 실시예들에 따른 3개의 뷰들을 갖는 비디오 스트림에 대한 전형적인 포맷 구조를 예시한 도면이다.
도 13은 본 발명의 실시예들에 따른 트랙으로서 저장된 각각의 뷰를 갖는 전형적인 파일을 예시한 도면이다.
도 14는 본 발명의 실시예들에 따른 한 트랙으로서 저장된 모든 뷰들을 갖는 전형적인 파일을 예시한 도면이다.
도 15는 본 발명의 실시예들에 따른 서로 다른 개수의 뷰들을 지니는 트랙들을 갖는 전형적인 파일을 예시한 도면이다.
도 16은 본 발명의 실시예들에 따른 서로 다른 뷰 계층 브랜치들과 관련이 있는 SEI 메시지를 포함하는 전형적인 다중 뷰 비트스트림을 예시한 도면이다.
도 17은 본 발명의 여러 실시예들이 구현될 수 있는 시스템을 개략적으로 예시한 도면이다.
도 18은 본 발명의 여러 실시예들에 따라 채용될 수 있는 전형적인 전자 장치의 사시도를 예시한 도면이다.
도 19는 도 18의 전자 장치에 포함될 수 있는 회로를 개략적으로 보여준 도면이다.
도 20은 여러 실시예들이 구현될 수 있는 일반적인 멀티미디어 통신 시스템을 그래프 방식으로 보여준 도면이다.
이하의 내용에서는 제한할 목적이 아니라 설명할 목적을 위해, 본 발명의 완전한 이해를 도모하기 위한 구체적인 내용이 기재되어 있다. 그러나, 당업자라면 본 발명이 이러한 구체적인 내용으로부터 벗어나지 않은 다른 실시예들에서도 실시될 수 있음을 알 수 있을 것이다.
멀티미디어 콘테이너 파일 포맷은 멀티미디어 콘텐츠 생성, 조작, 전송 및 소비의 체인에 있어서 중요한 요소이다. (엘리멘터리 스트림 포맷(elementary stream format)으로서 공지되어 있는) 코딩 포맷 및 상기 콘테이너 파일 포맷 간에는 상당한 차이가 있다. 상기 코딩 포맷은 상기 콘텐츠 정보를 비트스트림으로서 코딩하는 특정 코딩 알고리즘의 동작에 관한 것이다. 상기 콘테이너 파일 포맷은, 모두가 다양한 저장 및 전달 아키텍쳐를 채용함으로써 하나의 파일로서 전달되거나 스트리밍되는 로컬 복호화 및 재생(playback)을 위해 액세스될 수 있도록 생성된 비트스트림을 편성하는 수단을 포함한다. 더군다나, 상기 파일 포맷은 하나의 파일로의 수신된 실-시간 스트림들의 레코딩뿐 아니라 미디어의 상호교환 및 편집을 용이하게 할 수 있다. 도 1에는 멀티미디어 파일 포맷 계층(200)이 예시되어 있다.
이용가능한 미디어 파일 포맷 표준들은 ISO 기본 미디어 파일 포맷(ISO/IEC 14496-12), MPEG-4 파일 포맷(MP4 포맷으로서 또한 공지된, ISO/IEC 14496-14), AVC 파일 포맷(ISO/IEC 14496-15) 및 3GPP 파일 포맷(3GP 포맷으로서 또한 공지된, 3GPP TS 26.244)을 포함한다. AVC 파일 포맷에 대한 최근 수정은 스케일러블 비디오 코딩(Scalable Video Coding; SVC)에 대한 파일 포맷을 규정하였다. 동영상 전문가 그룹(Moving Picture Experts Group; MPEG)에서 현재 진행되고 있는 연구는 AVC 파일 포맷에 대한 수정으로서 다중 뷰 비디오 코딩(Multiview Video Coding; MVC)에 대한 파일 포맷을 규정하는 것이다. MPEG는 또한, ISO 기본 미디어 파일 포맷의 2005 버전의 수정 2의 일부가 된, FLUTE(IETF RFC 3926) 및 ALC(IETF RFC 3450) 세션들에 대한 힌트 트랙 포맷을 규정하였다. 상기 ISO 기본 미디어 파일 포맷의 2005 버전은, 상기 ISO 기본 미디어 파일 포맷의 2005의 모든 수정 및 정오표를 포함해서, ISO 기본 미디어 파일 포맷의 2008 버전 또는 ISO 기본 미디어 파일 포맷의 에디션 3으로서 언급되는, ISO 기본 미디어 포맷의 새로운 에디션(에디션 3)으로서 최근에 출시되었다. ISO 기본 미디어 파일 포맷으로부터 획득되는 다른 포맷은 DVB 블루북 A121로서 최근에 출시된 DVB 파일 포맷이다. DVB 파일 포맷을 정의하는 주된 목적은 현재 (DVT-T, DVB-C, DVB-S) 및 미래 DVB 표준들에 따른 셋-톱 박스들, IP(Internet Protocol) 텔레비전 수신기들, 및 DVB-H 및 그의 미래 진화들에 따른 이동 텔레비전 수신기들과 같은 DVB 기법들의 구현들 간의 콘텐츠 상호운영성(content interoperability)을 완화시키는 것이다. 상기 DVB 파일 포맷은 단말기 측에서의 모든 DVB 콘텐츠의 저장을 용이하게 한다. DVB 파일 포맷은 DVB 적용 장치들 간의 상호운영성을 보장하도록 상호교환 포맷으로서 의도된 것이다. 이는 반드시 DVB 적용 장치들에 대한 내부 저장 포맷으로서 의도될 필요가 없다. 상기 파일 포맷은 다른 DVB 브로드캐스트 사양들에 의해 사용되고 있는 임의의 미디어 및 데이터 타입을 처리할 수 있어야 한다. 상기 DVB 파일 포맷은 서로 다른 제조업자들로부터의 장치들 간의 레코딩된 미디어의 교환, USB 대용량 메모리들 또는 유사한 판독/기록 장치들을 이용한 콘텐츠의 교환, 및 홈 네트워크과 아울러 다른 여러 기능성에 관한 공통 디스크 저장에 대한 공유 액세스를 허용해 준다.
ISO 파일 포맷은 (ISO 파일 포맷 자체를 배제한) 위에서 언급된 파일 포맷들 모두의 획득을 위한 기준이다. (ISO 파일 포맷 자체를 포함한) 이러한 파일 포맷들은 ISO 파일 포맷 패밀리로 불리워진다.
도 2는 ISO 기본 미디어 파일 포맷에 따른 파일 구조(220)를 간단하게 보여준 도면이다. ISO 기본 미디어 파일 포맷에 있어서의 기본 빌딩 블록은 박스(box)로 불리워진다. 각각의 박스는 헤더 및 페이로드를 지닌다. 상기 박스 헤더는 박스의 타입 및 바이트 단위의 박스의 사이즈를 표시한다. 박스는 다른 박스들을 에워쌀 수 있으며, ISO 파일 포맷은 특정 타입의 박스 내에서 어떤 박스 타입들이 허용되는지를 규정한다. 더군다나, 일부 박스들은 각각의 파일에 필수적으로 존재하지만, 다른 박스들은 선택적이다. 더욱이, 일부 박스 타입들의 경우에는, 하나의 파일에 두개 이상의 박스가 존재하는 것이 허용된다. ISO 기본 미디어 파일 포맷은 박스들의 계층적 구조을 규정하는 것으로 추정될 수 있다.
ISO 파일 포맷 패밀리에 의하면, 하나의 파일은 개별 박스들, 즉 미디어 데이터(mdat) 박스 및 무비(moov) 박스에 각각 에워싸인 미디어 데이터 및 메타데이터로 이루어진다. 파일이 동작가능하게 하기 위해, 이들 박스 모두가 존재해야 한다. 상기 무비 박스에는 하나 이상의 트랙들이 수록될 수 있으며, 각각의 트랙은 하나의 트랙 박스에 상주한다. 트랙은, 미디어, 힌트, 시간조절된(타이밍된; timed) 메타데이터와 같은 타입들 중 하나의 타입일 수 있다. 미디어 트랙은, 미디어 압축 포맷(및 그의 ISO 기본 미디어 파일 포맷에 대한 캡슐화)에 따라 포맷된 샘플들을 언급한다. 힌트 트랙은 표시된 통신 프로토콜을 통한 전송을 위한 패킷들을 구축하기 위한 쿡북(cookbook) 명령어들이 수록된 힌트 샘플들을 언급한다. 상기 쿡북 명령어들에는 패킷 헤더 구축을 위한 지침(guidance)이 수록될 수 있으며 패킷 페이로드 구축을 위한 지침이 포함될 수 있다. 상기 패킷 페이로드 구축에 있어서, 다른 트랙들 또는 아이템들에 상주하는 데이터는 참조될 수 있는데, 다시 말하면, 다른 트랙들 또는 아이템들에 상주하는 데이터는 특정 트랙 또는 아이템 내의 데이터 중 어느 부분의 데이터가 패킷 구축 프로세스 동안 한 패킷 내에 카피되도록 명령을 받는 참조로 표시된다. 티이밍된(시간조절된) 메타데이터는 언급된 미디어 및/또는 힌트 샘플들을 기술(description)하는 샘플들을 언급한다. 프레젠테이션(presentation)을 위해, 한 미디어 타입, 전형적으로는 한 미디어 트랙이 선택된다. 한 트랙의 샘플들은 표시된 샘플들의 복호화 순서로 1만큼 증분된 샘플 개수들과 암시적으로 관련된다.
여기서 유념할 점은 ISO 기본 미디이 파일 포맷이 하나의 파일 내에 수록될 프레젠테이션을 한정하지 않고, ISO 기본 미디어 파일 포맷이 여러 파일들에 수록될 수 있다는 점이다. 하나의 파일에는 전체 프레젠테이션을 위한 메타데이터가 수록되어 있다. 이러한 파일에는 또한 모든 미디어 파일이 포함될 수 있기 때문에, 그 프레젠테이션은 독립적(self-contained)이다. 다른 파일들이 사용된다면, 상기 다른 파일들은 ISO 기본 미디어 파일 포맷으로 포맷될 필요가 없으며, 미디어 데이터를 수록하는데 사용되고, 또한 사용되지 않는 미디어 데이터, 또는 다른 정보를 수록할 수도 있다. ISO 기본 미디어 파일 포맷은 단지 프레젠테이션 파일의 구조에 관한 것이다. 상기 미디어-데이터 파일들의 포맷은 ISO 기본 미디어 파일 포맷 또는 이를 유도하는 포맷들만에 한정되는데, 그 이유는 상기 미디어 파일들 내의 미디어-데이터가 ISO 기본 미디어 파일 포맷 또는 이를 유도하는 포맷들에서 규정된 바와 같이 포맷되어야 하기 때문이다.
무비 프래그먼트들은 레코딩 애플리케이션이 크래시(crash)하거나, 디스크 공간이 부족하거나, 또는 다른 어떤 돌발상황이 생기는 경우에 데이터 손실을 회피하기 위해 ISO 파일들에 콘텐츠를 레코딩할 때 사용될 수 있다. 무비 프래그먼트들 없이도, 데이터 손실이 생길 수 있는데, 그 이유는 모든 메타데이터(무비 박스)가 상기 파일의 하나의 인접 영역에 기록되게끔 상기 파일 포맷이 강요하기 때문이다.
더군다나, 하나의 파일을 레코딩할 때 이용가능한 저장 크기에 대해 무비 박스를 버퍼링할 정도로 충분한 용량의 랜덤 액세스 메모리(Random Access Memory; RAM)이 존재하지 않을 수 있으며 무비가 닫히게 될 때 무비 박스의 콘텐츠의 재-계산이 하는 것이 매우 느리다.
더욱이, 무비 프래그먼트들은 정규적인 ISO 파일 파서를 통한 파일의 동시적인 레코딩 및 재생을 허용할 수 있다. 마지막으로, 순차 다운로딩(progressive downloading), 다시 말하면 무비 프래그먼트들이 사용되고 초기 무비 박스가 동일한 미디어 콘텐츠를 갖지만 무비 프래그먼트들 없이 구성된 파일에 비해 작을 때 파일의 동시적인 수신 및 재생을 위해서는 보다 적은 초기 버퍼링 지속시간이 필요하다.
상기 무비 프래그먼트 특징은, 각각의 부분이 한 트랙에 대해 특정 시간주기에 대응되는 다수의 부분들로, moove 박스에 종래방식으로 상주하는 메타데이터를, 분할할 수 있게 해준다. 바꾸어 말하면, 상기 무비 프래그먼트 특징은 파일 메타데이터 및 미디어 데이터를 인터리브(interleave)할 수 있게 해준다. 결과적으로, moove 박스의 크기는 한정될 수 있으며 위에서 언급된 용도들이 실현된다.
상기 무비 프래그먼트들에 대한 미디어 샘플들은, 대개 상기 무비 프래그먼트들에 대한 미디어 샘플들이 moove 박스와 동일한 파일에 있는 경우에 mdat 박스에 상주한다. 그러나, 무비 프래그먼트들의 메타 데이터의 경우에, moof 박스가 제공된다. moof 박스는, 이전에 상기 moove 박스에 있었던 특정의 재생 시간의 기간 에 대한 정보를 포함한다. 상기 moove 박스는 자기 자신에 관한 유효한 무비를 여전히 표현하고 있지만, 상기 mooove 박스는 추가로 동일 파일 내에서 무비 프래그먼트들이 따라오게 하는 것을 표시하는 mvex 박스를 포함한다. 상기 무비 프래그먼트들은 제 시간에 상기 moove 박스에 관련되는 프레젠테이션을 확장시킨다.
상기 moof 박스에 포함될 수 있는 메타데이터는 moove 박스에 포함될 수 있으며 몇몇 경우에서는 서로 다르게 코딩되는 메타데이터의 서브세트에 한정된다. moof 박스에 포함될 수 있는 박스들의 세부적인 사항들은 ISO 기본 미디어 파일 포맷 사양서에 찾아 볼 수 있다.
지금부터 도 3a 및 도 3b를 참조하면, 박스들에서의 샘플 그룹화의 사용이 예시되어 있다. AVC 파일 포맷 및 SVC 파일 포맷과 같은 ISO 기본 미디어 파일 포맷 및 이를 유도하는 것들에서의 샘플 그룹화는 그룹화 기준에 기반하여, 하나의 샘플 그룹의 개수이도록 한 트랙 내에 각각의 샘플을 할당하는 것이다. 한 샘플 그룹화에서의 샘플 그룹은 인접 샘플들인 것으로 한정하는 것이 아니며 인접하지 않은 샘플들을 포함할 수 있다. 하나의 트랙 내의 샘플들에 대해 둘 이상의 샘플 그룹화가 존재할 수 있기 때문에, 각각의 샘프 그룹화는 그룹화 타입을 표시하기 위한 타입 필드를 지닌다. 샘플 그룹화들은 2가지의 연계 데이터 구조들, 즉 (1) 샘플-그룹(SampleToGroup) 박스(sbgp 박스)가 샘플 그룹들에 대한 샘플들의 할당을 표시함; 및 (2) 샘플-그룹 기술(SampleGroupDescription) 박스(sgpd 박스)에는 그룹의 속성들을 기술하는 각각의 샘플 그룹에 대한 샘플 그룹 엔트리가 수록됨;로 표현된다. 서로 다른 그룹화 기준에 기반한 샘플-그룹 및 샘플그룹 기술 박스들의 예는 다수 존재할 수 있다. 이들은 그룹화의 타입을 표시하는데 사용되는 타입 필드로 구별된다.
도 3a는 샘플 그룹 박스들에 대한 네스팅(nesting) 구조를 표시하는 박스 계층을 간략하게 제공한 도면이다. 샘플 그룹 박스들(SampleGroupDescription 박스 및 SampleToGroup 박스)은, 하나의 무비(moove) 박스에 내재하는 미디어 정보(minf), 미디어(mdia), 및 트랙(trak) 박스들에 에워싸인, 샘플 테이블(stbl) 박스 내에 상주한다.
SampleToGroup 박스는 무비 프래그먼트 내에 상주하도록 허용된다. 그러므로, 샘플 그룹화는 한 프래그먼트씩 수행될 수 있다. 도 3b는 SampleToGroup 박스를 포함하는 무비 프래그먼트가 수록된 파일의 예를 예시한 도면이다.
ISO 기본 미디어 파일 포맷은 2가지 타입의 편집 동작, 즉 편집 리스트 박스들을 통한 재생-시간(playback-time) 수정들 및 파일 미디어 재작성(reauthoring)과 같은 편집 동작들을 지원한다. 편집 리스트 박스들은 어떠한 방식으로 미디어 구성 시간축(media composition timeline)이 재생 시간축으로 변환되는지를 규정하고, 상기 미디어 구성 시간축을 섹션(section)들로 분할하는 것과 그러한 색션들을 상기 재생 시간축의 시간 슬라이스(time slice)들에 매핑시키는 것을 가능하게 한다. 그러므로, 편집 리스트 박스들은 재생으로부터 미디어 샘플들을 생략하는 것과, 재생시 미디어 섹션들의 순서를 변경하는 것과, 미디어 섹션들의 재생 레이트를 변경하는 것을 가능하게 한다. 그러나, 편집 리스트 박스들은 모든 플레이어(player)들에 의해 지원되지 않는데, 그 이유는 예를 들면 편집 리스트 박스들에 의해 제공되는 특징들의 유연성이 플레이어 구현들에 대한 시도(challenge)들을 초래시키기 때문이다. 더군다나, 편집 리스트 박스들의 사용은 플레이된 미디어 샘플들용으로 사용되는 저장 공간 또는 비어져 있는 moove 박스 및 moof 박스들 내에 플레이되지 않은 미디어 샘플들의 기술(description)을 허용하지 않는다. 따라서, 대부분의 파일 편집자들은 일반적으로 편집 리스트 박스들을 사용하지 않고, 오히려 파일 메타데이터의 재작성을 통해 파일들을 수정한다.
ISO 기본 미디어 파일 포맷으로 획득된 파일에 수록된 멀티미디어 프레젠테이션이 미디어 데이터를 추가 또는 제거함으로써 변경되는 경우에, 파일 메타데이터는 재작성되어야 한다. 나중에 멀티미디어 파일을 제거 또는 추가할 수 있기 때문에 파일 메타데이터가 완전히 재작성되지 않아도 되는 방식으로 여러 번 파일들이 작성될 수 있다. 예를 들면, 완전한 트랙에 대해 미디어 샘플들이 수록된 청크(chunk)가 단지 몇몇개 밖에 없는 경우에 상기 완전한 트랙이 직접적인 방식으로 삭제될 수 있다.
다중 뷰 비디오 코딩(multiview video coding)에서는, 각각의 비디오 시퀀스가 서로 다른 뷰들에 대응되는, 서로 다른 카메라들로부터 출력뢴 비디오 시퀀스들은 하나의 비트-스트림으로 부호화된다. 특정 뷰를 디스플레이하기 위해, 복호화한 후에, 그러한 뷰에 속하는 복호화된 픽쳐(picture)들이 재구성 및 디스플레이된다. 또한 두개 이상의 뷰가 재구성 및 디스플레이되는 것도 가능하다. 다중-뷰 비디오 코딩은 자유-뷰포인트 비디오/텔레비전, 3D TV 및 감시 장비(surveillance)를 포함하는, 매우 다양한 애플리케이션들에 사용된다. 현재, ISO/IEC 동영상 전문가 그룹(Moving Picture Experts Group; MPEG) 및 ITU-T 비디오 코딩 전문가 그릅(Video Coding Experts Group)의 조인트 비디오 팀(Joint Video Team; JVT)은 H.264/AVC의 확장성으로 되고 있는 MVC 표준을 개발하도록 연구중에 있다. 이후로는 이러한 2개의 표준(안)이 각각 MVC 및 AVC로 언급될 것이다. 최신의 MVC 조인트 초안은, http://ftp3.itu.ch/av-arch/jvt-site/2008_04_Geneva/JVT-AA209.zip으로부터 입수가능한, JVT-AA209, "Joint Draft 7.0 on Multiview Video Coding", 27th JVT meeting, Geneva, Switzerland, Apr. 2008에 기술되어 있다.
다중 뷰 비디오 스트림은 얼마나 많은 뷰들 그리고 어느 뷰들이 디스플레이하기 위해 필요한 지에 따라 여러 방식으로 복호화될 수 있다. 특정 세트의 N개의 뷰들은 주어진 시간 범위에서 특정 특징들을 갖는 N-뷰 오토스테레오코스픽(Auto-stereoscopic) 디스플레이를 통한 출력을 위해 가장 바람직할 수 있고, 다른 세트의 N개의 뷰들은 다른 시간 범위에서 다른 세트의 특징들을 갖는 N-뷰 오토스테레오코스픽 디스플레이용으로 가장 바람직할 수 있다. 또한, 사용자에 의해 선택될 수 있거나 사용자에 의해 내비게이팅될 수 있는 다수의 바람직한 세트의 N개의 뷰들이 존재하는 것이 일반적이다. N의 값은 1에서부터 비트스트림의 총 뷰들의 개수에 이르기까지 변할 수 있으며 디스플레이의 특징들에 따라 복호화/재생 시간에 선택되어야 한다. 여기서 유념할 점은 출력을 위한 바람직한 세트의 N개의 뷰들이 뷰 간의 의존성 때문에 N개 보다 많은 뷰들의 복호화를 필요로 할 수 있다는 점이다.
지금부터 도 4를 참조하면, 전형적인 MVC 복호화 순서(즉, 비트스트림 순서)가 예시되어 있다. 복호화 순서 배열은 시간-우선 코딩(time-first coding)으로서 언급된다. 각각의 액세스 유닛은 하나의 출력 시간 인스턴스에 대해 모든 뷰들의 코딩된 픽처들을 포함하도록 정의된다. 여기서 유념해야 할 점은 액세스 유닛들의 복호화 순서가 출력 또는 디스플레이 순서와 동일하지 않을 수 있다는 점이다.
지금부터 도 5를 참조하면, 다중-뷰 비디오 코딩에 대한 (각각의 뷰 내에서의 픽처 간 예측 및 뷰 간의 예측 모두를 포함하는) 전형적인 MVC 예측 구조가 예시되어 있다. 예시된 구조에서는, 예측들이 예측 참조를 위한 객체에서부터 포인트(point)를 사용하는 객체를 가리키도록 화살표들로 표시되어 있다.
MVC에서, 뷰 간의 예측은 단지 텍스처 예측(texture prediction)에 의해서만 지원되고(즉, 단지 재구성된 샘플 값들이 뷰 간의 예측용으로 사용될 수 있고), 현재 픽처와 동일한 출력 시간 인스턴스의 재구성된 픽처들만이 뷰 간의 예측용으로 사용된다. 재구성된 샘플 값들이 뷰 간의 예측에 사용된다는 사실은 또한 MVC가 다중-루프 복호화를 채용한다는 것을 의미한다. 바꾸어 말하면, 움직임 보상 및 복호화된 픽처 재구성은 각각의 뷰에 대해 수행된다.
H.264/AVC, SVC 및 MVC 비트스트림들에는, 바이트스트림 포맷의 복호화 순서로나 외부적으로 프레임되는 복호화 순서로 네트워크 추상화 계층(Network Abstraction Layer; NAL) 유닛들이 포함되어 있다. NAL 유닛들은 헤더 및 페이로드로 이루어져 있다. 상기 NAL 유닛 헤더는 NAL 유닛의 타입을 나타내며 NAL 유닛에 포함된 코딩된 슬라이스가 참조 픽처의 일부인지 또는 비-참조 픽처의 일부인지를 나타낸다. NAL 유닛 헤더의 첫번째 바이트 다음에는, NAL 유닛 헤더 확장자(3 바이트)가 이어지게 된다. NAL 유닛 헤더 확장자는 MVC의 콘텍스트에서 NAL 유닛의 속성들을 기술하는 신택스 요소들을 포함한다.
부가 강화 정보(Supplemental Enhancement Information; SEI) 메시지들은 H.264/AVC, SVC, 및 MVC 비트스트림들에 포함될 수 있는 신택스 구조들이다. SEI 메시지들은 출력 픽처들 내의 샘플 값들의 복호화를 위해 필요하지 않지만 픽처 출력 타이밍, 렌더링, 오류 검출, 오류 은닉, 및 자원 예약과 같은 관련 프로세스들에 도움을 준다. 다수의 SEI 메시지들은 H.264/AVC, SVC 및 MVC에 규정되어 있다. 사용자 데이터 SEI 메시지들은 조직들 및 회사들로 하여금 자체적인 용도로 SEI 메시지들을 규정할 수 있게 한다. H.264/AVC, SVC 및 MVC 표준들은 규정된 SEI 메시지들에 대한 신택스 및 시맨틱스를 포함하지만, 복호기에서 상기 메시지들을 처리하기 위한 어떠한 프로세스도 정의되어 있지 않다. 따라서, 부호기들은 자신들이 SEI 메시지들을 생성할 때 관련 표준에 따를 필요가 있으며, 관련 표준들에 따르는 복호기들은 출력 순서 순응을 위해 SEI 메시지들을 처리할 필요가 없다. SEI NAL 유닛은 하나 이상의 SEI 메시지들을 포함한다. MVC 스케일러블 네스팅 SEI 메시지는 하나 이상의 일반 H.264/AVC SEI 메시지들을 포함하며 상기 메시지가 관련되어 있는 뷰들을 나타낸다. 따라서, MVC 스케일러블 네스팅 SEI 메시지는 기본 뷰와는 다른 뷰들에 대한 H.264/AVC SEI 메시지들의 신텍스의 재사용을 가능하게 한다.
다중 뷰 비디오 획득 시스템의 정보는 렌더링 시스템 상에서 3-차원 경험을 정확하게 재구성하는데 필요하다. 다중 뷰 비디오 획득 시스템에 대한 매개변수들은 진성 및 외인성 매개변수들로 카테고리화될 수 있다. 진성 매개변수들은 다중 뷰 획득 시스템의 다른 카메라들과는 별개로 개별 유닛으로서 단일 카메라의 특징들을 나타낸다. 여기서 유념할 점은 진성 매개변수들이 광학(특히, 렌즈) 및 이미지 센서와 같은 카메라 프로세싱 체인 중 어느 한 부분으로부터의 특징들을 포함할 수 있다는 점이다. 전형적인 진성 카메라 매개변수들은 광학 및 사진 과학에서 잘 알려진) 초점 거리, 주점(principal point), 및 방사 왜곡(radial distortion)의 표시를 포함하지만, 이들에 국한되지 않는다. 외인성 매개변수들은 외부 환경에 관련된 단일 카메라의 특징들을 나타낸다. 전형적인 외인성 카메라 매개변수들은 환경 좌표들(x,y,z)에서의 상대적인 카메라 위치 및 3개 모두의 축들에 대해 카메라의 회전(즉, 피치(pitch), 롤(roll), 요우(yaw)/틸트(tilt))을 포함하지만,이들에 국한되지 않는다. 외인성 카메라 매개변수들은 좌표계의 좌표 원점과 같은 선택된 참조들에 대한 것이다. MVC 표준안의 다중 뷰 획득 정보 SEI 메시지는 다중 뷰 비디오 획득 정보에 대한 포맷의 일례이다.
MPEG에서 진행되고 있는 연구는 AVC 파일 포맷에 대한 수정으로서 다중 뷰 비디오 코딩(multiview video coding; MVC)에 대한 파일 포맷을 규정하는 것이다. SVC 파일에 포함된 여러 구조들이 MVC 파일 포맷에 또한 채용될 가능성이 있다. MVC 파일 포맷에 채용될 가능성이 있는 이러한 SVC 파일 포맷 구조들 중 일부는 이하의 식별항목들에서 설명되어 있다.
수집자(aggregator)들은 동일한 샘플에 속하는 NAL 유닛들을 그룹화하는데 사용된다. 수집자들은, NAL 유닛 타입의 값이 서로 다른, SVC VCL NAL 유닛들 또는 MVC VCL NAL 유닛들과 동일한 NAL 유닛 헤더를 사용한다. 수집자들은 NAL 유닛들의 효율적인 그룹화를 허용하는 파일 포맷 내부 구조들이다. 수집자들은 샘플 구조의 문맥에서 NAL 유닛들로 보인다. 샘플에 액세스하는 동안(즉, 파일로부터 하나의 샘플을 획득하여 이를 복호기에 전달하는 동안), 수집자들은 (자신들에 수록되어 있거나 참조되어 있는 NAL 유닛들을 남겨둔 채로) 제거되어야 한다. 수집자들은 파일 포맷 외의 스트림 내에 존재하고 있어야 할 필요가 없다. 수집자들은, 포함 수단으로, 수집자들의 범위 내에서(수집자들의 길이로 표시되는 크기의 범위 내에서) NAL 유닛들을 수집할 수 있고 또한, 참조 수단으로, 수집자들의 범위 내에서(수집자들의 범위 내에 추가_바이트들로 표시되는 영역(area)의 범위 내에서) 수집자들 다음에 이어지는 NAL 유닛들을 수집할 수 있다. 그러한 스트림이 AVC 파일 판독기에 의해 스캐닝될 경우에, 단지 포함된 NAL 유닛들만이 수집자 "내에" 존재하는 것으로 보이는데, 이는 예를 들면 AVC 파일 판독기가 불필요한 SVC VCL NAL 유닛들 또는 MVC VCL NAL 유닛들의 전체 집합을 스킵하는 것을 허용한다. 마찬가지로, AVC NAL 유닛들이 참조 수단으로 수집될 경우에, AVC 판독기는 AVC NAL 유닛들을 스킵하지 않음으로써 AVC NAL 유닛들은 그 AVC 판독기를 위해 스트림 내에 남게 된다. 스트림을 스캐닝할 때, a) 수집자가 (예컨대 AVC 판독기 또는 복호기에 의해) 인식되지 않을 경우에 수집자는 자신에 포함된 콘텐츠와 함께 용이하게 폐기되며, b) 수집자가 필요하지 않을 경우에(즉, 수집자가 원하지 않은 층 또는 뷰에 속하는 경우에) 포함 수단으로 그리고 참조 수단으로의 수집자 및 수집자의 콘텐츠 모두가 수집자의 길이 및 추가_바이트들 필드들을 사용하여) 폐기되고, 그리고 c) 수집자가 필요할 경우에, 수집자의 헤더는 용이하게 폐기되고 수집자의 콘텐츠는 보유된다. 수집자는 기타의 NAL 유닛과 같은 샘플 내에 저장된다. 모든 NAL 유닛들은 수집자 내에서 복호화 순서로 남게 된다.
이하의 샘플 그룹들은 SVC 또는 MVC 스트림의 구조를 문서화하고 스트림의 서브세트의 정보 획득 및 그러한 서브세트들 중 어느 한 서브세트의 추출을 용이하게 하기 위해 SVC 또는 MVC 트랙 내에서 사용된다. 샘플 그룹 기술(sample group description)에서 이루어질 수 있는, 이하에서 정의되는 다수의 박스들, 즉 SVC 스트립을 위한 스케일러블 그룹 엔트리 및 MVC 스트림을 위한 다중 뷰 그룹 엔트리가 있다. 각각의 스케일러블 그룹 엔트리 또는 다중 뷰 그룹 엔트리는 SVC 스트림 또는 MVC 스트림의 서브세트를 각각 문서화한다. 서브세트들 각각은 티어(tier)와 관련되며 하나 이상의 동작점을 포함할 수 있다. 한 동작점은 비트스트림의 서브세트이다. MVC 스트림을 위한 동작점은 특정의 시간 분해능(temporal resolution)에서의 특정 세트의 뷰들을 나타낸다. MVC 문맥에서는, 티어가 특정 세트의 뷰들의 특정 세트의 시간 서브세트를 나타낸다. 'scif' 또는 'mvif'의 그룹화 타입은 스케일러블 그룹 엔티티들 또는 다중 뷰 그룹 엔티티들을 각각 정의하는데 사용된다. 각각의 티어의 경우에는, 그룹화 타입 'scif' 또는 'mvif'의 샘플-그룹 기술(SampleGroupDescription) 박스 내에 2개 이상의 스케일러블 그룹 엔티티 또는 다중 뷰 그룹 엔티티가 존재할 수 있다. 이러한 엔티티들 중 단지 하나만이 티어의 주된 정의이다.
비록 스케일러블 및 다중 뷰 그룹 엔티티들이 샘플-그룹 기술 박스 내에 수록되어 있더라도, 각각의 샘플이 2개 이상의 티어와 관련될 수 있으므로 그룹화는 진정한 샘플이 아닌데, 그 이유는 이러한 그룹들이 샘플들의 섹션들-NAL 유닛들을 기술하는데 사용되기 때문이다. 그 결과로, 하나의 그룹이 실제로 전제 샘플을 기술하는 경우가 생기지 않는 한은 그룹화 타입 'scif' 또는 'mvif'의 그룹화 타입의 샘플-그룹 박스가 존재하지 않을 수 있는 경우가 존재할 수 있다. 비록 그룹화 타입 'scif' 또는 'mvif'의 샘플-그룹 박스가 존재한다 하더라도, 티어들의 NAL 유닛들의 추출을 위한 정보가 필요하지 않고, 그 대신에 맵 그룹들은 샘플들 내의 NAL 유닛들의 '패턴(pattern)'을 문서화하여 NAL 유닛들의 추출을 위해 필요할 수 있는 NAL-유닛-티어 매핑 정보를 제공해야 한다.
티어 정보(Tier Information) 박스, 티어 비트 레이트(Tier Bit Rate) 박스, SVC 우선순위 범위(Priority Range) 박스, 개시 매개변수 세트(Initial Parameter Set) 박스, 버퍼링(Buffering) 박스, 티어 종속성(Tier Dependency) 박스는 SVC 파일 포맷의 경우와 마찬가지로 MVC 파일 포맷용으로 규정된다. 특히, 그들은 다중 뷰 그룹 엔티티들 내에 포함될 수 있다. 각각의 스케일러블 또는 다중 뷰 그룹 엔티티는 그룹 ID 및 티어 ID와 관련된다. 티어 ID 엔티티들은 티어 ID에 의해 시그널링되는 티어 ID 엔티티들의 종속성에 의해 순서화된다. 티어 ID의 큰 값은 상위 티어를 나타낸다. 값 0은 최하위 티어를 나타낸다.
티어의 복호화는 어느 상위 티어에도 의존하지 않고 하위 티어에 의존할 수 있다. 그러므로, 최하위 티어는 독립적으로 복호화될 수 있고, 티어 1의 복호화는 티어 0에 의존할 수 있고, 티어 2의 복호화는 티어들 0 및 1에 의존할 수 있으며, 이하 마찬가지로 티어의 복호화가 티어들에 의존할 수 있다. 하나의 티어는 비디어 스트림 내의 하나 이상의 층들로부터의 데이터를 포함할 수 있다.
각각의 티어에 대해 정확히 하나의 주된 정의가 존재하게 된다. 각각의 스케일러브 그룹 엔티티 또는 다중 뷰 그룹 엔티티의 경우에, 필드 primary_Group ID가 필드 그룹 ID와 동일할 때, 그 그룹은 이러한 티어의 주된 정의이며, 이하의 것이 적용된다. TierInfoID 및 SVCPriorityRange 박스가 존재하게 된다. 특정 티어의 경우에, 선택적인 박스들 중 어떠한 박스도 존재하지 않는다면, 그러한 티어에 대한 정보가 정의되지 않는다(티어 정보의 계층이 존재하지 않는다). 특정 티어의 경우에 어떠한 TierDependency 박스도 존재하지 않는다면, 이러한 티어는 하위 티어 ID를 갖는 모든 티어들에 의존할 수 있다. InitialParameterSet 박스가 존재한다면, 이러한 티어 및 이러한 티어가 의존하는 모든 하위 티어들을 복호화하기 위해 필요한 매개변수 세트들은 이러한 박스로 표시된다. 이러한 박스가 존재하지 않는다면, SVCDecoderConfigurationRecord 또는 MVCDecoderConfigurationRecord에 주어지는 모든 매개변수들이 필요하다. 매개변수 세트 스트림들이 사용된다면, 개시 매개변수 세트(InitialParameterSet) 박스가 존재하게 된다. 티어 ID들의 값들은 인접해 있을 필요가 없다. 그 외에도, 각각의 스케일러블 그룹 엔티티의 경우에, 필드 primary_group ID가 필드 group ID와 동일할 경우에, SVCDependencyRangeBox가 존재하게 된다. 그 외에도, 각각의 다중 뷰 그룹 엔트리의 경우에, 필드 primary_group ID가 필드 그룹 ID와 동일할 때, 뷰 식별자(ViewIdentifer) 박스가 존재하게 된다.
각각의 규정된 티어 ID의 경우에, 이와 관련이 있는 적어도 하나의 NAL 유닛이 존재하게 된다. 바꾸어 말하면, 그러한 트랙에서 사용되지 않는 티어들을 규정하는 것이 허용되지 않는다. 엘리멘터리 스트림 내의 각각의 NAL 유닛은 다음과 같은 티어 ID 값과 관련된다. 먼저, 각각의 샘플은 차후에 규정되는 바와 같은 타입 "scnm"의 샘플 그룹화를 통해 그룹 ID 값들의 맵과 관련된다. 그러므로, "scnm" 샘플 그룹화는 각각의 샘플 내에서의 NAL 유닛들 및 그룹 ID값 간의 관련성을 나타낸다. 그룹 ID의 값들은 이때 타입 "scif" 또는 "mvif"의 샘플 그룹 기술 박스를 사용하여 티어 ID의 값들과 관련될 수 있다. 특정 tier ID 값과 관련이 있는 NAL 유닛들은 적합한 복호화 동작을 위한 모든 작은 티어 ID와 관련이 있는 모든 또는 일부의 NAL 유닛들을 필요로 할 수 있지만, 보다 큰 티어 값과 관련이 있는 NAL 유닛이 결코 필요로 하지 않는다(즉, 의존성은 하위 티어들의 방향에서만 존재하게 된다.) 서버 또는 플레이어는 "scif" 또는 "mvif"의 샘플 그룹 기술 박스의 엔트리들(예컨대, 프레임 레이트 등등) 내에 존재하는 기술 필드들의 값들에 기반하여 적합한 복호화 동작에 필요한 서브세트의 티어 ID 값들을 선택할 수 있다. 다중 뷰 그룹 엔트리는 다음과 같이 정의된다.
Figure 112011011218920-pct00001
다중 뷰 그룹 엔트리의 신택스는 다음과 같다.
Figure 112011011218920-pct00002
다중 뷰 그룹 엔트리의 시맨틱스는 다음과 같다.
그룹 ID는 그룹 엔트리의 식별자를 제공한다. 그룹 ID들은 임의의 값들이지만 고유한 것이다.
primary_group ID는 이러한 티어의 주된 정의를 포함하는 그룹을 규정한다. 이러한 값이 그룹 ID의 값과 동일하다면, 이러한 그룹은 이러한 티어의 주된 정의이다. "1"로 세트될 때 is_t1_switching_point는, 이러한 그룹의 멤버들의 경우에, ISO/IEC 14496-10 Annex H에서 규정된 바와 같은 temporal_id의 최상위 값을 지니는 것들이 시간 층 스위칭 점들임을 나타낸다. 이러한 그룹의 멤버들의 temporal_id의 최상위 값을 tId라 하면, t1_switching_distance로 표시되는 tId-1과 동일한 temporal_id를 갖는 멤버들이 프로세스(전송 및 복호화)된 경우에는, 비트스트림이, tId-1과 동일한 temporal_id를 갖는 시간 층에서부터 tId와 동일한 temporal_id를 갖는 시간 층에 이르기까지 tId와 동일한 temporal_id를 갖는 멤버들 중 어느 하나에서 스위칭될 수 있다. 0과 동일한 is_t1_switching_point는 ISO/IEC 14496-10 Annex H에서 규정된 바와 같은 temporal_id의 최상위 값을 갖는 이러한 그룹의 멤버들이 시간 층 스위칭 점들일 수도 있고 시간 층 스위칭 점들이 아닐 수도 있다.
t1_switching_distance는 is_t1_switching_point가 1일 경우에 사용된다. 이는 전진하는 방향으로의 스위칭 점으로부터의 시간 층(tId)에서나 시간 층(tId) 상에서의 스트림의 복호화가능성을 보장하도록 복호화되어야 하는 tId-1과 동일한 temproal_id를 갖는 시간 층의 다수의 예들을 나타낸다. 값 0은 하위 시간 층 상에서의 어떠한 종속성도 갖지 않는 시간 스위칭 점을 나타낸다. 이러한 특정 샘플에 필요한 거리는 특정 샘플에 대한 시간 병렬 멀티미디어 트랙에서의 시간 층 스위칭 거리 구문(temporal layer switching distance statement)에 의해 감소될 수 있다.
NAL 유닛들은 그룹들 및 티어들을 다음과 같이 매핑하도록 매핑된다. SVC 또는 MVC 액세스 유닛 내에서의 스케일러빌러티 또는 뷰 계층을 기술하기 위해, 2가지 종류의 샘플 그룹들이 사용된다. a) 샘플의 섹션들을 기술하도록 하는 그룹. 상기 그룹들 각각의 경우에, 그룹 속성들을 정의하는 ScalableGroupEntry 또는 MultiviewGroupEntry가 존재한다. 여기서 유념할 점은 이들이 전체 스트림을 기술하는 것이 아니라 티어들을 설명함으로써 전체 액세스 유닛이 아니라, 어떤 경우에서의 한 티어에 속하는 NAL 유닛들을 기술한다는 점이다. b) (grouping_type 'scnm'의) 맵 그룹에 대한 액세스 유닛 내의 각각의 NAL 유닛의 매핑을 기술하는, 맵 그룹. 특정 맵 그룹에 속하는 NAL 유닛들의 각기 다른 시퀀스에 대해, ScalableNALUMapEntry가 존재한다. 액세스 유닛 내에서는, 맵 그룹은 티어의 모든 NAL 유닛들을 포함한다.
맵 그룹들의 정의는 모든 액세스 유닛들에 대한 한정된 개수의 맵 그룹화 패턴들이 존재하도록 규정하고 있다. 주어진 티어에 대한 연속 액세스 유닛들에 가변 개수의 NAL 유닛들이 존재하는 경우에, 수집자들은 이러한 가변적인 구조들을 일정하게 하고 필요한 맵 그룹들의 개수를 감소시키는데 사용될 수 있다. 동일한 맵 그룹 정의, ScalableNALUMapEnry는 SVC 파일 포맷 및 MVC 파일 포맷 모두에 대해 사용된다. 복호기 구성 레코드가 MVC 또는 AVC 스트림 중 어느 하나로서 해석될 수 있는 스트림에 대해 사용될 경우에, AVC 복호기 구성 레코드는 AVC 호환 기본 층의 특성들을 반영하게 된다. 예컨대, 이는 AVC 기본 층을 복호화하기에 필요한 단지 매개변수 세트들만을 포함하게 된다. 매개변수 세트는 AVC 스트림들의 경우와 같이 MVC 스트림들과 함께 사용될 수 있다. 그러한 경우에, 매개변수 세트들은 복호기 구성 레코드 내에 포함되지 않게 된다. MVCDecoderConfigurationRecord는 SVCDecoderConfigurationRecord와 구조적으로 동일하고 시매틱적으로 등가이다.
다중 뷰 비디오 스트림은 파일 내의 하나 이상의 비디오 트랙들로 표시된다. 각각의 트랙은 스트림의 하나 이상의 뷰들을 나타낸다. 트랙으로 표시되는 뷰가 다른 트랙에 의해 뷰 간의 예측 참조로서 표시되는 다른 뷰를 사용할 경우에, 타입 'mvpr'의 트랙 참조는 뷰 간의 예측을 위한 소스 트랙을 언급하는 트랙 내에 포함되게 된다.
MVC 샘플은 하나 이상의 뷰 컴포넌트들 및 이들과 관련이 있는 비-VCL NAL 유닛들로 이루어진다. 하나 이상의 MVC NAL 유닛들의 샘플들로부터 액세스 유닛을 재구성하기 위해, 출력 뷰들이 먼저 결정된다. 상기 결정된 출력 뷰들을 복호화하기 위해 필요한 뷰들은 'mvpr' 트랙 참조 또는 티어 종속성 박스들로부터 추정될 있다. 여러 트랙들에 액세스 유닛에 대한 데이터가 수록되어 있는 경우에, 트랙들 내의 개별 샘플들의 정렬이 복호화 시간에 따라, 즉 편집 리스트들을 고려하지 않고서 단지 시간-샘플 테이블을 사용하여, 수행된다. 액세스 유닛은, 범용 레벨로 이하에 제공되는 바와 같이 MVC 표준에 필요한 순서로 자신들의 NAL 유닛들을 배열함으로써 필요한 트랙들 및 티어들의 개별 샘플들로부터 재구성된다:
관련 매개변수 세트 트랙들로부터 그리고 관련 엘리멘터리 스트림 트랙들로부터의 모든 매개변수 세트 NAL 유닛들.
뷰 순서 인덱스 뷰의 순서가 오름차순이 되는 뷰 컴포넌트들. 하나의 뷰 컴포너트 내의 NAL 유닛들이 샘플 내에서 자신들의 출현 순서(appearance order)를 이룬다.
여기서 유념할 점은 SVC 파일 포맷으로 규정된 추출자들이 액세스 유닛을 포함하는 샘플 포맷을 정의하는데 사용될 수 있다. 그러나, 그러한 샘플 포맷은 MVC에 그다지 적합하지 않은데, 그 이유는 어떠한 뷰라도 출력용으로 선택될 수 있기 때문이다. 그러한 세트의 출력 뷰들 및 뷰 간의 종속성 계층은 어느 뷰들이 복호화를 위해 필요한 지를 결정한다. 각각이 서로 다른 세트의 뷰들을 출력하기 위해 적합한 비트스트림 서브세트들의 수는 매우 클 수 있다. 예를 들면, 36개의 스테레오-뷰 서브세들은 종래방식으로 편성된 9-뷰 MVC 비트스트림으로부터 획득될 수 있다. 추출자들이 사용된 경우에, 출력 뷰들의 각각의 조합에 대한 개별 트랙이 생성될 것이며, 이는 파일 크기가 불필요하게 커지게 된다. 종래방식으로 편성된 9-뷰 MVC 비트스트림의 경우에, 모든 스테레오 뷰 서브세트들에 대한 추출자들은, 파일 크기가 상당히 커지게 됨으로써, 적어도 약 500 kbit/s가 소요하게 된다. 본 발명의 여러 실시예들은 어떤 방식으로든 샘플이 액세스 유닛을 포함하고 추출자들이 SVC 파일 포맷에 마찬가지로 사용되는 샘플 포맷에 적용가능하다.
MVC에 대한 샘플 엔트리 포맷은 다음과 같이 정의된다.
Figure 112011011218920-pct00003
MVC 엘리멘터리 스트림에 사용가능한 AVC 호환 기본 층이 포함되어 있는 경우에 AVC 비주얼 샘플 엔트리('avc1' 또는 'avc2')가 사용되게 된다. 여기서, 그러한 엔트리에는 초기에 AVC 구성 박스가 수록되고, 그 다음으로는 아마도 이하에서 정의되는 바와 같이 MVC 구성 박스가 수록되게 된다. AVC 구성 박스는 AVCDecoderConfigurationRecord에 의해 정의되는 바와 같은 AVC 호환 기본 층에 속하는 프로파일(Profile), 레벨(Level) 및 매개변수 세트(Parameter Set) 정보를 문서화한다. MVC 구성 박스는 MVCConfigurationBox에 저정된, MVCDecoderConfigurationRecord에 의해 정의된 바와 같은 비-기본 뷰들이 수록된 전체 스트림에 속하는 Profile, Level 및 Parameter Set 정보를 문서화한다.
MVC 엘리멘터리 스트림에 이용가능한 AVC 기본 뷰가 수록되어 있지 않는 경우에, MVC 비주얼 샘플 엔트리('mvc1')가 사용되게 된다. MVC 비주얼 샘플 엔트리에는 이하에서 정의되는 바와 같이 MVC 구성 박스가 수록되게 된다. 이는 MVCDecoderConfigurationRecord를 포함한다.
우선순위 할당 URI는 priority_id 값들을 할당하는데 사용되는 메소드(method)의 (URI 스페이스(URI space) 내의) 네임(name)을 제공한다. 그러한 것이 AVC 또는 MVC 샘플 엔트리 내에서 이루어지는 경우에, 스트림 내에서 priority_id 할당들을 문서화하도록 정확히 하나의 URI가 제공되게 된다. URI는 여기서 단지 하나의 네임으로서 취급되는데, 그 이유는 이러한 것이 필요하지 않더라도 그 네임이 참조가능하지 않은 것이기 때문이다. 파일 판독기들은 일부 메소드들을 인식함으로써 어떤 스트림 추출 동작들이 priority_id에 기반하여 수행될 것인지를 아는 것이 가능할 수 있다.
샘플 엔트리 네임 'avc1'은, 단지 AVCConfigurationBox에서 주어진 (프로파일 및 레벨을 포함하는) 구성에 따라 동작하는 AVC 복호기에 의해 판단될 때 전체 스트림이 순응적으로 사용가능한 AVC 스트림일 경우에만 사용될 수 있다. NAL 유닛들과 유사한 파일 포맷 특정 구조들이 제공될 수 있지만 AVC 기본 데이터에 액세스하는데 사용될 필요가 없다. 즉, AVC 데이터는 (비록 AVC 데이터가 추가_바이트(addition_bytes) 필드에 의해 참조된 바이트들 내에 포함될 수 있다 하더라도) 수집자들에 수록될 필요가 없다. 샘플 엔트리 네임 'avc2'는, 의도된 AVC 스트림을 형성하기 위해, 수집자들이 수록되어 있는 NAL 유닛들에 대해 조사되어야 한다는 것을 나타낸다. 수집자들은 'avc1', 'avc2' 또는 'mvc1' 트랙들에서의 NVC VCL NAL 유닛들용으로 사용될 수 있다.
박스들, MVCConfigurationBox, ViewScalabilityInfoSEIBox, IntrinsicCameraParametersBox, 및 EntrinsicCameraParametersBox 중 어느 하나가 'avc1' 또는 'avc2' 샘플 엔트리에 제공될 수 있다. 이러한 경우들에서, 이하의 AVCMVCSampleEntry 또는 AVC2MVCSampleEntry 정의가 각각 적용된다.
이하의 표는 MVC 엘리멘터리 스트림이 하나 이상의 트릭들, 구성들, 및 MVC 도구들(다른 트랙에서 항상 사용되는 타이밍된(시간 조정된) 메티데이터를 배제함)에 저장될 경우에 샘플 엔트리들의 가능한 모든 사용들을 비디오 트랙의 용도로 보여준 것이다.
Figure 112011011218920-pct00004
샘플 엔트리들에 대한 신텍스는 다음과 같이 규정된다.
Figure 112011011218920-pct00005
Figure 112011011218920-pct00006
(메소드, 비트레이트, 및 descr 매개변수들에 대한) 샘플 엔트리들의 필드들에 대한 시맨틱스들은 SVC 파일 포맷의 것들과 동일하거나 이하에서 특정된 바와 같다. view_scalability에는 ISO/IEC 14496-10 Annex H에 규정된 바와 같은 뷰 스케일러빌러티 정보 SEI 메시지만을 포함하는 SEI NAL 유닛이 수록되어 있다.
진성 카메라 매개변수 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00007
진성 카메라 매개변수 박스에 대한 신택스는 다음과 같이 정의된다.
Figure 112011011218920-pct00008
진송 카메라 매개변수 박스에 대한 시맨틱스는 MVC의 다중 뷰 획득 정보 SEI 메시지의 것들과 동일하다.
외인성 카메라 매개변수 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00009
외인성 카메라 매개변수 박스에 대한 신택스는 다음과 같이 정의된다.
Figure 112011011218920-pct00010
외인성 카메라 매개변수 박스에 대한 시맨틱스는 MVC의 다중 뷰 획득 정보 SEI 메시지의 것들과 동일하다.
뷰 식별자 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00011
샘플 엔트리 내에 포함되어 있는 경우에, 이러한 박스는 MVC의 view_id 신택스 구성 요소의 값들에 의해 트랙 내에 포함된 뷰들을 나타낸다. 다중 뷰 그룹 엔트리 내에 포함되어 있는 경우에, 이러한 박스는 MVC의 view_id 신택스 구성 요소의 값들에 의해 개별 티어 내에 포함된 뷰들을 나타낸다. 이러한 박스는 또한 각각의 목록화된 뷰에 대한 뷰 순서 인텍스를 나타낸다. 그 외에도, 박스는, 뷰 식별자 박스가 샘플 엔트리 또는 다중 뷰 그룹 엔트리에 각각 포함될 경우에 트랙 또는 티어 내에 포함된 temporal_id의 최소 및 최대 값들을 포함한다.
뷰 식별자 박스에 대한 신택스는 다음과 같이 정의된다.
Figure 112011011218920-pct00012
뷰 식별자 박스에 대한 시맨틱스는 다음과 같이 정의된다.
num_views는, 뷰 식별자 박스가 샘플 엔트리 내에 존재하는 경우에, 트랙 내에 포함된 뷰들의 개수를 나타낸다. 뷰 식별자 박스가 다중 뷰 그룹 엔트리 내에 존재하는 경우에, num_views는 개별 티어 내에 포함된 뷰들의 개수를 나타낸다.
view_id는, 뷰 식별자 박스가 샘플 엔트리 또는 다중 뷰 그룹 엔트리 내에 각각 포함되어 있는 경우에 트랙 또는 티어 내에 포함된 뷰에 대한 MVC의 view_id 신택스 구성 요소의 값을 나타낸다.
view_order_index는, 뷰 식별자 박스가 샘플 엔트리 또는 다중 뷰 그룹 엔트리 내에 각각 포함되어 있는 경우에 트랙 또는 티어 내에 포함된 뷰에 대한, MVC에서 규정된 바와 같은, VOIdx 변수의 값을 나타낸다.
min_temporal_id, max_temporal_id는, 뷰 식별자 박스가 샘플 엔트리 또는 다중 그룹 엔트리 내에 각각 포함되어 있는 경우에 트랙 또는 티어에 매핑된 NAL 유닛들의 NAL 유닛 헤더 확장자에 존재하는 temporal_id 신택스 구성 요소의 최소 또는 값을 취한다. AVC 스트림들의 경우에, 이는 프리픽스 NAL 유닛(prefix NAL unit) 내에 있거나 프리픽스 NAL 유닛 내에 있게 될 값을 취한다.
'avc1' 또는 'avc2" 샘플 엔트리와 관련이 있고 MVC 엘리멘터리 스트림을 포함하는 트랙이 선택적인 그룹 내에 포함되어 있는 경우에, 다른 그룹 멤버들은 그러한 트랙 내에 수록된 기본 뷰에 대한 선택 사항들이다. 'mvc1' 샘플 엔트리와 관련이 있는 트랙이 선택적인 그룹 내에 포함되어 있는 경우에, 다른 그룹 멤버들은 'mvc1' 트랙과 동수의 뷰들을 포함하는 다중 뷰 비디오 트랙들이고 'mvc1' 트랙의 각각의 뷰는 다른 트랙들 내의 개별 뷰를 지닌다.
다중 기술 코더(multiple description coder)는 하나의 원래의 신호(original signal)로부터, 기술(description)들로서 알려져 있는 다수의 독립 스트림들을 생성한다. 각각의 기술은 유사한 중요도(importance)를 갖는 것이 전형적이며, 그러한 기술들 중 어느 하나는 기본 품질의 복호화된 신호를 재생하기에 충분하며, 재샘 품질은 수신된 기술들의 함수로서 개선된다. 그러므로, 기술들이 상관되어 있고 다중 기술 코딩(Multiple Description Coding; MDC)이 단일의 기술 코딩에 비해 압축 효율에 있어서 불리한 점을 가지고 있다는 것이 분명하다. 그러한 상관은 또한 복호기가 누락된 기술들을 은닉할 수 있게 한다. 다수의 알고리즘들이 공간, 주파수 또는 시간 도메인 분할을 채용하는 다중 기술 코딩에 대해 제안되어 있다.
ISO 기본 미디어 파일 포맷은 다음과 같이 대체 그룹들을 형성하고 그룹들을 스위칭하는 수단을 규정한다. alternate_group은 하나의 그룹 또는 트랙들의 집합을 규정하는 트랙 헤더 박스 내에 정수 값을 갖는 매개변수이다. 이러한 필드가 0일 경우에, 가능한 다른 트랙들에 대한 관계들에 관한 정보가 존재하지 않는다. 이러한 필드가 0이 아닐 경우에, 이는 서로에 대해 대체 데이터를 포함하는 트랙들에 대해 동일한 것이 되고 그러한 그룹과는 다른 그룹에 속하는 트랙들에 대해 다른 것이 된다. 대체 그룹 내의 단지 하나의 트랙은 어느 한 순간에 플레이되거나 스트림되어야 하고 비트레이트, 코덱 언어, 패킷 크기 등등과 같은 속성들을 통해 그룹 내의 다른 트랙들과 식별가능해야 한다. 대체 그룹은 단지 하나의 멤버만을 지닐 수 있다.
파일 내에 저장된 전형적인 프레젠테이션은, 비디오에 대해 하나, 오디오에 대해 하나 등등과 같은, 미디어 타입에 대해 하나의 대체 그룹을 포함한다. 그러한 파일은 여러 개의 비디오 트랙들을 포함할 수 있지만, 어느 한 시점에서는, 그들 중 하나만이 플레이되거나 스트림되어야 한다. 이는 모든 비디오 트랙들을 동일한 대체 그룹에 할당함으로써 달성된다.
대체 그룹의 모든 트랙들은 미디어 선택을 위한 후보들이지만, 이는 세션 동안 그러한 트랙들 중 일부 트랙들 간에 스위칭하는 것으로 생각되지 않을 수 있다. 예를 들면, 서로 다른 비트레이트들에서 비디오 트랙들 간의 스위칭이 허용되고 프레임 크기가 유지되지만 서로 다른 프레임 크기의 트랙들 간의 스위칭은 허용되지 않는다. 동일한 방식으로, 서로 다른 오디오 언어들 또는 서로 다른 비디오 코덱들의 트랙들 간의 선택을 허용하지만 서로 다른 오디오 언어들 또는 서로 다른 비디오 코덱들의 트랙들 간의 스위칭을 허용하지 않는 것이 바람직할 수 있다.
선택 및 스위칭을 위한 트랙들 간의 구별은 대체 그룹들에 추가하여 스위치 그룹들에 트랙들을 할당함으로써 해결된다. 하나의 대체 그룹은 하나 이상의 스위치 그룹들을 포함할 수 있다. 대체 그룹 내의 모든 트랙들은 미디어 선택을 위한 후보들이며, 스위치 그룹 내의 트랙들은 또한 세션 동안 스위칭용으로 제공될 수 있다. 다른 스위치 그룹들은 서로 다른 프레임 크기, 고/저 품질 등등과 같은 서로 다른 동작점들을 나타낸다.
비-스케일러블 비트스트림들의 경우에, 몇개의 트랙들이 스위치 그룹 내에 포함될 수 있다. 그와 동일한 것이 또한 전형적인 AVC 스트림들과 같은 비-계층화된 스케일러블 비트스트림들에 적용된다.
속성들을 갖는 트랙들을 라벨링(labelling)함으로써, 그들을 특징하는 것이 가능하다. 각각의 트랙은 특정 스위치 그룹 내의 트랙들을 또는 다른 스위치 그룹들에 속하는 다른 트랙들을 기술하는데 사용될 수 있는 속성들의 리스트로 라벨링될 수 있다.
사용자 데이터 박스 내에 담겨져 있는 트랙 선택 박스는 switch_group 매개변수 및 attribute_list를 포함한다.
switch_group은 트랙들의 그룹 또는 집합을 규정하는 정수이다. 이러한 필드가 0(디폴트 값)일 경우에 또는 트랙 선택 박스가 없는 경우에, 트랙이 플레이 또는 스트리밍 동안 스위칭용으로 사용될 수 있는 지에 관한 정보가 존재하지 않는다. 이러한 정수가 0이 아닌 경우에, 이는 서로 간의 스위칭용으로 사용될 수 있는 트랙들에 대해 동일한 것이게 된다. 동일한 스위치 그룹에 속하는 트랙들은 동일한 대체 그룹에 속하게 된다. 스위치 그룹은 단지 하나의 멤버만을 지닐 수 있다.
attribute_list는 속성들의 리스트이다. 이러한 리스트 내의 속성들은 트랙들의 기술로서 또는 동일한 대체 또는 스위치 그룹 내의 트랙들에 대한 차별화 기준으로서 사용되어야 한다. 각각의 차별화 속성은 트랙을 식별하는 필드 또는 정보에 대한 포인터와 관련된다.
발명의 명칭이 "미디어 파일들의 트랙 관계들을 나타내기 위한 시스템 및 방법(SYSTEM AND METHOD FOR INDICATING TRACK RELATIONSHIPS IN MEDIA FILES)"인 미국 특허출원 제 11/844,300호에는 특정 그룹화 타입에 따라 하나 그룹 또는 다수의 그룹의 트랙들을 형성하는 것을 허용하는 트랙 관계 박스가 제안되어 있다. 대체 트랙들, 스위치 트랙들, 계층화된 코딩, 다중 기술 코딩에 대한 그룹화 타입들이 규정되어 있다. 대체 트랙 그룹화 타입은 특정의 대체 그룹들에 속하는 트랙들의 목록화를 허용한다. 다시 말하면, 트랙 헤더 박스 내에는 alternate_group의 각각의 값에 대해 하나의 트랙 그룹이 존재한다. 대체 트랙 그룹화 타입은 모든 트랙들의 트랙 헤더 박스들을 통해 트래버스(traverse)하는 대신에 사용될 수 있는 대체 그룹들을 식별하도록 하는 파서들에 대한 메커니즘을 제공한다. 스위치 트랙 그룹화 타입은 모든 트랙들의 트랙 선택 박스을 파싱하는 대신에 사용될 수 있는 스위치 그룹들을 식별하도록 하는 방식을 제공한다. 계층화된 코딩 그룹화 타입은 계층화된(스케일러블) 비트스트림을 형성하는 트랙들을 식별도록 하는 방식을 제공한다. 이러한 메커니즘은 모든 트랙들의 트랙 참조 박스들을 통해 트래버스하는 대신에 파서들에서 사용될 수 있다. 다중 기술 코딩 그룹화 타입은 서로에 대한 다중 기술 관계를 갖는 비트스트림들을 포함하는 관련 트랙들에 대한 방식을 제공한다.
트랙 관계 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00013
트랙 관계 박스에 대한 신택스는 다음과 같다.
Figure 112011011218920-pct00014
Figure 112011011218920-pct00015
위의 신텍스에서는, "버전(version)"은 트랙 관계 박스의 버전을 규정하는 정수(위에서 기술된 바와 같이 "0")이다.
"플래그들(flags)"은 플래그들을 지닌 24-비트 정수이다. 다음과 같은 비트들이 정의되는데, 이 경우에 비트 0은 최하위 비트이고, 비트 1은 두번째 최하위 비트 등등이다. 비트 0이 1과 동일할 경우에, 이는 대체 트랙 그룹들의 정보가 이러한 박스 내에 존재한다는 것을 나타낸다. 비트 0이 0과 동일할 경우에, 이는 대체 트랙 그룹들의 정보가 이러한 박스 내에 존재하지 않는다는 것을 나타낸다.
비트 1이 1과 동일할 경우에, 이는 스위칭 트랙 그룹들의 정보가 이러한 박스 내에 존재한다는 것을 나타낸다. 비트 1이 0과 동일할 경우에, 이는 스위칭 트랙 그룹들의 정보가 이러한 박스 내에 존재하지 않는다는 것을 나타낸다.
비트 2가 1과 동일할 경우에, 이는 계층화된 트랙 그룹들의 정보가 이러한 박스 내에 존재한다는 것을 나타낸다. 비트 2가 0과 동일할 경우에, 이는 계층화된 트랙 그룹들의 정보가 이러한 박스에 존재하지 않는다는 것을 나타낸다.
비트 3이 1과 동일할 경우에, 이는 MDC 트랙 그룹들의 정보가 이러한 박스 내에 존재한다는 것을 나타낸다. 비트 3이 0과 동일할 경우에, 이는 MDC 트랙 그룹들의 정보가 이러한 박스 내에 존재하지 않는다는 것을 나타낸다.
"num_alternate_groups"는 시그널링되는 대체 트랙 그룹들의 개수를 나타낸다. "alternate_group_id"는 시그널링되는 i-번째 대체 트랙 그룹의 식별자를 나타낸다. 그러한 값은 0과 동일하지 않다. alternate_group_id와 관련이 있는 임의의 트랙은 alterante_group_id와 동일한 (트랙 헤더 박스 내의) alternate_group을 지닌다. 0과 동일하지 않은 (트랙 헤더 박스 내의) alternate_group을 지니는 임의의 그룹은 alternative_group-id와 관련된다. "num_tracks_in_alternate_group"은 시그널링되는 i-번째 대체 트랙 그룹 내의 트랙들의 개수를 나타낸다. "alternate_track_id"는 시그널링되는 i-번째 대체 트랙 그룹 내의 j-번째 트랙의 트랙 ID를 나타낸다.
"num_switch_groups"는 시그널링되는 스위칭 트랙 그룹들의 개수를 나타낸다. "switch_group_id"는 시그널링되는 i-번째 스위칭 트랙 그룹의 식별자를 나타낸다. 그러한 값은 0과 동일하지 않다. switch_group_id와 관련이 있는 임의의 트랙의 경우에, 트랙 선택 박스가 존재한다면, 트랙 선택 박스에서 시그널링되는 switch_group은 switch_group_id와 동일하다. 트랙 선택 박스가 존재하는 임의의 트랙의 경우에, alternate_group이 0과 동일하지 않다면, 트랙은 switch_group_id와 관련되게 된다. "num_tracks_in_switch_group"은 시그널링되는 i-번째 스위치 트랙 그룹 내의 트랙들의 개수를 나타낸다. "switch-track_id"는 시그널링되는 i-번째 스위치 트랙 그룹 내의 j-번째 트랙의 트랙 ID를 나타낸다.
"num_layered_groups"는 시그널링되는 계층화된 트랙 그룹들의 개수를 나타낸다.
"layered_group_id"는 시그널링되는 i-번째 계층화된 트랙 그룹의 식별자를 나타낸다.
"num_tracks_in_layered_group"은 시그널링되는 i-번째 계층화된 트랙 그룹 내의 트랙들의 개수를 나타낸다. "layered_track_id"는 시그널링되는 i-번째 계층화된 트랙 그룹 내의 j-번째 트랙의 트랙 ID를 나타낸다.
"num_dependent_on_tracks"는 i-번째 계층화된 트랙 그룹 내의 j-번째 트랙이 직접 또는 간접적으로 의존하는 트랙들의 개수를 나타낸다. "dependent_on_track_id"는 i-번째 계층화된 트랙 그룹 내의 j-번째 트랙이 직접 또는 간접적으로 의존하는 k-번째 트랙의 트랙 ID를 나타낸다.
"num_mdc_groups"는 시그널링되는 MDC 트랙 그룹들의 개수를 나타낸다.
"mdc_group_id"는 시그널링되는 i-번째 MDC 트랙 그룹의 식별자를 나타낸다.
"num_tracks_in_mdc_group"은 시그널링되는 i-번째 MDC 트랙 그룹 내의 트랙들의 개수를 나타낸다. "mdc_track_id"는 시그널링되는 i-번째 MDC 트랙 그룹 내의 j-번째 트랙의 트랙 ID를 나타낸다.
이러한 트랙 관계 박스의 한 실시예에서는, 파일 전달 세션 그룹 박스(File Deliverry Session Group box; FDSessionGroupBox)는 파일 전달 세션의 동일한 그룹 ID와 관련이 있는 파일 전달(FLUTE/ALC) 힌트 트랙들을 리스트화하는데(예컨대, 동일한 웹 페이지의 이미지들과같은 서로 다른 객체들을 형성하는데) 사용된다. FDSessionGroupBox는 다음과 같이 정의된다.
Figure 112011011218920-pct00016
FD 세션 그룹은 선택적이지만, 이는 2개 이상의 FD 힌트 트랙을 포함하는 파일들에 대해 강제적(madoatory)이다. 이는 세션들의 리스트와 아울러, 각각의 세션에 속하는 모든 파일 그룹들 및 힌트 트랙들을 포함한다. 하나의 FD 세션이 특정 FD 세션에 대해 FD 세션 그룹 박스 내에 목록화된 모든 FD 힌트 트랙들(채널들)을 통해 동시에 전송된다. 단지 하나의 세션 그룹은 어느 한 순간에 프로세스되어야 한다. 세션 그룹 내의 최초로 목록화된 힌트 트랙은 기본 채널을 규정한다. 서버가 세션 그룹들 간에 어떠한 선호도도 지니지 않는 경우에, 디폴트 선택이 최초의 세션 그룹이여야 한다. 힌트 트랙들에 의해 참조된 파일들을 포함하는 모든 파일 그룹들의 그룹 ID들은 파일 그룹들의 리스트 내에 포함되게 된다. 파일 그룹 ID들은 다시금 FDT들 내에 서버에 의해 포함될 수 있는 파일 그룹 네임들로 (박스의 네임을 지칭하도록 그룹 ID를 사용하여) 변환될 수 있다.
FDSessionGroupBox에 대한 신택스는 다음과 같다.
Figure 112011011218920-pct00017
"num_session_groups"는 세션 그룹들의 개수를 규정한다. "entry_count"는 세션 그룹이 순응하는 모든 파일 그룹들을 포함하는 이하의 리스트 내의 엔트리들의 개수를 제공한다. 세션 그룹은 각각의 소스 파일의 아이템 정보 엔트리에 의해 규정되는 바와 같이 목록화된 파일 그룹들 내에 포함된 모든 파일들을 포함한다. 여기서 유념할 점은 세션 그룹에 대한 FDT가 단지 이러한 구조 내에 목록화되는 그러한 그룹들만을 포함하여아 한다는 점이다.
"group_ID"는 세션 그룹이 순응하는 파일 그룹을 나타낸다.
"num_channels_in_session_groups"는 세션 그룹 내의 채널들의 개수를 규정한다. num_channels_in_session_groups의 값은 양(+)의 정수이게 된다.
"hint_track_ID"는 특정 세션 그룹에 속하는 FD 힌트 트랙의 트랙 ID를 규정한다. 여기서 유념할 점은 하나의 FD 힌트 트랙이 하나의 LCT 채널에 대응된다는 점이다. 스케일러블 미디어 스트림들의 조합들이 한정된 대역폭을 갖는 채널을 통해 전달될 경우에, 공동으로 전달되는 미디어 모두로부터의 데이터 부분들의 추출을 어떠한 방식으로 동적 수행하는 지를 나타내기 위한 프로비전(provision)들을 제공할 필요가 있다. 그러므로, 하나 이상의 스케일러블 미디어 스트림들을 포함하는 파일은 레이트 공유 샘플 그룹 기술 엔트리들(Rate Share sample group description entries; RateShareEntry)에 의해 기술되는 레이트 공유 샘플 그룹들 내에 레이트 공유 정보를 또한 보유하도록 수정될 수 있다. 레이트 공유 정보의 목적은 어느 한 시점에서 미디어가 어떠한 방식으로 각각의 스케일러블 미디어 스트림으로부터 추출되어야 하는지를 서버에 알려주는 것이다. 이는 서버에서 미디어를 스케일링하는 제어 또는 권고된 방식을 허용함으로써, 엘리멘터리 미디어 스트림들의 생성을 허용한다. 타이밍된 레이트-공유 정보는 타깃 레이트 공유 값을 규정하는 레이트 공유 정보 레코드들과 미디어의 부분들(즉, 시간 범위들)을 관련시킴으로써 미디어 트랙들 내에 저장된 스케일러블 미디어 스트림들에 추가될 수 있다. 타깃 레이트 공유 값은 해당 미디어에 할당되어야 하는 이용가능한 비트레이트의 타깃 백분율을 나타낸다. 가장 간단한 시나리오에서는, 단지 하나의 타깃 레이트 공유 값이 도 6에 예시된 바와 같은 미디어 및 시간 범위에 대해 규정된다.
그러나, 이용가능한 비트레이트에 따라 변하는 레이트 공유 값들을 수용하기 위해, 2개 이상의 동작 범위를 규정하는 것이 가능하다. 예를 들면, 오디오 스트림 부분이, 이용가능한 낮은 비트레이트들에서 (비디오보다) 높은 이용가능한 비트레이트의 백분율이 필요한 것으로 나타날 수 있다. 이는 레이트 공유 샘플 그룹 기술 엔트리 내에서 도 7에 도시된 바와 같은 2개의 레이트 공유 동작점들을 규정함으로써 수행된다. 도 7에서의 각각의 동작점은 타깃 레이트 공유를 규정한다. 더 복잡한 경우에는, 더 많은 동작점들을 규정하는 것이 또한 가능하다. 그 외에도, 최초 및 최종 동작점들은 그러한 동작점들에서와 아울러, 이용가능한 낮은 비트레이트 및 이용가능한 높은 비트레이트에 대해서 각각 타깃 레이트 공유를 규정한다. 2개의 동작점들 간의 타깃 레이트 공유는 그러한 동작점들의 타깃 레이트 공유들 간의 범위에 있도록 규정된다. 예를 들면 선형 보간을 통해 2개의 동작점들 간의 타깃 레이트 공유를 추정하는 것이 가능하다.
타깃 레이트-공유는, 해당 미디어에 할당되어야 하는 이용가능한 비트의 타깃 백분율을 나타낸다. 이러한 할당이 제공되면, 최대 및 최소 비트레이트들은 경계(boundary)들을 규정하는데 사용된다. 최대 비트레이트는 규정된 미디어 및 시간 범위에 대해 이용가능한 비트레이트의 상한값을 제공한다. 선택적으로는, 이는 할당된 비트레이트가 미디어에 대한 우선순위인 상한 임계값을 제공하는데 사용될 수 있다. 최소 비트레이트는 유용한 것으로 간주되는 하한 임계값을 나타낸다. 예를 들면, 할당된 비트레이트가 이러한 최소 비트레이트 값 미만으로 떨어질 경우에, 서버에 대한 권고는 미디어에 어떠한 비트레이트도 할당하지 않는 것이다. 비트레이트는 이때 다른 미디어 스트림(들)에 제공될 수도 있고 이용가능한 경우에 선택적인 스트림에 제공될 수도 있다.
레이터 공유 정보에 대한 샘플 그룹화 메커니즘은 트랙들 간의 타깃 비트레이트 공유를 나타내는데 사용될 수 있다. 타깃 비트레이트에 대해 트랙들을 초슬림화(thin)하도록 하는 알고리즘은 특정되어 있지 않다. 샘플링 그룹화 메커니즘에 의해 정의된 레이트-공유 정보는 미디어 샘플의 지속시간에 적용된다. 그러나, 동일한 레이트-공유 정보가 트랙의 다수의 연속 샘플들에 적용될 가능성이 있고 아마도 단지 2 또는 3개의 서로 다른 레코드들 간에만 변하게 되기 때문에, 레이트-공유 정보는 샘플 그룹들을 사용함으로써 하나의 트랙 내에 효율적으로 저장될 수 있다. 트랙의 각각의 샘플은 (0 또는) 하나의 샘플 그룹의 기술들에 관련될 수 있고, 각각의 기술은 레이트-공유 정보의 레코드를 정의한다. 미국 특허출원 제11/874,138호에는 코딩된 미디어에 대한 적응 동작점들이 파일 내에서 이용가능한지를 나타내기 위한, "레이터 공유 동작 박스"로서 언급되는, 파일 포맷 구조가 개시되어 있다. ISO 기본 미디어 파일 포맷에서의 레이트 공유 샘플 그룹화는 2가지의 기본적인 가정들에 기반하여 이루어진다.
1. 조합된 미디어(예컨대, 오디오 및 비디오)가 전달되어야 하는 채널의 총체적인 비트레이트가 구분적(piece-wise)으로 일정한 시간 함수이라고 가정된다. 그러나, 특정의 총체적인 비트레이트에 대한 최적의 오디오-비디오 비트레이트 공유를 나타내기 보다는 오히려, 특정의 애플리케이션들은 안정된 오디오-비주얼 품질 또는 경험의 결과를 초래시키는 적응 경로의 표시로부터 유리해질 것이다. 예를 들면, 통계적 다중화가 브로드캐스트 애플리케이션들에 사용될 경우에, 개별적인 오디오비주얼 서비스의 비트레이트는 변하게 허용되는데, 그 타깃은 안정된 품질을 유지시키는 것이다. 이와 동시에, 다중화를 위한 모든 오디오비주얼 서비스에 걸친 총체적인 비트레이트는 변경되지 않은채로 남아 있어야 한다. 현재로서는, 안정된 품질을 유지하도록 하는 레이트 공유 정보가 표시될 수 없다.
2. 단지 트랙들 간의 타깃 비트레이트가 제공되지만, 적응에 의한 표시된 공유를 어떠한 방식으로 획득하는지에 관한 힌트들 또는 쿡북(cookbook) 명령어들이 제공되어 있지 않다. 따라서, 스케일러블 미디어, 예컨대 프레이미 레이트 스케일링 또는 품질 스케일링을 적응시키기 위한 다수의 가능성들이 존재하기 때문에, 서로 다른 구현들에서의 적응 프로세스의 결과는 상당히 달라질 수 있다. 이러한 사실은 레이트 공유 샘플 그룹화의 값을 감소시킨다.
위의 문제들을 해결하기 위해, 적응 동작점들의 채널화를 포함하는 레이트 공유 동작 박스가 제안된다. 적응 동작점은 레이트 공유 샘플 그룹 기술 엔트리 내에 포함된 레이트 공유 동작점과 관련될 수 있고, 그러하지 않을 경우에는 ISO 기본 미디어 파일 포맷에 비해 본질적으로 변경되지 않는다. 선택적으로는, 적응 동작점은 새롭게 제안된 타이밍된 메타데이터 트랙에서 시그널링된 특정의 적응 경로와 관련될 수 있는데, 새롭게 제안된 타이밍된 메타데이터 트랙에서 시그널링된 특정의 적응 경로는 서로 다른 적응 경로들을 나타낸다. 힌트 트랙들 및 장래의 모든 스케일러블 미디어 코딩 포맷들에 적합한 해결방안을 모색하기 위해, SVC와 독립된 메타데이터 샘플 구조가 제안된다. 각각의 메타데이터 샘플은 적응된 샘플을 생성하도록 하는 각각의 관련된 적응 경로에 대한 쿡북 명령어들을 제공한다. 쿡북 명령어들은 언급된 샘플 데이터 중 어떤 부분들이 적응된 샘플 내에 강제로 존재하는지 그리고 미세 입자 스케일러블 코딩된 슬라이스와 같이 어떤 부분들이 슬라이스 헤더 이래로 어느 정도의 길이로 자유롭게 트렁케이트(truncate)될 수 있는지를 나타낸다.
적응 동작점은, 하나 이상의 코딩된 미디어 비트스트림들 중 어떤 부분들이 프로세싱되는지를 선택함으로써 하나 이상의 코딩된 미디어 스트림들로 이루어진 코딩된 멀티미디어 클립이 어떠한 방식으로 스케일링되는지를 규정한다. 하나 이상의 코딩된 미디어 비트스트림들의 프로세싱은, 전송 패킷들의 구성; 전송; 및 스케일링된 미디어 비트스트림들의 복호화; 중 하나 이상을 포함할 수 있다. 미국 특허출원 제11/874,138호에는 코딩된 미디어에 대한 적응 동작점들이 파일 내에서 이용가능한지를 나타내기 위한, 본원 명세서에서 "레이트 공유 동작 박스"로서 언급되는, 파일 포맷 구조가 기재되어 있다.
더군다나, 레이트 공유 동작 박스는 그러한 적응이 모든 관련 트랙들 간에 공유된 원하는 총체적인 비트레이트의 결과를 초래시키는지 또는 그러한 적응이 각각의 관련된 트랙에서의 안정된 적응의 결과를 초래시키는지와 같은 각각의 적응 동작점에 대한 적응 결과의 특징화를 포함할 수 있다. 더욱이, 레이트 공유 동작 박스는 또한 어느 알고리즘이 각각의 적응 동작점을 생성하는데 사용되는지를 나타내는 식별자를 포함할 수 있다. 적응 동작점은 또한 적응 동작점과 관련이 있는 각각의 트랙 내의 적응 경로에 대응된다. 적응 동작점 및 특정의 적응 경로는, 예컨대, 픽처들의 공간 적응, 픽처들의 품질 적응, 픽처 레이트 적응, 또는 이들의 임의 조합과 같은 적응을 위해 축들이 사용되는 적응 경로에 의해 달성될 수 있는 최소 및 최대 비트레이트와 관련한, 레이트 공유 동작 박스에서 특징화될 수 있다.
본 발명의 한 실시예는 ISO 기본 미디어 파일 포맷에서 사용되는 의사 코드 표기(pseudocode notation) 다음에 이어지는 레이트 공유 동작의 형태로 이하에 제공된다.
무비 박스('moov')는 이하에서 정의되는 바와 같은 0 또는 하나의 레이트 공유 동작 박스(rate share operation; 'rsop')를 포함한다.
Figure 112011011218920-pct00018
레이트 공유 동작 박스 내의 신텍스 구성 요소들의 시맨틱스는 다음과 같다.
operation_point_count는 동작점들의 개수를 제공하는 정수이다.
operation_description은 이러한 동작점의 레이트 적응 동작의 출력 특징들을 나타낸다. 다음과 같은 operation_description에 대한 플래그들이 규정된다.
0x1 모든 관련된 트랙들의 누적 출력 비트레이트가 이용가능한 비트레이트에 고정된다.
0x2 각각의 관련된 트랙의 주관적 품질(subjective quality)은 트랙의 지속시간에 걸쳐 유사하게 된다.
track_count는 이러한 동작점과 관련이 있는 트랙들의 개수를 나타낸다. track_count가 1과 동일할 경우에, 이러한 동작점에 대해 시그널링되는 정보는 단일의 식별된 트랙 내에 포함된 단일의 미디어 타입에 대한 적응 규칙을 규정한다. track_count가 1보다 크고, 표시된 모든 트랙들이 동일한 미디어 타입을 포함하는 경우에, 이러한 동작점에 대해 시그널링되는 정보는 여전히 다중 식별된 트랙들 내에 포함된 단일의 미디어 타입에 대한 적응 규칙을 기술한다.
track_id는 동작점에 관련된 트랙의 트랙 ID를 나타낸다.
adaptation_path_id는 track_id가 범용 스케일러블 미디어 메타데이터를 포함하는 타이밍된 메타데이터 트랙을 언급하지 않을 경우에 "0"이게 된다. 그러하지 않을 경우에는, adaptation_path_id는 이러한 동작점에서 어느 적응 경로가 사용되어야 할지를 나타낸다.
0과 동일한 rate_adaptation_algorithm은, 어떠한 적응도 임의의 관련 트랙에 대해 수행되지 않고 오히려 관련된 트랙의 모든 샘플들이 다음과 같이 프로세싱되어야 한다는 것을 나타낸다. 관련된 트랙이 힌트 트랙일 경우에, 모든 힌트 샘플들에 대응되는 패킷들이 생성되어야 한다. 관련된 트랙이 SVC 미디어 트랙일 경우에, 잠재적인 추출자 NAL 유닛들을 포함하는 모든 샘플들이 파싱되어야 한다. 기타의 트랙들의 경우에, 모든 샘플들이 정상적으로 파싱되어야 한다. 이러한 프로세싱의 출력은 이러한 박스에 표시된 바와 같은 동작점의 특징들에 따르게 된다. 1과 동일한 rate_adaptation_algorithm은 알고 있지 않은 적응 알고리즘이 레이트 공유 샘플 그룹화에 의해 표시된 타깃 레이트 공유를 획득하는데 사용되어야 한다는 것을 나타낸다. rate_adaptation_algorithm의 다른 값들은 본원 명세서에서 특정되어 있지 않지만 언급된 범용 스케일러블 미디어 메타데이터 트랙들 내의 적응 경로를 획득하는데 사용되는 알고리즘을 식별한다.
num_contants_in_operation_points은 이러한 적응 경로에서 일정하게 되는 특징들의 개수를 규정한다.
constant_list는 이러한 적응 경로의 일정한 특징들을 규정하는 박스들 또는 구조들을 암시적으로 지시하는 4-캐릭터 코드이다. 4-캐릭터 코드들은 SVC의 트랙 선택 박스에 대해 규정되는 것들을 포함한다. 일정한 리스트는 파일 내에 포함된 힌트 트랙들에 따라 구성된 패킷 스트림들을 수신하거나 파일을 플레이하는 장치 및/또는 소프트웨어의 능력에 따라 적합한 동작점을 선택하게 할 수 있다.
minimum_bitrate는 이러한 동작점이 적용되어야 하는 최저 누적 비트레이트를 나타내는 "0"이 아닌(nonzero) 값(초당 킬로비트 단위)이다.
maximum_bitrate는 이러한 동작점이 적용되어야 하는 최고 누적 비트레이트를 나타내는 "0"이 아닌 값(초당 킬로비트 단위)이다.
레이트 공유 정보에 대한 샘플 그룹화 메커니즘은 트랙들 간의 타깃 비트레이트 공유를 나타내는데 사용될 수 있다. 타깃 비트레이트에 대해 트랙들을 초슬림화(thin)하도록 하는 알고리즘은 특정되어 있지 않다. 적응 동작점 내의 track_id가 범용 스케일러블 미디어 메타데이터를 포함하는 타이밍된 메타데이터 트랙이 아닌 트랙을 언급할 경우에, 트랙은 이하에서 규정된 바와 같은 타입 'rash'의 샘플 그룹화를 포함할 수 있다.
ISO 기본 미디어 파일 포맷의 레이트 공유 샘플 그룹 엔트리는 이하에서 정의된 바와 같은 operation_point_id를 가지고 확장된다.
Figure 112011011218920-pct00019
operation_point_id는 레이트 공유 동작점 박스에서의 적응 동작점의 인덱스를 나타낸다. operation_point_id의 각각의 값은 동작점의 현재 트랙에 대한 adaptation_path_id에 의해 식별되는 하나의 적응 경로에 대응된다.
적응 경로들은 범용 스케일러블 미디어 메타데이터 트랙으로서 언급되는 파일 포맷 구조를 가지고 시그널링된다. 범용 스케일러블 미디어 메타데이터 트랙은 하나의 코딩된 미디어 비트스트림(미디어 트랙) 또는 코딩된 미디어 비트스트림으로부터 전송 패킷을 형성하도록 하는 구조들을 포함하는 힌트 트랙에 관련된다. 다시 말하면, 범용 스케일러블 미디어 메타데이터 트랙은 원하는 비트레이트 또는 품질에 대해 언급된 트랙을 초슬림화하는데 채용될 수 있는 "쿡북(cookbook)" 명령어들을 포함한다. 범용 스케일러블 미디어 메타데이터 트랙의 복호화는 적응된 샘플들이 초래되는 결과를 야기시킨다. 범용 스케일러블 미디어 메타데이터 트랙으로부터 언급되는 트랙이 힌트 트랙일 경우에, 적응된 샘플들은 유효한 패킷 페이로드들이다. 언급된 트랙이 미디어 트랙일 경우에, 적응된 샘플들은 코딩된 픽처들 또는 비디오 또는 코딩된 오디오 프레임들의 액세스 유닛들과 같은 유효한 미디어 샘플들이다.
범용 스케일러블 미디어 메타데이터 트랙의 한 실시예는 이하에서 제공된다. 범용 스케일러블 미디어 메타데이터 트랙은 미디어 박스 내에서 'meta' handler_type를 가지로 식별되는, 타이밍된 메타데이터 트랙이다. 타이밍된 메타데이터 트랙은 미디어 정보 박스 내에 범용 스케일러블 미디어 메타데이터 헤더 박스를 포함시킴으로써 범용 스케일러블 미디어 메타데이터 트랙이도록 부가적으로 특징화된다. 범용 스케일러블 미디어 메타데이터 헤더 박스는 이하에서 규정된 바와 같은 트랙에 관련된 일반 정보(general information)를 포함한다.
Figure 112011011218920-pct00020
num_adaptation_paths는 트랙이 얼마나 많은 적응 경로들을 제공하는지를 나타낸다.
adaptation_path_id는 레이트 공유 동작 박스에서 특징화되는 적응 경로를 언급하며 적응 경로를 식별한다.
1과 동일한 truncation_flag는 몇몇 샘플들에서의 이러한 적응 경로 식별자로 레이블된 몇몇 부분들이 트렁케이트될 수 있다는 것을 나타낸다. 0과 동일한 truncation_flag는 어느 한 샘플에서의 이러한 적응 경로로 레이블된 부분이 트렁케이트되지 않게 될 수 있다는 것을 나타낸다.
범용 스케일러블 미디어 메타데이터 트랙의 샘플 엔트리는 다음과 같이 규정된다.
Figure 112011011218920-pct00021
샘플 엔트리의 필드들은 트랙에 대한 샘플 구조에서 사용되는 신택스 구성 요소들의 크기(필드들의 값들 0, 1, 2, 및 3에 각각 대응되는 8, 16, 24, 또는 32 비트)를 규정하는데 사용된다.
범용 스케일러블 미디어 메타데이터 트랙에서의 샘플은 다음과 같은 구조를 사용한다.
Figure 112011011218920-pct00022
Figure 112011011218920-pct00023
범용 스케일러블 미디어 샘플 엔트리는, log2_num_parts_minus_one, log2_num_paths_minus_one, log2_path_id_minus_one, log2_offset_minus_one, 및 log2_size_minus_one의 값들을 포함한다.
메타데이터 샘플들은 (복호화 시간에서) 언급된 미디어 또는 힌트 트랙 내의 샘플들에 시간적으로 정렬된다. (또한 적응 샘플이라고 지칭되는) 각각의 메타데이터 샘플은, 다음과 같이 초기의 적응된 샘플로부터 획득되는, 대응하는 적응된 샘플에 관련된다.
초기의 적응된 샘플은 적응 샘플에 관련된 힌트 샘플 또는 코딩된 미디어 샘플로부터 획득될 수 있다. 관련된 트랙이 미디어 트랙일 경우에, 초기의 적응된 샘플은 관련된 미딩 샘플로부터 획득된다. 미디어 샘플이 SVC 파일 포맷에서 규정된 바와 같은 수집자 또는 추출자 NAL 유닛들을 포함하지 않을 경우에, 초기의 적응된 미디어 샘플은 미디어 샘플과 동일하다. 이와는 달리, 미디어 샘플이 SVC 파일 포맷에서 규정된 바와 같은 수집자 또는 추출자 NAL 유닛들을 포함할 경우에, 추출자 NAL 유닛들에 의해 참조된 데이터가 추출자 NAL 유닛 대신에 초기의 적응된 샘플에 삽되고, 수집자 NAL 유닛들에 대한 헤더들은 제거되며, 그리고 초기의 적응된 미디어 샘플 중의 잔류 부분들은 미디어 샘플의 데이터를 그대로 포함한다. 관련된 트랙이 힌트 트랙일 경우에, 초기의 적응된 샘플은 관련된 힌트 샘플로부터 획득된다. 초기의 적응된 샘플은 샘플의 페이로드 구성자들을 사용하여 생성되는 패킷 페이로드와 동일하다.
적응 샘플은 각각의 적응 경로에 대한 정보를 포함하는데, 이 경우에 초기의 적응된 샘플의 부분들은 적응된 샘플 내에 포함된다. 부분들의 표시는 초기의 적응된 샘플 내의 바이트 범위들의 리스트로 나타낼 수 있게 되어 있다. 바이트 범위들의 사용은 그 해결방안이 미디어 샘플 또는 패킷 페이로드의 신택스를 무시하게 함으로써 어떠한 코딩 또는 패킷 페이로드 포맷에도 적응될 수 있게 한다. 적응 샘플은 또한, 바이트 범위가 표시된 범위의 출발점부터 시작하여 임의의 길이로 자유롭게 트렁케이트될 수 있는 경우에 각각의 표시된 바이트 범위에 대한 표시를 포함할 수 있다.
제공된 범용 스케일러블 미디어 메타데이터의 샘플 구조는 초기의 적응된 샘플의 표시된 바이트 범위를 적응된 샘플에 매핑시킨다. 서로 다른 바이트 범위들은 서로 다른 적응 경로들에 대해 표시될 수 있다. 특정의 바이트 범위가 자유롭게 트렁케이트될 수 있는 지가 또한 표시될 수 있다. 즉, 바이트 범위의 출발점으로부터 시작하는 바이트 범위로부터의 임의 개수의 바이트들이 적응된 샘플 내에 포함될 수 있다는 것이 또한 표시될 수 있다.
범용 스케일러블 미디어 메타데이터 트랙에 대한 샘플 구조의 시맨틱스는 다음과 같다.
num_parts는 초기의 적응된 샘플 내의 부분들의 개수를 나타낸다. 한 부분의 정확한 정의가 제공되지는 않지만, 초기의 적응된 샘플 내의 바이트 범위가 스케일러블 비디어 내의 코딩된 픽처와 같은 예측 참조의 유닛에 대응되는 것이 전형적이다.
num_paths_whole_part는 전체 부분이 포함되어 있는 적응 경로들의 개수를 나타낸다.
0과 동일한 truncatable_part_flag는 부분이 트렁케이트되지 않게 될 수 있다는 것을 나타낸다.
1과 동일한 truncatable_part_flag는 부분의 적어도 하나의 부속 부분(subpart)이 트렁케이트될 수 있다는 것을 나타낸다.
path_id_whole_part는 레이트 공유 동작 박스 내에 도입되는 바와 같은 부분에 대한 적응 경로 식별자를 나타낸다.
offset_whole_part는 부분이 시작하는 초기의 적응된 샘플에 대한 바이트 오프셋을 나타낸다. 초기의 적응된 샘플의 최초의 바이트 오프셋은 값 0을 갖는다.
num_bytes_whole_part는 부분 내에 포함된 바이트들의 개수를 나타낸다.
num_partitionings는 한 부분이 부속부분들로 분할되는 파티셔닝(partitioning)들의 개수를 나타낸다. 한 부분을 부속부분들로 불할하도록 하는 각각의 유일한 방식은 파티셔닝이다. 예를 들면, 한 부분이 미세 입자 스케일러블 픽처에 대응되고, 픽처의 총체적인 크기의 50 내지 100% 및 80 내지 100%의 범위에서 비트레이트 스케일링을 각각 허용하는 2개의 적응 경로들이 규정되어 있는 경우에, 그 부분에 대해 2가지의 파티셔닝이 존재하게 된다. 첫번째 파티셔닝에서는, 픽처의 크기의 50%의 바이트 범위에 대응되는 부속부분이 0과 동일한 free_truncation_flag를 가지고 표시되게 되며, 픽처의 나머지 부속부분은 1과 동일한 free_truncation_flag를 가지고 표시되게 된다. 두번째 파티셔닝에 대한 부속부분들은 마찬가지로 표시되게 된다.
num_paths는 부속부분들로의 부분의 동일한 파티셔닝을 공유하는 적응 겨로들의 개수를 나타낸다.
path_id는 레이트 공유 동작 박스에서 도입되는 바와 같은 파티셔닝에 대해 규정에 된 부속부분들에 대한 적응 경로 식별자를 나타낸다.
num_subparts는 부속부분들의 개수를 나타낸다. 부속부분의 정확한 정의가 제공되어 있지 않지만, 예컨대 한 부분 내의 바이트 범위는 미세 입자 스케일러블 코딩된 슬라이스의 슬라이스 헤더 및 슬라이스 데이터에 대응된다.
offset는 부속부분이 시작하는 초기의 적응된 샘플에 대한 바이트 오프셋을 나타낸다.
초기의 적응된 샘플의 최초의 바이트 오프셋은 값 0을 갖는다.
num_bytes는 부속부분에 포함된 바이트들의 개수를 나타낸다.
0과 동일한 free_truncation_flag는 부속부분이 트렁케이트되지 않게 된다는 것을 나타낸다.
1과 동일한 free_truncation_flag는 부속부분의 종점으로부터 시작하여 샘플들을 추출함으로써 부속부분이 어느 정도의 길이로 트렁케이트될 수 있다는 것을 나타낸다.
적응된 샘플은 다음과 같이 생성된다. currPathId가 원하는 적응 경로에 대한 식별자와 동일하다고 하자. 레이트-공유 정보 샘플 그룹에 의해 표시된 바와 같은, 원하는 적응 경로에 대한 데이터를 포함하는 샘플에 대해, 다음과 같은 프로세스가 수행된다. 각각의 표시된 부부에 대해, path_id_whole_part의 리스트가 먼저 currPartID와 비교된다. currPartID와 동일한 path_id_whole_part의 값이 존재하는 경우에, offset_whole_part 및 num_bytes_whole_part의 값들에 의해 표시된 전체 부분은 적응된 샘플 내에 포함된다. currPartID와 동일한 path_id_whole_part의 값이 존재하지 않고 truncatable_part_flag가 1과 동일할 경우에, 부속부분들로의 표시된 파티셔닝들의 루프는 currPartID와 동일한 path_id의 값이 발견될 때까지 수행된다. 그리고나서, offset 및 num_bytes의 값들에 의해 표시되는 각각의 부속부분은 적응 샘플 내에 포함된다. 적응된 샘플의 부가적인 트렁케이션(further truncation)은 특정의 비트 예산(bit budget)을 충족시키는데 필요한데, 예를 들면, free_truncation_flag가 1과 동일한 그러한 부속부분들이 원하는 길이로 트렁케이트된다.
적응된 샘플들은 적응된 트랙을 형성한다. 언급된 트랙이 힌트 트랙일 경우에, 적응된 샘플들은 유효한 패킷 페이로드들이다. 언급된 트랙이 미디어 트랙일 경우에, 적응된 샘플들은 유효한 미디어 샘플들이다.
여기서 유념해야 할 점은 비디오 코딩에서의 코딩된 샘플들이 코딩된 픽처들 또는 액세스 유닛들인 것이 전형적이다는 점이다. 오디오에서의 코딩된 샘플들은 코딩된 오디오 프레임들인 것이 전형적이다. 그 외에도, 위에 기술된 바와 같이, simple_priority_id 임계값이 코딩딘 비디오 시퀀스의 중간에서(즉 IDR 액세스 유닛들 사이에서) 변하게 되면 스트림 유효성(stream validity)에 대한 어떠한 보장도 제공되지 않는다. 이와 같은 것은 본 발명에서서 제안된 적응 경로들에 대해 유효한 것이다. 적응 경로들 간의 유효한 스위칭 점들을 나타내기 위해, 적응 경로 스위칭 점들에 대한 샘플 그룹화 메커니즘은 한 적응 경로로부터 다른 한 적응 경로로 스위칭하는데 사용될 수 있는 적응된 샘플들을 나타내는데 사용된다. 이러한 샘플 그룹화 메커니즘에 대한 필요성은 SVC가 단일-루프 복호화, 즉 단지 최상위 복호화된 층에 대해서만 복호화되는 참조 픽처들을 채용한다는 사실로부터 생긴다. 따라서, 층들 간의 스위칭은 임의의 위치들에서 가능하지 않은데, 그 이유는 몇몇 위치들에서 스위칭될 층의 참조 픽처들이 복호화되어 있지 않기 때문이다. 그러므로, 이러한 샘플 그룹화 메커니즘은 층 스위칭 점들 또는 좀더 일반적으로는 적응 경로들 간의 스위칭 점들을 나타내는데 사용될 수 있다.
적응 경로 스위치 샘플 그룹 기술이 존재하는 경우에, 한 트랙의 각각의 샘플은 이하에서 규정되는 하나의 적응 경로 스위치 점 엔트리에 매핑된다. 그룹화 타입 'tpsw'에 대한 0 또는 하나의 샘플-그룹 박스('sbgp')는 범용 스케일러블 미디어 메타데이터 트랙의 샘플 테이블 박스('stb1') 내에 포함될 수 있다. 적응 경로 스위치 점 샘플 그룹 엔트리는 이하에 정의되어 있다.
Figure 112011011218920-pct00024
적응 경로 스위치 점 샘플 그룹 엔트리의 시맨틱스는 다음과 같다.
num_refresh는 임의의 적응 경로가 이전에 적응된 샘플들의 생성에서 사용된 경우에 이러한 샘플에서 스위칭될 수 있는 적응 경로들의 개수를 나타낸다.
refresh_adaptation_path_id는 임의의 적응 경로가 이전에 적응된 샘플들의 생성에 사용된 경우에 스위칭될 수 있는 그러한 적응 경로들에 대한 식별자들을 나타낸다.
레이트 공유 동작 박스를 가지고 파일을 프로세싱하는 장치, 소프트웨어, 컴포넌트, 또는 기타 적합한 유닛이 원하는 적응 동작점을 선택할 수 있다. 그러한 선택은 장치 및 잠재적인 수신 유닛의 제한들 및 능력들이 어떠한 방식으로 적응 동작점 또는 적응 동작점이 계산된 원하는 알고리즘의 특징들과 정합되는지에 기반하여 이루어진다.
적응 동작점을 선택하기 위한 전형적인 시스템은 다음과 같이 기술된다. 스트리밍 서버는 레이트 공유 동작 박스를 포함하는 파일에 액세스한다. 그러한 파일은 비-스케일러블 오디오 스트림 및 시간적으로 뿐만 아니라 품질에 대해 스케일가능한 스케일러블 비디오 스트림을 포함한다. 2개의 적응 동작점들은 레이터 공유 동작 박스 내에 표시되며, 이들 모두는 오디오 및 비디오 간의 총체적인 비트레이트을 공유하기 위해 타깃(target)된 것이다. 각각의 적응 동작점은 한쌍의 힌트 트랙들을 언급하는데, 하나의 힌트 트랙은 오디오에 대한 것이고 다른 하나의 힌트 트랙은 비디오에 대한 것이다. 레이트 공유 동작 박스는 첫번째 적응 동작점에서, 비디오가 시간적으로 스케일링되며, 품질별 스케일링이 두번째 적응 동작점에서 사용된다는 것을 나타낸다. 1 대 1(즉, 유니캐스트) 스트리밍 세션은 수신자 및 서버 간에 설정된다. 시간적 및 품질별 옵션들 모두는 서버로부터 수신자로 안내방송(announcement)된다. 수신자 유닛은 프레임 레이트(시간적 스케일링)가 바람직한지 또는 픽처 충실도(품질 스케일링)가 바람직한 지에 관한 사용자의 선호도를 선택하도록 하는 사용자 인터페이스 스위치를 포함할 수 있다. 사용자의 선택에 기반하여, 수신자 유닛은 어느 적응 경로에 따라야 하는지를 서버에 알려준다. 그러면, 서버는 수신자에 의해 표시된 적합한 힌트 트랙 및 적응 경로에 기반하여 패킷들을 생성한다.
따라서, 도 8은 미디어 데이터를 트랙들로 편성하는 것, 트랙 서브세트들을 식별하는 것, 트랙들 및 트랙 서브세트들의 특징들을 제공하는 것, 및 식별된 그룹화 기주에 따라 트랙들을 다중-트랙 그룹들로 편성하는 것을 가능하게 하는, 트랙들을 처리하기 위한 위에 기술된 기법들을 간략하게 요약하여 예시한 도면이다.
타이밍된 미디어 데이터는 (타이밍된 메타 데이터와 아울러) 트랙들에 논리적으로 편성된다. 각각의 트랙은 복호화 및 제공될 수 있는 미디어 콘텐츠의 표현을 제공한다. 여러 타입읜 메타데이터는 트랙 헤더 박스 내의 트랙 및 그의 멤버(sibling)들용으로 제공된다. 트랙 선택 박스는 트갤의 콘텐츠를 기술하거나 트랙의 콘텐츠를 동일한 대체 그룹 내의 다른 트랙들과 차별화시키는 속성들을 제공한다(이하 참조). 트랙 내의 샘플들은 제공된 샘플 엔트리들에 의해 기술된다.
서브세트들은 트랙들용으로 제공될 수 있다. 하나의 트랙 서브세트는 전체 트랙에 대한 미디어 데이터의 서브세트를 식별하고 전체 트랙에 대한 미디어 데이터의 서브세트와 관련된다. 트랙 서브세트는, 대개 복호화될 수 있고 제공될 수 있는 미디어 콘텐츠의 표현을 제공한다.
위에서 주지한 바와 같이, SVC 파일 포맷과 같은, ISO 기본 미디어 파일 포맷 및 그의 수정들은 계층적으로 편성된 비트스트림 서브세트들의 특징들의 표시를 지원한다. 예를 들면, 스케일러블 비디오(SVC) 비트스트림의 서브세트들의 특징들은 (스케일러블 층들과 본질적으로 유사한) 티어들용으로 또는 (스케일러블 층들에 대응되는) 전체 트랙들용으로 표시될 수 있다. 그러나, ISO 기본 미디어 파일 포맷은 (어떠한 어니언-셀(onion-shell) 구조도 갖지 않는) 서로 다른 계층적 파티셔닝들 및 오버래핑 비트스트림 서브세트들을 표시하기 위한 지원이 미흡하다. 다중 뷰 비디오 코딩은 양자 모두의 표시 타입들을 필요로 하는 데, 그 이유는 출력을 위한 뷰들의 선택에 관한 유연성(flexibility)이 있어야 하기 때문이다.
트랙들이 트랙 참조들에 의해 서로 관련지어질 수도 있으며 트랙 또는 트랙 서브세트(예컨대, SVC의 티어)의 특징들이 표시될 수도 있지만, 트랙들 또는 트랙 서브세트들의 그룹의 특징들을 표시하기 위한 ISO 기본 미디어 파일 포맷 또는 이를 유도하는 것(derivative)들의 메커니즘이 존재하지 않는다. 그러한 특징들은 예를 들면 필요한 프로파일, 레벨, 및 복호기 버퍼링 매개변수들일 수 있다.
ISO 기본 미디어 파일 포맷에는 트랙들 또는 트랙 서브세트들의 한 그룹을 트랙들 또는 트랙 서브세트들의 다른 한 그룹과 연결시켜 주는 관계(공통적이면서 구별되는 인자(factor)들)를 표시하기 위한 메커니즘이 미흡하다. 그러한 메커니즘은 다른 유사한 그룹들을 처리하면서도 무시하기 위한 트랙들 또는 트랙 서브세트들의 그룹을 선택하는데 유용하게 된다. 트랙들 또는 트랙 서브세트들의 그룹은 예를 들면 다중 뷰 비디오 스트림의 원하는 출력 뷰를 표시하는데 필요할 수 있다.
다중 뷰 비트스트림들은 하나의 트랙에 대해 하나의 뷰를 저장하는 것에서부터 단일의 트랙에 대해 모든 뷰들을 저장하는 것에 이르기까지의 범위에 걸친 여러 방식들로 콘테이너 파일에 저장될 수 있다. 파일 포맷들의 ISO 기본 미디어 파일 포맷 패밀리에서는 한 트랙의 서브세트를 (잠재적으로는 다른) 트랙의 다른 서브세트와 연결시켜 주기 위한 관계를 표시하도록 하는 메커니즘이 없다.
본 발명의 실시예들에 의하면, 다중-트랙 그룹을 다중-트랙 그룹들의 세트들로 그룹화하기 위한 메커니즘이 제공된다. 본 발명의 실시예들은 한 세트의 다중-트랙 그룹들을 위한 공동 특징들 및 그룹화 기준들을 표시하며 다중-트랙 그룹들의 세트들 간의 관계들을 표시한다. 도 9에는 본 발명의 전형적인 실시예가 개략적으로 예시되어 있다.
본 발명의 실시예들에 의하면, 다중-트랙 그룹들을 다중-트랙 그룹들의 세트들로 그룹화하는 것이 제공될 수 있다. 더욱이, 한 세트의 다중-트랙 그룹들에 대한 공동 특징들 및 그룹화 기준들을 표시하는 것이 허용될 수 있다. 다중-트랙 그룹들의 세트들 간의 관계들은 트랙 서브세트에 기반하여 형성될 수 있다.
여기서 유념할 점은 도 9에서의 값들 K, L, M, 및 N이 어느 한 양의 정수 값일 수 있으며 서로 독립적이다는 점이다. 도 9에서의 "#"은 개별 파일 포맷 구조에 대한 번호 또는 식별자를 나타낸다.
지금부터 도 10을 참조하면, 도 10의 흐름도에는 멀티미디어 데이터를 편성하기 위한 전형적인 프로세스가 예시되어 있다. 본 발명의 실시예들에 의하면, 예시된 프로세스(400)는 복수의 트랙들 및/또는 트랙 서브세트들 내에 실-시간 멀티미디어 데이터를 저장한다(블록 402). 트랙들 및/또는 서브세트들은 도 9에서 참조번호 302로 예시되어 있다. 다시 도 10을 참조하면, 트랙들 및/또는 트랙 서브세트들의 하나 이상의 다중-트랙 그룹들은 트랙들 및/또는 트랙 서브세트들 간의 관계들에 기반하여 식별된다(블록 404). 도 9에 예시된 실시예에서는, 그룹들이 참조번호 304로 예시되어 있다. 그룹들의 식별은 예를 들면, 그룹들에 관련된 정보를 저장 또는 전송하는 것을 포함할 수 있다. 본 발명의 몇몇 실시예들에서는, 프로세스 400은 적어도 한 세트의 다중-트랙 그룹들을 형성하는 것을 더 포함할 수 있다(블록 406). 다중-트랙 그룹들의 세트들은 다중-트랙 그룹들의 하나 이상의 특징들과 관련될 수 있다. 도 9에서는, 다중-트랙 그룹들의 세트들이 참조 번호 306으로 예시되어 있다.
본 발명의 실시예들은 다중 뷰 비디오 및 다중 뷰 오디오를 다룬 것이다. 특히, 동일한 콘텐츠의 다중 뷰들은 다중-트랙 그룹에 대한 그룹화 기준일 수 있다. 다중 뷰 비디오 또는 다중 뷰 오디오에 대해 규정된 다중-트랙 그룹의 특징들이 표시될 수 있다. 더욱이, 본 발명의 실시예들은 2개 이상의 다중-트랙 그룹들을 다중 뷰 미디어 렌터링, 코딩, 또는 뷰 포인트 캡쳐링으로부터의 유사한 특징들을 지니는 한 세트의 다중-트랙 그룹들로 그룹화하는 기능을 제공할 수 있다. 다중-트랙 그룹들의 세트들 간의 다중 뷰 관계들 및 한 세트의 다중-트랙 그룹들의 공동 다중 뷰 특징들이 표시될 수 있다.
본 발명의 실시예들에 대한 전형적인 구현은 ISO 기본 미디어 파일 포맷에 관한 신택스 및 시맨틱스에 대해 이하에 기술된다. 그 외에도, 다중-트랙 그룹 박스들은 MVC용으로 획득된다.
본 발명의 한 실시예에 의하면, 트랙들 또는 트랙 서브세트들을 그룹화하고 그들 간의 관계들을 표시하는데 사용되는 추상화 다중-트랙 그룹(abstract Multi-Track Group) 박스가 제공된다. 그룹화 기준은 다중-트랙 그룹 박스로부터 유래된 박스의 4-캐릭터 코드에 의해 표시된다. 한 실시예에서, 다중 뷰 비디오에 대한 하나의 그룹화 기준이 기술되지만, 다른 그룹화 기준들도 예를 들면 다중 기술 코딩용으로 설계될 수 있다. 4-캐릭터 코드 "mvcg"는 다중 뷰 비디오에 대한 다중-트랙 그룹용으로 사용된다. 여기서 목록화된 트랙들 또는 트랙 서브세트들은 의도된 출력 뷰들을 나타낸다. 트랙 서브세트는 예를 들면 샘플 그룹화 메커니즘에 의해 정의된 티어(tier)일 수 있다.
본 발명의 실시예들에 의하면, 다중-트랙 그룹 관계 박스는 표시된 다중-트랙 그룹들 간의 관계들을 나타내는데 사용된다. 특정 세트의 다중-트랙 그룹들을 목록화하도록 하는 주된 기준은 다중-트랙 그룹 관계 박스로부터 유래된 박스의 4-캐릭터 코드에 의해 표시된다. 본 발명의 실시예들에 의하면, 하나의 기준은 표시된 다중-트랙 그룹들 중 단지 하나만이 한번에 처리(플레이 또는 전송)되어야 한다는 것을 나타내는 스위치('swtc')일 수 있고 다중-트랙 그룹들 간의 스위치는 필요한 경우에 임의의 시점에서 허용된다. 다른 기준들이 또한 구현될 수 있다.
다중-트랙 그룹 내의 트랙들 또는 트랙 서브세트들의 관계들과 아울러 획득된 다중-트랙 그룹 관계 박스를 갖는 다중-트랙 그룹들 간의 관계들은 관계 속성 박스("ratr")에 의해 표시된다. 한 실시예에서, 2가지 타입의 관계들, 즉, 모든 지적된 유닛들에 대해 공통인 관계들 및 지적된 유닛들을 구별짓는 관계들이 존재한다. 다중-트랙 그룹화 정보의 직접적인 파싱을 허용하기 위해, 모든 다중-트랙 그룹 박스들 및 다중-트랙 그룹 관계 박스들은 무비 박스("moov") 내에 포함된 하나의 다중-트랙 그룹 콘테이너 박스("mtgc") 내에 포함될 수 있다.
지금부터 도 11을 참조하면, 도 11에는 부분적으로 서로 다른 트랙들을 언급하는, 다중 뷰 비디오를 위한 2개의 다중-트랙 그룹 박스들을 갖는 파일의 예가 간략하게 예시되어 있다. 이러한 예에서는, 하나의 트랙이 다중 뷰 비트스트림의 하나의 뷰용으로 형성된다. 스위치 다중-트랙 그룹 관계 박스는 2개의 다중-트랙 그룹들에 의해 형성된 다중 뷰 스트림들 간의 유사점들 및 차이점들을 표시하도록 포함된다. 도 11에서 점선으로 나타낸 화살표는 참조를 나타낸다.
관계 속성 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00025
관계 속성 박스가 다중-트랙 그룹 박스 내에 포함되어 있는 경우에, 이는 개별적인 다중-트랙 그룹의 트랙들 또는 트랙 서브세트들을 서로 연결시켜 주는 관계를 나타낸다. 관계 속성 박스가 다중-트랙 그룹 박스 내에 포함되어 있는 경우에, 이는 다중-트랙 그룹들을 서로 연결시켜 주는 관계를 나타낸다. 관계 속성 박스의 시맨틱스의 경우에, 관계 속성 박스가 다중-트랙 그룹 박스 내에 포함되어 있을 때 유닛은 트랙 또는 트랙 서브세트로서 규정되고 관계 속성 박스가 다중-트랙 그룹 관계 박스 내에 포함되어 있을 때 유닛은 다중-트랙 그룹으로서 규정된다.
관계 속성 박스 내의 신택스 및 신택스 구성 요소들의 시맨틱스는 다음과 같다.
Figure 112011011218920-pct00026
common_attribute 및 differentiating_attribut는 이하의 리스트로부터 선택된다. 차별화 속성(differentiating attribute)으로서 사용될 수 있는 속성들은 구별짓는 필드 또는 정보에 대한 포인터와 관련된다.
Figure 112011011218920-pct00027
Figure 112011011218920-pct00028
모든 유닛들은 동일한 공통 속성들을 공유할 수도 있고 공통 속성들은 모든 유닛들을 공동으로 특징화할 수도 있다. 차별화 속성은 적어도 하나의 유닛이 이러한 속성에 기반하여 다른 유닛들과 상이하다는 것을 나타낸다. 차별화 속성의 포인터는 하나의 유닛을 동일한 속성을 갖는 다른 유닛들과 차별화시키는 정보의 위치를 나타낸다.
다중-트랙 그룹 콘테이너 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00029
이러한 박스는 타입형 다중-트랙 그룹 박스들을 포함한다. 다중-트랙 그룹 콘테이너 박스 내의 신택스 및 신택스 구성 요소들의 시맨틱스들은 다음과 같다.
Figure 112011011218920-pct00030
다중-트랙 그룹 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00031
다중-트랙 그룹 박스 내의 신택스 및 신택스 구성 요소들의 시맨틱스는 다음과 같다.
Figure 112011011218920-pct00032
multi_track_group_id는 파일 내의 multi_track 그룹에 대한 유일한 식별자를 제공한다. relation_attribute_box는 표시된 트랙들 또는 트랙 서브세트들 간의 관계들을 포함한다. num_entries는 이러한 다중-트랙 그룹 내에 포함된 트랙들 및 트랙 서브세트들의 개수이다.
entry_type는 트랙 또는 트랙 서브세트의 어떤 타입이 이어지는지를 나타낸다. entry_tye의 값들이 다음과 같이 규정된다.
0 - 전체 트랙
1 - 트랙 내의 티어(tier)
2 - 특정 샘플 그룹화의 특정 그룹과 관련이 있는 샘플들
3 - SVC의 우선순위 층
4 - 특정의 priority_id 범위의 SVC/MVC 비트스트림 서브세트
5 - 모든 샘플들 중 단지 특정 서브샘플들만을 포함하는 스트림
6 - 단지 특정 저급(degradation) 우선순위 범위 내의 샘플들만을 포함하는 스트림
7 - 단지 특정 적응 경로만을 포함하는 스트림
track_id는 트랙을 나타낸다. tier_id는 (SVC 또는 MVC의) 트랙 내의 티어를 나타낸다.
grouping_type는 어느 샘플 그룹 기술 박스 및 샘플-그룹 박스가 관련되는지를 나타낸다.
grouping_flags의 최하위 비트는 ISO 기본 미디어 파일 포맷 에디션 3에 대한 보정안(MPEG 문서 N9826)에서 규정된 grouping_type_parameter에서 설정되어야 한다. grouping_type_parameter는 어느 그룹 기술 박스 및 샘플-그룹 박스가 관련되어 있는지를 나타내는데 추가로 사용된다.
group_description_index는 트랙 서브세트를 형성하는 관련된 샘플-그룹 박스(들) 내의 그러한 샘플들의 인텍스를 나타낸다.
priority_layer는 어느 priority_layer가 트랙 서브세트를 형성하는데 사용되는지를 나타낸다. 우선순위 층이 언급될 경우에, track_id는 적합한 우선순위 층 문(priority layer statement)들을 포함하는 SVC에 대한 타이밍된 메타데이터 트랙을 나타내게 된다.
num_subsample_entries는 어느 서브샘플들이 트랙 서브세트 내에 포함되는지를 정의하는 엔트리들의 개수를 나타낸다. min_subsample_priority 및 max_subsample_priority는 트랙 서브세트 내에 포함된 서브샘플 우선순위 범위를 나타낸다.
0과 동일한 discardable_required는 0과 동일한 폐기가능 필드를 갖는 샘플들이 트랙 서브세트 내에 포함되어 있지 않다는 것을 나타낸다. 1과 동일한 discardable_required는 1과 동일한 폐기가능 필드를 갖는 샘플들이 트랙 서브세트 내에 포함되어 있지 않다는 것을 나타낸다.
2와 동일한 discardable_required는 트랙 서브세트에 대한 샘플들을 선택할 때 폐기가능 필드가 무시된다는 것을 나타낸다.
mask_one_bit_required는 서브샘플 정보 박스의 예약된 필드에 대한 마스크를 제공한다. (mask_one_bit_required & reserved) == mask_one_bit_required (& is bit-wise and)인 경우에, (모든 다른 기준들도 충족되는 경우에) 대응하는 서브샘플이 트랙 서브세트 내에 포함된다.
mask_zero_bit_required는 서브샘플 정보 박스의 예약된 필드에 대한 마스크를 제공한다. (mask_zero_bit_required & reserved) == 0일 경우에, (모든 다른 기준들도 충족되는 경우에) 대응하는 서브샘플이 트랙 서브세트 내에 포함된다.
entry_type가 6일 경우에, 0에서부터 max_degradation_priority에 이르기까지의 범위에 있는 저급 우선순위를 갖는 샘플들이 트랙 서브세트 내에 포함된다. (이는 저급 우선순위 0이 가장 중요한 데이터를 표시하고 저급 우선순위가 높아지면 중요도가 떨어진다고 가정한다.)
adaptation_path_id는 어느 적응 경로가 트랙 서브세트를 제공하는지를 나타낸다.
다중 뷰 비디오에 대한 다중-트랙 그룹 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00033
이러한 박스는 출력되는 다중-뷰 비디오 스트림의 뷰들에 대한 다중-트랙 그룹을 규정한다. 그러한 박스 내에 포함된 각각의 트랙 또는 트랙 서브세트는 출력되도록 의도된 것이다. 트랙 또는 트랙 서브세트가 다중 뷰들을 포함하는 경우에, 포함된 모든 뷰들은 출력용으로 의도된 것이다.
출력 뷰들의 복호화는 출력용으로 의도되지 않은 다른 뷰들의 복호화를 필요로 할 수 있다. 복호화를 위해 필요하지만 출력용으로 의도되지 않은 뷰들은 'mvpr' 트랙 참조들로부터 그리고 콘텐츠 Tier Dependency 박스로부터 추정될 수 있다. 다중 뷰 비디오를 위한 다중-트랙 그룹 박스 내의 신택스 및 신택스 구성 요소들의 시맨틱스는 다음과 같다.
Figure 112011011218920-pct00034
여기서 유념할 점은, 티어 정보 박스, 티어 비트레이트 박스, 및 버퍼링 박스의 존재가 또한 다중 뷰 비디오를 위한 다중-트랙 그룹 박스에서 허용되어야 하며, 그 외에도 이전에 제공된 티어 정보 박스, 티어 비트 레이트 박스, 및 버퍼링 박스의 정의에서 언급된 그와 같이 허용된 콘테이너 박스들에서 허용되어야 한다는 점이다.
다중-트랙 그룹 박스 내에 포함된 relation_attribute_box는 출력 뷰들 간의 관계들을 나타낸다. 'ecam'이 공통 속성으로서 사용될 경우에, 모든 출력 뷰들은 동일한 관계 및 일정한 인-라인 간격(in-line spacing)을 가지고 외인성 카메라 매개변수들과 관련된다. 'ecam'이 차별화 속성으로서 사용될 경우에, 하나의 출력 뷰는 다른 것들과는 다른 회전을 가지고 외인성 카메라 매개변수들과 관련될 수도 있고 출력 뷰들은 일정한 인-라인 간격을 가지지 않고 외인성 카메라 매개변수들과 관련될 수도 있다.
subset_stream_info는 표시된 출력 뷰들 및 이들이 의존하는 뷰들을 포함하는 비트스트림 서브세트의 특징들을 나타낸다.
sub-stream_bit_rate는 표시된 출력 뷰들 및 이들이 의존하는 뷰들을 포함하는 비트스트림 서브세트의 비트레이트 통계치들을 나타낸다. TierBitRateBox 내의 tierBaseBitRate, tierMaxBitRate, 및 tierAvgBitRate의 값들은 특정되어 있지 않다.
subset_stream_buffering은 표시된 출력 뷰들 및 이들이 의존하는 뷰들을 포함하는 비트스트림 서브세트에 적용되는 가설 참조 복호기(Hypothetical Reference Decoder; HRD) 매개변수들을 나타낸다.
subset_stream_initial_parameter_sets는 표시된 출력 뷰들 및 이들이 의존하는 뷰들을 포함하는 비트스트림 서브세트의 복호화를 위해 필요한 매개변수 세트들을 포함한다.
multiview_scene_info는 임의의 액세스 유닛에서의 임의의 공간적으로 인접한 출력 뷰들 간의 정수 픽셀 분해능의 유닛들에서의 최대 디스패리티(disparity)를 포함한다.
다중-트랙 그룹 관계 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00035
이러한 추상화 박스는 다중-트랙 그룹들 및 서로에 대한 다중-트랙 그룹들의 관계들을 나타내도록 하는 메커니즘을 제공한다. 획득된 박스들의 박스 타입은 표시된 다중-트랙 그룹들을 함께 그룹화하기 위한 기준들을 나타낸다. 다중-트랙 그룹 관계 박스 내의 신택스 및 신택스 구성 요소들의 시맨틱스들은 다음과 같다.
Figure 112011011218920-pct00036
num_entries는 관련된 다중-트랙 그룹들의 개수를 나타낸다. multi_track_group_id는 관련된 다중-트랙 그룹의 식별자이다. relation_attributes는 관련된 다중-트랙 그룹들 간의 관계들을 나타낸다.
스위치 다중-트랙 그룹 관계 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00037
이러한 박스는 하나의 다중-트랙 그룹이 어느 한 순간에 복호화되고 플레이되는 한 세트의 다중-트랙 그룹들을 규정한다. 주어진 관계 속성들은 어느 특징들이 관련된 모든 다중-트랙 그룹들에서 공통되는지 그리고 어느 인자들이 다중-트랙 그룹들을 서로 상이하게 하는 지를 규정한다. 관계 속성들은 예컨대 다중 뷰 비디오 콘텐츠의 경우에 출력 뷰들의 개수에 기반하여, 재생을 위한 적합한 세트의 다중-트랙 그룹들을 선택하는데 사용될 수 있다. 차별화 속성들은 예컨대 복호화를 위한 필요한 레벨에 기반하여, 그러한 세트에 내재하는 어느 다중-트랙 그룹이 플레이어에 적합한지를 선택하는데 사용될 수 있다.
스위치 다중-트랙 그룹 관계 박스에 대한 신택스는 다음과 같다.
Figure 112011011218920-pct00038
스위치 다중-트랙 그룹 관계 박스에 목록화된 다중-트랙 그룹들의 순서는 선호도(preference)의 순서를 나타낼 수 있다. 예를 들면, 첫번째로 표시된 다중-트랙 그룹은 (콘텐츠 생성기(content creator)에 의해 판단될 때) 재생을 위한 바람직한 것일 수 있다.
제공된 파일 포맷 구조들의 사용은 도 12에 예시된 예를 참조하여 기술된다. 전형적인 비트스트림은 3개의 뷰를 포함한다. 뷰 0은 AVC-호환 기본 뷰이다. 뷰 2 내에서의 인터 예측(inter prediction)을 위한 참조 픽처들은 뷰 0으로부터 뷰 간(inter-view)에 예측되고, 뷰 1 내에서의 인터 예측을 위한 참조 픽처들은 뷰들 0 및 1로부터 뷰 간에 예측된다. 각각의 뷰는, 비-참조 픽처로서 코딩되는 각각의 뷰 내의 다른 모든 뷰 컴포넌트에 의해 허용되는, 2가지의 시간 레벨(teproal level)을 지닌다. 뷰들을 획득하는데 사용되는 카메라들은 인라인 형태로 배치되고 2개의 인접한 카메라들 간의 거리는 캡쳐링 방식에서 변경되지 않는다. 카메라들은 동일한 방향을 지시하고(즉, 카메라들의 회전은 동일하고) 카메라들은 동일한 타입을 갖는다(즉, 진성 카메라 매개변수들은 동일하다).
도 13 내지 도 15는 콘테이너 파일 내에 전형적인 비트스트림을 저장하도록 하는 가능한 방식들을 예시한 것이다. 도 13에서는, 트랙이 각각의 뷰에 대해 개별적으로 형성된다. 기준 뷰(base view)를 저장하는 트랙들에 대한 샘플 엔트리는 'avc1'이다. 나머지 2개의 트랙은 트랙 참조를 포함하는 트랙을 복호화하기 위해 필요한 트랙들을 나타내는, 타입 'mvpr'의 트랙 참조로 표시된다.
다음과 같은 의사 코드의 부분은 4개의 다중-트랙 그룹을 정의한다. 다중-트랙 그룹 1은 뷰들 0 및 1(트랙들 #1 및 #2)로 이루어지고, 다중-트랙 그룹 2는 뷰들 1 및 2(트랙들 #2 및 #3)로 이루어지며, 다중-트랙 그룹 3은 뷰들 0 및 2(트랙 #1 및 #3)로 이루어지고, 다중-트랙 그룹 4는 모든 뷰들로 이루어진다. 동일한 공통 및 차별화 속성들은 각각의 다중-트랙 그룹용으로 정의된다. 프레임 레이트와 아울러 진성 및 외인성 카메라 매개변수들은, 모든 뷰들에서 동일한 것이기 때문에 공통 매개변수들로 네이밍(naming)된다. 코덱은 트랙#1에서의 AVC('avc1' 샘플 엔트리)로부터 다른 트랙들에서의 MVC('mvc1' 샘플 엔트리)로 변경되고, 그러므로 이는 차별화 속성으로서 언급된다. 또한 본 예에서는 어느 뷰들이 복호화되는지에 따라 필요한 레벨이 상이한 것으로 가정된다(이는 대부분의 부호화 방식에서 매우 유사하다).
의사 코드는 이때 타입 "스위치"의 3개의 다중-트랙 그룹 관계 박스를 규정한다. 첫번째 관계 박스는 정의된 모든 다중-트랙 그룹들을 목록화한다. 그들의 공통 속성들은 (모든 경우에서의 샘플 엔트리들의 세트가 'avc1' 및 'mvc1'로 이루어지기 때문에) 프레임 레이트, 진성 카메라 매개변수들, 코덱이며, (프로파일들의 세트가 기본 뷰를 위한 프로파일 및 선택된 다중 뷰 프로파일로 이루어지기 때문에) 프로파일이다. 차별화 매개변수들은 (본 예에서 2 내지 3의 범위에 있는) 출력 뷰들의 개수, (다중-트랙 그룹 3에서의 출력 뷰들에 대한 카메라들 간의 거리가 다른 다중-트랙 그룹들의 거리와 다르기 때문에) 외인성 카메라 매개변수들, 및 레벨이다. 임의의 다중 뷰 콘텐츠를 디스플레이하는 것이 가능한 플레이어는 이러한 관계 박스에 기반하여 재생을 위한 다중-트랙 그룹을 선택할 수 있다.
두번째 관계 박스는 다중-트랙 그룹들 1, 2, 및 3을 목록화한다. 공통 및 차별화 매개변수들은 출력 뷰들의 개수가 현재 공통 속성(그의 값이 목록화된 모든 다중-트랙 그룹들에서 2임)인 것을 제외하면 첫번째 관계 박스의 경우와 동일한 것이다. (예컨대, 셔터 글라스(shutter glasses)를 사용함으로써) 어떠한 2-뷰 콘텐츠라도 디스플레이하는 가능한 플레이어는 이러한 관계 박스에 기반하여 재생을 위한 다중-트랙 그룹을 선택할 수 있다.
세번째 관계 박스는 다중-트랙 그룹들 1 및 2를 목록화한다. 공통 및 차별화 매개변수들은, (출력 뷰들을 위한 카메라들 간의 공간적 거리가 목록화된 다중-트랙 그룹들에서 동일하기 때문에) 외인성 카메라 매개변수들이 현재 공통 속성인 것을 제외하면 두번째 관계 박스의 경우와 동일한 것이다. (예컨대, 오토스테레오코스픽 디스플레이를 통한 디스플레이의 경우) 디스플레이된 뷰들의 한정된 상호 관계를 필요로 하는 플레이어는 이러한 관계 박스에 기반하여 재생을 위한 다중-트랙 그룹을 선택할 수 있다.
Figure 112011011218920-pct00039
Figure 112011011218920-pct00040
Figure 112011011218920-pct00041
도 14는 트랙이 모든 뷰들을 에워싸는 파일을 보여준 도면이다. 기본 뷰를 저장하는 트랙들에 대한 샘플 엔트리는 'avc1'인데, 그 이유는 AVC 파일 판독기가 트랙을 파싱 및 복호화할 수 있기 때문이다. 샘플 엔트리는 MVC 복호기 구성 레코드를 포함한다. 3개의 티어는 샘플 그룹 메커니즘을 사용하여 트랙에 대해 규정되는데, 각각의 티어는 하나의 뷰를 에워싸고 있다. 다음과 같은 의사 코드는 도 13에 대한 의사 코드와 비교해 볼 때 시맨틱적인 면에서 동일하다. '=='는 구조의 콘텐츠가 도 13에 대한 의사 코드에 대해 변경되지 않은 상태에 있다는 것을 나타낸다. 이는 구조들이 다중-트랙 그룹에 대한 구성 요소들의 표시 이상으로 변하지 않는 것으로 보일 수 있는데, 이 경우에는 서로 다른 메커니즘이 도 13에 대한 예에서와 같이 전체 트랙을 나타내는 것에 비해 트랙 내의 티어를 나타내는데 필요하다.
Figure 112011011218920-pct00042
Figure 112011011218920-pct00043
여기서 유념할 점은 제공된 메커니즘이 서로 다른 개수의 뷰들을 포함하는 트랙들을 다루기에 충분할 정도로 유연성이 있다는 점이다. 도 15에서는, 기본 뷰가 하나의 트랙을 형성하며 다른 뷰들이 다른 한 트랙을 형성하는 방식으로 전형적인 비트스트림이 저장된다. 2개의 티어는 샘플 그룹 메커니즘을 사용하여 두번째 트랙에 대해 규정되는데, 각각의 티어는 하나의 뷰를 에워싸고 있다.
다음과 같은 의사 코드는 도 13 및 도 14에 대한 의사 코드 섹션들과 비교해 볼 때 시맨틱적인 면에서 동일하다.
Figure 112011011218920-pct00044
Figure 112011011218920-pct00045
본 발명의 실시예들에 대한 다른 한 전형적인 구현은 ISO 기본 미디어 파일 포맷에 대한 신택스 및 시맨틱스에 대해 이하에 기술된다.
다중 뷰 그룹 콘테이너 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00046
이러한 박스는 다중 뷰 그룹 박스들 및 다중 뷰 그룹 관계 박스들을 포함한다.
다중 뷰 그룹 콘테이너 박스의 신택스는 다음과 같이 규정된다.
Figure 112011011218920-pct00047
다중 뷰 그룹 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00048
이러한 박스는 출력되는 다중 뷰 비디오 스트림의 뷰들에 대한 다중 뷰 그룹을 규정한다. 이러한 박스 내에 포함된 트랙 또는 티어에서의 각각의 뷰는 출력되도록 의도된 것이다. 이러한 박스 내에 포함된 트랙 또는 티어가 다중 뷰들을 포함하는 경우에, 포함된 모든 뷰들은 출력용으로 의도된다. 출력 뷰들의 복호화는 출력용으로 의도되지 않은 다른 뷰들의 복호화를 필요로 할 수 있다. 복호화용으로 필요하지만 출력용으로 의도되지 않은 뷰들은 'mvpr' 트랙 참조들로부터 또는 티어 종속성(Tier Dependency) 박스로부터 추정될 수 있다.
다중 뷰 그룹 박스의 신택스는 다음과 같이 규정된다.
Figure 112011011218920-pct00049
여기서 유념할 점은, 티어 정보 박스, 티어 비트 레이트 박스, 및 버퍼링 박스의 존재가 또한 다중 뷰 그룹 박스에서 허용되어야 하며, 그 외에도 이전에 제공된 티어 정보 박스, 티어 비트 레이트 박스, 및 버퍼링 박스의 정의에서 언급된 그와 같이 허용된 콘테이너 박스들에서 허용되어야 한다는 점이다.
다중 뷰 그룹 박스의 시맨틱스는 다음과 같이 규정된다.
multiview_group_id는 파일 내에 다중 뷰 그룹에 대한 유일한 식별자를 제공한다.
num_entries는 이러한 다중 뷰 그룹 내에 포함된 트랙들 및 티어들의 개수이다.
entry_type은 어느 타입의 트랙 또는 티어가 이어지는지를 나타낸다. entry_type의 값들이 다음과 같이 규정된다: 0 - 전체 트랙, 1 - 트랙 내의 티어
track_id는 트랙을 나타낸다.
tier_id는 트랙 내의 티어를 나타낸다.
subset_stream_info는 표시된 출력 뷰들 및 이들이 의존하는 뷰들을 포함하는 비트스트림 서브세트의 특징들을 나타낸다.
relation_attributes는 출력 뷰들 간의 관계들을 나타낸다. 'ecam'이 공통 속성으로서 사용될 경우에, 모든 출력 뷰들은 카메라들이 동일한 회전 및 일정한 간격을 지니며 인라인 형태를 이루고 있다, 즉 서로 나란한 형태를 이루고 있다는 것을 나타내는 외인성 카메라 매개변수들과 관련된다. 'ecam'이 차별화 속성으로서 사용될 경우에, 하나의 출력 뷰는 다른 것과는 다른 회전을 가지고 외인성 카메라 매개변수들과 관련될 수도 있고 출력 뷰들은 일정한 인라인 공간을 가지지 않고 외인성 카메라 매개변수들과 관련될 수도 있다.
subset_stream_bit_rate는 표시된 출력 뷰들 및 이들이 의존하는 뷰들을 포함하는 비트스트림 서브세트의 비트 레이트 통계치들을 나타낸다. TierBitRateBox 내의 tierBaseBitRate, tierMaxBitRate, 및 tierAvgBitRate의 값들은 특정되어 있지 않다.
subset_stream_buffering은 표시된 출력 뷰들 및 이들이 의존하는 뷰들을 포함하는 비트스트림 서브세트에 적용되는 HRD 매개변수들을 나타낸다.
multiview_scene_info는 임의의 액세스 유닛에서의 임의의 공간적으로 인접한 출력 뷰들 간의 정수 픽셀 분해능의 유닛들에서의 최대 디스패리티(disparity)를 포함한다.
다중 뷰 그룹 박스는 다른 박스들을 추가로 포함시킴으로써 확장될 수 있다.
다중 뷰 그룹 관계 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00050
이러한 박스는 하나의 다중 뷰 그룹이 어느 한 시점에서 복호화 및 플레이되는 한 세트의 다중 뷰 그룹들을 규정한다. 주어진 관계 속성들은 어느 특징들이 관련된 모든 다중 뷰 그룹들에서 공통되는 지 그리고 어느 인자들이 다중 뷰 그룹들을 서로 상이하게 하는 지를 규정한다. 관계 속성들은 예컨대 출력 뷰들의 개수에 기반하여, 재생을 위한 적합한 세트의 다중 뷰 그룹들을 선택하는데 사용될 수 있다. 차별화 속성들은 예컨대 복호화를 위한 필요한 레벨에 기반하여, 그러한 세트에 내재하는 어느 다중 뷰 그룹이 플레이어에 적합한지를 선택하는데 사용될 수 있다.
다중 뷰 그룹 관계 박스의 신택스는 다음과 같이 규정된다.
Figure 112011011218920-pct00051
다중 뷰 그룹 관계 박스의 시맨틱스는 다음과 같이 규정된다. num_entries는 관련된 다중 뷰 그룹들의 개수를 나타낸다. multiview_group_id는 관련된 다중 뷰 그룹의 식별자이다. relation_attributes는 관련된 다중 뷰 그룹들 간의 관계들을 나타낸다.
다중 뷰 관계 속성 박스는 다음과 같이 정의된다.
Figure 112011011218920-pct00052
다중 뷰 관계 속성 박스가 다중 뷰 그룹 박스 내에 포함될 경우에, 이는 서로와의 개별적인 다중 뷰 그룹의 트랙들 또는 티어들의 관계를 나타낸다. 다중 뷰 관계 속성 박스가 다중 뷰 그룹 관계 박스 내에 포함되어 있는 경우에, 이는 서로와의 다중 뷰 그룹들의 관계를 나타낸다. 다중 뷰 관계 속성 박스의 신택스는 다음과 같이 규정된다.
Figure 112011011218920-pct00053
다중 뷰 관계 속성 박스의 시맨틱스의 경우에, 다중 뷰 관계 속성 박스가 다중 뷰 그룹 박스 내에 포함되어 있을 때 하나의 유닛이 하나의 트랙 또는 티어로서 규정되고 다중 뷰 관계 속성 박스가 다중 뷰 그룹 관계 박스 내에 포함되어 있을 때 하나의 유닛이 한 그룹의 출력 뷰들로서 규정된다. common_attribute 및 differentiating_attribute는 이하의 리스트로부터 선택된다. 차별화 속성으로서 사용될 수 있는 속성들은 구별짓는 필드 또는 정보에 대한 포인터와 관련된다.
Figure 112011011218920-pct00054
모든 유닛들은 동일한 공통 속성들을 공유할 수도 있고 공통 속성들은 모든 유닛들을 공동으로 특징화할 수도 있다. 차별화 속성은 적어도 하나의 유닛이 이러한 속성에 기반하여 다른 유닛들과 상이하다는 것을 나타낸다. 차별화 속성의 포인터는 하나의 유닛을 동일한 속성을 갖는 다른 유닛들과 차별화시키는 정보의 위치를 나타낸다.
다음과 같은 의사 코드는 이전의 예(num_entries, num_common_attributes, 및 num-differentiating_attributes와 같은 몇몇 필드들은 포함되지 않음)에 대한 의사 코드와 마찬가지로 4개의 다중 뷰 그룹을 정의한다. 다중-뷰 그룹 1은 뷰들 0 및 1(트랙들 #1 및 #2)로 이루어지고, 다중 뷰 그룹 2는 뷰들 1 및 2(트랙들 #2 및 #3)로 이루어지며, 다중 뷰 그룹 3은 뷰들 0 및 2(트랙 #1 및 #3)로 이루어지고, 다중 뷰 그룹 4는 모든 뷰들로 이루어진다. 동일한 공통 및 차별화 속성들은 각각의 다중 뷰 그룹용으로 정의된다. 프레임 레이트와 아울러 진성 및 외인성 카메라 매개변수들은, 모든 뷰들에서 동일한 것이기 때문에 공통 매개변수들로 네이밍(naming)된다. 또한 본 예에서는 어느 뷰들이 복호화되는지에 따라 필요한 레벨이 상이한 것으로 가정된다(이는 대부분의 부호화 방식에서 매우 유사하다).
의사 코드는 이때 3개의 다중 뷰 그룹 관계 박스(또한, num_entries, num_common_attributes, 및 num-differentiating_attributes와 같은 몇몇 필드들은 포함되지 않음)를 규정한다. 첫번째 관계 박스는 정의된 모든 다중 뷰 그룹들을 목록화한다. 그들의 공통 속성들은 (프로파일들의 세트가 기본 뷰를 위한 프로파일 및 선택된 다중 뷰 프로파일로 이루어지기 때문에) 프레임 레이트, 진성 카메라 매개변수들, 및 프로파일이다. 차별화 매개변수들은 (본 예에서 2 내지 3의 범위에 있는) 출력 뷰들의 개수, (다중 뷰 그룹 3에서의 출력 뷰들에 대한 카메라들 간의 거리가 다른 다중 뷰 그룹들의 거리와 다르기 때문에) 외인성 카메라 매개변수들, 및 레벨이다. 임의의 다중 뷰 콘텐츠를 디스플레이하는 것이 가능한 플레이어는 이러한 관계 박스에 기반하여 재생을 위한 다중 뷰 그룹을 선택할 수 있다.
두번째 관계 박스는 다중 뷰 그룹들 1, 2, 및 3을 목록화한다. 공통 및 차별화 매개변수들은 출력 뷰들의 개수가 현재 공통 속성(그의 값이 목록화된 모든 다중 뷰 그룹들에서 2임)인 것을 제외하면 첫번째 관계 박스의 경우와 동일한 것이다. (예컨대, 셔터 글라스(shutter glasses)를 사용함으로써) 어떠한 2-뷰 콘텐츠라도 디스플레이하는 가능한 플레이어는 이러한 관계 박스에 기반하여 재생을 위한 다중 뷰 그룹을 선택할 수 있다.
세번째 관계 박스는 다중 뷰 그룹들 1 및 2를 목록화한다. 공통 및 차별화 매개변수들은, (출력 뷰들을 위한 카메라들 간의 공간적 거리가 목록화된 다중 뷰 그룹들에서 동일하기 때문에) 외인성 카메라 매개변수들이 현재 공통 속성인 것을 제외하면 두번째 관계 박스의 경우와 동일한 것이다. (예컨대, 오토스테레오코스픽 디스플레이를 통한 디스플레이의 경우) 디스플레이된 뷰들의 한정된 상호 관계를 필요로 하는 플레이어는 이러한 관계 박스에 기반하여 재생을 위한 다중 뷰 그룹을 선택할 수 있다.
Figure 112011011218920-pct00055
Figure 112011011218920-pct00056
Figure 112011011218920-pct00057
본 발명의 실시예들에 대한 다른 한 전형적인 구현은 ISO 기본 미디어 파일 포맷에 대한 신택스 및 시맨틱스에 대해 이하에 기술된다.
특히, ISO 기본 미디어 파일 포맷의 에디션 3의 공개될 수정 1의 grouping_type_parameter 특징이 사용된다. 그들의 버전 번호가 이전에 규정된 것보다 높은 것이면 grouping_type_parameter는 샘플-그룹 박스 및 샘플 그룹 기술 박스 내에 포함된다. grouping_type_parameter가 존재할 경우에, 샘플-그룹 박스 및 샘플 그룹 기술 박스에 대한 다수의 경우들은 동일한 콘테이너 박스에서 동일한 grouping_type의 값으로 허용된다. 각각의 경우는 grouping_type_parameter에 의해 식별된다. 본 실시예에서는, 'mvif' 샘플 그룹화에 대한 grouping_type_parameter가 grouping_type_parameter의 다른 값의 'mvif' 샘플 그룹화들과 비교해 볼 때 다른 세트의 출력 뷰들을 나타내는데 사용된다. grouping_type_parameter는 이전 예의 multiview_group_id와 동일하다. 다중 뷰 그룹 엔트리는 어느 groupID 값들 또는 tierID 값들이 출력용으로 의도된 것이 아닌지 복호화를 위해 필요하지 않은 지가 표시될 수 있는 방식으로 수정된다. 타입 'mvif'의 샘플 그룹 기술 박스는 또한, 예를 들면 다중 뷰 관계 속성 박스를 사용하여 표시된 뷰들의 공동 및 차별화 특징들 및 관계들을 포함할 수 있다. 이와는 달리, 이전의 예들 중 어느 한예는 다중-트랙 그룹들의 특징들 및 다중-트랙 그룹들 간의 관계들을 나타내기 위해 이러한 예와 함께 사용될 수 있다.
본 발명의 여러 실시예들에서, 다중-트랙 그룹의 표시는 2개의 파일 포맷 구조들을 서로 관련시키기 위해 사용된다. 종래방식에서는, 트랙 참조들(또는 특정 트랙 참조 박스 내에 포함된 리스트에 대한 인덱스)가 구조들을 서로 관련시키기 위해 사용되고 있다. 예를 들면, SVC 파일 포맷의 추출자는 현재 트랙 내에 참조 데이터를 포함시켜야 할 트랙을 식별하기 위한 인덱스를 타입 'scal'의 트랙 참조 박스 내에 사용한다. 마찬가지로, 그러한 미디어 트랙들의 트랙 식별자들을 사용하여 미디어 트랙들로부터 참조 데이터를 포함시키는 RTP 힌트 트랙에 대한 구성자(constructor)들이 존재한다.
도 16에 예시된 다중-트랙 그룹들을 통해 참조하는 예를 사용하여 한가지의 예가 기술된다. 이 도면에서는 다중 뷰 비트스트림 및 다중 뷰 비트스트림의 뷰 간(inter-view) 예측 계층이 제공되어 있다. 뷰들 1 및 2는 기본 뷰로부터 예측되지만, 뷰 3은 뷰들 0 및 1로부터 예측되며 뷰 4는 뷰들 0 및 2로부터 예측된다. 예를 들면 MVC 스케일러블 네스팅 SEI 메시지 내에 SEI 메시지를 포함시킴으로써, 뷰 1 및 2 모두와 관련이 있는 SEI 메시지가 존재한다.
뷰들 1 및 2가 개별 트랙들에 저장되는 방식으로 도 16에 제공된 비트스트림이 파일 내에 저장되면, SEI NAL 유닛이 저장될 경우에 문제제가 생긴다. 적어도 다음의 것을 포함하는, SEI NAL 유닛의 저장을 위한 몇가지 옵션이 존재한다.
SEI NAL 유닛은 이 유닛이 적용되는 각각의 트랙 내에 중복 포함될 수 있다. 이는 파일 크기가 커지게 한다. 더욱이, 뷰 1 및 2 모두가 복호화되는 비트스트림 내에 포함될 경우에, 복호기가 SEI 메시지의 중복들을 어떻게 처리할지가 결정되지 않을 수 있다. 더군다나, 부호기는 SEI 메시지의 단지 하나의 카피만을 포함하는 비트스트림을 생성하고 비트스트림의 버퍼링 승낙(buffering compliancy)이 결정됨에 따라 시그널링된다. SEI 메시의 중복들은 파일 파서에 의해 생성된 스트림의 버퍼링 승낙을 실패하게 할 수 있다.
SEI NAL 유닛은 매개변수 세트 트랙 내에 포함될 수 있다. 뷰 1 및 2에 대한 트랙들은 뷰 1 및 2에 대한 트랙들의 적합한 샘플 내에 추출자(또는 유사한 것)를 포함시킴으로써 SEI NAL 유닛을 명시적으로 포함할 수 있다.
SEI NAL 유닛은 매개변수 세트 트랙 내에 포함될 수 있다. 매개변수 세트 트랙에 대한 샘플 포맷은 SEI NAL 유닛이 적용되는 다중-트랙 그룹 식별자들의 리스트를 포함할 수 있다. 선택적으로는, 매개변수 세트 트랙에 대한 샘플 포맷은 SEI NAL 유닛이 적용되는 뷰 식별자들의 리스트를 포함할 수 있다. 파일이 플레이될 경우에, 파서는 복호화를 위한 적합한 다중-트랙 그룹을 선택한다. SEI NAL 유닛이 그러한 다중-트랙 그룹에 대해 유효하도록 표시될 경우에, 이는 복호기용으로 재구성되는 액세스 유닛 내에 포함된다.
다중-트랙 그룹의 표시가 2개의 파일 포맷 구조를 관련시키기 위해 사용되는 다른 한 실시예가 제공된다. 샘플의 복호화 시간은 H.264/AVC, SVC, 및 MVC의 HRD 코딩된 픽처 버퍼(coded picture buffer; CPB) 제거 시간과 동일하다. 특정 액세스 유닛에 대한 CPB 제거 시간은 그러한 액세스 유닛 및 이전의 액세스 유닛들에 대해 존재하는 NAL 유닛들에 의존한다. 따라서, 비트스트림 서브세트가 획득될 경우에, 원래의 비트스트림의 CPB 제거 시간들은 더이상 정확하게 될 가능성이 없다. 이 때문에, 서로 다른 세트의 CPB 제거 시간들, 및 샘플에 대한 각각의 복호화 시간들은 각각의 비트스트림 서브세트에 대해 제공되어야 한다. 동일한 액세스 유닛에 대한 서로 다른 트랙들 내의 MVC 샘플들의 관련(association)이 샘플들의 복호화 시간을 통해 이루어지기 때문에, 임의의 비트 서브세트의 CPB 제거 시간에 대응되지 않는(그리고 전체 비트스트림에 적용될 수 있는 CPB 제거 시간과 동일할 수 있는) 동일한 값에 대한 동일한 액세스 유닛의 모든 샘프들의 복호화 시간을 설정하는 것이 유리하다. 다중 뷰 복호화 재-타이밍 박스는 다중 뷰 그룹 식별자 및 각각의 샘플에 대한 델타 시간 값을 포함하도록 규정될 수 있는데, 이는 샘플의 복호화 시간에 추될 경우에, 다중 뷰 그룹에 의해 규정된 비트스트림 서브세트에 적용가능한, 개별적인 액세스 유닛에 대한 CPB 제거 시간을 제공한다. 선택적으로는, 다중 뷰 복호화 재-타이밍 샘플 그룹화는 SVC 파일 포맷의 재-타이밍 그룹들과 마찬가지로 규정될 수는 있지만, 그의 식별자를 통해 특정한 다중 뷰 그룹에 연계될 수 있다.
도 17은 하나 이상의 네트워크들을 통해 통신할 수 있는 다수의 통신 장치들을 포함하는 본 발명의 여러 실시예들이 채용될 수 있는 시스템(10)을 보여준 도면이다. 상기 시스템(10)은 이동 전화 통신 네트워크, 무선 근거리 통신 네트워크(wireless Local Area Network; 무선 LAN), 블루투스 개인 영역 통신 네트워크, 이더넷 LAN, 토큰 링 LAN, 광대역 통신 네트워크, 인터넷 등등을 포함하지만, 이들에 국한되지 않는 유선 또는 무선 네트워크들의 임의의 조합을 포함할 수 있다. 상기 시스템(10)은 유선 통신 장치 및 무선 통신 장치를 모두 포함할 수 있다.
예시를 위해, 도 17에 도시된 시스템(10)은 이동 전화 통신 네트워크(11) 및 인터넷(28)을 포함한다. 인터넷(28)에의 접속가능성은 장거리 무선 접속들, 단거리 무선 접속들, 및 전화선들, 케이블선들, 전력선들 등등을 포함하지만 이들에 국한되지 않는 여러 유선 접속들을 포함할 수 있지만 이들에 국한되지 않는다.
상기 시스템(10)의 대표적인 통신 장치들은 이동 전화의 형태를 이루는 전자 장치(12), 결합형태의 개인 휴대 정보 단말기(personal digital assistant; PDA) 및 이동 전화(14), PDA(16), 통합 메시징 장치(integrated messaging device; IMD)(18), 데스크톱 컴퓨터(20), 노트북 컴퓨터(22) 등을 포함할 수 있지만, 이들에 국한되지 않는다. 상기 통신 장치들은 이동중인 개인이 휴대하는 경우에 따라 고정식 또는 이동식일 수 있다. 상기 통신 장치들은 또한 자동차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 오토바이 등등을 포함하지만 이들에 국한되지 않는 수송 모드에 배치될 수 있다. 통신 장치들 중 일부 또는 모두는 호(call)들 및 메시지들을 송신 및 수신하고 무선 접속(25) 및 기지국(24)을 통해 서비스 제공자들과 통신할 수 있다. 상기 기지국(24)은 이동 전화 통신 네트워크(11) 및 인터넷(28) 간의 통신을 허용하는 네트워크 서버(26)에 접속될 수 있다. 상기 시스템(10)은 추가적인 통신 장치들 및 다른 타입들의 통신 장치들을 포함할 수 있다.
상기 통신 장치들은 코드 분할 다중 접속(Code Division Multiple Access; CDMA), 이동 통신 세계화 시스템(Global System for Mobile Communications; GSM), 범용 이동 통신 시스템(Universal Mobile Telecommunications System; UMTS), 시분할 다중 접속(Time Division Multiple Access; TDMA), 주파수 분할 다중 접속(Frequency Division Multiple Access; FDMA), 전송 제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol; TCP/IP), 단문 메시지 서비스(Short Messaging Service; SMS), 멀티미디어 메시지 서비스(Multimedia Messaging Service; MMS), 전자메일(e-mail), 즉석 메시지 서비스(Instant Messaging Service; IMS), 블루투스(Bluetooth), IEEE 802.11 등을 포함하지만 이들에 국한되지 않는 여러 전송 기법들을 사용하여 통신할 수 있다. 본 발명의 여러 실시예들의 구현에 관련된 통신 장치는 무선, 적외선, 레이저, 케이블 접속 등등을 포함하지만 이들에 국한되지 않는 여러 매체를 사용하여 통신할 수 있다.
도 18 및 도 19는 본 발명의 여러 실시예들에 따라 네트워크 노드로서 사용될 수 있는 대표적인 하나의 전자 장치(28)를 보여준 도면들이다. 그러나, 여기서 이해하여야 할 점은 본 발명의 범위가 특정한 한가지의 타입의 장치에 국한되는 것으로 의도된 것이 아니라는 점이다. 도 18 및 도 19의 전자 장치(28)는 하우징(30), 액정 디스플레이의 형태를 이루는 디스플레이(32), 키패드(34), 마이크로폰(36), 이어피스(38), 배터리(40), 적외선 포트(42), 안테나(44), 한 실시예에 따른 UICC의 형태를 이루는 스마트 카드(46), 카드 판독기(48), 무선 인터페이스 회로(52), 코덱 회로(54), 제어기(56) 및 메모리(58)를 포함한다. 위에서 언급된 요소들은 상기 전자 장치(28)로 하여금 본 발명의 여러 실시예들에 따른 네트워크상에 상주할 수 있는 다른 장치로나 다른 장치로부터 여러 메시지들을 송신하거나 수신할 수 있게 한다. 개별적인 회로들 및 요소들은 당업계, 예를 들면 노키아 이동 전화 범주에서 공지된 타입의 것들이다.
도 20은 본 발명의 여러 실시예들이 구현될 수 있는 일반적인 멀티미디어 통신 시스템을 그래프 방식으로 보여준 도면이다. 도 20에 도시된 바와 같이, 데이터 소스(100)는 아날로그, 압축되지 않은 디지털, 또는 압축된 디지털 포맷, 또는 이러한 포맷들의 임의 조합으로 소스 신호를 제공한다. 부호기(110)는 소스 신호를 코딩된 미디어 비트스트림으로 부호화한다. 여기서 유념해야 할 점은 복호화될 비트스트림이 실질적으로 임의 타입의 네트워크 내에 위치해 있는 원격 장치로부터 직접 또는 간접적으로 수신될 수 있다는 점이다. 그 외에도, 비트스트림은 로컬 하드웨어 또는 소프트웨어로부터 수신될 수 있다. 부호기(110)는 오디오 및 비디오와 같은 2가지 이상의 미디어 타입을 부호화하는 것이 가능할 수도 있고, 2개 이상의 부호기(110)가 소스 신호의 서로 다른 미디어 타입들을 코딩하는데 필요할 수 있다. 부호기(110)는 또한 그래픽 및 텍스트와 같은 합성을 통해 생성된 입력을 획득할 수도 있고, 부호기(110)는 코딩된 합성 미디어 비트스트림들을 생성하는 것이 가능할 수도 있다. 이하에서는, 단지 하나의 미디어 타입의 하나의 코딩된 미디어 비트스트림의 프로세싱만이 설명을 간략하게 하도록 고려되어 있다. 그러나, 여기서 유념해야 할 점은 전형적으로 실-시간 브로드캐스트 서비스들이 여러 스트림들(전형적으로는 적어도 하나의 오디오, 비디오 및 텍스트 서브-타이틀(sub-titling) 스트림)을 포함한다는 점이다. 또한 여기서 유념해야 할 점은 시스템이 여러 부호기들을 포함할 수 있지만, 도 20에서는 단지 하나의 부호기(110)만이 보편성의 결여 없이 설명을 간략하게 하도록 나타나 있다는 점이다. 더욱이 여기서 유념해야 할 점은 비록 본원 명세서 및 본원 명세서에 포함되어 있는 예들이 특히 부호화 프로세스를 설명하고 있지만, 당업자라면 동일한 개념들 및 원리들이 대응하는 복호화 프로세스에 적용되고 복호화 프로세스가 동일한 개념들 및 원리들을 적용할 수 있다는 점을 이해할 것이다.
코딩된 미디어 스트림은 저장 장치(120)에 전달된다. 저장 장치(120)는 코딩된 미디어 스트림을 저장하도록 하는 임의 타입의 대용량 메모리를 포함할 수 있다. 저장 장치(120) 내의 코딩된 미디어 비트스트림의 포맷은 자급식(self-elementary) 엘리멘터리 비트스트림 포맷일 수도 있고 하나 이상의 코딩된 미디어 비트스트림이 콘테이너 파일 내에 캡슐화될 수 있다. 하나 이상의 미디어 비트스트림들이 콘테이너 파일 내에 캡슐화될 경우에, (본 도면에 도시되지 않은) 파일 생성기가 파일 내에 하나 이상의 미디어 비트스트림들을 저장하고, 또한 파일 내에 저장되는 파일 포맷 메타데이터를 생성하는데 사용된다. 부호기(110) 또는 자장 장치(120)는 파일 생성기를 포함할 수도 있고, 파일 생성기는 부호기(110) 또는 저장 장치(120)에 동작가능하게 부착될 수도 있다. 일부 시스템들은 "생방송(live)"으로 동작하는데, 다시 말하면 저장 장치를 생략하고 부호기(110)로부터 코딩된 미디어 비트스트림을 송신기(130)에 직접 전달한다. 코딩된 미디어 스트림은 그후 필요에 따라 또한 서버로서 언급되는 송신기(130)에 전송된다. 전송에서 사용되는 포맷은 자급식 엘리멘터리 비트스트림 포맷, 패킷 스트림 포맷일 수도 있고, 하나 이상의 코딩된 미디어 비트스트림들은 콘테이너 파일 내에 캡슐화될 수 있다. 부호기(110), 저장 장치(120), 및 서버(130)는 동일한 물리 장치 내에 상주할 수도 있고 부호기(110), 저장 장치(120), 및 서버(130)는 개별 장치들에 포함되어 있을 수도 있다. 부호기(110) 및 서버(130)는 생방송의 실-시간 콘텐츠를 가지고 동작할 수 있는데, 이 경우에 코딩된 미디어 비트스트림은 영구적으로 저장되지 않는 것이 전형적이고, 오히려 프로세싱 지연, 전달 지연, 및 코딩된 미디어 비트레이트를 완화하도록 콘텐츠 부호기(110)에서 그리고/또는 서버(130)에서 짧은 시간주기 동안 버퍼링된다. 서버(130)는 통신 프로토콜 스택을 사용하여 코딩된 미디어 비트스트림을 전송한다. 그러한 스택은 실-시간 전송 프로토콜(Real-Time Transport Protocol; RTP), 사용자 데이터그램 프로토콜(User Datagram Protocol; UDP), 및 인터넷 프로토콜(Internet Protocol; IP)을 포함하지만, 이들에 국한되지 않는다. 통신 프로토콜 스택이 패킷 지향(packet-oriented)될 경우에, 서버(130)는 코딩된 미디어 비트스트림을 패킷들로 캡슐화한다. 예를 들면, RTP가 사용될 경우에, 서버(130)는 RTP 페이로드 포맷에 따라 코딩된 미디어 비트스트림을 RTP 패킷들로 캡슐화한다. 전형적으로는, 각각의 미디어 타입이 전용 RTP 페이로드 포맷을 지닌다. 여기서 또한 유념해야 할 점은 시스템이 2개 이상의 서버(130)를 포함할 수도 있지만, 간략화를 위해, 이하의 설명에서는 단지 하나의 서버(130)만이 고려된다는 점이다.
미디어 콘텐츠가 저장 장치(120) 용으로 또는 송신기(130)로 데이터를 입력시키기 위해 콘테이너 파일에 캡슐화되는 경우에, 송신기(130)는 (도면에 도시되지 않은) "전송용 파일 파서(sending file parser)"를 포함할 수도 있고 도면에 도시되지 않은) "전송용 파일 파서"에 동작가능하게 부착될 수도 있다. 특히, 콘테이너 파일이 그와 같이 전송되지 않고 수록되어 있는 코딩된 미디어 스트림 중 적어도 하나가 통신 프로토콜을 통한 전송을 위해 캡슐화되는 경우에, 전송용 파일 파서는 통신 프로토콜을 통해 전달될 상기 코딩된 미디어 스트림의 적합한 부분들을 위치지정한다. 전송용 파일 파서는 또한 패킷 헤더들 및 페이로드들과 같은, 통신 프로토콜용의 정확한 포맷을 생성하는데 도움을 줄 수도 있다. 멀티미디어 콘테이너 파일에는, 통신 프로토콜을 통한 수록되어 있는 미디어 비트스트림 중 적어도 하나의 캡슐화를 위한, ISO 기본 미디어 파일 포맷에서의 힌트 트랙들과 같은, 캡슐화 명령어들이 수록되어 있을 수 있다.
서버(130)는 통신 네트워크를 통해 게이트웨이(140)에 접속되어 있을 수도 있고 통신 네트워크를 통해 게이트웨이(140)에 접속되어 있지 않을 수도 있다. 게이트웨이(140)는 한 통신 프로토콜 스택에 따른 패킷 스트림을 다른 한 통신 프로토콜 스택에 따른 패킷 스트림으로 변환시키는 기능, 데이터 스트림들을 병합(merging) 및 분기(forking)시키는 기능, 및 유력한 다운링크 네트워크 조건들에 따라 순방향 스트림(forwarded stream)의 비트 레이트를 제어하는 기능과 같은, 다운링크 및/또는 수신기 능력들에 따라 데이터 스트림을 조작하는 기능과 같은, 서로 다른 타입들의 기능들을 수행할 수 있다. 게이트웨이(140)의 예들에는 다중점 회의 제어 유닛(multipoint coference control unit; MCU)들, 회선-교환 및 패킷-교환 비디오 전화 간의 게이트웨이들, PoC(Push-to-talk Over Cellular) 서버들, 디지털 비디오 브로드캐스팅-핸드헬드(digital video broadcasting-handheld; DVB-H) 시스템들의 IP 캡슐화기 또는 무선 홈 네트워크들에 국부적으로 브로드캐스트 전송들을 전달하는 셋-톱 박스들이 있다. RTP가 사용될 경우에, 게이트웨이(140)는 RTP 믹서 또는 RTP 변환기라고 지칭되며 RTP 접속의 엔드포인트로서의 역할을 수행하는 것이 전형적이다.
시스템은 전송된 신호를 수신 및 복조하여 이를 코딩된 미디어 비트스트림으로 역-캡슐화(de-capsulating)할 수 있는 것이 전형적인 하나 이상의 수신기(150)를 포함한다. 코딩된 미디어 비트스트림은 기록용 저장 장치(155)에 전달된다. 기록용 저장 장치(155)는 코딩된 미디어 비트스트림을 저장하도록 하는 임의 타입의 대용량 메모리를 포함할 수 있다. 기록용 저장 장치(155)는 랜덤 액세스 메모리와 같은 계산용 메모리를 선택적으로 또는 추가적으로 포함할 수 있다. 기록용 저장 장치(155) 내의 코딩된 미디어 비트스트림의 포맷은 자급식 엘리멘터리 비트스트림 포맷일 수도 있고, 하나 이상의 코딩된 미디어 비트스트림들은 하나의 콘테이너 파일 내에 캡슐화될 수도 있다. 서로 관련이 있는, 오디오 스트림 및 비디오 스트림과 같은, 코딩된 미디어 비트스트림이 여러 개 존재하는 경우에, 하나의 콘테이너 파일이 사용되는 것이 전형적이며 수신기(150)는 입력 스트림으로부터 콘테이너 파일을 생성하는 (도면에 도시되지 않은) 수신용 파일 생성기를 포함할 수도 있고 입력 스트림으로부터 콘테이너 파일을 생성하는 (도면에 도시되지 않은) 수신용 파일 생성기에 부착될 수도 있다. 일부 시스템들은 "생방송(live)"으로 동작하는데, 다시 말하면 저장 장치(155)를 생략하고 수신기(150)로부터 코딩된 미디어 비트스트림을 복호기(160)에 직접 전달한다. 일부 시스템들에서는, 기록되어 있는 스트림 중 단지 최근의 부분, 예컨대, 기록되어 있는 스트림 중 최근 10분 이내에 인용된 부분(most recent 10-minute excerption)은 기록용 저장 장치(155)에 유지되고, 이전에 기록된 임의의 데이터는 기록용 저장 장치(155)로부터 폐기된다.
코딩된 미디어 비트스트림은 기록용 저장 장치(155)로부터 복호기(160)로 전달된다. 서로 관련이 있으며 콘테이너 파일 내에 캡슐화되는, 오디오 스트림 및 비디오 스트림과 같은, 코딩된 미디어 비트스트림이 여러 개 존재하거나 단일의 미디어 비트스트림이 예컨대 보다 용이한 액세스를 위해 콘테이너 파일에 캡슐화될 경우에, (도면에 도시되지 않은) 파일 파서가 콘테이너 파일로부터 각각의 코딩된 미디어 스트림을 역-캡슐화하는데 사용된다. 기록용 저장 장치(155) 또는 복호기(160)는 파일 파서를 포함할 수도 있고 파일 파서는 기록용 저장 장치(155) 또는 복호기(160)에 부착될 수도 있다.
코덱 미디어 비트스트림은 복호기(160)에 의해 부가적으로 프로세싱되는 것이 전형적이며, 복호기의 출력은 하나 이상의 압축되지 않은 미디어 스트림들이다. 마지막으로, 렌더러(renderer; 170)는 예를 들면 라우드스피커 또는 디스플레이를 가지고 압축되지 않은 미디어 스트림들을 재생할 수 있다. 수신기(150), 기록용 저장 장치(155), 복호기(160), 및 렌더러(170)는 동일한 물리적 장치에 상주할 수도 있고, 수신기(150), 기록용 저장 장치(155), 복호기(160), 및 렌더러(170)는 개별 장치들에 포함되어 있을 수도 있다.
여러 실시예들에 따른 파일 생성기는 코딩된 미디어 비트스트림들로부터 다중-트랙 그룹들을 식별하거나 부호기(110)로부터 다중-트랙 그룹들의 식별를 수신한다. 파일 생성기는 다중 뷰 비디오 비트스트림의 의도된 출력 뷰들과 같은 서로 다른 기반을 통해 다중-트랙 그룹들을 형성할 수 있다. 파일 생성기는 파일의 특정의 다중-트랙 그룹 내에 코딩된 미디어 스트림들 중 어느 부분들이 포함되는 지에 관한 정보를 포함한다. 그러한 정보에 대한 포맷의 일례는 다중-트랙 그룹 박스이다. 파일 생성기는 또한, 예컨대 다중-트랙 그룹 관계(Multi-Track Group Relation) 박스를 사용하여 파일 내의 다중-트랙 그룹들 간의 관계들을 나타낼 수 있다. 여러 실시예들에 따른 수신용 파일 생성기는 파일 생성기와 마찬가지로 동작하지만, 코딩된 미디어 비트스트림들은 수신기(150)로부터 수신된다.
여러 실시예들에 따른 전송용 파일 파서는 전송을 위해 파일의 어느 부분이 캡슐화되는 지를 결정하도록 다중-트랙 그룹 특징들 및 관계들을 판독할 수 있다. 더군다나, 다중-트랙 그룹 정보는 통신 프로토콜을 통한 전송을 위한 캡슐화 정보를 위해 파일 생성기에서 생성될 수 있다. 그러한 캡슐화 정보는 예를 들면 다중 전송 세션들을 통해 다중-뷰 비디오 스트림을 전송하기 위한 패킷들을 형성하도록 하는 (힌트 트랙들과 같은) 명령어들일 수 있는데, 이 경우에 각각의 세션은 다중 뷰 비디오 스트림의 하나 이상의 뷰들을 반송(搬送)한다.
여러 실시예들에 따른 송신기(130)는, 수신기(150)의 요구들이나 비트스트림이 전달되는 네트워크의 유력한 조건들에 응답하도록 하는 것과 같은 여러 이유들 때문에 전송된 뷰들을 선택하도록 구성될 수 있다. 수신기로부터의 요구는 예컨대 이전의 능력에 비해 다른 능력들을 갖는 렌더링 장치의 디스플레이 또는 변경을 위한 뷰들의 변경을 위한 요구일 수 있다. 전송된 뷰들을 선택하도록 구성된 송신기(130)는 전송된 뷰들을 선택할 경우에 전송용 파일 파서를 사용할 수도 있고 전송된 뷰들을 선택할 경우에 전송용 파일 파서에 동작가능하게 접속될 수도 있다.
여러 실시예들에 따른 파일 파서는 파일 내에 포함된 개별 포시들에 기반하여 파일로부터 다중-트랙 그룹들을 식별한다. 파일 파서는 다중-트랙 그룹들의 특징들 및 서로 간의 다중-트랙 그룹들의 관계(공통된 그리고 차별화된 속성들)에 관한 정보를 판독한다. 그러한 특징들 및 관계들에 기반하여, 파일 파서는 프로세싱을 위해 다중-트랙 그룹을 선택한다. 파일 파서는 예컨대 출력 뷰들의 정확한 개수를 갖고 렌더링을 위해 사용되는 디스플레이의 특징들에 맞는 진성 카메라 매개변수들을 갖는 그러한 다중 뷰 비디오 다중-트랙 그룹을 선택할 수 있다. 그러한 프로세싱은, 파일로부터 다중-트랙 그룹에 대응되는 미디어 데이터를 추출하고, 잠재적으로는 추출된 미디어 데이터를 재형성하며, 그리고 복호화 및 렌더링을 위해 재형성된 미디어 데이터를 복호기(160)에 전달하는 것을 포함하는 것이 일반적이다.
여러 실시예들에 다른 파일 편집기는 파일 내에 포함된 개별 표시들에 기반하여 파일로부터 다중-트랙 그룹들을 식별한다. 파일 편집기는 다중-트랙 그룹들의 특징들 및 서로 간의 다중-트랙 그룹들의 관계들(공통된 그리고 차별화된 속성들)에 관한 정보를 판독한다. 그러한 특징들 및 관계들에 기반하여, 파일 파서는 파일에서 어느 다중-트랙 그룹들이 유지고 어느 다중-트랙 그룹들이 제거되는지를 선택한다. 파일 편집기는 예컨대 타깃 파일을 위해 원하는 개수의 출력 뷰들을 갖는 그러한 다중 뷰 비디오 다중 트랙 그룹을 선택할 수 있다. 파일 편집기는 파일로부터 제거되고 파일에서 유지되지 않는 미디어 데이터를 식별한다. 그리고나서, 파일 편집기는 그러한 미디어 데이터 및 관련 파일 메타데이터를 제거한다. 파일 편집기는 또한 미디어 데이터를 파일 내에 추가할 수 있다. 미디어 데이터가 파일 내에 존재하는 미디어 데이터에 관한 것이거나 다중-트랙 그룹들이 추가된 미디어 데이터에 기반하여 형성될 수 있는 경우에, 파일 편집기는 파일 내의 코딩된 미디어로부터 다중-트랙 그룹들을 식별한다. 파일 편집기는 파일 내의 특정 다중-트랙 그룹 내에 코딩된 미디어 비트스트림들 중 어느 부분들이 포함되어 있는 지에 관한 정보를 포함한다. 파일 편집기는 또한 파일 내의 다중-트랙 그룹들 간의 관계들을 나타낼 수 있다.
본원 명세서에 기재된 여러 실시예들은, 한 실시예에서 네트워크 환경의 컴퓨터들에 의해 실행되는, 프로그램 코드와 같은 컴퓨터 실행가능 명령어들을 포함하는, 컴퓨터 판독가능 매체에 수록된 컴퓨터 프로그램 생성물에 의해 구현될 수 있는 방법적인 단계들 또는 프로세스들의 일반적인 문맥으로 설명될 수 있다. 컴퓨터 판독가능 매체는 판독 전용 메모리(Read Only Memory; ROM), 랜덤 액세스 메모리(Random Access Memory; RAM), 콤팩트 디스크(compact disc; CD)들, 디지털 다기능 디스크(digital versatile disc; DVD)들 등등을 포함하지만, 이들에 국한되지 않는 착탈식 및 비-착탈식 저장 장치들을 포함할 수 있다. 일반적으로는, 특정의 태스크들을 수행하거나 특정의 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등등을 포함할 수 있다. 컴퓨터 실행가능 명령어들, 관련 데이터 구조들, 및 프로그램 모듈들은 본원 명세서에 개시된 방법들의 단계들을 실행하기 위한 프로그램 코드의 예들을 나타낸다. 그러한 실행가능 명령어들 또는 관련 데이터 구조들의 특정의 시퀀스는 그러한 단계들 또는 프로세스들에서 설명된 기능들을 구현하기 위한 해당 동작들의 예들을 나타낸다.
본 발명의 실시예들은 소프트웨어, 하드웨어, 애플리케이션 논리, 또는 소프트웨어, 하드웨어 및 애플리케이션 논리의 조합으로 구현될 수 있다. 상기 소프트웨어, 애플리케이션 논리 및/또는 하드웨어는 예를 들면 칩셋, 이동 장치, 데스크톱, 랩톱 또는 서버에 상주할 수 있다. 여러 실시예들의 소프트웨어 및 웹 구현들은 여러 데이터베이스 탐색 단계들 또는 프로세스들, 상관 단계들 또는 프로세스들, 비교 단계들 또는 프로세스들 및 결정 단계들 또는 프로세스들을 달성하도록 규칙 기반 논리 및 다른 논리를 이용한 표준 프로그래밍 기법으로 달성될 수 있다. 여러 실시예들은 또한 네트워크 요소들 또는 모듈들 내에서 완전하거나 부분적으로 구현될 수 있다. 여기서 유념해야 할 점은 본원 명세서에서 사용되고 이하의 청구범위에서 사용되는 용어들 "컴포넌트" 및 "모듈"은 소프트웨어 코드, 및/또는 하드웨어 구현들, 및/또는 수동 입력들을 수신하는 기기의 하나 이상의 라인들을 사용한 구현들을 포함하도록 의도된 것이라는 점이다.
앞서 언급된 본 발명의 실시예들의 설명은 예시 및 설명을 목적으로 제공된 것이다. 앞서 언급된 설명은 개시된 정확한 형태로 본 발명을 한정하거나 검토하도록 의도된 것이 아니며, 위의 교시들에 비추어 볼 때 변형 및 수정예들이 가능할 수도 있고 본 발명의 실시로부터 변형 및 수정예들이 도출될 수도 있다. 본원 명세서에서 논의된 실시예들은 당업자가 여러 실시예들을 통해 그리고 고려된 특정 용도에 적합한 여러 변형들을 통해 본 발명을 활용할 수 있도록 본 발명의 원리들 및 그의 실제 적용예를 설명하기 위해 선택되어 기재된 것이다.

Claims (17)

  1. 트랙 또는 트랙 서브세트의 그룹화를 위한 방법으로서,
    복수의 트랙들 또는 트랙 서브세트들로 실-시간 다중 뷰 멀티미디어 데이터를 저장하는 것;
    하나 이상의 다중-트랙 그룹들을 식별하는 것; 및
    다중 뷰 멀티미디어 데이터용으로 특정된 상기 다중-트랙 그룹들의 하나 이상의 특징들에 기반하여 적어도 하나의 다중-트랙 그룹 세트를 형성하는 것;
    을 포함하고,
    각각의 다중-트랙 그룹은 상기 복수의 트랙들 또는 트랙 서브세트들 중 하나 이상의 트랙들 또는 트랙 서브세트들 간의 관계에 적어도 부분적으로 기반하여 식별되는, 트랙 또는 트랙 서브세트의 그룹화를 위한 방법.
  2. 제1항에 있어서, 상기 트랙 또는 트랙 서브세트의 그룹화를 위한 방법은,
    2개 이상의 다중-트랙 그룹들 간에 적어도 하나의 관계를 식별하는 것;
    을 더 포함하는, 트랙 또는 트랙 서브세트의 그룹화를 위한 방법.
  3. 제1항에 있어서, 하나 이상의 다중-트랙 그룹들을 식별하는 것은,
    적어도 하나의 트랙 서브세트에 기반하여 다중-트랙 그룹을 식별하는 것;
    서로 다른 장면 뷰들을 나타내는 멀티미디어 데이터에 상응하는 다중 트랙들 또는 트랙 서브세트들을 그룹화하는 것;
    트랙들 또는 트랙 서브세트들 간의 관계들을 나타내도록 다중-트랙 그룹 박스를 사용하는 것; 중의 적어도 하나를 포함하는, 트랙 또는 트랙 서브세트의 그룹화를 위한 방법.
  4. 제1항에 있어서, 상기 트랙 또는 트랙 서브세트의 그룹화를 위한 방법은,
    2개 이상의 다중-트랙 그룹 세트들 간의 적어도 하나의 관계를 나타내는 것;
    을 더 포함하는, 트랙 또는 트랙 서브세트의 그룹화를 위한 방법.
  5. 제1항에 있어서, 적어도 하나의 다중-트랙 그룹 세트를 형성하는 것은,
    다중-뷰 미디어 렌더링, 코딩 또는 뷰 포인트 캡쳐링(capturing point of view)으로부터의 유사한 특징들에 적어도 부분적으로 기반하여 적어도 하나의 다중-트랙 그룹 세트를 형성하는 것;과
    다중-트랙 그룹들 간의 관계들을 나타내도록 다중-트랙 그룹 관계 박스를 사용하여 적어도 하나의 다중-트랙 그룹 세트를 형성하는 것; 중의 적어도 하나를 포함하는, 트랙 또는 트랙 서브세트의 그룹화를 위한 방법.
  6. 제5항에 있어서, 다중-트랙 그룹들 간의 관계들을 나타내도록 다중-트랙 그룹 관계 박스를 사용할 경우에, 다중-트랙 그룹들 간의 관계들을 나타내기 위해 하나 이상의 기준들이 사용되는, 트랙 또는 트랙 서브세트의 그룹화를 위한 방법.
  7. 제6항에 있어서, 한 기준은 상기 다중-트랙 그룹들 중 단지 하나의 다중-트랙 그룹이 한번에 처리되어야 한다는 것을 나타내는, 트랙 또는 트랙 서브세트의 그룹화를 위한 방법.
  8. 컴퓨터 프로그램이 수록된 컴퓨터-판독가능 저장 매체로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행될 때, 제1항 내지 제7항 중 어느 한 항에 기재된 프로세스들을 수행하게 하는 컴퓨터-실행가능 명령어들을 포함하는, 컴퓨터-판독가능 저장 매체.
  9. 트랙 또는 트랙 서브세트의 그룹화를 위한 장치로서,
    실-시간 멀티미디어 데이터를 저장하고 컴퓨터 프로그램 코드를 포함하는 메모리; 및
    프로세서;를 포함하며,
    상기 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서와 함께 동작하여, 상기 장치로 하여금, 적어도
    복수의 트랙들 또는 트랙 서브세트들로 실-시간 멀티미디어 데이터를 저장하는 동작;
    하나 이상의 다중-트랙 그룹들을 식별하는 동작; 및
    상기 다중-트랙 그룹들의 하나 이상의 특징들에 관련된 적어도 하나의 다중-트랙 그룹 세트를 형성하는 동작;
    을 수행하게 하도록 구성되며,
    각각의 다중-트랙 그룹은 상기 복수의 트랙들 또는 트랙 서브세트들 중 하나 이상의 트랙들 또는 트랙 서브세트들 간의 관계에 적어도 부분적으로 기반하여 식별되는, 트랙 또는 트랙 서브세트의 그룹화를 위한 장치.
  10. 제9항에 있어서, 상기 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서와 함께 동작하여, 상기 장치로 하여금,
    2개 이상의 다중-트랙 그룹들 간에 적어도 하나의 관계를 식별하는 동작;을 수행하게 하도록 더 구성되는, 트랙 또는 트랙 서브세트의 그룹화를 위한 장치.
  11. 제9항에 있어서, 상기 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서와 함께 동작하여, 상기 장치로 하여금,
    하나 이상의 다중-트랙 그룹들을 식별함에 있어서,
    적어도 하나의 트랙 서브세트에 기반하여 다중-트랙 그룹을 식별하는 동작;
    서로 다른 장면 뷰들을 나타내는 멀티미디어 데이터에 상응하는 다중 트랙들 또는 트랙 서브세트들을 그룹화하는 동작;
    트랙들 또는 트랙 서브세트들 간의 관계들을 나타내도록 다중-트랙 그룹 박스를 사용하는 동작;을 적어도 수행하게 하도록 더 구성되는, 트랙 또는 트랙 서브세트의 그룹화를 위한 장치.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서, 상기 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서와 함께 동작하여, 상기 장치로 하여금,
    2개 이상의 다중-트랙 그룹 세트들 간의 적어도 하나의 관계를 나타내는 동작을 수행하게 하도록 더 구성되는, 트랙 또는 트랙 서브세트의 그룹화를 위한 장치.
  13. 제9항에 있어서, 적어도 하나의 다중-트랙 그룹 세트를 형성하는 것은,
    다중-뷰 미디어 렌더링, 코딩 또는 뷰 포인트 캡쳐링(capturing point of view)으로부터의 유사한 특징들에 적어도 부분적으로 기반하여 적어도 하나의 다중-트랙 그룹 세트를 형성하는 것;과
    다중-트랙 그룹들 간의 관계들을 나타내도록 다중-트랙 그룹 관계 박스를 사용하여 적어도 하나의 다중-트랙 그룹 세트를 형성하는 것; 중의 적어도 하나를 포함하는, 트랙 또는 트랙 서브세트의 그룹화를 위한 장치.
  14. 제13항에 있어서, 다중-트랙 그룹들 간의 관계들을 나타내도록 다중-트랙 그룹 관계 박스를 사용할 경우에, 다중-트랙 그룹들 간의 관계들을 나타내기 위해 하나 이상의 기준들이 사용되는, 트랙 또는 트랙 서브세트의 그룹화를 위한 장치.
  15. 제14항에 있어서, 한 기준은 상기 다중-트랙 그룹들 중 단지 하나의 다중-트랙 그룹이 한번에 처리되어야 한다는 것을 나타내는, 트랙 또는 트랙 서브세트의 그룹화를 위한 장치.
  16. 삭제
  17. 삭제
KR1020117003634A 2008-07-16 2009-07-16 트랙 및 트랙 서브세트의 그룹화를 위한 방법 및 장치 KR101242472B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8132808P 2008-07-16 2008-07-16
US61/081,328 2008-07-16
PCT/IB2009/006263 WO2010007513A1 (en) 2008-07-16 2009-07-16 Method and apparatus for track and track subset grouping

Publications (2)

Publication Number Publication Date
KR20110033273A KR20110033273A (ko) 2011-03-30
KR101242472B1 true KR101242472B1 (ko) 2013-03-12

Family

ID=41550050

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117003634A KR101242472B1 (ko) 2008-07-16 2009-07-16 트랙 및 트랙 서브세트의 그룹화를 위한 방법 및 장치

Country Status (10)

Country Link
US (1) US20100153395A1 (ko)
EP (1) EP2314072B1 (ko)
JP (1) JP5462259B2 (ko)
KR (1) KR101242472B1 (ko)
CN (1) CN102132562B (ko)
CA (1) CA2730543C (ko)
RU (1) RU2492585C2 (ko)
TW (1) TWI473016B (ko)
WO (1) WO2010007513A1 (ko)
ZA (1) ZA201101158B (ko)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210202B2 (en) * 2007-06-20 2015-12-08 Qualcomm Incorporated System and method for sharing media in a group communication among wireless communication devices
US20100190478A1 (en) * 2009-01-23 2010-07-29 Qualcomm Incorporated System and method for push-to-share file distribution with previews
US9674675B2 (en) 2007-06-20 2017-06-06 Qualcomm Incorporated Synchronizing floor control and media sharing in a half-duplex PTT system
WO2010060442A1 (en) * 2008-11-26 2010-06-03 Telefonaktiebolaget Lm Ericsson (Publ) Technique for handling media content to be accessible via multiple media tracks
RU2534936C2 (ru) * 2009-04-09 2014-12-10 Телефонактиеболагет Лм Эрикссон (Пабл) Управление мультимедийными контейнерными файлами
US8719309B2 (en) * 2009-04-14 2014-05-06 Apple Inc. Method and apparatus for media data transmission
US8949289B2 (en) * 2009-05-05 2015-02-03 NoteVault, Inc. System and method for multilingual transcription service with automated notification services
US9680892B2 (en) * 2009-06-26 2017-06-13 Adobe Systems Incorporated Providing integration of multi-bit-rate media streams
US8976871B2 (en) 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
CN102714715B (zh) * 2009-09-22 2016-01-20 高通股份有限公司 用于文件格式轨迹选择的媒体提取器轨迹
US8340578B2 (en) 2009-10-05 2012-12-25 Apple Inc. Methods and apparatus for enhanced coexistence algorithms in wireless systems
US8693569B2 (en) * 2009-10-19 2014-04-08 Apple Inc. Methods and apparatus for dynamic wireless device coexistence
KR101594048B1 (ko) * 2009-11-09 2016-02-15 삼성전자주식회사 카메라들의 협력을 이용하여 3차원 이미지를 생성하는 방법 및 상기 방법을 위한 장치
US8892145B2 (en) * 2010-02-18 2014-11-18 Qualcomm Incorporated System and method for selective media object removal in group communications among wireless communication devices
RU2690755C2 (ru) 2010-02-19 2019-06-05 Телефонактиеболагет Л М Эрикссон (Пабл) Способ и устройство для переключения воспроизведений в потоковой передаче по протоколу передачи гипертекста
US9460232B2 (en) * 2010-04-07 2016-10-04 Oracle International Corporation Searching document object model elements by attribute order priority
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
JP5625512B2 (ja) * 2010-06-09 2014-11-19 ソニー株式会社 符号化装置、符号化方法、プログラム、および記録媒体
US20130097334A1 (en) * 2010-06-14 2013-04-18 Thomson Licensing Method and apparatus for encapsulating coded multi-component video
US8819557B2 (en) 2010-07-15 2014-08-26 Apple Inc. Media-editing application with a free-form space for organizing or compositing media clips
US9323438B2 (en) 2010-07-15 2016-04-26 Apple Inc. Media-editing application with live dragging and live editing capabilities
US8875025B2 (en) 2010-07-15 2014-10-28 Apple Inc. Media-editing application with media clips grouping capabilities
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
JP5652642B2 (ja) * 2010-08-02 2015-01-14 ソニー株式会社 データ生成装置およびデータ生成方法、データ処理装置およびデータ処理方法
CN101951504B (zh) * 2010-09-07 2012-07-25 中国科学院深圳先进技术研究院 基于重叠边界的多媒体切片转码方法和系统
US9009118B2 (en) * 2010-10-20 2015-04-14 Apple Inc. Temporal metadata track
US9116988B2 (en) 2010-10-20 2015-08-25 Apple Inc. Temporal metadata track
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
US8954477B2 (en) 2011-01-28 2015-02-10 Apple Inc. Data structures for a media-editing application
US8599709B2 (en) 2011-02-10 2013-12-03 Apple Inc. Methods and apparatus for wireless coexistence based on transceiver chain emphasis
US11747972B2 (en) 2011-02-16 2023-09-05 Apple Inc. Media-editing application with novel editing tools
US8966367B2 (en) 2011-02-16 2015-02-24 Apple Inc. Anchor override for a media-editing application with an anchored timeline
US9997196B2 (en) 2011-02-16 2018-06-12 Apple Inc. Retiming media presentations
ES2714756T3 (es) * 2011-06-30 2019-05-29 Ericsson Telefon Ab L M Señalización de imágenes de referencia
KR101885852B1 (ko) 2011-09-29 2018-08-08 삼성전자주식회사 컨텐트 전송 및 수신 방법 및 장치
US8995929B2 (en) 2011-12-06 2015-03-31 Apple Inc. Methods and apparatus for wireless optimization based on platform configuration and use cases
TWI606718B (zh) * 2012-01-03 2017-11-21 杜比實驗室特許公司 規定視覺動態範圍編碼操作及參數
US9219929B2 (en) * 2012-02-27 2015-12-22 Fritz Barnes Enhanced startup and channel change for fragmented media stream delivery
US9165603B2 (en) * 2012-03-29 2015-10-20 Adobe Systems Incorporated Method and apparatus for grouping video tracks in a video editing timeline
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
US10205961B2 (en) * 2012-04-23 2019-02-12 Qualcomm Incorporated View dependency in multi-view coding and 3D coding
US9161004B2 (en) 2012-04-25 2015-10-13 Qualcomm Incorporated Identifying parameter sets in video files
KR101995270B1 (ko) 2012-04-25 2019-07-03 삼성전자주식회사 비디오 데이터를 재생하는 방법 및 장치
US8995553B2 (en) 2012-06-08 2015-03-31 Apple Inc. Methods and apparatus for mitigating interference in aggressive form factor designs
US9716892B2 (en) * 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US9351005B2 (en) 2012-09-24 2016-05-24 Qualcomm Incorporated Bitstream conformance test in video coding
US9565452B2 (en) * 2012-09-28 2017-02-07 Qualcomm Incorporated Error resilient decoding unit association
US20140092953A1 (en) * 2012-10-02 2014-04-03 Sharp Laboratories Of America, Inc. Method for signaling a step-wise temporal sub-layer access sample
US9380317B2 (en) 2012-10-08 2016-06-28 Qualcomm Incorporated Identification of operation points applicable to nested SEI message in video coding
US11290510B2 (en) 2012-11-29 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files
US9014544B2 (en) 2012-12-19 2015-04-21 Apple Inc. User interface for retiming in a media authoring tool
US9648299B2 (en) 2013-01-04 2017-05-09 Qualcomm Incorporated Indication of presence of texture and depth views in tracks for multiview coding plus depth
RU2654051C1 (ru) * 2013-01-18 2018-05-16 Кэнон Кабусики Кайся Способ, устройство и компьютерная программа для инкапсуляции сегментированных синхронизированных мультимедийных данных
US9426242B2 (en) * 2013-01-29 2016-08-23 Apple Inc. Determining an invitational content item type based on predicted user attention
US20140307803A1 (en) 2013-04-08 2014-10-16 Qualcomm Incorporated Non-entropy encoded layer dependency information
TWI535282B (zh) * 2013-07-10 2016-05-21 宏達國際電子股份有限公司 用於產生多視點視訊的方法和電子裝置
US10141022B2 (en) 2013-07-10 2018-11-27 Htc Corporation Method and electronic device for generating multiple point of view video
GB2516825B (en) * 2013-07-23 2015-11-25 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
GB2542282B (en) * 2013-10-22 2018-08-01 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data in a server
US9648348B2 (en) * 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs
JP2016541140A (ja) * 2013-11-13 2016-12-28 エルジー エレクトロニクス インコーポレイティド Hdr放送サービスの提供のための放送信号送受信方法及び装置
US20150187390A1 (en) * 2013-12-30 2015-07-02 Lyve Minds, Inc. Video metadata
KR102141520B1 (ko) * 2014-02-21 2020-08-05 삼성전자주식회사 무안경 다시점 영상 디스플레이 장치
BR112016027506B1 (pt) * 2014-05-30 2023-04-11 Sony Corporation Aparelho e método de processamento de informação
MX368088B (es) * 2014-06-30 2019-09-19 Sony Corp Procesador de informacion y metodo de procesamiento de informacion.
US10484725B2 (en) 2014-09-26 2019-11-19 Sony Corporation Information processing apparatus and information processing method for reproducing media based on edit file
US10733146B2 (en) 2014-09-30 2020-08-04 Apple Inc. Inline keyed metadata
GB201502205D0 (en) * 2015-02-10 2015-03-25 Canon Kabushiki Kaisha And Telecom Paris Tech Image data encapsulation
US9922680B2 (en) * 2015-02-10 2018-03-20 Nokia Technologies Oy Method, an apparatus and a computer program product for processing image sequence tracks
US9928297B2 (en) * 2015-02-11 2018-03-27 Qualcomm Incorporated Sample grouping signaling in file formats
US9747108B2 (en) * 2015-03-27 2017-08-29 Intel Corporation User-level fork and join processors, methods, systems, and instructions
GB2539461B (en) * 2015-06-16 2020-01-08 Canon Kk Image data encapsulation
US20160373771A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Design of tracks and operation point signaling in layered hevc file format
US10034010B2 (en) * 2015-10-14 2018-07-24 Qualcomm Incorporated Alignment of operation point sample group in multi-layer bitstreams file format
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
US10291923B2 (en) * 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
US10937460B2 (en) 2016-06-09 2021-03-02 Apple Inc. Media files and protocols supporting runtime dependent tracks
US11197040B2 (en) 2016-10-17 2021-12-07 Mediatek Inc. Deriving and signaling a region or viewport in streaming media
US11062738B2 (en) * 2017-03-23 2021-07-13 Qualcomm Incorporated Signalling of video content including sub-picture bitstreams for video coding
US11049323B2 (en) * 2017-03-24 2021-06-29 Mediatek Inc. Method and apparatus for deriving VR projection, packing, ROI and viewport related tracks in ISOBMFF and supporting viewport roll signaling
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
CN107392220B (zh) * 2017-05-31 2020-05-05 创新先进技术有限公司 数据流的聚类方法和装置
GB2563865A (en) * 2017-06-27 2019-01-02 Canon Kk Method, device, and computer program for transmitting media content
GB2567625B (en) * 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
US10939086B2 (en) * 2018-01-17 2021-03-02 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
RU2683499C1 (ru) 2018-03-15 2019-03-28 Антон Владимирович Роженков Система автоматического создания сценарного видеоролика с присутствием в кадре заданного объекта или группы объектов
WO2019187430A1 (ja) * 2018-03-29 2019-10-03 ソニー株式会社 情報処理装置、方法、及びプログラム
US10944977B2 (en) 2018-04-03 2021-03-09 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding overlay compositions
GB2582024B (en) * 2019-03-08 2022-06-08 Canon Kk Method and apparatus for encapsulating groups of images in a file
WO2019192870A1 (en) 2018-04-05 2019-10-10 Canon Kabushiki Kaisha Method and apparatus for encapsulating images or sequences of images with proprietary information in a file
US11146802B2 (en) * 2018-04-12 2021-10-12 Mediatek Singapore Pte. Ltd. Methods and apparatus for providing two-dimensional spatial relationships
US10869016B2 (en) 2018-04-12 2020-12-15 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
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
CN110876051B (zh) * 2018-08-29 2023-04-11 中兴通讯股份有限公司 视频数据的处理,传输方法及装置,视频数据的处理系统
WO2020053477A2 (en) * 2018-09-12 2020-03-19 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US11183220B2 (en) 2018-10-03 2021-11-23 Mediatek Singapore Pte. Ltd. Methods and apparatus for temporal track derivations
CN109815210B (zh) * 2018-12-29 2022-04-29 河北省科学院应用数学研究所 轨道电压异常数据监测方法、系统及终端设备
US11205456B2 (en) * 2019-01-09 2021-12-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using edit operations to perform temporal track derivations
US11581022B2 (en) * 2019-05-29 2023-02-14 Nokia Technologies Oy Method and apparatus for storage and signaling of compressed point clouds
EP4029275A1 (en) * 2019-09-13 2022-07-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
GB2587364B (en) * 2019-09-24 2023-11-15 Canon Kk Method, device, and computer program for encapsulating media data into a media file
US10964089B1 (en) 2019-10-07 2021-03-30 Sony Corporation Method and apparatus for coding view-dependent texture attributes of points in a 3D point cloud
US11589032B2 (en) * 2020-01-07 2023-02-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using track derivations to generate new tracks for network based media processing applications
CN116601962A (zh) * 2020-12-09 2023-08-15 弗劳恩霍夫应用研究促进协会 具有改进的访问单元分隔符、序列末尾、比特流末尾和其他非视频编码层网络访问层单元的文件生成器、文件解析器、方法和视频比特流
KR20230122106A (ko) * 2020-12-21 2023-08-22 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 코딩된 비디오 시퀀스들에 대해 파라미터 세트들을사용하는 파일 파서, 파일 생성기, 인코더, 디코더, 클라이언트, 서버, 및 방법들
CN112804256B (zh) * 2021-02-09 2022-05-24 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
WO2024076494A1 (en) * 2022-10-03 2024-04-11 Bytedance Inc. Enhanced signalling of preselection in a media file

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040041174A (ko) * 2001-09-24 2004-05-14 노키아 코포레이션 메타-데이터 및 미디어-데이터를 포함하는 멀티미디어파일의 스트리밍
KR20060029137A (ko) * 2003-07-11 2006-04-04 마쯔시다덴기산교 가부시키가이샤 미디어 데이터 표시 장치, 미디어 데이터 표시 방법 및미디어 데이터 표시 프로그램
US20080052306A1 (en) 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993021636A1 (en) * 1992-04-10 1993-10-28 Avid Technology, Inc. A method and apparatus for representing and editing multimedia compositions
EP0836191B1 (en) * 1993-10-29 1999-03-03 Kabushiki Kaisha Toshiba Method and apparatus for reproducing data from a recording medium
US5632007A (en) * 1994-09-23 1997-05-20 Actv, Inc. Interactive system and method for offering expert based interactive programs
JP3345352B2 (ja) * 1995-08-21 2002-11-18 松下電器産業株式会社 記録媒体の記録方法
JP3403636B2 (ja) * 1998-04-06 2003-05-06 パイオニア株式会社 情報記録媒体及びその再生装置
ID27746A (id) * 1999-05-28 2001-04-26 Matsushita Electric Ind Co Ltd Kartu semikonduktor, peralatan playback, peralatan perekaman, metoda playback, metoda perekaman, dan media perekaman dapat dibaca kombuter
SK282249B6 (sk) * 1999-08-17 2001-12-03 Juraj Kelly�R Spôsob záznamu, reprodukcie alebo projekcie digitálnych alebo analógových, vzorkovaných alebo spojitých audio- a/alebo videozáznamov
JP2003179867A (ja) * 2001-12-10 2003-06-27 Sony Corp データ処理装置、データ処理方法、および情報記憶媒体、並びにコンピュータ・プログラム
US20040199565A1 (en) * 2003-02-21 2004-10-07 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US7613727B2 (en) * 2002-02-25 2009-11-03 Sont Corporation Method and apparatus for supporting advanced coding formats in media files
AU2003202528A1 (en) * 2002-04-01 2003-10-23 Sony Corporation Track management method and apparatus for managing tracks on a storage medium
US7251376B2 (en) * 2003-08-29 2007-07-31 Canadian Space Agency Data compression engines and real-time wideband compressor for multi-dimensional data
KR101199498B1 (ko) * 2005-03-31 2012-11-09 삼성전자주식회사 카메라 파라미터를 이용한 다시점 영상의 부호화 장치 및생성 장치, 그 방법과, 이를 수행하기 위한 프로그램이기록된 기록 매체
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US7344679B2 (en) * 2005-10-14 2008-03-18 International Business Machines Corporation Method and apparatus for point of care osmolarity testing
KR20070108434A (ko) * 2006-01-09 2007-11-12 한국전자통신연구원 SVC(Scalable Video Coding)파일포맷에서의 데이터 공유 개선방법
KR100889745B1 (ko) * 2006-01-09 2009-03-24 한국전자통신연구원 날 유닛 타입 표시방법 및 그에 따른 비트스트림 전달장치및 리던던트 슬라이스 부호화 장치
JP2006230001A (ja) * 2006-03-20 2006-08-31 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体
CN1960328B (zh) * 2006-08-14 2010-05-12 中兴通讯股份有限公司 一种移动多媒体广播实时流的封装方法
US9807431B2 (en) * 2006-10-20 2017-10-31 Nokia Technologies Oy Generic indication of adaptation paths for scalable multimedia
US20080263010A1 (en) * 2006-12-12 2008-10-23 Microsoft Corporation Techniques to selectively access meeting content
KR101663438B1 (ko) * 2007-04-18 2016-10-06 톰슨 라이센싱 코딩 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040041174A (ko) * 2001-09-24 2004-05-14 노키아 코포레이션 메타-데이터 및 미디어-데이터를 포함하는 멀티미디어파일의 스트리밍
KR20060111904A (ko) * 2001-09-24 2006-10-30 노키아 코포레이션 메타-데이터 및 미디어-데이터를 포함하는 멀티미디어파일의 스트리밍
KR20060029137A (ko) * 2003-07-11 2006-04-04 마쯔시다덴기산교 가부시키가이샤 미디어 데이터 표시 장치, 미디어 데이터 표시 방법 및미디어 데이터 표시 프로그램
US20080052306A1 (en) 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files

Also Published As

Publication number Publication date
US20100153395A1 (en) 2010-06-17
CN102132562B (zh) 2014-10-22
RU2011104986A (ru) 2012-08-27
CA2730543A1 (en) 2010-01-21
JP2011528868A (ja) 2011-11-24
CA2730543C (en) 2014-04-22
ZA201101158B (en) 2012-08-29
EP2314072A4 (en) 2011-08-03
WO2010007513A1 (en) 2010-01-21
TWI473016B (zh) 2015-02-11
EP2314072B1 (en) 2014-08-27
CN102132562A (zh) 2011-07-20
JP5462259B2 (ja) 2014-04-02
EP2314072A1 (en) 2011-04-27
TW201009701A (en) 2010-03-01
RU2492585C2 (ru) 2013-09-10
KR20110033273A (ko) 2011-03-30

Similar Documents

Publication Publication Date Title
KR101242472B1 (ko) 트랙 및 트랙 서브세트의 그룹화를 위한 방법 및 장치
US11375291B2 (en) Virtual reality video signaling in dynamic adaptive streaming over HTTP
JP6345827B2 (ja) ビデオデータをストリーミングするためのシーケンスデータセットを提供すること
KR102037009B1 (ko) 동작 포인트 디스크립터가 동적으로 설정될 수 있는 캡슐화된 비트-스트림으로부터 미디어 데이터 및 메타데이터를 획득하는 방법, 디바이스, 및 컴퓨터 프로그램
US9992555B2 (en) Signaling random access points for streaming video data
US8976871B2 (en) Media extractor tracks for file format track selection
RU2541155C2 (ru) Размещение фрагментов субтрека для потоковой передачи видеоданных
TWI458334B (zh) 用於檔案格式軌跡選擇之媒體提取器軌跡
US10567734B2 (en) Processing omnidirectional media with dynamic region-wise packing
CN110870323B (zh) 使用全向媒体格式处理媒体数据

Legal Events

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