专利名称:用于媒体文件流式传输的系统、方法和装置的利记博彩app
技术领域:
本发明的实施方式总体上涉及通信技术,并且具体地,涉及用于媒体文件流式传输的系统、方法和装置。
背景技术:
现代通信时代已经带来有线和无线网络的急剧发展。计算机网络、电视网络和电话网络正在经历消费者需求所激发的前所未有的技术扩张。无线和移动联网技术已经解决与消费者需求有关的需求而又提供信息传送的更多灵活性和即时性。当前和将来的联网技术以及利用联网技术的演进型计算设备继续支持用户传送信息的简易性和便利性。在此方面,网络的扩张和联网计算设备的演进已经提供足以实现传送和回放越来越复杂的数字媒体文件的处理能力、存储空间和网络带宽。因而因特网电视和视频共享正在赢得广泛流行。
发明内容
因此,提供一种用于支持使用传送协议(例如HTTP)流式传输媒体文件方法、装置和计算机程序产品。在此方面,提供一种可以向计算设备、计算设备用户和网络运营商提供若干优点的方法、装置和计算机程序产品。在本发明的一个示例实施方式中,媒体内容可以在HTTP的基础上使用TCP而被流式传输,不限于专有媒体格式。在此方面,可以针对任何基于国际标准化组织(ISO)基本媒体文件格式的媒体文件格式而格式化的媒体内容来支持流式传输媒体内容。根据本发明的实施方式,提供可与各种网络类型(例如包括局域网、 因特网、无线网络、有线网络、蜂窝网络等)一起操作的用于流式传输媒体内容的协议。在本发明的实施方式中,接收和回放流式媒体的计算设备的网络带宽消耗和处理要求得以降低。在此方面,可以通过仅选择性地提取并且渐进式递送接收方回放流式媒体所需的数据, 来减少针对媒体文件而发送的元数据的量,从而较为高效地使用网络带宽。回放流式媒体的设备可以无需接收和处理大量数据,从而得益于本发明的实施方式。此外,回放流式媒体的移动设备也可以根据本发明的实施方式享受益处。举例而言,可以支持例如通过使用HTTP流式传输第三代伙伴项目(3GPP)媒体文件(3GP)。因而可以通过为这样的流式传输提供支持来使3GPP分组交换流式服务(PSQ受益、因此加强PSS 作为一种用于移动单播流式传输的手段。另外可以根据本发明的实施方式通过支持与移动站具体功能(例如,简档指示、体验质量报告等)组合使用建立的PSS媒体编码解码器和格式来改进向移动设备流式传输媒体。在第一示例实施方式中,提供一种方法,该方法包括接收针对媒体文件的传送协议请求,该传送协议请求指示将向请求媒体文件的客户端设备流式传输媒体文件。这一实施方式的方法还包括发送描述媒体文件的至少部分内容的元数据的至少一部分。这一实施方式的方法还包括提取与媒体文件中的一个或者多个媒体数据样本对应的元数据的一个或者多个其他部分。这一实施方式的方法还包括渐进式发送提取的元数据的一个或者多个其他部分以及来自媒体文件的对应一个或者多个媒体数据样本。
6
在另一示例实施方式中,提供一种计算机程序产品。该计算机程序产品包括至少一个计算机可读存储介质,该计算机可读存储介质具有存储于其中的计算机可读程序指令。计算机可读程序指令可以包括多个程序指令。虽然在这一发明内容中程序指令被排序, 但是将理解提供这一发明内容仅为了举例而排序仅为了便于概述计算机程序产品。示例排序决不限制关联计算机程序指令的实施。这一实施方式的第一程序指令用于使得接收针对媒体文件的传送协议请求,其中该请求指示将向请求媒体文件的客户端设备流式传输媒体文件。这一实施方式的第二程序指令用于使得发送描述媒体文件的至少部分内容的元数据的至少一部分。这一实施方式的第三程序指令用于提取与媒体文件中的一个或者多个媒体数据样本对应的元数据的一个或者多个其他部分。这一实施方式的第四程序指令用于使得渐进式发送提取的元数据的一个或者多个其他部分以及来自媒体文件的对应一个或者多个媒体数据样本。在另一示例实施方式中,提供一种装置,这一实施方式的装置包括处理器和存储指令的储存器,这些指令在由处理器执行时使装置接收针对媒体文件的传送协议请求,该传送协议请求指示将向请求媒体文件的客户端设备流式传输媒体文件。传送协议请求可以例如包括HTTP GET请求,该请求包括头部字段,该字段包括指示将流式传输媒体文件的标记。这一实施方式的指令在由处理器执行时还使装置发送描述媒体文件的至少部分内容的元数据的至少一部分。这一实施方式的指令在由处理器执行时还使装置提取与媒体文件中的一个或者多个媒体数据样本对应的元数据的一个或者多个其他部分。这一实施方式的指令在由处理器执行时也使装置渐进式发送提取的元数据的一个或者多个其他部分以及来自媒体文件的对应一个或者多个媒体数据样本。在另一示例实施方式中,提供一种装置,该装置包括用于接收针对媒体文件的传送协议请求的装置,该传送协议请求指示将向请求媒体文件的客户端设备流式传输媒体文件。传送协议请求可以例如包括HTTP GET请求,该请求包括头部字段,该字段包括指示将流式传输媒体文件的标记。这一实施方式的装置还包括用于发送描述媒体文件的至少部分内容的元数据的至少一部分的装置。这一实施方式的装置也包括用于提取与媒体文件中的一个或者多个媒体数据样本对应的元数据的一个或者多个其他部分的装置。这一实施方式的装置还包括用于渐进式发送元数据的一个或者多个其他部分以及来自媒体文件的对应一个或者多个媒体数据样本的提取的装置。在另一示例实施方式中,提供一种方法,该方法包括向媒体内容源发送针对媒体文件的传送协议请求。传送协议请求包括如下指示,该指示指示将流式传输媒体文件。传送协议请求可以例如包括HTTPGET请求,该请求包括头部字段,该字段包括指示将流式传输媒体文件的标记。这一实施方式的方法还包括接收描述媒体文件的至少部分内容的元数据的至少一部分。这一实施方式的方法还包括渐进式接收元数据的一个或者多个其他部分以及来自媒体文件的与元数据的一个或者多个其他部分对应的一个或者多个媒体数据样本。在另一示例实施方式中,提供一种计算机程序产品。该计算机程序产品包括至少一个计算机可读存储介质,该计算机可读存储介质具有存储于其中的计算机可读程序指令。计算机可读程序指令可以包括多个程序指令。虽然在这一发明内容中程序指令被排序, 但是将理解提供这一发明内容仅为了举例而排序仅为了便于概述计算机程序产品。示例排序决不限制关联计算机程序指令的实施。这一实施方式的第一程序指令用于使得向媒体内容源发送针对媒体文件的传送协议请求。传送协议请求包括如下指示,该指示指示将流式传输媒体文件。传送协议请求可以例如包括HTTP GET请求,该请求包括头部字段,该字段包括指示将流式传输媒体文件的标记。这一实施方式的第二程序指令用于使得接收描述媒体文件的至少部分内容的元数据的至少一部分。这一实施方式的第三程序指令用于使得渐进式接收元数据的一个或者多个其他部分以及来自媒体文件的与元数据的一个或者多个其他部分对应的一个或者多个媒体数据样本。在另一示例实施方式中,提供一种装置。这一实施方式的装置包括处理器和存储指令的存储器,这些指令在由处理器执行时使装置向媒体内容源发送针对媒体文件的传送协议请求。传送协议请求包括如下指示,该指示指示将流式传输媒体文件。传送协议请求可以例如包括HTTP GET请求,该请求包括头部字段,该字段包括指示将流式传输媒体文件的标记。这一实施方式的指令在由处理器执行时还使装置接收描述媒体文件的至少部分内容的元数据的至少一部分。这一实施方式的指令在由处理器执行时还使装置渐进式接收元数据的一个或者多个其他部分以及来自媒体文件的与元数据的一个或者多个其他部分对应的一个或者多个媒体数据样本。在另一示例实施方式中,提供一种装置,该装置包括用于向媒体内容源发送针对媒体文件的传送协议请求的装置。传送协议请求包括如下指示,该指示指示将流式传输媒体文件。传送协议请求可以例如包括HTTP GET请求,该请求包括头部字段,该字段包括指示将流式传输媒体文件的标记。这一实施方式的装置还包括用于接收描述媒体文件的至少部分内容的元数据的至少一部分的装置。这一实施方式的装置还包括用于渐进式接收元数据的一个或者多个其他部分以及来自媒体文件的与元数据的一个或者多个其他部分对应的一个或者多个媒体数据样本的装置。这一实施方式的装置还包括用于至少部分基于接收的对媒体文件的至少一个部分的描述来选择媒体文件的媒体轨道子集的装置和用于向媒体内容源发送该选择的装置。 用于接收媒体数据的装置可以包括用于接收包括所选媒体轨道子集中的一个或者多个轨道的媒体数据的装置。提供上述发明内容仅为了概述本发明的一些示例实施方式以便提供对本发明一些方面的基本理解。因而将理解上述示例实施方式仅为示例而不应理解为以任何方式缩减本发明的范围或者精神实质。将理解本发明的范围除了这里概述的实施方式之外还涵盖多个潜在实施方式,下文将进一步描述这些潜在实施方式中的一些实施方式。
已经一般性地描述本发明的实施方式,现在将参照附图,这些附图不一定是按比例绘制的图1图示了根据本发明一个示例实施方式的用于支持使用传送协议流式传输媒体文件的系统;图2是根据本发明一个示例实施方式的移动终端的示意框图;图3图示了根据本发明一个示例实施方式的用于与ISO基本文件格式相符的媒体文件的多个元数据级的示例层级;图4图示了根据本发明一个示例实施方式的划分成连串片段的样本的帧;
图5图示了根据本发明一个示例实施方式的样本的帧;并且图6-8图示了根据本发明示例实施方式的用于支持使用传送协议流式传输媒体文件的示例方法的流程图。
具体实施例方式下文现在将参照附图更完全描述本发明的一些实施方式,在这些附图中示出本发明的一些但是并非所有实施方式。实际上应当理解除了这里图示和描述的实施方式之外还可以用多个不同形式实施本发明的多个其他潜在实施方式。本发明的实施方式不应理解为限于这里阐述的实施方式;实际上,提供这里阐述的实施方式使得本公开内容将满足适用法律要求。相似标号通篇指代相似元素。如这里所用,“示例”仅意味着示例并且这样代表用于本发明的一个示例实施方式而不应理解为以任何方式缩减本发明的范围或者精神实质。另外应当理解使用超文本传送协议(HTTP)作为应用层传送协议的示例。本发明的示例实施方式包括使用其他应用层传送协议流式传输媒体文件。一些多媒体内容提供商在用户数据报协议(UDP)的基础上将实时传送协议(RTP) 用于媒体流式传输。在此方面,UDP提供基本传送功能,例如应用寻址和破坏检测。RTP用媒体传送相关功能(例如丢失检测、分组重排序、同步、统计数据收集和会话参与方标识) 补充UDP。然而在UDP基础上的RTP(RTP/UDP)未提供内置的拥塞控制和/或纠错功能。 RTP/UDP可以在应用级在需要基础上收集用于实施拥塞控制和/或纠错功能的充分信息。 在此方面,随着移动和因特网视频越来越流行,希望通过适当速率控制机制来维持良好网络性能。在基于RTP/UDP的流式传输应用中,流式媒体的发送方和/或接收方如果未适当配置则可能无法穿越定位于发送方与接收方之间的流式传输路径中的网络地址转译(NAT) 设备和/或防火墙。超文本传送协议(HTTP)媒体递送例如可以在分组交换流式传输服务 (PSS)中提供一种基于实时流式传输协议(RTSP)和/或RTP的实时流式传输的备选方式。 HTTP媒体递送解决方案通过克服NAT和防火墙穿越问题来实现向第3代伙伴项目(3GPP) 用户设备的简易而不费力的流式传输服务。PSS已经限定一种用于以与流式传输相似的方式使用HTTP递送媒体文件(例如渐进式下载)的解决方案。PSS编码器/解码器(编码解码器)和协议以及3GPP文件格式均支持渐进式下载。符合渐进式下载简档的3GP文件通常满足针对按照交织时间间隔交织媒体轨道的要求。将媒体数据划分为例如与不多于1秒的回放持续时间对应的块或者各自包括单个样本的块。在PSS渐进式下载解决方案中,数据递送可能未针对短暂延迟的回放而进行优化。例如,在传输控制协议(TCP)基础上将HTTP用于实时媒体流式传输可能由于使用激进的拥塞和流量控制算法、面向连接的性质、要求严格有序递送包含媒体数据的分组和基于重传的误差控制协议(例如慢速启动的重启协议)而带来弊端。基于HTTP的递送可能造成吞吐量的明显波动并且可能需要高级初始缓冲来应对可变吞吐量。可能为了发送不必要的元数据而消耗大量网络资源。例如,在与国际标准化组织(ISO)基本媒体文件格式相符的媒体文件中,元数据通常位于文件的开始处。当发送媒体文件时,通常在发送任何媒体数据之前发送元数据。可能由于缺乏对渐进式下载会话的控制而不希望渐进式下载可用于提供视频点播功能。
根据本发明的一个示例实施方式,实时HTTP流式传输是通过渐进式发送元数据的部分以及对应的媒体数据块而实现的。例如,仅发送对于客户端设备在对媒体数据块进行解码和/或回放时有用的元数据的部分。图1图示了根据本发明一个示例实施方式的用于使用例如超文本传送协议 (HTTP)等应用层传送协议的流式传输媒体文件的系统100的框图。在一个示例实施方式中,系统100包括客户端设备102和媒体内容源104。客户端设备102和媒体内容源104被配置用于通过网络108通信。网络108例如包括一个或者多个有线网络、一个或者多个无线网络或者其一些组合。网络108包括网络运营商运营的公共陆地移动网络(PLMN)。在此方面,网络108例如包括根据3GPP标准来提供蜂窝网络接入的运营商网络。附加地或备选地,网络108可以包括因特网。客户端设备102包括任何配置用于通过网络108从媒体内容源104获取媒体文件的设备。例如,客户端设备102包括服务器、桌面型计算机、膝上型计算机、移动终端、移动计算机、移动电话、移动通信设备、游戏设备、数字相机/摄像放像机、 音频/视频播放器、电视设备、无线电接收器、数字视频记录器、定位设备、其任何组合等。在一个示例实施方式中,客户端设备102实施为移动终端、例如图2中所示移动终端。在此方面,图2图示了移动终端10的框图,该移动终端代表根据本发明实施方式的客户端设备102的一个实施方式。然而应当理解图示的并且下文描述的移动终端10仅举例说明可以实施和/或受益于本发明实施方式的一类客户端设备102、因此不应理解为限制本发明的范围。尽管为了举例而图示并且下文将描述电子设备的若干实施方式,但是其他类型的电子设备(例如移动电话、移动计算机、便携数字助理(PDA)、寻呼机、膝上型计算机、 桌面型计算机、游戏设备、电视机和其他类型的电子系统)可以运用本发明的实施方式。如图所示,移动终端10可以包括与发送器14和接收器16通信的一个天线12 (或者多个天线12)。移动终端也可以包括分别向发送器提供信号和从接收器接收信号的控制器20或者其他处理器。这些信号可以包括根据适用蜂窝系统的空中接口标准和/或任何数目的不同有线或者无线联网技术(包括但不限于无线保真度(Wi-Fi)、无线局域网(LWAN) 技术(例如电器和电子工程师协会(IEEE)802. 11)等)的信令信息。此外,这些信号可以包括话音数据、用户生成的数据、用户请求的数据等。在此方面,移动终端可以能够按照一个或者多个空中接口标准、通信协议、调制类型、接入类型等操作。具体而言,移动终端可以能够根据各种第一代(IG)、第二代(2G)、2. 5G、第三代(3G)通信协议、第四代0G)通信协议等操作。例如移动终端可以能够根据IS-136(时分多址(TDMA))、全球移动通信系统 (GSM)、IS-95(码分多址(CDMA))等2G无线通信协议操作。又例如,移动终端可以能够根据通用分组无线电服务(GPRS)、增强型数据GSM环境(EDGE)等2. 5G无线通信协议操作。另外例如移动终端可以能够根据诸如通用移动电信系统(UMTQ、码分多址2000 (CDMA2000)、 宽带码分多址(WCDMA)、时分-同步码分多址(TD-SCDMA)等3G无线通信协议操作。移动终端还可以能够根据诸如长期演进(LTE)或者演进型通用地面无线电接入网络(E-UTRAN) 等3. 9G无线通信协议操作。此外例如移动终端可以能够根据第四代GG)无线通信协议等以及将来可以开发的相似无线通信协议操作。一些窄带高级移动电话系统(NAMPS)以及全接入通信系统(TACS)、移动终端也可以从本发明的实施方式中受益,如双模或者更高模式的电话(例如数字/模拟或者TDMA/CDMA/模拟电话)应当受益的那样。此外,移动终端10 还可以能够根据无线保真度(Wi-Fi)或者全球微波接入互操作性(WiMAX)协议操作。
应当理解,控制器20可以包括用于实施移动终端10的音频/视频和逻辑功能的电路。例如,控制器20可以包括数字信号处理器设备、微处理器设备、模数转换器、数模转换器等。可以根据这些设备的相应能力在它们之间分配移动终端的控制和信号处理功能。 控制器还可以包括内部音码器(VC) 20a、内部数据调制解调器(DM) 20b等。另外,控制器可以包括用于操作可以存储于存储器中的一个或者多个软件程序的功能。例如,控制器20可以能够操作连接程序、例如网上浏览器。连接程序可以允许移动终端10根据诸如无线应用协议(WAP)、超文本传送协议(HTTP)等协议来发送和接收网上内容(例如基于位置的内容)。移动终端10可以能够使用传输控制协议/网际协议(TCP/IP)来越过因特网或者其他网络发送和接收网上内容。移动终端10也可以包括可以操作耦合到控制器20的用户接口(例如包括耳机或者扬声器对、振铃器22、麦克风沈、显示器观、用户输入接口等)。虽未示出,但是移动终端可以包括用于向与移动终端有关的各种电路(例如用于提供机械振动作为可检测输出的电路)供电的电池。用户输入接口可以包括允许移动终端接收数据的设备、例如小键盘30、触摸显示器(未示出)、操纵杆(未示出)和/或其他输入设备。在包括小键盘的实施方式中,小键盘可以包括数字键(0-9)和有关键(#、*)和/或用于操作移动终端的其他键。如图2中所示,移动终端10也可以包括用于共享和/或获得数据的一个或者多个装置。例如移动终端可以包括近程射频(RF)收发器和/或询问器64,从而可以根据RF技术与电子设备和/或从电子设备获得数据。移动终端可以包括其他近程收发器、例如红外线(IR)收发器66、使用由蓝牙 特别兴趣组开发的蓝牙 品牌无线技术的蓝 Sitm(BT)收发器68、无线通用串行总线(USB)收发器70等。蓝牙 收发器68可以能够根据超低功率蓝牙 技术(例如Wibree )无线电标准操作。在此方面,移动终端10并且具体为近程收发器可以能够向移动终端10邻近(例如在10米内)的电子设备发送数据和/ 或从这些电子设备接收数据。虽然未示出,但是移动终端可以能够根据各种无线联网技术 (包括无线保真度(Wi-Fi)、WLAN技术(例如IEEE 802. 11技术)等)向电子设备发送数据和/或从电子设备接收数据。移动终端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、FGPA等时,处理器110可以包括用于执行这里描述的一个或者多个操作的具体配置的硬件。备选地,作为另一示例,当处理器110实施为指令执行器时,指令可以具体配置处理器110(该处理器如果未用于由指令提供的具体配置则可以另外是通用处理单元)执行这里描述的一个或者多个操作。存储器112可以例如包括易失性和/或非易失性存储器。虽然在图1中图示为单个存储器,但是存储器112可以包括多个存储器。存储器112可以包括易失性存储器、非易失性存储器或者其一些组合。在此方面,存储器112可以例如包括硬盘、随机存取存储器、 高速缓存存储器、闪存、光盘只读存储器(⑶-ROM)、数字万用盘只读存储器(DVD-ROM)、光盘、配置用于存储信息的电路或者其一些组合。存储器112可以被配置用于存储用于使客户端设备102能够根据本发明的实施方式执行各种功能的信息、数据、应用、指令等。另外, 在至少一些实施方式中,存储器112被配置用于缓冲用于由处理器110处理的输入数据。附加地或备选地,在至少一些实施方式中,存储器112被配置用于存储用于由处理器110执行的程序指令。存储器112可以用静态和/或动态信息的形式存储信息。媒体回放单元118 可以存储和/或在执行它的功能的过程期间使用这一存储的信息。通信接口 114可以实施为配置用于通过网络108从远程设备接收数据和/或向远程设备发送数据的用硬件、计算机程序产品(包括计算机可读介质(例如存储器11 上存储的并且由处理设备(例如处理器110)执行的计算机可读程序指令)的任何设备或者装置。在至少一个实施方式中,通信接口 114至少部分实施为处理器110或者以别的方式由处理器110控制。在此方面,通信接口 114可以例如经由总线来与处理器110通信。通信接口 114可以例如包括天线、发送器、接收器、收发器和/或用于实现与系统100的其他实体通信的支持硬件或者软件。通信接口 114可以被配置用于使用任何可以用于系统100的计算设备之间通信的协议来接收数据和/或发送数据。通信接口 114还可以例如经由总线来与存储器112、用户接口 116和/或媒体回放单元118通信。用户接口 116可以与处理器110通信以接收对用户输入的指示和/或向用户提供可听、可视、机械或者其他输出。这样,用户接口 116可以例如包括键盘、鼠标、操纵杆、显示器、触屏显示器、麦克风、扬声器和/或其他输入/输出机制。用户接口 116可以提供如下界面,该界面允许用户选择用于从媒体内容源104流式传输到客户端设备102用于在客户
12端设备102上回放的媒体文件和/或其媒体轨道。在此方面,来自媒体文件的视频可以显示于用户接口 116的显示器上,并且可以通过用户接口 116的扬声器使来自媒体文件的音频可听。用户接口 116可以例如经由总线来与存储器112、通信接口 114和/或媒体回放单元118通信。媒体回放单元118可以实施为各种装置,诸如硬件、包括存储在计算机可读介质 (例如,存储器11 上并且由处理设备(例如,处理器110)执行的计算机可读程序的计算机程序产品或者其一些组合,并且在一个实施方式中,媒体回放单元118被实施为处理器 110或者以别的方式由处理器110控制。在媒体回放单元118与处理器110分开实施的实施方式中,媒体回放单元118可以与处理器110通信。媒体回放单元118还可以例如经由总线来与存储器112、通信接口 114和/或用户接口 116通信。媒体内容源104可以包括配置用于向客户端设备102提供媒体文件的一个或者多个计算设备。在至少一个实施方式中,媒体内容源104包括一个或者多个服务器。在一个示例实施方式中,媒体内容源104包括用于执行这里描述的各种功能的各种装置(例如处理器120、存储器122、通信接口 124、用户接口 1 和媒体流式传输单元128)。如这里描述的媒体内容源104的这些装置可以例如实施为硬件单元,例如适当编程的处理器、组合逻辑电路等;包括存储在计算机可读介质(例如存储器12 上的可由适当配置的处理设备 (例如处理器120)执行的计算机可读程序指令的计算机程序产品;或者其一些组合。处理器120可以例如实施为各种装置(包括具有附带数字信号处理器的一个或者多个微处理器、无附带数字信号处理器的一个或者多个处理器、一个或者多个协同处理器、 一个或者多个控制器、处理电路、一个或者多个计算机、各种包括集成电路(例如ASIC(专用集成电路)或者FPGA (现场可编程门阵列))的其他处理单元或者其一些组合)。相应地,虽然在图1中图示为单个处理器,但是在一些实施方式中处理器120包括多个处理器。多个处理器可以实施于单个计算设备上或者分布于多个计算设备。多个处理器可以相互操作通信并且可以被共同配置用于执行如这里描述的媒体内容源104的一个或者多个功能。在一个示例实施方式中,处理器120被配置用于执行存储器122中存储的或者以别的方式可由处理器120访问的指令。指令在由处理器120执行时使媒体内容源104 执行如这里描述的媒体内容源104的一个或者多个功能。这样,处理器120无论是通过硬件或者软件操作还是通过其组合来配置都可以代表在相应配置时能够根据本发明的实施方式执行操作的实体。因此例如当处理器120实施为ASIC、FGPA等时,处理器120可以包括用于执行这里描述的一个或者多个操作的具体配置的硬件。备选地,作为另一示例,当处理器120实施为指令执行器时,指令可以具体配置处理器120(该处理器如果未用于由指令提供的具体配置则可以另外是通用处理单元)执行这里描述的一个或者多个算法和操作。存储器122可以例如包括易失性和/或非易失性存储器。虽然在图1中图示为单个存储器,但是存储器122可以包括可以实施于单个计算设备上或者分布于多个计算设备上的多个存储器。存储器122可以包括易失性存储器、非易失性存储器或者其一些组合。在此方面,存储器112可以例如包括硬盘、随机存取存储器、高速缓存存储器、闪存、光盘只读存储器(CD-ROM)、数字万用盘只读存储器(DVD-ROM)、光盘、配置用于存储信息的电路或者其一些组合。存储器122可以被配置用于存储用于使媒体内容源104能够根据本发明的实施方式执行各种功能的信息、数据、应用、指令等。例如在至少一些实施方式中,存储器122被配置用于缓冲用于由处理器120处理的输入数据。附加地或备选地,在至少一些实施方式中,存储器122被配置用于存储用于由处理器120执行的程序指令。存储器122可以用静态和/或动态信息的形式存储信息。媒体流式传输单元1 可以存储和/或在执行它的功能的过程期间使用这一存储的信息。通信接口 IM可以实施为配置用于通过网络108从远程设备接收数据和/或向远程设备发送数据的用硬件;包括存储在计算机可读介质(例如,存储器12 上并且由处理设备(例如,处理器120)执行的计算机可读程序指令的计算机程序产品的任何设备或者装置。在至少一个实施方式中,通信接口 1 至少部分实施为处理器120或者以别的方式由处理器120控制。在此方面,通信接口 IM可以例如经由总线来与处理器120通信。通信接口 IM可以例如包括天线、发送器、接收器、收发器和/或用于实现与系统100的其他实体通信的支持硬件或者软件。通信接口 1 可以被配置用于使用任何可以用于系统100的计算设备之间通信的协议来接收数据和/或发送数据。通信接口 IM还可以例如经由总线来与存储器122、用户接口 1 和/或媒体流式传输单元1 通信。用户接口 1 可以与处理器120通信以接收对用户输入的指示和/或向用户提供可听、可视、机械或者其他输出。这样,用户接口 1 可以例如包括键盘、鼠标、操纵杆、显示器、触屏显示器、麦克风、扬声器和/或其他输入/输出机制。在媒体内容源104实施为一个或者多个服务器的实施方式中,可以限制或者甚至消除用户接口 126。用户接口 1 可以例如经由总线来与存储器122、通信接口 IM和/或媒体流式传输单元1 通信。媒体流式传输单元1 可以实施为各种装置,例如硬件、包括存储在计算机可读介质(例如,存储器12 上并且由处理设备(例如,处理器120)执行的计算机可读程序指令的计算机程序产品或者其一些组合,并且在一个实施方式中具体化为处理器120或者以别的方式由处理器120控制。在媒体流单元1 与处理器120分开实施的实施方式中,媒体流式传输单元1 可以与处理器120通信。媒体流式传输单元1 还可以例如经由总线来与存储器122、通信接口 125和/或用户接口 1 通信。在一个示例实施方式中,媒体回放单元118被配置用于向媒体内容源104发送针对媒体文件的传送协议请求。在一个示例实施方式中,请求的媒体文件包括媒体文件,该媒体文件包括与媒体文件中的媒体数据关联的元数据。在另一示例实施方式中,请求的媒体文件包括与ISO基本媒体文件格式相符的媒体文件。ISO基本媒体文件格式的示例包括3GP 媒体文件和活动图像专家组4(MPEG-4)部分14(MP4)文件。该请求例如响应于经由用户接口 116接收的用户输入或者请求而被发送。传送协议请求包括媒体文件将被流式传输到客户端设备102的指示。在一个示例实施方式中,传送协议请求包括HTTP GET请求。HTTP GET请求包括头部字段,该头部字段包括指示将流式传输媒体文件的标记。例如,头部字段可以包括“Expect”头部字段,并且包括例如“http-streaming”的标记,其被定义为指示要求媒体内容源104支持媒体文件的 HTTP流式传输,例如3GP媒体文件的基于3GPP的HTTP流式传输。在另一示例中,头部字段包括“ft^gma”头部字段,并且包括例如“http-streaming”的标记,其被定义为指示向媒体内容源104查询对请求的媒体文件的HTTP流式传输的支持。在一个示例实施方式中,媒体流式传输单元1 被配置用于接收由客户端设备 102发送的传送协议请求。如果传送协议请求包括所请求的媒体文件将被流式传输到客户端设备102的指示,并且媒体内容源104未被配置用于流式传输媒体文件,则媒体流式传输单元1 被配置用于向客户端设备102发送错误消息。如果媒体内容源104被配置用于流式传输媒体文件,则媒体流式传输单元1 被配置用于在向客户端设备102发送的答复消息中包括支持。可以将这样的支持指示为HTTP答复消息的I^agma头部字段的部分。在一个示例实施方式中,媒体流式传输单元1 还被配置用于响应于接收针对媒体文件的传送协议请求而从存储器122或者媒体内容源104可访问的其他存储器获取所请求的媒体文件。媒体流式传输单元1 被配置用于提取与媒体文件中的媒体数据关联的至少部分信息。在一个示例实施方式中,提取的信息部分可以包括元数据的与媒体文件中的媒体数据关联的部分。例如,提取的元数据的部分包括关于媒体文件内容的一般信息,例如媒体文件中的媒体数据和/或不同轨道的类型。提取的元数据的部分例如仅包括可由客户端设备用来从媒体文件选择至少一个轨道的信息。与媒体文件关联的元数据例如可以根据下表中概括的ISO基本媒体文件格式来构造
权利要求
1.一种方法,包括接收针对媒体文件的传送协议请求,所述传送协议请求指示所述媒体文件将被流式传输至请求所述媒体文件的客户端设备;发送对所述媒体文件的至少部分内容进行描述的元数据的至少一部分;提取与所述媒体文件中的一个或者多个媒体数据样本相对应的元数据的一个或者多个其他部分;以及渐进式发送提取的所述元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的所述一个或者多个媒体数据样本。
2.根据权利要求1所述的方法,其中接收传送协议请求包括接收包括头部字段的超文本传送协议GET请求,所述头部字段包括指示所述媒体文件将被流式传输的标记。
3.根据权利要求1或2所述的方法,其中所述元数据的一个或者多个其他部分描述以下一个或多个所述媒体数据的结构,所述媒体数据的解码参数,或者所述媒体数据的呈现参数。
4.根据权利要求1-3任一项所述的方法,还包括接收对所述媒体文件的媒体轨道的子集的选择;并且其中渐进式发送的所述一个或者多个媒体数据样本与所选择的媒体轨道的子集的至少一个相关联。
5.根据权利要求1-4任一项所述的方法,其中接收传送协议请求包括在媒体内容源处接收传送协议请求;以及所述方法还包括从存储器访问所请求的媒体文件。
6.一种计算机程序产品,包括至少一个计算机可读存储介质,所述计算机可读存储介质具有存储于其中的计算机可读程序指令,所述计算机可读程序指令包括用于使得装置接收针对媒体文件的传送协议请求的程序指令,所述传送协议请求指示所述媒体文件将被流式传输至请求所述媒体文件的客户端设备;用于使所述装置渐进式发送对所述媒体文件的至少部分内容进行描述的元数据的至少一部分的程序指令;用于使所述装置提取与所述媒体文件中的一个或者多个媒体数据样本相对应的元数据的一个或者多个其他部分的程序指令;以及用于使所述装置渐进式发送提取的所述元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的所述一个或者多个媒体数据样本的程序指令。
7.根据权利要求6所述的计算机程序产品,其中用于使所述装置接收所述传送协议请求的程序指令包括用于使所述装置接收超文本传送协议GET请求的指令,所述超文本传送协议GET请求包括头部字段,所述头部字段包括指示所述媒体文件将被流式传输的标记。
8.根据权利要求6或7所述的计算机程序产品,其中所述元数据的一个或者多个其他部分描述以下一个或多个所述媒体数据的结构,所述媒体数据的解码参数,或者所述媒体数据的呈现参数。
9.根据权利要求6-8任一项所述的计算机程序产品,还包括用于使所述装置接收对所述媒体文件的媒体轨道的子集的选择的程序指令;并且其中用于使所述装置渐进式发送提取的所述元数据的一个或者多个其他部分以及相对应的所述一个或者多个媒体数据样本的程序指令包括用于使所述装置渐进式发送与所选择的媒体轨道的子集的至少一个相关联的一个或者多个媒体数据样本的指令。
10.一种装置,包括 处理器,以及存储器,存储有可执行指令,所述存储器和所述可执行指令由所述处理器配置用于使所述装置至少 接收针对媒体文件的传送协议请求,所述传送协议请求指示所述媒体文件将被流式传输至请求所述媒体文件的客户端设备;发送对所述媒体文件的至少部分内容进行描述的元数据的至少一部分; 提取与所述媒体文件中的一个或者多个媒体数据样本相对应的元数据的一个或者多个其他部分;以及渐进式发送提取的所述元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的所述一个或者多个媒体数据样本。
11.根据权利要求10所述的装置,其中所述存储器和所述可执行指令由所述处理器配置用于使所述装置通过接收包括头部字段的超文本传送协议GET请求来接收传送协议请求,所述头部字段包括指示所述媒体文件将被流式传输的标记。
12.根据权利要求10或11所述的装置,其中所述元数据的一个或者多个其他部分描述以下一个或多个所述媒体数据的结构,所述媒体数据的解码参数,或者所述媒体数据的呈现参数。
13.根据权利要求10-12任一项所述的装置,其中所述存储器和所述可执行指令由所述处理器配置用于使所述装置进一步接收对所述媒体文件的媒体轨道的子集的选择;并且其中所述指令在由所述处理器执行时使所述装置通过渐进式发送与所选择的媒体轨道的子集的至少一个相关联的一个或者多个媒体数据样本,来渐进式发送一个或者多个媒体数据样本。
14.一种设备,包括用于接收针对媒体文件的传送协议请求的装置,所述传送协议请求指示所述媒体文件将被流式传输至请求所述媒体文件的客户端设备;用于发送对所述媒体文件至少部分内容进行描述的元数据的至少一部分的装置; 用于提取与所述媒体文件中的一个或者多个媒体数据样本相对应的元数据的一个或者多个其他部分的装置;以及用于渐进式发送提取的所述元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的所述一个或者多个媒体数据样本的装置。
15.一种方法,包括向媒体内容源发送针对媒体文件的传送协议请求,其中所述传送协议请求指示所述媒体文件将被流式传输;接收对所述媒体文件的至少部分内容进行描述的元数据的至少一部分;以及渐进式接收元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的一个或者多个媒体数据样本。
16.根据权利要求15所述的方法,其中发送传送协议请求包括发送包括头部字段的超文本传送协议GET请求,所述头部字段包括指示所述媒体文件将被流式传输的标记。
17.根据权利要求15或16所述的方法,其中所述元数据的一个或者多个其他部分描述以下一个或多个所述媒体数据的结构,所述媒体数据的解码参数,或者所述媒体数据的呈现参数。
18.根据权利要求15-17任一项所述的方法,还包括至少部分地基于接收到的所述元数据的至少一部分来选择所述媒体文件的媒体轨道的子集;以及向所述媒体内容源发送所述选择的指示;并且其中渐进式接收元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的一个或者多个媒体数据样本包括渐进式接收与所选择的媒体轨道的子集的至少一个相关联的一个或者多个媒体数据样本。
19.一种计算机程序产品,包括至少一个计算机可读存储介质,所述计算机可读存储介质具有存储于其中的计算机可读程序指令,所述计算机可读程序指令包括用于使装置向媒体内容源发送针对媒体文件的传送协议请求的程序指令,其中所述传送协议请求指示所述媒体文件将被流式传输;用于使所述装置接收对所述媒体文件的至少部分内容进行描述的元数据的至少一部分的程序指令;以及用于使所述装置渐进式接收元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的一个或者多个媒体数据样本的程序指令。
20.根据权利要求19所述的计算机程序产品,其中用于使所述装置发送所述传送协议请求的程序指令包括用于使所述装置发送包括头部字段的超文本传送协议GET请求的指令,所述头部字段包括指示所述媒体文件将被流式传输的标记。
21.根据权利要求19或者20所述的计算机程序产品,其中所述元数据的一个或者多个其他部分描述以下一个或多个所述媒体数据的结构,所述媒体数据的解码参数,或者所述媒体数据的呈现参数。
22.根据权利要求19-21任一项所述的计算机程序产品,还包括用于使所述装置至少部分地基于接收到的所述元数据的至少一部分来选择所述媒体文件的媒体轨道的子集的程序指令;以及用于使所述装置向所述媒体内容源发送所述选择的指示的程序指令;并且其中用于使所述装置渐进式接收元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的一个或者多个媒体数据样本的程序指令包括用于使所述装置渐进式接收与所选择的媒体轨道的子集的至少一个相关联的一个或者多个媒体数据样本的指令。
23.一种装置,包括处理器,以及存储器,存储有可执行指令,所述存储器和所述可执行指令由所述处理器配置用于使所述装置至少向媒体内容源发送针对媒体文件的传送协议请求,其中所述传送协议请求指示所述媒体文件将被流式传输;接收对所述媒体文件的至少部分内容进行描述的元数据的至少一部分;以及渐进式接收元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的一个或者多个媒体数据样本。
24.根据权利要求23所述的装置,其中所述存储器和所述可执行指令由所述处理器配置用于使所述装置通过发送包括头部字段的超文本传送协议GET请求来发送传送协议请求,所述头部字段包括指示所述媒体文件将被流式传输的标记。
25.根据权利要求23或者对所述的装置,其中所述元数据的一个或者多个其他部分描述以下一个或多个所述媒体数据的结构,所述媒体数据的解码参数,或者所述媒体数据的呈现参数。
26.根据权利要求23-25任一项所述的装置,其中所述存储器和所述可执行指令由所述处理器一起配置用于使所述装置进一步至少部分地基于接收到的所述元数据的至少一部分来选择所述媒体文件的媒体轨道的子集;以及向所述媒体内容源发送所述选择的指示;并且其中所述存储器和所述可执行指令由所述处理器配置用于通过渐进式接收与所选择的媒体轨道的子集的至少一个相关联的一个或者多个媒体数据样本来渐进式接收元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的一个或者多个媒体数据样本。
27.一种设备,包括用于向媒体内容源发送针对媒体文件的传送协议请求的装置,其中所述传送协议请求指示所述媒体文件将被流式传输;用于接收对所述媒体文件的至少部分内容进行描述的元数据的至少一部分的装置;以及用于渐进式接收元数据的一个或者多个其他部分以及来自所述媒体文件的相对应的一个或者多个媒体数据样本的装置。
全文摘要
提供一种用于媒体文件流式传输的方法、装置和系统。一种方法可以包括接收针对媒体文件的传送协议请求,该传送协议请求指示将媒体文件将被流式传输至请求该媒体文件的客户端设备。该方法还可以包括发送描述媒体文件的至少部分内容的元数据的至少一部分。该方法还可以包括提取与媒体文件中的一个或者多个媒体数据样本相对应的元数据的一个或者多个其他部分。该方法还可以包括渐进式发送提取的元数据的一个或者多个其他部分以及来自媒体文件的相对应的一个或者多个媒体数据样本。还提供对应装置和系统。
文档编号H04L29/06GK102449975SQ201080023228
公开日2012年5月9日 申请日期2010年4月8日 优先权日2009年4月9日
发明者I·鲍阿齐齐 申请人:诺基亚公司