用于支持数字多媒体内容的播放列表导航的系统和方法

文档序号:7963616阅读:233来源:国知局
专利名称:用于支持数字多媒体内容的播放列表导航的系统和方法
技术领域
本发明总体上涉及在网络上进行数字多媒体内容的流传输,特别地,涉及提供支持数字多媒体内容导航的播放列表。
背景技术
随着当今广泛使用互联网作为主要通信媒介,网络被越来越多的用于传输数字多媒体数据或内容(例如,音频、全动态视频、图片等)。一个支持传输多媒体内容的简单网络架构的实例包括客户设备请求从服务器下载多媒体内容。一旦下载完成,客户可以使用或呈现该内容。尽管这个架构相对易于实现,客户在呈现能够开始之前必须等待下载的完成。当涉及大块的多媒体数据时,这个延迟可以是相当可观的。
一个传输多媒体数据的更加复杂的架构包括在一个网络站点处的内容服务器在该网络上“流传输”多媒体内容给在另一个站点处的客户。流传输是这样一个过程,其中在基于互联网协议(IP)的网络上发送的分组用于在数据到达客户处时向接收的客户连续地呈现多媒体数据。因此,如由用户所感知的,该多媒体内容被实质上实时呈现。因此,对于“流传输”架构,客户不必在显示多媒体数据前下载和存储巨大的文件。也就是说,客户可以在数据到达时开始呈现数据(即,实时重现(rendering)),而不是在开始呈现之前等待全部数据集到达。因此,在客户设备处,接收到的数据在一个高速缓冲存储器中缓冲并在由客户接收到后立即或稍后连续地处理,用于实时呈现多媒体内容。
大多数流传输媒体会话是直播会话或视频点播(VOD)会话,其典型地与单一的媒体剪辑(即,单一的VOD文件或单一的直播源,例如,摄像机)相关。然而,通过向单一的流传输会话中增加组合媒体剪辑的能力,能够基于多媒体流传输创建更丰富的应用。
一个最简单形式的播放列表是能够在流传输媒体会话期间用于管理本地多媒体内容的回放或控制服务器端多媒体内容的流传输的媒体剪辑列表。例如,播放列表能够包括媒体剪辑的列表,例如,一个节目内容和广告的混合体,流传输媒体服务器能够在与客户的流传输媒体会话期间将其流传输给客户。作为另一个实例,播放列表能够包括若干短的媒体剪辑或若干长块的节目。因此,播放列表提供可扩展的、动态的环境,用于经由流传输向用户传递可定制的音频和视频内容。
在客户-服务器流传输架构中,可以提供两种类型的播放列表客户端播放列表和服务器端播放列表。客户端播放列表使客户设备能够控制流传输经历,而服务器端播放列表使流传输媒体服务器能够控制流传输经历。另外,服务器端的播放列表提供给流传输多媒体服务器具有组合来自多媒体源(依次)的流,并在单一的会话中将来自每个媒体源的多媒体内容流传输给客户设备的能力。客户不需要(甚至可以不)知道存在多个多媒体源。这对于提供广告插入能力,或对于在对每个新媒体源没有明确的客户请求的情况下希望不间断的流传输(来自多个多媒体源)的应用,可以是有用的。
然而,服务器端播放列表的一个缺点是客户设备,或最终用户,不能动态地导航服务器端播放列表。由本发明人在于2005年3月3日提交的号为PCT/US2005/007145和PCT/US2005/007169的PCT申请中建议的一个解决方案,包括修改实时流协议(RTSP)来包含允许媒体播放器引擎接收服务器端播放列表和导航服务器端播放列表的播放列表协议。
因为当前的播放列表协议利用了使用在3GPP流传输会话中现有的RTSP通道进行私有消息发送,完全利用播放列表功能的应用需要实现这个协议的媒体播放器。当前,由于该协议的私有性质,仅存在有限数量的现有的提供此功能的媒体播放器(引擎)。这个事实妨碍了在现有的(不知道播放列表)3GPP播放器之上开发复杂的播放列表应用,如在从运营商购买时已经驻留于设备上的那些。这必定限制了能够使用播放列表流传输媒体服务器的应用的范围。
因此,由于接口的约束,现有的媒体播放器引擎不能提供完全的服务器端播放列表导航功能。结果,为了使服务器端播放列表变得广泛使用,该播放列表导航功能必须对于全部客户设备可用,而不管在客户设备中的媒体播放器引擎类型。
因此,所需要的是一种系统和方法,用于以对客户设备最小的影响和/或对在客户设备上驻留的现有媒体播放器没有影响来支持服务器端播放列表的客户端导航控制。

发明内容
本发明的实施方式提供一种使用媒体播放器引擎和媒体应用支持数字多媒体内容的播放列表导航的多媒体设备。该媒体播放器引擎经由在网络上的标准控制通道与内容源建立流传输媒体会话,并且在流传输媒体会话期间从内容源接收代表当前媒体剪辑的流传输数字多媒体内容。该媒体应用经由在网络上的、且在媒体播放器引擎和内容源之间的标准控制通道之外的外部接口与内容源通信。该媒体应用产生到该内容源的、以经由外部接口导航播放列表和控制流传输数字多媒体内容的播放列表导航消息。
在一个实施方式中,该媒体应用进一步可用于产生到该流传输媒体服务器的、用于识别包括当前媒体剪辑的多个媒体剪辑的播放列表的请求,以及可用于经由该外部接口从该流传输媒体服务器接收该播放列表。
在另一个实施方式中,该多媒体设备进一步包括一个接收包括用于该流传输媒体会话的会话标识符的统一资源定位符(URL)的web浏览器。该web浏览器向媒体播放器引擎提供包括会话标识符的URL,用于与内容源建立流传输媒体会话。另外,该媒体应用从URL中提取会话标识符,并使用会话标识符产生播放列表导航消息。
在又一个实施方式中,由媒体应用产生的播放列表导航消息包括会话标识符、播放列表的播放列表标识符、用于选定的媒体剪辑的媒体剪辑标识符和指示流传输媒体服务器从当前的媒体剪辑切换到选定的媒体剪辑的时间的定时参数。在又一个实施方式中,播放列表导航消息包括识别流传输媒体会话的会话标识符和提供相对于当前媒体剪辑的导航信息的相对导航请求参数。
本发明的实施方式进一步提供包括提供媒体剪辑和播放列表接入的流传输媒体服务器和具有媒体播放器引擎和媒体应用的多媒体设备的多媒体系统。该媒体播放器引擎经由在网络上的标准控制通道与流传输媒体服务器建立流传输媒体会话,并且在流传输媒体会话期间从流传输媒体服务器接收代表媒体剪辑中的当前一个的流传输数字多媒体内容。该媒体应用经由在网络上的、且在媒体播放器引擎和流传输媒体服务器之间的标准控制通道之外的外部接口与流传输媒体服务器通信。该媒体应用产生到该流传输媒体服务器的、以经由外部接口导航播放列表和控制流传输数字多媒体内容的播放列表导航消息。
在一个示例性实施方式中,多媒体系统进一步包括可用于在由产生播放列表导航消息的媒体应用使用的第一协议和由处理播放列表导航消息的流传输媒体服务器使用的第二协议之间转换的转换模块。在一个实施方式中,转换模块位于设备中。在另一个实施方式中,转换模块位于网络中。
本发明的实施方式进一步提供用于支持数字多媒体内容的播放列表导航的方法。该方法包括经由在网络上的标准控制通道与内容源建立流传输媒体会话和在流传输媒体会话期间从内容源接收代表播放列表中多个媒体剪辑中的当前一个的流传输数字多媒体内容。该方法进一步包括产生到内容源的用于导航播放列表的播放列表导航消息,以经由在网络上的、且在标准控制通道之外的外部接口控制流传输数字多媒体内容,以及基于播放列表导航消息从内容源连续地接收流传输数字多媒体内容。


通过参考下面结合附图的详细描述,可以得到对本发明更完全的理解,其中图1举例说明了依照本发明实施方式的一个用于从流传输媒体服务器向多媒体客户设备提供数字多媒体内容形式的媒体剪辑和识别该媒体剪辑的播放列表的示例性多媒体系统;图2是举例说明了依照本发明实施方式的一个支持播放列表导航的示例性客户-服务器配置的方框图;图3A描绘了依照本发明的实施方式的一个客户设备显示器,在其上显示出了数字多媒体内容和播放列表;图3B和3C代表依照本发明实施方式的由客户设备产生的示例性播放列表导航消息;
图4A是一个举例说明了依照本发明实施方式的用于支持播放列表导航的示例性过程的流程图;图4B是一个举例说明了依照本发明实施方式的用于支持播放列表导航的另一个示例性过程的流程图;图4C是一个举例说明了依照本发明实施方式的用于支持播放列表导航的又一个示例性过程的流程图;图5是一个举例说明了依照本发明实施方式的用于导航播放列表的示例性通信的消息流程图;图6-15是举例说明了依照本发明实施方式的在多媒体系统内的各种示例性客户-服务器配置的方框图。
具体实施例方式
参看图1,举例说明了一个能够实现本发明的各种实施方式的示例性多媒体系统100。多媒体系统100包括流传输媒体服务器110、数据库120、多个客户多媒体设备160a-160d和网络150a和150b。流传输媒体服务器110连接到网络150a以使用适合的基于文本的协议,如实时流协议(RTSP),将数字多媒体内容流传输给一个或更多的客户多媒体设备160a-160d。虽然流传输媒体服务器110被举例说明为连接到网络150a的单一节点,根据潜在的流传输媒体架构其功能性可以分布在多个节点之中。
数据库120用作为数字多媒体内容的存放处。流传输媒体服务器110与数据库120相连接以取回要经由网络150a和/或150b流传输给客户设备160a-160d的数字多媒体内容。在数据库120中,数字多媒体内容作为媒体剪辑130存储。每个媒体剪辑130包含数字媒体文件,如声音文件、图片数据文件、电影文件、文本文件或能被数字化存储在计算机上的任何其他类型的媒体。
基于用来分类、识别和/或描述媒体剪辑130的参数,媒体剪辑130在数据库120中被进一步组织。例如,如图1所示,媒体剪辑130被组织为能被概括为媒体集锦(包括混合数字媒体的集锦)的服务器端播放列表140。例如,播放列表140可以被用于通过流派、心情、艺术家、导演/制片人、听众、或任何其他有意义的安排来组合媒体。每个播放列表140识别一个或多个存储在数据库120上的个体媒体剪辑130。虽然保存在数据库120上的播放列表140会典型地仅仅识别包含在数据库120内的媒体剪辑130和其他播放列表140,在其他实施方式中,该播放列表140可以识别存储在其他数据库和/或其他流传输媒体服务器上的媒体剪辑或播放列表,这依赖于多媒体系统100的实现。如这里所使用的,术语“播放列表”涉及一个或多个流组,每个流代表一个特定的媒体剪辑130,这多个流作为一个完全的媒体馈送连续地流传输到客户设备160a-160d。
网络150a和150b举例说明了网络基础设施,其能够包括任何有线、无线、卫星、或电缆网络配置、或它们的组合,其能够支持在客户-服务器网络架构上从流传输媒体服务器110到各种能够接受这些内容的客户设备160a-160d的数字多媒体内容的传输。在一个实现中,网络150a可以包含公共分组交换网络,如可经由包括窄带(例如,拨号)和宽带(例如,电缆、数字用户线或DSL等)接入机制的合适的接入装置接入的互联网。可供选择地,网络150a可以实现为私有的企业级的内联网。无线网络150b可以实现为无线分组数据业务网络,如通用分组无线业务(GPRS)网络,其为使用基于全球移动通信系统(GSM)的运营商网络的蜂窝设施的移动设备提供分组无线接入。在另一个实现中,无线网络150b可以包含任何已知的或迄今未知的可用于使用包括短距无线保真(WiFi)接入点(AP)、基站或“热点”的合适的无线设施155服务于支持互联网协议(IP)的例如移动客户设备160d的手持设备的第三代合作伙伴项目(即,3GPP、3GPP2等)网络。应该理解本发明的实施方式适用于网络150a和150b的任何特定的无线或有线网络实现。
现在转向图2,举例说明了依照本发明的实施方式的、支持客户设备160从播放列表140选择特定媒体剪辑130的示例性客户-服务器配置200。在图2中,所示的客户设备160包括web浏览器210、媒体应用240、媒体播放器引擎250和输入设备260。在客户设备160上运行的web浏览器210可用于相对于用于定位流传输媒体内容,例如通过识别用于流传输媒体服务器110的统一资源定位符(URL),的用户请求和用户反馈与web服务器(未显示)相交互。
URL可以进一步识别流传输媒体服务器110可访问的特定播放列表140和/或媒体剪辑130。例如,每个播放列表140和/或媒体剪辑130可以由RTSP URL来识别。作为实例,该RTSP URLrtsp://media.example.com:554/twister/audiotrack识别在播放列表“twister”中的音频流媒体剪辑,它能经由到流传输媒体服务器110<media.example.com>的RTSP请求而控制。
媒体播放器引擎250,可以在软件、硬件、固件、或它们任何的组合中得到体现,与流传输媒体服务器110通信以建立流传输媒体会话,从那里接收流传输数字多媒体内容和在流传输媒体会话期间控制流传输数字多媒体内容的回放。例如,媒体播放器引擎250可以向流传输媒体服务器110发送RTSP请求以播放、暂停或停止流传输媒体会话。
媒体应用240是运行在客户设备160上的流传输媒体应用,其可用于在流传输媒体会话期间提供播放列表导航控制。作为实例,但不是限制,媒体应用240可以向流传输媒体服务器110提供指令来在播放列表140内相对于在播放列表内流传输媒体服务器播放的当前媒体剪辑进行移动(例如,下一个媒体剪辑,上一个媒体剪辑),在当前媒体剪辑内相对于在该媒体剪辑中流传输媒体服务器的当前位置进行移动(例如,快进或倒回),跳过在播放列表140内的一个或更多媒体剪辑130(例如,跳过媒体剪辑X),迅速从在播放列表140内的当前媒体剪辑130转换到另一个媒体剪辑130(例如,切换到媒体剪辑X),在特定时间开始播放在播放列表140内的另一个媒体剪辑130(例如,在时刻T切换到媒体剪辑X)和/或切换到另一个播放列表140(例如,切换到播放列表B)。
媒体应用240和媒体播放器引擎250每个都经由在网络230上的各自物理和逻辑通道与流传输媒体服务器110通信,该网络230可以包括例如图1所示的网络150a和150b的任何类型的网络或网络的组合。更特别地,媒体播放器引擎250经由物理通道220和标准逻辑控制通道255与流传输媒体服务器110通信,而媒体应用240经由逻辑通道245与流传输媒体服务器110通信。逻辑通道245代表到流传输媒体服务器110的外部接口245,其在媒体播放器引擎250和流传输媒体服务器110之间的标准逻辑控制通道255之外。
物理通道220使用传输协议,例如,实时协议(RTP),将数字多媒体内容从流传输媒体服务器110流传输到在客户设备160内的媒体播放器引擎250用于实时回放。外部接口245使用一个或更多通信协议(例如,HTTP或其他协议),其中至少一个为流传输媒体服务器110所理解,来访问与该流传输媒体会话相关的播放列表140和控制播放列表导航。例如,媒体应用240可以产生第一协议消息,用于通过外部接口245转换为流传输媒体服务器110使用的第二协议。转换模块(未示出)可以包括在客户设备160内,在流传输媒体服务器110内或网络(例如,在与设备160和服务器110通信的网络节点上)内来执行协议转换。
媒体播放器引擎250和流传输媒体服务器110之间的标准控制通道255使用应用层的基于文本的协议,如RTSP,会话初始协议(SIP),H.323等,来发起和控制流传输媒体会话。RTSP可用于控制多个流传输媒体会话,提供用于选择如用户数据报协议(UDP)通道,多播UDP通道等的传递通道的手段,也提供用于选择基于实时协议(RTP)的数据传递机制的手段。总之,RTSP建立和控制一个或更多例如音频和视频的连续媒体的时间同步流的回放。例如,RTSP可以被用来播放、暂停或停止流传输媒体会话。
如上所述,由RTSP所控制的流可以使用RTP以在物理通道220上进行数据传递,但RTSP的操作不依赖于用来承载连续媒体的传输机制。因此,RTSP会话不限于特定的传输层连接,如传输控制协议(TCP)。在RTSP会话期间,RTSP客户应用可以打开和关闭多个到服务器110的TCP传输连接来发布RTSP请求。可供选择地,RTSP可以使用无连接传输协议,如UDP。关于RTSP的额外细节可以在Schulzrinne等人的IETF请求注释(RFC)2326“Real TimeStreaming Protocol(RTSP)”(注明的日期1998年4月)中找到,这里通过参考将其并入。
在一个示例性 作中,接收到用于访问和取回流传输数字多媒体内容的URL后,媒体播放器引擎250在RTSP控制通道255上使用URL与和该流传输数字多媒体内容相关的流传输媒体服务器110建立流传输媒体会话。例如,媒体播放器引擎250能够在去往流传输媒体服务器110的RTSP请求中包括该URL以接收代表与特定播放列表140相关的一个或更多的媒体剪辑130的数字多媒体内容。作为响应,流传输媒体服务器110分派一个RTSP会话标识符给该流传输媒体会话并将该RTSP会话标识符传回媒体播放器引擎250用于控制流传输媒体会话。
一旦流传输媒体会话在RTSP控制通道255上在流传输媒体服务器110和媒体播放器引擎250之间建立,流传输媒体服务器110访问数据库120来取回由媒体播放器引擎250所请求的在特定播放列表140内的媒体剪辑130,将取回的与特定播放列表140相关的媒体剪辑130在物理RTP通道220上流传输到客户设备160。
在流传输媒体会话期间的任何时候,媒体应用240能够在外部接口245上与流传输服务器110通信来取回播放列表140和/或导航播放列表140来控制流传输到媒体播放器引擎250的数字多媒体内容。在一个实施方式中,媒体应用240可通信地连接到web浏览器210来取回URL并使用URL中的信息来从流传输媒体服务器110取回正确的播放列表140。例如,URL可以包括唯一的播放列表会话标识符,它被流传输媒体服务器110用于将从媒体应用240到特定流传输媒体会话的请求与媒体播放器引擎250关联。媒体应用240在每个发给流传输媒体服务器110的消息中包含该会话标识符来使流传输媒体服务器110能够识别该消息定向到哪个正在进行的流传输媒体会话。在另一个实施方式中,媒体应用240提供有RTSP会话标识符,并使用该RTSP会话标识符在外部接口245上路由该消息到流传输媒体服务器110。
另外,媒体应用240可用于连接到输入设备260,例如,鼠标、键盘、光笔、触摸笔、“软”键盘或其他输入设备,来接收代表用户输入的用户信号,用于导航播放列表140,从而控制从服务器110流传输到媒体播放器引擎250的数字多媒体内容。例如,输入设备260可以向媒体应用240提供这样的用户信号,其命令媒体应用240产生包括用于导航播放列表的导航参数的播放列表导航消息。作为实例,但不是限制,导航参数可以包括在播放列表140内移动到下一个媒体剪辑130或上一个媒体剪辑130,在当前媒体剪辑内移动,如快进或倒回,在播放列表140中跳过一个或多个媒体剪辑130,在播放列表140中转换到下一个媒体剪辑130和/或切换到另一个播放列表。响应于用户信号,媒体应用240产生并经由外部接口245发送播放列表导航消息给流传输媒体服务器110,并在播放列表导航消息中包括唯一的播放列表会话标识符或已分派的RTSP会话标识符。流传输媒体服务器110将唯一的播放列表会话标识符或RTSP会话标识符与具有媒体播放器引擎250的正在进行的流传输媒体会话相关联,并处理该用于正在进行的流传输媒体会话的消息。
例如,如果播放列表导航消息包括用于立即转换到在播放列表140中的下一个媒体剪辑130的请求,收到消息后,流传输媒体服务器110无缝地停止流传输当前媒体剪辑并开始流传输下一个媒体剪辑。由于客户设备160连续地从流传输媒体服务器110接收数字多媒体内容,在实时流传输数字多媒体内容的情况下用户不会察觉到任何不连续。因此,流传输数字多媒体内容对于流传输媒体会话的第一部分代表当前媒体剪辑和对于流传输媒体会话的第二部分代表下一个媒体剪辑。
图3A描述了一个依照本发明的实施方式的、在其上显示有数字多媒体内容(媒体剪辑130)和播放列表140的示例性的客户设备显示器170。在显示器上的图形用户界面(GUI)内显示播放列表140,使得用户能够从播放列表140中选择媒体剪辑130。例如,用户能够使用图2中所示的输入设备260在GUI 300上控制光标310和/或滚动条320的位置,来从播放列表140中选择一个或更多媒体剪辑130。例如,如图3A中所示,当前播放列表140包括剪辑A、B、C、D、E、F、G和H。在显示器上,剪辑A当前被播放。然而,如果用户想要跳到剪辑C,用户能够移动光标310和/或滚动条320来突出显示并选择剪辑C。
图3B代表依照本发明实施方式的由客户设备产生的示例性播放列表导航消息350。消息350包括会话标识符360(例如,在URL中接收到的唯一的播放列表会话标识符或由流传输媒体服务器分派的RTSP会话标识符)、识别选定的播放列表的播放列表标识符370、识别媒体剪辑的媒体剪辑标识符380、媒体剪辑偏移量390和定时参数395。媒体剪辑偏移量390可以用于指定在识别的剪辑中的哪点开始流传输。定时参数395(称为有效时间或激活时间)可以被提供用来确定何时满足客户发起的播放列表导航请求(例如,现在、当前剪辑的末尾,播放列表的末尾或基于时钟的时间值)。因此,定时参数395指示了流传输媒体服务器在何时在媒体剪辑之间进行切换。
图3C代表依照本发明实施方式的另一个由客户设备产生的示例性播放列表导航消息350。在图3C中的消息350是相对播放列表导航消息,其不要求媒体应用具有对播放列表文件的了解。因此,在媒体应用不能访问播放列表文件的实施方式中,媒体应用也能够提供服务器端播放列表的客户端导航控制。
在图3C中,消息350包括会话标识符360(例如,在URL中接收到的唯一的播放列表会话标识符或由流传输媒体服务器分派的RTSP会话标识符)、相对导航请求参数365、媒体剪辑偏移量390和定时参数395。相对导航请求参数365提供指令用于流传输媒体服务器相对于在播放列表和/或媒体剪辑内流传输媒体服务器的当前位置改变流传输到客户设备的多媒体数字内容。作为实例,但不是限制,相对导航请求参数365可以包括请求在播放列表140内相对于在播放列表内流传输媒体服务器播放的当前媒体剪辑移动(例如,下一个媒体剪辑、上一个媒体剪辑)或在当前媒体剪辑内相对于在媒体剪辑内流传输媒体服务器的当前位置移动(例如,快进或倒回)。媒体剪辑偏移量390可以用于指定在下一个/上一个剪辑内的哪一点流传输开始或在当前剪辑内哪一点流传输开始。定时参数395(称为有效时间或激活时间)可以被提供用来确定何时满足客户发起的播放列表导航请求(例如,现在、当前剪辑的末尾、播放列表的末尾或基于时钟的时间值)。
图4A举例说明了依照本发明实施方式的用于支持播放列表导航的示例性过程400。首先,在方框402处,由客户设备产生在RTSP控制通道上到流传输媒体服务器的RTSP SETUP消息,以在其之间建立流传输媒体会话。在方框404处,客户设备接收代表与流传输媒体会话相关的播放列表内的媒体剪辑的流传输数字多媒体内容。在当前剪辑的末尾,流传输媒体服务器不中断地转换到来自播放列表内的下一个媒体剪辑的流传输。
在来自当前媒体剪辑的流传输继续的同时,在方框406处,做出判定是否接收到用于播放列表导航的用户输入。例如,用户输入可以请求在播放列表内移动到下一个媒体剪辑或上一个媒体剪辑;在当前媒体剪辑内移动,如快进或倒回;跳过一个或更多在播放列表内的媒体剪辑、立即或在特定时间转换到在播放列表内的另一个媒体剪辑和/或切换到另一个播放列表。如果这样(406的是分支),在方框408处,客户设备产生包括导航参数的播放列表导航消息,该参数命令流传输媒体服务器导航播放列表并根据用户输入改变流传输到客户设备的数字多媒体内容,并经由外部接口将播放列表导航消息发送到流传输媒体服务器。例如,客户设备能够产生包括新媒体剪辑参数的播放列表导航消息,如以上结合图3B所描述的,或相对导航请求参数,如以上结合图3C所描述的。
对其的响应,在方框410处,流传输媒体服务器根据包括在播放列表导航消息中的导航参数来导航播放列表,并在导航后继续流传输数字多媒体内容以便客户设备连续地接收流传输数字多媒体内容。因此,播放列表导航消息允许用户控制流传输到客户设备的数字多媒体内容。依赖于特定的消息参数,可以在接收播放列表导航消息后立即或在特定时间点上开始导航。
如果用于播放列表导航的用户输入没有收到(406的否分支),客户设备继续以在播放列表中所指定的媒体剪辑顺序接收数字多媒体内容。因此,在到达当前媒体剪辑末尾后,流传输媒体服务器从播放列表内的下一个媒体剪辑继续流传输。这个过程将持续,直到播放列表结束。
图4B举例说明了依照本发明实施方式的另一个用于支持播放列表导航的示例性过程420。首先,在方框422处,由客户设备产生在过RTSP控制通道上到流传输媒体服务器的RTSP SETUP消息,以在其之间建立流传输媒体会话。另外,在方框424处,客户设备进一步产生经由外部接口到流传输媒体服务器的用于与流传输媒体会话相关的播放列表的请求。例如,播放列表能够包括媒体剪辑标识符和其他媒体剪辑元数据,如编码、网络地址和其他关于内容的信息的集合,用于在当前正流传输给客户设备的播放列表内的全部媒体剪辑。在一个示例性实施方式中,播放列表也包括媒体剪辑被连续地流传输给客户设备的顺序。
响应于播放列表请求,在方框426处,客户设备经由外部接口从流传输媒体服务器接收所请求的播放列表。另外,在方框428处,客户设备进一步接收代表在播放列表内的一个媒体剪辑的流传输数字多媒体内容。在当前剪辑的末尾,流传输媒体服务器不中断地转换到来自在播放列表内的下一个媒体剪辑的流传输。
在来自下一个媒体剪辑的流传输继续的同时,在方框430处,做出用于播放列表导航的用户输入是否收到的判定。例如,用户输入可以请求在播放列表内移动到下一个媒体剪辑或上一个媒体剪辑,在当前媒体剪辑内移动,如快进或倒回,跳过在播放列表内的一个或更多媒体剪辑,立即或在特定时刻转换到在播放列表内的另一个媒体剪辑和/或切换到另一个播放列表。如果这样(430的是分支),在方框432处,客户设备产生包括用于命令流传输媒体服务器根据用户输入来导航播放列表的导航参数的播放列表导航消息,并经由外部接口向流传输媒体服务器发送该播放列表导航消息。
例如,如果用户输入选择在播放列表内的另一个媒体剪辑,客户设备能够产生SWITCH消息来从当前媒体剪辑改变到选定的媒体剪辑,并经由外部接口向流传输媒体服务器发送该消息。对其的响应,在方框434处,流传输媒体服务器根据包括在播放列表导航消息中的导航参数导航播放列表,并在导航后继续无缝地流传输数字多媒体内容。使用上述实例,流传输媒体服务器会无缝地切换到在播放列表内的选定的媒体剪辑,从而客户设备连续地接收流传输数字多媒体内容。依靠特定的消息参数,来自当前剪辑的流传输能够持续直到末尾或可以在从客户设备接收到SWITCH消息后立即完全终止。
如果选择新媒体剪辑的用户输入没有接收到(430的否分支),客户设备继续以播放列表中所指定的媒体剪辑顺序接收数字多媒体内容。因此,到达当前媒体剪辑末尾后,流传输媒体服务器从播放列表内的下一个媒体剪辑继续流传输。这个过程将持续,直到播放列表结束。
图4C举例说明了依照本发明实施方式的另一个用于支持播放列表导航的示例性过程450。首先,在方框452处,客户多媒体设备接收包括用于流传输媒体会话的播放列表会话标识符的RTSP URL。在方框454处,客户设备使用RTSP URL建立流传输媒体会话。例如,客户设备能够在在RTSP控制通道上发送给流传输媒体服务器以在其之间建立流传输媒体会话的RTSP SETUP消息中包括完整的RTSP URL。
另外,在方框456处,客户设备进一步使用包括在RTSP URL内的播放列表会话标识产生到流传输媒体服务器的用于与该流传输媒体会话相关联的播放列表的请求。例如,客户设备能够将播放列表会话标识符置于消息中并经由外部接口向流传输媒体服务器发送该消息。播放列表包括在播放列表内的全部媒体剪辑的媒体剪辑标识符和媒体剪辑将被连续地流传输给客户设备的顺序。作为对播放列表请求的响应,客户设备经由外部接口从流传输媒体服务器接收所请求的播放列表。另外,在方框458,客户设备进一步接收代表播放列表中的一个媒体剪辑的流传输数字多媒体内容。
在来自当前媒体剪辑的流传输继续的同时,在方框460处,做出用于播放列表导航的用户输入是否收到的判定。例如,用户输入可以请求在播放列表内移动到下一个媒体剪辑或上一个媒体剪辑,在当前媒体剪辑内移动,如快进或倒回,跳过在播放列表内的一个或更多媒体剪辑,立即或在特定时刻转换到在播放列表内的另一个媒体剪辑和/或切换到另一个播放列表。如果这样(460的是分支),在方框462处,客户设备产生包括用于命令流传输媒体服务器根据用户输入来导航播放列表的导航参数的播放列表导航消息,并经由外部接口向流传输媒体服务器发送包括播放列表会话标识符的播放列表导航消息。对其的响应,在方框464处,流传输媒体服务器根据包括在播放列表导航消息中的导航参数导航播放列表,并在导航后继续无缝地流传输数字多媒体内容。
然而,如果选择新媒体剪辑的用户输入没有接收到(460的否分支),客户设备继续以播放列表中所指定的媒体剪辑顺序接收数字多媒体内容。因此,到达当前媒体剪辑末尾后,流传输媒体服务器从播放列表内的下一个媒体剪辑继续流传输。这个过程将持续,直到播放列表结束。
图5是举例说明了依照本发明实施方式的用于导航播放列表的示例性通信的消息流程图。在图5中,web浏览器210、客户媒体应用240和客户媒体播放器引擎250包括在数字多媒体设备160中,其被部署在具有流传输媒体服务器网络节点110的客户-服务器配置中。web浏览器210与web入口500通信,用于访问由服务器应用模块(AM)510维护的播放列表和媒体内容标识符。服务器应用模块501与流传输媒体服务器110通信以接收更新的播放列表和媒体内容标识符。
为了访问特定的播放列表,web浏览器210在步骤502产生到web入口500的用于特定播放列表的内容请求。响应于内容请求,web入口500在步骤504产生到AM501上的CreateMetafile服务的用于与该特定播放列表相关的SDP文件的SDP文件请求。其后,AM501产生用于该特定播放列表的SDP文件并在步骤506将SDP文件发回web入口500,web入口500接下来在步骤508将SDP文件发回web浏览器210。本领域技术人员应该认识到SDP文件包含经由RTSP DESCRIBE请求获得的数据,以及附加信息。因此,SDP文件包括与特定播放列表相关的URL。另外,依照本发明实施方式,SDP文件也包括由AM501上的CreateMetafile服务产生的用于客户设备160的唯一的播放列表会话标识符。在示例性实施方式中,该唯一的播放列表会话标识符作为提供的URL的一部分被包括在SDP文件中。
接收到包括唯一的播放列表会话标识符的SDP文件后,在步骤510,web浏览器210将具有唯一的播放列表会话标识符的SDP文件发送到媒体应用240。在步骤512,媒体应用240从SDP文件中提取唯一的播放列表会话标识符,并在步骤514,媒体应用240将具有唯一的播放列表会话标识符的SDP文件发送到媒体播放器引擎250。媒体播放器引擎250在步骤516使用SDP文件产生到流传输媒体服务器110的RTSP内容请求消息(例如,RTSP SETUP消息)。在示例性实施方式中,媒体播放器引擎250将包括唯一的播放列表会话标识符的URL置于RTSP内容请求消息中以访问与流传输媒体服务器110相关的特定播放列表。流传输媒体服务器110在步骤518从RTSP内容请求中提取唯一的播放列表会话标识符并将唯一的播放列表会话标识符与由流传输媒体服务器110分派的RTSP会话标识符相关联。
其后,一旦RTSP PLAY消息由媒体播放器引擎250发送到流传输媒体服务器110,流传输媒体服务器110开始其间的流传输媒体会话。在流传输媒体会话期间,在步骤520,流传输媒体服务器110向媒体播放器引擎250提供用于与已分派的RTSP会话标识符相关的RTSP会话的RTP内容流。例如,流传输媒体服务器110可以依次地流传输代表在URL中识别的特定播放列表内的每个媒体剪辑的数字多媒体内容。在一个媒体剪辑的末尾,流传输模块不中断地转换到来自播放列表内的下一个媒体剪辑的流传输。因此,在正常回放期间,流传输媒体服务器110可用于依次无缝地打开在播放列表中的每个相继的媒体剪辑文件并无中断的继续流传输,这在媒体播放器引擎250看来是连续的RTP会话。
为了在客户设备160支持播放列表选择,在步骤522,媒体应用240产生具有在步骤512处从SDP文件中提取的唯一的播放列表会话标识符的播放列表请求,并向流传输媒体服务器110发送该播放列表请求。响应于该播放列表请求,在步骤524处,流传输媒体服务器110将包括在播放列表请求中的唯一的播放列表会话标识符与分派给具有媒体播放器引擎240的流传输媒体会话的RTSP会话标识符相关联,以及在步骤526,流传输媒体服务器110处理播放列表请求来取回用于具有媒体播放器引擎250的流传输媒体会话的与RTSP会话标识符相关联的播放列表。其后,在步骤528,流传输媒体服务器110向媒体应用240发送所请求的播放列表。播放列表包括,例如,播放列表内的全部媒体剪辑的媒体剪辑身份和媒体剪辑被依次地流传输给媒体播放器引擎250的顺序。
应该理解,在其他实施方式中,一个或更多的步骤524-528可以是可选的,因为媒体应用240可能不请求播放列表或媒体应用240可能不能访问播放列表。然而,媒体应用240也能够提供播放列表导航控制,如以上结合图3C和4A所描述的,和如以下结合步骤530-536所描述的。
在流传输媒体会话期间,媒体应用240可以使用唯一的播放列表会话标识符产生播放列表导航消息来导航播放列表(例如,在播放列表内从当前媒体剪辑改变到选定的媒体剪辑),以及在步骤530,发送包括播放列表会话标识符的播放列表导航消息给流传输媒体服务器110。对其的响应,在步骤532,流传输媒体服务器110将包括在播放列表请求内的唯一的播放列表会话标识符与分派给具有媒体播放器引擎240的流传输媒体会话的RTSP会话标识符相关联,并在步骤534,流传输媒体服务器110处理播放列表导航消息以依照包括在播放列表导航消息中的导航参数来导航播放列表。其后,在步骤536,流传输媒体服务器110基于导航消息继续具有RTSP ID的RTP内容流,从而媒体播放器引擎250连续地从流传输媒体服务器110接收流传输数字多媒体内容。
图6-15是举例说明了依照本发明实施方式的在多媒体系统内的各种示例性客户-服务器配置的方框图。在图6-15中,RTSP通信由粗点线表示,RTP/RTCP通信由实线表示以及播放列表协议通信由虚线表示。当虚线单独显示时,播放列表协议可以使用任何外部协议,如超文本传输协议(HTTP)来实现。然而,当虚线被粗点线包围时,播放列表协议是RTSP通信的一部分(即,RTSP已经被修改为包括播放列表命令)。
在图6中,在客户设备160上实现RTSP代理600来提供播放列表选择能力而不必提供支持播放列表的媒体播放器引擎250。流传输媒体服务器110不知道代理600,并因此,与客户设备160通信,好像媒体播放器引擎250是支持播放列表的。因此,代理600使用RTSP和播放列表协议与流传输媒体服务器110通信。代理600将来自流传输媒体服务器110的RTSP通信传递给媒体播放器引擎250并将来自流传输媒体服务器110的播放列表协议通信传递给媒体应用240。因此,代理600在由流传输媒体服务器110使用的相组合的RTSP/播放列表协议和由媒体应用240使用的播放列表协议之间转换。同样地,媒体应用240和流传输媒体服务器110之间的外部接口由代理600实现。
然而,图6所示的配置需要客户端模块,即,RTSP/播放列表代理600。这种配置依赖于代理600在没有来自3GPP流传输媒体播放器引擎250的了解或帮助的情况下有效地在客户设备160上指派TCP套接字的能力,这在有向3GPP引擎250提供用于在流传输中使用的网络模块的选择的客户设备160上是可行的。如果不提供这样的选择,这种配置是不可行的。
图7举例说明了另一个示例性客户-服务器配置,其中RTSP/播放列表代理600驻留在客户设备160的外部。在这个配置中,RTSP和播放列表协议通信流实际上与图6中所示的相同,但代理600位于网络内或流传输媒体服务器110内的某处。另外,在图7中,代理600也能在媒体播放器引擎250和流传输服务器110之间执行RTP/RTCP数据代理。
在图8中显示了另一种可选择的客户-服务器配置。在图8中,从流传输媒体服务器110,取代将播放列表协议通信封装在RTSP通信中(如图6和7中),播放列表协议通信通过在流传输媒体服务器110上的外部API流动。实际上,这种配置在概念上是与图6和7中所示的RTSP/RTP播放列表代理所呈现的相同的接口,即,在媒体应用240看来代理600好像是具有外部API的流传输媒体服务器。然而,为了实现在图8中的配置,流传输媒体服务器110需要修改来支持外部API。
尽管出于简单的目的在图8中显示了客户媒体应用240和流传输媒体服务器110之间的直接通信,实际上,客户媒体应用240需要与另一个服务器端模块接口通信来控制内容管理和访问。图9和10举例说明了具有附加的服务器端应用模块900的客户-服务器配置。尽管图9和10中所示的客户-服务器配置在概念上与图8中所示的配置相同,在图9和10中客户媒体应用240能够利用任何选择协议来与应用模块900通信。然而,应用模块900将仍旧需要使用“代理”外部API与流传输媒体服务器110通信。
图11举例说明了另一种示例性客户-服务器配置,其中播放列表选择功能在客户端播放列表模块1100和服务器端播放列表模块1110之间分配。播放列表模块1100和1110使用选择的播放列表协议进行通信。客户端播放列表模块1100可用于在由媒体应用240使用的协议和播放列表协议之间转换,而服务器端播放列表模块1110可用于在播放列表协议和由流传输媒体服务器110使用的“代理”外部API之间转换。这种配置允许在客户端播放列表模块1100和服务器端播放列表模块1110之间进行协议更新而不会影响媒体应用240、媒体播放器引擎250或流传输媒体服务器110。
图12举例说明了一个在图6中所示的客户-服务器配置的变异。在图12中,包括在客户设备160中的代理600也能够在媒体播放器引擎250和流传输服务器110之间执行RTP/RTCP数据代理。图13举例说明了一个图9中所示的客户-服务器配置的变异。在图13中,代理不在媒体播放器引擎250和流传输服务器110之间执行RTP/RTCP数据代理。
图14和15举例说明了示例性客户-服务器配置,其中媒体播放器引擎250是支持播放列表的,即,媒体播放器引擎理解相组合的RTSP/播放列表协议,但流传输媒体服务器110仅理解外部API播放列表协议。因此,取代在媒体播放器引擎250和流传输媒体服务器110之间的RTSP通信内直接地包括播放列表协议,提供代理600来经由外部API与流传输媒体服务器110传递播放列表协议消息。在图14中,代理600进一步能够在媒体播放器引擎250和流传输服务器110之间执行RTP/RTCP数据代理,然而在图15中,代理600不执行RTP/RTCP数据代理。
基于以上的描述,应该认识到本发明为流传输客户媒体应用提供请求流传输媒体服务器在播放列表边界内或跨越播放列表边界以跳到在相同播放列表内的或来自另一个播放列表文件的媒体剪辑,或在特定媒体剪辑内跳过一个偏移量的形式动态地导航的能力。而且,不管潜在的流传输架构(例如,RealMedia、Windows Media、QuickTime等等),这样的导航在示例性的客户-服务器网络配置内是可行的。此外,应该认识到本发明的教义可以结合其他客户/服务器协议,如会话初始协议(SIP)、H.323等实施。
如本领域的技术人员将认识到的,本申请中所描述的创新概念能够在广泛的应用范围上进行修改或更改。因此,专利主题的范围不应该被限制在所讨论的任何特定示例性教义上,而是由以下权利要求所限定。
权利要求
1.一种多媒体设备(160),包括可用于经由在网络(150)上的标准控制通道(255)与内容源建立流传输媒体会话和在该流传输媒体会话期间从该内容源接收代表播放列表(140)中的当前媒体剪辑(130)的流传输数字多媒体内容的媒体播放器引擎(250),其中该多媒体设备(160)的特征在于一个媒体应用(240),经由在该网络(150)上的、并且在该媒体播放器引擎(250)和该内容源之间的该标准控制通道(255)之外的外部接口(245)与该内容源通信;其中该媒体应用(240)可用于产生到该内容源的、以经由该外部接口(245)来导航该播放列表(140)和控制该流传输数字多媒体内容的播放列表导航消息(350)。
2.根据权利要求1所述的设备,进一步包括一个代理(600),可用于利用第一协议与该媒体应用(240)通信,利用第二协议与该媒体播放器引擎(250)通信,以及利用第一协议和第二协议与该内容源通信,其中该外部接口(245)由该代理(600)实现。
3.根据权利要求1所述的设备,其中该媒体应用(240)进一步可用于产生到该内容源的、用于识别包括当前媒体剪辑的多个媒体剪辑的播放列表(140)的请求,以及可用于经由该外部接口(245)从该内容源接收该播放列表(140)。
4.根据权利要求1所述的设备,进一步包括一个web浏览器(210),可用于接收包括用于流传输媒体会话的会话标识符(360)的统一资源定位符(URL),且可用于向该媒体播放器引擎(250)提供该包括该会话标识符(360)的URL,用于与该内容源建立流传输媒体会话,以及其中该媒体应用(240)进一步可用于从该URL中提取该会话标识符(360),并使用该会话标识符(360)产生该播放列表导航消息(350)。
5.根据权利要求4所述的设备,其中该播放列表导航消息(350)包括该会话标识符(360)、该播放列表(140)的播放列表标识符(370)、用于选定的媒体剪辑(130)的媒体剪辑标识符(380)和指示该内容源从当前的媒体剪辑切换到选定的媒体剪辑的时间的定时参数(395)。
6.根据权利要求1所述的设备,其中该播放列表导航消息(350)包括识别该流传输媒体会话的会话标识符(360)和提供相对于当前媒体剪辑(130)的导航信息的相对导航请求参数(365)。
7.根据权利要求1所述的设备,其中该标准控制通道(255)是实时流协议(RTSP)控制通道。
8.根据权利要求1所述的设备,其中该外部接口(245)是超文本传输协议(HTTP)接口。
9.一种多媒体系统(100),包括提供媒体剪辑(130)和播放列表(140)接入的流传输媒体服务器(110)和包括可用于经由在网络(150)上的标准控制通道(255)与该流传输媒体服务器(110)建立流传输媒体会话和在该流传输媒体会话期间从该流传输媒体服务器(110)接收代表播放列表(140)的当前一个中的媒体剪辑(130)的当前一个的流传输数字多媒体内容的媒体播放器引擎(250)的设备(160),其中该系统(100)的特征在于该设备(160)包括一个媒体应用(240),经由在该网络(150)上的、并且在该媒体播放器引擎(250)和该流传输媒体服务器(110)之间的该标准控制通道(255)之外的外部接口(245)与该流传输媒体服务器(110)通信;其中该媒体应用(240)可用于产生到该流传输媒体服务器(110)的、以经由该外部接口(245)来导航该播放列表(140)和控制该流传输数字多媒体内容的播放列表导航消息(350)。
10.根据权利要求9所述的系统,进一步包括一个转换模块,可用于在由产生该播放列表导航消息(350)的该媒体应用(240)使用的第一协议和由处理该播放列表导航消息(350)的该流传输媒体服务器(110)使用的第二协议之间转换。
全文摘要
一种多媒体设备(160),使用媒体播放器引擎(250)和媒体应用(240)支持数字多媒体内容的播放列表导航。该媒体播放器引擎(250)经由在网络(150)上的标准控制通道(255)与内容源建立流传输媒体会话,并在流传输媒体会话期间从该内容源接收代表播放列表(140)内当前媒体剪辑(130)的流传输数字多媒体内容。该媒体应用(240)经由在网络(150)上的、且在媒体播放器引擎(250)和内容源之间的标准控制通道(255)之外的外部接口(245)与内容源通信。该媒体应用(240)产生到内容源的播放列表导航消息(350),以经由外部接口(245)导航播放列表(140)和控制流传输数字多媒体内容。
文档编号H04M11/08GK101094136SQ200610093170
公开日2007年12月26日 申请日期2006年6月23日 优先权日2006年6月23日
发明者戴维·科西巴, 迈克·塞维拉, 鲍勃·华莱士, 休·威尔逊, 迈克尔·福斯特 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1