一种P帧处理方法及设备与流程

文档序号:12379198阅读:571来源:国知局
一种P帧处理方法及设备与流程

本发明涉及视频解码领域,特别涉及一种P帧处理方法。本发明同时还涉及一种视频解码装置。



背景技术:

视频泛指将一系列静态影像以电信号方式加以捕捉,纪录,处理,储存,传送,与重现的各种技术,而解码则是利用特定方法把数码还原成它所代表的内容或将电脉冲信号、光信号、无线电波等转换成它所代表的信息、数据等的过程。随着网络技术的不断发展以及生活水平的不断的提高,用户对于其通过显示终端所看到的视频的清晰度、流畅度也越来越重视,相应的,如何提高视频编解码速度以提高用户体验也越来越成为显示终端厂商所要解决的问题。

现有技术在针对连续动态图像进行编码的过程中,会将连续若干幅图像分成P,B,I三种类型,I帧表示关键帧,P帧由在它前面的P帧或者I帧预测而来,P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。

受限于客观条件,目前尚无法完全消除视频传输过程中的时延所带来的影响,针对时延要求比较高的场景,现有技术中一般采用以下处理策略保证以及提高解码速度:

(1)减少传输以及解码过程中的数据缓存,快速输入到解码器;

(2)对特定场景的码流进行重新编码,减少码流中I帧的数量及去掉B帧,提高解码器解码的速度;

(3)采取随机丢弃或前后帧对比差值,丢掉一定比例的P帧。

针对以上介绍的方式(3),现有技术的实现过程一般是随机丢弃一定数量的P帧,或者是整体计算前后两个P帧代表图像的像素点差值,若差值在一定阀值内则丢弃,否则将之保留,然后将保留的P帧作为参考帧循环计算下一个要丢弃的P帧。

本申请的发明人在实现本发明的过程中,发现现有P帧处理方式没有针对图像各个区域的数据信息内容进行分析,且处理算法非常简单,从而极大影响了图像质量以及用户体验。



技术实现要素:

本发明实施例提供一种P帧处理方法和装置,用以解决现有技术中针对P帧丢弃处理简单而导致用户体验差的问题,能够在保证图像质量的基础上提升用户观看体验,该方法预先将显示图像划分为多个区域,还包括以下步骤:

在视频码流解码过程中,依次获取I帧后的第一P帧以及在所述第一P帧之后的第二P帧,所述I帧之后包含至少两个连续的P帧;

确定各个区域在所述第一P帧中的像素平均值,所述像素平均值根据所述第一P帧中每个像素点与第二P帧中对应像素点的色度坐标差值生成;

根据所述像素平均值以及为各所述区域预设的阈值,从所述区域中筛选指定区域,所述指定区域的像素平均值高于所述指定区域的阈值;

根据各所述阈值对应的指定区域的数量确定是否丢弃所述第一P帧,直至所述I帧后的所有P帧完成是否丢弃的判断。

另外,本申请实施例还提供了一种P帧处理装置,包括:

获取模块,用于依次获取I帧后的第一P帧以及在所述第一P帧之后的第二P帧,所述I帧之后包含至少两个连续的P帧;

处理模块,用于确定各个区域在所述第一P帧中的像素平均值,所述像素平均值根据所述第一P帧中每个像素点与第二P帧中对应像素点的色坐标差值生成;

筛选模块,用于根据所述像素平均值以及为各所述区域预设的阈值,从所述区域中筛选指定区域,所述指定区域的像素平均值高于所述指定区域的阈值;

确定模块,用于根据各所述阈值对应的指定区域的数量确定是否丢弃所述第一P帧,直至所述I帧后的所有P帧完成是否丢弃的判断。

与现有技术相比,本发明实施例所提出的技术方案的有益技术效果包括:

预先将显示图像划分为多个区域,依次获取I帧后的第一P帧以及在所述第一P帧之后的第二P帧,确定各个区域在第一P帧中的像素平均值,根据像素平均值以及为各区域预设的阈值从区域中筛选指定区域,根据各阈值对应的指定区域的数量确定是否丢弃第一P帧,直至I帧后的所有P帧完成是否丢弃的判断。通过将显示画面划分多个区域,并结合各个区域的重要性以及相对于I帧的变化程度确定是否丢弃P帧,实现了视频解码过程中P帧处理的画质优化,从而能够在保证图像质量的基础上提升用户观看体验。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中音视频的整体处理流程示意图;

图2为本发明实施例所提出的一种P帧处理方法的流程示意图;

图3为本发明实施例所提出的一种具体应用场景下P帧处理方法的流程示意图;

图4为本发明实施例所提出的“井字格”区域划分策略及权重分配表;

图5为本发明实施例所提出的优先级策略判断示意图。

图6为本发明实施例所提出的一种P帧处理装置的结构示意图。

具体实施方式

如图1所示,为现有技术中音视频的整体处理流程示意图,该流程从前端到后端大致分为四个阶段:头端码流提取阶段、码流组装及分析处理阶段、码流解码阶段以及显示输出阶段。音视频播放引入延时的原因很多,要减少延时就要从整个音视频的处理过程分阶段分析。由于每个阶段减少低延时的策略均不同,因此本申请针对第三阶段“码流解码阶段”的延时进行优化处理,其中即涉及到针对P帧丢弃的优化。

正如本发明背景技术所述,针对某些特定场景诸如游戏等要求低延时的特殊场景,现有技术中基本采用“减少传输及解码缓冲区,对TS重编码去掉I、B帧,随机跳P帧”等技术来实现视频的快速解码,尤其是对于“随机跳P帧”而言,虽然可以一定程度解决低延时的问题,但目前的跳P帧策略大多采用随机跳或通过前后帧的直接差值对比来处理,这些处理策略将会对画面质量产生很大的影响,无法在实现快速解码的同时保证用户的观看体验。

有鉴于以上现有技术中的问题,本申请提出了一种P帧处理方法。该方法通过将显示画面划分多个区域,并结合各个区域的重要性以及相对于I帧的变化程度确定是否丢弃P帧,实现了视频解码过程中P帧处理的画质优化,从而能够在保证图像质量的基础上提升用户观看体验。

基于上述发明构思,在执行该方案的具体步骤之前,需要预先将显示图像划分为多个区域。该划分旨在将显示图像按照使用习惯区分出不同区域,技术人员可以为这些不同的区域按照被关注的程度设置优先级和/或阈值,后续在确定是否丢弃P帧时即以该P帧中不同部分的变化程度是否能够达到阈值以及达到阈值的区域的数量进行判断。

在本申请的一个优选实施例中,技术人员可以在对显示图像进行了区域划分之后,为各个区域设置相应的优先级,再根据划分后的多个区域被指定的优先级为各区域设置阈值,其中高优先级的区域对应的阈值低于低优先级的区域对应的阈值,这样受关注更多的区域能够更容易的被保留。

在具体的实施例中,本发明提出了“井字格”区域划分策略,该“井字格”区域划分策略将一副音视频图像划分为九大区域,根据人眼关注度的不同分别对其赋予不同的阈值以及划分为面积不同的区域。在该具体实施例中,显示图像具体按照九宫格方式进行划分,并且显示图像的中心区域对应第一阈值,该显示图像的上下中心区域对应第二阈值,该显示图像的左右中心区域对应第三阈值,该显示图像的四角区域对应第四阈值,其中第一阈值、第二阈值、第三阈值、第四阈值按照从小到大分别取值。

如图2所示,为本发明实施例所提出的一种P帧处理方法的流程示意图,包括以下步骤:

步骤S201、依次获取I帧后的第一P帧以及在所述第一P帧之后的第二P帧,所述I帧之后包含至少两个连续的P帧。

如背景技术所述,I帧之后的图像由多个P帧组成,因此本申请判断是否需要丢弃某个P帧时,需要基于该P帧之前的I帧以及该P帧之后的P帧作为参照确定是否需要丢弃,因此该步骤依次获取I帧后的第一P帧以及在第一P帧之后的第二P帧,具体的P帧的选取方式的不同可依据实际解码需求而定,并不影响本申请的保护范围。

步骤S202、确定各个区域在所述第一P帧中的像素平均值,所述像素平均值根据所述第一P帧中每个像素点与第二P帧中对应像素点的色度坐标差值生成。

该步骤旨在确定第一P帧相对于I帧以及第二P帧的变化量,为了将该变化量具体化,本申请将其用“像素平均值”进行表示,并且该像素平均值根据所述第一P帧中每个像素点与第二P帧中对应像素点的色度坐标差值生成。

在本申请的优选实施例中,获取“像素平均值”的步骤如下:

步骤a)获取所述第一P帧基于所述I帧的各像素点的色度坐标,以及所述第二P帧基于所述I帧的各像素点的色度坐标;

步骤b)根据所述色度坐标获取所述第二P帧相对于所述第一P帧的各像素点的色坐标差值;

步骤c)根据所述差值以及各所述区域的像素点的数量生成各个区域在所述第一P帧中的像素平均值。

在实际的应用场景中,为了初始化操作的实现,也可以设置一组默认的色度坐标,具体的,默认色度坐标的选择可以根据实际需要进行设置,例如亮度分量、蓝色色度分量以及红色色度分量,具体选择内容的变化均在本申请的保护范围之内。

步骤S203、根据所述像素平均值以及为各所述区域预设的阈值,从所述区域中筛选指定区域,所述指定区域的像素平均值高于所述指定区域的阈值。

该步骤中,解码器根据各个区域预设的阈值,将每个区域的像素平均值分别与该预设的阀值进行比较,取像素平均值高于预设阈值的区域为指定区域,在实际的应用场景中,本步骤中的比较方式,可以是像素平均值逐一与阈值对比,也可以是先对像素平均值进行对比再和阈值进行对比,这样的变化并不会影响本申请的保护范围。

步骤S204、根据各所述阈值对应的指定区域的数量确定是否丢弃所述第一P帧,直至所述I帧后的所有P帧完成是否丢弃的判断。

本步骤中将步骤S203中筛选出的指定区域所对应的数量以及与阈值的对应关系进行比较,确定是否丢弃第一P帧。

在优选实施例中,该阈值包括第一阈值、第二阈值、第三阈值以及第四阈值,具体情况分为以下三种:

情况一,第一阈值对应的指定区域的数量不为零,保留第一P帧;

情况二,第一阈值对应的指定区域的数量为零,第二阈值与第三阈值对应的指定区域的数量之和大于或等于第一门限值,保留第一P帧;或,第二阈值与第三阈值对应的指定区域的数量之和小于第一门限值,第二阈值、第三阈值与第四阈值对应的指定区域的数量之和小于第二门限值,丢弃第一P帧;

情况三,所述第一阈值、第二阈值、第三阈值所对应的指定区域的数量均为零,且第四阈值对应的指定区域的数量小于第二门限值,丢弃第一P帧。

需要说明的是,在以上判断过程中,第一门限值小于第二门限值,且以上仅为本申请针对P帧是否丢弃的一种优选实施方案,在以此结果为判断依据的基础上,具体的判断方式的不同并不影响本申请的保护范围。

此外,需要说明的是,在本步骤实现了针对第一P帧是否丢弃的判断之后,该步骤将基于判断结果的不同执行不同的处理方式,具体地,若该第一P帧被保留,将该第一P帧替换原有的I帧,并依次获取新的帧图像后的第一P帧以及在第一P帧之后的第二P帧,若该第一P帧被丢弃,将第二P帧替换为第一P帧,并依次获取在新的第一P帧图像之后的第二P帧,再通过重复上述流程完成I帧后的所有P帧完成是否丢弃的判断。

由此可见,与现有技术相比,本发明实施例所提出的技术方案的有益技术效果包括:

预先将显示图像划分为多个区域,依次获取I帧后的第一P帧以及在所述第一P帧之后的第二P帧,确定各个区域在第一P帧中的像素平均值,根据像素平均值以及为各区域预设的阈值从区域中筛选指定区域,根据各阈值对应的指定区域的数量确定是否丢弃第一P帧,直至I帧后的所有P帧完成是否丢弃的判断。通过将显示画面划分多个区域,并结合各个区域的重要性以及相对于I帧的变化程度确定是否丢弃P帧,实现了视频解码过程中P帧处理的画质优化,从而能够在保证图像质量的基础上提升用户观看体验。

下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如上所述,现有技术中已知的针对延时要求比较高的场景的处理策略中,会采取随机丢弃或前后帧对比差值丢掉一定比例的P帧的方式。该处理策略虽然可以一定程度解决低延时的问题,但采取的跳P帧策略均是随机跳或通过前后帧的直接差值对比来处理,这些处理策略将会对画面质量产生影响,无法保证用户体验。

本发明实施例为了解决上述的问题,针对P帧处理策略进行重点优化,提出了如图3所示的方法,采用特有的“井字格”分配策略以及权重分配策略来选择要丢弃的P帧,该方法包括以下步骤:

步骤S301、根据人眼识别特性对每一块区域进行不同的权值分配处理。

在实际的应用场景中,本步骤中需要对图像进行分区域处理,如图4所示,为本发明实施例所提出的“井字格”区域划分策略及权重分配表,可以看出,本发明采用的“井字格”区域划分策略将一副音视频图像划分为九大区域,根据人眼关注度的不同分别对其赋予不同的权值以及划分为面积不同的区域。权值分别取W1、W2、W3、W4四个值,区域分别以A1、A2、A3、A4、A5、A6、A7、A8、A9标记。权值比例关系为:W1=2*W2=4*W3=5*W4,A1~A9的面积关系为:A1=2*A2=4*A4=5*A6,其中,A2=A3,A4=A5,A6=A7=A8=A9,A1区域为核心区域,赋予最高的权值,A2、A3为次核心区域,赋予次高的权值,以此类推。

当解码器获取到划分过区域的图像的信息时,首先随机选取一组帧数作为参考帧,为了初始化操作的实现,也可以设置一组帧数作为默认的参考帧,具体的,默认参考帧的选择可以根据实际需要进行设置,具体选择内容的变化并不会影响本发明的保护范围。例如,假设参考帧I帧为In,参考帧I帧后的P帧依次为Pn、Pn+1、Pn+2…以此类推,在本发明的具体实施例中,分别获取Pn基于In的每一个像素点的参考值,再分别获取Pn+1基于In的每一个像素点的参考值,根据每个像素点的参考值分别确定出Pn+1与Pn的差值,依次计算出Pn+1与Pn+2、Pn+2与Pn+3…的差值。

步骤S302、基于参考帧计算P帧的每一个像素点的参考值和差值,将差值与区域权值相乘得出P帧的每一个像素点的加权值。

根据参考帧分别获取Pn基于参考帧的每一个像素点的参考值Yn、Crn及Cbn,再分别获取Pn+1基于参考帧的每一个像素点的参考值Yn+1、Crn+1及Cbn+1,根据每个像素点的参考值分别确定出Pn+1与Pn的差值Dyn、Dcrn、Dcbn,并依次计算出Pn+1与Pn+2、Pn+2与Pn+3…的差值。在这里,参考帧可以是设置的默认参考帧,也可以是根据实际情况选择的,具体选择内容的变化并不会影响本发明的保护范围。

然后,根据划分的九大区域确定出每一个像素点所在的区域,获取该区域的权值W,将权值W作为因子分别与差值Dyn、Dcrn、Dcbn做乘法运算得到每个像素点加权后的值Eyn,Ecrn,Ecbn

Eyn=W*Dyn

Ecrn=W*Dcrn

Ecbn=W*Dcbn

其中,权值W根据像素点所在区域分别取W1~W4中的某个值。

步骤S303、根据加权值计算每个区域每个像素点的加权平均值并与阀值比较,将加权平均值高于阀值的区域标记为1并统计。

本步骤中统计每个区域中每一个像素点的加权值Eyn,Ecrn,Ecbn,将每个区域中的所有像素点的加权值相加,相加后的总和除以所有像素点的个数,确定出九大区域中每个区域的加权平均值Aeyn,Aecbn,Aecrn,然后将每个区域的加权平均值统计出来分别与每个区域的阀值进行比较,如果低于阀值,则此区域标记为0,高于阀值,则此区域标记1,并统计所有被标记为1的区域。

在本发明的具体实施例中,本步骤中的阈值可以是根据每个区域的权值进行设置的,也可以是根据每个区域的区域值灵活设置的,当然,在实际的应用场景中,本步骤中的比较方式,可以是加权平均值逐一与阈值对比,也可以是先对加权平均值进行对比再和阈值进行对比,这样的变化并不会影响本申请的保护范围。

步骤S304、将所有标记为1的区域进行P帧处理判断。

在本发明的具体实施例中,具体P帧处理策略如图5所述,包括以下判断步骤:

a)如A1=1,则不丢弃此P帧,否则执行下一步;

b)如A1+A2+A3+A4+A5≥2,则不丢弃此P帧,否则根据A1+A2+A3+A4+A5的值为1或0选择执行步骤c或d,当值为1时执行步骤c,当值为0时执行步骤d;

c)如A1+A2+A3+A4+A5=1,且A6+A7+A8+A9≥3,则不丢弃此P帧,否则如A1+A2+A3+A4+A5=1,且A6+A7+A8+A9<3,则丢弃;

d)如A1+A2+A3+A4+A5=0,且A6+A7+A8+A9<4,则丢弃此P帧,否则不丢弃此P帧;

如果Pn被丢弃,则继续按照上述算法计算下一个P帧的Pn+1帧是否被丢弃;

如果Pn未被丢弃,则以此Pn帧作为参考帧重新计算下一组需要被丢弃的P帧。

本申请实施例所提出的技术方案与传统确定P帧像素点差值的方案对比,进一步的优化了丢帧的算法,重点根据人眼的聚焦习惯将音视频区域细分为九大区域,并将九大区域分别赋予不同的参数,如果A1区域差别不大且被标记为0,则再选择考虑次重点区域A2~A5区域,最终经过逻辑计算,采用对重点区域、非重点区域分别判断的综合策略在选择是否丢弃P帧,提高了画质以及用户体验。

基于与上述方法同样的发明构思,本申请实施例还提出了一种P帧处理装置,其结构示意图如图6所示,具体包括:

获取模块61,用于依次获取I帧后的第一P帧以及在所述第一P帧之后的第二P帧,所述I帧之后包含至少两个连续的P帧;

处理模块62,用于确定各个区域在所述第一P帧中的像素平均值,所述像素平均值根据所述第一P帧中每个像素点与第二P帧中对应像素点的色坐标差值生成;

筛选模块63,用于根据所述像素平均值以及为各所述区域预设的阈值,从所述区域中筛选指定区域,所述指定区域的像素平均值高于所述指定区域的阈值;

确定模块64,用于根据各所述阈值对应的指定区域的数量确定是否丢弃所述第一P帧,直至所述I帧后的所有P帧完成是否丢弃的判断。

在具体的应用场景中,所述处理模块具体用于:

获取所述第一P帧基于所述I帧的各像素点的色度坐标,以及所述第二P帧基于所述I帧的各像素点的色度坐标;

根据所述色度坐标获取所述第二P帧相对于所述第一P帧的各像素点的色度坐标差值;

根据所述差值以及各所述区域的像素点的数量生成各个区域在所述第一P帧中的像素平均值。

在具体的应用场景中,所述阈值包括第一阈值、第二阈值、第三阈值以及第四阈值,所述确定模块具体用于:

若所述第一阈值对应的指定区域的数量不为零,保留所述第一P帧;

若所述第一阈值对应的指定区域的数量为零,且所述第二阈值与第三阈值对应的指定区域的数量之和大于或等于第一门限值,保留所述第一P帧;

若所述第一阈值、第二阈值、第三阈值所对应的指定区域的数量均为零,且所述第四阈值对应的指定区域的数量小于第二门限值,丢弃所述第一P帧;

若所述第一阈值对应的指定区域的数量为零,所述第二阈值与所述第三阈值对应的指定区域的数量之和小于第一门限值,所述第二阈值、所述第三阈值与所述第四阈值对应的指定区域的数量之和小于第二门限值,丢弃所述第一P帧;

其中,所述第一门限值小于所述第二门限值。

在具体的应用场景中,还包括:

设置模块65,用于根据划分后的所述多个区域被指定的的优先级,为各所述区域设置所述阈值;

其中,高优先级的区域对应的阈值低于低优先级的区域对应的阈值。

在具体的应用场景中,所述显示图像具体按照九宫格方式进行划分,其中:

所述显示图像的中心区域对应所述第一阈值,所述显示图像的上下中心区域对应所述第二阈值,所述显示图像的左右中心区域对应所述第三阈值,所述显示图像的四角区域对应所述第四阈值。

由此可见,通过应用本申请的技术方案,预先将显示图像划分为多个区域,依次获取I帧后的第一P帧以及在所述第一P帧之后的第二P帧,确定各个区域在第一P帧中的像素平均值,根据像素平均值以及为各区域预设的阈值从区域中筛选指定区域,根据各阈值对应的指定区域的数量确定是否丢弃第一P帧,直至I帧后的所有P帧完成是否丢弃的判断。通过将显示画面划分多个区域,并结合各个区域的重要性以及相对于I帧的变化程度确定是否丢弃P帧,实现了视频解码过程中P帧处理的画质优化,从而能够在保证图像质量的基础上提升用户观看体验。

在本发明具体实施例中各个模块可以集成于一体,也可以分离部署,上述模块合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络侧设备等)执行本发明实施例各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。

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