CN115398920A - 用于颜色格式支持的自适应环路滤波 - Google Patents

用于颜色格式支持的自适应环路滤波 Download PDF

Info

Publication number
CN115398920A
CN115398920A CN202180028173.2A CN202180028173A CN115398920A CN 115398920 A CN115398920 A CN 115398920A CN 202180028173 A CN202180028173 A CN 202180028173A CN 115398920 A CN115398920 A CN 115398920A
Authority
CN
China
Prior art keywords
alf
chroma
slice
video
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180028173.2A
Other languages
English (en)
Inventor
D.鲁萨诺夫斯基
Y.张
M.卡尔切维茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN115398920A publication Critical patent/CN115398920A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Color Television Systems (AREA)

Abstract

本文描述了用于处理视频数据的系统和技术。例如,过程可以包括获得视频比特流,该视频比特流包括自适应环路滤波器(ALF)数据。该过程还可以包括从ALF数据确定ALF色度滤波器信号标志的值,ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据。该过程还可以包括基于ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。

Description

用于颜色格式支持的自适应环路滤波
技术领域
本申请涉及视频编解码。例如,本申请的各方面涉及用于改进诸如自适应环路滤波器(ALF)的环路滤波器的系统、装置、方法和计算机可读介质(称为“系统和技术”)。在一些示例中,系统和技术能够以不同的颜色格式(例如,4:4:4颜色格式、4:2:0颜色格式和/或其他颜色格式)对视频数据进行编解码(coding)(例如,编码(encoding)和/或解码(decoding))。
背景技术
许多设备和系统允许视频数据被处理和输出以供消费。数字视频数据包括大量数据,以满足消费者和视频提供者的需求。例如,视频数据的消费者期望具有高保真度、分辨率、帧速率等的最高质量的视频。结果,满足这些需求所需的大量视频数据给处理和存储视频数据的通信网络和设备带来了负担。
各种视频编解码技术可用于压缩视频数据。根据一个或多个视频编解码标准来执行视频编解码。例如,视频编解码标准包括通用视频编解码(VVC)、高效视频编解码(HEVC)、高级视频编解码(AVC)、运动图片专家组(MPEG)编解码、VP9、开放媒体联盟(AOMedia)视频1(AV1)等等。视频编解码通常采用利用视频图片或序列中存在的冗余的预测方法(例如,帧间预测、帧内预测等)。视频编解码技术的重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化的视频质量的降级。随着不断发展的视频服务变得可用,需要具有更好编解码效率的编码技术。
发明内容
描述了用于编解码(例如,编码和/或解码)图片和/或视频内容的系统和技术。在某些视频编解码标准(例如,基本视频编解码(EVC)标准)中,自适应环路滤波器(ALF)利用自适应滤波器组和分类器对亮度分量进行滤波,使得预存储在存储器中或(例如,经由自适应参数集(APS))发信号通知的滤波器被识别并用于ALF滤波。用单个滤波器(例如,5×5滤波器)对比特流的色度分量进行滤波,每个APS发信号通知一次该滤波器的系数。然而,这种视频编解码标准的操作缺乏灵活性,并且对于不同颜色通道具有相似特性的视频(例如,具有红绿蓝(RGB)格式(其中每像素具有红色分量、绿色分量和蓝色分量)的视频数据,每像素具有亮度和色度分量的视频数据,诸如以4:4:4格式的视频数据,或其他视频数据)可能不是有效的。在颜色分量具有相似特性的这种格式中,在上述视频编解码标准中不经受ALF滤波的颜色分量数据可以受益于ALF滤波。然而,一些视频编解码标准的语法元素在APS中发信号通知ALF色度标识符(例如,使用一个或多个APS语法元素)。使用APS语法元素来控制色度分量上的ALF滤波缺乏灵活性。
本文描述的示例将与多个颜色分量的ALF滤波相关联的标志(例如,除了现有的ALF亮度标志之外,添加的ALF色度标志)添加到APS信令。在一些情况下,用于指示色度ALF滤波的ALF色度标识符被包括在切片报头数据中(例如,使用下面描述的语法结构),而不是被包括在ALF数据中(例如,使用alf_data语法结构发信号通知,如本文所述)。将切片报头数据用于色度ALF滤波器信令可改进视频编解码设备(例如,编码设备、解码设备或组合的编码-解码设备)的操作,从而提高ALF滤波的灵活性。将切片报头数据用于色度ALF滤波器信令还可改进视频输出性能(例如,对于色度和亮度具有类似特性的视频格式中的色度数据)。在一些示例中,ALF标志信令可用于应用ALF滤波,并为视频数据的特定颜色分量(例如,携带某个颜色分量特定数据的视频数据的块)(例如,在视频数据的图片的切片中)识别用于ALF滤波的ALF图。例如,接收包括具有4:4:4格式的视频数据的比特流的解码器可以识别比特流中ALF标志(例如,ALF色度滤波器信号标志)的存在。ALF标志可以指示色度ALF滤波可用于视频数据的图片的切片。比特流中的附加信息可以指示ALF图(例如,slice_alf_chroma_map_signalled、slice_alf_chroma2_map_signalled等),该ALF图提供在切片的至少部分的ALF滤波中使用的信息。
根据一个说明性示例,提供了一种用于对视频数据进行解码的装置。该装置包括:存储器和耦合到该存储器的至少一个处理器(例如,配置在电路中)。该至少一个处理器被配置为:获得视频比特流,所述视频比特流包括自适应环路滤波器(ALF)数据;从ALF数据确定ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且基于所述ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。
根据另一说明性示例,提供了一种对视频数据进行解码的方法。该方法包括:获得视频比特流,所述视频比特流包括自适应环路滤波器(ALF)数据;从ALF数据确定ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;以及基于所述ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。
在另一个示例中,提供了一种其上存储有指令的非暂时性计算机可读介质,所述指令当由一个或多个处理器执行时,使得所述一个或多个处理器:获得视频比特流,所述视频比特流包括自适应环路滤波器(ALF)数据;从ALF数据确定ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且基于所述ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。
在另一个示例中,提供了一种用于对视频数据进行解码的装置。该装置包括:用于获得视频比特流的部件,所述视频比特流包括自适应环路滤波器(ALF)数据;用于从ALF数据确定ALF色度滤波器信号标志的值的部件,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;以及用于基于所述ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分的部件。
上述方法、装置和计算机可读介质的一些方面包括:从视频比特流获得视频数据切片的切片报头;从视频比特流获得视频数据的切片的切片报头;从切片报头确定ALF色度标识符的值,所述ALF色度标识符的值指示ALF是否可以应用于所述切片的一个或多个色度分量;以及基于来自切片报头的ALF色度标识符,处理视频数据的切片的至少部分。
上述方法、装置和计算机可读介质的一些方面包括:从切片报头确定色度格式标识符的值,所述色度格式标识符的值和ALF色度标识符的值指示ALF能够应用于一个或多个色度分量中的哪个色度分量。
在一些方面,ALF色度滤波器信号标志的值指示在所述视频比特流中发信号通知所述色度ALF滤波器数据。在一些方面,在自适应参数集合(APS)中发信号通知色度ALF滤波器数据,用于处理视频数据的切片的至少部分。
上述方法、装置和计算机可读介质的一些方面包括:基于所述ALF色度滤波器信号标志的值,获得要用于处理视频数据的切片的至少部分的色度ALF滤波器数据;以及将所述色度ALF滤波器数据应用于所述视频数据的切片的至少部分。
上述方法、装置和计算机可读介质的一些方面包括:当所述ALF色度滤波器信号标志的值不存在于所述ALF数据中时,推断所述ALF色度滤波器信号标志的值为零。
上述方法、装置和计算机可读介质的一些方面包括:基于所述ALF色度滤波器信号标志的值,获得要用于视频比特流的至少一个块的一个或多个色度分量的亮度ALF滤波器数据;以及将亮度ALF滤波器数据应用于视频比特流的至少一个块的一个或多个色度分量。
上述方法、装置和计算机可读介质的一些方面包括:从视频比特流获得视频数据的切片的切片报头;从切片报头确定色度格式标识符的值;以及基于来自切片报头的色度格式标识符的值,使用亮度ALF滤波器数据来处理视频比特流的至少一个块的一个或多个色度分量。
上述方法、装置和计算机可读介质的一些方面包括:处理来自ALF数据的ALF色度滤波器信号标志的值,以确定在视频比特流中发信号通知色度ALF滤波器数据。
上述方法、装置和计算机可读介质的一些方面包括:确定切片的至少部分的第一颜色分量的ALF应用参数集APS标识符;以及确定切片的至少部分的第一颜色分量的ALF图。
上述方法、装置和计算机可读介质的一些方面包括:基于切片的至少部分的、包括共享特性的分量,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
在一些方面,所述切片的至少部分的至少两个非亮度分量包括所述切片的至少部分的红色分量、绿色分量和蓝色分量。
在一些方面,所述切片的至少部分的至少两个非亮度分量包括所述切片的至少部分的色度分量。
在一些方面,所述切片的至少部分包括4:4:4格式的视频数据。
上述方法、装置和计算机可读媒体的一些方面包含:基于包括非4:2:0格式视频数据的切片的至少部分,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
上述方法、装置和计算机可读介质的一些方面包括:确定切片的至少部分的色度类型数组变量;基于切片的至少部分的色度类型数组变量,确定切片的至少部分的第一分量的ALF色度应用参数集APS标识符;以及确定切片的至少部分的第一分量的发信号通知的ALF图。
上述方法、装置和计算机可读介质的一些方面包括:基于色度类型数组变量,确定切片的至少部分的第二分量的第二发信号通知的ALF图。
上述方法、装置和计算机可读介质的一些方面包括:使用发信号通知的ALF图和第二发信号通知的ALF图对切片的至少部分的第一分量和第二分量执行ALF滤波。
上述方法、装置和计算机可读介质的一些方面包括:基于色度类型数组变量,确定切片的至少部分的第三分量的第三发信号通知的ALF图。
在一些方面,第一分量是亮度分量,其中第二分量是第一色度分量,并且其中第三分量是第二色度分量。
在一些方面,第一分量是红色分量,其中第二分量是绿色分量,并且其中第三分量是蓝色分量。
上述方法、装置和计算机可读介质的一些方面包括:基于色度类型数组变量对切片的至少部分的每个分量的块执行ALF处理。
根据另一说明性示例,提供了一种用于对视频数据进行编码的装置。该装置包括存储器和耦合到该存储器的至少一个处理器(例如,配置在电路中)。该至少一个处理器被配置为:生成自适应环路滤波器(ALF)数据;确定ALF数据的ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且生成包括ALF数据的视频比特流。
根据另一说明性示例,提供了一种对视频数据进行编码的方法。该方法包括:生成自适应环路滤波器(ALF)数据;确定ALF数据的ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且生成包括ALF数据的视频比特流。
在另一个示例中,提供了一种其上存储有指令的非暂时性计算机可读介质,所述指令当由一个或多个处理器执行时,使得所述一个或多个处理器:生成自适应环路滤波器(ALF)数据;确定ALF数据的ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且生成包括ALF数据的视频比特流。
在另一个示例中,提供了一种用于用于对视频数据进行编码的装置。所述装置包括:用于生成自适应环路滤波器(ALF)数据的部件;用于确定ALF数据的ALF色度滤波器信号标志的值的部件,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;以及用于生成包括ALF数据的视频比特流的部件。
上述用于用于对视频数据进行编码的方法、装置和计算机可读介质的一些方面包括:确定ALF色度标识符的值,所述ALF色度标识符的值指示ALF是否能够应用于视频数据的切片的一个或多个色度分量;并且将ALF色度标识符的值包括在视频比特流的切片报头中。
上述用于用于对视频数据进行编码的方法、装置和计算机可读介质的一些方面包括:确定色度格式标识符的值,色度格式标识符的值和ALF色度标识符的值指示ALF能应用一个或多个色度分量中的哪个色度分量;并且将色度格式标识符的值包括在视频比特流的切片报头中。
在一些方面,ALF色度滤波器信号标志的值指示在视频比特流中发信号通知色度ALF滤波器数据。在一些方面,在自适应参数集(APS)中发信号通知色度ALF滤波器数据,用于处理切片的至少部分。
上述用于对视频数据进行编码的方法、装置和计算机可读介质的一些方面包括:确定色度格式标识符的值,其中色度格式标识符的值指示要使用亮度ALF滤波器数据处理的视频比特流的至少一个块的一个或多个色度分量;并且将色度格式标识符的值包括在视频比特流的切片报头中。
在一些方面,该装置包括移动设备(例如,移动电话或所谓的“智能电话”、平板电脑或其他类型的移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、个人计算机、膝上型计算机、视频服务器、电视、车辆(或车辆的计算设备)或其他设备。在一些方面,该装置包括用于捕获一个或多个图片或视频帧的至少一个相机。例如,该装置可以包括相机(例如,RGB相机)或多个相机,用于捕获一个或多个图片和/或包括视频帧的一个或多个视频。在一些方面,该装置包括用于显示一个或多个图片、视频、通知或其他可显示数据的显示器。在一些方面,该装置包括发送器,该发送器被配置为通过传输介质向至少一个设备发送一个或多个视频帧和/或语法数据。在一些方面,处理器包括神经处理单元(NPU)、中央处理单元(CPU)、图形处理单元(GPU)或其他处理设备或组件。
该概述不旨在标识所要求保护的主题的关键或必要特征,也不旨在孤立地用于确定所要求保护的主题的范围。应该通过参考本专利的整个说明书、任何或所有附图以及每个权利要求的适当部分来理解主题。
参考以下说明书、权利要求书和附图,前述内容以及其他特征和实施例将变得更加清楚。
附图说明
下面参考以下附图详细描述本申请的说明性实施例:
图1A是示出根据一些示例的编码设备和解码设备的示例的框图;
图1B是示出根据本公开的技术的被划分成图块(tile)和切片(slice)的图片的示例实施方式的图;
图1C是示出根据本公开的技术的用于执行基于颜色分量的ALF的滤波器单元的示例实施方式的图;
图2A是示出根据一些示例的包括5×5菱形(diamond)的自适应环路滤波器(ALF)滤波器支持的示例的概念图;
图2B是示出根据一些示例的包括7×7菱形的ALF滤波器支持的另一示例的概念图;
图3A是示出根据一些示例的垂直梯度的子采样(subsampled)位置的各方面的概念图;
图3B是示出根据一些示例的水平梯度的子采样位置的各方面的概念图;
图3C是示出根据一些示例的对角梯度的子采样位置的各方面的概念图;
图3D是示出根据一些示例的对角梯度的子采样位置的各方面的概念图;
图4是示出根据一些示例的用于不同颜色格式的ALF支持的各方面的流程图;
图5是示出根据一些示例的用于解码视频数据的过程的示例的流程图;
图6是示出根据一些示例的用于解码视频数据的过程的示例的流程图;
图7是示出根据一些示例的示例视频编码设备的框图;以及
图8是示出根据一些示例的示例视频解码设备的框图。
具体实施方式
下面提供了本公开的某些方面和实施例。这些方面和实施例中的一些可以独立应用,并且它们中的一些可以组合应用,这对于本领域技术人员来说是显而易见的。在以下描述中,出于解释的目的,阐述了具体细节,以便提供对本申请的实施例的透彻理解。然而,将清楚的是,可以在没有这些具体细节的情况下实施各种实施例。附图和描述不旨在是限制性的。
随后的描述仅提供示例性实施例,并不旨在限制本公开的范围、适用性或配置。相反,示例性实施例的随后描述将为本领域技术人员提供用于实施示例性实施例的使能的(enabling)描述。应当理解,在不脱离所附权利要求中阐述的本申请的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
视频编解码设备实施视频压缩技术以有效地对视频数据编码和解码。视频压缩技术可包括应用不同的预测模式,包括空间预测(例如,帧内预测(intra-frame prediction)或帧内预测(intra-prediction))、时间预测(例如,帧间预测(inter-frame prediction)或帧间预测(inter-prediction))、层间预测(跨视频数据的不同层)和/或其它预测技术来减少或移除视频序列中固有的冗余。视频编码器可将原始视频序列的每个图片分割成称为视频块或编解码单元的矩形区域。块可以包括编解码树块(CTB)、预测块、变换块和/或其他合适的块。除非另有说明,否则通常提及的“块”可指代这种视频块(例如,CTB、编解码块、预测块、变换块或其它合适的块或子块,如所属领域的技术人员将理解的)。此外,这些块中的每一个在本文中也可互换地称为“单元”(例如,编解码树单元(CTU)、编解码单元、预测单元(PU)、变换单元(TU)等)。在一些情况下,单元可以指示编码在比特流中的编解码逻辑单元,而块可以指示处理所针对的视频帧缓冲器的一部分。在一些标准中,编解码树块(CTB)构成CTU,并且被构造成携带视频数据的各个颜色分量。例如,CTU可包含用于CTU的亮度分量的第一CTB、用于CTU的色度-蓝色(Cb)分量的第二CTB、用于CTU的色度-红色(Cr)分量的第三CTB。
可使用特定预测模式对视频块进行编码。对于帧间预测模式,视频编码器可搜索与位于另一时间位置的帧(或图片)(被称为参考帧或参考图片)中正在编码的块类似的块。视频编码器可将搜索限制到距待编码的块的某一空间位移。可以使用包括水平位移分量和垂直位移分量的二维(2D)运动向量来定位最佳匹配。对于帧内预测模式,视频编码器可基于来自同一图片内先前编码的相邻块的数据,使用空间预测技术来形成预测块。
视频编码器可确定预测误差。例如,预测误差可以被确定为正被编码的块和预测的块中的像素值之间的差异。预测误差也可以称为残差。视频编码器还可使用变换编解码(例如,使用离散余弦变换(DCT)的形式、离散正弦变换(DST)的形式或其它合适的变换)将变换应用于预测误差以生产变换系数。在变换之后,视频编码器可量化变换系数。量化的变换系数和运动向量可以使用语法元素来表示,并且与控制信息一起形成视频序列的编解码的表示。在一些示例中,视频编码器可对语法元素进行熵编码(code),从而进一步减少其表示所需的比特数。
视频解码器可使用上文讨论的语法元素和控制信息来构建用于解码当前帧的预测数据(例如,预测块)。例如,视频解码器可以将预测块和压缩的预测误差相加。视频解码器可通过使用量化系数对变换基函数进行加权来确定压缩的预测误差。重建帧和原始帧之间的差异称为重建误差。
在某些情况下,可以将一个或多个自适应环路滤波器(ALF)单独应用于视频数据中的颜色分量,以改进输出视频的质量。例如,在已经使用帧间预测或帧内预测重建图片或块之后,可以将ALF应用于图片或图片的块。在某些情况下,ALF滤波可以用于校正或修复在图片或块的重建期间引入的伪像(artifact)。
在一些视频格式中,与其他颜色分量相比,某些颜色分量包括附加数据。例如,具有4:2:0格式的视频数据包括比相关联的色度数据具有更高分辨率的亮度数据。在这种视频格式中,ALF滤波仅可应用于较高分辨率的亮度数据。然而,在其他格式中,诸如红绿蓝(RGB)数据和4:4:4格式数据(其中所有颜色分量具有相同的采样率),不同的颜色分量具有相似的特性。一些视频编解码标准(例如,EVC标准)被结构化,使得ALF滤波被应用于亮度分量,而非亮度分量(例如,色度分量)不接收ALF滤波。在这种情况下,可以通过将ALF应用于多于一个颜色分量来提高输出性能(例如,除了能够将ALF滤波应用于亮度分量之外,还将ALF滤波应用于一个或多个色度分量)。本文描述的各方面为其中多个颜色分量的ALF滤波导致输出图像的改善的格式提供了附加的灵活性和有效的信令。
例如,本文描述的各方面可以包括将ALF滤波应用于视频比特流的多个颜色分量以提高性能。在一个示例中,RGB格式视频比特流可以包括被划分成包括多个CTB的切片的图片。每个切片可以包括用于红色分量、绿色分量和蓝色分量的单独CTB。在另一个示例中,包括亮度和色度分量的视频比特流(例如,以亮度(Y)-色度蓝(Cb)-色度红(Cr)格式,称为YCbCr格式)可以包括被划分成切片的图片。每个切片可以包括用于亮度分量的CTB和用于两个色度分量的CTB(例如,用于Cb分量的CTB和用于Cr分量的CTB)。虽然一些视频编解码标准强调单一颜色分量(例如,亮度CTB)的ALF滤波,但本文中所描述的示例提供基于切片报头(header)的信令以灵活地允许视频数据的附加颜色分量的ALF滤波(例如,除了亮度CTB之外,色度CTB中的任一者或两者的ALF滤波)。
在一些示例中,ALF色度滤波器信号标志(例如,在alf_data语法结构中)被添加到视频比特流中的ALF数据(例如,在参数集中,在诸如切片报头的报头数据中,等等)。在一个说明性示例中,ALF色度滤波器信号标志可以包括alf_data语法结构中的alf_chroma_filter_signal_flag语法元素。与ALF亮度滤波器信号标志一起操作的ALF色度滤波器信号标志可以指示色度滤波器数据被发信号通知,或不被发信号通知。在一些情况下,ALF色度滤波器信号标志可与切片ALF色度识别符(例如,作为slice_alf_chroma_idc语法元素发信号通知)一起使用,所述切片ALF色度识别符在切片报头中而不是在ALF数据中(例如,而不是在alf_data语法结构中)发信号通知以指示附加颜色分量(例如,非亮度分量,诸如色度分量)的ALF滤波。例如,ALF色度滤波器信号标志(例如,alf_data语法结构中的alf_chroma_filter_signal_flag语法元素)可指示ALF可用于一个或多个色度分量,且切片ALF色度识别符(例如,切片报头中的slice_alf_chroma_idc)可具有各自指示不同ALF色度选项的值(例如,从0到3的值)。在一个示例中,第一值可以指示ALF滤波将被应用于第一色度分量,第二值可以指示ALF滤波将被应用于第二色度分量,第三值可以指示ALF滤波将被应用于第一色度分量和第二色度分量两者,以及第四值可以指示ALF滤波将不被应用于第一色度分量或第二色度分量。
本文描述的技术可以应用于任何现有的视频编解码器(例如,高效视频编解码(HEVC)、高级视频编解码(AVC)或其他合适的现有视频编解码器)、MPEG5高效视频编解码(EVC)(例如,在ETM5.0中实施)、通用视频编解码(VVC)、联合探索模型(JEM)、VP9、AV1),和/或可以是用于正在开发的任何视频编解码标准和/或未来视频编解码标准的有效编解码工具。
图1A是示出包括编码设备104和解码设备112的系统100的示例的框图。编码设备104可以是源设备的一部分,并且解码设备112可以是接收设备(也称为客户端设备)的一部分。源设备和/或接收设备可以包括电子设备,诸如移动或固定电话手机(例如,智能电话、蜂窝电话等)、台式计算机、膝上型或笔记本计算机、平板计算机、机顶盒、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、互联网协议(IP)相机、包括一个或多个服务器设备的服务器系统(例如,视频流服务器系统或其他合适的服务器系统)中的服务器设备、头戴式显示器(HMD)、平视显示器(HUD)、智能眼镜(例如,虚拟现实(VR)眼镜、增强现实(AR)眼镜或其他智能眼镜)或任何其他合适的电子设备。
系统100的组件可以包括和/或可以使用电子电路或其他电子硬件来实施,电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)和/或其他合适的电子电路),和/或可以包括和/或使用计算机软件、固件或其任意组合来实施,以执行这里描述的各种操作。
尽管系统100被示为包括某些组件,但是本领域普通技术人员将会理解,系统100可以包括比图1A中所示更多或更少的组件。例如,在一些情况下,系统100还可以包括除了存储装置108和存储装置118之外的一个或多个存储器设备(例如,一个或多个随机存取存储器(RAM)组件、只读存储器(ROM)组件、高速缓存存储器组件、缓冲器组件、数据库组件和/或其他存储器设备),与一个或多个存储器设备通信和/或电连接到一个或多个存储器设备的一个或多个处理设备(例如,一个或多个CPU、GPU和/或其他处理设备),用于执行无线通信的一个或多个无线接口(例如,包括一个或多个收发器和用于每个无线接口的基带处理器),用于通过一个或多个硬连线连接执行通信的一个或多个有线接口(例如,诸如通用串行总线(USB)输入的串行接口、照明连接器和/或其他有线接口),和/或图1A中未示出的其他组件。
本文描述的编解码技术可适用于各种多媒体应用中的视频编解码,包括流式视频传输(例如,通过因特网)、电视广播或传输、用于存储在数据存储介质上的数字视频的编码、存储在数据存储介质上的数字视频的解码或其它应用。在一些示例中,系统100可以支持单向或双向视频传输,以支持诸如视频会议、视频流、视频回放、视频广播、游戏和/或视频电话的应用。
编码设备104(或编码器)可以用于使用视频编解码标准或协议来编码视频数据,以生成编码的视频比特流。视频编解码标准的示例包括ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包括其可伸缩视频编解码(SVC)和多视图视频编解码(MVC)扩展,以及高效率视频编解码(HEVC)或ITU-T H.265。对HEVC处理多层视频编解码的各种扩展存在,包括范围和屏幕内容编解码扩展、3D视频编解码(3D-HEVC)和多视图扩展(MV-HEVC)以及可伸缩扩展(SHVC)。HEVC及其扩展由ITU-T视频编解码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的视频编解码联合协作小组(JCT-VC)以及3D视频编解码扩展开发联合协作小组(JCT-3V)开发。
MPEG和ITU-T VCEG还形成了联合探索视频小组(JVET),以探索和开发用于下一代视频编解码标准的新的视频编解码工具,称为通用视频编解码(VVC)。参考软件被称为VVC测试模型(VTM)。VVC的目标是在现有的HEVC标准上提供压缩性能的显著改进,帮助部署更高质量的视频服务和新兴应用(例如,诸如360°全方位沉浸式多媒体、高动态范围(HDR)视频等)。VP9和开放媒体联盟(AOMedia)视频1(AV1)是可应用本文所描述的技术的其他视频编解码标准。
本文描述的许多实施例可以使用诸如MPEG5 EVC、VVC、HEVC、AVC和/或其扩展的视频编解码器来执行。然而,本文描述的技术和系统也可适用于其他视频编解码标准,诸如MPEG4或其他MPEG标准、联合图片专家组(JPEG)(或其他静止图片编解码标准)、VP9、AV1、其扩展、或其他已经可用或尚未可用或开发的合适的编解码标准。因此,尽管本文描述的技术和系统可以参考特定的视频编解码标准来描述,但是本领域普通技术人员将会理解,该描述不应被解释为仅应用于该特定标准。
参考图1A,视频源102可以向编码设备104提供视频数据。视频源102可以是源设备的一部分,或者可以是除源设备之外的设备的一部分。视频源102可以包括视频捕获设备(例如,摄像机、拍照手机、视频手机等)、包含存储的视频的视频档案(archive)、提供视频数据的视频服务器或内容提供者、从视频服务器或内容提供者接收视频的视频馈送接口、用于生成计算机图形视频数据的计算机图形系统、这些源的组合或任何其他合适的视频源。
来自视频源102的视频数据可以包括一个或多个输入图片。图片也可以被称为“帧”。图片或帧为静止图像,在某些情况下,其是视频的一部分。在一些示例中,来自视频源102的数据可以为不是视频的一部分的静止图像。在一些视频编解码规范中,视频序列可以包括一系列图片。图片可以包括三个样本数组,表示为SL、SCb和SCr。SL是亮度样本的二维数组,SCb是Cb色度样本的二维数组,以及SCr是Cr色度样本的二维数组。色度(Chrominance)样本在本文也可以被称为“色度(chroma)”样本。在其他情况下,图片可以是单色的,并且可以仅包括亮度样本的数组。像素可以指包括亮度和色度样本的、图片中的点。例如,给定像素可包含来自SL数组的亮度样本、来自SCb数组的Cb色度样本值和来自SCr数组的Cr色度样本值。
编码设备104的编码器引擎106(或编码器)对视频数据进行编码,以生成编码的视频比特流。在一些示例中,编码的视频比特流(或“视频比特流”或“比特流”)是一系列一个或多个编码视频序列。编码视频序列(CVS)包括一系列访问单元(AU),这些访问单元从在基本层中具有随机访问点图片并且具有某些属性的AU开始,直到并且不包括在基本层中具有随机访问点图片并且具有某些属性的下一个AU。例如,启动CVS的随机访问点图片的某些属性可以包括等于1的、随机访问跳过前导(RASL)图片标志(例如,NoRaslOutputFlag)。否则,随机访问点图片(RASL标志等于0)不会启动CVS。访问单元(AU)包括一个或多个编码图片和对应于共享相同输出时间的编码图片的控制信息。图片的编码切片在比特流级别被封装成称为网络抽象层(NAL)单元的数据单元。例如,在一些视频标准中,视频比特流可以包括包含NAL单元的一个或多个CVS。NAL单元中的每一个具有一个NAL单元报头。在一个示例中,对于H.264/AVC,报头是一个字节(多层扩展除外),并且对于HEVC,报头是两个字节。NAL单元报头中的语法元素采用指定的比特,因此对于所有类型的系统和传输层(诸如传输流、实时传输(RTP)协议、文件格式等)是可见的。
在一些视频标准中存在两类NAL单元,包括视频编码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元包括形成编码视频比特流的编码图片数据。例如,形成编码视频比特流的比特序列以VCL NAL单元存在。VCL NAL单元可以包括编码图片数据的一个切片或切片段(下面描述),并且非VCL NAL单元包括与一个或多个编码图片相关的控制信息。在某些情况下,NAL单元可以被称为分组。HEVC AU包括包含编码图片数据的VCL NAL单元和对应于编码图片数据的非VCL NAL单元(如果有的话)。除了其他信息之外,非VCL NAL单元可以包含具有与编码视频比特流相关的高级信息的参数集。例如,参数集可以包括视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。在一些情况下,比特流的每个切片或其他部分可以引用单个活动PPS、SPS和/或VPS,以允许解码设备112访问可用于对比特流的切片或其他部分进行解码的信息。
NAL单元可包含形成视频数据的编码表示(例如,编码视频比特流、比特流的CVS等)的比特序列,诸如视频中图片的编码表示。在一些情况下,编码器引擎106可以通过将每个图片分割成多个切片来生成图片的编码表示。切片独立于其他切片,使得该切片中的信息被编码,而不依赖于来自同一图片内的其他切片的数据。切片包括一个或多个切片段,该一个或多个切片段包括独立切片段和依赖于先前切片段的一个或多个从属切片段(如果存在的话)。
在一些示例中,编码器引擎106可以将每个图片分割成子图片、切片和图块,诸如在VVC标准中描述的。图1B是来自VVC标准的图,示出了图片121划分的切片和图块的示例。如图所示,图片121被划分成一个或多个图块行和一个或多个图块列。图块可以被定义为覆盖图片的矩形区域的一系列CTU。在某些情况下,图块中的CTU在该图块中以光栅扫描顺序被扫描。切片可以包括整数个完整的图块或者图片的图块内的整数个连续的完整的CTU行。例如,每个垂直切片边界也可以是垂直图块边界。如下所述,每个CTU可以包括多个编解码树块(CTB)。子图片可以包括共同覆盖图片的矩形区域的一个或多个切片。例如,每个子图片边界也可以是切片边界,并且每个垂直子图片边界也可以是垂直图块边界。在某些情况下,子图片中的所有CTU属于同一图块。在某些情况下,图块中的所有CTU属于同一个子图片。
在某些视频标准中,切片被分割为亮度样本和色度样本的CTB。亮度样本的CTB和色度样本的一个或多个CTB以及样本的语法被称为编解码树单元(CTU)。如本文所述,视频数据可以被结构化为不同颜色分量的CTB。不同颜色分量的ALF滤波可以应用于每个颜色分量的CTB。CTU也可以被称为“树块”或“最大编解码单元”(LCU)。在某些标准中,CTU是编码的基本处理单位。CTU可以被分成多个不同大小的编解码单元(CU)。CU包含称为编解码块(CB)的亮度和色度样本数组。
亮度和色度CB可以进一步分成预测块(PB)。PB是亮度分量或色度分量的样本块,其使用相同的运动参数进行帧间预测或帧内块拷贝预测(当可用或启用以供使用时)。亮度PB和一个或多个色度PB连同相关联的语法一起形成预测单元(PU)。对于帧间预测,在每个PU的比特流中发信号通知运动参数集(例如,一个或多个运动向量、参考索引等),并将其用于亮度PB和一个或多个色度PB的帧间预测。运动参数也可以被称为运动信息。CB也可以被分割成一个或多个变换块(TB)。TB表示颜色分量样本的方形块,在该方形块上应用残差变换(例如,在一些情况下是相同的二维变换)来对预测残差信号进行编解码。变换单元(TU)表示亮度和色度样本的TB以及对应的语法元素。下面将更详细地描述变换编解码。
CU的大小对应于编解码模式的大小,并且形状可以是方形。例如,CU的大小可为8×8个样本、16×16个样本、32×32个样本、64×64个样本,或达到对应CTU的大小的任何其它适当大小。短语“N×N”在本文中用来指视频块在垂直和水平维度方面的像素维度(例如,8像素×8像素)。块中的像素可以按行和列排列。在一些实施例中,块在水平方向上可能不具有与在垂直方向上相同数量的像素。与CU相关联的语法数据可以描述例如将CU分割成一个或多个PU。分割模式在CU是帧内预测模式编码还是帧间预测模式编码之间可能不同。PU可以被分割成非方形形状。与CU相关联的语法数据也可描述(例如)根据CTU将CU分割成一个或多个TU。TU的形状可以是方形或非方形。
根据一些视频编解码标准,可使用变换单元(TU)来执行变换。对于不同CU,TU可能不同。可基于给定CU内的PU的大小来确定TU的大小。TU可以与PU一样大,或者可能比PU小。在一些示例中,可使用称为残差四叉树(RQT)的四叉树结构将与CU相对应的残差样本细分成较小的单元。RQT的叶节点可以对应于TU。可变换与TU相关联的像素差异值以产生变换系数。变换系数可以由编码器引擎106量化。
一旦视频数据的图片被分割成CU,编码器引擎106就使用预测模式来预测每个PU。从原始视频数据中减去预测单元或预测块以获得残差(如下所述)。对于每一个CU,可使用语法数据在比特流内发信号通知预测模式。预测模式可包括帧内预测(或图片内预测)或帧间预测(或图片间预测)。帧内预测利用图片内空间相邻样本之间的相关性。例如,使用帧内预测,每个PU是例如使用DC预测以找到PU的平均值、使用平面预测以将平面表面拟合到PU、使用方向预测以从相邻数据外推、或使用任何其他合适类型的预测,从同一图片中的相邻图像数据预测的。帧间预测使用图片之间的时间相关性,以便推导出图像样本的块的运动补偿预测。例如,使用帧间预测,每个PU是使用运动补偿预测从一个或多个参考图片(按照输出顺序在当前图片之前或之后)中的图像数据来预测。例如,可以在CU级做出是使用图片间预测还是图片内预测来对图片区域进行编解码的决定。
编码器引擎106和解码器引擎116(下面更详细地描述)可以被配置为根据给定的视频编解码标准(例如,EVC)来操作。根据一些视频编解码标准,视频编解码器(诸如编码器引擎106和/或解码器引擎116)将图片分割成多个编码树单元(CTU)(其中亮度样本的CTB和色度样本的一个或多个CTB以及样本的语法被称为CTU)。视频编解码器可根据树结构(诸如,四叉树-二叉树(QTBT)结构或多类型树(MTT)结构)来分割CTU。QTBT结构去除了多个分割类型的概念,诸如一些标准的CU、PU和TU之间的分隔。QTBT结构包括两级,包括根据四叉树分割进行分割的第一级和根据二叉树分割进行分割的第二级。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于编解码单元(CU)。
在MTT分割结构中,可以使用四叉树分割、二叉树分割和一种或多种三叉树分割来对块进行分割。三叉树分割是将一个块分成三个子块的分割。在一些示例中,三叉树分割将块划分为三个子块,而不通过中心划分原始块。MTT中的分割类型(例如,四叉树、二叉树和三叉树)可以是对称的或不对称的。
在一些示例中,视频编解码器可使用单个QTBT或MTT结构来表示亮度和色度分量中的每一个,而在其它示例中,视频编解码器可使用两个或更多个QTBT或MTT结构,诸如一个QTBT或MTT结构用于亮度分量,另一个QTBT或MTT结构用于两个色度分量(或两个QTBT和/或MTT结构用于相应色度分量)。
视频编解码器可被配置为使用按照某些标准的四叉树分割、QTBT分割、MTT分割或其它分割结构。出于说明的目的,本文的描述可能涉及QTBT分割。然而,应该理解,本公开的技术也可应用于被配置为使用四叉树分割或其它类型的分割的视频编解码器。
在一些示例中,图片的一个或多个切片被指派切片类型。切片类型包括帧内编码切片(I切片)、帧间编码P切片和帧间编码B切片。I切片(帧内编码帧,可独立解码的)是仅通过帧内预测编码的图片的切片,因此是可独立解码的,因为I切片仅需要帧内的数据来预测切片的任何预测单元或预测块。P切片(单向预测帧)是可以用帧内预测和单向帧间预测编码的图片的切片。P切片内的每个预测单元或预测块用帧内预测或帧间预测来编码。当应用帧间预测时,预测单元或预测块仅由一个参考图片预测,因此参考样本仅来自一帧的一个参考区域。B切片(双向预测帧)是可以用帧内预测和帧间预测(例如,双向预测或单向预测)编码的图片的切片。B切片的预测单元或预测块可从两个参考图片双向预测,其中每个图片贡献一个参考区域,并且两个参考区域的样本集(例如,用相等的权重或不同的权重)被加权以产生双向预测块的预测信号。如上所述,一个图片的切片被独立编码。在某些情况下,图片可以被编码为仅仅一个切片。
如上所述,图片内预测利用了图片内空间相邻样本之间的相关性。存在多种帧内预测模式(也称为“帧内模式”)。在一些示例中,亮度块的帧内预测包括35种模式,包括平面模式、DC模式和33种角度模式(例如,对角帧内预测模式和与对角帧内预测模式邻近的角度模式)。帧内预测的35种模式被索引,如下表1所示。在其他示例中,可以定义更多的帧内模式,包括可能尚未由33个角度模式表示的预测角度。在其他示例中,与角模式相关联的预测角度可以不同于一些标准中使用的预测角度。
帧内预测模式 相关联的名称
0 INTRA_PLANAR
1 INTRA_DC
2..34 INTRA_ANGULAR2..INTRA_ANGULAR34
表1帧内预测模式和相关联的名称的规范
图片间预测使用图片之间的时间相关性,以便推导出图片样本的块的运动补偿预测。使用平移运动模型,先前解码的图片(参考图片)中的块的位置由运动向量(Δx,Δy)来指示,Δx指定参考块相对于当前块的位置的水平位移和Δy指定参考块相对于当前块的位置的垂直位移。在一些情况下,运动向量(Δx,Δy)可以是整数采样精度(也称为整数精度),在这种情况下,运动向量指向参考帧的整数像素网格(或整数像素采样网格)。在某些情况下,运动向量(Δx,Δy)可以具有分数采样精度(也称为分数像素精度或非整数精度),以更准确地捕获底层对象的运动,而不限于参考帧的整数像素网格。运动向量的精度可以由运动向量的量化级别来表示。例如,量化级别可以是整数精度(例如,1像素)或分数像素精度(例如,1/4像素、1/2像素或其他子像素值)。当对应的运动向量具有分数采样精度时,对参考图片应用内插以推导出预测信号。例如,可以对整数位置处可用的样本进行滤波(例如,使用一个或多个插值滤波器)以估计分数位置处的值。先前解码的参考图片由对参考图片列表的参考索引(refIdx)指示。运动向量和参考索引可以被称为运动参数。可以执行两种图片间预测,包括单向预测和双向预测。
对于使用双向预测的帧间预测,使用两个运动参数集(Δx0,Δy0,refIdx0和Δx1,Δy1,refIdx1)来生成两个运动补偿预测(来自相同的参考图片或者可能来自不同的参考图片)。例如,对于双向预测,每个预测块使用两个运动补偿预测信号,并生成B个预测单元。这两个运动补偿预测被组合以得到最终的运动补偿预测。例如,两个运动补偿预测可以通过平均来组合。在另一个示例中,可以使用加权预测,在这种情况下,可以对每个运动补偿预测应用不同的权重。可用于双向预测的参考图片存储在两个单独的列表(表示为列表0和列表1)中。可以在编码器处使用运动估计过程来推导出运动参数。
对于使用单向预测的帧间预测,一个运动参数集(Δx0,Δy0,refIdx0)用于从参考图片生成运动补偿预测。例如,对于单向预测,每个预测块最多使用一个运动补偿预测信号,并且生成P个预测单元。
PU可以包括与预测过程相关的数据(例如,运动参数或其他合适的数据)。例如,当使用帧内预测对PU进行编码时,PU可以包括描述PU的帧内预测模式的数据。作为另一示例,当使用帧间预测对PU进行编码时,PU可包括定义PU的运动向量的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量(Δx)、运动向量的垂直分量(Δy)、运动向量的分辨率(例如,整数精度、四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片、参考索引、运动向量的参考图片列表(例如,列表0、列表1或列表C)或其任何组合。
在使用帧内和/或帧间预测执行预测之后,编码设备104可以执行变换和量化。例如,在预测之后,编码器引擎106可以计算对应于PU的残差值。残差值可包括正被编码的当前像素块(PU)和用于预测当前块的预测块(例如,当前块的预测版本)之间的像素差值。例如,在生成预测块(例如,使用帧间预测或帧内预测)之后,编码器引擎106可通过从当前块中减去由预测单元产生的预测块来产生残差块。残差块包括量化当前块的像素值和预测块的像素值之间的差的像素差值集。在一些示例中,残差块可以二维块格式(例如,像素值的二维矩阵或数组)来表示。在这样的示例中,残差块是像素值的二维表示。
使用块变换来变换在执行预测之后可能剩余的任何残差数据,该块变换可以基于离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换、其他合适的变换函数或其任意组合。在一些情况下,可将一个或多个块变换(例如,大小为32×32、16×16、8×8、4×4或其它合适大小的核心)应用于每一个CU中的残差数据。在一些示例中,TU可以用于由编码器引擎106实现的变换和量化过程。具有一个或多个PU的给定CU也可以包括一个或多个TU。如下文进一步详细描述,可使用块变换将残差值变换成变换系数,且可使用TU来量化和扫描残差值以产生用于熵编解码的串行化变换系数。
在一些实施例中,在使用CU的PU进行帧内预测或帧间预测编码之后,编码器引擎106可计算CU的TU的残差数据。PU可以包括空间域(或像素域)中的像素数据。如前所述,残差数据可对应于未编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可形成包含CU(其包含PU)的残差数据的一个或多个TU,且可变换TU以产生CU的变换系数。TU可以包括在应用块变换之后的变换域中的系数。
编码器引擎106可以执行变换系数的量化。量化通过量化变换系数来提供进一步的压缩,以减少用于表示系数的数据量。例如,量化可减少与一些或所有系数相关联的比特深度。在一个示例中,在量化期间,具有n比特值的系数可以被向下舍入到m比特值,其中n大于m。
一旦执行量化,编码的视频比特流包括量化的变换系数、预测信息(例如,预测模式、运动向量、块向量等)、分割信息和任何其它合适的数据,诸如其它语法数据。编码视频比特流的不同元素可以由编码器引擎106进行熵编码。在一些示例中,编码器引擎106可利用预定义的扫描次序来扫描量化的变换系数,以产生可被熵编码的串行化向量。在一些示例中,编码器引擎106可以执行自适应扫描。在扫描量化的变换系数以形成向量(例如,一维向量)之后,编码器引擎106可对向量进行熵编码。例如,编码器引擎106可以使用上下文自适应可变长度编解码、上下文自适应二进制算术编解码、基于语法的上下文自适应二进制算术编解码、概率区间分割熵编解码或另一种合适的熵编码技术。
编码设备104的输出110可以通过通信链路120将组成编码的视频比特流数据的NAL单元发送到接收设备的解码设备112。解码设备112的输入114可以接收NAL单元。通信链路120可以包括由无线网络、有线网络或有线和无线网络的组合提供的信道。无线网络可以包括任何无线接口或无线接口的组合,并且可以包括任何合适的无线网络(例如,互联网或其他广域网、基于分组的网络、WiFiTM、射频(RF)、超宽带(UWB)、WiFi-Direct、蜂窝、长期演进(LTE)、WiMaxTM等)。有线网络可以包括任何有线接口(例如,光纤、以太网、电力线以太网、同轴电缆以太网、数字信号线(DSL)等)。有线和/或无线网络可以使用各种设备(诸如基站、路由器、接入点、网桥、网关、交换机等)来实施。可以根据诸如无线通信协议的通信标准来调制编码的视频比特流数据,并将其发送到接收设备。
在一些示例中,编码设备104可以将编码的视频比特流数据存储在存储装置108中。输出110可以从编码器引擎106或者从存储装置108中检索编码的视频比特流数据。存储装置108可以包括各种分布式或本地访问的数据存储介质中的任何一种。例如,存储装置108可以包括硬盘驱动器、存储盘、闪存、易失性或非易失性存储器或者用于存储编码的视频数据的任何其他合适的数字存储介质。存储装置108还可以包括解码的图片缓冲器(DPB),用于存储在帧间预测中使用的参考图片。在另一示例中,存储装置108可以对应于文件服务器或可以存储由源设备生成的编码视频的另一中间存储设备。在这种情况下,包括解码设备112的接收设备可以经由流式传输或下载从存储设备访问存储的视频数据。文件服务器可以是能够存储编码的视频数据并将该编码视频数据发送到接收设备的任何类型的服务器。示例文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)设备或本地磁盘驱动器。接收设备可以通过包括互联网连接的任何标准数据连接来访问编码视频数据。这可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或者适于访问存储在文件服务器上的编码的视频数据的两者的组合。来自存储装置108的编码的视频数据的传输可以是流式传输、下载传输或其组合。
解码设备112的输入114接收编码的视频比特流数据,并且可以将视频比特流数据提供给解码器引擎116,或者提供给存储装置118以供解码器引擎116稍后使用。例如,存储装置118可以包括用于存储帧间预测中使用的参考图片的DPB。包括解码设备112的接收设备可以经由存储装置108接收要解码的编码的视频数据。可以根据诸如无线通信协议的通信标准来调制编码视频数据,并将其发送到接收设备。用于发送编码的视频数据的通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的部分,诸如局域网、广域网或诸如因特网的全球网络。通信介质可包括路由器、交换机、基站或可用于促进从源设备到接收设备的通信的任何其他设备。
解码器引擎116可通过熵解码(例如,使用熵解码器)并提取组成编码的视频数据的一个或多个编码的视频序列的元素来对编码的视频比特流数据进行解码。解码器引擎116可以对编码的视频比特流数据进行重新缩放和执行逆变换。残差数据被传递到解码器引擎116的预测级。解码器引擎116预测像素的块(例如PU)。在一些示例中,预测被添加到逆变换的输出(残差数据)。
视频解码设备112可将解码的视频输出到视频目的地设备119,视频目的地设备119可包括用于向内容的消费者显示解码的视频数据的显示器或其它输出设备。在一些方面,视频目的地设备119可以是包括解码设备112的接收设备的部分。在一些方面,视频目的地设备119可以是除接收设备之外的单独设备的部分。
在一些实施例中,视频编码设备104和/或视频解码设备112可以分别与音频编码设备和音频解码设备集成。视频编码设备104和/或视频解码设备112还可以包括实施上述编解码技术所必需的其他硬件或软件,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任意组合。视频编码设备104和视频解码设备112可以集成为相应设备中的组合编码器/解码器(编解码器)的一部分。
图1A所示的示例系统是可以在本文使用的一个说明性示例。使用本文描述的技术来处理视频数据的技术可以由任何数字视频编码和/或解码设备来执行。虽然通常由视频编码设备或视频解码设备来执行本公开的技术,但该技术也可由组合的视频编码器-解码器(通常称为“编解码器(CODEC)”)来执行。此外,本公开的技术也可以由视频预处理器来执行。源设备和接收设备仅仅是这种编解码设备的示例,其中源设备生成编解码视频数据以传输到接收设备。在一些示例中,源设备和接收设备可以以基本对称的方式操作,使得每个设备包括视频编码和解码组件。因此,示例系统可以支持视频设备之间的单向或双向视频传输,例如,用于视频流送、视频回放、视频广播或视频电话。
如前所述,一些视频编解码标准定义了包括一组NAL单元(包括VCL NAL单元和非VCL NAL单元)的比特流。VCL NAL单元包括形成编解码视频比特流的编解码图片数据。例如,形成编解码视频比特流的比特序列以VCL NAL单元存在。除了其他信息之外,非VCL NAL单元可以包含具有与编码视频比特流相关的高级信息的参数集。例如,参数集可以包括视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。参数集的目标的示例包括比特率效率、错误弹性和提供系统层接口。每个切片引用单个活动PPS、SPS和VPS来访问解码设备112可用于解码该切片的信息。可以针对每个参数集编解码标识符(ID),包括VPS ID、SPS ID和PPS ID。SPS包括SPS ID和VPS ID。PPS包括PPS ID和SPS ID。每个切片报头包括PPS ID。使用ID,可以标识用于给定切片的活动参数集。
PPS包括应用于给定图片中所有切片的信息。正因为如此,一个图片中的所有切片都引用同一个PPS。不同图片中的切片也可能指相同的PPS。SPS包括应用于同一编解码视频序列(CVS)或比特流中的所有图片的信息。如前所述,编解码视频序列是一系列访问单元(AU),其从基层中的随机访问点图片(例如,瞬时解码参考(IDR)图片或断开链接访问(BLA)图片,或其他适当的随机访问点图片)开始并且具有某些属性(如上所述),直到并且不包括在基层中具有随机访问点图片并且具有某些属性的下一个AU(或比特流的结尾)。SPS中的信息可能不会在编解码视频序列中逐个图片地改变。编解码视频序列中的图片可以使用相同的SPS。VPS包括应用于编解码视频序列或比特流中所有层的信息。VPS包括具有应用于整个编解码视频序列的语法元素的语法结构。在一些实施例中,VPS、SPS或PPS可以与编码比特流一起在带内发送。在一些实施例中,VPS、SPS或PPS可以在与包含编解码视频数据的NAL单元分开的传输中被带外发送。
各种色度格式可用于视频。色度格式语法元素可用于指定色度采样。例如,语法元素chroma_format_idc指定相对于亮度采样的色度采样,例如在VVC和/或EVC标准中。在某些情况下,chroma_format_idc的值应在0到2的范围(包含0和2)内。
取决于chroma_format_idc的值,变量SubWidthC和SubHeightC的值按照VVC第6.2条的规定进行赋值,而变量ChromaArrayType被赋值。例如,变量SubWidthC和SubHeightC的值可以赋值如下:
Figure BDA0003887306170000231
表2从chroma_format_idc和separate_colour_plane_flag推导出的SubWidthC和SubHeightC值
在一些示例中,变量ChromaArrayType被赋值如下:
如果chroma_format_idc等于0,则ChromaArrayType设置为等于0。
否则,ChromaArrayType设置为等于chroma_format_idc。
变量SubWidthC和SubHeightC在下面的表1中指定,取决于通过chroma_format_idc指定的色度格式采样结构。ISO/IEC将来可能会指定chroma_format_idc、SubWidthC和SubHeightC的其他值。
chroma_format_idc 色度格式 SubWidthC SubHeightC
0 单色 1 1
1 4:2:0 2 2
2 4:2:2 2 1
3 4:4:4 1 1
表1从chroma_format_idc推导出的SubWidthC和SubHeightC值
在单色采样中,只有一个样本数组,其名义上被认为是亮度数组。在4:2:0采样中,两个色度数组(例如,用于Cb和Cr)中的每一个都具有亮度数组的一半高度和一半宽度。在4:2:2采样中,两个色度数组中的每一个都具有亮度数组的相同的高度和一半宽度。在4:4:4采样中,两个色度数组中的每一个都与亮度数组具有相同的高度和宽度。
在视频编解码领域,可以应用滤波以提高解码或重建的视频信号的质量。在某些情况下,滤波器可以应用为后置滤波器,其中滤波后的帧不用于未来帧的预测。在某些情况下,滤波器可以应用为环路内滤波器,其中滤波后的帧用于预测一个或多个未来帧。例如,环路内滤波器可以在对图片执行重建之后(例如,在将残差添加到预测之后)并且在图片被输出之前和/或在图片被存储在图片缓冲器(例如,解码图片缓冲器)之前对图片进行滤波。例如,可以通过最小化原始信号和解码的经滤波信号之间的误差来设计滤波器。滤波器的示例包括去块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。
图1C示出了滤波器单元122的示例实施方式,该滤波器单元122可以用于根据本文的示例使用ALF滤波来处理视频图片或块。在一些情况下,滤波器单元122可以实现为图7的滤波器单元63和/或图8的滤波器单元91。例如,滤波器单元63和91可在一些情况下结合视频编码设备104或视频解码设备112的其它组件来执行本公开的技术。在一些示例中,滤波器单元63和91可以是后处理单元,其可在(例如)视频编码设备104和视频解码设备112外部(例如,在解码的视频从视频解码设备112输出之后)执行本公开的技术。
在图1C的示例中,滤波器单元122包括去块滤波器124、样本自适应偏移(SAO)滤波器126和自适应环路滤波器(ALF)/基于几何变换的自适应环路滤波器(GALF)滤波器128。SAO滤波器126可以例如被配置为确定块的样本的偏移值。去块滤波器124可以用于补偿编解码过程中块结构单元的使用。ALF滤波器128可用于通过使用自适应滤波器来最小化原始样本和解码样本之间的误差(例如,均方误差),该自适应滤波器可以是基于维纳的(Wiener-based)自适应滤波器或其他合适的自适应滤波器。ALF滤波器128可以被配置为例如基于用于滤波当前块的颜色分量的发信号通知的参数(signaled parameters)来确定用于滤波当前块的参数。如本文中进一步描述的,发信号通知的参数可以基于采样格式,这可以通过为一些视频信号(例如,RGB或4:4:4格式亮度-色度-色度格式视频数据)中的多个颜色分量提供ALF滤波来改善设备性能。
在一些示例中,在去块滤波器124之后,可以应用ALF 128(例如,具有基于块的滤波器适配)。在一些情况下,对于块的亮度分量,可以基于诸如梯度和方向性的局部统计估计,通过针对每个块(例如,针对每个4×4块或其他大小的块)的分类过程来选择25个滤波器中的一个。为了受益于滤波器的对称特性,所利用的ALF可以采用滤波器系数变换过程。下面提供了关于ALF设计的更多细节。下文将关于图7和图8进一步一般地描述环路滤波器。
滤波器单元122可以包括比图1C中所示更少的滤波器和/或可以包括附加的滤波器和/或其他组件。此外,图1C所示的特定滤波器可以以不同的顺序实现。其他环路滤波器(在编解码环路中或者在编解码环路之后)也可以用于平滑像素过渡或者以其他方式改进视频质量。当在编解码循环中时,给定帧或图片中的解码的视频块可以存储在解码的图片缓冲器(DPB)中。DPB存储用于后续运动补偿(例如,用于帧间预测)的参考图片。DPB可以是附加存储器的一部分或与其分离,该附加存储器存储解码的视频以供稍后在显示设备(诸如,图1A的视频目的地设备119的显示器)上呈现。
如上所述,当应用滤波时,颜色分量的不同样本格式会导致不同的性能结果。一些视频编解码标准强调亮度分量的ALF滤波(在这种情况下,ALF滤波不适用于非亮度分量,诸如色度分量),诸如由于具有4:2:0格式的视频数据的流行。然而,当将ALF滤波应用于多于一个的颜色分量(例如,RGB格式或亮度-色度格式(诸如YUV和YCbCr格式)中的两个或三个颜色分量)时,其他格式(诸如4:4:4格式数据RGB数据等)可受益于改进的图片质量。
可以使用各种滤波器形状。在一些实施方式中使用了两种菱形滤波器形状(如图2A和图2B所示)。在某些示例中,图2A中的5×5菱形和图2B中的7×7菱形可用于滤波亮度样本,并且图2A中的5×5菱形可用于色度样本。
在某些情况下,可以执行块分类。例如,对于像素的亮度分量(亮度样本),每个4×4块可以被分类为25类之一。分类索引C基于其方向性D和活动
Figure BDA0003887306170000261
的量化值而得出,如下:
Figure BDA0003887306170000262
在一些示例中,为了计算D和
Figure BDA0003887306170000263
首先使用1-D拉普拉斯算子计算水平、垂直和两个对角方向的梯度:
Figure BDA0003887306170000264
Figure BDA0003887306170000265
Figure BDA0003887306170000266
Figure BDA0003887306170000267
其中索引i和j是指4×4块内左上样本的坐标,并且R(i,j)指示坐标(i,j)处的重建样本。
为了降低块分类的复杂性,应用子采样1-D拉普拉斯计算。如图3A、图3B、图3C和示出子采样的拉普拉斯计算的图3D所示,相同的子采样位置用于所有方向的梯度计算,包括垂直梯度(图3A)、水平梯度(图3B)和对角线梯度(图3C和图3D)。
D水平和垂直方向的梯度的最大值和最小值被设置为:
Figure BDA0003887306170000268
两个对角方向的梯度的最大值和最小值被设置为:
Figure BDA0003887306170000269
为了推导出方向性D的值,将这些值相互比较,并与两个阈值t1和t2进行比较:
步骤1.如果
Figure BDA00038873061700002610
Figure BDA00038873061700002611
两者为真,则D设置为0。
步骤2.如果
Figure BDA0003887306170000271
从步骤3继续;否则,从步骤4继续。
步骤3.如果
Figure BDA0003887306170000272
则D设置为2;否则,D设置为1。
步骤4.如果
Figure BDA0003887306170000273
则D设置为4;否则,D设置为3。
活动值A计算如下:
Figure BDA0003887306170000274
其中,A值被进一步量化到0到4的范围(包含0和4),并且量化值被表示为
Figure BDA0003887306170000275
对于图片中的色度分量,不应用分类方法(例如,对每个色度分量应用单个ALF系数集。
在某些情况下,可以应用滤波器系数的几何变换。例如,在一些示例中,在对每个4×4亮度块进行滤波之前,取决于针对该块计算的梯度值,将诸如旋转或对角和垂直翻转的几何变换应用于滤波器系数f(k,l)。在某些情况下,这相当于将这些变换应用于滤波器支持区域中的样本。通过对齐它们的方向性,变换可以使应用ALF的不同块更加相似。
可以引入三种几何变换,包括对角、垂直翻转和旋转:
对角:fD(k,l)=f(l,k),
垂直翻转:fV(k,l)=f(k,K-l-1),
旋转:fR(k,l)=f(K-l-1,k),
其中,K是滤波器的大小,且0≤k,l≤K-1是系数坐标,使得位置(0,0)处于左上角,且位置(K-1,K-1)处于右下角。取决于为该块计算的梯度值,将变换应用于滤波器系数f(k,l)。下表总结了变换与四个方向的四个梯度之间的关系。
梯度值 变换
g<sub>d2</sub><g<sub>d1</sub>且g<sub>h</sub><g<sub>v</sub> 没有变换
g<sub>d2</sub>&lt;g<sub>d1</sub>且g<sub>v</sub><g<sub>h</sub> 对角
g<sub>d1</sub><g<sub>d2</sub>且g<sub>h</sub><g<sub>v</sub> 垂直翻转
g<sub>d1</sub>&lt;g<sub>d2</sub>且g<sub>v</sub><g<sub>h</sub> 旋转
表4针对一个块计算的梯度与变换的映射
在一些方面,自适应参数集(APS)可用于在比特流中,诸如在APS NAL单元中,发信号通知滤波器参数或滤波器数据(例如,滤波器系数和/或其他参数)。APS可具有相关联的类型,诸如ALF类型或亮度映射与色度缩放(LMCS)类型(例如,如VVC标准或其它视频编解码标准中所定义的)。APS可以包括亮度滤波器参数集、一个或多个色度滤波器参数集、或其组合。APS可用于各种视频编解码标准,诸如VVC、EVC等。在某些情况下,APS的信号可能被限制。例如,图块组(例如,一个或多个图块的组,诸如图1B中所示的那些)可以仅发信号通知用于该图块组的APS的索引(例如,在图块组报头中)。
在一些示例中,每个APS可以由唯一标识符(例如,adaptation_parameter_set_id)来标识,该唯一标识符用于引用来自其他语法元素的当前APS信息。APS可以跨图片共享,并且对于图片的不同部分可以是不同的(例如,对于图片内的不同图块组)。当tile_group_alf_enabled_flag等于1时,APS由图块组报头引用,且APS中携带的ALF参数可在带外(out-of-band)实施(例如,由视频编码设备之外的外部装置提供),从而在一些情况下提供益处。
如本文所述,描述了除了指示用于其他颜色分量(例如,亮度分量)的ALF滤波的现有信令(例如,标志)之外,还可以使用APS来指示(例如,使用一个或多个标志或其他语法)ALF滤波对于某些颜色分量(例如,色度分量)是否可用的方面。可使用切片报头来实施附加信令,以提高与附加颜色分量的ALF滤波(例如,除了亮度分量之外,还针对色度进行ALF滤波)相关联的灵活性和可用输出质量。
例如,本文描述了下述示例:其中可以在块级(例如,CTB级)控制滤波器适用性。在一些示例中,发信号通知第一标志以指示ALF是否应用于块的亮度分量(例如,亮度CTB),并且发信号通知第二标志以指示ALF是否可用于块的色度分量(例如,一个或多个色度CTB,诸如Cb CTB和/或CrCTB)。例如可以在ALF数据(例如,alf data语法结构,如下所述)中发信号通知这样的标志。在一些方面,对于色度CTB信令,可以使用alf_chroma_ctb_present_flag语法元素来发信号通知标志,来指示ALF是否可用于应用,如下所详述的。
在解码器侧,当针对块(例如,CTB)启用ALF时,块内的每个样本R(i,j)(例如,与CTB一起或者在CTB的编解码块内,诸如CU)被滤波,产生如下所示的样本值R′(i,j),其中L表示滤波器长度,fm,n表示滤波器系数,并且f(k,l)表示解码的滤波器系数。
Figure BDA0003887306170000291
在某些情况下可以使用固定滤波器。例如,一些ALF设计使用作为边(side)信息提供给解码器的固定滤波器集来初始化。在一些情况下,总共有64个7×7滤波器(例如,每个滤波器包含13个系数)。对于每个分类类别,应用映射以限定来自64个滤波器的哪16个固定滤波器可用于当前类别。每个类别的选择索引(0-15)作为固定滤波器索引被发信号通知。当使用自适应推导的滤波器时,发信号通知固定滤波器系数与自适应滤波器系数之间的差异。
在某些情况下,可以使用时间滤波器。例如,为了进一步受益于视频数据的时间相关性,ALF设计可以利用早前以APS NAL单元发信号通知的ALF系数的重用。每个APS由用于引用来自其他语法元素(例如,来自图块组报头)的当前APS信息的、唯一的adaptation_parameter_set_id来标识。在一些情况下,具有唯一集标识符值的所有发信号通知的APS被存储在APS缓冲器中(例如,具有高达32(条目)的大小)。为了启用随机接入(RA)编解码配置,编码器对APS adaptation_parameter_set_id使用的选择受到约束。例如,为了保持时间可伸缩性,仅可以使用来自相同或更低时间层的时间滤波器。
自适应环路滤波器数据语法的示例如下:
Figure BDA0003887306170000301
Figure BDA0003887306170000311
如上所述,一些视频编解码标准(例如,MPEG5 EVC)中的ALF滤波包括利用APS滤波器组(bank)和分类器对亮度分量进行滤波。自适应滤波器组和分类器可以指示从APS滤波器组中预存储的或发信号通知的滤波器中选择的滤波。在一些这样的示例中,可以用单个5×5滤波器对色度分量进行滤波,其中每个APS发信号通知一次系数。
如上文进一步描述的,此类编解码操作对于RGB格式视频、4:4:4色度格式视频或具有其中颜色分量(例如,亮度和色度分量)具有类似特性的其它格式的视频的编解码可能变得低效。例如,在4:4:4色度格式中,所有三种颜色分量以全分辨率呈现。利用所有三个颜色分量的这种共享的全分辨率,两个非亮度分量(例如,色度分量)可以受益于更高级的滤波(例如,将亮度类型ALF应用于所有三个分量)。如本文所述,亮度类型ALF滤波可以指用于更高分辨率或更复杂数据的ALF滤波(例如,当与上面描述的具有每个APS发信号通知一次系数的较小滤波器相比时)。当色度ALF标志被设置为允许对色度分量进行亮度类型ALF滤波时,本文描述的示例可以以切片报头级发信号通知ALF滤波数据,这可以使得实现色度数据的更灵活的ALF滤波。
ALF滤波设计中存在的另一个问题是,一些视频编解码标准利用alf_chroma_idc语法元素,该语法元素在APS中发信号通知。alf_chroma_idc语法元素用于控制对某个色度分量数据的滤波(对于某个视频数据,滤波是开启还是关闭)。在一些这样的标准中,alf_chroma_idc等于0指定色度自适应环路滤波器集不被发信号通知并且不被应用于Cb和Cr颜色分量,alf_chroma_idc大于0指示色度ALF集被发信号通知,alf_chroma_idc等于1指示色度ALF集被应用于Cb颜色分量,alf_chroma_idc等于2指示色度ALF集被应用于Cr颜色分量,并且alf_chroma_idc等于3指示色度ALF集被应用于Cb和Cr颜色分量。当在APS中指示这样的信号而没有选项来改变对经受共享APS信令的后面的切片的设置时,没有选项根据需要调整ALF滤波,以针对发生在切片级的改变。因此,这种APS信令通过阻止使用适当的色度ALF滤波而降低性能。
描述了用于改进滤波(例如,自适应环路滤波器(ALF)、去块和/或其他滤波)并使得能够用不同颜色格式(例如,4:4:4颜色格式、4:2:0颜色格式和/或其他颜色格式)对视频数据进行编解码的系统、方法和计算机可读介质。本文中所描述的示例通过实现附加颜色分量(例如,色度分量)的ALF滤波中的附加灵活性来改进现有技术(例如,基于视频编解码标准的技术),以改进一些视频编解码设备和网络的编解码效率和/或输出性能。此类改进可应用于任何视频编解码标准,诸如上述强调亮度ALF滤波的那些标准。作为一种可能的实施方式,提出了对MPEG5 EVC的以下改变,并且下面在EVC标准的背景下描述了示例。将清楚的是,类似的实施方式可以与具有上述特性的其他标准一起使用。
作为上述改进的灵活性的一部分,在一些方面,色度滤波器的信令由APS中发信号通知的单独标志来控制。如下所示,将切片ALF色度标识符(例如,slice_alf_chroma_idc语法元素)从ALF数据(例如,alf_data语法结构)移动到切片报头(例如,slice_header()语法结构),以允许更灵活的信令和更频繁地改变来自下述切片ALF色度标识符的设置,以将可用色度ALF滤波匹配到视频数据格式(例如,匹配到4:4:4格式等)。下面描述示例语言,其中部分被修改以指示如本文所述的方面。根据本文所述的一些方面,相对于EVC标准的改变被显示为,在“<highlight>”和“<highlightend>”符号之间用下划线文本标记以指示新的语言,并且用删除线标记以指示旧的移除语言(例如,“<highlight>
Figure BDA0003887306170000331
<highlightend>”以及“<highlight>
Figure BDA0003887306170000332
<highlightend>”)。
Figure BDA0003887306170000333
<highlight>
Figure BDA0003887306170000334
Figure BDA0003887306170000335
Figure BDA0003887306170000336
<highlightend>
Figure BDA0003887306170000337
<highlight>
Figure BDA0003887306170000338
Figure BDA0003887306170000339
Figure BDA00038873061700003310
Figure BDA00038873061700003311
Figure BDA00038873061700003312
Figure BDA0003887306170000341
Figure BDA0003887306170000342
<highlightend>
如上文针对ALF数据(alf_data语法结构)和slice_header语法结构所示,本文描述的方面可以使用ALF数据来发信号通知亮度ALF的标志和色度ALF的标志两者。如以上语法所指示的,alf_chroma_filter_signal_flag语法元素指定是否在比特流中(例如,在APS中)发信号通知色度滤波器数据。在某些情况下,滤波器数据可以包括滤波器系数。比特流的切片报头数据中的slice_alf_chroma_idc语法元素(例如,slice_header()语法元素)指定ALF是否应用于切片中的一个或多个色度分量(例如,Cb和/或Cr颜色分量)。在一些示例中,如果ALF色度滤波器信号标志值(例如,alf_chroma_filter_signal_flag语法元素的值)不包括比特流中的显式值,则该值可以被推断为零。在这样的示例中,即使在比特流中没有发信号通知显式标志值时,解码器也可以从ALF数据确定ALF色度滤波器信号标志值为零。相关联的切片ALF色度标识符(例如,slice_alf_chroma_idc语法元素)可以指示ALF何时应用于色度数据,诸如在ALF色度滤波器信号标志值(例如,alf_chroma_filter_signal_flag语法元素的值)被用于识别在比特流中发信号通知色度ALF之后。在所描述的实施方式中,slice_alf_chroma_idc的非零值(例如,来自切片报头的alf色度指示)指示ALF可以应用于视频数据的色度分量。特定的非零值(例如,1、2、3等)可用于映射(map)哪些特定颜色分量可以应用ALF。
例如,ChromaArrayType变量描述视频信号的格式(例如,信号究竟是否具有色度,诸如单色格式或具有一个或多个色度分量的格式)。slice_alf_chroma_idc语法元素指定ALF对色度分量的应用。slice_alf_chroma_idc=0指定没有ALF应用于色度分量。slice_alf_chroma_idc=0甚至可以从ChromaArrayType=2(指示视频信号中存在色度分量)来发信号通知。然而,如果chromaArrayType==0(指示视频信号仅为亮度),则slice_alf_chroma_idc不能被发信号通知为具有大于0的值,这将指示将进行色度滤波。
图4示出了根据一些示例的为解码设备(例如,解码设备112)提供对不同颜色格式的ALF支持的过程400的各方面。如图4所示,过程400的操作402涉及解码设备获得编码的比特流(也称为比特流或视频比特流)。编码的比特流可以包括编码的比特流的编码的视频数据的ALF数据(例如,上面的alf_data()语法结构)和切片报头数据(例如,上面的slice_header()语法结构)两者。作为处理编码的视频数据的一部分,在操作404,解码设备确定是否对编码的比特流启用ALF。如果ALF未启用(例如,不可用于处理亮度或色度颜色分量),则在操作405中,解码继续进行而不进行ALF滤波,直到设置改变为对编码的视频数据中的一部分(例如,对视频数据的一个或多个切片)启用ALF。
如果ALF可用,则ALF亮度滤波器信号标志(例如,来自上文的alf_data()语法结构的alf_luma_filter_signal_flag语法元素)和ALF色度滤波器信号标志(例如,来自上文的alf_data()语法结构的alf_chroma_filter_signal_flag语法元素)可作为编码的比特流的一部分被包括(例如,由编码设备104添加)在ALF数据中。如本文所述,在某些情况下,可以推断出这些标志的值。例如,在一个实施方式中,可明确地发信号通知ALF亮度滤波器信号标志和/或ALF色度滤波器信号标志的值为1,且当比特流中不存在值时,可推断值为0。在操作406,解码设备可以处理ALF数据以确定ALF色度滤波器信号标志是否具有值为0。如果ALF色度滤波器信号标志的值不为0(例如,标志的值为1或不等于1的其他值),则在操作407,解码设备可以确定色度滤波器数据是在APS中发信号通知的(例如,而不是在切片报头数据中指示的)。
在图4的实施方式中,如果ALF色度滤波器标志被确定为0,则解码设备可以在操作408通过确定切片ALF色度指示(例如,slice_alf_chroma_idc或ChromaArrayType)的值是否为非零值(例如,值为1或不等于1的其他值)来确定ALF是否可用于应用于任何色度分量。如果切片ALF色度指示(例如,slice_alf_chroma_idc或ChromaArrayType)的值被确定为不是非零值(例如,被确定为值0),则解码设备可以在操作409确定ALF将不被应用于视频数据的当前切片的色度颜色分量(例如,与包括切片ALF色度标识符的切片数据相关联)。基于该确定,解码设备不能将ALF应用于当前切片的色度颜色分量。如果切片ALF色度标识符被解码设备确定为非零值(例如,值为1或其他值),则解码设备可以在操作410确定ALF可用于被应用(或可以被应用)到视频数据的切片或其一部分(例如,切片的块,诸如CTU、CU、CTB、CB等)的一个或多个色度颜色分量(例如,Cb分量和/或Cr分量)。解码设备然后可以基于切片ALF色度标识符的特定值将ALF应用于一个或多个色度分量,如下面进一步讨论的。
在一些示例中,使得ALF参数信令和适用性取决于指示视频数据的色度格式(诸如4:2:0格式、4:2:2格式、4:4:4格式或其他色度格式)的色度格式标识符(id)。在一些情况下,色度类型数组变量(例如,ChromaArrayType)可以用作色度格式id来指示视频数据的色度格式。在一些示例中,如果用ChromaArrayType等于3(对应于4:4:4格式)或不等于4:2:0对视频进行编码,则针对编码的视频数据的两个非亮度分量(例如,Cb和Cr分量)启用ALF滤波。在一些示例中,如果使用4:2:0格式之外的色度格式(例如,使用4:4:4格式或4:2:2格式)对视频数据进行编码,则每个色度分量可以引用单独的APS来访问最佳滤波器组。在一些示例中,如果视频数据是使用4:2:0格式之外的格式编码的,则将对非亮度分量执行ALF分类器以产生对特定滤波器的索引。在一些示例中,对于每个色度分量,针对具有4:2:0格式之外的格式的视频数据,对独立的基于块的适用性图(例如,其中块级别标志被发信号通知)进行编码。在一些示例中,对于具有4:2:0格式的视频数据和/或对于具有4:2:2格式的视频数据,可以在没有分类器的情况下使用单个滤波器来执行色度滤波,并且不发信号通知图,在这种情况下,可以有条件地对每个块进行滤波。
可用作操作410的一部分来确定如何应用可用色度ALF的语法结构和语义的示例如下(其中相对于EVC标准的变化被显示为,在“<highlight>”和“<highlightend>”符号之间用下划线文本标记以指示新语言,并且用删除线标记以指示旧的移除语言):
Figure BDA0003887306170000371
<highlight>
Figure BDA0003887306170000372
Figure BDA0003887306170000373
Figure BDA0003887306170000374
Figure BDA0003887306170000375
Figure BDA0003887306170000376
Figure BDA0003887306170000377
Figure BDA0003887306170000378
Figure BDA0003887306170000379
<highlightend>
Figure BDA0003887306170000381
alf_ctb_flag[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]等于1指定自适应环路滤波器应用于编解码树单元的亮度分量在亮度位置(xCtb,yCtb)处的编解码树块。alf_ctb_flag[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]等于0指定自适应环路滤波器不适用于编解码树单元的亮度在亮度位置(xCtb,yCtb)处的编解码树块。
当alf_ctb_flag[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]不存在时,其被推断为等于slice_alf_enabled_flag。
<highlight>
Figure BDA0003887306170000382
Figure BDA0003887306170000383
Figure BDA0003887306170000384
Figure BDA0003887306170000385
Figure BDA0003887306170000386
Figure BDA0003887306170000387
Figure BDA0003887306170000388
不存在时,其被推断为等于sliceChromaAlfEnabledFlag。
Figure BDA0003887306170000389
Figure BDA0003887306170000391
Figure BDA0003887306170000392
<highlightend>
对于具有亮度编解码树块位置(rx,ry)的每个编解码树单元,其中rx=0PicWidthInCtbsY–1,且ry=0。PicHeightInCtbsY-1,以下情况适用:
-当alf_ctb_flag[rx][ry]等于1时,调用指定的编解码树块亮度类型滤波过程,将recPictureL、alfPictureL、引用的APS标识slice_alf_luma_aps_id和亮度编解码树块位置(xCtb,yCtb)设置为等于(rx<<CtbLog2SizeY,ry<<CtbLog2SizeY)作为输入,输出为修改后的经滤波图片alfPictureL
-当ChromaArrayType等于3时,用于Cb和Cr色度分量的色度样本的编解码树块亮度类型滤波过程被调用如下:
-当alf_ctb_chroma_flag[rx][ry]等于1时,调用指定的编解码树块亮度类型滤波过程,将recPictureCb、alfPictureCb、引用的APS标识slice_alf_chroma_aps_id和色度编解码树块位置(xCtb,yCtb)设置为等于(rx<<CtbLog2SizeY,ry<<CtbLog2SizeY)作为输入,输出为修改后的经滤波图片alfPictureCb。
-当alf_ctb_chroma2_flag[rx][ry]等于1时,调用指定的编解码树块亮度类型滤波过程,将recPictureCr、alfPictureCr、引用的APS标识slice_alf_chroma2_aps_id以及色度编解码树块位置(xCtb,yCtb)设置为等于(rx<<CtbLog2SizeY,ry<<CtbLog2SizeY)作为输入,输出为修改后的经滤波图片alfPictureCr。
-否则,当ChromaArrayType在从1到2的范围(包含1和2)内,并且slice_alf_chroma_idc大于0时,以下情况适用:
-当sliceChromaAlfEnableFlag等于1时,调用指定的编解码树块色度类型滤波过程,其中recPicture设置等于recPictureCb,alfPicture设置等于alfPictureCb,引用的APS标识slice_alf_chroma_aps_id,以及色度编解码树块位置(xCtbC,yCtbC)设置等于((rx<<CtbLog2SizeY)/SubWidthC,(ry<<CtbLog2SizeY)/SubHeightC)作为输入,并且输出是修改后的经滤波图片alfPictureCb。
-当sliceChroma2AlfEnableFlag等于1时,调用指定的编解码树块色度类型滤波过程,其中recPicture设置等于recPictureCr,alfPicture设置等于alfPictureCr,引用的APS标识slice_alf_chroma_aps_id,以及色度编解码树块位置(xCtbC,yCtbC)设置等于((rx<<CtbLog2SizeY)/SubWidthC,(ry<<CtbLog2SizeY)/SubHeightC)作为输入,并且输出是修改后的经滤波图片alfPictureCr。
以上是作为对EVC的修改而实施的各方面的示例,但是可以对其他视频编解码标准中的各方面进行类似的修改。上述语法结构(例如,if(sps_alf_flag)语法结构)可以是EVC编码的比特流中的切片报头语法结构(例如,slice_header()语法结构)的一部分。一旦解码设备已经确定ALF通常是可用的(例如,对于亮度和色度分量),并且可用于在切片级被发信号通知(例如,而不是如作为操作407的一部分描述的APS中),解码设备可以处理上述语法结构,以确定对其应用ALF的特定色度分量。
例如,如以上示例切片报头语法中所示,如果slice_alf_enable_flag为真(例如,值1),则当slice_alf_chroma_idc(例如,来自切片报头的ALF色度指示)大于0时,解码设备可针对值1或2检查ChromaArrayType变量。如果该陈述为真(例如,ChromaArrayType为1或2),则ALF应用参数集(APS)标识符被应用于切片数据的第一颜色分量(例如,亮度分量、红色分量、绿色分量、蓝色分量等)。slice_alf_map_signalled语法元素指示在用ALF处理第一颜色分量时要使用的ALF滤波器值。具有sliceChromaAlfEnabledFlag的ChromaArrayType为3针对视频数据的切片的第二颜色分量(例如,第一色度分量(诸如Cb或Cr分量)、红色分量、绿色分量、蓝色分量等)提供ALF APS标识符。类似地,具有sliceChroma2AlfEnabledFlag的ChromaArrayType为3针对第三颜色分量(例如,第二色度分量,诸如Cb或Cr分量)提供ALF APS标识符。标识符(例如,第二分量的slice_alf_chroma_aps_id、或第三颜色分量、红色分量、绿色分量、蓝色分量等的slice_alf_chroma2_aps_id)与用于第二颜色分量的发信号通知的图(例如,slice_alf_chroma_map_signalled)或用于第三颜色分量的切片slice_alf_chroma2_map_signalled一起使用,以识别将在对切片视频数据的对应数据进行滤波时使用的ALF参数。
在一些情况下,有多个语法元素控制对视频数据的色度分量的ALF应用。例如,上面提到的slice_alf_chroma_aps_id语法元素是通过数字指定ALF应用于色度的组标志。例如,slice_alf_chroma_aps_id语法元素可以为当前切片指示第一色度分量(例如,Cb)被滤波,或者第二色度分量(例如,Cr)被滤波,或者第一色度分量和第二色度分量(例如,Cb和Cr)被滤波,或者没有色度分量被滤波。作为一个示例,对于slice_alf_chroma_aps_id语法元素,不同的色度分量可以共享相同的标识符(ID),诸如当色度格式是4:2:0时。在4:4:4格式的情况下,不同的颜色分量可以具有不同的ID(例如,aps_id)。Alf_map语法元素(例如,slice_alf_chroma_map_signalled)指定Alf滤波器对于给定块(例如,亮度CTB)是开启还是关闭。slice_alf_chroma_map_signalled语法元素指定针对第一色度分量(例如,Cb)发信号通知ALF开启/关闭图的附加语法元素(例如,Alf_map语法元素)。在某些情况下,slice_alf_chroma_map_signalled语法元素是针对非4:0:0、4:2:0视频而发信号通知的。slice_alf_chroma2_map_signalled语法元素指定针对第二色度分量(例如,Cr)发信号通知ALF开启/关闭图的附加语法元素。在某些情况下,slice_alf_chroma2_map_signalled语法元素是针对非4:0:0、4:2:0视频而发信号通知的。
图5示出了根据一些示例的对图像和/或视频数据进行解码的过程500。在一些方面,过程500可以在具有存储器和被配置为执行过程500的操作的一个或多个处理器的系统或装置中实施,或者由该系统或装置实施。在一些方面,过程500以存储在计算机可读存储介质中的指令来实施。例如,当由编解码系统或装置(例如,系统100)的一个或多个处理器处理时,指令使得系统或装置执行过程500的操作。在其他方面,根据本文提供的细节,其他实施方式是可能的。
在框505,过程500包括获得视频比特流。该视频比特流包括自适应环路滤波器(ALF)数据。在一个说明性示例中,可以使用本文描述的alf_data语法结构来发信号通知ALF数据。
在框510,过程500包括从ALF数据确定ALF色度滤波器信号标志的值。ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据。ALF色度滤波器信号标志在本文也可以被称为ALF标志。在一个说明性示例中,ALF色度滤波器信号标志可以包括本文描述的alf_data语法结构中的alf_chroma_filter_signal_flag语法元素。在一些情况下,ALF滤波器数据可以包括ALF滤波器系数(例如,f(k,l))和/或其他参数。在一些示例中,过程500可以包括当ALF色度滤波器信号标志的值不存在于ALF数据中时,推断ALF色度滤波器信号标志的值为零。在一些示例中,过程500可以包括处理来自ALF数据的ALF色度滤波器信号标志的值,以确定在视频比特流中发信号通知色度ALF滤波器数据。
在框515,过程500包括基于ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。切片的部分可以包括切片的块(例如,CTB、CB、CTU、CB等)、切片的多个块(例如,两个或更多个CTB、CB、CTU、CB等)、或者整个切片。在一些方面,切片的至少部分包括4:4:4格式的视频数据或非4:2:0格式的视频数据。本文描述了处理视频数据的切片的至少部分的各种示例。
在一些示例中,过程500可以包括从视频比特流获得视频数据的切片的切片报头(例如,本文描述的slice_header()语法结构)。过程500可以包括从切片报头确定ALF色度标识符(本文也称为切片ALF色度标识符)的值。ALF色度标识符的值指示ALF是否可以应用于切片的一个或多个色度分量。在一个说明性示例中,ALF色度标识符可以包括包含在本文描述的slice_header()语法结构中的slice_alf_chroma_idc语法元素。过程500还可以包括基于来自切片报头的ALF色度标识符来处理切片的至少部分。在一些情况下,过程500可以包括从切片报头(例如,从slice_header()语法结构)确定色度格式标识符的值。例如,色度格式标识符的值和ALF色度标识符的值指示ALF可适用于一个或多个色度分量中的哪个色度分量。在一个说明性示例中,色度格式标识符可以包括本文描述的ChromaArrayType变量。在一些方面中,ALF色度滤波器信号标志(例如,alf_data语法结构中的alf_chroma_filter_signal_flag语法元素)的值指示在视频比特流中发信号通知色度ALF滤波器数据(例如,且因此ALF可用于一个或多个色度分量)。在一些情况下,在自适应参数集(APS)中发信号通知色度ALF滤波器数据,用于处理切片的至少部分。在一些示例中,基于ALF色度滤波器信号标志的值,过程500可以包括获得要用于处理切片的至少部分的色度ALF滤波器数据。过程500还可以包括将色度ALF滤波器数据应用于视频数据的切片的至少部分。
在一些示例中,基于ALF色度滤波器信号标志的值,过程500可包括获得要用于视频比特流的至少一个块的一个或多个色度分量的亮度ALF滤波器数据。过程500可进一步包括将亮度ALF滤波器数据应用于视频比特流的至少一个块的一个或多个色度分量。
在一些示例中,过程500可以包括从视频比特流获得视频数据的切片的切片报头。如上所述,过程500可以包括从切片报头确定色度格式标识符的值(例如,来自slice_header()语法结构的ChromaArrayType变量的值)。基于来自切片报头的色度格式识别符的值,过程500可包括使用亮度ALF滤波器数据处理视频比特流的至少一个块的一个或多个色度分量。
如上所述,过程500可以包括处理来自ALF数据的ALF色度滤波器信号标志的值,以确定在视频比特流中发信号通知色度ALF滤波器数据。在一些示例中,过程500可以包括确定切片的至少部分的第一颜色分量的ALF应用参数集(APS)标识符。过程500还可以包括确定切片的至少部分的第一颜色分量的ALF图。在一个说明性示例中,ALF图可以包括slice_alf_chroma_map_signalled语法元素、slice_alf_chroma2_map_signalled语法元素和/或上述其他语法元素或可以使用其来发信号通知。在一些示例中,过程500可包括基于切片的至少部分的、包括共有特性的分量,来启用切片的至少部分的至少两个非亮度分量的ALF滤波。在一些情况下,切片的至少部分的至少两个非亮度分量包括切片的至少部分的红色分量、绿色分量和蓝色分量。在一些情况下,切片的至少部分的至少两个非亮度分量包括切片的至少部分的一个或多个色度分量(例如,Cb分量和/或Cr分量)。
在一些示例中,过程500可包括基于包括非4:2:0格式的视频数据的切片的至少部分来启用切片的至少部分的至少两个非亮度分量的ALF滤波。
如上所述,在一些情况下,切片的至少部分包括4:4:4格式的视频数据。在一些示例中,过程500可以包括确定切片的至少部分的色度类型数组变量。过程500可包括基于切片的至少部分的色度类型数组变量来确定切片的至少部分的第一分量的ALF色度应用参数集(APS)标识符。过程500可以包括针对切片的至少部分的第一分量确定发信号通知的ALF图(例如,slice_alf_chroma_map_signalled语法元素、slice_alf_chroma2_map_signalled语法元素和/或上述其他语法元素)。在一些示例中,过程500可以包括基于色度类型数组变量,针对切片的至少部分的第二分量确定第二发信号通知的ALF图(例如,slice_alf_chroma_map_signalled语法元素、slice_alf_chroma2_map_signalled语法元素和/或上述其他语法元素)。在一些示例中,过程500可以包括使用发信号通知的ALF图和第二发信号通知的ALF图对切片的至少部分的第一分量和第二分量执行ALF滤波。在一些示例中,过程500可以包括基于色度类型数组变量,针对切片的至少部分的第三分量确定第三发信号通知的ALF图。在使用上面提供的if(sps_alf_flag)语法的一个说明性示例中,发信号通知的ALF图包括上面提到的slice_alf_map_signalled语法元素或者使用其来发信号通知,第二发信号通知的ALF图包括上面提到的slice_alf_chroma_map_signalled语法元素或者使用其来发信号通知,以及第三发信号通知的ALF图是上面提到的slice_alf_chroma2_map_signalled语法元素或者使用其来发信号通知。在一些情况下,第一分量是亮度分量,第二分量是第一色度分量,并且第三分量是第二色度分量。在一些情况下,第一分量是红色分量,第二分量是绿色分量,并且第三分量是蓝色分量。在一些示例中,过程500可以包括基于色度类型数组变量对切片的至少部分的每个分量的块执行ALF处理。
图6示出了根据一些示例的对图片和/或视频数据进行编码的过程600。在一些方面,过程600可以在具有存储器和被配置为执行过程600的操作的一个或多个处理器的系统或装置中实施,或者由该系统或装置实施。在一些方面,过程600以存储在计算机可读存储介质中的指令来实施。例如,当由编解码系统或装置(例如,系统100)的一个或多个处理器处理时,指令使得系统或装置执行过程600的操作。在其他方面,根据本文提供的细节,其他实现是可能的。
在框605中,过程600包括生成自适应环路滤波器(ALF)数据。在一个说明性示例中,ALF数据包括本文描述的alf_data语法结构。
在框610中,过程600包括确定ALF数据的ALF色度滤波器信号标志的值。ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据。ALF色度滤波器信号标志在本文也可以被称为ALF标志。在一个说明性示例中,ALF色度滤波器信号标志可以包括本文描述的alf_data语法结构中的alf_chroma_filter_signal_flag语法元素。在一些情况下,ALF滤波器数据可以包括ALF滤波器系数(例如,f(k,l))和/或其他参数。
在框615中,过程600包括生成包括ALF数据的视频比特流。可根据本文描述的方面,诸如关于图1、图7和/或图8讨论的那些方面,来生成比特流。
在一些示例中,过程600包括确定ALF色度标识符(这里也称为切片ALF色度标识符)的值。ALF色度标识符的值指示ALF是否可以应用于视频数据的切片的一个或多个色度分量。在一个说明性示例中,ALF色度标识符可以包括包含在本文描述的slice_header()语法结构中的slice_alf_chroma_idc语法元素。过程600可以在视频比特流的切片报头中包括(例如,添加)ALF色度标识符的值。在一个说明性示例中,切片报头可以包括本文描述的slice_header()语法结构。
在一些示例中,过程600包括确定色度格式标识符的值。色度格式标识符的值和ALF色度标识符的值可以指示ALF可适用于一个或多个色度分量中的哪个色度分量。在一个说明性示例中,色度格式标识符可以包括本文描述的ChromaArrayType(色度数组类型)变量。过程600可以在视频比特流的切片报头中包括(例如,添加)色度格式标识符的值。在一些方面,ALF色度滤波器信号标志的值指示在视频比特流中发信号通知色度ALF滤波器数据。在一些情况下,在自适应参数集(APS)中发信号通知色度ALF滤波器数据,用于处理视频数据的切片的至少部分。
如上所述,过程600包括确定色度格式标识符的值(例如,来自slice_header()语法结构的ChromaArrayType变量的值)。在一些情况下,色度格式标识符的值可以指示要使用亮度ALF滤波器数据处理的视频比特流的至少一个块的一个或多个色度分量。过程600可以在视频比特流的切片报头中包括(例如,添加)色度格式标识符的值。
除了上述方面之外,将清楚的是,在本文提供的细节的范围内,附加方面也是可能的。例如,在过程500和相关过程的范围内,重复操作或介入操作是可能的。从本文描述的细节中,上述过程的附加变化也将是清楚的。下面提供了附加方面的非穷尽列表:
在一些实施方式中,本文描述的过程(或方法)(包括过程500、过程600和/或本文描述的其他过程)可以由计算设备或装置(诸如图1A中所示的系统100)来执行。例如,过程500和/或过程600可以由图1A和图7所示的编码设备104、另一个视频源侧设备或视频传输设备、图1A和图8所示的解码设备112和/或另一个客户侧设备(诸如播放器设备、显示器或任何其他客户端侧设备)来执行。在一些情况下,计算设备或装置可以包括处理器、微处理器、微型计算机或被配置为执行本文描述的过程的步骤的设备的其他组件。在一些示例中,计算设备或装置可以包括被配置为捕获包括视频帧的视频数据(例如,视频序列)的相机。在一些示例中,捕获视频数据的相机或其他捕获设备与计算设备分离,在这种情况下,计算设备接收或获得所捕获的视频数据。计算设备还可以包括被配置为传达视频数据的网络接口。网络接口可以被配置为传达基于互联网协议(IP)的数据或其他类型的数据。在一些示例中,计算设备或装置可以包括显示器,用于显示输出视频内容,诸如视频比特流的图片样本。
关于逻辑流程示图来描述过程500和600,其操作表示可以用硬件、计算机指令或其组合来实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可运行指令,所述指令当由一个或多个处理器执行时,执行所述操作。通常,计算机可运行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数量的所描述的操作可以以任何顺序和/或并行组合来实现这些过程。
此外,本文描述的过程(例如,过程500、过程600和/或本文描述的其他过程)可以在配置有可运行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合实施为在一个或多个处理器上共同执行的代码(例如,可运行指令、一个或多个计算机程序或一个或多个应用)。如上所述,代码可以存储在计算机可读或机器可读存储介质上,例如,以包括可由一个或多个处理器运行的多个指令的计算机程序的形式。计算机可读或机器可读存储介质可以是非暂时性的。
本文讨论的编码技术可以在示例视频编码和解码系统(例如,系统100)中实现。在一些示例中,系统包括源设备,该源设备提供将在稍后由目的地设备解码的编码的视频数据。特别地,源设备经由计算机可读介质向目的地设备提供视频数据。源设备和目的地设备可以包括各种设备中的任何一种,各种设备包括台式计算机、笔记本(例如膝上型)计算机、平板计算机、机顶盒、诸如所谓的“智能”电话、所谓的“智能”平板的电话手机、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些情况下,源设备和目的地设备可以被配备用于无线通信。
目的地设备可经由计算机可读介质接收待解码的编码的视频数据。计算机可读介质可以包括能够将编码的视频数据从源设备移动到目的地设备的任何类型的介质或设备。在一个示例中,计算机可读介质可包括通信介质,以使源设备能够实时地将编码的视频数据直接发送到目的地设备。可根据通信标准(诸如无线通信协议)来调制编码的视频数据,并将其发送到目的地设备。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,基于分组的网络诸如局域网、广域网或如因特网的全球网络。通信介质可以包括路由器、交换机、基站、或对促进从源设备到目的地设备的通信有用的任何其他装备。
在一些示例中,编码的数据可以从输出接口输出到存储设备。类似地,可以通过输入接口从存储设备访问编码的数据。存储设备可以包括多种分布式或本地访问的数据存储介质中的任何一种,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器、或用于存储编码的视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备可以对应于文件服务器或可存储由源设备生成的编码的视频的另一中间存储设备。目的地设备可以经由流传输或下载从存储设备访问存储的视频数据。文件服务器可以是能够存储编码的视频数据并将该编码的视频数据发送到目的地设备的任何类型的服务器。示例文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)设备或本地磁盘驱动器。目的地设备可以通过任何标准数据连接(包括互联网连接)来访问编码的视频数据。这可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)、或者适于访问存储在文件服务器上的编码的视频数据的这两者的组合。来自存储设备的编码的视频数据的传输可以是流传输、下载传输或其组合。
本公开的技术不一定限于无线应用或设置。技术可应用于支持多种多媒体应用中的任一个的视频编码,多媒体应用诸如空中电视广播、有线电视传输、卫星电视传输、因特网流视频传输(诸如,HTTP上的动态自适应流送(DASH))、编码到数据存储介质上的数字视频、存储在数据存储介质上的数字视频的解码、或其它应用。在一些示例中,系统可以被配置为支持单向或双向视频传输,以支持诸如视频流送、视频回放、视频广播和/或视频电话的应用。
在一个示例中,源设备包括视频源、视频编码器和输出接口。目的地设备可以包括输入接口、视频解码器和显示设备。源设备的视频编码器可被配置为应用本文中所公开的技术。在其他示例中,源设备和目的地设备可以包括其他组件或布置。例如,源设备可以从外部视频源(诸如外部相机)接收视频数据。同样,目的地设备可以与外部显示设备对接,而不是包括集成的显示设备。
上面的示例系统仅仅是一个示例。用于并行处理视频数据的技术可以由任何数字视频编码和/或解码设备来执行。虽然通常本公开的技术由视频编码设备执行,但是技术也可由视频编码器/解码器(通常称为“编解码器”)执行。此外,本公开的技术也可以由视频预处理器来执行。源设备和目的地设备仅是此类编解码设备的示例,其中源设备生成用于传输到目的地设备的编解码视频数据。在一些示例中,源设备和目的地设备可以以基本对称的方式操作,使得设备中的每一个包括视频编码和解码组件。因此,示例系统可以支持视频设备之间的单向或双向视频传输,例如,用于视频流送、视频回放、视频广播或视频电话。
视频源可以包括视频捕获设备,诸如摄像机、包含先前捕获的视频的视频档案、和/或从视频内容提供者接收视频的视频馈入接口。作为进一步的替选,视频源可以生成基于计算机图形的数据作为源视频,或者实况视频、存档视频和计算机生成的视频的组合。在某些情况下,如果视频源是摄像机,则源设备和目的地设备可以形成所谓的摄像电话或视频电话。然而,如上所述,本公开中描述的技术一般可应用于视频编解码,并且可应用于无线和/或有线应用。在每种情况下,捕获的、预捕获的或计算机生成的视频可以由视频编码器编码。编码的视频信息可以通过输出接口被输出到计算机可读介质上。
如上所述,计算机可读介质可以包括暂时性介质,诸如无线广播或有线网络传输,或者存储介质(即,非暂时性存储介质),诸如硬盘、闪存驱动器、光盘、数字视频光盘、蓝光光盘或其他计算机可读介质。在一些示例中,网络服务器(未示出)可以从源设备接收编码的视频数据,并且例如经由网络传输将编码的视频数据提供给目的地设备。类似地,诸如盘冲压设备的媒体生产设备的计算设备可以从源设备接收编码的视频数据,并产生包含编码的视频数据的盘。因此,在各种示例中,计算机可读介质可以被理解为包括各种形式的一个或多个计算机可读介质。
目的地设备的输入接口从计算机可读介质接收信息。计算机可读介质的信息可包含由视频编码器定义的语法信息,其也由视频解码器使用,该语法信息包括描述块和其它编解码单元(例如,图片组(GOP))的特性和/或处理的语法元素。显示设备向用户显示解码的视频数据,并且可以包括多种显示设备中的任何一种,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。已经描述了本申请的各种实施例。
编码设备104和解码设备112的具体细节分别在图7和图8中示出。图7是示出可实施本公开中所描述的技术中的一种或多种的示例编码设备104的框图。编码设备104可以例如生成本文描述的语法结构(例如,VPS、SPS、PPS或其他语法元素的语法结构)。编码设备104可对视频切片内的视频块执行帧内预测和帧间预测编码。如前所述,帧内编码至少部分依赖于空间预测来减少或移除给定视频帧或图片内的空间冗余。帧间编码至少部分依赖于时间预测来减少或移除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可以指几种基于空间的压缩模式中的任何一种。诸如单向预测(P模式)或双向预测(B模式)的帧间模式可以指几种基于时间的压缩模式中的任何一种。
编码设备104包括分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包括运动估计单元42、运动补偿单元44和帧内预测处理单元46。对于视频块重建,编码设备104还包括逆量化单元58、逆变换处理单元60和求和器62。滤波器单元63旨在表示一个或多个环路滤波器,诸如去块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管滤波器单元63在图7中被示为环路内滤波器,但是在其他配置中,滤波器单元63可以被实现为后环路滤波器。后处理设备57可对由编码设备104生成的编码的视频数据执行附加处理。在一些情况中,本公开的技术可由编码设备104实施。然而,在其他情况下,本公开的一种或多种技术可以由后处理设备57实现。
如图7中所示,编码设备104接收视频数据,并且分割单元35将数据分割成视频块。分割还可包括例如,根据LCU和CU的四叉树结构分割成切片、切片段、图块或其它较大单元,以及视频块分割。编码设备104通常示出对待编码的视频切片内的视频块进行编码的组件。切片可分成多个视频块(且可能分成称为图块的视频块集)。预测处理单元41可基于误差结果(例如,编码率和失真水平等)针对当前视频块选择多种可能的编码模式中的一种,诸如多种帧内预测编码模式中的一种或多种帧间预测编码模式中的一种。预测处理单元41可将所得帧内或帧间编码块提供给求和器50以生成残差块数据,并提供给求和器62以重建编码块以用作参考图片。
预测处理单元41内的帧内预测处理单元46可相对于与待编码的当前块相同的帧或切片中的一个或多个相邻块来执行当前视频块的帧内预测编码,以提供空间压缩。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考图片中的一个或多个预测块执行当前视频块的帧间预测编码,以提供时间压缩。
运动估计单元42可被配置为根据视频序列的预定模式来确定视频切片的帧间预测模式。预定模式可以将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42和运动补偿单元44可高度集成,但出于概念目的而单独示出。由运动估计单元42执行的运动估计是生成运动向量的过程,其估计视频块的运动。例如,运动向量可指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测块的位移。
预测块是被发现在像素差方面与待编码的视频块的PU紧密匹配的块,像素差可由绝对差和(SAD)、平方差和(SSD)或其它差度量来确定。在一些示例中,编码设备104可计算存储在图片存储器64中的参考图片的子整数像素位置的值。例如,编码设备104可以对参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行内插。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动向量。
运动估计单元42通过将帧间编码切片中的视频块的PU的位置与参考图片的预测块的位置进行比较来计算PU的运动向量。参考图片可以从第一参考图片列表(列表0)或第二参考图片列表(列表1)中选择,列表中的每一个标识存储在图片存储器64中的一个或多个参考图片。运动估计单元42将所计算的运动向量发送到熵编码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量来取回或生成预测块,可能执行到子像素精度的内插。在接收到当前视频块的PU的运动向量时,运动补偿单元44可在参考图片列表中定位运动向量指向的预测块。编码设备104通过从正被编码的当前视频块的像素值中减去预测块的像素值来形成残差视频块,从而形成像素差值。像素差值形成该块的残差数据,并且可以包括亮度和色度差分量两者。求和器50代表执行该减法运算的一个或多个组件。运动补偿单元44还可生成与视频块和视频切片相关联的语法元素,以供解码设备112在解码视频切片的视频块时使用。
如上所述,作为由运动估计单元42和运动补偿单元44执行的帧间预测的替选,帧内预测处理单元46可对当前块进行帧内预测。具体来说,帧内预测处理单元46可确定用于对当前块进行编码的帧内预测模式。在一些示例中,帧内预测处理单元46可使用各种帧内预测模式来对当前块进行编码,例如,在单独的编码经过期间,并且帧内预测处理单元46可从测试的模式中选择合适的帧内预测模式来使用。例如,帧内预测处理单元46可使用针对各种经测试的帧内预测模式的速率失真分析来计算速率失真值,并且可在经测试的模式中选择具有最佳速率失真特性的帧内预测模式。速率失真分析通常确定编码块和被编码以产生编码块的原始未编码块之间的失真(或误差)量,以及用于产生编码块的比特率(即,比特数)。帧内预测处理单元46可从各种编码块的失真和速率来计算比率,以确定哪种帧内预测模式呈现出该块的最佳速率失真值。
在任何情况下,在针对块选择帧内预测模式之后,帧内预测处理单元46可向熵编码单元56提供指示针对块选择的帧内预测模式的信息。熵编码单元56可对指示选择的帧内预测模式的信息进行编码。编码设备104可在所发送的比特流中包括各种块的编码上下文的配置数据定义以及最可能的帧内预测模式的指示、帧内预测模式索引表和修改的帧内预测模式索引表,以用于上下文中的每一个。比特流配置数据可以包括多个帧内预测模式索引表和多个修改的帧内预测模式索引表(也称为码字映射表)。
在预测处理单元41经由帧间预测或帧内预测生成当前视频块的预测块之后,编码设备104通过从当前视频块中减去预测块来形成残差视频块。残差块中的残差视频数据可包括在一个或多个TU中,并且应用于变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换(DCT)或概念上类似的变换)将残差视频数据变换成残差变换系数。变换处理单元52可将残差视频数据从像素域转换到变换域,诸如频域。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低比特速率。量化过程可以减少与一些或所有系数相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54可执行包括量化的变换系数的矩阵的扫描。可替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56对量化的变换系数进行熵编码。例如,熵编码单元56可执行上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另外的熵编码技术。在由熵编码单元56进行熵编码之后,编码的比特流可被发送到解码设备112,或被存档以供解码设备112稍后传输或检索。熵编码单元56还可对正被编码的当前视频切片的运动向量和其它语法元素进行熵编码。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换来重建像素域中的残差块,以供稍后用作参考图片的参考块。运动补偿单元44可通过将残差块添加到参考图片列表内的参考图片中的一个的预测块来计算参考块。运动补偿单元44还可将一个或多个内插滤波器应用于重建的残差块,以计算子整数像素值以供在运动估计中使用。求和器62将重建的残差块添加到由运动补偿单元44产生的经运动补偿的预测块,以产生参考块以用于存储在图片存储器64中。运动估计单元42和运动补偿单元44可使用参考块作为对后续视频帧或图片中的块进行帧间预测的参考块。
以此方式,图7的编码设备104表示被配置为执行本文中所描述的技术中的任一种(包括上文所描述的过程或技术中的任一种)的视频编码器的示例。在一些情况下,本公开的一些技术也可由后处理设备57实施。
图8是示出示例解码设备112的框图。解码设备112包括熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包括运动补偿单元82和帧内预测处理单元84。在一些示例中,解码设备112可以执行通常与关于来自图7的编码设备104描述的编码经过互逆(reciprocal)的解码经过。
在解码过程期间,解码设备112接收由编码设备104发送的编码的视频比特流,编码的视频比特流表示编码的视频切片的视频块和相关联的语法元素。在一些实施例中,解码设备112可以从编码设备104接收编码的视频比特流。在一些实施例中,解码设备112可以从网络实体79接收编码的视频比特流,该网络实体诸如服务器、媒体感知网络元件(MANE)、视频编辑器/接合器、或者被配置为实施一种或多种上述技术的其他这样的设备。网络实体79可以包括编码设备104,或可以不包括编码设备104。在本公开中描述的一些技术可以在网络实体79向解码设备112发送编码的视频比特流之前由网络实体79实施。在一些视频解码系统中,网络实体79和解码设备112可以是分立设备的部分,而在其他情况下,关于网络实体79描述的功能可以由包括解码设备112的同一设备来执行。
解码设备112的熵解码单元80对比特流进行熵解码,以生成量化系数、运动向量和其它语法元素。熵解码单元80将运动向量和其它语法元素转发到预测处理单元81。解码设备112可接收视频切片级和/或视频块级的语法元素。熵解码单元80可处理和解析一个或多个参数集(诸如VPS、SPS和PPS)中的固定长度的语法元素和可变长度的语法元素两者。
当视频切片被编码为帧内编码(I)切片时,预测处理单元81的帧内预测处理单元84可基于发信号通知的帧内预测模式和来自当前帧或图片的先前解码的块的数据来生成当前视频切片的视频块的预测数据。当视频帧被编码为帧间编码(例如,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量和其它语法元素来产生当前视频切片的视频块的预测块。预测块可以从参考图片列表内的参考图片中的一个被产生。解码设备112可以基于存储在图片存储器92中的参考图片,使用默认构造技术来构造参考帧列表,列表0和列表1。
运动补偿单元82通过解析运动向量和其它语法元素来确定当前视频切片的视频块的预测信息,并且使用预测信息来产生正被解码的当前视频块的预测块。例如,运动补偿单元82可使用参数集中的一个或多个语法元素来确定用于对视频切片的视频块进行编码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的一个或多个参考图片列表的构造信息、切片的每个帧间编码的视频块的运动向量、切片的每个帧间编码的视频块的帧间预测状态、以及对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元82还可基于内插滤波器来执行内插。运动补偿单元82可使用如编码设备104在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元82可从所接收的语法元素确定由编码设备104使用的内插滤波器,并且可使用内插滤波器来产生预测块。
逆量化单元86对在比特流中提供且由熵解码单元80解码的量化的变换系数进行逆量化或去量化。逆量化过程可包括使用由编码设备104针对视频切片中的每个视频块计算的量化参数来确定量化程度,并且同样地,确定应当应用的逆量化程度。逆变换处理单元88将逆变换(例如,逆DCT或其它合适的逆变换)、逆整数变换或概念上类似的逆变换过程应用于变换系数,以便在像素域中产生残差块。
在运动补偿单元82基于运动向量和其它语法元素生成当前视频块的预测块之后,解码设备112通过将来自逆变换处理单元88的残差块与由运动补偿单元82生成的对应预测块求和来形成解码的视频块。求和器90表示执行该求和运算的一个或多个组件。如果期望的话,环路滤波器(在编码环路中或者在编码环路之后)也可以用于平滑像素过渡,或者以其他方式改善视频质量。滤波器单元91意图表示一个或多个环路滤波器,诸如去块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管滤波器单元91在图8中被示为环路内(in loop)滤波器,但是在其他配置中,滤波器单元91可以被实现为后环路滤波器。给定帧或图片中的解码的视频块被存储在图片存储器92中,该图片存储器存储用于后续运动补偿的参考图片。图片存储器92还存储解码的视频以供稍后在显示器设备(诸如,图1A中所示的视频目的地设备122)上呈现。
以此方式,图8的解码设备112表示被配置为执行本文描述的任何技术(包括上文描述的过程或技术)的视频解码器的示例。
本公开的技术不一定限于无线应用或设置。技术可应用于支持多种多媒体应用中的任一个的视频编解码,多媒体应用诸如空中电视广播、有线电视传输、卫星电视传输、因特网流视频传输(诸如,HTTP上的动态自适应流送(DASH))、编码到数据存储介质上的数字视频、存储在数据存储介质上的数字视频的解码或其它应用。在一些示例中,系统可以被配置为支持单向或双向视频传输,以支持诸如视频流送、视频回放、视频广播和/或视频电话的应用。
如此处所使用的,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备、以及能够存储、包含或承载指令和/或数据的各种其他介质。计算机可读介质可以包括其中可以存储数据且不包括无线或有线连接传播的载波和/或暂时性电子信号的非暂时性介质。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如光盘(CD)或数字多功能盘(DVD)的光存储介质、闪存、存储器或存储器设备。计算机可读介质可以在其上存储代码和/或机器可运行指令,这些指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类、或指令、数据结构或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数或存储器内容,代码段可以耦合到另一个代码段或硬件电路。信息、自变量、参数、数据等可以经由任何合适的方式(包括存储器共享、消息传递、令牌传递、网络传输等)传递、转发或发送。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的有线或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确排除诸如能量、载波信号、电磁波和信号本身的介质。
在上面的描述中提供了具体的细节,以提供对本文提供的实施例和示例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实施这些实施例。为了解释清楚,在一些情况下,本技术可以被呈现为包括单独的功能块,包括包含设备、设备组件、以软件或硬件和软件的组合实现的方法中的步骤或例程的功能块。可以使用除了图中所示和/或本文所述之外的附加组件。例如,电路、系统、网络、过程和其他组件可以以框图形式示出为组件,以免以不必要的细节模糊实施例。在其他情况下,可以在没有不必要的细节的情况下示出公知的电路、过程、算法、结构和技术,以避免模糊实施例。
各个实施例可以在上面被描述为被描绘为流程图、流程示图、数据流图、结构图或框图的过程或方法。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。此外,可以重新安排操作的顺序。当一个过程的操作完成时,该过程被终止,但是可以有图中没有包括的附加步骤。过程可以对应于方法、函数、过程、子例程、子程序等。当一个过程对应于一个函数时,它的终止可以对应于该函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用存储在计算机可读介质中或以其他方式从计算机可读介质中可用的计算机可运行指令来实现。这种指令可以包括例如如下指令和数据,这些指令和数据使得或以其他方式配置通用计算机、专用计算机或处理设备来执行特定功能或功能组。所使用的计算机资源的部分可以通过网络访问。计算机可运行指令可以是例如二进制、中间格式指令,诸如汇编语言、固件、源代码等。可用于存储在根据所述示例的方法期间使用的指令、信息和/或创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、设置有非易失性存储器的USB设备、网络存储设备等。
实施根据这些公开的过程和方法的设备可以包括硬件、软件、固件、中间件、微码、硬件描述语言或其任意组合,并且可以采用各种形状因素中的任一种。当在软件、固件、中间件或微码中实现时,执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。形状因素的典型示例包括膝上型电脑、智能电话、移动电话、平板设备或其他小形状因素个人计算机、个人数字助理、机架安装设备、独立设备等。本文描述的功能也可以在外围设备或附加卡中实现。作为进一步的示例,这种功能也可以在不同芯片当中的电路板上或在单个设备中运行的不同过程中实现。
指令、用于传送这种指令的介质、用于运行它们的计算资源以及用于支持这种计算资源的其他结构是用于提供本公开中描述的功能的示例装置。
在前面的描述中,参考本申请的特定实施例描述了本申请的各方面,但是本领域技术人员将认识到本申请不限于此。因此,尽管在此已经详细描述了本申请的说明性实施例,但是应当理解,本发明构思可以以其他方式不同地实施和使用,并且所附权利要求旨在被解释为包括这样的变化,除了由现有技术限制的以外。上述申请的各种特征和方面可以单独或联合使用。此外,在不脱离本说明书的更广泛的精神和范围的情况下,实施例可以用于本文描述的环境和应用之外的任何数量的环境和应用中。因此,说明书和附图应被视为说明性的而非限制性的。为了说明的目的,以特定的顺序描述了方法。应当理解,在替代实施例中,这些方法可以以不同于所描述的顺序来执行。
普通技术人员将会理解,在不脱离本描述的范围的情况下,这里使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于或等于(“≤”)和大于或等于(“≥”)符号来替换。
在组件被描述为“被配置为”执行某些操作的情况下,这种配置可以例如通过下述方式来实现:通过设计电子电路或其他硬件来执行该操作、通过对可编程电子电路(例如,微处理器或其他合适的电子电路)进行编程来执行该操作或其任意组合。
短语“耦合到”是指直接或间接物理连接到另一组件的任何组件,和/或直接或间接与另一组件通信(例如,通过有线或无线连接和/或其他合适的通信接口连接到另一组件)的任何组件。
叙述集合中的“至少一个”和/或集合中的“一个或多个”的权利要求语言或其他语言指示该集合中的一个成员或该集合中的多个成员(以任何组合)满足该权利要求。例如,叙述“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言表示A、B、或A和B。在另一个示例中,叙述“A、B和C中的至少一个”或“A、B或C中的至少一个”的权利要求语言表示A、B、C、或A和B、或A和C、或B和C、或A和B和C。语言集合中的“至少一个”和/或集合中的“一个或多个”不将该集合限于集合中所列出的项目。例如,叙述“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言可以表示A、B、或A和B,并且可以另外包括在A和B的集合中未列出的项目。
结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以实施为电子硬件、计算机软件、固件或其组合。为了清楚地示出硬件和软件的这种可互换性,各种示例性的组件、块、模块、电路和步骤已经在上面根据它们的功能进行了一般描述。这种功能实施为硬件还是软件取决于特定的应用和对整个系统施加的设计约束。熟练的技术人员可以针对每个特定的应用以不同的方式实施所描述的功能,但是这样的实施方式决定不应该被解释为使得脱离本申请的范围。
本文描述的技术也可以在电子硬件、计算机软件、固件或其任意组合中实现。这种技术可以在多种设备中的任何一种中实施,多种设备诸如通用计算机、无线通信设备手机、或具有多种用途(包括在无线通信设备手机和其他设备中的应用)的集成电路设备。被描述为模块或组件的任何特征可以在集成逻辑设备中一起实施,或者作为分立但可互操作的逻辑设备单独实施。如果在软件中实现,则该技术可以至少部分地由包括程序代码的计算机可读数据存储介质来实现,该程序代码包括当被运行时执行一个或多个上述方法的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(RAM)(诸如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。附加地或替代地,这些技术可以至少部分地由计算机可读通信介质来实现,该计算机可读通信介质承载或传送指令或数据结构形式的程序代码,并且可以由计算机访问、读取和/或运行,诸如传播的信号或波。
程序代码可以由处理器运行,该处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路。这种处理器可以被配置为执行本公开中描述的任何技术。通用处理器可以是微处理器;但是替选地,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP核的结合,或者任何其他这样的配置。因此,本文使用的术语“处理器”可以指任何前述结构、前述结构的任何组合、或者适于实施这里描述的技术的任何其他结构或装置。此外,在一些方面,本文描述的功能可以在被配置用于编码和解码的专用软件模块或硬件模块中提供,或者被并入组合的视频编码器-解码器(编解码器)中。
本公开的说明性方面包括:
方面1.一种用于对视频数据进行解码的装置,该装置包括:存储器和耦合到该存储器的至少一个处理器(例如,在电路中实施)。该至少一个处理器被配置为:获得视频比特流,所述视频比特流包括自适应环路滤波器(ALF)数据;从ALF数据确定ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且基于所述ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。
方面2.根据方面1所述的装置,其中,所述至少一个处理器还被配置为:从视频比特流获得视频数据的切片的切片报头;从切片报头确定ALF色度标识符的值,所述ALF色度标识符的值指示ALF是否能够应用于切片的一个或多个色度分量;以及基于来自切片报头的ALF色度标识符,处理视频数据的切片的至少部分。
方面3.根据方面2所述的装置,其中,所述至少一个处理器还被配置为:从切片报头确定色度格式标识符的值,所述色度格式标识符的值和ALF色度标识符的值指示ALF能应用于一个或多个色度分量中的哪个色度分量。
方面4.根据方面1至3中任一方面所述的装置,其中,所述ALF色度滤波器信号标志的值指示在所述视频比特流中发信号通知所述色度ALF滤波器数据,并且其中在自适应参数集(APS)中发信号通知所述色度ALF滤波器数据,用于处理所述视频数据的切片的至少部分。
方面5.根据方面1至4中任一方面所述的装置,其中,所述至少一个处理器被配置为:基于所述ALF色度滤波器信号标志的值,获得要用于处理视频数据的切片的至少部分的色度ALF滤波器数据;以及将所述色度ALF滤波器数据应用于所述视频数据的切片的至少部分。
方面6.根据方面1至5中任一方面所述的装置,其中,所述至少一个处理器被配置为当所述ALF色度滤波器信号标志的值不存在于所述ALF数据中时,推断所述ALF色度滤波器信号标志的值为零。
方面7.根据方面1至6中任一方面所述的装置,其中,所述至少一个处理器被配置为:基于所述ALF色度滤波器信号标志的值,获得要用于视频比特流的至少一个块的一个或多个色度分量的亮度ALF滤波器数据;以及将亮度ALF滤波器数据应用于视频比特流的至少一个块的一个或多个色度分量。
方面8.根据方面1至7中任一方面所述的装置,其中,至少一个处理器被配置为:从视频比特流获得视频数据的切片的切片报头;从切片报头确定色度格式标识符的值;并且基于来自切片报头的色度格式标识符的值,使用亮度ALF滤波器数据来处理视频比特流的至少一个块的一个或多个色度分量。
方面9.根据方面1至8中任一方面所述的装置,其中,所述至少一个处理器还被配置为:处理来自ALF数据的ALF色度滤波器信号标志的值,以确定在视频比特流中发信号通知色度ALF滤波器数据。
方面10.根据方面1至9中任一方面所述的装置,其中,所述至少一个处理器还被配置为:确定切片的至少部分的第一颜色分量的ALF应用参数集(APS)标识符;以及确定切片的至少部分的第一颜色分量的ALF图。
方面11.根据方面1至10中任一方面所述的装置,其中,所述至少一个处理器还被配置为:基于切片的至少部分的、包括共享特性的分量,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
方面12.根据方面11所述的装置,其中,所述切片的至少部分的至少两个非亮度分量包括所述切片的至少部分的红色分量、绿色分量和蓝色分量。
方面13.根据方面11所述的装置,其中,所述切片的至少部分的至少两个非亮度分量包括所述切片的至少部分的色度分量。
方面14.根据方面1至13中任一方面所述的装置,其中,所述视频数据的切片的至少部分包括4:4:4格式的视频数据。
方面15.根据方面1至14中任一方面所述的装置,其中,所述至少一个处理器被配置为:基于包括非4:2:0格式的视频数据的、切片的至少部分,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
方面16.根据方面1至15中任一方面所述的装置,其中,所述至少一个处理器被配置为:确定切片的至少部分的色度类型数组变量;基于切片的至少部分的色度类型数组变量,确定切片的至少部分的第一分量的ALF色度应用参数集(APS)标识符;以及确定切片的至少部分的第一分量的发信号通知的ALF图。
方面17.根据方面16所述的装置,其中,所述至少一个处理器还被配置为:基于色度类型数组变量,确定切片的至少部分的第二分量的第二发信号通知的ALF图。
方面18.根据方面17所述的装置,其中,所述至少一个处理器被配置为使用发信号通知的ALF图和第二发信号通知的ALF图对切片的至少部分的第一分量和第二分量执行ALF滤波。
方面19.根据方面17或18中任一方面所述的装置,其中,所述至少一个处理器还被配置为:基于色度类型数组变量,确定切片的至少部分的第三分量的第三发信号通知的ALF图。
方面20.根据方面19所述的装置,其中,第一分量是亮度分量,其中第二分量是第一色度分量,并且其中第三分量是第二色度分量。
方面21.根据方面19所述的装置,其中,第一分量是红色分量,其中第二分量是绿色分量,并且其中第三分量是蓝色分量。
方面22.根据方面16至21中任一方面所述的装置,其中,所述至少一个处理器被配置为基于色度类型数组变量对切片的至少部分的每个分量的块执行ALF处理。
方面23.根据方面1至22中任一方面所述的装置,其中,所述装置包括移动设备。
方面24.根据方面1至23中任一方面所述的装置,还包括显示器,被配置为显示一个或多个图像。
方面25.一种对视频数据进行解码的方法,包括:获得视频比特流,所述视频比特流包括自适应环路滤波器(ALF)数据;从ALF数据确定ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;以及基于所述ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。
方面26.根据方面25所述的方法,还包括:从视频比特流获得视频数据的切片的切片报头;从切片报头确定ALF色度标识符的值,所述ALF色度标识符的值指示ALF是否能够应用于所述切片的一个或多个色度分量;以及基于来自切片报头的ALF色度标识符,处理切片的至少部分。
方面27.根据方面26所述的方法,还包括:从切片报头确定色度格式标识符的值,所述色度格式标识符的值和ALF色度标识符的值指示ALF能应用于一个或多个色度分量中的哪个色度分量。
方面28.根据方面25至27中任一方面所述的方法,其中,所述ALF色度滤波器信号标志的值指示在所述视频比特流中发信号通知所述色度ALF滤波器数据,并且其中在自适应参数集(APS)中发信号通知所述色度ALF滤波器数据,用于处理切片的至少部分。
方面29.根据方面25至28中任一方面所述的方法,还包括:基于所述ALF色度滤波器信号标志的值,获得要用于处理视频数据的切片的至少部分的色度ALF滤波器数据;以及将所述色度ALF滤波器数据应用于所述视频数据的切片的至少部分。
方面30.根据方面25至29中任一方面所述的方法,还包括:当所述ALF色度滤波器信号标志的值不存在于所述ALF数据中时,推断所述ALF色度滤波器信号标志的值为零。
方面31.根据方面25至30中任一方面所述的方法,还包括:基于所述ALF色度滤波器信号标志的值,获得要用于视频比特流的至少一个块的一个或多个色度分量的亮度ALF滤波器数据;以及将亮度ALF滤波器数据应用于视频比特流的至少一个块的一个或多个色度分量。
方面32.根据方面25至31中任一方面所述的方法,还包括:从视频比特流获得视频数据的切片的切片报头;从切片报头确定色度格式标识符的值;以及基于来自切片报头的色度格式标识符的值,使用亮度ALF滤波器数据来处理视频比特流的至少一个块的一个或多个色度分量。
方面33.根据方面25至32中任一方面所述的方法,还包括:处理来自ALF数据的ALF色度滤波器信号标志的值,以确定在视频比特流中发信号通知色度ALF滤波器数据。
方面34.根据方面25至33中任一方面所述的方法,还包括:确定切片的至少部分的第一颜色分量的ALF应用参数集(APS)标识符;以及确定切片的至少部分的第一颜色分量的ALF图。
方面35.根据方面25至34中任一方面所述的方法,还包括:基于切片的至少部分的、包括共享特性的分量,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
方面36.根据方面35所述的方法,其中,所述切片的至少部分的至少两个非亮度分量包括所述切片的至少部分的红色分量、绿色分量和蓝色分量。
方面37.根据方面35所述的方法,其中,所述切片的至少部分的至少两个非亮度分量包括所述切片的至少部分的色度分量。
方面38.根据方面25至37中任一方面所述的方法,其中,所述切片的至少部分包括4:4:4格式的视频数据。
方面39.根据方面25至38中任一方面所述的方法,还包括:基于包括非4:2:0格式的视频数据的、切片的至少部分,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
方面40.根据方面25至39中任一方面所述的方法,还包括:确定切片的至少部分的色度类型数组变量;基于切片的至少部分的色度类型数组变量,确定切片的至少部分的第一分量的ALF色度应用参数集(APS)标识符;以及确定切片的至少部分的第一分量的发信号通知的ALF图。
方面41.根据方面40所述的方法,还包括:基于色度类型数组变量,确定切片的至少部分的第二分量的第二发信号通知的ALF图。
方面42.根据方面41所述的方法,还包括:使用发信号通知的ALF图和第二发信号通知的ALF图对切片的至少部分的第一分量和第二分量执行ALF滤波。
方面43.根据方面41或42中任一方面所述的方法,还包括:基于色度类型数组变量,确定切片的至少部分的第三分量的第三发信号通知的ALF图。
方面44.根据方面43所述的方法,其中,第一分量是亮度分量,其中第二分量是第一色度分量,并且其中第三分量是第二色度分量。
方面45.根据方面43所述的方法,其中,第一分量是红色分量,其中第二分量是绿色分量,并且其中第三分量是蓝色分量。
方面46.根据方面25至45中任一方面所述的方法,还包括:基于色度类型数组变量来对切片的至少部分的每个分量的块执行ALF处理。
方面47.一种用于对视频数据进行编码的装置,该装置包括:存储器;以及耦合到该存储器的至少一个处理器(例如,在电路中实施)。该至少一个处理器被配置为:生成自适应环路滤波器(ALF)数据;确定ALF数据的ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且生成包括ALF数据的视频比特流。
方面48.根据方面47所述的装置,其中,至少一个处理器还被配置为:确定ALF色度标识符的值,所述ALF色度标识符的值指示ALF是否能够应用于视频数据的切片的一个或多个色度分量;并且将ALF色度标识符的值包括在视频比特流的切片报头中。
方面49.根据方面48所述的装置,其中至少一个处理器还被配置为:确定色度格式标识符的值,所述色度格式标识符的值和ALF色度标识符的值指示ALF能应用一个或多个色度分量中的哪个色度分量;并且将色度格式标识符的值包括在视频比特流的切片报头中。
方面50.根据方面47至49中任一方面所述的装置,其中,ALF色度滤波器信号标志的值指示在视频比特流中发信号通知色度ALF滤波器数据,并且其中在自适应参数集(APS)中发信号通知色度ALF滤波器数据,用于处理切片的至少部分。
方面51.根据方面47至50中任一方面所述的装置,其中,所述至少一个处理器被配置为:确定色度格式标识符的值,其中色度格式标识符的值指示要使用亮度ALF滤波器数据处理的视频比特流的至少一个块的一个或多个色度分量;并且将色度格式标识符的值包括在视频比特流的切片报头中。
方面52.根据方面47至51中任一方面所述的装置,其中,所述装置包括移动设备。
方面53.根据方面47至52中任一方面所述的装置,还包括显示器,被配置为显示一个或多个图像。
方面54.一种对视频数据进行编码的方法,包括:生成自适应环路滤波器(ALF)数据;确定ALF数据的ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且生成包括ALF数据的视频比特流。
方面55.根据方面54所述的方法,还包括:确定ALF色度标识符的值,所述ALF色度标识符的值指示ALF是否能够应用于视频数据的切片的一个或多个色度分量;并且将ALF色度标识符的值包括在视频比特流的切片报头中。
方面56.根据方面55所述的方法,还包括:确定色度格式标识符的值,所述色度格式标识符的值和ALF色度标识符的值指示ALF能应用一个或多个色度分量中的哪个色度分量;并且将色度格式标识符的值包括在视频比特流的切片报头中。
方面57.根据方面54至56中任一方面所述的方法,其中,ALF色度滤波器信号标志的值指示在视频比特流中发信号通知色度ALF滤波器数据,并且其中在自适应参数集(APS)中发信号通知色度ALF滤波器数据,用于处理切片的至少部分。
方面58.根据方面54至57中任一方面所述的方法,还包括:确定色度格式标识符的值,其中色度格式标识符的值指示要使用亮度ALF滤波器数据处理的视频比特流的至少一个块的一个或多个色度分量;并且将色度格式标识符的值包括在视频比特流的切片报头中。
方面59.一种存储指令的计算机可读存储介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器执行方面1至46的任何操作。
方面60.一种装置,包括用于执行方面1至46的任何操作的部件。
方面61.一种存储指令的计算机可读存储介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器执行方面47至58的任何操作。
方面62.一种装置,包括用于执行方面47至58的任何操作的部件。
方面63.一种存储指令的计算机可读存储介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器执行方面1至58的任何操作。
方面64.一种装置,包括用于执行方面1至58的任何操作的部件。

Claims (44)

1.一种用于对视频数据进行解码的装置,所述装置包括:
存储器;以及
至少一个处理器,耦合到所述存储器并且被配置为:
获得视频比特流,所述视频比特流包括自适应环路滤波器ALF数据;
从ALF数据确定ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且
基于所述ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。
2.根据权利要求1所述的装置,其中,所述至少一个处理器还被配置为:
从视频比特流获得视频数据的切片的切片报头;
从切片报头确定ALF色度标识符的值,所述ALF色度标识符的值指示ALF是否能够应用于所述切片的一个或多个色度分量;以及
基于来自切片报头的ALF色度标识符,处理视频数据的切片的至少部分。
3.根据权利要求2所述的装置,其中,所述至少一个处理器还被配置为:
从切片报头确定色度格式标识符的值,所述色度格式标识符的值和ALF色度标识符的值指示ALF能应用于一个或多个色度分量中的哪个色度分量。
4.根据权利要求3所述的装置,其中,所述ALF色度滤波器信号标志的值指示在所述视频比特流中发信号通知所述色度ALF滤波器数据,并且其中在自适应参数集APS中发信号通知所述色度ALF滤波器数据,用于处理所述视频数据的切片的至少部分。
5.根据权利要求4所述的装置,其中,所述至少一个处理器被配置为:
基于所述ALF色度滤波器信号标志的值,获得要用于处理视频数据的切片的至少部分的色度ALF滤波器数据;以及
将所述色度ALF滤波器数据应用于所述视频数据的切片的至少部分。
6.根据权利要求1所述的装置,其中,所述至少一个处理器被配置为:当所述ALF色度滤波器信号标志的值不存在于所述ALF数据中时,推断所述ALF色度滤波器信号标志的值为零。
7.根据权利要求1所述的装置,其中,所述至少一个处理器被配置为:
基于所述ALF色度滤波器信号标志的值,获得要用于视频比特流的至少一个块的一个或多个色度分量的亮度ALF滤波器数据;以及
将亮度ALF滤波器数据应用于视频比特流的至少一个块的一个或多个色度分量。
8.根据权利要求1所述的装置,其中,所述至少一个处理器被配置为:
从视频比特流获得视频数据的切片的切片报头;
从切片报头确定色度格式标识符的值;以及
基于来自切片报头的色度格式标识符的值,使用亮度ALF滤波器数据来处理视频比特流的至少一个块的一个或多个色度分量。
9.根据权利要求1所述的装置,其中,所述至少一个处理器还被配置为:
处理来自ALF数据的ALF色度滤波器信号标志的值,以确定在视频比特流中发信号通知色度ALF滤波器数据。
10.根据权利要求9所述的装置,其中,所述至少一个处理器还被配置为:
确定切片的至少部分的第一颜色分量的ALF应用参数集APS标识符;以及
确定切片的至少部分的第一颜色分量的ALF图。
11.根据权利要求9所述的装置,其中,所述至少一个处理器还被配置为:基于切片的至少部分的、包括共享特性的分量,来启用切片的至少部分的至少两个非亮度分量的ALF滤波。
12.根据权利要求11所述的装置,其中,所述切片的至少部分的至少两个非亮度分量包括所述切片的至少部分的红色分量、绿色分量和蓝色分量。
13.根据权利要求11所述的装置,其中,所述切片的至少部分的至少两个非亮度分量包括所述切片的至少部分的色度分量。
14.根据权利要求13所述的装置,其中,所述视频数据的切片的至少部分包括4:4:4格式的视频数据。
15.根据权利要求14所述的装置,其中,所述至少一个处理器被配置为:基于包括非4:2:0格式的视频数据的切片的至少部分,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
16.根据权利要求9所述的装置,其中,所述至少一个处理器被配置为:
确定切片的至少部分的色度类型数组变量;
基于切片的至少部分的色度类型数组变量,确定切片的至少部分的第一分量的ALF色度应用参数集APS标识符;以及
确定切片的至少部分的第一分量的发信号通知的ALF图。
17.根据权利要求16所述的装置,其中,所述至少一个处理器还被配置为:
基于色度类型数组变量,确定切片的至少部分的第二分量的第二发信号通知的ALF图。
18.根据权利要求17所述的装置,其中,所述至少一个处理器被配置为使用发信号通知的ALF图和第二发信号通知的ALF图,来对切片的至少部分的第一分量和第二分量执行ALF滤波。
19.根据权利要求17所述的装置,其中,所述至少一个处理器还被配置为:
基于色度类型数组变量,确定切片的至少部分的第三分量的第三发信号通知的ALF图。
20.根据权利要求19所述的装置,其中,第一分量是亮度分量,其中,第二分量是第一色度分量,并且其中,第三分量是第二色度分量。
21.根据权利要求19所述的装置,其中,第一分量是红色分量,其中,第二分量是绿色分量,并且其中,第三分量是蓝色分量。
22.根据权利要求19所述的装置,其中,所述至少一个处理器被配置为基于色度类型数组变量,来对切片的至少部分的每个分量的块执行ALF处理。
23.根据权利要求1所述的装置,其中,所述装置包括移动设备。
24.根据权利要求1所述的装置,还包括被配置为显示一个或多个图像的显示器。
25.一种对视频数据进行解码的方法,包括:
获得视频比特流,所述视频比特流包括自适应环路滤波器ALF数据;
从ALF数据确定ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;以及
基于所述ALF色度滤波器信号标志的值来处理视频数据的切片的至少部分。
26.根据权利要求25所述的方法,还包括:
从视频比特流获得视频数据的切片的切片报头;
从切片报头确定ALF色度标识符的值,所述ALF色度标识符的值指示ALF是否能够应用于所述切片的一个或多个色度分量;以及
基于来自切片报头的ALF色度标识符,处理切片的至少部分。
27.根据权利要求26所述的方法,还包括:
从切片报头确定色度格式标识符的值,所述色度格式标识符的值和ALF色度标识符的值指示ALF能应用于一个或多个色度分量中的哪个色度分量。
28.根据权利要求27所述的方法,其中,所述ALF色度滤波器信号标志的值指示在所述视频比特流中发信号通知所述色度ALF滤波器数据,并且其中在自适应参数集APS中发信号通知所述色度ALF滤波器数据,用于处理切片的至少部分。
29.根据权利要求28所述的方法,还包括:
基于所述ALF色度滤波器信号标志的值,获得要用于处理视频数据的切片的至少部分的色度ALF滤波器数据;以及
将色度ALF滤波器数据应用于所述视频数据的切片的至少部分。
30.根据权利要求25所述的方法,还包括:当所述ALF色度滤波器信号标志的值不存在于所述ALF数据中时,推断所述ALF色度滤波器信号标志的值为零。
31.根据权利要求25所述的方法,还包括:
基于所述ALF色度滤波器信号标志的值,获得要用于视频比特流的至少一个块的一个或多个色度分量的亮度ALF滤波器数据;以及
将亮度ALF滤波器数据应用于视频比特流的至少一个块的一个或多个色度分量。
32.根据权利要求25所述的方法,还包括:
从视频比特流获得视频数据的切片的切片报头;
从切片报头确定色度格式标识符的值;以及
基于来自切片报头的色度格式标识符的值,使用亮度ALF滤波器数据来处理视频比特流的至少一个块的一个或多个色度分量。
33.根据权利要求25所述的方法,还包括:
处理来自ALF数据的ALF色度滤波器信号标志的值,以确定在视频比特流中发信号通知色度ALF滤波器数据。
34.根据权利要求33所述的方法,还包括:
确定切片的至少部分的第一颜色分量的ALF应用参数集APS标识符;以及
确定切片的至少部分的第一颜色分量的ALF图。
35.根据权利要求33所述的方法,还包括:基于切片的至少部分的、包括共享特性的分量,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
36.根据权利要求35所述的方法,其中,所述切片的至少部分的至少两个非亮度分量包括切片的至少部分的红色分量、绿色分量和蓝色分量。
37.根据权利要求35所述的方法,其中,所述切片的至少部分的至少两个非亮度分量包括切片的至少部分的色度分量。
38.根据权利要求37所述的方法,其中,所述切片的至少部分包括4:4:4格式的视频数据。
39.根据权利要求38所述的方法,还包括:基于包括非4:2:0格式的视频数据的切片的至少部分,来启用针对切片的至少部分的至少两个非亮度分量的ALF滤波。
40.根据权利要求33所述的方法,还包括:
确定切片的至少部分的色度类型数组变量;
基于切片的至少部分的色度类型数组变量,确定切片的至少部分的第一分量的ALF色度应用参数集APS标识符;以及
确定切片的至少部分的第一分量的发信号通知的ALF图。
41.根据权利要求40所述的方法,还包括:
基于色度类型数组变量,确定切片的至少部分的第二分量的第二发信号通知的ALF图。
42.根据权利要求41所述的方法,还包括:使用发信号通知的ALF图和第二发信号通知的ALF图,来对切片的至少部分的第一分量和第二分量执行ALF滤波。
43.根据权利要求41所述的方法,还包括:
基于色度类型数组变量,确定切片的至少部分的第三分量的第三发信号通知的ALF图。
44.一种用于对视频数据进行编码的装置,所述装置包括:
存储器;以及
至少一个处理器,耦合到所述存储器并且被配置为:
生成自适应环路滤波器ALF数据;
确定ALF数据的ALF色度滤波器信号标志的值,所述ALF色度滤波器信号标志的值指示是否在视频比特流中发信号通知色度ALF滤波器数据;并且
生成包括ALF数据的视频比特流。
CN202180028173.2A 2020-04-15 2021-04-15 用于颜色格式支持的自适应环路滤波 Pending CN115398920A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063010668P 2020-04-15 2020-04-15
US63/010,668 2020-04-15
US17/230,823 US11792412B2 (en) 2020-04-15 2021-04-14 Adaptive loop filtering for color format support
US17/230,823 2021-04-14
PCT/US2021/027545 WO2021211887A1 (en) 2020-04-15 2021-04-15 Adaptive loop filtering for color format support

Publications (1)

Publication Number Publication Date
CN115398920A true CN115398920A (zh) 2022-11-25

Family

ID=78082384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180028173.2A Pending CN115398920A (zh) 2020-04-15 2021-04-15 用于颜色格式支持的自适应环路滤波

Country Status (12)

Country Link
US (1) US11792412B2 (zh)
EP (1) EP4136851A1 (zh)
JP (1) JP2023521969A (zh)
KR (1) KR20230002335A (zh)
CN (1) CN115398920A (zh)
AU (1) AU2021256044A1 (zh)
BR (1) BR112022020255A2 (zh)
CA (1) CA3173783A1 (zh)
CL (1) CL2022002789A1 (zh)
CO (1) CO2022014475A2 (zh)
IL (1) IL295742A (zh)
WO (1) WO2021211887A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020231238A1 (ko) 2019-05-16 2020-11-19 엘지전자 주식회사 크로마 포멧에 기반하여 필터 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
US11877237B2 (en) * 2020-06-15 2024-01-16 TriSpace Technologies (OPC) Pvt. Ltd. System and method for optimizing power consumption in multimedia signal processing in mobile devices
US20220337855A1 (en) * 2021-04-20 2022-10-20 Samsung Electronics Co., Ltd. Operation of video decoding engine for evc
WO2024094059A1 (en) * 2022-11-01 2024-05-10 Douyin Vision Co., Ltd. Adaptive filter reusing methods on adaptive loop filter in video coding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9807403B2 (en) * 2011-10-21 2017-10-31 Qualcomm Incorporated Adaptive loop filtering for chroma components
KR20220019243A (ko) * 2019-07-08 2022-02-16 엘지전자 주식회사 인루프 필터링 기반 비디오 또는 영상 코딩
US20210168406A1 (en) * 2019-11-29 2021-06-03 Tencent America LLC Signaling of video coding tools supporting various chroma formats
US11303914B2 (en) * 2020-01-08 2022-04-12 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
US20210329272A1 (en) 2021-10-21
IL295742A (en) 2022-10-01
JP2023521969A (ja) 2023-05-26
EP4136851A1 (en) 2023-02-22
CL2022002789A1 (es) 2023-06-23
BR112022020255A2 (pt) 2022-12-06
US11792412B2 (en) 2023-10-17
WO2021211887A1 (en) 2021-10-21
KR20230002335A (ko) 2023-01-05
CA3173783A1 (en) 2021-10-21
AU2021256044A1 (en) 2022-09-22
CO2022014475A2 (es) 2022-11-08

Similar Documents

Publication Publication Date Title
US11368684B2 (en) Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters
US11190758B2 (en) Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation
US11949859B2 (en) Reusing adaptive loop filter (ALF) sub-picture boundary processing for raster-scan slice boundaries
CN114128277B (zh) 针对局部双树的调色板预测器更新
JP2019517205A (ja) ビデオ用のコンテンツカラーボリュームメッセージを生成および処理するための方法およびシステム
CN114982246B (zh) 环路滤波器的自适应舍入
US11356662B2 (en) Simplification of clipping value calculation for adaptive loop filters
TW201735608A (zh) 用於產生對視訊之顏色再映射資訊之補充增強資訊訊息之方法及系統
US11792412B2 (en) Adaptive loop filtering for color format support
US11432015B2 (en) Adaptive loop filtering across raster-scan slices
KR20230123949A (ko) 인핸스드 보간 필터들을 사용한 인트라 예측
JP2023552980A (ja) 高ビット深度ビデオコーディングのライスパラメータ導出のための低複雑度の履歴使用

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40079983

Country of ref document: HK