CN112889282A - 用于对图像执行人工智能编码和人工智能解码的方法和设备 - Google Patents

用于对图像执行人工智能编码和人工智能解码的方法和设备 Download PDF

Info

Publication number
CN112889282A
CN112889282A CN201980068867.1A CN201980068867A CN112889282A CN 112889282 A CN112889282 A CN 112889282A CN 201980068867 A CN201980068867 A CN 201980068867A CN 112889282 A CN112889282 A CN 112889282A
Authority
CN
China
Prior art keywords
image
dnn
information
setting information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980068867.1A
Other languages
English (en)
Other versions
CN112889282B (zh
Inventor
金载丸
李钟硕
全善暎
崔光杓
崔珉硕
趋可卡纳哈·迪娜
朴永五
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 PCT/KR2019/004171 external-priority patent/WO2020080623A1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority claimed from PCT/KR2019/010645 external-priority patent/WO2020080665A1/en
Publication of CN112889282A publication Critical patent/CN112889282A/zh
Application granted granted Critical
Publication of CN112889282B publication Critical patent/CN112889282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

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

Abstract

提供了一种人工智能解码设备,包括:存储器;以及处理器,被配置为执行存储在存储器中的一个或更多个指令,其中,处理器被配置为:获得与将原始图像AI缩小为第一图像相关的AI数据;获得与对第一图像的编码结果对应的图像数据;通过对所述图像数据执行解码来获得与第一图像对应的第二图像;根据所述AI数据在多个深度神经网络(DNN)设置信息中获得DNN设置信息;以及由放大DNN通过对第二图像执行AI放大来获得第三图像,其中,所述放大DNN被用获得的DNN设置信息进行配置,其中,所述多个DNN设置信息包括:在所述放大的DNN中使用的参数,其中,所述参数是通过对所述放大DNN和缩小DNN的联合训练获得的。

Description

用于对图像执行人工智能编码和人工智能解码的方法和设备
技术领域
本公开涉及图像处理领域。更具体地,本公开涉及用于基于人工智能(AI)对图像进行编码和解码的方法和设备。
背景技术
图像在经由遵循特定数据压缩标准(诸如运动图像专家组(MPEG)标准)的编解码器被编码之后以比特流的形式存储在记录介质中或经由通信信道传输。
随着能够再现和存储高分辨率和高质量图像的硬件的开发和供应,对能够有效地对高分辨率和高质量图像进行编码和解码的编解码器的需求增加。
发明内容
技术问题
当对大分辨率的图像进行编码和解码时,需要大比特率。
技术方案
根据本公开的一方面,一种人工智能(AI)解码设备包括:存储器,存储一个或更多个指令;以及处理器,被配置为执行存储在存储器中的所述一个或更多个指令,其中,处理器被配置为:获得与将原始图像AI缩小为第一图像相关的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个;获得与对第一图像的编码结果对应的图像数据;通过对所述图像数据执行解码来获得与第一图像对应的第二图像;根据所述AI数据在多个深度神经网络(DNN)设置信息中获得用于对第二图像执行AI放大的DNN设置信息;以及由放大DNN通过对第二图像执行AI放大来获得第三图像,其中,所述放大DNN被用获得的DNN设置信息进行配置,其中,所述多个DNN设置信息包括:在所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和缩小DNN的联合训练获得的,并且其中,所述缩小DNN用于从原始图像获得第一图像。
有益效果
根据根据实施例的人工智能(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编码方法的流程图。
实施本发明的最佳方式
根据本公开的一方面,一种人工智能(AI)解码设备包括:存储器,存储一个或更多个指令;以及处理器,被配置为执行存储在存储器中的所述一个或更多个指令,其中,处理器被配置为:获得与将原始图像AI缩小为第一图像相关的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个;获得与对第一图像的编码结果对应的图像数据;通过对所述图像数据执行解码来获得与第一图像对应的第二图像;根据所述AI数据在多个深度神经网络(DNN)设置信息中获得用于对第二图像执行AI放大的DNN设置信息;以及由放大DNN通过对第二图像执行AI放大来获得第三图像,其中,所述放大DNN被用获得的DNN设置信息进行配置,其中,所述多个DNN设置信息包括:在所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和缩小DNN的联合训练获得的,并且其中,所述缩小DNN用于从原始图像获得第一图像。
所述AI数据可以包括关于原始图像和第一图像之间的差异的信息,并且处理器还可以被配置为:获得用于对第二图像执行AI放大以使第三图像与原始图像和第一图像之间的差异匹配的DNN设置信息。
所述AI数据可以包括与第一图像相关的信息,并且处理器还可以被配置为:基于若干图像相关信息和所述多个DNN设置信息之间的映射关系,获得映射到与第一图像相关的信息的DNN设置信息,其中,与第一图像相关的信息包括分辨率、比特率或编解码器类型中的至少一个。
所述图像数据可以包括在解码中使用的量化参数信息,并且处理器还可以被配置为:基于量化参数信息和与第一图像相关的信息来获得DNN设置信息。
获得的DNN设置信息可以包括滤波器核的参数,其中,滤波器核可以与至少一个卷积层相关联,并且其中,所述放大DNN可以包括至少一个卷积层。
处理器还可以被配置为:当在所述放大DNN中设置的DNN设置信息与获得的DNN设置信息不同时,利用获得的DNN设置信息而不是在所述放大DNN中设置的DNN设置信息来设置所述放大DNN。
所述放大DNN可以基于质量损失信息被训练,其中,质量损失信息可以与从所述放大DNN输出的训练图像和在执行AI缩小之前的原始训练图像的比较对应。
质量损失信息可以用于训练所述缩小DNN。
当在训练处理期间更新所述放大DNN和所述缩小DNN中的任意一个的参数时,可以更新所述放大DNN和所述缩小DNN中的另一个的参数。
根据本公开的另一方面,一种系统包括:AI编码设备,包括缩小DNN,其中,所述缩小DNN被配置为基于以下各项被训练:结构损失信息,与从所述缩小DNN输出的第一训练图像和缩减的训练图像的比较对应,复杂度损失信息,与第一训练图像的空间复杂度对应,以及质量损失信息,与原始训练图像和从放大DNN输出的第三训练图像的比较对应;以及AI解码设备,包括所述放大DNN,其中,所述放大DNN被配置为基于质量损失信息被训练。
根据本公开的另一方面,一种人工智能(AI)编码设备包括:存储器,存储一个或更多个指令;以及处理器,被配置为执行存储在存储器中的所述一个或更多个指令以执行以下操作:通过对原始图像执行AI缩小的缩小深度神经网络(DNN)获得第一图像,其中,所述缩小DNN被用DNN设置信息进行配置;对第一图像进行编码以获得图像数据;以及发送所述图像数据和用于选择放大DNN的DNN设置信息的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个,其中,所述放大DNN被配置为对第二图像执行AI放大,其中,第二图像是通过对图像数据进行解码获得的,其中,所述缩小DNN的DNN设置信息和所述放大DNN的DNN设置信息包括:在所述缩小DNN和所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和所述缩小DNN的联合训练获得的。
可以基于质量损失信息来训练所述缩小DNN和所述放大DNN,其中,所述质量损失信息可以与从所述放大DNN输出的训练图像和在执行AI缩小之前的原始训练图像的比较对应。
根据本公开的另一方面,一种图像的人工智能(AI)解码方法,所述AI解码方法包括:获得与将原始图像AI缩小为第一图像相关的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个;获得与对第一图像的编码结果对应的图像数据;通过对所述图像数据执行解码来获得与第一图像对应的第二图像;根据所述AI数据在多个深度神经网络DNN设置信息中获得用于对第二图像执行AI放大的DNN设置信息;以及由放大DNN通过对第二图像执行AI放大来获得第三图像,其中,所述放大DNN被用获得的DNN设置信息进行配置,其中,所述多个DNN设置信息包括在所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和缩小DNN的联合训练获得的,并且其中,所述缩小DNN用于从原始图像获得第一图像。
根据本公开的另一方面,一种图像的人工智能(AI)编码方法,所述AI编码方法包括:通过对原始图像执行AI缩小的缩小深度神经网络DNN获得第一图像,其中,所述缩小DNN被用DNN设置信息进行配置;对第一图像进行编码以获得图像数据;以及发送所述图像数据和用于选择放大DNN的DNN设置信息的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个,其中,所述放大DNN被配置为对第二图像执行AI放大,其中,第二图像是通过对图像数据进行解码获得的,其中,所述缩小DNN的DNN设置信息和所述放大DNN的DNN设置信息包括:在所述缩小DNN和所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和所述缩小DNN的联合训练获得的。
具体实施方式
由于本公开允许各种改变和许多示例,因此将在附图中示出并在书面描述中详细描述特定实施例。然而,这并不旨在将本公开限制于特定实践方式,并且应当理解,不脱离本公开的精神和技术范围的所有改变、等同和替代都包含在本公开中。
在实施例的描述中,当认为相关技术的特定详细解释可能不必要地模糊本公开的本质时,省略了相关技术的详细解释。此外,在说明书的描述中使用的数字(例如,第一、第二等)仅仅是用于将一个元件与另一元件区分开的标识码。
此外,在本说明书中,应当理解,当元件彼此“连接”或“耦接”时,元件可以彼此直接地连接或耦接,或者可以通过其间的中间元件彼此连接或耦接,除非另有说明。
在本说明书中,关于表示为“单元”或“模块”的元件,可以将两个或更多个元件组合成一个元件,或者可以根据细分的功能将一个元件划分为两个或更多个元件。另外,下文所述的每个元件除了其自身的主要功能之外,还可以额外执行由另一元件执行的一些或全部功能,并且每个元件的一些主要功能可以完全由另一组件执行。
此外,在本说明书中,“图像”或“图片”可以表示静止图像、包括多个连续静止图像(或帧)的运动图像或视频。
此外,在本说明书中,深度神经网络(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和预测数据之间的差异对应的残差数据的处理、将空间域分量的残差数据变换为频域分量的处理、对变换为频域分量的残差数据进行量化的处理以及对量化的残差数据进行熵编码的处理。可以经由使用频率变换的图像压缩方法(诸如MPEG-2、H.264高级视频编码(AVC)、MPEG-4、高效视频编码(HEVC)、VC-1、VP8、VP9和开放媒体联盟1(AV1))之一来执行这样的第一编码120。
可通过对图像数据执行第一解码130来重建与第一图像115对应的第二图像135。第一解码130可包括通过对图像数据进行熵解码来生成量化的残差数据的处理、对量化的残差数据进行反量化的处理、将频域分量的残差数据变换为空间域分量的处理、生成预测数据的处理以及通过使用预测数据和残差数据来重建第二图像135的处理。可以经由与使用频率变换的图像压缩方法(诸如MPEG-2、H.264AVC、MPEG-4、HEVC、VC-1、VP8、VP9和AV1)之一对应的图像重建方法来执行这样的第一解码130,其中,所述图像压缩方法是在第一编码120中使用的图像压缩方法。
通过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。通过第一激活层320来突出由特征图表示的第二图像135的固有特性。
从第一激活层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设置信息中的每一条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相关的信息来获得用于AI放大第二图像135的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的分辨率是FUll HD,作为执行第一编码的结果获得的图像数据的比特率是20Mbps,并且经由HEVC编解码器执行第一编码时,AI放大器234可以使用多条DNN设置信息中的C DNN设置信息,并且当验证出第一图像115的分辨率是全HD,作为执行第一编码的结果而获得的图像数据的比特率是15Mbps,并且经由HEVC编解码器执行第一编码时,AI放大器234可以使用多条DNN设置信息中的DDNN设置信息。基于作为对第一图像115执行第一编码的结果而获得的图像数据的比特率是20Mbps还是15Mbps来选择是C DNN设置信息还是D DNN设置信息。当经由相同编解码器对相同分辨率的第一图像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设置信息指定相同的标识符。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缩小器612和第一编码器614。发送器630可以包括数据处理器632和通信器634。
在图7中,以单独的设备来说明AI编码器610和发送器630,但可通过一个处理器来实现AI编码器610和发送器630。在这种情况下,可以通过专用处理器或通过软件和通用处理器(诸如AP、CPU或图形处理器GPU)的组合来实现AI编码器610和发送器630。可以通过包括用于实现本公开的实施例的存储器或者通过包括用于使用外部存储器的存储处理器来实现专用处理器。
此外,可以通过多个处理器配置AI编码器610和发送器630。在这种情况下,可以通过专用处理器的组合或通过软件和诸如AP、CPU或GPU的多个通用处理器的组合来实现AI编码器610和发送器630。可以通过不同的处理器来实现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(8192x4320)的四分之一的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与第一图像115之间的分辨率差异、目标比特率等)、压缩质量(例如,比特率的类型)、压缩历史信息或原始图像105的类型中的至少一个来确定缩小目标。
例如,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。通过第一激活层720来突出由从第一卷积层710输出的特征图表示的信息。
第一激活层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的信息量。作为由第一编码器614执行第一编码的结果,可以获得与第一图像115对应的图像数据。
数据处理器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可以包括从静止图像或包括多个帧的运动图像中提取的分块(patch)图像。当原始训练图像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。作为对第一训练图像802执行AI放大的结果,输出第三训练图像804。
参照图9,第一训练图像802被输入到第二DNN 300,并且根据实施例,在对第一训练图像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按照等式1中的LossUS被减小的方向更新参数。当根据在训练期间推导出的LossDS更新第一DNN 700的参数时,基于更新的参数获得的第一训练图像802变得与基于未更新的参数获得的先前的第一训练图像802不同,因此,第三训练图像804也变得与先前的第三训练图像804不同。当第三训练图像804变得与先前的第三训练图像804不同时,质量损失信息830也被重新确定,并且第二DNN 300相应地更新参数。当质量损失信息830被重新确定时,LossDS也被重新确定,并且第一DNN 700根据重新确定的LossDS更新参数。换句话说,第一DNN 700的参数的更新导致第二DNN 300的参数的更新,并且第二DNN 300的参数的更新导致第一DNN 700的参数的更新。换句话说,因为通过共享质量损失信息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的参数,使得当对第一训练图像802执行第一编码时,获得具有与原始训练图像801相似的结构信息的第一训练图像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和第二DNN 300时,可以确定彼此关联和优化的第一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执行第一编码,并且可以将通过对作为执行第一编码的结果而获得的比特流执行第一解码而获得的第二训练图像输入到第二DNN300。换句话说,通过在将环境设置为根据特定比特率经由特定编解码器对特定分辨率的第一训练图像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和第二DNN300的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中,从第一DNN700输出的第一训练图像802被直接输入到第二DNN 300,但是从第一DNN 700输出的第一训练图像802可以由训练设备1000输入到第二DNN 300。此外,训练设备1000可以经由特定编解码器对第一训练图像802执行第一编码和第一解码,然后将第二训练图像输入到第二DNN300。
在操作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]
Figure BDA0003026576920000291
如表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可以连同输入值10一起向AI缩小器1124提供附加信息,例如,应用AI缩小的颜色格式(亮度分量、色度分量、红色分量、绿色分量或蓝色分量)信息和高动态范围(HDR)的色调映射信息,并且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数据30可以从AI缩小器1124被提供给设备40。
当基于变换的编码器1126处理原始图像105时,获得图像数据25,并且图像数据25被发送到设备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数据30一起向AI放大器1144提供附加信息,例如,应用AI放大的颜色格式(亮度分量、色度分量、红色分量、绿色分量或蓝色分量)信息以及HDR的色调映射信息,并且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解码方法的流程图。
在操作S910,AI解码设备200接收包括图像数据和AI数据的AI编码数据。AI解码设备200可通过网络从AI编码设备600接收AI编码数据。AI解码设备200可获得存储在数据存储介质中的AI编码数据。
在操作S920,AI解码设备200基于图像数据获得第二图像135。具体地,AI解码设备200通过基于使用频率变换的图像重建方法对图像数据进行解码来重建与第一图像115对应的第二图像135。
在操作S930,AI解码设备200从预先存储的多条DNN设置信息中获得用于对第二图像135执行AI放大的DNN设置信息。因为多条DNN设置信息中的每一条与用于对原始图像105执行AI缩小的多条DNN设置信息中的每一条被联合优化,所以需要选择使得能够根据与原始图像105的缩小目标匹配的放大目标对第二图像135执行AI放大的DNN设置信息。
在操作S940,AI解码设备200获得第三图像145,其中,第三图像145是通过利用在操作S930中获得的DNN设置信息进行操作的第二DNN对第二图像135执行AI放大而获得的。第三图像145可从AI解码设备200输出并通过显示装置被显示,或者可在被后处理之后被显示。
当在第二DNN中预先设置DNN设置信息并且在操作S930中选择的DNN设置信息与预先设置的DNN设置信息不同时,AI解码设备200将第二DNN设置为选择的DNN设置信息。
图13是根据实施例的AI编码方法的流程图。
在操作S1010,AI编码设备600获得第一图像115,其中,第一图像115是通过经由第一DNN对原始图像105执行AI缩小而获得的。
AI编码设备600可基于特定标准确定缩小目标,并从预先存储的多条DNN设置信息中获得与缩小目标对应的DNN设置信息。此外,AI编码设备600可以通过根据所获得的DNN设置信息进行操作的第一DNN对原始图像105执行AI缩小。
在操作S1020,AI编码设备600通过对第一图像115执行第一编码来获得图像数据。具体地,AI编码设备600通过基于使用频率变换的图像压缩方法对第一图像115进行编码来获得与第一图像115对应的图像数据。
在操作S1030,AI编码设备600发送包括图像数据和AI数据的AI编码数据,其中,AI数据包括与AI缩小有关的信息。AI数据包括用于选择用于对第二图像135的AI放大的第二DNN的DNN设置信息的信息。根据实施例,AI编码数据可被存储在数据存储介质中。
如上所述,因为第一DNN和第二DNN被联合训练,所以当AI编码设备600对原始图像105执行AI缩小到特定缩小目标时,AI解码设备200对第二图像135执行AI放大到与缩小目标对应的放大目标。
因此,AI数据包括使得AI解码设备200能够对第二图像135执行AI放大到与原始图像105的缩小目标对应的放大目标的信息。具体地,AI数据包括用于获得与放大目标对应的DNN设置信息的信息。
在接收到AI数据时,AI解码设备200能够推断或验证AI编码设备600使用哪个DNN设置信息来对原始图像105执行AI缩小,因此,可获得与用于执行AI缩小的DNN设置信息对应的DNN设置信息,并通过使用获得的DNN设置信息来执行AI放大。
另外,以上描述的本公开的实施例可以被编写为可以存储在介质中的计算机可执行程序或指令。
介质可以持续地存储计算机可执行程序或指令,或者临时存储计算机可执行程序或指令以供执行或下载。此外,介质可以是单件硬件或多件硬件被组合的各种记录介质或存储介质中的任一种,并且介质不限于直接连接到计算机系统的介质,而可以是分布在网络上的介质。介质的示例包括被配置为存储程序指令的磁性介质(诸如硬盘、软盘和磁带)、光学记录介质(诸如CD-ROM和DVD)、磁光介质(诸如光磁软盘)以及ROM、RAM和闪存。介质的其他示例包括由发布应用的应用商店或由提供或发布其他各种类型的软件的网站、服务器等管理的记录介质和存储介质。
另外,可以经由软件模块来实现与以上描述的DNN相关的模型。当DNN模型经由软件模块(例如,包括指令的程序模块)实现时,DNN模型可以存储在计算机可读记录介质中。
此外,DNN模型可以通过以硬件芯片的形式被集成而成为上述AI解码设备200或AI编码设备600的一部分。例如,DNN模型可以以用于AI的专用硬件芯片的形式被制造,或者可以被制造为现有通用处理器(例如,CPU或应用处理器)或图形专用处理器(例如,GPU)的一部分。
此外,DNN模型可以以可下载软件的形式被提供。计算机程序产品可以包括呈通过制造商或电子市场电子发布的软件程序的形式的产品(例如,可下载的应用)。对于电子发布,软件程序的至少一部分可以存储在存储介质中或者可以临时生成。在这种情况下,存储介质可以是制造商或电子市场的服务器,或者是转发服务器的存储介质。
虽然已经参考附图描述了本公开的一个或更多个实施例,但是本领域普通技术人员将理解,在不脱离由所附权利要求限定的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。

Claims (15)

1.一种人工智能AI解码设备,包括:
存储器,存储一个或更多个指令;以及
处理器,被配置为执行存储在存储器中的所述一个或更多个指令,
其中,处理器被配置为:
获得与将原始图像AI缩小为第一图像相关的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个;
获得与对第一图像的编码结果对应的图像数据;
通过对所述图像数据执行解码来获得与第一图像对应的第二图像;
根据所述AI数据在多个深度神经网络DNN设置信息中获得用于对第二图像执行AI放大的DNN设置信息;以及
由放大DNN通过对第二图像执行AI放大来获得第三图像,其中,所述放大DNN被用获得的DNN设置信息进行配置,
其中,所述多个DNN设置信息包括:在所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和缩小DNN的联合训练获得的,并且
其中,所述缩小DNN用于从原始图像获得第一图像。
2.如权利要求1所述的AI解码设备,其中,所述AI数据包括关于原始图像和第一图像之间的差异的信息,并且处理器还被配置为:获得用于对第二图像执行AI放大以使第三图像与原始图像和第一图像之间的差异匹配的DNN设置信息。
3.如权利要求1所述的AI解码设备,其中,所述AI数据包括与第一图像相关的信息,并且处理器还被配置为:基于若干图像相关信息和所述多个DNN设置信息之间的映射关系,获得映射到与第一图像相关的信息的DNN设置信息,
其中,与第一图像相关的信息包括分辨率、比特率或编解码器类型中的至少一个。
4.如权利要求3所述的AI解码设备,其中,所述图像数据包括在解码中使用的量化参数信息,并且
其中,处理器还被配置为:基于量化参数信息和与第一图像相关的信息来获得DNN设置信息。
5.如权利要求1所述的AI解码设备,其中,获得的DNN设置信息包括滤波器核的参数,
其中,滤波器核与至少一个卷积层相关联,并且
其中,所述放大DNN包括至少一个卷积层。
6.如权利要求1所述的AI解码设备,其中,处理器还被配置为:当在所述放大DNN中设置的DNN设置信息与获得的DNN设置信息不同时,利用获得的DNN设置信息而不是在所述放大DNN中设置的DNN设置信息来设置所述放大DNN。
7.如权利要求1所述的AI解码设备,其中,所述放大DNN是基于质量损失信息被训练的,
其中,质量损失信息与从所述放大DNN输出的训练图像和在执行AI缩小之前的原始训练图像的比较对应。
8.如权利要求7所述的AI解码设备,其中,质量损失信息用于训练所述缩小DNN。
9.如权利要求8所述的AI解码设备,其中,当在训练处理期间更新所述放大DNN和所述缩小DNN中的任意一个的参数时,更新所述放大DNN和所述缩小DNN中的另一个的参数。
10.一种系统,包括:
AI编码设备,包括缩小DNN,其中,所述缩小DNN被配置为基于以下各项被训练:
结构损失信息,与从所述缩小DNN输出的第一训练图像和缩减的训练图像的比较对应,
复杂度损失信息,与第一训练图像的空间复杂度对应,以及
质量损失信息,与原始训练图像和从放大DNN输出的第三训练图像的比较对应;以及
AI解码设备,包括所述放大DNN,其中,所述放大DNN被配置为基于质量损失信息被训练。
11.一种人工智能AI编码设备,包括:
存储器,存储一个或更多个指令;以及
处理器,被配置为执行存储在存储器中的所述一个或更多个指令以执行以下操作:
通过对原始图像执行AI缩小的缩小深度神经网络DNN获得第一图像,其中,所述缩小DNN被用DNN设置信息进行配置;
对第一图像进行编码以获得图像数据;以及
发送所述图像数据和用于选择放大DNN的DNN设置信息的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个,
其中,所述放大DNN被配置为对第二图像执行AI放大,
其中,第二图像是通过对所述图像数据进行解码获得的,
其中,所述缩小DNN的DNN设置信息和所述放大DNN的DNN设置信息包括:在所述缩小DNN和所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和所述缩小DNN的联合训练获得的。
12.如权利要求11所述的AI编码设备,其中,基于质量损失信息来训练所述缩小DNN和所述放大DNN,
其中,所述质量损失信息与从所述放大DNN输出的训练图像和在执行AI缩小之前的原始训练图像的比较对应。
13.一种图像的人工智能AI解码方法,所述AI解码方法包括:
获得与将原始图像AI缩小为第一图像相关的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个;
获得与对第一图像的编码结果对应的图像数据;
通过对所述图像数据执行解码来获得与第一图像对应的第二图像;
根据所述AI数据在多个深度神经网络DNN设置信息中获得用于对第二图像执行AI放大的DNN设置信息;以及
由放大DNN通过对第二图像执行AI放大来获得第三图像,其中,所述放大DNN被用获得的DNN设置信息进行配置,
其中,所述多个DNN设置信息包括:在所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和缩小DNN的联合训练获得的,并且
其中,所述缩小DNN用于从原始图像获得第一图像。
14.一种图像的人工智能AI编码方法,所述AI编码方法包括:
通过对原始图像执行AI缩小的缩小深度神经网络DNN获得第一图像,其中,所述缩小DNN被用DNN设置信息进行配置;
对第一图像进行编码以获得图像数据;以及
发送所述图像数据和用于选择放大DNN的DNN设置信息的AI数据,其中,所述AI数据包括与第一图像相关的信息和关于原始图像与第一图像之间的差异的信息中的至少一个,
其中,所述放大DNN被配置为对第二图像执行AI放大,
其中,第二图像是通过对图像数据进行解码获得的,
其中,所述缩小DNN的DNN设置信息和所述放大DNN的DNN设置信息包括:在所述缩小DNN和所述放大DNN中使用的参数,其中,所述参数是通过对所述放大DNN和所述缩小DNN的联合训练获得的。
15.一种非暂时性计算机可读记录介质,其中,所述非暂时性计算机可读记录介质上记录有程序,所述程序在由计算机执行时执行如权利要求13所述的人工智能AI解码方法。
CN201980068867.1A 2018-10-19 2019-08-21 用于对图像执行人工智能编码和人工智能解码的方法和设备 Active CN112889282B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
KR20180125406 2018-10-19
KR10-2018-0125406 2018-10-19
PCT/KR2019/004171 WO2020080623A1 (ko) 2018-10-19 2019-04-08 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KRPCT/KR2019/004171 2019-04-08
KR20190053248 2019-05-07
KR10-2019-0053248 2019-05-07
KR1020190062583A KR102525576B1 (ko) 2018-10-19 2019-05-28 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KR10-2019-0062583 2019-05-28
PCT/KR2019/010645 WO2020080665A1 (en) 2018-10-19 2019-08-21 Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image

Publications (2)

Publication Number Publication Date
CN112889282A true CN112889282A (zh) 2021-06-01
CN112889282B CN112889282B (zh) 2024-06-04

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101878649A (zh) * 2007-12-04 2010-11-03 索尼公司 扩展avc标准以与视频并行地对高分辨率数字静止图片编码
US20170347110A1 (en) * 2015-02-19 2017-11-30 Magic Pony Technology Limited Online Training of Hierarchical Algorithms
CN107431805A (zh) * 2014-12-22 2017-12-01 三星电子株式会社 编码方法和装置以及解码方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101878649A (zh) * 2007-12-04 2010-11-03 索尼公司 扩展avc标准以与视频并行地对高分辨率数字静止图片编码
CN107431805A (zh) * 2014-12-22 2017-12-01 三星电子株式会社 编码方法和装置以及解码方法和装置
US20170347110A1 (en) * 2015-02-19 2017-11-30 Magic Pony Technology Limited Online Training of Hierarchical Algorithms

Also Published As

Publication number Publication date
EP3844962A1 (en) 2021-07-07
KR102525576B1 (ko) 2023-04-26
KR20200044661A (ko) 2020-04-29
EP3844962A4 (en) 2021-11-03
KR102500761B1 (ko) 2023-02-16
KR20210113131A (ko) 2021-09-15

Similar Documents

Publication Publication Date Title
US11663747B2 (en) Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
US10817989B2 (en) Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
CN112889283A (zh) 编码方法及其设备以及解码方法及其设备
CN112913237A (zh) 使用深度神经网络的人工智能编码和人工智能解码方法和设备
CN114631320A (zh) 对图像执行人工智能(ai)编码和ai解码的设备和方法
KR102500761B1 (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
CN112840650B (zh) 人工智能(ai)编码装置及其操作方法和ai解码装置及其操作方法
US11182876B2 (en) Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image by using pre-processing
US20200126185A1 (en) Artificial intelligence (ai) encoding device and operating method thereof and ai decoding device and operating method thereof
CN114631315A (zh) 图像编码方法和设备以及图像解码方法和设备
US20220207650A1 (en) Image ai-coding method and device, and image ai-decoding method and device
US20230276070A1 (en) Artificial intelligence (ai) encoding apparatus and method and ai decoding apparatus and method for region of object of interest in image
CN112740687A (zh) 用于对图像执行人工智能编码和人工智能解码的设备和方法
CN112715029A (zh) Ai编码设备及其操作方法和ai解码设备及其操作方法
US11270469B2 (en) Method and apparatus for performing artificial intelligence encoding and artificial intelligence decoding
CN112889282B (zh) 用于对图像执行人工智能编码和人工智能解码的方法和设备
US20230196505A1 (en) Artificial intelligence-based image providing apparatus and method, and artificial intelligence-based display apparatus and method
KR20210154062A (ko) 저복잡도 신경망을 이용한 영상의 ai 부호화 장치 및 방법, 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
GR01 Patent grant