图像编码装置、图像编码方法和程序、图像解码装置、图像解码方法和程序与流程

文档序号:32129115发布日期:2022-11-09 09:13阅读:36来源:国知局
图像编码装置、图像编码方法和程序、图像解码装置、图像解码方法和程序与流程

1.本发明涉及图像编码。


背景技术:

2.作为运动图像的压缩记录的编码方案,已知一种高效视频编码(hevc)编码方案(下文中被称为hevc)。在hevc中,定义了用于定义对编码技术的限制的多个档次(profile),并且10位主档次(main 10 profile)支持位深度从8位到10位的图像。另外,在hevc中,支持12位的图像和16位的图像的档次也被定义为同样支持更高位深度的图像。日本特开2014-131172论述了一种支持图像编码方案的编码技术,该图像编码方案支持这种高位深度。
3.近年来,已经开始了作为hevc的后继者的更高效编码方案的国际标准化。iso/iec和itu-t已建立了联合视频专家组(joint video experts team)(jvet),并且通用视频编码(vvc)编码方案(下文中为vvc)的标准化已在进行中。在vvc中,为了提高编码效率,还论述了一种除了进行传统的正交变换之外、还对经过正交变换的系数(下文中被称为正交变换系数)的低频分量进行二次变换(lfnst,下文中被称为低频变换)的新技术。
4.现有技术文献
5.专利文献
6.专利文献1:日本特开2014-131172


技术实现要素:

7.在vvc中,在诸如正交变换和量化等的编码处理中,对处理结果的值添加限制,以增加实现的容易性。具体地,将经过量化处理的系数(下文中被称为量化系数)的可能值限制为-32768至32767,从而使得系数编码处理和解码侧的逆量化处理的实现更容易。考虑了如下:在vvc中,即使在编码高位深度的图像的情况下,硬件的实现成本也不会大幅增加。另一方面,上述限制导致了(特别是高位深度的图像的)运算精度的降低,使得出现了诸如图像质量没有提高等的问题。
8.用于解决问题的方案
9.为了自适应地确定编码或解码处理中的系数值的可能值的范围,根据本发明的图像编码装置例如包括以下配置。也就是说,图像编码装置包括:预测单元,其被配置为生成预测误差,所述预测误差是通过针对输入图像的预测处理所获得的预测图像与所述输入图像之间的差;第一变换单元,其被配置为通过对所述预测误差进行正交变换来生成第一变换系数;第二变换单元,其被配置为通过对所述第一变换系数进行lfnst处理来生成第二变换系数;量化单元,其被配置为通过对所述第二变换系数进行量化处理来生成量化系数;以及编码单元,其被配置为对所述量化系数进行编码,其中,所述编码单元对指示所述第二变换系数至少取的可能值的范围是基于位深度所确定的范围还是固定范围的信息进行编码。
10.此外,为了解决上述问题,根据本发明的图像解码装置例如包括以下配置。也就是说,用于从输入位流中解码图像的图像解码装置包括:解码单元,其被配置为从所述位流中解码量化系数;逆量化单元,其被配置为通过对所述量化系数进行逆量化处理来导出第一变换系数;第一变换单元,其被配置为通过对所述第一变换系数进行逆lfnst处理来导出第二变换系数;以及第二变换单元,其被配置为通过对所述第二变换系数进行逆正交变换处理来导出预测误差,其中,所述解码单元从所述位流中解码指示所述第一变换系数至少取的可能值的范围是基于位深度所确定的范围还是固定范围的信息。
11.此外,为了解决上述问题,根据本发明的图像编码装置例如包括以下配置。也就是说,图像编码装置包括:预测单元,其被配置为生成预测误差,所述预测误差是通过针对输入图像的预测处理所获得的预测图像与所述输入图像之间的差;以及编码单元,其被配置为至少使用bdpcm处理对所述预测误差进行编码,其中,所述编码单元对指示至少通过所述bdpcm处理所获得的值的范围是基于位深度所确定的范围还是固定范围的信息进行编码。
12.此外,为了解决上述问题,根据本发明的图像解码装置例如包括以下配置。也就是说,用于从输入位流中解码图像的图像解码装置包括:解码单元,其被配置为从所述位流中解码量化系数;以及逆量化单元,其被配置为至少使用bdpcm处理从所述量化系数中导出预测误差,其中,所述解码单元从所述位流中解码指示至少通过所述bdpcm处理所获得的值的范围是基于位深度所确定的范围还是固定范围的信息。
附图说明
13.图1是例示图像编码装置的配置的框图。
14.图2是例示图像解码装置的配置的框图。
15.图3是例示图像编码装置中的图像编码处理的流程图。
16.图4是例示图像解码装置中的图像解码处理的流程图。
17.图5是例示计算机硬件配置的图。
18.图6a是例示由编码装置生成并由解码装置解码的位流结构的示例的图。
19.图6b是例示由编码装置生成并由解码装置解码的位流结构的示例的图。
20.图7a是例示子块分割的示例的图。
21.图7b是例示子块分割的示例的图。
22.图7c是例示子块分割的示例的图。
23.图7d是例示子块分割的示例的图。
24.图7e是例示子块分割的示例的图。
25.图7f是例示子块分割的示例的图。
26.图8是例示系数范围信息、图像的位深度和系数的可能范围之间的关系的图。
具体实施方式
27.下面将参考附图详细描述示例性实施例。在以下示例性实施例中所描述的配置仅是示例,并且本发明不限于附图所示的配置。
28.(第一示例性实施例)
29.在示例性实施例中描述了多个特征,但是所有这些多个特征对于本发明可以不是
必需的,并且多个特征可以自由组合。此外,在附图中,相同或类似的配置被分配了相同的附图标记,并且将不重复对其的描述。
30.图1是例示根据本示例性实施例的图像编码装置100的配置的框图。图像编码装置100包括用于控制整个装置的控制单元150。控制单元150包括cpu、用于存储cpu所要执行的程序的rom、以及要用作cpu的工作区域的ram。图像编码装置100还包括输入端子101、块分割单元102、系数范围信息生成单元103、预测单元104、变换和量化单元105、逆量化和逆变换单元106、图像重构单元107、帧存储器108、环内滤波单元109、编码单元110、整合编码单元111和输出端子112。
31.输入端子101逐帧输入要编码的图像数据。图像数据是从拍摄图像的摄像装置、存储要编码的图像数据的文件服务器或存储介质等获取的,并且这样的源可以是任何类型。输出端子112将编码数据输出到目的地装置,并且目的地装置也可以是任何类型,诸如存储介质或文件服务器等。
32.块分割单元102将输入帧(图片)的图像分割为多个基本块,并且将这些块其中之一作为基本块顺次输出到后续阶段中的预测单元104。此外,例如,128
×
128像素的块、64
×
64像素的块或32
×
32像素的块可以用作基本块。此外,更小的块可以用作基本块。此外,基本块例如是编码树(coding tree)单元或编码(coding)单元。在能够将单元进一步分割为更小子块的情况下,基本块可以是任何单位。
33.系数范围信息生成单元103生成用于指示作为下面将要描述的各个编码处理的结果的系数值的可能值的范围的系数范围信息,并且将所生成的信息输出到后续阶段中的变换和量化单元105、逆量化和逆变换单元106以及整合编码单元111。
34.预测单元104针对以基本块为单位的图像数据,来确定子块分割。此时,预测单元104判断是否将基本块分割为子块,并且如果要分割基本块,则确定如何分割基本块。在基本块没有被分割为子块的情况下,子块的大小与基本块的大小相同。子块可以是正方形,并且可以是除了正方形之外的矩形。
35.随后,预测单元104通过以分割后的子块为单位进行作为帧内的预测(intra-frame prediction)的帧内预测(intra-prediction)或作为帧间的预测(inter-frame prediction)的帧间预测(inter-prediction)等,来生成以子块为单位的预测图像数据。此时,例如,预测单元104从帧内预测、帧间预测以及帧内预测和帧间预测的组合中选择要对某个子块进行的预测方法,并进行所选择的预测以生成用于该子块的预测图像数据。
36.此外,预测单元104根据输入图像数据和预测图像数据,以子块为单位来计算以像素为单位的预测误差,并输出所计算出的预测误差。例如,预测单元104计算子块的图像数据的各个像素值与通过对该子块的预测所生成的预测图像数据的各个像素值之间的差,并将所计算出的差确定为预测误差。
37.另外,预测单元104将预测所需的信息(例如,指示子块分割(基本块被分割为子块的状态)的信息(即,指示如何将基本块分割为子块的信息))连同预测误差一起输出。预测单元104还将诸如在子块的预测中所使用的预测模式和运动矢量等的信息连同预测误差一起输出。预测所需的该信息在下文中将被称为预测信息。
38.变换和量化单元105通过逐子块地对从预测单元104输入的预测误差进行正交变换,来获得表示预测误差的各个频率分量的正交变换系数。此外,变换和量化单元105判断
是否对正交变换系数的低频部分进行低频变换,并且生成与该确定有关的信息作为低频变换信息。换句话说,低频变换信息是指示是否对正交变换系数的低频部分进行低频变换的信息。在要对子块进行低频变换的情况下,变换和量化单元105通过对所获得的正交变换系数的低频部分进行低频变换处理来获得低频变换系数,并且进一步通过量化低频变换系数来获得残差系数(经过量化的正交变换系数)。另一方面,在不对子块进行低频变换的情况下,变换和量化单元105通过量化正交变换系数来获得残差系数。低频变换指示低频不可分离变换(lfnst)处理,并且这是用于通过变换正交变换系数来重构(导出)低频变换系数的处理。
39.逆量化和逆变换单元106从变换和量化单元105接收残差系数和低频变换信息作为输入,并通过逆量化残差系数来重构变换系数。此时,逆量化和逆变换单元106针对从变换和量化单元105输入的残差系数,使用量化矩阵和量化参数来重构变换系数。以这种方式使用量化矩阵和量化参数从残差系数重构(导出)变换系数的处理将被称为逆量化。在逆量化处理中可能没有必要一定使用量化矩阵。特别地,在变换和量化单元105的量化处理中未使用量化矩阵的情况下,在逆量化和逆变换单元106的逆量化处理中不使用量化矩阵。另外,可以基于是否对子块进行了低频变换来判断是否应用量化矩阵。例如,在对子块进行了低频变换的情况下,在不使用量化矩阵的情况下进行逆量化,否则使用量化矩阵进行逆量化。
40.此外,逆量化和逆变换单元106基于输入的低频变换信息来判断是否对子块进行了低频变换。在对子块进行了低频变换的情况下,逆量化和逆变换单元106通过对通过逆量化残差系数所获得的变换系数(低频变换系数)进行逆低频变换处理来重构正交变换系数,并且进一步通过对正交变换系数进行逆正交变换来重构预测误差。另一方面,在尚未对子块进行低频变换的情况下,逆量化和逆变换单元106通过对通过逆量化残差系数所获得的变换系数(正交变换系数)进行逆正交变换来重构预测误差。逆低频变换处理指示逆lfnst处理,并且是用于通过变换低频变换系数来重构(导出)正交变换系数的处理。
41.图像重构单元107基于从预测单元104输出的预测信息来适当地参考帧存储器10并生成预测图像数据。图像重构单元107通过将从逆量化和逆变换单元106输入的预测误差添加到该预测图像数据来生成重构图像数据(重构图片),并且将所生成的重构图像数据存储到帧存储器108中。
42.环内滤波器109对帧存储器108中所存储的重构图像进行诸如去块滤波或采样自适应偏移(sample adaptive offset)等的环内滤波处理,并将滤波处理后的图像数据再次存储到帧存储器108中。
43.编码单元110通过对从变换和量化单元105输出的残差系数和低频变换信息以及从预测单元104输出的预测信息进行编码来生成码数据,并将所生成的码数据输出到整合编码单元111。
44.整合编码单元111通过对来自系数范围信息生成单元103的系数范围信息进行编码来生成系数范围信息码。随后,生成包括系数范围信息码的头部码数据。然后,整合编码单元111通过使从编码单元110输出的码数据跟随头部码数据来形成位流。然后,整合编码单元111经由输出端子112输出所形成的位流。
45.这里,下面将详细描述图像编码装置中的图像编码操作。在本示例性实施例中,采
用了从输入端子101逐帧输入16位运动图像数据的配置,但是也可以采用输入1帧的静止图像数据的配置。此外,在本示例性实施例中,为了描述的目的,块分割单元101将被描述为将从输入端子输入的图像数据分割为8
×
8像素的基本块。这里所使用的基本块例如是编码树单元。尽管将描述编码树单元具有8
×
8像素的大小的示例,但是可以采用其他大小。例如,可以采用32
×
32像素的大小至128
×
128像素的大小中的任何大小。
46.在图像编码之前,确定根据本示例性实施例的编码处理中的系数的可能值的范围。
47.系数范围信息生成单元103生成系数范围信息,该系数范围信息指示编码处理中的系数的可能值的范围是根据输入图像的位深度而可变,还是该范围与位深度无关而固定。在下文中,前一种根据图像的位深度的编码处理中的系数的可能值的可变范围将被称为高精度系数范围,并且后一种与位深度无关地固定的范围将被称为固定系数范围。在本示例性实施例中,在选择前一高精度系数范围的情况下,系数范围信息是1,而在选择后一固定系数范围的情况下,系数范围信息是0。然而,所选择的系数范围和系数范围信息的组合不限于此。另外,确定系数范围信息的方法不受特别限制,并且确定系数范围信息的方法可以在假设应用将由本编码装置和相应解码装置使用的情况下在编码处理之前确定,或者可以由用户选择。例如,在假设根据本示例性实施例的图像编码装置100使用最优先图像质量并重视运算精度的应用的情况下,系数范围信息为1,否则系数范围信息为0。将所生成的系数范围信息输出到整合编码单元111、变换和量化单元105以及逆量化和逆变换单元106。
48.整合编码单元111通过对从系数范围信息生成单元103输入的系数范围信息进行编码来生成系数范围信息码,并且将所生成的系数范围信息码整合到图像数据的编码所需的头部信息中。
49.随后,进行图像数据的编码。将从输入端子101输入的1帧的图像数据供给至块分割单元102。
50.块分割单元102将所输入的1帧的图像数据分割为多个基本块,并且将以基本块为单位的图像数据输出到预测单元104。在本示例性实施例中,将以8
×
8像素的基本块为单位的图像数据供给至预测单元104。
51.预测单元104对从块分割单元102输入的以基本块为单位的图像数据执行预测处理。具体地,确定用于将基本块分割为更小的子块的子块分割,并且进一步逐子块地确定诸如帧内预测或帧间预测等的预测模式。帧内预测使用在空间上位于编码对象块附近的经编码像素来生成该编码对象块的预测像素,并且还生成指示诸如水平预测、垂直预测或dc预测等的帧内预测方法的帧内预测模式。帧间预测使用在时间上与编码对象块不同的帧的经编码像素来生成该编码对象块的预测像素,并且还生成将被参考的帧以及指示运动矢量等的运动信息。
52.将参考图7描述子块分割方法。图7a至图7f中的块700至705中的各块的粗框具有与基本块大小相同的8
×
8像素的大小。粗框内的各个四边形表示子块。图7b例示传统的正方形子块分割的示例,并且将8
×
8像素的基本块701分割为4
×
4像素的四个子块。另一方面,图7c至图7f各自例示矩形子块分割的示例。图7c例示被分割为各自具有4
×
8像素的大小的两个子块(垂直方向上为长边)的基本块702。图7d例示被分割为各自具有8
×
4像素的大小的两个子块(水平方向上为长边)的基本块703。图7e和图7f分别例示各自被以1:2:1的
比分割为三个矩形子块的基本块704和705,但是分割方法是不同的。这样,不仅使用正方形子块而且使用矩形子块来进行编码处理。
53.在本示例性实施例中,仅使用未将具有8
×
8像素的大小的基本块分割为子块的图7a,但是子块分割方法不限于此。可以使用如图7b所示的四叉树分割、如图7e和图7f所示的三叉树分割或如图7c和图7d所示的二叉树分割。
54.预测单元104根据所确定的预测模式和帧存储器108中所存储的经编码区域来生成预测图像数据,进一步根据所输入的图像数据和预测图像数据计算以像素为单位的预测误差,并将所计算出的误差输出到变换和量化单元105。另外,预测单元104将与子块分割和预测模式等有关的信息作为预测信息输出到编码单元110和图像重构单元107。
55.变换和量化单元105首先从系数范围生成单元103接收系数范围信息作为输入,并且确定变换处理或量化处理中的系数的可能值的范围。在本示例性实施例中,基于图8所示的表来确定作为在水平方向和垂直方向中的各个方向上的一维正交变换、对经过了正交变换的系数进一步进行变换的二次变换、以及量化等的各个运算结果而获得的系数可以取得的范围。然而,系数范围信息和作为各个运算结果而获得的系数可以取得的范围的组合不限于此。在本示例性实施例中,因为输入图像的位深度是16,所以根据系数范围信息来使用-32768至32767的范围或-8388608至8388607的范围。在各个运算结果落在上述范围外的情况下要执行的处理不受特别限制,但是可以通过限幅处理或位移位处理将结果调整为落在上述范围内。
56.接下来,变换和量化单元105基于上述系数范围,通过对从预测单元104输入的预测误差进行正交变换和量化来生成残差系数。具体地,变换和量化单元105首先通过对预测误差进行与子块的大小相对应的正交变换处理来生成正交变换系数。接下来,变换和量化单元105判断是否对正交变换系数的低频部分进行低频变换,生成与该判断有关的信息作为低频变换信息,并将低频变换信息输出到逆量化和逆变换单元106和编码单元110。确定低频变换信息的方法没有特别限制;然而,在诸如正交变换系数集中在低频分量上、并且可以通过进行低频变换来预期压缩效率的进一步提高的情况等的情况下,可以进一步进行低频变换。在确定为要进行低频变换的情况下,变换和量化单元105通过对正交变换系数的低频部分进行低频变换来生成低频变换系数,并且另一方面,无论正交变换系数的值如何,都将尚未进行低频变换的高频分量处理为0。然后,在进行了低频变换的情况下,变换和量化单元105通过量化低频变换系数来生成残差系数。另一方面,在尚未进行低频变换的情况下,变换和量化单元105通过量化正交变换系数来生成残差系数。
57.与变换和量化单元105同样地,逆量化和逆变换单元106首先从系数范围生成单元103接收系数范围信息作为输入,并且确定逆量化处理或逆变换处理中的系数的可能值的范围。在本示例性实施例中,与变换和量化单元105同样地,基于图8所示的表来确定作为逆量化处理、用于低频分量的逆低频变换处理以及在水平方向和垂直方向各自上的一维逆正交变换等的各个算术结果而获得的系数可采用的范围。在本示例性实施例中,与变换和量化单元105同样地,因为输入图像的位深度是16,所以根据系数范围信息来采用-32768至32767的范围或-8388608至8388607的范围。
58.接下来,逆量化和逆变换单元106通过基于上述系数范围对从变换和量化单元105输入的残差系数进行逆量化来重构变换系数。此外,逆量化和逆变换单元106基于从变换和
量化单元105输入的低频变换信息来判断是否对子块进行了低频变换。在对子块进行了低频变换的情况下,逆量化和逆变换单元106通过对变换系数进行逆低频变换处理来重构正交变换系数,并且进一步通过对正交变换系数进行逆正交变换来重构预测误差。另一方面,在尚未对子块进行低频变换的情况下,逆量化和逆变换单元106通过对变换系数进行逆正交变换来重构预测误差。将由此重构的预测误差输出到图像重构单元107。
59.y=clip3(coeffmin,coeffmax,((σlowfreqtransmatrix[j]
×
x)+64)》》7)(1)
[0060]
(其中,clip3(a,b,c)指示使用最小值a和最大值b对值c进行限幅的处理,并且“》》”表示向右的位移位。)
[0061]
以上表达式(1)是在根据本示例性实施例的逆量化和逆变换单元106中的逆低频变换处理中所使用的计算式其中之一。这里,表达式(1)中的coeffmin与图8中的最小系数值相对应,并且表达式(1)中的coeffmax与图8中的最大系数值相对应。在本示例性实施例中,因为输入图像的位深度是16位,所以基于系数范围信息来确定表达式(1)中的coeffmin和coeffmax的值。在系数范围信息为0(即,选择固定系数范围)的情况下,coeffmin为-32768,并且coeffmax为32767,并且输出值可以用带符号的16位表示。在这种情况下,可以在随后的编码处理中使用16位加法/乘法命令等,因此存在不增加实现成本的优点。另一方面,在系数范围信息是1(即,选择高精度系数范围)的情况下,coeffmin是-8388608,并且coeffmax是8388607。在这种情况下,输出值无法用带符号的16位表示,因此后续编码处理中的实现成本增加,但是可以实现适合于诸如16位等的高位深度的高运算精度编码处理。结果,存在诸如压缩效率的提高以及对编码结果的位流进行解码时的图像质量的提高等的有利效果。
[0062]
图像重构单元107基于从预测单元104输入的预测信息来适当地参考帧存储器108并重构预测图像。随后,图像重构单元107基于所重构的预测图像和逆量化和逆变换单元106所重构的预测误差来生成重构图像数据,并且将所生成的重构图像数据存储到帧存储器108中。
[0063]
环内滤波单元109从帧存储器108读出重构图像数据,并且进行诸如去块滤波等的环内滤波处理。随后,环内滤波单元109将经滤波处理的图像数据再次存储到帧存储器108中。
[0064]
编码单元110通过对变换和量化单元105中所生成的以子块为单位的残差系数和低频变换信息、以及从预测单元104输入的预测信息进行熵编码来生成码数据。没有特别指定熵编码的方法,并且可以使用哥伦布编码(golomb encoding)、算术编码和霍夫曼编码(huffman encoding)等。编码单元110将所生成的码数据输出到整合编码单元111。
[0065]
整合编码单元111通过对从编码单元110输入的码数据等与上述头部码数据一起进行多路复用来形成位流。随后,整合编码单元111将所形成的位流从输出端子112输出到外部(输出到存储介质或网络等)。
[0066]
图6a是本示例性实施例中的位流输出的数据结构的示例。系数范围信息码被包括在序列头部中。然而,经编码的位置不限于此,并且可以包括如图6b所示的图片头部部分或由多个图片组成的头部部分。
[0067]
图3是例示根据示例性实施例的图像编码装置100中的控制单元150针对1帧所进行的编码处理的流程图。
[0068]
首先,在图像编码之前,在步骤s301中,控制单元150控制系数范围信息生成单元103生成系数范围信息。
[0069]
在步骤s302中,控制单元150控制整合编码单元111对步骤s301中所生成的系数范围信息进行编码,以生成系数范围信息码。
[0070]
在步骤s303中,控制单元150控制整合编码单元111对所生成的系数范围信息码和图像数据的编码所需的头部信息进行编码,并输出结果。
[0071]
在步骤s304中,控制单元150控制块分割单元102将以帧为单位的输入图像分割为基本块。
[0072]
在步骤s305中,控制单元150控制预测单元104对步骤s304中所生成的以基本块为单位的图像数据执行预测处理,并且生成诸如子块分割信息和预测模式等的预测信息以及预测图像数据。此外,控制单元150控制预测单元104根据输入图像数据和预测图像数据来计算预测误差。
[0073]
在步骤s306中,控制单元150控制变换和量化单元105基于步骤s301中所生成的系数范围信息来确定该步骤的编码处理中的系数范围。例如,控制单元150在系数范围信息为1的情况下将该步骤的编码处理中的系数范围确定为高精度系数范围,并且在系数范围信息为0的情况下将该步骤的编码处理中的系数范围确定为固定系数范围。接下来,控制单元150控制变换和量化单元105对步骤s305中所计算出的预测误差进行正交变换,以生成正交变换系数。随后,控制单元150控制变换和量化单元105判断是否对子块中所生成的正交变换系数进行低频变换,并生成与该判断有关的信息作为低频变换信息。在判断为要进行低频变换的情况下,控制单元150控制变换和量化单元105通过对正交变换系数的低频分量进行低频变换、然后进行量化,来生成残差系数。另一方面,在判断为不进行低频变换的情况下,控制单元150控制变换和量化单元105通过量化正交变换系数来生成残差系数。
[0074]
在步骤s307中,控制单元150控制逆量化和逆变换单元106基于步骤s301中所生成的系数范围信息来确定该步骤的编码处理中的系数范围。例如,控制单元150在系数范围信息为1的情况下将该步骤的编码处理中的系数范围确定为高精度系数范围,并且在系数范围信息为0的情况下将该步骤的编码处理中的系数范围确定为固定系数范围。接下来,控制单元150控制逆量化和逆变换单元106通过对步骤s306中所生成的残差系数进行逆量化来重构变换系数。接下来,控制单元150控制逆量化和逆变换单元106基于步骤s306中所生成的低频变换信息来判断是否对子块进行了低频变换。在对子块进行了低频变换的情况下,控制单元150控制逆量化和逆变换单元106通过对变换系数进行逆低频变换处理来重构正交变换系数,并且进一步通过对正交变换系数进行逆正交变换来重构预测误差。另一方面,在尚未对子块进行低频变换的情况下,控制单元150控制逆量化和逆变换单元106通过对变换系数进行逆正交变换来重构预测误差。
[0075]
在步骤s308中,控制单元150控制图像重构单元107基于步骤s305中所生成的预测信息来重构预测图像,根据所重构的预测图像和步骤s307中所生成的预测误差来重构图像数据,并将所重构的图像数据存储到帧存储器108中。
[0076]
在步骤s309中,控制单元150控制编码单元110对步骤s305中所生成的预测信息以及步骤s306中所生成的残差系数和低频变换信息进行编码,以生成码数据。此外,编码单元110将所生成的码数据输出到整合编码单元111。整合编码单元111将来自编码单元110的编
码数据放置在先前所生成的头部之后,并输出结果。
[0077]
在步骤s310中,控制单元150判断关注帧内的所有基本块的编码是否完成。在控制单元150判断为编码完成的情况下,处理进行到步骤s311,并且在控制单元150判断为存在尚未编码的基本块的情况下,处理返回到步骤s304以继续编码下一基本块。
[0078]
在步骤s311中,控制单元150控制环内滤波单元109对步骤s308中所重构的图像数据进行环内滤波处理并生成经滤波处理的图像,然后处理结束。
[0079]
上述配置和操作(特别是在步骤s302中对系数范围信息的编码)使得可以生成能够根据应用的要求规格在运算精度和实现成本不同的编码处理之间进行切换的位流。
[0080]
在本示例性实施例中,系数范围被描述为作为变换处理或量化处理的结果的系数的可能值的范围,但是可以用作作为其他编码处理的结果的系数的可能值的范围。例如,在vvc中,为了主要在无损编码中提高压缩效率,采用被称为基于块的增量脉冲编码调制(block-based delta pulse code modulation)(bdpcm)的技术。bdpcm是(代替通过对针对预测误差进行变换和量化而获得的残差系数进行编码而是)通过对预测误差仅进行量化而不对其进行变换来生成量化系数、并对所生成的量化系数与左侧或上侧相邻的各个量化系数之间的差分值进行编码的方案。这里,系数范围可以被应用于该差分值。因此,无论是否应用bdpcm,都确定要编码的系数的可能值的范围是高精度系数范围还是固定系数范围,因而可以通过实现仅支持这些范围其中之一的编码单元来降低实现成本。
[0081]
此外,在本示例性实施例中,例如在输入图像的位深度是8位的情况下,可以省略系数范围信息码。这是因为,无论系数范围信息如何,最小系数值和最大系数值都相等,从而可以减少冗余码。可以省略系数范围信息的编码的输入图像的位深度不限于8位,并且在其他示例性实施例中,在无论系数范围信息如何、最小系数值和最大系数值都相等的情况下,可以省略系数范围信息的编码。
[0082]
图2是例示对示例性实施例中的图像编码装置100中所生成的编码图像数据进行解码的图像解码装置200的配置的框图。下面将参考该附图描述与解码处理相关的配置和操作。
[0083]
图像解码装置200包括用于控制整个装置的控制单元250。该控制单元250包括cpu、用于存储cpu所要执行的程序的rom、以及要用作cpu的工作区域的ram。此外,图像解码装置200具有输入端子201、分离解码单元202、解码单元203、逆量化和逆变换单元204、图像重构单元205、帧存储器206、环内滤波单元207、输出端子208和系数范围信息解码单元209。
[0084]
输入端子201输入经编码位流,并且输入源例如是用于存储经编码流的存储介质;然而,可以从网络输入经编码位流,并且可以使用任何类型的源。
[0085]
分离解码单元202从位流中分离出与解码处理有关的信息以及与系数相关的码数据,并对位流的头部部分中所包括的码数据进行解码。根据本示例性实施例的分离解码单元202分离出系数范围信息码,并将系数范围信息码输出到系数范围信息解码单元209。此外,分离解码单元202将图像的码数据输出到解码单元203。
[0086]
系数范围信息解码单元209通过对从分离解码单元202供给的系数范围信息码进行解码来重构系数范围信息,并将所重构的系数范围信息输出到后续阶段中的逆量化和逆变换单元204。
[0087]
解码单元203通过对从分离解码单元202输出的图像的码数据进行解码来重构残
差系数、低频变换信息和预测信息。
[0088]
与图1中的逆量化和逆变换单元106同样地,逆量化和逆变换单元204对残差系数进行逆量化,并且重构作为经过逆量化的系数的变换系数。此外,逆量化和逆变换单元204使用低频变换信息来判断是否对子块进行了低频变换。在对子块进行了低频变换的情况下,逆量化和逆变换单元204通过对低频变换系数进行逆低频变换处理来重构正交变换系数。逆量化和逆变换单元204还通过对这些正交变换系数或变换系数执行逆正交变换来重构预测误差。另一方面,在尚未对子块进行低频变换的情况下,逆量化和逆变换单元204通过对正交变换系数进行逆正交变换来重构预测误差。
[0089]
图像重构单元205基于输入的预测信息来适当地参考帧存储器206并生成预测图像数据。随后,图像重构单元205根据该预测图像数据和逆量化和逆变换单元204中所重构的预测误差来生成重构图像数据,并且将所生成的重构图像数据存储到帧存储器206中。
[0090]
与图1中的环内滤波单元109同样地,环内滤波单元207对帧存储器206中所存储的重构图像数据进行诸如去块滤波等的环内滤波处理,并且将经处理的图像数据再次存储到帧存储器206中。
[0091]
输出端子208将帧存储器206中所存储的帧图像顺次输出到外部。输出目的地通常是显示装置,但也可以是其他装置。
[0092]
将更详细地描述与上述示例性实施例的图像解码装置200的图像解码相关的操作。在本示例性实施例中,采用逐帧输入经编码位流的配置。
[0093]
在图2中,将从输入端子201输入的1帧的位流供给到分离解码单元202。分离解码单元202从位流中分离出与解码处理有关的信息以及与系数相关的码数据,并且对位流的头部部分中所包括的码数据进行解码。随后,分离解码单元202将头部部分中所包括的系数范围信息码供给到系数范围信息解码单元209,并将图像数据的码数据供给到解码单元203。具体地,分离解码单元202首先从图6a所示的位流的序列头部提取系数范围信息码,并将所提取的系数范围信息码输出到系数范围信息解码单元209。随后,提取图片数据的以基本块为单位的码数据,并将其输出到解码单元203。
[0094]
系数范围信息解码单元209通过对从分离解码单元202输入的系数范围信息码进行解码来获得系数范围信息。与编码侧同样地,当系数范围信息为1时使用高精度系数范围,并且当系数范围信息为0时使用固定系数范围。将系数范围信息输出到逆量化和逆变换单元204。在本示例性实施例中,采用在编码侧输入16位图像并在解码侧输出16位图像的配置,因此当系数范围信息为0时使用-32768至32767的范围,并且当系数范围信息为1时使用-8388608至8388607的范围。
[0095]
解码单元203对从分离解码单元202供给的码数据进行解码,重构预测信息,并进一步重构残差系数和低频变换信息。首先,解码单元203重构预测信息,并获取子块中所使用的预测模式。解码单元203将所重构的残差系数和低频变换信息输出到逆量化和逆变换单元204,并且将所重构的预测信息输出到图像重构单元205。
[0096]
逆量化和逆变换单元204通过基于上述系数范围逆量化输入残差系数来生成变换系数。然后,逆量化和逆变换单元204基于所输入的低频变换信息来判断是否对子块进行了低频变换。在对子块进行了低频变换的情况下,逆量化和逆变换单元204通过对变换系数进行低频变换处理来重构正交变换系数,并且进一步通过对正交变换系数进行逆正交变换来
重构预测误差。另一方面,在尚未对子块进行低频变换的情况下,逆量化和逆变换单元204通过对变换系数进行逆正交变换来重构预测误差。将由此重构的预测误差输出到图像重构单元205。
[0097]
图像重构单元205基于从解码单元203输入的预测信息来适当地参考帧存储器206并重构预测图像。与编码侧的预测单元104同样地,根据本示例性实施例的图像重构单元205使用帧内预测和/或帧间预测。具体的预测处理与编码侧的预测单元104的预测处理相同,因此将省略对其的描述。图像重构单元205根据该预测图像以及从逆量化和逆变换单元204输入的预测误差来重构图像数据,并将所重构的图像数据存储到帧存储器206中。所存储的图像数据用于预测时的参考。
[0098]
与编码侧的环内滤波单元109同样地,环内滤波单元207从帧存储器206读出重构图像,并进行诸如去块滤波等的环内滤波处理。随后,环内滤波单元207将经滤波处理的图像再次存储到帧存储器206中。
[0099]
帧存储器206中所存储的重构图像最终从输出端子208输出到外部(通常是输出到显示装置)。
[0100]
图4是例示根据示例性实施例的图像解码装置200中的控制单元205的解码处理的流程图。
[0101]
首先,在步骤s401中,控制单元250控制分离解码单元202从位流中分离出与解码处理有关的信息以及与系数相关的码数据,并且对头部部分中的码数据进行解码。更具体地,分离解码单元202将系数范围信息码供给到系数范围信息解码单元209,并将图像的码数据供给到解码单元203。
[0102]
在步骤s402中,控制单元250控制系数范围信息解码单元209对步骤s401中所重构的系数范围信息码进行解码。这里已经提供了系数范围信息解码单元209的具体操作的描述,因此将省略。
[0103]
在步骤s403中,控制单元250控制解码单元203对步骤s401中所分离出的码数据进行解码,重构预测信息,并重构残差系数和低频变换信息。
[0104]
在步骤s404中,控制单元250控制逆量化和逆变换单元204基于步骤s402中所解码的系数范围信息来确定该步骤的解码处理中的系数范围。例如,控制单元150在系数范围信息为1的情况下将该步骤的解码处理中的系数范围确定为高精度系数范围,并且在系数范围信息为0的情况下将该步骤的解码处理中的系数范围确定为固定系数范围。接下来,控制单元250控制逆量化和逆变换单元204通过对步骤s403中所重构的残差系数进行逆量化来生成变换系数。此外,控制单元250控制逆量化和逆变换单元204基于步骤s403中所重构的低频变换信息来判断是否对子块进行了低频变换。在对子块进行了低频变换的情况下,控制单元250控制逆量化和逆变换单元204通过对变换系数进行逆低频变换处理来重构正交变换系数,并且进一步通过对正交变换系数进行逆正交变换来重构预测误差。另一方面,在尚未对子块进行低频变换的情况下,控制单元250控制逆量化和逆变换单元204通过对变换系数进行逆正交变换来重构预测误差。
[0105]
在步骤s405中,控制单元250控制图像重构单元205基于步骤s403中所生成的预测信息来重构图像。具体地,图像重构单元205基于预测信息来参考帧存储器206并重构预测图像。此时,如在编码侧的步骤s305中那样,图像重构单元205使用帧内预测和/或帧间预
测。随后,图像重构单元205根据所重构的预测图像和s404中所生成的预测误差来重构图像数据,并且将所重构的图像数据存储到帧存储器206中。
[0106]
在步骤s406中,控制单元250判断关注帧内的所有基本块的解码是否完成。在解码完成的情况下,处理进行到步骤s407,并且在存在未编码的基本块的情况下,处理返回到步骤s403以用于要解码的下一基本块。
[0107]
在步骤s407中,控制单元250控制环内滤波单元207对步骤s405中所重构的图像数据进行环内滤波处理并生成经滤波处理的图像,并且处理结束。
[0108]
上述配置和操作使得可以对上述图像编码装置100中所生成的经编码位流(即,使得能够根据应用的要求规格在运算精度和实现成本不同的解码处理之间进行切换的位流)进行解码。
[0109]
在本示例性实施例中,系数范围被描述为作为逆量化处理或逆变换处理的结果而获得的系数的可能值的范围,但是可以用作作为其他解码处理的结果而获得的系数的可能值的范围;例如,与编码侧同样地,该系数范围可以适用于bdpcm处理。
[0110]
dz[x][y]=clip3(coeffmin,coeffmax,dz[x-1][y]+dz[x][y])
ꢀꢀꢀꢀꢀ
(2)
[0111]
(其中,clip3(a,b,c)指示使用最小值a和最大值b对值c进行限幅的处理。)
[0112]
以上表达式(2)是在使用bdpcm的解码处理中所使用的计算式其中之一,并且是在量化系数dz[x][y]的重构中对左侧的量化系数dz[x-1][y]加上差分值、并使用系数范围进行限幅处理的表达式。与表达式(1)同样地,表达式(2)的coeffmin和coeffmax与图8中的最小系数值和最大系数值相对应。在系数范围信息为0(即,使用固定系数范围)的情况下,作为表达式(2)的输出的量化系数dz[x][y]取-32768至32767的范围,并且可以用带符号的16位表示。在这种情况下,可以在作为后续解码处理的逆量化处理中使用16位加法/乘法命令等,因此存在降低实现成本的优点。另一方面,在系数范围信息为1(即,选择高精度系数范围)的情况下,诸如逆量化处理等的后续解码处理中的实现成本增加,但是可以实现具有高运算精度的解码处理。结果,可以对在编码侧以提高的压缩效率生成的位流进行解码以具有更高的图像质量。
[0113]
根据示例性实施例的图像编码装置100和图像解码装置200的各个处理单元被描述为由硬件来配置。然而,附图所示的这些处理单元中的各个处理单元所进行的处理可以由计算机程序来配置。
[0114]
图5是例示可适用于根据上述示例性实施例的图像编码装置100和图像解码装置200的计算机硬件配置的示例的框图。
[0115]
cpu 501使用存储在ram 502和rom 503中的计算机程序和数据来控制整个计算机,并且执行根据上述示例性实施例的图像编码装置100或图像解码装置200所要进行的上述各个处理。换句话说,cpu 501用作图1和图2所示的各个处理单元。
[0116]
ram 502具有用于临时存储从外部存储装置506或经由接口(i/f)507从外部获取的数据等的区域。此外,ram 502还用作cpu 501在执行各种类型的处理时使用的工作区域。例如,ram 502可以被分配为帧存储器,或者可以适当地提供其他各种区域。
[0117]
rom 503存储计算机的设置数据和引导程序等。操作单元504由键盘和鼠标等组成,并且计算机的用户可以通过对操作单元504进行操作来向cpu 501输入各种指令。显示单元505显示cpu 501的处理的结果。显示单元505例如由液晶显示器构成。
[0118]
外部存储装置506是以硬盘驱动装置为代表的大容量信息存储装置。外部存储装置506存储操作系统(os)和用于使cpu 501实现图1和图2所示的各个单元的功能的计算机程序(应用程序)。此外,外部存储装置506可以存储要处理的各个图像数据。
[0119]
在cpu 501的控制下,将外部存储装置506中所存储的计算机程序和数据适当地加载到ram 502中,将由cpu 501处理。诸如lan和因特网等的网络以及诸如投影设备和显示设备等的其他装置可以连接到i/f 507,并且计算机可以经由该i/f 507获取并发送各种信息。508是用于连接上述单元的总线。
[0120]
当在上述配置中开启本装置时,cpu 501执行rom 503中所存储的引导程序,将外部存储装置506中所存储的os加载到ram 502中,并执行所加载的os。随后,cpu 501在os的控制下将与编码或解码相关的应用程序从外部存储装置506加载到ram 502中,并执行所加载的应用程序。结果,cpu 501用作图1或图2中的各个处理单元,并且本装置用作图像编码装置或图像解码装置。
[0121]
(其他示例性实施例)
[0122]
本发明还可以通过经由网络或存储介质向系统或设备供给用于实现上述示例性实施例中的一个或多于一个功能的程序、并使系统或设备的计算机中的一个或多于一个处理器读取和执行该程序的处理来实现。本发明还可以通过用于实现一个或多于一个功能的电路(例如,asic)来实现。
[0123]
根据上述各个示例性实施例,可以自适应地确定编码或解码处理中的系数值的可能值的范围。
[0124]
本发明不限于上述示例性实施例,并且可以在本发明的精神和范围内进行各种改变和修改。因此,为了使本发明的范围公开,附上权利要求书。
[0125]
本技术要求于2020年3月18日提交的日本专利申请2020-048201的权益,其全部内容通过引用并入本文。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1