CN118235395A - 应用于离线固定滤波输出的自适应环路滤波 - Google Patents
应用于离线固定滤波输出的自适应环路滤波 Download PDFInfo
- Publication number
- CN118235395A CN118235395A CN202380014448.6A CN202380014448A CN118235395A CN 118235395 A CN118235395 A CN 118235395A CN 202380014448 A CN202380014448 A CN 202380014448A CN 118235395 A CN118235395 A CN 118235395A
- Authority
- CN
- China
- Prior art keywords
- filter
- filtered
- picture
- coefficients
- sample
- 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
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 158
- 238000001914 filtration Methods 0.000 title claims description 58
- 238000000034 method Methods 0.000 claims abstract description 120
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000003860 storage Methods 0.000 claims description 23
- 229910003460 diamond Inorganic materials 0.000 claims description 19
- 239000010432 diamond Substances 0.000 claims description 19
- 239000000523 sample Substances 0.000 description 221
- 230000008569 process Effects 0.000 description 61
- 230000000875 corresponding effect Effects 0.000 description 47
- 230000033001 locomotion Effects 0.000 description 42
- 239000013598 vector Substances 0.000 description 23
- 230000006835 compression Effects 0.000 description 18
- 238000007906 compression Methods 0.000 description 18
- 239000000872 buffer Substances 0.000 description 16
- 230000009466 transformation Effects 0.000 description 14
- 241000023320 Luma <angiosperm> Species 0.000 description 13
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000002123 temporal effect Effects 0.000 description 12
- 238000005070 sampling Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 101150114515 CTBS gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 101100500563 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ECM5 gene Proteins 0.000 description 1
- 101100019493 Schizosaccharomyces pombe (strain 972 / ATCC 24843) jmj3 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001012 protector Effects 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请各个方面提供了用于视频和/或图像编解码的方法和装置。所述装置包括处理电路,用于接收码流,所述码流包括图片;分别将至少一个第一固定滤波器应用于所述图片中的多个样本,以获得所述图片中所述多个样本的至少一个第一滤波输出,所述第一固定滤波器的系数为常数;在应用所述至少一个第一固定滤波器之后,将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,以获得所述多个样本中当前样本的第二滤波样本,所述第二自适应滤波器的系数是可变的;及,至少基于所述图片中所述当前样本的所述第二滤波样本,对所述图片进行解码。所述第二自适应滤波器的每个系数被应用于所述至少一个第一滤波输出中相应的第一滤波输出。
Description
引用并入
本申请要求于2023年6月9日提交的、申请号为18/208,163、发明名称为"应用于离线固定滤波输出的自适应环路滤波"的美国申请的优先权,以及于2022年7月15日提交的、申请号为63/389,653、发明名称为“应用于离线固定滤波的自适应环路滤波器”的美国临时申请的优先权,其全部内容通过引用并入本申请中。
技术领域
本申请实施例涉及视频编解码。
背景技术
本文所提供的背景描述旨在整体呈现本申请的背景。在背景技术部分以及本说明书的各个方面中所描述的目前已署名的发明人的工作所进行的程度,并不表明其在本申请提交时作为现有技术,且从未明示或暗示其被承认为本申请的现有技术。
图像/视频压缩可以帮助在不同设备、存储和网络之间传输图像/视频文件,而质量下降幅度最小。在一些示例中,视频编解码器技术可以基于空间和时间冗余来压缩视频。在一个示例中,视频编解码器可以使用被称为帧内预测的技术,该技术可以基于空间冗余来压缩图像。例如,帧内预测可以使用来自重建中的当前图片的参考数据来进行样本预测。在另一示例中,视频编解码器可以使用被称为帧间预测的技术,该技术可以基于时间冗余来压缩图像。例如,帧间预测可以利用运动补偿从先前重构的图片预测当前图片中的多个样本。运动补偿通常由运动矢量(MV)来指示。
发明内容
本申请各个方面提供了视频和/或图片的编/解码方法和装置。所述方法包括接收码流,所述码流包括图片;分别将至少一个第一滤波器应用于图片中的多个样本,以获得图片中的多个样本的至少一个第一滤波输出,图片中的多个样本可以包括由第二自适应滤波器,滤波的当前样本,至少一个第一滤波输出中的每一个第一滤波输出可以包括多个第一滤波样本,多个第一滤波样本是由所述至少一个第一固定滤波器中相应的第一固定滤波器对所述图片中的所述多个样本进行滤波得到的;将第二自适应滤波器应用于至少一个第一滤波输出,以获得当前样本的第二滤波样本,将第二自适应滤波器的每个系数应用于至少一个第一滤波输出中相应的一个第一滤波输出。
所述装置包括处理电路,用于接收码流,所述码流包括图片;分别将至少一个第一固定滤波器应用于所述图片中的多个样本,以获得所述图片中所述多个样本的至少一个第一滤波输出,所述第一固定滤波器的系数为常数;在应用所述至少一个第一固定滤波器之后,将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,以获得所述多个样本中当前样本的第二滤波样本。所述第二自适应滤波器的每个系数被应用于所述至少一个第一滤波输出中相应的第一滤波输出。
在一实施例中,所述方法包括:接收码流,所述码流包括图片;分别将至少一个第一固定滤波器应用于所述图片中的多个样本,以获得所述图片中所述多个样本的至少一个第一滤波输出,所述第一固定滤波器的系数为常数;在应用所述至少一个第一固定滤波器之后,将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,以获得所述多个样本中当前样本的第二滤波样本,所述第二自适应滤波器的系数是可变的;及,至少基于所述图片中所述当前样本的所述第二滤波样本,对所述图片进行解码。
本申请实施例还提供了一种非暂时性计算机可读存储介质,其上存储有程序,当所述程序被至少一个处理器执行时,实现上述视频解码方法。
附图说明
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将进一步明确,其中:
图1是通信***(100)的示例性框图的示意图;
图2是解码器的示例性框图的示意图;
图3是编码器的示例性框图的示意图;
图4示出了根据本申请实施例的示例性ALF滤波器形状;
图5示出了交叉分量可替代环路滤波器(CC-ALF)的示例;
图6A-6D示出了示出了用于计算垂直梯度、水平梯度、对角线梯度和对角线梯度的子采样位置的示例;
图7A-7B示出了根据本申请实施例的方向性与边缘强度之间的映射关系;
图8-11示出了根据本申请实施例的滤波器的示例;
图12示出了根据本申请实施例的过程的方法流程图;
图13示出了根据本申请实施例的过程的方法流程图;
图14是根据一实施例的计算机***的示意图。
具体实施方式
图1示出了在一些示例中视频处理***(100)的框图。视频处理***(100)是本申请所公开主题的应用示例,在流式传输环境中的视频编码器和视频解码器。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。
视频处理***(100)包括采集子***(113),所述采集子***可包括视频源(101),例如数码相机,用于创建未压缩的视频图片流(102)。在一示例中,视频图片流(102)包括由数码相机拍摄的样本。相较于已编码的视频数据(104)(或已编码的视频码流),视频图片流(102)被描绘为粗线以强调高数据量的视频图片流,视频图片流(102)可由电子设备(120)处理,所述电子设备(120)包括耦接到视频源(101)的视频编码器(103)。视频编码器(103)可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流(102),已编码的视频数据(104)(或已编码的视频码流(104))被描绘为细线以强调较低数据量的已编码的视频数据(104)(或已编码的视频码流(104)),其可存储在流式传输服务器(105)上以供将来使用。至少一个流式传输客户端子***,例如图1中的客户端子***(106)和客户端子***(108),可访问流式传输服务器(105)以检索已编码的视频数据(104)的副本(107)和副本(109)。客户端子***(106)可包括例如电子设备(130)中的视频解码器(110)。视频解码器(110)对已编码的视频数据的传入副本(107)进行解码,且产生可在显示器(112)(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流(411)。在一些流式传输***中,可根据某些视频编码/压缩标准对已编码的视频数据(104)、(107)和(109)(例如视频码流)进行编码。该些标准的实施例包括ITU-T H.265。在一示例中,正在开发的视频编码标准非正式地称为下一代视频编码(Versatile VideoCoding,VVC),本申请可用于VVC标准的上下文中。
应注意,电子设备(120)和电子设备(130)可包括其它组件(未示出)。举例来说,电子设备(120)可包括视频解码器(未示出),且电子设备(130)还可包括视频编码器(未示出)。
图2示出了视频解码器(210)的示例性框图。视频解码器(210)可设置在电子设备(230)中。电子设备(230)可包括接收器(231)(例如接收电路)。视频解码器(210)可用于代替图1示例中的视频解码器(110)。
接收器(231)可接收将由视频解码器(210)解码的至少一个已编码视频序列;在同一实施例或另一实施例中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(201)接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器(231)可接收已编码的视频数据以及其它数据,例如,可转发到它们各自的使用实体(未标示)的已编码音频数据和/或辅助数据流。接收器(231)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(215)可耦接在接收器(231)与熵解码器/解析器(220)(此后称为“解析器(220)”)之间。在某些应用中,缓冲存储器(215)是视频解码器(210)的一部分。在其它情况下,所述缓冲存储器(215)可设置在视频解码器(210)外部(未标示)。而在其它情况下,视频解码器(210)的外部设置缓冲存储器(未标示)以例如防止网络抖动,且在视频解码器(210)的内部可配置另一缓冲存储器(215)以例如处理播出定时。而当接收器(231)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,也可能不需要配置缓冲存储器(215),或可以将所述缓冲存储器做得较小。当然,为了在互联网等业务分组网络上使用,也可能需要缓冲存储器(215),所述缓冲存储器可相对较大且可具有自适应性大小,且可至少部分地实施于操作***或视频解码器(210)外部的类似元件(未标示)中。
视频解码器(210)可包括解析器(220)以根据已编码视频序列重建符号(221)。这些符号的类别包括用于管理视频解码器(210)的操作的信息,以及用以控制显示装置(212)(例如,显示屏)等显示装置的潜在信息,所述显示装置不是电子设备(230)的组成部分,但可耦接到电子设备(230),如图2中所示。用于显示装置的控制信息可以是辅助增强信息(Supplemental Enhancement Information,SEI消息)或视频可用性信息(VideoUsability Information,VUI)的参数集分段(未标示)。解析器(220)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循各种原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等等。解析器(220)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素子群中至少一个子群的子群参数集。子群可包括图片群组(Group of Pictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。解析器(220)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。
解析器(220)可对从缓冲存储器(215)接收的视频序列执行熵解码/解析操作,从而创建符号(221)。
取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(221)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(220)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(220)与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块以外,视频解码器(210)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
第一单元是缩放器/反向变换单元(251)。缩放器/反向变换单元(251)从解析器(220)接收作为符号(221)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/反向变换单元(251)可输出包括样本值的块,所述样本值可输入到聚合器(255)中。
在一些情况下,缩放器/反向变换单元(251)的输出样本可属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(252)提供。在一些情况下,帧内图片预测单元(252)采用从当前图片缓冲器(258)提取的已重建信息生成大小和形状与正在重建的块相同的周围块。举例来说,当前图片缓冲器(258)缓冲部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(255)基于每个样本,将帧内预测单元(252)生成的预测信息添加到由缩放器/反向变换单元(251)提供的输出样本信息中。
在其它情况下,缩放器/反向变换单元(251)的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元(253)可访问参考图片存储器(257)以提取用于预测的样本。在根据符号(221)对提取的样本进行运动补偿之后,这些样本可由聚合器(255)添加到缩放器/反向变换单元(251)的输出(在这种情况下被称作残差值样本或残差值信号),从而生成输出样本信息。运动补偿预测单元(253)从参考图片存储器(257)内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号(221)的形式而供运动补偿预测单元(253)使用,所述符号(221)例如是包括X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(257)提取的样本值的内插、运动矢量预测机制等等。
聚合器(255)的输出样本可在环路滤波器单元(256)中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频序列(也称作已编码视频码流)中的参数,且所述参数作为来自解析器(220)的符号(221)可用于环路滤波器单元(256)。然而,在其他实施例中,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元(256)的输出可以是样本流,所述样本流可输出到显示装置(212)以及存储在参考图片存储器(257),以用于后续的帧间图片预测。
一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。举例来说,一旦对应于当前图片的已编码图片被完全重建,且已编码图片(通过例如解析器(220))被识别为参考图片,则当前图片缓冲器(258)可变为参考图片存储器(257)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片缓冲器。
视频解码器(210)可根据例如ITU-T H.265标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。具体地说,配置文件可从视频压缩技术或标准中可用的所有工具中选择某些工具作为在所述配置文件下可供使用的仅有工具。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical ReferenceDecoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。
在一示例中,接收器(231)可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。所述附加数据可由视频解码器(210)用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图片、正向纠错码等形式。
图3示出了视频编码器(303)的示例性框图。视频编码器(303)设置于电子设备(320)中。电子设备(320)包括传输器(340)(例如传输电路)。视频编码器(303)可用于代替图1实施例中的视频编码器(103)。
视频编码器(303)可从视频源(301)(并非图3实施例中的电子设备(320)的一部分)接收视频样本,所述视频源可采集将由视频编码器(303)编码的视频图像。在另一实施例中,视频源(301)是电子设备(320)的一部分。
视频源(301)可提供将由视频编码器(303)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.301Y CrCB、RGB……)和任何合适取样结构(例如Y CrCb 4:2:0、Y CrCb 4:4:4)。在媒体服务***中,视频源(301)可以是存储先前已准备的视频的存储装置。在视频会议***中,视频源(301)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括至少一个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
根据实施例,视频编码器(303)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(343)。施行适当的编码速度是控制器(350)的一个功能。在一些实施例中,控制器(350)控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(350)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。控制器(350)可用于具有其它合适的功能,这些功能涉及针对某一***设计优化的视频编码器(303)。
在一些实施例中,视频编码器(303)在编码环路中进行操作。作为简单的描述,在一示例中,编码环路可包括源编码器(330)(例如,负责基于待编码的输入图片和参考图片创建符号,例如符号流)和嵌入于视频编码器(303)中的(本地)解码器(333)。解码器(333)以类似于(远程)解码器创建样本数据的方式重建符号以创建样本数据(因为在本申请所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的样本流(样本数据)输入到参考图片存储器(334)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(334)中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差值而无法维持同步性的情况下产生的漂移)也用于一些相关技术。
“本地”解码器(333)的操作可与例如已在上文结合图5详细描述视频解码器(210)的“远程”解码器相同。然而,另外简要参考图5,当符号可用且熵编码器(345)和解析器(220)能够无损地将符号编码/解码为已编码视频序列时,包括缓冲存储器(215)和解析器(220)在内的视频解码器(210)的熵解码部分,可能无法完全在本地解码器(333)中实施。
在一实施例中,除存在于解码器中的解析/熵解码之外的任何解码器技术,以相同或者基本上相同的功能形式,存在于对应的编码器中。出于此原因,本申请侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互反向。仅在某些区域中需要更详细的描述,并且在下文提供。
在操作期间,在一些实施例中,源编码器(330)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考图片”的至少一个先前已编码图片,所述运动补偿预测编码对输入图片进行预测性编码。以此方式,编码引擎(332)对输入图片的像素块与参考图片的像素块之间的差异进行编码,所述参考图片可被选作所述输入图片的预测参考。
本地视频解码器(333)可基于源编码器(330)创建的符号,对可指定为参考图片的已编码视频数据进行解码。编码引擎(332)的操作可为有损过程。当已编码视频数据可在视频解码器(图3中未示)处被解码时,重建的视频序列通常可以是带有一些误差值的源视频序列的副本。本地视频解码器(333)复制解码过程,所述解码过程可由视频解码器对参考图片执行,且可使重建的参考图片存储在参考图片高速缓存(334)中。以此方式,视频编码器(303)可在本地存储重建的参考图片的副本,所述副本与将由远端视频解码器获得的重建参考图片具有共同内容(不存在传输误差值)。
预测器(335)可针对编码引擎(332)执行预测搜索。即,对于将要编码的新图片,预测器(335)可在参考图片存储器(334)中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(335)可基于样本块-逐像素块的方式执行操作,以找到合适的预测参考。在一些情况下,根据预测器(335)获得的搜索结果可确定,输入图片可具有从参考图片存储器(334)中存储的多个参考图片取得的预测参考。
控制器(350)可管理源编码器(330)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(345)中对所有上述功能单元的输出进行熵编码。熵编码器(345)根据例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
传输器(340)可缓冲由熵编码器(345)创建的已编码视频序列,从而为通过通信信道(660)进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器(340)可将来自视频编码器(303)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
控制器(350)可管理视频编码器(303)的操作。在编码期间,控制器(350)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种图片类型:
帧内图片(I图片),其可以是不将序列中的任何其它图片用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。所属领域的技术人员了解I图片的变体及其相应的应用和特征。
预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块(block-wise)进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已编码块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。
视频编码器(303)可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(303)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
在一示例中,传输器(340)可在传输已编码的视频时传输附加数据。源编码器(330)可将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/SNR增强层、冗余图片和切片等其它形式的冗余数据、SEI消息、VUI参数集分段等。
采集到的视频可作为呈时间序列的多个源图片(视频图片)。帧内图片预测(常常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测则利用图片之间的(时间或其它)相关性。在一示例中,将正在编码/解码的特定图片分割成块,正在编码/解码的特定图片被称作当前图片。在当前图片中的块类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可通过称作运动矢量的矢量对当前图片中的块进行编码。所述运动矢量指向参考图片中的参考块,且在使用多个参考图片的情况下,所述运动矢量可具有识别参考图片的第三维度。
在一些实施例中,双向预测技术可用于帧间图片预测中。根据双向预测技术,使用两个参考图片,例如按解码次序都在视频中的当前图片之前(但按显示次序可能分别是过去和将来)第一参考图片和第二参考图片。可通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。具体来说,可通过第一参考块和第二参考块的组合来预测所述块。
此外,合并模式技术可用于帧间图片预测中以改善编解码效率。
根据本申请公开的一些实施例,帧间图片预测和帧内图片预测等预测的执行以块为单位。举例来说,根据HEVC标准,将视频图片序列中的图片分割成编码树单元(codingtree unit,CTU)以用于压缩,图片中的CTU具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,CTU包括三个编码树块(coding tree block,CTB),所述三个编码树块是一个亮度CTB和两个色度CTB。更进一步的,还可将每个CTU以四叉树拆分为至少一个编码单元(coding unit,CU)。举例来说,可将64×64像素的CTU拆分为一个64×64像素的CU,或4个32×32像素的CU,或16个16×16像素的CU。在一示例中,分析每个CU以确定用于CU的预测类型,例如帧间预测类型或帧内预测类型。此外,取决于时间和/或空间可预测性,将CU拆分为至少一个预测单元(prediction unit,PU)。通常,每个PU包括亮度预测块(prediction block,PB)和两个色度PB。在一示例中,编码(编码/解码)中的预测操作以预测块为单位来执行。以亮度预测块作为预测块为例,预测块包括像素值(例如,亮度值)的矩阵,例如8×8像素、16×16像素、8×16像素、16×8像素等等。
应注意,可使用任何合适的技术来实施视频编码器(103)、(303)以及视频解码器(110)、(210)。在一示例中,可使用至少一个集成电路来实施视频编码器(103)、(303)以及视频解码器(110)、(210)。在另一实施例中,可使用执行软件指令的至少一个处理器来实施视频编码器(103)、(303)以及视频解码器(110)、(210)。
基于块的视频/图像编码架构(诸如典型的基于块的混合视频编码架构)可以应用于例如VVC中。某些编码工具可以被包括在基本构建块中,以改进例如VVC中的压缩。
在实施例中,诸如在VVC中,使用四叉树加多类型树(QT+MTT)方案(该QT+MTT方案使用用于分区结构的四元分割,随后是二进制分割和三进制分割),例如,利用例如在HEVC中使用的多个分区类型,代替四叉树。可以亮度信道和色度信道分别支持单独的分区树结构。对于帧间帧,一个CTU中的亮度信道和色度信道可以共享相同的编码树结构。对于帧内帧,亮度信道和色度信道可以具有单独的树,以提高色度信道的编码效率。
各种帧间预测模式可以用于VVC中。对于帧间预测CU,运动参数可以包括至少一个运动矢量、至少一个参考图片索引、参考图片列表使用索引和用于帧间预测样本生成的某些编码特征的附加信息。可以显式地或隐式地用信号通知运动参数。当利用跳过模式对CU进行编码时,CU可以与PU相关联并且可以不具有显著残差值系数,不具有已编码运动矢量增量或MV差值(例如,MVD)或参考图片索引。可以指定合并模式,其中从至少一个相邻CU获得当前CU的运动参数,包括空间候选和/或时间候选以及可选地例如在VVC中引入的附加信息。可以将合并模式应用于帧间预测CU,而不仅仅应用于跳过模式。在示例中,合并模式的替代是运动参数的显式传输,其中运动信息(包括例如至少一个MV、用于每个参考图片列表的对应参考图片索引、参考图片列表使用标志)和其它信息,被显式地用信号通知每个CU。
在实施例中,诸如在VVC中,VVC测试模型(VTM)参考软件包括至少一个修正的帧间预测编码工具,这些工具包括:扩展合并预测、合并运动矢量差值(MMVD)模式、具有对称MVD信令的自适应运动矢量预测(AMVP)模式、仿射运动补偿预测、基于子块的时间运动矢量预测(SbTMVP)、自适应运动矢量分辨率(AMVR)、运动场存储(1/16亮度样本MV存储和8×8运动场压缩)、具有CU级权重的双向预测(BCW)、双向光流(BDOF)、使用光流的预测修正(PROF)、解码器侧运动矢量修正(DMVR)、组合帧间和帧内预测(CIIP)、几何分区模式(GPM)等。
在一些实施例中,对于帧内预测的CU,从例如当前CU(例如,帧内预测的CU)的左边和上方的相邻块中的参考样本,预测帧内预测的CU的样本,在同一图片中,该当前CU已经在环路内滤波之前被解码。在示例中,诸如在HEVC中,可以使用35个图片内预测模式,包括平面模式、DC模式(例如,参考样本平均模式)和33个定向角模式。可以在帧内预测中(诸如在VVC中)使用各种工具,包括但不限于:(i)93个图片内定向预测角度,包括广角帧内预测(WAIP)模式;(ii)两组4抽头插值滤波器;位置相关的预测组合(PDPC);多参考线(MRL);交叉分量线性模型(CCLM);以及帧内子分区(ISP)。
为了实现残余数据的更好的能量压缩并且进一步减少变换系数的量化误差值,例如在VVC中可以使用以下工具,包括但不限于非方形变换、包括显式MTS和隐式MTS的多变换选择(MTS)、低频不可分离变换(LFNST)、子块变换(SBT)、相关量化(DQ)、色度残差值联合编码(JCCR)等。
在一些示例中,诸如在VVC中,可以将重新映射操作和三个环路内滤波器依次应用于重建帧或图片,以消除不同类型的伪像。例如,执行基于样本的过程,诸如具有色度缩放的亮度映射(LMCS)过程。然后,可以使用去块滤波器来减少块效应。可以将样本自适应偏移(SAO)滤波器应用于去块图片以衰减振铃及条带化伪像。可以应用可替代环路滤波器(ALF)来减少由变换和量化过程引入的其它潜在失真。在示例中,诸如在VVC中,ALF可以包括两个操作。第一操作可以是基于块的ALF,诸如具有用于亮度样本和色度样本的基于块的滤波器自适应的ALF,并且第二操作可以是仅用于色度样本的交叉分量可替代环路滤波器(CC-ALF)。
在一些示例中,诸如在VVC中,两个滤波器形状(例如,两个菱形滤波器形状)可用于基于块的ALF。图4示出了根据本申请实施例的示例性ALF滤波器形状,包括5×5菱形形状(左)和7×7菱形形状(右)。在示例中,7×7菱形形状被应用于亮度分量,并且5×5菱形形状被应用于色度分量。
基于方向(或方向性)和局部梯度的活动性,可以为块(例如,4×4块或每个4×4块)选择多达25个滤波器中的一个。根据局部梯度的方向性和活动性,块(例如,4×4块)可以被分类并且归类为25个类别中的一种。每个类别可以具有各自的滤波器系数分配。在滤波之前,取决于针对块计算的梯度值,几何变换(诸如90o旋转、对角线翻转或垂直翻转)可以被应用于滤波器形状。几何变换可以等效于将几何变换应用于滤波器支持区中的样本。执行几何变换的动机可以包括通过对准各个块的方向性来更类似地对每个块执行ALF。
除了亮度块级(例如,4×4块级)滤波器自适应之外,可以在ALF中使用CTU级滤波器自适应。每个CTU可以使用从当前条带计算的滤波器集合,在已经编码的条带处用信号通知滤波器集合中的一个滤波器集合,或者预定义滤波器集合(例如,16个离线训练的滤波器集合)中的一个滤波器集合。在每个CTU内,选择的滤波器集合可以被应用于每个4×4块。可以在ALF自适应参数集(APS)(例如,多个AFL APS)中携带(或用信号通知)滤波器系数和限幅索引。ALF APS可以包括多达8个色度滤波器和具有多达25个滤波器的一个亮度滤波器集合。可以为25个亮度类别中的每一个包括指示亮度过滤器类的索引ic。在示例中,为了减少信令开销,可以合并用于亮度分量的不同分类的滤波器系数。通过合并不同的类别,可以减少指示滤波器系数的比特数。
图5示出了CC-ALF的示例。CC-ALF可以使用亮度样本值(例如,SAO亮度)来修正ALF过程内的色度样本值。线性滤波操作(例如,CC-ALFCb或CC-ALFCr)可以取亮度样本(例如,SAO亮度)作为输入,并且为色度样本值生成校正值(例如,ΔRCb,ΔRCr)。诸如图5所示,可以为每个色度分量(例如,Cb或Cr)独立地生成校正值。在示例中,可以将校正值(例如,ΔRCb或ΔRCr)添加到来自ALF(例如,ALF色度)的输出以生成滤波的色度输出,诸如Cb或Cr。
对于亮度分量的块分类,4×4块(例如,亮度块)可以被分类或归类为多个(例如,25个)类别中的一种。分类索引C可以基于方向性参数D和活动性的量化值使用等式(1)来导出。
为了计算方向性参数D和量化值可以如下使用1-D拉普拉斯算子分别计算垂直方向、水平梯度和两个对角线方向(例如,d1和d2)的梯度gv、gh、gd1和gd2。
其中,索引i和j可以指相对于4×4块内左上样本的坐标,并且R(k,l)指示坐标(k,l)处的重建样本。方向(例如,d1和d2)可以指2个对角线方向。
为了降低以上描述的块分类的复杂度,可以应用子采样1-D拉普拉斯算子计算。图6A至图6D分别示出了用于计算垂直梯度gv(图6A)、水平梯度gh(图6B)、对角线梯度gd1(图6C)和对角线梯度gd2(图6D)的子采样位置的示例。相同的子采样位置可以用于不同方向的梯度计算。在图6A中,标记“V”示出了用于计算垂直梯度gv的子采样位置。在图6B中,标记“H”示出了用于计算水平梯度gh的子采样位置。在图6C中,标记“D1”示出了用于计算d1对角线梯度gd1的子采样位置。在图6D中,标记“D2”示出了用于计算d2对角线梯度gd2的子采样位置。
可以将水平方向梯度gv和垂直方向梯度gh的最大值和最小值/>设置为:
可以将两个对角线方向梯度gd1和gd2的最大值和最小值/>设置为:
可以基于以上值和两个阈值t1和t2如下导出方向性参数D。
步骤1:如果(1)并且(2)/>为真,则将D设置为0。
步骤2:如果则继续步骤3;否则继续步骤4。
步骤3:如果则将D设置为2;否则将D设置为1。
步骤4:如果则将D设置为4;否则将D设置为3。
活动值A可以计算为:
A可以被进一步量化到0至4(包含端值)的范围,并且量化值被表示为
在示例中,对于图片中的色度分量,不应用块分类,并且因此可以对每个色度分量应用单组ALF系数。
几何变换可以应用于滤波器系数和对应的滤波器限幅值(也被称为限幅值)。在对块(例如,4×4亮度块)进行滤波之前,例如取决于针对块计算的梯度值(例如,gv、gh、gd1和/或gd2),诸如旋转或对角和垂直翻转的几何变换可以被应用于滤波器系数f(k,l)和对应的滤波器限幅值c(k,l)。应用于滤波器系数f(k,l)和对应的滤波器限幅值c(k,l)的几何变换可以等效于将几何变换应用于由滤波器支持的区域中的样本。几何变换可以通过对齐相应的方向性使应用ALF的不同块更相似。
三个几何变换(包括对角线翻转、垂直翻转和旋转)可以分别如等式(9)-(11)描述的那样执行。
fD(k,l)=f(l,k),cD(k,l)=c(l,k), 等式(9)
fV(k,l)=f(k,K-l-1),cV(k,l)=c(k,K-l-1) 等式(10)
fR(k,l)=f(K-l-1,k),cR(k,l)=c(K-l-1,k) 等式(11)
其中,K是ALF或滤波器的大小,并且0≤k,l≤K-1是系数的坐标。例如,位置(0,0)和位置(K-1,K-1)分别在滤波器f或限幅值矩阵(或限幅矩阵)c的左上角和右下角处。取决于针对块计算的梯度值,变换可以被应用于滤波器系数f(k,l)和限幅值c(k,l)。表1中总结了变换与四个梯度之间的关系的示例。
表1:针对块计算的梯度的映射和变换
梯度值 | 变换 |
gd2<gd1并且gh<gv | 无变换 |
gd2<gd1并且gv<gh | 对角线翻转 |
gd1<gd2并且gh<gv | 垂直翻转 |
gd1<gd2并且gv<gh | 旋转 |
在实施例中,诸如在探索压缩模型5(ECM5)中,不使用ALF梯度子采样和ALF虚拟边界处理。用于分类的块大小可以例如从4×4减小到2×2。亮度分量和色度分量的滤波器大小可以增加到9×9(例如,9×9菱形形状),其中对于亮度分量和色度分量用信号通知ALF系数。为了对亮度样本进行滤波,可以使用不同的分类器,诸如三个不同的分类器C0、C1和CA,以及不同的滤波器集合,诸如三个不同的滤波器集合F0、F1和FA。三个分类器C0、C1和CA可以分别对应于三个滤波器集合F0、F1和FA。滤波器集合F0和F1可以包括具有为分类器C0和C1训练的系数的固定滤波器(例如,存储在解码器和编码器中)。在示例中,没有用信号通知滤波器集合F0和F1。滤波器集合FA可以被称为自适应滤波器。可以用信号通知滤波器集合FA(例如,ALF)的系数。来自集合(例如,F0、F1或FA)的哪个滤波器用于给定样本(或当前样本)R(x0,y0)可以通过使用分类器(例如,C0、C1或CA)分配给该样本的类别(例如,C0、C1或CA)来确定。在示例中,两个固定滤波器F0和F1(例如,两个13×13菱形形状固定滤波器F0和F1)被应用于导出例如分别包括相应的中间样本R0(x,y)和R1(x,y)的两个中间输出。滤波器(或自适应滤波器)FA可以被应用于R0(x,y)、R1(x,y)和当前样本R(x0,y0)的相邻样本,以确定如下的滤波样本
其中,fi,j(例如,fi,0或fi,1)可以是相邻样本与当前样本R(x0,y0)(其中,i是从0至19)之间的差值(例如,限幅差值)。相邻样本的位置与滤波系数ci的位置相对应。gi可以是Ri-20(x0,y0)与当前样本R(x0,y0)之间的限幅差值,其中i是从20至21。例如,gi=clip(Ri-20(x0,y0)-R(x0,y0)),并且因此g20=clip(R0(x0,y0)-R(x0,y0)),并且g21=clip(R1(x0,y0)-R(x0,y0))。滤波器FA的系数可以包括ci,i=0,…21。可以用信号通知滤波器系数ci,i=0,…21。
在实施例中,诸如ECM5,由分类器Ci(例如,C0、C1或CA)指示的类别可以基于如等式(13)(其中i可以是0、1或A)所示的方向性(或方向性参数)Di和活动性(或活动性的量化值/>)被分配给块(例如,每个2×2块)。
其中,MD,i可以表示方向性Di的总数。在示例中,由等式(13)确定的类别C0指示滤波器集合F0中的滤波器。由等式(13)确定的类别C1指示滤波器集合F1中的滤波器。由等式(13)确定的类别CA指示滤波器集合FA中的滤波器。
类似于与等式(1)-(5)相关的描述,诸如在VVC中,可以使用1-D拉普拉斯算子计算每个样本的水平梯度垂直梯度/>和两个对角线梯度/>和/>的值,其中i可以是与分类器C0、C1或CA相对应的0、1或A。覆盖目标块(例如,目标2×2块)的窗口(例如,4×4窗口)内的样本梯度的总和可以用于分类器C0(例如,i=0)。窗口(例如,12×12窗口)内的样本梯度的总和可以用于分类器C1(例如,i=1)和CA(例如,i是A)。水平梯度、垂直梯度和两个对角线梯度的总和分别表示为/>和/>可以通过将/>和/>与一组阈值进行比较来确定方向性Di。
例如,在使用两个阈值(例如,2和4.5)的VVC中,可以导出方向性DA。对于方向性D0和D1,可以计算边缘强度(例如,水平边缘强度比垂直边缘强度)和边缘强度(例如,对角线边缘强度)/>可以使用阈值Th=[1.25,1.5,2,3,4.5,8],其中Th[0]至Th[5]分别是1.25,1.5,2,3,4.5和8。如果/>则边缘强度/>可以是0;否则,边缘强度/>可以是最大整数,使得/>如果/>则边缘强度/>可以是0;否则,边缘强度/>可以是最大整数,使得/>当/>即,水平边缘/垂直边缘占主导地位时,可以使用图7A导出Di;否则,/>对角线边缘占主导地位,可以通过使用图7B导出Di。
为了获得可以将垂直梯度和水平梯度的总和Ai映射(例如,量化)到0至n的范围,其中,对于/>n等于4,并且对于/>和/>n等于15。在一些示例中,在包括ALF滤波器系数的APS(例如,ALF_APS)中,可以用信号通知多达4个亮度滤波器集合,并且每个集合可以具有多达25个滤波器。
基于等式(13)并且与自适应滤波器集合FA相对应的类别CA可以基于梯度来计算,并且因此可以被称为基于梯度的分类器。ALF中的分类可以用可以利用可替代分类器(诸如基于频带的分类器)来扩展。对于用信号通知的亮度滤波器集合,可以用信号通知标志以指示是否应用替代分类器(例如,基于频带的分类器)。几何变换不应用于可替代的基于频带的分类器。当应用基于频带的分类器时,可以计算块(例如,2×2亮度块)的样本值的总和。类别索引(或类别索引)可以使用等式(15)来计算。
类别索引=(总和×25)>>(样本比特深度+2) 等式(15)
样本比特深度指示每个样本的比特数。在示例中,类别索引(诸如使用等式15确定的类别索引)可以指示自适应滤波器集合FA中的滤波器。
离线滤波抽头可以被扩展用于ALF。离线滤波抽头可以提供用于ALF亮度滤波的附加信息。在示例中,使用离线滤波抽头的扩展来增强ALF的性能。图8示出了包括滤波抽头(或滤波系数)的扩展滤波器的示例。图8中的扩展滤波器可以是从例如以上描述的自适应滤波器集合FA中的滤波器扩展的自适应滤波器(例如,ALF)。图8中所示的自适应滤波器中的滤波抽头可以包括包含c0至c19的第一抽头或第一系数(例如,也被称为空间抽头)以及包含c20至c27的第二抽头或第二系数。在图8中所示的示例中,空间抽头(例如,c0至19)保持与菱形形状相同(例如,图8中的c0至c19与等式12的c0至c19相对应),并且应用于来自固定滤波器(例如,F0和F1)的结果(或输出)(例如,R0和R1)的第二抽头(例如,c20至c27)的数目例如从等式12中的2(例如,c20至c21)增加到图8中的8(例如,c20至c27)。第二抽头(例如,c20至c27)可以被应用于至少一个固定滤波器的输出/结果,并且因此可以被称为基于固定滤波器结果的抽头。在示例中,系数c20至c26被应用于R0,并且系数c27被应用于R1。在各种示例中,用信号通知包括滤波抽头c0至c27的自适应滤波器。
在诸如图8中所示的相关技术中,被应用于离线滤波结果或样本的第一抽头(例如,诸如c0至c19的空间滤波器抽头)和第二抽头(例如,c20至c27)两者被用于对样本进行滤波。附加的抽头或系数(例如,c22至c27)可以改进编码性能,例如,来自图8中的滤波器的滤波样本可以比来自等式12中的滤波器的滤波样本更准确(例如,具有更大的信噪比(SNR))。比较图8和等式12中的滤波系数,在图8的示例中需要用信号通知更多的系数(例如,c21至c27),并且因此使用图8中所示的滤波器可能不会使编码效率最大化。
本申请的各方面提供用于离线固定滤波的ALF的技术。技术可以组合ALF(例如,FA)和ALF中使用的至少一个离线训练的滤波器(例如,F0和/或F1)。利用包括离线训练的固定滤波器抽头的至少一个离线训练的滤波器(例如,F0和/或F1等)滤波的图像或图片执行ALF。
本申请的实施例描述了滤波过程。可以使用至少一个第一滤波器(例如,至少一个固定滤波器)将滤波过程中的第一滤波(例如,通过至少一个固定滤波器滤波)应用于样本(诸如图片中的多个样本),并且确定至少一个对应的第一滤波输出。滤波过程中的第二自适应滤波器(或具有可变系数的第二自适应滤波器)可以被应用于至少一个第一滤波输出,以确定第二滤波输出(也被称为最终滤波输出)。例如,图片中的多个样本可以包括由第二自适应滤波器滤波的当前样本,并且第二自适应滤波器被应用于至少一个第一滤波输出以获得当前样本的第二滤波样本。根据本申请的实施例,第二自适应滤波器的每个系数被应用于至少一个第一滤波输出中的对应一个第一滤波输出。例如,第二自适应滤波器的每个系数(i)被直接应用于至少一个第一滤波输出中的对应一个第一滤波输出,或(ii)被间接应用于基于至少一个第一滤波输出的对应一个第一滤波输出的结果(例如,诸如限幅差值的差值)。
在一些示例中,至少一个第二自适应滤波器被应用于至少一个对应的第一滤波输出。
在示例中,图片中的多个样本包括与当前样本相关联的样本,诸如围绕当前样本的区域(例如,周围区域)中的样本。
在实施例中,至少一个第一滤波器中的滤波器来自预定义的滤波器集合。在示例中,第二自适应滤波器是从在码流中用信号通知的自适应滤波器集合中选择的。
在第一滤波之前的图片中的多个样本(例如,由R(x,y)指示)可以被称为未滤波样本,因为样本没有被至少一个第一滤波器或第二自适应滤波器滤波。未滤波样本(例如,由R(x,y)指示)可能已经由其它至少一个滤波器(诸如SAO滤波器)滤波。至少一个第一滤波输出中的每一个可以包括分别与图片中的未滤波样本相对应的第一滤波样本。以上描述的滤波过程可以包括:(i)第一滤波步骤,其中将至少一个第一滤波器应用于图片中的未滤波样本;以及(ii)第二滤波步骤,其中将第二自适应滤波器应用于至少一个第一滤波输出(例如,包括图片中的相应的第一滤波样本)。包括第一滤波步骤和第二滤波步骤的滤波过程可以被称为完整的两步滤波过程,其中第二自适应滤波器的每个系数被应用于第一滤波样本或位于图片中相同位置处的(i)第一滤波样本与(ii)对应的未滤波样本之间的差值(例如,差值或限幅差值)。
滤波过程(例如,完整的两步滤波过程)可以被应用于任何合适的块(诸如亮度块、色度块、帧间预测块、帧内预测块等)中的至少一个滤波器样本。
在至少一个相关的滤波过程(诸如等式(12)中描述的滤波)中,图片中的多个样本由固定滤波器F0和F1滤波,并且然后由自适应滤波器FA滤波。然而,仅自适应滤波器FA的系数的子集(例如,c20至c21)被应用于(例如,来自固定滤波器F0和F1的R0和)输出,并且自适应滤波器FA的其它系数(例如,c0至c19)被应用于未滤波样本,诸如各个相邻样本(即,未滤波相邻样本)与当前样本(例如,未滤波当前样本)之间的差值(例如,限幅差值)。
与至少一个相关的滤波过程(诸如等式(12)中描述的滤波)相比,完整的两步滤波过程对于视频/图像编码可能更有益。在完整的两步滤波过程中,可以将第二自适应滤波器应用于至少一个第一滤波输出,并且至少一个第一滤波输出可以具有比未滤波样本更大的SNR。因此,在完整的两步滤波过程中使用的第二自适应滤波器可以包括比在等式(12)中的自适应滤波器FA中使用的那些系数更小的系数并且可以实现与等式(12)中的自适应滤波器FA类似或更好的SNR。相应地,完整的两步滤波过程可以实现与等式(12)中的自适应滤波器FA类似或更好的SNR并且可以更具编码效率(例如,用信号通知较少系数)。例如,在完整的两步滤波过程中使用图9至图11中所示的自适应滤波器FA,图9至图11中所示的自适应滤波器FA中的系数的数目分别是21、22和13,这些数目小于图8中所示的自适应滤波器FA中的系数的数目(例如,28)。
至少一个第一滤波器可以是非线性地修改图片中的至少一个样本的至少一个非线性滤波器。可以预定义至少一个第一滤波器。至少一个第一滤波器可以已知为图像编码器或视频编码器(诸如解码器和/或编码器等),或者可以存储在该图像编码器或视频编码器中。至少一个第一滤波器可以包括具有离线训练的系数的至少一个固定滤波器(例如,离线固定的滤波器),诸如以上描述的F0和F1,并且至少一个第一滤波输出可以包括以上描述的R0和R1。
在示例中,至少一个第一滤波器中的每一个是基于各自的分类器从固定滤波器集合中选择的。至少一个第一滤波器可以包括p个滤波器(例如,p个固定滤波器),其具有为对应的分类器Ci训练的系数,其中p是正数,并且i可以是从0到p-1。p个滤波器可以包括来自多个固定滤波器F0的滤波器、来自多个固定滤波器F1的滤波器……和来自多个固定滤波器Fp-1的滤波器。为了简洁起见,p个滤波器可以被称为固定滤波器F0、F1……和Fp-1。多个固定滤波器F0、多个固定滤波器F1……和多个固定滤波器Fp-1的系数可以被预定义,并且例如不被用信号通知。对应的分类器Ci可以使用等式(13)来确定。至少一个固定滤波器(例如,F0、F1……或Fp-1)中的每一个可以基于相应的分类器Ci从相应的多个固定滤波器Fi中选择。在示例中,p个滤波器包括两个第一滤波器。一个第一滤波器是基于分类器C0从多个固定滤波器F0中选择的,并且另一第一滤波器是基于如等式(13)中描述的分类器C1从多个固定滤波器F1中选择的。
可以基于分类器CA从多个自适应滤波器(例如,多个ALF滤波器)FA中选择第二自适应滤波器。在示例中,由分类器Ci(例如,C0、C1……Cp-1)或CA指示的类别被分配给图片中的块。块可以具有任何合适的大小,诸如2×2、4×4等。在示例中,块的大小是1×1,并且由分类器Ci或CA指示的类别被分配给图片中的多个样本。
在示例中,多个自适应滤波器(例如,多个ALF滤波器)FA的系数在至少一个头(诸如NA个APS)中被用信号通知,其中NA是正整数(例如,8)。可以从NA个APS(例如,从8个APS中选择的APS)中选择用于多个块(例如,诸如条带中或图片中的多个块)的APS。然后,基于等式(13)或等式(15)确定分类器CA(例如,每个块或每个样本的分类器CA),并且基于分类器CA从在选择的APS中用信号通知的多个自适应滤波器中选择用于块(或用于样本)的第二自适应滤波器。
在示例中,至少一个第一滤波器(例如,p个滤波器)包括恒定滤波器系数并且没有用信号通知,并且第二自适应滤波器包括可以改变并且在码流中(例如,在至少一个APS中)用信号通知的滤波器系数。
在实施例中,在滤波过程(例如,完整的两步滤波过程)中使用两种不同类型的滤波器(例如,cF和aF)。第一类型的滤波器cF可以包括以上描述的p个滤波器。第二类型的滤波器aF可以包括自适应滤波器,诸如以上描述的多个自适应滤波器(例如,多个ALF滤波器)FA。可以用信号通知第二类型的滤波器aF的系数。来自第二类型的滤波器aF中的哪个滤波器(例如,哪个自适应滤波器)用于当前样本可以通过使用分类器CA分配给当前样本的类别来确定。
在示例中,应用第一类型的滤波器cF(例如,p个固定滤波器)来针对图片中的多个样本的至少一个相应滤波器F0、F1……和Fp-1导出至少一个中间滤波输出(也被称为至少一个第一滤波输出),诸如R0、R1……和Rp-1。每个第一滤波输出可以包括与图片中的多个样本相对应的中间滤波样本或第一滤波样本(例如,R0(x,y)、R1(x,y)……或Rp-1(x,y))。(x,y)可以指图片中的多个样本位置。R(x,y)可以指示在应用ALF滤波(例如,包括第一类型的滤波器cF和第二类型的滤波器aF)之前位于坐标(或位置)(x,y)处的输入样本(或未滤波样本)。由R(x,y)指示的输入样本(或未滤波样本)可以是F0、F1……或Fp-1的输入样本。如以上描述的,R(x,y)可能已经被其它滤波器(例如,SAO滤波器)滤波,这些其它滤波器与在完整的两步滤波过程中使用的两种不同类型的滤波器(例如,cF和aF)不同。
在导出至少一个中间滤波输出之后,可以将第二自适应滤波器(例如,aF中的滤波器)应用于R0(x,y)、R1(x,y)……或Rp-1(x,y)),以导出滤波当前样本为
其中,k∈p(例如,{0,1,…p-1}),m∈p,并且k≠m。第二自适应滤波器可以包括滤波器系数或系数ci,i=0,…,n+p-2。滤波器系数ci(i=0,…,n-1)可以与gk,i相关联。可以用信号通知滤波器系数ci,i=0,…,n+p-2。样本在图片中的位置可以由(x,y)表示。图片中的多个样本可以包括当前样本。(x0,y0)可以表示当前样本的位置,R(x0,y0)可以表示未滤波当前样本,例如,在应用第一类型的滤波器cF和第二自适应滤波器之前的当前样本的值。可以表示当前样本的最终滤波样本(或第二滤波样本)。/>可以是在应用第一类型的滤波器cF和第二自适应滤波器两者之后的最终滤波样本。
gm,0可以表示第一滤波当前样本Rm(x0,y0)与未滤波当前样本R(x0,y0)之间的差值(例如,限幅差值)。gk,i可以表示位于与系数ci相对应的至少一个样本位置(也被称为至少一个滤波位置)i处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本Rk(x,y)之间的至少一个差值(例如,至少一个限幅差值)的总和。i可以指向当前样本位置(x0,y0)处或(x0,y0)附近的至少一个样本位置(x,y),并且i=0,…,n-1。参考等式(16),将第二自适应滤波器的每个系数应用于对应的第一滤波输出。例如,系数c0至cn-1中的每个ci被直接应用于gk,i并且因此被间接应用于与ci相关联的至少一个位置(x,y)处的第一滤波输出Rk(x,y)。系数cn至cn+p-2中的每个ci被直接应用于gm,0并且因此被间接应用于与ci相关联的当前样本位置(x0,y0)处的第一滤波输出Rm(x0,y0)。
在实施例中,k是预定义常数参数,诸如0、1、2、3等。图片、条带、CTU、由分类器指示的类别等可以具有相应的k值。在另一实施例中,在条带头、图片头、SPS、PPS等中以适当级别或适当头(诸如CTU级别)的语法用信号通知k。
参见等式(16),在实施例中,至少一个第一滤波器包括第一滤波器(例如,F0)。至少一个第一滤波输出中的第一滤波输出(例如,R0)可以包括来自第一滤波器的第一滤波样本(例如,R0(x,y))。第二自适应滤波器的多个系数(例如,等式(16)中的c0至cn-1)可以应用于第一滤波输出。在示例中,至少一个第一滤波器包括至少另一第一滤波器(例如,F1),至少一个第一滤波输出包括至少另一第一滤波输出(例如,R1),并且第二自适应滤波器的与多个系数不同的至少一个系数(例如,等式(16)中的cn)可以被应用于至少另一第一滤波输出中的每一个。
在示例中,k是0,并且等式(16)可以成为以下等式(17)。
参见等式(17),第一滤波器可以是F0,并且第一滤波输出可以是R0。g0,i可以表示位于与第二自适应滤波器的系数c0至cn-1相关联的至少一个样本位置i处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本R0(x,y)之间的至少一个差值(例如,至少一个限幅差值)的总和。应用于第一滤波输出的多个系数可以包括c0至cn-1。该至少另一第一滤波器可以包括F1……和Fp-1,该至少另一个第一滤波输出可以包括R1……和Rp-1,并且第二自适应滤波器中的系数(例如,等式(17)中的cn至cn+p-2中的一个)可以被应用于相应的第一滤波输出(例如,等式(17)中的R1……和Rp-1中的一个)。
在示例中,k是3,并且等式(16)可以成为以下等式(18)。
参考等式(18),第一滤波器可以是F3,第一滤波输出可以是R3。g3,i可以表示位于与第二自适应滤波器的系数c0至cn-1相关联的至少一个样本位置i处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本R3(x,y)之间的至少一个差值(例如,至少一个限幅差值)的总和。应用于第一滤波输出的多个系数可以包括c0至cn-1。
在实施例中,使用三个不同的滤波器集合(例如,F0、F1和FA)。滤波器集合F0和F1包括固定滤波器,其具有为分类器C0和C1训练的系数。可以用信号通知FA中滤波器的系数。在示例中,在编码器处,应用两个固定滤波器F0和F1(例如,两个13×13菱形形状固定滤波器F0和F1)来导出分别包括样本R0(x,y)和R1(x,y)的两个中间滤波输出。随后,可以将第二自适应滤波器或自适应滤波器FA应用于R0(x,y)和R1(x,y),以导出如下的滤波当前样本。
其中,k∈{0,1}可以是预定义参数或者可以在语法中用信号通知,例如,k是0或1。第二自适应滤波器可以包括滤波器系数或系数ci,i=0,…,n-1。滤波器系数ci(i=0,…,n-2)可以应用于gk,i或与其相关联。可以用信号通知滤波器系数ci,i=0,…,n-1。样本在图片中的位置可以由(x,y)表示。R(x0,y0)可以表示未滤波当前样本。可以表示在应用第一类型的滤波器(例如,F0和F1)和第二自适应滤波器FA之后的最终滤波当前样本。
g1-k,0可以表示第一滤波当前样本R1-k(x0,y0)与未滤波当前样本R(x0,y0)之间的差值(例如,限幅差值)。gk,i可以表示位于至少一个样本位置(也被称为至少一个滤波位置)i处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本Rk(x,y)之间的至少一个差值(例如,至少一个限幅差值)的总和。i可以指向当前样本位置(x0,y0)处或(x0,y0)附近(例如,周围)的至少一个样本位置(x,y)。
在实施例中,当k是0时,等式(19)可以成为等式(20)。
图9示出了包括滤波抽头(或滤波系数)ci(i=0,…,20)的第二自适应滤波器FA的示例,其中,在等式20中n是21。FA中的滤波系数可以包括第一系数(例如,包括c0至c19)和第二系数(例如,c20)。在示例中,将第一系数ci(例如,c0至c19)应用于g0,i,即,将第一滤波器系数ci与g0,i(其中,i是从0至19)相关联,并且将第二系数c20应用于g1,0。在各种示例中,用信号通知包括滤波抽头c0至c20的自适应滤波器。
参考图9,由第二自适应滤波器FA支持的区域可以包括当前样本所在的位置(x0,y0)和当前样本的周围区域。周围区域可以包括当前样本位置(x0,y0)附近(例如,周围)的样本。由第二自适应滤波器FA支持的区域可以指图片中这样的区域,其中的样本(例如,第一滤波本样)可以用于使用第二自适应滤波器FA获得第二滤波当前样本。第二系数(例如,c20)可以与作为当前样本的位置的(x0,y0)相关联,并且第一系数(例如,c0至c19)可以与当前样本的周围区域相关联。
在示例中,由第二自适应滤波器FA支持的区域(与系数c0至c20相对应)可以具有对称的菱形形状。当前样本的周围区域(与系数c0至c19相对应)可以具有对称的菱形形状。
g1,0(还可以由g1(x,y)表示)可以是第一滤波当前样本R1(x0,y0)与未滤波当前样本R(x0,y0)之间的差值(例如,限幅差值)。g0,i可以是位于至少一个样本位置(或至少一个滤波位置)i(其中,i是从0至19)处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本R0(x,y)之间的差值(例如,限幅差值)的总和。i可以指向当前样本位置(x0,y0)的周围区域中的两个样本位置。例如,两个样本位置与相同的系数ci相对应。
参考图9,当i是从0至19(诸如11)时,两个样本位置与系数ci(例如,c11)相对应,并且位于与ci相关联的位置(诸如与c11相关联的(x0-1,y0-1)和(x0+1,y0+1))处。例如,g0,11=g0(x0-1,y0-1)+g0(x0+1,y0+1)。g0(x0-1,y0-1)可以指示R(x0-1,y0-1)与R0(x0-1,y0-1)之间的第一差值(例如,限幅差值),并且g0(x0+1,y0+1)可以指示R(x0+1,y0+1)与R0(x0+1,y0+1)之间的第二差值(例如,限幅差值)。因此,g0,11可以是第一差值和第二差值的总和。
以上描述可以被应用于i,i是0、1……或19。例如,当i是16时,两个样本位置与系数c16相对应,并且位于位置(x0-4,y0)和(x0+4,y0)处。因此,g0,16=g0(x0-4,y0)+g0(x0+4,y0)。g0(x0-4,y0)可以指示R(x0-4,y0)与R0(x0-4,y0)之间的差值(例如,限幅差值),并且g0(x0+4,y0)可以指示R(x0+4,y0)与R0(x0+4,y0)之间的差值(例如,限幅差值)。
图10示出了包括滤波抽头(或滤波系数)ci(i=0,…,21)的第二自适应滤波器FA的示例,其中,在等式20中n是22。FA中的滤波系数可以包括第一系数(例如,包括c0至c20)和第二系数(例如,c21)。在示例中,将第一系数c0至c20应用于g0,i,即,将第一滤波器系数ci与g0,i(其中,i是从0至20)相关联,并且将第二系数c21应用于g1,0。在各种示例中,用信号通知包括滤波抽头c0至c21的自适应滤波器。
由图10中的第二自适应滤波器FA支持的区域可以与由图9中的第二自适应滤波器FA支持的区域相同。参考图10,第二系数(例如,c21)可以与作为当前样本的位置的(x0,y0)相关联,并且第一系数(例如,c0至c20)可以与由包括当前样本位置(x0,y0)的第二自适应滤波器FA支持的区域相关联。在示例中,由第二自适应滤波器FA支持的区域可以具有对称的菱形形状。
g1,0(或g1(x,y))可以是第一滤波当前样本R1(x0,y0)与未滤波当前样本R(x0,y0)之间的差值(例如,限幅差值)。g0,i可以是位于至少一个样本位置(或至少一个滤波位置)i(其中,i是从0至20)处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本R0(x,y)之间的至少一个差值(例如,至少一个限幅差值)的总和。i可以指向当前样本位置(x0,y0)或当前样本的周围区域中的一个或两个样本位置。例如,一个或两个样本位置与系数ci相对应。
参考图10,当i是从0至19(诸如11)时,两个样本位置与系数ci(例如,c11)相对应,并且位于与ci相关联的位置(诸如与c11相关联的(x0-1,y0-1)和(x0+1,y0+1))处。因此,g0,11=g0(x0-1,y0-1)+g0(x0+1,y0+1),如图9所描述。该描述可以被应用于i,i是0、1……或19。
参考图10,当i是20时,样本位置(例如,当前样本位置(x0,y0))与系数c20相对应。因此,g0,20=g0(x0,y0)。g0(x0,y0)可以指示R(x0,y0)与R0(x0,y0)之间的差值(例如,限幅差值)。
在实施例中,可以使用两个不同的滤波器集合(例如,F0和FA)。滤波器集合F0和FA如以上描述。可以应用固定滤波器F0来导出包括样本R0(x,y)的中间滤波输出。随后,可以将第二自适应滤波器或自适应滤波器FA应用于R0(x,y),以导出如下的滤波当前样本。
在示例中,将系数c0至cn-1应用于g0,i,即,滤波器系数ci与g0,i(其中,i是从0至n-1)相关联。在各种示例中,用信号通知包括滤波抽头c0至cn-1的自适应滤波器。g0,i可以是位于至少一个样本位置(或至少一个滤波位置)i处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本R0(x,y)之间的差值(例如,限幅差值)的总和。i可以指向当前样本位置(x0,y0)的周围区域中或当前样本位置处的至少一个样本位置,诸如图9或图10中描述的。例如,至少一个样本位置与系数ci相对应。
在实施例中,在滤波过程(例如,完整的两步滤波过程)中使用两种不同类型的滤波器(例如,cF和aF)。第一类型的滤波器cF可以包括以上描述的p个滤波器。第二类型的滤波器aF可以包括自适应滤波器,诸如以上描述的多个自适应滤波器(例如,多个ALF滤波器)FA。可以用信号通知第二类型的滤波器aF的系数。来自第二类型的滤波器aF中的哪个滤波器(例如,哪个自适应滤波器)用于当前样本可以通过使用分类器CA分配给当前样本的类别来确定。
在示例中,应用第一类型的滤波器cF(例如,p个固定滤波器)来从用于如以上描述的图片中的多个样本的至少一个相应滤波器F0、F1……和Fp-1导出至少一个中间滤波输出(也被称为至少一个第一滤波输出),诸如R0、R1……和Rp-1。每个第一滤波输出可以包括与图片中的多个样本相对应的中间滤波样本或第一滤波样本(例如,R0(x,y)、R1(x,y)……或Rp-1(x,y))。(x,y)可以指图片中的多个样本位置。在导出至少一个中间滤波输出之后,可以将第二自适应滤波器(例如,aF中的滤波器)应用于R0(x,y)、R1(x,y)……或Rp-1(x,y)),以导出滤波当前样本为
其中,k∈p(例如,{0,1,…p-1})。第二自适应滤波器可以包括滤波器系数或系数ci,i=0,…,(n0+n1+…np-2+np-1-1)。滤波器系数ci可以与gk,i相关联。可以用信号通知滤波器系数ci,i=0,…,(n0+n1+…np-2+np-1-1)。样本在图片中的位置可以由(x,y)表示。图片中的多个样本可以包括当前样本。(x0,y0)可以表示当前样本的位置,R(x0,y0)可以表示未滤波当前样本。可以表示在应用第一类型的滤波器cF和第二自适应滤波器之后的最终滤波样本(或第二滤波样本)。gk,i可以表示位于至少一个样本位置(也被称为至少一个滤波位置)i处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本Rk(x,y)之间的至少一个差值(例如,至少一个限幅差值)的总和。i可以指向当前样本位置(x0,y0)处或(x0,y0)附近的至少一个样本位置(x,y)。
参考等式(22),在示例中,可以将至少一个系数应用于第一滤波输出Rk。例如,n0个系数经由项g0,i被应用于第一滤波输出R0,n1个系数经由项g1,i被应用于第一滤波输出R1,……,并且np-1个系数经由项gp-1,i被应用于第一滤波输出Rp-1。
在实施例中,使用三个不同的滤波器集合(例如,如以上描述的F0、F1和FA)。例如,滤波器集合F0和F1包括固定滤波器,其具有为分类器C0和C1训练的系数。可以用信号通知FA中滤波器的系数。在示例中,应用两个滤波器F0和F1(例如,两个13×13菱形形状固定滤波器F0和F1)来导出分别包括样本R0(x,y)和R1(x,y)的两个中间滤波输出。随后,可以将第二自适应滤波器或自适应滤波器FA应用于R0(x,y)和R1(x,y),以导出如下的滤波当前样本。
其中,0<m<n并且k∈{0,1}。第二自适应滤波器可以包括滤波器系数或系数ci,i=0,…,n-1。滤波器系数ci可以应用于gk,i或与其相关联。可以用信号通知滤波器系数ci,i=0,…,n-1。样本在图片中的位置可以由(x,y)表示。R(x0,y0)可以表示未滤波当前样本。可以表示在应用第一类型的滤波器(例如,F0和F1)和第二自适应滤波器FA之后的最终滤波当前样本。gk,i可以表示位于至少一个样本位置(也被称为至少一个滤波位置)i处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本Rk(x,y)之间的至少一个差值(例如,至少一个限幅差值)的总和。i可以指向当前样本位置(x0,y0)处或(x0,y0)附近的至少一个样本位置(x,y)。
图11示出了包括滤波抽头(或滤波系数)ci(i=0,…,n-1)的第二自适应滤波器FA的示例,其中,m在等式23中是7并且n是14。FA中的滤波系数可以包括第一系数(例如,包括c0至c6)和第二系数(例如,包括c7至c13)。在示例中,将第一系数(例如,包括c0至c6)应用于g0,i,即,滤波器系数ci与g0,i(其中,i是从0至6)相关联,并且将第二系数(例如,包括c7至c13)应用于g1,i(其中,i是从7至13)。在各种示例中,用信号通知包括滤波抽头c0至c13的自适应滤波器。
图11中由第二自适应滤波器FA支持的区域可以是菱形形状。参考图11,第一系数(例如,c0至c6)和第二系数(例如,包括c7至c13)可以与由第二自适应滤波器FA支持的区域相关联,该区域包括当前样本位置(x0,y0)和周围区域。
gk,i(e.g.,g0,i或g1,i)可以是位于至少一个样本位置(或至少一个滤波位置)i处的至少一个未滤波样本R(x,y)与至少一个对应的第一滤波样本Rk(x,y)(例如,R0(x,y)或R1(x,y)))之间的至少一个差值(例如,至少一个限幅差值)的总和。i可以指向当前样本位置(x0,y0)或当前样本的周围区域中的一个或两个样本位置。例如,一个或两个样本位置与系数ci相对应。
参考图11,第一系数包括c0至c6。当i是从0至5(诸如1)时,两个样本位置与系数ci(例如,c1)相对应,并且位于与ci相关联的位置(诸如与c1相关联的(x0-1,y0-1)和(x0+1,y0+1))处。因此,g0,1=g0(x0-1,y0-1)+g0(x0+1,y0+1),如图9至图10所描述。该描述可以被应用于i,i是0、1……或5。当i是4时,两个样本位置与系数ci(例如,c4)相对应,并且位于与ci相关联的位置(诸如与c4相关联的(x0-2,y0)和(x0+2,y0))处。因此,g0,4=g0(x0-2,y0)+g0(x0+2,y0),如图9至图10所描述。当i是6时,样本位置(例如,当前样本位置(x0,y0))与系数c6相对应。因此,g0,6=g0(x0,y0)。g0(x0,y0)可以指示R(x0,y0)与R0(x0,y0)之间的差值(例如,限幅差值)。
参考图11,第二系数包括系数c7至c13。当i是从7至12(诸如8)时,两个样本位置与系数ci(例如,c1)相对应,并且位于与ci相关联的位置(诸如与c8相关联的(x0-1,y0-1)和(x0+1,y0+1))处。因此,g1,8=g1(x0-1,y0-1)+g1(x0+1,y0+1)。该描述可以被应用于i,i是7、1……或12。当i是11时,两个样本位置与系数ci(例如,c11)相对应,并且位于与ci相关联的位置(诸如与c11相关联的(x0-2,y0)和(x0+2,y0))处。因此,g1,11=g1(x0-2,y0)+g1(x0+2,y0),如图9至图10所描述。当i是13时,样本位置(例如,当前样本位置(x0,y0))与系数c13相对应。因此,g1,13=g1(x0,y0)。g1(x0,y0)可以指示R(x0,y0)与R1(x0,y0)之间的差值(例如,限幅差值)。
图12示出了概述根据本申请的实施例的过程(1200)的流程图。过程(1200)可以用于视频编码器。在各种实施例中,过程(1200)由诸如执行视频编码器(103)的功能的处理电路、执行视频编码器(303)的功能的处理电路等处理电路执行。在一些实施例中,过程(1200)在软件指令中实现,因此当处理电路执行软件指令时,处理电路执行过程(1200)。过程(1200)可以实现滤波过程,诸如以上描述的完整的两步滤波过程。过程(1200)开始于(S1201)并且进行到(S1210)。
在(S1210)处,分别将至少一个第一滤波器(例如,F0、F1等)应用于图片中的多个样本,以获得图片中的多个样本的至少一个第一滤波输出(例如,R0、R1等)。图片中的多个样本可以包括由第二自适应滤波器(例如,第二自适应滤波器FA)滤波的当前样本R0(x0,y0)。至少一个第一滤波输出中的每一个第一滤波输出可以包括多个第一滤波样本,多个第一滤波样本是由所述至少一个第一固定滤波器中相应的第一固定滤波器对所述图片中的所述多个样本进行滤波得到的。
在示例中,图片中的多个样本包括与当前样本相关联的多个样本,诸如在当前样本的周围区域中的多个样本。例如,周围区域中的多个样本与图9中的系数c0至c19相关联。
在(S1220)处,可以将第二自适应滤波器应用于至少一个第一滤波输出,以获得当前样本的第二滤波样本(例如,等式(16)-(23)中的可以将第二自适应滤波器的每个系数ci应用于至少一个第一滤波输出(例如,R0或R1等)中相应的一个第一滤波输出。/>
然后,过程(1200)进行到(S1299)并且终止。
过程(1200)可以包括诸如在(S1210)中执行的第一滤波步骤,以及诸如在(S1220)中执行的第二滤波步骤。
可以适当地修改过程(1200)。可以修改和/或省略过程(1200)中的至少一个步骤。可以增加至少一个附加步骤。可以使用任何合适的实现顺序。在示例中,在(S1210)之前,图片中的多个样本被帧间或帧内编码。
图13示出了概述根据本申请的实施例的过程(1300)的流程图。过程(1300)可以用于视频/图像解码器。在各种实施例中,过程(1300)由诸如执行视频解码器(110)的功能的处理电路、执行视频解码器(210)的功能的处理电路等处理电路执行。在一些实施例中,过程(1300)以软件指令实现,因此当处理电路执行软件指令时,处理电路执行过程(1300)。过程(1300)可以实现滤波过程,诸如以上描述的完整的两步滤波过程。过程(1300)开始于(S1301)并且进行到(S1310)。
在(S1310)处,可以接收包括图片的码流。
在(S1320)处,分别将至少一个第一滤波器(例如,具有恒定(即常数)滤波器系数的至少一个第一固定滤波器(例如,F0、F1等))应用于图片中的多个样本,以获得图片中的多个样本的至少一个第一滤波输出(例如,R0、R1等)。图片中的多个样本可以包括由第二自适应滤波器(例如,第二自适应滤波器FA)滤波的当前样本R0(x0,y0)。至少一个第一滤波输出中的每一个可以包括多个第一滤波样本,多个第一滤波样本是由所述至少一个第一固定滤波器中相应的第一固定滤波器对所述图片中的所述多个样本进行滤波得到的。
在示例中,图片中的多个样本包括与当前样本相关联的多个样本,诸如在当前样本的周围区域中的多个样本。例如,周围区域中的多个样本与图9中的系数c0至c19相关联。
在示例中,至少一个第一滤波器中的每一个来自各自的预定义滤波器集合。在示例中,第二自适应滤波器是从在码流中用信号通知的自适应滤波器集合中选择的。
在(S1330)处,可以将第二自适应滤波器应用于至少一个第一滤波输出,以获得当前样本的第二滤波样本(例如,等式(16)-(23)中的可以将第二自适应滤波器的每个系数ci应用于至少一个第一滤波输出(例如,R0或R1等)中相应的一个第一滤波输出。在示例中,第二自适应滤波器是具有可变系数的自适应滤波器。在示例中,可以在步骤(S1320)之后,将第二自适应滤波器应用于至少一个第一滤波输出。
在示例中,至少一个第一滤波器包括第一滤波器(例如,F0),至少一个第一滤波输出中的第一滤波输出(例如,R0)包括来自第一滤波器的第一滤波样本R0(x,y),并且可以将第二自适应滤波器的多个系数(例如,图9中的系数c0至c19,图10中的系数c0至c20或图11中的系数c0至c6)应用于第一滤波输出。
在诸如图9中所示的示例中,第二自适应滤波器的应用于第一滤波输出的多个系数(例如,图9中的系数c0至c19)中的每一个系数,与图片的区域中的至少一个位置相关联。在示例中,区域仅包括当前样本的周围区域。在示例中,区域包括当前样本的周围区域和当前样本。对于多个系数中的每一个(例如,图9中的c0、c1……或c19),可以确定与图片的区域中的至少一个位置相对应的至少一个差值。参考图9,至少一个位置的每个位置(例如,(x0-1,y0-1))的差值(例如,g0(x0-1,y0-1))可以在位于相应位置(例如,(x0-1,y0–1))处的未滤波样本R(x0-1,y0-1)与第一滤波样本(例如,R0(x0-1,y0-1))之间。可以将相应系数(例如,c11)应用于至少一个差值(例如,g0(x0-1,y0-1)和g0(x0+1,y0+1))的总和(例如,g0,11=g0(x0-1,y0-1)+g0(x0+1,y0+1))。
在实施例中,至少一个第一滤波器包括至少另一第一滤波器(例如,F1),并且至少一个第一滤波输出包括至少另一第一滤波输出(例如,R1)。可以将第二自适应滤波器的与多个系数(例如,图9中的系数c0至c19)不同的至少一个系数(例如,图9中的c20)应用于至少另一第一滤波输出(例如,R1)。在示例中,对于至少另一第一滤波输出(例如,R1)的每个第一滤波输出(例如,R1),可以确定位于当前样本位置处的未滤波当前样本R(x0,y0)与相应的第一滤波输出的第一滤波样本R1(x0,y0)之间的差值(例如,限幅差值)(例如,g1,0=g1(x0,y0))。可以将第二自适应滤波器的相应系数(例如,图9中的c20)应用于差值(例如,g1,0=g1(x0,y0))。
在实施例中,至少一个第一滤波器包括第一滤波器F0和第一滤波器F1,并且至少一个第一滤波输出包括第一滤波输出R0和作为来自第一滤波器F1的输出的另一个第一滤波输出R1。可以确定位于当前样本位置处的未滤波当前样本与第一滤波输出R1的第一滤波样本之间的差值,并且可以将与多个系数不同的第二自适应滤波器的系数应用于该差值,诸如参考等式(19)和图9至图10描述的。
在诸如图9中所示的示例中,区域不包括当前样本,并且在当前样本周边具有对称的菱形形状,并且第二自适应滤波器的多个系数(例如,图9中的系数c0至c19)中的每个系数(例如,c11)与区域中的两个位置(例如,(x0-1,y0-1)和((x0+1,y0+1))相关联。两个位置相对于当前样本是对称的。
在诸如图10中所示的示例中,区域包括当前样本,多个系数(例如,图10中的系数c0至c20)包括与当前样本相关联(或应用于当前样本)的第一系数(例如,c20)和第二系数(例如,c0至c19),并且第二系数中的每一个(例如,c11)与区域中的相对于当前样本对称的两个位置(例如(x0-1,y0-1)和(x0+1,y0+1))相关联。
在实施例中,至少一个第一滤波器包括多个第一滤波器(例如,F0、F1……和Fp-1)。至少一个第一滤波输出分别包括来自多个第一滤波器的多个第一滤波输出(例如,R0、R1……和Rp-1)。第二自适应滤波器包括分别应用于多个第一滤波输出的多个系数子集(例如,p个子集)。第二自适应滤波器的系数的每个系数子集可以被应用于相应的第一滤波输出。在示例中,参考等式22,第二自适应滤波器的每一个系数子集与图片的相应区域中的至少一个位置相关联。相应区域可以包括当前样本的周围区域,并且图片中的多个样本可以包括与当前样本相关联的样本(例如,在周围区域中)。相应区域可以包括或不包括当前样本。对于系数子集中的每个系数,可以确定与图片的相应区域中的至少一个位置相对应的至少一个差值。至少一个位置中的每个位置的差值可以在位于相应位置处的未滤波样本与相应的第一滤波输出之间。相应系数可以被应用于至少一个差值的总和。
在示例中,多个第一滤波器包括第一滤波器F0和第一滤波器F1,并且多个第一滤波输出包括来自第一滤波器F0的第一滤波输出R0和来自第一滤波器F1的第一滤波输出R1。在示例中,参考图11,与第一滤波器F0和第一滤波器F1相关联的区域是相同的,并且具有菱形形状(例如,5×5菱形形状),并且区域包括当前样本和当前样本的周围区域。参考图11,与第一滤波器F0和第一滤波器F1相关联的区域与第二自适应滤波器FA支持的区域相同。
然后,过程进行到(S1399)并且终止。可以适当地修改过程(1300)。可以修改和/或省略过程(1300)中的至少一个步骤。可以增加至少一个附加步骤。可以使用任何合适的实现顺序。在示例中,至少基于当前样本的第二滤波样本来对图片进行解码。
在过程(1300)中描述的各种实施例可以应用于在编码过程中使用的过程(1200)。
本申请中的实施例可以单独使用或以任何顺序组合使用。此外,每个方法(或实施例)、编码器和解码器可以由处理电路(例如,至少一个处理器或一个或更多个集成电路)来实现。在一个示例中,至少一个处理器执行存储在非易失性计算机可读介质中的程序。
上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在至少一个计算机可读存储介质中。例如,图14示出了计算机***(1400),其适于实现所公开主题的某些实施例。
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由至少一个计算机中央处理单元(CPU),图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图14所示的用于计算机***(1400)的组件本质上是示例性的,并不用于对实现本申请实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机***(1400)的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。
计算机***(1400)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出),对至少一个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
人机界面输入设备可包括以下中的至少一个(仅绘出其中一个):键盘(1401)、鼠标(1402)、触控板(1403)、触摸屏(1410)、数据手套(未示出)、操纵杆(1405)、麦克风(1406)、扫描仪(1407)、照相机(1408)。
计算机***(1400)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激至少一个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏(1410)、数据手套(未示出)或操纵杆(1405)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(1409)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(1410),其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。
计算机***(1400)还可以包括人可访问的存储设备及其相关介质,如包括具有CD/DVD的高密度只读/可重写式光盘(CD/DVD ROM/RW)(1420)或类似介质(1421)的光学介质、拇指驱动器(1422)、可移动硬盘驱动器或固体状态驱动器(1423),诸如磁带和软盘(未示出)的传统磁介质,诸如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。
本领域技术人员还应当理解,结合所公开的主题使用的术语“计算机可读存储介质”不包括传输介质、载波或其它瞬时信号。
计算机***(1400)还可以包括通往至少一个通信网络(1455)的接口(1454)。例如,网络可以是无线的、有线的、光学的。网络还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。网络还包括以太网、无线局域网、蜂窝网络(GSM、3G、4G、5G、LTE等)等局域网、电视有线或无线广域数字网络(包括有线电视、***、和地面广播电视)、车载和工业网络(包括CANBus)等等。某些网络通常需要外部网络接口适配器,用于连接到某些通用数据端口或***总线(1449)(例如,计算机***(1400)的USB端口);其它***通常通过连接到如下所述的***总线集成到计算机***(1400)的核心(例如,以太网接口集成到PC计算机***或蜂窝网络接口集成到智能电话计算机***)。通过使用这些网络中的任何一个,计算机***(1400)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如CAN总线到某些CAN总线设备),或双向的,例如通过局域或广域数字网络到其它计算机***。上述的每个网络和网络接口可使用某些协议和协议栈。
上述的人机界面设备、人可访问的存储设备以及网络接口可以连接到计算机***(1400)的核心(1440)。
核心(1440)可包括至少一个中央处理单元(CPU)(1441)、图形处理单元(GPU)(1442)、以现场可编程门阵列(FPGA)(1443)形式的专用可编程处理单元、用于特定任务的硬件加速器(1444)、图形适配器(1450)等。这些设备以及只读存储器(ROM)(1445)、随机存取存储器(1446)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘等)(1447)等可通过***总线(1448)进行连接。在某些计算机***中,可以以至少一个物理插头的形式访问***总线(1448),以便可通过额外的中央处理单元、图形处理单元等进行扩展。***装置可直接附接到核心的***总线(1448),或通过***总线(1449)进行连接。在一示例中,屏幕(1410)可以连接到图形适配器(1450)。***总线的体系结构包括外部控制器接口PCI、通用串行总线USB等。
CPU(1441)、GPU(1442)、FPGA(1443)和加速器(1444)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(1445)或RAM(1446)中。过渡数据也可以存储在RAM(1446)中,而永久数据可以存储在例如内部大容量存储器(1447)中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与至少一个CPU(1441)、GPU(1442)、大容量存储器(1447)、ROM(1445)、RAM(1446)等紧密关联。
所述计算机可读存储介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本申请的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
作为实施例而非限制,具有体系结构(1400)的计算机***,特别是核心(1440),可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供执行包含在至少一个有形的计算机可读存储介质中的软件的功能。这种计算机可读存储介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心(1440)的特定存储器,例如核心内部大容量存储器(1447)或ROM(1445)。实现本申请的各种实施例的软件可以存储在这种设备中并且由核心(1440)执行。根据特定需要,计算机可读存储介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(1440)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(1446)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机***可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器(1444))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读存储介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。本申请包括任何合适的硬件和软件组合。
本申请中“至少一个”的使用旨在包括所述元素的任何一个或组合。例如,对A、B或C中的至少一个的引用;A、B和C中的至少一个;A、B和/或C中的至少一个;并且A至C中的至少一个旨在仅包括A、仅B、仅C或其任何组合。
虽然本申请已对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本申请的范围内。因此应理解,本领域技术人员能够设计多种***和方法,所述***和方法虽然未在本文中明确示出或描述,但其体现了本申请的原则,因此属于本申请的精神和范围之内。
Claims (20)
1.一种视频解码器中的视频解码方法,其特征在于,所述方法包括:
接收码流,所述码流包括图片;
分别将至少一个第一固定滤波器应用于所述图片中的多个样本,以获得所述图片中所述多个样本的至少一个第一滤波输出,所述第一固定滤波器的系数为常数;
在应用所述至少一个第一固定滤波器之后,将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,以获得所述多个样本中当前样本的第二滤波样本,所述第二自适应滤波器的系数是可变的;及,
至少基于所述图片中所述当前样本的所述第二滤波样本,对所述图片进行解码。
2.根据权利要求1所述的方法,其特征在于,所述至少一个第一滤波输出的每一个第一滤波输出包括多个第一滤波样本,所述多个第一滤波样本是由所述至少一个第一固定滤波器中相应的第一固定滤波器对所述图片中的所述多个样本进行滤波得到的;
所述至少一个第二自适应滤波器包括第二自适应滤波器;
所述第二自适应滤波器的每个系数被应用于所述至少一个第一滤波输出中相应的第一滤波输出。
3.根据权利要求2所述的方法,其中,
所述至少一个第一固定滤波器包括第一固定滤波器;
所述至少一个第一滤波输出的第一滤波输出包括来自所述第一固定滤波器的多个第一滤波样本;
所述将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,包括:
将所述第二自适应滤波器的多个系数应用于所述第一滤波输出。
4.根据权利要求3所述的方法,其中,
所述图片中的所述多个样本包括与所述当前样本相关联的多个样本;
应用于所述第一滤波输出的所述第二自适应滤波器的所述多个系数中的每个系数,与所述图片的区域中的至少一个位置相关联,所述区域包括所述当前样本的周围区域;
对于所述多个系数中的每个系数,所述将所述第二自适应滤波器的多个系数应用于所述第一滤波输出,包括:
确定与所述图片的所述区域中的所述至少一个位置相对应的至少一个差值,与所述至少一个位置的每个位置相对应的差值是指位于相应位置上的未滤波样本与所述第一滤波样本之间的差值;
将该系数应用于所述至少一个差值的总和。
5.根据权利要求3所述的方法,其中,
所述至少一个第一固定滤波器包括至少另一第一固定滤波器;
所述至少一个第一滤波输出包括至少另一第一滤波输出;
所述将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,还包括:
将所述第二自适应滤波器的至少一个系数应用于所述至少另一第一滤波输出,所述至少一个系数与所述多个系数不同。
6.根据权利要求5所述的方法,其中,所述将所述第二自适应滤波器的至少一个系数应用于所述至少另一第一滤波输出,包括:
对于所述至少另一第一滤波输出中的每个第一滤波输出,
确定未滤波的当前样本与该第一滤波输出的所述第一滤波样本之间的差值,所述第一滤波样本与所述当前样本同位;
将所述第二自适应滤波器的相应系数应用于所述差值。
7.根据权利要求4所述的方法,其中,
所述至少一个第一固定滤波器包括所述第一固定滤波器F0和第一固定滤波器F1;
所述至少一个第一滤波输出包括所述第一滤波输出R0和另一第一滤波输出R1,R1是F1的输出;
所述将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,还包括:
确定未滤波的当前样本与所述第一滤波输出R1的所述第一滤波样本之间的差值,所述第一滤波样本与所述当前样本同位;
将所述第二自适应滤波器的系数应用于所述差值,该系数与所述多个系数不同。
8.根据权利要求7所述的方法,其中,
所述区域不包括所述当前样本,所述区域在所述当前样本周边具有对称的菱形形状;
所述第二自适应滤波器的所述多个系数中的每个系数,与所述区域内的两个位置相关联,所述两个位置相对于所述当前样本是对称的。
9.根据权利要求7所述的方法,其中,
所述区域包括所述当前样本;
所述多个系数包括与所述当前样本相关联的第一系数、以及多个第二系数;
所述多个第二系数中的每个第二系数,与所述区域内的两个位置相关联,所述两个位置相当于所述当前样本是对称的。
10.根据权利要求2所述的方法其中,
所述至少一个第一固定滤波器包括多个第一固定滤波器;
所述至少一个第一固定滤波输出包括分别来自所述多个第一固定滤波器的多个第一滤波输出;
所述第二自适应滤波包括多个系数子集,所述多个系数子集分别应用于所述多个第一滤波输出;
所述将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,包括:
将所述第二自适应滤波的所述多个系数子集中的每个系数子集,应用于相应的第一滤波输出。
11.根据权利要求10所述的方法,还包括:
所述第二自适应滤波的所述多个系数子集中的每个系数子集,与所述图片中相应区域内的至少一个位置相关联,所述相应区域包括所述当前样本的周围区域,所述图片的所述多个样本包括与所述当前样本相关联的多个样本;
对于该系数子集中的每个系数,所述将所述第二自适应滤波的所述多个系数子集中的每个系数子集,应用于相应的第一滤波输出,包括:
确定与所述图片的相应区域内的所述至少一个位置相对应的至少一个差值,与所述至少一个位置中每个位置对对应的差值是指位于该位置上的未滤波样本与所述相应的第一滤波输出之间的差值;
将该系数应用于所述至少一个差值的总和。
12.根据权利要求11所述的方法,其中
所述多个第一固定滤波器包括第一固定滤波器F0和第一固定滤波器F1;
所述至少一个第一滤波输出包括所述第一滤波输出R0和另一第一滤波输出R1,R0是F0的输出,R1是F1的输出。
13.根据权利要求12所述的方法,其中,
与所述第一固定滤波器F0和所述第一固定滤波器F1相关联的多个区域,是相同的,并且具有菱形形状;
所述多个区域包括所述当前样本。
14.根据权利要求8所述的方法,其中,
所述第一固定滤波器F0和所述第一固定滤波器F1具有13×13对称的菱形形状。
15.根据权利要求2所述的方法,其中,
所述第二自适应滤波器的系数数量为14、21或者22。
16.一种视频解码装置,其特征在于,包括
处理电路,用于:
接收码流,所述码流包括图片;
分别将至少一个第一固定滤波器应用于所述图片中的多个样本,以获得所述图片中所述多个样本的至少一个第一滤波输出,所述第一固定滤波器的系数为常数;
在应用所述至少一个第一固定滤波器之后,将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,以获得所述多个样本中当前样本的第二滤波样本,所述第二自适应滤波器的系数是可变的;及,
至少基于所述图片中所述当前样本的所述第二滤波样本,对所述图片进行解码。
17.根据权利要求16所述的装置,其中,所述至少一个第一滤波输出的每一个第一滤波输出包括多个第一滤波样本,所述多个第一滤波样本是由所述至少一个第一固定滤波器中相应的第一固定滤波器对所述图片中的所述多个样本进行滤波得到的;
所述至少一个第二自适应滤波器包括第二自适应滤波器;
所述第二自适应滤波器的每个系数被应用于所述至少一个第一滤波输出中相应的第一滤波输出。
18.根据权利要求17所述的装置,其中,
所述至少一个第一固定滤波器包括第一固定滤波器;
所述至少一个第一滤波输出的第一滤波输出包括来自所述第一固定滤波器的多个第一滤波样本;
所述将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,包括:
将所述第二自适应滤波器的多个系数应用于所述第一滤波输出。
19.根据权利要求18所述的装置,其中,
所述图片中的所述多个样本包括与所述当前样本相关联的多个样本;
应用于所述第一滤波输出的所述第二自适应滤波器的所述多个系数中的每个系数,与所述图片的区域中的至少一个位置相关联,所述区域包括所述当前样本的周围区域;
对于所述多个系数中的每个系数,所述将所述第二自适应滤波器的多个系数应用于所述第一滤波输出,包括:
确定与所述图片的所述区域中的所述至少一个位置相对应的至少一个差值,与所述至少一个位置的每个位置相对应的差值是指位于相应位置上的未滤波样本与所述第一滤波样本之间的差值;
将该系数应用于所述至少一个差值的总和。
20.一种非暂时性计算机可读存储介质,其特征在于,其上存储有指令,当所述指令由计算机执行时,使得所述计算机实现:
接收码流,所述码流包括图片;
分别将至少一个第一固定滤波器应用于所述图片中的多个样本,以获得所述图片中所述多个样本的至少一个第一滤波输出,所述第一固定滤波器的系数为常数;
在应用所述至少一个第一固定滤波器之后,将至少一个第二自适应滤波器应用于所述至少一个第一滤波输出,以获得所述多个样本中当前样本的第二滤波样本,所述第二自适应滤波器的系数是可变的;及,
至少基于所述图片中所述当前样本的所述第二滤波样本,对所述图片进行解码。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/389,653 | 2022-07-15 | ||
US18/208,163 | 2023-06-09 | ||
US18/208,163 US20240031567A1 (en) | 2022-07-15 | 2023-06-09 | Adaptive loop filtering on output(s) from offline fixed filtering |
PCT/US2023/068435 WO2024015670A1 (en) | 2022-07-15 | 2023-06-14 | Adaptive loop filtering on output(s) from offline fixed filtering |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118235395A true CN118235395A (zh) | 2024-06-21 |
Family
ID=91506575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380014448.6A Pending CN118235395A (zh) | 2022-07-15 | 2023-06-14 | 应用于离线固定滤波输出的自适应环路滤波 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118235395A (zh) |
-
2023
- 2023-06-14 CN CN202380014448.6A patent/CN118235395A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113168718B (zh) | 视频解码方法、装置和存储介质 | |
CN111989918B (zh) | 视频解码的方法、装置及存储介质 | |
CN113678441B (zh) | 视频编解码的方法和装置 | |
CN113574885B (zh) | 视频解码方法、装置以及电子设备 | |
CN112291571B (zh) | 视频解码方法及装置以及计算机设备和存储介质 | |
CN113826384B (zh) | 对视频进行编码或解码的方法和装置 | |
JP7405926B2 (ja) | 動画の符号化及び復号方法、装置、並びにコンピュータプログラム | |
CN111988619B (zh) | 视频编解码方法、装置、计算机设备和存储介质 | |
CN113259661A (zh) | 视频解码的方法和装置 | |
CN111971965A (zh) | 视频编解码的方法和装置 | |
CN112514400B (zh) | 视频解码方法、视频解码器、计算机设备和可读存储介质 | |
JP7505017B2 (ja) | ビデオコーディングのための方法および装置 | |
CN113875256B (zh) | 进行视频解码的方法、装置及存储介质 | |
CN113228649B (zh) | 视频解码方法、装置以及存储介质 | |
CN111246210B (zh) | 视频解码方法、视频解码器、计算机设备和可读存储介质 | |
CN114600453A (zh) | 视频编解码的方法和装置 | |
CN114270836A (zh) | 视频编解码的颜色转换 | |
CN111726627B (zh) | 视频解码方法、装置、计算机设备和存储介质 | |
CN113348668B (zh) | 一种视频解码方法、装置及存储介质 | |
CN113841390B (zh) | 用于视频编解码的方法和设备 | |
JP2023520594A (ja) | ビデオ・コーディングのための方法及び装置 | |
CN110708554B (zh) | 视频编解码的方法及装置 | |
CN110830800A (zh) | 视频解码方法、装置、计算机设备及存储介质 | |
JP7512407B2 (ja) | ビデオコーディングのための方法および装置 | |
CN112437306B (zh) | 视频解码方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |