一种流媒体数据传输方法及其数据传输装置的制作方法

文档序号:7648444阅读:114来源:国知局
专利名称:一种流媒体数据传输方法及其数据传输装置的制作方法
技术领域
本发明涉及一种流媒体数据传输方法及其数据传输装置。
背景技术
随着互联网技术的不断发展,网络互动电视(IPTV)开始进入人们的 生活,它使得人们可以通过网络来收听收看流媒体,大大丰富了人们的生 活。
在网络上传输音/视频等多媒体信息目前主要有下载和流式传输两种 方案。音/视频文件一般都较大,所以需要的存储容量也较大;同时由于网 络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟 也很大。流式传输时,声音、影像或动画等时基媒体由音视频服务器向用 户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只 需经过几秒或十数秒的启动延时即可进行观看。当声音等时基媒体在客户 机上播放时,文件的剩余部分将在后台从服务器继续下载。流式传输不仅 使启动延时成十倍、百倍地縮短,而且不需要太大的缓存容量,避免了用 户必须等待整个文件全部从互联网(Internet)上下载才能观看的缺点。
流媒体指在Internet/Intranet中使用流式传输技术的连续时基媒体, 如音频、视频或多媒体文件。流媒体在播放前并不下载整个文件,只将 开始部分内容存入内存,流媒体的数据流随时传送随时播放,只是在开始 时有一些延迟。流媒体实现的关键技术就是流式传输。
由于流媒体的随时传送随时播放的特性,为了提供稳定的声像质量, 通常采用设置缓冲区的方法,但现有技术中缓冲区一般为传输之前就预设 固定尺寸的缓冲区或是在传输过程启动时根据网络初始状态确定固定尺寸 的缓冲区,上述两种方法在随后的过程中,缓冲区都不能动态地根据实际 情况进行改变,这样对系统资源是种浪费。

发明内容
本发明就是为了克服以上的不足,提出了一种在流媒体播放时,可以 动态地调整缓冲区大小的方法,以便能够更好地适应网络流量的变化。 本发明同时提出了 一种实现上述方法的装置。 为实现上述方法,本发明采用如下技术方案
一种流媒体数据传输方法,由缓冲区从协议栈读取服务器传输来的流 媒体数据,在流媒体传输过程中,缓冲区监视器实时检测流媒体数据传输 的码流波特率,根据检测到的码流波特率动态调整缓冲区大小。
所述流媒体传输启动时包含如下处理步骤
检测流媒体数据初始传输的码流波特率;
根据检测到的码流波特率设置初始缓冲区大小;
缓冲区从服务器接收流媒体数据并存入其中;
当缓冲区存入的数据达到缓冲区播放下限,启动解码器进入正常播放 状态。
进入正常播放状态后,还包括根据传输码率变化改变解码速率的处理 过程
当缓冲区监视器检测到服务器发送码率小于解码器正常解码速率或缓 冲区下溢时,通知解码器降低解码速率至与当前服务器发送码率相匹配。 所述根据传输码率变化改变解码速率的处理过程还包括如下步骤 缓冲区监视器检测到缓冲区无数据,暂停解码器解码并通知接收数据 异常;
缓冲区监视器检测到缓冲区数据重新累积到播放下限,恢复解码器正 常解码。
进入正常播放状态后,还包括缓冲区上溢时对服务器的控制过程 缓冲区监视器检测到缓冲区上溢,通知服务器暂停发送数据; 当缓冲区监视器检测到缓冲区数据到达播放下限,通知服务器重新发 送数据。
进入正常播放状态后,还包括缓冲区下溢时对服务器的控制过程 缓冲区监视器检测到缓冲区下溢,通知服务器以大于正常速率的速率 发送数据;
缓冲区监视器检测到缓冲区数据到达播放下限,通知服务器以正常速 率发送数据。本发明提出的流媒体数据传输装置,包括协议栈、缓冲区和解码器, 缓冲区从协议栈读取服务器传输来的流媒体数据,所述解码器对缓冲区的 数据进行解码,还包括缓冲区监视器,所述缓冲区监视器实时监视网络流 量,并动态调整所述缓冲区大小。
作为本装置的一种改进,在流媒体传输过程中,所述缓冲区监视器实 时检测流媒体数据传输的码流波特率和解码器解码速率,根据该码流波特 率通知解码器改变解码速率。
作为本装置的又一种改进,本装置在数据接收过程中可通知服务器改 变数据发送速率,其情况包括缓冲区设置有下限值,数据接收过程中, 所述缓冲区监视器检测到缓冲区发生下溢时,通知服务器以大于正常速率 的速度发送数据。
所述缓冲区还设置有上限值,数据接收过程中,所述缓冲区监视器检 测到所述缓冲区发生上溢时,通知服务器暂停发送数据;当缓冲区数据到 达缓冲区下限值时,通知服务器恢复正常速率发送数据。
本发明的流媒体数据传输方法及其数据传输装置,通过增加缓冲区监 视器,在传输启动阶段根据初始传输的流媒体码率确定初始数据缓冲区大 小,码率高的流媒体缓冲区大,码率低的缓冲区较小,在之后的流媒体数 据传输过程中,可以根据实际需要改变媒体的码率,适应多码流的缓冲, 从而减少了系统资源的浪费。
作为改进,在流媒体传输过程中,所述缓冲区监视器可以实时检测流 媒体数据传输的码流波特率和解码器解码速率,根据该码流波特率通知解 码器改变解码速率;可通知服务器根据缓冲区状态改变数据发送速率。这 样通过与服务器的交互,服务器可以了解网络和客户端的状态,能最大限 度的利用服务器的能力和本地的存储和解码能力,从而高效利用系统资源, 在进行IPTV点播时,流媒体的用户体验更好。
本发明的特征及优点将通过实施例结合附图进行详细说明。


图1是本发明实施例的系统框图2是本发明实施例的启动态流程图3是本发明实施例的解码器在缓冲区下溢时的控制流程图; 图4是本发明实施例的解码器恢复时的流程图; 图5是本发明实施例在发生上溢时对服务器的控制流程图; 图6是本发明实施例在发生下溢时对服务器的控制流程图。
具体实施例方式
图1示出了本发明一较佳实施例的系统框图,包括服务器100、协议 栈101、缓冲区监视器102、动态缓冲区103和解码器104。其中,缓冲区 监视器102和动态缓冲区103共同组成本发明实施例的缓冲区,它是连接 远端的服务器100和解码器104的桥梁,可以使流媒体播放更加流畅,在 进行实时操作,如暂停,快进时又有好的低延迟性。流媒体的数据源从服 务器100经网络到达协议栈101,协议栈101用于完成服务器100与客户 机之间的通信,然后流媒体数据被送入动态缓冲区103,缓冲区监视器102 对动态缓冲区103和网络状态进行实时的监测,以进行各种调整操作;最 后流媒体数据被送至解码器104,完成解码,显示输出。
图2示出了本发明实施例的数据传输方法的启动流程,其具体包括
步骤200:传输过程启动,开始传输。
步骤201:缓冲区监视器接收并解析SDP (Session Description Protocol,会话描述协议)数据从而得到流媒体初始传输时的码流波特率 并根据该码流波特率设置初始的缓冲区大小。
歩骤202:缓冲区从远端的服务器上的数据源不断获取数据并存入其 中,在此期间,缓冲区监视器实时监视缓冲区的数据累积状态;当存入缓 冲区的流媒体的数据到达缓冲区的播放下限时,进行步骤203。
步骤203:开始启动解码器,进入正常的播放状态。
在进入正常播放状态时,本发明的数据传输方法可以根据实际传输码 率的变化改变解码器的解码速率。此过程参看图3和4所示,图3示出了 当服务器发送码率小于正常解码速率或缓冲区下溢时对解码器进行控制的 流程图。所谓下溢,即指当解码器已经准备好对某帧数据进行解码,而缓 冲区的该帧数据没有接收完全并送入解码器时,缓冲区发生下溢。所述流 程详细步骤如下
步骤300:缓冲区监视器检测服务器的发送码率是否小于解码器的正
常解码速率或者缓冲区是否到达下溢,当发现发送码率小于解码正常速率
或缓冲区下溢时,进入步骤301,否则保持正常的播放状态。
步骤301:缓冲区监视器通知解码器适当地降低解码速率以便与当前
的发送码率相匹配。
步骤302:缓冲区监视器检测缓冲区是否无数据,例如当网络断开没
有数据传输时,没有新数据进入缓冲区,这时在播放完缓冲区中的数据后,
缓冲区处于无数据的状态,此时则暂停解码器解码并通知接收数据异常;—如果缓冲区中有数据,则继续正常的播放状态。
如图4所示,当网络恢复正常时,流媒体数据重新开始传输,缓冲区 的数据开始累积,在缓冲区数据没有达到播放下限时,仍然保持图3时的 暂停解码器解码操作,当缓冲区数据增加至到达播放下限时,解码器恢复
正常解码,开始正常播放。
在进入正常播放状态时,本发明数据传输方法根据缓冲区状态对服务
器进行控制的过程参看图5和6。缓冲区发生上溢时对服务器的控制如图5
所示,上溢,即服务器发送码率大于解码器的解码速率,缓冲区的数据累 积到充满缓冲区的状态,这时解码器尚未解码完某帧数据,而服务器的新 一帧数据又已发送到缓冲区致使缓冲区的数据溢出,因此首先检测缓冲区
是否已达到上溢,如是则向服务器发送暂停RTSP (RealTime Streaming Protocol,实时流协议)命令,暂停服务器发送数据,解码器继续解码缓 冲区的数据直到缓冲区中的数据减至缓冲区播放下限,这时向服务器发送 播放RTSP命令,服务器重新开始发送数据。
下溢时对服务器的控制如图6,首先检査缓冲区是否发生下溢,如果 是,向服务器发送播放RTSP命令,同时对预设的speed参数指定一个大 于1的速度,这时服务器以大于正常速率的速度发送数据。当到达缓冲区 播放下限,向服务器发送播放RTSP命令,speed参数指定服务器以正常速 率发送数据。
本发明的流媒体数据传输方法及其数据传输装置,通过增加缓冲区监 视器,根据网络流量的实际情况动态地调节缓冲区大小,从而高效地利用 系统资源;同时使流媒体播放更流畅,流媒体的用户体验更好;并且可将 缓冲区的状态通知给服务器使服务器可以了解网络和客户端的状态并根据 实际情况调整流媒体数据的发送码率。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说 明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术 领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若 干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1、一种流媒体数据传输方法,由缓冲区从协议栈读取服务器传输来的流媒体数据,其特征在于在流媒体传输过程中,缓冲区监视器实时检测流媒体数据传输的码流波特率,根据检测到的码流波特率动态调整缓冲区大小。
2、 如权利要求1所述的流媒体数据传输方法,其特征在于所述流媒 体传输启动时包含如下处理步骤检测流媒体数据初始传输的码流波特率; 根据检测到的码流波特率设置初始缓冲区大小; 缓冲区从服务器接收流媒体数据并存入其中;当缓冲区存入的数据达到缓冲区播放下限,启动解码器进入正常播放 状态。
3、 如权利要求2所述的流媒体数据传输方法,其特征在于进入正常 播放状态后,还包括根据传输码率变化改变解码速率的处理过程当缓冲区监视器检测到服务器发送码率小于解码器正常解码速率或缓 冲区下溢时,通知解码器降低解码速率至与当前服务器发送码率相匹配。
4、 如权利要求3所述的流媒体数据传输方法,其特征在于,所述根据 传输码率变化改变解码速率的处理过程还包括如下步骤缓冲区监视器检测到缓冲区无数据,暂停解码器解码并通知接收数据 异常;缓冲区监视器检测到缓冲区数据重新累积到播放下限,恢复解码器正 常解码。
5、 如权利要求2所述的流媒体数据传输方法,其特征在于进入正常 播放状态后,还包括缓冲区上溢时对服务器的控制过程缓冲区监视器检测到缓冲区上溢,通知服务器暂停发送数据; 当缓冲区监视器检测到缓冲区数据到达播放下限,通知服务器重新发送数据。
6、 如权利要求2所述的流媒体数据传输方法,其特征在于进入正常 播放状态后,还包括缓冲区下溢时对服务器的控制过程缓冲区监视器检测到缓冲区下溢,通知服务器以大于正常速率的速率发送数据;缓冲区监视器检测到缓冲区数据到达播放下限,通知服务器以正常速 率发送数据。
7、 一种流媒体数据传输装置,包括协议栈、缓冲区和解码器,缓冲区 从协议栈读取服务器传输来的流媒体数据,解码器对缓冲区的数据进行解 码,其特征在于还包括缓冲区监视器,所述缓冲区监视器实时监视网络 流量,并动态调整所述缓冲区大小。
8、 如权利要求7所述的流媒体数据传输装置,其特征在于在流媒体 传输过程中,所述缓冲区监视器实时检测流媒体数据传输的码流波特率和 解码器解码速率,根据该码流波特率通知解码器改变解码速率。
9、 如权利要求7或8所述的流媒体数据传输装置,其特征在于所述 缓冲区设置有下限值,数据传输过程中,所述缓冲区监视器检测到缓冲区 发生下溢时,通知服务器以大于正常速率的速度发送数据。
10、 如权利要求7或8所述的流媒体数据传输装置,其特征在于所 述缓冲区设置有上限值,数据传输过程中,所述缓冲区监视器检测到所述 缓冲区发生上溢时,通知服务器暂停发送数据;当缓冲区数据到达缓冲区播放下限值时,通知服务器恢复正常速率发送数据。
全文摘要
本发明公开了一种流媒体数据传输方法及其数据传输装置,该方法在流媒体传输过程中,缓冲区监视器实时检测流媒体数据传输的码流波特率,根据检测到的码流波特率动态调整缓冲区大小。该装置包括协议栈、缓冲区和解码器,缓冲区从协议栈读取服务器传输来的流媒体数据,解码器对缓冲区的数据进行解码,还包括缓冲区监视器,所述缓冲区监视器实时监视网络流量,并动态调整所述缓冲区大小。本发明的流媒体数据传输方法及其数据传输装置,可以根据实际传输媒体数据的码率,来改变缓冲区的大小,减少系统资源的浪费。
文档编号H04L12/24GK101296158SQ200710074229
公开日2008年10月29日 申请日期2007年4月26日 优先权日2007年4月26日
发明者刘正华, 朱耀光 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1