CN101731013A - 处理和读取具有媒体数据容器和元数据容器的文件的设备和方法 - Google Patents
处理和读取具有媒体数据容器和元数据容器的文件的设备和方法 Download PDFInfo
- Publication number
- CN101731013A CN101731013A CN200880019643A CN200880019643A CN101731013A CN 101731013 A CN101731013 A CN 101731013A CN 200880019643 A CN200880019643 A CN 200880019643A CN 200880019643 A CN200880019643 A CN 200880019643A CN 101731013 A CN101731013 A CN 101731013A
- Authority
- CN
- China
- Prior art keywords
- packet
- storage
- sample
- media
- media data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 56
- 238000012545 processing Methods 0.000 title abstract description 10
- 238000003860 storage Methods 0.000 claims abstract description 154
- 230000005540 biological transmission Effects 0.000 claims description 26
- 239000002775 capsule Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 27
- 230000001360 synchronised effect Effects 0.000 description 15
- 101000635752 Homo sapiens Receptor-transporting protein 2 Proteins 0.000 description 11
- 102100030850 Receptor-transporting protein 2 Human genes 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 10
- 101000857634 Homo sapiens Receptor-transporting protein 1 Proteins 0.000 description 8
- 101000635761 Homo sapiens Receptor-transporting protein 3 Proteins 0.000 description 8
- 102100025426 Receptor-transporting protein 1 Human genes 0.000 description 8
- 102100030849 Receptor-transporting protein 3 Human genes 0.000 description 8
- 238000011084 recovery Methods 0.000 description 6
- 102100033397 Ankyrin repeat and zinc finger domain-containing protein 1 Human genes 0.000 description 5
- 101000732626 Homo sapiens Ankyrin repeat and zinc finger domain-containing protein 1 Proteins 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2368—Multiplexing of audio and video streams
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
- H04N21/23895—Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4341—Demultiplexing of audio and video streams
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4348—Demultiplexing of additional data and video streams
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4381—Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
- H04N21/63345—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00485—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
- G11B20/00492—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00731—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Automatic Disk Changers (AREA)
- Computer And Data Communications (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
一种用于对媒体数据容器(104)中存储的数据分组(110;112)以及元数据容器(106)中存储的关联元信息进行处理的设备(600),所述关联元信息包括传输定时信息和指示存储的数据分组在所述媒体数据容器(104)中的存储位置的位置信息,所述设备包括处理器(602),所述处理器基于存储的数据分组(110;112)和存储的关联元信息(124;128),来确定针对存储的数据分组的媒体有效载荷的解码信息(604;704),其中,所述解码信息(604;704)指示了在哪个时刻重放存储的数据分组中的哪个有效载荷。
Description
技术领域
本发明涉及向具有媒体数据容器和元数据容器的文件存储传输协议数据分组及与其相关联的辅助信息,和/或从具有媒体数据容器和元数据容器的文件读取传输协议数据分组及与其相关联的辅助信息,所述文件例如是基于ISO(国际标准化组织)基础媒体文件格式的文件。
背景技术
各种电子设备能够接收和呈现媒体数据流。例如,可以根据例如DVB-H标准(数字视频广播-手持)或DVB-T标准(数字视频广播-地面),从广播媒体流的数字视频广播网络上接收这样的媒体数据流。
DVB-T使用自包含的MPEG-2(MPEG=运动图像专家组)传输流,该传输流包含根据国际标准ISO/IEC 13818(IEC=国际电子技术委员会)的基本MPEG-2视频和音频流。MPEG-2传输流是一种在当今的许多广播系统中使用的复用流。它是一个或更多个流节目(典型地是音频和视频以及其他数据)的流复用。MPEG-2传输流在所有媒体流中共享公共的时钟,并使用加时间戳的媒体样本(访问单元AU)。这实现了发送方与接收方的时钟同步,以及音频与视频流的口型同步。
对于DVB-H,以RTP(实时传输协议)、UDP(用户数据报协议)、IP(因特网协议)和MPE(多协议封装)对基本音频和视频流进行封装,以用于IP数据传播。RTP用于多媒体数据在IP网络上的有效实时传送。典型地,复用是通过将不同的网络端口与每个不同的媒体流相关联来完成的,例如,一个网络端口用于视频而另一个用于音频。通常,不同的媒体来自具有不同时钟或时钟速率的不同源。例如,音频样本具有取决于音频采样设备的时钟速率的采样速率,其中,视频帧的帧速率取决于抓取(grab)设备的时钟速率的视频帧。这样的时钟可以具有大于百万分之几百的固有频率误差,从而导致每天几十秒的累计误差。术语“时钟偏移(clock skew)”被定义为时钟的实际振荡器频率与其额定频率之差。如果发送方的时钟比接收方的时钟运行得快,则这可以导致分组在接收方累积。如果发送方的时钟比接收方的时钟运行得慢,则将导致接收方缓冲器未充满。因此,如果接收方的时钟速率不同于发送方的时钟速率,则接收方缓冲器或者渐满或者渐空。此外,时钟偏移可以导致相关的音频与视频样本在接收方处失去同步。
RTCP(实时传输控制协议)允许RTP流的时钟恢复和同步。RTCP信道与每个RTP流相关联,并包括以发送方报告(SR)的形式从发送方至接收方的控制信息,反之亦然。每个RTCP SR包括两个时间戳:发送方的系统时钟(参考时间)的NTP(网络时间协议)时间戳以及关联RTP流的对应的媒体时间戳。对于音频和视频,都要发送这些RTCP SR。从RTP和NTP的时间值,可以在时间线上设置RTP分组,并且可以完美地同步媒体。
将流服务定义为以时间约束或无约束的方式传送的用于接收过程中立即消耗的同步媒体流的集合。每个流会话可以包括音频、视频和/或如定时文本之类的实时媒体数据。例如,通过移动电视接收电影的媒体数据的用户可以观看该电影和/或将其记录到文件中。通常,为了这个目的,对接收媒体流的接收数据分组进行解分组,以将原始媒体数据存储至文件。也就是说,首先对接收到的RTP分组或MPEG-2分组进行解分组,以获得它们的以媒体数据样本形式的有效载荷。接着,在解分组之后,重放所获得的媒体数据样本或将其存储至文件。通常,通过如H.264/ABC(AVC=高级视频编码)视频格式和/或MPEG-4HE-AACv2(HE-AACv2=高效高级音频编码第2版)音频格式的格式来对所获得的媒体样本进行压缩。在要存储具有这样的视频和/或音频格式的媒体数据样本时,可以以所谓的3GP文件格式(也称为3GPP(第3代合作伙伴项目)文件格式)或MP4(MPEG-4)文件格式对其进行存储。3GP和MP4都是从ISO/IEC国际标准14496-12:2005“Information technology-coding of audio-visual objects-part 12:ISObase media file format”中规定的ISO基本媒体文件格式中导出的。为了可以操作这样的文件,这些数据均必须存在。将媒体数据存储在与文件相关的媒体数据容器(mdat)中,而将元数据存储在文件的元数据容器(moov)中。传统上,媒体数据容器包括实际媒体样本。即,它可以包括例如隔行扫描的、按时间排序的视频和/或音频帧。因此,每个媒体在元数据容器moov中具有其自身的元数据轨道(trak),描述该媒体内容的属性。元数据容器moov中的附加容器(也称为箱)可以包括关于文件属性、文件内容等的信息。
近来,国际标准化组织定义了针对基于ISO基本媒体文件格式的文件的所谓的接收提示轨道。这些接收提示轨道可以用于存储复用的和/或分组化的流,例如接收的MPEG-2传输流或RTP分组。接收提示轨道可以用于客户端侧存储和回放接收到的数据分组。因此,将一个流的接收MPEG-2TS或RTP分组直接存储在接收提示轨道中作为例如预先计算的样本或构造器。
与对数据分组进行解复用和/或解分组、然后针对每个基础媒体流(音频和/或视频)写入分离的媒体轨道相比,这种方法有两个优点。第一,它降低了存储过程中接收设备所需的复杂度,这是因为不需要对接收的数据分组进行解复用或其他处理。仅对接收的数据分组执行以未修改形式的文件存储。第二,在某些情况下,根本不可能将接收的数据分组解复用为分离的媒体轨道,尤其是以传输/复用级对媒体进行加密或分组化方案未知的情况下。第三,由于头两点,在PVR(PVR=个人视频记录器)应用中,使时间偏移(即写文件和立即从同一文件中读取具有可变的时间偏移)变得更容易。
可以通过模拟正常流的接收,并从接收提示轨道中读取存储的数据分组,如同它们是通过IP接收的一样,可以完成从接收提示轨道的回放。同所有提示轨道一样,接收提示轨道具有传输定时,其与具有媒体回放定时的媒体轨道相反。因此,接收设备的接收时间戳与接收提示轨道中所存储的每个数据分组相关联。
服务器侧文件中的RTP提示轨道仅存储来自一个流的RTP媒体数据分组,并且不包含对应的辅助或控制信息,例如RTCP信息或密钥消息。由于RTCP信息描述了流的情形的当前状态,例如定时,因此,RTCP消息由流服务器动态地产生。
流接收方可以从接收时间中恢复发送方的系统时钟,并将接收方的系统时钟与发送方的系统时钟对齐,以避免缓冲器在直接回放运行下分别溢出。由于RTP分组或RTCP发送方报告分组的到达时间的抖动(网络抖动),不论哪个分组用于时钟恢复,即时的时钟恢复都是不可能的。尽管媒体时间戳以固定速率不断增大,然而具有不同步的采样时钟的独立的音频和视频捕获单元可能导致RTP时钟的漂移。RTCPSR携带针对每个流的NTP和RTP时间戳,从而可以被用于提取相关设备的漂移。在许多系统中,在创建RTCP SR时,尤其在NTP与RTP时钟之间的关系中存在抖动。因此,通常流客户端在启动之后不能立即实现完美的口型同步,而是需要在视频与音频流之间的口型同步变得精确之前,考虑特定数目的RTCP SR。如果需要恢复发送方的系统时钟,并且存在较高的网络抖动,则也需要特定数目的RTP分组或RTCP发送方的报告分组,而不论哪个分组用于时钟恢复。在实时流接收过程中,除相关数据分组的RTP时间戳之外,如上所述,可以使用多个RTCP SR的信息来重新计算网络抖动和时钟漂移。
当前,RTP接收提示轨道被规定为只能存储媒体流的接收数据分组,而不能包含对应的RTCP SR,以及相应地发送方的报告中的定时信息。只有接收的RTP分组的RTP时间戳不足以同步从不同流接收的媒体数据。这是因为,一般地,每个媒体流为其初始时间戳和初始序列号分配随机值,并且时间戳的时钟频率取决于所携带的媒体数据的格式。可以使用RTP分组的到达或接收时间来进行流之间的同步。然而,这种方法的问题在于,RTP不保证分组的传送,也不制止带外传送。由此,仅基于接收时间的同步无法保证精确度。
如上所述,不同RTP流之间的最精确的同步方法需要等待关联的RTCP SR,该RTCP SR包含能够实现在RTP时间戳与流中采取NTP时间戳格式的公共时间戳之间的转换的信息。通常,针对特定比特率的每个流每5秒发送这些RTCP发送方报告,其中,两个RTCP SR之间的时间间隔取决于比特率。
因此,只有在以下两种情况下,才可能实现具有精确定时和口型同步的RTP接收提示轨道的回放:第一,不同媒体时钟之间没有时钟漂移,对于每个接收的RTP分组,有RTCP发送方报告流间同步数据可用。然而,这与在现实环境中不可能发生的理想情形相对应。第二,在存储过程中,接收设备必须通过在存储所接收的RTP分组之前调整所接收RTP分组的RTP时间戳来考虑RTCP SR的定时信息。
第一种情况只是一种理论上的情况,实际中不会发生。第二种情况给接收方施加了沉重的负担,例如,要考虑多个发送方RTCP SR用于定时调整,将需要缓冲几秒的接收流。这也将影响时间偏移应用中从相同文件即时读取的能力。此外,在存储之后,无法重新创建原始接收情形,即在接收并记录了完整的流之后,在处理阶段不能移除长期抖动。
当前的广播系统使用密钥流(或带内或带外),用于传输受保护的密钥作为辅助信息,该辅助信息用于对相关数据分组的媒体数据进行解密。典型地,密钥流和加密的媒体数据流之间仅存在松结合,没有定时关系。
在DVB-H和OMA-BCAST(开放移动联盟-移动广播服务)中,将密钥流定义为在与不同于关联媒体流的UDP端口上发送的密钥消息的分离的流。将每个密钥消息作为单个UDP分组来发送。OMA-BCAST将这样的消息称为短期密钥消息(STKM),DVB-H将其称为密钥流消息(KSM)。由于每个密钥消息由流服务的订阅而界定,从而只能由授权的用户/设备来访问,因此存储密钥消息不损害流系统的安全性。密钥消息内的实际的密码密钥由服务或节目密钥来保护。
每个密钥具有关联的密钥标识符(密钥ID),该密钥标识符也在关联的加密媒体访问单元中指示。解密器检查密钥的存在,该密钥与加密访问单元中的密钥ID相关联。
通过以重叠的有效周期频繁发送密钥来处理加密媒体访问单元与关联的密钥消息的同步。在加密视频分组之前发送该密钥,该密钥以对应的密钥标识符来标记。接着,至少只要媒体数据正在使用该特定密钥,该密钥就有效。
由于在流中没有媒体定时与密钥消息相关联,因此,在记录文件的过程中,将该密钥存储为媒体轨道是不现实的。密钥与对应的加密访问单元之间的媒体定时关联只能在处理和分析对密钥和媒体流进行结合的密钥ID之后才能做出。只有在这样的分析之后,才清楚哪个密钥是用于哪个访问单元或视频帧。
发明内容
本发明的目的是提供不同的记录媒体流之间的即时精确的定时同步,而无需所述记录媒体流的每次回放过程中的复杂处理。即,本发明的目的是不需要在每次要回放记录媒体流时都对所述记录媒体流进行去抖动,以及,对于记录文件的回放,不需要对所有包括的流进行时钟恢复。
这个目的是通过如权利要求1所述的用于对存储的数据分组进行处理的设备、如权利要求20所述的用于对存储的数据分组进行处理的方法、如权利要求22所述的用于读取文件的设备以及如权利要求23所述的用于读取文件的方法解决的。
为了解决上述目的,本发明的实施例还提供了用于实施本发明的方法的计算机程序。
本发明是基于以下发现:不仅通过存储接收的流媒体数据分组,也通过在携带辅助信息的接收过程中存储关联数据,尤其是与该媒体流并行传送的所有关联数据,例如包括RTCP发送方报告的RTCP消息,或通过记录包括密码密钥在内的关联的接收密钥消息,所述密码密钥与所接收的流媒体数据分组所包括的媒体数据相关联,可以同时解决上述问题。
将所接收的关联数据或辅助信息以所谓的关联接收提示轨道(“arht”)的形式存储在包括媒体数据容器和元数据容器在内的文件中。该轨道由包含相关媒体分组在内的对应的接收提示轨道使用例如ISO/IEC 14496-12的轨道引用机制来界定。如同相关的接收提示轨道,该关联接收提示轨道以例如接收方的系统时钟的时间戳的形式存储传输定时。这样可以实现在稍后阶段的回放过程中恢复原始分组接收的定时条件。
该接收提示轨道和关联接收提示轨道包括文件的媒体数据容器中的分组数据部分和文件的元数据容器中的元数据部分。
根据本发明的实施例,在记录关联接收提示轨道的过程中,保存如RTCP SR之类的消息以及相关的传输定时信息。并行地,将接收的媒体RTP分组和相关传输定时直接存储到接收提示轨道。在记录过程中,不执行去抖动过程或口型同步校正。
为了这个目的,本发明的实施例提供了一种用于记录具有相关媒体数据容器和元数据容器的文件的设备。该设备包括接收机,该接收机用于接收第一数据分组和第二数据分组,该第一数据分组包括基于第一时钟的分组化的第一媒体数据样本,该第二数据分组包括基于不同于第一时钟的第二时钟的第二媒体数据样本,其中,该第二媒体数据样本与第一媒体数据样本相关联。该接收机还适于接收第一控制分组和第二控制分组,该第一控制分组包括用于指示第一时钟与参考时钟的关系的信息,该第二控制分组包括用于指示第二时钟与参考时钟的关系的信息。该设备还包括记录器,用于将接收到的第一和第二数据分组以及接收到的第一和第二控制分组的至少部分存储在媒体数据容器中,并用于将关联元数据存储在元数据容器中,该关联元数据包括接收到的第一和第二数据分组以及接收到的第一和第二控制分组的定时信息,并包括指示存储的第一和第二数据分组以及第一和第二控制分组在媒体数据容器中的位置的位置信息。
根据本发明的实施例,该记录器适于将第一和第二接收数据分组作为样本存储在媒体数据容器的第一组块(chunk)中,并适于将接收到的关联第一和第二控制分组作为样本存储在媒体数据容器的第二组块中。
根据本发明的实施例,该记录器适于将第一和第二数据分组的定时信息和位置信息存储在文件的元数据容器的第一轨道中,并适于将第一和第二控制分组的定时信息和位置信息存储在文件的元数据容器的第二轨道中。
根据本发明的实施例,该文件基于ISO基础媒体文件格式。根据本发明的优选实施例,该文件是3GP或MP4文件。
根据本发明的实施例,第一数据分组是包括分组化的第一媒体样本(例如压缩视频)在内的第一流RTP分组,第一控制分组是与第一流RTP分组相关的、包括第一RTCP发送方报告的RTCP分组。第二数据分组是包括分组化的第二媒体数据样本(例如与所述视频相关的压缩音频)在内的第二流RTP分组,第二控制分组是与第二流RTP分组相关的、包括第二RTCP发送方报告的RTCP分组。
第一和第二数据分组和关联控制分组的并行存储具有以下优点:记录过程仍然负载较轻,并且可以捕获用于在以后的阶段中根据记录的文件回放媒体流所需的所有信息。在回放接收提示轨道的过程中,即回放文件的媒体数据容器中存储的第一和/或第二数据分组以及文件的元数据容器中存储的其关联元信息的过程中,使用所述关联接收提示轨道,即在媒体数据容器中存储的控制分组和元数据容器中的关联元信息。
为了回放记录文件,本发明的实施例提供了一种用于读取文件的设备,所述文件在与所述文件相关的媒体数据容器中存储第一数据分组以及第二数据分组,所述第一数据分组包括基于第一时钟的分组化的第一媒体数据样本,所述第二数据分组包括基于不同于第一时钟的第二时钟的分组化的第二媒体数据样本。所述文件还存储关联的第一控制分组的至少部分以及关联的第二控制分组的至少部分,所述第一控制分组包括用于指示第一时钟与参考时钟的关系的信息,所述第二控制分组包括用于指示第二时钟与参考时钟的关系的信息。所述文件将关联元数据存储在文件的元数据容器中,所述关联的元数据容器包括接收到的第一和第二数据分组以及接收到的第一和第二控制分组的定时信息以及指示存储的第一和第二数据分组以及存储的第一和第二控制分组在媒体数据容器中的位置的位置信息。所述用于读取文件的设备包括处理器,用于通过访问元数据容器以及通过解释媒体数据容器中存储的第一和第二数据分组以及存储的第一和第二控制分组的定时信息来确定存储的第一和第二数据分组的输出调度。所述设备还包括输出控制器,用于根据所确定的输出调度,通过访问媒体数据容器以及通过从媒体数据容器中读取数据分组来输出第一和第二数据分组。
根据本发明的实施例,为口型同步、时钟恢复和/或时钟漂移调整,可以对存储的第一和第二数据分组以及关联的存储的第一和第二控制分组进行动态处理。这种回放等同于对记录的媒体流的模拟实况接收。
记录的接收提示轨道(第一/第二数据分组)和记录的关联接收提示轨道(第一/第二控制分组)持续整个记录过程。在回放或重放过程中,可以例如以RTCP SR的形式预先取回关联接收提示轨道的控制数据,例如,用于通过考虑多个未来的RTCP SR来实现精确的口型同步,其中,所述未来的RTCP SR与当前回放时刻的未来的时刻相关。
本发明的优点在于:关联接收提示轨道的概念(即在接收媒体流的过程中记录控制信息)实现了与用于仅从文件同步回放流相关的所有信息的轻便的记录过程,而不增加复杂度。
在想要长期存储记录文件而最终将回放多次的情况下,可能希望在每次回放过程中,避免分别分析存储的第一/第二数据分组和存储的第一/第二控制分组以及关联的元数据,取而代之的是,无需进一步处理,媒体定时就直接可用,即用于重放第一/第二存储数据分组所包括的第一/第二媒体数据样本的定时直接可用。
通常,这暗示着根据接收提示轨道对所存储的数据分组进行解分组,并以每轨道一个基本流将其存储至相关媒体数据容器中的媒体轨道。这并不总是可能的或有利的,例如,如果对流的分组应用了传输加密或如果存储容量有限。
除传输分组的精确定时之外,还希望关于接收提示轨道的扩展信息(存储的第一/第二数据分组加元信息)可用,尤其是关于第一/第二数据分组内的媒体数据样本的信息,例如,帧精度的SMPTE时间戳(SMPTE=运动画面和电视工程师协会)或视频轨道的字幕。
为了这个目的,本发明的实施例也提供了一种设备,所述设备用于对与文件相关的媒体数据容器中存储的传输协议相关的数据分组进行处理,并用于对文件的元数据容器中存储的关联元信息进行处理,所述关联元信息包括传输定时信息和指示存储的数据分组在媒体容器中的位置的位置信息。所述设备包括处理器,所述处理器基于存储的数据分组和存储的关联元信息,确定针对存储的数据分组的有效载荷的解码信息,其中,所述解码信息指示了在哪个时刻重放存储的数据分组中的哪个有效载荷。所述用于处理的设备可以是独立设备,也可以是被集成到上述用于存储文件的设备中的设备。
根据实施例,存储的数据分组可以包括MPEG-2传输流分组。根据另一个实施例,存储的数据分组可以包括RTP分组,所述RTP分组包括分组化的媒体数据。
根据本发明的实施例,基于媒体访问单元来确定所述解码信息。即,对于每个访问单元,例如媒体帧,在文件的媒体数据容器中存储解码信息样本,其中,所述解码信息样本指示了从存储的数据分组的哪个部分取出哪个媒体数据样本以获得媒体(例如视频和音频)帧。将与所述解码信息样本相关的元信息存储在元数据容器中的解码信息元数据轨道中。因此,所述解码信息元数据轨道(ISO基础媒体文件格式的“trak”箱/原子)包括针对所述解码信息样本的定时和位置信息。
存储的解码信息样本及其关联解码信息元数据轨道(以下也被称为“虚拟媒体轨道”)是在关联接收提示轨道的思想上建立的,为回放提供了上述优点。在虚拟媒体轨道的元数据部分,提供了针对媒体数据容器中的相关解码信息样本的媒体定时。该解码信息样本提供了从哪个存储数据分组或传输单元获得针对相关媒体访问单元的媒体数据的信息,该信息使得不需要对媒体分组进行解分组。可以在最终接收到媒体流之后,使用来自接收提示轨道的信息,以及如果必要的话使用来自关联接收提示轨道的信息,来建立虚拟媒体轨道。这是在“反提示过程”中完成的,产生的文件使回放设备能够在文件中进行搜索,并且能够基于媒体定时执行对媒体的随机访问。
虚拟媒体轨道可以被视为不完整的媒体轨道。因此,可以应用从RTP和RTCP接收提示轨道恢复的定时以及媒体轨道的所有索引(典型地通过使用“样本表”)。此外,定时的元数据轨道可以引用虚拟媒体轨道并对其进行扩展。
虚拟媒体轨道可以由解码信息样本(虚拟媒体样本)来建立,所述解码信息样本可以包含用于根据接收提示轨道传输单元重构访问单元的构造器。此外,所述解码信息样本可以包含对与访问单元的重构(不完整构造器)相关的一个或更多重要传送单元的链接。同样,虚拟媒体轨道的解码信息样本或虚拟媒体样本可以是空的,例如,在接收过程中分组丢失的情况下。备选性地,虚拟轨道的解码信息样本(下面也称为虚拟媒体样本)可以包含如在经典媒体轨道中那样的完整的已拆包的媒体样本。
按照至接收提示轨道的对应传送单元的链接,可以将来自虚拟媒体轨道的样本表中的索引的信息(以及例如来自定时的元数据轨道的任何关联信息)逻辑地应用至参考接收提示轨道。
如果不能从流中恢复出对虚拟媒体样本的描述,虚拟媒体轨道可以包含虚拟媒体样本的近似和不完整的描述。这尤其适用于数据分组被加密或不完全知道解分组方案的情况。
为了重放虚拟媒体轨道,本发明的实施例提供了一种用于读取文件的设备,所述文件在与所述文件相关的媒体数据容器中存储包括有效载荷在内的数据分组,并在所述媒体数据容器中存储针对存储的数据分组的有效载荷的解码信息,其中,所述解码信息指示在哪个时刻重放存储的数据分组中的哪个有效载荷,所述文件在媒体数据容器中存储关联元数据,所述关联元数据指示媒体数据容器中解码信息的解码时间和位置。所述设备包括处理器,用于通过访问媒体数据容器中的关联元数据,并通过基于所述元数据访问媒体数据容器中的解码信息,以及通过基于所述解码信息访问存储的数据分组中的有效载荷,来确定存储的数据分组中的有效载荷的输出调度。输出控制器用于根据所确定的输出调度来输出所述有效载荷。
与在记录过程中将接收到的数据分组动态地转换为媒体轨道相比,虚拟媒体轨道提供了媒体定时和元数据,而无需对媒体数据(存储数据分组)进行解分组,从而节省了存储空间。虚拟媒体轨道使回放设备能够基于媒体定时在文件中进行搜索。虚拟媒体轨道在无需加倍文件大小的情况下合并了媒体轨道和接收提示轨道的优点,如果向文件加入经典媒体轨道可能会出现文件大小加倍的情况。利用虚拟媒体轨道的概念,保持了原始接收过程的所有信息,例如有助于错误隐藏的关于分组丢失的信息,以及有助于口型同步的关于接收定时的信息。同时,本发明的虚拟媒体轨道提供了用于媒体访问的传统媒体轨道的所有可能性。与传统媒体轨道相比,甚至提供了更多的灵活性。可以基于逐样本来确定存储的传输单元(数据分组)是否完全被拆包为访问单元(媒体帧),或是否例如为了节省存储空间而仅存储了用于重构访问单元的构造器或链接。此外,在一个虚拟媒体轨道中混合了所有可能性,即包括完整访问单元、构造器、链接或为空的解码信息样本或虚拟媒体样本。
多个虚拟媒体轨道可以引用传送单元或数据分组,所述传送单元或数据分组来自实现相同的记录数据分组流的不同索引的相同接收提示轨道。例如,具有随机访问的两个虚拟媒体轨道,一个涉及音频,另一个涉及视频,指向相同的MPEG-2传输流接收提示轨道的音频和视频索引。
为了实现接收和存储的数据分组中的加密媒体数据样本的回放或重放,也可以在文件的媒体数据容器中的数据分组旁边存储关联的密钥流消息。根据本发明的实施例,所述密钥流消息被存储在密钥流接收提示轨道的样本中。接收时间(传输时间)可以用作密钥流样本的时间戳,以将该密钥消息与对应接收提示轨道中的加密媒体分组对齐。轨道引用用于将密钥流接收提示轨道与媒体接收提示轨道相关联。
为了记录文件的目的,本发明的实施例提供了一种用于记录文件的设备,所述文件具有相关的媒体数据容器和元数据容器。所述设备包括接收机,用于接收数据分组以及用于接收包括多个密码密钥的密钥流分组,其中每个数据分组包括有效载荷,每个密码密钥与数据分组的有效载荷相关联。所述设备包括记录器,用于将接收到的数据分组和接收到的密钥流分组存储在所述媒体数据容器中,并用于将关联元数据存储在所述元数据容器中,所述关联元数据包括接收到的数据分组和接收到的密钥流分组的传输定时信息,以及指示存储的数据分组和存储的密钥流分组在媒体数据容器中的位置的位置信息。所述用于记录数据分组和密钥流分组的设备可以是独立设备,也可以是被集成到或与上述用于存储和/或处理的设备结合的设备。
根据本发明的实施例,所述记录器适于将接收到的数据分组作为样本存储在所述媒体数据容器的第一组块中,并将接收到的关联密钥流分组作为样本存储在所述媒体数据容器的第二组块中。根据本发明的实施例,所述记录器适于将数据分组的传输定时信息和位置信息存储在所述媒体数据容器的第一轨道中,并将密钥流分组的传输定时信息和位置信息存储在所述元数据容器的第二轨道中。
根据本发明的实施例,所述文件基于ISO基础媒体文件格式。
根据本发明的实施例,所述数据分组包括MPEG-2传输流分组。
根据本发明的另一实施例,所述数据分组包括RTP分组,所述RTP分组包括分组化的媒体数据样本。
为了便于在接收数据分组流和关联密钥流之后进行回放,可以进行一次处理,以将密钥流接收提示轨道转换为虚拟元数据轨道。具有传输定时的密钥流接收提示轨道中的密钥消息可以被变换为具有媒体定时的虚拟元数据轨道中的密钥样本,所述虚拟元数据轨道与上述虚拟媒体轨道类似。如果需要,虚拟地加倍密钥样本,使得媒体轨道中的每个媒体样本拥有密钥轨道中的关联的密钥样本。
因此,可以创建媒体访问单元与密钥消息之间的精确的定时关系,尤其是当可以根据传送单元重构加密的访问单元时(在内容加密的情况下)。
为了重放,实施例提供了一种用于读取文件的设备,所述文件在与文件相关的媒体数据容器中存储包括分组化的媒体数据样本在内的数据分组以及关联的密钥流分组。所述文件在元数据容器中存储了关联元数据,所述关联元数据包括接收的数据分组和接收的密钥流分组的传输定时信息,以及指示存储的数据分组和存储的密钥流分组在媒体数据容器中的位置的位置信息。此外,所述设备包括处理器,所述处理器基于数据分组,基于关联元信息,以及基于存储的密钥流分组和关联的密钥流元信息,将解密信息分配给存储的数据分组的有效载荷,其中,所述解密信息指示了在哪个时刻使用哪个密码密钥来重放存储的数据分组的有效载荷。提供了用于输出基于所分配的解密信息的解密的数据分组的输出端。
本发明的实施例完全保持了密钥消息的接收定时以及与接收数据分组的定时关系。当文件包含具有密钥消息的元数据轨道,所述密钥消息针对包括存储的数据分组的媒体轨道中的每个对应媒体样本时,本发明的实施例实现了将记录文件转换为针对回放而优化的文件。因此,在回放过程中,不需要为了正确的密钥而解析记录的密钥轨道。
附图说明
结合附图考虑以下详细描述,本发明的其他目的和特征将变得显而易见,在附图中:
图1是根据本发明的实施例的用于记录文件的设备的示意框图;
图2示出了根据本发明的实施例的具有相关媒体数据容器和元数据容器的记录文件的示意文件结构;
图3示出了基于ISO基础媒体文件格式的文件的示意结构;
图4示出了根据本发明的实施例的用于记录文件的方法的流程图;
图5示出了根据本发明的另一实施例的用于记录文件的另一方法的流程图;
图6示出了根据本发明的实施例的用于记录和处理文件以获得虚拟媒体轨道的设备的示意框图;
图7示出了根据本发明的实施例的具有虚拟视频轨道的记录文件的示意结构;
图8示出了根据本发明的实施例的用于记录数据分组、创建虚拟媒体样本以及重放通过虚拟媒体样本来存储的数据分组所包括的媒体样本的方法的流程图;
图9示出了根据本发明的实施例的如何获得引用存储数据的有效载荷所包括的媒体帧的虚拟媒体样本的描述信息的示例;
图10示出了根据本发明的实施例的接收提示轨道的样本与虚拟媒体轨道的映射;
图11示出了根据本发明的另一实施例的用于记录文件的设备的示意框图;
图12示出了移动TV环境下的密钥流和媒体同步的原理。
具体实施方式
图1示出了用于记录具有相关媒体数据容器104和元数据容器106的文件102的设备100的示意流程图。
设备100包括接收机108,用于接收第一数据分组110和第二数据分组112,第一数据分组110包括基于第一时钟的分组化的第一媒体数据样本,第二数据分组112包括基于不同于第一时钟的第二时钟的第二媒体数据样本,其中,第二媒体数据样本与第一媒体数据样本相关联。此外,接收机108用于接收第一控制分组114,第一控制分组114包括用于指示第一时钟与参考时钟的关系的信息,并用于接收第二控制分组115,第二控制分组115包括用于指示第二时钟与参考时钟的关系的信息。此外,设备100包括记录器116,用于将接收到的第一和第二数据分组110、112以及接收到的第一和第二控制分组114、115的至少一部分存储在媒体数据容器104中,并用于在元数据容器106中存储关联元数据,所述关联元数据包括接收到的第一和第二数据分组110、112以及接收到的第一和第二控制分组114、115的定时信息。此外,所述关联元数据包括指示第一和第二数据分组110、112以及第一和第二控制分组114、115被存储在媒体数据容器104中的位置的位置信息。
根据本发明的实施例,第一数据分组110可以是包括分组化的第一媒体数据样本(例如视频)的第一流RTP分组,第二数据分组112可以是包括分组化的第二媒体数据样本(例如音频)的第二流RTP分组。相应地,第一控制分组114可以是与第一流RTP分组110相关联的RTCP分组,其中,第二控制分组115可以是与第二流RTP分组112相关联的RTCP分组。
根据本发明的实施例,文件102可以是基于ISO基础媒体文件格式的文件。例如,该文件格式可以是MPEG-4兼容的文件格式,即文件102可以是由ISO/IEC 14496-14规定的所谓的MP4文件。MP4文件格式由存储在元数据容器106中的元数据组成,该元数据描述典型地与存储在媒体数据容器104中的媒体相关的信息。媒体数据容器104也可以位于文件102之外。例如,媒体数据容器104可以是分离的存储位置,该位置可以通过文件102中的链接来引用。通常,存储在媒体数据容器104中的媒体数据是编码的视频和/或音频数据。在相关规范中,容器104和106是被称为“箱”(或“原子”)的数据结构。
典型地,箱由大小字段、类型字段和数据字段组成。在大小字段中,包含包括该大小字段的整个箱的大小,即字节数。在箱的类型字段中存储箱标识符,通常是4个字母。在数据字段中存储实际的报头数据和媒体数据。使用这样的箱结构形成上述MP4文件格式的元数据容器106典型地被称为电影箱“moov”。类似地,媒体数据容器104被称为媒体数据箱,下文中称为“mdat”。
典型地,媒体数据容器mdat 104由数据单元或样本的序列组成,该数据单元或样本的序列被组合为所谓的组块。组块可以具有不同大小,组块内的样本可以具有不同的大小。
根据本发明的实施例,记录器116适于将第一和第二接收数据分组110、112作为样本存储在媒体数据容器104的第一组块118中。记录器116还适于将接收到的关联第一和第二控制分组114、115的至少部分作为样本存储在媒体数据容器104的第二组块122中,如图2所示。
组块118、122的存储可以以交错的方式完成。
因此,组块的样本可以包括一个或更多接收到的数据分组。也就是说,第一组块118的样本可以包括一个或更多接收到的第一和/或第二RTP分组110、112,第二组块122的样本可以包括接收到的第一和/或第二控制分组114、115中的一个或更多第一和/或第二RTCP SR。
可以将多个第一组块118视为(RTP-)接收提示轨道的媒体数据部分。类似地,可以将多个第二组块122视为接收提示轨道的关联(RTCP-)接收提示轨道的媒体数据部分。即,在图1或图2的情况下,针对所有接收到的RTP分组110、112,存在一个RTP接收提示轨道;针对所有接收到的RTCP分组114、115或RTCP SR,存在一个关联RTCP接收提示轨道。这意味这最小的记录复杂度。
RTCP接收提示轨道不需要任何普通分组有效载荷配置数据,尽管它只有在与其相关的基础RTP接收提示轨道的SDP(会话描述协议)信息结合时才有用。
RTCP接收提示轨道样本有效载荷由原始RTCP分组组成。该原始RTCP分组可以直接被其RTCP报头包括,或者在另一种结构内分组装,以便能够在一个样本中存储多个RTCP分组。
RTCP样本的定时取决于其关联RTP接收提示轨道的定时方法。如果RTP接收提示轨道从RTP时间戳中推导出其解码时间,则RTCP接收提示轨道也从RTCP分组中的RTP时间戳中推导出其解码时间。如果接收时间用于RTP接收提示轨道,则接收定时也用于存储RTCP分组。一般地,RTP接收提示轨道和RTCP接收提示轨道被同步,并使用相同的时间基础。
如图1和2所示,记录器116可以适于将第一和第二接收数据分组110、112的定时信息和位置信息存储在媒体数据容器106的第一元数据轨道124中,并适于将与第一和第二数据分组110、112相关联的接收到的第一和第二控制分组114、115的定时信息和位置信息存储在媒体数据容器106的第二元数据轨道128中。将参考图3,给出对存储过程的更详细的描述。
第一元数据轨道124可以被视为RTP接收提示轨道的元数据部分。类似地,第一元数据轨道124可以被视为接收提示轨道的关联RTCP提示轨道的元数据部分。
在图2的示例中,在以后的阶段,例如通过使用结合RTP分组存储的各个媒体类型的SDP信息,可以从单个RTP接收提示轨道和单个关联RTCP接收提示轨道中识别各个媒体流(例如视频/音频)。
图2示出了具有RTP接收提示轨道和关联RTCP接收提示轨道的ISO媒体文件102的结构。
如上所述,文件102包括元数据容器106,其中,元数据容器106包括RTP接收提示轨道124,RTP接收提示轨道124包括与接收到的RTP分组相关的信息,RTP分组作为样本存储在媒体数据容器104的第一组块118-1、118-2等等中。这就是说,RTP接收提示轨道124包括在接收过程中存储的(第一和第二)RTP分组的传输定时。
该传输定时可以是接收机108的接收时钟的时间戳和/或可以是接收到的RTP分组110、112的RTP时间戳。也就是说,对于每个RTP分组或样本,RTP接收提示轨道的元数据部分124包括关于何时接收各个RTP分组110、112的指示,以及此外还包括关于各个RTP分组被存储在媒体数据容器104中的何处的信息。
对于关联RTCP接收提示轨道的元数据部分128同样如此。元数据部分128包括存储在第二组块122中的接收到的RTCP分组的传输定时信息。例如,该传输定时信息可以是相关RTCP分组的接收时间,或与该RTCP分组相关的RTP分组的RTP时间戳。此外,关联RTCP接收提示轨道的元数据部分128包括指示RTCP分组被存储在媒体数据容器104中何处的位置信息。
根据其他实施例,在记录过程中可以直接分析这些SDP参数,使得可以将与不同媒体相关的RTP会话立即存储至分离的RTP接收提示轨道以及分离的关联RTCP接收提示轨道。
因此,根据本发明的实施例,记录器116适于将第一接收数据分组110作为样本存储在媒体数据容器104的第一组块中。记录器116还适于将第二接收数据分组112作为样本存储在媒体数据容器104的第二组块。记录器116适于将接收到的关联第一控制分组114的至少部分作为样本存储在媒体数据容器104的第三组块中,以及适于将接收到的关联第二控制分组115的至少部分作为样本存储在媒体数据容器104的第四组块中。
组块的存储可以以交错的方式来完成。也就是说,根据本发明的实施例,可以以交错的方式存储与第一媒体流(例如视频)相关的第一RTP分组、与第二媒体流(例如音频)相关的第二RTP分组、以及关联的第一和第二RTCP分组或至少第一和第二RTCP发送方报告作为第一、第二、第三和第四组块的样本。
因此,组块的样本可以包括一个或更多接收到的数据分组。也就是说,第一组块的样本可以包括一个或更多接收到的第一数据分组110,第二组块的样本可以包括一个或更多接收到的第二数据分组112,第三组块的样本可以包括接收到的第一控制分组114的一个或更多第一RTCP SR,第四组块的样本可以包括接收到的第二控制分组115的一个或更多第二RTCP SR。
可以将多个第一组块视为与第一分组110的媒体相关的第一接收提示轨道的媒体数据部分。可以将多个第二组块视为与第二分组112的媒体相关的第二接收提示轨道的媒体数据部分。可以将多个第三组块视为第一接收提示轨道的关联提示轨道的媒体数据部分。类似地,可以将多个第四组块视为第二接收提示轨道的关联提示轨道的媒体数据部分。即,在RTP接收提示轨道和RTCP关联接收提示轨道的情况下,可以针对每个识别的RTP会话记录接收提示轨道,可以针对每个记录的RTP接收提示轨道记录关联接收提示轨道。
根据本发明的实施例,记录器116适于将第一接收数据分组110的定时信息和位置信息存储在媒体数据容器106的第一元数据轨道中,并适于将第二接收数据分组112的定时信息和位置信息存储在元数据容器106的第二元数据轨道中。记录器116适于将与第一数据分组110相关联的接收到的第一控制分组114的定时信息和位置信息存储在媒体数据容器106的第三元数据轨道中,并适于将与第二数据分组112相关联的接收到的第二控制分组115的定时信息和位置信息存储在媒体数据容器106的第四元数据轨道中。
现在转到图3,给出对基于ISO媒体基础格式的文件的元数据容器106的更详细的描述。
将媒体数据容器106(对于基于ISO媒体基础格式的文件被称为“moov”)进一步分层为箱,所需的箱302以电影报头箱“mvhd”的形式包含报头信息作为一个整体,以及多个“trak”箱304(在图3中仅示出一个)。将trak箱304进一步分层为两个箱,其中,轨道报头箱“tkhd”306规定了该轨道的特性。
trak箱304还包括媒体箱“mdia”308,mdia箱308包括所有对象,即关于轨道内的数据分组(通常是媒体数据)的声明信息。mdia箱308包括媒体报头箱“mdhd”310和处理引用箱“hdlr”312。媒体报头箱mdhd 310包括总体信息,该总体信息是独立于媒体的,与覆盖接收提示轨道中的“媒体”(即数据分组)的特性相关。处理引用箱hdlr 312声明了一个过程,通过该过程呈现轨道中的“媒体数据”,从而声明了轨道中的“媒体”的本质,例如接收提示轨道。
此外,媒体mdia箱308包括媒体信息箱“minf”314。该箱包含声明提示轨道中的“媒体”(数据分组)的特性信息的所有对象。媒体信息箱minf 314还包括提示媒体箱“hmhd”316,提示媒体箱hmhd 316包含针对提示轨道的总体信息。此外,媒体信息箱minf 314包括数据信息箱“dinf”318。数据信息箱dinf 318包含声明媒体信息在轨道中的位置的对象。
此外,媒体信息箱minf 314包括样本表箱“stbl”320。该箱中包含了媒体数据容器mdat 104的组块和样本中的至少之一的数据,其链接到每一项。为了描述stbl 320中的项,应观察到,stts箱322包括一个样本的持续时间,stsd箱324包括样本细节,stsz 326包括样本大小,stsc328包括组块中所包括的样本数目,即数据分组的数目,以及stco箱330包括组块偏移,每个与媒体数据容器104中的样本/分组链接。
如上所述,记录器116适于将接收到的数据分组110、112的(传输)定时信息和位置信息存储在相关接收提示轨道的元数据部分124、128中。具体地,将定时信息存储在轨道124、128的相关样本表箱stbl 320中,所述定时信息可以是从接收时间戳推导出的定时信息,或者可以是从后续接收到的数据/控制分组推导出的相对定时信息。
图4示出了对接收到的数据分组的时间相关的元信息进行接收并将其存储在元数据轨道124、128轨道所包括的样本箱stbl 320中的过程的流程图。
在第一步骤402,接收机108接收数据分组,该数据分组可能是RTP分组或RTCP分组。在第二步骤404,通过接收机108的系统时钟以接收时间戳的形式获得与接收到的数据分组相关的定时信息,或者,从接收到的数据分组的RTP时间戳中获得与接收到的数据分组相关的定时信息。在后续步骤406,计算与先前的接收数据分组的时间差。在步骤408,将计算得到的时间差写入各个元数据轨道的stts箱322中,其中,stts能够将接收定时索引到各个样本号(即接收并存储的分组)。也就是说,根据本发明的实施例,对箱stts 322进行采样的解码时间包含接收时间增量:RT(n+1)=RT(n)+stts(n),其中RT(n)表示分组n的接收时间,stts(n)是分组n的未压缩的表的条目。
如上所述,将媒体数据容器104内的样本(分组)组合为组块110、112。这些组块可以具有不同的大小,组块内的样本也可以具有不同的大小。可以使用对组块箱stsc 328的采样来寻找包含特定样本、其位置以及关联的样本描述的组块。每个条目给出了一系列具有相同特性的组块中的第一组块的索引。这里,通过从前一个条目中减去一个条目,可以计算出在各个系列中有多少组块。可以通过乘以适当的每组块样本数,将其转换为样本计数。
组块偏移表stco或co64330给出了每个组块到媒体数据容器104的索引。存在两种变体,允许使用32比特或64比特偏移。后者可用于在管理非常大的文件102。偏移通常是文件的偏移,而不是进入文件内(例如媒体数据容器中)的任何箱中的偏移。这允许在没有任何箱结构的情况下参考文件中的媒体数据。
因此,根据本发明的实施例,记录器116适于存储指示每个第一组块进入文件的索引的第一组块偏移表330。参照图5进行描述。
在第一步骤502中由接收机108接收数据分组之后,在第二步骤504,将接收到的数据分组110、112存储在与文件102相关的媒体数据容器104中。由此,以媒体数据容器104中的存储地址,将接收到的数据分组110、112作为样本进行存储。在第三步骤506,计算该存储地址对于文件102的起始处的偏移(如果文件102包括媒体数据容器104)或对于媒体数据容器104的起始处的偏移(如果媒体数据容器104指明了分离的文件)。其后,将计算得到的偏移写入相关元数据轨道124的stco或co64箱330。
对于控制分组114、115及其相关元数据轨道128的存储同样如此。
为了概括以上所述,应对为了创建接收提示轨道或关联接收提示轨道而执行的操作进行概述,例如下面将要进一步更详细地描述的RTP/RTCP接收提示轨道或密钥流接收提示轨道。对于下面将要解释的虚拟媒体轨道同样如此。当要向基于ISO基础媒体文件格式的文件102加入轨道时,典型地,在根据本发明的实施例的设备100中实现以下操作。
●向moov箱添加新的trak箱
●向新创建的trak箱添加新的tkhd箱。该tkhd箱包含轨道的特性,例如创建时间、轨道ID、“媒体”轨道的尺寸以及持续时间。
●向新创建的trak箱添加新的tref箱。该tref箱指示了轨道的联接,即一个轨道是否可以自己独立或只能与另一个轨道结合使用。应注意,可以通过使用tref箱的轨道引用或隐式链接来链接接收提示轨道,所述隐式链接例如是通过包含可以用于链接两个或更多轨道的数据的样本描述。因此,该tref箱是可选的,但建议采用轨道链接机制。
●向新创建的trak箱添加新的mdia箱。
●向新创建的mdia箱添加新的mdhd箱。该mdhd箱包含轨道中的媒体的特性,例如媒体的持续时间和语言。
●向新创建的mdia箱添加新的hdlr箱。该hdlr箱包含对典型地能够消耗这样的媒体的过程的识别。在高级接收提示轨道的情况下,例如RTCP接收提示轨道的情况下,该识别是“提示”,
●向新创建的mdia箱添加新的minf箱。
●向新创建的minf箱添加新的hmhd箱。该hmhd箱包含针对提示轨道的信息报头。
●向新创建的mdia箱添加新的dinf箱。
●向新创建的dinf箱添加新的dref箱,指示轨道的原始数据或在文件自身内或驻留于文件外部,例如在另一个文件中或可以通过URI(统一资源标识符)提供。
●向新创建的minf箱添加新的stbl箱。该stbl箱是箱的容器,所述箱包含轨道中的样本(例如RTP/RTCP或密钥流分组、虚拟媒体样本)的定时和数据索引。
●向新创建的stbl箱添加新的stsd箱。该stsd箱包含媒体的识别(通常被称为4CC)以及样本的带外配置。
●向新创建的stbl箱添加新的stts箱。该stts箱包含关于轨道中的媒体的每一单个样本(例如RTP/RTCP或密钥流分组、虚拟媒体样本)的持续时间的信息。
●向新创建的stbl箱添加新的stsc箱。该stsc箱包含关于被组合为组块的样本(例如RTP/RTCP或密钥流分组、虚拟媒体样本)的数目的信息。
●向新创建的stbl箱添加新的stsz箱。该stsz箱包含关于轨道中的媒体的每一单个样本(例如RTP/RTCP或密钥流分组、虚拟媒体样本)的大小的信息。
●向新创建的stbl箱添加新的stco或co64箱。该stco或co64箱包含关于每个组块中的第一字节的文件偏移的信息。
●在样本表中加入其他允许的箱,例如stss箱,该stss箱将可用于随机偏移的样本(例如RTP/RTCP或密钥流分组、虚拟媒体样本)编索引。
将样本组合为组块,组块是不带间隔的连续样本块(block)。在要向文件添加样本时,或者将该样本追加(append)至已有的组块,或者开始新的组块。对于每个新的样本,向stts和stsz箱添加新的条目,并改变stsc箱以反映当前组块中的样本数目。如果该样本被写入新的组块,则向stco(或co64)箱追加新的条目,并改变stsc箱以反映新组块中的样本数目。将组块(即原始样本数据本身)写入文件中,所述文件或者在mdat箱内,或者是外部文件(可以从文件内引用)。
根据设备的操作,并行地(针对RTCP和密钥流接收提示轨道)向文件写入高级接收提示轨道,即当新数据在以后的时间点以离线操作(针对虚拟媒体轨道)到达或被添加时,向文件添加样本。
在记录和/或时间偏移应用中,将接收到的数据分组110、112和关联控制消息114、115并行存储在接收提示轨道和关联接收提示轨道中是一种理想的解决方案。然而,如果想要长期存储记录文件并最终将回放多次,则可能希望避免在每次回放过程中分析存储数据,而是无需进一步计算,媒体定时就直接可用。通常,这暗示着根据(RTP)接收提示轨道对数据分组的有效载荷进行解分组,并以每轨道一个基本流将其存储至另外的媒体轨道。这并不总是可能的或有利的,例如,如果对流的分组应用了传输加密或如果存储容量有限。除了对媒体数据容器104中存储的传输分组的精确定时之外,还希望关于接收提示轨道的扩展信息可用,尤其是关于内部媒体流的信息,例如,帧精度的SMPTE时间戳或视频轨道的字幕。
现在参照图6,示出了根据本发明的实施例的用于对存储的数据分组和存储的关联元信息进行处理的设备600。
设备600与图1所示的设备100的不同之处在于处理器602,处理器602基于存储的数据分组和存储的关联元信息,确定针对存储的数据分组的有效载荷的解码信息,其中,所述解码信息指示了在哪个时刻重放存储的数据分组中的哪个有效载荷。设备600可以是设备100的扩展,然而,也可以分离地看待设备600,尤其是当它用于对存储的非RTP/RTCP分组(例如MPEG-2TS分组)进行处理时。
在图6所示的实施例中,将数据分组存储在与文件102相关的媒体数据容器104中。如上所述,将元信息存储在文件102的元数据容器106中。可以将存储的数据分组作为样本存储在媒体数据容器104的组块118、122中。该样本和/或组块由元数据容器106中的关联元数据轨道124、128引用。
根据本发明的实施例,如上所述,存储的数据分组可以包括第一和第二RTP分组110、112以及关联的第一和第二RTCP分组114、115,第一和第二RTP分组110、112包括第一和第二分组化的媒体数据。
根据本发明的另一实施例,存储的数据可以包括MPEG-2传输流数据分组,MPEG-2传输流数据分组包括一个或更多个节目的流复用,一个或更多个节目典型是音频和视频。典型地,MPEG-2传输流数据分组具有188个字节的长度。
根据本发明的实施例,将所确定的解码信息以解码信息样本的形式存储在媒体数据容器104中的解码信息组块604中。因此,每个解码信息样本与访问单元相关,访问单元是例如可以根据接收提示轨道的媒体数据部分中存储的数据分组重构的视频或音频帧。
处理器602适于基于媒体帧来解码信息样本,使得解码信息样本指示媒体访问单元的起始地址和终止地址,其中,起始地址表示指示所述媒体访问单元的起始的媒体数据样本的位置,而其中终止地址表示指示所述媒体访问单元的终止的媒体数据样本的位置,其中,所述媒体数据样本为媒体数据容器104中的数据分组所包括。
处理器602可以访问媒体数据容器104,以将解码信息样本作为虚拟媒体样本存储在媒体数据容器104的组块604中。此外,处理器602可以访问媒体数据容器106,以将与解码信息样本(虚拟媒体样本)相关的、并指示解码信息样本的解码时间和位置的解码元信息存储在媒体数据容器104的元数据轨道606中。如之前所述,可以将解码信息样本看作为虚拟媒体样本,每个虚拟媒体样本涉及相关视频或音频流的访问单元。虚拟媒体样本包括关于如何根据媒体数据容器104中存储的数据分组来重构相关音频/视频帧的信息。
现在转到图7,图7示出了包括媒体数据容器104中的虚拟媒体样本704以及元数据容器106中的关联虚拟元数据轨道706的文件702。
文件702也在媒体数据容器104所包括的组块708中存储RTP分组,并存储了组块710所包括的RTCP分组。存在与所存储的RTP分组相关联的RTP元数据轨道712。在元数据容器106中,存在与所存储的RTCP分组相关联的RTCP元数据轨道714。
如箭头所示,虚拟媒体组块704中的虚拟媒体样本与组块708中所存储的RTP分组相关。该虚拟媒体样本可以包含用于根据组块708中存储的传输单元(即数据分组)来重构访问单元(即例如媒体帧)的构造器。虚拟媒体样本可以包含至一个或更多重要传输单元的链接,所述重要传输单元与特定访问单元的重构(不完整重构器)相关。同样,虚拟媒体样本可以为空,例如在接收过程中分组丢失的情况下。另一备选是虚拟媒体样本包含完整的已拆包的描述媒体帧的媒体样本,如在经典的媒体轨道中的情况一样。
虚拟媒体样本的一般有效载荷配置数据包括相同类型的非虚拟媒体轨道的一般有效载荷配置数据,例如,H.264编码视频的虚拟媒体轨道也包含样本描述内的avcC箱中的AVCConfigurationRecord。此外,它可以包括关于接收提示轨道的去提示过程的信息,例如通过使用虚拟媒体轨道的样本有效载荷中所提供的信息来从接收提示轨道重新集合的媒体样本的最大尺寸。
虚拟媒体轨道的样本的有效载荷由描述从接收提示轨道提取媒体样本数据的过程的“命令”组成。这些命令是从针对提示轨道的分组构造器推导出的,包括“立即构造器”、“样本构造器”和“样本描述构造器”。立即构造器由“长度”、“数据”和“填充”字段组成。“长度”指示了“数据”字段的长度。“填充”可以用于填充过剩提供的空间。
样本构造器由字段trackrefindex、length、samplenumber和sampleoffset组成。trackrefindex指示了从其中提取数据的那个接收提示轨道,samplenumber指示了该接收提示轨道的样本数目。字段sampleoffset指定了要提取的长度“length”的数据块的起始。
通过使用样本构造器,在不复制数据的情况下,可以实现媒体样本的紧凑表示。
样本描述构造器由字段trackrefindex、sampledescriptionindex、sampledescriptionoffset和length组成。与样本构造器等效,使用来自接收提示轨道的样本描述的数据来包括在虚拟媒体样本中。
虚拟媒体轨道使用媒体定时,即传输延迟或时钟频率的不精确不影响解码时间戳。该定时相当于可以根据虚拟媒体轨道中可用的信息产生的媒体轨道的定时。
图8示出了流记录和离线文件优化的流程图。
在第一步骤802,如上所述,将接收提示轨道以及可选地将关联接收提示轨道(例如RTP和RTCP)保存到文件102中。在记录完成之后,即当以接收提示轨道的形式将数据分组保存到文件102中,并最终将关联控制分组保存到该文件的关联接收提示轨道中时,在步骤804,在记录的接收提示轨道内确定不同的媒体流。这意味着,步骤804包括分别在记录的接收提示轨道内确定例如音频和视频流或与音频和视频流相关的数据分组。如以上所解释的,这是通过从会话描述协议(SDP)中提取适当的信息来完成的。
因此,处理器602适于确定哪个存储的数据分组与第一或第二媒体数据样本相关,以及确定与媒体数据容器104中的第二媒体数据样本相关的第二解码信息样本(第二虚拟媒体样本)。
在另一步骤806,针对每个识别的媒体流,创建虚拟媒体轨道(包括媒体和元数据),该虚拟媒体轨道引用相关的接收提示轨道。
即,处理器602适于将与第一媒体数据样本相关的第一解码信息样本(第一虚拟媒体样本)存储在媒体数据容器104中,并将第一解码元信息存储在元数据容器106中,所述第一解码元信息指示第一解码信息样本在媒体容器104中的位置(例如,组块偏移、样本号等)。处理器602适于将第二解码元信息存储在元数据容器106中,所述第二解码元信息指示第二解码信息样本在媒体容器104中的位置(例如,组块偏移、样本号等)。
也就是说,所创建的虚拟媒体轨道引用包括具有根据各个媒体流的有效载荷的数据分组的接收提示轨道。在创建了虚拟媒体轨道之后,将虚拟媒体样本(解码信息样本)添加至虚拟媒体轨道,其中,所述虚拟媒体样本指向接收提示轨道的媒体数据部分中的样本或分组,并从控制传输单元(例如RTCP发送方报告)恢复精确的定时。
RTCP发送方报告包含RTP时间戳和以NTP时间戳格式的在流中的对应的公共时间戳。RTP时间戳和NTP时间戳允许确定转换值。利用该RTP/NTP时间戳转换值和RTP时间戳的时钟频率,可以计算接收的RTP分组的以NTP时间戳格式的在流中的时间戳。按照这种方式,可以在对数据分组的记录的后处理中获得针对每个RTP接收提示轨道(即每个存储的数据分组)的媒体定时。
在另一步骤810中,(例如,通过该轨道内的表或通过添加引用该轨道的其他轨道)向虚拟媒体轨道添加描述性信息。因此,添加的描述性信息可以指示与虚拟媒体样本相关联的媒体帧的起始地址和终止地址,其中,所述起始地址表示指示所述媒体帧的起始的媒体数据样本的位置,而其中所述终止地址表示指示所述媒体帧的终止的媒体数据样本的位置,其中,所述媒体数据样本为媒体数据容器104中的数据分组所包括。
在另一可选回放步骤812中,使用虚拟媒体样本的描述性信息,通过虚拟媒体轨道在接收提示轨道中寻找对应的样本。例如,步骤810可以用于重放存储的数据分组所包括的媒体流。
图9示出了如何获得引用接收提示轨道中的存储的数据分组的有效载荷所包括的媒体帧的虚拟媒体样本的描述性信息的示例。
图9示出了一系列存储的RTP分组RTP1、RTP2、RTP3。RTP分组RTP1、RTP2、RTP3被存储在虚拟媒体容器104中作为样本。每个RTP分组RTP1、RTP2、RTP3包括报头H1、H2、H3以及有效载荷PL1、PL2、PL3,有效载荷PL1、PL2、PL3包括媒体数据样本。作为示例,报头大小分别是A比特,有效载荷大小是(B-A)比特。在第一RTP分组RTP1和第二RTP分组RTP2的有效载荷之中,对可以是视频或音频帧的第一媒体帧的数据进行分割。作为示例,第一媒体帧的媒体数据从RTP分组RTP1的字节A到数据分组RTP2的字节A+Y。在数据分组RTP2和数据分组RTP3之中,对第二媒体帧的媒体数据进行分割,数据分组RTP2在字节地址A+Y开始,数据分组RTP3在字节地址A+Z终止。
虚拟媒体样本VMS1和VMS2分别与第一媒体帧和第二媒体帧相关。根据本发明的实施例,虚拟媒体样本VMS1、VMS2包括关于在存储的数据分组RTP1、RTP2、RTP3中的何处找到第一和第二媒体帧的媒体数据的信息。也就是说,虚拟媒体分组VMS1包括信息,所述信息说明,通过从字节地址A至字节地址B地访问数据分组RTP1,并通过从字节地址a至字节地址A+Y地寻址数据分组RTP2,可以获得帧1的媒体数据。虚拟媒体样本2包括关于在何处获得媒体帧2的媒体样本的信息。也就是说,它存储了信息,所述信息说明,媒体帧2开始于数据分组RTP2,从字节地址A+Y至字节地址B,并且说明可以在数据分组RTP3中从字节地址A至字节地址A+Z找到帧2的其他媒体样本。
在媒体数据容器106中的虚拟媒体轨道的元数据部分引用了形成该虚拟媒体轨道的媒体数据部分的虚拟媒体样本VMS1和VMS2。针对每个虚拟媒体样本VMS1、VMS2,可以在stts箱中找到解码时间对样本的信息。因此,如上所述,解码时间对样本的信息反映了已经通过评估与RTP分组RTP1、RTP2、RTP3相关联的存储的RTCP分组而确定的媒体定时。
图10示意了接收提示轨道的样本与虚拟媒体轨道的样本的映射。
与图9相反,图10示出了MPEG-2传输流M2T的存储的数据分组。传输流M2T包括数据分组A1至A7以及数据分组V1至V7,其中,数据分组A1至A7包括音频样本,数据分组V1至V7包括视频样本。
虚拟媒体样本VMSA1与在音频分组A1和A2的有效载荷之中被划分的第一音频帧相关。虚拟媒体样本VMSA1指示A1和A2的有效载荷的哪个部分用于获得音频帧1。类似地,虚拟媒体样本VMSA2与其媒体数据可以在音频分组A2和A3的有效载荷中找到的第二音频帧相关。虚拟媒体样本VMSA3引用音频分组A4和部分音频分组A5,以获得第三音频帧。虚拟媒体样本VMSA4引用音频分组A5的剩余部分和音频分组A6和A7的有效载荷用于音频帧4。
类似地,与第一视频帧相关的虚拟媒体样本VMSV1引用视频分组V1、V2和V3的有效载荷用于第一视频帧。虚拟媒体样本VMSV2引用视频分组V4、V5和V6的有效载荷用于获得第二视频帧的媒体样本。
为了基于引用存储的RTP分组的接收提示轨道以及引用存储的RTCP分组的关联接收提示轨道来重放媒体内容,本发明的实施例提供了一种用于读取文件的设备,所述文件在与所述文件相关的媒体数据容器中存储第一数据分组以及第二数据分组,所述第一数据分组包括基于第一时钟的分组化的第一媒体数据样本,所述第二数据分组包括基于不同于第一时钟的第二时钟的分组化的第二媒体数据样本。所述文件也存储关联的第一控制分组的至少一部分以及关联的第二控制分组的至少一部分,所述第一控制分组包括用于指示第一时钟与参考时钟的关系的信息,所述第二控制分组包括用于指示第二时钟与参考时钟的关系的信息。所述文件还在文件的元数据容器中存储关联元数据,所述关联元数据包括接收的第一和第二数据分组和接收的第一和第二控制分组的信息以及指示所述媒体数据容器中存储第一和第二数据分组以及存储第一和第二控制分组的位置的位置信息。所述设备包括处理器,用于通过访问元数据容器和通过解释媒体数据容器中存储的第一和第二数据分组以及存储的第一和第二控制分组的定时信息来确定存储的第一和第二数据分组的输出调度。所述设备还包括输出控制器,用于根据所确定的输出调度,通过访问元数据容器以及通过从媒体数据容器中读取数据分组来输出数据分组。
根据本发明的实施例,所述处理器适于在当存储的关于接收的第一和第二数据分组的定时信息指示了接收顺序的情况下确定输出调度,使得该输出调度反映第一和第二数据分组的接收顺序。也就是说,根据本实施例,可以执行对原始接收场景的模拟。
根据另一实施例,所述处理器适于基于存储的关于第一和第二数据分组的定时信息以及存储的第一和第二控制分组中所包含的参考时间戳来确定同步信息,以使得第一数据分组的输出调度与第二数据分组的输出调度关于参考时间(NTP)而同步。也就是说,根据本实施例,可以执行接收并存储的第一和第二数据分组的定时同步。
典型地,读取接收提示轨道的设备使用以下操作集合来检测它是否可以解析文件:
●解析ftyp箱,以检测文件内容和结构是否潜在地可解析。如果不能解析该文件,则放弃文件读取操作。
●解析moov箱,检查其中trak箱的数目。如果没有轨道,则放弃文件读取操作。
●解析每个轨道的minf箱内的hdlr箱,以检测该hdlr箱中是否定义有对该处理类型可用的处理过程。如果没有识别到处理过程,则放弃针对该轨道的文件读取操作。
●解析每个轨道的minf箱内的stbl箱和stsd箱。stsd箱包含该轨道的内容的识别,并描述了该内容。如果不能理解该内容,则放弃对该轨道的文件读取操作。
如果可以解析该文件,则通过解析trak箱内的tref箱来确定轨道链接。备选性地,如果该格式内部定义了轨道链接,则使用该轨道的stsd箱中的可用信息。如果不能确定轨道链接,则假定该轨道是单个独立的,并且无需其他轨道所包含的信息就可以解析。轨道链接被内部存储在读取设备中,并在理解轨道包含的原始数据的过程中需要的情况下使用。
根据设备的操作,设备可以选择它理解的、并与文件的表示相关的轨道。缺省地,对所有轨道进行解析,但是,适用以下规则:
●对于虚拟媒体轨道,使用该虚拟媒体轨道来代替RTP或MPEG-2TS接收提示轨道。该轨道已经包含用于反转提示操作的数据,即接收提示轨道的哪些数据需要被提取并使用其他数据来扩展以创建基本流数据块,解码器可以自然地理解。
●对于RTCP接收提示轨道,第一操作模式是与RTP接收提示轨道并行地消耗RTCP轨道。读取设备使用一般RTP/RTCP接收的可用逻辑来同步流。
●对于RTCP接收提示轨道,第二操作模式是在正常读取操作开始之前消耗整个RTCP接收提示轨道,以检测多个RTP接收提示轨道之间的初始同步和时钟漂移。在这种模式下,例如,应用线性回归来对齐多个RTP接收提示轨道的RTP时钟。接着,在消耗数据时,对流施加该偏差以有利于多个RTP接收提示轨道的连续同步的播放。
●对于密钥流接收提示轨道,第一操作模式是与RTP或MPEG-2 TS接收提示轨道并行地消耗密钥流接收提示轨道。这确保了针对接收提示轨道的特定受保护数据块的密钥流以类似于真实广播的方式可用。
●第二操作模式将密钥流数据和接收提示轨道的数据对齐,以使得有效性时间段不再重叠。这允许以后对轨道的编辑,而无需理解密钥流数据的定时。
为了从轨道中得到所谓的样本,必须推导出在文件内的位置。针对第k个样本S的这种操作通过以下来完成
●使用stsc箱的数据,确定样本S所在的组块C
●解析stco(或co64)箱,以确定组块C的文件偏移F
●解析stsz箱,以获得样本S的大小L以及该组块内所有先前样本Pi的大小Ki。
因此,数据在文件中的位置(F+sum(Ki))处可用,并具有大小L。
要播放该数据的时刻由stts箱中可用的信息来确定。该箱包含对每一单个样本j的运行长度编码的持续时间Dj。第k个样本S的播放时间则是所有持续时间Dj之和,其中j<k。
在虚拟媒体轨道可用的情况下,本发明的实施例提供了一种用于读取文件的设备,所述文件在媒体数据容器中存储包括有效载荷的数据分组,并在所述媒体数据容器104中存储针对存储的数据分组的有效载荷的解码信息,其中,所述解码信息指示在哪个时刻重放存储的数据分组中的哪个有效载荷。所述文件在元数据容器106中存储关联元数据,所述关联元数据指示媒体数据容器中解码信息的解码时间和位置。所述设备包括:处理器,用于通过访问元数据容器106中的关联元数据,并通过基于该元数据访问媒体数据容器中的解码信息,以及通过基于所述解码信息访问存储的数据分组的有效载荷,来确定存储的数据分组的有效载荷的输出调度;以及输出控制器,用于根据所确定的输出调度来输出所述有效载荷。
如在本说明书的介绍部分所述的,在接收数据分组之外,本发明的另一个方面是存储密钥流消息。
可以通过权利管理系统来控制访问数据或数据分组的权利。通过数字通信网络接收数据内容可能局限于特定的终端用户,并限制其他用户。例如,用户可以通过支付节目费来购买对节目的访问。如果用户付费,则该用户可以被授权在指定的时间段内访问该节目,而未付费的用户不能访问该节目。可以通过对传送数据进行加密来控制对节目的访问。通过使用加密密钥,可以通过任何数目的加密标准来对数据进行加密。在用户终端的接收机处,可以使用密钥来对加密的数据进行解密,以使得在接收机或用户终端处可以观看该内容。用于对加密的数据分组进行解密的密钥也可以通过相同的数字通信网络来传送,并也可以被加密。也可以使用其他数字通信网络来传送一个或更多个密钥。因此,想要访问或观看节目或服务的终端用户可能需要获得密钥的权利。
可以通过密钥流将与加密节目或服务相关联的传输加密密钥传送给用户终端。该密钥流可以包括密钥流消息,所述密钥流消息以预定的频率传送,当接收机或用户终端接收到加密的数据流时,也接收到该密钥流消息。
图12示出了流数据分组1302-1、1302-2、1302-3,每个数据分组都具有使用密码密钥k0、k1、k2进行加密的有效载荷。与数据分组1302相关联的是包括密钥流分组1304-1、1304-2、1304-3和1304-4的密钥流。在其相关联的数据分组1302-1之前的时间传送的密钥流分组1304-1包括用于对数据分组1302-1的加密有效载荷进行解密的密码密钥k0。由此,加密密钥k0具有与其相关联的生命期d0,生命期d0确保能够对关联数据分组进行加密。对于第二密钥流分组1304-2及其密码密钥k1同样如此,密码密钥k1可以用于对关联数据分组1302-2的有效载荷进行解密。这里,同样地,在数据分组1302-2之前很靠前的时间,传送关联密钥流分组1304-2,密码密钥k1具有确保对数据分组1302-2的有效载荷进行正确解密的生命期d1。
根据本发明的实施例,如之前对数据分组和关联控制分组的解释一样,在接收机终端处,可以在具有媒体数据容器和元数据容器的文件中一起存储数据分组和关联密钥流分组。
图11示出了根据本发明的实施例的用于记录文件1102的设备1100,所述文件1102具有相关的媒体数据容器1104和元数据容器1106。
所述设备1100包括接收机1108,用于接收数据分组1110,每个数据分组1110包括有效载荷,并用于接收包括多个密码密钥的密钥流分组1112,其中,每个密码密钥与接收的数据分组的有效载荷相关联。此外,所述设备1100包括记录器1116,用于将接收的数据分组1110和接收的密钥流分组1112存储在所述媒体数据容器1104中,并用于将关联元数据存储在所述元数据容器1106中,所述关联元数据包括接收的数据分组1110和接收的密钥流分组1112的传输定时信息,以及包括指示存储的数据分组1110和存储的密钥流分组1112在媒体数据容器1104中的位置的位置信息。
应强调,设备1100可以与设备100结合使用,或被包括在设备100中。也就是说,可以组合本发明的一起存储数据分组和关联控制分组的概念、一起存储数据分组和关联密钥流分组以及从存储的数据分组和关联控制分组和/或关联密钥流分组中,以媒体轨道的形式创建解码信息的概念。
再次转到图11,将接收的数据分组1110作为样本存储在媒体数据容器1104的第一组块1118中。将接收的相关联密钥流分组作为样本存储在媒体数据容器1104的第二组块1120中。根据本发明的优选实施例,可以以交错的方式将第一和第二组块1118和1120存储在媒体容器1104中。
如以上所解释的,文件1102可以是基于ISO基础媒体文件格式的文件,例如MP4文件。因此,记录器1116适于将第一组块1118存储在元数据容器moov1106的第一元数据轨道1124的第一组块偏移表stco或co64中,其中,根据媒体数据容器1104是否是文件1102的一部分,第一组块偏移表指示每个第一组块1118到文件1102或媒体数据容器1104的索引。利用与对第一组块的解释相同的方式,将第二组块到媒体数据容器1104的索引存储在元数据容器1106的第二元数据轨道1128的第二组块偏移表中。
同已经解释过的数据分组110、112和关联控制分组114、115并行存储在接收提示轨道和关联接收提示轨道中的情况一样,将数据分组1110的传输定时信息(即接收时间或RTP时间戳)存储在第一元数据轨道1124所包括的第一stts箱中。类似地,将传输定时信息或差量传输定时信息存储在与第二组块1120相关的第二元数据1128轨道的第二stts箱中。
此外,为了便于在完成流的接收之后进行回放,可以执行一次处理,以将密钥流接收提示轨道转换为虚拟元数据轨道。为了这个目的,所述设备1100包括处理器(未示出),所述处理器基于存储的数据分组1110和关联元信息1124,以及基于存储的密钥流分组1112和关联的密钥流元信息1128,将解密信息分配给存储的数据分组1110的有效载荷,其中,所述解密信息指示了在哪个时刻使用哪个密码密钥来重放存储的数据分组1110的有效载荷。
也就是说,可以将具有传输定时的密钥流接收提示轨道中的密钥消息转换为具有媒体定时的虚拟元数据轨道中的密钥样本。这是基于与上述对虚拟媒体轨道的解释相同的概念来完成的。也就是说,创建密钥样本,并将其存储在媒体数据容器1104中。因此,每个密钥样本与访问单元或媒体帧相关,并包括关于对相关的媒体帧使用哪个密码密钥的信息。在包括stts箱的关联元数据轨道1128中,给出了解码对密钥样本的信息。该解码对密钥样本的信息指示在哪个时刻访问各自的密钥样本,该密钥样本再次涉及存储的数据分组的有效载荷数据,以产生各自的加密媒体帧。如果需要,虚拟地加倍密钥样本,以使得媒体轨道中的每个媒体样本都具有密钥轨道中的关联的密钥样本(具有相同的密钥ID)。
因此,可以创建媒体访问单元(例如媒体帧)与密钥消息之间的精确的定时关系,尤其是在内容加密的情况下可以根据传输单元(数据分组)重构加密的访问单元时。
为了读取文件1102,所述文件在媒体数据容器1104中存储数据分组110并存储关联的密钥流分组1112,并在元数据容器1106中存储了关联元数据,本发明的实施例提供了一种设备,所述设备包括处理器,所述处理器基于存储的数据分组1110,基于关联分组元信息1124,以及基于存储的密钥流分组1112和关联的密钥流元信息1128,将加密信息分配给存储的数据分组的有效载荷,其中,解密信息指示了在何时使用哪个密码密钥来重放存储的数据分组的有效载荷。
用于分配解密信息的处理器可以用于加密数据分组1110的有效载荷的播放器。出于这个原因,可以基于所分配的解密信息将解密后的数据分组输出至解码器。用于分配解密信息的处理器也可以用于产生虚拟解密信息,所述虚拟解密信息将被部分存储在媒体数据容器1104中作为虚拟密钥样本。关联元信息被存储在元数据轨道1128中。这与上述虚拟媒体轨道的概念相对应。
密钥样本的有效载荷可以包括接收的密钥流消息的原始有效载荷。这意味着直接存储密钥流的UDP分组的内容。一些系统可能将该数据分组装在另一种结构内,以允许存储多个接收的密钥流消息。
密钥流样本的定时取决于其基本RTP接收提示轨道的定时方法。如果该RTP接收提示轨道从RTP时间戳中推导出其解码时间,则密钥流接收提示轨道也将从RTP时间戳中推导出其解码时间,然而,它可能需要对RTP时间戳进行外插。如果RTP接收提示轨道使用接收时间,则接收时间也将被用于存储密钥流消息。一般地,RTP接收提示轨道和密钥流接收提示轨道被同步并使用相同的时间基础。
作为概括,本发明涉及一种媒体存储系统,所述媒体存储系统将接收到的“传输单元”(TU)-所述传输单元典型地包含分组化的媒体数据,例如视频数据-记录为接收提示轨道中的预计算的分组或构造器,以及将“控制传输单元”(CTU)记录在文件的样本中。所述控制传输单元被存储在与所述接收提示轨道相关联的分离的平行轨道中。
CTU包含在从文件回放过程中用于处理接收提示轨道的媒体分组所必需或有用的附加数据。CTU的示例是RTCP报告或在加密流的情况下的密钥消息。
为了优化记录的流的本地回放,“虚拟媒体轨道”使用反提示过程,将接收到的TU映射至“虚拟媒体样本”。所述虚拟媒体样本具有媒体样本的定时,该定时可以使用CTU和接收提示轨道从轨道中恢复,而无需是完整的媒体样本。如果合适,可以应用虚拟媒体轨道的索引。该索引也适用于接收提示轨道的链接的样本。虚拟媒体轨道可以用作文件内的其他轨道(例如“定时的元数据轨道”)的参考。应用可以通过虚拟媒体轨道来查找接收提示轨道的对应样本。
将密钥流消息存储为关联的接收提示轨道。可以应用虚拟媒体轨道来精确地对齐媒体样本和解密密钥。
近来,被称为电源片断的增加补充了上述ISO基础媒体文件格式,其已经在例如美国专利申请US 2007/0130498A1中描述。应当提到,本发明的实施例也可适用于所述电影片断。
根据环境,可以以硬件或软件来实现本发明的方法。所述实现可以在数字存储介质(尤其是具有电子可读控制信号的光盘或CD)上完成,所述数字存储介质可以与可编程计算机系统协作,以执行所述方法。一般地,本发明也在于一种具有程序代码的计算机程序产品,所述程序代码存储在机器可读载体上,用于在计算机程序产品在计算机上运行时执行本发明的方法。换言之,因此,本发明可以被实现为具有程序代码的计算机程序,所述程序代码用于在计算机程序在计算机上运行时执行所述方法。
尽管根据多个优选实施例对本发明进行了描述,然而存在落入本发明的范围内的改变、置换及等效物。也应注意,存在许多备选方式来实现本发明的方法和构造。因此,所附权利要求应被解释为包括所有这样的落入本发明的真实精神和范围内的改变、置换及等效物。
Claims (24)
1.一种用于对存储在媒体数据容器(104)中的数据分组(110;112)以及存储在元数据容器(106)中的关联元信息进行处理的设备(600),所述关联元信息包括传输定时信息和指示存储的数据分组在所述媒体数据容器(104)中的存储位置的位置信息,所述设备包括:
处理器(602),基于存储的数据分组(110;112)和存储的关联元信息(124;128),确定针对存储的数据分组的媒体有效载荷的解码信息(604;704),其中,所述解码信息(604;704)指示了在哪个时刻重放存储的数据分组中的哪个有效载荷。
2.如权利要求1所述的设备,其中,所述处理器(602)适于基于媒体访问单元来确定所述解码信息(604;704),使得解码信息样本指示媒体有效载荷的有关媒体访问单元的起始地址和终止地址,其中,所述起始地址表示指示所述媒体访问单元的起始的媒体数据样本的位置,以及所述终止地址表示指示所述媒体访问单元的终止的媒体数据样本的位置,其中,所述媒体数据样本为媒体数据容器(104)中的数据分组所包括。
3.如权利要求1或2所述的设备,其中,所述处理器(602)适于将与媒体有效载荷的媒体访问单元相关的解码信息样本存储在媒体数据容器(104)中,并将关联解码元信息(606;706)存储在元数据容器(106)中,所述解码元信息(606;706)指示解码时间以及所述解码信息样本在媒体数据容器(104)中的位置。
4.如权利要求3所述的设备,其中,所述处理器(602)适于将解码信息样本存储在媒体数据容器(104)的解码信息组块(604;704)中,所述解码信息组块(604;704)包括至少一个解码信息样本。
5.如权利要求4所述的设备,其中,所述处理器(602)适于存储解码信息元数据轨道(606;706)的组块偏移表,所述组块偏移表指示每个解码信息组块(704)到媒体数据容器(104)的索引。
6.如权利要求4或5所述的设备,其中,所述处理器(602)适于将所述解码信息样本的解码时间存储在样本表箱(stts)中,所述样本表箱能够将所述解码信息样本的解码时间索引到所述解码信息组块(704)中的关联样本号。
7.如之前任一权利要求所述的设备,其中,所述存储的数据分组(110;112)包括MPEG-2传送流分组。
8.如权利要求1至6中任一项所述的设备,其中,所述存储的数据分组(110;112)包括RTP分组,所述RTP分组包括分组化的媒体数据样本。
9.如之前任一权利要求所述的设备,其中,所述存储的数据分组包括与第一和第二媒体流相关的第一数据分组(110)和第二数据分组(112),其中,处理器(602)适于确定存储的数据分组(110;112)中的哪个与所述第一或第二媒体流相关。
10.如权利要求9所述的设备,其中,所述处理器(602)适于基于第一/第二媒体访问单元来确定第一/第二解码信息,使得第一/第二解码信息样本指示了属于第一/第二媒体流的相关第一/第二媒体访问单元的起始地址和终止地址,其中,所述起始地址表示指示所述第一/第二媒体访问单元的起始的媒体数据样本的位置,以及所述终止地址表示指示所述第一/第二媒体访问单元的终止的媒体数据样本的位置,其中,所述媒体数据样本为媒体数据容器(104)中的第一/第二存储数据分组所包括。
11.如权利要求10所述的设备,其中,所述处理器(602)适于将第一/第二解码信息样本存储在媒体数据容器(104)中,并将第一/第二解码元信息(606;706)存储在元数据容器(106)中,所述第一/第二解码元信息(606;706)指示媒体数据容器(104)中所述第一/第二解码信息样本的第一/第二解码时间以及在第一/第二位置。
12.如权利要求10或11所述的设备,其中,所述处理器(602)适于将第一/第二解码信息样本存储在媒体数据容器(104)的第一/第二解码信息组块(604;704)中,所述第一/第二解码信息组块(604;704)包括至少一个第一/第二解码信息样本。
13.如权利要求12所述的设备,其中,所述处理器(602)适于将所述第一/第二解码信息样本的第一/第二解码时间存储在第一/第二样本表箱(stts)中,所述第一/第二样本表箱能够将所述第一/第二解码信息样本的第一/第二解码时间索引至所述第一/第二解码信息组块(704)中的关联样本号。
14.如权利要求9至13中任一项所述的设备,其中,所述存储的第一数据分组(110)包括第一RTP分组,所述第一RTP分组包括第一分组化的媒体数据,以及所述存储的第二数据分组(112)包括第二RTP分组,所述第二RTP分组包括第二分组化的媒体数据。
15.如权利要求14所示的设备,其中,所述存储的第一和第二RTP分组(110;112)另外包括与第一和第二RTP分组(110;112)相关联的第一和第二RTCP分组(114;115)的至少部分,其中所述元信息另外包括元数据容器(106)中的第一和第二RTCP分组的传输定时信息和位置信息,以及所述存储的关联第一和第二RTCP分组的部分被作为样本存储在媒体数据容器(104)的RTCP组块(122)中,其中,RTCP分组(114;115)的定时信息和位置信息被存储在元数据容器(106)的RTCP轨道(128)中。
16.如权利要求15所示的设备,其中所述处理器(602)被配置为基于存储的第一和第二RTP分组(110;112)、存储的第一和第二RTCP分组以及基于存储的关联元信息(124;128)来分别确定第一和第二解码信息(604;704),其中,第一和第二解码信息(604;704)分别指示了在哪个时刻重放存储的第一和第二数据分组的哪个有效载荷。
17.如之前任一权利要求所述的设备,其中,所述媒体数据容器(104)包括密钥流分组(1112),每个密钥流分组(1112)包括密码密钥,其中,所述密码密钥与存储的数据分组中的至少一个的有效载荷相关联,以及所述存储的密钥流分组(1112)的传输定时信息和位置信息被存储在所述元数据容器(106)中。
18.如权利要求17所述的设备,其中,所述处理器(602)适于基于存储的数据分组(110;112)、基于关联元信息(124;128)、以及基于存储的密钥流分组(1112)和关联的密钥流元信息(1128),将解密信息分配给存储的数据分组(110;112)的有效载荷,其中,所述解密信息指示了在哪个时刻使用哪个密码密钥来重放存储的数据分组(110;112)的有效载荷。
19.如之前任一权利要求所述的设备,其中,所述媒体数据容器(104)和元数据容器(106)与基于ISO基础媒体文件格式的文件(102)相关。
20.一种用于对媒体数据容器(104)中存储的数据分组(110;112)以及元数据容器(106)中存储的关联元信息进行处理的方法,所述关联元信息包括传输定时信息和指示存储的数据分组在所述媒体数据容器(104)中的存储位置的位置信息,所述方法包括:
基于存储的数据分组(110;112)和存储的关联元信息(124;128),确定针对存储的数据分组的有效载荷的解码信息(604;704),其中,所述解码信息指示了在哪个时刻重放存储的数据分组中的哪个有效载荷。
21.一种计算机程序,当所述计算机程序在计算机和/或微控制器上运行时,执行权利要求20所述的方法。
22.一种用于读取文件(102)的设备,所述文件在与所述文件相关的媒体数据容器(104)中存储包括有效载荷的数据分组(110;112),并在所述媒体数据容器(104)中存储针对存储的数据分组(110;112)的有效载荷的解码信息(602;702),其中,所述解码信息指示在哪个时刻重放存储的数据分组(110;112)中的哪个有效载荷,所述文件在文件的元数据容器(106)中存储关联元数据(606;706),所述关联元数据(606;706)指示媒体数据容器(104)中的解码信息(602;702)的解码时间和位置,所述设备包括:
处理器,用于通过访问元数据容器(106)中的关联元数据(606;706),并通过基于所述关联元数据(606;706)访问媒体数据容器(104)中的解码信息(602;702),以及通过基于所述解码信息(602;702)访问存储数据分组(110;112)的有效载荷,来确定存储的数据分组(110;112)的有效载荷的输出调度;以及
输出控制器,用于根据所确定的输出调度来输出所述有效载荷。
23.一种用于读取文件(102)的方法,所述文件在与所述文件相关的媒体数据容器(104)中存储包括有效载荷的数据分组(110;112),并在所述媒体数据容器(104)中存储针对存储的数据分组(110;112)的有效载荷的解码信息(602;702),其中,所述解码信息指示在哪个时刻重放存储的数据分组(110;112)中的哪个有效载荷,所述文件在文件的元数据容器(106)中存储关联元数据(606;706),所述关联元数据(606;706)指示媒体数据容器(104)中的解码信息(602;702)的解码时间和位置,所述方法包括:
通过访问元数据容器(106)中的关联元数据(606;706),通过基于所述关联元数据(606;706)访问媒体数据容器(104)中的解码信息(602;702),以及通过基于所述解码信息(602;702)访问存储数据分组(110;112)的有效载荷,来确定存储的数据分组(110;112)的有效载荷的输出调度;以及
根据所确定的输出调度来输出所述有效载荷。
24.一种计算机程序,当所述计算机程序在计算机和/或微控制器上运行时,执行权利要求23所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94753907P | 2007-07-02 | 2007-07-02 | |
US60/947,539 | 2007-07-02 | ||
PCT/EP2008/005373 WO2009003683A1 (en) | 2007-07-02 | 2008-07-01 | Apparatus and method for processing and reading a file having a media data container and a metadata container |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101731013A true CN101731013A (zh) | 2010-06-09 |
CN101731013B CN101731013B (zh) | 2013-06-12 |
Family
ID=39865600
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800221435A Active CN101790886B (zh) | 2007-07-02 | 2008-07-01 | 存储和读取具有媒体数据容器和元数据容器的文件的设备和方法 |
CN2008800196433A Active CN101731013B (zh) | 2007-07-02 | 2008-07-01 | 处理和读取具有媒体数据容器和元数据容器的文件的设备和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800221435A Active CN101790886B (zh) | 2007-07-02 | 2008-07-01 | 存储和读取具有媒体数据容器和元数据容器的文件的设备和方法 |
Country Status (12)
Country | Link |
---|---|
US (2) | US8462946B2 (zh) |
EP (2) | EP2149264B1 (zh) |
JP (2) | JP4766473B2 (zh) |
KR (2) | KR101074585B1 (zh) |
CN (2) | CN101790886B (zh) |
AT (1) | ATE495631T1 (zh) |
BR (2) | BRPI0811833B1 (zh) |
DE (1) | DE602008004502D1 (zh) |
HK (1) | HK1136726A1 (zh) |
RU (2) | RU2459378C2 (zh) |
TW (3) | TWI430665B (zh) |
WO (3) | WO2009003684A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761779A (zh) * | 2011-04-28 | 2012-10-31 | 三星电子株式会社 | 条件接收模块及其系统及向其发送加密数据的装置和方法 |
CN103165155A (zh) * | 2011-12-14 | 2013-06-19 | 佳能株式会社 | 记录装置及其控制方法 |
CN103688532A (zh) * | 2011-07-29 | 2014-03-26 | 索尼公司 | 流式传输分发装置和方法、流式传输接收装置和方法、流式传输系统、程序和记录介质 |
CN103843351A (zh) * | 2011-09-29 | 2014-06-04 | 三星电子株式会社 | 用于发送和接收内容的方法和装置 |
CN105830450A (zh) * | 2013-12-16 | 2016-08-03 | 松下电器(美国)知识产权公司 | 发送方法、接收方法、发送装置以及接收装置 |
CN110866127A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 建立索引的方法以及相关装置 |
CN111756818A (zh) * | 2020-06-05 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 一种文件传送方法、装置、设备及存储介质 |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617278B1 (en) | 2003-01-29 | 2009-11-10 | Adobe Systems Incorporated | Client controllable server-side playlists |
DE102007004951A1 (de) * | 2007-01-26 | 2008-07-31 | Deutsche Thomson Ohg | Verfahren zum paketvermittelten Übertragen von Mediendaten sowie Vorrichtung zum Bearbeiten von Mediendaten |
EP2149264B1 (en) * | 2007-07-02 | 2011-01-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for processing and reading a file having a media data container and a metadata container |
US7941399B2 (en) | 2007-11-09 | 2011-05-10 | Microsoft Corporation | Collaborative authoring |
US8825758B2 (en) | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
US8300823B2 (en) * | 2008-01-28 | 2012-10-30 | Netapp, Inc. | Encryption and compression of data for storage |
FR2927208B1 (fr) * | 2008-01-31 | 2010-02-12 | Airbus France | Procede et dispositif de mesure de la derive temporelle d'un equipement electronique relie a un reseau |
US8077736B2 (en) * | 2008-02-25 | 2011-12-13 | Newport Media, Inc. | Fast audio/visual reception in DVB-H systems |
US8352870B2 (en) | 2008-04-28 | 2013-01-08 | Microsoft Corporation | Conflict resolution |
EP2114027A1 (en) * | 2008-04-30 | 2009-11-04 | Gemplus | Method of detecting TV off event on a mobile terminal |
US8825594B2 (en) | 2008-05-08 | 2014-09-02 | Microsoft Corporation | Caching infrastructure |
US8261312B2 (en) * | 2008-06-27 | 2012-09-04 | Cisco Technology, Inc. | Linear hint video streaming |
US8776144B2 (en) * | 2008-10-16 | 2014-07-08 | Industrial Technology Research Institute | Mobile TV system and method for synchronizing the rendering of streaming services thereof |
JP2010181800A (ja) * | 2009-02-09 | 2010-08-19 | Mitsubishi Electric Corp | 暗号化メディアファイルのデータ構造、暗号化メディア作成方法、暗号化メディア復号方法、暗号化メディア分割方法及び暗号化メディア結合方法並びに装置 |
JP5169947B2 (ja) * | 2009-03-31 | 2013-03-27 | 富士通モバイルコミュニケーションズ株式会社 | 情報処理装置 |
US8346768B2 (en) * | 2009-04-30 | 2013-01-01 | Microsoft Corporation | Fast merge support for legacy documents |
US8166191B1 (en) | 2009-08-17 | 2012-04-24 | Adobe Systems Incorporated | Hint based media content streaming |
EP2497269A1 (en) | 2009-11-06 | 2012-09-12 | Telefonaktiebolaget LM Ericsson (publ) | File format for synchronized media |
AU2010331464B2 (en) * | 2009-12-14 | 2015-11-26 | Sumitomo Electric Industries, Ltd. | Content reception apparatus, content playback apparatus, content reception and playback apparatus, content reception method, and program |
TWI451279B (zh) * | 2010-04-07 | 2014-09-01 | Apple Inc | 即時或接近即時串流傳輸之內容存取控制 |
KR101842201B1 (ko) * | 2010-04-19 | 2018-03-26 | 엘지전자 주식회사 | 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치 |
JP5512038B2 (ja) * | 2010-04-20 | 2014-06-04 | サムスン エレクトロニクス カンパニー リミテッド | メディアデータを送受信するためのインターフェース装置及び方法 |
KR101294542B1 (ko) * | 2010-12-09 | 2013-08-07 | 한국전자통신연구원 | 데이터 변경 장치 및 방법 |
US8731597B1 (en) * | 2011-05-26 | 2014-05-20 | Sprint Spectrum L.P. | Method and system of transmitting power control commands |
US20130004142A1 (en) * | 2011-06-29 | 2013-01-03 | Rovi Corp. | Systems and methods for device authentication including timestamp validation |
US9451313B2 (en) * | 2011-06-29 | 2016-09-20 | Harman International Industries, Incorporated | Network media adapter |
US8938625B2 (en) | 2011-06-29 | 2015-01-20 | Sonic Ip, Inc. | Systems and methods for securing cryptographic data using timestamps |
JP5917123B2 (ja) * | 2011-12-14 | 2016-05-11 | キヤノン株式会社 | 記録装置 |
US8824680B2 (en) * | 2012-08-08 | 2014-09-02 | Verizon Patent And Licensing Inc. | Centralized key generation |
US9319878B2 (en) * | 2012-09-14 | 2016-04-19 | Qualcomm Incorporated | Streaming alignment of key stream to unaligned data stream |
DE102012022064A1 (de) | 2012-11-09 | 2014-05-15 | Thomas Klimpel | System und Verfahren zur Wiedergabe von Musikstücken und/oder Multimediadaten |
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 |
KR102179384B1 (ko) * | 2012-11-30 | 2020-11-16 | 삼성전자주식회사 | 컨텐트를 저장한 정보저장매체, 컨텐트 제공 방법, 컨테트 재생 방법 및 그 장치 |
US9454995B2 (en) | 2012-11-30 | 2016-09-27 | Samsung Electronics Co., Ltd. | Information storage medium storing content, content providing method, content reproducing method and apparatus therefor |
US9357199B2 (en) * | 2013-01-04 | 2016-05-31 | Qualcomm Incorporated | Separate track storage of texture and depth views for multiview coding plus depth |
CN105052167B (zh) * | 2013-01-18 | 2018-10-09 | 佳能株式会社 | 用于封装分区定时媒体数据的方法、装置和计算机可读存储介质 |
MX339611B (es) * | 2013-01-21 | 2016-05-31 | Dolby Laboratories Licensing Corp | Codificador y decodificador de audio con metadatos de limite y sonoridad de programa. |
JP5641090B2 (ja) * | 2013-03-14 | 2014-12-17 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
KR101484843B1 (ko) * | 2013-04-19 | 2015-01-20 | 삼성전자주식회사 | 멀티미디어 전송 시스템에서 미디어 전송 패킷 전송 방법 및 장치 |
JP2014230154A (ja) * | 2013-05-23 | 2014-12-08 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
US9674569B2 (en) * | 2013-05-29 | 2017-06-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Clock recovery in transponder-bonded systems using BCRs and marker packets at a set-top box |
US9800934B2 (en) * | 2013-06-12 | 2017-10-24 | Lg Electronics Inc. | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
JP2015012580A (ja) * | 2013-07-02 | 2015-01-19 | キヤノン株式会社 | 受信装置、受信方法及びプログラム |
CA2917290C (en) * | 2013-07-05 | 2018-10-30 | Lg Electronics Inc. | Method and apparatus for transmitting/receiving media broadcasting signal in real time transport protocol-based broadcasting system |
WO2015046919A1 (en) * | 2013-09-27 | 2015-04-02 | Lg Electronics Inc. | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
CN105917655B (zh) * | 2014-01-13 | 2019-07-09 | Lg电子株式会社 | 经由一个或者多个网络发送或者接收广播内容的设备和方法 |
JP6466951B2 (ja) | 2014-01-13 | 2019-02-06 | エルジー エレクトロニクス インコーポレイティド | 一つ以上のネットワークを介して放送コンテンツを送受信する装置及び方法 |
WO2015108309A1 (en) * | 2014-01-14 | 2015-07-23 | Lg Electronics Inc. | Broadcast transmission device and operating method thereof, broadcast reception device and operating method thereof |
CA2951009A1 (en) * | 2014-06-20 | 2015-12-23 | Sony Corporation | Image encoding device and method, and image decoding device and method |
JP2016027512A (ja) * | 2014-06-30 | 2016-02-18 | ソニー株式会社 | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
KR102271811B1 (ko) | 2014-10-22 | 2021-07-01 | 삼성전자주식회사 | 전자장치 및 전자장치의 컨텐트 제어 방법 |
KR101555792B1 (ko) | 2014-11-28 | 2015-09-25 | 주식회사 엘지유플러스 | 멀티미디어 청크(chunk)를 수신하는 통신 단말기의 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체 |
CN107615395B (zh) * | 2015-03-26 | 2021-02-05 | 外科安全技术公司 | 用于事件和差错预测的手术室黑盒设备、系统、方法和计算机可读介质 |
US10191914B2 (en) | 2015-03-31 | 2019-01-29 | EMC IP Holding Company LLC | De-duplicating distributed file system using cloud-based object store |
US9916458B2 (en) * | 2015-03-31 | 2018-03-13 | EMC IP Holding Company LLC | Secure cloud-based storage of data shared across file system objects and clients |
US11212333B1 (en) * | 2015-05-29 | 2021-12-28 | Ribbon Communications Operating Company, Inc. | Methods and apparatus for synchronizing transcoded and/or transrated RTP packets |
EP4216556A1 (en) * | 2016-05-20 | 2023-07-26 | Lg Electronics, Inc. | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method |
KR101853441B1 (ko) | 2016-09-23 | 2018-05-02 | 재단법인 실감교류인체감응솔루션연구단 | 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 |
RU172157U1 (ru) * | 2017-03-22 | 2017-06-29 | Акционерное общество "МЦСТ" | Контроллер межпроцессорного канала обмена данными второго поколения (IPCC2) |
CN117692661A (zh) | 2018-04-03 | 2024-03-12 | 华为技术有限公司 | 基于子图像码流视角相关视频编码中的误差抑制的文件格式指示 |
WO2020026036A1 (en) * | 2018-07-31 | 2020-02-06 | Marvell World Trade Ltd. | Metadata generation at the storage edge |
WO2020064081A1 (en) | 2018-09-24 | 2020-04-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Transmitting and receiving packets wirelessly |
US11457231B2 (en) | 2019-03-15 | 2022-09-27 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks |
US11245926B2 (en) * | 2019-03-19 | 2022-02-08 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for track derivation for immersive media data tracks |
CN111966473B (zh) * | 2020-07-24 | 2024-02-06 | 支付宝(杭州)信息技术有限公司 | 一种线性回归任务的运行方法及装置、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765164A (en) * | 1995-12-21 | 1998-06-09 | Intel Corporation | Apparatus and method for management of discontinuous segments of multiple audio, video, and data streams |
WO2001055860A1 (en) * | 2000-01-28 | 2001-08-02 | Diva Systems Corporation | Method and apparatus for content distribution via non-homogeneous access networks |
US20010048721A1 (en) * | 1997-11-12 | 2001-12-06 | Sony Corporation | Decoding method and apparatus and recording method and apparatus for moving picture data |
WO2007028137A2 (en) * | 2005-09-01 | 2007-03-08 | Nokia Corporation | Method for embedding svg content into an iso base media file format for progressive downloading and streaming of rich media content |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6169843B1 (en) * | 1995-12-01 | 2001-01-02 | Harmonic, Inc. | Recording and playback of audio-video transport streams |
US6377966B1 (en) * | 1997-10-22 | 2002-04-23 | Flashpoint Technology, Inc. | Graphical interface to select characters representing phonetic articulation and no articulation groups |
US6311221B1 (en) * | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
JP2000078197A (ja) * | 1998-09-03 | 2000-03-14 | Toshiba Corp | 通信ノード及びパケット転送方法 |
US6549922B1 (en) | 1999-10-01 | 2003-04-15 | Alok Srivastava | System for collecting, transforming and managing media metadata |
WO2001078346A2 (en) * | 2000-04-08 | 2001-10-18 | Sun Microsystems, Inc. | Resynchronizing media during streaming |
GB2366926A (en) | 2000-09-06 | 2002-03-20 | Sony Uk Ltd | Combining material and data |
GB0103381D0 (en) * | 2001-02-12 | 2001-03-28 | Eyretel Ltd | Packet data recording method and system |
JP3946965B2 (ja) * | 2001-04-09 | 2007-07-18 | ソニー株式会社 | 無体財産権を保護する情報を記録する記録装置、記録方法、記録媒体、およびプログラム |
US7162479B2 (en) * | 2001-08-15 | 2007-01-09 | Bentley Systens, Incorporated | Method and system for storing large data files |
JP3925218B2 (ja) * | 2002-01-30 | 2007-06-06 | ソニー株式会社 | ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、並びにプログラム及び記録媒体 |
US6912010B2 (en) * | 2002-04-15 | 2005-06-28 | Tektronix, Inc. | Automated lip sync error correction |
US7143132B2 (en) * | 2002-05-31 | 2006-11-28 | Microsoft Corporation | Distributing files from a single server to multiple clients via cyclical multicasting |
US7313236B2 (en) * | 2003-04-09 | 2007-12-25 | International Business Machines Corporation | Methods and apparatus for secure and adaptive delivery of multimedia content |
US7586938B2 (en) * | 2003-10-24 | 2009-09-08 | Microsoft Corporation | Methods and systems for self-describing multicasting of multimedia presentations |
US7483532B2 (en) | 2003-07-03 | 2009-01-27 | Microsoft Corporation | RTP payload format |
WO2005029490A1 (en) * | 2003-09-25 | 2005-03-31 | Samsung Electronics Co., Ltd. | Apparatus and method for displaying audio and video data, and storage medium recording thereon a program to execute the displaying method |
US7480382B2 (en) | 2003-09-30 | 2009-01-20 | Microsoft Corporation | Image file container |
CA2512191C (en) | 2003-10-24 | 2013-12-31 | Microsoft Corporation | Embedding a session description message in a real-time control protocol (rtcp) message |
KR101244308B1 (ko) * | 2003-12-08 | 2013-03-18 | 삼성전자주식회사 | 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법 |
US8472792B2 (en) * | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
EP1542488A1 (en) | 2003-12-12 | 2005-06-15 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for allocating a pilot signal adapted to the channel characteristics |
JP2006164378A (ja) | 2004-12-06 | 2006-06-22 | Toshiba Corp | 情報記録媒体、情報記録方法、情報再生方法、情報記録装置、情報再生装置 |
US20060227813A1 (en) * | 2005-04-11 | 2006-10-12 | Mavrogeanes Richard A | Method and system for synchronized video recording/delivery |
MX2007012564A (es) | 2005-04-13 | 2007-11-15 | Nokia Corp | Codificacion, almacenamiento y senalizacion de informacion de escalabilidad. |
US20060293077A1 (en) * | 2005-06-27 | 2006-12-28 | Nokia Corporation | System, terminal, method, and computer program product for allocating memory for storage of content |
US7843974B2 (en) * | 2005-06-30 | 2010-11-30 | Nokia Corporation | Audio and video synchronization |
US20070022215A1 (en) * | 2005-07-19 | 2007-01-25 | Singer David W | Method and apparatus for media data transmission |
DE102005062468A1 (de) | 2005-12-27 | 2007-07-05 | Robert Bosch Gmbh | Verfahren zur Synchronisation von Datenströmen |
US7995143B2 (en) * | 2006-02-10 | 2011-08-09 | Qualcomm Incorporated | Wireless video link synchronization |
JP2008061010A (ja) * | 2006-08-31 | 2008-03-13 | Toshiba Corp | 映像音声送信装置 |
US8065672B2 (en) * | 2007-01-23 | 2011-11-22 | Oracle International Corporation | Simplifying rollback to prior versions of patches used to fix errors in pre-installed software |
EP2149264B1 (en) * | 2007-07-02 | 2011-01-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for processing and reading a file having a media data container and a metadata container |
US20090169001A1 (en) * | 2007-12-28 | 2009-07-02 | Cisco Technology, Inc. | System and Method for Encryption and Secure Transmission of Compressed Media |
-
2008
- 2008-07-01 EP EP08784589A patent/EP2149264B1/en active Active
- 2008-07-01 AT AT08784589T patent/ATE495631T1/de not_active IP Right Cessation
- 2008-07-01 CN CN2008800221435A patent/CN101790886B/zh active Active
- 2008-07-01 JP JP2010513775A patent/JP4766473B2/ja active Active
- 2008-07-01 US US12/666,327 patent/US8462946B2/en active Active
- 2008-07-01 WO PCT/EP2008/005374 patent/WO2009003684A1/en active Application Filing
- 2008-07-01 KR KR1020107002056A patent/KR101074585B1/ko active IP Right Grant
- 2008-07-01 WO PCT/EP2008/005373 patent/WO2009003683A1/en active Application Filing
- 2008-07-01 EP EP08773798.7A patent/EP2160899B1/en active Active
- 2008-07-01 RU RU2009147728/07A patent/RU2459378C2/ru active
- 2008-07-01 JP JP2010513776A patent/JP5334335B2/ja active Active
- 2008-07-01 CN CN2008800196433A patent/CN101731013B/zh active Active
- 2008-07-01 BR BRPI0811833-7A patent/BRPI0811833B1/pt active IP Right Grant
- 2008-07-01 US US12/665,753 patent/US9236091B2/en active Active
- 2008-07-01 RU RU2009148647/07A patent/RU2492587C2/ru active
- 2008-07-01 KR KR1020107001920A patent/KR101199732B1/ko active IP Right Grant
- 2008-07-01 DE DE602008004502T patent/DE602008004502D1/de active Active
- 2008-07-01 BR BRPI0811821-3A patent/BRPI0811821B1/pt active IP Right Grant
- 2008-07-01 WO PCT/EP2008/005375 patent/WO2009003685A1/en active Application Filing
- 2008-07-02 TW TW097124990A patent/TWI430665B/zh active
- 2008-07-02 TW TW097124989A patent/TWI446773B/zh active
- 2008-07-02 TW TW097124992A patent/TWI371204B/zh active
-
2010
- 2010-03-22 HK HK10102944.1A patent/HK1136726A1/xx unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765164A (en) * | 1995-12-21 | 1998-06-09 | Intel Corporation | Apparatus and method for management of discontinuous segments of multiple audio, video, and data streams |
US20010048721A1 (en) * | 1997-11-12 | 2001-12-06 | Sony Corporation | Decoding method and apparatus and recording method and apparatus for moving picture data |
WO2001055860A1 (en) * | 2000-01-28 | 2001-08-02 | Diva Systems Corporation | Method and apparatus for content distribution via non-homogeneous access networks |
WO2007028137A2 (en) * | 2005-09-01 | 2007-03-08 | Nokia Corporation | Method for embedding svg content into an iso base media file format for progressive downloading and streaming of rich media content |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761779A (zh) * | 2011-04-28 | 2012-10-31 | 三星电子株式会社 | 条件接收模块及其系统及向其发送加密数据的装置和方法 |
CN103688532A (zh) * | 2011-07-29 | 2014-03-26 | 索尼公司 | 流式传输分发装置和方法、流式传输接收装置和方法、流式传输系统、程序和记录介质 |
CN103843351A (zh) * | 2011-09-29 | 2014-06-04 | 三星电子株式会社 | 用于发送和接收内容的方法和装置 |
CN103843351B (zh) * | 2011-09-29 | 2019-04-19 | 三星电子株式会社 | 用于发送分组的方法 |
US10659519B2 (en) | 2011-09-29 | 2020-05-19 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving content |
US11082479B2 (en) | 2011-09-29 | 2021-08-03 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving content |
US11647071B2 (en) | 2011-09-29 | 2023-05-09 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving content |
CN103165155A (zh) * | 2011-12-14 | 2013-06-19 | 佳能株式会社 | 记录装置及其控制方法 |
CN103165155B (zh) * | 2011-12-14 | 2016-01-20 | 佳能株式会社 | 记录装置及其控制方法 |
CN105830450A (zh) * | 2013-12-16 | 2016-08-03 | 松下电器(美国)知识产权公司 | 发送方法、接收方法、发送装置以及接收装置 |
CN110866127A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 建立索引的方法以及相关装置 |
CN111756818A (zh) * | 2020-06-05 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 一种文件传送方法、装置、设备及存储介质 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101731013B (zh) | 处理和读取具有媒体数据容器和元数据容器的文件的设备和方法 | |
JP6034458B2 (ja) | スケーラブルビデオコーディングを利用したリニアなデジタルtv番組の伝送方法 | |
KR101107815B1 (ko) | 멀티미디어 컨테이너 파일의 수신 힌트 트랙으로의 미디어 스트림 기록 방법 및 장치, 컴퓨터 판독가능 매체 | |
KR101254385B1 (ko) | 미디어 데이터 및 멀티미디어 데이터 중 적어도 하나를 적어도 하나의 파일 내에서 구성화하는 방법 및 장치, 액세스 방법, 컴퓨터 판독가능 저장 매체 | |
US9954717B2 (en) | Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format | |
CN101802823A (zh) | 用于流式多媒体数据的分段的元数据和位标 | |
US11445000B2 (en) | Multicast to unicast conversion | |
US20220131921A1 (en) | Multicast to unicast conversion | |
Hannuksela et al. | The DVB File Format [Standards in a Nutshell] |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |