首页> 中国专利> 使用深度神经网络的人工智能编码和人工智能解码方法和设备

使用深度神经网络的人工智能编码和人工智能解码方法和设备

摘要

提供了一种人工智能(AI)编码设备,包括:存储器,存储一个或更多个指令;以及处理器,被配置为执行存储在存储器中的所述一个或更多个指令以进行以下操作:通过经由用于缩小的深度神经网络(DNN)对原始图像执行AI缩小来获得第一图像,获得指示第一图像中的伪像区域的伪像信息,基于所述伪像信息执行后处理以改变第一图像中的像素的像素值,并且获得与对经过后处理的第一图像进行编码的结果对应的图像数据以及包括所述伪像信息的AI数据。

著录项

  • 公开/公告号CN112913237A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN201980068843.6

  • 申请日2019-10-01

  • 分类号H04N19/132(20060101);H04N19/85(20060101);H04N19/50(20060101);H04N19/184(20060101);G06N3/08(20060101);

  • 代理机构11286 北京铭硕知识产权代理有限公司;

  • 代理人田方;曾世骁

  • 地址 韩国京畿道水原市

  • 入库时间 2023-06-19 11:14:36

说明书

技术领域

本公开涉及图像处理。更具体地,本公开涉及使用深度神经网络(DNN)的人工智能(AI)编码和AI解码设备和方法。

背景技术

图像由符合特定数据压缩标准(例如,运动图像专家组(MPEG)标准)的编解码器被编码,然后被存储在记录介质中或者以比特流的形式通过通信信道被发送。

由于能够再现和存储高分辨率/高质量图像的硬件的发展和发布,对能够有效地对高分辨率/高质量图像进行编码和解码的编解码器的需求增加。

发明内容

技术方案

根据本公开的实施例,一种人工智能(AI)编码设备包括:存储器,存储一个或更多个指令;以及处理器,被配置为执行存储在存储器中的所述一个或更多个指令以进行以下操作:通过经由用于缩小的深度神经网络(DNN)对原始图像执行AI缩小来获得第一图像,获得指示第一图像中的伪像区域的伪像信息,基于所述伪像信息执行后处理以改变第一图像中的像素的像素值,并且获得与对经过后处理的第一图像进行编码的结果对应的图像数据以及包括所述伪像信息的AI数据。

有益效果

提供了能够通过使用深度神经网络(DNN)以低比特率对图像进行人工智能(AI)编码和AI解码的AI编码方法和设备以及AI解码方法和设备。

提供了能够通过去除图像中的伪像来提高图像的质量的AI编码方法和设备以及AI解码方法和设备。

另外的方面将部分地在下面的描述中被阐述,并且部分地将从描述是显而易见的,或者可通过所提供的本公开的实施例的实践而被获知。

附图说明

从以下结合附图的描述,本公开的特定实施例的以上和其他方面、特征和优点将更加显而易见,其中:

图1是用于描述根据实施例的人工智能(AI)编码处理和AI解码处理的示图;

图2是根据实施例的AI解码设备的配置的框图;

图3是示出用于对第二图像执行AI放大的第二深度神经网络(DNN)的示图;

图4是用于描述由卷积层进行卷积运算的示图;

图5是示出若干条图像相关信息与若干条DNN设置信息之间的映射关系的表;

图6是示出包括多个帧的第二图像的示图;

图7是根据实施例的AI编码设备的配置的框图;

图8是示出用于对原始图像执行AI缩小的第一DNN的示图;

图9是用于描述训练第一DNN和第二DNN的方法的示图;

图10是用于描述训练设备对第一DNN和第二DNN的训练处理的示图;

图11是用于对原始图像执行AI缩小的设备以及用于对第二图像执行AI放大的设备的示图;

图12是根据本公开的另一实施例的AI编码设备的框图;

图13是示出在通过对原始图像进行AI缩小而获得的第一图像中出现的伪像的图像;

图14是示出被划分为块单元的原始图像和第一图像的示图;

图15是示出根据本公开的实施例的伪像图的示图;

图16是示出根据本公开的另一实施例的伪像图的示图;

图17是示出根据本公开的另一实施例的伪像图的示图;

图18是根据本公开的另一实施例的AI编码方法的流程图;

图19是根据本公开的另一实施例的AI解码设备的框图;

图20是图像质量引擎的框图;

图21是根据本公开的另一实施例的AI解码设备的框图;以及

图22是根据本公开的另一实施例的AI解码方法的流程图。

最佳模式

根据本公开的实施例,一种人工智能(AI)编码设备包括:存储器,存储一个或更多个指令;以及处理器,被配置为执行存储在存储器中的所述一个或更多个指令以进行以下操作:通过经由用于缩小的深度神经网络(DNN)对原始图像执行AI缩小来获得第一图像,获得指示第一图像中的伪像区域的伪像信息,基于所述伪像信息执行后处理以改变第一图像中的像素的像素值,并且获得与对经过后处理的第一图像进行编码的结果对应的图像数据以及包括所述伪像信息的AI数据。

所述伪像信息可包括具有特定尺寸的伪像图。

处理器还可被配置为执行所述一个或更多个指令以进行以下操作:确定原始图像的按块单元的像素方差和第一图像的按块单元的像素方差是否满足特定标准,并且基于确定的结果获得按块单元具有预定像素值的伪像图。

在所述伪像图中包括的像素中,满足所述特定标准的块单元中的像素可具有第一像素值,并且不满足所述特定标准的块单元中的像素可具有第二像素值。

处理器还可被配置为执行所述一个或更多个指令以进行以下操作:确定第一图像中的边缘区域,并且将所述伪像图中的与所确定的边缘区域对应的区域的第一像素值改变为第二像素值。

处理器还可被配置为执行所述一个或更多个指令以进行以下操作:对所述伪像图进行形态处理。

所述特定标准可基于将原始图像的按块单元的像素方差与第一图像的按块单元的像素方差之间的比率与特定值进行比较的结果。

执行后处理的操作可包括:基于所述伪像信息将随机噪声应用于第一图像中的伪像区域。

执行后处理的操作可包括:对应用了所述随机噪声的第一图像进行滤波。

处理器还可被配置为执行所述一个或更多个指令以进行以下操作:确定随机噪声值的范围,并且执行后处理的操作可包括:将包括在所确定的随机噪声值的范围中的随机噪声应用于第一图像中的伪像区域。

处理器还可被配置为执行所述一个或更多个指令以进行以下操作:将第一图像输入到伪像检测网络,并且获得从伪像检测网络输出的伪像信息。

根据本公开的另一实施例,一种人工智能(AI)解码设备包括:存储器,存储一个或更多个指令;以及处理器,被配置为执行存储在存储器中的所述一个或更多个指令以进行以下操作:获得作为对第一图像进行编码的结果而生成的图像数据以及包括伪像信息的AI数据,通过对所述图像数据进行解码来获得与第一图像对应的第二图像,通过经由用于放大的深度神经网络(DNN)对第二图像执行AI放大来获得第三图像,并且将所述伪像信息和第三图像输出到图像质量引擎,其中,图像质量引擎基于所述伪像信息执行后处理以改变第三图像中的像素的像素值。

所述伪像信息可包括伪像图,并且处理器还可被配置为执行所述一个或更多个指令以进行以下操作:对所述伪像图进行放大并将放大的伪像图输出到图像质量引擎。

处理器还可被配置为执行所述一个或更多个指令以进行以下操作:请求图像质量引擎改变图像质量引擎中包括的多个滤波器集中的用于基于所述伪像信息执行后处理的滤波器集的权重。

根据本公开的另一实施例,一种人工智能(AI)解码设备包括:存储器,存储一个或更多个指令;以及处理器,被配置为执行存储在存储器中的所述一个或更多个指令以进行以下操作:获得作为对第一图像进行编码的结果而生成的图像数据以及包括伪像信息的AI数据,通过对所述图像数据进行解码来获得与第一图像对应的第二图像,通过经由用于放大的深度神经网络(DNN)对第二图像执行AI放大来获得第三图像,并且基于所述伪像信息执行后处理以改变第三图像中的像素的像素值。

执行后处理的操作可包括:将随机噪声应用于第三图像中的伪像区域。

根据本公开的另一实施例,一种人工智能(AI)编码方法包括:通过经由用于缩小的深度神经网络(DNN)对原始图像执行AI缩小来获得第一图像,获得指示第一图像中的伪像区域的伪像信息,基于所述伪像信息执行后处理以改变第一图像中的像素的像素值,并且获得与对经过后处理的第一图像进行编码的结果对应的图像数据以及包括所述伪像信息的AI数据。

根据本公开的另一实施例,一种人工智能(AI)解码方法包括:获得作为对第一图像进行编码的结果而生成的图像数据以及包括伪像信息的AI数据,通过对所述图像数据进行解码来获得与第一图像对应的第二图像,通过经由用于放大的深度神经网络(DNN)对第二图像执行AI放大来获得第三图像,并且将所述伪像信息和第三图像输出到图像质量引擎,其中,图像质量引擎基于所述伪像信息执行后处理以改变第三图像中的像素的像素值。

具体实施方式

在整个公开中,表述“a、b或c中的至少一个”指示仅a、仅b、仅c、a和b两者、a和c两者、b和c两者、a、b和c全部或其变型。

由于本公开允许各种改变和许多示例,因此将在附图中示出并在书面描述中详细描述特定实施例。然而,这并不旨在将本公开限制于实践的特定模式,并且将理解,不脱离本公开的精神和技术范围的全部改变、等同和替代都被包含在本公开中。

在实施例的描述中,当认为对相关技术的特定详细解释可能不必要地使本公开的本质模糊时,省略对相关技术的特定详细解释。此外,在说明书的描述中使用的数字(例如,第一、第二等)仅是用于将一个元素与另一元素区分开的标识符代码。

此外,在本说明书中,将理解,当元件彼此“连接”或“耦接”时,所述元件可彼此直接连接或耦接,但是可选地,除非另有指定,否则可通过所述元件之间的中间元件彼此连接或耦接。

在本说明书中,对于被表示为“单元”或“模块”的元件,可将两个或更多个元件组合为一个元件,或者可根据细分的功能将一个元件划分为两个或更多个元件。此外,在下文中描述的每个元件除了其主要功能之外,还可另外执行由另一元件执行的一些或全部功能,并且每个元件的一些主要功能可完全由另一组件来执行。

此外,在本说明书中,“图像”或“画面”可表示静止图像、包括多个连续静止图像(或帧)的运动图像、或者视频。

此外,在本说明书中,深度神经网络(DNN)是一种模拟脑神经的人工神经网络模型的代表性示例,并且不限于使用特定算法的人工神经网络模型。

此外,在本说明书中,“参数”是在形成神经网络的每一层的运算处理中使用的值,并且例如,可包括将输入值应用于特定运算表达式时使用的权重。这里,参数可以以矩阵形式来表示。参数是作为训练的结果而设置的值,并且在必要时可通过单独的训练数据被更新。

此外,在本说明书中,“第一DNN”指示用于对图像进行人工智能(AI)缩小的DNN,“第二DNN”指示用于对图像进行AI放大的DNN。

此外,在本说明书中,“DNN设置信息”包括与构成DNN的元素相关的信息。“DNN设置信息”包括以上作为与构成DNN的元素相关的信息而被描述的参数。可通过使用DNN设置信息来设置第一DNN或第二DNN。

此外,在本说明书中,“原始图像”表示作为AI编码的对象的图像,并且“第一图像”表示作为在AI编码处理期间对原始图像执行AI缩小的结果而获得的图像。此外,“第二图像”表示在AI解码处理期间经由第一解码而获得的图像,并且“第三图像”表示在AI解码处理期间通过对第二图像进行AI放大而获得的图像。

此外,在本说明书中,“AI缩小”表示基于AI降低图像的分辨率的处理,并且“第一编码”表示根据基于频率变换的图像压缩方法的编码处理。此外,“第一解码”表示根据基于频率变换的图像重建方法的解码处理,“AI放大”表示基于AI提高图像的分辨率的处理。

图1是根据实施例的用于描述AI编码处理和AI解码处理的示图。

如上所述,当图像的分辨率显著增加时,用于对图像进行编码和解码的信息的吞吐量增加,因此,需要一种用于提高图像的编码和解码效率的方法。

如图1中所示,根据本公开的实施例,通过对具有高分辨率的原始图像105执行AI缩小110来获得第一图像115。然后,对具有相对低分辨率的第一图像115执行第一编码120和第一解码130,因此与对原始图像105执行第一编码和第一解码时相比,比特率可大大降低。

具体地,在图1中,根据实施例,在AI编码处理期间,通过对原始图像105执行AI缩小110来获得第一图像115并且对第一图像115执行第一编码120。在AI解码处理期间,接收作为AI编码的结果而获得的包括AI数据和图像数据的AI编码数据,经由第一解码130获得第二图像135,并且通过对第二图像135执行AI放大140来获得第三图像145。

详细参照AI编码处理,当接收到原始图像105时,对原始图像105执行AI缩小110以获得特定分辨率或特定质量的第一图像115。这里,基于AI来执行AI缩小110,并且用于AI缩小110的AI需要与用于第二图像135的AI放大140的AI联合训练。这是因为,当用于AI缩小110的AI和用于AI放大140的AI被单独训练时,作为AI编码的对象的原始图像105与通过AI解码重建的第三图像145之间的差异会增加。

在本公开的实施例中,AI数据可被用于在AI编码处理和AI解码处理期间保持这样的联合关系。因此,通过AI编码处理获得的AI数据可包括指示放大目标的信息,并且在AI解码处理期间,根据基于AI数据验证的放大目标对第二图像135执行AI放大140。

用于AI缩小110的AI和用于AI放大140的AI可被实施为DNN。如稍后将参照图9描述的,因为通过在特定目标下共享损失信息来联合训练第一DNN和第二DNN,所以AI编码设备可将在第一DNN和第二DNN的联合训练期间使用的目标信息提供给AI解码设备,并且AI解码设备可基于所提供的目标信息对第二图像135执行AI放大140至目标分辨率。

关于图1的第一编码120和第一解码130,可通过第一编码120减少通过对原始图像105执行AI缩小110而获得的第一图像115的信息量。第一编码120可包括通过对第一图像115进行预测来生成预测数据的处理、生成与第一图像115与预测数据之间的差对应的残差数据的处理、将空间域分量的残差数据变换为频域分量的处理、对变换为频域分量的残差数据进行量化的处理、以及对量化的残差数据进行熵编码的处理。这样的第一编码120可经由使用频率变换的图像压缩方法(诸如MPEG-2、H.264高级视频编码(AVC)、MPEG-4、高效视频编码(HEVC)、VC-1、VP8、VP9和AOMedia Video1(AV1))中的一种来执行。

可通过对图像数据执行第一解码130来重建与第一图像115对应的第二图像135。第一解码130可包括通过对图像数据进行熵解码来生成量化的残差数据的处理、对量化的残差数据进行反量化的处理、将频域分量的残差数据变换为空间域分量的处理、生成预测数据的处理、以及通过使用预测数据和残差数据来重建第二图像135的处理。这样的第一解码130可经由与在第一编码120中使用的使用频率变换的图像压缩方法(诸如MPEG-2、H.264AVC、MPEG-4、HEVC、VC-1、VP8、VP9和AV1)之一对应的图像重建方法来执行。

通过AI编码处理获得的AI编码数据可包括作为对第一图像115执行第一编码120的结果而获得的图像数据以及与原始图像105的AI缩小110相关的AI数据。可在第一解码130期间使用图像数据,并且可在AI放大140期间使用AI数据。

可以以比特流的形式发送图像数据。图像数据可包括基于第一图像115中的像素值而获得的数据,例如,作为第一图像115与第一图像115的预测数据之间的差的残差数据。此外,图像数据包括对第一图像115执行的第一编码120期间使用的信息。例如,图像数据可包括第一编码120期间使用的预测模式信息、运动信息和与量化参数相关的信息。可根据MPEG-2、H.264AVC、MPEG-4、HEVC、VC-1、VP8、VP9和AV1中的在第一编码120期间使用的图像压缩方法的规则(例如,根据语法)来生成图像数据。

在基于第二DNN的AI放大140中使用AI数据。如上所述,因为第一DNN和第二DNN被联合训练,所以AI数据包括使得能够通过第二DNN对第二图像135准确地执行AI放大140的信息。在AI解码处理期间,可基于AI数据对第二图像135执行AI放大140以具有目标分辨率和/或质量。

AI数据可与图像数据一起以比特流的形式被发送。可选地,根据实施例,AI数据可以以帧或包的形式与图像数据分离地被发送。可通过相同的网络或通过不同的网络发送作为AI编码的结果而获得的AI数据和图像数据。

图2是根据实施例的AI解码设备100的配置的框图。

参照图2,根据实施例的AI解码设备200可包括接收器210和AI解码器230。接收器210可包括通信器212、解析器214和输出器216。AI解码器230可包括第一解码器232和AI放大器234。

接收器210接收并解析作为AI编码的结果而获得的AI编码数据,并且将图像数据和AI数据可区分地输出到AI解码器230。

具体地,通信器212通过网络接收作为AI编码的结果而获得的AI编码数据。作为执行AI编码的结果而获得的AI编码数据包括图像数据和AI数据。可通过相同类型的网络或不同类型的网络接收图像数据和AI数据。

解析器214接收通过通信器212接收到的AI编码数据,并对AI编码数据进行解析以将图像数据和AI数据区分开。例如,解析器214可通过读取从通信器212获得的数据的头来将图像数据和AI数据区分开。根据实施例,解析器214经由通过通信器212接收到的数据的头将图像数据和AI数据可区分地发送到输出器216,并且输出器216将区分开的图像数据和AI数据分别发送到第一解码器232和AI放大器234。此时,可验证包括在AI编码数据中的图像数据是经由特定编解码器(例如,MPEG-2、H.264AVC、MPEG-4、HEVC、VC-1、VP8、VP9或AV1)生成的图像数据。在这种情况下,可通过输出器216将对应信息发送到第一解码器232,使得图像数据经由验证的编解码器被处理。

根据实施例,可从数据存储介质获得由解析器214解析的AI编码数据,其中,所述数据存储介质包括诸如硬盘、软盘或磁带的磁介质、诸如CD-ROM或DVD的光学记录介质或者诸如软光盘的磁光介质。

第一解码器232基于图像数据重建与第一图像115对应的第二图像135。由第一解码器232获得的第二图像135被提供给AI放大器234。根据实施例,还可将图像数据中包括的第一解码相关信息(诸如预测模式信息、运动信息、量化参数信息等)提供给AI放大器234。

在接收到AI数据时,AI放大器234基于AI数据对第二图像135执行AI放大。根据实施例,还可通过使用包括在图像数据中的第一解码相关信息(诸如预测模式信息、量化参数信息等)来执行AI放大。

根据实施例的接收器210和AI解码器230被描述为单独的装置,但可通过一个处理器被实现。在这种情况下,可通过专用处理器或者通过软件和通用处理器(诸如应用处理器(AP)、中央处理器(CPU)或图形处理单元(GPU))的组合来实现接收器210和AI解码器230。可通过包括用于实现本公开的实施例的存储器或者通过包括用于使用外部存储器的存储器处理器来实现所述专用处理器。

此外,接收器210和AI解码器230可由多个处理器来配置。在这种情况下,可通过专用处理器的组合或者通过软件和通用处理器(诸如AP、CPU或GPU)的组合来实现接收器210和AI解码器230。类似地,可由不同处理器实现AI放大器234和第一解码器232。

提供给AI放大器234的AI数据包括使得第二图像135能够经由AI放大被处理的信息。这里,放大目标应对应于第一DNN的缩小。因此,AI数据包括用于验证第一DNN的缩小目标的信息。

AI数据中包括的信息的示例包括原始图像105的分辨率与第一图像115的分辨率之间的差信息以及与第一图像115相关的信息。

差信息可被表示为关于第一图像115与原始图像105相比的分辨率转换程度的信息(例如,分辨率转换率信息)。此外,因为通过重建的第二图像135的分辨率来验证第一图像115的分辨率并且因此分辨率转换程度被验证,所以所述差信息可仅被表示为原始图像105的分辨率信息。这里,分辨率信息可被表示为垂直尺寸/水平尺寸、或者比率(16:9、4:3等)和一个轴的尺寸。此外,当存在预先设置的分辨率信息时,可以以索引或标志的形式来表示分辨率信息。

与第一图像115相关的信息可包括关于作为对第一图像115执行第一编码的结果而获得的图像数据的比特率或在第一图像115的第一编码期间使用的编解码器类型中的至少一个的信息。

AI放大器234可基于包括在AI数据中的差信息或与第一图像115相关的信息中的至少一个来确定第二图像135的放大目标。放大目标可指示例如将针对第二图像135将分辨率放大到什么程度。当放大目标被确定时,AI放大器234通过第二DNN对第二图像135执行AI放大,以获得与放大目标对应的第三图像145。

在描述由AI放大器234执行的根据放大目标对第二图像135执行AI放大的方法之前,将参照图3和图4描述通过第二DNN的AI放大处理。

图3是示出用于对第二图像135执行AI放大的第二DNN 300的示图,并且图4是用于描述图3的第一卷积层310中的卷积运算的示图。

如图3中所示,第二图像135被输入到第一卷积层310。图3中所示的第一卷积层310中指示的3×3×4指示通过使用尺寸为3×3的四个滤波器核对一个输入图像执行卷积处理。由所述四个滤波器核生成四个特征图作为卷积处理的结果。每个特征图指示第二图像135的固有特性。例如,每个特征图可表示第二图像135的垂直方向特性、水平方向特性或边缘特性等。

将参照图4详细描述第一卷积层310中的卷积运算。

可通过在第一卷积层310中使用的尺寸为3×3的滤波器核430的参数与第二图像135中的对应像素值之间的乘法和加法来生成一个特征图450。因为在第一卷积层310中使用四个滤波器核,所以可使用四个滤波器核通过卷积运算来生成四个特征图。

图4中的第二图像135中指示的I1至I49指示第二图像135中的像素,并且滤波器核430中指示的F1至F9指示滤波器核430的参数。此外,特征图450中指示的M1至M9指示特征图450的样点。

在图4中,第二图像135包括49个像素,但是像素的数量仅是示例,并且当第二图像135具有4K的分辨率时,第二图像135可包括例如3840×2160个像素。

在卷积运算处理期间,将第二图像135的I1、I2、I3、I8、I9、I10、I15、I16和I17的像素值与滤波器核430的F1至F9分别相乘,并且可将相乘的结果值的组合(例如,相加)的值赋为特征图450的M1的值。当卷积运算的步幅为2时,将第二图像135的I3、I4、I5、I10、I11、I12、I17、I18和I19的像素值分别与滤波器核430的F1至F9相乘,并且相乘的结果值的组合的值可被赋为特征图450的M2的值。

当滤波器核430沿着步幅移动到第二图像135的最后像素时,在第二图像135中的像素值与滤波器核430的参数之间执行卷积运算,并且因此可生成具有特定尺寸的特征图450。

根据本公开,可通过第一DNN和第二DNN的联合训练来优化第二DNN的参数的值(例如,在第二DNN的卷积层中使用的滤波器核的参数(例如,滤波器核430的F1至F9)的值)。如上所述,AI放大器234可基于AI数据确定与第一DNN的缩小目标对应的放大目标,并且将与所确定的放大目标对应的参数确定为在第二DNN的卷积层中使用的滤波器核的参数。

包括在第一DNN和第二DNN中的卷积层可根据参照图4描述的卷积运算处理来执行处理,但是参照图4描述的卷积运算处理仅是示例,并且不限于此。

返回参照图3,从第一卷积层310输出的特征图可被输入到第一激活层320。

第一激活层320可将非线性特征赋予每个特征图。第一激活层320可包括sigmoid函数、Tanh函数、修正线性单元(ReLU)函数等,但不限于此。

赋予非线性特征的第一激活层320指示作为第一卷积层310的输出的特征图的至少一个样点值被改变。这里,通过应用非线性特征来执行所述改变。

第一激活层320确定是否将从第一卷积层310输出的特征图的样点值发送到第二卷积层330。例如,特征图的一些样点值由第一激活层320激活并被发送到第二卷积层330,并且一些样点值由第一激活层320去激活并不被发送到第二卷积层330。由特征图表示的第二图像135的固有特性通过第一激活层320被强调。

从第一激活层320输出的特征图325被输入到第二卷积层330。图3中所示的特征图325中的一个特征图是在第一激活层320中对参照图4描述的特征图450进行处理的结果。

第二卷积层330中指示的3×3×4指示通过使用尺寸为3×3的四个滤波器核对特征图325执行卷积处理。第二卷积层330的输出被输入到第二激活层340。第二激活层340可将非线性特征赋予输入数据。

从第二激活层340输出的特征图345被输入到第三卷积层350。图3中所示的第三卷积层350中指示的3×3×1指示通过使用尺寸为3×3的一个滤波器核执行卷积处理以生成一个输出图像。第三卷积层350是用于输出最终图像的层,并且通过使用一个滤波器核来生成一个输出。根据本公开的实施例,第三卷积层350可输出第三图像145作为卷积运算的结果。

如稍后将描述的,可存在指示第二DNN 300的第一卷积层310、第二卷积层330和第三卷积层350的滤波器核的数量、第二DNN 300的第一卷积层310、第二卷积层330和第三卷积层350的滤波器核的参数等的多条DNN设置信息,并且所述多条DNN设置信息应与第一DNN的多条DNN设置信息相关联。可经由第一DNN和第二DNN的联合训练来实现第二DNN的多条DNN设置信息与第一DNN的多条DNN设置信息之间的关联。

在图3中,第二DNN 300包括三个卷积层(第一卷积层310、第二卷积层330和第三卷积层350)以及两个激活层(第一激活层320和第二激活层340),但这仅是示例,并且卷积层和激活层的数量可根据实施例而变化。此外,根据实施例,第二DNN 300可被实现为递归神经网络(RNN)。在这种情况下,根据本公开的实施例的第二DNN 300的卷积神经网络(CNN)结构被改变为RNN结构。

根据实施例,AI放大器234可包括用于上述卷积运算和激活层的运算的至少一个算术逻辑单元(ALU)。ALU可被实现为处理器。对于卷积运算,ALU可包括乘法器和加法器,其中,所述乘法器执行第二图像135或从前一层输出的特征图的样点值与滤波器核的样点值之间的乘法,所述加法器将乘法的结果值相加。此外,对于激活层的操作,ALU可包括乘法器和比较器,其中,所述乘法器将输入样点值乘以在预定的sigmoid函数、Tanh函数或ReLU函数中使用的权重,所述比较器将乘法结果与特定值进行比较以确定是否将输入样点值发送到下一层。

在下文中,将描述由AI放大器234执行的根据放大目标对第二图像135执行AI放大的方法。

根据实施例,AI放大器234可存储可在第二DNN中设置的多条DNN设置信息。

这里,DNN设置信息可包括关于第二DNN中包括的卷积层的数量、针对每个卷积层的滤波器核的数量或每个滤波器核的参数中的至少一个的信息。多条DNN设置信息可分别对应于各种放大目标,并且第二DNN可基于与特定放大目标对应的DNN设置信息进行操作。第二DNN可基于DNN设置信息具有不同的结构。例如,第二DNN可基于任意一条DNN设置信息包括三个卷积层,并且可基于另一条DNN设置信息包括四个卷积层。

根据实施例,DNN设置信息可仅包括第二DNN中使用的滤波器核的参数。在这种情况下,第二DNN的结构不改变,而是仅内部滤波器核的参数可基于DNN设置信息而改变。

AI放大器234可获得多条DNN设置信息中的用于对第二图像135执行AI放大的DNN设置信息。此时使用的多条DNN设置信息中的每条DNN设置信息是用于获得预定分辨率和/或预定质量的第三图像145的信息,并且与第一DNN被联合训练。

例如,多条DNN设置信息中的一条DNN设置信息可包括用于获得分辨率为第二图像135的分辨率的两倍高的第三图像145(例如,为第二图像135的2K(2048×1080)的两倍高的4K(4096×2160)的第三图像145)的信息,并且另一条DNN设置信息可包括用于获得分辨率为第二图像135的分辨率的四倍高的第三图像145(例如,为第二图像135的2K(2048×1080)的四倍高的8K(8192×4320)的第三图像145)的信息。

所述多条DNN设置信息中的每一条与图6的AI编码设备600的第一DNN的DNN设置信息被联合获得,并且AI放大器234根据与第一DNN的DNN设置信息的缩小比率对应的放大比率来获得所述多条DNN设置信息中的一条DNN设置信息。就此而言,AI放大器234可验证第一DNN的信息。为了使AI放大器234验证第一DNN的信息,根据实施例的AI解码设备200从AI编码设备600接收包括第一DNN的信息的AI数据。

换句话说,AI放大器234可通过使用从AI编码设备600接收到的信息来验证作为用于获得第一图像115的第一DNN的DNN设置信息的目标所针对的信息,并获得与第一DNN的DNN设置信息联合训练的第二DNN的DNN设置信息。

当从多条DNN设置信息中获得用于对第二图像135执行AI放大的DNN设置信息时,可基于根据所获得的DNN设置信息进行操作的第二DNN来对输入数据进行处理。

例如,当获得了任意一条DNN设置信息时,图3的第二DNN 300的第一卷积层310、第二卷积层330和第三卷积层350中的每一个中包括的滤波器核的数量以及滤波器核的参数被设置为包括在所获得的DNN设置信息中的值。

具体地,在图4的第二DNN的任意一个卷积层中使用的3×3的滤波器核的参数被设置为{1,1,1,1,1,1,1,1,1},并且当DNN设置信息随后被改变时,所述参数被作为改变后的DNN设置信息中包括的参数的{2,2,2,2,2,2,2,2,2}替换。

AI放大器234可基于AI数据中包括的信息从多条DNN设置信息中获得用于AI放大的DNN设置信息,并且现在将描述用于获得DNN设置信息的AI数据。

根据实施例,AI放大器234可基于AI数据中包括的差信息从多条DNN设置信息中获得用于AI放大的DNN设置信息。例如,当基于所述差信息验证了原始图像105的分辨率(例如,4K(4096×2160))是第一图像115的分辨率(例如,2K(2048×1080))的两倍高时,AI放大器234可获得用于将第二图像135的分辨率增加为两倍的DNN设置信息。

根据另一实施例,AI放大器234可基于AI数据中包括的与第一图像115相关的信息从多条DNN设置信息中获得用于对第二图像135进行AI放大的DNN设置信息。AI放大器234可预先确定图像相关信息与DNN设置信息之间的映射关系,并且获得映射到与第一图像115相关的信息的DNN设置信息。

图5是示出若干条图像相关信息与若干条DNN设置信息之间的映射关系的表。

通过根据图5的实施例,将确定根据本公开的实施例的AI编码和AI解码处理不仅仅考虑分辨率的改变。如图5中所示,可单独或共同考虑分辨率(诸如标清(SD)、高清(HD)或全HD)、比特率(诸如10Mbps、15Mbps或20Mbps)以及编解码器信息(诸如AV1、H.264或HEVC)来选择DNN设置信息。出于这样的对分辨率、比特率和编解码器信息的考虑,考虑每个元素的训练应在AI训练处理期间与编码和解码处理联合执行(参见图9)。

因此,当根据训练基于包括如图5中所示的编解码器类型、图像的分辨率等的图像相关信息提供多条DNN设置信息时,可基于在AI解码处理期间接收到的与第一图像115相关的信息来获得用于对第二图像135进行AI放大的DNN设置信息。

换句话说,AI放大器234能够通过对图5的表的左侧的图像相关信息和表的右侧的DNN设置信息进行匹配来根据图像相关信息使用DNN设置信息。

如图5中所示,当从与第一图像115相关的信息验证第一图像115的分辨率是SD,作为对第一图像115执行第一编码的结果而获得的图像数据的比特率是10Mbps,并且经由AV1编解码器对第一图像115执行第一编码时,AI放大器234可使用多条DNN设置信息中的A DNN设置信息。

此外,当从与第一图像115相关的信息验证第一图像115的分辨率是HD,作为执行第一编码的结果而获得的图像数据的比特率是15Mbps,并且经由H.264编解码器执行第一编码时,AI放大器234可使用多条DNN设置信息中的B DNN设置信息。

此外,当从与第一图像115相关的信息验证第一图像115的分辨率是全HD,作为执行第一编码的结果而获得的图像数据的比特率是20Mbps,并且经由HEVC编解码器执行第一编码时,AI放大器234可使用多条DNN设置信息中的C DNN设置信息,并且当验证第一图像115的分辨率是全HD,作为执行第一编码的结果而获得的图像数据的比特率是15Mbps,并且经由HEVC编解码器执行第一编码时,AI放大器234可使用多条DNN设置信息中的D DNN设置信息。基于作为对第一图像115执行第一编码的结果而获得的图像数据的比特率是20Mbps还是15Mbps来选择C DNN设置信息和DDNN设置信息中的一个。在经由相同编解码器对相同分辨率的第一图像115执行第一编码时获得的图像数据的不同比特率指示重建图像的不同质量。因此,可基于特定图像质量联合训练第一DNN和第二DNN,并且因此,AI放大器234可根据指示第二图像135的质量的图像数据的比特率来获得DNN设置信息。

根据另一实施例,AI放大器234可考虑从第一解码器232提供的信息(预测模式信息、运动信息、量化参数信息等)和AI数据中包括的与第一图像115相关的信息两者从多条DNN设置信息中获得用于对第二图像135执行AI放大的DNN设置信息。例如,AI放大器234可从第一解码器232接收在第一图像115的第一编码处理期间使用的量化参数信息,从AI数据验证作为第一图像115的编码结果所获得的图像数据的比特率,并且获得与量化参数信息和比特率对应的DNN设置信息。即使当比特率相同时,重建图像的质量也可根据图像的复杂度而变化。比特率是表示对其执行第一编码的整个第一图像115的值,并且即使在第一图像115内,每个帧的质量也可变化。因此,与仅使用AI数据时相比,当一起考虑来自第一解码器232的针对每个帧可获得的预测模式信息、运动信息和/或量化参数时,可获得更适合于第二图像135的DNN设置信息。

此外,根据实施例,AI数据可包括相互约定的DNN设置信息的标识符。DNN设置信息的标识符是用于将在第一DNN与第二DNN之间联合训练的一对DNN设置信息区分开的信息,使得对第二图像135执行AI放大至与第一DNN的缩小目标对应的放大目标。在获得AI数据中包括的DNN设置信息的标识符之后,AI放大器234可通过使用与DNN设置信息的标识符对应的DNN设置信息对第二图像135执行AI放大。例如,可预先指定指示在第一DNN中可设置的多条DNN设置信息中的每条DNN设置信息的标识符和指示在第二DNN中可设置的多条DNN设置信息中的每条DNN设置信息的标识符。在这种情况下,可针对在第一DNN和第二DNN中的每一个中可设置的一对DNN设置信息指定相同的标识符。AI数据可包括用于原始图像105的AI缩小的第一DNN中设置的DNN设置信息的标识符。接收AI数据的AI放大器234可通过使用多条DNN设置信息中的由AI数据中包括的标识符指示的DNN设置信息来对第二图像135执行AI放大。

此外,根据实施例,AI数据可包括DNN设置信息。AI放大器234可在获得AI数据中包括的DNN设置信息之后通过使用该DNN设置信息对第二图像135执行AI放大。

根据实施例,当构成DNN设置信息的多条信息(例如,卷积层的数量、针对每个卷积层的滤波器核的数量、每个滤波器核的参数等)以查找表的形式被存储时,AI放大器234可通过基于AI数据中包括的信息对从查找表中的值选择的一些值进行组合来获得DNN设置信息,并且通过使用获得的DNN设置信息对第二图像135执行AI放大。

根据实施例,当与放大目标对应的DNN的结构被确定时,AI放大器234可获得与所确定的DNN的结构对应的DNN设置信息,例如,滤波器核的参数。

AI放大器234通过包括与第一DNN相关的信息的AI数据获得第二DNN的DNN设置信息,并且通过基于所获得的DNN设置信息设置的第二DNN对第二图像135执行AI放大,并且在这种情况下,与直接分析第二图像135的特征以进行放大时相比,可降低存储器使用和吞吐量。

根据实施例,当第二图像135包括多个帧时,AI放大器234可独立地获得针对特定数量个帧的DNN设置信息,或者可获得针对全部帧的共同的DNN设置信息。

图6是示出包括多个帧的第二图像135的示图。

如图6中所示,第二图像135可包括帧t0至帧tn。

根据实施例,AI放大器234可通过AI数据获得第二DNN的DNN设置信息,并且基于所获得的DNN设置信息对帧t0至帧tn执行AI放大。换句话说,可基于共同的DNN设置信息经由AI放大来对帧t0至帧tn进行处理。

根据另一实施例,AI放大器234可通过使用从AI数据获得的“A”DNN设置信息对帧t0至帧tn中的一些帧(例如,帧t0至帧ta)执行AI放大,并且通过使用从AI数据获得的“B”DNN设置信息对帧ta+1至帧tb执行AI放大。此外,AI放大器234可通过使用从AI数据获得的“C”DNN设置信息来对帧tb+1至帧tn执行AI放大。换句话说,AI放大器234可针对包括多个帧中的特定数量个帧的每一组独立地获得DNN设置信息,并且通过使用独立地获得的DNN设置信息对每一组中包括的帧执行AI放大。

根据另一实施例,AI放大器234可针对形成第二图像135的每个帧独立地获得DNN设置信息。换句话说,当第二图像135包括三个帧时,AI放大器234可通过使用关于第一帧获得的DNN设置信息对第一帧执行AI放大,通过使用关于第二帧获得的DNN设置信息对第二帧执行AI放大,并且通过使用关于第三帧获得的DNN设置信息对第三帧执行AI放大。根据如上所述的基于从第一解码器232提供的信息(预测模式信息、运动信息、量化参数信息等)和包括在AI数据中的与第一图像115相关的信息来获得DNN设置信息的方法,可针对包括在第二图像135中的每个帧独立地获得DNN设置信息。这是因为可针对包括在第二图像135中的每个帧独立地确定模式信息、量化参数信息等。

根据另一实施例,AI数据可包括关于基于AI数据获得的DNN设置信息对哪个帧有效的信息。例如,当AI数据包括指示DNN设置信息直到帧ta有效的信息时,AI放大器234通过使用基于AI数据获得的DNN设置信息对帧t0至帧ta执行AI放大。此外,当另一条AI数据包括指示DNN设置信息直到帧tn有效的信息时,AI放大器234通过使用基于所述另一条AI数据获得的DNN设置信息对帧ta+1至帧tn执行AI放大。

在下文中,将参照图7描述用于对原始图像105执行AI编码的AI编码设备600。

图7是根据实施例的AI编码设备600的配置的框图。

参照图7,AI编码设备600可包括AI编码器610和发送器630。AI编码器610可包括AI缩小器66和第一编码器614。发送器630可包括数据处理器632和通信器634。

在图7中,AI编码器610和发送器630被示出为独立的装置,但是AI编码器610和发送器630可通过一个处理器来实现。在这种情况下,AI编码器610和发送器630可通过专用处理器或者通过软件和通用处理器(诸如AP、CPU或图形处理单元GPU)的组合来实现。可通过包括用于实现本公开的实施例的存储器或者通过包括用于使用外部存储器的存储器处理器来实现所述专用处理器。

此外,AI编码器610和发送器630可由多个处理器来构成。在这种情况下,AI编码器610和发送器630可通过专用处理器的组合或者通过软件和多个通用处理器(诸如AP、CPU或GPU)的组合来实现。AI缩小器612和第一编码器614可通过不同处理器来实现。

AI编码器610对原始图像105执行AI缩小并对第一图像115执行第一编码,并且将AI数据和图像数据发送到发送器630。发送器630将AI数据和图像数据发送到AI解码设备200。

图像数据包括作为对第一图像115执行第一编码的结果而获得的数据。图像数据可包括基于第一图像115中的像素值而获得的数据,例如,作为第一图像115与第一图像115的预测数据之间的差的残差数据。此外,图像数据包括第一图像115的第一编码处理期间使用的信息。例如,图像数据可包括用于对第一图像115执行第一编码的预测模式信息、运动信息、量化参数信息等。

AI数据包括使得能够对第二图像135执行AI放大至与第一DNN的缩小目标对应的放大目标的信息。根据实施例,AI数据可包括原始图像105与第一图像115之间的差信息。此外,AI数据可包括与第一图像115相关的信息。与第一图像115相关的信息可包括关于第一图像115的分辨率、作为对第一图像115执行第一编码的结果而获得的图像数据的比特率、以及在第一图像115的第一编码期间使用的编解码器类型中的至少一个的信息。

根据实施例,AI数据可包括相互约定的DNN设置信息的标识符,使得对第二图像135执行AI放大至与第一DNN的缩小目标对应的放大目标。

此外,根据实施例,AI数据可包括可在第二DNN中设置的DNN设置信息。

AI缩小器612可获得通过经由第一DNN对原始图像105执行AI缩小而获得的第一图像115。AI缩小器612可基于预定标准确定原始图像105的缩小目标。

为了获得与缩小目标匹配的第一图像115,AI缩小器612可存储可在第一DNN中设置的多条DNN设置信息。AI缩小器612从所述多条DNN设置信息中获得与缩小目标对应的DNN设置信息,并且通过所获得的DNN设置信息中设置的第一DNN对原始图像105执行AI缩小。

可训练多条DNN设置信息中的每条DNN设置信息以获得预定分辨率和/或预定质量的第一图像115。例如,多条DNN设置信息中的任意一条DNN设置信息可包括用于获得分辨率为原始图像105的分辨率的一半的第一图像115(例如,为原始图像105的4K(4096×2160)的一半的2K(2048×1080)的第一图像115)的信息,并且另一条DNN设置信息可包括用于获得分辨率为原始图像105的分辨率的四分之一的第一图像115(例如,为原始图像105的8K(8192×4320)的四分之一的2K(2048×1080)的第一图像115)的信息。

根据实施例,当构成DNN设置信息的多条信息(例如,卷积层的数量、针对每个卷积层的滤波器核的数量、每个滤波器核的参数等)以查找表的形式被存储时,AI缩小器612可通过基于缩小目标对从查找表中的值选择的一些值进行组合来获得DNN设置信息,并且通过使用所获得的DNN设置信息对原始图像105执行AI缩小。

根据实施例,AI缩小器612可确定与缩小目标对应的DNN的结构,并且获得与所确定的DNN的结构对应的DNN设置信息,例如,获得滤波器核的参数。

随着第一DNN和第二DNN被联合训练,用于对原始图像105执行AI缩小的多条DNN设置信息可具有优化值。这里,每条DNN设置信息包括第一DNN中包括的卷积层的数量、针对每个卷积层的滤波器核的数量或每个滤波器核的参数中的至少一个。

AI缩小器612可利用用于对原始图像105执行AI缩小而获得的DNN设置信息来设置第一DNN,以通过第一DNN获得特定分辨率和/或特定质量的第一图像115。当从多条DNN设置信息获得用于对原始图像105执行AI缩小的DNN设置信息时,第一DNN中的每一层可基于DNN设置信息中包括的信息来对输入数据进行处理。

在下文中,将描述由AI缩小器612执行的确定缩小目标的方法。缩小目标可指示例如分辨率从原始图像105降低多少以获得第一图像115。

根据实施例,AI缩小器612可基于原始图像105的压缩比(例如,原始图像105与第一图像115之间的分辨率差、目标比特率等)、压缩质量(例如,比特率的类型)、压缩历史信息或类型中的至少一个来确定缩小目标。

例如,AI缩小器612可基于预设或从用户输入的压缩比、压缩质量等确定缩小目标。

作为另一示例,AI缩小器612可通过使用存储在AI编码设备600中的压缩历史信息来确定缩小目标。例如,根据可由AI编码设备600使用的压缩历史信息,可确定用户偏好的编码质量、压缩比等,并且可根据基于压缩历史信息确定的编码质量来确定缩小目标。例如,可根据压缩历史信息基于最常使用的编码质量来确定第一图像115的分辨率、质量等。

作为另一示例,AI缩小器612可根据压缩历史信息基于比特定阈值更频繁使用的编码质量(例如,比特定阈值更频繁使用的编码质量的平均质量)来确定缩小目标。

作为另一示例,AI缩小器612可基于原始图像105的分辨率、类型(例如,文件格式)等来确定缩小目标。

根据实施例,当原始图像105包括多个帧时,AI缩小器612可针对特定数量个帧独立地确定缩小目标,或者可确定针对全部帧的缩小目标。

根据实施例,AI缩小器612可将包括在原始图像105中的帧划分为特定数量个组,并且针对每个组独立地确定缩小目标。可针对每个组确定相同或不同的缩小目标。根据每个组,组中包括的帧的数量可相同或不同。

根据另一实施例,AI缩小器612可针对包括在原始图像105中的每个帧独立地确定缩小目标。可针对每个帧确定相同或不同的缩小目标。

在下文中,将描述AI缩小所基于的第一DNN 700的结构的示例。

图8是示出用于对原始图像105执行AI缩小的第一DNN 700的示图。

如图8中所示,原始图像105被输入到第一卷积层710。第一卷积层710通过使用尺寸为5×5的32个滤波器核对原始图像105执行卷积处理。作为卷积处理的结果而生成的32个特征图被输入到第一激活层720。第一激活层720可将非线性特征赋予所述32个特征图。

第一激活层720确定是否将从第一卷积层710输出的特征图的样点值发送到第二卷积层730。例如,所述特征图的一些样点值被第一激活层720激活并且被发送到第二卷积层730,并且一些样点值被第一激活层720去激活并且不被发送到第二卷积层730。由从第一卷积层710输出的特征图表示的信息被第一激活层720强调。

第一激活层720的输出725被输入到第二卷积层730。第二卷积层730通过使用尺寸为5×5的32个滤波器核对输入数据执行卷积处理。作为卷积处理的结果而输出的32个特征图被输入到第二激活层740,并且第二激活层740可将非线性特征赋予所述32个特征图。

第二激活层740的输出745被输入到第三卷积层750。第三卷积层750通过使用尺寸为5×5的一个滤波器核对输入数据执行卷积处理。作为卷积处理的结果,可从第三卷积层750输出一个图像。第三卷积层750通过使用一个滤波器核作为用于输出最终图像的层来生成一个输出。根据本公开的实施例,第三卷积层750可输出第一图像115作为卷积运算的结果。

可存在指示第一DNN 700的第一卷积层710、第二卷积层730和第三卷积层750的滤波器核的数量、第一DNN 700的第一卷积层710、第二卷积层730和第三卷积层750的每个滤波器核的参数等的多条DNN设置信息,并且所述多条DNN设置信息可与第二DNN的多条DNN设置信息相关联。可经由第一DNN和第二DNN的联合训练来实现第一DNN的多条DNN设置信息与第二DNN的多条DNN设置信息之间的关联。

在图8中,第一DNN 700包括三个卷积层(第一卷积层710、第二卷积层730和第三卷积层750)以及两个激活层(第一激活层720和第二激活层740),但这仅是示例,并且卷积层和激活层的数量可根据实施例而变化。此外,根据实施例,第一DNN 700可被实现为RNN。在这种情况下,根据本公开的实施例的第一DNN 700的CNN结构被改变为RNN结构。

根据实施例,AI缩小器612可包括用于上述卷积运算和激活层的运算的至少一个ALU。ALU可被实现为处理器。对于卷积运算,ALU可包括乘法器和加法器,其中,所述乘法器执行原始图像105或从前一层输出的特征图的样点值与滤波器核的样点值之间的乘法,所述加法器将乘法的结果值相加。此外,对于激活层的运算,ALU可包括乘法器和比较器,其中,所述乘法器将输入样点值乘以在预定的sigmoid函数、Tanh函数或ReLU函数中使用的权重,所述比较器将乘法结果与特定值进行比较以确定是否将输入样点值发送到下一层。

返回参照图7,在从AI缩小器612接收到第一图像115时,第一编码器614可通过对第一图像115执行第一编码来减少第一图像115的信息量。可获得与第一图像115对应的图像数据,作为由第一编码器614执行第一编码的结果。

数据处理器632对将以特定形式发送的AI数据或图像数据中的至少一个进行处理。例如,当将以比特流的形式发送AI数据和图像数据时,数据处理器632可将AI数据处理为以比特流的形式被表示,并且通过通信器634以一个比特流的形式发送图像数据和AI数据。作为另一示例,数据处理器632可将AI数据处理为以比特流的形式被表示,并且通过通信器634发送与AI数据对应的比特流和与图像数据对应的比特流中的每个比特流。作为另一示例,数据处理器632可将AI数据处理为以帧或包的形式被表示,并且通过通信器634以比特流的形式发送图像数据并以帧或包的形式发送AI数据。

通信器634通过网络发送作为执行AI编码的结果而获得的AI编码数据。作为执行AI编码的结果而获得的AI编码数据包括图像数据和AI数据。图像数据和AI数据可通过相同类型的网络或不同类型的网络被发送。

根据实施例,作为数据处理器632的处理结果而获得的AI编码数据可被存储在数据存储介质中,其中,所述数据存储介质包括诸如硬盘、软盘或磁带的磁介质、诸如CD-ROM或DVD的光学记录介质、或者诸如软光盘的磁光介质。

在下文中,将参照图9描述联合训练第一DNN 700和第二DNN 300的方法。

图9是用于描述训练第一DNN 700和第二DNN 300的方法的示图。

在实施例中,经由AI解码处理将通过AI编码处理被执行AI编码的原始图像105重建为第三图像145,并且为了保持原始图像105与作为AI解码的结果而获得的第三图像145之间的相似性,需要AI编码处理与AI解码处理之间的关联性。换句话说,需要在AI解码处理期间重建在AI编码处理中损失的信息,并且就此而言,需要对第一DNN 700和第二DNN 300进行联合训练。

为了进行准确的AI解码,最终,需要减少与将图9中所示的第三训练图像804和原始训练图像801进行比较的结果对应的质量损失信息830。因此,质量损失信息830被用于训练第一DNN 700和第二DNN 300两者。

首先,将描述图9中所示的训练处理。

在图9中,原始训练图像801是将被执行AI缩小的图像,并且第一训练图像802是通过对原始训练图像801执行AI缩小而获得的图像。此外,第三训练图像804是通过对第一训练图像802执行AI放大而获得的图像。

原始训练图像801包括静止图像或包括多个帧的运动图像。根据实施例,原始训练图像801可包括从静止图像或包括多个帧的运动图像提取的亮度图像。此外,根据实施例,原始训练图像801可包括从静止图像或包括多个帧的运动图像提取的分块图像。当原始训练图像801包括多个帧时,第一训练图像802、第二训练图像和第三训练图像804也各自包括多个帧。当原始训练图像801的多个帧被依次输入到第一DNN 700时,可通过第一DNN 700和第二DNN 300依次获得第一训练图像802、第二训练图像和第三训练图像804的多个帧。

对于第一DNN 700和第二DNN 300的联合训练,原始训练图像801被输入到第一DNN700。输入到第一DNN 700的原始训练图像801经由AI缩小被输出为第一训练图像802,并且第一训练图像802被输入到第二DNN 300。输出第三训练图像804作为对第一训练图像802执行AI放大的结果。

参照图9,第一训练图像802被输入到第二DNN 850,并且根据实施例,在对第一训练图像802执行第一编码和第一解码时获得的第二训练图像可被输入到第二DNN 300。为了将第二训练图像输入到第二DNN 300,可使用MPEG-2、H.264、MPEG-4、HEVC、VC-1、VP8、VP9和AV1中的任意一种编解码器。具体地,MPEG-2、H.264、MPEG-4、HEVC、VC-1、VP8、VP9和AV1中的任意一种编解码器可被用于对第一训练图像802执行第一编码并对与第一训练图像802对应的图像数据执行第一解码。

参照图9,与通过第一DNN 700输出的第一训练图像802分开地,通过对原始训练图像801执行传统缩小所获得的缩减的训练图像803被获得。这里,传统缩小可包括双线性缩放、双三次缩放、lanczos缩放或阶梯缩放中的至少一个。

为了防止第一图像115的结构特征极大地偏离原始图像105的结构特征,获得缩减的训练图像803以保留原始训练图像801的结构特征。

在执行训练之前,第一DNN 700和第二DNN 300可被设置为预定DNN设置信息。当执行训练时,可确定结构损失信息810、复杂度损失信息820和质量损失信息830。

可基于将缩减的训练图像803和第一训练图像802进行比较的结果来确定结构损失信息810。例如,结构损失信息810可对应于缩减的训练图像803的结构信息与第一训练图像802的结构信息之间的差。结构信息可包括可从图像提取的各种特征,诸如图像的亮度、对比度、直方图等。结构损失信息810指示原始训练图像801的多少结构信息被保持在第一训练图像802中。当结构损失信息810小时,第一训练图像802的结构信息与原始训练图像801的结构信息相似。

可基于第一训练图像802的空间复杂度来确定复杂度损失信息820。例如,第一训练图像802的总方差值可被用作空间复杂度。复杂度损失信息820与通过对第一训练图像802执行第一编码而获得的图像数据的比特率相关。定义当复杂度损失信息820小时,图像数据的比特率低。

可基于将原始训练图像801和第三训练图像804进行比较的结果来确定质量损失信息830。质量损失信息830可包括关于原始训练图像801与第三训练图像804之间的差的L1范数值、L2范数值、结构相似度(SSIM)值、峰值信噪比-人类视觉系统(PSNR-HVS)值、多尺度SSIM(MS-SSIM)值、方差膨胀因子(VIF)值或视频多方法评估融合(VMAF)值中的至少一个。质量损失信息830指示第三训练图像804与原始训练图像801有多相似。当质量损失信息830小时,第三训练图像804与原始训练图像801更相似。

参照图9,结构损失信息810、复杂度损失信息820和质量损失信息830被用于训练第一DNN 700,并且质量损失信息830被用于训练第二DNN 300。换句话说,质量损失信息830被用于训练第一DNN 700和第二DNN 300两者。

第一DNN 700可更新参数,使得基于损失信息810至830确定的最终损失信息被减少或最小化。此外,第二DNN 300可更新参数,使得质量损失信息830被减少或最小化。

用于训练第一DNN 700和第二DNN 300的最终损失信息可如下面的等式1被确定。

[等式1]

LossDS=a×结构损失信息+b×复杂度损失信息+c×质量损失信息

LossUS=d×质量损失信息

在等式1中,LossDS指示将被减小或最小化以训练第一DNN 700的最终损失信息,并且LossUS指示将被减小或最小化以训练第二DNN 300的最终损失信息。此外,a、b、c和d可以是预定的特定权重。

换句话说,第一DNN 700沿等式1的LossDS减小的方向更新参数,并且第二DNN 300沿LossUS减小的方向更新参数。当根据在训练期间推导出的LossDS来更新第一DNN 700的参数时,基于更新的参数获得的第一训练图像802变得与基于未更新的参数获得的先前的第一训练图像802不同,并且因此,第三训练图像804也变得与先前的第三训练图像804不同。当第三训练图像804变得与先前的第三训练图像804不同时,还重新确定质量损失信息830,并且第二DNN 300相应地更新参数。当重新确定质量损失信息830时,还重新确定LossDS,并且第一DNN 700根据重新确定的LossDS来更新参数。换句话说,第一DNN 700的参数的更新导致第二DNN 300的参数的更新,并且第二DNN 300的参数的更新导致第一DNN700的参数的更新。换句话说,因为通过共享质量损失信息830来联合训练第一DNN 700和第二DNN 300,所以可联合优化第一DNN 700的参数和第二DNN 300的参数。

参照等式1,验证了根据质量损失信息830来确定LossUS,但这仅是示例,并且可基于结构损失信息810和复杂度损失信息820中的至少一个以及质量损失信息830来确定LossUS。

在上文中,已经描述了AI解码设备200的AI放大器234和AI编码设备600的AI缩小器612存储多条DNN设置信息,并且现在将描述训练存储在AI放大器234和AI缩小器612中的多条DNN设置信息中的每条DNN设置信息的方法。

如参照等式1所述,第一DNN 700考虑第一训练图像802的结构信息与原始训练图像801的结构信息之间的相似性(结构损失信息810)、作为对第一训练图像802执行第一编码的结果而获得的图像数据的比特率(复杂度损失信息820)、以及第三训练图像804与原始训练图像801之间的差(质量损失信息830)来更新参数。

具体地,可更新第一DNN 700的参数,从而获得与原始训练图像801具有相似的结构信息的第一训练图像802并且当对第一训练图像802执行第一编码时获得具有小比特率的图像数据,并且同时,对第一训练图像802执行AI放大的第二DNN 300获得与原始训练图像801相似的第三训练图像804。

第一DNN 700的参数被优化的方向可通过调整等式1的权重a、b和c而变化。例如,当权重b被确定为高时,可通过使第三训练图像804的低比特率优先于高质量来更新第一DNN 700的参数。此外,当权重c被确定为高时,可通过使第三训练图像804的高质量优先于高比特率或者保持原始训练图像801的结构信息来更新第一DNN 700的参数。

此外,第一DNN 700的参数被优化的方向可根据用于对第一训练图像802执行第一编码的编解码器的类型而变化。这是因为将被输入到第二DNN 300的第二训练图像可根据编解码器的类型而变化。

换句话说,可基于权重a、b和c以及用于对第一训练图像802执行第一编码的编解码器的类型来联合更新第一DNN 700的参数和第二DNN 300的参数。因此,当在将权重a、b和c各自确定为特定值并将编解码器的类型确定为特定类型之后训练第一DNN 700和第二DNN300时,可确定彼此关联和优化的第一DNN 700的参数和第二DNN 300的参数。

此外,当在改变权重a、b和c以及编解码器的类型之后训练第一DNN 700和第二DNN300时,可确定彼此关联和优化的第一DNN 700的参数和第二DNN 300的参数。换句话说,当在改变权重a、b和c的值以及编解码器的类型时训练第一DNN 700和第二DNN 300时,可在第一DNN 700和第二DNN 300中确定彼此联合训练的多条DNN设置信息。

如上面参照图5所述,第一DNN 700和第二DNN 300的多条DNN设置信息可被映射到与第一图像相关的信息。为了设置这样的映射关系,可根据特定比特率经由特定编解码器对从第一DNN 700输出的第一训练图像802执行第一编码,并且可将通过对作为执行第一编码的结果而获得的比特流执行第一解码而获得的第二训练图像输入到第二DNN 300。换句话说,通过在设置环境使得根据特定比特率经由特定编解码器对特定分辨率的第一训练图像802执行第一编码之后训练第一DNN 700和第二DNN 300,可确定与第一训练图像802的所述分辨率、用于对第一训练图像802执行第一编码的编解码器的类型、以及作为对第一训练图像802执行第一编码的结果而获得的比特流的比特率相映射的DNN设置信息对。通过不同地改变第一训练图像802的分辨率、用于对第一训练图像802执行第一编码的编解码器的类型、以及根据第一训练图像802的第一编码获得的比特流的比特率,可确定第一DNN 700和第二DNN 300的多条DNN设置信息和与第一图像相关的多条信息之间的映射关系。

图10是用于描述训练设备1000对第一DNN 700和第二DNN的训练处理的示图。

参照图9描述的第一DNN 700和第二DNN 300的训练可由训练设备1000来执行。训练设备1000包括第一DNN 700和第二DNN 300。训练设备1000可以是例如AI编码设备600或单独的服务器。作为训练结果而获得的第二DNN 300的DNN设置信息被存储在AI解码设备200中。

参照图10,在操作S840和操作S845,训练设备1000初始设置第一DNN 700和第二DNN 300的DNN设置信息。因此,第一DNN 700和第二DNN 300可根据预定DNN设置信息进行操作。DNN设置信息可包括关于第一DNN 700和第二DNN 300中包括的卷积层的数量、针对每个卷积层的滤波器核的数量、针对每个卷积层的滤波器核的尺寸或每个滤波器核的参数中的至少一个的信息。

在操作S850,训练设备1000将原始训练图像801输入到第一DNN 700中。原始训练图像801可包括静止图像或运动图像中包括的至少一个帧。

在操作S855,第一DNN 700根据初始设置的DNN设置信息对原始训练图像801进行处理,并输出通过对原始训练图像801执行AI缩小而获得的第一训练图像802。在图10中,从第一DNN 700输出的第一训练图像802被直接输入到第二DNN 300,但是从第一DNN 700输出的第一训练图像802可由训练设备1000输入到第二DNN 300。此外,训练设备1000可经由特定编解码器对第一训练图像802执行第一编码和第一解码,然后将第二训练图像输入到第二DNN 300。

在操作S860,第二DNN 300根据初始设置的DNN设置信息对第一训练图像802或第二训练图像进行处理,并输出通过对第一训练图像802或第二训练图像执行AI放大而获得的第三训练图像804。

在操作S865,训练设备1000基于第一训练图像802计算复杂度损失信息820。

在操作S870,训练设备1000通过将缩减的训练图像803和第一训练图像802进行比较来计算结构损失信息810。

在操作S875,训练设备1000通过将原始训练图像801和第三训练图像804进行比较来计算质量损失信息830。

在操作S880,基于最终损失信息经由反向传播处理来更新初始设置的DNN设置信息。训练设备1000可基于复杂度损失信息820、结构损失信息810和质量损失信息830来计算用于训练第一DNN 700的最终损失信息。

在操作S885,第二DNN 300基于质量损失信息830或最终损失信息经由反向传播处理来更新初始设置的DNN设置信息。训练设备1000可基于质量损失信息830来计算用于训练第二DNN 300的最终损失信息。

然后,训练设备1000、第一DNN 700和第二DNN 300可重复操作S850至S885,直到最终损失信息被最小化为止,以更新DNN设置信息。此时,在每次重复期间,第一DNN 700和第二DNN 300根据在先前操作中更新的DNN设置信息进行操作。

下面的表1示出当根据本公开的实施例对原始图像105执行AI编码和AI解码时以及当经由HEVC对原始图像105执行编码和解码时的效果。

【表1】

如表1中所示,尽管根据本公开的实施例对包括8K分辨率的300帧的内容执行AI编码和AI解码时的主观图像质量高于经由HEVC执行编码和解码时的主观图像质量,但是比特率降低了至少50%。

图11是用于对原始图像105执行AI缩小的设备20和用于对第二图像135执行AI放大的设备40的示图。

设备20接收原始图像105,并通过使用AI缩小器1124和基于变换的编码器1126将图像数据25和AI数据30提供给设备40。根据实施例,图像数据25对应于图1的图像数据,并且AI数据30对应于图1的AI数据。此外,根据实施例,基于变换的编码器1126对应于图7的第一编码器614,并且AI缩小器1124对应于图7的AI缩小器612。

设备40接收AI数据30和图像数据25,并且通过使用基于变换的解码器1146和AI放大器1144来获得第三图像145。根据实施例,基于变换的解码器1146对应于图2的第一解码器232,并且AI放大器1144对应于图2的AI放大器234。

根据实施例,设备20包括CPU、存储器和包括指令的计算机程序。计算机程序被存储在存储器中。根据实施例,设备20根据CPU对计算机程序的执行来执行将参照图11描述的功能。根据实施例,将参照图11描述的功能由专用硬件芯片和/或CPU来执行。

根据实施例,设备40包括CPU、存储器和包括指令的计算机程序。计算机程序被存储在存储器中。根据实施例,设备40根据CPU对计算机程序的执行来执行将参照图11描述的功能。根据实施例,将参照图11描述的功能由专用硬件芯片和/或CPU来执行。

在图11中,配置控制器1122接收至少一个输入值10。根据实施例,所述至少一个输入值10可包括针对AI缩小器1124和AI放大器1144的目标分辨率差、图像数据25的比特率、图像数据25的比特率类型(例如,可变比特率类型、恒定比特率类型或平均比特率类型)或者针对基于变换的编码器1126的编解码器类型中的至少一个。所述至少一个输入值10可包括被预存储在设备20中的值或从用户输入的值。

配置控制器1122基于接收到的输入值10来控制AI缩小器1124和基于变换的编码器1126的操作。根据实施例,配置控制器1122根据接收到的输入值10获得用于AI缩小器1124的DNN设置信息,并且利用所获得的DNN设置信息来设置AI缩小器1124。根据实施例,配置控制器1122可将接收到的输入值10发送到AI缩小器1124,并且AI缩小器1124可基于接收到的输入值10获得用于对原始图像105执行AI缩小的DNN设置信息。根据实施例,配置控制器1122可将附加信息(例如,应用AI缩小的颜色格式(亮度分量、色度分量、红色分量、绿色分量或蓝色分量)信息和高动态范围(HDR)的色调映射信息)连同输入值10一起提供给AI缩小器1124,并且AI缩小器1124可考虑输入值10和附加信息来获得DNN设置信息。根据实施例,配置控制器1122将接收到的输入值10的至少一部分发送到基于变换的编码器1126,并且基于变换的编码器1126通过特定值的比特率、特定类型的比特率和特定编解码器对第一图像115执行第一编码。

AI缩小器1124接收原始图像105并执行参照图1、图7、图8、图9或图10中的至少一个描述的操作以获得第一图像115。

根据实施例,AI数据30被提供给设备40。AI数据30可包括原始图像105与第一图像115之间的分辨率差信息或者与第一图像115相关的信息中的至少一个。可基于输入值10的目标分辨率差来确定分辨率差信息,并且可基于目标比特率、比特率类型或编解码器类型中的至少一个来确定与第一图像115相关的信息。根据实施例,AI数据30可包括AI放大期间使用的参数。可从AI缩小器1124将AI数据30提供给设备40。

图像数据25随着由基于变换的编码器1126对原始图像105进行处理而被获得,并被发送到设备40。基于变换的编码器1126可根据MPEG-2、H.264AVC、MPEG-4、HEVC、VC-1、VP8、VP9或VA1对第一图像115进行处理。

配置控制器1142基于AI数据30控制AI放大器1144的操作。根据实施例,配置控制器1142根据接收到的AI数据30获得用于AI放大器1144的DNN设置信息,并且利用所获得的DNN设置信息设置AI放大器1144。根据实施例,配置控制器1142可将接收到的AI数据30发送到AI放大器1144,并且AI放大器1144可基于AI数据30获得用于对第二图像135执行AI放大的DNN设置信息。根据实施例,配置控制器1142可将附加信息(例如,应用AI放大的颜色格式(亮度分量、色度分量、红色分量、绿色分量或蓝色分量)信息和HDR的色调映射信息)连同AI数据30一起提供给AI放大器1144,并且AI放大器1144可考虑AI数据30和附加信息来获得DNN设置信息。根据实施例,AI放大器1144可从配置控制器1142接收AI数据30,从基于变换的解码器1146接收预测模式信息、运动信息或量化参数信息中的至少一个,并且基于预测模式信息、运动信息和量化参数信息中的至少一个以及AI数据30来获得DNN设置信息。

基于变换的解码器1146可对图像数据25进行处理以重建第二图像135。基于变换的解码器1146可根据MPEG-2、H.264AVC、MPEG-4、HEVC、VC-1、VP8、VP9或AV1对图像数据25进行处理。

AI放大器1144可通过基于所设置的DNN设置信息对从基于变换的解码器1146提供的第二图像135执行AI放大来获得第三图像145。

AI缩小器1124可包括第一DNN,并且AI放大器1144可包括第二DNN,并且根据实施例,根据参照图9和图10描述的训练方法来训练针对第一DNN和第二DNN的DNN设置信息。

图12是根据本公开的另一实施例的AI编码设备900的框图。

参照图12,根据本公开的另一实施例的AI编码设备900包括AI编码器910和发送器930。AI编码器910包括AI缩小器912、伪像去除器916和第一编码器914。

如上所述,AI缩小器912通过使用第一DNN来获得从原始图像105被AI缩小的第一图像115。第一图像115是分辨率比原始图像105的分辨率低的图像。上面描述了AI缩小器912的AI缩小,因此这里将不提供其详细描述。

第一图像115被提供给伪像去除器916。伪像去除器916检测第一图像115中的伪像,并去除检测到的伪像。通过第一DNN被AI缩小的第一图像115可包括伪像,例如,轮廓伪像。因为AI缩小降低了原始图像105的分辨率,所以由于分辨率的改变,第一图像115可能包括未被包括在原始图像105中的形状。

图13是示出在通过对原始图像105进行AI缩小而获得的第一图像115中出现的伪像的图像。

如图13中所示,从第一DNN输出的第一图像115可包括具有抛物线形状的轮廓伪像1015。

因为当基于包括未被包括在原始图像105中的伪像的第一图像115执行第一编码和第一解码时最终重建的图像的质量降低,所以伪像去除器916执行后处理以去除或减少第一图像115的伪像。

伪像去除器916生成指示第一图像115中的伪像区域的伪像信息。伪像信息可指示第一图像115中的伪像区域的位置。

伪像信息可包括具有宽度和高度的二维伪像图。伪像图的分辨率可与第一图像115的分辨率相同。伪像信息可包括指示第一图像115中的伪像区域的位置的一维数据。

伪像图中的像素可具有预定第一像素值或第二像素值,并且可确定在第一图像115中的与伪像图中的具有第一像素值的像素对应的像素上存在伪像。此外,可确定在第一图像115中的与伪像图中的具有第二像素值的像素对应的像素上不存在伪像。

在本公开的实施例中,伪像去除器916可确定原始图像105的按块单元的像素方差和第一图像115的按块单元的像素方差是否满足特定标准,并且基于确定的结果生成伪像信息。伪像去除器916可基于确定的结果生成按块单元具有预定像素值的伪像图。

图14是示出被划分为块单元106和116的原始图像105和第一图像115的示图。

参照图14,原始图像105和第一图像115可被划分为相等数量的块单元106和116。块单元106和116可具有预定尺寸,但是因为原始图像105的分辨率高于第一图像115的分辨率,所以原始图像105的块单元106的尺寸大于第一图像115的块单元116的尺寸。

为了生成伪像图,可对原始图像105和第一图像115中的对应块单元106和116的像素方差进行比较。

用于生成伪像图的特定标准可基于将原始图像105的按块单元的像素方差与第一图像115的按块单元的像素方差之间的比率与特定值进行比较的结果。

例如,当原始图像105的按块单元的像素方差与第一图像115的按块单元的像素方差之间的比率等于或大于特定值时,伪像去除器916可确定满足所述特定标准。所述特定值可以是等于或大于1的值,但不限于此。当通过将原始图像105的像素方差除以第一图像115的像素方差而获得的值等于或大于所述特定值时,可确定第一图像115的对应块单元具有伪像。

作为另一示例,当原始图像105的按块单元的像素方差大于第一特定值且小于第二特定值,并且原始图像105的按块单元的像素方差与第一图像115的按块单元的像素方差之间的比率等于或大于第三特定值时,伪像去除器916可确定满足所述特定标准。以上操作可由以下伪码来表示。

[伪码]

if((org_variance(k)>第一特定值)&&(org_variance(k)<第二特定值)&&(org_variance(k)/scaled_variance(k)>=第三特定值))

伪像图(k)=第一像素值

否则

伪像图(k)=第二像素值

在所述伪码中,k表示块单元的索引,org_variance(k)表示原始图像105的块单元k的像素方差,scaled_variance(k)表示第一图像115的块单元k的像素方差,伪像图(k)表示包括在伪像图的块单元k中的像素的像素值。第一特定值、第二特定值和第三特定值、第一像素值和第二像素值可以是预定常数,第二特定值可大于第一特定值,并且第三特定值可等于或大于1。

根据所述伪码,当通过将原始图像105中的大于第一特定值且小于第二特定值的块单元的像素方差除以第一图像115的块单元的像素方差而获得的值等于或大于第三特定值时,可确定第一图像115的对应块单元具有伪像。

图15是示出根据本公开的实施例的伪像图1200的示图。

图15示出基于上述伪码生成的伪像图1200的示例,并且图15中的a1、b1等表示块单元的索引。

参照图15,块单元a1、块单元b1等可具有第一像素值,并且块单元c1、块单元d1等可具有第二像素值。

具有第一像素值的块单元指示第一图像115中的伪像区域,并且具有第二像素值的块单元指示第一图像115中的非伪像区域。

在本公开的实施例中,伪像去除器916可对基于原始图像105的按块单元的像素方差和第一图像115的按块单元的像素方差而生成的伪像图1200进行形态处理。

形态处理是指基于邻近像素的像素值改变图像中的孔的像素值或者基于邻近像素的像素值改变图像中的岛的像素值的处理。例如,在图15中,块单元i5具有与邻近块单元h4、i4、j4、h5、j5、h6、i6和j6的像素值不同且小于邻近块单元h4、i4、j4、h5、j5、h6、i6和j6的像素值的像素值,因此可以对应于孔,并且块单元f7具有与邻近块单元e6、f6、g6、e7、g7、e8、f8和g8的像素值不同且大于邻近块单元e6、f6、g6、e7、g7、e8、f8和g8的像素值的像素值,因此可对应于岛。

图16是示出根据本公开的另一实施例的伪像图1300的示图。

图16示出经过形态处理的伪像图1300,并且如图16中所示,块单元i5的像素值可从第二像素值被改变为第一像素值,并且块单元f7的像素值可从第一像素值被改变为第二像素值。

在本公开的实施例中,伪像去除器916可确定第一图像115中的边缘区域,并且将伪像图中的与该边缘区域对应的区域的第一像素值改变为第二像素值。第一图像115的边缘区域被认为不具有伪像,并且因此伪像图的与该边缘区域对应的区域的像素值被确定为第二像素值。

图17是示出根据本公开的另一实施例的伪像图1400的示图。

例如,如图17的伪像图1400中所示,伪像去除器916可将图16中所示的伪像图1300中的与第一图像115的边缘区域对应的区域1410的像素值从第一像素值改变为第二像素值。根据本公开的另一实施例,伪像去除器916可将图15中所示的伪像图1200中的与第一图像115的边缘区域对应的区域的像素值从第一像素值改变为第二像素值。

伪像去除器916可基于图15、图16或图17中所示的伪像图1200、伪像图1300或伪像图1400执行后处理以改变第一图像115中的像素的像素值。

另外,当第一图像115包括多个帧时,伪像去除器916可生成与所述多个帧中的每一帧对应的伪像图。在本公开的实施例中,为了防止比特率的增加,伪像去除器916可生成与第一图像115的所述多个帧中的仅一些帧对应的伪像图。例如,伪像去除器916可生成仅与所述多个帧中的I帧和/或发生场景变化的帧对应的伪像图。

伪像去除器916可基于伪像图将随机噪声应用于第一图像115中的伪像区域。具体地,伪像去除器916可将随机噪声值和第一图像115中的与伪像图中的具有第一像素值的区域对应的区域的像素值相加。随机噪声可具有在特定范围内随机选择的值。所述特定范围可以是例如{-1,0,1},但不限于此。可按第一图像115的像素确定将被应用于第一图像115的随机噪声值。

伪像去除器916可确定应用于第一图像115的随机噪声值的范围,并且将包括在随机噪声值的范围中的随机值应用于第一图像115中的伪像区域。随机噪声值的范围是指伪像去除强度,并且大范围的随机噪声值可表示伪像去除强度高。例如,与第一强度对应的随机噪声值的范围可以是{-1,0,1},并且与高于第一强度的第二强度对应的随机噪声值的范围可以是{-2,-1,0,1,2}。

伪像去除器916可基于预定标准确定随机噪声值的范围。例如,伪像去除器916可基于原始图像105的类型(例如,文件类型)、原始图像105的分辨率或原始图像105中包括的主体的种类中的至少一个来确定随机噪声值的范围。

作为另一示例,伪像去除器916可考虑被认为生成伪像图的特定值(例如,第一特定值、第二特定值或第三特定值中的至少一个)来确定随机噪声值的范围。例如,当确定原始图像105的按块单元的像素方差与第一图像115的按块单元的像素方差之间的比率是否等于或大于所述特定值(或第三特定值)时,可与所述特定值(或第三特定值)成比例地确定随机噪声值的范围。原始图像105的按块单元的像素方差与第一图像115的按块单元的像素方差之间的大比率可表示第一图像115中的严重伪像,并且在这种情况下,可确定大范围的随机噪声值。

伪像去除器916可对应用了随机噪声的第一图像115进行滤波。这里,滤波可包括对应用了随机噪声的第一图像115进行平滑的处理。例如,滤波可包括高斯滤波,但不限于此。

在本公开的实施例中,伪像去除器916可使用伪像检测网络来生成伪像图。伪像检测网络是一种DNN,并且可包括至少一个卷积层。可基于输入图像和包括识别的伪像的真值(ground truth(GT))图像来训练伪像检测网络。伪像去除器916可将第一图像115输入到伪像检测网络,并获得从伪像检测网络输出的伪像图。

第一编码器914对由伪像去除器916后处理的第一图像执行第一编码。第一编码可包括例如以下操作:通过对经过后处理的第一图像进行预测来生成预测数据,生成与经过后处理的第一图像与预测数据之间的差对应的残差数据,将与空间域分量对应的残差数据变换为频域分量,对被变换为频域分量的残差数据进行量化,并对量化的残差数据进行熵编码等。

数据处理器932对将能够以特定形式被发送的AI数据或图像数据中的至少一个进行处理。例如,当需要以比特流的形式发送AI数据和图像数据时,数据处理器932将AI数据处理为以比特流的形式被表示,并通过通信器934以单个比特流的形式发送AI数据和图像数据。作为另一示例,数据处理器932将AI数据处理为以比特流的形式被表示,并通过通信器934发送与AI数据对应的比特流和与图像数据对应的比特流。作为另一示例,数据处理器932将AI数据处理为以帧或包形式被表示,并通过通信器934发送与图像数据对应的比特流和与AI数据对应的帧或包。

通信器934通过网络发送作为执行AI编码的结果而生成的AI编码数据。作为执行AI编码的结果而生成的AI编码数据包括图像数据和AI数据。

可通过相同的网络或不同的网络发送图像数据和AI数据。

图像数据包括作为对经过后处理的第一图像进行第一编码的结果而生成的数据。图像数据可包括基于经过后处理的第一图像中的像素值而生成的数据,例如,与经过后处理的第一图像与预测数据之间的差对应的残差数据。图像数据可包括经过后处理的第一图像的第一编码处理中使用的信息。例如,图像数据可包括经过后处理的第一图像的第一编码处理中使用的模式信息和量化参数相关信息。

AI数据包括用于使AI解码设备根据与第一DNN的缩小目标对应的放大目标对第二图像135执行AI放大的信息。在示例中,AI数据可包括原始图像105与第一图像115(或经过后处理的第一图像)之间的差信息。AI数据可包括与第一图像115(或经过后处理的第一图像)相关的信息。与第一图像115(或经过后处理的第一图像)相关的信息可包括关于第一图像115(或经过后处理的第一图像)的分辨率、作为对经过后处理的第一图像进行第一编码的结果而生成的图像数据的比特率、或用于对经过后处理的第一图像进行第一编码的编解码器类型中的至少一个的信息。

AI数据包括由伪像去除器916生成的伪像信息。例如,AI数据可包括伪像图的数据。

在本公开的实施例中,第一编码器914对伪像图执行第一编码,并且伪像图作为图像数据被发送。

图18是根据本公开的实施例的AI编码方法的流程图。

在操作S1510,AI编码设备900通过使用第一DNN对原始图像105执行AI缩小来获得第一图像115。

在操作S1520,AI编码设备900获得指示第一图像115中的伪像区域的伪像信息。伪像信息可包括具有特定尺寸的伪像图。

AI编码设备900可基于原始图像105的按块单元的像素方差和第一图像115的按块单元的像素方差来获得伪像信息。作为另一示例,AI编码设备900可通过使用伪像检测网络来获得伪像信息。

在本公开的实施例中,可对伪像信息执行基于第一图像115中的边缘区域的形态处理和/或像素值改变,并且更具体地,可对伪像图执行基于第一图像115中的边缘区域的形态处理和/或像素值改变。

在操作S1530,AI编码设备900基于伪像信息执行后处理以改变第一图像115中的像素的像素值。例如,AI编码设备900可将随机噪声应用于第一图像115的部分区域。

作为后处理,AI编码设备900可对应用了随机噪声的第一图像115进行滤波。这里,滤波可包括高斯滤波,但不限于此。例如,滤波可包括用于对第一图像115进行平滑的各种类型的滤波方法。因为随机噪声仅被应用于第一图像115中的部分区域,所以执行平滑以减小应用了随机噪声的区域与其它区域之间的差异。

在操作S1540,AI编码设备900对经过后处理的第一图像执行第一编码。AI编码设备900向AI解码设备发送作为对经过后处理的第一图像进行第一编码的结果而生成的图像数据以及AI数据。AI数据包括伪像信息。

图19是本发明的另一实施例的AI解码设备1600的框图。

参照图19,AI解码设备1600包括接收器1610和AI解码器1630。接收器1610包括通信器1612、解析器1614和输出器1616,并且AI解码器1630包括第一解码器1632和AI放大器1634。

通信器1612通过网络接收包括图像数据和AI数据的AI编码数据。图像数据包括作为对经过后处理的第一图像进行第一编码的结果而生成的信息,并且AI数据包括伪像信息。

解析器1614将通过通信器1612接收到的AI编码数据划分为图像数据和AI数据,并且通过输出器1616将图像数据发送到第一解码器1632,并通过输出器1616将AI数据发送到AI放大器1634。

上面关于图2描述的AI解码设备200的通信器212、解析器214和输出器216的操作与图19的AI解码设备1600的通信器1612、解析器1614和输出器1616的操作相同,因此这里将不提供其详细描述。

第一解码器1632通过对图像数据执行第一解码来生成与经过后处理的第一图像对应的第二图像135。在本公开的实施例中,当伪像信息通过第一编码被处理并被发送到通信器1612时,第一解码器1632可通过对与该伪像信息对应的图像数据执行第一解码来生成伪像信息。

AI放大器1634从第一解码器1632接收第二图像135,并且基于第二DNN对第二图像135执行AI放大以获得第三图像145。上面关于图2等描述了基于第二DNN的AI放大,因此这里将不提供其描述。

AI放大器1634输出第三图像145和伪像信息。在本公开的实施例中,AI放大器1634可放大并随后输出伪像图。因为伪像图可具有与如上所述的第一图像115的分辨率相同的分辨率,所以AI放大器1634可对伪像图进行放大以具有与第三图像145的分辨率相同的分辨率。在这种情况下,AI放大器1634可对伪像图进行传统放大。

在本公开的实施例中,AI放大器1634将伪像信息和第三图像145输出到图像质量引擎。图像质量引擎在图像被显示在诸如电视(TV)的显示设备上之前提高图像的质量。图像质量引擎可包括用于对图像进行处理的多个滤波器。例如,图像质量引擎可通过对图像执行图像信号分析、噪声去除、细节增强或放大中的至少一个来提高图像的质量。

在本公开的实施例中,当AI解码设备1600被包括在显示设备中时,为了使图像质量引擎提高第三图像145的质量,AI放大器1634可将伪像信息和第三图像145输出到显示设备中的存储器(例如,主存储器或辅助存储器),并且存储器可存储伪像信息和第三图像145。图像质量引擎可从存储器加载第三图像145和伪像信息,并提高第三图像145的质量。可选地,为了使图像质量引擎提高第三图像145的质量,AI放大器1634可将伪像信息和第三图像145直接发送到显示设备中的图像质量引擎。

在本公开的实施例中,AI解码设备1600可通过有线和/或无线网络将第三图像145和伪像信息输出或发送到显示设备。

图像质量引擎基于伪像信息执行后处理以改变第三图像145中的像素的像素值。图像质量引擎可将随机噪声应用于第三图像145中的伪像区域。图像质量引擎可通过使用滤波器(例如,平滑滤波器)来对应用了随机噪声的第三图像145进行处理。

图20是图像质量引擎1700的框图。

图像质量引擎1700可包括多个滤波器,并且伪像信息可被输入到用于基于伪像信息对第三图像145进行后处理的滤波器(例如,图20的去轮廓滤波器)。

在本公开的实施例中,图像质量引擎1700可通过改变去轮廓滤波器的权重来有效地去除第三图像145中的伪像。例如,图像质量引擎1700可增大或减小去轮廓滤波器的预定权重。在本公开的实施例中,图像质量引擎1700可基于来自AI放大器1634的请求来改变去轮廓滤波器的权重。

已经通过图像质量引擎1700的多个滤波器的第三图像145可被最终显示在显示设备上。

图21是根据本公开的另一实施例的AI解码设备1800的框图。

参照图21,AI解码设备1800包括接收器1810和AI解码器1830。接收器1810包括通信器1812、解析器1814和输出器1816,并且AI解码器1830包括第一解码器1832、AI放大器1834和伪像去除器1836。

通信器1812通过网络接收包括图像数据和AI数据的AI编码数据。图像数据包括作为对经过后处理的第一图像进行第一编码的结果而生成的信息,并且AI数据包括伪像信息。

解析器1814将通过通信器1812接收到的AI编码数据划分为图像数据和AI数据,并且通过输出器1816将图像数据发送到第一解码器1832,并通过输出器1816将AI数据发送到AI放大器1834。

上面关于图2描述的AI解码设备200的通信器212、解析器214和输出器216的操作与图21的AI解码设备1800的通信器1812、解析器1814和输出器1816的操作相同,因此这里将不提供其详细描述。

第一解码器1832通过对图像数据执行第一解码来获得与经过后处理的第一图像对应的第二图像135。在本公开的实施例中,当伪像信息基于第一编码被处理并被发送到通信器1812时,第一解码器1832可通过对与该伪像信息对应的图像数据执行第一解码来获得伪像信息。在这种情况下,可将伪像信息从第一解码器1832提供给伪像去除器1836。

伪像去除器1836可从输出器1816接收包括在AI数据中的伪像信息。否则,伪像去除器1836可从第一解码器1832接收作为对图像数据进行第一解码的结果而重建的伪像信息。可选地,伪像去除器1836可从AI放大器1834接收包括在AI数据中的伪像信息。

伪像去除器1836可接收由第一解码器1832获得的第二图像135,并且基于伪像信息执行后处理以改变第二图像135中的像素的像素值。伪像去除器1836可将随机噪声应用于第二图像135中的伪像区域。

当AI数据包括关于随机噪声值的范围的信息时,伪像去除器1836可检查随机噪声值的范围,并且将具有包括在检查的随机噪声值的范围中的值的随机噪声应用于第二图像135。

伪像去除器1836可对应用了随机噪声的第二图像135进行滤波。这里,滤波可包括对应用了随机噪声的第二图像135进行平滑的处理。例如,滤波可包括高斯滤波,但不限于此。

从伪像去除器1836输出的经过后处理的第二图像被发送到AI放大器1834,并且AI放大器1834通过第二DNN输出根据对经过后处理的第二图像进行AI放大而获得的第三图像145。输出的第三图像145可被后处理,并且随后在必要时通过显示设备被显示。

在本公开的实施例中,伪像去除器1836可对第三图像145而不是第二图像135进行后处理。在这种情况下,AI放大器1834可通过对由第一解码器1832获得的第二图像135执行AI放大来向伪像去除器1836提供第三图像145。为了对第三图像145进行后处理,AI放大器1834可通过对低分辨率伪像图进行放大来生成高分辨率伪像图,并将高分辨率伪像图提供给伪像去除器1836。

伪像去除器1836基于伪像信息执行后处理以改变第三图像145中的像素的像素值。伪像去除器1836可基于伪像信息将随机噪声应用于第三图像145中的伪像区域。伪像去除器1836可对应用了随机噪声的第三图像145进行滤波。这里,滤波可包括对应用了随机噪声的第三图像145进行平滑的处理。

经过后处理的第三图像可从伪像去除器1836被输出并被显示。

图22是根据本公开的另一实施例的AI解码方法的流程图。

在操作S1910,AI解码设备1600获得作为对经过后处理的第一图像进行第一编码的结果而获得的图像数据以及与AI缩小相关的AI数据。

可以以比特流的形式接收图像数据。图像数据可包括基于经过后处理的第一图像中的像素值而生成的数据,例如,与经过后处理的第一图像与预测数据之间的差对应的残差数据。图像数据包括对经过后处理的第一图像的第一编码处理中使用的信息。例如,图像数据可包括对经过后处理的第一图像的第一编码处理中使用的模式信息和量化参数相关信息。

AI数据包括用于使第二DNN根据与第一DNN的缩小目标对应的放大目标对第二图像135执行AI放大的信息。AI数据包括指示第一图像115中的伪像区域的伪像信息。

在操作S1920,AI解码设备1600基于图像数据获得第二图像135。具体地,AI解码设备1600通过基于使用频率变换的图像重建方法对图像数据执行第一解码来获得与经过后处理的第一图像对应的第二图像135。

在操作S1930,AI解码设备1600通过使用第二DNN对第二图像135执行AI放大来获得第三图像145。

在操作S1940,AI解码设备1600将伪像信息和第三图像145输出到图像质量引擎。AI解码设备1600可请求改变图像质量引擎的多个滤波器中的用于通过使用伪像信息对第三图像145进行处理的滤波器的权重。

可由显示设备显示质量被图像质量引擎提高的第三图像145。

在本公开的另一实施例中,AI解码设备1600可基于伪像信息或放大的伪像信息对第二图像135或第三图像145进行后处理,并将经过后处理的第二图像或经过后处理的第三图像输出到显示设备,例如,图像质量引擎。后处理可包括随机噪声应用和滤波。

上面关于图9描述了对第一DNN 700和第二DNN 300的训练,并且在本公开的实施例中,可通过利用基于伪像信息被后处理的第一训练图像替换图9的第一训练图像802来训练第一DNN 700和第二DNN 300。作为第二DNN 300的输入,通过对经过后处理的第一训练图像执行第一编码和第一解码而获得的第二训练图像可被使用。可通过利用基于伪像信息被后处理的第三训练图像替换第三训练图像804来训练第一DNN 700和第二DNN 300。

本公开的上述实施例可被编写为计算机可执行程序或指令,并且编写的程序或指令可被存储在介质中。

介质可永久地存储计算机可执行程序或指令,或者临时存储程序或指令以供执行或下载。介质可包括单个硬件元件或多个硬件元件的组合形式的各种记录或存储手段,并且不限于直接连接到特定计算机系统的介质,且可被分布在网络上。介质的示例包括被配置为存储程序指令的磁介质(例如,硬盘、软盘和磁带)、光学介质(例如,CD-ROM或DVD)、磁光介质(例如,软光盘)以及ROM、RAM、闪存等。介质的其他示例包括由用于分发应用的应用商店和用于供应或分发软件的各种网站或服务器管理的记录或存储介质。

与DNN相关的上述模型可被实现为软件模块。当被实现为软件模块(例如,包括指令的程序模块)时,DNN模型可被存储在计算机可读记录介质中。

DNN模型可以以硬件芯片的形式被集成,并且用作上述AI解码设备200、1600或1800或者上述AI编码设备600或900的一部分。例如,DNN模型可以以专用于人工智能的硬件芯片的形式被制造,或者作为通用处理器(例如,中央处理器(CPU)或应用处理器)或专用图形处理器(例如,图形处理单元(GPU))的一部分而被制造。

DNN模型还可以以可下载软件的形式被提供。计算机程序产品可包括由制造商或电子市场电子分发的软件程序的形式的产品(例如,可下载的应用)。对于电子分发,软件程序的至少一部分可被存储在存储介质中或被临时创建。在这种情况下,存储介质可以是制造商或电子市场的服务器或者是中继服务器的存储介质。

根据本公开的实施例的AI编码方法和设备以及AI解码方法和设备可通过使用深度神经网络以低比特率对图像进行AI编码和AI解码。

根据本公开的实施例的AI编码方法和设备以及AI解码方法和设备可通过去除图像中的伪像来提高图像的质量。

然而,根据本公开的实施例的AI编码方法和设备以及AI解码方法和设备不限于上述效果,并且本领域普通技术人员将从所述描述清楚地理解所述方法和设备的其他效果。

虽然已经参照附图描述了本公开的一个或更多个实施例,但是本领域普通技术人员将理解,在不脱离由权利要求限定的范围的情况下,可在本公开中进行形式和细节上的各种改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号