CN102905128B - 编解码处理器在无线视频传输过程中码率控制的方法 - Google Patents
编解码处理器在无线视频传输过程中码率控制的方法 Download PDFInfo
- Publication number
- CN102905128B CN102905128B CN201210328877.4A CN201210328877A CN102905128B CN 102905128 B CN102905128 B CN 102905128B CN 201210328877 A CN201210328877 A CN 201210328877A CN 102905128 B CN102905128 B CN 102905128B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- data
- network
- 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.)
- Active
Links
Abstract
本发明提供了一种编解码处理器在无线视频传输过程中码率控制的方法,其包括以下步骤:S1)通过视频捕获得到原始的视频输入数据,将视频输入数据绑定到相对应的视频输出数据;S2)取出对应通道的视频数据进行视频编码后视频录像;S3)取出对应通道的视频数据进行视频编码后输出到视频网络传输端;S4)在视频网络传输端,动态调节网络传输原始视频数据的帧率,来适应传输网络的带宽。该处理方法与已有的技术方法相比,能够在完成录像码流码率不改变的同时,有效的动态变换网络传输码流的码率,使无线网络的带宽得到最有效的利用,可有效地提高无线视频传输的流畅度。
Description
技术领域
本发明涉及无线视频传输领域,特别是涉及改进编解码处理器在无线视频传输过程中码率控制的方法。
背景技术
随着3G(3rd-Generation,第三代移动通信技术)技术的日渐成熟和网络的普及,随时随地的查看视频图像成为一种趋势,视频监控业务也由传统的服务于安防行业,逐渐的发展为面向大众的信息化服务,并随着图像处理技术的提高,其应用领域也越来越广泛,逐渐渗透到教育、政府、娱乐、医疗、运动等领域。而3G技术的逐渐成熟,3G网络建设的不断完善,其能提供高达3.1Mbit/s的速率,完全能够满足高质量视频的需求。由于原始视频信号数据量巨大,必须经过压缩才能在无线网络中传输。而无线信道具有时变及网络带宽资源有限等特点,使得在3G网络中传输的压缩视频流具有不同的特点。
ITU-T(国际电信联盟电信标准化部门)和ISO(国际标准化组织)联合开发的最新视频编码标准H.264/AVC由于具有压缩效率高、网络适应能力强等特点,使其成为3GPP(第三代合作伙伴计划)/3GPP2(第三代合作伙伴计划2)支持的常用视频编码标准。
在现有技术中,以深圳市海思半导体有限公司的Hi3511/Hi3512芯片为例,Hi3511/Hi3512所提供的编码函数库不能对编码后的码流的码率控制进行有效的控制。通过该编码函数库能降低编码后码流的帧率,但是每一个视频帧的长度增加,实际视频码流的码率没有改变。如果利用传统的方式直接从原始视频数据(VI)来控制帧率会同时影响到录像视频码流的质量。
发明内容
本发明所要解决的技术问题是:提供一种编解码处理器在无线视频传输过程中码率控制的方法,该处理方法与已有的技术方法相比,能够在完成录像码流码率不改变的同时,有效的动态变换网络传输码流的码率,使无线网络的带宽得到最有效的利用,可有效地提高无线视频传输的流畅度。
本发明所采用的技术方案是:编解码处理器在无线视频传输过程中码率控制的方法,包括以下步骤:
S1)通过视频捕获得到原始的视频输入数据,将视频输入数据绑定到相对应的视频输出数据;
S2)取出对应通道的视频数据进行视频编码后视频录像;
S3)取出对应通道的视频数据进行视频编码后输出到视频网络传输端;
S4)在视频网络传输端,动态调节网络传输原始视频数据的帧率,来适应传输网络的带宽。
所述的方法,步骤S2所述的视频数据是视频输入数据。
所述的方法,步骤S3所述的视频数据是视频输出数据。
所述的方法,步骤S4动态调节网络传输原始视频数据的帧率的方法包括:
A)在视频网络传输端传输端建立循环缓冲区;
B)将编码好的视频数据通过循环缓冲区进行发送;
C)根据循环缓冲区的数据得到当前网络延时的时间值;
D)当网络延时的时间值大于设定的最大延时值时,减少视频输出数据的帧率;当网络延时的时间值小于设定的最大延时值时,当前视频码率又没有达到最大帧率值时,增加视频输出数据的帧率。
所述的方法,步骤C得到网络延时的时间值的方法包括:
获取当前缓冲区中的视频帧的帧数FrameCountInBuf,获取当前视频输出数据的帧率FrameRate,当前的网络延时的时间值T按下式计算:
T=FrameCountInBuf/FrameRate。
所述的方法,步骤D的最大延时值大于等于1秒,最大帧率值为25。
所述的方法,步骤D改变帧率的方法包括:在原始帧率的基础上,平均的增加或者减少所有正在网络传输的视频通道的原始视频数据的帧数。
所述的方法,增加或减少帧数的方法包括:在一秒钟内丢掉或保留一些视帧,其帧序号为:
当FrameRate>=13时丢掉的帧序号为i*[25/(25-FrameRate)],i的取值为1、2……(25-FramRate)的顺序值;
当FrameRate<13时保留的帧序号为i*[25/FrameRate)],i的取值为1、2……FramRate的顺序值;
其中FrameRate为需要设定的帧率,如果所得帧序号值大于25,则取序号为25的帧,方括号表示取整。
所述的方法,步骤S2和S3中视频编码的方法为H.264。
相对已有技术方法,本发明具有以下优点:能改善Hi3511/Hi3512编码后改变视频数据的帧率,但是无法有效控制视频码率的情况,可以在不影响录像码流的视频质量的情况下,使视频传输的码率得到有效控制,以保持无线视频传输的流畅度。
附图说明
图1是视频码流传输示意图。
图2是无线网络传输情况判断工作流程示意图。
图3是帧率改变工作流程示意图。
具体实施方式
本发明的实施例根据3G网络的特点阐述了Hi3511/Hi3512H.264编解码处理器在无线视频传输过程中,实现了一种基于帧率来动态改变码率的控制方法。本发明采用的这种分片方法,在保证编码效率的同时,相对于简单的固定分片方法来说,能有效地提高信道资源的利用率,提高了视频编码的质量。
Hi3511/Hi3512上实现D1、CIF格式的编码并且将编码码流进行传输和录像的基本流程是,程序将摄入原始的视频数据(VI)首先进行编码,产生主码流和子码流,再由主码流输出到录像文件,子码流输出到网络传输,另外将原始视频数据(VI)绑定到视频输出数据(VO)输出到电视墙或者显示设备用于本地预览。
作为无线视频设备其中一个重要的部分就是,获取网络传输编码码流并且能有效的控制其传输码率来控制实时视频的流畅度。而Hi3511/Hi3512所提供的编码函数库不能对编码后的码流的码率控制进行有效的控制,通过该编码函数库能降低编码后码流的帧率,但是每一个视频帧的长度会增加,实际视频码流的码率没有改变,如果利用传统的方式直接从原始视频数据(VI)来控制帧率会同时影响到录像视频码流的质量。针对以上情况,本发明采用以下具体实施方式来解决以上问题:
本发明的步骤如下:
1)首先经过Hi3511/Hi3512的视频捕获驱动得到原始的视频输入(VI)数据。
2)原始视频输入数据(VI)绑定到相对应的视频输出通道(VO)。
3)取出对应通道的视频输出数据(VO)作为网传视频的原始数据,输出到对应的编码通道进行H.264格式的视频编码,得到的编码码流用作网络视频传输。
4)将视频输入数据(VI)作为录像视频的原始数据,输出到对应的编码通道进行H.264的视频编码,得到的编码码流用作视频录像的码流。
5)在视频网络传输端,根据情况动态调节网络传输原始视频数据的帧率,来改变网络传输端视频数据的码率,以适应无线网络的带宽,提高无线视频传输的流畅度。
此外,在所述步骤5)中,动态调节网络传输的原始视频数据的帧率包含以下子步骤:
C1首先在视频数据发送端建立循环缓冲区
C2编码好的视频数据从缓冲区尾加入,发送的视频数据从缓冲区头取出
C3用缓冲区中剩余的帧数除以当前帧率的值得到当前延时的时间值(T)
C4当延时时间(T)大于设定的最大延时值(Tmax)时,减少视频输出数据(VO)的帧率,当延时时间(T)小于设定的最大延时值(Tmax),当前视频码率又没有达到最大帧率值时,增加视频输出数据(VO)的帧率。
C5视频输出数据(VO)的帧率改变的方法为,原始帧率为每秒25帧视频数据,每次根据网络传输缓冲区中的视频帧数,增加减少原始视频数据的帧数。
下面结合附图和实施例进一步详述本发明。
如图1所示视频流的具体工作流程为
001)经过Hi3511/Hi3512的视频捕获驱动得到原始的视频输入数据(VI),将原始视频输入数据(VI)绑定到对应的视频输出数据(VO)。
002)将原始的视频输入数据(VI),输出到对应的编码通道进行H.264的编码,得到的编码码流用作视频录像的码流。
003)将原始的视频输出数据(VO),输出到对应的编码通道进行H.264的编码,得到的编码码流用作网络视频传输。
如图2所示无线网络传输情况判断具体工作流程为:
004)首先在视频码流数据发送端建立循环缓冲区Buffer,缓冲区的头指针为Buffer[head],缓冲区的尾指针为Buffer[tail]。
005)编码好的视频数据帧从缓冲区尾Buffer[tail]加入到缓冲区中,发送的视频数据帧从缓冲区头Buffer[head]取出。
006)获取当前缓冲区中的视频帧的帧数FrameCountInBuf,获取当前视频输出数据(VO)的帧率,即每秒钟获取的视频数据的帧数FrameRate,当前的网络延时T情况就可以得到T=FrameCountInBuf/FrameRate。其中帧率不等于0,但是可以小于1比如等于1/2等,是指两秒中获取一帧视频数据,帧率的最大值是25,指一秒钟获取25帧视频数据。
007)当延时时间T大于设定的最大延时值Tmax(大于等于1秒,可设置)时,减少从视频输出数据VO中获取视频数据的帧率,当延时时间T小于设定的最大延时值Tmax,当前视频帧率又没有达到最大帧率值25时,增加视频输出数据VO的帧率来有效利用带宽。
如图3所示网络传输视频码流原始帧率改变具体工作流程为:
008)首先满帧率为25帧,即每秒钟获得25帧视频数据,平均40毫秒获取一帧视频数据,将获取的视频数据存放在VoFrameBuffer(即循环缓冲区)中。
009)当前要设置的帧率为FrameRate,其中FrameRate<=25,因此每秒钟需要取得的帧数为FrameRate,当FrameRate>=13时需要丢掉的帧数为25-FrameRate帧,当FrameRate<13时要保留的帧数为FrameRate帧。
010)当FrameRate>=13时要均匀的丢掉25-FrameRate帧,因此一秒钟内丢掉的视频数据的帧序号等于i*[25/(25-FrameRate)],i的取值为1、2、…、(25-FramRate);当FrameRate<13时保留的帧数为FrameRate帧,保留视频数据的帧序号等于i*[25/FrameRate],i的取值为1、2、…、FramRate。当公式算出的序号值大于25时取序号25,其中FrameRate不等于25,当FrameRate等于25时为满帧率不需要丢掉数据。上述式子中的方括号表示取整。
减少帧的具体过程如下:例如当帧率为25,要设置的帧率为13,因为13>12,因此要将1*[25/(25-13)]=2、2*[25/(25-13)]=4、3*[25/(25-13)]=6……12*[25/(25-13)]=24序号的帧丢弃,只传输剩下的序号为1、3、5、7、…、25的帧。
增加帧的具体过程如下:例如当帧率为6,要设置的帧率为8,当前6帧按照FrameRate<13时为i*[25/FrameRate]的规则,传输的保留帧序号为4、8、12、16、20、24。设置的帧率为8帧,则按传输规则保留的帧序号为1*[25/8]=3,2*[25/8]=6,……8*[25/8]=24。
011)最后把剩下的视频数据帧输入到编码器中编码,就可以有效的改变视频数据的帧率和码率。
Claims (4)
1.编解码处理器在无线视频传输过程中码率控制的方法,其特征在于包括以下步骤:
S1)通过视频捕获得到原始的视频输入数据,将视频输入数据绑定到相对应的视频输出数据;
S2)取出对应通道的视频输入数据进行视频编码后视频录像;
S3)取出对应通道的视频输出数据进行视频编码后输出到视频网络传输端;
S4)在视频网络传输端,动态调节网络传输原始视频数据的帧率,来适应传输网络的带宽;
所述步骤S4动态调节网络传输原始视频数据的帧率的方法包括:
A)在视频网络传输端建立循环缓冲区;
B)将编码好的视频数据通过循环缓冲区进行发送;
C)根据循环缓冲区的数据得到当前网络延时的时间值;
D)当网络延时的时间值大于设定的最大延时值时,减少视频输出数据的帧率;当网络延时的时间值小于设定的最大延时值时,当前视频码率又没有达到最大帧率值时,增加视频输出数据的帧率;
所述步骤D改变帧率的方法包括:在原始帧率的基础上,平均的增加或者减少所有正在网络传输的视频通道的原始视频数据的帧数;
增加或减少帧数的方法包括:在一秒钟内丢掉或保留一些视帧,其帧序号为:
当FrameRate>=13时丢掉的帧序号为i*[25/(25-FrameRate)],i的取值为1、2……(25-FramRate)的顺序值;
当FrameRate<13时保留的帧序号为i*[25/FrameRate],i的取值为1、2……FramRate的顺序值;
其中FrameRate为需要设定的帧率,如果所得帧序号值大于25,则取序号为25的帧,方括号表示取整。
2.根据权利要求1所述的方法,其特征在于,步骤C得到网络延时的时间值的方法包括:
获取当前缓冲区中的视频帧的帧数FrameCountInBuf,获取当前视频输出数据的帧率FrameRate,当前的网络延时的时间值T按下式计算:
T=FrameCountInBuf/FrameRate。
3.根据权利要求1所述的方法,其特征在于:步骤D的最大延时值大于等于1秒,最大帧率值为25。
4.根据权利要求1~3中任一项所述的方法,其特征在于:步骤S2和S3中视频编码的方法为H.264。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210328877.4A CN102905128B (zh) | 2012-09-07 | 2012-09-07 | 编解码处理器在无线视频传输过程中码率控制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210328877.4A CN102905128B (zh) | 2012-09-07 | 2012-09-07 | 编解码处理器在无线视频传输过程中码率控制的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102905128A CN102905128A (zh) | 2013-01-30 |
CN102905128B true CN102905128B (zh) | 2016-08-03 |
Family
ID=47577144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210328877.4A Active CN102905128B (zh) | 2012-09-07 | 2012-09-07 | 编解码处理器在无线视频传输过程中码率控制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102905128B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442307B (zh) * | 2013-08-20 | 2017-09-29 | 融创天下(上海)科技发展有限公司 | 播放视频流媒体的方法和装置 |
CN103414886A (zh) * | 2013-08-27 | 2013-11-27 | 北京汉邦高科数字技术股份有限公司 | 一种网络视频的传输方法 |
CN104270649B (zh) * | 2014-10-28 | 2019-01-22 | 中磊电子(苏州)有限公司 | 影像编码装置及影像编码方法 |
CN105451100B (zh) * | 2015-12-07 | 2019-04-09 | 贵阳朗玛信息技术股份有限公司 | 一种播放视频流的方法及装置 |
CN106534884B (zh) * | 2016-11-10 | 2019-03-15 | 中广热点云科技有限公司 | 一种视频编码中码率控制方法及系统 |
CN107018415A (zh) * | 2017-03-17 | 2017-08-04 | 浙江大华技术股份有限公司 | 一种基于双码流输出视频数据的方法和装置 |
CN106998268A (zh) * | 2017-04-05 | 2017-08-01 | 网宿科技股份有限公司 | 一种基于推流终端网络状况的优化方法和系统以及推流终端 |
CN110730328B (zh) * | 2019-09-11 | 2020-11-17 | 浙江浙大中控信息技术有限公司 | 将多路视频展示到浏览器单页面中的方法 |
CN111212308B (zh) * | 2020-01-15 | 2020-09-25 | 珠海安联锐视科技股份有限公司 | 一种无线网络自适应调节的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488967A (zh) * | 2009-01-14 | 2009-07-22 | 深圳市同洲电子股份有限公司 | 一种视频传输方法、嵌入式监控终端及监控平台服务器 |
CN101527834A (zh) * | 2009-03-26 | 2009-09-09 | 浙江大华技术股份有限公司 | 一种无线窄带网络视频传输方法 |
CN101778426A (zh) * | 2010-01-21 | 2010-07-14 | 深圳市同洲电子股份有限公司 | 移动无线网络中视频数据流传输的方法及设备 |
CN102413311A (zh) * | 2010-09-20 | 2012-04-11 | 北京中星微电子有限公司 | 一种移动监控装置、系统及监控方法 |
-
2012
- 2012-09-07 CN CN201210328877.4A patent/CN102905128B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488967A (zh) * | 2009-01-14 | 2009-07-22 | 深圳市同洲电子股份有限公司 | 一种视频传输方法、嵌入式监控终端及监控平台服务器 |
CN101527834A (zh) * | 2009-03-26 | 2009-09-09 | 浙江大华技术股份有限公司 | 一种无线窄带网络视频传输方法 |
CN101778426A (zh) * | 2010-01-21 | 2010-07-14 | 深圳市同洲电子股份有限公司 | 移动无线网络中视频数据流传输的方法及设备 |
CN102413311A (zh) * | 2010-09-20 | 2012-04-11 | 北京中星微电子有限公司 | 一种移动监控装置、系统及监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102905128A (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102905128B (zh) | 编解码处理器在无线视频传输过程中码率控制的方法 | |
CN105472477B (zh) | 一种数据传输方法、装置及设备 | |
Martini et al. | Content adaptive network aware joint optimization of wireless video transmission | |
CN109743600B (zh) | 基于可穿戴的现场运维自适应视频流传输速率控制方法 | |
CN103929681B (zh) | 一种提升低速网络中rtp视频流处理效率的方法 | |
CN102802039B (zh) | 多路视频混合解码输出方法及装置 | |
CN107666593B (zh) | 一种波动网络环境下的视频实时传输方法 | |
US10616383B2 (en) | System and method for electronic data communication | |
CN103096084A (zh) | 一种无线传输中码率自适应调节的方法、装置及系统 | |
CN102547375A (zh) | 一种快速实现预览h.264编码帧的传输方法 | |
US10594977B2 (en) | System and method for electronic data communication | |
CN105635636A (zh) | 一种视频会议系统及其实现视频图像传输控制的方法 | |
CN109120924A (zh) | 一种实时视频通信的质量评价方法 | |
CN104219509A (zh) | 车载智能终端及其数据传输方法 | |
WO2010144488A2 (en) | Dual-mode compression of images and videos for reliable real-time transmission | |
WO2012119459A1 (zh) | 数据传输的方法、装置和系统 | |
CN101931799A (zh) | 一种视频码流的平滑方法及装置 | |
CN106162257B (zh) | 一种实时视频的自适应网络传输优化方法 | |
CN106993199A (zh) | 一种实时视频转码的方法及系统 | |
WO2011044781A1 (zh) | 一种多媒体码流发送的方法和系统 | |
Huang et al. | DAVE: Dynamic adaptive video encoding for real-time video streaming applications | |
CN105376595A (zh) | 一种视频混合编码系统和方法 | |
JP2008211579A (ja) | 映像品質推定方法および映像通信システム | |
CN103269448A (zh) | 基于rtp/rtcp反馈预警算法实现音视频同步方法 | |
Pedersen et al. | Telemedicine applications of mobile ultrasound |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20130130 Assignee: WUHAN YANGTZE COMMUNICATIONS ZHILIAN TECHNOLOGY CO., LTD. Assignor: Wuhan Yangtze Communications Industry Group Co., Ltd. Contract record no.: 2014420000177 Denomination of invention: Code rate controlling method of coding and decoding processor in wireless video transmission process License type: Exclusive License Record date: 20140926 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |