分布式随选媒体代码转换系统和方法

文档序号:7671902阅读:248来源:国知局
专利名称:分布式随选媒体代码转换系统和方法
技术领域
本发明涉及一种用于信息代码转换的系统和方法。更具体地,本发明涉及一种用于对媒体内容进行代码转换的系统和方法。
相关技术对媒体内容快速发布的探索贯穿了人类的历史。发行商努力将媒体内容尽快的发布给更多观众。这里所使用的术语“媒体内容”指任何可以被一种或多种人类感觉所感知的信息,包括音频、视频、数据、思想、图形、故事、声音、文本或其它内容。
如今,与计算和网络技术相结合的对媒体内容的数字表示,提供了一种有效的发布方法。根据这种新的发布模式,网络技术使得可以在网络上向终端用户计算机发送数字化的媒体内容。通信协议定义了怎样在网络上交换数字化媒体内容。媒体播放器运行在终端用户计算机上使得用户可以播放或者体验这些媒体内容。
媒体内容的数字化表示具有不同的类型。这些类型一般根据一系列的发布参量来定义,这些发布参量包括,但并不仅限于文件格式、比特率、通信协议、物理媒介、压缩算法、和/或与媒体内容相关的数字版权管理信息。所使用的数字化媒体内容的类型依赖于许多因素,如发布过程中所使用的计算和/或网络技术,以及内容本身的特性。
例如,许多数字化媒体内容的类型是根据文件格式来定义的。常用的文件格式包括QUICK TIME、MPEG、AVI、MP3、REAL、WINDOWS MEDIA、H.263视频编码和PALM兼容格式。格式可以将媒体内容定义为一个文件或一个数据流。例如参考J.D.Murray和W.vanRyper在《图形文件格式大全(The Encyclopedia of GraphicsFile Formats)》第二版(由加拿大Sebastopol股份有限公司的O′Reilly及其同事所出版)中所描述的图形文件格式和其它格式,其中的所有内容在此引入作为参考。
数字化媒体内容的类型可以根据所使用的编码和压缩技术(用于减小媒体内容的物理大小)的类型,或者支持媒体内容的存储的物理媒介的类型来分类。多种不同物理媒介被用于发布媒体内容,如磁或光存储设备、存储器设备和无线媒介。
数字化媒体内容的类型还可以根据用于传输媒介的通信协议的类型来分类。在分组交换网络中,如因特网,将使用多层协议。这些协议包括网络和传输协议和应用协议。网络和传输协议部分负责发送数字数据包。网络和传输协议的例子是Internet协议(IP)、传输控制协议(TCP)、用户数据包协议(UDP)和实时传输协议(RTP,Real-Time Transport Protocol)。应用协议是运行在网络和传输协议之上的较高层的协议,尤其应用协议提供支持数字媒体发布的服务。在WWW技术中所使用的应用协议的例子就是超文本传输协议(HTTP)和实时流协议(RTSP,Real-Time Streaming Protocol)。
飞速增长的媒体播放器的出现在各种媒体内容的丰富多彩和客户设备处理内容的不同能力之间产生了一个大的间隙。结果,对于终端用户来说选择技术的过程变得非常复杂。例如,用户经常不能确信某个特定的媒体播放器是否可以播放自己所感兴趣的媒体内容的类型。并且,用户可能经常需要下载新的媒体播放软件以读取所期望的内容。
另外,因为用户可以使用多个不同的客户媒体播放器,所以内容提供商需要以多种源类型的方式发布原始的媒体内容,以将内容发布给多个的用户。具有存储媒体内容的内容提供商还面临着将存储的媒体内容以新的或更新的源类型来发布的负担。
代码转换器将特定类型的媒体内容(源类型)转化成另一种类型的媒体内容(目标类型),这种转化称为“代码转换”。代码转换可以包括许多不同的转换操作。所使用的特定转换操作由被转换的发布参量来决定。例如,代码转换可以包括从一种编码数据格式转化成另一种编码数据格式(如将CCITT第三组编码数据转换成RLE编码数据)的转换操作。参考Murray和vanRyper,第1095页。
传统的多类型代码转换服务不是在线提供的,而是在内容提供商发布媒体内容之前,在发布过程中增加了一个不希望的和不可避免的延迟。尽管对媒体内容的实时代码转换的安排是已知的(例如在Internet网上转换和发布实况媒体事件),但这些安排是受限的,因为它们仅允许媒体内容经代码转化变成单一的一种目标类型,并且不允许以多种目标类型来发布媒体内容。
另外,因为脱机多格式代码转化服务比较昂贵,内容提供商只能负担得起将它们的媒体内容转化成有限数量的目标类型。用户的媒体播放器不能适应代码转换后的文件的目标格式时,用户就不能读取内容。因此,传统的媒体产品被限制在一种“推动式”过程中,在此过程中内容提供商必须考虑用户会用哪种媒体播放器来播放它们的媒体文件。
媒体发布技术中的这种快速发展的另一个结果就是,新的互联网和无线设备制造商还必须在媒体内容的代码转化方面多个投入,以使多个的内容可以作为新的目标类型而被新的媒体播放设备所支持。这样,新的互联网和无限设备制造商经历着同样的来自上述传统代码转换方案的缺陷。

发明内容
本发明涉及一种用于将媒体内容进行随选代码转换(on-demandtranscoding)而从多个源类型转换成多个目标类型的系统和方法。在一个实施例中,提供了一种用于将媒体内容从一种源类型代码转换成一种目标类型的方法,包括如下步骤,接收对媒体内容的代码转换请求;获取媒体内容;根据源类型和目标类型,从用于把多个源类型代码转换成多个目标类型的多个代码转换器中选择一个;将媒体内容发送给所选的代码转换器;将媒体内容由源类型代码转换成目标类型,由此生成代码转换后的媒体文件;传输代码转换后的媒体内容。
在本发明的实施例中,媒体内容可以包括一个数字信息的文件或一个数字数据流。在本发明的实施例中,媒体内容作为一个数字数据流而被获取,发送和代码转换,代码转换后的文件作为一个数字数据流而被传输,获取、发送、代码转换和传输均以管道(pipeline)的形式进行。
在本发明的实施例中,代码转换请求通过Internet网接收,代码转换后的媒体内容通过Internet网传输。
在本发明的实施例中,媒体内容的类型根据至少一个发布参量来定义,其中发布参量可以是文件格式、媒体内容的比特率、存储媒体内容用的压缩算法、媒体内容传输所用的通信协议、存储媒体内容用的物理媒介,对媒体内容进行代码转换的步骤包括,将媒体内容的发布参量从一种源发布参量类型转换成一种目标发布参量类型。
根据本发明的一种媒体代码转换系统将媒体内容从一种源类型代码转换成一种目标类型。媒体代码转换系统包括一个网络接口、一个资源管理器、一个传输服务器、一个流服务器和多个用于把多个源类型转化成多个目标类型的代码转换器。网络接口适用于接收媒体内容的代码转换请求。资源管理器适用于响应代码转换请求,并且作为对代码转换请求的响应,命令代码转换服务器获取媒体内容,在源类型和目标类型的基础上选择多个代码转换器中的一个,命令所选的代码转换器将媒体内容从源类型转化成目标类型,由此生成代码转换后的媒体内容,并命令流服务器传送代码转换后的媒体内容。
在本发明的实施例中,媒体内容可以包括一个数字信息文件或一个数字数据流。
在本发明的实施例中,传输服务器适用于以数据流的形式获取媒体内容,所选的代码转换器适用于以数据流的形式对媒体内容进行代码转换,并且流服务器适用于以数据流的形式传输代码转换后的媒体内容。资源管理器控制传输服务器、所选的代码转换器以及流服务器的操作,以使得获取、代码转换和传输以管道的形式进行。
在本发明的实施例中,网络接口适用于通过Internet网接收代码转换请求,流服务器适用于通过Internet网传输代码转换后的媒体内容。
在本发明的实施例中,媒体内容的类型根据至少一个发布参量来定义,其中发布参量可以是媒体内容的文件格式、媒体内容的比特率、存储媒体内容用的压缩算法、媒体内容传输所用的通信协议、或者存储媒体内容用的物理媒介,并且所选的代码转换器适用于将媒体内容从一种源发布参量类型转化成一种目标发布参量类型。
本发明的优点在于,它以对内容提供商和用户透明的方式,允许随选地将媒体内容从单一源类型转换成多种目标类型。
本发明的优点还在于,它以对内容提供商和用户透明的方式,允许随选地将存储在文件中的媒体内容从单一源类型转换成多种目标类型。
本发明的另一个优点是,它以对内容提供商和用户透明的方式,允许随选地将实况(即流)媒体内容从单一源类型转换成多种目标类型。
本发明的另一个优点在于,它允许用户播放各种类型的媒体内容而不必考虑用户所使用的媒体播放器。
本发明的另一个优点在于,为了读取所期望的媒体内容,用户不需要再去下载一个新的媒体播放器或升级已有的媒体播放器。
本发明的另一个优点在于,它允许内容提供商以单一源类型的方式向多个使用不同媒体播放器(接受不同类型的媒体内容)的用户提供原始媒体内容。
本发明的另一个优点在于,通过允许媒体内容提供商在没有预先使用脱机编码服务的情况下发布媒体内容,它加速了媒体内容的发布过程。因此本发明将发布媒体内容所需的推向市场的时间减少到了最小。
本发明的另一个优点在于,通过允许内容提供商不必提供必要的代码转换任务以及避免在代码转换服务器和代码转化所需的其它装备上的投入,使得媒体发布只需要一个较低的入门限制。
本发明的另一个优点在于,它允许媒体内容提供商向所具有的媒体播放器不支持原始媒体内容的源类型的用户发布媒体内容。
本发明的另一个优点在于,它把媒体内容的代码转换延迟到了用户为一种媒体播放器请求内容的时候。因此,内容提供商可以省去在将原始媒体内容代码转换成多种用户不需要类型方面的投入。
本发明的其它特性和优点将在下面的描述中说明,并且其中的一部分可以从描述中显而易见,或者可以在本发明的实践中认识到。本发明的目标和其它优点可以通过在此的描述和权利要求以及附图所特别指明的系统和方法,来实现和获得。


这里所收编的并形成了部分标准的附图描述了本发明,并且和描述一起,进一步用于解释本发明的原理,并指导本领域相关的技术人员制作并使用本发明。
附图为图1是一个根据本发明的一个实施例的媒体代码转换系统的方块图。
图2是一个根据本发明的一个实施例的媒体代码转换引擎的例子的方块图。
图3是一个根据本发明的一个实施例的描述了发布媒体内容的一个例程的流程图。
图4是一个根据本发明的一个实施例的描述了发布媒体内容的一个例程的流程图。
图5A-B是一个根据本发明的一个实施例的描述了读取媒体内容的一个例程的流程图。
图6描述了一个可能用于根据本发明的实施例的示例性的代码转换器。
图7是一个显示了根据本发明的一个实施例用于各种发布参量的示例性的代码转换源类型和目标类型的表单。
现在将参考附图对本发明进行描述。在图中,相同的参考数字表示相同或功能相似的元素。另外,参考数字最左边的数字标识了附图,其中参考数字首先出现。
具体实施例方式
1.发明概述本发明涉及一种用于随选将媒体信息从各种源类型代码转换成各种目标类型的系统和方法。根据本发明,在一个包含了多个用于将多个源类型转换成多个目标类型的代码转换器的系统中,提供了一种用于将媒体内容从一种源类型转换成一种目标类型的方法。此方法包括接收媒体内容的代码转换请求;获取媒体内容;将媒体内容发送给多个代码转换器中选中的一个。代码转换器的选择以源类型和目标类型为基础。代码转换器将媒体内容从源类型代码转换成目标类型,由此生成代码转换后的媒体内容。然后将转换后的媒体内容传输出去。
根据本发明的一个媒体代码转换系统将媒体内容从一种源类型转化成一种目标类型。代码转换系统包括一个网络接口、一个资源管理器、一个传输服务器、一个流服务器和多个的用于将多个源类型代码转换成多个目标类型的代码转换器。网络接口接收媒体内容的代码转换请求。资源管理器命令传输服务器获取媒体内容。资源管理还根据源类型和目标类型来从多个代码转换器中选择一个,并且命令所选的代码转换器将媒体内容从源类型转化成目标类型,以生成代码转换后的媒体内容。资源管理器还命令流服务器传输代码转换后的媒体内容。
现在将参考图1-7对本发明进行进一步的描述。
2.操作环境图1是一个表示了本发明的代码转换系统的一个操作环境100的例子的方块图。应该理解,例子操作环境100只是为了说明的目的,并不限制本发明。这里描述的操作环境的其它实现,根据这里包括的启示,对于相关领域的技术人员来说是显而易见的,并且本发明涉及这些实现。
参考图1,例子操作环境100包括一个浏览者客户端102,一个内容提供商客户端104,一个媒体内容代码转换引擎106和一个网络108。为了清楚只显示了一个浏览者客户端102和内容提供商客户端104。总之,在本发明的代码转换系统中可以包括任意数量的这些组件。
浏览者客户端102、内容提供商客户端104和媒体内容代码转换引擎106均通过一个网络108相连。网络108连接本发明的所有这些组件,并且可以是任意类型的计算机网或网络的结合,包括但不仅限于电路交换和/或分组交换网络,以及无线网络。在一个例子中,网络108包括Internet网。
任何传统的通信协议都可以用来支持操作环境100的组件之间的通信。例如,传输控制协议/Internet协议(TCP/IP)集可以用于建立连接和传输数据,实时流协议(RTSP)可以用于在操作环境100的组件之间将数据生成数据流。基于WWW的应用层和浏览器(以及Web服务器)还可以用来便利图1所示的组件之间的通信。但是这些例子只是说明性的,本发明并不倾向于限制在一个特定的协议或应用,也可以使用其它专用或非专用网络通信协议和应用。
用户或浏览者使用浏览者客户端102通过网络108来请求和接收媒体内容,以及播放接收到的媒体内容。在实施例中,浏览者客户端102是一个包括了运行在计算机操作系统中的一个Web浏览器和一个或多个媒体播放器的个人计算机。或者,浏览者客户端102可以是一个Web电视、一个Windows CE设备、一个个人数字助理(PDA)、一个掌上设备、一个具有网络接入能力的控制台设备、一个MP3设备、或任何其它能够请求、接收和播放媒体内容的客户端设备和/或应用程序。但是,本发明并不仅限于这些例子,并且本领域中的技术人员可以知道,多个不同的客户端设备和应用程序可以通过网络108用于请求、接收和播放媒体内容。本发明涉及这些客户端设备和应用程序。
浏览者客户端102可以接收和播放多种类型的媒体内容。例如,客户端浏览器可以接收和播放各种已知编码格式的媒体内容,这包括但并不仅限于,MPEG、AVI、MP3、WINDOWS MEDIA、QUICK TIME、H.263视频编码、和PALM兼容的格式。
内容提供商使用内容提供商客户端104通过网络108来发布和/或传输媒体内容。在实施例中,内容提供商客户端104包括一个客户端工作站和一个媒体输入设备和/或程序。例如,内容提供商客户端104可以包括一个具有媒体数输入设备的个人计算机。内容提供商客户端104可以使用各种媒体输入设备和程序来提供媒体内容。例如,可以使用照相机(8mm,Hi-8或任何视频数字化设备)、内置麦克风(line-in/microphone)(附属于任何摄像设备或独立的音频输入设备)、数码相机、上载具有语音解释的幻灯片的设备、先前使用客户端选择的格式编码的文件、或通过网络访问安装点(如,但并不仅限于超文本传输协议(HTTP)、文件传输协议(FTP)、或远程服务器)可获得的文件,来提供媒体内容。并不仅限于这些例子,本领域的技术人员可以理解,多个不同客户端设备和应用程序可以通过网络108来发布和/或传输媒体内容,本发明涉及这些客户设备和程序。
内容提供商客户端104可以发布和/或传输各种类型的媒体内容。例如,内容提供商客户端104可以提供各种已知编码格式的媒体文件,这些编码格式包括,但并不仅限于,MPEG、AVI、MP3、REAL、WINDOWS MEDIA、QUICK TIME、H.263视频编码、以及PALM兼容的格式。
媒体内容代码转换引擎106担当内容提供商客户端104和浏览者客户端102之间的中间层。如下的详细描述,媒体内容代码转换引擎106从浏览者客户端102接收媒体内容请求,并且从内容提供商客户端104获取所请求的媒体内容。然后媒体内容代码转换引擎106将从内容提供商客户端104接收到的媒体内容由一种源类型代码转换成一种可以被浏览者客户端102接纳的目标类型,并将代码转换后的媒体内容发送给浏览者客户端102。媒体内容代码转换引擎106以对内容提供商和媒体内容浏览者透明的方式,随选完成所请求媒体内容的代码转换和发送。
根据本发明,因为媒体内容代码转换引擎106可以将媒体内容转化成各种不同类型,所以内容提供商可以使用单一媒体输入设备来提供媒体内容,并且将内容发送给使用各种不同媒体播放器的浏览者,每一种媒体播放器可以请求一种不同的目标类型。另外,本发明允许用户读取各种以不同源类型发布的媒体内容,而不管用户使用的是什么媒体播放器。现在将详细描述图1的媒体内容代码转换引擎106。
3.本发明的媒体代码转换引擎图2是根据本发明的一个实施例的媒体内容代码转换引擎106的方块图。媒体内容代码转换引擎106包括若干组件,有一个浏览者Web服务器接口202、一个内容提供商Web服务器接口204、一个任务管理器206、一个资源管理器208、一个数据库210、一个代码转换高速缓存212、一个主存储器(master archive)214、一个机房(machine farm)216、以及机房216中的代码转换服务器218、传输服务器220和流服务器222。媒体内容代码转换引擎106的每一个组件在操作上通过一个内部计算机网(可以通过图2中连接各组件的箭头来部分表示)互相连接。计算机网可以包括一种或多种用于在同一个服务器上连接组件使之共存的计算机总线,以及用于连接远程组件的其它类型通信设施,包括但并不仅限于,电路交换和/或分组交换网络,及无线网络。在实施例中,连接媒体内容代码转换引擎106种的组件的网络包括一个局域网(LAN)。
下面将描述媒体内容代码转换引擎106的每一个组件。
内容提供商Web服务器接口204是一个处于106和内容提供商客户端104之间的网络接口,它使得内容提供商可以发布媒体内容。内容提供商Web服务器接口204接收和处理来自内容提供商客户端104的媒体内容的发布请求。在实施例中,内容提供商Web服务器接口204还自己从内容提供商客户端104接收媒体内容,以在媒体内容代码转换引擎106中存档。或者,内容提供商Web服务器接口204从内容提供商客户端104接收位置和访问信息,这使得媒体内容代码转换引擎106可以在随后定位并获取媒体内容,以进行代码转换和/或将媒体内容发送给浏览者。
在实施例中,内容提供商可以从内容提供商Web服务器接口204下载软件工具或插件,这便利了从内容提供商客户端104向内容提供商Web服务器接口204发送媒体内容。工具提供了一个内容提供商客户端104上可配置的接口,并允许内容提供商向内容提供商Web服务器接口204上传各种类型的媒体内容。
在接收了媒体内容,或者获取媒体内容所必需的位置和访问信息后,内容提供商Web服务器接口204向内容提供商客户端104返回地址和资源信息。地址信息为请求内容提供商的媒体内容的浏览者指出了媒体内容代码转换引擎106,而资源信息提供了关于所请求的媒体内容的信息。如图2所示,在本发明的实施例中,地址和资源信息包含一个URL(统一资源定位符)——为浏览者的客户端指出了媒体内容代码转换引擎106,并且为媒体内容代码转换引擎106提供了关于所请求的媒体内容的信息。内容提供商可以将URL作为一个链接发布在他们的Web网站上,因此使得访问Web网站的浏览者可以点击这个URL来通过媒体内容代码转换引擎106读取媒体内容。
浏览者Web服务器接口202是一个处于106和浏览者客户端102之间的网络接口,它使得媒体内容可以被请求和发送给一个浏览者。浏览者Web服务器接口202接收和处理来自浏览者客户端102的媒体内容的读取请求,从而开始将所请求的媒体内容进行代码转换和发送给浏览者客户端102。因为代码转换后的媒体内容通过一个流服务器而形成数据流发送给浏览者客户端102和/或代理服务器(这里将进行详细描述),浏览者Web服务器接口202向浏览者客户端102发送一个答复,将浏览者客户端102重定向到可以接收所请求的媒体内容的适当服务器。
媒体内容代码转换引擎106适用于以最优目标类型将所请求的媒体内容发送给浏览者客户端102。对浏览者客户端102最优的目标类型可以通过许多方法来确定。
在实施例中,浏览者可以从浏览者Web服务器接口202下载软件工具或插件,这便利了从媒体内容代码转换引擎106向浏览者客户端102发送媒体内容。工具是一个运行在浏览者客户端102并协助确定对浏览者客户端102接收和播放媒体内容来说是最优目标类型的应用程序。在实施例中,最优目标类型的确定或者通过运行在浏览者客户端102上的自动测试,或者通过请求浏览者提供明确的系统和首选信息。然后可以通过一个浏览者客户端102上的“甜点程序(cookie)”软件工具将最优目标类型存储下来,以用于媒体内容代码转换引擎106在后面参考。
或者,最优目标类型可以被存储在媒体内容代码转换引擎106的数据中,而“甜点程序”被存储在浏览者客户端102上,只是简单的标识用户。然后,当媒体内容代码转换引擎106被请求对媒体内容进行代码转换而发送给浏览者客户端102时,它可以读取这个甜点程序,并将用户的标识映射到数据库中以获取最优目标类型。
在进一步的实施例中,可以为高级用户将最优配置设置成可调整的,或者周期性地更新,以防浏览者客户端102和网络108之间的网络情况发生变化(例如,Internet业务提供商的变化或连接速度的变化)。
如上所述,内容提供商Web服务器接口204和浏览者Web服务器接口202每一个都包括网络接口。在实施例中,内容提供商Web服务器接口204和浏览者Web服务器接口202每一个都包括一个Web服务器。在可选实施例中,内容提供商Web服务器接口204和浏览者Web服务器接口202每一个都包括一个可以将请求重定向到其它物理Web服务器(换句话说,它们也可以是虚拟Web服务器)的负载均衡器。
任务管理器206是一个处理来自浏览者Web服务器接口202的媒体内容请求的组件。任务管理器确定媒体内容代码转换引擎106是否具有发送所请求的媒体内容所必需的所有信息,并收集任何丢失的信息,确定需要执行什么任务来发送所请求的媒体内容。然后,任务管理器与资源管理器208进行交互来执行所需的任务。
资源管理器208是一个程序,由它来确定在媒体内容代码转换引擎106中有哪些可用资源以执行发送所请求的媒体内容的任务(如,获取和代码转换所请求的媒体内容),为必需的任务分配合适的资源,然后管理任务直到结束。在某种意义上,资源管理器208像一个传统的负载均衡器那样工作。但是,传统的负载均衡器通过管理由完成独立和相同任务的一组机器组成的虚拟机来操作,资源管理器分发不同和相互依赖的任务。资源管理器208用以分发任务和分配资源的过程将在下面进行更加详细的描述。
虽然图2只显示了一个资源管理器208,本领域中的一般技术人员可以理解,媒体内容代码转换引擎106的可选实施例可以包括多于一个资源管理器,来在媒体内容代码转换引擎106中分配任务和资源。
在实施例中,任务管理器206和资源管理器208可以以运行在媒体内容代码转换引擎106中的一个或多个通用服务器上的软件来实现。
机房216包括多个独立的在媒体内容代码转换引擎106中从事所请求的媒体内容的代码转换和发送的服务器。机房216包括为所请求的媒体内容获取资源数据的传输服务器220,将资源数据代码转换成恰当的目标类型的代码转换服务器218,将代码转换后的媒体内容转化成数据流发送给浏览者客户端102或代理服务器从而发送给浏览者客户端102的流服务器222。
传输服务器220运行传输软件,传输软件使得传输服务器220可以从一个资源位置获取所请求的媒体内容,并将之传输给代码转换服务器218、流服务器222或一个代理服务器(未显示)中的一个。
代码转换服务器218运行代码转换器软件,代码转换器软件使得代码转换服务器218可以进行从各种已知源类型到各种已知目标类型的代码转换。在实施例中,机房216使用一种插件结构来实现,插件结构使得可以不断的增加代码转换服务,从而确保媒体内容代码转换引擎106可以适用于新的媒体类型。
在本发明的可选实施例中,单个服务器可以既完成传输器的功能又完成代码转换器的功能。在进一步的实施例中,对所请求的媒体内容的传输可以通过媒体内容代码转换引擎106外部的软件来执行。例如,对所请求的媒体内容的传输可以通过内容提供商客户端104上的软件来执行。
在实施例中,机房216中的每一个流服务器是一种特定类型的流服务器,每一种针对于一种类型的媒体内容的传输。例如,机房216中的流服务器可以是针对于REAL格式、WINDOWS MEDIA格式、QUICK TIME格式等等的媒体内容的传输。机房216中的流服务器222可以运行非定制的工业标准服务器程序、根据一种公共标准实现的流服务器程序、或专用流服务器程序。
除了向浏览者客户端102发送媒体内容数据流外,流服务器222还保存关于被使用的媒体内容,以及媒体内容被发送时所使用的目标类型的使用统计信息。流服务器222向资源管理器208提供使用的统计信息,从而使得资源管理器208可以在媒体内容代码转换引擎106中完成高速缓存管理功能。例如,这些使用统计信息使得资源管理器208可以缓存最常被请求的目标类型的最常被请求的代码转化后的媒体内容。对代码转换后的媒体内容进行缓存将在下面参考代码转换高速缓存212进行进一步的描述。
在可选实施例中,对使用统计信息的追踪可以通过一个将流媒体内容从流服务器222导向浏览者客户端102的可选代理服务器(未显示)来执行。在流服务器222不适于追踪使用统计信息时,这种实现是所期望的。
如图2所示,机房216中的每一个服务器包括一个充当服务器和资源管理器208之间的接口的从监视器。从监视器用于从资源管理器208接收任务,以初始化服务器中的任务,并报告初始化后的任务的状态,包括报告一个指派的任务失败或是完成。通过报告服务器中每一个任务的状态,从监视器因而可以使得资源管理器208管理媒体内容代码转换引擎106中的所有任务的执行。
在一个可选实施例中,从监视器只初始化从资源管理器208处接收的任务,任务本身直接向资源管理器208报告而不是向从监视器报告。
资源管理器208使用数据库210来辅助管理媒体内容代码转换引擎106中的任务和资源。数据库210存储每一个活动和挂起任务的状态信息,以及机房216中的每一个资源的状态信息,从而帮助资源管理器208来确定为执行必需的任务对资源管理器208来说哪些资源当前是可用的。
数据库210被任务管理器206用来追踪存档在媒体内容代码转换引擎106中的发布过的媒体内容。数据库210保存这些发布过的媒体内容的源信息,在可能的时候,包括身份、源位置、媒体内容的源类型。
可以使用数据存储领域已知的任何数据结构类型来实现数据库210,包括但并不仅限于关系数据库、面向对象的数据库、平面文件数据库或倒排表数据库。在实施例中,数据库210可以被存储在一个或多个通用服务器上,或媒体内容代码转换引擎106内部附属在网络上的存储器件。
主存储器(master archive)214是一个媒体内容代码转换引擎106中的高速缓存,它存储了媒体内容提供商所发布的,以及内容提供商Web服务器接口204从内容提供商客户端104所接收的原始媒体内容。并且,在媒体内容代码转换引擎106被请求从媒体内容代码转换引擎106之外的位置获取原始媒体内容的地方,媒体内容代码转换引擎106可以在主存储器214中缓存原始媒体内容的一个拷贝。通过在主存储器214中缓存原始媒体内容的一个拷贝,当随后接收到一个对相同媒体内容的请求时,可以避免媒体内容代码转换引擎106从其外部网络中获取原始媒体内容。
代码转换高速缓存212是一个媒体内容代码转换引擎106中的高速缓存。在所请求的媒体内容被代码转换后,媒体内容代码转换引擎106使用代码转换高速缓存212来存储所请求的媒体内容的一个拷贝。当随后接收到一个具有相同目标类型的相同媒体内容的请求时,媒体内容代码转换引擎106从代码转换高速缓存中发送媒体,从而避免了CPU重复进行相同媒体内容的代码转换的昂贵开销。
资源管理器208追踪缓存在主存储器214和代码转换高速缓存212中的内容,并且使用智能算法来管理管理每一个高速缓存的使用。在实施例中,资源管理器208使用智能算法,根据从流服务器222和/或可选代理服务器(未显示)所接收的使用统计信息(关于媒体内容以各种目标类型的请求频率),来管理每一个缓存的使用。例如,在实施例中,资源管理器208使用最近最少使用算法来确定媒体内容的某个特定拷贝是否应该在缓存中继续保存还是被丢弃。根据最近最少使用算法,如果媒体内容的某个拷贝在给定时间内没有达到读取次数的预定门限,它就被丢弃。这个例子并不是限制,相关领域的技术人员可以知道,任何数目的此领域中的已知智能算法都可以用来管理主存储器214和代码转换高速缓存212的使用。这些智能算法处于本发明的领域和精神之内。
在实施例中,主存储器214和/或代码转换高速缓存212被实现为与媒体内容代码转换引擎106中的内部网络相连的一个或多个附属于网络的存储器件。但是,本发明不受限于此,任何适合的存储设备都可以用来实现主存储器214和/或代码转换高速缓存212,包括但并不仅限于,运行缓存软件的通用服务器、文件服务器、一个或多个磁盘阵列、或存储区网络(SAN,storage area network)。
现在将描述根据本发明的实施例发布和读取媒体内容的方法。
4.根据本发明的实施例发布媒体内容在本发明的实施例中,媒体内容或者以编码文件发布,或者以连续数据流发送,如视频或音频实况输入的情况。
图3描述了一种方法的流程图300,根据本发明的实施例通过此方法来发布媒体内容,其中媒体内容是一个编码媒体文件。但是,本发明并不仅限于流程图300所提供的描述。相反,通过此处的启示,其它功能流程图也处于本发明的范围和精神范围内对本领域的技术人员来说是显而易见的。
在步骤302中,内容提供商发送一个请求来从内容提供商客户端104向内容提供商Web服务器接口204发布内容。在实施例中,请求包括一个HTTP请求。
在步骤304中,内容提供商Web服务器接口204向内容提供商客户端104发送一个对媒体内容本身的请求,或获取媒体内容所比需的位置和读取信息。如上所述,根据本发明的实施例,内容提供商可以或者将媒体内容存档在媒体内容代码转换引擎106中,或者存储在媒体内容代码转换引擎106之外的某个可选位置,如在内容提供商自己的服务器上。
如步骤306所示,其中内容提供商希望将编码后的媒体文件存储在媒体内容代码转换引擎106的大容量外存储器中,内容提供商通过内容提供商客户端104将媒体文件发送给内容提供商Web服务器接 204。在步骤308中,当内容提供商Web服务器接口204接收到这些编码后的媒体文件后,它将文件发送给主存储器214以在媒体内容代码转换引擎106中存档。从主存储器214中,资源管理器208和媒体内容代码转换引擎106的其它组件就可以获得编码后的文件。在步骤310中,内容提供商Web服务器接口204将存档文件的标识和位置报告给任务管理器206,任务管理器206将这些信息存储在数据库210中以为以后需要。在实施例中,存档文件的源类型也被存储在数据库210中以为以后需要。
如步骤312所示,其中内容提供商希望将编码后的媒体文件存储在媒体内容代码转换引擎106以外的可选位置中,内容提供商通过内容提供商客户端104将获取编码后的媒体文件所必需的位置和访问信息提供给内容提供商Web服务器接口204。
在步骤316中,在接收到编码后的媒体文件或者获取这些文件所必需的位置和访问信息后,内容提供商Web服务器接口204向内容提供商客户端104提供地址和资源信息。地址信息将请求内容提供商的媒体内容的浏览者指向媒体内容代码转换引擎106,资源信息提供了关于所请求的媒体内容的信息。在编码后的媒体文件被存储在媒体内容代码转换引擎106之外的可选位置上的情况下,资源信息包括在前面的步骤312中由内容提供商所提供的位置和访问信息。
在实施例中,地址和资源信息包括一个URL(统一资源定位符),此URL为浏览者客户端102指示媒体内容代码转换引擎106以及为媒体内容代码转换引擎106提供关于所请求的媒体内容的信息。内容提供商可以将URL作为连接放置在他们的网站上,从而可以使访问网站的浏览者点击URL来通过媒体内容代码转换引擎106读取媒体内容。
步骤316后,流程图300就结束了。
图4描述了根据本发明的实施例发布媒体内容的方法的流程图400,其中媒体内容以连续数据流的形式发送,如在视频或音频实况输入的情况中。但是本发明并不仅限于流程图400所提供的描述。相反,通过此处的启示,其它功能流程图也处于本发明的范围和精神范围内对本领域的技术人员来说是显而易见的。
在步骤402中,内容提供商发送一个请求来从内容提供商客户端104向内容提供商Web服务器接口204发布流媒体内容。在实施例中,请求包括HTTP请求。
在步骤404中,内容提供商Web服务器接口204向内容提供商客户端104发送流媒体内容的请求。
如步骤406所示,内容提供商通过内容提供商客户端104持续地向内容提供商Web服务器接口204发送流媒体内容。
在步骤410中,在接收到了流媒体内容之后,内容提供商Web服务器接口204向内容提供商客户端104提供地址和资源信息。地址信息将请求内容提供商的媒体内容的浏览者指向媒体内容代码转换引擎106,资源信息提供了关于所请求的媒体内容的信息。在实施例中,地址和资源信息包括一个URL(统一资源定位符),此URL为浏览者客户端102指示媒体内容代码转换引擎106以及为媒体内容代码转换引擎106提供关于所请求的媒体内容的信息。内容提供商可以将URL作为连接放置在他们的网站上,从而可以使访问网站的浏览者点击URL来通过媒体内容代码转换引擎106读取媒体内容。
步骤410后,流程图300就结束了。
现在将描述根据本发明的实施例,浏览者读取所发布的媒体内容的方法。
5.根据本发明的实施例访问媒体内容如此处所描述的,响应浏览者对媒体内容的访问请求,本发明的实施例随选(on-demand)完成媒体内容的代码转换。另外,作为媒体内容的发送过程的一部分,本发明的实施例在媒体内容发布之后,实时地完成实质上的代码转换。在本发明的特定实施例中,向媒体内容代码转换引擎106提交浏览媒体内容的请求和向浏览者客户端102发送媒体内容之间的时延大概是30秒或更少。但是,本发明并不仅限于特定的发送时间,并且可以包括各种发送时间,大于或小于30秒。
图5描述了根据本发明的实施例浏览者读取媒体内容的方法的流程图500。但是本发明并不仅限于流程图500所提供的描述。相反,通过此处的启示,其它功能流程图也处于本发明的范围和精神范围内对本领域的技术人员来说是显而易见的。
在步骤502中,浏览者通过浏览者客户端102向媒体内容代码转换引擎106中的浏览者Web服务器接口202发送一个读取媒体内容的请求。在实施例中,当浏览者点击了内容提供商网站上的URL时,将由浏览者客户端102生成一个HTTP请求。如上所述,URL链接,在媒体发布过程中可能是由媒体内容代码转换引擎106提供给内容提供商的,包括地址和资源信息,这些信息为浏览者客户端102指示了媒体内容代码转换引擎106,并且向媒体内容代码转换引擎106提供了关于所请求的媒体内容的资源信息。
当浏览者Web服务器接口202接收到这个请求后,它将这个请求转发给任务管理器206。
在步骤504中,任务管理器206解析请求,以确定是否包括了服务于此请求所必需的请求信息。在本发明的实施例中,其中请求由一个HTTP请求组成,任务管理器206解析HTTP请求的包头,以确定是否包括了服务于此请求所必需的请求信息。在实施例中,必需的信息包括至少一个源位置、一个源类型、一个目标位置和一个目标类型。源类型和目标类型由至少一个发布参量来定义。在实施例中,用于媒体内容的发布参量可以包括但并不仅限于,文件格式、比特率、通信协议、物理媒介、压缩算法、数字版权管理信息、或者其中的组合。在一个实施例中,服务于请求所需的信息包括,至少一个源位置、一个源格式、一个源比特率、一个目标位置、一个目标格式、和一个目标比特率。
如果任务管理器206判断出请求信息是不完整的,它将如步骤506和508所示去获取必要的信息。例如,如果源类型或源位置没有包括在请求中,并且所请求的媒体内容被存储在媒体内容代码转换引擎106中,任务管理器206可以查询数据库210来找出必要的源信息。或者,如果媒体内容存储在媒体内容代码转换引擎106的外部,任务管理器206可以进行一次网络请求以从内容提供商的网站中获取必要的信息。例如,任务管理器206可以进行一次HTTP请求,一次RTSP请求,或一次使用任何其它标准网络应用协议的请求。另外,如果目标类型是未知的,任务管理器206可以通过询问浏览者客户端102来获取必要的信息。如上所讨论的,在实施例中,对目标位置来说最优的目标类型可以作为一个“甜点程序”存储在浏览者客户端102中,由任务管理器206来读取这些甜点程序。
在步骤510中,一旦任务管理器206得到了服务于请求所必需的信息,它将决定需要执行那些任务来发送所请求的媒体内容。任务包括发送所请求的媒体内容所必需的所有步骤,并且还可以包括获取所请求的媒体内容,将所请求的媒体内容由源类型代码转换成目标类型,以数据流的形式将转化后的媒体内容发送给浏览者客户端102。一旦任务管理器206确定了需要执行的任务,它将连接资源管理器208,并指示资源管理器208执行所需的任务。
资源管理器208从任务管理器206处接收指令来执行所需的任务,在步骤512中,将每一个任务分配给机房216上的一个或多个机器。代码转换服务器218被编程以实现利用可用的资源最有效地执行任务。在实施例中,资源管理器208根据多种因素来确定分配给某个任务的资源,其中的因素包括但并不仅限于,哪些机器支持完成所需任务所必需的功能,哪些机器具有可用资源(如可用的CPU),以及当需要协作执行时哪些机器可以互相协作来执行任务。还可以对资源管理器208进行编程以基于各种其它准则(包括避免网络拥塞)来分配任务。例如,可以对资源管理器208进行编程以将解压缩和压缩任务分配给同一个机器,以避免在媒体内容代码转换引擎106的内部网络中从一个机器向另一个机器传输未压缩的数据所引起的网络拥塞。
根据本发明,资源管理器208在任务分配后还要监视任务,以确信任务被正确的执行了。资源管理器208在数据库210中保存一个已分配的任务的列表,并且周期性的与每一个运行特定任务的机器的从监视器通信以确定任务的状态,通过此方式资源管理器208来监视已分配的任务的执行。
在实施例中,资源管理器208周期性地轮询被分配了任务的机器的从监视器,以确定任务的状态。在可选实施例中,从监视器本身周期性地向资源管理器208发送状态信息,以通知某个已分配任务的状态。资源管理器208将它从从监视器接收到的每一个任务和每一个机器的状态信息存储在数据库中,以用于辅助分配和监视必要的任务。
在本发明的一个可选实施例中,从监视器仅仅启动从资源管理器208接收到的任务,而任务本身直接向资源管理器208报告,而不是向从监视器报告。
资源管理器208根据一种容错例程来监视每一个已分配的任务,以此来确定当一个任务失败后,执行必要的步骤来纠正这个问题并保证所请求的媒体内容的发送。例如,当一个被分配了任务的机器在一个预定周期内没有响应一个状态查询,可以对资源管理器208进行编程以重新将任务分配给不同的机器,并重新启动未响应地机器。另外,在一个任务的失败会导致一系列的分布式的相关任务的失败的情况下,可以对资源管理器208进行编程来关闭所有相关的任务并且重新分配整个任务集合,以此来保证所请求的媒体内容的发送。这些例子并不是限制,基于这里的启示,其它的容错例程对相关领域的一般技术人员是显而易见的,本发明涉及这些其它的容错方案。
在本发明的进一步实施例中,每一个任务都被分配了一个优先权。资源管理器208监视新任务,并且当已有任务的优先权低于新任务所需分配的优先权时,资源管理器208将指示已有的任务杀掉自己以适应新的高优先权任务。或者,从监视器可以杀掉已有的任务。低优先权的任务的例子包括,在浏览者停止浏览所请求的内容后对媒体内容的代码转换。
在步骤514,将所有的任务分配后,任务管理器206构造一个对来自浏览者客户端102的读取媒体内容的起始请求的回应。这个回应用于将浏览者客户端102重定向到一个流服务器或代理服务器,从中浏览者客户端102可以最终接收到所请求的媒体内容。在实施例中,回应由一个HTTP回应构成。
在步骤516-526中,机房216中的机器根据从资源管理器208接收到的分配任务来执行发送所请求的媒体内容所必需的步骤。在本发明的实施例中,对媒体内容的发送是一个管道过程,其中获取、代码转换和同一媒体内容流的不同部分的流发送可以同时发生。资源管理器208在媒体内容代码转换引擎106的资源分配中安排这些步骤的管道。这些管道步骤导致了媒体内容代码转换引擎106所请求的媒体的发送更快。
如步骤516所示,如果所请求的媒体内容已经存在于代码转换高速缓存212并已代码转换成了恰当的目标类型(如,合适的目标格式和比特率或其它合适的发布参量),那么由流服务器222完成内容的发送,它如上所述将代码转换后的媒体内容以数据流的形式发送给浏览者客户端102。
但是,如果所请求的媒体内容并不存在于代码转换高速缓存212中也没有被代码转换成恰当的目标类型,那么机房216中的传输服务器220中的一个就如步骤518所示,开始从源位置以数据流的形式获取所请求的媒体内容。如上面图3和图4所讨论的,在本发明的实施例中,刚开始所请求的媒体内容可以或者存在于媒体内容代码转换引擎106中的主存储器214中,在媒体内容代码转换引擎106的外部存储器中,或者作为数据流输入直接从内容提供商客户端104接收。
在所请求的媒体内容存在于主存储器214中的请求下,传输服务器220中的一个通过媒体内容代码转换引擎106的内部网络获取所请求的内容。
在所请求的媒体内容存在于媒体内容代码转换引擎106的外部存储器中的请求下,传输服务器220中的一个使用发布过程中所提供的访问信息来获取所请求的媒体内容。在实施例中,在传输服务器使用访问信息获取到所请求的媒体内容之后,内容可以暂时缓存在主存储器214中,当媒体内容代码转换引擎106随后接收到对同样媒体内容的请求时,可以加速对这些媒体内容的读取。
在所请求的媒体内容是直接来自内容提供商客户端104的数据流输入的情况下,传输服务器220中的一个从内容提供商Web服务器接口204获取流数据。因为本发明的实施例直到流数据被浏览着请求时才获取和代码转换这些流数据,因此避免了对媒体内容的不必要地代码转换。
如步骤520所示,在传输服务器开始获取所请求的媒体内容之后,如果源类型与目标类型相同(例如,源格式和比特率与目标格式和比特率相同),那么不需要代码转换,一旦取得了媒体内容,就将之传送给流服务器222。然后流服务器222在步骤524中将内容以数据流的形式发送给浏览者客户端102,如上所述。但是,如果源类型和目标类型不相同,那么如步骤522所示,机房216中的代码转换服务器218中的一个就将媒体内容由源类型代码转换成目标类型。根据上述步骤512中所讨论的,资源管理器208将代码转换任务分配给代码转换服务器,其中代码转换器运行了必需的代码转换软件,以完成发布变量的适当转换。在实施例中,使用各种已知的方法来执行代码转换已将媒体内容从一种类型转化成另一种,其中包括对媒体内容进行代码转换的通常的编解码例程。对代码转换操作的进一步描述以及例子将在下面给出。
在实施例中,当代码转换完成后,代码转换后的媒体内容的一个拷贝被临时存储在代码转换高速缓存212中,当随后媒体内容代码转换引擎106接收到对相同的媒体内容以及代码转化成相同的目标类型的请求时,可以加速媒体内容的发送。
在步骤524中,一旦从代码转换器、传输器或代码转换高速缓存212处接收到了适当目标类型的媒体内容,流服务器222中的一个将以数据流的形式将它发送给浏览者客户端102。在实施例中,如根据上面图2所讨论的,通过可选的代理服务器将代码转换后的媒体内容以数据流的形式发送给浏览者客户端102。在进一步的实施例中,流服务器或可选的代理服务器保存与正被发送的媒体内容以及媒体内容被发送时的目标类型相关的使用统计数据,这些统计数据将被资源管理器208为缓存管理的目的而使用。
在实施例中,用于将流媒体发送给浏览者客户端,以及在传输服务器220、代码转换服务器218和流服务器222之间发送的协议是一种标准的流媒体协议,如RTSP。或者使用在标准网络协议(如TCP/IP)之上定义的专用协议。在进一步的实施例中,不同的协议可以用来适配不同的网络设施。例如,协议的实现可以动态地根据网络流量情况而变化。但是,这些例子只是示例性的。本发明的意图并不是限制在特定的通信协议或应用上,其它的专用或非专用网络通信协议和应用也可以使用。
在步骤526,浏览者客户端102从流服务器或者代理服务器接收流媒体内容。在这点上,浏览者客户端102根据与浏览者客户端102上的媒体播放器相关的目标类型来播放媒体内容。在本发明的可选实施例中,媒体内容可以以下载文件的形式接收和存储在浏览者客户端102上,以为后面播放,或传输到一个可选的媒体播放器。
步骤526后,流程图500就结束了。
6.进一步的代码转换操作和媒体内容的例子如上所述,媒体内容代码转换引擎106包括一个或多个代码转换服务器218。代码转换服务器218将特定类型的媒体内容(这里指源类型)转化成另一种媒体类型(这里指目标类型)。代码转换可以包括一定数量的不同转化操作。所使用的特定转化操作由被转化的媒体内容和相关发布参量来决定。这里使用的发布参量指媒体内容不同的特性。
根据本发明,媒体内容以数字数据的形式在网络上发布。在此情况下,发布指被格式化以在网络上发送以及被目标媒体播放器浏览的数字数据。媒体内容所用的发布参量可以包括但并不仅限于,文件格式、比特率、通信协议、物理媒介、压缩算法,和/或数字版权管理信息。
数字数据可以是任何类型的文件格式,包括当并不仅限于,容器格式、位图格式、视频格式、矢量格式、元文件格式、场景格式、动画格式、多媒体格式、混合格式、超文本和超媒体格式、三维数据(3D)格式、虚拟现实模型语言(VRML)格式、字体格式(位图格式、笔划格式、基于样条(spline-based)的轮廓格式)、页描述语言(PDL)格式、以及任何其它的图形文件格式或其它文件格式。表1列出了可以用于本发明的实施例的这些文件格式的例子





参见Murray and vanRyper的第12-26页。这些例子只是示例性的,其目的并不是对本发明进行必须的限制。其它的文件格式(现在已知的和将来开发的)也可以被使用,这对知道了此处的描述的本领域的技术人员来说是显而易见的。
即使在同一种文件格式中,还可以根据不同的压缩算法来对数字数据进行压缩。例如在QUICK TIME格式的文件中,可以根据H.263、CINEPAK、JPEG、QT动画或QT视频标准来压缩视频。一个进一步的例子,在一个WINDOWS MEDIA ASF格式的文件中,可以根据MICROSOFT音频格式、ACELP、VOXWARE或MP3标准来对音频进行压缩。压缩算法的选择可以根据比特率或内容的本质特性的最优化来进行。例如,具有少量运动的视频文件(“只有头部特写的讲话”(“talking head”))和具有多个后续运动的视频文件(“高运动”视频)用不同的压缩算法来压缩每一个会产生更高的压缩效率。
在每一个压缩算法中,还可能存在进一步的不同。例如,基于JPEG标准的文件压缩可以是基于YUB的或基于RGB的。
除了上面提出的发布参量,还有专用于视频数据和音频数据的发布参量。
用于视频的发布参量包括视频图像以像素计算的高和宽以及视频的帧速率。依据比特率要求和数据的本身特性,可能需要不同的必要设置来保证最佳图片质量。例如,某些视频以每秒15帧,160×120像素的方式来浏览是较好的,而一些其它的视频以每秒5帧,320×240像素的方式来浏览是较好的,即使比特率是相同的。当比特率位56Kbps时,图片质量变得非常有限,以640×480像素的分辨率发送视频,几乎永远达不到最优。视频数据的另一个发布参量是每分量的比特数。
视频的发布参量包括每秒的抽样率、声道数目(如单声道、立体声、5声道)和取样大小(8比特、16比特等等)。根据特定的媒体内容和比特率,由不同的必要设置来保证音频质量。
发布参量还包括发送的数据包的大小,以及传输协议的选择(如TCP还是UDP)。
图6显示了一个随选将源类型媒体内容610代码转换成目标类型媒体内容650的例子代码转换服务器218。源类型媒体内容610是在网络上用一个或多个数据包发送的数字数据。组成源类型媒体内容610的数字数据由一个或多个发布参量来定义。如图6所示,发布参量包括一个或多个下列参量,源文件格式、源比特率、源物理媒介、源通信协议、源编码或其中的任何组合。目标类型媒体内容650是在网络上用一个或多个数据包发送给请求媒体内容的终端用户的数字数据。组成目标类型媒体内容650的数字数据也由一个或多个发布参量来定义。如图6所示,发布参量包括一个或多个下列参量,目标文件格式、目标比特率、目标物理媒介、目标通信协议、目标编码或其中的任何组合。
图7显示了一个实现的例子,其中一个或多个代码转换服务器218随选地将源类型媒体内容710代码转换成第一类目标类型750。图7还显示了一个实现例子,其中一个或多个代码转换服务器218随选地将源类型媒体内容710代码转换成第二类目标类型760。源类型媒体内容710包括根据下列源发布参量发布的数字数据,即物理媒介是一个本地磁盘,通信协议包括一个文件I/O,文件格式是使用每秒128K比特(128Kbps)MP3编码的MP3。目标类型750包括为下列目标发布参量进行代码转换的数字数据,即物理媒介是分组交换网络,通信协议包括WINDOWS媒体流MMS协议,文件格式是使用56Kbps MP3编码的WINDOWS媒体文件。第二类媒体内容的类型760包括为下列目标发布参量进行代码转换的数字数据,即物理媒介是无线网络,通信协议包括HTTP,文件格式是使用12Kbps MP3编码的MP3。
其它的例子显示在下表中表2-5代码转换器操作的例子表2

表3

表4

表5

这些例子只是示例性的,其目的并不是对本发明进行限制。其它类型的现在已知的和将来开发的随选代码转换操作也可以被使用,这对知道了此处的描述的本领域的技术人员来说是显而易见的。
7.本发明的可选实施例这里描述了本发明的方法和系统的例子实施例。如在其它地方提及的,这些实施例的例子只是用于示例性的描述,并不是限制。可选实施例,与这里描述的有很小或很大的不同,对相关领域技术人员(根据这里所包含的启示)来说是显而易见的。例如,相关领域的技术人员可以理解,本发明的代码转换系统和方法并不仅限于媒体内容的代码转换和发送,还包括所有类型的信息的代码转换和发送,其中的信息包括但并不仅限于,压缩文件、电子文档、HTML页、XML文档、和其它可以以多个格式存储和以电子形式发送的信息。其它可选的实施例包括当并不仅限于,本发明的方法、系统和组件的硬件、软件和软件/硬件实现。这些可选实施例均落入本发明的范围和精神之内。
8.结论虽然上面描述了本发明的各种实施例,但是应该理解,它们只是作为例子而提供,并不是限制。本领域中的技术人员可以理解,由此在形式和细节上进行的各种变化并不背离本发明的精神和范围,这将在从属权利要求中定义。因此,本发明的宽度和范围不应该被限制在任何一个上述示例性的实施例中,而是应该仅根据下面的权利要求和它们的等价体来定义。
权利要求
1.一种将媒体内容由一种源类型代码转换成一种目标类型的方法,包括如下步骤(a)接收对媒体内容的代码转换请求;(b)响应所述代码转换请求,获取媒体内容;(c)从用于把多个源类型代码转换成多个目标类型的多个代码转换器中选择一个,其中所述的一个代码转化器的选择是基于源类型和目标类型;(d)将媒体内容发送给所选择的代码转换器;(e)将媒体内容从源类型代码转换成目标类型,从而生成代码转换后的媒体内容;(f)传输所述代码转换后的媒体内容。
2.如权利要求1的方法,其中媒体内容包括一个数字信息文件。
3.如权利要求1的方法,其中媒体内容包括一个数字数据流。
4.如权利要求1的方法,其中媒体内容作为一个数字数据流来获取、发送和代码转换,所属代码转换后的媒体文件作为一个数字数据流来传输,并且其中步骤(b)(d)(e)和(f)以管道的形式完成。
5.如权利要求1的方法,其中所述代码转换请求通过因特网来接收,并且其中所述代码转换后的媒体内容通过因特网来传输。
6.如权利要求1的方法,其中媒体内容的类型根据至少一个发布参量来定义,其中所述至少一个发布参量是(1)媒体内容的文件格式;(2)媒体内容的比特率;(3)存储媒体内容的压缩算法;(4)传输媒体内容的通信协议;(5)存储媒体内容的物理媒介;并且其中步骤(e)包括将所述媒体内容的至少一种发布参量从一种源发布参量类型转化成一种目标发布参量类型。
7.如权利要求1的方法,还包括下列步骤(g)在代码转换高速缓存中存储所述代码转换后的媒体内容;(h)响应随后对媒体内容的代码转换请求,从所述代码转换高速缓存中取出所述代码转换后的媒体内容,并发送所述代码转换后的媒体内容。
8.如权利要求7的方法,还包括步骤(i)根据一种智能算法来确定是否将所述代码转换过的媒体内容保存在所述代码转换高速缓存中。
9.如权利要求8的方法,其中所述智能算法是一种最近最少使用算法。
10.如权利要求1的方法,还包括发布媒体内容的步骤,其中所述发布步骤进一步包括下列步骤(1)接收媒体内容;(2)将媒体内容存档在一个主存储器中;其中所述发布步骤在步骤(a)之前,并且其中所述步骤(b)包括从所述主存储器中取得存档的媒体内容,以此作为所述代码转换请求的响应。
11.如权利要求1的方法,还包括发布媒体内容的步骤,其中所述发布步骤进一步包括下列步骤(1)接收媒体内容的位置和访问信息;其中所述发布步骤在步骤(a)之前,并且其中所述步骤(b)包括使用所述位置和访问信息来获取媒体内容,以此作为所述代码转换请求的响应。
12.如权利要求1的方法,还包括发布媒体内容的步骤,其中所述发布步骤进一步包括下列步骤(1)以数字数据流的形式接收媒体内容;其中所述发布步骤在步骤(a)之前,并且其中所述步骤(b)包括获取所述数字数据流,以此作为所述代码转换请求的响应。
13.一种用于将媒体内容从一种源类型代码转换成一种目标类型的代码转换系统,包括一个网络接口;一个资源管理器;一个传输服务器;一个流服务器;多个用于将多个源类型代码转换成多个目标类型的代码转换器;其中所述网络接口适用于接收对媒体内容的代码转换请求,其中所述资源管理器适用于,响应所述代码转换请求,为响应所述代码转换请求而命令所述传输服务器获取媒体内容,并根据源类型和目标类型从多个代码转换器中选择一个,并命令所述所选择代码转换器将媒体内容从源类型转化成目标类型,从而生成代码转换后的媒体内容,以及命令所述流服务器传送所述代码转换后的媒体内容。
14.如权利要求13的代码转换系统,其中媒体内容包括一个数字信息文件。
15.如权利要求13的代码转换系统,其中媒体内容包括一个数字数据流。
16.如权利要求13的代码转换系统,其中所述传输服务器适用于以数据流的形式获取媒体内容,所述所选代码转换器适用于以数据流的形式对媒体内容进行代码转换,并且所述流服务器适用于以数据流的形式发送所述代码转换后的媒体内容,其中所述资源管理器管理所述传输服务器、所选的代码转换器和所述流服务器的操作,以使所述获取、代码转换和传输以管道的形式出现。
17.如权利要求13的代码转换系统,其中网络接口包括一个Web服务器接口。
18.如权利要求13的代码转换系统,其中所述网络接口适用于通过因特网来接收所述代码转换请求,并且其中所述流服务器适用于通过因特网来发送所述代码转换后的媒体内容。
19.如权利要求13的代码转换系统,其中媒体内容的类型根据至少一个发布参量来定义,其中所述至少一个发布参量是(1)媒体内容的文件格式;(2)媒体内容的比特率;(3)存储媒体内容的压缩算法;(4)传输媒体内容的通信协议;(5)存储媒体内容的物理媒介;并且其中所选的代码转换器适用于将所述媒体内容的至少一个发布参量从一种源发布参量类型转化成一种目标发布参量类型。
20.如权利要求13的代码转换系统,还包括一个代码转换高速缓存器;其中所述代码转换高速缓存器适用于存储所述代码转换后的媒体内容,其中所述资源管理器适用于命令所述传输服务器从所述代码转换高速缓存中获取所述代码转换后的媒体内容,并且当所述网络接口随后收到对此媒体内容的代码转换请求时,命令所述流服务器发送所述代码转换后的媒体内容。
21.如权利要求20的代码转换系统,其中所述资源管理器适用于根据一种智能算法来确定是否将所述代码转换过的媒体内容保存在所述代码转换高速缓存中。
22.如权利要求21的代码转换系统,其中所述智能算法是一种最近最少使用算法。
23.如权利要求13的代码转换系统,还包括一个主存储器;一个内容提供商的网络接口;其中所述内容提供商的网络接口适用于接收媒体内容,并将媒体内容存档在所述主存储器中,其中所述传输服务器适用于从所述主存储器中获取所述存档的媒体内容。
24.如权利要求13的代码转换系统,还包括一个内容提供商的网络接口;其中所述内容提供商的网络接口适用于接收媒体内容的位置和访问信息,其中所述传输服务器适用于使用所述位置和访问信息来获取媒体内容。
25.如权利要求13的代码转换系统,还包括一个内容提供商的网络接口;其中所述内容提供商的网络接口适用于以数字数据流的形式接收媒体内容,其中所述传输服务器使用于获取所述数字媒体内容流。
26.如权利要求13的代码转换系统,其中所述传输服务器、所述流服务器、以及所述每个代码转换器都还包括一个从监视器,其中每一个从监视器适用于从资源管理器接收命令,并响应所述命令启动一个任务。
27.如权利要求26的代码转换系统,其中每一个从监视器还适用于向所述资源管理报告所述任务的状态。
28.一种用于将媒体内容从一种源类型代码转换成一种目标类型的代码转换系统,包括一个网络接口;一个资源管理器;一个流服务器;多个用于将多个源类型代码转换成多个目标类型的代码转换服务器;其中所述网络接口适用于接收媒体内容的代码转换请求,其中所述资源管理器适用于,响应所述代码转换请求,为响应所述代码转换请求而根据源类型和目标类型从多个代码转换器中选择一个,并命令所选的代码转换服务器获取媒体内容并将媒体内容从源类型转化成目标类型,从而生成代码转换后的媒体内容,以及命令所述流服务器传送所述代码转换后的媒体内容。
29.一种用于将媒体内容从一种源类型代码转换成一种目标类型的代码转换系统,包括多个用于将多个源类型代码转换成多个目标类型的代码转换装置;传输装置;流装置;接收代码转换请求的装置;响应所述代码转换请求的装置,其中响应所述代码转换请求的装置包括资源管理装置用于命令所述传输装置获取媒体内容,根据源类型和目标类型从多个代码转换装置中选择一个,命令所选的代码转换装置将媒体内容从源类型转化成目标类型,从而生成代码转换后的媒体内容,以及命令所述流装置传送所述代码转换后的媒体内容。
30.如权利要求29的媒体代码转换系统,其中媒体内容包括一个数字信息文件。
31.如权利要求29的媒体代码转换系统,其中媒体内容包括一个数字数据流。
32.如权利要求29的媒体代码转换系统,其中所述传输装置适用于以数据流的形式获取媒体内容,所述所选代码转换装置适用于以数据流的形式对媒体内容进行代码转换,并且所述流装置适用于以数据流的形式发送所述代码转换后的媒体内容,其中所述资源管理装置管理所述传输服务装置、所述所选代码转换装置和所述流装置的操作,以使所述获取、代码转换和传输以管道的形式发生。
33.如权利要求29的媒体代码转换系统,其中所述用于接收所述代码转换请求的装置适用于通过因特网来接收所述代码转换请求,并且其中所述流装置适用于通过因特网来发送所述代码转换后的媒体内容。
34.如权利要求29的媒体代码转换系统,其中媒体内容的类型根据至少一个发布参量来定义,其中所述至少一个发布参量是(1)媒体内容的文件格式;(2)媒体内容的比特率;(3)存储媒体内容的压缩算法;(4)传输媒体内容的通信协议;(5)存储媒体内容的物理媒介;并且其中所选的代码转换装置适用于将所述媒体内容的至少一个发布参量从一种源发布参量类型转化成一种目标发布参量类型。
35.一种用于对媒体内容进行代码转换的方法,包括下列步骤(a)接收对媒体内容的代码转换请求,其中所述代码转换请求包括一个源类型、一个源位置、一个目标类型和一个目标位置;(b)响应所述代码转换请求,从所述源位置获取媒体内容;(c)从用于将多个源类型代码转换成多个目标类型的多个代码转换器中选择一个,其中所述的一个代码转化器的选择是以源类型和目标类型为基础的;(d)将媒体内容发送给所选的代码转换器;(e)将媒体内容从源类型代码转换成目标类型,从而生成代码转换后的媒体内容;(f)传输所述代码转换后的媒体内容给所述目标位置。
36.如权利要求35的方法,还包括解析所述代码转换请求以确定所述源类型、所述源位置、所述目标类型、所述目标位置的步骤。
37.如权利要求36的方法,还包括当在所述解析步骤中确定出所述代码转换请求是不完整的时候,获取所述源类型、所述源位置、所述目标类型或所述目标位置中的至少一个的步骤。
38.一种用于将媒体内容从一种源类型代码转换成一种目标类型的方法,包括下列步骤(a)获取媒体内容;(b)从用于将多个源类型代码转换成多个目标类型的多个代码转换器中选择一个,其中所述的一个代码转化器的选择是以源类型和目标类型为基础的;(c)将媒体内容发送给所选的代码转换器;(d)将媒体内容从源类型代码转换成目标类型,从而生成代码转换后的媒体内容;(e)传输所述代码转换后的媒体内容。
39.一种用于对媒体内容进行代码转换的媒体代码转换系统,包括一个网络接口;一个资源管理器;一个传输服务器;一个流服务器;多个用于将多个源类型代码转换成多个目标类型的代码转换器;其中所述网络接口适用于接收媒体内容的代码转换请求,其中所述代码转换请求包括一个源类型、一个源位置、一个目标类型、一个目标位置,其中所述资源管理器适用于,响应所述代码转换请求,为响应所述代码转换请求而命令所述传输服务器从源位置获取媒体内容,根据源类型和目标类型从多个代码转换器中选择一个,命令所选的代码转换器将媒体内容从所述源类型转化成所述目标类型,从而生成代码转换后的媒体内容,以及命令所述流服务器传送所述代码转换后的媒体内容给所述目标位置。
40.如权利要求39的方法,还包括一个任务管理器;其中所述任务管理器适用于解析所述代码转换请求,以确定所述源类型、所述源位置、所述数目类型、所述目标位置。
41.如权利要求40的方法,其中所述任务管理器还适用于当确定出所述代码转换请求是不完整的时候,获取所述源类型、所述源位置、所述数目类型、所述目标位置中至少一个。
42.如权利要求39的方法,其中所述网络接口是一个Web服务器接口。
43.一种将媒体内容由一种源类型代码转换成一种目标类型的媒体代码转换系统,包括一个资源管理器;一个传输服务器;一个流服务器;多个用于将多个源类型代码转换成多个目标类型的代码转换器;其中所述资源管理器适用于命令所述传输服务器获取媒体内容,根据源类型和目标类型从多个代码转换器中选择一个,命令所选的代码转换器将媒体内容从源类型转化成目标类型,从而生成代码转换后的媒体内容,以及命令所述流服务器传送所述代码转换后的媒体内容。
44.一种将媒体内容由一种源类型代码转换成第一种目标类型和第二种目标类型的方法,包括下列步骤(a)获取媒体内容;(b)从用于将多个源类型代码转换成多个目标类型的多个代码转换器中选择第一代码转换器,其中所述的第一代码转化器的选择是以源类型和目标类型为基础的;(c)将媒体内容发送给所述第一代码转换器;(d)将媒体内容从源类型代码转换成第一目标类型,从而生成第一代码转换后的媒体内容;(f)传输所述第一代码转换后的媒体内容;(g)将媒体内容发送给所述第二代码转换器;(h)将媒体内容从源类型代码转换成第二目标类型,从而生成第二代码转换后的媒体内容;(i)传输所述第二代码转换后的媒体内容。
45.一种将第一媒体内容由第一源类型代码转换成一种目标类型,以及将第二媒体内容由第二源类型代码转换成同一目标类型的方法,包括下列步骤(a)获取第一和第二媒体内容;(b)从用于将多个源类型代码转换成多个目标类型的多个代码转换器中选择第一代码转换器,其中所述的第一代码转化器的选择是以第一源类型和目标类型为基础的;(c)将第一媒体内容发送给所述第一代码转换器;(d)将第一媒体内容由第一源类型代码转换成一种目标类型,从而生成第一代码转换后的媒体内容;(f)从用于将多个源类型代码转换成多个目标类型的多个代码转换器中选择第二代码转换器,其中所述的第二代码转化器的选择是以第二源类型和目标类型为基础的;(g)将媒体内容发送给所述第二代码转换器;(h)将媒体内容从第二源类型代码转换成同一种目标类型,从而生成第二代码转换后的媒体内容;(i)传输所述第二代码转换后的媒体内容。
46.一种将媒体内容由第一源类型代码转换成第一目标类型和第二目标类型的媒体代码转换系统,包括一个资源管理器;第一和第二传输服务器;第一和第二流服务器;多个用于将多个源类型代码转换成多个目标类型的代码转换器;其中所述资源管理器适用于命令第一传输服务器获取媒体内容,根据源类型和第一目标类型从多个代码转换器中选择第一代码转换器,并命令所述第一代码转换器将媒体内容从源类型转化成第一目标类型,从而生成第一代码转换后的媒体内容,以及命令所第一述流服务器传送所述第一代码转换后的媒体内容,命令第二传输服务器获取媒体内容,根据源类型和第二目标类型从多个代码转换器中选择第二代码转换器,并命令所述第二代码转换器将媒体内容从源类型转化成第二目标类型,从而生成第二代码转换后的媒体内容,以及命令所述第二流服务器传送所述第二代码转换后的媒体内容。
47.一种将第一媒体内容由第一源类型代码转换成目标类型,并且将第二媒体内容从第二源类型代码转换成同一目标类型的媒体代码转换系统,包括一个资源管理器;第一和第二传输服务器;第一和第二流服务器;多个用于将多个源类型代码转换成多个目标类型的代码转换器;其中所述资源管理器适用于命令第一传输服务器获取第一媒体内容,根据第一源类型和目标类型从多个代码转换器中选择第一代码转换器,命令所述第一代码转换器将媒体内容从第一源类型转化成目标类型,从而生成第一代码转换后的媒体内容,以及命令所第一述流服务器传送所述第一代码转换后的媒体内容,命令第二传输服务器获取第二媒体内容,根据第二源类型和目标类型从多个代码转换器中选择第二代码转换器,命令所述第二代码转换器将媒体内容从第二源类型转化成目标类型,从而生成第二代码转换后的媒体内容,以及命令所述第二流服务器传送所述第二代码转换后的媒体内容。
全文摘要
提供了一种随选将媒体内容由一种源类型代码转换成一种目标类型的系统和方法,其中系统包括多个由多个源类型(208)进行代码转换的代码转换器(218),其中系统接收媒体内容的代码转换请求,为响应代码转换请求,获取媒体内容,根据源类型(208)和目标类型,将媒体内容发送给多个代码转换器中的一个,从而生成代码转换后的媒体内容,并传输(220)代码转换后的媒体内容。系统(106)以管道的形式获取、发送媒体内容,将之进行代码转换,并传输代码转换后的媒体内容。系统(106)还提供了以文件或数字数据流的形式发布媒体内容,提供了媒体内容的存档,以及对代码转换后的媒体内容进行缓存以提高系统效率。
文档编号H04N7/26GK1488195SQ01822293
公开日2004年4月7日 申请日期2001年12月20日 优先权日2000年12月22日
发明者安吉拉·C·W·雷, 安吉拉 C W 雷, P 霍迪, 詹姆斯·P·霍迪, E 查托克, 霍华德·E·查托克, 克里斯托弗·V·皮瑞兹, 托弗 V 皮瑞兹, 基奥维尼·M·安格诺利, 尼 M 安格诺利, A 考姆斯基, 哈里·A·考姆斯基, H 陈, 史蒂文·H·陈, 霍克穆瓦, 黑托西·霍克穆瓦 申请人:大众媒体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1