CN111937392B - 视频编解码的神经网络方法和装置 - Google Patents
视频编解码的神经网络方法和装置 Download PDFInfo
- Publication number
- CN111937392B CN111937392B CN201980022949.2A CN201980022949A CN111937392B CN 111937392 B CN111937392 B CN 111937392B CN 201980022949 A CN201980022949 A CN 201980022949A CN 111937392 B CN111937392 B CN 111937392B
- Authority
- CN
- China
- Prior art keywords
- frames
- video
- random access
- neural network
- segment
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 213
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000003044 adaptive effect Effects 0.000 claims abstract description 18
- 238000013139 quantization Methods 0.000 claims description 8
- 230000002123 temporal effect Effects 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 description 13
- 239000012634 fragment Substances 0.000 description 7
- 238000005070 sampling Methods 0.000 description 6
- 230000000306 recurrent effect Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 108010063123 alfare Proteins 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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; 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
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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
-
- 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/047—Probabilistic or stochastic networks
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
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
本发明一方面提供了一种使用神经网络(Neural Network,NN)进行视频编解码的视频编解码的方法和装置。依据该方法,视频序列中的多个帧包括多个片段,其中每个片段包括一组帧。使用用于目标片段的神经网络参数集,神经网络处理应用于编码器侧的目标片段的一个或多个编码帧中的目标信号,或者应用于解码器侧中的目标片段一个或多个编码帧中的目标信号。目标信号可以对应于重建残差,重建输出,解阻塞输出,样本自适应偏移输出,自适应环路滤波器输出,或其组合。在另一实施例中,神经网络处理仅在一个或多个特定编码或解码帧中应用于目标信号。
Description
交叉申请
本发明主张在2018年04月17日提出的第62/658,643号的美国临时专利申请和在2018年08月24日提出的第62/722,231号的美国临时专利申请的优先权。上述美国临时专利申请的内容以整体作为参考并入本文中。
技术领域
本发明是有关于视频编解码。特别地,本发明涉及将编解码***中的神经网络(Neural Network,NN)应用于编码或解码帧中的一个或多个目标信号,其中视频序列被分成多个片段,并且不同的NN参数集可以用于这些片段。
背景技术
神经网络(Neural Network,NN),也称为“人工”神经网络('Artificial'NeuralNetwork,ANN),是具有与生物神经网络共同的某些性能特征的信息处理***。神经网络***由许多简单且高度互连的处理组件组成,透过对外部输入的动态状态响应来处理信息。处理组件可以被认为是人脑中的神经元,其中每个感知器接受多个输入并计算多个输入的加权和。在神经网络领域,感知器被认为是生物神经元的数学模型。此外,这些互连的处理组件通常以层的形式组织。对于识别应用,外部输入可以对应于呈现给网络的模式,该模式与一个或多个中间层通信,也称为“隐藏层”,其中实际处理是透过加权“连接”***完成的。
人工神经网络可以使用不同的架构来指定网络中涉及哪些变量及其拓扑关系。例如,神经网络中涉及的变量可能是神经元之间连接的权重,以及神经元的活动。前馈网络是一种神经网络拓扑,其中每层中的节点被馈送到下一级,并且同一层中的节点之间存在连接。大多数人工神经网络包含某种形式的“学习规则”,它依据所呈现的输入模式修改连接的权重。从某种意义上说,人工神经网络就像他们的生物对应物一样透过实例来学习。后传播神经网络是一种更先进的神经网络,允许权重调整的向后误差传播。因此,后向传播神经网络能够透过最小化向后馈送到神经网络的误差来改善性能。
NN可以是深度神经网络(deep neural network,DNN),卷积神经网络(convolutional neural network,CNN),递归神经网络(recurrent neural network,RNN)或其他NN变体。深层多层神经网络或深度神经网络(deep neural networks,DNN)对应于具有多级互连节点的神经网络,允许它们紧凑地表示高度非线性和高度变化的功能。然而,DNN的计算复杂度随着与大量层相关联的节点数量而迅速增长。
CNN是一类前馈人工神经网络,其最常用于分析视觉图像。递归神经网络(recurrent neural network,RNN)是一类人工神经网络,其中节点之间的连接形成沿序列的有向图。与前馈神经网络不同,RNN可以使用其内部状态(存储器)来处理输入序列。RNN可以在其中具有循环以允许信息持续存在。RNN允许对矢量序列进行操作,例如输入,输出或两者中的序列。
高效视频编码(High Efficiency Video Coding,HEVC)标准是在ITU-T视频编码专家组(VCEG)和ISO/IEC运动图像专家组(Moving Picture Experts Group,MPEG)标准化组织的联合视频项目下开发的,尤其是与合作伙伴称为视频编解码联合协作组(JCT-VC)。
在HEVC中,一个切片被划分为多个编码树单元(multiple coding tree units,CTU)。CTU进一步划分为多个编码单元(coding units,CU)以适应各种本地特性。HEVC支持多个画面内预测模式,并且对于画面内编码CU,发送所选择的画面内预测模式。除了编码单元的概念之外,还在HEVC中引入了预测单元(prediction unit,PU)的概念。一旦完成CU分层树的分割,则依据预测类型和PU分割将每个叶CU进一步分割成一个或多个预测单元(PU)。在预测之后,将与CU相关联的残差划分为变换块,称为变换单元(transform units,TU)用于变换过程。
图1A示出了基于HEVC的示例性自适应画面内/画面间视频编码器。当使用画面间模式时,画面内/画面间预测单元110基于运动估计(Motion Estimation,ME)/运动补偿(Motion Compensation,MC)生成画面间预测。画面内/画面间预测单元110在使用画面内模式时生成画面内预测。透过从与输入图像相关联的信号中减去画面内/画面间预测信号,将画面内/画面间预测数据(即,画面内/画面间预测信号)提供给减法器116以形成预测误差,也称为残差。产生画面内/画面间预测数据的过程被称为本公开中的预测过程。然后透过变换(T)然后量化(Q)(T+Q,120)处理预测误差(即,残差)。然后,透过熵编码单元122对经变换和量化的残差进行编码,以将其包括在与压缩视频数据相对应的视频比特流中。然后,将与变换系数相关联的比特流与辅助信息(例如,运动,编码模式和与图像区域相关联的其他信息)一起封装。还可以透过熵编码来压缩辅助信息以减少所需带宽。由于重建图像可以用作用于画面间预测的参考图像,参考图像也必须在编码器端被重建。因此,透过逆量化(Inverse Quantization,IQ)和逆变换(Inverse Transformation,IT)(IQ+IT,124)处理变换和量化的残基以恢复残差。然后将重建的残差加回到重建单元(Reconstruction unit,REC)128处的画面内/画面间预测数据以重建视频数据。将重建的残差添加到画面内/画面间预测信号的过程称为本公开中的重建过程。来自重建过程的输出图像被称为重建图像。为了减少重建图像中的伪像,使用包括去块滤波器(Deblocking Filter,DF)130和样本自适应偏移(Sample Adaptive Offset,SAO)132的环路滤波器。在本公开中,在所有滤波处理的输出处的滤波的重构图像被称为解码图像。解码图像存储在帧缓冲器140中并用于预测其他帧。
图1B示出了基于HEVC的示例性自适应画面内/画面间视频解码器。由于编码器还包含用于重建视频数据的本地解码器,因此除了熵解码器之外,在编码器中已经使用了一些解码器组件。在解码器侧,熵解码单元160用于从比特流中恢复编码的符号或语法。从输入比特流生成重建残差的过程在本公开中称为残差解码过程。用于生成画面内/画面间预测数据的预测处理也在解码器侧应用,然而,画面内/画面间预测单元150与编码器侧的预测处理不同,因为画面间预测仅需要使用自比特流导出的运动信息来执行运动补偿。此外,加法器114用于将重构的残差添加到画面内/画面间预测数据。
在HEVC标准的开发期间,还公开了另一种称为自适应环路滤波器(Adaptive LoopFilter,ALF)的环路滤波器,但未在主要标准中采用。ALF可用于进一步改善视频质量。例如,ALF 210可以在SAO 132之后使用,并且来自ALF 210的输出存储在帧缓冲器140中,如用于编码器侧的图2A所示和解码器侧的图2B所示。对于解码器侧,来自ALF 210的输出也可以用作解码器输出以用于显示或其他处理。在本公开中,去块滤波器,SAO和ALF都被称为滤波处理。
在不同的图像恢复或处理方法中,基于神经网络的方法(例如深度神经网络(DNN)或卷积神经网络(CNN))是近年来是很有前景的方法。它已经应用于各种图像处理应用,例如图像去噪,图像超分辨率等,并且已经证明,与传统的图像处理方法相比,DNN或CNN可以实现更好的性能。因此,在下文中,我们提出在一个视频编解码***中利用CNN作为一种图像恢复方法来提高主观质量或编码效率。期望利用NN作为视频编解码***中的图像恢复方法,以改善新兴视频编码标准(例如高效视频编码(HEVC))的主观质量或编码效率。
发明内容
依据本发明的一实施方式,公开了一种使用神经网络(Neural Network,NN)对视频编码器或解码器进行视频编解码的方法和装置。依据该方法,视频序列中的多个帧包括多个片段,其中每个片段包括一组帧。使用用于目标片段的一个神经网络参数集,神经网络处理应用于编码器侧的目标片段的一个或多个编码帧中的目标信号,或者应用于解码器侧中的目标片段的一个或多个解码帧中的目标信号。目标信号可以对应于重建残差,重建输出,解阻塞(de-blocked)输出,样本自适应偏移输出,自适应环路滤波器输出或其组合。
多个片段中的每一个可以对应于一个随机存取段(random access segment,RAS)。多个片段中的每个片段中的帧集合可以对应于显示顺序中的连续帧。多个片段中的每个片段中的帧集合还可以对应于解码顺序中的连续帧。
如果NN处理未应用于目标片段,则不需要发送目标片段的参数集的信息。
在一个实施例中,多个帧所包括的多个片段具有相同数量的帧。
在一个实施例中,对于与多个随机存取段对应的视频比特流,在从视频比特流解码多个随机存取段的一个随机存取段的一个随机接入点之后,用于多个随机存取段的随机存取段的NN参数集被切换到用于多个随机存取段的下一个随机存取段的下一个NN参数集。
在另一实施例中,当参考帧缓冲器被重置时,用于多个随机存取段的随机存取段的神经网络参数集被切换到用于多个随机存取段的下一随机存取段的下一神经网络参数集。可以针对多个随机存取段中的随机接入点禁用神经网络处理。或者,可以使用一个或多个预定义的神经网络参数集将神经网络处理应用于多个随机存取段中的随机接入点。
在另一种方法中,神经网络处理仅在编码器侧的视频序列的一个或多个特定编码帧中应用于目标信号,或者仅在在解码器侧的视频序列的一个或多个特定解码帧中应用于目标信号。特定帧可以被预定义。在另一实施例中,特定帧由在序列级别或图像级别中发送的一个或多个语法元素指示。特定帧可以对应于参考帧或非参考帧。特定帧可以对应于具有特定时间ID或时间ID范围的一个或多个帧。特定帧可以对应于用特定量化参数(QP)范围或目标切片类型编码的帧。特定帧可以对应于I切片之后的画面间帧。
附图说明
图1A标出了基于高效视频编码(HEVC)标准的示例性自适应画面内/画面间视频编码器。
图1B标出了基于高效视频编码(HEVC)标准的示例性自适应画面内/画面间视频解码器。
图2A示出了类似于图1A中的示例性的、具有附加的ALF过程的自适应画面内/画面间视频编码器。
图2B示出了类似于图1B中的示例性的、具有附加的ALF过程自适应画面内/画面间视频解码器。
图3示出了依据本发明实施例的神经网络(NN)处理,其中序列中的帧被划分为多个集合,并且每个集合包括用于NN处理的显示顺序中的K个连续帧。
图4示出了将帧划分为用于NN处理的片段的示例,其中序列中的帧数是640,并且一组被定义为显示顺序中的64个连续帧。
图5标出了使用NN处理的编码***的编码顺序的示例,其中具有图像组(group ofpictures,GOP)的序列的编码顺序相等。
图6示出了NN处理的一个实施例,其中在解码一个随机接入点(即,在该示例中为帧64)之后切换NN参数集。
图7示出了NN处理的另一实施例,其中在重置参考帧缓冲器之后切换NN参数集。
图8示出了依据本发明一个实施例的包含神经网络(NN)的视频编码器或解码器的视频编解码的示例性流程图。
图9示出了依据本发明另一实施例的包含神经网络(NN)的视频编码器或解码器的视频编解码的示例性流程图。
具体实施方式
以下描述是实现本发明的最佳方案。进行该描述是为了说明本发明的一般原理,而不应被视为具有限制意义。透过参考所附请求项最好地确定本发明的范围。
本发明的一实施方式公开了一种利用NN(例如,CNN)作为视频编解码***中的图像恢复方法的方法。例如,如图2A和图2B所示,NN作用于目标信号,ALF输出图像并生成最终的解码图像。或者,在图2A和图2B中,NN可以与其他恢复方法一起,或者不需要其他恢复方法,直接地应用于在视频编解码***中SAO,DF,或REC之后的目标信号。在另一实施例中,NN可用于直接恢复量化误差或仅用于改善预测子质量。在前一种情况下,在逆量化和变换之后应用NN以恢复重建的残差。在后一种情况下,NN应用于由画面间或画面内预测生成的预测子。
当NN应用于视频编解码时,可以联合或独立地处理不同的颜色分量。例如,在一个实施例中,可以独立地应用不同颜色分量的不同NN。因此,在一个视频编解码***中,三个颜色分量总共可以有三个NN。在另一实施例中,在一个视频编解码***中存在两个NN,一个用于亮度分量,另一个用于色度分量。在为色度分量设计的NN中,U和V可以独立或联合处理。当独立处理U和V时,NN一次输出一个颜色分量,并且U和V分量共享NN参数。如果可以联合处理U和V,则该NN的输入包括U和V分量,并且该NN同时生成U和V数据。在另一个实施例中,在视频编码***中只有一个NN,其中NN的输入同时是三个颜色分量,并且输出也是三个颜色分量。
在另一实施例中,为亮度分量设计的NN的输入可以仅是亮度分量或者具有对应的色度部分的亮度分量。为色度分量设计的NN的输入可以仅是色度分量或具有相应亮度部分的色度分量。此外,如果YUV取样率对于不同的颜色分量是不同的,则可以使用子取样或上取样滤波器来生成相应的部分。例如,当视频格式是YUV420时,为亮度分量设计的NN的输入包括亮度分量和上取样的色度数据。或者,为亮度分量设计的NN的输入包括下取样的亮度数据和原始的色度数据。在为色度分量设计的NN中,输入可以包括两个色度分量和下取样的亮度数据。
当一个NN同时处理多于一个颜色分量时,用于启用或禁用不同颜色分量的NN的控制标志可以由这些组件组合或共享。例如,如果NN同时处理两个色度分量,则一个开/关标志可以被U和V分量编码和共享。在另一个实施例中,如果NN同时处理三个颜色分量,则一个开/关标记可以被编码并由三个颜色分量共享。
当NN应用于视频编码时,一个颜色分量可以是NN的一个输入分量。替代地,可以将一个颜色分量进一步划分为多个子块,并且每个子块是NN的一个输入分量。例如,由NN处理的当前区域的大小是M×N像素。在一个实施例中,如果一个颜色分量是NN的一个输入分量,则NN的输入可以是具有M×N个像素的一个分量。在另一个实施例中,当前区域可以被划分为大小等于(M/2)×(N/2)的四个子块,其中这些子块透过对四个不同相位进行二次取样来生成。在NN过程中,每个子块是一种输入分量,因此NN的输入包括四个分量,每个分量的大小仅为(M/2)×(N/2)个像素。
在一些NN架构中,针对亮度分量设计的NN的输入可以包括具有对应色度部分的亮度分量。针对色度分量设计的NN的输入可以包括具有相应亮度部分的色度分量。当YUV取样率对于不同的颜色分量是不同的时,可以处理不同的颜色分量以使得不同输入分量的块大小相等。例如,当视频格式是YUV420时,为亮度分量设计的NN的输入可以包括亮度分量和色度分量。基于亮度和色度分量之间的取样比率将亮度分量划分为四个子块。因此,具有与U或V分量相同大小的Y分量的一个子块是NN的一个输入分量。因此,针对亮度分量设计的NN中,四个亮度子块有四个输入分量,以及U和V分量有两个输入分量。这六个输入分量的大小是相同的。如果使用一种颜色分量中的多种类型的数据,则所提出的方法可以应用于所有类型的数据或其中之一。例如,对于一个颜色分量,预测子,残差和重建像素可以用作NN的输入。所提出的方法可以用于将所有类型的数据分别分成四个子块,使得NN的输入数量从3个分量(一个分量大小为MxN)增加到12个分量(每个分量大小为(M/2x N/2))。在另一个例子中,只有一种类型数据的块(例如,重建像素)被划分为四个子块,而另外两种类型的数据在水平和垂直方向上被下取样两倍。然后,NN的输入数量从3个分量(每个分量大小为MxN)增加到6个分量(每个分量大小为(M/2x N/2))。
在上述方法中,所提到的NN可以是任何NN变化,例如卷积神经网络(CNN),深度全连接前馈神经网络(DNN),递归神经网络(RNN)或GAN(生成对抗性网络)。
本发明中提出的方法是利用NN作为视频编解码***中的图像恢复方法。例如,如图2A和图2B所示,可以在ALF输出图像上应用NN以生成最终的解码图像。或者,如图1A和图1B,或图2A和图2B所示,和其他恢复方法一起,或者不需要其他恢复方法,NN可以直接应用于与REC,DF或SAO的输出相对应的目标信号。如前所述,NN可以是DNN,CNN,RNN或其他NN变体。
在一个实施例中,序列中的帧被划分为多个集合/片段,并且每个集合/片段包括按照如图3所示显示顺序的K个连续帧。为每个NN网络的参数进行训练,以用于一个序列中的每个集合/片段,并且具有导出参数的NN被应用于集合/片段中的帧。例如,序列中的帧数是640,并且一个集合(或片段)被定义为如图4所示的显示顺序中的64个连续帧。然后第一集合/片段包括具有索引范围从0到63的帧,第二集合/片段包括具有索引范围从64到127的帧,第三集合/片段包括具有索引范围从128到191的帧,依此类推。对于每个集合/片段,导出一个NN参数集以适合该集合/片段中的帧的特征。利用用于目标片段的导出的NN参数集,具有导出参数集的NN被应用于编码器侧中的目标片段的一个或多个编码帧中的目标信号,并且发送导出的NN参数集。为了进一步提高编解码效率,并非所有集合/片段都由NN处理。如果未在目标集合/片段上应用NN,则不需要发送相应的NN参数集。在另一实施例中,解码顺序中的K个连续帧可用于将帧分组成集合(即,片段)而不是显示顺序。在另一个实施例中,每个集合/片段是一个随机存取段(random access segment,RAS),在该段中具有一个随机存取点。
图5示出了使用NN处理的编解码***的编码顺序的示例。在该示例中,示出了图像组(group of pictures,GOP)为16的序列的编码顺序。随机存取点每64帧被***。如图5所示,编码器可以编码从帧0到帧48的输入帧。编码器然后跳转以编码下一个随机存取点(即帧64),然后编码在帧48到帧64之间的帧。在解码器侧,解码顺序与编码顺序相同。依据一个实施例,在解码一个随机接入点(即,在该示例中为帧64)之后切换NN参数集。如图6所示,在片段上使用NN参数集。如图6所示,NN参数集1应用于帧0到48。NN参数集2应用于帧49到帧112。在该实施例中,在帧0到48被编码或解码之后,由于帧49到112使用NN参数集2,因此不再需要NN参数集1。类似地,帧113到176使用NN参数集3。
视频编码器可以顺序地逐帧编码帧或者并行地编码随机存取段。如果使用并行编码随机存取段,则随机存取点可能需要一个额外的特殊过程以保证顺序过程中的编码结果与并行过程是相同的。例如,如果该集合被定义为一个随机存取段(RAS),则在编码随机存取段时将需要两个派生的CNN参数集。图7示出了使用NN处理的示例视频编码。编码顺序与图5中的编码顺序相同,其中图像组等于16。依据该实施例,在对片段进行编码或解码之后重置参考帧缓冲器。在这种情况下,当重置参考帧缓冲器时,切换NN参数集。因此,NN参数集1应用于帧0至63,NN参数集2应用于帧64至127,NN参数集3应用于帧128至191,等等。在解码第一RAS之后,但在重置参考帧缓冲器之前,仍然需要第一RAS(特别是帧49至63)的旧NN参数集(即,NN参数集1)。但是,下一个段(即帧64)的随机存取点不需要。可以针对随机接入点禁用NN,或者可以将一个或多个预定义的NN参数集用于随机接入点而不是导出的NN参数集。因此,仅需要一个NN参数集。
在一个实施例中,NN仅可以应用于某些特定帧中的目标信号。例如,NN可以仅应用于某些特定帧中的目标信号,这些特定帧可以在序列级或图像级预定义或被发送。特定帧的示例可包括:
·参考帧,
·非参考帧,
·具有特定时间ID(时间层的索引)范围的帧(例如,小于预定阈值,大于预定阈值,或最小值和最大值之间的范围),
·用特定量化参数(QP)范围编码的帧(例如,小于预定阈值,大于预定阈值,或最小值和最大值之间的范围),
·切片类型(画面内切片(I切片),画面间切片,双向预测切片或单向预测切片),
·I切片之后的前几个画面间帧,或
·上述编码条件的任意组合。
此外,NN可以应用于视频序列中的每k个帧,或者从每个时间层或从每个量化参数设置中选择的k个帧。
在另一实施例中,一个序列中的帧被划分为多个区域,并且每个区域包括N×M个像素,CTU,NxM CTU,一个或多个CTU行或整个帧。针对帧中的每个区域训练一个NN网络的参数,并且将具有导出参数的NN应用于一帧中的区域。对于每个区域,导出一个NN参数集以适合该区域中帧的特征;应用具有导出参数集的NN,并且导出的NN参数集被发送。为了进一步提高编码效率,并非所有区域都由NN处理。如果未在一个区域上应用NN,则相应的NN参数集不被发送。在一个实施例中,NN可以使用从一个区域导出的参数来处理另一个区域。
在一个实施例中,区域可以共享整个或部分NN参数集。例如,如果区域共享整个NN参数集,则可以从一个区域导出NN参数集,而其他区域可以使用相同的NN参数集。因此,仅需要发送一个导出的NN参数集。如果区域共享部分NN参数集,则可以从一个区域导出NN参数集,并且其他区域可以部分地使用从固定NN参数集导出的NN参数集。在这种情况下,一个NN参数集和不包括在部分NN参数集中的剩余NN参数集被发送。在一些实施例中,部分NN参数集可以用于NN的上层,而固定NN参数集可以用于NN的下层或剩余层。
在一个实施例中,区域的NN参数集可以与空间相邻区域或时间同位区域共享。例如,CTU可以使用来自左CTU,顶部CTU,右CTU,底部CTU,左上CTU,右上CTU,左下CTU或右下CTU的NN参数集。又例如,CTU可以在另一帧中使用同位CTU处的NN参数集,或者帧可以使用诸如参考帧,先前解码帧或具有相同时间层的帧的另一帧的NN参数集。
在一个实施例中,NN参数集可以存储在大小为N的缓冲器中并且在以下区域中使用。例如,当用于区域的一个NN参数集被导出/解码时,NN参数集可被存储在缓冲器中。以下区域可以使用缓冲区中设置的NN参数,或者以下区域可以导出/解码另一个NN参数集并将其存储在缓冲区中。当缓冲区已满时,它可以使用替换策略,例如FIFO(先进先出),LIFO(后进先出)或LRU(最近最少使用)等,来替换缓冲区中的NN参数集。在一些实施例中,当NN参数集是从一个区域导出而其他区域使用部分来自固定NN参数集的导出NN参数集时,固定NN参数集可以存储在缓冲区或NN参数集中(包括固定的NN参数集)可以存储在缓冲区中。
上面公开的所提出的方法可以在编码器和/或解码器中实现。例如,所提出的方法可以在编码器的环路滤波器模块和/或解码器的环路滤波器模块中实现。或者,任何所提出的方法可以实现为耦合到编码器的环路滤波器模块和/或解码器的环路滤波器模块的电路,以便提供环路滤波器模块所需的信息。
图8示出了依据本发明一个实施例的包含神经网络(NN)的视频编码器或解码器的视频编解码的示例性流程图。流程图中示出的步骤可以实现为在编码器侧或解码器侧的一个或多个处理器(例如,一个或多个CPU)上可执行的程序代码。流程图中示出的步骤还可以基于诸如被配置为执行流程图中的步骤的一个或多个电子设备或处理器的硬件来实现。该方法在步骤810接收编码器侧的输入数据或在解码器侧接收视频比特流,其中输入数据包括视频序列中的多个帧,并且视频比特流包括与视频序列中的多个帧相关联的压缩数据,其中视频序列中的多个帧包括多个片段,其中每个片段包括一组帧。在步骤830中,使用用于目标片段的一个神经网络(NN)参数,将NN处理应用于编码器侧的目标片段的一个或多个编码帧中的目标信号,或者应用于解码器侧中的目标片段的一个或多个解码帧中的目标信号。
图9示出了依据本发明另一实施例的包含神经网络(NN)的视频编码器或解码器的视频编码的示例性流程图。依据该方法,在步骤910中,接收编码器侧的输入数据或者在解码器侧接收视频比特流,其中输入数据包括视频序列中的多个帧,或者视频比特流包括视频序列中的多个帧相关联的压缩数据。在步骤920中,仅在编码器侧的视频序列的一个或多个特定编码帧中或仅在解码器侧的视频序列的一个或多个特定解码帧中,将神经网络处理应用于目标信号。
呈现以上描述是为了使得本领域通常知识者能够在特定应用及其要求的背景下实作本发明。对所描述的实施例的各种修改对于本领域通常知识者来说是显而易见的,并且这里定义的一般原理可以应用于其他实施例。因此,本发明不限于所示出和描述的特定实施例,而是与符合本文所公开的原理和新颖特征的最宽范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域通常知识者将理解可以实作本发明。
如上所述的本发明的实施例可以以各种硬件,软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电路或集成到视频压缩软件中的程序代码,以执行这里描述的处理。本发明的实施例还可以是要在数字信号处理器(DSP)上执行的程序代码,以执行这里描述的处理。本发明还可以涉及由计算器处理器,数字信号处理器,微处理器或现场可编程门数组(FPGA)执行的许多功能。这些处理器可以被配置为透过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来执行依据本发明的特定任务。软件代码或固件代码可以用不同的编程语言和不同的格式或样式开发。还可以针对不同的目标平台编译软件代码。然而,软件代码的不同代码格式,样式和语言以及配置代码以执行依据本发明的任务的其他装置将不脱离本发明的精神和范围。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的示例在所有方面都应被视为仅是说明性的而非限制性的。因此,本发明的范围由请求项而不是前面的描述表示。在请求项的含义和等同范围内的所有变化都包含在其范围内。
Claims (18)
1.一种视频编解码方法,用于视频编码器或解码器,该方法包括:
在编码器侧接收输入数据或在解码器侧接收视频比特流,其中该输入数据包括视频序列中的多个帧,并且该视频比特流包括与该视频序列中的多个帧相关联的压缩数据,其中在该视频序列中的该多个帧包括多个片段,并且每个片段包括一组帧;以及
使用用于目标片段的一个神经网络参数集,将神经网络处理应用于在该编码器侧的该目标片段的一个或多个已编码帧中的目标信号,或应用于在该解码器侧中的该目标片段的该一个或多个已编码帧中的该目标信号;
对于与多个随机存取段对应的该视频比特流,在从该视频比特流解码该多个随机存取段的一个随机存取段的一个随机接入点之后,用于该多个随机存取段的该随机存取段的神经网络参数集被切换到下一个神经网络参数集,以用于该多个随机存取段的下一个随机存取段。
2.根据权利要求1所述的视频编解码方法,其特征在于,该多个片段中的每个中的帧集对应于显示顺序中的连续帧。
3.根据权利要求1所述的视频编解码方法,其特征在于,该多个片段中的每个中的帧集对应于解码顺序中的连续帧。
4.根据权利要求1所述的视频编解码方法,其特征在于,如果该神经网络处理未应用于该目标片段,则用于该目标片段的一个神经网络参数集的信息不被发送。
5.根据权利要求1所述的视频编解码方法,其特征在于,该多个帧所包括的该多个片段具有相同的帧数。
6.根据权利要求1所述的视频编解码方法,其特征在于,对于与多个随机存取段对应的该视频比特流,当参考帧缓冲区被重置时,用于该多个随机存取段的一个随机存取段的神经网络参数集被切换到用于该多个随机存取段的下一随机存取段的下一个神经网络参数集。
7.根据权利要求6所述的视频编解码方法,其特征在于,对该多个随机存取段中的多个随机接入点,该神经网络处理被禁用。
8.根据权利要求6所述的视频编解码方法,其特征在于,使用一个或多个预定义的NN参数集,该神经网络处理被应用于该多个随机存取段中的多个随机接入点。
9.根据权利要求1所述的视频编解码方法,其特征在于,该目标信号对应于重建的残差,重建输出,解阻塞输出,样本自适应偏移输出,自适应环路滤波器输出,或其组合。
10.一种视频编解码装置,用于视频编码器或解码器,该装置包括一个或多个电子器件或处理器,其被配置为:
在编码器侧接收输入数据或在解码器侧接收视频比特流,其中该输入数据包括视频序列中的多个帧,并且该视频比特流包括与该视频序列中的多个帧相关联的压缩数据,其中在该视频序列中的该多个帧包括多个片段;以及
使用用于目标片段的一个神经网络参数集,将神经网络处理应用于在该编码器侧的该目标片段的一个或多个已编码帧中的目标信号,或应用于在该解码器侧中的该目标片段的该一个或多个已解码帧中的该目标信号;
对于与多个随机存取段对应的该视频比特流,在从该视频比特流解码该多个随机存取段的一个随机存取段的一个随机接入点之后,用于该多个随机存取段的该随机存取段的神经网络参数集被切换到下一个神经网络参数集,以用于该多个随机存取段的下一个随机存取段。
11.一种视频编解码方法,用于视频编码器或解码器,该方法包括:
在编码器侧接收输入数据或在解码器侧接收视频比特流,其中该输入数据包括视频序列中的多个帧,或者该视频比特流包括与该视频序列中的多个帧相关联的压缩数据;以及
仅在该编码器侧的该视频序列的一个或多个特定编码帧中或仅在该解码器侧的该视频序列的一个或多个特定解码帧中,将神经网络处理应用于目标信号;其中该一个或多个特定编码帧或一个或多个特定解码帧是依据是否为参考帧、特定量化参数范围或目标切片类型编码决定。
12.根据权利要求11所述的视频编解码方法,其特征在于,该一个或多个特定编码帧或该一个或多个特定解码帧是预定义的。
13.根据权利要求11所述的视频编解码方法,其特征在于,该一个或多个特定编码帧或该一个或多个特定解码帧由在序列级或图像级中发送一个或多个语法元素指示。
14.根据权利要求11所述的视频编解码方法,其特征在于,该一个或多个特定编码帧或该一个或多个特定解码帧对应于一个或多个参考帧。
15.根据权利要求11所述的视频编解码方法,其特征在于,该一个或多个特定编码帧或该一个或多个特定解码帧对应于一个或多个非参考帧。
16.根据权利要求11所述的视频编解码方法,其特征在于,该一个或多个特定编码帧或该一个或多个特定解码帧对应于具有特定时间层或时间层范围的一个或多个帧。
17.根据权利要求11所述的视频编解码方法,其特征在于,该一个或多个特定编码帧或该一个或多个特定解码帧对应于紧接在I切片之后的一个或多个画面间帧。
18.根据权利要求11所述的视频编解码方法,其特征在于,该目标信号对应于重建残差,重建输出,解阻塞输出,样本自适应偏移输出,自适应环路滤波器输出,或其组合。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862658643P | 2018-04-17 | 2018-04-17 | |
US62/658,643 | 2018-04-17 | ||
US201862722231P | 2018-08-24 | 2018-08-24 | |
US62/722,231 | 2018-08-24 | ||
PCT/CN2019/082879 WO2019201239A1 (en) | 2018-04-17 | 2019-04-16 | Method and apparatus of neural network for video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111937392A CN111937392A (zh) | 2020-11-13 |
CN111937392B true CN111937392B (zh) | 2024-05-10 |
Family
ID=68239973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980022949.2A Active CN111937392B (zh) | 2018-04-17 | 2019-04-16 | 视频编解码的神经网络方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11470356B2 (zh) |
CN (1) | CN111937392B (zh) |
TW (1) | TWI729378B (zh) |
WO (1) | WO2019201239A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4193601A1 (en) * | 2020-11-19 | 2023-06-14 | Huawei Technologies Co., Ltd. | Method for chroma subsampled formats handling in machine-learning-based picture coding |
WO2022116165A1 (zh) * | 2020-12-04 | 2022-06-09 | 深圳市大疆创新科技有限公司 | 视频编码方法、解码方法、编码器、解码器以及ai加速器 |
US11716469B2 (en) | 2020-12-10 | 2023-08-01 | Lemon Inc. | Model selection in neural network-based in-loop filter for video coding |
WO2022128105A1 (en) * | 2020-12-17 | 2022-06-23 | Huawei Technologies Co., Ltd. | Decoding and encoding of neural-network-based bitstreams |
US11785068B2 (en) | 2020-12-31 | 2023-10-10 | Synaptics Incorporated | Artificial intelligence image frame processing systems and methods |
US20220224924A1 (en) * | 2021-01-11 | 2022-07-14 | Tencent America LLC | Hierarchical structure for neural network based tools in video coding |
WO2024006167A1 (en) * | 2022-06-29 | 2024-01-04 | Dolby Laboratories Licensing Corporation | Inter coding using deep learning in video compression |
WO2024078635A1 (en) * | 2022-10-14 | 2024-04-18 | Douyin Vision Co., Ltd. | Down-sampling methods and ratios for super-resolution based video coding |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104768011A (zh) * | 2015-03-31 | 2015-07-08 | 浙江大学 | 图像编解码方法和相关装置 |
CN107197260A (zh) * | 2017-06-12 | 2017-09-22 | 清华大学深圳研究生院 | 基于卷积神经网络的视频编码后置滤波方法 |
WO2017222140A1 (ko) * | 2016-06-24 | 2017-12-28 | 한국과학기술원 | Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치 |
CN107736027A (zh) * | 2015-06-12 | 2018-02-23 | 松下知识产权经营株式会社 | 图像编码方法、图像解码方法、图像编码装置及图像解码装置 |
CN107820085A (zh) * | 2017-10-31 | 2018-03-20 | 杭州电子科技大学 | 一种基于深度学习的提高视频压缩编码效率的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7034897B2 (en) * | 2002-04-01 | 2006-04-25 | Broadcom Corporation | Method of operating a video decoding system |
US8014651B2 (en) | 2003-06-26 | 2011-09-06 | International Business Machines Corporation | MPEG-2 decoder, method and buffer scheme for providing enhanced trick mode playback of a video stream |
US9479786B2 (en) | 2008-09-26 | 2016-10-25 | Dolby Laboratories Licensing Corporation | Complexity allocation for video and image coding applications |
JP5768662B2 (ja) * | 2011-10-31 | 2015-08-26 | 富士通株式会社 | 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム |
US9736476B2 (en) * | 2012-04-27 | 2017-08-15 | Qualcomm Incorporated | Full random access from clean random access pictures in video coding |
US20150237351A1 (en) | 2014-02-18 | 2015-08-20 | Penne Lee | Techniques for inclusion of region of interest indications in compressed video data |
US10474950B2 (en) * | 2015-06-29 | 2019-11-12 | Microsoft Technology Licensing, Llc | Training and operation of computational models |
EP3355578B1 (en) * | 2015-09-24 | 2020-12-09 | LG Electronics Inc. | Motion vector predictor derivation and candidate list construction |
EP3357245A4 (en) * | 2015-11-05 | 2019-03-13 | MediaTek Inc. | METHOD AND DEVICE OF INTERPRESSATION USING AN AVERAGE MOTION VECTOR FOR VIDEO CODING |
WO2017105097A1 (ko) * | 2015-12-17 | 2017-06-22 | 삼성전자 주식회사 | 머지 후보 리스트를 이용한 비디오 복호화 방법 및 비디오 복호화 장치 |
US10402700B2 (en) | 2016-01-25 | 2019-09-03 | Deepmind Technologies Limited | Generating images using neural networks |
CN109074512B (zh) * | 2016-02-05 | 2023-05-09 | 渊慧科技有限公司 | 使用神经网络压缩图像 |
ES2853700T3 (es) * | 2016-04-15 | 2021-09-17 | Magic Pony Tech Limited | Compensación de movimiento utilizando interpolación de imagen temporal |
GB201607879D0 (en) * | 2016-05-05 | 2016-06-22 | Magic Pony Technology Ltd | Video encoding using hierarchical algorithms |
US11113800B2 (en) * | 2017-01-18 | 2021-09-07 | Nvidia Corporation | Filtering image data using a neural network |
CN107396124B (zh) * | 2017-08-29 | 2019-09-20 | 南京大学 | 基于深度神经网络的视频压缩方法 |
US10341670B1 (en) * | 2017-09-26 | 2019-07-02 | Amazon Technologies, Inc. | Video encoder bit rate stabilization |
CN107767343B (zh) * | 2017-11-09 | 2021-08-31 | 京东方科技集团股份有限公司 | 图像处理方法、处理装置和处理设备 |
-
2019
- 2019-04-16 US US17/047,244 patent/US11470356B2/en active Active
- 2019-04-16 CN CN201980022949.2A patent/CN111937392B/zh active Active
- 2019-04-16 WO PCT/CN2019/082879 patent/WO2019201239A1/en active Application Filing
- 2019-04-17 TW TW108113357A patent/TWI729378B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104768011A (zh) * | 2015-03-31 | 2015-07-08 | 浙江大学 | 图像编解码方法和相关装置 |
CN107736027A (zh) * | 2015-06-12 | 2018-02-23 | 松下知识产权经营株式会社 | 图像编码方法、图像解码方法、图像编码装置及图像解码装置 |
WO2017222140A1 (ko) * | 2016-06-24 | 2017-12-28 | 한국과학기술원 | Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치 |
CN107197260A (zh) * | 2017-06-12 | 2017-09-22 | 清华大学深圳研究生院 | 基于卷积神经网络的视频编码后置滤波方法 |
CN107820085A (zh) * | 2017-10-31 | 2018-03-20 | 杭州电子科技大学 | 一种基于深度学习的提高视频压缩编码效率的方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI729378B (zh) | 2021-06-01 |
US11470356B2 (en) | 2022-10-11 |
CN111937392A (zh) | 2020-11-13 |
WO2019201239A1 (en) | 2019-10-24 |
US20210168405A1 (en) | 2021-06-03 |
TW201945988A (zh) | 2019-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111133756B (zh) | 用于视频编码的神经网络方法和装置 | |
CN111937392B (zh) | 视频编解码的神经网络方法和装置 | |
US11589041B2 (en) | Method and apparatus of neural network based processing in video coding | |
US9525884B2 (en) | Method and apparatus of slice boundary filtering for high efficiency video coding | |
US11303900B2 (en) | Method and apparatus for motion boundary processing | |
US20210400311A1 (en) | Method and Apparatus of Line Buffer Reduction for Neural Network in Video Coding | |
CN111699686B (zh) | 用于视频编解码的分组神经网络的方法以及装置 | |
CN113994670A (zh) | 具有虚拟边界的跨分量自适应环路滤波的视频编解码方法及装置 | |
JP2023507270A (ja) | ピクチャ境界におけるブロック区分のための方法及び装置 | |
JP7399928B2 (ja) | 画像復号装置、画像復号方法及びプログラム | |
KR102648464B1 (ko) | 지도 학습을 이용한 영상 개선 방법 및 장치 | |
RU2765428C1 (ru) | Устройство кодирования изображений, устройство декодирования изображений, способы управления ими и программа | |
WO2023134731A1 (en) | In-loop neural networks for video coding | |
CN116349225A (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 |