视频数据传输的调节方法及装置制造方法

文档序号:7998759阅读:261来源:国知局
视频数据传输的调节方法及装置制造方法
【专利摘要】本发明公开了一种视频数据传输的调节方法及装置,在上述方法中,确定是否进入周期,该周期为预设的插入关键帧的时间段;根据获取到的网络运行状态信息确定是否在当前周期内插入关键帧,其中,在当前周期内插入关键帧用于调节视频数据的码率。根据本发明提供的技术方案,进而通过周期性地插入关键帧及时、有效地控制正在传输的视频数据所占用的带宽与无线网络带宽动态相适应。
【专利说明】视频数据传输的调节方法及装置

【技术领域】
[0001] 本发明涉及通信领域,具体而言,涉及一种视频数据传输的调节方法及装置。

【背景技术】
[0002] 目前,在移动视频监控领域,由于无法通过有线方式传输实时数据,因而只能通过 移动网络无线方式进行数据传送。但是由于无线网络,即移动通信数据网络,例如:通用 分组无线业务(General Packet Radio Service,简称为GPRS)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)不稳定,特别是在车载移动环境下,由于 基站覆盖范围、固定区域用户数量等多变环境造成无线网络带宽波动很大,由此对于实时 性和流畅性要求颇高的远程视频预览是极为严峻的考验。为了与多变的网络环境相对应, 视频数据在传输的过程中必须做出相应地控制,从而使得视频数据所占用的带宽与无线网 络带宽尽可能地做到动态相适应。
[0003] 图1是根据相关技术的视频无线远程预览系统的结构框图。如图1所示,视频无 线远程预览系统可以由三个部分构成,具体可以包括:车载监控设备、流媒体服务器以及客 户端。车载监控设备,用于通过无线网络实时发送视频数据;流媒体服务器,用于为多个客 户端转发码流;客户端可以是个人计算机(PC)客户端或者手机客户端,用于对视频数据进 行解码并播放。由此可见,整个系统的网络带宽瓶颈主要存在于车载监控设备至流媒体服 务器的上行传输阶段。
[0004] 相关技术中为了解决网络带宽瓶颈的问题通常采用的控制方法有以下两种:其一 是在网络环境逐渐恶化的情况下,只发关键帧(I帧)数据。I帧是不依赖于其它图像,能够 独立解码的帧内编码帧,在通常情况下作为参考帧。I帧在码流中一般是以预设间隔(例 如:1秒或者4秒)出现的,其解码必须从I帧数据开始。然而此种控制方法的缺陷在于由 于解码必须从I帧数据开始,因此会造成预览图像动态连续性较差。其二是直接降低编码 参数,例如:帧率、码率等,其缺陷在于若修改上述参数值通常会产生新的I帧,从而导致码 率量瞬间发生异常,不降反增,无法较好地控制正在传输的视频数据所占用的带宽与无线 网络带宽动态相适应。


【发明内容】

[0005] 本发明提供了一种视频数据传输的调节方法及装置,以至少解决相关技术中无法 较好地控制正在传输的视频数据所占用的带宽与无线网络带宽动态相适应的问题。
[0006] 根据本发明的一个方面,提供了一种视频数据传输的调节方法。
[0007] 根据本发明的视频数据传输的调节方法包括:确定是否进入周期,该周期为预设 的插入关键帧的时间段;根据获取到的网络运行状态信息确定是否在当前周期内插入关键 帧,其中,在当前周期内插入关键帧用于调节视频数据的码率。
[0008] 优选地,根据获取到的网络运行状态信息确定是否在当前周期内插入关键帧包 括:获取当前周期内的网络性能指标,其中,网络性能指标至少包括以下之一:带宽利用 率、网络丢包率、传输延时;根据网络性能指标是否大于第一预设阈值确定是否在当前周期 内插入关键帧。
[0009] 优选地,获取网络性能指标包括:在当前周期内分别检测当前网络带宽与传输视 频数据所占用的带宽;计算当前网络带宽与传输视频数据所占用的带宽的差值或者计算传 输视频数据所占用的带宽与当前网络带宽的比值,获取带宽利用率。
[0010] 优选地,获取网络性能指标包括:在当前周期内分别检测发送端发送的数据包的 总量与接收端接收到的数据包的数量;根据发送的数据包的总量与接收到的数据包的数量 计算网络丢包率。
[0011] 优选地,获取网络性能指标包括:在当前周期内检测发送端发送每帧视频数据包 的第一时间以及检测发送端接收到接收端在接收每帧视频数据包后所反馈的确认包的第 二时间;根据第一时间和第二时间计算传输延时。
[0012] 优选地,在根据网络性能指标是否大于第一预设阈值确定是否在当前周期内插入 关键帧之后还包括:如果网络性能指标大于或者等于第一预设阈值,则在当前周期内插入 关键帧;从第一个插入关键帧的周期开始,记录连续插入关键帧的周期的个数为第一个数; 当第一个数大于或等于第二预设阈值时,则提升当前使用的编码参数的等级。
[0013] 优选地,在根据网络性能指标是否大于第一预设阈值确定是否在当前周期内插入 关键帧之后还包括:如果网络性能指标小于第一预设阈值,则继续保持当前的视频数据的 码率;从第一个未插入关键帧的周期开始,记录连续未插入关键帧的周期的个数为第二个 数;当第二个数大于或等于第三预设阈值时,则降低当前使用的编码参数的等级。
[0014] 根据本发明的另一方面,提供了一种视频数据传输的调节装置。
[0015] 根据本发明的视频数据传输的调节装置包括:第一确定模块,用于确定是否进入 周期,该周期为预设的插入关键帧的时间段;第二确定模块,用于根据获取到的网络运行状 态信息确定是否在当前周期内插入关键帧,其中,在当前周期内插入关键帧用于调节视频 数据的码率。
[0016] 优选地,第二确定模块包括:获取单元,用于获取当前周期内的网络性能指标,其 中,网络性能指标至少包括以下之一:带宽利用率、网络丢包率、传输延时;确定单元,用于 根据网络性能指标是否大于第一预设阈值确定是否在当前周期内插入关键帧。
[0017] 优选地,获取单元包括:第一检测子单元,用于在当前周期内分别检测当前网络带 宽与传输视频数据所占用的带宽;第一计算子单元,用于计算当前网络带宽与传输视频数 据所占用的带宽的差值或者计算传输视频数据所占用的带宽与当前网络带宽的比值,获取 带宽利用率。
[0018] 优选地,获取单元包括:第二检测子单元,用于在当前周期内分别检测发送端发送 的数据包的总量与接收端接收到的数据包的数量;第二计算子单元,用于根据发送的数据 包的总量与接收到的数据包的数量计算网络丢包率。
[0019] 优选地,获取单元包括:第三检测子单元,用于在当前周期内检测发送端发送每帧 视频数据包的第一时间以及检测发送端接收到接收端在接收每帧视频数据包后所反馈的 确认包的第二时间;第三计算子单元,用于根据第一时间和第二时间计算传输延时。
[0020] 优选地,上述装置还包括:第一处理模块,用于在网络性能指标大于或者等于第一 预设阈值时,在当前周期内插入关键帧;第一记录模块,用于从第一个插入关键帧的周期开 始,记录连续插入关键帧的周期的个数为第一个数;第一调整模块,用于在第一个数大于或 等于第二预设阈值时,则提升当前使用的编码参数的等级。
[0021] 优选地,上述装置还包括:第二处理模块,用于如果网络性能指标小于第一预设阈 值,则继续保持当前的视频数据的码率;第二记录模块,用于从第一个未插入关键帧的周期 开始,记录连续未插入关键帧的周期的个数为第二个数;第二调整模块,用于在第二个数大 于或等于第三预设阈值时,则降低当前使用的编码参数的等级。
[0022] 通过本发明,采用周期性地检测网络运行状态信息,并在预设的插入关键帧的周 期到达时根据获取到的当前的网络运行状态信息确定是否在当前周期内插入关键帧,在当 前周期内插入关键帧可以对视频数据的码率进行调节,以根据无线网络带宽的状态信息动 态调整正在传输的视频数据所占用的带宽,解决了相关技术中无法较好地控制正在传输的 视频数据所占用的带宽与无线网络带宽动态相适应的问题,进而通过周期性地插入关键帧 及时、有效地控制正在传输的视频数据所占用的带宽与无线网络带宽动态相适应。

【专利附图】

【附图说明】
[0023] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0024] 图1是根据相关技术的视频无线远程预览系统的结构框图;
[0025] 图2是根据本发明实施例的视频数据传输的调节方法的流程图;
[0026] 图3是根据本发明优选实施例的动态带宽自适应控制方法的流程图;
[0027] 图4是根据本发明实施例的视频数据传输的调节装置的结构框图;
[0028] 图5是根据本发明优选实施例的视频数据传输的调节装置的结构框图;
[0029] 图6是根据本发明优选实施例的远程预览系统中的车载监控设备的结构框图。

【具体实施方式】
[0030] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0031] 在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操 作的符号表示来描述本申请的各实施例。其中,计算机包括个人计算机、服务器、移动终端 等各种产品,使用了 CPU、单片机、DSP等具有处理芯片的设备均可以称为计算机。由此,可 以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式 表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护 它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据 结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文 中描述本发明,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动 作和操作的各方面也可用硬件来实现。
[0032] 转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在一个合 适的计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未 明确描述的替换实施例而限制本申请。
[0033] 以下实施例可以应用到计算机中,例如:应用到PC中。也可以应用到目前采用了 智能操作系统中的移动终端中,并且并不限于此。对于计算机或移动终端的操作系统并没 有特殊要求,只要能够检测接触、确定该接触是否与预定规则相符合,以及根据该接触的属 性实现相应功能即可。
[0034] 图2是根据本发明实施例的视频数据传输的调节方法的流程图。如图2所示,该 方法可以包括以下处理步骤:
[0035] 步骤S202 :确定是否进入周期,该周期为预设的插入关键帧的时间段;
[0036] 步骤S204 :根据获取到的网络运行状态信息确定是否在当前周期内插入关键帧, 其中,在当前周期内插入关键帧用于调节视频数据的码率。
[0037] 相关技术中,无法较好地控制正在传输的视频数据所占用的带宽与无线网络带宽 动态相适应。采用如图2所示的方法,可以周期性地检测网络运行状态信息(例如:网络带 宽的利用率、视频数据传输过程中的丢包率),并在预设的插入关键帧的周期到达时根据获 取到的当前的网络运行状态信息确定是否在当前周期内插入关键帧,在当前周期内插入关 键帧可以对视频数据的码率进行调节,以根据无线网络带宽的状态信息动态调整正在传输 的视频数据所占用的带宽,解决了相关技术中无法较好地控制正在传输的视频数据所占用 的带宽与无线网络带宽动态相适应的问题,进而通过周期性地插入关键帧及时、有效地控 制正在传输的视频数据所占用的带宽与无线网络带宽动态相适应。
[0038] 在优选实施过程中,可以根据预设帧率计算在初始状态下相邻关键帧的间隔,其 中,该间隔内可以包括多个周期。
[0039] 由于关键帧包含了显示帧需要的所有信息,因此,所有的视频数据都至少包含一 个关键帧,作为视频文件的第一个帧。通常情况下,每一秒视频数据至少需要使用一个关键 帧。而其它的关键帧可以用来改善视频的质量,但是增加关键帧的数量会增加视频文件的 大小,同时还会增加传输视频数据所占用的网络带宽和网络负载。
[0040] 帧率是一秒播放的视频中有多少个帧,帧是组成视频的基本单位。视频文件本身 是由很多连续的图片组成的,简单的可以理解为帧率就是一秒内录下的图片数量(实际上 这些图片通过压缩,一帧数据不一定保存的是一个完整图片关键帧,它是帧间压缩编码里 的重要巾贞。I巾贞的间隔调节会影响到画面组(Group of Pictures,简称为G0P)的长度,进 而影响到读取G0P的速度,如果I帧间隔设置过大,在必须要用到I帧的场合就可能被迫用 前后参考帧(B帧)/向前参考帧(P帧)来代替,如此便会降低整体画面的质量。I帧是帧间 压缩的基础,例如:一个典型的G0P结构为IBBPBBPBBPBBPBBPBB,B帧需要参考前面和后面 两帧的数据加上本帧的变化而得出本帧的数据,而P帧的解释需要参考B帧。假设I帧损 坏,那么整个G0P结构都将无法使用,即IBBPBBPBBPBBPBBPBB这么多帧将被一起浪费掉。
[0041] 根据视频编码算法,在对I帧数据进行压缩处理后的数据量明显大于B帧和P帧 的视频画面,通过增加 I帧在视频编码时的频率,可以实现增加视频画面显示响应速度的 目标。编码由前端设备实现,通过此方式可以改变I帧的频率,同时增加了视频数据流中I 帧的数量,进而增加了编码后的视频码流,由此会导致增加视频数据对网络带宽的需求。由 此可见,在不改变视频数据对网络带宽需求的前提下,可以显著减少视频数据的视频画面 显示的时间间隔,实现视频数据即时显示是亟待解决的问题。
[0042] 码流(Data Rate),也叫码率,是指视频文件在单位时间内使用的数据流量,其是 视频编码中画面质量控制中最重要的部分。在分辨率相同的情况下,视频文件的码流越大, 压缩比就越小,画面质量就越高。
[0043] 相关技术中,首先会对视频数据流进行采样编码,然后以固定间隔时间发送I帧。 通常米用H. 264格式进行编码以生产若干I巾贞和若干P巾贞,其中,一个I巾贞和若干个P巾贞共 同组成一个画面组(G0P),由于为了能够使客户终端尽快的接收I帧,本领域技术人员可以 理解,在通过编码器生成编码帧(该编码帧可以包括若干I帧以及每个I帧各自对应的若干 P帧)之后,优先生成I帧并发送。在具体执行过程中,先发送第一个I帧,在第一个I帧数 据开始发送后,间隔固定时间T,再开始发送下个I帧数据,不断重复直至视频数据流所有 的I帧数据传输完毕,其中,I帧的间隔由G0P决定,就是一个画面组所占用的时间,例如: 当G0P为100时,则两个I帧之间的间隔为100帧。如果H. 264每秒编码25帧,则从上一 个I帧生成到下一个I帧生成需要100帧/25帧每秒=4秒,因此,上述时间T就是4秒,前 后两个I帧的发送时间为4秒。在这4秒中,网络带宽用于传输每个I帧对应的若干P帧, 由于在一个画面组中,I帧为关键帧,因此,对于I帧的传输优先级别较高,为了保证每4秒 有一个I帧发送,与I帧对应的若干P帧的发送可以延后。如果I帧的发送得以保证,在第 一时间发送并能够确保在持续的间隔固定时间发送I帧,接收端就能够尽快地接收I帧,从 而进行解码工作以播放视频。
[0044] 在该优选实施例中,在视频数据开始传输之前,可以对默认的编码参数进行调整, 即可以根据预先设定的帧率将I帧间隔设置成相对较大的数值(大于相关技术中通常采用 的1秒或者4秒,可以在数字视频录像机上预先设置视频数据流的传输帧率与I帧间隔的 固定比例为K),此时码率会相对降低,在视频复杂度较高时画面的动态效果会变得相对较 差。尽管在初始情况下I帧间隔被设置成相对较大的数值,画面的动态效果会因此而受到 影响,但伴随着不断获取到的网络运行状态信息可以周期性地动态插入I帧,进而改变I帧 间隔,调节视频数据的码率。
[0045] 需要说明的是,由于I帧间隔被设置成相对较大的数值,因此,I帧间隔内可以包 含多个预设的插入I帧的周期,例如:根据预先设定的帧率可以将I帧间隔设置成10秒,而 预设的插入I帧的周期为5秒,那么上述I帧间隔内可以包含2个预设的插入I帧的周期。 而具体包含的周期的个数需要根据实际情况具体设定。
[0046] 优选地,在步骤S204中,根据获取到的网络运行状态信息确定是否在当前周期内 插入关键帧可以包括以下操作:
[0047] 步骤S1 :获取当前周期内的网络性能指标,其中,网络性能指标可以至少包括但 不限于以下之一:带宽利用率、网络丢包率、传输延时;
[0048] 步骤S2 :根据网络性能指标是否大于第一预设阈值确定是否在当前周期内插入 关键中贞。
[0049] 优选地,在步骤S1中,获取网络性能指标可以包括以下步骤:
[0050] 步骤S11 :在当前周期内分别检测当前网络带宽与传输视频数据所占用的带宽;
[0051] 步骤S12:计算当前网络带宽与传输视频数据所占用的带宽的差值或者计算传输 视频数据所占用的带宽与当前网络带宽的比值,获取带宽利用率。
[0052] 优选地,在步骤S1中,获取网络性能指标可以包括以下步骤:
[0053] 步骤S13 :在当前周期内分别检测发送端发送的数据包的总量与接收端接收到的 数据包的数量;
[0054] 步骤S14 :根据发送的数据包的总量与接收到的数据包的数量计算网络丢包率。
[0055] 优选地,在步骤S1中,获取网络性能指标可以包括以下步骤:
[0056] 步骤S15 :在当前周期内检测发送端发送每帧视频数据包的第一时间以及检测发 送端接收到接收端在接收每帧视频数据包后所反馈的确认包的第二时间;
[0057] 步骤S16 :根据第一时间和第二时间计算传输延时。
[0058] 在优选实施例中,在进行视频数据传输之前,首先需要判断待发送的视频数据所 占用的带宽是否大于网络传输带宽容量。因此,可以分别对当前网络带宽(不同类型的网络 会拥有不同的网络带宽)以及传输视频数据所占用的带宽进行检测,并根据检测结果求取 当前网络带宽与传输视频数据所占用的带宽的差值,如果该差值大于或者等于上述第一预 设阈值,则说明当前网络运行状态良好,带宽资源较为丰富,可以通过在当前周期内插入关 键帧以提升视频数据的码率;如果该差值小于上述第一预设阈值,则说明当前网络运行状 态较差,带宽资源较为紧张,在当前周期内不适宜再插入关键帧,仅能保持当前的视频数据 的码率。
[0059] 当然,还可以直接将视频数据传输量大小与网络传输带宽容量进行比较。若该视 频数据传输量小于或者等于网络传输带宽容量,即可直接发送上述视频数据,而且如果可 以确定视频数据传输量远小于网络传输带宽容量,则可以在当前周期内插入关键帧;若视 频数据传输量大于网络传输带宽容量,即可将上述视频数据划分为多个数据包,以使多个 数据包中的每个数据包的大小均小于或者等于网络传输带宽容量。例如:对于网络带宽 仅为10Kbyte的网络环境而言,100Kbyte大小的视频数据编码帧在发送过程中就极有可 能发生丢包,进而影响网络传输的稳定性。因此,若要发送的视频数据编码帧较大,则对于 10Kbyte的网络带宽而言,可以将视频数据编码帧划分为多个数据包,每个数据包的大小为 10Kbyte〇
[0060] 优选地,在步骤S204,当前周期内插入关键帧之后,还可以包括以下步骤:
[0061] 步骤S3 :如果网络性能指标大于或者等于第一预设阈值,则在当前周期内插入关 键帧;
[0062] 步骤S4 :从第一个插入关键帧的周期开始,记录连续插入关键帧的周期的个数为 第一个数;
[0063] 步骤S5 :当第一个数大于或等于第二预设阈值时,则提升当前使用的编码参数的 等级。
[0064] 在优选实施例中,如果在当前周期内插入关键帧,那么在接下来的连续多个周期 内就要保持记录插入关键帧的周期的个数,直至可以确定在其中的某个周期内不再插入关 键帧,并判断连续插入关键帧的周期的个数是否大于或等于上述第二预设阈值,如果是,则 需要提升当前使用的编码参数的等级,以实现对视频数据码率的调节。
[0065] 例如:如果确定在当前(第1个)周期内插入关键帧,然后在接下来的连续4个周 期内(不包括第1个周期)保持记录插入关键帧的周期的个数,直至可以确定在第6个周期 内不再插入关键帧,由此可以得出连续插入关键帧的周期的个数为5个。此时,需要判断连 续插入关键帧的周期的个数(5个)是否大于或等于上述第二预设阈值(假设为5个)。由于 连续插入关键帧的周期的个数等于上述第二预设阈值,因此,可以提升当前使用的编码参 数的等级,以实现对视频数据码率的调节。
[0066] 需要说明的是,当前使用的编码参数的等级可以为两个或者多个;如果是两个,则 分别为最低配置的编码参数等级和默认(最高)配置的编码参数等级;如果是多个,则可以 在最低配置的编码参数等级与默认配置的编码参数等级之间再增设多个等级,以实现更加 精确地调节视频数据的码率。
[0067] 优选地,在步骤S204,当前周期内插入关键帧之后,还可以包括以下操作:
[0068] 步骤S6 :如果网络性能指标小于第一预设阈值,则继续保持当前的视频数据的码 率;
[0069] 步骤S7 :从第一个未插入关键帧的周期开始,记录连续未插入关键帧的周期的个 数为第二个数;
[0070] 步骤S8 :当第二个数大于或等于第三预设阈值时,则降低当前使用的编码参数的 等级。
[0071] 在优选实施例中,如果在当前周期内没有插入关键帧,那么在接下来的连续多个 周期内就要保持记录未插入关键帧的周期的个数,直至可以确定在其中的某个周期内需要 插入关键帧,并判断连续未插入关键帧的周期的个数是否大于或等于上述第三预设阈值, 如果是,则需要降低当前使用的编码参数的等级,以实现对视频数据码率的调节。
[0072] 例如:如果可以确定在当前(第1个)周期内未插入关键帧,然后在接下来的连续4 个周期内(不包括第1个周期)均未插入关键帧,因此保持记录未插入关键帧的周期的个数, 直至可以确定在第6个周期内重新插入关键帧,由此可以得出连续未插入关键帧的周期的 个数为5个。此时,需要判断连续未插入关键帧的周期的个数(5个)是否大于或等于上述 第三预设阈值(假设为5个)。由于连续未插入关键帧的周期的个数等于上述第三预设阈值, 因此,可以降低当前使用的编码参数的等级,以实现对视频数据码率的调节。
[0073] 需要说明的是,上述第一个数与上述第二个数可以相同,也可以不同;上述第二预 设阈值与上述第三预设阈值可以相同,也可以不同,需要根据实际情况具体设定。
[0074] 下面结合图3所示的优选实施方式对上述优选实施过程做进一步的描述。
[0075] 图3是根据本发明优选实施例的动态带宽自适应控制方法的流程图。如图3所示, 该方法可以包括以下处理步骤:
[0076] 步骤S302 :车载监控设备在与远程流媒体服务器建立连接后,初始化相关资源, 准备开始发送视频数据;车载监控设备持续获取当前的网络运行状态信息;
[0077] 在该优选实施例中,在视频数据开始发送之前,可以对默认的编码参数进行调整, 主要在于可以根据预先设定的帧率将I帧间隔设置成一个很大的值,此时码率会相对降 低,在视频复杂度较高时画面的动态效果会变得相对较差。
[0078] 需要说明的是,上述设置的I帧间隔不适宜过长,否则,将会导致画面的动态效果 较差,用户的视觉感观难以接受。
[0079] 步骤S304 :车载监控设备会周期性地检测是否已经到达插入I帧的时间点;如果 是,则继续执行步骤S306 ;如果否,则返回步骤S302 ;
[0080] 在该优选实施例中,车载监控设备会预先设置一个周期用来对视频数据动态插入 I帧,以此提高视频数据的清晰度和动态效果。
[0081] 步骤S306 :车载监控设备在视频数据开始发送之后,将持续对当前的移动网络进 行检测并对当前的网络运行状态信息进行评估,但是,由于无法对网络的带宽进行定量评 估,因此,最终反馈的结果为相对于当前发送视频数据所处于的网络运行状态的二值化网 络运行状态,即在对当前的网络运行状态信息进行评估后可以确定当前网络状况良好或者 糟糕;如果当前网络运行状态良好,则继续执行步骤S308 ;如果否,则转到步骤S314 ;
[0082] 步骤S308 :如果通过对当前的网络运行状态信息进行评估可以确定当前网络状 况良好,则说明当前网络带宽能够满足视频数据所占用的带宽,由此可以在本周期插入I 中贞;在插入I巾贞的同时还需要统计连续插入I巾贞的次数,此时记为insertCount,用于评估 在过去的一段时间内网络的持续状态;
[0083] 在该优选实施例中,假设在第一个周期内可以确定插入I巾贞,贝U insertCount的计 数由〇变为1,在第二个周期内同样可以确定插入I巾贞,贝1J insertCount的计数加1,由1变 为2,在第三个周期内还可以确定插入I巾贞,贝U insertCount的计数继续加1,由2变为3,以 此类推。但是如果其中有一个周期内可以确定不能再插入I巾贞,则insertCount的计数终 止。
[0084] 步骤S310 :根据insertCount的计数是否达到预设阈值可以判断是否需要提高编 码参数的等级;如果insertCount的计数已经达到预设阈值(例如:10),贝U可以继续执行步 骤S312 ;如果insertCount的计数还未达到预设阈值,则可以转到步骤S320 ;
[0085] 步骤S312 :提高编码参数的等级,例如:当前处在最低等级的编码参数可以将该 参数恢复至初始预设的等级;转到步骤S302 ;
[0086] 步骤S314 :如果通过对当前的网络运行状态信息进行评估可以确定当前网络状 况较差时,则说明当前网络带宽难以满足视频数据所占用的带宽,由此可以确定在当前周 期不插入I帧,以此来降低视频数据的码率;在未插入I帧的同时还需要统计连续未插入 I帧的次数,此时记为notlnsertCount,同样用于评估在过去的一段时间内网络的持续状 态;
[0087] 步骤S316 :根据notlnsertCount的计数是否达到预设阈值可以判断是否需要提 高编码参数的等级;如果notlnsertCount的计数已经达到预设阈值(例如:10),贝U可以继 续执行步骤S318 ;如果notlnsertCount的计数还未达到预设阈值,则在当前周期内不插入 I帧,转到步骤S302 ;
[0088] 步骤S318 :当notlnsertCount达到预设阈值(例如:10)时,说明当前的网络状况 很差,最初设置的最大插入I帧的间隔已无法进行流畅的传输,此时需要通知编码器改变 编码参数,降低编码参数当前的使用等级,例如:降低码率上限、降低帧率;直至将编码参 数降至最低使用等级;转到步骤S302 ;
[0089] 需要说明的是,即便是处在上述降低使用等级(包括最低等级)的情况下,也还需 要周期性地根据实时检测到的网络运行状态信息判断是否执行插入I帧的操作。
[0090] 步骤S320 :继续执行插入I帧的操作;转到步骤S302。
[0091] 图4是根据本发明实施例的视频数据传输的调节装置的结构框图。如图4所示,该 视频数据传输的调节装置可以包括:第一确定模块10,用于确定是否进入周期,该周期为 预设的插入关键帧的时间段;第二确定模块20,用于根据获取到的网络运行状态信息确定 是否在当前周期内插入关键帧,其中,在当前周期内插入关键帧用于调节视频数据的码率。
[0092] 采用如图4所示的装置,通过获取模块可以周期性地检测网络运行状态信息(例 如:网络带宽的利用率、视频数据传输过程中的丢包率),而通过确定模块在预设的插入关 键帧的周期到达时可以根据获取模块获取到的当前的网络运行状态信息确定是否在当前 周期内插入关键帧,在当前周期内插入关键帧可以对视频数据的码率进行调节,以根据无 线网络带宽的状态信息动态调整正在传输的视频数据所占用的带宽,由此解决了相关技术 中无法较好地控制正在传输的视频数据所占用的带宽与无线网络带宽动态相适应的问题, 进而通过周期性地插入关键帧及时、有效地控制正在传输的视频数据所占用的带宽与无线 网络带宽动态相适应。
[0093] 优选地,如图5所示,第二确定模块20可以包括:获取单元200,用于获取当前周 期内的网络性能指标,其中,网络性能指标至少包括以下之一:带宽利用率、网络丢包率、传 输延时;确定单元202,用于根据网络性能指标是否大于第一预设阈值确定是否在当前周 期内插入关键帧。
[0094] 优选地,如图5所示,获取单元200可以包括:第一检测子单元(图中未示出),用于 在当前周期内分别检测当前网络带宽与传输视频数据所占用的带宽;第一计算子单元(图 中未示出),用于计算当前网络带宽与传输视频数据所占用的带宽的差值或者计算传输视 频数据所占用的带宽与当前网络带宽的比值,获取带宽利用率。
[0095] 优选地,如图5所示,获取单元200可以包括:第二检测子单元(图中未示出),用于 在当前周期内分别检测发送端发送的数据包的总量与接收端接收到的数据包的数量;第二 计算子单元(图中未示出),用于根据发送的数据包的总量与接收到的数据包的数量计算网 络丢包率。
[0096] 优选地,如图5所示,获取单元200可以包括:第三检测子单元(图中未示出),用于 在当前周期内检测发送端发送每帧视频数据包的第一时间以及检测发送端接收到接收端 在接收每帧视频数据包后所反馈的确认包的第二时间;第三计算子单元(图中未示出),用 于根据第一时间和第二时间计算传输延时。
[0097] 优选地,如图5所示,上述装置还可以包括:第一处理模块30,用于在网络性能指 标大于或者等于第一预设阈值时,在当前周期内插入关键帧;第一记录模块40,用于从第 一个插入关键帧的周期开始,记录连续插入关键帧的周期的个数为第一个数;第一调整模 块50,用于在第一个数大于或等于第二预设阈值时,则提升当前使用的编码参数的等级。
[0098] 优选地,如图5所示,上述装置还可以包括:第二处理模块60,用于如果网络性能 指标小于第一预设阈值,则继续保持当前的视频数据的码率;第二记录模块70,用于从第 一个未插入关键帧的周期开始,记录连续未插入关键帧的周期的个数为第二个数;第二调 整模块80,用于在第二个数大于或等于第三预设阈值时,则降低当前使用的编码参数的等 级。
[0099] 图6是根据本发明优选实施例的远程预览系统中的车载监控设备的结构框图。 如图6所示,该车载监控设备可以包括以下四个部分:图像编码模块、视频数据发送模块、 网络状态检测模块(相当于上述获取模块)以及视频数据控制模块(相当于上述视频数据 传输的调节装置中除获取模块之外的其余部分)。图像编码处理通常是由数字信号处理器 (Digital Signal Processor,简称为DSP)负责;视频数据的发送则可以使用传输控制协议 (Transfer Control Protocol,简称为 TCP)或者用户数据协议(User Date Protocol,简称 为UDP)通过无线网络向流媒体服务器发送视频数据;网络状态检测可以通过检测网络缓 冲区、发送时延等技术来判断网络运行状态;视频数据传输控制为本发明所提供的技术方 案的核心,是车载监控设备中用于实现动态网络自适应的主要模块。关于远程预览系统中 的车载监控设备的具体执行过程如下:
[0100] 在视频数据开始发送之前,视频数据控制模块可以对默认的编码参数进行调整, 即可以根据预先设定的帧率将I帧间隔设置成一个很大的值,此时码率会相对降低,在视 频复杂度较高时画面的动态效果会变得相对较差。车载监控设备在与远程流媒体服务器建 立连接后,初始化相关资源。图像编码模块会对视频数据流进行采样编码,然后将视频数据 编码帧发送至视频数据发送模块,视频数据发送模块准备开始发送视频数据。车载监控设 备中的网络状态检测模块持续获取当前的网络运行状态,视频数据控制模块会周期性地检 测是否已经到达插入I帧的时间点;如果是,网络状态检测模块在视频数据开始发送之后, 将持续对当前的移动网络进行检测并对当前的网络运行状态进行评估,但是,由于无法对 网络的带宽进行定量评估,因此,最终反馈的结果为相对于当前发送视频数据所处于的网 络运行状态的二值化网络运行状态,即在对当前的网络运行状态进行评估后可以确定当前 网络状况良好或者糟糕;如果通过对当前的网络运行状态进行评估可以确定当前网络状况 良好,则说明当前网络带宽能够满足视频数据所占用的带宽,由此可以在本周期插入I帧; 在插入I帧的同时还需要统计连续插入I帧的次数,用于评估在过去的一段时间内网络的 持续状态;如果通过对当前的网络运行状态进行评估可以确定当前网络状况较差时,则说 明当前网络带宽难以满足视频数据所占用的带宽,由此可以确定在当前周期不插入I帧, 以此来降低视频数据的码率;在未插入I帧的同时还需要统计连续未插入I帧的次数,同样 用于评估在过去的一段时间内网络的持续状态。视频数据控制模块可以根据统计连续插入 I帧的次数是否达到预设阈值进而判断是否需要提高编码参数的等级;如果该计数已经达 到预设阈值(例如:1〇),则可以提高编码参数的等级,例如:当前处在最低等级的编码参数 可以将该参数恢复至初始预设的等级;如果该计数还未达到预设阈值,则可以继续执行插 入I帧的操作。视频数据控制模块还可以根据统计连续未插入I帧的次数是否达到预设阈 值从而判断是否需要提高编码参数的等级;如果该计数已经达到预设阈值(例如:1〇),则 说明当前的网络状况很差,最初设置的最大插入I帧的间隔已无法进行流畅的传输,此时 需要通知编码器改变编码参数,降低编码参数当前的使用等级,例如:降低码率上限、降低 帧率;直至将编码参数降至最低使用等级;如果该计数还未达到预设阈值,则在当前周期 内不插入I帧,然后由网络状态检测模块继续实时获取网络运行状态信息。
[0101] 需要说明的是,即便是处在上述降低使用等级(包括最低等级)的情况下,也还需 要周期性地根据实时检测到的网络运行状态信息判断是否执行插入I帧的操作。
[0102] 采用如图6所示的远程预览系统中的车载监控设备,在无线视频数据网络传输的 性能优化上,首次提出了动态插入I帧的控制方法并使用降低或者增加图像编码参数等级 与之相结合的方法实现了多变的无线网络环境的带宽自适应,与相关技术进行对比,可以 获得更好的图像流畅性,更低的码率,更高的降低码率响应速度并且方法简单、有效、便于 移植。
[0103] 从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些 效果是某些优选实施例可以达到的效果):采用本发明所提供的技术方案可以在网络带宽 降低时进行自动调整控制正在传输的视频数据所占用的带宽与无线网络带宽动态相适应, 以确保在视频图像实时性的同时,可以避免视频数据的动态连续性受到较大影响,其调整 过程中不会产生新的I帧,视频数据可以有效降低以适应网络带宽的变化。经过实际测试 证明,采用该技术方案的控制系统结构简单、控制有效,可以明显改善远程无线视频预览的 性能。
[0104] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0105] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种视频数据传输的调节方法,其特征在于,包括: 确定是否进入周期,所述周期为预设的插入关键帧的时间段; 根据获取到的网络运行状态信息确定是否在当前周期内插入所述关键帧,其中,在所 述当前周期内插入所述关键帧用于调节所述视频数据的码率。
2. 根据权利要求1所述的方法,其特征在于,根据获取到的所述网络运行状态信息确 定是否在所述当前周期内插入所述关键帧,包括: 获取所述当前周期内的网络性能指标,其中,所述网络性能指标至少包括以下之一:带 宽利用率、网络丢包率、传输延时; 根据所述网络性能指标是否大于第一预设阈值确定是否在所述当前周期内插入所述 关键中贞。
3. 根据权利要求2所述的方法,其特征在于,获取所述网络性能指标包括: 在所述当前周期内分别检测当前网络带宽与传输视频数据所占用的带宽; 计算所述当前网络带宽与传输所述视频数据所占用的带宽的差值或者计算传输所述 视频数据所占用的带宽与所述当前网络带宽的比值,获取所述带宽利用率。
4. 根据权利要求2所述的方法,其特征在于,获取所述网络性能指标包括: 在所述当前周期内分别检测发送端发送的数据包的总量与接收端接收到的数据包的 数量; 根据所述发送的数据包的总量与所述接收到的数据包的数量计算所述网络丢包率。
5. 根据权利要求2所述的方法,其特征在于,获取所述网络性能指标包括: 在所述当前周期内检测发送端发送每帧视频数据包的第一时间以及检测所述发送端 接收到接收端在接收所述每帧视频数据包后所反馈的确认包的第二时间; 根据所述第一时间和所述第二时间计算所述传输延时。
6. 根据权利要求2至5中任一项所述的方法,其特征在于,在根据所述网络性能指标是 否大于所述第一预设阈值确定是否在所述当前周期内插入所述关键帧之后,还包括: 如果所述网络性能指标大于或者等于所述第一预设阈值,则在所述当前周期内插入所 述关键帧; 从第一个插入所述关键帧的周期开始,记录连续插入所述关键帧的周期的个数为第一 个数; 当所述第一个数大于或等于第二预设阈值时,则提升当前使用的编码参数的等级。
7. 根据权利要求2至5中任一项所述的方法,其特征在于,在根据所述网络性能指标是 否大于所述第一预设阈值确定是否在所述当前周期内插入所述关键帧之后,还包括: 如果所述网络性能指标小于所述第一预设阈值,则继续保持当前的视频数据的码率; 从第一个未插入所述关键帧的周期开始,记录连续未插入所述关键帧的周期的个数为 第二个数; 当所述第二个数大于或等于第三预设阈值时,则降低当前使用的编码参数的等级。
8. -种视频数据传输的调节装置,其特征在于,包括: 第一确定模块,用于确定是否进入周期,所述周期为预设的插入关键帧的时间段; 第二确定模块,用于根据获取到的网络运行状态信息确定是否在当前周期内插入所述 关键帧,其中,在所述当前周期内插入所述关键帧用于调节所述视频数据的码率。
9. 根据权利要求8所述的装置,其特征在于,所述第二确定模块包括: 获取单元,用于获取所述当前周期内的网络性能指标,其中,所述网络性能指标至少包 括以下之一:带宽利用率、网络丢包率、传输延时; 确定单元,用于根据所述网络性能指标是否大于第一预设阈值确定是否在所述当前周 期内插入所述关键帧。
10. 根据权利要求9所述的装置,其特征在于,所述获取单元包括: 第一检测子单元,用于在所述当前周期内分别检测当前网络带宽与传输视频数据所占 用的带宽; 第一计算子单元,用于计算所述当前网络带宽与传输所述视频数据所占用的带宽的差 值或者计算传输所述视频数据所占用的带宽与所述当前网络带宽的比值,获取所述带宽利 用率。
11. 根据权利要求9所述的装置,其特征在于,所述获取单元包括: 第二检测子单元,用于在所述当前周期内分别检测发送端发送的数据包的总量与接收 端接收到的数据包的数量; 第二计算子单元,用于根据所述发送的数据包的总量与所述接收到的数据包的数量计 算所述网络丢包率。
12. 根据权利要求9所述的装置,其特征在于,所述获取单元包括: 第三检测子单元,用于在所述当前周期内检测发送端发送每帧视频数据包的第一时间 以及检测所述发送端接收到接收端在接收所述每帧视频数据包后所反馈的确认包的第二 时间; 第三计算子单元,用于根据所述第一时间和所述第二时间计算所述传输延时。
13. 根据权利要求9至12中任一项所述的装置,其特征在于,所述装置还包括: 第一处理模块,用于在所述网络性能指标大于或者等于所述第一预设阈值时,在所述 当前周期内插入所述关键帧; 第一记录模块,用于从第一个插入所述关键帧的周期开始,记录连续插入所述关键帧 的周期的个数为第一个数; 第一调整模块,用于在所述第一个数大于或等于第二预设阈值时,则提升当前使用的 编码参数的等级。
14. 根据权利要求9至12中任一项所述的装置,其特征在于,所述装置还包括: 第二处理模块,用于如果所述网络性能指标小于所述第一预设阈值,则继续保持当前 的视频数据的码率; 第二记录模块,用于从第一个未插入所述关键帧的周期开始,记录连续未插入所述关 键帧的周期的个数为第二个数; 第二调整模块,用于在所述第二个数大于或等于第三预设阈值时,则降低当前使用的 编码参数的等级。
【文档编号】H04N21/643GK104125429SQ201310156097
【公开日】2014年10月29日 申请日期:2013年4月27日 优先权日:2013年4月27日
【发明者】程海波, 吴兴旺, 顾昕宇, 张国柱 申请人:杭州海康威视数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1