CN115668914A - 用于在视频流中用信号通知神经网络拓扑、参数和处理信息的技术 - Google Patents

用于在视频流中用信号通知神经网络拓扑、参数和处理信息的技术 Download PDF

Info

Publication number
CN115668914A
CN115668914A CN202180036341.2A CN202180036341A CN115668914A CN 115668914 A CN115668914 A CN 115668914A CN 202180036341 A CN202180036341 A CN 202180036341A CN 115668914 A CN115668914 A CN 115668914A
Authority
CN
China
Prior art keywords
neural network
picture
block
topology information
encoded video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180036341.2A
Other languages
English (en)
Inventor
崔秉斗
李泽强
王炜
蒋薇
史蒂芬.文格尔
刘杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN115668914A publication Critical patent/CN115668914A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种用于视频编码的方法和装置,包括计算机代码,所述计算机代码被配置成使至少一个处理器执行以下操作:获得输入视频流;基于输入视频流使用神经网络来生成已编码视频比特流,该已编码视频比特流包括多个辅助增强信息(SEI)消息和块;确定与神经网络相关联的多个神经网络拓扑信息;以及在与已编码视频比特流相关联的多个语法元素中用信号通知所确定的多个神经网络拓扑信息。

Description

用于在视频流中用信号通知神经网络拓扑、参数和处理信息 的技术
相关申请的交叉引用
本申请基于并且要求于2021年4月12日提交于美国专利商标局的美国临时专利申请第63/173,925号以及于2021年10月12日提交于美国专利商标局的美国专利申请第17/499,007号的优先权,上述美国临时专利申请和美国专利申请的全部内容通过引用并入本文。
背景技术
ITU-T(International Telecommunication Union TelecommunicationStandardization Sector,ITU-T)VCEG(Video Coding Expert Group,VCEG)(Q6/16)和ISO(International Organization for Standardization,ISO)/IEC(InternationalElectrotechnical Commission,IEC)MPEG(Moving Picture Experts Group,MPEG)(JTC1/SC 29/WG 11)在2013年(版本1)、2014年(版本2)、2015年(版本3)和2016年(版本4)公布了H.265/HEVC(High Efficiency Video Coding,高效视频编码)标准。此后,他们一直在研究对具有压缩能力明显超越HEVC标准(包括其扩展)的压缩能力的未来视频编码技术的标准化的潜在需求。2017年10月,他们发布了关于具有超越HEVC能力的视频压缩的联合提案(Call for Proposal,CfP)。到2018年2月15日,总共分别提交了关于标准动态范围(Standard Dynamic Range,SDR)的22项CfP响应、关于高动态范围(High Dynamic Range,HDR)的12项CfP响应以及关于360个视频类别的12项CfP响应。2018年4月,在122MPEG/10次JVET(Joint Video Exploration Team-Joint Video Expert Team,联合视频探索组-联合视频专家组)会议中评估了所有接收到的CfP响应。通过仔细的评估,JVET正式地发起了超越HEVC的下一代视频编码即所谓的通用视频编码(Versatile Video Coding,VVC)的标准化。同时,中国的音视频编码标准(Audio Video coding Standard,AVS)也在进行中。
至少由于基于神经网络的编码的复杂性,如果涉及到神经网络,则普通编解码器可能无法很好地执行滤波处理。因此,存在下述技术缺陷,包括缺乏可压缩性、准确性、以及与神经网络相关的信息的其他不必要的丢弃。
发明内容
根据示例性实施方式,一种用于视频编码的方法由至少一个处理器执行并且包括:获得输入视频流;基于输入视频流使用神经网络来生成已编码视频比特流,该已编码视频比特流包括多个辅助增强信息(SEI)消息和块;确定与神经网络相关联的多个神经网络拓扑信息;以及在与已编码视频比特流相关联的多个语法元素中用信号通知所确定的多个神经网络拓扑信息。
根据示例性实施方式,一种用于视频编码的装置,该装置包括:至少一个存储器,其被配置成存储程序代码;以及至少一个处理器,其被配置成读取程序代码并且按照由程序代码所指示的进行操作。该程序代码包括:获得代码,其被配置成使至少一个处理器获得输入视频流;编码代码,其被配置成使至少一个处理器基于输入视频流使用神经网络来生成已编码视频比特流,该已编码视频比特流包括多个辅助增强信息(SEI)消息和块;确定代码,其被配置成使至少一个处理器确定与神经网络相关联的多个神经网络拓扑信息;以及信号通知代码,其被配置成使至少一个处理器在与已编码视频比特流相关联的多个语法元素中用信号通知所确定的多个神经网络拓扑信息。
一种存储有指令的非暂态计算机可读介质,所述指令在由至少一个处理器执行时使至少一个处理器执行以下操作:获得输入视频流;基于输入视频流使用神经网络来生成已编码视频比特流,该已编码视频比特流包括多个辅助增强信息(SEI)消息和块;确定与神经网络相关联的多个神经网络拓扑信息;以及在与已编码视频比特流相关联的多个语法元素中用信号通知所确定的多个神经网络拓扑信息。
附图说明
图1是根据实施方式的示意图的简化图示。
图2是根据实施方式的示意图的简化图示。
图3是根据实施方式的示意图的简化图示。
图4是根据实施方式的示意图的简化图示。
图5是根据实施方式的图的简化图示。
图6是根据实施方式的图的简化图示。
图7是根据实施方式的图的简化图示。
图8是根据实施方式的图的简化图示。
图9A是根据实施方式的图的简化图示。
图9B是根据实施方式的图的简化图示。
图10是根据实施方式的网络结构的图示。
图11是用于卷积神经网络的线性计算图的示例图示。
图12是NN(Neural Network,NN)推理输出的块级选择的示例。
图13是基于图片/块级模型中的率失真优化(Rate-Distortion Optimization,RDO)的模型决策处理的流程图。
图14是根据实施方式的NN处理的装置的图。
图15A是示出两个NN推断处理的比较的图。
图15B是图15A的两个NN推理处理使用的网络模型的框图。
图16是根据实施方式的流程图的简化图示。
图17是根据实施方式的流程图的简化图示。
图18是根据实施方式的流程图的简化图示。
图19是根据实施方式的流程图的简化图示。
图20是根据实施方式的流程图的简化图示。
图21是根据实施方式的流程图的简化图示。
图22是根据实施方式的流程图的简化图示。
图23是根据实施方式的示意图的简化图示。
具体实施方式
本公开内容的实施方式可以涉及视频编码技术例如中国的HEVC(高效视频编码)、通用视频编码(VVC)、AV1&2或音视频编码标准(AVS)的高级语法设计。本公开内容提出了用于承载用于利用神经网络模型进行后滤波的神经网络拓扑和参数的高级语法设计。本文描述了两个SEI(Supplemental Enhancement Information,SEI)消息:1)拓扑信息和压缩网络参数的描述的内部和外部承载;以及2)模型的图片和/或块级自适应选择。所提出的语法结构的设计旨在在SEI中被指定为与编解码器无关的方法,但是可以在针对VVC/HEVC/AV1&2/AVS扩展的参数集、文件格式的元数据轨道或任何其他有效载荷格式中指定潜在类似的语法元素。
可以单独使用或以任何顺序组合使用下面讨论的特征。此外,可以通过处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现实施方式。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。
在VVC和AVS3中,提出了基于神经网络的方法和装置,特别是基于神经网络的滤波器。下面是基于神经网络的滤波器的结构的示例之一。
图1示出了根据本公开内容的实施方式的通信系统100的简化框图。通信系统100可以包括经由网络105互连的至少两个终端102和103。为了数据的单向传输,第一终端103可以在本地位置处对视频数据进行编码,以经由网络105传输至另一终端102。第二终端102可以从网络105接收另一终端的已编码视频数据,对已编码数据进行解码并且显示恢复的视频数据。单向数据传输在媒体服务应用等中可以是常见的。
图1示出了第二对终端101和104,第二对终端101和104被提供以支持可能例如在视频会议期间发生的已编码视频的双向传输。为了数据的双向传输,每个终端101和/或104可以对在本地位置处捕获的视频数据进行编码,以经由网络105传输至另一终端。每个终端101和/或104也可以接收由另一终端传输的已编码视频数据,可以对已编码数据进行解码并且可以在本地显示设备处显示恢复的视频数据。
在图1中,终端101、102、103和/或104可以被示出为服务器、个人计算机和智能电话,但是本公开内容的原理不限于此。本公开内容的实施方式可以适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备的应用。网络105表示在终端101、102、103和104之间传送已编码视频数据的许多网络,包括例如有线和/或无线通信网络。通信网络105可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本讨论的目的,除非在下文中有所说明,否则网络105的架构和拓扑对于本公开内容的操作而言可以是无关紧要的。
图2示出了视频编码器和视频解码器在流式传输环境中的布置方式,作为针对所公开的主题的应用的示例。所公开的主题可以等同地适用于其他支持视频的应用,包括例如视频会议、数字TV、在包括CD(Compact Disc,CD)、DVD(Digital Video Disk,DVD)、记忆棒等的数字介质上存储压缩视频等。
流式传输系统可以包括捕获子系统203,捕获子系统203可以包括创建例如未压缩的视频样本流213的视频源201,例如数字摄像装置。样本流213可以被强调为在与已编码视频比特流进行比较时高的数据量,并且可以由耦接至摄像装置201的编码器202进行处理。编码器202可以包括硬件、软件或其组合,以实现或实施如下面更详细地描述的所公开主题的各个方面。已编码视频比特流204可以被强调为在与样本流进行比较时较低的数据量,该已编码视频比特流204可以存储在流式传输服务器205上以供将来使用。一个或更多个流式传输客户端212和207可以访问流式传输服务器205以检索已编码视频比特流204的副本208和副本206。客户端212可以包括视频解码器211,视频解码器211对已编码视频比特流的传入副本208进行解码,并且创建可以在显示器209或另一呈现设备上呈现的传出视频样本流210。在一些流式传输系统中,可以根据某些视频编码标准和/或视频压缩标准来对视频比特流204、206和/或208进行编码。
图3可以是根据实施方式的视频解码器300的功能框图。
接收器302可以接收要由解码器300解码的一个或更多个编解码器视频序列;在同一实施方式或另一实施方式中,一次接收一个已编码视频序列,其中,每个已编码视频序列的解码独立于其他已编码视频序列。可以从信道301接收已编码视频序列,信道301可以是到存储已编码视频数据的存储设备的硬件/软件链路。接收器302可以接收已编码视频数据以及其他数据,例如,已编码音频数据和/或辅助数据流,这些数据可以被转发至其相应的使用实体。接收器302可以将已编码视频序列与其他数据分开。为了防止网络抖动,可以将缓冲存储器303耦接在接收器302与熵解码器/解析器304(此后被称为“解析器”)之间。在接收器302正在从具有足够带宽和可控性的存储/转发设备或者从等时同步网络(Isosychronous Network)接收数据时,可以不需要缓冲器303或者缓冲器303可以是小的。为了在诸如因特网的尽力(Best Effort)型分组网络上使用,可能使用缓冲器303,缓冲器303可以相对较大并且可以有利地具有自适应大小。
视频解码器300可以包括解析器304,以根据已熵编码的视频序列重建符号313。这些符号的类别包括:用于管理解码器300的操作的信息;以及潜在地用于控制诸如显示器312的呈现设备的信息,所述呈现设备不是解码器的组成部分而是可以耦接至解码器。用于呈现设备的控制信息可以是辅助增强信息(SEI消息)或视频可用性信息参数集片段的形式。解析器304可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以根据视频编码技术或视频编码标准进行,并且可以遵循本领域技术人员公知的原理,包括:可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等。解析器304可以基于与群组对应的至少一个参数来从已编码视频序列中针对视频解码器中的像素的至少一个子群组提取子群组参数集。子群组可以包括:图片群组(Group ofPictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等。熵解码器/解析器还可以从已编码视频序列中提取信息,诸如变换系数、量化器参数值、运动矢量等。
解析器304可以对从缓冲器303接收到的视频序列进行熵解码/解析操作,以创建符号313。解析器304可以接收已编码数据,并且选择性地对特定符号313进行解码。此外,解析器304可以确定是否将特定符号313提供给运动补偿预测单元306、缩放器和/或逆变换单元305、帧内预测单元307或环路滤波器311。
根据已编码视频图片或一部分已编码视频图片的类型(例如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素,符号313的重建可以涉及多个不同的单元。涉及哪些单元以及涉及方式可以通过由解析器304根据已编码视频序列解析的子群组控制信息来控制。为了清楚起见,未描绘解析器304与下面的多个单元之间的这种子群组控制信息流。
除了已经提及的功能块之外,解码器300可以在概念上细分成如下面描述的多个功能单元。在商业限制下操作的实际实现中,这些单元中的许多单元彼此密切交互,并且可以至少部分地相互集成。然而,出于描述所公开的主题的目的,在概念上细分成以下功能单元是合适的。
第一单元是缩放器/逆变换单元305。缩放器/逆变换单元305从解析器304接收量化变换系数以及控制信息——包括使用哪种变换、块大小、量化因子、量化缩放矩阵等——作为符号313。缩放器/逆变换单元305可以输出包括样本值的块,所述样本值可以输入至聚合器310中。
在一些情况下,缩放器/逆变换305的输出样本可以属于帧内编码块;也就是说:这个块不使用来自先前重建的图片的预测性信息,但是可以使用来自当前图片的先前重建部分的预测性信息。这样的预测性信息可以由帧内图片预测单元307提供。在一些情况下,帧内图片预测单元307使用从当前(部分重建的)图片309提取的周围已经重建的信息来生成与重建下的块相同大小和形状的块。在一些情况下,聚合器310基于每个样本将帧内预测单元307已经生成的预测信息添加至由缩放器/逆变换单元305提供的输出样本信息。
在其他情况下,缩放器/逆变换单元305的输出样本可以属于帧间编码块和潜在地运动补偿块。在这种情况下,运动补偿预测单元306可以访问参考图片存储器308以提取用于预测的样本。在根据属于块的符号313对提取的样本进行运动补偿之后,这些样本可以由聚合器310添加至缩放器/逆变换单元的输出(在这种情况下被称为残差样本或残差信号),以生成输出样本信息。运动补偿单元从其提取预测样本的参考图片存储器内的地址可以由运动矢量控制,所述运动矢量以符号313的形式供运动补偿单元使用,所述符号313可以具有例如X分量、Y分量和参考图片分量。运动补偿还可以包括在子样本精确运动矢量在使用中时从参考图片存储器提取的样本值的内插、运动矢量预测机制等。
聚合器310的输出样本可以在环路滤波器单元311中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波技术,所述环路内滤波技术由被包括在已编码视频比特流中并且作为来自解析器304的符号313可用于环路滤波器单元311的参数来控制,但是视频压缩技术还可以响应于在对已编码图片或已编码视频序列的先前(按解码顺序)部分进行解码期间获得的元信息,以及响应于先前重建且经环路滤波的样本值。
环路滤波器单元311的输出可以是样本流,所述样本流可以输出至呈现设备312以及可以被存储在参考图片存储器557中,以用于将来的帧间图片预测中使用。
一旦完全重建,某些已编码图片就可以用作参考图片以用于将来预测。一旦已编码图片被完全重建并且该已编码图片已经被识别为参考图片(通过例如解析器304),则当前参考图片309就可以变为参考图片缓冲器308的一部分,并且可以在开始重建后续已编码图片之前重新分配新的当前图片存储器。
视频解码器300可以根据可以在诸如ITU-T Rec.H.265的标准中记载的预定视频压缩技术进行解码操作。在已编码视频序列遵循如视频压缩技术文档或视频压缩技术标准中指定的以及特别在其配置文件中指定的视频压缩技术或视频压缩标准的语法的意义上,已编码视频序列可以符合由正在使用的视频压缩技术或视频压缩标准指定的语法。对于合规性,还要求已编码视频序列的复杂性处于由视频压缩技术或视频压缩标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧速率、最大重建采样率(以例如每秒兆个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设置的限制可以通过假设参考解码器(Hypothetical Reference Decoder,HRD)规范以及用于在已编码视频序列中用信号通知的HRD缓冲器管理的元数据来进一步限定。
在实施方式中,接收器302可以接收附加(冗余)数据和已编码视频。所述附加数据可以被包括作为已编码视频序列的一部分。所述附加数据可以由视频解码器300使用,以对数据进行适当解码以及/或者更准确地重建原始视频数据。附加数据可以为例如时间、空间或信噪比(Signal-To-Noise Ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等的形式。
图4可以是根据本公开内容的实施方式的视频编码器400的功能框图。
编码器400可以从视频源401(其并非编码器的一部分)接收视频样本,所述视频源401可以捕获要由编码器400编码的视频图像。
视频源401可以提供要由编码器(303)编码的数字视频样本流形式的源视频序列,所述数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位、……)、任何色彩空间(例如,BT.601Y CrCB、RGB、……)和任何合适的采样结构(例如,Y CrCb 4:2:0、Y CrCb4:4:4)。在媒体服务系统中,视频源401可以是存储先前已准备的视频的存储设备。在视频会议系统中,视频源401可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为在按顺序观看时被赋予运动的多个单独的图片。图片自身可以被组织为空间像素阵列,其中,每个像素可以包括取决于所使用的采样结构、色彩空间等的一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。下面侧重于描述样本。
根据实施方式,编码器400可以实时地或者如期望的在任何其他时间约束下将源视频序列的图片编码并压缩成已编码视频序列410。施行适当的编码速度是控制器402的一个功能。控制器控制如下面描述的其他功能单元并且在功能上耦接至这些单元。为了清楚起见,未描绘耦接。由控制器设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值、……)、图片大小、图片群组(GOP)布局、最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器402的其他功能,这是因为这些功能可能属于针对某个系统设计优化的视频编码器400。
一些视频编码器以本领域技术人员容易识别为“编码环路”的方式操作。作为过于简化的描述,编码环路可以包括:编码器402的编码部分(此后被称为“源编码器”)(负责基于要被编码的输入图片和参考图片创建符号)以及嵌入在编码器400中的(本地)解码器406,(本地)解码器406重建符号以创建(远程)解码器也将创建的样本数据(因为在所公开的主题中考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。将重建的样本流输入至参考图片存储器405。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲器内容在本地编码器与远程编码器之间也是位精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性的基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)对本领域技术人员来说是公知的。
“本地”解码器406的操作可以与已经在上面结合图3详细描述的“远程”解码器300的操作相同。然而,还简要参照图4,当符号可用并且熵编码器408和解析器304可以无损地将符号编码/解码为已编码视频序列时,在本地解码器406中可以不完全实现包括信道301、接收器302、缓冲器303和解析器304的解码器300的熵解码部分。
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必然需要以基本上相同的功能形式存在于相应的编码器中。可以省略编码器技术的描述,这是因为编码器技术与全面描述的解码器技术互逆。下面仅在某些区域中提供更详细的描述。
作为其操作的一部分,源编码器403可以进行运动补偿预测编码,该运动补偿预测编码参考来自视频序列中被指定为“参考帧”的一个或更多个先前已编码的帧对输入帧进行预测性编码。以这样的方式,编码引擎407对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可以被选作所述输入帧的预测参考。
本地视频解码器406可以基于由源编码器403创建的符号对可以指定为参考帧的帧的已编码视频数据进行解码。编码引擎407的操作可以有利地为有损处理。当已编码视频数据可以在视频解码器(图4中未示出)处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器406复制可以由视频解码器对参考帧进行的解码处理,并且可以使重建的参考帧存储在参考图片缓存405中。以这样的方式,编码器400可以在本地存储重建的参考帧的副本,该副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。
预测器404可以针对编码引擎407进行预测搜索。也就是说,对于要编码的新帧,预测器404可以在参考图片存储器405中搜索可以用作用于新图片的适当的预测参考的样本数据(作为候选参考像素块)或某些元数据例如参考图片运动矢量、块形状等。预测器404可以基于样本块逐像素块操作,以找到适当的预测参考。在一些情况下,如由预测器404获得的搜索结果所确定的,输入图片可以具有从参考图片存储器405中存储的多个参考图片得到的预测参考。
控制器402可以管理视频编码器403的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
可以在熵编码器408中对所有以上提及的功能单元的输出进行熵编码。熵编码器根据本领域技术人员已知的技术例如霍夫曼编码、可变长度编码、算术编码等通过对由各种功能单元生成的符号进行无损压缩来将所述符号转换为已编码视频序列。
传输器409可以缓冲由熵编码器408创建的已编码视频序列,以为经由通信信道411进行传输做准备,通信信道411可以是到将存储已编码视频数据的存储设备的硬件/软件链路。传输器409可以将来自视频编码器403的已编码视频数据与要传输的其他数据例如已编码音频数据和/或辅助数据流(未示出源)进行合并。
控制器402可以管理编码器400的操作。在编码期间,控制器405可以向每个已编码图片分配某个已编码图片类型,这可能影响可以应用于相应图片的编码技术。例如,通常可以将图片分配为下述帧类型中的一种帧类型:
帧内图片(I图片)可以是可以在不将序列中的任何其他帧用作预测源的情况下被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新图片。本领域技术人员了解I图片的这些变型及其相应的应用和特征。
预测性图片(P图片)可以是可以使用用至多一个运动矢量和参考索引来预测每个块的样本值的帧内预测或帧间预测进行编码和解码的图片。
双向预测性图片(B图片)可以是可以使用用至多两个运动矢量和参考索引来预测每个块的样本值的帧内预测或帧间预测进行编码和解码的图片。类似地,多预测性图片可以使用多于两个参考图片和相关联的元数据以用于单个块的重建。
源图片通常可以在空间上细分成多个样本块(例如,分别为4×4、8×8、4×8或16×16个样本的块),并且逐块进行编码。这些块可以参考其他(已经编码的)块进行预测性编码,所述其他(已经编码的)块通过应用于块的相应图片的编码分配来确定。例如,I图片的块可以进行非预测性编码,或者I图片的块可以参考同一图片的已经编码的块来进行预测性编码(空间预测或帧内预测)。P图片的像素块可以参考一个先前已编码的参考图片经由空间预测或经由时间预测进行非预测性编码。B图片的块可以参考一个或两个先前已编码的参考图片经由空间预测或经由时间预测进行非预测性编码。
视频编码器400可以根据诸如ITU-T Rec.H.265的预定视频编码技术或视频编码标准进行编码操作。在视频编码器400的操作中,视频编码器400可以进行各种压缩操作,包括利用输入视频序列中的时间冗余和空间冗余的预测性编码操作。因此,已编码视频数据可以符合由所使用的视频编码技术或视频编码标准指定的语法。
在实施方式中,传输器409可以传输附加数据和已编码视频。源编码器403可以包括这样的数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、诸如冗余图片和切片的其他形式的冗余数据、辅助增强信息(SEI)消息、视觉可用性信息(Video Usability Information,VUI)参数集片段等。
图5示出了HEVC和JEM(Joint Exploration Model,JEM)中使用的帧内预测模式。为了捕获自然视频中呈现的任意边缘方向,将方向性帧内模式的数目从HEVC中使用的33个扩展到65个。在HEVC之上JEM中的附加方向性模式被描绘为图1中的虚线箭头,并且平面模式和DC模式保持不变。这些更密集的方向性帧内预测模式适用于所有块大小以及亮度和色度帧内预测两者。如图5所示,与奇数帧内预测模式索引相关联的、由虚线箭头标识的方向性帧内预测模式被称为奇数帧内预测模式。与偶数帧内预测模式索引相关联的、由实线箭头标识的方向性帧内预测模式被称为偶数帧内预测模式。在本文档中,图5中的实线或虚线箭头所指示的方向性帧内预测模式也被称为角度模式。
在JEM中,总共67个帧内预测模式用于亮度帧内预测。为了以帧内模式进行编码,基于相邻块的帧内模式来构建大小为6的最可能模式(Most Probable Mode,MPM)列表。如果帧内模式不是来自MPM列表,则用信号通知标志以指示帧内模式是否属于所选择的模式。在JEM-3.0中,存在16个所选择的模式,其按照每四个角度模式被均匀地选择。在JVET-D0114和JVET-G0060中,得出16个次级MPM以替换均匀选择的模式。
图6示出了针对帧内方向性模式采用的N个参考层。存在块单元611、段A601、段B602、段C 603、段D 604、段E 605、段F 606、第一参考层610、第二参考层609、第三参考层608和第四参考层607。
在HEVC和JEM两者以及诸如H.264/AVC(Advanced Video Coding,AVC)的一些其他标准中,用于预测当前块的参考样本限于最近参考线(行或列)。在多参考线帧内预测方法中,对于帧内方向性模式,将候选参考线(行或列)的数目从一(即最近的)增加到N,其中,N是大于或等于一的整数。图2采用4×4预测单元(PU)作为示例以示出多线帧内方向性预测方法的构思。帧内方向性模式可以任意选择N个参考层中的一个来生成预测器。换言之,根据参考样本S1、S2、……和SN中之一生成预测器p(x,y)。用信号通知标志以指示对于帧内方向性模式选择哪一参考层。如果N被设置为1,则帧内方向性预测方法与JEM 2.0中的传统方法相同。在图6中,参考线610、609、608和607包括六个段601、602、603、604、605和606以及左上参考样本。在本文档中,参考层也被称为参考线。当前块单元内的左上像素的坐标是(0,0),并且第1参考线中的左上像素的坐标是(-1,-1)。
在JEM中,对于亮度分量,在生成处理之前,对用于帧内预测样本生成的相邻样本进行滤波。该滤波通过给定的帧内预测模式和变换块大小进行控制。如果帧内预测模式是DC或者变换块大小等于4×4,则不对相邻样本进行滤波。如果给定的帧内预测模式与竖直模式(或水平模式)之间的距离大于预定义阈值,则启用滤波处理。对于相邻样本滤波,使用[1,2,1]滤波器和双线性滤波器。
位置相关帧内预测组合(Position Dependent Intra Prediction Combination,PDPC)方法是帧内预测方法,其调用使用经滤波的边界参考样本的HEVC式帧内预测和未经滤波的边界参考样本的组合。如下计算位于(x,y)处的每个预测样本pred[x][y]:
pred[x][y]=(wL*R-1,y+wT*Rx,-1+wTL*R-1,-1+(64-wL-wT-wTL)*pred[x][y]+32)>>6 (1)
其中,Rx,-1、R-1,y分别表示位于当前样本(x,y)的上方处和左侧处的未经滤波的参考样本,并且R-1,-1表示位于当前块的左上角处的未经滤波的参考样本。如下计算加权:
wT=32>>((y<<1)>>shift) (2)
wL=32>>((x<<1)>>shift) (3)
wTL=-(wL>>4)-(wT>>4) (4)
移位=(log2(宽度)+log2(高度)+2)>>2 (5)
图7示出了其中DC模式PDPC针对一个4×4块内的(0,0)位置和(1,0)位置进行加权(wL,wT,wTL)的图700。如果将PDPC应用于DC帧内模式、平面帧内模式、水平帧内模式和竖直帧内模式,则不需要附加的边界滤波器,例如HEVC DC模式边界滤波器或水平/竖直模式边缘滤波器。图7示出了应用于右上对角模式的PDPC的参考样本Rx,-1、R-1,y和R-1,-1的定义。预测样本pred(x’,y’)位于预测块内的(x’,y’)处。参考样本Rx,-1的坐标x由x=x’+y’+1给出,并且参考样本R-1,y的坐标y类似地由y=x’+y’+1给出。
图8示出了局部照明补偿(Local Illumination Compensation,LIC)图800,并且是基于使用缩放因子a和偏移b的用于照明变化的线性模型。并且针对每个帧间模式编码的编码单元(CU)自适应地启用或禁用局部照明补偿。
当针对CU应用LIC时,采用最小平方误差方法以通过使用当前CU的相邻样本及其对应的参考样本来得出参数a及参数b。更具体地,如图8所示,使用CU的经二次采样(2:1二次采样)的相邻样本和参考图片中的(由当前CU或子CU的运动信息标识的)对应样本。得出IC参数并且分别应用于每个预测方向。
当利用合并模式对CU进行编码时,以与合并模式中的运动信息复制类似的方式从相邻块复制LIC标志;否则,向CU用信号通知LIC标志以指示是否应用LIC。
图9A示出了在HEVC中使用的帧内预测模式900。在HEVC中,存在总共35个帧内预测模式,其中,模式10是水平模式,模式26是竖直模式,并且模式2、模式18和模式34是对角模式。通过三个最可能模式(MPM)和32个剩余模式来用信号通知帧内预测模式。
图9B示出了在VVC的实施方式中存在总共87个帧内预测模式,其中,模式18是水平模式,模式50是竖直模式,并且模式2、模式34和模式66是对角模式。模式-1至模式-10以及模式67至模式76被称为广角帧内预测(Wide-Angle Intra Prediction,WAIP)模式。
根据PDPC表达式,使用帧内预测模式(DC、平面、角度)和参考样本的线性组合来预测位于位置(x,y)处的预测样本pred(x,y):
pred(x,y)=(wL×R-1,y+wT×Rx,-1–wTL×R-1,-1+(64–wL–wT+wTL)×pred(x,y)+32)>>6 (6)
其中,Rx,-1、R-1,y分别表示位于当前样本(x,y)的上方和左侧处的参考样本,并且R-1,-1表示位于当前块的左上角处的参考样本。
对于DC模式,针对具有维度宽度和高度的块,如下计算权重:
wT=32>>((y<<1)>>nScale),wL=32>>((x<<1)>>nScale),wTL=(wL>>4)+(wT>>4) (7)
其中,nScale=(log2(宽度)–2+log2(高度)–2+2)>>2,其中,wT表示位于上面参考线内具有相同横坐标的参考样本的加权因子,wL表示位于左侧参考线内具有相同纵坐标的参考样本的加权因子,并且wTL表示当前块的左上参考样本的加权因子,nScale指定加权因子沿轴减小(wL从左到右减小或者wT从上到下减小)的速度,即加权因子递减速率,并且在当前设计中该加权因子递减速率沿x轴(从左到右)和y轴(从上到下)是相同的。并且32表示相邻样本的初始加权因子,并且初始加权因子也是分配给当前CB中的左上样本的上(左或左上)加权,并且PDPC处理中的相邻样本的加权因子应当等于或小于该初始加权因子。
对于平面模式而言wTL=0,而对于水平模式而言wTL=wT以及对于竖直模式而言wTL=wL。可以仅利用加法和移位来计算PDPC权重。可以使用式1在单个步骤中计算pred(x,y)的值。
本文提出的方法可以单独使用或以任何顺序组合使用。此外,方法(或实施方式)、编码器和解码器中的每一个可以通过处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。根据实施方式,术语“块”可以被解释为预测块、编码块或编码单元即CU。
图10是根据实施方式的网络结构1000的图示。
在基于神经网络的编码的上下文中,例如VVC和AVS3中的网络结构1000涉及各种基于神经网络的方法,特别是例如基于神经网络的滤波器。网络结构1000表示基于神经网络的滤波器,其包括若干卷积层。例如,核大小为3*3*M,这意味着对于每个信道,卷积核大小可以为3*3,并且输出层数为M。
如在网络结构1000中,组合卷积层和非线性激活函数(例如,ReLU)可以使得能够将整个处理视为用于重建的非线性滤波器,并且在滤波处理之后,可以提高质量。
根据实施方式,网络结构1000可以是简化的框图,并且考虑到基于神经网络的编码方法的复杂性,普通编解码器可能无法进行滤波处理;因此,根据本文的示例性实施方式,可以添加SEI中的若干标识符以指示当前CVS(Concurrent Versions System,CVS)是否使用基于神经网络的工具。此外,还可以指示网络详细信息。并且因此,如果解码器无法处理基于神经网络的滤波器,则与神经网络相关的信息可能会被丢弃,否则该处理可能会被跳过。
如下面进一步讨论的,示例性实施方式在用信号通知神经网络模型信息方面提供了至少两种机制。第一种机制是明确地用信号通知一个或更多个拓扑信息以及用VSEI(Versatile Supplemental Enhancement Information,VSEI)中定义的特定语法元素训练的相应参数。第二种机制是提供外部链接信息,所述信息指示相应的拓扑信息和网络参数存在的位置。
对于用信号通知网络拓扑和参数,根据示例性实施方式,可以采用参考已经开发用于表示网络的现有格式。其示例可以涉及作为由Khronos开发的广义神经网络交换格式的神经网络交换格式(Neural Network Exchange Format,NNEF)。其他可能的示例包括诸如涉及开放神经网络交换(Open Neural Network Exchange,ONNX)和MPEG NNR(NeuralNetwork Compression standard,NNR)的实施方式,它们是用于神经网络的编码表示的格式。
理想情况下,任何神经网络模型都可以导出为NNEF和其他格式,并且网络加速器和库可以使用这些格式的数据,而不会与任何网络框架存在兼容性问题。作为实用的方法,实施方式可以直接引用具有URI(Uniform Resource Identifier,URI)信息的外部文件或比特流。然而,还期望具有轻量级的语法设计,以使用新的基于神经网络的视频编码工具来表示用于VVC或HEVC扩展的视频编码特定网络,这是因为网络模型的通用表示可能很庞大而无法用于压缩视频格式。由于用于视频压缩的大多数网络模型都基于卷积神经网络(Convolutional Neural Network,CNN),因此根据示例性实施方式,在SEI消息中具有CNN的紧凑表示预期有助于降低总比特率以及能够容易地访问网络模型数据。
本文的实施方式可以表示,神经网络模型可以由计算图来表示,计算图是具有多个节点的有向图。节点包括操作节点和数据,例如张量。根据应用,设计和使用各种网络拓扑。然而,对于用于视频处理的后环/环内滤波,普遍采用基于CNN的简单模型。在这种情况下,可以由从输入数据开始的线性图来表示像CNN的简单多层前馈网络,其中,层中的每个操作节点产生中间处理的数据。最后,通过多个层生成输出数据。
图11是用于CNN的线性计算图1100的示例图示。
如图11所示,当将输入张量数据馈送至操作节点时,操作节点利用经预训练的常量和/或变量来处理输入张量数据,并且输出中间张量数据(在图11中表示为张量)。当执行操作节点时,实际的数据被该操作节点使用。通常对于CNN,输入数据与经训练的常量和/或更新的变量的加权求和是每个操作节点的输出。
一旦将特定操作节点指定为单个步骤,就可以迭代地使用相同的操作节点。这种简单的网络拓扑可以通过SEI消息中的一些设计良好的语法元素来描述。在期望更复杂的模型设计的情况下,可以使用像NNEF或ONNX的外部格式。
为了传递网络参数,通常经训练的网络参数的数据量可能太大而无法包含在SEI消息中。为了减小数据量,MPEG-NNR格式可以用于压缩参数,并且可以被分割为多个数据块。经压缩的参数的每个块都可以包含在SEI消息或单独的数据文件中,该文件可能在同一比特流中传递或单独存储在远程服务器中。当解码时,根据示例性实施方式,SEI消息中用于表示神经网络的所有级联的数据块由神经网络库或解码器拼接和使用。
在示例实施方式中,比特流可能需要携带多个NN拓扑及其参数,其中,比特流具有利用NN信息的多个应用,或者应用利用多个NN。例如,JVET-U0087对应用使用三个NN模型。为了应对三个NN模型,允许比特流包含携带NN拓扑及其参数的多个SEI消息。一组NN拓扑和参数可以包含在带中,而其他NN拓扑和参数在带外传输。NN标识符可以用于指示针对每个应用的相关联NN。当NN推理处理利用多个NN时,每个图片或块可能使用不同的NN拓扑及其参数。在这种情况下,每个图片或块都有其自己的NN标识符和开/关标志。
图12是NN推理输出的块级选择的示例。图12示出了应用于每个块的不同的NN推理处理。根据实施方式,可以通过不同的NN推理处理对NN处理的输入图片1200进行处理。例如,在图12中示出了三个不同的NN推理处理的输出图片1201、1202和1203。实施方式可以包括更多或更少的NN推理处理。为了应对应用于每个块的不同的NN推理处理,实施方式提出使用另一SEI消息来承载多个NN的图片/块级适配信息,致使输出图片1204具有来自不同推理处理的输出图片(1201、1202、1203)的块级选择。现在将描述根据实施方式的作出块级选择决策处理的示例模型。
图13是基于图片/块级模型中的率失真优化(RDO)的模型决策处理的流程图。
图13的模型决策处理包括图片/块级模型决策模块1300、块大小决策1310、图片级模型决策1320、块级模型决策1330、图片/块大小决策1340、块级开/关决策650以及图片级开/关决策1360。
所有的RDO决策处理都是通过从较高级到较低级的递归调用处理来执行的。例如,在最高级(即,图片/块级模型决策模块1300)处,在图片级模型决策1320或块级模型决策1330之间选择最佳模式。为了确定在块级模型决策1330或图片级模型决策1320之间哪种模式是最佳的,调用较低级的处理。对于块级模型决策1330,块大小决策1310比较各种块大小。为了选择最佳块大小,基于率失真(Rate-Distortion,RD)成本将多个块级模型彼此进行比较。一旦选择了最佳块级模型,就可以计算每个块大小的块级模型的最小成本。然后,通过比较各种块大小的最小成本,可以计算出块级模型模式的最小成本。类似地,可以通过递归和分层调用处理来计算图片级模型模式的最小成本:将图片/块分割为各种大小的图片/块大小决策1340、块级开/关决策1350以及图片级开/关决策1360。
本公开内容的实施方式提出,用于输出和显示的重建图片可以不同于用于运动补偿预测的重建图片。可以将第一组滤波(包括基于NN的滤波)应用于重建图片以创建用于输出的版本。当执行运动补偿时,通过将第二组滤波(包括基于NN的滤波)应用于存储在解码图片缓冲器(Decoded Picture Buffer,DPB)中的图片来创建参考图片。
现在将描述用于利用神经网络进行时间滤波的框架的方法和装置。
图14是根据实施方式的NN处理的装置的图。
如图14所示,该装置包括解码CTU(Coding Tree Unit,CTU)模块1400、去块滤波模块1410、基于NN的第一滤波模块1420、解码图片缓冲器(DPB)1330、基于NN的第二滤波模块1440和运动补偿模块1450。
实施方式的基于NN的时间处理包括两个阶段:基于NN的重建处理和基于NN的预测处理。给定编解码器比特流作为输入,在解码CTU模块1400中对编解码器比特流进行解码。在去块滤波模块1410中的去块处理之后立即由基于NN的第一滤波模块1420处理基于NN的第一重建滤波器,以改进解码图片的细节以获得具有更好视觉质量的输出图片。前向参考图片和后向参考图片用于网络推理处理。在解码图片被存储在解码图片缓冲器(DPB)1430中之后,基于NN的第二滤波模块1340将解码图片修改为参考像素值,以便按照解码顺序更好地预测以下图片。当执行运动补偿时,在运动补偿模块1450中执行运动补偿预测处理。将运动补偿模块1450的输出与解码CTU模块1400的解码输出组合并发送至去块滤波模块1410。该处理可以从此处继续描述。
图15A示出了两个NN推理处理的比较:基于NN的重建处理1510和基于NN的预测处理1520。基于NN的重建处理和基于NN的预测处理两者都采用相同的网络模型1500,但是具有不同的训练参数。
图15B是网络模型1500的框图。网络模型包括用于空间和时间优化的PCD(PyramidCascading and Deformable,金字塔、级联和可变形)对准模块1530以及用于应用注意力以强调重要特征以用于后续恢复的TSA(Temporal and Spatial Attention,时间和空间注意力)融合模块1540。
基于NN的重建处理1510是基于NN的重建滤波器,其已经通过使当前图片的重建像素值与原始像素值之间的误差最小化来训练。基于当前解码图片和存储在解码图片缓冲器(DPB)1430中的两个参考图片(一个前向参考和一个后向参考)生成输出图片。输出图片是具有融合时间特征的增强图片。输出图片(重建图片)存储在解码图片缓冲器中,并且用作参考图片之一以生成下一个增强输出图片。基于NN的预测处理1520是预测滤波器,其已经被训练成使按照解码顺序的后续图片的像素值与参考像素值之间的误差最小化。通过基于NN的预测处理对参考图片进行滤波以更新参考图片。更新后的参考图片存储在解码图片缓冲器中。
现在将描述根据实施方式的用于承载NN信息的SEI消息的示例。尽管示例假设在一个或更多个SEI消息中用信号通知语法元素和参数,但是任何参数集(例如,SPS(Sequence Paramater Set,SPS)、PPS(Picture Parameter Set,PPS)、APS(AdaptiveParamater Set,APS))、文件格式的任何元数据轨道或任何有效载荷类型都可以携带相同或经稍微修改的语法元素和参数。
现在将描述根据实施方式的神经网络(NN)拓扑和参数SEI消息语法的示例。图16表示关于NN拓扑和参数SEI消息及其语法的方面的示例性流程图1600。
根据实施方式,这样的语法可以在下面的表1中表示:
表1
Figure BDA0003950816410000191
Figure BDA0003950816410000201
Figure BDA0003950816410000211
nn_id提供针对神经网络的标识符。
nn_partition_flag等于0指定表示网络拓扑的所有数据和经训练的参数都包括在SEI消息中,而nn_partition_flag等于1指定表示网络拓扑的数据和经训练的参数被分割为多个SEI消息。
nn_output_pic_format_present_flag等于0指定指示输出图片格式的语法元素不存在于SEI消息中,并且神经网络推理处理的输出图片格式与解码器的输出图片格式相同,而nn_output_pic_format_present_flag等于1指定指示输出图片格式的语法元素存在于SEI消息中。
nn_postfilter_type_idc指定由SEI消息表示的神经网络的后滤波器类型,如下面的表2(NN后滤波器类型)所指定的。
表2
nn_postfilter_type_idc 后滤波类型
0 在单个输入图片的情况下的视觉质量改进
1 在多个输入图片的情况下的视觉质量改进
2 在单个输入图片的情况下的超分辨率
3 在多个输入图片的情况下的超分辨率
4..15 保留
num_nn_input_ref_pic指定输入参考图片的数目。num_nn_input_ref_pic等于0指定解码器的当前输出图片是神经网络的唯一输入数据,而num_nn_input_ref_pic大于0指定作为神经网络的输入数据使用的参考图片的数目为num_nn_input_ref_pic-1。
num_partitioned_nn_sei_messages指定基于神经网络的后滤波SEI消息的数目以表示整个神经网络拓扑及相应参数,并且当不存在时,num_partitioned_nn_sei_messages的值推断为等于1。
nn_sei_message_idx指定SEI消息中携带的部分神经网络数据的索引,并且当不存在时,nn_sei_message_idx的值推断为等于0。
鉴于上述语法,流程图1600表示,在S1601处,可以初始化后滤波器并生成或获得数据S1602,使得在S1103处,然后可以确定是否存在信息标志例如network_topology_info_external_present_flag,使得如果存在信息标志,则可以获得包括S1604处的external_nn_topology_info_format_idc、S1605处的num_bytes_external_network_topology_uri_info、S1606处的external_nn_topology_uri_info的数据,否则可以在S1607处进行检查以接收network_topology_info(input)。
也就是说,根据示例性实施方式,nn_topology_info_external_present_flag等于0指定神经网络拓扑表示的数据包含在SEI消息中,而nn_topology_info_external_present_flag等于1指定神经网络拓扑表示的数据可能存在于外部,并且SEI消息仅包含外部链接信息。
诸如S1604处的external_nn_topology_info_format_idc可以指定神经网络拓扑表示的外部存储格式,如下面的表3(外部NN拓扑信息格式标识符)所指定的:
表3
external_nn_topology_info_format_idc 存储格式
0 无法识别的存储格式
1 NNEF
2 ONNX
3..15 保留
诸如S1605处的num_bytes_external_network_topology_uri_info指定语法元素external_network_topology_uri_info的字节数。
诸如在S1606处的external_nn_topology_uri_info指定外部神经网络拓扑信息的URI信息。语法元素的长度可以是Ceil(Log2(num_bytes_external_nn_topology_uri_info))个字节。
诸如在S1607处的network_topology_info(input)可能涉及根据以下表4的处理。
表4
Figure BDA0003950816410000231
Figure BDA0003950816410000241
例如,参见图17的示例性流程图1700,在该示例性流程图1700中,在S1701处确定存在根据network_topology_info(input)的处理,该处理可以继续进行至生成或获得以下中的一项或更多项:S1702处的nn_topology_storage_format_idc、S1703处的nn_topology_compression_format_idc、S1704处的num_bytes_topology_data,以及在S1705处确定是否存在nn_top_format_idc>0。如果在S1705处确定nn_top_format_idc>0,则在S1706处,在S1706处获得nn_topology_data_byte[I]。
诸如S1702处的nn_topology_storage_format_idc指定神经网络拓扑表示的存储格式,如下面的表5(NN拓扑存储格式标识符)所指定的:
表3
nn_topology_storage_format 存储格式
0 无法识别的存储格式
1 NNEF
2 ONNX
3..15 保留
诸如S1703处的nn_topology_compression_format_idc指定神经网络拓扑的压缩格式,如下面的表6(NN拓扑压缩格式标识符)所指定的。
表4
nn_topology_compression_format_idc 压缩格式
0 未压缩
1 ZLIB压缩数据格式
2..15 保留
诸如S1704处的num_bytes_topology_data指定包含在该SEI消息中的神经网络拓扑有效载荷的字节数。
诸如S1706处的nn_topology_data_byte[I]指定神经网络拓扑有效载荷的第i字节。
诸如S1708处的num_variables指定可以用于执行该SEI消息指定的神经网络中的操作节点的变量的数目。
诸如S1709处的num_node_types指定可以用于执行该SEI消息指定的神经网络中的操作节点的操作节点类型的数目。
诸如S1710处的num_operation_node_executions指定利用该SEI消息指定的神经网络的输入变量的操作节点执行的次数。
返回至图16的流程图1610,在S1608处,可以确定是否存在network_parameter_info_external_present_flag,并且如果存在,可以生成或获得S1609处的external_network_parameter_info_format_idc、S1610处的num_bytes_external_network_parameter_uri_info以及S1611处的external_nn_parameter_uri_info;否则,在S1612处,可以获得或生成network_parameter_info(input)。
诸如S1608处的network_parameter_info_external_present_flag等于0指定神经网络参数的数据被约束在SEI消息中,而这样的network_parameter_info_external_present_flag等于1指定神经网络参数的数据可能存在于外部,并且SEI消息仅包含外部链接信息。
S1609处的external_network_parameter_info_format_idc指定神经网络参数的外部存储格式,如下面的表7(外部NN参数存储格式标识符)所指定的:
表5
external_network_parameter_info_format_idc 存储格式
0 无法识别的存储格式
1 NNEF
2 ONNX
3 MPEG-NNR
4..15 保留
S1610处的num_bytes_external_network_parameter_uri_info指定语法元素external_network_parameter_uri_info的字节数。
S1611处的external_nn_parameter_uri_info指定外部神经网络参数的URI信息。语法元素的长度是Ceil(Log2(num_bytes_external_network_parameteruri_info))个字节。
诸如S1612处的network_parameter_info(input)表示表8的以下处理:
表6
Figure BDA0003950816410000271
如在图18中的流程图1800中,在S1801——其也表示图16中的S1612——处确定network_parameter_info(input)涉及获得或以其他方式生成S1802处的nn_parameter_type_idc、S1803处的nn_parameter_storage_format_idc、S1804处的nn_parameter_compression_format_idc、S1805处的num_bytes_parameter_data以及S1806处的nn_parameter_data_byte。
诸如S1802处的nn_parameter_type_idc指定神经网络参数的数据有效载荷类型,如下面的表9(NN参数有效载荷类型)所指定的:
表7
nn_parameter_type_idc 参数类型
0 整数
1 浮标
2..15 保留
诸如S1703处的nn_parameter_storage_format_idc指定神经网络参数的存储格式,如下面的表10(NN参数存储格式标识符)所指定的:
表8
nn_parameter_storage_format_idc 存储格式
0 无法识别的存储格式
1 NNEF
2 ONNX
3 MPEG-NNR
4..15 保留
诸如S1804处的nn_parameter_compression_format_idc指定神经网络参数的压缩格式,如下面的表11(NN拓扑压缩格式标识符)所指定的:
表9
topology_compression_format_idc 压缩格式
0 未压缩
1 ZLIB压缩数据格式
2..15 保留
诸如S1805处的num_bytes_parameter_data指定包含在该SEI消息中的神经网络参数有效载荷的字节数。
诸如S1806处的nn_parameter_data_byte指定神经网络参数有效载荷的第i字节。
返回至图16,在S1613处,该处理可以继续进行至诸如图19的流程图1900的S1901,在S1901中,可以确定是否存在network_input_pic_format_present_flag,当存在时,可以生成或获得S1902处的nn_input_chroma_format_idc、S1903处的nn_input_bitdepth_minus8、1904处的nn_input_pic_width、S1905处的nn_input_pic_height,以及在S1906处确定是否存在nn_patch_size_present_flag,并且如果存在,则获得或生成S1907处的nn_input_patch_width、S1908处的nn_input_patch_height和S1909处的nn_boundary_padding_idc。
诸如S1901处的network_input_pic_format_present_flag等于0指定指示输入图片格式的语法元素不存在于SEI消息中,并且神经网络推理处理的输入图片格式与解码器的输出图片格式相同。nn_input_pic_format_present_flag等于1指定指示输入图片格式的语法元素存在于SEI消息中。
S1902处的nn_input_chroma_format_idc可以根据以下表12(色度格式标识符)指定相对于亮度采样的色度采样:
表10
nn_input_chroma_format_idc 色度格式
0 单色
1 4:2:0
2 4:2:2
3 4:4:4
诸如S1903处的nn_input_bitdepth_minus8(或nn_input_bitdepth_plus 8)指定神经网络的输入图片中的亮度样本和色度样本的位深度。
诸如1904处的nn_input_pic_width指定输入图片的宽度。
诸如S1905处的nn_input_pic_height指定输入图片的高度。
诸如S1906处的nn_patch_size_present_flag等于0指定图块大小等于输入图片大小。nn_patch_size_present_flag等于1指定明确地用信号通知图块大小。
诸如S1907处的nn_input_patch_width指定用于神经网络推理处理的图块的宽度。
诸如S1908处的nn_input_patch_height指定用于神经网络推理处理的图块的高度。
诸如S1909处的nn_boundary_padding_idc指定当图块大小不同于输入图片大小时,例如根据以下表13(边界填充标识符):j应用于图块的边界的填充方法:
表11
nn_boundary_padding_idc 填充类型
0 最近邻副本
1..3 保留
返回至图16,在S1613处,该处理还可以并行或串行地继续进行至图19的流程图1900和图20的流程图2000,其中在S2001处可以确定是否存在num_network_input_ref_pic>0。如果存在,则可以获得或生成S2002处的num_fwd_ref_pics_as_input,在S2003处确定是否存在NumFwdRefPics>0的指示,以及在S2006处确定是否存在NumBwdRefPics>0的指示。此外,如果在S2003处确定存在NumFwdRefPics>0的指示,则可以确定S2004处的nearest_fwd_ref_pics_as_input以及S2005处的poc_dist_fwd_ref_pic[i]。此外,如果在S2003处确定存在NumBwdRefPics>0的指示,则可以确定S2007处的nearest_bwd_ref_pics_as_input以及S2008处的poc_dist_bwd_ref_pic[i]。
诸如S2002处的num_fwd_ref_pics_as_input指定用作神经网络的输入数据的前向参考图片的数目,例如如果(num_nn_input_ref_pic>0)则(NumFwdRefPics=num_fwd_ref_pics_as_input)否则(NumFwdRefPics=0)。
诸如S2004处的nearest_fwd_ref_pics_as_input指定距当前图片具有最小图片顺序计数距离的最近的前向参考图片用作神经网络的输入数据。
诸如S2005处的poc_dist_fwd_ref_pic[i]指定用作神经网络的输入数据的第i前向参考图片的图片顺序计数值。第i前向参考图片的图片顺序计数值等于当前图片的图片顺序计数值减去poc_dist_fwd_ref_pic[i]。
诸如S2007处的nearest_bwd_ref_pics_as_input指定用作神经网络的输入数据的后向参考图片的数目,使得如果(num_nn_input_ref_pic>0)则(NumBwdRefPics=num_bwd_ref_pics_as_input)否则(NumBwdRefPics=0)。
诸如S2008处的poc_dist_bwd_ref_pic[i]指定用作神经网络的输入数据的第i后向参考图片的图片顺序计数值。第i后向参考图片的图片顺序计数值等于当前图片的图片顺序计数值加上poc_dist_bwd_ref_pic[i]。
此外,作为注释,诸如上面的表1中的nearest_bwd_ref_pics_used_flag指定距当前图片具有最小图片顺序计数距离的最近的后向参考图片用作神经网络的输入数据。
可以例如利用图21的流程图2100来实现附加操作,在流程图2100中,在S2101处存在define_operation_node(i),将存在迭代地定义以下的操作:S2102处的nn_operation_class_idc[i]、以及S2103处的nn_operation_function_idc[i]、S2104处的num_input_variables[i]以及S2105处的num_output_variables[i]。
诸如S2102处的nn_operation_class_idc[i]指定第i操作节点的类,如下面的表14(NN操作函数)所指定的:
表12
nn_operation_class_idc 操作类
1 卷积/反卷积
2 滤波
3 上下采样
4 汇集
5 逐元素操作
6 重塑
7 激活
8 量化
9..255 保留
诸如S2103处的nn_operation_function_idc[i]指定第i操作节点的函数,如下面的表15(NN操作函数,nn_operation_class_idc等于7的示例表15(激活函数))所指定的:
表13
Figure BDA0003950816410000321
诸如S2104处的num_input_variables[i]指定第i操作节点的输入变量的数目。
诸如S2105处的num_output_variables[i]指定第i操作节点的输出变量的数目。
关于图15的语法可以由以下表16表示:
表14
Figure BDA0003950816410000331
可以例如利用图22的流程图2200来实现附加操作,在流程图2200中,在S2201处存在operation_node_execution(i),将存在迭代地定义以下的操作:S2202处的nn_op_node_idx[i]以及S2203处的nn_input_variable_idx[i][j]、S2204处的nn_output_variable_idx[i][j]。
诸如S2202处的nn_op_node_idx[i]指定第i操作节点执行的操作节点的索引。对于本次执行使用第nn_op_node_idx[i]操作节点。
诸如S2203处的nn_input_variable_idx[i][j]指定第i操作节点执行的第j输入变量的变量索引。
诸如S2204处的nn_output_variable_idx[i][j]指定第i操作节点执行的第j输出变量的变量索引。
关于图22的语法可以由以下表17表示:
表15
Figure BDA0003950816410000341
附加处理可能涉及例如利用图21,诸如根据表18的以下语法,迭代地定义变量(i):
表16
Figure BDA0003950816410000342
查看表16,nn_variable_class_idc[i]指定神经网络中第i变量的变量类,如下面的表19(NN变量类)所指定的:
表17
nn_variable_class_idc 变量类型
0 未指定
1 输入
2 输出
3 中间变量
4
5 偏置
6 常量
7..15 保留
根据示例性实施方式,可以确定当nn_variable_class_idc等于1时,变量为神经网络的输入数据;当nn_variable_class_idc等于2时,变量为神经网络的输出数据;当nn_variable_class_idc等于3时,变量为操作节点之间的中间数据;以及当nn_variable_class_idc等于4时,变量为经预训练或预定义的常量数据。
此外,查看表16,nn_variable_type_idc[I]指定神经网络中第i变量的变量类型,如下面的表20(NN变量类型)所指定的:
表18
nn_parameter_type_idc 参数类型
0 整数
1 浮标
2..15 保留
根据示例性实施方式,表16的nn_variable_dimensions[I]指定第i变量的维度的数目,并且此外,nn_variable_dimension_size[I][j]指定第i变量的第j维度的大小。作为注释,根据示例性实施方式,当第i变量为颜色分量的数目、宽度和高度分别为3、1920和1080的输入数据时,分别为:nn_variable_class_idc[i]等于1,nn_variable_dimensions[I]等于3,nn_variable_dimension_size[I][0]等于3,nn_variable_dimension_size[I][1]等于1920以及nn_variable_dimension_size[I][2]等于1080。
现在将描述根据实施方式的神经网络推理处理SEI消息语法的示例。
根据实施方式,这样的语法可以在下面的表21中表示:
表21
Figure BDA0003950816410000361
Figure BDA0003950816410000371
num_nn_models_minus1加1指定用于图片的神经网络模型的数目。
nn_used_id[i]指示用于图片的第i神经网络模型的标识符。
nn_pic_width_in_luma_samples指定以亮度样本为单位的与该SEI消息相关联的每个解码图片的宽度,并且nn_pic_height_in_luma_samples指定以亮度样本为单位的与该SEI消息相关联的每个解码图片的高度。
nn_num_block_rows_minus1加1指定块行高的数目。在实施方式中,nn_num_block_rows_minus1的值可以在0到nn_pic_height_in_luma_samples-1(包括端点)的范围内。nn_num_block_columns_minus1加1指定块列宽的数目。在实施方式中,nn_num_block_columns_minus1的值可以在0到nn_pic_width_in_luma_samples-1(包括端点)的范围内。
nn_block_column_width_minus1[i]加1指定以亮度样本为单位的第i块的宽度。在实施方式中,nn_block_column_width_minus1[i]的值可以在0到nn_pic_width_in_luma_samples-1(包括端点)的范围内。nn_block_row_height_minus1[i]加1指定以亮度样本为单位的第i块的高度。在实施方式中,nn_block_row_height_minus1[i]的值可以在0到nn_pic_height_in_luma_samples-1(包括端点)的范围内。
上面描述的技术可以实现为使用计算机可读指令的计算机软件并且物理地存储在一个或更多个计算机可读介质中,或者可以通过特别配置的一个或更多个硬件处理器来实现。例如,图23示出了适于实现所公开的主题的某些实施方式的计算机系统2300。
可以使用任何合适的机器代码或计算机语言来编码计算机软件,所述机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由计算机中央处理单元(Central Processing Unit,CPU)、图形处理单元(Graphics ProcessingUnit,GPU)等直接执行或者通过解释、微代码执行等来执行。
指令可以在各种类型的计算机或其部件上执行,所述计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图23所示的用于计算机系统2300的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式中的计算机软件的使用范围或功能进行任何限制。部件的配置也不应当被解释为具有与计算机系统2300的示例性实施方式中示出的部件中的任一部件或部件组合有关的任何依赖性或要求。
计算机系统2300可以包括某些人机接口输入设备。这样的人机接口输入设备可以对由一个或更多个人类用户通过例如触觉输入(例如:键击、滑动、数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:姿势)、嗅觉输入实现的输入作出响应。人机接口设备还可以用于捕获不一定与人类的意识输入直接相关的某些介质,例如音频(诸如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括下述中的一个或更多个(每者仅描绘一个):键盘2301、鼠标2302、触控板2303、触摸屏2310、操纵杆2305、麦克风2306、扫描仪2308、摄像装置2307。
计算机系统2300还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏2310或操纵杆2305的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器2309、头戴式耳机)、视觉输出设备(例如,包括阴极射线管(Cathode Ray Tube,CRT)屏幕、LCD(Liquid Crystal Display,LCD)屏幕、等离子屏幕、OLED(Organic Light-emittingDiode,OLED)屏幕的屏幕2310,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些可能能够例如使用立体图像输出、虚拟现实眼镜、全息显示器和烟罐以及打印机输出二维视觉输出或三维以上的输出。
计算机系统2300还可以包括人类可访问存储设备及其相关联的介质,例如,包括具有CD/DVD 2311等介质的CD/DVD ROM(Read Only Memory,ROM)/RW(Read Write,RW)2320的光学介质、拇指驱动器2322、可移除硬盘驱动器或固态驱动器2323、诸如磁带和软盘的传统磁性介质、基于专用ROM/ASIC(Application Specific Integrated Circuit,ASIC)/PLD(Programmable Logic Device,PLD)的设备诸如安全加密狗等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其他暂态信号。
计算机系统2300还可以包括到一个或更多个通信网络2398的接口2399。网络1898可以例如为无线的、有线的、光学的。网络2398还可以为局域的、广域的、城域的、车辆的和工业的、实时的、延迟容忍的等。网络2398的示例包括:诸如以太网的局域网;无线LAN(Local Area Network,LAN);包括GSM(Global System for Mobile Communications,GSM)、3G(the Third Generation,3G)、4G(the Fourth Generation,4G)、5G(the FifthGeneration,5G)、LTE(Long Term Evolution,LTE)等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络;包括CAN(Controller Area Network,CAN)总线的车辆和工业网络等。某些网络2398通常使用外部网络接口适配器,该外部网络接口适配器附接至某些通用数据端口或外围总线(2350和2351)(诸如,例如计算机系统2300的USB(Universal Serial Bus,USB)端口);其他网络通常通过附接至如下所述的系统总线(例如,到PC计算机系统的以太网接口或者到智能电话计算机系统的蜂窝网络接口)而集成至计算机系统2300的核中。使用这些网络2398中的任何网络,计算机系统2300可以与其他实体通信。这样的通信可以为单向仅接收的(例如,广播电视)、单向仅发送的(例如,到某些CAN总线设备的CAN总线)、或者双向的,例如使用局域数字网络或广域数字网络到其他计算机系统。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
以上提及的人机接口设备、人类可访问的存储设备和网络接口可以附接至计算机系统2300的核2340。
核2340可以包括一个或更多个中央处理单元(CPU)2341、图形处理单元(GPU)2342、图形适配器1817、呈现场可编程门阵列(Field Programmable Gate Area,FPGA)2343形式的专用可编程处理单元、用于某些任务的硬件加速器2344等。这些设备连同只读存储器(ROM)2345、随机存取存储器2346、内部大容量存储装置诸如内部非用户可访问硬盘驱动器、SSD等2347可以通过系统总线2348连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线2348,以使得能够通过附加的CPU、GPU等进行扩展。外围设备可以直接地或通过外围总线2351附接至核的系统总线2348。外围总线的架构包括PCI(Peripheral Component Interconnect,PCI)、USB等。
CPU 2341、GPU 2342、FPGA2343和加速器2344可以执行某些指令,这些指令可以组合构成以上提及的计算机代码。该计算机代码可以存储在ROM 2345或RAM(Random AccessMemory,RAM)2346中。过渡数据也可以存储在RAM 2346中,而永久数据可以存储在例如内部大容量存储装置2347中。可以通过使用缓存存储器来实现对存储器设备中的任何存储器设备的快速存储和检索,该缓存存储器可以与一个或更多个CPU2341、GPU 2342、大容量存储装置2347、ROM 2345、RAM 2346等紧密关联。
计算机可读介质上可以具有计算机代码以用于执行各种计算机实现的操作。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。
作为示例而非通过限制的方式,具有架构的计算机系统2300并且特别是核2340可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以为与如以上所介绍的用户可访问的大容量存储装置相关联的介质,以及核2340的具有非暂态性质的某些存储装置,例如核内部大容量存储装置2347或ROM 2345。可以在这样的设备中存储实现本公开内容的各种实施方式的软件并且由核2340执行所述软件。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核2340并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文描述的特定处理或特定处理的特定部分,包括限定存储在RAM2346中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或替选地,计算机系统可以由于逻辑硬连线或以其他方式体现在电路(例如:加速器2344)中而提供功能,该电路可以代替软件或者与软件一起操作以执行本文描述的特定处理或特定处理的特定部分。在适当的情况下,提及的软件可以包含逻辑,反之,提及的逻辑也可以包含软件。在适当的情况下,提及的计算机可读介质可以包含存储用于执行的软件的电路(例如,集成电路(IntegratedCircuit,IC))、体现用于执行的逻辑的电路或者上述两者。本公开内容包含硬件与软件的任何合适的组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容范围内的改变、置换和各种替代等同内容。因此将理解,本领域技术人员能够设想出多种系统和方法,虽然这些系统和方法在本文没有明确示出或描述,但是体现了本公开内容的原理并且因此落入本公开内容的精神和范围内。

Claims (20)

1.一种用于视频编码的方法,所述方法由至少一个处理器执行,所述方法包括:
获得输入视频流;
基于所述输入视频流使用神经网络来生成已编码视频比特流,所述已编码视频比特流包括多个辅助增强信息(SEI)消息和块;
确定与所述神经网络相关联的多个神经网络拓扑信息;以及
在与所述已编码视频比特流相关联的多个语法元素中用信号通知所确定的多个神经网络拓扑信息。
2.根据权利要求1所述的方法,
其中,所述多个辅助增强信息(SEI)消息中的每一个都携带所确定的多个神经网络拓扑信息之一;并且
其中,第二多个SEI消息存储用于所述多个神经网络拓扑信息的图片和块级自适应信息。
3.根据权利要求1所述的方法,其中,经由所述多个辅助增强信息(SEI)消息、参数集和元数据容器盒中的一个或更多个用信号通知所述多个语法元素。
4.根据权利要求3所述的方法,
其中,所述神经网络包括多个操作节点,并且
其中,生成所述已编码视频比特流包括:
将与所述输入视频流对应的输入张量数据馈送至所述操作节点中的第一操作节点中;
利用经预训练的常量和变量中的任一者来处理所述输入张量数据;以及
输出中间张量数据,
其中,所述中间张量数据包括所述输入张量数据与经训练的常量和更新的变量中的任一者的加权求和。
5.根据权利要求1所述的方法,还包括使用所述SEI消息中的标识符,针对所述已编码视频比特流的每个块识别所述多个神经网络拓扑信息中的相关联的神经网络拓扑信息,
其中,每个块使用所述多个神经网络拓扑信息中的不同神经网络拓扑信息,并且每个块包括所述标识符和开/关标志。
6.根据权利要求1所述的方法,其中,用信号通知所确定的多个拓扑信息包括自适应地选择图片级模型或块级模型之一。
7.根据权利要求6所述的方法,
其中,自适应地选择所述图片级模型包括:
将图片分割成具有各种大小的分割图片;
计算针对所述分割图片中的每一个的图片级模型的最小成本;以及
选择具有最小第一率失真(RD)成本的图片级模型,并且
其中,自适应地选择所述块级模型包括:
基于所述块的失真率来比较块大小和一个或更多个块级模型;
计算针对每个块大小的块级模型的最小成本;
选择具有最小第二率失真(RD)成本的块级模型,并且
其中,所述方法还包括基于所述第一RD成本和所述第二RD成本来选择针对所选择的块级模型的开/关标志的状态以及针对所选择的图片级模型的开/关标志的状态。
8.根据权利要求1所述的方法,其中,通过神经网络交换格式(NNEF)、开放神经网络交换(ONNX)格式和MPEG神经网络压缩标准(NNR)格式中的至少一种来明确地用信号通知所述多个神经网络拓扑信息。
9.根据权利要求8所述的方法,其中,通过以下对所述神经网络进行训练:
使用去块滤波器来执行所述已编码视频比特流的去块;
使用基于神经网络的重建滤波器来生成重建输出,并且将所述重建输出存储在缓冲器中;以及
基于前向参考图片和后向参考图片,使用基于神经网络的预测滤波器来更新所述重建输出的参考像素值,并且
其中,所述基于神经网络的重建滤波器和所述基于神经网络的预测滤波器采用具有不同的训练参数的相同的网络模型。
10.根据权利要求9所述的方法,
其中,通过使所述重建输出的参考像素值与当前图片的像素值之间的误差最小化来对所述基于神经网络的重建滤波器进行训练;并且
其中,通过使所述重建输出的参考像素值与解码顺序的下一图片的像素值之间的误差最小化来对所述基于神经网络的预测滤波器进行训练。
11.一种用于视频编码的装置,所述装置包括:
至少一个存储器,其被配置成存储程序代码;以及
至少一个处理器,其被配置成读取所述程序代码并且按照由所述程序代码所指示的进行操作,所述程序代码包括:
获得代码,其被配置成使所述至少一个处理器获得输入视频流;
编码代码,其被配置成使所述至少一个处理器基于所述输入视频流使用神经网络来生成已编码视频比特流,所述已编码视频比特流包括多个辅助增强信息(SEI)消息和块;
确定代码,其被配置成使所述至少一个处理器确定与所述神经网络相关联的多个神经网络拓扑信息;以及
信号通知代码,其被配置成使所述至少一个处理器在与所述已编码视频比特流相关联的多个语法元素中用信号通知所确定的多个神经网络拓扑信息。
12.根据权利要求11所述的装置,
其中,所述多个辅助增强信息(SEI)消息中的每一个都携带所确定的多个神经网络拓扑信息之一;并且
其中,第二多个SEI消息存储用于所述多个神经网络拓扑信息的图片和块级自适应信息。
13.根据权利要求11所述的装置,其中,经由所述多个辅助增强信息(SEI)消息、参数集和元数据容器盒中的一个或更多个用信号通知所述多个语法元素。
14.根据权利要求13所述的装置,
其中,所述神经网络包括多个操作节点,并且
其中,生成所述已编码视频比特流包括:
将与所述输入视频流对应的输入张量数据馈送至所述操作节点中的第一操作节点中;
利用经预训练的常量和变量中的任一者来处理所述输入张量数据;以及
输出中间张量数据,
其中,所述中间张量数据包括所述输入张量数据与经训练的常量和更新的变量中的任一者的加权求和。
15.根据权利要求11所述的装置,其中,所述程序代码还包括识别代码,所述识别代码被配置成使所述至少一个处理器使用所述SEI消息中的标识符,针对所述已编码视频比特流的每个块识别所述多个神经网络拓扑信息中的相关联的神经网络拓扑信息,
其中,每个块使用所述多个神经网络拓扑信息中的不同神经网络拓扑信息,并且每个块包括所述标识符和开/关标志。
16.根据权利要求11所述的装置,其中,用信号通知所确定的多个拓扑信息包括自适应地选择图片级模型或块级模型之一;
其中,自适应地选择所述图片级模型包括:
分割代码,其被配置成使所述至少一个处理器将图片分割成具有各种大小的分割图片;
第一计算代码,其被配置成使所述至少一个处理器计算针对所述分割图片中的每一个的图片级模型的最小成本;以及
图片级选择代码,其被配置成使所述至少一个处理器选择具有最小第一率失真(RD)成本的图片级模型,并且
其中,自适应地选择所述块级模型包括:
比较代码,其被配置成使所述至少一个处理器基于所述块的失真率来比较块大小和一个或更多个块级模型;
第二计算,其被配置成使所述至少一个处理器计算针对每个块大小的块级模型的最小成本;
块级选择代码,其被配置成使所述至少一个处理器选择具有最小第二率失真(RD)成本的块级模型,以及
选择代码,其被配置成使所述至少一个处理器基于所述第一RD成本和所述第二RD成本来选择针对所选择的块级模型的开/关标志的状态以及针对所选择的图片级模型的开/关标志的状态。
17.根据权利要求11所述的装置,
其中,通过神经网络交换格式(NNEF)、开放神经网络交换(ONNX)格式和MPEG神经网络压缩标准(NNR)格式中的至少一种来明确地用信号通知所述多个神经网络拓扑信息。
18.根据权利要求17所述的装置,
其中,通过以下对所述神经网络进行训练:
使用去块滤波器来执行所述已编码视频比特流的去块;
使用基于神经网络的重建滤波器来生成重建输出,并且将所述重建输出存储在缓冲器中;以及
基于前向参考图片和后向参考图片,使用基于神经网络的预测滤波器来更新所述重建输出的参考像素值,并且
其中,所述基于神经网络的重建滤波器和所述基于神经网络的预测滤波器采用具有不同的训练参数的相同的网络模型。
19.根据权利要求18所述的装置,
其中,通过使所述重建输出的参考像素值与当前图片的像素值之间的误差最小化来对所述基于神经网络的重建滤波器进行训练;并且
其中,通过使所述重建输出的参考像素值与解码顺序的下一图片的像素值之间的误差最小化来对所述基于神经网络的预测滤波器进行训练。
20.一种存储有指令的非暂态计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行以下操作:
获得输入视频流;
基于所述输入视频流使用神经网络来生成已编码视频比特流,所述已编码视频比特流包括多个辅助增强信息(SEI)消息和块;
确定与所述神经网络相关联的多个神经网络拓扑信息;以及
在与所述已编码视频比特流相关联的多个语法元素中用信号通知所确定的多个神经网络拓扑信息。
CN202180036341.2A 2021-04-12 2021-10-13 用于在视频流中用信号通知神经网络拓扑、参数和处理信息的技术 Pending CN115668914A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163173925P 2021-04-12 2021-04-12
US63/173,925 2021-04-12
US17/499,007 US11647216B2 (en) 2021-04-12 2021-10-12 Techniques for signaling neural network topology, parameters, and processing information in video stream
US17/499,007 2021-10-12
PCT/US2021/054741 WO2022220866A1 (en) 2021-04-12 2021-10-13 Techniques for signaling neural network topology, parameters, and processing information in video stream

Publications (1)

Publication Number Publication Date
CN115668914A true CN115668914A (zh) 2023-01-31

Family

ID=83602796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180036341.2A Pending CN115668914A (zh) 2021-04-12 2021-10-13 用于在视频流中用信号通知神经网络拓扑、参数和处理信息的技术

Country Status (6)

Country Link
US (1) US11647216B2 (zh)
EP (1) EP4118821A4 (zh)
JP (1) JP2023527144A (zh)
KR (1) KR20220155360A (zh)
CN (1) CN115668914A (zh)
WO (1) WO2022220866A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220337853A1 (en) * 2021-04-07 2022-10-20 Lemon Inc. On Neural Network-Based Filtering for Imaging/Video Coding
WO2023132765A1 (en) * 2022-01-04 2023-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Filtering for image encoding and decoding
CN117411875A (zh) * 2023-12-14 2024-01-16 国网浙江省电力有限公司 一种电力数据传输系统、方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2661879B1 (en) * 2011-01-03 2019-07-10 HFI Innovation Inc. Method of filter-unit based in-loop filtering
US20130142251A1 (en) * 2011-12-06 2013-06-06 Sony Corporation Syntax extension of adaptive loop filter in hevc
WO2019009448A1 (ko) * 2017-07-06 2019-01-10 삼성전자 주식회사 영상을 부호화 또는 복호화하는 방법 및 장치
US11282172B2 (en) * 2018-12-11 2022-03-22 Google Llc Guided restoration of video data using neural networks
CN114746870A (zh) * 2019-10-02 2022-07-12 诺基亚技术有限公司 用于神经网络压缩中优先级信令的高级语法
EP4088227A4 (en) * 2020-01-07 2024-01-24 Nokia Technologies Oy HIGH LEVEL SYNTAX FOR COMPRESSED REPRESENTATION OF NEURONAL NETWORKS
US11818399B2 (en) * 2021-01-04 2023-11-14 Tencent America LLC Techniques for signaling neural network topology and parameters in the coded video stream

Also Published As

Publication number Publication date
JP2023527144A (ja) 2023-06-27
US20220337857A1 (en) 2022-10-20
EP4118821A4 (en) 2023-09-13
EP4118821A1 (en) 2023-01-18
US11647216B2 (en) 2023-05-09
WO2022220866A1 (en) 2022-10-20
KR20220155360A (ko) 2022-11-22

Similar Documents

Publication Publication Date Title
KR102653789B1 (ko) 멀티-라인 인트라 예측을 위한 방법 및 장치
KR102487359B1 (ko) 비디오 코딩을 위한 방법 및 장치
CN110784711B (zh) 生成用于视频序列编码或解码的合并候选列表的方法、装置
CN110248187B (zh) 用于视频压缩中的方向性帧内预测的方法、设备和存储介质
CN112806009A (zh) 视频编码中具有附加中间候选的合并模式的方法和装置
US11818399B2 (en) Techniques for signaling neural network topology and parameters in the coded video stream
CN110944185A (zh) 视频解码的方法和装置、计算机设备及存储介质
CN113557724A (zh) 视频编解码的方法和装置
CN115668914A (zh) 用于在视频流中用信号通知神经网络拓扑、参数和处理信息的技术
KR102637503B1 (ko) 비디오 시퀀스의 디코딩 또는 인코딩을 위한 인트라-인터 예측 모드를 제어하기 위한 방법 및 장치
EP4085375A1 (en) A framework for video conferencing based on face restoration
CN113348664A (zh) 用于视频编解码的方法和装置
CN115428445A (zh) 用于视频编码的方法和装置
KR102595147B1 (ko) 인트라 예측에서의 인트라 모드 선택
CN113728628B (zh) 合并候选搜索方法和设备
CN112470475B (zh) 控制方法、控制设备、控制装置及可读介质
US20230247210A1 (en) Adaptive colour transform related signalling for both of cu level and tu level
CN114208177A (zh) 用于cu级和tu级的自适应色彩变换相关信令
CN113574896A (zh) 改进的最可能模式列表生成方案
CN114788272A (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