一种用于视频编码的帧内预测方法转让专利

申请号 : CN201710228419.6

文献号 : CN107071417B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱策毛敏刘宇洋宋世昶

申请人 : 电子科技大学

摘要 :

本发明属于视频编码技术领域,具体的说是涉及一种用于视频编码的帧内预测方法。本发明的方法包括:利用多行多列未滤波参考像素生成滤波参考像素、利用滤波后的参考像素生成预测值、利用多行多列未滤波参考像素以及预测值平滑生成新的预测值。本发明的有益效果为,相对现有PDPC技术,本发明能够更高效地、鲁棒地进行帧内编码。

权利要求 :

1.一种用于视频编码的帧内预测方法,其特征在于,包括以下步骤:S1、生成滤波参考像素:

通过如下公式1获取滤波后的参考像素S:S=Ak·R+(E-Ak)·(Hk*R),    公式1;

公式1中,Hk该编码块尺寸下的滤波器参数,R是选取的当前待编码块的多行多列参考像素,*为卷积运算符,Ak为滤波器输出的加权因子;

S2、计算当前编码块的预测像素值:

设定编码块尺寸为M×N,对编码块内的每一个像素点(x,y)的预测像素Px,y进行预测,其中,N≥x≥1,M≥y≥1;假设Sx,0与S0,y分别是当前待编码块滤波后的参考像素S中最靠近当前待编码块的一行一列像素,则预测像素值的生成方法包括:在平面预测模式下:

将预测像素Px,y定义为水平、垂直两个方向预测像素值的平均值,则通过如下公式2、公式3和公式4获得预测像素值:在直流分量预测模式下:

对于色度分量以及大于16x16的亮度分量,预测像素值通过如下公式5获得:其他情况则通过如下公式6获得:

在角度模式下:

对于给定垂直类角度模式M,使用投影像素法将其需要用到的参考像素映射为形式,记为Ref,如下公式7和公式8:计算当前像素对应参考像素在中的位置,记为pos,如下公式9:pos=(y·offset[M])>>5,    公式9;

计算当前像素对应参考像素的加权因子w,如下公式10:w=(y·offset[M])&31,    公式10;

通过如下公式11计算当前像素的预测像素值:Px,y=((32-w)·Ref[pos]+w·Ref[pos+1]+16)>>5,    公式11;

其中,offset[M]是角度折算因子,Round(·)是四舍五入运算函数;

S3、根据多行多列未滤波参考像素以及预测像素值平滑生成新的预测像素值:根据步骤S2中获得的预测像素值Px,y,通过如下公式12-公式16获得最终的当前待编码块的预测像素值:其中, 是存储的预测参数,对于16×16的块,设置d=1,对于更大的块,设置d=2;bx,y是归一化因子,如下公式16:是分别是依赖于水平位置、垂直位置的加权权重, 是一组针对左上角位置的加权权重, 依赖于水平位置、垂直位置、左上角位置的卷积模板, 是向下取整运算符,>>左移运算符。

说明书 :

一种用于视频编码的帧内预测方法

技术领域

[0001] 本发明属于视频编码技术领域,具体的说是涉及一种用于视频编码的帧内预测方法。

背景技术

[0002] 近年来,丰富多彩的视频内容每时每刻都在产生,视频数量更是成指数级爆炸式增长。据YouTube统计,用户每分钟上传的视频量达300多小时;贝尔实验室预测,2020年音视频数据流量将占新增流量的80%,种种迹象表明,视频数据已成为大数据中的大数据,我们正处在被海量音视频数据包围的多媒体时代。为了节约存储空间降低传输带宽占用率,一般需要做视频压缩编码处理。
[0003] 帧内编码是视频编码标准中的一种编码方式。传统的帧内编码的参考像素仅利用距离当前待编码块最近重建块的一行一列像素,通过选择一种预测角度模式进行线性预测得到。
[0004] 这种利用单行单列的预测方法已经被证明对小尺寸编码块是非常有效的,但是这种方法对大尺寸编码块的效果并不好,并且当前待编码块的位置不同,编码器需要的预测像素滤波策略也不尽相同。例如,相对于远离待编码块左上方的像素需要更低强度的平滑。此外,即使对于相同大小的块,由于编码块内容不同,编码器需要不同的滤波策略。
[0005] 在过去一段时间中,研究者们提出了使用递归滤波器平滑预测值,实验证明可以提高编码效率。
[0006] W.-J.Han和J.Min(“Improved video compression efficiency through flexible unit representation and corresponding extension of coding tools,”IEEE Trans.Circuits Syst.Video Technol.,vol.20,no.12,pp.1709–1720,Dec.2010.)以及Y.Chen和J.Han,(“A recursive extrapolation approach to intra prediction in video coding,”in Proc.IEEE Int.Conf.Acoustics Speech Signal Process.,Vancouver,BC,Canada,May 2013,pp.1734–1738.),是应用递归滤波器组来平滑预测值。虽然递归的方法可以在一定程度上对预测像素进行平滑,且实验结果表明递归滤波器可以提升编码性能,然而,递归滤波器并不适用于并行计算,并且不考虑信号整体的变化。

发明内容

[0007] 为了更好的利用待编码块内部纹理特征,本发明提出一种基于多行多列的位置依赖预测组合的帧内预测方法(Enhanced Position dependent intra  prediction combination,EPDPC)。
[0008] 本发明的技术方案是:
[0009] 一种用于视频编码的帧内预测方法,其特征在于,包括以下步骤:
[0010] S1、生成滤波参考像素:
[0011] 通过如下公式1获取滤波后的参考像素S:
[0012] S=Ak·R+(E-Ak)·(Hk*R)   (公式1)
[0013] 公式1中,Hk该编码块尺寸下的滤波器参数,R是选取的当前待编码块的多行多列参考像素,*为卷积运算符,Ak为滤波器输出的加权因子;
[0014] S2、计算当前编码块的预测像素值:
[0015] 设定编码块尺寸为M×N,对编码块内的每一个像素点(x,y)的预测像素Px,y进行预测,其中,N≥x≥1,M≥y≥1;假设Sx,0与S0,y分别是当前待编码块滤波后的参考像素S中最靠近当前待编码块的一行一列像素,则预测像素值的生成方法包括:
[0016] 在平面(Planar)预测模式下:
[0017] 将预测像素Px,y定义为水平、垂直两个方向预测值的平均值,则通过如下公式2、公式3和公式4获得预测像素值:
[0018]
[0019]
[0020]
[0021] 在直流分量(DC)预测模式下:
[0022] 对于色度分量以及大于16x16的亮度分量,预测像素值通过如下公式5获得:
[0023]
[0024] 其他情况则通过如下公式6获得:
[0025]
[0026] 在角度模式下:
[0027] 对于给定垂直类角度模式M,使用投影像素法将其需要用到的参考像素映射为形式,记为Ref,如下公式7和公式8:
[0028]
[0029]
[0030] 计算当前像素对应参考像素在中的位置,记为pos,如下公式9:
[0031] pos=(y·offset[M])>>5   (公式9)
[0032] 计算当前像素对应参考像素的加权因子w,如下公式10:
[0033] w=(y·offset[M])&31   (公式10)
[0034] 通过如下公式11计算当前像素的预测像素值:
[0035] Px,y=((32-w)·Ref[pos]+w·Ref[pos+1]+16)>>5   (公式11)
[0036] 其中,offset[M]是角度折算因子,Round(·)是四舍五入运算函数;
[0037] S3、根据多行多列未滤波参考像素以及预测值平滑生成新的预测值:
[0038] 根据步骤S2中获得的预测值Px,y,通过如下公式12-公式16获得最终的当前待编码块的预测像素值:
[0039]
[0040]
[0041]
[0042]
[0043] 其中, 是存储的预测参数,对于16×16的块,设置d=1,对于更大的块,设置d=2;bx,y是归一化因子,如下公式16:
[0044]
[0045] 是分别是依赖于水平位置、垂直位置的加权权重, 是一组针对左上角位置的加权权重, 依赖于水平位置、垂直位置、左上角位置的卷积模板, 是向下取整运算符,>>左移运算符。
[0046] 本法总的技术方案,根据编码块的预测角度模式、编码块大小和像素位置,使用多行多列未滤波参考像素预测当前待编码块的预测值,并用得到的预测值和过滤(平滑)后的多行多列未滤波参考像素加权组合得到最终预测值。实现了高效地帧内编码。
[0047] 本发明的有益效果是:相对现有技术,本发明能够更高效地、鲁棒地进行帧内编码。

附图说明

[0048] 图1为本发明中两行两列EPDPC示意图,其中(a)当前待编码块以及未滤波参考像素示意图,(b)是当前待编码块以及滤波后的参考像素示意图;
[0049] 图2为帧内角度模式预测方向示意图,其中每一个箭头代表一个预测方向。

具体实施方式

[0050] 下面结合附图和实施例,详细描述本发明的技术方案:
[0051] 实施例
[0052] 本例是以两行两列的EPDPC验证本发明所述方法的有效性。
[0053] 本例的方法包括:
[0054] 利用公式(1)构建一个拟高斯滤波器,将当前待编码块的上未滤波的两行两列参考像素Unfiltered Refline2和Unfiltered Refline1滤波(图1(a))生成(图1(b))滤波的参考像素Filtered Refline1:
[0055] S=Ak·R+(E-Ak)·(Hk*R)   (公式1)
[0056] 步骤2、根据图2中角度模式,用滤波后的参考像素Filtered Refline1计算当前编码块像素点(x,y)的预测像素Prediction(Px,y);
[0057] 步骤3、用Unfiltered Refline2和Unfiltered Refline1以及PredictionP(x,y)滤波生成FPrediction(FPx,y)。通过步骤2的方法获得Px,y后,按照公式(16)计算bx,y:
[0058]
[0059] 然后利用公式(15)计算最终的当前块的预测像素值FPx,y:
[0060]
[0061] 公式(15)中的参数可利用公式(12),公式(13)和公式(14)就算得到;其中,对于16×16的块,设置d=1,对于更大的块,设置d=2;并且设置是一组卷积模板。
[0062] 表3是实施例得到的编码结果:
[0063] 表3实施例得到的编码结果
[0064]Sequence Y U V
Traffic -0.1% 0.0% 0.0%
PeopleOnStreet -0.2% -0.3% -0.2%
Nebuta -0.2% -0.4% -0.2%
SteamLocomotive -0.2% -0.8% -0.1%
ParkScene -0.2% -0.1% -0.1%
Cactus -0.1% -0.1% -0.2%
BasketballPass -0.1% -0.1% -0.4%
BQSquare -0.1% 0.1% -0.1%
BlowingBubbles -0.1% -0.2% -0.1%
RaceHorses -0.1% -0.2% -0.1%
FourPeople -0.2% -0.2% -0.3%
Johnny -0.1% -0.1% -0.1%
KristenAndSara -0.1% 0.0% 0.0%
SlideShow -0.2% -0.2% -0.6%
(平均)Average -0.1% -0.2% -0.2%
[0065] 从表3所示的编码性能可以得出,YUV三个分量的编码效果均得到了提升。