一种视频解码错误的处理方法及装置与流程

文档序号:14785704发布日期:2018-06-27 22:29阅读:1637来源:国知局
一种视频解码错误的处理方法及装置与流程

本发明涉及视频解码技术领域,尤其涉及一种视频解码错误的处理方法及装置。



背景技术:

随着4K电视的普及,大家对超高清视频的需求也越来越强烈,由于高清视频的数据传输量非常大,而目前的网络带宽对传输4K图像还有一些瓶颈,特别是移动终端的流媒体服务需求迅猛增长后,高清晰度的流媒体需求和日益紧缺的网络带宽资源的矛盾越来越突出,不可避免的会出现在数据输出过程中,由于网络丢包等因素,而导致视频图像花屏和卡顿的情况。

对于视频图像花屏和卡顿的现象,目前的专利和文献主要是针对各个解码标准相对应的错误隐藏技术进行研究,当视频数据出现错误的时候,采用块分割技术进行错误隐藏,通过具体分析时域和空域掩藏算法,提出改进的错误掩藏算法。传统的空域错误隐藏技术主要采用基于方向熵的自适应选择加权像素平均插值和方向插值,有专利文献对方向插值做了相应的改进,提高了边缘方向估计的精确度,对于时域隐藏技术的改进,主要是针对运动矢量搜索匹配不够精确和运动剧烈的丢失块掩藏不准确这两个问题提出改进,通过采用外边界匹配、增加运动矢量集、扩大参考帧范围、更改计算最小误差方法等方法来提高丢失宏块匹配准确度。

然而,对于网络丢包严重的视频数据,即使采用改进的时域隐藏算法、改进的空域隐藏算法或者两种改进算法相结合,也不能避免花屏和卡顿的现象。因此,亟需寻找一种解决视频花屏和卡顿问题的方法。



技术实现要素:

为解决现有存在的问题,本发明实施例期望提供一种视频解码错误的处理方法及装置,能解决视频花屏和卡顿的现象,提高视频解码准确率。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供了一种视频解码错误的处理方法,所述方法包括:

检测网络丢包率和I帧间隔;

将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;

当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。

上述方案中,所述选择预设模式对错误帧进行调整,包括:

选择预设模式对参考帧序列中的错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧。

上述方案中,所述预设模式为第一模式:将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,

所述预设模式为第二模式:将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,

所述预设模式为第三模式:删除参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误帧;或,

所述预设模式为第四模式:删除错误参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误I帧。

上述方案中,所述根据所述第一比较结果和所述第二比较结果,选择预设模式,包括:

当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择所述第一模式;

当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择所述第二模式;

当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择所述第三模式;

当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择所述第四模式。

上述方案中,所述方法还包括:为每个预设模式设置对应的标识值;

所述选择预设模式对参考帧序列中错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧,包括:

将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;

将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧;当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧。

上述方案中,所述检测网络丢包率和I帧间隔之前,所述方法还包括:

设置所述第四模式对错误帧进行调整。

本发明实施例还提供了一种视频解码错误的处理装置,所述装置包括:检测模块、比较模块和处理模块;其中,

所述检测模块,用于检测网络丢包率和I帧间隔;

所述比较模块,用于将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;

所述处理模块,用于当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。

上述方案中,所述处理模块包括:

处理单元,用于根据所述第一比较结果和所述第二比较结果,对参考帧序列中的错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧。

上述方案中,所述预设模式为第一模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,

所述预设模式为第二模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,

所述预设模式为第三模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,删除参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误帧;或,

所述预设模式为第四模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,删除错误参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误I帧。

上述方案中,所述处理模块还包括:

所述选择单元,用于当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第一模式;当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第二模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第三模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第四模式。

上述方案中,所述装置还包括:设置模块,用于为每个预设模式设置对应的标识值;

所述处理单元,具体用于将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;具体还用于将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧,当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧。

上述方案中,所述设置模块,还用于设置所述第四模式对错误帧进行调整。

本发明实施例提供的视频解码错误的处理方法及装置,先检测网络丢包率和I帧间隔;再将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。可见,本发明实施例根据检测到的网络丢包率的高低和I帧间隔的远近,来选择针对视频解码错误的适当的处理模式,通过对错误参考帧进行调整并同时搜索用于重新解码的下一非错误的帧,避免了视频花屏和卡顿的现象,从而大大增强了视频传输对网络的兼容性,提高了视频解码准确率,保证了视频数据的正常传输。

附图说明

图1为本发明实施例运动估计的帧间预测编码原理图;

图2为本发明实施例帧间预测编码示意图;

图3为本发明视频解码错误的处理方法实施例一的实现流程示意图;

图4为图3所示实现流程中选择预设模式对错误帧进行调整的细化流程示意图;

图5为基于第一模式的处理原理示意图;

图6为基于第二模式的处理原理示意图;

图7为基于第三模式的处理原理示意图;

图8为基于第四模式的处理原理示意图;

图9为本发明视频解码错误的处理方法实施例二的实现流程示意图;

图10为本发明视频解码错误的处理装置实施例一的组成结构示意图;

图11为图10所示处理装置中处理模块的细化组成结构示意图;

图12为本发明视频解码错误的处理装置实施例二的组成结构示意图。

具体实施方式

本发明实施例提供的视频解码错误的处理方法,主要应用于视频处理系统中,根据检测到的网络丢包率的高低和I帧间隔的远近,来选择针对视频解码错误的适当的处理模式,对视频解码错误进行处理,能够有效均衡视频花屏和卡顿,避免视频花屏和卡顿的现象。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了说明当检测到错误帧时需要对错误参考帧进行处理,在图1、图2中,给出了视频图像帧间预测编码原理。

为了消除视频图像的时间冗余,通常采用运动估计的帧间预测编码方法对视频进行编码。图1为本发明实施例运动估计的帧间预测编码原理图,参照图1所示,I为原始输入,I'为预测值,I与I'之差e经过量化后为e',视频图象恢复数据为I”=I'+e',I”与原始数据相比,量化误差为q=e-e',I”经过补偿预测为I',残差数据e'经过残差预测编码函数Ce进行预测编码,运动矢量n经过运动矢量预测编码函数Cn进行预测编码。

图2为本发明实施例帧间预测编码示意图,参照图2所示,根据帧间预测编码的特性,当其中某个B帧或者P帧在传输的过程中数据丢失或者数据错误导致花屏时,由于该帧作为后面帧的参考帧,后面的帧在解码时以错误帧作为参考,错误就会放大和递延到后面的帧,所以当检测到错误帧,需要将错误参考帧进行调整。

图3为本发明视频解码错误的处理方法实施例一的实现流程示意图,参照图3所示,本实施例中视频解码错误的处理方法包括以下步骤:

步骤301:检测网络丢包率和I帧间隔;

通常,视频网络数据包在数据传输过程中,由于中途的传输,会导致视频网络部分数据包丢失,而网络丢包率是数据包丢失数量与传输的数据包总数的比值,是视频网络的重要参数;因此,在正常传输情况下,网络丢包率应该控制在一定范围内;如果在视频解码过程中,网络丢包率越高,则花屏帧越多,势必会影响用户的观看体验;本实施例中,网络丢包率可以通过ping指令进行检测。

I帧是视频图像的重要帧,为一帧画面的完整保留,解码时只需要本帧数据就可以完成,而I帧间隔的远近会影响GOP长度,进而影响读取GOP的速度,如果I帧间隔越远,搜索I帧的时候越长,视频切换时间越长;本实施例中,通过检测相邻两个I帧之间,视频帧的数量确定I帧间隔。

可见,网络丢包率和I帧间隔都会影响视频的质量,在本实施例中,根据网络丢包率的高低和I帧间隔的远近来选择视频解码错误处理的预设模式,根据选择的预设模式进行相应的处理操作。

步骤302:将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;

这里,所述第一阈值用来表示网络丢包率高低的界限参数,第一阈值的大小可以根据实际需要进行设置,例如该第一阈值的取值范围可以为2%到6%的百分值,在本实施例中,可以以第一阈值为2%为例进行详细说明;所述第二阈值用来表示I帧间隔远近的界限参数,第二阈值的大小可以根据实际需要进行设置,例如该第二阈值的取值范围可以为20帧到50帧的整数值,在本实施例中,可以以第二阈值为25为例进行详细说明。

具体的,将当前检测到的网络丢包率与2%进行比较,获得第一比较结果,能够得到两种情况:第一种情况是,当网络丢包率大于或等于2%时,此时网络丢包率高;第二种情况是,当网络丢包率小于2%时,此时网络丢包率低。

将当前检测到的I帧间隔与25进行比较,获得第二比较结果,也能够得到两种情况:第一种情况是,I帧间隔大于等于25,此时I帧间隔远;第二种情况是,I帧间隔小于25,此时I帧间隔近。

步骤303:当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。

具体的,所述选择预设模式对错误帧进行调整包括:选择预设模式对参考帧序列中错误参考帧进行调整,并同时搜索用于重新解码的下一非错误的帧。

图4为图3所示实现流程中选择预设模式对错误帧进行调整的细化流程示意图,参照图4所示,步骤303具体包括以下步骤:

步骤3031,当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第一模式;当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第二模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第三模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第四模式;

步骤3032,在每个预设模式设置对应的标识值后,将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;

本步骤中,第一标识值可以取2;

步骤3033,将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧;当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧;

本步骤中,第二标识值可以取1。

本实施例中,所述预设模式分为四种模式:基于第一模式的处理原理如图5所示、基于第二模式的处理原理如图6所示、基于第三模式的处理原理如图7所示和基于第四模式的处理原理如图8所示,所述四种预设模式在解码器初始化的时候配置,并为每种预设模式设置各自的标识值,各个预设模式的标识值可以根据实际需要进行设置;在本实施例中,标识值可以设置为:第一模式的标识值为0,第二模式的标识值为1,第三模式的标识值为2,第四模式的标识值为3。

所述第一标识值可以根据实际需要进行设置,在本实施例中,可以以第一标识值为2为例进行详细说明;所述第二标识值可以根据实际需要进行设置,在本实施例中,可以以第二标识值为1为例进行详细说明。

具体的,检测网络丢包率和I帧间隔,将网络丢包率与2%进行比较,判断网络丢包率的高低,将I帧间隔与25进行比较,判断I帧间隔的远近,根据网络丢包率的高低和I帧间隔的远近,选择对视频解码错误处理的预设模式;其中,

当网络丢包率高(即花屏帧多),并且视频I帧间隔远时,选择第一模式;当网络丢包率高(即花屏帧多),并且视频I帧间隔近时,选择第二模式;当网络丢包率低(即花屏帧少),并且视频I帧间隔远时,选择第三模式;当网络丢包率低(即花屏帧少),并且视频I帧间隔近时,选择第四模式;

按照二进制编码将当前选择的预设模式的标识值与2相与,当相与结果为真时,则检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,则检测到错误帧时将参考帧序列中的错误参考帧的地址指向已解码的参考帧序列中与错误参考帧相邻的I帧;

按照二进制编码将当前选择的预设模式的标识值与1相与,当相与结果为真时,则解码出错时搜索用于重新解码的下一非错误I帧;当相与结果为假时,则解码出错时搜索用于重新解码的下一非错误帧。

可以理解的是,根据当前检测到的网络丢包率的高低和I帧间隔的远近选择对视频解码错误处理的预设模式,通过选择的预设模式对错误帧进行调整就能避免视频花屏和卡顿的现象,是因为:在网络丢包率高的情况下,花屏帧多,将参考帧序列中的错误参考帧替换为已解码的参考帧序列中与错误参考帧相邻的I帧,以已解码的参考帧序列中与错误参考帧相邻的I帧作为参考帧,可以避免一直找不到可用的参考帧而导致花屏的现象;在I帧间隔远的情况下,解码出错时搜索用于重新解码的下一非错误帧,可以避免找I帧带来的时间开销而导致卡顿的现象。

图9为本发明视频解码错误的处理方法实施例二的实现流程示意图,参照图9所示,本实施例的视频解码错误的处理方法,是在实施例一的步骤301之前还包括:

步骤304,设置所述第四模式对错误帧进行调整。

基于实施例一中视频解码错误的处理方法,在本实施例中,对本发明视频解码错误的处理方法的具体实现举例进行详细说明。

在正常情况下,默认网络情况良好,网络丢包率低(即花屏帧少),I帧间隔近,基本满足正常的视频传输要求,解码器初始化配置为第四模式对视频帧进行解码,标识值为3;

参照图8所示,将第四模式的标识值3与2相与,相与的结果为真,当检测到错误帧时,删除错误参考帧;将第四模式的标识值3与1相与,相与结果为真,解码出错时搜索用于重新解码的下一非错误I帧后继续对视频帧进行解码;

当检测到网络丢包率为2%,I帧间隔为25时,选择第一模式,标识值为0;

参照图5所示,将第一模式的标识值0与2相与,相与结果为假,当检测到错误帧时将参考帧序列中的错误参考帧的地址指向已解码的参考帧序列中与错误参考帧相邻的I帧;将第一模式的标识值0与3相与,相与结果为假,当解码出错时搜索用于重新解码的下一非错误帧。

从第四模式切换到第一模式,解码器重新初始化配置,配置为第一模式,标识值为0,继续对视频帧进行解码,这个切换模式的过程在视频观看的过程中可以做到无缝连接,从用户的角度基本看不到任何画面的异常变化,解决了视频花屏和卡顿的问题。

图10为本发明视频解码错误的处理装置实施例一的组成结构示意图,参照图10所示,本实施例中视频解码错误的处理装置包括检测模块41、比较模块42和处理模块43;其中,

所述检测模块41,用于检测网络丢包率和I帧间隔;

通常,视频网络数据包在数据传输过程中,由于中途的传输,会导致视频网络部分数据包丢失,而网络丢包率是数据包丢失数量与传输的数据包总数的比值,是视频网络的重要参数;因此,在正常传输情况下,网络丢包率应该控制在一定范围内,如果在视频解码过程中,网络丢包率越高,则花屏帧越多,势必会影响用户的观看体验;本实施例中,网络丢包率可以通过ping指令进行检测。

I帧是视频图像的重要帧,为一帧画面的完整保留,解码时只需要本帧数据就可以完成,而I帧间隔的远近会影响GOP长度,进而影响读取GOP的速度,如果I帧间隔越远,搜索I帧的时候越长,视频切换时间越长;本实施例中,通过检测相邻两个I帧之间,视频帧的数量确定I帧间隔。

可见,网络丢包率和I帧间隔都会影响视频的质量,在本实施例中,根据网络丢包率的高低和I帧间隔的远近来选择视频解码错误处理的预设模式,根据选择的预设模式进行相应的处理操作。

所述比较模块42,用于将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;

这里,所述第一阈值用来表示网络丢包率高低的界限参数,第一阈值的大小可以根据实际需要进行设置,例如该第一阈值的取值范围可以为2%到6%的百分值,在本实施例中,可以以第一阈值为2%为例进行详细说明;所述第二阈值用来表示I帧间隔远近的界限参数,第二阈值的大小可以根据实际需要进行设置,例如该第二阈值的取值范围可以为20帧到50帧的整数值,在本实施例中,可以以第二阈值为25为例进行详细说明。

具体的,将当前检测到的网络丢包率与2%进行比较,获得第一比较结果,能够得到两种情况:第一种情况是,当网络丢包率大于或等于2%时,此时网络丢包率高;第二种情况是,当网络丢包率小于2%时,此时网络丢包率低。

将当前检测到的I帧间隔与25进行比较,获得第二比较结果,也能够得到两种情况:第一种情况是,I帧间隔大于等于25,此时I帧间隔远;第二种情况是I帧间隔小于25,此时I帧间隔近。

所述处理模块43,用于当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。

图11为图10所示处理装置中处理模块的细化组成结构示意图,参照图11所示,所述处理模块43包括选择单元431和处理单元432;其中,

所述选择单元431,具体用于当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第一模式;当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第二模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第三模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第四模式;

所述处理单元432,用于根据所述第一比较结果和所述第二比较结果,对参考帧序列中的错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧;具体用于,在每个预设模式设置对应的标识值后,将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧;当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧;

所述处理单元432中,第一标识值可以取2,第二标识值可以取1。

本实施例中,所述预设模式分为四种模式:基于第一模式的处理原理如图5所示、基于第二模式的处理原理如图6所示、基于第三模式的处理原理如图7所示和基于第四模式的处理原理如图8所示,所述四种预设模式在解码器初始化的时候配置,并为每种预设模式设置各自的标识值,各个预设模式的标识值可以根据实际需要进行设置;在本实施例中,标识值可以设置为:第一模式的标识值为0,第二模式的标识值为1,第三模式的标识值为2,第四模式的标识值为3。

所述第一标识值可以根据实际需要进行设置,在本实施例中,可以以第一标识值为2为例进行详细说明;所述第二标识值可以根据实际需要进行设置,在本实施例中,可以以第二标识值为1为例进行详细说明。

具体的,检测网络丢包率和I帧间隔,将网络丢包率与2%进行比较,判断网络丢包率的高低,将I帧间隔与25进行比较,判断I帧间隔的远近,根据网络丢包率的高低和I帧间隔的远近,选择视频解码错误处理的预设模式;其中,

当网络丢包率高(即花屏帧多),并且视频I帧间隔远时,选择第一模式;当网络丢包率高(即花屏帧多),并且视频I帧间隔近时,选择第二模式;当网络丢包率低(即花屏帧少),并且视频I帧间隔远时,选择第三模式;当网络丢包率低(即花屏帧少),并且视频I帧间隔近时,选择第四模式;

按照二进制编码将当前选择的模式的标识值与2相与,当相与结果为真时,则检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,则检测到错误帧时将参考帧序列中的错误参考帧的地址指向已解码的参考帧序列中与错误参考帧相邻的I帧;

按照二进制编码将当前选择的模式的标识值与1相与,当相与结果为真时,则解码出错时搜索用于重新解码的下一非错误I帧;当相与结果为假时,则解码出错时搜索用于重新解码的下一非错误帧。

可以理解的是,根据当前检测到的网络丢包率的高低和I帧间隔的远近选择对视频解码错误处理的预设模式,通过选择的预设模式对错误帧进行调整就能避免视频花屏和卡顿的现象,是因为:在网络丢包率高的情况下,花屏帧多,将参考帧序列中的错误的参考帧替换为已解码的参考帧序列中与错误参考帧相邻的I帧,以已解码的参考帧序列中与错误参考帧相邻的I帧作为参考帧,可以避免一直找不到可用的参考帧而导致花屏的现象;在I帧间隔远的情况下,解码出错时搜索用于重新解码的下一非错误帧,可以避免找I帧带来的时间开销而导致卡顿的现象。

图12为本发明视频解码错误的处理装置实施例二的组成结构示意图,参照图12所示,本实施例的视频解码错误的处理装置除了包括检测模块、比较模块和处理模块外,还包括:

设置模块44,用于为每个预设模式设置对应的标识值;还用于设置所述第四模式对错误帧进行调整。

基于实施例一中视频解码错误的处理装置,在本实施例中,对本发明视频解码错误的处理装置的具体实现举例进行详细说明。

在正常情况下,默认网络情况良好,网络丢包率低(即花屏帧少),I帧间隔近,基本满足正常的视频传输要求,解码器初始化时配置为第四模式对视频帧进行解码,标识值为3;

参照图8所示,将第四模式的标识值3与2相与,相与的结果为真,当检测到错误帧时,删除错误参考帧;将第四模式的标识值3与1相与,相与结果为真,解码出错时搜索用于重新解码的下一非错误I帧后继续对视频帧进行解码;

当检测到网络丢包率为2%,I帧间隔为25时,选择第一模式,标识值为0;

参照图5所示,将第一模式的标识值0与2相与,相与结果为假,当检测到错误帧时将参考帧序列中的错误参考帧的地址指向已解码的参考帧序列中与错误参考帧相邻的I帧;将第一模式的标识值0与3相与,相与结果为假,当解码出错时搜索用于重新解码的下一非错误帧。

从第四模式切换到第一模式,解码器重新初始化配置,配置为第一模式,标识值为0,继续对视频帧进行解码,这个切换模式的过程在视频观看的过程中可以做到无缝连接,从用户的角度基本看不到任何画面的异常变化,解决了视频花屏和卡顿的问题。

在实际应用中,所述检测模块41、比较模块42、处理模块43、设置模块44、以及选择单元431和处理单元432均可由位于移动终端中的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1