1.一种面向移动机器人的视频编码参数控制方法,其特征在于:所述方法包括以下步骤:步骤1:任一移动机器人终端与服务器端建立心跳包应答机制;
步骤2:基于心跳包应答机制,对任一移动机器人的终端网络状态NetState进行快速估计;
步骤3:基于移动机器人当前的运动数据设置移动机器人的运动状态MoveMode,包括以下步骤:步骤3.1:获取移动机器人的运动线速度vt和角速度ωt;
步骤3.2:设置移动机器人的运动状态MoveMode,若vt和ωt均为0,则移动机器人静止,将当前运动状态MoveMode设为1,此刻移动机器人上的相机处于静止状态,视频画面的背景静止;
若vt为0且ωt绝对值大于0,则移动机器人原地偏转角度,此时移动机器人采集的图像背景做横向偏移,将当前运动状态MoveMode设为2;
若vt绝对值大于0且ωt为0,则移动机器人做直线运动,此时移动机器人采集的图像背景做纵向偏移,将当前运动状态MoveMode设为3;
若vt和ωt的绝对值都大于0,则移动机器人在直线运动过程中偏转角度,移动机器人采集的图像背景在横向和纵向都有偏移,将当前运动状态MoveMode设为4;
步骤4:根据当前网络状态NetState和移动机器人运动状态MoveMode调整编码参数,包括以下步骤:步骤4.1:调整目标码率B,在网络状态不佳时当前的目标码率降低;
步骤4.2:调整原始编码图像的分辨率IRorin,在网络传输严重拥塞时降低当前的图像分辨率;
步骤4.3:根据移动机器人运动状态MoveMode设置视频编码的最小量化参数QPmin和最大量化参数QPmax,用于编码器控制峰值码率,保证场景下的视频图像质量。
2.根据权利要求1所述的一种面向移动机器人的视频编码参数控制方法,其特征在于:所述步骤1包括以下步骤:
步骤1.1:移动机器人终端每隔固定时间dt向服务器端发送一次心跳包,其中dt的取值范围是[50,500],单位是ms;任一所述心跳包的有效负载包括32位时间戳;
步骤1.2:服务器端每接收到一个心跳包,则返回一个对应的回应包;任一所述回应包的有效负载与心跳包匹配。
3.根据权利要求1所述的一种面向移动机器人的视频编码参数控制方法,其特征在于:所述步骤2包括以下步骤:
步骤2.1:统计发送时间在时间段[t‑Δt,t]内的心跳包数量Pt,t为当前时刻,Δt为时段宽度,取值范围为[2,20],单位是s;
步骤2.2:统计收到回应发出在时间段[t‑Δt,t]的回应包数量Rt,并计算丢失数Lt,Lt=Pt‑Rt;
步骤2.3:计算时间段[t‑Δt,t]内的丢包率f(t),步骤2.4:若当前时间段[t‑Δt,t]内收到来自服务器端的强制I帧信号,则设置当前时间段的I帧信号标志Iflag为1,否则置为0;
步骤2.5:基于丢包率f(t)和强制I帧信号Iflag,将网络状况NetState进行状态分级。
4.根据权利要求3所述的一种面向移动机器人的视频编码参数控制方法,其特征在于:所述步骤2.5中,
其中,TH1和TH2为状态判别阈值变量,TH1的取值范围是[0.01,0.03],TH2的取值范围是[0.04,0.06];
NetState值越大则网络阻塞越严重;NetState为1,则保持视频传输码率不变;
NetState为2,则缓慢降低视频传输码率;NetState为3,则快速降低视频传输码率;
NetState为4,则快速降低视频传输码率的同时降低视频图像分辨率。
5.根据权利要求1所述的一种面向移动机器人的视频编码参数控制方法,其特征在于:所述步骤3.1中,从安装在移动机器人的发动机轮上的编码器获取移动机器人的线速度,从安装在控制器上的姿态传感器中获得移动机器人角速度;线速度值大于0表示往前运动,值小于0表示往后运动;角速度值大于0表示往左转,值小于0表示往右转。
6.根据权利要求1所述的一种面向移动机器人的视频编码参数控制方法,其特征在于:所述步骤4.1中,
其中,BitRate为用户设定的视频传输目标码率,α和β为码率调整系数,其中α的取值范围为[0.8,0.95],β的取值范围为[0.5,0.75]。
7.根据权利要求1所述的一种面向移动机器人的视频编码参数控制方法,其特征在于:所述步骤4.2中,
其中,W和H分别为原始编码图像的水平分辨率和竖直分辨率。
8.根据权利要求1所述的一种面向移动机器人的视频编码参数控制方法,其特征在于:所述步骤4.3中,
其中,BaseQPmin及BaseQPmax为基础量化参数,BaseQPmin的取值范围为[18,24],BaseQPmax的取值范围为[42,48]。