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

用于预测残差信号的方法和装置与流程

2022-02-19 15:43:40 来源:中国专利 TAG:

用于预测残差信号的方法和装置
1.本技术是申请日为2016年02月01日,申请号为“201680074812.8”,标题为“用于预测残差信号的方法和装置”的发明专利申请的分案申请。
技术领域
2.以下实施例总体上涉及一种图像解码方法、解码设备、编码方法和编码设备,更具体地讲,涉及一种用于预测残差信号的方法和设备。


背景技术:

3.随着信息与通信行业的持续发展,具有高清(hd)分辨率的广播服务已经在全世界普及。通过这种普及,大量用户已经习惯了高分辨率和高清晰度图像。
4.为了满足用户对高清晰度的需求,大量机构加速了对下一代成像装置的开发。用户除了对高清tv(hdtv)和全高清(fhd)tv的兴趣已增加之外,对超高清(uhd)tv的兴趣也已增加,其中,超高清(uhd)tv的分辨率是全高清(fud)tv的分辨率的四倍以上。随着这种兴趣的增加,需要对于具有更高分辨率和更高清晰度的图像的图像编码/解码技术。
5.图像编码/解码设备和方法可使用帧间预测技术、帧内预测技术、熵编码技术等,以便对高分辨率和高清晰度图像执行编码/解码。帧间预测技术可表示用于使用时间上在前的画面和/或时间上在后的画面对当前画面中包括的像素的值进行预测的技术。帧内预测可表示用于使用关于在当前画面中的其它像素的信息对当前画面中包括的像素的值进行预测的技术。熵编码技术可表示用于将短码分配给更频繁出现的符号并且将长码分配给很少出现的符号的技术。
6.在图像的编码和解码中,预测可表示产生与原始信号类似的预测信号。可将预测主要分类为:用于参考空间上重建的图像的预测、用于参考时间上重建的图像的预测、以及与其它符号相关的预测。
7.帧内预测可表示仅允许空间参考的预测技术。当前块可以是作为当前将被编码的目标的块。帧内预测可以是用于通过参考与当前块邻近的先前重建的参考样点来对当前块进行预测的方法。
8.在帧内预测中,每个邻近参考样点可具有被预测和重建的亮度值,而不是原始图像的亮度值,并且可具有在应用后处理滤波之前的值。由于参考样点先前已被编码和重建,因此在编码器和解码器中,参考样点可被用于对当前块进行预测。
9.然而,从概念上讲,帧内预测可能仅在与邻近参考信号存在连续性的平坦区域和具有统一方向性的区域中有效。在不具有帧内图像属性的区域中,与帧间预测的编码效率相比,帧内预测的编码效率会大大劣化。具体地讲,在图像编码中,可能出现这样的情况:必需仅使用帧内预测来编码第一个画面,并且必需仅使用帧内预测来编码某个画面以提高随机访问和错误鲁棒性。因此,需要一种能够提高帧内预测的编码效率的方法。


技术实现要素:

10.技术问题
11.实施例在于提供一种用于将用于帧内预测的参考样点更新为尽可能接近作为将被编码的目标的当前块以提高帧内预测的编码效率的方法和设备。
12.另一实施例在于提供一种用于使用已完成了编码或解码的邻近块的残差信号对当前块的残差信号进行预测的方法和设备。
13.解决方案
14.根据一方面,提供了一种图像编码方法,包括:基于当前块的第一邻近块的残差信号来产生当前块的第一残差信号;使用当前块的第一残差信号来执行当前块的编码。
15.所述图像编码方法还可包括产生当前块的第二残差信号。
16.第二残差信号可以是当前块与当前块的预测块之间的差。
17.第一残差信号可以是基于第二残差信号和第一邻近块的残差信号两者来产生的。
18.第一残差信号可以是基于第二残差信号与第一邻近块的残差信号之间的差来产生的。
19.第一残差信号可以是第二残差信号与第一邻近块的残差信号之间的差。
20.所述图像编码方法还可包括确定是否执行残差信号预测。
21.可在确定执行残差信号预测时执行所述产生当前块的第一残差信号的步骤。
22.所述图像编码方法还可包括对指示是否执行残差信号预测的信息进行编码。
23.所述图像编码方法还可包括对第一邻近块的标识符进行编码。
24.根据另一方面,存在一种图像解码方法,包括:产生当前块的预测块。
25.基于所述预测块、当前块的残差信号、以及当前块的第一邻近块的残差信号来产生当前块的重建块。
26.所述重建块可以是基于当前块的残差信号与第一邻近块的残差信号之和而产生的。
27.所述重建块可以是当前块的所述预测块、当前块的残差信号以及第一邻近块的残差信号之和。
28.所述图像解码方法还可包括产生当前块的残差信号。
29.所述图像解码方法还可包括识别第一邻近块。
30.第一邻近块可通过第一邻近块的标识符被识别。
31.当第一邻近块的标识符不存在时,根据预定义方案而选择的块可被识别为第一邻近块。
32.所述图像解码方法还可包括更新用于产生所述预测块的参考样点的值。
33.根据另一方面,提供一种图像解码方法,包括:基于当前块的邻近块来确定参考样点的值;使用所述参考样点来产生当前块的预测块。
34.所述参考样点的值可以是基于所述邻近块的梯度图案来确定的。
35.当所述梯度图案是对称的时,所述参考样点的值可以是基于所述梯度图案中的两个对称行的梯度值来确定的。
36.所述参考样点的值可以是基于属于所述邻近块中的单个行的多个参考样点中的两个相邻参考样点之间的梯度来确定的。
37.所述确定参考样点的值的步骤可被配置为使得所述参考样点的值从被更新之前的值改变为被更新之后的值。
38.所述被更新之前的值可以是在包括所述参考样点的块被预测并重建时所产生的值。
39.在当前块的帧内预测模式是水平预测模式时,所述参考样点可以是当前块的左侧邻近样点,并且所述邻近块是通过将当前块的上方邻近块与当前块的左上方邻近块相加而获得的块。
40.根据另一方面,提供一种图像编码方法,包括:基于当前块的邻近块来确定参考样点的值;使用所述参考样点来产生当前块的预测块。
41.有益效果
42.提供一种用于将用于帧内预测的参考样点更新为尽可能接近作为将被编码的目标的当前块以提高帧内预测的编码效率的方法和设备。
43.此外,提供一种用于使用已完成了编码或解码的邻近块的残差信号对当前块的残差信号进行预测的方法和设备。
附图说明
44.图1是示出被应用了本发明的编码设备的实施例的配置的框图;
45.图2是示出被应用了本发明的解码设备的实施例的配置的框图;
46.图3是示意性地示出了当图像被编码和解码时图像的分区结构的示图;
47.图4至图11是示出能够被包括在编码单元(cu)中的预测单元(pu)的形状的示图;
48.图12是示出能够被包括在cu中的变换单元(tu)的形状的示图;
49.图13是示出帧内预测过程的实施例的示图;
50.图14是示出帧间预测过程的实施例的示图;
51.图15是根据实施例的编码设备的配置图;
52.图16和图17是示出根据实施例的编码方法的流程图;
53.图18是示出根据实施例的编码方法的流程图;
54.图19是示出根据实施例的参考样点更新方法的流程图;
55.图20是示出根据实施例的参考信号预测方法的流程图;
56.图21是示出根据实施例的当前块编码方法的流程图;
57.图22示出根据示例的当前块和参考样点;
58.图23示出根据示例的用于考虑邻近块的水平梯度来更新参考样点的方法;
59.图24示出根据示例的用于获得梯度图案的方法;
60.图25示出根据示例的用于考虑邻近块的垂直梯度来更新参考样点的方法;
61.图26示出根据示例的具有33种角模式的帧内预测;
62.图27示出根据示例的具有65种角模式的帧内预测;
63.图28示出根据示例的图像区域;
64.图29示出根据示例的用于计算邻近块的残差信号的方法;
65.图30示出根据示例的用于计算当前块的残差信号的方法;
66.图31示出根据示例的残差信号预测方法;
67.图32示出根据示例的默认残差信号;
68.图33示出根据示例的对默认残差信号执行离散余弦变换的结果;
69.图34示出根据示例的提出的残差信号;
70.图35示出根据示例的对所述提出的残差信号执行离散余弦变换的结果;
71.图36示出根据示例的邻近块的位置;
72.图37是根据实施例的解码设备的配置图;
73.图38和图39是示出根据实施例的解码方法的流程图;
74.图40是示出根据实施例的残差信号产生方法的流程图;
75.图41是示出根据实施例的使用残差信号的当前块解码方法的流程图;
76.图42是示出根据实施例的预测块产生方法的流程图;
77.图43是示出根据实施例的重建块产生方法的流程图;
78.图44是实施了根据实施例的编码设备的电子装置的配置图;
79.图45是实施了根据实施例的解码设备的电子装置的配置图。
80.最佳实施方式
81.将参照示出特定实施例的附图对以下示例性实施例进行详细描述。描述这些实施例,使得本公开所属技术领域的普通技术人员能够容易地实践这些实施例。应注意,各种实施例彼此不同,但不需要彼此互斥。例如,关于一个实施例,在此描述的特定形状、结构和特性可在不脱离实施例的精神和范围的情况下被实现为其它实施例。此外,应该理解,在不脱离实施例的精神和范围的情况下,能够改变在每个公开的实施例中的各个组件的位置或布置。因此,所附的详细描述并非旨在限制本公开的范围,并且示例性实施例的范围仅由所附的权利要求及其等同物(只要它们被适当地描述)限定。
82.在附图中,相似的参考标号被用于在各个方面指定相同或相似的功能。附图中的组件的形状、尺寸等可被夸大以使得描述清楚。
83.将理解,当元件被称为“连接”或“耦接”到另一元件时,所述元件可直接连接或耦接到所述另一元件,或者存在中间元件。在此使用的术语仅用于描述具体实施例的目的,而不意图限制本发明。如这里使用的,在此使用的术语仅用于描述具体实施例的目的,而不意图限制本发明。应注意,在示例性实施例中,用于描述组件“包括”特定组件的表述意味着另外的组件可被包括在示例性实施例的实践范围或技术精神中,但是不排除存在所述特定组件以外的组件。
84.诸如“第一”和“第二”的术语可用于描述各种元件,但是元件不受所述术语限制。所述术语仅用于将一个元件与另一个元件区分开。例如,在不脱离本发明的范围的情况下,第一元件可被称为第二元件。类似地,第二元件可被称为第一元件。
85.此外,在本发明的实施例中描述的元件模块被独立地示出以表示不同的特征功能,但是这并不意味着每个元件模块由一个单独的硬件或软件形成。也就是说,为了方便描述,元件模块被布置和包括,并且至少两个元件单元可形成一个元件单元,或者,一个元件可被划分为多个元件单元,并且所述多个元件单元可执行功能。只要不脱离本发明的本质,元件被集成的实施例或一些元件被分离的实施例被包括在本发明的范围中。
86.此外,在本发明中,一些元件不是用于执行必要功能的必要元件,但是可以是用于仅提高性能的可选元件。本发明可仅使用用于实现本发明的本质的必要元件,排除仅用于
提高性能的元件来实现,并且,仅包括必要元件而排除仅用于提高性能的可选元件的结构被包括在本发明的范围内。
87.参照附图来描述本发明的实施例以详细地描述本发明,使得本发明所属技术领域的普通技术人员能够容易地实践本发明。在本发明的以下描述中,被视为使本发明的要点模糊的公知功能或配置的详细描述将被省略。
88.在下文中,“图像”可表示构成视频的一部分的单个画面,或者可表示视频本身。例如,“对图像的编码和/或解码”可表示“对视频的编码和/或解码”,并且也可表示“对构成视频的多个图像中的任意一个图像的编码和/或解码”。
89.首先,将在下面描述在实施例中使用的术语。
90.单元:它可以是在对图像进行编码和解码时通过对一个图像进行分区而产生的区域。单个图像可被分区为多个单元。在对图像进行编码和解码时,可对每个单元执行预定义的处理。根据功能,使用诸如块、宏块、编码单元(cu)、预测单元(pu)和变换单元(tu)的单元。单个单元还可被进一步分区为具有比该单元的尺寸更小的尺寸的更下层单元。
91.–
块分区信息可包括关于单元的深度的信息。深度信息可表示单元被分区的次数和/或程度。
92.–
单个单元可被分层分区为多个更下层单元,同时所述多个更下层单元具有基于树结构的深度信息。换句话说,单元和通过对该单元进行分区而产生的更下层单元可分别对应于节点和该节点的子节点。各个被分区出的更下层单元可具有深度信息。单元的深度信息表示该单元被分区的次数和/或程度,因此,更下层单元的分区信息可包括关于所述更下层单元的尺寸的信息。
93.–
在树结构中,顶部节点可对应于进行分区之前的初始节点。顶部节点可被称为“根节点”。此外,根节点可具有最小深度值。这里,顶部节点的深度可为级别“0”。
94.–
深度为级别“1”的节点可表示在初始单元被分区一次时所产生的单元。深度为级别“2”的节点可表示在初始单元被分区两次时所产生的单元。
95.–
深度为级别“3”的叶节点可表示在初始单元被分区三次时所产生的单元。叶节点可以是底部节点,并可具有最大深度值。
96.–
块:块可以是m
×
n样点矩阵,其中,m和n可分别是正整数。块通常可表示二维(2d)样点的阵列,并且每个样点可以是像素或像素值。
97.–
变换单元(tu):tu可以是残差信号编码和/或残差信号解码(诸如,变换、逆变换、量化、反量化、变换系数编码和变换系数解码)的基本单元。单个tu可被分区为多个tu,其中,所述多个tu中的每个tu具有更小的尺寸。
98.–
参数集:参数集可对应于关于比特流的结构的头的信息。例如,参数集可包括序列参数集、画面参数集、适配参数集等。
99.–
率失真优化:编码设备可使用率失真优化以便通过利用以下项的组合来提供更高的编码效率:cu的尺寸、预测模式、预测单元的尺寸、运动信息和tu的尺寸。
100.率失真优化方案可计算各个组合的率失真代价以从这些组合中选择最优组合。可使用以下等式1来计算率失真代价。通常,可将使率失真代价最小化的组合选择作为在率失真优化方法下的最优组合。
101.[等式1]
[0102]
d λ*r
[0103]
这里,d可表示失真。d可以是在变换块中的原始变换系数和重建的变换系数之间的差值的平方的平均值(均方误差)。
[0104]
r表示码率,其可使用相关上下文信息来表示比特率。
[0105]
λ表示拉格朗日乘数。r不仅可包括编码参数信息(诸如预测模式、运动信息和编码块标志),还可包括由于对变换系数进行编码而产生的比特。
[0106]
编码设备执行诸如帧间预测和/或帧内预测、变换、量化、熵编码、反量化和逆变换的过程,以便计算精确的d和r,但是这些过程会大大增加编码设备的复杂度。
[0107]
图1是示出被应用了本发明的编码设备的实施例的配置的框图。
[0108]
编码设备100可以是视频编码设备或图像编码设备。视频可包括一个或更多个图像(画面)。编码设备100可随着时间顺序地对视频的一个或更多个图像进行编码。
[0109]
参照图1,编码设备100包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190。
[0110]
编码设备100可在帧内模式和/或帧间模式下对输入图像执行编码。此外,编码设备100可通过对输入图像进行编码来产生比特流,并且可输出产生的比特流。当帧内模式被使用时,切换器115可切换到帧内模式,然而当帧间模式被使用时,切换器115可切换到帧间模式。
[0111]
编码设备100可针对输入图像中的输入块产生预测块。此外,在产生了预测块之后,编码设备100可对输入块与预测块之间的残差进行编码。输入图像可被称为“当前图像”,作为当前将被编码的目标。输入块可被称为“当前块”,作为当前将被编码的目标。
[0112]
当预测模式是帧内模式时,帧内预测单元120可将在当前块周围的先前被编码的邻近块的像素值用作参考像素。帧内预测单元120可使用所述参考像素来执行空间预测,并且经由空间预测针对输入块产生预测样点。
[0113]
当预测模式是帧间模式时,运动预测单元111可在运动预测过程中在参考图像中搜索与输入块最匹配的区域,并且可使用找到的区域来推导出运动矢量。参考图像可被存储在参考画面缓冲器190中。更具体地讲,当参考图像的编码和/或解码被处理时,参考图像可被存储在参考画面缓冲器190中。
[0114]
运动补偿单元112可通过使用运动矢量执行运动补偿来产生预测块。这里,运动矢量可以是用于帧间预测的二维(2d)矢量。此外,运动矢量可表示当前图像和参考图像之间的偏移。
[0115]
减法器125可使用输入块与预测块之间的残差来产生残差块。残差块也被称为“残差信号”。
[0116]
变换单元130可通过对残差块进行变换来产生变换系数,并且可输出变换系数。这里,变换系数可以是通过对残差块进行变换而产生的系数值。当使用变换跳过模式时,变换单元130可省略对残差块进行变换的操作。
[0117]
通过对变换系数实施量化,可产生量化的变换系数等级。这里,在实施例中,量化的变换系数等级也可被称为“变换系数”。
[0118]
量化单元140可通过根据量化参数对变换系数进行量化来产生量化的变换系数等
级,并且可输出量化的变换系数等级。在这种情况下,量化单元140可使用量化矩阵对变换系数进行量化。
[0119]
熵编码单元150可通过对由量化单元140计算出的值或者对在编码过程中计算出的编码参数值执行基于概率分布的熵编码来产生比特流,并且可输出比特流。
[0120]
除了图像的像素信息之外,熵编码单元150还可针对对图像进行解码所需的信息执行熵编码。例如,对图像进行解码所需的信息可包括语法元素等。
[0121]
编码参数可以是进行编码和/或解码所需的信息。编码参数可包括由编码设备编码并被传送到解码设备的信息,并且还可包括在编码或解码过程中推导出的信息。例如,被传送到解码设备的信息可包括语法元素。
[0122]
例如,编码设备可包括值或统计信息,诸如预测模式、运动矢量、参考画面索引、编码块图案、存在或不存在残差信号、变换系数、量化的变换系数、量化参数、块尺寸以及块分区信息。预测模式可以是帧内预测模式或帧间预测模式。
[0123]
残差信号可表示原始信号与预测信号之间的差。可选地,残差信号可以是通过对原始信号与预测信号之间的差进行变换而产生的信号。可选地,残差信号可以是通过对原始信号与预测信号之间的差进行变换和量化而产生的信号。残差块可以是基于块的残差信号。
[0124]
当应用熵编码时,可将更少的比特分配给更频繁出现的符号,并且可将更多的比特分配给很少出现的符号。由于通过该分配来表示符号,因此可减少用于将被编码的目标符号的比特串的大小。因此,通过熵编码可提高视频编码的压缩性能。
[0125]
此外,为了进行熵编码,可使用诸如指数哥伦布、上下文自适应可变长度编码(cavlc)或上下文自适应二进制算术编码(cabac)的编码方法。例如,熵编码单元150可使用可变长度编码/码(vlc)表来执行熵编码。例如,熵编码单元150可推导出用于目标符号的二值化方法。此外,熵编码单元150可推导出用于目标符号/二进制位的概率模型。熵编码单元150可使用推导出的二值化方法或概率模型来执行熵编码。
[0126]
当编码设备100经由帧间预测执行编码时,编码的当前图像可被用作用于将被后续处理的另外的图像的参考图像。因此,编码设备100可对编码的当前图像进行解码,并将解码的图像存储为参考图像。对于解码,可进行对编码的当前图像的反量化和逆变换。
[0127]
量化的系数可由反量化单元160进行反量化,并且可由逆变换单元170进行逆变换。可由加法器175将已被反量化和逆变换的系数与预测块相加。将反量化且逆变换的系数和预测块相加,然后可产生重建块。
[0128]
重建块经由滤波单元180进行滤波。滤波单元180可将去块滤波器、样点自适应偏移(sao)滤波器和自适应环路滤波器(alf)中的一个或更多个滤波器应用于重建块或重建画面。滤波单元180也可被称为“自适应环内滤波器”。
[0129]
去块滤波器可消除在块的边界处出现的块失真。sao滤波器可将适当的偏移值与像素值相加以便对编码误差进行补偿。alf可基于重建块与原始块之间的比较结果来执行滤波。可将已经通过滤波单元180进行了滤波的重建块存储在参考画面缓冲器190中。
[0130]
图2是示出被应用了本发明的解码设备的实施例的配置的框图。
[0131]
解码设备200可以是视频解码设备或图像解码设备。
[0132]
参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧
内预测单元240、运动补偿单元250、加法器255、滤波单元260和参考画面缓冲器270。
[0133]
解码设备200可接收从编码设备100输出的比特流。解码设备200可在帧内模式或帧间模式下对比特流执行解码。此外,解码设备200可经由解码来产生重建图像,并且可输出重建图像。
[0134]
当用于解码的预测模式是帧内模式时,切换器可被操作以切换到帧内模式。当用于解码的预测模式是帧间模式时,切换器可被操作以切换到帧间模式。
[0135]
解码设备200可从输入的比特流获取重建的残差块,并且可产生预测块。当重建的残差块和预测块被获取时,解码设备200可通过将重建的残差块与预测块相加来产生重建块。
[0136]
熵解码单元210可通过对比特流执行基于概率分布的熵解码来产生符号。产生的符号可包括量化的系数格式符号。这里,熵解码方法可与以上描述的熵编码方法相似。也就是说,熵解码方法可以是以上描述的熵编码方法的逆过程。
[0137]
量化的系数可由反量化单元220进行反量化,并且可由逆变换单元230进行逆变换。作为对量化的系数进行反量化和逆变换的结果,可产生重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的系数。
[0138]
当使用帧内模式时,帧内预测单元240可通过使用在当前块周围的先前被编码的邻近块的像素值执行空间预测来产生预测块。当使用帧间模式时,运动补偿单元250可通过执行利用运动矢量和在参考画面缓冲器270中存储的参考图像的运动补偿来产生预测块。
[0139]
重建的残差块和预测块可由加法器255彼此相加。在重建的残差块和预测块彼此相加时所产生的块可通过滤波单元160进行滤波。滤波单元260可将去块滤波器、sao滤波器和alf中的一个或更多个应用于重建块或重建画面。滤波单元260可输出重建画面(块)。重建画面可被存储在参考画面缓冲器270中,并且然后可被用于帧间预测。
[0140]
图3是示意性地示出了当图像被编码和解码时图像的分区结构的示图。
[0141]
为了有效地对图像进行分区,可在编码和解码中使用编码单元(cu)。术语“单元”可以是对包括1)语法元素和2)图像样点的块进行统称的术语。例如,“单元的分区”可表示“与单元相应的块的分区”。
[0142]
参照图3,图像300以最大编码单元(lcu)为单位被顺序地分区,并且图像300的分区结构基于lcu被确定。这里,“lcu”可被用于具有与编码树单元(ctu)相同的含义。
[0143]
分区结构可表示lcu 310中的cu的分布。cu可以是有效地对图像进行编码所需的单元。可根据单个cu是否被分区为四个cu来确定这种分布。通过进行分区所产生的cu的宽度和长度可分别是进行分区之前的cu的长度和宽度的一半。每个被分区出的cu可被递归地分区为四个cu,并且按照相同的方式,所述四个cu的宽度和长度是相应cu的长度和宽度的一半。
[0144]
此时,可递归地执行cu的分区直到预定深度为止。深度信息可以是指示cu的尺寸的信息。此外,针对每个cu存储深度信息。例如,lcu的深度可以是0,最小编码单元(scu)的深度可以是预定义的最大深度。这里,如上所述,lcu可以是具有最大编码单元尺寸的编码单元,scu可以是具有最小编码单元尺寸的编码单元。
[0145]
在lcu 310处开始进行分区,每当cu的宽度和长度减半时,cu的深度就通过进行分区而增加“1”。在每个深度,未被分区的cu可具有2n
×
2n的尺寸。在cu被分区的情况下,尺寸
为2n
×
2n的cu可被分区为尺寸均为n
×
n的四个cu。每当深度增加1时,尺寸n减半。
[0146]
参照图3,深度为0的lcu的尺寸可以是64
×
64个像素。“0”可以是最小深度。深度为3的scu的尺寸可以是8
×
8个像素,其中,3可以是最大深度。这里,与lcu相应的64
×
64个像素的cu可用深度0来表示。32
×
32个像素的cu可以用深度1来表示。16
×
16个像素的cu可以用深度2来表示。与scu相应的8
×
8个像素的cu可以用深度3来表示。
[0147]
此外,关于cu是否被分区的信息可以用cu的分区信息来表示。分区信息可以是一比特的信息。除了scu之外的所有cu可具有分区信息。例如,当分区信息的值为0时,cu可不被分区,相反,当分区信息的值为1时,cu可被分区。
[0148]
图4至图11是示出能够被包括在编码单元(cu)中的预测单元(pu)的形状的示图。
[0149]
在从lcu中分区出的cu中,可将不再被分区的每个cu划分为一个或更多个pu。这个过程也可被称为“分区”。
[0150]
pu可以是预测的基本单元。pu可在跳过模式、帧间模式和帧内模式中的任意一个模式下被编码和解码。可根据模式将pu划分为各种形状。
[0151]
如图4中所示,在跳过模式下,可不在cu中执行分区。在跳过模式下,可支持与cu具有相同尺寸的2n
×
2n模式410。
[0152]
在帧间模式下,可支持cu能够划分为的八个不同形状。例如,在帧间模式下,可支持2n
×
2n模式410、2n
×
n模式415、n
×
2n模式420、n
×
n模式425、2n
×
nu模式430、2n
×
nd模式440、nl
×
2n模式445和nr
×
2n模式450。
[0153]
在帧内模式下,可支持2n
×
2n模式410和n
×
n模式425。
[0154]
图12是示出能够被包括在cu中的变换单元(tu)的形状的示图。
[0155]
tu可以是cu中用于变换、量化、逆变换和反量化过程的基本单元。tu可具有正方形或矩形的形状。
[0156]
在从lcu分区出的cu中,可将不再被分区为cu的每个cu划分为一个或更多个tu。此时,tu的分区结构可以是四叉树结构。例如,如图12中所示,可根据四叉树结构将单个cu 510分区一次或更多次。通过这种分区,单个cu 510可由具有各种尺寸的tu组成。
[0157]
图13是示出帧内预测过程的实施例的示图。
[0158]
不论预测单元的尺寸如何,帧内预测模式的数量可被固定在35。
[0159]
如图13中所示,预测模式可包括两种非定向模式和33种定向模式。所述两种非定向模式可包括dc模式和平面模式。
[0160]
预测模式的数量可根据彩色分量的类型而不同。例如,预测模式的数量可根据彩色分量是亮度(luma)信号还是色度(chroma)信号而不同。
[0161]
pu可具有尺寸为n
×
n或2n
×
2n的正方形形状。n
×
n尺寸可包括尺寸4
×
4、8
×
8、16
×
16、32
×
32和64
×
64。pu单元可具有cu、pu和tu中的至少一个的尺寸。
[0162]
可使用包括在邻近的重建单元中的样点值或编码参数来执行帧内编码和/或解码。
[0163]
图14是示出帧间预测过程的实施例的示图。
[0164]
图14中示出的矩形可表示图像(或画面)。此外,图14中的箭头可表示预测方向。也就是说,图像可根据预测方向被编码和/或解码。
[0165]
根据编码类型,可将各个图像(或画面)分类为帧内画面(i画面)、单向预测画面(p
画面)和双向预测画面(b画面)。每个画面可根据画面的编码类型被编码。
[0166]
当将被编码的图像是i画面时,可在不执行帧间预测的情况下对图像自身进行编码。当将被编码的图像是p画面时,可经由仅使用在正向方向上的参考图像的帧间预测对图像进行编码。当将被编码的图像是b画面时,可利用使用在正向方向和反向方向两者上的参考画面的帧间预测对图像进行编码,并且可经由使用在正向方向和反向方向中的任意一个方向上的参考画面的帧间预测对图像进行编码。
[0167]
使用参考图像被编码和/或解码的p画面和b画面的图像可被认为是使用帧间预测的图像。
[0168]
在下边的描述中,将详细地描述根据实施例的帧间预测。
[0169]
可使用参考画面和运动信息来执行帧间预测。此外,可使用以上描述的跳过模式来执行帧间预测。
[0170]
参考画面可以是在当前画面之前的画面和在当前画面之后的画面中的至少一个画面。这里,帧间预测可以是基于参考画面对当前画面的块执行的预测。这里,参考画面可以是用于对块进行预测的图像。
[0171]
这里,可通过利用指示参考画面的参考画面索引(refidx)和运动矢量来指定参考画面中的区域,随后将对此进行描述。
[0172]
可通过以下操作执行帧间预测:选择参考画面和在参考画面内的与当前块相应的参考块,并使用所选择的参考块产生针对当前块的预测块。当前块可以是当前画面中的多个块之中作为当前将被编码或解码的目标的块。
[0173]
运动信息可由编码设备100和解码设备200中的每一个在帧间预测期间推导出。此外,推导出的运动信息可被用于执行帧间预测。
[0174]
在这种情况下,编码设备100和解码设备200中的每一个可通过利用重建的邻近块的运动信息和/或共位的块(col块)的运动信息提高编码和/或解码效率。col块可以是在已经重建的共位画面(col画面)中与当前块相应的块。重建的邻近块可以是存在于当前画面中并且已经经由编码和/或解码被重建的块。此外,重建的邻近块可以是与当前块相邻的邻近块和/或位于当前块的外部角处的块。这里,位于当前块的外部角处的块可以是垂直相邻于与当前块水平相邻的邻近块的块,或者水平相邻于与当前块垂直相邻的邻近块的块。
[0175]
编码设备100和解码设备200中的每一个可确定在col画面中存在于在空间上与当前块相应的位置处的块,并可基于确定的所述块来确定预定义的相对位置。所述预定义的相对位置可以是存在于在空间上与当前块相应的位置处的所述块中的外部和/或内部位置。此外,编码设备100和解码设备200中的每一个可基于所述预定义的相对位置来推导出col块。这里,col画面可以是参考画面列表中包括的一个或更多个参考画面之一。
[0176]
用于推导运动信息的方法可根据当前块的预测模式而变化。例如,作为被应用于帧间预测的预测模式,可存在高级运动矢量预测因子(amvp)、合并模式等。
[0177]
例如,当amvp被用作预测模式时,编码设备100和解码设备200中的每一个可使用重建的邻近块的运动矢量和/或col块的运动矢量来产生预测运动矢量候选列表。重建的邻近块的运动矢量和/或col块的运动矢量可被用作预测运动矢量候选。
[0178]
由编码设备100产生的比特流可包括预测运动矢量索引。预测运动矢量索引可表示从预测运动矢量候选列表中包括的预测运动矢量候选中选择的最佳预测运动矢量。通过
比特流,可将预测运动矢量索引从编码设备100发送到解码设备200。
[0179]
解码设备200可使用预测运动矢量索引从预测运动矢量候选列表中包括的预测运动矢量候选中选择用于当前块的预测运动矢量。
[0180]
编码设备100可计算当前块的运动矢量与预测运动矢量之间的运动矢量差(mvd),并且可对mvd进行编码。比特流可包括编码的mvd。可通过比特流将mvd从编码设备100发送到解码设备200。这里,解码设备200可对接收到的mvd进行解码。解码设备200可使用解码的mvd和预测运动矢量之和来推导出当前块的运动矢量。
[0181]
比特流可包括指示参考画面的参考画面索引等。可通过比特流将参考画面索引从编码设备100发送到解码设备200。解码设备200可使用多条邻近块的运动信息来预测当前块的运动矢量,并且可使用在预测运动矢量与运动矢量之间的差来推导出当前块的运动矢量。解码设备200可基于关于推导出的运动矢量和参考画面索引的信息来产生针对当前块的预测块。
[0182]
作为用于推导运动信息的方法的另一示例,使用合并方法。术语“合并”可表示对多个块的运动的合并。“合并”可表示一个块的运动信息也被应用于其它块。当应用合并时,编码设备100和解码设备200中的每一个可使用各个重建的邻近块的多条运动信息和/或col块的运动信息来产生合并候选列表。运动信息可包括以下项中的至少一项:1)运动矢量、2)参考图像的索引和3)预测方向。预测方向可以是单向信息或双向信息。
[0183]
此时,可在cu基础上或pu基础上应用合并。当在cu基础上或pu基础上执行合并时,编码设备100可通过比特流将预定义的信息发送到解码设备200。比特流可包括预定义的信息。预定义的信息可包括:1)指示是否针对每个块分区执行合并的信息、以及2)指示将与和当前块相邻的邻近块中的哪个块一起执行合并的信息。例如,在当前块周围的邻近块可包括与当前块相邻的左侧块、与当前块相邻的上方块、在时间上与当前块相邻的块等。
[0184]
合并候选列表可表示存储了多条运动信息的列表。此外,合并候选列表可在执行合并之前被产生。在合并候选列表中存储的运动信息可以是1)与当前块相邻的邻近块的运动信息或2)在参考图像中与当前块相应的块(共同定位的块)的运动信息。此外,在合并候选列表中存储的运动信息可以是经由对先前存在于合并候选列表中的多条运动信息的组合而产生的新的运动信息。
[0185]
跳过模式可以是将邻近块的信息在没有改变的情况下应用于当前块的模式。跳过模式可以是用于帧间预测的多个模式之一。当跳过模式被使用时,编码设备100可通过比特流仅将指示以下的运动块的信息发送到解码设备200:该运动块的运动信息将被用作当前块的运动信息。编码设备100可不将另外的信息发送到解码设备200。例如,所述另外的信息可以是语法信息。语法信息可包括关于运动矢量差的信息。
[0186]
在以下实施例中,描述残差信号预测。通常,在现有的图像编码和/或解码技术(诸如高效视频编码(hevc)或高级视频编码(avc))中,产生当前块的残差信号以便对当前块进行编码和/或解码。当产生当前块的残差信号时,可产生通过残差信号预测被再次预测的残差信号,其中,所述残差信号预测使用与当前块邻近的块的残差信号而被执行。
[0187]
残差信号预测可旨在使用邻近块的残差信号对当前块的残差信号进行预测。可选地,残差信号预测可旨在将当前块的残差信号与邻近块的残差信号之间的差用作当前块的残差信号。
[0188]
与使用现有的帧内预测方法而获取的残差信号相比,从编码效率的观点来看,经由残差信号预测而获取的残差信号可具有优势。例如,通过使用经由残差信号预测而获取的残差信号可减少针对残差信号出现的比特数量。
[0189]
在以下实施例中,经由残差信号预测而获取的残差信号可被称为“第一残差信号”,使用现有的帧内预测方法而获取的残差信号可被称为“第二残差信号”。
[0190]
此外,在以下实施例中,将描述参考样点的更新。参考样点被用于产生预测块。因此,当参考样点具有与预测出的当前块(作为编码或解码的目标)的属性类似的特征时,编码或解码的效率可提高。在以下描述中,将在下面描述用于在产生预测块之前根据预定条件对参考样点进行更新的实施例。
[0191]
图15是根据实施例的编码设备的配置图。
[0192]
编码设备800可对应于以上描述的编码设备100。编码设备800可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190,并且还可包括帧内残差预测单元810。
[0193]
运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190可执行与以上参照图1描述的功能和/或操作相同的功能和/或操作。将省略其重复描述。
[0194]
此外,运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190可执行与帧内残差预测单元810相关的功能和/或操作。将在下面详细描述运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180、参考画面缓冲器190和帧内残差预测单元810的功能和/或操作。
[0195]
帧内残差预测单元810可以不与帧内预测单元120分离。帧内预测单元120和帧内残差预测单元810可被集成为帧内预测单元120。在实施例中,也可以由帧内预测单元120来执行被描述为由帧内残差预测单元810执行的功能和/或操作。
[0196]
此外,随后将参照图37来详细描述根据实施例的与编码设备800相应的解码设备2300。
[0197]
图16和图17是示出根据实施例的编码方法的流程图。
[0198]
在以下描述中,当前块可以是作为当前将被编码的目标的块或者是当前图像中的块。
[0199]
首先,参照图16,可执行步骤910。
[0200]
在执行步骤910之前,可产生参考样点。随后将参照图22详细地描述根据示例的参考样点的产生。
[0201]
在产生参考样点时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的参考样点产生方法。
[0202]
在步骤910,帧内预测单元120可确定是否执行参考样点的更新。这里,参考样点的更新可被配置为在产生当前块的预测块之前对被用于产生所述预测块的参考样点的样点
值进行改进。
[0203]
当确定执行参考样点的更新时,可执行步骤915。在另一方面,当确定不执行参考样点的更新时,可执行步骤920和步骤970。
[0204]
在步骤915,帧内预测单元120可对参考样点的值进行更新,并且通过所述更新,可确定被用于产生当前块的预测块的参考样点的值。
[0205]
帧内预测单元120可根据邻近样点的方向图案对参考样点的值进行更新。
[0206]
随后将参照图23、图24和图25详细地描述根据示例的对参考样点的更新。
[0207]
在执行了步骤915之后,可执行步骤920和步骤970。
[0208]
在步骤920,帧内预测单元120可执行帧内预测。帧内预测单元120可产生当前块的预测块。帧内预测单元120可根据用于当前块的帧内预测模式使用参考样点来产生当前块的预测块。
[0209]
例如,在产生预测块时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的预测块产生方法。
[0210]
在执行了步骤920之后,可执行步骤930。
[0211]
在步骤930,帧内残差预测单元810可确定是否执行残差信号预测。
[0212]
当确定执行残差信号预测时,可执行步骤935、步骤940和步骤980。
[0213]
当确定不执行残差信号预测时,可执行步骤960和步骤980。
[0214]
在步骤935,帧内残差预测单元810可将当前块的一个或更多个邻近块之一确定为第一邻近块。第一邻近块可以是用于进行残差信号预测的块。随后将参照图20详细地描述根据示例的对邻近块的确定。
[0215]
在执行了步骤935之后,可执行步骤950和步骤985。
[0216]
在步骤940,帧内预测单元120可使用帧内预测来产生当前块的第二残差信号。帧内预测单元120可基于用于当前块的帧内预测模式以及参考样点两者来产生当前块的第二残差信号。
[0217]
第二残差信号可与现有的图像编码和/或解码技术(诸如hevc或avc)中的当前块的残差信号相应。例如,在产生第二残差信号时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的残差信号产生方法。
[0218]
随后将参照图28、图29和图30详细描述根据实施例的第二残差信号的产生。
[0219]
在执行了步骤940之后,可执行步骤950。
[0220]
当确定执行残差信号预测时,作为步骤935和步骤940被执行的结果,可执行步骤950。
[0221]
在步骤950,帧内残差预测单元810可基于残差信号预测来产生当前块的第一残差信号。
[0222]
帧内残差预测单元810可使用第一邻近块的残差信号来执行残差信号预测。
[0223]
帧内残差预测单元810可基于当前块的第二残差信号和第一邻近块的残差信号来产生当前块的第一残差信号。
[0224]
第一残差信号可以是当前块的第二残差信号与第一邻近块的残差信号之间的差。可选地,第一残差信号可以是从当前块的第二残差信号减去第一邻近块的残差信号的结果。帧内残差预测单元810可将当前块的第二残差信号与第一邻近块的残差信号之间的差
产生为第一残差信号。
[0225]
第一残差信号可以是经由残差信号预测而产生的当前块的残差信号。可选地,第一残差信号可以是基于当前块的第一邻近块的残差信号而产生的当前块的残差信号。
[0226]
通过将残差信号预测应用于在步骤940产生的第二残差信号,可对当前块执行更高效的编码。
[0227]
随后将参照图31详细地描述根据实施例的第一残差信号的产生。
[0228]
当确定不执行残差信号预测时,在步骤960,帧内预测单元120或帧内残差预测单元810可产生当前块的第三残差信号。
[0229]
第三残差信号可以是在现有的图像编码和/或解码技术(诸如hevc或avc)中的当前块的残差信号。例如,在产生第三残差信号时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的残差信号产生方法。
[0230]
此外,第三残差信号可以是与在步骤940的第二残差信号相同的信号。换句话说,在步骤940和步骤960,可使用相同的方案来产生当前块的残差信号。
[0231]
在步骤970,帧内预测单元120可对指示是否执行对参考样点的更新的信息进行编码。
[0232]
当执行对参考样点的更新时,与现有的帧内预测不同,帧内预测单元120可对该信息进行编码,使得随后将参照图21被描述的解码设备2300识别是否已使用了对参考样点的更新。例如,当已使用了对参考样点的更新时,该信息的值可被设置为“1”,相反,当未使用对参考样点的更新时,该信息的值可被设置为“0”。
[0233]
例如,帧内预测单元120可使用标志来指示是否已执行了对参考样点的更新。通过该标志的方式,可指示是否已执行了对参考样点的更新。
[0234]
在步骤980,帧内残差预测单元810可对指示是否已执行了残差信号预测的信息进行编码。
[0235]
当残差信号预测被执行时,帧内残差预测单元810可对该信息进行编码,使得随后将参照图37被描述的解码设备2300可识别是否已执行了残差信号预测。例如,当已使用了残差信号预测时,该信息的值可被设置为“1”,相反,当未使用残差信号预测时,该信息的值可被设置为“0”。
[0236]
例如,帧内预测单元120可使用标志“intra_residual_prediction_flag”来指示是否已执行了残差信号预测,其中,通过标志“intra_residual_prediction_flag”可指示是否执行了残差信号预测。
[0237]
在步骤985,帧内预测单元810可对第一邻近块的标识符进行编码。
[0238]
第一邻近块的标识符可以是能够标识被用于对当前块的残差信号进行预测的邻近块的信息。
[0239]
例如,第一邻近块的标识符可指示多个邻近块之中的被用于对当前块的残差信号进行预测的邻近块。可选地,第一邻近块的标识符可以是指示多个邻近块之中的被用于对当前块的残差信号进行预测的邻近块的位置的位置信息。所述邻近块的位置可指示所选择的邻近块相对于当前块的位置。所述邻近块的位置可指示所选择的邻近块与当前块相邻的方向。
[0240]
第一邻近块的标识符可被配置为在编码设备800和解码设备2300两者中指示相同
的块。例如,关于第一邻近块的标识符,块的尺寸n和邻近块的位置在编码设备800和解码设备2300两者中必需彼此相同。为了使编码设备800和解码设备2300彼此共享关于第一邻近块的标识符的相同的分量,可使用“(邻近残差索引(idx)截断一元)”方案对第一邻近块的标识符进行编码。
[0241]
当执行残差信号预测时,可执行步骤950、步骤970、步骤980和步骤985,并且此后可执行步骤990。此外,当不执行残差信号预测时,可执行步骤960、步骤970和步骤980,并且此后可执行步骤990。
[0242]
下面,将参照图17。
[0243]
在步骤990,编码设备800可使用当前块的残差信号对当前块进行编码。可由变换单元130、量化单元140和熵编码单元150中的至少一个来执行步骤990。
[0244]
在步骤990,将被用于对当前块进行编码的残差信号可以是两个残差信号之一。
[0245]
当在步骤930确定执行残差信号预测时,在步骤950产生的当前块的第一残差信号可以是在步骤990使用的残差信号。换句话说,经由残差信号预测而产生的残差信号可被用于对当前块进行编码,并且,编码设备800可使用当前块的第一残差信号对当前块进行编码。
[0246]
当在步骤930确定不执行残差信号预测时,在步骤960产生的当前块的第三残差信号可以是在步骤990使用的残差信号。
[0247]
步骤990可包括步骤991、步骤992和步骤993。
[0248]
在步骤991,变换单元130可通过对残差信号执行变换来产生变换系数。
[0249]
在步骤992,量化单元140使用变换系数来产生量化的变换系数等级。
[0250]
在步骤993,熵编码单元150可对变换系数等级执行熵编码。
[0251]
在以上描述的与信息的编码相关的步骤中,步骤970、步骤980和步骤985可由一个主体按照与以上的描述的顺序不同的顺序来执行。例如,步骤993可包括步骤970、步骤980和步骤985。此外,熵编码单元150可对以下项中的至少一项进行编码:指示是否已执行了对参考样点的更新的信息、指示是否已执行了残差信号预测的信息、以及第一邻近块的标识符。
[0252]
图18是示出根据实施例的编码方法的流程图。
[0253]
图19是示出根据实施例的参考样点更新方法的流程图。
[0254]
图20是示出根据实施例的参考信号预测方法的流程图。
[0255]
图21是示出根据实施例的当前块编码方法的流程图。
[0256]
与以上参照图9描述的实施例相比,在参照图18、图19和图20描述的实施例中,可分开执行对参考样点的更新和对残差信号的预测。
[0257]
在下文中,当前块可以是作为当前将被编码的目标的块或者是当前图像中的块。
[0258]
首先,将参照图18。
[0259]
在步骤1010,帧内预测单元120可产生当前块的参考样点。帧内预测单元120可产生用于帧内预测的当前块的邻近参考样点。随后将参照图22详细地描述根据实施例的参考样点的产生。
[0260]
在产生参考样点时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的参考样点产生方法。
[0261]
编码设备800可选择性地提供参考样点更新功能。当使用参考样点更新功能时,可在步骤1010之后执行步骤1020。当不使用参考样点更新功能时,可在步骤1010之后执行步骤1030。换句话说,参考样点更新功能可被选择性地组合在该实施例中。
[0262]
在步骤1020,帧内预测单元120可提供与对参考样点的更新相关的功能。
[0263]
此后,将参照图19。
[0264]
参照图19,步骤1020可包括步骤1021、步骤1022和步骤1023。
[0265]
在步骤1021,帧内预测单元120可确定是否执行对参考样点的更新。这里,对参考样点的更新可被配置为在产生当前块的预测块之前对被用于产生所述预测块的参考样点的样点值进行改进。
[0266]
当确定执行对参考样点的更新时,可执行步骤1022。当确定不执行对参考样点的更新时,可执行步骤1023。
[0267]
在步骤1022,帧内预测单元120可对参考样点的值进行更新,并且通过所述更新,可确定被用于产生当前块的预测块的参考样点的值。
[0268]
帧内预测单元120可根据邻近样点的方向图案对参考样点的值进行更新。
[0269]
随后将参照图23、图24和图25详细地描述根据示例的对参考样点的更新。
[0270]
在执行了步骤1022之后,可执行步骤1023。
[0271]
在步骤1023,帧内预测单元120可对指示是否已执行了对参考样点的更新的信息进行编码。
[0272]
与现有的帧内预测不同,当参考样点被更新时,帧内预测单元120可对该信息进行编码,使得随后将参照图37被描述的解码设备2300可识别是否已执行了对参考样点的更新。例如,当已使用了对参考样点的更新时,该信息的值可被设置为“1”,相反,当未使用对参考样点的更新时,该信息的值可被设置为“0”。
[0273]
例如,帧内预测单元120可使用标志来指示是否已执行了对参考样点的更新,其中,通过该标志,可指示是否已执行了对参考样点的更新。
[0274]
当执行了步骤1010或步骤1020时,可执行步骤1030。
[0275]
将再次参照图18。
[0276]
在步骤1030,帧内预测单元120可执行帧内预测。帧内预测单元120可产生当前块的预测块。帧内预测单元120可根据用于当前块的帧内预测模式使用参考样点来产生当前块的预测块。
[0277]
例如,在产生预测块时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的预测块产生方法。
[0278]
编码设备800可选择性地提供残差信号预测功能。当使用残差信号预测功能时,可在步骤1030之后执行步骤1040。当不使用残差信号预测功能时,可在步骤1030之后执行步骤1050。换句话说,残差信号预测功能可被选择性地组合在该实施例中。
[0279]
当通过帧内预测获取当前块的残差信号时,帧内残差预测单元120可使用邻近块的残差信号对当前块的残差信号进行预测。在产生了残差信号之后,执行对残差信号的更新,因此对残差信号的“预测”可被称为对残差信号的“再预测”。
[0280]
在步骤1040,帧内残差预测单元120可提供与对残差信号的预测相关的功能。
[0281]
参照图20,步骤1040可包括步骤1041、步骤1042、步骤1046和步骤1047。
[0282]
在步骤1041,帧内残差预测单元810可确定是否执行残差信号预测。
[0283]
当确定执行残差信号预测时,可执行步骤1042。
[0284]
当确定不执行残差信号预测时,可执行步骤1046。
[0285]
在步骤1042,帧内残差预测单元810可执行对残差信号的预测。
[0286]
步骤1042可包括步骤1043、步骤1044和步骤1045。
[0287]
在步骤1042,可执行步骤1043和步骤1044。步骤1043和步骤1044可按照预定义的顺序被执行。例如,步骤1043可在步骤1044之前被执行。可选地,步骤1044可在步骤1043之前被执行。
[0288]
在步骤1043,帧内残差预测单元810可将当前块的一个或更多个邻近块之一确定为第一邻近块。第一邻近块可以是被用于对残差信号进行预测的块。随后将参照图36详细地描述根据实施例的邻近块的确定。
[0289]
在步骤1044,帧内预测单元120可使用帧内预测来产生当前块的第二残差信号。帧内预测单元120可基于用于当前块的帧内预测模式以及参考样点来产生当前块的第二残差信号。
[0290]
第二残差信号可与在现有的图像编码和/或解码技术(诸如hevc或avc)中的当前块的残差信号相应。例如,在产生第二残差信号时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的残差信号产生方法。
[0291]
随后将参照图28、图29和图30详细地描述根据实施例的第二残差信号的产生。
[0292]
如果确定执行残差信号预测,则作为步骤1043和步骤1044被执行的结果,随后可执行步骤1045。
[0293]
在步骤1045,帧内残差预测单元810可通过残差信号预测来产生当前块的第一残差信号。
[0294]
帧内残差预测单元810可使用第一邻近块的残差信号来执行残差信号预测。
[0295]
帧内残差预测单元810可基于当前块的第二残差信号和第一邻近块的残差信号来产生当前块的第一残差信号。
[0296]
第一残差信号可以是当前块的第二残差信号与第一邻近块的残差信号之间的差。可选地,第一残差信号可以是从当前块的第二残差信号减去第一邻近块的残差信号的结果。帧内残差预测单元810可将当前块的第二残差信号与第一邻近块的残差信号之间的差产生为第一残差信号。
[0297]
第一残差信号可以是经由残差信号预测而产生的当前块的残差信号。可选地,第一残差信号可以是基于当前块的第一邻近块的残差信号而产生的当前块的残差信号。
[0298]
通过将残差信号预测应用于在步骤1044产生的第二残差信号,可执行针对当前块的更高效的编码。
[0299]
随后将参照图31详细地描述根据示例的第一残差信号的产生。
[0300]
当确定不执行残差信号预测时,在步骤1046,帧内预测单元120或帧内残差预测单元810可产生当前块的第三残差信号。
[0301]
第三残差信号可以是在现有的图像编码和/或解码技术(诸如hevc或avc)中的当前块的残差信号。例如,在产生第三残差信号时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的残差信号产生方法。
[0302]
此外,第三残差信号可以是与在步骤1044的第二残差信号相同的信号。换句话说,步骤1044和步骤1046,可使用相同的方法来产生当前块的残差信号。
[0303]
当执行了步骤1042或步骤1046时,可执行步骤1047。
[0304]
在步骤1047,帧内残差预测单元810可对与残差信号预测相关的信息进行编码。
[0305]
当执行了残差信号预测时,帧内残差预测单元810可对该信息进行编码,使得随后将参照图21被描述的解码设备2300可识别是否已执行了残差信号预测。例如,当已使用了残差信号预测时,该信息的值可被设置为“1”,相反,当未使用残差信号预测时,该信息的值可被设置为“0”。
[0306]
例如,帧内预测单元120可使用标志“intra_residual_predicition_flag”来指示是否已执行了残差信号预测,其中,通过标志“intra_residual_prediction_flag”可指示是否已执行了残差信号预测。
[0307]
接下来将再次参照图20。
[0308]
步骤1047可包括步骤1048和步骤1049。
[0309]
在步骤1048,帧内残差预测单元810可对第一邻近块的标识符进行编码。
[0310]
第一邻近块的标识符可以是能够标识被用于对当前块的残差信号进行预测的邻近块的信息。
[0311]
例如,第一邻近块的标识符可指示多个邻近块之中的被用于对当前块的残差信号进行预测的邻近块。可选地,第一邻近块的标识符可以是指示多个邻近块之中的被用于对当前块的残差信号进行预测的邻近块的位置的位置信息。所述邻近块的位置可指示所选择的邻近块相对于当前块的位置。所述邻近块的位置可指示所选择的邻近块与当前块相邻的方向。
[0312]
第一邻近块的标识符可被配置为在编码设备800和解码设备2300两者中指示相同的块。例如,关于第一邻近块的标识符,块的尺寸n和邻近块的位置在编码设备800和解码设备2300中必需彼此相同。为了使编码设备800和解码设备2300彼此共享关于第一邻近块的标识符的相同的分量,可使用“(邻近残差索引(idx)截断一元)”方案对第一邻近块的标识符进行编码。
[0313]
可省略步骤1048。例如,当在步骤1041确定不执行残差信号预测时,可省略步骤1048。
[0314]
在步骤1049,帧内残差预测单元810可对指示是否已执行了残差信号预测的信息进行编码。
[0315]
在步骤1047,可执行步骤1048和步骤1049。步骤1048和步骤1049可按照预定义的顺序被执行。例如,步骤1048可在步骤1049之前被执行。可选地,步骤1049可在步骤1048之前被执行。
[0316]
当执行了步骤1030或步骤1040时,随后可执行步骤1050。
[0317]
在步骤1050,编码设备800可使用当前块的残差信号执行当前块的编码。步骤1050可由变换单元130、量化单元140和熵编码单元150中的至少一个来执行。
[0318]
在步骤1050,用于对当前块进行编码的残差信号可以是两个残差信号之一。
[0319]
当在步骤1041确定执行残差信号预测时,在步骤1045产生的当前块的第一残差信号可以是在步骤1050使用的残差信号。换句话说,经由残差信号预测而产生的残差信号可
被用于对当前块进行编码,并且,编码设备800可使用当前块的第一残差信号对当前块进行编码。
[0320]
当在步骤1041确定不执行残差信号预测时,在步骤1046产生的当前块的第三残差信号可以是在步骤1050使用的残差信号。
[0321]
接下来将参照图21。
[0322]
步骤1050可包括步骤1051、步骤1052和步骤1053。
[0323]
在步骤1051,变换单元130可通过对残差信号执行变换来产生变换系数。
[0324]
在步骤1052,量化单元140可使用变换系数来产生量化的变换系数等级。
[0325]
在步骤1053,熵编码单元150可对变换系数等级执行熵编码。
[0326]
在以上描述的与信息的编码相关的步骤中,步骤1023、步骤1048和步骤1049可由一个主体按照与以上的描述的顺序不同的顺序来执行。例如,步骤1053可包括步骤1023、步骤1048和步骤1049。此外,熵编码单元150对以下项中的至少一项进行编码:指示是否已执行了对参考样点的更新的信息、指示是否已执行了残差信号预测的信息、以及第一邻近块的标识符。
[0327]
提议的编码方法
[0328]
在以上参照图10描述的实施例中,编码方法可被分类为两种方法。下面描述各种方法。
[0329]

第一方法:第一方法可以是用于进行以下操作的方法:使用现有的方法来产生用于帧内预测的参考样点,并根据邻近样点的方向图案再次对使用现有的方法所产生的参考样点的样点值进行改进。这里,现有的方法可表示以上参照图1描述的由帧内预测单元120执行的用于产生用于帧内预测的参考样点的方法。
[0330]

第二方法:第二方法可以是用于通过对经由现有的帧内预测而获取的残差信号执行使用邻近块的残差信号的再预测来减少残差信号的能量的方法。换句话说,在第二方法中,可执行残差信号的等级的再预测。这里,现有的方法可包括用于经由参考样点的空间预测来产生当前块的预测信号的过程以及用于使用所述预测信号来获取当前块的残差信号的过程,其中,这些过程可由以上参照图1描述的帧内预测单元120来执行。
[0331]
实施例的分类
[0332]
以上参照图18、图19、图20和图21描述的实施例可被分类为三个实施例。下面将描述各种实施例。
[0333]

第一实施例:第一实施例由图18中的粗黑箭头指示。第一实施例可包括步骤1010、步骤1020、步骤1030和步骤1050。第一实施例对参考样点进行更新,但是可不对残差信号进行预测。
[0334]

第二实施例:第二实施例由图18中的粗白箭头指示。第二实施例可包括步骤1010、步骤1020、步骤1030、步骤1040和步骤1050。第二实施例可对参考样点进行更新并对参考信号进行预测。
[0335]

第三实施例:第三实施例由图18中的阴影箭头指示。第三实施例可包括步骤1010、步骤1030、步骤1040和步骤1050。第三实施例不对参考样点进行更新,但是可对残差信号进行预测。
[0336]
编码设备800可使用第一实施例、第二实施例和第三实施例之一来对当前块进行
编码。可选地,编码设备800可对所有的三个实施例执行率失真优化,并且可从三个实施例中选择用于推导出最小的率失真值的方法。例如,编码设备800可选择性地使用步骤1020和步骤1040中的每一个来推导出最小的率失真值。
[0337]
对参考样点的更新的单元
[0338]
在步骤910,帧内预测单元120可针对每个预定义单元确定是否执行对参考样点的更新。预定义单元可以是以下项中的至少一个:1)整个图像序列(即,视频)、2)单个图像(即,画面)、3)条带、以及4)编码单元。
[0339]
针对预定义单元,参考样点更新信息可被用于指示是否已执行了对参考样点的更新。参考样点更新信息可以是指示是否针对预定义单元已执行了对参考样点的更新的信息。例如,参考样点更新信息的值是“第一值”可表示在对当前块进行编码时已执行了对参考样点的更新。参考样点更新信息的值是“第二值”可表示在对当前块进行编码时未执行对参考样点的更新。
[0340]
编码设备800可将编码的残差信号预测信息包括在比特流中。解码设备2300可使用残差信号预测信息来确定是否已执行了对用于当前块的残差信号的预测。
[0341]
在以下描述中,将在下面描述对用于每个预定义单元的参考样点的更新。
[0342]
1)整个图像序列:可针对整个图像序列确定是否执行对参考样点的更新。在这种情况下,序列参数集可包括参考样点更新信息。当序列参数集的参考样点更新信息指示已执行了对参考样点的更新时,帧内预测单元120可针对整个图像序列执行帧内预测,其中,该帧内预测使用被应用基于方向性的梯度的参考样点。
[0343]
2)单个图像:可针对每个图像确定是否执行对参考样点的更新。在这种情况下,画面参数集可包括参考样点更新信息。当画面参数集的参考样点更新信息指示已更新了参考样点时,帧内预测单元120可针对与画面参数集相应的整个图像执行帧内预测,其中,该帧内预测使用被应用基于方向性的梯度的参考样点。可选地,帧内预测单元120可使用在条带头中指定的画面参数集标识符(id)来识别是否已执行了对参考样点的更新。
[0344]
3)条带:单个画面可被分区为多个条带段或单个条带段中的多个并行块。可针对每个条带确定是否执行对参考样点的更新。在这种情况下,条带段头可包括参考样点更新信息。当条带段头的参考样点更新信息指示已更新了参考样点时,帧内预测单元120可对与条带段头相应的条带执行帧内预测,其中,该帧内预测使用被应用基于方向性的梯度的参考样点。
[0345]
4)编码单元:可针对每个编码单元确定是否执行对参考样点的更新。在这种情况下,针对编码单元,可存在参考样点更新信息。当用于编码单元的参考样点更新信息指示已更新了参考样点时,帧内预测单元120可对与参考样点更新信息相应的编码单元执行帧内预测,其中,该帧内预测使用被应用基于方向性的梯度的参考样点。
[0346]
如以上所述,参考样点更新信息可被编码在序列参数集、画面参数集或条带段头中。可选地,可针对编码单元编码更新信息。
[0347]
残差信号预测的单元
[0348]
可针对预定义单元确定是否执行残差信号预测(在步骤930确定)。预定义单元可以是以下项中的至少一个:1)整个图像序列(即,视频)、2)单个图像(即,画面)、3)条带、以及4)编码单元。
[0349]
残差信号预测信息可以是指示是否针对预定义单元已执行了对残差信号的预测的信息。例如,残差信号预测信息的值是“第一值”可表示在对当前块进行编码时已执行了残差信号预测。残差信号预测信息的值是“第二值”可表示在对当前块进行编码时未执行残差信号预测。
[0350]
编码设备800可将编码的残差信号预测信息包括在比特流中。解码设备2300可使用残差信号预测信息来确定是否已执行了对用于当前块的残差信号的预测。
[0351]
在以下的描述中,将描述对用于每个预定义的单元的残差信号的预测。
[0352]
1)整个图像序列:可针对整个图像序列确定是否执行残差信号预测。在这种情况下,序列参数集可包括残差信号预测信息。当序列参数集的残差信号预测信息指示已执行了残差信号预测时,帧内残差预测单元810可针对整个图像序列执行残差信号预测。
[0353]
2)单个图像:可针对每个图像确定是否执行残差信号预测。在这种情况下,画面参数集可包括残差信号预测信息。当画面参数集的残差信号预测信息指示已执行了残差信号预测时,帧内残差预测单元810可针对与画面参数集相应的整个图像执行残差信号预测。
[0354]
3)条带:单个图像可被分区为多个条带段或单个条带段中的多个并行块。可针对每个条带确定是否执行残差信号预测。在这种情况下,条带段头可包括残差信号预测信息。当条带段头的残差信号预测信息指示已执行了残差信号预测时,帧内预测单元120可对与条带段头相应的条带执行残差信号预测。
[0355]
4)编码单元:可针对每个编码单元确定是否执行残差信号预测。在这种情况下,针对编码单元,可存在残差信号预测信息。当用于编码单元的残差信号预测信息指示已执行了残差信号预测时,帧内残差预测单元810可对与残差信号预测信息相应的编码单元执行残差信号预测。
[0356]
如上所述,残差信号预测信息可被编码在序列参数集、画面参数集或条带段头中。此外,可针对编码单元编码残差信号预测信息。
[0357]
图22示出根据示例的当前块和参考样点。
[0358]
随后将描述的对参考样点的处理可被用于在参考样点被更新之前确定参考样点的值,并且可在以上已参照图16被描述的步骤910之前由帧内预测单元120执行。此外,随后将描述的对参考样点的处理可对应于以上已参照图18被描述的步骤1010。
[0359]
在图22中,绘出了当前块1100、上方邻近线1110、左侧邻近线1120和左上方样点1130。
[0360]
当前块1100的参考样点可包括上方邻近线1110、左侧邻近线1120和左上方样点1130。可选地,当前块1100的参考样点可以是上方邻近线1110、左侧邻近线1120和左上方样点1130中的至少一些。帧内预测单元120可根据用于当前块的帧内预测模式来选择上方邻近线1110、左侧邻近线1120和左上方样点1130的像素中的至少一些像素作为参考样点。
[0361]
上方邻近线1110可以是与当前块1100的顶部相邻的水平线。左侧邻近线1120可以是与当前块1100的左端相邻的垂直线。左上方样点1130可以是与当前块1100的左上部分相邻的样点。
[0362]
上方邻近线1100的最左侧样点的x坐标可以与当前块1100的最左侧样点的x坐标相同。在当前块1100的尺寸是n
×
n时,上方邻近线1110的长度可以是2n。这里,n可以是整数1或更大的整数。上方邻近线1110可包括2n
×
1个像素。
[0363]
左侧邻近线1120的最上方样点的y坐标可以与当前块1100的最上方像素的y坐标相同。在当前块1100的尺寸是n
×
n时,左侧邻近线1120的长度可以是2n。左侧邻近线1120可包括1
×
2n个像素。
[0364]
左上方样点1130的x坐标可以是通过从当前块1100的最左侧像素的x坐标减去1而获得的值。左上方样点1130的y坐标可以是通过从当前块1100的最左侧像素的y坐标减去1而获得的值。
[0365]
以上描述的样点可用于对当前块进行帧内预测。
[0366]
用于帧内预测的参考样点可具有经由预测和重建而被重建的亮度值,而不是原始图像的像素的亮度值。例如,在对当前块1100进行编码之前,当前块1100的邻近块可被编码。经由编码过程中的预测和重建,邻近块中的像素的亮度值可被重建。参考样点可以是邻近块中的一些像素。此外,参考样点的亮度值可以是在后处理滤波被应用之前的值。
[0367]
当在当前块1100附近不存在可用的参考样点时,帧内预测单元120可执行参考样点填充,在参考样点填充中,使用在可用的邻近样点(即,像素)之中的最靠近当前块1100的样点。通过所述参考样点填充的方式,可产生参考样点的亮度值。
[0368]
帧内预测单元120可根据当前块1100的尺寸、帧内预测模式等来执行参考样点滤波以减少由量化误差引起的预测误差。
[0369]
图23示出根据示例的用于考虑邻近块的水平梯度来更新参考样点的方法。
[0370]
在图23中,圆圈可表示样点(或像素)。实线矩形可表示块。
[0371]
在图23中,绘出了当前块1210、参考样点块1220、参考样点1221和邻近块1230。
[0372]
当前块被示出为具有4
×
4尺寸的块。块的尺寸可表示相应块的宽度和高度。
[0373]
参考样点块1220可以是包括用于当前块1210的参考样点1221的块。参考样点块1220可以是与当前块1210相邻并与当前块1210具有相同尺寸的块。
[0374]
通过参考样点的更新,参考样点1221被示出为分别具有值i’、j’、k’和l’。所示出的参考样点可以是使用以下方法而被构造的样点:所述方法用于在当前块中根据帧内预测模式在邻近样点之中产生参考样点。
[0375]
在图23中,绘出了当用于当前块1210的帧内预测模式是水平预测模式时由帧内预测单元120产生的参考样点。
[0376]
在邻近块1230中的虚线可指示由邻近块1230中的样点定义的水平线。邻近块1230上的粗实线可表示所述水平线中包括的样点的梯度。

dx表示梯度值。
[0377]
在图23中,示出了这样的示例:在样点的水平线中,样点值从左到右均匀地增大然后均匀地减小。
[0378]
邻近块1230可以是在当前块1210的编码和/或解码之前已被重建的块。
[0379]
用于对参考样点进行更新的邻近块可不同于用于对当前块进行帧内残差预测的邻近块。如以上参照图16和图20所描述的,用于对当前块进行帧内残差预测的邻近块可被称为第一邻近块。此外,用于对参考样点进行更新的邻近块可被称为第二邻近块。第一邻近块和第二邻近块可彼此相同或彼此不同。此外,第一邻近块可包括第二邻近块,或者第二邻近块可包括第一邻近块。
[0380]
例如,当帧内预测模式是水平预测模式时,参考样点可以是与当前块1210的左端相邻的样点。可选地,参考样点可以是在与当前块1210的左端相邻的垂直线中的样点。参考
样点块1220可以是与当前块1210的左端相邻的块。此外,邻近块1230可以是用于将当前块1210的上方邻近块与当前块1210的左上方邻近块彼此相加的块。当前块1210的上方邻近块可以是与当前块1210的顶部相邻的块。当前块1210的左上方邻近块可以是与当前块1210的左上部分相邻的块。上方邻近块和左上方邻近块可以彼此相邻。
[0381]
在当前块1210的尺寸是n
×
n时,上方邻近块和左上方邻近块中的每一个的尺寸可以是n
×
n,并且邻近块1230的尺寸可以是2n
×
n。在图23中,该邻近块的尺寸被示出为8
×
4。
[0382]
此外,在当前块1210的尺寸是n
×
n时,上方邻近块和左上方邻近块中的每一个的尺寸可以是an
×
bn,并且邻近块1230的尺寸可以是2an
×
bn。这里,“a”和“b”可分别是实数。
[0383]
此外,上方邻近块、左上方邻近块和邻近块1230中的每一个可具有预定义的尺寸或者根据预定义的方案而确定的尺寸。
[0384]
随后将被描述的编码设备800的帧内预测单元120和解码设备2300的帧内预测单元240可使用具有相同尺寸的上方邻近块、左上方邻近块和邻近块。编码设备800可设置上方邻近块、左上方邻近块和邻近块1230中的每一个的尺寸。上方邻近块的尺寸、左上方邻近块的尺寸和邻近块1230的尺寸在解码设备2300中必需被相等地使用。设置的尺寸可通过比特流从编码设备800被发送到解码设备2300。
[0385]
参考样点的更新可被认为是对用于帧内预测的当前块的邻近参考样点的重建。
[0386]
当对第二邻近块执行帧内预测时,根据空间相关性,当前块也可以具有方向性与第二邻近块的纹理的方向性类似的纹理。为了反映这种方向性,帧内预测单元120可在执行针对当前块的帧内预测之前对进行帧内预测所需的参考样点的值进行更新。
[0387]
帧内预测单元120可基于第二邻近块的方向性通过使用方向梯度图案对参考样点进行改进,使得参考样点变得与当前块中的样点相似。
[0388]
在以上参照图16所描述的步骤915和以上参考图19所描述的步骤1022,帧内预测单元120可检测第二邻近块的梯度图案,并计算梯度。随后将参照图24详细地描述根据示例的梯度图案检测方法。
[0389]
在以上参照图16所描述的步骤915和以上参照图19所描述的步骤1022,帧内预测单元120可检测第二邻近块中的行的梯度图案。帧内预测单元120可检查第二邻近块中的多个行的多个梯度图案是否彼此相同。当第二邻近块中的多个行的多个梯度图案彼此相同时,帧内预测单元120可计算第二邻近块的梯度。这里,第二邻近块的梯度可以是第二邻近块中的单个被选择的行的梯度。例如,第二邻近块的梯度可以是在第二邻近块中的多个行之中的与当前块1210相邻的行的梯度。帧内预测单元120可将第二邻近块中的多个行中的与当前块1210相邻的行的梯度确定为第二邻近块的最终梯度。
[0390]
此外,在步骤915和步骤1022,帧内预测单元120可基于当前块的邻近块来确定或更新参考样点的值。帧内预测单元120可基于第二邻近块的梯度图案来确定或更新参考样点的值。
[0391]
可由帧内预测单元120将参考样点的值从更新之前的值改变到更新之后的值,并且在更新之前的参考样点的值可以是当包括该参考样点的参考样点块1220被预测和重建时所产生的值。换句话说,当参考样点块1220被预测和重建时,参考样点的值可被确定,并且当参考样点被更新时,此值可被用作更新之前的值。在预测和重建参考样点时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的预测和重建方法。
[0392]
一旦梯度

dx被计算,帧内预测单元120就可以使用预定义的方法来确定或更新参考样点的值。
[0393]
例如,当帧内预测模式是水平预测模式时,帧内预测单元120可使用以下的等式2来确定或更新参考样点的值:
[0394]
[等式2]
[0395]
i'=i

w*f(

dx)
[0396]
j'=j

w*f(

dx)
[0397]
k'=k

w*f(

dx)
[0398]
l'=l

w*f(

dx)
[0399]
其中,f表示函数。w表示权重。i表示在更新之前的在参考样点1221中的最上方样点的值。i’表示在更新之后的所述最上方样点的值。j、k和l表示在更新之前的相应参考样点的值,j’、k’和l’表示在更新之后的相应参考样点的值。
[0400]
如等式2中所述,帧内预测单元120可通过将基于梯度的减法应用于先前的参考样点i、j、k和l来产生改进后的参考样点i’、j’、k’和l’。此外,当对参考样点的值进行更新时,帧内预测单元120可考虑权重因子w。帧内预测单元120可通过从更新之前的参考样点的值减去基于梯度

dx而确定的值与预定义的权重因子w的乘积来对相应参考样点的值进行更新。通过这种更新的方式,参考样点的值可被减少w*f(

dx)。
[0401]
可存在多个参考样点。在所述多个参考样点之间,权重因子w可彼此相同。可选地,在所述多个参考样点之间,权重因子w可彼此不同。例如,对于所述多个参考样点中的各个位置,权重因子w可彼此不同。各个参考样点的位置可以是相对于当前块1210的位置。
[0402]
帧内预测单元120可将以上描述的参考样点更新方法与现有的方法组合。例如,当执行以上参照图18描述的对参考样点的更新时,在步骤1010,帧内预测单元120可不使用参考样点执行填充。此外,当执行以上参照图18描述的对参考样点的更新时,在步骤1020,帧内预测单元120可不执行使用低通滤波器进行的平滑。
[0403]
图24示出根据示例的用于获得梯度图案的方法。
[0404]
如以上参照图13所描述的,可基于当前块的位置来选择第二邻近块。例如,帧内预测单元120可在基于当前块的位置而重建的块之中根据帧内预测模式将位于预定义位置处的块选为第二邻近块。此外,帧内预测单元120可对所选择的第二邻近块的梯度图案进行分析。
[0405]
如以上参照图23所描述的,可基于当前块的尺寸来确定第二邻近块的尺寸。例如,在当前块的尺寸是n
×
n时,第二邻近块的尺寸可以是2n
×
n。编码设备800可设置第二邻近块的尺寸。这种设置的尺寸必需也在解码设备2300中被相等地使用。设置的尺寸可通过比特流从编码设备800被发送到解码设备2300。
[0406]
在图24中,第二邻近块被示出为单个线。所述单个线可以是邻近块中的行或列。在图23中,第二邻近块的尺寸被示出为8
×
4,在图24中,第二邻近块的所述单个线被示出为8
×
1。
[0407]
帧内预测单元120可针对每个线计算一个或更多个样点梯度。所述一个或更多个样点梯度中的每一个梯度可以是线中的两个相邻样点之间的梯度。由于单个线可包括多个样点,因此帧内预测单元120可针对所述单个线获取多个样点梯度。作为一个或更多个样点
梯度的示例,在图24中绘出了

dx1、

dx2、

dx3、

dx4、

dx5、

dx6和

dx7。例如,

dx1可以是所述单个线上的第一个样点和第二个样点之间的梯度。
[0408]
帧内预测单元120可针对第二邻近块中的每个线计算一个或更多个样点梯度。
[0409]
帧内预测单元120可基于一个或更多个样点梯度计算线梯度。例如,线梯度可以是1)一个或更多个样点梯度的中值、2)一个或更多个样点梯度的平均值、或者3)一个或更多个样点梯度的预定义的代表值。
[0410]
预定义的代表值可以总具有正值。
[0411]
当一个或更多个样点梯度的中值被用作线梯度时,可使用以下的等式3。
[0412]
[等式3]
[0413]
f(

dx)=median(||x1|,|dx2|,|dx3|,|dx4|,|dx5|,|dx6|,|dx7|)
[0414]
其中,

dx可表示线梯度。
[0415]
当计算线梯度时,帧内预测单元120可针对各个样点梯度将权重应用于一个或更多个样点梯度。
[0416]
通过以上描述的方案,帧内预测单元120可针对第二邻近块中的一个或更多个线计算一个或更多个线梯度。
[0417]
当计算出线梯度时,帧内预测单元120可基于一个或更多个线梯度计算第二邻近块的梯度。例如,第二邻近块的梯度可以是1)一个或更多个线梯度的中值、2)一个或更多个线梯度的平均值、或3)一个或更多个线梯度的预定义的代表值。可选地,当计算第二邻近块的梯度时,帧内预测单元120可针对各个线梯度将权重应用于一个或更多个线梯度。
[0418]
计算出的第二邻近块的梯度可被用作用于对参考样点进行更新的最终梯度。
[0419]
例如,如图24中所示,当线的样点梯度增大然后减小时,可通过从先前被产生为图23的当前块1210的参考样点1221的参考样点i、j、k和l减去各个线梯度来获得更新后的样点值i’、j’、k’和l’。
[0420]
如以上关于第二邻近块的样点梯度、线梯度和梯度所描述的,帧内预测单元120可基于在属于第二邻近块中的一行的多个参考样点之中的两个邻近参考样点之间的梯度值来确定参考样点的值。
[0421]
可选地,帧内预测单元120可将单个线的线梯度用作与该线相应的参考样点的梯度。例如,线与具有相同的相对位置的参考样点可彼此对应。在另一个示例中,帧内预测单元120可使用一个或更多个线中的最上方线的线梯度来对一个或更多个参考样点之中的最上方参考样点进行更新。可选地,帧内预测单元120可使用一个或更多个线之中的与当前块1210相邻的线的线梯度来对参考样点进行更新。
[0422]
当计算第二邻近块的梯度时,帧内预测单元120可选择第二邻近块的所有线中的一些线。帧内预测单元120可使用所选择的线的线梯度来计算第二邻近块的梯度。帧内预测单元120可从第二邻近块的所有线之中选择位于预定义位置的线或预定义数量的线。帧内预测单元120可设置用于从第二邻近块的所有线之中仅选择一些线的方案。所设置的方案可通过比特流从编码设备800被发送到解码设备2300。
[0423]
当计算线的线梯度时,帧内预测单元120可从相应线中的所有样点之中仅选择一些样点。换句话说,每个线的一个或更多个样点梯度不一定需要针对相应线中的所有样点来被计算。帧内预测单元120可计算围绕图23中的中心虚线的左右对称区域的各个线梯度。
例如,帧内预测单元120可针对每条线的左侧的样点计算相应线的一个或更多个样点梯度,并且可基于计算出的一个或更多个样点梯度来计算线梯度。此外,帧内预测单元120可针对每个线的右侧的样点计算相应线的一个或更多个样点梯度,并且可基于计算出的一个或更多个样点梯度来计算线梯度。
[0424]
帧内预测单元120可针对根据预定义方案从每个线中的样点之中选择的样点计算相应线的一个或更多个样点梯度,并且可基于计算出的一个或更多个样点梯度来计算线梯度。当线梯度被计算时,线的尺寸(或样点的数量)可大于或小于第二邻近块的宽度2n。帧内预测单元120可使用一些所选样点之间的样点梯度来计算线的线梯度。帧内预测单元120可从线中的所有样点之中选择位于预定义位置处的样点或者预定义数量的样点。帧内预测单元120可设置用于从相应线中的所有样点之中仅选择一些样点的方案。所设置的方案可通过比特流从编码设备800被发送到解码设备2300。
[0425]
帧内预测单元120可从当前块的所有参考样点之中选择将被应用更新的一些参考样点。帧内预测单元120可从当前块的所有参考样点之中选择将被应用更新的参考样点的数量。例如,帧内预测单元120可仅更新图23的参考样点1221中的一些参考样点。
[0426]
帧内预测单元120可根据当前块的属性从当前块的所有参考样点之中选择将被应用更新的一些参考样点。此外,帧内预测单元120可根据当前块的属性从当前块的所有参考样点之中选择将被应用更新的参考样点的数量。
[0427]
例如,当前块的属性可以是当前块的尺寸。帧内预测单元120可根据当前块的尺寸使用不同的方案从当前块的所有参考样点之中选择将被应用更新的一些参考样点。
[0428]
例如,考虑当前块的尺寸相对较大(例如16
×
16或32
×
32)的情况,随着当前块的尺寸增大,当前块的参考样点的数量可增大。当参考样点的数量变得较大时,与基于方向性的梯度图案的相关性可能相对降低。在这种情况下,编码设备800可基于梯度来确定将被更新的参考样点的数量。
[0429]
可通过比特流将用于从参考样点之中选择将被应用更新的一些参考样点以及从参考样点之中选择将被应用更新的一些参考样点的数量的方案从编码设备800发送到解码设备2300。
[0430]
图25示出根据示例的用于考虑邻近块的垂直梯度来更新参考样点的方法。
[0431]
在图25中,圆圈可表示样点(或像素)。实线矩形可表示块。
[0432]
在图25中,绘出了当前块1410、参考样点块1420、参考样点1421和邻近块1430。
[0433]
当前块被示出为尺寸为4
×
4的块。块的尺寸可表示块的宽度和高度。
[0434]
参考样点块1420可以是包括用于当前块1410的参考样点1421的块。参考样点块1420可以是与当前块1410相邻并与当前块1410具有相同尺寸的块。
[0435]
通过对参考样点的更新,参考样点1421被示出为分别具有值a’、b’、c’和d’。所示出的参考样点可以是使用以下方法而被构造的样点:所述方法用于根据帧内预测模式在当前块附近的邻近样点之中产生参考样点。
[0436]
在图25中,示出了当用于当前块1310的帧内预测模式是垂直预测模式时由帧内预测单元120产生的参考样点。
[0437]
邻近块1430中的虚线可表示邻近块1430中的像素的垂直线。邻近块1430中的粗实线可表示各个垂直线中包括的样点的梯度。

dx可表示梯度值。
[0438]
在图25中,示出了这样的示例:在样点的垂直线中,样点值从上到下均匀地增大然后均匀地减小。
[0439]
邻近块1430可以是在当前块1410的编码和/或解码之前已被重建的块。
[0440]
用于对参考样点进行更新的邻近块可不同于用于对当前块进行帧内残差预测的邻近块。如以上参照图16所描述的,用于对当前块进行帧内残差预测的邻近块可被称为第一邻近块。此外,用于对参考样点进行更新的邻近块可被称为第二邻近块。第一邻近块和第二邻近块可彼此相同或彼此不同。此外,第一邻近块可包括第二邻近块,或者第二邻近块可包括第一邻近块。
[0441]
例如,当帧内预测模式是垂直预测模式时,参考样点可以是与当前块1410的顶部相邻的样点。可选地,参考样点可以是在与当前块1210的顶部相邻的水平线中的样点。参考样点块1420可以是与当前块1410的顶部相邻的块。此外,邻近块1430可以是用于将当前块1410的左侧邻近块与当前块1410的左上方邻近块彼此相加的块。当前块1410的左侧邻近块可以是与当前块1410的左端相邻的块。当前块1410的左上方邻近块可以是与当前块1410的左上部分相邻的块。左侧邻近块和左上方邻近块可以彼此相邻。
[0442]
在当前块1410的尺寸是n
×
n时,左侧邻近块和左上方邻近块中的每一个的尺寸可以是n
×
n,并且邻近块1430的尺寸可以是n
×
2n。在图22中,邻近块的尺寸被示出为8
×
4。
[0443]
此外,在当前块1410的尺寸是n
×
n时,上方邻近块和左上方邻近块中的每一个的尺寸可以是an
×
bn,并且邻近块1430的尺寸可以是an
×
2bn。这里,“a”和“b”可以分别是实数。
[0444]
此外,上方邻近块、左上方邻近块和邻近块1430中的每一个可具有预定义的尺寸或根据预定义方案被确定的尺寸。
[0445]
随后将被描述的编码设备800的帧内预测单元140和解码设备2300的帧内预测单元240可使用具有相同尺寸的上方邻近块、左上方邻近块和邻近块。编码设备800可设置上方邻近块、左上方邻近块和邻近块1430中的每一个的尺寸。上方邻近块的尺寸、左上方邻近块的尺寸和邻近块1430的尺寸在解码设备2300中必需被相等地使用。设置的尺寸可通过比特流从编码设备800被发送到解码设备2300。
[0446]
对参考样点的更新可被认为是对用于帧内预测的当前块的邻近参考样点的重建。
[0447]
当对第二邻近块执行帧内预测时,根据空间相关性,当前块也可以具有方向性与第二邻近块的纹理的方向性类似的纹理。为了反映这种方向性,帧内预测单元120可在执行针对当前块的帧内预测之前对进行帧内预测所需的参考样点的值进行更新。
[0448]
帧内预测单元120可基于第二邻近块的方向性通过使用方向梯度图案对参考样点进行更新,使得参考样点变得与当前块中的样点相似。
[0449]
在以上参照图16所描述的步骤915和以上参考图19所描述的步骤1022,帧内预测单元120可检测第二邻近块的梯度图案,并可计算梯度。
[0450]
在以上参照图16所描述的步骤915和以上参考图19所描述的步骤1022,帧内预测单元120可检测第二邻近块中的多个列的多个梯度图案。帧内预测单元120可检查第二邻近块中的多个列的多个梯度图案是否彼此相同。当第二邻近块中的多个列的多个梯度图案彼此相同时,帧内预测单元120可计算第二邻近块的梯度。这里,第二邻近块的梯度可以是第二邻近块中的单个被选择的列的梯度。例如,第二邻近块的梯度可以是在第二邻近块中的
多个列之中的与当前块1410相邻的列的梯度。帧内预测单元120可将第二邻近块中的多个列之中的与当前块1410相邻的列的梯度确定为第二邻近块的最终梯度。
[0451]
此外,在步骤915和步骤1022,帧内预测单元120可基于当前块的邻近块来确定或更新参考样点的值。帧内预测单元120可基于第二邻近块的梯度图案来确定或更新参考样点的值。
[0452]
可由帧内预测单元120将参考样点的值从更新之前的值改变到更新之后的值,并且在更新之前的参考样点的值可以是当包括该参考样点的参考样点块1420被预测和重建时所产生的值。换句话说,当参考样点块1420被预测和重建时,参考样点的值可被确定,并且当参考样点被更新时,此值可被用作更新之前的值。在预测和重建参考样点时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的预测和重建方法。
[0453]
一旦梯度

dx被计算,帧内预测单元120可使用预定义的方法来确定或更新参考样点的值。
[0454]
例如,当帧内预测模式是垂直预测模式时,帧内预测单元120可使用以下的等式4来确定或更新参考样点的值:
[0455]
[等式4]
[0456]
a'=a w*f(

dx)
[0457]
b'=b w*f(

dx)
[0458]
c'=c w*f(

dx)
[0459]
d'=d w*f(

dx)
[0460]
其中,f表示函数。w表示权重。a表示在更新之前的在参考样点1421中的最上方样点的值。a’表示在更新之后的所述最上方样点的值。b、c和d表示在更新之前的相应参考样点的值,b’、c’和d’表示在更新之后的相应参考样点的值。
[0461]
如等式4中所述,帧内预测单元120可通过将基于梯度的减法应用于先前的参考样点a、b、c和d来产生改进后的参考样点a’、b’、c’和d’。此外,当对参考样点的值进行更新时,帧内预测单元120可考虑权重因子w。帧内预测单元120可通过将基于梯度

dx而确定的值与预定义的权重因子w的乘积和更新之前的参考样点的值相加来对相应参考样点的值进行更新。通过这种更新的方式,参考样点的值可被增大w*f(

dx)。
[0462]
可存在多个参考样点。在所述多个参考样点之间,权重因子w可彼此相同。可选地,在所述多个参考样点之间,权重因子w可彼此不同。例如,对于所述多个参考样点中的各个位置,权重因子w可彼此不同。各个参考样点的位置可以是相对于当前块1410的位置。
[0463]
帧内预测单元120可将以上描述的对参考样点更新方法与现有的方法组合。例如,当执行以上参照图18描述的对参考样点的更新时,在步骤1110,帧内预测单元120可不使用参考样点执行填充。此外,当执行以上参照图18描述的对参考样点的更新时,在步骤1020,帧内预测单元120可不执行使用低通滤波器进行的平滑。
[0464]
梯度图案的类型
[0465]
以上参照图23至图25描述的基于方向性的梯度图案可被分类为预定义的类型。例如,梯度图案的类型可包括以下项中的至少一项:1)增大、2)减小、3)增大和饱和、4)减小和饱和、5)饱和和增大、6)饱和和减小、7)对称地增大和减小、以及8)对称地减小和增大。在以下描述中,将描述以上的类型。
[0466]
1)“增大”表示样点的值根据方向增大的梯度图案。所述方向可以是从左到右的方向。可选地,所述方向可以是从上到下的方向。
[0467]
2)“减小”可表示样点的值根据方向减小的梯度图案。
[0468]
3)“增大和饱和”可表示样点的值根据方向在前面的部分增大并在后面的部分保持在恒定值的梯度图案。
[0469]
4)“减小和饱和”可表示样点的值根据方向在前面的部分减小并在后面的部分保持在恒定值的梯度图案。
[0470]
5)“饱和和增大”可表示样点的值根据方向在前面的部分保持在恒定值并在后面的部分增大的梯度图案。
[0471]
6)“饱和和减小”可表示样点的值根据方向在前面的部分保持在恒定值并在后面的部分减小的梯度图案。
[0472]
7)“对称地增大和减小”可表示样点的值根据方向在前面的部分增大并在后面的部分减小的左右对称的梯度图案。
[0473]
8)“对称地减小和增大”可表示样点的值根据方向在前面的部分减小并在后面的部分增大的左右对称的梯度图案。
[0474]
以上描述的“增大”可以是恒定增大或非恒定增大。此外,以上描述的“减小”可以是恒定减小或非恒定减小。
[0475]
帧内预测单元120可根据当前块的第二邻近块的梯度图案的类型来确定参考样点的值。例如,当梯度图案是“增大”图案、“减小”图案、“增大和饱和”图案、“减小和饱和”图案、“饱和和增大”图案以及“饱和和减小”图案之一时,帧内预测单元120可基于“增大”线或“减小”线的梯度值来确定参考样点的值。
[0476]
当梯度图案的类型是“对称”图案时,帧内预测单元120可基于形成对称梯度图案的两条线的梯度值来确定参考样点的值。例如,如以上参照图22所描述的,当梯度图案的类型是“对称增大和减小”时,可应用等式2中给出的更新。例如,帧内预测单元120可通过从更新之前的参考样点的值减去基于梯度

dx所确定的值与预定义的权重w的乘积来更新每个参考样点的值。通过该更新,参考样点的值可减小w*f(

dx)。例如,如以上参照图24所描述的,当梯度图案的类型是“对称的减小和增大”时,可应用等式3的更新。例如,帧内预测单元120可通过将基于梯度

dx所确定的值与预定义的权重w的乘积和更新之前的参考样点的值相加来更新参考样点的值。通过该更新,参考样点的值可增大w*f(

dx)。
[0477]
使用编码参数来检测梯度图案
[0478]
除了以上描述的实施例,帧内预测单元120可使用编码参数来检测梯度图案。例如,编码参数可包括1)与帧内预测相关地被预定义的语法、2)编码变量、3)当前编码单元、4)预测单元、5)变换单元的尺寸、以及6)编码单元进行分区或不进行分区。例如,帧内预测单元120可使用编码参数来确定与邻近块相关的值。邻近块可以是以上参照图23所描述的邻近块1230或以上参照图25所描述的邻近块1430。与邻近块相关的值可包括邻近块的尺寸。帧内预测单元120可使用编码参数来确定邻近块的梯度。帧内预测单元120可使用编码参数来确定更新将被应用于的参考值的范围。此外,帧内预测单元120可使用编码参数来确定加权因子。
[0479]
梯度的扩展使用
[0480]
帧内预测单元120可将邻近块的梯度应用于预测块的像素值,而不是应用于参考样点。帧内预测单元120可固定参考样点的值,并且可使用邻近块的梯度来更新预测块的像素值。由于预测块的像素值被直接更新,因此可获取与参考样点的值被更新时所获得的效果相同的效果。
[0481]
在以上描述的实施例中,根据邻近块的梯度而执行的参考样点的更新也可被同样应用于预测块。例如,对一行中的参考样点执行的更新也可同样被应用于预测块的多个行中的每一行。可选地,例如,对一列中的参考样点执行的更新也可同样被应用于预测块的多个列中的每一列。帧内预测单元120也可使用编码参数按照与被用于更新参考样点的方式相同的方式来更新预测块。换句话说,帧内预测单元120可基于编码参数来更新预测块的像素值。
[0482]
图26示出根据示例的具有33种角模式的帧内预测。
[0483]
图27示出根据示例的具有65种角模式的帧内预测。
[0484]
在以上参照图16所描述的步骤920以及以上参照图18所描述的步骤1030,帧内预测单元120可通过对当前块执行帧内预测来产生当前块的预测块。当对当前块执行帧内预测时,帧内预测单元120可使用更新后的(或改进后的)参考样点。帧内预测单元120可使用更新后的(或改进后的)参考样点来产生当前块的预测块。
[0485]
帧内预测单元120可通过以上描述的对参考样点的更新来配置用于当前块的邻近参考样点。帧内预测单元120可以在一个或更多个帧内模式下产生当前块的一个或更多个预测块。所述一个或更多个帧内预测可具有角模式。
[0486]
帧内预测单元120可在一个或更多个预测块中确定具有最小率失真值的预测块。帧内预测单元120可将与该预测块相应的帧内模式选为最终帧内预测模式。可选地,帧内预测单元120可将产生具有最小率失真值的预测块的帧内模式选为最终帧内预测模式。
[0487]
在图26中,示出了具有33种角模式的帧内模式。在图27中,示出了具有65种角模式的帧内模式。此外,模式0可表示平面模式。模式1可表示dc模式。
[0488]
图28示出根据实施例的图像区域。
[0489]
在图28中,绘出了图像的部分1600。图像的部分1600可包括当前块1610、邻近块1620、重建区域1630、邻近块参考样点1631和当前块参考样点1632。
[0490]
邻近块参考样点1631可以是用于对邻近块执行帧内预测的参考样点。当前块参考样点1632可以是用于对当前块执行帧内预测的参考样点。
[0491]
邻近块参考样点1631的样点值可以是当在步骤915和步骤1022针对邻近块1620执行参考样点的更新时的更新后的值。
[0492]
当前块参考样点1632的样点值可以是当在步骤915和步骤1022针对当前块1610执行参考样点的更新时的更新后的值。
[0493]
图28中示出的当前块1610、邻近块1620、邻近块参考样点1631和当前块参考样点1632可表示当邻近块1620的帧内预测模式和当前块1610的帧内预测模式都是垂直预测模式时的相对位置。例如,当帧内预测模式是垂直预测模式时,在图16和图20中描述的第一邻近块可以是与当前块的左端相邻的块。当前块参考样点可以是在与当前块的顶部相邻的水平线中的像素。此外,邻近块参考样点可以是在与邻近块的顶部相邻的水平线中的像素。
[0494]
图29示出根据示例的用于计算邻近块的残差信号的方法。
[0495]
在图29中,示出了邻近块1710、邻近块的预测块1720以及邻近块的残差信号1730。在图29中,以行列式的形式描述了作为邻近块的残差信号的“intra
邻近块_残差信号”。
[0496]
邻近块1710可与以上参照图16和图20所描述的第一邻近块相应。可选地,邻近块1710可与以上参照图28所描述的邻近块1620相应。
[0497]
残差信号可与以上参照图16和图20所描述的“第一邻近块的残差信号”相应。
[0498]
如图29中所示,残差信号1730可以是邻近块1710与预测块1720之间的差。可选地,残差信号1730可以是从邻近块1710减去预测块1720的结果。
[0499]
可基于邻近块1710的帧内预测模式来确定预测块1720的值。
[0500]
例如,如图29中所示,当邻近块1710的帧内预测模式是垂直预测模式时,预测块1720中的各个行的值可以是邻近块1710中的参考像素的值。换句话说,当邻近块1710的帧内预测模式是垂直预测模式时,预测块1720中的各个行的值可以是在与邻近块1710的顶部相邻的水平线中的像素的值。
[0501]
可选地,当邻近块1710的帧内预测模式是水平预测模式时,预测块1720中的各个列的值可以是邻近块1710中的参考样点的值。换句话说,当邻近块1710的帧内预测模式是水平预测模式时,预测块1720中的各个列的值可以是在与邻近块1710的左端相邻的垂直线中的像素的值。
[0502]
除了垂直预测模式和水平预测模式之外,在其它帧内预测模式下,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的预测块产生方法。
[0503]
图30示出根据示例的用于计算当前块的残差信号的方法。
[0504]
在图30中,绘出了当前块1810、当前块的预测块1820和当前块的残差信号1830。在图30中,按照行列式的形式描述了作为当前块的残差信号的intra
当前块_残差信号

[0505]
当前块1810可与以上参照图16和图18所描述的当前块相应。可选地,当前块1810可与以上参照图28所描述的当前块1610相应。
[0506]
残差信号1830可与以上参照图16和图20所描述的“当前块的第二残差信号”相应。
[0507]
如图30中所示,残差信号1830可以是当前块1810与预测块1820之间的差。可选地,残差信号1830可以是从当前块1810减去预测块1820的结果。
[0508]
参照图30,残差信号1830中的值的总和是560。换句话说,残差信号1830的级别总和是560。
[0509]
可基于当前块1810的帧内预测模式来确定预测块1820的值。
[0510]
例如,如图30中所示,在当前块1810的帧内预测模式是垂直预测模式时,预测块1820中的各个行的值可以是邻近块中的参考像素的值。换句话说,在当前块1810的帧内预测模式是垂直预测模式时,预测块1820中的各个行的值可以是在与当前块1810的顶部相邻的水平线中的像素的值。
[0511]
可选地,在当前块1810的帧内预测模式是水平预测模式时,预测块1820中的各个列的值可以是邻近块中的参考样点的值。换句话说,当当前块1810的帧内预测模式是水平预测模式时,预测块1820中的各个列的值可以是在与当前块1810的左端相邻的垂直线中的像素的值。
[0512]
参照图30描述的用于计算当前块1810的残差信号1830的方法可对应于在以上参照图16所描述的步骤940以及在以上参照图20所描述的步骤1045的当前块的第二残差信号
的产生。
[0513]
此外,参照图30所描述的用于计算当前块1810的残差信号1830的方法可对应于在步骤940和步骤1045的当前块的第三残差信号的产生。
[0514]
下面将参照图31详细地描述在根据实施例的对残差信号进行预测之后所产生的残差信号。
[0515]
图31示出根据示例的残差信号预测方法。
[0516]
在图31中,示出了当前块的残差信号1910、邻近块的残差信号1920和当前块的预测残差信号1930。在图31中,以行列式的形式描述了作为当前块的预测残差信号的intra
预测残差信号

[0517]
图31可示出在图16的步骤950和在图20的步骤1042的对残差信号的预测。
[0518]
当前块的残差信号1910可对应于以上参照图30所描述的当前块的残差信号1830。可选地,当前块的残差信号1910可对应于以上参照图16和图20所描述的“当前块的第二残差信号”。
[0519]
邻近块的残差信号1920可对应于以上参照图29所描述的邻近块的残差信号1730。可选地,邻近块的残差信号1920可对应于以上参照图16和图20所描述的“第一邻近块的残差信号”。
[0520]
当前块的预测残差信号1930可对应于以上参照图16和图20所描述的“当前块的第一残差信号”。
[0521]
预测残差信号1930可以是当前块的残差信号1910与邻近块的残差信号1920之间的差。可选地,预测残差信号1930可以是从当前块的残差信号1910减去邻近块的残差信号1920的结果。
[0522]
预测残差信号1930的值的总和是267。换句话说,预测残差信号1930的级别总和是267。通过残差信号的预测,当前块的最终残差信号的级别总和从560减小到269。由于残差信号预测而导致的最终残差信号的级别总和的减小可意味着用于对当前块进行编码的残差信号本身的能量减小了。用于进行编码的残差信号本身的能量的减小可意味着进行编码所需的比特的数量减小了。因此,编码设备800可通过残差信号预测来减小比特流的容量。
[0523]
图32示出根据示例的默认残差信号。
[0524]
图32的默认残差可以是以上参照图16和图20所描述的第二残差信号的示例。换句话说,默认残差可以是在残差信号预测被执行之前的当前块的残差信号。可选地,图32的残差信号可以是以上参照图31所描述的当前块的残差信号1910的示例。
[0525]
图33示出根据示例的对默认残差信号执行离散余弦变换的结果。
[0526]
在图33中,示出了对图32的默认残差信号执行离散余弦变换的结果。
[0527]
图34示出根据示例的提出的残差信号。
[0528]
图34的提出的残差信号可以是以上参照图16和图20所描述的第一残差信号的示例。换句话说,提出的残差信号可以是基于残差信号预测的当前块的残差信号。可选地,图34中的提出的残差信号可以是以上参照图31所描述的当前块的预测残差信号1930的示例。
[0529]
图35示出根据示例的对所述提出的残差信号执行离散余弦变换的结果。
[0530]
在图35中,绘出了对图34的默认残差信号执行离散余弦变换的结果。
[0531]
参照图32至图35,可以看出,通过残差信号预测的方式提高了频域中的能量的集
中。帧内预测单元810可通过残差信号预测的方式提高当前块的残差信号的频域中的能量集中。随着频域中的系数值的幅度通过残差信号预测被减小,可提高经由量化而产生的结果值将为“0”的概率以及经由量化而产生的结果值将接近“0”的概率。
[0532]
图36示出根据示例的邻近块的位置。
[0533]
在图28中,邻近块1620被示出为与当前块1610的左端相邻。在图28中,示出了使用左侧邻近块来执行残差信号预测的情况。然而,以上参照图16和图20所描述的第一邻近块的位置可不限于当前块1610的左侧。
[0534]
如以上在图16的步骤935和图20的步骤1043所描述的,帧内残差预测单元810可将当前块的一个或更多个邻近块之一确定为第一邻近块。第一邻近块可以是用于残差信号预测的块。帧内残差预测单元810可将当前块的一个或更多个先前重建的邻近块之一确定为第一邻近块。
[0535]
当在多个邻近块中确定了第一邻近块时,帧内残差预测单元810可提高第一邻近块与残差信号的空间相关性。
[0536]
在图36中,示出了作为当前块的一个或更多个邻近块的左下方邻近块a
0 2221、左侧邻近块a
1 2222、右上方邻近块b
0 2223、上方邻近块b
1 2224和左上方邻近块b
2 2225。如图中所示,当前块的一个或更多个邻近块可包括左下方邻近块、左侧邻近块、右上方邻近块、上方邻近块和左上方邻近块。当前块的一个或更多个邻近块不限于在图36中示出的位置处的块。
[0537]
为了提高残差信号预测的效率,需要提高当前块与邻近块之间的空间相关性。为了获得具有高空间相关性的邻近块,帧内残差预测单元810可对当前块的多个邻近块中的每一个执行残差信号预测。当经由残差信号预测产生用于多个邻近块的多个残差信号时,帧内残差预测单元810可从多个残差信号中选择具有最小率失真值的最小率失真残差信号。此外,帧内残差预测单元810可从多个邻近块中选择与最小率失真残差信号相应的邻近块。帧内残差预测单元810可使用所选择的邻近块和所选择的最小率失真残差信号以便对当前块进行编码。
[0538]
例如,可对当前块的多个邻近块中的每一个执行以上参照图16所描述的步骤935、步骤940和步骤950以及以上参照图20所描述的步骤1043、步骤1044和步骤1045。这里,当前块的多个邻近块可以是与当前块相邻的一个或更多个先前重建的块中的至少一些块。多个邻近块的数量和位置可根据编码设备800的设置而改变。
[0539]
通过步骤935或步骤1043的重复,帧内残差预测单元810可顺序地选择当前块的多个邻近块作为第一块。
[0540]
通过步骤935或步骤1045的重复,帧内残差预测单元810可产生当前块的多个邻近块的多个第一残差信号。此外,帧内残差预测单元810可针对多个第一残差信号中的每一个计算率失真值。
[0541]
帧内残差预测单元810可确定在多个第一残差信号之中具有最小率失真值的最小率失真残差信号,并将与最小率失真残差信号相应的邻近块确定为被用于对当前块的残差信号进行预测的第一邻近块。
[0542]
步骤940可与步骤950的重复一起被重复,或者可仅被执行一次。步骤1044可与步骤1055的重复一起被重复,或者可仅被执行一次。
[0543]
在步骤935和步骤1043,当前块的第一邻近块可被确定用于每个编码单元。此外,在步骤985和步骤1048,可针对每个编码单元对第一邻近块的标识符进行编码。
[0544]
图37是根据实施例的解码设备的配置图。
[0545]
解码设备2300可对应于以上描述的解码设备200。解码设备2300可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波单元260和参考画面缓冲器270,并且还可包括帧内残差预测单元2310。
[0546]
熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波单元260和参考画面缓冲器270可执行与以上参照图2描述的功能和/或操作相同的功能和/或操作。因此,将省略其详细描述。
[0547]
在以上参照图16至图36描述的实施例中,被描述为由编码设备800的帧内预测单元120执行的功能和/或操作可由解码设备2300的帧内预测单元240来执行。此外,被描述为由编码设备800的帧内残差预测单元810执行的功能和/或操作可由解码设备2300的帧内残差预测单元2310来执行。
[0548]
此外,熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波单元260和参考画面缓冲器270可执行与帧内残差预测单元2310相关的功能和/或操作。下面将详细描述熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波单元260、参考画面缓冲器270和帧内残差预测单元2310的功能和/或操作。
[0549]
帧内残差预测单元2310可不与帧内预测单元240分离。帧内预测单元240和帧内残差预测单元2310可被集成到帧内预测单元240中,并且在一些实施例中,被描述为由帧内残差预测单元2310执行的功能和/或操作可由帧内预测单元240来执行。
[0550]
图38和图39是示出根据实施例的解码方法的流程图。
[0551]
在下文中,当前块可以是作为当前将被解码的目标的块或者是当前图像中的块。
[0552]
首先,参照图38,可执行步骤2410。
[0553]
在步骤2410,解码设备2310可产生当前块的残差信号。这里,如以上参照图16和图20所描述的,产生的残差信号可对应于当前块的第一残差信号。
[0554]
步骤2410可由熵解码单元210、反量化单元220和逆变换单元230中的至少一个来执行。
[0555]
步骤2410可包括步骤2411、步骤2412和步骤2413。
[0556]
在步骤2411,熵解码单元210可产生当前块的量化的系数。
[0557]
在步骤2412,反量化单元220可通过对量化的系数执行反量化来产生反量化的系数。
[0558]
在步骤2413,逆变换单元230可通过对反量化的系数执行逆变换来产生残差信号。
[0559]
在步骤2410被执行之后,可执行步骤2420和步骤2440。
[0560]
下面,将参照图39。
[0561]
在步骤2420被执行之前,可产生参考样点。以上参照图22进行的与参考样点的产生相关的描述也可被应用于本实施例。因此,将省略其重复描述。
[0562]
在步骤2420,帧内预测单元240可确定是否执行对参考样点的更新。
[0563]
这里,对参考样点的更新可被配置为在产生当前块的预测块之前对被用于产生所
述预测块的参考样点的样点值进行改进。
[0564]
帧内预测单元240可使用以上参照图16和图19所描述的指示是否执行对参考样点的更新的信息来确定是否执行对参考样点的更新。从编码设备800被发送到解码设备2300的比特流可包括指示是否执行对参考样点的更新的信息。指示是否执行对参考样点的更新的信息可被编码在比特流中。
[0565]
帧内预测单元240可对编码后的指示是否执行对参考样点的更新的信息进行解码。帧内预测单元240可使用解码的指示是否执行对参考样点的更新的信息来确定是否执行对参考样点的更新。当该信息指示将执行对参考样点的更新时,帧内预测单元240可更新参考样点。当该信息指示将不执行对参考样点的更新时,帧内预测单元240可不更新参考样点。
[0566]
如果确定执行对参考样点的更新,则可执行步骤2425。如果确定不执行对参考样点的更新,则可执行步骤2430。
[0567]
在步骤2425,帧内预测单元240可更新参考样点的值,并且通过所述更新,可确定被用于产生当前块的预测块的参考样点的值。
[0568]
以上参照图23、图24和图25进行的与对参考样点的更新相关的描述也可被应用于本实施例。在以上参照图23、图24和图25所描述的实施例中,被描述为由编码设备800的帧内预测单元120执行的功能和/或操作可由解码设备2300的帧内预测单元来执行。此外,被描述为在以上参照图16描述的步骤915和在以上参照图19描述的步骤1022执行的功能和/或操作也可在步骤2425执行。将省略其重复描述。
[0569]
在执行了步骤2425之后,可执行步骤2430。
[0570]
在步骤2430,帧内预测单元240可产生当前块的预测块。帧内预测单元240可根据用于当前块的帧内预测模式使用参考样点来产生当前块的预测块。
[0571]
例如,在产生预测单元时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的预测块产生方法。
[0572]
在执行了步骤2430之后,可执行步骤2460和步骤2490。
[0573]
在步骤2440,帧内残差预测单元2310可确定是否执行残差信号预测。
[0574]
帧内残差预测单元2310可通过使用以上参照图16和图20所描述的指示是否执行残差信号预测的信息来确定是否执行残差信号预测。从编码设备800被发送到解码设备2300的比特流可包括指示是否执行残差信号预测的信息。指示是否执行残差信号预测的信息可被编码在比特流中。
[0575]
帧内预测单元240可对编码的指示是否执行残差信号预测的信息进行解码。帧内预测单元240可通过使用解码的指示是否执行残差信号预测的信息来确定是否执行残差信号预测。当该信息指示将执行残差信号预测时,帧内预测单元240可执行残差信号预测。当该信息指示将不执行残差信号预测时,帧内预测单元240可不执行残差信号预测。
[0576]
当确定执行残差信号预测时,可执行步骤2450。
[0577]
当确定不执行残差信号预测时,可执行步骤2490。
[0578]
在步骤2450,帧内残差预测单元2310可识别第一邻近块。第一邻近块可以是被用于进行残差信号预测的块,并且可以是位于当前块附近的块。以上参照图36进行的与第一邻近块的确定相关的描述也可被应用于本实施例。
[0579]
帧内残差预测单元2310可使用以上已参照图16和图20描述的第一邻近块的标识符来识别第一邻近块。从编码设备800被发送到解码设备2300的比特流可包括第一邻近块的标识符。第一邻近块的标识符可被编码在比特流中。
[0580]
帧内残差预测单元2310可对第一邻近块的编码的标识符进行解码。帧内预测单元2310可使用第一邻近块的解码的标识符来识别第一邻近块。
[0581]
第一邻近块的标识符可以是能够标识被用于对当前块的残差信号进行预测的邻近块的信息。
[0582]
例如,第一邻近块的标识符可指示多个邻近块之中被用于对当前块的残差信号进行预测的邻近块。可选地,第一邻近块的标识符可以是指示多个邻近块之中的被用于对当前块的残差信号进行预测的邻近块的位置的位置信息。所述邻近块的位置可指示所选择的邻近块相对于当前块的相对位置。所述邻近块的位置可指示所选择的邻近块与当前块相邻的方向。
[0583]
邻近块的位置和数量可基于编码参数被限定。
[0584]
第一邻近块的标识符可被配置为在编码设备800和解码设备2300两者中指示相同的块。例如,关于第一邻近块的标识符,块的尺寸n和邻近块的位置在编码设备800和解码设备2300两者中必需彼此相同。为了使编码设备800和解码设备2300彼此共享关于第一邻近块的标识符的相同的分量,可使用“(邻近残差索引(idx)截断一元)”方案对第一邻近块的标识符进行编码。
[0585]
当执行了步骤2450和步骤2430时,可随后执行步骤2460。
[0586]
在步骤2460,帧内残差预测单元2310可产生当前块的重建块。
[0587]
帧内残差预测单元2310可基于预测块、当前块的残差信号和第一邻近块的残差信号来产生当前块的重建块。
[0588]
在步骤2460使用的当前块的残差信号可以是由编码设备800经由残差信号预测产生的残差信号。换句话说,在步骤2460使用的当前块的残差信号可对应于以上参照图16和图20所描述的第一残差信号。
[0589]
第一邻近块可以是在当前块被解码之前已被重建的块。因此,第一邻近块的残差信号可能已经在当前块被解码之前被帧内残差预测单元2310获取。
[0590]
当前块的重建块可以是当前块的预测块、当前块的残差信号以及邻近块的残差信号之和。此外,可基于当前块的残差信号和第一邻近块的残差信号之和来产生当前块的重建块。
[0591]
重建块可以是1)预测块、2)当前块的残差信号以及3)第一邻近块的残差信号之和。可根据帧内预测模式来获取预测块。当前块的残差信号可从编码设备800被发送到解码设备2300。可经由残差信号预测来获取第一邻近块的残差信号。例如,当残差信号预测未被执行时,第一邻近块的残差信号可以是值为0的信号。
[0592]
根据情况,当帧内残差预测单元2310经由残差信号预测产生第一邻近块的残差信号时,帧内预测单元240可通过对当前块的预测块、当前块的残差信号以及邻近块的残差信号求和来产生当前块的重建块。
[0593]
当执行了步骤2430并且在步骤2440确定不执行残差信号预测时,可执行步骤2490。
[0594]
在步骤2490,帧内预测单元240或帧内残差预测单元2310可基于当前块的预测块和残差信号两者来产生当前块的重建块。
[0595]
在步骤2490所使用的当前块的残差信号可以是在不执行残差信号预测的情况下由编码设备800所产生的残差信号。换句话说,在步骤2490所使用的当前块的残差信号可对应于以上参照图16和图20所描述的第三残差信号。
[0596]
第三残差信号可以是在现有的图像编码和/或解码技术(诸如hevc或avc)中的当前块的残差信号。例如,在产生第三残差信号时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的残差信号产生方法。
[0597]
图40是示出根据实施例的残差信号产生方法的流程图。
[0598]
在下文中,当前块可以是作为当前将被解码的目标的块或当前图像中的块。
[0599]
首先,参照图40,可执行步骤2510。
[0600]
在步骤2510,解码设备2310可产生当前块的残差信号。这里,产生的残差信号可对应于以上参照图16和图20所描述的当前块的第一残差信号。
[0601]
步骤2510可由熵解码单元210、反量化单元220和逆变换单元230中的至少一个来执行。
[0602]
步骤2510可包括步骤2511、步骤2512和步骤2513。
[0603]
在步骤2511,熵解码单元210可产生当前块的量化的系数。
[0604]
在步骤2512,反量化单元220可通过对量化的系数执行反量化来产生针对量化的系数的反量化的系数。
[0605]
在步骤2513,逆变换单元230可通过对反量化的系数执行逆变换来产生残差信号。
[0606]
在执行了步骤2510之后,可执行以下将参照图41描述的步骤2520。
[0607]
图41是示出根据实施例的用于对残差信号进行解码的方法的流程图。
[0608]
在步骤2520,帧内预测单元240可对编码的指示是否执行对参考样点的更新的信息进行解码。
[0609]
从编码设备800被发送到解码设备2300的比特流可包括指示是否更新参考样点的信息。指示是否执行对参考样点的更新的信息可被编码在比特流中。
[0610]
在步骤2530,帧内预测单元240可对编码的指示是否执行残差信号预测的信息进行解码。
[0611]
从编码设备800被发送到解码设备2300的比特流可包括指示是否执行残差信号预测的信息。指示是否执行残差信号预测的信息可被编码在比特流中。
[0612]
在步骤2540,帧内残差预测单元2310可对第一邻近块的编码的标识符进行解码。
[0613]
从编码设备800被发送到解码设备2300的比特流可包括第一邻近块的标识符。第一邻近块的标识符可被编码在比特流中。
[0614]
在步骤2550,帧内预测单元240和帧内残差预测单元2310可对残差信号进行解码。帧内预测单元240和帧内残差预测单元2310可通过对残差信号进行解码来产生重建块。
[0615]
步骤2550可包括随后将参照图42描述的步骤2561、步骤2562、步骤2563和步骤2564。
[0616]
此外,步骤2550可包括随后将参照图43描述的步骤2571、步骤2572、步骤2573和步骤2574。
[0617]
图42是示出根据实施例的预测块产生方法的流程图。
[0618]
可在步骤2561产生参考样点。以上参照图22进行的与参考样点的产生相关的描述也可被应用于本实施例。将省略其重复描述。
[0619]
在步骤2562,帧内预测单元240可确定是否执行对参考样点的更新。
[0620]
这里,对参考样点的更新可被配置为在产生当前块的预测块之前对被用于产生所述预测块的参考样点的样点值进行改进。
[0621]
帧内预测单元240可使用以上参照图16和图19所描述的指示是否执行对参考样点的更新的信息来确定是否更新参考样点。
[0622]
帧内预测单元240可使用解码的指示是否执行对参考样点的更新的信息来确定是否执行对参考样点的更新。当该信息指示将执行对参考样点的更新时,帧内预测单元240可更新参考样点。当该信息指示将不执行对参考样点的更新时,帧内预测单元240可不更新参考样点。
[0623]
当确定更新参考样点时,可执行步骤2563。当确定不更新参考样点时,可执行步骤2564。
[0624]
在步骤2563,帧内预测单元240可更新参考样点的值,并且通过所述更新,可确定被用于产生当前块的预测块的参考样点的值。
[0625]
以上参照图23、图24和图25进行的与对参考样点的更新相关的描述也可被应用于本实施例。在以上参照图23、图24和图25所描述的实施例中,被描述为由编码设备800的帧内预测单元120执行的功能和/或操作可由解码设备2300的帧内预测单元240来执行。此外,被描述为在以上参照图16描述的步骤915和在以上参照图19描述的步骤1022执行的功能和/或操作也可在步骤2563执行。将省略其重复描述。
[0626]
在执行了步骤2563之后,可执行步骤2564。
[0627]
在步骤2564,帧内预测单元240可产生当前块的预测块。帧内预测单元240可根据当前块的帧内预测模式使用参考样点来产生当前块的预测块。
[0628]
例如,在产生预测块时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的预测块产生方法。
[0629]
例如,在执行了步骤2564之后,可执行随后将参照图43描述的步骤2571。
[0630]
图43是示出根据实施例的重建块产生方法的流程图。
[0631]
在步骤2571,帧内残差预测单元2310可确定是否执行残差信号预测。
[0632]
帧内残差预测单元2310可使用以上参照图16和图20所描述的指示是否执行残差信号预测的信息来确定是否执行残差信号预测。
[0633]
帧内预测单元240可使用解码出的指示是否执行残差信号预测的信息来确定是否执行残差信号预测。当该信息指示将执行残差信号预测时,帧内预测单元240可执行残差信号预测。当该信息指示将不执行残差信号预测时,帧内预测单元240可不执行残差信号预测。
[0634]
当确定执行残差信号预测时,可执行步骤2572。
[0635]
当确定不执行残差信号预测时,可执行步骤2574。
[0636]
在步骤2572,帧内残差预测单元2310可识别第一邻近块。第一邻近块可以是被用于进行残差信号预测的块,并且可以是位于当前块附近的块。以上参照图36进行的与第一
邻近块的确定相关的描述也可被应用于本实施例。
[0637]
帧内残差预测单元2310可使用以上参照图16和图20所描述的第一邻近块的标识符来识别第一邻近块。
[0638]
帧内残差预测单元2310可使用第一邻近块的解码出的标识符来识别第一邻近块。
[0639]
第一邻近块的标识符可以是能够标识被用于对当前块的残差信号进行预测的邻近块的信息。
[0640]
例如,第一邻近块的标识符可指示多个邻近块之中的被用于对当前块的残差信号进行预测的邻近块。可选地,第一邻近块的标识符可以是指示多个邻近块之中的被用于对当前块的残差信号进行预测的邻近块的位置的位置信息。所述邻近块的位置可指示所选择的邻近块相对于当前块的位置。所述邻近块的位置可指示所选择的邻近块与当前块相邻的方向。
[0641]
邻近块的位置和数量可基于编码参数被限定。
[0642]
第一邻近块的标识符可被配置为在编码设备800和解码设备2300两者中指示相同的块。例如,关于第一邻近块的标识符,块的尺寸n和邻近块的位置在编码设备800和解码设备2300两者中必需彼此相同。为了使编码设备800和解码设备2300彼此共享关于第一邻近块的标识符的相同的分量,可使用“(邻近残差索引(idx)截断一元)”方案对第一邻近块的标识符进行编码。
[0643]
当执行了步骤2572时,可随后执行步骤2573。
[0644]
在步骤2573,帧内残差预测单元2310可产生当前块的重建块。
[0645]
帧内残差预测单元2310可基于预测块、当前块的残差信号和第一邻近块的残差信号来产生当前块的重建块。
[0646]
在步骤2573使用的当前块的残差信号可以是由编码设备800经由残差信号预测产生的残差信号。换句话说,在步骤2573使用的当前块的残差信号可对应于以上参照图16和图20所描述的第一残差信号。
[0647]
第一邻近块可以是在当前块被解码之前已被重建的块。因此,第一邻近块的残差信号可能已经在当前块被解码之前被帧内残差预测单元2310获取。
[0648]
当前块的重建块可以是当前块的预测块、当前块的残差信号和邻近块的残差信号之和。此外,可基于当前块的残差信号和第一邻近块的残差信号之和来产生当前块的重建块。
[0649]
重建块可以是1)预测块、2)当前块的残差信号以及3)第一邻近块的残差信号之和。可根据帧内预测模式来获取预测块。当前块的残差信号可从编码设备800被发送到解码设备2300。可经由残差信号预测来获取第一邻近块的残差信号。例如,当残差信号预测未被执行时,第一邻近块的残差信号可以是值为0的信号。
[0650]
根据情况,当帧内残差预测单元2310经由残差信号预测产生第一邻近块的残差信号时,帧内预测单元240可通过对当前块的预测块、当前块的残差信号以及邻近块的残差信号求和来产生当前块的重建块。
[0651]
在步骤2571,当确定不执行残差信号预测时,可执行步骤2574。
[0652]
在步骤2574,帧内预测单元240或帧内残差预测单元2310可基于当前块的预测块和残差信号来产生当前块的重建块。
[0653]
在步骤2574所使用的当前块的残差信号可以是在不执行残差信号预测的情况下由编码设备800所产生的残差信号。换句话说,在步骤2574所使用的当前块的残差信号可对应于以上参照图16和图20所描述的第三残差信号。
[0654]
第三残差信号可以是在现有的图像编码和/或解码技术(诸如hevc或avc)下的当前块的残差信号。例如,在产生残差信号时,可使用基于现有的图像编码和/或解码技术(诸如hevc或avc)的残差信号产生方法。
[0655]
与残差信号预测相关的信息的隐式传输
[0656]
如上所述,比特流可包括1)指示是否执行残差信号预测的信息和2)被用于对当前块的残差信号进行预测的第一邻近块的标识符。换句话说,该信息和标识符可被显式地从编码设备800发送到解码设备2300。
[0657]
相反,当用于减少该信息所需的比特数的预定义条件被满足时,可省略1)指示是否执行残差信号预测的信息。即使该信息被省略,解码设备2300也可在预定义条件被满足时推导出该信息。换句话说,该信息可被隐式传输。
[0658]
此外,当用于减少标识符所需的比特数的预定义条件被满足时,可省略2)被用于对当前块的残差信号进行预测的第一邻近块的标识符。即使该信息被省略,解码设备2300也可在预定义条件被满足时推导出该标识符。换句话说,该标识符可被隐式地传输。
[0659]
在以上参照图16所描述的步骤930和以上参照图20所描述的步骤1041,当预定义条件被满足时,帧内残差预测单元810可确定对当前块执行残差信号预测。可选地,当预定义条件被满足时,帧内残差预测单元810可确定不对当前块执行残差信号预测。
[0660]
此外,在步骤935和步骤1043,当预定义条件被满足时,帧内残差预测单元810可确定预定义块是第一邻近块。此外,在步骤980,可选择性地执行步骤985、步骤1048和步骤1049。
[0661]
在步骤980和步骤1049,帧内残差预测单元810可选择性地对指示是否执行残差信号预测的信息进行编码。可选地,当预定义条件被满足时,帧内残差预测单元810可省略对指示是否执行残差信号预测的信息的编码。
[0662]
在步骤985和步骤1048,帧内残差预测单元810可选择性地对第一邻近块的标识符进行编码。可选地,当预定义条件被满足时,帧内残差预测单元810可省略对第一邻近块的标识符的编码。
[0663]
在以上参照图39所描述的步骤2440,当预定义条件被满足时,帧内残差预测单元2310可确定执行残差信号预测。可选地,当预定义条件被满足时,帧内残差预测单元2310可确定不执行残差信号预测。例如,当不存在指示是否执行残差信号预测的信息时,帧内残差预测单元2310可确定执行残差信号预测。
[0664]
可选地,在步骤2440,当预定义条件被满足时,帧内残差预测单元2310可将根据预定义方案选择的块识别为第一邻近块。例如,当不存在第一邻近块的标识符时,帧内残差预测单元2310可将根据预定义方案所选择的块识别为第一邻近块。
[0665]
例如,在当前块的方向性和第一邻近块的方向性彼此相同时,当残差信号被预测时可预期高效率。因此,当在当前块附近存在与当前块具有相同的帧内预测模式的任何块时,可对具有相同的帧内预测模式的块执行当前块的残差信号的预测。
[0666]
在以上参照图16所描述的步骤930和在以上参照图20所描述的步骤1041,当在当
前块附近存在与当前块具有相同的帧内预测模式的任何块时,帧内残差预测单元810可确定对当前块执行残差信号预测。例如,当最可能模式(mpm)标志的值为“真”(或1)时,帧内残差预测单元2310可检测出在当前块附近存在具有与当前块相同的帧内预测模式的块,并可确定对当前块执行残差信号预测。因此,帧内残差预测单元2310可基于mpm标志的值来识别残差信号预测是否被使用。
[0667]
此外,在步骤935和步骤1043,当在当前块附近存在与当前块具有相同的帧内预测模式的任何块时,帧内残差预测单元810可将具有相同的帧内预测模式的块确定为第一邻近块。当在当前块附近存在与当前块具有相同的帧内预测模式的多个块时,帧内残差预测单元810可将根据预设优先级从所述多个块中选择的块确定为第一邻近块。
[0668]
在步骤980和步骤1049,当在当前块附近存在与当前块具有相同的帧内预测模式的任何块时,帧内残差预测单元810可省略对指示是否执行残差信号预测的信息的编码。
[0669]
在步骤985和步骤1048,当在当前块附近存在与当前块具有相同的帧内预测模式的任何块时,帧内残差预测单元810可省略对第一邻近块的标识符的编码。
[0670]
在以上参照图39所描述的步骤2440,当在当前块附近存在与当前块具有相同的帧内预测模式的块时,帧内残差预测单元2310可确定执行残差信号预测。可选地,当不存在指示是否执行残差信号预测的信息时,如果在当前块附近存在与当前块具有相同的帧内预测模式的任何块,则帧内残差预测单元2310可确定执行残差信号预测。可选地,当不存在指示是否执行残差信号预测的信息时,如果在当前块附近不存在与当前块具有相同的帧内预测模式的块,则帧内残差预测单元2310可确定不执行残差信号预测。
[0671]
此外,在步骤2440,当在当前块附近存在与当前块具有相同的帧内预测模式的任何块时,帧内残差预测单元2310可将具有相同的帧内预测模式的块识别为第一邻近块。此外,当不存在第一块的标识符时,如果在当前块附近存在具有相同的帧内预测模式的任何块,则帧内残差预测单元2310可将与当前块具有相同的帧内预测模式的块识别为第一邻近块。可选地,当不存在第一块的标识符,并且在当前块附近存在与当前块具有相同的帧内预测模式的多个块时,帧内残差预测单元810可将根据预设优先级从所述多个块中选择的块确定为第一邻近块。
[0672]
当帧内预测被执行时,帧内预测模式可通过mpm标志和mpm索引从编码设备800被发送到解码设备2300。换句话说,帧内预测模式可通过mpm表示和mpm索引被熵编码。mpm可指示总共三种帧内预测模。由mpm指示的帧内预测模式可被指定为mpm候选模式。帧内预测单元240可通过画面中的在当前块附近的预测块来识别mpm候选模式。
[0673]
如果当前块的帧内预测模式与由mpm标识的三种帧内预测模式之一相同,则mpm标识的值可以为“真”(或“1”)。此外,当mpm标识的值为“真”(或“1”)时,编码设备800可将mpm索引发送到解码设备2300。mpm索引可指示mpm候选模式中的哪一种模式是当前块的帧内预测模式。
[0674]
帧内残差预测单元2310可根据语法定义来执行帧内预测。当在执行帧内预测之后而获取的最终帧内预测模式与mpm候选模式之一相同时,帧内残差预测单元2310可获取当前块的残差信号,并且可使用第一邻近块的残差信号来预测当前块的残差信号。当当前块的帧内预测模式与第一邻近块的帧内预测模式相同时,帧内残差预测单元2310可通过mpm索引来识别用于对当前块的残差信号进行预测的第一邻近块的位置。
[0675]
对参考样点的更新的单元
[0676]
在步骤2420,帧内预测单元240可针对每个预定义单元确定是否执行对参考样点的更新。预定义单元可以是以下项中的至少一个:1)整个图像序列(即,视频)、2)单个图像(即,画面)、3)条带、以及4)编码单元。
[0677]
针对预定义的单元,参考样点更新信息可被用于指示是否已执行了对参考样点的更新。参考样点更新信息可以是指示是否针对预定义的单元已执行了对参考样点的更新的信息。例如,参考样点更新信息的值是“第一值”可表示在对当前块进行解码时将执行对参考样点的更新。参考样点更新信息的值是“第二值”可表示在对当前块进行解码时将不执行对参考样点的更新。
[0678]
编码设备800可将编码的残差信号预测信息包括在比特流中。解码设备2300可使用残差信号预测信息来确定是否执行对用于当前块的残差信号的预测。
[0679]
在以下描述中,将在下面描述对用于每个预定义的单元的参考样点的更新。
[0680]
1)整个图像序列:可针对整个图像序列确定是否执行对参考样点的更新。在这种情况下,序列参数集可包括参考样点更新信息。当序列参数集的参考样点更新信息指示将执行对参考样点的更新时,帧内预测单元240可针对整个图像序列执行帧内预测,其中,该帧内预测使用被应用基于方向性的梯度的参考样点。
[0681]
2)单个图像:可针对每个图像确定是否执行对参考样点的更新。在这种情况下,画面参数集可包括参考样点更新信息。当画面参数集的参考样点更新信息指示将更新参考样点时,帧内预测单元240可针对与画面参数集相应的整个图像执行帧内预测,其中,该帧内预测使用被应用基于方向性的梯度的参考样点。
[0682]
3)条带:单个图像可被分区为多个条带段或单个条带段中的多个并行块。可针对每个条带确定是否执行对参考样点的更新。在这种情况下,条带段头可包括参考样点更新信息。当条带段头的参考样点更新信息指示将更新参考样点时,帧内预测单元240可对与条带段头相应的条带执行帧内预测,其中,该帧内预测使用被应用基于方向性的梯度的参考样点。
[0683]
4)编码单元:可针对每个编码单元确定是否执行对参考样点的更新。在这种情况下,针对编码单元,可存在参考样点更新信息。当用于编码单元的参考样点更新信息指示将更新参考样点时,帧内预测单元240可对与参考样点更新信息相应的编码单元执行帧内预测,其中,该帧内预测使用被应用基于方向性的梯度的参考样点。
[0684]
如以上所述,参考样点更新信息可被编码在序列参数集、画面参数集或条带段头中。可选地,可针对编码单元编码更新信息。
[0685]
残差信号的预测的单元
[0686]
在步骤2440,帧内残差预测单元2310可针对每个预定义单元确定是否执行残差信号预测。预定义单元可以是以下项中的至少一个:1)整个图像序列(即,视频)、2)单个图像(即,画面)、3)条带、以及4)编码单元。
[0687]
残差信号预测信息可以是指示是否针对预定义单元已执行了残差信号的预测的信息。例如,残差信号预测信息的值是“第一值”可表示在对当前块进行解码时将执行残差信号预测。残差信号预测信息的值是“第二值”可表示在对当前块进行解码时将不执行残差信号预测。
[0688]
编码设备800可将编码的残差信号预测信息包括在比特流中。解码设备2300可使用残差信号预测信息来确定是否将执行对用于当前块的残差信号的预测。
[0689]
在以下的描述中,将描述对用于每个预定义的单元的残差信号的预测。
[0690]
1)整个图像序列:可针对整个图像序列确定是否执行残差信号预测。在这种情况下,序列参数集可包括残差信号预测信息。当序列参数集的残差信号预测信息指示将执行残差信号预测时,帧内残差预测单元2310可针对整个图像序列执行残差信号预测。根据是否执行残差信号预测,可使用残差信号预测对在图像序列中的使用帧内预测被编码的所有块进行解码,或者可在不使用残差信号预测的情况下对在图像序列中的使用帧内预测被编码的所有块进行解码。
[0691]
2)单个图像:可针对每个图像确定是否执行残差信号预测。在这种情况下,画面参数集可包括残差信号预测信息。当画面参数集的残差信号预测信息指示将执行残差信号预测时,帧内残差预测单元2310可针对与画面参数集相应的整个图像执行残差信号预测。根据是否执行残差信号预测,可使用残差信号预测对单个画面中的使用帧内预测被编码的所有块进行解码,或者可在不使用残差信号预测的情况下对单个画面中的使用帧内预测被编码的所有块进行解码。
[0692]
3)条带:单个图像可被分区为多个条带段或单个条带段中的多个并行块。可针对每个条带确定是否执行残差信号预测。在这种情况下,条带段头可包括残差信号预测信息。当条带段头的残差信号预测信息指示将执行残差信号预测时,帧内预测单元2310可对与条带段头相应的条带执行残差信号预测。当条带段头包括残差信号预测信息时,根据是否执行残差信号预测,可使用残差信号预测对在条带级别使用帧内预测而编码的所有块进行解码,或者可在不使用残差信号预测的情况下对在条带级别使用帧内预测而编码的所有块进行解码。
[0693]
4)编码单元:可针对每个编码单元确定是否执行残差信号预测。在这种情况下,针对编码单元,可存在残差信号预测信息。当用于编码单元的残差信号预测信息指示将执行残差信号预测时,帧内残差预测单元2310可对与残差信号预测信息相应的编码单元执行残差信号预测。
[0694]
如上所述,残差信号预测信息可被编码在序列参数集、画面参数集或条带段头中。此外,可针对编码单元编码残差信号预测信息。
[0695]
图44是实施了根据实施例的编码设备的电子装置的配置图。
[0696]
根据实施例,编码设备800的运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180、参考画面缓冲器190和帧内残差预测单元180中的至少一些可以是程序模块,并且可与外部装置或外部系统进行通信。所述程序模块可以以操作系统、应用程序模块和其它程序模块的形式被包括在编码设备800中。
[0697]
所述程序模块可被物理地存储在各种公知的存储装置中的任意一种中。所述程序模块中的至少一些也可被存储在能够与编码设备800进行通信的远程存储装置中。
[0698]
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于运行根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
[0699]
所述程序模块可被实现为由编码设备800的至少一个处理器运行的指令或代码。
[0700]
编码设备800可被实现为图44中示出的电子装置2600。电子装置2600可以是充当编码设备800的通用计算机系统。
[0701]
如图44中所示,电子装置2600可包括通过总线2622彼此通信的至少一个处理器2621、存储器2623、用户接口(ui)输入装置2626、ui输出装置2627和储存器2628。电子装置2600还可包括连接到网络2630的网络接口2629。处理器2621可以是用于运行存储在中央处理器(cup)、存储器2623或储存器2628中的处理指令的半导体器件。存储器2623和储存器2628可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,存储器可包括只读存储器(rom)2624和随机存取存储器(ram)2625中的至少一个。
[0702]
编码设备800可以以包括计算机可读存储介质的计算机系统来实现。
[0703]
存储介质可存储使电子装置2600充当编码设备800而所需的至少一个模块。存储器2623可被配置为存储至少一个模块并由所述至少一个处理器2621来运行。
[0704]
与编码设备800的数据或信息的通信相关的功能可经由网络接口2629来执行。
[0705]
图45是实施了根据实施例的解码设备的电子装置的配置图。
[0706]
根据实施例,解码设备2300的熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波单元260、参考画面缓冲器270和帧内残差预测单元2310可以是程序模块,并且可与外部装置或外部系统进行通信。所述程序模块可以以操作系统、应用程序模块和其它程序模块的形式被包括在解码设备2300中。
[0707]
所述程序模块可被物理地存储在各种公知的存储装置中的任意一种中。所述程序模块中的至少一些也可被存储在能够与解码设备2300进行通信的远程存储装置中。
[0708]
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于运行根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
[0709]
所述程序模块可被实现为由解码设备2300的至少一个处理器运行的指令或代码。
[0710]
解码设备2300可被实现为图45中示出的电子装置2700。电子装置2700可以是充当解码设备2300的通用计算机系统。
[0711]
如图45中所示,电子装置2700可包括通过总线2722彼此通信的至少一个处理器2721、存储器2723、ui输入装置2726、ui输出装置2727和储存器2728。电子装置2700还可包括连接到网络2730的网络接口2729。处理器2721可以是用于运行存储在cup、存储器2723或储存器2728中的处理指令的半导体器件。存储器2723和储存器2728可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,存储器可包括rom 2724和ram 2725中的至少一个。
[0712]
解码设备2300可以以包括计算机可读存储介质的计算机系统来实现。
[0713]
存储介质可存储使电子装置2700充当解码设备2300而所需的至少一个模块。存储器2723可被配置为存储至少一个模块并由所述至少一个处理器2721来运行。
[0714]
与解码设备2300的数据或信息的通信相关的功能可经由网络接口2729来执行。
[0715]
在以上描述的实施例中,虽然已基于作为一系列步骤或单元的流程图描述了方法,但是本发明不限于步骤的顺序,并且一些步骤可以按照与已描述的步骤的顺序不同的顺序来执行或者与其它步骤同时执行。此外,本领域技术人员将理解:在流程图中示出的步骤不是排他性的,并且还可包括其它步骤,或者,可在不脱离本发明的范围的情况下删除流程图中的一个或更多个步骤。
[0716]
以上描述的根据本发明的实施例可被实现为能够由各种计算机装置运行的程序,并且可被记录在计算机可读存储介质上。计算机可读存储介质可单独地或者组合地包括程序指令、数据文件和数据结构。在存储介质上记录的程序指令可被专门设计或配置用于本发明,或者对于计算机软件领域的普通技术人员可以是已知的或者可用的。计算机存储存储介质的示例可包括被专门配置用于记录和运行程序指令的所有类型的硬件装置,诸如,磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如致密盘(cd)

rom和数字多功能盘(dvd))、磁光介质(诸如软光盘、rom、ram和闪存)。程序指令的示例包括机器代码(诸如由编译器创建的代码)和能够由计算机使用解释器执行的高级语言代码。硬件装置可被配置为作为一个或更多个软件模块进行操作以执行本发明的操作,反之亦然。
[0717]
如上所述,虽然已基于特定细节(诸如详细组件和有限数量的实施例和附图)描述了本发明,但是所述特定细节仅被提供用于容易理解本发明,本发明不限于这些实施例,本领域技术人员将根据以上描述实践各种改变和修改。
[0718]
因此,本发明的精神不应在上述实施例中被限制性地定义,应理解的是,所附权利要求及其等同物或修改属于本发明的范围和精神。
再多了解一些

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

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

相关文献