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

文档序号:9582170阅读:来源:国知局
述视频传输网络延时所允许的缓 冲数据量的3/8,且小于等于所述视频传输网络延时所允许的缓冲数据量的5/8时,所述一 级修正因子Ay为0 ;
[0104] 当所述缓冲区中缓冲的视频数据量大于所述视频传输网络延时所允许的缓冲数 据量的5/8,且小于等于所述视频传输网络延时所允许的缓冲数据量的6/8时,所述一级修 正因子Ay为0. 05 ;
[0105] 当所述缓冲区中缓冲的视频数据量大于所述视频传输网络延时所允许的缓冲数 据量的6/8,且小于等于所述视频传输网络延时所允许的缓冲数据量的7/8时,所述一级修 正因子Ay为0. 1 ;
[0106] 当所述缓冲区中缓冲的视频数据量大于所述视频传输网络延时所允许的缓冲数 据量的7/8,且小于等于所述视频传输网络延时所允许的缓冲数据量的8/8时,所述一级修 正因子Ay为0. 15。
[0107] 本发明的上述方法中,如图4所示,二级修正因子是通过如下过程进行确定的。 [010引步骤al、根据视频编码器的码率,设定第H阔值点和第四阔值点,其中第H阔值点 小于第四阔值点。
[0109] 参照图5所示,假设其中阴影区域为视频编码器的码率,第H阔值点Ps和第四阔 值点P4分别设置于视频编码器的码率的两侧,且第H阔值点Ps小于第四阔值点P4。作为一 个具体实施例,第H阔值点Ps可设置为视频编码器的码率的3/4,第四阔值点P4可设置为 视频编码器的码率的5/4,即
[0111] 其中,Ps为第H阔值点,P4为第四阔值点,T为视频记录采样周期,P。为视频编码器 码率,其中,视频编码器码率在配置视频编码器时进行设定,设定完视频编码器码率之后, 视频编码器才能进行工作。
[0112] 例如,视频编码器的码率为2Mbps,则第H阔值点Ps为3/4X2Mbps= 1. 5Mbps,第 四阔值点Pa为 5/4X2Mbps= 2. 5Mbps。
[0113] 步骤a2、统计当前时间之前2砂钟到当前时间之前I砂钟的实际码流量,记为第一 实际码流量,统计当前时间之前1砂钟到当前时间的实际码流量,记为第二实际码流量。
[0114] 本步骤中,统计当前时间之前2砂钟到当前时间之前1砂钟的实际码流量,是将当 前时间之前2砂钟到当前时间之前1砂钟内所有采样周期所发送视频数据的大小进行累 加,若1砂钟由N(N> 1)个采样周期组成,则统计当前时间之前2砂钟到当前时间之前1 砂钟内的N个采样周期所发送的视频数据。例如,若一个采样周期为62. 5ms,郝么1砂钟便 由16个化2. 5msX16 = 1巧采样周期所组成,郝么本步骤中,统计当前时间之前2砂钟到 当前时间之前1砂钟的实际码流量,则是统计当前时间之前2砂钟到当前时间之前1砂钟 内的16个采样周期所发送的视频数据的大小并进行累加,进而确定当前时间之前2砂钟到 当前时间之前1砂钟内的实际码流量。同理,统计当前时间之前1砂钟到当前时间的实际 码流量,是将是将当前时间之前1砂钟当前时间内所有采样周期所发送视频数据的大小进 行累加。
[0115] 在实际中,若当前时间,统计完第一实际码流量和第二实际码流量后,再过1砂钟 的下一个统计时间点时,可直接将当前时间的第二实际码流量作为下一个统计时间点的第 一实际码流量,而不必在下一个统计时间点重新进行统计。
[0116] 步骤曰3、根据第一实际码流量和第二实际码流量与所述第H阔值点和第四阔值点 的比较,确定是否调整二级修正因子。
[0117] 具体地,当第一实际码流量和第二实际码流量均低于所述第H阔值点时,执行步 骤曰4,当第一实际码流量和第二实际码流量均高于所述第四阔值点时,执行步骤曰5,而在 其他情况下不进行二级修正因子的调整。
[0118] 步骤a4、当第一实际码流量和第二实际码流量均低于所述第H阔值点时,采用如 下公式调整二级修正因子:
[0120] 其中,Ps为第H阔值点,P4为第四阔值点,T为视频记录采样周期,S为当前视频记 录采样周期的视频编码器的码流量,Ax为所述二级修正因子。
[0121] 步骤曰5、当第一实际码流量和第二实际码流量均高于所述第四阔值点时,采用如 下公式调整二级修正因子:
[0123] 其中,Ps为第H阔值点,P4为第四阔值点,T为视频记录采样周期,S为当前视频记 录采样周期的视频编码器的码流量,Ax为所述二级修正因子。
[0124] W下结合一具体实施例对本发明的方法进行进一步说明。
[01巧]如图6所示,本发明的视频图像数据的网络发送速率的平滑方法实施例流程包括W下各个步骤。
[0126] 步骤bl、在记录采样周期内,通过写指针向缓冲区中更新视频码流,之后进入步骤 b2〇
[0127] 本步骤bl中,视频编码器通过写指针将视频码流更新到缓冲区中,通过写指针在 缓冲区中位置的更新,可W得知更新到缓冲区中的视频码流的最末位置。
[0128] 步骤b2、计算当前视频记录采样周期内的视频编码器的码流变化,之后进入步骤 b3。
[0129] 本步骤b2中的视频编码器的码流变化是指前后两个采样周期内视频编码器输出 码流量的差别,即
[0130] AS = S-So
[0131] 其中,AS为当前视频记录采样周期的视频编码器的码流变化,S为当前视频记录 采样周期的视频编码器的码流量,S。为前一视频记录采样周期的视频编码器的码流量。
[0132] 步骤b3、通过读指针和写指针在缓冲区的位置计算当前缓冲区中视频数据的实际 大小,之后进入步骤b4。
[0133] 因为在写指针将视频数据存放到缓冲区时,写指针在缓冲区中的位置会随着视频 数据的写入而更新;在读指针将视频数据从缓冲区读出时,读指针在缓冲区中的位置会随 着视频数据的读出而更新。因此,本步骤中,可通过读指针与写指针在所述缓冲区中的位 置,进而确定当前缓冲区中视频数据大小。
[0134] 步骤b4、根据当前缓冲区中视频数据的实际大小与视频传输网络所允许延时的关 系,计算视频数据的待发送速率,之后进入步骤b5。
[0135]本步骤b4中,通过在缓冲区中设置第一阔值点Pi和第二阔值点P2(图3所示), 并具体是通过如下的方法获得所述视频数据的待发送速率的。
[0136] 当所述缓冲区中缓冲的视频数据量小于第一阔值点Pi时,采用如下公式获得所述 待发送速率:
(1 )
[013引当所述缓冲区中缓冲的视频数据量位于所述第一阔值点Pi和第二阔值点Pz之间 时,采用如下公式获得所述待发送速率:
(2)
[0140] 当所述缓冲区中缓冲的视频数据量大于第二阔值点Pz时,采用如下公式获得所述 待发送速率:
(3)
[0142]其中,V为待发送速率,V。为前一视频记录采样周期内发送到网络的最终发送速 率,T为视频记录采样周期,Ay为一级修正因子,AX为二级修正因子,Ay的取值范围为 O~0. 15。
[0143] 步骤b5、将待发送速率与检测到的当前视频传输网络带宽进行比较,如果待发送 速率小于检测到的当前带宽,则将待发送速率带入步骤b6,否则将当前视频传输网络带宽 带入步骤b6。
[0144] 步骤b6、将步骤b5带入的值与视频码流在视频传输网络中的波动最大值进行比 较,若步骤b5带入的值小于视频码流在视频传输网络中的波动最大值,则将步骤b5带入的 值确定为实际发送速率,否则将视频码流在视频传输网络中的波动最大值确定为实际发送 速率,之后进入步骤b7。
[0145] 步骤b7、采用所述实际发送速率发送缓冲区中的视频数据,之后进入步骤b8。
[0146] 步骤b8、判断步骤b7中采用所述实际发送速率发送缓冲区中的视频数据所使用 的时间是否超过记录采样周期,如果是则进入步骤b9,否则进入步骤blO。
[0147] 步骤b9、调整一级修正因子,并在下一记录采样周期返回步骤bl。
[0148] 本步骤b9中,一级修正因子Ay的调整方法为:
[0149] 当缓冲区中缓冲的视频数据量大于等于0,且小于视频传输网络延时所允许的缓 冲数据量的1/8时,Ay= -0. 15 ;当缓冲区中缓冲的视频数据量大于等于视频传输网络延 时所允许的缓冲数据量的1/8,且小于视频传输网络延时所允许的缓冲数据量的2/8时, Ay= -0. 1 ;当缓冲区中缓冲的视频数据量大于等于视频传输网络延时所允许的缓冲数据 量的2/8,且小于所述视频传输网络延时所允许的缓冲数据量的3/8时,Ay= -0. 05 ;当缓 冲区中缓冲的视频数据量大于等于视频传输网络延时所允许的缓冲数据量的3/8,且小于 等于视频传输网络延时所允许的缓冲数据量的5/8时,Ay= 0 ;当缓冲区中缓冲的视频数 据量大于视频传输网络延时所允许的缓冲数据量的5/8,且小于等于视频传输网络延时所 允许的缓冲数据量的6/8时,Ay= 0. 05 ;当缓冲区中缓冲的视频数据量大于视频传输网 络延时所允许的缓冲数据量的6/8,且小于等于视频传输网络延时所允许的缓冲数据量的 7/8时,Ay= 0. 1 ;当缓冲区中缓冲的视频数据量大于视频传输网络延时所允许的缓冲数 据量的7/8,且小于等于视频传输网络延时所允许的缓冲数据量的8/8时,Ay= 0. 15。
[0150] 步骤blO、休眠本记录采样周期的剩余时间,并在下一记录采样周期返回步骤bl。
[0151] 经过上述过程后,若一级修正因子Ay进行了调整,便可在下一记录采
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1