媒体播放系统的数据控制的方法

文档序号:7557122阅读:136来源:国知局
专利名称:媒体播放系统的数据控制的方法
技术领域
本发明涉及一种媒体播放系统,特别涉及一种利用流量控制以及动态调整缓冲区储存媒体数据封包大小的临界值以控制媒体播放系统的操作的方法。
背景技术
人类的信息传播方式已经由静态媒体(文字,图形)进化至动态媒体(音乐,影片),而且随着网络传输技术的快速发展,在短短的数十年间,可通过网络播放的在线音乐与在线影片已逐渐成为人类每天不可或缺的信息与娱乐来源。
然而在线音乐及在线影片的播放会受限于网络带宽以及传输品质的影响。由于因特网(Internet)具有互联但不互管的特性,使用者实际可使用的带宽永远不可能是固定的,也就是说,ISP所提供的带宽,通常只是理论上的最大值。举例来说,ADSL/Cable(360Kbps/sec)等宽带系统的使用者在拥塞时候的联机速度可能只有100K以下,更不用提56Kbps调制解调器的用户可能只有28Kbps/sec或更少。即使在不拥塞的情况下,联机速度还是可能有+/-10%-30%不等的差异,另外在无线网络的通信中,由于频谱资源有限,系统多使用分工(Multiple Access)的方式分享网络带宽,因此网络带宽的变化更是难以预测。
此外,不稳定的联机速度也是影响在线影音播放的因素。如果在线音乐的播放因为不稳定的联机速度而断断续续时,使用者必定极为苦恼。如果采用一次全部下载完成后再来播放的方式,一旦碰到文本是一部两小时的电影,那么下载的时间与所需的储存媒体将会非常可观。
为了解决上述问题,现在的在线媒体播放系统发展出一种串流式信道的方式来处理数据。请参阅

图1,图1为已知在线媒体播放系统10的功能方块图。媒体播放系统(media player system)10包含一数据端12以及一播放端14。数据端12包含一编码器22,其被用来将欲传送予播放端14的媒体数据封包加以编码,而播放端14则可通过一网络20连结于数据端12。播放端14包含一缓冲区(buffer)16,用来储存媒体数据的封包,以及一译码器18,用来将缓冲区16内的媒体数据封包译码后加以输出。播放端14在播放数据端12的媒体数据之前,播放端14会预先下载一段媒体数据并存入缓冲区16,而播放端14就会取用缓冲区16内的媒体数据封包以作为播放之用。当数据端12已将所需的封包全部送出后,就会发出一终止信号,而播放端14读取到数据端12所传来的终止信号后,就会结束播放数据封包。但是,如果数据端12发生无预警的中断,那么播放端14待缓冲区16所储存的媒体数据播放完毕后,由于播放端14未读取到终止信号,播放端14无法判定数据端12的封包是否已全部传送完毕,所以播放端14会重复播放缓冲区16最后输出的封包,此时缓冲区16内的封包多半已译码并输出播放,故仅剩少量的封包会被重复播放,而使播放端14因不断输出同样且少量的封包而呈现出彷佛播放杂音或残影的状态。
有鉴于此,目前的解决方式是利用播放端14定期发出一检测信号(probepacket),若该检测信号传送失败或停止传送,即可确认数据端12已停止传送封包,此时播放端14便停止播放并清空播放端14的缓冲区16。但是如果将发送检测信号的频率设定太高,会减低影响网络20传输的有效带宽;如果发送检测信号的频率太低,则可能无法实时反应数据端12已停止播放的状态,而在数据端12已停止传输且缓冲区16的封包播放完毕之时,播放端14仍旧持续重复播放缓冲区16最后输出的数据封包。

发明内容
因此,本发明的目的是提供一种用于一媒体播放系统的数据控制的方法,利用流量控制以及动态调整缓冲区缓冲区储存媒体数据封包大小的临界值的方式,以解决上述问题。
本发明的申请专利范围是提供一种用于一媒体播放系统的数据控制的方法,媒体播放系统包含一数据端以及一播放端,播放端是通过一网络连结于数据端,数据端包含一编码器,用来对媒体数据编码,播放端包含一缓冲区,用来储存媒体数据的封包,该方法包含将缓冲区储存媒体数据的封包量与一上限值及一下限值进行比较;若缓冲区储存媒体数据的封包量大于上限值,则减缓数据端的编码器对媒体数据的编码速度;以及若缓冲区储存媒体数据的封包量小于下限值,则加快数据端的编码器对媒体数据的编码速度或在网络中的传送速度。
本发明另揭露依据网络流量的大小调整缓冲区储存内分配给暂存封包的封包量的上限与下限,当检测到网络的可用容量大小增加时,表示网络可以传送更多的封包,因此对于缓冲区分配给暂存封包的封包量的上限与下限均可提高,而当网络所能传送的数据量有限,则可降低缓冲区的上限值与下限值,已可更有效的应用缓冲区的储存容量。
本发明的申请专利范围的方法更依据该网络可用容量的变化大小,判断网络是否稳定,当变化量大于一个第一参考值,表示网络环境变化快速,则增加该上限值并降低该下限值,以增加上限与下限值的距离,使播放端不需一直调整传输的封包,另当变化量小于一个第二参考值,表示网络环境稳定,则减少该上限值并增加该下限值,可释出部分内存可供其它使用,更增加内存的使用效率。
附图简述图1为已知在线媒体播放系统的功能方块图。
图2为本发明的媒体播放系统的功能方块图。
图3为本发明的媒体播放系统的数据动态流量控制的流程图。
图4为缓冲区于各时点所储存的媒体数据封包量的变化图。
图5为本发明的动态调整上限值H(t)与下限值L(t)的第一实施例的方法流程图。
附图符号说明10、30媒体播放系统;12、32数据端;14、34播放端; 16、36缓冲区18、38译码器20网络22、42编码器44逻辑单元实施方式请参阅图2,图2为本发明的媒体播放系统(media player system)30的功能方块图。媒体播放系统30包含一数据端32以及一播放端34,且数据端32与播放端34之间的通过一网络20相互连接。数据端32包含一编码器(encoder)42,其用来将欲传送予播放端34的媒体数据封包加以编码,播放端34包含一缓冲区(buffer)36以及译码器(decoder)38,缓冲区36是用来储存输入的媒体数据封包,译码器38是用来对媒体数据封包进行译码。播放端34在播放数据端32的媒体数据之前,播放端34会预先下载一段媒体数据并存入缓冲区36,而播放端34就会取用缓冲区36内的媒体数据封包以作为播放之用。
请参阅图3,图3是本发明的媒体播放系统30的数据动态流量控制的流程图。其步骤如下步骤100开始;步骤102数据端32传送媒体数据封包至播放端34;步骤104播放端34的缓冲区36储存由数据端32传来的媒体数据封包;步骤106将缓冲区36储存媒体数据的封包量与一上限值及一下限值进行比较;若缓冲区36储存媒体数据的封包量大于上限值,则送出一第一控制信号予数据端32,并执行步骤108;若缓冲区36储存媒体数据的封包量小于该下限值,则送出一第二控制信号予数据端32,并执行步骤110;步骤108当数据端32接收到该第一控制信号后,会控制数据端32的编码器42减缓对媒体数据的编码速度;以及步骤110当数据端32接收到该第二控制信号后,会控制数据端32的编码器42加快对媒体数据的编码速度;步骤112结束。
媒体播放系统30的运作过程说明如下。当播放端34欲通过网络20连接至数据端32,并播放数据端32所储存的媒体文本数据(譬如MP3音乐文件、MPEG影像文件或是任何多媒体的文本格式)时,数据端32会经由网络20通过一种数据网络的通信方式,例如利用无线网络802.11b通信传输协议来传送媒体数据封包至播放端34。播放端34在接收到媒体数据后会先将媒体数据封包储存在缓冲区36,再依序通过译码器38加以解码输出。由于网络传输速度的不稳定,尤其是无线网络的环境,使得缓冲区36内所储存的媒体数据封包在每一时刻都有不同的储存量,因此,播放端34另包含一逻辑单元44,其会定时地检测缓冲区36所储存的媒体数据封包量。若在某一段时间,网络20传输予播放端34的缓冲区36的媒体数据封包量高于播放端34经由译码器38并播放的速度时,为了避免缓冲区36发生溢出(overflow)的情形,此时逻辑单元44会与一上限值H(t)进行比较,一但逻辑单元44检测到缓冲区36的媒体数据封包量大于上限值H(t)时,就会发出一第一警示信号予数据端32,而数据端32的编码器42接收到该第一警示信号后,就会减缓编码器42对媒体数据的编码速度,而网络20所能传送的已编码媒体数据封包自然就会减少,促使播放端34的缓冲区36内储存媒体数据封包量得以下降。反之,若在某一段时间,网络20传输予播放端34的缓冲区36的媒体数据封包量低于播放端34经由译码器38并播放的速度时,为了避免缓冲区36会发生媒体数据封包不足而导致必须重复播放的已播放过的封包的情形,此时逻辑单元44会与一下限值L(t)进行比较,一旦逻辑单元44检测到缓冲区36的媒体数据封包量大于下限值L(t)时,就会发出一第二警示信号予数据端32,而数据端32的编码器42接收到该第二警示信号后,就会加快编码器42对媒体数据的编码速度,促使网络20增加已编码媒体数据封包的传输量,使得播放端34的缓冲区36内储存媒体数据封包量得以增加。若通信环境恶化或是网络忙碌,导致成功传输的封包减少时,缓冲区36储存媒体数据的封包量小于下限值L(t),则逻辑单元44会插入静音的封包进入缓冲区36内,而播放端34会先停止读取储存于缓冲区36的媒体数据的封包,并读取并播放上述静音封包,产生一静音,等到收到媒体数据的封包量又大于下限值L(t)之后,逻辑单元停止插入静音的封包于缓冲区36内,播放端34才会继续播放缓冲区36所储存的媒体数据封包。如此一来,媒体播放系统30就可以运用上述的控制方法,来避免播放端34的缓冲区36发生储存媒体数据封包量满溢或是媒体数据封包量不足而导致播放杂音的情形发生。
请参阅图4,图4是缓冲区36于各时点所储存的媒体数据封包量的变化图。前述提到,上限值H(t)与下限值L(t)是控制媒体播放系统30的数据端32传输媒体数据封包的关键所在,所以如何适当地设定上限值H(t)与下限值L(t)将会对于媒体播放系统30的运作有着重要的影响。请参阅图5,图5为本发明根据数据传输的网络流量N(t)瞬间的大小以及其变化大小,动态调整上限值H(t)与下限值L(t)的第一实施例的方法流程图。其步骤简述如下步骤150检测网络流量N(t);步骤152判断网络流量N(t)是否大于一预定值;若是,执行步骤154,若否,执行步骤156;步骤154若网络流量N(t)大于该预定值,则同时增加上限值H(t)与下限值L(t);步骤156若网络流量N(t)小于该预定值,则同时降低上限值H(t)与下限值L(t);步骤158计算网络流量N(t)于一预定时段内的变异数Var(N(t)),若变异数Var(N(t))大于一第一参考值,执行步骤160,若小于一第二参考值,执行步骤162;步骤160增加上限值H(t)并降低下限值L(t);以及步骤162降低上限值H(t)并增加下限值L(t)。
为了让上限值H(t)与下限值L(t)能视网络20的可以使用的流量进行动态的调整,所以逻辑单元44另会定时检测网络20的可用流量N(t)。当网络20的流量大于一预定值时,表示数据端32可以传送更多的封包至网络20,所以播放端34就会增加上限值H(t)与下限值L(t)。相反的,当网络20的可用流量N(t)小于该预定值时,表示数据端32已传送过多的封包至网络20,所以播放端34就会减少上限值H(t)与下限值L(t)。除了依据网络可用流量N(t)来控制上限值H(t)与下限值L(t)之外,如果网络流量N(t)的变化太不稳定,容易造成上限值H(t)与下限值L(t)频繁的调整。所以,逻辑单元44还会另外会定时的检测网络流量N(t)于一预定时段内的变异数Var(N(t)),如果变异数Var(N(t))大于一第一参考值,意味着上限值H(t)与下限值L(t)的距离大小过于接近,导致上限值H(t)与下限值L(t)变化次数过于频繁,此时应该增加上限值H(t),并降低下限值L(t),如此一来,上限值H(t)与下限值L(t)之间的距离拉大,就可以避免上限值H(t)与下限值L(t)不断的变化。反之当逻辑单元44检测到变异数Var(N(t))小于一第二参考直判断值,意味着上限值H(t)与下限值L(t)的距离太大,此时应该减少上限值H(t),并增加下限值L(t),如此一来,上限值H(t)与下限值L(t)之间的距离就会减少,而使得上限值H(t)与下限值L(t)能有适度的调整变化,如此可是出部分内存可供其它使用,可更有效的使用内存。
本发明的媒体播放系统30配合步骤100至步骤112的流程即可以藉由检测播放端34的缓冲区36所储存的媒体数据封包量与一上限值和一下限值做比较后,以用来控制数据端32对于媒体数据封包的编码速度,以避免缓冲区36发生溢出(overflow)或是媒体数据封包不足而必须重复播放之前已播放的封包的状况。而配合步骤150至步骤162,更可以使得缓冲区36内所需储存的媒体数据封包量可以动态的方式调整该上限值与该下限值,使得媒体播放系统30的运作可依据缓冲区36储存媒体数据封包的状况调整编码器22对媒体数据的编码速度及调整网络20的传输速度。
相较已知技术,本发明的媒体播放系统可以利用检测播放端的缓冲区的封包量来控制数据端传送媒体数据封包的速度,如此一来,当缓冲区的封包量大于上限值时,促使数据端减缓对传送的媒体数据封包的编码速度,或是降低网络对于媒体数据封包的传送速度;当缓冲区的封包量小于下限值时,促使数据端加快对传送的媒体数据封包的编码速度,或是增加网络对于媒体数据封包的传送速度。除此之外,也可以利用检测网络传输速度是否大于或小于一预定值,来动态地调整上限值以及下限值。再者,当网络传输速度的变异数大于一判断值,或者上限值以及下限值的变化次数过于频繁时,本发明的方法也会动态地调整上限值与下限值的距离以适当地调整数据封包可储存于缓冲区的封包量。通过本发明的方法,媒体播放系统可以可以利用较小的缓冲区空间就可以使得媒体播放系统可以顺利的运作。
权利要求
1.一种用于一媒体播放系统的数据控制的方法,该媒体播放系统包含一数据端以及一播放端,该播放端是通过一网络连结于该数据端,该数据端包含一编码器,用来对媒体数据编码,该播放端包含一缓冲区,用来储存媒体数据的封包,该方法包含将该缓冲区储存媒体数据的一封包数量与一上限值及一下限值进行比较;若该缓冲区储存媒体数据的封包量大于该上限值,则减缓该数据端的编码器对媒体数据的编码速度;以及若该缓冲区储存媒体数据的封包量小于该下限值,则加快该数据端的编码器对媒体数据的编码速度。
2.如权利要求1所述的方法,其另包含检测媒体数据由该数据端传送至该播放端的速率;若媒体数据由该数据端传送至该播放端的速率大于一预定值,则增加该缓冲区的上限值与下限值;以及若媒体数据由该数据端传送至该播放端的速率小于该预定值,则降低该缓冲区的上限值与下限值。
3.如权利要求1所述的方法,其另包含检测媒体数据由该数据端传送至该播放端的速率的变异数(variance);若该变异数大于一第一参考值,则增加该上限值并降低该下限值;以及若该变异数小于一第二参考值,则降低该上限值并增加该下限值。
4.如权利要求1所述的方法,其中,该数据端传至该播放端的媒体数据为一影像格式。
5.如权利要求1所述的方法,该影像格式为MPEG格式。
6.如权利要求1所述的方法,其中,该数据端传至该播放端的媒体数据符合一语音格式。
7.如权利要求1所述的方法,该语音格式为MP3格式。
8.如权利要求6所述的方法,其另包含若该缓冲区储存媒体数据的封包量小于该下限值,则该播放端停止输出储存于该缓冲区的媒体数据的封包,并播放一静音。
9.如权利要求1所述的方法,其中,该数据端与该播放端间的网络传输是为一无线通信传输。
10.一种用于一媒体播放系统的数据控制的方法,该媒体播放系统包含一数据端以及一播放端,该播放端是通过一网络连结于该数据端,该数据端包含一编码器,用来对媒体数据编码并传送多个数据封包至该播放端,该播放端包含一缓冲区、一译码器及一逻辑单元,该缓冲区用来储存该多个封包,该译码器读取该缓冲区内的封包并播放,该方法包含将该缓冲区储存媒体数据的封包量与一上限值及一下限值进行比较;若该缓冲区储存媒体数据的封包量小于该下限值,该逻辑单元产生一预定封包并储存于该缓冲区;以及该译码器读取该预定封包并播放;若该缓冲区储存媒体数据的封包量大于该下限值,该控制单元停止产生该预定封包。
11.如权利要求10所述的方法,更包含若该缓冲区储存媒体数据的封包量大于该上限值,则该逻辑单元通知该编码器,减缓该数据端的编码器对媒体数据的编码速度;以及若该缓冲区储存媒体数据的封包量小于该下限值,则该逻辑单元通知该编码器,加快该数据端的编码器对媒体数据的编码速度。
12.如权利要求10所述的方法,其中,该数据端传至该播放端的媒体数据为一影像格式,该预定封包内容为一静止画面。
13.如权利要求1所述的方法,其中,该数据端传至该播放端的媒体数据是符合一语音格式,该预定封包内容为一静音。
14.一种用于一媒体播放系统的数据控制的方法,该媒体播放系统包含一数据端以及一播放端,该播放端是通过一网络连结于该数据端,该数据端包含一编码器,用来对媒体数据编码,该播放端包含一缓冲区,用来储存媒体数据的封包,该方法包含设定缓冲区内一上限值及一下限值,利用该上下限值与该缓冲区储存媒体数据比较调整该编码器编码速度;检测媒体数据由该数据端传送至该播放端的速率是否大于一预定值;若媒体数据由该数据端传送至该播放端的速率大于该预定值,则增加该上限值及该下限值;以及若媒体数据由该数据端传送至该播放端的速率小于该预定值,则降低该上限值及该下限值。
15.如权利要求14所述的方法,其另包含若该缓冲区储存媒体数据的封包量大于该上限值,则减缓该数据端的编码器对媒体数据的编码速度;以及若该缓冲区储存媒体数据的封包量小于该下限值,则加快该数据端的编码器对媒体数据的编码速度。
16.如权利要求14所述的方法,其另包含检测媒体数据由该数据端传送至该播放端的速率的变异数;若该变异数大于一第一参考值,则增加该上限值并降低该下限值;以及若该变异数小于一第二参考值,则降低该上限值并增加该下限值。
全文摘要
一种用于一媒体播放系统的数据控制的方法,该媒体播放系统包含一数据端以及一播放端,该播放端是通过一网络连结于该数据端,该数据端包含一编码器,用来对媒体数据编码,该播放端包含一缓冲区,用来储存媒体数据的封包,该方法包含将该缓冲区储存媒体数据的封包量与一上限值及一下限值进行比较;若该缓冲区储存媒体数据的封包量大于上限值,则减缓该数据端的编码器对媒体数据的编码速度;以及若该缓冲区储存媒体数据的封包量小于下限值,则加快该数据端的编码器对媒体数据的编码速度。
文档编号H04L12/56GK1614953SQ20031011816
公开日2005年5月11日 申请日期2003年11月6日 优先权日2003年11月6日
发明者秦颐隆, 李昌鸿 申请人:明基电通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1