CN114270858A - 用于视频编码和解码的量化矩阵预测 - Google Patents
用于视频编码和解码的量化矩阵预测 Download PDFInfo
- Publication number
- CN114270858A CN114270858A CN202080057371.7A CN202080057371A CN114270858A CN 114270858 A CN114270858 A CN 114270858A CN 202080057371 A CN202080057371 A CN 202080057371A CN 114270858 A CN114270858 A CN 114270858A
- Authority
- CN
- China
- Prior art keywords
- residual
- scaling
- quantization matrix
- coefficient
- matrix
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 185
- 238000013139 quantization Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 claims description 92
- 230000001413 cellular effect Effects 0.000 claims description 9
- 230000001419 dependent effect Effects 0.000 claims 3
- 238000004590 computer program Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 38
- 230000015654 memory Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 18
- 230000010076 replication Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000009795 derivation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007935 neutral effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000003507 refrigerant Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
对包含于比特流中的视频信息进行解码及/或编码可涉及与所述视频信息的至少一部分相关联的预测量化矩阵及指示所述预测量化矩阵的至少一个系数将被解译为残差的语法元素,使得对所述视频信息的至少一部分的所述解码及/或编码是基于所述预测量化矩阵与所述残差的组合,其中所述语法元素是在解码期间从所述比特流获得,或在编码期间包含于所述比特流中。
Description
技术领域
本发明公开涉及视频压缩,且更具体来说,涉及视频压缩的量化步长(step)。
背景技术
为了实现高压缩效率,图像和视频译码方案通常采用预测和变换以利用视频内容中的空间和时间冗余。通常,帧内(intra)或帧间(inter)预测用于利用帧内或帧间相关性,然后对通常表示为预测误差或预测残差的原始图像与预测图像之间的差异进行变换、量化和熵译码。为了重构视频,通过与预测、变换、量化和熵译码对应的逆过程来解码压缩数据。
HEVC(高效率视频译码)是压缩标准的示例。HEVC由视频译码联合合作组(JCT-VC)开发(参见,例如,“ITU-T H.265ITU的电信标准段(10/2014),系列H:视听和多媒体系统,视听服务的基础设施-移动视频的译码、高效视频译码、ITU-T H.265建议”)。压缩标准的另一示例是联合视频专家组(JVET)正在开发的压缩标准,并且该压缩标准与通用视频编码(VVC)指定的开发工作相关联。VVC旨在提供对HEVC的改进。
发明内容
通常,实施例的至少一个示例可以涉及一种方法,该方法包括:从包含被编码的视频信息的比特流获得表示量化矩阵的至少一个系数的信息和语法元素;基于所述语法元素确定表示所述至少一个系数的所述信息将被解译为残差;以及基于所述量化矩阵的预测与所述残差的组合对所述被编码的视频信息的至少一部分进行解码。
通常,实施例的至少一个示例可以涉及一种装置,该装置包括:
一个或多个处理器,其被配置为从包含被编码的视频信息的比特流获得表示量化矩阵的至少一个系数的信息和语法元素;基于所述语法元素确定表示所述至少一个系数的所述信息将被解译为残差;以及基于所述量化矩阵的预测与所述残差的组合对所述被编码的视频信息的至少一部分进行解码。
通常,实施例的至少一个示例可以涉及一种方法,该方法包括:获得视频信息和表示与所述视频信息的至少一部分相关联的预测量化矩阵的至少一个系数的信息;确定所述至少一个系数将被解译为残差;以及基于所述预测量化矩阵与所述残差的组合对所述视频信息的所述至少一部分进行编码,且对指示所述至少一个系数将被解译为残差的语法元素进行编码。
通常,实施例的至少一个示例可以涉及一种装置,该装置包括一个或多个处理器,其被配置为:获得视频信息和表示与所述视频信息的至少一部分相关联的预测量化矩阵的至少一个系数的信息;确定所述至少一个系数将被解译为残差;以及基于所述预测量化矩阵与所述残差的组合对所述视频信息的所述至少一部分进行编码,且对指示所述至少一个系数将被解译为残差的语法元素进行编码。
通常,实施例的另一示例可涉及比特流,其被格式化为包含图片信息,其中通过基于根据本发明公开的方法的实施例的示例中的任意一者或多者处理所述图片信息来编码所述图片信息。
通常,实施例的一个或多个其他示例还可以提供计算机可读存储介质,例如,非易失性计算机可读存储介质,其上存储有用于根据本文描述的方法或装置对诸如视频数据的图片信息进行编码或解码的指令。一个或多个实施例还可以提供一种计算机可读存储介质,其上存储有根据本文描述的方法或装置生成的比特流。一个或多个实施例还可以提供用于传送或接收根据本文描述的方法或装置生成的比特流的方法和装置。
如以下所解释的,构想了各种修改和实施例,其可提供对视频编码和/或解码系统的改进,包括但不限于增加的压缩效率和/或译码效率和/或处理效率和/或降低的复杂度中的一者或多者。
以上给出了本主题的简化概述,以便提供对本发明公开的一些方面的基本理解。本概述不是对本主题的详尽综述。其并非旨在标识各实施例的关键/重要元素或描绘本主题的范围。其唯一目的是以简化形式呈现本主题的一些概念,作为以下提供的更详细描述的序言。
附图说明
通过结合附图考虑下面的详细描述,可以更好地理解本发明公开,其中:
图1示出了针对VVC中大于32的块尺寸被推断为零的变换/量化系数的示例;
图2示出了H.264中的帧内和帧间默认量化矩阵的比较(上部:帧间(实线)和帧内(栅格);底部:帧间(实线)、帧内缩放(栅格));
图3示出了HEVC中的帧内和帧间默认量化矩阵的比较(上部:帧间(实线)和帧内(栅格);底部:帧间(实线)、帧内缩放(栅格));
图4示出了量化矩阵(QM)解码工作流程的示例;
图5示出了修改的QM解码工作流程的实施例的示例;
图6示出了修改的QM解码工作流程的实施例的另一示例;
图7示出了涉及预测(例如,复制)和可变长度残差的QM解码工作流程的实施例的另一示例;
图8示出了涉及预测(例如,缩放)和可变长度残差的QM解码工作流程的实施例的另一示例;
图9示出了涉及总是使用预测(例如,缩放)和可变长度残差的QM解码工作流程的实施例的另一示例;
图10以框图的形式示出了适于实现本文描述的各个方面、特征和实施例的编码器(例如,视频编码器)的实施例的示例;
图11以框图的形式示出了适合于实现本文描述的各个方面、特征和实施例的解码器(例如视频解码器)的实施例的示例;
图12以框图的形式示出了适合于实现本文描述的各个方面、特征和实施例的系统的示例;
图13示出了根据本发明描述的解码器的实施例的另一示例;以及
图14示出了根据本发明描述的编码器的实施例的另一示例。
应当理解,附图是为了示出各个方面和实施例的示例的目的,并且不一定是唯一可能的配置。在所有附图中,相同的参考标记表示相同或相似的特征。
具体实施方式
HEVC规范允许在去量化过程中使用量化矩阵,其中译码块频率变换的系数通过当前量化步长来缩放,并且进一步通过量化矩阵(QM)来缩放,如下所示:
d[x][y]=Clip3(coeffMin,coeffMax,((TransCoeffLevel[xTbY][yTbY][cIdx][x][y]*m[x][y]*levelScale[qP%6]<<(qP/6))+(1<<(bdShift-1)))>>bdShift)
其中:
●TransCoeffLevel[…]是由当前块的空间坐标xTbY、yTbY及其分量索引cIdx所标识的当前块的变换系数绝对值。
●x和y是水平/垂直频率索引。
●qP是当前量化参数。
●乘以levelScale[qP%6]并左移(qP/6)等于与乘以量化步长qStep=(levelScale[qP%6]<<(qP/6))。
●m[…][…]是二维量化矩阵。
●bdShift是考虑图像采样比特深度的附加缩放因子。项(1<<(bdShift-1))用于舍入到最接近的整数的目的。
●d[…]是所得到的去量化的变换系数绝对值。
HEVC用来传送量化矩阵的语法如下:
可以注意到:
●为每个变换尺寸(sizeId)指定不同的矩阵。
●对于给定的变换尺寸,对于帧内/帧间译码和Y/Cb/Cr分量,指定六个矩阵。
●矩阵可以是以下一者:
○如果scaling_list_pred_mode_flag为零(参考matrixId作为针对scaling_list_pred_matrix_id_delta的matrixId获得),则从相同尺寸的先前传送的矩阵复制该矩阵。
○从标准中指定的默认值复制该矩阵(如果scaling_list_pred_mode_flag和scaling_list_pred_matrix_id_delta两者均为零)。
○使用指数哥伦布(exp-Golomb)熵译码,以右上对角扫描顺序在DPCM译码模式中完全指定该矩阵。
●对于大于8×8的块尺寸,仅传送8×8个系数用于用信号通知量化矩阵以便节省译码比特。然后,使用零保持(即,重复)来内插系数,除了明确地传送的DC系数之外。
在VVC草案5中,已经基于JVET-N0847的贡献(参见O.Chubach,T.Toma,S.C.Lim等人,“CE7相关:针对VVC的量化矩阵的支持”,JVET-N0847,日内瓦,CH,2019年3月)采用了类似于HEVC的量化矩阵的使用。scaling_list_data语法已经被适配到VVC编解码器,如下所示。
与HEVC相比,由于较大数量的块尺寸,VVC需要更多的量化矩阵。
在VVC草案5(采用JVET-N0847)中,如在HEVC中那样,QM由两个参数matrixId和sizeId来标识。这在以下两个表中说明。
表1:块尺寸标识符(JVET-N0847)
表2:QM类型标识符(JVET-N0847)
注:MODE_INTER QM也用于IBC(帧内块复制)模式(MODE_IBC)。
两种标识符的组合在下表中示出:
表3:(matrixId,sizeId)组合(JVET-N0847)
如在HEVC中,对于大于8×8的块尺寸,仅传送8×8系数+DC。使用零保持内插来重构正确尺寸的QM。例如,对于16×16块,每个系数在两个方向上重复两次,然后DC系数被传送的系数代替。
对于矩形块,为QM选择保留的尺寸(sizeId)是较大的尺寸,即宽度和高度的最大值。例如,对于4×16块,选择16×16块尺寸的QM。然后,以因子4垂直抽取重构的16×16矩阵,以获得最终的4×16量化矩阵(即,跳过了四行中的三行)。
对于以下内容,我们将给定的块尺寸族(正方形或矩形)的QM称为size-N(尺寸-N),其与sizeId和它用于的正方形块尺寸有关:例如,对于块尺寸16×16或16×4,QM被标识为size-16(VVC草案5中的sizeId 4)。size-N的符号用于区分确切的块形状,以及区分用信号通知的QM系数的数量(限制为8×8,如表3所示)。
此外,在VVC草案5中,对于size-64的情况,不传送右下象限的QM系数(将它们推断为0,以下将其称为“零输出(zero-out)”)。这是通过scaling_list_data语法中的“x>=4&&y>=4”条件来实现的。这避免了传送变换/量化过程从未使用的QM系数。实际上,在VVC中,对于在任意维度(64×N,N×64,其中N<=64)中大于32的变换块尺寸,不传送x/y频率坐标大于或等于32的任意变换系数并且将其推断为零。因此,不需要量化矩阵系数来对其进行量化。这在图1中示出,其中阴影区域对应于推断为零的变换系数。
通常,本文描述的至少一个实施例的一方面可涉及在定制QM的传输中节省比特,同时保持规范尽可能简单。通常,本公开的另一方面可以涉及改进QM预测,使得可以以低比特成本进行简单的调整。
例如,应用于QM的两个常见调整是:
-动态范围(最低值(通常用于低频)和最高值(通常用于高频)之间的比率)的控制,其通过围绕选择的中性值全局缩放矩阵系数而容易地实现;以及
-用于精细调谐比特率、扩展QP范围或平衡不同变换尺寸之间的质量的一般偏移。
一个示例是图2中所示的h264的“帧内”和“帧间”8×8默认矩阵。图2示出了帧内和帧间默认h264矩阵的比较。图2中的上部图示示出了帧间(实线)和帧内(栅格)。图2中的底部图示示出了帧间(实线)和帧内缩放(栅格)。在图2中,“帧间”矩阵仅仅是“帧内”矩阵的缩放版本,其中“帧内缩放”是(intra_QM-16)*11/16+17。
对于HEVC 8×8默认矩阵观察到类似趋势,如图3中所示出。图3示出了帧内和帧间默认h264矩阵的比较。图3中的上部图示示出了帧间(实线)和帧内(栅格)。图3中的底部图示示出了帧间(实线)和帧内缩放(栅格),其中“帧内缩放”是(intra_QM-16)*12/16+16)。
这种简单的调整需要HEVC和VVC中的矩阵的完全重新编码,这可能是昂贵的(例如,240比特来译码上面示出的缩放的HEVC帧内矩阵)。此外,在HEVC和VVC两者中,预测(=复制)和显式QM系数是互斥的。即,细化预测是不可能的。
在VVC的上下文中,已经提出了对QM语法和预测的修改。例如,在一个提议(JVET-O0223)中,QM从较大到较小的顺序传送,并且允许从所有先前传送的QM的预测,包括从旨在用于较大块尺寸的QM的预测。本文的预测意味着复制,或者意味着如果参考较大则进行抽取。这利用了相同类型(Y/Cb/Cr,帧内/帧间)的QM之间的相似性,但是旨在针对不同块尺寸。包括在所描述的提议中的QM索引matrixId是尺寸标识符sizeId(在表4中示出)和类型标识符matrixTypeId(在表5中示出)的组合,使用以下等式组合它们,这产生在表6中示出的唯一标识符matrixId。
matrixId=6*sizeId+matrixTypeId (3-1)
表4:尺寸标识符(JVET-O0223)
亮度 | 色度 | sizeId |
64×64 | 32×32 | 0 |
32×32 | 16×16 | 1 |
16×16 | 8×8 | 2 |
8×8 | 4×4 | 3 |
4×4 | 2×2 | 4 |
表5:矩阵类型标识符(JVET-O0223)
表6:统一matrixId(JVET-O0223)
并且语法被修改,如通过以下突出显示所指示的:
图4中示出了QM解码工作流程。
在图4中:
-输入是译码的比特流。
-输出是ScalingMatrix(缩放矩阵)阵列。
-“解码QM预测模式”:从比特流中得到预测标志。
-“被预测?”:取决于前述标志来确定QM是被推断(预测)还是在比特流中被用信号通知。
-“解码QM预测数据”:从比特流中获得预测数据,当不用信号通知时需要推断QM,例如QM索引差scaling_list_pred_matrix_id_delta。
-“是默认的”:确定是否从默认值(例如,scaling_list_pred_matrix_id_delta是否为零)或从先前解码的QM来预测QM。
-“参考QM是默认QM”:选择默认QM作为参考QM。可以有几个默认QM来选择,例如取决于matrixId的奇偶校验。
-“获得参考QM”:选择先前解码的QM作为参考QM。参考QM的索引是从matrixId和上述索引差导出的。
-“复制或缩小参考QM”:从参考QM预测QM。如果参考QM是正确的尺寸,则预测包括简单的复制,或者如果它大于预期,则包括抽取。结果存储在ScalingMatrix[matrixId]中。
-“获得系数的数量”:取决于matrixId确定将从比特流解码的QM系数的数量。例如:如果matrixId小于20,则为64,如果matrixId在20和25之间,则为16,否则为4。
-“解码QM系数”:从比特流中解码相关数量的QM系数。
-“对角扫描”:将被解码QM系数组织成2D矩阵。结果存储在ScalingMatrix[matrixId]。
-“最后的QM”:当从比特流解码所有QM时循环或停止。
-为了清楚起见,省略了关于DC值的细节。
上述提议(JVET-O0223)试图通过允许根据具有不同sizeId的QM进行预测来降低在VVC的上下文中译码定制的QM的比特成本。然而,预测限于复制(或抽取)。
在HEVC上下文中,JCTVC-A114(对HEVC征集提议的响应)已经提出了具有缩放能力的QM间预测技术。在JCTVC-A114附录A中找到了以下语法和语义,其中最相关的部分以粗体示出:
其中:
-qscalingmatrix_update_type_flag:指示更新缩放矩阵的方法。值0意味着从现有矩阵适应新矩阵,而值1意味着从报头检索新矩阵。
-delta_scale:指示增量缩放值。delta_scale值以之字形(zig-zag)扫描顺序解码。如果不存在,delta_scale的默认值等于零。
-matrix_scale:指示缩放所有矩阵值的参数。
-matrix_slope:指示用于调整非平坦矩阵的梯度的参数。
-num_delta_scale:指示当qscalingmatrix_update_type_flag等于0时要解码的delta_scale值的数量。
-取决于qscalingmatrix_update_type_flag,缩放矩阵ScaleMatrix的值被定义如下:
-如果qscalingmatrix_update_type_flag等于0,
ScaleMatrix[i]=(ScaleMatrix[i]*(matrix_scale+16)+matrix_slope*(ScaleMatrix[i]-16)+8)>>4)+delta_scale,
其中i=0…MaxCoeff。
-否则(qscalingmattrix_update_type_flag等于1)
ScaleMatrix[i]如5.10节所示导出。
注意-ScaleMatrix[i]默认等于16。
尽管JCTVC-A114的方法使得能够利用缩放因子和可变长度残差进行QM预测,但是存在两个冗余缩放因子,并且没有简单的方式来指定全局偏移(必须对所有delta_scale值进行译码,因为它们未被DPCM译码)。
通常,本发明公开的至少一个方面可涉及通过除复制和下采样之外还应用缩放因子来扩展QM的预测、提供指定全局偏移的简单方式、或允许利用可变长度残差的细化预测中的一者或多者。
通常,本发明公开的至少一个方面可涉及将改进的预测与残差组合,以进一步细化QM,其成本潜在地比完全译码低。
通常,根据本发明公开的实施例的至少一个示例除了复制/缩小之外还可以包括具有偏移的QM预测。
通常,根据本发明公开的实施例的至少一个示例可以包括QM预测加(可变长度)残差。
通常,根据本发明公开的实施例的至少一个示例可以包括除复制/缩小(downscale)之外的还具有缩放因子的QM预测。
通常,根据本发明公开的实施例的至少一个示例可以包括缩放因子与偏移或残差的组合。
通常,根据本发明公开的实施例的至少一个示例可以提供减少传送QM所需的比特数量,并允许用户定义的精度和比特成本之间的折衷,同时保持规范简单。
通常,根据本发明公开的实施例的至少一个示例可包括一个或多个以下特征,以减少传送QM所需的比特数量,并允许用户定义的精度和比特成本之间的折衷,同时保持规范简单:
●将残差添加到QM预测中
●将缩放因子添加到QM预测中
●结合残差和缩放
●总是使用预测(移除预测模式标志)
下面提供了各种实施例的示例,其结合了所描述的特征和方面中的一者或多者。以下示例以基于包括提议JVET-O0223的VVC草案5的语法和文本描述的形式来呈现。然而,该上下文仅仅是为了描述的容易和清楚而选择的示例,并且不限制本公开的范围或者本文描述的原理的应用范围。也就是说,相同的原理可以应用于许多不同的环境(context),这对于本领域技术人员来说是显而易见的,例如,应用于HEVC或VVC草案5,应用于被解译为QP偏移而不是缩放因子的QM,应用于以7比特而不是8比特译码的QM系数等。
通常,实施例的至少一个示例包括在用于QM预测的复制(copy)之上的修改,该修改包括添加全局偏移。作为示例,全局偏移可以被显式地指定,如在基于包括JVET-O0223的VVC草案5的语法和规范文本的以下修改中所指示的,其中,添加以阴影被突出显示,而删除则被划线。
对应于前述实施例的修改的QM解码工作流程的示例在图5中示出,其中来自JVET-O0223的改变是粗体文本和粗轮廓。
可替换地,全局偏移可以被指定为DPCM译码的残差的第一系数(下文描述)。
通常,实施例的至少一个示例包括将残差添加到预测。例如,可能期望在QM预测之上传送残差以细化预测或提供用于QM的优化译码方案(预测加残差而不是直接译码)。当预测QM时,可以重新使用用于在未预测时传送QM系数的语法来传送残差。
另外,残差的系数的数量可以是可变的。当这些系数如HEVC、VVC和JVET-O0223中那样被DPCM译码,并且丢失的系数被推断为零时,这意味着残差的拖尾(trailing)系数是最后传送的残差系数的重复。然后,传送单个残差系数等同于向整个QM应用恒定偏移。
通常,所描述实施例的至少一个变型包括添加残差,可进一步包含在处于预测模式中时使用标志来指示系数仍可与非预测模式一样传送但被解译为残差。当不在预测模式中时,为了统一设计,系数仍然可以被解译为在默认全部8个QM预测之上的残差(值8是要模仿HEVC和VVC行为,但不限于该值)。下面示出基于JVET-O0223的语法和语义的示例。
scaling_list_pred_mode_flag[matrixId]等于0指定从参考缩放矩阵的值导出缩放矩阵。参考缩放矩阵由scaling_list_pred_matrix_id_delta[matrixId]指定。
scaling_list_pred_mode_flag[matrixId]等于1指定显式地用信号通知缩放列表的值。
当scaling_list_pred_mode_flag[matrixId]等于1时,推断(matrixSize)×(matrixSize)阵列predScalingMatrix[matrixId]的所有值及变量predScalingDC[matrixId]的值等于8。
scaling_list_pred_matrix_id_delta[matrixId]如下指定用于导出预测的缩放矩阵的参考缩放矩阵。scaling_list_pred_matrix_id_delta[matrixId]的值应当在0到matrixId的范围内,包括端值。
当scaling_list_pred_mode_flag[matrixId]等于零时:
-变量refMatrixSize和阵列refScalingMatrix首先如下导出:
○如果scaling_list_pred_matrix_id_delta[matrixId]等于零,则以下内容适用于设置默认值:
■refMatrixSize设置为等于8,
■如果matrixId是偶数,
refScalingMatrix= (6-1)
{
{16,16,16,16,16,16,16,16}//帧内默认值占位符
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
},
■否则
refScalingMatrix= (6-2)
{
{16,16,16,16,16,16,16,16}//帧间默认值占位符
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
},
○否则(如果scaling_list_pred_matrix_id_delta[matrixId]大于零),则以下适用:
refMatrixId=matrixId-scaling_list_pred_matrix_id_delta[matrixId] (6-3)
refMatrixSize=(refMatrixId<20)?8:(refMatrixId<26)?4:2) (6-4)
refScalingMatrix=ScalingMatrix[refMatrixId] (6-5)
-然后如下导出阵列predScalingMatrix[Matrix]Id:
predScalingMatrix[Matrix Id][x][y]=refScalingMatrix[i][j] (6-6)
其中,matrixSize=(matrixId<20)?8:matrixId<26)?4:2)
x=0…matrixSize-1,y=0…matrixSize-1,
i=x<<(log2(refMatrixSize)-log2(matrixSize)),以及
j=y<<(log2(refMatrixSize)-log2(matrixSize))
-当matrixId低于14时,如果scaling_list_pred_matrix_id_delta[matrixId]等于零,那么将变量predScalingDC[matrixId]设定为等于16,否则将其设定为等于ScalingDC[refMatrixId]。
scaling_list_coef_present_flag等于1指定传送缩放列表系数,并且将其解译为要添加到预测量化矩阵的残差。scaling_list_coef_present_flag等于0指定不添加残差。当不存在时,scaling_list_coef_present_flag被推断为等于1。
scaling_list_dc_coef_[matrixId]用于导出ScalingDC[matrixId],其指定相关时的缩放矩阵的第一值,如子句xxx中所述。scaling_list_dc_coef[matrixId]的值应在-128到127的范围内,包括端值。当不存在时,scaling_list_dc_coef[matrixId]的值被推断为等于0。
当matrixId低于14时,变量ScalingDC[matrixId]如下导出:
ScalingDC[matrixId]=(predScalingDC[matrixId]+scaling_list_dc_coef[matrixId]+256)%256 (6-7)
scaling_list_delta_coef指定当scaling_list_matrixId][i]和先前矩阵系数scaling_list[matrixId][i-1]之间的差,当scaling_list_coef_pref_flag等于1时。scaling_list_delta_coef的值应该在-128到127的范围内,包括端值。
当scaling_list_coef_present_flag等于0时,推断阵列ScalingList[matrixId]的所有值等于零。
(matrixSize)×(matrixSize)阵列ScalingMatrix[matrixId]如下导出:
ScalingMatrix[i][j]=(predScalingMatrix[i][j]+ScalingList[matxId][k]+256)%256 (6-8)
其中,k=0…CoefNum-1,
i=diagScanOrder[log2(coefNum)/2][log2(coefNum)/2][k][0],以及
j=diagScanOrder[log2(coefNum)/2][log2(coefNum)/2][k][1]
此外,在“缩放矩阵导出过程”部分中,文本如下改变:
如果matrixId低于14,则m[0][0]被进一步修改如下:
对应于前述实施例的修改的QM解码工作流程的示例在图6中示出,其中来自JVET-O0223的改变是粗体文本和粗轮廓。
通常,实施例的至少一个示例可以包括在预测之上使用可变长度残差。可变长度的残差可以是有用的,因为例如:
●由于对角扫描而首先传送的低频系数,具有最大的影响,
●由于对系数进行DPCM译码,如果丢失的delta系数被推断为零,则这导致最后的残差系数被重复。这意味着,最后传送的残差被重新用于QM的没有传送残差的部分。这样,传送单个残差系数等同于将偏移应用于整个QM,而不使用特定的附加语法。
残差系数的数量可以由例如以下被指示:
●以下系数的显式数量
○利用指数哥伦布译码或固定长度编码(长度取决于matrixId)的系数,或者
●指示残差存在的标志,之后是残差系数的数量减1,其可以被限制为2的幂,
○或者等效地,1+残差系数的数量的log2,其中零指示无残差。这可以被译码为固定长度(长度潜在地取决于matrixId)或指数哥伦布译码,或者
●列表中的索引,其中所述列表包含系数的数量。建议该列表由标准(不需要被传送),例如{0,1,2,4,8,16,32,64},来固定。
残差系数的数量不需要对潜在的额外DC残差系数进行计数。一旦要发送至少一个常规残差系数,就可以传送该额外DC残差系数。
下面提供基于紧接的前述示例实施例的语法和语义的示例。
scaling_list_pred_mode_flag[matrixId]等于0指定从参考缩放矩阵的值导出缩放矩阵。参考缩放矩阵由scaling_list_pred_matrix_id_delta[matrixId]指定。scaling_list_pred_mode_flag[matrixId]等于1指定显式地用信号通知缩放列表的值。
当scaling_list_pred_mode_flag[matrixId]等于1时,推断matrixSize×matrixSize阵列predScalingMatrix[matrix]的所有值及变量predScalingDC[matrixId]的值等于8。
scaling_list_pred_matrix_id_delta[matrixId]如下指定用于导出预测的缩放矩阵的参考缩放矩阵。scaling_list_pred_matrix_id_delta[matrixId]的值应当在0到matrixId的范围内,包括端值。
当scaling_list_pred_mode_flag[matrixId]等于零时:
-变量refMatrixSize和阵列refScalingMatrix首先如下导出:
○如果scaling_list_pred_matrix_id_delta[matrixId]等于零,则以下内容适用于设置默认值:
■refMatrixSize设置为等于8,
■如果matrixId是偶数,
refScalingMatrix= (6-10)
{
{16,16,16,16,16,16,16,16}//帧内默认值占位符
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
■否则
refScalingMatrix= (6-11)
{
{16,16,16,16,16}//帧间默认值占位符
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
},
○否则(如果scaling_list_pred_matrix_id_delta[matrixId]大于零),则以下适用:
refMatrixId=matrixId-scaling_list_pred_matrix_id_delta[matrixId] (6-12)
refMatrixSize=(refMatrixId<20)?8:(refMatrixId<26)?4:2) (6-13)
refScalingMatrix=ScalingMatrix[refMatrixId] (6-14)
-然后如下导出阵列predScalingMatrix[matrixId]:
predScalingMatrix[matrixId][x][y]=refScalingMatrix[i][j] (6-15)
x=0…matrixSize–1,y=0……matrixSize–1,
i=x<<(log2(refMatrixSize)–log2(matrixSize)),以及
j=y<<(log2(refMatrixSize)–log2(matrixSize))
-当matrixId<14时,如果scaling_list_pred_matrix_id_delta[matrixId]等于零,则变量predScalingDC[matrixId]被设置为等于16,否则其被设置为等于ScalingDC[refMatrixId]。
coefNum指定了被传送的残差系数的数量。coefNum的值应当在0到maxCoefNum的范围内,包括端值。
scaling_list_dc_coef[matrixId]用于导出ScalingDC[matrixId],其指定了相关时的缩放矩阵的第一值,如子句xxx中所述。scaling_list_dc_coef[matrixId]的值应在-128到127的范围内,包括端值。当不存在时,scaling_list_dc_coef[matrixId]的值被推断为等于0。
当matrixId低于14时,变量ScalingDC[matrixId]如下导出:
ScalingDC[matrixId]=(predScalingDC[matrixId]+scaling_list_dc_coef[matrixId]+256)%256 (6-16)
scaling_list_delta_coef指定当前矩阵系数ScalingList[matrixId][i]和先前矩阵系数ScalingList[matrixId][i-1]之间的差,i在0和CoefNum-1之间,包括端值。对于i在CoefNum和maxCoefNum-1之间(包括端值),推断scaling_list_delta_coef等于0。scaling_list_dc_coef的值应在-128到127的范围内,包括端值。
(matrixSize)×(matrixSize)阵列ScalingMatrix[matrixId]如下导出:
ScalingMatrix[i][j]=(predScalingMatrix[i][j]+ScalingList[matxId][k]+256)%256 (6-17)
其中,k=0…maxCoefNum-1,
i=diagScanOrder[log2(matrixSize)][log2(matrixSize)][k][0],以及
j=diagScanOrder[log2(MatrixSize)][log2(MatrixSize)][k][1]
图7示出了修改的QM解码工作流程的示例。图7中示出的实施例的示例涉及:预测=复制;可变长度残差。在图7中,对图6中所示的实施例示例的改变是粗体文本和粗轮廓。
通常,实施例的至少一个示例包括将缩放因子添加到预测。例如,QM的预测可以通过将缩放因子添加到复制/抽取来增强。当与先前实施例示例组合时,这使得能够如上文所解释对QM进行两个共同调整,即缩放和偏移,且还利用可变长度残差实现用户定义的在精度与比特成本之间的折衷。缩放因子可以是整数,标准化为数字N(例如16)。缩放公式可在选择的中性值(例如,对于HEVC、VVC或JVET-O0223为16;但如果QM被解译为QP偏移则将为零)附近缩放参考QM。具有N=(1<<shift)=16的示例公式如下所示:
scaledQM=((refQM-16)×scale+rnd)>>shift)+16 (6-18)其中:
●shift=4和rnd=8,意味着N=(1<<4)=16
●refQM是要缩放的输入QM
●scale是缩放因子
●scaledQM是输出缩放QM
结果scaledQM应当进一步被限幅到QM范围(例如,0…255或1…255)。
缩放因子scale可以作为N的偏移来传送(在上面的示例中,所传送的值将是:scale-(1<<shift)),使得值0表示具有最小比特成本的中性值(无缩放):当译码为指数哥伦布时为1比特。此外,该值可以被限制在实际范围:例如-32和32之间的数字意味着-1和+3之间的缩放,或者-16和16之间的数字意味着0和+2之间的缩放(因此将缩放限制为正值)。
语法的示例如下所示。注意,缩放因子不必与偏移或残差组合;它可单独应用于JVET-O0223、VVC或HEVC上。
scaling_list_pred_mode_flag[matrixId]等于0指定从参考缩放矩阵的值导出缩放矩阵。参考缩放矩阵由scaling_list_pred_matrix_id_delta[matrixId]指定。
scaling_list_pred_mode_flag[matrixId]等于1指定显式地用信号通知的缩放列表的值。
当scaling_list_pred_mode_flag[matrixId]等于1时,推断matrixSize×matrixSize阵列predScalingMatrix[matrix]的所有值及变量predScalingDC[matrixId]的值等于8。
scaling_list_pred_matrix_id_delta[matrixId]如下指定用于导出预测的缩放矩阵的参考缩放矩阵。scaling_list_pred_matrix_id_delta[matrixId]的值应当在0到matrixId的范围内,包括端值。
scaling_list_pred_scale_minus16[matrixId]加16如下指定将应用于用以导出预测缩放矩阵的参考缩放矩阵的缩放因子。scaling_list_pred_scale_minus16[matrixId]的值应当在-16到+16的范围内,包括端值。
当scaling_list_pred_mode_flag[matrixId]等于零时:
-变量refMatrixSize和阵列refScalingMatrix首先如下导出:
○如果scaling_list_pred_matrix_id_delta[matrixId]等于零,则以下适用于设置默认值:
■refMatrixSize设置为等于8,
■如果matrixId是偶数,
refScalingMatrix= (6-19)
{
{16,16,16,16,16}//帧内默认值占位符
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
},
■否则
refScalingMatrix= (6-20)
{
{16,16,16,16,16}//帧间默认值占位符
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
},
○否则(如果scaling_list_pred_matrix_id_delta[matrixId]大于零),则以下适用:
refMatrixId=matrixId-scaling_list_pred_matrix_id_delta[matrixId] (6-21)
refMatrixSize=(refMatrixId<20)?8:(refMatrixId<26)?4:2) (6-22)
refScalingMatrix=ScalingMatrix[refMatrixId] (6-23)
-然后如下导出阵列predScalingMatrix[matrixId]:
predScalingMatrix[matrixId][x][y]=
Clip3(1,255,(((refScalingMatrix[i][j]–16)*scale+8)>>4)+16) (6-24)
其中x=0…matrixSize–1,y=0…matrixSize–1,
j=y<<(log2(refMatrixSize)-log2(matrixSize)),以及
scale=scaling_list_pred_scale_minus16[matrixId]+16
当matrixId<14时,如果scaling_list_pred_matrix_id_delta[matrixId]等于零,则变量predScalingDC[matrixId]被设置为等于16,否则如下导出
predScalingDC[matrixId]=
Clip3(1,255,(((ScalingDC[refMatrixId]–16)*scale+8)>>4)+16) (6-25)
其中scale=scaling_list_pred_scale_minus16[matrixId]+16
coefNum指定了被传送的残差系数的数量。coefNum的值应当在0到maxCoefNum的范围内,包括端值。
scaling_list_dc_coef[matrixId]用于导出ScalingDC[matrixId],其指定相关时的缩放矩阵的第一值,如子句xxx中所述。scaling_list_dc_coef[matrixId]的值应在-128到127的范围内,包括端值。当不存在时,scaling_list_dc_coef[matrixId]的值被推断为等于0。
当matrixId低于14时,变量ScalingDC[matrixId]如下导出:
ScalingDC[matrixId]=(predScalingDC[matrixId]+scaling_list_dc_coef[matrixId]+256)%256 (6-26)
scaling_list_delta_coef指定当前矩阵系数ScalingList[matrixId][i]和先前矩阵系数
ScalingList[matrixId][i-1]之间的差,i在0和CoefNum-1之间,包括端值。对于i在
CoefNum和maxCoefNum-1之间(包括端值),scaling_list_delta_coef被推断为等于0。
scaling_list_delta_coef的值应当在-128到127的范围内,包括端值。
(matrixSize)×(matrixSize)阵列ScalingMatrix[matrixId]如下导出:
ScalingMatrix[i][j]=(predScalingMatrix[i][j]+ScalingList[matrixId][k]+256)%256 (6-27)
其中k=0…maxCoefNum–1,
i=diagScanOrder[log2(matrixSize)][log2(matrixSize)][k][0],以及
j=diagScanOrder[log2(matrixSize)][log2(matrixSize)][k][1]
图8示出了修改的QM解码工作流程的示例。在图9示出的实施例的示例涉及:预测=缩放;可变长度残差。在图8中,对图7中所示的实施例示例的改变是粗体文本和粗轮廓。
通常,实施例的至少一个示例包括移除预测模式标志。例如,只要可以传送完全的残差,例如在上述实施例的示例中,由于无论scaling_list_pred_mode_flag标志如何,都可以对QM进行完全规范,因此可以移除该标志,这简化了规范文本,并且对比特成本具有较小影响。
下面基于对先前实施例的改变提供了当前实施例的语法和语义的示例。
scaling_list_pred_matrix_id_delta[matrixId]指定用于导出预测的缩放矩阵的参考缩放矩阵。scaling_list_pred_matrix_id_delta[matrixId]的值应当在0到matrixId的范围内,包括端值。
scaling_list_pred_scale_minus16[matrixId]加16如下指定将应用于用以导出预测缩放矩阵的参考缩放矩阵的缩放因子。scaling_list_pred_scale_minus16[matrixId]的值应当在-16到+16的范围内,包括端值。
-变量refMatrixSize和阵列refScalingMatrix首先如下导出:
○如果scaling_list_pred_matrix_id_delta[matrixId]等于零,则以下内容适用于设置默认值:
■refMatrixSize设置为等于8,
■如果matrixId是偶数,
refScalingMatrix= (6-28)
{
{16,16,16,16,16}//帧内默认值占位符
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
},
■否则
refScalingMatrix= (6-29)
{
{16,16,16,16,16}//帧间默认值占位符
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
{16,16,16,16,16,16,16,16}
},
○否则(如果scaling_list_pred_matrix_id_delta[matrixId]大于零),则以下适用:
refMatrixId=matrixId-scaling_list_pred_matrix_id_delta[matrixId] (6-30)
refMatrixSize=(refMatrixId<20)?8:(refMatrixId<26)?4:2) (6-31)
refScalingMatrix=ScalingMatrix[refMatrixId] (6-32)
-然后如下导出阵列predScalingMatrix[matrixId]:
predScalingMatrix[matrixId][x][y]=
Clip3(1,255,(((refScalingMatrix[i][j]–16)*scale+8)>>4)+16) (6-33)
其中x=0…matrixSize–1,y=0…matrixSize–1,
i=x<<(log2(refMatrixSize)-log2(matrixSize))
j=y<<(log2(refMatrixSize)-log2(matrixSize)),以及
scale=scaling_list_pred_scale_minus16[matrixId]+16
-当matrixId<14时,如果scaling_list_pred_matrix_id_delta[matrixId]等于零,则变量predScalingDC[matrixId]被设置为等于16,否则其如下导出:
predScalingDC[matrixId]=
Clip3(1,255,(((ScalingDC[refMatrixId]–16)*scale+8)>>4)+16) (6-34)
其中scale=scaling_list_pred_scale_minus16[matrixId]+16
coefNum指定了被传送的残差系数的数量。coefNum的值应当在0到maxCoefNum的范围内,包括端值。
scaling_list_dc_coef[matrixId]用于导出ScalingDC[matrixId],其指定相关时的缩放矩阵的第一值,如子句xxx中所述。scaling_list_dc_coef[matrixId]的值应在-128到127的范围内,包括端值。当不存在时,scaling_list_dc_coef[matrixId]的值被推断为等于0。
当matrixId低于14时,变量ScalingDC[matrixId]如下导出:
ScalingDC[matrixId]=(predScalingDC[matrixId]+scaling_list_dc_coef[matrixId]+256)% 256 (6-35)scaling_list_delta_coef指定当前矩阵系数ScalingList[matrixId][i]和先前矩阵系数ScalingList[matrixId][i-1]之间的差,i在0和CoefNum-1之间,包括端值。对于i在CoefNum和maxCoefNum-1之间(包括端值),scaling_list_delta_coef被推断为等于0。scaling_list_delta_coef的值应当在-128到127的范围内,包括端值。
(matrixSize)×(matrixSize)阵列ScalingMatrix[matrixId]如下导出:
ScalingMatrix[i][j]=(predScalingMatrix[i][j]+ScalingList[matrixId][k]+256)%256 (6-36)
其中k=0…maxCoefNum–1,
i=diagScanOrder[log2(matrixSize)][log2(matrixSize)][k][0],以及
j=diagScanOrder[log2(matrixSize)][log2(matrixSize)][k][1]
图9示出了修改的QM解码工作流程的示例。图9示出的实施例的示例涉及:总是使用预测;预测=缩放;可变长度残差。在图9中,对图8中所示的实施例示例的改变包括图8的特征的删除。
下面描述了各种其他实施例的至少几个示例,这些示例涉及针对正在考虑对QM的改变的第16次JVET会议的改变而提交的几个贡献,其中将上述当前VVC技术作为参考。大多数可考虑对本公开中所提出的技术的等效改变,而不改变其本质,但通过影响(affect)QM的数量、QM识别符映射、QM矩阵尺寸公式、QM选择和/或调整尺寸过程而影响(impact)示例语法和语义。在以下小节中详细描述了提供对改变的适应的实施例的示例。
实施例的至少一个示例可以涉及移除一些或全部2×2色度QM。VVC最近以帧内模式移除了2×2色度变换块,因此使得传送2×2QM帧内QM无用,尽管浪费可以被限制为2×3=6比特(需要3比特来用上述语法示例用信号通知默认矩阵的使用)。
移除亮度2×2QM将影响被传送的QM的数量,具有简单的语法改变:
并且标识符映射也将受到影响(来自表6的id 26和28变得无效),这可以通过调整来自JVET-O0223的“量化矩阵导出过程”中的matrixId选择公式(或JVET-P0110中的更新)来反映,例如:
matrixId=6*sizeId+matrixTypeId
with log2TuWidth=log2(blkWidth)+(cIdx>0)?log2(SubWidthC):0,
log2TuHeight=log2(blkHeight)+(cIdx>0)?log2(SubHeightC):0,
sizeId=6–max(log2TuWidth,log2TuHeight),and
matrixTypeId=(2*cIdx+(predMode==MODE_INTRA?0:1))
matrixId-=(matrixId>25)?(matrixId>27?:2:1):0
通过将QM的数量减少到26,移除所有2×2QM并禁用2×2色度帧间块的QM将是更不复杂的,如下表所示:
以及没有在VVC的“变换系数的缩放过程”中征集“缩放矩阵的导出过程”,而是可替换地将该情况添加到例外列表中:
–中间(nTbW)×(nTbH)缩放因子阵列m如下导出:
-如果以下条件中的一个或多个为真,则m[x][y]被设置为等于16:
-sps_scaling_list_enabled_flag等于0。
-transform_skip_flag[xTbY][yTbY]等于1。
-nTbW和nTbH都等于2
-否则,m是如第8.7.1款中指定的缩放矩阵的导出过程的输出,其以预测模式CuPredMode[xTbY][yTbY]、颜色分量变量cIdx、块宽度nTbW和块高度nTbH作为输入来调用。
或者可替换地,当块尺寸是2×2或类似条件时,在“缩放矩阵的导出过程”内将所有16个值分配给m[][]阵列。
至少一个其他实施例涉及用于size-64的亮度QM的较大尺寸。矩阵尺寸公式可以被改变以便为size-64的亮度QM启用例如16×16系数;示例语法如下所示:
本领域技术人员将清楚,上述实施例的示例语义中的refMatrixSize遵循相同的规则并且将相应地改变。
至少一个其他实施例涉及添加联合CbCr QM。可能需要用于用联合CbCr残差译码的块的特定QM。这些可以在常规色度一之后添加,从而产生下面的新标识映射表:
表7:具有额外联合CbCr QM的matrixId映射
这影响QM选择过程中QM的数量、矩阵尺寸公式、DC系数存在条件(从<14移动到<18)和matrixId公式,如下所示:
with log2TuWidth=log2(blkWidth)+(cIdx>0)?log2(SubWidthC):0,
log2TuHeight=log2(blkHeight)+(cIdx>0)?log2(SubHeightC):0,
sizeId=6–max(log2TuWidth,log2TuHeight),and
matrixTypeId=(2*cIdx+(predMode==MODE_INTRA?0:1))
语义中的其他相关位置受到影响(refMatrixSize等),其具有本领域技术人员将清楚的相应改变。
至少一个其他实施例涉及添加QM用于LNFST。LNFST是在VVC中使用的二次变换,其改变最终变换系数的空间频率含义,从而也影响QM系数的含义。可能需要特定QM。由于LNFST输出被限制为4×4,并且具有两个交替变换核心,因此这些QM可以被添加为在常规size-4之前或之后插入的伪TU尺寸(保持QM按递减尺寸排序),如下表所示。由于LNFST仅用于帧内(INTRA)模式,INTRA/INTER线将用于区分核心变换。
表6:具有用于LNFST的额外QM的matrixId映射
如在先前的示例中,语法和语义应当相应地修改,以反映新的matrixId映射:QM数量、矩阵尺寸、DC系数条件等。
在“量化矩阵导出过程”中用于选择正确QM的matrixId的导出也应当通过如上所述的表格描述或者通过如以下示例中那样改变等式/伪代码来更新:
至少一个其他实施例涉及通过强制使用4×4QM来用LNFST处理QM。这可以通过在LNFST被用于当前块的情况下,在“量化矩阵导出过程”中强制特定matrixId来实现,例如:
本申请描述了多个方面,包括工具、特征、实施例、模型、方法等。
例如,各个方面等包括但不限于:
-在定制QM的传输中保存比特,同时保持规范尽可能简单;
-改进QM预测,使得以低比特成本进行简单调整成为可能;
-提供指定全局偏移的简单方式;
-以下的一者或多者:除了复制和下采样之外,通过应用缩放因子扩展QM的预测;提供指定全局偏移的简单方式;以及允许利用可变长度残差的细化预测;
-将改进的预测与残差组合,以便以比完全译码潜在地更低的成本进一步细化QM;
-除了复制/缩小之外,还提供具有偏移的QM预测;
-提供QM预测加(可变长度)残差;
-除复制/缩小之外,还提供具有缩放因子的QM预测;
-提供QM预测,所述QM预测包括缩放因子与偏移或残差的组合;
-提供减少传送QM所需的比特数量,并允许用户定义的精度和比特成本之间的折衷,同时保持规范简单。
-基于包括以下特征中的一个或多个特征而提供减少传送QM所需的比特数量,并且允许用户定义的精度和比特成本之间的折衷,同时保持规范简单:
○将残差加到QM预测上;
○将缩放因子添加到QM预测;
○合并残差和缩放;
○总是使用预测(移除预测模式旗标)。
这些方面中的许多方面被描述为具有特异性,并且至少为了示出个体特性,通常以可能听起来受限的方式来描述。然而,这是为了描述清楚的目的,并且不限制那些方面的应用或范围。实际上,所有不同的方面可以组合和互换以提供另外的方面。此外,这些方面也可以与在较早的文档中描述的方面组合和互换。
本申请中描述和预期的方面可以以许多不同的形式实现。以下的图10、图11和图12提供了一些实施例,但是可以设想其他实施例,并且对图10、图11和图12的讨论不限制实现的广度。至少一个方面一般涉及视频编码和解码,并且至少一个其他方面一般涉及传送生成或编码的比特流。这些和其他方面可以实现为方法、装置、其上存储有用于根据所描述的任意方法来编码或解码视频数据的指令的计算机可读存储介质、和/或其上存储有根据所描述的任意方法生成的比特流的计算机可读存储介质。
在本申请中,术语“重构”和“解码”可以互换使用,术语“像素”和“样本”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。
本文描述了各种方法,并且每种方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要特定顺序的步骤或动作,否则可修改或组合特定步骤和/或动作的顺序和/或使用。
本申请中描述的各种方法和其他方面可用于修改模块,例如图10和图11所示的视频编码器100和解码器200的量化模块和逆量化模块(130,140,240)。此外,本发明的方面不限于VVC或HEVC,且可应用于(例如)其他标准和建议(无论是先前存在的还是将来开发的),以及任意此类标准和建议(包含VVC和HEVC)的扩展。除非另外指出或在技术上排除,否则本申请中所描述的方面可单独或组合使用。
在本申请中使用各种数值,例如考虑的最大量化矩阵的尺寸、块尺寸的数量。具体值是出于示例目的,并且所描述的方面不限于这些具体值。
图10示出了视频编码器100。可以设想该编码器100的变型,但是为了清楚起见,下面描述编码器100,而不描述所有预期的变型。
在被编码之前,视频序列可以经历预编码处理(101),例如,对输入颜色图片应用颜色变换(例如,从RGB 4:4:4到YCbCr 4:2:0的转换),或者执行输入图片分量的重新映射以便获得对压缩更有弹性的信号分布(例如,使用颜色分量之一的直方图均衡)。元数据可以与预处理相关联,并且被附加到比特流。
在编码器100中,如下所述,由编码器元件对图片进行编码。以例如CU为单位分割(102)并处理要编码的图片。每一单位(unit)是使用例如帧内或帧间模式被编码。当单位以帧内模式被编码时,其执行帧内预测(160)。在帧间模式中,执行运动估计(175)和运动补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的一者来编码单位,并且通过例如预测模式标志来指示帧内/帧间决定。例如通过从原始图像块中减去(110)预测块来计算预测残差。
然后,对预测残差进行变换(125)和量化(130)。对量化的变换系数以及运动向量和其他语法元素进行熵译码(145)以输出比特流。编码器也可跳过变换,并直接对未变换的残差信号应用量化。编码器可以绕过变换和量化两者,即,直接对残差进行译码而不应用变换或量化过程。
编码器对编码块进行解码,以提供用于进一步预测的参考。对量化变换系数进行逆量化(140)和逆变换(150)以对预测残差进行解码。组合(155)解码的预测残差和预测块,重构图像块。环内滤波器(165)被应用于重构的图片以执行例如去块/SAO(采样自适应偏移)滤波以减少编码伪像。将滤波图像存储在参考图片缓冲器(180)中。
图11示出了视频解码器200的框图。在解码器200中,比特流由如下所述的解码器元件解码。视频解码器200通常执行与如图10所述的编码回合互逆的解码回合。编码器100还通常执行视频解码作为编码视频数据的部分。
具体地,解码器的输入包括可以由视频编码器100生成的视频比特流。该比特流首先被熵解码(230)以获得变换系数、运动向量和其他译码信息。图片分割信息指示图片是如何被分割的。因此,解码器可以根据解码的图片分割信息来划分(235)图片。变换系数被逆量化(240)和逆变换(250)以解码预测残差。组合(255)解码的预测残差与预测块,重构图像块。可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得(270)预测块。环内滤波器(265)被应用于重构的图像。将滤波图像存储在参考图片缓冲器(280)中。
解码后的图片可以进一步经历后解码处理(285),例如,逆颜色变换(例如,从YCbCr 4:2:0到RGB 4:4:4的转换)或执行在预编码处理(101)中执行的重新映射过程的逆重新映射。后解码处理可以使用在预编码处理中导出并且在比特流中用信号通知的元数据。
图12示出了其中实现各个方面和实施例的系统的示例的框图。系统1000可以被实现为包括以下描述的各种组件的设备,并且被配置为执行本文档中描述的一个或多个方面。这样的设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板电脑、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、连接的家用电器和服务器。系统1000的元件可以单独地或组合地实现在单个集成电路(IC)、多个IC和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件分布在多个IC和/或分立组件上。在各种实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口通信地耦合到一个或多个其他系统或其他电子设备。在各种实施例中,系统1000被配置为实现本文档中描述的一个或多个方面。
系统1000包括至少一个处理器1010,其被配置为执行加载在其中的指令,以用于实现例如本文档中描述的各个方面。处理器1010可以包括嵌入式存储器、输入输出接口和本领域已知的各种其他电路。系统1000包括至少一个存储器1020(例如,易失性存储器设备和/或非易失性存储器设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接的存储设备(包括可拆卸的和不可拆卸的存储设备)和/或网络可访问的存储设备。
系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码视频或解码视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可包括在设备中以执行编码和/或解码功能的(一个或多个)模块。如已知的,设备可以包括编码和解码模块中的一个或两个。另外,编码器/解码器模块1030可实现为系统1000的单独元件或可并入处理器1010内作为如所属领域的技术人员已知的硬件与软件的组合。
要加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各个方面的程序代码可以存储在存储设备1040中,并且随后加载到存储器1020上以供处理器1010执行。根据各种实施例,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中的一个或多个可以在执行本文档中描述的过程期间存储各种项中的一个或多个。这些存储的项可以包括但不限于输入视频、解码视频或解码视频的部分、比特流、矩阵、变量以及来自等式、公式、运算和运算逻辑的处理的中间或最终结果。
在一些实施例中,处理器1010和/或编码器/解码器模块1030内的存储器用于存储指令,且提供用于在编码或解码期间需要的用于处理的工作存储器。然而,在其他实施例中,处理设备外部的存储器(例如,处理设备可为处理器1010或编码器/解码器模块1030)用于这些功能中的一者或多者。外部存储器可以是存储器1020和/或存储设备1040,例如,动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存用于存储例如电视的操作系统。在至少一个实施例中,诸如RAM的快速外部动态易失性存储器被用作视频译码和解码操作的工作存储器,诸如MPEG-2(MPEG是指运动图像专家组,MPEG-2也被称为ISO/IEC 13818,并且13818-1也被称为H.222,并且13818-2也被称为H.262)、HEVC(HEVC是指高效视频译码,也被称为H.265和MPEG-H部分2)或VVC(通用视频译码,由JVET开发的新标准,联合视频专家团队)。
如框1130中所示,可以通过各种输入设备来提供对系统1000的元件的输入。这样的输入设备包括但不限于:(i)接收例如由广播公司通过空中(air)传送的射频(RF)信号的RF部分;(ii)组件(COMP)输入端子(或COMP输入端子集合);(iii)通用串行总线(USB)输入端子;和/或(iv)高清晰度多媒体接口(HDMI)输入端子。图10中未示出的其他示例包括合成视频。
在各种实施例中,块1130的输入设备具有本领域已知的相关联的相应输入处理元件。例如,RF部分可以与适于以下的元件相关联:(i)选择期望频率(也称为选择信号,或将信号频带限制到频带);(ii)下变频所选择的信号;(iii)再次频带限制到较窄频带以选择(例如)在某些实施例中可以称为信道的信号频带;(iv)解调下变频和频带限制的信号;(v)执行纠错;以及(vi)解复用以选择期望的数据分组流。各种实施例的RF部分包括执行这些功能的一个或多个元件,例如,频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可以包括执行各种这些功能的调谐器,这些功能包括例如将所接收的信号下变频到较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,RF部分及其相关联的输入处理元件接收通过有线(例如,电缆)介质传送的RF信号,并通过滤波、下变频和再次滤波到期望的频带来执行频率选择。各种实施例重新安排上述(和其他)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同功能的其他元件。例如,添加元件可以包括在现有元件之间插入元件,例如,插入放大器和模数转换器。在各种实施例中,RF部分包括天线。
另外,USB和/或HDMI终端可以包括用于通过USB和/或HDMI连接将系统1000连接到其他电子设备的相应接口处理器。应当理解,输入处理的各个方面,例如,里德-所罗门纠错,可以根据需要在例如单独的输入处理IC或处理器1010内实现。类似地,USB或HDMI接口处理的各方面可以根据需要在单独的接口IC内或在处理器1010内实现。解调、纠错和解复用的流被提供给各种处理元件,包括例如处理器1010和编码器/解码器1030,其与存储器和存储元件结合操作以根据需要处理数据流以便在输出设备上呈现。
系统1000的各种元件可被提供在集成壳体内。在集成壳体内,各种元件可使用合适的连接布置1140,例如本领域已知的内部总线(包括IC间(I2C)总线)、布线和印刷电路板互连并在其间传送数据。
系统1000包括通信接口1050,其使得能够经由通信信道1060与其他设备通信。通信接口1050可以包括但不限于被配置为通过通信信道1060传送和接收数据的收发信机。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质内实现。
在各种实施例中,使用无线网络,例如Wi-Fi网络,例如IEEE 802.11(IEEE是指电气和电子工程师协会),将数据流式传输或以其他方式提供给系统1000。这些实施例的Wi-Fi信号通过适用于Wi-Fi通信的通信信道1060和通信接口1050来接收。这些实施例的通信信道1060通常连接到接入点或路由器,所述接入点或路由器提供对包括因特网的外部网络的接入以允许流式传输应用和其他过顶(over-the-top)通信。其他实施例使用机顶盒向系统1000提供流数据,该机顶盒通过输入块1130的HDMI连接传递数据。还有其他实施例使用输入块1130的RF连接向系统1000提供流数据。如上所述,各种实施例以非流方式提供数据。另外,各种实施例使用除Wi-Fi之外的无线网络,例如蜂窝网络或蓝牙网络。
系统1000可以向各种输出设备提供输出信号,所述输出设备包括显示器1100、扬声器1110和其他外围设备1120。各种实施例的显示器1100包含例如触摸屏显示器、有机发光二极管(OLED)显示器、弯曲显示器和/或可折叠显示器中的一者或多者。显示器1100可以用于电视、平板电脑、膝上型计算机、蜂窝电话(移动电话)或其他设备。显示器1100还可与其他组件集成(例如,如在智能电话中),或单独应用(例如,用于膝上型计算机的外部监视器)。在各实施例的各示例中,其他外围设备1120包括独立数字视频盘(或数字多功能盘)(DVR,两项)、盘播放器、立体声系统和/或照明系统中的一者或多者。各种实施例使用一个或多个外围设备1120,其基于系统1000的输出提供功能。例如,盘播放器执行播放系统1000的输出的功能。
在各种实施例中,使用诸如AV.链路、消费电子控制(CEC)或其他通信协议的信令(signaling)在系统1000和显示器1100、扬声器1110或其他外围设备1120之间传送控制信号,其使得能够在有或没有用户干预的情况下实现设备到设备控制。输出设备可以经由通过相应接口1070、1080和1090的专用连接通信地耦合到系统1000。或者,输出设备可以使用通信信道1060经由通信接口1050连接到系统1000。例如,显示器1100和扬声器1110可以与系统1000的其他组件一起集成在电子设备(例如电视机)中的单个单元中。在各种实施例中,例如显示接口1070包括显示驱动器,例如定时控制器(T Con)芯片。
例如,如果输入1130的RF部分是单独机顶盒的一部分,则显示器1100和扬声器1110可以替换地与其他组件中的一者或多者分离。在显示器1100和扬声器1110是外部组件的各种实施例中,输出信号可以经由专用输出连接来提供,所述专用输出连接例如包括HDMI端口、USB端口或COMP输出。
这些实施例可以由处理器1010、硬件或硬件和软件的组合实现的计算机软件来执行。作为非限制性示例,实施例可以由一个或多个集成电路实现。存储器1020可以是适合于技术环境的任意类型,并且可以使用任意适当的数据存储技术来实现,作为非限制性示例,诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。处理器1010可以是适合于技术环境的任意类型,并且可以包含作为非限制性示例的微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一者或多者。
图13中示出了实施例的另一实例。在图13中,输入信息,例如比特流,包括被编码的视频信息和其他信息(例如与被编码的视频信息相关联的信息(例如,一个或多个量化矩阵))以及控制信息(例如一个或多个语法元素)。在1310处,从输入,例如输入比特流,获得表示量化矩阵的至少一个系数的信息和语法元素。在1320处,基于语法元素确定表示至少一个系数的信息将被解译为残差。接着,在1330处,基于量化矩阵的预测与残差的组合来解码被编码的视频信息的至少一部分。关于图13示出和描述的特征的一个或多个示例在此之前例如关于图6示出和描述。
图14示出了实施例的另一示例。在图14中,在1410处,处理包括视频信息的输入,以获得视频信息和表示与该视频信息的至少一部分相关联的预测量化矩阵的至少一个系数的信息。在1420处,确定至少一个系数将被解译为残差。举例来说,对视频信息的处理可指示对残差的使用,以提供对某些视频信息的有利处理,例如,在编码视频信息时提供改进的压缩效率,或在解码被编码的视频信息时提供改进的视频质量。然后,在1430处,基于预测量化矩阵与残差的组合来编码视频信息的至少一部分。在1430处的编码还对指示所述至少一个系数将被解译为残差的语法元素进行编码。
本文描述的各种实现和实施例的示例涉及解码。如本申请中所使用的,“解码”可以包括例如对接收到的编码序列执行的过程中的全部或部分,以便产生适合于显示的最终输出。在各种实施例中,这样的过程包括通常由解码器执行的一个或多个过程,例如熵解码、逆量化、逆变换和差分解码。在各种实施例中,这样的过程还或备选地包括由本申请中描述的各种实现的解码器执行的过程。
作为进一步的示例,在一个实施例中,“解码”仅指熵解码,在另一实施例中,“解码”仅指差分解码,并且在另一实施例中,“解码”指熵解码和差分解码的组合。短语“解码过程”是否旨在具体地指代操作的子集或一般地指代更广泛的解码过程基于具体描述的上下文将是清楚的,并且相信是本领域技术人员所充分理解的。
各种实现涉及编码。以与以上关于“解码”的讨论类似的方式,如在本申请中使用的“编码”可以包括例如对输入视频序列执行的过程的全部或部分,以便产生编码的比特流。在各种实施例中,此类过程包括通常由编码器执行的一个或多个过程,例如分割、差分编码、变换、量化和熵编码。
作为进一步的示例,在一个实施例中,“编码”仅指熵编码,在另一实施例中,“编码”仅指差分编码,而在另一实施例中,“编码”指差分编码和熵编码的组合。短语“编码过程”是否旨在具体地指代操作的子集或一般地指代更广泛的编码过程将基于具体描述的上下文而变得清楚,并且相信是本领域技术人员所充分理解的。
注意,本文使用的语法元素,例如scaling_list_pred_mode_flag、scaling_list_pred_matrix_id_delta、scaling_list_dc_coef_minus8是描述性术语。因此,它们不排除使用其他语法元素名称。
当附图被呈现为流程图时,应当理解,它还提供了对应装置的框图。类似地,当附图被呈现为框图时,应当理解,它还提供了对应的方法/过程的流程图。
本文描述的实现和方面可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单一形式的实现的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实现也可以以其他形式(例如,装置或程序)来实现。例如,可以以适当的硬件、软件和固件来实现装置。所述方法可以在例如处理器中实现,所述处理器通常指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)和便于终端用户之间的信息通信的其他设备。
对“一个实施例”或“实施例”或“一个实现”或“实现”以及它们的其他变型的提及意味着结合实施例描述的特定特征、结构、特性等被包含在至少一个实施例中。因此,在贯穿本申请的各个地方出现的短语“在一个实施例中”或“在实施例中”或“在一个实现中”或“在实现中”以及任意其他变型的出现不一定都指同一实施例。
另外,本申请可以涉及“确定”各种信息。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器检索信息中的一者或多者。
此外,本申请可以涉及“访问”各种信息。访问信息可以包括例如接收信息、检索信息(例如,从存储器)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息中的一者或多者。
另外,本申请可以涉及“接收”各种信息。如同“访问”一样,接收旨在是广义的术语。接收信息可以包括例如访问信息或(例如,从存储器)检索信息中的一者或多者。此外,在诸如存储信息、处理信息、传送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,通常以一种方式或另一种方式涉及“接收”。
应当理解,例如在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况下,使用以下“/”、“和/或”以及“……中的至少一个”中的任意一个旨在涵盖仅对第一列出的选项(A)的选择、或仅对第二列出的选项(B)的选择、或对两个选项(A和B)的选择。作为进一步的示例,在“A、B和/或C”和“A、B和C中的至少一个”的情况下,这样的措词旨在包括仅选择第一个列出的选项(A),或者仅选择第二个列出的选项(B),或者仅选择第三个列出的选项(C),或者仅选择第一个和第二个列出的选项(A和B),或者仅选择第一个和第三个列出的选项(A和C),或者仅选择第二个和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。这可以扩展到所列的许多项,这对于本领域和相关领域的普通技术人员来说是清楚的。
如本领域技术人员将明白的,实现可以产生被格式化以携带例如可以被存储或传送的信息的各种信号。该信息可以包括例如用于执行方法的指令,或者由所描述的实现之一产生的数据。例如,信号可以被格式化以携带所描述的实施例的比特流。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如编码数据流和用被编码的数据流调制载波。信号携带的信息可以是例如模拟或数字信息。如已知的,信号可以通过各种不同的有线或无线链路来传送。该信号可以存储在处理器可读介质上。
在本公开中还支持和考虑了各种一般化的以及特殊化的实施例。根据本发明公开的实施例的示例包括但不限于以下内容。
通常,实施例的至少一个示例可以涉及一种方法,该方法包括:从包含被编码的视频信息的比特流获得表示量化矩阵的至少一个系数的信息和语法元素;基于所述语法元素确定表示所述至少一个系数的所述信息将被解译为残差;以及基于所述量化矩阵的预测与所述残差的组合对所述被编码的视频信息的至少一部分进行解码。
通常,实施例的至少一个示例可以涉及一种装置,包括一个或多个处理器,其被配置为:从包含被编码的视频信息的比特流获得表示量化矩阵的至少一个系数的信息和语法元素;基于所述语法元素确定表示所述至少一个系数的所述信息将被解译为残差;以及基于所述量化矩阵的预测与所述残差的组合对所述被编码的视频信息的至少一部分进行解码。
通常,实施例的至少一个示例可以涉及一种方法,该方法包括:获得视频信息和表示与所述视频信息的至少一部分相关联的预测量化矩阵的至少一个系数的信息;确定所述至少一个系数将被解译为残差;以及基于所述预测量化矩阵与所述残差的组合对所述视频信息的所述至少一部分进行编码,且对指示所述至少一个系数将被解译为残差的语法元素进行编码。
通常,实施例的至少一个示例可以涉及一种装置,包括一个或多个处理器,其被配置为:获得视频信息及表示与所述视频信息的至少一部分相关联的预测量化矩阵的至少一个系数的信息;确定所述至少一个系数将被解译为残差;以及基于所述预测量化矩阵与所述残差的组合对所述视频信息的所述至少一部分进行编码,且对指示所述至少一个系数将被解译为残差的语法元素进行编码。
通常,实施例的至少一个示例可以涉及如本文所述的包括残差的方法或装置,其中残差包括可变长度残差。
通常,实施例的至少一个示例可以涉及如本文所述的方法或装置,其中至少一个系数包括多个预测量化矩阵系数,且组合包括将所述残差加到所述多个预测量化矩阵系数。
通常,实施例的至少一个示例可以涉及如本文所述的方法或装置,其中组合进一步包括应用缩放因子。
通常,实施例的至少一个示例可以涉及如本文所述的方法或装置,其中组合包括将缩放因子应用于多个预测量化矩阵系数并随后添加残差。
通常,实施例的至少一个示例可以涉及如本文所述的方法或装置,其中组合进一步包括应用偏移。
通常,实施例的至少一个示例可以涉及如本文所述的方法或装置,其中比特流包含用于在量化矩阵未被预测时传送至少一个系数的一个或多个语法元素,所述一个或多个语法元素可在量化矩阵被预测时再次用于传送残差。
通常,实施例的至少一个示例可涉及如本文所描述的方法或装置,其产生包含用于在量化矩阵未被预测时传送至少一个系数的一个或多个语法元素的比特流,所述比特流可在量化矩阵被预测时再次用于传送残差。
通常,实施例的一个或多个其他示例还可以提供计算机可读存储介质,例如,非易失性计算机可读存储介质,其上存储有用于根据本文描述的方法或装置对诸如视频数据的图片信息进行编码或解码的指令。一个或多个实施例还可以提供一种计算机可读存储介质,其上存储有根据本文描述的方法或装置生成的比特流。一个或多个实施例还可以提供用于传送或接收根据本文描述的方法或装置生成的比特流的方法和装置。
通常,实施例的另一示例可以包括信号,该信号包括根据本文描述的任意方法生成的数据。
通常,实施例的另一示例可涉及如本文所述且包括用于在量化矩阵未被预测时表示量化矩阵的至少一个系数的至少一个语法元素的信号或比特流,且其中所述至少一个语法元素用于在量化矩阵被预测时表示残差。
通常,实施例的另一示例可以包括一种设备,该设备包括根据本文所述的实施例的任意示例的装置,以及以下中的至少一者:(i)被配置为接收信号的天线,该信号包括表示图像信息的数据;(ii)被配置为将接收的信号限制到包括表示图像信息的数据的频带限制器;以及(iii)被配置为显示来自图像信息的图像的显示器。
通常,实施例的另一示例可以涉及如本文所述的设备,并且包括电视、电视信号接收机、机顶盒、网关设备、移动设备、蜂窝电话、平板电脑或其他电子设备中的一者。
本文描述了各种实施例。这些实施例的特征可以在各种权利要求类别和类型上单独提供或以任意组合提供。此外,实施例可以包括跨越各种权利要求类别和类型的单独或任意组合的以下特征、设备或方面中的一者或多者:
●提供视频编码和/或解码,包括在定制QM的传输中节省比特,同时保持规范尽可能简单;
●提供视频编码和/或解码,包括改进QM预测,使得可以以低比特成本进行简单的调整;
●提供视频编码和/或解码,包括指定全局偏移的简单方式;
●提供视频编码和/或解码,包括以下一者或多者:除复制和下采样之外,还通过应用缩放因子来扩展QM的预测;提供指定全局偏移的简单方式;以及允许利用可变长度残差来细化预测;
●提供视频编码和/或解码,包括将改进的预测与残差组合,以进一步细化QM,其具有比完全编码潜在地更低的成本;
●提供视频编码和/或解码,包括除复制/缩小之外的具有偏移的QM预测;
●提供视频编码和/或解码,包括QM预测加(可变长度)残差;
●提供视频编码和/或解码,包括除复制/缩小之外的具有缩放因子的QM预测;
●提供视频编码和/或解码,包括QM预测,所述QM预测包括缩放因子与偏移或残差的组合;
●提供视频编码和/或解码,包括减少传送QM所需的比特数量,并且允许用户定义的精度和比特成本之间的折衷,同时保持规范简单;
●提供视频编码和/或解码,包括减少传送QM所需的比特数量,并且允许用户定义的精度和比特成本之间的折衷,同时基于包括以下特征中的一者或多者来保持规范简单:
○将残差添加到QM预测;
○将缩放因子添加到QM预测;
○组合残差和缩放;
○总是使用预测(移除预测模式标志);
●提供视频编码和/或解码,包括在针对QM预测的复制之上的修改,所述修改包括添加全局偏移,其中全局偏移可被显式地指定;
●提供视频编码和/或解码,包括全局偏移,所述全局偏移可被指定为DPCM译码残差的第一系数;
●提供视频编码和/或解码,包括将残差添加到预测;
●提供视频编码和/或解码,包括在QM预测之上包括残差以细化预测或提供用于QM的优化译码方案(预测加残差而不是直接译码);
●提供视频编码和/或解码,包括用于在未被预测时传送QM系数的语法,所述语法能够在QM被预测时被重新用于传送残差;
●提供视频编码和/或解码,包括添加残差,其中所述残差的系数的数量可以是可变的;
●提供视频编码和/或解码,包括添加残差,其中添加所述残差可以涉及在处于预测模式中时使用标志以指示系数仍然可以与非预测模式一起被传送但是被解译为残差;
●提供视频编码和/或解码,包括当不在预测模式中时,系数仍然可以被解译为在默认QM预测之上的残差;
●提供视频编码和/或解码,包括在预测之上使用可变长度残差;
●提供视频编码和/或解码,包括在预测之上使用可变长度残差,其中残差系数的数量能够由以下中的一者或多者来指示:
○系数的显式数量;或
○指示存在残差的标志,之后是残差系数的数量减去1,其可以被限制为2的幂;或者
○1+残差系数的数量的log2,其中零指示无残差,其中这可被译码为固定长度(长度潜在地取决于matrixId)或指数哥伦布译码;或者
○列表中的索引,其中包括列表包含系数的数量,例如该列表可以由标准固定并且不需要被传送,诸如{0,1,2,4,8,16,32,64};或者
○只要至少一个常规残差系数要被发送,残差系数的数量就不需要计数可被传送的潜在额外DC残差系数;
●提供视频编码和/或解码,包括将缩放因子添加到预测,例如将缩放因子添加到复制/抽取;
●提供视频编码和/或解码,包括QM预测,所述QM预测包括可变长度残差和缩放因子,从而使得能够基于缩放和/或偏移来调整QM,并且使得能够基于所述可变长度残差来在用户定义的精度和比特成本之间进行折衷;
●提供视频编码和/或解码,包括QM预测,所述QM预测包括可变长度残差和缩放因子,从而使得能够基于缩放和/或偏移来调整QM,并且使得能够基于所述可变长度残差来在用户定义的精度和比特成本之间进行折衷,其中所述缩放因子可以是整数,被归一化到数字N(例如,16),并且其中缩放公式在中性值附近缩放参考QM;
●提供视频编码和/或解码,包括将缩放因子添加到预测,其中所述缩放因子可以是整数,被归一化到数字N,并且其中所述缩放因子可以作为N的偏移被传送;
●提供视频编码和/或解码,包括移除预测模式标志;
●比特流或信号,包括所描述的语法元素中的一者或多者或其变型;
●比特流或信号,包括语法,所述语法传达根据所描述的实施例中的任意实施例生成的信息;
●在信令中插入使得所述解码器能够以对应于编码器所使用的方式操作的语法元素;
●创建和/或传送和/或接收和/或解码包括所描述的语法元素或其变型中的一者或多者的比特流或信号;
●根据所描述的任意实施例创建和/或传送和/或接收和/或解码;
●根据所描述的任意实施例的方法、过程、装置、存储指令的介质、存储数据的介质或信号;
●TV、机顶盒、蜂窝电话、平板电脑或提供用于实现所描述的任意实施例的其他电子设备;
●TV、机顶盒、蜂窝电话、平板电脑或提供用于实现所描述的任意实施例并且显示(例如,使用监视器、屏幕或其他类型的显示器)结果图像的其他电子设备;
●TV、机顶盒、蜂窝电话、平板电脑或选择(例如,使用调谐器)信道以接收包括编码图像的信号并且提供用于实现所描述的任意实施例的其他电子设备;
●TV、机顶盒、蜂窝电话、平板电脑或通过空中接收(例如,使用天线)包括编码图像的信号的其他电子设备,并且提供用于实现所描述的任意实施例。
Claims (18)
1.一种方法,包括:
从包含被编码的视频信息的比特流获得表示量化矩阵的至少一个系数的信息和语法元素;
基于所述语法元素,确定表示所述至少一个系数的所述信息将被解译为残差;以及
基于所述量化矩阵的预测与所述残差的组合,对所述被编码的视频信息的至少一部分进行解码。
2.一种装置,包括:
一个或多个处理器,被配置为:
从包含被编码的视频信息的比特流获得表示量化矩阵的至少一个系数的信息和语法元素;
基于所述语法元素,确定表示所述至少一个系数的所述信息将被解译为残差;以及
基于所述量化矩阵的预测与所述残差的组合,对所述被编码的视频信息的至少一部分进行解码。
3.一种方法,包括:
获得视频信息和表示与所述视频信息的至少一部分相关联的预测量化矩阵的至少一个系数的信息;
确定所述至少一个系数将被解译为残差;以及
基于所述预测量化矩阵与所述残差的组合,对所述视频信息的所述至少一部分进行编码,及对指示所述至少一个系数将被解译为残差的语法元素进行编码。
4.一种装置,包括:
一个或多个处理器,被配置为:
获得视频信息和表示与所述视频信息的至少一部分相关联的预测量化矩阵的至少一个系数的信息;
确定所述至少一个系数将被解译为残差;以及
基于所述预测量化矩阵与所述残差的组合,对所述视频信息的所述至少一部分进行编码,且对指示所述至少一个系数将被解译为残差的语法元素进行编码。
5.根据前述权利要求中任意项所述的方法或装置,其中所述残差包括可变长度残差。
6.根据权利要求1至5中任意项所述的方法或装置,其中所述至少一个系数包括多个预测量化矩阵系数,且所述组合包括将所述残差加到所述多个预测量化矩阵系数。
7.根据前述权利要求中任意项所述的方法或装置,其中所述组合进一步包括应用缩放因子。
8.根据与权利要求6组合的权利要求7所述的方法或装置,其中所述组合包括将所述缩放因子应用于所述多个预测量化矩阵系数,且然后添加所述残差。
9.根据前述权利要求中任意项所述的方法或装置,其中所述组合还包括应用偏移。
10.根据权利要求1所述的方法或根据权利要求2所述的装置,其中所述比特流包含用于在所述量化矩阵未被预测时传送所述至少一个系数的一个或多个语法元素,所述一个或多个语法元素能够在所述量化矩阵被预测时再次用于传送所述残差。
11.根据权利要求3所述的方法,其中所述编码产生比特流,或者根据权利要求4所述的装置,其中被配置为编码的所述至少一个处理器产生比特流,该比特流包含用于在所述量化矩阵未被预测时传送所述至少一个系数的一个或多个语法元素,所述一个或多个语法元素能够在所述量化矩阵被预测时再次用于传送所述残差。
12.一种包括指令的计算机程序产品,所述指令在由计算机执行时使所述计算机执行根据权利要求1、3或5-11中任意项所述的方法。
13.一种存储可执行程序指令的非暂态计算机可读介质,所述可执行程序指令使执行所述指令的计算机执行根据权利要求1、3或5-11中任意项所述的方法。
14.一种信号,包括根据权利要求3或从属于权利要求3的权利要求5-11中任意项所述的方法生成的数据。
15.一种比特流,其被格式化为包括根据权利要求3或从属于权利要求3的权利要求5-11中任意项所述的方法的语法元素和被编码的图像信息。
16.根据权利要求14所述的信号或根据权利要求15所述的比特流,其包括用于在所述量化矩阵未被预测时表示所述量化矩阵的所述至少一个系数的至少一个语法元素,且其中所述至少一个语法元素用于在所述量化矩阵被预测时表示所述残差。
17.一种设备,包括:
根据权利要求2、4或从属于权利要求2或4的权利要求5至9中任意项所述的装置;以及
以下中的至少一者:天线,其被配置为接收信号,所述信号包含表示所述图像信息的数据;(ii)频带限制器,其被配置为将所接收的信号限制到包含表示所述图像信息的所述数据的频带;以及(iii)显示器,其被配置为显示来自所述图像信息的图像。
18.根据权利要求15所述的设备,其中所述设备包括电视、电视信号接收器、机顶盒、网关设备、移动设备、蜂窝电话、平板电脑或其他电子设备中的一者。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19306013.4 | 2019-08-14 | ||
EP19306013 | 2019-08-14 | ||
EP19306127.2 | 2019-09-19 | ||
EP19306127 | 2019-09-19 | ||
EP19306205.6 | 2019-09-26 | ||
EP19306205 | 2019-09-26 | ||
PCT/EP2020/072195 WO2021028321A1 (en) | 2019-08-14 | 2020-08-06 | Quantization matrix prediction for video encoding and decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114270858A true CN114270858A (zh) | 2022-04-01 |
Family
ID=71994518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080057371.7A Pending CN114270858A (zh) | 2019-08-14 | 2020-08-06 | 用于视频编码和解码的量化矩阵预测 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230084787A1 (zh) |
EP (1) | EP4014490A1 (zh) |
JP (1) | JP2022544950A (zh) |
CN (1) | CN114270858A (zh) |
MX (1) | MX2022001836A (zh) |
WO (1) | WO2021028321A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2136566A1 (en) * | 2007-04-16 | 2009-12-23 | Kabushiki Kaisha Toshiba | Image encoding and image decoding method and device |
US20140010279A1 (en) * | 2012-07-09 | 2014-01-09 | Qualcomm Incorporated | Most probable mode order extension for difference domain intra prediction |
EP2840791A1 (en) * | 2012-04-16 | 2015-02-25 | Electronics and Telecommunications Research Institute | Method and device for encoding/decoding image |
US20180302621A1 (en) * | 2017-04-14 | 2018-10-18 | Apple Inc. | Techniques for Calculation of Quantization Matrices in Video Coding |
CN108924571A (zh) * | 2012-01-20 | 2018-11-30 | 韩国电子通信研究院 | 视频编解码方法、存储比特流方法、计算机可读存储介质 |
-
2020
- 2020-08-06 US US17/634,346 patent/US20230084787A1/en active Pending
- 2020-08-06 CN CN202080057371.7A patent/CN114270858A/zh active Pending
- 2020-08-06 EP EP20753352.2A patent/EP4014490A1/en active Pending
- 2020-08-06 JP JP2022509117A patent/JP2022544950A/ja active Pending
- 2020-08-06 WO PCT/EP2020/072195 patent/WO2021028321A1/en unknown
- 2020-08-06 MX MX2022001836A patent/MX2022001836A/es unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2136566A1 (en) * | 2007-04-16 | 2009-12-23 | Kabushiki Kaisha Toshiba | Image encoding and image decoding method and device |
CN108924571A (zh) * | 2012-01-20 | 2018-11-30 | 韩国电子通信研究院 | 视频编解码方法、存储比特流方法、计算机可读存储介质 |
EP2840791A1 (en) * | 2012-04-16 | 2015-02-25 | Electronics and Telecommunications Research Institute | Method and device for encoding/decoding image |
CN104488273A (zh) * | 2012-04-16 | 2015-04-01 | 韩国电子通信研究院 | 用于编码/解码图像的方法和装置 |
US20140010279A1 (en) * | 2012-07-09 | 2014-01-09 | Qualcomm Incorporated | Most probable mode order extension for difference domain intra prediction |
US20180302621A1 (en) * | 2017-04-14 | 2018-10-18 | Apple Inc. | Techniques for Calculation of Quantization Matrices in Video Coding |
Non-Patent Citations (1)
Title |
---|
XIN ZHAO ETAL: "Cross-check of JVET-E0036 On Adaptive Multiple Core Transform for Chroma", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 5TH MEETING, 20 January 2017 (2017-01-20) * |
Also Published As
Publication number | Publication date |
---|---|
JP2022544950A (ja) | 2022-10-24 |
US20230084787A1 (en) | 2023-03-16 |
EP4014490A1 (en) | 2022-06-22 |
MX2022001836A (es) | 2022-03-17 |
WO2021028321A1 (en) | 2021-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210007987A (ko) | 쿼드트리-이진 트리에 대한 블록 형상 적응적 인트라 예측 방향들 | |
CN115104301A (zh) | 用于视频编码或解码的基于神经网络的帧内预测 | |
CN112771874A (zh) | 用于画面编码和解码的方法和设备 | |
KR20210066823A (ko) | 광각 인트라 예측을 위한 방향들 | |
CN112335246A (zh) | 用于基于适应性系数组的视频编码和解码的方法及设备 | |
KR20210058846A (ko) | 인트라 변환 코딩 및 광각 인트라 예측의 조화 | |
EP3641311A1 (en) | Encoding and decoding methods and apparatus | |
CN117176950A (zh) | 视频编码和解码中的色度量化参数调整 | |
CN115280786A (zh) | 用于本地色度量化参数控制的高级约束标记 | |
US20220038704A1 (en) | Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma | |
CN114930819A (zh) | 三角形合并模式中的子块合并候选 | |
CN114641994A (zh) | 编码和解码方法及装置 | |
EP3641312A1 (en) | Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma | |
CN114270858A (zh) | 用于视频编码和解码的量化矩阵预测 | |
US20230262268A1 (en) | Chroma format dependent quantization matrices for video encoding and decoding | |
US20230232003A1 (en) | Single-index quantization matrix design for video encoding and decoding | |
US20220360781A1 (en) | Video encoding and decoding using block area based quantization matrices | |
US20230232045A1 (en) | Scaling process for joint chroma coded blocks | |
WO2020260310A1 (en) | Quantization matrices selection for separate color plane mode | |
WO2024002879A1 (en) | Reconstruction by blending prediction and residual | |
CN114631314A (zh) | 变换大小与编码工具的相互作用 | |
CN117616752A (zh) | 用于图片重采样的高级语法 | |
CN114788275A (zh) | 用于联合Cb-Cr编码的量化矩阵的推导 | |
CN114128275A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231019 Address after: Paris France Applicant after: Interactive digital CE patent holdings Ltd. Address before: France - cesson Sevigne Applicant before: Interactive digital VC holdings France Ltd. |
|
TA01 | Transfer of patent application right |