CN111699686A - 用于视频编解码的分组神经网络的方法以及装置 - Google Patents
用于视频编解码的分组神经网络的方法以及装置 Download PDFInfo
- Publication number
- CN111699686A CN111699686A CN201980009758.2A CN201980009758A CN111699686A CN 111699686 A CN111699686 A CN 111699686A CN 201980009758 A CN201980009758 A CN 201980009758A CN 111699686 A CN111699686 A CN 111699686A
- Authority
- CN
- China
- Prior art keywords
- neural network
- processing
- network processing
- current layer
- code
- 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.)
- Granted
Links
Images
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/42—Methods 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/439—Methods 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 using cascaded computational arrangements for performing a single operation, e.g. filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Analysis (AREA)
Abstract
公开了一种使用分组神经网络(NN)处理的信号处理的方法以及装置。用于NN处理的当前层的多个输入信号被分组成多个输入组,所述多个输入组包括第一输入组以及第二输入组。用于所述当前层的所述神经网络处理被分成多个NN处理,所述多个NN处理包括第一NN处理以及第二NN处理。分别将所述第一NN处理以及所述第二NN处理应用于所述第一输入组以及所述第二输入组来生成用于NN处理的所述当前层的第一输出组以及第二输出组。在另一方法中,使用不同的代码类型对于NN处理的层有关的参数集进行编码。
Description
相关引用
本发明要求于2018年1月26日递交的美国临时专利申请案号62/622,224以及于2018年1月26日递交的美国临时专利申请案号62/622,226的优先权。美国临时专利申请案在此通过参考纳入其中。
技术领域
本发明一般涉及神经网络(Neural Network)。特别地,本发明涉及通过将到神经网络给定层的多个输入分成多个输入组来降低神经网络(NN)处理的复杂性。
背景技术
神经网络(NN),也称为“人工(Artificial)”神经网络(ANN),是一种具有与生物神经网络(biological neural network)相同的某些性能特征的信息处理系统。神经网络系统由许多简单且高度互连的处理组件组成,以通过它们对外部输入的动态响应来处理信息。处理组件可以被认为是人脑中的神经元(neuron),其中每一感知器(perceptron)接受多个输入并计算输入的加权和。在神经网络领域,感知器被认为是生物神经元(biologicalneuron)的数学模型。此外,这些互连的处理组件通常在层(layer)中进行组织。对于识别应用,外部输入可以对应于呈现给网络的模式(patterns),网络与一个或多个中间层(middlelayer)通信,该中间层也称为“隐藏层(hidden layer)”,其中经由加权“连接”的系统完成实际处理。
人工神经网络可以使用不同的架构来指定神经网络涉及的变量及其拓扑关系(topological relationship)。例如,神经网络中涉及的变量(variable)可以是神经元之间连接的权重,以及神经元的活动。前馈网络(feed-forward network)是一种神经网络拓扑,其中每一层中的节点被馈送到下一阶段以及在相同层的节点之间存在有连接。大多数ANN包括某种形式的“学习规则”,其根据所呈现的输入模式来修改连接的权重。在某种意义上,ANN和它们的生物对应物一样,都是从算例中学习。反向传播(backward propagation)神经网络是更加高级的神经网络,其允许权重调整的反向误差传播(backward errorpropagation)。因此,反向传播神经网络能够通过使回馈到神经网络的误差最小化来改善性能。
NN可以是深度神经网络(deep neural network,简称DNN)、卷积神经网络(convolutional neural network,简称CNN)、递归神经网络(recurrent neural network,简称RNN)或者其他NN变化。深度多层神经网络或深度神经网络(DNN)对应于具有允许它们紧密地表示高度非线性以及高度变化函数的多级互连节点的神经网络。然而,DNN的计算复杂度随着与大量层相关联的节点的数量而迅速增长。
CNN是一类前馈人工神经网络,最常用于分析视觉图像(visual imagery)。递归神经网络(RNN)是一类人工神经网络,其中节点之间的连接沿着序列形成有向图(directedgraph)。与前馈神经网络不同,RNN可以使用它们的内部状态(记忆)来处理输入序列。RNN可以在它们中具有环路以便允许信息持续。RNN允许对向量序列(例如输入、输出或两者中的序列)进行操作。
高效视频编解码(HEVC)标准是在ITU-T视频编解码专家组(VCEG)以及ISO/IEC移动图像专家组(MEPG)标准化组织的联合视频项目下开发的,特别是与称为视频编解码联合协作小组(JCT-VC)的合作。
在HEVC中,一个条带被拆分成多个编码树单元(coding tree units,简称CTU)。CTU进一步被拆分成多个编码单元(coding units,简称CU)来适应各种局部特性。HEVC支持多个帧内预测模式,并且对于帧内编码的CU,发信所选择的帧内预测模式。除了编码单元的概念,HEVC中还引入了预测单元(prediction unit,简称PU)的概念。一旦完成了CU分层树的拆分,根据预测类型以及PU分区(partition),每一叶CU被进一步拆分成一个或多个预测单元(PU)。在预测后,与CU有关的残差被分成用于变换处理的多个变换块,称为变换单元(transform unit)。
图1A示出了基于HEVC的示例性适应性帧内/帧间视频编码器。当使用帧间模式时,帧内/帧间预测单元110基于运动估计(Motion Estimation,简称ME)/运动补偿(MotionCompensation,简称MC)生成帧间预测。当使用帧内模式时,帧内/帧间预测单元110生成帧内预测。帧内/帧间预测数据(即,帧内/帧间预测信号)被提供给减法器116,通过从与输入图像有关的信号减去帧内/帧间预测信号来形成预测误差,也称为残差。本发明中生成帧内/帧间预测数据的处理也称为预测处理。然后预测误差(即,残差)由变换(T)处理,紧接着由量化(Q)处理(T+Q,120)。变换的及量化的残差随后由熵编码单元122进行编码以被包括于对应于压缩的视频数据的视频比特流中。与变换系数有关的比特流随后与如运动、编码模式的辅助信息(side inforamtion)以及与图像区域有关的其他信息一起打包。辅助信息也由熵编码进行压缩来减少所需要的带宽(bandwidth)。因为重构图像也可以用作为帧间预测的参考图像,所以也需要在编码器端重构一个或多个参考图像。因此,由逆量化(IQ)以及逆变换(IT)(IQ+IT,124)对变换及量化的残差进行处理来恢复残差。然后,重构的残差在重构单元(REC)128被添加回帧内/帧间预测数据来重构视频数据。本发明中将重构残差添加到帧内/帧间预测信号的处理也称为重构处理。来自于重构处理的输出图像也称为重构图像。为了减少重构图像中的伪影(artefacts),使用了包括去块滤波器(DeblockingFilter,简称DF)130以及样本适应性偏移(Sample Adaptive Offset,简称SAO)132的环路滤波器。在本发明中在所有滤波处理输出端的已滤波的重构图像也称为解码图像。解码图像存储于帧缓冲器140中并用于其他帧的预测。
图1B示出了基于HEVC的示例性适应性帧内/帧间视频解码器。因为编码器还包括用于重构视频数据的局部解码器,除了熵解码器,在编码器已经使用了一些解码器组件。在解码器侧,熵解码单元160用于从比特流恢复编码的符号或语法。本发明中从输入比特流生成重构残差的处理被称为残差解码处理。用于生成帧内/帧间预测的预测处理也应用于解码器侧,然而,因为帧间预测仅需要使用从比特流导出的运动信息执行运动补偿,帧内/帧间预测单元150不同于编码器侧的帧内/帧间预测单元。此外,加法器114用于将重构残差添加到帧内/帧间预测资料。
在HEVC标准的开发过程中,还公开了另一种环路滤波器(in-loop filter),称为适应性环路滤波(Adaptive Loop Filter,简称ALF),但并未被采用到主要标准中。ALF可以用于进一步提高视频质量。例如,如图2A的编码器侧以图2B的解码器侧所示,可以在SAO132后使用ALF 210并将来自ALF 210的输出存储于帧缓冲器140。对于解码器侧,来自ALF210的输出也可以用作为用于显示或其他处理的解码器输出。在本发明中,去块滤波器、SAO以及ALF也称为滤波处理。
在不同的图像修复(image restoration)以及处理方法中,基于神经网络的方法是近些年来很有希望的一种方法,如深度神经网络(DNN)以及卷积神经网络(CNN)的方法。它已经被应用于各种图像处理应用,例如图像去噪(image de-nosing)、图像超分辨率等等,以及它已经证明DNN或CNN相比于传统的图像处理方法可以实现更好的性能。因此,在下文中,我们建议在一个视频编解码系统中使用CNN作为一种图像修复处理方法来提高主观质量或编码效率。期望利用NN作为视频编解码系统中的图像修复方法,来提高如高效视频编码(HEVC)之类新的视频编解码标准的主体质量或编解解效率。此外,NN需要相当大的计算复杂度,还期望减少NN的计算复杂度。
发明内容
公开了一种使用分组神经网络(NN)处理的信号处理方法及装置,其中所述神经网络处理包括NN处理的一个或多个层。根据这一方法,将NN处理的当前层的多个输入信号作为包括用于NN处理的所述当前层的第一输入组以及第二输入组的多个输入组。将用于NN处理的所述当前层的所述神经网络处理作为包括用于NN处理的所述当前层的第一NN处理以及第二NN处理的多个NN处理。分别将所述第一NN处理以及所述第二NN处理应用于所述第一输入组以及所述第二输入组来生成NN处理的第一输出组以及第二输出组。提供包括所述第一输出组以及所述第二输出组的输出组作为用于NN处理的所述当前层的输出。
提供给所述神经网络处理的初始层的多个初始输入信号可以对应于视频编码器或视频解码器中视频信号处理流的路径中的目标视频信号。例如,所述目标视频信号可以对应于从重构(REC)、去块滤波器(DF)、样本适应性滤波(SAO)、适应性环路滤波(ALF)输出的已处理的信号。
所述方法进一步包括将所述神经网络处理作为用于NN处理的下一层的多个NN处理,所述多个NN处理包括用于NN处理的所述下一层的第一NN处理以及第二NN处理,以及在不混合用于NN处理的所述当前层的该第一输出组以及该第二输出组的情况下,分别提供用于NN处理的所述当前层的所述第一输出组以及所述第二输出组作为用于NN处理的所述下一层的第一输入组以及第二输入组到用于NN处理的所述下一层的所述第一NN处理以及所述第二NN处理。在另一个实施例中,可以混合用于NN处理的所述当前层的所述第一输出组以及所述第二输出组。在又一实施例中,对于NN处理的至少一个层,用于NN处理的所述至少一个层的多个输入信号由NN处理的所述至少一个层处理为非分割网络,而不将NN处理的所述至少一个层作为多个NN处理。
公开了一种发信与神经网络(NN)信号处理有关的参数集的方法以及装置。根据这一方法,通过使用第一代码映射与所述神经网络处理的当前层有关的第一部分参数集以及使用第二代码映射与所述神经网络处理的当前层有关的第二部分参数集,来使用至少两个代码类型映射与所述神经网络处理的所述当前层有关的所述参数集。使用与所述神经网络处理的所述当前层有关的所述参数集将所述神经网络处理的所述当前层应用于所述神经网络处理的所述当前层的多个输入信号,所述参数集包括与所述神经网络处理的所述当前层有关的所述第一部分参数集以及与所述神经网络处理的所述当前层有关的所述第二部分参数集。
使用这一方法的系统可以对应于视频编码器或视频解码器。这样,提供给所述神经网络处理的初始层的初始输入信号可以对应于所述视频编码器或所述视频解码器中视频信号处理流的路径中的目标视频信号。当该初始输入信号对应于环路滤波信号时,在序列级、图像级或条带级发信所述参数集。当所述初始输入信号对应于后滤波器信号时,发信所述参数集作为补充增强信息(supplement enhancement information,SEI)消息。所述目标视频信号可以对应于从重构(REC)、去块滤波器(DF)、样本适应性滤波(SAO)或适应性环路滤波(ALF)中输出的已处理的信号。
当所述系统对应于视频编码器时,所述映射与所述神经网络处理的所述当前层有关的该参数集可以对应于使用所述第一代码以及所述第二代码将与所述神经网络处理的所述当前层有关的所述参数集编码成已编码的数据。当所述系统对应于视频解码器时,所述映射与所述神经网络处理的所述当前层有关的所述参数集对应于使用所述第一代码以及所述第二代码从所述已编码的数据中解码与所述神经网络处理的所述当前层有关的所述参数集。
与所述神经网络处理的所述当前层有关的所述第一部分参数集对应于与所述神经网络处理的所述当前层有关的多个权重,以及与所述神经网络处理的所述当前层有关的所述第二部分参数集对应于与所述神经网络处理的所述当前层有关的多个偏移。在这种情况下,所述第一代码可以对应于可变长度码。此外,所述可变长度码可以对应于霍夫曼码或n阶指数哥伦布码(EGn)并且n是大于或等于0的整数。不同的n用于所述神经网络处理的不同层。所述第二代码可以对应于固定长度码。在另一实施例中,所述第一代码可以对应于DPCM(差分脉冲码调制)码,以及其中对所述多个权重与所述多个权重中的最小值之间的差进行编码。
在又一实施例中,可以在不同的层中使用不同的代码。例如,可以从包括多个代码的组中选择所述第一代码、所述第二代码或两者。由旗标指示从包括所述第一代码或所述第二代码的多个代码的所述组中选择的目标代码。
附图说明
图1A示出了基于高效视频编解码(HEVC)标准的示例性适应性帧内/帧间编码器。
图1B示出了基于高效视频编解码(HEVC)标准的示例性适应性帧内/帧间解码器。
图2A示出了类似于图1A中的适应性帧内/帧间视频编码器,其具有额外ALF处理。
图2B示出了类似于图1B中的适应性帧内/帧间视频解码器,其具有额外ALF处理。
图3示出了将神经网络应用于重构的信号的示例,其中NN的输入是来自重构模块(REC)的重构像素以及NN的输出是NN-滤波重构的像素。
图4示出了传统神经网络处理的示例,其中先前层中所有通道的输出被用作为当前层中所有滤波器的输入而不分组。
图5示出了根据本发明实施例的分组神经网络处理的示例,其中L1之前的先前层的输出被分成两组以及神经网络处理的当前层也被分成两组。在这一实施例中,将L1组A以及L1组B的输出分别用作为L2组A以及L2组B的输入而没有混合。
图6示出了根据本发明另一个实施例的分组神经网络处理的示例,其中L1之前的先前层的输出被分成两组以及神经网络处理的当前层也被分成两组。在本实施例中,L1组A以及L1组B的输出可以混合以及混合的输出可以用作L2组A以及L2组B的输入。
图7示出了根据本发明实施例的用于系统的分组神经网络(NN)处理的示例性流程图。
图8示出了根据本发明另一实施例的对于NN处理相关的参数集具有不同代码类型的系统中神经网络(NN)处理的示例性流程图。
具体实施方式
后文的描述是实施本发明的最佳实施的方式。所作之描述是为了说明本发明的基本原理以及不应对此作限制性理解。本发明的范围由参考所附权利要求最佳确定。
当NN应用于视频编解码系统时,NN可以应用于沿着信号处理路径的各种信号。图3示出了将NN 310应用于重构信号的示例。在图3中,NN 310的输入是来自REC 128的重构像素。NN的输出是经NN滤波的重构像素,其可以由去块滤波器(即,DF130)进一步处理。图3是视频编码器中应用NN 310的示例,然而,NN 310可以以类似的方法应用在对应的视频解码器中。CNN可以由其他NN变化所替代,例如,DNN(深度全连接前馈神经网络)、RNN(递归神经网络)或GAN(generative adversarial network,生成对抗网络)。
在本发明中,公开了一种在视频编解码系统中利用CNN作为一种图像修复方法的方法。例如,CNN可以应用于如图2A以及图2B所示的视频编码器以及解码器中的ALF输出图像来生成最终解码图像。或者,可以使用或不使用如图1A-B以及图2A-B所示的视频编码系统中其他修复方法来在SAO、DF或REC后直接应用CNN。在另一个实施例中,CNN可以用于直接恢复量化误差或者仅改善预测子(predictor)质量。在前者的方式中,在逆量化以及变换后应用CNN来恢复重构的残差。在后者的方式中,CNN被应用于由帧间或帧内预测生成的预测子上。在另一个实施例中,CNN被应用于ALF输出图像作为后环路滤波。
为了减少CNN的计算复杂度,尤其在视频编解码系统中是有效的,本发明公开了分组技术。传统上,CNN的网络设计类似于全连接网络。如图4所示,先前层的所有通道的输出被用作为当前层中所有滤波器的输入。在图4中,L1410的输入以及L2 430的输入分别等于在L1 420以及L2 440之前的先前层的输出。因此,如果在L1 420以及L2 440之前的先前层的滤波器的数量分别等于M以及N,那么对于L1以及L2中的每一滤波器,L1以及L2中输入通道的数量是M以及N。如果先前层中输出的数量(即,到当前层的输入的数量)是M,当前层中输出的数量是N,在水平以及垂直方向上的滤波器抽头长度分别是h以及w,那么当前层的计算复杂度与h×w×M×N成比例。
为了减少复杂度,在CNN的网络设计中引入了分组技术。图5示出了根据本发明一个实施例的用于分组的CNN的网络设计的示例。在本示例中,L1之前的先前层的输出被分成或被作为两个组,L1通道组A 510以及L1通道组B 512。卷积处理被分成或被作为两个独立的处理,即,用L1滤波器卷积的组A 520以及用L1滤波器卷积的组B 522。下一层(即,L2)也被分成或作为两个对应的组(530/532以及540/542)。然而,在本设计中,两个组之间没有交换。这可能造成性能损失。在一个示例中,M个输入被拆分成由(M/2)与(M/2)个输入组成的两个组,以及N个输出也被拆分成由(N/2)与(N/2)组成的两个组。在这种情况下,当前层的计算复杂度与1/2×(h×w×M×N)成比例。
为了减少性能损失,公开了本发明的另一种网络设计,如图6所示,CNN组的处理可以混合。L1之前的先前层的输出可以被分成或作为两个组,L1通道组A 610以及L1通道组B612。卷积处理被分成或被作为是独立的处理,即用L1滤波器卷积的组A 620以及用L1滤波器卷积的组B 622。下一层(即,L2)也被分割或作为两个对应的组(630/632以及640/642)。在这一示例中,如图6所示,L1组A以及L1组B的输出可以混合,并且混合的输出可以用作为L2组A以及L2组B的输入。
在一个示例中,M个输入被分成由(M/2)与(M/2)个输入组成的两组,以及N个输出也被分成由(N/2)与(N/2)组成的两组。例如,可以通过取L1组A 620a的(N/2)输出的一部分以及L1组B 622的(N/2)输出的一部分来形成L2组A的(N/2)输入(即,630a以及632a的组合),以及取L1组A的(N/2)输出的剩余部分以及L1组B的(N/2)输出的剩余部分来形成L2组B的(N/2)输入(即,630b以及632b的组合)来实现混合。因此,至少L1组A的输出的至少一部分被交叉到L2组B中(如630b的方向所示)。另外,L1组B的输出的至少一部分被交叉到L2组A的输入中(如632a的方向所示)。在这种情况中,当前层的计算复杂度与1/2×(h×w×M×N)成比例,其与没有混合L1组A以及L1组B的输出的情况相同。然而,因为组A以及组B之间有一些交互,可以减少性能损失。
上述公开的分组方法或者具有混合的分组方法可以与传统设计结合。例如,分组技术可以应用于偶数层以及传统设计(即,没有分组)可以应用于奇数层。在另一个示例中,可以将具有混合技术的分组应用于层索引被3取余数后等于1和2的那些层,以及可以将传统设计应用于层索引被3取余数后等于0的那些层。
当CNN被应用于视频编解码时,CNN的参数集可以被发信到解码器以致解码器可以应用相应的CNN来实现更好的性能。如本领域所公知的,参数集可以包括所连接网络的权重与偏移以及滤波器信息。如果CNN被用作为环路滤波,那么可以在序列级、图像级或条带级发信参数集。如果CNN用作为后环路滤波,则可以发信该参数集作为补充增强信息(supplement enhancement information,简称SEI)消息。上述提到的序列级、图像级或条带级对应于不同的视频数据结构。
CNN参数集中的参数可以被分成两组,如权重与偏移。对于不同的组,可以使用不同的编解码方法对值进行编解码。在一个实施例中,可变长度码(variable-length code,简称VLC)可以被应用于权重以及固定长度码(fixed-length code,简称FLC)可以用于对偏移进行编码。在另一个实施例中,可变长度码表以及固定长度码中的比特数对于不同层可以变化。例如,对于第一层,固定长度码的比特数可以是8个比特;以及在下面的层中,固定长度码的比特数仅是6个比特。在另一个示例中,对于第一层,EG-0(即,0阶指数哥伦布)码可以用作为可变长度码以及EG-5(即,5阶指数哥伦布)码可以用作为其他层的可变长度码。虽然举例提出了特定的0阶以及5阶指数哥伦布码,也可以使用任何n阶指数哥伦布,其中n是大于或等于0的整数。
在另一个实施例中,除了可变长度码以及固定长度码外,DPCM(differentialpulse coded modulation,差分脉冲码调制)可以用于进一步减少编码信息。在这一方法中,首先确定将要被编码的系数中的最小值以及最大值。基于最小值以及最大值之间的差,确定用于对将要被编码的系数与最小值之间的差进行编码的比特数。首先发信最小值以及用于对差进行编码的比特数,紧接着发信用于每一将要被编码系数的将要被编码系数与最小值之间的差。例如,将要被编码的系数是{20,21,18,19,20,21}。当使用固定长度码时,这些参数将需要5个比特的固定长度码以用于每一系数。当使用DPCM时,首先确定这6个系数中的最小值(18)以及最大值(21)。因为差的范围在0与3之间,对最小值(18)以及最大值(21)之间的差进行编码所需要的比特数目仅是2。因此,可以通过使用5个比特的固定长度码发信最小值(18)。通过使用3个比特的固定长度码发信对最小值(18)与最大值(21)之间的差进行编码所需要的比特的数目。可以使用2个比特发信将要编码的系数与最小值之间的差{2,3,0,1,2,3}。因此,总比特可以从30个比特=6(即将要编码的系数的数目)×5个比特减少到20个比特=(5个比特+3个比特+6×2个比特)。固定长度码可以变为截断二进制码(truncated binary code)、可变长度码、霍夫曼码(Huffman code)等等。
可以选择不同的编码方法并一起使用。例如,可以同时支持DPCM以及固定长度码,并且对一个旗标(flag)进行编码来指示在后续编码的比特中使用了哪种方法。
CNN可以应用于各种图像应用中,例如图像分类、面部检测、目标检测等等。当需要CNN参数压缩来减少存储需求时,可以应用上述方法。在这种情况中,这些压缩的CNN参数将存储在一些内存或设备中,例如固态磁盘(SSD)、硬盘驱动磁盘(HDD)、记忆棒等。这些压缩的参数将被解码并馈送到CNN网络以仅在执行CNN处理时执行CNN处理。
图7示出了根据本发明一个实施例的系统的分组神经网络(NN)处理的示例性流程图。在流程图中示出的步骤可以实施为可在一个或多个处理器(如一个或多个CPU)、编码器侧、解码器侧或能执行程序代码的任何其他硬件或软件组件上的可执行的程序代码。流程图中示出的步骤也可以实施为硬件,如用于成执行流程图中步骤的一个或多个个电子设备或处理器。在步骤710中,该方法将用于NN处理的当前层的多个的输入信号作为多个输入组,所述多个输入组包括用于NN处理的所述当前层的第一输入组以及第二输入组。在步骤720中,将用于NN处理的所述当前层的所述神经网络处理作为多个NN处理,所述多个NN处理包括用于NN处理的所述当前层的第一NN处理以及第二NN处理。在步骤730中,将所述第一NN处理应用于所述第一输入组来生成用于NN处理的所述当前层的第一输出组。在步骤740,将所述第二NN处理应用于所述第二输入组来生成用于NN处理的所述当前层的第二输出组。在步骤750中,提供输出组作为NN处理的所述当前层的当前输出,所述输出组包括用于NN处理的所述当前层的所述第一输出组以及所述第二输出组。
图8示出了根据本发明另一个实施例的系统中的神经网络处理的示例性流程图,该系统具有与NN处理有关的参数集具有不同的代码类型。根据这一方法,在步骤810中,通过使用第一代码映射与神经网络处理的当前层有关的第一部分参数集以及使用第二代码映射与所述神经网络处理的所述当前层有关的第二部分参数集,使用至少两个代码类型来映射与所述神经网络处理的所述当前层有关的参数集。在步骤820中,使用与所述神经网络处理的所述当前层有关的所述参数集将所述神经网络处理的所述当前层应用于所述神经网络处理的所述当前层的输入信号,所述参数集包括与所述神经网络处理的所述当前层有关的所述第一部分参数集以及与所述神经网络处理的所述当前层有关的所述第二部分参数集。
所示的流程图旨在说明根据本发明的视频编码的示例。本领域技术人员可以在不背离本发明的精神的情况下,修改每一步骤、重新排列步骤、拆分步骤或组合步骤来实现本发明。在本发明中,使用特定的语法以及语义来说明实施本发明实施例的示例。本领域技术人员可以在不背离本发明的精神的情况下,通过用等同的语法以及语义替换该语法以及语义来实施本发明。
上述所给出的描述能够使本领域技术人员如在特定应用及其需求的上下文所提供的来实施本发明。所描述实施例的各种修改对本领域技术人员将是显而易见的,以及此处定义的一般原理可以应用于其他实施例。因此,本发明不旨在限制于所示出以及所描述的特定实施例,而是应符合与此处描述的原理以及新颖特征一致的最宽范围。在上述的细节描述中,示出了各种特定的细节来提供本发明的透彻理解,然而,本领域技术人员将能够理解,可以实施本发明。
上述描述的本发明的实施例可以以各种硬件、软件代码及其两者的组合实施。例如,本发明的实施例可以是集成到视频压缩芯片的一个或多个电子电路或者集成到视频压缩软件的程序代码来执行本文所描述的处理。本发明实施例也可以是在数字信号处理器(DSP)上执行的程序代码来执行本发明所描述的处理。本发明也可以涉及由计算机处理器、数字信号处理器、微处理器或现场可程序门阵列(FPGA)执行的多个功能。这些处理器可以配置于执行根据本发明的特定任务,通过执行定义由本发明实施的特定方法的机器可读软件代码或固件代码。该软件代码或固件代码可以以不同的程序语言以及不同的格式或风格开发。还可以针对不同的目标平台编译软件代码。然而,软件代码的不同的代码格式、风格及语言以及配置代码执行与本发明一致的特定任务的其他方法将不背离本发明的精神以及范围。
本发明可以以其他特定形式实施而不背离其精神或基本特征。所描述的示例在所有方面被认为仅是示例性而非限制性的。因此,本发明的范围由所附权利要求书而非前述的描述所指示。在权利要求的等同意义以及范围内的所有变化都包括在它们的范围内。
Claims (24)
1.一种使用神经网络(NN)处理的信号处理方法,其中所述神经网络处理包括NN处理的一个或多个层,其特征在于,所述方法包括:
将用于神经网络处理的当前层的多个输入信号作为多个输入组,所述多个输入组包括用于神经网络处理的所述当前层的第一输入组以及第二输入组;
将用于神经网络处理的所述当前层的所述神经网络处理作为多个神经网络处理,所述多个神经网络处理包括用于神经网络处理的所述当前层的第一神经网络处理以及第二神经网络处理;
将所述第一神经网络处理应用于所述第一输入组来生成用于神经网络处理的所述当前层的第一输出组;
将所述第二神经网络处理应用于所述第二输入组来生成用于神经网络处理的所述当前层的第二输出组;以及
提供输出组作为用于神经网络处理的所述当前层的当前输出,所述输出组包括用于神经网络处理的所述当前层的所述第一输出组以及所述第二输出组。
2.如权利要求1所述的使用神经网络处理的信号处理方法,其特征在于,其中提供给所述神经网络处理的初始层的多个初始输入信号对应于视频编码器或视频解码器中视频信号处理流的路径中的目标视频信号。
3.如权利要求2所述的使用神经网络处理的信号处理方法,其特征在于,其中所述目标视频信号对应于从重构(REC)、去块滤波器(DF)、样本适应性偏移(SAO)或适应性环路滤波(ALF)输出的已处理的信号。
4.如权利要求1所述的使用神经网络处理的信号处理方法,其特征在于,其中进一步包括将所述神经网络处理作为包括用于神经网络处理的下一层的第一神经网络处理以及第二神经网络处理的用于神经网络处理的所述下一层的多个神经网络处理;以及在不混合用于神经网络处理的所述当前层的所述第一输出组以及所述第二输出组的情况下,分别提供用于神经网络处理的所述当前层的所述第一输出组以及所述第二输出组作为用于神经网络处理的所述下一层的第一输入组以及第二输入组到用于神经网络处理的所述下一层的所述第一神经网络处理以及所述第二神经网络处理。
5.如权利要求1所述的使用神经网络处理的信号处理方法,其特征在于,其中进一步包括将所述神经网络处理作为神经网络处理的下一层的多个神经网络处理,所述神经网络处理的所述下一层包括用于神经网络处理的所述下一层的第一神经网络处理以及第二神经网络处理;以及分别提供用于神经网络处理的所述当前层的所述第一输出组以及所述第二输出组作为用于神经网络处理的所述下一层的第一输入组以及第二输入组到用于神经网络处理的所述下一层的所述第一神经网络处理以及所述第二神经网络处理;以及其中用于神经网络处理的所述当前层的至少一部分所述第一输入组交叉到用于神经网络处理的所述下一层的所述第二输入组,或者用于神经网络处理的所述当前层的至少一部分所述第二输入组交叉到用于神经网络处理的所述下一层的第一输入组。
6.如权利要求1所述的使用神经网络处理的信号处理方法,其特征在于,其中对于神经网络处理的至少一个层,通过所述神经网络处理的至少一个层将用于所述神经网络处理的至少一个层的多个输入信号处理为非分割网络,而不将所述神经网络处理的至少一个层作为多个神经网络处理。
7.一种使用神经网络处理的一个或多个层的神经网络(NN)处理的装置,其特征在于,所述装置包括一个或多个电子器件或处理器用于:
将用于神经网络处理的当前层的多个输入信号作为多个输入组,所述多个输入组包括用于神经网络处理的所述当前层的第一输入组以及第二输入组;
将用于神经网络处理的所述当前层的所述神经网络处理作为多个神经网络处理,所述多个神经网络处理包括用于神经网络处理的所述当前层的第一神经网络处理以及第二神经网络处理;
将所述第一神经网络处理应用于所述第一输入组来生成用于神经网络处理的所述当前层的第一输出组;
将所述第二神经网络处理应用于所述第二输入组来生成用于神经网络处理的所述当前层的第二输出组;以及
提供输出组作为用于神经网络处理的所述当前层的当前输出,所述输出组包括用于神经网络处理的所述当前层的所述第一输出组以及所述第二输出组。
8.一种系统中使用神经网络(NN)处理的信号处理方法,其中所神经网络处理包括神经网络处理的一个或多个层,其特征在于,所述方法包括:
通过使用第一代码映射与所述神经网络处理的当前层有关的第一部分参数集以及使用第二代码映射与所述神经网络处理的所述当前层有关的第二部分参数集,来使用至少两个代码类型映射与所述神经网络处理的所述当前层有关的所述参数集;以及
使用与所述神经网络处理的所述当前层有关的所述参数集将所述神经网络处理的所述当前层应用于所述神经网络处理的所述当前层的输入信号,所述参数集包括与所述神经网络处理的所述当前层有关的所述第一部分参数集以及与所述神经网络处理的所述当前层有关的所述第二部分参数集。
9.如权利要求8所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中所述系统对应于视频编码器或视频解码器。
10.如权利要求9所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中提供给所述神经网络处理的初始层的初始输入信号对应于所述视频编码器或所述视频解码器中视频信号处理流的路径中的目标视频信号。
11.如权利要求10所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中当所述初始输入信号对应于环路滤波信号时,所述参数集在序列级、图像级或条带级中被发信。
12.如权利要求10所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中当所述初始输入信号对应于后环路滤波信号时,所述参数集被发信作为补充增强信息(SEI)消息。
13.如权利要求10所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中所述目标视频信号对应于从重构(REC)、去块滤波器(DF)、样本适应性偏移(SAO)或适应性环路滤波(ALF)中输出的已处理的信号。
14.如权利要求8所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中当所述系统对应于视频编码器时,所述映射与所述神经网络处理的所述当前层有关的所述参数集对应于使用所述第一代码或所述第二代码对与所述神经网络处理的所述当前层有关的所述参数集进行编码。
15.如权利要求8所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中当所述系统对应于视频届解码器时,所述映射与所述神经网络处理的所述当前层有关的所述参数集对应于使用所述第一代码以及所述第二代码对与所述神经网络处理的所述当前层有关的所述参数集进行解码。
16.如权利要求8所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中与所述神经网络处理的所述当前层有关的所述第一部分参数集对应于与所述神经网络处理的所述当前层有关的多个权重,以及与所述神经网络处理的所述当前层有关的所述第二部分参数集对应于与所述神经网络处理的所述当前层有关的多个偏移。
17.如权利要求16所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中所述第一代码对应于可变长度码。
18.如权利要求17所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中所述可变长度码对应于霍夫曼码或n阶指数哥伦布码(EGn)并且n是大于或等于0的整数。
19.如权利要求18所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中不同的n用于所述神经网络处理的不同层。
20.如权利要求16所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中所述第二代码对应于固定长度码。
21.如权利要求16所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中所述第一码对应于DPCM(差分脉冲码调制)编码,以及其中所述多个权重与所述多个权重的最小值之间的差被编码。
22.如权利要求8所述的系统中使用神经网络处理的信号处理方法,其特征在于,其中所述第一代码、所述第二代码或其两者是从包括多个代码的组中选择。
23.如权利要求22所述的系统中使用神经网络处理的信号处理方法,其特征在于,由旗标指示从包括用所述第一码以及所述第二码的多个代码的所述组中选择的目标代码。
24.一种使用神经网络(NN)的信号处理的装置,所述神经网络包括神经网络处理的一个或多个层,其特征在于,所述装置包括一个或多个电子器件或处理器用于:
通过使用第一代码映射与所述神经网络处理的当前层有关的第一部分参数集以及使用第二代码映射与所述神经网络处理的所述当前层有关的第二部分参数集,以使用至少两个代码类型映射与所述神经网络处理的所述当前层有关的所述参数集;以及
使用与所述神经网络处理的所述当前层有关的所述参数集将所述神经网络处理的所述当前层应用到所述神经网络处理的所述当前层的多个输入信号,所述参数集包括与所述神经网络处理的所述当前层有关的所述第一部分参数集以及与所述神经网络处理的所述当前层有关的所述第二参数集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210509362.8A CN115002473A (zh) | 2018-01-26 | 2019-01-22 | 用于视频编解码的分组神经网络的方法以及装置 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862622224P | 2018-01-26 | 2018-01-26 | |
US201862622226P | 2018-01-26 | 2018-01-26 | |
US62/622,226 | 2018-01-26 | ||
US62/622,224 | 2018-01-26 | ||
PCT/CN2019/072672 WO2019144865A1 (en) | 2018-01-26 | 2019-01-22 | Method and apparatus of neural networks with grouping for video coding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210509362.8A Division CN115002473A (zh) | 2018-01-26 | 2019-01-22 | 用于视频编解码的分组神经网络的方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111699686A true CN111699686A (zh) | 2020-09-22 |
CN111699686B CN111699686B (zh) | 2022-05-31 |
Family
ID=67394491
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210509362.8A Pending CN115002473A (zh) | 2018-01-26 | 2019-01-22 | 用于视频编解码的分组神经网络的方法以及装置 |
CN201980009758.2A Active CN111699686B (zh) | 2018-01-26 | 2019-01-22 | 用于视频编解码的分组神经网络的方法以及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210509362.8A Pending CN115002473A (zh) | 2018-01-26 | 2019-01-22 | 用于视频编解码的分组神经网络的方法以及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210056390A1 (zh) |
CN (2) | CN115002473A (zh) |
GB (2) | GB2585517B (zh) |
TW (1) | TWI779161B (zh) |
WO (1) | WO2019144865A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468826A (zh) * | 2020-10-15 | 2021-03-09 | 山东大学 | 一种基于多层gan的vvc环路滤波方法及系统 |
CN114868386A (zh) * | 2020-12-03 | 2022-08-05 | Oppo广东移动通信有限公司 | 编码方法、解码方法、编码器、解码器以及电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102192980B1 (ko) * | 2018-12-13 | 2020-12-18 | 주식회사 픽스트리 | 기계 학습 기반으로 파라미터를 학습하는 영상 처리 장치 및 동작 방법 |
CN116261736B (zh) * | 2020-06-12 | 2024-08-16 | 墨芯国际有限公司 | 用于双稀疏卷积处理和并行化的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102282559A (zh) * | 2008-10-20 | 2011-12-14 | 诺丁汉特伦特大学 | 数据分析方法和系统 |
CN104504395A (zh) * | 2014-12-16 | 2015-04-08 | 广州中国科学院先进技术研究所 | 基于神经网络实现人车分类的方法和系统 |
CN107197260A (zh) * | 2017-06-12 | 2017-09-22 | 清华大学深圳研究生院 | 基于卷积神经网络的视频编码后置滤波方法 |
US20170357879A1 (en) * | 2017-08-01 | 2017-12-14 | Retina-Ai Llc | Systems and methods using weighted-ensemble supervised-learning for automatic detection of ophthalmic disease from images |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2738319T3 (es) * | 2014-09-12 | 2020-01-21 | Microsoft Technology Licensing Llc | Sistema informático para entrenar redes neuronales |
CN104537387A (zh) * | 2014-12-16 | 2015-04-22 | 广州中国科学院先进技术研究所 | 利用神经网络实现车型分类的方法和系统 |
CN104754357B (zh) * | 2015-03-24 | 2017-08-11 | 清华大学 | 基于卷积神经网络的帧内编码优化方法及装置 |
KR102124714B1 (ko) * | 2015-09-03 | 2020-06-19 | 미디어텍 인크. | 비디오 코딩에서의 신경망 기반 프로세싱의 방법 및 장치 |
US10701394B1 (en) * | 2016-11-10 | 2020-06-30 | Twitter, Inc. | Real-time video super-resolution with spatio-temporal networks and motion compensation |
CN106713929B (zh) * | 2017-02-16 | 2019-06-28 | 清华大学深圳研究生院 | 一种基于深度神经网络的视频帧间预测增强方法 |
US11197013B2 (en) * | 2017-07-06 | 2021-12-07 | Samsung Electronics Co., Ltd. | Method and device for encoding or decoding image |
JP7260472B2 (ja) * | 2017-08-10 | 2023-04-18 | シャープ株式会社 | 画像フィルタ装置 |
-
2019
- 2019-01-22 CN CN202210509362.8A patent/CN115002473A/zh active Pending
- 2019-01-22 GB GB2012713.0A patent/GB2585517B/en active Active
- 2019-01-22 CN CN201980009758.2A patent/CN111699686B/zh active Active
- 2019-01-22 WO PCT/CN2019/072672 patent/WO2019144865A1/en active Application Filing
- 2019-01-22 US US16/963,566 patent/US20210056390A1/en active Pending
- 2019-01-22 GB GB2216200.2A patent/GB2611192B/en active Active
- 2019-01-25 TW TW108102947A patent/TWI779161B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102282559A (zh) * | 2008-10-20 | 2011-12-14 | 诺丁汉特伦特大学 | 数据分析方法和系统 |
CN104504395A (zh) * | 2014-12-16 | 2015-04-08 | 广州中国科学院先进技术研究所 | 基于神经网络实现人车分类的方法和系统 |
CN107197260A (zh) * | 2017-06-12 | 2017-09-22 | 清华大学深圳研究生院 | 基于卷积神经网络的视频编码后置滤波方法 |
US20170357879A1 (en) * | 2017-08-01 | 2017-12-14 | Retina-Ai Llc | Systems and methods using weighted-ensemble supervised-learning for automatic detection of ophthalmic disease from images |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468826A (zh) * | 2020-10-15 | 2021-03-09 | 山东大学 | 一种基于多层gan的vvc环路滤波方法及系统 |
CN112468826B (zh) * | 2020-10-15 | 2021-09-24 | 山东大学 | 一种基于多层gan的vvc环路滤波方法及系统 |
CN114868386A (zh) * | 2020-12-03 | 2022-08-05 | Oppo广东移动通信有限公司 | 编码方法、解码方法、编码器、解码器以及电子设备 |
CN114868386B (zh) * | 2020-12-03 | 2024-05-28 | Oppo广东移动通信有限公司 | 编码方法、解码方法、编码器、解码器以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019144865A1 (en) | 2019-08-01 |
CN111699686B (zh) | 2022-05-31 |
GB202216200D0 (en) | 2022-12-14 |
US20210056390A1 (en) | 2021-02-25 |
TWI779161B (zh) | 2022-10-01 |
GB2611192A (en) | 2023-03-29 |
GB2585517B (en) | 2022-12-14 |
GB2611192B (en) | 2023-06-14 |
CN115002473A (zh) | 2022-09-02 |
GB202012713D0 (en) | 2020-09-30 |
GB2585517A (en) | 2021-01-13 |
TW201941117A (zh) | 2019-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220078418A1 (en) | Method and apparatus of neural network based processing in video coding | |
CN111133756B (zh) | 用于视频编码的神经网络方法和装置 | |
US11470356B2 (en) | Method and apparatus of neural network for video coding | |
CN111699686B (zh) | 用于视频编解码的分组神经网络的方法以及装置 | |
CN113785569B (zh) | 视频编码的非线性适应性环路滤波方法和装置 | |
US20210400311A1 (en) | Method and Apparatus of Line Buffer Reduction for Neural Network in Video Coding | |
CN110740319B (zh) | 视频编解码方法、装置、电子设备及存储介质 | |
CN113574897A (zh) | 滤波方法及装置、计算机存储介质 | |
CN118020297A (zh) | 基于混合神经网络的端到端图像和视频编码方法 | |
CN111901595B (zh) | 一种基于深度神经网络的视频编码方法及装置、介质 | |
WO2023134731A1 (en) | In-loop neural networks for video coding | |
CN115769576B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |