CN108605123B - 通过使用预测对视频进行编码和解码的方法和装置 - Google Patents
通过使用预测对视频进行编码和解码的方法和装置 Download PDFInfo
- Publication number
- CN108605123B CN108605123B CN201780009090.2A CN201780009090A CN108605123B CN 108605123 B CN108605123 B CN 108605123B CN 201780009090 A CN201780009090 A CN 201780009090A CN 108605123 B CN108605123 B CN 108605123B
- Authority
- CN
- China
- Prior art keywords
- prediction
- block
- reconstructed
- current block
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了一种用于通过使用第一预测和第二预测来执行编码和解码的方法和装置。在对当前块进行编码的过程中,基于当前块、第一预测和第二预测来产生当前块的残差信号。另外,产生关于通过对残差信号进行编码而被编码的残差信号的信息。在对当前块进行解码的过程中,产生当前块的恢复的残差信号。基于重建残差信号、第二预测和第一预测来产生当前块的恢复块。
Description
技术领域
以下实施例总体上涉及一种视频解码方法和设备以及视频编码方法和设备,更具体地讲,涉及一种基于目标块的预测来对视频执行编码和解码的方法和设备。
背景技术
随着信息与通信行业的持续发展,具有高清(HD)分辨率的广播服务已经在全世界普及。通过这种普及,大量用户已经习惯了高分辨率和高清晰度图像和/或视频。
为了满足用户对高清晰度的需求,大量机构加速了对下一代成像装置的开发。用户除了对高清TV(HDTV)和全高清(FHD)TV的兴趣已增加之外,对超高清(UHD)TV的兴趣也已增加,其中,超高清(UHD)TV的分辨率是全高清(FUD)TV的分辨率的四倍以上。随着这种兴趣的增加,需要对于具有更高分辨率和更高清晰度的图像的图像编码/解码技术。
图像编码/解码设备和方法可使用帧间预测技术、帧内预测技术、熵编码技术等,以便对高分辨率和高清晰度图像执行编码/解码。帧间预测技术可以是用于使用时间上在前的画面和/或时间上在后的画面对当前画面中包括的像素的值进行预测的技术。帧内预测技术可以是用于使用关于在当前画面中的像素的信息对当前画面中包括的像素的值进行预测的技术。熵编码技术可以是用于将短码分配给更频繁出现的符号并且将长码分配给很少出现的符号的技术。
在图像编码和解码过程中,预测可表示产生与原始信号类似的预测信号。可将预测主要分类为:参考空间上重建的图像的预测、参考时间上重建的图像的预测、以及参考其它符号的预测。换句话说,时间参考可表示在时间上重建的图像被参考,空间参考可表示在空间上重建的图像被参考。
当前块可以是作为当前将被编码或解码的目标的块。当前块可被称为“目标块”或“目标单元”。在编码过程中,当前块可被称为“编码目标块”或“编码目标单元”。在解码过程中,当前块可被称为“解码目标块”或“解码目标单元”。
帧间预测可以是用于使用时间参考和空间参考对当前块进行预测的技术。帧内预测可以是用于仅使用空间参考对当前块进行预测的技术。
当执行帧内预测以减少空间重复时,图像编码/解码技术使用多个预测模式中的任意一个预测模式对当前块进行编码。例如,在高效视频编码(HEVC)中,使用35种帧内预测模式。
编码设备使用多种预测模式中的所有可用预测模式来产生当前块的预测块,并从所述所有可用预测模式之中选择表现出最佳结果的一种预测模式作为用于对当前块进行编码的预测模式。然而,即使使用了表现出最佳结果的预测模式,在原始块与预测块之间仍然存在误差。这种误差被表示为残差块。
对于一些像素,在原始块与预测块之间存在较大的误差。由于此较大的误差,即使在将变换和/或量化应用于残差块之后,空间重复仍可能不被充分减少。
发明内容
技术问题
实施例旨在提供一种减少由于预测而发生的基于预测单元的预测误差的方法和设备。
实施例旨在提供一种减少由于预测模式的预测方向而发生的预测误差的方法和设备。
实施例旨在提供一种对与沿第一预测模式的方向进行的第一预测相应的预测误差执行选择性的第二预测的方法和设备。
实施例旨在提供一种对与第一预测相应的预测误差中的一部分执行选择性的第二预测的方法和设备。
实施例旨在提供一种对在与第一预测相应的预测误差中具有严重失真的部分执行选择性的第二预测的方法和设备。
实施例旨在提供一种通过仅对与第一预测相应的预测误差中的一部分执行选择性的第二预测来防止在对与第一预测相应的所有预测误差执行第二预测时发生额外的预测误差的方法和设备。
实施例旨在提供一种通过减少在预测方向上发生的较大预测误差以通过变换和量化过程来充分减少空间重复的方法和设备。
解决方案
根据一方面,提供了一种编码方法,包括:基于当前块、第一预测和第二预测产生当前块的残差信号;通过对残差信号执行编码来产生关于编码的残差信号的信息,其中,第二预测是对第一预测中的预测误差进行的预测。
根据另一方面,提供了一种解码装置,包括:重建残差信号产生单元产生当前块的重建残差信号;重建块产生单元基于重建残差信号、第二预测和第一预测来产生针对当前块的重建块。
根据另一方面,提供了一种解码方法,包括:产生针对当前块的重建残差信号;基于重建残差信号、第二预测和第一预测来产生针对当前块的重建块。
重建块可与重建残差信号、经由第一预测所产生的第一预测信号以及经由第二预测所产生的第二预测信号之和相应。
第一预测和第二预测可以均是帧内预测。
第二预测和第一预测可具有相同的预测方向。
用于第一预测的多个第一参考块与用于第二预测的多个第二参考块中的至少一部分可以彼此不同。
用于第一预测的第一参考块的类型与用于第二预测的第二参考块的类型可以不同。
用于第一预测的第一参考块可以是与当前块相邻的邻近重建块。
用于第二预测的第二参考块可以是与当前块相邻的邻近重建残差块。
邻近重建残差块可以是所述邻近重建块与针对所述邻近重建块的第一预测块之间的差。
用于第二预测的参考样点的区域可以是用于第一预测的参考样点的区域中的一部分。
将被应用第二预测的区域可以是基于将被用于第二预测的参考样点的范围来指定的。
将被应用第二预测的区域可以是基于第二预测的预测方向来指定的。
参考样点的范围可以是基于指示将被用于第二预测的第一个参考样点的信息以及指示将被用于第二预测的参考样点的数量的信息来指定的。
将被应用第二预测的区域可以是当落在所述范围内的参考样点在第二预测的预测方向上移动时所产生的区域。
落在所述范围外的参考样点的值可被视为空或0。
当指示第二预测是否将被用于对当前块进行编码的第二预测使用信息指示第二预测将不被使用时,可不使用第二预测。
当第一预测的预测模式是非定向模式时,可不使用第二预测。
当当前块与上边界和左边界相邻时,可不使用第二预测。
边界可以是画面的边界、条带的边界或并行块的边界。
可基于与当前块相邻的重建块的数量来确定第二预测是否将被使用。
当第二预测不被使用时,可基于重建残差信号和经由第一预测所产生的第一预测信号来产生重建块。
有益效果
提供了一种减少由于预测而发生的基于预测单元的预测误差的方法和设备。
提供了一种减少由于预测模式的预测方向而发生的预测误差的方法和设备。
提供了一种对与沿第一预测模式的方向进行的第一预测相应的预测误差执行选择性的第二预测的方法和设备。
提供了一种对与第一预测相应的预测误差中的一部分执行选择性的第二预测的方法和设备。
提供了一种对在与第一预测相应的预测误差中具有严重失真的部分执行选择性的第二预测的方法和设备。
提供了一种通过仅对与第一预测相应的预测误差中的一部分执行选择性的第二预测来防止在对与第一预测相应的所有预测误差执行第二预测时发生额外的预测误差的方法和设备。
实施例旨在提供一种通过减少在预测方向上发生的较大预测误差以通过变换和量化过程来充分减少空间重复的方法和设备。
附图说明
图1是示出被应用了本发明的编码设备的实施例的配置的框图;
图2是示出被应用了本发明的解码设备的实施例的配置的框图;
图3是示意性地示出了当图像被编码和解码时图像的分区结构的示图;
图4是示出编码单元(CU)能够包括的预测单元(PU)的形状的示图;
图5是示出能够被包括在CU中的变换单元(TU)的形状的示图;
图6是用于解释帧内预测过程的实施例的示图;
图7是用于解释帧内预测过程中使用的参考样点的位置的示图;
图8是用于解释帧间预测过程的实施例的示图;
图9是示出根据实施例的当沿垂直方向对原始图像进行预测时的预测误差的示图;
图10是根据实施例的编码设备的配置图;
图11是根据实施例的编码方法的流程图;
图12是示出根据实施例的使用帧内预测的第一预测和第二预测的示图;
图13是根据实施例的残差块产生方法的流程图;
图14是根据实施例的重建块产生方法的流程图;
图15是示出根据实施例的编码过程的示图;
图16是根据实施例的解码设备的配置图;
图17是根据实施例的解码方法的流程图;
图18是根据实施例的重建块产生方法的流程图;
图19是示出根据实施例的解码过程的示图。
最佳实施方式
将参照示出特定实施例的附图对以下示例性实施例进行详细描述。描述这些实施例,使得本公开所属技术领域的普通技术人员能够容易地实践这些实施例。应注意,各种实施例彼此不同,但不需要彼此互斥。例如,在此描述的特定形状、结构和特性可在不脱离与一个实施例相关的多个实施例的精神和范围的情况下被实现为其它实施例。此外,应该理解,在不脱离实施例的精神和范围的情况下,能够改变在每个公开的实施例中的各个组件的位置或布置。因此,所附的详细描述并非旨在限制本公开的范围,并且示例性实施例的范围仅由所附的权利要求及其等同物(只要它们被适当地描述)限定。
在附图中,相似的参考标号被用于在各个方面指定相同或相似的功能。附图中的组件的形状、尺寸等可被夸大以使得描述清楚。
将理解,当组件被称为“连接”或“耦接”到另一组件时,所述组件可直接连接或耦接到所述另一组件,或者存在中间组件。此外,应注意,在示例性实施例中,用于描述组件“包括”特定组件的表述意味着另外的组件可被包括在示例性实施例的实践范围或技术精神中,但是不排除存在所述特定组件以外的组件。
诸如“第一”和“第二”的术语可用于描述各种组件,但是组件不受所述术语限制。所述术语仅用于将一个组件与另一个组件区分开。例如,在不脱离本说明书的范围的情况下,第一组件可被称为第二组件。类似地,第二组件可被称为第一组件。
此外,在实施例中描述的组件被独立地示出以表示不同的特征功能,但是这并不意味着每个组件由一个单独的硬件或软件形成。也就是说,为了方便描述,多个组件被单独地布置和包括。例如,多个组件中的至少两个组件可被集成为单个组件。相反,一个组件可被划分为多个组件。只要不脱离本说明书的本质,多个组件被集成的实施例或一些组件被分离的实施例被包括在本说明书的范围中。
此外,一些组件不是用于执行必要功能的必要组件,但是可以是用于仅提高性能的可选组件。实施例可仅使用用于实现实施例的本质的必要组件来实现。例如,仅包括必要组件而排除仅用于提高性能的可选组件的结构也被包括在实施例的范围内。
下面将参照附图来详细描述实施例,使得实施例所属技术领域的普通技术人员能够容易地实践实施例。在实施例的以下描述中,被视为使本说明书的要点模糊的公知功能或配置的详细描述将被省略。
在下文中,“图像”可表示构成视频的一部分的单个画面,或者可表示视频本身。例如,“对图像的编码和/或解码”可表示“对视频的编码和/或解码”,并且也可表示“对构成视频的多个图像中的任意一个图像的编码和/或解码”。
在下文中,术语“视频”和“运动画面”可被用于具有相同的含义,并且可彼此互换。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用于具有相同的含义,并且可彼此互换。
在以下的实施例中,特定的信息、数据、标志、元素和属性可具有它们各自的值。与所述信息、数据、标志、元素和属性中的每一个相应的值0可指示逻辑假或第一预定义值。换句话说,值“0”(逻辑假)和第一预定义值可彼此互换。与所述信息、数据、标志、元素和属性中的每一个相应的值“1”可指示逻辑真或第二预定义值。换句话说,值“1”(逻辑真)和第二预定义值可彼此互换。
当诸如i或j的变量被用于指示行、列或索引时,值i可以是整数0或大于0的整数,或者可以是整数1或大于1的整数。换句话说,在实施例中,行、列和索引中的每一个可从0开始计数,或者可以从1开始计数。
下面,将描述将在实施例中使用的术语。
单元:“单元”可表示图像编码和解码的单元。术语“单元”和“块”的含义可以彼此相同。此外,术语“单元”和“块”可彼此互换。
–单元(或块)可以是M×N样点矩阵。M和N可分别是正整数。术语“单元”通常可表示二维(2D)样点的阵列。术语“样点”可以是像素或像素值。
–术语“像素”和“样点”可被用于具有相同含义并且可彼此互换。
–在图像的编码和解码过程中,“单元”可以是通过对一个图像进行分区而产生的区域。单个图像可被分区为多个单元。在对图像进行编码和解码时,可根据单元的类型执行针对每个单元预定义的处理。根据功能,单元的类型可被分类为宏单元、编码单元(CU)、预测单元(PU)和变换单元(TU)。单个单元还可被进一步分区为具有比该单元的尺寸更小的尺寸的更下层单元。
–单元分区信息可包括关于单元的深度的信息。深度信息可表示单元被分区的次数和/或程度。
–单个单元可被分层分区为多个更下层单元,同时所述多个更下层单元具有基于树结构的深度信息。换句话说,单元和通过对该单元进行分区而产生的更下层单元可分别对应于节点和该节点的子节点。各个被分区出的更下层单元可具有深度信息。单元的深度信息表示该单元被分区的次数和/或程度,因此,更下层单元的分区信息可包括关于所述更下层单元的尺寸的信息。
–在树结构中,顶部节点可对应于进行分区之前的初始节点。顶部节点可被称为“根节点”。此外,根节点可具有最小深度值。这里,顶部节点的深度可为级别“0”。
–深度为级别“1”的节点可表示在初始单元被分区一次时所产生的单元。深度为级别“2”的节点可表示在初始单元被分区两次时所产生的单元。
–深度为级别“n”的叶节点可表示在初始单元被分区n次时所产生的单元。
–叶节点可以是底部节点,该叶节点不能被进一步分区。叶节点的深度可以是最大级别。例如,针对最大级别的预定义值可以是3。
–变换单元(TU):TU可以是残差信号编码和/或残差信号解码(诸如,变换、逆变换、量化、反量化、变换系数编码和变换系数解码)的基本单元。单个TU可被分区为多个TU,其中,所述多个TU中的每个TU具有更小的尺寸。
–预测单元(PU):PU可以是在预测或补偿的执行中的基本单元。PU可通过进行分区而被分区为多个分区。所述多个分区也可以是在预测或补偿的执行中的基本单元。经由对PU进行分区所产生的分区也可以是预测单元。
–重建的邻近单元:重建的邻近单元可以是在编码目标单元或解码目标单元附近的先前已被编码或解码并重建的单元。重建的邻近单元可以是在空间上与目标单元邻近的单元,也可以是在时间上与目标单元邻近的单元。
–预测单元分区:预测单元分区可表示PU被分区的形状。
–参数集:参数集可对应于关于比特流的结构的头的信息。例如,参数集可包括序列参数集、画面参数集、适配参数集等。
–率失真优化:编码设备可使用率失真优化以便通过利用以下项的组合来提供更高的编码效率:CU的尺寸、预测模式、预测单元的尺寸、运动信息和TU的尺寸。
–率失真优化方案:该方案可计算各个组合的率失真代价以从这些组合中选择最优组合。可使用以下等式1来计算率失真代价。通常,可将使率失真代价最小化的组合选为在率失真优化方法下的最优组合。
[等式1]
D+λ*R
这里,D可表示失真。D可以是在变换块中的原始变换系数和重建的变换系数之间的差值的平方的平均值(均方误差)。
R表示码率,其可使用相关上下文信息来表示比特率。
λ表示拉格朗日乘数。R不仅可包括编码参数信息(诸如预测模式、运动信息和编码块标志),还可包括由于对变换系数进行编码而产生的比特。
编码设备执行诸如帧间预测和/或帧内预测、变换、量化、熵编码、反量化和逆变换的过程,以便计算精确的D和R,但是这些过程会大大增加编码设备的复杂度。
–参考画面:参考画面可以是被用于帧间预测或运动补偿的图像。参考画面可以是包括被目标单元参考以执行帧间预测或运动补偿的参考单元的画面。术语“画面”和“图像”可具有相同的含义。因此,术语“画面”和“图像”可彼此互换。
–参考画面列表:参考画面列表可以是包括被用于帧间预测或运动补偿的参考画面的列表。参考画面列表的类型可以是合并的列表(LC)、列表0(L0)、列表1(L1)等。
–运动矢量(MV):MV可以是用于帧间预测的2D矢量。例如,可以以诸如(mvx,mvy)的形式来表示MV。mvx可指示水平分量,mvy可指示垂直分量。
–MV可表示目标画面与参考画面之间的偏移。
–搜索范围:搜索范围可以是在帧间预测期间执行针对MV的搜索的2D区域。例如,搜索范围的尺寸可以是M×N。M和N可分别是正整数。
图1是示出被应用了本发明的编码设备的实施例的配置的框图。
编码设备100可以是视频编码设备或图像编码设备。视频可包括一个或更多个图像(画面)。编码设备110可随着时间顺序地对视频的一个或更多个图像进行编码。
参照图1,编码设备100包括帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190。
编码设备100可在帧内模式和/或帧间模式下对输入图像执行编码。输入图像可被称为“当前图像”,作为当前将被编码的目标。
此外,编码设备100可通过对输入图像进行编码来产生包括关于编码的信息的比特流,并且可输出产生的比特流。
当帧内模式被使用时,切换器115可切换到帧内模式。当帧间模式被使用时,切换器115可切换到帧间模式。
编码设备100可针对输入图像中的输入块产生预测块。此外,在产生了预测块之后,编码设备100可对输入块与预测块之间的残差进行编码。输入块可被称为“当前块”,作为当前将被编码的目标。
当预测模式是帧内模式时,帧内预测单元120可将在当前块周围的先前被编码的邻近块的像素值用作参考像素。帧内预测单元120可使用所述参考像素对当前块执行空间预测,并且经由空间预测针对当前块产生预测样点。
帧间预测单元110可包括运动预测单元和运动补偿单元。
当预测模式是帧间模式时,运动预测单元可在运动预测过程中在参考图像中搜索与当前块最匹配的区域,并且可针对当前块和找到的区域推导出运动矢量。参考图像可被存储在参考画面缓冲器190中。更具体地讲,当参考图像的编码和/或解码被处理时,参考图像可被存储在参考画面缓冲器190中。
运动补偿单元可通过使用运动矢量执行运动补偿来产生预测块。这里,运动矢量可以是用于帧间预测的二维(2D)矢量。此外,运动矢量可表示当前图像和参考图像之间的偏移。
减法器125可产生残差块,其中,残差块是输入块与预测块之间的残差。残差块也被称为“残差信号”。
变换单元130可通过对残差块进行变换来产生变换系数,并且可输出产生的变换系数。这里,变换系数可以是通过对残差块进行变换而产生的系数值。当使用变换跳过模式时,变换单元130可省略对残差块进行变换的操作。
通过对变换系数实施量化,可产生量化的变换系数等级。这里,在实施例中,量化的变换系数等级也可被称为“变换系数”。
量化单元140可通过根据量化参数对变换系数进行量化来产生量化的变换系数等级。量化单元140可输出量化的变换系数等级。在这种情况下,量化单元140可使用量化矩阵对变换系数进行量化。
熵编码单元150可通过基于由量化单元140计算出的值和/或在编码过程中计算出的编码参数值执行基于概率分布的熵编码来产生比特流。熵编码单元150可输出产生的比特流。
除了图像的像素信息之外,熵编码单元150还可针对对图像进行解码所需的信息执行熵编码。例如,对图像进行解码所需的信息可包括语法元素等。
编码参数可以是进行编码和/或解码所需的信息。编码参数可包括由编码设备编码并被传送到解码设备的信息,并且还可包括在编码或解码过程中推导出的信息。例如,被传送到解码设备的信息可包括语法元素。
例如,编码设备可包括值或统计信息,诸如预测模式、运动矢量、参考画面索引、编码块图案、存在或不存在残差信号、变换系数、量化的变换系数、量化参数、块尺寸以及块分区信息。预测模式可以是帧内预测模式或帧间预测模式。
残差信号可表示原始信号与预测信号之间的差。可选地,残差信号可以是通过对原始信号与预测信号之间的差进行变换而产生的信号。可选地,残差信号可以是通过对原始信号与预测信号之间的差进行变换和量化而产生的信号。残差块可以是基于块的残差信号。
当应用熵编码时,可将更少的比特分配给更频繁出现的符号,并且可将更多的比特分配给很少出现的符号。由于通过该分配来表示符号,因此可减少用于将被编码的目标符号的比特串的大小。因此,通过熵编码可提高视频编码的压缩性能。
此外,为了进行熵编码,可使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)的编码方法。例如,熵编码单元150可使用可变长度编码/码(VLC)表来执行熵编码。例如,熵编码单元150可推导出用于目标符号的二值化方法。此外,熵编码单元150可推导出用于目标符号/二进制位的概率模型。熵编码单元150可使用推导出的二值化方法或概率模型来执行熵编码。
由于编码设备100经由帧间预测执行编码,因此编码的当前图像可被用作用于将被后续处理的另外的图像的参考图像。因此,编码设备100可对编码的当前图像进行解码,并将解码的图像存储为参考图像。对于解码,可进行对编码的当前图像的反量化和逆变换。
量化的系数可由反量化单元160进行反量化,并且可由逆变换单元170进行逆变换。可由加法器175将已被反量化和逆变换的系数与预测块相加。将反量化且逆变换的系数和预测块相加,然后可产生重建块。
重建块可通过滤波单元180进行滤波。滤波单元180可将去块滤波器、样点自适应偏移(SAO)滤波器和自适应环路滤波器(ALF)中的一个或更多个滤波器应用于重建块或重建画面。滤波单元180也可被称为“自适应环内滤波器”。
去块滤波器可消除在块的边界处出现的块失真。SAO滤波器可将适当的偏移值与像素值相加以便对编码误差进行补偿。ALF可基于重建块与原始块之间的比较结果来执行滤波。可将已经通过滤波单元180进行了滤波的重建块存储在参考画面缓冲器190中。
图2是示出被应用了本发明的解码设备的实施例的配置的框图。
解码设备200可以是视频解码设备或图像解码设备。
参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、滤波单元260和参考画面缓冲器270。
解码设备200可接收从编码设备100输出的比特流。解码设备200可在帧内模式和/或帧间模式下对比特流执行解码。此外,解码设备200可经由解码来产生重建图像,并且可输出重建图像。
例如,可通过切换器来执行基于用于进行解码的预测模式而切换到帧内模式或帧间模式的操作。当用于解码的预测模式是帧内模式时,切换器可被操作以切换到帧内模式。当用于解码的预测模式是帧间模式时,切换器可被操作以切换到帧间模式。
解码设备200可从输入的比特流获取重建的残差块,并且可产生预测块。当重建的残差块和预测块被获取时,解码设备200可通过将重建的残差块与预测块相加来产生重建块。
熵解码单元210可通过基于概率分布对比特流执行熵解码来产生符号。产生的符号可包括量化的系数格式符号。这里,熵解码方法可与以上描述的熵编码方法相似。也就是说,熵解码方法可以是以上描述的熵编码方法的逆过程。
量化的系数可由反量化单元220进行反量化。此外,反量化的系数可由逆变换单元230进行逆变换。作为对量化的系数进行反量化和逆变换的结果,可产生重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的系数。
当使用帧内模式时,帧内预测单元240可通过使用在当前块周围的先前被编码的邻近块的像素值执行空间预测来产生预测块。
帧间预测单元250可包括运动补偿单元。当使用帧间模式时,运动补偿单元250可通过执行利用运动矢量和参考图像的运动补偿来产生预测块。参考图像可存储在参考画面缓冲器270中。
重建的残差块和预测块可由加法器255彼此相加。加法器255可通过将重建的残差块和预测块相加来产生重建块。
重建块可通过滤波单元160进行滤波。滤波单元260可将去块滤波器、SAO滤波器和ALF中的一个或更多个应用于重建块或重建画面。滤波单元260可输出重建图像(画面)。重建图像可被存储在参考画面缓冲器270中,并且然后可被用于帧间预测。
图3是示意性地示出了当图像被编码和解码时图像分区结构的示图。
为了有效地对图像进行分区,可在编码和解码中使用编码单元(CU)。术语“单元”可被用于共同地指定1)包括图像样点的块和2)语法元素。例如,“单元的分区”可表示“与单元相应的块的分区”。
参照图3,图像200被顺序地分区为与最大编码单元(LCU)相应的单元,并且图像300的分区结构可根据LCU被确定。这里,LCU可被用于具有与编码树单元(CTU)相同的含义。
分区结构可表示LCU 310中的用于对图像进行有效编码的编码单元(CU)的分布。可根据单个CU是否将被分区为四个CU来确定这种分布。从进行分区所产生的每个CU的水平尺寸和垂直尺寸可以是被分区之前的CU的水平尺寸和垂直尺寸的一半。每个被分区出的CU可被递归地分区为四个CU,并且按照相同的方式,所述四个CU的水平尺寸和垂直尺寸被减半。
这里,可递归地执行CU的分区直到预定义深度为止。深度信息可以是指示CU的尺寸的信息。针对每个CU可存储深度信息。例如,LCU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的CU,SCU可以是具有最小编码单元尺寸的CU。
在LCU 310处开始进行分区,每当CU的水平尺寸和垂直尺寸通过进行分区而减半时,CU的深度可增加“1”。对于各个深度,未被分区的CU可具有2N×2N的尺寸。此外,在CU被分区的情况下,尺寸为2N×2N的CU可被分区为尺寸均为N×N的四个CU。每当深度增加1时,尺寸N可减半。
参照图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来表示。
此外,关于相应CU是否被分区的信息可以用CU的分区信息来表示。分区信息可以是1比特信息。除了SCU之外的所有CU可包括分区信息。例如,当CU不被分区时,CU的分区信息的值可以是0。当CU被分区时,CU的分区信息的值可以是1。
图4是示出编码单元(CU)能够包括的预测单元(PU)的形状的示图。
在从LCU分区出的CU中,可将不再被分区的CU划分为一个或更多个预测单元(PU)。这种划分也可被称为“分区”。
PU可以是用于预测的基本单元。PU可在跳过模式、帧间模式和帧内模式中的任意一个模式下被编码和解码。可根据各个模式将PU分区为各种形状。
在跳过模式下,在CU中可不存在分区。在跳过模式下,可支持2N×2N模式410,而不进行分区,其中,在2N×2N模式中,PU的尺寸和CU的尺寸彼此相同。
在帧间模式下,在CU中可存在8种类型的分区形状。例如,在帧间模式下,可支持2N×2N模式410、2N×N模式415、N×2N模式420、N×N模式425、2N×nU模式430、2N×nD模式435、nL×2N模式440和nR×2N模式445。
在帧内模式下,可支持2N×2N模式410和N×N模式425。
在2N×2N模式410下,可对尺寸为2N×2N的PU进行编码。尺寸为2N×2N的PU可表示尺寸与CU的尺寸相同的PU。例如,尺寸为2N×2N的PU可具有尺寸64×64、32×32、16×16或8×8。
在N×N模式425下,可对尺寸为N×N的PU进行编码。
例如,在帧内预测中,当PU的尺寸是8×8时,可对四个分区出的PU进行编码。每个分区出的PU的尺寸可以是4×4。
当在帧内模式下对PU进行编码时,可使用多个帧内预测模式中的任意一个对PU进行编码。例如,HEVC技术可提供35个帧内预测模式,PU可在所述35个帧内预测模式中的任意一个下被编码。
可基于率失真代价来确定2N×2N模式410和N×N模式425中的哪一个模式将被用于对PU进行编码。
编码设备100可对尺寸为2N×2N的PU执行编码操作。这里,编码操作可以是在能够被编码设备100使用的多个帧内预测模式中的每个模式下对PU进行编码的操作。通过编码操作,可得到用于尺寸为2N×2N的PU的最佳帧内预测模式。最佳帧内预测模式可以是能够被编码设备100使用的多个帧内预测模式之中的在对尺寸为2N×2N的PU进行编码时出现最小率失真代价的帧内预测模式。
此外,编码设备100可顺序地对通过进行N×N分区而获得的各个PU执行编码操作。这里,编码操作可以是在能够被编码设备100使用的多个帧内预测模式中的每个模式下对PU进行编码的操作。通过编码操作,可得到用于尺寸为N×N的PU的最佳帧内预测模式。最佳帧内预测模式可以是能够被编码设备100使用的多个帧内预测模式之中的在对尺寸为N×N的PU进行编码时出现最小率失真代价的帧内预测模式。
编码设备100可基于尺寸为2N×2N的PU的率失真代价和尺寸为N×N的PU的率失真代价之间的比较结果来确定尺寸为2N×2N的PU和尺寸为N×N的PU中的哪一个将被编码。
图5是示出能够被包括在CU中的变换单元(TU)的形状的示图。
变换单元(TU)可是CU中被用于诸如变换、量化、逆变换、反量化、熵编码和熵解码的过程的基本单元。TU可具有正方形或矩形的形状。
在从LCU分区出的CU中,可将不再被分区为CU的CU分区为一个或更多个TU。这里,TU的分区结构可以是四叉树结构。例如,如图5中所示,可根据四叉树结构将单个CU 510分区一次或更多次。通过这种分区,单个CU 510可由具有各种尺寸的TU组成。
图6是用于解释帧内预测过程的实施例的示图。
从图6中的图的中心径向延伸的箭头可表示帧内预测模式的预测方向。此外,在箭头附近示出的数字可表示被分配给帧内预测模式或被分配给帧内预测模式的预测方向的模式值的示例。
可使用与目标单元邻近的单元的参考样点来执行帧内编码和/或解码。邻近单元可以是邻近的重建单元。例如,可使用在每个邻近的重建单元中包括的参考样点的值或者邻近的重建单元的编码参数来执行帧内编码和/或解码。
编码设备100和/或解码设备200可通过基于关于当前画面中的样点的信息对目标单元执行帧内预测来产生预测块。当帧内预测被执行时,编码设备100和/或解码设备200可通过基于关于当前画面中的样点的信息执行帧内预测来产生用于目标单元的预测块。当帧内预测被执行时,编码设备100和/或解码设备200可基于至少一个重建的参考样点来执行定向预测和/或非定向预测。
预测块可表示作为执行帧内预测的结果而产生的块。预测块可对应于CU、PU和TU中的至少一个。
预测块的单元可具有与CU、PU和TU中的至少一个相应的尺寸。预测块可具有尺寸为2N×2N或N×N的正方形形状。尺寸N×N可包括尺寸4×4、8×8、16×16、32×32、64×64等。
可选地,预测块可以是尺寸为2×2、4×4、16×16、32×32、64×64等的正方形块或者尺寸为2×8、4×8、2×16、4×16、8×16等的矩形块。
可根据用于目标单元的帧内预测模式执行帧内预测。目标单元可具有的帧内预测模式的数量可以是预定义的固定值,并且可以是根据预测块的属性不同地确定的值。例如,预测块的属性可包括预测块的尺寸、预测块的类型等。
例如,不论预测单元的尺寸如何,帧内预测模式的数量都可被固定为35。可选地,帧内预测模式的数量可以是例如3、5、9、17、34、35或36。
如图6中所示,帧内预测模式可包括两种非定向模式和33种定向模式。所述两种非定向模式可包括DC模式和平面模式。
例如,在模式值为26的垂直模式中,可基于参考样点的像素值沿垂直方向执行预测。例如,在模式值为10的水平模式中,可基于参考样点的像素值沿水平方向执行预测。例如,在模式值为26的垂直模式中,可基于参考样点的像素值沿垂直方向执行预测。
即使在除了上述模式之外的定向模式中,编码设备100和解码设备200仍可使用依据与定向模式相应的角度的参考样点对目标单元执行帧内预测。
位于相对于垂直模式的右侧的帧内预测模式可被称为“垂直-右侧模式”。位于水平模式下方的帧内预测模式可被称为“水平-下方模式”。例如,在图6中,模式值是27、28、29、30、31、32、33和34之一的帧内预测模式可以是垂直-右侧模式613。模式值是2、3、4、5、6、7、8和9之一的帧内预测模式可以是水平-下方模式616。
非定向模式可包括DC模式和平面模式。例如,DC模式的模式值可以是1。平面模式的模式值可以是0。
定向模式可包括角模式。在多种帧内预测模式之中,除了DC模式和平面模式之外的模式可以是定向模式。
在DC模式中,可基于多个参考样点的像素值的平均值来产生预测块。例如,可基于多个参考样点的像素值的平均值来确定预测块的像素值。
以上描述的帧内预测模式的数量以及各个帧内预测模式的模式值仅是示例性的。可根据实施例、实现和/或要求来不同地定义以上描述的帧内预测模式的数量以及各个帧内预测模式的模式值。
帧内预测模式的数量可根据颜色分量的类型而不同。例如,预测模式的数量可根据颜色分量是亮度(luma)信号还是色度(chroma)信号而不同。
图7是用于解释在帧内预测过程中使用的参考样点的位置的示图。
图7示出了用于对目标单元进行帧内预测的参考样点的位置。参照图7,用于对当前块进行帧内预测的重建参考样点可包括例如左下方参考样点731、左侧参考样点733、左上角参考样点735、上方参考样点737和右上方参考样点739。
例如,左侧参考样点733可表示与目标单元的左侧相邻的重建参考样点。上方参考样点737可表示与目标单元的顶部相邻的重建参考样点。左上角参考样点735可表示位于目标单元的左上角处的重建参考样点。左下方参考样点731可表示在位于与由左侧参考样点733组成的左侧样点线相同的线上的样点之中的位于所述左侧样点线下方的参考样点。右上方参考样点739可表示在位于与由上方参考样点737组成的上方样点线相同的线上的样点之中的位于所述上方样点线右侧的参考样点。
当目标单元的尺寸是N×N时,左下方参考样点731、左侧参考样点733、上方参考样点737和右上方参考样点739的数量可以均是N。
通过对目标单元执行帧内预测,可产生预测块。产生预测块的过程可包括确定预测块中的像素的值。目标单元和预测块的尺寸可以相同。
用于对目标单元进行帧内预测的参考样点可根据目标单元的帧内预测模式而改变。帧内预测模式的方向可表示参考样点与预测块的像素之间的依赖关系。例如,指定参考样点的值可被用作预测块中的一个或更多个指定像素的值。在这种情况下,所述指定参考样点和预测块中的所述一个或更多个指定像素可以是位于沿帧内预测模式的方向的直线上的样点和像素。换句话说,所述指定参考样点的值可被复制作为位于与帧内预测模式的方向相反的方向上的像素的值。可选地,在预测块中的像素的值可以是相对于该像素的位置位于帧内预测模式的方向上的参考样点的值。
在一个示例中,当目标单元的帧内预测模式是模式值为26的垂直模式时,上方参考样点737可被用于帧内预测。当帧内预测模式是垂直模式时,预测块中的像素的值可以是垂直地位于该像素的位置上方的参考像素的值。因此,与目标单元的顶部相邻的上方参考样点737可被用于帧内预测。此外,在预测块的一行中的像素的值可与上方参考样点737的像素的值相同。
在一个示例中,当当前块的帧内预测模式是模式值为10的水平模式时,左侧参考样点733可被用于帧内预测。当帧内预测模式是水平模式时,预测块中的像素的值可以是水平地位于该像素的左侧的参考像素的值。因此,与目标单元的左侧相邻的左侧参考样点733可被用于帧内预测。此外,在预测块的一列中的像素的值可与左侧参考样点733的像素的值相同。
在一个示例中,当当前块的帧内预测模式的模式值是18时,左侧参考样点733中的至少一些、左上角参考样点735、以及上方参考样点737中的至少一些可被用于帧内预测。当帧内预测模式的模式值是18时,预测块中的像素的值可以是对角地位于该像素的左上角处的参考像素的值。
此外,当具有与27、28、29、30、31、32、33或34相应的模式值的帧内预测模式被使用时,右上方参考样点739中的至少一些可被用于帧内预测。
此外,当具有与2、3、4、5、6、7、8或9相应的模式值的帧内预测模式被使用时,左下方参考样点731中的至少一些可被用于帧内预测。
此外,当具有与11至25中的任意一个相应的模式值的帧内预测模式被使用时,左上角参考样点735可被用于帧内预测。
用于确定预测块中的一个像素的像素值的参考样点的数量可以是1或者2或者更多。
如上所述,可根据像素的位置和由帧内预测模式的方向所指示的参考样点的位置来确定预测块中的像素的像素值。当像素的位置以及由帧内预测模式的方向所指示的参考样点的位置是整数位置时,由整数位置所指示的一个参考样点的值可被用于确定预测块中的像素的像素值。
当像素的位置以及由帧内预测模式的方向所指示的参考样点的位置不是整数位置时,可产生基于与该参考样点的位置最接近的两个参考样点的内插参考样点。内插参考样点的值可被用于确定预测块中的像素的像素值。换句话说,当预测块中的像素的位置以及由帧内预测模式的方向所指示的参考样点的位置指示两个参考样点之间的位置时,可产生基于这两个样点的值的内插值。
经由预测而产生的预测块可以与原始目标单元不同。换句话说,可能存在预测误差,该预测误差是目标单元与预测单元之间的差,并且也可能存在在目标单元的像素与预测块的像素之间的预测误差。例如,在定向帧内预测的情况下,预测块的像素与参考样点之间的距离越长,则可能发生的预测误差越大。这种预测误差可导致产生的预测块与相邻块之间的不连续性。
为了减少预测误差,可使用针对预测块的滤波操作。滤波操作可被配置为自适应地将滤波器应用于预测块中的被认为具有较大预测误差的区域。例如,被认为具有较大预测误差的区域可以是预测块的边界。此外,在预测块中被认为具有较大预测误差的区域可根据帧内预测模式而不同,并且滤波器的特性也可根据帧内预测模式而不同。
图8是用于解释帧内预测过程的实施例的示图。
图8中示出的矩形可表示图像(或画面)。此外,在图8中,箭头可表示预测方向。也就是说,可根据预测方向对每个图像进行编码和/或解码。
图像(或画面)可根据编码类型被分类为帧内画面(I画面)、单向预测画面或预测编码画面(P画面)、和双向预测画面或双向预测编码画面(B画面)。可根据每个画面的编码类型对每个画面进行编码。
当作为将被编码的目标的图像是I画面时,图像自身可在不进行帧间预测的情况下被编码。当作为将被编码的目标的图像是P画面时,可经由仅使用前向方向上的参考画面的帧间预测对图像进行编码。当作为将被编码的目标的图像是B画面时,可经由使用前向方向和反向方向两者上的参考画面的帧间预测对图像进行编码,也可以经由使用前向方向和反向方向之一上的参考画面的帧间预测对图像进行编码。
使用参考画面进行编码和/或解码的P画面和B画面可被视为使用帧间预测的图像。
下面,将详细地描述根据实施例的在帧间模式下的帧间预测。
在帧间模式下,编码设备100和解码设备200可对编码目标单元和解码目标单元执行预测和/或运动补偿。例如,编码设备100或解码设备200可通过将邻近重建块的运动信息用作编码目标单元或解码目标单元的运动信息来执行预测和/或运动补偿。这里,所述编码目标单元或所述解码目标单元可表示预测单元和/或预测单元分区。
可使用参考画面和运动信息来执行帧间预测。此外,帧间预测可使用以上描述的跳过模式。
参考画面可以是在当前画面之前或之后的画面中的至少一个。这里,帧间预测可基于参考画面对当前画面中的块执行预测。这里,参考画面可表示被用于对块进行预测的图像。
这里,可通过使用指示参考画面的参考画面索引refIdx以及运动矢量来指定参考画面中的区域,这将在随后进行描述。
帧间预测可选择参考画面和该参考画面中的与当前块相应的参考块,并且可使用所选择的参考块来产生用于当前块的预测块。当前块可以是在当前画面中的块之中的作为当前将被编码或解码的目标的块。
运动信息可由编码设备100和解码设备200中的每一个在帧间预测期间推导出。此外,推导出的运动信息可被用于执行帧间预测。
这里,编码设备100和解码设备200可通过使用邻近重建块的运动信息和/或同位块(col块)的运动信息来提高编码效率和/或解码效率。col块可以是在先前已被重建的同位画面(col画面)中与当前块相应的块。
邻近重建块可以是存在于当前画面中的块,并且可以是先前已经经由编码和/或解码被重建的块。重建块可以是与当前块相邻的邻近块和/或位于当前块的外部角处的块。这里,“位于当前块的外部角处的块”可表示垂直相邻于与当前块水平相邻的邻近块的块,或者水平相邻于与当前块垂直相邻的邻近块的块。
例如,邻近重建单元(块)可以是位于目标单元左侧的单元、位于目标单元上方的单元、位于目标单元的左下角处的单元、位于目标单元的右上角处的单元或者位于目标单元的左上角处的单元。
编码设备100和解码设备200中的每一个可确定在col画面中存在于在空间上与当前块相应的位置处的块,并可基于确定的所述块来确定预定义的相对位置。所述预定义的相对位置可以是存在于在空间上与当前块相应的位置处的所述块内部和/或外部位置。此外,编码设备100和解码设备200中的每一个可基于已经确定的所述预定义的相对位置来推导出col块。这里,col画面可以是参考画面列表中包括的一个或更多个参考画面中的任意一个画面。
在参考画面中的块可存在于在重建的参考画面中的在空间上与当前块的位置相应的位置处。换句话说,当前块在当前画面中的位置与所述块在参考画面中的位置可以彼此相应。在下文中,在参考画面中包括的块的运动信息可被称为“时间运动信息”。
用于推导运动信息的方法可根据当前块的预测模式而变化。例如,作为被应用于帧间预测的预测模式,可存在高级运动矢量预测因子(AMVP)模式、合并模式等。
例如,当AMVP模式被用作预测模式时,编码设备100和解码设备200中的每一个可使用邻近重建块的运动矢量和/或col块的运动矢量来产生预测运动矢量候选列表。邻近重建块的运动矢量和/或col块的运动矢量可被用作预测运动矢量候选。
由编码设备100产生的比特流可包括预测运动矢量索引。预测运动矢量索引可表示从预测运动矢量候选列表中包括的预测运动矢量候选中选择的最佳预测运动矢量。通过比特流,可将预测运动矢量索引从编码设备100发送到解码设备200。
解码设备200可使用预测运动矢量索引从预测运动矢量候选列表中包括的预测运动矢量候选中选择当前块的预测运动矢量。
编码设备100可计算当前块的运动矢量与预测运动矢量之间的运动矢量差(MVD),并且可对MVD进行编码。比特流可包括编码的MVD。可通过比特流将MVD从编码设备100发送到解码设备200。这里,解码设备200可对接收到的MVD进行解码。解码设备200可使用解码的MVD和预测运动矢量之和来推导出当前块的运动矢量。
比特流可包括用于指示参考画面的参考画面索引等。可通过比特流将参考画面索引从编码设备100发送到解码设备200。解码设备200可使用邻近块的运动信息来预测当前块的运动矢量,并且可使用预测运动矢量与运动矢量之间的差(MVD)来推导出当前块的运动矢量。解码设备200可基于推导出的运动矢量和参考画面索引信息来产生针对当前块的预测块。
由于邻近重建块的运动信息可被用于对目标单元进行编码和对目标单元进行解码,因此编码设备100可在特定帧间预测模式下不单独对目标单元的运动信息进行编码。如果不对目标单元的运动信息进行编码,则可减少被发送到解码设备200的比特数量,并且可提高编码效率。例如,可存在作为不对目标单元的运动信息进行编码的帧间预测模式的跳过模式和/或合并模式。这里,编码设备100和解码设备200中的每一个可使用指示多个邻近重建块中的一个邻近重建块的标识符和/或索引,其中,所述一个邻近重建块的运动信息将被用作目标单元的运动信息。
存在作为推导运动信息的方法的另一示例的合并方法。术语“合并”可表示对多个块的运动的合并。术语“合并”可表示一个块的运动信息也被应用于其它块。当应用合并时,编码设备100和解码设备200中的每一个可使用邻近重建块的运动信息和/或col块的运动信息来产生合并候选列表。运动信息可包括以下项中的至少一项:1)运动矢量、2)参考图像的索引和3)预测方向。预测方向可以是单向或双向。
这里,可在CU基础上或PU基础上应用合并。当在CU基础上或PU基础上执行合并时,编码设备100可通过比特流将预定义的信息发送到解码设备200。比特流可包括预定义的信息。预定义的信息可包括:1)关于是否针对各个块分区执行合并的信息、以及2)关于与当前块相邻的多个邻近块之中的将被用于执行合并的邻近块的信息。例如,当前块的邻近块可包括当前块的左侧邻近块、当前块的上方邻近块、当前块的时间上邻近的块等。
合并候选列表可表示存储了多条运动信息的列表。此外,合并候选列表可在执行合并之前被产生。在合并候选列表中存储的运动信息可以是1)与当前块相邻的邻近块的运动信息和2)在参考图像中与当前块相应的同位块的运动信息。此外,在合并候选列表中存储的运动信息可以是通过对先前存在于合并候选列表中的多条运动信息进行组合而产生的新的运动信息。
跳过模式可以是将关于邻近块的信息在没有改变的情况下应用于当前块的模式。跳过模式可以是用于帧间预测的多个模式之一。当跳过模式被使用时,编码设备100可通过比特流仅将关于以下的块的信息发送到解码设备200,其中,该块的运动信息将被用作当前块的运动信息。编码设备100可不将其它信息发送到解码设备200。例如,所述其它信息可以是语法信息。语法信息可包括运动矢量差(MVD)信息。
图9示出了根据实施例的在垂直方向上对原始图像进行预测时的预测误差。
如上所述,当经由帧内预测来执行对原始图像的编码时,可在对所有可能的PU以及预测模式的操作被执行之后选择单个PU和单个预测模式。当基于所选PU和所选预测模式执行了对原始图像的预测时,发现预测误差的失真保留在预测模式的方向上的趋势。
因此,可使用从多种预测模式中选择的一种预测模式对PU执行第一帧内预测(即,主要预测),并且可执行第二帧内预测(即,次要预测)。这里,第二帧内预测可以是被限制在第一帧内预测的预测模式的方向上指定的像素区域中的帧内预测。换句话说,第二帧内预测的预测模式可以与第一帧内预测的预测模式相同。可选地,第一帧内预测可被应用于整个PU,但是第二帧内预测可仅被应用于该PU中的一部分。
编码设备可确定该PU中的将被应用第二帧内预测的所述一部分。例如,当第二帧内预测被应用到多个候选区域时,编码设备可针对所述多个候选区域计算各个率失真代价。编码设备可将具有最小率失真代价的候选区域确定为PU中的将被应用第二帧内预测的一部分。
PU可包括多个像素。所述多个候选区域可以是PU中的多个像素的一部分,这可以根据特定方案来确定。例如,可通过第一帧内预测的预测方向来确定所述多个候选区域。
与仅应用第一帧内预测的情况相比,通过应用第一帧内预测和第二帧内预测,可进一步减少PU中的预测误差。
下面的实施例可提供一种用于通过有效地利用上述趋势来提高帧内预测的性能并减少预测误差的方法和设备。
图10是根据实施例的编码设备的配置图。
编码设备1000可以是执行编码的通用计算机系统。
如图10中所示,编码设备100可包括通过总线1090彼此通信的至少一个处理器1010、存储器1030、用户界面(UI)输入装置1050、UI输出装置1060和贮存器1040。电子装置1000还可包括连接到网络1099的通信单元1020。处理器1010可以是用于运行存储在存储器1030或贮存器1040中的处理指令的中央处理器(CPU)或半导体器件。存储器1010和贮存器1040中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,存储器可包括只读存储器(ROM)1031和随机存取存储器(RAM)1032中的至少一个。
处理器1010可包括编码设备100的帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190。
存储介质可存储用于编码设备1000的操作的至少一个模块。存储器1030可被配置为存储至少一个模块,并允许模块能够被至少一个处理器1010执行。
根据实施例,编码设备1000的帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。所述程序模块可以以操作系统、应用程序模块和其它程序模块的形式被包括在编码设备1000中。
所述程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与编码设备1000进行通信的远程存储装置中。
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
可使用由处理器1010运行的指令或代码来实现所述程序模块。
可由通信单元1020来执行与编码设备1000的数据或信息的通信相关的功能。
图11是根据实施例的编码方法的流程图。
根据实施例的编码方法可由编码设备100或编码设备1000执行。
在步骤1110,预测部可基于当前块、第一预测和第二预测来产生当前块的残差信号。
预测部可包括帧间预测单元110、帧内预测单元120和减法器125。
在一个示例中,残差信号可表示残差块。
在一个示例中,残差块可以是当前块与预测块之间的差。可选地,可基于当前块与预测块之间的差来产生残差块。
在一个示例中,预测块可以是第一预测块与第二预测块之和。可通过从当前块减去第一预测块与第二预测块之和来获得残差块。
在一个示例中,第二预测可以是对第一预测中的预测误差进行的预测。
第一预测块可以是经由第一预测而产生的块。第二预测块可以是经由第二预测而产生的块。当未使用第二预测时,第二预测块可以是空块。空块可以是所有像素的值为0的块。
预测部可通过执行帧间预测或帧内预测来产生针对当前块的残差块。
在实施例中,预测部可基于当前块和/或第一预测块来产生第二预测块。
在实施例中,预测部可通过对当前块执行第一预测并对作为第一预测的结果的第一预测误差执行第二预测来产生当前块的残差信号。第一预测误差可以是当前块与第一预测信号之间的差。该残差信号可以是第一预测误差与第二预测信号之间的差。
在实施例中,第一预测和第二预测可以是不同类型的预测。
在实施例中,第一预测和第二预测可以是相同类型的预测。例如,第一预测和第二预测可均是帧内预测。当第一预测是帧内预测时,第二预测也可被设置为帧内预测。
在实施例中,第一预测的预测方向和第二预测的预测方向可彼此相同。第二预测的预测方向可被设置为与第一预测相同的预测方向。
例如,在实施例中,第一预测和第二预测可均是帧间预测。
在实施例中,作为第一预测的目标的块和作为第二预测的目标的块可彼此不同。这里,由表述“作为预测的目标的块”所表示的内容可以不同。这里,表述“作为预测的目标的块”可表示将经由“预测”而产生预测块的块。
例如,作为第一预测的目标的块的类型和作为第二预测的目标的块的类型可彼此不同。块的类型可包括原始块、亮度(luma)块、色度(chroma)块、深度块、残差块等。
例如,作为第一预测的目标的块可以是当前块或原始块。
例如,经由第一预测而产生的第一预测误差可表示第一预测误差块。第一预测误差可以是第一残差信号。此外,第一残差信号可表示第一残差块。作为第二预测的目标的块可以是第一预测误差块或第一残差块。在这种情况下,可经由第一预测产生第一残差信号,并且可经由第二预测产生第二预测误差。第二预测误差可以是第二残差信号。第二残差信号可表示第二残差块。
参考块可被用于预测。在实施例中,用于第一预测的第一参考块和用于第二预测的第二参考块可彼此不同。参考块可以在参考块的类型和/或位置方面不同。
在实施例中,用于第一预测的第一参考块的位置和用于第二预测的第二参考块的位置可彼此不同。这里,第一参考块的位置可以是相对于作为第一预测的目标的块的位置的位置。第二参考块的位置可以是相对于作为第二预测的目标的块的位置的位置。
在实施例中,用于第一预测的第一参考块可包括多个参考块。用于第二预测的第二参考块可包括多个参考块。用于第一预测的多个第一参考块和用于第二预测的多个第二参考块中的至少一些可彼此不同。
用于第一预测的多个第一参考块和用于第二预测的多个第二参考块中的至少一些的位置可仅被包括在多个第一参考块的位置和多个第二参考块的位置之一中。
在实施例中,用于第一预测的第一参考块的类型和用于第二预测的第二参考块的类型可彼此不同。块的类型可包括重建块、重建亮度块、重建色度块、重建深度块、重建第一残差块和重建第二残差块。
例如,用于第一预测的第一参考块可以是重建块。用于第二预测的第二参考块可以是重建的第一残差块。用于第一预测的第一参考样点可以是重建块中的像素。用于第二预测的第二参考样点可以是重建的第一残差块中的像素。
例如,用于第一预测的第一参考块可以是与当前块相邻的邻近重建块。用于第二预测的第二参考块可以是与当前块相邻的重建的第一残差块。
可通过将邻近重建块的第二预测块与用于邻近重建块的重建残差块相加来获得与当前块相邻的邻近重建残差块。可选地,与当前块相邻的邻近重建残差块可以是邻近重建块与邻近重建块的第一预测块之间的差。
例如,当第一预测的目标是当前块时,当前块的邻近重建块可被用作参考块以便执行对当前块的预测。当第二预测的目标是第一残差块时,当前块的邻近重建残差块或第一残差块可被用作第二参考块以便执行对第一残差块的预测。
在实施例中,第一预测的区域和第二预测的区域可彼此不同。这里,“预测的区域”可表示在作为预测的目标的块中的产生预测值的区域。可选地,“预测的区域”可表示在与作为预测的目标的块相应的预测块中的被分配经由预测而产生的预测值的区域。
例如,第一预测可以是对当前块的区域进行的预测。第二预测可以是对所述区域中的一部分进行的预测。当前块的区域中的至少一部分可不进行第二预测。作为第一预测的目标的块可以是矩形区域内的块。可对矩形区域中的一部分执行第二预测。矩形区域中的至少一部分可以不是第二预测的目标。
考虑到作为第一预测的目标的块的区域与作为第二预测的目标的块的区域相同的情况,第一预测的区域可以是作为第一预测的目标的整个块。第二预测的区域可以是作为第二预测的目标的块中的一部分。可选地,作为第二预测的目标的块中的至少一部分可不进行第二预测。换句话说,可对作为第一预测的目标的整个块执行第一预测。可对作为第二预测的目标的块中的一部分执行第二预测。
在示例中,可将经由第一预测所确定的预测值仅分配给在作为第一预测的目标的块中落在第一预测的区域内的像素。可不将经由第一预测所确定的预测值分配给在作为第一预测的目标的块中落在第一预测的区域外的像素。可选地,可将预定义的值分配给在作为第一预测的目标的块中落在第一预测的区域外的像素。该预定义的值可以是0。
在一个示例中,可将经由第二预测所确定的预测值仅分配给在作为第二预测的目标的块中落在第二预测的区域内的像素。可不将经由第二预测所确定的预测值分配给在作为第二预测的目标的块中落在第二预测的区域外的像素。可选地,可将预定义的值分配给在作为第二预测的目标的块中落在第二预测的区域外的像素。该预定义的值可以是例如0。
在一个示例中,当作为第一预测的目标的块的尺寸是N×N时,可将经由第一预测所确定的各个预测值分配给N×N个像素。换句话说,经由第一预测所确定的预测值可被分配给作为第一预测的目标的块中的所有像素。
在一个示例中,当作为第二预测的目标的块的尺寸是N×N时,经由第一预测所确定的预测值可不被分配给N×N个像素中的一个或更多个。可选地,当作为第二预测的目标的块的尺寸是N×N时,预定义的值可被分配给N×N个像素中的一个或更多个。该预定义的值可以是例如0。
在实施例中,可基于第一预测的类型来确定第一预测的区域。例如,可基于第一预测是否是帧间预测来确定第一预测的区域。可选地,可基于第一预测是否是帧内预测来确定第一预测的区域。可选地,可基于第一预测的预测方向来确定第一预测的区域。
在实施例中,可基于第二预测的类型来确定第二预测的区域。例如,可基于第二预测是否是帧间预测来确定第二预测的区域。可选地,可基于第二预测是否是帧内预测来确定第二预测的区域。可选地,可基于第二预测的预测方向来确定第二预测的区域。
在实施例中,可使用落在可选范围内的第二参考样点来执行第二预测。
在实施例中,用于第一预测的第一参考样点的区域和用于第二预测的第二参考样点的区域可彼此不同。
如上所述,第一预测的区域和第二预测的区域可彼此不同。第一参考样点的区域可以是为了经由第一预测产生针对第一预测的区域的预测值所需要的参考样点的区域。第二参考样点的区域可以是为了经由第二预测产生针对第二预测的区域的预测值所需要的参考样点的区域。
如上所述,第一预测的区域可以是作为第一预测的目标的整个块。第二预测的区域可以是作为第二预测的目标的块中的一部分。在这种情况下,第二参考样点的区域可以是第一参考样点的区域中的一部分。
在步骤1120,编码部可对残差信号执行编码。编码部可通过对残差信号执行编码来产生关于编码的残差信号的信息。
编码部可包括变换单元130、量化单元140和熵编码单元150。
步骤1120可包括步骤1121、1122和1123。
在步骤1121,变换单元130可产生针对残差信号的变换系数。
在步骤1122,量化单元1140可通过对变换系数执行量化来产生量化的变换系数。
在步骤1123,熵编码单元150可通过对量化的变换系数执行熵编码来产生关于编码的残差信号的信息。
在步骤1130,熵编码单元150可产生关于编码的残差信号的信息的比特流。
比特流可包括关于编码的残差信号的信息,并且还可包括预测相关的信息。
熵编码单元150可将预测相关的信息包括在比特流中。预测相关的信息可被熵编码。
在示例中,预测相关的信息可包括指示对当前块进行编码所用的方案的预测方案信息。
在示例中,预测方案信息可指示帧内预测和帧间预测中的哪一种被用于对当前块进行编码。可选地,预测方案信息可指示当前块是否已经经由帧内预测被编码。可选地,预测方案信息可指示当前块是否已经经由帧间预测被编码。
在示例中,预测相关的信息可包括指示帧内预测的预测模式的帧内预测模式信息。
在示例中,预测相关的信息可包括第二预测使用信息,其中,第二预测使用信息指示第二预测是否将被用于对当前块进行编码。
在示例中,预测相关的信息可包括指示当前块的类型的当前块类型信息、指示第一预测块的类型的第一预测块类型信息、指示第二预测块的类型的第二预测块类型信息、指示第一参考块的类型的第一参考块类型信息、指示第二参考块的类型的第二参考块类型信息、指示第一参考样点的类型的第一参考样点类型信息、以及指示第二参考样点的类型的第二参考样点类型信息。
在示例中,预测相关的信息可包括指示第一预测的区域的第一预测区域信息和/或指示第二预测的区域的第二预测区域信息。
预测相关的信息可包括用于已在实施例中被描述的预测的信息。熵编码单元150可根据实施例中描述的顺序或者实施例中产生的顺序将多条预测相关的信息包括在比特流中。
在步骤1140,通信单元1020可向解码设备200或解码设备1700发送比特流。
在步骤1150,重建残差信号产生单元可基于关于残差信号的信息来产生重建残差信号。
重建残差信号产生单元可包括反量化单元160和逆变换单元170。
步骤1150可包括步骤1151和步骤1152。
在步骤1151,反量化单元160可通过对量化的变换系数执行反量化产生重建变换系数。
在步骤1152,变换单元130可通过对重建变换系数执行逆变换来产生重建残差信号。
在步骤1160,重建块产生单元可基于重建残差信号、第一预测和第二预测来产生重建块。
重建块产生单元可包括加法器175。
在示例中,重建残差信号与预测信号之和可表示重建块。可选地,可基于重建残差信号与预测信号之和来产生重建块。
在示例中,重建块可以是重建残差块与预测块之和。预测块可以是第一预测块和第二预测块之和。
可选地,可基于重建残差块与预测块之和来产生重建块。
在示例中,重建块可以是基于重建残差块、第二预测块和第一预测块来产生的块。重建块产生单元可通过将重建残差信号与第二预测信号相加来产生重建的第一残差信号。重建块产生单元可通过将重建的第一残差信号与第一预测信号相加来产生重建块。
可选地,重建块产生单元可通过将重建残差块与第二预测块相加来产生重建的第一残差块。重建块产生单元可通过将重建的第一残差块与第一预测块相加来产生重建块。
重建块和重建的第一残差信号可被用作用于对其它块进行编码的参考块。
图12示出了根据实施例的使用帧内预测的第一预测和第二预测。
在以上参照图11描述的步骤1110,第一预测和第二预测可以均是帧内预测。在图12中,示出了当第一预测和第二预测均是帧内预测时对当前块进行编码的示例。
当前块可以是PU。在图12中,描绘出了作为当前块的尺寸为2N×2N的PU。
首先,为了对当前块进行编码,预测部可确定多种预测模式中的哪一种预测模式将被用于执行第一预测。
预测部可使用多种预测模式中的每一种预测模式来执行第一预测。例如,多种预测模式的预测方向可彼此不同。
在第一预测中,与当前块相邻的重建块可被用作参考块。此外,在重建块中与当前块相邻的像素可被用作参考样点。
预测部可经由第一预测针对多种预测模式产生多个第一预测块。
此外,预测部可经由第一预测针对多种预测模式产生多个第一预测误差。对于单个预测模式,可计算第一预测块和第一预测误差。
第一预测误差可表示当前块与第一预测块之间的差(残差)。第一预测误差可表示第一残差块。
当产生第一预测误差时,预测部可通过参考第一预测误差从第一残差块中选择将被应用第二预测的区域。选定区域可以是第一残差块中的一部分。
接下来,为了对当前块进行编码,预测部可确定第一残差块中的将被应用第二预测的一部分。
第二预测可被应用于第一残差块中的一部分,即,选定区域。为了选择将被应用第二预测的区域,可使用各种方法。
可通过被用于第二预测的参考样点的范围来指定针对第二预测的预测区域。
在第二预测中,与当前块相邻的重建残差块可被用作参考块。此外,在重建残差块中与当前块相邻的像素可被用作参考样点。
第一预测的预测方向和第二预测的预测方向可彼此相同。换句话说,第一预测的帧内预测模式和第二预测的帧内预测模式可彼此相同。
在图12中,示例性地示出了模式值为30的帧内预测模式。
通常,如果第一预测的预测方向和第二预测的预测方向相同,则第一预测的参考样点的范围和第二预测的参考样点的范围可以彼此相同。
第二预测可被应用于第一残差块中的一部分。第二预测的参考样点的范围可以是第一预测的参考样点的范围中的一部分。
在图12中,第二预测的参考样点的范围被示出为从α至α+β的范围。
α可表示在第二预测的预测方向上的参考样点之中的被用于第二预测的第一个参考样点。此外,α可表示第二预测的起始点。
α+β可表示在第二预测的预测方向上的参考样点之中的将用于第二预测的最后一个参考样点。可选地,α+β可表示第二预测的最后一个点。
β可表示将用于第二预测的参考样点的数量。可选地,β可表示第二预测的范围或第二预测的长度。
一旦参考样点的范围被确定,则就可基于确定的参考样点的范围以及预测方向来指定第二预测的区域。在图12中,示出了在残差块中用虚线指定的区域。第二预测的区域可以是当落在从α至α+β的范围内的参考样点在预测方向上移动时所产生的区域。
预测部可从针对预测方向的参考样点之中选择将被用于第二预测的参考样点的范围。预测部可使用在预测方向上的所有参考样点之中的落在所选择的范围内的参考样点来执行第二预测。在这种情况下,所有参考样点可对应于用于第一预测的参考样点。
在第二预测中,落在所选择的范围外的参考样点的值可被视为空或0。例如,在α之前的参考样点的值可被视为0,在α+β之后的参考样点的值可被视为0。
预测部可经由第二预测针对多个候选区域产生多个第二预测块。
所述多个候选区域可彼此不同。所述多个候选区域可以是第一残差块中的不同部分。
例如,可将第一残差块的区域指定为被用于第二预测的参考样点。在这种情况下,第一残差块中的一部分或第一残差块中的第二预测的区域可被表示为有序对(α,β)。与多个候选区域相应的多个有序对(α,β)可彼此不同。换句话说,有序对(α,β)可表示将被用于第二预测的参考样点的范围。
多个候选区域可以全部是能够使用针对第一残差块的特定方案而选择的不同区域。例如,所述特定方案可以是使用预测方向的方案。
例如,可将第一残差块的区域指定为被用于第二预测的参考样点。当在第二预测的预测模式下能够被用于整个第一残差块的参考样点的数量是n时,α可等于或大于0并且小于或等于n-1。β可等于或大于0并且小于或等于n-1-α。此外,当在第二预测的预测模式下能够被用于整个第一残差块的参考样点的数量是n时,有序对(α,β)的数量可以是(n+1)n/2。换句话说,当在第二预测的预测模式下能够被用于整个第一残差块的参考样点的数量是n时,多个候选区域的数量可以是(n+1)n/2。
例如,多个候选区域可分别对应于将被用于第二预测的参考样点的范围。
α和β可以是在各个指定的预测方向上的参考样点的列表的索引。
为了使用α和β来指示参考样点在列表中的位置,必须定义参考样点的顺序。
在实施例中,可首先认为参考样点的X坐标越小,则参考样点的顺序位置越早。接下来,在具有相同X坐标值的参考样点之中,参考样点的Y坐标值越大,则参考样点的顺序位置越早。例如,可以按照左下方参考样点731、左侧参考样点733、左上角参考样点735、上方参考样点737和右上方参考样点739的顺序来指定参考样点的顺序位置。在左下方参考样点731中,位于下部的参考样点可具有比位于上部的参考样点的顺序位置更早的顺序位置。在左侧参考样点733中,位于下部的参考样点可具有比位于上部的参考样点的顺序位置更早的顺序位置。在上方参考样点737中,位于左侧的参考样点可具有比位于右侧的参考样点的顺序位置更早的顺序位置。在右上方的参考样点739中,位于左侧的参考样点可具有比位于右侧的参考样点的顺序位置更早的顺序位置。
以上描述的参考样点的顺序仅是示例,也可以使用基于其它方案的顺序。例如,可按照与以上描述的顺序相反的顺序来指定参考样点的顺序。
此外,参考样点的顺序可被分配给根据预测方向所确定的参考样点。换句话说,在以上描述的左下方参考样点731、左侧参考样点733、左上角参考样点735、上方参考样点737和右上方参考样点739之中,只有根据第二预测的预测方向所确定的一些参考样点才可被用于对整个第一残差块的预测。所述顺序可被分配给确定的一些参考样点。
当第二预测的预测方向是例如垂直方向时,能够被用于整个第一残差块的参考样点可以是上方参考样点737。当当前块的尺寸是2N×2N时,在上方参考样点737之中的最左侧参考样点的顺序位置可以是0,并且在上方参考样点737之中的最右侧参考样点的顺序位置可以是2N-1。
可选地,当第二预测的预测方向是例如水平方向时,能够被用于整个第一残差块的参考样点可以是左侧参考样点733。当当前块的尺寸是2N×2N时,在左侧参考样点737之中的最下方参考样点的顺序位置可以是0,并且在左侧参考样点737之中的最上方参考样点的顺序位置可以是2N-1。
预测部可经由第二预测针对多个候选区域产生多个第二预测误差。对于一个区域,可计算第二预测块和第二预测误差。
第二预测误差可表示第一残差块与第二预测块之间的差(残差)。第二预测误差可表示第二残差块。
如上所述,预测部可针对多种预测模式产生多个第一预测误差。此外,对于多个第一预测误差中的每一个预测误差,预测部可经由第二预测针对在由第一预测误差表示的第一残差块中的多个候选区域产生多个第二预测误差。
通过上述过程,预测部可针对多种预测模式的所有候选区域产生多个第二预测误差。
预测部可从产生的多个第二预测误差之中选择具有最小率失真代价的第二预测误差。从多个候选区域中选择的与具有最小率失真代价的第二预测误差相应的候选区域可以是当前块中的将被应用第二预测的一部分。此外,从多种预测模式中选择的与具有最小率失真代价的第二预测误差相应的预测模式可以是将在第一预测中使用的预测模式。换句话说,根据该预测模式和第二预测误差具有最小率失真代价的该预测模式的区域,预测部可确定将被用于对当前块进行编码的第一预测的预测模式和第二预测的区域。
可选地,预测部可从多种预测模式之中选择具有最小率失真代价的预测模式。在这种情况下,可对在所选择的预测模式下产生的第一预测误差或第一残差块执行第二预测。接下来,预测部可从多个第二预测误差之中选择具有最小率失真代价的第二预测误差。换句话说,预测部可根据多个第一预测误差之中的哪个第一预测误差具有最小率失真代价来确定将被用于对当前块进行编码的第一预测的预测模式,并且可根据多个第二预测误差中的哪个第二预测误差具有最小率失真代价来确定将被用于对当前块进行编码的第二预测的区域。
以上已参照图11描述的预测相关的信息可包括关于选择性的次要帧内预测的信息。
例如,预测相关的信息可包括SSIP_flag,其中,SSIP_flag是指示选择性次要帧内预测(SSIP)是否被使用的标志。
例如,预测相关的信息可包括指示上述α的信息以及指示上述β的信息。换句话说,预测相关的信息可包括指示将被用于第二预测的第一参考样点的信息以及指示将被用于第二预测的参考样点的数量的信息。可选地,预测相关的信息可包括指示将被用于第二预测的第一参考样点的信息以及指示将被用于第二预测的最后一个参考样点的信息。
可选地,预测相关的信息可包括关于第二预测开始的点以及将进行第二预测的点的信息。预测相关的信息可包括指示第二预测的起始点以及第二预测的终止点的信息。
例如,指示α的信息或指示第二预测的起始点的信息可以是SSIP_start_point,指示β的信息或指示将进行第二预测的点的信息可以是SSIP_length。
与仅执行第一预测的现有方案相比,通过上述的确定过程,可进一步减少当前块中的预测误差。针对以上已参照图9描述的预测误差的失真保留在预测模式的方向上的趋势,第二预测可有效地减少预测误差。换句话说,通过经由第二预测有效地利用预测误差的失真保留在预测模式的方向上的趋势,可提高预测性能并且可减少预测误差。
图13是根据实施例的残差块产生方法的流程图。
以上参照图11所描述的步骤1110可包括步骤1310、1320、1330、1340、1350、1360、1370和1380。
在实施例中,作为第一预测的目标的块可以是当前块。第一预测可以是帧内预测。
在步骤1310,预测部可通过对当前块执行第一预测来产生第一预测信号。
第一预测信号可表示第一预测块。
如以上参照图12所描述的,预测部可在多种预测模式中的每一种预测模式下执行第一预测以便找到针对第一预测的最佳预测模式来对当前块进行编码。也就是说,可在多种预测模式中的每一种预测模式下执行步骤1310、1320和1325。
多种预测模式可对应于不同的预测方向。
在步骤1320,预测部可基于当前块和第一预测信号来产生第一预测误差。
第一预测误差可表示第一预测误差块或第一残差块。
第一残差块可表示当前块与第一预测块之间的差(残差)。也就是说,预测部可通过从当前块减去由第一预测信号表示的第一预测块来产生第一预测误差。
在步骤1325,预测部可使用第一预测误差计算针对第一预测的率失真代价。
预测部可将计算出的第一预测误差和/或计算出的针对第一预测的率失真代价存储在存储器1030、贮存器1040或缓冲器中。
如以上参照图12所描述的,预测部可在多种预测模式中的每一种预测模式下执行第一预测以便找到第一预测的最佳预测模式来对当前块进行编码。预测部可使用多种预测模式下的第一预测误差来计算针对多种预测模式的多个率失真代价。预测部可将计算出的多个率失真代价之中的最小率失真代价存储为最小第一率失真代价RDcost_1。例如,RDcost_1可以是在主要帧内预测中具有最小率失真代价的模式的率失真代价。
预测部可存储RDcost_1和与RDcost_1相应的第一预测误差。
可基于预定条件来选择性地执行第二预测。
在步骤1330,预测部可确定是否执行第二预测。
在实施例中,在步骤1330的确定可以不是关于是否使用第二预测对当前块进行编码的最终决定。在步骤1130,预测部可确定是否能够对当前块或第一残差块执行第二预测。
例如,如果确定不执行第二预测,可在不使用第二预测的情况下对当前块进行编码。如果确定执行第二预测,则可经由第二预测产生第二预测信号和第二预测误差,但是可在步骤1360通过比较率失真代价来确定是否使用第二预测对当前块进行编码。
如以上参照图12所描述的,预测部可在为了找到用于对当前块执行编码的第一预测的最佳月模式而在多种预测模式中的每种预测模式下执行第一预测之后确定是否执行第二预测。换句话说,可在多种预测模式中的每种预测模式下执行步骤1330。
如果确定不执行第二预测,则针对当前块的残差块可以是由第一预测误差表示的块。换句话说,第一预测误差可被提供为残差块。
如果确定执行第二预测,则针对当前块的残差块可以是由第二预测误差信号表示的块,随后将对此进行描述。换句话说,第二预测误差信号可被提供为残差块。
预测部可基于预定义的条件来确定是否执行第二预测。
在实施例中,预测部可基于第一预测的预测模式来确定是否执行第二预测。
例如,当第一预测的预测模式是非定向模式时,预测部可不执行第二预测。可选地,当第一预测的预测模式是定向模式时,预测部可执行第二预测。
当第一预测的预测模式是多种预测模式中的非定向模式时,由于预测模式的方向不存在,因此可能无法在可选区域或范围内执行预测。因此,仅当第一预测的预测模式是定向模式时才可执行第二预测。
在实施例中,预测部可基于当前块的位置来确定是否执行第二预测。
例如,当当前块与边界相邻时,预测部可不执行第二预测。例如,当当前块与上边界和左边界相邻时,预测部可不执行第二预测。边界可以是画面的边界、条带的边界、或并行块的边界。
当当前块与上边界和左边界相邻时,用于第二预测的第一残差块可能不足。当第一残差块不足时,可能无法完全产生执行第二预测所需的第二参考样点。
在实施例中,预测部可基于与当前块相邻的重建块的数量来确定是否执行第二预测。
例如,当与当前块相邻的重建块的数量小于或等于2时,预测部可不执行第二预测。
如果确定执行第二预测,则可执行步骤1340。
如果确定不执行第二预测,则可执行步骤1370或步骤1120。当执行步骤1120时,在步骤1120的残差信号可以是第一预测误差。换句话说,当仅执行第一预测而不执行第二预测时,经由第一预测所产生的第一预测误差可被用作当前块的残差信号。
在步骤1340,预测部可通过对第一预测误差执行第二预测来产生第二预测信号。
第二预测信号可表示第二预测块。
第二预测可以是帧内预测,并且第二预测的预测方向可以与第一预测的预测方向相同。
预测部可对第一残差块的区域中的一部分执行第二预测。区域中的所述一部分可通过将被用于第二预测的残差样点来指定。
用于第二预测的参考样点的区域可以是用于第一预测的参考样点的区域中的一部分。
如以上参照图12所描述的,预测部可对多个候选区域中的每个候选区域执行第二预测,以便找到第二预测的最佳区域来对当前块进行编码。
此外,如以上参照图12所描述的,预测部可在每种预测模式下对每个候选区域执行第二预测,以便找到第一预测的最佳预测模式和第二预测的最佳区域来对当前块进行编码。也就是说,可在每种预测模式下对每个候选区域执行步骤1340。
这里,第一预测的最佳预测模式和第二预测的最佳区域可以是与在多种预测模式下在多个候选区域之中具有最小率失真代价的候选区域相应的预测模式和区域。换句话说,预测部可基于在多种预测模式下在多个候选区域之中当执行第一预测和第二预测时发生最小率失真代价的特定预测模式和特定区域,来确定用于对当前块进行编码的第一预测的预测模式和第二预测的区域。
多个候选区域可分别对应于将被用于第二预测的参考样点的范围。
预测部可从预测方向上的参考样点之中选择将被用于第二预测的参考样点的范围。预测部使用在预测方向上的所有参考样点之中的落在所选择的范围内的参考样点来执行第二预测。在第二预测中,落在所选择的范围外的参考样点的值可被视为0。
在步骤1350,预测部可基于第一预测误差和第二预测信号来产生第二预测误差。
第二预测误差可表示第二预测误差块或第二残差块。
第二残差块可表示第一残差块与第二预测块之间的差(残差)。也就是说,预测部可通过从由第一预测误差表示的第一残差块减去由第二预测信号表示的第二预测块来产生第二预测误差信号。
在步骤1355,预测部可使用第二预测误差来计算针对第二预测的率失真代价。
预测部可将针对第二预测的计算出的第二预测误差和/或计算出的率失真代价存储在存储器1030、贮存器1040或缓冲器中。
如以上参照图12所描述的,预测部可对多个区域中的每个区域执行第二预测以便找到第二预测的最佳区域来对当前块进行编码。预测部可使用多个区域中的多个第二预测误差来计算针对多个区域的多个率失真代价。预测部可将计算出的多个率失真代价之中的最小率失真代价存储为最小第二率失真代价RDcost_2。例如,RDcost_2可以是在选择性次要帧内预测中具有最小率失真代价的区域的率失真代价。
预测部可存储RDcost_2和与RDcost_2相应的第二预测误差。
可基于预定义条件来选择性地使用第二预测。
在步骤1360,预测部可确定是否使用第二预测对当前块进行编码。
预测部可基于预定义的条件来确定是否使用第二预测对当前块进行编码。
例如,当通过使用第二预测进一步减少了率失真代价时,预测部可确定使用第二预测。当即使使用了第二预测但率失真代价并没有进一步减少时,预测部可确定不使用第二预测。
例如,当在使用第二预测时所计算出的最小率失真代价小于在未使用第二预测时所计算出的最小率失真代价时,预测部可确定使用第二预测。
在实施例中,预测部可基于RDcost_1与RDcost_2之间的比较结果来确定是否使用第二预测对当前块进行编码。
RDcost_2低于RDcost_1意味着:与仅使用第一预测的情况相比,当第二预测被一起使用时,可进一步减少对当前块进行编码的率失真代价。
例如,当RDcost_1小于或等于RDcost_2时,预测部可确定不使用第二预测来对当前块进行编码。当RDcost_1大于RDcost_2时,预测部可确定使用第二预测对当前块进行编码。
如果确定不使用第二预测对当前块进行编码,则可执行步骤1370。
如果确定使用第二预测对当前块进行编码,则可执行步骤1380。
在步骤1370,预测部可执行指示第二预测将不被使用的设置。
预测部可对第二预测使用信息的值进行设置,使得第二预测使用信息指示第二预测将不被使用。例如,当第二预测使用信息的值是0时,第二预测使用信息可以指示第二预测将不被使用。
当步骤1370被执行时,在步骤1120的残差信号可以是第一预测误差。换句话说,当不对当前块执行第二预测时,基于第一预测所产生的第一预测误差可被用作残差信号。
在步骤1380,预测部可执行指示第二预测将被使用的设置。
预测部可对第二预测使用信息的值进行设置,使得第二预测使用信息指示第二预测将被使用。例如,当第二预测使用信息的值是1时,第二预测使用信息可指示第二预测将被使用。
当步骤1380被执行时,在步骤1120的残差信号可以是第二预测误差。换句话说,当对当前块执行第二预测时,可将基于第一预测和第二预测所产生的第二预测误差用作残差信号。
图14是根据实施例的重建块产生方法的流程图。
以上参照图11描述的步骤1160可包括以下的步骤1410、1420和1430。
在步骤1410,重建块产生单元可确定第二预测是否已被用于对当前块进行编码。
如果确定第二预测已被用于对当前块进行编码,则可执行步骤1420。
如果确定第二预测未被用于对当前块进行编码,则可执行步骤1430。当不使用第二预测时,当前块的重建的第一预测误差可以是重建残差信号。
在步骤1420,重建块产生单元可基于重建残差信号和第二预测信号来产生重建的第一预测误差。
重建块产生单元可基于当前块的残差信号和针对当前块的区域的单元的第二预测信号来产生当前块的重建的第一预测误差。
重建的第一预测误差可以是重建残差信号与第二预测信号之和。可选地,可基于重建残差信号和第二预测信号来产生重建的第一预测误差。
在步骤1430,重建块产生单元可基于重建的第一预测误差和第一预测信号来产生重建块。
重建块产生单元可基于当前块的重建的第一预测误差和当前块的第一预测信号来产生表示重建块的信号。
换句话说,当使用第二预测时,表示重建块的信号可以是重建残差信号、第二预测信号和第一预测信号之和。可选地,当使用第二预测时,可基于重建残差信号、第二预测信号和第一预测信号来产生表示重建块的信号。
换句话说,当不使用第二预测时,表示重建块的信号可以是重建残差信号与第一预测信号之和。可选地,当不使用第二预测时,可基于重建残差信号和第一预测信号来产生表示重建块的信号。
表示重建块的信号可以是重建的第一预测误差与第一预测信号之和。此外,可基于重建的残差信号和第二预测信号来产生重建的第一预测误差。
图15示出了根据实施例的编码过程。
在图15中,附有“+”和“-”的符号“∑”可表示产生两个信号之间的误差信号。可通过从用符号“+”接收的输入信号减去用符号“-”接收的输入信号来产生该误差信号。
附有“+”和“+”的符号“∑”可表示产生与两个信号之和相应的信号。可通过将分别用符号“+”接收的输入信号相加来产生作为两个信号之和的信号。
以上参照图11所描述的预测部可包括第一预测器和第二预测器。
在虚线内的过程可指示SSIP。
菱形可指示条件分支。
在诸如“A=B”的等式中,“A”可表示将被分配值的目标,“B”可表示将被分配给目标的值。
“TQ”可表示变换和量化。(TQ)-1可表示逆变换和反量化。
图16是根据实施例的解码设备的配置图。
解码设备1600可以是执行解码的通用计算机系统。
如图16中所示,解码设备1600可包括通过总线1690彼此通信的至少一个处理器1610、存储器1630、用户界面(UI)输入装置1650、UI输出装置1660和贮存器1640。解码设备1600还可包括连接到网络1699的通信单元1620。处理器1610可以是用于运行存储在存储器1630或贮存器1640中的处理指令的CPU或半导体器件。存储器1630和贮存器1640中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,存储器可包括ROM1631和RAM 1632中的至少一个。
处理器1610可包括解码设备200的熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、滤波单元260和参考画面缓冲器270。
存储介质可存储使用于解码设备1600的操作的至少一个模块。存储器1630可被配置为存储至少一个模块并允许模块能够被至少一个处理器1610执行。
根据实施例,解码设备1600的熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、滤波单元260和参考画面缓冲器270中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。程序模块可以以操作系统、应用程序模块和其它程序模块的形式被包括在解码设备1600中。
程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与解码设备1600进行通信的远程存储装置中。
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
可使用由处理器1610运行的指令或代码来实现程序模块。
可由通信单元1620来执行与解码设备1600的数据或信息的通信相关的功能。
图17是根据实施例的解码方法的流程图。
根据实施例的解码方法可由解码设备200或解码设备1600执行。
在步骤1710,通信单元1620可从编码设备100或编码设备1100接收比特流。
比特流可包括关于编码的残差信号的信息,并且可还可包括预测相关的信息。
关于编码的残差信号的信息可包括已经被熵编码的量化的变换系数。
预测相关的信息可以是被熵解码的。
在步骤1720,熵解码单元210可通过对比特流执行熵解码来产生量化的变换系数。此外,熵解码单元210可通过对比特流执行熵解码来产生预测相关的信息。
例如,预测相关的信息可包括指示对当前块进行编码所用的方案的预测方案信息。
例如,预测方案信息可指示帧内预测和帧间预测中的哪一种被用于对当前块进行编码。可选地,预测方案信息可指示当前块是否已经经由帧内预测被编码。可选地,预测方案信息可指示当前块是否已经经由帧间预测被编码。
例如,预测相关的信息可包括指示帧内预测的预测模式的帧内预测模式信息。
例如,预测相关的信息可包括第二预测使用信息,其中,第二预测使用信息指示第二预测是否将被用于对当前块进行编码。
例如,预测相关的信息可包括指示当前块的类型的当前块类型信息、指示第一预测块的类型的第一预测块类型信息、指示第二预测块的类型的第二预测块类型信息、指示第一参考块的类型的第一参考块类型信息、指示第二参考块的类型的第二参考块类型信息、指示第一参考样点的类型的第一参考样点类型信息、以及指示第二参考样点的类型的第二参考样点类型信息。
例如,预测相关的信息可包括指示第一预测的区域的第一预测区域信息和/或指示第二预测的区域的第二预测区域信息。
此外,预测相关的信息可包括用于在实施例中描述的预测的信息。多条预测相关的信息可根据实施例中描述的顺序或实施例中产生的顺序被包括在比特流中。
在步骤1730,重建残差信号产生单元可基于量化的变换系数来产生针对当前块的重建残差信号。
重建残差信号产生单元可包括反量化单元220和逆变换单元230。
步骤1730可包括步骤1731和步骤1732。
在步骤1731,反量化单元220可通过对量化的变换系数执行反量化来产生反量化的变换系数。
在步骤1732,逆变换单元230可通过对反量化的变换系数执行逆变换来产生重建残差信号。
在步骤1710、1720和1730,可产生针对当前块的重建残差信号。
在步骤1740,重建块产生单元可基于重建残差信号、第二预测和第一预测来产生重建块。
重建块产生单元可包括加法器225、帧内预测单元240、帧间预测单元250、滤波器单元260和参考画面缓冲器270。
重建残差信号可以是重建残差块。
例如,重建块可以是重建残差块与预测块之和。可选地,可基于重建残差信号与预测块之和来产生重建块。
例如,预测块可以是第一预测块和第二预测块之和。可选地,预测信号可以是第一预测信号与第二预测信号之和。
例如,重建块可以是重建块残差、第一预测块和第二预测块之和。重建信号可以是重建残差信号、第一预测信号和第二预测信号之和。可选地,重建块可对应于重建残差块、第一预测块和第二预测块之和。
第一预测块可以是经由第一预测所产生的块或者由通过第一预测产生的预测信号所表示的块。第二预测块可以是经由第二预测所产生的块或者由通过第二预测产生的预测信号所表示的块。
当不使用第二预测时,第二预测信号可以是空信号,并且第二预测块可以是空块。空块可以是所有像素的值都是0的块。
例如,当第二预测被用于对当前块进行编码时,重建残差信号可以是重建的第二预测误差,以上已参照图14对此进行了描述。可选地,当第二预测被用于对当前块进行编码时,重建残差信号可以是通过使用反量化和逆变换对以上已参照图11描述的第二预测误差进行重建而获得的信号。
例如,当第二预测不被用于对当前块进行编码时,重建残差信号可以是重建的第一预测误差,以上已参照图14对此进行了描述。可选地,当第二预测不被用于对当前块进行编码时,重建残差信号可以是通过使用反量化和逆变换对以上已参照图11描述的第一预测误差进行重建而获得的信号。
重建块产生单元可通过执行帧间预测或帧内预测来产生重建块。
在实施例中,第一预测和第二预测可以是不同类型的预测。
在实施例中,第一预测和第二预测可以是相同类型的预测。例如,第一预测和第二预测可均是帧内预测。当第一预测是帧内预测时,第二预测也可被设置为帧内预测。
在实施例中,第一预测的预测方向和第二预测的预测方向可彼此相同。第二预测的预测方向可被设置为与第一预测相同的预测方向。
例如,在实施例中,第一预测和第二预测可均是帧间预测。
在实施例中,作为第一预测的目标的块和作为第二预测的目标的块可彼此不同。这里,由表述“作为预测的目标的块”所表示的内容可以不同。这里,表述“作为预测的目标的块”可表示将经由“预测”而产生预测块的块。
例如,作为第一预测的目标的块的类型和作为第二预测的目标的块的类型可彼此不同。块的类型可包括原始块、亮度(luma)块、色度(chroma)块、深度块、残差块等。
例如,作为第一预测的目标的块可以是重建块。作为第二预测的目标的块可以是预测误差块。
参考块可被用于预测。在实施例中,用于第一预测的第一参考块和用于第二预测的第二参考块可彼此不同。参考块可以在参考块的类型和/或位置方面不同。
在实施例中,用于第一预测的第一参考块的位置和用于第二预测的第二参考块的位置可彼此不同。这里,第一参考块的位置可以是相对于作为第一预测的目标的块的位置的位置。第二参考块的位置可以是相对于作为第二预测的目标的块的位置的位置。
在实施例中,用于第一预测的第一参考块可包括多个参考块。用于第二预测的第二参考块可包括多个参考块。用于第一预测的多个第一参考块和用于第二预测的多个第二参考块中的至少一些可彼此不同。
用于第一预测的多个第一参考块和用于第二预测的多个第二参考块中的至少一个的位置可仅被包括在多个第一参考块的位置和多个第二参考块的位置之一中。
在实施例中,用于第一预测的第一参考块的类型和用于第二预测的第二参考块的类型可彼此不同。块的类型可包括重建块、重建亮度块、重建色度块、重建深度块、重建第一残差块和重建第二残差块。
例如,用于第一预测的第一参考块可以是重建块。用于第二预测的第二参考块可以是重建的第一残差块。用于第一预测的第一参考样点可以是重建块中的像素。用于第二预测的第二参考样点可以是重建的第一残差块中的像素。
例如,用于第一预测的第一参考块可以是与当前块相邻的邻近重建块。用于第二预测的第二参考块可以是与当前块相邻的重建的第一残差块。
可通过将邻近重建块的第二预测块与用于邻近重建块的重建残差块相加来获得与当前块相邻的邻近重建残差块。可选地,与当前块相邻的邻近重建残差块可以是邻近重建块与邻近重建块的第一预测块之间的差。
例如,当第一预测的目标是当前块时,当前块的邻近重建块可被用作参考块以便执行当前块的预测。当第二预测的目标是第一残差块时,当前块的邻近重建残差块或第一残差块可被用作第二参考块以便执行第一残差块的预测。
在实施例中,第一预测的区域和第二预测的区域可彼此不同。这里,“预测的区域”可表示在作为预测的目标的块中的产生预测值的区域。可选地,“预测的区域”可表示在与作为预测的目标的块相应的预测块中的被分配经由预测而产生的预测值的区域。
例如,第一预测可以是对当前块的区域进行的预测。第二预测可以是对所述区域中的一部分进行的预测。当前块的区域中的至少一部分可不进行第二预测。作为第一预测的目标的块可以是矩形区域内的块。可对矩形区域中的一部分执行第二预测。矩形区域中的至少一部分可以不是第二预测的目标。
考虑到作为第一预测的目标的块的区域与作为第二预测的目标的块的区域相同的情况,第一预测的区域可以是作为第一预测的目标的整个块。第二预测的区域可以是作为第二预测的目标的块中的一部分。可选地,作为第二预测的目标的块的至少一部分可不进行第二预测。换句话说,可对作为第一预测的目标的整个块执行第一预测。可对作为第二预测的目标的块中的一部分执行第二预测。
例如,经由第一预测所确定的预测值可仅被分配给在作为第一预测的目标的块中落在第一预测的区域内的像素。经由第一预测所确定的预测值可不被分配给在作为第一预测的目标的块中落在第一预测的区域外的像素。可选地,预定义的值可被分配给在作为第一预测的目标的块中落在第一预测的区域外的像素。例如,该预定义的值可以是0。
例如,经由第二预测所确定的预测值可仅被分配给在作为第二预测的目标的块中落在第二预测的区域内的像素。经由第二预测所确定的预测值可不被分配给在作为第二预测的目标的块中落在第二预测的区域外的像素。可选地,预定义的值可被分配给在作为第二预测的目标的块中落在第二预测的区域外的像素。该预定义的值可以是例如0。
例如,当作为第一预测的目标的块的尺寸是N×N时,经由第一预测所确定的各个预测值可被分配给N×N个像素。换句话说,经由第一预测所确定的预测值可被分配给作为第一预测的目标的块中的所有像素。
例如,当作为第二预测的目标的块的尺寸是N×N时,经由第一预测所确定的预测值可不被分配给N×N个像素中的一个或更多个。可选地,当作为第二预测的目标的块的尺寸是N×N时,预定义的值可被分配给N×N个像素中的一个或更多个。例如,该预定义的值可以是0。
在实施例中,可基于第一预测的类型来确定第一预测的区域。例如,可基于第一预测是否是帧间预测来确定第一预测的区域。可选地,可基于第一预测是否是帧内预测来确定第一预测的区域。可选地,可基于第一预测的预测方向来确定第一预测的区域。
在实施例中,可基于第二预测的类型来确定第二预测的区域。例如,可基于第二预测是否是帧间预测来确定第二预测的区域。可选地,可基于第二预测是否是帧内预测来确定第二预测的区域。可选地,可基于第二预测的预测方向来确定第二预测的区域。
在实施例中,可使用落在可选范围内的第二参考样点来执行第二预测。
在实施例中,用于第一预测的第一参考样点的区域和用于第二预测的第二参考样点的区域可彼此不同。
如上所述,第一预测的区域和第二预测的区域可彼此不同。第一参考样点的区域可以是为了经由第一预测来产生针对第一预测的区域的预测值所需要的参考样点的区域。第二参考样点的区域可以是为了经由第二预测来产生针对第二预测的区域的预测值所需要的参考样点的区域。
如上所述,第一预测的区域可以是作为第一预测的目标的整个块。第二预测的区域可以是作为第二预测的目标的块中的一部分。在这种情况下,第二参考样点的区域可以是第一参考样点的区域中的一部分。
图18是根据实施例的重建块产生方法的流程图。
以上参照图17所描述的步骤1740可包括以下的步骤1810、1820、1830、1840和1850。
可基于预定义的条件来选择性地执行第二预测。
在步骤1810,重建块产生单元可确定是否使用第二预测来产生重建块。
重建块产生单元可基于预定条件来确定是否使用第二预测来产生重建块。
在实施例中,重建块产生单元可基于第一预测的预测模式来确定是否使用第二预测。
例如,重建块产生单元可从比特流获取指示帧内预测的预测模式的帧内预测模式信息。当第一预测的预测模式是非定向模式时,重建块产生单元可不使用第二预测。
在实施例中,重建块产生单元可基于当前块的位置来确定是否使用第二预测。
例如,当当前块与边界相邻时,重建块产生单元可不使用第二预测。例如,当当前块与上边界和左边界相邻时,预测部可不使用第二预测。边界可以是画面的边界、条带的边界或并行块的边界。
在实施例中,重建块产生单元可基于与当前块相邻的重建块的数量来确定是否使用第二预测。重建块可以是PU。
例如,当与当前块相邻的重建块的数量小于或等于2时,重建块产生单元可不使用第二预测。
在实施例中,在使用预测模式、当前块的位置和/或邻近重建块的数量确定了是否使用第二预测之后,重建块产生单元可基于第二预测是否已被用于对当前块进行编码来确定是否使用第二预测。
例如,重建块产生单元可从比特流获取第二预测使用信息。当第二预测使用信息指示第二预测将被使用时,重建块产生单元可使用第二预测。当第二预测使用信息指示第二预测将不被使用时,重建块产生单元可不使用第二预测。
当第二预测已被用于对当前块进行编码时,可执行步骤1820。
当第二预测未被用于对当前块进行编码时,可执行步骤1840。当第二预测未被使用时,当前块的重建的第一预测误差可以是重建残差信号。
在步骤1820,重建块产生单元可通过执行第二预测来产生第二预测信号。
第二预测可对应于以上参照图11和图13已描述的在对当前块进行编码的过程中的第二预测。例如,第二预测信号可对应于以上参照图11和图13已描述的在对当前块进行编码的过程中的第二预测。
第二预测信号可表示第二预测块。
第二预测可以是帧内预测,并且第二预测的预测方向可以与第一预测的预测方向相同。
在第二预测中的参考块可以是重建残差块。例如,重建块产生单元可通过执行将用于与当前块相邻的块的重建残差块用作参考块的第二预测来产生第二预测信号。
在实施例中,如上所述,第二预测的区域可以是当前块的区域中的一部分。重建块产生单元可从比特流获取指示第二预测的预测区域的第二预测区域信息。重建块产生单元可对第二预测区域执行第二预测。
在实施例中,可基于将被用于第二预测的参考样点的范围来指定将被应用第二预测的区域。可基于第二预测的预测方向来指定将被应用第二预测的区域。例如,可基于将被用于第二预测的参考样点的范围以及第二预测的预测方向来指定将被应用第二预测的区域。
在实施例中,重建块产生单元可使用在预测方向上的所有参考像素之中的落在所选择的范围内的参考样点来执行第二预测。在第二预测中,落在所选择的范围外的参考样点的值可被视为0。
在实施例中,重建块产生单元可从比特流获取指示将被用于第二预测的第一个参考样点的信息α以及指示将被用于第二预测的参考样点的数量的信息β。将被用于第二预测的参考样点的范围可以通过α和β来指定。
在实施例中,可通过指示将被用于第二预测的第一个参考样点的信息α以及指示将被用于第二预测的参考样点的数量的信息β来指定参考样点的范围。第二预测的区域可以是当落在从α至α+β的范围内的参考样点在预测方向上移动时所产生的区域。
在第二预测中,落在所选择的范围外的参考样点的值可被视为空或0。例如,在α之前的参考样点的值可被视为0,在α+β之后的参考样点的值可被视为0。
在步骤1830,重建块产生单元可基于重建残差信号和第二预测信号来产生重建的第一预测误差。重建块产生单元可通过将第二预测信号与重建残差信号相加来产生重建的第一预测误差。
重建块产生单元可基于重建残差信号和针对区域中的一部分的第二预测信号来产生针对当前块的重建的第一预测误差。
重建的第一预测误差可以是重建残差信号与第二预测信号之和。可选地,可基于重建残差信号和第二预测信号来产生重建的第一预测误差。可选地,可基于重建残差信号与第二预测信号之和来产生重建的第一预测误差。
在步骤1840,重建块产生单元可通过对当前块执行第一预测来产生第一预测信号。
第一预测信号可表示第一预测块。
在第一预测中,与当前块相邻的重建块可被用作参考块。此外,在与当前块相邻的重建块中的像素可被用作参考样点。
在步骤1850,重建块产生单元可基于重建的第一预测误差和第一预测信号来产生表示重建块的信号。重建块产生单元可通过将第一预测信号与重建的第一预测误差相加来产生表示重建块的信号。
根据以上描述的步骤1810、1820、1830、1840和1850,当使用第二预测时,重建块可以是重建残差信号、第二预测信号与第一预测信号之和。可选地,当使用第二预测时,可基于重建残差信号、第二预测信号和第一预测信号来产生表示重建块的信号。
根据以上描述的步骤1810、1820、1830、1840和1850,当不使用第二预测时,表示重建块的信号可以是重建残差信号与第一预测信号之和。可选地,当不使用第二预测时,可基于重建残差信号与第一预测信号之和来产生表示重建块的信号。
重建块和重建的第一残差信号可被用作对其它块进行解码的参考块。
图19示出了根据实施例的解码过程。
在图19中,附有“+”和“+”的符号“∑”可表示产生与两个信号之和相应的信号。可通过将分别用符号“+”接收的输入信号相加来产生作为两个信号之和的信号。
以上参照图19所描述的重建块产生单元可包括第一预测器和第二预测器。
在虚线内的过程可指示SSIP。
菱形可指示条件分支。
(TQ)-1可表示逆变换和反量化。
根据以上描述的实施例,当第二预测被使用时,可将被应用第一预测的选定部分和被应用第二预测的剩余部分分开。
在实施例中,当第二预测被使用时,第一预测可被应用于整个当前块。在这种情况下,可基于重建参考信号、经由第二预测所产生的第二预测信号以及经由第一预测所产生的第一预测信号之和来产生针对被应用第二预测的选定部分的重建块。此外,可基于重建残差块与经由第一预测所产生的第一预测信号之和来产生针对未被应用第二预测的剩余部分的重建块。
在这种情况下,第二预测可以是对残差的预测。第二预测可以是对第一残差信号的预测,其中,第一残差信号是当前块与第一预测信号之间的差。用于第二预测的参考块可以是重建残差块,用于第二预测的参考像素可以是重建残差块中的像素。换句话说,可经由对第一残差信号的第二预测来产生作为第一残差信号与第二预测信号之间的差的第二残差信号,并且可使用第二残差信号来产生当前块的编码信息。
可选地,在这种情况下,针对被应用第二预测的选定部分的重建块可以是重建残差块、第二预测信号和第一预测信号的加权和。预测相关的信息可包括针对重建残差信号的第一权重、针对第二预测信号的第二权重和针对第一预测信号的第三权重。可认为:不使用第二预测意味着针对第二预测信号的第二权重被设置为0。可选地,可认为:对于未被应用第二预测的剩余部分,针对第二预测的第二权重被设置为0。
对当前块的上述编码的描述也可被应用于对当前块的解码。省略了重复描述。此外,对当前块的上述解码的描述也可被应用于对当前块的编码。将省略重复描述。
在以上描述的实施例中,虽然已基于作为一系列步骤或单元的流程图描述了方法,但是本发明不限于步骤的顺序,并且一些步骤可以按照与已描述的步骤的顺序不同的顺序来执行或者与其它步骤同时执行。此外,本领域技术人员将理解:在流程图中示出的步骤不是排他性的,并且还可包括其它步骤,或者,可在不脱离本发明的范围的情况下删除流程图中的一个或更多个步骤。
以上描述的根据本发明的实施例可被实现为能够由各种计算机装置运行的程序,并且可被记录在计算机可读存储介质上。计算机可读存储介质可单独地或者组合地包括程序指令、数据文件和数据结构。在存储介质上记录的程序指令可被专门设计或配置用于本发明,或者对于计算机软件领域的普通技术人员可以是已知的或者可用的。计算机存储介质的示例可包括被专门配置用于记录和运行程序指令的所有类型的硬件装置,诸如,磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如致密盘(CD)-ROM和数字多功能盘(DVD))、磁光介质(诸如软光盘、ROM、RAM和闪存)。程序指令的示例包括机器代码(诸如由编译器创建的代码)和能够由计算机使用解释器执行的高级语言代码。硬件装置可被配置为作为一个或更多个软件模块进行操作以执行本发明的操作,反之亦然。
如上所述,虽然已基于特定细节(诸如详细组件和有限数量的实施例和附图)描述了本发明,但是所述特定细节仅被提供用于容易理解本发明,本发明不限于这些实施例,本领域技术人员将根据以上描述实践各种改变和修改。
因此,应该理解的是,本实施例的精神不受限于上述实施例,并且所附权利要求及其等同物和对它们的修改落入本发明的范围内。
Claims (16)
1.一种解码装置,包括:
重建残差信号产生单元,用于产生针对当前块的重建残差信号;
重建块产生单元,用于基于所述重建残差信号、第二预测和第一预测来产生当前块的重建块,
其中,被分配有通过第一预测所产生的预测值的区域不同于被分配有通过第二预测所产生的预测值的区域,
用于第一预测的第一参考样点的区域不同于用于第二预测的第二参考样点的区域,
第二预测是针对当前块的区域中的一部分区域的预测,
通过第二预测所产生的第二块的尺寸是2×8。
2.一种解码方法,包括:
产生针对当前块的重建残差信号;
基于所述重建残差信号、第二预测和第一预测来产生针对当前块的重建块,
其中,第一预测和第二预测中的至少一个是帧间预测,
用于第一预测的第一参考块与用于第二预测的第二参考块彼此不同,
用于第一预测的第一区域和用于第二预测的第二区域彼此不同,
第一区域是当前块的区域之中被分配有通过第一预测所产生的预测值的区域,
第二区域是当前块的区域之中被分配有通过第二预测所产生的预测值的区域,
通过第一预测确定的预测值仅被应用于当前块的区域之中的第一区域中的像素,
通过第一预测确定的预测值不被应用于当前块的区域之中的第一区域外的像素,
通过第二预测确定的预测值仅被应用于当前块的区域之中的第二区域中的像素,
通过第二预测确定的预测值不被应用于当前块的区域之中的第二区域外的像素。
3.如权利要求2所述的解码方法,其中,所述重建块与所述重建残差信号、经由第一预测所产生的第一预测信号以及经由第二预测所产生的第二预测信号之和相应。
4.如权利要求2所述的解码方法,其中,
第一预测是用于亮度块的预测,
第二预测是用于色度块的预测,
用于第一预测的第一参考块的类型与用于第二预测的第二参考块的类型不同,
第一参考块是重建的亮度块,
第二参考块是重建的色度块,
第一预测块是通过第一预测产生的,
第二预测块是通过第二预测产生的,
第一预测块的类型不同于第二预测块的类型,
第二预测块是基于第一预测块产生的。
5.如权利要求2所述的解码方法,其中:
用于第一预测的第一参考块是与当前块相邻的邻近重建块,
用于第二预测的第二参考块是与当前块相邻的邻近重建残差块,
所述邻近重建残差块是所述邻近重建块与针对所述邻近重建块的第一预测块之间的差。
6.如权利要求2所述的解码方法,其中,用于第二预测的参考样点的区域是用于第一预测的参考样点的区域中的一部分。
7.如权利要求2所述的解码方法,其中,将被应用第二预测的区域是基于将被用于第二预测的参考样点的范围来指定的,
用于第二预测的多个不同候选区域的多个预测误差被产生,
从所述多个预测误差选择最小预测误差,
用于第二预测的区域是基于在所述多个不同候选区域中具有选择的所述最小预测误差的候选区域来确定的。
8.如权利要求2所述的解码方法,其中,将被应用第二预测的区域是基于第二预测的预测方向来指定的。
9.如权利要求7所述的解码方法,其中,参考样点的范围是基于指示将被用于第二预测的第一个参考样点的信息以及指示将被用于第二预测的参考样点的数量的信息来指定的。
10.如权利要求7所述的解码方法,其中,将被应用第二预测的区域是当落在所述范围内的参考样点在第二预测的预测方向上移动时所产生的区域。
11.如权利要求7所述的解码方法,其中,落在所述范围外的参考样点的值被视为空或0。
12.如权利要求2所述的解码方法,其中,
当指示第二预测是否将被用于对当前块进行编码的第二预测使用信息指示第二预测将不被使用时,不使用第二预测,
第一预测是帧间预测,
第二预测是帧内预测,
所述重建块是使用用于第一预测块的权重以及用于第二预测块的权重来产生的,其中,第一预测块是通过执行第一预测而产生的,第二预测块是通过执行第二预测而产生的。
13.如权利要求2所述的解码方法,其中,当第一预测的预测模式是非定向模式时,不使用第二预测。
14.如权利要求2所述的解码方法,其中:
当当前块与上边界和左边界相邻时,不使用第二预测,
边界是画面的边界、条带的边界或并行块的边界。
15.如权利要求2所述的解码方法,其中,基于与当前块相邻的重建块的数量来确定第二预测是否将被使用。
16.如权利要求2所述的解码方法,其中,
当第二预测不被使用时,基于所述重建残差信号和经由第一预测所产生的第一预测信号来产生所述重建块,
第一预测和第二预测中的每一个是针对当前块的帧间预测,
使用双向帧间预测来产生所述重建块,
当第二预测被使用时,经由第二预测来产生第二预测信号,
使用用于第一预测信号的权重和用于第二预测信号的权重来产生所述重建块,
被包括在比特流中的指示权重的与预测相关的信息被使用。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211613703.2A CN115941948A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613078.1A CN115733977A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613836.XA CN115733979A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613690.9A CN115733978A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613450.9A CN116016911A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613933.9A CN115941949A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211615144.9A CN116016912A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160010260 | 2016-01-27 | ||
KR10-2016-0010260 | 2016-01-27 | ||
KR1020170012160A KR20170089777A (ko) | 2016-01-27 | 2017-01-25 | 예측을 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치 |
KR10-2017-0012160 | 2017-01-25 | ||
PCT/KR2017/000965 WO2017131473A1 (ko) | 2016-01-27 | 2017-01-26 | 예측을 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치 |
Related Child Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211613836.XA Division CN115733979A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211615144.9A Division CN116016912A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613450.9A Division CN116016911A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613690.9A Division CN115733978A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613078.1A Division CN115733977A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613703.2A Division CN115941948A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
CN202211613933.9A Division CN115941949A (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108605123A CN108605123A (zh) | 2018-09-28 |
CN108605123B true CN108605123B (zh) | 2023-01-03 |
Family
ID=59654366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780009090.2A Active CN108605123B (zh) | 2016-01-27 | 2017-01-26 | 通过使用预测对视频进行编码和解码的方法和装置 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20170089777A (zh) |
CN (1) | CN108605123B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111386707B (zh) * | 2017-11-22 | 2024-05-17 | 英迪股份有限公司 | 图像编码/解码方法和设备以及用于存储比特流的记录介质 |
US11792426B2 (en) | 2018-06-18 | 2023-10-17 | Industry Academy Cooperation Foundation Of Sejong University | Method and apparatus for encoding/decoding image using a prediction value based on reference pixels |
CN113766225B (zh) * | 2020-06-05 | 2023-02-28 | 杭州海康威视数字技术股份有限公司 | 编码方法、解码方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101246915B1 (ko) * | 2005-04-18 | 2013-03-25 | 삼성전자주식회사 | 동영상 부호화 또는 복호화 방법 및 장치 |
KR101403338B1 (ko) * | 2007-03-23 | 2014-06-09 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
JP5421757B2 (ja) * | 2009-12-11 | 2014-02-19 | 株式会社Kddi研究所 | 画像符号化装置 |
JP5594841B2 (ja) * | 2011-01-06 | 2014-09-24 | Kddi株式会社 | 画像符号化装置及び画像復号装置 |
-
2017
- 2017-01-25 KR KR1020170012160A patent/KR20170089777A/ko active Search and Examination
- 2017-01-26 CN CN201780009090.2A patent/CN108605123B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108605123A (zh) | 2018-09-28 |
KR20170089777A (ko) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109314785B (zh) | 用于导出运动预测信息的方法和装置 | |
CN110463201B (zh) | 使用参考块的预测方法和装置 | |
CN109076216B (zh) | 使用画面划分信息对视频进行编码和解码的方法和设备 | |
US11284076B2 (en) | Block form-based prediction method and device | |
CN111567045A (zh) | 使用帧间预测信息的方法和装置 | |
KR20230143590A (ko) | 인터 예측 방법 및 그 장치 | |
CN110476425B (zh) | 基于块形式的预测方法和装置 | |
KR20220082791A (ko) | 움직임 예측 정보를 유도하는 방법 및 장치 | |
CN111684801A (zh) | 双向帧内预测方法和设备 | |
CN108432247B (zh) | 用于预测残差信号的方法和装置 | |
CN114450946A (zh) | 通过使用几何分区对图像进行编码/解码的方法、设备和记录介质 | |
CN118590661A (zh) | 用于使用时间运动信息的图像编码和图像解码的方法和设备 | |
CN108605123B (zh) | 通过使用预测对视频进行编码和解码的方法和装置 | |
CN115442614A (zh) | 通过使用预测对视频进行编码和解码的方法和装置 | |
CN118044194A (zh) | 用于图像编码/解码的方法、装置和记录介质 | |
CN108605139B (zh) | 通过使用预测对视频进行编码和解码的方法和装置 | |
CN114270828A (zh) | 用于使用基于块类型的预测的图像编码和图像解码的方法和设备 | |
CN115733979A (zh) | 通过使用预测对视频进行编码和解码的方法和装置 | |
CN118355663A (zh) | 用于对图像进行编码/解码的方法、装置和记录介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |