CN102577309A - 用于动态媒体文件流送的系统、方法和装置 - Google Patents
用于动态媒体文件流送的系统、方法和装置 Download PDFInfo
- Publication number
- CN102577309A CN102577309A CN2010800431498A CN201080043149A CN102577309A CN 102577309 A CN102577309 A CN 102577309A CN 2010800431498 A CN2010800431498 A CN 2010800431498A CN 201080043149 A CN201080043149 A CN 201080043149A CN 102577309 A CN102577309 A CN 102577309A
- Authority
- CN
- China
- Prior art keywords
- host
- media file
- protocol request
- host protocol
- fragments
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 239000012634 fragment Substances 0.000 claims abstract description 150
- 230000004044 response Effects 0.000 claims abstract description 66
- 238000004590 computer program Methods 0.000 claims abstract description 59
- 230000015654 memory Effects 0.000 claims description 101
- 230000005540 biological transmission Effects 0.000 claims description 34
- 238000012546 transfer Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 239000000306 component Substances 0.000 description 6
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000012533 medium component Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000010358 mechanical oscillation Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- AZEZEAABTDXEHR-UHFFFAOYSA-M sodium;1,6,6-trimethyl-10,11-dioxo-8,9-dihydro-7h-naphtho[1,2-g][1]benzofuran-2-sulfonate Chemical group [Na+].C12=CC=C(C(CCC3)(C)C)C3=C2C(=O)C(=O)C2=C1OC(S([O-])(=O)=O)=C2C AZEZEAABTDXEHR-UHFFFAOYSA-M 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了用于促进动态媒体流送的方法、装置、系统和计算机程序产品。就此而言,服务器可以接收对媒体文件的至少一部分的传输协议请求,其指示所述媒体文件的至少一部分要被流送到请求了所述媒体文件的内容消费设备。作为响应,可以基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段,并且然后响应于所述传输协议请求而将所述多个片段传送到所述内容消费设备。
Description
技术领域
本发明的实施例总体上涉及通信技术,并且更具体地,涉及用于媒体文件流送(streaming)的系统、方法和装置。
背景技术
联网技术和使用联网技术的计算设备已经以继续促进信息传输的容易性和对用户的方便性这样的方式在演进。就此而言,网络的扩展和网络计算设备的演进已经提供了充足的处理功率、存储空间和网络带宽,以便使得能够传输和回放日益增加的复杂数字媒体文件。因此,因特网电视、视频共享等正在获得普及性。
为了促进数字媒体文件的传输和回放,数字媒体文件可以从服务器流送到内容消费设备,诸如计算设备。可以通过将媒体文件分片成多个片段来适应媒体文件流送。内容消费设备可以请求媒体文件的片段,并且服务器然后可以响应于该请求而将该片段传送到内容消费设备。在传送和接收到一个片段之后,客户端消费设备可以从服务器请求另一片段。该处理可以重复,其中媒体文件一次一个片段地被从服务器传送到内容消费设备。
发明内容
因此,根据一个实施例,提供了用于使用诸如超文本传输协议(HTTP)的传输协议来促进媒体文件的流送的系统、方法、装置和计算机程序产品。在一个实施例中,客户端消费设备可以发布传输协议请求,其使得服务器传送媒体文件的多个片段。通过响应于传输协议请求而传送多个片段,可以在更低的请求开销以及在服务器与专用于内容本身的内容消费设备之间传送的更大百分比的数据的情况下,按照更高效的方式来对媒体文件进行流送。为了进一步提高流送处理的效率,可以发布传输协议请求,所述传输协议请求标识了两个或更多不同类型的轨道(track),从而使得可以响应于所述传输协议请求来提供所述两个或更多不同种类的轨道中的每一个种类的轨道的多个片段。另外,响应于单个传输协议请求的对多个片段的传输可以允许与网络状况的质量相一致地在对媒体文件进行流送的过程中更平滑地调整比特率,其中在比特率中的任何改变都扰乱了(disconcert)观看者。而且,通过允许所述传输协议请求来标识要下载的一部分媒体文件而不必指定要下载的特定片段,服务器不必在最初提供可用片段的索引文件,并且如此,服务器可以响应于所述传输协议请求而动态地生成片段。
在一个实施例中,提供了一种方法,该方法包括接收对媒体文件的至少一部分的传输协议请求,其指示所述媒体文件的至少一部分要被流送到请求所述媒体文件的内容消费设备。该实施例的方法还基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段,并且然后响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输。
在另一个实施例中,提供了一种计算机程序产品。所述计算机程序产品包括其中存储了计算机可读程序指令的至少一个计算机可读存储介质。该实施例的计算机可读程序指令可以包括程序指令,当由服务器执行时,所述程序指令被配置以便:接收对媒体文件的至少一部分的传输协议请求,其指示所述媒体文件的至少一部分要被流送到请求所述媒体文件的内容消费设备。该实施例的计算机可读程序指令当被执行时还被配置以便使得所述服务器:基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段,并且然后响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输。
在进一步的实施例中,提供了一种装置。该实施例的装置包括至少一个处理器和存储了计算机程序代码的至少一个存储器。存储了计算机程序代码的所述至少一个存储器被配置以便与所述至少一个处理器一起工作,使得所述装置:接收对媒体文件的至少一部分的传输协议请求,其指示所述媒体文件的至少一部分要被流送到请求所述媒体文件的内容消费设备。还使得该实施例的装置:基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段,并且然后响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输。
在又一个实施例中,提供了一种设备,该设备包括:用于接收对媒体文件的至少一部分的传输协议请求的装置,所述传输协议请求指示所述媒体文件的至少一部分要被流送到请求所述媒体文件的内容消费设备。该实施例的所述设备还包括:用于基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段的装置;以及用于响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输的装置。
在另一个实施例中,提供了一种方法,所述方法包括:引导发布对媒体文件的至少一部分的传输协议请求,其指示要从服务器流送所述媒体文件的至少一部分。该实施例的方法还包括:从所述服务器接收响应于所述传输协议请求的多个片段。
在另一个实施例中,提供了一种计算机程序产品。所述计算机程序产品包括其中存储了计算机可读程序指令的至少一个计算机可读存储介质。该实施例的计算机可读程序指令可以包括程序指令,当由处理器执行时,所述程序指令被配置以便:引导发布对媒体文件的至少一部分的传输协议请求,其指示要从服务器流送所述媒体文件的至少一部分。该实施例的计算机可读程序指令当由处理器执行时还被配置以便使得通信设备:从所述服务器接收响应于所述传输协议请求的多个片段。
在进一步的实施例中,提供了一种装置。该实施例的装置包括至少一个处理器和存储了计算机程序代码的至少一个存储器。存储了计算机程序代码的所述至少一个存储器被配置以便与所述至少一个处理器一起工作,使得所述装置:引导发布对媒体文件的至少一部分的传输协议请求,其指示要从服务器流送所述媒体文件的至少一部分。还使得该实施例的装置:从所述服务器接收响应于所述传输协议请求的多个片段。
在又一个实施例中,提供了一种设备,该设备包括:用于引导发布对媒体文件的至少一部分的传输协议请求的装置,所述传输协议请求指示要从服务器流送所述媒体文件的至少一部分。该实施例的设备还包括:用于从所述服务器接收响应于所述传输协议请求的多个片段的装置。
在进一步的实施例中,提供了一种系统,所述系统包括服务器和内容消费设备,所述系统被配置以便支持从所述服务器到所述内容消费设备的媒体文件流送。在该实施例中,所述内容消费设备被配置以便:引导发布对所述媒体文件的至少一部分的传输协议请求,其指示要从服务器流送所述媒体文件的至少一部分;以及从所述服务器接收响应于所述传输协议请求的多个片段。另外,在该实施例中的服务器被配置以便:接收对所述媒体文件的至少一部分的传输协议请求,其指示所述媒体文件的至少一部分要被流送到请求所述媒体文件的内容消费设备。该实施例的服务器还被配置以便:基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段;以及然后响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输。
仅出于以下目的而提供了以上发明内容:总结本发明的一些示例实施例,以便提供对本发明的一些方面的基本理解。因此,可以理解,上述示例实施例仅是例子并且不应当被解释成以任何方式缩窄本发明的精神或范围。可以理解,本发明的范围包括除了这里总结的那些之外的任何可能的实施例,下面将进一步描述其中一些实施例。
附图说明
因此已经概括地描述了本发明的实施例,现在将参考附图(其不一定按比例绘制),并且在附图中:
图1根据本发明示例性实施例图示了用于使用传输协议来促进媒体文件的流送的系统;
图2是根据本发明示例性实施例的移动终端的示意框图;
图3是按照本发明的一个示例实施例的根据用于促进媒体文件的流送的示例性方法的流程图;
图4图示了按照本发明的一个示例实施例可格式化的依从ISOFF的(ISOFF-compliant)结构化媒体内容;以及
图5-图8依照本发明的示例性实施例图示了根据用于促进媒体文件的流送的示例性方法的附加流程图。
具体实施方式
现在将在下文中参照附图更充分地描述本发明的一些实施例,在附图中示出了一些但不是所有的实施例。实际上,应当理解,除了在此阐述和描述的那些实施例之外,本发明的其它可能的实施例可以以很多不同的形式来体现。本发明的实施例不应当被解释为限于在此阐述的实施例;相反,提供了在此阐述的实施例是使得该公开将满足适用的法律要求。相同的附图标记始终指的是相同的元素。
如在此使用的,术语“电路”指的是(a)仅硬件电路实现(例如,模拟电路和/或数字电路中的实现);(b)电路与计算机程序产品的组合,所述计算机程序产品包括在一起工作的一个或多个计算机可读存储器上存储的软件和/或固件指令,以使得装置执行在此描述的一个或多个功能;以及(c)即使软件或固件在物理上不存在也要求用于操作的软件或固件的电路,例如像微处理器或微处理器的一部分。“电路”的该定义应用于在此对该术语的所有使用,包括在任何权利要求中。作为进一步的例子,如在此使用的,术语“电路”还包括含有一个或多个处理器和/或其部分以及配附的软件和/或固件的实现。作为另一个例子,如在此使用的术语“电路”还包括例如用于移动电话的应用处理器集成电路或基带集成电路或者服务器中的类似集成电路、蜂窝网络设备、其它网络设备和/或其它计算设备。
一些多媒体服务器基于用户数据报协议(UDP)使用实时传输协议(RTP)来进行媒体流送(与作为控制协议的实时流送协议(RTSP)一起)。就此而言,UDP提供基础传输功能性,诸如应用寻址和损坏检测(corruption detection)。RTP向UDP补充媒体传输相关功能性,诸如丢失检测、分组重排序、同步、统计数据收集,以及会话参与标识。然而,基于UDP的RTP(RTP/UDP)并不提供内置拥塞控制和/或纠错功能性。RTP/UDP可以搜集充足的信息来基于需要而在应用级上实现拥塞控制和/或纠错功能性。然而,随着移动和因特网视频的日益普及,通过适当的速率控制机制来维持良好的网络性能正在变得甚至更为优先。另外,在基于RTP/UDP的流送应用中,流式媒体的发送机和/或接收机如果未被适当地进行配置,则可能无法穿越位于发送机和接收机之间的流送路径中的网络地址转换(NAT)设备和/或防火墙。
超文本传输协议(HTTP)流式媒体递送在一些应用中正在取代基于RTSP/RTP的流送。即使HTTP不被设计用于实时媒体的递送,HTTP也提供了使其对于流式媒体内容递送应用有吸引力的益处。就此而言,HTTP相对容易设置和部署。另外,HTTP媒体递送克服了阻碍使用基于RTSP/RTP的流送的NAT和防火墙穿越问题。此外,利用使得能够进行高效数据分发的十分稳健的基础设施(诸如HTTP缓存)来广泛部署HTTP。
HTTP是被开发用于递送超链接文本文档的应用级传输协议。对该协议的使用已经进一步演进以便涵盖对不同类型的文件和数据的文件的递送。HTTP使用请求/响应模型来检索来自Web服务器的远程资源。客户端通常在端口80上建立与服务器的传输协议连接(例如,传输控制协议(TCP)连接),并且与服务器交换HTTP消息。HTTP消息可以包括报头部分和可选的主体部分。报头部分可以包括一系列HTTP报头字段,每一字段以回车/换行字符结束。HTTP消息报头可以通过空行而与HTTP消息主体分离。以人类可读文本格式来提供HTTP报头字段。统一资源定位符(URL)或统一资源标识符(URI)被用于标识和定位要由HTTP客户端检索的资源。URI包括协议标识符、全资域名、到所请求的资源的路径,以及可选地包括查询串。
然而,通过HTTP的媒体流送由于例如相对高的请求开销而造成仍然不是如期望的那样有效率。就此而言,在流送媒体之前,内容消费设备通常从服务器取得索引文件。索引文件包括与媒体文件的所有内容片断相关联的一个或多个标识符的列表。
由于与媒体文件的整个长度相比内容片断相对要短,诸如两秒或四秒,因此索引文件可以被调整大小并且其到内容消费设备的传输可消耗比所期望的更多的带宽,特别是因为索引文件通常可以在相当频繁的基础上被更新和重传,例如,对于实况内容。此外,通常以必须首先被内容消费设备解析和处理的可扩展标记语言(XML)文档的形式来提供索引文件。对索引文件的解析还可能比所期望的消耗更多的时间和资源,并且还可能非预期地增加与媒体文件流送相关联的开销。与索引文件列表标识符(其关联于所有的内容片断)的超前供应相关联的另外的问题是:对索引文件的供应预先假定媒体文件已经被格式化成片断。然而,关于一些类型的媒体文件(诸如捕获实况或正在发生的事件(诸如体育赛事或实况音乐表演)的那些媒体文件,或者请求式媒体文件),媒体文件可能事先未被格式化成片断,并且实际上可能在编译索引文件时并不存在。
在将索引文件从服务器传送到内容消费设备之后,内容消费设备可以发布对该媒体文件的特定片断的请求。服务器然后可以提供该媒体文件的所请求的片断,并且仅在由内容消费设备接收到该片断之后,媒体消费设备才可以请求该媒体文件的另一片段。然后,可以多次重复该过程(通过该过程请求媒体文件并且在逐片段的基础上递送媒体文件),直到已经将媒体文件的期望部分传送到内容消费设备。所重复的对媒体文件的片段的请求非预想地增加了与媒体文件流送相关联的开销。另外,由于内容消费设备在通过相同的TCP连接发布对下一片段的请求之前必须等待对紧挨的前一片段的接收,因此在以下情况中可能将延迟引入到媒体文件流送过程中:片段之一被错误地引导或者在别的方式下内容消费设备未能及时接收到片段之一。在接收数据片段时的延迟可能导致在内容消费设备处对媒体内容的回放的中断。
可以按照多个不同的比特率从服务器获得媒体文件的片段。基于网络状况,内容消费设备因此可以例如通过以下方式来制定其请求:从媒体内容的低比特率轨道请求片段,以便调整成降低可用网络带宽。如果检测到网络状况或网络带宽方面的改善,则内容消费设备可以从媒体内容的高比特率轨道请求片段。在该情况下,检测到相对差网络状况(诸如相对低带宽)的内容消费设备可以请求具有较低比特率且因此具有降低的质量的片段,而检测到改善的网络状况(诸如较大带宽)的内容消费设备可以请求具有较大比特率且因此具有改善的质量的片段。通常在逐请求的基础上由内容消费设备来执行对网络状况的确定。然而,由于每个请求针对单个片段,因此内容消费设备可能未配备有充足的持续时间来测定当前网络状况。此外,由于比特率(以及因此片段的质量)可以随着每一个片段而发生改变,诸如每两秒到四秒,因此所得到的在显示质量方面的改变对观看者而言可能是种扰乱。
媒体文件可以包括多个不同的轨道。如上所述,媒体文件可以包括同一类型但比特率不同的不同轨道,诸如视频轨道,由此来促进响应于当前网络状况的比特率调整。通过不同类型的轨道的例子,媒体文件可以包括用于相同媒体文件的视频轨道、音频轨道和字幕轨道。常规地,内容消费设备将不得不分别从每一个不同类型的轨道发布对片段的请求,诸如对音频轨道片段的一个请求、对视频轨道片段的另一请求,以及对字幕轨道片段的又一请求。由于必须以串行的方式来发布每个请求,因此发布对不同类型轨道的单独请求的必要性进一步增加了请求开销并且降低了媒体文件流送处理的效率。
因此,本发明的实施例提供了可以解决常规媒体流送技术的一些不足的系统、方法、装置和计算机程序产品。例如,为了减少请求开销和增加媒体文件流送处理的效率以及提供其它优点,根据本发明的实施例提供了允许响应于单个传输协议请求而将多个片段从服务器传送到内容消费设备的系统、装置、方法和计算机程序产品。就此而言,图1图示了根据本发明示例性实施例的用于促进对媒体文件的流送的系统100的框图。如在此使用的,“示例性”仅意指例子并且如此表示本发明的一个示例实施例,而不应当被解释成以任何方式缩窄本发明的范围或精神。可以理解,本发明的范围除了在此图示和描述的那些之外还包括很多可能的实施例。如此,尽管图1图示了用于促进对媒体文件的流送的系统的配置的一个例子,但是还可以使用很多其它配置来实现本发明的实施例。此外,应当理解,超文本传输协议(HTTP)被用作应用层传输协议的例子,其可以用于按照本发明的一些实施例来对媒体文件进行流送。本发明的其它实施例被配置以便使用除了HTTP之外或者代替HTTP的其它应用层传输协议来流送媒体文件。
图1图示了根据本发明示例实施例的用于使用应用层传输协议(诸如超文本传输协议(HTTP))来流送媒体文件的系统100的框图。在示例实施例中,系统100包括内容消费设备102和服务器104。内容消费设备102和服务器104被配置以便通过网络108进行通信。网络108例如包括一个或多个有线网络、一个或多个无线网络、或其某种组合。网络108可以包括由网络运营商运营的公共陆地移动网络(PLMN)。就此而言,网络108例如包括诸如按照3GPP标准的提供蜂窝网络接入的运营商网络。附加地或替代地,网络108可以包括因特网。
内容消费设备102可以包括被配置以便通过网络108访问来自服务器104的内容的任何设备。例如,内容消费设备102包括服务器、桌上型计算机、膝上型计算机、移动终端、移动计算机、移动电话、移动通信设备、游戏设备、数字相机/摄录机、音频/视频播放器、电视设备、无线电接收机、数字视频记录仪、定位设备和/或其任何组合等。
在示例实施例中,内容消费设备102被体现为诸如图2中图示的移动终端。就此而言,图2图示了按照本发明实施例表示了内容消费设备102的一个实施例的移动终端10的框图。然而,应当理解,在下文中描述的和图示的移动终端10仅说明了可以实现和/或受益于本发明实施例的一种类型的内容消费设备102,并且因此不应当被视为限制本发明的范围。尽管图示了并且在下文中将为了示例的目的而描述电子设备的若干实施例,但是其它类型的电子设备(诸如移动电话、移动计算机、便携式数字助理(PDA)、寻呼机、膝上型计算机、桌上型计算机、游戏设备、电视和其它类型的电子系统)也可以采用本发明的实施例。
如图所示,移动终端10可以包括与发射机14和接收机16通信的天线12(或多个天线12)。移动终端还可以包括处理器20,处理器20分别将信号提供到发射机和接收机并且从发射机和接收机接收信号。这些信号可以包括按照可用蜂窝系统的空中接口标准的信令信息和/或任何数目的不同有线或无线联网技术,包括但不限于无线保真(Wi-Fi)和/或无线局域网(WLAN)技术,诸如电子和电气工程师协会(IEEE)802.11等。另外,这些信号可以包括语音数据、用户生成的数据和/或用户请求的数据等。就此而言,移动终端可能能够按一个或多个空中接口标准、通信协议、调制类型和/或接入类型等来操作。更特别地,移动终端可能能够按照各种第一代(1G)、第二代(2G)、2.5G、第三代(3G)通信协议和/或第四代(4G)通信协议等来操作。例如,移动终端可能能够按照2G无线通信协议IS-136(时分多址(TDMA))、全球移动通信系统(GSM)和/或IS-95(码分多址(CDMA))等来操作。而且,例如,移动终端可能能够按照2.5G无线通信协议、通用分组无线电服务(GPRS)和/或增强型数据GSM环境(EDGE)等来操作。此外,例如,移动终端可能能够按照3G无线通信协议来操作,诸如通用移动电信系统(UMTS)、码分多址2000(CDMA2000)、宽带码分多址(WCDMA)和/或时分同步码分多址(TD-SCDMA)等。移动终端可能另外能够按照3.9G无线通信协议来操作,诸如长期演进(LTE)和/或演进型通用地面无线电接入网络(E-UTRAN)等。另外,例如,移动终端可能能够按照第四代(4G)无线通信协议等以及未来可能开发的类似无线通信协议来操作。
一些窄带高级移动电话系统(NAMPS)以及全接入通信系统(TACS)、移动终端也可以受益于本发明的实施例,就像双模式或更高模式电话(例如,数字/模拟或TDMA/CDMA/模拟电话)那样。另外,移动终端10可能能够根据无线保真(Wi-Fi)或全球微波接入互操作性(WiMAX)协议来操作。
应当理解,处理器20可以包括用于实现移动终端10的音频/视频和逻辑功能的电路。例如,处理器20可以例如被体现为包括电路的各种装置、配附有数字信号处理器的一个或多个微处理器、未配附有数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、各种其它处理元件,包括例如像ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路,或其某种组合。处理器可以另外包括内部语音编码器(VC)20a和/或内部数据调制解调器(DM)20b等。此外,处理器可以包括用于操作可存储在存储器中的一个或多个软件程序的功能性。例如,处理器可能能够操作连接性程序,诸如Web浏览器。连接性程序可以允许移动终端10根据诸如无线应用协议(WAP)和/或超文本传输协议(HTTP)等的协议来传送和接收Web内容,诸如基于位置的内容。移动终端10可能能够使用传输控制协议/因特网协议(TCP/IP)来在因特网或其它网络上传送和接收Web内容。
移动终端10还可以包括用户接口,包括例如耳机或扬声器24、振铃器22、扩音器26、显示器28和/或用户输入接口等,其可以在操作上耦合到处理器20。虽然未示出,但是移动终端可以包括用于为与移动终端有关的各种电路供电的电池,例如用于提供机械振动作为可检测的输出的电路。用户输入接口可以包括允许移动终端接收数据的设备,诸如键板30、触摸显示器(未示出)、操纵杆(未示出)和/或其它输入设备。在包括键板的实施例中,键板可以包括数字键(0-9)和相关键(#、*)和/或用于操作移动终端的其它键。
如图2所示,移动终端10还可以包括用于共享和/或获得数据的一个或多个装置。例如,移动终端可以包括短距离射频(RF)收发器和/或询问器64,所以可以按照RF技术与电子设备共享数据和/或从电子设备获得数据。移动终端可以包括其它短距离收发器,例如像红外(IR)收发器66、使用由BluetoothTM特殊兴趣小组开发的BluetoothTM商标无线技术操作的BluetoothTM(BT)收发器68和/或无线通用串行总线(USB)收发器70等。BluetoothTM收发器68可能能够根据超低功率BluetoothTM技术(例如,WibreeTM)无线电标准来操作。就此而言,例如,移动终端10(以及特别地,短距离收发器)可能能够将数据传送到在移动终端附近区域内(诸如在10米之内)的电子设备和/或从该电子设备接收数据。虽然未示出,但是移动终端可能能够根据各种无线联网技术来传送和/或接收来自电子设备的数据,包括无线保真(Wi-Fi)和/或诸如IEEE 802.11技术的WLAN技术等。
移动终端10可以包括存储器,诸如订户身份模块(SIM)38和/或可装卸式用户身份模块(R-UIM)等,其可以存储与移动订户有关的信息元素。除了SIM之外,移动终端还可以包括其它可装卸和/或固定的存储器。移动终端10可以包括易失性存储器40和/或非易失性存储器42。例如,易失性存储器40可以包括随机存取存储器(RAM),包括动态和/或静态RAM、芯片上或芯片外缓存存储器等。可以是嵌入式和/或可装卸式的非易失性存储器42可以包括例如只读存储器、闪速存储器、磁存储设备(例如,硬盘、软盘驱动器、磁带等)、光盘驱动器和/或介质、非易失性随机存取存储器(NVRAM)等。类似于易失性存储器40,非易失性存储器42可以包括用于临时存储数据的缓存区。存储器可以存储一个或多个软件程序、指令、信息条和/或数据等,其可以由移动终端用于实现该移动终端的功能。例如,存储器可以包括能够唯一地标识移动终端10的标识符,诸如国际移动设备标识(IMEI)码。
再次参照图1,在示例实施例中,客户端消费设备102包括用于实现在此描述的各种功能的各种装置,诸如处理器110、存储器112、通信接口114、用户接口116和媒体回放电路118。如在此描述的,客户端设备102的各种装置包括例如:硬件元件,例如适当编程的处理器和/或组合式逻辑电路等;包括存储在计算机可读介质(例如存储器112)上的计算机可读程序指令的计算机程序产品,例如软件和/或固件。程序指令可由处理设备(例如处理器110)来执行。
处理器110可以例如体现为各种装置,包括:配附有数字信号处理器的一个或多个微处理器、未配附有数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个控制器、处理电路、一个或多个计算机、各种其它处理元件(包括集成电路,例如像专用集成电路(ASIC)或现场可编程门阵列(FPGA)),或其某种组合。因此,虽然图1中图示为单个处理器,但是在一些实施例中,处理器110包括多个处理器。所述多个处理器可以彼此在操作上进行通信,并且可以统一被配置以便实现如在此描述的内容消费设备102的一个或多个功能性。在内容消费设备102被体现为移动终端10的实施例中,处理器110可以被体现为或另外包括处理器20。在示例实施例中,处理器110被配置以便执行存储在存储器112中的指令或者处理器110以另外的方式可访问的指令。所述指令当由处理器110执行时使得内容消费设备102实现如在此描述的内容消费设备102的一个或多个功能性。如此,不管是通过硬件或软件操作来配置还是通过其组合来配置,处理器110均可以表示当进行相应配置时能够根据本发明的实施例执行操作的实体。例如,当处理器110被体现为ASIC、FPGA等时,处理器110可以包括具体配置用于进行在此描述的一个或多个操作的硬件。替代地,作为另一例子,当处理器110被体现为指令的执行器时,所述指令可以具体地配置处理器110(处理器110如果不是由于由指令提供的特定配置则可以另外作为通用处理元件),以便执行在此描述的一个或多个操作。
存储器112可以包括例如易失性和/或非易失性存储器。虽然图1中图示为单个存储器,但是存储器112可以包括多个存储器。存储器112可以包括易失性存储器、非易失性存储器或其某种组合。就此而言,存储器112可以包括例如硬盘、随机存取存储器、缓存存储器、闪速存储器、压缩盘只读存储器(CD-ROM)、数字多用途盘只读存储器(DVD-ROM)、光盘、被配置以便存储信息的电路,或其某种组合。在内容消费设备102被体现为移动终端的实施例中,存储器112可以被体现为或另外包括易失性存储器40和/或非易失性存储器42。存储器112可以被配置以便存储用于使内容消费设备102能够执行按照本发明实施例的各种功能的信息、数据、应用、指令等。例如,在至少一些实施例中,存储器112被配置以便缓冲输入数据用于由处理器110来处理。附加地或替代地,在至少一些实施例中,存储器112被配置以便存储用于由处理器110来执行的程序指令。存储器112可以以静态和/或动态信息的形式来存储信息。所存储的该信息可以由媒体回放单元118在执行其功能性的过程期间来存储和/或使用。
通信接口114可以被体现为按照以下形式来体现的任何设备或装置:硬件、包括存储在计算机可读介质(例如,存储器112)上的且由处理设备(例如,处理器110)执行的计算机可读程序指令的计算机程序产品,或者其组合(其被配置以便通过网络108从远程设备接收和/或向远程设备传送数据)。在至少一个实施例中,通信接口114至少部分地被体现为处理器110或以另外的方式来由处理器110控制。就此而言,通信接口114可以诸如经由总线来与处理器110进行通信。通信接口114可以包括例如天线、发射机、接收机、收发器和/或用于实现与系统100的其它实体进行通信的支持性硬件或软件,例如,图2的移动终端10的天线12、发射机14和/或接收机16。通信接口114可以被配置以便使用可用于在系统100的计算设备之间的通信的任何协议来接收和/或传送数据。通信接口114可以另外诸如经由总线来与存储器112、用户接口116和/或媒体回放电路118进行通信。
用户接口116可以与处理器110进行通信以便接收关于用户输入的指示和/或向用户提供可听、可视、机械性或其它输出。如此,用户接口116可以包括例如键盘、鼠标、操纵杆、显示器、触摸屏显示器、扩音器、扬声器和/或其它输入/输出机构,例如,图2的移动终端10的耳机或扬声器24、扩音器26、显示器28和/或键板30。用户接口116可以提供接口来允许用户选择要从服务器104流送到内容消费设备102以便在内容消费设备102上回放的媒体文件和/或其媒体轨道。就此而言,可以在用户接口116的显示器上显示来自媒体文件的视频,并且可以通过用户接口116的扬声器使得来自媒体文件的音频可听化。用户接口116可以诸如经由总线来与存储器112、通信接口114和/或媒体回放电路118进行通信。
媒体回放电路118可以被体现为各种装置,诸如硬件、包括存储在计算机可读介质(例如,存储器112)上的且由处理设备(例如,处理器110)执行的计算机可读程序指令的计算机程序产品,或者其某种组合,并且在一个实施例中,媒体回放电路118被体现为处理器110或者以另外的方式来由处理器110控制。在媒体回放电话118被体现为与处理器110相分离的实施例中,媒体回放电路118可以与处理器110进行通信。媒体回放电路118可以进一步诸如经由总线来与存储器112、通信接口114和/或用户接口116进行通信。
服务器104可以包括被配置以便向内容消费设备102提供媒体文件的一个或多个计算设备。在至少一个实施例中,服务器104包括一个或多个服务器,诸如HTTP服务器、动态流送服务器、内容提供商服务器、Web服务器、网络服务器等。尽管服务器104可以是媒体文件的源,但是服务器还可以是用于从一个或多个内容源接收媒体文件以及用于向内容消费设备102提供媒体文件的中间件。在示例性实施例中,服务器104包括用于执行在此描述的各种功能的各种装置,诸如处理器120、存储器122、通信接口124、用户接口126和媒体流送电路128。如在此描述的服务器104的这些装置可以被体现为例如:硬件元件(例如,适当编程的处理器和/或组合逻辑电路等)、包括存储在计算机可读介质(例如,存储器122)上的可由适当配置的处理设备(例如,处理器120)执行的计算机可读程序指令(例如,软件或固件)的计算机程序产品,或者其某种组合。
处理器120可以例如被体现为各种装置,包括配附有数字信号处理器的一个或多个微处理器、未配附有数字信号处理器的一个或多个处理器、一个或多个协处理器、一个或多个控制器、处理电路、一个或多个计算机、各种其它处理元件(包括例如像ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路),或者其某种组合。因此,虽然图1中图示为单个处理器,但是在一些实施例中,处理器120包括多个处理器。多个处理器可以被体现在单个计算设备上或分布在多个计算设备上。多个处理器可以彼此在操作上通信并且可以统一被配置以便执行如在此描述的服务器104的一个或多个功能性。在示例性实施例中,处理器120被配置以便执行存储在存储器122中的指令或者处理器120以另外的方式可访问的指令。这些指令当被处理器120执行时可以使得服务器104执行如在此描述的服务器104的一个或多个功能性。如此,不管是通过硬件或软件方法来配置还是通过其组合来配置,处理器110均可以表示当相应地进行配置时能够实现根据本发明实施例的操作的实体。因而,例如,当处理器120被体现为ASIC、FPGA等时,处理器120可以包括具体配置的硬件用于进行在此描述的一个或多个操作。替代地,作为另一例子,当处理器120被体现为指令的执行器时,所述指令可以具体地配置处理器120(处理器120如果不是由于由指令提供的特定配置则可以另外是通用处理元件),以便执行在此描述的一个或多个算法和操作。
存储器122可以包括例如易失性和/或非易失性存储器。虽然图1中图示为单个存储器,但是存储器122可以包括多个存储器,其可以体现在单个计算设备上或分布在多个计算设备上。存储器122可以包括易失性存储器、非易失性存储器或其某种组合。就此而言,存储器122可以包括例如硬盘、随机存取存储器、缓存存储器、闪速存储器、压缩盘只读存储器(CD-ROM)、数字多用途盘只读存储器(DVD-ROM)、光盘、被配置以便存储信息的电路、或其某种组合。存储器122可以被配置以便存储用于使媒体内容源104能够执行按照本发明实施例的各种功能的信息、数据、应用、指令等。例如,在至少一些实施例中,存储器122被配置以便缓冲输入数据用于由处理器120来处理。附加地或替代地,在至少一些实施例中,存储器122被配置以便存储用于由处理器120执行的程序指令。存储器122可以以静态和/或动态信息的形式来存储信息。所存储的该信息可以由媒体流送单元128在执行其功能性的过程期间来存储和/或使用。
通信接口124可以被体现为按照以下方式来体现的任何设备或装置:硬件、包括存储在计算机可读介质(例如,存储器122)上的且由处理设备(例如,处理器120)执行的计算机可读程序指令的计算机程序产品,或者其组合(其被配置以便通过网络108从远程设备接收和/或向远程设备传送数据)。在至少一个实施例中,通信接口124至少部分地被体现为处理器120或者另外由处理器120来控制。就此而言,通信接口124可以诸如经由总线来与处理器120进行通信。通信接口124可以包括例如天线、发射机、接收机、收发器和/或用于实现与系统100的其它实体的通信的支持性硬件或软件。通信接口124可以被配置以便使用可用于在系统100的计算设备之间的通信的任何协议来接收和/或传送数据。通信接口124可以另外诸如经由总线来与存储器122、用户接口126和/或媒体流送电路128进行通信。
用户接口126可以与处理器120进行通信,以便接收关于用户输入的指示和/或向用户提供可听、可视、机械性或其它输出。如此,用户接口126可以包括例如键盘、鼠标、操纵杆、显示器、触摸屏显示器、扩音器、扬声器和/或其它输入/输出机构。在服务器104被体现为一个或多个服务器的实施例中,可以限制或者甚至去除用户接口126。用户接口126可以诸如经由总线来与存储器122、通信接口124和/或媒体流送电路128进行通信。
媒体流送电路128可以被体现为各种装置,诸如硬件、包括存储在计算机可读介质(例如,存储器122)上的且由处理设备(例如,处理器120)执行的计算机可读程序指令的计算机程序产品,或者其某种组合,并且在一个实施例中,媒体流送电路128被体现为处理器120或者另外由处理器120来控制。在媒体流送电路128被体现为与处理器120相分离的实施例中,媒体流送电路128可以与处理器120进行通信。媒体流送电路128可以进一步诸如经由总线来与存储器122、通信接口124和/或用户接口126进行通信。
在示例实施例中,媒体回放电路118被配置以便向服务器104发送对媒体文件的传输协议请求。在示例实施例中,所请求的媒体文件包括符合ISO基础媒体文件格式的媒体文件。ISO基础媒体文件格式的例子包括3GP媒体文件以及活动图片专家组4(MPEG-4)部分14(MP4)文件。所述请求例如响应于经由用户接口116所接收到的请求或用户输入而被发送。
传输协议请求包括以下指示:要将媒体文件流送到内容消费设备102。在示例实施例中,传输协议请求包括HTTP GET请求。HTTP GET请求包括报头字段,所述报头字段包括指示了要流送媒体文件的令牌。例如,报头字段可以包括“期望(Expect)”报头字段,并且包括被定义成指示要求服务器104支持对媒体文件的HTTP流送(诸如3GP媒体文件的基于3GPP的HTTP流送)的令牌,例如“http-流送(http-streaming)”。在另一个例子中,报头字段包括“杂注(Pragma)”报头字段,并且包括被定义成指示要求服务器104支持对所请求的媒体文件的HTTP流送的令牌,例如“http-流送”。
在示例实施例中,媒体流送电路128被配置以便接收由内容消费设备102发送的传输协议请求。如果传输协议请求包括关于要将所请求的媒体文件流送到内容消费设备102的指示,并且服务器104没有被配置以便对媒体文件进行流送,则媒体流送电路128被配置以便向内容消费设备102发送错误消息。如果服务器104被配置以便对媒体文件进行流送,那么媒体流送电路128被配置以便在发送到内容消费设备102的应答消息中包括支持。这样的支持可以例如被指示为HTTP应答消息的杂注报头字段的一部分。
在示例实施例中,媒体流送电路128进一步被配置以便:响应于接收到对媒体文件的传输协议请求,从存储器122或者服务器104可访问的其它存储器中访问所请求的媒体文件。媒体流送电路128被配置以便提取与媒体文件中的媒体数据相关联的至少一部分信息。在示例实施例中,所提取的那部分信息包括与媒体文件中的媒体数据相关联的一个或多个部分的元数据。例如,所提取的那部分元数据包括关于媒体文件的内容的一般信息,例如,媒体文件中的不同轨道和/或媒体数据的类型。所提取的那部分元数据包括例如仅是对内容消费设备来说从媒体文件中选择至少一个轨道有用的信息。
例如可以如下表中所概述的按照基于国际标准化组织(ISO)的媒体文件格式(ISOFF)来构造与媒体文件相关联的元数据。
以面向对象的方式来设计ISOFF。就此而言,符合ISOFF的文件由可通过定义新盒(box)来继承和扩展的一组盒而组成。在符合ISOFF的文件中的所有信息必须被包含在盒中。盒本身可以含有其它盒。每一个盒通过唯一的类型来标识,其通常被定义为4字节类型(4个字符)。每一个盒还指示了盒的长度,包括盒的报头。这两个字段通过“Box”盒来定义,其由所有的ISOFF盒来继承。
如上所述,符合ISOFF的数据包括多个级别的元数据的层次。每个级别包括一个或多个子级别,其包括与父级别相关的更多具体元数据。例如,第一级别“L0”包括元数据类别ftyp、moov、moof、mfra和mdat。Ftyp和mdat可以不包括任何子级别。第二级别“L1”moov可以包括例如mvhd和trak。第三级别“L2”trak例如包括tkhd、tref和mdia。第四级别“L3”mdia可以例如包括mdhd、hdlr和minf。第五级别“L4”minf可以包括vmhd、smhd和stbl。第六级别“L5”stbl可以例如包括stsd、stts、ctts、stsc、stco和stss。因此,以上表格表示元数据块的嵌套层次,其中,在包括有对应的父元数据块的行下面的行中以及在包括有对应的父元数据块的列的右面的列中示出了元数据块的子级别。因而,moov块的元数据块的所有子级别被示出在该表的包括moov块的行下面的那些行中,直到到达包括“moof”块(例如,另一父元数据块,其与moov块处于相同的级别)的行为止。类似地,stbl块的元数据块的所有子级别被示出在该表的包括stbl块的行下面的那些行中,直到到达包括moof块(其是与stbl块处于相同或更高级别的第一个块)的行为止。
在如图3(其描绘了诸如通过媒体回放电路118和/或在媒体回放电路118的控制之下,可以在内容消费设备102处执行的操作和/或由内容消费设备102执行的操作)整体表示的将内容从服务器104流送到内容消费设备102之前,内容消费设备102可以请求并被提供会话或内容描述信息。参见图3的操作300。在一个实施例中,服务器104被配置以便经由若干不同的流送协议(诸如RTSP/RTP流送、HTTP流送等)来提供内容。因而,经由Web门户,在使用会话描述协议(SDP)由服务器104提供给内容消费设备104的会话描述信息中,可以向内容消费设备102提供与服务器104所支持的递送方法有关的信息(例如,各种流送选项),所述Web门户由服务器104提供并且由内容消费设备102访问来发现可用的内容等。
在服务器104使用SDP提供与可能的递送选项有关的信息的情况下,可以用指示了经由HTTP流送是否可获得该内容的那些元素来扩展SDP。SDP还可以含有关于内容的所有可用媒体分量的描述。内容消费设备102然后在选择要(诸如经由HTTP)流送的适当内容分量时可以利用关于可用媒体分量的描述。举例来说,可以通过HTTP来进行流送的内容分量可以包括不同类型的轨道,诸如视频轨道、音频轨道和/或字幕题目轨道等。对于特定类型的轨道,诸如视频或音频轨道,可用媒体内容还可以包括处于不同比特率的内容,以便基于例如在流送时的网络状况来如下所述那样支持比特率调整。举例来说,服务器104和对应的内容消费设备102可用来描述经由HTTP流送可获得的媒体分量(例如媒体文件)的SDP扩展可以如下:
v=0
o=-950814089 950814089 IN IP4 144.132.134.67
s=Example of content available via HTTP Streaming
e=usernokia.com
c=IN IP4 0.0.0.0
b=AS:600
b=TIAS:500000
t=00
a=maxprate:100
a=range:npt=0-7200
a=httpstreaming:1
a=control:http://www.nokia.com/content/example.3gp
m=audio 0 HTTP/TCP*
b=AS:80
b=TIAS:64000
a=maxprate:20
a=control:trackID=1
a=lang:en
m=audio 0 HTTP/TCP*
b=AS:80
b=TIAS:64000
a=maxprate:20
a=contrlo:trackID=2
a=lang:fr
m=audio 0 HTTP/TCP*
b=AS:80
b=TIAS:64000
a=maxprate:20
a=contro:trackID=3
a=lang:de
m=audio 0 HTTP/TCP*
b=AS:80
b=TIIAS:64000
a=maxprate:20
a=control:trackID=4
a=lang:ar
m=video 0 HTTP/TCP*
b=AS:520
b=TIAS:450000
a=maxprate:80
a=control:trackID=5
m=video 0 HTTP/TCP*
b=AS:400
b=TIAS 35
a=maxprate:80
a=control:trackID=6
m=video 0 HTTP/TCP*
b=AS:300
b=TIAS:250000
a=maxprate:80
a=control:trackID=7
如在前面的例子中所说明的,可用音频分量包括按照不同语言的音频分量,而可用视频分量包括以不同比特率编码的视频分量。在前面的例子中,在会话级的“a=control”属性可以包括内容的标识符,诸如针对内容文件的HTTP URL。在前面的例子中,HTTP URL是:HTTP:/www.nokia.com/content/example.3gp。内容文件可以在物理上存在于服务器104处或者可以表示虚拟文件。相比之下,在媒体级的“a=control”属性可以包括其中存储了特定媒体分量的轨道的标识符,例如,轨道ID=1、轨道ID=2等。轨道ID可以用在媒体级,并且通过HTTP而流送的内容可以保留轨道ID映射。
基于会话描述信息,客户端消费设备102可以如图3的操作302所示那样确定是否启用了HTTP流送,并且如果不是的话,则可以前进到以另一种方式(诸如通过如图3的操作304所示的RSTP/RTP流送和/或累进性(progressive)下载)来下载内容。然而,如果启用了HTTP流送,则客户端消费设备102可以发布对至少一部分媒体文件的传输协议请求。在一个实施例中,客户端消费设备102最初请求文件前缀,并且响应于接收到该文件前缀,其在此之后请求内容本身。
如图4所示,例如,从服务器104流送到内容消费设备102的内容文件或容器402可以包括文件前缀以及多个片段(其包括所请求的那部分媒体文件)。就此而言,图4图示了符合ISOFF的结构化媒体内容,其可以按照本发明的一个示例实施例由媒体流送电路128来进行格式化。然而,可以理解,符合ISOFF的媒体文件用于示例的目的而不是用作限制。此外,图4中所示的以及相对于此所描述的媒体内容的结构用于示例的目的,并且所述结构可以按照本发明的其它实施例来进行不同的布置。另外,相对于电影内容来描述了图4的媒体内容。然而,可以理解,本发明的实施例也可以应用于其它类型的媒体内容,诸如仅音频媒体内容、仅视频媒体内容和音频/视频媒体内容。
在所说明的实施例中,前缀仅需要被传送一次并且其包括ftyp和moov盒404和406,其中ftyp盒404指示了媒体内容的商标和版本号。本实施例的moov盒406包括:mvhd盒408、一个或多个trak盒410,以及mvex盒412(包括一个或多个trex盒414)。明显的是,moov盒406并不包括任何样本描述,例如,没有stts、ctts、stsc、stsz、stco或stss盒,并且因此在尺寸上相对小。相反,moov盒406仅包括描述了文件的结构、现有轨道、轨道类型和样本描述的信息。就此而言,moov盒406的每个trak盒410包括关于符合ISOFF的文件的媒体轨道的信息,包括有例如关于轨道的位置和大小的信息、描述性信息和定时信息。此外,所说明的实施例的mvex盒412及其trex盒414指示了:将要提供的那部分媒体文件将包括电影片段,其中每个trex盒414提供了在每个后续电影片段的情况下不需要重复的缺省信息。
在文件前缀之后,可以重复地提供电影片段盒moof 416、mdat盒418和可选的mfra盒420(其包括了相应电影片段的媒体样本和描述),其中,对于包括了所请求的那部分媒体文件的多个片段中的每个片段提供了一组moof和mdat盒。在提供了所有片段之后,也就是,所有的moof和mdat盒之后,可选地可以提供mfra盒418。
关于如图3的操作306中所示的由内容消费设备102对文件前缀的请求,内容消费设备102可以向服务器104发布对于该文件前缀(包括例如ftyp和moov盒402和404)的查询。可由内容消费设备102发布到服务器104的用于检索文件前缀的查询的一个例子是GEThttp://www.nokia.com/httpstreaming.php?content=www.nokia.com/conten t/example.3gp&type=prefix HTTP/1.1,或者在另一个例子中如下:GEThttp://www.nokia.com/httpstreaming.php/example.3gp/prefix HTTP/1.1.
在前面的第一个查询中,查询参数“content”可以用于指代所期望的内容,并且通常已经包括在原始HTTP URL中,诸如以上所提供的例子。另外,查询参数“type”用于指示该请求的类型。在正在请求前缀的这个情境下,类型参数的值被设置成“prefix”。在一个实施例中,类型参数可以利用如下的扩充型backus-naur格式(ABNF)语法:Type=“type=”[“prefix”|“media”|“description”]。在这个实施例中,值“media”可以用于指示要请求的媒体数据是电影片段的形式,而值“description”用于指示请求了分段描述,诸如SPD文件。在其它实施例中,可以替代地利用用于类型参数的其它值。
在另一实施例中,如在URL的例子“GEThttp://www.nokia.com/httpstreaming.php/example.3gp/prefix HTTP/1.1”中那样,类型参数可以紧随在内容参数之后,通过“/”符号来分离。在这种情况下,诸如“type=”的标识符不是必需的,因为将遵循已知的行语(patter)来构造URL,并且服务器104能够从请求URL中提取类型指示。
在对前缀的请求以及由服务器104进行的对前缀的递送之后,内容消费设备102可以发布对媒体文件的一部分的传输协议请求。作为响应并且如在图3的操作308、310和312所示,服务器104然后可以对包括所请求的媒体文件的片段进行流送,直到已经递送了整个所请求的那部分媒体文件,或者直到用户已经以其它方式中止了所述流送。
在传输协议请求中,内容消费设备102可以指示在对所请求的那部分媒体文件的下载期间要利用的流送协议。例如,传输协议请求可以请求经由HTTP来对所选择的那部分媒体文件进行流送。虽然传输协议请求标识了要从服务器104流送的那部分媒体文件,但是传输协议请求并没有标识和请求单个片段。相反,传输协议请求标识了媒体文件的一部分,其可以包括多个片段或者可以被格式化成包括多个片段。
由内容消费设备102发布的传输协议请求可以按照各种方式来标识要流送的那部分媒体文件。在一个实施例中,传输协议请求标识了开始时间和结束时间,其中服务器104然后对通常包括多个片段的从所述开始时间延续到所述结束时间的那部分媒体文件进行流送。替代地,传输协议请求可以标识开始时间和一段持续时间,其中服务器104被配置以便对开始于所述开始时间并且此后持续了由该段持续时间所标识的时间长度的那部分媒体内容进行流送。内容消费设备102可以被配置以便按照其它方式来标识要流送的那部分媒体文件,所述其它方式包括例如:包括了要流送的多个帧和/或多个场景的传输协议请求,其中所述帧和/或场景通常包括多个片段。再进一步地,一个实施例的由内容消费设备102发布的传输协议请求可以请求下一片或下一部分媒体文件,其进而由服务器104解释为在接收到该请求时可获得的那部分媒体文件。例如,媒体文件可以是实况事件的记录,从而使得由客户端消费设备102所发布的对下一片媒体文件的传输协议请求可以触发对于已经记录到服务器104接收到该请求的时间为止的那部分实况广播的流送。虽然内容消费设备102可以标识要从服务器104流送到内容消费设备102的那部分媒体文件的方式存在各种例子,但是内容消费设备102可以按照其它方式来标识要流送的那部分媒体文件。
在一个例子中,内容消费设备102可以发布与用于检索文件前缀的上述GET请求类似的GET请求,但是其将类型参数设置成“media”。在一个实施例中,内容消费设备102还可以标识用于进行流送的可用轨道的子集,其中传输协议请求恳求对所请求的轨道(诸如多个不同类型的轨道)中的每个轨道的流送。相对于前面的例子,内容消费设备102可能仅对300kbps的英语音频和视频数据感兴趣,从而导致选择了可用轨道的子集来包括轨道1和轨道7。如在下面提供的例子中说明的,“tracks”参数可以被包括在GET请求中以便标识所请求的轨道。虽然GET请求并不标识要流送的特定片段,但是一个实施例的内容消费设备102可以指示要从服务器104流送到内容消费设备102的那部分媒体文件的时间帧。在一个实施例中,例如,提供定义了要流送的那部分媒体文件的开始时间和一段持续时间。然而,如上所述,可以按照其它方式来标识被请求流送的那部分媒体文件。通过说明而不是限制的方式,由媒体消费设备发布的对媒体数据的HTTP查询的一个例子如下:GEThttp://www.nokia.com/httpstreaming.php/example.3gp/media/1+7/23.234/5 /1/0HTTP/1.1
或者GEThttp://www.nokia.com/httpstreaming.php?content=www.nokia.com/conten t/example.3gp&type=media&tracks=1,7&ts=23.234&duration=5&fd=1&R AP=0HTTP/1.1。
除了将类型参数设置成“media”并且标识了要流送的轨道1和7之外,GET查询还包括开始时间,例如作为23.234的“st”,其对应于要由服务器104流送到内容消费设备102的第一片段的时间戳/回放时间。该例子的GET查询还包括持续时间5,其指示了关于要从服务器104流送的那部分媒体文件的媒体时间的总持续时间。通过定义涵盖多个片段的持续时间,可以减少必须由内容消费设备102发布的并且由服务器104做出响应的请求的数目,从而减少请求开销并且提高流送处理的效率。在替代实施例中,GET查询可以不包括持续时间参数,但是反而可以包括结束时间“et”,其中开始时间和结束时间联合定义了时间窗口,针对该时间窗口要流送媒体文件的被请求部分。如同样在前面的例子中所指示的,也可以通过GET查询来提供所期望的片段持续时间“fd”。在一个例子中,片段持续时间处在一秒或更多秒的范围中,例如,在前面的例子中是一秒,因为片段是可独立地进行播放的,并且如此可以具有合理的持续时间来限制初始回放延迟以及将开销维持在合理级别。此外,GET查询可以包括随机接入点“RAP”参数。如果随机接入点参数被设置成1,则所得到的查询可以指示内容消费设备102正在请求:响应的第一片段开始于随机接入点,在这种情况下,实际的开始时间可以不同于所请求的开始时间。替代地,如果随机接入点参数如在前面的例子中那样被设置成1,则该响应的第一片段不需要开始于随机接入点,并且如果该查询具有如在前面的例子中那样的所请求的开始时间,则反而可以开始于所请求的开始时间。
基于GET请求,服务器104可以标识包括媒体文件的被请求部分的片段,并且将那些片段流送到内容消费设备102。服务器104可以标识和检索来自以下对象的片段:具有准备好的片段的所存储的文件或文件集合,不具有准备好的片段的所存储的文件或文件集合,例如3GP文件或另一文件格式,或者实况源。由于内容消费设备102没有基于服务器104先前提供的索引文件来在逐片段的基础上请求对内容进行流送,而是请求流送可包括多个片段的一部分媒体文件,因此服务器104可以但不需要被约束为在从内容消费设备102接收到请求之前具有分片的媒体文件。相反,服务器104可以响应于来自内容消费设备102的请求而即时地将媒体文件进行分片。通过允许服务器104响应于接收到来自内容消费设备102的请求而将媒体文件的被请求部分进行分片,服务器104可以更容易地流送包括实况记录或事件的媒体文件的那些部分,因为实况记录或事件无法事先被分好片。此外,通过允许服务器104即时地将媒体文件进行分片,服务器104可以通过仅要求存储所生成的那些片段而不是所有可能的轨道备选品来降低其存储要求。
关于图3,例如,服务器104可以响应于接收到来自内容消费设备102的请求而将媒体文件的被请求部分进行分片,并且然后可以将内容流送到内容消费设备102,诸如通过重复地提供moof和mdat盒416和418(以及可选的mfra盒420)的序列。就此而言,可以在每个请求的结束处,在每个片段之后递送一次mfra盒420,或者根本不递送mfra盒420。如果被递送,则mfra盒420包括指示了片段中的样本的时间位置的信息,并且如此可以促进对其请求部分的媒体文件的回放。
如由以上的例子所说明的,内容消费设备102的单个请求可以包括对不同类型的轨道的请求,诸如音频轨道、视频轨道、字幕轨道等。通过允许单个请求包括请求不同类型的轨道,可以进一步减少内容消费设备102必须发布的且服务器104单独做出响应的请求的数目,从而减少请求开销并且提高流送处理的效率。
此外,媒体文件的被请求部分通常包括多个片段,并且因此延伸比对单个片段的常规请求更长的时间段。如此,内容消费设备102可以具有更大的采样窗口来确定当前网络状况,诸如可用于内容消费设备102的带宽,并且如此可能能够更精确地为媒体文件的被请求部分确定对应的比特率。相对于前面的例子,可通过服务器104以不同的比特率获得各种不同的视频轨道。基于由内容消费设备102确定的网络状况,内容消费设备102可以请求具有与当前网络状况相对应的特定比特率的视频轨道。由于媒体文件的被请求部分包括多个片段,因此内容消费设备可能不仅能够在比按照逐片段的基础所做出的在先确定更为可靠的情况下确定网络状况,而且所流送的视频的比特率方面的改变也会变化得不那么频繁,例如相对于媒体文件的被请求部分的增加后的长度而言,从而使得所得到的向用户的媒体文件的显示会看起来更平滑,并且在比特率上具有更少的扰乱性改变。
在替代实施例中,内容消费设备102和服务器104可以利用组块模式(chunked mode),在该模式中,内容消费设备102可以请求无限制范围(open-ended range)的媒体文件,诸如通过在查询中省略持续时间或结束时间参数。在这个实施例中,服务器104可以采用组块模式以便在单独的组块中封装每个片段,而不必先验地准备媒体文件的整个被请求部分。换句话说,该实施例的内容消费设备102不必在开始流送其响应时就指示响应主体的大小。组块模式还可以适合具有相对长持续时间的媒体文件的被请求部分(其如果不是因为组块模式的话将要求服务器104进行更大量的处理,并且可能会延迟对媒体文件的被请求部分的流送)。
来自服务器104的相对长的流送响应可以由内容消费设备102通过管线化(pipelining)HTTP请求来中断。在这种情况下,后续请求可以由服务器104用来在开始对新请求进行响应之前终止在先响应。就此而言,服务器104可能需要保持会话信息,诸如通过利用HTTP cookies。通过保持会话信息,服务器104可能能够标识出管线请求(pipeline request)是相关的。
图5根据本发明的示例性实施例图示了根据用于对媒体文件的动态流送的示例性方法的流程图。就此而言,图5图示了可以在服务器104处执行的操作。在图5中图示的并且相对于图5描述的操作可以例如由媒体流送电路128来实施或者在媒体流送电路128的控制下实施。操作500包括接收对至少一部分媒体文件的传输协议请求。依照操作502,然后基于所述传输协议请求而确定要传送到内容消费设备102的多个片段。操作504然后响应于所述传输协议请求而提供向内容消费设备102传送所述多个片段。
图6根据本发明的示例性实施例图示了根据用于对媒体文件的动态流送的示例性方法的流程图。就此而言,图6图示了可以由服务器104执行的操作。处理器120、存储器122、通信接口124、用户接口126或媒体流送电路128中的一个或多个可以例如使得服务器104执行图6中图示的且相对于图6描述的相应操作。操作600包括接收对至少一部分媒体文件的传输协议请求。依照操作602,然后基于所述传输协议请求而确定要传送到内容消费设备102的多个片段。操作604然后响应于所述传输协议请求而向内容消费设备102传送多个片段。
图7根据本发明的示例性实施例图示了根据用于对媒体文件的动态流送的示例性方法的流程图。就此而言,图7图示了可以在内容消费设备102处执行的操作。在图7中图示的且相对于图7描述的操作可以例如由媒体回放电路118实施或者在媒体回放电路118的控制下实施。操作700包括引导发布对至少一部分媒体文件的传输协议请求。此后,在操作702,从服务器104接收响应于所述传输协议请求的多个片段。
图8根据本发明的示例性实施例图示了根据用于对媒体文件的动态流送的示例性方法的流程图。就此而言,图8图示了可以由内容消费设备102执行的操作。处理器110、存储器112、通信接口114、用户接口116或媒体回放电路118中的一个或多个可以例如使得内容消费设备102执行图8中图示的且相对于图8描述的相应操作。操作800包括传送对至少一部分媒体文件的传输协议请求。此后,在操作802,从服务器104接收响应于所述传输协议请求的多个片段。
图3和图5-8是根据本发明示例性实施例的系统、方法和计算机程序产品的流程图。可以理解,该流程图的每一个框以及流程图中的框的任何组合均可以通过各种装置来实现,诸如硬件和/或包括一个或多个计算机可读介质(其上存储了计算机可读程序指令)的计算机程序产品。例如,在此描述的一个或多个过程可以通过计算机程序产品的计算机程序指令来体现。就此而言,体现了在此描述的过程的计算机程序产品可以由移动终端、服务器或其它计算设备的一个或多个存储设备来存储并且由计算设备中的处理器(例如,处理器110或处理器120)来执行。在一些实施例中,包括体现了上述过程过程的计算机程序产品的计算机程序指令可以由多个计算设备的存储设备来存储。如可以理解的,任何这样的计算机程序产品均可以被加载到计算机或其它可编程装置上以产生机器,从而使得包括在计算机或其它可编程装置上执行的指令的计算机程序产品创建用于实现在流程框中指定的功能的装置。此外,计算机程序产品可以包括一个或多个计算机可读存储器,在所述一个或多个计算机可读存储器上可存储计算机程序指令,从而使得所述一个或多个计算机可读存储器可以引导计算机或其它可编程装置以特定方式起作用,使得计算机程序产品包括实现在流程框中指定的功能的制品。一个或多个计算机程序产品的计算机程序指令也可以被加载到计算机或其它可编程装置(例如,内容消费设备102和/或服务器104)上,以便使得在计算机或其它可编程装置上执行一系列操作以产生计算机实现的处理,从而使得在计算机或其它可编程装置上执行的指令实现在流程框中指定的功能。
因此,流程图的框支持用于执行所指定的功能的装置的组合。还可以理解,可以通过执行指定功能的基于专用硬件的计算机系统或者通过专用硬件和计算机程序产品的组合来实现流程图的一个或多个框以及流程图中的框的组合。
可以按照很多方式来执行上述功能。例如,可以采用用于执行上述每个功能的任何合适的装置来执行本发明的实施例。在一个实施例中,适当配置的处理器可以提供本发明的所有或部分元素。在另一个实施例中,可以由计算机程序产品来配置本发明的所有或部分元素以及在计算机程序产品的控制下操作本发明的所有或部分元素。用于执行本发明实施例的方法的计算机程序产品包括诸如非易失性存储介质的计算机可读存储介质,以及体现在计算机可读存储介质中的诸如一系列计算机指令的计算机可读程序代码部分。
在第一示例实施例中,提供了一种方法,该方法包括接收对至少一部分媒体文件的传输协议请求,其指示所述至少一部分媒体文件要被流送到请求该媒体文件的内容消费设备。该实施例的方法还基于所述传输协议请求来确定要传送到内容消费设备的多个片段,并且然后响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输。
传输协议请求可以按照各种方式来标识要流送的那部分媒体文件,诸如通过标识时间间隔、标识至少一个场景或标识多个帧。在一个实施例中,传输协议请求可以标识不同类型的轨道,从而使得该实施例的方法提供对多个片段的传输,举例来说,所述多个片段可以含有来自所述不同类型的轨道中的每个轨道的复用媒体数据。一个实施例的方法还可以响应于所述传输协议请求,(诸如通过将所述至少一部分媒体文件格式化成多个片段来)创建多个片段,从而支持动态媒体文件流送,并且避免了要求在所述传输协议请求之前要对媒体文件分好片。替代地,另一实施例的方法响应于所述传输协议请求而从多个预定义的片段当中标识出多个片段。
在第二示例实施例中,提供了计算机程序产品。所述计算机程序产品包括其中存储了计算机可读程序指令的至少一个计算机可读存储介质。该实施例的计算机可读程序指令可以包括程序指令,当由处理器执行时,所述计算机程序指令被配置以便:接收对至少一部分媒体文件的传输协议请求,其指示所述至少一部分媒体文件要被流送到请求了该媒体文件的内容消费设备。该实施例的计算机可读程序指令当由处理器执行时还被配置以便:基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段,并且然后响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输。
传输协议请求可以按照各种方式来标识要流送的那部分媒体文件,诸如通过标识时间间隔、标识至少一个场景或标识多个帧。在一个实施例中,传输协议请求可以标识不同类型的轨道,从而使得该实施例的方法提供对多个片段的传输,所述多个片段例如含有所述不同类型的轨道中的每个轨道的复用媒体数据。一个实施例的计算机可读程序指令当由处理器执行时还可以被配置以便:响应于所述传输协议请求,(诸如通过将所述至少一部分媒体文件格式化成多个片段来)创建多个片段,从而支持动态媒体文件流送,并且避免了要求在所述传输协议请求之前要将所述媒体文件分好片。替代地,另一实施例的计算机可读程序指令当由处理器执行时被配置以便:响应于所述传输协议请求而从多个预定义的片段当中标识出多个片段。
在第三示例实施例中,提供了一种装置。该实施例的装置包括至少一个处理器和存储了计算机程序代码的至少一个存储器。存储了计算机程序代码的所述至少一个存储器被配置以便与所述至少一个处理器一起工作,使得所述装置:接收对至少一部分媒体文件的传输协议请求,其指示所述至少一部分媒体文件要被流送到请求了该媒体文件的内容消费设备。还使得该实施例的装置:基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段,并且然后响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输。
传输协议请求可以按照各种方式来标识要流送的那部分媒体文件,诸如通过标识时间间隔、标识至少一个场景或标识多个帧。在一个实施例中,传输协议请求可以标识不同类型的轨道,从而使得该实施例的方法提供对多个片段的传输,所述多个片段例如含有所述不同类型的轨道中的每个轨道的复用媒体数据。一个实施例的装置还被配置以便:响应于所述传输协议请求,(诸如通过将所述至少一部分媒体文件格式化成多个片段来)创建多个片段,从而支持动态媒体文件流送,并且避免了要求在所述传输协议请求之前要将所述媒体文件分好片。替代地,另一实施例的装置被配置以便:响应于所述传输协议请求而从多个预定义的片段当中标识出多个片段。
该实施例的装置可以被体现为终端或者可以被体现在终端上。该实施例的装置可以包括移动电话,移动电话进一步包括用户接口电路和存储在所述至少一个存储器中的一个或多个上的用户接口软件。用户接口电路和用户接口软件可以被配置以便通过使用显示器来促进对移动电话的至少一些功能的用户控制。用户接口电路和用户接口软件可以进一步被配置以便使得移动电话的用户接口的至少一部分被显示在显示器上,以便促进对移动电话的至少一些功能的用户控制。
在第四示例实施例中,提供了一种设备,该设备包括:用于接收对至少一部分媒体文件的传输协议请求的装置,所述传输协议请求指示了所述至少一部分媒体文件要被流送到请求了该媒体文件的内容消费设备。该实施例的设备还包括:用于基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段的装置;以及用于响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输的装置。
传输协议请求可以按照各种方式来标识要流送的那部分媒体文件,诸如通过标识时间间隔、标识至少一个场景或标识多个帧。在一个实施例中,传输协议请求可以标识不同类型的轨道,从而使得该实施例的方法提供对多个片段的传输,所述多个片段例如含有所述不同类型的轨道中的每个轨道的复用媒体数据。一个实施例的设备还包括:用于响应于所述传输协议请求,(诸如通过将所述至少一部分媒体文件格式化成多个片段来)创建多个片段的装置,从而支持动态媒体文件流送,并且避免了要求在所述传输协议请求之前要将所述媒体文件分好片。替代地,另一实施例的设备包括:用于响应于所述传输协议请求而从多个预定义的片段当中标识出多个片段的装置。
在第五示例实施例中,提供了一种方法,所述方法包括:引导发布对至少一部分媒体文件的传输协议请求,其指示要从服务器对所述至少一部分媒体文件进行流送。该实施例的方法还响应于所述传输协议请求而从所述服务器接收多个片段。
传输协议请求可以按照各种方式来标识要流送的那部分媒体文件,诸如通过标识时间间隔、标识至少一个场景或标识多个帧。在一个实施例中,对所述传输协议请求的发布包括对要流送的不同类型的轨道的标识。如此,在这个实施例中,对多个片段的接收将包括接收所述不同类型的轨道中的每个轨道的所述多个片段。
在第六示例实施例中,提供了计算机程序产品。所述计算机程序产品包括其中存储了计算机可读程序指令的至少一个计算机可读存储介质。该实施例的计算机可读程序指令可以包括程序指令,当由处理器执行时,所述程序指令被配置以便:引导发布对至少一部分媒体文件的传输协议请求,其指示要从服务器流送所述至少一部分媒体文件。该实施例的计算机可读程序指令当由处理器执行时还被配置以便:响应于所述传输协议请求而从所述服务器接收多个片段。
传输协议请求可以按照各种方式来标识要流送的那部分媒体文件,诸如通过标识时间间隔、标识至少一个场景或标识多个帧。在一个实施例中,对所述传输协议请求的发布包括对要流送的不同类型的轨道的标识。如此,在这个实施例中,对多个片段的接收将包括接收所述不同类型的轨道中的每个轨道的所述多个片段。
在第七示例实施例中,提供了一种装置。该实施例的装置包括至少一个处理器和存储了计算机程序代码的至少一个存储器。存储了计算机程序代码的所述至少一个存储器被配置以便与所述至少一个处理器一起工作,使得所述装置引导发布对至少一部分媒体文件的传输协议请求,其指示要从服务器流送所述至少一部分媒体文件。还使得该实施例的装置响应于所述传输协议请求而从所述服务器接收多个片段。
传输协议请求可以按照各种方式来标识要流送的那部分媒体文件,诸如通过标识时间间隔、标识至少一个场景或标识多个帧。在一个实施例中,对所述传输协议请求的发布包括对要流送的不同类型的轨道的标识。如此,在这个实施例中,对多个片段的接收将包括接收所述不同类型的轨道中的每个轨道的所述多个片段。
该实施例的装置可以被体现为终端或者可以被体现在终端上。该实施例的装置可以包括移动电话,移动电话进一步包括用户接口电路和存储在所述至少一个存储器中的一个或多个上的用户接口软件。用户接口电路和用户接口软件可以被配置以便通过使用显示器来促进对移动电话的至少一些功能的用户控制。用户接口电路和用户接口软件可以进一步被配置以便使得移动电话的用户接口的至少一部分被显示在显示器上,以便促进对移动电话的至少一些功能的用户控制。
在第八示例实施例中,提供了一种设备,该设备包括:用于引导发布对至少一部分媒体文件的传输协议请求的装置,所述传输协议请求指示了要从服务器流送所述至少一部分媒体文件。该实施例的设备还包括:用于响应于所述传输协议请求而从所述服务器接收多个片段的装置。
传输协议请求可以按照各种方式来标识要流送的那部分媒体文件,诸如通过标识时间间隔、标识至少一个场景或标识多个帧。在一个实施例中,对所述传输协议请求的发布包括对要流送的不同类型的轨道的标识。如此,在这个实施例中,对多个片段的接收将包括接收所述不同类型的轨道中的每个轨道的所述多个片段。
在进一步的实施例中,提供了一种系统,所述系统包括服务器和内容消费设备,所述系统被配置以便支持媒体文件从所述服务器流送到所述内容消费设备。在该实施例中,所述内容消费设备被配置以便:引导发布对至少一部分媒体文件的传输协议请求,其指示要从服务器流送所述至少一部分媒体文件;以及响应于所述传输协议请求而从所述服务器接收多个片段。另外,在该实施例中的服务器被配置以便:接收对至少一部分媒体文件的传输协议请求,其指示所述至少一部分媒体文件要被流送到请求了该媒体文件的内容消费设备。还使得该实施例的服务器:基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段;以及然后响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输。
受益于在前面的描述和关联的附图中呈现的教导的这些发明所属领域的技术人员将想到:在此阐述的本发明的很多修改和其它实施例。因此,应当理解,本发明的实施例不限于公开的具体实施例,并且旨在将那些修改和其它实施例包括在本发明的范围之内。此外,虽然前面的描述和关联的附图在元件和/或功能的某些示例性组合的背景下描述了示例性实施例,但是应当理解,在不脱离本发明的范围的情况下,可以通过替代实施例来提供元件和/或功能的不同组合。就此而言,例如,与以上明确描述的那些不同的元件和/或功能的组合也预想处在本发明的范围之内。虽然在此采用了特定的术语,但是它们仅在一般性和描述性的含义上使用并不用于限制的目的。
Claims (22)
1.一种方法,其包括:
接收对媒体文件的至少一部分的传输协议请求,其指示所述媒体文件的至少一部分要被流送到请求了所述媒体文件的内容消费设备;
基于所述传输协议请求,经由处理器来确定要传送到所述内容消费设备的多个片段;以及
响应于所述传输协议请求,提供所述多个片段到所述内容消费设备的传输。
2.根据权利要求1所述的方法,其中,接收所述传输协议请求包括接收通过以下中的至少一个而标识了要流送的那部分媒体文件的传输协议请求:标识时间间隔、标识至少一个场景或标识多个帧。
3.根据权利要求1所述的方法,其中,接收所述传输协议请求包括:接收标识了不同类型的轨道的传输协议请求,并且其中,提供对所述多个片段的传输包括:提供对所述不同类型的轨道中的每个轨道的多个片段的传输。
4.根据权利要求3所述的方法,其中,提供对所述多个片段的传输包括:提供对含有来自所述不同类型的轨道中的每个轨道的复用媒体数据的多个片段的传输。
5.根据权利要求1所述的方法,其进一步包括:响应于所述传输协议请求,将所述媒体文件的至少一部分格式化成多个片段。
6.一种包括至少一个计算机可读存储介质的计算机程序产品,所述至少一个计算机可读存储介质中存储了计算机可执行程序代码指令,当由所述处理器执行时,所述计算机可执行程序代码指令使得实施根据权利要求1所述的方法。
7.一种装置,其包括至少一个处理器和存储了计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起工作,使得所述装置:
接收对媒体文件的至少一部分的传输协议请求,其指示所述媒体文件的至少一部分要被流送到请求了所述媒体文件的内容消费设备;
基于所述传输协议请求,确定要传送到所述内容消费设备的多个片段;以及
响应于所述传输协议请求,提供所述多个片段到所述内容消费设备的传输。
8.根据权利要求7所述的装置,其中,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起,使得所述装置通过接收经由以下中的至少一个而标识了要流送的那部分媒体文件的传输协议请求来接收所述传输协议请求:标识时间间隔、标识至少一个场景或标识多个帧。
9.根据权利要求7所述的装置,其中,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起,使得所述装置:通过接收标识了不同类型的轨道的传输协议请求来接收所述传输协议请求,以及通过提供对所述不同类型的轨道中的每个轨道的多个片段的传输来提供对所述多个片段的传输。
10.根据权利要求9所述的装置,其中,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起,使得所述装置:通过提供对含有来自所述不同类型的轨道中的每个轨道的复用媒体数据的多个片段的传输来提供对所述多个片段的传输。
11.根据权利要求7所述的装置,其中,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起,进一步使得所述装置:响应于所述传输协议请求,将所述媒体文件的至少一部分格式化成多个片段。
12.一种方法,其包括:
经由处理器,引导发布对媒体文件的至少一部分的传输协议请求,其指示要从服务器流送所述媒体文件的至少一部分;以及
从所述服务器接收响应于所述传输协议请求的多个片段。
13.根据权利要求12所述的方法,其中,引导发布所述传输协议请求包括引导发布通过以下中的至少一个而标识了要流送的那部分媒体文件的传输协议请求:标识时间间隔、标识至少一个场景或标识多个帧。
14.根据权利要求12所述的方法,其中,引导发布所述传输协议请求包括:引导发布包括了要流送的不同类型的轨道的标识的传输协议请求,并且其中,接收所述多个片段包括:接收所述不同类型的轨道中的每个轨道的多个片段。
15.根据权利要求12所述的方法,其中,引导发布所述传输协议请求包括:引导发布包括了协议的标识的传输协议请求,其中要经由所述协议来流送所述媒体文件。
16.一种包括至少一个计算机可读存储介质的计算机程序产品,所述至少一个计算机可读存储介质中存储了计算机可执行程序代码指令,当由所述处理器执行时,所述计算机可执行程序代码指令使得实施根据权利要求12所述的方法。
17.一种装置,其包括至少一个处理器和存储了计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起,使得所述装置:
引导发布对媒体文件的至少一部分的传输协议请求,其指示要从服务器流送所述媒体文件的至少一部分;以及
从所述服务器接收响应于所述传输协议请求的多个片段。
18.根据权利要求17所述的装置,其中,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起,使得所述装置通过引导发布经由以下中的至少一个而标识了要流送的那部分媒体文件的传输协议请求来引导发布所述传输协议请求:标识时间间隔、标识至少一个场景或标识多个帧。
19.根据权利要求17所述的装置,其中,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起,使得所述装置:通过引导发布包括了要流送的不同类型的轨道的标识的传输协议请求来引导发布所述传输协议请求,并且通过接收所述不同类型的轨道中的每个轨道的多个片段来接收所述多个片段。
20.根据权利要求17所述的装置,其中,所述至少一个存储器和所述计算机程序代码被配置以便与所述至少一个处理器一起,使得所述装置:通过引导发布包括了协议的标识的传输协议请求来引导发布所述传输协议请求,其中要经由所述协议来流送所述媒体文件。
21.一种设备,其包括:
用于接收对媒体文件的至少一部分的传输协议请求的装置,所述传输协议请求指示了所述媒体文件的至少一部分要被流送到请求了所述媒体文件的内容消费设备;
用于基于所述传输协议请求来确定要传送到所述内容消费设备的多个片段的装置;以及
用于响应于所述传输协议请求而提供所述多个片段到所述内容消费设备的传输的装置。
22.一种设备,其包括:
用于引导发布对媒体文件的至少一部分的传输协议请求的装置,所述传输协议请求指示了要从服务器流送所述媒体文件的至少一部分;以及
用于从所述服务器接收响应于所述传输协议请求的多个片段的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24684609P | 2009-09-29 | 2009-09-29 | |
US61/246,846 | 2009-09-29 | ||
PCT/IB2010/002475 WO2011039617A1 (en) | 2009-09-29 | 2010-09-29 | System, method and apparatus for dynamic media file streaming |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102577309A true CN102577309A (zh) | 2012-07-11 |
Family
ID=43825632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800431498A Pending CN102577309A (zh) | 2009-09-29 | 2010-09-29 | 用于动态媒体文件流送的系统、方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20110246659A1 (zh) |
EP (1) | EP2484090A1 (zh) |
KR (1) | KR20120080214A (zh) |
CN (1) | CN102577309A (zh) |
TW (1) | TW201123795A (zh) |
WO (1) | WO2011039617A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152607A (zh) * | 2013-01-10 | 2013-06-12 | 上海思华科技股份有限公司 | 视频超快速粗编方法 |
CN103581698A (zh) * | 2012-07-31 | 2014-02-12 | 联想(北京)有限公司 | 终端设备以及视频数据发布方法 |
WO2015027413A1 (en) * | 2013-08-28 | 2015-03-05 | Nokia Corporation | Method and apparatus for sharing content consumption sessions at different devices |
CN104685894A (zh) * | 2012-10-26 | 2015-06-03 | 英特尔公司 | 基于视频定向的多媒体适应 |
CN106134156A (zh) * | 2014-07-03 | 2016-11-16 | 华为技术有限公司 | 自适应流媒体的取证标记的信号发送和处理 |
CN106463148A (zh) * | 2014-05-30 | 2017-02-22 | 索尼公司 | 信息处理装置和信息处理方法 |
CN107920262A (zh) * | 2016-10-08 | 2018-04-17 | 北京优朋普乐科技有限公司 | 一种媒体文件发布方法及装置 |
US10432692B2 (en) | 2012-10-26 | 2019-10-01 | Intel Corporation | Streaming with coordination of video orientation (CVO) |
CN110651482A (zh) * | 2017-03-30 | 2020-01-03 | 联发科技股份有限公司 | 发信isobmff的球面区域信息的方法和装置 |
CN112673605A (zh) * | 2018-07-10 | 2021-04-16 | 诺基亚技术有限公司 | 动态多端点生成 |
CN113949938A (zh) * | 2016-05-24 | 2022-01-18 | 佳能株式会社 | 封装方法和装置、处理方法和装置以及存储介质 |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
JP5200204B2 (ja) | 2006-03-14 | 2013-06-05 | ディブエックス リミテッド ライアビリティー カンパニー | 高信頼性システムを含む連合型デジタル権限管理機構 |
JP5513400B2 (ja) | 2007-11-16 | 2014-06-04 | ソニック アイピー, インコーポレイテッド | マルチメディアファイルのための階層的で簡略なインデックス構造体 |
US8997161B2 (en) | 2008-01-02 | 2015-03-31 | Sonic Ip, Inc. | Application enhancement tracks |
US8434093B2 (en) | 2008-08-07 | 2013-04-30 | Code Systems Corporation | Method and system for virtualization of software applications |
US8776038B2 (en) | 2008-08-07 | 2014-07-08 | Code Systems Corporation | Method and system for configuration of virtualized software applications |
CN101420317B (zh) * | 2008-11-21 | 2011-10-26 | 华为终端有限公司 | 媒体文件录制错误的修复方法、录制终端、服务器和系统 |
JP5681641B2 (ja) | 2009-01-07 | 2015-03-11 | ソニック アイピー, インコーポレイテッド | オンラインコンテンツのためのメディアガイドの特異的、収集的および自動的な生成 |
US10003851B2 (en) * | 2009-11-24 | 2018-06-19 | Imagine Communications Corp. | Managed multiplexing of video in an adaptive bit rate environment |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
US8954958B2 (en) | 2010-01-11 | 2015-02-10 | Code Systems Corporation | Method of configuring a virtual application |
US8959183B2 (en) | 2010-01-27 | 2015-02-17 | Code Systems Corporation | System for downloading and executing a virtual application |
US9104517B2 (en) | 2010-01-27 | 2015-08-11 | Code Systems Corporation | System for downloading and executing a virtual application |
US9229748B2 (en) | 2010-01-29 | 2016-01-05 | Code Systems Corporation | Method and system for improving startup performance and interoperability of a virtual application |
US8516063B2 (en) | 2010-02-12 | 2013-08-20 | Mary Anne Fletcher | Mobile device streaming media application |
KR101777348B1 (ko) * | 2010-02-23 | 2017-09-11 | 삼성전자주식회사 | 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치 |
US8763009B2 (en) | 2010-04-17 | 2014-06-24 | Code Systems Corporation | Method of hosting a first application in a second application |
US9253548B2 (en) * | 2010-05-27 | 2016-02-02 | Adobe Systems Incorporated | Optimizing caches for media streaming |
KR101705813B1 (ko) * | 2010-06-23 | 2017-02-10 | 삼성전자주식회사 | 무선 통신 시스템에서 멀티미디어 컨텐츠의 랜덤 액세스 방법 및 장치 |
US9838450B2 (en) | 2010-06-30 | 2017-12-05 | Brightcove, Inc. | Dynamic chunking for delivery instances |
US8301733B2 (en) | 2010-06-30 | 2012-10-30 | Unicorn Media, Inc. | Dynamic chunking for delivery instances |
US9762639B2 (en) | 2010-06-30 | 2017-09-12 | Brightcove Inc. | Dynamic manifest generation based on client identity |
US8954540B2 (en) | 2010-06-30 | 2015-02-10 | Albert John McGowan | Dynamic audio track selection for media streaming |
AU2010202741B1 (en) | 2010-06-30 | 2010-12-23 | Brightcove Inc. | Dynamic chunking for media streaming |
US8782106B2 (en) | 2010-07-02 | 2014-07-15 | Code Systems Corporation | Method and system for managing execution of virtual applications |
KR20130042544A (ko) * | 2010-07-09 | 2013-04-26 | 엘지전자 주식회사 | 상호공존 방식에서 대표 기기 선출 방법 |
US20120233345A1 (en) * | 2010-09-10 | 2012-09-13 | Nokia Corporation | Method and apparatus for adaptive streaming |
US9021015B2 (en) | 2010-10-18 | 2015-04-28 | Code Systems Corporation | Method and system for publishing virtual applications to a web server |
US9209976B2 (en) | 2010-10-29 | 2015-12-08 | Code Systems Corporation | Method and system for restricting execution of virtual applications to a managed process environment |
US9420022B2 (en) * | 2010-12-17 | 2016-08-16 | Microsoft Technology Licensing, Llc | Media requests to counter latency and minimize network bursts |
US9247312B2 (en) | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
AU2011201404B1 (en) | 2011-03-28 | 2012-01-12 | Brightcove Inc. | Transcodeless on-the-fly ad insertion |
TWI492148B (zh) * | 2011-07-08 | 2015-07-11 | Tpv Display Technology Xiamen | Wireless Playback System and Its Method |
US9219990B2 (en) | 2011-08-15 | 2015-12-22 | Connectquest Llc | Real time data feeds in a close proximity notification system |
US9219981B2 (en) * | 2011-08-15 | 2015-12-22 | Connectquest Llc | Distributed data in a close proximity notification system |
US8831642B2 (en) | 2011-08-15 | 2014-09-09 | Connectquest Llc | Close proximity notification system |
US9219980B2 (en) | 2011-08-15 | 2015-12-22 | Connectquest Llc | Campus security in a close proximity notification system |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8818171B2 (en) | 2011-08-30 | 2014-08-26 | Kourosh Soroushian | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
CN103875248B (zh) | 2011-08-30 | 2018-09-07 | 帝威视有限公司 | 用于编码和流处理通过使用多个最大比特率级别编码的视频的系统和方法 |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8953016B2 (en) * | 2011-09-01 | 2015-02-10 | Mediatek Inc. | Apparatus and method for generating polarized video stream according to multi-view video stream and motion information derived from multi-view video stream |
CN103002272A (zh) * | 2011-09-15 | 2013-03-27 | 上海聚力传媒技术有限公司 | 一种切换音视频信息的码率的方法、装置和设备 |
US9237356B2 (en) | 2011-09-23 | 2016-01-12 | Qualcomm Incorporated | Reference picture list construction for video coding |
US8239546B1 (en) | 2011-09-26 | 2012-08-07 | Unicorn Media, Inc. | Global access control for segmented streaming delivery |
US8625789B2 (en) | 2011-09-26 | 2014-01-07 | Unicorn Media, Inc. | Dynamic encryption |
US8165343B1 (en) | 2011-09-28 | 2012-04-24 | Unicorn Media, Inc. | Forensic watermarking |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US9264717B2 (en) | 2011-10-31 | 2016-02-16 | Qualcomm Incorporated | Random access with advanced decoded picture buffer (DPB) management in video coding |
CN103095517B (zh) * | 2011-11-04 | 2016-12-07 | 华为技术有限公司 | 流媒体传输质量评估和信息获取方法及相关设备和系统 |
US8977704B2 (en) * | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
US8918908B2 (en) | 2012-01-06 | 2014-12-23 | Sonic Ip, Inc. | Systems and methods for accessing digital content using electronic tickets and ticket tokens |
GB2514519B (en) * | 2012-03-26 | 2020-06-24 | Brightcove Inc | Dynamic audio track selection for media streaming |
US8762563B2 (en) | 2012-04-16 | 2014-06-24 | Adobe Systems Incorporated | Method and apparatus for improving the adaptive bit rate behavior of a streaming media player |
US9197685B2 (en) | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US9143812B2 (en) | 2012-06-29 | 2015-09-22 | Sonic Ip, Inc. | Adaptive streaming of multimedia |
US10452715B2 (en) | 2012-06-30 | 2019-10-22 | Divx, Llc | Systems and methods for compressing geotagged video |
WO2014015110A1 (en) | 2012-07-18 | 2014-01-23 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution |
US8997254B2 (en) | 2012-09-28 | 2015-03-31 | Sonic Ip, Inc. | Systems and methods for fast startup streaming of encrypted multimedia content |
US8914836B2 (en) | 2012-09-28 | 2014-12-16 | Sonic Ip, Inc. | Systems, methods, and computer program products for load adaptive streaming |
US20140115032A1 (en) * | 2012-10-23 | 2014-04-24 | General Instrument Corporation | Preserving a consumption context for a user session |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9264475B2 (en) | 2012-12-31 | 2016-02-16 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9112939B2 (en) | 2013-02-12 | 2015-08-18 | Brightcove, Inc. | Cloud-based video delivery |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US9710469B2 (en) | 2013-03-15 | 2017-07-18 | Comcast Cable Communications, Llc | Efficient data distribution to multiple devices |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
WO2015166817A1 (ja) * | 2014-04-30 | 2015-11-05 | ソニー株式会社 | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
US9521212B2 (en) * | 2014-09-30 | 2016-12-13 | Sonos, Inc. | Service provider user accounts |
TWI555406B (zh) | 2014-11-20 | 2016-10-21 | 聯詠科技股份有限公司 | 儲存方法及其處理裝置與錄影系統 |
US9917882B2 (en) * | 2014-11-30 | 2018-03-13 | Sonicwall Inc. | Transparent deferred spooling store and forward based on standard network system and client interface |
US9813526B2 (en) | 2015-05-26 | 2017-11-07 | Sonicwall Inc. | Reducing transmission pathway lengths within a distributed network |
US9888052B2 (en) | 2015-09-21 | 2018-02-06 | Imagine Communications Corp. | ABR allocation for statistical multiplexing |
US10972519B2 (en) * | 2015-09-24 | 2021-04-06 | Flir Commercial Systems, Inc. | Real-time video streaming to client video element |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US20170344523A1 (en) * | 2016-05-25 | 2017-11-30 | Samsung Electronics Co., Ltd | Method and apparatus for presentation customization and interactivity |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
CN110995572B (zh) * | 2019-11-29 | 2022-01-14 | 广州市百果园信息技术有限公司 | 信息发布方法、装置、系统及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080022005A1 (en) * | 2006-07-24 | 2008-01-24 | Microsoft Corporation | Glitch-Free Media Streaming |
US20080165906A1 (en) * | 2007-01-08 | 2008-07-10 | Mspot, Inc. | Method and apparatus for transferring digital content from a personal computer to a mobile handset |
CN101490670A (zh) * | 2006-07-20 | 2009-07-22 | 桑迪士克股份有限公司 | 内容分布系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8015584B2 (en) * | 2002-10-18 | 2011-09-06 | Seachange International, Inc. | Delivering interactive content to a remote subscriber |
US7941553B2 (en) * | 2002-10-18 | 2011-05-10 | International Business Machines Corporation | Method and device for streaming a media file over a distributed information system |
US20130097302A9 (en) * | 2003-10-01 | 2013-04-18 | Robert Khedouri | Audio visual player apparatus and system and method of content distribution using the same |
JP2007065928A (ja) * | 2005-08-30 | 2007-03-15 | Toshiba Corp | 情報記憶媒体、情報処理方法、情報転送方法、情報再生方法、情報再生装置、情報記録方法、情報記録装置、及びプログラム |
US20080256255A1 (en) * | 2007-04-11 | 2008-10-16 | Metro Enterprises, Inc. | Process for streaming media data in a peer-to-peer network |
CN101911693A (zh) * | 2007-12-03 | 2010-12-08 | 诺基亚公司 | 用于以iso基本媒体文件格式存储通知消息的系统和方法 |
US20100169458A1 (en) * | 2008-12-31 | 2010-07-01 | David Biderman | Real-Time or Near Real-Time Streaming |
US8909806B2 (en) * | 2009-03-16 | 2014-12-09 | Microsoft Corporation | Delivering cacheable streaming media presentations |
-
2010
- 2010-09-29 EP EP10819985A patent/EP2484090A1/en not_active Withdrawn
- 2010-09-29 TW TW099133016A patent/TW201123795A/zh unknown
- 2010-09-29 US US12/893,746 patent/US20110246659A1/en not_active Abandoned
- 2010-09-29 KR KR1020127010859A patent/KR20120080214A/ko not_active Application Discontinuation
- 2010-09-29 CN CN2010800431498A patent/CN102577309A/zh active Pending
- 2010-09-29 WO PCT/IB2010/002475 patent/WO2011039617A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101490670A (zh) * | 2006-07-20 | 2009-07-22 | 桑迪士克股份有限公司 | 内容分布系统 |
US20080022005A1 (en) * | 2006-07-24 | 2008-01-24 | Microsoft Corporation | Glitch-Free Media Streaming |
US20080165906A1 (en) * | 2007-01-08 | 2008-07-10 | Mspot, Inc. | Method and apparatus for transferring digital content from a personal computer to a mobile handset |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581698B (zh) * | 2012-07-31 | 2017-05-24 | 联想(北京)有限公司 | 终端设备以及视频数据发布方法 |
CN103581698A (zh) * | 2012-07-31 | 2014-02-12 | 联想(北京)有限公司 | 终端设备以及视频数据发布方法 |
CN104685894A (zh) * | 2012-10-26 | 2015-06-03 | 英特尔公司 | 基于视频定向的多媒体适应 |
US10432692B2 (en) | 2012-10-26 | 2019-10-01 | Intel Corporation | Streaming with coordination of video orientation (CVO) |
CN104685894B (zh) * | 2012-10-26 | 2020-02-04 | 苹果公司 | 基于视频定向的多媒体适应的终端、服务器、方法和装置 |
US9762938B2 (en) | 2012-10-26 | 2017-09-12 | Intel Corporation | Multimedia adaptation based on video orientation |
US10523982B2 (en) | 2012-10-26 | 2019-12-31 | Intel Corporation | Multimedia adaptation based on video orientation |
CN103152607A (zh) * | 2013-01-10 | 2013-06-12 | 上海思华科技股份有限公司 | 视频超快速粗编方法 |
WO2015027413A1 (en) * | 2013-08-28 | 2015-03-05 | Nokia Corporation | Method and apparatus for sharing content consumption sessions at different devices |
US10313401B2 (en) | 2013-08-28 | 2019-06-04 | Nokia Technologies Oy | Method and apparatus for sharing content consumption sessions at different devices |
CN106463148A (zh) * | 2014-05-30 | 2017-02-22 | 索尼公司 | 信息处理装置和信息处理方法 |
US10375439B2 (en) | 2014-05-30 | 2019-08-06 | Sony Corporation | Information processing apparatus and information processing method |
CN106463148B (zh) * | 2014-05-30 | 2019-10-01 | 索尼公司 | 信息处理装置和信息处理方法 |
CN106134156B (zh) * | 2014-07-03 | 2019-06-28 | 华为技术有限公司 | 自适应流媒体的取证标记的信号发送和处理的方法及设备 |
CN106134156A (zh) * | 2014-07-03 | 2016-11-16 | 华为技术有限公司 | 自适应流媒体的取证标记的信号发送和处理 |
CN113949938A (zh) * | 2016-05-24 | 2022-01-18 | 佳能株式会社 | 封装方法和装置、处理方法和装置以及存储介质 |
CN113949938B (zh) * | 2016-05-24 | 2024-04-12 | 佳能株式会社 | 封装方法和装置、处理方法和装置以及存储介质 |
CN107920262A (zh) * | 2016-10-08 | 2018-04-17 | 北京优朋普乐科技有限公司 | 一种媒体文件发布方法及装置 |
CN110651482A (zh) * | 2017-03-30 | 2020-01-03 | 联发科技股份有限公司 | 发信isobmff的球面区域信息的方法和装置 |
CN110651482B (zh) * | 2017-03-30 | 2022-02-22 | 联发科技股份有限公司 | 发信isobmff的球面区域信息的方法和装置 |
CN112673605A (zh) * | 2018-07-10 | 2021-04-16 | 诺基亚技术有限公司 | 动态多端点生成 |
CN112673605B (zh) * | 2018-07-10 | 2023-12-01 | 诺基亚技术有限公司 | 用于动态多端点生成的方法、装置和计算机程序 |
Also Published As
Publication number | Publication date |
---|---|
EP2484090A1 (en) | 2012-08-08 |
WO2011039617A1 (en) | 2011-04-07 |
KR20120080214A (ko) | 2012-07-16 |
TW201123795A (en) | 2011-07-01 |
US20110246659A1 (en) | 2011-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102577309A (zh) | 用于动态媒体文件流送的系统、方法和装置 | |
KR101401183B1 (ko) | 스트리밍 미디어 파일의 표현을 기술하고 타이밍하기 위한 장치 및 방법 | |
US10873608B2 (en) | Methods and devices for media description delivery | |
TWI568252B (zh) | 具有視訊定向協調(cvo)之串流技術 | |
US8966106B2 (en) | System and method for media content streaming | |
US20100262711A1 (en) | Systems, methods, and apparatuses for media file streaming | |
CN104685894B (zh) | 基于视频定向的多媒体适应的终端、服务器、方法和装置 | |
US9880806B2 (en) | Media playback processing and control method, apparatus, and system | |
CN104253742B (zh) | 虚拟web实时通信网关以及相关的方法、系统 | |
US20190075149A1 (en) | Mechanisms to support adaptive constrained application protocol (coap) streaming for internet of things (iot) systems | |
US20110246660A1 (en) | Systems, Methods, and Apparatuses for Media File Streaming | |
TWI577186B (zh) | 第二內容串流在第二裝置上描繪時間之控制方法及控制裝置 | |
CN117596232A (zh) | 流媒体快速启动方法、装置和系统 | |
CN103684992B (zh) | 家庭网关、终端和数据共享方法 | |
JP5552171B2 (ja) | ライブメディアストリームの時間シフト | |
EP2605586A1 (en) | Stream media channel switch method, switch agent, client and terminal | |
US20190014370A1 (en) | Method forplaying back a plurality of media titles, adapted media source device, media player device, media delegation device and configurable and adapted computer program | |
KR102079339B1 (ko) | 클라우드 시스템상의 컨텐츠를 디엘엔에이로 연결된 디바이스로 전달하는 전자 장치 및 방법 | |
Liu | Developing a Solution for Multimedia Home Networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |