CN111492658A - 使用有效多个变换进行视频压缩的方法和装置 - Google Patents

使用有效多个变换进行视频压缩的方法和装置 Download PDF

Info

Publication number
CN111492658A
CN111492658A CN201880080942.1A CN201880080942A CN111492658A CN 111492658 A CN111492658 A CN 111492658A CN 201880080942 A CN201880080942 A CN 201880080942A CN 111492658 A CN111492658 A CN 111492658A
Authority
CN
China
Prior art keywords
transform
transforms
current block
lowest frequency
horizontal
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
CN201880080942.1A
Other languages
English (en)
Inventor
F.莱林内克
F.加尔平
K.纳泽
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.)
InterDigital VC Holdings Inc
Original Assignee
InterDigital VC Holdings Inc
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
Priority claimed from EP17306894.1A external-priority patent/EP3503549A1/en
Application filed by InterDigital VC Holdings Inc filed Critical InterDigital VC Holdings Inc
Publication of CN111492658A publication Critical patent/CN111492658A/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/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/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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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
    • 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/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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本实施例涉及一种使用多重变换对视频进行有效编码和解码的方法和装置。例如,可以从变换集中选择水平变换或垂直变换,以对编码的视频图片的当前块的预测残差进行变换。在一个示例中,该变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换。在一个实施例中,具有恒定最低频率基函数的变换是DCT‑II,具有递增最低频率基函数的变换是DST‑VII(和DST‑IV),并且具有递减最低频率基函数的变换是DCT‑VIII。在解码器侧,选择相应的逆变换。

Description

使用有效多个变换进行视频压缩的方法和装置
技术领域
本实施例一般涉及一种用于视频编码和解码的方法和装置,并且更具体地,涉及一种用于使用多个变换来对视频进行有效地编码和解码的方法和装置。
背景技术
为了实现高压缩效率,图像和视频编码方案通常采用预测和变换编码来均衡视频内容中的空间和时间冗余。一般,使用帧内或帧间预测来利用帧内或帧间相关性,然后对原始块和预测的块之间的差异(通常表示为预测误差或预测残差)进行变换、量化和熵编码。为了重建视频,通过与预测、变换、量化和熵编码相对应的逆过程来对压缩的数据进行解码。
视频压缩技术的最近发展包括由联合视频勘探小组(Joint Video ExplorationTeam,JVET)开发的各种版本的参考软件和/或文档联合勘探模型(Joint ExplorationModel,JEM)。JEM的目标是进一步改进现有的HEVC(High Efficiency Video Coding,高效视频编码)标准。
发明内容
根据至少一个实施例的一般方面,提供了一种用于视频编码的方法,包括:从变换集中选择水平变换和垂直变换,以对编码的视频图片的当前块的预测残差进行变换,其中该变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换;提供指示所选的水平和垂直变换的至少一个语法元素;使用所选的水平和垂直变换来对当前块的预测残差进行变换,以获得当前块的变换系数;以及对当前块的语法元素和变换系数进行编码。
根据至少一个实施例的另一个一般方面,提供了一种用于视频解码的方法,包括:获得指示水平变换和垂直变换的至少一个语法元素;基于语法元素,从变换集中选择水平和垂直变换,以对解码的视频图片的当前块的变换系数进行逆变换,其中该变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换;使用所选的水平和垂直变换对当前块的变换系数进行逆变换,以获得当前块的预测残差;以及使用预测残差对当前块进行解码。
根据至少一个实施例的另一个一般方面,提供了一种用于视频编码的装置,包括至少一个存储器和一个或多个处理器,其中所述一个或多个处理器被配置为:从变换集中选择水平变换和垂直变换,以对编码的视频图片的当前块的预测残差进行变换,其中该变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换;提供指示所选的水平和垂直变换的至少一个语法元素;使用所选的水平和垂直变换来对当前块的预测残差进行变换,以获得当前块的变换系数;并且对当前块的语法元素和变换系数进行编码。
根据至少一个实施例的另一个一般方面,提供了一种用于视频编码的装置,包括:用于从多个变换的集合中选择一对水平和垂直变换以对编码的视频图片的当前块的预测残差进行变换的装置,其中该多个变换的集合包括:1)具有恒定最低频率基函数的变换,2)具有递增最低频率基函数的变换,以及3)具有递减最低频率基函数的变换;用于提供指示所选的一对水平和垂直变换的至少一个语法元素的装置;用于使用所选的一对水平和垂直变换来对当前块的预测残差进行变换、以获得当前块的变换集系数的装置;以及用于对当前块的语法元素和变换系数进行编码的装置。
根据至少一个实施例的另一个一般方面,提供了一种用于视频解码的装置,包括至少一个存储器和一个或多个处理器,其中所述一个或多个处理器被配置为:获得指示水平变换和垂直变换的至少一个语法元素;基于语法元素,从变换集中选择水平和垂直变换,以对解码的视频图片的当前块的变换系数进行逆变换,其中该变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换;使用所选的水平和垂直变换对当前块的变换系数进行逆变换,以获得当前块的预测残差;并使用预测残差对当前块进行解码。
根据至少一个实施例的另一个一般方面,提供了一种用于视频解码的装置,包括:用于获得指示所选的一对水平和垂直变换的至少一个语法元素的装置;用于基于语法元素,从多个变换的集合中选择一对水平和垂直变换,以对解码的视频图片的当前块的变换系数进行逆变换的装置,其中该多个变换的集合包括:1)具有恒定最低频率基函数的变换,2)具有递增最低频率基函数的变换,以及3)具有递减最低频率基函数的变换;用于使用所选的水平和垂直变换对当前块的变换系数进行逆变换,以获得当前块的预测残差的装置;以及用于使用预测残差对当前块进行解码的装置。
在一个实施例中,语法元素包括指示在多个子集的一个子集中的哪个变换用于所选的水平变换或垂直变换的索引。子集中变换的数量可以设置为2。该索引可以包含两个比特,一个比特指示所选的水平变换,且另一个比特指示所选的垂直变换。
在一个实施例中,具有恒定最低频率基函数的变换是DCT-II,具有递增最低频率基函数的变换是DST-VII,且具有递减最低频率基函数的变换是DCT-VIII。
在另一个实施例中,该变换集还包括具有递减最低频率基函数的另一变换。具有递减最低频率基函数的另一变换可以是DST-IV。
水平和垂直变换的选择可以取决于当前块的块大小,并且变换集中变换的数量可以取决于该块大小。
根据至少一个实施例的另一个一般方面,基于当前块的编码模式导出子集。
在一个低复杂度实施例中,多个子集是:{DST-VII,DCT-VIII},{DST-IV,DCT-II},{DCT-VIII,DST-VII}。在一个高度复杂的实施例中,多个子集是:{DST-VII,DCT-VIII}、{DST-VII,DCT-II}以及{DST-VII,DCT-II}。
根据至少一个实施例的另一个一般方面,提供了比特流,其中该比特流通过以下步骤形成:从变换集中选择水平变换和垂直变换,以对编码的视频图片的当前块的预测残差进行变换,其中该多个变换的集合包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换;提供指示所选的水平和垂直变换的至少一个语法元素;使用所选的水平和垂直变换来对当前块的预测残差进行变换,以获得当前块的变换系数;以及对当前块的语法元素和变换系数进行编码。
本发明的一个或多个实施例还提供了计算机可读存储介质,其上存储有用于根据上述方法对视频数据进行编码或解码的指令。本实施例还提供了其上存储有根据上述方法生成的比特流的计算机可读存储介质。本实施例还提供了一种用于传输根据上述方法生成的比特流的方法和装置。
附图说明
图1示出了示例性视频编码器的框图。
图2示出了示例性视频解码器的框图。
图3A是描述HEVC的帧内预测方向和相应的模式的图示示例,且图3B是描述JEM的帧内预测方向和相应的模式的图示示例。
图4是通过2D MxN变换对残差MxN块U的2D变换的图示。
图5示出了表1所示的不同变换的基函数的图示。
图6A示出了DCT-II、DCT-VIII、DST-IV和DST-VII变换的第一基函数(即i=0)的幅度相对于索引j的绘图,且图6B示出了针对JVET变换的第一基函数(即i=0)的幅度相对于索引j的绘图。
图7示出了根据实施例的使用多个变换的示例性编码过程。
图8示出了根据实施例的使用多个变换的示例性解码过程。
图9示出了根据实施例的用以确定指示将用于编码/解码的水平和垂直变换的变换索引的示例性过程。
图10示出了DCT-I、DCT-V和DCT-VI变换的第一基函数(即,i=0)的幅度相对于索引j的绘图。
图11示出了DST-III和DST-VIII变换的第一基函数(即,i=0)的幅度相对于索引j的绘图。
图12示出了DCT-III、DCT-IV和DCT-VII变换的第一基函数(即,i=0)的幅度相对于索引j的绘图。
图13示出了其中可以实现示例性实施例的各个方面的示例性系统的框图。
具体实施方式
图1示出了示例性视频编码器100,诸如高效视频编码(HEVC)编码器。图1还可以示出其中对HEVC标准进行了改进的编码器或者采用类似于HEVC的技术的编码器,诸如由JVET(联合视频勘探小组)开发的JEM(联合勘探模型)编码器。
在本申请中,术语“重建的”和“解码的”可以互换使用,术语“编码的(encoded)”或“编码的(coded)”可以互换使用,并且术语“图像”、“图片”和“帧”可以互换使用。通常,但不是必须的,术语“重建的”用于编码器侧,而“解码的”用于解码器侧。
在编码之前,视频序列可以经历预编码处理(101),例如,对输入彩色图片应用颜色变换(例如,从RGB 4:4:4到YCbCr 4:2:0的转换),或者执行输入图片分量的重映射,以便得到对压缩更有弹性的信号分布(例如,使用颜色分量之一的直方图均衡)。元数据可以与预处理相关联,并附接到比特流。
在HEVC中,为了用一个或多个图片对视频序列进行编码,将图片划分(102)为一个或多个条带,其中每个条带可以包括一个或多个条带片段。将条带片段组织为编码单元、预测单元和变换单元。HEVC规范区分“块”和“单位”,其中“块”针对样本阵列中的特定区域(例如,亮度、Y),而“单位”包括所有编码的颜色分量(Y、Cb、Cr或单色)、语法元素以及与块相关联的预测数据(例如,运动矢量)的共位的块。
对于HEVC中的编码,将图片划分为具有可配置大小的正方形的编码树块(codingtree block,CTB),并且将连续的编码树块集分组到条带中。编码树单元(Coding TreeUnit,CTU)包含编码的颜色分量的CTB。CTB是划分为编码块(Coding Block,CB)的四叉树的根,并且编码块可以划分为一个或多个预测块(Prediction Block,PB),并且形成划分为变换块(Transform Block,TB)的四叉树的根。与编码块、预测块和变换块相对应,编码单元(Coding Unit,CU)包括预测单元(Prediction Unit,PU)和树形结构集的变换单元(Transform Unit,TU),PU包括所有颜色分量的预测信息,且TU包括每个颜色分量的残差编码语法结构。亮度分量的CB、PB和TB的大小适用于相应的CU、PU和TU。
在JEM中,QTBT(Quadtree plus Binary Tre,四叉树加二叉树)结构消除了HEVC中多个划分类型的概念,即消除了CU、PU和TU概念的分离。首先由四叉树结构划分编码树单元(CTU)。通过二叉树结构进一步划分四叉树叶节点。二叉树的叶节点命名为编码单元(CU),其用于预测和变换而无需进一步划分。因此,在新的编码QTBT块结构中,CU、PU和TU具有相同的块大小。在JEM中,CU由不同颜色分量的编码块(CB)组成。
在本申请中,例如,术语“块”可用于指CTU、CU、PU、TU、CB、PB和TB中的任何一个。此外,“块”还可以用来指在H.264/AVC或其他视频编码标准中指定的宏块和划分,并且更一般地,是指各种大小的数据阵列。
在示例性编码器100中,由编码器元件对图片进行编码,如下所述。要编码的图像以CU为单位进行处理。使用帧内或帧间模式对每个CU进行编码。当以帧内模式对CU进行编码时,编码器执行帧内预测(160)。在帧间模式中,执行运动估计(175)和运动补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的哪一个来对CU进行编码,并通过预测模式标志来指示帧内/帧间决定。通过从原始图像块中减去(110)预测的块来计算预测残差。
从同一条带内的重建的相邻样本中预测帧内模式中的CU。35个帧内预测模式集在HEVC中是可用的,包括DC模式、平面模式和33个角度预测模式,如图3A所示。从与当前块相邻的行和列重建帧内预测参考。该参考使用来自先前重建的块的可用样本,在水平和垂直方向上延伸超过块大小的两倍。当角度预测模式用于帧内预测时,可以沿着角度预测模式指示的方向复制参考样本。
在HEVC中,可以使用两种不同的选项对当前块的适用的亮度帧内预测模式进行编码。如果适用的模式包括在三个最有可能的模式(most probable mode,MPM)的构造列表中,则由MPM列表中的索引信令通知该模式。否则,通过模式索引的固定长度二进制化来信令通知该模式。三种最有可能的模式是从顶部和左侧相邻块的帧内预测模式中导出的。
与HEVC相比,JEM当前的提议增加了帧内预测模式的数量。例如,如图3B所示,除了平面模式0和DC模式1之外,JEM 3.0还使用65种方向(directional)帧内预测模式。方向帧内预测模式以递增的顺序从2到66编号,其与在HEVC中从2到34中所做的方式相同,如图3A所示。65种方向预测模式包括HEVC中规定的33种方向预测模式,以及与两个原始角度之间的角度相对应的32种附加方向预测模式。换句话说,JEM的预测方向具有HEVC的角度分辨率的两倍的角度分辨率。已经提出了更高数量的预测模式,以利用具有提出的较大块大小的更精细角度结构的可能性。
对于HEVC中的帧间CU,还将相应的编码块划分为一个或多个预测块。在PB级上执行帧间预测,并且相应的PU包含关于如何执行帧间预测的信息。可以用两种方法(即“合并模式”和“高级运动矢量预测(advanced motion vector prediction,AMVP)”)信令通知运动信息(例如,运动矢量和参考图片索引)。
在合并模式中,视频编码器或解码器基于已经编码的块聚集(assemble)候选列表,并且视频编码器信令通知候选列表中的候选之一的索引。在解码器侧,基于信令通知的候选重建运动矢量(motion vector,MV)和参考图片索引。
在AMVP中,视频编码器或解码器基于从已经编码的块中确定的运动矢量来聚集候选列表。然后,视频编码器信令通知候选列表中的索引以识别运动矢量预测符(motionvector predictor,MVP),并信令通知运动矢量差(motion vector difference,MVD)。在解码器侧,将运动矢量(MV)重建为MVP+MVD。适用的参考图片索引也以AMVP的PU语法明确地编码。
然后,对预测残差进行变换(125)和量化(130)。变换一般基于可分离变换。例如,首先在水平方向应用DCT变换,然后在垂直方向应用DCT变换。对于HEVC,支持4x4、8x8、16x16和32x32的变换块大小。核心变换矩阵的元素是通过近似成比例的离散余弦变换(scaled discrete cosine transform,DCT)基函数导出的。在诸如限制变换计算的动态范围以及当矩阵条目被指定为整数值时最大化精度和相近性(closeness)的考虑下,设计了HEVC变换。为简单起见,仅指定了一个长度为32点的整数矩阵,而二次采样的版本用于其他大小。对于4×4的变换块大小,将从离散正弦变换(discrete sine transform,DST)导出的可替代的整数变换应用于帧内预测模式的亮度残差块。
在JEM中,在两个方向上使用的变换可能不同(例如,在一个方向上使用DCT,在另一个方向上使用DST),这导致了各种各样的2D变换,而在以前的编解码器中,对于给定的块大小,2D变换的种类通常是有限的。
对量化的变换系数以及运动矢量和其他语法元素进行熵编码(145)以输出比特流。编码器也可以跳过变换,并在4x4TU基础上对未变换的残差信号直接应用量化。编码器还可以绕过变换和量化这两者,即,在不应用变换或量化过程的情况下直接对残差进行编码。在直接PCM编码中,不应用预测,并且将编码单元样本直接编码到比特流中。
编码器对编码的块进行解码,为进一步的预测提供参考。对量化的变换系数进行去量化(140)和逆变换(150)以对预测残差进行解码。组合(155)解码的预测残差和预测的块,重建图像块。将环路滤波器(165)应用于重建的图片,例如,以执行去块/SAO(SampleAdaptive Offset,采样自适应偏移)滤波以减少编码伪影。过滤后的图像存储在参考图片缓冲器(180)中。
图2示出了示例性视频解码器200(诸如HEVC解码器)的框图。在示例性解码器200中,如下所述,由解码器元件对比特流进行解码。视频解码器200一般执行与图1中描述的编码过程相反的解码过程,其作为对视频数据进行编码的部分执行视频解码。图2还可以示出对HEVC标准进行改进的解码器,或者采用类似于HEVC的技术的解码器,诸如JEM解码器。
特别地,解码器的输入包括视频比特流,其可以由视频编码器100生成。首先对比特流进行熵解码(230)以获得变换系数、运动矢量、图片划分信息和其他编码的信息。对HEVC,图片划分信息指示CTU的大小,以及将CTU分割为CU的方式,并且在适用时可能将CTU分割为PU。因此,解码器可以根据解码的图片划分信息将图片划分(235)为像素,并将每个CTU划分为像素。对于JEM,解码器可以基于指示QTBT结构的划分信息来划分图像。对变换系数进行去量化(240)和逆变换(250)以对预测残差进行解码。
组合(255)解码的预测残差和预测的块,重建图像块。预测的块可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得(270)。如上所述,AMVP和合并模式技术可以用于导出用于运动补偿的运动矢量,其可以使用插值滤波器来计算参考块的子整数样本的插值。将环路滤波器(265)应用于重建的图像。过滤后的图像存储在参考图片缓冲器(280)中。
解码的图像还可以经过后解码处理(285),例如,逆颜色变换(例如,从YCbCr 4:2:0到RGB 4:4:4的转换)或者逆重映射,执行在预编码处理(101)中执行的重映射过程的逆。后解码处理可以使用在预编码处理中导出并在比特流中信令通知的元数据。
如上所述,对预测残差进行变换和量化。对于预测残差的变换,考虑输入到2D MxN前向变换的MxN(M列x N行)残差块([U]MXN),2D变换通常通过分离地对每列应用N点1D变换(即垂直变换)和对每行应用M点1D变换(即水平变换)来实现,如图4所示。数学上,前向变换可以表示为:
[C]MxN=[A]T NXN x[U]MxN x[B]MxM
其中[A]NXN是垂直应用的N点变换矩阵,且[B]MXM是水平应用的M点变换矩阵,且“T”(上标)是矩阵转置运算符。因此,可分离变换包括在2D预测残差块的每行和每列上相继应用水平和垂直变换。因此,逆2D MxN变换表示如下:
[U]MXN=[A-1]T NxN x[C]MXN x[B-1]MXM
对于正交变换A和B,[A-1]=[A]T,且[B-1]=[B]T。因此,逆变换也可以写为:
[U]MxN=[A]NxN x[C]MxN x[B]T MXM
一些视频编解码器,诸如那些在处理某些块大小时符合HEVC标准的编解码器,基于使用相同的垂直和水平1D变换的2D可分离变换。在HEVC的情况下,DCT-II用作核心变换。DCT-II变换用作核心变换主要是因为其能够对高度相关的数据近似Karhunen Loeve变换(KLT)。此外,DCT-II基于具有快速实现的离散傅里叶变换(称为快速傅里叶变换或FFT)的镜像扩展。这一性质使得能够快速实现DCT-II,这是硬件和软件设计这两者所期望的。
然而,在当前的JEM中,定义了从表1所示的五个变换中导出的五种不同的水平/垂直变换,并在图5中针对4x4大小进行了说明。在CU级别使用标志,对于从4x4到64x64的大小,以控制变换的组合。当CU级别标志等于0时,应用DCT-II作为水平和垂直变换。当CU级标志等于1时,信令通知两个附加语法元素,以识别DCT-V、DCT-VIII、DST-I和DST-VII中的哪一个将用于水平和垂直变换。注意,也可以考虑其他水平/垂直变换,诸如恒等(identity)变换(其对应于在一个方向跳过变换)。
表1.JEM中用于N点输入的DCT-II/V/VIII和DST-I/VII的变换基函数。
Figure BDA0002539320860000101
对于帧内情况,可能的变换集取决于帧内模式。定义三个可能的变换集如下:
·集0:DST-VII、DCT-VIII
·集1:DST-VII,DST-I
·集2:DST-VII、DCT-V
对于每个帧内模式和每个变换方向(水平/垂直),启用这三个集之一。对于水平和垂直变换中的每一个,基于明确地信令通知的标志来选择识别的变换子集中的两个变换候选之一。对于帧间情况,仅启用DST-VII和DCT-VIII,并且相同的变换适用于水平和垂直变换这两者。
JEM中对这些多个变换的支持意味着JEM编解码器需要在存储器中存储2D矩阵的系数,这是执行所考虑的前向和逆2D可分离变换所需要的。这占用了大量的内存。因此,与现有的和现存的编解码器相比,本方案提出使用具有降低的内存需求和减少的硬件实现复杂度的所选多个变换集。同时,在压缩效率方面,具有降低的内存需求的这种提出的变换集的编码效率应该至少提供与现有技术解决方案相似的性能。
在下文中,主要相对于帧内预测块描述了一些布置,但是该技术也可以应用于帧间预测块。
如本文所使用的,为了简洁,常规数字与罗马数字可互换使用。因此,例如,DCT-II、DCT-V、DCT-VIII、DST-I、DST-IV和DST-VII也分别称为DCT2、DCT5、DCT8、DST1、DST4和DST7。
在一个实施例中,与现有技术的解决方案相比,较小的变换集用于水平或垂直变换,同时保持在残差块的编码和解码中可以使用或选择的相同数量的变换对。这里,我们使用“变换对”来指代一对水平变换和垂直变换,它们组合执行2D可分离变换。因此,可以用于或选择用于块的2D可分离变换的数量与之前相同,而基于与现有技术相比较小的多个变换集来构造变换对。此外,选择较小集合以在压缩效率方面提供至少与现有技术解决方案相似的性能,但是具有降低的内存需求。该变换集设计为使得该集尽可能小,并且能够捕捉残差块的统计信息(statistics),该残差块可以具有以下一个或多个性质:
-残差信号的能量根据所考虑的块内的空间位置单调递增。这是帧内预测块的典型情况,其中预测误差在接近块的因果参考样本的块的边界上统计上较低,并且随着预测的样本和块边界之间的距离的函数递增。
-残差信号的能量根据所考虑的块内的空间位置单调递减。这也在一些帧内预测的块中发生。
-预测误差的能量均匀分布在整个块上的一般情况。这是最常见的情况,尤其是对于帧间预测的块。
根据一个实施例,从由JEM编解码器支持的水平/垂直变换集中移除DCT5和DST1变换。这是基于以下观察:DCT5与DCT2核心变换非常相似,因此DCT5不会增加该变换集在能量压缩方面能够有效处理的纹理块的类型的多样性。此外,从实验研究中观察到,使用DST1变换在压缩效率方面带来非常小的改善。因此,在该实施例中,从编解码器设计中移除DST1。最后,根据另一个非限制性实施例,所提出的解决方案可以引入DST4变换的使用,作为对减小的变换集的附加变换。
因此,可以用于或选择用于本布置的多个变换的提出的较小集合可以仅包括:DCT-II、DST-VII和DCT-VIII。在另一个示例性布置中,减小的集还可以包括DST-IV。DST-IV变换的数学基函数如表2所示,且其他上述变换的数学基函数如表1所示。
表2.DST-IV的变换基函数
Figure BDA0002539320860000121
图6A示出了在y轴上绘制第一基函数(即i=0)的幅度,以及在x轴上绘制DCT-II、DST-IV、DST-VII和DCT-VIII的索引j的图。第一基函数(i=0)表示所考虑的变换在最低频率下的基函数。因此,从图6A的图中可以看出,DCT-II是具有恒定最低频率基函数的变换,DST-VII和DST-IV是具有递增最低频率基函数的变换,并且DCT-VIII是具有递减最低频率基函数的变换。图6B示出了最低频率下的JVET变换的变换基函数。
为较小集合选择这些变换的一些原因总结如下:
-已经示出DST-VII是预测的方向上预测的块的KLT。
-DST-IV的最低频率基函数类似于DST-VII(例如,见图6A)。DST-VII也是以具有不同长度的快速FFT基函数和频率偏移的FFT的镜像扩展导出的。然而,DST-IV给DST-VII带来了小变化,这使得编解码器能够更好地管理残差信号种类。因此,DST-IV变换提供额外灵活性以处理不由DST-VII覆盖的其他数据。
-DCT-VIII基函数可以处理上下颠倒(upside-down)或左右颠倒(right-sideleft)衰减的残差信号。因此,DCT-VIII提供未由DST-VII和DST-IV两个覆盖的更多灵活性。也就是说,DST-VII和DST-IV的最低频率基函数具有递增值,而DCT-VIII的最低频率基函数具有递减值。
-也在较小集合中提供DCT-II,因为DCT-II一般是良好的去相关变换。
注意,一些所选变换矩阵是对称的,因此是自逆的,也就是说,对于正交变换矩阵A,下列等式成立:
A-1=AT,AAT=I
其中I是单位矩阵,并且T是转置运算符。如果A是对称的,那么A=AT=A-1。这意味着可以通过使用前向变换矩阵来计算逆变换,并且不需要存储用于逆变换的额外矩阵。
DCT-VIII和DST-IV两个都是自逆的,而仅有DST-VII不是。因此,对DST-VII的支持需要存储2个变换矩阵(一个用于前向变换,并且一个用于逆变换),而对于DCT-VII和DST-IV,仅需要存储一个矩阵。与所选JVET集(见表3)相比较,其中4个变换中有3个是自逆的。
表3.JVET中的自适应多个变换(除了DCT-II)。加粗变换是自反的
JVET变换集 DCT-V、DCT-VIII、DST-I、DST-VII
表4总结了与JVET方法相比,实现所提出方法所需的变换矩阵的数量,或硬件架构(除了DCT-II)的数量。
表4.提出的方法和JVET方法中所需的额外变换矩阵/硬件架构的数量间的比较
Figure BDA0002539320860000131
提出的方法需要20%(1-4/5)较少的存储来进行附加的变换。例如,允许的变换块大小是从4x4到128x128。这需要为每种类型的变换加载21840个变换矩阵的元素(表5)。对于2字节表示,对于每个变换,需要大约43.68千字节(=2*21840)。因此,在高复杂性实施例中,除了使用DCT-II之外,还使用了3个附加变换(例如,DST-VII、DST-IV和DCT-VIII),所有前向变换所需的内存大约为174.72(43.68*4)千字节。在低复杂度实施例中,其中除了使用DCT-II之外,还使用了2个附加变换(例如,DST-VII和DCT-VIII),这减少到了131.04千字节(43.68*3)。与JVET相比,这两个数字都要小得多,因为JVET需要218.40(43.68*5)千字节。
表5.不同变换块大小所需的变换矩阵元素的数量
变换块大小 矩阵或硬件构架的数量
4x4 16
8x8 64
16x16 256
32x32 1024
64x64 4096
128x128 16384
总和 21840
图7图示了用于给定的块的变换对的率失真(rate distortion,RD)优化的选择的示例性的编码过程700。在图7的步骤705-720中,过程700是在变换索引TrIdx的所有值上的迭代循环。索引TrIdx是二比特的索引,其呈现值00、01、10和11。在一个示例性的布置中,两个比特中的一个(例如,较不重要的比特)可以指示变换集的子集中的哪个变换用于水平变换,以及另一个比特(例如,较重要的比特)可以指示变换集的子集中的哪个变换用于垂直变换,将在下文中结合图9更详细的描述。
在图7的步骤710,从将在下面结合图9详细描述的多个变换集中选择变换对。在步骤715,基于TrIdx的值,为每个所选变换对测试编码成本。该编码成本可以是与使用水平和垂直变换对所考虑的残差块进行编码相关联的率失真成本(D+λR)。这里,D是原始块和重建的块之间的失真,R是率成本,且λ是通常用于计算率失真成本的拉格朗日参数。
在步骤725,基于在步骤715对每个TrIdx的值进行的编码测试的结果,选择与最小化编码成本的TrIdx的值相对应的水平和垂直变换对,并将该索引设置为best_TrIdx。也就是说,最佳索引best_TrIdx指向要使用的最佳水平和垂直变换对。在步骤730,使用最佳水平和垂直变换对来对编码的当前块的预测残差进行变换。
在图7的步骤735,确定使用变换DCT-II的编码成本。在步骤740,使用变换DCT-II的编码成本然后与上面在步骤705-735确定的最佳水平和垂直变换对的编码成本进行比较。在步骤745,如果在步骤740的比较结果使得使用DCT-II变换的编码成本低于best_TrIdx指示的变换选择,则在步骤750,变换DCT-II用于对当前块的预测残差进行水平和垂直变换这两者。在一个示例性布置中,语法元素multiple_transform_flag设置为0,并且被编码到输出比特流中,以指示仅使用变换DCT-II。
在另一方面,如果在步骤740的比较结果使得使用DCT-II变换的编码成本不低于best_TrIdx指示的变换对,则在步骤765,使用best_TrIdx指示的变换选择来对当前块的预测残差进行变换。此外,在图7的步骤760,语法元素multiple_transform_flag设置为1,并被编码到输出比特流中,以指示使用多个变换集。此外,同样在步骤760,语法元素TrIdx设置为best_TrIdx,并且被编码且以比特流传输,以供解码器或解码过程使用。
在图7的步骤770,对变换系数进行量化。在图7的步骤775,进一步对量化的变换系数进行熵编码。
在图7所示的示例中,如上所述,DCT-II用作类似于JEM中的核心变换的核心变换。此外,认为变换DCT-II是主变换,并且在用于选择要使用的最佳变换的编码成本评估中单独考虑变换DCT-II,如图7的步骤730和735所示。也就是说,首先在它们之间评估多个变换集,如在例如图7的步骤705-730所示,以从该多个变换集中获得最佳水平和垂直变换对,然后该最佳变换对将进一步针对核心变换DCT-II进行测试,如图7的步骤735和740所示。在一个示例性实施例中,对于低复杂度的实现,该待测试的多个变换集可以仅由DST-VII和DCT-VIII组成。在另一个示例性实施例中,对于高复杂度的实现,该多个变换集可以仅由DST-IV、DST-VII和DCT-VIII组成。在又一个示例性实施例中,可以以与其他变换完全相同的方式来对待DCT-II变换。因此,在这种情况下,不需要图7所示的两级测试(例如,可以去掉步骤735-750,并且DCT-II成为在步骤705-730要测试的多个变换集的部分)。也可以在解码器/解码侧进行类似的具有主变换的示例性布置,该主变换由专用“multiple_transform_flag”语法元素信令通知,或者不用信令通知。
图8示出了示例性解码过程800,用于解析和检索用于解码的给定块的水平和垂直变换对。解码过程800对应于并一般执行如图7所示的编码过程700的反函数。
在图8的步骤805,从例如由图7所示的编码过程700提供的编码的比特流中获得要解码的视频图片的当前块的数据。在步骤810,方法800对当前块的量化的变换系数进行熵解码。在步骤815,方法800对解码的变换系数进行去量化。在步骤820,方法800确定从比特流获得的语法元素multiple_transform_flag的值。该语法元素是从比特流中解码的。根据所考虑的编码/解码系统,该multiple_transform_flag语法元素解码步骤可以在量化的变换系数的熵解码之前发生(步骤810)。在步骤825,如果multiple_transform_flag的值是0,指示已经在图7的编码过程700中使用核心变换DCT-II,然后方法800在步骤830使用DCT-II对去量化的变换系数进行逆变换,以获得预测残差。
另一方面,如果在步骤825,multiple_transform_flag不是0(即,是1),指示从图7的编码过程700中的多个变换集中选择变换对,然后解码方法800还确定变换索引TrIdx的值作为比特流中发送的语法元素的部分。从输入比特流对值TrIdx进行熵解码。根据图9的过程,用于所考虑的残差块的水平变换(TrIdxHor)和垂直变换(TrIdxVer)的索引是从TrIdx导出的。在步骤845,基于TrIdxHor和TrIdxVer的值,方法800使用与由编码过程700从多个变换集中选择的水平和垂直变换对的逆变换来对去量化的变换系数进行逆变换,以获得预测残差。在步骤850,例如,方法800通过组合预测的块和预测残差来对当前块进行解码。
如前面参考图7和图8所解释的,变换索引TrIdx的值由编码过程700选择,在比特流中传输,并由解码过程800解析。给定TrIdx值,在编码器和解码器这两者中以相同方式执行的图9所示的导出过程900确定用于所考虑的块的水平和垂直变换对。
将使用帧内编码的块来描述以下示例性布置。根据非限制性示例,图9的示例性变换对导出过程900取决于TrIdx值和帧内预测模式。如图9所示,过程900的输入是如下所述的几个元素。
-TrIdx是表示水平和垂直变换对的两比特语法元素,其中一个比特表示等于0或1的水平变换索引,另一个比特表示等于0或1的垂直变换索引。
-IntraMode是与所考虑的块相关联的帧内预测模式语法元素,如图3A或图3B所示。
-g_aucTrSetHorz是数据结构,诸如识别水平方向上的变换的子集的查找表,由帧内预测模式IntraMode索引。如前所述,例如,如图3B所示,JEM中支持67种角度预测模式。因此,对于JEM,g_aucTrSetHorz包括67个元素,如下所示:g_aucTrSetHorz[NUM_INTRA_MODE-1]={2,1,0,1,0,1,0,1,0,1,0,1,0,1,2,2,2,2,2,2,2,2,2,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0}。
-类似地,g_aucTrSetVert也是数据结构,诸如识别垂直方向上的变换的子集的查找表,由帧内预测模式索引。如前所述,例如,如图3B所示,JEM中支持67种角度预测模式。因此,对于JEM,g_aucTrSetVert包括67个元素,如下所示:g_aucTrSetVert[NUM_INTRA_MODE-1]={2,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,2,2,2,2,2,2,2,2,1,0,1,0,1,0,1,0,1,0,1,0}。
g_aucTrSetHorz中的67个元素和g_aucTrSetVert中的67个元素中的每个元素可以取值0、1或2,如上所示。值0、1或2表示将选择表g_aiTrSubsetIntra中的三个子集之一用于编码成本比较。如下所示,g_aiTrSubsetIntra是定制的数据结构,诸如基于多个变换集的查找表。在一个示例性布置中,将示例性g_aiTrSubsetIntra定制和结构化如下:g_aiTrSubsetIntra[3][2]={{DST-VII,DCT-VIII},{DST-VII,DCT-II},{DCT-VIII,DST-VII}}。注意,在JVET中,g_aiTrSubsetIntra设置为不同的数据结构:g_aiTrSubsetIntra[3][2]={{DST-VII,DCT-VIII},{DST-VII,DST-I},{DST-VII,DCT-V}}。
因此,如图9中的示例性过程900所示,在步骤905,如上所述,使用g_aucTrSetHorz获得作为帧内预测模式的函数的由TrSubsetHor指示的水平变换子集。类似地,在步骤910,也如上所述,使用g_aucTrSetVert获得作为帧内预测模式的函数的由TrSubsetVert指示的垂直变换子集。在图9的步骤915,确定当前块的水平变换为由水平变换子集和2D查找表g_aiTrSubsetIntra内TrIdx的2比特中的一个(例如,最低有效比特)索引的变换。类似地,在图9的步骤920,确定当前块的垂直变换为由垂直变换子集和2D查找表g_aiTrSubsetIntra内TrIdx的2比特中的另一个(例如,最高有效比特)索引的变换。
在可替代的、非限制性的布置中,变换对集可以表示如下:
TrSet[7][4]=
{{DST7,DST7},{DST7,DCT2},{DST7,DCT8},{DCT8,DST7}},{{DST7,DST7},{DST7,DCT2},{DCT2,DST7},{DCT2,DCT8}},{{DST7,DST7},{DST7,DCT8},{DCT8,DST7},{DCT2,DST7}},{{DST7,DST7},{DST7,DCT2},{DCT8,DST7},{DCT2,DST7}},{{DST7,DST7},{DST7,DCT2},{DCT8,DST7},{DCT2,DST7}},{{DST7,DST7},{DST7,DCT2},{DCT8,DST7},{DCT2,DST7}},{{DST7,DST7},{DST7,DCT2},{DCT2,DST7},{DCT2,DST7}},
可替代地,变换对集也可以是:
TrSet[7][4]=
{{DST4,DST4},{DST4,DCT2},{DST4,DCT4},{DCT4,DST4}}{{DST4,DST4},{DST4,DCT2},{DCT2,DST4},{DCT2,DCT4}},{{DST4,DST4},{DST4,DCT4},{DCT4,DST4},{DCT2,DST4}},{{DST4,DST4},{DST4,DCT2},{DCT4,DST4},{DCT2,DST4}},{{DST4,DST4},{DST4,DCT2},{DCT4,DST4},{DCT2,DST4}},{{DST4,DST4},{DST4,DCT2},{DCT4,DST4},{DCT2,DST4}},{{DST4,DST4},{DST4,DCT2},{DCT2,DST4},{DCT2,DST4}},//SST7
上述二维阵列中的每一个索引如下。首先,记为PredModeldx的索引取决于所考虑的块的帧内编码模式和块大小这两者,如下面解释的和由下表6所示的。记为TrIdx的第二索引表示用于当前块的变换对的索引,并且在由编码器发送的压缩视频比特流中对该索引进行熵编码。应该注意的是,除了DCT-II之外,两个TrSet阵列仅包含两个变换。第一阵列包含DST-VII和DCT-VIII,而第二阵列包含DST-IV和DST-IV。
以这种方式,允许7个可能的变换子集(即,上面所示的7行TrSet),这取决于变换块大小和帧内预测模式。因此,在每行或每种可能性中,编码器尝试4个变换子集,即4对水平和垂直变换,并选择子集,例如,最小化率失真成本的子集。在编码器处执行变换对的选择,其中在编码器测试由TrIdx索引的四种可能的组合,如在下表6所示的示例性函数中实现,其中DiagMode是对角帧内预测模式的索引(例如,34),并且nMode是帧内预测模式的数量(例如,67)。
表6
Figure BDA0002539320860000181
应该注意的是,上述函数中的Sizeldx索引限于3。其思想是,对于大的变换大小,不需要考虑统计变化,因此可以使用来自高达32的宽度或高度的块的预测模式的相同映射。除此之外,假设对角模式周围的对称性,如果帧内预测模式大于对角模式,则用该对称性反转帧内预测模式。
此外,注意编解码器可能支持不等于2的指数的块大小。在这种情况下,计算上表的Sizeldx参数为大于log2(TrWidth)(或log2(TrHeight))。
此外,定义MapArray为(假设第二维有35种选择):
MapArray[4][35]=
{
{0,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},{1,2,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5},{1,2,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6},{1,2,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6},}
可以看出,MapArray随大小改变。这是基于离线训练的,该离线训练显示了块大小和变换选择之间的相依性。
如前所述,本发明的一个目的是采用最小的水平和垂直变换集。在一种布置中,使用了分别具有恒定、递增和递减最低频率基函数的三个变换。根据另一种示例性布置,可以通过仍然满足上述标准或类似标准的可替代的变换的各种示例来概括该概念。
因此,根据本发明的布置,构成多个变换集的三个变换的选择可以概括为由三个变换组成,这三个变换在最低频率下分别具有准恒定、准递增和准递减基函数。所谓准恒定、准递增和准递减,我们指的是在整个周期内除了边界之外都是恒定、递增和递减基函数。
例如,关于具有准恒定最低频率基函数的变换,例如,对DCT-II变换的一些可替代的选择可以是,DCT-I、DCT-V和DCT-VI变换,如图10所示。关于具有准递增最低频率基函数的变换,诸如DST-IV和DST-VII,例如,一些可替代的选择可以是DST-III和DST-VII变换,如图11所示。关于具有准递减最低频率基函数的变换,诸如DCT-VIII,例如,一些可替代的选择可以是DCT-III、DCT-IV和DCT-VII变换,如图12所示。上述可替代的变换的基函数的数学公式如下表7所示,其中
Figure BDA0002539320860000191
Figure BDA0002539320860000192
表7.可替代的变换的变换基函数
Figure BDA0002539320860000201
根据本布置的另一示例性实施例,要应用的水平和垂直变换集可以从一个块大小变化到另一个块大小。例如,对于具有复杂纹理的视频,这可能有利于提高压缩效率,其中编码器选择包含一些不连续的小块。实际上,具有不连续的小块(例如,4xN,Nx4)(例如,具有DCT-V变换)的最低频率基函数,可以有效地处理由帧内预测产生的残差块,其中,在所考虑的水平方向/垂直方向上,预测误差除了边界之外是恒定的。
根据本布置的另一示例性实施例,在所选多个变换集中,变换的数量可以从一个块大小变化到另一个块大小。通常,具有各种变换对于小块是有帮助的,特别是对于具有复杂纹理的小块,并且在编解码器设计中需要支持的合理的内存大小。相反,对于大块(例如,宽度或高度为32或64),减少的变换集可能就足够了。例如,由于DST-IV和DST-VII对于足够大的块表现相似,因此它们中仅有一个可以包括在减小的多个变换集中。
根据本布置的另一示例性实施例,根据低复杂度实施例,以下多个变换子集的修改集可以用作如上结合图9所述的g_aiTrSubsetlntra函数:
g_aiTrSubsetlntra[3][2]={{DST7,DCT8},{DST7,DCT2},{DCT8,DST7}}
可替代地,根据更高复杂度的方法,示例性布置在g_aiTrSubsetlntra函数中使用DST4变换,如下:
g_aiTrSubsetlntra[3][2]={{DST7,DCT8},{DST4,DCT2},{DST7,DCT2}}如上所示,除了DCT2、DCT8和DST7变换之外,该可能的多个变换集现在还包括DST4变换。
这里使用三个变换子集,其中每个变换子集包括两种变换类型。更一般地,可以使用更少或更多的子集,并且每个子集可以仅包括一种或两种以上的变换类型。例如,低复杂度实施例还可以简化为使用g_aiTrSubsetlntra[2][2]={{DST7,DCT8},{DST7,DCT2}}。
在上面,要选择的变换子集是基于帧内模式(隐式信令通知),并且要在该子集中使用的变换是显式信令通知的。本实施例不限于这种信令通知方法。也可以使用其他方法来信令通知哪个变换用于水平或垂直变换。
以上描述了各种方法,并且每个方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要步骤或动作的特定顺序,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。
在本申请中使用了各种数值,例如,帧内预测模式的数量(35或67),或者变换子集的数量(3)。应当注意,特定值用于示例性目的,并且本实施例不限于这些特定值。
在上面,针对HEVC或JEM描述了各种实施例。例如,用于设计变换集的各种方法可以用于修改如图1和图3所示的JEM或HEVC编码器和解码器的变换模块(125)和逆变换模块(250)。然而,本实施例不限于JEM或HEVC,并且可以应用于其他标准、建议及其扩展。
图13示出了示例性系统1300的框图,其中可以实现示例性实施例的各个方面。系统1300可以实施为包括下面描述的各种组件的设备,并且配置为执行上面描述的过程。这种设备的示例包括但不限于个人计算机、膝上型计算机、智能手机、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频记录系统、联网家用电器以及服务器。系统1300可以可通信地耦合到其他类似的系统,并且经由通信信道耦合到显示器,如图13所示,并且如本领域技术人员所知,以实现上述示例性视频系统的全部或部分。
系统1300的各种实施例包括至少一个处理器1310,该处理器1310被配置为执行加载在其中的指令,用于实现如上所述的各种过程。处理器1310可以包括嵌入式存储器、输入输出接口和本领域已知的各种其他电路。系统1300还可以包括至少一个存储器1320(例如,易失性存储器设备、非易失性存储器设备)。系统1300还可以包括存储设备1340,该存储设备1340可以包括非易失性存储器,包括但不限于EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1340可以包括内部存储设备、附接存储设备和/或网络可访问存储设备。系统1300还可以包括编码器/解码器模块1330,其被配置为处理数据以提供编码的视频和/或解码的视频,并且编码器/解码器模块1330可以包括其自己的处理器和存储器。
编码器/解码器模块1330表示可以包括在设备中以执行编码和/或解码功能的(多个)模块。众所周知,这种设备可以包括编码和解码模块中的一个或两个。此外,编码器/解码器模块1330可以实现为系统1300的独立元件,或者可以作为本领域技术人员已知的硬件和软件的组合结合在一个或多个处理器1310中。
要加载到一个或多个处理器1310上以执行上文描述的各种处理的程序代码可以存储在存储设备1340中,并且随后加载到存储器1320上以由处理器1310执行。根据示例性实施例,处理器1310、存储器1320、存储设备1340和编码器/解码器模块1330中的一个或多个可以在执行上文讨论的过程期间存储各种项目中的一个或多个,包括但不限于输入视频、解码的视频、比特流、等式、公式、矩阵、变量、操作和操作逻辑。
系统1300还可以包括通信接口1350,其能够经由通信信道1360与其他设备通信。通信接口1350可以包括但不限于被配置为从通信信道1360传输和接收数据的收发器。通信接口1350可以包括但不限于调制解调器或网卡,并且通信信道1350可以在有线和/或无线介质内实现。系统1300的各种组件可以使用各种合适的连接(包括但不限于内部总线、电线和印刷电路板)来连接或通信耦合在一起(图13中未示出)。
示例性实施例可以通过由处理器1310实现的计算机软件或通过硬件或者通过硬件和软件的组合来实现。作为非限制性示例,示例性实施例可以由一个或多个集成电路实现。作为非限制性示例,存储器1320可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术(诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器以及可移动存储器)来实现。作为非限制性示例,处理器1310可以是适合于技术环境的任何类型,并且可以包括微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。
例如,本文描述的实现方式可以以方法或过程、装置、软件程序、数据流或信号来实现。即使仅在单一实现形式的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实现也可以以其他形式实现(例如,装置或程序)。例如,装置可以用适当的硬件、软件和固件来实现。例如,这些方法可以在装置(诸如处理器,其一般指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备)中实现。处理器还包括通信设备,诸如计算机、手机、便携式/个人数字助理(“PDA(portable/personal digital assistant)”)以及便于终端用户之间的信息通信的其他设备。
参考“一个实施例”或“实施例”或“一种实现方式”或者“实现方式”以及它们的其他变化,意味着结合该实施例描述的特定特征、结构、特性等包括在至少一个实施例中。因此,出现在说明书各处的短语“在一个实施例中”或“在实施例中”或“在一种实现方式种”或“在实现方式中”以及任何其他变化不一定都指同一实施例。
此外,本申请或其权利要求可以指“确定”各种信息。例如,确定信息可以包括估计信息、计算信息、预测信息或从存储器中检索信息中的一个或多个。
此外,本申请或其权利要求可以指“访问”各种信息。例如,访问信息可以包括接收信息、(例如从存储器)检索信息、存储信息、移动信息、复制信息、计算信息、预测信息或估计信息中的一个或多个。
此外,本申请或其权利要求可以指“接收”各种信息。与“访问”一样,接收是广义的术语。例如,接收信息可以包括访问信息或(例如,从存储器)检索信息中的一个或多个。此外,通常以这样或那样的方式在诸如,例如,存储信息、处理信息、传输信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间涉及“接收”。
对于本领域技术人员来说清晰的是,实现方式可以产生各种格式化的信号,例如,以承载可以存储或传输的信息。例如,该信息可以包括用于执行方法的指令,或者由所描述的实现方式之一产生的数据。例如,可以格式化信号以承载所描述的实施例的比特流。例如,这种信号可以格式化为电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括,例如,对数据流进行编码和用编码的数据流调制载波。例如,信号承载的信息可以是模拟信息或数字信息。众所周知,信号可以通过各种不同的有线或无线链路传输。该信号可以存储在处理器可读介质上。

Claims (15)

1.一种用于视频编码的方法,包括:
从变换集中选择水平变换和垂直变换,以对编码的视频图片的当前块的预测残差进行变换,其中所述变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换,并且其中所述水平和垂直变换的选择取决于所述当前块的块大小;
提供指示所选的水平和垂直变换的至少一个语法元素;
使用所选的水平和垂直变换来对所述当前块的预测残差进行变换,以获得所述当前块的变换系数;以及
对所述当前块的语法元素和变换系数进行编码。
2.一种用于视频解码方法,包括:
获得指示水平变换和垂直变换的至少一个语法元素;
基于所述语法元素,从变换集中选择水平和垂直变换,以对解码的视频图片的当前块的变换系数进行逆变换,其中所述变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换,并且其中所述水平和垂直变换的选择取决于所述当前块的块大小;
使用所选的水平和垂直变换对所述当前块的变换系数进行逆变换,以获得所述当前块的预测残差;以及
使用所述预测残差对所述当前块进行解码。
3.一种用于视频编码的装置,包括:
至少一个存储器和一个或多个处理器,其中所述一个或多个处理器被配置为:
从变换集中选择水平变换和垂直变换,以对编码的视频图片的当前块的预测残差进行变换,其中所述变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换,并且其中所述水平和垂直变换的选择取决于所述当前块的块大小;
提供指示所选的水平和垂直变换的至少一个语法元素;
使用所选的水平和垂直变换来对所述当前块的预测残差进行变换,以获得所述当前块的变换系数;以及
对所述当前块的语法元素和变换系数进行编码。
4.一种用于视频解码的装置,包括:
至少存储器和一个或多个处理器,其中所述一个或多个处理器被配置为:
获得至少语法元素,所述语法元素指示水平变换和垂直变换;
基于所述语法元素,从变换集中选择水平和垂直变换,以对解码的视频图片的当前块的变换系数进行逆变换,其中所述变换集包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换,并且其中所述水平和垂直变换的选择取决于所述当前块的块大小;
使用所选的水平和垂直变换对所述当前块的变换系数进行逆变换,以获得所述当前块的预测残差;以及
使用所述预测残差对所述当前块进行解码。
5.根据权利要求1或2所述的方法或权利要求3或4所述的装置,其中,所述语法元素包括索引,所述索引指示在多个子集的一个子集中的哪个变换用于所选的水平或垂直变换。
6.根据权利要求1、2和5中任一项所述的方法或权利要求3-5中任一项所述的装置,其中,具有恒定最低频率基函数的变换是DCT-II,具有递增最低频率基函数的变换是DST-VII,并且具有递减最低频率基函数的变换是DCT-VIII。
7.根据权利要求1、2、5和6中任一项所述的方法或权利要求3-6中任一项所述的装置,其中,所述变换集还包括具有递增最低频率基函数的另一个变换。
8.根据权利要求7所述的方法或装置,其中,具有递增最低频率基函数的另一个变换是DST-IV。
9.根据权利要求1、2和5-8中任一项所述的方法或权利要求3-8中任一项所述的装置,其中所述水平和垂直变换的选择取决于所述当前块的编码模式。
10.根据权利要求1、2和5-9中任一项所述的方法或权利要求3-9中任一项所述的装置,其中所述变换集中的变换数量取决于块大小。
11.根据权利要求5-10中任一项所述的方法或权利要求5-10中任一项所述的装置,其中所述多个子集是:{DST-VII,DCT-VIII}、{DST-VII,DCT-II},以及{DCT-VIII,DST-VII}。
12.根据权利要求5-10中任一项所述的方法或权利要求5-10中任一项所述的装置,其中所述多个子集是:{DST-VII,DCT-VIII}、{DST-IV,DCT-II},以及{DST-VII,DCT-II}。
13.比特流,其中所述比特流通过以下步骤形成:
从变换集中选择水平变换和垂直变换,以对编码的视频图片的当前块的预测残差进行变换,其中所述多个变换的集合包括:1)仅一个具有恒定最低频率基函数的变换,2)一个或多个具有递增最低频率基函数的变换,以及3)仅一个具有递减最低频率基函数的变换,并且其中所述水平和垂直变换的选择取决于所述当前块的块大小;
提供指示所选的水平和垂直变换的至少一个语法元素;
使用所选的水平和垂直变换来对所述当前块的预测残差进行变换,以获得所述当前块的变换系数;以及
对所述当前块的语法元素和变换系数进行编码。
14.一种非暂时性计算机可读介质,包含根据权利要求1、2和5-12中任一项所述的方法或权利要求3-12中任一项所述的装置生成的数据内容。
15.一种计算机程序产品,包括当由一个或多个处理器执行时,用于执行根据权利要求1、2和5-12中任一项所述的方法的指令。
CN201880080942.1A 2017-12-22 2018-12-19 使用有效多个变换进行视频压缩的方法和装置 Pending CN111492658A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP17306894.1 2017-12-22
EP17306894.1A EP3503549A1 (en) 2017-12-22 2017-12-22 Method and apparatus for video compression using efficient multiple transforms
EP18306180.3 2018-09-07
EP18306180 2018-09-07
PCT/US2018/066537 WO2019126347A1 (en) 2017-12-22 2018-12-19 Method and apparatus for video compression using efficient multiple transforms

Publications (1)

Publication Number Publication Date
CN111492658A true CN111492658A (zh) 2020-08-04

Family

ID=65003604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880080942.1A Pending CN111492658A (zh) 2017-12-22 2018-12-19 使用有效多个变换进行视频压缩的方法和装置

Country Status (4)

Country Link
US (1) US20200359025A1 (zh)
EP (1) EP3729807A1 (zh)
CN (1) CN111492658A (zh)
WO (1) WO2019126347A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110419218B (zh) * 2017-03-16 2021-02-26 联发科技股份有限公司 编码或解码视频数据的方法和装置
US11949915B2 (en) * 2022-01-14 2024-04-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoding and decoding a sequence of pictures

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103370939A (zh) * 2011-06-30 2013-10-23 Sk电信有限公司 用于对图像进行编码/解码的方法和装置
US20160219290A1 (en) * 2015-01-26 2016-07-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US20170078672A1 (en) * 2015-09-14 2017-03-16 Google Inc. Transform selection for non-baseband signal coding
US20170094314A1 (en) * 2015-09-29 2017-03-30 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103370939A (zh) * 2011-06-30 2013-10-23 Sk电信有限公司 用于对图像进行编码/解码的方法和装置
US20160219290A1 (en) * 2015-01-26 2016-07-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US20170078672A1 (en) * 2015-09-14 2017-03-16 Google Inc. Transform selection for non-baseband signal coding
US20170094314A1 (en) * 2015-09-29 2017-03-30 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing

Also Published As

Publication number Publication date
WO2019126347A1 (en) 2019-06-27
US20200359025A1 (en) 2020-11-12
EP3729807A1 (en) 2020-10-28

Similar Documents

Publication Publication Date Title
US9826251B2 (en) Method and apparatus for encoding/decoding image
CN111345040B (zh) 用于在视频编码和解码中生成量化矩阵的方法和装置
US10999603B2 (en) Method and apparatus for video coding with adaptive clipping
EP3646588A1 (en) Method and apparatus for most probable mode (mpm) sorting and signaling in video encoding and decoding
CN110786015A (zh) 用于帧内预测的最可能模式(mpm)重新排序的方法和装置
CN110915212A (zh) 视频编解码中最可能模式(mpm)排序和信令的方法和装置
US11375191B2 (en) Method and apparatus for adaptive transform in video encoding and decoding
CN111194554B (zh) 基于照明补偿的视频编码和解码的方法和装置
US20150163498A1 (en) Video encoding apparatus and video encoding method
CN111448798A (zh) 基于块形状的视频编码和解码的方法和装置
CN113302924A (zh) 用于视频编码和解码的量化
WO2018206396A1 (en) Method and apparatus for intra prediction in video encoding and decoding
CN111492658A (zh) 使用有效多个变换进行视频压缩的方法和装置
WO2020185492A1 (en) Transform selection and signaling for video encoding or decoding
CN110495175B (zh) 图像解码方法和图像编码方法
EP3706423A1 (en) Local illumination compensation for video encoding or decoding
WO2020092137A1 (en) Video encoding and decoding using multiple transform selection
EP3503549A1 (en) Method and apparatus for video compression using efficient multiple transforms
CN114830656A (zh) 用于快速视频编码器的二次变换
CN114631316A (zh) 用于视频编解码的编解码模式信息传播
CN114503562A (zh) 扩展运动信息比较
KR20210002506A (ko) 비디오의 인코딩 및 디코딩
CN118283274A (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