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

视频记录的符号数据隐藏的制作方法

2022-11-16 17:05:35 来源:中国专利 TAG:

视频记录的符号数据隐藏
相关申请的交叉引用
1.本公开要求2020年3月24日提交的第62/994,239的美国临时专利申请的优先权,该临时申请通过引用整体并入本文。
技术领域
技术领域本公开总体上涉及视频数据处理,更具体地,涉及视频数据的残差编码。


背景技术:

3.视频是捕获视觉信息的一组静态图像(或“帧”)。为了减少存储内存和传输带宽,可以在存储或传输之前对视频进行压缩,然后在显示之前对视频进行解压缩。压缩过程通常称为编码,解压缩过程通常称为解码。有多种使用标准化视频编码技术的视频编码格式,最常见的是基于预测、变换、量化、熵编码和环内滤波。标准化组织开发了视频编码标准,例如高效视频编码(hevc/h.265)标准,通用视频编码(vvc/h.266)标准和avs标准,指定了特定的视频编码格式。随着视频标准中采用越来越多的先进视频编码技术,新的视频编码标准的编码效率越来越高。


技术实现要素:

4.本公开实施例提供一种视频数据编码方法,所述方法包括:接收用于残差编码的视频帧;确定是否根据变换块级别的变换跳过模式对所述视频帧进行编码;以及响应于确定根据所述变换跳过模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。
5.本公开实施例还提供一种视频数据编码方法,所述方法包括:接收用于残差编码的视频帧;确定是否根据块差分脉冲编码调制模式对所述视频帧进行编码;以及响应于确定是根据块差分脉冲编码调制模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。
6.本公开实施例还提供了一种视频数据编码方法,所述方法包括:接收用于残差编码的视频帧;确定是否根据条带级别的变换跳过残差编码模式对所述视频帧进行编码;以及响应于确定没有根据所述条带级别的变换跳过残差编码模式对所述视频帧进行编码,关闭针对所述残差编码的符号数据隐藏。
7.本公开实施例还提供一种视频数据编码方法,所述方法包括:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否启用了符号数据隐藏,以及在所述视频帧的条带级别是否禁用了变换跳过残差编码;和响应于确定在所述视频帧的图像级别启用了符号数据隐藏,并在所述视频帧的条带级别启用了变换跳过残差编码,打开所述视频帧的条带级别的符号数据隐藏。
8.本公开实施例还提供了一种视频数据编码的方法,所述方法包括:接收用于残差编码的视频帧;确定是否在所述视频帧的图像级别启用了符号数据隐藏;响应于确定在所
述视频帧的图像级别启用了符号数据隐藏,打开所述视频帧的条带级别的符号数据隐藏;确定是否在所述视频帧的所述条带级别关闭了符号数据隐藏;以及响应于确定在所述视频帧的条带级别关闭了所述符号数据隐藏,关闭所述视频帧的条带级别的变换跳过残差编码。
9.本公开实施例还提供了一种视频数据编码方法,所述方法包括:接收用于残差编码的视频帧;确定所述视频帧是否在条带级别以无损模式编码;以及响应于确定所述视频帧在所述条带级别以所述无损模式被编码,关闭在所述条带级别的一个或多个环路滤波器。
10.本公开实施例还提供了一种视频数据编码方法,所述方法包括:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否关闭了符号数据隐藏;响应于确定在所述视频帧的图像级别关闭了所述符号数据隐藏,关闭所述视频帧的条带级别的变换跳过残差编码。
11.本公开实施例还提供了一种视频数据编码方法,所述方法包括:接收用于残差编码的视频帧;确定是否针对所述视频帧启用了依赖性量化;响应于确定针对所述视频帧启用所述依赖性量化,关闭在所述视频帧的条带级别的变换跳过残差编码。
12.本公开的实施例还提供了一种用于执行视频数据处理的系统,该系统包括:存储器,其存储指令集;以及处理器,其被配置为执行该指令集以使该系统执行:接收用于残差编码的视频帧;确定是否根据变换块级别的变换跳过模式对所述视频帧进行编码;以及响应于确定根据所述变换跳过模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。
13.本公开的实施例还提供了一种用于执行视频数据处理的系统,该系统包括:存储器,其存储指令集;以及处理器,其被配置为执行该指令集以使该系统执行:接收用于残差编码的视频帧;确定是否根据块差分脉冲编码调制模式对所述视频帧进行编码;以及响应于确定根据块差分脉冲编码调制模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。
14.本公开的实施例还提供了一种用于执行视频数据处理的系统,该系统包括:存储器,其存储指令集;以及处理器,其被配置为执行该指令集以使该系统执行:接收用于残差编码的视频帧;确定是否根据条带级别的变换跳过残差编码模式对所述视频帧进行编码;以及响应于确定没有根据所述条带级别的变换跳过残差编码模式对所述视频帧进行编码,关闭针对所述残差编码的符号数据隐藏。
15.本公开的实施例还提供了一种用于执行视频数据处理的系统,该系统包括:存储器,其存储指令集;以及处理器,其被配置为执行该指令集以使该系统执行:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否启用了符号数据隐藏,以及在所述视频帧的条带级别是否禁用了变换跳过残差编码;和响应于确定在所述视频帧的图像级别启用了符号数据隐藏,并在所述视频帧的条带级别启用了变换跳过残差编码,打开所述视频帧的条带级别的符号数据隐藏。
16.本公开的实施例还提供了一种用于执行视频数据处理的系统,该系统包括:存储器,其存储指令集;以及处理器,其被配置为执行该指令集以使该系统执行:接收用于残差编码的视频帧;确定是否在所述视频帧的图像级别启用了符号数据隐藏;响应于确定在所
述视频帧的图像级别启用了所述符号数据隐藏,打开在所述视频帧的条带级别的符号数据隐藏;确定是否在所述视频帧的所述条带级别关闭了符号数据隐藏;以及响应于确定在所述视频帧的所述条带级别关闭了所述符号数据隐藏,关闭所述视频帧的所述条带级别的变换跳过残差编码。
17.本公开的实施例还提供了一种用于执行视频数据处理的系统,该系统包括:存储器,其存储指令集;以及处理器,其被配置为执行该指令集以使该系统执行:接收用于残差编码的视频帧;确定所述视频帧是否在条带级别以无损模式编码;以及响应于确定所述视频帧在所述条带级别以所述无损模式被编码,关闭在所述条带级别的一个或多个环路滤波器。
18.本公开的实施例还提供了一种用于执行视频数据处理的系统,该系统包括:存储器,其存储指令集;以及处理器,其被配置为执行该指令集以使该系统执行:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否关闭了符号数据隐藏;响应于确定在所述视频帧的图像级别关闭了所述符号数据隐藏,关闭所述视频帧的条带级别的变换跳过残差编码。
19.本公开的实施例还提供了一种用于执行视频数据处理的系统,该系统包括:存储器,其存储指令集;以及处理器,其被配置为执行该指令集以使该系统执行:接收用于残差编码的视频帧;确定是否针对所述视频帧启用了依赖性量化;响应于确定针对所述视频帧启用所述依赖性量化,关闭在所述视频帧的条带级别的变换跳过残差编码。
20.本公开的实施例还提供了一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否根据变换块级别的变换跳过模式对所述视频帧进行编码;以及响应于确定根据所述变换跳过模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。
21.本公开的实施例还提供了一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否根据块差分脉冲编码调制模式对所述视频帧进行编码;以及响应于确定根据块差分脉冲编码调制模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。
22.本公开的实施例还提供了一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否根据条带级别的变换跳过残差编码模式对所述视频帧进行编码;以及响应于确定没有根据所述条带级别的变换跳过残差编码模式对所述视频帧进行编码,关闭针对所述残差编码的符号数据隐藏。
23.本公开的实施例还提供了一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否启用了符号数据隐藏,以及在所述视频帧的条带级别是否禁用了变换跳过残差编码;和响应于确定在所述视频帧的图像级别启用了符号数据隐藏,并在所述视频帧的条带级别启用了变换跳过残差编码,打开所述视频帧的条带级别的符号数据隐藏。
24.本公开的实施例还提供了一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否在所述视频帧的图像级别启用了符号数据隐藏;响应于确定在所述视频帧的图像级别启用了所述符号数据隐藏,打开在所述视频帧的条带级别的符号数据隐藏;确定是否在所述视频帧的所述条带级别关闭了符号数据隐藏;以及响应于确定在所述视频帧的所述条带级别关闭了所述符号数据隐藏,关闭所述视频帧的所述条带级别的变换跳过残差编码。
25.本公开的实施例还提供了一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定所述视频帧是否在条带级别以无损模式编码;以及响应于确定所述视频帧在所述条带级别以所述无损模式被编码,关闭在所述条带级别的一个或多个环路滤波器。
26.本公开的实施例还提供了一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否关闭了符号数据隐藏;响应于确定在所述视频帧的图像级别关闭了所述符号数据隐藏,关闭所述视频帧的条带级别的变换跳过残差编码。
27.本公开的实施例还提供了一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否针对所述视频帧启用了依赖性量化;响应于确定针对所述视频帧启用所述依赖性量化,关闭在所述视频帧的条带级别的变换跳过残差编码。
附图说明
28.在下面的详细描述和附图中示出了本公开的实施例和各个方面。图中所示的各种特征没有按比例绘制。
29.图1示出了根据本公开的一些实施例的示例视频序列的结构。
30.图2a示出了根据本公开的一些实施例的示例性编码过程的示意图。
31.图2b示出了根据本公开的一些实施例的另一示例编码过程的示意图。
32.图3a示出了根据本公开的一些实施例的示例性解码过程的示意图。
33.图3b示出了根据本公开的一些实施例的另一示例解码过程的示意图。
34.图4示出了根据本公开的一些实施例的用于对视频进行编码或解码的示例装置的框图。
35.图5示出了根据本公开的一些实施例的包括支持条件以允许或不允许用于ts和bdpcm块的sdh的示例性表格。
36.图6a示出了根据本公开的一些实施例的在调整之前的bdpcm块的示例性编码器调整。
37.图6b示出了根据本公开的一些实施例的调整之后的bdpcm块的示例性编码器调整。
38.图7示出了根据本公开的一些实施例的包括禁用符号数据隐藏的条件的示例性表格。
39.图8示出了根据本公开的一些实施例的包括残差编码语法的一部分的示例性语法。
40.图9示出了根据本公开的一些实施例的包括允许用于变换跳过模式和块差分脉冲编码调制模式的符号数据隐藏的条件的示例性表。
41.图10示出了根据本公开的一些实施例的包括用于图9所示条件的残差编码语法的一部分的示例性语法。
42.图11示出了根据本公开的一些实施例的包括用于禁用符号数据隐藏的残差编码语法的一部分的示例性语法。
43.图12示出了根据本公开的一些实施例的包括用于控制条带级符号数据隐藏标志的条带头语法的一部分的示例性语法。
44.图13示出了根据本公开的一些实施例的包括用于控制条带级符号数据隐藏标志的残差编码语法的一部分的示例性语法。
45.图14示出了根据本公开的一些实施例的包括用于条带级符号数据隐藏标志的条带头语法的一部分的示例性语法。
46.图15示出了根据本公开的一些实施例的包括用于条带级无损标志的条带头语法的一部分的示例性语法。
47.图16示出了根据本公开的一些实施例的包括用于条带级无损标志的残差编码语法的一部分的示例性语法。
48.图17示出了根据本公开的一些实施例的包括具有减少的语法冗余的条带头语法的一部分的示例性语法。
49.图18示出了根据本公开的一些实施例的包括用于符号数据隐藏和依赖性量化的条件的条带头语法的一部分的示例性语法。
50.图19示出了根据本公开的一些实施例的具有变换跳过模式和符号数据隐藏的示例视频编码方法的流程图。
51.图20示出了根据本公开的一些实施例的具有块差分脉冲编码调制模式和符号数据隐藏的示例视频编码方法的流程图。
52.图21示出了根据本公开的一些实施例的具有变换跳过残差编码和符号数据隐藏的示例视频编码方法的流程图。
53.图22示出了根据本公开的一些实施例的在图像级别具有变换跳过残差编码和符号数据隐藏的示例视频编码方法的流程图。
54.图23示出了根据本公开的一些实施例的示例视频编码方法的流程图,该视频编码方法具有在图像级别隐藏的符号数据、在条带级别隐藏的符号数据以及在条带级别的变换跳过残差编码。
55.图24示出了根据本公开的一些实施例的具有无损编码模式和符号数据隐藏的示例视频编码方法的流程图。
56.图25示出了根据本公开的一些实施例的示例视频编码方法的流程图,该视频编码方法具有在图像级别隐藏的符号数据和在条带级别变换跳过残差编码。
57.图26示出了根据本公开的一些实施例的在条带级别具有依赖性量化和变换跳过残差编码的示例视频编码方法的流程图。
具体实施方式
58.现在将详细参考示例性实施例,其示例在附图中示出。以下描述参照附图,除非另有说明,其中不同附图中的相同数字表示相同或相似的元件。在示例性实施例的以下描述中阐述的实施方式并不代表与本公开一致的所有实施方式。相反,它们仅是与如所附权利要求中所述的与本公开相关的方面一致的装置和方法的示例。下面更详细地描述本公开的特定方面。如果与通过引用并入的术语和/或定义相冲突的话,以本文提供的术语和定义为准。
59.itu-t视频编码专家组(itu-t vceg)和iso/iec运动图像专家组(iso/iec mpeg)的联合视频专家小组(jvet)目前正在开发通用视频编码(vvc/h.266)标准。vvc标准旨在将其前身高效视频编码(hevc/h.265)标准的压缩效率提高一倍。换句话说,vvc的目标是使用一半的带宽实现与hevc/h.265相同的主观质量。
60.为了使用一半的带宽实现与hevc/h.265相同的主观质量,jvet一直在使用联合探索模型(jem)参考软件开发hevc以外的技术。随着编码技术被纳入jem,jem实现了比hevc更高的编码性能。
61.vvc标准是最近开发的,并且继续包括提供更好压缩性能的更多编码技术。vvc基于与hevc、h.264/avc、mpeg2、h.263等现代视频压缩标准中一直使用的混合视频编码系统。
62.视频是按时间顺序排列以存储视觉信息的一组静态图像(或“帧”)。可以使用视频采集设备(例如,相机)以时间顺序采集和存储这些图像,并且可以使用视频回放设备(例如,电视、计算机、智能手机、平板计算机、视频播放器、或任何具有显示功能的最终用户终端)显示时间序列中的此类图像。此外,在一些应用中,视频采集设备可以实时地将采集的视频发送到视频回放设备(例如,具有监视器的计算机),例如用于监视、会议或现场广播。
63.为了减少此类应用所需的存储空间和传输带宽,可以在存储和传输之前对视频进行压缩,并在显示之前进行解压缩。可以通过由处理器(例如,通用计算机的处理器)或专用硬件执行的软件来实现压缩和解压缩。用于压缩的模块通常被称为“编码器”,并且用于解压缩的模块通常被称为“解码器”。编码器和解码器可以统称为“编解码器”。编码器和解码器可以被实现为各种合适的硬件、软件、或其组合中的任何一种。例如,编码器和解码器的硬件实现可以包括电路,诸如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑或其任何组合。编码器和解码器的软件实现可以包括固定在计算机可读介质中的程序代码、计算机可执行指令、固件或任何合适的计算机实现的算法或过程。视频压缩和解压缩可以通过各种算法或标准来实现,例如mpeg-1、mpeg-2、mpeg-4、h.26x系列等。在一些应用中,编解码器可以从第一编码标准解压缩视频,并且使用第二编码标准重新压缩解压缩的视频,在这种情况下,编解码器可以被称为“转码器”。
64.视频编码过程可以识别并保留可用于重建图像的有用信息,并忽略不重要的重建信息。如果忽略不重要的信息不能被完全重建,则这样的编码过程可以被称为“有损”。否则,它可以被称为“无损”。大多数编码过程都是有损的,这是为了减少所需的存储空间和传
输带宽的权衡。
65.被编码的图像(称为“当前图像”)的有用信息包括相对于参考图像(例如,先前编码和重建的图像)的变化。这样的变化可以包括像素的位置变化、亮度变化或颜色变化,其中位置变化是最受关注的。代表对象的一组像素的位置变化可以反映对象在参考图像和当前图像之间的运动。
66.不参考另一图像而编码的图像(即,它是自己的参考图像)被称为“i-图像”。使用先前图像作为参考图像编码的图像被称为“p-图像”,使用先前图像和将来图像作为参考图像编码的图像称为被称为“b图像”(参考是“双向”的)。
67.图1示出了根据本公开的一些实施例的示例视频序列100的结构。如图1所示,视频序列100可以是实况视频或已被采集和存档的视频。视频100可以是现实生活中的视频、电脑生成的视频(例如,计算机游戏视频)或二者组合(例如,具有增强现实效果的真实视频)。视频序列100可以从视频采集设备(例如,相机)、包含先前采集的视频档案(例如,存储在存储设备中的视频文件)或从视频内容提供商接收视频的视频馈送接口(例如,视频广播收发器)输入。
68.如图1所示,视频序列100可以包括沿时间线在时间上布置的一系列图像,包括图像102、104、106和108。图像102-106是连续的,在图像106和108之间有更多的图像。在图1中,图像102是i-图像,其参考图像是图像102本身。图像104是p-图像,其参考图像是图像102,如箭头所示。图像106是b图像,其参考图像是图像104和108,如箭头所示。在一些实施例中,图像的参考图像(例如,图像104)可以不紧接在图像之前或之后。例如,图像104的参考图像可以是图像102之前的图像。需要说明的是,图像102-106的参考图像仅仅是示例,本公开并不限定如图1所示的参考图像的实施例。
69.通常,由于编解码任务的计算复杂性,视频编解码器不会一次对整个图像进行编码或解码。相反,他们可以将图像分割成基本段,并逐段对图像段进行编码或解码。在本公开中,这样的基本段被称为基本处理单元(“bpu”)。例如,图1中的结构110示出了视频序列100的图像(例如,图像102-108中的任何图像)的示例结构。在结构110中,图像被划分为4
×
4基本处理单元,其边界被示出为虚线。在一些实施例中,基本处理单元可以在一些视频编码标准(例如,mpeg族、h.261、h.263或h.264/avc)中被称为“宏块”,或者在一些其它视频编码标准(例如,h.265/hevc或h.266/vvc)中被称为“编码树单元”(“ctu”)。基本处理单元可以在图像中具有可变的大小,例如128
×
128、64
×
64、32
×
32、16
×
16、4
×
8、16
×
32或任意形状和大小的像素。可以基于编码效率和要保持在基本处理单元中的细节水平的平衡来为图像选择基本处理单元的大小和形状。
70.基本处理单元可以是逻辑单元,其可以包括存储在计算机存储器中(例如,在视频帧缓冲区中)的一组不同类型的视频数据。例如,彩色图像的基本处理单元可以包括表示消色差亮度信息的亮度分量(y)、表示颜色信息的一个或多个色度分量(例如,cb和cr)以及相关联的语法元素,其中亮度和色度分量可以具有与基本处理单元的相同大小。在一些视频编码标准(例如,h.265/hevc或h.266/vvc)中,亮度和色度分量可以被称为“编码树块”(“ctb”)。对基本处理单元执行的任何操作都可以对其亮度和色度分量中的每一个重复执行。
71.视频编码具有多个操作阶段,其示例如图2a-2b和图3a-3b所示。对于每个阶段,基
本处理单元的大小对于处理仍然可能太大,因此可以进一步分为在本公开中称为“基本处理子单元”的段。在一些实施例中,基本处理子单元可以在一些视频编码标准(例如,mpeg族、h.261、h.263或h.264/avc)中被称为“块”,或者作为一些其他视频编码标准(例如,h.265/hevc或h.266/vvc)中的“编码单元”(“cu”)。基本处理子单元可以具有与基本处理单元相同的大小或具有比基本处理单元更小的大小。与基本处理单元类似,基本处理子单元也是逻辑单元,其可以包括存储在计算机存储器(例如,在视频帧缓冲区中)中的一组不同类型的视频数据(例如,y、cb、cr和相关联的语法元素)。对基本处理子单元执行的任何操作都可以对其亮度和色度分量中的每一个重复执行。应该注意的是,可以根据处理需要将这种划分执行到进一步的级别。还应注意,不同阶段可以使用不同的方案来划分基本处理单元。
72.例如,在模式决策阶段(其示例在图2b中示出,编码器可以决定对基本处理单元使用什么预测模式(例如,帧内预测或帧间预测),该基本处理单元可能太大而无法做出这样的决定。编码器可以将基本处理单元划分成多个基本处理子单元(例如,如h.265/hevc或h.266/vvc中的cu),并且决定每个单独的基本处理子单元的预测类型。
73.对于另一个示例,在预测阶段(其示例在图2a-2b中示出),编码器可以在基本处理子单元(例如,cu)的级别上执行预测操作。但是,在某些情况下,基本处理子单元仍然可能太大而无法处理。编码器可以进一步将基本处理子单元划分成更小的段(例如,在h.265/hevc或h.266/vvc中称为“预测块”或“pb”),在该级别上可以执行预测操作。
74.对于另一个示例,在变换阶段(其示例在图2a-2b中示出),编码器可以对残差基本处理子单元(例如,cu)执行变换操作。但是,在某些情况下,基本处理子单元仍然可能太大而无法处理。编码器可以进一步将基本处理子单元分成更小的段(例如,在h.265/hevc或h.266/vvc中称为“变换块”或“tb”),在该级别上可以执行变换操作。需要注意的是,同一基本处理子单元的划分方案在预测阶段和变换阶段可以不同。例如,在h.265/hevc或h.266/vvc中,相同cu的预测块和变换块可以具有不同的大小和数量。
75.在图1的结构110中,将基本处理单元112进一步分为3
×
3个基本处理子单元,其边界以虚线示出。同一图像的不同基本处理单元可以在不同的方案中划分为基本处理子单元。
76.在一些实施方式中,为了提供并行处理的能力以及对视频编码和解码的容错能力,可以将图像划分成用于处理的区域,使得对于图像的区域,编码或解码过程可以不依赖性于来自图像的任何其他区域的信息。换句话说,图像的每个区域都可以单独处理。通过这样做,编解码器可以并行处理图像的不同区域,从而提高了编码效率。此外,当一区域的数据在处理中被损坏或在网络传输中丢失时,编解码器可以正确地编码或解码同一图像的其他区域而不依赖性于被损坏或丢失的数据,从而提供容错能力。在某些视频编码标准中,可以将图像划分为不同类型的区域。例如,h.265/hevc和h.266/vvc提供两种类型的区域:“条带(slice)”和“块片(tile)”。还应注意的是,视频序列100的不同图像可以具有用于将图像划分为区域的不同划分方案。
77.例如,在图1中,结构110被划分成三个区域114、116和118,其边界被示为结构110内部的实线。区域114包括四个基本处理单元。区域116和118均包括六个基本处理单元。需要说明的是,图1中110的基本处理单元、基本处理子单元和结构区域仅是示例,本公开不限
制其实施例。
78.图2a示出了根据本公开的实施例的示例性编码过程200a的示意图。例如,编码过程200a可以由编码器执行。如图2a所示,编码器可以根据过程200a将视频序列202编码为视频位流228。类似于图1中的视频序列100,视频序列202可以包括按时间顺序排列的一组图像(称为“原始图像”)。类似于图1中的结构110,视频序列202的每个原始图像可以由编码器划分为基本处理单元、基本处理子单元或区域进行处理。在一些实施例中,编码器可以针对视频序列202的每个原始图像在基本处理单元的级别上执行过程200a。例如,编码器可以以迭代方式执行过程200a,其中编码器可以在过程200a的一次迭代中对基本处理单元进行编码。在一些实施例中,编码器可以针对视频序列202的每个原始图像的区域(例如,区域114-118)并行地执行过程200a。
79.参考图2a,编码器可以将视频序列202的原始图像的基本处理单元(称为“原始bpu”)馈送到预测阶段204,以生成预测数据206和预测bpu 208。编码器可以从原始bpu减去预测的bpu 208以生成残差bpu 210。编码器可以将残差bpu 210馈送到变换阶段212和量化阶段214以216生成量化变换系数216。编码器可以将预测数据206和量化变换系数216馈送到二进制编码阶段226以生成视频位流228。组件202、204、206、208、210、212、214、216、226和228可以被称为“前向路径”。在过程200a期间,在量化阶段214之后,编码器可以将量化变换系数216馈送到逆量化阶段218和逆变换阶段220以生成重建的残差bpu 222。编码器可以将重建的残差bpu 222添加到预测的bpu 208以生成预测参考224,其用于过程200a的下一次迭代的预测阶段204中。过程200a的组件218、220、222和224可以被称为“重建路径”。重建路径可以用于确保编码器和解码器都使用相同的参考数据进行预测。
80.编码器可以迭代地执行过程200a以对编码原始图像的每个原始bpu(在前向路径中)进行编码,并生成用于编码原始图像的下一个原始bpu(在重建路径中)的预测参考224。在对原始图像的所有原始bpu进行编码之后,编码器可以继续对视频序列202中的下一个图像进行编码。
81.参考过程200a,编码器可以接收由视频采集设备(例如,相机)生成的视频序列202。本文使用的术语“接收”可以指以任何方式接收、输入、获取、检索、获取、读取、访问或用于输入数据的任何动作。
82.在预测阶段204,在当前迭代时,编码器可以接收原始bpu和预测参考224,并执行预测操作以生成预测数据206和预测bpu 208。预测参考224可以从过程200a的先前迭代的重建路径生成。预测阶段204的目的是通过从预测数据206和预测参考224中提取可用于将原始bpu重建为预测bpu 208的预测数据206来减少信息冗余。
83.理想地,预测的bpu 208可以与原始bpu相同。然而,由于非理想的预测和重建操作,预测的bpu 208通常与原始bpu略有不同。为了记录这些差异,在生成预测bpu 208,编码器可以将其从原始bpu中减去以生成残差bpu 210。例如,编码器可以从原始bpu的像素的值减去预测bpu208的对应像素的值(例如,灰度值或rgb值)。残差bpu 210的每个像素可以具有残差值作为原始bpu和预测bpu208的相应像素之间的这种相减的结果,与原始bpu相比,预测数据206和残差bpu 210可以具有更少的比特数,但是它们可以用于重建原始bpu,而不会出现明显的质量下降。因此,原始bpu被压缩。
84.为了进一步压缩残差bpu 210,在变换阶段212,编码器可以通过将残差bpu 210分
解为一组二维“基本图案(base pattern)”来减少其空间冗余。每个基本图案与“变换系数”相关联。基本图案可以具有相同的大小(例如,残差bpu 210的大小),每个基本图案可以表示残差bpu 210的变化频率(例如,亮度变化的频率)分量。基本图案中的任何一个都不能从任何其他基本图案的任何组合(例如,线性组合)中再现。换句话说,分解可以将残差bpu 210的变化分解到频域中。这种分解类似于函数的离散傅立叶变换,其中,基本图像类似于离散傅立叶变换的基本函数(例如,三角函数),并且变换系数类似于与基本函数相关联的系数。
85.不同的变换算法可以使用不同的基本图案。在变换阶段212可以使用各种变换算法,例如,离散余弦变换、离散正弦变换等。变换阶段212处的变换是可逆的。也就是说,编码器可以通过变换的逆运算(称为“逆变换”)来恢复残差bpu 210。例如,为了恢复残差bpu 210的像素,逆变换可以是将基本图案的对应像素的值乘以相应的相关联系数并将乘积相加以产生加权和。对于视频编码标准,编码器和解码器都可以使用相同的变换算法(因此具有相同的基本图案)。因此,编码器可以仅记录变换系数,解码器可以从中重建残差bpu 210,而无需从编码器接收基本图案。与残差bpu 210相比,变换系数可以具有更少的比特,但是它们可以用于重建残差bpu 210而没有显著的质量劣化。因此,残差bpu 210被进一步压缩。
86.编码器可以进一步在量化阶段214压缩变换系数。在变换过程中,不同的基本图案可以表示不同的变化频率(例如,亮度变化频率)。因为人眼通常更擅长识别低频变化,所以编码器可以忽略高频变化的信息,而不会在解码中引起明显的质量劣化。例如,在量化阶段214,编码器可以通过将每个变换系数除以整数值(称为“量化参数”)并将商四舍五入到其最接近的整数来生成量化的变换系数216。在这样的操作之后,可以将高频基本图案的一些变换系数转换为零,并且可以将低频基本图案的变换系数转换为较小的整数。编码器可以忽略零值的量化变换系数216,由此变换系数被进一步压缩。该量化处理也是可逆的,其中量化变换系数216可以在量化的逆操作(称为“逆量化”)中被重建为变换系数。
87.因为编码器在舍入操作中忽略了该除法的余数,所以量化阶段214可能是有损的。通常,量化阶段214可以在过程200a中贡献最多的信息损失。信息损失越大,量化变换系数216所需的比特数就越少。为了获得不同级别的信息损失,编码器可以使用不同的量化参数值或量化过程的任何其他参数。
88.在二进制编码阶段226,编码器可以使用二进制编码技术对预测数据206和量化变换系数216进行编码,二进制编码例如为熵编码、可变长度编码、算术编码、霍夫曼编码、上下文自适应二进制算术编码,或任何其他无损或有损压缩算法。在一些实施例中,除了预测数据206和量化变换系数216之外,编码器可以在二进制编码阶段226编码其他信息,例如,在预测阶段204使用的预测模式、预测操作的参数、在变换阶段212处的变换类型。量化过程的参数(例如,量化参数)、编码器控制参数(例如,比特率控制参数)等。编码器可以使用二进制编码阶段226的输出数据来生成视频位流228。在一些实施例中,视频位流228可以被进一步打包以用于网络传输。
89.参照过程200a的重建路径,在逆量化阶段218,编码器可以对量化变换系数216执行逆量化,以生成重建的变换系数。在逆变换阶段220,编码器可以基于重建的变换系数生成重建残差bpu 222。编码器可以将重建残差bpu 222添加到预测bpu 208以生成将在过程
200a的下一次迭代中使用的预测参考224。
90.应当注意的是,过程200a的其他变体可用于对视频序列202进行编码。在一些实施例中,过程200a的阶段可以由编码器以不同的顺序执行。在一些实施例中,过程200a的一个或多个阶段可以组合成单个阶段。在一些实施例中,过程200a的单个阶段可以分为多个阶段。例如,变换阶段212和量化阶段214可以组合成单个阶段。在一些实施例中,过程200a可以包括附加的阶段。在一些实施例中,过程200a可以省略图2a中的一个或多个阶段。
91.图2b示出了根据本公开的实施例的另一示例编码过程200b的示意图。过程200b可以修改自过程200a。例如,过程200b可以由符合混合视频编码标准(例如,h.26x系列)的编码器使用。与过程200a相比,过程200b的前向路径还包括模式决策阶段230,并将预测阶段204分为空间预测阶段2042和时间预测阶段2044,过程200b的重建路径还另外包括环路滤波阶段232和缓冲区234。
92.通常,预测技术可以分为两种类型:空间预测和时间预测。空间预测(例如,帧内图像预测或“帧内预测”)可以使用来自同一图像中的一个或多个已经编码的相邻bpu的像素来预测当前bpu。也就是说,空间预测中的预测参考224可以包括相邻的bpu。空间预测可以减少图像固有的空间冗余。时间预测(例如,图像间预测或“帧间预测”)可以使用来自一个或多个已经编码的图像的区域来预测当前bpu。也就是说,时间预测中的预测参考224可以包括编码图像。时间预测可以减少图像固有的时间冗余。
93.参考过程200b,在前向路径中,编码器在空间预测阶段2042和时间预测阶段2044执行预测操作。例如,在空间预测阶段2042,编码器可以执行帧内预测。对于被编码的图像的原始bpu,预测参考224可以包括在同一图像中已经被编码(在前向路径中)和重建(在重建路径中)的一个或多个相邻bpu。编码器可以通过插值相邻的bpu来生成预测的bpu 208。插值技术可以包括例如线性插值或内插、多项式插值或内插等。在一些实施例中,编码器可以在像素级执行插值,例如通过插值预测bpu 208的每个像素的对应像素的值。用于插值的相邻bpu可以位于相对于原始bpu的各个方向,例如在垂直方向(例如,在原始bpu的顶部),水平方向(例如,在原始bpu的左侧),对角线方向(例如,在原始bpu的左下、右下、左上或右上),或在所使用的视频编码标准中定义的任何方向。对于帧内预测,预测数据206可以包括,例如,所使用的相邻bpu的位置(例如,坐标)、所使用的相邻bpu的大小、插值的参数、所使用的相邻bpu相对于原始bpu的方向等。
94.对于另一个示例,在时间预测阶段2044,编码器可以执行帧间预测。对于当前图像的原始bpu,预测参考224可以包括已经被编码(在前向路径中)和重建(在重建路径中)的一个或多个图像(被称为“参考图像”)。在一些实施例中,可以通过逐个bpu对参考图像进行编码和重建。例如,编码器可以将重建的残差bpu 222添加到预测bpu 208以生成重建bpu。当同一张图像的所有重建的bpu都被生成时,编码器可以生成一重建图像作为参考图像。编码器可以执行“运动估计”的操作以搜索参考图像的范围(称为“搜索窗口”)中的匹配区域。可以基于原始bpu在当前图像中的位置来确定搜索窗口在参考图像中的位置。例如,搜索窗口可以在参考图像中与当前图像中的原始bpu具有相同坐标的位置处为中心,并且可以向外延伸预定距离。当编码器在搜索窗口中识别(例如,通过使用pel递归算法、块匹配算法等)类似于原始bpu的区域时,编码器可以确定这样的区域作为匹配区域。匹配区域可以具有与原始bpu不同的大小(例如,小于、等于、大于或具有不同的形状)。因为参考图像和当前图像
在时间线上在时间上分开(例如,如图1所示),所以可以认为匹配区域随着时间的推移“移动”到原始bpu的位置。编码器可以将这种运动的方向和距离记录为“运动矢量”。当使用多个参考图像时(例如,如图1中的图像106),编码器可以搜索匹配区域并为每个参考图像确定其相关联的运动矢量。在一些实施例中,编码器可以将权重分配给各个匹配参考图像的匹配区域的像素值。
95.运动估计可用于识别各种类型的运动,例如平移、旋转、缩放等。对于帧间预测,预测数据206可以包括例如匹配区域的位置(例如,坐标)、与匹配区域相关联的运动矢量、参考图像的数量、与参考图像相关联的权重等。
96.为了生成预测的bpu 208,编码器可以执行“运动补偿”的操作。运动补偿可以用于基于预测数据206(例如,运动向量)和预测参考224来重建预测的bpu 208。例如,编码器可以根据运动矢量移动参考图像的匹配区域,其中编码器可以预测当前图像的原始bpu。当使用多个参考图像时(例如,如图1中的图像106),编码器可以根据匹配区域的各个运动矢量和平均像素值来移动参考图像的匹配区域。在一些实施例中,如果编码器已经将权重分配给各个匹配参考图像的匹配区域的像素值,则编码器可以将移动的匹配区域的像素值的加权和相加。
97.在一些实施例中,帧间预测可以是单向的或双向的。单向帧间预测可以使用相对于当前图像在相同时间方向上的一个或多个参考图像。例如,图1中的图像104是单向帧间预测图像,其中参考图像(即,图像102)在图像04之前。双向帧间预测可以在相对于当前图像的两个时间方向上使用一个或多个参考图像。例如,图1中的图像106是双向帧间预测图像,其中参考图像(即,图像104和08)相对于图像104在两个时间方向上。
98.仍然参考过程200b的前向路径,在空间预测2042和时间预测阶段2044之后,在模式决策阶段230,编码器可以为过程200b的当前迭代选择预测模式(例如,帧内预测或帧间预测之一)。例如,编码器可以执行速率失真优化技术,其中编码器可以根据候选预测模式的比特率和候选预测模式下的重建参考图像的失真来选择预测模式以最小化成本函数的值。根据所选择的预测模式,编码器可以生成相应的预测bpu 208和预测数据206。
99.在过程200b的重建路径中,如果在前向路径中已经选择了帧内预测模式,则在生成预测参考224(例如,在当前图像中已经编码和重建的当前bpu)之后,编码器可以将预测参考224直接馈送到空间预测阶段2042以用于以后的使用(例如,用于插值当前图像的下一bpu)。如果在前向路径中已经选择了帧间预测模式,则在生成预测参考224(例如,其中所有bpu都已被编码和重建的当前图像)之后,编码器可以将预测参考224馈送到环路滤波器阶段232。在该阶段,编码器可以将环路滤波器应用于预测参考224,以减少或消除由帧间预测引入的失真(例如,块状伪影)。编码器可以在环路滤波器阶段232处应用各种环路滤波器技术,例如去块、采样自适应补偿、自适应环路滤波器等。可以将经环路滤波的参考图像存储在缓冲区234(或“经解码的图像缓冲区”)中以供以后使用(例如,用作视频序列202的未来图像的帧间预测参考图像)。编码器可以将一个或多个参考图像存储在缓冲区234中,以在时间预测阶段2044处使用。在一些实施例中,编码器可以在二进制编码阶段226处编码环路滤波器的参数(例如,环路滤波器强度)以及量化变换系数216、预测数据206和其他信息。
100.图3a示出了根据本公开的实施例的示例性解码过程300a的示意图。过程300a可以是对应于图2a中的压缩过程200a的解压缩过程。在一些实施例中,过程300a可以类似于过
程200a的重建路径。解码器可以根据过程300a将视频位流228解码成视频流304。视频流304可以非常类似于视频序列202。然而,由于压缩和解压缩过程中的信息丢失(例如,图2a-2b中的量化阶段214),通常,视频流304与视频序列202不同。类似于图2a-2b中的过程200a和200b,解码器可以在基本处理单元(bpu)级别对在视频位流228中编码的每个图像执行过程300a。例如,解码器可以以迭代方式执行过程300a,其中解码器可以在过程300a的一次迭代中对基本处理单元进行解码。在一些实施例中,解码器可以针对在视频位流228中编码的每个图像的区域(例如,区域114-118)并行地执行过程300a。
101.如图3a所示,解码器可以将与编码图像的基本处理单元(称为“编码bpu”)相关联的视频位流228的一部分馈送到二进制解码阶段302,在二进制解码阶段302,解码器可以将该部分解码成预测数据206和量化变换系数216。解码器可以将量化变换系数216馈送到逆量化阶段218和逆变换阶段220以生成重建残差bpu222。解码器可以将预测数据206馈送到预测阶段204以生成预测bpu 208。解码器可以将重建残差bpu222添加到预测bpu 208以生成预测参考224。在一些实施例中,预测参考224可以存储在缓冲区(例如,计算机存储器中的解码图像缓冲区)中。解码器可以将预测参考224馈送到预测阶段204,用于在过程300a的下一次迭代中执行预测操作。
102.解码器可以迭代地执行过程300a,以解码编码图像的每个编码bpu,并生成用于编码图像的下一个编码bpu的预测参考224。在解码编码图像的所有编码bpu之后,解码器可以将该图像输出到视频流304以供显示,并且继续解码视频位流228中的下一个编码图像。
103.在二进制解码阶段302,解码器可以执行编码器使用的二进制编码技术(例如,熵编码、可变长度编码、算术编码、霍夫曼编码、上下文自适应二进制算术编码或任何其他无损压缩算法)的逆运算。在一些实施例中,除了预测数据206和量化的变换系数216,解码器可以在二进制解码阶段302解码其他信息,例如预测模式、预测操作的参数、变换类型、量化过程的参数(例如,量化参数)、编码器控制参数(例如,比特率控制参数)等。在一些实施例中,如果视频位流228通过网络以包的形式传输,则解码器可以在将视频位流228馈送到二进制解码级302之前对其进行解包。
104.图3b示出了根据本公开的实施例的另一示例解码过程300b的示意图。过程300b可以修改自过程300a。例如,过程300b可以由符合混合视频编码标准(例如,h.26x系列)的解码器使用。与过程300a相比,过程300b额外地将预测阶段204划分为空间预测阶段2042和时间预测阶段2044,并且额外地包括环路滤波阶段232和缓冲区234。
105.在过程300b中,对于在解码的编码图像(称为“当前图像”)的编码基本处理单元(称为“当前bpu”),由解码器从二进制解码阶段302解码的预测数据206可以包括各种类型的数据,这取决于编码器使用什么预测模式来编码当前bpu。例如,如果编码器使用帧内预测来编码当前bpu,则预测数据206可以包括指示帧内预测、帧内预测操作的参数等的预测模式指示符(例如,标志值)。帧内预测操作的参数可以包括例如用作参考的一个或多个相邻bpu的位置(例如,坐标)、相邻bpu的大小、插值的参数、相邻bpu相对于原始bpu的方向等。对于另一示例,如果由编码器使用的帧间预测来编码当前bpu,则预测数据206可以包括指示帧间预测、帧间预测操作的参数等预测模式指示符(例如,标志值)。帧间预测操作的参数可以包括例如与当前bpu相关联的参考图像的数量、分别与参考图像相关联的权重、相应参考图像中的一个或多个匹配区域的位置(例如,坐标)、分别与所述匹配区域相关联的一个
或多个运动矢量等。
106.基于预测模式指示符,解码器可以决定是在空间预测阶段2042执行空间预测(例如,帧内预测)还是在时间预测阶段2044执行时间预测(例如,帧间预测),执行这种空间预测或时间预测的细节在图2b中描述,其不会在下文中重复。在执行这样的空间预测或时间预测之后,解码器可以生成预测的bpu 208,解码器可以添加预测的bpu 208和重建残差bpu222以生成预测参考224,如图3a中所述。
107.在过程300b中,解码器可以将预测参考224馈送到空间预测阶段2042或时间预测阶段2044,用于在过程300b的下一次迭代中执行预测操作。例如,如果在空间预测阶段2042使用帧内预测解码当前bpu,则在生成预测参考224(例如,解码的当前bpu)之后,解码器可以将预测参考224直接馈送到空间预测阶段2042以供以后使用(例如,用于插值当前图像的下一个bpu)。如果在时间预测阶段2044使用帧间预测解码当前bpu,则在生成预测参考224(例如,其中所有bpu都被解码的参考图像)之后,编码器可以将预测参考224馈送到环路滤波器阶段232以减少或消除失真(例如,块状伪影)。解码器可以如图2b所示的方式将环路滤波器应用于预测参考224。环路滤波的参考图像可以存储在缓冲区234(例如,计算机存储器中的解码图像缓冲区)中供以后使用(例如,用作视频位流228的未来编码图像的预测间参考图像)。解码器可以将一个或多个参考图像存储在缓冲区234中,以在时间预测阶段2044处使用。在一些实施例中,预测数据可以进一步包括环路滤波器的参数(例如,环路滤波器强度)。在一些实施例中,当预测数据206的预测模式指示符指示帧间预测被用于编码当前bpu时,预测数据包括环路滤波器的参数。
108.可以有四种类型的环路滤波器。例如,环路滤波器可以包括去块滤波器、样本自适应偏移(“sao”)滤波器、具有色度缩放的亮度映射(“lmcs”)滤波器和自适应环路滤波器(“alf”)。应用四种类型的环路滤波器的顺序可以是lmcs滤波器、去块滤波器、sao滤波器和alf。lmcs滤波器可以包括两个主要组件。第一个组件以是基于自适应分段线性模型的亮度分量的环内映射。第二个组件可以用于色度分量,并且可以应用与亮度有关的色度残差缩放。
109.图4是根据本公开的实施例的用于对视频进行编码或解码的示例装置400的框图。如图4所示,装置400可以包括处理器402。当处理器402执行本文所述的指令时,装置400可以成为用于视频编码或解码的专用机器。处理器402可以是能够操纵或处理信息的任何类型的电路。例如,处理器402可以包括任何数量的中央处理单元(或“cpu”)、图形处理单元(或“gpu”)、神经处理单元(“npu”)、微控制器单元(“mcu”)、光学处理器中、可编程逻辑控制器、微处理器、数字信号处理器、知识产权(ip)核心、可编程逻辑阵列(pla)、可编程阵列逻辑(pal)、通用阵列逻辑(gal)、复杂可编程逻辑器件(cpld),一种现场可编程门阵列(fpga)、片上系统(soc)、专用集成电路(asic)等的任意组合。在一些实施例中,处理器402还可以是被分组为单个逻辑组件的一组处理器。例如,如图4所示,处理器402可以包括多个处理器,包括处理器402a、处理器402b和处理器402n。
110.装置400还可以包括被配置为存储数据(例如,指令集、计算机代码、中间数据等)的存储器404。例如,如图4所示,所存储的数据可以包括程序指令(例如,用于实现过程200a、200b、300a或300b中的阶段)和用于处理的数据(例如,视频序列202、视频位流228或视频流304)。处理器402可以访问用于处理的程序指令和数据(例如,经由总线410),并且执
行程序指令以对用于处理的数据执行操作或操纵。存储器404可以包括高速随机存取存储设备或非易失性存储设备。在一些实施例中,存储器404可以包括任意数量的随机存取存储器(ram)、只读存储器(rom)、光盘、磁盘、硬盘驱动器、固态驱动器、闪存驱动器、安全数字(sd)卡、记忆棒、紧凑型闪存(cf)卡等的任意组合。存储器404也可以是被分组为单个逻辑组件的一组存储器(图4中未示出)。
111.总线410可以是在装置400内部的组件之间传输数据的通信设备,诸如内部总线(例如,cpu-存储器总线)、外部总线(例如,通用串行总线端口、外围组件互连快速端口),或者类似物。
112.为了便于解释而不引起歧义,在本公开中,处理器402和其他数据处理电路统称为“数据处理电路”。数据处理电路可以完全实现为硬件,或者实现为软件、硬件或固件的组合。此外,数据处理电路可以是单个单独模块,或者可以完全或部分地组合到装置400的任何其他部件中。
113.装置400还可以包括网络接口406,以提供与网络(例如,因特网、内联网、局域网、移动通信网络等)的有线或无线通信。在一些实施例中,网络接口406可以包括任何数量的网络接口控制器(nic)、射频(rf)模块、应答器、收发器、调制解调器、路由器、网关、有线网络适配器、无线网络适配器、蓝牙适配器、红外适配器、近场通信(“nfc”)适配器、蜂窝网络芯片等的任意组合。
114.在一些实施例中,可选地,装置400可以进一步包括外围接口408,以提供到一个或多个外围设备的连接。如图4所示,外围设备可以包括,但不限于,光标控制设备(例如,鼠标、触摸板或触摸屏)、键盘、显示器(例如,阴极射线管显示器、液晶显示器、或发光二极管显示器)、视频输入设备(例如,相机或耦合到视频档案的输入接口)等。
115.应当注意,视频编解码器(例如,执行过程200a、200b、300a或300b的编解码器)可以被实现为装置400中的任何软件或硬件模块的任何组合。例如,过程200a、200b、300a或30013的一些或所有阶段可以被实现为装置400的一个或多个软件模块,诸如可以被加载到存储器404中的程序实例。对于另一示例,过程200a、200b、300a或300b的一些或全部阶段可以被实现为装置400的一个或多个硬件模块,诸如专用数据处理电路(例如,fpga、asic、npu等)。
116.在量化和逆量化功能块(例如,图2a或图2b的量化214和逆量化218,图3a或图3b的逆量化218)中,量化参数(qp)用于确定应用于预测残差的量化(和逆量化)量。用于对图像或条带进行编码的初始qp值可以在较高的级别上用信号通知,例如,使用图像参数集(pps)中的init_qp_minus26语法元素和使用条带头中的slice_qp_delta语法元素。此外,可以使用以量化组的粒度发送的增量qp值在每个cu的本地级别上适配qp值。
117.在vvc变换跳过模式中,残差块(例如,原始块和预测块之间的差)可以被直接量化和熵编码。可以在变换-跳过(“ts”)模式下绕过变换过程。例如,可以在变换块级别上用信号通知变量transform_skip_flag,以指示是否选择了要处理的ts模式。ts模式对于无损压缩是高效的。例如,ts模式对于相机捕获或屏幕内容序列是高效的。在有损压缩的情况下,ts模式还可以改善某些类型的视频内容的压缩过程,例如计算机生成的图像或与相机视图内容(例如,滚动文本)混合的图形。变换块是由解码过程中的变换产生的样本块,并且变换是将变换系数块转换为空间域值块的过程。
118.除了ts模式之外,vvc还采用块差分脉冲编码调制(“bdpcm”)模式。在bdpcm模式下,可以直接对残差块进行量化,并且可以对量化残差与其预测器量化值之间的增量进行熵编码。预测器量化值可以是水平方向或垂直方向。可以在cu级别传输变量bdpcm_flag,以指示是否应用了bdpcm。如果应用了bdpcm,则可以发送另一个标志以指示bdpcm模式的方向(例如,水平或垂直)。在一些示例中,如果选择了bdpcm模式,则transform_skip_flag的值可以被推断为1,从而指示针对当前块绕过变换过程。
119.在vvc(例如,vvc草案8)中,除了标量量化之外,还可以使用依赖性标量量化。在依赖性标量量化中,变换系数的一组可允许的重建值取决于按重建顺序在当前变换系数级别之前的变换系数级别的值。序列参数集(“sps”)级别变量sps_dep_quant_enabled_flag可用于启用序列级别中的依赖性量化(“dq”)。如果变量sps_dep_quant_enabled_flag等于1,则可以发送另一个图像级别变量ph_dep_quant_enabled_flag,以指示对图像应用了标量量化。
120.符号数据隐藏(“sdh”)是hevc或vvc(例如,vvc草案8)中减少编码符号数量的机制。对于每个系数组(“cg”),当启用sdh时,可以简单地省略对最后非零系数的符号(例如,以反向扫描顺序)进行编码。相反,可以使用预定义的约定将符号值嵌入cg中非零系数级别之和的奇偶性中。例如,偶数和可以对应于正奇偶校验(例如,“ ”),奇数和可以对应于负奇偶校验(例如,
“‑”
)。使用sdh的一个标准是按扫描顺序计算的cg的第一个和最后一个非零系数之间的距离。例如,如果该距离等于或大于4,则将sdh用于该cg。在vvc(例如,vvc草案8)中,有一个sps级别门控变量sps_sign_data_hiding_enabled_flag,其确定是否为当前视频序列启用了sdh。如果变量sps_sign_data_hiding_enabled_flag等于1,则可以在图像头处用信号通知另一个图像级别变量pic_sign_data_hiding_enabled_flag,以指示该图像中是否启用了sdh。
121.dq和sdh可以相互冲突。因此,对于相同的视频序列,vvc规范(例如,vvc草案8)不允许同时启用dq和sdh(例如,sps_dep_quant_enabled_flag等于1,sps_sign_data_hiding_enabled_flag等于1)。例如,只有当sps_dep_quant_enabled_flag等于0时,才能发出sps_sign_data_hiding_enabled_flag的信号。如果sps_dep_quant_enabled_flag等于1,则sps_sign_data_hiding_enabled_flag推断为0。
122.在vvc编码(例如,vvc草案8)中,存在两种残差编码方法,即常规残差编码方法(例如,residual_coding)和变换跳过残差编码方法(residual_ts_coding)。在常规残差编码中,每个非零系数的符号在旁路模式下的第三次扫描中被编码。根据是否为cg启用了sdh,可以对cg中的最后的符号进行编码或隐藏。允许ts块和bdpcm块选择常规残差编码或ts残差编码。如果条带级别标志或变量slice_ts_residual_coding_disabled_flag的值等于0,则在该条带的ts和bdpcm模式下编码的块将选择residual_ts_coding作为块的残差编码过程。如果条带级别标志slice_ts_residual_coding_disabled_flag的值等于1,则该条带的ts和bdpcm编码块选择常规残差编码(例如,residual_coding)方法作为块的残差编码过程。
123.如果满足以下两个条件,则允许具有非bdpcm的ts和具有bdpcm块的ts使用sdh:1)变量slice_ts_residual_coding_disabled_flag等于1,并且2)变量pic_sign_data_hiding_enabled_flag等于1。启用sdh时,熵编码或解码块的每个cg应满足以下两个条件中
的至少一个:1)系数的绝对值之和为偶数,并且左上角系数的符号为正,或2)系数的绝对值之和为奇数,左上角系数的符号为负数。如果cg都不满足上述条件中的任何一个,则编码器可以调整cg中的一个系数的绝对值,以保证满足上述条件中的一个。
124.图5示出了根据本公开的一些实施例的包括支持条件以允许或不允许用于ts和bdpcm块的sdh的示例性表格。如图5所示,当pic_sign_data_hiding_enabled_flag的值为1且slice_ts_residual_coding_disabled_flag的值为0时,sdh被禁用。当pic_sign_data_hiding_enabled_flag的值为1且slice_ts_residual_coding_disabled_flag的值为1时,启用sdh。
125.当前设计存在许多问题(例如,vvc草案8)。首先,vvc设计允许bdpcm块使用sdh,即使没有有效的编码算法来调整bdpcm块的系数值以保证上述sdh条件。图6a示出了根据本公开的一些实施例的在调整之前的bdpcm块的示例性编码器调整。图6b示出了根据本公开的一些实施例的调整之后的bdpcm块的示例性编码器调整。调整前的系数如图6a所示。如图6a所示,水平bdpcm块的系数的和是奇数(例如,211),并且左上系数的符号(例如,数字14的符号)是正的。这不满足sdh的必要条件。因此,需要在编码中进行调整。调整后的系数如图6b所示。如图6b所示,对编码器调整以将值-21改变为-22(以粗体示出),以便使绝对值的总和为偶数(例如,212)。结果,cg可以满足sdh的必要条件。然而,改变一个系数值会影响更多的系数。如图6b所示,图6a中所示的值-12,-2,4,-1,-1,-1已全部被更改(以粗体显示),并且错误已传播。这种误差传播使得带有sdh的bdpcm在压缩性能方面的效率较低。
126.vvc的当前设计的另一个问题(例如,vvc草案8)是执行无损压缩的能力。在无损压缩中,常规的残差编码(例如,变量slice_ts_residual_coding_disabled_flag等于1)可以实现比ts残差编码(例如,变量slice_ts_residual_coding_disabled_flag等于0)更高的压缩增益。结果,条件slice_ts_residual_coding_disabled_flag等于1的重要用法之一是无损压缩。由于sdh是一种有损编码工具,因此它无法始终产生无损结果。为了实现无损压缩,可能需要禁止隐藏符号数据。作为另一种方法,将slice_ts_residual_coding_disabled_flag==1和符号数据隐藏的组合可能是不允许的。
127.语法冗余是另一个问题。vvc(例如,vvc草案8)规范支持条件slice_ts_residual_coding_disabled_flag等于1和pic_sign_data_hiding_enabled_flag等于1的组合。然而,基于上述缺点,常规残差编码(例如,slice_ts_residual_coding_disabled_flag等于1)与符号数据隐藏(例如,pic_sign_data_hiding_enabled_flag等于1)的组合不是有用的配置。因此,禁止许这种组合可以减少语法冗余。
128.本公开的实施例提供了一种解决上述问题的方法。在一些实施例中,对于具有非bdpcm块的ts和具有bdpcm块的ts两者均禁用sdh,而不管slice_ts_residual_coding_disabled_flag的值如何。图7示出了根据本公开的一些实施例的包括禁用符号数据隐藏的条件的示例性表格。如图7所示,变量transform_skip_flag设置为1,而与变量slice_ts_residual_coding_disabled_flag的值无关。断言如果以bdpcm模式对块进行编码,则可以将变量transform_skip_flag推断为1。
129.图8示出了根据本公开的一些实施例的包括残差编码语法的一部分的示例性语法。如图8所示,对先前vvc的变化以粗体斜体显示,建议的删除语法以删除线进一步显示。例如,如果变量transform_skip_flag等于1,则将禁用符号数据隐藏。此外,可以删除变量
ph_dep_quant_enabled_flag的冗余条件检查。根据vvc规范,在标志pic_sign_data_hiding_enabled_flag和ph_dep_quant_enabled_flag的值均为1的情况下,不存在有效的情况。
130.在一些实施例中,如果块在bdpcm模式下被编码(例如,变量bdpcmflag等于1),则sdh被禁用,而不管变量slice_ts_residual_coding_disabled_flag的值如何。但是,如果变量slice_ts_residual_coding_disabled_flag等于1,则可以允许具有非bdpcm模式的ts块的sdh。如果slice_ts_residual_coding_disabled_flag等于0,则禁用ts块(带或不带bdpcm)的sdh。图9示出了根据本公开的一些实施例的允许包括用于变换跳过模式和块差分脉冲编码调制模式的符号数据隐藏的条件的示例性表。如图9所示,在非bdpcm模式下(例如,变量bdpcmflag等于0),如果变量slice_ts_residual_coding_disabled_flag等于1,则可以启用sdh。
131.图10示出了根据本公开的一些实施例的包括用于图9所示条件的残差编码语法的一部分的示例性语法。如图10所示,对先前vvc的变化以粗体斜体显示,建议的删除语法以删除线进一步显示。例如,如果bdpcmflag等于0,则禁用sdh(例如,signhidden等于0)。此外,可以从语法中删除变量ph_dep_quant_enabled_flag的冗余条件检查。
132.在一些实施例中,如果变量slice_ts_residual_coding_disabled_flag等于1,则对于所有编码块(例如,ts和非ts块)禁用符号数据隐藏。这是因为当变量slice_ts_residual_coding_disabled_flag等于1时,更可能的是,该条带意味着以无损模式进行编码,在这种情况下,sdh可能不合适。图11示出了根据本公开的一些实施例的包括用于禁用符号数据隐藏的残差编码语法的一部分的示例性语法。如图11所示,对先前vvc的更改以粗体斜体显示,建议的删除语法以删除线进一步显示。例如,当变量slice_ts_residual_coding_disabled_flag等于1时,sdh被禁用。
133.在一些实施例中,可以引入条带级符号数据隐藏标志(例如,变量slice_sign_data_hiding_enabled_flag)来控制条带的符号数据隐藏。例如,如果变量slice_sign_data_hiding_enabled_flag等于0,则当前条带将禁用符号位隐藏。如果变量slice_sign_data_hiding_enabled_flag等于1,则为当前条带启用符号位隐藏。在一些实施例中,当变量slice_sign_data_hiding_enabled_flag不存在时,推断其等于0。
134.在一些实施例中,对于给定条带,符号数据隐藏和slice_ts_residual_coding_disabled_flag==1都被禁用。更具体地说,不允许以下组合:a.slice_sign_data_hiding_enabled_flag等于1,并且b.slice_ts_residual_coding_disabled_flag等于1
135.在一些实施例中,如果满足以下两个条件,则用信号通知变量slice_sign_data_hiding_enabled_flag:1)变量pic_sign_data_hiding_enabled_flag等于1,意味着当前图像允许sdh,并且2)slice_ts_residual_coding_disabled_flag等于0,意味着条带很可能以有损模式编码,其中sdh可以是一个有用的工具。
136.图12示出了根据本公开的一些实施例的包括用于控制条带级符号数据隐藏标志的条带头语法的一部分的示例性语法。如图10所,对先前vvc的变化以粗体斜体显示。例如,如图10所示,新增变量slice_sign_data_hiding_enabled_flag。
137.在一些实施例中,如果slice_sign_data_hiding_enabled_flag不等于1,则用信
号通知条带级slice_ts_residual_coding_disabled_flag。这是禁止在同一条带上启用slice_ts_residual_coding_disabled_flag和slice_sign_data_hiding_enabled_flag的组合的方法之一。
138.图13示出了根据本公开的一些实施例的包括用于控制条带级符号数据隐藏标志的残差编码语法的一部分的示例性语法。如图13所示,对先前vvc的更改以粗体显示,建议的删除语法以删除线进一步显示。例如,当变量slice_sign_data_hiding_enabled_flag等于0时,无论变量ph_dep_quant_enabled_flag或pic_sign_data_hiding_enabled_flag的值如何,都禁用sdh。
139.在一些实施例中,可以在变量slice_ts_residual_coding_disabled_flag的信号通知之前用信号通知变量slice_sign_data_hiding_enabled_flag,并且如果变量slice_sign_data_hiding_enabled_flag等于0,则变量slice_ts_residual_coding_disabled_flag可以有条件地用信号通知。图14示出了根据本公开的一些实施例的示例性语法,其包括用于条带级符号数据隐藏标志的条带头语法的一部分。如图14所示,对先前vvc的变化以粗体显示。例如,如果pic_sign_data_hidnig_enabled_flag等于1,则可以设置slice_sign_data_hiding_enabled_flag。如图14所示,在条带级别的变量slice_sign_data_hiding_enabled_flag的信号通知以在图像级别的变量pic_sign_data_hiding_enabled_flag为条件。此外,变量slice_ts_residual_coding_disabled_flag的信号通知以变量slice_sign_data_hiding_enabled_flag为条件。
140.在一些实施例中,变量slice_sign_data_hiding_enabled_flag的信号通知和变量slice_ts_residual_coding_disabled_flag的信号通知可以彼此独立地处理。换句话说,一个的信号通知不以另一个的信号通知为条件。在一些实施例中,即使编码器已经处于无损模式,这也可能要求编码器发送值为0的变量slice_sign_data_hiding_enabled_flag。因此,可能产生语法冗余。然而,这可以为以后创造灵活性,以将常规残差编码和sdh一起用于ts和bdpcm块,从而提高有损编码效率。
141.在一些实施例中,条带级变量slice_ts_residual_coding_disabled_flag可以被替换为条带级无损变量,即slice_losslesss_flag。在一些实施例中,变量slice_lossless_flag的值为1指示当前条带被无损编码,并且该条带的所有残差块使用residual_coding()语法来解析残差样本。变量slice_losslesss_flag的值为0表示当前条带未进行无损编码。在一些实施例中,当变量slice_lossless_flag不存在时,推断其等于0。
142.图15示出了根据本公开的一些实施例的示例性语法,其包括用于条带级无损标志的条带头语法的一部分。如图15所示,对先前vvc的变化以粗体斜体显示,建议的删除语法以删除线进一步显示。例如,添加变量slice_losslesss_flag并将其合并到语法中。在条带类型的信号通知之后用信号通知变量slice_losslesss_flag。如果变量slice_lossless_flag等于1,则可以针对无损条带禁用一些或所有环路滤波器(例如,自适应环路滤波器、样本自适应偏移、去块滤波器和具有色度缩放的亮度映射)。例如,如果变量slice_losslesss_flag等于1,则不用信号通知变量slice_alf_enabled_flag,slice_sao_luma_flag,slice_deblocking_filter_override_flag和slice_lmcs_enabled_flag。
143.图16示出了根据本公开的一些实施例的示例性语法,其包括用于条带级无损标志
的残差编码语法的一部分。如图16所示,对先前vvc的更改以粗体斜体显示,建议的删除语法以删除线进一步显示。例如,添加变量slice_losslesss_flag并将其合并到语法中。在一些实施例中,如图16所示,在确定残差编码的条件时,变量slice_losslesss_flag可以代替变量slice_ts_residual_coding_disabled_flag。
144.在一些实施例中,变量pic_sign_data_hiding_enabled_flag和slice_ts_residual_coding_disabled_flag的值不能都等于1。当pic_sign_data_hiding_enabled_flag等于1时,编解码器最有可能在有损模式下操作,并且在损耗压缩中使用变量slice_ts_residual_coding_disabled_flag等于0的可能性非常高。因此,为了减少语法冗余,如果变量pic_sign_data_hiding_enabled_flag等于1,则可以推断变量slice_ts_residual_coding_disabled_flag为0。变量slice_ts_residual_coding_disabled_flag仅在变量pic_sign_data_hiding_enabled_flag等于0时才用信号通知。图17示出了根据本公开的一些实施例的包括具有减少的语法冗余的条带头语法的一部分的示例性语法。如图17所示,与先前vvc的变化以粗体斜体显示。例如,当变量pic_sign_data_hiding_enabled_flag等于0时,变量slice_ts_residual_coding_disabled_flag等于1。
145.在一些实施例中,对于给定图像,不能同时支持符号数据隐藏和依赖性量化。结果,变量ph_dep_quant_enabled_flag和pic_sign_data_hiding_enabled_flag可能不同时等于1。为了避免这种组合,如果变量ph_dep_quant_enabled_flag等于1,则用信号通知变量slice_ts_residual_coding_disabled_flag。图18示出了根据本公开的一些实施例的示例性语法,其包括用于符号数据隐藏和依赖性量化的条件的条带头语法的一部分。如图18所示,对先前vvc的变化以粗体斜体显示。例如,如图18所示,当变量ph_dep_quant_enabled_flag等于1时,用信号通知变量slice_ts_residual_coding_disabled_flag。
146.在一些实施例中,对于给定条带,不能同时支持依赖性量化和slice_ts_residual_coding_disabled_flag==1。为了避免这种组合,如果变量ph_dep_quant_enabled_flag等于1,则不用信号通知变量slice_ts_residual_coding_disabled_flag。
147.在一些实施例中,如果slice_sign_data_hiding_enabled_flag和ph_dep_quant_enabled_flag都是非零值,则将用信号通知slice_ts_residual_coding_disabled_flag。更具体地说,if(!slice_sign_data_hiding_enabled_flag&&!ph_dep_quant_enabled_flag)signal_residual_coding_disabled_flag
148.本公开的实施例还提供了用于执行视频编码的方法。图19示出了根据本公开的一些实施例的具有变换跳过模式和符号数据隐藏的示例视频编码方法的流程图。在一些实施例中,图19中所示的方法可以由图4所示的装置400执行。在一些实施例中,可以根据图8所示的语法执行图19所示的方法19000。在一些实施例中,。根据vvc标准执行图19所示的方法19000。
149.在步骤s19010中,接收用于编码的视频帧。在一些实施例中,所述视频帧处于位流中。在一些实施例中,接收用于残差编码的视频帧。
150.在步骤s19020中,确定是否根据变换块级别的变换跳过模式对视频帧进行编码。例如,如图8所示,可以使用变量transform_skip_flag确定视频帧是否根据变换块级别的变换跳过模式进行编码。
151.在步骤s19030中,响应于确定根据变换块级别的变换跳过模式对视频帧进行编码,关闭符号数据隐藏以进行残差编码。例如,如图8所示,当变量transform_skip_flag等于0时,变量signhidden设置为0。因此,将关闭用于残差编码的符号数据隐藏。在一些实施例中,关闭用于所述残差编码的符号数据隐藏并不取决于是否针对所述视频帧启用了依赖性量化。例如,如图8所示,从变量signhidden的条件中删除变量ph_dep_quant_enabled_flag。换句话说,signhidden的值不依赖性于变量ph_dep_quant_enabled_flag。在一些实施例中,关闭具有非bdpcm块的ts和具有bdpcm块的ts的符号数据隐藏可以提高压缩性能的效率。例如,通过关闭符号数据隐藏来移除图6所示的误差传播。
152.图20示出了根据本公开的一些实施例的具有块差分脉冲编码调制模式和符号数据隐藏的示例视频编码方法的流程图。在一些实施例中,图20中所示的方法20000可以由图4所示的装置400执行。在一些实施例中,图20所示的方法20000可以根据图10所示的语法执行。在一些实施例中,图20所示的方法20000根据vvc标准执行。
153.在步骤s20010中,接收用于编码的视频帧。在一些实施例中,所述视频帧处于位流中。在一些实施例中,接收用于残差编码的视频帧。
154.在步骤s20020中,确定是否根据块差分脉冲编码调制模式对视频帧进行编码。在一些实施例中,确定视频帧是否根据块级别的块差分脉冲编码调制模式进行编码。例如,如图10所示,可以使用变量bdpcmflag来确定视频帧是否根据块级别的块差分脉冲编码调制模式进行了编码。
155.在步骤s20030中,响应于确定根据块差分脉冲码调制模式对视频帧进行编码,对于残差编码,关闭符号数据隐藏。例如,如图10所示,当变量bdpcmflag等于0时,变量signhidden设置为0。因此,对于残差编码,将关闭符号数据隐藏。在一些实施例中,关闭用于所述残差编码的符号数据隐藏并不取决于是否对所述视频帧启用了依赖性量化。例如,如图10所示,从变量signhidden的条件中删除变量ph_dep_quant_enabled_flag。换句话说,signhidden的值不依赖性于变量ph_dep_quant_enabled_flag。在一些实施例中,关闭具有bdpcm块的ts的符号数据隐藏可以提高压缩性能的效率。例如,通过关闭符号数据隐藏来移除图6所示的误差传播。
156.图21示出了根据本公开的一些实施例的具有变换跳过残差编码和符号数据隐藏的示例视频编码方法的流程图。在一些实施例中,图21中所示的方法21000可以由图4所示的装置400执行。在一些实施例中,图21所示的方法21000可以根据图11所示的语法执行。在一些实施例中,图21中所示的方法21000是根据vvc标准执行的。
157.在步骤s21010中,接收用于编码的视频帧。在一些实施例中,所述视频帧处于位流中。在一些实施例中,接收用于残差编码的视频帧。
158.在步骤s21020中,确定视频帧是否根据条带级的变换跳过残差编码模式进行编码。例如,如图11所示,可以使用变量slice_ts_residual_coding_disabled_flag来确定视频帧是否根据条带级别的变换跳过残差编码模式进行编码。
159.在步骤s21030中,响应于确定视频帧未根据条带级别的变换跳过残差编码模式进行编码,关闭用于残差编码的符号数据隐藏。例如,如图11所示,当变量slice_ts_residual_coding_disabled_flag等于1时,确定视频帧没有根据条带级别的变换跳过残差编码模式被编码。结果,变量signhidden被设置为0,并且用于残差编码的符号数据隐藏被
关闭。在一些实施例中,关闭用于所述残差编码的符号数据隐藏并不取决于是否针对所述视频帧启用了依赖性量化。例如,如图11所示,从变量signhidden的条件中删除变量ph_dep_quant_enabled_flag。换句话说,signhidden的值不依赖性于变量ph_dep_quant_enabled_flag。在一些实施例中,符号数据隐藏是有损编码工具。常规残差编码(例如,slice_ts_residual_coding_disabled_flag等于1)可以实现比ts残差编码更多的压缩增益。因此,当变量slice_ts_residual_coding_disabled_flag等于1时,被执行的压缩可以是无损压缩。因此,可以关闭符号数据隐藏。
160.图22示出了根据本公开的一些实施例的在图像级别具有变换跳过残差编码和符号数据隐藏的示例视频编码方法的流程图。在一些实施例中,图22中所示的方法22000可以由图4所示的装置400执行。在一些实施例中,图22所示的方法22000可以根据图12所示的语法或图13所示的语法执行。在一些实施例中,图22中所示的方法22000根据vvc标准执行。
161.在步骤s22010中,接收用于编码的视频帧。在一些实施例中,所述视频帧处于位流中。在一些实施例中,接收用于残差编码的视频帧。
162.在步骤s22020中,确定在视频帧在图像级别是否启用了符号数据隐藏,以及视频帧在条带级别是否禁用了变换跳过残差编码。例如,如图12所示,可以使用变量pic_sign_data_hiding_enabled_flag确定视频帧是否在图像级别处启用了符号数据隐藏,并且可使用变量slice_ts_residual_coding_disabled_flag确定是否根据视频帧的条带级别处的变换跳过残差编码模式对视频帧进行了编码。
163.在步骤s22030中,响应于确定为视频帧在图像级别启用了符号数据隐藏并且在视频帧的条带级别启用了变换跳过残差编码,为视频帧在条带级别启用了符号数据隐藏。例如,如图12所示,当变量pic_sign_data_hiding_enabled_flag等于1时,确定为视频帧在图像级别启用了符号数据隐藏。此外,当变量slice_ts_residual_coding_disabled_flag等于1时,确定视频帧未根据条带级的变换跳过残差编码模式进行编码。结果,变量slice_sign_data_hiding_enabled_flag设置为1,并且在条带级别打开了符号数据隐藏。在一些实施例中,符号数据隐藏是有损编码工具。常规的残差编码(例如,slice_ts_residual_coding_disabled_flag等于1)可以实现比变换跳过残差编码更多的压缩增益。因此,变换跳过残差编码可能是有损压缩。因此,可以打开符号数据隐藏。
164.在一些实施例中,方法22000还包括步骤s22040和s22050。在步骤s22040中,确定是否在视频帧的条带级别上关闭了符号数据隐藏。例如,如图13所示示,可以检查变量slice_sign_data_hiding_enabled_flag以确定是否在视频帧的条带级别关闭了符号数据隐藏。
165.在步骤s22050中,响应于确定对于视频帧在条带级处关闭了符号数据隐藏,关闭了针对残差编码的符号数据隐藏。如图13所示,当变量slice_sign_data_hiding_enabled_flag等于0时,变量signhidden设置为0,并且针对残差编码关闭了符号数据隐藏。在一些实施例中,关闭针对所述残差编码的符号数据隐藏并不取决于是否针对所述视频帧启用了依赖性量化。如图13所示,从变量signhidden的条件中删除变量ph_dep_quant_enabled_flag。换句话说,signhidden的值不依赖性于变量ph_dep_quant_enabled_flag。
166.图23示出了根据本公开的一些实施例的示例视频编码方法的流程图,该视频编码方法具有在图像级别的符号数据隐藏、在条带级别的符号数据隐藏以及在条带级别的变换
跳过残差编码。在一些实施例中,图23中所示的方法23000可以由图4所示的装置400执行。在一些实施例中,图23所示的方法23000可以根据图14所示的语法执行。在一些实施例中,图23中所示的方法23000可以根据vvc标准执行。
167.在步骤s23010中,接收用于编码的视频帧。在一些实施例中,所述视频帧处于位流中。在一些实施例中,接收用于残差编码的视频帧。
168.在步骤s23020中,确定是否在视频帧的图像级别上启用了符号数据隐藏。例如,如图14所示,变量pic_sign_data_hiding_enabled_flag可用于确定是否在视频帧的图像级别启用了符号数据隐藏。
169.在步骤s23030中,响应于确定在视频帧的图像级别启用了符号数据隐藏,在视频帧的条带级别开启了符号数据隐藏。例如,如图14所示,当变量pic_sign_data_hiding_enabled_flag等于1时,确定在视频帧的图像级别启用了符号数据隐藏。结果,变量slice_sign_data_hiding_enabled_flag设置为1,并且在条带级别打开了符号数据隐藏。
170.在步骤s23040中,确定是否在视频帧的条带级别上关闭了符号数据隐藏。例如,如图14所示,检查变量slice_sign_data_hiding_enabled_flag以确定是否在视频帧的条带级别关闭了符号数据隐藏。
171.在步骤s23050中,响应于在视频帧的条带级别关闭了符号数据隐藏的确定,在视频帧的条带级别关闭变换跳过残差编码。例如,如图14所示,如果变量slice_sign_data_hiding_enabled_flag等于0,则变量slice_ts_residual_coding_disabled_flag设置为1,并且在视频帧的条带级别处关闭变换跳过残差编码。在一些实施例中,符号数据隐藏是有损编码工具。常规的残差编码(例如,slice_ts_residual_coding_disabled_flag等于1)可以实现比变换跳过残差编码更多的压缩增益。因此,变换跳过残差编码可能是有损压缩。当关闭符号数据隐藏时,也可以关闭条带级别的变换跳过残差编码。
172.图24示出了根据本公开的一些实施例的具有无损编码模式和符号数据隐藏的示例视频编码方法的流程图。在一些实施例中,图24中所示的方法24000可以由图4的装置400执行。在一些实施例中,图24所示的方法24000可以根据图15所示的语法或图16所示的语法执行24。在一些实施例中,图24中所示的方法24000根据vvc标准执行。
173.在步骤s24010中,接收用于编码的视频帧。在一些实施例中,所述视频帧处于位流中。在一些实施例中,接收用于残差编码的视频帧。
174.在步骤s24020中,确定视频帧是否以无损模式编码。在一些实施例中,确定视频帧是否在条带级别以无损模式进行编码。例如,如图15所示,变量slice_losslesss_flag可用于确定视频帧是否在条带级别以无损模式编码。
175.在步骤s24030中,响应于确定视频帧在条带级别以无损模式编码,在条带级关闭一个或多个环路滤波器。例如,如图15所示,如果变量slice_losslesss_flag等于1,则不用信号通知变量slice_alf_enabled_flag,slice_sao_luma_flag,slice_deblocking_filter_override_flag和slice_lmcs_enabled_flag。在一些实施例中,关闭所述一个或多个环路滤波器可以使视频编码更有效。
176.图25示出了根据本公开的一些实施例的示例视频编码方法的流程图,该视频编码方法具有在图像级别的符号数据隐藏和在条带级别的变换跳过残差编码。在一些实施例中,图25中所示的方法25000可以由图4所示的装置400执行。在一些实施例中,图25所示的
方法25000可以根据图17所示的语法来执行。在一些实施例中,图25中所示的方法25000根据vvc标准执行。
177.在步骤s25010中,接收用于编码的视频帧。在一些实施例中,所述视频帧处于位流中。在一些实施例中,接收用于残差编码的视频帧。
178.在步骤s25020中,确定是否在视频帧的图像级别上关闭了符号数据隐藏。例如,如图17所示,变量pic_sign_data_hiding_enabled_flag可用于确定是否在视频帧的图像级别关闭了符号数据隐藏。
179.在步骤s25030中,响应于确定在视频帧的图像级别关闭了符号数据隐藏,在视频帧的条带级别关闭了变换跳过残差编码。例如,如图17所示,检查变量pic_sign_data_hiding_enabled_flag。如果变量pic_sign_data_hiding_enabled_flag等于0,则用信号通知变量slice_ts_residual_coding_disabled_flag。结果,针对视频帧在条带级别上关闭了变换跳过残差编码。在一些实施例中,常规残差编码(例如,slice_ts_residual_coding_disabled_flag==1)与符号数据隐藏(例如,pic_sign_data_hiding_enabled_flag==1)的组合不是有用的配置。因此,不允许这种组合可以减少语法冗余。
180.图26示出了根据本公开的一些实施例的在条带级别具有依赖性量化和变换跳过残差编码的示例视频编码方法的流程图。在一些实施例中,图26中所示的方法26000可以由图4所示的装置400执行。在一些实施例中,图26所示的方法26000可以根据图18所示的语法执行。在一些实施例中,图26中所示的方法26000根据vvc标准执行26。
181.在步骤s26010中,接收用于编码的视频帧。在一些实施例中,所述视频帧处于位流中。在一些实施例中,接收用于残差编码的视频帧。
182.在步骤s26020中,确定是否对视频帧启用依赖性量化。例如,如图18所示,变量ph_dep_quant_enabled_flag可用于确定是否针对视频帧启用了依赖性量化。
183.在步骤s26030中,响应于确定针对视频帧启用了依赖性量化,在视频帧的条带级别处关闭变换跳过残差编码。例如,如图18所示,检查变量ph_dep_quant_enabled_flag。如果变量ph_dep_quant_enabled_flag等于1,则用信号通知变量slice_ts_residual_coding_disabled_flag。结果,在视频帧的条带级别上关闭了变换跳过残差编码。在一些实施例中,常规残差编码(例如,slice_ts_residual_coding_disabled_flag==1)与符号数据隐藏(例如,pic_sign_data_hiding_enabled_flag==1)的组合不是有用的配置。因此,不允许这种组合可以减少语法冗余。
184.在一些实施例中,还提供了包括指令的非暂时性计算机可读存储介质,并且所述指令可以由设备(诸如所公开的编码器和解码器)执行,用于执行上述方法。非暂时性介质的常见形式包括,例如,软盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、cd-rom、任何其他光学数据存储介质、任何具有孔图案的物理介质、ram,prom和eprom、flash-eprom或任何其他闪存、nvram、高速缓存、寄存器、任何其他存储芯片或盒式存储,以及它们的联网版本。该设备可以包括一个或多个处理器(cpu)、输入/输出接口、网络接口和/或存储器。
185.应该注意的是,本文中的诸如“第一”和“第二”的关系术语仅用于将实体或操作与另一实体或操作区分开来,而不要求或暗示这些实体或操作之间的任何实际关系或顺序。此外,词语“包括”、“具有”、“包含”和“包括”和其他类似的形式在含义上是等效的,并且是
开放式的,因为在这些词语中的任何一个后面的一个或多个项目并不意味着是这样一个或多个项目的详尽列表,或者意味着仅限于列出的一个或多个项目。
186.如本文所用,除非另有特别说明,术语“或”包括所有可能的组合,除非在不可行的情况下。例如,如果声明数据库可包括a或b,则除非另有明确声明或不可行,否则数据库可包括a、或b、或a和b。作为第二示例,如果声明数据库可以包括a、b或c,则除非另有明确说明或不可行,否则数据库可以包括a、或b、或c、或a和b、或a和c、或b和c、或a,b和c。
187.应当理解,上述实施例可以通过硬件、或软件(程序代码)、或硬件和软件的组合来实现。如果通过软件实现,则可以将其存储在上述计算机可读介质中。该软件在由处理器执行时可以执行所公开的方法。本公开中描述的计算单元和其他功能单元可以通过硬件、或软件、或硬件和软件的组合来实现。本领域普通技术人员还将理解,上述多个模块/单元可以组合为一个模块/单元,并且上述模块/单元中的每个模块/单元可以进一步划分为多个子模块/子单元。
188.在前面的说明书中,已经参考许多具体细节描述了实施例,这些具体细节可以随实施而变化。可以对所描述的实施例进行某些修改和改变。通过考虑本文公开的本发明的说明书和实践,其他实施例对于本领域技术人员来说是显而易见的。本说明书和实施例仅被认为是示例性的,本公开的真正范围和精神由所附的权利要求指示。附图所示的步骤序列仅用于说明目的,而不旨在限于任何特定的步骤序列。因此,本领域技术人员可以理解,这些步骤可以在实施相同方法的同时以不同的顺序执行。
189.可以使用以下条款进一步描述实施例:1、一种视频编码方法,包括:接收用于残差编码的视频帧;确定是否根据变换块级别的变换跳过模式对所述视频帧进行编码;以及响应于确定根据所述变换跳过模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。2、根据条款1所述的视频译码方法,其中关闭用于所述残差编码的符号数据隐藏与是否对所述视频帧启用依赖性量化无关。3、根据条款1所述的视频编码方法,其中,所述视频帧在位流中。4、根据条款1所述的视频编码方法,其中根据通用视频编码标准执行所述方法。5、一种视频编码方法,包括:接收用于残差编码的视频帧;确定是否根据块差分脉冲编码调制模式对所述视频帧进行编码;以及响应于确定根据块差分脉冲编码调制模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。6、根据条款5所述的视频编码方法,其中确定是否根据块差分脉冲编码调制模式对所述视频帧进行编码还包括:确定是否根据在块级别的所述块差分脉冲编码调制模式对所述视频帧进行编码。7、根据条款5所述的视频译码方法,其中关闭用于所述残差编码的符号数据隐藏与是否对所述视频帧启用依赖性量化无关。8、根据条款5所述的视频编码方法,其中,所述视频帧在位流中。
9、根据条款5所述的视频编码方法,其中所述方法根据通用视频编码标准执行。10、一种视频编码方法,包括:接收用于残差编码的视频帧;确定是否根据条带级别的变换跳过残差编码模式对所述视频帧进行编码;以及响应于确定没有根据所述条带级别的变换跳过残差编码模式对所述视频帧进行编码,关闭针对所述残差编码的符号数据隐藏。11、根据条款10所述的视频编码方法,其中关闭针对所述残差编码的符号数据隐藏与是否启用针对所述视频帧的依赖性量化无关。12、根据条款10所述的视频编码方法,其中所述视频帧在位流中。13、根据条款10所述的视频编码方法,其中所述方法根据通用视频编码标准执行。14、一种视频编码方法,包括:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否启用了符号数据隐藏,以及是否在所述视频帧的条带级别禁用了变换跳过残差编码;和响应于确定在所述视频帧的图像级别启用了符号数据隐藏,并在所述视频帧的条带级别启用了变换跳过残差编码,打开所述视频帧的条带级别的符号数据隐藏。15、根据条款14所述的视频编码方法,还包括:确定在视频帧的条带级别是否关闭了符号数据隐藏;以及响应于确定在视频帧的条带级别关闭了符号数据隐藏,关闭用于残差编码的符号数据隐藏。16、根据条款14所述的视频译码方法,其中所述视频帧在位流中。17、根据条款14所述的视频译码方法,其中所述方法根据通用视频译码标准执行。18、一种视频编码方法,包括:接收用于残差编码的视频帧;确定是否在所述视频帧的图像级别启用了符号数据隐藏;响应于确定在所述视频帧的图像级别启用了符号数据隐藏,打开所述视频帧的条带级别的符号数据隐藏;确定是否在所述视频帧的所述条带级别关闭了符号数据隐藏;以及响应于确定在所述视频帧的条带级别关闭了所述符号数据隐藏,关闭所述视频帧的条带级别的变换跳过残差编码。19、根据条款18所述的视频译码方法,其中所述视频帧在位流中。20、根据条款18所述的视频译码方法,其中所述方法根据通用视频译码标准执行。21、一种视频编码方法,包括:接收用于残差编码的视频帧;确定所述视频帧是否在条带级别以无损模式编码;以及响应于确定所述视频帧在所述条带级别以所述无损模式被编码,关闭在所述条带级别的一个或多个环路滤波器。22、根据条款21所述的视频译码方法,其中所述视频帧在位流中。23、根据条款21所述的视频编码方法,其中所述方法根据通用视频编码标准执行。
24、一种视频编码方法,包括:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否关闭了符号数据隐藏;响应于确定在所述视频帧的图像级别关闭了所述符号数据隐藏,关闭所述视频帧的条带级别的变换跳过残差编码。25、根据条款24所述的视频译码方法,其中所述视频帧在位流中。26、根据条款24所述的视频译码方法,其中所述方法根据通用视频译码标准执行。27、一种视频编码方法,包括:接收用于残差编码的视频帧;确定是否针对所述视频帧启用了依赖性量化;响应于确定针对所述视频帧启用所述依赖性量化,关闭在所述视频帧的条带级别的变换跳过残差编码。28、根据条款27所述的视频译码方法,其中所述视频帧在位流中。29、根据条款27所述的视频译码方法,其中所述方法根据通用视频译码标准执行。30、一种用于执行视频数据处理的系统,所述系统包括:存储指令集的存储器;以及被配置为执行所述指令集以使所述系统执行以下操作的处理器:接收用于残差编码的视频帧;确定是否根据变换块级别的变换跳过模式对所述视频帧进行编码;以及响应于确定根据所述变换跳过模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。31、根据条款30所述的系统,其中关闭用于所述残差编码的符号数据隐藏与是否对所述视频帧启用依赖性量化无关。32、根据条款30所述的系统,其中所述视频帧在位流中。33、根据条款30所述的系统,其中根据通用视频编码标准执行所述残差编码。34、一种用于执行视频数据处理的系统,所述系统包括:存储指令集的存储器;以及被配置为执行所述指令集以使所述系统执行以下操作的处理器:接收用于残差编码的视频帧;确定是否根据块差分脉冲编码调制模式对所述视频帧进行编码;以及响应于确定根据块差分脉冲编码调制模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。35、根据条款34所述的系统,其中确定所述处理器还被配置为执行所述指令集以使所述系统执行:确定是否根据在块级别的所述块差分脉冲编码调制模式对所述视频帧进行编码。36、根据条款34所述的系统,其中关闭用于所述残差编码的符号数据隐藏与是否对所述视频帧启用依赖性量化无关。37、根据条款34所述的系统,其中所述视频帧在位流中。38、根据条款34所述的系统,其中根据通用视频编码标准执行所述残差编码。
39、一种用于执行视频数据处理的系统,所述系统包括:存储指令集的存储器;以及被配置为执行所述指令集以使所述系统执行以下操作的处理器:接收用于残差编码的视频帧;确定是否根据条带级别的变换跳过残差编码模式对所述视频帧进行编码;以及响应于确定没有根据所述条带级别的变换跳过残差编码模式对所述视频帧进行编码,关闭针对所述残差编码的符号数据隐藏。40、根据条款39所述的系统,其中关闭针对所述残差编码的符号数据隐藏与是否启用针对所述视频帧的依赖性量化无关。41、根据条款39所述的系统,其中所述视频帧在位流中。42、根据条款39所述的系统,其中根据通用视频编码标准执行所述残差编码。43、一种用于执行视频数据处理的系统,所述系统包括:存储指令集的存储器;以及被配置为执行所述指令集以使所述系统执行以下操作的处理器:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否启用了符号数据隐藏,以及在所述视频帧的条带级别是否禁用了变换跳过残差编码;和响应于确定在所述视频帧的图像级别启用了符号数据隐藏,并在所述视频帧的条带级别启用了变换跳过残差编码,打开所述视频帧的条带级别的符号数据隐藏。44、根据条款43所述的系统,其中所述处理器还被配置为执行所述指令集以使所述系统执行:确定在视频帧的条带级别是否关闭了符号数据隐藏;以及响应于确定在视频帧的条带级别关闭了符号数据隐藏,关闭用于残差编码的符号数据隐藏。45、根据条款43所述的系统,其中所述视频帧在位流中。46、根据条款43所述的系统,其中根据通用视频编码标准执行所述残差编码。47、一种用于执行视频数据处理的系统,所述系统包括:存储指令集的存储器;以及被配置为执行所述指令集以使所述系统执行以下操作的处理器:接收用于残差编码的视频帧;确定是否在所述视频帧的图像级别启用了符号数据隐藏;响应于确定在所述视频帧的图像级别启用了所述符号数据隐藏,打开在所述视频帧的条带级别的符号数据隐藏;确定是否在所述视频帧的所述条带级别关闭了符号数据隐藏;以及响应于确定在所述视频帧的所述条带级别关闭了所述符号数据隐藏,关闭所述视频帧的所述条带级别的变换跳过残差编码。48、根据条款47所述的系统,其中所述视频帧在位流中。49、根据条款47所述的系统,其中根据通用视频编码标准执行所述残差编码。50、一种用于执行视频数据处理的系统,所述系统包括:
存储指令集的存储器;以及被配置为执行所述指令集以使所述系统执行以下操作的处理器:接收用于残差编码的视频帧;确定所述视频帧是否在条带级别以无损模式编码;以及响应于确定所述视频帧在所述条带级别以所述无损模式被编码,关闭在所述条带级别的一个或多个环路滤波器。51、根据条款50所述的系统,其中所述视频帧在位流中。52、根据条款50所述的系统,其中根据通用视频编码标准执行所述残差编码。53、一种用于执行视频数据处理的系统,所述系统包括:存储指令集的存储器;以及被配置为执行所述指令集以使所述系统执行以下操作的处理器:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否关闭了符号数据隐藏;响应于确定在所述视频帧的图像级别关闭了所述符号数据隐藏,关闭所述视频帧的条带级别的变换跳过残差编码。54、根据条款53所述的系统,其中所述视频帧在位流中。55、根据条款54所述的系统,其中根据通用视频编码标准执行所述残差编码。56、一种用于执行视频数据处理的系统,所述系统包括:存储指令集的存储器;以及被配置为执行所述指令集以使所述系统执行以下操作的处理器:接收用于残差编码的视频帧;确定是否针对所述视频帧启用了依赖性量化;响应于确定针对所述视频帧启用所述依赖性量化,关闭在所述视频帧的条带级别的变换跳过残差编码。57、根据条款56所述的系统,其中所述视频帧在位流中。58、根据条款56所述的系统,其中根据通用视频编码标准执行所述残差编码。59、一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否根据变换块级别的变换跳过模式对所述视频帧进行编码;以及响应于确定根据所述变换跳过模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。60、根据条款59所述的非暂时性计算机可读介质,其中关闭用于所述残差编码的符号数据隐藏与是否对所述视频帧启用依赖性量化无关。61、根据条款59所述的非暂时性计算机可读介质,其中所述视频帧在位流中。62、根据条款59所述的非暂时性计算机可读介质,其中,根据通用视频编码标准执行所述方法。63、一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:
接收用于残差编码的视频帧;确定是否根据块差分脉冲编码调制模式对所述视频帧进行编码;以及响应于确定根据块差分脉冲编码调制模式对所述视频帧进行编码,关闭用于所述残差编码的符号数据隐藏。64、根据条款63所述的非暂时性计算机可读介质,其中所述指令集可由所述计算机系统的所述至少一个处理器执行以使所述计算机系统进一步执行:确定是否根据在块级别的所述块差分脉冲编码调制模式对所述视频帧进行编码。65、根据条款63所述的非暂时性计算机可读介质,其中关闭用于所述残差编码的符号数据隐藏与是否对所述视频帧启用依赖性量化无关。66、根据条款63所述的非暂时性计算机可读介质,其中所述视频帧在位流中。67、根据条款63所述的非暂时性计算机可读介质,其中根据通用视频编码标准执行所述方法。68、一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否根据条带级别的变换跳过残差编码模式对所述视频帧进行编码;以及响应于确定没有根据所述条带级别的变换跳过残差编码模式对所述视频帧进行编码,关闭针对所述残差编码的符号数据隐藏。69、根据条款68所述的非暂时性计算机可读介质,其中关闭针对所述残差编码的符号数据隐藏与是否启用针对所述视频帧的依赖性量化无关。70、根据条款68所述的非暂时性计算机可读介质,其中所述视频帧在位流中。71、根据条款68所述的非暂时性计算机可读介质,其中根据通用视频编码标准来执行所述方法。72、一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否启用了符号数据隐藏,以及在所述视频帧的条带级别是否禁用了变换跳过残差编码;和响应于确定在所述视频帧的图像级别启用了符号数据隐藏,并在所述视频帧的条带级别启用了变换跳过残差编码,打开所述视频帧的条带级别的符号数据隐藏。73、根据条款72所述的非暂时性计算机可读介质,其中所述指令集可由所述计算机系统的所述至少一个处理器执行以使所述计算机系统进一步执行:确定在视频帧的条带级别是否关闭了符号数据隐藏;以及响应于确定在视频帧的条带级别关闭了符号数据隐藏,关闭用于残差编码的符号数据隐藏。74、根据条款72所述的非暂时性计算机可读介质,其中所述视频帧在位流中。75、根据条款72所述的非暂时性计算机可读介质,其中根据通用视频编码标准执行所述方法。76、一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或
多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否在所述视频帧的图像级别启用了符号数据隐藏;响应于确定在所述视频帧的图像级别启用了所述符号数据隐藏,打开在所述视频帧的条带级别的符号数据隐藏;确定是否在所述视频帧的所述条带级别关闭了符号数据隐藏;以及响应于确定在所述视频帧的所述条带级别关闭了所述符号数据隐藏,关闭所述视频帧的所述条带级别的变换跳过残差编码。77、根据条款76所述的非暂时性计算机可读介质,其中所述视频帧在位流中。78、根据条款76所述的非暂时性计算机可读介质,其中,根据通用视频编码标准执行所述方法。79、一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定所述视频帧是否在条带级别以无损模式编码;以及响应于确定所述视频帧在所述条带级别以所述无损模式被编码,关闭在所述条带级别的一个或多个环路滤波器。80、根据条款79所述的非暂时性计算机可读介质,其中所述视频帧在位流中。81、根据条款79所述的非暂时性计算机可读介质,其中,根据通用视频编码标准执行所述方法。82、一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定在所述视频帧的图像级别是否关闭了符号数据隐藏;响应于确定在所述视频帧的图像级别关闭了所述符号数据隐藏,关闭所述视频帧的条带级别的变换跳过残差编码。83、根据条款82所述的非暂时性计算机可读介质,其中所述视频帧在位流中。84、根据条款82所述的非暂时性计算机可读介质,其中根据通用视频编码标准执行所述方法。85、一种存储指令集的非暂时性计算机可读介质,所述指令集可由装置的一个或多个处理器执行以使所述装置发起用于执行视频数据处理的方法,所述方法包括:接收用于残差编码的视频帧;确定是否针对所述视频帧启用了依赖性量化;响应于确定针对所述视频帧启用所述依赖性量化,关闭在所述视频帧的条带级别的变换跳过残差编码。86、如条款85所述的非暂时性计算机可读介质,其中所述视频帧在位流中。87、根据条款85所述的非暂时性计算机可读介质,其中,根据通用视频编码标准执行所述方法。
190.在附图和说明书中,已经公开了示例性实施例。然而,可以对这些实施例进行许多
变化和修改。因此,尽管采用了特定的术语,但它们仅在通用和描述性的意义上使用,而不是出于限制的目的。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献