CN108605139A - 通过使用预测对视频进行编码和解码的方法和装置 - Google Patents

通过使用预测对视频进行编码和解码的方法和装置 Download PDF

Info

Publication number
CN108605139A
CN108605139A CN201780008673.3A CN201780008673A CN108605139A CN 108605139 A CN108605139 A CN 108605139A CN 201780008673 A CN201780008673 A CN 201780008673A CN 108605139 A CN108605139 A CN 108605139A
Authority
CN
China
Prior art keywords
prediction
block
coding
current block
unit
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.)
Granted
Application number
CN201780008673.3A
Other languages
English (en)
Other versions
CN108605139B (zh
Inventor
高现硕
林成昶
姜晶媛
李镇浩
全东山
金晖容
全炳宇
金男昱
田丞秀
崔振秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Priority to CN202211136906.7A priority Critical patent/CN115460409A/zh
Priority to CN202211136714.6A priority patent/CN115460408A/zh
Priority to CN202211137157.XA priority patent/CN115460410A/zh
Priority to CN202211136485.8A priority patent/CN115442614A/zh
Priority to CN202211136616.2A priority patent/CN115460407A/zh
Priority claimed from PCT/KR2017/000967 external-priority patent/WO2017131475A1/ko
Publication of CN108605139A publication Critical patent/CN108605139A/zh
Application granted granted Critical
Publication of CN108605139B publication Critical patent/CN108605139B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain

Abstract

公开了一种用于通过使用预测来执行编码和解码的方法和装置。在对当前块进行编码的过程中,基于当前块、第一预测和第二预测来产生当前块的残差信号。另外,通过对残差信号进行编码来产生关于被编码的残差信号的信息。第二预测是针对当前块的一部分的预测。在对当前块进行解码的过程中,产生针对当前块的重建残差信号。基于重建残差信号、第二预测和第一预测来产生针对当前块的重建块。第二预测是针对当前块的一部分的预测。

Description

通过使用预测对视频进行编码和解码的方法和装置
技术领域
以下实施例总体上涉及一种视频解码方法和设备以及视频编码方法和设备,更具体地讲,涉及一种基于目标块的预测来对视频执行编码和解码的方法和设备。
背景技术
随着信息与通信行业的持续发展,具有高清(HD)分辨率的广播服务已经在全世界普及。通过这种普及,大量用户已经习惯了高分辨率和高清晰度图像和/或视频。
为了满足用户对高清晰度的需求,大量机构加速了对下一代成像装置的开发。用户除了对高清TV(HDTV)和全高清(FHD)TV的兴趣已增加之外,对超高清(UHD)TV的兴趣也已增加,其中,超高清(UHD)TV的分辨率是全高清(FUD)TV的分辨率的四倍以上。随着这种兴趣的增加,需要对于具有更高分辨率和更高清晰度的图像的图像编码/解码技术。
图像编码/解码设备和方法可使用帧间预测技术、帧内预测技术、熵编码技术等,以便对高分辨率和高清晰度图像执行编码/解码。帧间预测技术可以是用于使用时间上在前的画面和/或时间上在后的画面对当前画面中包括的像素的值进行预测的技术。帧内预测技术可以是用于使用关于在当前画面中的像素的信息对当前画面中包括的像素的值进行预测的技术。熵编码技术可以是用于将短码分配给更频繁出现的符号并且将长码分配给很少出现的符号的技术。
在图像编码和解码过程中,预测可表示产生与原始信号类似的预测信号。可将预测主要分类为:参考空间上重建的图像的预测、参考时间上重建的图像的预测、以及参考其它符号的预测。换句话说,时间参考可表示在时间上重建的图像被参考,空间参考可表示在空间上重建的图像被参考。
当前块可以是作为当前将被编码或解码的目标的块。当前块可被称为“目标块”或“目标单元”。在编码过程中,当前块可被称为“编码目标块”或“编码目标单元”。在解码过程中,当前块可被称为“解码目标块”或“解码目标单元”。
帧间预测可以是用于使用时间参考和空间参考对当前块进行预测的技术。帧内预测可以是用于仅使用空间参考对当前块进行预测的技术。
当执行帧内预测以减少空间重复时,图像编码/解码技术使用多个预测模式中的任意一个预测模式对当前块进行编码。例如,在高效视频编码(HEVC)中,使用35种帧内预测模式。
编码设备使用多种预测模式中的所有可用预测模式来产生当前块的预测块,并从所述所有可用预测模式之中选择表现出最佳结果的一种预测模式作为用于对当前块进行编码的预测模式。然而,即使使用了表现出最佳结果的预测模式,在原始块与预测块之间仍然存在误差。这种误差被表示为残差块。
对于一些像素,在原始块与预测块之间存在较大的误差。由于此较大的误差,即使在将变换和/或量化应用于残差块之后,空间重复仍可能不被充分减少。
由于帧内预测是沿一个方向对整个块的预测,因此在块的一部分中可能发生较大误差。
发明内容
技术问题
实施例旨在提供一种减少由于预测而发生的基于预测单元的预测误差的方法和设备。
实施例旨在提供一种减少由于预测模式的预测方向而发生的预测误差的方法和设备。
实施例旨在提供一种对与沿第一预测模式的方向进行的第一预测相应的预测误差执行选择性第二预测的方法和设备。
实施例旨在提供一种将当前块分区为具有相同数量的像素的两个部分并对所述两个部分执行第二预测的方法和设备。
实施例旨在提供一种对当前块的多个部分中的由第一预测引起的预测误差较大的一个部分使用第二预测的方法和设备。
实施例旨在提供一种通过使用第二预测来减少当前块中的预测误差的方法和设备。
实施例旨在提供一种通过使用第二预测为当前块提供更高的压缩效果的方法和设备。
解决方案
根据一方面,提供了一种编码方法,包括:基于当前块、第一预测和第二预测产生当前块的残差信号;通过对残差信号执行编码来产生关于编码的残差信号的信息,其中,第二预测是针对当前块的一部分的预测。
提供了一种解码方法,包括:重建残差信号产生单元,用于产生针对当前块的重建残差信号;重建块产生单元,用于基于重建残差信号、第二预测和第一预测来产生针对当前块的重建块,其中,第二预测是针对当前块的一部分的预测。
提供了一种解码方法,包括:产生针对当前块的重建残差信号;基于重建残差信号、第二预测和第一预测来产生针对当前块的重建块,其中,第二预测是针对当前块的一部分的预测。
第一预测和第二预测可以均是帧内预测。
所述一部分可具有非正方形形状。
所述一部分可以是基于第一预测的预测模式来确定的。
所述一部分可以是基于沿第一预测的预测方向穿过当前块的中心的直线来确定的。
第一预测和第二预测可以具有不同的预测方向。
所述一部分可以是通过对当前块进行分区而产生的两个部分之一。
所述两个部分可具有相同数量的像素。
所述两个部分中的每一个部分可具有非正方形形状。
所述两个部分可以是基于沿第一预测的预测方向穿过当前块的中心的直线来确定的。
所述一部分可以是基于指示所述两个部分之一的选定部分信息被选择的。
当第一预测的预测模式是非定向模式时,第二预测可不被使用。
当指示第二预测是否将被用于对当前块进行编码的第二预测使用信息指示第二预测将不被使用时,第二预测可不被使用。
当第二预测不被使用时,第一预测可以是对整个当前块的预测。
经由针对所述一部分的第二预测所产生的第二预测信号可与重建残差信号相加。
第一预测可以是针对当前块中的除了所述一部分之外的剩余部分的预测。
经由针对所述剩余部分的第一预测所产生的第一预测信号可与重建残差信号相加。
重建块可以是基于经由针对所述一部分的第二预测所产生的第二预测信号以及经由针对所述剩余部分的第一预测所产生的第一预测信号而产生的。
有益效果
提供了一种减少由于预测而发生的基于预测单元的预测误差的方法和设备。
提供了一种减少由于预测模式的预测方向而发生的预测误差的方法和设备。
提供了一种对与沿第一预测模式的方向进行的第一预测相应的预测误差执行选择性的第二预测的方法和设备。
提供了一种将当前块分区为具有相同数量的像素的两个部分并对所述两个部分执行第二预测的方法和设备。
提供了一种对当前块的多个部分中的由第一预测引起的预测误差较大的一个部分使用第二预测的方法和设备。
提供了旨在提供一种通过使用第二预测来减少当前块中的预测误差的方法和设备的实施例。
提供了一种通过使用第二预测为当前块提供更高的压缩效果的方法和设备。
附图说明
图1是示出被应用了本发明的编码设备的实施例的配置的框图;
图2是示出被应用了本发明的解码设备的实施例的配置的框图;
图3是示意性地示出了当图像被编码和解码时图像的分区结构的示图;
图4是示出编码单元(CU)能够包括的预测单元(PU)的形状的示图;
图5是示出能够被包括在CU中的变换单元(TU)的形状的示图;
图6是用于解释帧内预测过程的实施例的示图;
图7是用于解释帧内预测过程中使用的参考样点的位置的示图;
图8是用于解释帧间预测过程的实施例的示图;
图9是示出根据实施例的当沿垂直方向对原始图像进行预测时的预测误差的示图;
图10是根据实施例的编码设备的配置图;
图11是根据实施例的编码方法的流程图;
图12是示出根据实施例的使用帧内预测的第一预测和第二预测的示图;
图13是根据实施例的残差块产生方法的流程图;
图14是根据实施例的重建块产生方法的流程图;
图15是示出根据实施例的编码过程的示图;
图16是根据实施例的解码设备的配置图;
图17是根据实施例的解码方法的流程图。
最佳实施方式
将参照示出特定实施例的附图对以下示例性实施例进行详细描述。描述这些实施例,使得本公开所属技术领域的普通技术人员能够容易地实践这些实施例。应注意,各种实施例彼此不同,但不需要彼此互斥。例如,在此描述的特定形状、结构和特性可在不脱离与一个实施例相关的多个实施例的精神和范围的情况下被实现为其它实施例。此外,应该理解,在不脱离实施例的精神和范围的情况下,能够改变在每个公开的实施例中的各个组件的位置或布置。因此,所附的详细描述并非旨在限制本公开的范围,并且示例性实施例的范围仅由所附的权利要求及其等同物(只要它们被适当地描述)限定。
在附图中,相似的参考标号被用于在各个方面指定相同或相似的功能。附图中的组件的形状、尺寸等可被夸大以使得描述清楚。
将理解,当组件被称为“连接”或“耦接”到另一组件时,所述组件可直接连接或耦接到所述另一组件,或者存在中间组件。此外,应注意,在示例性实施例中,用于描述组件“包括”特定组件的表述意味着另外的组件可被包括在示例性实施例的实践范围或技术精神中,但是不排除存在所述特定组件以外的组件。
诸如“第一”和“第二”的术语可用于描述各种组件,但是组件不受所述术语限制。所述术语仅用于将一个组件与另一个组件区分开。例如,在不脱离本说明书的范围的情况下,第一组件可被称为第二组件。类似地,第二组件可被称为第一组件。
此外,在实施例中描述的组件被独立地示出以表示不同的特征功能,但是这并不意味着每个组件由一个单独的硬件或软件形成。也就是说,为了方便描述,多个组件被单独地布置和包括。例如,多个组件中的至少两个组件可被集成为单个组件。相反,一个组件可被划分为多个组件。只要不脱离本说明书的本质,多个组件被集成的实施例或一些组件被分离的实施例被包括在本说明书的范围中。
此外,一些组件不是用于执行必要功能的必要组件,但是可以是用于仅提高性能的可选组件。实施例可仅使用用于实现实施例的本质的必要组件来实现。例如,仅包括必要组件而排除仅用于提高性能的可选组件的结构也被包括在实施例的范围内。
下面将参照附图来详细描述实施例,使得实施例所属技术领域的普通技术人员能够容易地实践实施例。在实施例的以下描述中,被视为使本说明书的要点模糊的公知功能或配置的详细描述将被省略。
在下文中,“图像”可表示构成视频的一部分的单个画面,或者可表示视频本身。例如,“对图像的编码和/或解码”可表示“对视频的编码和/或解码”,并且也可表示“对构成视频的多个图像中的任意一个图像的编码和/或解码”。
在下文中,术语“视频”和“运动画面”可被用于具有相同的含义,并且可彼此互换。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用于具有相同的含义,并且可彼此互换。
在以下的实施例中,特定的信息、数据、标志、元素和属性可具有它们各自的值。与所述信息、数据、标志、元素和属性中的每一个相应的值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组成。
在编码设备100中,可使用递归树结构将尺寸为64×64的编码树单元(CTU)分区为多个更小的CU。可将单个CU分区为具有相同尺寸的四个CU。每个CU可被递归地分区,并且可具有四叉树结构。
CU可具有给定的深度。当CU被分区时,从分区操作所产生的CU可具有从被分区的CU的深度增加1而得到的深度。
例如,CU的深度可具有范围从0到3的值。根据CU的深度,CU的尺寸的范围可从尺寸64×64到尺寸8×8。
通过对CU进行递归分区,可选择引起最小率失真代价的最佳分区方法。
图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相应的模式值的帧内预测模式被使用时,右上方参考像素439中的至少一些可被用于帧内预测。
此外,当具有与2、3、4、5、6、7、8或9相应的模式值的帧内预测模式被使用时,左下方参考像素431中的至少一些可被用于帧内预测。
此外,当具有与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示出了根据实施例的对当前块的分区的第二预测。
图9中示出的当前块可以是PU。
当对当前块执行最佳帧内预测时,仅沿一个方向对整个当前块执行预测,因此在当前块的一部分上可能发生较大的预测误差。
可将用于以非正方形形状对当前块进行分区的方案应用于发生较大预测误差的部分。
换句话说,如果在已对正方形预测单元执行了第一预测之后对具有较大预测误差的一个部分执行在另一预测模式下的第二预测,则可减少当前块中的预测误差。
例如,第一预测模式和第二预测模式两者可以都是帧内预测模式。
在图9中,当前块可以具有正方形形状。对整个当前块执行的第一预测的预测方向被示出。例如,第一预测的预测模式可以是模式值为26的垂直模式。
当前块可被分区为第一部分和第二部分。第一部分和第二部分中的每一个可具有非正方形形状。
在图9中,示出了针对第一部分的第二预测的预测方向,并且示出了针对第二部分的第二预测的预测方向。例如,针对第一部分的第二预测的预测模式可以是模式值为10的水平模式。针对第二部分的第二预测的预测模式可以是模式值为34的最低对角模式。
具有较大预测误差的部分的形状可与用于当前块的最佳预测模式的方向相应。在以下实施例中,可描述用于通过有效地利用具有较大预测误差的部分的形状的趋向以与用于当前块的最佳预测模式的方向相应来提高预测性能并减少预测误差的方法和设备。
图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。
在实施例中,可基于第一预测的类型来确定第一预测的区域。例如,可基于第一预测是否是帧间预测来确定第一预测的区域。可选地,可基于第一预测是否是帧内预测来确定第一预测的区域。可选地,可基于第一预测的预测方向来确定第一预测的区域。
在实施例中,可基于第二预测的类型来确定第二预测的区域。例如,可基于第二预测是否是帧间预测来确定第二预测的区域。可选地,可基于第二预测是否是帧内预测来确定第二预测的区域。可选地,可基于第二预测的预测方向来确定第二预测的区域。
在步骤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示出根据实施例的对当前块的分区操作。
在图12中,示出了尺寸为N×N的当前块。
当前块可被分区为两个部分。可基于沿第一预测的预测方向穿过当前块的中心的直线来确定所述两个部分。在图12中,第一预测的预测方向可以是模式值为3的预测模式的预测方向。
第一预测可以是使用通过对当前块进行帧内预测而获取的第一最佳预测模式的预测。
可使用第一预测的预测模式将当前块分区为两个部分(划分区域),使得所述两个部分具有相同数量的像素。
这里,沿第一预测的预测方向对当前块进行分区的原因是:当使用帧内预测执行当前块的预测时,在由预测方向指定的部分中可能存在发生较大预测误差的趋势。
在图12中,分别用S1和S2来指示所述两个部分。在x坐标值为i的点之中,y坐标值为j2的点可被包括在S1中。在x坐标值为i的点之中,y坐标值为j1的点可被包括在S2中。
可使用以下的等式2、3、4、5、和6以及以下的表1来计算预测模式的预测方向。
由于模式值为0或1的预测模式是非定向预测模式,因此可从分区中排除该预测模式。
[等式2]
“predMode”可表示预测模式的数字。“垂直”可表示预测模式是垂直模式。“水平”可表示预测模式是水平模式。
[等式3]
absAngle=|predAngle|
[等式4]
[等式5]
[等式6]
Tan=TanSign×TanValue
absAngle的值可通过以下的表1来定义。
表1
absAngle 0 1 2 3 4 5 6 7 8
0 2 5 9 13 17 21 26 32
当预测模式的Tan的值被计算时,通过以下的等式7,在当前块中位于坐标(i,j)处的像素可被包括在部分S0和部分S1中的至少一个中:
[等式7]
当预测模式predMode的模式值是3、18或34时,Tan的值可以是-1或+1。在这种情况下,在对当前块进行分区的直线上的像素可被包括在两个部分S0和S1中的每一个中。
换句话说,当当前块沿穿过当前块的中心的直线被分区为两个部分时,在当前块中位于该直线上的像素可被包括在所述两个部分中的每一个中。
图13是根据实施例的残差块产生方法的流程图。
以上参照图11描述的步骤1110可包括步骤1310、1320、1330、1335、1340、1345、1350、1355、1360、1370和1380。
在实施例中,作为第一预测的目标的块可以是当前块。第一预测可以是帧内预测。
在步骤1310,预测部可通过对当前块执行第一预测来产生第一预测信号。
第一预测信号可表示第一预测块。
预测部可在多种预测模式中的每一种预测模式下执行第一预测以便找到针对第一预测的最佳预测模式来对当前块进行编码。也就是说,可在多种预测模式中的每一种预测模式下执行步骤1310。
多种预测模式可对应于不同的预测方向。
预测部可基于当前块和第一预测信号来产生第一预测误差。
第一预测误差可表示第一残差块。
第一残差块可表示当前块与第一预测块之间的差(残差)。也就是说,预测部可通过从当前块减去由第一预测信号表示的第一预测块来产生第一预测误差。
预测部可使用第一预测误差计算针对第一预测的率失真代价。
预测部可将计算出的第一预测误差和/或计算出的针对第一预测的率失真代价存储在存储器1030、贮存器1040或缓冲器中。
预测部可在多种预测模式中的每一种预测模式下执行第一预测以便找到第一预测的最佳预测模式以对当前块进行编码。预测部可使用多种预测模式下的第一预测误差来计算针对多种预测模式的多个率失真代价。预测部可将计算出的多个率失真代价之中的最小率失真代价存储为最小第一率失真代价RDcost_1。例如,RDcost_1可以是在主要帧内预测中具有最小率失真代价的模式的率失真代价。
预测部可存储RDcost_1和与RDcost_1相应的第一预测误差。
在步骤1320,预测部可确定第一预测的第一预测模式。第一预测模式可指示第一预测的预测方向。
预测部可将多种预测模式之中具有最小率失真代价的预测模式确定为第一预测模式。在下文中,第一预测的预测模式可以是多种预测模式之中具有最小率失真代价的预测模式。第一预测的预测方向可以是第一预测的预测模式的预测方向。
在步骤1330,可确定是否对当前块执行第二预测。
在实施例中,在步骤1330的确定可以不是关于是否使用第二预测对当前块进行编码的最终决定。在步骤1130,预测部可确定是否能够对当前块执行第二预测。
例如,如果确定不执行第二预测,可在不使用第二预测的情况下对当前块进行编码。如果确定执行第二预测,则可经由第二预测产生第二预测信号和第二预测误差,但是可在步骤1360通过比较率失真代价来确定是否使用第二预测对当前块进行编码。
如果确定不执行第二预测,则针对当前块的残差块可以是由第一预测误差表示的块。换句话说,第一预测误差可被提供为残差块。
如果确定执行第二预测,则针对当前块的残差块可以是由第二预测误差表示的块,随后将对此进行描述。换句话说,第二预测误差可被提供为残差块。
预测部可基于预定义的条件来确定是否执行第二预测。
在实施例中,预测部可基于第一预测的预测模式来确定是否执行第二预测。
例如,当第一预测的预测模式是非定向模式时,预测部可不执行第二预测。可选地,当第一预测的预测模式是定向模式时,预测部可执行第二预测。
当第一预测的预测模式是多种预测模式中的非定向模式时,由于预测模式的方向不存在,因此可不沿预测方向对当前块进行分区。
如果确定执行第二预测,则可执行步骤1335。
如果确定不执行第二预测,则可执行步骤1370或步骤1120。当执行步骤1120时,在步骤1120的残差信号可以是第一预测误差。也就是说,当仅执行第一预测而不执行第二预测时,经由第一预测所产生的第一预测误差可被用作针对当前块的残差信号。
在步骤1335,预测部可基于第一预测模式对当前块进行分区。预测部可通过基于第一预测模式对当前块进行分区来产生两个部分。
在实施例中,预测部可通过沿第一预测的预测方向穿过当前块的中心的直线对当前块进行分区来产生两个非正方形部分。在下文中,所述两个非正方形部分可被指定为“第一部分”和“第二部分”。
当当前块被分区时,可对从分区操作所产生的每个部分执行第二预测。
在步骤1340,预测部可通过对第一部分执行第二预测来产生针对第一部分的第二预测信号。
针对第一部分的第二预测信号可表示针对第一部分的第二预测块。
针对第一部分的第二预测可以是帧内预测。
预测部可在多种预测模式中的每种预测模式下执行第二预测以便找到最佳预测模式来对第一部分进行编码。换句话说,可在多种预测模式中的每种预测模式下执行步骤1340。
多种预测模式可对应于不同的预测方向。
预测部可基于第一部分和第二预测信号来产生针对第一部分的第二预测误差。
针对第一部分的第二预测误差可表示针对第一部分的第二残差块。
针对第一部分的第二残差块可表示第一部分与第二预测块之间的差(残差)。也就是说,预测部可通过从第一部分减去针对第一部分的第二预测块来产生针对第一部分的第二预测误差,其中,针对第一部分的第二预测块由针对第一部分的第二预测信号来表示。
预测部可使用针对第一部分的第二预测误差来计算针对第一部分的第二预测的率失真代价。
预测部可将计算出的针对第一部分的第二预测误差和/或计算出的针对第一部分的第二预测的率失真代价存储在存储器1030、贮存器1040或缓冲器中。
预测部可在多种预测模式中的每种预测模式下执行第二预测以便找到针对第一部分的第二预测的最佳预测模式来对第一部分进行编码。预测部可使用多种预测模式的多个第二预测误差来计算多种预测模式的多个率失真代价。预测部可将计算出的多个率失真代价之中的最小率失真代价存储为第一部分的最小第二率失真代价RDcost_2。例如,RDcost_2可以是在第一部分的次要帧内预测中具有最小率失真代价的模式的率失真代价。
预测部可存储第一部分的RDcost_2和与第一部分的RDcost_2相应的第一部分的第二预测误差。
在步骤1345,预测部可确定针对第一部分的第二预测的第二预测模式。第一部分的第二预测模式可指示针对第一部分的第二预测的预测方向。
预测部可将多种预测模式之中具有最小率失真代价的预测模式确定为第一部分的第二预测模式。在下文中,针对第一部分的第二预测的预测模式可以是多种预测模式之中具有最小率失真代价的预测模式。针对第一部分的第二预测的预测方向可以是针对第一部分的第二预测的预测模式的预测方向。
在步骤1350,预测部可通过对第二部分执行第二预测来产生针对第二部分的第二预测信号。
针对第二部分的第二预测信号可表示针对第二部分的第二预测块。
针对第二部分的第二预测可以是帧内预测。
预测部可在多预测模式中的每种预测模式下执行第二预测以便找到最佳预测模式来对第二部分进行编码。换句话说,可在多种预测模式中的每种预测模式下执行步骤1340。
多种预测模式可对应于不同的预测方向。
预测部可基于第二部分和第二预测信号来产生针对第二部分的第二预测误差。
针对第二部分的第二预测误差可表示针对第二部分的第二残差块。
针对第二部分的第二残差块可表示第二部分与第二预测块之间的差(残差)。也就是说,预测部可通过从第二部分减去针对第二部分的第二预测块来产生针对第二部分的第二预测误差,其中,针对第二部分的第二预测块由针对第二部分的第二预测信号来表示。
预测部可使用针对第二部分的第二预测误差来计算针对第二部分的第二预测的率失真代价。
预测部可将计算出的针对第二部分的第二预测误差和/或计算出的针对第二部分的第二预测的率失真代价存储在存储器1030、贮存器1040或缓冲器中。
预测部可在多种预测模式中的每种预测模式下执行第二预测以便找到针对第二部分的第二预测的最佳预测模式来对第二部分进行编码。预测部可使用多种预测模式的多个第二预测误差来计算多种预测模式的多个率失真代价。预测部可将计算出的多个率失真代价之中的最小率失真代价存储为第二部分的最小第二率失真代价RDcost_2。例如,RDcost_2可以是在第二部分的次要帧内预测中具有最小率失真代价的模式的率失真代价。
预测部可存储第二部分的RDcost_2和与第二部分的RDcost_2相应的第二部分的第二预测误差。
在步骤1355,预测部可确定针对第二部分的第二预测的第二预测模式。第二部分的第二预测模式可指示针对第二部分的第二预测的预测方向。
预测部可将多种预测模式之中具有最小率失真代价的预测模式确定为第二部分的第二预测模式。在下文中,针对第二部分的第二预测的预测模式可以是多种预测模式之中具有最小率失真代价的预测模式。针对第二部分的第二预测的预测方向可以是针对第二部分的第二预测的预测模式的预测方向。
在步骤1360,预测部可确定是否使用第二预测对当前块进行编码。
预测部可基于预定义的条件来确定是否使用第二预测对当前块进行编码。
例如,当通过使用第二预测进一步减少了率失真代价时,预测部可确定使用第二预测。当即使使用了第二预测但率失真代价并没有进一步减少时,预测部可确定不使用第二预测。
例如,当在使用第二预测时所计算出的最小率失真代价小于在未使用第二预测时所计算出的最小率失真代价时,预测部可确定使用第二预测。
在实施例中,预测部可基于在第一预测的预测模式的率失真代价、针对第一部分的第二预测的预测模式的率失真代价以及针对第二部分的第二预测的预测模式的率失真代价之间的比较结果来确定是否使用第二预测。
在实施例中,预测部可从第一部分和第二部分之间选择将被编码的一个部分。预测部可基于在针对第一部分的第二预测模式的率失真代价与针对第二部分的第二预测模式的率失真代价之间的比较结果来从第一部分和第二部分之间选择将被编码的一个部分。
例如,预测部可从第一部分和第二部分之间选择具有较高率失真代价的一个部分。当针对第一部分的第二预测模式的率失真代价高于针对第二部分的第二预测模式的率失真代价时,预测部可选择第一部分。当针对第一部分的第二预测模式的率失真代价低于针对第二部分的第二预测模式的率失真代价时,预测部可选择第二部分。
例如,当针对第一部分的第二预测模式的率失真代价与第二部分的第二预测模式的率失真代价相同时,如果第一部分的第二预测模式与第一预测模式不同,则预测部可选择第一部分,如果第二部分的第二预测模式与第一预测模式不同,则预测部可选择第一部分。换句话说,预测部可将率失真代价用作主要标准并将预测模式用作次要标准从第一部分和第二部分之间选择一个部分。
在下文中,第一部分和第二部分中的被预测部选择的部分被称为“选定部分”。此外,“第二预测”表示针对第一部分的第二预测和针对第二部分的第二预测中的针对选定部分的第二预测。第一部分和第二部分中的未被预测部选择的部分被称为剩余部分。
在实施例中,预测部可基于选定部分的第二预测模式和当前块的第一预测模式来确定是否使用第二预测。
例如,当选定部分的第二预测模式与当前块的第一预测模式相同时,在使用第二预测时所获得的结果可与在未使用第二预测时所获得的结果相同。因此,在这种情况下,通过使用第二预测而获得的效果可能并不存在。如果选定部分的第二预测模式与当前块的第一预测模式相同,则预测部可确定针对选定部分不使用第二预测。
在实施例中,如果通过针对选定部分的第二预测减少了针对当前块的预测的率失真代价,则预测部可确定针对选定部分使用第二预测。如果通过针对选定部分的第二预测没有减少针对当前块的预测的率失真代价,则预测部可确定针对选定部分不使用第二预测。
在示例中,当针对选定部分的第二预测的率失真代价是RDcost_SS,针对剩余部分的第一预测的率失真代价是RDcost_SNS,并且针对当前块的第一预测的率失真代价是RDcost时,如果RDcost_SS与RDcost_SNS之和小于RD_cost,则预测部可确定针对选定部分使用第二预测。此外,如果RDcost_SS与RDcost_SNS之和等于或大于RD_cost,则预测部可确定针对选定部分不使用第二预测。
在示例中,如果针对选定部分的第二预测的率失真代价小于针对选定部分的第一预测的率失真代价,则确定针对选定部分不使用第二预测。此外,如果针对选定部分的第二预测的率失真代价等于或大于针对选定部分的第一预测的率失真代价,则确定针对选定部分不使用第二预测。
如果确定不使用第二预测对当前块进行编码,则可执行步骤1370。
如果确定使用第二预测对当前块进行编码,则可执行步骤1380。
在步骤1370,预测部可执行指示第二预测将不被使用的设置。
预测部可对第二预测使用信息的值进行设置,使得第二预测使用信息指示第二预测将不被使用。例如,第二预测使用信息可以是额外次要帧内预测(ASIP)标志。
例如,当第二预测使用信息的值是0时,第二预测使用信息可指示第二预测将不被使用。
预测部可对第一预测的预测模式设置第一预测模式信息。
当步骤1370被执行时,在步骤1120的残差信号可以是当前块的残差信号。当前块的残差信号可以是第一预测误差。换句话说,当不对当前块执行第二预测时,基于第一预测所产生的第一预测误差可被用作当前块的残差信号。
在步骤1380,预测部可执行指示第二预测将被使用的设置。
在实施例中,预测部可对第二预测使用信息的值进行设置,使得第二预测使用信息指示第二预测将被使用。
在实施例中,当第二预测使用信息的值是例如1时,第二预测使用信息可指示第二预测将被使用。
预测部可对选定部分信息的值进行设置,使得选定部分信息指示被应用第二预测的选定部分。例如,选定部分信息可以是选定部分标志(SSF)。
例如,预测部可对选定部分信息的值进行设置,使得选定部分信息指示通过对当前块进行分区而产生的两个部分中的一个部分。当选定部分是以上参照图11描述的部分S1时,预测部可将选定部分信息的值设置为0。当选定部分是以上参照图11描述的部分S2时,预测部可将选定部分信息的值设置为1。
预测部可对第一预测的预测模式设置第一预测模式信息。预测部可对第二预测的预测模式设置第二预测模式信息。
当步骤1370被执行时,在步骤1120的残差信号可以是当前块的残差信号。当前块的残差信号可以是与当前块和预测块之间的差相应的信号。预测块可以是经由针对选定部分的第二预测所产生的预测块与经由针对剩余部分的第一预测所产生的预测块之和。
换句话说,当针对当前块执行第二预测时,可将基于第一预测和第二预测而产生的预测误差用作残差信号。
可选地,当步骤1370被执行时,在步骤1120的残差信号可以是针对选定部分的残差信号和针对剩余部分的残差信号。针对选定部分的残差信号可以是与选定部分和经由针对选定部分的第二预测所产生的第二预测块之间的差相应的信号。针对剩余部分的残差信号可以是与剩余部分和经由针对剩余部分的第一预测所产生的第三预测块之间的差相应的信号。
图14是根据实施例的重建块产生方法的流程图。
以上参照图11描述的步骤1160可包括以下的步骤1410、1420和1430。
在步骤1410,重建块产生单元可确定第二预测是否已被用于对当前块进行编码。
如果确定第二预测已被用于对当前块进行编码,则可执行步骤1420。
如果确定第二预测未被用于对当前块进行编码,则可执行步骤1430。
在步骤1420,重建块产生单元可将与针对选定部分的第二预测信号与重建残差信号相加。
第二预测信号可以是经由针对选定部分的第二预测所产生的信号。
在步骤1430,重建块产生单元可通过将针对当前块或剩余部分的第一预测信号与重建残差信号相加来产生重建块。
在实施例中,当第二预测未被使用时,重建块产生单元可通过将针对当前块的第一预测信号与重建残差信号相加来产生重建块。第一预测信号可以是经由针对当前块的第一预测所产生的信号。
在实施例中,当第二预测未被使用时,重建块产生单元可通过将针对剩余部分的第一预测信号与重建残差信号相加来产生重建块。第一预测信号可以是经由针对剩余部分的第一预测所产生的信号。
例如,当第二预测被使用时,指示重建块的信号可以是重建残差信号、针对选定部分的第二预测信号以及针对剩余部分的第一预测信号之和。如以上参照步骤1420和1430所描述的,当第二预测被使用时,可将针对选定部分的第二预测信号和针对剩余部分的第一预测信号与重建残差信号相加。可选地,当第二预测被使用时,可基于重建残差信号、针对选定部分的第二预测信号以及针对剩余部分的第一预测信号来产生重建块。
例如,当第二预测未被使用时,指示重建块的信号可以是重建残差信号与针对当前块的第一预测信号之和。可选地,当第二预测未被使用时,可基于重建残差信号和针对当前块的第一预测信号来产生重建块。
图15是根据实施例的解码设备的配置图。
解码设备1500可以是执行解码的通用计算机系统。
如图15中所示,解码设备1500可包括通过总线1590彼此通信的至少一个处理器1510、存储器1530、用户界面(UI)输入装置1550、UI输出装置1560和贮存器1540。解码设备1500还可包括连接到网络1599的通信单元1520。处理器1510可以是用于运行存储在存储器1530或贮存器1540中的处理指令的CPU或半导体器件。存储器1530和贮存器1540中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,存储器可包括ROM1531和RAM 1532中的至少一个。
处理器1510可包括解码设备200的熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、滤波单元260和参考画面缓冲器270。
存储介质可存储使用于解码设备1500的操作的至少一个模块。存储器1530可被配置为存储至少一个模块并允许模块能够被至少一个处理器1510执行。
根据实施例,解码设备1500的熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、滤波单元260和参考画面缓冲器270中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。程序模块可以以操作系统、应用程序模块和其它程序模块的形式被包括在解码设备1500中。
程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与解码设备1500进行通信的远程存储装置中。
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
可使用由处理器1510运行的指令或代码来实现程序模块。
可由通信单元1520来执行与解码设备1500的数据或信息的通信相关的功能。
图16是根据实施例的解码方法的流程图。
根据实施例的解码方法可由解码设备200或解码设备1500执行。
在步骤1610,通信单元1520可从编码设备100或编码设备1100接收比特流。
比特流可包括关于编码的残差信号的信息,并且可还可包括预测相关的信息。
关于编码的残差信号的信息可包括已经被熵编码的量化的变换系数。
预测相关的信息可以是被熵编码的。
在步骤1620,熵解码单元210可通过对比特流执行熵解码来产生量化的变换系数。此外,熵解码单元210可通过对比特流执行熵解码来产生预测相关的信息。
在示例中,预测相关的信息可包括指示对当前块进行编码所用的方案的预测方案信息。
在示例中,预测方案信息可指示帧内预测和帧内预测中的哪一种被用于对当前块进行编码。可选地,预测方案信息可指示当前块是否已经经由帧内预测被编码。可选地,预测方案信息可指示当前块是否已经经由帧间预测被编码。
在示例中,预测相关的信息可包括指示帧内预测的预测模式的帧内预测模式信息。
在示例中,预测相关的信息可包括第二预测使用信息,其中,第二预测使用信息指示第二预测是否将被用于对当前块进行编码。
在示例中,预测相关的信息可包括指示第一预测的预测模式的第一预测模式信息和指示第二预测的预测模式的第二预测模式信息。
在示例中,预测相关的信息可包括指示将被应用第二预测的选定部分的选定部分信息,其中,选定部分是通过对当前块进行分区而产生的两个部分之一。
在示例中,预测相关的信息可包括指示当前块的类型的当前块类型信息、指示第一预测块的类型的第一预测块类型信息、指示第二预测块的类型的第二预测块类型信息、指示第一参考块的类型的第一参考块类型信息、指示第二参考块的类型的第二参考块类型信息、指示第一参考样点的类型的第一参考样点类型信息、以及指示第二参考样点的类型的第二参考样点类型信息。
在示例中,预测相关的信息可包括指示第一预测的区域的第一预测区域信息和/或指示第二预测的区域的第二预测区域信息。
此外,预测相关的信息可包括用于在实施例中描述的预测的信息。多条预测相关的信息可根据实施例中描述的顺序或实施例中产生的顺序被包括在比特流中。重建残差信号产生单元可根据实施例中描述的顺序或实施例中产生的顺序从比特流获取所述多条预测相关的信息。
在步骤1630,重建残差信号产生单元可基于量化的变换系数来产生针对当前块的重建残差信号。
重建残差信号产生单元可包括反量化单元220和逆变换单元230。
步骤1630可包括步骤1631和步骤1632。
在步骤1631,反量化单元220可通过对量化的变换系数执行反量化来产生重建的变换系数。
在步骤1632,逆变换单元230可通过对反量化的变换系数执行逆变换来产生重建残差信号。
在步骤1610、1720和1730,可产生针对当前块的重建残差信号。
在步骤1640,重建块产生单元可基于重建残差信号、第二预测和第一预测来产生重建块。
重建块产生单元可包括加法器225、帧内预测单元240、帧间预测单元250、滤波器单元260和参考画面缓冲器270。
重建残差信号可以是重建残差块。
在示例中,重建块可以是重建残差块与预测块之和。可选的,可基于重建残差信号与预测块之和来产生重建块。
在示例中,预测块可以是第一预测块和第二预测块之和。可选地,预测信号可以是第一预测信号与第二预测信号之和。第二预测信号可以是经由针对当前块的选定部分的第二预测而产生的信号。第一预测信号可以是经由针对当前块或当前块的剩余部分的第一预测而产生的信号。
可选地,可基于重建残差块与预测块之和来产生重建块。
例如,重建块可以是基于重建残差信号、第一预测块和第二预测块而产生的块。重建块产生单元可通过将重建残差信号与第二预测信号相加来产生重建的第一残差信号。重建块产生单元可通过将重建的第一残差信号与第一预测信号相加来产生重建块。
可选地,重建块产生单元可通过将重建残差块与第二预测块相加来产生重建的第一残差块。重建块产生单元可通过将重建的第一残差块与第一预测块相加来产生重建块。
在实施例中,当第二预测未被使用时,第二预测信号可以是空信号,或者第二预测块可以是空块。空块可以是所有像素的值都是0的块。
重建块产生单元可通过执行帧间预测或帧内预测来产生重建块。
在实施例中,第一预测和第二预测可以是不同类型的预测。
在实施例中,第一预测和第二预测可以是相同类型的预测。例如,第一预测和第二预测可均是帧内预测。当第一预测是帧内预测时,第二预测也可被设置为帧内预测。
在实施例中,第一预测的预测方向和第二预测的预测方向可彼此相同。第二预测的预测方向可被设置为与第一预测相同的预测方向。
例如,在实施例中,第一预测和第二预测可均是帧间预测。
在实施例中,作为第一预测的目标的块和作为第二预测的目标的块可彼此不同。这里,由表述“作为预测的目标的块”所表示的内容可以不同。这里,表述“作为预测的目标的块”可表示将经由“预测”而产生预测块的块。
例如,作为第一预测的目标的块的类型和作为第二预测的目标的块的类型可彼此不同。块的类型可包括原始块、亮度(luma)块、色度(chroma)块、深度块、残差块等。
例如,作为第一预测的目标的块可以是重建块。
参考块可被用于预测。在实施例中,用于第一预测的第一参考块和用于第二预测的第二参考块可彼此不同。参考块可以在参考块的类型和/或位置方面不同。
在实施例中,用于第一预测的第一参考块的位置和用于第二预测的第二参考块的位置可彼此不同。这里,第一参考块的位置可以是相对于作为第一预测的目标的块的位置的位置。第二参考块的位置可以是相对于作为第二预测的目标的块的位置的位置。
在实施例中,用于第一预测的第一参考块可包括多个参考块。用于第二预测的第二参考块可包括多个参考块。用于第一预测的多个第一参考块和用于第二预测的多个第二参考块中的至少一些可彼此不同。
用于第一预测的多个第一参考块和用于第二预测的多个第二参考块中的至少一个的位置可仅被包括在多个第一参考块的位置和多个第二参考块的位置之一中。
在实施例中,用于第一预测的第一参考块的类型和用于第二预测的第二参考块的类型可彼此不同。块的类型可包括重建块、重建亮度块、重建色度块、重建深度块、重建第一残差块和重建第二残差块。
例如,用于第一预测的第一参考块可以是重建块。用于第二预测的第二参考块可以是重建的第一残差块。用于第一预测的第一参考样点可以是重建块中的像素。用于第二预测的第二参考样点可以是重建的第一残差块中的像素。
例如,用于第一预测的第一参考块可以是与当前块相邻的邻近重建块。用于第二预测的第二参考块可以是与当前块相邻的重建的第一残差块。
可通过将邻近重建块的第二预测块与用于邻近重建块的重建残差块相加来获得与当前块相邻的邻近重建残差块。可选地,与当前块相邻的邻近重建残差块可以是邻近重建块与邻近重建块的第一预测块之间的差。
例如,当第一预测的目标是当前块时,当前块的邻近重建块可被用作参考块以便执行当前块的预测。当第二预测的目标是第一残差块时,当前块的邻近重建残差块或第一残差块可被用作第二参考块以便执行第一残差块的预测。
在实施例中,第一预测的区域和第二预测的区域可彼此不同。这里,“预测的区域”可表示在作为预测的目标的块中的产生预测值的区域。可选地,“预测的区域”可表示在与作为预测的目标的块相应的预测块中的被分配经由预测而产生的预测值的区域。
在实施例中,第二预测可以是针对当前块的选定部分的预测。第一预测可以是对整个当前块的预测。可选地,第一预测可以是针对当前块中的除了针对第二预测的选定部分之外的剩余部分的预测。
在示例中,第二预测的区域可以是当前块的选定部分。第一预测的区域可以是整个当前块。可选地,第一预测的区域可以是当前块中的除了第二预测的选定部分之外的剩余部分。
在示例中,第二预测的区域可以是当前块的非正方形部分。第一预测的区域可以是整个当前块。可选地,第一预测的区域可以是当前块中的除了第二预测的非正方形区域之外的剩余非正方形区域。
在示例中,经由第一预测所确定的预测值可以仅被分配给在作为第一预测的目标的块中落在第一预测的区域内的像素。经由第一预测所确定的预测值可不被分配给在作为第一预测的目标的块中落在第一预测的区域外的像素。可选地,预定义的值可被分配给在作为第一预测的目标的块中落在第一预测的区域外的像素。该预定义的值可以是例如0。
在示例中,经由第二预测所确定的预测值可仅被分配给在作为第二预测的目标的块中落在第二预测的区域内的像素。经由第二预测所确定的预测值可不被分配给在作为第二预测的目标的块中落在第二预测的区域外的像素。可选地,预定义的值可被分配给在作为第二预测的目标的块中落在第二预测的区域外的像素。该预定义的值可以是例如0。
在实施例中,可基于第一预测的类型来确定第一预测的区域。例如,可基于第一预测是否是帧间预测来确定第一预测的区域。可选地,可基于第一预测是否是帧内预测来确定第一预测的区域。可选地,可基于第一预测的预测方向来确定第一预测的区域。
在实施例中,可基于第二预测的类型来确定第二预测的区域。例如,可基于第二预测是否是帧间预测来确定第二预测的区域。可选地,可基于第二预测是否是帧内预测来确定第二预测的区域。可选地,可基于第二预测的预测方向来确定第二预测的区域。
图17是根据实施例的重建块产生方法的流程图。
以上参照图16所描述的步骤1640可包括以下的步骤1710、1710、1730、1740和1750。
可基于预定义的条件来选择性地执行第二预测。
在步骤1710,重建块产生单元可确定是否使用第二预测来产生重建块。
重建块产生单元可基于预定条件来确定是否使用第二预测来产生重建块。
在实施例中,重建块产生单元可基于第一预测的预测模式来确定是否使用第二预测。
例如,重建块产生单元可从比特流获取指示第一预测的预测模式的第一预测模式信息。当第一预测的预测模式是非定向模式时,重建块产生单元可不使用第二预测。
在实施例中,在使用预测模式、当前块的位置和/或邻近重建块的数量确定了是否使用第二预测之后,重建块产生单元可基于第二预测是否已被用于对当前块进行编码来确定是否使用第二预测。
例如,重建块产生单元可从比特流获取第二预测使用信息。当第二预测使用信息指示第二预测将被使用时,重建块产生单元可使用第二预测。当第二预测使用信息指示第二预测将不被使用时,重建块产生单元可不使用第二预测。
当第二预测将被用于对当前块进行编码时,可执行步骤1720。
当第二预测将不被用于对当前块进行编码时,可执行步骤1740。
在步骤1720,重建块产生单元可通过执行第二预测来产生第二预测信号。
重建块产生单元可通过对选定部分执行第二预测来产生第二预测信号。
第二预测可对应于以上参照图11和图13所描述的在对当前块进行编码的过程中的针对选定部分的第二预测。例如,第二预测可以是针对当前块的选定部分的预测。第二预测信号可对应于以上参照图11和图13所描述的针对选定部分的第二预测。
第二预测信号可表示第二预测块。
第一预测和第二预测可均是帧内预测,并且第二预测的第二预测模式可以与第一预测的第一预测模式不同。可选的,第二预测的预测方向可与第二预测方向不同。
用于第一预测的参考块和用于第二预测的参考块可以是与当前块相邻的重建邻近块。
在实施例中,被执行第二预测的选定部分可以是通过对当前块进行分区而产生的两个部分中的一个部分。
在实施例中,所述两个部分中的每一个部分可具有非正方形形状。选定部分可具有非正方形形状。
可基于第一预测的预测模式的预测方向来确定被执行第二预测的选定部分。
在实施例中,根据以上参照图12所描述的方案,可沿着预测方向来执行对当前块的分区。可基于在第一预测的预测方向上穿过当前块的中心的直线来确定所述两个部分。所述两个部分中的每一个部分可以是通过沿在第一预测的预测方向上穿过当前块的中心的直线对当前块进行分区而产生的两个区域之一。
在实施例中,通过进行分区而产生的所述两个部分的尺寸可以相等。可选的,所述两个部分可具有相同数量的像素。
在实施例中,通进行分区而产生的所述两个部分中的每一个部分可具有非正方形形状。
在实施例中,可基于选定部分信息来选择所述两个部分中的将被应用第二预测的选定部分。重建块产生单元可从比特流获取选定部分信息。可根据指示所述两个部分之一的选定部分信息来选择选定部分。所述两个部分中的未被选定部分信息指示的一个部分可以是剩余部分。
例如,选定部分信息的值可指示所述两个部分中的将被应用第二预测的一个部分。当选定部分信息的值是0时,选定部分可以是以上参照图11所描述的S1。当选定部分信息的值是1时,选定部分可以是以上参照图11所描述的S2。
在步骤1730,重建块产生单元可将针对选定部分的第二预测信号与重建残差信号相加。
第二预测信号可以是经由针对选定部分的第二预测所产生的信号。
在步骤1740,重建块产生单元可产生针对当前块或当前块的剩余部分的第一预测信号。
重建块产生单元可通过对当前块或剩余部分执行第一预测来产生第一预测信号。
第一预测信号可表示第一预测块。
在第一预测中,当前块的重建邻近块可被用作参考块。此外,当前块的重建邻近块中的形式可被用作参考样点。
在实施例中,当第二预测未被使用时,针对当前块的第一预测信号可以是通过对当前块执行第一预测而产生的。第一预测信号可以是经由当前块的第一预测而产生的信号。当第二预测不用于对当前块进行解码时,第一预测可以是对整个当前块的预测。
在实施例中,当第二预测未被使用时,针对剩余部分的第一预测信号是通过对剩余部分执行第一预测而产生的。第一预测信号可以是经由针对剩余部分的第一预测而产生的信号。当第二预测被用于对当前块进行解码时,第一预测可以是针对当前块中的除了用于第二预测的选定部分之外的剩余部分的预测。
在步骤1750,重建块产生单元可通过将针对当前块或剩余部分的第一预测信号与重建残差信号相加来产生重建块。
在实施例中,当第二预测未被使用时,重建块产生单元可通过将针对当前块的第一预测信号与重建残差信号相加来产生重建块。第一预测信号可以是经由针对当前块的第一预测而产生的信号。
在实施例中,当第二预测未被使用时,重建块产生单元可通过将针对剩余部分的第一预测信号与重建残差信号相加来产生重建块。第一预测信号可以是经由针对剩余部分的第一预测而产生的信号。
根据以上描述的步骤1710、1720、1730、1740和1750,当第二预测被使用时,表示重建块的信号可以是重建残差信号、针对选定部分的第二预测信号以及针对剩余部分的第一预测信号之和。如以上参照步骤1730和1750所描述的,当第二预测被使用时,可将针对选定部分的第二预测信号和针对剩余部分的第一预测信号与重建残差信号相加。可选地,当第二预测被使用时,可基于所述重建残差信号、针对选定部分的第二预测信号以及针对剩余部分的第一预测信号来产生重建块。
根据以上描述的步骤1710、1720、1730、1740和1750,当第二预测未被使用时,表示重建块的信号可以是重建残差信号与针对当前块的第一预测信号之和。可选地,当第二预测未被使用时,可基于所述重建残差信号和针对当前块的第一预测信号来产生重建块。
重建块可被用作用于对其它块进行解码的参考块。
根据以上描述的实施例,当第二预测被使用时,可将被应用第一预测的选定部分和被应用第二预测的剩余部分分开。
在实施例中,当第二预测被使用时,第一预测可被应用于整个当前块。在这种情况下,可基于重建参考信号、经由第二预测所产生的第二预测信号以及经由第一预测所产生的第一预测信号之和来产生针对被应用第二预测的选定部分的重建块。此外,可基于重建残差块与经由第一预测所产生的第一预测信号之和来产生针对未被应用第二预测的剩余部分的重建块。
在这种情况下,第二预测可以是对残差的预测。第二预测可以是对第一残差信号的预测,其中,第一残差信号是当前块与第一预测信号之间的差。用于第二预测的参考块可以是重建残差块,用于第二预测的参考像素可以是重建残差块中的像素。换句话说,可经由对第一残差信号的第二预测来产生作为第一残差信号与第二预测信号之间的差的第二残差信号,并且可使用第二残差信号来产生当前块的编码信息。
可选地,在这种情况下,针对被应用第二预测的选定部分的重建块可以是重建残差块、第二预测信号和第一预测信号的加权和。预测相关的信息可包括针对重建残差信号的第一权重、针对第二预测信号的第二权重和针对第一预测信号的第三权重。可认为:不使用第二预测意味着针对第二预测信号的第二权重被设置为0。可选地,可认为:对于未被应用第二预测的剩余部分,针对第二预测的第二权重被设置为0。
对当前块的上述编码的描述也可被应用于对当前块的解码。省略了重复描述。此外,对当前块的上述解码的描述也可被应用于对当前块的编码。将省略重复描述。
在以上描述的实施例中,虽然已基于作为一系列步骤或单元的流程图描述了方法,但是本发明不限于步骤的顺序,并且一些步骤可以按照与已描述的步骤的顺序不同的顺序来执行或者与其它步骤同时执行。此外,本领域技术人员将理解:在流程图中示出的步骤不是排他性的,并且还可包括其它步骤,或者,可在不脱离本发明的范围的情况下删除流程图中的一个或更多个步骤。
以上描述的根据本发明的实施例可被实现为能够由各种计算机装置运行的程序,并且可被记录在计算机可读存储介质上。计算机可读存储介质可单独地或者组合地包括程序指令、数据文件和数据结构。在存储介质上记录的程序指令可被专门设计或配置用于本发明,或者对于计算机软件领域的普通技术人员可以是已知的或者可用的。计算机存储介质的示例可包括被专门配置用于记录和运行程序指令的所有类型的硬件装置,诸如,磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如致密盘(CD)-ROM和数字多功能盘(DVD))、磁光介质(诸如软光盘、ROM、RAM和闪存)。程序指令的示例包括机器代码(诸如由编译器创建的代码)和能够由计算机使用解释器执行的高级语言代码。硬件装置可被配置为作为一个或更多个软件模块进行操作以执行本发明的操作,反之亦然。
如上所述,虽然已基于特定细节(诸如详细组件和有限数量的实施例和附图)描述了本发明,但是所述特定细节仅被提供用于容易理解本发明,本发明不限于这些实施例,本领域技术人员将根据以上描述实践各种改变和修改。
因此,应该理解的是,本实施例的精神不受限于上述实施例,并且所附权利要求及其等同物和对它们的修改落入本发明的范围内。

Claims (20)

1.一种编码方法,包括:
基于当前块、第一预测和第二预测来产生当前块的残差信号;
通过对残差信号执行编码来产生关于编码的残差信号的信息,
其中,第二预测是针对当前块的一部分的预测。
2.一种解码方法,包括:
重建残差信号产生单元产生针对当前块的重建残差信号;
重建块产生单元基于重建残差信号、第二预测和第一预测来产生针对当前块的重建块,
其中,第二预测是针对当前块的一部分的预测。
3.一种解码方法,包括:
产生针对当前块的重建残差信号;
基于重建残差信号、第二预测和第一预测来产生针对当前块的重建块,
其中,第二预测是针对当前块的一部分的预测。
4.如权利要求3所述的解码方法,其中,第一预测和第二预测均是帧内预测。
5.如权利要求3所述的解码方法,其中,所述一部分具有非正方形形状。
6.如权利要求3所述的解码方法,其中,所述一部分是基于第一预测的预测模式来确定的。
7.如权利要求6所述的解码方法,其中,所述一部分是基于沿第一预测的预测方向穿过当前块的中心的直线来确定的。
8.如权利要求3所述的解码方法,其中,第一预测和第二预测具有不同的预测方向。
9.如权利要求3所述的解码方法,其中,所述一部分是通过对当前块进行分区而产生的两个部分之一。
10.如权利要求9所述的解码方法,其中,所述两个部分具有相同数量的像素。
11.如权利要求9所述的解码方法,其中,所述两个部分中的每一个部分具有非正方形形状。
12.如权利要求9所述的解码方法,其中,所述两个部分是基于沿第一预测的预测方向穿过当前块的中心的直线来确定的。
13.如权利要求9所述的解码方法,其中,所述一部分是基于指示所述两个部分之一的选定部分信息被选择的。
14.如权利要求3所述的解码方法,其中,当第一预测的预测模式是非定向模式时,第二预测不被使用。
15.如权利要求3所述的解码方法,其中,当指示第二预测是否将被用于对当前块进行编码的第二预测使用信息指示第二预测将不被使用时,第二预测不被使用。
16.如权利要求3所述的解码方法,其中,当第二部分不被使用时,第一预测是对整个当前块的预测。
17.如权利要求3所述的解码方法,其中,经由针对所述一部分的第二预测所产生的第二预测信号与重建残差信号相加。
18.如权利要求3所述的解码方法,其中,第一预测是针对当前块中的除了所述一部分之外的剩余部分的预测。
19.如权利要求18所述的解码方法,其中,经由针对所述剩余部分的第一预测所产生的第一预测信号与重建残差信号相加。
20.如权利要求18所述的解码方法,其中,重建块是基于经由针对所述一部分的第二预测所产生的第二预测信号以及经由针对所述剩余部分的第一预测所产生的第一预测信号而产生的。
CN201780008673.3A 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置 Active CN108605139B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202211136906.7A CN115460409A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置
CN202211136714.6A CN115460408A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置
CN202211137157.XA CN115460410A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置
CN202211136485.8A CN115442614A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置
CN202211136616.2A CN115460407A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2016-0010267 2016-01-27
KR20160010267 2016-01-27
KR1020170012161A KR20170089778A (ko) 2016-01-27 2017-01-25 예측을 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치
KR10-2017-0012161 2017-01-25
PCT/KR2017/000967 WO2017131475A1 (ko) 2016-01-27 2017-01-26 예측을 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치

Related Child Applications (5)

Application Number Title Priority Date Filing Date
CN202211136714.6A Division CN115460408A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置
CN202211136485.8A Division CN115442614A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置
CN202211137157.XA Division CN115460410A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置
CN202211136616.2A Division CN115460407A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置
CN202211136906.7A Division CN115460409A (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置

Publications (2)

Publication Number Publication Date
CN108605139A true CN108605139A (zh) 2018-09-28
CN108605139B CN108605139B (zh) 2022-10-11

Family

ID=59654554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780008673.3A Active CN108605139B (zh) 2016-01-27 2017-01-26 通过使用预测对视频进行编码和解码的方法和装置

Country Status (2)

Country Link
KR (1) KR20170089778A (zh)
CN (1) CN108605139B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345876A (zh) * 2007-07-13 2009-01-14 索尼株式会社 编码设备、编码方法、编码方法的程序及其记录介质
US20140133559A1 (en) * 2011-07-05 2014-05-15 Electronics And Telecommunications Research Institute Method for encoding image information and method for decoding same
WO2016003209A1 (ko) * 2014-07-03 2016-01-07 주식회사 케이티 다시점 비디오 신호 처리 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345876A (zh) * 2007-07-13 2009-01-14 索尼株式会社 编码设备、编码方法、编码方法的程序及其记录介质
US20140133559A1 (en) * 2011-07-05 2014-05-15 Electronics And Telecommunications Research Institute Method for encoding image information and method for decoding same
WO2016003209A1 (ko) * 2014-07-03 2016-01-07 주식회사 케이티 다시점 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
CN108605139B (zh) 2022-10-11
KR20170089778A (ko) 2017-08-04

Similar Documents

Publication Publication Date Title
CN110463201B (zh) 使用参考块的预测方法和装置
CN111164974B (zh) 图像编码/解码方法和设备以及非暂时性存储介质
CN111567045A (zh) 使用帧间预测信息的方法和装置
US20220078485A1 (en) Bidirectional intra prediction method and apparatus
CN109314785A (zh) 用于导出运动预测信息的方法和装置
CN109076216A (zh) 使用画面划分信息对视频进行编码和解码的方法和设备
CN116866566A (zh) 图像编码/解码方法、存储介质以及图像数据的传输方法
CN107105291B (zh) 基于帧间预测对视频信号进行解码的方法
KR20200020859A (ko) 비디오 인코딩 및 디코딩에서 가장 가능성있는 모드(mpm) 정렬 및 시그널링을 위한 방법 및 장치
CN112673629A (zh) 视频编码/解码方法和装置以及用于存储比特流的记录介质
CN112740671A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN114450946A (zh) 通过使用几何分区对图像进行编码/解码的方法、设备和记录介质
CN111684801A (zh) 双向帧内预测方法和设备
CN108605123A (zh) 通过使用预测对视频进行编码和解码的方法和装置
CN111919448A (zh) 用于使用时间运动信息的图像编码和图像解码的方法和设备
CN115442614A (zh) 通过使用预测对视频进行编码和解码的方法和装置
CN108432247A (zh) 用于预测残差信号的方法和装置
CN108605139A (zh) 通过使用预测对视频进行编码和解码的方法和装置
CN115733977A (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