在视频译码中具有自适应参数集(aps)的基于块的自适应环路滤波器(alf)

文档序号:1804663 发布日期:2021-11-05 浏览:21次 >En<

阅读说明:本技术 在视频译码中具有自适应参数集(aps)的基于块的自适应环路滤波器(alf) (Block-based Adaptive Loop Filter (ALF) with Adaptive Parameter Set (APS) in video coding ) 是由 胡楠 V·谢廖金 M·卡切夫维茨 于 2020-03-19 设计创作,主要内容包括:对视频数据进行解码的方法,所述方法包括从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流中解码用于指示针对亮度块的自适应参数集的数量的第一语法元素;基于针对亮度块的所述自适应参数集的数量,来对针对亮度块的多个第一自适应参数集索引进行解码;以及从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流中解码针对色度块的第二自适应参数集索引。(A method of decoding video data, the method comprising decoding, from a video bitstream for which adaptive loop filtering is enabled for luma blocks in one or more of a picture, a slice, a tile, or a group of tiles, a first syntax element for indicating a number of adaptive parameter sets for luma blocks; decoding a first plurality of adaptive parameter set indices for a luma block based on a number of the adaptive parameter sets for the luma block; and decoding a second adaptive parameter set index for the chroma block from the video bitstream for which adaptive loop filtering is enabled for the chroma block in one or more of the picture, slice, tile, or tile group.)

在视频译码中具有自适应参数集(APS)的基于块的自适应环 路滤波器(ALF)

本申请要求于2020年3月18日递交的、编号为16/822,990的美国申请的优先权,上述申请要求于2019年3月26日递交的、编号为62/824,259 的美国申请的利益,上述申请中的各者的全部内容据此以引用方式并入。

技术领域

本公开内容涉及视频编码和视频解码。

背景技术

数字视频能力可以整合到各种设备中,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、膝上型计算机或台式计算机、平板计算机、电子书阅读器、数码照相机、数字录音设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝电话或卫星无线电话、所谓的“智能手机”、电视会议设备、视频串流设备等。数字视频设备实现视频压缩技术,比如在通过MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、部分10、高级视频译码(AVC)、最近定稿的高效率视频译码(HEVC)标准以及这样的标准的扩展来定义的标准中描述的那些视频压缩技术。视频设备可以通过实现这样的视频压缩技术来更高效地发送、接收、编码、解码和/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测,以减少或去除在视频序列中固有的冗余。对于基于块的视频译码,视频切片 (即视频帧或视频帧的一部分)可以被划分成视频块,所述视频块还可以称为树块、译码单元(CU)和/或译码节点。在图片的帧内译码(I)的切片中的视频块是使用相对于在同一图片中的邻近的块中的参考样本的空间预测来进行编码的。在图片的帧间译码(P或B)的切片中的视频块可以使用相对于在同一图片中的邻近的块中的参考样本的空间预测或者相对于在其它参考图片中的参考样本的时间预测。图片可以称为帧,以及参考图片可以称为参考帧。

空间或时间预测产生的结果是针对待译码的块的预测块。残差数据表示在待译码的原始块与预测块之间的像素差。帧间译码的块是根据指向构成预测块的参考样本的块的运动向量以及用于指示在经译码的块与预测块之间的差异的残差数据来编码的。帧内译码的块是根据帧内译码模式和残差数据来编码的。为了进一步压缩,残差数据可以从像素域变换到变换域,产生的结果是残差变换系数,然后对残差变换系数进行量化。最初排列在二维阵列中的经量化的变换系数可以被扫描以便产生变换系数的一维向量,以及熵译码可以被应用以实现甚至更多的压缩。

发明内容

通常,本公开内容描述用于使用自适应参数集来对针对在视频译码过程中基于块的自适应环路滤波器(ALF)的应用的ALF参数进行译码的技术。特别地,本公开内容描述当为图片、切片、瓦片或瓦片组启用ALF时以信号发送自适应参数集的数量以及针对所述数量的自适应参数集中的每个自适应参数集的索引的技术。在本公开内容的一些示例中,对于图片、切片、瓦片或瓦片组的亮度块和色度块,自适应参数集的数量和索引可能是不同的。以这种方式,ALF参数可以是针对不同的颜色分量以更灵活的方式以信号发送的,以及可以提高译码效率。

在一个示例中,方法包括:从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流中解码用于指示针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的自适应参数集的数量的第一语法元素;基于针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的所述自适应参数集的数量,来对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的多个第一自适应参数集索引进行解码;从针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的色度块启用自适应环路滤波的所述视频比特流中解码针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的第二自适应参数集索引;基于所述多个第一自适应参数集索引,来将第一自适应环路滤波器应用于所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块;以及基于所述第二自适应参数集索引,来将第二自适应环路滤波器应用于所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块。

在另一示例中,设备包括存储器和在电路中实现的以及与所述存储器相通信的一个或多个处理器,所述存储器被配置为存储图片、切片、瓦片或瓦片组中的一者或多者中的亮度块和所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的色度块,所述一个或多个处理器被配置为:从针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块启用自适应环路滤波的视频比特流中解码用于指示针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的自适应参数集的数量的第一语法元素;基于针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的所述自适应参数集的数量,来对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的多个第一自适应参数集索引进行解码;从针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块启用自适应环路滤波的所述视频比特流中解码针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的第二自适应参数集索引;基于所述多个第一自适应参数集索引,来将第一自适应环路滤波器应用于所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块;以及基于所述第二自适应参数集索引,来将第二自适应环路滤波器应用于所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块。

在另一示例中,设备包括:用于从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流中解码用于指示针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的自适应参数集的数量的第一语法元素的单元;用于基于针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的所述自适应参数集的数量,来对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的多个第一自适应参数集索引进行解码的单元;用于从针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的色度块启用自适应环路滤波的所述视频比特流中解码针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的第二自适应参数集索引的单元;用于基于所述多个第一自适应参数集索引,来将第一自适应环路滤波器应用于所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的单元;以及用于基于所述第二自适应参数集索引,来将第二自适应环路滤波器应用于所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的单元。

在另一示例中,计算机可读存储介质是利用指令进行编码的,所述指令当被执行时使得可编程处理器进行以下操作:从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流中解码用于指示针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的自适应参数集的数量的第一语法元素;基于针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的所述自适应参数集的数量,来对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的多个第一自适应参数集索引进行解码;从针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的色度块启用自适应环路滤波的所述视频比特流中解码针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的第二自适应参数集索引;基于所述多个第一自适应参数集索引,来将第一自适应环路滤波器应用于所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块;以及基于所述第二自适应参数集索引,来将第二自适应环路滤波器应用于所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块。

在一个示例中,方法包括:对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流,对用于指示针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的自适应参数集的数量的第一语法元素进行编码;基于针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的所述自适应参数集的数量,来对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的多个第一自适应参数集索引进行编码;以及对于针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的色度块启用自适应环路滤波的所述视频比特流,对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的第二自适应参数集索引进行编码。

在另一示例中,设备包括存储器和在电路中实现的以及与所述存储器相通信的一个或多个处理器,所述存储器被配置为存储图片、切片、瓦片或瓦片组中的一者或多者中的亮度块和所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的色度块,所述一个或多个处理器被配置为:对于针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块启用自适应环路滤波的视频比特流,对用于指示针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的自适应参数集的数量的第一语法元素进行编码;基于针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的所述自适应参数集的数量,来对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的多个第一自适应参数集索引进行编码;以及对于针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块启用自适应环路滤波的所述视频比特流,对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的第二自适应参数集索引进行编码。

在另一示例中,设备包括:用于对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流,对用于指示针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的自适应参数集的数量的第一语法元素进行编码的单元;用于基于针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的所述自适应参数集的数量,来对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的多个第一自适应参数集索引进行编码的单元;以及用于对于针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的色度块启用自适应环路滤波的所述视频比特流,对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的第二自适应参数集索引进行编码的单元。

在另一示例中,计算机可读存储介质是利用指令进行编码的,所述指令当被执行时使得可编程处理器进行以下操作:对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流,对用于指示针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的自适应参数集的数量的第一语法元素进行编码;基于针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的所述自适应参数集的数量,来对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述亮度块的多个第一自适应参数集索引进行编码;以及对于针对其为所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的色度块启用自适应环路滤波的所述视频比特流,对针对所述图片、所述切片、所述瓦片或所述瓦片组中的所述一者或多者中的所述色度块的第二自适应参数集索引进行编码。

一个或多个示例的细节是在附图和下面的说明书中阐述的。其它特征、对象和优点将是从说明书、附图和权利要求中显而易见的。

附图说明

图1是示出可以利用在本公开内容中描述的技术的示例视频编码和解码系统的方框图。

图2示出HEVC解码器的示例方框图。

图3A-图3D示出针对边缘偏移(EO)样本分类的四种1-D方向图。

图4A-图4B示出用于存储自适应环路滤波器(ALF)参数的示例阵列。

图5是示出可以实现在本公开内容中描述的技术的示例视频编码器的方框图。

图6是示出可以实现本公开内容中描述的技术的示例视频解码器的方框图。

图7示出用于执行本公开内容的技术的滤波器单元的示例实现方式。

图8是示出本公开内容的示例视频编码方法的流程图。

图9是示出本公开内容的示例视频解码方法的流程图。

具体实施方式

本公开内容描述了与滤波操作有关的技术,所述滤波操作可以在后处理阶段中、作为环内译码的部分或在视频译码的预测阶段中使用。本公开内容的技术可以实现为对现有的视频编解码器(比如ITU-T H.265/HEVC (高效视频译码)标准)的改进或扩展,和/或是针对未来的视频译码标准 (比如目前正在开发的ITU-T H.266/VVC(多功能视频译码)标准)的效率高的译码工具。

视频译码通常包括从在同一图片中的已经译码的视频数据块来预测视频数据块(即帧内预测)或者从在不同的图片中的已经译码的视频数据块来预测视频数据块(即帧间预测)。在一些示例中,视频编码器还通过将预测块与原始块进行比较来计算残差数据。因此,残差数据表示在预测块与原始块之间的差异。视频编码器可以对残差数据进行变换和量化,以及在经编码的比特流中以信号发送经变换的和经量化的残差数据。

视频解码器将残差数据添加到预测块以产生重建的视频块,该重建的视频块与原始视频块的匹配比单独的预测块更紧密。为了进一步提高经解码的视频的质量,视频解码器可以对重建的视频块执行一个或多个滤波操作。这些滤波操作的示例包括去块滤波、样本自适应偏移(SAO)滤波和自适应环路滤波(ALF)。针对这些滤波操作的参数可以是由视频编码器确定的以及在经编码的视频比特流中显式地以信号发送的,或者是由视频解码器隐式地确定的,而不需要在经编码的视频比特流中要显式地以信号发送的参数。

本公开内容描述与称为“自适应环路滤波器(ALF)”的滤波方法有关的技术。ALF可以用于后处理阶段中、或环内译码或预测过程中。SAO滤波和/或ALF可以与各种现有的视频编解码器技术和对这样的编解码器的扩展一起使用,或者是在任何未来的视频译码标准中的效率高的译码工具。下文讨论与本公开内容有关的HEVC和联合视频探索团队(JVET)的联合探索模型(JEM)技术。

如在本公开内容中使用的,术语视频译码一般指的是视频编码或者视频解码。同样地,术语视频译码器一般可以指的是视频编码器或视频解码器。此外,在本公开内容中相对于视频解码描述的某些技术还可以适用于视频编码,反之亦然。例如,视频编码器和视频解码器经常被配置为执行相同的过程或互逆的过程。此外,视频编码器通常执行视频解码,作为确定如何对视频数据进行编码的过程的部分。

图1是示出可以利用在本公开内容中描述的技术的示例视频编码和解码系统10的方框图。如图1所示,系统10包括源设备12,源设备12生成稍后要由目的地设备14解码的经编码的视频数据。源设备12和目的地设备14可以是各种设备中的任何设备,包括台式计算机、笔记本计算机(即膝上型计算机)、平板计算机、机顶盒、比如所谓的“智能”电话的手机、所谓的“智能”平板、电视机、照相机、显示设备、数字媒体播放器、视频游戏控制台、视频串流设备等。在一些情况下,源设备12和目的地设备 14可以被配备用于无线通信。

目的地设备14可以经由链路16接收待解码的经编码的视频数据。链路16可以是能够将经编码的视频数据从源设备12移动到目的地设备14的任何类型的介质或设备。例如,经编码的视频数据可以从输出接口22输出到链路16。在一个示例中,链路16可以是用于使得源设备12能够实时地将经编码的视频数据直接地发送给目的地设备14的通信介质。经编码的视频数据可以是根据通信标准(比如无线通信协议)进行调制的,以及发送给目的地设备14。通信介质可以包括任何无线或有线通信介质,比如射频 (RF)频谱或一个或多个物理传输线。通信介质可以构成基于分组的网络 (比如局域网、广域网或比如互联网的全球网络)的部分。通信介质可以包括路由器、交换机、基站或可能对于促进从源设备12到目的地设备14 的通信有用的任何其它装备。

在另一示例中,经编码的视频数据可以从输出接口22输出到存储设备 26。同样地,经编码的视频数据可以是通过输入接口28从存储设备26进行存取的。存储设备26可以包括各种分布式或本地存取的数据存储介质(比如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器或用于存储经编码的视频数据的任何其它适合的数字存储介质)中的任何分布式或本地存取的数据存储介质。在进一步的示例中,存储设备26 可以对应于文件服务器或可以保存由源设备12生成的经编码的视频的另一中间存储设备。目的地设备14可以经由串流或下载来从存储设备26存取存储的视频数据。文件服务器可以是能够存储经编码的视频数据以及将该经编码的视频数据发送给目的地设备14的任何类型的服务器。示例文件服务器包括(例如,针对网站的)网络服务器、FTP(文件传输协议)服务器、网络附加存储(NAS)设备或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接(包括互联网连接)存取经编码的视频数据。这可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等)或者两者的适合用于存取存储在文件服务器上的经编码的视频数据的组合。来自存储设备26的经编码的视频数据的传输可以是流式传输、下载传输或两者的组合。

本公开内容的技术不一定局限于无线应用或设置。该技术可以应用于支持各种多媒体应用(比如空中电视广播、有线电视传输、卫星电视传输、流式视频传输(例如,经由互联网、对用于在数据存储介质上的存储的数字视频的编码、对存储在数据存储介质上的数字视频的解码)或其它应用) 中的任何多媒体应用的视频译码。在一些示例中,系统10可以被配置为支持单向或双向视频传输,以支持比如视频串流、视频回放、视频广播和/或视频电话的应用。

在图1的示例中,源设备12包括视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可以包括调制器/解调器(调制解调器) 和/或发射机。在源设备12中,视频源18可以包括比如视频捕捉设备(例如,视频摄像头)、包含先前捕捉的视频的视频存档、用于从视频内容提供者接收视频的视频馈送接口、和/或用于生成作为源视频的计算机图形数据的计算机图形系统的源、或这样的源的组合。作为一个示例,如果视频源 18是摄影机,则源设备12和目的地设备14可以形成所谓的摄影电话或视频电话。然而,在本公开内容中描述的技术可以通常适用于视频译码,以及可以应用于无线和/或有线应用。

捕捉的、预先捕捉的或计算机生成的视频可以是由视频编码器进行编码的。经编码的视频数据可以经由源设备12的输出接口22直接地发送给目的地设备14。经编码的视频数据还可以(或替代地)被存储到存储设备 26上,用于由目的地设备14或其它设备进行的稍后的存取,用于解码和/ 或回放。

目的地设备14包括输入接口28、视频解码器30和显示设备32。在一些情况下,输入接口28可以包括接收机和/或调制解调器。目的地设备14 的输入接口28通过链路16来接收经编码的视频数据。通过链路16传送的或在存储设备26上提供的经编码的视频数据可以包括由视频编码器20生成的各种语法元素,用于由视频解码器(比如视频解码器30)在对视频数据进行解码时使用。这样的语法元素可以是与在通信介质上发送的、存储在存储介质上的或存储在文件服务器上的经编码的视频数据一起被包括的。

显示设备32可以与目的地设备14集成或者在目的地设备14外部。在一些示例中,目的地设备14可以包括集成显示设备,以及还被配置为与外部显示设备接合。在其它示例中,目的地设备14可以是显示设备。通常,显示设备32将经解码的视频数据显示给用户,以及可以是各种显示设备(比如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示设备)中的任何显示设备。

视频编码器20和视频解码器30可以根据视频压缩标准(比如高效视频译码(HEVC)标准)来操作。视频编码器20和视频解码器30可以另外地根据HEVC扩展(比如范围扩展、多视图扩展(MV-HEVC)、或已经由 ITU-T视频译码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)的视频译码联合协作团队(JCT-VC)以及3D视频译码扩展开发联合协作团队(JCT-3V)开发的可缩放扩展(SHVC))来操作。或者,视频编码器20 和视频解码器30可以根据其它专有或行业标准(比如ITU-T H.264标准(或者称为ISO/IEC MPEG-4)、部分10、高级视频译码(AVC)、或者这样的标准的扩展(比如可缩放视频译码(SVC)和多视图视频译码(MVC)扩展)) 来操作。然而,本公开内容的技术不局限于任何特定的译码标准。视频压缩标准的其它示例包括ITU-T H.261、ISO/IEC MPEG-1可视化、ITU-T H.262 或ISO/IEC MPEG-2可视化、ITU-T H.263和ISO/IEC MPEG-4可视化。包括其范围扩展、多视图扩展(MV-HEVC)和可缩放扩展(SHVC)的 HEVC(ITU-T H.265)是由ITU-T视频译码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)的视频译码联合协作团队(JCT-VC)以及3D视频译码扩展开发联合协作团队(JCT-3V)开发的。定稿的HEVC草案(以下称为HEVC)是在 http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC- N1003-v1.zip处可获得。

ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)现在正在研究针对未来的视频译码技术的标准化的潜在需求,所述未来的视频译码技术具有潜在地超过当前的HEVC标准的压缩能力的压缩能力(包括用于屏幕内容译码和高动态范围译码的当前的扩展和近期扩展)。所述组正在称为联合视频探索团队(JVET)的联合协作努力下共同开展这项探索活动,以评估由他们在该领域中的专家提出的压缩技术设计。JVET在2015年10 月19日至21日期间首次见面。参考软件的最新版本(即联合探索模型7 (JEM 7))可以从以下链接下载: https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-7.0/。针对JEM7的算法描述是在如下内容中描述的:J.Chen,E.Alshina,G.J. Sullivan,J.-R.Ohm,J.Boyce,“Algorithm description of Joint Exploration Test Model 7(联合探索测试模型7的算法描述)(JEM7)”JVET-G1001,托里诺,2017年七月。

在下文描述的本公开内容的示例中,视频编码器20和视频解码器30 可以根据正在开发的ITU-T H.266标准(还称为多功能视频译码(VVC)) 的一个或多个版本来操作。VVC标准的草案是在Bross等人的“Versatile Video Coding(Draft 7)”(“多功能视频译码(草案7)”),ITU-T SG 16WP 3 和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家团队(JVET),第16次会议:日内瓦,瑞士,2019年10月1日至11日,JVET-P2001-v14(以下简称“VVC草案7”)中描述的。然而,本公开内容的技术不局限于任何特定的译码标准。

虽然未在图1中示出,但是在一些方面中,视频编码器20和视频解码器30各自可以与音频编码器和解码器集成,以及可以包括适当的复用-解复用单位或其它硬件和软件,以处理对在公共数据流或单独数据流中的音频和视频两者的编码。如果适用的话,在一些示例中,复用-解复用单元可以符合ITU H.223多路复用器协议或比如用户数据报协议(UDP)的其它协议。

视频编码器20和视频解码器30各自可以实现为各种适合的编码器电路或解码器电路中任何编码器电路或解码器电路,比如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列 (FPGA)、分立逻辑、软件、硬件、固件或其任何组合。当技术是在软件中部分地实现的时,设备可以将针对软件的指令存储在适合的、非暂时性计算机可读介质中,以及使用一个或多个处理器在硬件中执行指令以执行本公开内容的技术。视频编码器20和视频解码器30中的各者可以被包括在一个或多个编码器或解码器中,其中的任何一者都可以作为组合的编码器/解码器(CODEC)的部分集成在各自的设备中。

如将在下文中更详细地解释的,视频编码器20可以被配置为:对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流,对用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素进行编码;基于针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的所述自适应参数集的数量,来对针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引进行编码;以及对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流,对针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引进行编码。

以互逆的方式,视频解码器30可以被配置为:从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流中解码用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素;基于针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的所述自适应参数集的数量,来对针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引进行解码;从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流中解码针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引;基于多个第一自适应参数集索引,来将第一自适应环路滤波器应用于图片、切片、瓦片或瓦片组中的一者或多者中的亮度块;以及基于第二自适应参数集索引,来将第二自适应环路滤波器应用于图片、切片、瓦片或瓦片组中的一者或多者中的色度块。

在HEVC、VVC和其它视频译码规范中,视频序列通常包括一系列的图片。图片还可以称为“帧”。在一种示例方式中,图片可以包括三个样本阵列,表示为SL、SCb和SCr。在这样的示例方式中,SL是亮度样本的二维阵列(即块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度(chrominance)样本在本文中还可以称为“色度(chroma)”样本。在其它实例中,图片可以是单色的,以及可以仅包括亮度样本的阵列。

为了生成图片的经编码的表示,视频编码器20可以生成译码树单元 (CTU)的集合。CTU中的每个CTU可以包括亮度样本的译码树块、色度样本的两个相应的译码树块和用于对译码树块的样本进行译码的语法结构。在单色图片或者具有三个单独的颜色平面的图片中,CTU可以包括单个译码树块和用于对译码树块的样本进行译码的语法结构。译码树块可以是样本的NxN块。CTU还可以称为“树块”或“最大的编码单元”(LCU)。 HEVC的CTU可以大体上类似于其它标准的宏块,比如H.264/AVC。然而, CTU不一定局限于特定的大小,以及可以包括一个或多个译码单元(CU)。切片可以包括按光栅扫描顺序连续地排列的整数个CTU。

为了生成经译码的CTU,视频编码器20可以递归地对CTU的译码树块执行四叉树分区,以将译码树块分成译码块,因此命名为“译码树单元”。译码块可以是样本的NxN块。CU可以包括在具有亮度样本阵列、Cb样本阵列和Cr样本阵列的图片中的亮度样本的译码块和色度样本的两个相应的译码块,和用于对译码块的样本进行译码的语法结构。在单色图片或者具有三个单独的颜色平面的图片中,CU可以包括单个译码块和用于对译码块的样本进行译码的语法结构。

视频编码器20可以将CU的译码块划分为一个或多个预测块。预测块是在其上应用相同的预测的矩形(即正方形或非正方形)的样本块。CU中的预测单元(PU)可以包括亮度样本的预测块、色度样本的两个相应的预测块和用于对预测块进行预测的语法结构。在单色图片或者具有三个单独的颜色平面的图片中,PU可以包括单个预测块和用于对预测块进行预测的语法结构。视频编码器20可以生成针对CU中的每个PU的亮度、Cb和 Cr预测块的预测性亮度、Cb和Cr块。

视频编码器20可以使用帧内预测或帧间预测来生成针对PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20 可以基于图片的与PU相关联的经解码的样本来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于图片以外的一个或多个图片的与PU相关联的经解码的样本来生成PU的预测块。

在视频编码器20生成针对CU中的一个或多个PU的预测性亮度、Cb 和Cr块之后,视频编码器20可以生成针对CU的亮度残差块。在CU的亮度残差块中的每个样本指示在CU的预测性亮度块中的一个预测性亮度块中的亮度样本与CU的原始亮度译码块中的相应的样本之间的差异。此外,视频编码器20可以生成针对CU的Cb残差块。在CU的Cb残差块中的每个样本可以指示在CU的预测性Cb块中的一个预测性Cb块中的Cb样本与 CU的原始Cb译码块中的相应的样本之间的差异。视频编码器20还可以生成针对CU的Cr残差块。在CU的Cr残差块中的每个样本可以指示在CU 的预测性Cr块中的一个预测性Cr块中的Cr样本与CU的原始Cr译码块中的相应的样本之间的差异。

此外,视频编码器20可以使用四叉树分区来将CU的亮度、Cb、Cr 残差块分解为一个或多个亮度、Cb和Cr变换块。变换块是在其上应用相同的变换的矩形(例如,正方形或非正方形)的样本块。CU的变换单元(TU) 可以包括亮度样本的变换块、色度样本的两个相应的变换块和用于对变换块样本进行变换的语法结构。因此,CU的每个TU可以与亮度变换块、Cb 变换块和Cr变换块相关联。与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独的颜色平面的图片中,TU可以包括单个变换块和用于对变换块的样本进行变换的语法结构。

视频编码器20可以将一个或多个变换应用于TU的亮度变换块以生成针对TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用于TU的Cb变换块以生成针对TU的Cb系数块。视频编码器20可以将一个或多个变换应用于 TU的Cr变换块以生成针对TU的Cr系数块。

上文具有CTU、CU、PU和TU的块结构通常描述在HEVC中使用的块结构。然而,其它视频译码标准可以使用不同的块结构。作为一个示例,虽然HEVC允许PU和TU具有不同的大小或形状,但是其它视频译码标准可以要求预测块和变换块具有相同的大小。本公开内容的技术不局限于 HEVC或VVC的块结构,以及可以与其它块结构兼容。

在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常指的是在其中对变换系数进行量化以可能地减少用于表示变换系数的数据的量的过程,从而提供进一步的压缩。在视频编码器20对系数块进行量化之后,视频编码器20可以对用于指示经量化的变换系数的语法元素进行熵编码。例如,视频编码器20可以对用于指示经量化的变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。

视频编码器20可以输出包括构成经译码的图片和相关联的数据的表示的比特序列的比特流。比特流可以包括一系列的网络抽象层(NAL)单元。 NAL单元是包含对NAL单元中的数据的类型的指示的语法结构和以原始字节序列有效载荷(RBSP)的形式包含该数据的字节,必要时在RBSP中散置有仿真预防比特。NAL单元中的每个NAL单元包括NAL单元头部以及封装RBSP。NAL单元头部可以包括指示NAL单元类型代码的语法元素。通过NAL单元的NAL单元头部指定的NAL单元类型代码指示NAL单元的类型。RBSP可以是包含封装在NAL单元内的整数个字节的语法结构。在一些情况下,RBSP包括零比特。

不同类型的NAL单元可以封装不同类型的RBSP。例如,第一类型的 NAL单元可以封装针对图片参数集(PPS)的RBSP,第二类型的NAL单元可以封装针对经译码的切片的RBSP,第三类型的NAL单元可以封装针对补充增强信息(SEI)消息的RBSP等。封装针对视频译码数据的RBSP (与针对参数集和SEI消息的RBSP相反)的NAL单元可以称为视频译码层(VCL)NAL单元。

视频解码器30可以接收由视频编码器20生成的比特流。此外,视频解码器30可以解析比特流以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重建视频数据的图片。用于重建视频数据的过程可以通常与由视频编码器20执行的过程是互逆的。此外,视频解码器30可以对与当前的CU的TU相关联的系数块进行逆量化。视频解码器30可以对系数块执行逆变换,以重建与当前的CU的TU相关联的变换块。视频解码器30可以通过将针对当前的CU的PU的预测块的样本添加到当前的CU的TU的变换块的相应的样本,来重建当前的CU的译码块。通过重建针对图片的每个CU的译码块,视频解码器30可以重建图片。

现在将讨论HEVC、VVC和JEM技术的各方面。图2示出HEVC解码器31的示例方框图。在图2中示出的视频解码器31可以对应于上文描述的视频解码器30,将在下文更详细地描述视频解码器30。HEVC采用两个环内滤波器,所述环内滤波器包括去块滤波器(DBF)和SAO。关于HEVC 解码和SAO的另外的细节是在C.Fu,E.Alshina,A.Alshin,Y.Huang,C. Chen,Chia.Tsai,C.Hsu,S.Lei,J.Park,W.Han,“Sample adaptive offset in the HEVCstandard(在HEVC标准中的样本自适应偏移)”IEEE Trans. Circuits Syst.VideoTechnol.(IEEE学报电路系统视频技术),22(12):1755– 1764(2012)中描述的。

如图2所示,去往DBF的输入可以是在帧内预测或帧间预测之后的重建的图像,如利用来自重建块的输出所示。DBF执行对在经译码的块边界处的伪影的检测,以及通过应用选择的滤波器来使伪影衰减。与H.264/AVC 去块滤波器相比较,HEVC去块滤波器具有更低的计算复杂度和更好的并行处理能力,同时仍实现视觉伪影的显著减少。对于另外的示例,参见A. Norkin,G.Bjontegaard,A.Fuldseth,M.Narroschke,M.Ikeda,K.Andersson,Minhua Zhou,G.Van der Auwera,“HEVC Deblocking Filter(HEVC去块滤波器)”IEEETrans.Circuits Syst.Video Technol.(IEEE学报电路系统视频技术),22(12):1746–1754(2012)。

在HEVC中,对位于将图片划分为8x8个样本的块的网格上的四个样本长度的每个边界分别做出去块滤波器决策。如果以下条件是真,则在块边界上执行去块:(1)块边界是预测单元(PU)或变换单元(TU)边界; (2)如在下面表1中定义的边界强度(Bs)大于零;以及(3)如在下面方程式(1)中定义的在块边界的两侧上的信号的变化低于指定的门限。

表1。针对在两个邻近的亮度块之间的边界的强度(Bs)值

如果针对亮度块边界的Bs>0,那么如果以下条件有效,则对该边界应用去块滤波:

|p2,0-2p1,0+p0,0|+|p2,3-2p1,3+p0,3|+|q2,0-2q1,0+q0,0|+ |q2,3-2q1,3+q0,3|<β (1)

HEVC考虑到两种类型的亮度去块滤波器,即是:(i)普通滤波器和(ii) 强滤波器。对去块滤波器的选择取决于特定的信号变化项是否小于某些门限(详见上文引用的由Norkin等人(2012)进行的“HEVC去块滤波器”)。尽管滤波决策仅基于四像素长的垂直(或水平,视情况而定)边界的两行 (列),但是滤波器应用于在边界中的每行(或列,视情况而定)。在滤波过程中使用的像素的数量和可以利用每种类型的滤波来修改的像素的数量总结在下面表2中。

表2.在HEVC去块中每边界使用的/修改的像素的数量

仅当Bs等于二(2)时,执行色度去块。仅使用一种类型的色度去块滤波器。色度去块滤波器使用像素p0,p1,q0,q1,以及可以修改在每行中的像素p0和q0(为了简洁起见,在上文描述中省略用于指示行索引的第二下标,这是因为滤波器应用于每行)。在JEM中,去块是在CU级别执行的。在边界的任一侧上的CU的大小可以大于8x8。在JEM中最小的CU大小是4×4。因此,去块滤波器还可以应用于4x4块的边界。

去往SAO的输入可以是在应用去块滤波器之后的重建的图像,如利用来自在图2中的去块滤波器的输出所示。SAO的概念/思想是要通过首先利用选择的分类器来将区域样本分类为多个类别,获得针对每个类别的偏移,然后将偏移添加到类别的每个样本,从而减少区域的平均的样品失真,其中分类器索引和区域的偏移是在比特流中译码的。在HEVC中,区域(针对SAO参数信令的单元)定义为CTU。

在HEVC中采用可以满足低复杂度的要求的两种SAO类型。这两种类型是边缘偏移(EO)和频带偏移(BO),将在下面进一步详细地讨论。SAO 类型的索引被译码。对于EO,样本分类是基于根据以下1-D方向图在当前的样本与邻近的样本之间的比较:水平、垂直、135°对角线和45°对角线。

图3A-3D示出针对EO样本分类的四个1-D方向图:水平(图3A,EO 类=0)、垂直(图3B,EO类=1)、135°对角线(图3C,EO类=2)和 45°对角线(图3D,EO类=3)。与SAO有关的另外的细节是C.Fu,E.Alshina, A.Alshin,Y.Huang,C.Chen,Chia.Tsai,C.Hsu,S.Lei,J.Park,W.Han,“Sample adaptive offset in the HEVC standard(在HEVC标准中的样本自适应偏移)”IEEE Trans.Circuits Syst.Video Technol.(IEEE学报电路系统视频技术),22(12):1755-1764(2012)中描述的。

根据选择的EO样式,进一步定义在表3中以边缘索引(edgeIdx)表示的五个类别。对于等于0~3的边缘索引,当符号标记被隐式地译码(即针对边缘索引的负偏移等于0或1和针对边缘索引的正偏移等于2或3)时,偏移的量级可以是以信号发送的。对于等于4的边缘索引,偏移总是设置为0,这意味着在这种情况下不要求操作。

表3:针对EO的分类

对于BO,样本分类是基于样本值。每个颜色分量可以具有其自己的 SAO参数,用于针对BO类型SAO滤波的分类。BO意味着对同一频带的所有样本添加一个偏移。样本值范围平均地分为32个频带。对于范围从0 至255的8比特样本,频带的宽度为8,以及从8k至8k+7的采样值属于频带k,其中k范围从0至31。对同一频带的所有样本添加一个偏移。将频带中在原始样本与重建的样本之间的平均差(即频带的偏移)是以信号发送给解码器(例如,视频解码器30)的。对偏移符号没有约束。仅四(4) 个连续频带的偏移和起始频带位置是以信号发送给解码器(例如,视频解码器30)的。

视频编码器20和视频解码器30可以被配置为实现在JEM中阐述的各种ALF滤波技术。现在将描述这些JEM滤波技术(例如,ALF)的各方面。除了修改的去块和HEVC SAO方法之外,JEM包括另一滤波方法,称为基于几何变换的自适应环路滤波(GALF)。去往ALF/GALF的输入可以是在 SAO的应用之后的重建的图像(例如,在图2中的样本自适应偏移的输出)。GALF的各方面是在Tsai,C.Y.,Chen,C.Y.,Yamakage,T.,Chong,I.S.,Huang, Y.W.,Fu,C.M.,Itoh,T.,Watanabe,T.,Chujoh,T.,Karczewicz,M.和Lei,S.M.,“Adaptive loopfiltering for video coding(用于视频译码的自适应环路滤波)” IEEE Journal ofSelected Topics in Signal Processing(IEEE信号处理选题期刊),7(6),第934页-第945页,2013中和在M.Karczewicz,L.Zhang,W.-J. Chien和X.Li,“Geometry transformation-based adaptive in-loop filter(基于几何变换的自适应环内滤波器)”Picture CodingSymposium(图像译码研讨会)(PCS),2016中描述的。

ALF技术尝试通过使用自适应维纳滤波器来使在原始样本与经解码的样本之间的均方误差最小化。将输入图像表示为p,源图像表示为S以及 FIR(有限冲激响应)滤波器表示为h。然后应当使误差平方和(SSE)的以下表达式最小化,其中(x,y)表示在p或S中的任意像素位置。

SSE=∑x,y(∑i,jh(i,j)p(x-i,y-j)-S(x,y))2

表示为hopt的最优的h可以是通过将SSE相对于h(i,j)的偏导数设置等于0 来获得的,如下:

这导致下文示出的维纳-霍普夫方程式,维纳-霍普夫方程式给出最优的滤波器hopf

i,jhopt(i,j)(∑x,yp(x-i,y-j)p(x-m,y-n))=∑x,yS(x,y)p(x- m,y-n)

在JEM的一些示例中,在图片中的样本是基于局部梯度被分类为二十五(25)个类的,而不是针对整个图片使用一个滤波器。对在每个类中的像素导出单独的最优的维纳滤波器。已经采用若干技术以通过减少信令开销和计算复杂度来提高ALF的有效性。下文列出已经用于通过减少信令开销和/或计算复杂度来提高ALF有效性的技术中的一些技术:

1.来自固定滤波器的预测:针对每个类的最优的滤波器系数是使用固定滤波器的预测池来预测的,该预测池包括针对每个类的 16个候选滤波器。最优的预测候选是针对每个类来选择的,以及仅发送预测误差。

2.类合并:在多个类中的像素可以共享一个滤波器,以便减少待译码的滤波器参数的数量,而不是使用二十五(25)个不同的滤波器(针对每个类一个滤波器)。合并两个类可以导致更高的累积的SSE,但是更低的速率失真(R-D)成本。

3.可变数量的分接头:滤波器分接头的数量是在帧级别自适应的。理论上,具有更多分接头的滤波器可以实现更低的SSE,但是在速率失真(R-D)成本方面,可能不是好的选择,这是因为与更多的滤波器系数相关联的比特开销。

4.块级别开/关控制:ALF可以在块基础上打开和关闭。在其处开 /关控制标记是以信号发送的块大小是在帧级别自适应地选择的。滤波器系数可以是使用来自仅ALF是开的那些块的像素来重新计算的。

5.时间预测:为先前经译码的帧导出的滤波器被存储在缓冲区中。如果当前的帧是P帧或B帧,那么如果其导致更好的RD成本,则存储的滤波器集合中的一个滤波器可以用于对该帧进行滤波。标记是以信号发送的以指示对时间预测的使用。如果使用时间预测,则用于指示使用存储的滤波器的哪个集合的索引是以信号发送的。不需要ALF系数的另外的信令。块级别ALF开/关控制标记还可以是使用时间预测来针对帧以信号发送的

在本段落和以下段落中简要总结ALF的一些方面的细节。ALF的一些方面涉及像素分类和几何变换。计算在覆盖重建的帧(在ALF之前)中的每个像素的6x6窗口内,在所有像素处的垂直、水平和对角线的拉普拉斯算子的绝对值的总和。重建的帧然后被分成非重叠的2x2块。在这些块中的四个像素是基于该块的总拉普拉斯活动和方向性来被分类为二十五(25) 个类别(表示为Ck(k=0,1,...,24))中的一个类别的。此外,四种几何变换 (无变换、对角线翻转、垂直翻转或旋转)中的一者还应用于基于该块的梯度方向性的滤波器。详情可以在M.Karczewicz,L.Zhang,W.-J.Chien,and X.Li,“Geometry transformation-based adaptive in-loop filter(基于几何变换的自适应环内滤波器)”Picture CodingSymposium(图像译码研讨会)(PCS), 2016中找到。

ALF的一些方面涉及来自固定滤波器的滤波器推导和预测。对于每个类Ck,最优的预测滤波器是首先基于由滤波器给出的SSE来从针对Ck的池中选择的,表示为hpred,k。待最小化的Ck的SSE可以写为如下:

SSEk=∑x,y(∑i,j(hpred,k(i,j)+hΔ,k(i,j))p(x-i,y-j)-S(x,y))2,k= 0,...,24,(x,y)∈Ck

其中为hΔ,k是在针对Ck的最优的滤波器与hpred,k之间的差。设p′(x,y)=∑i,jhpred,k(i,j)p(x-i,y-j)是通过hpred,k对像素p(x,y)进行滤波的结果。然后针对SSEk的表达式可以重写为:

通过使SSEk相对于hΔ,k(i,j)的偏导数等于0,获得修改的维纳-霍普夫方程式,如下所示:

k=0,...,24,(x,y)∈Ck

为了表达的简单性,分别通过Rpp,k(i-m,j-n)和R′ps,k(m,n)来表示具有 (x,y)∈Ck的∑x,yp(x-i,y-j)p(x-m,y-n)和∑x,y(S(x,y)- p′(x,y))p(x-m,y-n)。那么,上述方程式可以写为:

i,jhΔ,k(i,j)Rpp,k(i-m,j-n)=R′ps,k(m,n)k=0,...,24 (1)

对每个Ck,在所有(x,y)∈Ck上计算自相关矩阵Rpp,k(i-m,j-n)和互相关向量R′ps,k(m,n)。

在ALF的一个示例中,计算以及发送仅在最优的滤波器与固定的预测滤波器之间的差。如果在池中可用的候选滤波器中没有一个是好的预测器,则标识滤波器(即,具有在中心处等于1的仅一个非零系数使输入和输出完全相同的滤波器)将被用作为预测器。

ALF的一些方面涉及对像素类的合并。类被合并以减少信令滤波器系数的开销。合并两个类的成本是相对于SSE来增加的。考虑具有通过SSEm和SSEn分别地给出的SSE的两个类Cm和Cn。设Cm+n表示通过将Cm和Cn与SSE合并(表示为SSEm+n)而获得的类。SSEm+n总是大于或等于SSEm+ SSEn。设ΔSSEm+n表示通过将Cm和Cn合并引起的在SSE中的增加,ΔSSEm+n等于SSEm+n-(SSEm+SSEn)。为了计算SSEm+n,本领域技术人员需要使用类似于(1)的以下表达式来导出hΔ,m+n(针对Cm+n的滤波器预测误差):∑i,jhΔ,m+n(i,j)(Rpp,m(i-u,j-v)+Rpp,n(i-u,j-v))=R′ps,m(u,v)+ R′ps,n(u,v) (2)

针对合并的类别Cm+n的SSE可以计算为:

SSEm+n=-∑u,vhΔ,m+n(u,v)(R′ps,m(u,v)+R′ps,n(u,v))+(Rss,m+Rss,n)

为了将类的数量从N减少到N-1,可能需要找到两个类Cm和Cn,使得将它们合并导致与任何其它组合相比较最小的ΔSSEm+n。一些ALF设计检查每一对可用的类用于进行合并,以找到具有最小合并成本的所述对。

如果合并Cm和Cn(具有m<n),则Cn被标记为不可用于进一步的合并,以及针对Cm的自相关和互相关被更改为组合的自相关和互相关,如下所示:

Rpp,m=Rpp,m+Rpp,n

R′ps,m=R′ps,m+R′ps,n

Rss,m=Rss,m+Rss,n

需要基于RD成本来决定针对每个帧的在合并之后的ALF类的最优的数量。这是通过从二十五(25)个类开始以及依次合并(来自可用的类的集合的)一对类直到仅剩下一个类为止来完成的。对于在合并之后剩下的每个可能的类的数量(1,2,...,25),存储用于指示哪些类被合并在一起的映射。然后选择类的最优的数量,使得RD成本最小化,如下所示:

其中D|N是使用N个类的总SSER|N是用于对N个滤波器进行译码所使用的比特的总数量,以及λ是通过量化参数(QP)确定的权重因子。发送针对Nopt数量的类的合并映射,指示哪些类被合并在一起。

下面描述ALF参数的信令的各方面。下文给出对ALF参数编码过程的简要分步描述:

1.以信号发送帧级别ALF开/关标记。

2.如果ALF是开的,则以信号发送时间预测标记。

3.如果使用时间预测,则以信号发送从其中使用相应的ALF参数来对当前的帧进行滤波的帧的索引。

4.如果未使用时间预测,则按如下所述来以信号发送辅助的ALF信息和滤波器系数:

a.如下辅助的ALF信息是在以信号发送滤波器系数之前以信号发送的。

i.在类合并之后使用的唯一的滤波器的数量。

ii.滤波器分接头的数量。

iii.用于指示哪些类共享滤波器预测误差的合并信息。

iv.针对每个类的固定滤波器预测器的索引。

b.在以信号发送辅助的信息之后,按如下所述来以信号发送滤波器系数预测误差:

i.标记是以信号发送的以指示对于在合并之后的剩余类中的一些类是否将滤波器预测误差强制为零(0)。

ii.标记是以信号发送的以指示(如果在合并之后剩下的类的数量大于一(1))是否将差分译码用于以信号发送滤波器预测误差。

iii.滤波器系数预测误差然后是使用第k阶指数哥伦布码来以信号发送的,其中针对不同的系数位置的k值是以经验为主地选择的。

c.针对色度分量的滤波器系数(如果可用的话)是直接地译码的,而无任何预测方法。

5.最后,块级别ALF开/关控制标记是以信号发送的。

ALF滤波器参数是在VVC中的APS中以信号发送的。在VVC中的 ALF APS中,信令可以包括以下内容:

1.以信号发送ALF APS是否包含亮度ALF滤波器

2.如果ALF APS包含亮度ALF滤波器,则

a.以信号发送在类合并之后使用的唯一的亮度滤波器的数量

b.以信号发送用于指示哪些类共享同一滤波器的类合并信息

c.如果对亮度ALF滤波器应用限幅,则以信号发送标记

d.在a-c之后,以信号发送滤波器系数,以及如果对亮度ALF滤波器应用限幅,则以信号发送限幅参数。

3.以信号发送ALF APS是否包含色度ALF滤波器

a.以信号发送唯一的色度滤波器的数量

b.如果对色度ALF滤波器应用限幅,则以信号发送标记

c.在a-b之后,以信号发送滤波器系数,以及如果对亮度ALF滤波器应用限幅,则以信号发送限幅参数

在VVC中,ALF APS索引用于图片中或者是在图片和/或切片头部中以信号发送的。

亮度:

1.以信号发送图片/切片级别亮度ALF开/关标记

2.如果ALF对于亮度是开,则以信号发送应用于当前的图片/切片的亮度分量的APS的数量。

3.如果APS的数量大于0,则以信号发送应用于当前的图片/切片的亮度分量的每个APS索引。

色度:

1.以信号发送图片/切片级别色度ALF开/关信息

2.如果ALF对任何色度分量是开,则以信号发送应用于当前的图片/切片的色度分量的APS索引。

3.如果ALF对色度CTB是开,则滤波器索引是以信号发送的。

译码树块(CTB)级别开/关标记和滤波器索引信息也是以信号发送的。亮度:

以信号发送针对亮度CTB的ALF开/关标记。

如果ALF对于亮度CTB是开,则固定滤波器集索引或APS索引是以信号发送的。

色度:

以信号发送针对色度CTB的ALF开/关标记。

在JEM的一些示例中,ALF的设计可能出现一个或多个潜在的问题。作为一个示例,一些示例ALF设计执行在每个帧上的多次通过,以设计针对整个帧的一个滤波器集合(针对每类的像素的一个滤波器或在帧中的多个类之中共享的一个滤波器)。这引入高编码器延时。这在低延时应用(比如视频会议)中尤其成问题,在低延时应用中可能重要的是将即使部分地经编码的帧尽快发送给信道。

作为另一示例,根据一些ALF设计,一个滤波器集合用于整个图片。在原始图片和重建的图片的小块中的局部统计可以不同于使用整个图片获得的累积的统计。因此,对于整个图片是最优的ALF滤波器对于给定的块可能不是最优的。

作为另一示例,在使用图片的小块来设计新的维纳滤波器集合以便得到更好的局部自适应性的情况下潜在的问题是,在小块中可用的像素的数量可能不足以得到对相关矩阵和向量的好的估计。这可能导致不适定的维纳-霍普夫方程式,这继而可能不给出好的ALF系数。

作为另一示例,一些示例ALF设计定义针对二十五(25)个类中的每个类的十六(16)个固定滤波器,从而产生总共四百(400)个滤波器。这些滤波器可以用作为针对每个类的最终滤波器系数的预测滤波器。所使用的预测滤波器的索引是针对每个类以信号发送的。这可能导致高的信令开销以及降低总体译码增益。

使用固定的滤波器集合作为预测器的另一潜在的缺点是,预测器集合不是基于为先前的帧设计的新的滤波器来修改的。由于时间上邻近的帧有可能具有相似的统计,因此使用针对先前的帧的最优的滤波器可以导致对针对当前的帧的最优的滤波器的效率高的预测。

作为另一示例,一些示例ALF设计要求在当前的帧上进行两次通过,以做出块级别滤波器开/关决策。这引入另外的编码器延时。ALF开/关标记是以信号发送的块与译码单元(CU)未对齐。因此,比如模式、经译码的块标记(CBF)等的CU信息不能被考虑在ALF开/关控制决策中。使用该信息可以减少开/关信令开销。

为了解决上文讨论的问题中的一个或多个问题,本公开内容描述用于进一步改进通过ALF获得的译码增益和视觉质量的技术。视频编码器20 和/或视频解码器30可以单独地应用以下逐条列记的技术中的任何技术。或者,视频编码器20和/或视频解码器30可以应用下文讨论的逐条列记的技术的任何组合。

根据本公开内容的一些技术,视频编码器20可以在一个图片/切片/瓦片/瓦片组中以信号发送每块的ALF滤波器集合。在一个示例中,ALF集合 (例如,上文提到的ALF滤波器集合)可以是通过滤波器集的列表中的集合索引来指示的。在一些示例中,所述索引从被包括在列表中的多个ALF 滤波器集合之中识别特定的ALF滤波器集合。

a.在一个示例中,块可以是译码树单元(CTU)或任何其它块。块可以是从分区解耦的。

b.在一个示例中,提供每图片/切片/瓦片/瓦片组的多个滤波器集合的列表,其中每个集合可以包含每类分配的滤波器。集合索引可以是每块以信号发送的。标记可以是每块以信号发送的以指示ALF未被使用。

c.滤波器集合的列表可以包含固定的预先训练过的滤波器的集合和使用先前的帧或在比特流中以信号发送的滤波器来导出的滤波器的集合。

根据本公开内容的一些示例,视频编码器20和/或视频解码器30可以共享跨越不同的图片的滤波器集的列表。在一个示例中,滤波器集列表可以是利用预先训练过的滤波器来初始化的。在对图片进行译码之后,视频编码器20可以基于经编码的图片导出新的滤波器集,以及将新的滤波器集添加到滤波器集列表。或者,新的滤波器集可以替换在列表中的现有的滤波器集。在对另一图片进行译码之后,视频编码器20可以导出另一滤波器集,以及将导出的滤波器集包括在滤波器集列表中。在本示例中,滤波器集列表对于所有图片是通用的,以及可以是在对图片进行译码之后更新的。从解码器侧,视频解码器30可以在对图片进行解码之后或在对图片的解码之前检测新的滤波器集的信令。

根据本公开内容的一些示例,视频编码器20可以允许每图片/切片/瓦片/瓦片组的新的滤波器集合的信令。

a.在一个示例中,新的滤波器集合可以被添加到滤波器集列表。更新的列表然后可以用于对在下一个图片或多个图片中的块进行滤波。

b.在另一示例中,更新的列表(包含使用当前的图片/切片/瓦片/ 瓦片组来导出的新的滤波器集合)可以用于对在当前的图片/切片/瓦片/瓦片组中的块进行滤波。

根据本公开内容的一些示例,滤波器集列表可以是利用使用先前的图片/切片/瓦片/瓦片组导出的滤波器来更新的。滤波器集在滤波器集列表中被添加或排序的顺序可以是固定的、预先定义的或灵活的。所述列表可以是基于与当前的图片有关的信息和与从其中导出在列表中的相应的滤波器的图片有关的信息,来每图片重新排序的。视频编码器20可以使用在滤波器集列表中的索引来向视频解码器30指示滤波器集。在一些示例中,视频编码器20可以将较小的索引值分配给更频繁地使用的滤波器或新添加的滤波器。

a.在一个示例中,新导出的滤波器集可以被添加到列表的开始。在另一示例中,使用先前的帧导出的滤波器集合可以被放置在列表中现有的滤波器集(例如,固定的滤波器集合)之前的列表中。

b.在列表中的滤波器集的排序可以取决于其它与图片相关的信息。例如,从在同一时间层中的图片导出的滤波器可以被放置在使用在另一时间层中的图片来导出的滤波器之前的列表中。

c.在一个示例中,在列表中的滤波器集的索引可以取决于从其中导出该滤波器集的相应的图片是否是用于对当前的图片的预测的参考图片。与更频繁地使用的参考图片相对应的滤波器可以被放置在从其它参考图片导出的滤波器之前。

d.在一个示例中,使用利用与当前的图片类似的QP来译码的图片来导出的滤波器可以被放置在从利用不同的QP来译码的先前的图片导出的滤波器之前。

e.在列表中的滤波器的最大数量可以是有限的。在一个示例中,多达三十二(32)个滤波器集合可以被保留在列表中。在列表中的滤波器集的最大数量可以是在切片头部、序列参数集、图片参数集或其它高级别语法信息或其它地方中以信号发送的。

f.视频编码器20可以使用不同数量的比特来以信号发送不同的集合索引。与较高的索引位置相比,更少的比特可以用于指示列表中较低的索引位置(这是因为靠近列表的顶部的滤波器集更有可能被选择)。

根据本公开内容的一些示例,一些块可以共享相同的ALF信息,例如,对跨越两个或更多个块的ALF信息的合并。在一个示例中,滤波器集合的索引和/或ALF开/关标记(该标记指示ALF是否应用于块)可以是跨越多个块共享的。ALF合并指示符可以指示哪些块被合并,以及哪些ALF信息与ALF合并指示符相关联。合并指示符可以是索引、标记或任何其它语法元素。

a.块的ALF信息可以是与上面的块或者与左边的块合并的。

b.还可以使用更灵活的ALF信息合并,更灵活的ALF信息合并允许对在图片中的一个块与任何其它块(即,不一定邻近的块) 的合并。

在本公开内容的一些示例中,ALF开/关标记可以是基于其它现有的块信息来导出的。在一个示例中,视频解码器30可以基于现有的块信息来导出ALF开/关标记,正因如此,视频编码器20可以不以信号发送ALF开/ 关标记。视频编码器20可以以信号发送针对表示为ALF块的一组块的ALF 开/关信号。例如,共享相同的ALF开/关标记的块可以表示ALF块。在另一示例中,ALF块可以等于块。

a.在一个示例中,ALF开/关标记可以是基于在ALF块中的块的数量来导出的,所述ALF块中的块共享相同的ALF开/关标记,具有非零CBF标记。如果非零CBF标记的数量小于某个门限,则ALF可以被禁用,或者默认ALF滤波器应用于这些块。

b.在上面的子项目符号‘a’的示例中,非零变换系数的数量可以被计数,而不是CBF标记。门限可以是针对计数的系数来引入的,以及如果非零变换系数的数量小于该门限,则针对被包括在ALF块中的块可以禁用ALF,或者默认的ALF滤波器可以应用于这些块。

c.在另一示例中,如果在ALF块中的利用跳过模式来译码的块的数量大于某个门限,则针对这些块可以禁用ALF。

d.在上面的子项目符号‘c’的示例中,跳过模式被用作为示例,以及在导出ALF开/关标记时可以利用其它译码模式。

如上文讨论的,当使用ALF时,基于块的信令机制可以提高译码效率。例如,视频编码器20可以以信号发送每块的滤波器集索引,以指示滤波器集中的候选集合中的哪个滤波器集用于该块。候选集可以包括各种滤波器集,比如针对当前的图片/切片/瓦片/瓦片组的新近以信号发送的滤波器集和 /或来自先前经译码的图片/切片/瓦片/瓦片组的滤波器集。

在2019年9月11日递交的、编号为16/567,966的美国专利申请中,讨论了用于存储先前经译码的图片的滤波器集的方法和系统。在美国专利申请16/567,966中描述的示例中,亮度和色度可以具有分离的缓冲区。在一个示例中,先前经译码的图片的ALF系数被存储以及被允许被重用作为当前的图片的ALF系数。对于当前的图片,视频编码器20可以选择使用针对参考图片存储的ALF系数,然后绕过ALF系数信令。在这种情况下,视频编码器20仅向参考图片中的一个参考图片以信号发送索引,以及指示的参考图片的存储的ALF系数被简单地继承(例如,重用)用于当前的图片。为了指示对时间预测的使用,视频编码器20在发送索引之前首先对标记进行译码。

在JEM(例如,JEM7)的一些示例中,来自最多六个先前的图片/切片的ALF参数被存储在针对每个时间层的单独的阵列中。例如,如果在分层的B/P译码结构中存在5个时间层(在当前的视频译码标准化中使用的随机存取设置中是这种情况),则视频编码器20和视频解码器30两者使用5x6 存储器阵列,以便总共存在30个存储单元来存储先前获得ALF参数。

当对帧内随机存取图片(IRAP或I帧)进行编码/解码时,JEM7的设计有效地删除存储的ALF参数。为了避免重复,只有在ALF参数是通过在视频解码器30处的接收来新近获得的时,其才被存储在存储器中(对于视频编码器20,新的参数是经由估计/训练获得的)。对参数的存储以先进先出(FIFO)方式操作;因此,如果阵列已满,则新的ALF参数值集合以解码顺序盖写最旧的参数。

使用2D阵列(例如,在存储器中)来存储ALF参数的主要目的是要在分层的B/P帧译码结构中保持时间可缩放性。对于i<k,在Ti层处的帧不能取决于在层Tk处的帧(例如,不能从在层Tk处的帧来预测)。换言之,在较低的时间层(例如,T2)处的帧/切片不能取决于在较高的层(例如, T3和T4)处的帧/切片。在ALF中的当前的时间预测通过简单地将从不同的时间层获得的ALF参数存储在2-D阵列的不同的行中,以及确保在未破坏在分层的B/P帧中的依存结构的情况下使用这些参数,来保持时间可缩放性。

在JEM7中对时间预测的设计中的问题中的一个问题是其要求大量的存储器。特别地,在视频编码器20和视频解码器30两者处需要具有30个存储单元的5x6阵列来存储ALF参数。鉴于此问题,下文描述的示例可以通过使用1D阵列来减少存储器要求,同时仍然保持时间可缩放性。下列章节给出对用于在ALF中存储和使用1D阵列用于进行时间预测的示例的描述。

图4A示出用于存储ALF参数(P1,P2,……,PN)和相关联的时间层ID(tld1,tld2,……,tldn)的大小N的单个阵列120。阵列120的每个存储单元存储(i)ALF参数和(ii)用于指示从哪个层估计相应的ALF参数的时间层ID(tId)。时间层信息用于确保从较高的时间层(例如,tId=4) 获得的ALF参数不用于对在较低的时间层(例如,tId=3)处的帧/切片进行编码/解码。

以下列出的方法的组合可以应用于加载、存储以及使用ALF参数用于进行时间预测。

1)为了要在对ALF参数的时间预测时使用,阵列可以存储来自B切片或者P切片的参数。

2)在阵列中,ALF参数的条目应该是以某个顺序(例如,按照解码顺序)来存储的。当所有N个条目用于存储时(即,当阵列已满时),新近获得的参数可以是通过删除一个条目,然后在阵列中添加新的参数来存储的。

-作为示例,这可以是以FIFO(先进先出)方式来完成的,其中当阵列已满时,在阵列中的最后的条目(即,最旧的参数集合)被删除,

以及新的参数被存储在阵列的第一元素中。

-在另一示例中,ALF参数替换在缓冲区中具有相同的时间层ID的某些存储的参数;例如,某些参数可以是在缓冲区中最旧的参数,或者

较少使用的,或者可以应用任何其它规则。

3)称为prevIdx的非负的索引值可以是以信号发送的以识别从缓冲区加载/使用哪个ALF参数集合用于编码/解码。

-可变长度代码(比如一元代码)可以用于以信号发送prevIdx。针对某个时间层Id的参数的总可用数量可以在存储的缓冲区中被计数,以及截短的二值化可以用于以信号发送具有滤波器的总可用数量减1作为最大索引的prevIdx。然而,例如,当一些图片在传输中丢失时,截短的译码可能在编码器与解码器之间引入不匹配。

-prevIdx可以从0直到N-1中取值。取决于用于译码的分层的帧结构的类型,prevIdx的最大值可以更小。

-当对切片/图片进行译码时,用于时间预测的可能的候选项可以是通过遍历在阵列中包括的集合来决定的,以及具有相等或更小tId的所有或部分参数集被视为有效的候选。

-阵列条目的信令(例如,确定用于译码的ALF参数)可以取决于正在被译码的当前的帧的时间层ID。特别地,prevIdx可以对应于在阵列中取决于正在被编码/解码的当前的帧的时间层ID的不同的条目。

i.图4B示出用于存储从不同的时间层(tId1=1,tId2=2,tId3=2,tId4=1和tId5=3)获得的ALF参数的N=5集合的阵列130。举例而言,在图4B中示出的,prevIdx=1可以指向在阵列中的取决于正在被译码的当前的帧的tId的以下两个不同的条目:

1.prevIdx=1对应于在阵列中的第4条目,当对具有tId=1 的帧进行译码时,存储ALF(P4,1),这是因为它是被允许用于译码以保持时间可缩放性的第二可能的选项,其中ALF(P4,1)是利用prevIdx=0以信号发送的第一候选。

2.prevIdx=1对应于在阵列中的第2条目,当对具有tId=2 的帧进行译码时,存储ALF(P2,2),这是因为它是被允许用于译码的第二可能的选项,其中ALF(P1,1)是与prevIdx=0相对应的第一选项。

-在帧损失(例如,由于当通过网络发送视频比特流时的分组丢失) 的情况下,视频解码器可以选择不将任何条目添加到阵列,以及可能引入伪条目,所以即使当图片丢失时,伪条目被添加到缓冲区。在两种情况中的任何一种情况下,只要应用上文列出的方法,时间可缩放性就是保持不变的。换言之,当在较高级别的帧丢失时(例如,T3),在较低层处的帧仍然是可解码的(例如,T1和T2)。

-在另一示例中,具有较低时间层ID的图片或切片可以携带关于较高时间层ID的ALF参数的信息。在这种情况下,如果具有较高时间层 ID的图片丢失,则参数可以是从具有较低时间层ID的图片获得的。这些参数还可以指示较高时间层ID图片是否携带这样的ALF参数,使得这些参数或伪参数可以被添加到缓冲区。

-在另一示例中,解码器图片缓冲区(DPB)管理方法可以应用于时间ALF参数处理,这是因为DPB管理包括对丢失的图片的处理。

4)取决于ALF参数的重要性(例如,重要性可以是基于它们如何频繁地被使用或基于它们的时间层信息来测量的),这些重要的ALF参数中的一些ALF参数可以被固定以及保留在缓冲区中,直到下一个I切片被译码为止。这样的重要性度量可以用于对条目进行排列以及重新排序,以减少以信号发送prevIdx的信令开销(例如,一元译码)。

5)关于加载以及存储ALF参数(对缓冲区的管理)的另外的决策或限制可以是基于任何其它侧信息(除了时间层ID之外)或者基于还可以与 ALF参数一起存储的重要性测量来作出的。

6)单独的缓冲区可以用于对亮度通道和色度通道进行单独译码。结果,每个缓冲区可以具有prevIdx的不同的信令,以分别地确定用于亮度通道和色度通道的ALF参数。

在Y.Wang等人“AHG17:On header parameter set(关于头部参数集) (HPS)”ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家团队(JVET),第13次会议:马拉喀什,摩洛哥,2019年1月9日-18日,(以下简称“JVET-M0132”)中,提出自适应参数集(APS)。在一些示例中,自适应参数集还称为适应参数集。APS用于携带ALF参数(例如,亮度滤波器参数和色度滤波器参数两者)。当ALF应用于图片/切片/瓦片/瓦片组时,视频编码器20以信号发送APS索引,使得视频解码器30将使用在相应的APS中的ALF参数来将ALF应用于图片/切片/瓦片/瓦片组。然而,由于APS本身的信令是从图片/切片/瓦片/瓦片组解耦的,因此将可取的是修改上文示例以与这样的APS对齐,以便提高译码效率。换言之,在一些示例中,ALF应用于切片级别的块,以及使用的特定的ALF参数应用于块级别。然而,APS是在较高级别以信号发送的。本公开内容描述用于指示可以用于切片的亮度分量和色度分量的APS的示例。在下面的示例中,先前经译码的滤波器可以是ALF或其它类型的滤波器。

在一些示例中,视频编码器20可以被配置为对在序列参数集/图片参数集/切片头部/瓦片/瓦片组头部中的变量(或语法元素,在下列示例中,术语是可互换地使用的)进行编码以及以信号发送所述变量,以指示多少先前经译码的滤波器集可以用于与序列参数集/图片参数集/切片头部/瓦片/瓦片组头部相对应的每个块。视频解码器30可以被配置为对这样的变量/语法元素进行解码,以及针对各种块使用先前经译码的滤波器集中的一个或多个滤波器集。

在一个这样的示例中,视频编码器20可以对一个变量(例如,在经编码的比特流中的语法元素)进行编码以及以信号发送该变量,该变量定义视频解码器30可以针对在序列/图片/切片/瓦片/瓦片组中的所有分量中的块使用的先前以信号发送的滤波器的最大数量。

在另一示例中,视频编码器20可以对一个变量(例如,在经编码的比特流中的语法元素)进行编码以及以信号发送该变量,以指示视频解码器 30可以针对在序列/图片/切片/瓦片/瓦片组中的亮度块使用的先前以信号发送的滤波器的最大数量。视频编码器20可以对另一变量(例如,在经编码的比特流中的语法元素)进行编码以及以信号发送该变量,以指示视频解码器30可以针对在序列/图片/切片/瓦片/瓦片组中的亮度块使用的先前以信号发送的滤波器的最大数量。

在另一示例中,视频解码器可以针对来自所有颜色分量(例如,亮度分量和色度分量)的块使用的先前以信号发送的滤波器的最大数量可以在没有信令的情况下固定以及确定。在另一示例中,视频解码器30可以针对来自相同的颜色分量(例如,亮度和色度)的块使用的先前以信号发送的滤波器的最大数量可以在没有信令的情况下固定以及确定。在另一示例中,视频解码器30可以针对来自相同的颜色分量(例如,亮度或色度)并且具有相同的译码信息的块使用的先前以信号发送的滤波器的最大数量,可以是在没有信令的情况下固定的以及确定的。译码信息可以是切片类型、量化参数、预测类型、运动信息、帧内模式和/或其它译码信息。

在一些示例(如本领域技术人员将认识的,其可以是与先前的段落的示例进行组合的)中,视频编码器20和视频解码器30可以使用先进先出 (FIFO)缓冲区来存储先前经译码的ALF滤波器的参数。在一个示例中,视频编码器20和视频解码器30可以被配置为针对亮度分量和色度分量使用相同的缓冲区,使得在缓冲区中的一个元素用于存储来自相同的图片/切片/瓦片/瓦片组的亮度滤波器和色度滤波器的集合。在另一示例中,视频编码器20和视频解码器30可以被配置为针对亮度分量和色度分量使用单独的FIFO缓冲区。当分量的滤波器参数是以信号发送的时,视频解码器30 将把以信号发送的滤波器参数推送到相应的颜色分量的缓冲区中。

为了将基于块的ALF滤波器集索引信令与对包括各自的ALF参数集合的一个或多个APS的使用对齐,视频编码器20和视频解码器30可以被配置为当启用ALF时,在每个图片、切片、瓦片和/或瓦片组头部处对变量(例如,在经编码的比特流中的语法元素)进行译码,该变量指示用于当前的图片、切片、瓦片和/或瓦片组头部的APS的数量。例如,在切片级别,视频编码器20和视频解码器30可以被配置为对变量进行译码,该变量指示当对该切片启用ALF时用于当前的切片的块的APS的数量。此外,在对用于指示APS的数量的变量进行译码之后,视频编码器20和视频解码器30 可以对可供当前的图片/切片/瓦片/瓦片组头部使用的每个APS的索引进行译码。然后,对于在切片中的每个各自的块,视频编码器20和视频解码器 30可以对包括要用于各自的块的ALF参数的特定的APS的索引进行译码。在本示例中,视频编码器20和视频解码器30可以对针对亮度分量的APS 索引的集合和针对色度分量的APS索引的集合进行译码。

在一个示例中,为了降低复杂性,视频编码器20和视频解码器30可以被配置为针对亮度分量和色度分量两者使用相同数量的APS和APS的相同的索引。在另一示例中,为了更好地适应亮度分量和色度分量的特性以及实现改进的压缩效率,亮度分量和色度分量具有用于图片、切片、瓦片和/或瓦片组头部的块的其自己数量的APS和APS的索引。换言之,视频编码器20和视频解码器30可以被配置为对针对用于图片、切片、瓦片和/ 或瓦片组头部的块的亮度分量和色度分量的不同数量的APS和APS的索引进行译码。换句话说,APS的数量和APS的索引(以及因此的ALF参数) 是对于亮度分量和色度分量而言独立的。在一些示例中,为了简单起见,针对分量的APS的数量可以在没有信令的情况下固定,这可能依赖于译码信息。例如,对于被帧内译码的图片/切片/瓦片/瓦片组,不允许来自其它图片/切片/瓦片/瓦片组的滤波器集。在一个示例中,在图片/切片/瓦片组中的两个色度分量可以仅使用一个APS。另一示例是,在图片/切片/瓦片组中的每个色度分量可以仅使用一个APS。

根据本公开内容的一个示例,视频编码器20可以被配置为对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流,对用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素进行编码。视频编码器20可以进一步被配置为基于针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的所述自适应参数集的数量,来对针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引进行编码。例如,如果五个APS用于将ALF应用于切片的亮度块,则视频编码器20还将对使用的五个APS的索引进行编码。当然,针对切片,可以使用其它数量的APS。视频编码器20进一步被配置为对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流,对针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引进行编码。在这种情况下,色度块仅具有单个APS,正因如此,仅对APS的索引进行编码以及仅以信号发送APS的索引。

视频解码器30可以被配置为执行与上文针对视频编码器20描述的技术互逆的技术。例如,视频解码器30可以被配置为从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流中解码用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素。视频解码器30可以进一步被配置为基于针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的所述自适应参数集的数量,来对针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引进行解码。视频解码器30 还可以从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流中解码针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引。视频解码器30然后可以基于多个第一自适应参数集索引,来将第一自适应环路滤波器应用于图片、切片、瓦片或瓦片组中的一者或多者中的亮度块。例如,视频解码器30可以对用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的特定的亮度块使用的特定的APS的语法元素进行解码,然后将来自所指示的APS的ALF参数应用于该特定的亮度块。同样地,视频解码器30可以基于第二自适应参数集索引,来将第二自适应环路滤波器应用于图片、切片、瓦片或瓦片组中的一者或多者中的色度块。例如,视频解码器30可以将来自第二自适应参数集索引的所指示的APS的ALF参数应用于色度块。

在以上示例中,视频编码器20可以以信号发送以及视频解码器30可以接收在图片/切片/瓦片或瓦片组头部中的第一语法元素,该第一语法元素指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量,针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引和针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引。

在一些示例中,视频比特流可以被定义,以便将APS的信息分离,使得针对亮度分量的APS(亮度_APS)用于仅携带亮度滤波器集合,以及针对色度分量的APS(色度_APS)用于仅携带色度滤波器参数。

因此,在一个示例中,针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个自适应参数集中的每个自适应参数集包括各自的亮度自适应环路滤波器集合。在其它示例中,针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个自适应参数集中的每个自适应参数集仅包括各自的亮度自适应环路滤波器集合。同样地,在一个示例中,与第二自适应参数集索引相对应的自适应参数集包括色度自适应环路滤波器集合。在另一示例中,与第二自适应参数集索引相对应的自适应参数集仅包括色度自适应环路滤波器集合。

如上文描述的,不是针对亮度分量和色度分量两者使用一个APS索引,而是使用单独的APS索引,以便可以部分地更新APS。例如,视频编码器 20和视频解码器30可以对针对亮度APS索引(Luma_APS_index)的索引进行译码,以指示针对其来更新亮度滤波器信息的APS。视频编码器20和视频解码器30可以对色度APS索引(Chroma_APS_index)进行译码,以指示其色度滤波器信息被更新的APS。

因此,在公开内容的另一示例中,视频编码器20和视频解码器30可以对第二语法元素进行编码/解码,以及对第三语法元素进行编码/解码,所述第二语法元素指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的亮度自适应环路滤波器信息是否被更新,所述第三语法元素指示针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的色度自适应环路滤波器信息是否被更新。

根据一些示例,当使用APS时,视频编码器20和视频解码器30可以使用先进先出(FIFO)缓冲区来存储先前经译码的ALF滤波器。对于每个图片/切片/瓦片/瓦片组,视频编码器20可以以信号发送new_filter_set_flag (新的_滤波器_集_标记),使得新的滤波器集是从具有以信号发送的APS 索引导出的;否则,未从任何APS导出滤波器参数。在对图片/切片/瓦片/ 瓦片组的解码之后,如果new_filter_set_flag是真,则视频解码器30可以将滤波器集信息从APS推送到FIFO缓冲区。否则,FIFO缓冲区未被更改。 FIFO缓冲区可以是固定长度或可变长度。也可以应用上文针对FIFO缓冲区描述的技术。

在一些示例中,FIFO缓冲区可以是在图片中的所有瓦片组/切片之中共享的。在对图片进行解码之后将被添加到FIFO缓冲区的APS的索引可以是在图片的比特流的中间的某个点中以信号发送的。例如,视频编码器20 可以在图片的开始、结束或另一些地方以信号发送这样的信息。在另一示例中,来自一个或多个固定的瓦片组/切片的滤波器集的参数可以用于更新FIFO缓冲区而未以信号发送哪个滤波器集将被添加到缓冲区。例如,在整个图片被重建之后,在图片中的来自瓦片组/切片的前n个以信号发送的滤波器集将被添加到FIFO缓冲区。在另一示例中,在整个图片被重建之后,在图片中的来自瓦片组/切片的最后n个以信号发送的滤波器集将被添加到 FIFO缓冲区。在以上示例中,n是正整数。n的值可以是固定的或者以信号发送的。在另一示例中,在图片中用于选择不止一个滤波器集的一些规则可以在视频编码器20和视频解码器30两者处被定义以及被应用。

图5是示出可以使用在本公开内容中描述的APS来实现针对ALF的技术的示例视频编码器20的方框图。视频编码器20可以执行对在视频切片内的视频块的帧内译码和帧间译码。帧内译码依赖于空间预测来减少或移除在给定的视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除在视频序列的邻近的帧或图片内的视频中的时间冗余。帧内模式(I模式)可以指的是若干基于空间的压缩模式中的任何基于空间的压缩模式。比如单向预测(P模式)或双向预测(B模式)的帧间模式可以指的是若干基于时间的压缩模式中的任何基于时间的压缩模式。

在图5的示例中,视频编码器20包括视频数据存储器33、分区单元 35、预测处理单元41、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包括运动估计单元(MEU)42、运动补偿单元(MCU)44和帧内预测处理单元46。对于视频块重建,视频编码器20 还包括逆量化单元58、逆变换处理单元60、求和器62、滤波器单元64和解码图片缓冲区(DPB)66。

如图5所示,视频编码器20接收视频数据,以及将接收到的视频数据存储在视频数据存储器33中。视频数据存储器33可以存储要由视频编码器20中的组件编码的视频数据。存储在视频数据存储器33中的视频数据可以是例如从视频源18获得的。DPB 66可以是参考图片存储器,其存储参考视频数据用于在由视频编码器20例如在帧内译码模式或帧间译码模式下对视频数据进行编码时使用。视频数据存储器33和DPB 66可以由各种存储设备中的任何存储设备形成,比如动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻RAM(MRAM)、电阻RAM(RRAM) 或其它类型的存储设备。视频数据存储器33和DPB 66可以是由相同的存储设备或单独的存储设备提供的。在各种示例中,视频数据存储器33可以是与视频编码器20中的其它组件在芯片上,或者相对于这些组件在芯片外。

分区单元35从视频数据存储器33中取回视频数据,以及将视频数据划分为视频块。这种分区还可以包括例如根据LCU和CU的四叉树结构划分为切片、瓦片或其它较大的单元以及视频块分区。视频编码器20通常示出在待编码的视频切片内对视频块进行编码的组件。切片可以被分成多个视频块(以及可能被分成称为瓦片的视频块的集合)。预测处理单元41可以基于误差结果(例如,译码速率和失真程度)为当前的视频块选择多个可能的译码模式中的一个译码模式,比如多个帧内译码模式中的一个帧内译码模式或多个帧间译码模式中的一个帧间译码模式。预测处理单元41可以将得到的经帧内译码的块或经帧间译码的块提供给求和器50以生成残差块数据,以及提供给求和器62以重建经编码的块用于作为参考图片来使用。

在预测处理单元41内的帧内预测单元处理46可以相对于在与待译码的当前的块相同的帧或切片中的一个或多个邻近的块,执行对当前的视频块的帧内预测性译码,以提供空间压缩。在预测处理单元41内的运动估计单元42和运动补偿单元44相对于在一个或多个参考图片中的一个或多个预测块,执行对当前的视频块的帧间预测性译码,以提供时间压缩。

运动估计单元42可以被配置为根据针对视频序列的预先确定的样式来确定针对视频切片的帧间预测模式。所述预先确定的样式可以将在序列中的视频切片指定为P切片或B切片。运动估计单元42和运动补偿单元44 可以是高度集成的,但是出于概念上的目的是单独地示出的。由运动估计单元42执行的运动估计是生成运动向量的过程,运动向量估计针对视频块的运动。例如,运动向量可以指示在当前的视频帧或图片内的视频块的PU 相对于在参考图片内的预测块的位移。

预测块是被发现在像素差异方面与待译码的视频块的PU紧密地匹配的块,像素差可以是通过绝对差的和(SAD)、平方差的和(SSD)或其它差度量来确定的。在一些示例中,视频编码器20可以计算针对存储在DPB 66中的参考图片的子整数像素位置的值。例如,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可以执行相对于全像素位置和分数像素位置的运动搜索,以及输出具有分数像素精度的运动向量。

运动估计单元42通过将PU的位置与参考图片的预测块的位置进行比较,来计算针对在经帧间译码的切片中的视频块的PU的运动向量。参考图片可以是从第一参考图片列表(列表0)或第二参考图片列表(列表1)中选择的,列表0和列表1中的各者识别存储在DPB 66中的一个或多个参考图片。运动估计单元42将计算出的运动向量发送给熵编码单元56和运动补偿单元44。

由运动补偿单元44执行的运动补偿,可以涉及基于通过运动估计确定的运动向量来获取或生成预测块,可能执行对亚像素精度的内插。在接收针对当前的视频块的PU的运动向量时,运动补偿单元44可以在参考图片列表中的一个参考图片列表中定位运动向量指向的预测块。视频编码器20 通过从正在被译码的当前的视频块的像素值减去预测块的像素值,来形成残差视频块,形成像素差值。像素差值形成针对块的残差数据,以及可以包括亮度差分量和色度差分量。求和器50表示执行此减法运算的一个组件或多个组件。运动补偿单元44还可以生成与视频块和视频切片相关联的语法元素,用于由视频解码器30在对视频切片的视频块进行解码时使用。

在预测处理单元41经由帧内预测或者帧间预测生成针对当前的视频块的预测块之后,视频编码器20通过从当前的视频块减去预测块来形成残差视频块。在残差块中的残差视频数据可以被包括在一个或多个TU中,以及应用于变换处理单元52。变换处理单元52使用变换(比如离散余弦变换 (DCT)或概念上类似的变换)来将残差视频数据变换为残差变换系数。变换处理单元52可以将残差视频数据从像素域转换到变换域,比如频域。

变换处理单元52可以将得到的变换系数发送给量化单元54。量化单元 54对变换系数进行量化,以进一步降低比特率。量化过程可以减少与系数中的一些系数或所有系数相关联的比特深度。量化的程度可以是通过调整量化参数来修改的。在一些示例中,量化单元54然后可以执行包括经量化的变换系数的矩阵的扫描。在另一示例中,熵编码单元56可以执行所述扫描。

在量化之后,熵编码单元56对经量化的变换系数进行熵编码。例如,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分区熵(PIPE)译码或另一熵编码方法论或技术。在由熵编码单元56进行的熵编码之后,经编码的比特流可以被发送给视频解码器30,或者被存档用于稍后由视频解码器30进行的传输或取回。熵编码单元56还可以对针对正在被译码的当前的视频切片的运动向量和其它语法元素进行熵编码。

逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换来重建在像素域中的残差块,用于稍后用作为参考图片的参考块。运动补偿单元 44可以通过将残差块添加到在参考图片列表中的一个参考图片列表内的参考图片中的一个参考图片的预测块来计算参考块。运动补偿单元44还可以将一个或多个内插滤波器应用于重建的残差块,以计算用于在运动估计时使用的子整数像素值。求和器62将重建的残差块添加到由运动补偿单元44产生的运动补偿的预测块,以产生重建的块。

滤波器单元64对重建的块(例如,求和器62的输出)进行滤波,以及将经滤波的重建的块存储在DPB 66中,用于用作为参考块。参考块可以由运动估计单元42和运动补偿单元44用作为参考块,以对在随后的视频帧或图片中的块进行帧间预测。滤波器单元64可以执行任何类型的滤波(比如去块滤波、SAO滤波、峰值SAO滤波、ALF和/或GALF)和/或其它类型的环路滤波器。去块滤波器可以例如将去块滤波应用于滤波器块边界,以从重建的视频中移除块效应伪影。峰值SAO滤波器可以将偏移应用于重建的像素值,以便提高整体译码质量。还可以使用(在环路中或环路后的) 另外的环路滤波器。

视频编码器20的滤波器单元64或其它结构的组件可以被配置为执行本公开内容的技术。例如,滤波器单元64可以被配置为:对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流,对用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素进行编码。滤波器单元64可以进一步被配置为基于针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的所述自适应参数集的数量,来对针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引进行编码。例如,如果五个APS用于将ALF应用于切片的亮度块,则滤波器单元 64还将对使用的五个APS的索引进行编码。当然,针对切片,可以使用其它数量的APS。滤波器单元64可以进一步被配置为:对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流,对针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引进行编码。在这种情况下,色度块仅具有单个APS,正因如此,仅对APS的索引进行编码以及仅以信号发送APS的索引。

图6是示出可以实现在本公开内容中描述的技术的示例视频解码器30 的方框图。例如,图6的视频解码器30可以例如被配置为接收上文相对于图5的视频编码器20描述的信令。在图6的示例中,视频解码器30包括视频数据存储器78、熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、DPB 94和滤波器单元92。预测处理单元81包括运动补偿单元82和帧内预测处理单元84。视频解码器30可以在一些示例中执行通常与相对于来自图5的视频编码器20描述的编码通路互逆的解码通路。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码的视频切片中的视频块和相关联的语法元素的经编码的视频比特流。视频解码器30将接收到的经编码的视频比特流存储在视频数据存储器78中。视频数据存储器78可以存储要由视频解码器30中的组件解码的视频数据,比如经编码的视频比特流。存储在视频数据存储器78中的视频数据可以是例如经由链路16从存储设备26或从本地视频源(比如摄像头)或通过存取物理数据存储介质来获得的。视频数据存储器78可以形成译码图片缓冲区(CPB),CPB存储来自经编码的视频比特流的经编码的视频数据。DPB 94可以是参考图片存储器,其存储参考视频数据用于在由视频解码器30例如在帧内译码模式或帧间译码模式下对视频数据进行解码时使用。视频数据存储器78和DPB 94可以由各种存储设备(比如DRAM、SDRAM、MRAM、 RRAM或其它类型的存储设备)中的任何存储设备组成。视频数据存储器 78和DPB 94可以由相同的存储设备或单独的存储设备提供。在各种示例中,视频数据存储器78可以是与视频解码器30中的其它组件在芯片上,或相对于这些组件在芯片外。

视频解码器30中的熵解码单元80对存储在视频数据存储器78中的视频数据进行解码,以生成经量化的系数、运动向量和其它语法元素。熵解码单元80将运动向量和其它语法元素转发给预测处理单元81。视频解码器 30可以在视频切片级别和/或视频块级别接收语法元素。

当视频切片被译码为经帧内译码的(I)的切片时,预测处理单元81 中的帧内预测处理单元84可以基于以信号发送的帧内预测模式和来自当前的帧或图片的先前经解码的块的数据来生成针对当前的视频切片的视频块的预测数据。当视频帧被译码为经帧间译码的切片(例如,B切片或P切片)时,预测处理单元81中的运动补偿预测的82基于从熵解码单元80接收的运动向量和其它语法元素,来产生针对当前的视频切片的视频块的预测块。预测块可以是从在参考图片列表中的一个参考图片列表内的参考图片中的一个参考图片产生的。视频解码器30可以基于存储在DPB 94中的参考图片使用默认的构建技术来构建参考帧列表,列表0和列表1。

运动补偿单元82通过解析运动向量和其它语法元素,来确定针对当前的视频切片的视频块的预测信息,以及使用该预测信息来产生针对正在被译码的当前的视频块的预测块。例如,运动补偿单元82使用接收到的语法元素中的一些语法元素来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P 切片)、针对切片的参考图片列表中的一个或多个参考图片列表的构建信息、针对切片的每个经帧间编码的视频块的运动向量、针对切片的每个经帧间译码的视频块的帧间预测状态和用于对在当前的视频切片中的视频块进行解码的其它信息。

运动补偿单元82还可以基于内插滤波器来执行内插。运动补偿单元82 可以使用如由视频编码器20在对视频块的编码期间使用的内插滤波器,来计算针对参考块的子整数像素的内插的值。在这种情况下,运动补偿单元 82可以从接收到的语法元素确定由视频编码器20使用的内插滤波器,以及使用内插滤波器来产生预测块。

逆量化单元86对在比特流中提供的以及由熵解码单元80解码的经量化的变换系数进行逆量化(即,去量化)。逆量化过程可以包括对由视频编码器20为视频切片中的每个视频块计算的量化参数的使用,来确定量化的程度以及同样地应当被应用的逆量化的程度。逆变换处理单元88对变换系数应用逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程),以便在像素域中产生残差块。

在预测处理单元使用例如帧内预测或帧间预测来生成针对当前的视频块的预测块之后,视频解码器30通过将来自逆变换处理单元88的残差块与由运动补偿单元82生成的相应的预测块求和,来形成重建的视频块。求和器90表示执行该求和运算的一个组件或多个组件。

滤波器单元92对重建的块(例如,求和器90的输出)进行滤波,以及将经滤波的重建的块存储在DPB 94中用于作为参考块来使用。该参考块可以由运动补偿单元82用作为参考块,以对在随后的视频帧或图片中的块进行帧间预测。滤波器单元92可以执行任何类型的滤波(比如去块滤波、 SAO滤波、峰值SAO滤波、ALF和/或GALF)和/或其它类型的环路滤波器。去块滤波器可以例如将去块滤波应用于滤波器块边界,以从重建的视频中移除块效应伪影。峰值SAO滤波器可以将偏移应用于重建的像素值,以便提高整体译码质量。还可以使用(在环路中或环路后的)另外的环路滤波器。

视频解码器30的滤波器单元92和/或其它结构的组件可以被配置为执行与上文针对视频编码器20和滤波器单元64描述的技术互逆的技术。例如,视频解码器30可以被配置为从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流中解码用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素。视频解码器30可以进一步被配置为基于针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的所述自适应参数集的数量,来对针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引进行解码。视频解码器30还可以从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流中解码针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引。滤波器单元92然后可以基于多个第一自适应参数集索引,来将第一自适应环路滤波器应用于图片、切片、瓦片或瓦片组中的一者或多者中的亮度块。例如,视频解码器30可以对用于指示针对切片的特定的亮度块使用的特定的APS的语法元素进行解码,然后滤波器单元92将来自所指示的APS的ALF参数应用于该特定的亮度块。同样地,滤波器单元92可以基于第二自适应参数集索引,来将第二自适应环路滤波器应用于图片、切片、瓦片或瓦片组中的一者或多者中的色度块。例如,滤波器单元92可以将来自第二自适应参数集索引的所指示的APS 的ALF参数应用于色度块。

图7示出滤波器单元92的示例实现方式。滤波器单元64可以是以相同的方式实现的。滤波器单元64和滤波器单元92可以执行本公开内容的技术,可能是与视频编码器20或视频解码器30中的其它组件协力地。在图7的示例中,滤波器单元92包括去块滤波器102、SAO滤波器104和 ALF/GALF滤波器106。SAO滤波器104可以例如被配置为以本公开内容中描述的方式确定针对块的样本的偏移值。

滤波器单元92可以包括较少的滤波器和/或可以包括另外的滤波器。此外,在图7示出的特定的滤波器可以是以不同的顺序实现的。其它环路滤波器(在译码环路中或在译码环路之后)还可以用于使像素过渡平滑或以其它方式提高视频质量。在给定的帧或图片中的经解码的视频块然后被存储在DPB 94中,DPB 94存储用于随后的运动补偿的参考图片。DPB 94可以是另外的存储器的部分或与所述另外的存储器分离,所述另外的存储器存储经解码的视频用于稍后在显示设备(比如图1中的显示设备32)上呈现。

图8是示出本公开内容的示例视频编码方法的流程图。图8的技术可以由视频编码器20中的一个或多个组件(包括滤波器单元64)执行。

根据本公开内容的一个示例,视频编码器20可以被配置为:对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流,对用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素进行编码 (800)。视频编码器20可以进一步被配置为基于针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的所述自适应参数集的数量,来对针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引进行编码(802)。例如,如果五个APS用于将ALF应用于切片的亮度块,则视频编码器20还将对使用的五个APS的索引进行编码。当然,针对切片,可以使用其它数量的APS。视频编码器20进一步被配置为:对于针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流,对针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引进行编码(804)。在这种情况下,色度块仅具有单个APS,正因如此,仅对APS的索引进行编码以及仅以信号发送APS的索引。

在以上示例中,视频编码器20可以以信号发送在图片/切片/瓦片/瓦片组头部中的用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素,针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引,和针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引。

图9是示出本公开内容的示例视频解码方法的流程图。图9的技术可以由视频解码器30中的一个或多个组件(包括滤波器单元92)执行。

视频解码器30可以被配置为执行与上文针对视频编码器20描述的技术互逆的技术。例如,视频解码器30可以被配置为从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的亮度块启用自适应环路滤波的视频比特流中解码用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素(900)。视频解码器30可以进一步被配置为基于针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的所述自适应参数集的数量,来对针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引进行解码(902)。

视频解码器30还可以从针对其为图片、切片、瓦片或瓦片组中的一者或多者中的色度块启用自适应环路滤波的视频比特流中解码针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引 (904)。视频解码器30然后可以基于多个第一自适应参数集索引,来将第一自适应环路滤波器应用于图片、切片、瓦片或瓦片组中的一者或多者中的亮度块(906)。例如,视频解码器30可以对用于指示针对图片、切片、瓦片或瓦片组中的一者或多者的特定的亮度块使用的特定的APS的语法元素进行解码,然后将来自所指示的APS的ALF参数应用于该特定的亮度块。同样地,视频解码器30可以基于第二自适应参数集索引,来将第二自适应环路滤波器应用于图片、切片、瓦片或瓦片组中的一者或多者中的色度块 (908)。例如,视频解码器30可以将来自第二自适应参数集索引的所指示的APS的ALF参数应用于色度块。

在以上示例中,视频解码器30可以接收在图片/切片/瓦片/瓦片组头部中的用于指示针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的自适应参数集的数量的第一语法元素,针对图片、切片、瓦片或瓦片组中的一者或多者中的亮度块的多个第一自适应参数集索引,和针对图片、切片、瓦片或瓦片组中的一者或多者中的色度块的第二自适应参数集索引。

本公开内容的说明性的示例包括:

示例1:一种对视频数据进行译码的方法,所述方法包括:从在针对图片的块的多个ALF信息集合之中确定自适应环路滤波器(ALF)滤波器的集合。

示例2:根据示例1所述的方法,其中,所述块表示所述图片的译码树单元(CTU)。

示例3:根据示例1或示例2所述的方法,其中,每个各自的ALF信息集合包括分配给类的滤波器。

示例4:一种对视频数据进行译码的方法,所述方法包括跨越两个或更多个图片来分配自适应环路滤波器(ALF)集的列表。

示例5:根据示例4所述的方法,还包括在对所述图片进行译码之后导出新的滤波器集,所述新的滤波器集未被包括在所分配的列表中。

示例6:根据示例5所述的方法,还包括将所述新的滤波器集添加到所述列表。

示例7:根据示例5所述的方法,还包括利用所述新的滤波器集来替换在所述列表中的所述ALF集中的一个ALF集。

示例8:根据示例5-示例7的任何组合所述的方法,其中,导出所述新的滤波器集包括使用来自先前经译码的图片、先前经译码的切片或先前经译码的瓦片中一者的数据来导出所述新的滤波器集。

示例9:一种对视频数据进行译码的方法,所述方法包括跨越图片的多个块来合并自适应环路滤波器(ALF)信息。

示例10:根据示例9所述的方法,其中,所述多个块包括所述图片的当前的块和所述当前的块的上面邻近的块。

示例11:根据示例9所述的方法,其中,所述多个块包括所述图片的当前的块和所述当前的块的左边邻近的块。

示例12:根据示例9所述的方法,其中,所述多个块包括所述图片的当前的块和被包括与所述图片不同的图片中的块。

示例13:一种对视频数据进行解码的方法,所述方法包括从先前经解码的视频数据导出自适应环路滤波器(ALF)开/关标记的值。

示例14:根据示例13所述的方法,其中,导出所述ALF开/关标记的所述值包括基于被包括在共享所述ALF开/关标记的ALF块中的块的数量来导出所述值。

示例15:根据示例14所述的方法,其中,导出所述ALF开/关标记的所述值包括进一步基于在所述ALF块中的非零经译码的块标记(CBF)或非零变换系数来导出所述值

示例16:一种视频译码设备,包括:存储所述视频数据的视频数据存储器;和与所述视频数据存储器相通信的处理电路,所述处理电路被配置为执行示例1-示例15中的任何示例的所述方法。

示例17:根据示例16所述的视频译码设备,其中,所述视频译码设备包括视频解码设备。

示例18:根据示例16所述的视频译码设备,其中,所述视频译码设备包括视频编码设备。

示例19:根据示例18所述的视频编码设备,其中,所述视频编码设备被配置为对所述经编码的视频比特流进行解码。

示例20:一种装置,包括用于执行例1-示例15中的任何示例的方法的单元。

示例21:一种利用指令编码的计算机可读存储介质,所述指令当被执行时,使得视频译码设备的处理器执行示例1-示例15中的任何示例的方法。

示例22:在本公开内容中描述的技术的任何组合。

在一个或多个示例中,所描述的功能可以是在硬件、软件、固件或其任何组合中实现的。如果是在软件中实现的,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质上或在其上传输,以及由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于比如数据存储介质的有形的介质或通信介质,所述通信介质包括例如根据通信协议促进对计算机程序从一个地方转移到另一个地方的传送的任何介质。以这种方式,计算机可读介质通常可以对应于:(1)有形的计算机可读存储介质,其是非暂时性的;或(2)比如信号或载波的通信介质。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器存取以取回指令、代码和/或数据结构的用于对在本公开内容中描述的技术的实现方式的任何可用的介质。计算机程序产品可以包括计算机可读介质。

通过举例而非限制的方式,这样的计算机可读存储介质可以是RAM、 ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、闪存、或可以用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机存取的任何其它介质中的任何一者。此外,任何连接都恰当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)、或无线技术(比如红外线、无线电和微波)从网站、服务器、或其它远程源发送的,则同轴电缆、光纤电缆、双绞线、DSL、或无线技术(比如红外线、无线电和微波)被包括在介质的定义中。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它瞬态介质,而是指向非瞬态、有形的存储介质。如本文中使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘利用激光来光学地复制数据。上述组合也应当被包括在计算机可读介质的范围内。

指令可以是由一个或多个处理器(比如一个或多个数字信号处理器 (DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA) 或其它等效的集成或分立的逻辑电路)执行的。因此,如本文中使用的术语“处理器”指的是上述结构中的任何结构或适用于本文中描述的技术的实现方式的任何其它结构。此外,在一些方面中,本文中描述的功能可以是在被配置用于编码和解码的专用硬件和/或软件模块内提供的,或者并入组合的编解码器中。此外,所述技术可以是在一个或多个电路或逻辑元件中完全地实现的。

本公开内容的技术可以是在各种各样的设备或装置中实现的,包括无线手持设备、集成电路(IC)或一组IC(例如,芯片集)。在本公开内容中描述的各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能的方面,但是不一定要求由不同的硬件单元来实现。而是,如上文描述的,各种单元可以是组合在编解码器硬件单元中的,或是由包括如上文描述的一个或多个处理器的一批互操作硬件单元结合适合的软件和/或固件来提供的。

已经描述了各种示例。这些示例和其它示例在所附权利要求书的范围内。

51页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于视频编码的恢复点过程的方法及相关装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类