CN101262443B - 一种手机流媒体自适应实时传输方法 - Google Patents
一种手机流媒体自适应实时传输方法 Download PDFInfo
- Publication number
- CN101262443B CN101262443B CN2008100975415A CN200810097541A CN101262443B CN 101262443 B CN101262443 B CN 101262443B CN 2008100975415 A CN2008100975415 A CN 2008100975415A CN 200810097541 A CN200810097541 A CN 200810097541A CN 101262443 B CN101262443 B CN 101262443B
- Authority
- CN
- China
- Prior art keywords
- client
- bandwidth
- layer
- module
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种手机网络信号传输方法,利用自动带宽模块检测当前可用的带宽,并将结果传给自适应控制算法模块,由其计算出应传送的原始数据分层编码后的层码流,所述分层编码是采用H2.64/AVC,由实时传输模块将要传送的层码流组装成报文发送到客户端。本方法中的自适应控制算法能预测客户端所需某一层的数据量,并且合理安排连续发送数据的时机,保证在播放前有足够的缓冲,避免当带宽不足带来的影响。此方法解决了当前网络状态不稳定或是持续低下的时候,通过当前带宽情况,预先算出需要传送的数据,保证客户的观看需求,将网络带宽影响降到最低,最大限度利用带宽,为用户提供最佳的流媒体质量。
Description
技术领域
本发明涉及一种手机网络信号传输方法,尤其涉及一种服务器数据分层编码的数据传输方式。
背景技术
随着Internet的飞速发展,流媒体技术的应用也越来越普及。手机流媒体是继短信之后,手机平台内容开发的又一次进步。从技术上讲,手机流媒体是一种实时传输数据的方法,通过移动网络在移动手机终端上采用流媒体技术实现的应用,典型的应用实例包括移动游戏、移动视频点播、移动视频聊天、移动卡拉OK等。手机流媒体主要提供信息、娱乐、通信、监控和定位五大项服务内容。也可以高速率在线观看电视、电影、新闻以及各种娱乐、体育节目,还可以进行VOD/AOD视频点播,从而使用户与手机媒体进行互动。
目前移动网络提供的GPRS接入速率大约在30~50Kbps之间,EDGE接入速率约为60Kbps,而在未来的3G网络甚至4G网络中,网络速率将大大提高,达到几百Kbps。不同的网络条件对流媒体传输的要求不同,同样的网络条件下,也会因为存在多个访问网络的应用程序而使得流媒体所能使用的带宽不同,且因为天气、地理的原因使得网络的传输信号时强时弱,造成实时收看节目时断时续,或是画面质量下降,不能满足收看要求。
发明内容
为了克服上述问题,本发明的目的是提供一种能根据网络带宽情况自动调节优化传输用户观看的视频数据的方法。
该方法包括如下步骤;
a.服务器与客户端自动带宽检测模块分别统计各自一段时间内发出或接收到的测试信号,客户端自动带宽检测模块通过客户端实时传输模块将测试信号传给服务器自动带宽检测模块;
b.服务器自动带宽检测模块根据服务器和客户端的数据统计出当前带宽情况并传给服务器自适应算法模块;
c.服务器自适应控制算法模块根据服务器自动带宽检测模块的结果和客户端缓冲区内可播放数据的层码流的状况,进行如下计算;
分析客户端每层正常播放所需预读的帧数;
判断客户端当前缓冲区中待播放数据实际情况,假如带宽和预播放数据足够,则传送新数据层,假如带宽和预播放数据低于要求则传送需要的层;
判断同一时间需要传送层数的优先顺序
按照以上判断结果用H2.64/AVC对视频流进行分层编码。
d.服务器实时传输模块根据自适应控制算法模块结果将分层编码中相应的层组装成报文发送给客户端。
所述分层编码是采用H2.64/AVC中SVC的FGS将视频流压缩成N+1个子流,子流中包括一个基本层和N个附加层;
所述基本层是使用传统的混合编码技术,经过整数变化和量化及熵编码得到。
服务器与客户端的数据是通过各自实时传输模块进行传送和接收;
所述服务器的实时传输模块传送的内容包括:将接收到的客户端带宽检测结果传给服务器自动带宽检测模块,根据自适应控制算法模块结果封装和传输分层编码到客户端实时传输模块;
接收包括:客户端带宽检测结果、播放控制命令;
客户端实时传输模块发送的内容包括:播放控制命令、自动带宽检测结果、连接或中断服务器的命令;
接收的内容包括:将服务器传送的层码流保存到缓冲区。
所述客户端的自动带宽检测模块,首先统计最近一段时间实时传输模块所接收到的各层分层编码报文数量,然后采用指数加权的方法来预测当前可用带宽。
本方法通过将当前用户观看的视频流分成N+1个子层,其中一个基本层和N个附加层,当带宽足够时,先将基本层和附加层都传输到客户端,实现流畅播放。当带宽不够且缓冲内数据不满足播放时,传输基本层到客户端,以保证观看的基本要求,本方法能够在当前网络状态不稳定或是持续低下的时候,通过当前带宽情况,预先算出需要传送的数据,保证客户的观看需求,将网络带宽影响降到最低,以达到对网络的最佳利用,为用户提供最佳的流媒体质量。因为客户端需要缓冲一定数量的数据,以防止网络带宽下降造成播放中断,所以自适应控制算法的关键在于选择发送哪一层的数据,什么时候开始、什么时候结束发送某一层的数据。算法预测客户端所需某一层的数据量,并且合理安排连续发送数据的时机,保证在播放前有足够的缓冲,避免当带宽不足带来的影响。
附图说明
图1自适应实时传输方法
具体实施例
下面结合附图对本方法的具体过程说明如下。
如图1所示,服务器自动带宽检测模块利用一段时间内发出到客户端的数据量,测试出服务器当前可用带宽,客户端的自动带宽检测模块统计最近一段时间所接收到的各层分层编码报文数量,采用指数加权的方法来预测当前可用带宽。具体算法如下:
客户端所接收的数据为层,客户端维护一个定时器,用于定时触发带宽检测,在定时器两次触发之间定义为一个接收窗口,客户端统计在第i个接收窗口内各层数据的实际接收数量Bi j,并通过加权预测下一时刻的可用带宽C: 其中γ为加权参数。
然后通过双方实时传输模块将测试结果传给服务器自动带宽检测模块,服务器自动带宽检测模块根据双方的测试结果计算出客户端可用带宽的大小及接收能力,服务器自动带宽检测模块将此结果传给自适应控制算法模块。
自适应控制算法是整个传输过程核心,它的作用是根据带宽的变化,实时调整服务器传送数据的方式,自适应控制算法包括三个子算法,分别是计算各层缓冲需求,判断是否可发送新的一层,以及调度下一次发送数据。具体说明如下:
Bi j:第j层在第i个时间块内所占的缓冲区大小
C:预测带宽
算法根据客户端对第j层数据的“缓冲需求”,并且根据可用带宽来调整代表了第j层在当前的带宽情况下为了保证连续播放所需要预读的帧数。如果缓冲太小的话,即使带宽有很小的下降,也会导致这一层的中断。如果缓冲太大的话,则浪费了本来可用于缓冲其它层报文的带宽,算法可估计每一层最小缓冲需求。Bi j则代表了客户端当前实际所存储的第j层数据量,通过归一化处理,每层正常播放所需的数据量为1,该信息通过自动带宽检测模块从客户端获取。
第j层能够连续播放的条件是平均可用带宽高于j,而且第j层缓冲的报文足够填补带宽不足带来的影响。通过统计可用带宽可以估计缓冲需求,通过观测可用带宽的变化,可以得到关键层,也就是可以传送的最高层(该层的带宽需求可能不能完全被满足),首先能够做到保证所有层的连续播放;再者直到第层的缓冲数据可以保证连续播放一定的时间,才开始第层的播放;最后尽可能保持第层的连续播放。
利用算法AdjustBuffer(i)来调整第i个时间块内各层的缓冲需求,如果缓冲区在τ时间内都是满的,表明带宽足够传输第层,可以减小低层的缓冲需求,降低所有层的需求到原来的β倍,如果缓冲区有限,为能更有效地使用缓冲区,降低所有层的需求到原来的β倍,可以预读较少的低层数据。在调整以后,如果第j层缓冲的数据曾经在上次修改缓冲需求的时间Xj后的某一时间满足了缓冲需求,但是随后又降低到之下,那么就将缓冲需求提高到,这样可以防止由于带宽抖动带来的缓冲耗尽。具体算法如下:
算法AddLayer(i)用于在第i个时间块内判断何时可以增加新的一层作为关键层。只有当第层以下所有层(包括第层)都有足够的缓冲数据来满足缓冲需求,并且有足够的带宽C来支持新的一层时,才能增加新的一层,并且第层的缓冲需求至少不低于第层。在客户端,第层被安排在当前时间块以后的第个时间块播放,以确定在播放之前能够有足够的数据达到客户端。具体算法如下:
算法Schedule用于分配下一时刻发送哪一层数据。如果第j′层之下的所有层已经缓冲的数据都大于其缓冲需求,而第j′层已经缓冲的数据小于其缓冲需求,那么就发送第j′层的数据,因为低层的数据比高层数据更重要。当所有层的数据都大于其缓冲需求,就找到其中超过缓冲需求最少的一层,发送该层的数据。具体算法如下:
分层编码根据自适应控制算法模块的结果对原始视频流进行分层,分层编码使用H.264/AVC及SVC中的精细可分级性编码FGS,将用户观看的视频进行分层编码,把原始视频流压缩成n+1个子流,子流包括一个基本层和n个附加层。其中基本层能单独进行解码并提供较粗糙的视频质量,第k个附加层依赖于基本层和1~k-1个附加层,合成后能够提供较高的视频质量。具体过程是使用传统的混合编码技术,经过整数变化和量化及熵编码得到基本层;在基本层和原始数据图象之间存在差值,采用更小的量化参数,经过整数变化和量化,再进行熵编码,量化后得到第1个附加层。第1个附加层+基本层与原始数据图象之间仍存在差值,可以看做是基本层与第1个附加层叠加所成的基本层与原始数据图像之间的差值,再重复上述分层方法,可以得到的第2个附加层,依次类推,可以得到第n个附加层。
服务器与客户端的数据传输以及各自的内部数据传输都是依靠各自的实时传输模块完成的,实时传输模块根据自适应控制算法模块算出的结果,将分层编码中相应层传送到客户端,其具体操作如下;
服务器实时传输模块将需要传送的层码流,将数据组装成报文发送给客户端。实时传输模块为传送的报文分配ID号,包括HIGH_ID及LOW_ID,用以判断报文顺序和同步不同层的报文。HIGH_ID表示报文所携带数据所对应原始视频的层数,上层的HIGH_ID为下层的HIGH_ID加1。LOW_ID表示报文所携带数据在所在层中的相对位置。HIGH_ID为1个字节,最大支持256层;LOW_ID为3个字节,当LOW_ID达到最大值时归0,重新开始计数。
服务器实时传输模块接收内容包括:客户端发起、中断等连接命令,暂停、快进、快退、定位等播放命令,以及客户端自动带宽检测的结果。发送内容包括向客户端发送数据报文、检测信号;并将双方自动带宽检测结果经过计算后发给服务器自动带宽检测模块。
客户端实时传输模块发送内容主要包括:发起、中断与服务器的连接命令;客户端自动带宽检测结果。接收内容包括:服务器传送的层码流并保存在接收缓冲区中等待解码;与服务器交互暂停、快进、快退、定位等播放信息;
客户端为每层数据分配一个缓冲区,第j层缓冲区容量为缓冲区采用环形结构,最早到达的报文将被最新的报文覆盖,缓冲区维护两个指针,读指针用于解码器读取数据,写指针用于实时传输模块保存数据。
解码器对缓冲区中的层码流进行解码,并将解码后所得到的原始码流发送到播放器的缓冲区中。解码器支持软件解压和硬件解压,以达到最优的性价比。
播放模块有自己的缓冲区,保存解码器输出的原始码流,并按照原始码流的时间戳进行播放。
Claims (4)
1.一种手机流媒体自适应实时传输方法,其特征在于该方法包括如下步骤:
a.服务器与客户端自动带宽检测模块分别统计各自一段时间内发出或接收到的测试信号,客户端自动带宽检测模块通过客户端实时传输模块将测试信号传给服务器自动带宽检测模块;
b.服务器自动带宽检测模块根据服务器和客户端的数据统计出当前带宽情况并传给服务器自适应控制算法模块;
c.服务器自适应控制算法模块根据服务器自动带宽检测模块的结果和客户端缓冲区内可播放数据的层码流的状况,进行如下计算:
分析客户端每层正常播放所需预读的帧数;
判断客户端当前缓冲区中待播放数据实际情况,假如带宽和预播放数据足够,则传送新数据层,假如带宽和预播放数据低于要求则传送需要的层;
判断同一时间需要传送的层的优先顺序;
将计算结果传送到分层编码模块;
d.分层编码模块根据自适应控制算法模块的结果对原始视频流用H2.64/AVC进行分层编码;
e.服务器实时传输模块根据自适应控制算法模块结果将分层编码中相应的层组装成报文发送给客户端。
2.如权利要求1所述的手机流媒体自适应实时传输方法,其特征在于所述分层编码是采用H2.64/AVC中SVC的FGS将视频流压缩成N+1个子流,子流中包括一个基本层和N个附加层;
所述基本层是使用传统的混合编码技术,经过整数变化和量化及熵编码得到。
3.如权利要求1所述的手机流媒体自适应实时传输方法,其特征在于服务器与客户端的数据是通过各自实时传输模块进行传送和接收;
所述服务器的实时传输模块传送内容包括:将接收到的客户端带宽检测结果传给服务器自动带宽检测模块,根据自适应控制算法模块结果封装和传输分层编码到客户端实时传输模块;
接收内容包括:客户端带宽检测结果、播放控制命令;
客户端实时传输模块发送内容包括:播放控制命令、自动带宽检测结果、连接或中断服务器的命令;
接收内容包括:将服务器传送的层码流保存到缓冲区。
4.如权利要求1所述的手机流媒体自适应实时传输方法,其特征在于所述客户端的自动带宽检测模块,首先统计最近一段时间实时传输模块所接收到的各层分层编码报文数量,然后采用指数加权的方法来预测当前可用带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100975415A CN101262443B (zh) | 2008-05-12 | 2008-05-12 | 一种手机流媒体自适应实时传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100975415A CN101262443B (zh) | 2008-05-12 | 2008-05-12 | 一种手机流媒体自适应实时传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101262443A CN101262443A (zh) | 2008-09-10 |
CN101262443B true CN101262443B (zh) | 2010-12-15 |
Family
ID=39962653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100975415A Expired - Fee Related CN101262443B (zh) | 2008-05-12 | 2008-05-12 | 一种手机流媒体自适应实时传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101262443B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508642A (zh) * | 2011-11-10 | 2012-06-20 | 华为技术有限公司 | 一种数据预取方法及装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795401A (zh) * | 2010-03-19 | 2010-08-04 | 中兴通讯股份有限公司 | 传输视频流媒体的方法及系统 |
CN102510427B (zh) * | 2011-12-01 | 2013-12-18 | 大连三通科技发展有限公司 | 一种低网络带宽手机实时在线传输的方法 |
CN102761776B (zh) * | 2012-08-01 | 2015-01-14 | 重庆大学 | 基于SVC的P2PVoD系统视音频同步方法 |
CN102868878B (zh) * | 2012-09-04 | 2015-02-25 | 南京熊猫汉达科技有限公司 | 视频数据分层传输方法 |
CN102932676B (zh) * | 2012-11-14 | 2015-04-22 | 武汉烽火众智数字技术有限责任公司 | 基于音视频同步的自适应带宽传输和播放方法 |
CN103108160B (zh) * | 2013-01-24 | 2016-08-03 | 中国联合网络通信集团有限公司 | 监控视频数据获取方法、服务器和终端 |
HUE043713T2 (hu) * | 2013-03-29 | 2019-09-30 | Intel Ip Corp | Minõségtudatos sebességillesztési technikák DASH streameléshez |
CN103402122A (zh) * | 2013-06-24 | 2013-11-20 | 中国联合网络通信集团有限公司 | 移动流媒体服务控制方法及其装置 |
CN103338410B (zh) * | 2013-07-19 | 2016-05-11 | 西安电子科技大学 | 多路径并行传输下基于svc的实时流媒体重组算法 |
CN103702139B (zh) * | 2013-12-13 | 2017-02-01 | 华中科技大学 | 一种移动环境下基于可扩展编码的视频点播系统 |
CN106210777B (zh) * | 2015-05-08 | 2019-04-23 | 北京大学 | 视频质量控制方法 |
CN105516287B (zh) * | 2015-12-01 | 2018-10-30 | 中国联合网络通信集团有限公司 | 自适应网络资源调整方法及系统 |
CN105847895A (zh) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | 视频文件的分发方法及系统 |
CN111246262A (zh) * | 2020-01-09 | 2020-06-05 | 西安万像电子科技有限公司 | 编码调度控制方法及调度控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1689334A (zh) * | 2002-10-04 | 2005-10-26 | 皇家飞利浦电子股份有限公司 | 使用多描述分层编码提高传输效率的方法和系统 |
CN1835482A (zh) * | 2005-12-29 | 2006-09-20 | 上海贝豪通讯电子有限公司 | 一种无线流媒体服务解决的方法 |
CN1992936A (zh) * | 2005-12-28 | 2007-07-04 | 中兴通讯股份有限公司 | 具有流媒体带宽适配功能的移动终端设备 |
-
2008
- 2008-05-12 CN CN2008100975415A patent/CN101262443B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1689334A (zh) * | 2002-10-04 | 2005-10-26 | 皇家飞利浦电子股份有限公司 | 使用多描述分层编码提高传输效率的方法和系统 |
CN1992936A (zh) * | 2005-12-28 | 2007-07-04 | 中兴通讯股份有限公司 | 具有流媒体带宽适配功能的移动终端设备 |
CN1835482A (zh) * | 2005-12-29 | 2006-09-20 | 上海贝豪通讯电子有限公司 | 一种无线流媒体服务解决的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508642A (zh) * | 2011-11-10 | 2012-06-20 | 华为技术有限公司 | 一种数据预取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101262443A (zh) | 2008-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101262443B (zh) | 一种手机流媒体自适应实时传输方法 | |
Qian et al. | Flare: Practical viewport-adaptive 360-degree video streaming for mobile devices | |
CN103155580B (zh) | 不同质量级别的自适应视频流 | |
CN102334341B (zh) | 用于控制媒体流的编码的系统及方法 | |
CN104205769B (zh) | 利用播放速率选择的改善的dash客户端和接收机 | |
CN100581158C (zh) | 数据流式传输系统和方法 | |
CN100463520C (zh) | 用于考虑终端能力来提供多媒体服务的方法和装置 | |
CN100420250C (zh) | 通信设备操作方法、数据呈现方法和设备 | |
EP2752002B1 (en) | Systems and methods for controlling the encoding of a segmented media stream using segment transmit times | |
CN103004190B (zh) | 视频流传送 | |
CN102065302B (zh) | 一种基于h.264的可伸缩视频编码方法 | |
CN104205771A (zh) | 对源和接收机之间在多个tcp连接上的http流进行控制 | |
CN103179107A (zh) | 多径环境自适应流传输系统及方法 | |
EP4109899A1 (en) | System and method for rendering and pre-encoded load estimation based encoder hinting | |
Zahran et al. | OSCAR: An optimized stall-cautious adaptive bitrate streaming algorithm for mobile networks | |
CN114040257B (zh) | 一种自适应视频流传输播放方法、装置、设备及存储介质 | |
CN102369732B (zh) | 视频流传输 | |
CN110099250A (zh) | 一种监控视频质量判断方法及播放控制装置 | |
US20070110168A1 (en) | Method for generating high quality, low delay video streaming | |
CN101873494A (zh) | 基于切片级别的视频传输中动态交织的方法 | |
CN107786873A (zh) | 基于转码队列的自动视频转码封包格式的录播方法及系统 | |
KR100896688B1 (ko) | 단말의 성능을 고려한 멀티미디어 서비스 제공방법 및 그에사용되는 단말기 | |
CN112751865B (zh) | 一种数据上行优化方法以及装置 | |
AT&T | NimbusSanL-Regu | |
CN101388851A (zh) | 一种流式播放技巧模式延时的改善方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101215 Termination date: 20120512 |