用于播放多媒体数据的方法以及实现该方法的系统的制作方法

文档序号:7855088阅读:143来源:国知局
专利名称:用于播放多媒体数据的方法以及实现该方法的系统的制作方法
技术领域
本发明涉及一种用于播放多媒体数据的方法以及一种用于实现该方法的系统,更具体地,本发明涉及一种用于播放多媒体数据的方法以及一种用于实现该方法的系统,其中不管是否根据成流方法来传输多媒体数据,总是根据接收到的多媒体数据,产生成流数据,然后进行播放。
背景技术
因特网提供了实质上改变信息获取途径的机会。现在,所有在离线状态可以获得的信息都可以通过因特网进行搜索。由于其快捷和方便的优点,利用因特网搜索信息已经成为重要的信息获取途径。除了因特网之外,推进信息交流的一个主要因素就是万维网(World WideWeb)。通过使用万维网,用户可以通过方便直观的界面搜索到所需的信息。
过去,由于计算机和通信技术的不足,大容量的数据不能够被存储和快速传输。所以,早期通过因特网传播的信息主要是小容量的文本数据。然而,随着计算机和通信技术所带来的限制被克服,在通过因特网传播的信息中,像视频或音频这样的多媒体数据正在逐渐增加。
像视频或音频这样的多媒体数据的容量一般都比文本数据大。与通过因特网传送小容量的数据相比,传送大容量数据需要消耗很多的时间,所以传输多媒体数据比传输文本数据就需要消耗更多的时间。因此,需要一种通过因特网传输多媒体数据并播放所接收到的多媒体数据的新方法,。
通过因特网传送信息的最一般方法就是下载方法。在传输信息主要是文本的过去,该方法得到了广泛的应用,在这种情况下,用户会接收从因特网上所搜索到的整个数据,并且把它们存储到他/她的计算机上,以备将来使用。该下载方法同样也可以用于多媒体数据。实际上,当数据是用如AVI或DIVX格式等文件格式提供的情况下,除了下载以外并无别的方法可选,所述的这些格式并不支持下面将要讲述的成流方法(streaming method),也就不能使用成流方法。然而,在这种情况下,多媒体数据只有在所有数据都被完全接收的情况下才能被播放。这样,为了完全接收数据,用户就需要等待一段很长的时间。
此外,由于在传统技术的方法中,多媒体数据只有在所有数据都被完全接收的情况下才能够被播放,所以,如果用户仅希望播放整个多媒体数据中的一部分,或者用户希望在仅播放了多媒体数据的一部分时就能够判断他/她是否要接收所有数据,则传统技术的方法就不再适用。
同时,与其他数据相比,多媒体数据除了容量大以外,它们的另一特征在于它们需要被顺序和规则地检索,然后被播放。也就是说,在使用多媒体数据来播放音频或视频时,数据是按一定的时间顺序来播放的,从而当用户使用多媒体数据时,就会存在将要被播放的数据部分是否存在的问题。这一特征就意味着驱动多媒体数据并不需要存储整个数据文件。也就是说,为了播放像时间为一小时的大容量视频多媒体数据,并不需要整个多媒体数据存在。只要与将要被播放的那一部分相对应的多媒体数据存在,该视频就可以被播放。
为了解决上述下载方法中的问题,人们考虑到多媒体数据播放的特征,于是提出了用于传输和播放多媒体数据的成流方法。根据成流方法,当用户希望播放从通信网络中接收到的多媒体数据时,从服务器接收多媒体数据的操作就会开始,而在将所接收到的多媒体数据存储到具有预定大小的缓冲器中之后,开始播放所接收到的多媒体数据。在播放的过程中,从服务器接收多媒体数据是与多媒体数据的播放速率实时同步的,这样播放就不会被中断。
成流的技术定义如下“成流是一种用规则和连续的流来传送经过已处理数据的技术,通过使用成流,用于处理数据的应用程序可以在所需的整个数据文件被完全传送之前就对数据进行驱动。”用于实施成流服务的方法一般可以被分为请求式成流方法(on-demand streaming method)和广播成流方法。在请求式成流方法中,客户端侧的用户可以进行如开始播放多媒体数据和停止播放,以及从其中的任何数据块播放多媒体数据(也就是改变播放位置)等操作,这样用户就可以控制对成流数据的播放。另一方面,在广播成流方法中,用户对于成流方法中所传输的数据流(这以后将被称为“成流数据”)是被动的,这样,用户可以在接收到通过通信网络传送的成流数据时立刻收听(或者观看)这些数据,但不能收听(或者观看)已经过去的成流数据块。此外,不能从其中任意的数据块播放成流数据。所以,广播成流方法可以被认为是广义广播方案中的单向多媒体数据播放。
如上所述,在使用成流服务时,用户不需要等待整个数据的传输,尤其是在请求式成流方法中,用户可以像已经接收整个数据之后那样,自由地选择开始播放、改变播放位置以及进行类似的操作。
此外,在成流服务的情况下,多媒体数据并未存储在客户端中。这样,就可以防止多媒体数据的流出(在没有得到像作者这样的权利人的同意或许可时,流通多媒体数据)。
尽管这样的成流方法与传统技术相比有很多优点,但仍然存在需要解决的问题。
与下载方法不同,成流方法会在没有存储整个多媒体数据的情况下,仅实时地接收所需要的多媒体数据块。所以,成流方法对数据传输速率敏感。如果数据传输速率高,不会出现任何问题,客户端将在缓冲器中存储多余的数据块,然后在需要的时候播放这些数据。然而,如果数据传输速率低于播放所需的速率,则对数据的表达就有可能不平滑,从而声音会变形或者图像会出现暂停。在等待数据传输一段时间之后,才能再次播放数据。
此外,当多个客户端被连接到用于提供成流数据的服务器上,并打算同时接收成流数据(streaming data)时,数据传输速率会由于客户端数量的增加而降低,从而多媒体数据就不能被平滑地播放。因此,抵消了成流方法中同时接收和播放多媒体数据的优点。例如,如果n个客户端被连接到服务器上,并且它们都将以250kbps的传输速率接收已编码数据,则所需的线路是(250×n)kbps。也就是说,服务器为了提供成流服务,将面临需要高容量传输线的问题。
此外,在实时接收数据的成流方法中,多媒体数据并未被存储在客户端中,所以,为了重复播放已经被播放过的数据块,必须从服务器重新接收相同的多媒体数据。这样,产生了不必要的负荷。

发明内容
本发明用于解决现有技术中的种种问题。本发明的一个目的是提供一种用于播放多媒体数据的方法以及一种用于实现该法的系统,其中当已经传送了一些多媒体数据块,而整个要播放的多媒体数据并没有完全被接收时,即使并未根据成流方法来接收所述多媒体数据,也可以播放想要播放的多媒体数据块(成流服务)。
本发明的另一目的在于提供一种用于播放多媒体数据的方法以及一种用于实现该法的系统,其中找出所传输的多媒体数据中已经被存储的多媒体数据块,从而,当播放这些被存储的多媒体数据块时,不需要再次接收它们(多媒体数据的存储)。
本发明的另一目的在于提供一种用于播放多媒体数据的方法以及一种用于实现该法的系统,其中为了防止在没有得到权利人的同意或允许的情况下播放计算机中所存储的多媒体数据,对所述多媒体数据进行加密和存储,然后在播放时进行解密(防止复制)。
本发明的另一目的在于提供一种用于播放多媒体数据的方法以及一种用于实现该法的系统,其中预测所需的多媒体数据块,然后基于多媒体数据的播放顺序事先进行接收,从而可以防止由于数据传输速率所带来的播放质量的恶化(预测传输)。
本发明的另一目的在于提供一种用于播放多媒体数据的方法以及一种用于实现该法的系统,其中在提供成流服务时,多媒体数据可以从包括服务器的多个数据提供者以及服务器并行接收,从而可以提高数据传输速率,确保数据的实时播放(并行传输)。
为了实现这些目的和解决现有技术中的问题,根据本发明的一个方案,一种用于播放多媒体数据的方法,包括以下步骤从播放器程序接收播放指令;响应播放指令,请求多媒体数据;通过使用协议,接收和存储多媒体数据;利用所存储的多媒体数据,产生成流数据;以及将成流数据提供给播放器程序,并由播放器程序播放。
所述多媒体数据被分为组成多媒体数据的段,并且所述步骤是以段为单位进行的。这里,将所述段定义为用于组成多媒体数据的、具有固定或可变大小的逻辑单元。
所述多媒体数据播放方法还可以包括以下步骤如果多媒体数据被预先存储在客户端计算机中,则响应播放指令,根据所存储的多媒体数据,产生成流数据。
所述的协议可以是除成流协议以外的其他协议。
此外,根据本发明的另一方案的一种用于播放多媒体数据的方法包括以下步骤从播放器程序接收播放指令;响应播放指令,从存有各个段的多个信息处理器接收组成多媒体数据的多个段,并且存储接收到的段;根据所存储的段,产生成流数据;以及将成流数据提供给播放器程序,并由播放器程序播放。
所述多媒体数据播放方法还可以包括读取段的段标识符的步骤,其中根据所存储的段形成成流数据的步骤是利用段标识符来实现的。
从存有段的多个信息处理器接收多个段并存储所接收到的段的步骤可以包括以下步骤从预定的服务器接收与存有各个段的信息处理器相关的位置信息;以及根据该位置信息,并行地接收和存储来自多个信息处理器的多个段。
此外,所述多媒体数据播放方法还可以包括以下步骤在存储所接收到的段之前,对其进行加密;以及在产生成流数据之前,对加密后的段进行解密。
根据本发明的另一方案,本发明提供了一种计算机可读记录介质,将用于实现前述多媒体数据播放方法之一的程序记录在其中。
根据本发明另一方案的一种用于播放多媒体数据的系统包括发送器模块,用于发送多媒体数据请求指令,所述多媒体数据请求指令用于在从播放器程序输入播放指令时,请求多媒体数据;接收器模块,用于利用协议,从服务器或客户端计算机接收与多媒体数据请求指令相对应的多媒体数据;存储模块,用于存储多媒体数据;以及成流数据发生器模块,通过利用所存储的多媒体数据,产生成流数据,并将成流数据提供给播放器程序。
所述成流数据发生器模块可以包括段标识符读取装置,用于读取段的段标识符,从而根据这些段标识符产生成流数据。
所述存储模块可以包括用于对段进行加密和存储的加密装置,以及成流数据发生器模块包括用于对加密后的段进行解密的解密装置。
此外,在根据本发明的多媒体数据播放方法和系统中,所述播放指令可以包括播放位置改变指令,用于改变当前所播放的段的位置,并播放位于改变后的位置处的段。
根据本发明的多媒体数据播放方法和系统,即使多媒体数据是从不提供成流服务的服务器所接收的,由客户端计算机提供成流服务也是具有技术优势的。由于AVI或者DIVX格式的多媒体数据在它们的物理记录形式上是没有顺序的,所以服务器必须提供成流发送器模块(也就是,成流服务器)来顺序发送多媒体数据,以提供成流服务。然而,在本发明中,成流数据是根据客户端计算机中的多媒体数据产生,然后提供给播放器程序的,这与信息处理器顺序发送多媒体数据不同。结果,除了成流协议以外,可以将易于实现的任何通用协议用于服务器和客户端计算机之间的成流传输。
此外,根据本发明的多媒体数据播放方法和系统,由于多媒体数据是基于服务器中所存储的位置信息,并行地从多个信息处理器接收的,所以减少了传输多媒体数据所需的时间,这将是技术上的一个优点。
此外,根据本发明的多媒体数据播放方法和系统,由于所需要播放的多媒体数据(或段)是被预测并按播放顺序预先接收的,所以就可以实现平滑播放的技术优点。
此外,根据本发明的多媒体数据播放方法和系统,由于一些接收到的多媒体数据是存储在客户端计算机中的,在重复播放多媒体数据时,根据要播放的多媒体数据是否为已存储多媒体数据的确定,不需要再次接收已存储的多媒体数据,这样就可以减轻服务器和客户端计算机的负荷,这将是技术上的一个优点。同时,本发明与下载方法的相似点在于,多媒体数据被存储在播放多媒体数据的客户端计算机中。然而,在下载方法中,由于多媒体数据是以能够被用户任意复制的文件形式存在的,所以就可以对其进行任意的复制和播放。相反,由于本发明采用了加密和解密,所以多媒体数据只能够在接收了多媒体数据的客户端计算机上进行播放。


图1示出了用于提供根据本发明一个实施例的多媒体数据播放方法的网络的配置;图2是示出了根据本发明该实施例的多媒体数据播放方法的流程图;图3示出了用于提供根据本发明另一实施例的多媒体数据播放方法的网络的配置;图4a和4b是示出了根据本发明另一实施例的多媒体数据播放方法的流程图;图5是用于解释根据本发明另一实施例的多媒体数据播放方法的接收多媒体数据的步骤的视图;图6是示出了根据本发明另一实施例的用于播放多媒体数据的系统的方框图;图7是示出了根据本发明另一实施例的用于播放多媒体数据的系统的方框图。
图8是用于解释用在根据本发明另一实施例的多媒体数据播放系统中的加密装置和解密装置的视图;以及图9是用于解释能够用于根据本发明来播放多媒体数据的通用计算机的视图。
<对附图中主要部件的附图标记的解释>
11、31、730服务器
12、32、600、700客户端计算机630、740、750信息处理器611接收器模块612发送器模块711第一收发器模块712第二收发器模块613、713、812、822存储模块614、714、813、823成流数据发生器模块620、720播放器程序631信息处理器侧收发器模块632信息处理器侧存储模块731服务器侧收发器模块732服务器侧段存储模块733位置信息存储模块具体实施方式
下面,将通过参考附图来描述本法明的优选实施例。
将通过参考图1和图2来描述根据本法明第一实施例的用于播放多媒体数据的方法20。图1是示出了用于提供多媒体播放方法20的的网络的配置的视图,图2是图示了多媒体播放方法20的流程图。
所述多媒体播放方法20包括以下步骤接收播放指令(步骤21),请求和接收多媒体数据(步骤23),对多媒体数据进行加密(步骤24),存储多媒体数据(步骤25),对多媒体数据进行解密(步骤26),产生成流数据(步骤27),以及播放成流数据(步骤28)。
在步骤21,从客户端计算机12的播放器程序输入播放指令。所述播放器程序可以是传统的播放器程序,例如微软视窗媒体播放器(Microsoft Windows Media Player)或者Real Player。在步骤22,响应播放指令,确定客户端计算机12中是否已经存储了要被播放的多媒体数据。如果所述多媒体数据已经被存储在客户端计算机12中,那么在步骤27根据多媒体数据,产生成流数据。根据本发明的另一实施例,步骤22除确定要被播放的多媒体数据是否已经存储在客户端计算机12中以外,还要确定客户端计算机12是否正在接收多媒体数据。如果客户端计算机12正在接收数据,则可以在完整地接收到多媒体数据时,播放成流数据。
如果多媒体数据没有存储在客户端计算机12中,则在步骤23,请求和接收多媒体数据。请求该多媒体数据的步骤可以包括以下步骤向存有多媒体数据、且通过网络与正在运行播放器程序的客户端计算机12相连的服务器11或者其他客户端计算机请求多媒体数据。也就是说,可以从服务器以及除服务器以外的客户端计算机上接收多媒体数据(此后,为了方便描述,用于提供多媒体数据的服务器或客户端计算机都被称为“信息处理器”)。
在步骤23,可以用任意的协议来请求和接收多媒体数据。由于根据本发明实施例的多媒体数据播放方法的特征主要在于客户端计算机12产生成流数据,所以,即使当多媒体数据提供方(例如,服务器11)没有用相应的成流方法来传送多媒体数据时,多媒体数据也可以用除了成流协议以外的任意协议来接收。由于可以使用任意协议,所以本发明也可以应用于采用成流协议来接收多媒体数据的情况。如果服务器提供成流服务,则本发明的实施例所提供的成流服务的净收益就有可能下降。然而,如下文所述,根据本发明实施例的多媒体数据播放方法20与传统的成流服务相比所具有的其他优点还在于,由于多媒体数据已经被存储在客户端计算机12中,所以已经被存储的多媒体数据块在重复播放时不需要再次被接收。对多媒体数据的接收可以不管多媒体数据块的播放顺序,但也可以根据播放顺序来依次接收,从而方便成流数据的产生。
在步骤24,所接收的数据被加密。即使多媒体数据是没有被加密过的,它也不会对其中客户端计算机12产生成流数据并将其提供给播放器程序的成流服务产生影响。然而,在根据本发明实施例的多媒体数据播放方法20中,多媒体数据是存储在客户端计算机12中的,而不是根据成流方法从服务器11中原始接收的。所以,客户端计算机12中的多媒体数据就有可能由于没有像作者这样的权利人的同意或许可而被流出。因此,需要防止这种可能性的发生。此外,除了多媒体数据被流出(drain out)的情况以外,其他的一些情况将被认为是未经同意或许可的使用,这包括多媒体数据被接收和存储后过了使用期,不被允许使用多媒体数据的程序(例如用于复制或提取多媒体数据的程序)试图访问该多媒体数据,以及其他类似情况。所以,需要防止出现这样的情况。因此,如下所述,可以通过以下步骤来防止这些风险对所接收的多媒体数据进行加密和存储,对加密的多媒体数据进行解密并产生成流数据。
在步骤25,加密后的多媒体数据被存储。
在步骤26,加密后的多媒体数据被解密。在步骤27,用解密后的多媒体数据产生成流数据。如果被加密的多媒体数据在没有权利人许可的情况下被复制,则使该多媒体数据不可被播放。这种加密会使只有驻留在得到许可的用户模块中的成流数据发生器模块才能够读取被存储的多媒体数据,这样当多媒体数据被复制到其他客户端计算机上时,就不会被允许播放。由于加密和解密方法已经偏离了本发明的范围,而且也很需要保密,所以对它们的描述在这里就被省略掉了。根据本发明的另一实施例,对于加密和解密方法,可以采用使用了传统已知算法的加密和解密方法。
在步骤28,成流数据被提供给播放该成流数据的播放器程序。此时,可以设定播放前初始存储的成流数据量,这样,当产生的成流数据超过了预定的大小时,开始将其提供给播放器程序。这是为了确保开始播放时有足够的成流数据块,以及,相应地,为了防止在播放暂停后,等待产生接下来要播放的成流数据块。另一方面,如果初始存储的成流数据量被设定得非常大,则初始缓冲时间就会增加,从而用户在输入播放指令后需要等待成流数据开始播放的时间也会增加。因此,初始存储成流数据量最好不要设定得太大。
通过上述过程,即使并未根据成流方法从服务器(或其他信息处理器)接收多媒体数据,从客户端计算机12的预定模块接收到的多媒体数据也可以被转换成与成流方法相一致的成流数据。这样,客户端计算机12中的播放器程序可以按照与根据成流方法接收多媒体数据的情况相同的方式来播放多媒体数据。
根据本发明的另一实施例,多媒体数据可以包括多个段。根据本发明的另一实施例,多媒体数据播放方法还包括读取存储段的“段标识符”的步骤,并且在步骤27中,可以基于段标识符来产生成流数据。所述段是组成多媒体数据的、具有固定或可变大小的逻辑单元,所述段标识符可以用多种方式来实现,例如分配给每个段的偏移量或ID。
在多媒体数据包括多个段,并且通过读取段标识符来产生成流数据的情况下,根据本发明本实施例的多媒体数据播放方法除了提供广播成流服务以外,还可以提供请求式成流服务。播放器程序所接收到的播放指令可以包括播放位置改变指令,用于改变当前所播放的段的位置,并且播放位于不同位置处的段。当输入播放位置改变指令时,可以根据所述段的段标识符来确定与改变后的位置相对应的段的位置。这样,可以从对应的段播放多媒体数据。
下面将通过参考图3到5来描述根据本发明第二实施例的用于播放多媒体数据的方法400。图3是示出了用于提供根据本发明实施例的多媒体数据播放方法400的网络的结构的视图,图4a和4b是图示了多媒体播放方法400的流程,图5是用于解释根据多媒体数据播放方法400的接收多媒体数据的步骤的视图。
多媒体数据播放方法400包括以下步骤接收播放指令(步骤401),请求位置信息(步骤405),从多个信息处理器接收段(步骤406),对段进行加密(步骤407),存储段(步骤408),对段进行解密(步骤409),根据段,产生成流数据(步骤410),向播放器程序提供成流数据,并且播放成流数据(步骤411),以及预测播放所需的段(步骤413)。
根据本发明实施例的多媒体数据播放方法400以段为单位来处理多媒体数据,且它与根据本发明第一实施例的多媒体播放方法20的不同之处在于,以段为单位,从多个信息处理器而不是从单一服务器或信息处理器并行地接收多媒体数据段。
在步骤401,从客户端计算机32的播放器程序输入播放指令。即使在本实施例中,在步骤402,仍然按照与第一实施例相同的方式,在输入播放指令时,确定多媒体数据段是否已经被存储在客户端计算机中。如果这些段已经被存储在其中,则流程就会进行到对所存储的段进行解密的步骤409。在步骤403,确定这些段是否正在被接收。如果这些段正在被接收,则流程就会在完整地接收了段之后,进行到步骤407。然后,所接收到的段在步骤407被加密。
在除了已经存储段或正在接收段以外的情况下,即将接收段。多媒体数据播放方法400的特征在于,段是从多个信息处理器接收的。也就是说,多个段是“并行地”从多个信息处理器接收的,并且成流数据是通过使用这些接收的段来产生的。这样,就可以减少接收多媒体数据所需的时间。
根据本发明的另一实施例,当从多个信息处理器并行地接收段时,使用“位置信息”,该“位置信息”是与存储了段的信息处理器的位置有关的信息。为了达到这一目的,在步骤404,确定位置信息是否已经被存储在客户端计算机32中。如果位置信息还没有被存储在其中,则从服务器31接收位置信息,以便在步骤405中,对位置信息进行存储和管理。接着,在步骤406,根据这些位置信息,并行地从多个信息处理器接收多个段。
例如,假设播放所需的段按播放顺序依次是段1、段2和段3。段1到3被包括在多媒体数据中。如果没有使用并行传输,段3或2就必须在段1完全被传输之后才能被传输(即使不使用并行传输,也不需要按照播放顺序来传输或接收段)。然而,如果这些段是从多个信息处理器并行接收的话,则段1到3就可以被独立地传输而不需要考虑其他段是否已经传输完毕。
也就是说,如果从每个信息处理器进行传输的速率是2Mbps,则当从五个信息处理器并行传输时,就得到了速率为10Mbps的传输效果。这样的并行传输可以让多媒体数据的传输速率比较稳定。如果多媒体数据是从单个的信息处理器,例如单个服务器接收的,则由于服务器所进行的其他操作所带来的负荷,传输速率就会变得不规则和不稳定。然而,如果是从多个信息处理器并行传输,则从整体上减小了传输速率的变化,从而可以确保稳定的传输。此外,当响应对多媒体数据的请求时,由于整个文件是在多个信息处理器而不是在单个信息处理器中被分布和处理的,所以并行传输可以得到负荷均衡的效果。能够进行并行传输的原因在于,根据本发明的多媒体数据播放方法是通过在客户端计算机中利用所存储的段产生成流数据来提供成流服务,而不是从预定的服务器接收成流数据的,所以就不需要特地从单个信息处理器接收段。
位置信息是与信息处理器将各个段存储在其中有关的信息(由于客户端计算机32显然可以从服务器31接收段,所以信息处理器是包括服务器在内的概念)。位置信息可以按照根据实施例的多种方式来准备。根据信息准备的方式,从信息处理器接收段的方式可以有一些小的变动。
首先,在对其中位置信息是用于描述存有预定段的信息处理器的信息的实施例进行解释。将作为示例来解释多媒体信息包括段1、段2、段3、…、段N的情况。在这种情况下,可以针对各个段1、2、…、N,按如下方式准备位置信息[段1服务器,信息处理器C,信息处理器E、…],[段2信息处理器A,信息处理器B,信息处理器F,…],[段N信息处理器D,信息处理器G,信息处理器A,…]。
首先,如果段1是要接收的段,则查询段1是否存在,从信息处理器A开始,直到找出响应为段1实际存在于其中的信息处理器为止。之所以要进行该查询步骤的原因在于,尽管在位置信息存储在服务器31时,段1被存储在信息处理器A、C、E、…中,但当使用位置信息来接收段1时,段1有可能已经从信息处理器A中删除,或者信息处理器A有可能不作不响应。图5示出了当段1的位置信息是上述形式时,从位置信息中所描述的多个信息处理器中的服务器接收段1的情况。
此时,对位置信息中所描述的信息处理器的请求顺序可以被任意确定,或者该查询也可以根据所分配的权重,按预定顺序进行。
在接下来将要描述的实施例中,位置信息是用于描述存储了多媒体数据段的信息处理器的信息。此时,提供包括多媒体数据的任意段而不是特定段的、与信息处理器有关的位置信息。在下面的示例中,多媒体数据MD1包括段1、段2、段3、…、段N。在这种情况下,位置信息可以按下面的方式来准备[多媒体数据MD1信息处理器C、信息处理器B、信息处理器F、信息处理器K、…]。
从位置信息中可以了解到信息处理器C存储了多媒体数据MD1的一部分段,但并不是说多媒体数据MD1的段中的特定段(例如段1)是存储在哪个信息处理器中的。所以,如果要并行传输段1到3,则首先,向信息处理器C查询其中所存储的段。当确认了段2是存储在其中的时,从信息处理器C接收段2。接着,当向信息处理器B查询其中所存储的段时,发现段5是存储在其中的,查询进行到信息处理器F。当确认了信息处理器F存有段1时,从信息处理器F接收段1。由于从各个信息处理器之一接收段的过程是与是否从其他信息处理器完全传送了所述段的确定独立执行的过程,所以即使在这种情况下,并行传输显然也是可以进行的。
如上所述,尽管这些实施例都是从多个信息处理器并行接收多个段的,但对位置信息的准备可以根据不同的实施例而作出改变,所以它们的实施算法的细节也可以被改变。然而,前者的位置信息是根据各个预定的段来提供的,这样就会以很高的几率在位置信息所描述的信息处理器中存储有所需的段。
根据本发明的另一实施例,多媒体数据播放方法还包括在存储接收到的段之前,对段进行加密的步骤(步骤407),所述段是从多个信息处理器并行接收的。如第一实施例中的相关内容所述,可以通过对段的加密来防止在没有得到权利人同意或许可的情况下对多媒体数据进行复制或发布。应当在步骤410中将其产生为成流数据之前,在步骤409中,对已加密的段进行解密。
在步骤410,根据被解密的段,产生成流数据。根据本发明的另一实施例,多媒体数据播放方法还包括读取段的段标识符的步骤,并且步骤410可以利用这些段标识符来实现。在前述实施例中,将各个段区别为段1、段2以及类似的段的过程可以被认为是给各个段分配段标识符(在本例中是ID)。在用ID作为段标识符的情况下,各个段的大小不必是固定不变的。除了ID以外,其他用于识别各个段的东西也可以被称为段标识符。
根据不同的实施例,可以在步骤409中对被加密的段进行解密和存储之后,或者在步骤406接收到段之后,执行读取段标识符的步骤。然而,显然的是,应当在步骤410之前,也就是在根据段产生成流数据之前,读取段标识符。
步骤410中所产生的成流数据在步骤411被提供给播放器程序,然后,由播放器程序播放该成流数据。
多媒体数据播放方法400与现有技术的区别在于,成流数据是由客户端计算机而不是由服务器提供的。然而,由于成流服务的提供是彼此共有的,所以某些多媒体数据块会在整个多媒体数据被传送之前被播放,而按播放顺序的下一多媒体数据块可以在进行播放的过程中被接收。在传统的成流服务中,如果传送速率低于播放速率,则会出现音频或视频播放不流畅的情况。所以,根据解决该问题的本发明另一实施例,多媒体数据播放方法还包括以下步骤在播放根据段所产生的成流数据的过程中,预测并预先接收接下来所要播放的段(步骤413)。可以通过考虑播放位置、播放速率、传输速率等因素,对接下来要播放的段进行预测。根据本发明的一个实施例,可以用播放器程序用来播放多媒体数据的CODEC来预测播放顺序,并且可以通过计算段标识符来预测所需的段。在预测接下来要播放的段之后,流程又重新回到步骤402。
此外,多媒体数据播放方法400还可以包括i)在接收到播放位置改变指令时,改变当前正在播放的段的位置,并且播放位于改变后的位置处的段;以及ii)当产生的成流数据超过预定大小时,按照与第一实施例的多媒体数据播放方法20相同的方式,通过开始将成流数据提供给播放器程序,对其进行播放。由于在第一实施例中已经描述了该操作,所以在本实施例中,将省略对它的具体描述。
同时,本发明还可以提供一种计算机可读记录介质,将用于实施前述多个实施例的程序记录在其中。
图6是根据本发明第三实施例的用于播放多媒体数据的系统610。多媒体数据播放系统610包括发送器模块611、接收器模块612、存储模块613、以及成流数据发生器模块614。将多媒体数据播放系统610按照与播放器程序620相同的方式安装在客户端计算机600中。
当从播放器程序620将播放指令输入到发送器模块611中以播放预定的多媒体数据时,发送器模块611发出用于请求多媒体数据的多媒体数据请求指令。该多媒体数据请求指令由其中存有多媒体数据的信息处理器630(也就是服务器或其他客户端计算机)的信息处理器侧接收器模块631接收。信息处理器630将多媒体数据发送到多媒体数据播放系统610,所述多媒体数据对应于多媒体数据请求指令并被存储在信息处理器侧存储模块632中。多媒体播放系统610的接收器模块612接收正被传送的多媒体数据。此时,除了成流协议之外,还可以用其他任意的协议来接收多媒体数据。这是因为,由于多媒体数据播放系统610被安装在客户端计算机600中以提供成流服务,多媒体数据播放系统610不必根据成流方法从信息处理器630接收多媒体数据。
存储模块613将所接收到的多媒体数据存储在其中。该存储模块613可以具有高速缓存功能,通过该功能,曾经被请求过至少一次的多媒体数据被存储在其中,从而可以在播放器程序620请求时,提供多媒体数据,直到它们到期为止。在传统的成流服务中,多媒体数据并不是被存储在播放多媒体数据的客户端计算机中的。结果,如果需要重复播放或者需要返回到一个已经播放过的位置,就必须重新向服务器请求数据。这样,播放的时候就需要待机时间(缓冲时间),并且在服务器中会出现较大的负荷。在本实施例中,由于至少被接收一次的数据是被存储在具有上述高速缓冲功能的存储模块中的,所以即使需要重复播放,或者需要返回到已经播放的位置,也不会出现数据的附加传输和接收。因此,可以消除接收数据所需的播放准备时间,并且减轻了服务器的负担。同时,存储模块613的存储空间大小可以是可变的或者固定的,多媒体数据到期的时间可以根据所应用的方案来确定。也就是说,它们可以根据使用它们的用户或领域的需求来改变。
成流数据发生器模块614通过使用所存储的多媒体数据来产生成流数据。在要播放的多媒体数据被完全传输之前,成流数据发生器模块614可以利用已经接收到段来产生成流数据。也就是说,如果已经产生了足以跟上成流数据播放速率的成流数据,则成流数据发生器模块613向播放器程序620提供已经产生的成流数据,从而在剩下的段还没有完全被传输结束之前就进行播放。在产生了一定量的成流数据之后并开始播放时,音频或者视频是否能够被流畅的播放主要取决于传输速率。也就是说,如果接收器模块612以较高的速率接收段的话,则产生成流数据的速率也会增加。这样,就不需要等到最初产生了过多的成流数据。如果在播放成流数据前产生了过多的成流数据,播放器程序620可能需要很多时间来从输入播放指令的时间点开始实际播放多媒体数据。这一现象会使得那些想要用播放器程序620播放多媒体数据的用户感觉到乏味。另一方面,如果在开始播放前还没有产生足够的成流数据,则用户需要在播放的过程中等待成流数据的产生。这样就会产生音频或视频的暂停状态(或者是由不恰当播放多媒体数据所导致的低质量状态),从而用户不能正常欣赏音频或视频。所以,要考虑到传输速率以及类似的因素来设定播放前成流数据发生器模块614应当产生的成流数据量。根据本发明的另一实施例,一旦输入指令被输入,播放前应当产生的成流数据量就会通过测量客户端计算机600与信息处理器630之间的传输速率来设定。
此外,根据本发明的另一实施例,为了防止由于成流数据的产生速率低于其播放速度所产生的成流数据缺乏的状态,即使已经设定了开始播放前应当产生的成流数据量,也可以通过间歇测量已经产生的成流数据量和播放速率来增大和减小从信息处理器630传输段的速率。也就是说,如果与播放速率相比,已经产生了足够量的成流数据,则减小从信息处理器630到客户端计算机600的传输速率,从而减轻了用于提供段的信息处理器630的负荷。如果与播放速率相比,还缺少成流数据,则增大从信息处理器630到客户端计算机600的传输速率,从而可以向用户提供高质量的音频和视频。
播放器程序620播放由成流数据发生器模块614提供的成流数据。
根据本发明的另一实施例,存储模块613包括用于对多媒体数据进行加密和存储的加密装置613a,成流数据发生器614包括用于对已加密多媒体数据进行解密的解密装置614a。由于在下面的第四实施例中将详细描述加密装置613a以及解密装置614a,所以在本实施例中省略了对它们的描述。
图7示出了根据本发明第四实施例的用于播放多媒体数据的系统710。该多媒体数据播放系统710包括第一收发器模块711、第二收发器模块712、存储模块713、以及成流数据发生器模块714。与多媒体数据播放系统610不同,多媒体数据播放系统710的特征在于,以段为单位处理多媒体数据,并且从包括服务器的多个信息处理器上接收这些段。
第一收发器模块711从播放器程序720接收播放指令,并且向服务器730请求特定的位置信息。所述位置信息描述了哪个信息处理器存储了对应播放指令的多媒体数据段。多媒体数据播放系统710从多个信息处理器接收段。这样,需要与存有各个段的信息处理器有关的位置信息。由于在描述根据第二实施例的多媒体数据播放方法600的时候,已经详细描述了根据各个位置信息准备方式的示例、准备方式以及实施算法,所以在本实施例中被省略了对它们的详细描述。
在本实施例中,服务器730包括用于向和从客户端计算机700发送和接收段的服务器侧收发器模块731,用于存储位置信息以及在接收到来自第一收发器模块711的位置信息请求时提供该位置信息的位置信息存储模块733,以及用于存储段的服务器侧段存储模块732。当服务器侧收发器存储模块731接收到来自第一收发器模块711的位置信息请求时,从位置信息存储模块733中选择相关的位置信息,然后将该位置信息发送给第一收发器模块711。当第一收发器模块711接收到该位置信息时,第二收发器模块712发出段请求指令,以请求多个信息处理器根据位置信息发送相关的段,并从多个信息处理器并行接收段。例如,如图7所示,当段71到73基于位置信息分别从服务器730、信息处理器740以及信息处理器750被接收时(为了确定从哪个信息处理器接收各个段,这可以在第二实施例所述的“查询”步骤之后进行),第二收发器模块712可以并行地分别从服务器730以及信息处理器740、750接收段71到73。此时,从服务器730以及信息处理器740、750发送的段可以由第二收发器模块控制,从而使得它们彼此不会重叠。所以,如果以段为单位处理多媒体数据,且该多媒体数据是按照本实施例接收多媒体数据的方式从多个信息处理器并行接收的,则与仅从单一的信息处理器接收多媒体数据的情况相比,将极大地缩减传输所需的时间。
第二收发器模块712所接收的段被存储在存储模块713中。根据本发明的另一实施例,存储模块713包括了用于对接收到的段进行加密和存储的加密装置713a。如果所提供的成流服务使用了与传统成流服务不同的多媒体数据播放系统710,则由于多媒体数据是存储在客户端计算机700中的,所以该多媒体数据就有被其他客户端计算机或其他记录介质复制或者流出的风险。为了避免这种风险,安装了加密装置713a。
成流数据发生器模块714根据存储模块713所存储的段,产生成流数据。同时,当提供了加密装置713a,且段是按照上述方式被加密和存储的时候,成流数据发生器模块714包括用于对加密后的段进行解密的解密装置714a。
下面将通过参考图8来描述上面提到的加密和解密过程。如果从客户端计算机81上所安装的第二收发器模块811输入的段是被加密装置812a(未示出)所加密然后存储到存储模块812中的,则成流数据发生器模块813就会在解密装置813a对被加密的段进行解密之后,产生成流数据,并且将这些成流数据提供给播放器程序以进行播放。如果被加密的段是在没有得到权利人的许可或类似认可的情况下,从客户端计算机81被复制到客户端计算机82的(更具体地是存储模块822),则由于段是处于被加密和被存储的状态,所以成流数据不能由成流数据发生器模块823正常地产生,从而不能实现正常的播放。尽管在本实施例中描述的是段,但即使是在不是段,而是多媒体数据自身是按照第三实施例中的方式被使用的情况下,加密→存储→解密→产生成流数据→播放这样的步骤也可以直接应用于多媒体数据自身。
由于加密装置713a以及解密装置714a的具体配置已经偏离了本发明的范围,而且是特别需要保密的,所以这里将省略对其的详细描述。此外,根据本发明的另一实施例,加密装置713a和解密装置714a是利用了传统已知算法的加密和解密装置。
此外,根据本发明的另一实施例,成流数据发生器模块714包括段标识符读取装置714b,用于读取段标识符,并根据段标识符产生成流数据。所述段标识符可以是各个段的偏移量或者是分配给各个段的ID。段标识符可以使各个段能够被识别,同时还提供了各个段的播放顺序信息。
被并行传输的段(可选地,它们可以是已经被加密的)可以不管它们的播放顺序地进行存储。此时,当段标识符读取装置714b读取了各个段的段标识符时,成流数据发生器模块714可以利用对段标识符的识别结果,很容易地产生成流数据。
此外,也可以通过提供段标识符读取装置714b来方便地实现对播放位置的改变。如果已经输入使多媒体数据播放的播放指令,而没有输入其他指令,则成流数据发生器模块714利用段标识符读取装置714b所读取的段标识符,根据播放顺序,产生成流数据。此时如果输入了播放位置改变指令,用于将多媒体数据的播放位置改变到与播放器程序当前所播放的位置不同的位置,则段标识符读取装置714b读取与改变后的位置相对应的段的段标识符。接着,通过使用所读取的段标识符,可以产生成流数据,该成流数据对应于从与改变后的位置相对应的段开始的播放顺序。
同时,已经根据功能,对如成流数据发生器模块、收发器模块以及段标识符读取装置等、本发明实施例中所描述的各个部件进行了分类,但它们在物理上可以用相同的装置也可以用分离的装置来实施。
下面,将要描述可以用作根据本发明的用于播放多媒体数据的客户端计算机或用于提供多媒体数据的信息处理器的通用计算机系统。图9是示出了计算机系统的内部配置的方框图。这里所用的术语“通用计算机系统”是为了包括任何机顶盒形式的装置以及像PC这样的计算机,所述的任何机顶盒形式的装置包括图9所示的所有或一些部件。
该计算机系统900包括与主存储单元相连接的至少一个处理器901,所述主存储单元包括随机存取存储器(RAM)902和只读存储器(ROM)903。处理器901也被称为中央处理单元(CPU)。正如本领域所公知的那样,ROM903执行向CPU单向传送数据和指令的功能,而RAM902通常用于双向传送数据和指令。RAM902和ROM903可以包括任何适当类型的计算机可读记录介质。海量存储器904被双向连接到处理器901以提供附加的数据存储能力,其可以是任何一种计算机可读记录介质。海量存储器904用于存储程序、数据或类似的内容,它通常是辅助存储单元,例如比主存储单元慢的硬盘。可以使用像CD ROM906这样的特定海量存储器。处理器901被连接到至少一个输入/输出接口905,如视频监视器、轨迹球、鼠标、键盘、麦克风、触摸屏、读卡器、磁带或纸带阅读机、语音或手写识别器、游戏杆或其他已知的计算机输入/输出设备。最后,处理器901可以通过网络接口907被连接到有线或无线通信网络。本发明的方法的流程可以通过这样的网络来执行。上述的这些装置和实施是熟悉计算机硬件和软件技术领域的普通技术人员所公知的。
上述的硬件可以被配置成至少一个用于执行本发明的操作的软件模块。
尽管已经参照典型实施例和附图对本发明进行了图示和描述,本发明并不局限于此。显而易见的是,本领域的普通技术人员可以对其进行多种变化和修改。因此,应当仅根据所附的权利要求书来理解本发明,并且其等价物也将落入本发明的范围内。
权利要求
1.一种通过接收然后播放多媒体数据来播放多媒体数据的方法,包括以下步骤从播放器程序接收播放指令;响应播放指令,请求多媒体数据;通过使用协议,接收和存储多媒体数据;利用所存储的多媒体数据,产生成流数据;以及将成流数据提供给播放器程序,并由播放器程序播放。
2.根据权利要求1所述的方法,其特征在于多媒体数据被分为组成多媒体数据的段,并且所述步骤是以段为单位进行的。
3.根据权利要求1所述的方法,其特征在于请求多媒体数据的步骤包括以下步骤向服务器或其他客户端计算机请求多媒体数据,所述服务器或客户端计算机存有多媒体数据,并且通过网络与正在运行播放器程序的客户端计算机相连。
4.根据权利要求3所述的方法,其特征在于还包括以下步骤如果多媒体数据被预先存储在客户端计算机中,则响应播放指令,根据所存储的多媒体数据,产生成流数据。
5.根据权利要求1所述的方法,其特征在于还包括以下步骤在存储接收到的多媒体数据之前,对其进行加密以及在产生成流数据之前,对加密后的多媒体数据进行解密。
6.根据权利要求1所述的方法,其特征在于协议是除了成流协议之外的其他协议。
7.一种通过接收然后播放多媒体数据来播放多媒体数据的方法,包括以下步骤从播放器程序接收播放指令;响应播放指令,从存有各个段的多个信息处理器接收组成多媒体数据的多个段,并且存储接收到的段;根据所存储的段,产生成流数据;以及将成流数据提供给播放器程序,并由播放器程序播放。
8.根据权利要求2或7所述的方法,其特征在于播放指令包括播放位置改变指令,用于改变当前所播放的段的位置,并播放位于改变后的位置处的段。
9.根据权利要求1或7所述的方法,其特征在于将成流数据提供给播放器程序并进行播放的步骤包括以下步骤当所产生的成流数据超过预定大小时,将所产生的成流数据提供给播放器程序,并由播放器程序进行播放。
10.根据权利要求2或7所述的方法,其特征在于还包括读取段的段标识符的步骤,其中根据所存储的段形成成流数据的步骤是利用段标识符来实现的。
11.根据权利要求7所述的方法,其特征在于从存有段的多个信息处理器接收多个段并存储接收到的段的步骤包括以下步骤从预定的服务器接收与存有各个段的信息处理器相关的位置信息;以及根据该位置信息,并行地接收和存储来自多个信息处理器的多个段。
12.根据权利要求11所述的方法,其特征在于位置信息是用于描述存有预定段的信息处理器的,以及根据位置信息并行地接收和存储来自多个信息处理器的多个段的步骤包括以下步骤向位置信息中所描述的信息处理器查询预定段是否存在于其中,并从响应为所述段存在于其中的信息处理器接收并存储相关段。
13.根据权利要求11所述的方法,其特征在于位置信息是用于描述储存有组成多媒体数据的段的信息处理器的,以及根据位置信息并行地接收和存储来自多个信息处理器的多个段的步骤包括以下步骤向位置信息中所描述的信息处理器查询预定段是否存在于其中,并从响应为所述段存在于其中的信息处理器接收并存储相关段。
14.根据权利要求7所述的方法,其特征在于还包括以下步骤在存储所接收到的段之前,对其进行加密;以及在产生成流数据之前,对加密后的段进行解密。
15.根据权利要求1或7所述的方法,其特征在于还包括以下步骤通过测量播放器程序播放成流数据的速率来预测播放所需的多媒体数据。
16.一种计算机可读记录介质,将用于实现根据权利要求1到15中所述的方法之一的程序记录在其中。
17.一种通过接收然后播放多媒体数据来播放多媒体数据的系统,包括发送器模块,用于发送多媒体数据请求指令,所述多媒体数据请求指令用于在从播放器程序输入播放指令时,请求多媒体数据;接收器模块,用于利用协议,从服务器或客户端计算机接收与多媒体数据请求指令相对应的多媒体数据;存储模块,用于存储多媒体数据;以及成流数据发生器模块,通过利用所存储的多媒体数据,产生成流数据,并将成流数据提供给播放器程序。
18.根据权利要求17所述的系统,其特征在于存储模块包括用于对多媒体数据进行加密和存储的加密装置,以及成流数据发生器模块包括用于对加密后的多媒体数据进行解密的解密装置。
19.一种通过接收然后播放多媒体数据来播放多媒体数据的系统,包括第一收发器模块,用于响应来自播放器程序的播放指令,从服务器请求与组成多媒体数据的各个段有关的位置信息,并且从服务器接收位置信息;第二收发器模块,用于根据位置信息,向多个信息处理器发送段请求指令,并从多个信息处理器并行接收段;存储模块,用于存储段;以及成流数据发生器模块,用于根据存储模块中所存储的段,产生成流数据,并将该成流数据提供给播放器程序。
20.根据权利要求19所述的系统,其特征在于成流数据发生器模块包括段标识符读取装置,用于读取段的段标识符,从而根据这些段标识符产生成流数据。
21.根据权利要求19所述的系统,其特征在于存储模块包括用于对段进行加密和存储的加密装置,以及成流数据发生器模块包括用于对加密后的段进行解密的解密装置。
22.根据权利要求19所述的系统,其特征在于播放指令包括播放位置改变指令,用于改变当前所播放的段的位置,并播放位于改变后的位置处的段。
全文摘要
本发明涉及一种用于播放多媒体数据的方法以及一种用于实现该方法的系统,更具体地,本发明涉及一种用于播放多媒体数据的方法以及一种用于实现该方法的系统,其中,不管是否根据成流方法来传输多媒体数据,总是根据接收到的多媒体数据,产生成流数据,然后进行播放。根据本发明的用于播放多媒体数据的方法包括以下步骤从播放器程序接收播放指令;响应播放指令,请求多媒体数据;利用协议接收和存储多媒体数据;通过使用所存储的多媒体数据,产生成流数据;以及将成流数据提供给播放器程序并播放。
文档编号H04N7/167GK1656475SQ03812363
公开日2005年8月17日 申请日期2003年1月28日 优先权日2002年3月29日
发明者文义善 申请人:文义善, 皮尔英波特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1