一种帧间预测滤波方法、装置和计算机可读存储介质与流程

文档序号:22236393发布日期:2020-09-15 19:45阅读:92来源:国知局
一种帧间预测滤波方法、装置和计算机可读存储介质与流程
本申请涉及图像处理
技术领域
,具体涉及一种帧间预测滤波方法、装置和计算机可读存储介质。
背景技术
:由于视频的数据量一般比较大,为了降低视频的数据量,可将视频像素数据压缩成为视频码流,从而实现降低传输过程中的网络带宽和减少存储空间;视频编码系统中的预测可分为帧内预测和帧间预测,分别是为了去除视频图像在空间和时间上的冗余;为了减少噪声对预测的影响,提高预测的精度,可利用滤波器对预测像素进行平滑滤波。目前帧间预测滤波技术包括帧间预测滤波器(interpf,interpredictfilter)与增强的帧间预测滤波器(enhancedinterpf,enhancedinterpredictfilter);对于interpf来说,由于在不同场景下当前块与相邻像素的空域相关性可能不同,interpf所采用的方案不利于像素预测的准确性;而在enhancedinterpf中,固定采用某一种滤波器进行滤波,在当前块与某一相邻块的相关性较强或像素纹理有某种方向性时,不利于像素预测的准确性。技术实现要素:本申请提供一种帧间预测滤波方法、装置和计算机可读存储介质,能够提高像素预测的精度。为解决上述技术问题,本申请采用的技术方案是提供一种帧间预测滤波方法,该方法包括:获取待编码图像,对待编码图像进行处理,得到至少一个图像块,并从至少一个图像块中选择一个图像块作为当前块;获取与当前块相邻的相邻块的块信息;基于当前块与相邻块的块信息,判断是否调整滤波参数,其中,滤波参数包括帧内预测值的权重、帧间预测值的权重或帧内滤波器的类别;若判断出对滤波参数进行调整,则对帧内预测值的权重、帧间预测值的权重或帧内滤波器的类别进行调整,采用调整后的滤波参数对当前块进行滤波,得到滤波后的预测像素值。为解决上述技术问题,本申请采用的另一技术方案是提供一种帧间预测滤波装置,该帧间预测滤波装置包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的帧间预测滤波方法。为解决上述技术问题,本申请采用的另一技术方案是提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的帧间预测滤波方法。通过上述方案,本申请的有益效果是:可先获取当前块,然后利用当前块与相邻块的块信息,来判断当前是否调需要整滤波参数;如果判断出当前需要对滤波参数进行调整,则可以对帧内预测值的权重、帧间预测值的权重或帧内滤波器的类别进行调整,再采用调整后的滤波参数对当前块进行滤波,得到最终的预测像素值,能够通过获取相邻块的块信息,推断当前块与周围像素在空域上的相关性,利用这种相关性来提高像素预测值的准确性,实现基于相邻块的块信息对帧间预测滤波进行改进。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:图1是角度模式的示意图;图2是本申请提供的帧间预测滤波方法一实施例的流程示意图;图3是本申请提供的帧间预测滤波方法另一实施例的流程示意图;图4是图3所示的实施例中当前块与相邻块的示意图;图5是图3所示的实施例中滤波的示意图;图6是图3所示的实施例中角度预测方向与滤波方向的示意图;图7是本申请提供的帧间预测滤波方法又一实施例的流程示意图;图8是图7所示的实施例中步骤72的流程示意图;图9是图8所示的实施例中当前块与相邻块的示意图;图10是图8所示的实施例中当前块与相邻块的另一示意图;图11是图7所示的实施例中步骤72的另一流程示意图;图12是本申请提供的帧间预测滤波方法再一实施例的流程示意图;图13是图12所示的实施例中当前块的示意图;图14是本申请提供的帧间预测滤波装置一实施例的结构示意图;图15是本申请提供的计算机可读存储介质一实施例的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。一般来说,相邻像素点的亮度和色度信号值比较接近,具有强相关性,如果直接用采样数来表示亮度和色度信息,数据中存在较多的空间冗余,如果先去除冗余数据再进行编码,表示每个像素点的平均比特数就会下降,以减少空间冗余进行数据压缩,从而实现帧内预测。帧内预测模式可分为平面(planar)模式、直流(dc,directcurrent)模式和多种角度模式三类,0为planar模式,1为dc模式,planar模式和dc模式为普通非角度模式,2~n表示普通角度模式,n为角度模式的类别,若n取66,则包括宽角度模式在内的所有帧内预测模式如图1所示,其中,2-66为普通角度模式,如图1中的实线所示,-13~1和67~81为宽角度模式,如图1中的虚线所示,角度模式18和角度模式50分别为水平方向和垂直方向。帧间预测通过运动搜索等方法在参考帧中寻找与当前块最接近的匹配块,并可记录当前块与匹配块间的运动信息和参考帧索引,对运动信息进行编码后传输到解码端;在解码端,解码器只要通过相应句法元素解析出当前块的运动信息,就可找到当前块的匹配块,并将匹配块的像素值拷贝到当前块,即为当前块的帧间预测值。请参阅图2,图2是本申请提供的帧间预测滤波方法一实施例的流程示意图,该方法包括:步骤21:获取待编码图像,对待编码图像进行处理,得到至少一个图像块,并从至少一个图像块中选择一个图像块作为当前块。在获取待编码图像时,可从图像数据库中直接获取图像作为待编码图像,也可从视频中截取图像作为待编码图像,该待编码图像可以为灰度图像或彩色图像。在获取到编码图像后,可对该待编码图像进行一些预处理,比如,去噪或缩放等;在进行编码时,可将待处理图像分成至少一个图像块,对于所有图像块,可按照预设的顺序选择一个图像块作为当前块,即该当前块为编码块;在进行解码时,对于接收到的码流,可进行处理,得到至少一个当前块,即该当前块为解码块。步骤22:获取与当前块相邻的相邻块的块信息,并基于当前块与相邻块的块信息,判断是否调整滤波参数。在确定出当前块后,可进一步确定与该当前块相邻的块(即相邻块),然后对相邻块进行解析,得到相邻块的块信息,再根据当前块与相邻块的块信息,去判定当前是否需要调整滤波参数,该滤波参数包括帧内预测值的权重、帧间预测值的权重或帧内滤波器的类别。步骤23:对帧内预测值的权重、帧间预测值的权重或帧内滤波器的类别进行调整,采用调整后的滤波参数对当前块进行滤波,得到滤波后的预测像素值。如果判断出需要对滤波参数进行调整,则对当前的滤波参数进行调整,使得在调整后得到的预测像素值与真实像素值更接近,从而提高预测的准确性。进一步地,可调整帧内预测值的权重与帧间预测值的权重,比如,将帧内预测值的权重调高,由于帧内预测值的权重与帧间预测值的权重在归一化后和为1,因而帧间预测值的权重降低;或者,还可以调整帧内滤波器的类别,比如,当前本来需要使用滤波器a对当前块进行滤波,在调整后利用滤波器b对当前块进行滤波,利用滤波器b进行滤波相比利用滤波器a进行滤波而言,滤波后得到的预测像素值与真实像素值更接近。本实施例提供了一种基于相邻块的信息进行帧间预测滤波的方法,可通过获取相邻块的块信息,来推断当前块与周围像素在空域上的相关性,进一步采用这种相关性来改变帧间滤波过程中帧内帧间加权的权重或选择的滤波器,使得调整了权重或选择了合适的滤波器后,像素预测得更准确。请参阅图3,图3是本申请提供的帧间预测滤波方法另一实施例的流程示意图,该方法包括:步骤31:获取待编码图像,对待编码图像进行处理,得到至少一个图像块,并从至少一个图像块中选择一个图像块作为当前块。此步骤与上述实施例中步骤21相同,在此不再赘述。步骤32:将当前块分为至少一个子块,并判断与每个子块相邻的相邻块的预测模式是否为帧内预测模式。块信息包括预测模式,由于当前块的预测模式与相邻块的预测模式不同时,即在当前块采用帧间预测模式,而相邻块采用帧内预测模式时,块与块的边界区域的像素有较大的可能呈现不连续性,因而在相邻块的预测模式为帧内预测模式时,可加强位于边界的块的滤波强度。具体地,可将当前块分为多个子块,检查与每个子块的左边界和上边界相邻的块的预测模式,如果相邻块的预测模式为帧内预测模式,则对权重进行调整,即执行步骤33。步骤33:若与子块相邻的相邻块的预测模式为帧内预测模式,则对子块对应的帧内预测值的权重与帧间预测值的权重进行调整。通过对权重的调整,可提高当前块中位于边界处的子块的滤波强度;具体地,可判断每个子块是否位于当前块的上边界或左边界;若该子块位于当前块的上边界或左边界,即子块位于当前块的最左侧与最上侧,则将子块对应的帧内预测值的权重提高至第一预设权重,并将子块对应的帧间预测值的权重降低至第二预设权重,第一预设权重与第二预设权重在归一化后和为1,第一预设权重与第二预设权重的具体数值可根据需要设置,在此不对其进行限定;若该子块不位于当前块的上边界或左边界,即该子块位于当前块的内部、最右侧或最下侧,则不对子块对应的帧内预测值的权重与帧间预测值的权重进行调整。在一具体的实施例中,如图4所示,将当前块划分为4个子块,默认当前块的权重为:帧内预测值的权重wintra=3/8,帧间预测值的权重winter=5/8,检查相邻块a-d的预测模式是否为帧内预测模式。当相邻块c和/或相邻块d的预测模式为帧内预测模式时,即相邻块c和/或相邻块d为帧内块,当前块中位于左上角的子块(即子块1)的权重调整为wintra=4/8、winter=4/8。当相邻块b为帧内块时,当前块中位于右上角的子块(即子块2)的权重调整为wintra=4/8、winter=4/8。当相邻块a为帧内块时,当前块中位于左下角的子块(即子块3)的权重调整为wintra=4/8、winter=4/8。由于当前块中位于右下角的子块(即子块4)与子块1-3相邻,其对应的权重仍为wintra=3/8、winter=5/8。该滤波方法在帧间预测过程与重建过程之间进行,可在码流中传送一个帧间预测滤波标识,标识当前编码块是否使用帧间预测滤波,如果对当前编码块的帧间预测滤波标识进行分析发现:当前使用帧间预测滤波,则解码器在运动补偿得到帧间预测块之后,可对帧间预测块进行滤波,否则直接调用重建过程叠加残差。帧间预测滤波首先采用当前像素的正上方、正左方、左下方和右上方的4个相邻重建参考像素来构建帧内预测值,然后对该帧内预测值与帧间预测值进行加权,获取最终的帧间预测值。进一步地,先使用如下公式得到帧内预测块的预测值:pred_v(x,y)=[(h-1-y)*recon(x,-1)+(y+1)*recon(-1,h)+(h>>1)]>>log2(h)pred_h(x,y)=[(w-1-x)*recon(-1,y)+(x+1)*recon(w,-1)+(w>>1)]>>log2(w)pred_q(x,y)=[pred_v(x,y)+pred_h(x,y)+1]>>2其中,pred_v为垂直方向的预测值,pred_h为水平方向的预测值,pred_q为帧内预测值,w为当前块的宽度,h为当前块的高度,x和y为当前块内的相对坐标,recon为当前块的周围已重建的像素值,“>>”为右移操作。然后基于帧间预测块的预测值pred_inter和帧内预测块的预测值pred_q使用如下公式进行加权求和,得到最终的帧间预测值pred:pred(x,y)=[pred_inter(x,y)*5+pred_q(x,y)*3+4]>>3在一具体的实施例中,如图5所示,以垂直方向的帧内预测为例,设当前帧内预测块的预测方向接近垂直方向,则当前块内像素预测值主要拷贝自mrb这一行参考像素点,考虑到当前块左侧的像素点与urb这一列像素也有较强的相关性,在垂直方向的帧内预测完成后,可利用urb这一列像素对当前块左侧的预测像素值进行加权补偿,以增强预测值的准确性。不同的帧内预测模式(ipm,intrapredictmode)对应不同的滤波模式,具体如图6所示,不同帧内预测模式对应的滤波方向如下表一所示:表一不同帧内预测模式对应的滤波方向区域对应角度范围a区域(3<=ipm<=18)或(34<=ipm<=50)b区域(18<ipm<33)或(50<ipm<66)本实施例提供的方法为对interpf进行的改进,通过对当前块进行分区,得到至少一个子块,根据与每个子块相邻的块的预测模式,可调整帧内帧间加权的权重,对于位于左边界与上边界的子块,可提高该子块的帧内预测值的权重,同时降低帧间预测值的权重,有助于提升预测的准确性。请参阅图7,图7是本申请提供的帧间预测滤波方法又一实施例的流程示意图,该方法包括:步骤71:获取待编码图像,对待编码图像进行处理,得到至少一个图像块,并从至少一个图像块中选择一个图像块作为当前块。此步骤与上述实施例中步骤21相同,在此不再赘述。步骤72:获取与当前块相邻的相邻块的块信息,并基于当前块与相邻块的块信息,判断是否采用第一预测滤波器对当前块进行滤波。滤波参数包括帧内滤波器的类别,帧内滤波器的类别包括第一预测滤波器与第二预测滤波器;具体地,第一预测滤波器包括帧内滤波器中垂直方向的二抽头(tap)滤波器与帧内滤波器中水平方向的二抽头滤波器,第二预测滤波器为帧内滤波器中的三抽头滤波器。步骤73:采用第一预测滤波器对当前块进行滤波。可利用垂直方向的二抽头滤波器对当前块中前m行预测像素值进行滤波,或利用水平方向的二抽头滤波器对当前块中前n列预测像素值进行滤波,m和n的值可以相同。步骤74:采用第二预测滤波器对当前块进行滤波。可利用三抽头滤波器对当前块中左上角区域的前m行和前n列预测像素值进行滤波。在一具体的实施例中,块信息包括运动矢量(mv,motionvector),可根据当前块的运动矢量、相邻块的运动矢量以及当前块与相邻块的位置关系,判断是否采用第一预测滤波器对当前块进行滤波,具体地,可采用图8所示的步骤进行处理,包括以下步骤:步骤721a:判断当前块的运动矢量与每个相邻块的运动矢量的差值是否落在预设运动矢量差值范围以内。可先判断当前块的运动矢量与每个相邻块的运动矢量的差异是否比较大,具体地,运动矢量包括水平方向分量与垂直方向分量,如果当前块的水平方向分量与相邻块的水平方向分量的差值落在预设运动矢量差值范围内,且当前块的垂直方向分量与相邻块的垂直方向分量的差值落在预设运动矢量差值范围内,则表明当前块的运动矢量与相邻块的运动矢量相同或相近。可以理解地,预设运动矢量差值范围可包括水平方向分量差值阈值与垂直方向分量差值阈值,分别对应于水平方向分量和垂直方向分量,在水平方向分量的差值小于水平方向分量差值阈值,且垂直方向分量的差值小于垂直方向分量差值阈值时,表明当前块的运动矢量与相邻块的运动矢量相同或相近。步骤722a:若位于当前块左侧的相邻块的运动矢量与当前块的运动矢量的差值落在预设运动矢量差值范围以内,且位于当前块上侧的相邻块的运动矢量与当前块的运动矢量的差值未落在预设运动矢量差值范围以内,则利用水平方向的二抽头滤波器对当前块中前第一预设数量列预测像素值进行滤波。如果当前块的运动矢量与相邻块的运动矢量相同或相近,则表明当前块与相邻块很有可能处于一个连通域中,其边界像素的相关性较强,此时在进行滤波时,可使用相邻块的边界像素来对当前块的边界像素进行补偿,具体可利用水平方向的二抽头滤波器对当前块进行水平滤波。进一步地,可根据当前块的宽度选择基于高斯分布的滤波系数表,该滤波系数表记录了每列像素对应的系数值,且系数值可按照列数递减,滤波公式如下所示:p'(x,y)=f(x)*p(-1,y)+[1-f(x)]*p(x,y)其中,p(x,y)和p'(x,y)分别为滤波前后位置(x,y)处的预测像素值,p(-1,y)为当前块正左侧的参考像素值,f(x)为查找滤波系数表得到的滤波系数。例如,如图9所示,位置(x,y)处在滤波前的预测像素值为p(x,y),在滤波后得到的预测像素值为:p'(x,y)=f(x)*l(2)+[1-f(x)]*p(x,y)其中,l(0)-l(7)为与当前块相邻的列的像素值,u(0)-u(9)为与当前块相邻的行的像素值。步骤723a:若位于当前块左侧的相邻块的运动矢量与当前块的运动矢量的差值未落在预设运动矢量差值范围以内,且位于当前块上侧的相邻块的运动矢量与当前块的运动矢量的差值落在预设运动矢量差值范围以内,则利用垂直方向的二抽头滤波器对当前块中前第二预设数量行预测像素值进行滤波。在当前块的运动矢量与相邻块的运动矢量不相近时,表明当前块与相邻块的边界区域像素有较大的可能呈现不连续性,此时可加强当前块的边界处的滤波强度,使用相邻块的边界像素来对当前块的边界像素进行补偿,具体可利用垂直方向的二抽头滤波器对当前块进行垂直滤波。进一步地,可根据当前块的高度选择基于高斯分布的滤波系数表,该滤波系数表记录了每行像素对应的系数值,且系数值可按照行数递减,滤波公式如下所示:p'(x,y)=f(y)*p(x,-1)+[1-f(y)]*p(x,y)其中,p(x,-1)为当前块正上方的参考像素值,f(y)为查找滤波系数表得到的滤波系数。步骤724a:若位于当前块左侧与上侧的相邻块的运动矢量与当前块的运动矢量的差值均未落在预设运动矢量差值范围以内,则利用三抽头滤波器对当前块中左上角区域的预测像素值进行滤波。如果当前块与相邻块的运动矢量都不同或不相近,则可采用相邻参考像素值对当前块的边界区域的像素值进行补偿,即利用三抽头滤波器对当前块中左上角区域的预测像素值进行水平滤波与垂直滤波,该左上角区域的大小可以为第一预设数量与第二预设数量的乘积。进一步地,可采用如下的滤波公式进行滤波:p'(x,y)=f(x)*p(-1,y)+f(y)*p(x,-1)+[1-f(x)-f(y)]*p(x,y)例如,滤波系数表可如下表二所示:表二滤波系数在一具体的实施例中,假设第一预设数量与第二预设数量均为10,如图10所示,可检查当前块与相邻块a以及相邻块b的运动矢量是否相同;如果当前块的运动矢量与相邻块a的运动矢量相同,且当前块的运动矢量与相邻块b的运动矢量不同,则采用水平方向的二抽头滤波器对当前块的前10列进行滤波。如果当前块的运动矢量与相邻块b的运动矢量相同,且当前块的运动矢量与相邻块a的运动矢量不同,则采用垂直方向的二抽头滤波器对当前块的前10行进行滤波。如果当前块的运动矢量与相邻块a以及相邻块b的运动矢量都相同或都不同,则可采用三抽头滤波器对当前块中左上角10*10的像素区域进行滤波。在其他实施例中,还可检查当前块与每个相邻块的运动矢量是否相同或相近,如果当前块与所有相邻块的运动矢量均不同或不相近,则采用垂直方向/水平方向的二抽头滤波器对当前块边界区域的像素值进行补偿;如果当前块与相邻块的运动矢量都相同或相近,则采用三抽头滤波器对当前块边界区域的像素值进行补偿。本实施例通过比较当前块与相邻块的运动矢量是否相同或相近,从而选择合适的帧内滤波器进行滤波。在另一具体的实施例中,在当前块采用帧间预测模式,而相邻块采用帧内预测模式时,块与块的边界区域的像素有较大的可能呈现不连续性,此时可采用参考像素值对当前块进行滤波;具体地,可根据相邻块的预测模式以及相邻块与当前块的位置关系,判断是否采用第一预测滤波器对当前块进行滤波。进一步地,可采用图11所示的步骤进行处理,包括以下步骤:步骤721b:在位于当前块左侧的相邻块的预测模式为帧内预测模式,且位于当前块上侧的相邻块的预测模式为帧间预测模式时,采用水平方向的二抽头滤波器对当前块中前第一预设数量列预测像素值进行滤波。检查当前块左侧的相邻块(即左侧相邻块)和上侧的相邻块(即上侧相邻块)是否为帧内块,如果左侧相邻块为帧内块,而上侧相邻块不为帧内块,将第一预设数量记作n,则可采用水平方向的二抽头滤波器对当前块的前n列预测像素值进行滤波。步骤722b:在位于当前块左侧的相邻块的预测模式为帧间预测模式,且位于当前块上侧的相邻块的预测模式为帧内预测模式时,采用垂直方向的二抽头滤波器对当前块中前第二预设数量行预测像素值进行滤波。如果上侧相邻块为帧内块,而左侧相邻块不为帧内块,将第二预设数量记作m,则可采用垂直方向的二抽头滤波器对当前块的前m行预测像素值进行滤波。步骤723b:在位于当前块左侧与上侧的相邻块的预测模式均为帧间预测模式,或位于当前块左侧与上侧的相邻块的预测模式均为帧内预测模式时,采用三抽头滤波器对当前块中左上角区域的预测像素值进行滤波。如果上侧相邻块和左侧相邻块都为帧内块,或上侧相邻块和左侧相邻块均不为帧内块,则可采用三抽头滤波器对当前块中前m行和前n列的预测像素值进行滤波。本实施例提供的方法为对enhancedinterpf进行的改进,通过检查相邻块是否为帧内块,来选择合适的滤波器对当前块进行滤波,实现自适应的选择滤波器。请参阅图12,图12是本申请提供的帧间预测滤波方法再一实施例的流程示意图,该方法包括:步骤121:获取当前块的帧间预测值,并利用帧间预测值计算当前块的纹理方向。可在运动补偿后,基于帧间预测值计算当前块的纹理方向,比如,可使用加博尔(gabor)滤波、灰度共生矩阵或梯度等计算纹理方向。步骤122:采用与当前块的纹理方向的差值在第一预设方向差值范围以内的帧内预测模式对当前块进行帧内预测,得到当前块的帧内预测值。在计算出纹理方向后,可采用和纹理方向相同或相近的帧内预测模式计算当前块的帧内预测值。步骤123:将当前块的帧内预测值与当前块的帧间预测值进行加权求和,得到当前块的预测像素值。将帧内预测值和帧间预测值进行加权求和,计算获得当前块最终的预测像素值,本实施例对帧内预测值的权重和帧间预测值的权重不做限定,但帧内预测值的权重和帧间预测值的权重在归一化后和为1。在进行编码生成码流后,该码流包括至少一个句法元素,本实施例所提供的方法可作为一种新的帧间预测像素补偿的方法,此时需要在每个编码单元中增加一个1个比特的标识来说明该编码单元是否采用该方法;或者该方法也可以作为一种新的帧间预测滤波方法,即帧间预测滤波的模式从两种增加到三种,此时需要调整句法元素;或者该方法也可以直接替换现有技术中的interpf,此时在句法元素层面无需做任何改变。在其他实施例中,该方法还可融入现有的interpf或本申请所提供的对interpf进行改进的方案中,可先计算当前块的纹理方向,然后判断纹理方向与预设纹理方向的差值是否落在第二预设方向差值范围以内,若判断纹理方向与预设纹理方向的差值落在第二预设方向差值范围以内,则判定当前块不具有纹理方向,此时可采用现有的interpf或本申请所提供的对interpf进行改进的方法来补偿当前块;若判断纹理方向与预设纹理方向的差值未落在第二预设方向差值范围以内,则判定当前块具有纹理方向,此时可采用与当前块的纹理方向的差值在第一预设方向差值范围以内的帧内预测模式对当前块进行帧内预测,得到当前块的帧内预测值,然后将当前块的帧内预测值与当前块的帧间预测值进行加权求和,得到当前块的预测像素值,这种实现方式在句法元素层面也无需做任何改变。在一具体的实施例中,当前块如图13所示,已经通过运动补偿获取当前块的帧间预测值pinter,可通过gabor滤波方法计算当前块的纹理方向,假设计算得到的当前块的纹理方向为水平方向,则可选用帧内水平方向预测模式计算当前块的帧内预测值pintra。假设当前块的帧内预测值的权重wintra=3,帧间预测值的权重winter=5,则当前块最终的预测像素值p为:p=[wintra*pintra+winter*pinter+4]>>3可在编码单元中增加一个标识,记作intra_prediction_compensation,当intra_prediction_compensation为0时,当前块采用现有方法做帧间预测像素补偿;当intra_prediction_compensation为1时,当前块采用本实施例的方法做帧间预测像素补偿。本实例提供的方案可不需要添加额外的句法元素,能够在几乎不增加编码复杂度的情况下提高编码压缩率。综上,本申请提供了通过判断相邻块的预测模式,来为当前块的不同区域配置不同的帧内预测值的权重和帧间预测值的权重;还提供了通过比较当前块与相邻块的运动矢量信息,来利用不同的帧内滤波器对当前块进行滤波;另外,还提供了一种新的帧间预测像素补偿方法,该方法基于帧间预测值计算当前块的纹理方向,采用与纹理方向相同或相近的帧内预测模式计算当前块的帧内预测值,通过将当前块的帧内预测值和帧间预测值进行加权,来获得当前块最终的预测像素值。请参阅图14,图14是本申请提供的帧间预测滤波装置一实施例的结构示意图,帧间预测滤波装置140包括互相连接的存储器141和处理器142,存储器141用于存储计算机程序,计算机程序在被处理器142执行时,用于实现上述实施例中的帧间预测滤波方法。请参阅图15,图15是本申请提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质150用于存储计算机程序151,计算机程序151在被处理器执行时,用于实现上述实施例中的帧间预测滤波方法。计算机可读存储介质150可以是服务端、u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本申请的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1