演示内容重放速率的实时控制技术 【技术领域】
本发明涉及一种在演示过程(presentation)中重放速率(playback rate)的实时控制方法。
背景技术
多媒体的演示一般以其录制速率呈现以便视频的移动和音频的发音能够自然。然而,多项研究表明人们可以在更高的重放速率(例如比正常高三倍或更高倍数的速率)感知并理解音频信息,而以高于正常说话速率来接收音频信息将为演示内容的用户节省许多时间。
不希望简单的加速音频信号的重放速率(例如提高从数字音频信号播放采样的速率),是因为重放速率的增加会改变音频地间距(pitch),这将使得难于听到和理解信息。因此,开发了时间定比(time-scaled)音频技术,该技术可增加音频的信息传输速率,而不会增加音频信号的间距。在2000年7月26日提交的申请号为09/626,046、发明名称为“Continuously Variable ScaleModification of Digital Audio Signals”的美国专利申请中说明了一种用于数字音频信号的连续变化信号处理方案,将该申请包含在此作为参考。
用户所希望得到的便利是例如根据信息的复杂程度、用户想听的专注程度或音频的质量而改变信息速率的能力。一种用于改变数字音频重放的音频信息速率的技术相应地改变发送者发送的数字数据率,并且可在接收机上应用用于处理或转换所需数据以保持音频间距的处理器或转换器。
在诸如电话网、LAN或互联网等网路上传输信息的系统中,难于执行上述技术。特别是,网络可能缺乏音频信息速率所需的、改变从源到用户传输数据速率的功能。传输未处理的音频数据以在接收机上进行时间定比处理(time scaling)使得效率很低,且由于以间距(pitch)复原方式进行时间定比过程会丢掉许多已传送的数据,将对可用带宽造成不必要的负担。此外,这种技术需要接收机具备可维护正在播放的音频间距的处理器或转换器。硬件转换器会增加接收机系统的成本。另外,软件转换器需要大部分的接收机可用处理功率或电池电源,特别是在处理功率和/或电池电源受到限制的便携式电脑、个人数字助理(personal digital assistant,PDA)和手机等装置中。
包括视频的网络演示的另一普遍问题是网络无法以所需的速率来维护音频-视频演示内容。一般来说,缺少足够的网络带宽使音频-视频在演示内容时产生间歇中断或暂停。这些演示内容的中断使演示内容难以继续进行。另一种选择是,组织在网络演示内容中的图像作为用户可以以用户速率进行浏览的一系列链接的网页或幻灯片。然而,在诸如指南、考试或甚至是商业广告等网络演示内容中,演示内容的可听和可视部分的时序、顺序和同步对于演示内容的成功与否相当重要,并且演示内容的作者或演示内容的源有可能要求对演示内容的顺序或同步进行控制。
需要寻找能够以有序且不中断的方式呈现演示内容、并且给用户选择和改变信息速率的自由而不超出网络传输信息的能力和不要求用户具有特殊的硬件或大量的处理功率的过程和系统。
【发明内容】
根据发明的一个方面,将通过诸如电话网、LAN或互联网传输数字演示内容的源对具有多通道的数据结构的演示内容(presentation)进行预编码。每一通道包括演示内容的不同的编码部分,所述部分根据演示的时间定比(time scaling)和/或数据压缩变化。
在一特定实施例中,根据通道的时间定比(time scaling)和数据压缩,演示内容的音频部分在几个通道中进行不同编码。每一编码按照音频帧的帧索引值将演示内容分成具有已知时序相关性(know timing relation)的音频帧。因此,当用户改变重放速率,数据流从当前信道切换到对应新时间定比(time scale)的通道,并根据当前帧索引从该新通道存取帧。
在一实施例中,当以正常速率进行播放时,每个帧对应于演示内容中的固定时间。因此,每个通道有相同数量的帧,且在每个帧中的信息都对应一个时间间隔,该间隔是由帧的帧索引所标识的。源发送对应于演示内容重放的当前时间索引的帧,且该帧在对应于用户选择的重放速率的通道中。
根据本发明的另一方面,文件结构的两个或更多通道对应于相同的重放速率,但应用于该通道中数据的相应压缩过程并不相同。源或接收机能自动选择对应于用户选择的重放速率的通道,且不会超过传输数据到接收机的网络的可用传输带宽。
根据本发明的另一方面,演示内容包括书签和相关的图形数据,例如,图像数据,该图像数据是从与音频数据相关的通道分别编码的。每一书签具有帧索引或时间的相关范围。显示应用程式允许用户跳到与任意书签(bookmark)相关的范围的开始位置,且源一般在下一音频帧开始时通过网络传输书签数据(例如图形数据)给用户,以便其在合适的时间使用(例如显示)。
本发明的另一实施例是著作工具(authoring tool)或方法,它们允许作者构成具有诸如与音频内容同步显示的文字、幻灯片或网页等图形的演示内容,其中,无论音频的重放速率如何,都保持该同步。著作工具可以用于商业或个人信息传输并创建演示内容,该演示内容可以上传到任何网络服务器和从任何网络服务器上使用,其中所述网络服务器执行诸如HTTP协议等传统网络文件协议。
根据本发明使用演示内容,作者或演示内容源可以控制图像的顺序并可使图像与音频同步。此外,演示内容为传统的流式视频提供了低带宽选择。特别是,不支持视频的传输的低带宽系统一般可以支持演示内容的音频部分,并在需要时显示图像以提供描述演示内容的关键点的可视提示。
【附图说明】
图1是用于说明根据本发明的一个实施例产生多通道媒体文件(multi-channel media file)的过程的流程图。
图2A、2B、2C、2D和2E说明根据本发明实施例的多通道媒体文件、多通道媒体文件的文件头、音频通道、音频帧以及数据通道的结构。
图3说明根据本发明实施例的用于产生演示内容的著作工具的用户界面。
图4说明根据本发明实施例的用于存取和播放演示内容的应用程序的用户界面。
图5是根据本发明实施例的重放运行的流程图。
图6是说明根据本发明实施例的演示播放器的运行的方框图。
图7是根据本发明实施例的独立式演示播放器的方框图。
在不同图中使用相同的附图标记来指示相似或相同的部分。
【具体实施方式】
[实施例]
根据本发明的一个方面,媒体编码、网络传输以及重放过程和结构使用了多通道体系结构(multi-channel architecture),该体系结构采用相应于不同重放速率或演示内容(representation)的部分(portion)的时间定比(time scale)的不同通道。演示内容的编码过程使用对相同部分,例如演示内容的音频部分的多重编码(multiple encoding)。因此,不同通道针对不同的重放速率或时间定比有不同的编码,即使不同的通道代表演示内容的相同部分。
演示内容的接收机或用户能够选择重放速率或时间定比,从而选择使用对应该时间定比的通道。由于所选的通道包括为所选的时间定比所做的信息预编码,接收机不要求有复杂的解码器或强大的处理器来得到所需的时间定比。此外,由于在发送之前音频数据的预编码或时间定比将会消除冗余的音频数据,所需的网络带宽并不会随着系统中接收机所进行的时间定比(timescaling)增大。因此,无论时间定比如何,带宽要求可以保持不变。
每个通道含有一系列根据演示内容的顺序被编入索引的帧,当用户从一个通道变到另一个通道上,来自新通道的帧可被识别且当要求持续不断地播放演示内容时,将发送该帧。在一个典型的实施例中,当以正常速度播放时,不同音频通道中的相应音频帧对应于演示内容中的相同时间量且具有帧索引,所述索引将该帧标识为对应于演示内容中的特定时间间隔。用户可改变重放速率,进而造成来自对应于新重放速率的通道的帧的选择和发送,并且当需要进行演示内容重放速率的实时转换时,用户可接收到帧。
另外,该结构可为诸如文字、图像、HTML描述符以及链接或其它识别符等图形数据的数据通道提供网络上的可用信息。该源可根据演示内容的时间索引或用户的请求发送图形数据(graphic data)以跳到演示内容的特定书签(bookmark)处。文件头可向用户提供描述书签的信息。
该结构可进一步向不同的音频通道提供相同的重放速度,但根据网络发送数据的条件,提供不同的压缩方案进行使用。
图1展示了根据本发明实施例的、用于产生多通道媒体文件190的过程100。100从原始音频数据110开始,该音频数据可以是任意格式。在典型的实施例中,原始音频数据110是以“.wav”文件形式呈现,该文件是代表音频信号波形的一系列数字采样。
对原始音频数据110进行的音频时间定比(time-scaling)过程120将产生多组的时间定比(time-scaled)数字音频数据TSF1、TSF2及TSF3。时间定比数据组TSF1、TSF2及TSF3均进行时间定比处理,以便当重放时,可保存原始音频的间距,但每一数据组TSF1、TSF2或TSF3有不同的时间定比。因此,重放各组数据将会花费不同的时间量。
在一个实施例中,音频数据组TSF1对应于以在原始音频数据110的录制速率进行重放的数据,且音频数据组TSF1可与原始音频数据110相同。音频数据组TSF2与TSF3可对应于以录制速率二倍与三倍的速度重放的数据。典型地,因为音频数据组TSF2与TSF3在固定采样速率上含有较少重放音频采样,音频组TSF2以及TSF3将小于音频数据组TSF1。虽然图1展示了三组时间定比数据(time-scaled data),音频时间定比编码120可以产生任意数量的音频数据组,所述音频数据组具有相应的重放速率。例如,可产生对应于录制速率介于1与4之间的半整数倍数的七组时间定比音频数据(time-scaled audio data)。一般来说,演示内容的作者可选择用户可用的时间定比(time scale)。
音频时间定比过程(audio time-scaling process)120可以是诸如基于SOLA的时间定比过程(time scaling process)的任意期望的时间定比技术(time-scaling technique),且音频时间定比过程120根据时间定比因数,包括针对各个时间定比音频数据组(time-scaled audio data set)TSF1、TSF2或TSF3的不同时间定比技术。典型地,音频时间定比过程120将使用时间定比因数(time scale factor)作为输入参数,且针对所产生的各个数据组改变时间定比因数。本发明的示例实施例采用如在美国专利申请第09/626,046号中所公开的连续变化编码过程,所述申请将包含在此作为参考,但也可使用任何其它类型的时间定比过程。
在进行音频时间定比过程120之后,划分过程140将把各时间定比音频数据组TSF1、TSF2以及TSF3划分为音频帧。在本发明的示例实施例中,各音频帧将对应于原始音频数据110的相同时间间隔(例如0.5秒)。因此,各数据组TSF1、TSF2及TSF3具有相同数量的音频帧。在时间定比音频数据组中具有最大时间定比因数的音频帧需要最短的重放时间,且将小于进行较少时间定比的音频数据组的帧。
也可以使用其它的替代划分过程。在一个替代实施例中,在重放期间,划分过程140将把各时间定比音频数据组TSF1、TSF2及TSF3划分为具有相同持续期间的音频帧。在此实施例中,不同通道中的音频帧具有大致相同的尺寸,但是不同通道可包括不同的帧数量。因此,当改变重放速率时,要在不同帧中识别出相应的音频信息,在此实施例中将比示例实施例更复杂。
在划分过程140之后,音频数据压缩过程150将分别压缩各帧,而音频数据压缩过程150所产生的压缩音频帧将被采集成压缩音频文件TSF1-C1、TSF2-C1、TSF3-C1、TSF1-C2、TSF2-C2、及TSF3-C2,其统称为压缩音频文件160。压缩音频文件TSF1-C1、TSF2-C1及TSF3-C1均对应于第一压缩方法,且可分别对应于时间定比音频数据组TSF1、TSF2及TSF3。压缩音频文件TSF1-C2、TSF2-C2及TSF3-C2均对应于第二压缩方法,且可分别对应于时间定比音频数据组TSF1、TSF2及TSF3。
根据图1所示的本发明的一个方面,音频数据压缩过程150将对各时间定比音频数据帧使用两种不同的数据压缩方法或因数。在替代实施例中,音频数据压缩过程150可对各时间定比音频数据帧使用任何数量的数据压缩方法。多种合适的音频数据压缩方法可用且为本技术领域的公知技术。合适的音频压缩方法的实例包括离散余弦变换(discreet cosine transform、DCT)方法,以及在MPEG标准与规范中定义的压缩过程,例如美国加州Santa Clara市的DSP Group所出品的Truespeech程序。作为另一替代方案,可研发一种可将音频时间定比过程120、划分帧过程140、以及压缩过程150集成为单个交织过程的过程,该交织过程是为对较小的音频帧进行有效压缩而设计的。
各压缩音频文件TSF1-C1、TSF1-C2、TSF2-C1、TSF2-C2、TSF3-C1和TSF3-C2相应于多通道媒体文件190中的不同音频通道。多通道媒体文件190还包含与书签180相关的数据。
在产生多通道媒体文件190时所进行的作者输入(Author input)170选择包含在多通道媒体文件190中的书签。一般来说,各书签包括相关时间或帧索引范围、识别数据和演示内容数据。演示内容数据类型的实例包括但不限于可代表文字182、图像184、嵌入式HTML文件186的数据,以及对网页的链接188,或网络上可得到的其它信息,以在相应于时间相关范围或帧索引的时间间隔中以演示内容部分进行显示。识别数据识别或区分不同书签作为演示内容中用户可跳跃的位置。
在本发明的某此实施例中,产生多通道媒体文件190时并不需要作者输入170。例如,多通道文件190可从表示一个或多个语音邮件消息的原始音频数据110中产生。可产生书签以在多个消息中进行浏览,但一般来说,这样的消息并不需要相关的图像、HTML页或网页。语音邮件系统可对用户的语音邮件自动产生多通道文件,以允许用户控制消息的重放速度。在电话网中使用多通道文件将可避免在改变重放速率的过程中接收机(例如移动电话)消耗处理或电池电源。
图2A、图2B、图2C、图2D和图2E表示多通道媒体文件190的合适格式,且将在以下进行说明。所说明的格式仅为示例,且在数据结构的大小、顺序及内容上有多种不同的变化。
广义来讲,如图2A所示,多通道媒体文件190包括文件头210、N个音频通道220-1至220-N,以及M个数据通道230-1至230-M。文件头210表示该文件且可包含通道220-1至220-N和230-1至230-M中音频帧图表与数据帧。音频通道220-1至220-N将包含不同时间定比与压缩方法的音频数据,而数据通道230-1至230-M包含用于显示的书签信息和嵌入式数据。
图2B表示文件头210的实施例。在该实施例中,文件头210包括表示多通道文件190和文件整体属性的文件信息212。特别是,文件头210可包括通用文件ID、文件标签、文件尺寸、文件状态字段,和指示数据通道220-1至220-N及230-1至230-M的数量、偏移量和音频尺寸的通道信息。
文件头210中的通用ID指示并依赖于多通道文件190的内容。通用ID可以从多通道媒体文件190的内容产生。用于产生64字节的通用ID的方法对多通道文件190的64字节片段进行一系列的XOR运算。在一个会话中,演示的用户启动演示、暂停该会话,且在稍后希望恢复使用该演示时,通用文件ID是有用的。如以下所述,多通道媒体文件190可存储在一个或多个远程服务器上,且服务器的操作者可能移动或改变该演示内容的名称。当用户尝试启动该原始或另一服务器上的第二会话时,来自服务器中的文件通用ID头将与用户系统中的高速缓存的通用ID进行比较,以便即使是在会话之间已经移动或重新命名演示时也能确定该演示是先前启动的。可选的,通用ID可以用于定位服务器上的正确的演示内容。当恢复第二会话时,可以使用音频帧以及在第一会话期间用户系统高速缓冲的其它信息。
文件头210同时包括多通道文件190中的所有帧的列表或图表。在所示实例中,文件头210包括各帧的通道索引213、帧索引214、帧类型215、偏移量216、帧尺寸217及状态字段218。通道索引213及帧索引214标识通道和帧的显示时间。帧类型指示帧的类型,例如数据或音频、压缩方法和音频帧的时间定比。偏移量216指示从多通道媒体文件190开始到相关帧开始的偏移量,且帧大小217指示在该偏移量上帧的尺寸。
如以下所述,用户系统一般从服务器将文件头210载入用户系统中。当向服务器请求特定帧时,用户系统可使用偏移量216和帧尺寸217,且使用状态字段218来追踪在用户系统中缓冲或高速缓冲哪个帧。
图2C表示音频通道220的格式。音频通道220包括通道头222和K个压缩音频帧224-1至224-K。通道头222包含有关通道整体的信息,包括例如通道标签、通道偏移量、通道尺寸、和状态字段。通道标签可标识通道的时间定比和压缩方法。通道偏移量与尺寸指示从多通道文件190开始到通道开始的偏移量,以及在该偏移量上开始的通道尺寸。
在示例实施例中,所有的音频通道220-1至220-N具有K个音频帧224-1至224-K,但帧的尺寸一般根据与帧相关的时间定比、应用于帧的压缩方法、以及压缩方法在特定帧的数据上的如何操作而进行变化。图2D表示音频帧224的典型格式。音频帧224包括帧头226以及帧数据228。帧头226含有说明诸如帧索引、帧偏移量、帧尺寸和帧状态等帧属性的信息。帧数据228实际上为以时间定比处理的数据,并且为从原始音频产生的压缩数据。
数据通道230-1至230-M为与书签相关的数据。在示例实施例中,各数据通道230-1至230-M相应于特定书签。或者,单个数据通道可含有与书签相关的所有数据以使M等于1。多通道媒体文件190的另一替代实施例具有针对每种书签的数据通道,例如四个数据通道分别与文字、图像、HTML网页描述符和链接相关联。
图2E表示用于多通道媒体文件190中的数据通道230的合适格式。数据通道230包括数据通道头232和相关数据234。数据通道头232一般包括诸如偏移量、大小与标签信息等通道信息。数据通道头232可附加地标识时间范围,或开始帧索引以及停止帧索引,该帧索引可指定相应于该书签的一段时间或一组音频帧。
图3表示在如上所述的用于产生多通道媒体文件190的著作工具的用户界面300。当产生演示内容时,著作工具将允许用于书签产生的输入170,和原始音频数据110的可视信息附件。一般来说,由于可视信息提供用于了解演示内容音频部分的关键点,当以快于正常速度的速率来播放音频时,增加适当的可视信息可以大大地方便对演示内容的了解。此外,图形对音频的连接将允许以有序方式来演示图形。
用户界面300包括音频视窗310、可视显示视窗320、滑动条330、标志列表340、标志数据视窗350、标志类型列表360以及控制器370。
音频视窗310显示在时间范围内代表所有或部分的原始音频数据110的波形。当作者检查演示内容时,音频视窗310将指示相对于原始音频110的时间索引。该作者将使用鼠标或其它装置来选择相对于原始音频数据110开始的任何时间或时间范围。可视显示视窗320显示图像或与原始音频110中当前所选的时间索引相关的其它可视信息。滑动条330和标志列表340各自包含小图片(thumbnail)幻灯片和书签名称。作者可通过选择标志列表340中的相应书签或滑动条330中的相应幻灯片来选择特定书签以修改或只是在演示中跳到与书签相关的时间索引。
为了加入书签,作者将使用音频视窗310、滑动条330或标志列表340来选择书签的开始时间,且使用标志类型列表360来选择书签的类型,并使用控制器370以在所选的时间开始进行加入所选类型的书签的过程。加入书签的细节一般依赖于与该书签相关的信息类型。为了说明的目的,将在下面说明加入与书签相关的嵌入式图像,但是可与书签相关的信息类型并不限于嵌入式图像。
加入嵌入式图像需要作者选择代表图像的数据或文件。该图像数据具有任意格式,但最好是适合在低带宽通信链路中进行传输的格式。在一个实施例中,嵌入式图像是幻灯片,例如利用Microsoft Power Point软件所做的幻灯片。该著作工具在多通道媒体文件190的数据通道中嵌入或存储图像数据。
作者为书签取一个名称,该名称是出现在标示列表340中的名称,并且设定或改变相关于该书签和图像数据的音频帧索引值(即开始与结束时刻)的范围。当显示出该演示内容时,可视显示视窗320显示在任意音频帧的重放期间与书签相关的图像,而该音频帧具有与书签相关的范围中的帧索引。
著作工具根据与该书签相关的图像把小图片(thumbnail)图像加入到滑动条330中。当作者产生该多通道文件时,可在根据多通道媒体文件190特定格式的位置例如在文件头210或在数据通道头232中存储书签名称、音频索引范围以及小图片数据作为多通道媒体文件190中的标识数据,如下所述,当用户跳到演示内容中的书签位置时,对演示内容的用户系统初始化可包括存取并显示标志列表和滑动条以进行使用。
以与相关于嵌入式数据的书签类似的方式,加入与诸如文字、HTML网页、或与网络数据(例如网页)的链接等其它类型图形数据相关的书签。对于各种不同类型的图形数据来说,标志数据视窗350可用不同于可视显示视窗320中数据外观的形式来显示图形数据。例如,标志数据视窗350可含有文字、HTML程序码、或链接,而可视显示视窗320可显示文字、HTML网页或网页的相应外观。
例如,如图1所示在完成加入书签和相关数据之后,作者使用控制器370来暂停多通道文件190的产生。作者可选择一个或多个时间定比,其中所述时间定比对于多通道文件中的音频是可用的。
图4表示根据本发明的实施例用于观看演示内容的系统中的用户界面400。用户界面400包括显示视窗420、滑动条430、标志列表440、源视窗450、和控制条470。源视窗450提供演示内容列表以供用户进行选择并且指示当前所选的演示内容。
控制条470允许对演示内容进行一般控制。例如,用户可开始或停止演示内容、加速或放慢该演示内容、切换到正常速度、快速前进或快速倒转(fastbackward)(即向前跳或向后跳一段固定时间),或激活所有或部分演示内容的自动重复播放。
滑动条430与标志列表440标识书签,且允许用户跳到演示内容的书签中。
显示视窗420是用于诸如文字、图像、html网页或同步于音频的网页等可视内容。利用正确选择的可视内容,演示内容的用户可更容易地了解音频内容,甚至是在以高速播放音频的时候。
图5是实施具有图4的用户界面的演示播放器的示例过程500的流程图。过程500可以以计算机系统中的软件或硬件方式来执行。在步骤510中,过程500通过图4的用户界面获得事件,该事件可以为无事件或用户的选择。
判决步骤520确定用户是否已经开始进行新演示内容,新演示内容是其头信息未被高速缓冲的演示内容。如果用户已经开始进行新演示内容,过程500将在步骤522中连接演示内容的源,且请求文件头信息。该源一般为例如通过网络(例如互联网)连接至用户计算机的服务器的装置。
当源返回所请求的头信息时,如控制请求并缓冲演示内容帧等操作所要求的那样,在步骤524中,载入头标信息。特别是,步骤526复位可能已包含另一演示内容的帧和数据的重放缓冲器。
在步骤526复位重放缓冲器之后,步骤550维护重放缓冲器。一般来说,如果用户并未改变帧索引或重放速率,则在步骤550,通过识别出依序进行播放的一系列音频帧来维护重放缓冲器,进而确定是否可在帧高速缓冲器中得到该音频帧系列中的任意音频帧,且发送请求到系列音频帧中的音频帧的源,而不是至帧高速缓冲器中。
在本发明的互联网实施例中,当向服务器请求特定帧或数据时,过程500使用公知的http协定。因此,服务器并不需要一种专门服务器应用程序来提供该演示。然而,另一替代实施例可通过应用一种服务器应用程序以与用户进行通讯并将数据提供给用户以提供较佳的效能。
当用户从源接收到音频帧时,如果系列中的帧需要进行播放的话,过程500将缓冲或高速缓冲音频帧,但仅将重放缓冲器中的音频帧进行排序。如果需要播放的音频帧将在重放缓冲器进行排序的话,步骤560将利用从重放缓冲器中的帧进行解压缩得到的数据流来维护音频输出。当音频流从一个帧索引切换到下一帧索引时,如果所请求的音频帧不可用的话,则过程500暂停演示。
步骤570维护视频显示。应用过程500将针对该演示内容对头中指示的位置请求图形数据。特别是,如果该图形数据代表文字、图像、或嵌在多通道文件中的html网页的话,过程500将向该源请求图形数据并且根据其类型解释图形数据。如果图形数据是网络数据的话,例如多通道文件中由链接所识别出的网页,过程500将接入链接以检索网络数据来进行显示。如果当需要时,因为网络状况或其它问题而导致图形数据不可用的话,过程500继续维护演示内容的音频部分。这可避免当网络流量高时发生完全中断的问题。
在步骤580中,过程500确定网络的流量或可用带宽。可从在该源提供的任何所请求的信息或帧缓冲器状态的速度来确定网络流量或带宽。如果网络流量过高而无法在所需速率提供数据来进行顺利的演示内容重放的话,过程500在步骤584中决定改变演示内容的通道索引,以选择需要较少带宽的通道(即使用较多数据压缩),但仍可提供用户所选的音频重放速度。如果网络流量低,步骤584可改变演示内容的通道索引以选择使用较少的数据压缩的通道,且可以在所选择的音频重放速度上提供较佳的声音品质。
如果判决步骤530确定该事件是用户改变演示内容的时间定比,应用过程500将从步骤530分支到步骤532,这可将通道索引改变为对应于所选时间定比的数值。先前确定的网络流量将可用于针对所选的时间定比和可用网络带宽来选择提供最佳期音频品质的通道。
在步骤532改变通道索引之后,步骤526将随后复位重放缓冲器,且解除重放缓冲器中除了当前音频帧之外的所有音频帧的队列。在复位重放缓冲器之后,过程500将如上述步骤550、560与570那样维护重放缓冲器、音频输出及视频显示。
在步骤560中维护音频流的过程中,当前音频帧继续提供数据以进行音频输出,直到该数据用尽为止。因此,音频输出以先前的速率继续进行,直到来自当前音频帧的数据用尽为止。在该时刻,对应于下一帧索引但来自对应于新通道索引的音频帧应该是可用的。演示内容的重放将因此切换到小于单一帧持续时间的新重放速率,例如在示例实施例中将小于0.5秒。此外,新通道中下一个帧索引的帧内容对应于紧随在对应于先前重放速率的帧的音频数据。因此,用户可察觉到重放速率的流畅与实时转换。
如果在需要时对应于下一帧索引的帧不可用,过程500暂停重放,直到用户从该源接收到所需数据为止,且步骤550对重放缓冲器中的数据帧进行排序。本发明的替代实施例保留并且使用该音频帧系列,所述帧在重放缓冲器中针对先前的重放速率进行排序,而不是如步骤526中进行的解除帧的队列。因而当应用过程500无法及时地接收所需帧时,可播放先前音频帧以避免暂停演示。以先前速率持续演示将不需要地提供非应答型的过程外观,并且是图5实施例避免发生的事。
如果并不开始进行新演示或改变速度,用户选择书签或幻灯片,或选择快速前进或快速后退的话,判决步骤540暂停应用过程540以分支到改变当前帧索引的过程542。当前帧索引的新数值根据用户采取的行动而定。如果用户选择快速前进或快速后退,则当前帧索引将增加或减少一固定量。如果使用者选择书签或幻灯片,则当前帧索引变为与所选书签或幻灯片相关的开始索引值。在示例实施例中,开始索引值位于步骤524从多个通道文件的头部载入的数据中。
在改变当前帧索引之后,过程544将移动重放缓冲器的队列以反映当前帧索引的新数值。如果帧索引的变化不大,则已经在重放缓冲器中排序某些以新帧索引值串联音频帧了。否则,移动过程544将与重放缓冲器的复位过程526相同。
图6是说明根据本发明另一实施例的演示播放器600的多线程结构的流程图。演示播放器600包括音频播放线程620、音频载入与高速缓冲线程630、图形数据载入线程640以及显示线程650,其均受到过程管理器610的控制。一般在诸如与互联网或LAN连接的个人电脑或PDA(个人数字助理)、与电话网连接的蜂窝电话等具有网络连接的计算系统中运行演示播放器600。
当启动音频播放线程620时,音频播放线程620使用来自重放缓冲器625的数据以产生声音信号作为演示内容的音频部分。在一实施例中,音频重放缓冲器625含有压缩形式的音频帧,且音频播放线程620对音频帧进行解压缩。或者,音频重放缓冲器625含有未经压缩的音频数据。
音频载入与高速缓存线程通过网络接口660与演示内容源进行通信,并填满音频重放缓冲器625。此外,音频载入与高速缓冲线程630将音频帧预先载入至电脑计算系统的挥发性存储器(active memory)中,并且控制向硬盘或其它存储装置高速缓冲音频帧。线程630使用帧状态表632来追踪组成该演示内容的音频帧的状态,并且可以用上述方式从多通道文件的头部构建帧状态表632。例如,当各音频帧的状态已改变以指示是否音频帧被载入到挥发性存储器中、是否已部分地被载入到磁盘上和高速缓冲,或者是否根本未被载入时,线程630改变帧状态表632。
在本发明的示例实施例中,音频载入与高速缓冲线程630预先载入对应于当前所选的时间定比的一系列音频帧。特别地,线程630在演示内容的开始预先载入一系列音频帧,和以演示书签的开始帧索引开始的其它系列帧。因此,如果用户跳到对应于书签的演示内容中的一位置时,演示播放器600可快速移动到书签位置,而不会通过网络接口660使载入音频帧发生延迟。
当用户改变演示的时间定比时,将复位音频重放缓冲器625,且音频载入与高速缓冲线程630开始从新通道载入对应于新时间定比的帧。在示例实施例中,过程管理器610并不会启动音频播放线程620,直到音频重放缓冲器625含有用户所选的数据量为止,例如2.5秒的音频数据。如果音频帧的网络传输不规则,延迟启动可避免重复停止音频播放线程620。一般来说,当音频重放缓冲器625为空或几乎为空时,音频载入与高速缓冲线程630选择具有高压缩速率的音频通道,且当音频重放缓冲器625含有充足的数据量时,切换至能提供较佳音频质量的通道。
图形数据载入线程640与显示线程650分别载入图形数据以及显示图形图像。图形数据载入线程640可将图形数据载入到数据缓冲器642中,且可为显示线程650准备显示数据644。特别是,当图形数据是对诸如网页等的网络数据的链接时,图形数据载入线程640通过网络接口660从演示源接收该链接,且随后存取与该链接相关的数据以得到显示数据644。或者,图形数据载入线程640直接地使用来自演示源的嵌入式图像数据作为显示数据644。
根据本发明的一方面,播放演示将在音频附近进行调音过程。因此,过程管理器610给予音频载入与高速缓冲线程630最高的优先顺序。然而,在某些实施例中,音频载入与高速缓冲线程630可选择具有高压缩的音频通道以为图形数据释放更多带宽。特别是,在音频到达书签开始帧索引之前的一段时间前,当音频播放线程620到达开始帧索引时,线程630可转换到更高的压缩音频通道,以提供带宽给线程640来载入新图形数据而进行显示。
上述的演示播放器与著作工具可提供演示内容,所述演示内容允许用户对重放速率或对时间定比进行实时改变而不必具备特殊的硬件、大量的可用处理功率、或高带宽网络连接。由于其中改变重放速率的功能相当方便,这样的演示内容对大部分企业、商业环境和教育环境来说是相当有用的。然而,当不需要考虑改变重放速率时,这样的系统也是相当有用的。特别地,如上所述,著作工具的某些实施例产生适于存取任何执行诸如HTTP协议等认可协议的服务器的演示内容。因此,即使是一位漫不经心的作者也可以录制音频消息,且使用著作工具来将图像与音频消息同步,进而为家庭或朋友产生个人演示内容。演示内容的接收者可以播放演示内容而不需要使用特殊硬件或高带宽网络连接。
本发明的各方面可同时应用于独立式系统(standalone system)中,在所述独立式系统中,不考虑网络连接,但是处理功率或电池单元可能会受到限制。图7表示为用户提供的对演示内容的时间定比或重放速率的实时控制的独立式系统700。独立式系统700可以是便携式装置,例如PDA或便携式电脑,或特别设计的演示播放器。系统700包括数据存储器710、选择逻辑720、音频解码器730和视频解码器740。
数据存储器710可以是能够存储代表上述演示内容的多通道文件715的任何媒质。例如,在PDA中,数据存储器710可以是闪存盘或其它类似装置。或者,数据存储器710可以包括磁盘播放器和CD-ROM或其它类似媒质。在独立式系统700中,数据存储器710提供音频数据和任意图形数据,因此并不需要网络连接。
音频解码器730将从数据存储器710接收音频数据流,且将音频数据流转换成可通过放大器或扬声器系统735进行播放的音频信号。为了使所需的处理功率最小化,多通道文件715包含未经压缩的数字音频数据,且音频解码器730是一种传统的数字/模拟转换器。或者,如果系统700是为包含压缩音频数据的多通道文件715设计的,则音频解码器730可对数据进行解压缩。类似地,如显示器745所需,数据存储器710可从多通道文件715向转换图像数据的可选视频解码器740提供任意图形数据。
选择逻辑720选择由数据存储器710向音频解码器730和视频解码器740提供的数据流。选择逻辑720包括按钮、切换开关或用于控制系统700的其它用户界面装置。当用户改变重放速率时,选择逻辑720引导数据存储器710切换到多通道文件715中对应于新重放速率的通道。当用户选择书签时,选择逻辑720将引导数据存储器710跳到对应于该书签的帧索引,并从新时间索引恢复音频和视频数据流。因为时间定比或书签的选择仅需要改变数据存储器710在从多通道文件715读取音频和图形数据流时使用的参数(例如通道或帧索引),选择逻辑720需要很少或不需要处理功率。
因为多通道文件715的音频通道已包括时间定比音频数据,所以独立式系统700不会消耗为任何时间定比的处理功率。因此,独立式系统700几乎不会消耗电池或处理功率,且仍可提供具有时间定比的实时用户改变的时间定比演示内容。在特别设计的演示播放器中,由于系统700不需要重要的处理硬件,独立式系统700可降低装置的成本。
虽然已经参照特定实施例来说明本发明,上述说明仅是本发明应用的示例,不应被视为对本发明的限制。上述实施例的不同应用与组合均属于所附权利要求所限定的发明范围。
工业应用性
本发明可以被用于媒体编码、传输和重放的处理和结构,在所述处理和结构中,采用具有相应于将在网络上传输的演示内容的不同重放速率的不同音频通道的多通道结构。