CN113498522A - 视频译码中的自适应参数集类型 - Google Patents

视频译码中的自适应参数集类型 Download PDF

Info

Publication number
CN113498522A
CN113498522A CN202080017445.4A CN202080017445A CN113498522A CN 113498522 A CN113498522 A CN 113498522A CN 202080017445 A CN202080017445 A CN 202080017445A CN 113498522 A CN113498522 A CN 113498522A
Authority
CN
China
Prior art keywords
aps
type
parameter
lmcs
nal unit
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
CN202080017445.4A
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
Publication of CN113498522A publication Critical patent/CN113498522A/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/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/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/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/124Quantisation
    • 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/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/187Methods 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 scalable video layer
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/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)
  • Error Detection And Correction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

公开了一种视频译码机制。所述机制包括接收码流,所述码流包括:包括自适应环路滤波器(adaptive loop filter,ALF)类型的第一自适应参数集(adaptation parameter set,APS)网络抽象层(network abstraction layer,NAL)单元、包括缩放列表类型的第二APS NAL单元、包括亮度映射色度缩放(luma mapping with chroma scaling,LMCS)类型的第三APS NAL单元,以及条带。所述机制还包括:从所述第一APS NAL单元获取ALF参数,从所述第二APS NAL单元获取缩放列表参数,以及从所述第三APS NAL单元获取LMCS参数。所述机制还包括使用所述ALF参数、所述缩放列表参数和所述LMCS参数对所述条带进行解码。所述机制还包括转发所述条带以作为解码视频序列的一部分显示。

Description

视频译码中的自适应参数集类型
相关申请的交叉引用
本专利申请要求王叶奎等人于2019年2月27日提交的发明名称为“视频译码的自适应参数集(Adaptation Parameter Set for Video Coding)”的第62/811,358号美国临时专利申请、王叶奎等人于2019年3月11日提交的发明名称为“视频译码的自适应参数集(Adaptation Parameter Set for Video Coding)”的第62/816,753号美国临时专利申请以及王叶奎等人于2019年5月21日提交的发明名称为“视频译码的自适应参数集(Adaptation Parameter Set for Video Coding)”的第62/850,973号美国临时专利申请的权益,这些在先申请通过引用的方式并入本文中。
技术领域
本发明大体上涉及一种视频译码,具体地,涉及视频译码中用于压缩视频数据的译码工具参数的高效指示(signaling)。
背景技术
即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中发送或以其它方式发送时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中发送。由于内存资源可能有限,当在存储设备中存储视频时,视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行编码,然后进行发送或存储,从而减少表示数字视频图像所需的数据量。然后,压缩数据在目的地侧由对视频数据进行解码的视频解压缩设备接收。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
在一个实施例中,本发明包括一种在解码器中实现的方法,所述方法包括:所述解码器的接收器接收码流,所述码流包括:与经编码条带相关的包括自适应环路滤波器(adaptive loop filter,ALF)类型的第一自适应参数集(adaptation parameter set,APS)网络抽象层(network abstraction layer,NAL)单元;所述解码器的处理器从所述第一APS NAL单元获取ALF参数;所述处理器使用所述ALF参数对所述经编码条带进行解码;所述处理器转发所述解码结果以作为解码视频序列的一部分显示。APS用于维护与多个图像上的多个条带相关的数据。本发明引入了包含不同类型数据的多种类型APS的概念。具体来说,ALF类型的APS(称为ALF APS)可以包含ALF参数。此外,缩放列表类型的APS(称为缩放列表APS)可以包含缩放列表参数。此外,亮度映射色度缩放(luma mapping with chromascaling,LMCS)类型的APS(称为LMCS APS)可以包含LMCS/整形器参数。ALF APS、缩放列表APS和LMCS APS可以各自译码为单独的NAL类型,因此包括在不同的NAL单元中。这样,改变一种类型的APS中的数据(例如,ALF参数)不会导致对其它类型的数据(例如,LMCS参数)的冗余译码。因此,提供多种类型的APS提高了编码效率,从而减少了编码器和解码器侧的网络资源、存储器资源和/或处理资源的使用。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流还包括:包括缩放列表类型的第二APS NAL单元,其中,所述方法还包括所述处理器从所述第二APS NAL单元获取缩放列表参数,并且其中,进一步使用所述缩放列表参数对所述条带进行解码。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流还包括:包括LMCS类型的第三APS NAL单元,其中,所述方法还包括所述处理器从所述第三APSNAL单元获取LMCS参数,并且其中,进一步使用所述LMCS参数对所述条带进行解码。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流还包括条带头,其中,所述条带参考所述条带头,并且其中,所述条带头参考所述第一APS NAL单元、所述第二APS NAL单元和所述第三个APS NAL单元。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:每个APS包括APS参数类型(aps_params_type)码,所述APS参数类型(aps_params_type)码被设置为指示所述每个APS中包括的参数的类型的预定义值。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:当前APS包括从预定义范围中选择的当前APS标识符(identifier,ID),其中,所述当前APS ID与一个在先APS ID关联,所述一个在先APS ID与和所述当前APS类型相同的一个在先APS相关,并且其中,所述当前APS ID与另一个在先APS ID不关联,所述另一个在先APS ID与和所述当前APS类型不同的另一个在先APS相关。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:每个APS包括从预定义范围中选择的APS ID,并且其中,所述预定义范围是根据所述每个APS的参数类型确定的。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:每个APS由参数类型和APS ID的组合标识。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流还包括序列参数集(sequence parameter set,SPS),所述序列参数集包括标志,所述标志设置为指示针对包括所述条带的编码视频序列启用LMCS,并且其中,所述第三APS NAL单元的所述LMCS参数是根据所述标志获取的。
在一个实施例中,本发明包括一种在编码器中实现的方法,所述方法包括:所述编码器的处理器将条带编码到码流中,成为经编码条带,作为编码视频序列的一部分;所述处理器确定与所述经编码条带相关的自适应环路滤波器(adaptive loop filter,ALF)参数;所述处理器将所述ALF参数编码到所述码流中的包括ALF类型的第一自适应参数集(adaptation parameter set,APS)网络抽象层(network abstraction layer,NAL)单元中;与所述处理器耦合的存储器存储用于发送到解码器的所述码流。APS用于维护与多个图像上的多个条带相关的数据。本发明引入了包含不同类型数据的多种类型APS的概念。具体来说,ALF类型的APS(称为ALF APS)可以包含ALF参数。此外,缩放列表类型的APS(称为缩放列表APS)可以包含缩放列表参数。此外,亮度映射色度缩放(luma mapping with chromascaling,LMCS)类型的APS(称为LMCS APS)可以包含LMCS/整形器参数。ALF APS、缩放列表APS和LMCS APS可以各自译码为单独的NAL类型,因此包括在不同的NAL单元中。这样,改变一种类型的APS中的数据(例如,ALF参数)不会导致对其它类型的数据(例如,LMCS参数)的冗余译码。因此,提供多种类型的APS提高了编码效率,从而减少了编码器和解码器侧的网络资源、存储器资源和/或处理资源的使用。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:还包括:所述处理器确定用于所述条带的缩放列表参数;所述处理器将所述缩放列表参数编码到所述码流中的包括缩放列表类型的第二APS NAL单元中。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:还包括:所述处理器确定用于所述条带的LMCS参数;所述处理器将所述LMCS参数编码到所述码流中的包括LMCS类型的第三APS NAL单元中。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:还包括:所述处理器将条带头编码到所述码流中,其中,所述条带参考所述条带头,并且其中,所述条带头参考所述第一APS NAL单元、所述第二APS NAL单元和所述第三APS NAL单元。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:每个APS包括aps_params_type码,所述aps_params_type码被设置为指示所述每个APS中包括的参数的类型的预定义值。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:当前APS包括从预定义范围中选择的当前APS ID,其中,所述当前APS ID与一个在先APS ID关联,所述一个在先APS ID与和所述当前APS类型相同的一个在先APS相关,并且其中,所述当前APS ID与另一个在先APS ID不关联,所述另一个在先APS ID与和所述当前APS类型不同的另一个在先APS相关。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:每个APS包括从预定义范围中选择的APS ID,并且其中,所述预定义范围是根据所述每个APS的参数类型确定的。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:每个APS由参数类型和APS ID的组合标识。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:还包括所述处理器将SPS编码到所述码流中,其中,所述SPS包括标志,所述标志设置为指示针对包括所述条带的所述编码视频序列启用LMCS。
在一个实施例中,本发明包括一种视频译码设备,包括:处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器以及与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器和发送器用于执行根据上述方面中任一项所述的方法。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品;所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令;在处理器执行所述计算机可执行指令时,使所述视频译码设备执行根据上述方面中任一项所述的方法。
在一个实施例中,本发明包括一种解码器,所述解码器包括:接收模块,用于接收码流,所述码流包括:包括ALF类型的第一APS NAL单元、包括缩放列表类型的第二APS NAL单元、包括LMCS类型的第三APS NAL单元,以及条带;获取模块,用于从所述第一APS NAL单元获取ALF参数,从所述第二APS NAL单元获取缩放列表参数,从所述第三APS NAL单元获取LMCS参数;解码模块,用于使用所述ALF参数、所述缩放列表参数和所述LMCS参数对所述条带进行解码;以及转发模块,用于转发所述条带以作为解码视频序列的一部分显示。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述解码器还用于执行根据上述方面中任一项所述的方法。
在一个实施例中,本发明包括一种编码器,所述编码器包括:确定模块,用于确定用于条带的ALF参数、缩放列表参数和LMCS参数;编码模块,用于:将所述条带编码到码流中,作为编码视频序列的一部分,将所述ALF参数编码到所述码流中的包括ALF类型的第一APS NAL单元中,将所述缩放列表参数编码到所述码流中的包括缩放列表类型的第二APSNAL单元中,将所述LMCS参数编码到所述码流中的包括LMCS类型的第三APS NAL单元中;存储模块,用于存储用于发送到解码器的所述码流。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码器还用于执行上述任一方面提供的方法。
为了清楚起见,任一上述实施例可以与上述其它任意一个或多个实施例组合以创建在本发明范围内的新实施例。
根据以下具体实施方式结合附图和权利要求书能更清楚地理解这些和其它特征。
附图说明
为了更全面地理解本发明,现在参考下文结合附图和详细说明进行的简要描述,其中,相同的附图标记表示相同的部件。
图1是对视频信号进行译码的示例性方法的流程图;
图2是用于视频译码的示例性编码和解码(编解码)***的示意图;
图3是示例性视频编码器的示意图;
图4是示例性视频解码器的示意图;
图5是包含包括不同类型译码工具参数的多种类型自适应参数集(adaptationparameter set,APS)的示例性码流的示意图;
图6是在不同的值空间上为不同的APS类型分配APS标识符(identifier,ID)的示例性机制的示意图;
图7是示例性视频译码设备的示意图;
图8是通过使用多个APS类型将视频序列编码到码流中的示例性方法的流程图;
图9是通过使用多个APS类型从码流中解码视频序列的示例性方法的流程图;
图10是使用多个APS类型对码流中图像的视频序列进行译码的示例性***的示意图。
具体实施方式
首先应理解,尽管下文提供一个或多个实施例的说明性实现方式,但所公开的***和/或方法可以使用任一数量的技术来实现,无论所述技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
本文中使用以下缩略语:自适应环路滤波器(adaptive loop filter,ALF)、自适应参数集(adaptation parameter set,APS)、编码树块(coding tree block,CTB)、编码树单元(coding tree unit,CTU)、编码单元(coding unit,CU)、译码视频序列(coded videosequence,CVS)、基于超文本传输协议的动态自适应媒体流(dynamic adaptive streamingover hypertext transfer protocol,DASH)、帧内随机接入点(intra-random accesspoint,IRAP)、视频联合专家小组(joint video experts team,JVET)、运动约束分块集(motion-constrained tile set,MCTS)、最大传输单元(maximum transfer unit,MTU)、网络抽象层(network abstraction layer,NAL)、图像顺序编号(picture order count,POC)、原始字节序列载荷(raw byte sequence payload,RBSP)、样本自适应偏移(sampleadaptive offset,SAO)、序列参数集(sequence parameter set,SPS)、通用视频编码(versatile video coding,VVC)和工作草案(working draft,WD)。
许多视频压缩技术可以用来减小视频文件,同时尽量减少数据丢失。例如,视频压缩技术可以包括执行空间(例如,帧内)预测和/或时间(例如,帧间)预测来减少或去除视频序列中的数据冗余。针对基于块的视频译码,视频条带(slice)(例如,视频图像或视频图像的一部分)可以分割成视频块。视频块还可以称为树块(treeblock)、编码树块(codingtree block,CTB)、编码树单元(coding tree unit,CTU)、编码单元(coding unit,CU)和/或编码节点。图像内的经帧内编码(I)条带中的视频块参照同一个图像内的邻块中的参考样本使用空间预测进行译码。图像内的经帧间编码的单向预测(P)或双向预测(B)条带中的视频块可以参照同一个图像内的邻块中的参考样本使用空间预测进行译码,或者参照其它参考图像内的参考样本使用时间预测进行译码。图像(picture/image)可以称为帧(frame),参考图像可以称为参考帧。空间预测或时间预测会产生表示图像块的预测块。残差数据表示原始图像块与预测块之间的像素差。因此,经帧间编码块根据运动矢量和残差数据进行编码,其中,运动矢量指向组成预测块的参考样本的块,残差数据指示经编码块与预测块之间的差值。经帧内编码块根据帧内编码模式和所述残差数据进行编码。为了进一步压缩,残差数据可以从像素域变换到变换域,从而产生可以接着进行量化的残差变换系数。量化变换系数最初以二维阵列排列。可以扫描量化变换系数,以产生变换系数的一维矢量。可以应用熵编码以实现进一步压缩。下文更详细地论述了这类视频压缩技术。
为了确保经编码视频能够正确解码,视频根据对应的视频编码标准进行编码和解码。视频编码标准包括国际电联(international telecommunication union,ITU)标准化部门(international telecommunication union standardization sector,ITU-T)H.261、国际标准化组织/国际电工委员会(international organization forstandardization/international electrotechnical commission,ISO/IEC)运动图像专家组(motion picture experts group,MPEG)-1第2部分、ITU-T H.262或ISO/IEC MPEG-2第2部分、ITU-T H.263、ISO/IEC MPEG-4第2部分、先进的视频译码(advanced videocoding,AVC)(也称为ITU-T H.264或ISO/IEC MPEG-4第10部分),以及高效视频译码(highefficiency 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 dimensional,3D)AVC(three dimensional 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)中,所述工作草案包括JVET-M1001-v5和JVET-M1002-v1,分别提供VVC WD的算法描述、编码端描述以及参考软件。
视频序列通过使用各种译码工具进行译码。编码器为译码工具选择参数,目的是在对视频序列进行解码时,以最小的质量损失增加压缩。译码工具可以在不同范围内与视频的不同部分有关。例如,一些译码工具在视频序列级别上相关,一些译码工具在图像级别上相关,一些译码工具在条带级别上相关等。APS可用于指示可由多个图像和/或跨不同图像的多个条带共享的信息。具体来说,APS可以携带自适应环路滤波器(adaptive loopfilter,ALF)参数。由于各种原因,ALF信息可能不适合在序列参数集(sequence parameterset,SPS)中的序列级别上、在图像参数集(picture parameter set,PPS)中或图像头中的图像级别上或在分块组(tile group)头/条带头中的条带级别上进行指示。
如果ALF信息在SPS中指示,则每当ALF信息发生变化时,编码器必须生成新的SPS和新的IRAP图像。IRAP图像显著降低了译码效率。因此,对于不频繁使用IRAP图像的低延迟环境,将ALF信息放置在SPS中尤其成问题。在SPS中包括ALF信息也可能禁用SPS的带外传输。带外传输是指在与视频码流不同的传输数据流中传输对应数据(例如,在媒体文件的样本描述或样本条目中,在会话描述协议(session description protocol,SDP)文件中等)。出于类似原因,在PPS中指示ALF信息也可能是有问题的。具体来说,在PPS中包括ALF信息可能会禁用PPS的带外传输。在图像头中指示ALF信息也可能是有问题的。在一些情况下,可以不使用图像头。此外,一些ALF信息可以应用于多个图像。因此,在图像头中指示ALF信息会导致冗余信息传输,从而浪费带宽。在分块组头/条带头中指示ALF信息也是有问题的,因为ALF信息可以应用于多个图像,因此也可以应用于多个条带/分块组。因此,在条带/分块组头中指示ALF信息会导致冗余信息传输,从而浪费带宽。
基于上述内容,APS可以用于指示ALF参数。但是,视频译码***可以使用专门用于指示ALF参数的APS。APS语法和语义示例如下:
Figure BDA0003234132760000061
adaptation_parameter_set_id为APS提供了标识符,以供其它语法元素参考。APS可以跨图像共享,并且在图像中的不同分块组中可以不同。aps_extension_flag设置为0,以指示aps_extension_data_flag语法元素不存在于APS RBSP语法结构中。aps_extension_flag设置为1,以指示aps_extension_data_flag语法元素存在于APS RBSP语法结构中。aps_extension_data_flag可以取任意值。aps_extension_data_flag的存在和值可能不会影响解码器与VVC中指定的档次(profile)的一致性。符合VVC的解码器可能会忽略所有aps_extension_data_flag语法元素。
与ALF参数相关的分块组头语法示例如下:
Figure BDA0003234132760000071
tile_group_alf_enabled_flag设置为1,以指示自适应环路滤波器启用,并且可以应用于分块组中的亮度(Y)、蓝色色度(Cb)或红色色度(Cr)颜色分量。tile_group_alf_enabled_flag设置为0,以指示对分块组中的所有颜色分量禁用自适应循环滤波器。tile_group_aps_id表示分块组参考的APS的adaptation_parameter_set_id。adaptation_parameter_set_id等于tile_group_aps_id的APS NAL单元的TemporalId应小于或等于经译码分块组NAL单元的TemporalId。当具有相同adaptation_parameter_set_id值的多个APS被同一个图像的两个或多个分块组参考时,具有相同adaptation_parameter_set_id值的多个APS可以包括相同的内容。
整形器参数是用于自适应环内整形器视频译码工具的参数,也称为亮度映射色度缩放(luma mapping with chroma scaling,LMCS)。SPS整形器语法和语义示例如下:
Figure BDA0003234132760000072
sps_reshaper_enabled_flag设置为1,以指示整形器用于译码视频序列(codedvideo sequence,CVS)中。sps_reshaper_enabled_flag设置为0,以指示整形器不用于CVS中。
分块组头/条带头整形器语法和语义示例如下:
Figure BDA0003234132760000073
Figure BDA0003234132760000081
tile_group_reshaper_model_present_flag设置为1,以指示tile_group_reshaper_model()存在于分块组头中。tile_group_reshaper_model_present_flag设置为0,以指示tile_group_reshaper_model()不存在于分块组头中。当tile_group_reshaper_model_present_flag不存在时,推断标志等于0。tile_group_reshaper_enabled_flag设置为1,以指示对当前分块组启用整形器。tile_group_reshaper_enabled_flag设置为0,以指示不对当前分块组启用整形器。当tile_group_reshaper_enable_flag不存在时,推断标志等于0。tile_group_reshaper_chroma_residual_scale_flag设置为1,以指示对当前分块组启用色度残差缩放。tile_group_reshaper_chroma_residual_scale_flag设置为0,以指示不对当前分块组启用色度残差缩放。当tile_group_reshaper_chroma_residual_scale_flag不存在时,推断标志等于0。
分块组头/条带头整形器模型语法和语义示例如下:
Figure BDA0003234132760000082
reshape_model_min_bin_idx表示要在整形器构建过程中使用的最小位元(或片段(piece))索引。reshape_model_min_bin_idx的值可以在0至MaxBinIdx的范围内(包括端值)。MaxBinIdx的值可以等于15。reshape_model_delta_max_bin_idx表示允许的最大位元(或片段)索引MaxBinIdx减去要在整形器构建过程中使用的最大位元索引。reshape_model_max_bin_idx的值设置为MaxBinIdx减去reshape_model_delta_max_bin_idx。reshaper_model_bin_delta_abs_cw_prec_minus1+1表示用于表示语法reshape_model_bin_delta_abs_CW[i]的位数。reshape_model_bin_delta_abs_CW[i]表示第i个位元的绝对增量码字值。
reshaper_model_bin_delta_sign_CW_flag[i]表示reshape_model_bin_delta_abs_CW[i]的符号,如下所示。如果reshape_model_bin_delta_sign_CW_flag[i]等于0,则对应的变量RspDeltaCW[i]为正值。否则,(例如,reshape_model_bin_delta_sign_CW_flag[i]不等于0),对应变量RspDeltaCW[i]为负值。当reshape_model_bin_delta_sign_CW_flag[i]不存在时,推断标志为0。变量RspDeltaCW[i]设置为(1–2*reshape_model_bin_delta_sign_CW[i])*reshape_model_bin_delta_abs_CW[i]。
变量RspCW[i]推导如下:变量OrgCW设置为(1<<BitDepthY)/(MaxBinIdx+1)。如果reshaper_model_min_bin_idx<=i<=reshaper_model_max_bin_idx RspCW[i]=OrgCW+RspDeltaCW[i]。否则,RspCW[i]=0。如果BitDepthY的值等于10,则RspCW[i]的值应在32至2*OrgCW–1的范围内。变量InputPivot[i]推导如下,其中,i在0至MaxBinIdx+1的范围内(包括端值)。InputPivot[i]=I*OrgCW。变量ReshapePivot[i](其中,i在0至MaxBinIdx+1的范围内,包括端值)和变量ScaleCoef[i]和InvScaleCoeff[i](其中,i在0至MaxBinIdx的范围内,包括端值)推导如下:
Figure BDA0003234132760000091
变量ChromaScaleCoef[i]推导如下,其中,i在0至MaxBinIdx范围内(包括端值):
ChromaResidualScaleLut[64]={16384,16384,16384,16384,16384,16384,16384,8192,8192,8192,8192,5461,5461,5461,5461,4096,4096,4096,4096,3277,3277,3277,3277,2731,2731,2731,2731,2341,2341,2341,2048,2048,2048,1820,1820,1820,1638,1638,1638,1638,1489,1489,1489,1489,1365,1365,1365,1365,1260,1260,1260,1260,1170,1170,1170,1170,1092,1092,1092,1092,1024,1024,1024,1024};
shiftC=11
if(RspCW[i]==0)
ChromaScaleCoef[i]=(1<<shiftC)
Otherwise(RspCW[i]!=0),
ChromaScaleCoef[i]=ChromaResidualScaleLut[RspCW[i]>>1]
整形器参数的属性可以描述如下。tile_group_reshaper_model()语法结构中包含的整形器参数集的大小通常在60至100位左右。整形器模型通常由编码器每秒更新一次,其中包括许多帧。此外,更新的整形器模型的参数不太可能与整形器模型的早期实例的参数完全相同。
上述视频译码***包括某些问题。首先,此类***仅用于携带APS中的ALF参数。此外,整形器/LMCS参数可以由多个图像共享,并且可以包括许多变体。
本文公开了修改APS以支持提高的编码效率的各种机制。在第一示例中,公开了多种类型的APS。具体来说,ALF类型的APS(称为ALF APS)可以包含ALF参数。此外,缩放列表类型的APS(称为缩放列表APS)可以包含缩放列表参数。此外,LMCS类型的APS(称为LMCS APS)可以包含LMCS/整形器参数。ALF APS、缩放列表APS和LMCS APS可以各自译码为单独的NAL类型,因此包括在不同的NAL单元中。这样,改变一种类型的APS中的数据(例如,ALF参数)不会导致对其它类型的数据(例如,LMCS参数)的冗余译码。因此,提供多种类型的APS提高了编码效率,从而减少了编码器和解码器侧的网络资源、存储器资源和/或处理资源的使用。
在第二示例中,每个APS包括APS标识符(identifier,ID)。此外,每个APS类型都包括对应APS ID的单独值空间。此类值空间可以重叠。因此,第一类型的APS(例如,ALF APS)可以包括与第二类型的APS(例如,LMCS APS)相同的APS ID。这可以通过组合APS参数类型和APS ID以标识每个APS来实现。通过允许每个APS类型包括不同的值空间,编解码器不需要跨APS类型检查ID冲突。此外,通过允许值空间重叠,编解码器可以避免使用更大的ID值,从而节省了位。因此,针对不同类型的APS使用单独的重叠值空间提高了译码效率,从而减少了编码器和解码器侧的网络资源、存储器资源和/或处理资源的使用。
在第三示例中,LMCS参数包括在LMCS APS中。如上所述,LMCS/整形器参数可以每秒更改一次。视频序列每秒可以显示30至60张图像。因此,LMCS参数在30至60帧内可能不会更改。在LMCS APS中包括LMCS参数显著减少了LMCS参数的冗余译码。与条带相关的条带头和/或图像头可以参考相关的LMCS APS。这样,仅当条带的LMCS参数发生更改时,才对LMCS参数进行编码。因此,使用LMCS APS来编码LMCS参数提高了译码效率,从而减少了编码器和解码器侧的网络资源、存储器资源和/或处理资源的使用。
图1为对视频信号进行译码的示例性操作方法100的流程图。具体地,编码器对视频信号进行编码。编码过程采用各种机制来压缩视频信号,以减小视频文件大小。较小的文件大小允许在减少相关的带宽开销的同时,将压缩的视频文件发送给用户。然后,解码器对压缩的视频文件进行解码,以重建原始视频信号,向终端用户显示。解码过程通常是编码过程的逆过程,使得解码器重建的视频信号与编码器侧的视频信号保持一致。
在步骤101中,将视频信号输入编码器中。例如,所述视频信号可以是存储在存储器中的未压缩视频文件。在另一示例中,视频文件可以由视频捕获设备(例如,摄像机)捕获,并且进行编码以支持视频的直播流传输。所述视频文件可以包括音频分量和视频分量。所述视频分量包括一系列图像帧。按顺序观看这些图像帧时,给人以运动的视觉效果。这些帧包括根据光表示的像素(本文称为亮度分量(或亮度样本))和颜色表示的像素(称为色度分量(或色度样本))。在一些示例中,这些帧还可以包括深度值以支持三维观看。
在步骤103中,将视频分割成块。分割包括将每一帧中的像素细分成方块和/或矩形块,以进行压缩。例如,在高效视频译码(high efficiency video coding,HEVC)(还称为H.265和MPEG-H第2部分)中,可以先将帧分成编码树单元(coding tree unit,CTU),这些CTU是预定义大小(例如,64个像素×64个像素)的块。这些CTU包括亮度样本和色度样本。可以使用编码树将CTU分成块,然后递归地细分这些块,直到获得支持进一步编码的配置。例如,可以对帧的亮度分量进行细分,直到各个块包括相对均匀的亮度值。此外,可以对帧的色度分量进行细分,直到各个块包括相对均匀的色值。因此,分割机制根据视频帧的内容而不同。
在步骤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中采用的熵编码/解码。编码器在压缩过程中做出许多选择,例如根据一个或多个输入图像中的值的空间位置从若干个可能选择中选择块分割方案。指示确切的选择可能会占用大量的位元。本文中使用的位元是被视为变量的二进制值(例如,可以根据上下文变化的位值)。熵编码允许编码器丢弃任何明显不适合特定情况的选项,从而留下一组可使用选项。然后,为每个可使用选项分配码字。码字的长度取决于可使用选项的数量(例如,一个位元对应两个选项,两个位元对应三个或四个选项等)。然后,编码器对所选选项的码字进行编码。该方案减小了码字的大小,因为码字的大小与唯一地指示从可使用选项的小子集中进行选择,而非唯一指示从所有可能选项的潜在大集中进行选择所需要的码字一样大。然后,解码器通过以与编码器类似的方式确定可使用选项集来对所述选择进行解码。通过确定可使用选项集,解码器可以读取码字并确定编码器做出的选择。
在步骤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以及标头格式化和上下文自适应二进制算术译码(context adaptive binaryarithmetic coding,CABAC)组件231。这些组件如图所示进行耦合。在图2中,黑线表示待编码/解码数据的移动,而虚线表示控制其它组件操作的控制数据的移动。编解码***200中的组件都可以存在于编码器中。解码器可以包括编解码***200的组件的子集。例如,解码器可以包括帧内预测组件217、运动补偿组件219、缩放和逆变换组件229、环内滤波器组件225和解码图像缓冲区组件223。下面对这些组件进行描述。
经分割的视频信号201是已通过编码树分割成像素块的捕获视频序列。编码树采用各种划分模式将像素块细分成更小的像素块。然后,可以将这些块进一步细分为更小块。这些块可以称为编码树上的节点。较大的父节点被划分成较小的子节点。节点进行细分的次数称为节点/编码树的深度。在一些情况下,划分的块可以包括在编码单元(codingunit,CU)中。例如,CU可以是CTU的子部分,包括亮度块、一个或多个红差色度(Cr)块和一个或多个蓝差色度(Cb)块以及CU的对应语法指令。划分模式可以包括二叉树(binary tree,BT)、三叉树(triple tree,TT)和四叉树(quad tree,QT),用于根据所采用的划分模式,分别将节点分割成不同形状的两个、三个或四个子节点。将经分割的视频信号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包括在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),使用深度建模模式(depth modeling mode,DMM)对深度图的深度块进行译码。
当在编码器上实现时,帧内预测组件217可以根据由帧内估计组件215确定的所选帧内预测模式从预测块生成残差块,或者当在解码器上实现时,从码流读取残差块。残差块包括预测块与原始块之间的差值,表示为矩阵。然后,将残差块转发至变换缩放和量化组件213。帧内估计组件215和帧内预测组件217可以对亮度分量和色度分量进行操作。
变换缩放和量化组件213用于进一步压缩残差块。变换缩放和量化组件213对残差块进行离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discrete sinetransform,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 variable length coding,CAVLC)、CABAC、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binaryarithmetic coding,SBAC)、概率区间分割熵(probability interval partitioningentropy,PIPE)编码或其它熵编码技术对信息进行编码。在熵编码之后,可以将经编码码流发送到另一设备(例如,视频解码器)或存档以用于后续发送或检索。
图3为示例性视频编码器300的框图。视频编码器300可以用于实现编解码***200的编码功能和/或执行操作方法100中的步骤101、步骤103、步骤105、步骤107和/或步骤109。编码器300对输入视频信号进行分割,从而产生经分割的视频信号301,其中,所述经分割的视频信号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是包含包括不同类型译码工具参数的多种类型APS的示例性码流500的示意图。例如,码流500可以由编解码***200和/或编码器300生成,由编解码***200和/或解码器400进行解码。在另一示例中,在方法100的步骤109中,码流500可以由编码器生成,由解码器在步骤111中使用。
码流500包括序列参数集(sequence parameter set,SPS)510、多个图像参数集(picture parameter set,PPS)511、多个ALF APS 512、多个缩放列表APS 513,多个LMCSAPS 514、多个条带头515和图像数据520。SPS 510包含码流500中包含的视频序列中所有图像共用的序列数据。这些数据可以包括图像大小、位深度、译码工具参数、码率限制等。PPS511包含应用于整个图像的参数。因此,视频序列中的每个图像可以参考PPS 511。需要说明的是,虽然每个图像都参考PPS 511,但是在一些示例中,单个PPS 511可以包含多个图像的数据。例如,可以根据类似的参数对多个类似的图像进行译码。在这种情况下,单个PPS 511可以包含用于此类类似图像的数据。PPS 511可以表示可用于对应图像中的条带、量化参数、偏移等的译码工具。条带头515包含图像中的每个条带特定的参数。因此,视频序列中的每个条带可以有一个条带头515。条带头515可以包含条带类型信息、图像顺序编号(picture order count,POC)、参考图像列表、预测权重、分块入口点、去块效应参数等。需要说明的是,在一些上下文中,条带头515也可以被称为分块组头。
APS是包含应用于一个或多个图像521和/或条带523的语法元素的语法结构。在所示的示例中,APS可以分为多种类型。ALF APS 512是包括ALF参数的ALF类型的APS。ALF是一种基于块的自适应滤波器,它包括由可变参数控制的传递函数,并使用反馈环路的反馈来修正传递函数。此外,ALF用于纠正由于基于块的译码而出现的译码伪影(例如,误差)。自适应滤波器是一种线性滤波器,它具有由可变参数控制的传递函数,所述可变参数可由优化算法控制,例如在编码器侧运行的RDO过程。因此,包括在ALF APS 512中的ALF参数可以包括由编码器选择的可变参数,以使滤波器去除在解码器侧进行解码期间的基于块的译码伪影。
缩放列表APS 513是包括缩放列表参数的缩放列表类型的APS。如上所述,根据产生残差的帧间预测或帧内预测对当前块进行译码。残差是块的亮度和/或色度值与预测块的对应值之间的差值。然后将变换应用于残差,以将残差转换为变换系数(小于残差值)。编码高清和/或超高清内容可能会导致残差数据增加。当应用于此类数据时,简单的变换过程可能会产生大量的量化噪声。因此,包括在缩放列表APS 513中的缩放列表参数可以包括加权参数,所述加权参数可以用于缩放变换矩阵,以考虑得到的解码视频图像中显示分辨率的变化和/或量化噪声的可接受水平。
LMCS APS 514是LMCS类型的APS,包括LMCS参数,这些参数也被称为整形器参数。人类视觉***区分颜色差异(例如,色度)的能力比区分光差异(例如,亮度)的能力要低。因此,一些视频***使用色度子采样机制,通过降低色度值的分辨率而不调整对应亮度值来压缩视频数据。这种机制的一个问题是,相关的插值在解码期间可能产生与一些位置的对应亮度值不兼容的插值色度值。这将在这些位置处产生颜色伪影,这些伪影应由对应的滤波器进行校正。亮度映射机制使这一点变得复杂。亮度映射是在输入亮度信号的动态范围内(例如,根据分段线性函数)重新映射经译码亮度分量的过程。这将压缩亮度分量。LMCS算法根据亮度映射缩放经压缩色度值,以去除与色度子采样相关的伪影。因此,包括在LMCSAPS 514中的LMCS参数表示用于考虑亮度映射的色度缩放。LMCS参数由编码器确定,并且当使用亮度映射时,解码器可以使用LMCS参数来滤除由色度子采样引起的伪影。
图像数据520包含根据帧间预测和/或帧内预测进行编码的视频数据以及对应的变换和量化残差数据。例如,视频序列包括译码为图像数据的多个图像521。图像521是视频序列的单帧,因此在显示视频序列时通常以单个单元显示。但是,可以显示部分图像以实现某些技术,如虚拟现实、画中画等。图像521各自参考PPS 511。图像521被划分成条带523,条带523可定义为图像521的水平部分。例如,条带523可以包含图像521的高度的一部分和图像521的完整宽度。在其它情况下,图像521可以被划分为列和行,并且条带523可以包括在由这些列和行创建的图像521的矩形部分中。在一些***中,条带523被细分为分块。在其它***中,条带523被称为包含分块的分块组。条带523和/或分块的分块组参考条带头515。条带523进一步被划分为编码树单元(coding tree unit,CTU)。CTU根据编码树进一步被划分为编码块。然后,编码块可以根据预测机制进行编码/解码。
图像521和/或条带523可以直接或间接地参考包含相关参数的ALF APS 512、缩放列表APS 513和/或LMCS APS 514。例如,条带523可以参考条带头515。此外,图像521可以参考对应的图像头。条带头515和/或图像头可以参考包含在对相关条带523和/或图像521进行译码中使用的参数的ALF APS 512、缩放列表APS 513和/或LMCS APS 514。这样,解码器可以根据与对应的条带523和/或图像521相关的头参考获取与条带523和/或图像521相关的译码工具参数。
码流500被译码为视频译码层(video coding layer,VCL)NAL单元535和非VCLNAL单元531。NAL单元是译码数据单元,其大小可设置为单个数据包的有效载荷,以便通过网络进行发送。VCL NAL单元535是包含译码视频数据的NAL单元。例如,每个VCL NAL单元535可包含一个条带523,和/或数据、CTU和/或译码块的分块组。非VCL NAL单元531是包含支持语法但不包含译码视频数据的NAL单元。例如,非VCL NAL单元531可以包含SPS 510、PPS 511、APS、条带头515等。因此,解码器在离散VCL NAL单元535和非VCL NAL单元531中接收码流500。接入单元是一组VCL NAL单元535和/或非VCL NAL单元531,包括足以对单个图像521译码的数据。
在一些示例中,ALF APS 512、缩放列表APS 513和LMCS APS 514各自被分配给单独的非VCL NAL单元531类型。在这种情况下,ALF APS 512、缩放列表APS 513和LMCS APS514分别包括在ALF APS NAL单元532、缩放列表APS NAL单元533,和LMCS APS NAL单元534中。因此,ALF APS NAL单元532包含ALF参数,所述ALF参数在接收到另一个ALF APS NAL单元532之前保持有效。缩放列表APS NAL单元533包含缩放列表参数,所述缩放列表参数在接收到另一个缩放列表APS NAL单元533之前保持有效。此外,LMCS APS NAL单元534包含LMCS参数,所述LMCS参数在接收到另一个LMCS APS NAL单元534之前保持有效。这样,就不需要每次APS参数发生更改时都下发新的APS。例如,LMCS参数的更改会导致额外的LMCS APS514,但不会导致额外的ALF APS 512或缩放列表APS 513。因此,通过根据参数类型将APS划分为不同的NAL单元类型,避免了不相关参数的冗余指示。因此,将APS划分为不同的NAL单元类型提高了译码效率,从而减少了编码器和解码器侧处理器资源、存储器资源和/或网络资源的使用。
此外,条带523和/或图像521可以直接或间接参考包含用于对条带523和/或图像521进行译码的译码工具参数的ALF APS 512、ALF APS NAL单元532、缩放列表APS 513、缩放列表APS NAL单元533、LMCS APS 514,和/或LMCS APS NAL单元534。例如,每个APS可以包含APS ID 542和参数类型541。APS ID 542是标识对应APS的值(例如,数字)。APS ID 542可以包含预定义数量的位。因此,APS ID 542可以根据预定义序列增加(例如,增加1),并且一旦序列到达预定义范围终点,APS ID 542便可以重置为最小值(例如,0)。参数类型541指示APS中包含的参数的类型(例如,ALF、缩放列表和/或LMCS)。例如,参数类型541可以包括APS参数类型(aps_params_type)码,所述APS参数类型(aps_params_type)码被设置为指示每个APS中包括的参数类型的预定义值。因此,参数类型541可以用于区分ALF APS 512、缩放列表APS 513和LMCS APS 514。在一些示例中,ALF APS 512、缩放列表APS 513和LMCS APS514各自可以通过组合参数类型541和APS ID 542来唯一标识。例如,每个APS类型可以包括用于对应APS ID 542的单独值空间。因此,每个APS类型可以包括根据类型相同的一个在先APS按顺序增加的APS ID 542。但是,第一APS类型的APS ID 542可以与不同第二APS类型的一个在先APS的APS ID 542不相关。因此,不同APS类型的APS ID 542可以包括重叠的值空间。例如,在一些情况下,第一类型的APS(例如,ALF APS)可以包括与第二类型的APS(例如,LMCS APS)相同的APS ID 542。通过允许每个APS类型包括不同的值空间,编解码器不需要跨APS类型检查APS ID 542冲突。此外,通过允许值空间重叠,编解码器可以避免使用更大的APS ID 542值,从而节省了位。因此,针对不同APS类型的APS ID 542使用单独的重叠值空间提高了编码效率,从而减少了编码器和解码器侧的网络资源、存储器资源和/或处理资源的使用。如上所述,APS ID 542可以在预定义的范围内扩展。在一些示例中,APS ID 542的预定义范围可以根据参数类型541指示的APS类型而变化。这可以实现根据不同类型的参数通常更改的频率,将不同数量的位分配给不同的APS类型。例如,ALF APS 512的APS ID542的范围可以为0至7,缩放列表APS 513的APS ID 542的范围可以为0至7,并且LMCS APS514的APS ID 542的范围可以为0至3。
在另一个示例中,LMCS参数包括在LMCS APS 514中。一些***将LMCS参数包括在条带头515中。但是,LMCS/整形器参数可以每秒更改一次。视频序列每秒可以显示30至60张图像521。因此,LMCS参数在30至60帧内可能不会更改。将LMCS参数包括到LMCS APS 514中显著减少了LMCS参数的冗余译码。在一些示例中,分别与条带523和/或图像521相关的条带头515和/或图像头可以参考相关的LMCS APS 514。然后,条带523和/或图像521参考条带头515和/或图像头。这允许解码器获取相关的条带523和/或图像521的LMCS参数。这样,仅当条带523和/或图像521的LMCS参数发生更改时,才对LMCS参数进行编码。因此,使用LMCSAPS 514来编码LMCS参数提高了译码效率,从而减少了编码器和解码器侧的网络资源、存储器资源和/或处理资源的使用。由于LMCS并不是用于所有视频,因此SPS 510可以包括LMCS启用标志543。LMCS启用标志543可以设置为指示对编码视频序列启用LMCS。因此,当LMCS启用标志543被设置(例如,为1)时,解码器可以根据LMCS启用标志543从LMCS APS 514中获取LMCS参数。此外,当LMCS启用标志543未被设置(例如,为0)时,解码器可以不尝试获取LMCS参数。
图6是在不同值空间上为不同的APS类型分配APS ID 642的示例性机制600的示意图。例如,机制600可以应用于码流500,以将APS ID 542分配给ALF APS 512、缩放列表APS513和/或LMCS APS 514。此外,当根据方法100对视频进行译码时,机制600可以应用于编解码器200、编码器300和/或解码器400。
机制600将APS ID 642分配给ALF APS 612、缩放列表APS 613和LMCS APS 614,其中,APS ID 642、ALF APS 612、缩放列表APS 613和LMCS APS 614可以分别基本上类似于APS ID 542、ALF APS 512、缩放列表APS 513,LMCS APS 514。如上所述,APS ID 642可以在多个不同的值空间上按顺序分配,其中,每个值空间特定于APS类型。此外,每个值空间可以在特定于APS类型的不同范围内扩展。在所示的示例中,ALF APS 612的APS ID 642的值空间的范围为从0至7(例如,3位)。此外,缩放列表APS 613的APS ID 642的值空间的范围为从0至7(例如,3位)。此外,LMCS APS 611的APS ID 642的值空间的范围为从0至3(例如,2位)。当APS ID 642到达值空间范围终点时,对应类型的下一个APS的APS ID 642返回到范围起点(例如,0)。当新的APS接收到与类型相同的一个在先APS相同的APS ID 642时,一个在先APS不再活动,也不能再被参考。因此,可以扩展值空间的范围,以允许一种类型的更多APS保持活动并且被参考。值空间的范围可以减小以提高译码效率,但这种减小也减少了可以同时保持活动且可用于参考的对应类型的APS的数量。
在所示的示例中,每个ALF APS 612、缩放列表APS 613和LMCS APS 614都通过组合APS ID 642和APS类型参考。例如,ALF APS 612、LMCS APS 614和缩放列表APS 613各自接收为0的APS ID 642。当接收到新的ALF APS 612时,APS ID 642从用于一个在先ALF APS612的值递增。相同的序列适用于缩放列表APS 613和LMCS APS 614。因此,每个APS ID 642与类型相同的在先APS的APS ID 642相关。但是,APS ID 642与其它类型的在先APS的APSID 642不相关。在该示例中,ALF APS 612的APS ID 642从0递增到7,然后在继续递增之前返回到0。此外,缩放列表APS 613的APS ID 642从0递增到7,然后在继续递增之前返回到0。此外,LMCS APS 611的APS ID 642从0递增到3,然后在继续递增之前返回到0。如图所示,这些值空间是重叠的,因为不同APS类型的不同APS可以在视频序列中的同一点处共享相同的APS ID 642。需要说明的是,机制600仅描述了APS。在码流中,所描述的APS将散布在其它VCL与非VCL NAL单元之间,如SPS、PPS、条带头、图像头、条带等。
因此,本发明包括对APS设计的改进以及对整形器/LMCS参数的指示的一些改进。APS设计用于指示可由多个图像共享的信息,并且可以包括许多变体。整形器/LMCS参数用于自适应环内整形器/LMCS视频译码工具。上述机制可以如下实现。为了解决本文列出的问题,这里包括可以单独和/或组合使用的若干方面。
修改公开的APS,使得多个APS可以用于携带不同类型的参数。每个APS NAL单元仅用于携带一种类型的参数。因此,当对特定的分块组/条带携带两种类型的信息(例如,每种类型的信息一个)时,对两个APS NAL单元进行编码。APS可以在APS语法中包括APS参数类型字段。仅APS参数类型字段指示的类型的参数才可以包括在APS NAL单元中。
在一些示例中,不同类型的APS参数由不同的NAL单元类型指示。例如,对APS使用两种不同的NAL单元类型。这两种类型的APS可以分别称为ALF APS和整形器APS。在另一个示例中,APS NAL单元中携带的工具参数类型在NAL单元头中指定。在VVC中,NAL单元头具有保留位(例如,7位表示为nuh_reserved_zero_7bits)。在一些示例中,这些位中的一些(例如,7位中的3位)可以用于指定APS参数类型字段。在一些示例中,特定类型的APS可以对APSID共享相同的值空间。同时,不同类型的APS使用不同APS ID的值空间。因此,不同类型的两个APS可以共存,并且在同一时刻具有相同的APS ID值。此外,APS ID和APS参数类型的组合可以用于从其它多个APS中标识一个APS。
当对分块组启用对应的译码工具时,APS ID可以包括在分块组头语法中。否则,对应类型的APS ID可能不会包括在分块组头中。例如,当对分块组启用ALF时,ALF APS的APSID包括在分块组头中。例如,这可以通过设置APS参数类型字段以指示ALF类型来实现。因此,当不对分块组启用ALF时,ALF APS的APS ID不包括在分块组头中。此外,当对分块组启用整形器译码工具时,整形器APS的APS ID包括在分块组头中。例如,这可以通过设置APS参数类型字段以指示整形器类型来实现。此外,当不对分块组启用整形器译码工具时,整形器APS的APS ID可以不包括在分块组头中。
在一些示例中,APS中APS参数类型信息的存在可以通过使用与参数相关的译码工具来调节。当对码流仅启用一个APS相关译码工具(例如,LMCS、ALF或缩放列表)时,APS参数类型信息可以不存在,而是可以被推断。例如,当APS可以包含ALF和整形器译码工具的参数,但仅启用ALF(例如,如SPS中的标志所指定),而不启用整形器(例如,如SPS中的标志所指定)时,可以不指示APS参数类型,并且可以推断为等于ALF参数。
在另一个示例中,APS参数类型信息可以从APS ID值推断出来。例如,预定义的APSID值范围可以与对应的APS参数类型相关。这一方面可以实现如下。代替分配X个位用于指示APS ID,分配Y个位用于指示APS参数类型,可以分配X+Y个位用于指示APS ID。然后,可以指定APS ID值的不同范围,以表示不同类型的APS参数类型。例如,代替使用5个位用于指示APS ID,使用3个位用于指示APS参数类型,可以分配8个位用于指示APS ID(例如,不增加位成本)。APS ID的值范围为0至63表示APS包含ALF的参数,ID的值范围为64至95表示APS包含整形器的参数,对于其它参数类型(例如缩放列表),可以保留96至255的值范围。在另一个示例中,APS ID的值范围为0至31表示APS包含ALF的参数,ID的值范围为32至47表示APS包含整形器的参数,对于其它参数类型(例如缩放列表),可以保留48至255的值范围。这种方法的优势是,可以根据每个工具的参数更改频率分配APS ID范围。例如,可以预期ALF参数比整形器参数更频繁地更改。在这种情况下,可以使用更大的APS ID范围来表示APS是包含ALF参数的APS。
在第一示例中,上述方面中的一个或多个可以实现如下。ALF APS可以定义为aps_params_type等于ALF_APS的APS。整形器APS(或LMCS APS)可以定义为aps_params_type等于MAP_APS的APS。SPS语法和语义示例如下。
Figure BDA0003234132760000211
sps_reshaper_enabled_flag设置为1,以指示整形器用于译码视频序列(codedvideo sequence,CVS)中。sps_reshaper_enabled_flag设置为0,以指示整形器不用于CVS中。
APS语法和语义示例如下。
Figure BDA0003234132760000212
Figure BDA0003234132760000221
aps_params_type指示APS中携带的APS参数的类型,如下表所示。
表1-APS参数类型码和APS参数的类型
aps_params_type aps_params_type的名称 APS参数的类型
0 ALF_APS ALF参数
1 MAP_APS 环内映射(即,整形器)参数
2..7 保留 保留
分块组头语法和语义示例如下。
Figure BDA0003234132760000222
Figure BDA0003234132760000231
tile_group_alf_aps_id表示分块组参考的ALF APS的adaptation_parameter_set_id。adaptation_parameter_set_id等于tile_group_alf_aps_id的ALF APS NAL单元的TemporalId应小于或等于编码分块组NAL单元的TemporalId。当具有相同adaptation_parameter_set_id值的多个ALF APS被同一个图像的两个或多个分块组参考时,具有相同adaptation_parameter_set_id值的多个ALF APS应具有相同的内容。
tile_group_reshaper_enabled_flag设置为1,以指示对当前分块组启用整形器。tile_group_reshaper_enabled_flag设置为0,以指示不对当前分块组启用整形器。当tile_group_reshaper_enable_flag不存在时,推断标志等于0。tile_group_reshaper_aps_id表示分块组参考的整形器APS的adaptation_parameter_set_id。adaptation_parameter_set_id等于tile_group_reshaper_aps_id的整形器APS NAL单元的TemporalId应小于或等于编码分块组NAL单元的TemporalId。当具有相同adaptation_parameter_set_id值的多个整形器APS被同一个图像的两个或多个分块组参考时,具有相同adaptation_parameter_set_id值的多个整形器APS应具有相同的内容。tile_group_reshaper_chroma_residual_scale_flag设置为1,以指示对当前分块组启用色度残差缩放。tile_group_reshaper_chroma_residual_scale_flag设置为0,以指示不对当前分块组启用色度残差缩放。当tile_group_reshaper_chroma_residual_scale_flag不存在时,推断标志等于0。
整形器数据语法和语义示例如下。
Figure BDA0003234132760000232
Figure BDA0003234132760000241
reshaper_model_min_bin_idx表示要在整形器构建过程中使用的最小位元(或片段)索引。reshaper_model_min_bin_idx应在0至MaxBinIdx的范围内(包括端值)。MaxBinIdx的值应等于15。reshaper_model_delta_max_bin_idx表示允许的最大位元(或片段)索引MaxBinIdx减去要在整形器构建过程中使用的最大位元索引。reshaper_model_max_bin_idx的值设置为MaxBinIdx–reshaper_model_delta_max_bin_idx。reshaper_model_bin_delta_abs_cw_prec_minus1+1表示用于表示语法元素reshaper_model_bin_delta_abs_CW[i]的位数。reshaper_model_bin_delta_abs_CW[i]表示第i个位元的绝对增量码字值。reshaper_model_bin_delta_abs_CW[i]语法元素由reshaper_model_bin_delta_abs_cw_prec_minus1+1个位表示。reshaper_model_bin_delta_sign_CW_flag[i]表示reshaper_model_bin_delta_abs_CW[i]的符号。
在第二示例中,上述方面中的一个或多个可以实现如下。SPS语法和语义示例如下。
Figure BDA0003234132760000242
变量ALFEnabled和ReshaperEnabled设置如下。ALFEnabled=sps_alf_enabled_flag并且ReshaperEnabled=sps_reshaper_enabled_flag。
APS语法和语义示例如下。
Figure BDA0003234132760000243
Figure BDA0003234132760000251
aps_params_type指示APS中携带的APS参数的类型,如下表所示。
表2-APS参数类型码和APS参数的类型
aps_params_type aps_params_type的名称 APS参数的类型
0 ALF_APS ALF参数
1 MAP_APS 环内映射(即,整形器)参数
2..7 保留 保留
当不存在时,aps_params_type的值推断如下。如果ALF启动(Enabled),则aps_params_type设置为0。否则,aps_params_type设置为1。
在第二示例中,上述方面中的一个或多个可以实现如下。SPS语法和语义示例如下。
Figure BDA0003234132760000252
adaptation_parameter_set_id为APS提供了标识符,以供其它语法元素参考。APS可以跨图像共享,并且在图像中的不同分块组中可以不同。变量APSParamsType的值和描述在下表中定义。
表3-APS参数类型码和APS参数的类型
APS ID范围 ApsParamsType APS参数的类型
0~63 0:ALF_APS ALF参数
64~95 1:MAP_APS 环内映射(即,整形器)参数
96..255 保留 保留
分块组头语义示例如下。tile_group_alf_aps_id表示分块组参考的ALF APS的adaptation_parameter_set_id。adaptation_parameter_set_id等于tile_group_alf_aps_id的ALF APS NAL单元的TemporalId应小于或等于编码分块组NAL单元的TemporalId。tile_group_alf_aps_id的值应在0至63的范围内(包括端值)。
当具有相同adaptation_parameter_set_id值的多个ALF APS被同一个图像的两个或多个分块组参考时,具有相同adaptation_parameter_set_id值的多个ALF APS应具有相同的内容。tile_group_reshaper_aps_id表示分块组参考的整形器APS的adaptation_parameter_set_id。adaptation_parameter_set_id等于tile_group_reshaper_aps_id的整形器APS NAL单元的TemporalId应小于或等于编码分块组NAL单元的TemporalId。tile_group_reshaper_aps_id的值应在64至95的范围内(包括端值)。当具有相同adaptation_parameter_set_id值的多个整形器APS被同一个图像的两个或多个分块组参考时,具有相同adaptation_parameter_set_id值的多个整形器APS应具有相同的内容。
图7为示例性视频译码设备700的示意图。视频译码设备700适用于实现本文描述的所公开示例/实施例。视频译码设备700包括下行端口720、上行端口750,和/或收发单元(Tx/Rx)710,其中,所述收发单元包括用于通过网络在上行和/或下行发送数据的发送器和/或接收器。视频译码设备700还包括:处理器730,包括用于处理数据的逻辑单元和/或中央处理单元(central processing unit,CPU);和用于存储数据的存储器732。视频译码设备700还可以包括与上行端口750和/或下行端口720耦合的电子组件、光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件,和/或无线通信组件,用于通过电、光或无线通信网络进行数据通信。视频译码设备700还可以包括输入和/或输出(input/output,I/O)设备760,用于向用户发送数据和从用户发送数据。I/O设备760可以包括输出设备,如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备760还可以包括输入设备,如键盘、鼠标、轨迹球等,和/或用于与此类输出设备交互的对应接口。
处理器730通过硬件和软件实现。处理器730可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digitalsignal processor,DSP)。处理器730与下行端口720、Tx/Rx 710、上行端口750和存储器732通信。处理器730包括译码模块714。译码模块714实现本文公开的实施例,例如方法100、800和900,所述实施例可以采用码流500和/或机制600。译码模块714还可以实现本文描述的任何其它方法/机制。此外,所述译码模块714可以实现编解码***200、编码器300和/或解码器400。例如,译码模块714可以对码流中的图像进行编码/解码,并对与多个APS中的图像的条带相关的参数进行编码/解码。在一些示例中,不同类型的参数可以编码到不同类型的APS中。此外,不同类型的APS可以包括在不同的NAL单元类型中。此类APS类型可以包括ALFAPS、缩放列表APS和/或LMCS APS。APS可以各自包括APS ID。不同APS类型的APS ID在不同的值空间上按顺序增加。此外,条带和/或图像可以参考对应的条带头和/或图像头。然后,此类头可以参考包含相关译码工具的APS。此类APS可以被APS ID和APS类型唯一地参考。此类示例减少了译码工具参数的冗余指示和/或减少了标识符的位使用。因此,译码模块714使视频译码设备700在译码视频数据时提供其它功能和/或译码效率。因此,译码模块714改进了视频译码设备700的功能,并解决了视频编码领域特有的问题。此外,译码模块714可以将视频译码设备700变换到不同的状态。或者,译码模块714可以实现为存储在存储器732中并由处理器730执行的指令(例如,存储在非瞬时性介质上的计算机程序产品)。
存储器732包括一种或多种存储器类型,例如磁盘、磁带机、固态硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存、三态内容寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(staticrandom-access memory,SRAM)等。存储器732可以用作溢出数据存储设备,以在选择程序来执行时存储这些程序以及存储在执行程序过程中读取的指令和数据。
图8是通过使用ALF APS 512、缩放列表APS 513和/或LMCS APS 514等多种APS类型将视频序列编码到码流500等码流中的示例性方法800的流程图。编码器(例如,编解码***200、编码器300和/或视频译码设备700)在执行方法100时可以使用方法800。方法800还可以根据机制600通过使用不同的值空间将APS ID分配给不同类型的APS。
方法800可以开始于:编码器接收包括多个图像的视频序列,并例如根据用户输入确定将所述视频序列编码到码流中。视频序列在编码之前被分割成图像(picture/image)/帧以进行进一步分割。在步骤801中,将条带编码到码流中,作为编码视频序列的一部分。可以将条带编码为图像的一部分。此外,可以通过对包含在条带中的CTU和/或CU进行编码来对条带进行编码。可以根据帧内预测和/或帧间预测对此类CU进行译码。例如,编码器可以对条带的CU进行编码。然后,编码器可以使用假设参考解码器(hypothetical referencedecoder,HRD)来对经编码条带进行解码,并对经解码条带进行滤波,以提高条带的输出质量。
在步骤803中,编码器确定HRD应用的滤波器所使用的参数,以提高经编码条带的质量。这些参数可以包括ALF参数、缩放列表参数和LMCS参数。确定这些参数使得编码器能够确定应用于解码器侧条带的参数。
在步骤805中,将ALF参数编码到码流中的包括ALF类型的第一APS NAL单元中。此外,将缩放列表参数编码到码流中的包括缩放列表类型的第二APS NAL单元中。此外,将LMCS参数编码到码流中的包括LMCS类型的第三APS NAL单元中。因此,通过使用多种不同的NAL单元类型,将ALF参数、缩放列表参数和LMCS参数各自编码到不同的APS中。第一APS NAL单元、第二APS NAL单元和第三APS NAL单元均可以是非视频译码层(non-video codinglayer,non-VCL)NAL单元。
在步骤807中,可以将SPS编码到码流中。在一些示例中,SPS包括一个标志,该标志可以设置为指示对包括条带的编码视频序列启用LMCS。需要说明的是,该标志也可以设置为指示不对编码视频序列启用LMCS。在这种情况下,在方法800的其它步骤中省略LMCS参数。
在步骤809中,将第一条带头编码到码流中。条带头可以与条带相关。在这种情况下,条带参考条带头。然后,条带头可以参考第一APS NAL单元、第二APS NAL单元和第三APSNAL单元。这确保了解码器可以根据对条带头的参考和对各种APS NAL单元的参考来确定条带的相关参数。在一些示例中,图像头可以包含此类参考。在这种情况下,在步骤809中,将图像头编码到码流中。在该示例中,包含条带的图像参考图像头,图像头参考第一APS NAL单元、第二APS NAL单元和第三APS NAL单元。
如上所述,每个APS由参数类型和APS ID的组合标识。例如,每个APS可以包括APS参数类型码(例如,aps_params_type),所述APS参数类型码被设置为指示每个APS中包括的参数的类型的预定义值。例如,aps_params_type码分别可以设置为针对第一APS NAL单元的ALF类型,可以设置为针对第二APS NAL单元的缩放列表类型,可以分别设置为针对第三APS NAL单元的LMCS类型。每个APS可以包括从预定义范围中选择的APS ID。此外,预定义范围可以根据每个APS的参数类型确定。此类预定义范围可以是重叠的,并且APS ID可以根据APS类型以不同的序列分配。例如,当前APS可以包括从预定义范围中选择的当前APS ID。当前APS ID与一个在先APS ID在序列上相关,所述一个在先APS ID与和当前APS类型相同的一个在先APS相关。此外,由于对于不同APS类型,序列不同,因此当前APS ID与另一个在先APS ID不关联,所述另一个在先APS ID与和当前APS类型不同的另一个在先APS相关。步骤809的条带头和/或图像头可以通过使用相关APS参数类型码和APS ID的组合来唯一地参考第一APS NAL单元、第二APS NAL单元和第三APS NAL单元。
在步骤811,将码流存储在存储器中。根据请求,码流随后可以例如通过发送器发送到解码器。
图9是通过使用ALF APS 512、缩放列表APS 513和/或LMCS APS 514等多种APS类型从码流500等码流中解码视频序列的示例性方法900的流程图。解码器(例如,编解码***200、解码器400和/或视频译码设备700)在执行方法100时可以使用方法900。方法900还可以参考根据根据机制600分配的基于APS ID的APS,其中,不同类型的APS使用根据不同值空间分配的APS ID。
当解码器开始接收表示视频序列的译码数据的码流时,例如作为方法800的结果,方法900可以开始。在步骤901,在解码器处接收码流。所述码流包括:包括ALF类型的第一APS NAL单元、包括缩放列表类型的第二APS NAL单元和包括LMCS类型的第三APS NAL单元。码流还包括条带。第一APS NAL单元、第二APS NAL单元和第三APS NAL单元均可以是非视频译码层(non-video coding layer,non-VCL)NAL单元。
码流还可以包括SPS。在步骤902中,从码流中的SPS中获取LMCS启用标志的值。该标志可以设置为指示对包括条带的编码视频序列启用LMCS。在这种情况下,可以在步骤903中根据标志的值获取第三APS NAL单元的LMCS参数。
在步骤903中,从第一APS NAL单元获取ALF参数。此外,从所述第二APS NAL单元获取缩放列表参数。此外,从第三个APS NAL单元获取LMCS参数。在一些示例中,仅当LMCS启用标志设置为特定值(例如,值1)时,才获取LMCS参数。获取APS的参数可以通过各种机制完成。在一个示例中,码流还包括条带头。条带参考条带头。条带头参考第一APS NAL单元、第二APS NAL单元和第三APS NAL单元。这些参考可用于定位和获取与条带相关的参数。在一些示例中,码流还包括可以包含此类参考的图像头。条带是图像的一部分。在该示例中,包含条带的图像参考图像头,图像头参考第一APS NAL单元、第二APS NAL单元和第三APS NAL单元。
如上所述,每个APS由参数类型和APS ID的组合标识。例如,每个APS可以包括APS参数类型码(例如,aps_params_type),所述APS参数类型码被设置为指示每个APS中包括的参数的类型的预定义值。例如,aps_params_type码分别可以设置为针对第一APS NAL单元的ALF类型,可以设置为针对第二APS NAL单元的缩放列表类型,可以分别设置为针对第三APS NAL单元的LMCS类型。每个APS可以包括从预定义范围中选择的APS ID。此外,预定义范围可以根据每个APS的参数类型确定。此类预定义范围可以是重叠的,并且APS ID可以根据APS类型以不同的序列分配。例如,当前APS可以包括从预定义范围中选择的当前APS ID。当前APS ID与一个在先APS ID在序列上相关,所述一个在先APS ID与和当前APS类型相同的一个在先APS相关。此外,由于对于不同APS类型,序列不同,因此当前APS ID与另一个在先APS ID不关联,所述另一个在先APS ID与和当前APS类型不同的另一个在先APS相关。步骤903的条带头和/或图像头可以通过使用相关APS参数类型码和APS ID的组合来唯一地参考第一APS NAL单元、第二APS NAL单元和第三APS NAL单元。
在步骤905中,通过使用在步骤903中获取的ALF参数、缩放列表参数和LMCS参数对条带进行解码。在步骤907中,解码器可以转发该条带以作为解码视频序列的一部分显示。
图10是用于通过使用ALF APS 512、缩放列表APS 513和/或LMCS APS 514等多种APS类型对码流500等码流中的图像的视频序列进行译码的示例性***1000的示意图。***1000可以由编码器和解码器(例如,编解码***200、编码器300、解码器400)和/或视频译码设备700实现。此外,当实现方法100、800、900和/或机制600时,可以使用***1000。
***1000包括视频编码器1002。视频编码器1002包括确定模块1001,用于确定应用于条带的ALF参数、缩放列表参数和LMCS参数。视频编码器1002还包括编码模块1003,用于将条带编码到码流中,作为编码视频序列的一部分。编码模块1003还用于将ALF参数编码到码流中的包括ALF类型的第一APS NAL单元中。编码模块1003还用于将缩放列表参数编码到码流中的包括缩放列表类型的第二APS NAL单元中。编码模块1003还用于将LMCS参数编码到码流中的包括LMCS类型的第三APS NAL单元中。视频编码器1002还包括存储模块1005,用于存储用于发送到解码器的码流。视频编码器1002还包括发送模块1007,用于与第一APSNAL单元、第二APS NAL单元和第三APS NAL单元一起发送码流,以支持根据对应的译码工具参数在解码器侧对条带进行解码。视频编码器1002还可以用于执行方法800的步骤中的任一步骤。
***1000还包括视频解码器1010。视频解码器1010包括接收模块1011,用于接收码流,所述码流包括:包括ALF类型的第一APS NAL单元、包括缩放列表类型的第二APS NAL单元、包括LMCS类型的第三APS NAL单元,以及条带。视频解码器1010还包括获取模块1013,用于从第一APS NAL单元获取ALF参数。获取模块1013还用于从第二APS NAL单元获取缩放列表参数。获取模块1013还用于从第三APS NAL单元获取LMCS参数。视频解码器1010还包括解码模块1015,用于使用ALF参数、缩放列表参数和LMCS参数对条带进行解码。视频解码器1010还包括转发模块1017,用于转发用于作为解码视频序列一部分显示的条带。视频解码器1010还可以用于执行方法900的步骤中的任一步骤。
当第一组件与第二组件之间除了线、迹线或其它介质之外不存在中间组件时,第一组件与第二组件直接耦合。当第一组件与第二组件之间除了线、迹线或其它介质之外还存在中间组件时,第一组件与第二组件间接耦合。术语“耦合”及其变型包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”意指包括后续数字±10%的范围。
还应理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应理解为仅仅是示例性的。同样地,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
虽然本发明提供了若干个实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的***和方法可以通过其它多种具体形式体现。本发明示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的详细内容。例如,可以在另一***中结合或集成各种元件或组件,或者可以省略或不实现某些特征。
此外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、***、子***和方法可以与其它***、组件、技术或方法进行组合或集成。变化、替换和变更的其它实例能够由本领域技术人员确定,并可在不脱离本文公开的精神和范围的情况下给出。

Claims (24)

1.一种在解码器中实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收码流,所述码流包括:与经编码条带(slice)相关的包括自适应环路滤波器(adaptive loop filter,ALF)类型的第一自适应参数集(adaptationparameter set,APS)网络抽象层(network abstraction layer,NAL)单元;
所述解码器的处理器从所述第一APS NAL单元获取ALF参数;
所述处理器使用所述ALF参数对所述经编码条带进行解码。
2.根据权利要求1所述的方法,其特征在于,所述码流还包括:包括缩放列表(scalinglist)类型的第二APS NAL单元,其中,所述方法还包括所述处理器从所述第二APS NAL单元获取缩放列表参数,并且其中,进一步使用所述缩放列表参数对所述经编码条带进行解码。
3.根据权利要求1或2所述的方法,其特征在于,所述码流还包括:包括亮度映射色度缩放(luma mapping with chroma scaling,LMCS)类型的第三APS NAL单元,其中,所述方法还包括所述处理器从所述第三APS NAL单元获取LMCS参数,并且其中,进一步使用所述LMCS参数对所述经编码条带进行解码。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述码流还包括条带头,其中,所述经编码条带参考所述条带头,并且其中,所述条带头参考(reference)所述第一APSNAL单元、所述第二APS NAL单元和所述第三APS NAL单元。
5.根据权利要求1至4中任一项所述的方法,其特征在于,每个APS包括APS参数类型(aps_params_type)码,所述APS参数类型(aps_params_type)码被设置为预定义值,以指示所述每个APS中包括的参数的类型。
6.根据权利要求1至5中任一项所述的方法,其特征在于,当前APS包括从预定义范围中选择的当前APS标识符(identifier,ID),其中,所述当前APS ID与一个在先APS ID关联,所述一个在先APS ID与和所述当前APS类型相同的一个在先APS相关,并且其中,所述当前APSID与另一个在先APS ID不关联,所述另一个在先APS ID与和所述当前APS类型不同的另一个在先APS相关。
7.根据权利要求1至6中任一项所述的方法,其特征在于,每个APS包括从预定义范围中选择的APS ID,并且其中,所述预定义范围是根据所述每个APS的参数类型确定的。
8.根据权利要求1至7中任一项所述的方法,其特征在于,每个APS由参数类型和APS ID的组合所标识。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述码流还包括序列参数集(sequence parameter set,SPS),所述序列参数集包括标志,所述标志设置为指示包括所述经编码条带的编码视频序列启用LMCS,并且其中,所述第三APS NAL单元的所述LMCS参数是根据所述标志获取的。
10.一种在编码器中实现的方法,其特征在于,所述方法包括:
所述编码器的处理器将条带编码到码流中,成为经编码条带,作为编码视频序列的一部分;
所述处理器确定与所述经编码条带相关的自适应环路滤波器(adaptive loopfilter,ALF)参数;
所述处理器将所述ALF参数编码到所述码流中的包括ALF类型的第一自适应参数集(adaptation parameter set,APS)网络抽象层(network abstraction layer,NAL)单元中;
与所述处理器耦合的存储器存储用于发送到解码器的所述码流。
11.根据权利要求10所述的方法,其特征在于,还包括:
所述处理器确定用于所述经编码条带的缩放列表参数;
所述处理器将所述缩放列表参数编码到所述码流中的包括缩放列表类型的第二APSNAL单元中。
12.根据权利要求10或11所述的方法,其特征在于,还包括:
所述处理器确定用于所述经编码条带的亮度映射色度缩放(luma mapping withchroma scaling,LMCS)参数;
所述处理器将所述LMCS参数编码到所述码流中的包括LMCS类型的第三APS NAL单元中。
13.根据权利要求10至12中任一项所述的方法,其特征在于,还包括所述处理器将条带头编码到所述码流中,其中,所述经编码条带参考所述条带头,并且其中,所述经编码条带头参考所述第一APS NAL单元、所述第二APS NAL单元和所述第三个APS NAL单元。
14.根据权利要求10至13中任一项所述的方法,其特征在于,每个APS包括APS参数类型(aps_params_type)码,所述APS参数类型(aps_params_type)码被设置为预定义值,以指示所述每个APS中包括的参数的类型。
15.根据权利要求10至14中任一项所述的方法,其特征在于,当前APS包括从预定义范围中选择的当前APS标识符(identifier,ID),其中,所述当前APS ID与一个在先APS ID关联,所述一个在先APS ID与和所述当前APS类型相同的一个在先APS相关,并且其中,所述当前APS ID与另一个在先APS ID不关联,所述另一个在先APS ID与和所述当前APS类型不同的另一个在先APS相关。
16.根据权利要求10至15中任一项所述的方法,其特征在于,每个APS包括从预定义范围中选择的APS ID,并且其中,所述预定义范围是根据所述每个APS的参数类型确定的。
17.根据权利要求10至16中任一项所述的方法,其特征在于,每个APS由参数类型和APSID的组合标识。
18.根据权利要求10至17中任一项所述的方法,其特征在于,还包括所述处理器将序列参数集(sequence parameter set,SPS)编码到所述码流中,其中,所述SPS包括标志,所述标志设置为指示包括所述经编码条带的所述编码视频序列启用LMCS。
19.一种视频译码设备,其特征在于,包括:
处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器和与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器和发送器用于执行根据权利要求1至18中任一项所述的方法。
20.一种非瞬时性计算机可读介质,其特征在于,包括供视频译码设备使用的计算机程序产品;所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令;在处理器执行所述计算机可执行指令时,使所述视频译码设备执行根据权利要求1至18中任一项所述的方法。
21.一种解码器,其特征在于,包括:
接收模块,用于接收码流,所述码流包括:包括自适应环路滤波器(adaptive loopfilter,ALF)类型的第一自适应参数集(adaptation parameter set,APS)网络抽象层(network abstraction layer,NAL)单元、包括缩放列表类型的第二APS NAL单元,以及包括亮度映射色度缩放(luma mapping with chroma scaling,LMCS)类型的第三APS NAL单元,所述第一APS NAL单元、所述第二APS NAL单元和所述第三APS NAL单元与经编码条带相关;
获取模块,用于:
从所述第一APS NAL单元获取ALF参数;
从所述第二APS NAL单元获取缩放列表参数;
从所述第三APS NAL单元获取LMCS参数;
解码模块,用于使用所述ALF参数、所述缩放列表参数和所述LMCS参数对所述经编码条带进行解码。
22.根据权利要求21所述的解码器,其特征在于,所述解码器还用于执行根据权利要求1至9中任一项所述的方法。
23.一种编码器,其特征在于,包括:
确定模块,用于确定自适应环路滤波器(adaptive loop filter,ALF)参数、缩放列表参数和亮度映射色度缩放(luma mapping with chroma scaling,LMCS)参数,所述自适应环路滤波器参数、所述缩放列表参数和所述亮度映射色度缩放参数与经编码条带相关;
编码模块,用于:
将条带编码到码流中,成为所述经编码条带,作为编码视频序列的一部分;
将所述ALF参数编码到所述码流中的包括ALF类型的第一自适应参数集(adaptationparameter set,APS)网络抽象层(network abstraction layer,NAL)单元中;
将所述缩放列表参数编码到所述码流中的包括缩放列表类型的第二APS NAL单元中;
将所述LMCS参数编码到所述码流中的包括LMCS类型的第三APS NAL单元中;
存储模块,用于存储用于发送到解码器的所述码流。
24.根据权利要求23所述的编码器,其特征在于,所述编码器还用于执行根据权利要求10至18中任一项所述的方法。
CN202080017445.4A 2019-02-27 2020-02-26 视频译码中的自适应参数集类型 Pending CN113498522A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962811358P 2019-02-27 2019-02-27
US62/811,358 2019-02-27
US201962816753P 2019-03-11 2019-03-11
US62/816,753 2019-03-11
US201962850973P 2019-05-21 2019-05-21
US62/850,973 2019-05-21
PCT/US2020/019918 WO2020176633A1 (en) 2019-02-27 2020-02-26 Adaptation parameter set types in video coding

Publications (1)

Publication Number Publication Date
CN113498522A true CN113498522A (zh) 2021-10-12

Family

ID=72238683

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202080017445.4A Pending CN113498522A (zh) 2019-02-27 2020-02-26 视频译码中的自适应参数集类型
CN202080017344.7A Pending CN113508397A (zh) 2019-02-27 2020-02-26 视频译码中的自适应参数集标识符值空间
CN202080017295.7A Pending CN113508396A (zh) 2019-02-27 2020-02-26 视频译码中的亮度映射与色度缩放自适应参数集

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202080017344.7A Pending CN113508397A (zh) 2019-02-27 2020-02-26 视频译码中的自适应参数集标识符值空间
CN202080017295.7A Pending CN113508396A (zh) 2019-02-27 2020-02-26 视频译码中的亮度映射与色度缩放自适应参数集

Country Status (10)

Country Link
US (5) US11895294B2 (zh)
EP (3) EP3931746A4 (zh)
JP (6) JP7418458B2 (zh)
KR (4) KR20210129183A (zh)
CN (3) CN113498522A (zh)
AU (1) AU2020227754A1 (zh)
BR (3) BR112021016925A2 (zh)
MX (1) MX2021010337A (zh)
SG (3) SG11202109287PA (zh)
WO (3) WO2020176636A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113519157B (zh) * 2019-03-04 2023-12-26 北京字节跳动网络技术有限公司 视频处理中滤波信息的两级信令
US20220150481A1 (en) * 2019-03-07 2022-05-12 Lg Electronics Inc. Video or image coding based on luma mapping with chroma scaling
WO2020197207A1 (ko) * 2019-03-23 2020-10-01 엘지전자 주식회사 맵핑을 포함하는 필터링 기반 비디오 또는 영상 코딩
CN113785571A (zh) * 2019-04-03 2021-12-10 Lg 电子株式会社 基于自适应环路滤波器的视频或图像编译
CN113785570B (zh) * 2019-04-03 2024-07-12 Lg电子株式会社 视频或图像编译方法及其装置
US20220217405A1 (en) * 2019-04-03 2022-07-07 Lg Electronics Inc. Video or image coding for modifying reconstructed picture
US11368684B2 (en) * 2019-04-23 2022-06-21 Qualcomm Incorporated Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters
JP7425808B2 (ja) 2019-06-04 2024-01-31 北京字節跳動網絡技術有限公司 動き候補リスト構築プロセスの条件付き実行
WO2020244571A1 (en) 2019-06-04 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction using neighboring block information
US11166033B2 (en) * 2019-06-06 2021-11-02 Qualcomm Incorporated Adaptation parameter set in access unit in video coding
CN118018729A (zh) 2019-06-20 2024-05-10 Lg电子株式会社 图像解码和编码方法、数据的发送方法及存储介质
KR20220003115A (ko) 2019-06-24 2022-01-07 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
JP7367077B2 (ja) 2019-06-24 2023-10-23 エルジー エレクトロニクス インコーポレイティド ルマサンプルのマッピング及びクロマサンプルのスケーリングに基づくビデオまたは画像コーディング
CN114270851A (zh) 2019-06-24 2022-04-01 Lg电子株式会社 基于亮度映射的视频或图像编码
CN114270852A (zh) * 2019-07-08 2022-04-01 Lg电子株式会社 基于缩放列表数据的信令的视频或图像编码
WO2021004491A1 (en) 2019-07-09 2021-01-14 Beijing Bytedance Network Technology Co., Ltd. Sample determination for adaptive loop filtering
WO2021004542A1 (en) 2019-07-11 2021-01-14 Beijing Bytedance Network Technology Co., Ltd. Sample padding in adaptive loop filtering
CN114175636B (zh) 2019-07-14 2024-01-12 北京字节跳动网络技术有限公司 自适应参数集中的自适应环路滤波的指示
EP3984219A4 (en) 2019-07-15 2022-08-17 Beijing Bytedance Network Technology Co., Ltd. CLASSIFICATION IN AN ADAPTIVE LOOP FILTERING
JP7397172B2 (ja) 2019-08-20 2023-12-12 北京字節跳動網絡技術有限公司 位置に基づく係数のスケーリング
KR20220058888A (ko) 2019-09-14 2022-05-10 바이트댄스 아이엔씨 크로마 디블로킹 필터링을 위한 양자화 파라미터 오프셋
WO2021052453A1 (en) 2019-09-18 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Two-part signaling of adaptive loop filters in video coding
CN114430901B (zh) 2019-09-20 2024-07-05 北京字节跳动网络技术有限公司 带有色度缩放的亮度映射
WO2021052508A1 (en) 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Padding process in adaptive loop filtering
WO2021061496A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Sei message dependency simplification in video coding
KR20220063177A (ko) 2019-09-27 2022-05-17 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 상이한 비디오 유닛들 간의 적응적 루프 필터링
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
CN114651442A (zh) 2019-10-09 2022-06-21 字节跳动有限公司 视频编解码中的跨分量适应性回路滤波
WO2021068906A1 (en) 2019-10-10 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Padding process at unavailable sample locations in adaptive loop filtering
CN114556924B (zh) 2019-10-14 2024-01-26 字节跳动有限公司 视频处理中色度残差的联合编解码与滤波的方法、装置及介质
WO2021083258A1 (en) 2019-10-29 2021-05-06 Beijing Bytedance Network Technology Co., Ltd. Cross-component adaptive loop filter using luma differences
CN114788279A (zh) 2019-12-09 2022-07-22 字节跳动有限公司 视频编解码中使用的量化组
WO2021115362A1 (en) 2019-12-11 2021-06-17 Beijing Bytedance Network Technology Co., Ltd. Sample padding for cross-component adaptive loop filtering
CN115152238A (zh) * 2019-12-23 2022-10-04 Lg电子株式会社 基于滤波的图像编码装置和方法
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
CN115004710A (zh) * 2020-01-09 2022-09-02 瑞典爱立信有限公司 图像头存在
US11463737B2 (en) * 2020-02-21 2022-10-04 Qualcomm Incorporated Signaling of dynamic range adjustment parameters for decoded picture buffer management and dynamic range
KR20230024340A (ko) * 2020-06-10 2023-02-20 엘지전자 주식회사 Aps에 대한 식별자를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
KR20230029670A (ko) 2020-06-30 2023-03-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 루프 필터링을 위한 경계 위치
US11711518B2 (en) 2020-09-17 2023-07-25 Lemon Inc. Decoding capability information storage in video coding
WO2022071847A1 (en) * 2020-09-29 2022-04-07 Telefonaktiebolaget Lm Ericsson (Publ) Filter strength control for adaptive loop filtering
US11611752B2 (en) * 2020-10-07 2023-03-21 Lemon Inc. Adaptation parameter set storage in video coding
USD950521S1 (en) * 2021-05-11 2022-05-03 Shenzhen Jing Peng Xing Electronic Technology Co., Ltd. Headphone

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE042699T2 (hu) * 2011-04-21 2019-07-29 Hfi Innovation Inc Eljárás és készülék továbbfejlesztett hurokszûréshez
US8891630B2 (en) * 2011-10-24 2014-11-18 Blackberry Limited Significance map encoding and decoding using partition set based context assignment
CN103096054B (zh) * 2011-11-04 2015-07-08 华为技术有限公司 一种视频图像滤波处理方法和装置
US20130114694A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Parameter set groups for coded video data
US9451252B2 (en) * 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
WO2013109505A2 (en) * 2012-01-19 2013-07-25 Vid Scale, Inc. Methods, apparatus and systems for signaling video coding adaptation parameters
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US10136144B2 (en) * 2012-05-21 2018-11-20 Mediatek Singapore Pte. Ltd. Method and apparatus of inter-layer filtering for scalable video coding
KR102224703B1 (ko) * 2014-03-17 2021-03-09 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
EP3571838B1 (en) * 2017-06-29 2022-04-27 Dolby Laboratories Licensing Corporation Integrated image reshaping and video coding
CA3127136A1 (en) * 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Signaling of in-loop reshaping information using parameter sets
WO2020156535A1 (en) * 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and block differential pulse coded modulation
US11683487B2 (en) * 2019-03-26 2023-06-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding

Also Published As

Publication number Publication date
WO2020176636A1 (en) 2020-09-03
JP2024014893A (ja) 2024-02-01
SG11202109287PA (en) 2021-09-29
US11895294B2 (en) 2024-02-06
JP2024020293A (ja) 2024-02-14
BR112021016925A2 (pt) 2021-11-03
JP2022523219A (ja) 2022-04-21
KR20210129184A (ko) 2021-10-27
JP7418459B2 (ja) 2024-01-19
US20210392381A1 (en) 2021-12-16
US20240195958A1 (en) 2024-06-13
KR20210129183A (ko) 2021-10-27
CN113508397A (zh) 2021-10-15
JP7422159B2 (ja) 2024-01-25
EP3931745A4 (en) 2022-04-27
BR112021016953A2 (pt) 2021-11-23
EP3931746A4 (en) 2022-05-11
JP7418458B2 (ja) 2024-01-19
EP3931747A1 (en) 2022-01-05
JP2022523218A (ja) 2022-04-21
MX2021010337A (es) 2021-09-28
JP2024014892A (ja) 2024-02-01
AU2020227754A1 (en) 2021-09-30
KR102661416B1 (ko) 2024-04-25
EP3931747A4 (en) 2022-05-11
WO2020176633A1 (en) 2020-09-03
EP3931745A1 (en) 2022-01-05
US11889030B2 (en) 2024-01-30
KR20240058982A (ko) 2024-05-03
SG11202109325VA (en) 2021-09-29
EP3931746A1 (en) 2022-01-05
CN113508396A (zh) 2021-10-15
KR20210126772A (ko) 2021-10-20
US20210392324A1 (en) 2021-12-16
US20240195961A1 (en) 2024-06-13
SG11202109285VA (en) 2021-09-29
WO2020176635A1 (en) 2020-09-03
BR112021016895A2 (pt) 2021-11-03
JP2022521793A (ja) 2022-04-12
US20210392323A1 (en) 2021-12-16

Similar Documents

Publication Publication Date Title
KR102661416B1 (ko) 인코더, 디코더 및 대응하는 방법
CN112703743B (zh) 视频译码中的条带和分块
CN114189694B (zh) 用于视频译码的参数集
CN115002474B (zh) 一种由解码器实现的方法、译码设备、可读介质和解码器
CN114424572A (zh) 用于多层视频码流的dpb参数的指示
CN114503591A (zh) 支持空间可适性和snr可适性的ols
CN113273196A (zh) 视频译码中的分块组指示
CN113330746B (zh) 视频译码中用于光栅扫描分块组和矩形分块组的分块组分配
CN114175638A (zh) 视频译码中的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