CN101330352A - 一种流媒体传输自适应码率控制方法 - Google Patents

一种流媒体传输自适应码率控制方法 Download PDF

Info

Publication number
CN101330352A
CN101330352A CNA2008100476756A CN200810047675A CN101330352A CN 101330352 A CN101330352 A CN 101330352A CN A2008100476756 A CNA2008100476756 A CN A2008100476756A CN 200810047675 A CN200810047675 A CN 200810047675A CN 101330352 A CN101330352 A CN 101330352A
Authority
CN
China
Prior art keywords
address
code check
data
code rate
media transmission
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.)
Granted
Application number
CNA2008100476756A
Other languages
English (en)
Other versions
CN101330352B (zh
Inventor
王玉明
左冬红
李军亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN2008100476756A priority Critical patent/CN101330352B/zh
Publication of CN101330352A publication Critical patent/CN101330352A/zh
Application granted granted Critical
Publication of CN101330352B publication Critical patent/CN101330352B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种流媒体传输自适应码率控制方法,服务端设置有用于暂存待发送数据的数据缓冲区,记录数据缓冲区的当前数据写入地址W和当前数据读出地址R,根据两地址差值RW调整码率。本发明通过读写地址差RW来判断网络状况的好坏,以此来调整码率,该方案不需要客户端和周边路由器的支持,简单易行,能及时根据网络状况来调整码率。

Description

一种流媒体传输自适应码率控制方法
技术领域
本发明涉及多媒体传输技术领域,具体涉及一种基于TCP连接的流媒体传输码率自动调整方法。
背景技术
随着Internet的不断发展,基于Internet的多媒体传输的应用越来越广泛。由于实时多媒体业务,如语音、视频等传输对带宽有着很高的要求,在网络带宽时刻动态变化的情况下,这就需要一种自适应码率控制的方法来为用户提供可靠、流畅和实时的端对端的服务质量保证。
在有限的网络带宽动态变化时,要保证客户端流媒体播放的流畅性,一般都是采取检测网络带宽的状态,以此动态地自适应调整服务端的流媒体编码发送码率的方法。目前,有很多方法可用来检测网络带宽状况的好坏。例如,服务端通过RTP(Real-time Transport Protocol,实时传输协议)分组向客户端发送数据,客户端通过RTCP(Real-time Control Protocol,实时传输控制协议)接收器报告分组向服务端反馈网络状态信息,然后服务端从RTCP接收器报告分组中检测丢包率,以此来调整数据的发送码率。该方法需要RTP协议的支持和客户端的配合。另外,也可以衡定的时间间隔由服务端发送探测包,统计探测包到达客户端的时延抖动或丢包情况,从而估计网络状况。该方法也需要客户端的支持,并会直接减少可用的网络带宽。除此之外,我们也可以在服务端运行网络测速软件(如TCP/IP和UDP/IP的性能测量工具iperf)来准确测量带宽。该方法比较准确,不过将占用一定的***资源,不适合于嵌入式***的应用。
发明内容
本发明的目的在于提出一种流媒体传输自适应码率控制方法,该方法只与服务端相关,占用资源少,简单易于实现。
本发明提供的一种流媒体传输自适应码率控制方法,具体为:服务端设置用于写入待发送数据的数据缓冲区,在向客户端发送数据时从数据缓冲区读取数据,记录数据缓冲区的当前数据写入地址W和当前数据读出地址R,根据两地址间差值RW调整码率。
作为本发明的进一步改进,所述码率调整方法具体如下:
(1)令所述地址差值RW=当前数据读出地址R-当前数据写入地址W,若其满足0<RW<S*P或RW<S*(P-1),或者令所述地址差值RW=当前数据写入地址W-当前数据读出地址R,若其满足-S*P<RW<0或RW>S*(1-P),P为码率比例常数,S为数据缓冲区可存储数据个数,则降低码率,否则,进入步骤(2);
(2)所述地址差值RW等于零,则提高码率,否则保持码率不变。
作为本发明的另一改进,所述步骤(2)在得知地址差值RW等于零后,进一步判断当前统计的地址差值RW连续等于零的次数是否等于读写同址次数阈值,若相等,则提高码率,否则保持码率不变。
本发明利用读写地址差处在不同的范围以掌握不同的网络状况。当网络状况好时,数据读出地址紧跟在数据写入地址的后面,它们的地址差保持在一定的范围内;当网络状况变差时,数据读出地址将不断落后于写数据写入地址,这样地址差值将处在另一个范围里。通过比较读写地址差,确定其处在哪个范围内来判断网络状况的好坏,以此来判断是提高码率还是降低码率。从中可以看出,本发明只与服务端相关,占用资源少,简单易于实现。
附图说明
图1为本发明自适应码率控制方法的发送窗口示意图。
图2为本发明自适应码率控制方法的服务端处理数据流程图。
图3为本发明自适应码率控制方法的码率自适应调整详细流程图。
具体实施方式
下面结合附图对实施例进行详细说明。
图1显示了本发明一个实施例的窗口式自适应码率控制方法的发送窗口示意图。如图1所示,在发送窗口中有S个相同大小的用于暂存待发送数据的缓冲区单元,即该发送窗口可暂存S个数据。从数学角度上看,发送窗口就是一个二维数组A[I][J],其大小S等于行维数I。一方面,数据采集端将编码后的数据写入发送窗口,W就表示当前的写入指针;另一方面,服务端从发送窗口读取待发送的数据,R就表示当前的读取指针。W和R将在发送窗口上循环移动。令读写指针的位置差RW=R-W,RW会随着网络状况的变化而变化。
图2显示了本发明的一个实施例的窗口式自适应码率控制方法的服务端处理数据流程图,具体为:
步骤201,服务端从信号输入端采集媒体数据;
步骤202,以当前编码码率B对数据进行编码,该码率B是动态变化的。在数据发送进程里,将根据网络带宽状况动态调整其值,具体的调整方法在后面有详细说明;
步骤203,将编码后的数据写入发送窗口,相应地,写指针W循环后移,转入步骤201。
图3显示了本发明一实施例的码率自适应调整详细流程图,具体为:
步骤301,发送进程启动,准备开始向网路发送数据;
步骤302,从发送窗口中读取一维数据A[R],读指针R往后循环移一位;
步骤303,在发送数据前,计算读写指针的位置差RW;
步骤304,判断读写指针的位置差RW处在哪个范围,当其满足不等式1或不等式2,则说明网络状况不好,需要降低发送码率,转到步骤305;若不满足,则跳到步骤306。如下为不等式1和不等式2,发送窗口的比例常数P可根据具体的网络状况选取不同的值,一般1/10≤P≤9/10。
不等式1:0<RW<S*P    不等式2:RW<S*(P-1)
步骤305,将地址差值RW连续等于零的次数N置零,并令当前编码码率B=B-B-,即将发送码率降低一级,B-为数据编码码率减量,5Kbps≤B-≤30Kbps。如B-=10Kbps,每次降低10Kbps;
步骤306,当读写指针的位置差RW不在不等式1和不等式2范围内时,则说明网络状况变好了。但此时不急于提高发送码率。因为网络状况偶尔变好一点是很正常,若此时马上提高发送码率,将会造成发送码率的不稳定,这样不利于客户端的解码,容易造成图像花屏。为了保持发送码率的稳定性,故选择RW等于零作为网络状况确实变好的标志。若RW等于零时,说明网络状况确实变好了,则跳到步骤307;若RW不等于零,说明网络状况偶尔变好或则变好但不足以马上提高码率,故而跳到步骤310;
步骤307,当RW等于零时,网络状况确实变好了,但可能稳定性差,这样还不足以马上提高发送码率。故判断当前根据历史情况统计的地址差值RW连续等于零的次数N是否等于预定读写同址次数阈值N0,0≤N0≤9。若N等于N0,则说明至此发送码率已经有N0+1次没有降低的现象或说网络状况有N0+1次没有变差的现象,这样就可以提高发送码率了,故转到步骤308;若N不等于N0,进入步骤309。
步骤308,将发送码率提高一级,B=B+B+,B+为数据编码码率增量,5Kbps≤B+≤20Kbps。如B+=5Kbps,每次提高5Kbps,同时将次数N置零,为之后的循环做准备,进入步骤310;
步骤309,当次数N不等于次数阈值N0,说明网络状况变好但没有稳定下来,故而需要等一段时间,以此来检测它的稳定性。这里将次数N加1,用次数N来计算网络状况的变好的次数或至此没有发送码率降低现象的次数,以此来大致判断网络状况是否稳定了。完后,进入步骤310;
步骤310,将从发送窗口中读取出来的数据A[R]发送出去,完后又跳到步骤302重复以上步骤,直到发送进程终止。

Claims (6)

1、一种流媒体传输自适应码率控制方法,具体为:服务端设置用于写入待发送数据的数据缓冲区,在向客户端发送数据时从数据缓冲区读取数据,记录数据缓冲区的当前数据写入地址W和当前数据读出地址R,根据两地址间差值RW调整码率。
2、根据权利要求1所述的一种流媒体传输自适应码率控制方法,其特征在于,按照以下方法调整码率:
(1)令所述地址差值RW=当前数据读出地址R-当前数据写入地址W,若其满足0<RW<S*P或RW<S*(P-1),P为码率比例常数,S为数据缓冲区可存储数据个数,则降低码率,否则,进入步骤(2);
(2)若所述地址差值RW等于零,则提高码率,否则保持码率不变。
3、根据权利要求1所述的一种流媒体传输自适应码率控制方法,其特征在于,按照以下方法调整码率:
(1)令所述地址差值RW=当前数据写入地址W-当前数据读出地址R,若其满足-S*P<RW<0或RW>S*(1-P),P为码率比例常数,S为数据缓冲区可存储数据个数,则降低码率,否则,进入步骤(2);
(2)所述地址差值RW等于零,则提高码率,否则保持码率不变。
4、根据权利要求2或3所述的一种流媒体传输自适应码率控制方法,其特征在于,所述码率比例常数P满足1/10≤P≤9/10。
5、根据权利要求2或3所述的一种流媒体传输自适应码率控制方法,其特征在于,所述步骤(2)在得知地址差值RW等于零后,进一步判断当前统计的地址差值RW连续等于零的次数是否等于读写同址次数阈值,若相等,则提高码率,否则保持码率不变。
6、根据权利要求5所述的一种流媒体传输自适应码率控制方法,其特征在于,所述读写同址次数阈值为0~9间任意一个值。
CN2008100476756A 2008-05-06 2008-05-06 一种流媒体传输自适应码率控制方法 Expired - Fee Related CN101330352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100476756A CN101330352B (zh) 2008-05-06 2008-05-06 一种流媒体传输自适应码率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100476756A CN101330352B (zh) 2008-05-06 2008-05-06 一种流媒体传输自适应码率控制方法

Publications (2)

Publication Number Publication Date
CN101330352A true CN101330352A (zh) 2008-12-24
CN101330352B CN101330352B (zh) 2012-03-28

Family

ID=40205972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100476756A Expired - Fee Related CN101330352B (zh) 2008-05-06 2008-05-06 一种流媒体传输自适应码率控制方法

Country Status (1)

Country Link
CN (1) CN101330352B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505202B (zh) * 2009-03-16 2011-09-14 华中科技大学 一种流媒体传输自适应纠错方法
CN103731415A (zh) * 2013-12-09 2014-04-16 乐视网信息技术(北京)股份有限公司 一种高码流数据传输方法及装置
CN105227957A (zh) * 2015-10-30 2016-01-06 深圳云聚汇数码有限公司 移动网络环境中视频编码码率控制装置、方法及***
CN105227956A (zh) * 2015-10-30 2016-01-06 深圳云聚汇数码有限公司 移动网络环境中视频编码码率自适应装置及方法
CN105306960A (zh) * 2015-10-18 2016-02-03 北京航空航天大学 一种用于传输高质量在线课程视频的动态自适应流***
CN107659601A (zh) * 2016-07-26 2018-02-02 中国科学院声学研究所 一种基于http自适应流的码率自适应方法
CN107920041A (zh) * 2016-10-08 2018-04-17 北京小唱科技有限公司 一种直播视频数据编码比特率的调整方法和装置
CN108063955A (zh) * 2017-12-15 2018-05-22 重庆邮电大学 基于状态机的动态自适应视频传输的码率切换方法
CN110708578A (zh) * 2019-10-22 2020-01-17 北方工业大学 一种视频码率自适应调整方法
CN110730328A (zh) * 2019-09-11 2020-01-24 浙江浙大中控信息技术有限公司 将多路视频展示到浏览器单页面中的方法
CN112738568A (zh) * 2020-12-29 2021-04-30 深圳创维数字技术有限公司 码率的调整方法、音视频服务器端、接收端及发送端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442796C (zh) * 2004-09-09 2008-12-10 上海川海信息科技有限公司 一种流媒体传输***中的速率控制方法
CN1996935B (zh) * 2006-01-04 2011-02-02 华为技术有限公司 一种流媒体接收端缓冲区内数据包的动态调整方法
CN100428802C (zh) * 2006-12-22 2008-10-22 清华大学 一种自适应多媒体播放的方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505202B (zh) * 2009-03-16 2011-09-14 华中科技大学 一种流媒体传输自适应纠错方法
CN103731415A (zh) * 2013-12-09 2014-04-16 乐视网信息技术(北京)股份有限公司 一种高码流数据传输方法及装置
CN105306960A (zh) * 2015-10-18 2016-02-03 北京航空航天大学 一种用于传输高质量在线课程视频的动态自适应流***
CN105306960B (zh) * 2015-10-18 2018-05-04 北京航空航天大学 一种用于传输高质量在线课程视频的动态自适应流***
CN105227957A (zh) * 2015-10-30 2016-01-06 深圳云聚汇数码有限公司 移动网络环境中视频编码码率控制装置、方法及***
CN105227956A (zh) * 2015-10-30 2016-01-06 深圳云聚汇数码有限公司 移动网络环境中视频编码码率自适应装置及方法
CN107659601A (zh) * 2016-07-26 2018-02-02 中国科学院声学研究所 一种基于http自适应流的码率自适应方法
CN107659601B (zh) * 2016-07-26 2019-12-17 中国科学院声学研究所 一种基于http自适应流的码率自适应方法
CN107920041B (zh) * 2016-10-08 2020-08-25 北京小唱科技有限公司 一种直播视频数据编码比特率的调整方法和装置
CN107920041A (zh) * 2016-10-08 2018-04-17 北京小唱科技有限公司 一种直播视频数据编码比特率的调整方法和装置
CN108063955A (zh) * 2017-12-15 2018-05-22 重庆邮电大学 基于状态机的动态自适应视频传输的码率切换方法
CN108063955B (zh) * 2017-12-15 2020-02-11 重庆邮电大学 基于状态机的动态自适应视频传输的码率切换方法
CN110730328A (zh) * 2019-09-11 2020-01-24 浙江浙大中控信息技术有限公司 将多路视频展示到浏览器单页面中的方法
CN110730328B (zh) * 2019-09-11 2020-11-17 浙江浙大中控信息技术有限公司 将多路视频展示到浏览器单页面中的方法
CN110708578A (zh) * 2019-10-22 2020-01-17 北方工业大学 一种视频码率自适应调整方法
CN112738568A (zh) * 2020-12-29 2021-04-30 深圳创维数字技术有限公司 码率的调整方法、音视频服务器端、接收端及发送端
CN112738568B (zh) * 2020-12-29 2023-03-03 深圳创维数字技术有限公司 码率的调整方法、音视频服务器端、接收端及发送端

Also Published As

Publication number Publication date
CN101330352B (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
CN101330352B (zh) 一种流媒体传输自适应码率控制方法
US11032343B2 (en) Methods and devices for efficient adaptive bitrate streaming
US9112947B2 (en) Flow-rate adaptation for a connection of time-varying capacity
US8255559B2 (en) Data streaming through time-varying transport media
CN105451075B (zh) 视频质量控制方法和装置
CN101505202B (zh) 一种流媒体传输自适应纠错方法
US7702006B2 (en) Adjustment of transmission data rate based on data errors and/or latency
US7640358B2 (en) Methods and systems for HTTP streaming using an intelligent HTTP client
CA2723788C (en) Data streaming through time-varying transport media
US11159834B2 (en) Managing congestion response during content delivery
CN103533451A (zh) 抖动缓存调节方法及其***
US7111058B1 (en) Server and method for transmitting streaming media to client through a congested network
CN106803968B (zh) 一种基于hls协议的带宽自适应调节视频分辨率的方法
CN104125429A (zh) 视频数据传输的调节方法及装置
US8873590B2 (en) Apparatus and method for correcting jitter
RU2598805C2 (ru) Способ для динамической адаптации частоты следования битов при приеме и соответствующий приемник
CN112911650A (zh) 移动高清视频智能双向探测带宽控制***
KR101131379B1 (ko) Vbr 비디오 전송 시스템, 서버 및 방법
Rickenbach et al. Adaptive data delivery over disadvantaged, dynamic networks
DENG et al. A TCP FRIENDLY AND QOS TRADEOFF MECHANISM FOR STREAMING MEDIUM TRANSMITTING IN WIRELESS NETWORK
KR20050059801A (ko) 패킷 전송 제어 장치
KR20060093595A (ko) 통신네트워크에서의 수신리포트 전송시간 설정 방법

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: 20120328

Termination date: 20120506