CN114073081A - 使用基于矩阵的帧内预测和二次变换进行编码 - Google Patents

使用基于矩阵的帧内预测和二次变换进行编码 Download PDF

Info

Publication number
CN114073081A
CN114073081A CN202080049521.XA CN202080049521A CN114073081A CN 114073081 A CN114073081 A CN 114073081A CN 202080049521 A CN202080049521 A CN 202080049521A CN 114073081 A CN114073081 A CN 114073081A
Authority
CN
China
Prior art keywords
intra
predetermined
prediction
matrix
vector
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.)
Pending
Application number
CN202080049521.XA
Other languages
English (en)
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of CN114073081A publication Critical patent/CN114073081A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了用于有效地基于矩阵预测图片的块的技术。实施例涉及一种用于使用帧内预测对图片的预定块(18)进行解码的装置,该装置被配置为:基于数据流,从多个(600)帧内预测模式中选择(602)预定帧内预测模式(604),多个(600)帧内预测模式包括帧内预测模式的第一集合(508)和基于矩阵的帧内预测模式(510)的第二集合(520),帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500),根据基于矩阵的帧内预测模式(510)的第二集合(520)中的每个基于矩阵的帧内预测模式,使用以下二者之间的矩阵向量积(512)来获得预测向量(518):从预定块的邻域中的参考样本中导出的向量(514)、以及与相应的基于矩阵的帧内预测模式相关联的预测矩阵(516),基于预测向量(518)来预测预定块的样本。该装置被配置为:使用预定帧内预测模式导出预定块的预测信号(606),并且以取决于预定帧内预测模式的方式从二次变换的集合(612)中选择(608)一个或多个二次变换的子集(610),使得在预定帧内预测模式包含在帧内预测模式的第一集合(508)中且预定帧内预测模式包含在基于矩阵的帧内预测模式(510)的第二集合(520)的情况下,子集(610)非空。另外,该装置被配置为:在预定帧内预测模式包含在帧内预测模式的第一集合(508)的情况下,并且在预定帧内预测模式包含在基于矩阵的帧内预测模式(510)的第二集合(520)的情况下,从数据流中导出(614)预定块(18)的预测残差的变换版本(616),预定块(18)的预测残差的变换版本(616)经由变换(T)与预定块的预测残差的空间域版本(618)相关,变换(T)通过主变换(Tp)和二次变换的子集(610)中应用到主变换的系数(620)的子集(622)上的预定二次变换(Ts)的级联来定义。该装置被配置为使用预定块(18)的预测信号和预测残差来重构(624)预定块。

Description

使用基于矩阵的帧内预测和二次变换进行编码
技术领域
本申请涉及基于矩阵的帧内预测和二次变换的领域。
背景技术
对于如平面模式、DC模式和角度模式的传统帧内预测模式,不可分离的二次变换(LFNST)是用于对与这些帧内预测模式相对应的预测残差进行变换的工具。这里,给出变换集的集合S,使得每个传统帧内预测模式与这些变换集之一相关联。然后,在解码器处,可以从比特流中提取是否要对给定块应用LFNST。如果是这种情况,则取决于当前块上使用的帧内预测模式,给出集合S中的一个变换集,并且如果该变换集由一个以上变换组成,则可以从比特流中提取要使用该集中的哪个变换T。然后,在解码器处,将变换T应用为二次变换,这意味着对可分离主变换的残差变换系数的子集应用该变换T。但是上述二次变换是仅针对传统帧内预测模式先验地定义的。
因此,希望提供更有效地呈现图片编码和/或视频编码的概念,以支持用于基于矩阵的帧内预测(MIP)(即,基于块的帧内预测)的二次变换。
这通过本申请的独立权利要求的主题来实现。
根据本发明的其他实施例由本申请的从属权利要求的主题限定。
发明内容
根据本发明的第一方面,本申请的发明人意识到,当尝试将二次变换与基于矩阵的帧内预测模式相关联时遇到的一个问题源于这样的事实:针对每个MIP模式提供特定二次变换在另外存储额外变换的内存要求方面可能成本太高。根据本申请的第一方面,通过从二次变换的集合中选择一个或多个二次变换的子集来克服该困难,二次变换的集合包括与基于矩阵的帧内预测模式和非基于矩阵的帧内预测模式相关联的变换。可以针对一个或多个预测模式定义二次变换的集合中的二次变换,这减少了二次变换的集合所需的内存容量。针对平面帧内预测模式定义的变换和/或针对DC帧内预测模式定义的变换也可用于基于矩阵的帧内预测模式的选择。尽管由于与基于矩阵的帧内预测模式相关联以指示二次变换的使用的块所需的附加语法元素可能增加比特流及由此的信号化的成本,但是通过针对基于矩阵的帧内预测模式的二次变换的子集的特定选择,能够提高编码效率。
因此,根据本申请的第一方面,一种用于使用帧内预测对图片的预定块进行解码的装置,即解码器,被配置为基于数据流从多个帧内预测模式中选择预定帧内预测模式,多个帧内预测模式包括帧内预测模式的第一集合和基于矩阵的帧内预测模式的第二集合。帧内预测模式的第一集合包括DC帧内预测模式和角度预测模式以及可选的平面帧内预测模式。如果选择第二集合中的基于矩阵的帧内预测模式作为预定帧内预测模式,则解码器被配置为使用以下二者之间的矩阵向量积来获得预测向量:从预定块的邻域中的参考样本中导出的向量、以及与相应的基于矩阵的帧内预测模式相关联的预测矩阵,解码器被配置为基于该预测向量来预测预定块的样本。解码器被配置为:使用预定帧内预测模式导出预定块的预测信号,并且以取决于预定帧内预测模式的方式从二次变换的集合中选择一个或多个二次变换的子集,使得在预定帧内预测模式包含在帧内预测模式的第一集合中的情况下,并且在预定帧内预测模式包含在基于矩阵的帧内预测模式的第二集合中的情况下,该子集非空。第一集合和第二集合定义对二次变换可用的帧内预测模式。因此,对于从第一集合或从第二集合中选择的预定帧内预测模式,解码器被配置为从与所选择的预定帧内预测模式特别相关联的二次变换的集合中选择一个或多个二次变换的子集。另外,解码器被配置为:在预定帧内预测模式包含在帧内预测模式的第一集合中的情况下,并且在预定帧内预测模式被包含在基于矩阵的帧内预测模式的第二集合中的情况下,从数据流中导出预定块的预测残差的变换版本,该预定块的预测残差的变换版本经由变换与预定块的预测残差的空间域版本相关,该变换经由主变换和二次变换的子集中应用到主变换的系数的子集上的预定二次变换的级联来定义。主变换例如被默认设置,并且预定二次变换例如由解码器从二次变换的子集中选择。解码器可以被配置为通过从数据流中导出二次变换指示语法元素来从二次变换的子集中选择预定二次变换。解码器被配置为使用预定块的预测信号和预测残差来重构该预定块。
根据本申请的第一方面,与解码器并行的一种用于使用帧内预测对图片的预定块进行编码的装置,即编码器,被配置为从多个帧内预测模式中选择预定帧内预测模式,多个帧内预测模式包括帧内预测模式的第一集合和基于矩阵的帧内预测模式的第二集合,帧内预测模式的第一集合包括DC帧内预测模式和角度预测模式以及可选的平面帧内预测模式,根据基于矩阵的帧内预测模式的第二集合中的每个基于矩阵的帧内预测模式,使用以下二者之间的矩阵向量积来获得预测向量:从预定块的邻域中的参考样本中导出的向量、以及与相应的基于矩阵的帧内预测模式相关联的预测矩阵,基于该预测向量来预测预定块的样本。编码器被配置为在数据流中以信号通知预定帧内预测模式,并且使用预定帧内预测模式导出预定块的预测信号。另外,编码器被配置为以取决于预定帧内预测模式的方式从二次变换的集合中选择一个或多个二次变换的子集,使得在预定帧内预测模式包含在帧内预测模式的第一集合中的情况下,并且在预定帧内预测模式包含在基于矩阵的帧内预测模式的第二集合中的情况下,该子集非空。编码器被配置为在预定帧内预测模式包含在帧内预测模式的第一集合中的情况下,并且在预定帧内预测模式包含在基于矩阵的帧内预测模式的第二集合中的情况下,将预定块的预测残差的变换版本编码到数据流中,该预定块的预测残差的变换版本经由变换与预定块的预测残差的空间域版本相关,该变换通过主变换和二次变换的子集中应用到主变换的系数的子集上的预定二次变换的级联来定义。能够使用预定块的预测信号和预测残差来重构该预定块。
根据实施例,解码器/编码器被配置为:以取决于预定帧内预测模式的方式从二次变换的集合中选择一个或多个二次变换的子集,使得二次变换的集合中的每个二次变换包含在针对第一集合和第二集合内的帧内预测模式中的至少一个帧内预测模式选择的一个或多个二次变换的子集中。对于第一集合内或第二集合内的一个或多个帧内预测模式,相应的所选择的子集可以包括二次变换的集合中的所有二次变换。
根据实施例,解码器/编码器被配置为:以取决于预定帧内预测模式的方式从二次变换的集合中选择一个或多个二次变换的子集,使得针对任何基于矩阵的帧内预测模式选择的二次变换的每个子集中的每个二次变换由针对第一集合内不属于角度预测模式的至少一个帧内预测模式选择的二次变换的子集所包含。针对基于矩阵的帧内预测模式选择的子集可以包含与第一集合内的一个或多个非角度帧内预测模式(例如,DC帧内预测模式和/或平面帧内预测模式)相关联的二次变换。因此,二次变换的集合中的二次变换可以是一个或多个二次变换的一个以上子集的一部分。二次变换的集合中不必须包含仅可用于具有作为基于矩阵的帧内预测模式的预定帧内预测模式的的块的附加二次变换。对于具有作为基于矩阵的帧内预测模式的预定帧内预测模式的预定块,解码器/编码器被配置为从二次变换的集合中选择与作为第一集合中的非角度预测模式的预定帧内预测模式相同的二次变换。针对基于矩阵的帧内预测模式选择的子集可以等于针对第一集合内不属于角度预测模式的帧内预测模式选择的子集,或者可以包含针对第一集合内不属于角度预测模式的帧内预测模式选择的子集中的一些二次变换,或者可以包含针对第一集合内不属于角度预测模式的帧内预测模式选择的两个或更多个子集中的一些或所有二次变换。
用于编码或解码的方法基于与上述用于编码或解码的装置相同的考虑。通过这种方式,这些方法可以用也关于用于编码和/或解码的装置描述的所有特征和功能来完成。
附图说明
附图不一定按照比例绘制,相反重点一般在于示出本发明的原理。在以下描述中,参考以下附图描述本发明的各种实施例,其中:
图1示出了向数据流中编码的实施例;
图2示出了编码器的实施例;
图3示出了图片的重构的实施例;
图4示出了解码器的实施例;
图5示出了根据实施例的用于编码和/或解码的对块进行预测的示意图;
图6示出了根据实施例的用于编码和/或解码的对块进行预测的矩阵运算;
图7.1示出了根据实施例的利用缩减样本值向量对块进行预测;
图7.2示出了根据实施例的使用样本的插值对块进行预测;
图7.3示出了根据实施例的利用缩减样本值向量对块进行预测,其中仅对一些边界样本进行平均;
图7.4示出了根据实施例的利用缩减样本值向量对块进行预测,其中对四个边界样本的组进行平均;
图8示出了根据实施例的由装置执行的矩阵运算;
图9a至图9c示出了根据实施例的由装置执行的详细矩阵运算;
图10示出了根据实施例的由装置使用偏移和缩放参数执行的详细矩阵运算;
图11示出了根据不同实施例的由装置使用偏移和缩放参数执行的详细矩阵运算;
图12示出了根据实施例的使用最可能模式列表中的预测模式对预定块进行帧内预测的细节的示意图;
图13示出了根据实施例的使用二次变换对预定块进行解码的示意图;
图14示出了根据实施例的应用主变换和二次变换的示意图;
图15示出了根据实施例的选择二次变换的子集的示意图;
图16示出了根据实施例的具有非零变换域区域的预定块的示意图;
图17示出了根据实施例的用于对预定块进行解码的方法的框图;
图18示出了根据实施例的用于对预定块进行编码的方法的框图;以及
图19a至图19d示出了数据流的语法元素部分。
具体实施方式
即使附图标记出现在不同的图中,在以下描述中,通过相同或等同附图标记来表示相同或等同元件或者具有相同或等同功能的元件。
在以下描述中,阐述了多个细节以提供对本发明的实施例的更透彻的解释。然而,本领域技术人员将清楚的是,可以在没有这些具体细节的情况下实践本发明的实施例。在其他实例中,以框图形式而不是具体地示出了公知的结构和设备,以避免对本发明的实施例造成混淆。此外,除非另外具体指示,否则下文所述的不同实施例的特征可以彼此组合。
1引言
在下文中,将描述不同的发明示例、实施例和方面。这些示例、实施例和方面中的至少一些尤其涉及用于以下的方法和/或装置:用于视频编码、和/或用于例如使用具有相邻样本缩减的线性或仿射变换执行帧内预测、和/或优化视频传递(例如,广播、流传输、文件回放等),例如用于视频应用和/或用于虚拟现实应用。
此外,示例、实施例和方面可以涉及高效率视频编码(HEVC)或后继者。此外,其他实施例、示例和方面将由所附权利要求限定。
应当注意,由权利要求限定的任何实施例、示例和方面可以由以下章节中描述的任何细节(特征和功能)来补充。
此外,以下章节中描述的实施例、示例和方面可以单独使用,并且也可以由另一章节中的任何特征或由权利要求中包括的任何特征来补充。
此外,应当注意,本文描述的个体、示例、实施例和方面可以单独使用或组合使用。因此,可以将细节添加到所述单个方面中的每一个方面,而无需向所述示例、实施例和方面中的另一个添加细节。
还应当注意,本公开显式或隐式地描述了解码和/或编码系统和/或方法的特征。
此外,本文公开的与方法相关的特征和功能也可以用于装置。此外,本文公开的关于装置的任何特征和功能也可以用于对应的方法。换言之,本文公开的方法可以由关于装置描述的任何特征和功能来补充。
此外,如将在“实施备选方案”部分中描述的,本文描述的任何特征和功能可以以硬件或以软件、或使用硬件和软件的组合来实现。
此外,在一些示例、实施例或方面中,括号(“(…)”或“[…]”)中描述的任何特征可以被认为是可选的。
2编码器、解码器
在下文中,描述了在使用基于块的预测时可以帮助实现更有效的压缩的各种示例。一些示例通过消耗帧内预测模式的集合来实现高压缩效率。可以将后者添加到例如启发式设计的其他帧内预测模式,或者可以专门提供。其他示例甚至利用了刚刚讨论的两种特例。然而,作为这些实施例的变型,可以通过使用另一图片中的参考样本将帧内预测转变为帧间预测。
为了便于理解本申请的以下示例,描述以可能的编码器和解码器的呈现开始,本申请随后概述的示例可以构建到其中。图1示出了一种用于将图片10逐块地编码到数据流12中的装置。该装置使用附图标记14来指示,并且可以是静态图片编码器或视频编码器。换言之,当编码器14被配置为将包括图片10在内的视频16编码到数据流12中时,图片10可以是视频16中的当前图片,或者编码器14可以仅仅将图片10编码到数据流12中。
如上所述,编码器14以逐块方式或基于块地执行编码。为此,编码器14将图片10细分为块,编码器14以该块为单位将图片10编码到数据流12中。下面更详细地阐述将图片10细分为块18的可能细分的示例。一般地,可以最终细分为固定大小的块18(例如,按照行和列布置的块阵列),或者例如通过使用分层多树细分来细分为不同块大小的块18,多树细分从图片的整个图片区域开始,或者从图片10到树块阵列的预划分开始,其中不应将这些示例视为排除将图片10细分为块18的其他可能方式。
此外,编码器14是预测编码器,其被配置为将图片10预测地编码到数据流12中。对于某个块18,这意味着编码器14确定块18的预测信号并将预测残差(即,预测信号偏离块18内的实际图片内容的预测误差)编码到数据流12中。
编码器14可以支持不同的预测模式,以便导出某个块18的预测信号。在以下示例中作为重要部分的预测模式是帧内预测模式,根据帧内预测模式,根据图片10的相邻已编码样本在空间上预测块18的内部。将图片10编码到数据流12中及因此对应的解码过程可以基于在块18之间定义的某个编码顺序20。例如,编码顺序20可以按照光栅扫描顺序遍历块18,例如从上到下逐行、并从左到右遍历每一行。在基于分层多树细分的情况下,可以在每个层级内应用光栅扫描排序,其中可以应用深度优先遍历顺序,即,某个层级的块内的叶节点可以在根据编码顺序20具有相同父块的相同层级的块之前。取决于编码顺序20,块18的相邻已编码样本通常可以位于块18的一侧或多侧。在本文呈现的示例的情况下,例如,块18的相邻已编码样本位于块18的顶部和左侧。
帧内预测模式可以不是编码器14支持的唯一模式。在编码器14是视频编码器的情况下,例如,编码器14还可以支持帧间预测模式,根据帧间预测模式,根据视频16的先前编码图片在时间上对块18进行预测。这样的帧间预测模式可以是运动补偿预测模式,根据该预测模式,针对这样的块18,以信号通知运动矢量,运动矢量指示块18的预测信号中要被导出为副本的部分的相对空间偏移。附加地或备选地,其他非帧内预测模式也可以是可用的,例如在编码器14是多视图编码器的情况下的帧间预测模式,或者非预测模式,根据非预测模式,块18的内部按原样(即,没有任何预测)进行编码。
在开始将本申请的描述集中于帧内预测模式之前,关于图2描述用于可能的基于块的编码器的更具体的示例,即,用于编码器14的可能实现,然后呈现分别适于图1和图2的解码器的两个对应示例。
图2示出了图1的编码器14的可能实现,即,其中编码器被配置为使用变换编码对预测残差进行编码的一种实现,尽管这仅是示例并且本申请不限于这种预测残差编码。根据图2,编码器14包括减法器22,减法器22被配置为从入站信号(即,图片10,或基于块的情况下,为当前块18)中减去对应的预测信号24,以便获得预测残差信号26,然后由预测残差编码器28将预测残差信号26编码到数据流12中。预测残差编码器28由有损编码级28a和无损编码级28b组成。有损级28a接收预测残差信号26并且包括量化器30,量化器30对预测残差信号26的样本进行量化。如上面已经描述的,本示例使用预测残差信号26的变换编码,并且因此,有损编码级28a包括连接在减法器22和量化器30之间的变换级32,以便变换出这种经频谱分解的预测残差26,其中量化器30的量化发生在呈现残差信号26的经变换的系数上。变换可以是DCT、DST、FFT、哈达玛(Hadamard)变换等。然后由无损编码级28b对经变换且经量化的预测残差信号34进行无损编码,无损编码级28b是将经量化的预测残差信号34熵编码到数据流12中的熵编码器。编码器14还包括连接到量化器30的输出的预测残差信号重构级36,以便以解码器处也可用的方式(即,考虑到编码损失是量化器30引起的)从经变换且经量化的预测残差信号34中重构预测残差信号。为此,预测残差重构级36包括反量化器38,随后是逆变换器40,反量化器38执行量化器30的量化的逆操作,逆变换器40执行相对于由变换器32执行的变换的逆变换,例如频谱分解的逆操作,例如上述特定变换示例中任一示例的逆操作。编码器14包括加法器42,加法器42将逆变换器40输出的重构预测残差信号与预测信号24相加,以输出重构信号,即重构样本。将该输出馈送到编码器14的预测器44中,该预测器44然后基于该输出来确定预测信号24。预测器44支持上面关于图1已经讨论的所有预测模式。图2还示出了在编码器14是视频编码器的情况下,编码器14还可以包括环路滤波器46,环路滤波器46对完全重构图片进行滤波,这些图片在已经滤波之后,形成用于预测器44的相对于帧间预测块的参考图片。
如上面已经描述的,编码器14基于块进行操作。对于后续的描述,感兴趣的块基础是将图片10细分为块,针对该块,分别从预测器44或编码器14支持的帧内预测模式的集合或多个帧内预测模式中选择帧内预测模式,并且单独执行所选择的帧内预测模式。然而,也可以存在将图片10细分为的其他类型的块。例如,图片10是帧间编码还是帧内编码的上述决定可以在偏离块18的粒度上或以偏离块18的块为单位完成。例如,可以在将图片10细分为的编码块的级别上执行帧间/帧内模式决定,并且每个编码块被细分为预测块。对于已经决定使用帧内预测的编码块,对其细分为的预测块各自进行帧内预测模式决定。为此,对于这些预测块中的每一个,决定哪种支持的帧内预测模式应用于相应的预测块。这些预测块将形成这里感兴趣的块18。预测器44会不同地处理与帧间预测相关联的编码块内的预测块。通过确定运动矢量,并从运动矢量指向的参考图片中的位置复制该块的预测信号,从参考图片中帧间预测这些块。另一种块细分涉及到变换块的细分,变换器32和逆变换器40以变换块为单位执行变换。例如,变换块可以是对编码块的进一步细分的结果。当然,本文阐述的示例不应被视为限制性的,还存在其他示例。仅出于完整性的考虑,需要注意的是,到编码块的细分可以例如使用多树细分,并且还可以使用多树细分进一步细分编码块来获得预测块和/或变换块。
图3中描绘了适于图1的编码器14的用于逐块解码的解码器54或装置。该解码器54与编码器14的操作相反,即,它以逐块方式从数据流12中解码图片10,并且为此支持多个帧内预测模式。例如,解码器54可以包括残差提供器156。上面关于图1讨论的所有其他可能性对解码器54也有效。为此,解码器54可以是静态图片解码器或视频解码器,并且解码器54也支持所有预测模式和预测可能性。编码器14和解码器54之间的差异主要在于编码器14根据一些优化来选取或选择编码决定,该优化例如,为了最小化可能取决于编码率和/或编码失真的一些成本函数。这些编码选项或编码参数之一可以涉及在可用或支持的帧内预测模式中选择要用于当前块18的帧内预测模式。然后,可以由编码器14针对当前块18,在数据流12内以信号通知所选择的帧内预测模式,解码器54使用数据流12中针对块18的该信号化来重做选择。同样,可以在编码器14内对图片10到块18的细分进行优化,并在数据流12内传递对应的细分信息,解码器54基于细分信息来恢复图片10到块18的细分。综上所述,解码器54可以是基于块操作的预测解码器,并且除了帧内预测模式之外,解码器54可以支持其他预测模式,例如在解码器54是视频解码器的情况下,为帧间预测模式。在解码中,解码器54还可以使用关于图1讨论的编码顺序20,并且由于在编码器14和解码器54处均遵守该编码顺序20,因此相同的相邻样本可用于编码器14和解码器54二者处的当前块18。因此,为了避免不必要的重复,就图片10细分为块而言,例如就预测而言,以及就预测残差的编码而言,编码器14的操作模式的描述也应适用于解码器54。不同之处在于编码器14通过优化选择一些编码选项或编码参数和信号,并在数据流12中以信号通知这些编码参数或者将这些编码参数插入数据流12中,然后由解码器54从数据流12中导出该编码参数,以便重新进行预测、细分等。
图4示出了图3的解码器54的可能实现,即,适于图1的编码器14的实现(如图2所示)的一种实现。由于图4的编码器54的许多元件与图2的对应编码器中出现的元件相同,因此在图4中使用带有撇号的相同附图标记,以便指示这些元件。具体地,加法器42'、可选的环路滤波器46'和预测器44'以与它们在图2的编码器中相同的方式连接到预测环路中。应用到加法器42'的重构(即,经反量化且经重新变换的)预测残差信号由熵解码器56随后是残差信号重构级36'的序列导出,熵解码器56对熵编码器28b的熵编码进行逆操作,与编码侧的情况相同,残差信号重构级36'由反量化器38'和逆变换器40'组成。解码器的输出是图10的重构。图片10的重构可以在加法器42'的输出处直接可用,或者备选地,在环路滤波器46'的输出处可用。可以在解码器的输出布置一些后置滤波器,以便对图片10的重构进行一些后置滤波,以便提高图片质量,但是图4中未描绘这个选项。
同样,关于图4,除了仅编码器执行优化任务和关于编码选项的相关决定之外,以上关于图2提出的描述也应对图4有效。然而,所有关于块细分、预测、反量化和重新变换的描述也对图4的解码器54有效。
3ALWIP(仿射线性加权帧内预测子)
本文讨论了一些关于ALWIP的非限制性示例,即使ALWIP并不总是需要体现这里讨论的技术。
本申请尤其涉及例如可在诸如HEVC或HEVC的任何后继者之类的视频编解码器中使用的用于逐块图片编码的改进的基于块的预测模式概念。预测模式可以是帧内预测模式,但理论上本文描述的概念也可以转移到帧间预测模式上,其中参考样本是另一图片的一部分。
寻求一种允许有效实现的基于块的预测概念,例如硬件友好的实现。
该目的通过本申请的独立权利要求的主题来实现。
帧内预测模式广泛用于图片编码和视频编码。在视频编码中,帧内预测模式与诸如帧间预测模式(例如运动补偿预测模式)的其他预测模式竞争。在帧内预测模式中,基于相邻样本来预测当前块,即,就编码器侧而言已经编码的样本、以及就解码器侧而言已经解码的样本。相邻样本值被外推到当前块中,以便形成当前块的预测信号,针对当前块在数据流中传送预测残差。预测信号越好,预测残差就越低,并且因此,对预测残差进行编码所需的比特数越少。
为了有效,应考虑若干方面以便在逐块图片编码环境中形成用于帧内预测的有效构架。例如,编解码器支持的帧内预测模式的数量越多,用于将该选择信号通知给解码器的辅助信息的速率消耗就越大。另一方面,支持的帧内预测模式的集合应能够提供良好的预测信号,即,导致低预测残差的预测信号。
在下文中,作为比较实施例或基础示例,公开了一种用于从数据流中逐块解码图片的装置(编码器或解码器),该装置支持至少一个帧内预测模式,根据该帧内预测模式,通过将与当前块相邻的样本的第一模板应用到仿射线性预测子上,来确定图片的预定大小的块的帧内预测信号,在后续中,仿射线性预测子将被称为仿射线性加权帧内预测子(ALWIP)。
该装置可以具有以下属性中的至少一种(同样可以适用于方法或另一种技术,例如在存储指令的非暂时性存储单元中实现,该指令在由处理器执行时,使处理器实现该方法和/或作为装置操作):
3.1预测子可以与其他预测子互补
可以形成下面进一步描述的实现改进的主题的帧内预测模式可以与编解码器的其他帧内预测模式互补。因此,它们可以与HEVC编解码器(相应的JEM参考软件)中定义的DC预测模式、平面预测模式或角度预测模式互补。帧内预测模式的后三种帧内预测模式从现在起应被称为传统帧内预测模式。因此,对于帧内模式下的给定块,解码器需要解析标志,该标志指示是否要使用装置支持的帧内预测模式之一。
3.2一个以上所提出的预测模式
该装置可以包含一个以上的ALWIP模式。因此,在解码器知道要使用装置支持的ALWIP模式之一的情况下,解码器需要解析指示要使用装置支持的ALWIP模式中的哪个ALWIP模式的附加信息。
所支持模式的信令可以具有以下属性:一些ALWIP模式的编码可以比其他ALWIP模式需要更少的二值仓(bin)。这些模式中的哪些模式需要较少的二者仓,哪些模式需要更多的二值仓可以取决于可从已经解码的比特流中提取的信息,或者可以预先固定。
4一些方面
图2示出了用于从数据流12中解码图片的解码器54。解码器54可以被配置为对图片的预定块18进行解码。具体地,预测器44可以被配置用于使用线性或仿射线性变换[例如,ALWIP]将预定块18领域中的P个相邻样本的集合映射到预定块的样本的Q个经预测值的集合上。
如图5所示,预定块18包括要预测的Q个值(在操作结束时将是“经预测值”)。如果块18具有M行和N列,则Q=M·N。块18的Q个值可以在空间域中(例如,像素)或在变换域中(例如,DCT、离散小波变换等)。块18的Q个值可以基于取自通常与块18相邻的相邻块17a至17c的P个值来预测。相邻块17a至17c的P个值可以在与块18最接近的位置(例如,相邻)。相邻块17a至17c的P个值已经被处理和预测。P个值被指示为部分17'a至17'c中的值,以将它们与它们作为一部分的块区分(在一些示例中,未使用17'b)。
如图6所示,为了执行预测,能够用具有P个条目的第一向量17P(每个条目与相邻部分17'a至17'c中的特定位置相关联)、具有Q个条目的第二向量18Q(每个条目与块18中的特定位置相关联)以及映射矩阵17M(每行与块18中的特定位置相关联,每列与相邻部分17'a至17'c中的特定位置相关联)进行操作。因此,映射矩阵17M执行根据预定模式将相邻部分17'a至17'c的P个值预测为块18的值。因此,映射矩阵17M中的条目可以被理解为加权因子。在以下段落中,我们将使用标记17a至17c而不是标记17'a至17'c来指代边界的相邻部分。
在本领域中,已知若干传统模式,例如DC模式、平面模式和65个方向预测模式。可能已知例如67个模式。
然而,已经注意到,还能够使用不同模式,这里被称为线性或仿射线性变换。线性或仿射线性变换包括P·Q个加权因子,其中至少1/4P·Q个加权因子为非零加权值,对于Q个经预测值中的每一个,该非零加权值包括与相应经预测值有关的一系列P个加权因子。该系列当在预定块的样本之间根据光栅扫描顺序一个接一个地布置时,形成全向非线性的包络。
能够映射相邻值17'a至17'c(模板)的P个位置、相邻样本17'a至17'c的Q个位置,并在矩阵17M的P*Q个加权因子的值处进行映射。平面是用于DC变换的序列的包络的示例(是用于DC变换的平面)。包络显然是平面的,并且因此被线性或仿射线性变换(ALWIP)的定义所排除。另一示例是产生角度模式的仿真的矩阵:包络会被排除在ALWIP定义之外,并且坦率地说,它看起来像沿着P/Q平面中的方向从上到下倾斜的山丘。平面模式和65个方向预测模式会具有不同的包络,然而这些包络将在至少一个方向上是线性的,即,针对示例性的DC例如为所有方向,针对角度模式例如为山丘方向。
相反,线性或仿射变换的包络将不是全向线性的。已经理解,在一些情况下,这种类型的变换对于执行块18的预测可以是最佳的。已经注意到,优选地,加权因子的至少1/4不同于零(即,P*Q个加权因子中的至少25%不同于0)。
根据任何常规映射规则,加权因子可以彼此不相关。因此,矩阵17M可以使得其条目的值不具有明显的可识别关系。例如,加权因子不能由任何分析函数或差分函数来描述。
在示例中,ALWIP变换使得以下二者之间的互相关的最大值的均值可以小于预定阈值(例如,0.2或0.3或0.35或0.1,例如,0.05与0.035之间的范围内的阈值):与相应的经预测值有关的第一系列加权因子、与相应的经预测值之外的经预测值有关的第二系列加权因子或后一系列的反向版本(无论何者导致更高的最大值)。例如,对于ALWIP矩阵17M中的行的每一对(i1,i2),可以通过将第i1行的P个值与第i2行的P个值相乘来计算互相关。对于每个获得的互相关,可以获得最大值。因此,可以获得整个矩阵17M的均值(平均值)(即,对所有组合中的互相关的最大值进行平均)。之后,阈值可以是例如0.2或0.3或0.35或0.1,例如在0.05与0.035之间的范围内的阈值。
块17a至17c的P个相邻样本可以沿着一维路径定位,该一维路径沿着预定块18的边框(例如,18c、18a)延伸。对于预定块18的Q个经预测值中的每一个,与相应预测值有关的一系列P个加权因子可以按照沿预定方向(例如,从左到右、从上到下等)遍历一维路径的方式进行排序。
在示例中,ALWIP矩阵17M可以是非对角的或非块对角的。
用于从4个已经预测的相邻样本对4×4块18进行预测的ALWIP矩阵17M的示例可以是:
{
{37,59,77,28},
{32,92,85,25},
{31,69,100,24},
{33,36,106,29},
{24,49,104,48},
{24,21,94,59},
{29,0,80,72},
{35,2,66,84},
{32,13,35,99},
{39,11,34,103},
{45,21,34,106},
{51,24,40,105},
{50,28,43,101},
{56,32,49,101},
{61,31,53,102},
{61,32,54,100}
}。
(这里,{37,59,77,28}是矩阵17M的第一行;{32,92,85,25}是矩阵17M的第二行;并且{61,32,54,100}是矩阵17M的第16行。)矩阵17M的尺寸为16×4,并且包括64个加权因子(作为16*4=64的结果)。这是因为矩阵17M的尺寸为Q×P,其中Q=M*N,即,要预测的块18(块18是4×4块)的样本数量,并且P是已预测样本的样本数量。这里,M=4,N=4,Q=16(作为M*N=4*4=16的结果),P=4。矩阵是非对角的和非块对角的,并且没有特定的规则来描述。
可以看出,少于1/4的加权因子为0(在上面示出的矩阵的情况下,64个加权因子中的一个为零)。当根据光栅扫描顺序一个接一个地布置时,由这些值形成的包络形成全向非线性的包络。
即使上面的说明主要参考解码器(例如,解码器54)进行讨论,但也可以在编码器(例如,编码器14)处执行相同的操作。
在一些示例中,针对(块大小的集合中的)每个块大小,用于相应块大小的帧内预测模式的第二集合内的帧内预测模式的ALWIP变换相互不同。附加地或备选地,用于块大小的集合中的块大小的帧内预测模式的第二集合的基数可以重合,但是用于不同块大小的帧内预测模式的第二集合内的帧内预测模式的关联线性或仿射线性变换不可以通过缩放彼此转换。
在一些示例中,可以以这样的方式定义ALWIP变换,使得它们与传统变换“没有可共享”(例如,ALWIP转换可以与对应传统变换“没有”可共享,尽管它们经由上述映射之一进行了映射)。
在示例中,ALWIP模式用于亮度分量和色度分量二者,但在其他示例中,ALWIP模式用于亮度分量而不用于色度分量。
5具有编码器加速的仿射线性加权帧内预测模式(例如,测试CE3-1.2.1)
5.1方法或装置的描述
除了以下改变之外,在CE3-1.2.1中测试的仿射线性加权帧内预测(ALWIP)模式可以与在测试CE3-2.2.2下在JVET-L0199中提出的相同:
·与多参考线(MRL)帧内预测协调,尤其是编码器估计和信令,即,MRL不与ALWIP组合,并且MRL索引的传输限于非ALWIP块。
·对于所有W×H≥32×32的块,子采样现在是强制性的(之前对于32×32是可选的);因此,已经移除了编码器处的附加测试和发送子采样标志。
·通过分别下采样到32×N和N×32并应用对应的ALWIP模式,已经添加了针对64×N块和N×64块(N≤32)的ALWIP。
此外,测试CE3-1.2.1包括以下针对ALWIP的编码器优化:
·组合模式估计:传统模式和ALWIP模式使用共享的哈达玛候选列表以进行完整的RD估计,即,基于哈达玛成本将ALWIP模式候选添加到与传统(和MRL)模式候选相同的列表中。
·组合模式列表支持EMT帧内快速和PB帧内快速,其中进行了附加优化以减少完整RD检查的次数。
·遵循与传统模式相同的方法,仅将可用的左侧块和上方块的MPM添加到该列表中以进行ALWIP的完整RD估计。
5.2复杂度评估
在测试CE3-1.2.1中,不包括调用离散余弦变换的计算,每个样本最多需要12次乘法来生成预测信号。此外,总共需要136492个参数,每个参数为16比特。这对应于0.273兆字节的内存。
5.3实验结果
根据共同测试条件JVET-J1010[2]对测试进行评估,对于仅帧内(AI)和随机访问(RA)配置,使用VTM软件版本3.0.1。在具有Linux操作系统和GCC7.2.1编译器的Intel Xeon集群(E5-2697A v4,AVX2开启,英特尔睿频加速技术(turbo boost)关闭)上进行对应的模拟。
表1.针对VTM AI配置的CE3-1.2.1的结果
Y U V 编码时间 解码时间
A1类 -2,08% -1,68% -1,60% 155% 104%
A2类 -1,18% -0,90% -0,84% 153% 103%
B类 -1,18% -0,84% -0,83% 155% 104%
C类 -0,94% -0,63% -0,76% 148% 106%
E类 -1,71% -1,28% -1,21% 154% 106%
总计 -1,36% -1,02% -1,01% 153% 105%
D类 -0,99% -0,61% -0,76% 145% 107%
F类(可选的) -1,38% -1,23% -1,04% 147% 104%
表2.针对VTM RA配置的CE3-1.2.1的结果
Y U V 编码时间 解码时间
A1类 -1,25% -1,80% -1,95% 113% 100%
A2类 -0,68% -0,54% -0,21% 111% 100%
B类 -0,82% -0,72% -0,97% 113% 100%
C类 -0,70% -0,79% -0,82% 113% 99%
E类
总计 -0,85% -0,92% -0,98% 113% 100%
D类 -0,65% -1,06% -0,51% 113% 102%
F类(可选的) -1,07% -1,04% -0,96% 117% 99%
5.4复杂度降低的仿射线性加权帧内预测(例如,测试CE3-1.2.2)
CE2中所测试的技术与JVET-L0199[1]中描述的“仿射线性帧内预测”有关,但在内存要求和计算复杂度方面对其进行了简化:
·可以仅有预测矩阵的三个不同集合(例如,S0、S1、S2,参见下文)和覆盖所有块形状的偏置向量(例如,为了提供偏移值)。结果,参数的数量减少到14400个10比特值,这比128×128CTU中存储的存储量要少。
·预测器的输入大小和输出大小进一步减小。此外,代替经由DCT对边界进行变换,可以对边界样本执行平均或下采样,并且预测信号的生成可以使用线性插值来代替逆DCT。因此,每个样本最多需要四次乘法来生成预测信号。
6.示例:
这里讨论了如何用ALWIP预测来执行一些预测(例如,如图6所示)。
原则上,参考图6,为了获得要预测的M×N块18的Q=M*N个值,应执行将Q×PALWIP预测矩阵17M的Q*P个样本与P×1相邻向量17P的P个样本相乘。因此,一般地,为了获得要预测的M×N块18的Q=M*N个值中的每一个值,至少需要值为P=M+N次的乘法。
这些乘法产生非常不利的影响。边界向量17P的尺寸P一般取决于与要预测的M×N块18相邻(例如,邻近)的边界样本(二值仓或像素)17a、17c的数量M+N。这意味着,如果要预测的块18的大小较大,则边界像素(17a、17c)的数量M+N相应较大,因此增加了P×1边界向量17P的尺寸P=M+N、以及Q×P ALWIP预测矩阵17M的每一行的长度,并且因此,还增加了必要的乘法次数(一般而言,Q=M*N=W*H,其中W(宽度)是N的另一符号,H(高度)是M的另一符号;在边界向量仅由一行样本和/或一列样本组成的情况下,P为P=M+N=H+W)。
一般地,以下事实会加剧这个问题:在基于微处理器的系统(或其他数字处理系统)中,乘法一般是耗电的运算。可以想象,对大量块的极大量样本进行大量乘法会导致计算功率的浪费,这通常是不希望的。
因此,优选减少对M×N块18进行预测所需的乘法次数Q*P。
已经理解,通过智能地选择替代乘法并且更容易处理的运算,能够以某种方式减少要预测的每个块18的每个帧内预测所需的计算功率。
具体地,参考图7.1至图7.4,已经理解,编码器或解码器可以通过以下操作,使用多个相邻样本(例如17a、17c)对图片的预定块(例如,18)进行预测:
缩减(例如,在步骤811)(例如,通过平均或下采样)多个相邻样本(例如,17a、17c)以获得样本值的缩减集合,与多个相邻样本相比样本值的缩减集合的样本数量较少,
对样本值的缩减集合进行(例如,在步骤812)线性或仿射线性变换,以获得预定块的预定样本的经预测值。
在一些情况下,解码器或编码器还可以基于预定样本的经预测值和多个相邻样本例如通过插值来导出预定块的其他样本的预测值。因此,可以获得上采样策略。
在示例中,能够对边界17的样本执行(例如,在步骤811)一些平均,以便获得样本的数量缩减(数量缩减的样本102的样本中的至少一个可以是原始边界样本的两个样本的平均值,或者选自原始边界样本)的样本的缩减集合102(图7.1至图7.4)。例如,如果原始边界具有P=M+N个样本,则样本的缩减集合可以具有Pred=Mred+Nred个样本,其中Mred<M以及Nred<N中的至少一者满足,使得Pred<P。因此,实际用于预测(例如,在步骤812b)的边界向量17P将不具有P×1个条目,而是具有Pred×1个条目,其中Pred<P。类似地,针对预测选择的ALWIP预测矩阵17M将不具有Q×P尺寸,而是矩阵的元素数量缩减为Q×Pred(或Qred×Pred,见下文),至少因为Pred<P(借助于Mred<M和Nred<N中的至少一者)。
在一些示例中(例如,图7.2、图7.3),如果通过ALWIP(在步骤812)获得的块是大小为M′red×N′red的缩减块,其中M′red<M和/或N′red<N(即,通过ALWIP直接预测的样本在数量上少于实际要预测的块18的样本),甚至能够进一步缩减乘法的次数。因此,设置Qred=M′red*N′red,这将通过使用Qred*Pred次乘法而不是Q*Pred次乘法(其中,Qred*Pred<Q*Pred<Q*P)来获得ALWIP预测。该乘法将对尺寸为M′red×N′red的缩减块进行预测。尽管将能够执行(例如,在后续的步骤813)从缩减的M′red×N′red预测块到最终M×N预测块的上采样(例如,通过插值而获得)。
虽然矩阵乘法涉及乘法次数的缩减(Qred*Pred或Q*Pred),但是初始缩减(例如,平均或下采样)和最终变换(例如,插值)都可以通过减少(甚至避免)乘法来执行,这些技术可以是有利的。例如,可以通过采用诸如加法和移位之类的对计算没有功率要求的二进制运算来执行(例如,在步骤811和/或813)下采样、平均和/或插值。
此外,加法是非常容易的操作,其无需大量计算工作即可容易地执行。
该移位操作可以用于例如对两个边界样本进行平均以及/或者用于对缩减后的经预测块(或取自边界)的两个样本(支持值)进行插值,以获得最终预测块。(对于插值,需要两个样本值。在块内,我们总是具有两个预定值,但是为了沿着块的左边框和上边框对样本进行插值,我们仅具有一个预定值,如图7.2所示,因此我们使用边界样本作为插值的支持值。)
可以使用两步过程,例如:
首先对两个样本的值求和;
然后将和的值减半(例如,通过右移)。
备选地,能够:
首先将样本中的每一个减半(例如,通过左移);
然后对两个经减半的样本的值求和。
当下进行采样(例如,在步骤811)时,由于仅需要从一组样本(例如,彼此相邻的样本)中选择一个样本,因此可以执行更容易的操作。
因此,现在能够定义用于减少要执行的乘法的次数的技术。这些技术中的一些可以尤其基于以下原则中的至少一项:
即使实际要预测的块18的大小为M×N,也可以(在两个维度中的至少一个维度上)缩减块并且可以应用具有缩减大小为Qred×Pred的ALWIP矩阵(其中,Qred=M′red*N′red,Pred=Nred+Mred,其中M′red<M和/或N′red<N和/或Mred<M和/或Nred<N)。因此,边界向量17P将具有大小Pred×1,意味着仅有Pred<P次乘法(其中,Pred=Mred+Nred且P=M+N)。
Pred×1边界向量17P可以容易地从原始边界17获得,例如:
通过下采样(例如,通过仅选择边界的一些样本);和/或
通过对边界的多个样本(可以通过加法和移位容易地获得,无需乘法)进行平均。
附加地或备选地,代替通过乘法对要预测的块18的所有Q=M*N个值进行预测,能够仅对具有缩减尺寸的缩减块进行预测(例如,Qred=M′red*N′red,其中M′red<M和/或N′red<N)。要预测的块18的剩余样本将例如使用Qred个样本作为要预测的剩余Q-Qred个值的支持值通过插值来获得。
根据图7.1所示的示例,要预测4×4的块18(M=4,N=4,Q=M*N=16)并且样本17a(具有4个已预测样本的垂直列)和17c(具有4个已预测样本的水平行)的邻域17在之前迭代中已被预测(邻域17a和17c可以由17共同指示)。先验地,通过使用图6所示的等式,预测矩阵17M应是Q×P=16×8矩阵(借助于Q=M*N=4*4以及P=M+N=4+4=8),并且边界向量17P的尺寸应为8×1(借助于P=8)。然而,这将导致需要对要预测的4×4块18的16个样本中的每个样本执行8次乘法,从而导致总共需要执行16*8=128次乘法。(注意,每个样本的平均乘法次数是对计算复杂度的良好评估。对于传统帧内预测,每个样本需要四次乘法,这增加了所要涉及的计算工作量。因此,可能将其用作ALWIP的上限,以确保复杂度合理并且不超过传统帧内预测的复杂度。)
尽管如此,已经理解,通过使用本技术,能够在步骤811将与要预测的块18相邻的样本17a和17c的数量从P缩减到Pred<P。具体地,已经理解,能够对彼此相邻的边界样本(17a、17c)进行平均(例如,在图7.1中的100处),以获得具有两个水平行和两个垂直列的缩减边界102,因此将块18作为2×2块操作(缩减边界由经平均值形成)。备选地,能够执行下采样,因此针对行17c选择两个样本,针对列17a选择两个样本。因此,水平行17c,代替具有四个原始样本,被处理为具有两个样本(例如,经平均的样本),而最初具有四个样本的垂直列17a被处理为具有两个样本(例如,经平均的样本)。还能够理解,在将行17c和列17a细分为各具有两个样本的组110之后,维持一个单样本(例如,组110的样本的平均值或组110的样本之间的简单选择)。因此,借助于仅具有四个样本(Mred=2,Nred=2,Pred=Mred+Nred=4,其中,Pred<P)的集合102,获得所谓的样本值的缩减集合102。
可以理解,能够执行操作(例如,进行平均或下采样100)而无需在处理器级别执行太多乘法:在步骤811执行的平均或下采样100可以简单地通过诸如加法和移位之类的直接且计算上非功耗的运算来获得。
已经理解,在这一点上,能够(例如,使用诸如图6的矩阵17M之类的预测矩阵)对样本值的缩减集合102进行线性或仿射线性(ALWIP)变换19。在这种情况下,ALWIP变换19直接将四个样本102映射到块18的样本值104上。在当前情况下不需要进行插值。
在这种情况下,ALWIP矩阵17M的尺寸为Q×Pred=16×4:这遵循以下事实:要预测的块18的所有Q=16个样本都通过ALWIP乘法直接获得(不需要插值)。
因此,在步骤812a,选择尺寸为Q×Pred的合适ALWIP矩阵17M。该选择可以至少部分地基于例如来自数据流12的信令。所选择的ALWIP矩阵17M也可以用Ak指示,其中k可以理解为索引,它可以在数据流12中以信号通知(在一些情况下,矩阵还被指示为
Figure BDA0003456847360000231
参见下文)。可以根据以下方案执行选择:对于每个尺寸(例如,要预测的块18的高度/宽度对),从例如矩阵的三个集合S0、S1、S2(三个集合S0、S1、S2中的每一个可以对相同尺寸的多个ALWIP矩阵17M进行分组,并且针对预测而选择的ALWIP矩阵将是其中之一)之一中选择ALWIP矩阵17M。
在步骤812b,执行所选择的Q×Pred ALWIP矩阵17M(也指示为Ak)与Pred×1边界向量17P之间的乘法。
在步骤812c,可以将偏移值(例如,bk)添加到例如通过ALWIP获得的向量18Q的所有获得值104。偏移的值(bk或在一些情况下也用
Figure BDA0003456847360000241
指示,参见下文)可以与特定选择的ALWIP矩阵(Ak)相关联,并且可以基于索引(例如,可以在数据流12中以信号通知该索引)。
因此,这里重新开始使用本技术与不使用本技术之间的比较:
在不使用本技术的情况下:
要预测的块18的尺寸为M=4,N=4;
Q=M*N=4*4=16个要预测的值;
P=M+N=4+4=8个边界样本
对于要预测的Q=16个值中的每一个,P=8次乘法,
总共P*Q=8*16=128次乘法;
在使用本技术的情况下,我们具有:
要预测的块18的尺寸为M=4,N=4;
最后,要预测Q=M*N=4*4=16个值;
边界向量的缩减尺寸:Pred=Mred+Nred=2+2=4;
对于Q=16个要通过ALWIP预测的值中的每一个,Pred=4次乘法,
总共Pred*Q=4*16=64次乘法(128的一半!)
乘法的次数与要获得的最终值的数量之间的比率为Pred*Q/Q=4,即,要预测的每个样本的P=8次乘法的一半!
可以理解,通过依赖于诸如进行平均(以及,在情况下,加法和/或移位和/或下采样)的直接且计算上不要求功率的操作,能够在步骤812获得适当的值。
参考图7.2,要预测的块18这里是64个样本的8×8块(M=8,N=8)。这里,先验地,预测矩阵17M的大小应为Q×P=64×16(Q=64,借助于Q=M*N=8*8=64,M=8且N=8,并且借助于P=M+N=8+8=16)。因此,先验地,对于要预测的8×8块18的Q=64个样本中的每一个,将需要P=16次乘法,以达到整个8×8块18的64*16=1024次乘法!
然而,如图7.2所见,可以提供一种方法820,根据该方法,不是使用边界的所有16个样本,而是仅使用8个值(例如,边界的原始样本之间的水平边界行17c中的4个值和垂直边界列17a中的4个值)。从边界行17c,可以使用4个样本而不是8个样本(例如,它们可以是一对一对样本的平均值和/或从两个样本中选择的一个样本)。因此,边界向量不是P×1=16×1向量,而仅是Pred×1=8×1向量(Pred=Mred+Nred=4+4)。已经理解,能够对水平行17c的样本和垂直列17a的样本进行选择或平均(例如,一对一对地)以仅具有Pred=8个边界值,而不是具有原始的P=16个样本,从而形成样本值的缩减集合102。该缩减集合102将允许获得块18的缩减版本,该缩减版本具有Qred=Mred*Nred=4*4=16个样本(而不是Q=M*N=8*8=64个)。能够应用ALWIP矩阵来预测大小为Mred×Nred=4×4的块。块18的缩减版本包括在图7.2中的方案106中用灰色指示的样本:用灰色方块指示的样本(包括样本118'和样本118”)形成4×4的缩减块,其具有在进行812的步骤中获得的Qred=16个值。通过在进行812的步骤中应用线性变换19已经获得了4×4缩减块。在获得4×4缩减块的值之后,能够例如通过插值来获得剩余样本(在方案106中用白色样本指示的样本)的值。
相对于图7.1的方法810,该方法820可以另外包括步骤813:例如通过插值导出要预测的M×N=8×8块18的剩余Q-Qred=64-16=48个样本(白色方块)的预测值。剩余的Q-Qred=64-16=48个样本可以根据通过插值(例如,插值也可以利用边界样本)直接获得的Qred=16个样本来获得。从图7.2中可以看出,虽然样本118'和118”已经在步骤812中获得(如灰色方块所示),但是样本108'(在样本118'与样本118”中间并用白色方块指示)在步骤813通过样本118'与118”之间的插值获得。已经理解,插值还可以通过类似于用于进行平均的操作,如移位和加法来获得。因此,在图7.2中,值108'一般可以确定为样本118'的值与样本118”的值之间的中间值(它可以是平均值)。
通过执行插值,在步骤813,还能够基于104中指示的多个样本值得到M×N=8×8块18的最终版本。
因此,使用本技术和不使用本技术之间的比较是:
在不使用本技术的情况下:
要预测的块18的尺寸为M=8,N=8,并且在要预测的块18中具有Q=M*N=8*8=64个样本;
边界17中的P=M+N=8+8=16个样本;
对于要预测的Q=64个值中的每一个,P=16次乘法,
总共P*Q=16*64=1028次乘法
乘法的次数与要获得的最终值的数量之间的比率为P*Q/Q=16
在使用本技术的情况下:
要预测的块18的尺寸为M=8,N=8;
最后,要预测Q=M*N=8*8=64个值;
但要使用Qred×Pred ALWIP矩阵,其中Pred=Mred+Nred,Qred=Mred*Nred,Mred=4,Nred=4
边界中的Pred=Mred+Nred=4+4=8个样本,其中Pred<P对于要预测的4×4缩减块(在方案106中由灰色方块形成)的Qred=16个值中的每一个,Pred=8次乘法,总共Pred*Qred=8*16=128次乘法(比1024小得多!)乘法的次数与要获得的最终值的数量之间的比率为Pred*Qred/Q=128/64=2(比在未使用本技术的情况下获得的16小得多!)。
因此,这里呈现的技术的功率要求是先前技术的1/8。
图7.3示出了另一示例(其可以基于方法820),其中要预测的块18是矩形的4×8块(M=8,N=4),具有Q=4*8=32个要预测的样本。边界17由具有N=8个样本的水平行17c和具有M=4个样本的垂直列17a形成。因此,先验地,边界向量17P的尺寸将为P×1=12×1,而预测ALWIP矩阵应为Q×P=32×12矩阵,因此需要Q*P=32*12=384次乘法。
然而,能够例如对水平行17c的至少8个样本进行平均或下采样,以获得仅具有4个样本(例如,经平均的样本)的缩减水平行。在一些示例中,垂直列17a会保持原样(例如,未进行平均)。总体上,缩减边界的尺寸将为Pred=8,其中Pred<P。因此,边界向量17P将具有尺寸Pred×1=8×1。ALWIP预测矩阵17M将是尺寸为M*Nred*Pred=4*4*8=64的矩阵。在进行步骤812时直接获得的4×4缩减块(在方案107中由灰色列形成)将具有大小为Qred=M*Nred=4*4=16个样本(而不是要预测的原始4×8块18的Q=4*8=32个)。一旦通过ALWIP获得缩减的4×4块,就能够添加偏移值bk(步骤812c)并在步骤813执行插值。从图7.3中的步骤813可以看出,缩减的4×4块被扩展为4×8块18,其中在步骤812中未获得的值108'在步骤813中通过对在步骤812中获得的值118'和118”(灰色方块)进行插值而获得。
因此,使用本技术和不使用本技术之间的比较是:
在不使用本技术的情况下:
要预测的块18的尺寸为M=4,N=8
Q=M*N=4*8=32个要预测的值;
边界中P=M+N=4+8=12个样本;
对于要预测的Q=32个值中的每一个,P=12次乘法,
总共P*Q=12*32=384次乘法
乘法的次数与要获得的最终值的数量之间的比率为P*Q/Q=12
在使用本技术的情况下:
要预测的块18的尺寸为M=4,N=8
最后,要预测Q=M*N=4*8=32个值;
但是可以使用Qred×Pred=16×8ALSIP矩阵,其中M=4,Nred=4,Qred=M*Nred=16,Pred=M+Nred=4+4=8
边界中Pred=M+Nred=4+4=8个样本,其中Pred<P
对于要预测的缩减块的Qred=16个值中的每一个,Pred=8次乘法,
总共Qred*Pred=16*8=16*8=128次乘法(小于384!)
乘法的次数与要获得的最终值的数量之间的比率为Pred*Qred/Q=128/32=4(比在未使用本技术的情况下获得的12小得多!)。
因此,使用本技术,计算工作量减少到三分之一。
图7.4示出了要预测的块18具有尺寸M×N=16×16并且最后具有Q=M*N=16*16=256个要预测的值的情况,该块具有P=M+N=16+16=32个边界样本。这将导致尺寸为Q×P=256×32的预测矩阵,这意味着256*32=8192次乘法!
然而,通过应用方法820,能够在步骤811缩减(例如,通过平均或下采样)边界样本的数量,例如从32缩减到8:例如,对于行17a的四个连续样本的每个组120,保留一个单样本(例如,从该四个样本中选择,或样本的平均值)。此外,对于列17c的四个连续样本的每个组,保留一个单样本(例如,从该四个样本选择,或样本的平均值)。
这里,ALWIP矩阵17M是Qred×Pred=64×8矩阵:这是因为:已经选择了Pred=8(通过使用来自边界的32个样本的8个经平均的样本或所选择的样本),并且在步骤812中要预测的缩减块是8×8块(在方案109中,灰色方块是64个)。
因此,一旦在步骤812获得缩减的8×8块的64个样本,就能够在步骤813导出要预测的块18的剩余Q-Qred=256-64=192个值104。
在这种情况下,为了执行插值,已经选择使用边界列17a的所有样本以及仅使用边界行17c中的备选样本。可以进行其他选择。
而在使用本方法的情况下,乘法的次数与最终获得值的数量之间的比率为Qred*Pred/Q=8*64/256=2,这比在未使用本技术的情况下针对每个值的32次乘法少得多!
使用本技术和不使用本技术之间的比较是:
在不使用本技术的情况下:
要预测的块18的尺寸为M=16,N=16
Q=M*N=16*16=256个要预测的值;
边界中P=M+N=16*16=32个样本;
对于要预测的Q=256个值中的每一个,P=32次乘法,
总共P*Q=32*256=8192次乘法;
乘法的次数与要获得的最终值的数量之间的比率为P*Q/Q=32
在使用本技术的情况下:
要预测的块18的尺寸为M=16,N=16
最后,要预测Q=M*N=16*16=256个值;
但要使用Qred×Pred=64×8ALWIP矩阵,其中Mred=4,Nred=4,要通过ALWIP预测Qred=8*8=64个样本,Pred=Mred+Nred=4+4=8
边界中Pred=Mred+Nred=4+4=8个样本,其中Pred<P
对于要预测的缩减块的Qred=64个值中的每一个,Pred=8次乘法,
总共Qred*Pred=64*4=16*8=256次乘法(小于8192!)
乘法的次数与要获得的最终值的数量之间的比率为Pred*Qred/Q=8*64/256=2(比在未使用本技术的情况下获得的32!小的多)。
因此,本技术所需的计算功率是传统技术的1/16!
因此,能够通过以下操作使用多个相邻样本(17)来预测图片的预定块(18):
缩减(100、813)多个相邻样本(17),以获得在样本数量上与多个相邻样本(17)相比更少的样本值的缩减集合(102),
对样本值的缩减集合进行(812)线性或仿射线性变换(19、17M)以获得预定块(18)的预定样本(104、118'、188”)的经预测值。
具体地,能够通过对多个相邻样本进行下采样来执行缩减(100、813),以获得在样本数量上与多个相邻样本(17)相比更少的样本值的缩减集合(102)。
备选地,能够通过对多个相邻样本进行平均来执行缩减(100、813),以获得在样本数量上与多个相邻样本(17)相比更少的样本值的缩减集合(102)。
此外,能够基于预定样本(104、118'、118”)的经预测值和多个相邻样本(17),通过插值来导出(813)预定块(18)的其他样本(108、108')的预测值。
多个相邻样本(17a、17c)可以沿着预定块(18)的两侧一维地(例如,在图7.1至图7.4中向右以及向下)延伸。预定样本(例如,在步骤812中通过ALWIP获得的预定样本)也可以按行和列并沿着行和列中的至少一个布置,预定样本可以位于从预定样本112中与预定块18的两侧邻接的样本(112)开始的每第n个位置处。
基于多个相邻样本(17),针对行和列中的至少一个中的每一个,能够确定多个相邻位置中的一个相邻位置(118)的支持值(118),该该支持值(118)与行和列中的至少一个中的相应一个对齐。还能够基于预定样本(104、118'、118”)的经预测值以及与行和列中的至少一个对齐的相邻样本(118)的支持值,通过插值来导出预定块(18)的其他样本(108、108')的预测值118。
预定样本(104)可以位于沿着行从与预定块18的两侧邻接的样本(112)开始的每第n个位置处,并且预定样本位于沿着列从预定样本(112)中与预定块(18)的两侧邻接的样本开始的每第m个位置,其中n、m>1。在一些情况下,n=m(例如,在图7.2和图7.3中,其中通过ALWIP在812处直接获得并用灰色方块指示的样本104、118'、118”沿着行和列与随后在步骤813获得的样本108、108'交替出现)。
沿着行(17c)和列(17a)中的至少一个,可以能够针对每个支持值,例如通过对多个相邻样本内的一组(120)相邻样本进行下采样或平均(122)来执行支持值的确定,该组相邻样本包括针对其确定相应支持值的相邻样本(118)。因此,在图7.4中,在步骤813,能够通过使用预定样本118”'(先前在步骤812获得的)和相邻样本118的值作为支持值来获得样本119的值。
多个相邻样本可以沿着预定块(18)的两侧一维地延伸。能够通过以下操作执行缩减(811):将多个相邻样本(17)分组为一个或多个连续相邻样本的组(110)并对一个或多个相邻样本的组(110)中的每个相邻样本进行下采样或平均,该一个或多个相邻样本的组(110)具有两个或两个以上的相邻样本。
在示例中,线性或仿射线性变换可以包括Pred*Qred或Pred*Q个加权因子,其中Pred是样本值的缩减集合内的样本值(102)的数量,Qred或Q是预定块(18)内的预定样本的数量。至少1/4Pred*Qred或1/4Pred*Q个加权因子是非零权重值。针对Q或Qred个预定样本中的每一个,Pred*Qred或Pred*Q个加权因子可以包括与相应预定样本有关的一系列Pred个加权因子,其中该系列在预定块(18)的预定样本中根据光栅扫描顺序一个接一个地布置时,形成全向非线性的包络。Pred*Q或Pred*Qred个加权因子可以经由任何常规映射规则彼此不相关。以下二者之间的互相关的最大值的均值小于预定阈值:与相应的预定样本有关的第一系列加权因子、与相应的预定样本之外的预定样本有关的第二系列加权因子或后一系列的反向版本(无论何者导致更高的最大值)。预定阈值可以为0.3[或在一些情况下为0.2或0.1]。Pred个相邻样本(17)可以沿着沿预定块(18)的两侧延伸的一维路径定位,并且对于Q或Qred个预定样本,与相应预定样本有关的一系列Pred个加权因子以沿预定方向遍历该一维路径的方式进行排序。
6.1方法和装置的描述
为了对宽度为W(也用N指示)、高度为H(也用M指示)的矩形块的样本进行预测,仿射线性加权帧内预测(ALWIP)可以取块的左侧的一条H个重构相邻边界样本和该块上方的一条W个重构相邻边界样本作为输入。如果重构样本不可用,则可以如在传统帧内预测中进行的那样来生成它们。
预测信号(例如,针对完整块18的值)的生成可以基于以下三个步骤中的至少一些:
1.在边界样本17中,可以通过平均或下采样提取样本102(例如,在W=H=4的情况下为四个样本和/或在其他情况下为八个样本)(例如,步骤811)。
2.可以将经平均的样本(或进行下采样余下的样本)作为输入来执行矩阵向量乘法,然后执行偏移的添加。结果可以是原始块中的样本的子采样集合上的缩减预测信号(例如,步骤812)。
3.可以例如根据子采样集合上的预测信号,通过上采样(例如,通过线性插值)来生成剩余位置处的预测信号(例如,步骤813)。
由于步骤1(811)和/或步骤3(813),计算矩阵向量积所需的乘法总次数可以使得它始终小于或等于4*W*H。此外,边界上的平均操作和对缩减预测信号的线性插值仅通过使用加法和移位来执行。换言之,在示例中,ALWIP模式下每个样本最多需要四次乘法。
在一些示例中,生成预测信号所需的矩阵(例如,17M)和偏移向量(例如,bk)可以取自解码器和编码器的存储单元中可以存储的矩阵的集合(例如,三个集合),如S0、S1、S2
在一些示例中,集合S0可以包括(例如,包含)n0(例如,n0=16或n0=18或另一数量)个矩阵
Figure BDA0003456847360000321
i∈{0,…,n0-1},该矩阵中的每一个可以具有16行和4列以及18个偏移向量
Figure BDA0003456847360000322
i∈{0,...,n0-1}(每个偏移向量的大小为16),以执行根据图7.1的技术。该集合的矩阵和偏移向量用于大小为4×4的块18。一旦边界向量已经缩减到Pred=4向量(如图7.1的步骤811),就能够将样本的缩减集合102的Pred=4个样本直接映像到要预测的4×4块18的Q=16个样本中。
在一些示例中,集合S1可以包括(例如,包含)n1(例如,n1=8或n1=18或另一数量)个矩阵
Figure BDA0003456847360000323
i∈{0,…,n1-1},该矩阵中的每一个可以具有16行和8列以及18个偏移向量
Figure BDA0003456847360000324
i∈{0,…,n1-1}(每个偏移向量的大小为16),以执行根据图7.2或图7.3的技术。该集合S1的矩阵和偏移向量可以用于大小为4×8、4×16、4×32、4×64、16×4、32×4、64×4、8×4和8×8的块。另外,它还可以用于大小为WxH的块,其中max(W,H)>4且min(W,H)=4,即用于大小为4×16或16×4、4×32或32×4和4×64或64×4的块。16×8矩阵是指块18的缩减版本,它是4×4块,如在图7.2和图7.3中获得的。
附加地或备选地,集合S2可以包括(例如,包含)n2(例如,n2=6或n2=18或另一数量)个矩阵
Figure BDA0003456847360000331
i∈{0,...,n2-1},该矩阵中的每一个可以具有64行和8列以及18个偏移向量
Figure BDA0003456847360000332
i∈{0,…,n2-1}(偏移向量的大小为64)。64×8矩阵是指块18的缩减版本,它是8×8块,例如,如在图7.4中获得的。该集合的矩阵和偏移向量可用于大小为8×16、8×32、8×64、16×8、16×16、16×32,、16×64、32×8、32×16、32×32、32×64、64×8、64×16、64×32、64×64的块。
该集合的矩阵和偏移向量或这些矩阵和偏移向量的一部分可以用于所有其他块形状。
6.2边界的平均或下采样
这里,提供关于步骤811的特征。
如上所解释的,边界样本(17a,17c)可以被平均和/或下采样(例如,从P个样本到Pred<P个样本)。
在第一步骤中,输入边界bdrytop(例如,17c)和bdryleft(例如,17a)可以缩减到更小的边界
Figure BDA0003456847360000333
Figure BDA0003456847360000334
以获得缩减集合102。这里,在4×4块的情况下,
Figure BDA0003456847360000335
Figure BDA0003456847360000336
都由2个样本组成,在其他情况下,二者都由4个样本组成。
在4×4块的情况下,能够定义:
Figure BDA0003456847360000337
Figure BDA0003456847360000338
并且类似地定义
Figure BDA0003456847360000339
因此,
Figure BDA00034568473600003310
Figure BDA00034568473600003311
为例如使用移位运算获得的平均值。
在所有其他情况下(例如,对于宽度或高度不为4的块),如果块宽度W为W=4*2k,则对于0≤i<4,定义了:
Figure BDA0003456847360000341
并且类似地定义
Figure BDA0003456847360000342
在另一些其他情况下,能够对边界进行下采样(例如,通过从一组边界样本中选择一个特定边界样本)以获得缩减数量的样本。例如,可以从bdrytop[0]和bdrytop[1]中选择
Figure BDA0003456847360000343
并且可以从bdrytop[2]和bdrytop[3]中选择
Figure BDA0003456847360000344
还能够类似地定义
Figure BDA0003456847360000345
两个缩减边界
Figure BDA0003456847360000346
Figure BDA0003456847360000347
可以级联到缩减边界向量bdryred(与缩减集合102相关联),也用17P指示。缩减边界向量bdryred对于形状4×4(图7.1的示例)的块因此大小可以为4(Pred=4),并且对于所有其他形状(图7.2至图7.4的示例)的块大小可以为8(Pred=8)。
这里,如果mode<18(或矩阵的集合中的矩阵的数量),则能够定义:
Figure BDA0003456847360000348
如果mode≥18,其对应于mode-17的转置模式,则能够定义:
Figure BDA0003456847360000349
因此,根据特定状态(一个状态:mode<18;另一状态:mode≥18),能够沿着不同扫描顺序(例如,一个扫描顺序:
Figure BDA00034568473600003410
另一扫描顺序:
Figure BDA0003456847360000351
)分配输出向量的经预测值。
可以执行其他策略。在其他示例中,模式索引“mode”不必在0至35的范围内(可以定义其他范围)。此外,三个集合S0、S1、S2中的每一个不必具有18个矩阵(因此,代替如mode≥18的表达式,能够用mode≥n0,n1,n2,这分别是矩阵S0、S1、S2的每个集合的矩阵的数量)。此外,每个集合可以各自具有不同数量的矩阵(例如,可以是:S0具有16个矩阵,S1具有8个矩阵,并且S2具有6个矩阵)。
模式和转置信息不必作为一个组合模式索引“mode”来存储和/或传输:在一些示例中,能够显式地以信号通知转置标志和矩阵索引(S0为0-15,S1为0-7,并且S2为0-5)。
在一些情况下,转置标志和矩阵索引的组合可以解释为集合索引。例如,可以存在用作转置标志的一个比特以及指示矩阵索引的一些比特,统称为“集合索引”。
5.4通过矩阵向量乘法生成缩减预测信号
这里,提供关于步骤812的特征。
在缩减输入向量bdryred(边界向量17P)中,可以生成缩减预测信号predred。后一信号可以是宽度为Wred、高度为Hred的下采样块上的信号。这里,Wred和Hred可以定义为:
如果max(W,H)≤8,则Wred=4,Hred=4,
否则,Wred=min(W,8),Hred=min(H,8)。
可以通过计算矩阵向量积并添加偏移来计算缩减预测信号predred
predred=A·bdryred+b。
这里,A是矩阵(例如,预测矩阵17M),如果W=H=4,则该矩阵可以具有Wred*Hred行和4列,并且在所有其他情况下具有8列,b是大小为Wred*Hred的向量。
如果W=H=4,则A可以有4列和16行,并且因此,在这种情况下每个样本可能需要4次乘法以计算predred。在所有其他情况下,A可以具有8列,并且可以验证在这些情况下具有8*Wred*Hred≤4*W*H,即,在这些情况下,每个样本最多也需要4次乘法来计算predred
矩阵A和向量b可以取自以下集合S0、S1、S2之一。通过设置idx(W,H)来定义索引idx=idx(W,H):如果W=H=4,则设置idx(W,H)=0;如果max(W,H)=8,则设置idx(W,H)=1,在所有其他情况下设置idx(W,H)=2。此外,如果mode<18,则可以使m=mode,否则使m=mode-17。然后,如果idx≤1或idx=2且min(W,H)>4,则可以使
Figure BDA0003456847360000361
Figure BDA0003456847360000362
在idx=2且min(W,H)=4的情况下,使A是通过去掉
Figure BDA0003456847360000363
的每两行中的一行而产生的矩阵,在W=4的情况下,它对应于下采样块中的奇数x坐标,或者在H=4的情况下,对应于下采样块中的奇数y坐标。如果mode≥18,则用其转置信号替换缩减预测信号。在备选示例中,可以执行不同的策略。例如,代替缩减较大矩阵的大小(“去掉”),使用具有Wred=4和Hred=4的较小矩阵S1(idx=1)。也就是说,这样的块现在分配给S1而不是S2
可以执行其他策略。在其他示例中,模式索引“mode”不必在0至35的范围内(可以定义其他范围)。此外,三个集合S0、S1、S2中的每一个不必具有18个矩阵(因此,代替如mode<18的表达式,能够用mode<n0,n1,n2,这分别是矩阵S0、S1、S2的每个集合的矩阵的数量)。此外,每个集合可以具有不同数量的矩阵(例如,可以是:S0具有16个矩阵,S1具有8个矩阵,并且S2具有6个矩阵)。
6.4线性插值以生成最终预测信号
这里,提供关于步骤812的特征。
子采样预测信号的插值,在大块上可能需要经平均的边界的第二版本。即,如果min(W,H)>8且W≥H,则写成W=8*2l,以及对于0≤i<8,定义:
Figure BDA0003456847360000371
如果min(W,H)>8且H>W,则类似地定义
Figure BDA0003456847360000372
附加地或备选地,可能“难以下采样”,其中
Figure BDA0003456847360000373
等于:
Figure BDA0003456847360000374
此外,可以类似地定义
Figure BDA0003456847360000375
在生成predred时被去掉的样本位置处,最终预测信号可以通过从predred进行线性插值来产生(例如,图7.2至图7.4的示例中的步骤813)。在一些示例中,如果W=H=4(例如,图7.1的示例),则该线性插值可以是不必要的。
线性插值可以如下给出(尽管如此,其他示例是可能的)。假设W≥H。然后,如果H>Hred,则可以执行predred的垂直上采样。在这种情况下,predred可以如下将一行扩展到顶部。如果W=8,则predred可以有宽度Wred=4并且可以通过经平均的边界信号
Figure BDA0003456847360000376
扩展到顶部,例如,如上面所定义。如果W>8,则predred的宽度为Wred=8并且它通过经平均的边界信号
Figure BDA0003456847360000377
扩展到顶部,例如,如上面所定义。对于predred的第一行,可以得出predred[x][-1]。然后,宽度为Wred且高度为2*Hred的块上的信号
Figure BDA0003456847360000378
可以如下给出:
Figure BDA0003456847360000379
Figure BDA0003456847360000381
其中0≤x<Wred且0≤y<Hred。后面的过程可以进行k次,直到2k*Hred=H。因此,如果H=8或H=16,则最多可以进行一次。如果H=32,则可以进行两次。如果H=64,则可以进行三次。接下来,可以将水平上采样运算应用到垂直上采样的结果。后面的上采样运算可以使用预测信号左侧的全部边界。最后,如果H>W,可以通过首先在水平方向上(如果需要)并且然后在垂直方向上进行上采样来进行类似的处理。
这是使用用于第一插值(水平地或垂直地)的缩减边界样本以及用于第二插值(垂直地或水平地)的原始边界样本的插值的示例。取决于块大小,仅需要第二插值或不需要插值。如果需要水平插值和垂直插值二者,则顺序取决于块的宽度和高度。
然而,可以实现不同的技术:例如,原始边界样本可以用于第一插值和第二插值二者,并且顺序可以是固定的,例如首先水平然后垂直(在其他情况下,首先垂直然后水平)。
因此,插值顺序(水平/垂直)以及缩减边界样本/原始边界样本的使用可以改变。
6.5整个ALWIP过程的示例的说明
针对图7.1至图7.4中的不同形状,示出平均、矩阵向量乘法和线性插值的整个过程。注意,其余形状将按照所描绘的情况之一来对待。
1.给定4×4块,ALWIP可以通过使用图7.1的技术沿边界的每个轴取两个平均值。产生的四个输入样本进入矩阵向量乘法。矩阵取自集合S0。在添加偏移之后,这可以产生16个最终预测样本。生成预测信号不需要进行线性插值。因此,每个样本总共执行(4*16)/(4*4)=4次乘法。参见例如图7.1。
2.给定8×8块,ALWIP可以沿边界的每个轴取四个平均值。通过使用图7.2的技术,产生的八个输入样本进入矩阵向量乘法。矩阵取自集合S1。这会在预测块的奇数位置上产生16个样本。因此,每个样本总共执行(8*16)/(8*8)=2次乘法。在添加偏移之后,可以对这些样本进行插值,例如,通过使用顶部边界垂直插值,以及例如,通过使用左侧边界水平插值。参见例如图7.2。
3.给定8×4块,ALWIP可以通过使用图7.3的技术沿边界的水平轴取四个平均值并且在左侧边界上取四个原始边界值。产生的八个输入样本进入矩阵向量乘法。矩阵取自集合S1。这在预测块的奇数水平位置和每个垂直位置上产生16个样本。因此,每个样本总共执行(8*16)/(8*4)=4次乘法。例如,在添加偏移之后,这些样本将通过使用左侧边界进行水平插值。参见例如图7.3。
相应地处理转置的情况。
4.给定16×16块,ALWIP可以沿边界的每个轴取四个平均值。通过使用图7.2的技术,产生的八个输入样本进入矩阵向量乘法。矩阵取自集合S2。这在预测块的奇数位置上产生64个样本。因此,每个样本总共执行(8*64)/(16*16)=2次乘法。在添加偏移之后,这些样本通过使用顶部边界被垂直插值,并且通过使用左侧边界被水平插值。参见例如图7.2。参见例如图7.4。
对于较大的形状,过程可能基本相同,并且容易地检查每个样本的乘法次数是否少于两次。
对于W×8块,由于样本在奇数水平位置和每个垂直位置给出,因此仅需要进行水平插值。因此,在这些情况下,每个样本最多执行(8*64)/(16*8)=4次乘法。
最后,对于W×4块,其中W>8,令Ak为通过去掉与沿下采样块的水平轴的奇数条目相对应的每一行而产生的矩阵。因此,输出大小可以是32,并且同样,仅剩下水平插值要执行。每个样本最多可以执行(8*32)/(16*4)=4次乘法。
可以相应地处理转置的情况。
6.6需要的参数数量和复杂度评估
所有可能提出的帧内预测模式所需的参数可以由属于集合S0、S1、S2的矩阵和偏移向量所包括。所有矩阵系数和偏移向量都可以存储为10比特值。因此,根据上面的描述,所提出的方法可能需要总共14400个参数,每个参数的精度为10比特。这对应于0,018兆字节的内存。需要指出的是,当前,标准4:2:0色度子采样中大小为128×128的CTU由24576个值组成,每个值为10比特。因此,所提出的帧内预测工具的内存要求不超过上次会议所采用的当前图片参考工具的内存要求。此外,需要指出的是,由于PDPC工具或用于具有分数角位置的角度预测模式的4抽头插值滤波器,因此传统帧内预测模式需要每个样本进行四次乘法。因此,在操作复杂性方面,所提出的方法不超过传统帧内预测模式。
6.7所提出的帧内预测模式的信号化
例如,对于亮度块,提出了35个ALWIP模式(可以使用其他数量的模式)。对于帧内模式下的每个编码单元(CU),在比特流中发送指示是否将ALWIP模式应用于对应预测单元(PU)的标志。后一索引的信令可以按照与第一次CE测试相同的方式与MRL相协调。如果要应用ALWIP模式,则可以使用具有3个MPMS的MPM列表来以信号通知ALWIP模式的索引predmode。
这里,可以如下使用上PU和左PU的帧内模式来执行MPM的导出。可以存在表格,例如三个固定表格map_angular_to_alwipidx,idx∈{0,1,2},其可以向每个传统帧内预测模式predmodeAngular分配ALWIP模式:
predmodeALWIP=map_angular_to_alwipidx[predmodeAngular]。
对于宽度为W、高度为H的每个PU,定义并且索引
idx(PU)=idx(W,H)∈{0,1,2}
其指示将从三个集合中的哪一个获取ALWIP参数,如上面第4节所述。如果上方预测单元PUabove可用,属于与当前PU相同的CTU并且在帧内模式下,则如果idx(PU)=idx(PUabove)并且如果在ALWIP模式
Figure BDA0003456847360000411
下将ALWIP应用到PUabove上,则使得:
Figure BDA0003456847360000412
如果上方PU可用,属于与当前PU相同的CTU并且在帧内模式下,并且如果将传统帧内预测模式
Figure BDA0003456847360000413
应用到上方PU上,则使得:
Figure BDA0003456847360000414
在所有其他情况下,使得:
Figure BDA0003456847360000415
其意味着该模式不可用。以相同的方式但不限制左侧PU需要属于与当前PU相同的CTU,导出模式:
Figure BDA0003456847360000416
最后,提供了三个固定的默认列表listidx,idx∈{0,1,2},其中每个包含三种不同的ALWIP模式。在默认列表listidx(PU)以及模式
Figure BDA0003456847360000417
Figure BDA0003456847360000418
中,通过用默认值替换-1以及消除重复来构建三个不同的MPM。
本文描述的实施例不受所提出的帧内预测模式的上述信号化限制。根据备选实施例,没有MPM和/或映射表用于MIP(ALWIP)。
6.8适用于传统亮度帧内预测模式和色度帧内预测模式的MPM列表导出
所提出的ALWIP模式可以如下与传统帧内预测模式的基于MPM的编码相协调。传统帧内预测模式的亮度MPM列表和色度MPM列表导出过程可以使用固定表map_alwip_to_angularidx,idx∈{0,1,2},将给定PU上的ALWIP模式predmodeALWIP映射到传统帧内预测模式之一:
predmodeAngular
map_alwip_to_angularidx(PU)[predmodeALWIP]。
对于亮度MPM列表导出,每当遇到使用ALWIP模式predmodeALWIP的相邻亮度块时,可以将该块处理为好像正在使用传统帧内预测模式predmodeAngular。对于色度MPM列表导出,每当当前亮度块使用LWIP模式时,可以使用相同的映射将ALWIP模式转换为传统帧内预测模式。
很明显,ALWIP模式也可以在不使用MPM和/或映射表的情况下与传统帧内预测模式相协调。例如,对于色度块,每当当前亮度块使用ALWIP模式时,能够将ALWIP模式映射到平面帧内预测模式。
7.实施高效的实施例
让我们简要总结一下上面的示例,因为它们可能形成下文描述的其他扩展实施例的基础。
为了对图片10的预定块18进行预测,使用多个相邻样本17a、17c。
已经通过对多个相邻样本进行平均来进行缩减100,以获得在样本数量上与多个相邻样本相比更少的样本值的缩减集合102。这种缩减在本文的实施例中是可选的,并且产生在下文中描述的所谓样本值向量。对样本值的缩减集合进行线性或仿射线性变换19,以获得预定块的预定样本104的经预测值。该变换稍后使用矩阵A和偏移向量b来指示,已经通过机器学习(ML)而获得,并且应该是有效地预先形成的实现。
通过插值,基于预定样本的经预测值和多个相邻样本来导出预定块的其他样本108的预测值。应当说,理论上,仿射/线性变换的结果可以与块18的非全像素样本位置相关联,使得可以根据备选实施例通过插值来获得块18的所有样本。也可能根本不需要插值。
多个相邻样本可以沿着预定块的两侧一维地延伸,预定样本按行和列并沿着行和列中的至少一个布置,其中预定样本可以位于从预定样本中与预定块的二侧邻接的样本(112)开始的每第n个位置处。基于多个相邻样本,针对行和列中的至少一个中的每一个,可以确定多个相邻位置中的一个相邻位置(118)的支持值,该支持值与行和列中的至少一个中的相应一个对齐,并且通过插值,可以基于预定样本的预测值以及相邻样本的与行和列中的至少一个对齐的支持值来导出预定块的其他样本108的预测值。预定样本可以位于沿着行从预定样本的与预定块18的两侧邻接的样本112开始的每第n个位置处,以及预定样本可以位于沿着列从预定样本的与预定块的两侧邻接的样本112每第m个位置,其中n,m>1。可能n=m。沿着行和列中的至少一个,针对每个支持值,可以通过对多个相邻样本内的一组相邻样本120进行平均(122)来确定支持值,该组相邻样本120包括针对其确定相应支持值的相邻样本118。多个相邻样本可以沿着预定块的两侧一维地延伸,并且可以通过以下操作来完成缩减:将多个相邻样本分组为一个或多个连续相邻样本的组110并对一个或多个相邻样本的组中的每个相邻样本执行平均,一个或多个相邻样本的组具有两个以上的相邻样本。
对于预定块,可以在数据流中传输预测残差。它可以在解码器处从数据流中导出,并且使用预测残差以及预定样本的经预测值来重构预定块。在编码器处,预测残差在编码器处被编码到数据流中。
图片可以被细分为多个不同块大小的块,该多个块包括预定块。然后,可以取决于块的宽度W和高度H来选择用于块18的线性或仿射线性变换,使得针对预定块选择的线性或仿射线性变换选自以下各者:线性或仿射线性变换的第一集合,只要预定块的宽W和高H在宽度/高度对的第一集合内;线性或仿射线性变换的第二集合,只要预定块的宽W和高H在宽度/高度对的第二集合内,宽度/高度对的第二集合与宽度/高度对的第一集合不相交。同样,稍后变得清楚的是,仿射/线性变换通过其他参数来表示,即权重C以及可选的偏移和缩放参数。
解码器和编码器可以被配置为将图片细分为多个不同块大小的块,其包括预定块,以及取决于预定块的宽度W和高度H来选择线性或仿射线性变换,使得针对预定块选择的线性或仿射线性变换选自以下各者:
线性或仿射线性变换的第一集合,只要预定块的宽度W和高度H在宽度/高度对的第一集合内,
线性或仿射线性变换的第二集合,只要预定块的宽度W和高度H在与宽度/高度对的第一集合不相交的宽度/高度对的第二集合内,以及
线性变换或仿射线性变换的第三集合,只要预定块的宽度W和高度H在一个或多个宽度/高度对的第三集合内,宽度/高度对的第三集合与宽度/高度对的第一集合和宽度/高度对的第二集合不相交。
一个或多个宽度/高度对的第三集合仅包括一个宽度/高度对W'、H',并且线性或仿射线性变换的第一集合内的每个线性或仿射线性变换用于将N'个样本值变换为样本位置的W'xH'阵列的W'*H'个经预测值。
宽度/高度对的第一集合和第二集合中的每个集合可以包括第一宽度/高度对Wp、Hp,其中Wp不等于Hp,以及包括第二宽度/高度对Wq、Hq,其中Hq=Wp且Wq=Hp
宽度/高度对的第一集合和第二集合中的每个集合可以另外包括第三宽度/高度对Wp、Hp,其中Wp等于Hp且Hp>Hq
对于预定块,可以在数据流中传输集合索引,该索引指示将从线性或仿射线性变换的预定集合中为块18选择哪个线性或仿射线性变换。
多个相邻样本可以沿着预定块的两侧一维地延伸,并且可以通过以下操作完成缩减:针对与预定块的第一侧相邻的多个相邻样本的第一子集,将第一子集分组为一个或多个连续相邻样本的第一组110;并且针对与预定块的第二侧相邻的多个相邻样本的第二子集,将第二子集分组为一个或多个连续相邻样本的第二组110;以及对一个或多个相邻样本的第一组和一个或多个相邻样本的第二组中的每个组执行平均,每个组具有两个以上的相邻样本,以便从第一组中获得第一样本值并获得第二组的第二样本值。然后,可以取决于线性或仿射线性变换的预定集合中的集合索引来选择线性或仿射线性变换,使得集合索引的两个不同状态导致选择线性或仿射线性变换的预定集合中的线性或仿射线性变换之一,在集合索引以第一向量的形式假设两个不同状态中的第一状态的情况下,可以对样本值的缩减集合进行预定线性或仿射线性变换以产生经预测值的输出向量,并且沿着第一扫描顺序将输出向量的经预测值分配到预定块的预定样本上,并且在以第二向量的形式假设两个不同状态中的第二状态的情况下,第一向量和第二向量不同,使得由第一向量中的第一样本值之一填充的分量通过第二向量中的第二样本值之一填充,并且由第一向量中的第二样本值之一填充的分量通过第二向量中的第一样本值之一填充,以便产生经预测值的输出向量,并且沿着第二扫描顺序将输出向量的经预测值分配到相对于第一扫描顺序转置的预定块的预定样本上。
针对样本位置的w1×h1阵列,线性或仿射线性变换的第一集合内的每个线性或仿射线性变换可以用于将N1个样本值变换为w1*h1个经预测值,并且针对样本位置的w2×h2阵列,线性或仿射线性变换的第二集合内的每个线性或仿射线性变换变换用于将N2个样本值变换为w2*h2个经预测值,其中,对于宽度/高度对的第一集合中的第一预定宽度/高度对,w1可以超过第一预定宽度/高度对的宽度,或者h1可以超过第一预定宽度/高度对的高度,并且对于宽度/高度对的第一集合中的第二预定宽度,w1不能超过第二预定宽度/高度对的宽度,h1也不能超过第二预定宽度/高度对的高度。然后可以通过对多个相邻样本进行平均来缩减(100),以获得样本值的缩减集合(102),使得:如果预定块是第一预定宽度/高度对的预定块并且如果预定块是第二预定宽度/高度对的预定块,则样本值的缩减集合102具有N1个样本值,以及可以通过仅使用所选择的线性或仿射线性变换的第一子部分执行对样本值的缩减集合进行所选择的线性或仿射线性变换:如果w1超过一个宽度/高度对的宽度,则该第一子部分与样本位置的w1×h1阵列沿宽度维度的子采样有关,或者如果h1超过一个宽度/高度对的高度,则该第一子部分与样本位置的w1×h1阵列沿高度维度的子采样有关,并且如果预定块为第一预定宽度/高度对,则对样本值的缩减集合完全地进行所选择的线性或仿射线性变换。
针对样本位置的w1×h1阵列(w1=h1),线性或仿射线性变换的第一集合内的每个线性或仿射线性变换可以用于将N1个样本值变换为w1*h1个经预测值,并且针对样本位置的w2×h2阵列(w2=h2),线性或仿射线性变换的第二集合内的每个线性或仿射线性变换变换用于将N2个样本值变换为w2*h2个经预测值。
所有上述实施例仅是说明性的,因为它们可以形成下文描述的实施例的基础。即,上述概念和细节应用于理解以下实施例,并且应用作下文描述的实施例的可能扩展和修改的储存库。具体地,许多上述细节是可选的,例如相邻样本的平均、相邻样本被用作参考样本的事实等。
更一般地,本文描述的实施例假设矩形块上的预测信号从已经重构的样本中生成,例如矩形块上的帧内预测信号从块左侧和块上方的相邻已重构的样本中生成。预测信号的生成基于以下步骤。
1.在现在被称为边界样本的参考样本中,但不排除将描述转移到位于其他地方的参考样本的可能性,可以通过进行平均来提取样本。这里,对块左侧和块上方二者的边界样本或仅对两侧之一的边界样本进行平均。如果未对一侧进行平均,则该侧上的样本保持不变。
2.执行矩阵向量乘法,可选地随后添加偏移,其中,如果仅在左侧应用平均,则矩阵向量乘法的输入向量是块左侧的经平均边界样本与块上方的原始边界样本的级联;或者如果仅在上侧应用平均,则矩阵向量乘法的输入向量是块左侧的原始边界样本与块上方的经平均边界样本的级联;或者如果在块的两侧应用平均,则矩阵向量乘法的输入向量是块左侧的经平均边界样本与块上方的经平均边界样本的级联。同样,将存在备选方案,例如根本不使用平均的备选方案。
3.矩阵向量乘法和可选的偏移加法的结果可以可选地是原始块中的样本的子采样集合上的缩减预测信号。剩余位置处的预测信号可以通过线性插值从子采样集合上的预测信号来生成。
步骤2中的矩阵向量积的计算优选地以整数算法进行。因此,如果x=(x1,…,xn)表示矩阵向量积的输入,即,x表示块左侧和块上方的(经平均的)边界样本的级联,则在x中,在步骤2中计算的(缩减)预测信号应仅使用移位、偏移向量的加法以及与整数的乘法来计算。理想情况下,步骤2中的预测信号将被给出为Ax+b,其中b是可能为零的偏移向量,并且其中A通过一些基于机器学习的训练算法导出。然而,这种训练算法通常仅产生以浮点精确度给出的矩阵A=Afloat。因此,面临着在前述意义上指定整数运算使得使用这些整数运算很好地近似表达式Afloatx的问题。这里,重要的是提及这些整数运算不必被选择,使得它们在假设向量x均匀分布的情况下近似表达式Afloatx,但通常会考虑输入该表达式Afloatx被要近似的向量x是来自自然视频信号的(经平均的)边界样本,其中可以预期x的分量xi之间的一些相关性。
图8示出了改进的ALWIP预测。可以基于通过一些基于机器学习的训练算法而导出的矩阵A 1100与样本值向量x 400之间的第一矩阵向量积来预测预定块的样本。可选地,可以添加偏移b 1110。为了实现该第一矩阵向量积的整数近似或定点近似,可以对样本值向量进行可逆线性变换403以确定另一向量402。另一矩阵B 1200与另一向量402之间的第二矩阵向量积可以等于第一矩阵向量积的结果。
由于另一向量402的特征,第二矩阵向量积可以是通过预定预测矩阵C 405与另一向量402之间的矩阵向量积404加上另一偏移408来近似的整数。另一向量402和另一偏移408可以由整数或定点值组成。另一偏移的所有分量例如是相同的。预定的测矩阵405可以是经量化的矩阵或要量化的矩阵。预定预测矩阵405与另一向量402之间的矩阵向量积404的结果可以理解为预测向量406。
在下文中,提供了关于这个整数近似的更多细节。
根据示例I的可能解决方案:减去以及添加均值
可用于上述情形的表达式Afloatx的整数近似的一种可能合并是用x的分量的均值mean(x)(即,预定值1400)替换x(即,即样本值向量400)的第i0个分量
Figure BDA0003456847360000481
(即,预定分量1500),并从所有其他分量中减去该均值。换言之,如图9a所示,可逆线性变换403被定义为使得:另一向量402的预定分量1500变为a,并且另一向量402中除了预定分量1500之外的其他分量中的每一个等于样本值向量400的对应分量减去a,其中a为预定值1400,其例如为样本值向量400的分量的平均值,例如算术均值或加权平均值。对输入的这个运算由可逆变换T403给出,该可逆变换具有明显的整数实现,尤其是如果x的尺寸n为2的幂。
由于Afloat=(AfloatT-1)T,如果对输入x进行这样的变换,则必须找到矩阵向量积By的整数近似,其中B=(AfloatT-1)且y=Tx。由于矩阵向量积Afloatx表示对矩形块(即,预定块)的预测,并且由于x400被该块的(例如,经平均的)边界样本包括,因此应当预期在x的所有样本值相等的情况下,即,对于所有i,xi=mean(x)的情况下,预测信号Afloatx中的每个样本值应接近于mean(x)或完全等于mean(x)。这意味着,应当预期第i0列(即,与B的预定分量相对应的列)非常接近仅由1组成的列或等于仅由1组成的列。因此,如果M(i0),即整数矩阵1300为如下矩阵:其第i0行由1组成且其所有其他行均为零,写为By=Cy+M(i0),其中C=B-M(i0),则应预期C(即,预定预测矩阵405)的第i0行412具有较小条目或为零,如图9b所示。此外,由于x的分量是相关的,因此可以预期对于每个i≠i0,y的第i个分量yi=xi-mean(x)分量通常具有比x的第i分量小得多的绝对值。由于矩阵M(i0)1300为整数矩阵,因此如果给出Cy的整数近似,则实现By的整数近似,并且通过以上讨论,可以预期通过以合适方式对C405的每个条目进行量化而产生的量化错误相应于Afloatx而仅稍微影响By的量化结果中的误差。
预定值1400不必是均值mean(x)。还可以使用预定值1400的以下备选定义来实现对表达式Afloatx的本文描述的整数近似:
在表达式Afloatx的整数近似的另一种可能合并中,x的第i0个分量
Figure BDA0003456847360000491
保持不变,并且从所有其他分量中减去相同的值
Figure BDA0003456847360000492
即,对于每个i≠i0
Figure BDA0003456847360000493
Figure BDA0003456847360000494
换言之,预设值1400可以是样本值向量400中与预设分量1500相对应的分量。
备选地,预定值1400是默认值或图片被编码到其中的数据流中以信号通知的值。
预定值1400例如等于2bitdepth-1。在这种情况下,另一向量402可以由y0=2bitdepth-1和yi=xi-x0(对于i>0)来定义。
备选地,预定分量1500变为常数减去预定值1400。常量例如等于2bitdepth-1。根据实施例,另一向量y402的预定分量
Figure BDA0003456847360000495
1500等于2bitdepth-1减去样本值向量400中与预定分量1500相对应的分量
Figure BDA0003456847360000496
并且另一向量402的所有其他分量等于样本值向量400的对应分量减去样本值向量400中与预定分量1500相对应的分量。
例如,如果预定值1400与预定块的样本的预测值具有较小偏差,则是有利的。
根据实施例,装置1000被配置为包括多个可逆线性变换403,其中每个可逆线性变换与另一向量402的一个分量相关联。此外,该装置例如被配置为从样本值向量400的分量中选择预定分量1500,并且使用多个可逆线性变换中与预定分量1500相关联的可逆线性变换403作为预定可逆线性变换。这是例如由于第i0行(即,与预定分量相对应的可逆线性变换403的行)的不同位置取决于另一向量中的预定分量的位置。如果例如另一向量402的第一分量(即,即y1)是预定分量,则第i0行会替换可逆线性变换的第一行。
如图9b所示,预定预测矩阵405的列412(即,第i0列)内的预定预测矩阵C 405的矩阵分量414例如全部为零,该矩阵分量414与另一向量402的预定分量1500相对应。在这种情况下,该装置例如被配置为通过以下操作执行乘法来计算矩阵向量积404:计算从预定预测矩阵C 405中忽略列412产生的缩减预测矩阵C'405与从另一向量412中忽略预定分量1500产生的又一向量410之间的矩阵向量积407,如图9c所示。因此,可以用较少的乘法来计算预测向量406。
如图8、图9b和图9c所示,装置1000可以被配置为:在基于预测向量406对预定块的样本进行预测时,针对预测向量406的每个分量,计算相应分量与a(即,预定值1400)之和。该总和可以由预测向量406与向量409的总和表示,其中向量409的所有分量等于预定值1400,如图8和图9c所示。备选地,该总和可以由预测向量406以及整数矩阵M 1300与另一向量402之间的矩阵向量积1310之和来表示,如图9b所示,其中整数矩阵1300中与另一向量402的预定分量1500相对应的矩阵分量在整数矩阵1300的一列(即,第i0列)内为1,而所有其他分量例如是零。
预定预测矩阵C 405与整数矩阵1300之和的结果等于或近似于例如图8中所示的另一矩阵B 1200。
换言之,通过将预定预测矩阵405的列412(即,第i0列)内的预定预测矩阵C 405的与另一向量402的预定分量1500相对应的每个矩阵分量与1(即,矩阵B)进行求和、乘以可逆线性转换403而产生的另一矩阵B 1200与例如机器学习预测矩阵A 1100的经量化版本相对应,如图8、图9a和图9b所示。预定预测矩阵C 405在第i0列412内的每个矩阵分量与1的求和可以对应于预定预测矩阵405与整数矩阵1300的求和,如图9b所示。如图8所示,机器学习预测矩阵A 1100可以等于另一矩阵1200乘以可逆线性转换403的结果。这是由于A·x=BT·yT-1。预定预测矩阵405例如是经量化矩阵、整数矩阵和/或定点矩阵,由此可以实现机器学习预测矩阵A 1100的经量化版本。
仅使用整数运算的矩阵乘法
对于低复杂性的实施方式(在加上以及乘以标量值的复杂性方面,以及在所涉及矩阵的条目所需的存储方面),期望仅使用整数算法来执行矩阵乘法404。
为了计算z=Cy的近似,即:
Figure BDA0003456847360000511
根据实施例,仅使用整数运算,实数值Ci,j必须被映射到整数值
Figure BDA0003456847360000512
这可以例如通过统一标量量化或通过考虑值yi之间的特定相关性来完成。整数值表示例如定点数,该定点数每一个可以以固定的比特数n_bits存储,例如n_bits=8。
与大小为m×n的矩阵(即,预定预测矩阵405)的矩阵向量积404然后可以像这个伪代码所示那样执行,其中<<,>>是算术二进制左移和右移运算,并且+,-和*仅对整数值进行运算。
(1)
Figure BDA0003456847360000513
这里,阵列C,即预定预测矩阵405,将定点数存储为例如整数。final_offset的最后相加以及right_shift_result的右移运算通过舍入(rounding)来降低精度,以获得输出处所需的定点格式。
为了允许由C中的整数表示实数值的增加范围,可以使用二个附加矩阵offseti,j和scalei,j,如图10和图11的实施例中所示,使得以下矩阵向量积中的yj的每个系数bi,j
Figure BDA0003456847360000521
由下式给出
Figure BDA0003456847360000522
offseti,j和scalei,j的值本身为整数值。例如,这些整数可以表示定点数,每个定点数可以以固定比特数(例如,8比特)或者例如与用于存储值
Figure BDA0003456847360000523
的比特数相同的比特数n_bits来存储。
换言之,装置1000被配置为使用预测参数(例如,整数值
Figure BDA0003456847360000524
以及值offseti,j和scalei,j)来表示预定预测矩阵405,并且通过对另一向量402的分量和预测参数以及由此产生的中间结果执行乘法和求和来计算矩阵向量积404,其中预测参数的绝对值可以由n比特定点数表示来表示,其中n等于或小于14、或备选地等于或小于10、或备选地等于或小于8。例如,另一向量402的分量与预测参数相乘以产生作为中间结果的积,继而对中间结果求和或形成求和的加数。
根据实施例,预测参数包括权重,每个权重与预测矩阵的对应矩阵分量相关联。换言之,预定预测矩阵例如由预测参数代替或表示。权重例如是整数值和/或定点值。
根据实施例,预测参数还包括一个或多个缩放因子,例如值scalei,j,每个缩放因子与预定预测矩阵405的一个或多个对应矩阵分量相关联,以缩放与预定预测矩阵405的一个或多个对应矩阵分量相关联的权重,例如整数值
Figure BDA0003456847360000525
附加地或备选地,预测参数包括一个或多个偏移,例如值offseti,j,每个偏移与预定预测矩阵405的一个或多个对应矩阵分量相关联,以偏移与预定预测矩阵405的一个或多个对应矩阵分量相关联的权重,例如整数值
Figure BDA0003456847360000526
为了减少offseti,j和scalei,j所需的存储量,可以将它们的值选择为对于索引i,j的特定集合是恒定的。例如,它们的条目可以对每一列恒定,或者它们可以对每一行恒定,或者它们可以对于所有i,j恒定,如图10所示。
例如,在一个优选实施例中,offseti,j和scalei,j对于一个预测模式的矩阵的所有值是恒定的,如图11中所示。因此,当存在K个预测模式时,其中k=0..K-1,仅需要单个值ok和单个值sk来计算对模式k的预测。
根据实施例,对于所有基于矩阵的帧内预测模式,offseti,j和/或scalei,j是恒定的,即相同的。附加地或备选地,对于所有块大小,offseti,j和/或scalei,j可能是恒定的,即相同的。
在ok表示偏移以及sk表示缩放的情况下,(1)中的计算可以修改为:
(2)
Figure BDA0003456847360000531
由该解决方案产生的扩展实施例
上述解决方案意指以下实施例:
1.一种如第I部分中的预测方法,其中在第I部分的步骤2中,对所涉及的矩阵向量积的整数近似进行了以下运算:在(经平均的)边界样本x=(x1,…,xn)中,对于固定的i0(其中1≤i0≤n),计算向量y=(y1,…,yn),其中yi=xi-mean(x)(对于i≠i0)并且其中
Figure BDA0003456847360000541
并且其中mean(x)表示x的均值。向量y然后用作矩阵向量积Cy(的整数实现)的输入,使得来自第I部分的步骤2的(经下采样的)预测信号pred被给出为pred=Cy+meanpred(x)。在该等式中,meanpred(x)表示(经下采样的)预测信号的域中的每个样本位置的信号,其等于mean(x)。(参见例如图9b)
2.一种如第I部分中的预测方法,其中在第I部分的步骤2中,对所涉及的矩阵向量积的整数近似进行了以下运算:在(经平均的)边界样本x=(x1,…,xn)中,对于固定的i0(其中1≤i0≤n),计算向量y=(y1,…,yn-1),其中yi=xi-mean(x)(对于i<i0),并且其中yi=xi+1-mean(x)(对于i≥i0),并且其中mean(x)表示x的均值。向量y然后用作矩阵向量积Cy(的整数实现)的输入,使得来自第I部分的步骤2的(经下采样的)预测信号pred被给出为pred=Cy+meanpred(x)。在该等式中,meanpred(x)表示(经下采样的)预测信号的域中的每个样本位置的信号,其等于mean(x)。(参见例如图9c)
3.一种如第I部分中的预测方法,其中矩阵向量积Cy的整数实现通过使用矩阵向量积zi=∑jbi,j*yj中的系数
Figure BDA0003456847360000542
Figure BDA0003456847360000543
给出。(参见例如图10)
4.一种如第I部分中的预测方法,其中步骤2使用K个矩阵之一,使得可以计算多个预测模式,每个预测模式使用不同矩阵
Figure BDA0003456847360000544
其中k=0…K-1,其中矩阵向量积Ck y的整数实现通过使用(矩阵向量积zi=∑jbi,j*yj中的)系数
Figure BDA0003456847360000551
来给出。(参见例如图11)
即,根据本申请的实施例,编码器和解码器如下操作以预测图片10的预定块18,参见图8。为了预测,使用多个参考样本。如上所概述,本申请的实施例将不限于帧内编码,并且因此,参考样本将不限于相邻样本,即,图片10中与块18相邻的样本。具体地,参考样本将不限于沿着块18的外边缘布置的样本,例如与块的外边缘邻接的样本。然而,这种情况当然是本申请的一个实施例。
为了执行预测,从诸如参考样本17a和参考样本17c的参考样本中形成样本值向量400。上面已经描述了可能的形成。形成可以涉及平均,由此与对有助于形成的参考样本17相比缩减了样本102的数量或向量400的分量的数量。如上所述,形成还可以按照某种方式取决于块18的尺寸或大小,例如其宽度和高度。
应对该向量400进行仿射或线性变换,以便获得块18的预测。上面已经使用了不同的命名法。使用最近的命名法,其目的是通过在执行与偏移向量b的求和时的矩阵向量积将向量400应用于矩阵A来执行预测。偏移向量b是可选的。由A、或A和b确定的仿射或线性变换可以由编码器和解码器来确定,或者更准确地说,为了基于如上面已经描述的块18的大小和尺寸的预测,由编码器和解码器来确定仿射或线性变换。
然而,为了实现上面所概述的计算效率改进或在实现方面使预测更有效,已经对仿射或线性变换进行了量化,并且编码器和解码器或其预测器使用了上面所提到的C和T,以便表示和执行线性或仿射变换,其中以上述方式应用的C和T表示仿射变换的经量化版本。具体地,编码器和解码器中的预测器不是直接将向量400应用到矩阵A,而是经由预定可逆线性变换T对其进行映射的方式将从样本值向量400产生的向量402应用到矩阵A。只要向量400具有相同的大小(即,不依赖于块的尺寸,即宽度和高度)或者至少对于不同的仿射/线性变换是相同的,这里使用的变换T就可以是相同的。在上文中,向量402被表示为y。为了执行如通过机器学习所确定的仿射/线性转换,确切矩阵将是B。然而,编码器和解码器中的预测不是确切地执行B,而是通过其近似版本或经量化版本来进行。具体地,该表示经由以上文所概述的方式适当地表示C来进行,其中C+M表示B的经量化版本。
因此,通过计算向量402与以上述方式在编码器和解码器处适当表示和存储的预定预测矩阵C之间的矩阵向量积404,进一步进行编码器和解码器中的预测。从该矩阵向量积产生的向量406然后用于对块18的样本104进行预测。如上所述,为了预测,如在408处所指示,向量406的每个分量可以与参数a进行求和,以便补偿C的对应定义。基于向量406导出块18的预测也可以涉及向量406与偏移向量b的可选求和。如上所述,向量406的每个分量、并且相应地向量406的求和的每个分量、在408处所指示的所有a'的向量和可选的向量b,能够直接对应于块18的样本104,并因此指示样本的经预测值。也可能仅块的样本104的子集以这种方式被预测,而块18的剩余样本例如108通过插值导出。
如上所述,存在不同的实施例来设置a。例如,它可能是向量400的分量的算术均值。对于这种情况,参见图9a。可逆线性变换T 403可以如图9a所指示。i0分别是样本值向量和向量402的预定分量,其用a代替。然而,如上面所指示,还存在其他可能性。然而,就C的表示而言,上面也已经指示,C可以以不同的方式体现。例如,矩阵向量积404在其实际计算中可以具有较低维度的较小矩阵向量积的实际计算结束。具体地,如上面所指示,由于C的定义,C的整个第i0列412可变为0,使得可以通过向量402的缩减版本来进行积404的实际计算,该缩减版本通过省略分量
Figure BDA0003456847360000561
(即,将该缩减向量410与通过忽略第i0列412从C产生的缩减矩阵C'相乘)而产生向量402。
C的权重或C'的权重(即,该矩阵的分量)可以以定点数表示来表示和存储。然而,如上所述,这些权重414也可以以与不同缩放和/或偏移有关的方式存储。可以针对整个矩阵C定义缩放和偏移,即对于矩阵C或矩阵C'的所有权重414都相等,或者可以以使得对于矩阵C及矩阵C'的相同列的所有权重414或相同行的所有权重414分别为恒定或相等的方式来定义。就此而言,图10示出了矩阵向量积的计算(即,积的结果)实际上可以稍微不同地执行,即,例如通过将与缩放的乘法朝向向量402或向量410,从而减少必须进一步执行的乘法的次数。图11示出了针对C或C'的所有权重414使用一个缩放和一个偏移的情况,如在上述计算(2)中进行的。
根据实施例,本文描述的用于对图片的预定块进行预测的装置可以被配置为使用基于矩阵的帧内样本预测,其包括以下特征:
该装置被配置为从多个参考样本17中形成样本值向量pTemp[x]400。假设pTemp[x]为2*boundarySize,pTemp[x]可以例如通过直接复制或通过子采样或池化被以下样本填充:位于预定块顶部的相邻样本redT[x](其中x=0..boundarySize–1),随后是位于预定块左侧的相邻样本redL[x](其中x=0..boundarySize–1)(例如在isTransposed=0的情况下),或者或在转置处理的情况下(例如在isTransposed=1的情况下)反之亦然。
导出输入值p[x],其中x=0..inSize-1,即该装置被配置为从样本值向量pTemp[x]中导出另一向量p[x],通过预定可逆线性变换,或更具体的预定可逆仿射线性变换,将样本值向量pTemp[x]映射到一向量p[x],如下:
–如果mipSizeId等于2,则以下适用:
p[x]=pTemp[x+1]-pTemp[0]
–否则(mipSizeId小于2),以下适用:
p[0]=(1<<(BitDepth-1))-pTemp[0]
p[x]=pTemp[x]-pTemp[0]for x=1..inSize-1
这里,变量mipSizeId指示预定块的大小。即,根据本实施例,从样本值向量导出另一向量所使用的可逆变换取决于预定块的大小。依赖性可以根据以下给出:
mipSizeId boundarySize predSize
0 2 4
1 4 4
2 4 8
其中predSize指示预定块内经预测样本的数量,并且根据inSize=(2*boundarySize)-(mipSizeId==2)?1:0,2*bondarySize指示样本值向量的大小并与inSize(即,另一向量的大小)有关。更准确地说,inSize指示实际参与计算的另一向量的那些分量的数量。对于较小的块大小,inSize与样本值向量的大小一样大,对于较大的块大小,inSize要小一个分量。在前一种情况下,可以忽略一个分量,即与另一向量的预定分量相对应的分量,如在稍后要计算的矩阵向量积中,对应的向量分量的贡献无论如何都将产生零,并且因此,不需要进行实际计算。在备选实施例的情况下,可以忽略对块大小的依赖性,在该备选实施例中不可避免地仅使用两个备选中的一个,即与块大小无关(对应于mipSizeId的选项小于2,或对应于mipSizeId的选项等于2)。
换言之,预定可逆线性变换例如被定义为使得另一向量p的预定分量变为a,而所有其他分量与样本值向量的分量减去a相对应,其中例如a=pTemp[0]。在第一选项对应于mipSizeId等于2的情况下,这很容易地看到,并且进一步考虑另一向量的仅以不同方式形成的分量。即,在第一选项的情况下,另一向量实际上是{p[0…inSize];pTemp[0]},其中pTemp[0]为a,并且矩阵向量乘法的产生矩阵向量积的实际计算部分(即,乘法的结果)限于另一向量的inSize分量和该矩阵的对应列,因为矩阵具有不需要计算的零列。在对应于mipSizeId小于2的其他情况下,选择a=pTemp[0]作为另一向量的除了p[0]之外的所有分量(即,另一向量p的除了预定分量p[0]之外的其他分量p[x](其中x=1..inSize-1)中的每一个)等于样本值向量pTemp[x]的对应分量减去a,但是p[0]被选择为常数减去a。然后计算矩阵向量积。常数是可表示值的均值,即2x-1(即,1<<(BitDepth-1)),其中x表示所使用的计算表示的比特深度。应注意的是,如果将p[0]选择为pTemp[0],则计算的积将简单地与使用如上文所指示的p[0](p[0]=(1<<(BitDepth-1))-pTemp[0])计算的积偏离一常数向量,当基于该积对内部块进行预测时,可以考虑该常数向量,即预测向量。值a因此是预定值,例如pTemp[0]。预定值pTemp[0]在这种情况下例如是样本值向量pTemp中与预定分量p[0]相对应的分量。它可以是预定块顶部或预定块左侧的相邻样本,最靠近预定块的左上角。
对于根据predModeIntra(例如,指定帧内预测模式)的帧内样本预测过程,该装置例如被配置为应用以下步骤,例如至少执行第一步:
1.基于矩阵的帧内预测样本predMip[x][y](其中x=0..predSize–1,y=0..predSize-1)如下导出:
–将变量modeId设置为等于predModeIntra。
–通过以mipSizeId和modeId为输入调用MIP加权矩阵导出过程,来导出加权矩阵mWeight[x][y](其中x=0..inSize-1,y=0..predSize*predSize-1)。
–基于矩阵的帧内预测样本predMip[x][y](其中x=0..predSize-1,y=0..predSize-1)如下导出:
Figure BDA0003456847360000591
Figure BDA0003456847360000592
换言之,该装置被配置为计算另一向量p[i]或在mipSizeId等于2的情况下为{p[i];pTemp[0]}与预定预测矩阵mWeight或在mipSizeId小于2的情况下为具有与p的省略分量相对应的附加零权重线的预测矩阵mWeight之间的矩阵向量积,以便获得预测向量,在这里已经被分配给分布在预定块内部中的块位置{x,y}的阵列以便产生阵列predMip[x][y]。预测向量将分别与predMip[x][y]的行或predMip[x][y]的列的级联相对应。
根据实施例,或者根据不同的解释,仅分量
Figure BDA0003456847360000593
被理解为预测向量,并且该装置被配置为:在基于预测向量来对预定块的样本进行预测时,针对预测向量的每个分量,计算相应分量与a(例如,pTemp[0])之和。
该装置可以可选地被配置为:在基于预测向量例如predMip或
Figure BDA0003456847360000594
来对预定块的样本进行预测时,附加地执行以下步骤。
2.基于矩阵的帧内预测样本predMip[x][y](其中x=0..predSize-1,y=0..predSize-1)例如如下地裁剪:
predMip[x][y]=Clip1(predMip[x][y])
3.当isTransposed等于真时,predSize×predSize阵列predMip[x][y](其中x=0..predSize-1,y=0..predSize-1)例如被如下地转置:
predTemp[y][x]=predMip[x][y]
predMip=predTemp
4.经预测样本predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)例如如下导出:
–如果指定变换块宽度的nTbW大于predSize或指定变换块高度的nTbH大于predSize,则使用输入块大小predSize、基于矩阵的帧内预测样本predMip[x][y](其中x=0..predSize-1,y=0..predSize-1)、变换块宽度nTbW、变换块高度nTbH,顶部参考样本refT[x](其中x=0..nTbW-1)、以及左侧参考样本refL[y](其中y=0..nTbH-1)作为输入来调用MIP预测上采样过程,并且输出是经预测样本阵列predSamples。
–否则,将predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)设置为等于predMip[x][y]。
换言之,该装置被配置为基于预测向量predMip来对预定块的样本predSamples进行预测。
8.使用基于块/矩阵的帧内预测模式以及其他帧内预测模式
以下描述再次呈现了用于将基于块/矩阵的预测与其他帧内预测模式组合的可能性。它代表了可能性的另一呈现,基于该呈现可以体现后续部分中描述的实施例。
请注意,在下文中,术语基于块的帧内预测用于表示可以由上面的ALWIP体现或等同于上面的ALWIP的帧内预测模式。
由此,下文中关于图12描述的实施例涉及支持帧内预测的解码器和编码器,用于对预定块18进行解码/编码,其中支持不同的帧内预测模式。存在角度帧内预测模式500,根据角度帧内预测模式500,使用与预定块18相邻的参考样本17来填充预定块18,以便获得预定块18的帧内预测信号。具体地,沿着预定块18的边界(例如,沿着预定块18的上边缘和左边缘)布置的参考样本17表示沿着预定方向502外推或复制到预定块18的内部的图片内容。在外推或复制之前,可以对相邻样本17表示的图片内容进行插值滤波,或者换言之,可以通过插值滤波的方式从相邻样本17中导出相邻样本17表示的图片内容。角度帧内预测模式500在帧内预测方向502上相互不同。每个角度帧内预测模式500可以具有相关联的索引,其中索引与角度帧内预测模式500的相关联可以使得:在根据相关联的模式索引对角度帧内预测模式500进行排序时,方向500单调地顺时针或逆时针旋转。
还可以存在非角度帧内预测模式。例如,在图12中504示出了可选地包含在集合508中的平面帧内预测模式,根据该平面帧内预测模式,基于相邻样本17导出由水平斜率、垂直斜率和偏移定义的二维线性函数,通过该线性函数定义预定块18的经预测样本值。基于相邻样本17来导出水平斜率、垂直斜率和偏移。根据实施例,帧内预测模式的第一集合508包括平面帧内预测模式504。
在506处示出了包含在集合508中的特定非角度帧内预测模式,DC模式。这里,基于相邻样本17来导出一个值,即准DC值,并且该一个DC值归因于预定块18的所有样本,以便获得帧内预测信号。尽管示出了非帧内预测模式的两个示例,但可以仅存一个或两个以上的示例。
帧内预测模式500、504和506形成由编码器和解码器支持的帧内预测模式的集合508,其中在率/失真优化的意义上,与通常使用附图标记510指示的基于块的帧内预测模式(上面讨论的示例使用缩写ALWIP)竞争。如上所述,根据这些基于块的帧内预测模式510,在一方面的从相邻样本17中导出的向量514与另一方面的预定预测矩阵516之间执行矩阵向量积520。乘法520的结果是用于对预定块18的样本进行预测的预测向量518。基于块的帧内预测模式510在与相应模式相关联的预测矩阵516中相互不同。
因此,简言之,根据本文描述的实施例的编码器和解码器包括帧内预测模式的集合508(即,帧内预测模式的第一集合)和基于块的帧内预测模式的集合520(即,基于矩阵的帧内预测模式的第二集合),并且这两个集合彼此竞争。
根据本申请的实施例,以下面方式使用帧内预测对预定块18进行编码/解码。具体地,首先,集合选择语法元素522选择是否要使用帧内预测模式的集合508中的任何模式或者基于块的帧内预测模式的集合520中的任何模式对预定块18进行预测。如果集合选择语法元素指示要使用集合508(即,帧内预测模式的第一集合)中的任何模式对预定块18进行预测,则基于已经预测的与块18相邻的相邻块(在524和526处示例性地指示)使用的帧内预测模式,在解码器和编码器处构造/形成集合508中最可能候选的列表528。相邻块524和526可以以预定方式相对于预定块18的位置来确定,例如通过确定覆盖块18的某些相邻样本(例如,块18左上角样本顶部的样本)的那些相邻块,以及包含刚刚提到的角样本左侧的样本的块526。当然,这仅是示例。这同样适用于用于模式预测的相邻块的数量,该数量对于所有实施例不限于两个。可以使用两个以上或仅一个。如果这些块524和526中的任一个丢失,则可以默认地使用默认帧内预测模式作为该丢失相邻块的帧内预测模式的替代。如果已经使用帧间预测模式(例如,通过运动补偿预测)对块524和块526中的任一个进行编码/解码,则这同样可以适用。
集合508中模式的列表(即,最可能帧内预测模式的列表528)的构造如下。列表528的列表长度,即,其中最可能模式的数量,可以默认地固定。该长度可以是如图12所示的4,或者可以与其不同,例如为5或6。后一种情况适用于下文描述的特定示例。稍后将描述的数据流中的索引可以指示列表528中要用于预定块18的一个模式。沿着列表顺序或排序530执行索引化,其中列表索引例如被可变长编码,使得索引的长度沿着顺序530单调增加。因此,值得首先仅用集合508中的最可能模式填充列表528,并沿着顺序530将更可能适于块18的模式相对于具有较低可能性的模式放置在上游。基于用于块524和526的模式(即,与预定块18相邻的相邻块)来导出列表528中的模式。如果块524和526中的任一个已经使用集合520中的基于块的模式510进行帧内预测,则使用前述从这种“ALWIP”或基于块的模式510到集合508内的模式(我们所说的非ALWIP模式)的映射。后一映射例如可以将基于块的模式510的大部分(即,超过一半)映射到DC模式506(或者DC 506或平面模式504中的任一个)上。
根据实施例,以独立于预测相邻块时所使用的帧内预测模式的方式,用平面帧内预测模式504填充最可能帧内预测模式的列表528。因此,例如,取决于用于预测相邻块524和526的帧内预测模式,仅DC帧内预测模式506和角度帧内预测模式500填充在列表528中。例如,独立于预测相邻块524和526时所使用的帧内预测模式,平面帧内预测模式504位于最可能帧内预测模式的列表528的第一位置处。
以下面更详细地示例性示出的方式,最可能帧内预测模式的列表528的列表构造按照以下方式进行:使得如果相邻块524和526已经通过任何角度帧内预测模式500预先预测,则列表528中没有DC帧内预测模式506。如果一个相邻块524或526通过任何角度帧内预测模式500进行预测和/或如果相邻块524和相邻块526二者通过任何角度帧内预测模式500进行预测,则DC帧内预测模式506不在最可能内预测模式的列表528中。根据本文下面阐述的实施例,例如,仅在以下情况对于所有相邻块524和526都为真的情况下,用DC模式506填充列表528:相邻块524和526已经使用非角度帧内预测模式504和506中的任一模式进行了编码,或者相邻块524和526已经使用任何基于块的帧内预测模式510进行了帧内预测,该基于块的帧内预测模式510通过从基于块的帧内预测模式510映射到集合508内的模式的前述映射而被映射到非角度帧内预测模式504和506中的任一个。仅在这种情况下,DC帧内预测模式506位于列表528中。在这种情况下,它可以按顺序530定位在任何角度帧内预测模式500之前,如可以从后续示例中看到的。
换言之,仅在以下情况下用DC帧内预测模式506填充最可能帧内预测模式的列表528:对于相邻块524和526中的每一个,相应的相邻块使用第一集合508(其包括DC帧内预测模式506)内的至少一个非角度帧内预测模式504和506中的任一个进行预测,或者使用基于块的帧内预测模式510中的任一个进行预测,该基于块的帧内预测模式510通过从基于块的帧内预测模式510的第二集合520到第一集合508(其用于形成最可能帧内预测模式的列表528)内的帧内预测模式的映射而映射到至少一个非角度帧内预测模式500中的任一个。DC帧内预测模式506例如位于最可能帧内预测模式的列表528中的任何角度帧内预测模式500之前。
因此,继续关于如何将预定块18编码到数据流12中的描述,如果集合选择语法元素522指示要通过第一集合508中的任何模式对预定块18进行编码,则数据流12可选地包含指示要用于预定块18的帧内预测模式是否在列表528内的MPM语法元素532,如果“是”,则数据流12包括指向列表528的MPM列表索引534,MPM列表索引534通过沿着顺序530索引列表528来指示列表528中要用于预定块18的模式,即,预定帧内预测模式。然而,如果集合508中的模式不在列表528内,如MPM语法元素532所指示的,则数据流12针对块18包括另一语法元素536,用于指示集合508中的哪个模式要用于块18,即,预定帧内预测模式。另一语法元素536可以按照仅在集合508中未包含在列表528中的那些模式之间进行区分的方式来指示模式。
换言之,用于对预定块18进行解码的装置例如被配置为从数据流中导出MPM语法元素532,如果集合选择语法元素522指示要使用帧内预测模式的第一集合508中的一个模式预测预定块18,则MPM语法元素532指示帧内预测模式的第一集合508中的预定帧内预测模式是否在最可能帧内预测模式的列表528内。如果MPM语法元素532指示帧内预测模式的第一集合508中的预定帧内预测模式在最可能帧内预测模式的列表528内,则该装置例如被配置为基于在预测与预定块100相邻的相邻块524、526时所使用的帧内预测模式来执行最可能帧内预测模式的列表528的形成,并且执行从数据流12中导出MPM列表索引534,MPM列表索引534指向最可能帧内预测模式的列表528中的预定帧内预测模式。如果来自数据流12的MPM语法元素532指示帧内预测模式的第一集合508中的预定帧内预测模式不在最可能帧内预测模式的列表528内,则该装置被配置为从数据流中导出另一列表索引536,另一列表索引536指示帧内预测模式的第一集合中的预定帧内预测模式。因此,基于MPM语法元素532,数据流12或者包括MPM列表索引534,或者包括另一列表索引536,以用于预定块18的预测。
通过移除其中列表528包括DC帧内预测模式506的情况,实现以下优点。具体地,本申请的发明人发现,由于集合508中的DC帧内预测模式506无论如何都与基于块的帧内预测模式510竞争,因此使用集合508中的DC帧内预测模式506对预定块18进行编码/解码“消耗”列表528中有价值的列表位置将对编码效率产生负面影响,应使用集合508的帧内预测模式中由语法元素522(即,集合选择语法元素)指示的任一模式对该预定块18进行编码/解码。因此,用集合508中的这种DC帧内预测模式506“消耗”列表528中的列表位置将导致出现以下情况的可能性提高:最终要用于预定块18的帧内预测模式(即,预定帧内预测模式)不在列表528内,使得需要在数据流12中传输语法元素536(即,另一列表索引)。
具体地,由于语法元素522已经针对块18指示是否应使用集合508内的任何模式或集合520中的基于块的模式510中的任何模式来预测该块18,似乎如果语法元素522指示集合508内的模式对于块18是优选的,并因此基于块的模式510不用于块18,则集合508中的DC预测模式506能够适用于块18的可能性较低,以至于其在列表528中的出现应限于用于相邻块524和526的模式的级联的非常有限的集合,即上面阐述的级联。
在其他情况下,即,在集合选择语法元素522指示要使用基于块的帧内预测模式510中的任一个对预定块18进行预测的情况下,将块18编码到数据流12中以及从数据流中解码可以以上面阐述的方式进行。为此,可以使用索引以对集合520(即,基于块的帧内预测模式的第二集合)中基于块的帧内预测模式510中要使用的所选择的一个基于块的帧内预测模式进行索引,或者指示要使用集合520中的哪一个基于块的帧内预测模式。另一MPM语法元素538可以指示索引是否通过索引540(即,通过另一MPM列表索引)完成,索引540指示最可能基于块的帧内预测模式510的列表542中要用于块18的基于块的帧内预测模式510,即,通过沿着列表顺序544索引,或者要用于块18的基于块的帧内预测模式510是否由另一语法元素546(即,由又一列表索引)指示,后一语法元素546可以例如仅在集合520内尚未包含在列表542内的那些模式510之间进行区分。列表542的列表构造可以基于对块524和526进行预测所使用的模式来进行。如果块524和526中的任一个由于在图片之外或由于正在进行帧间预测而不可用,则可以替代使用默认帧内预测模式,例如集合508中的一个帧内预测模式。对于每个块524和526,在已经使用集合508而不是集合520中的模式进行帧内预测的情况下,使用从集合508中的模式到集合520中的模式的前述映射来获得用于相应块(即,预定块18)的帧内预测模式510,即,预定的基于块的帧内预测模式,并且基于针对块524和526得到的基于块的帧内预测模式来构造列表542。
根据实施例,用于对预定块18进行解码的装置被配置为从数据流12中导出另一MPM语法元素532,另一MPM语法元素532指示:如果集合选择语法元素522指示预定块18将不使用帧内预测模式的第一集合508中的一个模式进行预测,则基于块的帧内预测模式510的第二集合520中的预定的基于块的帧内预测模式是否在最可能的基于块的帧内预测模式的列表542内。如果另一MPM语法元素538指示基于块的帧内预测模式510的第二集合520中的预定的基于块的帧内预测模式在最可能的基于块的帧内预测模式的列表542内,则该装置例如被配置为基于与预定块18相邻的相邻块524、526进行预测时使用的帧内预测模式来形成最可能的基于块的帧内预测模式的列表542,并且从数据流12中导出指向最可能的基于块的帧内预测模式的列表542中的预定的基于块的帧内预测模式的另一MPM列表索引540。如果另一MPM语法元素538指示基于块的帧内预测模式的第二集合520中的预定的基于块的帧内预测模式不在最可能的基于块的帧内预测模式的列表542内,则该装置被配置为从数据流12中导出指示基于块的帧内预测模式的第二集合520中的预定的基于块的帧内预测模式的又一其他列表索引546。因此,基于另一MPM语法元素538,数据流12或者包括另一MPM列表索引540,或者包括又一列表索引546,以用于预定块18的预测。
尽管另一MPM语法元素538、另一MPM列表索引540和又一列表索引546在图12中的数据流12中表示为与MPM语法元素532、MPM列表索引534和另一列表索引536平行,但很明显,数据流12包括另一MPM语法元素538以及与另一MPM语法元素538相关联的索引(例如,另一MPM列表索引540或又一列表索引546),或者包括MPM语法元素532以及与MPM语法元素相关联的索引(例如,MPM列表索引534或另一列表索引536)。数据流12包括该语法元素和索引中的哪些例如取决于集合选择语法元素522。
将数据流12的语法元素部分写成伪代码的示例可以如图19a至图19d所示,其中附图标记指示哪个语法元素与上面讨论的语法元素相对应。
列表528的列表构造可以定义如下:其中,candIntraPredModeA/B指示块524和块526中的任一个已经进行预测所使用的帧内预测模式,例如A用于块524,B用于块526,或者在对应的块524或526已经使用基于块的帧内预测模式510中的任一模式进行帧内预测的情况下,指示映射到帧内预测模式映射到集合508中的哪个模式。INTRA_DC用于指示模式506,角度模式500由INTRA_ANGULAR#指示,其中编号(#)对如上面示例性地指示的角度模式(即,以使得角度方向502随着数量增加而单调递减或单调递增的方式)进行排序。集合508内的模式之间的排序可以如随后表中所定义,其中INTRA_PLANAR表指示模式504。
注意,在上面的示例中,索引534实际上分布在语法元素534'和534”上:前者534'特定于列表528中按照顺序530的第一位置,其中根据该示例,INTRA_PLANAR模式504不可避免地被定位于该第一位置。后者534”指向列表528的后续位置中的任一个,其中如所描述的,DC模式506仅包括在所描述的特定情况中。
此外,在上面的示例中,在语法元素522指示使用集合508内的模式中的任何模式的情况下,数据流中包括另一些语法元素,另一些语法元素以某种方式参数化集合500内的帧内预测模式。例如,语法元素600参数化或改变参考样本17所位于的区域,基于该区域,集合508中的模式例如在与块18的外周的距离方面对块18的内部进行帧内预测。附加地或备选地,语法元素602参数化或改变集合508中的模式是否使用参考样本17来全局或整块地对块18的内部进行帧内预测,或者是否按块18被细分为的片或部分进行帧内预测,并且该片或部分依次进行帧内预测,使得针对一个部分编码到数据流中的预测残差可以用于补充新参考样本,以用于对后续部分进行帧内预测。仅当语法元素600具有例如与参考样本17所位于的区域与块18邻接相对应的预定状态的情况下,由语法元素控制的后一编码部分可用(并且对应的语法元素可以存在于数据流中)。该部分可以通过沿着预定方向细分块来定义,例如水平从而导致部分与块18一样高,或者垂直从而导致部分与块18一样宽。如果以信号通知划分被激活,则语法元素604可以存在于数据流中,其控制使用哪个分割方向。可以看出,列表528中针对INTRA_PLANAR模式预留的位置可能仅在以下情况下可用:仅在通过刚刚提到的参数化语法元素对模式进行某种参数化的情况下,例如仅当语法元素600具有与例如参考样本17所位于的区域与块18邻接相对应的预定状态,和/或被语法元素602以信号通知逐部分的帧内预测模式未激活。
表中所示且上面未具体提到的所有语法元素是可选的,并且本文不做进一步讨论。
–如果candIntraPredModeB等于candIntraPredModeA且candIntraPredModeA大于INTRA_DC,则candModeList[x],x=0..4如下导出:
candModeList[0]=candIntraPredModeA
candModeList[1]=2+((candIntraPredModeA+61)%64)
candModeList[2]=2+((candIntraPredModeA-1)%64)
candModeList[3]=2+((candIntraPredModeA+60)%64)
candModeList[4]=2+(candIntraPredModeA%64)
–否则,如果candIntraPredModeB不等于candIntraPredModeA且candIntraPredModeA或candIntraPredModeB大于INTRA_DC,则以下适用:
–变量minAB和maxAB如下导出:
minAB=Min(candIntraPredModeA,candIntraPredModeB)
maxAB=Max(candIntraPredModeA,candIntraPredModeB)
–如果candIntraPredModeA和candIntraPredModeB都大于INTRA_DC,则candModeList[x],x=0..4如下导出:
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
–如果maxAB–minAB等于1,则以下适用:
candModeList[2]=2+((minAB+61)%64)
candModeList[3]=2+((maxAB-1)%64)
candModeList[4]=2+((minAB+60)%64)
–否则,如果maxAB–minAB大于或等于62,则以下适用:
candModeList[2]=2+((minAB-1)%64)
candModeList[3]=2+((maxAB+61)%64)
candModeList[4]=2+(minAB%64)
–否则,如果maxAB–minAB等于2,则以下适用:
candModeList[2]=2+((minAB-1)%64)
candModeList[3]=2+((minAB+61)%64)
candModeList[4]=2+((maxAB-1)%64)
–否则,以下适用:
candModeList[2]=2+((minAB+61)%64)
candModeList[3]=2+((minAB-1)%64)(8-36)
candModeList[4]=2+(((maxAB+61))%64)
–否则(candIntraPredModeA或candIntraPredModeB大于INTRA_DC),则candModeList[x],x=0..4如下导出:
candModeList[0]=maxAB
candModeList[1]=2+((maxAB+61)%64)
candModeList[2]=2+((maxAB-1)%64)(8-41)
candModeList[3]=2+((maxAB+60)%64)
candModeList[4]=2+(maxAB%64)
–否则,以下适用:
candModeList[0]=INTRA_DC
candModeList[1]=INTRA_ANGULAR50(
candModeList[2]=INTRA_ANGULAR18
candModeList[3]=INTRA_ANGULAR46
candModeList[4]=INTRA_ANGULAR54
帧内预测模式 关联名称
0 INTRA_PLANAR
1 INTRA_DC
2..66 INTRA_ANGULAR2..INTRA_ANGULAR66
9.利用基于块/矩阵的帧内预测模式以及其他帧内预测模式并使用二次变换的实施例
以下描述呈现了用于将基于块/矩阵的预测与其他帧内预测模式以及使用二次变换对预测残差进行编码进行组合的实施例。上面对基于矩阵的帧内预测(ALWIP)及其与其他帧内预测模式组合的可能性的呈现应用作实现下文描述的实施例的示例。例如,在图12中,关于将DC模式限制包含在其中的MPM列表构造的所有细节都是可选的。
如上所述,基于矩阵的帧内预测(MIP),在本文中也表示为基于块的帧内预测和ALWIP,通过执行矩阵向量乘法生成矩形块上的帧内预测信号,其中矩阵向量乘法的输出可被视为对下采样块的预测信号,并且其中下采样边界样本可以包括矩阵向量乘法的输入。如果将输出视为对下采样块的预测信号,则该预测信号需要在获得最终预测信号之前经过上采样(或线性插值)阶段。
另一方面,对于如平面模式504、DC模式506和角度模式500的传统帧内预测模式(在以上描述中也表示为集合508中的模式),不可分离二次变换(LFNST)是用于对与这些帧内预测模式相对应的预测残差进行变换的工具。这里,给出变换集的集合S,使得每个传统的帧内预测模式与这些变换集之一相关联。然后,在解码器处,可以从比特流中提取是否要对给定块应用LFNST。如果是这种情况,则取决于当前块上使用的帧内预测模式,给出集合S中的一个变换集,并且如果该变换集由一个以上变换组成,则可以从比特流中提取要使用该集中的哪个变换T。然后,在解码器处,变换T被应用为二次变换Ts,这意味着它被应用于可分离主变换Tp的残差变换系数620的子集622,例如,如图14所示。
问题在于上述二次变换Ts是仅针对传统帧内预测模式先验地定义的。针对每个MIP模式510提供特定的二次变换Ts在另外存储额外变换的存储器需求方面可能成本太高。
图13示出了解决该问题的解码器。解码器使用帧内预测对图片的预定块18进行解码。根据实施例,编码器包括与解码器并行的特征和/或功能。
解码器/编码器被配置为从多个帧内预测模式600中选择602预定帧内预测模式604,多个帧内预测模式600包括帧内预测模式的第一集合508和基于矩阵的帧内预测模式510的第二集合520。该帧内模式选择602由解码器基于数据流12来执行,其中编码器被配置为在数据流12中以信号通知预定帧内预测模式604。可以如关于图12描述的那样执行帧内模式选择602。
帧内预测模式的第一集合508包括DC帧内预测模式506和角度预测模式500以及可选的平面帧内预测模式504。在预定帧内预测模式604是第二集合520中的基于矩阵的帧内预测模式510的情况下,解码器/编码器被配置为使用以下二者之间的矩阵向量积512来获得预测向量518:从预定块18的邻域中的参考样本17中导出的向量514、以及与相应的基于矩阵的帧内预测模式510相关联的预测矩阵516,基于该预测向量518来预测预定块18的样本。使用基于矩阵的帧内预测模式510作为预定帧内预测模式604来预测预定块18可以由根据图6至图11的实施例的解码器/编码器执行。解码器/编码器被配置为使用预定帧内预测模式604导出预定块18的预测信号606。
解码器/编码器被配置为:以取决于预定帧内预测模式604的方式从二次变换Ts(例如,Ts(1)–Ts(N))的集合612中选择608一个或多个二次变换Ts (i1)-Ts (in)(其中i1在1到N的范围内,in在i1到N的范围内)的子集610,使得在预定帧内预测模式604包含在帧内预测模式的第一集合508中的情况下且在预定帧内预测模式604包含在基于矩阵的帧内预测模式510的第二集合520中的情况下,子集610非空。
根据实施例,解码器/编码器被配置为:选择608子集610,使得二次变换Ts的集合612中的每个二次变换Ts包含在针对第一集合508和第二520集合内的帧内预测模式中的至少一个帧内预测模式选择的一个或多个二次变换的子集610中。因此,子集610可以等于二次变换的集合612。可以针对一个或多个基于矩阵的帧内预测模式510选择这样的子集。对于一个或多个基于矩阵的帧内预测模式510,可能能够选择二次变换的集合612中的所有二次变换Ts,由此该一个或多个基于矩阵的帧内预测模式510的子集610包括可针对帧内预测模式的第一集合508内的帧内预测模式选择的二次变换Ts。因此,对于基于矩阵的帧内预测模式510中的至少一个,在二次变换的集合612中不需要特定的附加二次变换。
根据实施例,解码器/编码器被配置为以如下方式选择608子集610:使得针对任何基于矩阵的帧内预测模式510选择的二次变换Ts的每个子集610matrix中的每个二次变换Ts包含在针对第一集合508内不属于角度预测模式500的至少一个帧内预测模式选择的二次变换Ts的子集,例如610DC和/或610planar中。图15指示了针对任何基于矩阵的帧内预测模式510选择的二次变换Ts的不同可能子集。解码器/编码器可以被配置为:针对每个基于矩阵的帧内预测模式510,选择用于基于矩阵的帧内预测模式510的二次变换的子集610中的第一并集611matrix的子集610。
如图15所示,可针对一个或多个基于矩阵的帧内预测模式510选择的子集610可以等于可针对DC帧内预测模式506选择的子集例如610DC1或610DC2,或者可以等于可针对平面帧内预测模式504选择的子集例如610planar1或610planar2。可针对一个或多个基于矩阵的帧内预测模式510选择的子集610可能仅包括对于第一集合508内不属于角度预测模式500的一个帧内预测模式可选择的二次变换Ts的子集(例如,610DC)中的一个或多个二次变换(例如,Ts(ax)到Ts(ay)),如子集610matrix4所指示的。
可针对基于矩阵的帧内预测模式510选择的子集610可以包含可针对DC帧内预测模式506选择的两个或更多个子集(例如,610DC1和610DC2)中的一个或多个二次变换,如子集610matrix1所指示的,或者可以包含可针对平面帧内预测模式504选择的两个或更多个子集(例如,610planar1和610planar2)中的一个或多个二次变换,如子集610matrix3所指示的。
可针对基于矩阵的帧内预测模式510选择的另一可能子集610可以包括可针对DC帧内预测模式506选择的一个或多个子集(例如,610DC2)中的一个或多个二次变换,以及可针对平面帧内预测模式504选择的一个或多个子集(例如,610planar1)中的一个或多个二次变换,如子集610matrix2所指示的。
根据实施例,解码器/编码器被配置为以如下方式选择608子集610:使得针对基于矩阵的帧内预测模式510选择的二次变换的子集610的第一并集611matrix与针对所有角度帧内预测模式选择的二次变换的子集610angular的第二并集611angular之间的交集为空。第三并集611DC包括针对DC帧内预测模式506选择的所有子集610DC,第四并集611planar包括针对平面帧内预测模式504选择的所有子集610planar。例如,由于可选地将下采样应用于缩减预测信号606,因此MIP模式510与平面模式504和DC模式506一样是非方向性的,因此与角度模式500相比,它们的预测残差618与DC模式506和平面模式504具有更多的统计相似性。
此外,如图13所示,解码器被配置为:从数据流中导出614由编码器编码到数据流中的预定块18的预测残差的变换版本616,预定块18的预测残差的变换版本616经由变换T与预定块18的预测残差的空间域版本相关,变换T通过主变换Tp和二次变换的子集610中的预定二次变换Ts的级联来定义。如图14所示,在预定帧内预测模式包含在帧内预测模式的第一集合508中的情况下,并且在预定帧内预测模式包含在基于矩阵的帧内预测模式510的第二集合520中的情况下,编码器可以被配置为将变换T应用到主变换Tp的系数620的子集622上。解码器可以被配置为使用变换T的逆T-1来获得预定块18的预测残差的空间域版本618。主变换例如是可分离2D变换,二次变换例如是不可分离2D变换。
解码器被配置为使用预定块18的预测信号606和预测残差618来重构624预定块18。
如果一个或多个二次变换Ts的子集610包含多于一个的二次变换Ts,则解码器可以被配置为:取决于针对预定块在数据流12中传输的二次变换指示语法元素,从一个或多个二次变换的子集610中选择预定二次变换Ts。二次变换指示语法元素可以是指向一个或多个二次变换中所选择的子集610的索引。在这种情况下,编码器可以被配置为在数据流12中传输二次变换指示语法元素。
根据实施例,解码器被配置为:如果预定块18的尺寸满足预定标准,则推断预定块18的预测残差的变换版本616经由其而与预定块的预测残差的空间域版本618相关的变换T为主变换Tp。否则,变换T可以是主变换Tp和预定二次变换Ts的级联。解码器使基于矩阵的帧内预测模式的510的第二集合520可用于预定帧内预测模式604的选择602,而无论预定块18的尺寸是否满足预定标准。针对预定块18的尺寸的预定标准可以仅与子集选择608相关而不与帧内模式选择602相关。尽管LFNST(即,子集选择608)不可用,但存在例如对于MIP/ALWIP510可用的块尺寸。对于这种尺寸的块18,不需要在数据流中传输和读取二次变换指示语法元素。例如,如果尺寸低于预定阈值,则满足预定标准。对于小的预定块18,这可能不是有益的,这意味着对于后者的形状,以信号通知是否要对MIP模式下的块应用LFNST的附加信号成本平均高于通过对MIP模式允许LFNST变换而获得的增益。
根据实施例,解码器被配置为读取在数据流12中针对相应的预定块18传输的非零区域指示,非零区域指示用于指示预定块18的预测残差的变换版本616内的非零变换域区域623,如图16所示。所有非零系数都仅仅位于非零变换域区域623中。例如,由编码器在数据流12中传输非零区域指示。解码器/编码器被配置为从数据流12中解码非零变换域区域623内的系数/将非零变换域区域623内的系数编码到数据流12中。LP语法元素可以用作非零区域指示。沿着从DC系数位置到相反(或最高频率)系数位置的扫描路径的最后一个非零系数位置在本文中由LP语法元素指示。LP语法元素可以准用作非零变换域区域623内的非零系数的预期计数的量度。
根据实施例,解码器被配置为:取决于非零变换域区域623的扩展和/或位置满足第一预定标准、和/或非零变换域区域623内的非零系数的数量满足第二预定标准,推断预定块18的预测残差的变换版本616经由其与预定块18的预测残差的空间域版本618相关的变换T为主变换Tp。
例如,第一预定标准使得如果满足以下条件,则同样满足第一预定标准:非零变换域区域623不仅仅覆盖主变换Tp的系数中通过级联应用二次变换Tp的子集622。这是基于二次变换Ts应覆盖主变换Tp的变换系数中的所有非零系数的想法。在非零系数在主变换Tp的系数的子集622之外的情况下,应用预定二次变换可能不是有利的,因此解码器推断变换T为主变换Tp。解码器可以执行子集选择608,并且应用由主变换Tp以及二次变换的子集610中应用到主变换Tp的系数的子集622上的预定二次变换Ts的级联所定义的变换T,以在非零变换域区域623完全位于主变换Tp的系数中通过级联应用二次变换Tp的子集622内的情况下,获得预定块18的预测残差的空间域版本618,参见例如图16。
例如,如果非零变换域区域623内的非零系数的数量低于预定阈值,则满足第二预定标准。这是基于这样的想法:如果非零变换域区域623内的非零系数的数量低于预定阈值,则不需要通过二次变换Ts进一步缩减非零系数的数量。在主变换Tp具有少量非零系数的情况下,另外应用预定二次变换可能不是有利的,因此解码器推断变换T为主变换Tp。在非零系数的数量低于预定阈值的情况下,预定二次变换的附加信令成本将高于通过预定二次变换所实现的增加的编码效率。解码器可以执行子集选择608,并且应用由主变换Tp以及二次变换的子集610中应用到主变换Tp的系数的子集622上的预定二次变换Ts的级联所定义的变换T,以在非零变换域区域623内的非零系数的数量等于或者超过预定阈值的情况下,获得预定块18的预测残差的空间域版本618。
根据实施例,解码器/编码器被配置为从数据流12中导出集合选择语法元素522/将集合选择语法元素522编码到数据流12中,集合选择语法元素522指示是否要使用帧内预测模式的第一集合508中的一个帧内预测模式来预测预定块18,例如关于图12所描述的。如果集合选择语法元素522指示要使用帧内预测模式的第一集合508中的一个帧内预测模式来预测预定块18,则解码器/编码器被配置为基于预测与预定块18相邻的相邻块524、526所使用的帧内预测模式来形成最可能帧内预测模式的列表542,并且从数据流12中导出指向最可能帧内预测模式的列表542中的预定帧内预测模式的MPM列表索引540,或者将指向最可能帧内预测模式的列表542中的预定帧内预测模式的MPM列表索引540以信号通知到数据流12中。如果集合选择语法元素522指示不使用帧内预测模式的第一集合508中的一个帧内预测模式来预测预定块18,则解码器被配置为从数据流中导出另一索引540和/或546,或者编码器被配置为将另一索引540和/或546编码到数据流中,另一索引540和/或546指示基于矩阵的帧内预测模式510的第二集合520中的预定帧内预测模式604。
关于图13描述的解码器和编码器可以包括关于图12描述的其他特征和/或功能。
在预定块18的预定帧内预测模式604是第二集合520中的基于矩阵的帧内预测模式510的情况下,用于对预定块18进行解码的装置(即,根据图13的解码器)和/或用于对预定块18进行编码的装置(即,根据图13的编码器)可以包括以下特征中的一个或多个。
根据实施例,该装置被配置为根据多个参考样本17形成样本值向量(例如,关于图6至图9的实施例之一所描述的样本值向量400),并且从样本值向量中导出向量514,使得样本值向量通过预定可逆线性变换被映射到向量514上。在这种情况下,向量514可以理解为另一向量。例如,如关于图8至图11的实施例之一针对另一向量402所描述的那样确定和/或定义向量514。
根据实施例,该装置被配置为:通过针对样本值向量的每个分量采用多个参考样本中的一个参考样本作为参考样本的相应分量,和/或通过对样本值向量的两个或更多个分量进行平均以获得样本值向量的相应分量,来根据多个参考样本17形成样本值向量。
多个参考样本17例如沿着预定块18的外边缘布置在图片内。
可逆线性变换例如被定义为使得:向量514的(例如,另一向量的)预定分量变为a,并且向量514中除了预定分量之外的其他分量中的每个分量等于样本值向量的对应分量减去a。值a例如是预定值1400。
根据实施例,预定值1400是以下各项之一:样本值向量的分量的平均值(例如,算术均值或加权平均值)、默认值、在图片被编码到其中的数据流中以信号通知的值、样本值向量中与预设分量相对应的分量。
可逆线性变换例如被定义为使得:向量514的(例如,另一向量的)预定分量变为a,并且向量514中除了预定分量之外的其他分量中的每个分量等于样本值向量的对应分量减去a,其中a是样本值向量分量的算术均值。
可逆线性变换例如被定义为使得:向量514的(例如,另一向量的)预定分量变为a,并且向量514中除了预定分量之外的其他分量中的每个分量等于样本值向量的对应分量减去a,其中a是样本值向量中与预定分量相对应的分量。该装置例如被配置为:包括多个可逆线性变换,多个可逆线性变换中的每一个与向量514的一个分量相关联,从样本值向量的分量中选择预定分量,以及使用多个可逆线性变换中与预定分量相关联的可逆线性变换作为预定可逆线性变换。
根据实施例,预测矩阵516的列内与向量514的(例如,另一向量的)预定分量相对应的预测矩阵516的矩阵分量全为零。该装置被配置为通过计算以下二者之间的矩阵向量积512:从预测矩阵516通过去掉列而产生的缩减预测矩阵、以及从向量514通过去掉预定分量而产生的另一向量410,通过执行乘法来计算矩阵向量积512,如图9c所示。
根据实施例,该装置被配置为:在基于预测向量518来预测预定块18的样本时,针对预测向量518的每个分量,计算相应分量与a之和。
通过对预测矩阵516的列内与向量514的(例如,另一向量的)预定分量相对应的预测矩阵516的每个矩阵元素与1求和(即,矩阵C 405与矩阵M 1300之和,如图9a所示,导致图8中的矩阵B),其与可逆线性变换相乘例如与机器学习预测矩阵(即,图8中所示的预测矩阵A 1100)的量化版本相对应。
根据实施例,该装置被配置为使用定点算术运算来计算矩阵向量积512。
根据实施例,该装置被配置为在没有浮点算术运算的情况下计算矩阵向量积512。
根据实施例,该装置被配置为存储预测矩阵516的定点数表示。
根据实施例,该装置被配置为:使用预测参数来表示预测矩阵516,并且通过对向量514(例如,另一向量)的分量和预测参数以及由此产生的中间结果执行乘法和加法来计算所述矩阵向量积512,其中预测参数的绝对值可以由n比特的定点数表示来表示,其中n等于或小于14、或备选地等于或小于10、或备选地等于或小于8。这可以与图10或图11中描述类似地或如图10或图11中描述的那样执行。
预测参数包括例如权重,每个权重与预测矩阵516的相应矩阵分量相关联。
预测参数还包括例如:一个或多个缩放因子,一个或多个缩放因子中的每一个与预测矩阵516中的一个或多个对应矩阵分量相关联,用于对与预测矩阵516的一个或多个对应矩阵分量相关联的权重进行缩放;和/或一个或多个偏移,一个或多个偏移中的每一个与预测矩阵516的一个或多个对应矩阵分量相关联,用于对与预测矩阵516的一个或多个对应矩阵分量相关联的权重进行偏移。
根据实施例,该装置被配置为:在基于预测向量518来预测预定块18的样本时,使用插值以基于预测向量518来计算预定块18的至少一个样本位置,预测向量的每个分量与预定块18内的对应位置相关联。
关于图13描述的解码器和编码器可以包括关于图6至图11的一个或多个实施例描述的其他特征和/或功能。
因此,本发明提供的解决方案是将给定变换集S 612中的变换的一个特定变换集160与每个MIP模式510相关联,给定变换集S 612中的变换的一个特定变换集160最初是针对传统帧内预测模式(即,第一集合508内的帧内预测模式)定义的。这样做的一种特定方式是所有MIP模式510使用LFNST变换,即最初针对平面模式504和DC模式506设计的二次变换。例如,由于可选地将下采样应用于缩减预测信号,因此MIP模式510与平面模式504和DC模式506一样是无方向性的,因此与角度模式500相比,它们的预测残差与DC模式506和平面模式504具有更多的统计相似性。
可能结果是允许LFNST,即允许针对MIP 510使用二次变换,前述方式对于一些块形状在编码效率方面可能是有益的,而对于其他块形状可能不是有益的,这意味着对于后者形状,以信号通知是否要在MIP模式510下将LFNST应用于块18的另外以信号通知的成本平均高于通过允许MIP模式510的LFNST变换而获得的增益。因此,本发明的实施例,LFNST和MIP 510的前述组合仅在这种组合原则上可能的所有那些块形状的子集上被允许。
图17示出了用于使用帧内预测对图片的预定块(18)进行解码的方法6000,包括:基于数据流从多个(600)帧内预测模式中选择(602)预定帧内预测模式(604),多个(600)帧内预测模式包括帧内预测模式的第一集合(508)和基于矩阵的帧内预测模式(510)的第二集合(520),帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500)以及可选的平面帧内预测模式(504),根据基于矩阵的帧内预测模式(510)的第二集合(520)中的每个基于矩阵的帧内预测模式(510),使用以下二者之间的矩阵向量积(512)来获得预测向量(518):从预定块的林宇中的参考样本(17)中导出的向量(514)、以及与相应的基于矩阵的帧内预测模式相关联的预测矩阵(516),基于预测向量(518)来预测预定块的样本。使用预定帧内预测模式导出6100预定块的预测信号(606),并且以取决于预定帧内预测模式的方式从二次变换的集合(612)中选择(608)一个或多个二次变换的子集(610),使得在预定帧内预测模式包含在帧内预测模式的第一集合(508)中且预定帧内预测模式包含在基于矩阵的帧内预测模式(510)的第二集合(520)的情况下,该子集(610)非空。方法6000包括:在预定帧内预测模式包含在帧内预测模式的第一集合(508)中的情况下,并且预定帧内预测模式包含在基于矩阵的帧内预测模式(510)的第二集合(520)的情况下,从数据流中导出(614)预定块(18)的预测残差的变换版本(616),预定块(18)的预测残差的变换版本(616)经由变换(T)与预定块(18)的预测残差的空间域版本(618)相关,变换(T)通过主变换(Tp)和二次变换的子集(610)中应用到主变换的系数(620)的子集(622)上的预定二次变换(Ts)的级联来定义。另外,方法6000包括使用预定块(18)的预测信号和预测残差来重构(624)预定块。
图18示出了用于使用帧内预测对图片的预定块(18)进行编码的方法7000,包括:从多个(600)帧内预测模式中选择(602)预定帧内预测模式(604),多个(600)帧内预测模式包括帧内预测模式的第一集合(508)和基于矩阵的帧内预测模式(510)的第二集合(520),帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500),根据基于矩阵的帧内预测模式(510)的第二集合(520)中的每个基于矩阵的帧内预测模式(510),使用以下二者之间的矩阵向量积(512)来获得预测向量(518):从预定块(18)的邻域中的参考样本(17)中导出的向量(514)、以及与相应的基于矩阵的帧内预测模式(510)相关联的预测矩阵(516),基于预测向量(518)来预测预定块(18)的样本。另外。方法7000包括:在数据流中以信号通知7100预定帧内预测模式(604),使用预定帧内预测模式导出7200预定块(18)的预测信号(606),并且以取决于预定帧内预测模式的方式从二次变换的集合(612)中选择(608)一个或多个二次变换的子集(610),使得在预定帧内预测模式包含在帧内预测模式的第一集合(508)中且预定帧内预测模式包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,该子集(610)非空。方法包括:在预定帧内预测模式包含在帧内预测模式的第一集合(508)中的情况下,并且在预定帧内预测模式包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,将预定块(18)的预测残差的变换版本(616)编码(614)到数据流中,预定块(18)的预测残差的变换版本(616)经由变换(T)与预定块(18)的预测残差的空间域版本(618)相关,变换(T)通过主变换(Tp)和二次变换的子集(610)中应用到主变换的系数(620)的子集(622)上的预定二次变换(Ts)的级联来定义,其中,能够使用预定块(18)的预测信号(606)和预测残差来重构(624)预定块。
参考文献
[1]P.Helle等,“Non-linear weighted intra prediction”,JVET-L0199,中国澳门,2018年10月。
[2]F.Bossen,J.Boyce,K.Suehring,X.Li,V.Seregin,“JVET common testconditions and software reference configurations for SDR video”,JVET-K1010,斯洛文尼亚卢布尔雅那,2018年7月。
其他实施例和示例
通常,示例可以实现为具有程序指令的计算机程序产品,程序指令可操作以在计算机程序产品在计算机上运行时执行方法之一。程序指令了以例如存储在机器可读介质上。
其他示例包括存储在机器可读载体上的计算机程序,该计算机程序用于执行本文所述的方法之一。
换言之,方法示例因此是具有程序指令的计算机程序,该程序指令用于在计算机程序在计算机上运行时执行本文所述的方法之一。
因此,方法的另一示例是其上记录有计算机程序的数据载体介质(或者数字存储介质或计算机可读介质),该计算机程序用于执行本文所述的方法之一。数据载体介质、数字存储介质或记录介质是有形的和/或非暂时性的,而不是无形和暂时性的信号。
因此,方法的另一示例是表示用于执行本文所述方法之一的计算机程序的数据流或信号序列。数据流或信号序列可以例如经由数据通信连接(例如,经由互联网)传送。
另一示例包括处理设备,例如,执行本文所述的方法之一的计算机或可编程逻辑器件。
另一示例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所述的方法之一。
另一示例包括向接收器(例如,以电子方式或以光学方式)传输计算机程序的装置或系统,该计算机程序用于执行本文所述的方法之一。接收器可以是例如计算机、移动设备、存储设备等。装置或系统可以例如包括用于向接收器传送计算机程序的文件服务器。
在一些示例中,可编程逻辑器件(例如,现场可编程门阵列)可以用于执行本文所述的方法的功能中的一些或全部。在一些示例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,这些方法可以由任何适当的硬件装置执行。
上述示例对于以上公开的原理仅是说明性的。应当理解的是,本文所述的布置和细节的修改和变形将是显而易见的。因此,旨在由所附权利要求的范围来限制而不是由借助对本文示例的描述和解释所给出的具体细节来限制。
在以下描述中,通过相同或等同附图标记来表示相同或等同元件或者具有相同或等同功能的元件(即使发生在不同的附图中)。

Claims (76)

1.一种用于使用帧内预测对图片(10)的预定块(18)进行解码的装置(54),所述装置(54)被配置为:
基于数据流(12),从多个(600)帧内预测模式中选择(602)预定帧内预测模式(604),所述多个(600)帧内预测模式包括帧内预测模式的第一集合(508)和基于矩阵的帧内预测模式(510)的第二集合(520),所述帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500),根据基于矩阵的帧内预测模式(510)的第二集合(520)中的每个基于矩阵的帧内预测模式(510),使用以下二者之间的矩阵向量积(512)来获得预测向量(518):从所述预定块(18)的邻域中的参考样本(17)中导出的向量(514)、以及与相应的基于矩阵的帧内预测模式(510)相关联的预测矩阵(516),基于所述预测向量(518)来预测所述预定块(18)的样本,
使用所述预定帧内预测模式(604)导出所述预定块(18)的预测信号(606),
以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择(608)一个或多个二次变换的子集(610),使得在所述预定帧内预测模式(604)包含在帧内预测模式的第一集合(508)中且所述预定帧内预测模式(604)包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,所述子集(610)非空,
在所述预定帧内预测模式(604)包含在帧内预测模式的第一集合(508)中的情况下,并且在所述预定帧内预测模式(604)包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,从所述数据流(12)中导出(614)预定块(18)的预测残差的变换版本(616),所述预定块(18)的预测残差的变换版本(616)经由变换(T)与所述预定块(18)的预测残差的空间域版本(618)相关,所述变换(T)通过主变换(Tp)和二次变换的子集(610)中应用到所述主变换的系数(620)的子集(622)上的预定二次变换(Ts)的级联来定义,
使用所述预定块(18)的预测信号(606)和预测残差来重构(624)所述预定块(18)。
2.根据权利要求1所述的装置(54),被配置为:以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择一个或多个二次变换的子集(610),使得二次变换的集合(612)中的每个二次变换包含在针对所述第一集合(508)和所述第二集合(520)内的帧内预测模式中的至少一个帧内预测模式选择的一个或多个二次变换的子集(610)中。
3.根据权利要求1或2所述的装置(54),被配置为:以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择一个或多个二次变换的子集(610),使得针对任何基于矩阵的帧内预测模式(510)选择的二次变换的每个子集(610)中的每个二次变换由针对所述第一集合(508)内不属于所述角度预测模式(500)的至少一个帧内预测模式选择的二次变换的子集(610)所包含。
4.根据权利要求1至3中任一项所述的装置(54),被配置为:以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择一个或多个二次变换的子集(610),使得针对所述基于矩阵的帧内预测模式(510)选择的二次变换的子集(610)的第一并集(611matrix)与针对所有角度帧内预测模式(500)选择的二次变换的子集(610)的第二并集(611angular)之间的交集为空。
5.根据权利要求1至4中任一项所述的装置(54),被配置为:
如果所述一个或多个二次变换的子集(610)包含多于一个的二次变换,则取决于针对所述预定块(18)在数据流(12)中传输的二次变换指示语法元素,从所述一个或多个二次变换的子集(610)中选择所述预定二次变换(Ts)。
6.根据权利要求1至5中任一项所述的装置(54),被配置为:
如果所述预定块(18)的尺寸满足预定标准,则推断所述预定块(18)的预测残差的变换版本(616)经由其而与所述预定块(18)的预测残差的空间域版本(618)相关的变换为所述主变换,其中,所述装置(54)使基于矩阵的帧内预测模式(510)的第二集合(520)能够用于所述预定帧内预测模式(604)的选择(602),而无论所述预定块(18)的尺寸是否满足所述预定标准。
7.根据权利要求6所述的装置,其中,
如果所述尺寸低于预定阈值,则满足所述预定标准。
8.根据权利要求1至7中任一项所述的装置(54),被配置为:
读取针对相应的预定块(18)在数据流(12)中传输的非零区域指示,所述非零区域指示用于指示所述变换版本(616)内所有非零系数仅仅位于的非零变换域区域(623),并且从所述数据流(12)中解码所述非零变换域区域(623)内的系数,
取决于所述非零变换域区域(623)的扩展和/或位置满足第一预定标准、和/或所述非零变换域区域(623)内的非零系数的数量满足第二预定标准,推断所述预定块(18)的预测残差的变换版本(616)经由其而与所述预定块(18)的预测残差的空间域版本(618)相关的变换为所述主变换。
9.根据权利要求8所述的装置(54),其中,如果满足以下条件,则同样满足所述第一预定标准:
所述非零变换域区域(623)不仅仅覆盖通过所述级联应用所述二次变换的所述主变换的系数(620)的子集(622)。
10.根据权利要求8或9所述的装置(54),其中,如果满足以下条件,则同样满足所述第二预定标准:
所述非零变换域区域(623)内的非零系数的数量低于预定阈值。
11.根据权利要求1至10中任一项所述的装置(54),其中,所述主变换是可分离2D变换,所述二次变换是不可分离2D变换。
12.根据权利要求1至11中任一项所述的装置(54),被配置为:
从所述数据流(12)中导出集合选择语法元素(522),所述集合选择语法元素(522)指示是否要使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),所述帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500),
如果所述集合选择语法元素(522)指示要使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),
则基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成最可能帧内预测模式的列表(528),
从所述数据流(12)中导出MPM列表索引(534),所述MPM列表索引(534)指向所述最可能帧内预测模式的列表(528)中的预定帧内预测模式(604)上,
如果所述集合选择语法元素(522)指示不使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),
则从所述数据流(12)中导出另一索引(540;546),所述另一索引(540;546)指示基于矩阵的帧内预测模式(510)的第二集合(520)中的预定帧内预测模式(604)。
13.根据权利要求12所述的装置(54),被配置为:
如果所述集合选择语法元素(522)指示要使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),
则从所述数据流(12)中导出MPM语法元素(532),所述MPM语法元素(532)指示所述帧内预测模式的第一集合(508)中的预定帧内预测模式(604)是否在所述最可能帧内预测模式的列表(528)内,
如果所述MPM语法元素(532)指示所述帧内预测模式的第一集合(508)中的预定帧内预测模式(604)在所述最可能帧内预测模式的列表(528)内,则执行:
基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528);
从所述数据流(12)中导出所述MPM列表索引(534),所述MPM列表索引(534)指向所述最可能帧内预测模式的列表(528)中的预定帧内预测模式(604),
如果来自所述数据流(12)的MPM语法元素(532)指示所述帧内预测模式的第一集合(508)中的预定帧内预测模式(604)不在所述最可能帧内预测模式的列表(528)内,
则从所述数据流(12)中导出另一列表索引(536),所述另一列表索引(536)指示所述帧内预测模式的第一集合(508)中的预定帧内预测模式(604)。
14.根据权利要求1或13所述的装置(54),被配置为:
如果所述集合选择语法元素(522)指示不使用所述帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),
则从所述数据流(12)中导出另一MPM语法元素(538),所述另一MPM语法元素(538)指示所述帧内预测模式的第二集合(520)中的预定的基于矩阵的帧内预测模式(510)是否在最可能的基于矩阵的帧内预测模式(510)的列表(542)内,
如果所述另一MPM语法元素(538)指示所述帧内预测模式的第二集合(520)中的预定的基于矩阵的帧内预测模式(510)在所述最可能的基于矩阵的帧内预测模式(510)的列表(542)内,
则基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能的基于矩阵的帧内预测模式(510)的列表(542),
从所述数据流(12)中导出另一MPM列表索引(540),所述另一MPM列表索引(540)指向所述最可能的基于矩阵的帧内预测模式(510)的列表(542)中的所述预定的基于矩阵的帧内预测模式(510)上,
如果所述另一MPM语法元素(538)指示所述帧内预测模式的第二集合(520)中的预定的基于矩阵的帧内预测模式(510)不在所述最可能的基于矩阵的帧内预测模式(510)的列表(542)内,
则从所述数据流(12)中导出又一列表索引(546),所述又一列表索引(546)指示所述基于矩阵的帧内预测模式(510)的第二集合(520)中的预定的基于矩阵的帧内预测模式(510)。
15.根据权利要求13或14所述的装置(54),被配置为基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528),使得:
仅在以下情况下用DC帧内预测模式(506)填充所述列表(528):对于所述相邻块中的每一个,使用包括DC帧内预测模式(506)的第一集合(508)内的至少一个非角度帧内预测模式(504、506)中的任一个来预测相应的相邻块、或者使用基于矩阵的帧内预测模式(510)中的任一个来预测相应的相邻块,通过从基于矩阵的帧内预测模式(510)的第二集合(520)到用于形成所述最可能帧内预测模式的列表(528)的所述第一集合(508)内的帧内预测模式上的映射,所述基于矩阵的帧内预测模式(510)中的任一个被映射到所述至少一个非角度帧内预测模式中的任一个上。
16.根据权利要求13至15中任一项所述的装置(54),被配置为基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528),使得对于所述相邻块中的每一个,在以下情况下:使用包括DC帧内预测模式(506)的第一集合(508)内的至少一个非角度帧内预测模式(504、506)中的任一个来预测相应的相邻块、或者使用基于矩阵的帧内预测模式(510)中的任一个来预测相应的相邻块,通过从基于矩阵的帧内预测模式(510)的第二集合(520)到用于形成所述最可能帧内预测模式的列表(528)的所述第一集合(508)内的帧内预测模式上的映射,所述基于矩阵的帧内预测模式(510)中的任一个被映射到所述至少一个非角度帧内预测模式中的任一个上;
所述DC帧内预测模式(506)在所述最可能帧内预测模式的列表(528)中位于任何角度帧内预测模式(500)之前。
17.根据权利要求1至16中任一项所述的装置(54),其中,所述帧内预测模式的第一集合(508)还包括平面帧内预测模式(504)。
18.根据权利要求13或14所述的装置(54),被配置为基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528),使得:
以独立于预测所述相邻块所使用的帧内预测模式的方式,用所述平面帧内预测模式(504)填充所述列表(528)。
19.根据权利要求18所述的装置(54),被配置为基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528),使得:
独立于预测所述相邻块所使用的帧内预测模式,所述平面帧内预测模式(504)位于所述最可能帧内预测模式的列表(528)的第一位置处。
20.根据权利要求1至19中任一项所述的装置(54),被配置为:
根据所述多个参考样本(17)形成样本值向量(400),
从所述样本值向量(400)中导出所述向量(514),使得所述样本值向量(400)通过预定可逆线性变换(403)映射到所述向量(514)上。
21.根据权利要求20所述的装置(54),其中,所述可逆线性变换(403)被定义为使得:
所述向量(514、402)的预定分量(1500)变为a,以及
所述向量(514、402)中除了所述预定分量(1500)之外的其他分量中的每个分量等于所述样本值向量(400)的对应分量减去a,
其中,a是预定值(1400)。
22.根据权利要求21所述的装置(54),其中,所述预定值(1400)是以下之一:
所述样本值向量(400)的分量的平均值,例如算术均值或加权平均值,
默认值,
在所述图片(10)编码到其中的数据流(12)中以信号通知的值,以及
所述样本值向量(400)中与所述预定分量(1500)相对应的分量。
23.根据权利要求20所述的装置(54),其中,所述可逆线性变换(403)被定义为使得:
所述向量(514、402)的预定分量(1500)变为a,以及
所述向量(514、402)中除了所述预定分量(1500)之外的其他分量中的每个分量等于所述样本值向量(400)的对应分量减去a,
其中,a是所述样本值向量(400)的分量的算术均值。
24.根据权利要求20所述的装置(54),其中,所述可逆线性变换(403)被定义为使得:
所述向量(514、402)的预定分量(1500)变为a,以及
所述向量(514、402)中除了所述预定分量(1500)之外的其他分量中的每个分量等于所述样本值向量(400)的对应分量减去a,
其中,a是样本值向量(400)中与所述预定分量(1500)相对应的分量,
其中,所述装置(54)被配置为:
包括多个可逆线性变换(403),所述多个可逆线性变换(403)中的每一个与所述向量(514、402)的一个分量相关联,
从所述样本值向量(400)的分量中选择所述预定分量(1500),以及
将所述多个可逆线性变换(403)中与所述预定分量(1500)相关联的可逆线性变换(403)用作所述预定可逆线性变换(403)。
25.根据权利要求21至24中任一项所述的装置(54),其中,预测矩阵(516)的列(412)内与所述向量(514、402)的预定分量(1500)相对应的预测矩阵(516)的矩阵分量全为零,并且所述装置(54)被配置为:
通过计算以下二者之间的矩阵向量积(407):所述预测矩阵(516)通过去掉所述列(412)而产生的缩减预测矩阵(405)、以及所述向量(514、402)通过去掉所述预定分量(1500)而产生的另一向量(410),通过执行乘法来计算矩阵向量积(512)。
26.根据权利要求21至25中任一项所述的装置(54),被配置为:在基于所述预测向量(518)来预测所述预定块(18)的样本时,
针对所述预测向量(518)的每个分量,计算相应分量与a之和。
27.根据权利要求21至26中任一项所述的装置(54),其中,对所述预测矩阵(516)的列(412)内与所述向量(514、402)的预定分量(1500)相对应的预测矩阵(516)的每个矩阵分量与1进行求和以产生一矩阵,所述矩阵与所述可逆线性变换(403)相乘与机器学习预测矩阵(1100)的量化版本相对应。
28.根据权利要求20至27中任一项所述的装置(54),被配置为:
对于所述样本值向量(400)的每个分量,通过以下操作根据所述多个参考样本(17)形成(100)所述样本值向量(400):
采用所述多个参考样本(17)中的一个参考样本作为所述样本值向量(400)的相应分量,和/或
对所述样本值向量(400)的两个或更多个分量进行平均,以获得所述样本值向量(400)的相应分量。
29.根据权利要求1至28中任一项所述的装置(54),其中,所述多个参考样本(17)沿着所述预定块(18)的外边缘布置在所述图片(10)内。
30.根据权利要求1至29中任一项所述的装置(54),被配置为使用定点算术运算来计算所述矩阵向量积(512)。
31.根据权利要求1至30中任一项所述的装置(54),被配置为在不进行浮点算术运算的情况下计算所述矩阵向量积(512)。
32.根据权利要求1至31中任一项所述的装置(54),被配置为存储所述预测矩阵(516)的定点数表示。
33.根据权利要求21至32中任一项所述的装置(54),被配置为:使用预测参数来表示所述预测矩阵(516),并且通过对所述向量(514、402)的分量和所述预测参数以及由此产生的中间结果执行乘法和加法来计算所述矩阵向量积(512),其中,所述预测参数的绝对值能够由n比特的定点数表示来表示,其中n等于或小于14、或者等于或小于10、或者等于或小于8。
34.根据权利要求33所述的装置(54),其中,所述预测参数包括:
权重,所述权重中的每一个与所述预测矩阵(516)的对应矩阵分量相关联。
35.根据权利要求34所述的装置(54),其中,所述预测参数还包括:
一个或多个缩放因子,所述一个或多个缩放因子中的每一个与所述预测矩阵(516)的一个或多个对应矩阵分量相关联,用于对与所述预测矩阵(516)的一个或多个对应矩阵分量相关联的权重进行缩放,和/或
一个或多个偏移,所述一个或多个偏移中的每一个与所述预测矩阵(516)的一个或多个对应矩阵分量相关联,用于对与所述预测矩阵(516)的一个或多个对应矩阵分量相关联的权重进行偏移。
36.根据权利要求1至35中任一项所述的装置(54),被配置为:在基于所述预测向量(518)来预测所述预定块(18)的样本时,
基于所述预测向量(518)使用插值来计算所述预定块(18)的至少一个样本位置,所述预测向量(518)的每个分量与所述预定块(18)内的对应位置相关联。
37.一种用于使用帧内预测对图片(10)的预定块(18)进行编码的装置(14),所述装置(14)被配置为:
从多个(600)帧内预测模式中选择(602)预定帧内预测模式(604),所述多个(600)帧内预测模式包括帧内预测模式的第一集合(508)和基于矩阵的帧内预测模式(510)的第二集合(520),所述帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500),根据基于矩阵的帧内预测模式(510)的第二集合(520)中的每个基于矩阵的帧内预测模式(510),使用以下二者之间的矩阵向量积(512)来获得预测向量(518):从所述预定块(18)的邻域中的参考样本(17)中导出的向量(514)、以及与相应的基于矩阵的帧内预测模式(510)相关联的预测矩阵(516),基于所述预测向量(518)来预测所述预定块(18)的样本,
在数据流(12)中以信号通知所述预定帧内预测模式(604);
使用所述预定帧内预测模式(604)导出所述预定块(18)的预测信号(606),
以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择(608)一个或多个二次变换的子集(610),使得在所述预定帧内预测模式(604)包含在帧内预测模式的第一集合(508)中且所述预定帧内预测模式(604)包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,所述子集(610)非空,
在所述预定帧内预测模式(604)包含在帧内预测模式的第一集合(508)中的情况下,并且在所述预定帧内预测模式(604)包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,将所述预定块(18)的预测残差的变换版本(616)编码(614)到所述数据流(12)中,所述预定块(18)的预测残差的变换版本(616)经由变换(T)与预定块(18)的预测残差的空间域版本(618)相关,所述变换(T)通过主变换(Tp)和二次变换的子集(610)中应用到所述主变换的系数(620)的子集(622)上的预定二次变换(Ts)的级联来定义,
其中,能够使用所述预定块(18)的预测信号(606)和预测残差来重构(624)所述预定块(18)。
38.根据权利要求37所述的装置(14),被配置为:以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择一个或多个二次变换的子集(610),使得二次变换的集合(612)中的每个二次变换包含在针对所述第一集合(508)和所述第二集合(520)内的帧内预测模式中的至少一个帧内预测模式选择的一个或多个二次变换的子集(610)中。
39.根据权利要求37或38所述的装置(14),被配置为:以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择一个或多个二次变换的子集(610),使得针对任何基于矩阵的帧内预测模式(510)选择的二次变换的每个子集(610)中的每个二次变换由针对所述第一集合(508)内不属于所述角度预测模式(500)的至少一个帧内预测模式选择的二次变换的子集(610)所包含。
40.根据权利要求37至39中任一项所述的装置(14),被配置为:以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择一个或多个二次变换的子集(610),使得针对所述基于矩阵的帧内预测模式(510)选择的二次变换的子集(610)的第一并集(611matrix)与针对所有角度帧内预测模式(500)选择的二次变换的子集(610)的第二并集(611angular)之间的交集为空。
41.根据权利要求37至40中任一项所述的装置(14),被配置为:
如果所述一个或多个二次变换的子集(610)包含多于一个的二次变换,则取决于针对所述预定块(18)在数据流(12)中传输的二次变换指示语法元素,从所述一个或多个二次变换的子集(610)中选择所述预定二次变换(Ts)。
42.根据权利要求37至41中任一项所述的装置(14),被配置为使得:
如果所述预定块(18)的尺寸满足预定标准,则推断所述预定块(18)的预测残差的变换版本(616)经由其而与所述预定块(18)的预测残差的空间域版本(618)相关的变换为所述主变换,其中,所述装置(14)使基于矩阵的帧内预测模式(510)的第二集合(520)能够用于所述预定帧内预测模式(604)的选择(602),而无论所述预定块(18)的尺寸是否满足所述预定标准。
43.根据权利要求42所述的装置(14),其中,
如果所述尺寸低于预定阈值,则满足所述预定标准。
44.根据权利要求37至43中任一项所述的装置(14),被配置为:
针对相应的预定块(18),在所述数据流(12)中传输非零区域指示,所述非零区域指示用于指示所述变换版本(616)内所有非零系数仅仅位于的非零变换域区域(623),并且将所述非零变换域区域(623)内的系数编码到所述数据流(12)中,
其中,取决于所述非零变换域区域(623)的扩展和/或位置满足第一预定标准、和/或所述非零变换域区域(623)内的非零系数的数量满足第二预定标准,推断所述预定块(18)的预测残差的变换版本(616)经由其而与所述预定块(18)的预测残差的空间域版本(618)相关的变换为所述主变换。
45.根据权利要求44所述的装置(14),其中,如果满足以下条件,则同样满足所述第一预定标准:
所述非零变换域区域(623)不仅仅覆盖通过所述级联应用所述二次变换的所述主变换的系数(620)的子集(622)。
46.根据权利要求44或45所述的装置(14),其中,如果满足以下条件,则同样满足所述第二预定标准:
所述非零变换域区域(623)内的非零系数的数量低于预定阈值。
47.根据权利要求37至46中任一项所述的装置(14),其中,所述主变换是可分离2D变换,所述二次变换是不可分离2D变换。
48.根据权利要求37至47中任一项所述的装置(14),被配置为:
在所述数据流(12)中以信号通知集合选择语法元素(522),所述集合选择语法元素(522)指示是否要使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),所述帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500),
如果所述集合选择语法元素(522)指示要使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),
则基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成最可能帧内预测模式的列表(528),
在所述数据流(12)中以信号通知MPM列表索引(534),所述MPM列表索引(534)指向所述最可能帧内预测模式的列表(528)中的预定帧内预测模式(604)上,
如果所述集合选择语法元素(522)指示不使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),
则在所述数据流(12)中以信号通知另一索引(540;546),所述另一索引(540;546)指示基于矩阵的帧内预测模式(510)的第二集合(520)中的预定帧内预测模式(604)。
49.根据权利要求48所述的装置(14),被配置为:
如果所述集合选择语法元素(522)指示要使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),
则在所述数据流(12)中以信号通知MPM语法元素(532),所述MPM语法元素(532)指示所述帧内预测模式的第一集合(508)中的预定帧内预测模式(604)是否在所述最可能帧内预测模式的列表(528)内,
如果所述MPM语法元素(532)指示所述帧内预测模式的第一集合(508)中的预定帧内预测模式(604)在所述最可能帧内预测模式的列表(528)内,则执行:
基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528);
在所述数据流(12)中以信号通知所述MPM列表索引(534),所述MPM列表索引(534)指向所述最可能帧内预测模式的列表(528)中的预定帧内预测模式(604),
如果来自所述数据流(12)的MPM语法元素(532)指示所述帧内预测模式的第一集合(508)的预定帧内预测模式(604)不在所述最可能帧内预测模式的列表(528)内,
则在所述数据流(12)中以信号通知另一列表索引(536),所述另一列表索引(536)指示帧内预测模式的第一集合(508)中的预定帧内预测模式(604)。
50.根据权利要求37或49所述的装置(14),被配置为:
如果所述集合选择语法元素(522)指示不使用帧内预测模式的第一集合(508)中的一个帧内预测模式来预测所述预定块(18),
则在所述数据流(12)中以信号通知另一MPM语法元素(538),所述另一MPM语法元素(538)指示所述帧内预测模式的第二集合(520)中的预定的基于矩阵的帧内预测模式(510)是否在最可能的基于矩阵的帧内预测模式(510)的列表(542)内,
如果所述另一MPM语法元素(538)指示所述帧内预测模式的第二集合(520)的预定的基于矩阵的帧内预测模式(510)在所述最可能的基于矩阵的帧内预测模式(510)的列表(542)内,
则基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能的基于矩阵的帧内预测模式(510)的列表(542),
在所述数据流(12)中以信号通知另一MPM列表索引(540),所述另一MPM列表索引(540)指向所述最可能的基于矩阵的帧内预测模式(510)的列表(542)中的所述预定的基于矩阵的帧内预测模式(510)上,
如果所述另一MPM语法元素(538)指示所述帧内预测模式的第二集合(520)的预定的基于矩阵的帧内预测模式(510)不在所述最可能的基于矩阵的帧内预测模式(510)的列表(542)内,
则在所述数据流(12)中以信号通知又一列表索引(546),所述又一列表索引(546)指示所述基于矩阵的帧内预测模式(510)的第二集合(520)中的预定的基于矩阵的帧内预测模式(510)。
51.根据权利要求49或50所述的装置(14),被配置为基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528),使得:
仅在以下情况下用DC帧内预测模式(506)填充所述列表(528):对于所述相邻块中的每一个,使用包括DC帧内预测模式(506)的第一集合(508)内的至少一个非角度帧内预测模式(504、506)中的任一个来预测相应的相邻块、或者使用基于矩阵的帧内预测模式(510)中的任一个来预测相应的相邻块,通过从基于矩阵的帧内预测模式(510)的第二集合(520)到用于形成所述最可能帧内预测模式的列表(528)的所述第一集合(508)内的帧内预测模式上的映射,所述基于矩阵的帧内预测模式(510)中的任一个被映射到所述至少一个非角度帧内预测模式中的任一个上。
52.根据权利要求49至51中任一项所述的装置(14),被配置为基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528),使得对于所述相邻块中的每一个,在以下情况下:使用包括DC帧内预测模式(506)的第一集合(508)内的至少一个非角度帧内预测模式(504、506)中的任一个来预测相应的相邻块、或者使用基于矩阵的帧内预测模式(510)中的任一个来预测相应的相邻块,通过从基于矩阵的帧内预测模式(510)的第二集合(520)到用于形成所述最可能帧内预测模式的列表(528)的所述第一集合(508)内的帧内预测模式上的映射,所述基于矩阵的帧内预测模式(510)中的任一个被映射到所述至少一个非角度帧内预测模式中的任一个上;
所述DC帧内预测模式(506)在所述最可能帧内预测模式的列表(528)中位于任何角度帧内预测模式(500)之前。
53.根据权利要求37至52中任一项所述的装置(14),其中,所述帧内预测模式的第一集合(508)还包括平面帧内预测模式(504)。
54.根据权利要求49或50所述的装置(14),被配置为基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528),使得:
以独立于预测所述相邻块所使用的帧内预测模式的方式,用所述平面帧内预测模式(504)填充所述列表(528)。
55.根据权利要求54所述的装置(14),被配置为基于预测与所述预定块(18)相邻的相邻块(524、526)所使用的帧内预测模式来形成所述最可能帧内预测模式的列表(528),使得:
独立于预测所述相邻块所使用的帧内预测模式,所述平面帧内预测模式(504)位于所述最可能帧内预测模式的列表(528)的第一位置处。
56.根据权利要求37至55中任一项所述的装置(14),被配置为:
根据所述多个参考样本(17)形成样本值向量(400),
从所述样本值向量(400)中导出所述向量(514),使得所述样本值向量(400)通过预定可逆线性变换(403)映射到所述向量(514)上。
57.根据权利要求56所述的装置(14),其中,所述可逆线性变换(403)被定义为使得:
所述向量(514、402)的预定分量(1500)变为a,以及
所述向量(514、402)中除了所述预定分量(1500)之外的其他分量中的每个分量等于所述样本值向量(400)的对应分量减去a,
其中,a是预定值(1400)。
58.根据权利要求57所述的装置(14),其中,所述预定值(1400)是以下之一:
所述样本值向量(400)的分量的平均值,例如算术均值或加权平均值,
默认值,
在所述图片(10)编码到其中的数据流(12)中以信号通知的值,以及
所述样本值向量(400)中与所述预定分量(1500)相对应的分量。
59.根据权利要求56所述的装置(14),其中,所述可逆线性变换(403)被定义为使得:
所述向量(514、402)的预定分量(1500)变为a,以及
所述向量(514、402)中除了所述预定分量(1500)之外的其他分量中的每个分量等于所述样本值向量(400)的对应分量减去a,
其中,a是所述样本值向量(400)的分量的算术均值。
60.根据权利要求56所述的装置(14),其中,所述可逆线性变换(403)被定义为使得:
所述向量(514、402)的预定分量(1500)变为a,以及
所述向量(514、402)中除了所述预定分量(1500)之外的其他分量中的每个分量等于所述样本值向量(400)的对应分量减去a,
其中,a是样本值向量(400)中与所述预定分量(1500)相对应的分量,
其中,所述装置(14)被配置为:
包括多个可逆线性变换(403),所述多个可逆线性变换(403)中的每一个与所述向量(514、402)的一个分量相关联,
从所述样本值向量(400)的分量中选择所述预定分量(1500),以及
将所述多个可逆线性变换(403)中与所述预定分量(1500)相关联的可逆线性变换(403)用作所述预定可逆线性变换(403)。
61.根据权利要求57至60中任一项所述的装置(14),其中,预测矩阵(516)的列(412)内与所述向量(514、402)的预定分量(1500)相对应的预测矩阵(516)的矩阵分量全为零,并且所述装置(14)被配置为:
通过计算以下二者之间的矩阵向量积(407):所述预测矩阵(516)通过去掉所述列(412)而产生的缩减预测矩阵(405)、以及所述向量(514、402)通过去掉所述预定分量(1500)而产生的另一向量(410),通过执行乘法来计算矩阵向量积(512)。
62.根据权利要求57至61中任一项所述的装置(14),被配置为:在基于所述预测向量(518)来预测所述预定块(18)的样本时,
针对所述预测向量(518)的每个分量,计算相应分量与a之和。
63.根据权利要求57至62中任一项所述的装置(14),其中,对所述预测矩阵(516)的列(412)内与所述向量(514、402)的预定分量(1500)相对应的预测矩阵(516)的每个矩阵分量与1进行求和以产生一矩阵,所述矩阵与所述可逆线性变换(403)相乘与机器学习预测矩阵(1100)的量化版本相对应。
64.根据权利要求56至63中任一项所述的装置(14),被配置为:
对于所述样本值向量(400)的每个分量,通过以下操作根据所述多个参考样本(17)形成(100)所述样本值向量(400):
采用所述多个参考样本(17)中的一个参考样本作为所述样本值向量(400)的相应分量,和/或
对所述样本值向量(400)的两个或更多个分量进行平均,以获得所述样本值向量(400)的相应分量。
65.根据权利要求37至64中任一项所述的装置(14),其中,所述多个参考样本(17)沿着所述预定块(18)的外边缘布置在所述图片(10)内。
66.根据权利要求37至65中任一项所述的装置(14),被配置为使用定点算术运算来计算所述矩阵向量积(512)。
67.根据权利要求37至66中任一项所述的装置(14),被配置为在不进行浮点算术运算的情况下计算所述矩阵向量积(512)。
68.根据权利要求37至67中任一项所述的装置(14),被配置为存储所述预测矩阵(516)的定点数表示。
69.根据权利要求57至68中任一项所述的装置(14),被配置为:使用预测参数来表示所述预测矩阵(516),并且通过对所述向量(514、402)的分量和所述预测参数以及由此产生的中间结果执行乘法和加法来计算所述矩阵向量积(512),其中,所述预测参数的绝对值能够由n比特的定点数表示来表示,其中n等于或小于14、或者等于或小于10、或者等于或小于8。
70.根据权利要求69所述的装置(14),其中,所述预测参数包括:
权重,所述权重中的每一个与所述预测矩阵(516)的对应矩阵分量相关联。
71.根据权利要求70所述的装置(14),其中,所述预测参数还包括:
一个或多个缩放因子,所述一个或多个缩放因子中的每一个与所述预测矩阵(516)的一个或多个对应矩阵分量相关联,用于对与所述预测矩阵(516)的一个或多个对应矩阵分量相关联的权重进行缩放,和/或
一个或多个偏移,所述一个或多个偏移中的每一个与所述预测矩阵(516)的一个或多个对应矩阵分量相关联,用于对与所述预测矩阵(516)的一个或多个对应矩阵分量相关联的权重进行偏移。
72.根据权利要求37至71中任一项所述的装置(14),被配置为:在基于所述预测向量(518)来预测所述预定块(18)的样本时,
基于所述预测向量(518)使用插值来计算所述预定块(18)的至少一个样本位置,所述预测向量(518)的每个分量与所述预定块(18)内的对应位置相关联。
73.一种用于使用帧内预测对图片(10)的预定块(18)进行解码的方法(6000),包括:
基于数据流(12),从多个(600)帧内预测模式中选择(602)预定帧内预测模式(604),所述多个(600)帧内预测模式包括帧内预测模式的第一集合(508)和基于矩阵的帧内预测模式(510)的第二集合(520),所述帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500),根据基于矩阵的帧内预测模式(510)的第二集合(520)中的每个基于矩阵的帧内预测模式(510),使用以下二者之间的矩阵向量积(512)来获得预测向量(518):从所述预定块(18)的邻域中的参考样本(17)中导出的向量(514)、以及与相应的基于矩阵的帧内预测模式(510)相关联的预测矩阵(516),基于所述预测向量(518)来预测所述预定块(18)的样本,
使用所述预定帧内预测模式(604)导出所述预定块(18)的预测信号(606),
以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择(608)一个或多个二次变换的子集(610),使得在所述预定帧内预测模式(604)包含在帧内预测模式的第一集合(508)中且所述预定帧内预测模式(604)包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,所述子集(610)非空,
在所述预定帧内预测模式(604)包含在帧内预测模式的第一集合(508)中的情况下,并且在所述预定帧内预测模式(604)包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,从所述数据流(12)中导出(614)预定块(18)的预测残差的变换版本(616),所述预定块(18)的预测残差的变换版本(616)经由变换(T)与所述预定块(18)的预测残差的空间域版本(618)相关,所述变换(T)通过主变换(Tp)和二次变换的子集(610)中应用到所述主变换的系数(620)的子集(622)上的预定二次变换(Ts)的级联来定义,
使用所述预定块(18)的预测信号(606)和预测残差来重构(624)所述预定块(18)。
74.一种用于使用帧内预测对图片(10)的预定块(18)进行编码的方法(7000),包括:
从多个(600)帧内预测模式中选择(602)预定帧内预测模式(604),所述多个(600)帧内预测模式包括帧内预测模式的第一集合(508)和基于矩阵的帧内预测模式(510)的第二集合(520),所述帧内预测模式的第一集合(508)包括DC帧内预测模式(506)和角度预测模式(500),根据基于矩阵的帧内预测模式(510)的第二集合(520)中的每个基于矩阵的帧内预测模式(510),使用以下二者之间的矩阵向量积(512)来获得预测向量(518):从所述预定块(18)的邻域中的参考样本(17)中导出的向量(514)、以及与相应的基于矩阵的帧内预测模式(510)相关联的预测矩阵(516),基于所述预测向量(518)来预测所述预定块(18)的样本,
在数据流(12)中以信号通知所述预定帧内预测模式(604);
使用所述预定帧内预测模式(604)导出所述预定块(18)的预测信号(606),
以取决于所述预定帧内预测模式(604)的方式从二次变换的集合(612)中选择(608)一个或多个二次变换的子集(610),使得在所述预定帧内预测模式(604)包含在帧内预测模式的第一集合(508)中且所述预定帧内预测模式(604)包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,所述子集(610)非空,
在所述预定帧内预测模式(604)包含在帧内预测模式的第一集合(508)中的情况下,并且在所述预定帧内预测模式(604)包含在基于矩阵的帧内预测模式(510)的第二集合(520)中的情况下,将所述预定块(18)的预测残差的变换版本(616)编码(614)到所述数据流(12)中,所述预定块(18)的预测残差的变换版本(616)经由变换(T)与预定块(18)的预测残差的空间域版本(618)相关,所述变换(T)通过主变换(Tp)和二次变换的子集(610)中应用到所述主变换的系数(620)的子集(622)上的预定二次变换(Ts)的级联来定义,
其中,能够使用所述预定块(18)的预测信号(606)和预测残差来重构(624)所述预定块(18)。
75.一种具有使用根据权利要求74所述的方法(7000)将图片(10)编码到其中的数据流(12)。
76.一种具有程序代码的计算机程序,所述程序代码用于当在计算机上运行时执行权利要求37或74中任一项所述的方法。
CN202080049521.XA 2019-06-25 2020-06-23 使用基于矩阵的帧内预测和二次变换进行编码 Pending CN114073081A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19182423 2019-06-25
EP19182423.4 2019-06-25
PCT/EP2020/067446 WO2020260248A1 (en) 2019-06-25 2020-06-23 Coding using matrix based intra-prediction and secondary transforms

Publications (1)

Publication Number Publication Date
CN114073081A true CN114073081A (zh) 2022-02-18

Family

ID=67070686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080049521.XA Pending CN114073081A (zh) 2019-06-25 2020-06-23 使用基于矩阵的帧内预测和二次变换进行编码

Country Status (9)

Country Link
US (1) US20220116606A1 (zh)
EP (1) EP3991406A1 (zh)
JP (1) JP7477538B2 (zh)
KR (1) KR20220036935A (zh)
CN (1) CN114073081A (zh)
BR (1) BR112021026284A2 (zh)
MX (1) MX2022000034A (zh)
TW (2) TW202402050A (zh)
WO (1) WO2020260248A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023197181A1 (zh) * 2022-04-12 2023-10-19 Oppo广东移动通信有限公司 解码方法、编码方法、解码器以及编码器
WO2024083238A1 (en) * 2022-10-21 2024-04-25 Mediatek Inc. Method and apparatus of matrix weighted intra prediction in video coding system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021013521A (es) * 2019-05-10 2022-01-24 Fraunhofer Ges Forschung Prediccion basada en bloques.
EP3973700A4 (en) * 2019-06-28 2023-06-14 HFI Innovation Inc. MATRIX METHOD AND APPARATUS BASED ON INTRA PREDICTION IN IMAGE AND VIDEO PROCESSING
CN117640934A (zh) * 2019-07-12 2024-03-01 Lg电子株式会社 图像编码方法、图像解码方法以及发送方法
KR20220038127A (ko) * 2019-08-22 2022-03-25 엘지전자 주식회사 매트릭스 기반 인트라 예측 장치 및 방법
US11616983B2 (en) * 2020-05-05 2023-03-28 Tencent America LLC Joint component secondary transform
US11310529B2 (en) * 2020-05-27 2022-04-19 Tencent America LLC Mode-dependent joint component transform
WO2023177810A1 (en) * 2022-03-16 2023-09-21 Beijing Dajia Internet Information Technology Co., Ltd. Intra prediction for video coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020109884A (ja) * 2017-04-28 2020-07-16 シャープ株式会社 動画像符号化装置及び動画像復号装置
MX2021012405A (es) 2019-04-17 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y metodos de armonizacion de intraprediccion basada en matriz correspondiente y seleccion de nucleo de transformada secundaria.
WO2020226424A1 (ko) 2019-05-08 2020-11-12 엘지전자 주식회사 Mip 및 lfnst를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023197181A1 (zh) * 2022-04-12 2023-10-19 Oppo广东移动通信有限公司 解码方法、编码方法、解码器以及编码器
WO2024083238A1 (en) * 2022-10-21 2024-04-25 Mediatek Inc. Method and apparatus of matrix weighted intra prediction in video coding system

Also Published As

Publication number Publication date
BR112021026284A2 (pt) 2022-03-03
EP3991406A1 (en) 2022-05-04
JP2022538853A (ja) 2022-09-06
JP7477538B2 (ja) 2024-05-01
US20220116606A1 (en) 2022-04-14
TWI800739B (zh) 2023-05-01
WO2020260248A1 (en) 2020-12-30
KR20220036935A (ko) 2022-03-23
MX2022000034A (es) 2022-04-06
TW202402050A (zh) 2024-01-01
TW202106003A (zh) 2021-02-01

Similar Documents

Publication Publication Date Title
CN114073081A (zh) 使用基于矩阵的帧内预测和二次变换进行编码
TWI755665B (zh) 使用具有鄰近取樣縮減的線性或仿射變換的內預測
TWI771679B (zh) 以區塊為基礎之預測技術
CN117041559A (zh) 对视频进行解码或编码的方法和存储视频数据的设备
JP7455869B2 (ja) イントラ予測を用いた符号化
CN116614643A (zh) 用于解码视频的方法和用于编码视频的方法
CN114128294A (zh) 用于视频数据的帧内预测编码的方法和装置
CN115516854A (zh) 在4:4:4色度格式和单树的情况下针对所有通道的mip
JP2024095831A (ja) 行列ベースのイントラ予測および二次変換を使用したコーディング
TW202423121A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40067841

Country of ref document: HK