CN114175638A - 视频译码中的alf aps约束 - Google Patents

视频译码中的alf aps约束 Download PDF

Info

Publication number
CN114175638A
CN114175638A CN202080054529.5A CN202080054529A CN114175638A CN 114175638 A CN114175638 A CN 114175638A CN 202080054529 A CN202080054529 A CN 202080054529A CN 114175638 A CN114175638 A CN 114175638A
Authority
CN
China
Prior art keywords
alf
aps
filter
flag
slice
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
CN202080054529.5A
Other languages
English (en)
Inventor
陈建乐
弗努·亨德里
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210417806.5A priority Critical patent/CN114760469A/zh
Publication of CN114175638A publication Critical patent/CN114175638A/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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/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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频译码机制。所述机制包括接收包括自适应环路滤波(adaptive loop filter,ALF)自适应参数集(adaptation parameter set,APS)的码流,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1。条带根据所述ALF APS中的ALF参数被解码。所述条带被转发以作为解码视频序列的一部分显示。

Description

视频译码中的ALF APS约束
相关申请的交叉引用
本专利申请要求陈建乐等人于2019年8月16日递交的发明名称为“用于ALF APS的约束(Constraints For ALF APS)”的第62/888,267号美国临时专利申请案的权益,该申请案通过引用的方式并入本文中。
技术领域
本发明大体上涉及一种视频译码,具体地,涉及视频译码中用于压缩视频数据的译码工具参数的高效指示(signaling)。
背景技术
即使在视频较短的情况下也需要大量的视频数据来描述,当数据要在带宽容量受限的通信网络中发送或以其它方式发送时,这样会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备中存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,解码视频数据的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术能够在几乎不影响图像质量的情况下提高压缩比。
发明内容
在一个实施例中,本发明包括一种在解码器中实现的方法,所述方法包括:所述解码器的接收器接收包括自适应环路滤波(adaptive loop filter,ALF)自适应参数集(adaptation parameter set,APS)的码流,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1;所述解码器的处理器根据所述ALF APS中的ALF参数对条带进行解码。
APS可用于保存与多个条带相关,但不与整个图像相关的数据。APS可以包括ALF参数。ALF参数可以通过控制将ALF过程仅应用于条带中的亮度分量、仅应用于条带中的色度分量,或应用于条带中的亮度分量和色度分量两者。ALF APS可以包括表示APS中包括的数据的类型的标志。但是,在一些视频译码系统中,与ALF APS相关的基于标志的指示效率低下。例如,标志可以设置为表示ALF APS仅包括亮度滤波集合、仅包括色度滤波集合、包括亮度滤波集合和色度滤波集合两者,或者既不包括亮度滤波集合也不包括色度滤波集合。既不包括亮度滤波集合也不包括色度滤波集合的ALF APS没有用处。但是,应构建标准化编解码器以支持标准允许的任何选项。因此,使用既不包括亮度滤波集合也不包括色度滤波集合的ALF APS会导致编解码器设计效率低下,而编解码器设计应支持不应出现的选项。本示例应用约束来提高ALF APS指示和得到的编解码器设计的效率。例如,ALF APS被约束成使得ALF APS中的ALF亮度滤波信号标志和ALF色度滤波信号标志中的一个或两个设置为1。这确保了ALF APS至少包括亮度滤波集合或色度滤波集合,因此不为空。又例如,与条带关联的条带头可以包括亮度分量ALF APS ID,该亮度分量ALF APS ID表示ALF APS包括相关的亮度滤波集合。当发生这种情况时,可以采用ALF APS中的ALF亮度滤波信号标志设置为1的约束。这确保了当条带头参考与亮度数据相关的ALF APS时,ALF APS包括亮度数据。又例如,与条带关联的条带头可以包括色度分量ALF APS ID,该色度分量ALF APS ID表示ALFAPS包括相关的色度滤波集合。当发生这种情况时,可以采用ALF APS中的ALF色度滤波信号标志设置为1的约束。这确保了当条带头参考与色度数据相关的ALF APS时,ALF APS包括色度数据。这些约束可以确保避免不必要的ALF APS指示,并且确保ALF APS包括对经解码条带进行滤波所需的数据。这种约束可以在编码器处由假设参考解码器(hypotheticalreference decoder,HRD)检查。HRD可以检查经编码码流的标准一致性,以确保这些问题案例不会发生。因此,这些约束可以使解码器假定这些问题案例没有发生在码流中。因此,解码器可以被简化,以避免支持此类问题案例。因此,本约束防止了出现错误,提高了译码效率,和/或降低了编码器和/或解码器的复杂性。因此,本示例可以增加视频译码系统的功能,同时减少编码器和/或解码器处对网络资源、存储器资源和/或处理资源的占用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述alf_luma_filter_signal_flag表示亮度滤波集合是否在所述ALF APS中指示。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当条带头中与所述条带关联的亮度分量ALF APS标识符(identifier,ID)(slice_alf_aps_id_luma[i])等于所述ALF APS的APS ID时,所述ALF APS的所述alf_luma_filter_signal_flag的值被约束为等于1。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述slice_alf_aps_id_luma[i]表示所述条带的亮度分量参考的第i个ALF APS的APS ID(adaptation_parameter_set_id)。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述alf_chroma_filter_signal_flag表示色度滤波集合是否在所述ALF APS中指示。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当条带头中与所述条带关联的色度分量ALF APS ID(slice_alf_aps_id_chroma)等于所述ALF APS的所述APSID时,所述ALF APS的所述alf_chroma_filter_signal_flag的值被约束为等于1。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述slice_alf_aps_id_chroma表示所述条带的色度分量参考的所述ALF APS的adaptation_parameter_set_id。
在一个实施例中,本发明包括一种在编码器中实现的方法,所述方法包括:所述编码器的处理器将条带编码到码流中,作为编码视频序列的一部分;所述处理器确定应用于所述条带的ALF参数;所述处理器将所述ALF参数编码到所述码流中的ALF自适应参数集(adaptation parameter set,APS)中,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1;耦合到所述处理器的存储器存储所述码流,所述码流用于发送给解码器。
APS可用于保存与多个条带相关,但不与整个图像相关的数据。APS可以包括ALF参数。ALF参数可以通过控制将ALF过程仅应用于条带中的亮度分量、仅应用于条带中的色度分量,或应用于条带中的亮度分量和色度分量两者。ALF APS可以包括表示APS中包括的数据的类型的标志。但是,在一些视频译码系统中,与ALF APS相关的基于标志的指示效率低下。例如,标志可以设置为表示ALF APS仅包括亮度滤波集合、仅包括色度滤波集合、包括亮度滤波集合和色度滤波集合两者,或者既不包括亮度滤波集合也不包括色度滤波集合。既不包括亮度滤波集合也不包括色度滤波集合的ALF APS没有用处。但是,应构建标准化编解码器以支持标准允许的任何选项。因此,使用既不包括亮度滤波集合也不包括色度滤波集合的ALF APS会导致编解码器设计效率低下,而编解码器设计应支持不应出现的选项。本示例应用约束来提高ALF APS指示和得到的编解码器设计的效率。例如,ALF APS被约束成使得ALF APS中的ALF亮度滤波信号标志和ALF色度滤波信号标志中的一个或两个设置为1。这确保了ALF APS至少包括亮度滤波集合或色度滤波集合,因此不为空。又例如,与条带关联的条带头可以包括亮度分量ALF APS ID,该亮度分量ALF APS ID表示ALF APS包括相关的亮度滤波集合。当发生这种情况时,可以采用ALF APS中的ALF亮度滤波信号标志设置为1的约束。这确保了当条带头参考与亮度数据相关的ALF APS时,ALF APS包括亮度数据。又例如,与条带关联的条带头可以包括色度分量ALF APS ID,该色度分量ALF APS ID表示ALFAPS包括相关的色度滤波集合。当发生这种情况时,可以采用ALF APS中的ALF色度滤波信号标志设置为1的约束。这确保了当条带头参考与色度数据相关的ALF APS时,ALF APS包括色度数据。这些约束可以确保避免不必要的ALF APS指示,并且确保ALF APS包括对经解码条带进行滤波所需的数据。这种约束可以在编码器处由假设参考解码器(hypotheticalreference decoder,HRD)检查。HRD可以检查经编码码流的标准一致性,以确保这些问题案例不会发生。因此,这些约束可以使解码器假定这些问题案例没有发生在码流中。因此,解码器可以被简化,以避免支持此类问题案例。因此,本约束防止了出现错误,提高了译码效率,和/或降低了编码器和/或解码器的复杂性。因此,本示例可以增加视频译码系统的功能,同时减少编码器和/或解码器处对网络资源、存储器资源和/或处理资源的占用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述alf_luma_filter_signal_flag表示亮度滤波集合是否在所述ALF APS中指示。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当条带头中与所述条带关联的亮度分量ALF APS ID(slice_alf_aps_id_luma[i])等于所述ALF APS的APS ID时,所述ALF APS的所述alf_luma_filter_signal_flag的值被约束为等于1。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述slice_alf_aps_id_luma[i]表示所述条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述alf_chroma_filter_signal_flag表示色度滤波集合是否在所述ALF APS中指示。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当条带头中与所述条带关联的色度分量ALF APS ID(slice_alf_aps_id_chroma)等于所述ALF APS的所述APSID时,所述ALF APS的所述alf_chroma_filter_signal_flag的值被约束为等于1。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述slice_alf_aps_id_chroma表示所述条带的色度分量参考的所述ALF APS的adaptation_parameter_set_id。
在一个实施例中,本发明包括一种视频译码设备,所述视频译码设备包括:处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器和与所述处理器耦合的发送器,其中,所述处理器、所述接收器、所述存储器和所述发送器用于执行根据上述任一方面所述的方法。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,所述计算机可执行指令在由处理器执行时,使所述视频译码设备执行根据上述任一方面所述的方法。
在一个实施例中,本发明包括一种解码器,所述解码器包括:接收模块,用于接收包括自适应环路滤波(adaptive loop filter,ALF)自适应参数集(adaptation parameterset,APS)的码流,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1;转发模块,用于转发所述条带以作为解码视频序列的一部分显示。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述解码器还用于执行根据上述任一方面所述的方法。
在一个实施例中,本发明包括编码器,所述编码器包括:条带编码模块,用于将条带编码到码流中,作为编码视频序列的一部分;确定模块,用于确定应用于所述条带的ALF参数;ALF编码模块,用于将所述ALF参数编码到所述码流中的ALF自适应参数集(adaptation parameter set,APS)中,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1;存储模块,用于存储所述码流,所述码流用于发送给解码器。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述编码器还用于执行根据上述任一方面所述的方法。
为了描述的清晰性,上述任一实施例可以与上述其它任一或多个实施例结合以创建本发明范围内的新实施例。
根据以下结合附图和权利要求书进行的具体实施方式,将更清楚地理解这些和其它特征。
附图说明
为了更全面地理解本发明,现在参考以下结合附图和具体实施方式进行的简要描述,其中,相同的附图标记表示相同的部件。
图1为对视频信号进行译码的示例性方法的流程图。
图2为用于视频译码的示例性编码和解码(编解码)系统的示意图。
图3是示例性视频编码器的示意图。
图4是示例性视频解码器的示意图。
图5是示出了包括具有参数约束的自适应环路滤波(adaptive loop filter,ALF)自适应参数集(adaptation parameter set,APS)的示例性码流的示意图。
图6是示例性视频译码设备的示意图。
图7是通过使用具有约束的ALF APS将视频序列编码到码流中的示例性方法的流程图。
图8是通过使用具有约束的ALF APS从码流中解码视频序列的示例性方法的流程图。
图9是通过使用具有约束的ALF APS对码流中图像的视频序列进行译码的示例性系统的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任何数量的技术来实现,无论该技术是当前已知的技术还是现有的技术。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
以下术语的定义如下所示,除非在本文相反的上下文中使用。具体地,以下定义旨在更加清晰地描述本发明。但是,术语在不同的上下文中可能会有不同的描述。因此,以下定义应当视为补充信息,不应当视为对此处为这些术语提供的描述的任何其它定义进行限制。
码流是包括视频数据的一系列比特,这些视频数据会被压缩以在编码器与解码器之间传输。编码器是一种用于通过编码过程将视频数据压缩为码流的设备。编码视频序列是编码接入单元(access unit,AU)的序列,并支持语法/参数。AU是一种包括与视频序列中的单个时间实例(例如,单个图像)相关的完整视频数据集的数据单元。解码器是一种用于通过解码过程从码流中重建视频数据以进行显示的设备。解码视频序列是已由解码器重建以准备显示给用户的图像的序列。图像是创建帧或帧场的亮度样本的阵列和/或色度样本的阵列。为了清楚讨论,正在被编码或解码的图像可以称为当前图像。条带是仅包括在单个网络抽象层(network abstraction layer,NAL)单元中的图像的整数个完整分块(tile)或图像的一个分块内整数个连续完整编码树单元(coding tree unit,CTU)行。亮度分量,有时表示为Y,是视频数据的描述光的一部分。色度分量是视频数据的描述颜色的一部分,可以表示为蓝差色度(Cb)和红差色度(Cr)。自适应参数集(adaptation parameter set,APS)是包括应用于一个或多个图像中的一个或多个条带的语法元素/参数的语法结构。APS标识符(identifier,ID)是唯一标识APS的值(例如,整数)。自适应环路滤波(adaptive loopfilter,ALF)是作为解码的一部分应用的滤波过程。例如,ALF可以使用线性滤波,该线性滤波具有由可变参数控制的传递函数和用于调整可变参数的优化算法。ALF APS是包括ALF参数并控制将ALF过程应用到对应条带的APS。ALF参数是包括与控制ALF过程相关的数据的语法元素。ALF亮度滤波信号标志是表示对应ALF APS包括亮度滤波集合的ALF参数。ALF色度滤波信号标志是表示对应ALF APS包括色度滤波集合的ALF参数。亮度滤波集合是用于控制将ALF应用于条带中的亮度分量的滤波参数的集合。色度滤波集合是用于控制将ALF应用于条带中的色度分量的滤波参数的集合。条带头是经译码条带的一部分,包括与条带中的所有视频数据相关的数据元素。亮度分量ALF APS ID是条带头中的语法元素,用于标识包括与条带头关联的条带相关的亮度滤波集合的ALF APS。色度分量ALF APS ID是条带头中的语法元素,用于标识包括与条带头关联的条带相关的色度滤波集合的ALF APS。
本文中使用以下缩略语:自适应环路滤波(adaptive loop filter,ALF)、自适应参数集(adaptation parameter set,APS)、编码树块(coding tree block,CTB)、编码树单元(coding tree unit,CTU)、编码单元(coding unit,CU)、编码视频序列(coded videosequence,CVS)、解码图像缓冲区(decoded picture buffer,DPB)、外部解码刷新(external decoding refresh,EDR)、图像组(group of pictures,GOP)、联合视频专家组(joint video experts team,JVET)、运动约束分块集(motion-constrained tile set,MCTS)、最大传输单元(maximum transfer unit,MTU)、网络抽象层(network abstractionlayer,NAL)、图像顺序编号(picture order count,POC)、随机接入点(random accesspoint,RAP)、原始字节序列载荷(raw byte sequence payload,RBSP)、样本自适应偏移(sample adaptive offset,SAO)、补充增强信息(supplemental enhancementinformation,SEI)、序列参数集(sequence parameter set,SPS)、时间运动矢量预测(temporal motion vector prediction,TMVP)、通用视频编码(versatile video coding,VVC)和工作草案(working draft,WD)。
许多视频压缩技术可以用来减小视频文件的大小,同时最大限度地减少数据丢失。例如,视频压缩技术可以包括执行空间(例如帧内)预测和/或时间(例如帧间)预测以减少或去除视频序列中的数据冗余。对于基于块的视频译码,可以将视频条带(slice)(例如视频图像或视频图像的一部分)分割成视频块,视频块也可以称为树块、编码树块(codingtree block,CTB)、编码树单元(coding tree unit,CTU)、编码单元(coding unit,CU)和/或编码节点。图像的帧内编码(I)条带中的视频块针对同一图像中邻块中的参考样本(sample)、使用空间预测进行编码。图像的帧间单向预测(P)条带或双向预测(B)条带中的视频块可以针对同一图像中邻块中的参考样本使用空间预测,或者针对其它参考图像中的参考样本使用时间预测。图像(picture/image)可以称为帧(frame),参考图像可以称为参考帧。空间或时间预测产生表示图像块的预测块。残差数据表示原始图像块与预测块之间的像素差。因此,根据指向构成预测块的参考样本的块的运动矢量和表示编码块与预测块之间的差的残差数据,对经帧间编码块进行编码。经帧内编码块是根据帧内编码模式和残差数据进行编码的。为了进一步压缩,残差数据可以从像素域变换到变换域,从而产生残差变换系数,该残差变换系数可以量化。量化变换系数最初以二维阵列排列。量化变换系数可以扫描,以生成变换系数的一维矢量。可以应用熵编码以实现进一步压缩。下面详细描述这种视频压缩技术。
为了确保编码视频能够正确解码,视频根据对应的视频编码标准进行编码和解码。视频编码标准包括国际电信联盟标准化部门(international telecommunicationunion(ITU)standardization sector,ITU-T)H.261、国际标准化组织/国际电工委员会(international organization for standardization/internationalelectrotechnical commission,ISO/IEC)运动图像专家组(motion picture expertsgroup,MPEG)-1第2部分、ITU-T H.262或ISO/IEC MPEG-2第2部分、ITU-T H.263、ISO/IECMPEG-4第2部分、高级视频编码(advanced video coding,AVC)(也称为ITU-T H.264或ISO/IEC MPEG-4第10部分),以及高效视频编码(high efficiency video coding,HEVC)(也称为ITU-T H.265或MPEG-H第2部分)。AVC包括可适性视频编码(scalable video coding,SVC)、多视图视频编码(multiview video coding,MVC)和多视图视频编码加深度(multiview video coding plus depth,MVC+D)、三维(three dimension,3D)AVC(threedimensional AVC,3D-AVC)等扩展版本。HEVC包括可分级的HEVC(scalable HEVC,SHVC)、多视图HEVC(multiview HEVC,MV-HEVC)、3D HEVC(3D-HEVC)等扩展版本。ITU-T和ISO/IEC的联合视频专家组(joint video experts team,JVET)已开始开发一种称为通用视频编码(versatile video coding,VVC)的视频编码标准。VVC包括在工作草案(working draft,WD)中,该WD包括JVET-O2001-v14。
APS可用于保存与多个条带相关,但不与整个图像相关的数据。在一些示例中,相同的APS可以包括与分布在多个图像(例如,多个图像的部分)上的条带相关的数据。APS可以包括ALF参数。ALF参数可以通过控制将ALF过程仅应用于条带中的亮度分量、仅应用于条带中的色度分量,或应用于条带中的亮度分量和色度分量两者。ALF APS可以包括表示APS中包括的数据的类型的标志。但是,在一些视频译码系统中,与ALF APS相关的基于标志的指示可能效率低下。例如,标志可以设置为表示ALF APS仅包括亮度滤波集合、仅包括色度滤波集合、包括亮度滤波集合和色度滤波集合两者,或者既不包括亮度滤波集合也不包括色度滤波集合。既不包括亮度滤波集合也不包括色度滤波集合的ALF APS没有用处。但是,应构建标准化编解码器以支持标准允许的任何选项。因此,使用既不包括亮度滤波集合也不包括色度滤波集合的ALF APS会导致编解码器设计效率低下,而编解码器设计应支持不应出现的选项。
本文公开了应用约束以提高ALF APS指示和得到的编解码器设计的效率的各种机制。例如,ALF APS可以被约束成使得ALF APS中的ALF亮度滤波信号标志和ALF色度滤波信号标志中的一个或两个设置为1。这确保了ALF APS至少包括亮度滤波集合或色度滤波集合,因此不为空。又例如,与条带关联的条带头可以包括亮度分量ALF APS ID,该亮度分量ALF APS ID表示ALF APS包括相关的亮度滤波集合。当发生这种情况时,可以采用ALF APS中的ALF亮度滤波信号标志设置为1的约束。这确保了当条带头参考与亮度数据相关的ALFAPS时,ALF APS包括亮度数据。又例如,与条带关联的条带头可以包括色度分量ALF APSID,该色度分量ALF APS ID表示ALF APS包括相关的色度滤波集合。当发生这种情况时,可以采用ALF APS中的ALF色度滤波信号标志设置为1的约束。这确保了当条带头参考与色度数据相关的ALF APS时,ALF APS包括色度数据。这些约束可以确保避免不必要的ALF APS指示,并且确保ALF APS包括对经解码条带进行滤波所需的数据。这种约束可以在编码器处包括在假设参考解码器(hypothetical reference decoder,HRD)中。HRD可以检查经编码码流的标准一致性,以确保这些问题案例不会发生。因此,这些约束可以使解码器假定这些问题案例没有发生在码流中。因此,解码器可以被简化,以避免支持此类问题案例。因此,本约束防止了出现错误,提高了译码效率,和/或降低了编码器和/或解码器的复杂性。因此,本示例可以增加视频译码系统的功能,同时减少编码器和/或解码器处对网络资源、存储器资源和/或处理资源的占用。
图1为对视频信号进行译码的示例性操作方法100的流程图。具体地,在编码器侧对视频信号进行编码。编码过程通过采用各种机制来压缩视频信号,以减小视频文件的大小。文件较小使得压缩视频文件可以发送给用户,同时降低相关的带宽开销。然后,解码器对压缩视频文件进行解码,以重建原始视频信号向终端用户进行显示。解码过程通常是编码过程的逆过程,以使解码器重建的视频信号可以与编码器侧的视频信号保持一致。
在步骤101中,将视频信号输入到编码器中。例如,视频信号可以是存储在存储器中的未压缩视频文件。又例如,视频文件可以由摄像机等视频捕获设备捕获,并且进行编码以支持视频的直播流传输。视频文件可以同时包括音频分量和视频分量。视频分量包括一系列图像帧。这些图像帧按顺序观看时,给人以运动的视觉效果。这些帧包括以光表示的像素,在本文中称为亮度分量(或亮度样本),还包括以颜色表示的像素,称为色度分量(或色度样本)。在一些示例中,这些帧还可以包括深度值,以支持三维观看。
在步骤103中,将视频分割成块。分割包括将每一帧中的像素细分成正方形块和/或矩形块进行压缩。例如,在高效视频编码(high efficiency video coding,HEVC)(还称为H.265和MPEG-H第2部分)中,可以先将帧划分成编码树单元(coding tree unit,CTU),这些CTU是预定义大小(例如64×64个像素)的块。这些CTU包括亮度样本和色度样本。编码树可以用于将CTU划分成块,然后重复细分这些块,直到获得支持进一步编码的配置。例如,可以细分帧的亮度分量,直到各个块包括相对均匀的亮度(lighting)值。此外,帧的色度分量可以细分,直到各个块包括相对均匀的色度值。因此,分割机制因视频帧的内容而异。
在步骤105中,使用各种压缩机制对在步骤103中分割得到的图像块进行压缩。例如,可以使用帧间预测和/或帧内预测。帧间预测是为了利用一般场景中的对象往往出现在连续帧中这一事实而设计的。这样一来,描述参考帧中的对象的块不需要在相邻帧中重复描述。具体地,一个对象(例如一张桌子)可以在多个帧中保持在固定位置上。因此,该桌子被描述一次,而且相邻帧可以重新参考该参考帧。模式匹配机制可以用于在多个帧上匹配对象。此外,由于对象移动或相机移动等原因,移动对象可以跨多个帧表示。在一个具体示例中,视频可以在多个帧上显示跨屏幕移动的汽车。运动矢量可以用来描述这种移动。运动矢量是一个二维矢量,提供对象在一个帧中的坐标到该对象在参考帧中的坐标的偏移。因此,帧间预测可以将当前帧中的图像块编码为一组运动矢量,表示当前帧中的图像块与参考帧中的对应块的偏移。
帧内预测对公共帧中的块进行编码。帧内预测利用亮度分量和色度分量往往聚集在一个帧中这一事实。例如,一棵树某个部分的一片绿色往往与类似的几片绿色相邻。帧内预测使用多种方向性预测模式(例如,HEVC中有33种)、平面模式和直流(direct current,DC)模式。这些方向性模式表示当前块的样本与对应方向上的邻块的样本相似/相同。平面模式表示一行/列(例如平面)上的一系列块可以根据该行的边缘上的邻块进行插值。平面模式实际上通过使用变化值的相对恒定的斜率表示光/颜色跨行/列的平稳过渡。DC模式用于边界平滑,并表示块与所有邻块的样本的平均值相似/相同,这些邻块与方向性预测模式的角度方向相关。相应地,帧内预测块可以将图像块表示为各种关系预测模式值而不是表示为实际值。此外,帧间预测块可以将图像块表示为运动矢量值而不是表示为实际值。在任一种情况下,预测块在一些情况下可能都无法准确表示图像块。任何差异都存储在残差块中。可以对残差块应用变换以进一步压缩文件。
在步骤107中,可以应用各种滤波技术。在HEVC中,滤波是根据环内滤波方案应用的。上文描述的基于块的预测可能会在解码器侧产生块状图像。此外,基于块的预测方案可以对块进行编码,然后重建经编码块,以便后续用作参考块。环内滤波方案迭代地将噪声抑制滤波、去块效应滤波、自适应环路滤波和样本自适应偏移(sample adaptive offset,SAO)滤波应用于块/帧。这些滤波减少了块伪影,这样可以准确地重建经编码文件。此外,这些滤波减少了重建参考块中的伪影,这样伪影不太可能在根据重建参考块编码的后续块中产生其它伪影。
一旦视频信号完成分割、压缩和滤波,则在步骤109中,将所得数据编码到码流中。码流包括上文描述的数据以及支持在解码器侧进行适当的视频信号重建所需要的任何指示数据。例如,这些数据可以包括分割数据、预测数据、残差块和提供译码指令给解码器的各种标志。码流可以存储在存储器中,以便根据请求发送给解码器。码流还可以广播和/或组播到多个解码器。码流的创建是一个迭代过程。因此,步骤101、步骤103、步骤105、步骤107和步骤109可以在多个帧和块中连续和/或同时执行。图1所示的顺序是为了清楚和便于描述而呈现的,并非旨在将视频译码过程限制于特定顺序。
在步骤111中,解码器接收码流并开始解码过程。具体地,解码器采用熵解码方案将码流转换为对应的语法数据和视频数据。在步骤111中,解码器使用码流中的语法数据来确定帧的分割部分。分割应该与步骤103中的块分割的结果匹配。下面描述在步骤111中使用的熵编码/解码。编码器在压缩过程中做出许多选择,例如,根据一个或多个输入图像中的值的空间放置从若干个可能选择中选择块分割方案。指示确切的选择可能会使用大量的位元(bin)。本文所使用的“位元”是一个作为变量的二进制值(例如,可能因内容而异的位值)。熵编码使得编码器丢弃任何明显不适合特定情况的选项,从而留下一组可用选项。然后,为每个可用选项分配一个码字。码字的长度取决于可用选项的数量(例如,一个二元符号对应两个选项,两个二元符号对应三到四个选项,以此类推)。然后,编码器对所选选项的码字进行编码。这种方案减小了码字的大小,这是因为码字与预期的一样大,从而唯一地指示从可用选项的小子集中进行选择,而不是唯一地指示从所有可能选项的可能大集合中进行选择。然后,解码器通过以与编码器类似的方式确定这一组可用选项对这一选择进行解码。通过确定这一组可用选项,解码器可以读取码字并确定编码器做出的选择。
在步骤113中,解码器执行块解码。具体地,解码器采用逆变换,以生成残差块。然后,解码器采用残差块和对应的预测块,以根据分割来重建图像块。预测块可以包括编码器在步骤105中生成的帧内预测块和帧间预测块。接着,根据在步骤111中确定的分割数据将重建图像块放置在重建视频信号的帧中。还可以通过上文描述的熵编码在码流中指示用于步骤113的语法。
在步骤115中,以类似于编码器侧的步骤107的方式对重建视频信号的帧执行滤波。例如,噪声抑制滤波、去块滤波、自适应环路滤波和SAO滤波可以应用于帧,以去除块伪影。一旦对帧进行了滤波,则在步骤117中,可以将视频信号输出到显示器,以供终端用户观看。
图2为用于视频译码的示例性编码和解码(编解码)系统200的示意图。具体地,编解码系统200提供功能来实现操作方法100。编解码系统200广义地用于描述编码器和解码器侧都使用的组件。编解码系统200接收视频信号并对视频信号进行分割,如结合操作方法100中的步骤101和步骤103所述,得到分割后的视频信号201。然后,编解码系统200在充当编码器时将分割后的视频信号201压缩到经编码码流中,如结合方法100中的步骤105、步骤107和步骤109所述。编解码系统200在充当解码器时从码流中生成输出视频信号,如结合操作方法100中的步骤111、步骤113、步骤115和步骤117所述。编解码系统200包括通用译码器控制组件211、变换缩放和量化组件213、帧内估计组件215、帧内预测组件217、运动补偿组件219、运动估计组件221、缩放和逆变换组件229、滤波控制分析组件227、环内滤波组件225、解码图像缓冲区组件223以及标头格式和上下文自适应二进制算术编码(contextadaptive binary arithmetic coding,CABAC)组件231。这些组件如图所示相耦合。在图2中,黑线表示待编码/解码数据的移动,而虚线表示控制其它组件操作的控制数据的移动。编解码系统200中的组件都可以存在于编码器中。解码器可以包括编解码系统200中的组件的子集。例如,解码器可以包括帧内预测组件217、运动补偿组件219、缩放和逆变换组件229、环内滤波组件225以及解码图像缓冲区组件223。下面对这些组件进行描述。
分割后的视频信号201是捕获到的已经通过编码树分割成像素块的视频序列。编码树采用各种划分模式将像素块细分成较小的像素块。然后,这些块可以进一步细分成更小的块。这些块可以称为编码树上的节点。较大的父节点划分成较小的子节点。节点进行细分的次数称为节点/编码树的深度。在一些情况下,划分得到的块可以包括在编码单元(coding unit,CU)中。例如,CU可以是CTU的子部分,包括亮度块、一个或多个红色差色度(Cr)块和一个或多个蓝色差色度(Cb)块以及CU的对应语法指令。划分模式可以包括二叉树(binary tree,BT)、三叉树(triple tree,TT)和四叉树(quad tree,QT),它们用于根据所使用的划分模式将节点分别分割成不同形状的2个、3个或4个子节点。将分割后的视频信号201转发给通用译码器控制组件211、变换缩放和量化组件213、帧内估计组件215、滤波控制分析组件227和运动估计组件221进行压缩。
通用译码器控制组件211用于根据应用约束条件做出与将视频序列中的图像编码到码流中相关的决策。例如,通用译码器控制组件211管理码率/码流大小相对于重建质量的优化。这些决定可以根据存储空间/带宽可用性和图像分辨率请求做出。通用译码器控制组件211还根据传输速度来管理缓冲区利用率,以缓解缓存欠载和超载问题。为了解决这些问题,通用译码器控制组件211管理由其它组件进行的分割、预测和滤波。例如,通用译码器控制组件211可以动态提高压缩复杂度以提高分辨率和增加带宽利用率,或者降低压缩复杂度以降低分辨率和带宽利用率。因此,通用译码器控制组件211控制编解码系统200中的其它组件来平衡视频信号重建质量与码率问题。通用译码器控制组件211生成控制数据,这些控制数据用于控制其它组件的操作。还将控制数据转发给标头格式和CABAC组件231,以编码到码流中,从而指示解码器进行解码使用的参数。
还将分割后的视频信号201发送给运动估计组件221和运动补偿组件219进行帧间预测。分割后的视频信号201的帧或条带可以分成多个视频块。运动估计组件221和运动补偿组件219相对于一个或多个参考帧中的一个或多个块对所接收到的视频块执行帧间预测译码,以提供时间预测。编解码系统200可以执行多个译码回合,以便为每个视频数据块选择合适的译码模式,等等。
运动估计组件221和运动补偿组件219可以高度集成,但出于概念目的,单独说明。由运动估计组件221执行的运动估计是生成运动矢量的过程,其中,这些运动矢量用于估计视频块的运动。例如,运动矢量可以表示经译码对象相对于预测块的位移。预测块是被发现在像素差方面与待编码块紧密匹配的块。预测块还可以称为参考块。这种像素差可以通过绝对差异和(sum of absolute difference,SAD)、平方差异和(sum of squaredifference,SSD)或其它差异度量来确定。HEVC使用几个经译码对象,包括CTU、编码树块(coding tree block,CTB)和CU。例如,CTU可以分成CTB,CTB然后分成CB,CB包括在CU中。CU可以被编码为包括预测数据的预测单元(prediction unit,PU)和/或包括CU的变换残差数据的变换单元(transform unit,TU)。运动估计组件221使用率失真分析作为率失真优化过程的一部分来生成运动矢量、PU和TU。例如,运动估计组件221可以确定当前块/帧的多个参考块、多个运动矢量等,并且可以选择具有最佳率失真特性的参考块、运动矢量等。最佳率失真特性平衡了视频重建的质量(例如,压缩造成的数据丢失量)和译码效率(例如,最终编码的大小)。
在一些示例中,编解码系统200可以计算存储在解码图像缓冲区组件223中的参考图像的子整数像素位置的值。例如,视频编解码系统200可以对参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行插值。因此,运动估计组件221可以相对于整像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动矢量。运动估计组件221通过将PU的位置与参考图像的预测块的位置进行比较,计算经帧间译码条带中的视频块的PU的运动矢量。运动估计组件221将计算到的运动矢量作为运动数据输出到标头格式和CABAC组件231进行编码,并作为运动数据输出到运动补偿组件219。
运动补偿组件219执行的运动补偿可以涉及根据运动估计组件221所确定的运动矢量获取或生成预测块。同样,在一些示例中,运动估计组件221和运动补偿组件219可以在功能上集成。在接收到当前视频块的PU的运动矢量时,运动补偿组件219可以定位运动矢量指向的预测块。然后,从正在译码的当前视频块的像素值中减去预测块的像素值,得到像素差值,从而形成残差视频块。一般而言,运动估计组件221相对于亮度分量执行运动估计,运动补偿组件219将根据亮度分量计算得到的运动矢量用于色度分量和亮度分量。将预测块和残差块转发到变换缩放和量化组件213。
还将分割后的视频信号201发送给帧内估计组件215和帧内预测组件217。与运动估计组件221和运动补偿组件219一样,帧内估计组件215和帧内预测组件217可以高度集成,但出于概念目的,单独说明。帧内估计组件215和帧内预测组件217相对于当前帧中的各块对当前块进行帧内预测,以替代如上所述的由运动估计组件221和运动补偿组件219在各帧之间执行的帧间预测。具体地,帧内估计组件215确定帧内预测模式对当前块进行编码。在一些示例中,帧内估计组件215从多个测试的帧内预测模式中选择合适的帧内预测模式来对当前块进行编码。然后,将选定的帧内预测模式转发给标头格式和CABAC组件231进行编码。
例如,帧内估计组件215对各种测试的帧内预测模式进行率失真分析来计算率失真值,并在测试的模式中选择具有最佳率失真特性的帧内预测模式。率失真分析通常确定经编码块与经编码以产生经编码块的原始未编码块之间的失真(或误差)量,以及确定用于产生经编码块的码率(例如,位数)。帧内估计组件215根据各种经编码块的失真和速率计算比率,以确定表现出块的最佳率失真值的帧内预测模式。另外,帧内估计组件215可以用于根据率失真优化(rate-distortion optimization,RDO),使用深度建模模式(depthmodeling mode,DMM)对深度图像的深度块进行译码。
帧内预测组件217在编码器上实现时可以根据由帧内估计组件215确定的选定帧内预测模式从预测块中生成残差块,或者在解码器上实现时,可以从码流中读取残差块。残差块包括预测块与原始块之间的差值,表示为矩阵。然后,将残差块转发给变换缩放和量化组件213。帧内估计组件215和帧内预测组件217可以对亮度分量和色度分量进行操作。
变换缩放和量化组件213用于进一步压缩残差块。变换缩放和量化组件213将离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discrete sine transform,DST)等变换或者进行概念上类似的变换应用于残差块,从而产生包括残差变换系数值的视频块。还可以使用小波变换、整数变换、子频带变换或其它类型的变换。变换可以将残差信息从像素值域转换到变换域,例如频域。变换缩放和量化组件213还用于根据频率等对变换残差信息进行缩放。这种缩放涉及将缩放因子应用于残差信息,以便在不同的粒度下量化不同的频率信息,这可能会影响重建视频的最终视觉质量。变换缩放和量化组件213还用于量化变换系数以进一步降低码率。量化过程可以减少与部分或全部系数相关的位深度。量化程度可以通过调整量化参数来修改。在一些示例中,变换缩放和量化组件213随后可以对包括量化变换系数的矩阵执行扫描。将量化变换系数转发给标头格式和CABAC组件231,以编码到码流中。
缩放和逆变换组件229进行与变换缩放和量化组件213相反的操作以支持运动估计。缩放和逆变换组件229应用逆缩放、逆变换和/或反量化以重建像素域中的残差块,例如,后续用作参考块。该参考块可以成为另一当前块的预测块。运动估计组件221和/或运动补偿组件219可以通过将残差块添加回对应的预测块来计算参考块,以用于后续块/帧的运动估计。将滤波应用于重建参考块,以减少在缩放、量化和变换过程中产生的伪影。当预测后续块时,这些伪影可能会使预测不准确(并产生额外的伪影)。
滤波控制分析组件227和环内滤波组件225将滤波应用于残差块和/或重建图像块。例如,可以将来自缩放和逆变换组件229的变换残差块与来自帧内预测组件217和/或运动补偿组件219的对应预测块组合以重建原始图像块。然后,滤波可以用于重建图像块。在一些示例中,滤波还可以应用于残差块。如同图2中的其它组件,滤波控制分析组件227和环内滤波组件225高度集成且可以一起实现,但出于概念的目的进行单独描述。将应用于重建参考块的滤波应用于特定空间区域,这些滤波包括多个参数以调整使用这些滤波的方式。滤波控制分析组件227对重建参考块进行分析,以确定需要使用这些滤波的位置并设置对应的参数。将这些数据作为滤波控制数据转发给标头格式和CABAC组件231进行编码。环内滤波组件225根据滤波控制数据应用这些滤波。这些滤波可以包括去块效应滤波、噪声抑制滤波、SAO滤波和自适应环路滤波。这些滤波可以根据示例应用于空域/像素域(例如,针对重建像素块)或频域中。
当作为编码器操作时,将经滤波的重建图像块、残差块和/或预测块存储在解码图像缓冲区组件223中,以供后续用于运动估计,如上所述。当作为解码器操作时,解码图像缓冲区组件223存储经重建和经滤波的块并将其作为输出视频信号的一部分转发给显示器。解码图像缓冲区组件223可以是任何能够存储预测块、残差块和/或重建图像块的存储设备。
标头格式和CABAC组件231从编解码系统200的各种组件接收数据,并将这些数据编码到经编码码流中,所述经编码码流用于发送给解码器。具体地,标头格式和CABAC组件231生成各种标头以对控制数据(例如,通用控制数据和滤波控制数据)进行编码。此外,将预测数据(包括帧内预测数据和运动数据)以及以量化变换系数数据为形式的残差数据都编码到码流中。最终的码流包括解码器重建原始分割后的视频信号201所需要的所有信息。这些信息还可以包括帧内预测模式索引表(还称为码字映射表)、各种块的编码上下文的定义、最可能的帧内预测模式的指示、分割信息的指示等。这些数据可以采用熵编码进行编码。例如,这些信息可以通过上下文自适应可变长度编码(context adaptive variablelength coding,CAVLC)、CABAC、基于语法的上下文自适应二进制算术编码(syntax-basedcontext-adaptive binary arithmetic coding,SBAC)、概率区间分割熵(probabilityinterval partitioning entropy,PIPE)编码或其它熵编码技术来编码。在熵编码之后,可以将经编码码流发送给另一设备(例如,视频解码器)或存档以供后续发送或检索。
图3为示例性视频编码器300的框图。视频编码器300可以用于实现编解码系统200的编码功能和/或执行操作方法100中的步骤101、步骤103、步骤105、步骤107和/或步骤109。编码器300对输入视频信号进行分割,得到分割后的视频信号301,其基本上类似于分割后的视频信号201。然后,通过编码器300中的组件压缩分割后的视频信号301并编码到码流中。
具体地,将分割后的视频信号301转发给帧内预测组件317进行帧内预测。帧内预测组件317可以基本上类似于帧内估计组件215和帧内预测组件217。还将分割后的视频信号301转发给运动补偿组件321,以根据解码图像缓冲区组件323中的参考块进行帧间预测。运动补偿组件321可以基本上类似于运动估计组件221和运动补偿组件219。将来自帧内预测组件317和运动补偿组件321的预测块和残差块转发给变换和量化组件313进行残差块的变换和量化。变换和量化组件313可以基本上类似于变换缩放和量化组件213。将变换量化残差块和对应的预测块(与相关的控制数据一起)转发给熵编码组件331,以编码在码流中。熵编码组件331可以基本上类似于标头格式和CABAC组件231。
还将变换量化残差块和/或对应的预测块从变换和量化组件313转发给逆变换和反量化组件329,以重建为参考块供运动补偿组件321使用。逆变换和反量化组件329可以基本上类似于缩放和逆变换组件229。根据示例,环内滤波组件325中的环内滤波还应用于残差块和/或重建参考块。环内滤波组件325可以基本上类似于滤波控制分析组件227和环内滤波组件225。环内滤波组件325可以包括多个滤波,如结合环内滤波组件225所述。然后,将经滤波的块存储在解码图像缓冲区组件323中,以作为参考块供运动补偿组件321使用。解码图像缓冲区组件323可以基本上类似于解码图像缓冲区组件223。
图4为示例视频解码器400的框图。视频解码器400可以用于实现编解码系统200的解码功能和/或执行操作方法100中的步骤111、步骤113、步骤115和/或步骤117。例如,解码器400从编码器300接收码流,并根据所述码流生成重建输出视频信号以向终端用户显示。
码流由熵解码组件433接收。熵解码组件433用于执行熵解码方案,例如CAVLC、CABAC、SBAC、PIPE解码或其它熵解码技术。例如,熵解码组件433可以使用头信息来提供上下文以解析在码流中编码为码字的附加数据。经解码信息包括对视频信号进行解码所需的任何信息,例如,通用控制数据、滤波控制数据、分割信息、运动数据、预测数据和残差块中的量化变换系数。将量化变换系数转发给逆变换和反量化组件429,以重建成残差块。逆变换和反量化组件429可以类似于逆变换和反量化组件329。
将重建残差块和/或预测块转发给帧内预测组件417,以根据帧内预测操作重建为图像块。帧内预测组件417可以类似于帧内估计组件215和帧内预测组件217。具体地,帧内预测组件417使用预测模式来定位帧中的参考块,并将残差块添加到上述结果中以重建帧内预测图像块。将重建帧内预测图像块和/或残差块以及对应的帧间预测数据通过环内滤波组件425转发给解码图像缓冲区组件423。解码图像缓冲区组件423和环内滤波组件425可以基本上分别类似于解码图像缓冲区组件223和环内滤波组件225。环内滤波组件425对重建图像块、残差块和/或预测块进行滤波。这些信息存储在解码图像缓冲区组件423中。将来自解码图像缓冲区组件423的重建图像块转发给运动补偿组件421进行帧间预测。运动补偿组件421可以基本上类似于运动估计组件221和/或运动补偿组件219。具体地,运动补偿组件421使用参考块的运动矢量来生成预测块,并将残差块应用于上述结果以重建图像块。还可以通过环内滤波组件425将所得到的重建块转发给解码图像缓冲区组件423。解码图像缓冲区组件423继续存储其它重建图像块。这些重建图像块可以通过分割信息重建为帧。这些帧还可以放置在一个序列中。该序列作为重建输出视频信号输出到显示器。
图5是包括具有参数约束的ALF APS的示例性码流500的示意图。例如,码流500可以由编解码系统200和/或编码器300生成,用于编解码系统200和/或解码器400进行解码。在另一示例中,码流500可以在方法100的步骤109中由编码器生成,在步骤111中供解码器使用。
码流500包括序列参数集(sequence parameter set,SPS)510、ALF APS 513、多个图像参数集(picture parameter set,PPS)511、多个条带头515和图像数据520。SPS 510包括码流500中包括的视频序列中所有图像521共用的序列数据。这些数据可以包括图像大小、位深度、译码工具参数、码率限制等。PPS 511包括应用于整个图像521的参数。因此,视频序列中的每个图像521可以参考PPS 511。需要说明的是,虽然每个图像521都参考PPS511,但是在一些示例中,单个PPS 511可以包括多个图像521的数据。例如,可以根据类似的参数对多个类似的图像521进行译码。在这种情况下,单个PPS 511可以包括用于此类类似图像521的数据。PPS 511可以表示可用于对应图像521中的条带523、量化参数、偏移等的译码工具。条带头515包括图像521中的每个条带523特定的参数。因此,视频序列中的每个条带523可以有一个条带头515。条带头515可以包括条带类型信息、图像顺序编号(pictureorder count,POC)、参考图像列表、预测权重、分块入口点、去块效应参数等。需要说明的是,在一些上下文中,条带头515也可以被称为分块组头。此外,条带头515可以参考SPS510、PPS 511和/或ALF APS 513,以获取用于译码对应条带523的参数。
图像数据520包括根据帧间预测和/或帧内预测编码的视频数据以及对应的变换和量化残差数据。例如,视频序列包括译码为图像数据的多个图像521。图像521可以定义为创建帧或帧场的亮度样本的阵列和/或色度样本的阵列。图像521通常是视频序列的单帧,因此在显示视频序列时通常以单个单元显示。但是,可以显示部分图像521以实现特定技术,例如虚拟现实、画中画等。此外,一些技术可以采用多层编码图像521,在这种情况下,在时间实例处显示从多个层中的一个层中选择的单个图像521。图像521可以由对应POC标识。此外,图像521各自参考PPS 511。
图像521被分为条带523。在一些系统中,条带523被细分为分块。在其它系统中,条带523被称为包括分块的分块组。条带523和/或分块进一步被划分为编码树单元(codingtree unit,CTU)。CTU根据编码树进一步被划分为编码块。然后可以根据预测机制对编码块进行编码/解码。条带523可以是光栅条带或矩形条带。例如,图像521可以被划分为成列和成行的CTU。光栅条带523包括图像521的CTU组,其中,CTU以光栅扫描顺序增加。光栅扫描顺序沿着一行CTU从左到右增加,沿着一列CTU从上到下增加。矩形条带523可以包括从图像521得到的任何矩形CTU组。因此,条带523可以被定义为仅包括在单个NAL单元中的图像的整数个完整分块或图像的一个分块内整数个连续完整CTU行。NAL单元是大小设定成在报文中传输并包括一种类型和指定类型的数据的数据单元。条带523和/或分块的分块组参考条带头515。
APS是包括应用于一个或多个图像521中的一个或多个条带523的语法元素/参数的语法结构。例如,APS可以应用于第一图像521中的至少一个但非全部的条带523,应用于第二图像521中的至少一个但非全部的条带523,等。APS可以根据APS中包括的参数分为多种类型。ALF APS 513是包括ALF参数的ALF类型的APS。ALF是一种基于块的自适应滤波,它包括由可变参数控制的传递函数,并使用来自反馈环路的反馈来修正传递函数。此外,ALF用于纠正由于基于块的译码而出现的译码伪影(例如,错误)。反馈环路可以包括优化算法,例如在编码器处操作的RDO过程。因此,包括在ALF APS 513中的ALF参数可以包括由编码器选择的可变参数,以使滤波去除在解码器侧进行解码期间的基于块的译码伪影。
每个APS(例如ALF APS 513)包括APS ID 542。APS ID 542是唯一标识对应APS的任何值,例如整数。在一些示例中,APS ID 542可以表示为adaptation_parameter_set_id。如上所述,ALF APS 513还包括ALF参数。ALF参数是包括与控制ALF过程相关的数据的语法元素。ALF参数可以包括ALF亮度滤波信号标志541、ALF色度滤波信号标志543、亮度滤波集合545和/或色度滤波集合547。
具体地,条带523包括显示为光值的亮度样本和显示为颜色值的色度样本。亮度滤波集合545是用于控制将ALF应用于条带523中的亮度分量的滤波参数的集合。色度滤波集合547是用于控制将ALF应用于条带523中的色度分量的滤波参数的集合。ALF APS 513可以包括亮度滤波集合545、色度滤波集合547或两者。例如,第一ALF APS 513可以包括亮度滤波集合545和色度滤波集合547两者。视频中的亮度分量可以改变,在这种情况下,第二ALFAPS 513可以仅包括更新的亮度滤波集合545。然后,视频中的色度分量可以改变,在这种情况下,第三ALF APS 513可以仅包括更新的色度滤波集合547。标志可用于表示ALF APS 513中包括的滤波组件的类型。ALF亮度滤波信号标志541是表示对应ALF APS 513包括亮度滤波集合545的ALF参数。在一些示例中,ALF亮度滤波信号标志541可以表示为alf_luma_filter_signal_flag。ALF色度滤波信号标志543是表示对应ALF APS 513包括色度滤波集合547的ALF参数。在一些示例中,ALF色度滤波信号标志543可以表示为alf_chroma_filter_signal_flag。
条带头515可以参考包括对应条带523的ALF参数的一个或多个ALF APS 513。例如,条带头515可以包括亮度分量ALF APS ID 549和色度分量ALF APS ID 548。亮度分量ALF APS ID 549是条带头515中的语法元素,用于标识包括与条带头515关联的条带523相关的亮度滤波集合545的ALF APS 513。在一些示例中,亮度分量ALF APS ID 549可以表示为slice_alf_aps_id_luma[i],其中,i表示第i个ALF APS 513,i是任何正整数。色度分量ALF APS ID 548是条带头515中标识ALF APS 513的语法元素,该ALF APS 513包括与条带头515关联的条带523相关的色度滤波集合547。在一些示例中,色度分量ALF APS ID548可以表示为slice_alf_aps_id_chroma。例如,亮度分量ALF APS ID 549和色度分量ALF APSID 548可以通过使用APS ID 542来参考ALF APS 513。
码流500包括特定约束,以提高编码效率、减少错误和/或支持设备简化。例如,ALFAPS 513可以包括亮度滤波集合545、色度滤波集合547或两者。但是,ALF APS 513应包括至少一个滤波集合。因此,码流500包括单个ALF APS 513中的ALF亮度滤波信号标志541和ALF色度滤波信号标志543中的至少一个被设置为1的约束。该约束确保没有不含至少一个滤波集合的ALF APS 513被发送到解码器。此外,这可以使解码器忽略ALF APS 513不包括滤波集合的可能性。因此,解码器设计可以被简化,而硬件资源可以分配给其它任务。
又例如,ALF APS 513可以被约束成使得当亮度分量ALF APS ID 549表示APS ID542时,对应ALF APS 513包括亮度滤波集合545。此外,当发生这种情况时,表示的ALFAPS513中的ALF亮度滤波信号标志541设置为1。这确保了ALF APS 513包括用于对与条带头515关联的条带523进行解码的亮度滤波参数。因此,可以通过忽略条带头515错误参考亮度滤波参数的可能性来简化解码器。
又例如,ALF APS 513可以被约束成使得当色度分量ALF APS ID 548表示APS ID542时,对应ALF APS 513包括色度滤波集合547。此外,当发生这种情况时,表示的ALFAPS513中的ALF色度滤波信号标志543设置为1。这确保了ALF APS 513包括用于对与条带头515关联的条带523进行解码的色度滤波参数。因此,可以通过忽略条带头515错误参考色度滤波参数的可能性来简化解码器。
这些约束可以确保避免不必要的ALF APS 513指示,并且确保ALF APS 513包括对经解码条带523进行滤波所需的数据。这种约束可以在编码器处在HRD中实现。HRD可以检查码流500的标准一致性,以确保ALF APS 513包括至少一个滤波集合并且绝不包括错误的滤波集合来解码对应条带523。因此,这些约束可以使解码器假定这种问题没有发生在码流500中。因此,解码器可以被简化,以避免需要检查以及费力应对此类问题。因此,本约束防止了出现错误,提高了译码效率,和/或降低了编码器和/或解码器的复杂性。因此,本示例可以增加视频译码系统的功能,同时减少编码器和/或解码器处对网络资源、存储器资源和/或处理资源的占用。
下面更详细地描述上述信息。在HEVC中,即时解码刷新(instantaneous decodingrefresh,IDR)、断点连接接入(broken link access,BLA)和清理随机接入(clean randomaccess,CRA)图像是帧内随机接入点(intra random access point,IRAP)图像。VVC使用IDR和CRA图像作为IRAP图像。IRAP图像根据帧内预测译码,并且因此可以不参考其它图像进行译码。IRAP图像可以提供以下功能/益处。IRAP图像的存在表示解码过程可以从该图像开始。该功能支持随机接入特征,该随机接入特征可以使解码过程从码流中存在IRAP图像的某个位置开始。该位置可能不在码流的开头。IRAP图像的存在还可以刷新解码过程,以便在不参考IRAP图像之前的图像的情况下解码IRAP图像之后的编码图像(不包括跳过随机接入前置(random access skipped leading,RASL)图像)。因此,IRAP图像防止了在IRAP图像之前发生的错误传播到按解码顺序在IRAP图像之后的图像。
IRAP图像提供了上述功能,但会降低压缩效率。IRAP图像的存在会导致码率激增。有两个原因影响压缩效率:第一,由于IRAP图像是帧内预测图像,因此IRAP图像由比帧间预测图像更多的位表示。第二,当参考图像从DPB中删除时,IRAP图像的存在可能会通过刷新解码过程来中断时间预测。这可能会降低IRAP图像之后的图像的译码效率,因为可用于帧间预测的参考图像较少。
HEVC中的IDR图像可以通过与其它图像类型不同的方式推导和指示。其中一些区别如下。当指示和推导IDR图像的POC值时,POC的最高有效位(most significant bit,MSB)可以设置为0,而不是从先前的关键图像推导。此外,IDR图像的条带头可以不包括用于帮助参考图像管理的信息。对于其它图像类型,如CRA和后置图像,参考图像集(referencepicture set,RPS)或参考图像列表可以用于参考图像标识过程。该过程用于确定DPB中参考图像的状态是用于参考还是不用于参考。对于IDR图像,可以不指示此类信息,因为IDR的存在表示解码过程应将DPB中的所有参考图像标识为不用于参考。
前置图像(如果存在)与IRAP图像关联。前置图像是按解码顺序在关联的IRAP图像之后但按呈现/输出顺序在IRAP图像之前的图像。根据译码配置和图像参考结构,前置图像进一步分为两种类型。第一种类型是当解码过程在关联的IRAP图像处开始时可能无法被正确解码的前置图像。这种图像被称为RASL图像。在这种情况下,RASL图像可能无法解码,因为RASL图像是参考按解码顺序在IRAP图像之前的图像编码的。第二种类型是即使当解码过程在关联的IRAP图像处开始时也可以被正确解码的前置图像。这些图像被称为可解码随机接入前置(random access decodable leading,RADL)图像。RADL图像可以被解码,因为RADL图像是不直接或间接参考按解码顺序在IRAP图像之前的图像编码的。HEVC系统采用约束,使得当RASL图像和RADL图像与同一IRAP图像关联时,RASL图像按输出顺序应在RADL图像之前。
IRAP图像和前置图像被分配不同的NAL单元类型,以支持系统级应用的标识。例如,视频拼接器可以用于在不检查经编码码流中的详细语法元素的情况下确定编码图像类型。例如,视频拼接器可以从非IRAP图像中标识IRAP图像,并从后置图像中标识前置图像,包括确定RASL图像和RADL图像。后置图像是与IRAP图像关联的图像,并按输出顺序在IRAP图像之后。当图像按解码顺序在特定IRAP图像之后,并按解码顺序在任何其它IRAP图像之前时,图像与特定IRAP图像关联。因此,为IRAP图像和前置图像分配不同的NAL单元类型支持这种应用。
VVC系统可以使用APS。APS是包括可以由一个或多个条带参考的参数和/或数据的语法元素。APS中包括的参数可以在一个或多个图像中的条带之间共享。APS参数可以比PPS参数和/或SPS参数更频繁地更新。
下表描述了APS语法示例。APS可以包括用于ALF的参数、用于亮度映射和色度缩放(luma mapping with chroma scaling,LMCS)的参数和用于缩放列表的参数。每个APS只能包括一种类型参数,由aps_params_type表示。包括一个或多个ALF参数、LMCS参数或缩放列表参数的APS可以分别称为ALF APS、LMCS APS或缩放APS。
Figure BDA0003492278550000171
下表将ALF参数语法示例描述为alf_data()。ALF参数可以是仅用于亮度分量、仅用于色度分量或用于亮度分量和色度分量两者的参数,这具体取决于示例。用于亮度分量和色度分量的参数的存在由alf_luma_filter_signal_flag和alf_chroma_filter_signal_flag表示。
Figure BDA0003492278550000172
Figure BDA0003492278550000181
Figure BDA0003492278550000191
当对条带启用ALF时,条带参考包括用于将ALF应用于条带的ALF参数的一个或多个APS。对于亮度分量,条带可以参考一个或多个ALF APS,对于色度分量,条带最多可以参考一个ALF APS。下表包括条带头语法示例,描述对ALF APS的参考的指示。
Figure BDA0003492278550000192
Figure BDA0003492278550000201
在一个示例中,slice_alf_enabled_flag可以设置为1,以表示自适应环路滤波被启用,并且可以应用于条带中的亮度(Y)、蓝差色度(Cb)或红差色度(Cr)颜色分量。slice_alf_enabled_flag可以设置为0,以表示对条带中的所有颜色分量禁用自适应环路滤波。slice_num_alf_aps_ids_luma可以表示条带参考的ALF APS的数量。slice_num_alf_aps_ids_luma的值可以在0至7的范围内(包括端值)。slice_alf_aps_id_luma[i]可以表示条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的APS NAL单元的TemporalId应小于或等于经译码条带NAL单元的TemporalId。对于帧内条带和IRAP图像中的条带,slice_alf_aps_id_luma[i]可以不是指与并非包括帧内条带的图像或IRAP图像的其它图像关联的ALF APS。slice_alf_chroma_idc可以设置为0,以表示自适应环路滤波不应用于Cb和Cr颜色分量。slice_alf_chroma_idc可以设置为1,以表示自适应环路滤波应用于Cb颜色分量。slice_alf_chroma_idc可以设置为2,以表示自适应环路滤波应用于Cr颜色分量。slice_alf_chroma_idc可以设置为3,以表示自适应环路滤波应用于Cb和Cr颜色分量。slice_alf_chroma_idc不存在时可以推断为等于0。slice_alf_aps_id_chroma表示条带的色度分量参考的ALF APS的adaptation_parameter_set_id。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的APS NAL单元的TemporalId应小于或等于经译码条带NAL单元的TemporalId。对于帧内条带和IRAP图像中的条带,slice_alf_aps_id_chroma应该不是指与并非包括帧内条带的图像或IRAP图像的其它图像关联的ALF APS。
前面的示例性实现方式存在某些问题。例如,APS中指示的ALF参数的类型由表示为alf_luma_filter_signal_flag和alf_chroma_filter_signal_flag的两个标志指定。这两个标志的值可能导致以下四种可能性:两个标志的值都为0;alf_luma_filter_signal_flag等于1,alf_chroma_filter_signal_flag等于0;alf_luma_filter_signal_flag等于0,alf_chroma_filter_signal_flag等于1;两个标志的值都为1。在这四种可能性中,当两个标志的值都等于0时,ALF APS的指示是冗余的。此外,例如通过使用语法元素slice_alf_aps_id_luma[i],ALF APS可以被用于与亮度分量相关的参数的条带参考。但是,例如当alf_luma_filter_signal_flag的值等于0时,ALF APS不需要包括用于亮度分量的ALF参数。色度分量可能会出现同样的问题。
通常,本发明描述了对在APS中指示ALF参数的方法的一些约束。ALF参数可以包括用于亮度分量和/或色度分量的参数。对本文中使用的技术的描述是基于VVC标准,但也可以应用于其它视频编解码规范。解决上文列出的问题的示例性机制如下所述。可以使用约束,使得ALF APS应包括用于至少一种类型的颜色分量(例如,亮度或色度)的ALF参数。此外,可以应用约束,使得当ALF APS被用于与亮度分量相关的ALF参数的条带参考时,ALFAPS应包括用于亮度分量的ALF参数。此外,可以应用约束,使得当ALF APS被用于与色度分量相关的ALF参数的条带参考时,ALF APS应包括用于色度分量的ALF参数。
以下是一个示例性实现方式。ALF数据语义示例如下。alf_luma_filter_signal_flag可以设置为1,以表示亮度滤波集合被指示。alf_luma_filter_signal_flag可以设置为0,以表示亮度滤波集合不被指示。alf_chroma_filter_signal_flag可以设置为1,以表示色度滤波被指示。alf_chroma_filter_signal_flag可以设置为0,以表示色度滤波不被指示。当ChromaArrayType等于0时,alf_chroma_filter_signal_flag也应等于0。码流一致性可能要求alf_luma_filter_signal_flag和alf_chroma_filter_signal_flag的值不应都等于0。表示不同自适应环路滤波的数量的变量NumAlfFilters可以设置为25。
条带头语义示例如下。slice_alf_enabled_flag可以设置为1,以表示自适应环路滤波被启用,并可以应用于条带中的Y、Cb或Cr颜色分量。slice_alf_enabled_flag可以设置为0,以表示对条带中的所有颜色分量禁用自适应环路滤波。slice_num_alf_aps_ids_luma可以表示条带参考的ALF APS的数量。slice_num_alf_aps_ids_luma的值可以在0至7的范围内(包括端值)。slice_alf_aps_id_luma[i]可以表示条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的APS NAL单元的TemporalId应小于或等于经译码条带NAL单元的TemporalId。对于帧内条带和IRAP图像中的条带,slice_alf_aps_id_luma[i]应该不是指与并非包括帧内条带的图像或IRAP图像的任何其它图像关联的ALF APS。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的APS NAL单元的alf_luma_filter_signal_flag的值应等于1。
slice_alf_chroma_idc可以设置为0,以表示自适应环路滤波不应用于Cb和Cr颜色分量。slice_alf_chroma_idc可以设置为1,以表示自适应环路滤波应用于Cb颜色分量。slice_alf_chroma_idc可以设置为2,以表示自适应环路滤波应用于Cr颜色分量。slice_alf_chroma_idc可以设置为3,以表示自适应环路滤波应用于Cb和Cr颜色分量。slice_alf_chroma_idc不存在时可以推断为等于0。slice_alf_aps_id_chroma表示条带的色度分量参考的ALF APS的adaptation_parameter_set_id。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的APS NAL单元的TemporalId应小于或等于经译码条带NAL单元的TemporalId。对于帧内条带和IRAP图像中的条带,slice_alf_aps_id_chroma应该不是指与并非包括帧内条带的图像或IRAP图像的任何其它图像关联的ALF APS。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的APS NAL单元的alf_chroma_filter_signal_flag的值应等于1。
图6为示例性视频译码设备600的示意图。视频译码设备600适用于实现本文描述的所公开示例/实施例。视频译码设备600包括下行端口620、上行端口650,和/或收发单元(Tx/Rx)610,其中,所述收发单元包括用于通过网络在上行和/或下行发送数据的发送器和/或接收器。视频译码设备600还包括:处理器630,包括用于处理数据的逻辑单元和/或中央处理单元(central processing unit,CPU);和用于存储数据的存储器632。视频译码设备600还可以包括与上行端口650和/或下行端口620耦合的电子组件、光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件,和/或无线通信组件,用于通过电、光或无线通信网络进行数据通信。视频译码设备600还可以包括输入和/或输出(input/output,I/O)设备660,用于与用户进行数据通信。I/O设备660可以包括输出设备,如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备660还可以包括输入设备,如键盘、鼠标、轨迹球等,和/或用于与此类输出设备交互的对应接口。
处理器630通过硬件和软件实现。处理器630可以实现为一个或多个CPU芯片、核(例如作为多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)和数字信号处理器(digital signal processor,DSP)。处理器630与下行端口620、Tx/Rx 610、上行端口650和存储器632通信。处理器630包括译码模块614。译码模块614实现本文公开的实施例,例如方法100、700和800,所述实施例可以采用码流500。译码模块614还可以实现本文描述的任何其它方法/机制。此外,所述译码模块614可以实现编解码系统200、编码器300和/或解码器400。例如,译码模块614可以将图像的条带编码到码流中。此外,译码模块614可以确定在对条带进行滤波时应用的ALF参数。译码模块614可以将ALF参数编码到一个或多个ALF APS中。译码模块614可以将约束应用于ALF APS。例如,译码模块614可以确保每个ALF APS包括亮度滤波集合、色度滤波集合或两者。此外,译码模块614可以为每个ALF APS设置ALF亮度滤波信号标志和ALF色度滤波信号标志。具体地,译码模块614可以确保ALF亮度滤波信号标志和ALF色度滤波信号标志中的至少一个等于1,以确保每个ALF APS包括至少一个亮度滤波集合或色度滤波集合。此外,译码模块614可以确保当对应条带头分别指向ALF APS的亮度滤波集合和/或色度滤波集合时,ALF APS会设置ALF亮度滤波信号标志和/或ALF色度滤波信号标志。因此,译码模块614使视频译码设备600在译码视频数据时提供其它功能和/或译码效率。因此,译码模块614改进了视频译码设备600的功能,并解决了视频编码领域特有的问题。此外,译码模块614可以将视频译码设备600变换到不同的状态。或者,译码模块614可以实现为存储在存储器632中并由处理器630执行的指令(例如,存储在非瞬时性介质上的计算机程序产品)。
存储器632包括一个或多个存储器类型,如磁盘、磁带机、固态驱动器、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存、三元内容寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(staticrandom-access memory,SRAM)等。存储器632可以用作溢出数据存储设备,以在选择程序用于执行时存储此类程序,并存储程序执行期间读取的指令和数据。
图7是通过使用具有约束的ALF APS将视频序列编码到码流(例如,码流500)中的示例性方法700的流程图。编码器(例如编解码系统200、编码器300和/或视频译码设备600)在执行方法100时可以采用方法700。
方法700可以开始于:编码器接收包括多个图像的视频序列,并例如根据用户输入确定将所述视频序列编码到码流中。在步骤701中,将图像的条带编码到码流中,作为编码视频序列的一部分。条带可以包括译码亮度分量、译码色度分量或其组合。
在步骤703中,解码器确定应用于条带的ALF参数。例如,解码器可以对经编码条带进行解码,并将ALF参数应用于经解码条带。然后,编码器可以迭代地调整ALF参数,以便创建最高质量的经解码条带,同时平衡译码效率约束。这可以作为RDO过程的一部分执行。然后,可以存储实现最高质量的经解码条带的ALF参数,以便编码到码流中。ALF参数可以包括应用于解码亮度样本的亮度滤波集合、应用于解码色度样本的色度滤波集合,或两者。
在步骤705中,ALF参数被编码到码流中的ALF APS中。ALF APS被编码为包括ALF亮度滤波信号标志和ALF色度滤波信号标志。在一些示例中,ALF亮度滤波信号标志表示为alf_luma_filter_signal_flag。此外,alf_luma_filter_signal_flag表示亮度滤波集合是否在ALF APS中指示。在一些示例中,ALF色度滤波信号标志表示为alf_chroma_filter_signal_flag。此外,alf_chroma_filter_signal_flag表示色度滤波集合是否在ALF APS中指示。ALF APS被约束成使得ALF亮度滤波信号标志或ALF色度滤波信号标志中的至少一个被设置为1。这确保了ALF APS包括至少一个滤波集合。
在步骤707中,亮度分量ALF APS ID可以编码到与条带关联的条带头中。亮度分量ALF APS ID表示包括用于与条带头对应的条带的亮度滤波集合的ALF APS的APS ID。因此,当条带头中的亮度分量ALF APS ID等于ALF APS的APS ID时,步骤705的ALF APS中的ALF亮度滤波信号标志的值被约束为等于1。在一些示例中,亮度分量ALF APS ID表示为slice_alf_aps_id_luma[i]。例如,slice_alf_aps_id_luma[i]可以表示条带的亮度分量参考的第i个ALF APS的APS ID(adaptation_parameter_set_id)。
在步骤709中,色度分量ALF APS ID可以编码到与条带关联的条带头中。色度分量ALF APS ID表示包括用于与条带头对应的条带的色度滤波集合的ALF APS的APS ID。因此,当条带头中的色度分量ALF APS ID等于ALF APS的APS ID时,步骤705的ALF APS中的ALF色度滤波信号标志的值被约束为等于1。在一些示例中,色度分量ALF APS ID表示为slice_alf_aps_id_chroma。例如,slice_alf_aps_id_chroma可以表示条带的色度分量参考的ALFAPS的adaptation_parameter_set_id。
在步骤711中,码流可以存储在编码器处,以发送给解码器。
图8是通过使用具有约束的ALF APS从码流(例如,码流500)中解码视频序列的示例性方法800的流程图。解码器(例如,编解码系统200、解码器400和/或视频译码设备600)在执行方法100时可以采用方法800。
当解码器开始接收表示视频序列的译码数据的码流时,例如作为方法700的结果,方法800可以开始。在步骤801中,解码器可以接收码流。码流包括经译码条带和关联的条带头。条带可以包括译码亮度分量、译码色度分量或其组合。码流还包括ALF APS。ALF APS包括ALF参数。ALF参数可以包括应用于解码亮度样本的亮度滤波集合、应用于解码色度样本的色度滤波集合,或两者。ALF APS包括ALF亮度滤波信号标志和ALF色度滤波信号标志。在一些示例中,ALF亮度滤波信号标志表示为alf_luma_filter_signal_flag。此外,alf_luma_filter_signal_flag表示亮度滤波集合是否在ALF APS中指示。在一些示例中,ALF色度滤波信号标志表示为alf_chroma_filter_signal_flag。此外,alf_chroma_filter_signal_flag表示色度滤波集合是否在ALF APS中指示。ALF APS被约束成使得ALF亮度滤波信号标志或ALF色度滤波信号标志中的至少一个被设置为1。这确保了ALF APS包括至少一个滤波集合。
在步骤803中,解码器可以从与条带关联的条带头获得亮度分量ALF APS ID。亮度分量ALF APS ID表示包括用于与条带头对应的条带的亮度滤波集合的ALF APS的APS ID。因此,当条带头中的亮度分量ALF APS ID等于ALF APS的APS ID时,步骤801的ALF APS中的ALF亮度滤波信号标志的值被约束为等于1。在一些示例中,亮度分量ALF APS ID表示为slice_alf_aps_id_luma[i]。例如,slice_alf_aps_id_luma[i]可以表示条带的亮度分量参考的第i个ALF APS的adaptation_parameter_set_id。因此,解码器可以根据条带头中的亮度分量ALF APS ID从ALF APS中获取条带的亮度滤波集合。
在步骤805中,解码器可以从与条带关联的条带头获得色度分量ALF APS ID。色度分量ALF APS ID表示包括用于与条带头对应的条带的色度滤波集合的ALF APS的APS ID。因此,当条带头中的色度分量ALF APS ID等于ALF APS的APS ID时,步骤801的ALF APS中的ALF色度滤波信号标志的值被约束为等于1。在一些示例中,色度分量ALF APS ID表示为slice_alf_aps_id_chroma。例如,slice_alf_aps_id_chroma可以表示条带的色度分量参考的ALF APS的adaptation_parameter_set_id。
在步骤807中,解码器可以根据ALF APS中的ALF参数对条带进行解码。例如,解码器可以根据条带头中和/或ALF APS中的标志获得亮度滤波集合和/或色度滤波集合。然后,解码器可以根据亮度滤波集合和/或色度滤波集合配置ALF。此外,解码器可以对条带进行解码,并将ALF参数应用于经解码条带,以创建重建条带,作为重建图像的一部分。
在步骤809中,解码器可以转发该条带以作为解码视频序列的一部分显示。例如,解码器可以包括该条带以及其它条带,以重建图像。然后,可以将图像与其它图像一起排序,以创建解码视频序列。可以转发图像以供显示,以便向用户显示解码视频序列。
图9是通过使用具有约束的ALF APS对码流(例如,码流500)中图像的视频序列进行译码的示例性系统900的示意图。系统900可以由编码器和解码器(例如,编解码系统200、编码器300、解码器400)和/或视频译码设备600实现。此外,当实现方法100、700和/或800时,可以使用系统900。
系统900包括视频编码器902。视频编码器902包括条带编码模块901,用于将条带编码到码流中,作为编码视频序列的一部分。视频编码器902还包括确定模块903,用于确定应用于条带的ALF参数。视频编码器902还包括ALF编码模块905,用于对码流中的ALF APS中的ALF参数进行编码,该ALF APS包括ALF亮度滤波信号标志和ALF色度滤波信号标志,并被约束成使得ALF亮度滤波信号标志和ALF色度滤波信号标志中的至少一个等于1。视频编码器902还包括存储模块907,用于存储码流,所述码流用于发送给解码器。视频编码器902还包括发送模块909,用于发送码流,以支持在解码器处对条带进行解码,作为解码视频序列的一部分。视频编码器902还可以用于执行方法700的步骤中的任一步骤。
系统900还包括视频解码器910。视频解码器910包括接收模块911,用于接收包括ALF APS的码流,该ALF APS包括ALF亮度滤波信号标志和ALF色度滤波信号标志,并被约束成使得ALF亮度滤波信号标志和ALF色度滤波中的至少一个信号标志等于1。视频解码器910还包括解码模块913,用于根据ALF APS中的ALF参数对条带进行解码。视频解码器910还包括转发模块915,用于转发条带以作为解码视频序列的一部分显示。视频解码器910还可以用于执行方法800的步骤中的任一步骤。
当第一组件与第二组件之间除线、迹线或其它介质之外,没有中间组件时,第一组件与第二组件直接耦合。当第一组件与第二组件之间除了线、迹线或其它介质之外还有中间组件时,第一组件与第二组件间接耦合。术语“耦合”及其同义词包括直接耦合和间接耦合。除非另有说明,否则术语“大约”是指包括其后数量的±10%的范围。
还应当理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应当理解为仅仅是示例性的。同理,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
虽然本发明提供了若干个实施例,但应当理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以通过其它多种具体形式体现。本发明的示例将被视为说明性而非限制性的,且本发明并不限于本文中所给出的详细内容。例如,各种元件或组件可以组合或集成在另一系统中,或者一些特征可以省略或不实施。
此外,在各种实施例中描述和示出为分立的或单独的技术、系统、子系统和方法,在不背离本发明的范围的情况下,可以与其它系统、组件、技术或方法组合或集成。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。

Claims (20)

1.一种在解码器中实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收包括自适应环路滤波(adaptive loop filter,ALF)自适应参数集(adaptation parameter set,APS)的码流,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1;
所述解码器的处理器根据所述ALF APS中的ALF参数对条带进行解码。
2.根据权利要求1所述的方法,其特征在于,所述alf_luma_filter_signal_flag表示亮度滤波集合是否在所述ALF APS中指示。
3.根据权利要求1或2所述的方法,其特征在于,当条带头中与所述条带关联的亮度分量ALF APS标识符(identifier,ID)(slice_alf_aps_id_luma[i])等于所述ALFAPS的APSID时,所述ALF APS的所述alf_luma_filter_signal_flag的值被约束为等于1。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述slice_alf_aps_id_luma[i]表示所述条带的亮度分量参考的第i个ALF APS的APS ID(adaptation_parameter_set_id)。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述alf_chroma_filter_signal_flag表示色度滤波集合是否在所述ALF APS中指示。
6.根据权利要求1至5中任一项所述的方法,其特征在于,当条带头中与所述条带关联的色度分量ALF APS ID(slice_alf_aps_id_chroma)等于所述ALF APS的所述APSID时,所述ALF APS的所述alf_chroma_filter_signal_flag的值被约束为等于1。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述slice_alf_aps_id_chroma表示所述条带的色度分量参考的所述ALF APS的adaptation_parameter_set_id。
8.一种在编码器中实现的方法,其特征在于,所述方法包括:
所述编码器的处理器将条带编码到码流中,作为编码视频序列的一部分;
所述处理器确定应用于所述条带的自适应环路滤波(adaptive loop filter,ALF)参数;
所述处理器将所述ALF参数编码到所述码流中的ALF自适应参数集(adaptationparameter set,APS)中,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1;
耦合到所述处理器的存储器存储所述码流,所述码流用于发送给解码器。
9.根据权利要求8所述的方法,其特征在于,所述alf_luma_filter_signal_flag表示亮度滤波集合是否在所述ALF APS中指示。
10.根据权利要求8或9所述的方法,其特征在于,当条带头中与所述条带关联的亮度分量ALF APS标识符(identifier,ID)(slice_alf_aps_id_luma[i])等于所述ALFAPS的APSID时,所述ALF APS的所述alf_luma_filter_signal_flag的值被约束为等于1。
11.根据权利要求8至10中任一项所述的方法,其特征在于,所述slice_alf_aps_id_luma[i]表示所述条带的亮度分量参考的第i个ALF APS的APS ID(adaptation_parameter_set_id)。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述alf_chroma_filter_signal_flag表示色度滤波集合是否在所述ALF APS中指示。
13.根据权利要求8至12中任一项所述的方法,其特征在于,当条带头中与所述条带关联的色度分量ALF APS ID(slice_alf_aps_id_chroma)等于所述ALF APS的所述APSID时,所述ALF APS的所述alf_chroma_filter_signal_flag的值被约束为等于1。
14.根据权利要求8至13中任一项所述的方法,其特征在于,所述slice_alf_aps_id_chroma表示所述条带的色度分量参考的所述ALF APS的adaptation_parameter_set_id。
15.一种视频译码设备,其特征在于,包括:
处理器、耦合到所述处理器的接收器、耦合到所述处理器的存储器和耦合到所述处理器的发送器,其中,所述处理器、所述接收器、所述存储器和所述发送器用于执行根据权利要求1至14中任一项所述的方法。
16.一种非瞬时性计算机可读介质,其特征在于,包括供视频译码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,所述计算机可执行指令在由处理器执行时,使所述视频译码设备执行根据权利要求1至14中任一项所述的方法。
17.一种解码器,其特征在于,包括:
接收模块,用于接收包括自适应环路滤波(adaptive loop filter,ALF)自适应参数集(adaptation parameter set,APS)的码流,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1;
解码模块,用于根据所述ALF APS中的ALF参数对条带进行解码;
转发模块,用于转发所述条带以作为解码视频序列的一部分显示。
18.根据权利要求17所述的解码器,其特征在于,所述解码器还用于执行根据权利要求1至7中任一项所述的方法。
19.一种编码器,其特征在于,包括:
条带编码模块,用于将条带编码到码流中,作为编码视频序列的一部分;
确定模块,用于确定应用于所述条带的自适应环路滤波(adaptive loop filter,ALF)参数;
ALF编码模块,用于将所述ALF参数编码到所述码流中的ALF自适应参数集(adaptationparameter set,APS)中,所述ALF APS包括ALF亮度滤波信号标志(alf_luma_filter_signal_flag)和ALF色度滤波信号标志(alf_chroma_filter_signal_flag),其中,所述alf_luma_filter_signal_flag或所述alf_chroma_filter_signal_flag中的至少一个等于1;
存储模块,用于存储所述码流,所述码流用于发送给解码器。
20.根据权利要求19所述的编码器,其特征在于,所述编码器还用于执行根据权利要求8至14中任一项所述的方法。
CN202080054529.5A 2019-08-16 2020-07-10 视频译码中的alf aps约束 Pending CN114175638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210417806.5A CN114760469A (zh) 2019-08-16 2020-07-10 视频译码中的alf aps约束

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962888267P 2019-08-16 2019-08-16
US62/888,267 2019-08-16
PCT/US2020/041666 WO2020215102A2 (en) 2019-08-16 2020-07-10 Alf aps constraints in video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210417806.5A Division CN114760469A (zh) 2019-08-16 2020-07-10 视频译码中的alf aps约束

Publications (1)

Publication Number Publication Date
CN114175638A true CN114175638A (zh) 2022-03-11

Family

ID=72837672

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080054529.5A Pending CN114175638A (zh) 2019-08-16 2020-07-10 视频译码中的alf aps约束
CN202210417806.5A Pending CN114760469A (zh) 2019-08-16 2020-07-10 视频译码中的alf aps约束

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210417806.5A Pending CN114760469A (zh) 2019-08-16 2020-07-10 视频译码中的alf aps约束

Country Status (10)

Country Link
US (1) US20220159285A1 (zh)
EP (1) EP4011070A4 (zh)
JP (2) JP7383795B2 (zh)
KR (1) KR20220038518A (zh)
CN (2) CN114175638A (zh)
AU (1) AU2020257304A1 (zh)
BR (1) BR112022002906A2 (zh)
CA (1) CA3151525A1 (zh)
MX (1) MX2022001989A (zh)
WO (1) WO2020215102A2 (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK2882190T3 (en) * 2011-04-21 2019-02-18 Hfi Innovation Inc Method and apparatus for improved ring-structured filtration
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
WO2013031315A1 (ja) 2011-08-30 2013-03-07 ソニー株式会社 画像処理装置及び画像処理方法
US9807403B2 (en) * 2011-10-21 2017-10-31 Qualcomm Incorporated Adaptive loop filtering for chroma components
RS56322B1 (sr) * 2012-04-16 2017-12-29 Hfi Innovation Inc Postupak i aparat za filtriranje u petlji preko granica režnja ili pločice
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
GB201902829D0 (en) * 2019-03-01 2019-04-17 Canon Kk Method and apparatus for encoding and decoding a video bitsream for merging regions of interest
US20220256201A1 (en) * 2019-05-03 2022-08-11 Mediatek Inc. Methods and Apparatuses of Syntax Signaling and Referencing Constraint in Video Coding System
CN117221538A (zh) * 2019-07-08 2023-12-12 Lg电子株式会社 解码和编码设备、数据发送设备及计算机可读存储介质

Also Published As

Publication number Publication date
US20220159285A1 (en) 2022-05-19
WO2020215102A3 (en) 2020-12-10
JP2022544690A (ja) 2022-10-20
EP4011070A2 (en) 2022-06-15
EP4011070A4 (en) 2022-11-23
MX2022001989A (es) 2022-05-11
WO2020215102A2 (en) 2020-10-22
CA3151525A1 (en) 2020-10-22
KR20220038518A (ko) 2022-03-28
CN114760469A (zh) 2022-07-15
AU2020257304A1 (en) 2022-03-17
JP7383795B2 (ja) 2023-11-20
JP2024020325A (ja) 2024-02-14
BR112022002906A2 (pt) 2022-05-10

Similar Documents

Publication Publication Date Title
CN113508397A (zh) 视频译码中的自适应参数集标识符值空间
CN115550647A (zh) 视频译码中的子图像标识符指示
CN114189694A (zh) 用于视频译码的参数集
EP4277271A2 (en) An encoder, a decoder and corresponding methods
CN113796085A (zh) 用于逐步解码刷新的假想参考解码器
US11425377B2 (en) Arbitrary and wrap-around tile grouping
US11889087B2 (en) Tile group assignment for raster scan and rectangular tile groups in video coding
CN114026872B (zh) 一种视频编解码方法、编解码器以及译码设备
KR20210105980A (ko) 비디오 인코더, 비디오 디코더 및 상응하는 방법들
CN115460411A (zh) 图像级非图像级语法元素的指示
CN114430908A (zh) 基于子图像的视频译码中每子图像单一条带的指示
KR20210104900A (ko) 비디오 인코더, 비디오 디코더 및 상응하는 방법들
CN114556938B (zh) 基于子图像的视频译码中的子图像id指示
JP7383795B2 (ja) ビデオコーディングにおけるalf aps制約

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: 40063466

Country of ref document: HK