CN105992023B - 视频图像数据的处理方法及装置 - Google Patents
视频图像数据的处理方法及装置 Download PDFInfo
- Publication number
- CN105992023B CN105992023B CN201510073115.8A CN201510073115A CN105992023B CN 105992023 B CN105992023 B CN 105992023B CN 201510073115 A CN201510073115 A CN 201510073115A CN 105992023 B CN105992023 B CN 105992023B
- Authority
- CN
- China
- Prior art keywords
- shared buffer
- state
- frame
- video image
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种视频图像数据的处理方法及装置,在上述方法中,根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略,其中,发送策略用于按照当前网络状况确定与共享缓冲区对应的丢帧比例;按照发送策略对视频图像数据进行发送。根据本发明提供的技术方案,进而可以确保在网络环境较差的情况下图像可以正常播放,实现正常的数据流转发,更好地确保画面的流畅性。
Description
技术领域
本发明涉及图像处理领域,具体而言,涉及一种视频图像数据的处理方法及装置。
背景技术
目前,可分级视频编码(Scalable Video Coding,简称为SVC)技术通常用于实现一次性编码产生具有不同帧率、分辨率的视频压缩码流,然后再根据不同网络带宽、不同的显示屏幕和终端解码能力选择需要传输的视频信息量,以此来实现视频质量的自适应调整。
I帧,表示关键帧,其可以理解为这一帧画面的完整保留;在解码时只需要具备本帧数据就可以完成(因为其包含完整画面,I帧为关键帧)。
P帧,表示的是这一帧与之前的一个关键帧(或P帧)之间的差别,在解码时需要采用先前缓存的画面叠加上本帧定义的差别,进而生成最终画面(即差别帧,P帧没有完整画面数据,而只有与前一帧画面的差别数据。对于图像显示而言,P帧是非关键帧)。
图像组(Group of picture,简称为GOP)是指两个I帧之间的距离。
带宽(band width)又被称为频宽,是指在固定的时间可传输的资料数量,亦即在传输管道中可以传递数据的能力。在数字设备中,频宽通常采用bps加以表示,即每秒可传输的位数。而在模拟设备中,频宽通常以每秒传送周期或赫兹(Hz)来表示。
在相关技术中,控制数据流发送的方式主要包括以下两种:
第一种,每当共享缓冲区被填满之后,采用一次性清除的方式进行处理。这样会造成在预览时一次性卡顿好几秒。如果在带宽特别小,而发送的码率又特别大的情况下时,几乎无法发送数据。
第二种,在带宽很小,无法发送数据的情况下,并没有根据带宽选择性丢弃部分数据,而仍然采用将所有数据一起发送的方式进行处理,这样势必会造成数据的丢失。
由此可见,相关技术中无法针对网络环境较差或者网络环境变化频繁的情况下,对高清图像进行自适应传输。
发明内容
本发明实施例提供了一种视频图像数据的处理方法及装置,以至少解决相关技术中无法针对网络环境较差或者网络环境变化频繁的情况下,对高清图像进行自适应传输的问题。
根据本发明的一个方面,提供了一种视频图像数据的处理方法。
根据本发明实施例的视频图像数据的处理方法包括:根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略,其中,发送策略用于按照当前网络状况确定与共享缓冲区对应的丢帧比例;按照发送策略对视频图像数据进行发送。
优选地,根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略包括:根据视频图像数据的丢帧特性以及在共享缓冲区内存放的视频图像数据的数据量划分出多种共享缓冲区状态;在当前网络状况下连续对共享缓冲区内实时存放的视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者按照预设时长进行定时统计,并分别对每次统计所对应的共享缓冲区状态进行累加,其中,n为正整数,每种共享缓冲区状态分别对应不同的丢帧比例,在每次统计过程中,均根据每个统计时刻在共享缓冲区内的剩余数据帧所归属的共享缓冲区状态对该共享缓冲区状态进行累加;根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整发送策略。
优选地,根据视频图像数据的丢帧特性以及在共享缓冲区内存放的视频图像数据的数据量划分出多种共享缓冲区状态包括:如果m<a*M,则将对应的共享缓冲区状态划分为正常状态,其中,m为视频图像数据的数据量,M为共享缓冲区的大小;如果a*M≤m<b*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃第一比例部分的P帧状态,其中,a<b;如果b*M≤m<c*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃第二比例部分的P帧状态,其中,b<c,第一比例部分小于第二比例部分;如果c*M≤m<d*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃全部P帧状态,其中,c<d;如果m>d*M,则将对应的共享缓冲区状态划分为共享缓冲区填满状态。
优选地,在当前网络状况下连续对共享缓冲区内实时存放的视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者定时统计之前,还包括以下之一:在确定出现共享缓冲区填满状态且a>0时,则下调参数a;在确定出现共享缓冲区填满状态且a=0时,则下调参数b;在确定出现共享缓冲区填满状态、a=0且b=0时,则下调参数c。
优选地,在当前网络状况下连续对共享缓冲区内实时存放的视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者定时统计之后,还包括以下之一:如果在n次统计或者定时统计过程中始终处于丢弃全部P帧状态时,则上调参数c;如果在n次统计或者定时统计过程中始终处于丢弃第二比例部分的P帧状态时,则上调参数b;如果在n次统计或者定时统计过程中始终处于丢弃第一比例部分的P帧状态时,则上调参数a;如果在n次统计或者定时统计过程中始终处于正常状态时,则将参数a、参数b和参数c恢复至初始值。
优选地,根据n次统计结果或定时统计结果中累加次数最多计数所对应的共享缓冲区状态调整发送策略包括以下之一:如果正常状态对应的计数累加次数最多,则调整发送策略为发送I帧和全部P帧;如果丢弃第一比例部分的P帧状态对应的计数累加次数最多,则调整发送策略为发送I帧以及除第一比例部分之外的P帧;如果丢弃第二比例部分的P帧状态对应的计数累加次数最多,则调整发送策略为发送I帧以及除第二比例部分之外的P帧;如果丢弃全部P帧状态对应的计数累加次数最多,则调整发送策略为仅发送I帧。
根据本发明的另一方面,提供了一种视频图像数据的处理装置。
根据本发明实施例的视频图像数据的处理装置包括:第一调整模块,用于根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略,其中,发送策略用于按照当前网络状况确定与共享缓冲区对应的丢帧比例;发送模块,用于按照发送策略对视频图像数据进行发送。
优选地,第一调整模块包括:划分单元,用于根据视频图像数据的丢帧特性以及在共享缓冲区内存放的视频图像数据的数据量划分出多种共享缓冲区状态;统计单元,用于在当前网络状况下连续对共享缓冲区内实时存放的视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者按照预设时长进行定时统计,并分别对每次统计所对应的共享缓冲区状态进行累加,其中,n为正整数,每种共享缓冲区状态分别对应不同的丢帧比例,在每次统计过程中,均根据每个统计时刻在共享缓冲区内的剩余数据帧所归属的共享缓冲区状态对该共享缓冲区状态进行累加;调整单元,用于根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整发送策略。
优选地,划分单元,用于根据视频图像数据的丢帧特性以及在共享缓冲区内存放的视频图像数据的数据量划分出多种共享缓冲区状态包括以下之一:如果m<a*M,则将对应的共享缓冲区状态划分为正常状态,其中,m为视频图像数据的数据量,M为共享缓冲区的大小;如果a*M≤m<b*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃第一比例部分的P帧状态,其中,a<b;如果b*M≤m<c*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃第二比例部分的P帧状态,其中,b<c,第一比例部分小于第二比例部分;如果c*M≤m<d*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃全部P帧状态,其中,c<d;如果m>d*M,则将对应的共享缓冲区状态划分为共享缓冲区填满状态。
优选地,第一调整模块还包括:第一调整单元,用于在确定出现共享缓冲区填满状态且a>0时,则下调参数a;或者,在确定出现共享缓冲区填满状态且a=0时,则下调参数b;在确定出现共享缓冲区填满状态、a=0且b=0时,则下调参数c。
优选地,第一调整模块还包括:第二调整单元,用于在n次统计或者定时统计过程中始终处于丢弃全部P帧状态时,则上调参数c;或者,在n次统计或者定时统计过程中始终处于丢弃第二比例部分的P帧状态时,则上调参数b;或者,在n次统计或者定时统计过程中始终处于丢弃第一比例部分的P帧状态时,则上调参数a;在n次统计或者定时统计过程中始终处于正常状态时,则将参数a、参数b和参数c恢复至初始值。
优选地,调整单元,用于根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整发送策略包括以下之一:如果正常状态对应的计数累加次数最多,则调整发送策略为发送I帧和全部P帧;如果丢弃第一比例部分的P帧状态对应的计数累加次数最多,则调整发送策略为发送I帧以及除第一比例部分之外的P帧;如果丢弃第二比例部分的P帧状态对应的计数累加次数最多,则调整发送策略为发送I帧以及除第二比例部分之外的P帧;如果丢弃全部P帧状态对应的计数累加次数最多,则调整发送策略为仅发送I帧。
通过本发明实施例,采用根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略,其中,发送策略用于按照当前网络状况确定与共享缓冲区对应的丢帧比例;按照发送策略对视频图像数据进行发送,解决了相关技术中无法针对网络环境较差或者网络环境变化频繁的情况下,对高清图像进行自适应传输的问题,进而可以确保在网络环境较差的情况下图像可以正常播放,实现正常的数据流转发,更好地确保画面的流畅性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的视频图像数据的处理方法的流程图;
图2是根据本发明优选实施例的缓冲区示意图;
图3是根据本发明优选实施例的共享缓冲区状态统计过程的流程图;
图4是根据本发明优选实施例的视频图像数据的处理方法的流程图;
图5是根据本发明优选实施例的SVC丢帧策略的示意图;
图6是根据本发明实施例的视频图像数据的处理装置的结构框图;
图7是根据本发明优选实施例的视频图像数据的处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。其中,计算机包括个人计算机、服务器、移动终端等各种产品,使用了中央处理器(CPU)、单片机、数字信号处理器(DSP)等具有处理芯片的设备均可以称为计算机。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本发明,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本申请。
以下实施例可以应用到计算机中,例如:应用到个人计算机(PC)中。也可以应用到目前采用了智能操作系统中的移动终端中,并且并不限于此。对于计算机或移动终端的操作系统并没有特殊要求,只要能够检测接触、确定该接触是否与预定规则相符合,以及根据该接触的属性实现相应功能即可。
图1是根据本发明实施例的视频图像数据的处理方法的流程图。如图1所示,该方法可以包括以下处理步骤:
步骤S102:根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略,其中,发送策略用于按照当前网络状况确定与共享缓冲区对应的丢帧比例;
步骤S104:按照发送策略对视频图像数据进行发送。
相关技术中无法针对网络环境较差或者网络环境变化频繁的情况下,对高清图像进行自适应传输。采用如图1所示的方法,根据实时网络状况的变化程度动态调整在共享缓冲区内存放的视频图像数据(例如:SVC数据)的发送策略,有针对性地确定在视频图像数据中待丢弃的数据帧比例(即网络状况逐步变差)或者待恢复发送的数据帧比例(即网络状况逐步变好),由此解决了相关技术中无法针对网络环境较差或者网络环境变化频繁的情况下,对高清图像进行自适应传输的问题,进而可以确保在网络环境较差的情况下图像可以正常播放,实现正常的数据流转发,更好地确保画面的流畅性。
优选地,在步骤S102中,根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略可以包括以下操作:
步骤S1:根据视频图像数据的丢帧特性以及在共享缓冲区内存放的视频图像数据的数据量划分出多种共享缓冲区状态;
步骤S2:在当前网络状况下连续对共享缓冲区内实时存放的视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者按照预设时长进行定时统计,并分别对每次统计所对应的共享缓冲区状态进行累加,其中,n为正整数,每种共享缓冲区状态分别对应不同的丢帧比例,在每次统计过程中,均根据每个统计时刻在共享缓冲区内的剩余数据帧所归属的共享缓冲区状态对该共享缓冲区状态进行累加;
步骤S3:根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整发送策略。
在优选实施例中,图2是根据本发明优选实施例的缓冲区示意图。如图2所示,可以采用R表示共享缓冲区的读指针,W表示共享缓冲区的写指针,M表示共享缓冲区的大小,m表示当前共享缓冲区的数据量,其等于共享缓冲区的写指针(W)与共享缓冲区的读指针(R)的差值,其中,0≤m≤M。
优选地,在步骤S1中,根据视频图像数据的丢帧特性以及在共享缓冲区内存放的视频图像数据的数据量划分出多种共享缓冲区状态可以包括以下之一:
(1)如果m<a*M,则将对应的共享缓冲区状态划分为正常状态,其中,m为视频图像数据的数据量,M为共享缓冲区的大小;
(2)如果a*M≤m<b*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃第一比例部分的P帧状态,其中,a<b;
(3)如果b*M≤m<c*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃第二比例部分的P帧状态,其中,b<c,第一比例部分小于第二比例部分;
(4)如果c*M≤m<d*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃全部P帧状态,其中,c<d;
(5)如果m>d*M,则将对应的共享缓冲区状态划分为共享缓冲区填满状态。
在优选实施例中,图3是根据本发明优选实施例的共享缓冲区状态统计过程的流程图。如图3所示,可以根据SVC的丢帧特性(一个GOP组可以丢失1/2P帧,丢失3/4P帧,丢失全部P帧),故可以将共享缓冲区划分为如下几个状态:
(1)正常(Normal)状态,共享缓冲区数据(m)<a*M;
(2)丢弃1/2(相当于上述第一比例部分)P帧状态,a*M≤缓冲区数据(m)<b*M;
(3)丢弃3/4(相当于上述第二比例部分)P帧状态,b*M≤缓冲区数据(m)<c*M;
(4)丢弃全部P帧状态,c*M≤缓冲区数据(m)<9/10(相当于上述d)*M;
(5)共享缓冲区满状态,缓冲区数据(m)>9/10*M;
从每次编码完成后至发送数据前,都要对共享缓冲区状态进行如下统计,并分别计入到计数(count)数组,每完成n次统计便可以对统计数据复位。
需要说明的是,上述参数a、参数b、参数c和参数d的取值范围均在0~10之间。
优选地,在步骤S2,当前网络状况下连续对共享缓冲区内实时存放的视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者定时统计之前,还可以包括以下操作之一:
操作一、在确定出现共享缓冲区填满状态且a>0时,则下调参数a;
操作二、在确定出现共享缓冲区填满状态且a=0时,则下调参数b;
操作三、在确定出现共享缓冲区填满状态、a=0且b=0时,则下调参数c。
在优选实施例中,图4是根据本发明优选实施例的视频图像数据的处理方法的流程图。如图4所示,在当前网络状况从网络环境良好逐步转为网络环境较差的情况下,如果统计次数为n,并且此时count[5]数组中记录的累加数值>0,则说明在这n次中存在缓冲区溢出的情况,此时需要调整参数,即首先调节参数a。如果参数a被调整至0,则说明此时采用的是丢帧发送方式,丢失1/2P帧(发送I帧+1/2P帧)这种模式所占有的比重会上调。然后继续统计到下个n次,如果count[5]还是大于0,在a已经被调整至0的情况下,开始调节参数b,假如参数b被调整至0,此时发送前至少需要丢弃3/4P帧(发送I帧+1/4P帧)。如果a和b均已经被调整至0,而count[5]依旧大于0,则此时只能调节c,而将c调整至0的结果即为丢弃全部P帧(只发送I帧),如果在这种情况下count[5]还继续大于0,则此时只能说明当前网络环境无法继续通过上述方式进行调节,而只能通过降低码率,改善网络来解决上述问题。
优选地,在步骤S2,当前网络状况下连续对共享缓冲区内实时存放的视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者定时统计之后,还可以包括以下操作之一:
操作一、如果在n次统计或者定时统计过程中始终处于丢弃全部P帧状态时,则上调参数c;
操作二、如果在n次统计或者定时统计过程中始终处于丢弃第二比例部分的P帧状态时,则上调参数b;
操作三、如果在n次统计或者定时统计过程中始终处于丢弃第一比例部分的P帧状态时,则上调参数a;
操作四、如果在n次统计或者定时统计过程中始终处于正常状态时,则将参数a、参数b和参数c恢复至初始值。
需要说明的是,如果当前网络环境较差导致一直处于缓冲区填满状态,此时,如果通过调整参数a、参数b和参数c仍然无法满足网络中数据传输的需求,那么此时只能等待网络状况逐步恢复。而在网络开始恢复的初始状态下,参数a、参数b和参数c的取值均为0。
在优选实施例中,在当前网络状况从网络环境较差逐步转为网络环境良好的情况下,假如此时参数a、参数b以及参数c因为网络环境较差均被调整至0,那么此时仅存在两种状态:
(1)丢弃全部P帧状态,0*M≤缓冲区数据(m)<9/10*M;
(2)共享缓冲区充满状态,缓冲区数据(m)>9/10*M;
因为网络环境恢复,所以都会进入丢弃全部P帧这种状态,此时肯定count[4]==n,就需要将c的取值加1。
而一旦c加1,此时就会存在以下三种状态:
(1)丢弃3/4P帧状态,0*M≤缓冲区数据(m)<1/10*M;
(2)丢弃全部P帧状态,1/10*M≤缓冲区数据(m)<9/10*M;
(3)共享缓冲区充满状态,缓冲区数据(m)>9/10*M;
因为网络环境恢复,所以都会进入丢弃3/4P帧这种状态,此时肯定count[3]==n,就需要将b的取值加1。
而一旦b加1,此时就会存在以下四种状态:
(1)丢弃1/2P帧状态,0*M≤缓冲区数据(m)<1/10*M;
(2)丢弃3/4P帧状态,1/10*M≤缓冲区数据(m)<1/10*M;
(3)丢完P帧状态,1/10*M≤缓冲区数据(m)<9/10*M;
(4)缓冲区充满状态,缓冲区数据(m)>9/10*M;
因为网络环境恢复,所以都会进入丢弃1/2P帧这种状态,此时肯定count[2]==n,就需要将a的取值加1。
而一旦a加1,此时就会存在以下五种状态:
(1)Normal状态,缓冲区数据(m)<1/10*M;
(2)丢弃1/2P帧状态,1/10*M≤缓冲区数据(m)<1/10*M;
(3)丢弃3/4P帧状态,1/10*M≤缓冲区数据(m)<1/10*M;
(4)丢弃全部P帧状态,1/10*M≤缓冲区数据(m)<9/10*M;
(5)缓冲区充满状态,缓冲区数据(m)>9/10*M;
因为网络环境恢复,所以都会进入Normal这种状态,此时肯定count[1]==n,逐步将参数a、参数b和参数c恢复到初始设定值。
需要说明的是,由于在当前网络状况从网络环境良好逐步转为网络环境较差的情况下,参数a、参数b以及参数c为依次调整,而如果在参数a的下调过程中,当前网络已经可以使用,那么就不再需要继续调整参数b和参数c。与之相反,当网络状况逐步恢复至良好时,则也只需将参数a上调至初始值。同理,如果在参数a和参数b的下调过程中,当前网络已经可以使用,那么就不再需要继续调整参数c。与之相反,当网络状况逐步恢复至良好时,则也只需依次将参数b和参数a上调至初始值。依次类推。
优选地,在步骤S3中,根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整发送策略可以包括以下之一:
(1)如果正常状态对应的计数累加次数最多,记录在count1数组中,则调整发送策略为发送I帧和全部P帧;
(2)如果丢弃第一比例部分的P帧状态对应的计数累加次数最多,记录在count2数组中,则调整发送策略为发送I帧以及除第一比例部分之外的P帧;
(3)如果丢弃第二比例部分的P帧状态对应的计数累加次数最多,记录在count3数组中,则调整发送策略为发送I帧以及除第二比例部分之外的P帧;
(4)如果丢弃全部P帧状态对应的计数累加次数最多,记录在count4数组中,则调整发送策略为仅发送I帧。
另外,针对共享缓冲区填满状态对应的计数累加次数则记录在count5数组中。
在优选实施例中,图5是根据本发明优选实施例的SVC丢帧策略的示意图。如图5所示,可以通过n次统计,如果count1数组中记录的累加数值最大,则无需丢弃任何数据,即可以发送I帧+全部P帧;通过n次统计,如果count2数组中记录的累加数值最大,则需要丢弃1/2P帧,即仅发送I帧+1/2P帧;通过n次统计,如果count3数组中记录的累加数值最大,则需要丢弃3/4P帧,即仅发送I帧+1/4P帧;通过n次统计,如果count4数组中记录的累加数值最大,则需要将P帧全部丢弃,即只发送I帧。
编码器在完成一帧视频图像数据的编码处理之后将移动上述图中的W指针,然后便会进入共享缓冲区状态统计模型,每次统计结果分别计入count[1…5]数组中,如果统计次数尚未达到n次,则沿用上一次SVC丢帧策略模型,并据此进行数据发送。如果统计次数已经达到n次,则需要从count[1…5]中寻找出最大值,确定此时共享缓冲区的状态,并更新丢帧策略方式。
图6是根据本发明实施例的视频图像数据的处理装置的结构框图。如图6所示,该视频图像数据的处理装置可以包括:第一调整模块10,用于根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略,其中,发送策略用于按照当前网络状况确定与共享缓冲区对应的丢帧比例;发送模块20,用于按照发送策略对视频图像数据进行发送。
采用如图6所示的装置,解决了相关技术中无法针对网络环境较差或者网络环境变化频繁的情况下,对高清图像进行自适应传输的问题,进而可以确保在网络环境较差的情况下图像可以正常播放,实现正常的数据流转发,更好地确保画面的流畅性。
优选地,如图7所示,第一调整模块10可以包括:划分单元100,用于根据视频图像数据的丢帧特性以及在共享缓冲区内存放的视频图像数据的数据量划分出多种共享缓冲区状态;统计单元102,用于在当前网络状况下连续对共享缓冲区内实时存放的视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者按照预设时长进行定时统计,并分别对每次统计所对应的共享缓冲区状态进行累加,其中,n为正整数,每种共享缓冲区状态分别对应不同的丢帧比例,在每次统计过程中,均根据每个统计时刻在共享缓冲区内的剩余数据帧所归属的共享缓冲区状态对该共享缓冲区状态进行累加;调整单元104,用于根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整发送策略。
优选地,划分单元100,用于根据视频图像数据的丢帧特性以及在共享缓冲区内存放的视频图像数据的数据量划分出多种共享缓冲区状态可以包括以下之一:如果m<a*M,则将对应的共享缓冲区状态划分为正常状态,其中,m为视频图像数据的数据量,M为共享缓冲区的大小;如果a*M≤m<b*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃第一比例部分的P帧状态,其中,a<b;如果b*M≤m<c*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃第二比例部分的P帧状态,其中,b<c,第一比例部分小于第二比例部分;如果c*M≤m<d*M,则将对应的共享缓冲区状态划分为根据视频图像数据的丢帧特性确定的丢弃全部P帧状态,其中,c<d;如果m>d*M,则将对应的共享缓冲区状态划分为共享缓冲区填满状态。
优选地,如图7所示,上述第一调整模块还包括:第一调整单元106,用于在确定出现共享缓冲区填满状态且a>0时,则下调参数a;或者,在确定出现共享缓冲区填满状态且a=0时,则下调参数b;在确定出现共享缓冲区填满状态、a=0且b=0时,则下调参数c。
优选地,如图7所示,上述第一调整模块还包括:第二调整单元108,用于在n次统计或者定时统计过程中始终处于丢弃全部P帧状态时,则上调参数c;或者,在n次统计或者定时统计过程中始终处于丢弃第二比例部分的P帧状态时,则上调参数b;或者,在n次统计或者定时统计过程中始终处于丢弃第一比例部分的P帧状态时,则上调参数a;在n次统计或者定时统计过程中始终处于正常状态时,则将参数a、参数b和参数c恢复至初始值。
优选地,调整单元104,用于根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整发送策略可以包括以下之一:如果正常状态对应的计数累加次数最多,则调整发送策略为发送I帧和全部P帧;如果丢弃第一比例部分的P帧状态对应的计数累加次数最多,则调整发送策略为发送I帧以及除第一比例部分之外的P帧;如果丢弃第二比例部分的P帧状态对应的计数累加次数最多,则调整发送策略为发送I帧以及除第二比例部分之外的P帧;如果丢弃全部P帧状态对应的计数累加次数最多,则调整发送策略为仅发送I帧。
从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):采用本发明实施例所提供的技术方案,可以根据共享缓冲区变化间歇性地获取带宽变化,动态调整丢帧方案。根据丢帧后的反馈再动态调整缓冲区状态控制参数,从而确保在网络环境较差的情况下图像可以正常播放。然后在网络恢复时,那些被调整的参数可以调节回来,实现正常的数据流转发。另外,采用SVC策略进行丢帧处理,进而可以实现等间隔丢帧,更好地确保画面的流畅性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种视频图像数据的处理方法,其特征在于,包括:
根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略,其中,所述发送策略用于按照所述当前网络状况确定与所述共享缓冲区对应的丢帧比例;
按照所述发送策略对所述视频图像数据进行发送;
其中,根据所述当前网络状况调整在所述共享缓冲区内存放的所述视频图像数据的所述发送策略包括:在所述当前网络状况下连续对所述共享缓冲区内实时存放的所述视频图像数据的数据量对应的共享缓冲区状态每完成n次统计或者每按照预设时长进行定时统计,判断m与M的比值大于第一预设阈值d,如果确定出现过m与M的比值大于d,则调整第二预设阈值a,并在进行下个n次统计或定时统计时,使用调整后的a,其中,m为所述视频图像数据的数据量,M为所述共享缓冲区的大小,n为正整数,m与M的比值大于d表示对应的共享缓冲区状态为共享缓冲区填满状态,m与M的比值小于a表示对应的共享缓冲区状态为正常状态。
2.根据权利要求1所述的方法,其特征在于,根据所述当前网络状况调整在所述共享缓冲区内存放的所述视频图像数据的所述发送策略包括:
根据所述视频图像数据的丢帧特性以及在所述共享缓冲区内存放的所述视频图像数据的数据量划分出多种共享缓冲区状态;
在所述当前网络状况下连续对所述共享缓冲区内实时存放的所述视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者按照预设时长进行定时统计,并分别对每次统计所对应的共享缓冲区状态进行累加,其中,每种共享缓冲区状态分别对应不同的丢帧比例,在每次统计过程中,均根据每个统计时刻在所述共享缓冲区内的剩余数据帧所归属的共享缓冲区状态对该共享缓冲区状态进行累加;
根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整所述发送策略。
3.根据权利要求2所述的方法,其特征在于,根据所述视频图像数据的丢帧特性以及在所述共享缓冲区内存放的所述视频图像数据的数据量划分出所述多种共享缓冲区状态包括:
如果m<a*M,则将对应的共享缓冲区状态划分为正常状态;
如果a*M≤m<b*M,则将对应的共享缓冲区状态划分为根据所述视频图像数据的丢帧特性确定的丢弃第一比例部分的P帧状态,其中,a<b;
如果b*M≤m<c*M,则将对应的共享缓冲区状态划分为根据所述视频图像数据的丢帧特性确定的丢弃第二比例部分的P帧状态,其中,b<c,所述第一比例部分小于所述第二比例部分;
如果c*M≤m<d*M,则将对应的共享缓冲区状态划分为根据所述视频图像数据的丢帧特性确定的丢弃全部P帧状态,其中,c<d;
如果m>d*M,则将对应的共享缓冲区状态划分为共享缓冲区填满状态。
4.根据权利要求3所述的方法,其特征在于,在所述当前网络状况下连续对所述共享缓冲区内实时存放的所述视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者定时统计之前,还包括以下之一:
在确定出现所述共享缓冲区填满状态且a>0时,则下调参数a;
在确定出现所述共享缓冲区填满状态且a=0时,则下调参数b;
在确定出现所述共享缓冲区填满状态、a=0且b=0时,则下调参数c。
5.根据权利要求3所述的方法,其特征在于,在所述当前网络状况下连续对所述共享缓冲区内实时存放的所述视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者定时统计之后,还包括以下之一:
如果在最近的n次统计或者定时统计过程中始终处于所述丢弃全部P帧状态时,则上调参数c;
如果在最近的n次统计或者定时统计过程中始终处于所述丢弃第二比例部分的P帧状态时,则上调参数b;
如果在最近的n次统计或者定时统计过程中始终处于所述丢弃第一比例部分的P帧状态时,则上调参数a;
如果在最近的n次统计或者定时统计过程中始终处于所述正常状态时,则将所述参数a、所述参数b和所述参数c恢复至初始值。
6.根据权利要求3至5中任一项所述的方法,其特征在于,根据所述n次统计结果或定时统计结果中累加次数最多计数所对应的共享缓冲区状态调整所述发送策略包括以下之一:
如果所述正常状态对应的计数累加次数最多,则调整所述发送策略为发送I帧和全部P帧;
如果丢弃第一比例部分的P帧状态对应的计数累加次数最多,则调整所述发送策略为发送I帧以及除所述第一比例部分之外的P帧;
如果丢弃第二比例部分的P帧状态对应的计数累加次数最多,则调整所述发送策略为发送I帧以及除所述第二比例部分之外的P帧;
如果丢弃全部P帧状态对应的计数累加次数最多,则调整所述发送策略为仅发送I帧。
7.一种视频图像数据的处理装置,其特征在于,包括:
第一调整模块,用于根据当前网络状况调整在共享缓冲区内存放的视频图像数据的发送策略,其中,所述发送策略用于按照所述当前网络状况确定与所述共享缓冲区对应的丢帧比例;
发送模块,用于按照所述发送策略对所述视频图像数据进行发送;
其中,根据所述当前网络状况调整在所述共享缓冲区内存放的所述视频图像数据的所述发送策略包括:在所述当前网络状况下连续对所述共享缓冲区内实时存放的所述视频图像数据的数据量对应的共享缓冲区状态每完成n次统计或者每按照预设时长进行定时统计,判断m与M的比值大于第一预设阈值d,如果确定出现过m与M的比值大于d,则调整第二预设阈值a,并在进行下个n次统计或定时统计时,使用调整后的a,其中,m为所述视频图像数据的数据量,M为所述共享缓冲区的大小,n为正整数,m与M的比值大于d表示对应的共享缓冲区状态为共享缓冲区填满状态,m与M的比值小于a表示对应的共享缓冲区状态为正常状态。
8.根据权利要求7所述的装置,其特征在于,所述第一调整模块包括:
划分单元,用于根据所述视频图像数据的丢帧特性以及在所述共享缓冲区内存放的所述视频图像数据的数据量划分出多种共享缓冲区状态;
统计单元,用于在所述当前网络状况下连续对所述共享缓冲区内实时存放的所述视频图像数据的数据量对应的共享缓冲区状态进行n次统计或者按照预设时长进行定时统计,并分别对每次统计所对应的共享缓冲区状态进行累加,其中,每种共享缓冲区状态分别对应不同的丢帧比例,在每次统计过程中,均根据每个统计时刻在所述共享缓冲区内的剩余数据帧所归属的共享缓冲区状态对该共享缓冲区状态进行累加;
调整单元,用于根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整所述发送策略。
9.根据权利要求8所述的装置,其特征在于,所述划分单元,用于根据所述视频图像数据的丢帧特性以及在所述共享缓冲区内存放的所述视频图像数据的数据量划分出多种共享缓冲区状态包括以下之一:
如果m<a*M,则将对应的共享缓冲区状态划分为正常状态;
如果a*M≤m<b*M,则将对应的共享缓冲区状态划分为根据所述视频图像数据的丢帧特性确定的丢弃第一比例部分的P帧状态,其中,a<b;
如果b*M≤m<c*M,则将对应的共享缓冲区状态划分为根据所述视频图像数据的丢帧特性确定的丢弃第二比例部分的P帧状态,其中,b<c,所述第一比例部分小于所述第二比例部分;
如果c*M≤m<d*M,则将对应的共享缓冲区状态划分为根据所述视频图像数据的丢帧特性确定的丢弃全部P帧状态,其中,c<d;
如果m>d*M,则将对应的共享缓冲区状态划分为共享缓冲区填满状态。
10.根据权利要求9所述的装置,其特征在于,所述第一调整模块还包括:第一调整单元,用于在确定出现所述共享缓冲区填满状态且a>0时,则下调参数a;或者,在确定出现所述共享缓冲区填满状态且a=0时,则下调参数b;在确定出现所述共享缓冲区填满状态、a=0且b=0时,则下调参数c。
11.根据权利要求9所述的装置,其特征在于,所述第一调整模块还包括:第二调整单元,用于在最近的n次统计或者定时统计过程中始终处于所述丢弃全部P帧状态时,则上调参数c;或者,在最近的n次统计或者定时统计过程中始终处于所述丢弃第二比例部分的P帧状态时,则上调参数b;或者,在最近的n次统计或者定时统计过程中始终处于所述丢弃第一比例部分的P帧状态时,则上调参数a;在最近的n次统计或者定时统计过程中始终处于所述正常状态时,则将所述参数a、所述参数b和所述参数c恢复至初始值。
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述调整单元,用于根据n次统计结果或定时统计结果中累加次数最多的共享缓冲区状态所对应的丢帧比例调整所述发送策略包括以下之一:
如果所述正常状态对应的计数累加次数最多,则调整所述发送策略为发送I帧和全部P帧;
如果丢弃第一比例部分的P帧状态对应的计数累加次数最多,则调整所述发送策略为发送I帧以及除所述第一比例部分之外的P帧;
如果丢弃第二比例部分的P帧状态对应的计数累加次数最多,则调整所述发送策略为发送I帧以及除所述第二比例部分之外的P帧;
如果丢弃全部P帧状态对应的计数累加次数最多,则调整所述发送策略为仅发送I帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510073115.8A CN105992023B (zh) | 2015-02-11 | 2015-02-11 | 视频图像数据的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510073115.8A CN105992023B (zh) | 2015-02-11 | 2015-02-11 | 视频图像数据的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105992023A CN105992023A (zh) | 2016-10-05 |
CN105992023B true CN105992023B (zh) | 2019-06-04 |
Family
ID=57041134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510073115.8A Active CN105992023B (zh) | 2015-02-11 | 2015-02-11 | 视频图像数据的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105992023B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106954101B (zh) * | 2017-04-25 | 2020-04-28 | 华南理工大学 | 一种低延迟实时视频流媒体无线传输的丢帧控制方法 |
CN108881931B (zh) * | 2017-05-16 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 一种数据缓冲方法及网络设备 |
CN107809682A (zh) * | 2017-11-14 | 2018-03-16 | 北京威速科技有限公司 | 一种调节发送缓冲数据量的视频流量控制方法 |
CN107911167A (zh) * | 2017-11-29 | 2018-04-13 | 中国人民解放军信息工程大学 | 一种可见光成像通信方法及系统 |
CN108347645B (zh) * | 2018-01-19 | 2021-02-26 | 浙江大华技术股份有限公司 | 一种视频帧解码显示的方法及装置 |
CN108495142B (zh) * | 2018-04-11 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 视频编码方法及装置 |
CN108769450B (zh) * | 2018-06-21 | 2021-01-05 | 深圳市道通智能航空技术有限公司 | 数据传输控制方法、信息发送端、接收端及飞行器图传系统 |
CN111225239A (zh) * | 2018-11-27 | 2020-06-02 | 广州骏视信息科技有限公司 | 一种平衡及优化视频播放流畅度和时延的方法与系统 |
CN110177308A (zh) * | 2019-04-15 | 2019-08-27 | 广州虎牙信息科技有限公司 | 移动终端及其录屏中的音视频丢帧方法、计算机存储介质 |
CN110113641B (zh) * | 2019-04-17 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 视频数据的传输方法、装置、边缘服务节点及介质 |
CN112104840B (zh) * | 2020-09-09 | 2022-10-04 | 深圳市有方科技股份有限公司 | 视频采集方法及移动基带工作站 |
CN112511848B (zh) * | 2020-11-09 | 2023-06-20 | 网宿科技股份有限公司 | 直播方法、服务端及计算机可读存储介质 |
CN113873293A (zh) * | 2021-10-09 | 2021-12-31 | 兰州乐智教育科技有限责任公司 | 动态调整视频帧率自适应网络的方法及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527834A (zh) * | 2009-03-26 | 2009-09-09 | 浙江大华技术股份有限公司 | 一种无线窄带网络视频传输方法 |
CN101656888A (zh) * | 2008-08-21 | 2010-02-24 | 华为技术有限公司 | 一种视频传输方法及装置、系统 |
CN101686106A (zh) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | 自适应前向纠错的方法、装置和系统 |
CN101778426A (zh) * | 2010-01-21 | 2010-07-14 | 深圳市同洲电子股份有限公司 | 移动无线网络中视频数据流传输的方法及设备 |
CN102368834A (zh) * | 2011-10-27 | 2012-03-07 | 东莞中山大学研究院 | 一种区端网络自适应视频传输系统及方法 |
WO2012086035A1 (ja) * | 2010-12-22 | 2012-06-28 | 三菱電機株式会社 | 信号劣化障害検出方法および通信装置 |
CN102869046A (zh) * | 2011-07-08 | 2013-01-09 | 杭州海康威视数字技术股份有限公司 | 无线网络中视频传输方法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4651555B2 (ja) * | 2006-02-13 | 2011-03-16 | 富士通株式会社 | フレームバッファ監視方法及び装置 |
-
2015
- 2015-02-11 CN CN201510073115.8A patent/CN105992023B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656888A (zh) * | 2008-08-21 | 2010-02-24 | 华为技术有限公司 | 一种视频传输方法及装置、系统 |
CN101686106A (zh) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | 自适应前向纠错的方法、装置和系统 |
CN101527834A (zh) * | 2009-03-26 | 2009-09-09 | 浙江大华技术股份有限公司 | 一种无线窄带网络视频传输方法 |
CN101778426A (zh) * | 2010-01-21 | 2010-07-14 | 深圳市同洲电子股份有限公司 | 移动无线网络中视频数据流传输的方法及设备 |
WO2012086035A1 (ja) * | 2010-12-22 | 2012-06-28 | 三菱電機株式会社 | 信号劣化障害検出方法および通信装置 |
CN102869046A (zh) * | 2011-07-08 | 2013-01-09 | 杭州海康威视数字技术股份有限公司 | 无线网络中视频传输方法及其装置 |
CN102368834A (zh) * | 2011-10-27 | 2012-03-07 | 东莞中山大学研究院 | 一种区端网络自适应视频传输系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105992023A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105992023B (zh) | 视频图像数据的处理方法及装置 | |
CN104125429B (zh) | 视频数据传输的调节方法及装置 | |
CN101023662B (zh) | 用于运动矢量处理的方法和设备 | |
CN111107382B (zh) | 数据流的控制方法、装置和系统 | |
CN105430532A (zh) | 一种视频数据传输自适应调整的控制方法及其系统 | |
CN113747194B (zh) | 远程视频传输方法、传输装置、存储介质及电子设备 | |
CN106973066A (zh) | 一种实时通讯中h264编码视频数据传输方法以及系统 | |
CN104735470A (zh) | 一种流媒体数据传输方法及装置 | |
CN101562615A (zh) | 基于mpeg-4编码的多媒体数据流自适应网络带宽的传输方法 | |
CN113037697B (zh) | 一种视频帧处理方法、装置和电子设备及可读存储介质 | |
CN105262699A (zh) | 一种网络自适应编码调整方法及装置 | |
TW201021576A (en) | System and method for dynamic video encoding in multimedia streaming | |
CN110636346A (zh) | 一种码率自适应切换方法、装置、电子设备及存储介质 | |
CN109818874A (zh) | 数据传输方法、设备及计算机存储介质 | |
CN107295395A (zh) | 码率自适应调节方法、装置及电子设备 | |
CN106993190B (zh) | 软硬件协同编码方法及系统 | |
CN104661112B (zh) | 基于可伸缩选择窗口的视频流文件传输方法及装置 | |
CN109688407A (zh) | 编码单元的参考块选择方法、装置、电子设备及存储介质 | |
CN106954101A (zh) | 一种低延迟实时视频流媒体无线传输的丢帧控制方法 | |
CN103002354A (zh) | 一种消除视频数据传输网络抖动的方法及系统 | |
CN113852824A (zh) | 视频转码方法、装置、电子设备和存储介质 | |
Yao et al. | IPB-frame adaptive mapping mechanism for video transmission over IEEE 802.11 e WLANs | |
CN105554517B (zh) | 一种视频流发送方法及装置 | |
CN103607395A (zh) | 一种传输触觉数据的方法及装置 | |
CN107430496A (zh) | 针对远程显示丢弃帧 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |