视频图像数据的网络发送速率的平滑方法_2

文档序号:9582170阅读:来源:国知局
缓冲区,减少了缓冲区的空间占 用;通过编码器的瞬时输出量、允许的最大延时、网络平滑目标值进行动态调整发流速率达 到网络平滑的目的;通过两个修正因子动态调整发流速率保证了系统运行的可靠性。
【附图说明】
[0054] 图1为视频数据从视频编码器到上传网络所经历的过程示意图;
[00巧]图2为本发明的视频图像数据的网络发送速率的平滑方法的示意图;
[0056] 图3为设置第一阔值点和第二阔值点的示意图;
[0057] 图4为本发明中二级修正因子的确定过程示意图;
[0058] 图5为设置第H阔值点和第四阔值点的示意图;
[0059] 图6为本发明的视频图像数据的网络发送速率的平滑方法实施例流程图;
[0060] 图7为本发明中调整二级修正因子的实施例流程图;
[0061] 图8为未采用本发明的视频图像数据的网络发送速率的平滑方法时的视频传输 网络码率波动状况示意图;
[0062] 图9为采用本发明的视频图像数据的网络发送速率的平滑方法后的视频传输网 络码率波动状况示意图。
【具体实施方式】
[0063] 为了使本发明的目的、技术方案及优点更加清楚明白,W下参照附图并举实施例, 对本发明作进一步详细说明。
[0064] 如图2所示,本发明的视频图像数据的网络发送速率的平滑方法主要包括W下步 骤。
[0065] 步骤1、在当前视频记录采样周期内,将视频码流写入缓冲区。
[0066] 其中,可参照图1所示,是视频编码器通过写指针,实现的将视频码流写入缓冲区 的过程,视频编码器通过写指针将视频码流写入缓冲区的过程为本领域已有,此处不再赏 述。
[0067] 视频记录采样周期,即用来调整视频图像数据的网络发送速率的周期,其精细度 对视频图像数据的网络发送速率的平滑效果有重要的影响,若视频记录采样周期太小则可 能会导致震荡,若视频记录采样周期太大则可能起不到平滑的作用。同时也需要考虑到程 序代码执行的时间因素。作为一个具体实施例,在Iinux系统下(一个操作系统对线程的 调度周期为10ms),视频图像数据的网络发送速率的平滑效果目标值为10%,定视频记录 采样周期为1/16砂,即每个视频记录采样周期约为62. 5ms。在其他系统系下运行时,或者 所述平滑效果目标值改变时,视频记录采样周期需要进行调整。一般情况下,平滑效果目标 值越小,视频记录的采样频率要增大。
[0068] 步骤2、计算所述当前视频记录采样周期的视频编码器的码流变化。
[0069] 本步骤2中,采用如下公式计算所述当前视频记录采样周期的视频编码器的码流 变化:
[0070] AS = S-So
[0071] 其中,AS为当前视频记录采样周期的视频编码器的码流变化,S为当前视频记录 采样周期的视频编码器的码流量,S。为前一视频记录采样周期的视频编码器的码流量。
[0072] 步骤3、获取当前缓冲区中视频数据大小。
[0073] 因为在写指针将视频数据存放到缓冲区时,写指针在缓冲区中的位置会随着视频 数据的写入而更新;在读指针将视频数据从缓冲区读出时,读指针在缓冲区中的位置会随 着视频数据的读出而更新。因此,本步骤3中,可通过读指针与写指针在所述缓冲区中的位 置,进而确定当前缓冲区中视频数据大小。
[0074] 步骤4、根据所述当前缓冲区中视频数据大小与视频传输网络所允许延时的关系, 获得所述视频数据的待发送速率。
[00巧]网络的延时(delay)时间,在视频监控领域是一个重要的性能指标,是指采集到 图像到终端看到图像的时间差,在本发明中,延时时间专指视频传输网络允许的延时。延时 时间与码流平滑目标值有着相互制约相互转化的关系。例如,当需求允许的延时时间为1 砂,则理论上可W做到网络传输码流的绝对平滑,即一条直线的效果。
[0076] 视频传输网络延时所允许的缓冲数据量可通过如下公式获得:
[0077] 视频传输网络延时所允许的缓冲数据量=视频传输网络码率/网络延时时间 [007引例如视频传输网络的码率为IMbps,允许网络延时时间为40ms,则缓冲区中视频 传输网络延时所允许的缓冲数据量为lMbpsX40/1000S= 40K,该视频传输网络延时所允 许的缓冲数据量用于缓和编码器输出数据的瞬时变化。
[0079] 平滑值,即码流在网络传输中峰值超过码率值所允许的最大百分比。例如,若目标 平滑值为10%,即码流在网络传输中峰值最大不能超过码率值的10%,若码率为IMbps,贝。 在目标平滑值的要求下,网络传输速率最大不能超过1.IMpbs,此可W转换成发送速率的最 大允许值。
[0080] 缓冲在平滑过程中的作用为当视频编码器输出瞬间增大,可W先把视频数据放入 缓冲区缓冲一下,当视频编码器输出的数据减小时,可W从缓冲区之前所缓冲的数据补给 下,到达平滑的效果。因此阔值点的确定就有如何利用缓冲区的过程。
[0081] 如图3所示,在所述缓冲区中,依据所述视频传输网络延时所允许的缓冲数据量, 设置第一阔值点Pl和第二阔值点?2,其中第一阔值点Pl小于第二阔值点P2。
[0082] 根据大量的测试值发现,当所述第一阔值点为所述视频传输网络延时所允许的缓 冲数据量的3/8,所述第二阔值点为所述视频传输网络延时所允许的缓冲数据量的5/8时, 效果比较理想,送样就有3/8的缓冲空间用于防范缓冲数据过大,W及3/8的已有数据补给 视频编码器数据输出的减小。因此,作为一个具体实施例,所述第一阔值点为所述视频传输 网络延时所允许的缓冲数据量的3/8,所述第二阔值点为所述视频传输网络延时所允许的 缓冲数据量的5/8。
[0083] 依据上述说明,本步骤4中,具体是通过如下的方法获得所述视频数据的待发送 速率的。
[0084] 当所述缓冲区中缓冲的视频数据量小于第一阔值点Pi时,采用如下公式获得所述 待发送速率:
(1 )
[0086]当所述缓冲区中缓冲的视频数据量位于所述第一阔值点Pi和第二阔值点Pz之间 时,采用如下公式获得所述待发送速率:
12)
[0088] 当所述缓冲区中缓冲的视频数据量大于第二阔值点Pz时,采用如下公式获得所述 待发送速率:
(3)
[0090] 其中,V为待发送速率,V。为前一视频记录采样周期内发送到网络的最终发送速 率,T为视频记录采样周期,Ay为一级修正因子,Ax为二级修正因子。
[0091] 所述当前缓冲区中视频数据大小与视频传输网络所允许延时的关系,即为上述H 个条件的H个公式。
[0092] 步骤5、将所述待发送速率分别与当前视频传输网络带宽和视频码流在视频传输 网络中的波动最大值进行比较,W确定实际发送速率。
[0093] 其中,所述视频码流在视频传输网络中的波动最大值等于视频图像目标平滑值 与视频传输网络码率的乘积。例如,若视频图像目标平滑值定为10 %,视频传输网络码率 IMbps,则视频码流在视频传输网络中的波动最大值为IMbpsX10%= 1.IMbps,即视频码 流在视频传输网络中的波动范围最大不能超过1. 1Mbps。
[0094] 本步骤5中,具体地是将所述待发送速率、当前视频传输网络带宽、视频码流在视 频传输网络中的波动最大值H者中的最小值确定为实际发送速率。即若所述待发送速率是 该H者中最小的,则将待发送速率确定为实际发送速率,若当前视频传输网络带宽是该H 者中最小的,则将当前视频传输网络带宽确定为实际发送速率,若视频码流在视频传输网 络中的波动最大值是该H者中最小的,则将视频码流在视频传输网络中的波动最大值确定 为实际发送速率。具体的实现流程可先将待发送速率、当前视频传输网络带宽进行比较W确定一个较小的值,再将该较小的值与视频码流在视频传输网络中的波动最大值进行比较 W将该次比较出的最小值作为实际发送速率。
[0095] 步骤6、采用所述实际发送速率发送所述缓冲区中的视频数据。
[0096] 在执行本步骤6时,需要同时记录采用所述实际发送速率发送所述缓冲区中的视 频数据所用的时长,W在随后使用。
[0097] 步骤7、如果采用所述实际发送速率发送所述缓冲区中的视频数据所用时长超过 所述采样周期,则调整所述当前缓冲区中视频数据大小与视频传输网络所允许延时的关 系,W在下一个视频记录采样周期内采用。
[0098] 调整所述当前缓冲区中视频数据大小与视频传输网络所允许延时的关系,即为调 整公式(1)、公式(2)和公式(3)中的一级修正因子Ay,作为一个具体实施例,Ay的取值 范围为0~0. 15。
[0099] -级修正因子的调整过程包括:
[0100] 当所述缓冲区中缓冲的视频数据量大于等于0,且小于所述视频传输网络延时所 允许的缓冲数据量的1/8时,所述一级修正因子Ay为-0. 15 ;
[0101] 当所述缓冲区中缓冲的视频数据量大于等于所述视频传输网络延时所允许的缓 冲数据量的1/8,且小于所述视频传输网络延时所允许的缓冲数据量的2/8时,所述一级修 正因子Ay为-0. 1 ;
[0102] 当所述缓冲区中缓冲的视频数据量大于等于所述视频传输网络延时所允许的缓 冲数据量的2/8,且小于所述视频传输网络延时所允许的缓冲数据量的3/8时,所述一级修 正因子Ay为-0. 05 ;
[0103] 当所述缓冲区中缓冲的视频数据量大于等于所
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1