一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向移动机器人的视频编码参数控制方法

2022-12-13 20:53:20 来源:中国专利 TAG:


1.本发明涉及用于数字视频信号编码,解码,压缩或解压缩的方法或装置的技术领域,特别涉及一种视频压缩传输领域的面向移动机器人的视频编码参数控制方法。


背景技术:

2.随着科学技术和社会经济的快速发展,移动机器人逐渐进入到我们的工作和生活,已应用于工业、民用、军事、航空航天等领域。移动机器人在移动的过程中,用户需要对其外部环境进行实时查看和记录,因此具有视频监控功能对其安全运行非常重要。然而,在机器人移动过程中,从采集端到接收端,视频传输往往要经过一个相对复杂的无线网络环境,且普遍存在网络带宽限制和延迟波动的问题,从而影响视频接收端的流畅性和清晰度。为了保证远程视频的传输效果,提升视频的观看体验,需要优化视频传输过程中的各个环节,尤其是视频发送端的编码参数控制部分。
3.在移动机器人上的视频发送端精确控制编码速率是由于,视频发送端在移动过程中通过无线联网,网络波动剧烈,具有变化迅速和难以预测等特性,视频发送端在采集视频图像之后需要根据带宽波动自适应调整编码参数进行码率控制;当实时可用带宽较大时,可以适当提升编码码率,提升画面质量,而当实时可用带宽下降时,应当及时降低编码器的编码码率以适当降低画面质量,避免网络拥塞而导致视频帧丢失等更严重的现象。
4.主流的视频压缩标准h.264和h.265都使用了相同的量化参数(quant parameter,qp)方法,qp是量化步长(qstep)的序号。对于亮度编码而言,qstep共有52个值,对应的qp取值范围为0~51,当qp取最小值0时,qstep值最小,表示量化最精细,相反,qp取最大值51时,qstep值最大,表示量化是最粗糙的。qp和ln(qstep)之间具有线性相关性,qstep随着qp的增加而增大,每当qp值增加6,qstep便增加一倍。目前的视频编解码处理芯片都支持对量化参数进行调整,方便用户根据需求进行设置。
5.视频传输常用的用户数据报协议(user datagram proctocol,udp)是一种面向无连接的传输层协议,提供面向事务简单不可靠信息传送服务。实时传输协议(real-time transport protcol,rtp)基于udp,负责对流媒体数据进行封包并实现媒体流的实时传输。实时传输控制协议(real-time transport control protocol,rtcp)是rtp的姐妹协议,定期在多媒体会话参与者之间传输控制数据,主要功能是为rtp所提供的服务质量(quality of service,qos)提供反馈。
6.针对移动机器人视频编码传输的实际场景,要求视频编码码率随着无线网络带宽波动自适应调整,使码流平稳传输,同时在移动机器人做大幅度动作时保证视频的显示质量。目前已有一些研究人员对无线流媒体传输中的编码速率控制问题进行研究。专利号为201210170301.x的中国专利采用比传统流媒体速率控制方法更小的时间间隔获取丢包率以及业务数据通过率,采用改进的aimd算法预测新的传输速率,丢包率与门限值差值越大,速率调整的幅度就越大;该方法能够快速反映无线信道的变化,准确预测新传输速率,从而提高无线流媒体传输的服务质量以及无线信道的利用率,但是当网络传输带宽波动较为剧
烈时,丢包率的变化幅度较大,造成视频发送端频繁地调整视频传输码率,不仅会浪费本就有限的机器人计算资源与电池容量,也会降低接收端视频图像质量的稳定性,不适用于移动机器人的视频编码传输。


技术实现要素:

7.本发明解决了现有技术中存在的问题,提供了一种面向移动机器人的视频编码参数控制方法,在移动机器人运动过程中减轻无线网络带宽波动对视频传输的影响,保证码流传输的平稳和视频质量,最大程度利用可用带宽。
8.本发明所采用的技术方案是,一种面向移动机器人的视频编码参数控制方法,所述方法包括以下步骤:
9.步骤1:任一移动机器人终端与服务器端建立心跳包应答机制;机器人终端定时发送心跳包,服务器端在接收到心跳包之后返回一个回应包;
10.步骤2:基于心跳包应答机制,对任一移动机器人的终端网络状态netstate进行快速估计;机器人终端利用一段时间内发出心跳包的数量和接收回应包的数量,计算机器人终端和服务器端之间的网络延时,估计网络带宽状况;
11.步骤3:基于移动机器人当前的运动数据设置移动机器人的运动状态movemode;
12.步骤4:根据当前网络状态netstate和移动机器人运动状态movemode调整编码参数。
13.优选地,所述步骤1包括以下步骤:
14.步骤1.1:移动机器人终端每隔固定时间dt向服务器端发送一次心跳包,其中dt的取值范围是[50,500],单位是ms;为了减少网络带宽占用,任一所述心跳包的有效负载包括32位时间戳,即心跳包有效负载的内容是32位时间戳,占32位,一般来说,心跳包总大小大于32位;
[0015]
步骤1.2:服务器端每接收到一个心跳包,则返回一个对应的回应包;任一所述回应包的有效负载与心跳包匹配,即回应包的有效负载就是与收到心跳包数值相同的32位时间戳。
[0016]
优选地,所述步骤2包括以下步骤:
[0017]
步骤2.1:统计发送时间在时间段[t-δt,t]内的心跳包数量p
t
,t为当前时刻,δt为时段宽度,取值范围为[2,20],单位是s;
[0018]
步骤2.2:统计收到回应发出在时间段[t-δt,t]的回应包数量r
t
,并计算丢失数l
t
,l
t
=p
t-r
t

[0019]
步骤2.3:计算时间段[t-δt,t]内的丢包率f(t),即回应包丢失数l
t
与心跳包数p
t
之比,
[0020]
步骤2.4:若当前时间段[t-δt,t]内收到来自服务器端的强制i帧信号,则设置当前时间段的i帧信号标志i
flag
为1,否则置为0;
[0021]
步骤2.5:基于丢包率f(t)和强制i帧信号i
flag
,将网络状况netstate进行状态分级。
[0022]
优选地,所述步骤2.5中,
[0023][0024]
其中,th1和th2为状态判别阈值变量,th1的取值范围是[0.01,0.03],th2的取值范围是[0.04,0.06];
[0025]
netstate值越大则网络阻塞越严重;netstate为1,表明这段时间内网络传输流畅,则保持视频传输码率不变;netstate为2,表明这段时间内网络传输基本正常,则缓慢降低视频传输码率;netstate为3,表明这段时间内网络传输中度拥塞,则快速降低视频传输码率;netstate为4,表明这段时间内机器人终端接收到强制i帧信号,网络传输严重拥塞,导致画面质量急剧下降,则迫切需要快速降低视频传输码率的同时降低视频图像分辨率;
[0026]
其中,视频传输码率的调节速度通过码率调整系数α和β实现,并由本领域技术人员基于需求设置调节速度为缓慢或快速的标准,其中α的取值范围为[0.8,0.95],β的取值范围为[0.5,0.75],
[0027]
优选地,所述步骤3包括以下步骤:
[0028]
步骤3.1:获取移动机器人的运动线速度v
t
和角速度ω
t

[0029]
步骤3.2:设置移动机器人的运动状态movemode,
[0030][0031]
若v
t
和ω
t
均为0,则移动机器人静止,将当前运动状态movemode设为1,此刻由于相机和移动机器人主体保持刚性连接,移动机器人上的相机处于静止状态,视频画面的背景静止;
[0032]
若v
t
为0且ω
t
绝对值大于0,则移动机器人原地偏转角度,此时移动机器人采集的图像背景做横向偏移,将当前运动状态movemode设为2;
[0033]
若v
t
绝对值大于0且ω
t
为0,则移动机器人做直线运动,此时移动机器人采集的图像背景做纵向偏移,将当前运动状态movemode设为3;
[0034]
若v
t
和ω
t
的绝对值都大于0,则移动机器人在直线运动过程中偏转角度,移动机器人采集的图像背景在横向和纵向都有偏移,变化最为复杂,将当前运动状态movemode设为4。
[0035]
优选地,所述步骤3.1中,从安装在移动机器人的发动机轮上的编码器获取移动机器人的线速度,从安装在控制器上的姿态传感器中获得移动机器人角速度;从编码器读取机器人运动的线速度值v
t
,单位是m/s,线速度值大于0表示往前运动,值小于0表示往后运动;从姿态传感器读取机器人运动的角速度ω
t
,单位是rad/s,角速度值大于0表示往左转,值小于0表示往右转。
[0036]
优选地,所述步骤4包括以下步骤:
[0037]
步骤4.1:调整目标码率b,在网络状态不佳时当前的目标码率降低;
[0038]
步骤4.2:调整原始编码图像的分辨率ir
orin
,在网络传输严重拥塞时降低当前的图像分辨率;
[0039]
步骤4.3:根据移动机器人运动状态movemode设置视频编码的最小量化参数qp
min
和最大量化参数qp
max
,用于编码器控制峰值码率,保证场景下的视频图像质量。
[0040]
优选地,所述步骤4.1中,
[0041][0042]
其中,bitrate为用户设定的视频传输目标码率,α和β为码率调整系数,其中α的取值范围为[0.8,0.95],β的取值范围为[0.5,0.75]。
[0043]
优选地,所述步骤4.2中,
[0044][0045]
其中,w和h分别为原始编码图像的水平分辨率和竖直分辨率。
[0046]
优选地,所述步骤4.3中,
[0047][0048][0049]
其中,baseqp
min
及baseqp
max
为基础量化参数,baseqp
min
的取值范围为[18,24],baseqp
max
的取值范围为[42,48],baseqp
min
及baseqp
max
值越大越有利于编码器控制好短时码率峰值,降低带宽实时负载,但也会使图像质量有所下降。
[0050]
本发明涉及一种面向移动机器人的视频编码参数控制方法,任一移动机器人终端与服务器端建立心跳包应答机制;基于心跳包应答机制,对任一移动机器人的终端网络状态netstate进行快速估计;基于移动机器人当前的运动数据设置移动机器人的运动状态movemode;根据当前网络状态netstate和移动机器人运动状态movemode调整编码参数。
[0051]
本发明的技术构思为:机器人终端主动向服务器端发送心跳包,并接收服务器端的回应包,机器人终端根据反馈信息,判断当前网络状况,自适应地对视频传输码率进行调
整,以匹配当前的网络传输带宽,提高传输系统的视频图像质量。根据移动机器人的里程计信息判断机器人的运动剧烈状况,调整视频编码参数。
[0052]
与现有技术相比,本发明具有以下有益效果:
[0053]
(1)机器人终端通过统计发出的心跳包和收到的应答包的数量比例,可以较为准确地反映某段时间内整体网络状况;
[0054]
(2)通过读取机器人里程计上传的线速度和角速度,准确地反映机器人的运动状态;
[0055]
(3)根据网络状况和机器人运动状态,控制视频编码参数,不仅避免机器人计算资源与电池容量的不必要浪费,还提高了接收端的视频质量。
附图说明
[0056]
图1为本发明的方法流程图。
具体实施方式
[0057]
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
[0058]
本发明在基于瑞芯微rv1126处理器的tb-rv1126ds开发板终端上实现,该终端搭载在松灵hunterse移动机器人底盘上,在移动机器人运动过程中根据网络状况和机器人运动状态实现视频编码参数控制,编码参数具体设置采用瑞芯微的mpp库,但本发明不仅限于此。
[0059]
如图1所示,本发明涉及一种面向移动机器人的视频编码参数控制方法,包括以下步骤:
[0060]
(1)机器人终端与服务器端建立心跳包应答机制;
[0061]
(2)机器人终端网络状态快速估计;
[0062]
(3)设置移动机器人的运动状态;
[0063]
(4)根据当前网络状态和机器人运动状态调整编码参数。
[0064]
本实施例中,tb-rv1126ds终端安装于移动机器人上,其原始编码图像的分辨率ir
orin
为1080p,即原始编码图像的水平方向像素个数w为1920,竖直方向像素个数h为1080;根据视频传输在5g网络下的表现,设定视频传输目标码率bitrate为3000kbps。
[0065]
步骤(1)具体包括:
[0066]
(1-1)tb-rv1126ds终端每隔100ms向服务器端发送一次心跳包,心跳包的有效负载包含32位的时间戳;心跳包发送采用udp协议。
[0067]
(1-2)服务器端接收到一个心跳包,立即返回一个回应包,该回应包的有效负载就是与收到心跳包数值相同的32位时间戳;回应包发送同样采用udp协议。
[0068]
步骤(2)具体包括:
[0069]
(2-1)统计发送时间在时段[t-δt,t]内的心跳包数量p
t
,其中δt取值20s。
[0070]
(2-2)统计收到回应包的时间戳在时段[t-δt,t]的回应包数量r
t
,丢失数l
t
按式(1)计算得到:
[0071]
l
t
=p
t-r
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0072]
(2-3)按式(2)计算本时间段内的丢包率f(t),即回应包丢失数l
t
与心跳包数p
t
之比:
[0073][0074]
(2-4)若当前时间段[t-δt,t]内收到来自服务器端的强制i帧信号,则设置当前时间段的i帧信号标志i
flag
为1,否则置为0。
[0075]
(2-5)利用式(2)计算得到的丢包率f(t)和强制i帧信号i
flag
,按式(3)设置netstate;
[0076][0077]
式中,th1的取值为0.02,th2的取值为0.05。
[0078]
步骤(3)具体包括:
[0079]
(3-1)从机器人底盘上的编码器读取机器人运动的线速度v
t
,从姿态传感器读取机器人运动的角速度ω
t

[0080]
(3-2)根据读取到的v
t
和ω
t
,按式(4)设置运动状态movemode。
[0081][0082]
步骤(4)具体包括:
[0083]
(4-1)根据步骤(2)设置的网络状况netstate,按式(5)计算b,
[0084][0085]
式中α取值为0.9,β的取值为0.6。
[0086]
(4-2)根据步骤(2)设置的网络状况netstate,按式(6)计算当前编码图像分辨率ir
cur

[0087][0088]
(4-3)根据步骤(3)设置的移动机器人的运动状态movemode,按式(7)计算qp
min

[0089][0090]
式中baseqp
min
取值为20。
[0091]
(4-4)根据步骤(3)设置的移动机器人的运动状态movemode,按式(8)计算qp
max

[0092][0093]
式中baseqp
max
取值为43。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献