一种图像数据处理方法及装置制造方法

文档序号:7995333阅读:143来源:国知局
一种图像数据处理方法及装置制造方法
【专利摘要】本发明公开了一种图像数据处理方法及装置,包括:当获取到当前帧图像初始数据时,确定当前帧延时为指定内存中最先存储的一帧图像编码数据对应的初始数据获取到的时间和最后存储的一帧图像编码数据对应的初始数据获取到的时间之间的时间差值;当当前帧延时在预设范围内时,调整当前码流值变小;基于调整后的当前码流值对当前帧图像初始数据进行编码,得到当前帧图像编码数据,当前帧图像编码数据存储于指定内存中等待发送。采用本发明实施例提供的方案,解决了在网络抖动时图像数据丢弃较多的问题。
【专利说明】一种图像数据处理方法及装置
【技术领域】
[0001 ] 本发明涉及通信【技术领域】,尤其涉及一种图像数据处理方法及装置。
【背景技术】
[0002]随着互联网的普遍应用及其自身技术的不断成熟,获取视频图像数据并在网络上进行实时传输已经成为现实。一些相关设备,如DVR (Digital Video Recorder,数字视频录像机)、DVS (Digital Video Server,网络视频服务器)等,在通过网络传输实时视频图像数据时,先基于当前码流值对获取到的视频图像初始数据进行编码,将编码后得到的视频图像编码数据存储于本地预先划分出的指定内存中,再按照时间顺序依次对视频图像编码数据进行发送。
[0003]当网络抖动时,指定内存中存储的编码数据不能被及时发送。当指定内存中存储的编码数据过多时,设备便会随机删除丢弃一些数据,或者删除丢弃最新获取到的数据,而删除丢弃数据较多时,将会导致接收方在接收到设备发送的编码数据后进行解码播放时出现卡顿、花屏、延时过大等问题。

【发明内容】

[0004]本发明实施例提供一种图像数据处理方法及装置,用以解决在网络抖动时数据丢弃较多的问题。
[0005]本发明实施例提供一种图像数据处理方法,包括:
[0006]当获取到当前帧图像初始数据时,确定当前帧延时为指定内存中最先存储的一帧图像编码数据对应的初始数据获取到的时间和最后存储的一帧图像编码数据对应的初始数据获取到的时间之间的时间差值;
[0007]当所述当前巾贞延时在预设范围内时,调整当前码流值变小;
[0008]基于调整后的当前码流值对所述当前帧图像初始数据进行编码,得到当前帧图像编码数据,所述当前帧图像编码数据存储于所述指定内存中等待发送。
[0009]本发明实施例提供一种图像数据处理装置,包括:
[0010]确定单元,用于当获取到当前帧图像初始数据时,确定当前帧延时为指定内存中最先存储的一帧图像编码数据对应的初始数据获取到的时间和最后存储的一帧图像编码数据对应的初始数据获取到的时间之间的时间差值;
[0011]调整单元,用于当所述当前帧延时在预设范围内时,调整当前码流值变小;
[0012]编码单元,用于基于调整后的当前码流值对所述当前帧图像初始数据进行编码,得到当前帧图像编码数据,所述当前帧图像编码数据存储于所述指定内存中等待发送。
[0013]本发明有益效果包括:
[0014]本发明实施例提供的方法中,在当前网络状况较差或在当前网络状况变差时,调整当前码流值变小,由于网络中传输的数据是对获取到的图像初始数据基于码流值进行编码后的数据,当码流值变小时,对获取到的图像初始数据基于变小的码流值进行编码后的数据也变小,即时减小了对指定内存存储空间的占用及进行数据传输时所需的网络资源,相比于现有技术中当指定内存存储的编码数据过多时删除丢弃编码数据的方案,能够减少数据丢弃。
【专利附图】

【附图说明】
[0015]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0016]图1为本发明实施例提供的图像数据处理方法的流程图;
[0017]图2为本发明实施例提供的图像数据处理方法的详细流程图;
[0018]图3为本发明实施例提供的调整当前码流值变大的详细流程图;
[0019]图4为本发明实施例提供的调整当前码流值变小的详细流程图;
[0020]图5为本发明实施例提供的图像数据处理装置的结构示意图。
【具体实施方式】
[0021]为了给出减少在网络抖动时图像数据丢弃的实现方案,本发明实施例提供了一种图像数据处理方法及装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0022]本发明实施例提供一种图像数据处理方法,如图1所示,包括:
[0023]步骤101、当获取到当前帧图像初始数据时,确定当前帧延时为指定内存中最先存储的一帧图像编码数据对应的初始数据获取到的时间和最后存储的一帧图像编码数据对应的初始数据获取到的时间之间的时间差值;
[0024]步骤102、当当前帧延时在预设范围内时,调整当前码流值变小;
[0025]步骤103、基于调整后的当前码流值对当前帧图像初始数据进行编码,得到当前帧图像编码数据,当前帧图像编码数据存储于指定内存中等待发送。
[0026]进一步的,该图像数据处理方法还包括:
[0027]当当前帧延时相比于上一帧延时变大时,调整当前码流值变小;或者当当前帧延时在第一数值范围内,上一帧延时在第二数值范围内,且第一数值范围内的所有数值均大于第二数值范围内的所有数值时,调整当前码流值变小。
[0028]具体实施时,可预先划分出若干个延时数值范围,并且各数值范围之间没有交集,不同的数值范围能够表征不同的网络质量等级。各数值范围中的数值越大,表征网络质量等级越低,即网络质量越差。预设范围为数值最大的一个范围,表征网络质量等级最低,即网络质量最差。
[0029]较佳的,可以设定第一预设调整周期作为码流值的调整周期,以减少处理器的计
禅且昇里。
[0030]较佳的,在调整当前码流值变小之前,还包括确定当前码流值大于当前网络带宽;或者确定当前码流值大于第一码流预设值;或者确定当前码流值大于当前网络带宽,且确定当前码流值大于第一码流预设值。其中,第一预设码流值为允许的最小码流值。
[0031]在调整当前码流值变小时,可以设定固定值,在调整后的码流值不低于允许的最小码流值的前提下,每次减小该固定值,也可以采用本发明实施例提供的方案调整当前码流值变小。
[0032]进一步的,当确定当前码流值不大于允许的最小码流值时,按照指定原则对指定内存中存储的图像编码数据进行指定删除操作。当不能完成指定删除操作时,对获取的当前帧图像初始数据进行判断,确定是否删除当前帧图像初始数据。
[0033]进一步的,当当前帧延时为O时,当前网络质量最高,调整当前码流值变大。较佳的,也可以设定第二预设调整周期作为调整码流值变大的周期。
[0034]较佳的,在调整当前码流值变大之前,还包括确定当前码流值小于第二预设码流值。其中,第二预设码流值为允许的最大码流值。
[0035]在调整当前码流值变大时,也可以设定固定值,在调整后的码流值不超过允许的最大码流值的前提下,每次增加该固定值,也可以采用本发明实施例提供的方案调整当前码流值变大。
[0036]下面结合附图,用具体实施例对本发明提供的方法进行详细描述。
[0037]图2所示为本发明实施例提供的图像数据处理方法详细流程,具体包括如下处理步骤:
[0038]步骤201、当获取到当前帧图像初始数据时,判断当前时刻是否已到达采用第一预设调整周期调整当前码流值的时刻。
[0039]该实施例中,第一预设调整周期可以设定为1000ms。
[0040]当确定当前时刻已到达采用第一预设调整周期调整当前码流值的时刻时,进入步骤202 ;当确定当前时刻未到达采用第一预设调整周期调整当前码流值的时刻时,进入步骤 218。
[0041]步骤202、确定当前帧延时为指定内存中最先存储的一帧图像编码数据对应的初始数据获取到的时间和最后存储的一帧图像编码数据对应的初始数据获取到的时间之间的时间差值。
[0042]步骤203、预先划分出若干个延时数值范围,判断当前帧延时是否满足下述条件:
[0043]条件1:当前帧延时为O ;
[0044]条件2:当前帧延时在预设范围内,预设范围为数值最大的一个范围;或者当前帧延时在第一数值范围内,上一帧延时在第二数值范围内,且第一数值范围内的数值大于第二数值范围内的数值。
[0045]本实施例中,可划分出8个数值范围,对应表征不同的网络质量等级I?8,等级I表不网络质量最差,等级8表不网络质量最好。
[0046]当确定当前巾贞延时满足条件I时,进入步骤204 ;当确定当前巾贞延时满足条件2时,进入步骤207 ;其它情况,即当确定当前帧延时既不满足条件I也不满足条件2时,进入步骤218。
[0047]步骤204、判断当前时刻是否已到达采用第二预设调整周期调整当前码流值变大的时刻。
[0048]当确定当前时刻已到达采用第二预设调整周期调整当前码流值变大的时刻,进入步骤205 ;当确定当前时刻未到达采用第二预设调整周期调整当前码流值变大的时刻,进入步骤218。[0049]步骤205、判断当前码流值是否小于第二预设码流值。
[0050]其中,第二预设码流值为允许的最大码流值。
[0051]当确定当前码流值小于第二预设码流值时,进入步骤206 ;当确定当前码流值不小于第二预设码流值时,进入步骤218。
[0052] 上述步骤204和步骤205没有必然的先后执行顺序,也可以先执行步骤205,再执行步骤204。
[0053]步骤206、调整当前码流值变大。
[0054]具体调整当前码流值变大的详细流程如图3所示,在后文中进行详细阐述。
[0055]进入步骤219。
[0056]步骤207、判断当前码流值是否大于当前网络带宽。
[0057]当前网络带宽可以根据指定内存中存储的图像编码数据的多少估算获得,也可以通过其他方式获得。
[0058]当确定当前码流值大于当前网络带宽时,进入步骤208;当确定当前码流值不大于当前网络带宽时,进入步骤218。
[0059]步骤208、判断当前码流值是否大于第一码流预设值。
[0060]其中,第一预设码流值为允许的最小码流值。
[0061]当确定当前码流值大于第一码流预设值时,进入步骤209 ;当确定当前码流值不大于第一码流预设值时,进入步骤210。
[0062]步骤209、调整当前码流值变小。
[0063]具体调整当前码流值变小的详细流程如图4所示,在后文中进行详细阐述。
[0064]进入步骤219。
[0065]步骤210、判断指定内存中是否存在I帧图像编码数据。
[0066]当确定指定内存中存在I帧图像编码数据时,进入步骤211 ;当确定指定内存中不存在I帧图像编码数据时,进入步骤216。
[0067]步骤211、确定待调整延时为当前帧延时和预设延时的差值;根据待调整延时确定预删除的P帧图像编码数据的数量。
[0068]在本实施例中,预设延时可以设定为400ms,具体采用如下公式确定预删除的P帧图像编码数据的数量:
【权利要求】
1.一种图像数据处理方法,其特征在于,包括: 当获取到当前帧图像初始数据时,确定当前帧延时为指定内存中最先存储的一帧图像编码数据对应的初始数据获取到的时间和最后存储的一帧图像编码数据对应的初始数据获取到的时间之间的时间差值; 当所述当前帧延时在预设范围内时,调整当前码流值变小; 基于调整后的当前码流值对所述当前帧图像初始数据进行编码,得到当前帧图像编码数据,所述当前帧图像编码数据存储于所述指定内存中等待发送。
2.如权利要求1所述的方法,其特征在于,还包括: 当所述当前帧延时相比于上一帧延时变大时,调整所述当前码流值变小;或者当所述当前帧延时在第一数值范围内,所述上一帧延时在第二数值范围内,且所述第一数值范围内的所有数值均大于所述第二数值范围内的所有数值时,调整所述当前码流值变小。
3.如权利要求1或 2所述的方法,其特征在于,还包括: 当所述当前帧延时为O时,调整所述当前码流值变大。
4.如权利要求1所述的方法,其特征在于,在确定所述当前帧延时之前,还包括: 确定当前时刻已到达采用第一预设调整周期调整所述当前码流值的时刻。
5.如权利要求1或2所述的方法,其特征在于,调整当前码流值变小,具体为: 判断第一指定码流值是否小于所述当前网络带宽,所述第一指定码流值为所述当前码流值的指定倍数,所述指定倍数小于I ; 当确定所述第一指定码流值小于所述当前网络带宽时,判断所述第一指定码流值是否小于所述第一码流预设值;当确定所述第一指定码流值小于所述第一码流预设值时,调整所述当前码流值为所述第一码流预设值;当确定所述第一指定码流值不小于所述第一码流预设值时,调整所述当前码流值为所述第一指定码流值; 当确定所述第一指定码流值不小于所述当前网络带宽时,判断所述当前网络带宽是否小于所述第一码流预设值;当确定所述当前网络带宽小于所述第一码流预设值时,调整所述当前码流值为所述第一码流预设值;当确定所述当前网络带宽不小于所述第一码流预设值时,调整所述当前码流值为所述当前网络带宽。
6.如权利要求1或2所述的方法,其特征在于,在调整所述当前码流值变小之前,还包括: 确定所述当前码流值大于当前网络带宽;或者 确定所述当前码流值大于第一码流预设值;或者 确定所述当前码流值大于所述当前网络带宽,且确定所述当前码流值大于所述第一码流预设值。
7.如权利要求6所述的方法,其特征在于,当确定所述当前码流值不大于所述第一码流预设值时,还包括: 当所述指定内存中存在I帧图像编码数据时,确定待调整延时为所述当前帧延时和预设延时的差值; 根据所述待调整延时确定预删除的P帧图像编码数据的数量; 当所述指定内存中存在在最后存储的一帧I帧图像编码数据之前存储的所述数量的P帧图像编码数据时,从所述指定内存中最先存储的一帧P帧图像编码数据开始,删除所述数量的P帧图像编码数据。
8.如权利要求7所述的方法,其特征在于,当所述指定内存中不存在在最后存储的一帧I帧图像编码数据之前存储的所述数量的P帧图像编码数据时,还包括: 在删除在最后存储的一帧I帧图像编码数据之前存储的所有P帧图像编码数据之后,判断所述指定内存中是否存在至少第一预设数量的I帧图像编码数据; 当确定所述指定内存中存在至少所述第一预设数量的I帧图像编码数据时,从所述指定内存中最先存储的一帧I帧图像编码数据开始,删除第二预设数量的I帧图像编码数据;所述第一预设数量大于所述第二预设数量。
9.如权利要求8所述的方法,其特征在于,当确定所述指定内存中不存在至少所述第一预设数量的I帧图像编码数据时,还包括: 当所述当前帧延时在所述预设范围内时,判断所述当前帧图像初始数据是否为P帧图像初始数据; 当确定所述当前帧图像初始数据为P帧图像初始数据时,删除所述当前帧图像初始数据。
10.如权利要求3所述的方法,其特征在于,在调整所述当前码流值变大之前,还包括: 确定当前时刻已到达采用第二预设调整周期调整所述当前码流值变大的时刻。
11.如权利要求3所述的方法,其特征在于,在调整所述当前码流值变大之前,还包括: 确定所述当前码流值小于第二预设码流值。
12.如权利要求3所述的方法,其特征在于,调整所述当前码流值变大,具体为: 获取上一次调整码流值变小时的指定网络带宽,以及基于公式M2=MfAX (2x)/32,确定第二指定码流值,其中,M2为第二指定码流值,M0为当前码流值,A为调整范围,X为连续调整码流值变大的次数; 判断所述指定网络带宽是否大于所述当前码流值,且小于所述第二指定码流值; 当确定所述指定网络带宽大于所述当前码流值,且小于所述第二指定码流值时,判断所述指定网络带宽是否大于所述第二预设码流值;当确定所述指定网络带宽大于所述第二预设码流值时,调整所述当前码流值为所述第二预设码流值;当确定所述指定网络带宽不大于所述第二预设码流值时,调整所述当前码流值为所述指定网络带宽; 当确定所述指定网络带宽不是大于所述当前码流值,且小于所述第二指定码流值时,判断所述第二指定码流值是否大于所述第二预设码流值;当确定所述第二指定码流值大于所述第二预设码流值时,调整所述当前码流值为所述第二预设码流值;当确定所述第二指定码流值不大于所述第二预设码流值时,调整所述当前码流值为所述第二指定码流值。
13.一种图像数据处理装置,其特征在于,包括: 确定单元,用于当获取到当前帧图像初始数据时,确定当前帧延时为指定内存中最先存储的一帧图像编码数据对应的初始数据获取到的时间和最后存储的一帧图像编码数据对应的初始数据获取到的时间之间的时间差值; 调整单元,用于当所述当前帧延时在预设范围内时,调整当前码流值变小; 编码单元,用于基于调整后的当前码流值对所述当前帧图像初始数据进行编码,得到当前帧图像编码数据,所述当前帧图像编码数据存储于所述指定内存中等待发送。
14.如权利要求13所述的装置,其特征在于,所述调整单元,还用于当所述当前帧延时相比于上一帧延时变大时,调整所述当前码流值变小;或者当所述当前帧延时在第一数值范围内,所述上一帧延时在第二数值范围内,且所述第一数值范围内的所有数值均大于所述第二数值范围内的所有数值时,调整所述当前码流值变小。
15.如权利要求13或14所述的装置,其特征在于,所述调整单元,还用于当所述当前帧延时为O时,调整所述当前码流值变大。
16.如权利要求13所述的装置,其特征在于,所述确定单元,还用于在确定所述当前帧延时之前,确定当前时刻已到达采用第一预设调整周期调整所述当前码流值的时刻。
17.如权利要求13或14所述的装置,其特征在于,所述调整单元,具体用于判断第一指定码流值是否小于所述当前网络带宽,所述第一指定码流值为所述当前码流值的指定倍数,所述指定倍数小于I ;当确定所述第一指定码流值小于所述当前网络带宽时,判断所述第一指定码流值是否小于所述第一码流预设值;当确定所述第一指定码流值小于所述第一码流预设值时,调整所述当前码流值为所述第一码流预设值;当确定所述第一指定码流值不小于所述第一码流预设值时,调整所述当前码流值为所述第一指定码流值;当确定所述第一指定码流值不小于所述当前网络带宽时,判断所述当前网络带宽是否小于所述第一码流预设值;当确定所述当前网络带宽小于所述第一码流预设值时,调整所述当前码流值为所述第一码流预设值;当确定所述当前网络带宽不小于所述第一码流预设值时,调整所述当前码流值为所述当前网络带宽。
18.如权利要求13或14所述的装置,其特征在于,所述调整单元,还用于在调整所述当前码流值变小之前,确定所述当前码流值大于当前网络带宽;或者在调整所述当前码流值变小之前,确定所述 当前码流值大于第一码流预设值;或者在调整所述当前码流值变小之前,确定所述当前码流值大于所述当前网络带宽,且确定所述当前码流值大于所述第一码流预设值。
19.如权利要求18所述的装置,其特征在于,还包括: 删除单元,用于当确定所述当前码流值不大于所述第一码流预设值,所述指定内存中存在I帧图像编码数据时,确定待调整延时为所述当前帧延时和预设延时的差值;根据所述待调整延时确定预删除的P帧图像编码数据的数量;当所述指定内存中存在在最后存储的一帧I帧图像编码数据之前存储的所述数量的P帧图像编码数据时,从所述指定内存中最先存储的一帧P帧图像编码数据开始,删除所述数量的P帧图像编码数据。
20.如权利要求19所述的装置,其特征在于,所述删除单元,还用于当所述指定内存中不存在在最后存储的一帧I帧图像编码数据之前存储的所述数量的P帧图像编码数据时,在删除在最后存储的一帧I帧图像编码数据之前存储的所有P帧图像编码数据之后,判断所述指定内存中是否存在至少第一预设数量的I帧图像编码数据;当确定所述指定内存中存在至少所述第一预设数量的I帧图像编码数据时,从所述指定内存中最先存储的一帧I帧图像编码数据开始,删除第二预设数量的I帧图像编码数据;所述第一预设数量大于所述第二预设数量。
21.如权利要求20所述的装置,其特征在于,所述删除单元,还用于当确定所述指定内存中不存在至少所述第一预设数量的I帧图像编码数据,所述当前帧延时在所述预设范围内时,判断所述当前帧图像初始数据是否为P帧图像初始数据;当确定所述当前帧图像初始数据为P帧图像初始数据时,删除所述当前帧图像初始数据。
22.如权利要求15所述的装置,其特征在于,所述调整单元,还用于在调整所述当前码流值变大之前,确定当前时刻已到达采用第二预设调整周期调整所述当前码流值变大的时刻。
23.如权利要求15所述的装置,其特征在于,所述调整单元,还用于在调整所述当前码流值变大之前,确定所述当前码流值小于第二预设码流值。
24.如权利要求15所述的装置,其特征在于,所述调整单元,具体用于获取上一次调整码流值变小时的指定网络带宽,以及基于公式M2=MfAX (2X)/32,确定第二指定码流值,其中,M2为第二指定码流值,M0为当前码流值,A为调整范围,X为连续调整码流值变大的次数;判断所述指定网络带宽是否大于所述当前码流值,且小于所述第二指定码流值;当确定所述指定网络带宽大于所述当前码流值,且小于所述第二指定码流值时,判断所述指定网络带宽是否大于所述第二预设码流值;当确定所述指定网络带宽大于所述第二预设码流值时,调整所述当前码流值为所述第二预设码流值;当确定所述指定网络带宽不大于所述第二预设码流值时,调整所述当前码流值为所述指定网络带宽;当确定所述指定网络带宽不是大于所述当前码流值,且小于所述第二指定码流值时,判断所述第二指定码流值是否大于所述第二预设码流值;当确定所述第二指定码流值大于所述第二预设码流值时,调整所述当前码流值 为所述第二预设码流值;当确定所述第二指定码流值不大于所述第二预设码流值时,调整所述当前码流值为所述第二指定码流值。
【文档编号】H04N21/2343GK103929654SQ201310012034
【公开日】2014年7月16日 申请日期:2013年1月11日 优先权日:2013年1月11日
【发明者】丁林超, 陈成斌, 张兴明, 傅利泉, 朱江明, 吴军, 吴坚 申请人:浙江大华技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1