一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

编码方法、解码方法及相关装置与流程

2022-02-24 17:09:01 来源:中国专利 TAG:


1.本技术涉及编解码技术领域,具体涉及一种编码方法、解码方法及相关装置。


背景技术:

2.数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(personal digital assistant,pda)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频会议装置、视频流装置等等。
3.数字视频装置实施视频压缩技术,例如由动态图像专家组(moving picture experts group,mpeg)-2、 mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高级视频编解码(advanced video coding,avc)、 itu-th.265高效率视频编解码(high efficiencyvideo coding,hevc)标准定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术,从而更高效地发射及接收数字视频信息。视频装置可通过实施这些视频编解码技术来更高效地发射、接收、编码、解码和/或存储数字视频信息。
4.随着互联网视频的激增,尽管数字视频压缩技术不断演进,但仍然对视频压缩比提出更高要求。


技术实现要素:

5.本技术实施例提供了一种编码方法、解码方法及相关装置,以期为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
6.第一方面,本技术实施例提供一种编码方法,包括:
7.划分图像,获取当前编码块的编码信息,所述编码信息包括第一标识位和第二标识位,所述第一标识位用于表示所述当前编码块是否允许使用帧内预测滤波,所述第二标识位用于表示所述当前编码块是否允许使用帧内预测平滑修正;
8.确定当前编码块的原始预测块;
9.根据所述第一标识位和所述第二标识位确定允许使用所述帧内预测平滑修正,对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
10.根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块,并计算所述第二预测块的率失真代价,以及将所述第二预测块的率失真代价与所述原始预测块的率失真代价进行比较:
11.若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位设置为第一数值,并将所述第一数值通过码流传输,所述第三标识位用于表示所述当前编码块是否使用所述帧内预测平滑修正,所述第一数值表示所述当前编码块使用所述帧内预测平滑修正。
12.相比于现有技术,本技术方案为帧内预测在需要平滑处理或局部模糊等操作上提
供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
13.第二方面,本技术实施例提供一种解码方法,包括:
14.解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
15.若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正;
16.解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
17.若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
18.根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;
19.将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
20.相比于现有技术,本技术方案为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
21.第三方面,本技术实施例提供一种编码装置,包括:
22.划分单元,用于划分图像,确定当前编码块的帧内预测滤波指示信息,所述帧内预测滤波指示信息包括第一指示信息和第二指示信息,所述第一指示信息用于指示是否允许使用第一帧内预测滤波模式,所述第二指示信息用于指示是否允许使用第二帧内预测滤波模式,所述第一帧内预测滤波模式为帧内预测滤波 ipf模式;
23.确定单元,用于若根据所述帧内预测滤波指示信息确定所述当前编码块需要使用所述第一帧内预测滤波模式,则将所述当前编码块的所述第一帧内预测滤波模式的第一使用标识位设置为允许使用;
24.传输单元,用于将所述帧内预测滤波指示信息、所述第一帧内预测滤波模式和所述第一使用标识位经码流传输;
25.叠加单元,用于根据所述帧内预测滤波指示信息和所述第一使用标识位,确定使用所述第一帧率预测滤波模式得到所述解码块的预测块。
26.第四方面,本技术实施例提供一种解码装置,包括:
27.第一解析单元,用于解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
28.第二解析单元,用于若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正;
29.第三解析单元,用于解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及
根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
30.填充单元,用于若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
31.平滑修正单元,用于根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;
32.重建单元,用于将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
33.第五方面,本技术实施例提供了一种编码器,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第一方面所述的方法。
34.第六方面,本技术实施例提供了一种解码器,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第二方面所述的方法。
35.第七方面,本技术实施例提供了一种终端,所述终端包括:一个或多个处理器、存储器和通信接口;所述存储器、所述通信接口与所述一个或多个处理器连接;所述终端通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述终端执行如第一方面或第二方面所述的方法。
36.第八方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
37.第九方面,本技术实施例提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1为本技术实施例中编码树单元的一种示意性框图;
40.图2为本技术实施例中ctu和编码块cu的一种示意性框图;
41.图3为本技术实施例中颜色格式的一种示意性框图;
42.图4为本技术实施例中ipf示意图;
43.图5为本技术实施例中帧内预测滤波示意图;
44.图6为本技术实施例中视频译码系统的一种示意性框图;
45.图7为本技术实施例中视频编码器的一种示意性框图;
46.图8为本技术实施例中视频解码器的一种示意性框图;
47.图9a为本技术实施例中一种编码方法的流程示意图;
48.图9b为本技术实施例中一种预测块的填充示意图;
49.图9c为本技术实施例中一种预测块滤波示意图;
50.图9d为本技术实施例中另一种预测块滤波示意图;
51.图9e为本技术实施例中另一种预测块滤波示意图;
52.图9f为本技术实施例中另一种预测块滤波示意图;
53.图9g为本技术实施例中另一种预测块滤波示意图;
54.图9h为本技术实施例中另一种预测块滤波示意图;
55.图9i为本技术实施例中另一种预测块滤波示意图;
56.图9j为本技术实施例中另一种预测块滤波示意图;
57.图9k为本技术实施例中另一种预测块滤波示意图;
58.图9l为本技术实施例中另一种预测块滤波示意图;
59.图9m为本技术实施例中另一种预测块滤波示意图;
60.图9n为本技术实施例中另一种预测块滤波示意图;
61.图10为本技术实施例中一种解码方法的流程示意图;
62.图11为本技术实施例中编码装置的一种功能单元框图;
63.图12为本技术实施例中编码装置的另一种功能单元框图;
64.图13为本技术实施例中解码装置的一种功能单元框图;
65.图14为本技术实施例中解码装置的另一种功能单元框图。
具体实施方式
66.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
67.可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
68.首先介绍一下本技术实施例中用到的术语。
69.对于图像的划分,为了更加灵活的表示视频内容,定义了编码树单元(coding tree unit,ctu)、编码块(coding unit,cu)、预测单元(prediction unit,pu)和变换单元(transform unit,tu)。ctu、cu、 pu和tu均为图像块。
70.编码树单元ctu,一幅图像由多个ctu构成,一个ctu通常对应于一个方形图像区域,包含这个图像区域中的亮度像素和色度像素(或者也可以只包含亮度像素,或者也可以只包含色度像素);ctu中还包含语法元素,这些语法元素指示如何将ctu划分成至少一个编码块(coding unit,cu),以及解码每个编码块得到重建图像的方法。
71.如图1所示,图像10由多个ctu构成(包括ctu a、ctu b、ctu c等)。与某一ctu对应的编码信息包含与该ctu对应的方形图像区域中的像素的亮度值和/或色度值。此外,与某一ctu对应的编码信息还可以包含语法元素,这些语法元素指示如何将该ctu划分成至少一个cu,以及解码每个cu以得到重建图像的方法。一个ctu对应的图像区域可以包括64
×
64、128
×
128或256
×
256个像素。在一个示例中, 64
×
64个像素的ctu包含由64列、每列64个像素的矩形像素点阵,每个像素包含亮度分量和/或色度分量。ctu也可以对应矩形图像区域或者其它形状的图像区域,一个ctu对应的图像区域也可以是水平方向的像素点的数量与竖直方向的像素点数量不同的图像区域,例如包括64
×
128个像素。
72.编码块cu,如图2所示,一个编码树单元ctu可以进一步划分为编码块cu,通常对应于图像中一个a
×
b的矩形区域,包含a
×
b亮度像素或/和它对应的色度像素,a为矩形的宽,b为矩形的高,a和b 可以相同也可以不同,a和b的取值通常为2的整数次幂,例如128、64、32、16、8、4。其中,本技术实施例中涉及到的宽是指图1示出的二维直角坐标系xoy中沿x轴方向(水平方向)的长度,高是指图1 示出的二维直角坐标系xoy中沿y轴方向(竖直方向)的长度。一个cu的重建图像可以通过预测图像与残差图像相加得到,预测图像通过帧内预测或帧间预测生成,具体可以由一个或多个预测块(prediction block,pb)构成,残差图像通过对变换系数进行反量化和反变换处理生成,具体可以由一个或多个变换块(transformblock,tb)构成。具体的,一个cu包含编码信息,编码信息包括预测模式、变换系数等信息,按照这些编码信息对cu进行相应的预测、反量化、反变换等解码处理,产生这个cu对应的重建图像。编码树单元与编码块关系如图3所示。
73.预测单元pu,是帧内预测、帧间预测的基本单元。定义图像块的运动信息包含帧间预测方向、参考帧、运动矢量等,正在进行编码处理的图像块称为当前编码块(current coding block,ccb),正在进行解码处理的图像块称为当前解码块(current decoding block,cdb),例如正在对一个图像块进行预测处理时,当前编码块或者当前解码块为预测块;正在对一个图像块进行残差处理时,当前编码块或者当前解码块为变换块。当前编码块或当前解码块所在的图像称为当前帧。当前帧中,位于当前块的左侧或上侧(以图1坐标系为准,左侧是指x轴负向,上侧是指y轴正向)的图像块可能处于当前帧内部并且已经完成了编码/ 解码处理,得到了重建图像,它们称为重构块;重构块的编码模式、重建像素等信息是可以获得的(available)。在当前帧进行编码/解码之前已经完成编码/解码处理的帧称为重建帧。当前帧为单向预测帧(p帧)或双向预测帧(b帧)时,它分别具有一个或两个参考帧列表,两个列表分别称为l0和l1,每个列表中包含至少一个重建帧,称为当前帧的参考帧。参考帧为当前帧的帧间预测提供参考像素。
74.变换单元tu,对原始图像块和预测图像块的残差进行处理。
75.像素(又称为像素点),是指图像中的像素点,如编码块中的像素点、亮度分量像素块中的像素点(又称为亮度像素)、色度分量像素块中的像素点(又称为色度像素)等。
76.样本(又称为像素值、样本值),是指像素点的像素值,该像素值在亮度分量域具体是指亮度(即灰阶值),该像素值在在色度分量域具体是指色度值(即色彩和饱和度),按照处理阶段的不同,一个像素的样本具体包括原始样本、预测样本和重构样本。
77.方向说明:水平方向,例如:如图1所述的二维直角坐标系xoy中沿x轴方向、垂直方向,例如:如图1所示的二维直角坐标系xoy中沿y轴负向方向。
78.帧内预测,根据当前块的空间相邻像素,产生当前块的预测图像。一种帧内预测模式对应于一种生成预测图像的方法。帧内预测单元的划分包括2n
×
2n划分方式和n
×
n划分方式,2n
×
2n划分方式为对图像块不进行划分;n
×
n划分方式为将图像块划分为四个等大的子图像块。
79.通常,数字视频压缩技术作用于颜色编码方法为ycbcr,也可称为yuv,颜色格式为4∶2∶0、4∶2∶2或 4∶4∶4的视频序列。其中,y表示明亮度(luminance或luma),也就是灰阶值,cb表示蓝色色度分量,cr 表示红色色度分量,u和v表示色度(chrominance或chroma),用于描述色彩及饱和度。在颜色格式上, 4∶2∶0表示每4个像素有4个亮度分量,2个色度分量
(yyyycbcr),4∶2∶2表示每4个像素有4个亮度分量, 4个色度分量(yyyycbcrcbcr),而4∶4∶4表示全像素显示(yyyycbcrcbcrcbcrcbcr),图3展示了不同颜色格式下的各分量分布图,其中圆形为y分量,三角形为uv分量。
80.数字视频编解码中的帧内预测部分,主要参考当前帧的相邻块图像信息对当前编码单元块进行预测,将预测块与原始图像块计算残差得到残差信息后,经由变换与量化等过程,将残差信息传输到解码端。解码端接收并解析码流后,经过反变换与反量化等步骤得到残差信息,将解码端预测得到的预测图像块叠加残差信息后,得到重建图像块。在此过程中,帧内预测通常借助各自角度模式与非角度模式对当前编码块进行预测得到预测块,根据预测块与原始块计算得到的率失真信息,筛选出当前编码单元最优的预测模式,后将该预测模式经码流传输到解码端。解码端解析出预测模式,预测得到当前解码块的预测图像并叠加经码流传输而来的残差像素,即可得到重建图像。
81.超高清数字视频的发展对帧内预测提出了更高的要求,不能仅仅只是依靠单纯地增加角度预测模式,扩展宽角度来提交编码效率。当前的帧内角度预测中并没有采用全部的参考像素,容易忽略一些像素与当前编码单元之间的关联性,帧内预测滤波(ipf,intra prediction filter)通过点对点的滤波提升像素预测精度,可以有效地增强空间关联性,从而提升帧内预测精度。
82.如图4所示为一实施例的应用帧内预测滤波的一种预测模式。其中,urb表示左侧相邻块的靠近当前编码单元的边界像素,mrb表示上侧相邻块的靠近当前编码单元的边界像素,filter direction表示滤波方向。该预测模式方向从右上到左下,生成的当前编码单元预测值主要使用上方mrb这一行相邻块的参考像素点,即当前编码单元的预测像素并没有参考到左侧相邻块的重建像素,然而当前编码单元与左侧重建块为空间相邻关系,若只参考上侧mrb像素而不参考左侧urb像素则容易缺失空间关联性导致预测效果较差。
83.帧内预测滤波可应用于帧内预测的所有预测模式中,是一种提高帧内预测精度的滤波方法。帧内预测滤波主要通过以下流程实现:
84.a)对该编码单元的当前预测模式进行判断,当前预测模式包括:水平类角度预测模式、垂直类角度预测模式和非角度预测模式;
85.b)根据不同类别的预测模式,采用不同的滤波器对输入像素进行滤波;
86.c)根据当前像素到参考像素的距离不同,采用不同的滤波系数对输入像素进行滤波。
87.输入像素为各个预测模式下得到的预测像素,输出像素为帧内预测滤波后的最终预测像素。
88.在一实施例中,允许标识位ipf_enable_flag,二值变量,值为
‘1’
表示可使用帧内预测滤波;值为
‘0’
表示不应使用帧内预测滤波。
89.在一实施例中,标识位ipf_flag,二值变量,值为
‘1’
表示应使用帧内预测滤波;值为
‘0’
表示不应使用帧内预测滤波,如果码流中不存在标识位ipf_flag,则默认为0。
90.语法元素ipf_flag,如下:
91.[0092][0093]
在一实施例中,将预测模式0、1和2归类为非角度预测模式,使用第一三抽头滤波器对预测像素进行滤波;
[0094]
将预测模式3至预测模式18、预测模式34至预测模式50归类为垂直类角度预测模式,使用第一两抽头滤波器对预测像素进行滤波;
[0095]
将预测模式19至预测模式32、预测模式51至预测模式65归类为水平类角度预测模式,使用第二两抽头滤波器对预测像素进行滤波。
[0096]
在一实施例中,第一三抽头滤波器,滤波公式如下:
[0097]
p

(x,y)=f(x)
·
p(-1,y) f(y)
·
p(x,-1) (1-f(x)-f(y))
·
p(x,y)
[0098]
第一两抽头滤波器,滤波公式如下:
[0099]
p

(x,y)=f(x)
·
p(-1,y) (1-f(x))
·
p(x,y)
[0100]
第二两抽头滤波器,滤波公式如下:
[0101]
p

(x,y)=f(y)
·
p(x,-1) (1-f(y))
·
p(x,y)
[0102]
上述式子中,p

(x,y)为当前色度预测块位于(x,y)位置像素的最终预测值,f(x)与f(y)分别为参考左侧相邻块重建像素的水平滤波系数与参考上侧相邻块重建像素的垂直滤波系数,p(-1,y)与p(x,-1)分别为位于y行的左侧重建像素与位于x列的上侧重建像素,p(x,y)为当前色度分量预测块里的原始预测像素值。其中,x与y的值均不超过当前编码单元块的宽与高取值范围。
[0103]
上述水平滤波系数与垂直滤波系数的取值与当前编码单元块的尺寸以及当前预测块中预测像素到左侧重建像素点、上侧重建像素点的距离有关。上述水平滤波系数与垂直滤波系数的取值还与当前编码块的尺寸有关,根据当前编码单元块的大小划分成不同滤波器系数组。
[0104]
表1为一实施例中,帧内预测滤波的滤波系数。
[0105]
表1
[0106][0107]
图5展示了帧内预测滤波的三种滤波情况示意图,分别仅参考了上侧参考像素对当前编码单元中的预测值进行滤波;仅参考了左侧参考像素对当前编码单元预中的测值进行滤波;以及都参考了上侧与左侧参考像素对当前编码单元块中的预测值进行滤波。
[0108]
图6为本技术实施例中所描述的一种实例的视频译码系统1的框图。在本技术实施例中,术语“视频译码器”包括:视频编码器和视频解码器。在本技术实施例中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。视频译码系统1的视频编码器100和视频解码器200用于实现本技术提出的编码方法和解码方法。
[0109]
如图6中所示,视频译码系统1包含源装置10和目的装置20。源装置10产生经编码的视频数据。因此,源装置10可被称为视频编码装置。目的装置20可对由源装置10所产生的经编码的视频数据进行解码。因此,目的装置20可被称为视频解码装置。源装置10和目的装置20各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于ram、rom、eeprom、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体。
[0110]
源装置10和目的装置20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
[0111]
目的装置20可经由链路30从源装置10接收经编码视频数据。链路30可包括能够将经编码视频数据从源装置10移动到目的装置20的一或多个媒体或装置。在一个实例中,链路30可包括使得源装置10能够实时将经编码视频数据直接发射到目的装置20的一或多个通信媒体。在此实例中,源装置10可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的装置20。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(rf)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促使从源装置10到目的装置20的通信的其它设备。在另一实例中,可将经编码数据从输出接口140输出到存储装置40。
[0112]
本技术实施例的图像编解码技术可应用于视频编解码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、串流视频发射(例如,经由因特网)、用于存储于数据存储媒体上的视频数据的编码、存储在数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码系统1可用于支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
[0113]
图6中所说明的视频译码系统1仅为示例,并且本技术实施例的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码并且将数据存储到存储器,和/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
[0114]
在图6的实例中,源装置10包含视频源120、视频编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发射器。视频源120可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。
[0115]
视频编码器100可对来自视频源120的视频数据进行编码。在一些实例中,源装置10经由输出接口 140将经编码视频数据直接发射到目的装置20。在其它实例中,经编码视频数据还可存储到存储装置40 上,供目的装置20以后存取来用于解码和/或播放。
[0116]
在图6的实例中,目的装置20包含输入接口240、视频解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码视频数据。显示装置220可与目的装置20集成或可在目的装置20外部。一般来说,显示装置220显示经解码视频数据。显示装置220可包括多种显示装置,例如,液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或其它类型的显示装置。
[0117]
尽管图6中未图示,但在一些方面,视频编码器100和视频解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。
[0118]
视频编码器100和视频解码器200各自可实施为例如以下各项的多种电路中的任一者:一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本技术,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本技术技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器100和视频解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
[0119]
图7为本技术一实施例中所描述的一种视频编码器100的示例框图。视频编码器100用于将视频输出到后处理实体41。后处理实体41表示可处理来自视频编码器100的经编码视频数据的视频实体的实例,例如媒体感知网络元件(mane)或拼接/编辑装置。在一些情
况下,后处理实体41可为网络实体的实例。在一些视频编码系统中,后处理实体41和视频编码器100可为单独装置的若干部分,而在其它情况下,相对于后处理实体41所描述的功能性可由包括视频编码器100的相同装置执行。在某一实例中,后处理实体41是图1的存储装置40的实例。
[0120]
在图7的实例中,视频编码器100包括预测处理单元108、滤波器单元106、存储器107、求和器112、变换器101、量化器102和熵编码器103。预测处理单元108包括帧间预测器110和帧内预测器109。为了图像块重构,视频编码器100还包含反量化器104、反变换器105和求和器111。滤波器单元106表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(alf)和样本自适应偏移(sao)滤波器。在一种示例下,视频编码器100还可以包括视频数据存储器、分割单元(图中未示意)。
[0121]
视频编码器100接收视频数据,并将所述视频数据存储在视频数据存储器中。分割单元将所述视频数据分割成若干图像块,这些图像块可以被进一步分割为更小的块,例如基于四叉树结构或者二叉树结构的图像块分割。预测处理单元108可选择用于当前图像块的多个可能的译码模式中的一者,例如多个帧内译码模式中的一者或多个帧间译码模式中的一者。预测处理单元108可将所得经帧内、帧间预测的预测块提供给求和器112以产生残差块,且提供给求和器111以重构用作参考图像的经编码块(又称为重构块)。帧内预测器109用于执行当前图像块的帧内预测性编码,以去除空间冗余,帧间预测器110用于执行当前图像块的帧间预测性编码以去除时间冗余。预测处理单元108将指示当前图像块的语法元素(所选帧内或帧间预测模式的信息)提供到熵编码器103,熵编码器103编码指示所选预测模式,滤波器单元106将滤波器控制数据提供到熵编码器103,熵编码器103编码指示所选滤波方式。
[0122]
在预测处理单元108经由帧间预测/帧内预测产生当前图像块的预测块之后,视频编码器100通过从待编码的当前图像块减去所述预测块来形成残差图像块。求和器112表示执行此减法运算的一或多个组件。所述残差块中的残差视频数据可包含在一或多个tu中,并应用于变换器101。变换器101使用例如离散余弦变换(dct)或概念上类似的变换等变换将残差视频数据变换成残差变换系数。变换器101可将残差视频数据从像素值域转换到变换域,例如频域。
[0123]
变换器101可将所得变换系数发送到量化器102。量化器102量化所述变换系数以进一步减小位码率。在一些实例中,量化器102可接着执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码器103可执行扫描。
[0124]
在量化之后,熵编码器103对经量化变换系数进行熵编码。举例来说,熵编码器103可执行上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)、基于语法的上下文自适应二进制算术编码(sbac)、概率区间分割熵(pipe)编码或另一熵编码方法或技术。在由熵编码器103熵编码之后,可将经编码码流发射到视频解码器200,或经存档以供稍后发射或由视频解码器200检索。熵编码器103还可对待编码的当前图像块的语法元素进行熵编码。
[0125]
反量化器104和反变换器105分别应用逆量化和逆变换以在像素域中重构所述残差块。
[0126]
求和器111将经重构的残差块添加到由帧间预测器110或帧内预测器109产生的预
测块,以产生经重构图像块。
[0127]
滤波器单元106可以适用于经重构图像块以减小失真,诸如方块效应(block artifacts)。然后,该经重构图像块作为参考块存储在存储器107中,可由帧间预测器110用作参考块以对后续视频帧或图像中的块进行帧间预测。
[0128]
视频编码器100将输入视频划分成若干个编码树单元,每个编码树单元又划分成若干个或矩形或方形的编码块。在当前编码块选择帧内预测模式进行编码时,对当前编码块的亮度分量进行若干种预测模式的计算遍历并根据率失真代价选择最优预测模式,对当前编码块的色度分量进行若干种预测模式的计算遍历并根据率失真代价选择最优预测模式。之后,计算原始视频块与预测块之间的残差,该残差后续一路经过变化与量化、熵编码等形成输出码流,另一路经过反变换与反量化、环路滤波等形成重构样本作为后续视频压缩的参考信息。
[0129]
在一实施例中,帧内预测滤波在视频编码器100的具体实现如下。
[0130]
输入数字视频信息在编码端被划分成若干个编码树单元,每个编码树单元又被划分成若干个或矩形或方形的编码单元,每个编码单元分别进行帧内预测过程计算预测块。
[0131]
在当前编码单元中,
[0132]

若允许标识位为
‘1’
则进行如下所有步骤a1)-f1);
[0133]

若允许标识位为
‘0’
则仅进行a1)、b1)、f1和g1)步骤。
[0134]
步骤a1)对所有预测模式进行遍历,计算每一种帧内预测模式下的预测像素,并根据原始像素计算率失真代价;
[0135]
步骤b1)根据上述所有预测模式率失真代价最小原则,选择出当前编码单元的最优预测模式,记录最优预测模式信息和与之对应的率失真代价信息;
[0136]
步骤c1)对所有帧内预测模式再次进行遍历,此过程开启帧内预测滤波,首先计算每一种帧内预测模式下的预测像素,得到当前编码单元的预测块;
[0137]
步骤d1)对当前编码单元的预测块进行帧内预测滤波,根据当前预测模式选择与之相对应的滤波器,根据当前编码单元尺寸选择相对应的滤波系数组,具体对应关系可查表1;
[0138]
步骤e1)根据上述经过帧内预测滤波得到的最终预测像素与原始像素计算得到每一种预测模式的率失真代价信息,记录最小率失真代价信息的预测模式和对应代价值;
[0139]
若允许标识位为
‘0’
,则将b1)中记录的预测模式索引经码流传输给解码端;
[0140]
若允许标识位为
‘1’
,则将b1)中记录的最小代价值与e1)中记录的最小代价值进行比较,
[0141]
若b1)中的率失真代价更小,则将b1)中记录的预测模式索引编码作为当前编码单元的最优预测模式经码流传输给解码端,将当前编码单元标识位置使用标志位置否,表示不使用帧内预测滤波,也经码流传输给解码端;
[0142]
若e1)中的率失真更小,则将e1)中记录的预测模式索引编码作为当前编码单元的最优预测模式经码流传输给解码端,将当前编码单元标识位置使用标志位置真,表示使用帧内预测滤波,也经码流传输给解码端。
[0143]
步骤f1)将预测值与变换与量化等操作后的残差信息叠加,得到当前编码单元的重建块作为后续编码单元的参考信息。
[0144]
帧内预测器109还可将指示当前编码块所选帧内预测模式的信息提供到熵编码器103,以便熵编码器 103编码指示所选帧内预测模式的信息。
[0145]
图8为本技术实施例中所描述的一种视频解码器200的示例框图。在图8的实例中,视频解码器200 包括熵解码器203、预测处理单元208、反量化器204、反变换器205、求和器211、滤波器单元206以及存储器207。预测处理单元208可以包括帧间预测器210和帧内预测器209。在一些实例中,视频解码器 200可执行大体上与相对于来自图7的视频编码器100描述的编码过程互逆的解码过程。
[0146]
在解码过程中,视频解码器200从视频编码器100接收表示经编码视频条带的图像块和相关联的语法元素的经编码视频码流。视频解码器200可从网络实体42接收视频数据,可选的,还可以将所述视频数据存储在视频数据存储器(图中未示意)中。视频数据存储器可存储待由视频解码器200的组件解码的视频数据,例如经编码视频码流。存储在视频数据存储器中的视频数据,例如可从存储装置40、从相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。视频数据存储器可作为用于存储来自经编码视频码流的经编码视频数据的经解码图像缓冲器(cpb)。
[0147]
网络实体42可例如为服务器、mane、视频编辑器/剪接器,或用于实施上文所描述的技术中的一或多者的其它此装置。网络实体42可包括或可不包括视频编码器,例如视频编码器100。在网络实体42将经编码视频码流发送到视频解码器200之前,网络实体42可实施本技术中描述的技术中的部分。在一些视频解码系统中,网络实体42和视频解码器200可为单独装置的部分,而在其它情况下,相对于网络实体42描述的功能性可由包括视频解码器200的相同装置执行。
[0148]
视频解码器200的熵解码器203对码流进行熵解码以产生经量化的系数和一些语法元素。熵解码器203 将语法元素转发到预测处理单元208。视频解码器200可接收在视频条带层级和/或图像块层级处的语法元素。帧内预测器209用于基于发信号通知的帧内预测模式和先前经解码的图像数据,生成当前图像块的预测块。帧间预测器210用于基于从熵解码器203接收到的语法元素,确定用于对当前图像块进行解码的帧间预测模式,基于确定的帧间预测模式,对所述当前图像块进行解码(例如执行帧间预测)。
[0149]
反量化器204将在码流中提供且由熵解码器203解码的经量化变换系数逆量化,即去量化。逆量化过程可包括:使用由视频编码器100针对每个图像块计算的量化参数来确定应施加的量化程度以及同样地确定应施加的逆量化程度。反变换器205将逆变换应用于变换系数,例如逆dct、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残差块。
[0150]
在帧间预测器210产生用于当前图像块或当前图像块的子块的预测块之后,视频解码器200通过将来自反变换器205的残差块与由帧间预测器210产生的对应预测块求和以得到重建的块,即经解码图像块。求和器211表示执行此求和操作的组件。在需要时,还可使用环路滤波器(在解码环路中或在解码环路之后) 来使像素转变平滑或者以其它方式改进视频质量。滤波器单元206可以表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(alf)以及样本自适应偏移(sao)滤波器。尽管在图8中将滤波器单元206示出为环路内滤波器,但在其它实现方式中,可将滤波器单元206实施为环路后滤波器。
[0151]
视频解码器200具体执行的解码方法包括,输入码流在进行解析、反变换和反量化后,得到当前编码块的预测模式索引。若当前编码块色度分量的预测模式索引为增强型两
步跨分量预测模式,则根据索引值选择仅取来自当前编码块的上侧或者左侧相邻像素的重构样本进行线性模型的计算,根据线性模型计算得到当前编码块的色度分量的参考预测块,降采样、并针对降采样后的预测块进行基于正交方向的边界相邻像素的相关性的预测修正,得到最终的色度分量的最终预测块。后续码流一路作为后续视频解码的参考信息,一路经过后滤波处理输出视频信号。
[0152]
在一实施例中,帧内预测滤波在视频解码器200端具体实现如下。
[0153]
解码端获取码流并解析得到数字视频序列信息,解析得到当前视频序列的ipf允许标识位、当前解码单元编码模式为帧内预测编码模式和当前解码单元的ipf使用标识位。
[0154]
在当前解码单元中,
[0155]

若允许标识位为
‘1’
则进行如下步骤a2)至e2);
[0156]

若允许标识位为
‘0’
则仅进行a2)、b2)和e2)步骤:
[0157]
步骤a2)获取码流信息,解析当前解码单元的残差信息,经过反变换与反量化过程得到时域残差信息;
[0158]
步骤b2)解析码流并获取当前解码单元的预测模式索引,根据相邻重建块与预测模式索引,计算得到当前解码单元的预测块;
[0159]
步骤c2)解析并获取ipf的使用标识位,若ipf的使用标识位为
‘0’
,则不对当前预测块做额外操作;若ipf的使用标识位为
‘1’
,则执行d2);
[0160]
步骤d2)根据当前解码单元的预测模式归类信息选择相对应的滤波器,根据当前解码单元的尺寸大小选择相对应的滤波器系数组,之后对预测块内各个像素进行滤波得到最终预测块;
[0161]
步骤e2)将预测块叠加还原后的残差信息得到当前解码单元的重建块,经后处理输出;
[0162]
应当理解的是,视频解码器200的其它结构变化可用于解码经编码视频码流。例如,视频解码器200 可以不经滤波器单元206处理而生成输出视频流;或者,对于某些图像块或者图像帧,视频解码器200的熵解码器203没有解码出经量化的系数,相应地不需要经反量化器204和反变换器205处理。
[0163]
帧内预测滤波能够有效提升帧内预测的编码效率,大大增强了帧内预测的空间关联性。但仅用单一参考像素行或列,忽略了某些像素对预测值的影响。当帧内预测过程如需要平滑处理的部分时,帧内预测滤波和帧内预测模式都不能很好地解决类似问题,逐像素的根据参考像素滤波可以提高预测块与参考块的关联性,却无法解决预测块内部的平滑问题。
[0164]
根据单一预测模式计算所得的预测块通常在纹理比较清晰的图像当中会体现出较好的预测效果,残差因此也会变得更小更少,编码效率得以提升。但在纹理比较模糊的图像块中,过于锐化的预测可能会导致残差增加和变大,预测效果不好,编码效率下降。
[0165]
本技术实施例针对一些需要平滑处理的图像块,提出一种基于平滑处理的帧内预测滤波,可对根据帧内预测模式得到的预测块直接滤波。
[0166]
图9a为本技术实施例中编码方法的一种流程示意图,该编码方法可以应用于图6示出的视频译码系统1中的源装置10或图7示出的视频编码器100。图9a示出的流程以执行主体为图7示出的视频编码器 100为例进行说明。如图9a所示,本技术实施例提供的编码方
法包括:
[0167]
步骤110,划分图像,获取当前编码块的编码信息,所述编码信息包括第一标识位和第二标识位,所述第一标识位用于表示所述当前编码块是否允许使用帧内预测滤波,所述第二标识位用于表示所述当前编码块是否允许使用帧内预测平滑修正。
[0168]
其中,所述第一标识位又可以称为帧内预测滤波允许标识位ipf_enable_flag,所述第二标识位又可以称为帧内预测平滑修正允许标识位ips_enable_flag。
[0169]
步骤120,确定当前编码块的原始预测块。
[0170]
具体实现中,确定当前编码块所需要使用的帧内预测模式,并使用该帧内预测模式对当前编码块进行预测,得到原始预测块。
[0171]
步骤130,根据所述第一标识位和所述第二标识位确定允许使用所述帧内预测平滑修正,对所述原始预测块进行填充处理,得到填充处理后的第一预测块。
[0172]
其中,所述第一标识位和所述第二标识位的数值可以为1或0(或者true或false等,不做唯一限定),所述允许使用所述帧内预测平滑修正可以对应第一标识位和第二标识位的数值均为1。
[0173]
具体实现中,如图9b所示的填充示意图(图中,pred.pixel表示原始预测块中的像素,简称为预测像素,recon.pixel表示相邻重建块中对应位置的像素,简称为重建像素),对所述原始预测块进行填充处理,得到填充处理后的第一预测块,包括:对原始预测块外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素;对原始预测块外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素;对原始预测块左上角重建参考像素点分别向上和向左各填充1个像素点;对原始预测块外右侧和下侧最相邻列和行使用最接近边界的 1行和1列预测像素进行填充。
[0174]
步骤140,根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块。
[0175]
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
[0176]
在本可能的示例中,所述平滑修正滤波器包括第一十三抽头滤波器;
[0177]
所述第一十三抽头滤波器包括:
[0178]
p

(x,y)=c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0179]
·
ref(x-2,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 2,-1)
[0180]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 2)
[0181]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0182]
其中,所述帧内预测平滑修正采用简化的高斯卷积核对预测块进行滤波,滤波器
共有13个滤波系数,如下所示:
[0183][0184]
上述滤波系数总和为256,即计算得到的预测值需要向右移8位。
[0185]
如图9c所示的预测块滤波示意图(图9c至图9n中的rec均表示重建像素),对所有预测模式及预测块都可以使用13抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点。
[0186]
在本可能的示例中,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
[0187]
若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
[0188]
若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
[0189]
若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
[0190]
可见,本示例中,支持根据帧内预测模式来灵活设置平滑修正滤波器。
[0191]
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点和/或左侧边界的第二参考像素点、以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的至少一个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的至少一个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
[0192]
在本可能的示例中,所述第一滤波器包括第一十三抽头滤波器;
[0193]
所述第一十三抽头滤波器包括:
[0194]
p

(x,y)=c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0195]
·
ref(x-2,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 2,-1)
[0196]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 2)
[0197]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0198]
如图9c所示的预测块滤波示意图,对非角度类预测模式及预测块可以使用13抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点。
[0199]
在本可能的示例中,所述第二滤波器包括第一十一抽头滤波器;
[0200]
所述第一十一抽头滤波器包括:
[0201]
p

(x,y)=2c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3[0202]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0203]
·
p(x 1,y 1) 2c1·
ref(-1,y 2)
[0204]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,ref(m,n)为位于(m,n)像素点的重构值。
[0205]
如图9d所示的预测块滤波示意图,对水平类角度预测模式及预测块可以使用11抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点。
[0206]
在本可能的示例中,所述第三滤波器包括第二十一抽头滤波器;
[0207]
所述第二十一抽头滤波器包括:
[0208]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x-2,-1) c3[0209]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) 2c1·
ref(x 2,-1) c2·
p(x-1,y 1)
[0210]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0211]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0212]
如图9e所示的预测块滤波示意图,对垂直类预测模式及预测块可以使用11抽头滤波器进行滤波。左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点。
[0213]
在本可能的示例中,所述第一滤波器包括第二十三抽头滤波器;
[0214]
所述第二十三抽头滤波器包括:
[0215]
p

(x,y)=c1·
ref(-1,y-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0216]
·
ref(x-1,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 1,-1)
[0217]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 1)
[0218]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0219]
如图9f所示的预测块滤波示意图,对非角度类预测模式及预测块可以使用13抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为1的两个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为1的两个参考像素点。
[0220]
在本可能的示例中,所述第二滤波器包括第三十一抽头滤波器;
[0221]
所述第三十一抽头滤波器包括:
[0222]
p

(x,y)=2c1·
ref(-1,y-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3[0223]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0224]
·
p(x 1,y 1) 2c1·
ref(-1,y 1)
[0225]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为
滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0226]
如图9g所示的预测块滤波示意图,对水平类预测模式及预测块可以使用11抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为1的两个参考像素点。
[0227]
在本可能的示例中,所述第二滤波器包括第四十一抽头滤波器;
[0228]
所述第四十一抽头滤波器包括:
[0229]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x-1,-1) c3[0230]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) 2c1·
ref(x 1,-1) c2·
p(x-1,y 1)
[0231]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0232]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,ref(m,n)为位于(m,n)像素点的重构值。
[0233]
如图9h所示的预测块滤波示意图,对垂直类预测模式及预测块可以使用11抽头滤波器进行滤波。左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为1的两个参考像素点。
[0234]
在本可能的示例中,所述第一滤波器包括第五十一抽头滤波器;
[0235]
所述第五十一抽头滤波器包括:
[0236]
p

(x,y)=c1·
ref(-1,y) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1·
ref(x,-1)
[0237]
c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1)
[0238]
c2·
p(x 1,y 1)
[0239]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0240]
如图9i所示的预测块滤波示意图,对非角度类预测模式及预测块可以使用11抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为0的单个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为0的单个参考像素点。
[0241]
在本可能的示例中,所述第二滤波器包括第一十抽头滤波器;
[0242]
所述第一十抽头滤波器包括:
[0243]
p

(x,y)=2c1·
ref(-1,y) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3·
p(x-1,y)
[0244]
c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0245]
·
p(x 1,y 1)
[0246]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,ref(m,n)为位于(m,n)像素点的重构值。
[0247]
如图9j所示的预测块滤波示意图,对水平类预测模式及预测块可以使用10抽头滤
波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为0的单个参考像素点。
[0248]
在本可能的示例中,所述第三滤波器包括第二十抽头滤波器;
[0249]
所述第二十抽头滤波器包括:
[0250]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x,-1) c3·
p(x-1,y)
[0251]
c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0252]
·
p(x 1,y 1)
[0253]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0254]
如图9k所示的预测块滤波示意图,对垂直类预测模式及预测块可以使用11抽头滤波器进行滤波。左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为0的单个参考像素点。
[0255]
在本可能的示例中,所述第一滤波器包括第一十五抽头滤波器;
[0256]
所述第一十五抽头滤波器包括:
[0257]
p

(x,y)=c1·
ref(-1,y-1) c1·
ref(-1,y) c1·
ref(-1,y 1) c1·
ref(x-1,-1) c1[0258]
·
ref(x,-1) c1·
ref(x 1,-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2[0259]
·
p(x 1,y-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1)
[0260]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0261]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0262]
如图9l所示的预测块滤波示意图,对非角度类预测模式及预测块可以使用15抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的三个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的三个参考像素点。
[0263]
在本可能的示例中,所述第二滤波器包括第一十二抽头滤波器;
[0264]
所述第一十二抽头滤波器包括:
[0265]
p

(x,y)=2c1·
ref(-1,y-1) 2c1·
ref(-1,y) 2c1·
ref(-1,y 1) c2·
p(x-1,y-1) c3[0266]
·
p(x,y-1) c2·
p(x 1,y-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2[0267]
·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1)
[0268]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0269]
如图9m所示的预测块滤波示意图,对水平类预测模式及预测块可以使用12抽头滤
波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的三个参考像素点。
[0270]
在本可能的示例中,所述第三滤波器包括第二十二抽头滤波器;
[0271]
所述第二十二抽头滤波器包括:
[0272]
p

(x,y)=c1·
ref(x-1,-1) c1·
ref(x,-1) c1·
ref(x 1,-1) c2·
p(x-1,y-1) c3[0273]
·
p(x,y-1) c2·
p(x 1,y-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2[0274]
·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1)
[0275]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0276]
如图9n所示的预测块滤波示意图,对垂直类预测模式及预测块可以使用12抽头滤波器进行滤波。左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的三个参考像素点。
[0277]
在本可能的示例中,所述根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块之后,所述方法还包括:
[0278]
计算所述第二预测块的率失真代价;
[0279]
若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位设置为第一数值,所述第三标识位用于表示所述当前编码块是否使用所述帧内预测平滑修正;将所述第一数值通过码流传输,所述第一数值表示所述当前编码块使用所述帧内预测平滑修正;
[0280]
若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块不使用所述帧内预测平滑修正。
[0281]
其中,所述第三标识位的数值可以为1或0(或者true或false等,不做唯一限定),所述第一数值可以是1,所述第二数值可以是0。
[0282]
在本可能的示例中,c1为7,c2为20,c3为26,c4为44;或者,
[0283]
c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
[0284]
可以看出,本技术实施例中,为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
[0285]
下面结合两个示例对上述编码方法进行说明。
[0286]
示例1,在编码端进行帧内预测的具体实现如下:
[0287]
步骤1,编码器获取编码信息,包括帧内预测滤波允许标识位以及本技术实施例所描述的方法的帧内预测平滑修正允许标识位等,获取图像信息后,将图像划分成若干个ctu,进一步再划分成若干个cu,每个独立cu都进行帧内预测且当前cu宽与高均不大于64个像素。
[0288]
步骤2,确定当前编码器允许使用平滑修正,即帧内预测平滑修正允许标识位为1,在每个cu的帧内预测后,得到当前cu的预测块,对预测块中的像素都做帧内预测平滑修正处理,具体步骤如下:
[0289]
步骤3,对当前cu做填充处理,当前cu外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素。
[0290]
当前cu外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素。
[0291]
当前cu左上角重建参考像素点分别向上和向左各填充1个像素点。当前cu外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充。
[0292]
步骤4,对预测块中的逐像素使用平滑修正滤波器进行滤波,滤波器水平方向最外侧两抽头对应所在水平位置的上侧参考像素点,滤波器垂直方向最外侧两抽头对应所在垂直位置的左侧参考像素点,剩余滤波器内部抽头均对应当前预测块内相应位置的预测像素,滤波得到滤波器中心点位置的最终预测值;
[0293]
步骤5,得到平滑修正后的预测块,计算该预测块的率失真代价;
[0294]
若当前预测块的率失真代价值最小,则确定当前cu使用平滑修正,将当前cu的帧内预测平滑修正使用标识位置1,并通过码流传输给解码端;
[0295]
若当前预测块的率失真代价值不为最小,则当前cu不使用平滑修正,将当前cu的帧内预测平滑修正使用标识位置0,并通过码流传输给解码端。
[0296]
示例2,在编码端帧内预测部分具体实现如下:
[0297]
步骤1,编码器获取编码信息,包括帧内预测滤波允许标识位以及本技术实施例所描述的方法的帧内预测平滑修正允许标识位等,获取图像信息后将图像划分成若干个ctu,进一步再划分成若干个cu,每个独立cu都进行帧内预测且当前cu宽与高均不大于64个像素。
[0298]
步骤2,确定当前编码器允许使用平滑修正,即帧内预测平滑修正允许标识位为1,在每个cu的帧内预测后,得到当前cu的预测块,对预测块中的像素都做平滑滤波修正处理,具体步骤如下:
[0299]
步骤3,对当前cu做填充处理,当前cu外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素.
[0300]
当前cu外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素。
[0301]
当前cu左上角重建参考像素点分别向上和向左各填充1个像素点。当前cu外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充;
[0302]
步骤4,对预测块中的逐像素使用平滑修正滤波器进行滤波,根据当前预测模式选择对应滤波器。
[0303]
若当前预测模式为非角度类预测模式,则采用第一滤波器进行滤波,得到滤波器
中心点位置像素的最终预测值;
[0304]
若当前预测模式为水平类角度预测模式,则采用第二滤波器进行滤波,得到滤波器中心点位置像素的最终预测值;
[0305]
若当前预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波,得到滤波器中心点位置像素的最终预测值.
[0306]
步骤5,得到平滑修正滤波后的预测块,计算该预测块的率失真代价。
[0307]
若当前预测块的率失真代价值最小,则确定当前cu使用平滑修正,将当前cu的帧内预测平滑修正使用标识位置1,并通过码流传输给解码端。
[0308]
若当前预测块的率失真代价值不为最小,则当前cu不使用平滑修正,将当前cu的帧内预测平滑修正使用标识位置0,并通过码流传输给解码端。
[0309]
与图9a所述的编码方法对应的,图10为本技术实施例中解码方法的一种流程示意图,该解码方法可以应用于图6示出的视频译码系统1中的目的装置20或图8示出的视频解码器200。图10示出的流程以执行主体为图8示出的视频编码器200为例进行说明。如图10所示,本技术实施例提供的解码方法包括:
[0310]
步骤210,解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正。
[0311]
步骤220,若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正。
[0312]
步骤230,解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块。
[0313]
需要注意的是,上述步骤220与步骤230的时序不做唯一限定,可以是并行执行,也可以先执行步骤 220,后执行步骤230,或者,先执行步骤230,后执行步骤220。
[0314]
步骤240,若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块。
[0315]
步骤250,根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块。
[0316]
步骤260,将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
[0317]
在本可能的示例中,所述当前解码块的宽与高均不大于64个像素。
[0318]
在本可能的示例中,所述方法还包括:若所述第二标识位指示不允许使用所述帧内预测平滑修正,或者,若所述第三标识位指示不使用所述帧内预测平滑修正,则将所述原始预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
[0319]
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的
预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
[0320]
在本可能的示例中,所述平滑修正滤波器包括第一十三抽头滤波器;
[0321]
所述第一十三抽头滤波器包括:
[0322]
p

(x,y)=c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0323]
·
ref(x-2,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 2,-1)
[0324]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 2)
[0325]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0326]
在本可能的示例中,其特征在于,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
[0327]
若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
[0328]
若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
[0329]
若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
[0330]
在本可能的示例中,所述第一滤波器包括第一十三抽头滤波器;
[0331]
所述第一十三抽头滤波器包括:
[0332]
p

(x,y)=c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0333]
·
ref(x-2,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 2,-1)
[0334]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 2)
[0335]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0336]
在本可能的示例中,所述第二滤波器包括第一十一抽头滤波器;
[0337]
所述第一十一抽头滤波器包括:
[0338]
p

(x,y)=2c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3[0339]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0340]
·
p(x 1,y 1) 2c1·
ref(-1,y 2)
[0341]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0342]
在本可能的示例中,所述第三滤波器包括第二十一抽头滤波器;
[0343]
所述第二十一抽头滤波器包括:
[0344]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x-2,-1) c3[0345]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) 2c1·
ref(x 2,-1) c2·
p(x-1,y 1)
[0346]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0347]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0348]
在本可能的示例中,所述第一滤波器包括第二十三抽头滤波器;
[0349]
所述第二十三抽头滤波器包括:
[0350]
p

(x,y)=c1·
ref(-1,y-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0351]
·
ref(x-1,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 1,-1)
[0352]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 1)
[0353]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0354]
在本可能的示例中,所述第二滤波器包括第三十一抽头滤波器;
[0355]
所述第三十一抽头滤波器包括:
[0356]
p

(x,y)=2c1·
ref(-1,y-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3[0357]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0358]
·
p(x 1,y 1) 2c1·
ref(-1,y 1)
[0359]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,ref(m,n)为位于(m,n)像素点的重构值。
[0360]
在本可能的示例中,所述第二滤波器包括第四十一抽头滤波器;
[0361]
所述第四十一抽头滤波器包括:
[0362]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x-1,-1) c3[0363]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) 2c1·
ref(x 1,-1) c2·
p(x-1,y 1)
[0364]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0365]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0366]
在本可能的示例中,所述第一滤波器包括第五十一抽头滤波器;
[0367]
所述第五十一抽头滤波器包括:
[0368]
p

(x,y)=c1·
ref(-1,y) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1·
ref(x,-1)
[0369]
c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1)
[0370]
c2·
p(x 1,y 1)
[0371]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0372]
在本可能的示例中,所述第二滤波器包括第一十抽头滤波器;
[0373]
所述第一十抽头滤波器包括:
[0374]
p

(x,y)=2c1·
ref(-1,y) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3·
[0401]
·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1)
[0402]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0403]
在本可能的示例中,c1为7,c2为20,c3为26,c4为44;或者,
[0404]
c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
[0405]
可以看出,本技术实施例中,为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
[0406]
下面结合两个示例对上述编码方法进行说明。
[0407]
示例1,在解码端帧内预测具体流程如下:
[0408]
步骤1,解码器获取码流,解析码流得到当前视频序列的帧内预测平滑修正允许标识位,解析码流并对得到的残差信息进行反变换和反量化。
[0409]
步骤2,确定当前码流中帧内预测平滑修正允许标识位为1,则帧内预测解码过程如下:
[0410]
步骤3,获取码流并解码得到残差信息,经过反变换与反量化等过程得到时域残差信息;
[0411]
步骤4,解析码流得到当前解码单元的预测模式,根据当前解码单元的预测模式和相邻重建块计算得到预测块;
[0412]
步骤5,解析并获取当前解码单元的帧内预测平滑修正使用标识位;
[0413]
若帧内预测平滑修正使用标识位为
‘0’
,则不对当前预测块做额外操作,跳过剩下所有步骤;
[0414]
若平滑修正使用标识位ips_flag为
‘1’
且当前预测块宽与高均不大于64个像素,则继续执行后续操作步骤6至步骤8;
[0415]
步骤6,对当前解码单元做填充处理,当前解码单元外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素。
[0416]
当前解码单元外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素。当前解码单元左上角重建参考像素点分别向上和向左各填充1个像素点。
[0417]
当前解码单元外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充;
[0418]
步骤7,对预测块中的逐像素使用平滑修正滤波器进行滤波,滤波器水平方向最外侧两抽头对应所在水平位置的上侧参考像素点,滤波器垂直方向最外侧两抽头对应所在垂
直位置的左侧参考像素点,剩余滤波器内部抽头均对应当前预测块内相应位置的预测像素,滤波得到滤波器中心点位置的最终预测值。
[0419]
步骤8,将预测块叠加还原后的残差信息得到当前解码单元的重建块,经后处理输出。
[0420]
示例2,在解码端帧内预测具体流程如下:
[0421]
步骤1,解码器获取码码流,解析码流得到当前视频序列的帧内预测平滑修正允许标识位,解析码流并对得到的残差信息进行反变换和反量化。
[0422]
步骤2,确定当前码流中帧内预测平滑修正允许标识位为1,则帧内预测解码过程如下:
[0423]
步骤3,获取码流并解码得到残差信息,经过反变换与反量化等过程得到时域残差信息;
[0424]
步骤4,解析码流得到当前解码单元的预测模式,根据当前解码单元的预测模式和相邻重建块计算得到预测块;
[0425]
步骤5,解析并获取当前解码单元的平滑修正使用标识位ips_flag和获取当前预测块的预测模式,
[0426]
若帧内预测平滑修正使用标识位为
‘0’
,则不对当前预测块做额外操作,跳过剩下所有步骤;
[0427]
若帧内预测平滑修正使用标识位为
‘1’
且当前预测块宽与高均不大于64个像素,则继续执行后续操作步骤6至步骤8;
[0428]
步骤6,对当前解码单元做填充处理,当前解码单元外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素。
[0429]
当前解码单元外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素。
[0430]
当前解码单元左上角重建参考像素点分别向上和向左各填充1个像素点。当前解码单元外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充;
[0431]
步骤7,对预测块中的逐像素使用平滑修正滤波器进行滤波,
[0432]
若当前预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
[0433]
若当前预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
[0434]
若当前预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
[0435]
步骤8,将预测块叠加还原后的残差信息得到当前解码单元的重建块,经后处理输出。
[0436]
滤波系数的设定
[0437]
上述所有滤波方案使用的滤波器所有系数可以是固定系数也可以根据当前预测块的大小选择不同系数组,根据预测像素到参考像素的距离不同选择不同的滤波系数,相同距离之间系数可以共享使用相同的系数值。
[0438]
上述所有滤波方案使用的滤波器中c1系数可以使用表1中的系数值。
[0439]
本技术实施例所描述的方法为节省寄存器开销,减少硬件设计和实现成本,可以与标准现有的技术共同使用相同的寄存器,而不需要额外增加寄存器。在有跨分量预测技术的标准中,解决方案如下:
[0440]
适配硬件方案1,亮度分量使用本技术实施例所描述的方法时,色度分量不做跨分量预测技术。如现有标准avs3中,若亮度分量使用了本技术实施例所描述的方法对亮度进行平滑修正,则在做色度分量预测时,禁用tscpm、tscpm_t、tscpm_l、mcpm、mcpm_l、mpcm_t等跨分量预测技术;现有标准vvc中,禁用cclm、lm_a以及lm_l等跨分量预测技术;
[0441]
适配硬件方案2,亮度分量使用本技术实施例所描述的方法时,色度分量若做跨分量预测技术,则使用的亮度分量重建像素不做本技术实施例所描述的方法平滑修正,且不影响亮度分量使用本技术实施例所描述的方法与否。
[0442]
本技术实施例所描述的方法方案将适用于帧内预测编解码部分,为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
[0443]
本技术实施例在avs的官方仿真平台hpm8.0上进行了测试,对帧内预测块进行平滑滤波,在全帧内测试条件和随机接入条件下,测试结果如表2和表3所示。
[0444]
表2 all intra测试结果
[0445][0446]
表3 random access测试结果
[0447][0448]
从表2和表3种可以看出,本技术实施例在两种测试条件下都具有不错的性能提升。
[0449]
在ai测试条件下,亮度分量具有0.44%的显著bdbr节省,uv分量各有0.46%和0.50%的bdbr节省,能够明显看出具有较高的性能,有效提升编码器的编码效率。
[0450]
从各个分辨率来看,本技术实施例在4k分辨率的视频上均具有较大的编码性能提升,这将有利于未来超高清视频的发展,为超高分辨率视频节省更多码率,节省更多带宽。
[0451]
本方案提出在帧内预测过程中,对帧内预测模式计算得到的预测块进行平滑滤波,提高帧内预测精度,有效提升编码效率,具体如下:
[0452]
提出2种对帧内编码的预测块进行平滑滤波的方案,第1种方案为对任何帧内预测模式均采用13抽头滤波器进行平滑滤波,内部9抽头矩形滤波器对预测像素操作,外部4抽头对相应位置的参考像素进行操作。第2种方案为将帧内预测模式划分成3类,对不同类型的预测模式采用不同的滤波器进行平滑修正;
[0453]
提出多种滤波器方案,对滤波器系数也提出多种组合;
[0454]
提出对硬件实现友好的方案,与当前现有技术共用寄存器,具有极低的实现代价。
[0455]
在一个可能的示例中,将本技术实施例所描述的方法与现有的帧内预测滤波相结合。
[0456]
具体的,在编码端,在步骤140之后,针对第二预测块采用现有的帧内预测滤波,得到第三预测块。
[0457]
在解码端,在步骤250之后,针对第二预测块采用现有的帧内预测滤波,得到第三预测块,将所述第三预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
[0458]
在一个可能的示例中,将本技术实施例所描述的方法中的亮度分量和色度分量分别使用独立标识位表示帧内预测平滑修正的使用与否,即第三标识位包括亮度分量的第三标识位a和色度分量的第三标识位b,分别指示是否使用帧内预测平滑修正。
[0459]
具体的,在编码端,
[0460]
针对亮度域,所述根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块之后,所述方法还包括:
[0461]
计算所述第二预测块的率失真代价;
[0462]
若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位a设置为第一数值,所述第三标识位a用于表示所述当前编码块的亮度分量是否使用所述帧内预测平滑修正;将所述第三标识位a通过码流传输,所述第一数值表示所述当前编码块的亮度分量使用所述帧内预测平滑修正;
[0463]
若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位a设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块的亮度分量不使用所述帧内预测平滑修正。
[0464]
针对色度域,所述根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块之后,所述方法还包括:
[0465]
计算所述第二预测块的率失真代价;
[0466]
若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位b设置为第一数值,所述第三标识位b用于表示所述当前编码块的色度分量是否使用所述帧内预测平滑修正;将所述第三标识位b通过码流传输,所述第一数值表示所述当前编码块的色度分量使用所述帧内预测平滑修正;
[0467]
若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位b设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块的亮度分量不使用所述帧内预测平滑修正。
[0468]
在解码端,过程包括:
[0469]
解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
[0470]
若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位a和第三标识位b,所述第三标识位a用于表示所述当前解码块的亮度分量是否使用所述帧内预测平滑修正,所述第三标识位a用于表示所述当前解码块的色度分量是否使用所述帧内预测平滑修正;
[0471]
解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
[0472]
若所述第三标识位a指示所述当前解码块的亮度分量使用所述帧内预测平滑修
正,则对所述原始预测块的亮度分量进行填充处理,得到填充处理后的第一亮度分量预测块;
[0473]
根据所述第一亮度分量预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二亮度分量预测块;
[0474]
将所述第二亮度分量预测块叠加所述时域残差信息,得到所述当前解码块的亮度分量重建块;
[0475]
若所述第三标识位b指示所述当前解码块的色度分量使用所述帧内预测平滑修正,则对所述原始预测块的亮度分量进行填充处理,得到填充处理后的第一色度分量预测块;
[0476]
根据所述第一色度分量预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二色度分量预测块;
[0477]
将所述第二色度分量预测块叠加所述时域残差信息,得到所述当前解码块的色度分量重建块。
[0478]
在一个可能的示例中,对参考像素先滤波(采用三抽头滤波器或者五抽头滤波器进行滤波),再使用本技术实施例所描述的平滑修正滤波器对当前图像块进行平滑修正,由于参考像素被滤波处理,后面使用的平滑修正滤波器会针对滤波后的参考像素进行滤波,从而可以进一步提高平滑修正的效果。
[0479]
具体实现中,在编码端,在步骤130之后,步骤140之前,所述方法还包括:针对所述第一预测块中的参考像素,使用三抽头滤波器或者五抽头滤波器进行滤波,得到滤波后的第一预测块。
[0480]
在解码端,在步骤240之后,步骤250之前,所述方法还包括:针对所述第一预测块中的参考像素,使用三抽头滤波器或者五抽头滤波器进行滤波,得到滤波后的第一预测块。
[0481]
本技术实施例提供一种编码装置,该编码装置可以为视频解码器或视频编码器。具体的,编码装置用于执行以上解码方法中的视频解码器所执行的步骤。本技术实施例提供的编码装置可以包括相应步骤所对应的模块。
[0482]
本技术实施例可以根据上述方法示例对编码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0483]
在采用对应各个功能划分各个功能模块的情况下,图11示出上述实施例中所涉及的编码装置的一种可能的结构示意图。如图11所示,编码装置11包括划分单元110、确定单元111、填充单元112、平滑修正单元113.
[0484]
划分单元110,用于划分图像,获取当前编码块的编码信息,所述编码信息包括第一标识位和第二标识位,所述第一标识位用于表示所述当前编码块是否允许使用帧内预测滤波,所述第二标识位用于表示所述当前编码块是否允许使用帧内预测平滑修正;
[0485]
确定单元111,用于确定当前编码块的原始预测块;
[0486]
填充单元112,用于根据所述第一标识位和所述第二标识位确定允许使用所述帧内预测平滑修正,对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
[0487]
平滑修正单元113,用于根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块。
[0488]
在本可能的示例中,所述装置还包括设置单元114,用于若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位设置为第一数值,并将所述第一数值通过码流传输,所述第三标识位用于表示所述当前编码块是否使用所述帧内预测平滑修正,所述第一数值表示所述当前编码块使用所述帧内预测平滑修正;
[0489]
若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块不使用所述帧内预测平滑修正。
[0490]
在本可能的示例中,所述当前编码块的宽与高均不大于64个像素。
[0491]
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
[0492]
在本可能的示例中,所述平滑修正滤波器包括第一十三抽头滤波器;
[0493]
所述第一十三抽头滤波器包括:
[0494]
p

(x,y)=c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0495]
·
ref(x-2,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 2,-1)
[0496]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 2)
[0497]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0498]
在本可能的示例中,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
[0499]
若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
[0500]
若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
[0501]
若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
[0502]
在本可能的示例中,所述第一滤波器包括第一十三抽头滤波器;
[0503]
所述第一十三抽头滤波器包括:
[0504]
p

(x,y)=c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0505]
·
ref(x-2,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 2,-1)
[0506]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 2)
[0507]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为
滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0508]
在本可能的示例中,所述第二滤波器包括第一十一抽头滤波器;
[0509]
所述第一十一抽头滤波器包括:
[0510]
p

(x,y)=2c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3[0511]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0512]
·
p(x 1,y 1) 2c1·
ref(-1,y 2)
[0513]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0514]
在本可能的示例中,所述第三滤波器包括第二十一抽头滤波器;
[0515]
所述第二十一抽头滤波器包括:
[0516]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y) c2·
p(x 1,y-1) 2c1·
ref(x-2,-1) c3·
p(x-1,y)
[0517]
c4·
p(x,y) c3·
p(x 1,y) 2c1·
ref(x 2,-1) c2·
p(x-1,y 1) c3[0518]
·
p(x,y 1) c2·
p(x 1,y 1)
[0519]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0520]
在本可能的示例中,所述第一滤波器包括第二十三抽头滤波器;
[0521]
所述第二十三抽头滤波器包括:
[0522]
p

(x,y)=c1·
ref(-1,y-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0523]
·
ref(x-1,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 1,-1)
[0524]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 1)
[0525]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0526]
在本可能的示例中,所述第二滤波器包括第三十一抽头滤波器;
[0527]
所述第三十一抽头滤波器包括:
[0528]
p

(x,y)=2c1·
ref(-1,y-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3[0529]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0530]
·
p(x 1,y 1) 2c1·
ref(-1,y 1)
[0531]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0532]
在本可能的示例中,所述第二滤波器包括第四十一抽头滤波器;
[0533]
所述第四十一抽头滤波器包括:
[0534]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x-1,-1) c3[0535]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) 2c1·
ref(x 1,-1) c2·
p(x-1,y 1)
[0536]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0537]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0538]
在本可能的示例中,所述第一滤波器包括第五十一抽头滤波器;
[0539]
所述第五十一抽头滤波器包括:
[0540]
p

(x,y)=c1·
ref(-1,y) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1·
ref(x,-1)
[0541]
c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1)
[0542]
c2·
p(x 1,y 1)
[0543]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0544]
在本可能的示例中,所述第二滤波器包括第一十抽头滤波器;
[0545]
所述第一十抽头滤波器包括:
[0546]
p

(x,y)=2c1·
ref(-1,y) c2·
p(x-1,y-1) c3·
p(x,y) c2·
p(x 1,y-1) c3·
p(x-1,y) c4[0547]
·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1)
[0548]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,ref(m,n)为位于(m,n)像素点的重构值。
[0549]
在本可能的示例中,所述第三滤波器包括第二十抽头滤波器;
[0550]
所述第二十抽头滤波器包括:
[0551]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x,-1) c3·
p(x-1,y)
[0552]
c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0553]
·
p(x 1,y 1)
[0554]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0555]
在本可能的示例中,所述第一滤波器包括第一十五抽头滤波器;
[0556]
所述第一十五抽头滤波器包括:
[0557]
p

(x,y)=c1·
ref(-1,y-1) c1·
ref(-1,y) c1·
ref(-1,y 1) c1·
ref(x-1,-1) c1[0558]
·
ref(x,-1) c1·
ref(x 1,-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2[0559]
·
p(x 1,y-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1)
[0560]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0561]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均
processing unit,cpu),通用处理器,数字信号处理器(digital signal processor,dsp),asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合, dsp和微处理器的组合等等。通信模块121可以是收发器、rf电路或通信接口等。存储模块122可以是存储器。
[0579]
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述编码装置可执行上述编码方法,编码装置具体可以是视频编码装置或者其他具有视频编码功能的设备。
[0580]
本技术还提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本技术实施例的编码方法。
[0581]
本技术实施例提供一种解码装置,该解码装置可以为视频解码器或视频解码器。具体的,解码装置用于执行以上解码方法中的视频解码器所执行的步骤。本技术实施例提供的解码装置可以包括相应步骤所对应的模块。
[0582]
本技术实施例可以根据上述方法示例对解码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0583]
在采用对应各个功能划分各个功能模块的情况下,图13示出上述实施例中所涉及的解码装置的一种可能的结构示意图。如图13所示,解码装置13包括第一解析单元130、第二解析单元131、第三解析单元132、填充单元133、平滑修正单元134、重建单元135,
[0584]
第一解析单元130,用于解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
[0585]
第二解析单元131,用于若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正;
[0586]
第三解析单元132,用于解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
[0587]
填充单元133,用于若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
[0588]
平滑修正单元134,用于根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;
[0589]
重建单元135,用于将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
[0590]
在本可能的示例中,所述当前解码块的宽与高均不大于64个像素。
[0591]
在本可能的示例中,所述重建单元135,还用于若所述第二标识位指示不允许使用
所述帧内预测平滑修正,或者,若所述第三标识位指示不使用所述帧内预测平滑修正,则将所述原始预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
[0592]
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
[0593]
在本可能的示例中,所述平滑修正滤波器包括第一十三抽头滤波器;
[0594]
所述第一十三抽头滤波器包括:
[0595]
p

(x,y)=c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0596]
·
ref(x-2,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 2,-1)
[0597]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 2)
[0598]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0599]
在本可能的示例中,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
[0600]
若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
[0601]
若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
[0602]
若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
[0603]
在本可能的示例中,所述第一滤波器包括第一十三抽头滤波器;
[0604]
所述第一十三抽头滤波器包括:
[0605]
p

(x,y)=c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0606]
·
ref(x-2,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 2,-1)
[0607]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 2)
[0608]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0609]
在本可能的示例中,所述第二滤波器包括第一十一抽头滤波器;
[0610]
所述第一十一抽头滤波器包括:
[0611]
p

(x,y)=2c1·
ref(-1,y-2) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3[0612]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0613]
·
p(x 1,y 1) 2c1·
ref(-1,y 2)
[0614]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均
不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0615]
在本可能的示例中,所述第三滤波器包括第二十一抽头滤波器;
[0616]
所述第二十一抽头滤波器包括:
[0617]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x-2,-1) c3[0618]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) 2c1·
ref(x 2,-1) c2·
p(x-1,y 1)
[0619]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0620]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0621]
在本可能的示例中,所述第一滤波器包括第二十三抽头滤波器;
[0622]
所述第二十三抽头滤波器包括:
[0623]
p

(x,y)=c1·
ref(-1,y-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1[0624]
·
ref(x-1,-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c1·
ref(x 1,-1)
[0625]
c2·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1) c1·
ref(-1,y 1)
[0626]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0627]
在本可能的示例中,所述第二滤波器包括第三十一抽头滤波器;
[0628]
所述第三十一抽头滤波器包括:
[0629]
p

(x,y)=2c1·
ref(-1,y-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3[0630]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0631]
·
p(x 1,y 1) 2c1·
ref(-1,y 1)
[0632]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0633]
在本可能的示例中,所述第二滤波器包括第四十一抽头滤波器;
[0634]
所述第四十一抽头滤波器包括:
[0635]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x-1,-1) c3[0636]
·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) 2c1·
ref(x 1,-1) c2·
p(x-1,y 1)
[0637]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0638]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0639]
在本可能的示例中,所述第一滤波器包括第五十一抽头滤波器;
[0640]
所述第五十一抽头滤波器包括:
[0641]
p

(x,y)=c1·
ref(-1,y) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c1·
ref(x,-1)
[0642]
c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1)
[0643]
c2·
p(x 1,y 1)
[0644]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0645]
在本可能的示例中,所述第二滤波器包括第一十抽头滤波器;
[0646]
所述第一十抽头滤波器包括:
[0647]
p

(x,y)=2c1·
ref(-1,y) c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) c3·
p(x-1,y)
[0648]
c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0649]
·
p(x 1,y 1)
[0650]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0651]
在本可能的示例中,所述第三滤波器包括第二十抽头滤波器;
[0652]
所述第二十抽头滤波器包括:
[0653]
p

(x,y)=c2·
p(x-1,y-1) c3·
p(x,y-1) c2·
p(x 1,y-1) 2c1·
ref(x,-1) c3·
p(x-1,y)
[0654]
c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1) c3·
p(x,y 1) c2[0655]
·
p(x 1,y 1)
[0656]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0657]
在本可能的示例中,所述第一滤波器包括第一十五抽头滤波器;
[0658]
所述第一十五抽头滤波器包括:
[0659]
p

(x,y)=c1·
ref(-1,y-1) c1·
ref(-1,y) c1·
ref(-1,y 1) c1·
ref(x-1,-1) c1[0660]
·
ref(x,-1) c1·
ref(x 1,-1) c2·
p(x-1,y-1) c3·
p(x,y-1) c2[0661]
·
p(x 1,y-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2·
p(x-1,y 1)
[0662]
c3·
p(x,y 1) c2·
p(x 1,y 1)
[0663]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0664]
在本可能的示例中,所述第二滤波器包括第一十二抽头滤波器;
[0665]
所述第一十二抽头滤波器包括:
[0666]
p

(x,y)=2c1·
ref(-1,y-1) 2c1·
ref(-1,y) 2c1·
ref(-1,y 1) c2·
p(x-1,y-1) c3[0667]
·
p(x,y-1) c2·
p(x 1,y-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2[0668]
·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1)
[0669]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均
不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0670]
在本可能的示例中,所述第三滤波器包括第二十二抽头滤波器;
[0671]
所述第二十二抽头滤波器包括:
[0672]
p

(x,y)=c1·
ref(x-1,-1) c1·
ref(x,-1) c1·
ref(x 1,-1) c2·
p(x-1,y-1) c3[0673]
·
p(x,y-1) c2·
p(x 1,y-1) c3·
p(x-1,y) c4·
p(x,y) c3·
p(x 1,y) c2[0674]
·
p(x-1,y 1) c3·
p(x,y 1) c2·
p(x 1,y 1)
[0675]
其中,p

(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c1、c2和c3分别为滤波系数,p(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, ref(m,n)为位于(m,n)像素点的重构值。
[0676]
在本可能的示例中,c1为7,c2为20,c3为26,c4为44;或者,
[0677]
c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
[0678]
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本技术实施例提供的解码装置包括但不限于上述模块,例如:解码装置还可以包括存储单元。存储单元可以用于存储该解码装置的程序代码和数据。
[0679]
在采用集成的单元的情况下,本技术实施例提供的解码装置的结构示意图如图14所示。在图14中,解码装置包括:处理模块140和通信模块141。处理模块140用于对解码装置的动作进行控制管理,例如,执行解析单元130、残差处理单元131、预测单元132、填充单元133、平滑修正单元134、重建单元135 所执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块141用于支持解码装置与其他设备之间的交互。如图12所示,解码装置还可以包括存储模块142,存储模块142用于存储解码装置的程序代码和数据,例如存储上述存储单元所保存的内容。
[0680]
其中,处理模块140可以是处理器或控制器,例如可以是中央处理器(central processing unit,cpu),通用处理器,数字信号处理器(digital signal processor,dsp),asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合, dsp和微处理器的组合等等。通信模块141可以是收发器、rf电路或通信接口等。存储模块142可以是存储器。
[0681]
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述解码装置可执行上述解码方法,解码装置具体可以是视频解码装置或者其他具有视频解码功能的设备。
[0682]
本技术还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非
易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本技术实施例的解码方法。
[0683]
本技术还提供一种终端,该终端包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,终端执行本技术实施例的图像编码和/或解码方法。这里的终端可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
[0684]
本技术另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当解码设备中的处理器在执行该程序代码时,该解码设备执行本技术实施例的编码方法、解码方法。
[0685]
在本技术的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;解码设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得终端实施执行本技术实施例的编码方法、解码方法。
[0686]
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。
[0687]
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。
[0688]
所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,dvd)或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0689]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0690]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0691]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到
多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0692]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0693]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0694]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献