一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

变换跳过模式的信令通知的制作方法

2022-04-02 16:53:07 来源:中国专利 TAG:

变换跳过模式的信令通知
1.相关申请的交叉引用
2.根据适用的专利法和/或依据巴黎公约的规则,本技术及时要求于2019年8月20日提交的国际专利申请no.pct/cn2019/101555的优先权和利益。出于根据该法律的所有目的,将前述申请的全部公开内容以引用方式并入本文,以作为本技术公开内容的部分。
技术领域
3.本专利文件涉及视频编解码技术、设备和系统。


背景技术:

4.尽管视频压缩有所进步,数字视频在互联网和其他数字通信网络上仍占最大的带宽使用量。随着能够接收和显示视频的连接用户设备的数量增加,预计数字视频使用所需的带宽将继续增长。


技术实现要素:

5.公开了涉及数字视频编解码的,尤其涉及使用缩放矩阵和/或变换矩阵的视频编解码和解码的设备、系统和方法。
6.在一个示例性方面,公开了一种视频处理方法。该方法包括:执行视频的视频块与该视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,其中,该格式规则规定通过该视频块的编解码条件确定变换跳过模式对该视频块的适用性,其中,该格式规则规定从该编解码表示中省略指示变换跳过模式的适用性的语法元素,并且其中,该变换跳过模式包括在编码成该编解码表示之前,跳过对至少一些系数应用正向变换,或者在解码期间,在从该编解码表示解码之前,跳过对至少一些系数应用逆向变换。
7.在另一个示例性方面,公开了一种视频处理方法。该方法包括:为视频的两个紧邻视频块与该视频的编解码表示之间的转换,根据是否为该转换使用正向变换或逆向变换而确定是否将为该转换使用环路滤波器或重建后滤波器,其中,该正向变换包括在编码成该编解码表示之前,跳过对至少一些系数应用正向变换,或者在解码期间,在从该编解码表示解码之前,跳过对至少一些系数应用逆向变换;以及基于环路滤波器或重建后滤波器的使用而执行该转换。
8.在另一个示例性方面,公开了一种视频处理方法。该方法包括:为视频的视频块与该视频的编解码表示之间的转换,基于该视频块的编解码模式确定缩放工具的因子;以及使用该缩放工具执行该转换,其中,该缩放工具的使用包括:在编码期间对表示该视频块的至少一些系数缩放或者在解码期间对来自该编解码表示的至少一些系数去缩放。
9.在另一个示例性方面中,公开了一种视频处理方法。该方法包括:为视频的视频块与该视频的编解码表示之间的转换,由于为视频块的转换的块差分脉冲编解码调制(bdpcm)编解码工具或量化残差bdpcm(qr-bdpcm)编解码工具而确定禁止使用缩放工具;以及在不使用该缩放工具的情况下执行该转换,其中,该缩放根据的使用包括:在编码期间对
表示该视频块的至少一些系数缩放或者在解码期间对来自该编解码表示的至少一些系数去缩放。
10.在另一个示例性方面,公开了一种视频处理方法。该方法包括:为视频的视频块与该视频的编解码表示之间的转换,基于为该转换选择的变换矩阵选择缩放矩阵,其中,该缩放矩阵用于缩放视频块的至少一些系数,并且其中,变换矩阵用于在该转换期间变换视频块的至少一些系数;以及使用缩放矩阵执行该转换。
11.在另一个示例性方面,公开了一种视频处理方法。该方法包括:根据规则,基于是否对视频的视频块的部分应用二次变换矩阵而确定是否应用缩放矩阵,其中,该缩放矩阵用于缩放该视频块的至少一些系数,并且其中,该二次变换矩阵用于在该转换期间变换该视频块的部分的至少一些残差系数;以及使用所选择的缩放矩阵执行该视频的视频块与该视频的比特流表示之间的转换。
12.在另一个示例性方面,公开了一种视频处理方法。该方法包括:对具有非方形形状的视频块,确定在视频的该视频块与该视频的编解码表示之间的转换中使用的缩放矩阵,其中,该编解码表示中的语法元素信令通知该缩放矩阵,并且其中,该缩放矩阵用于在该转换期间缩放视频块的至少一些系数;以及基于该缩放矩阵执行该转换。
13.在另一个示例性方面,公开了一种视频处理方法。该方法包括执行视频的视频块与该视频的编解码表示之间的转换,其中,基于规则,该视频块包括第一数量的位置,在这些位置上在该转换期间应用缩放矩阵,并且该视频块还包括第二数量的位置,在这些位置上在该转换期间不应用该缩放矩阵。
14.在另一个示例性方面,公开了一种视频处理方法。该方法包括:确定将在视频的视频块与该视频的编解码表示之间的转换期间应用缩放矩阵;以及基于该缩放矩阵执行该转换,其中,该编解码表示指示该缩放矩阵中的元素的数量,并且其中,该数量取决于是否对该视频块的系数应用系数归零。
15.在另一个示例性方面,公开了一种视频处理方法。该方法包括:根据规则执行视频的视频块与该视频的编解码表示之间的转换,其中,在对该视频块的变换系数应用k
×
l变换矩阵之后,在对除了左上m
×
n个变换系数之外的所有变换系数归零之后,该视频块用该编解码表示来表示,其中,该编解码表示配置为排除对缩放矩阵的处于对应于归零的位置上的元素的信令通知,其中,该缩放矩阵用于对变换系数进行缩放。
16.在另一个示例性方面,公开了一种视频处理方法。该方法包括在视频的视频块与该视频的编解码表示之间的转换期间,基于规则确定是否将基于该视频块的尺寸使用单个量化矩阵,其中,所有具有该尺寸的视频块都使用该单个量化矩阵;以及使用该量化矩阵执行该转换。
17.在另一个示例性方面,公开了一种视频处理方法。该方法包括:为视频的视频块的编解码表示与该视频块之间的转换,基于编解码模式信息确定是否为该转换启用变换跳过模式;以及基于该确定执行该转换,其中,在变换跳过模式中,在该转换期间跳过对表示该视频块的至少一些系数的变换应用。
18.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:由于为视频块的编解码表示和该视频块之间的转换使用了块差分脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)模式而确定为该转换使用缩放矩阵;以及使用该缩放矩阵执行该转换,其
中,该缩放矩阵用于在该转换期间对表示该视频块的至少一些系数进行缩放。
19.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:由于为视频块的编解码表示和该视频块之间的转换使用了块差分脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)模式而禁止对该转换使用缩放矩阵;以及使用该缩放矩阵执行该转换,其中,该缩放矩阵用于在该转换期间对表示该视频块的至少一些系数进行缩放。
20.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:为视频的视频块的编解码表示与该视频块之间的转换,根据是否为该转换启用变换跳过模式而确定环路滤波器的适用性;以及基于环路滤波器的适用性执行该转换,其中,在变换跳过模式中,在该转换期间跳过对表示该视频块的至少一些系数的变换应用。
21.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:为视频的视频块与视频块的编解码表示之间的转换选择缩放矩阵,使得同一缩放矩阵用于基于帧间编解码和帧内块复制编解码的转换;以及使用所选择的缩放矩阵执行该转换,其中,该缩放矩阵用于缩放所述视频块的至少一些系数。
22.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:基于为视频的视频块与视频块的编解码表示之间的转换选择的变换矩阵选择为该转换的缩放矩阵;以及使用所选择的缩放矩阵执行该转换,其中,该缩放矩阵用于缩放视频块的至少一些系数,并且其中,该变换矩阵用于在该转换期间变换视频块的至少一些系数。
23.在另一个示例性方面当中,公开了另一种视频处理方法。该方法包括:基于为视频的视频块与视频块的编解码表示之间的转换选择的二次变换矩阵选择为该转换的缩放矩阵;以及使用所选择的缩放矩阵执行该转换,其中,该缩放矩阵用于缩放视频块的至少一些系数,并且其中,该二次变换矩阵用于在该转换期间变换视频块的至少一些残差系数。
24.在另一个示例性方面当中,公开了另一种视频处理方法。该方法包括:对具有非方形形状的视频块,确定在该视频块与该视频块的编解码表示之间的转换中使用的缩放矩阵,其中,该编解码表示中的语法元素信令通知该缩放矩阵;以及基于该缩放矩阵执行该转换,其中,该缩放矩阵用于在该转换期间缩放视频块的至少一些系数。
25.在另一个示例性方面当中,公开了另一种视频处理方法。该方法包括:确定将在视频块的编解码表示与该视频块之间的转换期间部分应用的缩放矩阵;以及通过部分应用该缩放矩阵从而在该视频块的第一组位置上应用该缩放矩阵并且在该视频块的其余位置上禁用该缩放矩阵来执行该转换。
26.在另一个示例性方面当中,公开了另一种视频处理方法。该方法包括:确定将在视频块的编解码表示与该视频块之间的转换期间应用的缩放矩阵;以及基于该缩放矩阵执行该转换,其中,该编解码表示信令通知该缩放矩阵的元素的数量,其中,该数量取决于该转换中的系数归零的应用。
27.在另一个示例性方面当中,公开了另一种视频处理方法。该方法包括:在视频块与该视频块的编解码表示之间的转换期间,基于特定类型的视频块的尺寸确定要使用的单个量化矩阵;以及使用该量化矩阵执行该转换。
28.在又一代表性方面中,上述方法被体现为处理器可执行代码的形式并存储于计算机可读程序介质中。
29.在又一代表性方面当中,公开了一种设备,该设备被配置为或可用于执行上述方
法。该设备可以包括被编程为实施这种方法的处理器。
30.在又一典型的方面,一种视频解码器装置可以实施本文描述的方法。
31.在附图、说明书和权利要求书中更详细地描述了所公开的技术的上述和其他方面和特征。
附图说明
32.图1是一种示例性视频编码器实施方式的框图。
33.图2示出了二次变换的示例。
34.图3示出了缩减二次变换(rst)的示例。
35.图4是在所提出的依赖性量化方案中使用的两个标量量化器的例示。
36.图5示出了所提出的依赖性量化的状态转换和量化器选择的示例。
37.图6a-图6b示出了对角线扫描顺序的示例。
38.图7示出了用于qm信令通知的选定位置的示例(32x32变换尺寸)。
39.图8示出了用于qm信令通知的选定位置的示例(64x64变换尺寸)。
40.图9示出了对系数应用归零的示例。
41.图10示出了仅信令通知虚线区域(例如,mxn区域)内的选定元的示例。
42.图11是视频处理硬件平台的示例的框图。
43.图12是视频处理的示例性方法的流程图。
44.图13是示出了视频解码器的示例的框图。
45.图14是示出了示例性视频处理系统的框图,在该系统中可以实施本文公开的各种技术。
46.图15是示出了可以利用本公开的技术的示例性视频编解码系统的框图。
47.图16是示出了视频编码器的示例的框图。
48.图17-27是视频处理的示例性方法的流程图。
具体实施方式
49.可以将所公开的技术的实施例应用于现有视频编解码标准(例如,hevc、h.265)和将来的标准,以改善压缩性能。在本文中,使用章节标题来提高描述的可读性,并且不以任何方式使讨论或实施例(和/或实施方式)仅局限于各自章节。
50.1.概述
51.本文件涉及图像/视频编解码技术。具体地,本文件涉及图像/视频编解码中的残差编解码。其可以应用于现有的视频编解码标准,如hevc,或待定案的标准(多功能视频编解码)。其还可以适用于未来的视频编解码标准或视频编解码器。
52.2.背景
53.视频编解码标准主要是通过开发公知的itu-t和iso/iec标准而演变的。itu-t开发了h.261和h.263,iso/iec开发了mpeg-1和mpeg-4视觉,并且两个组织联合开发了h.262/mpeg-2视频、h.264/mpeg-4高级视频编解码(avc)和h.265/hevc标准。自h.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索hevc之外的未来视频编解码技术,vceg和mpeg于2015年共同成立了联合视频探索团队(jvet)。从那
时起,jvet采用了许多新的方法,并将其应用到了名为联合探索模型(jem)的参考软件中。2018年4月,在vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间创建了联合视频专家团队(jvet),其致力于研究以相较于hevc有50%的比特率下降为目标的vvc标准。
54.可以在下述网址找到vvc草案的最新版本,即多功能视频编解码(草案5):
55.http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=6640
56.可以在下述网址找到vvc的名为vtm的最新参考软件:
57.https://vcgit.hhi.fraunhofer.de/jvet/vvcsoftware_vtm/tags/vtm-4.02.1
58.2.1.颜色空间和色度下采样
59.颜色空间又名颜色模型(或颜色系统),其是一种简单地将颜色的范围描述成数的元组的抽象数学模型,数的元组通常是3个或4个值或颜色分量(例如,rgb)。基本来讲,颜色空间是坐标系和子空间的阐述。
60.对于视频压缩而言,最频繁使用的颜色空间是ycbcr和rgb。
61.ycbcr、y

cbcr或y pb/cb pr/cr(又写作ycbcr或y'cbcr)是被用作视频和数字摄影系统中的彩色图像管道的部分的一系列颜色空间。y

是亮度分量,cb和cr是蓝色差和红色差色度分量。y

(首选的)有别于作为亮度的y,从而意味着基于经过伽马校正的rgb原色对光强进行非线性编码。
62.色度下采样是通过对色度信息实施比亮度信息更低的分辨率来对图像编码的惯例,其利用了人类视觉系统对颜色差异的敏锐性低于对亮度的敏锐性的特点。
63.2.1.1. 4:4:4
64.三个y'cbcr分量中的每者具有相同的采样速率,因而没有色度子采样。这一方案有时被用在高端胶片扫描仪和电影后期制作当中。
65.2.1.2. 4:2:2
66.按照亮度的采样速率的一半对两个色度分量采样:使水平色度分辨率减半。这使未压缩视频信号的带宽下降了三分之一,而几乎没有视觉差异。
67.2.1.3. 4:2:0
68.在4:2:0当中,与4:1:1相比使水平采样加倍,但是由于在这一方案中仅隔行对cb和cr通道采样,因而垂直分辨率减半。因而,数据速率相同。在水平和垂直方向两者上都以二分之一对cb和cr每者子采样。有三种4:2:0方案的变型,它们具有不同的水平和垂直定址(siting)。
69.·
在mpeg-2中,cb和cr水平共址(cosit)。cb和cr在垂直方向内定址于像素之间(填隙定址)。
70.·
在jpeg/jfif、h.261和mpeg-1中,cb和cr在相隔一个的亮度样点之间半途填隙定址。
71.·
在4:2:0dv中,cb和cr在水平方向内共址。在垂直方向内,它们在隔行上共址。
72.2.2.典型视频编解码器的编解码流程
73.图1示出了vvc的编码器框图的示例,其含有三个环路滤波框:去方块滤波器(df)、样点自适应偏移(sao)和alf。与使用预定义滤波器的df不同,sao和alf借助于信令通知偏移和滤波器系数的编解码边信息分别通过添加偏移以及应用有限脉冲响应(fir)滤波器而
利用当前图片的原始样点来减少原始样点和重建样点之间的均方误差。alf位于每一图片的最后处理阶段上,并且可以被视为尝试捕捉并且修复先前阶段建立的伪像的工具。
74.2.3.量化矩阵
75.人类视觉系统(hvs)的众所周知的空间频率灵敏度已经成为了现代化图像和视频编解码算法和标准(包括jpeg、mpeg2、h.264/avc high profile和hevc)的设计的很多方面背后的关键驱动因素。
76.在mpeg2中使用的量化矩阵为8x8矩阵。在h.264/avc中,量化矩阵块尺寸既包括4x4,又包括8x8。将这些qm编码到sps(序列参数集)和pps(图片参数集)中。h.264/avc中的用于qm信令通知的压缩方法为差分脉冲编解码调制(dpcm)。
77.在h.264/avc high profile中,使用4x4块尺寸和8x8块尺寸。对于4x4块尺寸有六个qm(即,用于帧内/帧间编解码和y/cb/cr分量的单独矩阵)并且对于8x8块尺寸有两个qm(即,用于帧内/帧间y分量的单独矩阵),因而只需将八个量化矩阵编码到比特流当中。
78.2.4.vvc中的变换和量化设计
79.2.4.1.变换
80.hevc规定了从4
×
4到32
×
32的各种尺寸的二维变换,它们是相对于离散余弦变换(dct)的有限精确度近似。此外,hevc还规定了与4
×
4亮度帧内预测残差块结合使用的基于离散正弦变换(dst)的备选4
×
4整数变换。除此之外,在某些块尺寸情况下,也可以允许变换跳过。
81.对于ns=4、8、16和32以及dct-ii而言,变换矩阵cij(i,j=0..ns-1)的定义如下:
82.ns=4
83.{64,64,64,64}
84.{83,36,-36,-83}
85.{64,-64,-64,64}
86.{36,-83,83,-36}
87.ns=8
88.{64,64,64,64,64,64,64,64}
89.{89,75,50,18,-18,-50,-75,-89}
90.{83,36,-36,-83,-83,-36,36,83}
91.{75,-18,-89,-50,50,89,18,-75}
92.{64,-64,-64,64,64,-64,-64,64}
93.{50,-89,18,75,-75,-18,89,-50}
94.{36,-83,83,-36,-36,83,-83,36}
95.{18,-50,75,-89,89,-75,50,-18}
96.ns=16
97.{64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64}
98.{90 87 80 70 57 43 25 9-9-25-43-57-70-80-87-90}
99.{89 75 50 18-18-50-75-89-89-75-50-18 18 50 75 89}
100.{87 57 9-43-80-90-70-25 25 70 90 80 43-9-57-87}
101.{83 36-36-83-83-36 36 83 83 36-36-83-83-36 36 83}
13 90 38-67-78 22 90 31-73}
128.{70-43-87 9 90 25-80-57 57 80-25-90-9 87 43-70-70 43 87-9-90-25 80 57-57-80 25 90 9-87-43 70}
129.{67-54-78 38 85-22-90 4 90 13-88-31 82 46-73-61 61 73-46-82 31 88-13-90-4 90 22-85-38 78 54-67}
130.{64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64}
131.{61-73-46 82 31-88-13 90-4-90 22 85-38-78 54 67-67-54 78 38-85-22 90 4-90 13 88-31-82 46 73-61}
132.{57-80-25 90-9-87 43 70-70-43 87 9-90 25 80-57-57 80 25-90 9 87-43-70 70 43-87-9 90-25-80 57}
133.{54-85-4 88-46-61 82 13-90 38 67-78-22 90-31-73 73 31-90 22 78-67-38 90-13-82 61 46-88 4 85-54}
134.{50-89 18 75-75-18 89-50-50 89-18-75 75 18-89 50 50-89 18 75-75-18 89-50-50 89-18-75 75 18-89 50}
135.{46-90 38 54-90 31 61-88 22 67-85 13 73-82 4 78-78-4 82-73-13 85-67-22 88-61-3190-54-38 90-46}
136.{43-90 57 25-87 70 9-80 80-9-70 87-25-57 90-43-43 90-57-25 87-70-9 80-80 9 70-87 25 57-90 43}
137.{38-88 73-4-67 90-46-31 85-78 13 61-90 54 22-82 82-22-54 90-61-13 78-85 31 46-90 67 4-73 88-38}
138.{36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36}
139.{31-78 90-61 4 54-88 82-38-22 73-90 67-13-46 85-85 46 13-67 90-73 22 38-82 88-54-4 61-90 78-31}
140.{25-70 90-80 43 9-57 87-87 57-9-43 80-90 70-25-25 70-90 80-43-9 57-87 87-57 9 43-80 90-70 25}
141.{22-61 85-90 73-38-4 46-78 90-82 54-13-31 67-88 88-67 31 13-54 82-90 78-46 4 38-73 90-85 61-22}
142.{18-50 75-89 89-75 50-18-18 50-75 89-89 75-50 18 18-50 75-89 89-75 50-18-18 50-75 89-89 75-50 18}
143.{13-38 61-78 88-90 85-73 54-31 4 22-46 67-82 90-90 82-67 46-22-4 31-54 73-85 90-88 78-61 38-13}
144.{9-25 43-57 70-80 87-90 90-87 80-70 57-43 25-9-9 25-43 57-70 80-87 90-90 87-80 70-57 43-25 9}
145.{4-13 22-31 38-46 54-61 67-73 78-82 85-88 90-90 90-90 88-85 82-78 73-67 61-54 46-38 31-22 13-4}
146.2.4.2.量化
147.hevc量化器设计与h.264/avc的类似,其中,将处于0-51的范围内(对于8比特视频
序列)的量化参数(qp)映射至量化器步长尺寸,该步长尺寸每当qp值增大6时加倍。然而,关键差异在于在hevc中不再需要被结合到h.264/avc的去缩放矩阵当中的变换基范数校正因子,从而简化了量化器设计。对于小到8
×ꢀ
8个样点的量化群组可以传输qp值(以δqp的形式),从而实现速率控制和感知量化的目的。用于计算δqp的qp预测值使用左侧、上方和先前qp值的组合。hevc还通过对所有变换块尺寸使用量化矩阵而支持频率相关量化。将在章节2.4.3中描述细节。
148.由变换系数dij(i,j=0..ns-1)将量化变换系数qij(i,j=0..ns-1)推导为:
149.q
ij
=(d
ij
*f[qp%6] offset)》》(29 qp/6

ns

bitdepth),其中,i,j=0,...,ns-1
[0150]
其中,
[0151]
f[x]={26214,23302,20560,18396,16384,14564},x=0,

,5
[0152]228 qp/6

ns-bitdepth
《offset《2
29 qp/6

ns-bitdepth
[0153]
qp表示一个变换单元的量化参数,bitdepth表示与当前颜色分量相关联的比特深度。
[0154]
在hevc中,qp的范围是[0,51]。
[0155]
2.4.3.量化矩阵
[0156]
量化矩阵(qm)已被采纳到诸如jpeg和jpeg-2000的图像编解码标准当中以及诸如mpeg2、mpeg4和h.264/avc的视频标准当中。qm能够通过对不同频率系数的频率加权改善主观质量。在hevc标准中,量化块尺寸可以一直达到32
×
32。可以将具有尺寸4
×
4、8
×
8、16
×
16、32
×
32的qm编码到比特流当中。对于每一块尺寸,帧内/帧间预测类型和y/cb/cr颜色分量需要不同量化矩阵。总共应当对24个量化矩阵(用于4
×
4、8
×
8、16
×
16和32
×
32这四个块尺寸的单独矩阵)编码。
[0157]
用于量化矩阵的参数可以是直接从参考量化矩阵复制的,或者可以是显式信令通知的。在显式信令通知时,直接对第一参数(又名该矩阵的(0,0)分量的值)编解码。并且根据对该矩阵的光栅扫描采用预测编解码对其余参数编解码。
[0158]
hevc中对缩放矩阵的编码和信令通知暗指三种模式:off(关闭)、default(默认)和user_defined(用户定义)。要指出的是:对于大于8
×
8的变换单元尺寸(即,16
×
16、32
×
32),缩放矩阵是通过升采样至更大尺寸(对元的复制)而由8
×
8缩放矩阵获得的。对于大于8
×
8的tb的缩放矩阵必须信令通知额外的dc值。
[0159]
在hevc中,一个缩放矩阵的编解码值的最大数量等于64。
[0160]
对于所有tb尺寸而言,默认模式的dc值均等于16。
[0161]
2.4.3.1.语法和语义
[0162]
7.3.2.2序列参数集rbsp语法
[0163]
7.3.2.2.1通用序列参数集rbsp语法
[0164][0165]
7.3.2.3图片参数集rbsp语法
[0166]
7.3.2.3.1通用图片参数集rbsp语法
[0167][0168]
7.3.4缩放列表数据语法
[0169][0170]
scaling_list_enabled_flag等于1规定:对变换系数的缩放过程使用缩放列表。scaling_list_enabled_flag等于0规定:不对变换系数的缩放过程使用缩放列表。
[0171]
sps_scaling_list_data_present_flag等于1规定:在sps中存在scaling_list_data()语法结构。sps_scaling_list_data_present_flag等于0规定:在sps中不存在scaling_list_data()语法结构。当不存在sps_scaling_list_data_present_flag时,将sps_scaling_list_data_present_flag的值推断为等于0。
[0172]
pps_scaling_list_data_present_flag等于1规定:用于参照该pps的图片的缩放列表数据是基于由有效sps规定的缩放列表和由该pps规定的缩放列表推导出的。pps_
scaling_list_data_present_flag等于0规定:将用于参照该pps的图片的缩放列表数据推断为等于由有效sps规定的那些。在scaling_list_enabled_flag等于0时,pps_scaling_list_data_present_flag的值必须等于0。在scaling_list_enabled_flag等于1,sps_scaling_list_data_present_flag等于0,并且pps_scaling_list_data_present_flag等于0时,使用默认缩放列表数据推导数组scalingfactor,如条款7.4.5中规定的缩放列表数据语义中所述。
[0173]
7.4.5缩放列表数据语义
[0174]
scaling_list_pred_mode_flag[sizeid][matrixid]等于0规定:缩放列表的值与参考缩放列表的值相同。参考缩放列表是由scaling_list_pred_matrix_id_delta[sizeid][matrixid]指定的。scaling_list_pred_mode_flag[sizeid][matrixid]等于1规定:缩放列表的值是显式信令通知的。
[0175]
scaling_list_pred_matrix_id_delta[sizeid][matrixid]如下规定用于推导scalinglist[sizeid][matrixid]的参考缩放列表:
[0176]

如果scaling_list_pred_matrix_id_delta[sizeid][matrixid]等于0,那么缩放列表是由表格7-5和表格7-6中指定的默认缩放列表scalinglist[sizeid][matrixid][i](对于i=0..min(63,(1《《(4 (sizeid《《1)))-1))推断的。
[0177]

否则,缩放列表是如下由参考缩放列表推断的:
[0178]
refmatrixid=matrixid-[0179]
scaling_list_pred_matrix_id_delta[sizeid][matrixid]*(sizeid==3?3:1)(7-42)
[0180]
scalinglist[sizeid][matrixid][i]=scalinglist[sizeid][refmatrixid][i]
[0181]
其中,i=0..min(63,(1《《(4 (sizeid《《1)))-1)(7-43)
[0182]
如果sizeid小于或等于2,那么scaling_list_pred_matrix_id_delta[sizeid][matrixid]的值必须处于0到matrixid(含端点)的范围内。否则(sizeid等于3),那么scaling_list_pred_matrix_id_delta[sizeid][matrixid]的值必须处于1到matrixid/3(含端点)的范围内。
[0183]
表格7-3

sizeid的规范
[0184]
量化矩阵的尺寸sizeid4
×
408
×
8116
×
16232
×
323
[0185]
表格7-4

根据sizeid、预测模式和颜色分量的matrixid规范
[0186][0187]
scaling_list_dc_coef_minus8[sizeid-2][matrixid]加8规定在sizeid等于2时对于16x16尺寸而言用于缩放列表的变量scalingfactor[2][matrixid][0][0]的值并且规定在sizeid等于3时对于32x32尺寸而言用于缩放列表的scalingfactor[3][matrixid][0][0]的值。scaling_list_dc_coef_minus8[sizeid-2][matrixid]的值必须于-7到247(含端点)的范围内。
[0188]
在scaling_list_pred_mode_flag[sizeid][matrixid]等于0,scaling_list_pred_matrix_id_delta[sizeid][matrixid]等于0,并且sizeid大于1时,将scaling_list_dc_coef_minus8[sizeid-2][matrixid]的值推断为等于8。
[0189]
在scaling_list_pred_matrix_id_delta[sizeid][matrixid]不等于0并且sizeid大于1时,将scaling_list_dc_coef_minus8[sizeid-2][matrixid]的值推断为等于scaling_list_dc_coef_minus8[sizeid-2][refmatrixid],其中,refmatrixid的值是由方程7-42给出的。
[0190]
在scaling_list_pred_mode_flag[sizeid][matrixid]等于1时,scaling_list_delta_coef规定当前矩阵系数scalinglist[sizeid][matrixid][i]与先前矩阵系数scalinglist[sizeid][matrixid][i-1]之间的差。scaling_list_delta_coef的值必须于-128到127(含端点)的范围内。scalinglist[sizeid][matrixid][i]的值必须大于0。
[0191]
表格7-5

scalinglist[0][matrixid][i]的默认值的规范,其中,i=0..15
[0192][0193]
表格7-6

scalinglist[1..3][matrixid][i]的默认值的规范,其中,i=0..63
[0194][0195]
四维数组scalingfactor[sizeid][matrixid][x][y](其中,x,y=0..(1《《(2 sizeid))-1)根据表格7-3中规定的变量sizeid和表格7-4中规定的变量matrixid规定缩放因子的数组。
[0196]
如下推导具有尺寸4x4的量化矩阵的元scalingfactor[0][matrixid][][]:
[0197]
scalingfactor[0][matrixid][x][y]=
[0198]
scalinglist[0][matrixid][i](7-44)
[0199]
其中,i=0..15,matrixid=0..5,x=scanorder[2][0][i][0]并且
[0200]
y=scanorder[2][0][i][1]
[0201]
如下推导具有尺寸8x8的量化矩阵的元scalingfactor[1][matrixid][][]:
[0202]
scalingfactor[1][matrixid][x][y]=
[0203]
scalinglist[1][matrixid][i](7-45)
[0204]
其中,i=0..63,matrixid=0..5,x=scanorder[3][0][i][0]并且
[0205]
y=scanorder[3][0][i][1]
[0206]
如下推导具有尺寸16x16的量化矩阵的元scalingfactor[2][matrixid][][]:
[0207]
scalingfactor[2][matrixid][x*2 k][y*2 j]=scalinglist[2][matrixid][i](7-46)
[0208]
其中,i=0..63,j=0..1,k=0..1,matrixid=0..5,
[0209]
x=scanorder[3][0][i][0]并且y=scanorder[3][0][i][1]
[0210]
scalingfactor[2][matrixid][0][0]=scaling_list_dc_coef_minus8[0][matrixid] 8(7-47)
[0211]
其中,matrixid=0..5
[0212]
如下推导具有尺寸32x32的量化矩阵的元scalingfactor[3][matrixid][][]:
[0213]
scalingfactor[3][matrixid][x*4 k][y*4 j]=
[0214]
scalinglist[3][matrixid][i](7-48)
[0215]
其中,i=0..63,j=0..3,k=0..3,matrixid=0,3,
[0216]
x=scanorder[3][0][i][0]并且y=scanorder[3][0][i][1]
[0217]
scalingfactor[3][matrixid][0][0]=
[0218]
scaling_list_dc_coef_minus8[1][matrixid] 8(7-49)
[0219]
其中,matrixid=0,3
[0220]
在chromaarraytype等于3时,如下推导具有尺寸32x32的色度量化矩阵的元scalingfactor[3][matrixid][][](其中,matrixid=1、2、4和5):
[0221]
scalingfactor[3][matrixid][x*4 k][y*4 j]=
[0222]
scalinglist[2][matrixid][i](7-50)
[0223]
其中,i=0..63,j=0..3,k=0..3,x=scanorder[3][0][i][0]并且y=scanorder[3][0][i][1]
[0224]
scalingfactor[3][matrixid][0][0]=
[0225]
scaling_list_dc_coef_minus8[0][matrixid] 8(7-51)
[0226]
2.5vvc中的变换和量化设计
[0227]
2.5.1mts(多变换选择)
[0228]
离散正弦变换族系包括公知的离散傅里叶变换、离散余弦变换、离散正弦变换和离散karhunen-loeve(在一阶markov条件下)变换。在所有成员当中,有8种类型的变换基于余弦函数,并且有8种类型的变换基于正弦函数,即分别为dct-i、ii
……
viii和dst-i、ii
……
viii。离散余弦和正弦变换的这些变型源自于它们的对应对称周期序列的不同对称
性[22]。在下面的表格1中用公式表述了在所提出的方法中使用的选定类型的dct和dst的变换基函数。
[0229]
表格1对于n点输入而言的dct-ii/v/viii和dsti/vii的变换基函数
[0230][0231]
对于一个块而言,可以选择变换跳过或者dct2/dst7/dct8。这样的方法被称为多变换选择(mts)。
[0232]
为了控制mts方案,分别对帧内和帧间在sps级上规定单独的启用标志。当在sps上启用mts时,信令通知cu级标志,以指示是否应用mts。这里,仅对亮度应用mts。在满足下述条件时信令通知mts cu级标志。
[0233]-宽度和高度两者都小于或者等于32
[0234]-cbf标志等于1
[0235]
如果mts cu标志等于0,那么在两个方向内都应用dct2。然而,如果mts cu标志等于1,那么附加地信令通知其他两个标志,从而分别指示水平方向和垂直方向的变换类型。在下面的表格中示出了变换和信令通知映射表格。在涉及到变换矩阵精确度时,采用8比特主变换核心。因此,使hevc中使用的所有变换核心保持相同,其包括4点dct-2和dst-7以及8点、16点和32点dct-2。而且,其他变换核心包括64点dct-2、4点dct-8以及8点、16点、32点dst-7和dct-8主变换核心。
[0236]
表格1对于n点输入而言的dct-ii/v/viii和dsti/vii的变换基函数
[0237][0238]
与hevc中一样,可以采用变换跳过模式对块的残差编解码。为了避免语法编解码的冗余,在cu级mts_cu_flag不等于零时不信令通知变换跳过标志。针对变换跳过的块尺寸限制与针对jem4中的mts的块尺寸限制相同,其指示对于一个cu而言当块宽度和高度两者均等于或小于32时变换跳过是适用的。
[0239]
2.5.1.1.高频率的归零
[0240]
在vtm4中,启用了在尺寸上高达64
×
64的大块尺寸变换,其主要可用于较高分辨率视频,例如,1080p序列和4k序列。对于具有等于64的尺寸(宽度或高度,或者宽度和高度两者)的变换块,使高频变换系数归零,从而只保留低频系数。例如,对于m
×
n变换块(其中,m作为块宽度,n作为块高度),当m等于64时,仅留下左侧的32列变换系数。类似地,当n等于64时,仅保持顶部的32行变换系数。在将变换跳过模式用于大块时,使用整个块而不使任何值归零。
[0241]
为了降低大尺寸dst-7和dct-8的复杂性,对于具有等于32的尺寸(宽度或高度,或者宽度和高度两者)的dst-7块和dct-8块使高频变换系数归零。仅保留处于16
×
16较低频率区域内的系数。
[0242]
2.5.2.缩减二次变换
[0243]
在jem中,在正向主变换和量化(编码器处)之间以及在逆量化和逆主变换(解码器处)之间应用二次变换。如图2所示,4
×
4(或8
×
8)二次变换的执行取决于块尺寸。例如,对于小块(即,min(宽度,高度)《8)应用4
×
4二次变换,并且对较大块(即,min(宽度,高度)》4)按照每一8
×
8块应用8
×
8二次变换。
[0244]
对于二次变换,应用不可分变换,因此,其又名为不可分二次变换(nsst)。总共有35个变换集,并且每变换集采用3个不可分变换矩阵(内核,每者具有16
×
16矩阵)。
[0245]
曾根据帧内预测方向在jvet-k0099中引入过缩减二次变换(rst)并且在jvet-l0133中引入过4个变换集(而非35个变换集)。在本文献中,分别对8
×
8块和4
×
4块采用16
×
48矩阵和16
×
16矩阵。为了标记方便,将16
×
48变换表示为rst 8
×
8,将16
×
16变换表示为rst 4
×
4。这样的方法近来被vvc采纳过。
[0246]
图3示出了缩减二次变换(tst)的示例。
[0247]
二次正向变换和逆变换是与主变换的处理步骤分开的处理步骤。
[0248]
对于编码器而言,首先执行主正向变换,之后继之以二次正向变换和量化以及cabac比特编码。对于解码器而言,首先执行cabac比特解码和逆量化以及随后的二次逆变换,随后继之以主逆变换。
[0249]
rst仅适用于帧内编解码tu。
[0250]
2.5.3.量化
[0251]
在vtm4中,最大qp曾被从51扩展至63,并且相应地改变初始qp的信令通知。当对slice_qp_delta的非零值编解码时,在条带段层修改sliceqpy的初始值。具体地,将init_qp_minus26的值修改为处于-(26 qpbdoffsety)到 37的范围内。
[0252]
此外,还将同样的hevc标量量化与一种被称为依赖性标量量化的新的理念相结合。依赖性标量量化是指一种方案,其中,变换系数的一组可容许的重建值依赖于在重建顺序中处于当前变换系数幅值之前的变换系数幅值的值。这一方案的主要作用在于,与hevc中使用的常规独立标量量化相比,在n维矢量空间(n表示变换块中的变换系数的数量)内更致密地填充可容许重建矢量。这意味着,对于给定的每一个n维单元体积的可容许重建矢量的平均数量而言,降低了输入矢量与最接近的重建矢量之间的平均失真。该依赖性标量量化方案是通过下述操作实现的:(a)定义两个具有不同重建幅值的标量量化器以及(b)定义用于在两个标量量化器之间切换的过程。
[0253]
图4是在所提出的依赖性量化方案中使用的两个标量量化器的例示。
[0254]
在图4中示出了通过q0和q1表示的所使用的两个标量量化器。通过量化步长尺寸δ唯一地指定可用重建幅值的位置。所使用的标量量化器(q0或q1)未在比特流中显式信令通知。相反,通过按照编解码/重建顺序处于当前变换系数之前的变换系数的奇偶性确定用于当前变换系数的量化器。
[0255]
如图5所示,通过具有四个状态的状态机实现两个标量量化器(q0和q1)之间的切换。状态可以采取四个不同值:0、1、2、3。其由按照编解码/重建顺序处于当前变换系数之前的变换系数幅值的奇偶性唯一地确定。在针对变换块的反量化开始时,状态被设置为0。按照扫描顺序(即,按照它们被熵解码的相同顺序)重建变换系数。在重建当前变换系数之后,对状态进行更新,如图5所示,其中,k表示变换系数幅值的值。
[0256]
2.5.4 jvet-n0847中的用户定义量化矩阵
[0257]
在本文献中,提出了基于vtm4.0增添对默认及用户定义的缩放矩阵的信令通知的支持。本提议符合更大的块尺寸范围(对于亮度从4
×
4到64
×
64,对于色度从2
×
2到32
×
32)、矩形tb、依赖性量化、多变换选择(mts)、使高频系数归零的大变换(与用于tb的缩放矩阵的一步定义过程一致)、帧内字块分割子块分割(isp)和帧内块复制(ibc,又称为当前图片参考cpr)。
[0258]
提出了在vtm4.0的基础上增添用以支持对默认和用户定义的缩放矩阵的信令通
知的语法,其符合下述内容:
[0259]

缩放矩阵的三种模式:off(关闭)、default(默认)和user_defined(用户定义)
[0260]

更大的块尺寸范围(对于亮度从4
×
4到64
×
64,对于色度从2
×
2到32
×
32)
[0261]

矩形变换块(tb)
[0262]

依赖性量化
[0263]

多变换选择(mts)
[0264]

使高频系数归零的大变换
[0265]

帧内子块分割(isp)
[0266]

帧内块复制(ibc,又称为当前图片参考cpr)与帧内编解码块共享相同qm
[0267]

对于所有tb尺寸,default缩放矩阵都是扁平的,其具有默认值16
[0268]
–“
不”应对以下内容应用缩放矩阵
[0269]
ο针对所有tb尺寸的ts
[0270]
ο二次变换(又名rst)
[0271]
2.5.4.1.对于方形变换尺寸的qm信令通知
[0272]
2.5.4.1.1.缩放矩阵中的元素的扫描顺序
[0273]
按照与系数编解码的扫描顺序(即,对角线扫描顺序)相同的扫描顺序对这些元素编解码。在图6a-图6b描绘了对角线扫描顺序的示例。
[0274]
图6a-图6b示出了对角线扫描顺序的示例。图6a示出了扫描方向示例。图6b示出了每一元素的坐标和扫描顺序索引。
[0275]
如下定义针对这一顺序的对应规范:
[0276]
6.5.2右上对角线扫描顺序数组初始化过程
[0277]
这一过程的输入是块宽度blkwidth和块尺寸高度blkheight。
[0278]
这一过程的输出为数组diagscan[spos][scomp]。数组索引spos指定处于从0到(blkwidth*blkheight)-1的范围内的扫描位置。等于0的数组索引scomp指定水平分量,等于1的数组索引scomp指定垂直分量。依据blkwidth和blkheight的值,如下推导数组diagscan:
[0279]
[0280][0281]
2.5.4.1.2.对选择元素的编解码
[0282]
对于下述缩放矩阵对dc值(即,处于矩阵左上的等于0的扫描索引上的元素)单独编解码。16
×
16、32
×
32和64
×
64。
[0283]
对于尺寸小于或等于8
×
8(n《=8)的tb(n
×
n)
[0284]
对于尺寸小于或等于8
×
8的tb,信令通知一个缩放矩阵内的所有元素。
[0285]
对于尺寸大于8
×
8(n》8)的tb(n
×
n)
[0286]
如果tb具有大于8
×
8的尺寸,那么仅信令通知一个8
×
8缩放矩阵中的64个元素作为基本缩放矩阵。这64个元素对应于坐标(m*x,m*y),其中,m=n/8并且x和y为[0

7]。换言之,将一个nxn块划分成多个m*m非重叠区域,并且对于每一区域,它们共享相同元素,并且信令通知这一共享元素。
[0287]
为了获得尺寸大于8
×
8的方形矩阵,将8
×
8基本缩放矩阵升采样(通过对元的复制)至对应的方形尺寸(即,16
×
16、32
×
32、64
×
64)。
[0288]
以32
×
2和64
×
64为例,采用圆圈标出了将信令通知的元素的选定位置。每一方形表示一个元素。
[0289]
图7示出了用于qm信令通知的选定位置的示例(32
×
32变换尺寸)。
[0290]
图8示出了用于qm信令通知的选定位置的示例(64
×
64变换尺寸)。
[0291]
2.5.4.2.对于非方形变换尺寸的qm推导
[0292]
对于非方形变换尺寸而言,没有对qm的额外信令通知。相反,非方形变换尺寸的qm是由方形变换尺寸的qm推导出的。在图7中示出了示例。
[0293]
更具体而言,在生成矩形tb的缩放矩阵时,考虑两种情况:
[0294]
1.矩形矩阵的高度h大于宽度w,因而如下由具有尺寸basel
×
basel的参考缩放矩阵定义具有尺寸wxh的矩形tb的缩放矩阵scalingmatrix,其中,basel等于min(log2(h),3):
[0295][0296]
对于i=0:w-1,j=0:h-1以及
[0297]
2.矩形矩阵的高度h小于宽度w,因而如下由具有尺寸basel
×
basel的参考缩放矩阵定义具有尺寸wxh的矩形tb的缩放矩阵
[0298]
scalingmatrix,其中,basel等于min(log2(w),3):
[0299][0300]
对于i=0:w-1,j=0:h-1以及1以及
[0301]
这里,int(x)是通过截断分数部分修改x的值。
[0302]
图8示出了由方形块对非方形块进行qm推导的示例。(a)由8
×
8块推导出的2
×
8块的qm,(b)由8
×
8块推导出的8
×
2块的qm。
[0303]
2.5.4.3.对带有归零的变换块的qm信令通知
[0304]
此外,在对64点变换应用对高频系数的归零时,缩放矩阵的对应高频也被归零。也就是说,如果tb的宽度或高度大于或等于32,那么仅保留左侧的一半或者顶部的一半系数,并且向其余系数分配零,如图9所示。在根据方程(1)和(2)获得矩形矩阵时针对这一情况执行检查,并且向scalingmatrix(i,j)中对应元素分配0。
[0305]
2.5.4.4.用于量化矩阵的语法、语义
[0306]
将与hevc中的相同的语法元素添加至sps和pps。然而,将缩放列表数据语法的信令通知改为:
[0307]
7.3.2.11缩放列表数据语法
[0308]
[0309][0310]
7.4.3.11缩放列表数据语义
[0311]
scaling_list_pred_mode_flag[sizeid][matrixid]等于0规定:缩放列表的值与参考缩放列表的值相同。参考缩放列表是由scaling_list_pred_matrix_id_delta[sizeid][matrixid]指定的。scaling_list_pred_mode_flag[sizeid][matrixid]等于1规定:缩放列表的值是显式信令通知的。
[0312]
scaling_list_pred_matrix_id_delta[sizeid][matrixid]规定用于推导scalinglist[sizeid][matrixid]的参考缩放列表,scalinglist[sizeid][matrixid]的推导如下基于scaling_list_pred_matrix_id_delta[sizeid][matrixid]:
[0313]

如果scaling_list_pred_matrix_id_delta[sizeid][matrixid]等于0,那么由表格7-15、表格7-16、表格7-17、表格7-18中规定的默认缩放列表scalinglist[sizeid][matrixid][i](对于i=0..min(63,(1《《(sizeid《《1))-1))推断出该缩放列表。
[0314]

否则,如下由参考缩放列表推断出该缩放列表:
[0315]
对于sizeid=1

6,
[0316]
refmatrixid=matrixid-[0317]
scaling_list_pred_matrix_id_delta[sizeid][matrixid]*(sizeid==6?3:1)(7-xx)
[0318]
如果sizeid等于1,那么refmatrixid的值必须不等于0或3。否则,如果sizeid小于或等于5,那么scaling_list_pred_matrix_id_delta[sizeid][matrixid]的值必须处于0到matrixid(含端点)的范围内。否则(sizeid等于6),那么scaling_list_pred_matrix_id_delta[sizeid][matrixid]的值必须处于0到matrixid/3(含端点)的范围内。
[0319]
表格7-13

sizeid的规范
[0320]
量化矩阵的尺寸sizeid1
×
102
×
214×
428
×
8316
×
16432x32564
×
646
[0321]
表格7-14

根据sizeid、预测模式和颜色分量的matrixid规范
[0322][0323][0324]
scaling_list_dc_coef_minus8[sizeid][matrixid]加8规定在sizeid等于4时对于16x16尺寸而言用于该缩放列表的变量scalingfactor[4][matrixid][0][0]的值,并且规定在sizeid等于5时对于32x32尺寸而言用于该缩放列表的scalingfactor[5][matrixid][0][0]的值,并且规定在sizeid等于6时对于64x64尺寸而言用于该缩放列表的scalingfactor[6][matrixid][0][0]的值。scaling_list_dc_coef_minus8[sizeid][matrixid]的值必须于-7到247(含端点)的范围内。
[0325]
在scaling_list_pred_mode_flag[sizeid][matrixid]等于0,scaling_list_
pred_matrix_id_delta[sizeid][matrixid]等于0,并且sizeid大于3时,将scaling_list_dc_coef_minus8[sizeid][matrixid]的值推断为等于8。
[0326]
在scaling_list_pred_matrix_id_delta[sizeid][matrixid]不等于0并且sizeid大于3时,将scaling_list_dc_coef_minus8[sizeid][matrixid]的值推断为等于scaling_list_dc_coef_minus8[sizeid][refmatrixid],其中,refmatrixid的值由方程7-xx给定。
[0327]
在scaling_list_pred_mode_flag[sizeid][matrixid]等于1时,scaling_list_delta_coef规定当前矩阵系数scalinglist[sizeid][matrixid][i]与先前矩阵系数scalinglist[sizeid][matrixid][i-1]之间的差。scaling_list_delta_coef的值必须于-128到127(含端点)的范围内。scalinglist[sizeid][matrixid][i]的值必须大于0。在scaling_list_pred_mode_flag[sizeid][matrixid]等于1并且scaling_list_delta_coef不存在时,将scalinglist[sizeid][matrixid][i]的值推断为0。
[0328]
表格7-15

scalinglist[1][matrixid][i]的默认值的规范,其中,i=0..3
[0329][0330]
表格7-16

scalinglist[2][matrixid][i]的默认值的规范,其中,i=0..15
[0331][0332]
表格7-17

scalinglist[3..6][matrixid][i]的默认值的规范,其中,i=0..63
[0333][0334]
表格7-18

scalinglist[6][matrixid][i]的默认值的规范,其中,i=0..63
[0335][0336]
五维数组scalingfactor[sizeid][sizeid][matrixid][x][y](其中,x,y=0..(1《《sizeid)-1)根据表格7-13中规定的变量sizeid和表格7-14中规定的变量matrixid规定缩放因子的数组。
[0337]
如下推导具有尺寸2
×
2的量化矩阵的元素scalingfactor[1][matrixid][][]:
[0338]
scalingfactor[1][1][matrixid][x][y]=scalinglist[1][matrixid][i](7-xx)
[0339]
其中,i=0..3,matrixid=1,2,4,5,x=diagscanorder[1][1][i][0]并且y=diagscanorder[1][1][i][1]
[0340]
如下推导具有尺寸4
×
4的量化矩阵的元素scalingfactor[2][matrixid][][]:
[0341]
scalingfactor[2][2][matrixid][x][y]=scalinglist[2][matrixid][i](7-xx)
[0342]
其中,i=0..15,matrixid=0..5,x=diagscanorder[2][2][i][0]并且y=diagscanorder[2][2][i][1]
[0343]
如下推导具有尺寸8
×
8的量化矩阵的元素scalingfactor[3][matrixid][][]:
[0344]
scalingfactor[3][3][matrixid][x][y]=scalinglist[3][matrixid][i](7-xx)
[0345]
其中,i=0..63,matrixid=0..5,x=diagscanorder[3][3][i][0]并且y=diagscanorder[3][3][i][1]
[0346]
如下推导具有尺寸16
×
16的量化矩阵的元素scalingfactor[4][matrixid][][]:
[0347]
scalingfactor[4][4][matrixid][x*2 k][y*2 j]=scalinglist[4][matrixid][i](7-xx)
[0348]
其中,i=0..63,j=0..1,k=0..1,matrixid=0..5,x=diagscanorder[3][3][i][0]并且y=diagscanorder[3][3][i][1]
[0349]
scalingfactor[4][4][matrixid][0][0]=scaling_list_dc_coef_minus8[0][matrixid] 8(7-xx)
[0350]
其中,matrixid=0..5
[0351]
如下推导具有尺寸32
×
32的量化矩阵的元素scalingfactor[5][matrixid][][]:
[0352]
scalingfactor[5][5][matrixid][x*4 k][y*4 j]=scalinglist[5][matrixid][i](7-xx)
[0353]
其中,i=0..63,j=0..3,k=0..3,matrixid=0..5,x=diagscanorder[3][3][i][0]并且y=diagscanorder[3][3][i][1]
[0354]
scalingfactor[5][5][matrixid][0][0]=scaling_list_dc_coef_minus8[1][matrixid] 8(7-xx)
[0355]
其中,matrixid=0..5
[0356]
如下推导具有尺寸64
×
64的量化矩阵的元素scalingfactor[6][matrixid][][]:
[0357]
scalingfactor[6][6][matrixid][x*8 k][y*8 j]=scalinglist[6][matrixid][i](7-xx)
[0358]
其中,i=0..63,j=0..7,k=0..7,matrixid=0,3,x=diagscanorder[3][3][i][0]并且y=diagscanorder[3][3][i][1]
[0359]
scalingfactor[6][6][matrixid][0][0]=scaling_list_dc_coef_minus8[2][matrixid] 8(7-xx)
[0360]
其中,matrixid=0,3
[0361]
在chromaarraytype等于3时,如下推导具有尺寸64
×
64的色度量化矩阵的元素scalingfactor[6][6][matrixid][][](其中,matrixid=1、2、4和5):
[0362]
scalingfactor[6][6][matrixid][x*8 k][y*8 j]=scalinglist[5][matrixid][i](7-xx)
[0363]
其中,i=0..63,j=0..7,k=0..7,x=diagscanorder[3][3][i][0]并且y=diagscanorder[3][3][i][1]
[0364]
scalingfactor[6][6][matrixid][0][0]=scaling_list_dc_coef_minus8[1][matrixid] 8(7-xx)
[0365]
//非方形情况
[0366]
对于具有矩形尺寸的量化矩阵,
[0367]
五维数组scalingfactor[sizeidw][sizeidh][matrixid][x][y](其中,x=0..(1《《sizeidw)-1,y=0..(1《《sizeidh)-1,sizeidw!=sizeidh)如下根据表格7-19中规定的
变量sizeidw和sizeidhare规定缩放因子的数组
[0368]
可以按照下述规则由scalinglist[sizelid][matrixid][i]生成scalingfactor[sizeidw][sizeidh][matrixid][x][y],其中,sizelid=max(sizeidw,sizeidh),sizeidw=0,1..6,sizeidh=0,1..6,matrixid=0..5,x=0..(1《《sizeidw)-1,y=0..(1《《sizeidh)

1,,x=diagscanorder[k][k][i][0]并且y=diagscanorder[k][k][i][1],k=min(sizelid,3)并且ratiow=(1《《sizeidw)/(1《《k),ratioh=(1《《sizeidh)/(1《《k)并且ratiowh=(1《《abs(sizeidw-sizeidh))
[0369]-if(sizeidw》sizeidh)
[0370]
scalingfactor[sizeidw][sizeidh][matrixid][x][y]
[0371]

[0372]
scalinglist[sizelid][matrixid][raster2diag[(1《《k)*((y*ratiowh)/ratiow) x/ratiow]]
[0373]-else
[0374]
scalingfactor[sizeidw][sizeidh][matrixid][x][y]
[0375]
=scalinglist[sizelid][matrixid][raster2diag[(1《《k)*(y/ratioh) (x*ratiowh)/ratioh]],
[0376]
其中,raster2diag[]是将一个8
×
8块中的光栅扫描位置转化为对角线扫描位置的函数
[0377]
//归零情况
[0378]
对于满足下述条件的样点必须对具有矩形尺寸的量化矩阵进行归零处理
[0379]-x》32
[0380]-y》32
[0381]-解码后的tu不是通过默认变换模式编解码的,(1《《sizeidw)==32并且x》16
[0382]-解码后的tu不是通过默认变换模式编解码的,(1《《sizeidh)==32并且y》16
[0383]
表格7-19

sizeidw和sizeidh的规范
[0384][0385]
2.6量化残差块差分脉冲编解码调制
[0386]
在jvet-m0413中,提出了量化残差块差分脉冲编解码调制(qr-bdpcm)以高效率地
对屏幕内容进行编解码。
[0387]
qr-bdpcm中使用的预测方向可以是垂直和水平预测模式。通过在类似于帧内预测的预测方向(水平或垂直预测)内进行样点复制来对整个块进行帧内预测。对残差进行量化,并对量化残差与其预测子(水平或垂直)量化值之间的δ进行编解码。可以通过如下方式描述这种情况:对于尺寸为m(行)
×
n(列)的块,令r
i,j
(0≤i≤m-1,0≤j≤n-1)为使用来自上方或左侧块边界样点的未滤波样点水平地(跨越预测块逐条线地复制左侧邻居像素值)或垂直地(将顶部邻居线复制到预测块中的每条线)执行帧内预测之后的预测残差。令q(r
i,j
)(0≤i≤m-1,0≤j≤n-1)表示残差r
i,j
的量化版本,其中,残差是初始块和预测块值之间的差值。然后,将块dpcm应用于量化残差样点,获得修改的m
×
n数组其元素为在信令通知垂直bdpcm时:
[0388][0389]
对于水平预测而言,适用类似规则,并且通过如下方程获得残差量化样点
[0390][0391]
将残差量化样点发送到解码器。
[0392]
在解码器侧,逆转以上计算,从而产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直预测情况,
[0393][0394]
对于水平情况,
[0395][0396]
将逆量化残差q-1
(q(r
i,j
))加到帧内块预测值上,以产生重建样点值。
[0397]
这种方案的主要益处在于,能够在解析系数时简单地通过加上预测子而在系数解析期间即时完成逆dpcm,或者其可以在解析之后执行。
[0398]
如下示出了qr-bdpcm的草案文本变化。
[0399]
7.3.6.5编解码单元语法
[0400]
[0401]
[0402][0403]
bdpcm_flag[x0][y0]等于1规定在包括位置(x0,y0)处的亮度编解码块的编解码单元中存在bdpcm_dir_flag
[0404]
bdpcm_dir_flag[x0][y0]等于0规定要在bdpdcm块中使用的预测方向为水平方向,否则其为垂直方向。
[0405]
3.由实施例和技术解决的示例性技术问题
[0406]
当前vvc设计在量化矩阵方面具有以下问题:
[0407]
1.对于qr-bdpcm块和bdpcm块,不应用变换。因此,按照与其他应用变换的块类似的方式对此类块应用缩放矩阵是非优选的。
[0408]
2.ibc和帧内编解码模式共享相同的缩放矩阵。然而,ibc更类似于一种帧间编解码工具。这样的设计似乎是不合理的。
[0409]
3.对于带有归零的较大块,信令通知几个元素,但是在解码过程中却被重置为零,这浪费了比特。
[0410]
4.在一些框架当中,按照总是应用量化矩阵的方式执行量化。因而,对于小块的量化矩阵可能引起频繁的矩阵变化。
[0411]
4.实施例和技术的列举
[0412]
下文详述的发明应被视为解释一般概念的示例。不应狭义地解释这些发明。此外,可以按照任何方式使这些方面相结合。
[0413]
1.当在比特流中不信令通知变换跳过(ts)标志时,如何设置这一标志的值可以取决于编解码模式信息。
[0414]
a.在一个示例中,对于bdpcm/qr-bdpcm编解码块,将ts标志推断为1。
[0415]
b.在一个示例中,对于非bdpcm/qr-bdpcm编解码块,将ts标志推断为0。
[0416]
2.提出了可以对bdpcm/qr-bdpcm编解码块应用缩放矩阵。
[0417]
a.替代性地,提出了对于bdpcm/qr-bdpcm编解码块不允许缩放矩阵。
[0418]
b.在一个示例中,可以按照与变换跳过编解码块相同的方式执行如何为bdpcm/qr-bdpcm编解码块选择缩放矩阵。
[0419]
c.在一个示例中,如何选择bdpcm/qr-bdpcm编解码块的缩放矩阵可以取决于是否对该块应用一个或多个变换。
[0420]
i.在一个示例中,如果对bdpcm/qr-bdpcm编解码块应用一个或多个变换,那么可以允许缩放矩阵。
[0421]
ii.在一个示例中,如果对bdpcm/qr-bdpcm编解码块应用一个或多个变换,那么如何选择bdpcm/qr-bdpcm编解码块的缩放矩阵可以是按照与帧内编解码块相同的方式执行的。
[0422]
3.是否和/或如何通过环路滤波器(去方块滤波器)和/或其他重建后滤波器对两个紧邻块之间的样点/边缘滤波可以取决于这两个紧邻块中的任何一者或两者是否是采用变换跳过(ts)模式编解码的。
[0423]
a.是否和/或如何通过环路滤波器(去方块滤波器)和/或其他重建后滤波器对两个紧邻块之间的样点/边缘滤波可以取决于这两个紧邻块是否是采用ts、bdpcm、qr-bdpcm、调色板模式编解码的。
[0424]
b.在一个示例中,边界滤波强度的推导可以取决于这两个紧邻块之一或两者的(多个)ts模式标志。
[0425]
c.在一个示例中,对于位于ts编解码块处的样点,可以禁用去方块滤波器/样点自适应偏移/自适应环路滤波器/其他种类的环路滤波器/其他重建后滤波器。
[0426]
i.在一个示例中,如果两个紧邻块都是采用变换跳过模式编解码的,那么不需要对这两个块之间的边缘滤波。
[0427]
ii.在一个示例中,如果两个紧邻块之一是采用变换跳过模式编解码的,另一个不是,那么不需要对处于ts编解码块处的样点滤波。
[0428]
d.替代性地,对于位于ts编解码块处的样点,可以允许不同滤波器(例如,更平滑的滤波器)。
[0429]
e.在环路滤波器(例如,去方块滤波器)和/或其他重建后滤波器(例如,双边滤波器、扩散滤波器)的处理期间,可以按照与采用ts模式编解码相同的方式(例如,上文所提及的)处理采用pcm/bdpcm/qr-bdpcm和/或其他种类的不应用变换的模式编解码的块。
[0430]
4.采用ibc模式和帧间编解码模式编解码的块可以共享相同的缩放矩阵。
[0431]
5.缩放矩阵选择可以取决于变换矩阵类型。
[0432]
a.在一个示例中,缩放矩阵的选择可以取决于该块是否使用默认变换,例如,dct2。
[0433]
b.在一个示例中,可以对多个变换矩阵类型单独信令通知缩放矩阵。
[0434]
6.缩放矩阵选择可以取决于块的运动信息。
[0435]
a.在一个示例中,缩放矩阵选择可以取决于该块是否是采用子块编解码模式(例如,仿射模型)编解码的。
[0436]
b.在一个示例中,可以对仿射模式和非仿射模式单独信令通知缩放矩阵。
[0437]
c.在一个示例中,缩放矩阵选择可以取决于该块是否是采用仿射帧内预测模式编解码的。
[0438]
7.提出了对二次变换编解码块启用缩放矩阵,取代对二次变换编解码块禁用缩放矩阵。假定变换块尺寸由k
×
l表示,并且对左上m
×
n块应用二次变换。
[0439]
a.可以为二次变换或/和缩减二次变换或/和旋转变换在片组标头/条带标头/pps/vps/sps中信令通知缩放矩阵。
[0440]
b.在一个示例中,可以根据是否应用二次变换选择缩放矩阵。
[0441]
i.在一个示例中,可以为是否应用二次变换单独信令通知左上m
×
n块的缩放矩阵的元素。
[0442]
c.替代性地,此外,缩放矩阵可以仅适用于不应用二次变换的区域。
[0443]
d.在一个示例中,除了左上m
×
n区域的其余部分仍然可以应用缩放矩阵。
[0444]
e.替代性地,缩放矩阵可以仅适用于应用二次变换的区域。
[0445]
8.提出了信令通知非方形块的缩放矩阵,取代从方形块推导非方形块的缩放矩阵。
[0446]
a.在一个示例中,对于可能用来自方形块的预测编解码的非方形块可以启用缩放矩阵。
[0447]
9.提出了对于一些位置禁用缩放矩阵的使用,并且对于块内的其余位置启用缩放矩阵的使用。
[0448]
a.例如,对于包括超过m*n个位置的块,只有左上方的m*n区域可以使用缩放矩阵。
[0449]
b.例如,对于包括超过m*n个位置的块,只有上方的m*n区域可以使用缩放矩阵。
[0450]
c.例如,对于包括超过m*n个位置的块,只有左侧的m*n区域可以使用缩放矩阵。
[0451]
10.将信令通知缩放矩阵中的多少个元素可以取决于是否应用归零。
[0452]
a.在一个示例中,对于64
×
64变换,假定仅保持左上的m
×
n个变换系数,并且使所
有其余系数归零。那么可以要信令通知的元素的数量推导为m/8*n/8。
[0453]
11.对于带有归零的变换,提出了禁止信令通知缩放矩阵中的位于归零区域中的元素。对于k
×
l变换,假定仅保持左上的m
×
n个变换系数,并且使所有其余系数归零。
[0454]
a.在一个示例中,k=l=64并且m=n=32。
[0455]
b.在一个示例中,跳过对缩放矩阵中的对应于左上m
×
n区域外的位置的元素的信令通知。
[0456]
图10示出了仅信令通知虚线区域(例如,m
×
n区域)内的选定元素的示例。
[0457]
c.在一个示例中,为在缩放矩阵中选择元素的下采样比可以由k和/或l确定。
[0458]
i.例如,将变换块划分成多个子区域,并且每一子区域尺寸为uw*uh。可以信令通知位于左上m
×
n区域的每一子区域内的一个元素。
[0459]
ii.替代性地,此外,要对多少个元素编解码可以取决于m和/或n。
[0460]
1)在一个示例中,对于这种带有归零的k
×
l变换,待编解码的元素的数量与不带有归零的m
×
n变换块的不同。
[0461]
d.在一个示例中,为选择缩放矩阵中的元素的下采样比可以是由m和/或n确定的,而不是由k和l确定。
[0462]
i.例如,将该m
×
n区域划分成多个子区域。可以信令通知每一区域(m/uw,n/uh)内的一个元素。
[0463]
ii.替代性地,此外,对于这种带有归零的k
×
l变换待编解码的元素的数量与不带有归零的m
×
n变换块的相同。
[0464]
e.在一个示例中,k=l=64,m=n=32,uw=uh=8。
[0465]
12.提出了对某些块尺寸(例如,对小尺寸块)仅使用一个量化矩阵。
[0466]
a.在一个示例中,可以不允许所有小于w
×
h的块(不管块类型如何)使用两个或更多量化矩阵。
[0467]
b.在一个示例中,可以不允许所有宽度小于阈值的块使用两个或更多量化矩阵。
[0468]
c.在一个示例中,可以不允许所有高度小于阈值的块使用两个或更多量化矩阵。
[0469]
d.在一个示例中,可以不对小尺寸块应用量化矩阵。
[0470]
13.以上项目符号可以适用于其他不应用变换(或者不应用恒等变换)的编解码方法。
[0471]
a.在一个示例中,通过以“调色板”代替“ts/bdpcm/qr-bdpcm”,以上项目符号可以适用于调色板模式编解码块。
[0472]
5.实施例
[0473]
5.1关于去方块滤波器的实施例#1
[0474]
通过加粗斜体文本突出呈现对vvc工作草案版本5施加的修改。可以添加突出呈现的条件中的一者或多者。
[0475]
8.8.2去方块滤波过程
[0476]
8.8.2.1概述
[0477]
这个过程的输入是去方块之前的重建图片,即,数组recpicture
l
,以及chromaarraytype不等于0时的数组recpicture
cb
和recpicture
cr

[0478]
这个过程的输出是去方块之后的经修改的重建图片,即,数组recpicture
l
以及
chromaarraytype不等于0时的数组recpicture
cb
和recpicture
cr

[0479]
首先对图片中的垂直边缘进行滤波。然后利用由垂直边缘滤波过程修改的样点作为输入对图片中的水平边缘进行滤波。基于编解码单元,独立地处理每个ctu的ctb中的垂直和水平边缘。从编解码块左侧的边缘开始,对编解码单元中编解码块的垂直边缘进行滤波,按照其几何顺序,朝向编解码块的右侧,通过各个边缘进行滤波。从编解码块上方的边缘开始,对编解码单元中编解码块的水平边缘进行滤波,按照其几何顺序,朝向编解码块的下方,通过各个边缘进行滤波。
[0480]
注意——尽管在本说明书中基于图片规定了滤波过程,但可以基于编解码单元实施滤波过程而获得等价效果,条件是解码器适当考虑处理依赖性顺序,以便产生相同的输出值。
[0481]
将去方块滤波过程应用于图片的所有编解码子块边缘和变换块边缘,除了以下类型的边缘:
[0482]-处于图片边界处的边缘,
[0483]-在pps_loop_filter_across_virtual_boundaries_disabled_flag等于1时,与图片的虚拟边界重合的边缘,
[0484]-在loop_filter_across_bricks_enabled_flag等于0时,与图块边界重合的边缘,
[0485]-在slice_loop_filter_across_slices_enabled_flag等于0或slice_deblocking_filter_disabled_flag等于1时,与条带的上边界或左边界重合的边缘,
[0486]-在slice_deblocking_filter_disabled_flag等于1时,条带之内的边缘,
[0487]-不对应于所考虑分量的8
×
8样点网格边界的边缘,
[0488]

色度分量内的边缘,对其而言边缘两侧均使用帧间预测,
[0489]

色度变换块的不是关联变换单元的边缘的的边缘。
[0490]

跨越具有不等于isp_no_split的intrasubpartitionssplit值的编解码单元的亮度变换块的边缘。
[0491]

两个变换跳过编解码块之间的边缘。
[0492]

处于一个变换跳过编解码块和一个pcm编解码块之间的边缘。
[0493]

处于一个变换跳过编解码块和一个qr-bdpcm编解码块之间的边缘。
[0494]

处于一个变换跳过编解码块和一个bdpcm编解码块之间的边缘。
[0495]

处于一个pcm编解码块和一个qr-bdpcm编解码块之间的边缘。
[0496]
5.2关于缩放矩阵的实施例#2
[0497]
这一章节提供了章节4中的项目符号11.d的示例。
[0498]
通过加粗斜体文本突出呈现对jvet-n0847施加的修改,并且采用标记去除的文本。可以添加突出呈现的条件中的一者或多者。
[0499]
如下推导具有尺寸64
×
64的量化矩阵的元素scalingfactor[6][matrixid][][]:
[0500]
[0501]
其中,i=0..63,matrixid=0,3,x=diagscanorder[3][3][i][0]并且y=diagscanorder[3][3][i][1]
[0502]
此外,
[0503]
scalingfactor[6][6][matrixid][x][y]=0 (7-xx)
[0504][0505]
其中,x》=32||y》=32
[0506]
scalingfactor[6][6][matrixid][0][0]=scaling_list_dc_coef_minus8[2][matrixid] 8(7-xx)
[0507]
其中,matrixid=0,3
[0508]
//归零情况
[0509]
对于满足下述条件的样点必须对具有矩形尺寸的量化矩阵进行归零处理
[0510][0511][0512]-解码后的tu不是通过默认变换模式编解码的,(1《《sizeidw)==32并且x》16
[0513]-解码后的tu不是通过默认变换模式编解码的,(1《《sizeidh)==32并且y》16
[0514]
5.3关于缩放矩阵的实施例#3
[0515]
这一章节提供了章节4中的项目符号9、11.c的示例。
[0516]
通过加粗斜体文本突出呈现对jvet-n0847施加的修改,并且采用并且采用标记去除的文本。可以添加突出呈现的条件中的一者或多者。
[0517]
7.3.2.11缩放列表数据语法
[0518]
[0519][0520]
如下推导具有尺寸64x64的量化矩阵的元scalingfactor[6][matrixid][][]:
[0521]
scalingfactor[6][6][matrixid][x*8 k][y*8 j]=scalinglist[6][matrixid][i](7-xx)
[0522]
其中,j=0..7,k=0..7,matrixid=0,3,x=diagscanorder[3][3][i][0]并且y=diagscanorder[3][3][i][1]
[0523]
此外,
[0524]
scalingfactor[6][6][matrixid][x][y]=0 (7-xx)
[0525][0526]
其中,x》=32||y》=32
[0527]
scalingfactor[6][6][matrixid][0][0]=scaling_list_dc_coef_minus8[2][matrixid] 8(7-xx)
[0528]
其中,matrixid=0,3
[0529]
//归零情况
[0530]
对于满足下述条件的样点必须对具有矩形尺寸的量化矩阵进行归零处理
[0531][0532][0533]-解码后的tu不是通过默认变换模式编解码的,(1《《sizeidw)==32并且x》16
[0534]-解码后的tu不是通过默认变换模式编解码的,(1《《sizeidh)==32并且y》16
[0535]
5.4关于缩放矩阵的实施例#4
[0536]
这一章节提供了对于qr-bdpcm编解码块不允许缩放矩阵的示例。
[0537]
通过加粗斜体文本突出呈现对jvet-n0847施加的修改,并且采用删除线标记去除的文本。可以添加突出呈现的条件中的一者或多者。
[0538]
8.7.3变换系数的缩放过程
[0539]
这一过程的输入为:
[0540]

亮度位置(xtby,ytby),相对于当前图片的左上亮度样点指定当前亮度变换块的左上样点,
[0541]

指定变换块宽度的变量ntbw,
[0542]

指定变换块高度的变量ntbh,
[0543]

变量cidx,指定当前块的颜色分量,
[0544]

变量bitdepth,指定当前颜色分量的比特深度。
[0545]
这一过程的输出为具有元素d[x][y]的缩放变换系数的(ntbw)x(ntbh)数组d。
[0546]
如下推导量化参数qp:
[0547]

如果cidx等于0,那么以下内容适用:
[0548]
qp=qp
′y(8-1019)
[0549]

否则,如果cidx等于1,那么以下内容适用:
[0550]
qp=qp

cb
(8-1020)
[0551]

否则(cidx等于2),那么以下内容适用:
[0552]
qp=qp

cr
(8-1021)
[0553]
如下推导变量rectnontsflag:
[0554]
rectnontsflag=(((log2(ntbw) log2(ntbh))&1)==1&&transform_skip_flag[xtby][ytby]==0) (8-1022)
[0555][0556][0557]
如下推导变量bdshift、rectnorm和bdoffset:
[0558]
bdshift=bitdepth ((rectnontsflag?8:0) (log2(ntbw) log2(ntbh))/2)-5 dep_quant_enabled_flag (8-1023)
[0559][0560][0561]
rectnorm=rectnontsflag?181:1(8-1024)
[0562]
bdoffset=(1《《bdshift)》》1 (8-1025)
[0563][0564]
将列表levelscale[]规定为levelscale[k]={40,45,51,57,64,72},其中,k=0..5。
[0565]
对于经缩放的变换系数d[x][y]的推导(其中,x=0..ntbw-1,y=0..ntbh-1),以下内容适用:
[0566]

如下推导中间缩放因子m[x][y]:
[0567]

如果下述条件中的一者或多者为真,那么将m[x][y]设置为等于16:
[0568]

scaling_list_enabled_flag等于0。
[0569]

transform_skip_flag[xtby][ytby]等于1。
[0570]

bdpcm_flag[xtby][ytby]等于1。
[0571]

否则,以下内容适用:
[0572]

m[x][y]=scalingfactor[sizeidw][sizeidh][matrixid][x][y] (8-xxx)
[0573][0574]
其中,将sizeidw设置为等于log2(ntbw),将sizeidh设置为等于log2(ntbh),并且
在表格7-14中规定了matrixid。
[0575]

如下推导缩放因子ls[x][y]:
[0576]-如果dep_quant_enabled_flag等于1,那么以下内容适用:
[0577]
ls[x][y]=(m[x][y]*levelscale[(qp 1)%6])《《((qp 1)/6)(8-1026)
[0578]

否则(dep_quant_enabled_flag等于0),以下内容适用:
[0579]
ls[x][y]=(m[x][y]*levelscale[qp%6])《《(qp/6)(8-1027)
[0580]

如下推导dnc[x][y]的值:
[0581]
dnc[x][y]=(8-1028)
[0582]
(transcoefflevel[xtby][ytby][cidx][x][y]*ls[x][y]*rectnorm bdoffset)》》bdshift
[0583]

如下推导经缩放的变换系数d[x][y]:
[0584]
d[x][y]=clip3(coeffmin,coeffmax,dnc[x][y])(8-1029)
[0585]
5.5关于变换跳过标志的语义的实施例#5
[0586]
transform_skip_flag[x0][y0]规定是否对亮度变换块应用变换。数组索引x0、y0指定所考虑的变换块的左上亮度样点相对于该图片的左上亮度样点位置(x0,y0)。transform_skip_flag[x0][y0]等于1规定不对该亮度变换块应用变换。transform_skip_flag[x0][y0]等于0规定是否对该亮度变换块应用变换的决定将取决于其他语法元素。在transform_skip_flag[x0][y0]不存在并且bdpcm_flag[x0][y0]等于0时,推断transform_skip_flag[x0][y0]等于0。在transform_skip_flag[x0][y0]不存在并且bdpcm_flag[x0][y0]等于1时,推断transform_skip_flag[x0][y0]等于0。
[0587]
图11是视频处理装置1100的框图。装置1100可以用于实施本文描述的方法中的一者或多者。装置1100可以被体现到智能手机、平板电脑、计算机、物联网(iot)接收器等当中。装置1100可以包括一个或多个处理器1102、一个或多个存储器1104以及视频处理硬件1106。(一个或多个)处理器1102可以被配置为实施本文件中描述的一种或多种方法。(一个或多个)存储器1104可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件1106可以用于在硬件电路中实施本文件中描述的一些技术。
[0588]
可以实施以下解决方案作为一些实施例中的优选解决方案。
[0589]
可以将下述解决方案与先前章节中列举的项目(例如,项目1)当中描述的附加技术一起实施。
[0590]
1.一种视频处理方法(例如,图12中所示的方法1200),包括:针对视频的视频块的编解码表示与该视频块之间的转换,基于编解码模式信息确定(1202)是否对该转换启用变换跳过模式;以及基于该确定执行(1204)该转换,其中,在变换跳过模式中,在该转换期间跳过对表示该视频块的至少一些系数的变换应用。
[0591]
2.根据解决方案1所述的方法,其中,由于编解码模式信息指示块差分脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)而确定启用变换跳过模式。
[0592]
3.根据解决方案1所述的方法,其中,不对该编解码表示中的指示变换跳过模式的标志进行解析。
[0593]
4.根据解决方案1所述的方法,其中,跳过对该编解码表示中的指示变换跳过模式的标志的解析。
[0594]
可以将下述解决方案与先前章节中列举的项目(例如,项目2)当中描述的附加技术一起实施。
[0595]
5.一种视频处理方法,包括:由于对视频块的编解码表示和该视频块之间的转换使用了块差分脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)模式而确定对该转换使用缩放矩阵;以及使用该缩放矩阵执行该转换,其中,该缩放矩阵用于在该转换期间对表示该视频块的至少一些系数进行缩放。
[0596]
6.根据解决方案5所述的方法,其中,该转换包括根据取决于在该转换期间将对所述系数应用的变换的数量的模式应用该缩放矩阵。
[0597]
7.一种视频处理方法,包括:由于对视频块的编解码表示和该视频块之间的转换使用了块差分脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)模式而确定禁止对该转换使用缩放矩阵;以及使用该缩放矩阵执行该转换,其中,该缩放矩阵用于在该转换期间对表示该视频块的至少一些系数进行缩放。
[0598]
可以将下述解决方案与先前章节中列举的项目(例如,项目3)当中描述的附加技术一起实施。
[0599]
8.一种视频处理方法,包括:针对视频的视频块的编解码表示与该视频块之间的转换,依据是否对该转换启用变换跳过模式而确定环路滤波器的适用性;以及基于环路滤波器的适用性执行该转换,其中,在变换跳过模式中,在该转换期间跳过对表示该视频块的至少一些系数的变换应用。
[0600]
9.根据解决方案8所述的方法,其中,所述环路滤波器包括去方块滤波器。
[0601]
10.根据解决方案8-9中的任何解决方案所述的方法,进一步包括基于该视频块的变换跳过模式和邻近块的另一变换跳过模式确定环路滤波器的强度。
[0602]
11.根据解决方案8-9中的任何解决方案所述的方法,其中,该确定包括确定由于对该视频块禁用该变换跳过模式的原因环路滤波器不适用。
[0603]
可以将下述解决方案与先前章节中列举的项目(例如,项目4和5)当中描述的附加技术一起实施。
[0604]
12.一种视频处理方法,包括:针对视频的视频块与视频块的编解码表示之间的转换选择缩放矩阵,从而将同一缩放矩阵用于基于帧间编解码和帧内块复制编解码的转换;以及使用所选择的缩放矩阵执行该转换,其中,该缩放矩阵用于缩放所述视频块的至少一些系数。
[0605]
可以将下述解决方案与先前章节中列举的项目(例如,项目6)当中描述的附加技术一起实施。
[0606]
13.一种视频处理方法,包括:基于为视频的视频块与视频块的编解码表示之间的转换选择的变换矩阵选择用于该转换的缩放矩阵;以及使用所选择的缩放矩阵执行该转换,其中,该缩放矩阵用于缩放视频块的至少一些系数,并且其中,该变换矩阵用于在该转换期间变换视频块的至少一些系数。
[0607]
14.根据解决方案13所述的方法,其中,选择缩放矩阵基于视频块的转换是否使用子块编解码模式。
[0608]
15.根据解决方案14所述的方法,其中,该子块编解码模式为仿射编解码模式。
[0609]
16.根据解决方案15所述的方法,其中,用于仿射编解码模式的缩放矩阵不同于另
一个视频块的另一缩放矩阵,其中,该另一视频块的转换不使用仿射编解码模式。
[0610]
可以将下述解决方案与先前章节中列举的项目(例如,项目7)当中描述的附加技术一起实施。
[0611]
17.一种视频处理方法,包括:基于为视频的视频块与视频块的编解码表示之间的转换选择的二次变换矩阵选择用于该转换的缩放矩阵;以及使用所选择的缩放矩阵执行该转换,其中,该缩放矩阵用于缩放视频块的至少一些系数,并且其中,该二次变换矩阵用于在该转换期间变换视频块的至少一些残差系数。
[0612]
18.根据解决方案17所述的方法,其中,将该二次变换矩阵应用于该视频块的mxn左上部分,并且其中,将该缩放矩阵应用于超过该视频块的mxn左上部分的范围。
[0613]
19.根据解决方案17所述的方法,其中,将该二次变换矩阵应用于该视频块的mxn左上部分,并且其中,将该缩放矩阵仅应用于该视频块的mxn左上部分。
[0614]
20.根据解决方案17-19中的任何解决方案所述的方法,其中,该编解码表示中的语法元素指示该缩放矩阵。
[0615]
可以将下述解决方案与先前章节中列举的项目(例如,项目8)当中描述的附加技术一起实施。
[0616]
21.一种视频处理方法,包括:针对具有非方形形状的视频块确定在该视频块与该视频块的编解码表示之间的转换中使用的缩放矩阵,其中,该编解码表示中的语法元素信令通知该缩放矩阵;以及基于该缩放矩阵执行该转换,其中,该缩放矩阵用于在该转换期间缩放视频块的至少一些系数。
[0617]
22.根据解决方案21所述的方法,其中,该语法元素由先前方形块的缩放矩阵对该缩放矩阵进行预测编解码。
[0618]
可以将下述解决方案与先前章节中列举的项目(例如,项目9)当中描述的附加技术一起实施。
[0619]
23.一种视频处理方法,包括:确定将在视频块的编解码表示与该视频块之间的转换期间部分地应用的缩放矩阵;以及通过部分地应用该缩放矩阵从而在该视频块的第一组位置上应用该缩放矩阵并且在该视频块的其余位置上禁用该缩放矩阵来执行该转换。
[0620]
24.根据解决方案23所述的方法,其中,第一组位置包括该视频块的左上m*n个位置。
[0621]
25.根据解决方案23所述的方法,其中,第一组位置对应于该视频块的顶部m*n个位置。
[0622]
26.根据解决方案23所述的方法,其中,第一组位置包括该视频块的左侧m*n个位置。
[0623]
可以将下述解决方案与先前章节中列举的项目(例如,项目10和11)当中描述的附加技术一起实施。
[0624]
27.一种视频处理方法,包括:确定将在视频块的编解码表示与该视频块之间的转换期间应用缩放矩阵;以及基于该缩放矩阵执行该转换,其中,该编解码表示信令通知该缩放矩阵的元的数量,其中,该数量取决于该转换中的系数归零的应用。
[0625]
28.根据解决方案27所述的方法,其中,该转换包括对该视频块的左上mxn个位置以外的所有位置归零,并且其中,该数量为m/8*n/8。
[0626]
可以将下述解决方案与先前章节中列举的项目(例如,项目11)当中描述的附加技术一起实施。
[0627]
29.根据解决方案27-28中的任何解决方案所述的方法,其中,该数量取决于在该转换期间使用的变换矩阵。
[0628]
30.根据解决方案29所述的方法,其中,该变换矩阵具有尺寸kxl,并且其中,只有顶部的mxn个系数不被归零。
[0629]
31.根据解决方案27-30中的任何解决方案所述的方法,其中,通过根据由k或l确定的因子进行子采样而应用该缩放矩阵。
[0630]
可以将下述解决方案与先前章节中列举的项目(例如,项目12)当中描述的附加技术一起实施。
[0631]
32.一种视频处理方法,包括:在视频块与该视频块的编解码表示之间的转换期间基于具有特定类型的该视频块的尺寸确定要使用的单个量化矩阵;以及使用该量化矩阵执行该转换。
[0632]
33.根据解决方案32所述的方法,其中,该视频块的尺寸小于wxh,其中,w和h为整数。
[0633]
34.根据解决方案32-33中的任何解决方案所述的方法,其中,该视频块的宽度小于阈值。
[0634]
35.根据解决方案32-33中的任何解决方案所述的方法,其中,该视频块的高度小于阈值。
[0635]
36.根据解决方案32所述的方法,其中,该量化矩阵是不影响量化值的恒等量化矩阵。
[0636]
37.根据解决方案1到36中的任何解决方案所述的方法,其中,该转换包括将该视频编码成编解码表示。
[0637]
38.根据解决方案1到36中的任何解决方案所述的方法,其中,该转换包括对该编解码表示解码,以生成该视频的像素值。
[0638]
39.一种视频解码装置,包括处理器,该处理器被配置为实施根据解决方案1到38中的一者或多者所述的方法。
[0639]
40.一种视频编码装置,包括处理器,该处理器被配置为实施根据解决方案1到38中的一者或多者所述的方法。
[0640]
41.一种具有存储于其上的计算机代码的计算机程序产品,代码在被处理器执行时使得该处理器实施根据解决方案1到38中的任何解决方案所述的方法。
[0641]
42.本文件中描述的方法、装置或系统。
[0642]
所公开技术的一些实施例包括作出启用视频处理工具或模式的判定或决定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但不一定基于该工具或模式的使用来修改所得的比特流。也就是说,当基于判定或决定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道已经基于视频处理工具或模式修改了比特流的情况下处理比特流。也就是说,将使用基于判定或决定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
[0643]
所公开技术的一些实施例包括作出禁用视频处理工具或模式的判定或决定。在一个示例中,当视频处理工具或模式被禁用时,编码器在将视频块转换为视频的比特流表示中将不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道并未使用基于判定或决定禁用的视频处理工具或模式对比特流做出修改的情况下处理比特流。
[0644]
图15是示出了可以利用本公开的技术的示例性视频编解码系统100的框图。如图15中所示,视频编解码系统100可以包括源设备110和目标设备120。可以被称为视频编码设备的源设备110生成编码视频数据。可以被称为视频解码设备的目标设备120可以对源设备110生成的编码视频数据解码。源设备110可以包括视频源112、视频编解码器114和输入/输出(i/o)接口116。
[0645]
视频源112可以包括诸如视频捕获设备的源、从视频内容提供商接收视频数据的接口、和/或为生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络130a经由i/o接口116直接传输到目标设备120。编码的视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。
[0646]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0647]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0648]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以解码编码的视频数据。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目标设备120集成,或者可以在目标设备120的外部,目标设备120被配置为与外部显示设备接口。
[0649]
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(hevc)标准、通用视频编解码(vvm)标准和其他当前和/或进一步的标准。
[0650]
图16是示出视频编码器200的示例的框图,视频编码器200可以是图15所示的系统100中的视频编码器114。
[0651]
视频编解码器200可以被配置成执行本公开的任何或所有技术。在图16的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0652]
视频编码器200的功能组件可以包括分割单元201、可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206的预测单元202、残差生成单元207、变换单元208、量化单元209、反量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
[0653]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块拷贝(intra block copy,ibc)单元。ibc单元可以在ibc模式下执行预测,在ibc模式下,至少一个参考图片是当前视频块所在的图片。
[0654]
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以是高度集成的,
但是为了解释的目的,在图18的示例中单独表示。
[0655]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0656]
模式选择单元203可以例如基于误差结果选择帧内或帧间编解码模式之一,并将所得的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,并提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测组合(ciip)模式,在ciip模式下,预测是基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
[0657]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的除了与当前视频块相关联的图片之外的图片的解码样点来确定当前视频块的预测视频块。
[0658]
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在i条带中、p条带中还是在b条带中。
[0659]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。运动估计单元204然后可以生成指示包含参考视频块的列表0或列表1中的参考图片的参考索引和指示当前视频块和参考视频块之间的空间位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0660]
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以为当前视频块的参考视频块搜索列表0中的参考图片,并且还可以为当前视频块的另一个参考视频块搜索列表1中的参考图片。运动估计单元204然后可以生成指示包含参考视频块的列表0和列表1中的参考图片的参考索引以及指示参考视频块和当前视频块之间的空间位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0661]
在一些示例中,运动估计单元204可以输出完整的运动信息集,用于解码器的解码处理。
[0662]
在一些示例中,运动估计单元204可能不输出当前视频的完整的运动信息集。相反,运动估计单元204可以参考另一视频块的运动信息信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
[0663]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
[0664]
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差值(mvd)。运动矢量差值指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差值。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差值来确定当前视频块的运动矢量。
[0665]
如上所述,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实施的预测信令通知技术的两个示例包括高级运动矢量预测(advanced motion vector predication,amvp)和merge模式信令通知。
[0666]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0667]
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
[0668]
在其他示例中,例如在跳过模式中,当前视频块可能没有当前视频块的残差数据,并且残差生成单元207可能不执行减去操作。
[0669]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
[0670]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(quantization parameter,qp)值来量化与当前视频块相关联的变换系数视频块。
[0671]
反量化单元210和逆变换单元211可以分别对变换系数视频块应用反量化和逆变换,以从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到由预测单元202生成的一个或多个预测视频块的相应样点,以产生与当前块相关联的重建视频块,用于存储在缓冲器213中。
[0672]
在重建单元212重建视频块之后,可以执行环路滤波操作来减少视频块中的视频块伪影。
[0673]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据,并输出包括熵编码数据的比特流。
[0674]
图13是示出视频解码器300的示例的框图,视频解码器300可以是图15所示的系统100中的视频解码器114。
[0675]
视频解码器300可以被配置为执行本公开的任何或所有技术。在图13的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0676]
在图13的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、逆变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与视频编码器200(图16)描述的编码过程相反的解码过程。
[0677]
熵解码单元301可以获取编码比特流。该编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以解码熵编解码的视频数据,并且根据熵解码的视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行amvp和merge模式来确定这样的信息。
[0678]
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。要以亚像素精度使用的插值滤波器的标识符可以包括在语法元素中。
[0679]
运动补偿单元302可以使用视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的亚整数像素的插值。运动补偿单元302可以根据接收的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。
[0680]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分区如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)以及对编码视频序列进行解码的其他信息。
[0681]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空间紧邻的块形成预测块。反量化单元303对在比特流中提供并由熵解码单元301解码的量化视频块系数进行反量化,即,解量化。逆变换单元303应用逆变换。
[0682]
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加,以形成解码块。如果需要,还可以应用去块滤波器来滤波解码的块,以便去除成块效应(blockiness artifacts)。解码的视频块然后被存储在缓冲器307中,缓冲器307为随后的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
[0683]
在本文件中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到相应比特流表示的转换期间应用,反之亦然。当前视频块的比特流表示或编解码表示可以例如对应于比特流中的并置或分布在不同位置的比特,如语法所定义的。例如,视频块可以根据变换和编解码误差残余值来编码,并且还可以使用比特流中的标头和其他字段中的比特来编解码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可以确定是否包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
[0684]
图14是示出其中可以实施本文公开的各种技术的示例视频处理系统2000的框图。各种实施方式可以包括系统2000的一些或全部组件。系统2000可以包括用于接收视频内容的输入2002。视频内容可以以原始或未压缩格式接收,例如8或10比特多分量像素值,或者可以以压缩或编码格式接收。输入2002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(passive optical network,pon)等的有线接口和诸如wi-fi或蜂窝接口的无线接口。
[0685]
系统2000可以包括编解码组件2004,其可以实施本文档中描述的各种编解码或编码方法。编解码组件2004可以降低从输入2002到编解码组件2004的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件2004的输出可以被存储,或者经由连接的通信(如由组件2006表示的)传输。组件2008可以使用存储的或在输入2002处接收的视频的通信传送的比特流(或编解码)表示来生成发送到显示接口2010的像素值或可显示视频。从比特流表示生成用户可观看的视频的过程有时被称为视频解压缩。此外,虽然特定视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且将由解码器来执行反转编解码结果的对应的解码工具或操作。
[0686]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口(displayport)等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型计算机、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
[0687]
图17是视频处理的示例性方法1700的流程图。方法1700包括:执行(1702)视频的视频块与该视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,其中,该格式规则规定通过该视频块的编解码条件确定变换跳过模式对该视频块的适用性,其中,该格式规则规定从该编解码表示中省略指示变换跳过模式的适用性的语法元素,并且其中,该变换跳过模式包括在编码成该编解码表示之前,跳过对至少一些系数应用正向变换,或者在解码期间,在从该编解码表示解码之前,跳过对至少一些系数应用逆变换。
[0688]
图18是视频处理的示例性方法1800的流程图。方法1800包括:针对视频的两个紧邻视频块与该视频的编解码表示之间的转换,依据是否对该转换使用正向变换或逆变换而确定(1802)是否将对该转换使用环路滤波器或重建后滤波器,其中,该正向变换包括在编码成该编解码表示之前,跳过对至少一些系数应用该正向变换,或者在解码期间,在从该编解码表示解码之前,跳过对至少一些系数应用该逆变换;以及基于环路滤波器或重建后滤波器的使用执行(1804)该转换。
[0689]
图19是视频处理的示例性方法1900的流程图。方法1900包括:针对视频的视频块与该视频的编解码表示之间的转换,因对该转换使用块差分脉冲编解码调制(bdpcm)编解码工具或量化残差bdpcm(qr-bdpcm)编解码工具的原因而确定(1902)使用缩放工具;以及在使用该缩放工具的情况下执行(1904)该转换,其中,该编解码表示中的语法元素指示该缩放工具的使用,并且其中,该缩放根据的使用包括:在编码期间缩放表示该视频块的至少一些系数或者在解码期间对来自该编解码表示的至少一些系数去缩放。
[0690]
图20是视频处理的示例性方法2000的流程图。方法2000包括:针对视频的视频块与该视频的编解码表示之间的转换,因用于该视频块的转换的块差分脉冲编解码调制(bdpcm)编解码工具或量化残差bdpcm(qr-bdpcm)编解码工具的原因而确定(2002)禁止使用缩放工具;以及在不使用该缩放工具的情况下执行(2004)该转换,其中,该缩放根据的使用包括:在编码期间缩放表示该视频块的至少一些系数或者在解码期间对来自该编解码表示的至少一些系数去缩放。
[0691]
图21是视频处理的示例性方法2100的流程图。方法2100包括:针对视频的视频块与该视频的编解码表示之间的转换,基于为该转换选择的变换矩阵选择(2102)缩放矩阵,其中,这些缩放矩阵用于缩放这些视频块的至少一些系数,并且其中,这些变换矩阵用于在该转换期间变换这些视频块的所述至少一些系数;以及使用这些缩放矩阵执行(2104)该转换。
[0692]
图22是视频处理的示例性方法2200的流程图。方法2200包括:根据规则基于是否对视频的视频块的部分应用二次变换矩阵而确定(2202)是否应用缩放矩阵,其中,该缩放矩阵用于缩放该视频块的至少一些系数,并且其中,该二次变换矩阵用于在该转换期间变换该视频块的该部分的至少一些残差系数;以及使用所选择的缩放矩阵执行(2204)该视频的视频块与该视频的比特流表示之间的转换。
[0693]
图23是视频处理的示例性方法2300的流程图。方法2300包括:对具有非方形形状
的视频块确定(2302)在视频的该视频块与该视频的编解码表示之间的转换中使用的缩放矩阵,其中,该编解码表示中的语法元素信令通知该缩放矩阵,并且其中,该缩放矩阵用于在该转换期间缩放视频块的至少一些系数;以及基于该缩放矩阵执行(2304)该转换。
[0694]
图24是视频处理的示例性方法2400的流程图。方法2400包括执行(2402)视频的视频块与该视频的编解码表示之间的转换,其中,基于规则,该视频块包括第一数量的位置,在这些位置上在该转换期间应用缩放矩阵,并且该视频块还包括第二数量的位置,在这些位置上在在该转换期间不应用该缩放矩阵。
[0695]
图25是视频处理的示例性方法2500的流程图。方法2500包括:确定(2502)将在视频的视频块与该视频的编解码表示之间的转换期间应用缩放矩阵;以及基于该缩放矩阵执行该转换,其中,该编解码表示指示该缩放矩阵中的元的数量,并且其中,该数量取决于是否对该视频块应用系数归零。
[0696]
图26是视频处理的示例性方法2600的流程图。方法2600包括:根据规则执行(2602)视频的视频块与该视频的编解码表示之间的转换,其中,在对该视频块的变换系数应用k
×
l变换矩阵之后,在对除了左上m
×
n个变换系数之外的所有变换系数归零之后,将该视频块表示到该编解码表示当中,其中,将该编解码表示配置为排除对缩放矩阵的处于对应于归零的位置上的元的信令通知,其中,该缩放矩阵用于对变换系数进行缩放。
[0697]
图27是视频处理的示例性方法2700的流程图。方法2700包括在视频的视频块与该视频的编解码表示之间的转换期间基于规则确定(2702)是否将基于该视频块的尺寸使用单个量化矩阵,其中,所有具有该尺寸的视频块都使用该单个量化矩阵;以及使用该量化矩阵执行该转换。
[0698]
下文的三个章节描述了具有下述编号的示例性视频处理技术:
[0699]
章节a
[0700]
1.一种视频处理方法,包括:执行视频的视频块与该视频的编解码表示之间的转换,其中,该编解码表示符合格式规则,其中,该格式规则规定通过该视频块的编解码条件确定变换跳过模式对该视频块的适用性,其中,该格式规则规定从该编解码表示中省略指示变换跳过模式的适用性的语法元素,并且其中,该变换跳过模式包括在向该编解码表示当中编解码之前,跳过对至少一些系数应用正向变换,或者在解码期间,在从该编解码表示解码之前,跳过对至少一些系数应用逆变换。
[0701]
2.根据示例1所述的方法,其中,由于该视频块的编解码条件表明对该视频块使用块差分脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)而确定启用变换跳过模式。
[0702]
3.根据示例1所述的方法,其中,由于该视频块的编解码条件表明对该视频块使用非块差分脉冲编解码调制(非bdpcm)或非量化残差bdpcm(非qr-bdpcm)而确定禁用变换跳过模式。
[0703]
4.一种视频处理方法,包括:针对视频的两个紧邻视频块与该视频的编解码表示之间的转换,依据是否对该转换使用正向变换或逆变换而确定是否将对该转换使用环路滤波器或重建后滤波器,其中,该正向变换包括在编码成该编解码之前,跳过对至少一些系数应用该正向变换,或者在解码期间,在从该编解码表示解码之前,跳过对至少一些系数应用该逆变换;以及基于环路滤波器或重建后滤波器的使用执行该转换。
[0704]
5.根据示例4所述的方法,其中,该正向变换或逆变换包括变换跳过模式或块差分
脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)或调色板模式,并且其中,对所述两个紧邻视频块使用环路滤波器或重建后滤波器基于是否对所述两个紧邻视频块使用变换跳过模式或块差分脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)或调色板模式。
[0705]
6.根据示例4所述的方法,其中,该正向变换或逆变换包括变换跳过模式,并且其中,边界滤波强度的推导取决于指示是否对所述两个紧邻视频块之一或两者启用变换跳过模式的一个或多个语法元素。
[0706]
7.根据示例4所述的方法,其中,该正向变换或逆变换包括变换跳过模式,并且其中,响应于位于所述两个紧邻视频块处的样点是采用变换跳过模式编解码的而禁用去方块滤波器、样点自适应偏移、自适应环路滤波器或重建后滤波器。
[0707]
8.根据示例7所述的方法,其中,该正向变换或逆变换包括变换跳过模式,并且其中,响应于对所述两个紧邻视频块启用变换跳过模式而不对所述两个紧邻视频块之间的边缘应用环路滤波器和重建后滤波器。
[0708]
9.根据示例7所述的方法,其中,该正向变换或逆变换包括变换跳过模式,并且其中,响应于对所述两个紧邻视频块之一启用变换跳过模式而不对所述两个紧邻视频块之间的样点应用环路滤波器和重建后滤波器。
[0709]
10.根据示例4所述的方法,其中,该正向变换或逆变换包括变换跳过模式,并且其中,响应于对所述两个紧邻视频块启用变换跳过模式而使用环路滤波器或重建后滤波器之外的滤波器对所述样点滤波。
[0710]
11.根据示例10所述的方法,其中,该滤波器包括更平滑的滤波器。
[0711]
12.根据示例4所述的方法,其中,该视频包括采用脉冲编解码调制(pcm)或块差分脉冲编解码调制(bdpcm)或量化残差bdpcm(qr-bdpcm)或另一种类型的不对视频块应用正向变换或逆变换的模式编解码的视频块,并且其中,对所述视频块的转换是否使用环路滤波器或重建后滤波器是按照在对所述两个紧邻视频块启用变换跳过模式时对于所述两个紧邻视频块而言的相同的方式确定的。
[0712]
13.根据示例4-12中的任何示例所述的方法,其中,该环路滤波器包括去方块滤波器。
[0713]
14.根据示例4-12中的任何示例所述的方法,其中,该重建后滤波器包括双边滤波器或扩散滤波器。
[0714]
15.根据示例1到14中的任何示例所述的方法,其中,该转换包括将该视频块编码到该编解码表示当中。
[0715]
16.根据示例1到14中的任何示例所述的方法,其中,该转换包括对该编解码表示解码,以生成该视频块的像素值。
[0716]
17.一种视频解码装置,包括处理器,其被配置为实施示例1到16中的一者或多者当中所述的方法。
[0717]
18.一种其上存储了计算机代码的计算机程序产品,所述代码在由处理器执行时使该处理器实施示例1到17中的任何示例当中所述的方法。
[0718]
章节b
[0719]
1.一种视频处理方法,包括:针对视频的视频块与该视频的编解码表示之间的转换,基于该视频块的编解码模式确定缩放工具的因子;以及使用该缩放工具执行该转换,其
中,该缩放工具的使用包括:在编码期间缩放表示该视频块的至少一些系数或者在解码期间对来自该编解码表示的至少一些系数去缩放。
[0720]
2.根据示例1所述的方法,进一步包括:响应于对该视频块的转换使用块差分脉冲编解码调制(bdpcm)编解码工具或量化残差bdpcm(qr-bdpcm)编解码工具而基于预定义值确定缩放工具的因子。
[0721]
3.根据示例2所述的方法,其中,用于应用了bdpcm编解码工具或qr-bdpcm编解码工具的视频块的缩放工具的因子与用于应用了变换跳过模式的视频块的缩放工具的因子相同,并且其中,该变换跳过模式包括在编码成该编解码表示之前,跳过对至少一些系数应用正向变换,或者在解码期间,在从该编解码表示解码之前,跳过对至少一些系数应用逆变换。
[0722]
4.根据示例2所述的方法,其中,该转换包括基于在该转换期间应用于该视频块的至少一些系数的一项或多项变换确定该缩放工具的因子。
[0723]
5.根据示例4所述的方法,其中,响应于对该视频块的所述至少一些系数应用了所述一项或多项变换而对该转换允许该缩放工具。
[0724]
6.根据示例4所述的方法,其中,作为对该视频块的所述至少一些系数应用了所述一项或多项变换的响应,用于确定该缩放工具的因子的技术与用于帧内编解码块的相同。
[0725]
7.根据示例1所述的方法,其中,对于该视频的使用帧内块复制模式和帧间模式编解码的视频块而言,按照相同的方式确定该缩放矩阵的因子。
[0726]
8.一种视频处理方法,包括:针对视频的视频块与该视频的编解码表示之间的转换,因用于该视频块的转换的块差分脉冲编解码调制(bdpcm)编解码工具或量化残差bdpcm(qr-bdpcm)编解码工具的原因而确定禁止使用缩放工具;以及在不使用该缩放工具的情况下执行该转换,其中,该缩放根据的使用包括:在编码期间缩放表示该视频块的至少一些系数或者在解码期间对来自该编解码表示的至少一些系数去缩放。
[0727]
9.一种视频处理方法,包括:针对视频的视频块与该视频的编解码表示之间的转换,基于为该转换选择的变换矩阵选择缩放矩阵,其中,这些缩放矩阵用于缩放这些视频块的至少一些系数,并且其中,这些变换矩阵用于在该转换期间变换这些视频块的所述至少一些系数;以及使用这些缩放矩阵执行该转换。
[0728]
10.根据示例9所述的方法,其中,选择缩放矩阵基于所述视频块的转换是否使用默认变换模式。
[0729]
11.根据示例10所述的方法,其中,该默认变换模式包括离散余弦变换2(dct2)。
[0730]
12.根据示例9所述的方法,其中,针对多个变换矩阵单独信令通知各缩放矩阵。
[0731]
13.根据示例9所述的方法,其中,选择缩放矩阵基于视频块的运动信息。
[0732]
15.根据示例13所述的方法,其中,选择缩放矩阵基于视频块的转换是否使用子块编解码模式。
[0733]
15.根据示例14所述的方法,其中,该子块编解码模式包括仿射编解码模式。
[0734]
16.根据示例15所述的方法,其中,相较于另一个其转换使用非仿射模式的视频块的缩放矩阵而言,不同地信令通知用于仿射编解码模式的缩放矩阵。
[0735]
17.根据示例13所述的方法,其中,选择缩放矩阵基于视频块是否是采用仿射帧内预测模式编解码的。
[0736]
18.根据示例1到17中的任何示例所述的方法,其中,该转换包括将该(一个或多个)视频块编码到该编解码表示当中。
[0737]
19.根据示例1到17中的任何示例所述的方法,其中,该转换包括对该编解码表示解码,以生成该(一个或多个)视频块的像素值。
[0738]
20.一种视频解码装置,包括处理器,其被配置为实施示例1到19中的一者或多者当中所述的方法。
[0739]
21.一种视频编码装置,包括处理器,其被配置为实施示例1到19中的一者或多者当中所述的方法。
[0740]
22.一种其上存储了计算机代码的计算机程序产品,所述代码在由处理器执行时使该处理器实施示例1到19中的任何示例当中所述的方法。
[0741]
章节c
[0742]
1.一种视频处理方法,包括:根据规则基于是否对视频的视频块的部分应用二次变换矩阵而确定是否应用缩放矩阵,其中,该缩放矩阵用于缩放该视频块的至少一些系数,并且其中,该二次变换矩阵用于在该转换期间变换该视频块的该部分的至少一些残差系数;以及使用所选择的缩放矩阵执行该视频的视频块与该视频的比特流表示之间的转换。
[0743]
2.根据示例1所述的方法,其中,该规则规定响应于对包括kxl变换块尺寸的视频块的mxn左上部分应用二次变换矩阵而对该视频块的mxn左上部分应用该缩放矩阵。
[0744]
3.根据示例1所述的方法,其中,在该比特流表示中信令通知该缩放矩阵。
[0745]
4.根据示例3所述的方法,其中,针对该二次变换矩阵或者针对缩减二次变换或旋转变换在片组标头、条带标头、图片参数集(pps)、视频参数集(vps)、序列参数集(sps)中信令通知该缩放矩阵。
[0746]
5.根据示例1所述的方法,其中,该比特流表示包括指示是否应用该缩放矩阵的第一语法元素,并且其中,该比特流表示包括指示是否应用该二次变换矩阵的第二语法元素。
[0747]
6.根据示例1所述的方法,其中,该规则规定仅对该视频块的未应用该二次变换矩阵的部分应用该缩放矩阵。
[0748]
7.根据示例1所述的方法,其中,该规则规定对该视频块的除了应用该二次变换矩阵的mxn左上部分之外的部分应用该缩放矩阵。
[0749]
8.根据示例1所述的方法,其中,该规则规定仅对该视频块的应用该二次变换矩阵的部分应用该缩放矩阵。
[0750]
9.一种视频处理方法,包括:针对具有非方形形状的视频块确定在视频的该视频块与该视频的编解码表示之间的转换中使用的缩放矩阵,其中,该编解码表示中的语法元素信令通知该缩放矩阵,并且其中,该缩放矩阵用于在该转换期间缩放视频块的至少一些系数;以及基于该缩放矩阵执行该转换。
[0751]
10.根据示例9所述的方法,其中,该语法元素由该视频的先前方形块的另一缩放矩阵对该缩放矩阵进行预测编解码。
[0752]
11.一种视频处理方法,包括:执行视频的视频块与该视频的编解码表示之间的转换,其中,基于规则,该视频块包括第一数量的位置,在这些位置上在该转换期间应用缩放矩阵,并且该视频块还包括第二数量的位置,在这些位置上在在该转换期间不应用该缩放矩阵。
[0753]
12.根据示例11所述的方法,其中,该第一数量的位置包括该视频块的左上m*n个位置,并且其中,该视频块包括超过m*n个位置。
[0754]
13.根据示例11所述的方法,其中,该第一数量的位置包括该视频块的顶部的m*n个位置,并且其中,该视频块包括超过m*n个位置。
[0755]
14.根据示例11所述的方法,其中,该第一数量的位置包括该视频块的左侧的m*n个位置,并且其中,该视频块包括超过m*n个位置。
[0756]
15.一种视频处理方法,包括:确定将在视频的视频块与该视频的编解码表示之间的转换期间应用缩放矩阵;以及基于该缩放矩阵执行该转换,其中,该编解码表示指示该缩放矩阵中的元的数量,并且其中,该数量取决于是否对该视频块应用系数归零。
[0757]
16.根据示例15所述的方法,其中,对于64x64变换,该转换包括对该视频块的左上mxn个位置以外的所有位置归零,并且其中,该缩放矩阵的元的数量为m/8*n/8。
[0758]
17.一种视频处理方法,包括:根据规则执行视频的视频块与该视频的编解码表示之间的转换,其中,在对该视频块的变换系数应用kxl变换矩阵之后,在对除了左上mxn个变换系数之外的所有变换系数归零之后,将该视频块表示到该编解码表示当中,其中,将该编解码表示配置为排除对缩放矩阵的处于对应于归零的位置上的元的信令通知,其中,该缩放矩阵用于对变换系数进行缩放。
[0759]
18.根据示例17所述的方法,其中,跳过对该缩放矩阵的位于左上mxn个系数之外的区域内的元的信令通知。
[0760]
19.根据示例17所述的方法,其中,通过根据由k和/或l确定的比值进行子采样而应用该缩放矩阵。
[0761]
20.根据示例19所述的方法,其中,将该视频块划分成多个子区域,其中,每一子区域的尺寸为uw*uh,并且其中,在该编解码表示中信令通知该缩放矩阵的位于包括该视频块的左上mxn个系数的区域的每一子区域内的一个元。
[0762]
21.根据示例19所述的方法,其中,在该编解码表示中指示的该缩放矩阵的元的数量基于所述的m和/或n。
[0763]
22.根据示例19所述的方法,其中,对于该kxl变换矩阵而言在该编解码表示中指示的该缩放矩阵的元的第一数量不同于在不采用归零的情况下对于该左上mxn个系数在该编解码表示中指示的该缩放矩阵的元的第二数量。
[0764]
23.根据示例17所述的方法,其中,通过根据由m和/或n确定的比值进行子采样而应用该缩放矩阵。
[0765]
24.根据示例23所述的方法,其中,将包括左上mxn个系数的区域划分成多个子区域,其中,每一子区域的尺寸为uw*uh,并且其中,在该编解码表示中信令通知每一子区域内的一个元。
[0766]
25.根据示例23所述的方法,其中,对于该k
×
l变换矩阵而言在该编解码表示中指示的该缩放矩阵的元的数量与在不采用归零的情况下对于该左上mxn个系数在该编解码表示中指示的相同。
[0767]
26.根据示例17到25中的任何示例所述的方法,其中,k=l=64,并且其中,m=n=32。
[0768]
27.根据示例20或24中的任何示例所述的方法,其中,k=l=64,其中,m=n=32,
并且其中,uw=uh=8。
[0769]
28.一种视频处理方法,包括:在视频的视频块与该视频的编解码表示之间的转换期间基于规则确定是否将基于该视频块的尺寸使用单个量化矩阵,其中,所有具有该尺寸的视频块都使用该单个量化矩阵;以及使用该量化矩阵执行该转换。
[0770]
29.根据示例28所述的方法,其中,该规则规定响应于该视频块的尺寸小于wxh而仅允许单个量化矩阵,其中,w和h是整数。
[0771]
30.根据示例28所述的方法,其中,该规则规定响应于该视频块的宽度的小于阈值而仅允许单个量化矩阵。
[0772]
31.根据示例28所述的方法,其中,该规则规定响应于该视频块的高度的小于阈值而仅允许单个量化矩阵。
[0773]
32.根据示例28所述的方法,其中,该规则规定不对具有与小尺寸视频块相关联的尺寸的视频块应用单个量化矩阵。
[0774]
33.根据示例1到32中的任何示例所述的方法,其中,对该视频块应用调色板模式。
[0775]
34.根据示例1到33中的任何示例所述的方法,其中,该转换包括将该视频编码到该编解码表示当中。
[0776]
35.根据示例1到33中的任何示例所述的方法,其中,该转换包括对该编解码表示进行解码,以生成该视频块的像素值。
[0777]
36.一种视频解码装置,包括处理器,其被配置为实施示例1到35中的一者或多者当中所述的方法。
[0778]
37.一种视频编码装置,包括处理器,其被配置为实施示例1到35中的一者或多者当中所述的方法。
[0779]
38.一种其上存储了计算机代码的计算机程序产品,所述代码在由处理器执行时使该处理器实施示例1到35中的任何示例当中所述的方法。
[0780]
本文件中描述的所公开的以及其他的解决方案、示例、实施例、模块和功能操作可以在数字电子电路或者计算机软件、固件或硬件中实施,其包括本文件中所公开的结构及其结构等同物,或其中一个或多个的组合。所公开的实施例和其他实施例可以被实施成一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储衬底、存储设备、影响机器可读传播信号的物质组成或者它们当中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括(例如)可编程处理器、计算机或者多个处理器或计算机。除硬件外,该装置还可以包括为所考虑的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或者它们当中的一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成为对信息编码,以便传输到合适的接收器装置。
[0781]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中,专用于所讨论的程序的单个文件中,或者多个协调文件(例
如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
[0782]
本说明书中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0783]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或被操作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括(例如)半导体存储设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0784]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的具体特征的描述。本专利文件在各单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可以涉及子组合或子组合的变型。
[0785]
类似地,尽管附图中以特定顺序描述了操作,但这不应被理解为要获得想要的结果必须按照所示的特定顺序或者按照顺次排序执行此类操作,或者必须执行所有例示操作。此外,在本专利文件中描述的实施例当中对各种系统部件的划分不应被理解为在所有实施例中都要求这样的划分。
[0786]
仅描述了几种实施方式和示例,并且其他实施方式、增强和变化可以基于本专利文件中描述和说明的内容做出。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献