CN119948868A - 用于视频处理的方法、装置和介质 - Google Patents
用于视频处理的方法、装置和介质 Download PDFInfo
- Publication number
- CN119948868A CN119948868A CN202380067726.4A CN202380067726A CN119948868A CN 119948868 A CN119948868 A CN 119948868A CN 202380067726 A CN202380067726 A CN 202380067726A CN 119948868 A CN119948868 A CN 119948868A
- Authority
- CN
- China
- Prior art keywords
- nnpfc
- neural network
- current video
- video unit
- bitstream
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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 block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开的实施例提供一种用于视频处理的解决方案。提出了一种用于视频处理的方法。该方法包括:针对视频的当前视频单元与视频的比特流之间的转换,至少基于与当前视频单元相关联的辅助信息,将神经网络滤波器应用于当前视频单元,辅助信息包括以下至少一项:当前视频单元的预测信息、当前视频单元的分割信息、或先前经编解码的视频单元的编解码信息;以及基于该应用,执行该转换。
Description
技术领域
本公开的实施例总体上涉及视频处理技术,并且更具体地,涉及用于视频处理的神经网络滤波器。
背景技术
如今,数字视频能力正被应用于人们生活的各个方面。针对视频编码/解码,已经提出了多种类型的视频压缩技术,诸如MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高级视频编解码(AVC)、ITU-TH.265高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准。然而,总体上期望进一步提高视频编解码技术的编解码效率。
发明内容
本公开的实施例提供一种用于视频处理的解决方案。
在第一方面,提出了一种用于视频处理的方法。该方法包括:针对视频的当前视频单元与视频的比特流之间的转换,至少基于与当前视频单元相关联的辅助信息,将神经网络滤波器应用于当前视频单元,辅助信息包括以下至少一项:当前视频单元的预测信息、当前视频单元的分割信息、先前经编解码的视频单元的编解码信息;以及基于该应用,执行该转换。根据本公开的第一方面的方法使用辅助信息来改善神经网络滤波器(例如神经网络后处理滤波器)的性能,从而可以改善视频编解码的编解码效率和编解码有效性。
在第二方面,提出了一种用于视频处理的装置。该装置包括处理器和其上具有指令的非暂态存储器。这些指令在由处理器执行时使处理器执行根据本公开的第一方面的方法。
在第三方面,提出了一种非暂态计算机可读存储介质。该非暂态计算机可读存储介质存储使处理器执行根据本公开的第一方面的方法的指令。
在第四方面,提出了另一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储由用于视频处理的装置执行的方法生成的视频的比特流。该方法包括:至少基于与视频的当前视频单元相关联的辅助信息,将神经网络滤波器应用于当前视频单元,该辅助信息包括以下至少一项:当前视频单元的预测信息、当前视频单元的分割信息、或先前经编解码的视频单元的编解码信息;以及基于该应用,生成该比特流。
在第五方面中,提出一种用于存储视频的比特流的方法。该方法包括:至少基于与视频的当前视频单元相关联的辅助信息,将神经网络滤波器应用于当前视频单元,该辅助信息包括以下至少一项:当前视频单元的预测信息、当前视频单元的分割信息、先前经编解码的视频单元的编解码信息;基于该应用,生成该比特流;以及将比特流存储在非暂态计算机可读记录介质中。
提供本发明内容是为了以简化的形式介绍以下在具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
通过参考附图的以下详细描述,本公开的示例实施例的上述和其他目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。
图1示出了根据本公开的一些实施例的示出了示例视频编解码系统的框图;
图2示出了根据本公开的一些实施例的示出了第一示例视频编码器的框图;
图3示出了根据本公开的一些实施例的示出了示例视频解码器的框图;
图4示出了nnpfc_inp_order_idc的亮度数据通道等于3的图示(资料性);
图5示出了根据本公开的实施例的用于视频处理的方法的流程图;
图6示出了其中可以实现本公开的各种实施例的计算设备的框图。
贯穿所有附图,相同或相似的附图标记通常指代相同或相似元素。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应当理解的是,描述这些实施例仅出于说明并且帮助本领域技术人员理解和实现本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实现。
在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有技术术语和科学术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每个实施例都必须包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,主张的是:无论是否明确描述,影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。
应当理解的是,尽管术语“第一”和“第二”等可以在本文中用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括所列术语中的一个或多个术语的任何和所有组合。
本文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应当理解的是,术语“包括”、“包括有”、“有”、“具有”、“包含”和/或“包含有”在本文中被使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图1是示出可以利用本公开的技术的示例视频编解码系统100的框图。如所示出的,视频编解码系统100可以包括源设备110和目的设备120。源设备110也可以称为视频编码设备,并且目的设备120也可以称为视频解码设备。在操作中,源设备110可以被配置为生成经编码的视频数据,并且目的设备120可以被配置为对由源设备110生成的经编码的视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频采集设备之类的源。视频采集设备的示例包括但不限于从视频内容提供方接收视频数据的接口、用于生成视频数据的计算机图形系统和/或其组合。
视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括经编码的图片和相关联的数据。经编码的图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器和/或发送器。可以通过网络130A经由I/O接口116向目的设备120直接传输经编码的视频数据。经编码的视频数据也可以被存储在存储介质/服务器130B上,以供目的设备120访问。
目的设备120可以包括I/O接口126、视频解码器124和显示设备122。I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130B获取经编码的视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的设备120集成,或者可以在目的设备120的外部,该目的设备120被配置为与外部显示设备接口连接。
视频编码器114和视频解码器124可以根据视频压缩标准(诸如高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他现有和/或将来的标准)操作。
图2是示出根据本公开的一些实施例的视频编码器200的示例的框图,视频编码器200可以是图1所示的系统100中的视频编码器114的示例。
视频编码器200可以被配置为实现本公开的任何或所有技术。在图2的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在一些实施例中,视频编码器200可以包括分割单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211、重建单元212、缓存213和熵编码单元214,该预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式中执行预测,在该IBC模式中至少一个参考图片是当前视频块所位于的图片。
此外,尽管一些组件(诸如运动估计单元204和运动补偿单元205)可以被集成,但是为了解释的目的,这些组件在图2的示例中被分离地示出。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于误差结果来选择多种编解码模式(帧内编解码或帧间编解码)中的一种编解码模式,并且将所产生的经帧内编解码块或经帧间编解码块提供给残差生成单元207以生成残差块数据,并且提供给重建单元212以重建经编码块以用作参考图片。在一些示例中,模式选择单元203可以选择组合的帧间和帧内预测(CIIP)模式,在该CIIP模式中预测是基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择针对运动矢量的分辨率(例如,亚像素精度或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓存213的一个或多个参考帧与当前视频块进行比较来生成针对当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓存213的除了与当前视频块相关联的图片之外的图片的经解码样点,来确定针对当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。如本文中使用的,“I条带”可以是指由宏块构成的图片的一部分,所有这些宏块均基于同一图片内的宏块。此外,如本文中使用的,在一些方面中,“P条带”和“B条带”可以是指由独立于同一图片中的宏块的宏块构成的图片的部分。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以搜索列表0或列表1的参考图片,以寻找针对当前视频块的参考视频块。运动估计单元204然后可以生成参考索引和运动矢量,该参考索引指示列表0或列表1中的包含参考视频块的参考图片,并且该运动矢量指示当前视频块与参考视频块之间的空域位移。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
备选地,在其他示例中,运动估计单元204可以对当前视频块执行双向预测。运动估计单元204可以搜索列表0中的参考图片以寻找针对当前视频块的参考视频块,并且还可以搜索列表1中的参考图片以寻找针对当前视频块的另一参考视频块。运动估计单元204然后可以生成多个参考索引和多个运动矢量,该多个参考索引指示列表0和列表1中的包含多个参考视频块的多个参考图片,并且该多个运动矢量指示多个参考视频块与当前视频块之间的多个空域位移。运动估计单元204可以输出当前视频块的多个参考索引和多个运动矢量以作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的多个参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。备选地,在一些实施例中,运动估计单元204可以参考另一视频块的运动信息来通过信号传输当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与所指示的视频块的运动矢量之间的差异。视频解码器300可以使用所指示的视频块的运动矢量以及运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以以预测性的方式通过信号传输运动矢量。可以由视频编码器200实现的预测信令技术的两个示例包括高级运动矢量预测(AMVP)和Merge模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的经解码样点来生成针对当前视频块的预测数据。针对当前视频块的预测数据可以包括预测视频块和各个语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成针对当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式中,针对当前视频块可以不存在针对当前视频块的残差数据,并且残差生成单元207可以不执行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来生成针对当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以从变换系数视频块重建残差视频块。重建单元212可以将经重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前视频块相关联的重建视频块,以供存储在缓存213中。
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应伪像。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成经熵编码数据并且输出包括经熵编码数据的比特流。
图3是示出根据本公开的一些实施例的视频解码器300的示例的框图,视频解码器300可以是图1所示的系统100中的视频解码器124的示例。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图3的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图3的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、以及重建单元306和缓存307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200所描述的编码过程相对的解码过程。
熵解码单元301可以取回经编码的比特流。经编码的比特流可以包括经熵编码的视频数据(例如,视频数据的经编码的块)。熵解码单元301可以对经熵编码的视频数据进行解码,并且运动补偿单元302可以从经熵解码的视频数据确定运动信息,该运动信息包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和Merge模式来确定这样的信息。AMVP被使用,包括基于来自邻近PB的数据和参考图片推导数个最可能的候选。运动信息通常包括水平运动矢量位移值和竖直运动矢量位移值、一个或两个参考图片索引,并且在B条带中的预测区域的情况下,还包括哪个参考图片列表与每个索引相关联的标识。如本文所使用的,在一些方面中,“Merge模式”可以是指从空域邻近块或时域邻近块推导运动信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器来执行内插。针对以亚像素精度被使用的插值滤波器的标识符可以被包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在视频块的编码期间使用的插值滤波器来计算用于参考块的亚整数像素的内插值。运动补偿单元302可以根据接收到的语法信息来确定由视频编码器200使用的插值滤波器,并且运动补偿单元302可以使用插值滤波器来产生预测块。
运动补偿单元302可以使用至少部分语法信息来确定用于编码经编码视频序列的(多个)帧和/或(多个)条带的块的尺寸、描述经编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、针对每个经帧间编码的块的一个或多个参考帧(和参考帧列表)、以及用于对经编码视频序列进行解码的其他信息。如本文中所使用的,在一些方面,“条带”可以是指在熵编解码、信号预测和残差信号重建方面可以独立于同一图片的其他条带而被解码的数据结构。条带可以是整个图片,或者也可以是图片的区域。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式,以从空域邻近块形成预测块。反量化单元304对在比特流中提供的并且由熵解码单元301解码的经量化视频块系数进行反量化(即,去量化)。反变换单元305应用反变换。
重建单元306可以例如通过将残差块与由运动补偿单元302或帧内预测单元303生成的相应预测块相加来获得经解码的块。如果需要的话,还可以应用去方块滤波器来对经解码的块进行滤波,以便去除块效应伪像。经解码的视频块随后被存储在缓存307中,缓存307为后续运动补偿/帧内预测提供参考块,并且缓存307还产生经解码的视频以供在显示设备上呈现。
下文将详细描述本公开的一些示例性实施例。应当注意,在本文件中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,尽管参考通用视频编解码或其他特定视频编解码器描述了一些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,尽管一些实施例详细描述了视频编码步骤,但是应当理解的是解除编码的相应解码步骤将由解码器实现。此外,术语视频处理包括视频编码或压缩、视频解码或解压缩以及视频转码,在该视频转码中视频像素被从一种压缩格式表示为另一种压缩格式或以不同的压缩码率表示。
1.简要概述
本公开涉及图像/视频编解码技术。具体地,涉及神经网络后处理滤波器的改善。这些改善包括通过信号传输视觉质量改善类型、通过信号传输更多辅助输入数据、处理不同色度分量、以及从现有神经网络后处理滤波器去除无效操作。对于由任何编解码器(例如,多功能视频编解码(VVC)标准和/或用于经编解码视频比特流的多功能SEI消息(VSEI)标准)编解码的视频比特流,构思可以单独地或以各种组合应用。
2.缩写
APS 自适应参数集
AU 访问单元
CLVS 经编解码层视频序列
CLVSS 经编解码层视频序列开始
CRC 循环冗余校验
CVS 经编解码视频序列
FIR 有限脉冲响应
IRAP 帧内随机访问点
NAL 网络抽象层
PPS 图片参数集
PU 图片单元
RASL 随机访问跳过前置
SEI 补充增强信息
STSA 步进式时域子层访问
VCL 视频编解码层
VSEI 多功能补充增强信息(Rec.ITU-T H.274|ISO/IEC 23002-7)
VUI 视频可用性信息
VVC 多功能视频编解码(Rec.ITU-T H.266|ISO/IEC 23090-3)
3.简介
3.1.视频编码标准
视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演变。ITU-T制定了H.261和H.263、ISO/IEC制定了MPEG-1和MPEG-4视觉,并且两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中使用了时域预测加变换编解码。为了探索HEVC之后的未来视频编解码技术,联合视频探索团队(JVET)于2015年由VCEG和MPEG联合创立。此后,JVET采用了许多新方法,并将这些新方法放入名为联合探索模型(JEM)的参考软件中。当多功能视频编解码(VVC)项目正式开始时,JVET之后被重命名为联合视频专家组(JVET)。VVC是新的编解码标准,目标是与HEVC相比降低50%的比特率,该标准已经在2020年7月1日结束的JVET第19次会议上由JVET最终确定。
多功能视频编解码(VVC)标准(ITU-T H.266|ISO/IEC 23090-3)和相关联的用于经编解码视频比特流的多功能补充增强信息(VSEI)标准(ITU-T H.274|ISO/IEC 23002-7)已经被设计用于最大范围的应用,包括传统用途(诸如电视广播、视频会议或从存储介质播放)、以及更新且更高级的用例,诸如自适应比特率流传输、视频区域提取、来自多个经编码视频比特流的内容的合成和合并、多视图视频、可缩放分层编解码和视口自适应360°沉浸式媒体。
基本视频编解码(EVC)标准(ISO/IEC 23094-1)是最近已经由MPEG开发的另一视频编解码标准。
3.2.一般的SEI消息和在VVC和VSEI中的SEI消息
SEI消息辅助与解码、显示或其他目的相关的过程。然而,针对通过解码过程构建亮度或色度样点,不需要SEI消息。符合标准的解码器不需要为了符合输出顺序而处理此信息。针对检查比特流一致性和输出时序解码器一致性,需要一些SEI消息。针对检查比特流一致性,不需要其他SEI消息。VVC的附录D指定用于一些SEI消息的SEI消息有效载荷的语法和语义,并且指定在ITU-T H.274|ISO/IEC 23002-7中针对其指定语法及语义的SEI消息及VUI参数的使用。
3.3.神经网络后处理滤波器的信令
用于神经网络后处理滤波器的信令的两个SEI消息的规范如下所示。
神经网络后处理滤波器特性SEI消息
神经网络后处理滤波器特性SEI消息语法
神经网络后处理滤波器特性SEI消息语义
此SEI消息指定可以被用作后处理滤波器的神经网络。用于特定图片的指定后处理滤波器的使用利用神经网络后处理滤波器激活SEI消息被指示。
此SEI消息的使用需要定义以下变量:
-经剪裁的经解码的输出图片的宽度和高度,以亮度样点为单位,此处分别由CroppedWidth和CroppedHeight表示。
-针对垂直坐标y及水平坐标x的经剪裁的经解码的输出图片的亮度样点阵列CroppedYPic[x][y]及色度样点阵列CroppedCbPic[x][y]及CroppedCrPic[x][y](当存在时),其中样点阵列的左上角具有y等于0且x等于0的坐标。
-用于经剪裁的经解码的输出图片的亮度样点阵列的比特深度BitDepthY。
-用于经剪裁的经解码的输出图片的色度样点阵列(如果有的话)的比特深度BitDepthC。
-色度格式指示符,在本文中由ChromaFormatIdc表示,如条目7.3所描述。
-当nnpfc_auxiliary_inp_idc等于1时,量化强度值StrengthControlVal。
当此SEI消息指定可以被用作后处理滤波器的神经网络时,语义指定包含后处理滤波器的输出的亮度样点阵列FilteredYPic[x][y]及色度样点阵列FilteredCbPic[x][y]及FilteredCrPic[x][y]的推导,如由nnpfc_out_order_idc的值所指示。
变量SubWidthC和SubHeightC从ChromaFormatIdc被推导,如表2所指定。
nnpfc_id包含可以被用于标识后处理滤波器的标识号。nnpfc_id的值必须在0到232-2的范围内,包括边界值。
nnpfc_id的从256至511(包括边界值)的值和从231至232-2(包括边界值)的值被保留以供ITU-T|ISO/IEC将来使用。遇到nnpfc_id的值在256至511(包括边界值)的范围内、或在231至232-2(包括边界值)的范围内的解码器必须忽略nnpfc_id。
nnpfc_mode_idc等于0指定与nnpfc_id值相关联的后处理滤波器由在此规范中未指定的外部部件确定。
nnpfc_mode_idc等于1指定与nnpfc_id值相关联的后处理滤波器是由包含在此SEI消息中的ISO/IEC 15938-17比特流表示的神经网络。
nnpfc_mode_idc等于2指定与nnpfc_id值相关联的后处理滤波器是由指定标签统一资源标识符(URI)(nnpfc_uri_tag[i])和神经网络信息URI(nnpfc_uri[i])标识的神经网络。
nnpfc_mode_idc的值必须在0到255的范围内(包括边界值)。大于2的nnpfc_mode_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_mode_idc的保留值的SEI消息。
nnpfc_purpose_and_formatting_flag等于0指定不存在与滤波器目的、输入格式化、输出格式化和复杂度相关的语法元素。
nnpfc_purpose_and_formatting_flag等于1指定存在与滤波器目的、输入格式化、输出格式化和复杂度相关的语法元素。
当nnpfc_mode_idc等于1且当前CLVS不包含具有等于此SEI消息中的nnpfc_id的值的nnpfc_id的值的按照解码顺序的前一神经网络后处理滤波器特性SEI消息时,nnpfc_purpose_and_formatting_flag必须等于1。
当当前CLVS包含具有等于此SEI消息中的nnpfc_id的值的nnpfc_id的相同值的按照解码顺序的前一神经网络后处理滤波器特性SEI消息时,必须应用以下条件中的至少一项:
-此SEI消息具有等于1的nnpfc_mode_idc和等于0的nnpfc_purpose_and_formatting_flag,以便提供神经网络更新。
-此SEI消息具有与前一神经网络后处理滤波器特性SEI消息相同的内容。
当此SEI消息是当前CLVS内具有特定nnpfc_id值的按照解码顺序的第一个神经网络后处理滤波器特性SEI消息时,此SEI消息指定基础后处理滤波器,该基础后处理滤波器与当前经解码图片及当前层的按照输出顺序的所有后续经解码图片有关,直到当前CLVS结束为止。
当此SEI消息不是当前CLVS内具有特定nnpfc_id值的按照解码顺序的第一个神经网络后处理滤波器特性SEI消息时,此SEI消息与当前经解码图片和当前层的按照输出顺序的所有后续经解码图片有关,直到当前CLVS的结束或当前CLVS内具有特定nnpfc_id值的按照输出顺序的下一神经网络后处理滤波器特性SEI消息为止。
nnpfc_purpose指示如表1中指定的后处理滤波器的目的。nnpfc_purpose的值必须在0到232-2(包括边界值)的范围内。未在表1中出现的nnpfc_purpose的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_purpose的保留值的SEI消息。
表1-nnpfc_purpose的定义
注意1-当nnpfc_purpose的保留值在未来由ITU-T|ISO/IEC使用时,此SEI消息的语法可以利用多个语法元素被扩展,该多个语法元素的存在取决于nnpfc_purpose
等于该值。
当SubWidthC等于1且SubHeightC等于1时,nnpfc_purpose必须不等于2或4。
nnpfc_out_sub_c_flag等于1指定outSubWidthC等于1且outSubHeightC等于1。nnpfc_out_sub_c_flag等于0指定outSubWidthC等于2且outSubHeightC等于1。当nnpfc_out_sub_c_flag不存在时,outSubWidthC被推定为等于SubWidthC且outSubHeightC被推定为等于SubHeightC。如果SubWidthC等于2且SubHeightC等于1,则nnpfc_out_sub_c_flag必须不等于0。
nnpfc_pic_width_in_luma_samples和nnpfc_pic_height_in_luma_samples分别指定图片的亮度样点阵列的宽度和高度,该图片是通过将由nnpfc_id标识的后处理滤波器应用于经剪裁的经解码的输出图片而产生的。当nnpfc_pic_width_in_luma_samples和nnpfc_pic_height_in_luma_samples不存在时,它们分别被推定为等于CroppedWidth和CroppedHeight。
nnpfc_component_last_flag等于0指定后处理滤波器的输入张量inputTensor和从后处理滤波器得到的输出张量outputTensor中的第二维度被用于通道。nnpfc_component_last_flag等于1指定后处理滤波器的输入张量inputTensor和从后处理滤波器得到的输出张量outputTensor中的最后维度被用于通道。
注意2-输入张量和输出张量中的第一维度被用于批次索引,这是一些神经网络框架中的实践。虽然此SEI消息的语义使用的批次大小等于1,但由后处理实现确定用作神经网络推理的输入的批次大小。
注意3-色彩分量是通道的示例。
nnpfc_inp_format_flag指示将经剪裁的经解码的输出图片的样点值转换为后处理滤波器的输入值的方法。当nnpfc_inp_format_flag等于0时,后处理滤波器的输入值是实数,并且函数InpY和InpC被指定如下。
InpY(x)=x÷((1<<BitDepthY)-1) (75)
InpC(x)=x÷((1<<BitDepthC)-1) (76)
当nnpfc_inp_format_flag等于1时,后处理滤波器的输入值是无符号整数,并且函数InpY和InpC被指定如下:
变量inpTensorBitDepth从如下指定的语法元素nnpfc_inp_tensor_bitdepth_minus8被推导。
nnpfc_inp_tensor_bitdepth_minus8加8指定输入整数张量中的亮度样点值的比特深度。inpTensorBitDepth的值如下被推导:
inpTensorBitDepth=nnpfc_inp_tensor_bitdepth_minus8+8 (78)
比特流一致性要求nnpfc_inp_tensor_bitdepth_minus8的值必须在0到24的范围内,包括边界值。
nnpfc_auxiliary_inp_idc不等于0指定辅助输入数据存在于神经网络后处理滤波器的输入张量中。nnpfc_auxiliary_inp_idc等于0指示辅助输入数据不存在于输入张量中。nnpfc_auxiliary_inp_idc等于1指示辅助输入数据如下面表4中所指定地被推导。nnpfc_auxiliary_inp_idc的值必须在0到255的范围内,包括边界值。大于1的nnpfc_auxiliary_inp_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_auxiliary_inp_idc的保留值的SEI消息。
nnpfc_separate_colour_description_present_flag等于1指示从后处理滤波器得到的图片的色彩原色、转移特性和矩阵系数的确切组合在SEI消息语法结构中被指定。nnpfc_separate_colour_description_present_flag等于0指示从后处理滤波器得到的图片的色彩原色、转移特性和矩阵系数的组合与在针对CLVS的VUI参数中所指示的相同。
nnpfc_colour_primaries具有与vui_colour_primaries语法元素相同的语义(如条目7.3所指定),除了以下项之外:
-nnpfc_colour_primaries指定从应用SEI消息中指定的神经网络后处理滤波器产生的图片的色彩原色,而非用于CLVS的色彩原色。
-当nnpfc_colour_primaries不存在于神经网络后处理滤波器特性SEI消息中时,nnpfc_colour_primaries的值被推定为等于vui_colour_primaries。
nnpfc_transfer_characteristics具有与vui_transfer_characteristics语法元素相同的语义(如条目7.3中所指定的),除了以下项之外:
-nnpfc_transfer_characteristics指定从应用SEI消息中指定的神经网络后处理滤波器产生的图片的转移特性,而非用于CLVS的转移特性。
-当nnpfc_transfer_characteristics不存在于神经网络后处理滤波器特性SEI消息中时,nnpfc_transfer_characteristics的值被推定为等于vui_transfer_characteristics。
nnpfc_matrix_coeffs具有与vui_matrix_coeffs语法元素相同的语义(如条目7.3中所指定的),除了以下项之外:
-nnpfc_matrix_coeffs指定从应用SEI消息中指定的神经网络后处理滤波器产生的图片的矩阵系数,而非用于CLVS的矩阵系数。
-当nnpfc_matrix_coeffs不存在于神经网络后处理滤波器特性SEI消息中时,nnpfc_matrix_coeffs的值被推定为等于vui_matrix_coeffs。
-nnpfc_matrix_coeffs所允许的值不受由用于VUI参数的语义的ChromaFormatIdc的值指示的经解码视频图片的色度格式约束。
-当nnpfc_matrix_coeffs等于0时,nnpfc_out_order_idc必须不等于1或3。
nnpfc_inp_order_idc指示将经剪裁的经解码的输出图片的样点阵列排序为后处理滤波器的输入的方法。下面的表2包含nnpfc_inp_order_idc值的资料性描述。在0到3的范围(包括边界值)内的nnpfc_inp_order_idc的语义在下面的表3中指定,表3指定用于针对nnpfc_inp_order_idc的不同值和给定垂直样点坐标cTop和水平样点坐标cLeft推导输入张量inputTensor的过程,给定垂直样点坐标cTop和水平样点坐标cLeft指定被包括在输入张量中的样点小块的左上样点位置。当经剪裁的经解码的输出图片的色度格式不是4:2:0时,nnpfc_inp_order_idc必须不等于3。nnpfc_inp_order_idc的值必须在0到255的范围内(包括边界值)。大于3的nnpfc_inp_order_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_inp_order_idc的保留值的SEI消息。
表2-nnpfc_inp_order_idc值的资料性描述
图4示出了nnpfc_inp_order_idc等于3的亮度数据通道的图示400(资料性)。
小块是来自图片的分量(例如,亮度分量或色度分量)的样点的矩形阵列。
nnpfc_constant_patch_size_flag等于0指定后处理滤波器接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸的正整数倍的任何小块尺寸作为输入。当nnpfc_constant_patch_size_flag等于0时,小块尺寸宽度必须小于或等于CroppedWidth。当nnpfc_constant_patch_size_flag等于0时,小块尺寸高度必须小于或等于CroppedHeight。nnpfc_constant_patch_size_flag等于1指定后处理滤波器精确地接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸作为输入。
nnpfc_patch_width_minus1+1,当nnpfc_constant_patch_size_flag等于1时,指定针对后处理滤波器的输入所需的小块尺寸的水平样点计数。当nnpfc_constant_patch_size_flag等于0时,(nnpfc_patch_width_minus1+1)的任何正整数倍数可以被用作用于后处理滤波器的输入的小块尺寸的水平样点计数。nnpfc_patch_width_minus1的值必须在0至Min(32766,CroppedWidth-1)的范围内,包括边界值。
nnpfc_patch_height_minus1+1,当nnpfc_constant_patch_size_flag等于1时,指定针对后处理滤波器的输入所需的小块尺寸的垂直样点计数。当nnpfc_constant_patch_size_flag等于0时,(nnpfc_patch_height_minus1+1)的任何正整数倍数可以被用作用于后处理滤波器的输入的小块尺寸的垂直样点计数。nnpfc_patch_height_minus1的值必须在0至Min(32766,CroppedHeight-1)的范围内,包括边界值。
nnpfc_overlap指定后处理滤波器的相邻输入张量的重叠的水平样点和垂直样点计数。nnpfc_overlap的值必须在0到16383的范围内,包括边界值。
变量inpPatchWidth、inpPatchHeight、outPatchWidth、outPatchHeight、horCScaling、verCScaling、outPatchCWidth、outPatchCHeight和overlapSize如下被推导:
比特流一致性要求outPatchWidth*CroppedWidth必须等于nnpfc_pic_width_in_luma_samples*inpPatchWidth,并且outPatchHeight*CroppedHeight必须等于nnpfc_pic_height_in_luma_samples*inpPatchHeight。
nnpfc_padding_type指定当参考经剪裁的经解码的输出图片的边界外部的样点位置时的填充的过程,如下面表3中所描述。nnpfc_padding_type的值必须在0到15的范围内,包括边界值。
表3-nnpfc_padding_type值的资料性描述
| nnpfc_padding_type | 描述 |
| 0 | 零填充 |
| 1 | 复制填充 |
| 2 | 反射填充 |
| 3 | 环绕(wrap-around)填充 |
| 4 | 固定填充 |
| 5..15 | 保留 |
nnpfc_luma_padding_val指定当nnpfc_padding_type等于4时用于填充的亮度值。
nnpfc_cb_padding_val指定当nnpfc_padding_type等于4时用于填充的Cb值。
nnpfc_cr_padding_val指定当nnpfc_padding_type等于4时用于填充的Cr值。
函数InpSampleVal(y,x,picHeight,picWidth,croppedPic)(其中输入是垂直样点位置y、水平样点位置x、图片高度picHeight、图片宽度picWidth和样点阵列croppedPic)返回如下被推导的sampleVal的值:
表4-用于针对指定被包括在输入张量中的样点小块的左上样点位置的给定垂直样点坐标cTop和水平样点坐标cLeft推导输入张量inputTensor的过程
nnpfc_complexity_idc大于0指定用于指示与nnpfc_id相关联的后处理滤波器的复杂度的一个或多个语法元素可以存在。nnpfc_complexity_idc等于0指定没有用于指示与nnpfc_id相关联的后处理滤波器的复杂度的语法元素存在。nnpfc_complexity_idc的值必须在0到255的范围内,包括边界值。大于1的nnpfc_complexity_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_complexity_idc的保留值的SEI消息。
nnpfc_out_format_flag等于0指示由后处理滤波器输出的样点值是实数,并且分别用于将由后处理输出的亮度样点值和色度样点值转换为在比特深度BitDepthY和BitDepthC处的整数值的函数OutY和OutC被指定如下:
OutY(x)=Clip3(0,(1<<BitDepthY)-1,Round(x*((1<<BitDepthY)-1)))
(81)
OutC(x)=Clip3(0,(1<<BitDepthC)-1,Round(x*((1<<BitDepthc)-1)))
(82)
nnpfc_out_format_flag等于1指示由后处理滤波器输出的样点值是无符号整数,并且函数OutY和OutC被指定如下:
变量outTensorBitDepth从如下所述的语法元素nnpfc_out_tensor_bitdepth_minus8被推导。
nnpfc_out_tensor_bitdepth_minus8加8指定输出整数张量中的样点值的比特深度。outTensorBitDepth的值如下被推导:
outTensorBitDepth=nnpfc_out_tensor_bitdepth_minus8+8 (84)
比特流一致性要求nnpfc_out_tensor_bitdepth_minus8的值必须在0到24的范围内,包括边界值。
nnpfc_out_order_idc指示从后处理滤波器得到的样点的输出顺序。表5包含nnpfc_out_order_idc值的资料性描述。在0到3的范围(包括边界值)中的nnpfc_out_order_idc的语义在表6中被指定,表6指定用于针对nnpfc_out_order_idc的不同值和给定垂直样点坐标cTop和水平样点坐标cLeft从输出张量outputTensor推导经滤波输出样点阵列FilteredYPic、FilteredCbPic和FilteredCrPic中的样点值的过程,给定垂直样点坐标cTop和水平样点坐标cLeft指定被包括在输入张量中的样点小块的左上样点位置。当nnpfc_purpose等于2或4时,nnpfc_out_order_idc必须不等于3。nnpfc_out_order_idc的值必须在0到255的范围内,包括边界值。大于3的nnpfc_out_order_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_out_order_idc的保留值的SEI消息。
表5-nnpfc_out_order_idc值的资料性描述
表6-用于针对指定被包括在输入张量中的样点小块的左上样点位置的给定垂直样点坐标cTop和水平样点坐标cLeft从输出张量outputTensor推导经滤波输出样点阵列
FilteredYPic、FilteredCbPic和FilteredCrPic中的样点值的过程
用于经剪裁的经解码的输出图片picA的基础后处理滤波器是由CLVS内具有特定nnpfc_id值的按照解码顺序的第一个神经网络后处理滤波器特性SEI消息标识的滤波器。
如果存在如下的另一神经网络后处理滤波器特性SEI消息,该另一神经网络后处理滤波器特性SEI消息具有相同nnpfc_id值、具有等于1的nnpfc_mode_idc、具有与定义基础后处理滤波器的神经网络后处理滤波器特性SEI消息不同的内容并且涉及图片picA,则基础后处理滤波器通过解码该神经网络后处理滤波器特性SEI消息中的ISO/IEC 15938-17比特流而被更新,以获得后处理滤波器PostProcessingFilter()。否则,后处理滤波器PostProcessingFilter()被指派为与基础后处理滤波器相同。
以下过程被用于利用后处理滤波器PostProcessingFilter()对经剪裁的经解码的输出图片进行滤波以生成经滤波图片,该经滤波图片分别包含如由nnpfc_out_order_idc指示的Y、Cb及Cr的样点阵列FilteredYPic、FilteredCbPic及FilteredCrPic。
nnpfc_reserved_zero_bit必须等于0。
nnpfc_uri_tag[i]包含指定标签URI的NULL-结尾的UTF-8字符串。UTF-8字符串包含URI,具有如IETF RFC 4151中指定的语法和语义,唯一地标识关于用作由nnrpf_uri[i]值指定的后处理滤波器的神经网络的格式和关联信息。
注意4-nnrpf_uri_tag[i]元素表示‘标签’URI,其允许唯一地标识由nnrpf_uri[i]值指定的神经网络数据的格式,而不需要中央注册权限。
nnpfc_uri[i]包含如IETF因特网标准63中所指定的NULL-结尾的UTF-8字符串。UTF-8字符串包含URI,具有如IETF因特网标准66中指定的语法和语义,标识用作后处理滤波器的神经网络信息(例如数据表示)。
nnpfc_payload_byte[i]包含符合ISO/IEC 15938-17的比特流的第i个字节。针对i的所有存在的值的字节序列nnpfc_payload_byte[i]必须为符合ISO/IEC 15938-17的完整的比特流。
nnpfc_parameter_type_idc等于0指示神经网络仅使用整数参数。nnpfc_parameter_type_flag等于1指示神经网络可以使用浮点或整数参数。nnpfc_parameter_type_idc等于2指示神经网络仅使用二进制参数。nnpfc_parameter_type_idc等于3被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_parameter_type_idc的保留值的SEI消息。
nnpfc_log2_parameter_bit_length_minus3等于0、1、2和3分别指示神经网络不使用大于8、16、32和64的比特长度的参数。当nnpfc_parameter_type_idc存在且nnpfc_log2_parameter_bit_length_minus3不存在时,神经网络不使用大于1的位长度的参数。
nnpfc_num_parameters_idc指示以2048的幂为单位的针对后处理滤波器的神经网络参数的最大数目。nnpfc_num_parameters_idc等于0指示神经网络参数的最大数目未被指定。nnpfc_num_parameters_idc的值必须在0到52的范围内(包括边界值)。大于52的nnpfc_num_parameters_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_num_parameters_idc的保留值的SEI消息。
如果nnpfc_num_parameters_idc的值大于零,则变量maxNumParameters如下被推导:
maxNumParameters=(2048<<nnpfc_num_parameters_idc)-1 (86)
比特流一致性要求后处理滤波器的神经网络参数的数目必须小于或等于maxNumParameters。
nnpfc_num_kmac_operations_idc大于0指定后处理滤波器的每样点的乘法累加运算的最大数目小于或等于nnpfc_num_kmac_operation_idc*1000。nnpfc_num_kmac_operation_idc等于0指定网络的乘法累加运算的最大数目未被指定。nnpfc_num_kmac_operations_idc的值必须在0到232-1的范围内,包括边界值。
神经网络后处理滤波器激活SEI消息
神经网络后处理滤波器激活SEI消息语法
神经网络后处理滤波器激活SEI消息语义
此SEI消息指定可以被用于对当前图片进行后处理滤波的神经网络后处理滤波器。
神经网络后处理滤波器激活SEI消息仅针对当前图片维持。
注意-当后处理滤波器用于不同目的或对不同色彩分量进行滤波时,可以存在针对同一图片存在的若干神经网络后处理滤波器激活SEI消息。
nnpfa_id指定由与当前图片有关且具有等于nnfpa_id的nnpfc_id的一个或多个神经网络后处理滤波器特性SEI消息指定的神经网络后处理滤波器可以被用于针对当前图片的后处理滤波。
4.问题
针对神经网络后处理滤波器特性(NNPFC)SEI消息的当前设计具有以下问题:
1)NNPFC SEI消息指定神经网络后处理滤波器的目的可以是用于视觉质量改善。然而,视觉质量改善可以具有不同的解释,例如保真约束的视觉质量改善、基于GAN(基于生成式对抗网络)的视觉质量改善、基于胶片颗粒的视觉质量改善等。不同的视频应用可能偏好不同类型的视觉质量改善。例如,保真度在监视场景中是重要的,但在一些用户生成的视频中可能不是那么关键。因此,需要能够标识视觉质量改善的类型。
2)NNPFC SEI消息指定对神经网络的辅助输入,该辅助输入仅包括量化参数相关数据。然而,存在其他辅助输入,这些其他辅助输入在改善后处理滤波的性能方面也可以非常有帮助。因此,需要指定更多的辅助输入。
3)NNPFC SEI消息指定在NN滤波器的输出张量中呈现的色度矩阵包括两个通道。然而,单独地处理两个色度分量的能力可以是有用的。因此,需要使能仅在两个色度分量之一上应用NN滤波器。
4)NNPFC SEI消息指定表4中的用于推导输入张量inputTensor的过程。当nnpfc_inp_order_idc等于3,nnpfc_component_last_flag等于0,并且nnpfc_auxil-iary_inp_idc等于0时,则不应该存在辅助输入矩阵。因此,在这种情况下,应当移除赋值操作“inputTensor[0][6][yP+overlapSize][xP+overlapSize]=2(StrengthControlVal–42)/6’。
5)nnpfc_constant_patch_size_flag的值等于0指定后处理滤波器接受作为由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸的正整数倍的任何小块尺寸作为输入。nnpfc_constant_patch_size_flag等于1指定后处理滤波器精确地接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸作为输入。然而,一方面,nnpfc_constant_patch_size_flag等于0是被允许的,而另一方面,不管nnpfc_constant_patch_size_flag的值如何,作为NNPFC SEI消息的语义的一部分所指定的滤波过程总是精确地使用由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸作为输入。换句话说,以作为由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸的正整数倍的任何小块尺寸作为输入的实际支持是缺失的。
5.详细解决方案
为了解决上述问题,公开了如下概述的方法。实施例应当被认为是解释一般概念的示例,并且不应以狭窄的方式解释。此外,这些实施例可以以任何方式单独地或组合地应用。
在以下描述中,术语“图片”可以被替换为任何视频单元,例如“条带”。
1)为了解决问题1,定义了一种或多种类型的视觉质量改善,在NNPFC SEI消息中通过信号传输具有视觉质量改善目的的神经网络后处理滤波器的视觉质量改善类型:
a.在一个示例中,视觉质量改善的类型被定义为客观导向的/保真导向的,目标是增加在应用神经网络后处理滤波器之后的重建图片的保真度。保真度可以通过PSNR(峰值信噪比)、Ms-SSIM(多尺度结构相似性)等来测量。
b.在一个示例中,视觉质量改善的类型被定义为主观导向的,目标是增加在应用神经网络后处理滤波器之后的重建图片的主观视觉质量。主观视觉质量可以通过LPIPS(学习感知图像小块相似性)、MOS(平均意见得分)等来测量。
c.在一个示例中,视觉质量改善的类型被定义为胶片颗粒导向的,其中在应用神经网络后处理滤波器之后的重建图像上合成胶片颗粒。
2)为了解决问题2,定义了对神经网络后处理滤波器的更多辅助输入。
a.在一个示例中,辅助输入包括预测信息,例如预测样点、预测模式等。
b.在一个示例中,辅助输入包括分割信息,例如分割边界。
c.在一个示例中,辅助输入包括来自先前经解码图片的信息,例如先前经解码图片中的当前待处理块的同位块或运动补偿块的样点。
d.在一个示例中,不同的色彩分量共享相同的辅助输入或被允许共享相同的辅助输入。
e.在一个示例中,不同的色彩分量使用不同的辅助输入或被允许使用不同的辅助输入。
f.在一个示例中,两个色度分量使用相同的辅助输入或被允许使用相同的辅助输入,该相同的辅助输入不同于亮度分量的辅助输入。
3)为了解决问题3,NN滤波器的输入张量和/或输出张量中呈现的矩阵可以包括亮度分量、和/或cb分量、和/或cr分量,或这些分量的任何组合。
a.在一个示例中,在输入张量和/或输出张量中仅存在色度矩阵,通道数目是1,并且分量是Cb。
b.在一个示例中,在输入张量和/或输出张量中仅存在色度矩阵,通道数目是1,并且分量是Cr。
c.在一个示例中,在输入张量和/或输出张量中仅存在亮度矩阵和色度矩阵,通道数目是2,并且分量是亮度和Cb。
d.在一个示例中,在输入张量和/或输出张量中仅存在亮度矩阵和色度矩阵,通道数目是2,并且分量是亮度和Cr。
e.在一个示例中,在输入张量和/或输出张量中仅存在四个亮度矩阵和一个色度矩阵,通道数目是5,并且分量是亮度和Cb。这只可以在色度格式是4:2:0时使用。
f.在一个示例中,在输入张量和/或输出张量中仅存在四个亮度矩阵和一个色度矩阵,通道数目是5,并且分量是亮度和Cr。这只可以在色度格式是4:2:0时使用。
4)为解决问题4,当nnpfc_inp_order_idc等于3,nnpfc_component_last_flag等于0,并且nnpfc_assistant_inp_idc等于0时,没有辅助输入矩阵被使用。
5)为了解决问题5,以下方面中的一项或多项被指定:
a.在一个示例中,当nnpfc_constant_patch_size_flag等于0时,由inpPatchWidth表示的小块尺寸宽度以及由inpPatchHeight表示的小块尺寸高度由在本文档中未指定的外部部件提供。inpPatchWidth的值必须为nnpfc_patch_width_minus1+1的正整数倍,并且必须小于或等于CroppedWidth。PatchSizeH的值必须为nnpfc_patch_height_minus1+1的正整数倍,并且必须小于或等于CroppedHeight。
i.这样的外部部件的示例是将inpPatchWidth和inpPatchHeight的值传递给视频应用系统中的解码器和渲染实体的API,并且这些值可以由用户通过应用的用户界面来配置。
b.在一个示例中,当nnpfc_constant_patch_size_flag等于1时,inpPatchWidth的值被设置为等于nnpfc_patch_width_minus1+1,并且inpPatchHeight的值被设置为等于nnpfc_patch_height_minus1+1。
c.在一个示例中,不管nnpfc_constant_patch_size_flag的值如何,滤波过程以如上所指定的方式采用小块尺寸宽度inpPatchWidth和小块尺寸高度inpPatchHeight作为输入。
6.实施例
下面是针对其中针对实施例项目1、实施例项目2、实施例项目3、实施例项目4及它们的在上面第5节中概述的子项、视频单元是图片的情况的一些示例实施例。
已经添加或修改的大多数相关部分被加下划线,并且被删除的部分中的一些以删除线被突出显示。可能存在编辑性质的一些其他改变,因此未突出显示。
6.1.实施例1
该实施例是针对其中针对实施例项目1及其在上面第5节中概述的所有子项,视频单元是图片的情况。
神经网络后处理滤波器特性SEI消息语法
神经网络后处理滤波器激活SEI消息语义
···
nnpfc_purpose指示如表1中指定的后处理滤波器的目的。nnpfc_purpose的值必须在0到232-2的范围内,包括边界值。未在表1中出现的nnpfc_purpose的值被保留用于ITU-T|ISO/IEC的未来规范,且不必须存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_purpose的保留值的SEI消息。
当SubWidthC等于1且SubHeightC等于1时,nnpfc_purpose必须不等于2或4。
nnpfc_visual_quality_improvement_type指示如表7中指定的视觉质量改善的
类型。nnpfc_visual_quality_improvement_type的值必须在0到255的范围内,包括边界
值。未在表7中出现的nnpfc_visual_quality_improvement_type的值被保留用于ITU-T|
ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版
本的解码器遇到大于3的nnpfc_visual_quality_improvement_type的值必须忽略它。
表7-nnpfc_visual_quality_improvement_type的定义
注意x—当nnpfc_visual_quality_improvement_type的保留值在未来由ITU-T|
ISO/IEC使用时,此SEI消息的语法可以利用多个语法元素被扩展,该多个语法元素的存在
取决于nnpfc_visual_quality_improvement_type等于该值。
6.2.实施例2
该实施例是针对其中针对实施例项目2、实施例项目3、实施例项目4及其在上面第5节中概述的所有子项、视频单元是图片的情况。
神经网络后处理滤波器激活SEI消息语义
此SEI消息指定可以被用作后处理滤波器的神经网络。用于特定图片的指定后处理滤波器的使用利用神经网络后处理滤波器激活SEI消息被指示。
此SEI消息的使用需要定义以下变量:
-经剪裁的经解码的输出图片的宽度和高度,以亮度样点为单位,此处分别由CroppedWidth和CroppedHeight表示。
-针对垂直坐标y及水平坐标x的经剪裁的经解码的输出图片的亮度样点阵列CroppedYPic[x][y]及色度样点阵列CroppedCbPic[x][y]及CroppedCrPic[x][y](当存在时),其中样点阵列的左上角具有y等于0且x等于0的坐标。
-用于经剪裁的经解码的输出图片的亮度样点阵列的比特深度BitDepthY。
-用于经剪裁的经解码的输出图片的色度样点阵列(如果有的话)的比特深度BitDepthC。
-色度格式指示符,在本文中由ChromaFormatIdc表示,如条目7.3所描述。
-当nnpfc_auxiliary_inp_idc等于1时,量化强度值StrengthControlVal。
-当nnpfc_auxiliary_inp_idc等于2或3时,经剪裁的经解码的预测图片具有与经
剪裁的经解码的输出图片相同的尺寸。
-当nnpfc_auxiliary_inp_idc等于2或3时,针对垂直坐标y及水平坐标x的经剪裁
的经解码的预测图片的亮度预测阵列CroppedYPred[x][y]及色度预测阵列CroppedCbPred
[x][y]及CroppedCrPred[x][y](当存在时),其中样点阵列的左上角具有y等于0且x等于0
的坐标。
当此SEI消息指定可以被用作后处理滤波器的神经网络时,语义指定包含后处理滤波器的输出的亮度样点阵列FilteredYPic[x][y]及色度样点阵列FilteredCbPic[x][y]及FilteredCrPic[x][y]的推导,如由nnpfc_out_order_idc的值所指示。
变量SubWidthC和SubHeightC从ChromaFormatIdc被推导,如表2所指定。
nnpfc_id包含可以被用于标识后处理滤波器的标识号。nnpfc_id的值必须在0到232-2的范围内,包括边界值。
nnpfc_id的从256至511(包括边界值)的值和从231至232-2(包括边界值)的值被保留以供ITU-T|ISO/IEC将来使用。遇到在256至511(包括边界值)的范围内的nnpfc_id的值、或在231至232-2(包括边界值)的范围内的nnpfc_id的值的解码器必须忽略nnpfc_id。
nnpfc_mode_idc等于0指定与nnpfc_id值相关联的后处理滤波器由在此规范中未指定的外部部件确定。
nnpfc_mode_idc等于1指定与nnpfc_id值相关联的后处理滤波器是由包含在此SEI消息中的ISO/IEC 15938-17比特流表示的神经网络。
nnpfc_mode_idc等于2指定与nnpfc_id值相关联的后处理滤波器是由指定标签统一资源标识符(URI)(nnpfc_uri_tag[i])和神经网络信息URI(nnpfc_uri[i])标识的神经网络。
nnpfc_mode_idc的值必须在0到255的范围内(包括边界值)。大于2的nnpfc_mode_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_mode_idc的保留值的SEI消息。
nnpfc_purpose_and_formatting_flag等于0指定不存在与滤波器目的、输入格式化、输出格式化和复杂度相关的语法元素。
nnpfc_purpose_and_formatting_flag等于1指定存在与滤波器目的、输入格式化、输出格式化和复杂度相关的语法元素。
当nnpfc_mode_idc等于1且当前CLVS不包含具有等于此SEI消息中的nnpfc_id的值的nnpfc_id的值的按照解码顺序的前一神经网络后处理滤波器特性SEI消息时,nnpfc_purpose_and_formatting_flag必须等于1。
当当前CLVS包含具有等于此SEI消息中的nnpfc_id的值的nnpfc_id的相同值的按照解码顺序的前一神经网络后处理滤波器特性SEI消息时,必须应用以下条件中的至少一项:
-此SEI消息具有等于1的nnpfc_mode_idc和等于0的nnpfc_purpose_and_formatting_flag,以便提供神经网络更新。
-此SEI消息具有与前一神经网络后处理滤波器特性SEI消息相同的内容。
当此SEI消息是当前CLVS内具有特定nnpfc_id值的按照解码顺序的第一个神经网络后处理滤波器特性SEI消息时,此SEI消息指定基础后处理滤波器,该基础后处理滤波器与当前经解码图片及当前层的按照输出顺序的所有后续经解码图片有关,直到当前CLVS结束为止。
当此SEI消息不是当前CLVS内具有特定nnpfc_id值的按照解码顺序的第一个神经网络后处理滤波器特性SEI消息时,此SEI消息与当前经解码图片和当前层的按照输出顺序的所有后续经解码图片有关,直到当前CLVS的结束或当前CLVS内具有特定nnpfc_id值的按照输出顺序的下一神经网络后处理滤波器特性SEI消息为止。
nnpfc_purpose指示如表1中指定的后处理滤波器的目的。nnpfc_purpose的值必须在0到232-2(包括边界值)的范围内。未在表1中出现的nnpfc_purpose的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_purpose的保留值的SEI消息。
当SubWidthC等于1且SubHeightC等于1时,nnpfc_purpose应不等于2或4。
nnpfc_out_sub_c_flag等于1指定outSubWidthC等于1且outSubHeightC等于1。nnpfc_out_sub_c_flag等于0指定outSubWidthC等于2且outSubHeightC等于1。当nnpfc_out_sub_c_flag不存在时,outSubWidthC被推定为等于SubWidthC且outSubHeightC被推定为等于SubHeightC。如果SubWidthC等于2且SubHeightC等于1,则nnpfc_out_sub_c_flag必须不等于0。
nnpfc_pic_width_in_luma_samples和nnpfc_pic_height_in_luma_samples分别指定图片的亮度样点阵列的宽度和高度,该图片是通过将由nnpfc_id标识的后处理滤波器应用于经剪裁的经解码的输出图片而产生的。当nnpfc_pic_width_in_luma_samples和nnpfc_pic_height_in_luma_samples不存在时,它们分别被推定为等于CroppedWidth和CroppedHeight。
nnpfc_component_last_flag等于0指定后处理滤波器的输入张量inputTensor和从后处理滤波器得到的输出张量outputTensor中的第二维度被用于通道。nnpfc_component_last_flag等于1指定后处理滤波器的输入张量inputTensor和从后处理滤波器得到的输出张量outputTensor中的最后维度被用于通道。
注意2-输入张量和输出张量中的第一维度被用于批次索引,这是一些神经网络框架中的实践。虽然此SEI消息的语义使用的批次大小等于1,但由后处理实现确定用作神经网络推理的输入的批次大小。
注意3-色彩分量是通道的示例。
nnpfc_inp_format_flag指示将经剪裁的经解码的输出图片的样点值转换为后处理滤波器的输入值的方法。当nnpfc_inp_format_flag等于0时,后处理滤波器的输入值是实数,并且函数InpY和InpC被指定如下。
InpY(x)=x÷((1<<BitDepthY)-1) (75)
InpC(x)=x÷((1<<BitDepthC)-1) (76)
当nnpfc_inp_format_flag等于1时,后处理滤波器的输入值是无符号整数,并且函数InpY和InpC被指定如下:
变量inpTensorBitDepth从如下指定的语法元素nnpfc_inp_tensor_bitdepth_minus8被推导。
nnpfc_inp_tensor_bitdepth_minus8加8指定输入整数张量中的亮度样点值的比特深度。inpTensorBitDepth的值如下被推导:
inpTensorBitDepth=nnpfc_inp_tensor_bitdepth_minus8+8 (78)
比特流一致性要求nnpfc_inp_tensor_bitdepth_minus8的值必须在0到24的范围内,包括边界值。
nnpfc_auxiliary_inp_idc不等于0指定辅助输入数据存在于神经网络后处理滤波器的输入张量中。nnpfc_auxiliary_inp_idc等于0指示辅助输入数据不存在于输入张量中。nnpfc_auxiliary_inp_idc等于1、2或3指示辅助输入数据如表4中所指定地被推导。nnpfc_auxiliary_inp_idc的值必须在0到255的范围内,包括边界值。大于13的nnpfc_auxiliary_inp_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_auxiliary_inp_idc的保留值的SEI消息。
nnpfc_separate_colour_description_present_flag等于1指示从后处理滤波器得到的图片的色彩原色、转移特性和矩阵系数的确切组合在SEI消息语法结构中被指定。nnpfc_separate_colour_description_present_flag等于0指示从后处理滤波器得到的图片的色彩原色、转移特性和矩阵系数的组合与在针对CLVS的VUI参数中所指示的相同。
nnpfc_colour_primaries具有与vui_colour_primaries语法元素相同的语义(如条目7.3所指定),除了以下项之外:
-nnpfc_colour_primaries指定从应用SEI消息中指定的神经网络后处理滤波器产生的图片的色彩原色,而非用于CLVS的色彩原色。
-当nnpfc_colour_primaries不存在于神经网络后处理滤波器特性SEI消息中时,nnpfc_colour_primaries的值被推定为等于vui_colour_primaries。
nnpfc_transfer_characteristics具有与vui_transfer_characteristics语法元素相同的语义(如条目7.3中所指定的),除了以下项之外:
-nnpfc_transfer_characteristics指定从应用SEI消息中指定的神经网络后处理滤波器产生的图片的转移特性,而非用于CLVS的转移特性。
-当nnpfc_transfer_characteristics不存在于神经网络后处理滤波器特性SEI消息中时,nnpfc_transfer_characteristics的值被推定为等于vui_transfer_characteristics。
nnpfc_matrix_coeffs具有与vui_matrix_coeffs语法元素相同的语义(如条目7.3中所指定的),除了以下项之外:
-nnpfc_matrix_coeffs指定从应用SEI消息中指定的神经网络后处理滤波器产生的图片的矩阵系数,而非用于CLVS的矩阵系数。
-当nnpfc_matrix_coeffs不存在于神经网络后处理滤波器特性SEI消息中时,nnpfc_matrix_coeffs的值被推定为等于vui_matrix_coeffs。
-nnpfc_matrix_coeffs所允许的值不受由用于VUI参数的语义的ChromaFormatIdc的值指示的经解码视频图片的色度格式约束。
-当nnpfc_matrix_coeffs等于0时,nnpfc_out_order_idc必须不等于1或3。
nnpfc_inp_order_idc指示将经剪裁的经解码的输出图片的样点阵列排序为后处理滤波器的输入的方法。表8包含nnpfc_inp_order_idc值的资料性描述。在0到39的范围(包括边界值)内的nnpfc_inp_order_idc的语义在表9中指定,表9指定用于针对nnpfc_inp_order_idc的不同值和给定垂直样点坐标cTop和水平样点坐标cLeft推导输入张量inputTensor的过程,给定垂直样点坐标cTop和水平样点坐标cLeft指定被包括在输入张量中的样点小块的左上样点位置。当经剪裁的经解码的输出图片的色度格式不是4:2:0时,nnpfc_inp_order_idc必须不等于37、8或9。nnpfc_inp_order_idc的值必须在0到255的范围内(包括边界值)。大于39的nnpfc_inp_order_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_inp_order_idc的保留值的SEI消息。
表8-nnpfc_inp_order_idc值的资料性描述
小块是来自图片的分量(例如,亮度分量或色度分量)的样点的矩形阵列。
nnpfc_constant_patch_size_flag等于0指定后处理滤波器接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸的正整数倍的任何小块尺寸作为输入。当nnpfc_constant_patch_size_flag等于0时,小块尺寸宽度必须小于或等于CroppedWidth。当nnpfc_constant_patch_size_flag等于0时,小块尺寸高度必须小于或等于CroppedHeight。nnpfc_constant_patch_size_flag等于1指定后处理滤波器精确地接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸作为输入。
nnpfc_patch_width_minus1+1,当nnpfc_constant_patch_size_flag等于1时,指定针对后处理滤波器的输入所需的小块尺寸的水平样点计数。当nnpfc_constant_patch_size_flag等于0时,(nnpfc_patch_width_minus1+1)的任何正整数倍数可以被用作用于后处理滤波器的输入的小块尺寸的水平样点计数。nnpfc_patch_width_minus1的值必须在0至Min(32766,CroppedWidth-1)的范围内,包括边界值。
nnpfc_patch_height_minus1+1,当nnpfc_constant_patch_size_flag等于1时,指定针对后处理滤波器的输入所需的小块尺寸的垂直样点计数。当nnpfc_constant_patch_size_flag等于0时,(nnpfc_patch_height_minus1+1)的任何正整数倍数可以被用作用于后处理滤波器的输入的小块尺寸的垂直样点计数。nnpfc_patch_height_minus1的值必须在0至Min(32766,CroppedHeight-1)的范围内,包括边界值。
nnpfc_overlap指定后处理滤波器的相邻输入张量的重叠的水平样点和垂直样点计数。nnpfc_overlap的值必须在0到16383的范围内,包括边界值。
变量inpPatchWidth、inpPatchHeight、outPatchWidth、outPatchHeight、horCScaling、verCScaling、outPatchCWidth、outPatchCHeight和overlapSize如下被推导:
比特流一致性要求outPatchWidth*CroppedWidth必须等于nnpfc_pic_width_in_luma_samples*inpPatchWidth,并且outPatchHeight*CroppedHeight必须等于nnpfc_pic_height_in_luma_samples*inpPatchHeight。
nnpfc_padding_type指定当参考经剪裁的经解码的输出图片的边界外部的样点位置时的填充的过程,如表3中所描述。nnpfc_padding_type的值必须在0到15的范围内,包括边界值。
nnpfc_luma_padding_val指定当nnpfc_padding_type等于4时用于填充的亮度值。
nnpfc_cb_padding_val指定当nnpfc_padding_type等于4时用于填充的Cb值。
nnpfc_cr_padding_val指定当nnpfc_padding_type等于4时用于填充的Cr值。
函数InpSampleVal(y,x,picHeight,picWidth,croppedPic)(其中输入是垂直样点位置y、水平样点位置x、图片高度picHeight、图片宽度picWidth和样点阵列croppedPic)返回如下被推导的sampleVal的值:
表9-用于针对指定被包括在输入张量中的样点小块的左上样点位置的给定垂直样点坐标cTop和水平样点坐标cLeft推导输入张量inputTensor的过程。
nnpfc_complexity_idc大于0指定用于指示与nnpfc_id相关联的后处理滤波器的复杂度的一个或多个语法元素可以存在。nnpfc_complexity_idc等于0指定没有用于指示与nnpfc_id相关联的后处理滤波器的复杂度的语法元素存在。nnpfc_complexity_idc的值必须在0到255的范围内,包括边界值。大于1的nnpfc_complexity_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_complexity_idc的保留值的SEI消息。
nnpfc_out_format_flag等于0指示由后处理滤波器输出的样点值是实数,并且分别用于将由后处理输出的亮度样点值和色度样点值转换为在比特深度BitDepthY和BitDepthC处的整数值的函数OutY和OutC被指定如下:
OutY(x)=Clip3(0,(1<<BitDepthY)-1,Round(x*((1<<BitDepthY)-1)))(81)
OutC(x)=Clip3(0,(1<<BitDepthC)-1,Round(x*((1<<BitDepthC)-1)))(82)
nnpfc_out_format_flag等于1指示由后处理滤波器输出的样点值是无符号整数,并且函数OutY和OutC被指定如下:
变量outTensorBitDepth从如下所述的语法元素nnpfc_out_tensor_bitdepth_minus8被推导。
nnpfc_out_tensor_bitdepth_minus8加8指定输出整数张量中的样点值的比特深度。outTensorBitDepth的值如下被推导:
outTensorBitDepth=nnpfc_out_tensor_bitdepth_minus8+8 (84)
比特流一致性要求nnpfc_out_tensor_bitdepth_minus8的值必须在0到24的范围内,包括边界值。
nnpfc_out_order_idc指示从后处理滤波器得到的样点的输出顺序。表10包含nnpfc_out_order_idc值的资料性描述。在0到39的范围(包括边界值)中的nnpfc_out_order_idc的语义在表11中被指定,表11指定用于针对nnpfc_out_order_idc的不同值和给定垂直样点坐标cTop和水平样点坐标cLeft从输出张量outputTensor推导经滤波输出样点阵列FilteredYPic、FilteredCbPic和FilteredCrPic中的样点值的过程,给定垂直样点坐标cTop和水平样点坐标cLeft指定被包括在输入张量中的样点小块的左上样点位置。当nnpfc_purpose等于2或4时,nnpfc_out_order_idc必须不等于37、8或9。nnpfc_out_order_idc的值必须在0到255的范围内,包括边界值。大于39的nnpfc_out_order_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_out_order_idc的保留值的SEI消息。
表10-nnpfc_out_order_idc值的资料性描述
表11-用于针对指定被包括在输入张量中的样点小块的左上样点位置的给定垂直样点坐标cTop和水平样点坐标cLeft从输出张量outputTensor推导经滤波输出样点阵列FilteredYPic、FilteredCbPic和FilteredCrPic中的样点值的过程
用于经剪裁的经解码的输出图片picA的基础后处理滤波器是由CLVS内具有特定nnpfc_id值的按照解码顺序的第一个神经网络后处理滤波器特性SEI消息标识的滤波器。
如果存在如下的另一神经网络后处理滤波器特性SEI消息,该另一神经网络后处理滤波器特性SEI消息具有相同nnpfc_id值、具有等于1的nnpfc_mode_idc、具有与定义基础后处理滤波器的神经网络后处理滤波器特性SEI消息不同的内容并且涉及图片picA,则基础后处理滤波器通过解码该神经网络后处理滤波器特性SEI消息中的ISO/IEC 15938-17比特流而被更新,以获得后处理滤波器PostProcessingFilter()。否则,后处理滤波器PostProcessingFilter()被指派为与基础后处理滤波器相同。
以下过程被用于利用后处理滤波器PostProcessingFilter()对经剪裁的经解码的输出图片进行滤波以生成经滤波图片,该经滤波图片分别包含如由nnpfc_out_order_idc指示的Y、Cb及Cr的样点阵列FilteredYPic、FilteredCbPic及FilteredCrPic。
6.3.实施例3
该实施例是针对其中针对在上面第5节中概述的实施例项目4、视频单元是图片的情况。
神经网络后处理滤波器特性SEI消息语义
···
nnpfc_inp_order_idc指示将经剪裁的经解码的输出图片的样点阵列排序为后处理滤波器的输入的方法。表2包含nnpfc_inp_order_idc值的资料性描述。在0到3的范围(包括边界值)内的nnpfc_inp_order_idc的语义在表12中指定,表12指定用于针对nnpfc_inp_order_idc的不同值和给定垂直样点坐标cTop和水平样点坐标cLeft推导输入张量inputTensor的过程,给定垂直样点坐标cTop和水平样点坐标cLeft指定被包括在输入张量中的样点小块的左上样点位置。当经剪裁的经解码的输出图片的色度格式不是4:2:0时,nnpfc_inp_order_idc必须不等于3。nnpfc_inp_order_idc的值必须在0到255的范围内(包括边界值)。大于3的nnpfc_inp_order_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_inp_order_idc的保留值的SEI消息。
小块是来自图片的分量(例如,亮度分量或色度分量)的样点的矩形阵列。
nnpfc_constant_patch_size_flag等于0指定后处理滤波器接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸的正整数倍的任何小块尺寸作为输入。当nnpfc_constant_patch_size_flag等于0时,小块尺寸宽度必须小于或等于CroppedWidth。当nnpfc_constant_patch_size_flag等于0时,小块尺寸高度必须小于或等于CroppedHeight。nnpfc_constant_patch_size_flag等于1指定后处理滤波器精确地接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸作为输入。
nnpfc_patch_width_minus1+1,当nnpfc_constant_patch_size_flag等于1时,指定针对后处理滤波器的输入所需的小块尺寸的水平样点计数。当nnpfc_constant_patch_size_flag等于0时,(nnpfc_patch_width_minus1+1)的任何正整数倍数可以被用作用于后处理滤波器的输入的小块尺寸的水平样点计数。nnpfc_patch_width_minus1的值必须在0至Min(32766,CroppedWidth-1)的范围内,包括边界值。
nnpfc_patch_height_minus1+1,当nnpfc_constant_patch_size_flag等于1时,指定针对后处理滤波器的输入所需的小块尺寸的垂直样点计数。当nnpfc_constant_patch_size_flag等于0时,(nnpfc_patch_height_minus1+1)的任何正整数倍数可以被用作用于后处理滤波器的输入的小块尺寸的垂直样点计数。nnpfc_patch_height_minus1的值必须在0至Min(32766,CroppedHeight-1)的范围内,包括边界值。
nnpfc_overlap指定后处理滤波器的相邻输入张量的重叠的水平样点和垂直样点计数。nnpfc_overlap的值必须在0到16383的范围内,包括边界值。
变量inpPatchWidth、inpPatchHeight、outPatchWidth、outPatchHeight、horCScaling、verCScaling、outPatchCWidth、outPatchCHeight和overlapSize如下被推导:
比特流一致性要求outPatchWidth*CroppedWidth必须等于nnpfc_pic_width_in_luma_samples*inpPatchWidth,并且outPatchHeight*CroppedHeight必须等于nnpfc_pic_height_in_luma_samples*inpPatchHeight。
nnpfc_padding_type指定当参考经剪裁的经解码的输出图片的边界外部的样点位置时的填充的过程,如表3中所描述。nnpfc_padding_type的值必须在0到15的范围内,包括边界值。
nnpfc_luma_padding_val指定当nnpfc_padding_type等于4时用于填充的亮度值。
nnpfc_cb_padding_val指定当nnpfc_padding_type等于4时用于填充的Cb值。
nnpfc_cr_padding_val指定当nnpfc_padding_type等于4时用于填充的Cr值。
函数InpSampleVal(y,x,picHeight,picWidth,croppedPic)(其中输入是垂直样点位置y、水平样点位置x、图片高度picHeight、图片宽度picWidth和样点阵列croppedPic)返回如下被推导的sampleVal的值:
表12-用于针对指定被包括在输入张量中的样点小块的左上样点位置的给定垂直样点坐标cTop和水平样点坐标cLeft推导输入张量inputTensor的过程
nnpfc_complexity_idc大于0指定用于指示与nnpfc_id相关联的后处理滤波器的复杂度的一个或多个语法元素可以存在。nnpfc_complexity_idc等于0指定没有用于指示与nnpfc_id相关联的后处理滤波器的复杂度的语法元素存在。nnpfc_complexity_idc的值必须在0到255的范围内,包括边界值。大于1的nnpfc_complexity_idc的值被保留用于ITU-T|ISO/IEC的未来规范,且必须不存在于符合此规范的此版本的比特流中。符合此规范的此版本的解码器必须忽略包含nnpfc_complexity_idc的保留值的SEI消息。
6.4.实施例4
该实施例是针对其中针对实施例项目5及其在上面第5节中概述的所有子项、视频单元是图片的情况。
神经网络后处理滤波器特性SEI消息语义
···
nnpfc_constant_patch_size_flag等于0指定后处理滤波器接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸的正整数倍的任何小块尺寸作为输入。当nnpfc_constant_patch_size_flag等于0时,小块尺寸宽度必须小于或等于CroppedWidth。当nnpfc_constant_patch_size_flag等于0时,小块尺寸高度必须小于或等于CroppedHeight。nnpfc_constant_patch_size_flag等于1指定后处理滤波器精确地接受由nnpfc_patch_width_minus1和nnpfc_patch_height_minus1指示的小块尺寸作为输入。
nnpfc_patch_width_minus1+1,当nnpfc_constant_patch_size_flag等于1时,指定针对后处理滤波器的输入所需的小块尺寸的水平样点计数。当nnpfc_constant_patch_size_flag等于0时,(nnpfc_patch_width_minus1+1)的任何正整数倍数可以被用作用于后处理滤波器的输入的小块尺寸的水平样点计数。nnpfc_patch_width_minus1的值必须在0至Min(32766,CroppedWidth-1)的范围内,包括边界值。
nnpfc_patch_height_minus1+1,当nnpfc_constant_patch_size_flag等于1时,指定针对后处理滤波器的输入所需的小块尺寸的垂直样点计数。当nnpfc_constant_patch_size_flag等于0时,(nnpfc_patch_height_minus1+1)的任何正整数倍数可以被用作用于后处理滤波器的输入的小块尺寸的垂直样点计数。nnpfc_patch_height_minus1的值必须在0至Min(32766,CroppedHeight-1)的范围内,包括边界值。
令变量inpPatchWidth和inpPatchHeight分别为小块尺寸宽度和小块尺寸高度。
如果nnpfc_constant_patch_size_flag等于0,则以下适用:
-inpPatchWidth和inpPatchHeight的值由本文档中未指定的外部部件提供。例
如,
这样的外部部件可以是将inpPatchWidth和inpPatchHeight的值传递给视频应用
系统中的解码器和渲染实体的API,并且这些值可以由用户通过应用的用户界面来配置。
-inpPatchWidth的值必须为nnpfc_patch_width_minus1+1的正整数倍且必须小
于或等于CroppedWidth。inpPatchHeight的值必须为nnpfc_patch_height_minus1+1的正
整数倍且必须小于或等于CroppedHeight。
否则(nnpfc_constant_patch_size_flag等于1),inpPatchWidth的值被设置为等
于nnpfc_patch_width_minus1+1,并且inpPatchHeight的值被设置为等于nnpfc_patch_
height_minus1+1。
nnpfc_overlap指定后处理滤波器的相邻输入张量的重叠的水平样点和垂直样点计数。nnpfc_overlap的值必须在0到16383的范围内,包括边界值。
变量outPatchWidth、outPatchHeight、horCScaling、verCScaling、outPatchCWidth、outPatchCHeight和overlapSize如下被推导:
比特流一致性要求outPatchWidth*CroppedWidth必须等于nnpfc_pic_width_in_luma_samples*inpPatchWidth,并且outPatchHeight*CroppedHeight必须等于nnpfc_pic_height_in_luma_samples*inpPatchHeight。
图5示出了根据本公开的实施例的用于视频处理的方法500的流程图。方法500被实现用于视频的当前视频单元与视频的比特流之间的转换。在一些实施例中,当前视频单元与比特流之间的转换可以包括将当前视频单元编码到比特流中。备选地或附加地,转换可以包括从比特流解码当前视频单元。
在框510处,至少基于与当前视频单元相关联的辅助信息,将神经网络(NN)滤波器应用于当前视频单元。辅助信息包括以下至少一项:当前视频单元的预测信息、当前视频单元的分割信息、或先前经编解码的视频单元的编解码信息。例如,神经网络滤波器可以是神经网络后处理滤波器。在一些示例实施例中,辅助信息还可以包括量化参数相关数据。也就是说,除了量化参数相关数据之外的更多辅助输入可以被输入到NN滤波器,例如NN后处理滤波器。在框520处,基于该应用,执行该转换。
方法500使得能够基于更多辅助输入(例如预测信息、分割信息和/或来自先前经解码的视频单元的信息)应用NN滤波器(例如NN后处理滤波器)。以这种方式,这样的辅助信息或辅助输入在改善NN后处理滤波的性能方面可以非常有帮助。因此,可以改善视频处理的编解码效率和编解码有效性。
在一些实施例中,方法500还包括:基于比特流中的至少一个语法元素,确定针对从神经网络的输入中排除辅助信息的条件是否被满足;以及如果确定条件被满足,将神经网络应用于当前视频单元,而不将辅助信息输入到神经网络滤波器。
在一些实施例中,至少一个语法元素包括:第一语法元素,用于指示将经剪裁的经解码的输出图片的样点阵列排序为到神经网络滤波器的输入的规则;第二语法元素,用于指定到神经网络滤波器的输入张量和从神经网络滤波器得到的输出张量中的维度被用于通道;以及第三语法元素,用于指示辅助信息是否存在于神经网络滤波器的输入张量中。在一些实例实施例中,条件是第一语法元素是3,第二语法元素是0,并且第三语法元素是0。举例来说,如果nnpfc_inp_order_idc等于3,nnpfc_component_last_flag等于0,并且nnpfc_auxiliary_inp_idc等于0,则没有辅助输入矩阵被使用。
在一些实施例中,当前视频单元的预测信息包括以下至少一项:当前视频单元的预测样点、或当前视频单元的预测模式。
在一些实施例中,当前视频单元的分割信息包括当前视频单元的分割边界。
在一些实施例中,先前经编解码的视频单元的编解码信息包括:先前经编解码的视频单元中的同位块或运动补偿块中的至少一项的样点,同位块与当前视频单元中的当前视频块同位,运动补偿块与当前视频块相关联。例如,辅助输入可以包括来自先前经解码的图片的信息,例如先前经解码的图片中的当前待处理块的同位块或运动补偿块的样点。
在一些实施例中,当前视频单元的第一色彩分量和第二色彩分量共享相同的辅助信息,或者第一色彩分量和第二色彩分量被允许共享相同的辅助信息。也就是说,不同的色彩分量共享相同的辅助输入或被允许共享相同的辅助输入。
在一些实施例中,当前视频单元的第一色彩分量和第二色彩分量使用不同的辅助信息,或者第一色彩分量和第二色彩分量被允许使用不同的辅助信息。也就是说,不同的色彩分量使用不同的辅助输入或被允许使用不同的辅助输入。
在一些实施例中,当前视频单元的第一色度分量和第二色度分量使用相同的辅助信息或被允许使用相同的辅助信息,并且当前视频单元的亮度分量使用第一辅助信息,第一辅助信息不同于被第一色度分量和第二色度分量使用的第二辅助信息。例如,两个色度分量使用相同的辅助输入或被允许使用相同的辅助输入,该相同的辅助输入不同于亮度分量的辅助输入。
在一些实施例中,与神经网络滤波器相关联的至少一个矩阵包括以下至少一项:亮度分量、第一色度分量或第二色度分量。也就是说,NN滤波器的输入张量和/或输出张量中呈现的矩阵可以包括亮度分量、和/或Cb分量、和/或Cr分量,或这些分量的任何组合。
在一些实施例中,该至少一个矩阵包括以下至少一项:神经网络滤波器的输入张量中的输入矩阵、或神经网络滤波器的输出张量中的输出矩阵。
在一些实施例中,该至少一个矩阵包括色度矩阵,神经网络滤波器的输入张量或输出张量的通道数目是1。即,输入张量和/或输出张量中仅存在色度矩阵,通道数目是1,并且分量是Cb或Cr。
在一些实施例中,该至少一个矩阵包括色度矩阵和包括亮度分量的亮度矩阵,神经网络滤波器的输入张量或输出张量的通道数量是2。即,在输入张量和/或输出张量中仅存在亮度矩阵和色度矩阵,通道数目是2,并且分量是亮度和Cb或亮度和Cr。
在一些实施例中,至少一个矩阵包括色度矩阵和包括亮度分量的四个亮度矩阵,神经网络滤波器的输入张量或输出张量的通道数目是5。即,在输入张量和/或输出张量中仅存在四个亮度矩阵和一个色度矩阵,通道数目是5,并且分量是亮度和Cb或亮度和Cr。
在一些实施例中,当前视频单元的色度格式是4:2:0。
在一些实施例中,色度矩阵包括以下中的一项:第一色度分量、或第二色度分量。通过将NN滤波器应用于两个色度分量之一,可以单独地处理两个色度分量。
在一些实施例中,神经网络滤波器的至少一种类型的视觉质量改善被包括在比特流中。例如,可以定义一种或多种类型的视觉质量改善。
在一些实施例中,该至少一种类型被包括在神经网络后处理滤波器特性(NNPFC)补充增强信息(SEI)消息中。也就是说,可以在NNPFC SEI消息中通过信号传输具有视觉质量改善目的的NN滤波器的视觉质量改善类型。
在一些实施例中,如果神经网络滤波器的目的是视觉质量改善,则至少一种类型被包括在比特流中。
在一些实施例中,该至少一种类型包括以下至少一项:客观导向类型、保真导向类型、主观导向类型、或胶片颗粒导向类型。
在一些实施例中,该至少一种类型的视觉质量改善包括客观导向类型或保真导向类型,并且当前视频单元的保真度基于以下至少一项被确定:当前视频单元的峰值信噪比、或当前视频单元的多尺度结构相似性(Ms-SSIM)。也就是说,视觉质量改善的类型被定义为客观导向的/保真定向的,目标是增加在应用神经网络后处理滤波器之后的重建图片的保真度。保真度可以由PSNR、Ms-SSIM等测量。
在一些实施例中,该至少一种类型的视觉质量改善包括主观导向类型,并且当前视频单元的主观视觉质量基于以下至少一项被确定:当前视频单元的学习感知图像小块相似性(LPIPS)、或当前视频单元的平均意见得分(MOS)。也就是说,视觉质量改善的类型被定义为主观导向的,目标是增加在应用神经网络后处理滤波器之后的重建图片的主观视觉质量。主观视觉质量可以由LPIPS、MOS等测量。
在一些实施例中,该至少一种类型的视觉质量改善包括胶片颗粒导向类型,并且胶片颗粒在将神经网络滤波器应用于当前视频单元之后重建的视频单元上被获得。即,视觉质量改善的类型被定义为胶片颗粒导向的,其中在应用神经网络后处理滤波器之后的重建图像上合成胶片颗粒。
在一些情况下,不同的视频应用可能偏好不同类型的视觉质量改善。例如,保真度在监视场景中是重要的,但在一些用户生成的视频中可能不是那么关键。通过在比特流中包括视觉质量改善的类型,可以通过诸如解码器来标识视觉质量改善的类型。
在一些实施例中,当前视频单元可以是图片、条带或任何其他视频单元。
在一些实施例中,方法500还包括:从外部源接收小块宽度和小块高度;以及基于小块宽度和小块高度确定用于神经网络滤波器的输入的小块尺寸。例如,小块宽度(也称为inpPatchWidth)和小块高度(也称为inpPatchHeight)可以由未指定的外部部件提供。
在一些实施例中,小块宽度和小块高度经由应用程序编程接口被接收。在一些实施例中,应用程序编程接口在与转换相关联的解码器处。在一些实施例中,与视频相关联的实体在视频应用系统中呈现,并且小块宽度和小块高度由用户经由视频应用系统的用户界面来配置。例如,外部部件可以是将inpPatchWidth和inpPatchHeight的值传递给视频应用系统中的解码器和渲染实体的API,并且这些值可以由用户通过应用的用户界面来配置。
在一些示例实施例中,不管nnpfc_constant_patch_size_flag的值如何,可以基于接收到的小块宽度和小块高度来确定小块尺寸。例如,不管nnpfc_constant_patch_size_flag的值如何,滤波过程将小块尺寸宽度inpPatchWidth和小块尺寸高度inpPatchHeight作为输入(如下所指示)。
在一些实施例中,小块宽度是比特流中的第四语法元素与诸如1之类的预定义值之和的正整数倍,并且小块高度是比特流中的第五语法元素与预定义值之和的正整数倍。
在一些实施例中,第四语法元素(例如nnpfc_patch_width_minus1)指示输入到神经网络滤波器所需的小块尺寸的水平样点计数。第五语法元素(例如nnpfc_patch_height_minus1)指示输入到神经网络滤波器所需的小块尺寸的垂直样点计数。
在一些实施例中,小块宽度小于或等于阈值宽度,并且小块高度小于或等于阈值高度。
在一些实施例中,阈值宽度(例如CroppedWidth)是以亮度样点为单位的经剪裁的经编解码的输出图片的宽度,阈值高度(例如CroppedHeight)是以亮度样点为单位的经剪裁的经编解码的输出图片的高度。阈值宽度和阈值高度被包括在比特流中。
作为示例,inpPatchWidth的值可以是nnpfc_patch_width_minus1+1的正整数倍,并且可以小于或等于CroppedWidth。PatchSizeH的值可以是nnpfc_patch_height_minus1+1的正整数倍,并且可以小于或等于CroppedHeight。
在一些实施例中,方法500还包括:如果确定比特流中的第六语法元素(例如nnpfc_constant_patch_size_flag)是第一值(例如0),接收小块宽度和小块高度。也就是说,如果nnpfc_constant_patch_size_flag等于0,则由外部部件提供由inpPatchWidth表示的小块尺寸宽度和由inpPatchHeight表示的小块尺寸高度。
在一些实施例中,方法500还包括:如果确定第六语法元素是第二值(例如1),基于预定义值和比特流中的第四语法元素来确定小块宽度;以及基于预定义值和比特流中的第五语法元素来确定小块高度。例如,如果nnpfc_constant_patch_size_flag等于1,则inpPatchWidth的值被设置为等于nnpfc_patch_width_minus1+1,并且inpPatchHeight的值被设置为等于nnpfc_patch_height_minus1+1。
在一些实施例中,第六语法元素指示神经网络滤波器接受是另外的小块尺寸的正整数倍的小块尺寸,该另外的小块尺寸由第四语法元素和第五语法元素指示。
在一些实施例中,第四语法元素指示输入到神经网络滤波器所需的小块尺寸的水平样点计数,并且其中第五语法元素指示输入到神经网络滤波器所需的小块尺寸的垂直样点计数。
根据本公开的另外的实施例,提供了一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储由用于视频处理的装置执行的方法生成的视频的比特流。在该方法中,至少基于与当前视频单元相关联的辅助信息,将神经网络滤波器应用于视频的当前视频单元。辅助信息包括以下至少一项:当前视频单元的预测信息、当前视频单元的分割信息、或先前经编解码的视频单元的编解码信息。基于该应用,生成该比特流。
根据本公开的又一些实施例,提供了一种用于存储视频的比特流的方法。在该方法中,至少基于与当前视频单元相关联的辅助信息,将神经网络滤波器应用于视频的当前视频单元。辅助信息包括以下至少一项:当前视频单元的预测信息、当前视频单元的分割信息、或先前经编解码的视频单元的编解码信息。基于该应用,生成该比特流。比特流被存储在非暂态计算机可读记录介质中。
可以根据以下条款描述本公开的实现方式,其特征可以以任何合理的方式组合。
条目1.一种用于视频处理的方法,包括:针对视频的当前视频单元与所述视频的比特流之间的转换,至少基于与所述当前视频单元相关联的辅助信息,将神经网络滤波器应用于所述当前视频单元,所述辅助信息包括以下至少一项:所述当前视频单元的预测信息,所述当前视频单元的分割信息,或先前经编解码的视频单元的编解码信息;以及基于所述应用,执行所述转换。
条目2.根据条目所述1的方法,还包括:基于所述比特流中的至少一个语法元素,确定针对从所述神经网络的输入中排除所述辅助信息的条件是否被满足;以及如果确定所述条件被满足,将所述神经网络应用于所述当前视频单元,而不将所述辅助信息输入到所述神经网络滤波器。
条目3.根据条目2所述的方法,其中所述至少一个语法元素包括:第一语法元素,用于指示将经剪裁的经解码的输出图片的样点阵列排序为到所述神经网络滤波器的输入的规则,第二语法元素,用于指定到所述神经网络滤波器的输入张量和从所述神经网络滤波器得到的输出张量中的维度被用于通道,以及第三语法元素,用于指示所述辅助信息是否存在于所述神经网络滤波器的输入张量中,并且其中所述条件是所述第一语法元素是3,所述第二语法元素是0,并且所述第三语法元素是0。
条目4.根据条目1至3中任一项所述的方法,其中所述神经网络滤波器包括神经网络后处理滤波器。
条目5.根据条目1至4中任一项所述的方法,其中所述当前视频单元的所述预测信息包括以下至少一项:所述当前视频单元的预测样点,或所述当前视频单元的预测模式。
条目6.根据条目1至5中任一项所述的方法,其中所述当前视频单元的所述分割信息包括所述当前视频单元的分割边界。
条目7.根据条目1至5中任一项所述的方法,其中所述先前经编解码的视频单元的所述编解码信息包括:所述先前经编解码的视频单元中的同位块和运动补偿块中的至少一项的样点,所述同位块与所述当前视频单元中的当前视频块同位,所述运动补偿块与所述当前视频块相关联。
条目8.根据条目1至7中任一项所述的方法,其中所述当前视频单元的第一色彩分量和第二色彩分量共享相同的辅助信息,或者所述第一色彩分量和所述第二色彩分量被允许共享相同的辅助信息。
条目9.根据条目1至7中任一项所述的方法,其中所述当前视频单元的第一色彩分量和第二色彩分量使用不同的辅助信息,或者所述第一色彩分量和所述第二色彩分量被允许使用不同的辅助信息。
条目10.根据条目1至7中任一项所述的方法,其中所述当前视频单元的第一色度分量和第二色度分量使用相同的辅助信息或被允许使用相同的辅助信息,并且所述当前视频单元的亮度分量使用第一辅助信息,所述第一辅助信息不同于被所述第一色度分量和所述第二色度分量使用的第二辅助信息。
条目11.根据条目1至10中任一项所述的方法,其中与所述神经网络滤波器相关联的至少一个矩阵包括以下至少一项:亮度分量,第一色度分量,或第二色度分量。
条目12.根据条目11所述的方法,其中所述至少一个矩阵包括以下至少一项:所述神经网络滤波器的输入张量中的输入矩阵、或所述神经网络滤波器的输出张量中的输出矩阵。
条目13.根据条目11或条目12所述的方法,其中所述至少一个矩阵包括色度矩阵,所述神经网络滤波器的输入张量或输出张量的通道数目是1。
条目14.根据条目11或条目12所述的方法,其中所述至少一个矩阵包括色度矩阵和包括亮度分量的亮度矩阵,所述神经网络滤波器的输入张量或输出张量的通道数目是2。
条目15.根据条目11或条目12所述的方法,其中所述至少一个矩阵包括色度矩阵和包括亮度分量的四个亮度矩阵,所述神经网络滤波器的输入张量或输出张量的通道数目是5。
条目16.根据条目15所述的方法,其中所述当前视频单元的色度格式是4:2:0。
条目17.根据条目13至16中任一项所述的方法,其中所述色度矩阵包括以下中的一项:所述第一色度分量、或所述第二色度分量。
条目18.根据条目1至17中任一项所述的方法,其中所述神经网络滤波器的至少一种类型的视觉质量改善被包括在所述比特流中。
条目19.根据条目18所述的方法,其中所述至少一种类型被包括在神经网络后处理滤波器特性(NNPFC)补充增强信息SEI消息中。
条目20.根据条目18或条目19所述的方法,其中如果所述神经网络滤波器的目的是视觉质量改善,则所述至少一种类型被包括在所述比特流中。
条目21.根据条目18至20中任一项所述的方法,其中所述至少一种类型包括以下至少一项:客观导向类型,保真导向类型,主观导向类型,胶片颗粒导向类型。
条目22.根据条目21所述的方法,其中所述至少一种类型的视觉质量改善包括所述客观导向类型或所述保真导向类型,并且所述当前视频单元的保真度基于以下至少一项而被确定:所述当前视频单元的峰值信噪比,或所述当前视频单元的多尺度结构相似性(Ms-SSIM)。
条目23.根据条目21所述的方法,其中所述至少一种类型的视觉质量改善包括所述主观导向类型,并且所述当前视频单元的主观视觉质量基于以下至少一项确定:所述当前视频单元的学习感知图像小块相似性(LPIPS),或所述当前视频单元的平均意见得分(MOS)。
条目24.根据条目21所述的方法,其中所述至少一种类型的视觉质量改善包括所述胶片颗粒导向类型,并且胶片颗粒在将所述神经网络滤波器应用于所述当前视频单元之后重建的视频单元上获得。
条目25.根据条目1至24中任一项所述的方法,其中所述当前视频单元包括图片或条带。
条目26.根据条目1至25中任一项所述的方法,还包括:从外部源接收小块宽度和小块高度;以及基于所述小块宽度和所述小块高度,确定针对所述神经网络滤波器的输入的小块尺寸。
条目27.根据条目26所述的方法,其中所述小块宽度是预定义值与所述比特流中的第四语法元素之和的正整数倍,并且所述小块高度是所述预定义值与所述比特流中的第五语法元素之和的正整数倍。
条目28.根据条目27所述的方法,其中所述第四语法元素指示输入到所述神经网络滤波器所需的小块尺寸的水平样点计数,并且其中所述第五语法元素指示输入到所述神经网络滤波器所需的小块尺寸的垂直样点计数。
条目29.根据条目27或条目28所述的方法,其中所述小块宽度小于或等于阈值宽度,并且所述小块高度小于或等于阈值高度。
条目30.根据条目29所述的方法,其中所述阈值宽度是以亮度样点为单位的经剪裁的经编解码的输出图片的宽度,所述阈值高度是以亮度样点为单位的经剪裁的经编解码的输出图片的高度,并且所述阈值宽度和所述阈值高度被包括在所述比特流中。
条目31.根据条目26至30中任一项所述的方法,其中所述小块宽度和所述小块高度经由应用程序编程接口接收。
条目32.根据条目31所述的方法,其中所述应用程序编程接口在与所述转换相关联的解码器处。
条目33.根据条目26至32中任一项所述的方法,其中与所述视频相关联的实体在视频应用系统中呈现,并且所述小块宽度和所述小块高度由用户经由所述视频应用系统的用户界面配置。
条目34.根据条目26至33中任一项所述的方法,还包括:如果确定所述比特流中的第六语法元素是第一值,接收所述小块宽度和所述小块高度。
条目35.根据条目34所述的方法,还包括:如果确定所述第六语法元素是第二值,基于预定义值和所述比特流中的第四语法元素,确定所述小片宽度;以及基于所述预定义值和所述比特流中的第五语法元素,确定所述小片高度。
条目36.根据条目35所述的方法,其中所述第六语法元素指示所述神经网络滤波器接受是另外的小块尺寸的正整数倍的小块尺寸,所述另外的小块尺寸由所述第四语法元素和所述第五语法元素指示。
条目37.根据条目35或条目36所述的方法,其中所述第四语法元素指示输入到所述神经网络滤波器所需的小块尺寸的水平样点计数,并且其中所述第五语法元素指示输入到所述神经网络滤波器所需的小块尺寸的垂直样点计数。
条目38.根据条目1至37中任一项所述的方法,其中所述转换包括将所述当前视频单元编码到所述比特流中。
条目39.根据条目1至37中任一项所述的方法,其中所述转换包括从所述比特流解码所述当前视频单元。
条目40.一种用于视频处理的装置,包括处理器和其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时使所述处理器执行根据条目1至39中任一项所述的方法。
条目41.一种非暂态计算机可读存储介质,存储指令,所述指令使处理器执行根据条目1至39中任一项所述的方法。
条目42.一种非暂态计算机可读记录介质,存储视频的比特流,所述视频的所述比特流由用于视频处理的装置执行的方法生成,其中所述方法包括:至少基于与所述视频的当前视频单元相关联的辅助信息,将神经网络滤波器应用于所述当前视频单元,所述辅助信息包括以下至少一项:所述当前视频单元的预测信息,所述当前视频单元的分割信息,或先前经编解码的视频单元的编解码信息;以及基于所述应用,生成所述比特流。
条目43.一种用于存储视频的比特流的方法,包括:至少基于与所述视频的当前视频单元相关联的辅助信息,将神经网络滤波器应用于所述当前视频单元,所述辅助信息包括以下至少一项:所述当前视频单元的预测信息,所述当前视频单元的分割信息,或先前经编解码的视频单元的编解码信息;基于所述应用,生成所述比特流;以及将所述比特流存储在非暂态计算机可读记录介质中。
示例设备
图6示出了可以在其中实现本公开的各种实施例的计算设备600的框图。计算设备600可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或者可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。
应当理解的是,图6中示出的计算设备600仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。
如图6所示,计算设备600包括通用计算设备600。计算设备600可以至少包括一个或多个处理器或处理单元610、存储器620、存储单元630、一个或多个通信单元640、一个或多个输入设备650以及一个或多个输出设备660。
在一些实施例中,计算设备600可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供方提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板电脑、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备600可以支持到用户的任何类型的接口(诸如“可穿戴”电路装置等)。
处理单元610可以是实体处理器或虚拟处理器,并且可以基于存储在存储器620中的程序实现各种处理。在多处理器系统中,多个处理单元并行地执行计算机可执行指令,以便提高计算设备600的并行处理能力。处理单元610也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备600通常包括各种计算机存储介质。这样的介质可以是由计算设备600可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器620可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元630可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备600中被访问的介质。
计算设备600还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图6中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动。在这种情况下,每个驱动可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元640经由通信介质与另一计算设备通信。另外,计算设备600中的组件的功能可以由单个计算集群或多个计算机器来实现,该多个计算机器可以经由通信连接进行通信。因此,计算设备600可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。
输入设备650可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备,等等。输出设备660可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机,等等。借助于通信单元640,计算设备600还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备600还可以与使用户能够与计算设备600交互的一个或多个设备通信,或者如果需要的话,计算设备600还可以与使计算设备600能够与一个或多个其他计算设备通信的任何设备(例如网卡、调制解调器等)通信。这种通信可以经由输入/输出(I/O)接口(未示出)进行。
在一些实施例中,计算设备600的一些组件或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(诸如互联网)提供服务。例如,云计算提供方通过广域网提供应用,该应用可以通过网络浏览器或任何其他计算组件被访问。云计算架构的软件或组件以及对应的数据可以被存储在远程位置处的服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管对于用户而言,它们表现为单一接入点。因此,云计算架构可以被用于从远程位置处的服务提供方提供本文所描述的组件和功能。备选地,本文所描述的组件和功能可以由常规服务器提供,或者直接地或以其他方式被安装在客户端设备上。
在本公开的实施例中,计算设备600可以被用于实现视频编码/解码。存储器620可以包括具有一个或多个程序指令的一个或多个视频编解码模块625。这些模块由处理单元610可访问并且可执行,以执行本文描述的各种实施例的功能。
在执行视频编码的示例实施例中,输入设备650可以接收视频数据作为待编码的输入670。视频数据可以例如由视频编解码模块625处理,以生成经编码的比特流。经编码的比特流可以经由输出设备660被提供作为输出680。
在执行视频解码的示例实施例中,输入设备650可以接收经编码的比特流作为输入670。经编码的比特流可以例如由视频编解码模块625处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备660被提供作为输出680。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变型旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。
Claims (43)
1.一种用于视频处理的方法,包括:
针对视频的当前视频单元与所述视频的比特流之间的转换,至少基于与所述当前视频单元相关联的辅助信息,将神经网络滤波器应用于所述当前视频单元,所述辅助信息包括以下至少一项:
所述当前视频单元的预测信息,
所述当前视频单元的分割信息,或
先前经编解码的视频单元的编解码信息;以及
基于所述应用,执行所述转换。
2.根据权利要求所述1的方法,还包括:
基于所述比特流中的至少一个语法元素,确定针对从所述神经网络的输入中排除所述辅助信息的条件是否被满足;以及
如果确定所述条件被满足,将所述神经网络应用于所述当前视频单元,而不将所述辅助信息输入到所述神经网络滤波器。
3.根据权利要求2所述的方法,其中所述至少一个语法元素包括:
第一语法元素,用于指示将经剪裁的经解码的输出图片的样点阵列排序为到所述神经网络滤波器的输入的规则,
第二语法元素,用于指定到所述神经网络滤波器的输入张量和从所述神经网络滤波器得到的输出张量中的维度被用于通道,以及
第三语法元素,用于指示所述辅助信息是否存在于所述神经网络滤波器的输入张量中,并且
其中所述条件是所述第一语法元素是3,所述第二语法元素是0,并且所述第三语法元素是0。
4.根据权利要求1至3中任一项所述的方法,其中所述神经网络滤波器包括神经网络后处理滤波器。
5.根据权利要求1至4中任一项所述的方法,其中所述当前视频单元的所述预测信息包括以下至少一项:
所述当前视频单元的预测样点,或
所述当前视频单元的预测模式。
6.根据权利要求1至5中任一项所述的方法,其中所述当前视频单元的所述分割信息包括所述当前视频单元的分割边界。
7.根据权利要求1至5中任一项所述的方法,其中所述先前经编解码的视频单元的所述编解码信息包括:
所述先前经编解码的视频单元中的同位块和运动补偿块中的至少一项的样点,所述同位块与所述当前视频单元中的当前视频块同位,所述运动补偿块与所述当前视频块相关联。
8.根据权利要求1至7中任一项所述的方法,其中所述当前视频单元的第一色彩分量和第二色彩分量共享相同的辅助信息,或者
所述第一色彩分量和所述第二色彩分量被允许共享相同的辅助信息。
9.根据权利要求1至7中任一项所述的方法,其中所述当前视频单元的第一色彩分量和第二色彩分量使用不同的辅助信息,或者
所述第一色彩分量和所述第二色彩分量被允许使用不同的辅助信息。
10.根据权利要求1至7中任一项所述的方法,其中所述当前视频单元的第一色度分量和第二色度分量使用相同的辅助信息或被允许使用相同的辅助信息,并且
所述当前视频单元的亮度分量使用第一辅助信息,所述第一辅助信息不同于被所述第一色度分量和所述第二色度分量使用的第二辅助信息。
11.根据权利要求1至10中任一项所述的方法,其中与所述神经网络滤波器相关联的至少一个矩阵包括以下至少一项:
亮度分量,
第一色度分量,或
第二色度分量。
12.根据权利要求11所述的方法,其中所述至少一个矩阵包括以下至少一项:所述神经网络滤波器的输入张量中的输入矩阵、或所述神经网络滤波器的输出张量中的输出矩阵。
13.根据权利要求11或权利要求12所述的方法,其中所述至少一个矩阵包括色度矩阵,所述神经网络滤波器的输入张量或输出张量的通道数目是1。
14.根据权利要求11或权利要求12所述的方法,其中所述至少一个矩阵包括色度矩阵和包括亮度分量的亮度矩阵,所述神经网络滤波器的输入张量或输出张量的通道数目是2。
15.根据权利要求11或权利要求12所述的方法,其中所述至少一个矩阵包括色度矩阵和包括亮度分量的四个亮度矩阵,所述神经网络滤波器的输入张量或输出张量的通道数目是5。
16.根据权利要求15所述的方法,其中所述当前视频单元的色度格式是4:2:0。
17.根据权利要求13至16中任一项所述的方法,其中所述色度矩阵包括以下中的一项:所述第一色度分量、或所述第二色度分量。
18.根据权利要求1至17中任一项所述的方法,其中所述神经网络滤波器的至少一种类型的视觉质量改善被包括在所述比特流中。
19.根据权利要求18所述的方法,其中所述至少一种类型被包括在神经网络后处理滤波器特性(NNPFC)补充增强信息SEI消息中。
20.根据权利要求18或权利要求19所述的方法,其中如果所述神经网络滤波器的目的是视觉质量改善,则所述至少一种类型被包括在所述比特流中。
21.根据权利要求18至20中任一项所述的方法,其中所述至少一种类型包括以下至少一项:
客观导向类型,
保真导向类型,
主观导向类型,
胶片颗粒导向类型。
22.根据权利要求21所述的方法,其中所述至少一种类型的视觉质量改善包括所述客观导向类型或所述保真导向类型,并且所述当前视频单元的保真度基于以下至少一项而被确定:
所述当前视频单元的峰值信噪比,或
所述当前视频单元的多尺度结构相似性(Ms-SSIM)。
23.根据权利要求21所述的方法,其中所述至少一种类型的视觉质量改善包括所述主观导向类型,并且所述当前视频单元的主观视觉质量基于以下至少一项确定:
所述当前视频单元的学习感知图像小块相似性(LPIPS),或
所述当前视频单元的平均意见得分(MOS)。
24.根据权利要求21所述的方法,其中所述至少一种类型的视觉质量改善包括所述胶片颗粒导向类型,并且
胶片颗粒在将所述神经网络滤波器应用于所述当前视频单元之后重建的视频单元上获得。
25.根据权利要求1至24中任一项所述的方法,其中所述当前视频单元包括图片或条带。
26.根据权利要求1至25中任一项所述的方法,还包括:
从外部源接收小块宽度和小块高度;以及
基于所述小块宽度和所述小块高度,确定针对所述神经网络滤波器的输入的小块尺寸。
27.根据权利要求26所述的方法,其中所述小块宽度是预定义值与所述比特流中的第四语法元素之和的正整数倍,并且
所述小块高度是所述预定义值与所述比特流中的第五语法元素之和的正整数倍。
28.根据权利要求27所述的方法,其中所述第四语法元素指示输入到所述神经网络滤波器所需的小块尺寸的水平样点计数,并且
其中所述第五语法元素指示输入到所述神经网络滤波器所需的小块尺寸的垂直样点计数。
29.根据权利要求27或权利要求28所述的方法,其中所述小块宽度小于或等于阈值宽度,并且
所述小块高度小于或等于阈值高度。
30.根据权利要求29所述的方法,其中所述阈值宽度是以亮度样点为单位的经剪裁的经编解码的输出图片的宽度,
所述阈值高度是以亮度样点为单位的经剪裁的经编解码的输出图片的高度,并且
所述阈值宽度和所述阈值高度被包括在所述比特流中。
31.根据权利要求26至30中任一项所述的方法,其中所述小块宽度和所述小块高度经由应用程序编程接口接收。
32.根据权利要求31所述的方法,其中所述应用程序编程接口在与所述转换相关联的解码器处。
33.根据权利要求26至32中任一项所述的方法,其中与所述视频相关联的实体在视频应用系统中呈现,并且所述小块宽度和所述小块高度由用户经由所述视频应用系统的用户界面配置。
34.根据权利要求26至33中任一项所述的方法,还包括:
如果确定所述比特流中的第六语法元素是第一值,接收所述小块宽度和所述小块高度。
35.根据权利要求34所述的方法,还包括:
如果确定所述第六语法元素是第二值,
基于预定义值和所述比特流中的第四语法元素,确定所述小片宽度;以及
基于所述预定义值和所述比特流中的第五语法元素,确定所述小片高度。
36.根据权利要求35所述的方法,其中所述第六语法元素指示所述神经网络滤波器接受是另外的小块尺寸的正整数倍的小块尺寸,所述另外的小块尺寸由所述第四语法元素和所述第五语法元素指示。
37.根据权利要求35或权利要求36所述的方法,其中所述第四语法元素指示输入到所述神经网络滤波器所需的小块尺寸的水平样点计数,并且
其中所述第五语法元素指示输入到所述神经网络滤波器所需的小块尺寸的垂直样点计数。
38.根据权利要求1至37中任一项所述的方法,其中所述转换包括将所述当前视频单元编码到所述比特流中。
39.根据权利要求1至37中任一项所述的方法,其中所述转换包括从所述比特流解码所述当前视频单元。
40.一种用于视频处理的装置,包括处理器和其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时使所述处理器执行根据权利要求1至39中任一项所述的方法。
41.一种非暂态计算机可读存储介质,存储指令,所述指令使处理器执行根据权利要求1至39中任一项所述的方法。
42.一种非暂态计算机可读记录介质,存储视频的比特流,所述视频的所述比特流由用于视频处理的装置执行的方法生成,其中所述方法包括:
至少基于与所述视频的当前视频单元相关联的辅助信息,将神经网络滤波器应用于所述当前视频单元,所述辅助信息包括以下至少一项:
所述当前视频单元的预测信息,
所述当前视频单元的分割信息,或
先前经编解码的视频单元的编解码信息;以及
基于所述应用,生成所述比特流。
43.一种用于存储视频的比特流的方法,包括:
至少基于与所述视频的当前视频单元相关联的辅助信息,将神经网络滤波器应用于所述当前视频单元,所述辅助信息包括以下至少一项:
所述当前视频单元的预测信息,
所述当前视频单元的分割信息,或
先前经编解码的视频单元的编解码信息;
基于所述应用,生成所述比特流;以及
将所述比特流存储在非暂态计算机可读记录介质中。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNPCT/CN2022/120116 | 2022-09-21 | ||
| CN2022120116 | 2022-09-21 | ||
| PCT/CN2023/120486 WO2024061331A1 (en) | 2022-09-21 | 2023-09-21 | Method, apparatus, and medium for video processing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119948868A true CN119948868A (zh) | 2025-05-06 |
Family
ID=90453880
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202380067726.4A Pending CN119948868A (zh) | 2022-09-21 | 2023-09-21 | 用于视频处理的方法、装置和介质 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20250220248A1 (zh) |
| CN (1) | CN119948868A (zh) |
| WO (1) | WO2024061331A1 (zh) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022522860A (ja) * | 2019-03-07 | 2022-04-20 | オッポ広東移動通信有限公司 | インループフィルタリングの実現方法、装置及びコンピュータ記憶媒体 |
| US11265580B2 (en) * | 2019-03-22 | 2022-03-01 | Tencent America LLC | Supplemental enhancement information messages for neural network based video post processing |
| EP4289136A1 (en) * | 2021-02-05 | 2023-12-13 | Nokia Technologies Oy | High-level syntax for signaling neural networks within a media bitstream |
-
2023
- 2023-09-21 CN CN202380067726.4A patent/CN119948868A/zh active Pending
- 2023-09-21 WO PCT/CN2023/120486 patent/WO2024061331A1/en not_active Ceased
-
2025
- 2025-03-21 US US19/087,286 patent/US20250220248A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20250220248A1 (en) | 2025-07-03 |
| WO2024061331A1 (en) | 2024-03-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250337961A1 (en) | Method, apparatus, and medium for video processing | |
| WO2024146645A1 (en) | Method, apparatus, and medium for video processing | |
| CN120380750A (zh) | 用于视频处理的方法、装置和介质 | |
| CN119072925A (zh) | 用于视频处理的方法、装置及介质 | |
| KR20240107160A (ko) | 동영상 처리 방법, 장치 및 매체 | |
| US20250220248A1 (en) | Method, apparatus, and medium for video processing | |
| US20250337898A1 (en) | Method, apparatus, and medium for video processing | |
| CN120530630A (zh) | 用于视频处理的方法、装置和介质 | |
| WO2024149081A1 (en) | Method, apparatus, and medium for video processing | |
| US20250337899A1 (en) | Method, apparatus, and medium for video processing | |
| US20260032243A1 (en) | Method, apparatus, and medium for video processing | |
| WO2024061136A1 (en) | Method, apparatus, and medium for video processing | |
| US20250330652A1 (en) | Method, apparatus, and medium for video processing | |
| CN121444439A (zh) | 用于视频处理的方法、装置和介质 | |
| CN121014201A (zh) | 用于视频处理的方法、装置和介质 | |
| CN119836784A (zh) | 用于视频处理的方法、装置和介质 | |
| CN120019646A (zh) | 用于视频处理的方法、装置和介质 | |
| CN120530644A (zh) | 用于视频处理的方法、装置和介质 | |
| CN121444438A (zh) | 用于视频处理的方法、装置和介质 | |
| CN121444442A (zh) | 用于视频处理的方法、装置和介质 | |
| CN118044196A (zh) | 用于视频处理的方法、装置和介质 | |
| CN118176727A (zh) | 用于视频处理的方法、装置和介质 | |
| CN119256545A (zh) | 用于视频处理的方法、装置和介质 |
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 |