KR20100043108A - 스트리밍된 데이터의 조직화 방법, 컴퓨터 판독가능한 저장 매체, 수신기 및 장치 - Google Patents
스트리밍된 데이터의 조직화 방법, 컴퓨터 판독가능한 저장 매체, 수신기 및 장치 Download PDFInfo
- Publication number
- KR20100043108A KR20100043108A KR1020107006107A KR20107006107A KR20100043108A KR 20100043108 A KR20100043108 A KR 20100043108A KR 1020107006107 A KR1020107006107 A KR 1020107006107A KR 20107006107 A KR20107006107 A KR 20107006107A KR 20100043108 A KR20100043108 A KR 20100043108A
- Authority
- KR
- South Korea
- Prior art keywords
- metadata
- streamed data
- group
- sample
- track
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/71—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/489—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/7867—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/908—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Library & Information Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
본 발명의 스트리밍된 데이터를 조직화하는 방법은, 스트리밍된 데이터를 파일에 저장하는 단계와, 스트리밍된 데이터의 서브셋에 적용가능한 메타데이터를 식별하는 단계와, 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 형성하는 단계를 포함하고, 하나의 그룹 내의 각 샘플은 메타데이터 타입에 대해 동일한 메타데이터 콘텐트를 갖는다. 이 파일은 ISO 베이스 미디어 파일 포맷에 따른다. 스트리밍된 데이터를 파일에 저장하는 것은 스트리밍된 데이터를 리셉션 힌트 트랙에 저장하는 것을 포함할 수 있다. 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시될 수 있다. 메타데이터 타입은 그룹핑 타입 및 그룹핑 인스턴스 데이터에 의해 표시될 수 있고, 그룹핑 타입은 그룹핑 인스턴스 데이터 및 메타데이터 콘텐트의 의미를 명시한다. 메타데이터 콘텐트는 메타데이터 페이로드 및 0 이상의 메타데이터 페이로드 확장자를 포함하고, 이때 메타데이터 페이로드는 제 1 구조 내에 포함되며, 0 이상의 메타데이터 페이로드 확장자는 제 2 구조 내에 포함된다.
Description
본 발명은 일반적으로 스트리밍된 멀티미디어 데이터 분야에 관한 것으로, 보다 구체적으로는 메타데이터 및/또는 인덱스를 갖는 멀티미디어 데이터의 조직화(organization)에 관한 것이다.
본 섹션은 특허청구범위에 기재된 본 발명에 대한 배경기술 또는 맥락을 제공하기 위한 것이다. 본 명세서의 설명은 추구되었을 수 있는 컨셉을 포함할 수 있지만, 반드시 이전에 고려되었거나 추구되어온 개념만 있는 것은 아니다. 따라서, 특별한 언급이 없는 한, 본 섹션에 기술된 내용은 본 발명의 명세서의 상세한 설명 및 특허청구범위에 대한 종래기술이 아니며, 본 섹션에 포함되었다고 해서 종래기술로 인정하는 것은 아니다.
멀티미디어 컨테이너 파일 포맷은 멀티미디어 콘텐트 생성, 조작, 전송 및 소비의 고리에서 중요한 요소이다. (기본적인 스트림 포맷으로도 알려진) 코딩 포맷과 컨테이너 파일 포맷 사이에는 실질적인 차이가 존재한다. 코딩 포맷은 콘텐트 정보를 비트스트림으로 코딩하는 특정한 코딩 알고리즘의 동작과 관련된다. 컨테이너 파일 포맷은 다양한 저장 및 수송 아키텍처를 이용하여, 생성된 비트스트림을 로컬 디코딩 및 재생을 위해 액세스될 수 있고, 파일로서 전송되거나, 또는 스트리밍될 수 있도록 하는 방식으로 조직화하는 수단을 포함한다. 또한, 파일 포맷은 수신된 실시간 스트림을 파일로 기록하는 것뿐 아니라, 미디어를 교환 및 편집할 수 있다.
이용가능한 미디어 파일 포맷 표준은 ISO 베이스 미디어 파일 포맷(ISO/IEC 14496/12), MPEG-4 파일 포맷(MP4 포맷으로도 알려진 ISO/IEC 14494-14), AVC 파일 포맷(ISO/IEC 14496-15) 및 3GPP 파일 포맷(3GP 포맷으로도 알려진 3GPP TS 26.244)을 포함한다. 그외의 포맷이 개발 중에 있다.
이러한 미디어 파일 포맷이 메타데이터의 사용을 가능케 하는 것이 요구된다. 오디오 및 비디오 스트림과 같은 미디어 스트림의 수신 및 저장과 같은 다수의 애플리케이션에서, 조직화 및 스트리밍된 데이터의 원하는 섹션 또는 세그먼트로의 액세스를 용이하게 하기 위해서, 파일 포맷이 스트리밍된 데이터의 콘텐트의 세그먼트들에 대해 특정된 메타데이터의 사용을 가능케 하는 것이 바람직하다.
본 발명의 일 측면은 스트리밍된 데이터를 조직화하는 방법에 관한 것이다. 이 방법은, 스트리밍된 데이터를 파일에 저장하는 단계와, 스트리밍된 데이터의 서브셋에 적용가능한 메타데이터를 식별하는 단계와, 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 형성하는 단계를 포함하고, 하나의 그룹 내의 각 샘플은 메타데이터 타입에 대해 동일한 메타데이터 콘텐트를 갖는다.
일 실시예에서, 하나의 파일에서 적어도 하나의 그룹이 식별된다.
일 실시예에서, 이 파일은 ISO 베이스 미디어 파일 포맷에 따른다. 스트리밍된 데이터를 파일에 저장하는 것은 스트리밍된 데이터를 리셉션 힌트 트랙에 저장하는 것을 포함할 수 있다. 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시될 수 있다.
일 실시예에서, 메타데이터 타입은 스트리밍된 데이터의 세그먼트의 타이틀을 포함한다.
일 실시예에서, 그룹은 둘 이상의 트랙으로부터의 샘플을 포함할 수 있다. 이 방법은 모든 관련 트랙들과 연관된 메타데이터를 이용하여, 둘 이상의 트랙으로부터의 샘플을 포함하는 상기 그룹을 식별하는 단계를 더 포함할 수 있다. 이와 달리, 이 방법은 마스터 트랙과 연관된 메타데이터를 이용하여, 둘 이상의 트랙으로부터의 샘플을 포함하는 상기 그룹을 식별하는 단계를 포함할 수도 있다.
일 실시예에서, 이 방법은 스트리밍된 데이터에 대한 타임드(timed) 메타데이터 트랙을 생성하는 단계를 더 포함한다. 일 실시예에서, 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹은, 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 타임드 메타데이터 트랙 내의 각각의 타임드 메타데이터 샘플과 연관시킴으로써, 상기 타임드 메타데이터 트랙에 대한 샘플 그룹 기술 박스에 표시된다.
일 실시예에서, 타임드 메타데이터 트랙은 타이밍 메타데이터를 하나 이상의 타임라인(timeline)과 연관시킨다. 타임드 메타데이터 트랙은 메타데이터를 둘 이상의 타임라인과 연관시킬 수도 있다.
다른 측면에서, 본 발명은 컴퓨터 판독가능한 매체 상에 구현된 컴퓨터 프로그램과 관련된다. 이 컴퓨터 프로그램은 스트리밍된 데이터를 파일에 저장하는 단계와, 스트리밍된 데이터의 서브셋에 적용가능한 메타데이터를 식별하는 단계와, 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 형성하되, 하나의 그룹 내의 각 샘플은 메타데이터 타입에 대해 동일한 메타데이터 콘텐트를 갖는 단계를 포함하는 방법을 제공하도록 구성된다.
본 발명의 다른 측면에서, 스트리밍된 데이터를 수신하도록 구성된 수신기는, 스트리밍된 데이터를 파일에 저장하는 저장 유닛 및 프로세서를 포함한다. 이 프로세서는, 스트리밍된 데이터의 서브셋에 적용가능한 메타데이터를 식별하고, 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 형성하도록 구성되며, 하나의 그룹 내의 각 샘플은 메타데이터 타입에 대해 동일한 메타데이터 콘텐트를 갖는다.
다양한 실시예에서, 메타데이터 타입은 그룹핑 타입 및 그룹핑 인스턴스 데이터에 의해 표시될 수 있고, 그룹핑 타입은 그룹핑 인스턴스 데이터 및 메타데이터 콘텐트의 의미(semantic)를 명시한다. 메타데이터 콘텐트는 메타데이터 페이로드 및 0 이상의 메타데이터 페이로드 확장자를 포함할 수 있고, 이때 메타데이터 페이로드는 제 1 구조 내에 포함되며, 0 이상의 메타데이터 페이로드 확장자는 제 2 구조 내에 포함된다.
본 발명의 이러한 장점 및 특징과 다른 장점 및 특징은, 본 발명의 조직 및 동작 방식과 함께, 첨부된 도면을 참조로 하여 아래의 상세한 설명으로부터 명백해질 것이다. 아래에 설명된 도면들에서, 동일한 소자에는 동일한 참조번호가 사용되었다.
도 1은 본 발명의 실시예가 구현될 수 있는 예시적인 멀티미디어 통신 시스템의 도면,
도 2는 ISO 베이스 미디어 파일 포맷에 따른 예시적인 박스를 도시한 도면,
도 3a는 샘플 그룹핑을 도시한 예시적인 박스를 도시한 도면,
도 3b는 SampleToGroup 박스를 포함하는 무비 프래그먼트(movie fragment)를 포함하는 예시적인 박스를 도시한 도면,
도 4는 본 발명의 실시예에 따른 그룹핑 타입에 따른 세그먼트된 메타데이터를 갖는 예시적인 박스를 도시한 도면,
도 5a는 본 발명의 실시예에 따라 스트리밍된 데이터를 조직화하는 예시적인 방법을 도시한 순서도,
도 5b는 본 발명의 다른 실시예에 따라 스트리밍된 데이터를 조직화하는 예시적인 방법을 도시한 순서도,
도 6은 본 발명의 실시예에 따라 스트리밍된 데이터를 수신, 저장 및 조직화하는 예시적인 디바이스의 블록도,
도 7은 group_description_index가 참조되지 않을 때, DVBSampleToGroup 박스에 대한 네스팅 구조(nesting structure)를 나타내는 단순화된 박스 계층을 표현한 도면,
도 8은 DVBSampleToGroup 박스를 포함하는 무비 프래그먼트를 포함하는 예시적인 파일을 도시한 도면,
도 9는 DVBGroupingInstance, DVBSampleGroupDescription, DVBSampleToGroup 및 DVBSampleGroupDescription 박스들에 대한 네스팅 구조를 나타내는 단순화된 박스 계층을 도시한 도면,
도 10은 타임코드 인덱스에 대한 DVBSampleToGroup 박스에 따른 두 개의 샘플 그룹핑을 포함하는 파일을 도시한 도면.
도 2는 ISO 베이스 미디어 파일 포맷에 따른 예시적인 박스를 도시한 도면,
도 3a는 샘플 그룹핑을 도시한 예시적인 박스를 도시한 도면,
도 3b는 SampleToGroup 박스를 포함하는 무비 프래그먼트(movie fragment)를 포함하는 예시적인 박스를 도시한 도면,
도 4는 본 발명의 실시예에 따른 그룹핑 타입에 따른 세그먼트된 메타데이터를 갖는 예시적인 박스를 도시한 도면,
도 5a는 본 발명의 실시예에 따라 스트리밍된 데이터를 조직화하는 예시적인 방법을 도시한 순서도,
도 5b는 본 발명의 다른 실시예에 따라 스트리밍된 데이터를 조직화하는 예시적인 방법을 도시한 순서도,
도 6은 본 발명의 실시예에 따라 스트리밍된 데이터를 수신, 저장 및 조직화하는 예시적인 디바이스의 블록도,
도 7은 group_description_index가 참조되지 않을 때, DVBSampleToGroup 박스에 대한 네스팅 구조(nesting structure)를 나타내는 단순화된 박스 계층을 표현한 도면,
도 8은 DVBSampleToGroup 박스를 포함하는 무비 프래그먼트를 포함하는 예시적인 파일을 도시한 도면,
도 9는 DVBGroupingInstance, DVBSampleGroupDescription, DVBSampleToGroup 및 DVBSampleGroupDescription 박스들에 대한 네스팅 구조를 나타내는 단순화된 박스 계층을 도시한 도면,
도 10은 타임코드 인덱스에 대한 DVBSampleToGroup 박스에 따른 두 개의 샘플 그룹핑을 포함하는 파일을 도시한 도면.
도 1은 본 발명의 실시예가 구현될 수 있는 예시적인 멀티미디어 통신 시스템의 도면이다. 도 1에 도시된 바와 같이, 데이터 소스(100)는 아날로그, 압축되지 않은 디지털, 또는 압축된 디지털 포맷, 또는 이들 포맷의 임의의 조합으로 소스 신호를 제공한다. 인코더(110)는 소스 신호를 코딩된 미디어 비트스트림으로 인코딩한다. 디코딩될 비트스트림은 임의의 타입의 네트워크 내에 가상으로 위치된 원격 디바이스로부터 직접으로 또는 간접으로 수신될 수 있다. 또한, 비트스트림은 로컬 하드웨어 또는 소프트웨어로부터 수신될 수 있다. 인코더(110)는 오디오 또는 비디오와 같은 하나보다 많은 미디어 타입을 인코딩할 수 있고, 또는 하나 보다 많은 인코더(110)가 서로 다른 미디어 타입의 소스 신호를 코딩하는 데에 필요할 수도 있다. 인코더(110)는 그래픽 및 텍스트와 같은 종합적으로 생성된 입력을 획득할 수도 있고, 또는 종합적 미디어의 코딩된 비트스트림을 생성할 수도 있다. 아래에서는, 설명을 간략화하기 위해 하나의 미디어 타입의 오직 하나의 코딩된 미디어 비트스트림의 프로세싱만이 고려되었다. 그러나, 전형적으로 실시간 브로드캐스팅 서비스는 다수의 스트림(전형적으로는 적어도 하나의 오디오, 비디오 및 텍스트 서브-타이틀 스트림)을 포함한다는 것을 인지해야 한다. 이러한 시스템은 다수의 인코더를 포함할 수 있지만, 일반성을 잃지 않고 설명의 간략화를 위해서 도 1에서는 오직 하나의 인코더(110)만이 도시되었음을 인지해야 한다. 또한, 본 명세서에 포함된 텍스트 및 예시들이 특별히 인코딩 프로세스를 기술할 수 있지만, 당업자는 동일한 개념 및 원리가 상응하는 디코딩 프로세스에도 적용될 수 있으며, 그 역도 성립한다는 것을 이해할 것이다.
코딩된 미디어 비트스트림은 저장부(120)로 전달된다. 저장부(120)는 코디오딘 미디어 비트스트림을 저장하기 위한 임의의 타입의 대용량 메모리를 포함할 수 있다. 저장부(120) 내의 코딩된 미디어 비트스트림의 포맷은 기본적인 독립형(self-contained) 비트스트림 포맷일 수 있거나, 또는 하나 이상의 코딩된 미디어 비트스트림이 컨테이너 파일(container file) 내로 인캡슐레이션될 수 있다. 일부 시스템은 "라이브(live)"로 운영하며, 즉 저장부를 생략하고 코딩된 미디어 비트스트림을 인코더(110)로부터 직접 전송기(130)로 전달할 수 있다. 코딩된 미디어 비트스트림은 그 다음 필요에 따라 서버로도 지칭되는 전송기(130)로 전달된다. 전송에서 사용된 포맷은 기본적인 독립형 비트스트림 포맷, 패킷 스트림 포맷일 수 있으며, 또는 하나 이상의 코딩된 미디어 비트스트림이 컨테이너 파일 내로 인캡슐레이션될 수 있다. 인코더(110), 저장부(120) 및 서버(130)는 동일한 물리적 디바이스 내에 존재할 수 있거나 또는 개별적인 디바이스 내에 포함될 수도 있다. 인코더(110) 및 서버(130)는 라이브 실시간 콘텐트로 운영할 수 있으며, 이러한 경우에 코딩된 미디어 비트스트림은 전형적으로는 영구적으로 저장되지 않고, 오히려 지연, 전송 지연 및 코딩된 미디어 비트레이트 프로세싱에서의 변화를 완곡하게 하도록 인코더(110) 및/또는 서버(130) 내에서 짧은 기간 동안 버퍼링된다.
서버(130)는 통신 프로토콜 스택을 사용하여 코딩된 미디어 비트스트림을 전송한다. 이 스택은 RTP(실시간 Transport Protocol), UDP(User Datagram Protocol) 및 IP(Internet Protocol)을 포함할 수 있지만, 이것으로 제한되지는 않는다. 통신 프로토콜 스택이 패킷 지향적일 때, 서버(130)는 코딩된 미디어 비트스트림을 패킷으로 인캡슐레이션한다. 예를 들어, RTP가 사용되었을 때, 서버(130)는 코딩된 미디어 비트스트림을 RTP 페이로드 포맷에 따라서 RTP 패킷으로 인캡슐레이션한다. 전형적으로, 각각의 미디어 타입은 전용 RTP 페이로드 포맷이다. 시스템은 하나보다 많은 서버(130)를 포함할 수 있지만, 간략화를 위해서, 아래의 설명은 하나의 서버(130)만을 고려한다는 것을 인지해야 한다.
서버(130)는 통신 네트워크를 통해서 게이트웨이(140)로 접속될 수도 있고 그렇지 않을 수도 있다. 게이트웨이(140)는 하나의 통신 프로토콜 스택에 따라 패킷 스트림을 다른 통신 프로토콜 스택으로 번역하고, 데이터 스트림들을 합병 및 포킹(forking)하며, 우세한 다운링크 네트워크 상태에 따라 포워딩된 스트림의 비트레이트를 제어하는 것과 같은 다운링크 및/또는 수신기 성능에 따라서 데이터 스트림을 조작하는 등의 서로 다른 타입의 기능을 수행할 수 있다. 게이트웨이(140)의 예는 멀티포인트 컨퍼런스 제어 유닛(MCU), 회로-스위칭 및 패킷-스위칭 비디오 텔레포니 사이의 게이트웨이, PoC(Push-to-talk over Cellular) 서버, DVB-H(digital video broadcasting-handheld) 시스템 내의 IP 인캡슐레이터, 또는 홈 무선 네트워크로 국부적으로 브로드캐스팅을 포워딩하는 셋톱 박스를 포함한다. RTP가 사용될 때, 게이트웨이(140)는 RTP 믹서 또는 RTP 번역기로 지칭되고 RTP 접속의 엔드포인트로서의 역할을 한다.
시스템은 전형적으로 수신, 복조 및 전송된 신호를 코딩된 미디어 비트스트림으로 디캡슐레이션할 수 있는 하나 이상의 수신기(150)를 포함한다. 코딩된 미디어 비트스트림은 기록 저장부(155)로 전송된다. 기록 저장부(155)는 코딩된 미디어 비트스트림을 저장하기 위한 임의의 대용량 메모리 타입을 포함할 수 있다. 기록 저장부(155)는 이와 달리 또는 이에 더하여 랜덤 액세스 메모리와 같은 계산 메모리를 포함할 수 있다. 기록 저장부(155) 내의 코딩된 미디어 비트스트림의 포맷은 기본적인 독립형 비트스트림 포맷일 수 있거나, 또는 하나 이상의 코딩된 미디어 비트스트림이 컨테이너 파일 내로 인캡슐레이션될 수 있다. 만약 서로 관련된 오디오 스트림 및 비디오 스트림과 같은 다수의 코딩된 미디어 비트스트림이 존재한다면, 컨테이너 파일이 전형적으로 사용되고 수신기(150)는 입력 스트림으로부터 컨테이너 파일을 생성하는 컨테이너 파일 생성기를 포함하거나 이에 부착된다. 일부 시스템은 "라이브"로 운영하며, 즉 기록 저장부(155)를 생략하고 코딩된 미디어 비트스트림을 수신기(150)로부터 직접 디코더(160)로 전송한다. 일부 시스템에서, 오직 기록된 스트림의 최근 부분만이, 예컨대 가장 최근의 10분의 기록된 스트림만이 예외적으로 기록 저장부(155)에 유지되고 그 이전의 기록된 데이터는 기록 저장부(155)로부터 폐기된다.
코딩된 미디어 비트스트림은 기록 저장부(155)로부터 디코더(160)로 전송된다. 만약 서로 관련되고 컨테이너 파일 내로 인캡슐레이션된 오디오 스트림 및 비디오 스트림과 같은 다수의 코딩된 미디어 비트스트림이 존재한다면, 파일 파서(parser)(도 1에 도시되지 않았음)는 컨테이너 파일로부터 각각의 코딩된 미디어 비트스트림을 디캡슐레이션하도록 사용된다. 기록 저장부(155) 또는 디코더(160)는 파일 파서를 포함할 수 있거나. 또는 파일 파서가 기록 저장부(155) 또는 디코더(160)에 부착된다.
코딩된 미디어 비트스트림은 전형적으로 자신의 출력이 하나 이상의 압축되지 않은 미디어 비트스트림인 디코더(160)에 의해 추가로 프로세싱된다. 마지막으로, 렌더러(170)는 예를 들어 확성기 또는 디스플레이를 이용해 압축되지 않은 미디어 스트림을 재생산할 수 있다. 수신기(150), 기록 저장부(155), 디코더(160) 및 렌더러(170)는 동일한 물리적 디바이스 내에 존재할 수 있거나 또는 개별적인 디바이스 내에 포함될 수 있다.
디지털 비디오 브로드캐스팅(DVB) 기구는 현재 DVB 파일 포맷을 명시하는 프로세스 중에 있다. DVB 파일 포맷을 규정하는 주요 목적은 현재(DVT-T, DVB-C, DVB-S)와 미래 DVB 표준에 따르는 셋톱 박스와 같은 DVB 기술의 구현과, IP(인터넷 프로토콜) 텔레비전 수신기 및 DVB-H 및 그것의 미래 개발에 따른 모바일 텔레비전 수신기의 구현 사이의 콘텐트 중간 운영가능성을 용이하게 하기 위한 것이다. DVB 파일 포맷은 서로 다른 제조자들로부터의 디바이스 사이의 기록된(판독전용) 미디어의 교환, USB 대용량 메모리 또는 유사한 판독/입력 디바이스를 사용하는 콘텐트의 교환 및 홈 네트워크 상의 공통 디스크 저장부로의 공유 액세스를 가능케 한다.
ISO 파일 포맷은 일반적으로 파일 포맷의 ISO 패밀리로도 지칭되는 가장 최근의 멀티미디어 컨테이너 파일 포맷에 대한 기초이다. ISO 베이스 미디어 파일 포맷은 DVB 파일 포맷의 개발에 대한 기초일 수도 있다.
도 2를 참조하면, 일반적으로 "박스"로도 지칭되는 ISO 베이스 미디어 파일 포맷 내의 기본 빌딩 블록(200)의 단순화된 구조가 도시되었다. 각 박스(200)는 헤더 및 페이로드를 구비한다. 박스 헤더는 박스의 타입과 박스의 크기를 바이트 단위로 나타낸다. 명시된 다수의 박스는 헤더 내에 버전 넘버 및 플래그를 포함하는 "풀 박스" (FullBox) 구조로부터 파생된다. 박스는 박스(210, 220)와 같이 다른 박스들을 에워쌀 수 있으며, 이는 아래에서 보다 자세하게 설명된다. 또한, 일부 박스들은 각 파일 내에 반드시 존재해야만 하지만, 그외의 파일들은 선택적이다. 또한, 일부 박스 타입에 있어서, 하나보다 많은 박스가 파일 내에 존재할 수 있다. 이와 관련하여, ISO 베이스 미디어 파일 포맷은 박스들의 계층적 구조를 명시한다.
파일 포맷의 ISO 패밀리에 따르면, 파일은 개별적인 박스인 미디어 데이터(mdat) 박스(220) 및 무비(moov) 박스(210) 내에 각각 에워싸인 미디어 데이터 및 메타데이터로 이루어진다. 무비 박스는 하나 이상의 트랙을 포함할 수 있고, 각각의 트랙은 하나의 트랙 박스(212, 214) 내에 존재한다. 트랙은 미디어, 힌트 또는 타임드 메타데이터 중 하나의 타입일 수 있다. 미디어 트랙은 미디어 압축 포맷 (및 ISO 베이스 미디어 파일 포맷으로의 인캡슐레이션)에 따라 포맷된 샘플을 참조한다. 힌트 트랙은 표시된 통신 프로토콜 상에서의 전송을 위해 패킷을 구조화하는 쿡북(cookbook)을 포함하는 힌트 샘플을 참조한다. 쿡북 지시어는 패킷 헤더 구조에 대한 가이던스(guidance)를 포함할 수 있고 패킷 페이로드 구조를 포함한다. 패킷 페이로드 구조 내에서, 다른 트랙 또는 아이템 내에 존재하는 데이터가 참조될 수 있다(예컨대, 참조는 특정한 트랙 또는 아이템 내의 어느 데이터 조각이 패킷 구조화 프로세스 중에 패킷으로 복제되도록 지시되었는지를 나타낼 수 있다). 타임드 메타데이터 트랙은 참조된 미디어 및/또는 힌트 샘플을 기술하는 샘플들을 참조한다. 하나의 미디어 타입을 표시하기 위해, 전형적으로 하나의 미디어 트랙이 선택된다.
ISO 베이스 미디어 파일 포맷은 하나의 파일에 포함될 프레젠테이션을 한정하지 않으며, 다수의 파일 내에 포함될 수도 있다. 하나의 파일은 전체 프레젠테이션에 대한 메타데이터를 포함한다. 이러한 파일은 모든 미디어 데이터를 포함할 수도 있으며, 이에 따라 프레젠테이션은 독립적이다. 만약 사용된다면, 다른 파일들은 ISO 베이스 미디어 파일 포맷으로 포맷되는 것을 필요로 하지 않고, 미디어 데이터를 포함하도록 사용되며, 사용되지 않은 미디어 데이터 또는 그외의 정보를 포함할 수 있다. ISO 베이스 미디어 파일 포맷은 오직 프레젠테이션 파일의 구조와만 관련된다. 미디어 데이터 파일들의 포맷은 ISO 베이스 미디어 파일 포맷 또는 그 파생적인 포맷을 미디어 파일 내의 미디어 데이터가 ISO 베이스 미디어 파일 포맷 또는 그것의 파생적인 포맷으로 명시된 것과 같이 포맷되어야만 하도록 제한된다.
무비 프래그먼트(fragment)는 기록 애플리케이션이 파괴되거나, 디스크가 고장나거나. 또는 일부 다른 사고가 발생했을 경우 데이터의 손실을 방지하도록 ISO 파일로 콘텐트를 기록할 때 사용될 수 있다. 무비 프래그먼트 없이, 데이터 손실이 발생할 수 있으며, 이는 파일 포맷이 모든 메타데이터(Movie Box)가 파일의 하나의 인접한 영역 내에 입력될 것을 주장하기 때문이다. 또한, 파일을 기록할 때, 저장부가 이용가능한 크기에 대해 Movie Box를 버퍼링하기에 충분한 RAM이 존재하지 않을 수 있으며, 무비가 차단되었을 때 Movie Box의 콘텐트를 재-컴퓨팅하는 것은 너무나 느리다. 또한, 무비 프래그먼트는 규칙적인 ISO 파일 파서(parser)를 이용하여 파일의 동시적인 기록 및 재생을 가능케 할 수 있다. 마지막으로, 보다 짧은 초기 버퍼링 기간이 진행중인 다운로드를 위해 요구된다(예컨대, 무비 프래그먼트가 사용되고 초기 Movie Box가 동일한 미디어 콘텐트를 가지지만 무비 프래그먼트 없이 구성된 파일에 비교하여 더 작을 때, 파일의 동시적인 수신 및 재생).
무비 프래그먼트 특성은, 통상적으로 moov 박스(210) 내에 존재하는 메타데이터를 각각이 트랙에 대한 소정의 기간에 상응하는 복수의 조각들로 나누는 것을 가능케 한다. 따라서, 무비 프래그먼트 특성은, 파일 메타데이터 및 미디어 데이터의 인터리빙(interleaving)을 가능케 한다. 결과적으로, moov 박스(210)의 크기는 제한될 수 있으며, 전술된 용도 사례들이 구현된다.
무비 프래그먼트에 대한 미디어 샘플들은, 이들이 moov 박스와 동일한 파일 내에 있다면, 일반적으로 mdat 박스(220) 내에 존재한다. 그러나, 무비 프래그먼트의 메타데이터를 위해서 moof 박스가 제공된다. 이것은 이전에 moov 박스(210) 내에 있었던 소정의 재생 시간의 기간에 대한 정보를 포함한다. moov 박스(210)는 여전히 자신에 대한 유효 무비를 표현하지만, 이에 더하여, 무비 프래그먼트가 동일한 파일 내에서 이어질 것을 나타내는 mvex 박스를 포함한다. 무비 프래그먼트는 곧 moov 박스와 연관된 프레젠테이션을 확장한다.
moof 박스 내에 포함될 수 있는 메타데이터는 moov 박스(210) 내에 포함될 수 있는 메타데이터의 서브셋으로 제한되고 일부 경우에는 서로 다르게 코딩된다. moof 박스 내에 포함될 수 있는 박스들의 세부사항은 본 명세서에서 그 전체가 참조로서 포함되며 2005년 4월 1일 출간되어 보정문 1 및 2를 포함하는 ISO 베이스 미디어 파일 포맷 명세 ISO/IEC 국제 표준 14496-12, 2판으로부터 찾을 수 있다.
타임드 트랙(timed track)에 추가로, ISO 파일은 메타 박스, 또는 "정적(static)" 메타데이터 내의 임의의 비-타임드 이진 객체를 포함할 수 있다. 메타 박스는 무비 박스 내에서, 그리고 트랙 박스 내에서 파일의 최상위 레벨에 존재할 수 있다. 대부분 하나의 메타 박스가 파일 레벨, 무비 레벨 또는 트랙 레벨의 각각에서 발생할 수 있다. 메타 박스는 "메타" 박스 콘텐트의 구조 또는 포맷을 나타내는 "hdlr" 박스를 포함하도록 요구된다. 메타 박스는 참조될 수 있는 임의의 개수의 이진 아이템을 포함할 수 있고, 이진 아이템의 각각은 파일 네임과 연관될 수 있다.
계층(파일, 무비, 또는 트랙)의 임의의 레벨에서 하나보다 많은 메타 박스를 지원하기 위해, 메타 박스 컨테이너 박스("meco")는 ISO 베이스 미디어 파일 포맷 내에 소개되었다. 메타 박스 컨테이너 박스는 계층(파일, 무비, 또는 트랙)의 임의의 레벨에서 임의의 개수의 추가 메타 박스들을 전달할 수 있다. 이것은, 예로서 두 개의 서로 다른, 대안적인 메타데이터 시스템들 내에 존재될 동일한 메타데이터이다. 메타 박스 관련 박스("mere")는 서로 다른 메타 박스들이 서로를 관련시키는 방법을 기술하는 것을 가능케 한다(예컨대, 그들이 정확히 동일한 메타데이터를 포함하지만 서로 다른 방안이 기술되었는지 또는 하나가 다른 것의 수퍼셋(superset)을 나타내는지 여부).
도 3a, 3b 및 4를 참조하면, 박스 내의 샘플 그룹핑(grouping)의 사용이 도시되었다. ISO 베이스 미디어 파일 포맷 및 AVC 파일 포맷 및 SVC 파일 포맷과 같은 그것의 파생물 내의 샘플 그룹핑은, 그룹핑 기준에 기초하여 하나의 샘플 그룹의 멤버가 되어야 하는 트랙 내의 각 샘플을 할당하는 것이다. 샘플 그룹핑 내의 샘플 그룹은 인접한 샘플들로 제한되지 않고 인접하지 않은 샘플들을 포함할 수 있다. 하나의 트랙 내의 샘플들에 대해 하나보다 많은 샘플 그룹핑이 존재할 수 있기 때문에, 각 샘플 그룹핑은 그룹핑의 타입을 나타내기 위한 타입 필드를 구비한다. 샘플 그룹핑은 두 개의 연결된 데이터 구조에 의해 표현된다: (1) SampleToGroup 박스(sbgp 박스)는 샘플들의 샘플 그룹으로의 할당을 나타내고; (2) SampleGroupDescription 박스(sgpd 박스)는 그룹의 특성을 기술하는 각 샘플 그룹에 대한 샘플 그룹 엔트리를 포함한다. 서로 다른 그룹핑 기준에 기초한 SampleToGroup 및 SampleGroupDescription 박스의 다수의 예시들이 존재할 수 있다. 이것은 도 4에 도시된 바와 같이 그룹핑의 타입을 나타내는 데에 사용되는 타입 필드에 의해 구별된다.
도 3a는 샘플 그룹 박스들에 대한 네스팅 구조(nesting structure)를 나타내는 단순화된 박스 계층을 제공한다. 샘플 그룹 박스(SampleGroupDescription 박스 및 SampleToGroup 박스)는, (순서대로) 무비(moov) 박스 내의 미디어 정보(minf), 미디어(mdia) 및 트랙(trak) 박스들 내에 둘러싸인 샘플 테이블(stbl) 박스 내에 존재한다.
SampleToGroup 박스는 무비 프래그먼트 내에 존재하도록 허용된다. 따라서, 샘플 그룹핑은 프래그먼트에 의해 수행될 수 있다. 도 3b는 SampleToGroup 박스를 포함하는 무비 프래그먼트를 포함하는 파일의 예시를 도시한다. 도 4에 도시된 바와 같이, SampleGroupDescription 박스 및 SampleToGroup 박스는 인덱스 또는 메타데이터 타입에 기초하여 grouping_type을 식별할 수 있다.
DVB 파일 포맷의 주요 특성은 리셉션 힌트 트랙(reception hint track)으로도 알려져 있으며, 이것은 데이터의 하나 이상의 패킷 스트림이 DVB 파일 포맷에 따라 기록되었을 때 사용될 수 있다. 리셉션 힌트 트랙은 무엇보다도 수신된 패킷들의 순서, 수신 타이밍 및 수신된 패킷의 콘텐트를 나타낸다. DVB 파일 포맷을 위한 재생기는 리셉션 힌트 트랙에 기초하여 수신된 패킷 스트림을 재생성할 수 있고 재생성된 패킷 스트림을 그것이 새롭게 수신된 것처럼 프로세싱할 수 있다. 리셉션 힌트 트랙은 ISO 베이스 미디어 파일 포맷에서 명시된 바와 같이, 서버를 위한 힌트 트랙과 동일한 구조를 갖는다. 예를 들어, 리셉션 힌트 트랙은 타입 "힌트"의 트랙 참조에 의해 그들이 전달하는 기본적인 스트림 트랙(즉, 미디어 트랙)으로 연결될 수 있다. 미디어 스트림을 전달하기 위한 각 프로토콜은 자신의 리셉션 힌트 샘플 포맷을 갖는다.
수신된 스트림의 전달을 위한 힌트로서 리셉션 힌트 트랙을 이용하는 서버는, 전송 지연 지터(jitter) 및 패킷 손실과 같은 수신된 스트림의 잠재적인 열화를 적절하게 다루어야 하고, 프로토콜 및 포함된 데이터 포맷의 제약이 수신된 스트림의 잠재적인 열화와 무관하게 준수됨을 보장해야 한다.
리셉션 힌트 트랙의 샘플 포맷은 참조에 의해 다른 트랙들 밖으로 데이터를 밀어냄으로써 패킷의 구조화를 가능케 할 수 있다. 이러한 다른 트랙들은 힌트 트랙 또는 미디어 트랙일 수 있다. 이들 포인터의 정확한 형태는 프로토콜에 대한 샘플 포맷에 의해 규정되지만, 일반적으로는 트랙 참조 인덱스, 샘플 넘버, 오프셋 및 길이의 네 가지 정보로 이루어진다. 이들 중 일부는 특정한 프로토콜에 대해 명시적일 수 있다. 이들 "포인터"는 항상 데이터의 실질적인 소스를 포인팅한다. 만약 힌트 트랙이 다른 힌트 트랙의 "최상단에" 설계되었다면, 제 2 힌트 트랙은 먼저 이들 미디어 트랙들로부터의 데이터가 스트림 내에 배치됨으로써 사용되는 미디어 트랙(들)으로의 직접 참조를 가져야만 한다.
미디어 트랙에 대한 수신된 스트림의 전환은 미디어 포맷이 지원되는 한 현존하는 재생기가 ISO 베이스 미디어 파일 포맷 프로세스 DVB 파일과 호환가능하도록 한다. 그러나, 대부분의 미디어 코딩 표준은 오직 무오류 스트림의 디코딩만을 명시하며, 결과적으로 미디어 트랙 내의 콘텐트가 올바르게 디코딩되었음이 보장되어야만 한다. DVB 파일 포맷을 위한 재생기는 전송에 의해 발생된 열화를 다루기 위해 리셉션 힌트 트랙을 이용할 수 있으며, 즉 올바르게 디코딩되지 않았을 수 있는 콘텐트가 오직 리셉션 힌트 트랙 내에만 위치되어야 한다. 미디어 트랙과 리셉션 힌트 트랙 모두에 올바른 미디어 샘플의 복제본을 갖는 것에 대한 필요성이, 참조에 의한 미디어 트랙으로부터의 데이터를 리셉션 힌트 트랙 내에 포함함으로써 방지될 수 있다.
현재, MPEG-2 수송 스트림(MPEG2-TS), 실시간 수송 프로토콜(RTP) 및 실시간 수송 제어 프로토콜(RTCP) 리셉션 힌트 트랙들과 같은 리셉션 힌트 트랙의 세 가지 타입이 명시되었다. MPEG2-TS 리셉션 힌트 트랙의 샘플은, MPEG2-TS 패킷 또는 참조로부터 미디어 트랙으로 MPEG2-TS 패킷을 구성하기 위한 명령어를 포함한다. MPEG-2 수송 스트림은 오디오 및 비디오 프로그램 기본 스트림 및 일부 메타데이터 정보의 멀티플렉스이다. 이것은 몇몇 시청각적 프로그램을 포함할 수도 있다. RTP 리셉션 힌트 트랙은, 전형적으로 단일 미디어 타입인 하나의 RTP 스트림을 나타낸다. RTCP 리셉션 힌트 트랙은 RTP 리셉션 힌트 트랙과 연관될 수 있고, 연관된 RTP 스트림에 대해 수신된 RTCP 패킷을 나타낸다.
RTP는 인터넷 프로토콜(IP)에 기초하여 네트워크에서 코딩된 오디오 및 비디오 스트림과 같은 연속적인 미디어 데이터를 전송하는 데에 사용된다. 실시간 수송 제어 프로토콜(RTCP)은 RTP의 동반자이며, 즉 RTCP는 네트워크 및 애플리케이션 인프라구조가 허용할 때마다 상보적인 RTP에 사용되어야만 한다. RTP 및 RTCP는 일반적으로 인터넷 프로토콜(IP) 상에서 전달되는 사용자 데이터그램 프로토콜(UDP) 상에서 전달된다. IP, IPv4 및 IPv6에는 두 가지 버전이 존재하며, 이들은 무엇보다도 어드레스가능한 엔드포인트의 개수에 의해 구별된다. RTCP는 네트워크에 의해 제공된 서비스의 품질을 모니터링하고 온-고잉 세션 내의 참가자에 대한 정보를 전달하도록 사용된다. RTP 및 RTCP는 일대일 통신에서 수천 개의 엔트포인트의 광범위한 멀티캐스트 그룹에 이르는 범위를 갖는 세션들을 위해 설계되었다. 멀티파티(multiparty) 세션 내의 RTCP 패킷에 의해 발생된 총 진동을 제어하기 위해, 단일 엔트포인트에 의해 전송되는 RTCP 패킷의 전송 간격은 세션 내의 참가자의 개수에 비례한다. 각 미디어 코딩 포맷은 미디어 데이터가 RTP 패킷의 페이로드 내에서 어떻게 구성되는지를 명시하는 특정 RTP 페이로드 포맷을 갖는다.
DVB 파일 포맷에 대한 메타데이터 요구는 메타데이터의 타입에 기초하여, 1) 프레젠테이션 타임스탬프와 같은 샘플-특정 타이밍 메타데이터; 2) 인덱스; 3) 세그먼트된 메타데이터; 및 4) 사용자 북마크(예컨대, 콘텐트 내의 즐겨찾는 위치에 대한 북마크)와 같은 네 개의 그룹들로 분류될 수 있다.
샘플-특정 타이밍 메타데이터에 있어서, 샘플-특정 타이밍 메타데이터를 나타내기 위한 서로 다른 타임라인(timeline)이 존재할 수 있다. 타임라인은 기록된 스트림의 전체 길이를 커버하도록 요구될 수 있다. 또한, 타임라인은 일시정지될 수 있다. 예를 들어, 타임라인 A는 무비의 최종 편집 상태에서 생성될 수 있다. 서비스 제공자 또는 다른 엔티티가 광고 및 광고를 위해 제공된 타임라인 B를 삽입할 수 있다. 타임라인 A는 광고가 진행되는 동안에 일시정지될 수 있다. 타임라인은 또한 콘텐트 후에 전송될 수도 있다. 일 실시예에서, 타임라인 샘플들은 MPEG-2 프로그램 기본 스트림(PES) 내에서 전달될 수 있다. PES는 기본적인 오디오 또는 비디오 비트스트림을 전달하고, 따라서 타임라인은 오디오 및 비디오 프레임들과 정확히 동기화된다. 이와 관련하여, 본 명세서에서 그 전체가 참조로서 포함된 ETSI TS 102 823 "Specification for the carriage of synchronized auxiliary data"를 참조할 수 있다.
인덱스는, 예를 들어 비디오 액세스 포인트 및 트릭 모드 지원(예컨대, 고속 포워드/백워드, 슬로-모션)을 포함할 수 있다. 이러한 동작들은, 예를 들어 자가-디코딩가능한 픽쳐의 표시, 시작 포인트 디코딩 및 참조 및 비-참조 픽쳐(picture)의 표시를 필요로 할 수 있다.
세그먼트된 메타데이터의 경우에서, DVB 서비스는 브로드캐스팅 콘텐트 가이드(BCG), TV-Anytime, 또는 IP 데이터캐스팅(IPDC)을 위한 ESG(Electronic Service Guide)와 같은 특정 메타데이터 방안에 따른 서비스 가이드로 기술될 수 있다. 디스크립션은 스트림의 일부에만 적용할 수 있다. 그러므로, 파일은 다수의 기술적인(discriptive) 세그먼트(예컨대, "카지스 부근에 있는 코르시카에서의 휴일"과 같은 프로그램의 해당 특정 세그먼트에 대한 디스크립션) 정보를 가질 수 있다.
또한, DVB 파일 포맷의 메타데이터 및 인덱싱 구조는 확장가능할 것이 요구되며, 사용자-규정된 인덱스가 지원될 것이 요구된다. 또한, (예컨대, 인덱스 표를 통한) 파일 내의 소자에 대한 빠른 액세스를 위한 방법이 존재해야 한다. 또한, 임의의 인덱스의 정확도를 시그널링하는 것이 가능해야만 한다. 예를 들어, 인덱스는 완벽하게 정확하거나, 특정된 양만큼의 오차까지 정확하거나 또는 오직 체험적으로만 추측할 수도 있다.
인덱싱을 수행하고 세그먼트된 메타데이터를 구현하는 다양한 기술들이 제안되어왔다. 이러한 기술은, 예를 들어 샘플 이벤트 및 샘플 특성을 포함한다. 샘플 이벤트 메커니즘은 하나의 데이터 구조 내에서 SampleToEvent 박스로도 지칭되는 특정한 이벤트 타입 및 이벤트 디스크립션 인덱스와 연관된 샘플들의 리스팅을 가능케 한다. 리스트 내의 각 엔트리는 바이트 단위로 결정된 크기를 갖는 값 또는 디스크립션에 의해 추가로 동반될 수도 있다. 샘플들은 연관된 트랙 내의 그들의 샘플 넘버를 참조로 하여 리스팅된다. 특정한 이벤트 타입을 위해서 리스팅된 모든 샘플을 가질 것이 요구되지는 않는다. 이벤트 타입의 허용된 값들은 예컨대 DVB 파일 포맷 명세에 사전결정되고 명시되었다. 임의의 SampleToEvent 박스 내의 각 사용된 이벤트 타입에 대해서, 동일한 이벤트 타입과 연관된 각각의 SampleEvenytDescription 박스가 존재한다. SampleEvenytDescription 박스는 각각이 고유의 이벤트 디스크립션 인덱스(1에서 시작하여 리스트 내의 각 엔트리마다 1씩 증가함)와 연관된, 샘플 이벤트 디스크립션 엔트리들의 리스트를 포함한다. 샘플 이벤트 디스크립션 엔트리들의 신택스(syntax) 및 의미(semantic)는 예컨대 DVB 파일 포맷 명세 내에 명시되고 이벤트 타입에 의해 결정된다. 특정한 샘플 디스크립션 인덱스 및 이벤트 타입에 대해 명시된 의미는 SampleToEvent 박스들 내의 그 샘플 디스크립션 인덱스 및 이벤트 타입과 연관된 샘플들에 적용된다. SampleToEvent 박스는 무비 프래그먼트 내에 존재하도록 허용된다. 그러므로, 샘플 이벤트의 리스팅은 프래그먼트에 의해 수행될 수 있다. 서로 다른 이벤트 타입들에 대한 다수의 SampleToEvent 및 SampleEvenytDescription 박스들의 예시가 존재할 수 있지만, 대부분은 파일 내에 무비 프래그먼트 당 특정 이벤트 타입의 하나의 SampleToEvent 박스 및 특정 이벤트 타입의 하나의 SampleEvenytDescription 박스가 존재할 수 있다.
SampleToEvent 박스 및 SampleEvenytDescription 박스의 신택스는 아래와 같이 명시된다:
SampleToEvent 박스 및 SampleEvenytDescription 박스에서 사용되는 신택스 요소의 의미는 아래와 같이 명시된다:
event_type은 ASCⅡ 문자(character)로 설계된, 이벤트 타입의 4 문자 코드를 포함할 수 있는 32비트의 부호 없는 정수이다.
entry_count는 이어지는 루프 내의 엔트리의 개수를 갖는 32비트의 부호 없는 정수이다.
event_desc_index는 SampleEvenytDescriptionEntry의 인덱스를 갖는 32비트의 부호 없는 정수이다.
sample_count는 이벤트가 적용되는 샘플들의 샘플 넘버를 포함하는 이어지는 루프 내의 엔트리의 개수를 갖는 32비트의 부호 없는 정수이다. 값은 이벤트-특정 데이터의 어레이이다. 이 필드의 길이는 상응하는 SampleEvenytDescriptionEntry의 내의 event_data_length에 의해 명시된다. 이 필드는 이 루프 내의 모든 인덱스들에 대해 일정한 크기를 가지고, 패딩(padding)이 가변 길이 인덱스에 대해 적용될 수 있다.
유니캐스트, 멀티캐스트 및 브로드캐스트 스트리밍 애플리케이션에서, 이용가능한 스트림이 알려지고 그들의 코딩 포맷은 수신기가 콘텐트를 성공적으로 렌더링(render) 및 디코딩할 수 있다면 각 수신기가 코딩 포맷을 포함하는 것을 가능케 하는 특징을 갖는다. 때때로 각 수신기가 자신의 성능 및/또는 실사용자 요구에 대해 가장 적합한 것을 선택할 수 있는, 동일한 콘텐트에 대한 다수의 서로 다른 포맷 옵션들이 제공된다. 이용가능한 미디어 스트림은 종종 세션 디스크립션 프로토콜(SDP)에 따라 포맷된 세션 디스크립션에 포함되는 자신의 파라미터 및 상응하는 미디어 타입으로 기술된다. 유니캐스트 스트리밍 애플리케이션에서, 세션 디스크립션은 일반적으로 스트리밍 세션을 셋업 및 제어하는 데에 사용되는 실시간 스트리밍 프로토콜(RTSP)에 의해 전달된다. 브로드캐스트 및 멀티캐스트 스트리밍 애플리케이션에서, 세션 디스크립션은 서비스를 위해 전자 서비스 가이드(ESG)의 일부로서 전달될 수 있다. 브로드캐스트 스트림을 위한 SDP 정보는 브로드캐스트 동안 업데이트될 수 있다. 그러므로, 기록된 스트림을 위한 SDP는 이것이 후에 업데이트될 수 있도록 하는 방식으로 저장되어야만 한다.
도 5a를 참조하면, 스트리밍된 데이터가 바람직하게 저장 및 조직화되는 본 발명의 실시예에 따른 방법(500)이 도시되었다. 본 발명의 실시예에 따라서, 스트리밍된 미디어는 예를 들어 수신 유닛 또는 다른 디바이스(블록(510))에서 수신된다. 적어도 하나의 미디어 또는 멀티미디어 스트림일 수 있는 스트리밍된 데이터는 파일(블록(520)) 내에 저장된다. ISO 베이스 미디어 파일 포맷의 측면에서, 적어도 하나의 수신된 미디어 또는 멀티미디어 스트림이 파일 내의 리셉션 힌트 트랙 내에 저장될 수 있다. 스트리밍된 데이터의 서브셋에 적용가능한 메타데이터가 식별된다(블록(530)). 예를 들어, 리셉션 힌트 트랙의 소정의 샘플들에 적용가능한 메타데이터가 식별될 수 있다. 소정의 메타데이터 타입의 동일한 메타데이터 콘텐트를 갖는 스트리밍된 데이터의 샘플들의 그룹이 형성되고 파일 내에서 식별된다(블록(540)). 이와 관련하여, 소정의 메타데이터 타입에 기초한 샘플 그룹핑은 샘플 그룹 디스크립션 박스로 표시될 수 있고, 샘플들은 SampleToGroup 박스를 갖는 SampleGrouopDescription 박스 내에 포함된 소정의 메타데이터 콘텐트로 맵핑될 수 있다. 다른 실시예에서, 소정의 메타데이터 타입은 메타데이터 콘텐트의 신택스 및 의미를 표시하는 두 가지 타입 및 그룹핑에서 변화하지 않고 남아있는 메타데이터 콘텐트의 일부를 포함하는 것으로 간주된다. 예를 들어, 메타데이터 타입은 타임라인 메타데이터를 표시할 수 있고, 그룹핑에서 변화하지 않고 남아있는 메타데이터의 일부는 타임라인의 식별자를 포함할 수 있다.
이제 도 5b를 참조하면, 본 발명의 다른 실시예에 따른 방법(505)이 도시되었다. 도 5b의 실시예에서, 스트리밍된 미디어는 예를 들어 수신 유닛 또는 다른 디바이스에서 수신된다(블록(515)). 적어도 하나의 미디어 또는 멀티미디어 스트림일 수 있는 스트리밍된 데이터는 파일 내에 저장되고 파일 내의 리셉션 힌트 트랙과 연관된다(블록(525)). 리셉션 힌트 샘플에 적용가능한 적어도 하나의 메타데이터 샘플이 식별된다(블록(535)). 적어도 하나의 메타데이터 샘플은 그 다음 파일 내에 저장되고, 타임드(timed) 메타데이터 트랙과 연관된다(블록(545)). 소정의 메타데이터 타입의 동일한 메타데이터 콘텐트를 갖는 스트리밍된 데이터의 샘플들의 그룹들이 형성되고 파일 내에서 식별된다(블록(555)). 소정의 메타데이터 타입에 기초한 샘플 그룹핑은 SampleGrouopDescription 박스로 표시되고, 메타데이터 샘플들은 SampleToGroup 박스를 갖는 SampleGrouopDescription 박스 내에 포함된다. 전술된 바와 같이, 소정의 메타데이터 타입은 또한 메타데이터 콘텐트의 신택스 및 의미를 표시하는 두 가지 타입과, 그룹핑에서 변화하지 않고 남아있는 메타데이터 콘텐트의 일부를 포함하는 것으로 간주될 수도 있다. 도 5b에 제안된 순차적인 프로세싱 블록들이, 샘플의 서브셋으로부터 전체 스트림에 이르는 멀티미디어 데이터 및 메타데이터의 서로 다른 입도(granularity)에 적용될 수 있음을 인지해야 한다. 서로 다른 블록들은 서로 다른 입도의 데이터에 적용될 수도 있다. 일 구성에서, 블록(515, 525, 535, 545)은 개별적인 리셉션 힌트 샘플들과 메타데이터 샘플들에 반복적으로 적용된다.
하나의 그룹핑 타입은 DVB 파일 포맷 명세에서 메타데이터 또는 인덱스 타입마다 규정된다. 잠재적인 그룹핑 타입들의 예시는 아래와 같은 것을 포함한다:
- 메타 박스에 사용되는 handler_type에 의해 명시된 임의의 메타데이터. 각 샘플 그룹은 메타데이터 방안의 하나의 아이템과 연관된다. 메타데이터 방안은 DVB 명세(BCG, TV-Anytime, IPDC ESG) 내에 식별된 것일 수 있다;
- 임의의 인덱스 타입(예컨대, 자가 디코딩가능한 픽쳐의 표시, 시작 포인트 디코딩 및 참조 및 비참조 픽쳐의 표시와 같이 DVB 문서 TM-FF0035에서 제안된 것들); 및
- 수신된 RTP 스트림을 위한 SDP 정보.
도 6을 참조하면, 본 발명의 실시예에 따른 예시적인 디바이스가 도시되었다. 수신기와 같은 디바이스(600)에는 DVB 파일 생성기(610), 저장 유닛(620) 및 프로세서(630)가 제공된다. 물론, 당업자는 다양한 구성요소들이 다른 구성요소로 분리되거나 또는 보다 적은 구성요소로 결합될 수 있음을 이해할 것이다. 또한, 다양한 구성요소들은 그들의 기능을 수행하기 위한 실행가능한 코드를 포함할 수 있다. 스트리밍된 데이터를 수신함에 따라, DVB 파일 생성기(610)는 수신된 패킷으로부터 DVB 파일을 생성한다. 이를 위해서, DVB 파일 생성기(610)는 패킷 스트림(들) 자체 및 이와 관련된 메타데이터(BCG, TV-Anytime, IPDC ESG)를 수신한다. 디바이스(600)는 수신된 패킷들을 저장 유닛(620) 내의 리셉션 힌트 트랙의 샘플들로서 파일에 저장한다(만약 동일한 파일 내에 moow 및 mdat 박스들이 존재한다면, 파일의 mdat 섹션 내에 저장함). 수신기(600)는 또한 무비 프래그먼트가 사용되고 있는지 아닌지 여부에 따라서, 후에 moov 박스 또는 moof 박스 내에 저장될 파일 메타데이터를 파생할 수도 있다. 임의의 수신된 메타데이터의 조각에 대해서, 수신기(600)(예컨대, 프로세서(630))는 그것의 타입을 분석하고, 만약 메타데이터의 타입이 이전에 존재했던 것이 아니라면, 새로운 SampleGrouopDescription 박스를 생성한다. 수신기(600)는 또한 메타데이터의 조각의 콘텐트가 파일 내에 이전에 저장되어 있던 모든 메타데이터와 상이한지 여부를 검사한다. 만약 콘텐트가 새로운 것이라면, SampleGrouopDescription 박스를 위한 새로운 엔트리가 생성되고 콘텐트는 그 엔트리로 복제된다. SampleToGroup 박스는 각각의 그룹핑 타입에 대해 유지되고 리셉션 힌트 트랙의 샘플들은 각각의 SampleGrouopDescription 박스 내의 엔트리들 중 하나로 맵핑된다.
다른 실시예에서, 디바이스(600)의 DVB 파일 생성기(610)는 하나 이상의 리셉션 힌트 트랙과 moov 박스 또는 moof 박스에 대한 파일 메타데이터를 생성한다. 디바이스(600)는 또한 수신된 패킷으로부터 임의로 액세스할 수 있는 인트라(intra) 픽쳐 표시와 같은 인덱스들을 파생시킨다. 이것은 DVB 파일 생성기(610) 또는 프로세서(630)와 같은 디바이스(600)의 다른 구성요소, 또는 도 6에 도시되지 않은 다른 구성요소에 의해 수행될 수 있다. 만약 메타데이터의 하나 이상의 인덱스 또는 조각이 수신된 패킷에 대해 파생되거나 수신되었다면, 디바이스(600)는 메타데이터의 인덱스 또는 조각을 포함하는 타임드 메타데이터 샘플을 생성한다. 다시, 이것은 DVB 파일 생성기(610) 또는 프로세서(630)와 같은 디바이스(600)의 구성요소에 의해 수행될 수 있다. 타임드 메타데이터 샘플은 타임드 메타데이터 트랙와 연관되고, 타임드 메타데이터 트랙은 리셉션 힌트 트랙과 연관된다. 임의의 수신되거나 파생된 메타데이터의 조각 또는 인덱스에 대해서 그것의 타입을 분석하고, 만약 메타데이터의 타입이 이전에 존재하지 않았었다면, 디바이스(600)의 프로세서(630)는 새로운 SampleGrouopDescription 박스를 생성한다. 프로세서(630)는 또한 메타데이터의 조각의 콘텐트가 파일 내에 이전에 저장되어 있던 모든 메타데이터와 상이한지 여부를 검사한다. 만약 콘텐트가 새로운 것이라면, SampleGrouopDescription 박스를 위한 새로운 엔트리가 생성되고 콘텐트는 그 엔트리로 복제된다. SampleToGroup 박스는 각각의 그룹핑 타입에 대해 유지되고 리셉션 힌트 트랙의 샘플들은 각각의 SampleGrouopDescription 박스 내의 엔트리들 중 하나로 맵핑된다.
이 실시예에서, 메타데이터의 인덱스 또는 조각이 리셉션 힌트 샘플과 연관되었는지 아닌지의 여부와 무관하게, 하나의 메타데이터 샘플이 모든 리셉션 힌트 샘플에 대해서 생성될 수 있다. 상응하는 메타데이터 샘플의 페이로드는 메타데이터의 인덱스 또는 조각이 리셉션 힌트 샘플과 연관되었는지를 표시한다. 또한, 타임드 메타데이터 트랙의 잠재적인 트랙 프래그먼트는 프래그먼트 내에 첫번째 그리고 마지막으로 포함된 샘플의 측면에서 상응하는 리셉션 힌트 트랙에 따라 정렬될 수 있다. 트랙-헤더-레벨 박스 또는 구조 내의 파일에 각 리셉션 힌트 샘플마다 하나의 타임드 메타데이터 샘플이 존재하는지 아닌지 여부와, 타임드 메타데이터 트랙의 트랙 프래그먼트가 연관된 리셉션 힌트 트랙의 것과 동일한지 아닌지 여부가 표시될 수 있다. 각각의 리셉션 힌트 샘플마다 하나의 메타데이터 샘플이 생성될 때, 타임드 메타데이터 트랙의 상응하는 트랙 프래그먼트 및 리셉션 힌트 트랙은 동일한 샘플 넘버를 갖는 샘플들을 포함할 수 있다.
샘플 그룹핑의 생성은 다수의 방식으로 구현될 수 있음을 인지해야 한다. 예를 들어, 샘플 그룹핑의 생성은 샘플들 자신의 수신 및 저장과 동시에 발생하지 않을 수도 있다. 대신, 샘플 그룹핑은 메타데이터를 저장하기 위한 중간 포맷에 기초하거나 또는 타임드 메타데이터 트랙에 기초하여, 오프라인으로 수행될 수 있다. 도 5a를 참조하면, 블록(530, 540)은 스트림의 수신이 완료된 후에 발생할 것이다. 도 5b를 참조하면, 블록(555)는 스트림의 수신이 완료된 후에 발생할 것이다. 도 1을 다시 참조하면, 샘플 그룹핑의 오프라인 생성은, 기록 저장부(155)로부터 그들의 입력을 획득하여 이것을 디코더(160)로 출력하는 두 개의 추가 블록들을 발생시킬 것이다. 프로세싱 순서에서의 첫번째 블록은 파일 재-기록기(re-writer)로 지칭될 수 있으며, 이는 특정 메타데이터 타입에 대한 샘플 그룹핑 없이 파일을 입력하고, 해당 샘플 그룹핑의 타입을 이용하여 파일을 출력한다. 프로세싱 순서의 두번째 블록은 제 2 기록 저장부로 지칭될 수 있으며, 이는 기록 저장부(155)와 유사한 특정들을 가질 수 있다.
앞서 기술된 파일 재-기록기 및 제 2 기록 저장부는 수신기(150)와 같은 동일한 디바이스, 기록 저장부(155), 디코더(160), 또는 다른 디바이스 내에 존재할 수 있다. 또한, 파일 재-기록기 및 제 2 기록 저장부는 서로 다른 디바이스들 또는 동일한 디바이스 내에 존재할 수 있다.
수신된 스트림들은 서로 다른 특성들을 가질 수 있으며, 이는 수신된 스트림들이 멀티플렉싱된 포맷(MPEG-2 수송 스트림) 내의 다수의 미디어 타입 및 프로그램을 포함할 수 있거나 또는 단일 프로그램(RTP 스트림)의 단일 미디어 타입을 포함할 수 있다는 것이다. 결과적으로, 수신기 동작 및 파일 포맷 구조는 아래와 같이 구성된다.
본 발명의 다수의 실시예들이 ISO/IEC 14496-12에 명시된 샘플 그룹핑과 같은 샘플 그룹핑의 어떤 특정한 유형으로 제한되지 않음을 인지해야 한다. 아래의 실시예는 본 발명의 다수의 실시예들이 적용될 수 있는 샘플 그룹핑 메커니즘을 기술한다.
그룹 타입에 추가로, 샘플 그룹핑은 0 이상의 글로벌 파라미터에 의해 특징화될 수 있다. 글로벌 파라미터의 예시들은 MPEG-2 수송 스트림 내의 프로그램 식별기(PID) 및 타임라인 식별기를 포함한다. 샘플 그룹을 파싱(parsing)할 때, 예컨대 특정 타임라인 내의 원하는 타임스탬프와 같이, 한번에 오직 글로벌 파라미터의 특정 값만을 다루게 된다. 열거된 샘플 그룹 디스크립션 엔트리에 더하여, SampleToGroup 박스 내의 각 엔트리에 대해 변화할 수 있는 로컬 파라미터들을 허용하는 것이 바람직할 수 있다. 예를 들어, 타임코드는 SampleToGroup 박스 내의 엔트리와 연관될 수 있다. 샘플 그룹핑을 파싱할 때, 서로 다른 로컬 파라미터 값들이 동일한 구조, 즉 동일한 SampleToGroup 박스 내에 인터리빙된다.
이 실시예의 샘플 그룹핑 메커니즘의 의미는 아래와 같이 표현된다.
기술된 DVBSampleToGroup 박스는 구조적으로 SampleToGroup 박스와 호환가능하며, 즉 만약 (박스 헤더의) 플래그가 0이면, 신택스는 SampleToGroup 박스와 동일하다. 전술된 바와 같은 글로벌 파라미터는 그룹핑 인스턴스 정보(instance_info)에 의해 표현된다. static_info는 모든 그룹핑된 샘플들에 대해 변화하지 않고 남아있는 고정 값들을 나타낸다. static_info의 의미는 grouping_type에 의존한다. 예를 들어, static_info는 타이밍 및 샘플 넘버 비정확성 범위를 제공하는 DVBIndexBox(후속하여 기술됨)의 페이로드에 따라서 포맷될 수 있다. 로컬 파라미터들은 페이로드 또는 group_description_index에 의해 표현된다. DVBSampleToGroup 박스는 info_length, static_length 및 payload_length 덕분에 grouping_type의 의미 없이 파싱될 수 있다. 특정한 grouping_type에 대해 인식하지 않는 파일 편집기 소프트웨어 프로그램 또는 디바이스는, 특정한 grouping_type의 의미에 대한 지식이 없다고 하더라도, 박스를 편집할 수 있다(예컨대, 샘플들의 삭제 또는 삽입에 응답하여). sample_number는 페이로드 또는 group_description_index를 적용하는 첫번째 샘플을 나타내고, 연속적인 샘플들의 개수의 측면에서 페이로드 또는 group_description_index의 지속도(persistence)가 sample_count에 의해 표시된다. 만약 sample_number가 기술되어 있지 않으면, 페리오드 또는 group_description_index가 적용되는 첫번째 샘플은, 루프 내의 이전 엔트리가 적용된 마지막 샘플에 후속한다. DVBSampleToGroup 박스 내의 sample_count의 값은 출현(appearance) 순서에 따라 증가한다. 샘플은 DVBSampleToGroup 박스 내에 오직 한번 포함되며, 즉 sample_number와 sample_count의 이전 값들의 합은 sample_number의 현재 값보다 작다. 트랙 내의 각 샘플이 DVBSampleToGroup 박스 내에 맵핑될 것이 요구되지 않는다. DVBSampleGroupDescription 박스 및 group_description_index는 열거된 인덱스에 사용될 수 있다. DVBSampleToGroup 박스 내에 맵핑되지 않은 샘플들에 대한 페이로드 또는 group_description_index의 값은 명시되지 않는다. instance_info의 의미 및 페이로드는 각 grouping_type에 대해 명시된다.
DVBSampleToGroup 박스의 신택스에 대한 다른 정의가 아래에 기술되었다. 이전의 경우에 비교하여 주요 차이점은 가변 길이 페이로드가 가능하게 되었다는 점이다.
도 7은 group_description_index가 참조되지 않았을 때((flags & 2)가 1과 같음) DVBSampleToGroup 박스(700)에 대한 네스팅 구조를 나타내는 단순화된 박스 계층을 제공한다. DVBSampleToGroup 박스(700)는, 무비(moov) 박스(210) 내에서 순서대로 미디어 정보(minf)(720), 미디어(mdia)(730) 및 트랙(trak) 박스(740) 내에 둘러싸인 샘플 테이블(stbl) 박스(710) 내에 존재한다.
DVBSampleToGroup 박스(700)는 무비 프래그먼트 내에 존재하도록 허용된다. 그러므로, 샘플 그룹핑은 프래그먼트에 의해 수행될 수 있다. 도 8은 DVBSampleToGroup 박스(700)를 포함하는 무비 프래그먼트(800)를 포함하는 파일의 예시를 도시한다.
DVBSampleGroupDescription 박스의 신택스는 아래와 같이 기술된다.
DVBSampleGroupDescription 박스의 구조는 SampleGroupDescription 박스와 호환가능하며, 즉 만약 (박스 헤더 내의) 플래그가 0으로 설정되면, 신택스는 SampleGroupDescription 박스와 동일하다. 앞서 규정된 바와 같은 글로벌 파라미터는 그룹핑 인스턴스 정보(instance_info)에 의해 표현된다. instance_info를 DVBSampleGroupDescription 박스 내에 포함하는 것은, 글로벌 파라미터들의 서로 다른 값들에 대한 서로 다른 열거(즉, 샘플 그룹 엔트리)를 가능케 한다.
DVBSampleToGroup 박스에 대해 앞서 기술된 신택스는 루프 내의 각 엔트리에 대해 명시된 고정 길이 페이로드 또는 group_description_index만을 허용한다. 일부 그룹핑 타입들에 대해서 특정 DVBSampleToGroup 박스 내에 명시된 임의의 엔트리가 가변 길이 페이로드를 갖는 것이 바람직할 수 있다. DVBSampleToGroupExtension 박스로 지칭되는 아래의 확장 메커니즘이 이러한 목적을 위해서 도시되었다.
루프 내의 각 엔트리는 동일한 grouping_type 및 글로벌 파라미터 값(즉, info_length 및 instance_info의 동일한 값들)을 갖는 DVBSampleToGroup 박스 내의 (동일한 루프 카운터 값을 갖는) 각각의 엔트리에 상응한다. 다시 말하면, 확장자는 루프 카운터 값이 각각의 DVBSampleToGroupExtension 및 DVBSampleToGroup 박스들 내에서 동일할 때 페이로드와 동일한 샘플들에 적용된다. 만약 extension_type이 기술되지 않았으면, grouping_type의 확장자에 대한 디폴트 의미가 적용된다. extension_type이 기술되었으면, 이것은 확장자의 의미를 결정한다. DVBSampleToGroup 박스와 유사하게, 특정한 글로벌 파라미터 및 extension_type의 DVBSampleToGroupExtension 박스가 각 무비 프래그먼트에 포함될 수 있다.
샘플 그룹들에 대한 가변 길이 로컬 파라미터에 더하여, DVBSampleToGroupExtension 박스는 현존하는 샘플 그룹 정의 및 파서(parser)와의 호환가능성을 유지하는 동시에, 샘플 그룹핑에 대한 정보의 새로운 조각들을 제공하는 데에 사용될 수 있다. 다시 말하면, DVBSampleToGroupExtension 박스 또는 특정 extension_type을 해석할 수 없는 파서가 여전히 상응하는 DVBSampleToGroup 박스를 성공적으로 파싱할 수 있다.
일 실시예에서, DVBSampleToGroup, DVBSampleGroupDescription 및 DVBSampleToGroupExtension 박스들에 대한 신택스에서 사용되는 전술된 instance_info는 전술된 박스들과 동일한 grouping_type의 값을 갖는 DVBGroupingInstance 박스 내에 포함되는 루프에 대한 인덱스이다. DVBGroupingInstance 박스의 신택스는 아래와 같이 명시될 수 있다. instance_descr의 의미는 grouping_type에 의해 결정된다.
일 실시예에서, extension_type은 전술된 글로벌 및 로컬 파라미터와 유사하게 파라미터화될 수 있다. 다시 말하면, extension_type에만 기초하여 확장자를 식별하기보다는, 이것의 의도 및 범주를 추가로 식별하는 파라미터와 연관될 수 있다. 연관된 파라미터는 실제 파라미터 값들을 포함하는 다른 박스 내의 루프에 대한 인덱스일 수도 있다.
도 9는 DVBGroupingInstance 박스(900), DVBSampleGroupDescription 박스(910), DVBSampleToGroup 박스(700) 및 DVBSampleToGroupExtension 박스(920)에 대한 네스팅 구조를 나타내는 단순화된 박스 계층을 제공한다. 전술된 박스들은, 무비(moov) 박스(210) 내에서 (순서대로) 미디어 정보(minf)(720), 미디어(mdia)(730) 및 트랙(trak) 박스(740) 내에 둘러싸인 샘플 테이블(stbl) 박스(710) 내에 존재한다. 화살표(950, 960, 970)는 논리적 연결을 나타낸다. 화살표(950)는 DVBSampleGroupDescription 박스(910), DVBSampleToGroup 박스(700) 및 DVBSampleToGroupExtension 박스(920)가, 만약 존재한다면, (소정의 값의 grouping_type을 갖는) DVBGroupingInstance 박스(950)를 지칭한다는 것을 나타낸다. 화살표(960)는 소정의 grouping_type 및 플래그의 값을 이용하여, DVBSampleToGroup 박스(700)가 각각의 DVBSampleGroupDescription 박스(910)를 지칭한다는 것을 나타낸다. 화살표(960)는 DVBSampleToGroupExtension 박스(920)가 항상 각각의 DVBSampleToGroup 박스(700)를 지칭한다는 것을 나타낸다.
샘플 그룹핑이 MPEG2-TS 리셉션 힌트 트랙(또는 임의의 다른 멀티플렉싱된 스트림)에 적용되었을 때, 아래의 사항이 유지된다:
- 리셉션 힌트 트랙과 연관된 샘플 그룹들이 오디오-비디오 멀티플렉스에 대한 메타데이터, 예컨대 toextual 기술적 메타데이터를 나타낼 수 있다;
- 단일 미디어에 대한 인덱스 및 메타데이터는 특정한 그룹핑 타입에 의해 표현될 수 있다;
- 근사 인덱스가 특정한 그룹핑 타입들로 표현될 수 있다.
이와 달리 또는 보완적으로, 인덱스의 정확도는 샘플 그룹 내에 하나보다 많은 인접한 샘플을 포함함으로써 나타내어질 수 있으며, 이것은 인덱싱된 특성이 근접하는 샘플들 중 하나에서 참이어야 한다는 것을 나타낸다. 예를 들어, 근사 랜덤 액세스 포인트는 N개의 근접한 샘플들을 타입 랜덤 액세스 포인트의 샘플 그룹으로 포함시킴으로써 표현되어질 수 있으며, 이것은 N개의 샘플들 중 하나가 디코딩 시작 위치이어야 한다는 것을 나타낸다.
샘플 그룹핑이 미디어 트랙 또는 RTP 리셉션 힌트 트랙으로 적용되었을 때, 단일 미디어 타입에 대한 인덱스 및 메타데이터는 특정 그룹핑 타입들에 의해 표현될 수 있다. 그러나, 샘플 그룹핑 메커니즘이 하나의 트랙 내에서만 동작하기 때문에, (아래에서 "멀티-트랙" 메타데이터로도 지칭되는) 하나보다 많은 미디어 트랙 또는 리셉션 힌트 트랙으로 적용되는 메타데이터가 표현되어야만 한다. 이러한 문제는 두 가지 경우에서 구체화된다. 첫번째, 미디어 트랙과 리셉션 힌트 트랙(들) 모두가 수신된 스트림으로부터 생성될 수 있다. 두번째, 복수의 RTP 리셉션 힌트 트랙들이 존재할 수 있다. 본 발명의 샘플 그룹핑 메커니즘은 리셉션 힌트 트랙이 파일 내에 존재할 때마다 그들과 연관될 것이 제안된다. 따라서, 위의 첫번째 경우는 방지될 수 있다. 두번째 경우에 있어서, 몇몇 옵션들이 고안되었다.
첫째, "멀티-트랙" 메타데이터가 임의의 관련된 트랙과 연관될 수 있다. 메타데이터가 리셉션 힌트 트랙 또는 미디어 트랙과 연관되었을 때, 메타데이터는 동일한 디코딩 기간 내에서 각각 모든 리셉션 힌트 트랙 또는 미디어 트랙으로 명시적으로 적용된다. 이러한 대안은 파서가 잠재적인 "멀티-트랙" 메타데이터에 대해 모든 트랙들을 검사할 것을 요구한다.
이와 달리, "멀티-트랙" 메타데이터는 "마스터" 트랙과 연관될 수 있다. 마스터 트랙은 예를 들어 moov 박스 내의 새로운 박스를 이용하여 명시적으로 나타내어질 수 있다. 새로운 박스는 또한 "멀티-트랙" 메타데이터에 대한 내부-연결된 트랙들 모두를 리스팅할 수도 있다.
다른 실시예에서, 타임드 메타데이터 트랙은 다수의 미디어 트랙들 또는 RTP 리셉션 힌트 트랙과 연관될 수 있다. 샘플 그룹핑은 타임드 메타데이터 트랙에 적용될 수도 있다. 참조된 미디어 및 리셉션 힌트 트랙들은 타입 'cdsc'의 트랙 참조로서 리스팅될 수 있다. 이것은 메타데이터가 어느 트랙들과 관련되어 있는지를 명시적으로 표시한다. 만약 사용되었다면, 샘플 기간은 각 메타데이터 아이템의 지속도와 매칭하도록 설정될 수 있다.
본 발명의 일 실시예에서, 특히 전술된 "마스터" 트랙의 실시예에서, 새로운 박스는 트랙 관계 박스로 지칭되고 이것은 트랙들 간의 관계를 나타낸다. 트랙 관계 박스는 아래와 같이 규정된다:
박스 타입: 'trel'
컨테이너: 무비 박스('moov')
의무: 아님
수: 0 또는 1
트랙 관계 박스에 대한 신택스는 아래와 같다:
상기 신택스에서, "version"은 트랙 관계 박스의 버전을 명시하고(전술된 바와 같이 0), "flags"는 24비트 정수의 플래그이다. 비트 0은 최하위 중요 비트, 비트 1은 그 다음으로 하위의 중요 비트를 나타내도록 이어지는 비트들이 규정된다. 비트 0이 1일 때, 이것은 리셉션 그룹의 정보가 이 박스 내에 존재한다는 것을 나타낸다. 비트 0이 0과 같을 때, 이것은 리셉션 그룹의 정보가 이러한 박스 내에 존재하지 않는다는 것을 나타낸다. 당업자에게는 다른 트랙 관계 타입들이 비트 0이 아닌 다른 비트 넘버를 이용하여 명시 및 표시될 수 있다는 점이 명백할 것이다.
"num_reception_groups"는 시그널링된 리셉션 그룹들의 개수를 나타낸다. 리셉션 그룹은 동시에 수신되었거나 또는 동일한 기록의 다른 부분인 리셉션 힌트 트랙들을 포함한다. 또한, 리셉션 그룹은 리셉션 힌트 트랙에 기초하여 파생된 미디어 트랙들을 포함할 수 있다. "track_id"는 시그널링된 i번째 리셉션 그룹 내의 j번째 트랙의 트랙 식별자를 나타낸다. 리셉션 그룹의 첫번째 track_id는 샘플 그룹들로 표시될 수 있고 리셉션 그룹 내의 모든 트랙들과 결합적으로 연관되는 시그먼트된 메타데이터를 포함할 수 있는 마스터 트랙이다. 마스터 트랙 외엔 어느 다른 트랙도 리셉션 그룹 내의 모든 트랙들과 연관된 세그먼트된 메타데이터를 포함하도록 허용될 수 없다.
일 실시예에서, 인덱스 또는 세그먼트된 메타데이터에 대한 타임드 메타데이터 트랙들이 생성되었을 때, 아래의 구현들이 이어질 수 있다.
하나의 타임드 메타데이터 트랙은 단일-프로그램 MPEG-2 수송 스트림의 프로그램-특정 인덱스 및 메타데이터에 대해 생성된다. 프로그램-특정 인덱스 및 메타데이터는 프로그램의 오디오 및 비디오 스트림들과, 부제 스트림과 같은 프로그램의 임의의 다른 잠재적인 구성요소에 동일하게 적용된다.
프로그램당 하나의 타임드 메타데이터 트랙이 멀티-프로그램 MPEG-2 수송 스트림의 프로그램-특정 인덱스 및 메타데이터에 대해 생성된다. 이와 관련하여, 타임드 메타데이터 트랙은 오직 하나의 프로그램의 메타데이터를 포함할 수 있다. 이 프로그램은 자신의 program_number 값으로 식별될 수 있으며, 이것은 예를 들어 MPEG-2 수송 스트림의 프로그램 연관 및 프로그램 맵 테이블에서 사용되는 MPEG-2 수송 스트림 내의 프로그램들에 대한 16비트 고유 식별자이다. 일 실시예에서, 파라미터 program_number는 MPEG2-TS 리셉션 힌트 트랙들과 연관된 타임드 메타데이터 트랙들에 대한 샘플 엔트리 구조 내에 포함될 수 있다.
하나의 타임드 메타데이터 트랙은 MPEG2-TS 프로그램의 각 기본적인 스트림의 미디어-특정 인덱스들에 대해 생성된다. 미디어-특정 인덱스들은 특정한 미디어 타입에만 적용될 수도 있다. 예를 들어, 이들은 비디오의 참조 및 비-참조 프레임의 표시 또는 비디오의 일시적인 스케일가능성 레벨의 표시일 수 있다.
하나의 타임드 메타데이터 트랙은 RTP 스트림에 대한 미디어-특정 인덱스들에 대해 생성될 수 있다. 또한, 하나의 타임드 메타데이터 트랙은 복수의 RTP 스트림들의 프로그램-특정 인덱스들에 대해 생성될 수도 있다. 타임드 메타데이터 트랙은 트랙 참조를 사용하여 RTP 리셉션 힌트 트랙들과 연관된다. 다른 실시예에서, 타임드 메타데이터 트랙은 트랙 참조를 갖는 "마스터" 리셉션 힌트 트랙과 연관되고, 그외의 연관된 리셉션 힌트 트랙들은 앞서 기술된 바와 같은 TrackRelation 박스를 통해 표시된다.
기본적인 미디어 스트림당 하나의 프로그램-특정 타임드 메타데이터 트랙 및 하나의 미디어-특정 타임드 메타데이터 트랙이 종종 바람직할 수 있지만, 하나보다 많은 타임드 메타데이터 트랙들이 생성될 수도 있다. 예를 들어, 만약 프로그램에 대한 다른 타임라인이 프로그램 자신에 후속하여 제공되었다면, 파일 구성의 측면에서, 제공된 타임라인에 대해 새로운 타임드 메타데이터 트랙을 생성하는 것이 보다 실용적이다.
타임드 메타데이터 트랙을 사용하여 실시예에 있어서, 본 발명의 실시예에 따른 수신기는 각각의 수신된 패킷에 응답하여 아래와 같이 동작할 수 있다:
- 수신된 패킷을 mdat 박스 내의 리셉션 힌트 샘플로 변환.
- 인덱스 및 세그먼트된 메타데이터를 파생시킴. 만약 존재한다면 연관된 메타데이터 샘플(들)을 mdat 박스에 기록(상응하는 리셉션 힌트 샘플 후에 즉시).
- 리셉션 힌트 트랙의 트랙 헤더 내의 박스들을 업데이트.
- 타임드 메타데이터 트랙의 트랙 헤더 내의 박스들을 업데이트.
- 만약 트랙 헤더에 대해 보존된 메모리가 완전히 사용되었다면(그리고 동적으로 재할당할 수 없다면), 새로운 무비 프래그먼트를 시작.
더욱 큰 크기의 버퍼 메모리를 갖는 수신기는 메모리의 연속적인 청크(chunk)들에 다수의 메타데이터 샘플들과 리셉션 힌트 샘플들을 배열할 수 있으며, 따라서 샘플들에게 요구되는 저장 공간 내에서 청크 박스 및 청크 오프셋 박스로 저장한다.
인덱스 및 세그먼트된 메타데이터는 자신과 연관된 리셉션 힌트 샘플들에 대해 아래의 특징들을 갖는다. 인덱스는, 일반적으로 동일한 타입의 다음 인덱스까지, 연관된 리셉션 힌트 샘플 온워드(onward)로부터 유효할 특징을 나타낼 수 있다. 예를 들어, MPEG-2 수송 스트림에서의 스크램블링(scrambling)의 극성(polarity) 변화를 나타낼 수 있다. 인덱스는 리셉션 힌트 샘플과 동기화되는 단일의 리셉션 힌트 샘플 또는 이벤트의 특징을 나타낼 수 있다. 북마크는 이러한 인덱스의 예시이다.
인덱스는 연관된 리셉션 힌트 샘플과 이전의 리셉션 힌트 샘플 사이의 스트림의 특징을 나타낼 수 있다. 손실된 패킷의 표시가 이러한 인덱스이다.
인덱스는 코딩된 미디어 샘플의 특징을 나타낼 수 있다. 본 발명에서 제안된 타임드 메타데이터 트랙이 리셉션 힌트 샘플들과 연관되고, 리셉션 힌트 샘플들이 일반적으로 정확히 하나의 미디어 샘플을 포함하지는 않으며, 하나의 미디어 샘플에 대한 데이터는 근접하는 리셉션 힌트 샘플 내에 존재할 수도 있고 존재하지 않을 수도 있음을 인지해야 한다(예컨대, 기본적인 오디오 및 비디오 스트림들이 MPEG-2 수송 스트림 내에서 멀티플렉싱되기 때문). 결과적으로, 미디어 샘플들을 인덱싱하는 적어도 두 가지 옵션이 존재한다: (1) 인덱스는 미디어 샘플에 대한 데이터를 포함하는 첫번째 리셉션 힌트 샘플과만 연관됨; 및 (2) 인덱스는 미디어 샘플에 대한 데이터를 포함하는 모든 리셉션 힌트 샘플들과 연관됨.
인덱스 및 세그먼트된 메타데이터를 포함하는 타임드 메타데이터 트랙들과 연관된 샘플 그룹들은 아래의 방식 중 임의의 방식으로 생성될 수 있다:
- 샘플 그룹은 인덱스의 값을 나타낼 수 있다. 예컨대, 비디오 샘플 특징이 표시될 수 있다(랜덤 액세스 인트라 픽쳐, 픽쳐의 시간적 레벨). 일 실시예에서, 샘플 그룹 디스크립션 박스는 인덱스에 대해 허용된 또는 사용된 값들을 포함한다. 다른 실시예에서, 페이로드 또는 DVBSampleToGroup 박스 또는 DVBSampleToGroupExtension 박스 내에 각각 포함되는 확장자 필드는 인덱스들의 값을 나타낼 수 있다.
- 샘플 그룹은 이전의 샘플과 비교하여 특정한 타입의 인덱스가 변화하였는지 아닌지, 즉 인덱스의 지속성을 나타낼 수 있다. 예를 들어, 암호화된 콘텐트에 대한 보호 키의 변화가 표시될 수 있다. 일 실시예에서, DVBSampleToGroupExtension 박스는 그룹 박스에 대한 샘플이 오직 인덱스 값이 변화되었는지의 표시만을 포함할 때 인덱스들의 값을 포함하는 데에 사용될 수 있다.
- 샘플 그룹은 북마크를 나타낼 수 있다. 샘플 그룹 디스크립션 박스는 북마크 자신을 포함한다.
- 샘플 그룹은 세그먼트된 메타데이터에 대한 제목 및 다른 정보를 나타낼 수 있다. 샘플 그룹 디스크립션 박스는 제목을 포함한다. 샘플 그룹에 대한 임의의 특정 메타데이터 개요에 따라 구성된 메타데이터를 연결시키는 일 메커니즘이 아래에 기술되었다. 임의의 특정한 메타데이터 개요에 따라 포맷된 메타데이터 섹션은 타임드 메타데이터 트랙, 무비, 또는 전체 파일과 연관된 메타 박스 내의 아이템으로서 포함된다. 샘플 그룹 디스크립션 박스에서와 같은 메타데이터 섹션을 포함하기보다는, 샘플 그룹 디스크립션 박스는 연관된 메타데이터 섹션을 포함하는 아이템에 대한 연결(전형적으로는 아이템 식별자로서)을 포함한다.
- 샘플 그룹은 임의의 특징의 인덱스들 또는 세그먼트된 메타데이터의 세트(또는 튜플)의 값을 나타낼 수 있다. 예를 들어, 샘플 그룹은 코딩된 비디오 기본 스트림에 대한 계층적 시간 스케일가능성 구조에서의 시간 레벨 및 픽쳐 타입(인트라(intra), 인터(inter), 또는 양방향 예측가능한 픽쳐)과 같은 인덱스들의 쌍의 값을 나타낼 수 있다.
만약 인덱스가 코딩된 미디어 샘플과 연관되면, 샘플 그룹은 미디어 샘플에 대한 데이터를 포함하는 첫번째 리셉션 힌트 샘플만을, 또는 미디어 샘플에 대한 데이터를 포함하는 모든 리셉션 힌트 샘플을 나타낼 수 있다.
예시적인 샘플 엔트리 포맷은 아래와 같이 제공될 수 있다:
"IndexSampleEntry"는 이 샘플 엔트리와 연관된 샘플들 내에 존재할 수 있는 인덱스들의 타입을 나타낸다. 만약 "entry_count"가 0이면, 임의의 인덱스가 이 샘플 엔트리와 연관된 샘플들 내에 포함될 수 있다. 만약 "entry_count"가 0보다 크다면, "index_type_4cc" 루프 값이 주어지고, "index_type_4cc"의 각각의 값은 이 샘플 엔트리와 연관된 샘플들 내에 존재할 수 있는 박스에 대한 4-문자 코드를 나타낸다. 타임드 메타데이터 트랙에 대한 샘플 엔트리들은 따라서 타임드 메타데이터 트랙 내에서 발생할 수 있는 메타데이터의 타입들을 나타낸다. 예컨대, 트랙 헤더 박스들의 확장자와 같이, 타임드 메타데이터 트랙 내에 존재하거나 또는 허용되는 메타데이터의 타입들을 표시하기 위한 다른 메커니즘들이 고안될 수 있다.
"MPEG2TSIndexSampleEntry"는 프로그램-특정 인덱스 및 메타데이터를 포함하는 타임드 메타데이터 트랙들에 사용되고 MPEG2-TS 리셉션 힌트 트랙과 연관되며, "program_number"은 MPEG-2 수송 스트림 내의 프로그램을 식별한다.
"MPEG2TSMediaIndexSampleEntry"는 미디어-특정 인덱스 및 메타데이터를 포함하는 타임드 메타데이터 트랙들에 사용되고, MPEG2-TS 리셉션 힌트 트랙들 내에 포함된 기본 스트림과 연관된다. pid는 MPEG-2 수송 스트림 내의 기본 스트림에 대한 식별자이다.
"RTPIndexSampleEntry"는 미디어-특정 인덱스 및 메타데이터를 포함하는 타임드 메타데이터 트랙들에 사용되고, RTP 리셉션 힌트 트랙과 연관된다.
"RTPReceptionGroupIndexSampleEntry"는 미디어-특정 인덱스 및 메타데이터에 사용되고, 하나보다 많은 RTP 리셉션 힌트 트랙과 연관된다.
인덱스 및 세그먼트된 메타데이터를 포함하는 타임드 메타데이터 트랙에 대한 예시적인 샘플 포맷은 아래와 같이 제공된다:
"IndexSample"은 0 이상의 인덱스 박스를 포함한다. 포함된 인덱스 박스에 대한 4-문자 코드는 반드시 연관된 샘플 엔트리에 의해 표시된 것이어야 한다.
본 발명에서 사용될 수 있고 DVB 문서 TM-FF0058r0에서 처음 제안된 예시적인 인덱스 박스는 아래와 같이 제안된다:
아래의 값들은 "time_accuracy" 및 "sample_accuracy"에 대해 기술되었다: 0×0: 정확함, 0×1: 식별되지 않음, 0×2: 발견적, 0×3: 보존(최대값이 제공되지 않음), 0×4-0×7: 애플리케이션-특정(최대값이 제공되지 않음), 0×8: 최대 비정확도가 명시됨, 0×9: 보존됨(최대 비정확도가 제공됨), 0×A-0×F: 애플리케이션-특정(최대 비정확도가 제공됨).
"video_event_mask"는 아래의 표 1에 따라서 표시된 샘플에서 시작하는 비디오 이벤트(들)을 나타내는 비트 마스크이다.
"video_event_length"는 현재 패킷을 포함하는 이 비디오 픽쳐를 구성하는 샘플(수송 패킷)의 개수이다. 값 '0'은 "알려지지 않음"을 의미하도록 사용될 수 있다. Sync Sample 박스는 인덱스를 타입 0×01의 이벤트로 전달할 수 있다.
"PCR_discontinuity_flag"는 연관된 PCR 이벤트 내의 프로그램 클록 참조(PCR) 비연속성이 존재하면 '1'로 설정되고, 그렇지 않으면 '0'으로 설정되는 필드이다.
"PCR_value"는, 예를 들어 ISO/IEC 국제 표준 13818-1의 식(2-1)에 따라 인덱싱된 PCR로부터 추출된 27-MHz 값이다.
"polarity"는 아래의 표 2에 따라 연관된 이벤트의 극성이다:
이 값은 적용된 새로운 극성 값을 나타내고, 타임드 메타데이터 샘플은 이러한 새로운 극성을 갖는 첫번째 리셉션 힌트 샘플에 해당한다. 극성 변화 인덱스는, 주어진 PID에 대한 패킷의 스트림의 극성이 변화할 때 발생하며, 서로 다른 PID의 패킷들 사이에서 변화할 때는 발생하지 않는 것으로 간주될 수 있다.
"ca_event_data"는 전형적으로 조건적 액세스(CA) 이벤트를 전달하는 패킷을 포함하는 바이트이고, 이것은 ECM일 것이다. "ca_event_data"는 박스의 종료시까지 계속된다. "ca_event_data"의 길이는 박스의 길이로부터 결정될 수 있다.
"timeline_id"는 ETSI TS 102 823 clause 5.2.2.4에 따른 타임라인의 식별자이며, "tick_format"은 Synchronized Auxiliary Data(SAD) 명세, ETSI TS 102 823에 따라 "absolute_ticks" 필드가 취하는 포맷을 명시하는 필드이다. "absolute_ticks"는 필드 "tick_format"에 의해 표시된 바와 같이 코딩되는 타임코드이다.
"DVBIDTable" 박스는 예컨대, 타임드 메타데이터 트랙에 대한 샘플 테이블 박스 내에 포함될 수 있다. "table_id"는 인덱싱되는 섹션 버전 업데이트의 테이블 id이다. 섹션 버전 업데이트로부터의 "table_id_extension"(또는 PMT에 대한 "program_number", 또는 PMT에 대한 "transport_stream_id")이 인덱싱된다. "section_no"는 이러한 업데이트가 적용되는 섹션 넘버이다. "section_data"는 존재하지 않을 수도 있는 필드이다. 만약 이것이 존재한다면, 이것은 새로운 버전의 섹션 데이터를 포함한다. 이 섹션 데이터는 박스의 종료시까지 계속될 수 있다. "section_data"의 길이는 박스의 길이로부터 결정될 수 있다.
"running_status"는 (예컨대, 만약 ID가 진행 중 또는 일시정지 중이라면) "ID_Table_index" 필드에 의해 참조되는 ID의 상태를 나타내는 필드이다. 이러한 필드의 값은 TS 102 323의 테이블(105)에서 규정된다. "ID_Table_index"는 "DVBIDTableBox"로의 인덱스이며, 이것은 표시된 running_status를 이용하여 이 위치에서 적용된 ID를 표시한다.
"ID_count"는 "DVBIDTable"을 따르는 ID의 개수이다. "ID"는 URI 포맷된 ID이다.
인덱스 박스들의 추가적인 예시가 아래에 제공되었다:
"sdp_text"는 표시된 샘플로부터 시작하는 유효한 SDP 디스크립션을 포함하는, 널로 끝나는 문자열(null- terminated string)이다.
"key_message"는 관련된 리셉션 힌트 샘플로부터 시작하는 패킷 페이로드를 판독하는 데에 사용될 암호화 키를 포함한다.
"packet_header_error"에 있어서, 값 0×0은 패킷 헤더가 오류를 포함하지 않음을 나타낸다. 값 0×1은 패킷 헤더가 오류를 포함할 수 있거나 포함하지 않을 수 있음을 나타낸다. 값 0×2는 패킷 헤더가 오류를 포함함을 나타낸다. 값 0×3은 보존된다.
"packet_payload_error"에 있어서, 값 0×0은 패킷 페이로드가 오류를 포함하지 않음을 나타낸다. 값 0×1은 패킷 페이로드가 오류를 포함할 수 있거나 포함하지 않을 수 있음을 나타낸다. 값 0×2는 패킷 페이로드가 오류를 포함함을 나타낸다. 값 0×3은 보존된다.
"packet_sequence_gap"에 있어서, 값 0×0은 패킷이 전송 순서로 리셉션 힌트 트랙 내에서 이전의 패킷을 즉시 따른다는 것을 나타낸다. 값 0×1은 패킷이 전송 순서로 리셉션 힌트 트랙 내에서 이전의 패킷에 즉시 따르거나 그렇지 않을 수 있음을 나타낸다. 값 0×2는 패킷이 전송 순서로 리셉션 힌트 트랙 내에서 이전의 패킷에 즉시 따르지 않음과, 예를 들어, 이 패킷 이전에 적어도 하나의 손실된 패킷이 존재한다는 것을 나타낸다. 값 0×3은 보존된다.
다른 실시예에서, 인덱스를 포함하는 타임드 메타데이터 트랙에 대한 Index Sample Entry 포맷은 다음과 같다:
IndexSampleEntry는 이 샘플 엔트리와 연관된 샘플 내에 존재할 수 있는 인덱스들의 타입을 나타낸다. program_number은 MPEG-2 수송 스트림 내의 프로그램을 식별한다. 만약 entry_count가 0이면, 임의의 인덱스가 이러한 샘플 엔트리와 연관된 샘플들 내에 포함될 수 있고, instance_info_length, payload_length 및 extension_count의 디폴트 값(DVB 파일 포맷 명세의 제 1 배포본에 따름)이 사용된다. sample_number_offset은 참조된 트랙 내의 샘플 넘버를 획득하기 위해 연관된 타임드 메타데이터 샘플 내의 sample_number에 추가될 오프셋을 명시한다. index_type_4cc는 이러한 샘플 엔트리와 연관된 샘플들 내에 존재할 수 있는 인덱스 타입을 표시한다. instance_info_length, payload_length 및 extension_count는 인덱스 샘플에서 사용되는 이들 필드들의 값을 나타낸다. DVB 파일 포맷 파서는 각각의 index_type_4cc에 대해 문서 내에 명시된 바이트 범위를 넘은 바이트 index_instance_info, index_payload 및 index_extension을 무시한다. 이러한 메커니즘은 이후의 인덱스 포맷 버전에서 후방향-호환가능한 방식으로 필드 첨부를 허용한다. 만약 리셉션 힌트 트랙에 대한 다수의 타임드 메타데이터 트랙이 존재한다면, index_type_4cc 값은 원하는 인덱스를 포함하는 트랙을 위치시키도록 사용될 수 있다.
인덱스 샘플은 하나 이상의 인덱스 이벤트를 포함하며, 각각은 아래의 추상적인 신택스를 갖는다. index_instance_info 및 index_payload의 의미는 32비트 index_type에 의해 결정되고, index_extension의 의미는 후속하여 명시되는 바와 같은 extension_type에 의해 결정된다. index_type은 샘플 그룹핑 내의 grouping_type에 해당한다.
IndexEvent 구조 내의 index_instance_info, index_payload, extensino_type 및 index_extension의 의미는 DVBSampleToGroup, DVBSampleGroupDescription 및 DVBSampleToGroupExtension 박스들에서 각각 사용되는 IndexEvent 구조 내의 index_instance_info, index_payload, extensino_type 및 index_extension의 의미와 동일하다. 이러한 매칭은 타임드 메타데이터 트랙 내에 포함된 인덱스와 DVBSampleToGroup에 의해 표시된 인덱스 사이의 간단한 변환을 가능케 한다.
일부 인덱스 이벤트의 신택스가 아래에 제공되었으며, 이때 신택스 요소의 의미는 앞서 기술된 실시예에서 기술된 것과 동일하다.
기술적인(descriptive) 메타데이터를 위해 적어도 두 가지 타입의 용도가 존재한다. 첫번째, 브로드캐스트가 연속적으로 기록되었을 때(예컨대, 특정 프로그램의 스케줄링된 기록이 아닌 즉각적인 기록 동작을 개시하는 사용자의 응답으로서), 하나보다 많은 프로그램으로부터의 콘텐트가 단일 파일로 기록될 수 있다. 따라서, 전자 서비스 가이드(ESG) 정보 또한 파일 내의 하나보다 많은 프로그램에 대해 저장된다. 인덱싱 메커니즘은 ESG 정보의 각각의 프래그먼트를 갖는 프로그램을 포함하는 샘플들의 그룹을 맵핑하는 데에 사용될 수 있다. 둘째로, 요약 또는 특정 컷(cut)과 같은 상이한 "스토리라인(storyline)들"이 브로드캐스터에 의해 제공될 수 있다. 예를 들어, 브로드캐스터는 정보, 특히 축구 게임의 골 장면, 게임의 일반적인 하이라이트, 또는 게임 동안의 특정 선수의 하이라이트에 대한 기간 및 설명을 제공할 수 있다. 이러한 "스토리라인"은 기록 후에 제공될 수 있고, 특정한 타임라인(전술된 타임코드 인덱스에서 기술된 것과 같은)을 사용할 수 있다. 인덱싱 메커니즘은 기록된 파일 내의 "스토리라인"을 나타내기 위해 사용될 수 있다.
DVBSampleToGroup 박스는 기술적인 또는 세그먼트된 메타데이터에 아래와 같이 사용될 수 있다. grouping_type의 값은 ESG와 "storyline" 메타데이터가 구조적으로 동일하고 동일한 grouping_type이 사용될 수 있더라도, 이들을 구별할 수 있다. 글로벌 파라미터 instance_info는 스토리라인들을 구별하도록 사용된다. ESG 메타데이터에 있어서, instance_info는 ESG 메타데이터를 개시(ESG 제공자에 대한 정보를 제공)하기 위한 메타데이터 아이템의 item_id를 포함할 수 있거나 또는 ESG 메타데이터의 서로 다른 프로그램들을 구별하도록 사용될 수 있다. 실제 구현에서, instance_info는 스토리라인 또는 ESG에 대한 정보를 포함하는 메타데이터 아이템의 item_id를 포함할 수 있다. 이와 달리, instance_info는 예로서 각 스토리라인의 테스트 네임 또는 디스크립션으로 포인팅되는 URI를 포함할 수 있는 DVBGroupInstance 박스로 포인팅할 수 있다. DVBSampleToGroup 박스 내에 포함되는 루프 내의 엔트리들은 아래와 같이 사용될 수 있다. 만약 일정한 크기의 페이로드 필드가 사용되면, 이것은 스토리라인의 이벤트에 대한 기술적인 데이터 또는 각각의 ESG 프래그먼트와 같은 그룹화된 샘플들의 디스크립션을 포함하는 메타데이터 아이템의 item_id를 포함할 수 있다. 만약 group_description_index가 루프 내에서 사용되면, DVBSampleGroupDescription 박스는 각각의 ESG 프래그먼트 또는 스토리라인 내의 이벤트에 대한 기술적인 XML 프래그먼트의 URI를 포함할 수 있다. 이와 달리, DVBSampleGroupDescription 박스는 스토리라인 이벤트의 텍스트 디스크립션을 포함할 수도 있다. 가변 길이 페이로드를 허용하는 DVBSampleToGroup 박스에 대한 신택스가 사용되었을 때, 페이로드는 전술된 목적을 위해 사용되는 URI일 수 있거나 또는 이벤트의 텍스트 디스크립션일 수 있다.
도 10은 타임코드 인덱스에 대한 DVBSampleToGroup 박스에 따른 두 개의 샘플 그룹핑을 포함하는 파일을 도시한다. 앞서 명시된 신택스에서와 같이, timeline_id의 값은 타임코드 인덱스 샘플 그룹핑에 대한 글로벌 파라미터로서의 역할을 한다. 단계(1010)에서, timeline_id는 100과 같고, 반면 단계(1020)에서, timeline_id는 200과 같다.
샘플 그룹들이 리셉션 힌트 트랙 또는 미디어 트랙 내에 포함되었을 때, 원하는 세그먼트된 메타데이터 또는 인덱스 특성에 기초하여 파일 내의 위치를 검색(seeking)하는 것이 아래의 단계를 갖는 파일 파서에 의해 실행될 수 있다:
1. (자신의 그룹핑 타입에 기초하여) 적절한 샘플 그룹 디스크립션 박스를 선택.
2. 샘플 그룹 디스크립션 박스 내의 원하는 그룹 디스크립션 인덱스를 선택.
3. (선택된 그룹핑 타입의) SampleToGroup 박스(들)로부터 원하는 그룹 디스크립션 인덱스를 검색. 이것은 원하는 메타데이터/인덱스 특성의 샘플 넘버를 드러낸다.
4. 샘플을 자신의 샘플 넘버에 기초하여 파일 내에 위치시키도록 샘플 테이블 박스를 사용.
DVBSampleToGroup 박스에 따른 샘플 그룹들이 리셉션 힌트 트랙 또는 미디어 트랙 내에 포함되고, group_description_index보다는 페이로드가 사용되었을 때, 원하는 세그먼트된 메타데이터 또는 인덱스 특성에 기초하여 파일 내의 위치를 검색하는 것은 아래의 프로세스를 갖는 파일 파서에 의해 실행될 수 있다:
1. (자신의 그룹핑 타입 및 instance_info에 기초하여) 적절한 DVBSampleToGroup 박스를 선택.
2. DVBSampleToGroup 박스(들) 내의 페이로드의 원하는 값을 검색. 이것은 원하는 메타데이터/인덱스 특성을 갖는 샘플 넘버를 드러낸다.
3. 자신의 샘플 넘버에 기초하여 파일 내에 샘플을 위치시키도록 샘플 테이블 박스를 사용.
샘플 그룹이 타임드 메타데이터 트랙 내에 포함되었을 때, 원하는 세그먼트된 메타데이터 또는 인덱스 특성에 기초하여 파일 내의 위치를 검색하는 것이 아래의 프로세스를 갖는 파일 파서에 의해 실행될 수 있다:
1. (자신의 그룹핑 타입에 기초하여) 적절한 샘플 그룹 디스크립션 박스를 선택.
2. 샘플 그룹 디스크립션 박스 내의 원하는 그룹 디스크립션 인덱스를 선택.
3. (선택된 그룹핑 타입의) SampleToGroup 박스(들)로부터 원하는 그룹 디스크립션 인덱스를 검색. 이것은 타임드 메타데이터 트랙 내의 원하는 메타데이터/인덱스 특성의 샘플 넘버를 드러낸다.
4. 타임드 메타데이터 트랙의 샘플을 연관된 리셉션 힌트 트랙의 샘플로 맵핑. 만약 하나의 메타데이터 샘플이 각각의 리셉션 샘플에 대해 생성되었으면, 리셉션 힌트 트랙 내의 원하는 샘플 넘버는 타임드 메타데이터 트랙의 것과 동일하다. 이와 달리, 타임드 메타데이터 샘플의 디코딩 타임스탬프를 파생하고(샘플 박스에 대한 디코딩 시간을 사용), 동일한 디코딩 타임스탬프를 갖는 리셉션 힌트 샘플(또는 디코딩 타임스탬프의 시간과 관련된 리셉션 힌트 샘플)을 검색한다.
5. 이전 단계에서 식별된 리셉션 힌트 샘플의 샘플 넘버에 기초하여 파일 내에 샘플을 위치시키도록 리셉션 힌트 트랙의 샘플 테이블 박스를 사용.
샘플 그룹이 리셉션 힌트 트랙 또는 미디어 트랙 내에 포함되었을 때, 특정한 리셉션 힌트 샘플 또는 미디어 샘플에 대한 인덱스 및 세그먼트된 메타데이터를 각각 획득하는 것이, 아래의 프로세스를 갖는 파일 파서에 의해 실행될 수 있다:
1. 리셉션 힌트 트랙 또는 미디어 트랙과 연관된 그룹 박스에 대해 각 샘플을 (한번에 한개씩) 선택하고, 특정 리셉션 힌트 샘플 또는 미디어 샘플의 샘플 그룹 디스크립션 인덱스를 각각 찾는다.
2. 각각의 샘플 그룹 디스크립션 박스로부터 샘플 그룹 디스크립션 인덱스에 상응하는 인덱스 또는 세그먼트된 메타데이터를 획득.
샘플 그룹이 타임드 메타데이터 트랙 내에 포함되었을 때, 특정한 리셉션 힌트 샘플에 대해 유효한 인덱스 및 세그먼트된 메타데이터를 획득하는 것은, 아래의 프로세스들을 갖는 파일 파서에 의해 실행될 수 있다:
1. 아래와 같이 리셉션 힌트 샘플을 메타데이터 샘플로 맵핑. 만약 하나의 메타데이터 샘플이 각각의 리셉션 힌트 샘플에 대해 생성되었으면, 리셉션 힌트 트랙 내의 원하는 샘플 넘버는 타임드 메타데이터 트랙의 샘플 넘버와 동일하다. 그렇지 않으면, (샘플 박스에 대한 디코딩 시간을 사용하여) 리셉션 힌트 샘플의 디코딩 타임스탬프를 파생하고, 동일한 디코딩 타임스탬프를 갖는 타임드 메타데이터 샘플(또는 디코딩 타임스탬프의 시간과 관련된 타임드 메타데이터 샘플)을 갖는 타임드 메타데이터 샘플을 검색한다.
2. 타임드 메타데이터 트랙와 연관된 그룹 박스에 대한 각 샘플을 (한번에 하나씩) 선택하고, 특정한 타임드 메타데이터 샘플의 샘플 그룹 디스크립션 인덱스를 각각 찾는다.
3. 각각의 샘플 그룹 디스크립션 박스로부터 샘플 그룹 디스크립션 인덱스에 상응하는 인덱스 또는 세그먼트된 메타데이터를 획득한다.
전형적으로 파일 파서, 디코더(160) 및 렌더러(170)를 포함하는 재생기는, 샘플 그룹 디스크립션 박스들의 콘텐트의 일부분을 분석 및 재생성함으로써 실사용자에게 인덱스의 리스트, 북마크, 또는 메타데이터의 다른 타입을 제공할 수 있다.
재생기는 실사용자에게 북마킹 동작을 제공할 수 있다. 북마크는 수신기 동작에 대해 전술된 것과 유사하게 샘플 그룹핑을 사용하여 파일에 저장될 수 있다.
따라서, 본 발명의 실시예에 따르면, 샘플 그룹은 무비 프래그먼트와 문제없이 사용될 수 있으며, 이것은 SampleToGroup 박스가 트랙 프래그먼트 박스 내에 존재할 수 있기 때문이다. 그러므로, 단일 파일의 동시적인 기록 및 재생이 완전히 지원된다. 더욱이, 샘플 그룹 메커니즘은 새로운 그룹핑 타입이 명시될 수 있는 것처럼, 확장가능하다. 동일한 값을 갖는 (동일한 그룹핑 타입의) group_description_index를 갖는 인접한 샘플들에 있어서, 메타데이터의 지속성은 명백하다. 또한, SampleGroupDescription 박스들에 기초한 파일의 콘텐트의 테이블을 획득하는 것이 간단하다. 따라서, 예컨대 북마크와 같은 단순한 샘플과 연관된 메타데이터를 저장할 때, 샘플 그룹핑 메커니즘은 타임드 메타데이터 트랙보다 우수할 수 있다.
본 발명의 실시예가 대부분 수신기(150), 기록 저장부(155), 파일 파서 및 디코더(160)와 관련되어 있지만, 기술된 파일 구조는 파일을 생성할 때 인코더(110)에 의해 사용될 수도 있다. 특히, 파일이 자신의 미디어 콘텐트를 패킷화된 포맷으로 변환하지 않고 재생을 위해 제공되었을 때, 본 발명에서 제안된 것과 같이 구성된 세그먼트된 메타데이터 및 인덱스를 제공하는 것이 종종 유용하다. ISO 베이스 미디어 파일 포맷에 따르면, 인코더(110)는 무비 프래그먼트가 사용되는지 아닌지 여부에 따라서, moov 박스 또는 moof 박스 내에 나중에 저장될 파일 메타데이터를 파생시킨다. 임의의 수신된 메타데이터 조각에 있어서, 인코더(110)는 그것의 타입을 식별하고, 만약 메타데이터의 타입이 이전에 존재하지 않았다면 새로운 샘플 그룹 디스크립션 박스를 생성한다. 인코더(110)는 또한 메타데이터의 조각의 콘텐트가 파일 내에 이전에 저장된 모든 메타데이터와 상이한지 여부를 검사한다. 만약 콘텐트가 새로운 것이라면, 샘플 그룹 디스크립션 박스를 위해 새로운 엔트리가 생성되고, 메타데이터 콘텐트는 엔트리로 복제된다. SampleToGroup 박스는 각 그룹핑 타입에 대해 유지되며, 미디어 트랙 또는 힌트 트랙의 샘플들은 각각의 샘플 그룹 디스크립션 박스 내의 엔트리들 중 하나로 맵핑된다.
전술된 샘플 그룹핑의 생성은 다수의 방식으로 구현될 수 있다. 예를 들어, 샘플 그룹핑의 생성은 샘플들 자신의 인코딩 및 저장(120)과 동시에 발생하지 않을 수 있다. 대신, 샘플 그룹핑은 메타데이터를 저장하는 중간 포맷에 기초하여, 오프라인으로 수행될 수 있다. 도 1을 다시 참조하면, 샘플 그룹핑의 오프라인 생성은 저장부(120)로부터 그들의 입력을 획득하고, 서버(130)로 출력하는 두 개의 추가 블록들을 발생시킬 것이다. 프로세싱 순서에서의 첫번째 블록은 파일 재-기록기(re-writer)로 지칭될 수 있으며, 이는 특정 메타데이터 타입에 대한 샘플 그룹핑 없이 파일을 입력하고, 해당 샘플 그룹핑의 타입을 이용하여 파일을 출력한다. 프로세싱 순서의 두번째 블록은 제 2 저장부로 지칭될 수 있으며, 이는 저장부(120)와 유사한 특정들을 가질 수 있다.
앞서 기술된 파일 재-기록기 및 제 2 저장부는 인코더(110), 저장부(120), 서버(130)와 같은 동일한 디바이스 내에, 또는 상이한 디바이스 내에 존재할 수 있다. 또한, 파일 재-기록기 및 제 2 저장부는 서로 다른 디바이스들 또는 동일한 디바이스 내에 존재할 수 있다.
일 실시예에서, 서버(130)는 전형적으로 파일 파서(도 1에 도시되지 않음)를 포함한다. 파일 파서는 컨테이너 파일 내에 포함된 코딩된 미디어 비트스트림으로부터 패킷 스트림을 생성하기 위해 하나 이상의 힌트 트랙 내에 제공되는 명령어를 따른다. 파일 파서는 또는 힌트 트랙들과 연관된 샘플 그룹 디스크립션 박스들 내에 주어진 정보를 프로세싱한다. 이 프로세싱은 예컨대, 샘플 그룹 디스크립션 박스 내에 주어진 정보에 기초한 전자 서비스 가이드의 일부 또는 SDP 정보의 생성을 포함할 수 있다. 프로세싱은 미디어 또는 힌트 샘플을 갖는 샘플 그룹 디스크립션 박스 내에 주어진 (소정의 그룹 디스크립션 인덱스와 연관된) 메타데이터의 조각들의 관계 및 샘플 그룹 디스크립션 박스 내에 제공된 메타데이터의 지속도를 해결하도록, SampleToGroup 박스의 프로세싱도 포함할 수 있다. 예를 들어, 서버가 전송된 패킷 스트림의 디코딩을 위해 언제 새로운 SDP 정보가 요구되는지를 검사할 수 있고, 패킷을 디코딩하기 위해 새로운 SDP 정보가 필요할 때 수신기가 이용가능한 방식으로 새로운 SDP 정보를 전송한다. 일 실시예에서, 서버에 제공된 파일은 수신기(150)에 의해 생성되고 서버(130)에 동작가능하게 접속된 기록 저장부(155) 내에 저장된다.
본 발명의 특정 실시예가 개시되었지만, 다양한 서로 다른 변경들과 조합들이 가능하며, 첨부된 특허청구범위의 사상 및 범주 내에서 이들이 고안될 수 있음을 이해할 것이다. 따라서, 본 명세서에 기술된 정확한 개요 및 설명으로 본 발명을 제한하는 것은 아니다.
본 명세서에 개시된 본 발명의 다양한 실시예들은, 네트워킹된 환경에서 컴퓨터에 의해 실행되는 프로그램 코드와 같은 컴퓨터-실행가능한 명령어를 포함하는 프로그램 제품에 의해 일 실시예가 구현될 수 있는 방법의 단계들의 맥락에서 일반적으로 기술되었다. 컴퓨터-판독가능한 매체는 ROM, RAM, CD, DVD 등을 포함하지만 이것으로 제한되는 것은 아닌 삭제가능 저장 디바이스 및 삭제 불가한 저장 디바이스를 포함할 수 있다. 일반적으로, 프로그램 모듈은 특정한 태스크를 수행하거나 또는 특정한 요약 데이터 타입을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 데이터 구조와 연관된 컴퓨터-실행가능한 명령어 및 프로그램 모듈은, 본 명세서에 개시된 방법의 단계들을 실행하는 프로그램 코드의 예시를 나타낸다. 이러한 실행가능한 명령어 또는 연관된 데이터 구조의 특정 시퀀스는 이러한 단계들에서 기술된 기능을 구현하기 위한 상응하는 동작의 예시를 나타낸다. 본 발명의 다양한 실시예들은 예컨대 C/C++ 또는 어셈블리 언어와 같은 임의의 흔한 프로그래밍 언어를 사용하여 소프트웨어에서 직접 구현될 수 있다.
본 발명의 소프트웨어 및 웹 구현물은 다양한 데이터베이스 검색 단계, 보정 단계, 비교 단계 및 결정 단계를 달성하기 위해 룰 기초 로직 및 그외의 로직을 이용하는 표준 프로그래밍 기술을 사용하여 달성될 수 있다. 본 명세서의 실시예와 특허청구범위에서 사용된 "구성요소" 및 "모듈"과 같은 용어들은, 하나 이상의 라인의 소프트웨어 코드 및/또는 하드웨어 구현물 및/또는 매뉴얼 입력을 수신하기 위한 장치를 사용하는 구현물들을 포괄하도록 사용된 것이다.
상기의 예시에서 기술된 개별적이고 특정한 구조들은 아래의 특허청구범위에서 기술된 특정한 기능들을 수행하기 위한 수단의 대표적인 구조로 이해되어야만 하며, 특허청구범위에 "수단"이라는 용어가 사용되지 않은 경우에는 특허청구범위 내의 한정이 "수단+기능" 한정인 것으로 해석되어서는 안된다. 또한, 상기의 설명에서 "단계"라는 용어를 사용하는 것이 아래의 특허청구범위의 임의의 특정한 한정이 "단계+기능" 한정인 것으로 해석되는 데에 사용되어서는 안된다. 발행된 특허 문서, 특허출원 및 비특허 출판물을 포함하는 개별적인 참조물들이 어느 정도 본 명세서에 기술되거나 언급되었으며, 이러한 참조물은 아래의 특허청구범위의 범주를 제한하는 것으로 해석되어서는 안된다.
본 발명의 실시예들의 상기의 설명은 설명과 예시를 위한 것이다. 이는 본 발명을 개시된 정확한 형태로 제한하거나 한정하고자 하는 것이 아니며, 위의 내용의 측면에서 변경 및 변화가 가능하고 본 발명의 실시로부터 획득될 수 있다. 실시예들은 본 발명의 원리를 설명하도록 선택 및 기술되었으며, 당업자가 고안된 특정한 용도에 맞추어진 다수의 변경사항을 가지고 다양한 실시예로 본 발명을 이용할 수 있도록 그 실질적인 응용을 설명하도록 선택 및 기술되었다. 본 명세서에 기술된 실시예들의 특성은 방법, 장치, 모듈, 시스템 및 컴퓨터 프로그램 제품의 가능한 모든 조합으로 결합될 수 있다.
Claims (61)
- 스트리밍된 데이터를 조직화(organizing)하는 방법으로서,
스트리밍된 데이터를 파일에 저장하는 단계와,
상기 스트리밍된 데이터의 서브셋(subset)에 적용가능한 메타데이터를 식별하는 단계와,
상기 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 형성하는 단계를 포함하되,
하나의 그룹 내의 각 샘플은 메타데이터 타입에 대해 동일한 메타데이터 콘텐트를 갖는
스트리밍된 데이터의 조직화 방법.
- 제 1 항에 있어서,
하나의 파일에서 상기 적어도 하나의 그룹이 식별되는
스트리밍된 데이터의 조직화 방법.
- 제 1 항에 있어서,
상기 파일은 ISO 베이스 미디어 파일 포맷에 따르는
스트리밍된 데이터의 조직화 방법.
- 제 3 항에 있어서,
상기 스트리밍된 데이터를 파일에 저장하는 단계는, 스트리밍된 데이터를 리셉션 힌트 트랙(reception hint track)에 저장하는 단계를 포함하는
스트리밍된 데이터의 조직화 방법.
- 제 3 항에 있어서,
상기 메타데이터 타입은 그룹핑 타입(grouping type) 및 그룹핑 인스턴스 데이터(grouping instance data)에 의해 표시되고, 상기 그룹핑 타입은 상기 그룹핑 인스턴스 데이터 및 상기 메타데이터 콘텐트의 의미(semantic)를 명시하는
스트리밍된 데이터의 조직화 방법.
- 제 5 항에 있어서,
상기 메타데이터 콘텐트는 메타데이터 페이로드(payload) 및 0 이상의 메타데이터 페이로드 확장자(extension)를 포함하고, 상기 메타데이터 페이로드는 제 1 구조 내에 포함되며, 상기 0 이상의 메타데이터 페이로드 확장자는 제 2 구조 내에 포함되는
스트리밍된 데이터의 조직화 방법.
- 제 5 항에 있어서,
상기 적어도 하나의 그룹은 샘플 그룹 기술 박스(sample group description box) 내에 표시되는
스트리밍된 데이터의 조직화 방법.
- 제 3 항에 있어서,
상기 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시되는
스트리밍된 데이터의 조직화 방법.
- 제 1 항에 있어서,
상기 메타데이터 타입은 상기 스트리밍된 데이터의 세그먼트들의 타이틀을 포함하는
스트리밍된 데이터의 조직화 방법.
- 제 1 항에 있어서,
하나의 그룹은 둘 이상의 트랙으로부터의 샘플을 포함하는
스트리밍된 데이터의 조직화 방법.
- 제 10 항에 있어서,
모든 관련 트랙들과 연관된 메타데이터를 이용하여, 둘 이상의 트랙으로부터의 샘플을 포함하는 상기 그룹을 식별하는 단계를 더 포함하는
스트리밍된 데이터의 조직화 방법.
- 제 10 항에 있어서,
마스터 트랙과 연관된 메타데이터를 이용하여, 둘 이상의 트랙으로부터의 샘플을 포함하는 상기 그룹을 식별하는 단계를 더 포함하는
스트리밍된 데이터의 조직화 방법.
- 컴퓨터 판독가능한 매체 상에 구현된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은,
스트리밍된 데이터를 파일에 저장하는 단계와,
상기 스트리밍된 데이터의 서브셋에 적용가능한 메타데이터를 식별하는 단계와,
상기 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 형성하되, 하나의 그룹 내의 각 샘플은 메타데이터 타입에 대해 동일한 메타데이터 콘텐트를 갖는 단계
를 포함하는 방법을 제공하도록 구성되는
컴퓨터 프로그램.
- 제 13 항에 있어서,
하나의 파일에서 상기 적어도 하나의 그룹이 식별되는
컴퓨터 프로그램.
- 제 13 항에 있어서,
상기 파일은 ISO 베이스 미디어 파일 포맷에 따르는
컴퓨터 프로그램.
- 제 15 항에 있어서,
상기 스트리밍된 데이터를 파일에 저장하는 단계는, 스트리밍된 데이터를 리셉션 힌트 트랙에 저장하는 단계를 포함하는
컴퓨터 프로그램.
- 제 15 항에 있어서,
상기 메타데이터 타입은 그룹핑 타입 및 그룹핑 인스턴스 데이터에 의해 표시되고, 상기 그룹핑 타입은 상기 그룹핑 인스턴스 데이터 및 상기 메타데이터 콘텐트의 의미를 명시하는
컴퓨터 프로그램.
- 제 16 항에 있어서,
상기 메타데이터 콘텐트는 메타데이터 페이로드 및 0 이상의 메타데이터 페이로드 확장자를 포함하고, 상기 메타데이터 페이로드는 제 1 구조 내에 포함되며, 상기 0 이상의 메타데이터 페이로드 확장자는 제 2 구조 내에 포함되는
컴퓨터 프로그램.
- 제 15 항에 있어서,
상기 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시되는
컴퓨터 프로그램.
- 제 13 항에 있어서,
상기 메타데이터 타입은 상기 스트리밍된 데이터의 세그먼트들의 타이틀을 포함하는
컴퓨터 프로그램.
- 제 13 항에 있어서,
하나의 그룹은 둘 이상의 트랙으로부터의 샘플을 포함하는
컴퓨터 프로그램.
- 제 21 항에 있어서,
상기 방법은, 모든 관련 트랙들과 연관된 메타데이터를 이용하여, 둘 이상의 트랙으로부터의 샘플을 포함하는 상기 그룹을 식별하는 단계를 더 포함하는
컴퓨터 프로그램.
- 제 21 항에 있어서,
상기 방법은, 마스터 트랙과 연관된 메타데이터를 이용하여, 둘 이상의 트랙으로부터의 샘플을 포함하는 상기 그룹을 식별하는 단계를 더 포함하는
컴퓨터 프로그램.
- 스트리밍된 데이터를 수신하도록 구성된 수신기로서,
스트리밍된 데이터를 파일에 저장하는 저장 유닛과,
프로세서를 포함하되,
상기 프로세서는,
상기 스트리밍된 데이터의 서브셋에 적용가능한 메타데이터를 식별하고,
상기 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 형성하도록 구성되되,
하나의 그룹 내의 각 샘플은 메타데이터 타입에 대해 동일한 메타데이터 콘텐트를 갖는
수신기. - 제 24 항에 있어서,
상기 프로세서는 상기 저장 유닛에 저장된 하나의 파일에서 상기 적어도 하나의 그룹을 식별하도록 추가로 구성되는
수신기.
- 제 24 항에 있어서,
상기 파일은 ISO 베이스 미디어 파일 포맷에 따르는
수신기.
- 제 26 항에 있어서,
상기 저장 유닛은 상기 스트리밍된 데이터를 리셉션 힌트 트랙에 저장하도록 구성되는
수신기.
- 제 26 항에 있어서,
상기 메타데이터 타입은 그룹핑 타입 및 그룹핑 인스턴스 데이터에 의해 표시되고, 상기 그룹핑 타입은 상기 그룹핑 인스턴스 데이터 및 상기 메타데이터 콘텐트의 의미를 명시하는
수신기.
- 제 28 항에 있어서,
상기 메타데이터 콘텐트는 메타데이터 페이로드 및 0 이상의 메타데이터 페이로드 확장자를 포함하고, 상기 메타데이터 페이로드는 제 1 구조 내에 포함되며, 상기 0 이상의 메타데이터 페이로드 확장자는 제 2 구조 내에 포함되는
수신기.
- 제 26 항에 있어서,
상기 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시되는
수신기.
- 제 24 항에 있어서,
상기 메타데이터 타입은 상기 스트리밍된 데이터의 세그먼트들의 타이틀을 포함하는
수신기.
- 제 24 항에 있어서,
하나의 그룹은 둘 이상의 트랙으로부터의 샘플을 포함하는
수신기.
- 제 32 항에 있어서,
상기 프로세서는 모든 관련 트랙들과 연관된 메타데이터를 이용하여, 둘 이상의 트랙으로부터의 샘플을 포함하는 상기 그룹을 식별하도록 추가로 구성되는
수신기.
- 제 32 항에 있어서,
상기 프로세서는 마스터 트랙과 연관된 메타데이터를 이용하여, 둘 이상의 트랙으로부터의 샘플을 포함하는 상기 그룹을 식별하도록 추가로 구성되는
수신기.
- 제 1 항에 있어서,
상기 스트리밍된 데이터에 대한 타임드(timed) 메타데이터 트랙을 생성하는 단계를 더 포함하는
스트리밍된 데이터의 조직화 방법.
- 제 35 항에 있어서,
상기 파일은 ISO 베이스 미디어 파일 포맷에 따르는
스트리밍된 데이터의 조직화 방법.
- 제 36 항에 있어서,
상기 스트리밍된 데이터를 파일에 저장하는 단계는, 스트리밍된 데이터를 리셉션 힌트 트랙에 저장하는 단계를 포함하는
스트리밍된 데이터의 조직화 방법.
- 제 36 항에 있어서,
상기 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시되는
스트리밍된 데이터의 조직화 방법.
- 제 38 항에 있어서,
상기 스트리밍된 데이터의 하나 이상의 샘플의 상기 적어도 하나의 그룹은, 상기 스트리밍된 데이터의 하나 이상의 샘플의 상기 적어도 하나의 그룹을 상기 타임드 메타데이터 트랙 내의 각각의 타임드 메타데이터 샘플과 연관시킴으로써, 상기 타임드 메타데이터 트랙에 대한 샘플 그룹 기술 박스에 표시되는
스트리밍된 데이터의 조직화 방법.
- 제 35 항에 있어서,
상기 타임드 메타데이터 트랙은 타이밍 메타데이터를 하나 이상의 타임라인(timeline)과 연관시키는
스트리밍된 데이터의 조직화 방법.
- 제 40 항에 있어서,
상기 타임드 메타데이터 트랙은 타이밍 메타데이터를 둘 이상의 타임라인과 연관시키는
스트리밍된 데이터의 조직화 방법.
- 제 13 항에 있어서,
상기 방법은, 상기 스트리밍된 데이터에 대한 타임드 메타데이터 트랙을 생성하는 단계를 더 포함하는
컴퓨터 프로그램.
- 제 42 항에 있어서,
상기 파일은 ISO 베이스 미디어 파일 포맷에 따르는
컴퓨터 프로그램.
- 제 43 항에 있어서,
상기 스트리밍된 데이터를 파일에 저장하는 단계는, 스트리밍된 데이터를 리셉션 힌트 트랙에 저장하는 단계를 포함하는
컴퓨터 프로그램.
- 제 43 항에 있어서,
상기 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시되는
컴퓨터 프로그램.
- 제 45 항에 있어서,
상기 스트리밍된 데이터의 하나 이상의 샘플의 상기 적어도 하나의 그룹은, 상기 스트리밍된 데이터의 하나 이상의 샘플의 상기 적어도 하나의 그룹을 상기 타임드 메타데이터 트랙 내의 각각의 타임드 메타데이터 샘플과 연관시킴으로써, 상기 타임드 메타데이터 트랙에 대한 샘플 그룹 기술 박스에 표시되는
컴퓨터 프로그램.
- 제 42 항에 있어서,
상기 타임드 메타데이터 트랙은 타이밍 메타데이터를 하나 이상의 타임라인과 연관시키는
컴퓨터 프로그램.
- 제 47 항에 있어서,
상기 타임드 메타데이터 트랙은 타이밍 메타데이터를 둘 이상의 타임라인과 연관시키는
컴퓨터 프로그램.
- 제 24 항에 있어서,
상기 프로세서는 상기 스트리밍된 데이터에 대한 타임드 메타데이터 트랙을 생성하도록 추가로 구성되는
수신기.
- 제 49 항에 있어서,
상기 파일은 ISO 베이스 미디어 파일 포맷에 따르는
수신기.
- 제 50 항에 있어서,
상기 저장 유닛은 상기 스트리밍된 데이터를 리셉션 힌트 트랙에 저장하도록 구성되는
수신기.
- 제 50 항에 있어서,
상기 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시되는
수신기.
- 제 52 항에 있어서,
상기 스트리밍된 데이터의 하나 이상의 샘플의 상기 적어도 하나의 그룹은, 상기 스트리밍된 데이터의 하나 이상의 샘플의 상기 적어도 하나의 그룹을 상기 타임드 메타데이터 트랙 내의 각각의 타임드 메타데이터 샘플과 연관시킴으로써, 상기 타임드 메타데이터 트랙에 대한 샘플 그룹 기술 박스에 표시되는
수신기.
- 제 49 항에 있어서,
상기 타임드 메타데이터 트랙은 타이밍 메타데이터를 하나 이상의 타임라인과 연관시키는
수신기.
- 제 54 항에 있어서,
상기 타임드 메타데이터 트랙은 타이밍 메타데이터를 둘 이상의 타임라인과 연관시키는
수신기.
- 스트리밍된 데이터의 서브셋에 적용가능한 메타데이터를 식별하는 수단과,
상기 스트리밍된 데이터의 하나 이상의 샘플의 적어도 하나의 그룹을 형성하는 수단을 포함하되,
하나의 그룹 내의 각 샘플은 메타데이터 타입에 대해 동일한 메타데이터 콘텐트를 갖는
장치.
- 제 56 항에 있어서,
상기 파일은 ISO 베이스 미디어 파일 포맷에 따르는
장치. - 제 57 항에 있어서,
상기 스트리밍된 데이터를 파일에 저장하는 단계는, 스트리밍된 데이터를 리셉션 힌트 트랙에 저장하는 단계를 포함하는
장치.
- 제 57 항에 있어서,
상기 메타데이터 타입은 그룹핑 타입 및 그룹핑 인스턴스 데이터에 의해 표시되고, 상기 그룹핑 타입은 상기 그룹핑 인스턴스 데이터 및 상기 메타데이터 콘텐트의 의미를 명시하는
장치.
- 제 59 항에 있어서,
상기 메타데이터 콘텐트는 메타데이터 페이로드 및 0 이상의 메타데이터 페이로드 확장자를 포함하고, 상기 메타데이터 페이로드는 제 1 구조 내에 포함되며, 상기 0 이상의 메타데이터 페이로드 확장자는 제 2 구조 내에 포함되는
장치.
- 제 57 항에 있어서,
상기 적어도 하나의 그룹은 샘플 그룹 기술 박스 내에 표시되는
장치.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US95691207P | 2007-08-20 | 2007-08-20 | |
US60/956,912 | 2007-08-20 | ||
US97119307P | 2007-09-10 | 2007-09-10 | |
US60/971,193 | 2007-09-10 | ||
US99205707P | 2007-12-03 | 2007-12-03 | |
US60/992,057 | 2007-12-03 | ||
PCT/IB2008/053321 WO2009024926A1 (en) | 2007-08-20 | 2008-08-19 | Segmented metadata and indexes for streamed multimedia data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100043108A true KR20100043108A (ko) | 2010-04-27 |
KR101143670B1 KR101143670B1 (ko) | 2012-05-09 |
Family
ID=40377912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107006107A KR101143670B1 (ko) | 2007-08-20 | 2008-08-19 | 스트리밍된 데이터의 조직화 방법, 컴퓨터 판독가능한 저장 매체, 수신기 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9852219B2 (ko) |
EP (1) | EP2191402A4 (ko) |
KR (1) | KR101143670B1 (ko) |
CN (1) | CN101802823A (ko) |
CA (1) | CA2695645C (ko) |
RU (1) | RU2477883C2 (ko) |
WO (1) | WO2009024926A1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101007645B1 (ko) * | 2010-06-01 | 2011-01-13 | 주식회사 넥스토디아이 | 인덱싱 기능을 갖는 데이터 저장 장치 및 인덱싱 방법 |
KR20140044861A (ko) * | 2011-07-29 | 2014-04-15 | 소니 주식회사 | 스트리밍 배신 장치 및 방법, 스트리밍 수신 장치 및 방법, 스트리밍 시스템, 프로그램과 기록 매체 |
KR20190045117A (ko) * | 2011-06-13 | 2019-05-02 | 한국전자통신연구원 | 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법 |
US20200107051A1 (en) * | 2016-05-20 | 2020-04-02 | Lg Electronics Inc. | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868772B2 (en) | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US9743078B2 (en) | 2004-07-30 | 2017-08-22 | Euclid Discoveries, Llc | Standards-compliant model-based video encoding and decoding |
US9578345B2 (en) | 2005-03-31 | 2017-02-21 | Euclid Discoveries, Llc | Model-based video encoding and decoding |
US9532069B2 (en) | 2004-07-30 | 2016-12-27 | Euclid Discoveries, Llc | Video compression repository and model reuse |
US8902971B2 (en) * | 2004-07-30 | 2014-12-02 | Euclid Discoveries, Llc | Video compression repository and model reuse |
US8908766B2 (en) | 2005-03-31 | 2014-12-09 | Euclid Discoveries, Llc | Computer method and apparatus for processing image data |
US9294728B2 (en) | 2006-01-10 | 2016-03-22 | Imagine Communications Corp. | System and method for routing content |
US8180920B2 (en) | 2006-10-13 | 2012-05-15 | Rgb Networks, Inc. | System and method for processing content |
US20080256431A1 (en) * | 2007-04-13 | 2008-10-16 | Arno Hornberger | Apparatus and Method for Generating a Data File or for Reading a Data File |
US8627509B2 (en) | 2007-07-02 | 2014-01-07 | Rgb Networks, Inc. | System and method for monitoring content |
EP2088789A3 (en) * | 2008-02-05 | 2012-08-15 | Samsung Electronics Co., Ltd. | Apparatus and method for generating and displaying media files |
US8325800B2 (en) | 2008-05-07 | 2012-12-04 | Microsoft Corporation | Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers |
US8379851B2 (en) * | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
US7860996B2 (en) | 2008-05-30 | 2010-12-28 | Microsoft Corporation | Media streaming with seamless ad insertion |
US9473812B2 (en) | 2008-09-10 | 2016-10-18 | Imagine Communications Corp. | System and method for delivering content |
US8265140B2 (en) * | 2008-09-30 | 2012-09-11 | Microsoft Corporation | Fine-grained client-side control of scalable media delivery |
JP5567021B2 (ja) | 2008-10-07 | 2014-08-06 | ユークリッド・ディスカバリーズ・エルエルシー | 特徴を基礎とするビデオ圧縮 |
WO2010045289A1 (en) | 2008-10-14 | 2010-04-22 | Ripcode, Inc. | System and method for progressive delivery of transcoded media content |
EP2362994A1 (en) * | 2008-11-26 | 2011-09-07 | Telefonaktiebolaget L M Ericsson (PUBL) | Technique for handling media content to be accessible via multiple media tracks |
US9282131B2 (en) | 2009-01-20 | 2016-03-08 | Imagine Communications Corp. | System and method for splicing media files |
US8868526B2 (en) | 2009-05-29 | 2014-10-21 | International Business Machines Corporation | Parallel segmented index supporting incremental document and term indexing |
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 |
CN102648629B (zh) | 2009-10-20 | 2015-05-06 | 瑞典爱立信有限公司 | 补充处理信息的提供 |
WO2011057012A1 (en) * | 2009-11-04 | 2011-05-12 | Huawei Technologies Co., Ltd | System and method for media content streaming |
EP2497269A1 (en) | 2009-11-06 | 2012-09-12 | Telefonaktiebolaget LM Ericsson (publ) | File format for synchronized media |
KR101777347B1 (ko) | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
KR101786051B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
KR101750048B1 (ko) | 2009-11-13 | 2017-07-03 | 삼성전자주식회사 | 변속 재생 서비스 제공 방법 및 장치 |
KR101786050B1 (ko) * | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 전송 방법 및 장치 |
KR101750049B1 (ko) | 2009-11-13 | 2017-06-22 | 삼성전자주식회사 | 적응적인 스트리밍 방법 및 장치 |
KR101737084B1 (ko) | 2009-12-07 | 2017-05-17 | 삼성전자주식회사 | 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치 |
WO2011070552A1 (en) | 2009-12-11 | 2011-06-16 | Nokia Corporation | Apparatus and methods for describing and timing representations in streaming media files |
KR101777348B1 (ko) | 2010-02-23 | 2017-09-11 | 삼성전자주식회사 | 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치 |
CN102870424A (zh) * | 2010-03-03 | 2013-01-09 | 三星电子株式会社 | 用于记录和播放媒体文件的设备和方法及其记录介质 |
WO2012011722A2 (ko) * | 2010-07-19 | 2012-01-26 | 엘지전자 주식회사 | 미디어 송수신 방법 및 그를 이용한 송수신 장치 |
KR101768222B1 (ko) | 2010-07-20 | 2017-08-16 | 삼성전자주식회사 | 적응적 스트리밍 방식의 컨텐트 송수신 방법 및 장치 |
US10095367B1 (en) * | 2010-10-15 | 2018-10-09 | Tivo Solutions Inc. | Time-based metadata management system for digital media |
FR2975553B1 (fr) | 2011-05-17 | 2014-05-16 | Alcatel Lucent | Aide a la recherche de contenus videos sur un reseau de communication |
US8849819B2 (en) | 2011-08-05 | 2014-09-30 | Deacon Johnson | System and method for controlling and organizing metadata associated with on-line content |
US9591098B2 (en) | 2012-02-01 | 2017-03-07 | Cisco Technology, Inc. | System and method to reduce stream start-up delay for adaptive streaming |
EP2823400A4 (en) * | 2012-03-08 | 2015-11-04 | Hewlett Packard Development Co | DATENABTASTUNGSDEDUPLIZIERUNG |
US8949240B2 (en) * | 2012-07-03 | 2015-02-03 | General Instrument Corporation | System for correlating metadata |
CN109587573B (zh) | 2013-01-18 | 2022-03-18 | 佳能株式会社 | 生成设备和方法、显示设备和方法以及存储介质 |
WO2014172654A1 (en) | 2013-04-19 | 2014-10-23 | Huawei Technologies Co., Ltd. | Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol |
US20140325023A1 (en) * | 2013-04-24 | 2014-10-30 | Cisco Technology, Inc. | Size prediction in streaming enviroments |
JP6266761B2 (ja) * | 2013-05-10 | 2018-01-24 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | マルチビューレンダリング装置とともに使用するためのビデオデータ信号の符号化方法 |
US9722852B2 (en) | 2013-05-24 | 2017-08-01 | Cisco Technology, Inc. | On-demand encapsulating of timed metadata in a network environment |
US20150032845A1 (en) * | 2013-07-26 | 2015-01-29 | Samsung Electronics Co., Ltd. | Packet transmission protocol supporting downloading and streaming |
WO2015039888A1 (en) * | 2013-09-20 | 2015-03-26 | Koninklijke Kpn N.V. | Correlating timeline information between media streams |
WO2015039891A1 (en) | 2013-09-20 | 2015-03-26 | Koninklijke Kpn N.V. | Correlating timeline information between media streams |
US9923945B2 (en) | 2013-10-10 | 2018-03-20 | Cisco Technology, Inc. | Virtual assets for on-demand content generation |
EP3095245A4 (en) | 2014-01-13 | 2017-11-08 | LG Electronics Inc. | Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks |
US10097851B2 (en) | 2014-03-10 | 2018-10-09 | Euclid Discoveries, Llc | Perceptual optimization for model-based video encoding |
WO2015138008A1 (en) | 2014-03-10 | 2015-09-17 | Euclid Discoveries, Llc | Continuous block tracking for temporal prediction in video encoding |
US10091507B2 (en) | 2014-03-10 | 2018-10-02 | Euclid Discoveries, Llc | Perceptual optimization for model-based video encoding |
CN103870574B (zh) * | 2014-03-18 | 2017-03-08 | 江苏物联网研究发展中心 | 基于h.264密文云视频存储的标签制作及索引方法 |
US20150358507A1 (en) * | 2014-06-04 | 2015-12-10 | Sony Corporation | Timing recovery for embedded metadata |
GB2528039A (en) * | 2014-07-01 | 2016-01-13 | Canon Kk | Method for identifying objects across time periods and corresponding device |
CN104484285B (zh) * | 2014-12-09 | 2017-11-17 | 杭州华为数字技术有限公司 | 一种存储管理方法和装置 |
US9928297B2 (en) * | 2015-02-11 | 2018-03-27 | Qualcomm Incorporated | Sample grouping signaling in file formats |
US9762965B2 (en) | 2015-05-29 | 2017-09-12 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
EP3142369A4 (en) | 2015-06-04 | 2018-01-10 | LG Electronics Inc. | Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method |
US9325742B1 (en) * | 2015-11-20 | 2016-04-26 | International Business Machines Corporation | Adding an encryption policy in a streaming environment |
CN105898531A (zh) * | 2015-12-07 | 2016-08-24 | 乐视云计算有限公司 | 视频缓存文件的封装方法和系统 |
WO2017118474A1 (en) * | 2016-01-05 | 2017-07-13 | Huawei Technologies Co., Ltd. | A data processing apparatus and method and a data container structure |
US11246905B2 (en) | 2016-08-15 | 2022-02-15 | President And Fellows Of Harvard College | Treating infections using IdsD from Proteus mirabilis |
GB2560921B (en) | 2017-03-27 | 2020-04-08 | Canon Kk | Method and apparatus for encoding media data comprising generated content |
US10939086B2 (en) * | 2018-01-17 | 2021-03-02 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for encoding and decoding virtual reality content |
US10944977B2 (en) | 2018-04-03 | 2021-03-09 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for encoding and decoding overlay compositions |
US10869016B2 (en) | 2018-04-12 | 2020-12-15 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for encoding and decoding virtual reality content |
US20200089779A1 (en) * | 2018-09-19 | 2020-03-19 | Twitter, Inc. | Progressive API Responses |
US11595695B2 (en) | 2018-09-25 | 2023-02-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Media bitstream having backwards compatibility |
WO2020188142A1 (en) | 2019-03-15 | 2020-09-24 | Nokia Technologies Oy | Method and apparatus for grouping entities in media content |
US11153626B1 (en) * | 2019-05-20 | 2021-10-19 | Amazon Technologies, Inc. | Systems and methods for transforming a fragment media player into an access unit media player |
CN110943977B (zh) * | 2019-11-11 | 2022-10-14 | 普联技术有限公司 | 多媒体业务数据传输方法、服务端、设备及存储介质 |
US11973817B2 (en) * | 2020-06-23 | 2024-04-30 | Tencent America LLC | Bandwidth cap signaling using combo-index segment track in media streaming |
US11860943B2 (en) * | 2020-11-25 | 2024-01-02 | EMC IP Holding Company LLC | Method of “outcome driven data exploration” for datasets, business questions, and pipelines based on similarity mapping of business needs and asset use overlap |
CN113114655A (zh) * | 2021-04-07 | 2021-07-13 | 深圳市瑞驰信息技术有限公司 | 一种基于tcp/ip的二进制数据交互协议设计方法 |
CN114051194A (zh) * | 2021-10-15 | 2022-02-15 | 赛因芯微(北京)电子科技有限公司 | 一种音频轨道元数据和生成方法、电子设备及存储介质 |
CN114363792A (zh) * | 2021-11-26 | 2022-04-15 | 赛因芯微(北京)电子科技有限公司 | 传输音轨格式串行元数据生成方法、装置、设备及介质 |
WO2023140952A1 (en) * | 2022-01-20 | 2023-07-27 | Dolby Laboratories Licensing Corporation | Data structure for multimedia applications |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477707B1 (en) * | 1998-03-24 | 2002-11-05 | Fantastic Corporation | Method and system for broadcast transmission of media objects |
WO2001078404A2 (en) * | 2000-04-07 | 2001-10-18 | Avid Technology, Inc. | Indexing interleaved media data |
US7925967B2 (en) * | 2000-11-21 | 2011-04-12 | Aol Inc. | Metadata quality improvement |
US7110664B2 (en) * | 2001-04-20 | 2006-09-19 | Front Porch Digital, Inc. | Methods and apparatus for indexing and archiving encoded audio-video data |
US7155531B1 (en) * | 2001-06-12 | 2006-12-26 | Network Appliance Inc. | Storage methods and apparatus for streaming media data |
FI20011871A (fi) * | 2001-09-24 | 2003-03-25 | Nokia Corp | Multimediadatan prosessointi |
US20030110503A1 (en) | 2001-10-25 | 2003-06-12 | Perkes Ronald M. | System, method and computer program product for presenting media to a user in a media on demand framework |
US20040167925A1 (en) * | 2003-02-21 | 2004-08-26 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
KR20040088541A (ko) * | 2002-02-25 | 2004-10-16 | 소니 일렉트로닉스 인코포레이티드 | Mp4에서 avc를 지원하기 위한 방법 및 장치 |
EP1481553A1 (en) | 2002-02-25 | 2004-12-01 | Sony Electronics Inc. | Method and apparatus for supporting avc in mp4 |
AU2003237120B2 (en) | 2002-04-29 | 2008-10-09 | Sony Electronics, Inc. | Supporting advanced coding formats in media files |
JP4065142B2 (ja) * | 2002-05-31 | 2008-03-19 | 松下電器産業株式会社 | オーサリング装置およびオーサリング方法 |
KR20040008541A (ko) | 2002-07-18 | 2004-01-31 | 주식회사 하이닉스반도체 | 반도체 소자의 접합 형성방법 |
US20040243588A1 (en) * | 2003-05-29 | 2004-12-02 | Thomas Tanner | Systems and methods for administering a global information database |
US7483532B2 (en) * | 2003-07-03 | 2009-01-27 | Microsoft Corporation | RTP payload format |
US20050102371A1 (en) * | 2003-11-07 | 2005-05-12 | Emre Aksu | Streaming from a server to a client |
US7725593B2 (en) * | 2005-07-15 | 2010-05-25 | Sony Corporation | Scalable video coding (SVC) file format |
KR100927978B1 (ko) * | 2005-09-01 | 2009-11-24 | 노키아 코포레이션 | 리치 미디어 콘텐츠의 프로그레시브 다운로딩 및스트리밍을 위해 iso 기반 미디어 파일 포맷으로 svg콘텐츠를 임베딩 하는 방법 |
US7917644B2 (en) | 2006-01-11 | 2011-03-29 | Nokia Corporation | Extensions to rich media container format for use by mobile broadcast/multicast streaming servers |
US8768895B2 (en) * | 2007-04-11 | 2014-07-01 | Emc Corporation | Subsegmenting for efficient storage, resemblance determination, and transmission |
US8086651B2 (en) * | 2008-05-12 | 2011-12-27 | Research In Motion Limited | Managing media files using metadata injection |
US8255373B2 (en) * | 2008-10-24 | 2012-08-28 | Microsoft Corporation | Atomic multiple modification of data in a distributed storage system |
-
2008
- 2008-08-19 CA CA2695645A patent/CA2695645C/en active Active
- 2008-08-19 KR KR1020107006107A patent/KR101143670B1/ko active IP Right Grant
- 2008-08-19 US US12/194,496 patent/US9852219B2/en active Active
- 2008-08-19 CN CN200880107466A patent/CN101802823A/zh active Pending
- 2008-08-19 RU RU2010111391/08A patent/RU2477883C2/ru not_active IP Right Cessation
- 2008-08-19 WO PCT/IB2008/053321 patent/WO2009024926A1/en active Application Filing
- 2008-08-19 EP EP08807361.4A patent/EP2191402A4/en not_active Ceased
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101007645B1 (ko) * | 2010-06-01 | 2011-01-13 | 주식회사 넥스토디아이 | 인덱싱 기능을 갖는 데이터 저장 장치 및 인덱싱 방법 |
KR20190045117A (ko) * | 2011-06-13 | 2019-05-02 | 한국전자통신연구원 | 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법 |
KR20140044861A (ko) * | 2011-07-29 | 2014-04-15 | 소니 주식회사 | 스트리밍 배신 장치 및 방법, 스트리밍 수신 장치 및 방법, 스트리밍 시스템, 프로그램과 기록 매체 |
US20200107051A1 (en) * | 2016-05-20 | 2020-04-02 | Lg Electronics Inc. | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method |
US11006158B2 (en) * | 2016-05-20 | 2021-05-11 | Lg Electronics Inc. | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method |
Also Published As
Publication number | Publication date |
---|---|
CA2695645C (en) | 2017-05-23 |
US20090055417A1 (en) | 2009-02-26 |
CA2695645A1 (en) | 2009-02-26 |
WO2009024926A1 (en) | 2009-02-26 |
US9852219B2 (en) | 2017-12-26 |
CN101802823A (zh) | 2010-08-11 |
KR101143670B1 (ko) | 2012-05-09 |
EP2191402A4 (en) | 2014-05-21 |
RU2477883C2 (ru) | 2013-03-20 |
RU2010111391A (ru) | 2011-09-27 |
EP2191402A1 (en) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101143670B1 (ko) | 스트리밍된 데이터의 조직화 방법, 컴퓨터 판독가능한 저장 매체, 수신기 및 장치 | |
KR101254385B1 (ko) | 미디어 데이터 및 멀티미디어 데이터 중 적어도 하나를 적어도 하나의 파일 내에서 구성화하는 방법 및 장치, 액세스 방법, 컴퓨터 판독가능 저장 매체 | |
US10595065B2 (en) | Method and apparatus for transmitting and receiving multi-media services | |
TWI473016B (zh) | 用以處理多視圖視訊位元串流之方法與裝置及電腦可讀媒體 | |
EP2540034B1 (en) | Method and apparatus for transmitting and receiving data | |
US8768984B2 (en) | Media container file management | |
KR101107815B1 (ko) | 멀티미디어 컨테이너 파일의 수신 힌트 트랙으로의 미디어 스트림 기록 방법 및 장치, 컴퓨터 판독가능 매체 | |
CN110062257B (zh) | 发送方法以及接收方法 | |
KR102303582B1 (ko) | 웹 콘텐츠에 대한 파일 트랙들을 사용하여 미디어 데이터를 프로세싱 | |
US20100250633A1 (en) | Systems and methods for storage of notification messages in iso base media file format | |
US20110064146A1 (en) | Media extractor tracks for file format track selection | |
US20120233345A1 (en) | Method and apparatus for adaptive streaming | |
US20040006575A1 (en) | Method and apparatus for supporting advanced coding formats in media files | |
EP2723085A2 (en) | Method and apparatus for comprising content in broadcasting system | |
KR20110053177A (ko) | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 | |
EP2453652B1 (en) | Transmission method, receiving method and device for scalable video coding files | |
US7711718B2 (en) | System and method for using multiple meta boxes in the ISO base media file format | |
Hannuksela et al. | The DVB File Format [Standards in a Nutshell] |
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 | ||
FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180328 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190328 Year of fee payment: 8 |