用于从内容集合器获取可获得的媒体业务的方法和设备 本申请是申请号为02803469.4、申请日为2002年1月4日、发明名称为“用于从内容集合器获取可获得的媒体业务的方法和设备”的申请的分案申请。
【技术领域】
本发明涉及对于媒体业务进行索引、获取和播放的领域,所述媒体业务特别是以从多个内容集合器(aggregator)可获得的流媒体形式的媒体业务。
背景技术
收听诸如音乐、新闻和谈话节目的无线电广播节目是通常被享受的媒体娱乐形式,它们通常被通过无线电波作为无线电传输而发送。
无线电传输存在由于使用无线电波的固有物理限制而导致的问题。例如,无线电波随着与其广播源的距离的增大而损失功率,从而接收者难以可靠地接收和解调来自一个远距离的广播。所述限制使得收听者如果在一个地理区域之外,则难以收听他们喜爱的电台(例如一个居住在波士顿的人通常无法收听来自洛杉矶的无线电广播)。此外,无线电波地频率必须被严格控制,这是因为为了防止干扰,无线电波只能容纳有限数量的电磁波。
通过使用替代的广播技术来克服经由无线电波进行广播的限制。一种方案将无线电台广播作为通过耦合到一个音频解码器的卫星反射器接收的卫星传输而传输。卫星广播具有一个比基于无线电波的传输更远的地理范围。而且,通过使用提高传输的带宽效率的多路复用和数据压缩这样的技术,卫星传输能够容纳比作为无线电波被广播更多的无线电台广播。卫星广播在可获得的节目选择方面受到限制,这是因为无线电台被卫星广播公司选择并且经由卫星的广播价格过高,从而不能充分代表从小的媒体市场可获得的广播选择。
随着通过诸如因特网的通信网进行的无线电和视频传输的发展,适用于收听者(或者观众)的节目选择的量不断增加。过去在其它情况下受到地理带宽或者其它约束所限制的无线电和视频业务(称作媒体业务)现在则通过因特网在世界范围内广播。拥有到因特网和启用因特网的设备(计算机、蜂窝电话、MP3音乐播放器、因特网设备、卫星接收机)的连接的用户能够接收以流媒体形式被广播的媒体业务。通常由计算机将媒体业务编码和压缩成为符合诸如TCP/IP的传输协议的分组。分组通过因特网被路由到收听者的设备,因为收听者的解码设备(例如具有象REALPLAYERTM、MACROMEDIA PLAYERTM和MP3PROTM这样的媒体播放器的计算机)中的软件将所述分组解压缩和解码成为音频/视频信号以便在输出设备(计算机、接收机、立体声系统、电视机)上播放。
因特网使收听者能够访问数以千计的媒体业务。适合用户的音乐类型随着用户可以选择收听一个音乐类型的子类型(例如播放1980年代的新一波音乐“子类型”的摇滚台“音乐类型)而同样扩张。收听者还可以将歌曲(媒体对象)或者听到的内容操作到一个播放列表中,该播放列表被根据收听者的偏爱而组织。通过选择一个到网站上的音乐文件的链接(统一资源指示符URI)或者通过使用接收媒体业务的流式馈送的媒体播放器来访问这些广播。在所有这些可定制的选项中,让用户找到所有可获得的媒体业务则是困难的,因为因特网上的内容是被无秩序地组织的。
用于组织通过因特网可获得的媒体业务的一个发展是使用调整业务或者媒体预定业务。诸如MUSICMATCHTM、LIVE365TM和STREAMWAVESTM的这些类型的业务(也称作内容集合器)利用其中用户从包括类型和表演者的类别中选择媒体业务的体系结构而将多个媒体业务一起带到一个公共点或者接口(例如网站、具有信道的流媒体播放器)。调整业务通常专用于保护包括媒体业务的版权所有的材料并且需要用于成功地使用调整业务来播放可获得的媒体业务的接口。使用专用的调整业务的限制通常限制用户激活从不同的内容集合器可获得的媒体业务,而无需切换到附加的设备。
【发明内容】
根据本发明的原理,公开了一种方法和设备,使得能够从多个内容集合器索引和获取媒体业务。通过从所述多个内容集合器索引可获得的媒体业务而生成媒体业务列表。所述方法和设备还描述了将从所述多个内容集合器的被选择的可获得媒体业务检索和输出到重放设备。
【附图说明】
图1表示由内容集合器集合的基于音频和视频的媒体业务的图。
图2表示在使用本发明的设备和多个内容集合器之间的因特网连接的图。
图3是格式化至内容集合器的请求的流程图。
图4是向内容集合器请求内容列表的框图。
图5是从多个内容集合器可获得的基于音频的媒体业务被索引成为统一的内容列表的图。
图6是从内容集合器请求和获取媒体业务的框图。
图7是同步使用模型从内容集合器请求和获取音乐业务的流程图。
图8是通过使用控制点从多个内容集合器请求和获取音乐业务的图。
图9是重放设备从内容集合器接收的作为计算机代码的媒体业务的内容列表的图。
图10是被内容适配器格式化成为重放设备的内部数据结构的媒体业务的内容列表的图。
图11是被XML分析程序格式化成一个菜单的媒体业务的内容列表的显示。
【具体实施方式】
在图1中,示出了对于内容集合器102可获得的媒体业务的组成。基于音频的媒体业务,象音频网站104、无线电台106、音乐业务108、作为基于音频馈送的源(例如音乐、无线电谈话节目、流媒体文件、棒球比赛、电视节目的音频、音频书籍)和视频台109(例如CNN、ABC、DIRECTV)是通过通信网110(例如因特网、公共交换电话网(PSTN)、局域网(LAN)、无线网、数字用户线(DSL)、对等网络)对于内容集合器102可获得的媒体业务。优选地,在媒体业务被作为符合TCP/IP协议的分组而发送的情况下,媒体业务经由通信网110被耦合到内容集合器102。可选地,内容集合器102接收被通过无线接口(射频、微波、红外线)发送的音频和视频馈送或者接收被本地存储在内容集合器102站点(诸如在硬盘驱动器、光存储器、可拆卸的存储设备或者磁带中)的媒体对象(例如被预先录制的音频-视频文件或者被作为流媒体发送的实时馈送)。
可用于传输的媒体业务包括音频和视频馈送。音频网站104是基于因特网的网站,它包括被以流媒体的形式发送的基于音频的媒体业务或者部分或者完全被发送的计算机文件。可选地,媒体业务可以支持通过媒体播放器(REALPLAYER、WINAMP和MICROSOFT WINDOWSMEDIA PLAYER)所播放的一种类型的媒体文件格式(例如REALAUDIO、REALMEDIA、APPLE QUICKTIME、MICROSOFT WINDOWSMEDIA FORMAT、MPEG-2 LAYER III AUDIO和MP3)。无线电台106是一个内容提供者,它将无线电节目作为基于音频的流媒体业务而广播。广播可以是直播的或者预先录制的。音乐业务108是一个基于预定的媒体业务(例如MUSAK、MUSIC CHOICE),它将节目作为通过内容集合器102可获得的基于音频的媒体业务而广播。视频馈送109是这样一种媒体业务,它被从电视台(例如CNN、ABC)发送或者作为对于内容集合器102可获得的视频业务(例如点播电影)被发送。
根据本发明的原理,在一个替代实施例中,内容集合器102作为web资源(例如网站、索引、目录)而存在,该web资源包括链接到媒体业务的位置的统一资源指示符(URI)。播放节目(例如流媒体播放器)(通过使用所列出的链接来)直接访问在其被列出的位置中的媒体业务,而不是直接从内容集合器102接收媒体业务。内容集合器102可以包括到媒体业务的位置的链接的索引并且可以具有被直接从内容集合器102发送的媒体业务。
统一资源指示符(URI)是通用的一组名称,该组名称涉及现有协议或者标识资源(例如网站、流媒体服务器)、业务(例如视频点播、互联网无线电通信)、设备(例如移动电话、启用互联网的设备)和数据文件(例如媒体文件和文本文档)的名称空间。URL是表示地址的URI的一种形式,所述地址使用网络协议(例如TCP/IP或者MPEG传输模式)映射成一种访问算法。当URL被使用时,特定的资源、业务、设备或者数据文件可以被访问和/或操纵。称作网际协议号或者地址(IP)的URI的一个替代形式是涉及特定资源、业务或者数据文件的一系列号。可选地,一般通过提供两种方式来访问希望的资源的域名服务器(DNS)将URL映射成IP号(例如或者使用域名www.whitehouse.gov或者使用IP地址198.137.240.91来访问一个资源)。
图2表示启用因特网的设备(重放设备202、电缆机顶盒204、计算机、蜂窝电话、MP3播放器、视频游戏系统)和多个内容集合器之间的连接。内容集合器102从音频网站104和无线电台106接收基于音频的媒体业务。诸如重放设备202的启用因特网的设备经由通信网110(例如因特网)访问内容集合器102。
重放设备202与内容集合器102通信,以便请求从内容集合器102可获得的媒体业务列表并且接收从所述媒体业务列表中选择的媒体业务。优选地,所述通信是过程调用以及包括计算机命令的请求,例如基于超文本标记语言(HTML)或者扩展标记语言(XML)的请求,它们作为附加到传输结构(例如传输控制协议/网际协议(TCP/IP))的分组通过通信网110加以传送。所述过程调用通过使用应用编程接口(API)而被格式化。这个接口包括由程序或者设备所使用的用于启动一个具体动作的一系列函数(例如启用因特网的设备使用音频API来控制声卡以便播放基于音频的媒体业务)。
作为启用因特网的设备的重放设备202包含用于与内容集合器102通信和交互的硬件和软件(API和程序子例程)。优选地,重放设备202包括中央处理单元(CPU)214、程序存储器216、数据存储器218、音频扬声器220、显示设备222和输入设备224。CPU 214(计算机处理器)处理从内容集合器102经由通信网110接收的音频业务。CPU 214耦合到存储从内容集合器102接收的数据和被选择的媒体业务的数据存储器218。连接到CPU 214的程序存储器216存储用于与内容集合器102通信并且用于处理从内容集合器102获取的媒体业务的编程指令和API。
显示设备222显示从内容集合器102可获得的基于音频的媒体业务的节目类型和子类型。优选地,显示设备222是电视显示器、LED显示器或者LCD显示器。通过使用输入设备224操作按钮、拨号盘或者触摸屏接口或者在输入设备24上可用的其它触觉机构来选择类型和子类型。当基于音频的媒体业务通过输入设备224被选择之后,CPU204通过内容集合器102(经由诸如计算机命令的命令或者过程调用)(在这个实施例中从无线电台106)请求该基于音频的媒体业务。内容集合器102接收来自重放设备202的请求,并且在响应中,将被选择的媒体业务以分组化的传输发送到重放设备202。重放设备202处理媒体业务并且通过连接的音频扬声器(扩音器)220输出结果。在一个替代实施例中,被选择的媒体业务是基于视频的并且被输出到显示设备222。
机顶盒204是启用因特网的设备,该设备从例如电缆或者广播电视台接收基于音频和视频的媒体业务。优选地,机顶盒204是用于这样的媒体业务的渠道,这些媒体业务被机顶盒204多线程地(multi-threaded)或者多路复用地传送到没有启用因特网的设备(例如立体声接收机206和电视音频输出208)。例如,机顶盒204接收基于古典音乐的媒体业务,该业务被机顶盒204发送到立体声接收机206。同时,机顶盒204接收被发送到被耦合的电视208的新闻广播媒体业务。可选地,机顶盒204将音频业务发送到附属的数据网络210(例如以太网、无线RF网络、基于电力线的网络或者红外线网络),所述数据网络连接到将媒体业务输出为信号的输出设备212(连接器或者音频扬声器)。
多线程按照由机顶盒204将其处理任务(内务处理、数据检索、处理数据、输出数据)分割成若干时隙来进行操作。给每个处理任务分配若干时隙。高优先权的处理任务(重放媒体业务)比其它处理任务(更新可用媒体业务的显示)接收更多数量的时隙。时隙按照预定的过程被分配。在目前的例子中,机顶盒204将每秒钟分割成为十个时隙:四个时隙被分配给古典音乐媒体业务,四个时隙分配给新闻媒体业务,剩下的两个时隙被分配给内务过程。然后,机顶盒204根据所分配的时隙来处理媒体业务并且执行内务任务。本发明的一个实施例支持时隙长度可以是不相等或相等的时间量。
图3表示一个将设备(重放设备202或者机顶盒204)配置成为与内容集合器102相同的数据格式以便获取和输出被选择的媒体业务的方法的流程图。在优选实施例中,重放设备202根据控制CPU 214的计算机指令通过通信网110与内容集合器102通信。计算机指令包括通过特定过程调用操作的API。在步骤302中,API通过Set_Service_Call请求来自内容集合器102的参数。发送到重放设备的参数形成由重放设备202用来与内容集合器102通信的数据和通信结构。该通信结构是用于在重放设备202和内容集合器102之间传送数据的格式。优选地,重放设备202遵从TCP/IP、开放系统互连(OSI)协议、3G或者基于WAP的传输协议体系结构。因此,重放设备202通过使用握手过程和接收与预定通信结构一致的返回的数据来确定内容集合器102的通信结构。而且,重放设备202被动地从内容集合器102接收数据流,从而重放设备202根据数据流中存在的关键属性而确定通信结构。例如,重放设备202读取所接收到的数据分组的头并且确定该数据分组与一个MPEG传送和数据方案一致。
例如,一个示例数据结构包括从媒体业务的提供者可获得的媒体业务菜单、位置(URI)和媒体业务格式(实时音频、微软媒体播放器、MP3)的类型,它们对应于样式表,重放设备202从内容集合器102接收所述样式表并且相应地格式化进入和出去的数据。优选地,数据结构的确定包括含有三级的文档对象模型(DOM)。级1建立管理数据交换的格式(例如XML和HMTL)。级2(使用样式表)控制被发送中的数据的呈现和操作。级3定义内容模型(例如数据变量和元数据域)和用于文档的事件(功能键F12保存文档)。可选地,遵从多用途因特网邮件扩展(MIME)的类和对象类型被用于定义可获得的对象。在步骤304,重放设备202将来自内容集合器102的数据结构参数存储到程序存储器216中,并且相应地格式化与内容集合器102将来的通信。
DOM的使用允许重放设备202随着多媒体标准的调整而支持新的文档类型和媒体格式。例如,新的内容集合器使用新的多媒体播放器播放可获得的媒体业务。当请求来自新的内容集合器的媒体业务时,它将读取对应的DOM并且(或者利用在DOM中嵌入式定位符或者通过查阅外部的数据库)定位新的多媒体播放器。然后,重放设备202为新的媒体播放器请求编解码器(更新),一旦编解码器被接收到,其就被存储。多媒体业务准备好由重放设备202使用新的媒体播放器来输出。
在步骤306,利用存储的数据结构参数,重放设备202通过由CPPU214发出的List_Content_Call请求来自内容集合器102的媒体业务的内容列表。如图4所示,List_Content_Call包括启动(存储在程序存储器216中的)Iradio Request API 402的Iradio API 412,所述Iradio Request API 402分配和管理用于内容列表请求的内部资源。优选地,CPU 214指定用于内容列表请求的操作周期并且指定在数据存储器218中用于存储内容列表的空间。可选地,请求API 402同时管理对于来自多个内容集合器102的内容列表的多个请求。
然后,CPU 214发出用于控制与内容集合器102的通信传输的HTTP处理器API 404子例程。HTTP处理器API 404通过管理与内容集合器102的连接、通信和HTTP协议交换来根据在步骤302中所存储的参数进行工作。这包括涉及HTTP URI重定向、错误识别和作为对于包括媒体业务的流的标准响应的响应分类的所有处理。HTTP处理器API 404经由通信网络110向内容集合器102发送内容列表请求。内容集合器102通过发送通过HTTP处理器API 404接收的可获得的媒体业务的内容列表进行响应。
在接收到最好是采用预定格式的内容列表之后,CPU 214启动内容适配器406例程,该例程将接收到的内容列表格式化成为由重放设备202使用的数据的内部格式和内部数据结构。例如,CPU 214使用基于XML(数据的内部格式)的文档类型定义(DTD),它预先规定用于重放设备202的内部数据结构(数据域)。从内容集合器102所接收的以XML格式的数据与DTD定义的数据域被直接进行匹配。如果从内容集合器102接收的数据与内部数据格式(XML)不一致,则内容适配器406最好通过使用转换表而将数据格式化成为XML,并且将被格式化的数据关联到重放设备202的内部数据结构(DTD)中。可选地,所格式化的数据和从内容集合器102所接收的数据被存储在数据存储器218中。而且,DTD可被更新的(例如,通过因特网110被发送的作为样式表的更新重写现有的DTD)。
XML分析程序408从内容适配器406(或者从数据存储器218)接收基于XML的数据,并且将基于XML的数据映射为由用户显示和操作的预先选择的菜单元素。数据映射是通过这样的数据表而实现的,该数据表指示内部数据结构中的哪些变量被映射到预先选择的菜单元素。
图9是重放设备202从内容集合器102接收的(以XML格式的)媒体业务的内容列表900。图10是被内容适配器406格式化成为重放设备202的内部数据结构的媒体业务的内容列表1000的显示。图11是被XML分析程序408格式化成为一个菜单的媒体业务的内容列表1100的显示。
作为一个示范实施例,由XML分析程序408格式化的数据被作为一个分级菜单显示在显示设备222上。层次菜单列出被用户预先选择或者指定的域(示例的域是媒体业务、标题、媒体类型、表演者、内容集合器源等)。例如,由类型(例如谈话节目、音乐、新闻、运动谈话、神秘、肥皂剧等)显示菜单的“顶部”层。当用户通过输入设备224选择列在“顶部”菜单层上的一个类型时,由CPU 214启动的内容数据过程410检查数据存储器218中是否存在与被选择的类型相关联的被列出的子类型或者可获得的媒体业务。可替代地,内容数据过程410为了与被选择的类型相关联的更多信息而发出附加的内容列表调用401到内容集合器102(重复上述的步骤)。内容数据过程410从相关联的数据产生和显示在“顶部”层之下列出的“第二”层菜单。然后,用户从“第二”层中作出选择,并且内容数据过程410继续发出内容列表调用401,直到用户选择用于重放的媒体业务为止。
在通过输入设备224(例如从层次菜单或者可获得的媒体业务的列表中)选择媒体业务之后,在步骤308,CPU 214发出一个Iradio_Stream_Contents_call API,以便从内容集合器102检索选择的媒体业务。如图6所示的Iradio_Stream_Contents_call API以Stream Request Call 602开始,Stream Request Call 602或者通过从(数据存储器218中的)Iradio_List_Content_Call返回的数据或者通过其它方法(例如象请求来自内容集合器102的媒体业务的位置)确定被请求的媒体业务的位置(优选地是媒体业务的URI)。可选地,Iradio_Stream_Contents_call API 308通过上述多线程功能支持对媒体业务的异步(多个)请求。
一旦知道被选择的媒体业务的位置,CPU 214发出Iradio API412,该Iradio API 412以用于分配和管理用于Stream RequestCall 602的资源的Request API 402子例程开始。作为Iradio API412一部分的HTTP处理器API 404被发出,以便经由通信网络110连接到被选择的媒体业务的位置。到媒体业务的位置的连接是直接连接(网站、存储设备、蜂窝网络等)、通过内容集合器102到媒体业务位置的连接或者被重定向到媒体业务的位置的连接。HTTP处理器API 404还管理在来自被请求的媒体业务的响应中定位流数据的细节。所作出的对媒体业务的请求最好是含有关于重放媒体业务所需要的资源(诸如媒体播放器)的信息的遵从HTTP或者MIME的请求。与标准HTTP重定向处理一起,HTTP处理器API 404分析HTTP响应的头以便确定所述响应是流、媒体文件或者其它类型的多媒体格式(例如基于REALPLAYER的流、非流式MP3文件或者视频信号)。一旦作出了确定,HTTP处理器API 404就接受包括被选择的媒体业务的数据。
随着包括媒体业务的数据被发送到重放设备202,HTTP处理器404将数据路由到(包括在数据存储器218中的)缓冲器604。缓冲器604最好按照先进先出(FIFO)的模式输出数据。可选地,缓冲器604包括多个存储体,这些存储器根据预定的方法(例如共享存储器、存储器交织、存储器地址循环等)对数据进行排队,使得能够经由上述多线程功能请求和提交多个媒体业务。
内容适配器406访问和处理包括存储在缓冲器604中的媒体业务的数据。优选地,媒体业务数据的处理依赖于包含在媒体业务数据的响应的头或者脚注(footer)中的信息(例如指示媒体业务的格式、相应的重放应用608、媒体业务的输出需求)。由内容适配器406执行的处理实例包括解压缩数据、分析媒体业务数据中的元数据(例如描述媒体业务的元数据)或者应用预先选择的音频或视频效果。
媒体业务数据一经被处理,就被发送到播放器应用608(媒体播放器),它在步骤310中输出或者“播放”媒体业务数据。播放器应用是遵从媒体的解码器(例如REALPLAYER、MPEG-1Layer_3、MICROSOFT MEDIA PLAYER、QUICKTIME、MPEG-4、DivX),它将媒体业务数据解码成为准备输出到媒体设备(例如音频扬声器、视频屏幕、音频/视频接收机、传输设备)的被解码的音频/视频信号。
在步骤312中,播放器应用608保持播放媒体业务,直到内容适配器406用完从缓冲器604接收的数据(开始播放另一个媒体业务)或者媒体业务被通过一个返回代码而终止为止,从而媒体业务被告知停止发送。优选地,所述返回代码被从内容适配器406发出到HTTP处理器404,它经由通信网络110发送一个“取消”命令到媒体业务的位置以便终止媒体业务数据的传输。来自源的返回代码包括例如用户发出的取消命令、上溢/下溢错误、没有足够的可用存储器、网络拥塞、输出设备未被连接等。可选地,CPU 214具有诊断电路,它通过返回代码来识别导致取消媒体业务的传输的错误。
如上所述,本发明的实施例将业务请求的处理需求、I/O(输入和输出)例程和数据转换分解成为不同的线程。这些线程被(利用一个预定的方法)动态地分类并且被分配计算机资源,以便满足用于本发明的希望的请求和内务处理例程。这个方案的优点是在没有由其它请求的处理引起的冲突或者延迟的情况下,各请求能够被根据本发明的系统同时地处理。
此外,处理API请求的线程的使用允许应用程序的设计者选择他们希望使用同步还是异步接口来实现API业务。这个特征提供了在绝大多数的程序内使API得以实现而不致使应用程序的设计者开发关于API的基础结构以便管理它的业务特性。
线程通过驻留在数据存储器218中的唯一的存储器缓冲器队列互相通信。线程从指定的队列推入和检索(数据存储器218中的)缓冲器,并且当处理完缓冲器之后,将该缓冲器释放到包括多个缓冲器的缓冲器池中。缓冲器队列使得本发明能够在处理多个媒体业务时,将特定线程指定到特定缓冲器,优化媒体业务数据的存储和访问。
对于存储器缓冲器队列的数据结构的访问受到信号量原语保护,所述信号量原语可以作为二进制标志来实现。信号量原语的使用允许媒体业务数据在线程间被共享,而不会破坏数据管理结构。例如,当一个线程请求来自存储器缓冲器队列的缓冲器时,在给用于保证对数据结构的独占访问的信号量原语加锁之后,执行用于跟踪队列的缓冲器的数据结构的所有管理。
来自(数据存储器218中的)存储器缓冲器的数据的队列检索支持阻塞和非阻塞模式。在阻塞模式中,线程将停止处理并且等待缓冲器被给出,这可能是不确定的时间量。这种阻塞机制允许CPU 214资源在线程之间被均衡。例如,内容适配器将处理缓冲器并且通过一个清空缓冲器的队列将该缓冲器发送到播放器应用。当该缓冲器在等待被填充时,内容适配器忽略(阻塞)该缓冲器,直到它被I/O线程填充为止,使内容适配器完全自由地访问其它被填充的缓冲器。非阻塞模式访问缓冲器,而不管它是被填充还是空的(降低内容适配器的效率)。
如步骤310所述,本发明可选地以同步或者异步模式操作。优选地,根据本发明的原理,异步模式利用回调函数操作,从而CPU 214启动过程(API)并且将该过程指定给特定线程。当回调函数被返回到CPU 214时,CPU 214还为终止过程(API)的过程指定相应的回调函数。例如,当(请求媒体业务列表的)Iradio_List_Content_Call306被CPU 214启动时,对应于所述过程的线程和回调函数被CPU 214发出。当对应于所述过程的线程被执行时,回调函数被传送到这样的指针,该指针对为所述过程规定的预定条件作出响应(例如,来自内容集合器102的内容列表的发送触发回调函数回到CPU 214)。在此期间,附加的过程运行在其它线程上。在所述条件被满足之后,指针发出到CPU 214的回调函数,该回调函数终止执行所述过程的线程。
可替代地,同步使用模型不使用回调函数。这种功能性与异步模式相同,只不过在一个时间只有单一的(当前)的过程在运行,有效地阻塞所有其它过程,直到当前的过程得到服务或者错误产生(终止当前过程)为止。CPU 214在当前过程终止之后,开始一个“新的”过程,并且使用释放命令(ReleaseRespond)清除数据存储器218中的存储器空间。
图7显示本发明的用于组合从两个内容集合器102可获得的媒体业务列表的一个实施例。步骤702以CPU 214向第一媒体内容集合器请求媒体业务列表而开始。CPU 214执行Iradio_Set_Service调用,它建立一组用于访问内容集合器102的命令(根据上述图3和4)。给继续的Iradio_Content_List调用分配用于处理的线程,从而将CPU 214释放给其它处理任务。第一个HTTP处理器API 404接收所述线程并且启动从第一个媒体内容集合器102的媒体业务列表的检索。
步骤704需要对于从第二个媒体内容集合器102可获得的媒体业务的第二个列表的请求。CPU 214执行第二Iradio_Set_Service调用,它建立一组用于访问第二内容集合器102的命令(根据上述图3和4)。然后,Iradio_Content_List调用被分配给第二个线程,它被访问和检索来自第二个内容集合器104的媒体业务列表的第二个HTTP处理器API 404接收。可选地,第一个和第二个HTTP处理器API404被组合到一个HTTP处理器单元中,该处理器单元可以被包含在CPU 214中。
在步骤706中,第一个HTTP处理器API 404执行一个用于请求来自第一个内容集合器102的媒体业务列表的Get命令(例如HTTPGet命令)。优选地,Get命令被作为基于HTML或者XML的请求而发送。
步骤708涉及由第一个内容集合器102对于Get命令的响应。优选地,第一个内容集合器102发送一个媒体业务列表到第一个HTTP处理器API 404,它确定所述列表的完整性(例如所述列表与由第一个HTTP处理器API 404识别到的格式一致吗?)。可替代地,如果媒体业务的列表被破坏,则在第一个HTTP处理器API 404超时并且返回一个错误消息到CPU 214之前,Get命令(在步骤706中)被重复预定次数。在步骤710中,第一个HTTP处理器API 404收集包括来自第一个内容集合器的媒体业务列表的数据并且将该列表转发到内容适配器406以便进行附加处理。
在步骤712,内容适配器406接收媒体业务列表并且调用恰当的转换例程(例如通过查找表将接收的列表转换成为本发明的内部格式)来建立一个含有媒体业务的类型和子类型的公共(内部)内容列表数据结构。这个公共内容列表可以被用于产生一个被显示在显示设备222上的媒体业务的可观看列表。优选地,媒体业务的类型和子类型由媒体业务列表中的元数据或者通过将所述元数据匹配到一个外部数据库(例如CDDMTM和MUZETM)来加以确定。根据本发明的原理,媒体业务按照信息(元数据)来分组,所述信息(元数据)诸如是:媒体业务作者、版权日期、媒体业务的传输日期、表演者、标题、主题、父母收看率(parental rating)、用户收看率、导演、制片人、运行长度、媒体业务传输定位器(例如无线电台、电视台、演播室等)、内容集合器预定和语言。
在步骤714,CPU 214对于从第二个内容集合器102可获得的第二个媒体业务列表重复步骤706-712。第二个HTTP处理器API 404通过Get命令请求第二个媒体业务列表(步骤706)。第二个内容集合器102响应Get命令(步骤708)。第二个HTTP处理器API 404收集来自第二个内容集合器102的媒体业务列表并且将第二个列表转发到内容适配器406以便附加处理(步骤710)。内容适配器406使用公共列表数据结构来将第二个内容列表中列出的媒体业务匹配到媒体类型的类型和子类型。然后,第一和第二内容列表的内容被索引到一个统一的内容列表中,例如在如图5所示的公共音乐类型之下或者使用元数据属性的其它类型的层次列表,如上所述。
所述统一内容列表在显示设备222上被呈现给用户。统一内容列表中的每个项目具有唯一地标识内容及其源的内容标识符。当媒体业务被选择用于检索时,内容适配器406将这个标识符传送到CPU 214。然后,CPU 214根据上述图6所述的方法检索和重放所述媒体业务。
图5中显示了以统一列表形式的合并的内容选择的一个例子。从内容集合器可获得的媒体业务的类型和子类型被下载到数据存储器218中,并且最好被XML分析程序408的子例程操作。例如,第一个内容集合器102具有按照音乐类型和相关的子类型(例如爵士乐、具有铜管、太阳海岸声音和三重奏子类型的音乐类型)分组的媒体业务的列表510。第二个内容集合器102具有按照具有相关的子类型的音乐类型(例如爵士乐、具有讽刺爵士乐的子类型的音乐类型)分组的媒体业务的列表520。XML分析程序408将相关的类型分组到一起并且成为如统一内容集合器列表530所示的格式(例如爵士乐具有来自两个内容集合器的作为讽刺爵士乐、铜管、太阳海岸声音和三重奏的组合的子类型)。然后,这个格式被输出到显示设备222,并且音乐服务被通过输入设备224选择以便通过音频扬声器220重放。
图8表示本发明的允许连接在网络上的设备控制和接收通过内容集合器102可获得的次要媒体业务的示范实施例。所述连接到网络上的设备遵从一个预定的协议(例如通用的即插即用、IEEE 802.11、蓝牙、IEEE-1394),该协议允许设备识别和利用网络上遵从所述预定协议的其它设备的特征。主要媒体业务是本来存在于设备中的媒体业务,例如外部设备820(立体声接收机)播放作为被通过天线822接收的无线电波而被接收的音频,所述无线电波被调谐器824解调以便通过音频扬声器818重放。次要媒体业务是起源自被网络上的一个设备通过网络连接访问和控制的其它设备中的媒体业务;例如接收机820通过电缆机顶盒204接收和控制来自内容集合器102的流式音频广播(次要媒体业务)。在这个例子中,机顶盒204将所述次要媒体业务提供为通过所述预定协议的操作而被索引和管理的ContentDirectory806业务(列出可获得的媒体业务的硬件或软件)。
接收机820经由所述预定协议通过网络或者无线连接通信到机顶盒204。机顶盒204还通过通信网络110连接到内容集合器102,从而内容集合器102具有可获得的次要媒体业务(例如流式音频和视频、MP3、光盘音乐、广播视频)。优选地,内容集合器102通过基于TCP/IP的连接通过硬件业务模块802通信到机顶盒204。硬件业务模块802是调制解调器或者具有串行、并行、以太或其它连接接口的其它类型的双向通信设备。硬件业务模块802还控制在连接到机顶盒204的电视208上显示的视频节目。
连接到机顶盒204的控制点810、控制器(例如计算机、微处理器或者软件驱动程序)通过机顶盒204请求从内容集合器102可获得的媒体业务的列表。这个请求被ContentDirectory 806接收,ContentDirectory 806进而发出一个(来自步骤306的)List_Content_Call到流API 804,如以上在图4中所述。可选地,机顶盒204接收来自多个内容集合器102的最好是作为基于XML或者HTML的文档的媒体业务的列表。由流API 804接收的媒体业务的列表被处理和传送到ContentDirectory 806。此外,ContentDirectory806根据一个预定的格式格式化来自XML的媒体业务的列表并且将所述列表进行索引以便由符合所述预定格式的其它设备访问。
控制点810将一个命令传输到机顶盒204以便将可获得的媒体业务显示在一个显示设备(电视208)上。控制点810使用所述预定协议的显示业务例程并且请求来自机顶盒204的媒体业务的列表。而且,机顶盒204递送所述请求并且传送驻留在ContentDirectory 806中的媒体业务的列表。控制点810接收和格式化媒体业务列表作为被发送到硬件业务802的HTML代码,所述硬件业务802将所述HTML再现用于在被连接的电视208上显示。优选地,被再现的HTML代码显式为文本和图形的组合,该组合可用作电子节目向导,如以上在图11中所述。控制点810还被启用来控制和传输其它业务808,诸如附加的媒体业务,或者基于因特网的非来自于内容集合器102的材料,诸如电子节目向导、电子邮件和经由用户选择设备826通过在线商店购买的选定的媒体业务(象CD或者盒式磁带)。
从电视208,通过将信号传输到控制点810的用户选择设备826,从媒体业务列表中选择媒体业务。优选地,用户选择设备826是使用与控制点810通信的有线或者无线接口的遥控器,从而通过使用用户选择设备826上的定向垫、按钮或者旋钮,来使电视208显示媒体业务列表。一旦使用用户选择设备826选择了媒体业务,控制点810就经由硬件业务模块802和通信网络110格式化和发送一个对于媒体业务的请求到内容集合器102。
内容集合器102接收对于媒体业务的请求并且在处理所述请求之后,将包括媒体业务的数据通过通信网110络传输到硬件业务802。硬件业务802接收被传送到流API 804的数据,API 804将媒体业务的数据格式化成为由机顶盒204使用的内部格式。
控制点810通过传输一个请求到AV传送器812来协调对包括媒体业务的数据的输出,以便将所述媒体业务输出到接收机820。优选地,AV传送器812包括到外部设备(像接收机820)的连接接口。可选地,AV传送器812包括这样的软件,它控制驻留在流API 804的缓冲器中的(形成媒体业务的)数据的传输。AV传送器812(从流API804)接收和格式化包括媒体业务的数据(成为预定的信号格式以便输出到接收机820)。所述信号通过AV传送器812的连接被输出到接收机820。AV传送器812连续地对流API 804的缓冲器排队,直到媒体选择被完全接收或者用户终止所述选择的播放。
接收机820(例如音频接收机)通过AV传送器814经由与机顶盒204的连接接口而接收所述输出信号。AV传送器814将所述信号转发到硬件业务816以便处理。然后,硬件业务816将所述被处理的信号传送到音频扬声器818以便音频重放。可选地,外部设备具有内置的从天线822接收基于RF的无线电信号的调谐器824。调谐器824解调和解码无线电信号以便在被连接的音频扬声器818上重放。当硬件业务816接收和输出被处理的信号时,外部设备自动地中断调谐器824的重放。当被选择的媒体业务被终止或者完成时,恢复通过调谐器824接收的无线电信号的重放。
根据本发明的原理,递送从内容集合器可获得的媒体业务的其它递送系统的形式可以从本发明获益。例如,为了形成媒体业务的统一列表,具有多个可获得的媒体业务的卫星无线电广播可以具有其与通过机顶盒电缆接口可获得的媒体业务组合的选择。