CN116888961A - 使用ai的用于图像编码和解码的设备及其用于图像编码和解码的方法 - Google Patents

使用ai的用于图像编码和解码的设备及其用于图像编码和解码的方法 Download PDF

Info

Publication number
CN116888961A
CN116888961A CN202280016015.XA CN202280016015A CN116888961A CN 116888961 A CN116888961 A CN 116888961A CN 202280016015 A CN202280016015 A CN 202280016015A CN 116888961 A CN116888961 A CN 116888961A
Authority
CN
China
Prior art keywords
current
neural network
optical flow
data
image
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
CN202280016015.XA
Other languages
English (en)
Inventor
Q·丁
崔光杓
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020210157089A external-priority patent/KR20220120432A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority claimed from PCT/KR2022/002486 external-priority patent/WO2022177382A1/ko
Publication of CN116888961A publication Critical patent/CN116888961A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种使用AI的图像解码方法,可以包括:从与当前图像对应的比特流获得当前光流的特征数据和当前差分数据的特征数据;通过将所述当前光流的特征数据应用于基于神经网络的第一解码器来获得所述当前光流;将当前光流的特征数据和先前光流的特征数据中的至少一个应用于第一预处理神经网络;通过将从所述第一预处理神经网络获得的特征数据与所述当前差分数据的特征数据级联来获得第一级联结果;通过将所述第一级联结果应用于基于神经网络的第二解码器来获得所述当前差分数据;以及使用当前差分数据和基于当前光流从先前重建图像生成的当前预测图像来重建当前图像。

Description

使用AI的用于图像编码和解码的设备及其用于图像编码和解 码的方法
技术领域
本公开涉及图像编码和解码。更具体地,本公开涉及使用人工智能(AI)(例如,神经网络)的图像编码和解码技术。
背景技术
诸如H.264高级视频编码(AVC)和高效视频编码(HEVC)的编解码器可以将图像划分成块,并且通过帧间预测或帧内预测来预测地编码和解码每个块。
帧内预测是通过去除图像中的空间冗余来压缩图像的方法,并且帧间预测是通过去除图像之间的时间冗余来压缩图像的方法。
帧间预测的代表性示例是运动估计编码。运动估计编码通过使用参考图像来预测当前图像的块。可以通过使用某个评估函数在某个搜索范围内找到与当前块最相似的参考块。基于参考块预测当前块,并且通过从当前块中减去作为预测结果生成的预测块来生成和编码差分块。
为了计算指示参考图像中的参考块的运动向量,可以将先前编码的块的运动向量用作当前块的预测运动向量。与当前块的运动向量和预测运动向量之间的差相对应的差分运动向量以某种方式被用信号通知给解码器。
发明内容
技术问题
提供了能够更准确地重构图像的光流和差分数据的图像编码和解码装置和方法。
还提供了能够减小作为对图像进行编码的结果而获得的比特流的大小并改善重构图像的性能的图像编码和解码装置和方法。
技术解决方案
根据本公开的一方面,一种使用人工智能(AI)的图像解码方法包括:从与当前图像相对应的比特流获得当前光流的特征数据和当前差分数据的特征数据;通过将所述当前光流的特征数据应用于基于神经网络的第一解码器来获得所述当前光流;将当前光流的特征数据和先前光流的特征数据中的至少一个应用于第一预处理神经网络;通过将从所述第一预处理神经网络获得的特征数据与所述当前差分数据的特征数据级联来获得第一级联结果;通过将所述第一级联结果应用于基于神经网络的第二解码器来获得所述当前差分数据;以及使用当前差分数据和基于当前光流从先前重建图像生成的当前预测图像来重建当前图像。
有益效果
根据本公开实施例的图像编码和解码装置和方法可以更准确地重建图像的光流和差分数据。
另外,根据本公开实施例的图像编码和解码装置和方法可以减小作为对图像进行编码的结果而获得的比特流的大小,并且提高重构图像的性能。
附图说明
图1是示出根据实施例的基于人工智能(AI)的预测图像编码和解码过程的图。
图2是示出根据实施例的连续图像、连续图像之间的光流和连续图像之间的差分数据的示例的图。
图3是根据实施例的图像解码装置的框图。
图4是根据实施例的图3中所说明的获得器的框图。
图5是根据实施例的图3所示的预测解码器的框图。
图6是用于描述根据实施例的通过使用第一预处理神经网络来重建当前差分数据的过程的图。
图7是用于描述根据实施例的通过使用第二预处理神经网络来重建当前光流的过程的图。
图8是用于描述根据实施例的通过使用第三预处理神经网络来重建当前光流的过程的图。
图9是用于描述根据实施例的通过使用第四预处理神经网络来重建当前差分数据的过程的图。
图10是用于描述根据实施例的通过使用第一预处理神经网络、第二预处理神经网络、第三预处理神经网络和第四预处理神经网络来重建当前光流和当前差分数据的过程的图。
图11是根据实施例的图像解码方法的流程图。
图12是根据实施例的图像编码装置的框图。
图13是根据实施例的图12所示的预测编码器的框图。
图14是根据实施例的图12中所示的生成器的框图。
图15是根据实施例的图像编码方法的流程图。
图16是示出根据实施例的神经网络的架构的示例的图。
图17是用于描述根据实施方式的由图16所示的卷积层执行的卷积运算的图。
图18是用于描述根据实施例的训练第一解码器、第二解码器、第一编码器、第二编码器和预处理神经网络的方法的图。
图19是用于描述根据实施例的由训练装置执行的训练第一解码器、第二解码器、第一编码器、第二编码器和预处理神经网络的过程的图。
具体实施方式
根据本公开的一方面,一种使用人工智能(AI)的图像解码方法包括:从与当前图像相对应的比特流获得当前光流的特征数据和当前差分数据的特征数据;通过将所述当前光流的特征数据应用于基于神经网络的第一解码器来获得所述当前光流;将当前光流的特征数据和先前光流的特征数据中的至少一个应用于第一预处理神经网络;通过将从所述第一预处理神经网络获得的特征数据与所述当前差分数据的特征数据级联来获得第一级联结果;通过将所述第一级联结果应用于基于神经网络的第二解码器来获得所述当前差分数据;以及使用当前差分数据和基于当前光流从先前重建图像生成的当前预测图像来重建当前图像。
获得当前光流可以包括将先前光流的特征数据应用于第二预处理神经网络;通过级联所述当前光流的特征数据和从所述第二预处理神经网络获得的特征数据来获得第二级联结果;以及通过将第二级联结果应用于基于神经网络的第一解码器来获得当前光流。
获得当前光流可以包括将先前差分数据的特征数据应用于第三预处理神经网络;通过级联所述当前光流的特征数据和从所述第三预处理神经网络获得的特征数据来获得第三级联结果;以及通过将第三级联结果应用于基于神经网络的第一解码器来获得当前光流。
获得当前差分数据可以包括将先前差分数据的特征数据应用于第四预处理神经网络;通过级联所述当前差分数据的特征数据、从所述第一预处理神经网络获得的特征数据和从所述第四预处理神经网络获得的特征数据来获得第四级联结果;以及通过将第四级联结果应用于基于神经网络的第二解码器来获得当前差分数据。
当前图像的重建可以包括通过基于当前光流扭曲先前重建图像来生成当前预测图像。
可以通过对比特流执行熵解码和逆量化来获得当前光流的特征数据和当前差分数据的特征数据。
基于神经网络的第一解码器、基于神经网络的第二解码器和第一预处理神经网络中的至少一个可以基于第一损失信息、第二损失信息和第三损失信息来训练,第一损失信息对应于当前训练图像和与当前训练图像相对应的当前重建训练图像之间的差异,第二损失信息对应于当前训练图像的光流的特征数据的熵,第三损失信息对应于当前训练图像的差分数据的特征数据的熵。
根据本发明的一方面,一种使用人工智能(AI)的图像解码装置包含至少一个处理器,其配置来实施:比特流获得器,其经配置以获得当前图像的比特流;以及预测解码器,被配置为:从比特流获得当前光流的特征数据和当前差分数据的特征数据,通过将当前光流的特征数据应用于基于神经网络的第一解码器来获得当前光流,将当前光流的特征数据和先前光流的特征数据中的至少一个应用于第一预处理神经网络,通过将从第一预处理神经网络获得的特征数据与当前差分数据的特征数据级联来获得级联结果,通过将所述级联结果应用于基于神经网络的第二解码器来获得所述当前差分数据,并且使用所述当前差分数据和基于所述当前光流从先前重建图像生成的当前预测图像来重建所述当前图像。
根据本公开的一个方面,一种使用人工智能(AI)的图像编码方法包括:通过将当前图像和先前重建图像应用于基于神经网络的第一编码器来获得当前光流的特征数据;通过将所述当前光流的特征数据应用于基于神经网络的第一解码器来获得所述当前光流;基于所述先前重建图像和所述当前光流来生成当前预测图像;获得所述当前图像与所述当前预测图像之间的当前差分数据;通过将所述当前差分数据应用于基于神经网络的第二编码器来获得所述当前差分数据的特征数据;以及基于当前光流的特征数据和当前差分数据的特征数据来生成比特流。
根据本公开的一方面,一种使用人工智能(AI)的图像解码方法包括:从与当前图像相对应的比特流获得当前光流的特征数据和当前差分数据的特征数据;执行第一神经网络预处理操作、第二神经网络预处理操作、第三神经网络预处理操作和第四神经网络预处理操作中的至少一个;通过将所述当前光流的所述特征数据与所述第二神经网络预处理操作的结果和所述第三神经网络预处理操作的结果中的至少一个级联来获得第一级联结果;通过将所述第一级联结果应用于基于神经网络的第一解码器来获得所述当前光流;通过将所述当前差分数据的所述特征数据与所述第一神经网络预处理操作的结果和所述第四神经网络预处理操作的结果中的至少一个级联来获得第二级联结果;通过将所述第二级联结果应用于基于神经网络的第二解码器来获得所述当前差分数据;以及通过基于当前光流扭曲先前重建图像并将当前差分数据应用于扭曲的先前重建图像来重建当前图像,其中第一神经网络预处理操作包括将当前光流的特征数据和先前光流的特征数据中的至少一个应用于第一预处理神经网络,其中第二神经网络预处理操作包括将先前光流的特征数据应用于第二预处理神经网络。其中所述第三神经网络预处理操作包括将先前差分数据的特征数据应用于第三预处理神经网络,并且其中所述第四神经网络预处理操作包括将所述先前差分数据的所述特征数据应用于第四预处理神经网络。
发明模式
虽然本公开的实施例易于进行各种修改和替代形式,但是其具体实施例在附图中以示例的方式示出并且将在本文中详细描述。然而,应当理解并不意图将本公开的实施例限制于所公开的特定形式,而是相反,本公开的实施例将覆盖落入本公开范围内的所有修改、等同物和替代物。
在下文中,当对本文中并入的已知功能和配置的详细描述可能使本公开的主题不清楚时,将省略对其的详细描述。应当理解,本文使用的术语“第一”、“第二”等仅用于将一个元件与另一个元件区分开。
在整个公开内容中,表述“a、b或c中的至少一个”表示仅a、仅b、仅c、a和b两者、a和c两者、b和c两者、a、b和c中的全部或其变体。
还应当理解,在本公开中,当元件被称为“连接”或“耦合”到另一元件时,它可以直接连接或耦合到另一元件,或者通过中间元件连接或耦合到另一元件,除非上下文另有明确说明。
如本领域中传统的,可以根据执行所描述的一个或多个功能的块来描述和示出实施例。如附图中所示,这些块在本文中可以被称为“单元”或“模块”等,或者被称为诸如编码器、解码器、获得器、量化器、变换器、减法器等的名称,这些块可以由模拟或数字电路(诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)物理地实现,并且可以由固件和软件驱动。电路可以例如体现在一个或多个半导体芯片中,或者体现在诸如印刷电路板等的衬底支撑件上。包括在块中的电路可以由专用硬件实现,或者由处理器(例如,一个或多个编程的微处理器和相关联的电路)实现,或者由执行块的一些功能的专用硬件和执行块的其他功能的处理器的组合实现。实施例的每个块可以物理地分成两个或更多个交互和离散的块。同样地,实施例的块可以物理地组合成更复杂的块。
在本公开中,表示为“单元”、“模块”等的两个或更多个元件可以组合成一个元件,或者一个元件可以被划分成用于细分功能的两个或更多个元件。本文描述的每个元件不仅可以执行其主要功能,而且还可以附加地执行其他元件的一些或所有功能,并且每个元件的一些主要功能可以由另一元件排他地执行。
如本文所使用的,术语“图像”可以指静止图像、包括多个连续静止图像或帧的运动图像或视频。
“神经网络”可以是模拟脑神经的人工神经网络模型的代表性示例,并且实施例不限于使用特定算法的人工神经网络模型。神经网络也可以被称为深度神经网络。
在本公开中,“参数”可以是用于由神经网络中包括的每个层进行计算的值,并且可以用于例如将输入值应用于某个运算公式。参数可以是作为训练的结果而设置的值,并且可以在必要时基于单独的训练数据来更新。
“特征数据”可以指通过由基于神经网络的编码器处理输入数据而获得的数据。特征数据可以是包括多个样本的1维或2维数据。特征数据也可以被称为潜在表示。特征数据可以表示由下面描述的解码器输出的数据的潜在特征。
“当前图像”可以指代当前要处理的图像,“当前光流”指代针对当前图像获得的光流,并且“当前差分数据”指代针对当前图像获得的差分数据。
“先前图像”可指将在当前图像之前处理的图像,“先前光流”指针对先前图像获得的光流,且“先前差分数据”指针对先前图像获得的差分数据。
“样本”可以对应于分配给图像、特征图或特征数据中的采样位置的数据,并且指代要处理的数据。举例来说,样本可为空间域的帧中的像素值。
图1是示出基于人工智能(AI)的预测图像编码和解码过程的图。
图1示出了基于帧间预测对当前图像xi进行编码和解码的过程,并且第一编码器110、第二编码器130、第一解码器150和第二解码器170用于帧间预测。第一编码器110、第二编码器130、第一解码器150和第二解码器170被实现为神经网络。
帧间预测是通过使用当前图像xi与先前重建图像yi-1之间的时间冗余来对当前图像xi进行编码/解码的过程,并且使用当前图像xi中的块或样本与先前重建图像yi-1中的参考块或参考样本之间的位置差(或运动向量)来对当前图像xi进行编码和解码。这些位置差异可以被称为光流。光流可以被定义为对应于图像中的样本或块的一组运动向量。
光流表示先前重建图像yi-1中的样本的位置如何在当前图像xi中改变,或者当前图像xi的样本在先前重建图像yi-1中的位置。例如,当位于先前重建图像yi-1中的(1,1)处的样本位于当前图像xi中的(2,1)处时,样本的光流或运动向量可以被计算为(1(=2-1),0(=1-1))。
在使用AI的图像编码和解码过程中,第一编码器110和第一解码器150用于获得当前图像xi的当前光流gi
具体地,前一重构图像yi-1和当前图像xi被输入到第一编码器110。第一编码器110通过基于作为训练结果设置的参数处理当前图像xi和先前重建图像yi-1来输出当前光流的特征数据wi
当前光流的特征数据wi被输入到第一解码器150。第一解码器150通过基于作为训练结果设置的参数处理输入特征数据wi来输出当前光流gi
基于当前光流gi对先前重建图像yi-1进行扭曲(warp),例如通过扭曲190,并且作为扭曲190的结果获得当前预测图像x’i
扭曲190是用于改变图像中的样本的位置的一种几何变换。类似于当前图像xi的当前预测图像x’i可以通过基于表示在先前重建图像yi-1中的样本与当前图像xi中的样本之间的相对位置的光流gi对先前重建图像yi-1进行扭曲(例如通过扭曲190)来获得。例如,当位于先前重建图像yi-1中的(1,1)处的样本与位于当前图像xi中的(2,1)处的样本最相似时,可以通过扭曲190将位于先前重建图像yi-1中的(1,1)处的样本的位置改变为(2,1)。
因为使用先前重建图像yi-1生成的当前预测图像x’i不是当前图像xi本身,所以可以获得当前预测图像x’i与当前图像xi之间的当前差分数据ri。例如,可以通过从当前图像xi中的样本值中减去当前预测图像x’i中的样本值来获得当前差分数据ri
当前差分数据ri被输入到第二编码器130。第二编码器130通过基于作为训练结果设置的参数处理当前差分数据ri来输出当前差分数据的特征数据vi
当前差分数据的特征数据vi被输入到第二解码器170。第二解码器170通过基于作为训练结果设置的参数处理输入特征数据vi来输出当前差分数据r’i
通过组合当前差分数据r’i和通过扭曲先前重建图像yi-1(例如通过扭曲190)生成的当前预测图像x’i来获得当前重建图像yi
在图1所示的帧间预测过程中,第一解码器150通过处理当前光流的特征数据wi来输出当前光流gi,并且第二解码器170通过处理当前差分数据的特征数据vi来输出当前差分数据r’i
也即,如图1所示,仅当前光流的特征数据wi用于由第一解码器150处理,并且仅当前差分数据的特征数据vi用于由第二解码器170处理。然而,除了当前光流的特征数据wi和当前差分数据的特征数据vi之外的数据(例如,下面描述的先前光流和先前差分数据)也可以直接或间接地包括关于当前图像xi的信息,因此可以通过将包括关于当前图像xi的信息的其他数据输入到第一解码器150和第二解码器170来准确地重建当前光流gi和当前差分数据r’i
现在将参考图2描述在连续图像之间获得的光流和差分数据之间的关系的示例。
参考图2,在当前图像23和第一先前图像22之间获得第一光流25,并且在第一先前图像22和第二先前图像21之间获得第二光流24。
图2中所示的第一光流25和第二光流24基于运动向量的幅度和每个光流中包括的样本的值来可视化。第一光流25可以被称为当前光流,并且第二光流24可以被称为先前光流。
基于当前图像23和第一先前图像22获得第一差分数据27,并且基于第一先前图像22和第二先前图像21获得第二差分数据26。
例如,可以获得与当前图像23和通过基于第一光流25处理(例如,扭曲)第一先前图像22而获得的图像之间的差异相对应的第一差分数据27。另外,可以获得与第一先前图像22和通过基于第二光流24处理(例如,扭曲)第二先前图像21而获得的图像之间的差异相对应的第二差分数据26。
第一差分数据27可以被称为当前差分数据,并且第二差分数据26可以被称为先前差分数据。
参考图2,可以检查在第一光流25、第二光流24、第一差分数据27和第二差分数据26之间的相似性。例如,可以检查第一光流25中的区域A、第二光流24中的区域B、第一差分数据27中的区域C和第二差分数据26中的区域D的采样值的相似性。
因为第一光流25表示第一先前图像22的样本的位置在当前图像23中改变了多少以及在哪些方向上改变,所以可能存在第一光流25中具有大值的样本在第一差分数据27中也具有大值的高概率。这是因为第一差分数据27中的特定位置处的样本的值对应于当前图像23和作为处理第一先前图像22的结果而生成的图像中的相同位置处的样本值之间的差异,并且由于第一先前图像22中的对象的运动,相同位置处的样本具有不同值的概率可能很高。
另外,因为时间上连续的图像中的对象倾向于线性移动,所以可以预测第一光流25和第二光流24之间的相似性,并且同样地,可以预测第一差分数据27和第二差分数据26之间的相似性。
也就是说,当使用先前光流(例如,第二光流24)和先前差分数据(例如,第二差分数据26)来重建当前图像23的当前光流(例如,第一光流25)和当前差分数据(例如,第一差分数据27)时,可以准确地重建当前光流和当前差分数据。
图3是根据本公开的实施例的图像解码装置300的框图。
参考图3,根据本公开实施例的图像解码装置300包括获得器310和预测解码器330,获得器310可以是例如比特流获得器。
获得器310及预测解码器330可实施为处理器,且基于存储于存储器中的指令而操作。
尽管获得器310和预测解码器330在图3中单独示出,但是在实施例中,获得器310和预测解码器330可以实现为一个元件,例如一个处理器。在此情况下,获得器310和预测解码器330可实施为专用处理器,或软件与通用处理器(例如应用处理器(AP)、中央处理单元(CPU)或图形处理单元(GPU))的组合。专用处理器可以包括用于实现本公开的实施例的存储器,或者包括用于使用外部存储器的存储器处理器。
在实施例中,获得器310和预测解码器330可以被实现为多个处理器。在此情况下,获得器310和预测解码器330可实施为专用处理器的组合,或软件和通用处理器(例如AP、CPU或GPU)的组合。
获得器310获得包括对当前图像进行编码的结果的比特流。
获得器310可以从下面描述的图像编码装置1200接收通过网络发送的比特流。在本公开的实施例中,获得器310可以从包括磁介质(例如,硬盘、软盘或磁带)、光学介质(例如,光盘只读存储器(CD-ROM)或数字通用光盘(DVD))或磁光介质(例如,光磁盘)的数据存储介质获得比特流。
获得器310通过解析比特流来获得当前光流的特征数据和当前差分数据的特征数据。
作为上述基于神经网络的编码器的处理的结果,可以获得当前光流的特征数据和当前差分数据的特征数据。
在本公开的实施例中,获得器310可以获得与当前光流的特征数据相对应的第一比特流和与当前差分数据的特征数据相对应的第二比特流,并且通过分别解析第一比特流和第二比特流来获得当前光流的特征数据和当前差分数据的特征数据。
当前光流的特征数据和当前差分数据的特征数据被发送到预测解码器330,并且预测解码器330通过使用当前光流的特征数据和当前差分数据的特征数据来获得与当前图像相对应的当前重构图像。
现在将参考图4和图5详细描述获得器310和预测解码器330的操作的示例。
图4是图3中所说明的获得器310的框图。
参照图4,获得器310包括熵解码器311和逆量化器313。
熵解码器311通过对比特流中包括的二进制进行熵编码来获得当前光流的量化特征数据和当前差分数据的量化特征数据。
逆量化器313通过对当前光流的量化特征数据和当前差分数据的量化特征数据进行逆量化来获得当前光流的特征数据和当前差分数据的特征数据。
取决于实施方案,在实施例中,获得器310可进一步包含逆变换器。逆变换器将从逆量化器313输出的特征数据从频域逆变换到空间域。当下面描述的图像编码装置1200已经将当前光流的特征数据和当前差分数据的特征数据从空间域变换到频域时,逆变换器将从逆量化器313输出的特征数据从频域逆变换到空间域。
根据实施方式,在实施例中,获得器310可以不包括逆量化器313。也即,可以通过熵解码器311的处理来获得当前光流的特征数据和当前差分数据的特征数据。
根据实施方式,在实施例中,获得器310可以仅通过对比特流中包括的二值化进行逆二值化来获得当前光流的特征数据和当前差分数据的特征数据。这可以针对图像编码装置1200已经通过对当前光流的特征数据和当前差分数据的特征数据进行二值化来生成比特流的情况(即,图像编码装置1200尚未对当前光流的特征数据和当前差分数据的特征数据应用熵编码、变换和量化的情况)来执行。
图5是图3所示的预测解码器330的框图。
参考图5,预测解码器330可包括预处理神经网络339、第一解码器331、第二解码器333、运动补偿器335和组合器337。
预处理神经网络339、第一解码器331和第二解码器333可以存储在存储器中。在本公开的实施例中,预处理神经网络339、第一解码器331和第二解码器333可以被实现为用于AI的至少一个专用处理器。
尽管图5中示出了一个预处理神经网络339,但是如下文参考图6至图10所述,预测解码器330可以使用多个预处理神经网络。
从获得器310输出的当前光流的特征数据被输入到第一解码器331,并且从获得器310输出的当前差分数据的特征数据被输入到第二解码器333。当前光流的特征数据、先前光流的特征数据或先前差分数据的特征数据中的至少一个由预处理神经网络339处理,然后被输入到第一解码器331或第二解码器333。
如上面参考图1和图2所述,通过不仅将当前光流的特征数据和当前差分数据的特征数据而且将通过预处理神经网络339获得的数据输入到第一解码器331和第二解码器333,可以准确地重建当前光流和当前差分数据。
例如,当使用具有相似特征的先前光流的特征数据和当前光流的特征数据来重建当前光流时,与仅使用当前光流的特征数据的情况相比,可以改善重建的性能。
下面将参考图6至图10详细描述通过使用预处理神经网络339来重建当前光流和当前差分数据的过程的示例。
通过第一解码器331获得的当前光流被提供给运动补偿器335,并且通过第二解码器333获得的当前差分数据被提供给组合器337。
运动补偿器335通过基于当前光流处理先前重构图像来生成与当前图像类似的当前预测图像。先前重构图像是通过对在处理当前图像之前要处理的先前图像进行解码而重构的图像。
运动补偿器335可以扭曲先前重构图像以生成当前预测图像。用于生成当前预测图像的扭曲是示例,并且运动补偿器335可以对先前重构图像应用各种类型的图像处理以改变先前重构图像中的样本的位置。
由运动补偿器335生成的当前预测图像被提供给组合器337。
组合器337通过组合当前预测图像和当前差分数据来获得当前重构图像。例如,组合器337可通过对当前预测图像的样本值与当前差分数据的样本值求和来获得当前重构图像。当前重构图像可用于解码下一图像。
现在将参考图6至图10详细描述通过使用预处理神经网络339、第一解码器331和第二解码器333来重建当前光流和当前差分数据的过程的示例。
图6是用于描述根据本公开的实施例的通过使用第一预处理神经网络600来重建当前差分数据的过程的图。
参考图6,当前光流的特征数据被输入到第一解码器331,并且当前光流作为由第一解码器331处理的结果而被获得。
与将当前光流的特征数据输入到第一解码器331分开,将当前光流的特征数据或先前光流的特征数据中的至少一个输入到第一预处理神经网络600。
第一预处理神经网络600基于作为训练结果而设置的参数来处理输入特征数据。通过第一预处理神经网络600的处理获得的特征数据与当前差分数据的特征数据级联,然后输入到第二解码器333。在本文中,级联可以指代在信道方向上组合两条或更多条特征数据的过程。
第二解码器333通过处理输入的特征数据来输出当前差分数据。
在图6所示的本公开的实施例中,当前光流的特征数据或先前光流的特征数据中的至少一个用于重建当前差分数据。也即,可以通过使用当前光流的特征数据或与当前差分数据相关的先前光流的特征数据中的至少一个来改善重建当前差分数据的性能。
为了具体描述在当前差分数据与当前光流和先前光流之间的相关性,最初,因为使用当前图像和当前预测图像获得当前差分数据,并且使用当前图像和先前重建图像获得当前光流,所以可以容易地找到它们之间的相关性,因为它们都包括关于当前图像的信息。
因为使用先前图像和在处理先前图像之前重建的图像来获得先前光流,并且使用当前图像和使用与先前图像对应的先前重建图像生成的当前预测图像来获得当前差分数据,所以先前光流和当前差分数据都包括关于先前图像的信息。
另外,如上面参考图2所述,在先前光流和当前光流之间可能存在相似性,因此可以找到先前光流和经由当前光流的当前差分数据之间的相关性。
第一预处理神经网络600可以用于改变当前光流的特征数据和/或先前光流的特征数据的域,并且补偿当前差分数据与当前光流的特征数据和/或先前光流的特征数据之间的不匹配。
具体地,第一预处理神经网络600可以将当前光流的特征数据和/或先前光流的特征数据从光流域改变到差分数据域。因为光流的特征数据表示光流的潜在特征,并且差分数据的特征数据表示差分数据的潜在特征,所以第一预处理神经网络600可以将其域改变为相同的。
另外,第一预处理神经网络600可以处理当前光流的特征数据和/或先前光流的特征数据,使得通过第一预处理神经网络600获得的特征数据更类似于当前差分数据的特征数据。在当前差分数据与当前光流的特征数据和/或先前光流的特征数据之间的不匹配可以包括例如采样值的差异或采样位置的差异,并且第一预处理神经网络600可以补偿该不匹配。
图7是用于描述根据本公开的实施例的通过使用第二预处理神经网络700来重建当前光流的过程的图。
参照图7,当前差分数据的特征数据被输入到第二解码器333,并且当前差分数据作为第二解码器333的处理结果而被获得。
先前光流的特征数据被输入到第二预处理神经网络700,并且通过第二预处理神经网络700的处理获得的特征数据与当前光流的特征数据级联,然后被输入到第一解码器331。第一解码器331通过处理输入的特征数据来输出当前光流。
在图7所示的本公开的实施例中,先前光流的特征数据用于重建当前光流。也即,可以通过使用与当前光流相关的先前光流的特征数据来改善重建当前光流的性能。
如上参考图2所述,时间上连续的图像中的对象倾向于线性移动,因此可以找到在当前光流和先前光流之间的相关性。
第二预处理神经网络700可以用于补偿在当前光流的特征数据与先前光流的特征数据之间的不匹配。具体地,第二预处理神经网络700可以处理先前光流的特征数据,使得通过第二预处理神经网络700获得的特征数据更类似于当前光流的特征数据。在当前光流的特征数据与先前光流的特征数据之间的不匹配可以包括例如样本值的差异或样本位置的差异,并且第二预处理神经网络700可以补偿该不匹配。
图8是用于描述根据本公开的实施例的通过使用第三预处理神经网络800来重建当前光流的过程的图。
参照图8,当前差分数据的特征数据被输入到第二解码器333,并且当前差分数据作为第二解码器333的处理结果而被获得。
先前差分数据的特征数据被输入到第三预处理神经网络800,并且通过第三预处理神经网络800获得的特征数据与当前光流的特征数据级联,然后被输入到第一解码器331。第一解码器331通过处理输入的特征数据来输出当前光流。
在图8所示的本公开的实施例中,先前的差分数据用于重建当前光流。也就是说,可以通过使用与当前光流相关的先前差分数据的特征数据来改善重建当前光流的性能。
为了描述先前差分数据和当前光流之间的相关性,最初,因为使用当前图像和先前重构图像获得当前光流,使用先前图像和先前预测图像获得先前差分数据,并且先前重构图像对应于先前图像,所以示出了先前差分数据和当前光流两者都包括关于先前图像的信息。
第三预处理神经网络800可以用于改变先前差分数据的特征数据的域,并补偿在当前光流和先前差分数据之间的不匹配。
具体地,第三预处理神经网络800可以将先前差分数据的特征数据从差分数据域改变到光流域。
另外,第三预处理神经网络800可以以通过第三预处理神经网络800获得的特征数据更类似于当前光流的特征数据的方式处理先前差分数据的特征数据。先前差分数据的特征数据与当前光流的特征数据之间的不匹配可以包括例如采样值的差异或采样位置的差异,并且第三预处理神经网络800可以补偿该不匹配。
如图8所示,当前差分数据的特征数据不用于重建当前光流。如下面参考图12至图15所述,图像编码装置1200可以在重建当前光流之后获得当前差分数据。也即,根据实施例,因为图像编码装置1200可以不使用当前差分数据来重建当前光流,所以图像解码装置300不使用当前差分数据的特征数据来重建当前光流。
图9是用于描述根据本公开的实施例的通过使用第四预处理神经网络900来重建当前差分数据的过程的图。
参考图9,当前光流的特征数据被输入到第一解码器331,并且当前光流作为由第一解码器331处理的结果而被获得。
先前差分数据的特征数据被输入到第四预处理神经网络900,并且通过第四预处理神经网络900获得的特征数据与当前差分数据的特征数据级联,然后被输入到第二解码器333。第二解码器333通过处理输入的特征数据来输出当前差分数据。
在图9所示的本公开的实施例中,先前差分数据的特征数据用于重建当前差分数据。也即,可以通过使用与当前差分数据相关的先前差分数据的特征数据来改善重建当前差分数据的性能。
如上文参考图2所描述,时间上连续的图像中的对象倾向于线性移动,且因此可找到当前差分数据与先前差分数据之间的相关性。
第四预处理神经网络900可以用于补偿在当前差分数据的特征数据与先前差分数据的特征数据之间的不匹配。具体地,第四预处理神经网络900可以以通过第四预处理神经网络900获得的特征数据更类似于当前差分数据的特征数据的方式处理先前差分数据的特征数据。在当前差分数据的特征数据与先前差分数据的特征数据之间的不匹配可以包括例如采样值的差异或采样位置的差异,并且第四预处理神经网络900可以补偿该不匹配。
图10是用于描述根据本公开的实施例的通过使用第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800和第四预处理神经网络900来重建当前光流和当前差分数据的过程的图。
图像解码装置300可以通过使用上述第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800或第四预处理神经网络900中的至少一个来重建当前光流和当前差分数据。
图10示出了图像解码装置300通过使用第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800和第四预处理神经网络900的全部来重建当前光流和当前差分数据的过程。
如图10所示,先前光流的特征数据由第二预处理神经网络700处理,并且先前差分数据的特征数据由第三预处理神经网络800处理。从第二预处理神经网络700和第三预处理神经网络800输出的特征数据与当前光流的特征数据级联,然后输入到第一解码器331。第一解码器331通过处理输入特征数据来重建当前光流。
为了描述输入到第二解码器333的数据,由第一预处理神经网络600处理当前光流的特征数据或先前光流的特征数据中的至少一个,并且由第四预处理神经网络900处理先前差分数据的特征数据。从第一预处理神经网络600和第四预处理神经网络900输出的特征数据与当前差分数据的特征数据级联,然后输入到第二解码器333。第二解码器333通过处理输入的特征数据来重构当前差分数据。
尽管第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800和第四预处理神经网络900都用于重建图10中的当前光流和当前差分数据,但是图10仅仅是示例,并且图像解码装置300可以不使用第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800或第四预处理神经网络900中的至少一个。
图11是根据本公开的实施例的图像解码方法的流程图。
在操作S1110中,图像解码装置300通过使用比特流来获得当前光流的特征数据和当前差分数据的特征数据。
图像解码装置300可以通过对比特流中包括的二进制应用逆二值化、熵解码、逆量化或逆变换中的至少一个来获得当前光流的特征数据和当前差分数据的特征数据。
在操作S1120中,图像解码装置300通过将当前光流的特征数据应用于第一解码器331来获得当前光流。
在本公开的实施例中,如上面关于图7和图8所述,先前光流的特征数据或先前差分数据的特征数据中的至少一个可以由预处理神经网络处理,然后与当前光流的特征数据一起输入到第一解码器331。
在操作S1130中,图像解码装置300将当前光流的特征数据或先前光流的特征数据中的至少一个应用于预处理神经网络。
在操作S1140中,图像解码装置300将当前差分数据的特征数据和从预处理神经网络获得的特征数据级联。在本公开的实施例中,如上面关于图9所述,先前差分数据的特征数据也可以由预处理神经网络处理,然后与当前差分数据的特征数据级联。
在操作S1150中,图像解码装置300通过将连结结果应用于第二解码器333来获得当前差分数据。
在操作S1160中,图像解码装置300通过使用基于当前光流的先前重构图像来生成当前预测图像。在本公开的实施例中,图像解码装置300可以通过基于当前光流扭曲先前重构图像来生成当前预测图像。
在操作S1170,图像解码装置300通过使用当前预测图像和当前差分数据来重构当前图像。在本公开的实施例中,图像解码装置300可以通过对当前预测图像的样本值和当前差分数据的样本值求和来重构当前图像。
现在将参考图12至图15描述图像编码装置1200的操作的示例。
图12是根据本公开的实施例的图像编码装置1200的框图。
参照图12,图像编码装置1200包括预测编码器1210、生成器1230、获得器1250和预测解码器1270。
预测编码器1210、生成器1230、获得器1250及预测解码器1270可实施为处理器,且基于存储于存储器中的指令而操作。
尽管预测编码器1210、生成器1230、获得器1250和预测解码器1270在图12中单独示出,但是预测编码器1210、生成器1230、获得器1250和预测解码器1270可以实现为一个元件,例如一个处理器。在此情况下,预测编码器1210、生成器1230、获得器1250及预测解码器1270可实施为专用处理器,或软件与通用处理器(例如AP、CPU或GPU)的组合。专用处理器可以包括用于实现本公开的实施例的存储器,或者包括用于使用外部存储器的存储器处理器。
预测编码器1210、生成器1230、获得器1250及预测解码器1270可实施为多个处理器。在此情况下,预测编码器1210、生成器1230、获得器1250及预测解码器1270可实施为专用处理器的组合,或软件与通用处理器(例如AP、CPU或GPU)的组合。
预测编码器1210通过使用当前图像和先前重构图像来获得当前光流的特征数据和当前差分数据的特征数据。
预测编码器1210可以使用基于神经网络的第一编码器1211和基于神经网络的第二编码器1215,例如如图13所示,以获得当前光流的特征数据和当前差分数据的特征数据。
由预测编码器1210获得的当前光流的特征数据和当前差分数据的特征数据被发送到生成器1230。
生成器1230通过使用当前光流的特征数据和当前差分数据的特征数据来生成比特流。在本公开的实施例中,生成器1230可以生成与当前光流的特征数据相对应的第一比特流和与当前差分数据的特征数据相对应的第二比特流。
比特流可以通过网络发送到图像解码装置300。在本公开的实施例中,比特流可以被记录在包括磁介质(例如,硬盘、软盘或磁带)、光介质(例如,CD-ROM或DVD)或磁光介质(例如,光磁盘)的数据存储介质上。
获得器1250从由生成器1230生成的比特流获得当前光流的特征数据和当前差分数据的特征数据。
当前光流的特征数据和当前差分数据的特征数据被发送到预测解码器1270,并且预测解码器1270通过使用当前光流的特征数据和当前差分数据的特征数据来获得当前重构图像。
获得器1250和预测解码器1270的操作可对应于图3到5中所说明的获得器310和预测解码器330的操作,且因此本文中不提供其详细描述。
现在将参考图13和图14详细描述预测编码器1210和生成器1230的示例。
图13是图12所示的预测编码器1210的框图。
预测编码器1210包括第一编码器1211、第二编码器1215和减法器1213。
参考图13,当前图像和先前重建图像被输入到第一编码器1211,并且第一编码器1211通过基于作为训练结果设置的参数处理当前图像和先前重建图像来输出当前光流的特征数据。
当前图像和由预测解码器1270基于当前光流使用先前重构图像生成的当前预测图像被提供给减法器1213。
减法器1213获得在当前图像和当前预测图像之间的当前差分数据。减法器1213可通过从当前图像的样本值中减去当前预测图像的样本值来获得当前差分数据。
当前差分数据被输入到第二编码器1215,并且第二编码器1215通过基于作为训练结果设置的参数处理当前差分数据来输出当前差分数据的特征数据。
生成器1230基于从预测编码器1210输出的当前光流的特征数据和当前差分数据的特征数据来生成比特流。
图14是图12所示的生成器1230的框图。
参照图14,生成器1230包括量化器1231和熵编码器1233。
量化器1231量化当前光流的特征数据和当前差分数据的特征数据。
熵编码器1233通过对当前光流的量化特征数据和当前差分数据的量化特征数据进行熵编码来生成比特流。
根据实施方式,在实施例中,生成器1230还可以包括变换器。变换器将当前光流的特征数据和当前差分数据的特征数据从空间域变换到频域,并将变换后的特征数据提供给量化器1231。
根据实现,在实施例中,生成器1230可以不包括量化器1231。也即,可以通过熵编码器1233的处理来获得与当前光流的特征数据和当前差分数据的特征数据相对应的比特流。
根据实施方式,在实施例中,生成器1230可以仅通过对当前光流的特征数据和当前差分数据的特征数据进行二值化来生成比特流。也就是说,当生成器1230仅执行二值化时,量化器1231和熵编码器1233可以不包括在生成器1230中。
图15是根据本公开的实施例的图像编码方法的流程图。
在操作S1510中,图像编码装置1200通过将当前图像和先前重建图像应用于基于神经网络的第一编码器1211来获得当前光流的特征数据。当前图像和先前重构图像可以被级联,然后被输入到第一编码器1211。
在操作S1520中,图像编码装置1200通过将当前光流的特征数据应用于基于神经网络的第一解码器331来获得当前光流。在本公开的实施例中,图像编码装置1200可以生成与当前光流的特征数据相对应的比特流,通过使用生成的比特流获得当前光流的特征数据,并将当前光流的特征数据输入到第一解码器331。因此,图像编码装置1200可以以与图像解码装置300的当前光流重构过程相同的方式重构当前光流。
为了获得当前光流,如上面参考图7和图8所述,可以通过预处理神经网络处理先前光流的特征数据或先前差分数据的特征数据中的至少一个,并且处理结果可以与当前光流的特征数据级联,然后输入到第一解码器331。
在操作S1530中,图像编码装置1200通过使用基于当前光流的先前重构图像来生成当前预测图像。在本公开的实施例中,图像编码装置1200可以通过基于当前光流扭曲先前重构图像来生成当前预测图像。
在操作S1540中,图像编码装置1200通过将当前差分数据应用于基于神经网络的第二编码器1215来获得在当前图像和当前预测图像之间的当前差分数据的特征数据。
在操作S1550中,图像编码装置1200生成与当前光流的特征数据和当前差分数据的特征数据相对应的比特流。
图像编码装置1200可通过将当前差分数据的特征数据应用于第二解码器333来重构当前差分数据。在这种情况下,如上面参考图6和图9所述,可以由预处理神经网络处理当前光流的特征数据、先前光流的特征数据或先前差分数据的特征数据中的至少一个,并且处理结果可以与当前差分数据的特征数据级联,然后输入到第二解码器333。
图像编码装置1200可通过组合当前预测图像和当前差分数据来获得当前重构图像,并且使用当前重构图像来对下一图像进行编码。
上述第一编码器1211、第二编码器1215、第一解码器331、第二解码器333和第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800和第四预处理神经网络900可以包括至少一个卷积层。现在将参考图16描述第一编码器1211、第二编码器1215、第一解码器331、第二解码器333以及第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800和第四预处理神经网络900的可用架构的示例。
图16是示出根据本公开的实施例的神经网络1600的架构的示例的图。
如图16所示,输入数据1605被输入到第一卷积层1610。这里,输入数据1605根据神经网络1600是用作第一编码器1211、第二编码器1215、第一解码器331、第二解码器333、第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800还是第四预处理神经网络900而变化。
例如,当神经网络1600用作第一编码器1211时,输入数据1605可以对应于级联当前图像和先前重构图像的结果。作为另一示例,当神经网络1600用作第二编码器1215时,输入数据1605可以对应于当前差分数据。
在图16所示的第一卷积层1610上标记的3×3×4表示通过使用四个3×3滤波器内核对一条输入数据1605执行卷积。生成四个特征图作为卷积结果。由第一卷积层1610生成的特征图表示输入数据1605的独特特征。举例来说,每一特征图可表示输入数据1605的垂直特征、水平特征或边缘特征。
现在将参考图17详细描述由第一卷积层1610执行的卷积操作的示例。
可以通过在由第一卷积层1610使用的3×3滤波器内核1730的参数和与其对应的输入数据1605中的样本值之间执行乘法和加法来生成一个特征图1750。因为第一卷积层1610使用四个滤波器内核1730,所以可以通过使用四个滤波器内核1730执行卷积来生成四个特征图1750。
在图17中的输入数据1605上标记的I1至I49指示输入数据1605的样本,并且在滤波器内核1730上标记的F1至F9指示滤波器内核1730的样本,其也可以被称为参数。标记在特征图1750上的M1至M9指示特征图1750的样本。
在卷积运算中,输入数据1605的采样值I1、I2、I3、I8、I9、I10、I15、I16和I17可以分别乘以滤波器内核1730的F1、F2、F3、F4、F5、F6、F7、F8和F9,并且通过组合(例如,相加)乘法的结果值而获得的值可以被分配为特征图1750的M1的值。当步幅2被设置用于卷积时,输入数据1605的采样值I3、I4、I5、I10、I11、I12、I17、I18和I19可以分别乘以滤波器内核1730的F1、F2、F3、F4、F5、F6、F7、F8和F9,并且通过组合乘法的结果值获得的值可以被分配为特征图1750的M2的值。
通过在滤波器内核1730基于到输入数据1605的最后样本的步幅移动的同时执行输入数据1605中的样本值与滤波器内核1730的样本之间的卷积,可以获得具有特定大小的特征图1750。
根据本公开,可以通过训练神经网络1600来优化神经网络1600的参数值,例如,由神经网络1600的卷积层使用的滤波器内核1730的样本(例如,滤波器内核1730的F1、F2、F3、F4、F5、F6、F7、F8和F9)。
尽管包括在神经网络1600中的卷积层可以执行关于图17描述的卷积运算,但是关于图17描述的卷积运算仅仅是示例,并且实施例不限于此。
返回参考图16,第一卷积层1610的特征图被输入到第一激活层1620。
第一激活层1620可以为每个特征图提供非线性特征。第一激活层1620可以包括sigmoid函数、双曲正切(tanh)函数、校正线性单元(ReLU)函数等,但是实施例不限于此。
当第一激活层1620给出非线性特征时,这可能意味着特征图的一些样本值被改变并输出。在这种情况下,通过应用非线性特征来执行改变。
第一激活层1620确定是否将特征图的样本值发送到第二卷积层1630。例如,特征图的一些样本值由第一激活层1620激活并且被发送到第二卷积层1630,并且其他样本值由第一激活层1620灭活并且不被发送到第二卷积层1630。由特征图表示的输入数据1605的独特特征由第一激活层1620强调。
从第一激活层1620输出的特征图1625被输入到第二卷积层1630。图16中所示的特征图1625中的任何一个是由第一激活层1620处理图17的特征图1750的结果。
在第二卷积层1630上标记的指示“3×3×4”可以指示通过使用四个3×3滤波器内核对输入特征图执行卷积。第二卷积层1630的输出被输入到第二激活层1640。第二激活层1640可以向输入特征图给予非线性特征。
从第二激活层1640输出的特征图1645被输入到第三卷积层1650。在第三卷积层1650上标记的指示“3×3×1”可以指示执行卷积以通过使用一个3×3滤波器内核来生成一条输出数据1655。
输出数据1655根据神经网络1600用作第一编码器1211、第二编码器1215、第一解码器331、第二解码器333、第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800还是第四预处理神经网络900而变化。
例如,当神经网络1600用作第一编码器1211时,输出数据1655可以是当前光流的特征数据。作为另一示例,当神经网络1600用作第二编码器1215时,输出数据1655可以是当前差分数据的特征数据。
尽管神经网络1600在图16中包括三个卷积层和两个激活层,但是图16仅仅是示例,并且取决于实现,在实施例中,可以以各种方式改变包括在神经网络1600中的卷积层和激活层的数量。
根据实现,在实施例中,神经网络1600可以被实现为递归神经网络(RNN)。这意味着根据本公开的实施例的神经网络1600可以从卷积神经网络(CNN)架构改变为RNN架构。
在本公开的实施例中,图像解码装置300和图像编码装置1200可以包括用于上述卷积和激活操作的至少一个算术逻辑单元(ALU)。
ALU可以被实现为处理器。对于卷积运算,ALU可以包括用于将滤波器内核的样本值乘以输入数据1605或从前一层输出的特征图的样本值的乘法器,以及用于将乘法的结果值相加的加法器。
对于激活操作,ALU可以包括用于将输入样本值乘以用于预定sigmoid、tanh或ReLU函数的权重的乘法器,以及用于将乘法结果与特定值进行比较以确定是否将输入样本值发送到下一层的比较器。
现在将参考图18和19描述在图像编码和解码过程中使用的训练神经网络的方法的示例。
图18是用于描述训练第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339的方法的图。
在图18中,当前训练图像1810、先前重建训练图像1830和当前重建训练图像1850分别对应于上述当前图像、先前重建图像和当前重建图像。
在训练第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339时,可以考虑在当前重建训练图像1850和当前训练图像1810之间的相似性以及通过对当前训练图像1810进行编码而生成的比特流的比特率。为此,在本公开的实施例中,可以基于与当前训练图像1810和当前重建训练图像1850之间的相似性相对应的第一损失信息1860以及与比特流的大小相对应的第二损失信息1870和第三损失信息1880来训练第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339。
参考图18,当前训练图像1810和先前重建训练图像1830被输入到第一编码器1211。第一编码器1211通过处理当前训练图像1810和先前重建训练图像1830来输出当前光流的特征数据wi
当前光流的特征数据wi被输入到第一解码器331,并且第一解码器331通过处理当前光流的特征数据wi来输出当前光流gi
通过基于当前光流gi扭曲(例如通过扭曲190)先前重建训练图像1830来生成当前预测训练图像x’i,并且获得与当前预测训练图像x’i和当前训练图像1810之间的差异相对应的当前差分数据ri
当前差分数据ri被输入到第二编码器1215,并且第二编码器1215通过处理当前差分数据ri来输出当前差分数据的特征数据vi
由预处理神经网络339处理当前光流的特征数据wi的结果与当前差分数据的特征数据vi级联,并被输入到第二解码器333。
第二解码器333通过处理输入数据来输出当前差分数据r’i,并且通过组合当前预测训练图像x’i和当前差分数据r’i来获得当前重构训练图像1850。
为了训练第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339,可以获得第一损失信息1860、第二损失信息1870或第三损失信息1880中的至少一个。
第一损失信息1860对应于在当前训练图像1810和当前重建训练图像1850之间的差异。在当前训练图像1810与当前重建训练图像1850之间的差异可以包括基于当前训练图像1810和当前重建训练图像1850确定的L1范数值、L2范数值、结构相似性(SSIM)值、峰值信噪比-人类视觉系统(PSNR-HVS)值、多尺度SSIM(MS-SSIM)值、方差膨胀因子(VIF)值或视频多方法评估融合(VMAF)值中的至少一个。
因为第一损失信息1860与当前重建训练图像1850的质量相关,所以第一损失信息1860也可以被称为质量损失信息。
第二损失信息1870对应于当前光流的特征数据wi的熵或与当前光流的特征数据wi对应的比特流的比特率。第三损失信息1880对应于当前差分数据的特征数据vi的熵或与当前差分数据的特征数据vi对应的比特流的比特率。
根据实施方式,在比特流包括当前光流的特征数据wi和当前差分数据的特征数据vi的实施例中,可以计算与比特流的比特率相对应的第四损失信息。在这种情况下,第二损失信息1870和第三损失信息1880可以不用于训练。
因为第二损失信息1870和第三损失信息1880与编码当前训练图像1810的效率相关,所以第二损失信息1870和第三损失信息1880可以被称为压缩损失信息。
可以训练第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339以减少或最小化使用第一损失信息1860、第二损失信息1870或第三损失信息1880中的至少一个计算的最终损失信息。
具体地,可以训练第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339以通过改变预设参数的值来减少或最小化最终损失信息。
在本公开的实施例中,可以基于等式1来计算最终损失信息。
[等式1]
最终损失信息=a×第一损失信息+b×第二损失信息+c×第三损失信息
在等式1中,a、b和c分别表示应用于第一损失信息1860、第二损失信息1870和第三损失信息1880的权重。
基于等式1,示出了第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339以使得当前重构训练图像1850尽可能类似于当前训练图像1810并且与从第一编码器1211和第二编码器1215输出的数据相对应的比特流的大小被最小化的方式被训练。
如图18所示,预处理神经网络339仅处理图18中的当前光流的特征数据wi,这与图6所示的本公开的实施例相关。
如上所述,图像解码装置300可以使用第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800或第四预处理神经网络900中的至少一个来重建当前光流gi和当前差分数据ri
在这种情况下,需要训练用于重建当前光流gi和当前差分数据ri的第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800或第四预处理神经网络900中的至少一个。
因此,在实施方式中,可以使用第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800和第四预处理神经网络900中的任何预处理神经网络来计算图18所示的第一损失信息1860、第二损失信息1870和第三损失信息1880,以重建当前光流gi和当前差分数据ri。因此,可以基于第一损失信息1860、第二损失信息1870和第三损失信息1880来训练预处理神经网络。
图19是用于描述由训练装置1900执行的训练第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339的过程的图。
上面关于图18描述的训练过程可以由训练装置1900执行。训练装置1900可以是例如图像编码装置1200或单独的服务器。作为训练结果获得的参数可以存储在图像编码装置1200和图像解码装置300中。
参考图19,在操作S1910,训练装置1900初始设置第一编码器1211、第一解码器331、第二编码器1215、第二解码器333和预处理神经网络339的参数。这样,第一编码器1211、第一解码器331、第二编码器1215、第二解码器333和预处理神经网络339可以基于初始设置的参数来操作。
在操作S1915,训练装置1900将当前训练图像1810和先前重建训练图像1830输入到第一编码器1211。
在操作S1920,第一编码器1211将当前光流的特征数据wi输出到训练装置1900、第一解码器331和预处理神经网络339。
在操作S1925,训练装置1900通过使用当前光流的特征数据wi来计算第二损失信息1870。
在操作S1930,第一解码器331通过处理当前光流的特征数据wi来将当前光流gi输出到训练装置1900。
在操作S1935,训练装置1900基于当前光流gi生成当前预测训练图像x’i,并且获得与当前预测训练图像x’i和当前训练图像1810之间的差相对应的当前差分数据ri
在操作S1940,训练装置1900将当前差分数据ri输入到第二编码器1215,并且在操作S1945,第二编码器1215将当前差分数据的特征数据vi输出到训练装置1900和第二解码器333。
在操作S1950,训练装置1900通过使用当前差分数据的特征数据vi来计算第三损失信息1880。
预处理神经网络339处理在操作S1920中接收的当前光流的特征数据wi,并在操作S1955将作为处理结果获得的特征数据输出到第二解码器333。
在操作S1960,第二解码器333通过处理将当前差分数据的特征数据vi和从预处理神经网络339输出的特征数据级联的结果来将当前差分数据r’i输出到训练装置1900。
在操作S1965,训练装置1900通过使用当前差分数据r’i和当前预测训练图像x’i来生成当前重建训练图像1850。
在操作S1970,训练装置1900计算与当前训练图像1810和当前重建训练图像1850之间的差异对应的第一损失信息1860。
训练装置1900通过组合第一损失信息1860、第二损失信息1870或第三损失信息1880中的至少一个来计算最终损失信息,并且在操作S1971、S1973、S1975、S1977和S1979处,第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339通过基于最终损失信息执行反向传播来更新初始设置的参数。
然后,训练装置1900、第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339通过迭代操作S1915至S1979的过程来更新参数,直到最终损失信息最小化。此时,在每次迭代中,第一解码器331、第二解码器333、第一编码器1211、第二编码器1215和预处理神经网络339基于在先前过程中更新的参数进行操作。
预处理神经网络339仅处理图19中的当前光流的特征数据wi,其与图6所示的本公开的实施例相关。
如上所述,训练装置1900可以训练第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800或第四预处理神经网络900中的至少一个。为此,训练装置1900可以控制第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800或第四预处理神经网络900中的至少一个的输入数据和输出数据。
例如,为了训练图7所示的第二预处理神经网络700,可以将第二预处理神经网络700处理先前光流的特征数据的结果输入到第一解码器331。在S1930中,第一解码器331可以通过处理将当前光流的特征数据wi和从第二预处理神经网络700输出的特征数据级联的结果来输出当前光流gi
作为另一示例,为了训练图9所示的第四预处理神经网络900,可以将第四预处理神经网络900处理先前差分数据的特征数据的结果输入到第二解码器333,并且在操作S1960中,第二解码器333可以通过处理将当前差分数据的特征数据、从预处理神经网络339输出的特征数据和从第四预处理神经网络900输出的特征数据级联的结果来输出当前差分数据。
表1比较了根据本公开实施例的通过图1所示的帧间预测过程(在表1中标记为“A”)和使用第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800和第四预处理神经网络900的帧间预测过程(在表1中标记为“B”)生成的比特流的比特率。
[表1]
如表1所示,与上面关于图1描述的帧间预测过程相比,当使用第一预处理神经网络600、第二预处理神经网络700、第三预处理神经网络800和第四预处理神经网络900时,比特流的比特率降低约-5.5%。
同时,本公开的前述实施例可以被编写为计算机可执行程序,并且所编写的程序可以存储在机器可读存储介质中。
机器可读存储介质可以以非暂时性存储介质的形式提供。当存储介质是“非暂时性”时,这意味着存储介质是有形的并且不包括信号(例如,电磁波),并且不限制数据被半永久地或临时地存储在存储介质中。例如,“非暂时性存储介质”可以包括临时存储数据的缓冲器。
根据本公开的实施例,可以在计算机程序产品中包括和提供根据本公开的各种实施例的方法。计算机程序产品可以作为商业产品在卖方和买方之间进行交易。计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(CD-ROM))的形式分布,或者经由应用商店或直接在两个用户设备(例如,智能电话机)之间电子分发(例如,下载或上传)。对于电子分发,计算机程序产品(例如,可下载app)的至少一部分可以临时生成或至少临时存储在机器可读存储介质中,例如,制造商的服务器、应用商店的服务器或中继服务器的存储器。
虽然本文已经具体示出和描述了实施例,但是本领域普通技术人员将理解,在不脱离由所附权利要求限定的本公开的范围的情况下,可以在其中进行形式和细节上的各种改变。

Claims (10)

1.一种使用人工智能(AI)的图像解码方法,所述图像解码方法包括:
从与当前图像对应的比特流获得当前光流的特征数据和当前差分数据的特征数据;
通过将所述当前光流的特征数据应用于基于神经网络的第一解码器来获得所述当前光流;
将当前光流的特征数据和先前光流的特征数据中的至少一个应用于第一预处理神经网络;
通过将从所述第一预处理神经网络获得的特征数据与所述当前差分数据的特征数据级联来获得第一级联结果;
通过将所述第一级联结果应用于基于神经网络的第二解码器来获得所述当前差分数据;以及
使用所述当前差分数据和基于所述当前光流从先前重建图像生成的当前预测图像来重建所述当前图像。
2.根据权利要求1所述的图像解码方法,其中,获得所述当前光流包括:
将所述先前光流的特征数据应用于第二预处理神经网络;
通过级联所述当前光流的特征数据和从所述第二预处理神经网络获得的特征数据来获得第二级联结果;以及
通过将所述第二级联结果应用于所述基于神经网络的第一解码器来获得所述当前光流。
3.根据权利要求1所述的图像解码方法,其中,获得所述当前光流包括:
将先前差分数据的特征数据应用于第三预处理神经网络;
通过级联所述当前光流的特征数据和从所述第三预处理神经网络获得的特征数据来获得第三级联结果;以及
通过将所述第三级联结果应用于所述基于神经网络的第一解码器来获得所述当前光流。
4.根据权利要求1所述的图像解码方法,其中,获得当前差分数据包括:
将先前差分数据的特征数据应用于第四预处理神经网络;
通过级联所述当前差分数据的特征数据、从所述第一预处理神经网络获得的特征数据和从所述第四预处理神经网络获得的特征数据来获得第四级联结果;以及
通过将所述第四级联结果应用于所述基于神经网络的第二解码器来获得所述当前差分数据。
5.根据权利要求1所述的图像解码方法,其中,当前图像的重建包括通过基于所述当前光流扭曲所述先前重建图像来生成所述当前预测图像。
6.根据权利要求1所述的图像解码方法,其中,通过对所述比特流执行熵解码和逆量化来获得所述当前光流的特征数据和所述当前差分数据的特征数据。
7.根据权利要求1所述的图像解码方法,其中,所述基于神经网络的第一解码器、所述基于神经网络的第二解码器和所述第一预处理神经网络中的至少一个基于第一损失信息、第二损失信息和第三损失信息来训练,所述第一损失信息对应于在当前训练图像和与所述当前训练图像相对应的当前重建训练图像之间的差异,所述第二损失信息对应于所述当前训练图像的光流的特征数据的熵,以及所述第三损失信息对应于所述当前训练图像的差分数据的特征数据的熵。
8.一种非暂时性计算机可读记录介质,其上记录有用于在计算机上执行根据权利要求1所述的方法的程序。
9.一种使用人工智能(AI)的图像编码方法,所述图像编码方法包括:
通过将当前图像和先前重建图像应用于基于神经网络的第一编码器来获得当前光流的特征数据;
通过将所述当前光流的特征数据应用于基于神经网络的第一解码器来获得所述当前光流;
基于所述先前重建图像和所述当前光流来生成当前预测图像;
获得所述当前图像与所述当前预测图像之间的当前差分数据;
通过将所述当前差分数据应用于基于神经网络的第二编码器来获得所述当前差分数据的特征数据;以及
基于所述当前光流的特征数据和所述当前差分数据的特征数据来生成比特流。
10.一种使用人工智能(AI)的图像解码方法,所述图像解码方法包括:
从与当前图像对应的比特流获得当前光流的特征数据和当前差分数据的特征数据;
执行第一神经网络预处理操作、第二神经网络预处理操作、第三神经网络预处理操作和第四神经网络预处理操作中的至少一个;
通过将所述当前光流的特征数据与所述第二神经网络预处理操作的结果和所述第三神经网络预处理操作的结果中的至少一个级联来获得第一级联结果;
通过将所述第一级联结果应用于基于神经网络的第一解码器来获得所述当前光流;
通过将所述当前差分数据的特征数据与所述第一神经网络预处理操作的结果和所述第四神经网络预处理操作的结果中的至少一个级联来获得第二级联结果;
通过将所述第二级联结果应用于基于神经网络的第二解码器来获得所述当前差分数据;以及
通过基于所述当前光流扭曲先前重建图像来重建所述当前图像,并且将所述当前差分数据应用于扭曲的先前重建图像,
其中,所述第一神经网络预处理操作包括将所述当前光流的特征数据和先前光流的特征数据中的至少一个应用于第一预处理神经网络,
其中,所述第二神经网络预处理操作包括将所述先前光流的特征数据应用于第二预处理神经网络,
其中所述第三神经网络预处理操作包括将先前差分数据的特征数据应用于第三预处理神经网络,以及
其中所述第四神经网络预处理操作包括将所述先前差分数据的特征数据应用于第四预处理神经网络。
CN202280016015.XA 2021-02-22 2022-02-21 使用ai的用于图像编码和解码的设备及其用于图像编码和解码的方法 Pending CN116888961A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2021-0023695 2021-02-22
KR10-2021-0123369 2021-09-15
KR1020210157089A KR20220120432A (ko) 2021-02-22 2021-11-15 Ai를 이용하는 영상의 부호화 및 복호화 장치 및 이에 의한 영상의 부호화 및 복호화 방법
KR10-2021-0157089 2021-11-15
PCT/KR2022/002486 WO2022177382A1 (ko) 2021-02-22 2022-02-21 Ai를 이용하는 영상의 부호화 및 복호화 장치 및 이에 의한 영상의 부호화 및 복호화 방법

Publications (1)

Publication Number Publication Date
CN116888961A true CN116888961A (zh) 2023-10-13

Family

ID=88270381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280016015.XA Pending CN116888961A (zh) 2021-02-22 2022-02-21 使用ai的用于图像编码和解码的设备及其用于图像编码和解码的方法

Country Status (1)

Country Link
CN (1) CN116888961A (zh)

Similar Documents

Publication Publication Date Title
EP3316580A2 (en) Method and device for encoding or decoding image
JP3845458B2 (ja) 符号化装置及び方法、復号装置及び方法
US8625682B2 (en) Nonlinear, prediction filter for hybrid video compression
US8594189B1 (en) Apparatus and method for coding video using consistent regions and resolution scaling
EP4262207A1 (en) Device for image encoding and decoding using ai and method for image encoding and decoding by same
US10560708B2 (en) Selecting encoding options to use when encoding an array of data elements
US10979704B2 (en) Methods and apparatus for optical blur modeling for improved video encoding
US20230018619A1 (en) Image encoding device, image decoding device and program
CN116888961A (zh) 使用ai的用于图像编码和解码的设备及其用于图像编码和解码的方法
JP6564315B2 (ja) 符号化装置、復号装置、及びプログラム
US11863783B2 (en) Artificial intelligence-based image encoding and decoding apparatus and method
US20230145525A1 (en) Image encoding apparatus and image decoding apparatus both using artificial intelligence, and image encoding method and image decoding method performed by the image encoding apparatus and the image decoding apparatus
US10924738B2 (en) Selecting encoding options
US20230247212A1 (en) Device and method for encoding and decoding image using ai
CN116868566A (zh) 基于ai的图像编码和解码装置及其方法
US20230041187A1 (en) Artificial intelligence-based image encoding apparatus and method and decoding apparatus and method
KR20220120432A (ko) Ai를 이용하는 영상의 부호화 및 복호화 장치 및 이에 의한 영상의 부호화 및 복호화 방법
US20230044603A1 (en) Apparatus and method for applying artificial intelligence-based filtering to image
US20240073425A1 (en) Image encoding apparatus and image decoding apparatus both based on artificial intelligence, and image encoding method and image decoding method performed by the image encoding apparatus and the image decoding apparatus
US20240187581A1 (en) Image processing method and device for ai-based filtering
US20240048711A1 (en) Artificial intelligence based video decoding apparatus and video decoding method and artificial intelligence based video encoding apparatus and video encoding method which perform chroma component prediction
US20240129546A1 (en) Artificial intelligence-based image encoding and decoding apparatus, and image encoding and decoding method thereby
US20240064336A1 (en) Image decoding apparatus and image encoding apparatus using ai, and methods performed thereby
KR20230022085A (ko) Ai 기반의 영상의 부호화 및 복호화 장치, 및 이에 의한 방법
KR20230067492A (ko) Ai를 이용하는 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법

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