用于处理多通道特征图图像的方法和装置与流程

文档序号:19226758发布日期:2019-11-26 02:37阅读:340来源:国知局
用于处理多通道特征图图像的方法和装置与流程
本公开涉及利用机器学习算法的人工智能(ai)系统及其应用,更具体地,涉及用于压缩在基于卷积神经网络的图像处理过程中生成的多通道特征图图像的技术。
背景技术
:人工智能(ai)系统是模拟人类级别的智能并自行学习和评判的计算机系统。系统被使用得越多,系统的结果被改善得就越多(例如识别率)。ai技术包括机器学习(深度学习)技术和元素技术,机器学习(深度学习)技术使用自行分类/学习输入数据特性的算法,并且元素技术通过利用机器学习(深度学习)算法模拟人脑的识别、判断等功能。元素技术可以包括例如以下各项中的至少一项:用于识别人类语言/字符的语言理解技术、用于以人类视觉的方式识别对象的视觉识别技术、用于判断和逻辑推理以及预测信息的推理/预测技术、用于将人的经验信息处理为知识数据的知识表示技术、以及用于控制车辆的自动驾驶和机器人的运动的运动控制技术。特别地,用于以人类视觉的方式识别和处理对象的视觉识别技术包括对象识别、对象跟踪、图像检索、人类识别、场景理解、空间理解和图像增强。技术实现要素:解决技术问题的技术方案根据本公开的一方面,提供了一种基于卷积神经网络的图像处理方法,所述方法包括:在第二层中接收通过利用第一层的多个滤波器核将卷积运算应用于卷积神经网络的输入图像而生成的多通道特征图图像,所述卷积神经网络具有多个层;分析多通道特征图图像的动态范围;根据动态范围重新排序多通道特征图图像;并且在第二层中处理重新排序的多通道特征图图像。有益效果根据特征图图像的压缩结构,可以进行cnn操作和图像压缩操作(即编码或解码)之间的流水线处理。因此,可以显著减少cnn中的数据业务,并且还可以降低获得计算结果所需的功率。而且,降低了从存储器读取或写入与中间结果或特征分类层的权重相关的数据的频率,从而可以提高执行速度,并且可以降低存储器存储的功耗和负担。附图说明根据结合附图的以下描述,本公开的特定实施例的上述和其他方面、特征以及优点将更清楚,在附图中:图1是基于卷积神经网络的图像处理过程的图;图2是针对在基于卷积神经网络的图像处理过程中生成的多通道特征图图像的压缩处理的图;图3是根据实施例的图像处理装置的框图;图4a是根据实施例的图像处理装置中的图像编码装置的框图;图4b是根据实施例的图像处理装置中的图像解码装置的框图;图5是根据实施例的多通道特征图图像和滤波器核之间的卷积运算的过程的图;图6是根据实施例的用于处理多通道特征图图像的编码单元的图;图7是根据实施例的重新排序多通道特征图图像集的方法的图;图8是根据实施例的将编码单元划分为子编码单元的方法的图;图9是根据实施例的对每一个子编码单元执行预测的过程的图;图10是根据实施例的配置比特流的分区的方法的图;图11是根据实施例的配置比特流的方法的图;图12是根据实施例的图像编码装置的框图;图13是根据实施例的图像解码装置的框图;和图14是根据实施例的图像处理方法的流程图。实现本发明的最佳实施方式提供了根据各种实施例的用于处理多通道特征图图像的方法和装置。附加方面部分地将在以下描述中阐述,且部分地将通过以下描述而变得清楚明白,或者可以通过实践所呈现的实施例来获知。根据本公开的一方面,提供了一种基于卷积神经网络的图像处理方法,该方法包括:在第二层中接收通过利用第一层的多个滤波器核将卷积运算应用于卷积神经网络的输入图像而生成的多通道特征图图像,卷积神经网络具有多个层;分析多通道特征图图像的动态范围;基于动态范围重新排序多通道特征图图像;并且在第二层中处理重新排序的多通道特征图图像。所述分析可以包括基于第一层的每一个滤波器核的最大输出值和最小输出值来获得每一个多通道特征图图像的动态范围。所述重新排序可以包括:基于动态范围,沿通道方向以降序或升序的顺序来排列多通道特征图图像。所述处理可以包括对重新排序的多通道特征图图像执行通道间帧间预测。所述处理可以包括对重新排序的多通道特征图图像执行编码和解码操作,并且根据与多个层中的第二层之后的层中的卷积运算的流水线处理,在第二层中执行编码和解码操作。所述处理可以包括确定在多通道特征图图像的通道方向上具有像素深度的编码单元,所述像素深度可以对应于多通道特征图图像中的通道方向上的通道数量,并且通道数量可以对应于第一层的多个滤波器核的数量。编码单元可以对应于多个层中的第二层之后的层中的滤波器核操作的基本单元。编码单元的大小可以是x×y×z,其中x、y和z为整数。所述处理还可以包括:在通道方向上将编码单元划分为子编码单元;并且对每一个子编码单元执行编码。对每一个子编码单元执行编码可以包括:对关于当前子编码单元的编码模式是否等于前一子编码单元的编码模式的信息进行编码;并且当当前子编码单元的编码模式不等于前一子编码单元的编码模式时,对关于当前子编码单元的编码模式的信息进行编码。根据本公开的另一方面,提供了一种基于卷积神经网络的图像处理装置,该装置包括:存储器;控制器,所述控制器被配置为控制图像处理装置在第二层中接收通过利用第一层的多个滤波器核对卷积神经网络的输入图像应用卷积运算而生成的多通道特征图图像,其中所述卷积神经网络具有多个层;分析多通道特征图图像的动态范围;基于动态范围对多通道特征图图像进行重新排序;在第二层中处理重新排序的多通道特征图图像;并且将处理后的重新排序的多通道特征图图像存储在存储器中。控制器可以被配置为控制图像处理装置基于第一层的每一个滤波器核的最大输出值和最小输出值来获得每一个多通道特征图图像的动态范围。控制器还可以被配置为控制图像处理装置以基于动态范围,沿通道方向以降序或升序的顺序来排列多通道特征图图像。控制器还可以被配置为控制图像处理装置对重新排序的多通道特征图图像执行通道间帧间预测。控制器还可以被配置为控制图像处理装置对重新排序的多通道特征图图像执行编码和解码操作,其中控制器可以控制图像处理装置根据与多个层中的第二层之后的层中的卷积运算的流水线处理,在第二层中执行编码和解码操作。控制器可以控制图像处理装置确定在多通道特征图图像的通道方向上具有像素深度的编码单元,像素深度可以对应于多通道特征图图像中的通道方向上的通道数量,并且通道数量可以对应于第一层的多个滤波器核的数量。编码单元可以对应于多个层中的第二层之后的层中的滤波器核操作的基本单元。编码单元的大小可以是x×y×z,其中x、y和z为整数。控制器可以控制图像处理装置在通道方向上将编码单元划分为子编码单元,并且可以对每一个子编码单元执行编码。控制器可以控制图像处理装置对关于当前子编码单元的编码模式是否等于前一子编码单元的编码模式的信息进行编码,并且当当前子编码单元的编码模式不等于前一子编码单元的编码模式时,对关于当前子编码单元的编码模式的信息进行编码。根据本公开的另一方面,提供了一种其上存储有程序命令的非暂时性计算机可读记录介质,所述程序命令在被执行时使得基于卷积神经网络的图像处理装置执行:在第二层中接收通过利用第一层的多个滤波器核将卷积运算应用于卷积神经网络的输入图像而生成的多通道特征图图像,所述卷积神经网络具有多个层;分析多通道特征图图像的动态范围;根据动态范围重新排序多通道特征图图像;并且在第二层中处理重新排序的多通道特征图图像。具体实施方式说明书中使用的术语“单元”表示软件或硬件组件,比如现场可编程逻辑阵列(fpla)和专用集成电路(asic),并且“单元”执行特定功能。然而,“单元”不限于软件或硬件。“单元”可以被配置为被存储在可寻址存储介质中或者再现一个或多个处理器。因此,“单元”可以包括例如软件组件、面向对象的软件组件、诸如类组件和任务组件的组件、处理器、公式、属性、程序、子程序、编程代码段、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表、数组和变量。可以将组件和“单元”中提供的功能组合为较少数量的组件和“单元”,或者可以将它们进一步地分为附加组件和“单元”。下面,现在将参考附图更详细地描述特定实施例,使得本领域普通技术人员可以容易地执行实施例。然而,实施例可以具有不同形式,并且不应该被解释为受限于本文所阐述的描述。在对本公开的描述中,当被视为可能会不必要地模糊本公开的主旨时,省略对相关技术的某些详细解释。考虑到实施例中提供的功能,本文已采用一般和广泛使用的术语,并且这些术语可根据本领域普通技术人员的意图、先例或新技术的出现而变化。另外,在一些情况下,申请人可以任意选择特定术语,在这种情况下,申请人将在实施例的描述中提供术语的含义。因此,应当理解,本文所使用的术语应该被解释为其含义与在相关技术的上下文中的含义一致,而不应将其解释为理想的或过于正式的含义,除非本文明确如此定义。如本文所使用的,诸如“至少一个”的表述在元素列表之前修饰整个元素列表而不修饰列表的单个元素。例如,表述“a、b和c中的至少一个”应该被理解为仅包括a、仅包括b、仅包括c、包括a和b两者、包括a和c两者、包括b和c两者或包括全部a、b和c。神经网络是指对生物脑进行建模的计算架构。在神经网络中,将与大脑中的神经元相对应的节点彼此连接并共同地操作以处理输入数据。各种类型的神经网络的示例包括卷积神经网络(cnn)、递归神经网络(rnn)、深度信念网络(dbn)和受限玻尔兹曼(rbm),但是本公开不限于此。在前馈神经网络中,神经网络的神经元与其他神经元链接。这种链接可以通过神经网络仅在一个方向上延伸,例如向前方向。cnn可以用于从复杂的输入数据中提取诸如边界、线条颜色等的特征。cnn可以包括多个层。每一个层可以接收输入数据并处理输入数据以生成输出数据。输出数据可以是通过将输入图像或输入特征图与滤波器核卷积而生成的特征图。可以操作cnn的初始层以从输入数据中提取诸如边缘或梯度的低级特征。神经网络的后续层可以逐渐提取更复杂的特征,比如眼睛、鼻子等。本文公开的一个或多个实施例涉及基于cnn的图像处理。更详细地,一个或多个实施例涉及在基于cnn的图像处理过程中减少cnn的存储器访问和内部网络带宽消耗。一个或多个实施例可以增强内部存储器的高效利用并降低对外部存储器或高级高速缓冲存储器的数据访问的频率,在图像处理过程中会执行数据访问。另外,一个或多个实施例可以在cnn的前向执行期间减少中间结果的数据业务和相关联的存储容量。这里,执行cnn可以指使用层(例如使用诸如处理器、计算单元等的器件)来处理cnn的数据。“数据处理”的示例还包括将滤波器核应用于被提供作为生成多通道特征图图像的层的输入的数据。而且,“中间结果”可以指在cnn的至少一个层中执行的对多通道特征图图像的编码或解码的结果。在下文中,参考图1和图2,现在将描述基于cnn的图像处理的整个过程。参考图3至图4b和图12至图14,将详细描述对从每一个特征提取层(例如卷积层)提取的特征图图像执行的图像编码或解码处理。同时,参考图5至图11,将详细描述特征图图像的压缩结构。根据特征图图像的压缩结构,可以进行cnn操作和图像压缩操作(即编码或解码)之间的流水线处理。因此,可以显著减少cnn中的数据业务,并且还可以降低获得计算结果所需的功率。而且,降低了从存储器读取或写入与中间结果或特征分类层的权重相关的数据的频率,从而可以提高执行速度,并且可以降低存储器存储的功耗和负担。cnn可以用于许多应用,例如关于图像的对象识别、图像重构、语义分割、场景识别等。对象识别表示检测或识别图像中的特定对象(例如猫、汽车、椅子等)的图像处理。图像重构表示尝试校正图像的图像处理。图像重构的示例可以包括超分辨率重构,比如锐化模糊图像。语义分割表示标记图像部分的图像处理。场景识别表示确定图像中的特定场景(例如办公室、卧室、游乐场等)的图像处理。除了这些可视示例之外,还可以将类似的cnn有效地应用于许多其他应用领域。cnn可能是计算密集型的。例如,cnn对每一个图像执行许多操作,需要许多权重,并且生成许多中间结果业务。此外,cnn可以针对每一个图像执行每秒千兆操作(gops),使用大约数亿至数十亿的权重,并且生成数百千兆字节的中间数据。在许多实现中,权重和中间数据业务在功率效率方面是昂贵的。随着cnn的计算效率增加,这种业务将占用执行cnn所消耗的功率的更大份额,因此在功率受限的移动设备、应用或计算环境中使用cnn存在限制。在一个实施例中,一种通过有效地压缩在基于cnn的图像处理过程中生成的多通道特征图图像的方法来最小化对内部或外部存储器的读出/写入操作的延迟的方法。图1是基于cnn的图像处理过程的图。图1示出了输入图像110、多个层120、130和140、多通道特征图图像125和135、由多个层120、130和140处理的残差图像150、以及输出图像160。例如,输入图像110可以是要通过cnn处理的图像。根据实施例的多个层120、130和140通过从输入数据的左上端到右下端应用特定大小的滤波器来提取图像的特征。例如,多个层120、130和140可以将输入数据的左上3×3像素乘以权重,并将其映射至特征图的左上端的神经元。要被乘的权重将也是3×3。此后,在相同的处理中,多个层120、130和140从左到右以及从上到下逐个地扫描输入数据,并且乘以权重以映射特征图的神经元。这里,使用的3×3权重被称为滤波器或滤波器核。也就是说,在多个层120、130和140中应用滤波器的过程是使用滤波器核执行卷积运算的过程,并且所提取的结果被称为“特征图图像”。术语“多通道特征图图像”指的是与多个通道对应的特征图图像集,并且可以例如是多个图像数据。多通道特征图图像125和135可以作为输入来接收,并且由cnn的各个层120、130和140处理,并且生成作为输出。根据实施例,可以由多个层120、130和140生成多通道特征图图像125和135,多个层120、130和140也被称为cnn的“特征提取层”或“卷积层”。cnn的层可以定义输出到输入的映射。将由层定义的映射作为一个或多个要被应用于输入数据的滤波器核(卷积核)来执行,以生成要被输出到下一层的特征图图像。输入数据可以是图像或特定层的特征映像图像。参照图1,在向前执行期间,层120接收输入图像110并作为输出而生成多通道特征图图像125。另外,在向前执行期间,下一层130接收多通道特征图图像125作为输入,并作为输出而生成多通道特征图图像135。然后,每一个后续层将接收在前一层中生成的多通道特征图图像,并作为输出而生成下一多通道特征图图像。最后,通过接收在第(l-1)层中生成的多通道特征图图像,在第l层(l为整数)层140中生成残差图像150。根据实施例,当生成残差图像150时,可以通过将残差图像150与输入图像110相加来生成输出图像160。根据实施例,输入图像110可以是低分辨率图像,输出图像160可以是高分辨率图像。也就是说,图1的图像处理过程可以被理解为将低分辨率图像重构为高分辨率图像的超分辨率重构过程。根据实施例,在基于cnn的图像处理过程期间的数据流从输入图像110前进到多通道特征图图像125、多通道特征图图像135、残差图像150以及输出图像160。接收和生成多通道特征图图像125和135的一个或多个或所有层可以是隐藏层(例如隐藏卷积层)。同时,除了应用将输入特征图图像映射到输出特征图图像的卷积核的操作之外,还可以执行其他处理操作。其他处理操作的示例可以包括但不限于诸如激活功能、池化、重采样等的应用。在图1的示例中,在第一层120中生成的多通道特征图图像125包括与k1(k1为整数)个通道对应的特征图图像。而且,在第二层130中生成的多通道特征图图像135包括与k2(k2为整数)个通道对应的特征图图像。这里,表示通道数量的k1和k2分别对应于在第一层120和第二层130中使用的滤波器核的数量。也就是说,在第1层(1是1或更大的整数,并且是l-1或更小的整数)中生成的多通道特征图图像的数量等于在1层中使用的滤波器核的数量。图2是在基于cnn的图像处理过程中生成的多通道特征图图像的压缩处理的图。图2示出了输入图像210、多个层220、230和240、编码器223和233、解码器226和236、残差图像250、输出图像260以及存储器270。图2的输入图像210、多个层220、230和240、残差图像250和输出图像260对应于输入图像110、多个层120、130和140、残差图像150和输出图像160,并且这里将不再重复其详细描述。参照图2,根据实施例的编码器223和233在cnn的执行期间编码中间数据。另外,根据实施例的解码器226和236在执行cnn的同时解码中间数据。术语“中间数据”是指由cnn的隐藏卷积层(例如层1至层n)生成的多通道特征图图像的数据。参照图2,存储器270可以用于存储在执行cnn期间生成的大量中间数据。存储器270还可以用于存储在多个层220和230中使用的大量滤波器核。多通道特征图图像可包括数十或数百个特征图图像。作为示例,每一个特征图图像可以是具有16比特值的二维(2d)图像,其表示在所有x和y位置训练的特征的强度。在根据实施例的图像处理过程中,为了生成cnn的第(l+1)层的每一个特征映像图像,需要从存储器270读取由第1层输出的每一个特征映像。例如,将第1层生成64个特征图图像(即具有64个通道的特征图图像)作为第(l+1)层的输入且第(l+1)层生成64个特征图图像时,为了第(l+1)层的执行需要从存储器270读取第1层的每一个特征图图像64次。因此,在cnn的操作期间,需要从第1层读取总共64个特征图图像。如上所述,cnn的每一层需要对存储器270重复执行读取和写入操作以生成中间数据。同时,随着作为中间数据生成的多通道特征图图像的数量增加,对存储器270的访问频率也增加,导致图像的传输容量变得过大的问题。例如,当图2的cnn具有20层且在每一层中生成的多通道特征图图像的数量为64时,除最后一层外总共19层中总共有1216个特征图图像需要进行读取/写入操作。因此,为了减少在cnn的每一层中访问存储器270时所需的传输容量,需要对多通道特征图图像执行压缩处理。对于多通道特征图图像的压缩处理,可以将现有的联合图像专家组(jpeg)、jpeg2000、便携式网络图形(png)或lempel-ziv游程长度编码方法应用于每一个通道的特征图图像。另外,可以基于运动图像专家组(mpeg)方法应用基于通道间预测的压缩方法。此外,可以应用通过将单个图像的小波压缩方法扩展到多通道图像的层次树(spiht)方法中的三维(3d)集划分来减少多通道特征图图像的存储容量。然而,尽管上述压缩方法可以降低图像的存储容量,但是不会降低从嵌入式系统到外部存储器的传输容量。对于cnn计算操作,需要在这样的结构中定义压缩处理单元,其中所述结构在cnn计算操作所需的同时读取多通道特征图图像的每个通道中的相同位置的特定像素,并且立即在存储器中存储结果。然而,上面提到的压缩方法的问题在于,在压缩处理中出现较大的延迟,或者数据存储需要较大的存储器,因为cnn计算操作和压缩处理的基本单元彼此不一致。在下文中,公开了通过有效地编码和/或解码在根据实施例的基于cnn图像处理过程中生成的多通道特征图图像,来减少cnn的存储器访问和内部网络的带宽消耗的方法。图3是根据实施例的图像处理装置300的框图。参照图3,根据实施例的图像处理装置300可包括控制器310和存储器320。根据实施例的控制器310可以控制图4a的图像编码装置400和图4b的图像解码装置450的操作。根据实施例的存储器320可以对应于图2的存储器270。根据实施例,控制器310可以控制在前一层中生成的多通道特征图图像在当前层被接收并被存储在存储器320中。而且,控制器310可以分析所存储的多通道特征图图像的动态范围。而且,控制器310可以基于动态范围控制将接收的多通道特征图图像重新排序。将参照图7详细描述动态范围的分析和重新排序。根据实施例,控制器310可以处理在当前层中重新排序的多通道特征图图像。这里,对多通道特征图图像的处理可以指对多通道特征图图像执行编码和解码操作。根据实施例,存储器320可以存储用于在控制器310的控制下驱动和控制图像处理装置300的各种数据、程序或应用程序。实施例中的术语“存储器”可以包括但不限于存储器320、控制器的只读存储器(rom)或随机存取存储器(ram),还可以包括外部存储器(例如服务器、微型sd卡、通用串行总线(usb)存储器等)。另外,存储器320可以包括非易失性存储、易失性存储器、硬盘驱动器(hdd)或固态驱动器(ssd)。下文中,将参考图4a和图4b详细描述由控制器310控制的编码和解码操作。图4a是根据实施例的图像处理装置300中的图像编码装置400的框图。可以将图4a的图像编码装置400包括在图3的图像处理装置300中。可以通过控制器310控制图像编码装置400的操作。根据实施例的图像编码装置400包括接收器410、编码单元确定器420和编码器430。图4a的编码器430可以对应于图2的编码器223和233。根据实施例,接收器410接收在cnn的特定层中生成的多通道特征图图像。根据实施例,编码单元确定器420确定用于对多通道特征图图像进行编码的编码单元。根据实施例的编码单元确定器420可以将编码单元确定为具有与特征图图像集中的通道方向上的通道数量相对应的像素深度。例如,当多通道特征图图像的数量为k(k为整数)且与每一个通道对应的特征图图像的宽度和高度为w和h像素(w和h为整数)时,多通道特征图图像的阵列结构可以表示为w×h×k。可以将编码单元的大小确定为x×y×z(其中x、y和z分别为小于w、h和k的整数)。与一般2d图像不同,要在基于cnn的图像处理过程中编码的对象是由2d图像集组成的多通道特征图图像。因此,可以将多通道特征图图像集的阵列结构理解为三维(3d),并且用于编码多通道特征图图像的编码单元也可以是3d形式。因此,编码单元确定器420可以将存在于多通道特征图图像的每一个通道中的相同位置处的块或像素的集确定为编码单元。然而,编码单元的形状可以是任何几何形状,并且不限于数据单元的特定大小。根据实施例的编码单元确定器420设置针对多通道特征图图像确定的编码单元的类型和大小。关于编码单元的类型和大小,可以可变地设置编码单元。另外,根据实施例,编码单元确定器420可以确定要从编码单元划分的一个或多个子编码单元。同时,一旦在cnn中的特定层中生成多通道特征图图像,就需要在下一层中使用这些多通道特征图图像。也就是说,需要将在cnn中的特定层中生成的多通道特征图图像在存储器中存储一定时间,直到将它们编码并用在下一层中。然而,当下一层的操作停止直到编码的多通道特征图图像的解码完成,并且仅在完成多通道特征图图像的解码之后才开始下一层的操作时,存在图像处理时间过度延迟的问题。因此,为了有效地缩短图像处理时间,需要将下一层的与滤波器核的卷积运算与多通道特征图图像的编码/解码操作并行执行。根据各种实施例,编码单元确定器420确定多通道特征图图像的编码单元,从而实现cnn计算操作的流水线处理。将参考图5至图10详细描述编码单元确定器420确定编码单元的具体方法。可以基于率失真(r-d)成本计算来确定编码单元的类型和大小。可以针对cnn的每一个层不同地确定编码单元的类型和大小,或者可以与包括在多通道特征图图像中的通道数量对应地不同地确定编码单元的类型和大小。对于每一个编码单元,将确定的编码单元的类型和大小与针对每个编码单元的图像数据一起输出到编码器430。根据实施例,可以基于不同大小的处理单元来预测或变换(例如将像素域的值变换为频域的值)所确定的编码单元。换言之,图像编码装置400可以基于各种大小和各种类型的处理单元来执行用于图像编码的多个处理操作。执行诸如预测、变换和熵编码的处理操作来对图像数据进行编码。然而,可以在所有操作中使用相同大小的处理单元,或者可以在各个操作中使用不同大小的处理单元。根据实施例,编码单元的预测模式可以是帧内预测模式、通道间帧间预测模式和跳过模式中的至少一个,并且可以仅对特定大小或类型的编码单元执行特定预测模式。根据实施例,可以通过对每一个编码单元执行预测来选择具有最小编码误差的预测模式。另外,图像编码装置400可以基于具有与编码单元的大小不同的大小的处理单元来变换图像数据。为了变换编码单元,可以基于具有等于或小于编码单元的大小的数据单元来执行变换。编码不仅需要关于编码单元的类型和大小的信息,而且需要预测相关信息和变换相关信息。因此,编码器430可以确定生成最小编码误差的编码单元的类型、编码单元的大小、针对每一个编码单元的预测模式、用于变换的变换单元的大小等。根据一个实施例,编码器430可以使用基于拉格朗日乘子的率失真优化来测量编码单元的编码误差。根据实施例,发送器以比特流的形式输出由编码器430编码的编码单元的图像数据和关于每一个编码单元的编码模式的信息,并将输出发送到存储器270。将参考图11详细描述将由编码器430编码的编码单元的图像数据发送到比特流中的有效载荷的方法。根据实施例,编码的图像数据可以是第图像的残差数据进行编码的结果。关于每一个编码单元的编码模式的信息可以包括编码单元的类型、编码单元的大小、关于每一个编码单元的预测模式的信息、变换单元的大小信息等。根据实施例,可以将从图像编码装置400输出的编码比特流存储在外部随机存取存储器(ram)或其他高速缓冲存储器中,或存储在管芯上存储器(例如内部存储器)中。图4b是根据实施例的图像处理装置300中的图像解码装置450的框图。可以将图4b的图像解码装置450包括在图3的图像处理装置300中。可以通过控制器310控制图像解码装置450的操作。参照图4b,根据实施例的图像解码装置450包括接收器460、编码单元确定器470和解码器480。图4b的解码器480可以对应于图2的解码器226和236。根据实施例的接收器460解析由图像解码装置450从存储器270接收的比特流以获得每一个编码单元的图像数据,并且将编码的图像数据输出到编码单元确定器470和解码器480。接收器460可以从比特流的有效载荷中提取编码的图像数据,并且还可以从头部或者参数设置原始比特(rb)序列有效载荷(rbsp)提取关于编码单元的信息、关于每一个编码单元的预测模式信息、关于用于变换的变换单元的大小信息等。关于编码单元的信息可以包括编码单元的类型和大小中的至少一个。根据实施例的编码单元确定器470基于由图像解码装置450获得的关于编码单元的信息,来确定用于对多通道特征图图像进行解码的编码单元。如在图像编码装置400中,图像解码装置450的编码单元确定器470可以将编码单元确定为具有与特征图图像集中的通道方向上的通道数量相对应的像素深度。根据实施例的解码器480基于由编码单元确定器470确定的编码单元对每一个编码单元的图像数据进行解码,以重构多通道特征图图像。解码过程可以包括逆量化、逆变换、帧内预测和通道间帧间预测。根据实施例的解码器480可以通过针对每一个编码单元执行逆量化和逆变换来生成残差数据。解码器480可以基于关于编码单元的预测模式的信息来执行帧内预测或帧间预测。解码器480可以对编码单元执行预测,然后使用编码单元的预测数据和残差数据来生成重构数据。图5是根据实施例的多通道特征图图像和滤波器核之间的卷积运算的过程的图。根据实施例的基于神经网络的图像处理过程是在每一层中执行输入图像和滤波器核之间的卷积运算的过程。参照图5,可视地示出了将大小为n×n×k的滤波器核512和542应用于卷积,以生成多通道特征图图像510、520、530和540以及一个输出像素。根据一个实施例,在cnn的第1层中,将卷积运算应用于具有l个n×n×k像素权重的滤波器核512和542的第(1-1)层中生成的多通道特征图图像510、520、530和540。参照图5,当层中的输入通道的数量为k时,要使用滤波器核运算的输入数据的大小将是n×n×k。通过使用l个n×n×k的滤波器核的运算在第1层中生成l个通道的特征图。根据实施例,可以将用于cnn的卷积运算的公式表示为等式1。[等式1]在等式1中,1表示多通道输出图像的通道数量,x和y表示图像中的像素位置,每一个k和n表示通道方向和行/列方向上的滤波器核的大小,并且b表示常数。w[l][k][m][n]表示滤波器核的系数,p[k][x+m][y+n]表示输入到当前层的特征图图像的像素值,并且y[1][x][y]表示通过当前层中的卷积运算生成的特征图图像的像素值。根据等式1,逐个像素地执行cnn的层中的卷积运算。图6是根据实施例的用于处理多通道特征图图像610、620、630和640的编码单元的图。图6示出了多通道特征图图像610、620、630和640以及编码单元650,其中编码单元650作为用来处理多通道特征图图像610、620、630和640的单元。根据实施例的编码单元650可以以块组或像素组的形式存在于每一个通道的特征图图像中的相同位置。例如,如图6中所示,编码单元650可以包括第一通道的特征图图像610中的像素612和第二通道的特征图图像620中的像素,并且还可以包括第k通道的特征图图像640中的像素642。因此,可以将根据实施例的编码单元650的大小表示为1×1×k(即n=1)。然而,编码单元的形状可以是任何几何形状,并且不限于数据单元的特定大小。根据实施例的图像编码装置400可以根据预定的扫描顺序对编码单元650进行顺序编码。而且,根据实施例的图像解码装置450可以根据预定的扫描顺序对编码单元650进行顺序解码。根据实施例,由于基于编码单元650处理多通道特征图图像610、620、630和640,因此能够实现cnn的算术运算的流水线处理。在下文中,将顺序地流水线化针对图6的多通道特征图图像610、620、630和640的图像处理操作的过程和后续的cnn计算操作。例如,假设多通道特征图图像610、620、630和640是通过在第1层中使用k个滤波器核的卷积运算生成的数据。也就是说,多通道特征图图像610、620、630和640具有k个通道。在执行第(l+1)层中的卷积运算之前,可以对多通道特征图图像610、620、630和640执行用于压缩的图像处理。更详细地,可以将大小为1×1×k的编码单元650确定为用于多通道特征图图像610、620、630和640的图像处理的基本单元。根据实施例,图像编码装置400可以基于编码单元650对多通道特征图图像610、620、630和640进行编码。由于如上参考图4a描述了图像编码装置400中的编码过程,因此这里将不给出其详细描述。根据实施例,图像编码装置400以比特流的形式输出编码单元的编码的图像数据,并且将图像数据发送到存储器270。可以将编码单元的编码的图像数据存储在存储器270中一段时间,然后将其用在第(l+1)层中。因此,不必对多通道特征图图像610、620、630和640的整个图像数据进行编码并将其存储在存储器270中,并且仅存储第(l+1)层中的卷积运算所需的图像数据就足够了。根据实施例,图像编码装置400可以在比特流中将多个通道特征图图像610、620、630和640集中具有宽度方向和通道方向的水平部分的编码数据分组。将参考图10详细描述根据实施例的划分比特流的方法。根据实施例,在图像编码装置400中的多通道特征图图像610、620、630和640的编码操作期间,可以将在图像编码装置400的编码过程中编码的编码单元的图像数据用在第(l+1)层中。根据等式1,由于cnn中的卷积运算是逐个像素地执行的,因此在第(l+1)层中使用的数据也可以是以像素为单位。在此之前,图像编码装置400使用1×1×k(即像素单位)的编码单元来生成编码单元的图像数据。因此,在第(l+1)层中,图像解码装置450可以对编码单元的图像数据进行解码,以从存储器270接收以像素为单位的图像数据。根据实施例,图像解码装置450可以基于编码单元650对多通道特征图图像610、620、630和640进行解码。由于图像解码装置450中的解码处理如上参照图4b所述,因此这里不再重复其详细描述。根据实施例的图像解码设备450解码并输出第(l+1)层中的卷积运算所需的编码单元的图像数据,以实现图像处理和cnn计算操作的并行处理。换言之,可以同时执行图像解码设备450中的解码操作和第(l+1)层中的卷积运算。如上所述,逐个像素地执行cnn的层中的卷积运算。因此,当使用大于像素单位的块单位大小(即x×y×z)的编码单元时,图像处理的基本单位与卷积运算的基本单位不同,并且不可能进行顺序流水线处理。而且,当使用大小为x×y×z的编码单元进行图像处理时,针对在cnn执行期间中间结果的数据业务和所需的网络带宽增加,以及需要容量更大的内部缓冲器。根据实施例,当使用大小为1×1×k的编码单元处理多通道特征图图像时,图像处理的基本单位对应于卷积运算的基本单位,因此可以进行顺序流水线处理。另外,使用大小为1×1×k的编码单元的图像处理过程具有使内部缓冲器的容量最小化的优点。图7是根据实施例的重新排序多通道特征图图像集的方法的图。为了实现更有效的编码,根据实施例,图像编码装置400可以对在基于神经网络的图像处理过程中生成的多通道特征图图像的顺序进行重新排序。图7示出了在重新排序之前的特征图图像710和在重新排序之后的特征图图像720。图7示出的在重新排序之前的特征图图像710和在重新排序之后的特征图图像720分别具有64个通道。然而,这是为了便于解释,并且通道的数量不限于64。参照图7,可以看出,在重新排序之前的特征图图像710中,每一个图像的像素值的动态范围变化不是恒定的。通过从每一个通道的特征图图像的最大输出值减去最小输出值来获得动态范围。根据实施例的图像编码装置400可以在预测时执行通道间帧间预测。然而,当每一个图像的像素值的动态范围变化像重新排序之前的特征图图像710那样大时,压缩性能可能会降低。为了解决通道间帧间预测中压缩性能的降低,根据实施例的图像编码装置400可以通过增加在通道方向上彼此相邻的特征图图像之间的相关度来提高压缩性能。在下文中,将描述对在重新排序之前的特征图图像710的动态范围进行分析以及对重新排序之后的特征图图像720进行重构的具体方法。根据实施例的图像编码装置400可以分析层的滤波器核的特性,并根据每一个特征图图像的动态范围来重新排序多通道特征图图像集。更详细地,图像编码装置400可以将特定值输入到每一个通道的滤波器核中,并且导出每一个通道的特征图图像的最大输出值。例如,图像编码装置400可以在滤波器核的权重为正时输入最大值(例如255),并且可以在滤波器核的权重为负时输入0。而且,图像编码装置400可以将特定值输入到每一个通道的滤波器核中,并且导出每一个通道的特征图图像的最小输出值。例如,图像编码装置400可以在滤波器核的权重为负时输入最大值(例如255),并且可以在滤波器核的权重为正时输入0。当从每一个通道的特征图图像的最大输出值和最小输出值导出每一个通道特征图图像的动态范围时,根据实施例的图像编码装置400可以基于导出的动态范围来重新排序多通道特征图图像集。例如,图像编码装置400可以根据动态范围降序或升序地对多通道特征图图像集进行重新排序。图7示出了根据动态范围降序地重新排序之后的特征图图像720。将重新排序之前的特征图图像710中具有最大动态范围值的特征图图像712布置在重新排序之后的特征图图像720中第一通道的位置722。将重新排序之前的特征图图像710中具有第二大动态范围值的特征图图像714和具有第三大动态范围值的特征图图像716布置在重新排序之后的特征图图像720中第二通道的位置724和第三通道的位置726。如上所述,与重新排序之前的特征图图像710相比,重新排序之后的特征图图像720在通道方向上彼此相邻的特征图图像之间具有更高的相关度。因此,当图像编码装置400使用重新排序之后的特征图图像720作为多通道特征图图像集来执行通道间帧间预测时,可以提供压缩性能。在基于重新排序之后的特征图图像720的编码完成之后,根据实施例的图像解码装置450对重新排序之后的特征图图像720进行解码。根据实施例,图像解码装置450可以使用从比特流获得的重新排序信息,来以原始的通道顺序重构解码的重新排序之后的特征图图像720。根据实施例,重新排序信息可以包括指示重新排序之前的特征图图像710的原始位置的索引信息和关于特征图图像710的移动历史的信息中的至少一个。另外,根据实施例的索引信息可以包括关于每一个通道的排序顺序的信息。可以在图像编码装置400中编码根据实施例的重新排序信息并存储在比特流的头部中。图8是根据实施例的将编码单元划分为子编码单元的方法的图。图8示出了多通道特征图图像810、820、830和840、编码单元850和从编码单元850划分的子编码单元860。图8中所示的多通道特征图图像810、820、830和840以及编码单元850可以分别对应于图6中所示的多通道特征图图像610、620、630和640以及编码单元650。如上参考图7所述,图像编码装置400可基于重新排序的特征图图像集来执行编码,并且图像解码装置450可以对重新排序的特征图图像集进行解码。重新排序的特征图图像集在通道方向上彼此相邻的特征图图像之间具有更高的相关度。因此,在通道方向上彼此相邻的特征图图像可以具有像素间预测的类似方向。根据实施例,图像编码装置400(或图像解码装置450)通过将在编码单元850中具有类似预测方向的子块设置为预测编码单元850时的基本预测器来执行预测。如上所述,在相同的预测模式中在具有相似预测方向的子块中执行编码(或解码)。从编码单元850沿通道的深度方向划分子块,并且子块在下文中被称为子编码单元860。在下文中,将参考图9详细描述对每一个子编码单元执行预测的过程。图9是根据实施例的对每一个子编码单元执行预测的过程的图。图9示出了多通道特征图图像910、920、930、940、950和960、编码单元970、以及子编码单元980和990中的至少一个。从编码单元970划分图9中的子编码单元980和990中的至少一个,将编码单元970划分为子编码单元980和990中的至少一个的方法与以上参考图8所描述的相同,因此,这里将不给出其详细描述。参照图9,图像编码装置400(或图像解码装置450)基于编码单元970处理多通道特征图图像910、920、930、940、950和960。可以对子编码单元980和990中的至少一个的每一个执行编码单元970中的预测操作。也就是说,根据实施例,在相同的预测模式中在相同的子编码单元中执行预测。例如,多通道特征图图像910、920、930、940、950和960的编码单元970可以包括子编码单元980和子编码单元990。可以将第一方向上的空间预测模式应用于子编码单元980,并且可以将第二方向上的空间预测模式应用于子编码单元990。空间预测模式可以包括例如表1中所示的各种模式,并且各个模式的预测方法可以彼此不同。【表1】预测模式预测方法0pred_x=a+b-c1pred_x=a2pred_x=b3pred_x=(a+b+c)>>14pred_x=c在表1中,“pred_x”表示子编码单元的预测值,“a”“b”和“c”表示子编码单元周围的像素值。然而,表1中所示的预测模式和预测方法是说明性的,并且可以通过各种修改的实施例来执行预测。根据实施例的图像编码装置400可以编码关于子编码单元980和990中的至少一个的预测模式的信息。关于预测模式的信息不仅可以包括预测方法,而且还可以包括关于子编码单元的其他编码模式的信息。根据实施例,由图像编码装置400编码的关于预测模式的信息可以被包括在比特流的头部中并存储在存储器270中。根据实施例的图像解码装置450可以从存储在存储器270中的比特流的头部获得预测模式信息,并且可以对子编码单元980和990中的至少一个进行预测或解码。同时,子编码单元980的预测模式可以与子编码单元990的预测模式相同或不同。因此,根据实施例的图像编码装置400可以编码关于当前子编码单元的预测模式是否与先前子编码单元的预测模式相同的信息。也就是说,图像编码装置400可以预测指示子编码单元980和990中的至少一个之间的预测模式的头部信息。图像编码装置400是用于指示子编码单元990的预测模式是否与子编码单元980的预测模式相同的信息,并且仅分配一个比特就足够了。当子编码单元990的预测模式与子编码单元980的预测模式不同时,图像编码装置400还对关于子编码单元990的预测模式的信息进行编码。根据实施例的图像解码装置450可以从存储在存储器270中的比特流的头部获得关于当前子编码单元的预测模式是否与先前子编码单元的预测模式相同的信息。在当前子编码单元的预测模式与前一子编码单元的预测模式不同时,图像解码装置450另外从比特流的头部获得关于当前子编码单元的预测模式的信息。图10是根据实施例的配置比特流的分区1050、1060和1070的方法的图。图10示出了多通道特征图图像1010、1020、1030和1040以及比特流的分区1050、1060和1070。图10的多通道特征图图像1010、1020、1030和1040可以分别对应于图6的多通道特征图图像610、620、630和640和图8的多通道特征图图像810、820、830和840。根据实施例的比特流结构如图10所示可以包括多个独立的分区1050、1060和1070。在如上在图5中所述的大小为n×n×k的cnn计算操作中,存储器270可以每一行或每一列地同步读取/写入多通道特征图图像的像素值来进行图像处理和cnn计算操作的流水线处理。为此,图像编码装置400可以基于编码单元以预定顺序对多通道特征图图像1010、1020、1030和1040进行编码,并且可以生成多通道特征图图像像1010、1020、1030和1040集中具有宽度方向和通道方向的水平部分的编码数据,并且在比特流的特定分区中存储编码数据。例如,在针对n×n×k区域的cnn计算操作的情况下,可以将n×k平面单独压缩并将其存储在比特流的特定分区中。根据另一实施例,当k小于预定设置值时,可以将特征图图像中的每一行确定为编码单元。也就是说,编码单元可以不沿多通道特征图图像集的通道方向确定,而是沿每一个特征图图像的行方向确定。这里,可以将多通道特征图图像1010、1020、1030和1040集中具有宽度方向和通道方向的水平部分的编码数据存储在比特流的特定分区中。图11是根据实施例的配置比特流的方法的图。图11示出了子编码单元1110、1120和1130以及每一个子编码单元1110、1120和1130的比特配置。图11的编码单元1110、1120和1130对应于图8子编码单元860,这里将不给出对子编码单元划分和子编码单元预测的详细描述。根据实施例,子编码单元1110、1120和1130中的每一个包括比特长度头部(blh)1112、1122和1132、关于预测模式的信息1114、1124和1134、以及根据预测模式的残差信号1116、1126和1136。根据实施例,可以将关于预测模式的信息1114、1124和1134和根据预测模式的残差信号1116、1126和1136选择性地包括比特配置中。根据实施例,比特长度头部1112、1122和1132可以包括关于子编码单元中的所有残差值是否为0的信息。例如,当比特长度头部1112、1122、1132的值为“0”时,子编码单元中的所有残差值都是0,因此,可以省略对残差信号的信令。另外,根据实施例,比特长度头部1112、1122和1132可以包括通过对子编码单元中的所有残差值进行固定长度编码而获得的信号。根据实施例,比特长度头部1112、1122和1132还可以包括其中子编码单元中的所有残差值由8比特原始像素值表示的信号。在这种情况下,可以省略预测模式信息。图12是根据实施例的图像编码装置1200的框图。图12的图像编码装置1200更详细地示出了图4a的图像编码装置400,并且可以将图像编码装置400包括在图像编码装置1200中。根据实施例的图像编码装置1200包括接收器1210、图像分析器1215、顺序转换器1220、编码单元确定器1225、变换器1230、重构图片缓冲器1235、帧间预测器1240、帧内预测器1245、量化器1250、熵编码器1255、逆量化器1260、逆变换器1265和环路滤波单元1270。图12的接收器1210和编码单元确定器1225可以对应于图4a的接收器410和编码单元确定器420。此外,图12的变换器1230、重构图片缓冲器1235、帧间预测器1240、帧内预测器1245、量化器1250、熵编码器1255、逆量化器1260、逆变换器1265和环路滤波单元1270可以包括在图4a的编码器中。根据实施例,图像分析器1215可以分析多通道特征图图像的动态范围。根据实施例,图像分析器1215的操作可以包括参考图7所述的用于分析动态范围的操作。根据实施例,顺序转换器1220可以基于多通道特征图图像的动态范围来重新排序多通道特征图图像集。根据实施例,图像分析器1220的操作可以包括参考图7所述的用于重新排序的操作。针对每一个预测器,帧内预测器1245对输入图像1205中的帧内模式的编码单元执行帧内预测,并且针对每一个预测器,帧间预测器1240使用输入图像1205和从重构图片缓冲器1235获得的参考图像对帧间模式的编码单元执行帧间预测。输入图像1205可以是在cnn的层中生成的多通道特征图图像。通过计算输入图像1205的编码单元的数据与从帧内预测器1245或帧间预测器1240输出的每一个模式的编码单元的预测数据之间的差来生成残差数据。通过变换器1230和量化器1250将残差数据作为每一个变换单元的量化变换系数输出。通过使用逆量化器1260和逆变换器1265将量化的变换系数重构为空间域的残差数据。将重构的空间域的残差数据添加到从帧内预测器1245或帧间预测器1240输出的每一个模式的编码单元的预测数据,从而针对输入图像1205的编码单元将其重构为空间域的数据。通过环路滤波单元1270生成空间域的重构数据作为重构图像。环路滤波单元1270可以仅执行解块,或者可以在解块之后执行样点自适应偏移(sao)滤波。将生成的重构图像存储在重构图片缓冲器1235中。存储在重构图片缓冲器1235中的重构图像可以用作用于其他图像的帧间预测的参考图像。由变换器1230和量化器1250量化的变换系数可以通过熵编码器1255输出到比特流1280。根据各种实施例,图像编码装置1200的组件可基于图6中所述的多通道特征图图像的编码单元和/或图8中所述的子编码单元来执行编码操作。图13是根据实施例的图像解码装置1300的框图。根据实施例的图像解码装置1300执行用于解码图像的操作。根据实施例的图像解码装置1300包括接收器1310、编码单元确定器1315、熵解码器1320、逆量化器1325、逆变换器1330、重构图片缓冲器1335、帧间预测器1340、帧内预测器1345、环路滤波单元1350和顺序转换器1360。图13的接收器1310和编码单元确定器1315可以对应于图4b的接收器460和编码单元确定器470。此外,可以将图13的熵解码器1320、逆量化器1325、逆变换器1330、重构图片缓冲器1335、帧间预测器1340、帧内预测器1345、环路滤波单元1350和顺序转换器1360包括在图4的解码器480中。熵解码器1320从比特流1305获得要解码的编码图像数据和解码所需的编码信息。编码图像数据是量化变换系数,并且逆量化器1325和逆变换器1330根据量化变换系数来重构残差数据。针对每一个预测器,帧内预测器1345对帧内模式编码单元执行帧内预测。针对每一个预测器,帧间预测器1340使用从重构图片缓冲器1335获得的参考图像对帧间模式编码单元执行帧间预测。通过使用帧内预测器1345或帧间预测器1340将每个模式的编码单元的预测数据添加到残差数据来重构编码单元的空间域的数据,并且可以通过使用环路滤波单元1350将空间域的重构数据作为重构图像输出。环路滤波单元1350可以仅执行解块,或者可以在解块之后执行sao滤波。重构图像可以是基于动态范围重新排序的特征图图像。根据实施例的顺序转换器1360在重新排序为原始通道顺序之后重构解码的特征图图像,并将重构的特征图图像作为输出图像1365输出。根据实施例,顺序转换器1360的操作可以包括参考图7所述的用于重构顺序的操作。根据各种实施例,图像编码装置1300的组件可基于图6中所述的多通道特征图图像的编码单元和/或图8中所述的子编码单元来执行解码操作。图14是根据实施例的图像处理方法的流程图。在操作s1410中,图像处理装置300在当前层中接收在先前层中生成的多通道特征图图像。在操作s1420中,图像处理装置300分析接收的多通道特征图图像的动态范围。在操作s1430中,图像处理装置300基于动态范围对接收的多通道特征图图像进行重新排序。在操作s1440中,图像处理装置300处理在当前层中重新排序的多通道特征图图像。虽然已经具体示出和描述了示例性实施例,但是本领域普通技术人员将理解,在不脱离所附权利要求限定的本公开的精神和范围的情况下,可以进行形式和细节上的多种改变。因此,应当仅根据以下权利要求来理解本公开,并且其所有等同或等同变型都包括在本公开的范围内。此外,根据本公开的系统还可以被实施为非暂时性计算机可读记录介质上的计算机可读代码。非暂时性计算机可读记录介质是能够存储随后可由计算机系统读取的数据的任何数据存储装置。非暂时性计算机可读记录介质的示例包括rom、ram、cd-rom、磁带、软盘、光学数据存储装置等。非暂时性计算机可读记录介质也可以分布在联网的计算机系统上,使得以分布方式存储并执行计算机可读代码。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1