声音与影像的同步方法与计算机可读取的记录媒体的制作方法

文档序号:6380598阅读:142来源:国知局
专利名称:声音与影像的同步方法与计算机可读取的记录媒体的制作方法
技术领域
本发明关于一种声音与影像的同步方法与记录有该方法的计算机可读取的记录媒体,特别关于一种通过估算声音数据的实际播放位置调整影像数据的播放的声音与影像的同步方法与记录有该方法的计算机可读取的记录媒体。
背景技术
在现今的计算机应用中,多媒体无疑是最热门与最重要的领域之一,藉由多媒体丰富的影像与声音的效果,所传播的内容可以生动地呈现,并轻易地深入广大听众的心中。
在某些特定作业环境下播放多媒体资料时,有时会出现声音与影像无法同步的情形,这种情形在播放随字幕发音的多媒体内容时尤其显得严重。其原因在于播放声音数据时,数据片段经解压缩等预先处理后,是先行储存于缓冲器中,再由数字模拟转换器(DAC,Digital toAnalog Converter)输出。而某些多媒体播放程序在计算所输出声音数据的数据量时,以传送至缓冲器有多少数据为准,但此时缓冲器中可能存有尚未输出的数据片段,造成实际输出的声音数据较多媒体播放程序所估算的为少,进而导致影像的显示比声音的输出还快,因而出现声音与影像无法同步的情形。
为解决上述问题,即需要正确估算实际上输出了多少声音数据,在其它作业环境中有两种作法,其一为由系统在前次写入的数据片段输出结束后自动呼叫一函数指针,使用者端可将此函数指针指向自己的程序函数,并于此程序函数中计算已经播放的数据片段的长度;其二为由系统端提供一返回长度函数,此函数可于被呼叫时回传缓冲器中剩余的数据量大小。
但以上两种解决方式均需要由系统端提供特定的函数,在未提供该笔函数的作业环境下,相对于系统开发端的使用者难以自行操作,故如何在无需改变系统程序的情况下,改善声音与影像无法同步的情形,实为一急需解决的问题。

发明内容
针对上述问题,本发明的目的为提供一种声音与影像的同步方法,该方法可以在未提供上述特定函数的作业环境下,无需改变系统程序,而能够改善声音与影像无法同步的情形。
为达上述目的,本发明所提供一种声音与影像的同步方法,其中所播放的声音数据与影像数据分别由相对应的复数声音数据片段与复数笔影像数据片段所组成,上述声音数据片段与影像数据片段于播放前需经预先处理并分别暂存于一声音数据缓冲区域与一影像数据缓冲区域中,而代表所处理的声音数据片段相对于声音数据片段的相对位置一目前播放位置,其可于预先处理时由声音数据片段中取得。该声音与影像的同步方法有以下特征,首先将记录声音数据片段中写入声音数据缓冲区域的声音数据片段的一起始写入时间;其次累计声音数据片段中已写入声音数据缓冲区域中的声音数据片段的一总写入数据量;接着计算声音数据片段中已写入声音数据缓冲区域中而尚未播放的声音数据片段的一总剩余数据量;其中上述总剩余数据量为总写入数据量扣除一取样频率与一经过时间二者的乘积后所得的差,而取样频率为每单位时间的欲播出的声音数据片段的数据量大小,经过时间则为一现在时间扣除起始写入时间;再接着计算一实际播放位置,其中实际播放位置为目前播放位置扣除总剩余数据量后所得的差;
最后依据实际播放位置调整影像数据片段的播放。
此外,本发明亦提供一种利用计算机可读取的记录媒体记录声音与影像的同步方法,运用此声音与影像的同步方法所播放的声音数据与影像数据分别由相对应的复数笔声音数据片段与复数笔影像数据片段所组成,上述声音数据片段与影像数据片段于播放前需经预先处理并分别暂存于一声音数据缓冲区域与一影像数据缓冲区域中,而代表所处理的声音数据片段相对于声音数据片段的相对位置一目前播放位置,其可于预先处理时由声音数据片段中取得。此声音与影像的同步方法首先记录声音数据片段中首先写入声音数据缓冲区域的声音数据片段的一起始写入时间,其次累计声音数据片段中已写入声音数据缓冲区域中的声音数据片段的一总写入数据量,接着计算声音数据片段中已写入声音数据缓冲区域中而尚未播放的声音数据片段的一总剩余数据量,其中上述总剩余数据量为总写入数据量扣除一取样频率与一经过时间二者的乘积后所得的差,而取样频率为每单位时间的欲播出的声音数据片段的数据量大小,经过时间则为一现在时间扣除起始写入时间,再接着将计算一实际播放位置,其中实际播放位置为目前播放位置扣除总剩余数据量后所得的差;最后依据实际播放位置调整影像数据片段的播放。
由于本发明的声音与影像的同步方法通过估算声音数据的实际播放位置调整影像数据的播放,故无需系统端提供特定的函数,亦无需改变系统程序,因而本发明的声音与影像的同步方法不受特定作业环境的限制,而适用于所有作业环境。因而彻底解决了在系统端未提供特定函数的情形下,使用者端难以自行解决声音与影像不同步的情形问题。


图1显示多媒体数据输出流程的示意图;图2显示本发明的声音与影像的同步方法的流程图;
图3显示目前播放位置与实际播放位置误差的示意图。
图中符号说明S201判断是否写入声音数据片段S202记录声音数据片段首先写入声音数据输出缓冲器的起始写入时间S203累计已写入声音数据输出缓冲器中的声音数据片段的总写入数据量S204判断是否暂停、跳跃或重新播放S205判断是否显示影像S206计算已写入声音数据输出缓冲器中而尚未播放的声音数据片段的总剩余数据量S207计算实际播放位置S208依据实际播放位置调整影像数据片段的播放S209播放已写入声音数据输出缓冲器中而尚未播放的声音数据片段S210将总写入数据量归零S211判断是否尚有声音数据片段S212播放已写入声音数据缓冲器中而尚未播放的声音数据片段具体实施方式
以下将参照附图,说明本发明较佳实施例的声音与影像的同步方法与计算机可读取的记录媒体。其中相同的组件将以相同的参照符号加以说明。
请参照图1所示,本发明的声音与影像的同步方法用于处理多媒体数据在播放时所产生的不同步的情形。上述多媒体数据同时包含声音与影像数据,通常以压缩格式加以储存,于播放前需经如解压缩等的预先处理,且声音与影像数据可依据单位时间输出的数据量分割为相对应的复数笔声音数据片段与影像数据片段。预先处理完成后的声音与影像数据片段在实际播放前,将分别储存于声音数据输出缓冲器与影像数据输出缓冲器中,而后再由数字模拟转换器(DAC,Digital toAnalog Converter)输出声音数据片段以及由屏幕显示影像数据片段。
需要指出的是,以压缩格式储存上述声音与影像数据并非本发明的要求,未经压缩的声音与影像数据亦可适用本发明的同步方法。
请参照图2所示,本发明的声音与影像的同步方法通过计算声音数据输出缓冲器中剩余的声音数据的数据量,间接估算实际输出的声音数据的数据量,避免以传送至缓冲器中的声音数据的数据量作为实际输出的声音数据的数据量而产生的误差,进而达成声音与影像同步的效果。本发明的声音与影像的同步方法的步骤包含判断是否写入声音数据片段(S201)、记录声音数据片段首先写入声音数据输出缓冲器的起始写入时间(S202)、累计已写入声音数据输出缓冲器中的声音数据片段的总写入数据量(S203)、判断是否暂停、跳跃或重新播放(S204)、判断是否显示影像(S205)、计算已写入声音数据输出缓冲器中而尚未播放的声音数据片段的总剩余数据量(S206)、计算实际播放位置(S207)、依据实际播放位置调整影像数据片段的播放(S208)、播放已写入声音数据输出缓冲器中而尚未播放的声音数据片段(S209)、将总写入数据量归零(S210)、判断是否尚有声音数据片段(S211)以及播放已写入声音数据缓冲器中而尚未播放的声音数据片段(S212),以下将详细说明本发明的声音与影像的同步方法的各个步骤。
于步骤S201,首先判断是否写入声音数据片段,在后续流程中,回头执行本步骤意在判断是否还有声音数据片段等待输出,若否,则结束本流程,若是,则继续执行步骤S202。
于步骤S202,将记录声音数据片段首先写入声音数据输出缓冲器的起始写入时间,以供其后的步骤在估算实际输出的声音数据的数据量时计算已经过的时间长度,其中上述起始写入时间取自于当时的系统时间。
于步骤S203,累计已写入声音数据输出缓冲器中的声音数据片段的总写入数据量,其中总写入数据量的初始值为零,随着声音数据片段的写入,总写入数据量亦随之累计。
需要指出的是,总写入数据量与声音数据输出缓冲器中现存的声音数据片段的数据量无关,亦不会随着声音数据片段实际由数字模拟转换器输出而减少。此外,写入声音数据输出缓冲器中的各笔声音数据片段在一般情形下具有相同的数据量大小,但即便声音数据片段彼此间数据量大小不同亦无碍于本发明的实施。
于步骤S204,将判断是否暂停、跳跃或重新播放,若是,则执行步骤S209,播放已写入声音数据缓冲器中而尚未播放的声音数据片段,接着再执行步骤S210,将总写入数据量归零,以便以暂停、跳跃或重新播放的目标始点为准,重新累计写入声音数据输出缓冲器中的声音数据片段的总写入数据量,再接着执行步骤S201及其后续步骤。若于步骤S204的判断结果为否,则继续执行步骤S205。
于步骤S205,将判断此时是否显示影像,若否,则执行步骤S211,判断是否还有声音数据片段等待输出,若是,则回到步骤S203,继续于声音数据片段写入声音数据输出缓冲器时累计总写入数据量,若否,则执行步骤S212,播放已写入声音数据缓冲器中而尚未播放的声音数据片段,然后结束本流程。
若于步骤S205的判断结果为是,则继续执行步骤S206,进行下述计算声音数据输出缓冲器中尚未播放的声音数据片段的总剩余数据量的步骤。
于步骤S206,将计算已写入声音数据输出缓冲器中而尚未播放的声音数据片段的总剩余数据量,其计算方式为首先计算已经过的时间长度,此经过时间长度可由现在时间扣除步骤S202所记录的起始写入时间而得,其中上述现在时间亦为系统时间;其次将经过时间乘以取样频率,即可取得于此经过时间内实际播出的声音数据片段的数据量,其中上述取样频率为每单位时间的欲播出的该笔声音数据片段的数据量大小;最后将步骤S203累计所得的总写入数据量扣除在经过时间内实际播出的声音数据片段的数据量即为写入声音数据输出缓冲器中而尚未播放的声音数据片段的总剩余数据量。
于步骤S207,将计算实际播放位置,其可由目前播放位置扣除该总剩余数据量后而得。其中上述目前播放位置代表经预先处理的声音数据片段中其处理时间与目前时间最相近的声音数据片段相对于整体声音数据的相对位置为何。而由于声音数据输出缓冲器中可能尚有未播放的声音数据片段,故目前播放位置与实际播放位置具有误差,其误差即为声音数据输出缓冲器中尚未播放的声音数据片段的数据量。
举例而言,请参照图3所示,假设声音数据包含A、B、C、D、E等五笔声音数据片段,依照前段目前播放位置的定义,目前播放位置为C、D二声音数据片段之间,但由于尚有B、C等二声音数据片段暂存于声音数据输出缓冲器中尚未播放,故实际播放位置应为A、B二声音数据片段之间,B、C等二声音数据片段的数据量即为目前播放位置与实际播放位置间的误差。
在从头播放多媒体数据且于播放过程中并无暂停、跳跃或重新播放的情形之下,实际播放位置可由经过时间乘以取样频率而直接求得,但于多媒体数据并非从头播放或于播放过程中有暂停、跳跃或重新播放的情形时,仍须依据上述步骤S207的方式求取实际播放位置。
在求得实际播放位置后,于步骤S208将依据实际播放位置调整影像数据片段的播放,此时若影像数据缓冲器中的影像数据片段并非与声音数据实际播放位置相对应的影像数据片段,则将其舍弃不用,径行将相对应的影像数据片段加以预先处理并输出。完成本步骤后,便回到步骤S211,判断是否还有声音数据片段等待输出,以决定结束本流程或循环执行上述步骤S203至步骤S208的流程。
由于本方法预先在声音数据开始播放时,记录下起始写入时间,并于播放流程中累计已写入声音数据输出缓冲器中的声音数据片段的总写入数据量,而在显示影像数据时,得以依据经过时间及取样频率,计算出经过时间内实际播出的声音数据片段的数据量,再间接计算出声音数据输出缓冲器中剩余的声音数据的数据量,进而通过声音数据输出缓冲器中剩余的声音数据的数据量得以将目前播放位置校正为实际播放位置,最后依据实际播放位置调整影像数据片段的播放,达成声音与影像同步的效果。
又由于,本发明在应用程序端实际操作时,无需系统端提供特定的函数,亦无需改变系统程序,故本发明的声音与影像的同步方法不受特定作业环境的限制,而适用于所有作业环境。因而彻底解决了在系统端未提供特定函数的情形下,使用者端难以自行解决声音与影像不同步的情形问题。
权利要求
1.一种声音与影像的同步方法,其中所播放的声音数据与影像数据分别由相对应的复数笔声音数据片段与复数笔影像数据片段所组成,该笔声音数据片段与该笔影像数据片段于播放前需经预先处理并分别暂存于一声音数据缓冲区域与一影像数据缓冲区域中,而代表所处理的声音数据片段相对于该笔声音数据片段的相对位置为一目前播放位置,其可于预先处理时由声音数据片段中取得,声音与影像的同步方法包含记录该笔声音数据片段中首先写入该声音数据缓冲区域的声音数据片段的一起始写入时间;累计该笔声音数据片段中已写入该声音数据缓冲区域中的声音数据片段的一总写入数据量;计算该笔声音数据片段中已写入该声音数据缓冲区域中而尚未播放的声音数据片段的一总剩余数据量,其中该总剩余数据量为该总写入数据量扣除一取样频率与一经过时间二者的乘积后所得的差,而该取样频率为每单位时间的欲播出的该笔声音数据片段的数据量大小,该经过时间为一现在时间扣除该起始写入时间;计算一实际播放位置,其中该实际播放位置为该目前播放位置扣除该总剩余数据量后所得的差;以及依据该实际播放位置调整该笔影像数据片段的播放。
2.如权利要求1所述的声音与影像的同步方法,其中该声音数据缓冲区域为声音数据输出缓冲器。
3.如权利要求1所述的声音与影像的同步方法,其中该起始写入时间及现在时间均取自于系统时间。
4.如权利要求1所述的声音与影像的同步方法,更包含播放该笔声音数据片段中已写入该声音数据缓冲区域中而尚未播放的声音数据片段,且更包含在该笔声音数据片段中已写入该声音数据缓冲区域中而尚未播放的声音数据片段播放完毕后,将该笔声音数据片段中首先写入该声音数据缓冲区域的声音数据片段的写入时间设定为该起始写入时间,并将该总写入数据量归零。
5.如权利要求1所述的声音与影像的同步方法,更包含清除该笔影像数据片段中已写入该影像数据缓冲区域中而尚未播放的影像数据片段。
6.一种计算机可读取的记录媒体,其记录一声音与影像的同步方法,运用该声音与影像的同步方法所播放的声音数据与影像数据分别由相对应的复数笔声音数据片段与复数笔影像数据片段所组成,该笔声音数据片段与该笔影像数据片段于播放前需经预先处理并分别暂存于一声音数据缓冲区域与一影像数据缓冲区域中,而指示所处理的声音数据片段相对于该笔声音数据片段的相对位置一目前播放位置,其可于预先处理时由声音数据片段中取得,该声音与影像的同步方法的步骤包含记录该笔声音数据片段中首先写入该声音数据缓冲区域的声音数据片段之一起始写入时间;累计该笔声音数据片段中已写入该声音数据缓冲区域中的声音数据片段之一总写入数据量;计算该笔声音数据片段中已写入该声音数据缓冲区域中而尚未播放的声音数据片段之一总剩余数据量,其中该总剩余数据量为该总写入数据量扣除一取样频率与一经过时间二者的乘积后所得的差,而该取样频率为每单位时间欲播出的该笔声音数据片段的数目,该经过时间为一现在时间扣除该起始写入时间;计算一实际播放位置,其中该实际播放位置为该目前播放位置扣除该总剩余数据量后所得的差;以及依据该实际播放位置调整该笔影像数据片段的播放。
7.如权利要求6所述的计算机可读取的记录媒体,其中该声音数据缓冲区域为声音数据输出缓冲器。
8.如权利要求6所述的计算机可读取的记录媒体,其中该起始写入时间及现在时间均取自于系统时间。
9.如权利要求6所述的计算机可读取的记录媒体,更包含播放该笔声音数据片段中已写入该声音数据缓冲区域中而尚未播放的声音数据片段,且更包含在该笔声音数据片段中已写入该声音数据缓冲区域中而尚未播放的声音数据片段播放完毕后,将该笔声音数据片段中首先写入该声音数据缓冲区域的声音数据片段的写入时间设定为该起始写入时间,并将该总写入数据量归零。
10.如权利要求6所述的计算机可读取的记录媒体,更包含清除该笔影像数据片段中已写入该影像数据缓冲区域中而尚未播放的影像数据片段。
全文摘要
本发明关于一种声音与影像的同步方法,其中所播放的声音数据与影像数据分别由相对应的复数笔声音数据片段与复数笔影像数据片段所组成。该同步方法首先记录声音数据片段中首先写入声音数据缓冲区域的声音数据片段,其次累计声音数据片段中的总写入数据量,接着计算声音数据片段中已写入声音数据缓冲区域中而尚未播放的声音数据片段的总剩余数据量,经过必要的计算步骤,获知其中实际播放位置与目前播放位置之差,最后依据实际播放位置调整影像数据片段的播放,以达到声音与影像的同步。
文档编号G06F9/44GK1648854SQ20041000244
公开日2005年8月3日 申请日期2004年1月20日 优先权日2004年1月20日
发明者杨凰琳 申请人:无敌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1