一种视频数据流量整形的方法和装置制造方法

文档序号:7796335阅读:218来源:国知局
一种视频数据流量整形的方法和装置制造方法
【专利摘要】本发明提供一种视频数据流量整形的方法和装置,该方法应用于编码设备上,该方法包括:对P帧数据进行流量整形时,根据最大发送时延时间和帧间隔时间中较小的时间进行发送速率的设置。本发明方案有效降低网络节点上不同视频源之间I帧与P帧重合时的流量突发。
【专利说明】一种视频数据流量整形的方法和装置
【技术领域】
[0001]本发明涉及视频监控【技术领域】,尤其涉及一种视频数据流量整形的方法和装置。【背景技术】
[0002]由于原始视频数据较大,因此视频数据需经过编码压缩后,才能在IP网络中进行传输,如图1所示。常见的视频压缩编码有MJPEG、MPEG2、MPEG4、H264等。
[0003]常见有两类视频压缩编码方式:一种为采用空间域压缩方式,帧与帧之间相对比较独立,每帧的数据量相对比较均衡,如MJPEG ;另一种为采用空间域与时间域相结合的压缩方式,通过降低帧与帧之间的冗余信息来压缩视频数据,因此帧与帧之间一般有较强关联,如 MPEG2、MPEG4、H264 等。
[0004]对于空间域与时间域相结合的MPEG与H264视频数据压缩方式,又将帧划分为3类:1帧、P帧、B帧。其中,I (intracoded)帧为帧内编码,不参考其他帧,可作为其他类型帧的参考帧,与其它帧没有关联,可独立播放。因此,I帧数据量相对较大;P (predicted)帧为预测帧,采用帧间编码,参考前一个I帧或P帧,用作运动补偿;B (bidirectional)帧即双向预测帧,参考前后两个方向的I帧或P帧,但B帧与B帧之间没有关联。由于双向预测帧需要关联前后帧,所有一般只用于视频存储、VOD等非实时通信中。对于视频会议、监控等实时要求较高的通讯中,一般只采用I帧和P帧。
[0005]由于I帧使用帧内编码,因此I帧数据量相对比P帧多很多,一般为P帧的4倍以上。在没有任何视频码流平滑情况下,将在I帧时刻可能产生网络流量突发。特别对于监控实况应用场合中,由于常常会用到一路视频码流复制分发到多个目的地进行同时播放情况,导致I帧集中发送,此时,在I帧时刻将产生更大的网络流量突发,容易导致网络丢包,并最终导致可能无法播放实况。图2所示为编码设备在IOOMbps网卡情况下的视频数据网络流量简要示意图。为解决I帧网络流量突发问题,一般对每路实况采用总最大流量限制的流量整形方法来进行码率平滑,图3所示为编码设备在IOOMbps网卡、30Mbps限流平滑情况下,视频数据网络流量简要示意图。通过限制最大发送码率,延长发送时长即增加网络传输延时,从而达到降低网络突发流量的目的。
[0006]如图3所示,采用总最大流量限制的流量整形方法对视频数据进行了码率平滑,I帧与P帧采用了相同的以最大流量值进行视频数据传输。该方法虽然已经对流量进行了整形,但在实际的应用中,还存在流量突出的情况;所以对现有的流量整形技术进行进一步的改进是技术人员需要开展的工作。

【发明内容】

[0007]有鉴于此,本发明提供一种视频数据流量整形的方法和装置。
[0008]本发明技术实现方案如下:
[0009]该视频数据流量整形的方法应用于编码设备上,该方法包括:对P帧数据进行流量整形时,根据最大发送时延时间和帧间隔时间中较小的时间进行发送速率的设置。优选地,该根据最大发送时延时间和帧间隔时间中较小的时间进行发送速率的设置具体为:S1、当发送P帧时,判断当前设置的发送时延时间是否大于帧间隔时间,如果是,执行步骤S2,否则执行S3 ;S2、判断当前是否有被I帧影响的P巾贞,如果是,执行S4 ;否则执行S5 ;S3、设置当前P帧发送速率为:P帧发送速率=P帧数据量/当前设置的最大发送时延时间;返回SI ;S4、设置当前P帧发送速率为:P帧发送速率=当前P帧缓冲的总数据量/ ((n+1)*帧间隔时间-当前帧组已发送时间),其中n为被影响的P帧的帧数,n > I ;转S6 ;S5、设置当前P帧发送速率为:P帧发送速率=P帧数据量/帧间隔时间;返回SI ;S6、判断计算得到的P帧发送速率是否大于本帧组中的I帧发送速率,如果是,执行步骤S7,否则执行S8 ;S7、以本帧组中I帧发送速率作为当前P帧的发送速率;返回SI ;S8、以计算得到的P帧发送速率作为当前P帧的发送速率;返回SI。
[0010]优选地,该最大发送时延时间为静态值。
[0011]优选地,将I帧按照预设速率限速的情况下,最大发送时延时间=I帧数据量/对I帧预设的限速速率;在对I帧未按照预设速率限速的情况下,最大发送时延时间=I帧数据量/网卡支持的最大发送速率。
[0012]优选地,该最大发送时延时间为动态调整值。
[0013]优选地,对最大发送时延时间进行动态调整包括如下步骤:步骤A、判断是否丢包,如果是,执行步骤B,否则执行步骤C ;步骤B、判断丢包是否严重,如果是,执行步骤D,否则执行步骤E ;步骤C、判断是否到达设定的最大发送时延时间的最小值,如果是,执行步骤F,否则执行步骤G ;步骤D、将最大发送时延时间设置为最大值,返回步骤A ;步骤E、判断是否到达设定的最大发送时延时间的最大值,如果是,执行步骤H,否则执行步骤I ;步骤F、不调整最大发送时延时间,返回步骤A ;步骤G、将最大发送时延时间减小一个步长,返回步骤A ;步骤H、不调整最大发送时延时间,返回步骤A ;步骤1、将最大发送时延时间增加一个步长,返回步骤A。
[0014]优选地,在最大发送时延时间调整后,设置I帧的发送速率为:1帧发送速率=I帧数据量/最大发送时延时间。
[0015]该视频数据流量整形的装置应用于编码设备,该装置包括:P帧整形模块,用于对P帧数据进行流量整形时,根据最大发送时延时间和帧间隔时间中较小的时间进行发送速
率的设置。
[0016]优选地,该P帧整形模块还包括:时间比较子模块,用于比较当前最大发送时延时间和帧间隔时间的大小;被影响P帧确认子模块,用于在当前最大发送时延时间大于帧间隔时间时,确认被I巾贞影响的P巾贞巾贞数;P巾贞整形子模块,用于在当前最大发送时延时间小于等于帧间隔时间时,将P帧发送速率设置为:P帧发送速率=P帧数据量/当前设置的最大发送时延时间;在当前最大发送时延时间大于帧间隔时间时,如果被影响P帧确认子模块确认被I帧影响的P帧帧数为0时,设置当前P帧发送速率为:P帧发送速率=P帧数据量/帧间隔时间;如果被影响P帧确认子模块确认被I帧影响的P帧帧数为n时,将根据公式“P帧发送速率=当前P帧缓冲的总数据量/ ((n+1) *帧间隔时间-当前帧组已发送时间)”计算得到的P帧发送速率与I帧发送速率进行比较,如果大于I帧发送速率,则以I帧发送速率作为当前P帧的发送速率,否则以计算得到P帧发送速率作为当前P帧的发送速率,其中n > I。[0017]该视频数据流量整形的装置还连接有流量控制单元,该流量控制单元对最大发送时延时间进行动态调整,该流量控制单元包括:
[0018]丢包判断模块,用于判断是否丢包;并且在丢包的情况下进一步判断丢包严重与否;
[0019]最大发送时延调整模块,用于未丢包且未到达最大发送时延时间最小值的情况下,将当前的最大发送时延时间减小一个步长;还用于在未丢包但最大发送时延时间到达最小值时不调整当前的最大发送时延时间;还用于在丢包,且丢包严重的情况下,将当前最大发送时延时间设置为最大值;还用与在丢包,且丢包不严重的情况下,若当前最大发送时延时间到达最大值时不调整当前的最大发送时延时间,若当前最大发送时延时间未到达最大值时将当前的最大发送时延时间增加一个步长。
[0020]相较于现有技术,本发明方案有效降低网络节点上不同视频源之间I帧与P帧重合时的流量突发。
【专利附图】

【附图说明】
[0021]图1是视频数据在IP网络传输示意图。
[0022]图2是无码流平滑的视频数据网络流量示意图。
[0023]图3是30Mbps限流平滑的视频数据网络流量示意图。
[0024]图4是本发明实施例流程图。
[0025]图5是应用本发明技术的举例说明图。
[0026]图6是基于最大发送时延的流量整形结构图。
[0027]图7是最大发送时延时间调整流程图。
[0028]图8是最大发送时延时间小于帧间隔流量平滑后视频数据网络流量。
[0029]图9是最大发送时延时间大于帧间隔流量平滑后视频数据网络流量。
[0030]图10是本发明实施例装置逻辑结构图。
【具体实施方式】
[0031]在不影响视频实时性情况下,发明人考虑将I帧与P帧都按照可接受的帧最大发送时延时间来设计各帧的流量发送限制值。本发明方案有效降低网络节点上不同视频源之间I帧与P帧重合时的流量突发。比如多路实况视频传输到同一目的进行解码的场合,网络流量将更加平滑。以下通过具体实施例进行详细说明。
[0032]在最大发送时延时间设置为静态值的情况下,I帧的发送速率也为固定值。实际上,静态的最大发送时延时间常根据对I帧预设的限流速率(比如【背景技术】中提到的30Mbps)来确定,即最大发送时延时间=I帧数据量/I帧限流速率;如果对I帧没有预设固定的限流速率时,则可以直接根据网卡支持的最大发送速率,比如说【背景技术】中提到的IOOMbps来确定静态的最大发送时延时间,即最大发送时延时间=I帧数据量/网卡支持的最大发送速率;当然也可以根据用户能接受的最大视频数据延时时间直接设置该最大发送时延时间,此时I帧的发送速率=I帧数据量/用户能接受的最大视频数据延时时间。
[0033]在最大发送时延时间为动态值的情况下,I帧发送速率也将动态变化:1帧发送速率=I帧数据量/最大发送时延时间。至于最大发送时延时间如何动态变化下文将详细说明。
[0034]本发明实施例基于最大发送时延时间对P帧的流量进行整形。进一步地,在对P帧流量进行整形时,还考虑当前设置的最大发送时延时间与帧间隔时间的大小。无论最大发送时延时间是静态设置的,还是动态调整的,P帧的流量整形均参照图4执行。
[0035]请参图4,该图给出了对P帧的流量整形流程,其包括如下步骤:
[0036]S41、发送P帧时,判断当前设置的最大发送时延时间是否大于帧间隔时间,如果是,执行S42,否则执行S43 ;
[0037]S42、判断当前是否有被I帧影响的P帧,如果是,执行S44 ;否则执行S45 ;
[0038]S43、令当前P帧发送速率为:P帧发送速率=P帧数据量/当前设置的最大发送时延时间;返回S41 ;
[0039]S44、令当前P帧发送速率为:P帧发送速率=当前P帧缓冲的总数据量/ ((n+1)*帧间隔时间-当前帧组已发送时间),其中n为被影响的P帧的帧数,n > I ;转S46 ;
[0040]S45、令当前P帧发送速率为:P帧发送速率=P帧数据量/帧间隔时间;返回S41 ;
[0041]S46、判断S44中计算得到的P帧发送速率是否大于本帧组中的I帧发送速率,如果是,执行步骤S47,否则执行S48 ;
[0042]S47、以本帧组中I帧发送速率作为当前P帧的发送速率;返回S41 ;
[0043]S48、以S44中计算得到的P帧发送速率作为当前P帧的发送速率;返回S41。
[0044]由于P帧的数据量比较小,所以在发送P帧数据时,不是仅简单的根据最大发送时延时间来计算P帧的发送速率,而是根据最大发送时延时间和帧间隔时间两者中较小的时间来计算当前P帧的发送速率。而I帧由于数据量比较大,只要保证在最大发送时延时间内将I帧全部发送出去就认为满足发送要求。所以在对P帧流量整形时,在以降低流量突发为原则的情况下,还进一步考虑了数据发送的实时性。以下再对P帧流量整形进行进一步说明。
[0045]在一个巾贞组(GOP)中,先发送I巾贞,然后发送P巾贞。所以,在最大发送时延时间小于等于帧间隔时间的情况下,由于I帧可以在一个帧间隔时间内完成发送,不会影响到紧接I帧下面的P帧发送,所以对于该情况,当前P帧的发送速率为:
[0046]P帧发送速率=P帧数据量/当前设置的最大发送时延时间(I)
[0047]但是,在最大发送时延时间大于帧间隔时间的情况下,由于I帧发送不能在一个帧间隔时间内完成,所以I帧的发送会影响到紧接I帧下面的一个或多个P帧的发送。所以在发送当前P帧时,先判断当前是否有被I帧影响的P帧,如果有,则确定被影响的P帧有几帧。在确定了被影响的P帧数量后,则可以根据以下公式计算当前P帧发送的速率:
[0048]P帧发送速率=当前P帧缓冲的总数据量/ ((n+1)*帧间隔时间-当前帧组已发送时间)(2)
[0049]当式(2)计算得到的结果大于本帧组中I帧发送的速率,则以该I帧的速率来发送缓存中的P帧数据;如果式(2)计算得到的结果小于等于本帧组中I帧发送的速率,则采用上述公式计算得到的结果来发送缓存中的P帧数据。这样设计主要还是从流量突发的角度来考虑的。
[0050]在最大发送时延时间大于帧间隔时间的情况下,在发送当前P帧时,如果该P帧没有受I帧发送的影响,则根据公式(3)计算当前P帧的发送速率:[0051]P帧发送速率=P帧数据量/帧间隔时间(3)
[0052]在每一次进行P帧数据发送的时候,先判断根据哪个公式来计算P帧的发送速率,然后再进行P帧数据的发送。以下通过一个具体的例子来描述本发明实施例。
[0053]假设帧间隔时间为40ms,帧发送最大时延时间为100ms。请参图5,I帧发送时间为100ms,发送速率Rl=I帧数据量/100ms。I帧发送完成后,执行P帧发送。I帧发送完成的时间点落入第3个帧间隔时间,属于发送第2个P帧的帧间隔时间段,即当前需要执行第2个P帧的发送,但由于本帧组中的第I个P帧尚未发送,所以第I个P帧受I帧发送的影响;同时,第2个P帧本应该在第80ms开始发送,所以第2个P帧也属于被影响的帧。所以n=2,当前巾贞组已发送的时间为100ms,利用公式(2)计算缓存中P巾贞数据在接下来的20ms,即第IOOms到120ms这个时间段的发送速率。假设计算结果超过I帧发送速率,根据规则,取I帧发送速率Rl ;当到达120ms时,下一 P帧数据到来,重新开启新的一个帧发送间隔;此时取当前P帧缓冲总数据量,该P帧缓冲总数据量=当前剩余P帧数据量+该P帧数据量,重复迭代使用公式(2),此时公式(2)中的n为3,分母中的时间值为40ms,从而计算出速率R2,假设R2〈R1,则以R2的速率进行发送。此时后续的P帧数据将不再受到影响,使用公式(3),计算得到发送速率R3。
[0054]由于每个P帧数据量都比较小,所以因I帧数据的发送而影响其后的一个或几个P帧数据发送时,这些被影响的一个或几个P帧的数据以及后续的其他P帧数据均能在该帧组结束前被发送出去,这样就不会影响到下一个帧组数据的发送。所以在I帧发送速率动态变化的情况下,只需要将I帧的数据量除以最大发送时延时间。
[0055]请参图6,图6为基于最大发送时延时间的流量整形结构图,其主要包括四部分:视频编码帧数据单元、基于最大发送时延流量整形单元(以下简称流量整形单元)、RTP(Realtime Transport Protocol) /RTCP(RTP Control Protocol)协议单兀、流量控制单元。该视频编码帧数据单元向流量整形单元提供视频编码帧数据、编码帧类型、以及帧间隔时间。流量整形单元缓冲编码帧数据,并根据设定的最大延时时间,参照图4流程,计算每时间间隔可以发送的视频数据量,提交到RTP协议单元。RTP/RTCP协议单元发送RTP报文,并定时发送RTCP的SR (Sender Report)协议报文到接收端,报告发送端的发送情况。接收端根据接收到的RTP报文情况,计算丢报数量、丢报比率、抖动等信息,组成RTCP的RR(Recvier Report)协议报文,发送到视频数据发送端。发送端根据RR报文,提取丢包信息,反馈给流量控制单元。流量控制单元根据丢报反馈,动态调整最大发送时延时间,从而达到最佳的流量整形要求。
[0056]图7为一种动态调整最大发送时延时间的方法流程图。该流程包括如下步骤:
[0057]S71、判断是否丢包,如果是,执行步骤S72,否则执行步骤S73 ;
[0058]S72、判断丢包是否严重,如果是,执行步骤S74,否则执行步骤S75 ;
[0059]S73、判断是否到达设定的最大发送时延时间的最小值,如果是,执行步骤S76,否则执行步骤S77 ;
[0060]S74、将最大发送时延时间设置为最大值,返回S71 ;
[0061]S75、判断是否到达设定的最大发送时延时间的最大值,如果是,执行步骤S78,否则执行步骤S79 ;
[0062]S76、不调整最大发送时延时间,返回S71 ;[0063]S77、将最大发送时延时间减小一个步长,返回S71 ;
[0064]S78、不调整最大发送时延时间,返回S71 ;
[0065]S79、将最大发送时延时间增加一个步长,返回S71。
[0066]步骤S72对于丢包严重与否,可以设定一个阈值,如果丢包率大于该阈值,则认为丢包严重,否则不认为丢包严重。
[0067]从上述实施例流程可以看出,最大发送时延时间的调整是在一个区间内进行的,即在设定的最大发送时延最小值和最大值之间进行最大发送时延的有限调整。这样处理兼顾了丢包率和实时性这对矛盾体。优选地,最大发送时延时间的最小值=I帧的数据量/对I帧预设的限速速率;如果对I帧未进行限速,则最大发送时延时间的最小值=I帧的数据量/网卡支持的最大发送速率。最大发送时延时间的最大值为用户接受的最大发送时延时间。
[0068]这里需要说明的是,对每个帧组数据进行发送时,重新获取最新的最大发送时延时间;但是同一帧组参考的则是同一个最大发送时延时间。所以最大发送时延时间的调整对下一个帧组的流量整形产生影响,但是对于当前帧组则不产生影响。
[0069]请参图8和图9,这两个图显示了基于最大发送时延进行的视频数据流量整形的效果图。这两个效果图均是以最大发送时延时间不变为例来进行显示的。其中,图8是最大发送时延时间小于帧间隔的情况,图9是最大发送时延时间大于帧间隔的情况。将图8、图9和图2、图3进行比较,可以看出,视频数据得到了有效的平滑,流量突发的概率将显著变小。
[0070]基于同样的构思,本发明还提供一种视频数据流量整形的装置,该装置应用于编码设备。请参图10,该装置包括:P帧整形模块。该P帧整形模块,用于对P帧数据进行流量整形时,根据最大发送时延时间和帧间隔时间中较小的时间进行发送速率的设置。
[0071]该P帧整形模块还包括:时间比较子模块,用于比较当前最大发送时延时间和帧间隔时间的大小;被影响P帧确认子模块,用于在当前最大发送时延时间大于帧间隔时间时,确认被I帧影响的P帧帧数;P帧整形子模块,用于在当前最大发送时延时间小于等于帧间隔时间时,将P帧发送速率设置为:P帧发送速率=P帧数据量/当前设置的最大发送时延时间;在当前最大发送时延时间大于帧间隔时间时,如果被影响P帧确认子模块确认被I帧影响的P帧帧数为0时,设置当前P帧发送速率为:P帧发送速率=P帧数据量/帧间隔时间;如果被影响P帧确认子模块确认被I帧影响的P帧帧数为n时,将根据公式“P帧发送速率=当前P帧缓冲的总数据量/ ((n+1) *帧间隔时间-当前帧组已发送时间)”计算得到的P帧发送速率与I帧发送速率进行比较,如果大于I帧发送速率,则以I帧发送速率作为当前P帧的发送速率,否则以计算得到P帧发送速率作为当前P帧的发送速率,其中n > I。
[0072]该最大发送时延时间的调整由流量控制单元执行,将调整后的最大发送时延时间通知视频数据流量整形装置,所述流量控制单元包括:丢包判断模块,用于判断是否丢包;并且在丢包的情况下进一步判断丢包严重与否;最大发送时延调整模块,用于未丢包且未到达最大发送时延时间最小值的情况下,将当前的最大发送时延时间减小一个步长;还用于在未丢包但最大发送时延时间到达最小值时不调整当前的最大发送时延时间;还用于在丢包,且丢包严重的情况下,将当前最大发送时延时间设置为最大值;还用于在丢包,且丢包不严重的情况下,若当前最大发送时延时间到达最大值时不调整当前的最大发送时延时间,若当前最大发送时延时间未到达最大值时将当前的最大发送时延时间增加一个步长。
[0073]在最大发送时延时间动态调整的情况下,本发明的视频数据流量整形装置的I帧整形模块,用于在最大发送时延时间调整后,设置I帧的发送速率为:1帧发送速率=I帧数据量/最大发送时延时间。
[0074]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种视频数据流量整形的方法,该方法应用于编码设备上,其特征在于,该方法包括: 对P帧数据进行流量整形时,根据最大发送时延时间和帧间隔时间中较小的时间进行发送速率的设置。
2.如权利要求1所述的方法,其特征在于,所述根据最大发送时延时间和帧间隔时间中较小的时间进行发送速率的设置具体为: 51、当发送P帧时,判断当前设置的发送时延时间是否大于帧间隔时间,如果是,执行步骤S2,否则执行S3 ; 52、判断当前是否有被I帧影响的P帧,如果是,执行S4;否则执行S5 ; 53、设置当前P帧发送速率为:P帧发送速率=P帧数据量/当前设置的最大发送时延时间;返回SI ; 54、设置当前P帧发送速率为:P帧发送速率=当前P帧缓冲的总数据量/((n+1)*帧间隔时间-当前帧组已发送时间),其中n为被影响的P帧的帧数,n > I ;转S6 ; 55、设置当前P帧发送速率为:P帧发送速率=P帧数据量/帧间隔时间;返回SI; 56、判断计算得到的P帧发送速率是否大于本帧组中的I帧发送速率,如果是,执行步骤S7,否则执行S8; 57、以本帧组中I帧发送速率作为当前P帧的发送速率;返回SI;` 58、以计算得到的P帧发送速率作为当前P帧的发送速率;返回SI。
3.如权利要求1或2所述的方法,其特征在于,所述最大发送时延时间为静态值。
4.如权利要求3所述的方法,其特征在于,将I帧按照预设速率限速的情况下,最大发送时延时间=I帧数据量/对I帧预设的限速速率;在对I帧未按照预设速率限速的情况下,最大发送时延时间=I帧数据量/网卡支持的最大发送速率。
5.如权利要求1或2所述的方法,其特征在于,所述最大发送时延时间为动态调整值。
6.如权利要求5所述的方法,其特征在于,对最大发送时延时间进行动态调整包括如下步骤: 步骤A、判断是否丢包,如果是,执行步骤B,否则执行步骤C ; 步骤B、判断丢包是否严重,如果是,执行步骤D,否则执行步骤E ; 步骤C、判断是否到达设定的最大发送时延时间的最小值,如果是,执行步骤F,否则执行步骤G ; 步骤D、将最大发送时延时间设置为最大值,返回步骤A ; 步骤E、判断是否到达设定的最大发送时延时间的最大值,如果是,执行步骤H,否则执行步骤I ; 步骤F、不调整最大发送时延时间,返回步骤A ; 步骤G、将最大发送时延时间减小一个步长,返回步骤A ; 步骤H、不调整最大发送时延时间,返回步骤A ; 步骤1、将最大发送时延时间增加一个步长,返回步骤A。
7.如权利要求6所述的方法,其特征在于,最大发送时延时间调整后,设置I帧的发送速率为:1帧发送速率=I帧数据量/最大发送时延时间。
8.一种视频数据流量整形的装置,该装置应用于编码设备,其特征在于,该装置包括:P帧整形模块,用于对P帧数据进行流量整形时,根据最大发送时延时间和帧间隔时间中较小的时间进行发送速率的设置。
9.如权利要求8所述的装置,其特征在于,所述P帧整形模块还包括: 时间比较子模块,用于比较当前最大发送时延时间和帧间隔时间的大小; 被影响P帧确认子模块,用于在当前最大发送时延时间大于帧间隔时间时,确认被I帧影响的P帧帧数; P帧整形子模块,用于在当前最大发送时延时间小于等于帧间隔时间时,将P帧发送速率设置为:P帧发送速率=P帧数据量/当前设置的最大发送时延时间;在当前最大发送时延时间大于帧间隔时间时,如果被影响P帧确认子模块确认被I帧影响的P帧帧数为O时,设置当前P帧发送速率为:P帧发送速率=P帧数据量/帧间隔时间;如果被影响P帧确认子模块确认被I帧影响的P帧帧数为n时,将根据公式“P帧发送速率=当前P帧缓冲的总数据量/ ((n+1) *帧间隔时间-当前帧组已发送时间)”计算得到的P帧发送速率与I帧发送速率进行比较,如果大于I帧发送速率,则以I帧发送速率作为当前P帧的发送速率,否则以计算得到P帧发送速率作为当前P帧的发送速率,其中n≥1。
10.如权利要求8或9所述的装置,其特征在于,所述最大发送时延时间为静态值。
11.如权利要求10所述的装置,其特征在于,将I帧按照预设速率限速的情况下,最大发送时延时间=I帧数据量/对I帧预设的限速速率;在对I帧未按照预设速率限速的情况下,最大发送时延时间=I帧数据量/网卡支持的最大发送速率。
12.如权利要求8或9所述的方法,其特征在于,所述最大发送时延时间为动态调整值。
13.如权利要求12所述的方法,其特征在于,该最大发送时延时间的调整由流量控制单元执行,将调整后的最大发送时延时间通知视频数据流量整形装置,所述流量控制单元包括: 丢包判断模块,用于判断是否丢包;并且在丢包的情况下进一步判断丢包严重与否; 最大发送时延调整模块,用于未丢包且未到达最大发送时延时间最小值的情况下,将当前的最大发送时延时间减小一个步长;还用于在未丢包但最大发送时延时间到达最小值时不调整当前的最 大发送时延时间;还用于在丢包,且丢包严重的情况下,将当前最大发送时延时间设置为最大值;还用与在丢包,且丢包不严重的情况下,若当前最大发送时延时间到达最大值时不调整当前的最大发送时延时间,若当前最大发送时延时间未到达最大值时将当前的最大发送时延时间增加一个步长。
14.如权利要求13所述的方法,其特征在于,该装置还包括:1帧整形模块,该模块用于在最大发送时延时间调整后,设置I帧的发送速率为:1帧发送速率=I帧数据量/最大发送时延时间。
【文档编号】H04N19/146GK103780907SQ201410039188
【公开日】2014年5月7日 申请日期:2014年1月27日 优先权日:2014年1月27日
【发明者】赵汉表 申请人:浙江宇视科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1