CN117441333A - 用于输入图像数据处理神经网络的辅助信息的可配置位置 - Google Patents

用于输入图像数据处理神经网络的辅助信息的可配置位置 Download PDF

Info

Publication number
CN117441333A
CN117441333A CN202180096580.7A CN202180096580A CN117441333A CN 117441333 A CN117441333 A CN 117441333A CN 202180096580 A CN202180096580 A CN 202180096580A CN 117441333 A CN117441333 A CN 117441333A
Authority
CN
China
Prior art keywords
data
image
neural network
processing
preconfigured
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180096580.7A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN117441333A publication Critical patent/CN117441333A/zh
Pending legal-status Critical Current

Links

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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • 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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/103Selection of coding mode or of prediction mode
    • 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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了用于使用具有两个或两个以上层的神经网络处理图像数据或图像特征数据的方法和装置。本发明可应用于基于人工智能(artificial intelligence,AI)的视频或图像压缩技术领域,尤其应用于基于神经网络的视频压缩技术领域。根据一些实施例,所述神经网络内可以输入辅助信息进行处理的位置是可以基于收集条件选择的。所述收集条件可以评估是否满足了一些前提条件。一些优点可以包括:由于神经网络可配置性更加灵活,在速率和/或公开方面的性能得到提高。

Description

用于输入图像数据处理神经网络的辅助信息的可配置位置
本发明的实施例涉及基于人工智能(artificial intelligence,AI)的视频或图像压缩技术领域,尤其涉及用于处理图像特征数据以生成码流或用于进行处理以使用神经网络解码码流中的图像特征数据的方法和装置。
背景技术
视频译码(视频编码和解码)广泛用于数字视频应用,例如广播数字电视、基于互联网和移动网络的视频传输、视频聊天和视频会议等实时会话应用、DVD和蓝光光盘、视频内容采集和编辑系统以及安全应用的可携式摄像机。
即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备中存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,对视频数据进行解码的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术能够在几乎不影响图像质量的情况下提高压缩比。
近年来,深度学习在图像和视频编解码领域越来越受欢迎。
发明内容
本申请提供了方法和装置,这些方法和装置可以提高神经网络的可配置性,从而实现更高的效率。
上述和其它目的是通过由独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。
特定实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。
根据第一方面,本发明涉及一种用于使用包括多个神经网络层的神经网络处理码流中的图像特征数据的方法。所述方法包括:从所述码流中获取所述图像特征数据;使用所述神经网络处理所述图像特征数据,其中,对于所述神经网络内的一个或多个预配置位置中的每个预配置位置,所述处理包括:基于收集条件确定是否收集辅助数据,以在所述预配置位置由所述多个神经网络层中的一个神经网络层进行处理,在确定所述辅助数据待被收集的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据。
预配置位置是神经网络中可以收集辅助信息的位置。在上述确定步骤中确定实际上在特定的预配置位置处的所述辅助信息是否被收集。术语“位置”是指神经网络中的节点。节点对应于输入到层(或层的块或模块,取决于神经网络的架构)和/或从层输出的特征张量。具体地,它可以由处理方向上在该位置之前的神经网络层的数量指定。
辅助信息是与添加到神经网络中的图像数据或图像特征数据相关的任何信息。这样的信息可以输入到神经网络,以进一步改进处理。在下面的示例性实现方式中提供了辅助信息的一些特定示例。
收集条件是为了将辅助数据输入到特定的预配置位置而需要满足的条件或前提条件。收集条件可以包括将一些图像特性或图像特征特性与阈值进行比较,以确定是否收集特定位置的辅助信息。图像特性或图像特征特性可以为编码器和解码器已知,从而不需要额外的指示。或者或另外,收集条件可以由编码端配置,方式是通过设置是否为预配置位置收集辅助信息的指示符。指示符可以在解码端可用的码流中提供。
配置向神经网络输入辅助信息的位置具有更高的灵活性,并可以动态地改变神经网络架构。这种灵活性可以基于收集条件实现更好的适应性,并实现更高效的编码和/或解码。
在一种可能的实现方式中,作为在所述确定中应用所述收集条件的结果,所述一个或多个预配置位置中的单个预配置位置处的所述辅助数据待被收集。
这种实现方式提供了与针对特定辅助信息选择神经网络中待收集辅助信息的位置类似的效果。这使得能够向根据一些标准可能是最合适的位置提供辅助,例如可以包括处理时间或复杂度和/或速率或失真的编码效率。
在一种可能的替代实现方式中,作为在所述确定中应用所述收集条件的结果,所述预配置位置中的多于一个预配置位置处的所述辅助数据待被收集。
替代上述实现方式的这种实现方式可以确保辅助信息在可以从中受益的任何层上可用。它可以进一步增加网络的可配置性,从而提高网络的灵活性。
在一种可能的实现方式中,存在多于一个所述预配置位置(所述处理是针对两个或两个以上预配置位置执行的);所述辅助数据的大小是可缩放的,以匹配在所述预配置位置中的两个或两个以上预配置位置由所述层处理的输入通道的尺寸;作为在所述确定中应用所述收集条件的结果,所述预配置位置中的单个预配置位置(i)处的所述辅助数据待被收集或(ii)被收集并且被缩放。
因此,辅助数据可以被适当地缩放,以使其能够与特征数据组合。这种缩放使得能够提供可能来自不同级或源的各种辅助信息。
在一种可能的实现方式中,所述收集条件基于从所述码流获得的图像特性或图像特征数据特性。
该实现方式实现了神经网络的内容适应性,并可以提高神经网络执行的编码或解码或其它处理的性能。
在一种可能的实现方式中,所述图像特性或所述图像特征数据特性包括分辨率;所述收集条件包括所述分辨率与预配置分辨率阈值的比较。
分辨率是合适的决策依据,因为它影响详细特征的水平,当进一步下采样或以其它方式进行有损处理时,这些特征可能会导致质量下降。
在一种可能的实现方式中,所述图像是视频图像,所述图像特性包括图像类型;所述收集条件包括确定所述图像类型是时间预测的图像类型还是空间预测的图像类型。
图像类型是合适的决策依据,因为它影响预测的质量。此外,期望以更高质量编码帧内图像,因为它也可能影响帧内图像,该帧内图像通常利用帧内编码图像作为时间预测的参考。
根据一个示例性实现方式,所述方法还包括:从所述码流获得指定对于所述一个或多个预配置位置是否收集所述辅助数据的指示,对于所述一个或多个预配置位置中的每个预配置位置的所述收集条件如下:如果所述指示指定对于所述预配置位置所述辅助数据待被收集,则所述确定是肯定的;如果所述指示指定对于所述预配置位置所述辅助数据不被收集,则所述确定是否定的。
一个或多个收集位置的显式指示进一步增加了可配置性,并能够更紧密地适应图像的内容,即使预定义的一个或多个收集条件可能无法捕获它。
在一种可能的实现方式中,所述辅助数据提供关于由所述神经网络处理以生成输出的所述图像特征数据的信息。
提供关于图像特征数据的附加信息可以改进重建处理和/或其它类型的处理。基于处理类型,不同的辅助信息可能是相关的并且可以被应用。
在一种可能的实现方式中,所述辅助数据包括预测数据,所述预测数据是所述图像的预测或在由所述神经网络的所述层中的一个或多个层进行处理之后图像特征数据的预测。
运动图像(视频)译码效率在很大程度上可以取决于从相邻图像中去除时间相关性。因此,提供或预测数据或预测误差数据可以改进神经网络处理。
在一种可能的实现方式中,所述辅助数据是所述预测数据和将与所述预测数据组合的补充数据的耦合对。
在同一域中收集预测和预测误差可以提供收集级选择的相对简单和有效的方式。
在一种可能的实现方式中,预测数据和补充数据具有由所述神经网络中相互不同位置的层处理的数据的尺寸。
换句话说,预测可以在与提供预测残差或其它补充信息的级不同的级中提供。因此,可以通过更好地适应内容,实现效率。
在一种可能的实现方式中,所述神经网络包括用于使用至少一个层进行无损解码的子网;所述辅助数据被输入到所述子网中用于无损解码。
具有超先验的可变自动编码器最近已经被使用,并且可以高效地通过超先验的条件收集(基于收集条件)支持。在一些情况下,使用子网来推导概率模型参数可能是有益的(实现更紧凑的码流)。在其它情况下,在默认的或基于上下文的概率模型已经工作良好的情况下,这可能在计算上过于昂贵。
在一种可能的实现方式中,所述神经网络被训练以执行以下各项中的至少一项:静止图像解码、视频图像解码、静止图像滤波、视频图像滤波和包括对象检测、对象识别或对象分类的机器视觉处理。
这种实现方式使得能够针对许多重要的应用部署本文描述的方法,这些应用可以受益于灵活的辅助信息位置(以及可能的分辨率)。
在一个实施例中,所述方法是针对包括第一辅助数据和第二辅助数据的多个辅助数据中的每个辅助数据执行的,其中,所述第一辅助数据与第一组一个或多个预配置位置相关联,所述第二辅助数据与第二组一个或多个预配置位置相关联。
这使得神经网络能够高效地收集多于一种类型的辅助信息,即使它们相当不同,例如,预测相关辅助信息和无损编码相关辅助信息,这些辅助信息将自然地用于不同位置。
在一种可能的实现方式中,第一组一个或多个预配置位置和第二组一个或多个预配置位置共享至少一个预配置位置。
这是可能适合于一些应用的示例性实现方式。例如,在预测和预测误差的情况下,所有预配置位置都可以被共享。
在一种可能的实现方式中,所述神经网络被训练以执行视频图像的处理;所述确定是否收集辅助数据以在所述预配置位置由层进行处理的操作是针对每个预定数量的视频图像执行的,其中,所述预定数量的视频图像是一个或多个。
为了实现收集位置适应性而设置一些粒度可以有助于提高效率,因为这样可以降低复杂度,并且在一些实施例中,减少指示开销。
根据第二方面,本发明涉及一种用于使用包括多个神经网络层的神经网络处理图像以生成码流的方法。所述方法包括使用神经网络处理所述图像。所述处理包括对于所述神经网络内的一个或多个预配置位置中的每个预配置位置:基于收集条件确定是否收集辅助数据,以在所述预配置位置由层进行处理,在确定所述辅助数据待被收集的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据。该方法还包括将由所述神经网络处理所述图像获得的数据插入所述码流中。
本发明的编码部分可以提供与上述解码部分相同的优点。编码器准备码流并将其提供给解码器,以便解码器可以以期望的质量和期望的应用解码或重建数据。
为了避免冗余,为对应的解码处理要求提供的优点以类似的方式应用于编码。
在一种可能的实现方式中,作为在所述确定中应用所述收集条件的结果,所述一个或多个预配置位置中的单个预配置位置处的所述辅助数据待被收集。
在一种可能的实现方式中,作为在所述确定中应用所述收集条件的结果,所述预配置位置中的多于一个预配置位置处的所述辅助数据待被收集。
在一种可能的实现方式中,存在多于一个所述预配置位置(所述处理是针对两个或两个以上预配置位置执行的);所述辅助数据的大小是可缩放的,以匹配在所述预配置位置中的两个或两个以上预配置位置由所述层处理的输入通道的尺寸;作为在所述确定中应用所述收集条件的结果,所述预配置位置中的单个预配置位置(i)处的所述辅助数据待被收集或(ii)被收集并且被缩放。
在一种可能的实现方式中,所述收集条件基于包括到所述码流中的图像特性或图像特征数据特性。
在一种可能的实现方式中,所述图像特性或所述图像特征数据特性包括分辨率;所述收集条件包括所述分辨率与预配置分辨率阈值的比较。
在一种可能的实现方式中,所述图像是视频图像,所述图像特性包括图像类型;所述收集条件包括确定所述图像类型是时间预测的图像类型还是空间预测的图像类型。
在一些实施例中,所述方法还包括生成指定对于所述一个或多个预配置位置是否收集所述辅助数据的指示,将所述指示包括到所述码流中。
根据一个示例性实现方式,所述方法还包括基于包括速率、失真、精度、速度或复杂度中的至少一个的成本函数的优化,为所述一个或多个预配置位置选择是否收集所述辅助数据的步骤。
基于成本函数确定用于收集的位置可以提高神经网络的适应性和结果对期望要求的适应性。因此,这种优化可以提高性能。结合指示如此获得的收集位置,进一步提高了灵活性。
在一种可能的实现方式中,所述辅助数据提供关于由所述神经网络处理以生成输出的所述图像特征数据的信息。
在一种可能的实现方式中,所述辅助数据包括预测数据,所述预测数据是所述图像的预测或在由所述神经网络的所述层中的一个或多个层进行处理之后图像特征数据的预测。
在一种可能的实现方式中,所述辅助数据是所述预测数据和将与所述预测数据组合的补充数据的耦合对。
在一种可能的实现方式中,预测数据和补充数据具有由所述神经网络中相互不同位置的层处理的数据的尺寸。
在一种可能的实现方式中,所述神经网络包括用于使用至少一个层进行无损解码的子网;所述辅助数据被输入到所述子网中用于无损解码。
在一种可能的实现方式中,所述神经网络被训练以执行以下各项中的至少一项:静止图像编码、视频图像编码、静止图像滤波、视频图像滤波和包括对象检测、对象识别或对象分类的机器视觉处理。
根据一个示例性实施方式,所述方法是针对包括第一辅助数据和第二辅助数据的多个辅助数据中的每个辅助数据执行的,其中,所述第一辅助数据与第一组一个或多个预配置位置相关联,所述第二辅助数据与第二组一个或多个预配置位置相关联。
在一种可能的实现方式中,第一组一个或多个预配置位置和第二组一个或多个预配置位置共享至少一个预配置位置。
在一种可能的实现方式中,所述神经网络被训练以执行视频图像的处理;所述确定是否收集辅助数据以在所述预配置位置由层进行处理的操作是针对每个预定数量的视频图像执行的,其中,所述预定数量的视频图像是一个或多个。
根据第三方面,本发明涉及一种用于使用包括多个神经网络层的神经网络处理码流中的图像特征数据的装置。所述装置包括:处理电路,所述处理电路用于从所述码流中获取所述图像特征数据;使用所述神经网络处理所述图像特征数据,其中,对于所述神经网络内的一个或多个预配置位置中的每个预配置位置。所述处理包括:基于收集条件确定是否收集辅助数据,以在所述预配置位置由所述多个神经网络层中的一个神经网络层进行处理,在确定所述辅助数据待被收集的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据。
为了本发明的有利效果,参考第一方面的描述。此处不再赘述。解码装置具有实现第一方面的方法示例中的动作的功能。所述功能可以通过硬件实现,也可以通过硬件执行对应软件实现。所述硬件或软件包括与上述功能相对应的一个或多个模块。在一种可能的实现方式中,所述解码装置包括:特征数据输入模块,用于从码流中获取图像特征数据;神经网络模块,用于执行上述处理。这些模块可以执行第一方面的方法示例中的对应功能。具体操作参考方法示例中的详细说明。此处不再赘述。
根据第四方面,本发明涉及一种用于使用包括多个神经网络层的神经网络处理图像以生成码流的装置。所述装置包括:处理电路,用于:使用所述神经网络处理所述图像,其中,所述处理包括对于所述神经网络内的一个或多个预配置位置中的每个预配置位置:基于收集条件确定是否收集辅助数据,以在所述预配置位置由层进行处理,在确定所述辅助数据待被收集的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据;将由所述神经网络处理所述图像获得的数据插入所述码流中。
对于本发明的有利效果,参考第二方面的描述。此处不再赘述。编码装置具有实现第二方面的方法示例中的动作的功能。所述功能可以通过硬件实现,也可以通过硬件执行对应软件实现。所述硬件或软件包括与上述功能相对应的一个或多个模块。在一种可能的实现方式中,所述编码装置包括:神经网络模块,用于执行上述处理;码流输出模块,用于将由所述神经网络处理所述图像获得的数据插入所述码流中并输出所述码流。这些模块可以执行第二方面的方法示例中的对应功能。具体操作参考方法示例中的详细说明。此处不再赘述。
本发明的第一方面提供的方法可以由本发明的第三方面提供的装置执行。根据本发明的第一方面的方法的其它特征和实现方式直接取决于根据本发明的第三方面的装置的功能和实现方式。
本发明的第二方面提供的方法可以由本发明的第四方面提供的装置执行。根据本发明的第二方面的方法的其它特征和实现方式直接取决于根据本发明的第四方面的装置的功能和实现方式。
根据第五方面,本发明涉及一种视频流解码装置,包括处理器和存储器。所述存储器存储指令,所述指令使所述处理器执行第一方面所述的方法。
根据第六方面,本发明涉及一种视频流编码装置,包括处理器和存储器。所述存储器存储指令,所述指令使所述处理器执行第二方面所述的方法。
根据第七方面,提供一种存储有指令的计算机可读存储介质,所述指令在执行时使一个或多个处理器编码视频数据。所述指令使所述一个或多个处理器执行所述第一方面或第二方面或所述第一方面或第二方面的任一可能实施例提供的方法。
根据第八方面,本发明涉及一种计算机程序产品,包括程序代码,所述程序代码用于在计算机中执行时执行所述第一方面或第二方面或所述第一方面或第二方面任意可能的实施例提供的方法。
一个或多个实施例的细节在附图和以下说明书中阐述。其它特征、目的和优点在说明书、附图以及权利要求中是显而易见的。
附图说明
下文结合附图对本发明实施例进行详细描述。在附图中:
图1是包括超先验模型的编码端和解码端的示例性网络架构的框图。
图2是包括超先验模型的编码端的一般网络架构的框图。
图3是包括超先验模型的解码端的一般网络架构的框图。
图4是基于神经网络的编码器和解码器的一般方案的示意图。
图5是示例性变分自动编码器和解码器的框图。
图6是关于编码和解码神经网络的预定义级的辅助信息的应用的一般框图。
图7是在用一个处理层处理(包括下采样)之后和在用N个层处理(包括下采样)之后信号域中预测信号的可视化。
图8是具有传统基于块的编解码器与基于深度学习的方法结合的示例性视频译码流水线的框图。
图9是具有用于收集辅助信息的多个可选择位置的示例性可配置条件自动编码器的框图。
图10是具有用于收集辅助信息的一个可选择位置的示例性可配置条件自动编码器的框图。
图11是包括用于收集预测信息以及作为辅助信息的残差信息的多个收集机会(位置)的示例性神经网络处理的框图。
图12是用于下采样和重建具有不同特性的两个示例性图像的性能比较的示意图。
图13是用于输入概率模型的指示作为辅助信息的可配置收集单元的应用的框图。
图14是具有处理级(或层)的示例性编号的编码端和解码端神经网络的框图。
图15是在流水线的第0位置具有预测和残差的编码端和解码端神经网络的框图。
图16是在流水线的第1位置具有预测和残差的编码端和解码端神经网络的框图。
图17是在流水线的第i级具有预测和在第(i+r)级具有残差的编码端和解码端神经网络的框图。
图18是在流水线的第0级具有预测和在第K级具有残差的编码端和解码端神经网络的框图。
图19是在流水线的第1级具有预测和在第K级具有残差的编码端和解码端神经网络的框图。
图20是在流水线的第1级具有预测和在第(K–1)级具有残差的编码端和解码端神经网络的框图。
图21是第一示例性实现方式提供的残差和预测的可能处理的框图。
图22是第二示例性实现方式提供的残差和预测的可能处理的框图。
图23是处理信号域中的预测和残差的示例性概述架构的框图。
图24是处理潜在空间中的预测和残差的示例性概述架构的框图。
图25是处理潜在空间中的预测和残差的示例性概述架构的框图,但预测的潜在空间来自对先前图像的处理。
图26是用于实现本发明实施例的视频译码系统的示例的框图,其中,该系统使用神经网络对视频图像进行编码或解码。
图27是用于实现本发明实施例的视频译码系统的另一个示例的框图,其中,视频编码器和/或视频解码器使用神经网络对视频图像进行编码或解码。
图28是用于实现本发明实施例的视频译码装置的框图。
图29是用于实现本发明实施例的视频译码装置的框图。
具体实施方式
本实施例提供了一种基于AI的视频图像压缩技术,具体提供一种基于神经网络的视频压缩技术。
视频译码通常是指对图像序列进行的处理,其中,所述图像序列构成视频或视频序列。在视频译码领域,术语“图像(picture、image)”、“帧(frame)”可以用作同义词。视频译码(或通常称为译码)包括视频编码和视频解码两部分。视频编码在源侧执行,通常包括处理(例如通过压缩)原始视频图像,以减少表示视频图像所需的数据量(从而更高效地存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重建视频图像。实施例涉及的视频图像(或通常为图像)的“译码”应理解为视频图像或相应视频序列的“编码”或“解码”。编码部分和解码部分的组合也称为编解码器(编码和解码)。
在无损视频译码的情况下,可以重建原始视频图像。换句话说,重建视频图像具有与原始视频图像相同的质量(假设在存储或传输期间没有传输丢失或其它数据丢失)。在有损视频译码的情况下,通过例如量化来进行进一步的压缩,以减少表示视频图像所需的数据量,并且视频图像不能在解码端完全重建。换句话说,重建视频图像的质量低于或差于原始视频图像的质量。
几种H.26x视频编码标准(例如H.261、H.263、H.264、H.265、H.266)用于“有损混合视频译码”(即,样本域中的空间和时间预测与2D变换译码相结合,用于在变换域中应用量化)。视频序列中的每个图像通常分割成不重叠的块集合,通常在块级进行译码。换句话说,在编码端,视频通常以块(或视频块)级进行处理,即编码。例如,通过空间(帧内)预测和时间(帧间)预测生成预测块,从当前块(正在处理或待处理的块)中减去预测块,得到残差块,并且残差块在变换域中被变换并量化,以减少待传输(压缩)的数据量。在解码端,相对于编码器的逆处理部分被应用于经编码块或经压缩块,以重建当前块用于表示。此外,编码器和解码器的处理步骤相同,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于进行处理,即对后续块进行译码。
本发明涉及使用神经网络处理图像数据,以编码和解码图像数据。这种编码和解码仍然可以参考或包括从上述标准的框架已知的一些组件。
在下文中,简要介绍本文中使用的一些术语。
图像大小:指图像的宽度或高度或宽高对。图像的宽度和高度通常以亮度样本的数量来测量。
下采样:下采样是降低离散输入信号采样率的过程。例如,如果输入信号是大小为h和w的图像,并且下采样的输出为h2和w2,则以下至少一项成立:
-h2<h
-w2<w
在一个示例性实现方式中,下采样可以实现为仅保留每个第m个样本,丢弃输入信号的其余部分(例如图像)。但是,下采样可以通过其它手段执行,例如通过卷积或其它滤波等。
上采样:上采样是提高离散输入信号采样率的过程。例如,如果输入图像的大小为h和w,而下采样的输出为h2和w2,则以下至少一项为真:
-h<h2
-w<w2
重采样:下采样和上采样过程都是重采样的示例。重采样是改变输入信号的采样率(采样间隔)的过程。
采样比:如果在重采样过程(上采样或下采样)期间改变了图像大小,则输出图像大小与输入图像大小之间的比率称为采样比。水平和垂直维度的采样比可能不同。
插值滤波:在上采样或下采样过程期间,可以应用滤波来提高重采样信号的精度,并减少混叠影响。插值滤波器通常包括重采样位置周围样本位置的样本值的加权组合。它可以实现为:
f(xr,yr)=∑s(x,y)C(k)
其中,f()是重采样信号,(xr,yr)是重采样图像中的坐标,C(k)是插值滤波系数,s(x,y)是输入信号的样本。对位于(xr,yr)附近的(x,y)执行求和运算。
裁剪:修剪数字图像的外边。裁剪可用于使图像(样本数)变小和/或更改图像的纵横比(长比宽)。
填充:填充是指通过例如使用预定义的样本值或使用图像中位置的样本值生成新样本(通常在图像边界)来增加图像的大小。
调整大小:调整大小是更改输入图像的大小的通用术语。它可以使用填充或裁剪方法中的一个来完成。或者可以通过重采样来完成。
整数除法:整数除法是丢弃小数部分(余数)的除法。
卷积:卷积通过以下通用方程给出。以下f()可以定义为输入信号,g()可以定义为滤波器。
该卷积是离散卷积,n和m是样本索引,因此是整数。索引n和m的范围可以取决于信号大小(尺寸)和滤波器大小。通常,理论上,它可以从负无穷大到无穷大。
NN模块:神经网络模块,神经网络的一个组件。它可以是神经网络中的层或子网。神经网络是一个或多个NN模块的序列。
流水线内的位置(级):指定处理网络中处理流水线内的位置,该处理网络可以是神经网络,也可以包括神经网络。网络中的位置可以例如由位置之前的NN模块(或层)的数量指定。在流水线的第i位置应用变换表示将变换应用于第i NN模块的输出,并将变换的结果用作第(i+1)NN模块的输入。在流水线的第0位置应用变换被解释为将变换应用于NN的输入。在流水线的第K位置应用变换被解释为将变换应用于NN的输出。
潜在空间:神经网络处理的中间步骤,潜在空间表示包括输入层或一个或多个隐藏层的输出,这些层通常不应该被查看。
有损NN模块:由有损NN模块处理的信息会导致信息丢失,有损模块使其处理的信息不可恢复。
无损NN模块:由无损NN模块处理的信息不会导致信息丢失,无损处理使其处理的信息可恢复。
瓶颈:可以输入无损译码模块的潜在空间张量。术语瓶颈涉及通道大小通常比前一级的通道大小更小的事实。
NN层:神经网络对输入数据执行一次处理操作的处理步骤。
变分自动编码器(VAE)
示例性基于深度学习的图像和视频压缩算法遵循变分自动编码器(variationalauto-encoder,VAE)框架,例如Z.Cui、J.Wang、B.Bai、T.Guo、Y.Feng、G-VAE的“连续可变速率深度图像压缩框架(AContinuously Variable Rate Deep ImageCompressionFramework)”,arXiv preprint arXiv:2003.02012,2020。
图1示例了VAE框架。VAE框架可以被认为是一个非线性变换译码模型。在网络的编码端,编码器1通过函数y=f(x)将图像x映射为潜在表示。编码器可以包括神经网络或由神经网络组成。量化器2将潜在表示变换为所需比特长度和/或精度的离散值,y_hat=Q(y)。使用算术编码(表示为代表算术编码器5的AE)将经量化信号(潜在空间)y_hat包括到码流(码流1)中。
在网络的解码端,使用算术解码器AD 6从码流中解码经编码潜在空间。解码器4用于将从AD 6输出的经量化潜在表示变换为经解码图像,x_hat=g(y_hat)。解码器4可以包括神经网络或由神经网络组成。
在图1中,两个子网相互合并。第一网络包括上述处理单元1(编码器1)、2(量化器)、4(解码器)、5(AE)和6(AD)。至少单元1、2和4被称为自动编码器/解码器或简单地称为编码器/解码器网络。
第二子网至少包括单元3和7,并被称为超编码器/解码器或上下文建模器。具体地,第二子网为AE 5和AD 6建模概率模型(上下文)。熵模型,或者在这种情况下,超编码器3估计经量化信号y_hat的分布z,以接近使用无损熵源编码可实现的最小速率。估计的分布由量化器8量化,以获得经量化概率模型z_hat,该模型表示可以在码流中传输到解码端的边信息。为此,算术编码器AE 9可以将概率模型编码到码流2中。码流2可以与码流1一起传输到解码端,并也提供给编码器。具体地,为了提供给AE 5和AD 6,经量化概率模型z_hat由AD 10算术解码,然后用超解码器7解码,并插入AD 6和AE 5中。
图1在单个图中描述了编码器和解码器。另一方面,图2和图3分别示出了编码器和解码器,因为它们可以单独工作。换句话说,编码器可以生成码流1和码流2。解码器可以从存储器或经由通道等接收这样的码流,并且可以在不与编码器进行任何进一步通信的情况下对其进行解码。上面对编码器和解码器元件的描述也适用于图2和图3。
大多数基于深度学习的图像/视频压缩系统在将信号转换为二进制数字(比特)之前会降低信号的维度。
例如,在VAE框架中,编码器是非线性变换,将输入图像x映射到y中,其中,y的宽度和高度小于x的宽度和高度。由于y具有较小的宽度和高度,因此大小较小,信号的尺寸减小,因此更容易压缩信号y。
压缩的一般原理在图4中示出。输入图像x对应于输入数据,即编码器的输入。变换后的信号y对应于潜在空间,具有比输入信号小的维度,因此也被称为瓶颈。通常,在编码器-解码器流水线内的这个处理位置,通道的维度最小。图4中的每列圆表示编码器或解码器的处理链中的一层。每一层中的圆的数量指示该层上的信号的大小或维度。潜在空间是编码器的输出和解码器的输入,表示经压缩数据y。在解码端,潜在空间信号y(经编码图像)由解码器神经网络处理,从而扩展通道的尺寸,直到获得重建数据x_hat,该重建数据x_hat可以具有与输入数据x相同但与输入数据x不同的尺寸,特别是在应用了有损处理的情况下。由解码器层处理的通道的尺寸通常高于瓶颈数据y尺寸。换句话说,通常,编码操作对应于输入信号大小的减小,而解码操作对应于图像原始大小的重建,因此称为瓶颈。
如上所述,信号大小的减小可以通过下采样或重新缩放来实现。信号大小的减小通常沿着处理层链逐步地发生,而不是一次发生。例如,如果输入图像x的尺寸为h和w(指示高度和宽度),而潜在空间y的尺寸为h/16和w/16,则在编码期间,大小的减小可能发生在4个层上,其中,每一层在每个维度上将信号的大小减小1/2。
已知的基于深度学习的视频/图像压缩方法通常使用多个下采样层。示例性VAE在图5中示出,并利用6个下采样层,这些层标记为51到56。包括下采样的层在层描述中用向下箭头指示。层描述“Conv N×5×5/2↓”表示该层是卷积层(“Conv”),有N个通道,卷积核大小为5×5样本。“2↓”表示在该层中以因子2进行下采样。使用因子2进行下采样会使输入信号的一个维度在输出端减少一半。在图5中,2↓表示输入图像的宽度和高度都减少了1/2。由于有6个下采样层在一个维度上将大小减半,因此如果输入图像x(514)的宽度和高度用w和h表示,则输出信号z_hat(513)的宽度和高度分别等于w/64和h/64。
在第一子网中,一些卷积层在编码端使用广义除法归一化(generalizeddivisivenormalization,GDN),在解码端使用逆GDN(inverse GDN,IGDN)。在第二子网中,应用的激活函数是整流线性单元(rectified linear unit,ReLU)。需要说明的是,本发明并不限于这种实现方式,通常,可以使用其它激活函数来代替GDN或ReLu。
图5中的网络架构包括超先验模型。左侧(ga,gs)示出了图像自动编码器架构,右侧(ha,hs)对应于实现超先验的自动编码器,如上文参考图1至图3所述。模型对分析和合成变换ga和gs使用类似的架构。Q表示量化,AE、AD分别表示算术编码器和算术解码器,如上文参考图1至图3所述。编码器对输入图像x进行ga处理,从而产生具有空间变化标准偏差的潜在表示y。
将结果馈送到ha中,以总结z中的标准偏差的分布。然后对z进行量化、压缩,并将z作为边信息发送。然后,编码器使用经量化矢量z_hat 513来估计用于获得算术编码(arithmetic encoding,AE)的概率值(或频率值)的标准偏差的空间分布,并使用它来压缩和发送经量化潜在表示y_hat 515。解码器首先从经压缩信号中恢复z_hat。然后,解码器使用hs获得y_hat,这为它提供了正确的概率估计,以成功恢复y_hat。然后,解码器将y_hat馈送到gs中,以获得重建图像。
解码器包括上采样层57至59和510至512。另一层420以输入的处理顺序在上采样层411与410之间提供,该输入被实现为卷积层,但不对接收到的输入提供上采样。解码器还示出了对应的卷积层“con M×3×3/1”。这样的层可以在NN中提供,用于对输入执行不改变输入大小但改变特定特性的操作。但是,没有必要提供这样的层。
当从通过解码器的码流2的处理顺序中看时,上采样层以相反的顺序运行,即从上采样层512到上采样层57。这里示出了每个上采样层,以提供上采样比为2的上采样,由↑指示。当然,不一定所有上采样层都具有相同的上采样比,并且也可以使用其它上采样比,如3、4、8等。层57至512被实现为卷积层(conv)。具体地,由于它们可能旨在在输入上提供与编码器相反的操作,上采样层可以对接收到的输入应用反卷积操作,使得其大小增加与上采样比对应的因子。但是,本发明通常不限于反卷积,并且上采样可以以任何其它方式执行,例如通过两个相邻样本之间的双线性插值,或通过最近邻样本复制等。
图6示出了基于深度学习的图像(静止或视频)编解码器的一般示图,其中,在第一层之后应用了辅助信息。深度学习架构可以是包括条件自动编码器和超先验的任何架构。条件VAE是指通过收集附加信息(在此称为辅助信息)来调节网络。这样的辅助信息与特征数据一起由NN的一个或多个层处理。例如,图像编码器的输入602是可以在多个通道中提供的图像。图6的示例性表示示出了具有亮度和两个子采样色度的三个颜色通道(例如,在YUV颜色空间等中),这是图像编译中通常采用的方法之一。通常,可以有更多的通道(例如,白色等附加颜色,或深度或其它特征,例如运动等)或更少的通道(例如,只有一个灰度通道、黑白或调色板等)。输入图像通道602被布置成输入张量x,并输入到编码器神经网络600A。编码器神经网络600A可以包括多个层或层级,所述层或层级可以包括下采样层,所述下采样层可以通过以下各项实现:例如具有或不具有一些步幅的卷积、sigmoid、ReLU或GDN等非线性激活、不改变张量尺寸的一些掩码卷积等。需要说明的是,这些层还可以包括熵编码或其它处理层。
输入信号X可以由一个或多个层处理,包括卷积(“conv”)和下采样(“↓”),以及一些非线性操作(NonLinAct)和掩码卷积(MaskConv)。编码器包括两个或两个以上层,并可以将潜在空间中的压缩信息写入一个或多个码流620和/或630。例如,码流中的一个(例如码流620)可以对应于码流1,而另一个(例如码流630)可以对应于图1至图3中所示的码流2。在图6中,级或层被示出为缩小尺寸(在处理方向上更窄)。但是,这是为了说明目的,通常网络还可以包括不修改张量大小的一个或多个层和/或甚至增加张量大小的一个或多个层。在层1之后,可以执行收集610或辅助信息。收集器610可以收集辅助信息,并将其与层1的输出数据组合。然后,组合后的信息被输入到层2进行进一步处理。
因此,网络的解码器部分600B解析一个或多个码流620和/或630,并使用一个或多个层重建信号,例如使用(去)卷积、上采样(“↑”)、非线性操作和掩码卷积。该示例性解码器网络600B与编码器网络600A对称(这通常不是必要的)。收集器650收集辅助信息,并将收集的辅助信息与倒数第二层的输出的组合应用到最后一个解码层(与编码器的层1对称)。在由最后一个层处理之后,获得输出张量,例如在本示例中,重建图像692。
编码/解码流水线内的辅助信息
在图像编解码器中,辅助信息可以用于方便编码器和解码器。这些辅助信息与经编码张量或经解码张量一起,可以应用于译码(编码和/或解码)流水线中的特定的一个或多个位置。在图6的示例中,辅助信息用于帮助编码和解码第一层之后的经处理信号。这些辅助信息的应用通常与处理流水线内的某个固定位置相关,如图6中的收集块610和650所示,因为网络架构主要是针对特定应用(例如图像编码和解码)预定义和固定的。应用于神经网络中的参数(例如权重)通常是预训练的(例如在编码和/或解码之前提供)。因此,神经网络的架构是预先确定的,因为权重和应用辅助信息的位置是预先确定的。这可能会限制网络的灵活性及其对经编码或经解码内容的不同参数和特性的适应性。
辅助信息的一个可能的示例是应用在输入信号x的域中的帧间预测帧(预测)。帧间预测利用视频中相邻帧与当前帧之间的时间冗余,因为相邻帧的内容通常不会完全改变。相反,内容通常会在帧之间移动一点。因此,帧间预测需要两个信息片段,即一个或多个相邻帧作为参考图像和运动信息(例如一个或多个运动矢量)。帧间预测将这两个信息片段作为输入,并应用运动补偿来生成当前帧的预测。
另一种预测形式是一个帧(图像)内(内部)的帧内预测。帧内预测利用帧内部的空间冗余。给定帧内部的区域,通常区域的样本值是相关的。因此,帧内预测使用帧的重建相邻样本来预测同一帧中当前位置的样本的值。
在图7中,提供了作为辅助信息的预测的视觉示例。左上角图像是来自公共测试序列BasketballDrill的预测帧710。预测在与输入信号x相同的域中执行,即在本示例中在NN输入图像域中执行。亮度帧的原始宽度和高度分别表示为W和H。位于左下角的较小帧720是在一个卷积层conv(1,↓2)(具有一个通道,下采样因子为2)之后的同一预测帧。因此,宽度和高度都是原始分辨率的一半,即W/2和H/2。在右边,示出了N个卷积层之后潜在空间域中的预测的示例730,每个卷积层的下采样因子为2x。因此,现在预测的宽度和高度小了2N。该图是经下采样帧的网格,其中,网格大小由通道740的数量K确定。这里,总共有K=13*11=143个通道。换句话说,马赛克图像730示出了在具有K个通道的n个卷积层N*conv(K,↓2)之后的潜在空间域中的辅助信息(此处为预测)。
图8示出了使用传统基于块的视频编解码器(HEVC)和深度学习来捕获各种帧的特性的组合方法,遵循以下文献:Lu、Z.Ma、L.Xu、D.Wang的“基于分解、压缩、合成(DCS)技术的测试(Tests on Decomposition,Compression,Synthesis(DCS)-basedTechnology)”,JVET-U0096,联合视频专家组(JVET)第21次电话会议,2021年1月6日至15日。在译码流水线中的多个位置使用预测等辅助信息。图8中的译码流水线可以分为三个级:分解、压缩和合成。图中,↓代表下采样,↑代表上采样,E和D分别代表HEVC视频编码器和解码器。STF表示空间纹理帧,它们是图像组(group of pictures,GOP)中的帧内预测帧。TMF表示时间纹理帧,它们是GOP中的帧间预测帧。HEVC编码器和解码器的预测和残差译码位于HEVC视频编解码器流水线中的静态(固定)位置。
在图8中,输入GOP在分解级首先被分为两类STF和TMF。TMF中的运动信息可以以粗粒度捕获,因此在编码之前对它们进行下采样,表示为It L(即TMF的低分辨率输入)。相比之下,STF以原始高分辨率编码,符号为Is H(即STF的原始高分辨率输入)。STF和下采样的TMF都在第二压缩级使用传统的HEVC编解码器编码,其中,HEVC的编码器和解码器分别由标记为E和D的块表示。当编码TMF时,其参考图像是STF的重建信号的下采样版本,表示为(即STF的重建下采样低分辨率信号)。STF和TMF的经编码信息写入一个或多个码流。然后,它们被解析并由HEVC解码器用于重建STF和TMF。同样,当解码TMF时,其参考帧是STF的下采样版本压缩级的输出是STF和TMF的重建信号,分别表示为/>和/>
在合成级,重建的STF和TMF用于以其原生分辨率生成高保真视频。首先利用运动补偿网络(表示为运动补偿)通过聚合相邻TMF的信息,生成当前TMF的时间平滑和空间细粒度运动表示(Ft L)。然后,由运动补偿网络生成的时间运动特征,连同经解码和经上采样的TMF(表示为STF)及其重采样版本被馈送到非局部纹理传输网络中,以学习和传输交叉分辨率信息,以实现具有空间细节和时间平滑性的高保真帧恢复。混合译码流水线在编解码器中不同位置使用辅助信息,例如由运动补偿网络生成的时间运动特征、HEVC编码器和解码器中使用的预测和残差信息(图8中未示出,但它们用于块E和D)。但是,辅助信息应用在译码流水线中的固定位置。
这种实现方式可能无法有效地适应图像和视频序列的特性,因此导致次优译码结果。
通过从原始信号(也称为预测误差信号或残差信号)中减去预测信号而获得的残差信号也可以用作辅助信息。在本发明的一些实施例中,预测和残差信号不仅可以发生在与输入信号x相同的域上,而且还可以发生在编码器部分600A的处理顺序中的一个或几个层之后的域中,或者相应地,在解码器部分600B的处理顺序中的一个或几个层之前的域中。传统上,对编码器和/或解码器中的经编码和/或经解码张量使用这些辅助信息的位置是固定的。
但是,根据内容,特别是根据输入图像的特性,辅助信息可能在译码流水线中预先设计的固定位置上表现不好。因此,在译码流水线中的固定位置利用辅助信息可能会导致次优译码结果。因此,期望基于输入特性在不同位置有条件地应用这些辅助信息的自适应方案。
基于收集条件的辅助信息输入位置的选择
根据实施例,提供了一种用于使用神经网络处理码流中的图像特征数据的方法。神经网络包括多个(即两个或两个以上)神经网络层,在下文中也称为层。这种神经网络900B在图9中示出。术语图像特征数据是指在编码端通过图像处理获得的任何潜在空间数据。换句话说,图像特征数据可以是编码处理的输出。
该方法包括基于码流940获得图像特征数据。例如,可以直接解析图像特征数据,也可以从码流中解析解码。此外,基于经解码数据,可以通过一些处理获得图像特征数据。该方法还包括使用神经网络900B处理图像特征数据。对于神经网络内的一个或多个预配置位置中的每一个,所述处理包括:
(a)基于收集条件910_1、910_2、910_3,确定是否收集960_1、960_2、960_3辅助数据950,以便在所述预配置位置(在特征数据处理方向上的预配置位置之后)由多个神经网络层中的一个神经网络层处理,
(b)在确定所述辅助数据950待被收集的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据950。
预配置位置是神经网络中的位置,在这些位置上可以收集(相同)辅助信息。可以有一个这种位置,也可以有两个或两个以上(甚至所有)这种位置。在图9中,有三个预配置位置,即收集960_1、960_2、960_3的位置。如上所述,网络内的位置可以例如由按图像特征数据的处理顺序在该位置之前的NN模块(这里的层)的数量来指定。预配置位置可以固定为神经网络架构的一部分。但是,通过允许或禁止辅助数据输入到一个或多个层中,可以提高灵活性。但是,本发明并不限于固定位置。或者,预配置位置可以通过也直接或间接包括在码流中的边信息来配置。在此,直接配置可以指示实际位置,而间接配置可以基于编码器和解码端已知的相同规则,并基于例如编码参数(例如来自码流)的值执行。
当确定辅助数据不被收集以由特定层进行处理时,使用特定层的处理不基于辅助数据。在图6的示例性架构中,在图6的示例中输入辅助数据的位置是固定的,位于第一层之后。相比之下,在图9中,所述辅助信息可以插入神经网络中的多个潜在位置。这由收集单元960_1、960_2和960_3指示,由神经网络中的条件(标记为问号圈)910_1、910_2和910_3控制。
在编码端执行类似的处理。一种用于使用包括多个神经网络层的神经网络900A处理图像902以生成码流940的编码端方法。该方法包括使用神经网络900A处理图像902。处理包括对于神经网络内的一个或多个预配置位置中的每个预配置位置:基于收集条件910_1、910_2和910_3确定是否收集(例如,通过相应的收集器920_1、920_2,以及920_3)辅助数据950,以在预配置位置由层进行处理,在确定辅助数据待被收集的情况下,在所述预配置位置使用层进行处理是基于辅助数据950。该方法还包括将由神经网络处理图像获得的数据插入码流940中。如在图9中可以看到,在应用用于向无损编码提供概率模型参数的超先验子网的情况下,可以提供附加码流(或码流部分)945。
这样,应用辅助信息的位置可以根据视频序列中图像或帧的内容和/或特性动态地改变。因此,目前的可配置神经网络具有动态架构,因为应用辅助信息和对应的收集参数可以发生在不同的位置。
这里的术语收集条件是指例如一种要求,当满足时,为收集器确定是否收集辅助信息950。相应的收集单元960_1、960_2和960_3(以及相应的编码端收集单元920_1、920_2和920_3)的要求可能不同。这种确定与选择输入辅助信息的位置具有相同的效果。根据要求的设计,辅助信息可以仅被选择用于预配置位置中的一个。例如,这可以通过为相应的收集器提供相互排斥的要求(收集条件)来实现。换句话说,作为在确定步骤中应用收集条件的结果,一个或多个预配置位置中的单个预配置位置处的辅助数据待被收集。
但是,上述示例并不限制本发明。如在图9中可以看到,存在一个辅助信息950片段或一种类型的辅助信息950,其可以在预配置位置收集。在一些示例性实现方式中,作为在确定步骤中应用收集条件的结果,所述预配置位置中的多于一个预配置位置处的相同辅助数据待被收集。关于收集辅助信息的上述方法可以应用于多于一种类型的辅助信息。然后,对于每个辅助信息类型,一个或多个收集位置可以从预配置位置集合中确定。需要说明的是,对于不同类型的辅助信息,预配置位置集合可能不同。但是,对于一些类型的辅助信息,这些集合可能重叠,甚至是相同的。例如,辅助信息可以是预测信号、预测误差信号、概率模型等。其中一些可以适用于对应位置的相同或重叠级,例如,预测信号和预测误差信号可以一起使用。一些辅助信息类型可能适用于不同的级,例如,熵编码潜在空间信号的概率模型。
当在此提及信号时,主要指的是离散信号,例如编码网络的输入图像或解码网络的输入图像特征数据,或任何级的潜在空间,或表示辅助信息的数据等。
如上所述,神经网络的不同层可以处理具有不同大小的特征张量。在图像处理中,特征张量通常具有三个维度,如已经参考图7讨论,即宽度、高度和通道数量。具有宽度和高度的特征图像可以认为对应于通道。因此,为了支持(可选择)在流水线的多个级收集相同的辅助信息,可以实现一些调整大小或缩放。例如,在示例性实现方式中,预配置了多于一个所述预配置位置。辅助数据的大小是可缩放的,以匹配在两个或两个以上所述预配置位置由层进行处理的输入通道的尺寸。因此,在该示例性实现方式中,作为在确定步骤中应用收集条件的结果,辅助信息(数据)可以针对所述预配置位置中的单个预配置位置(i)被收集或(ii)被收集并且被缩放。这相当于在预配置位置中选择收集辅助信息的单个位置,以及调整(如果必要)辅助信息以适应由将其输入到的层所处理的分辨率。但是,本发明并不限于总是在至少一个位置应用辅助信息。可以设想,设计收集条件,使得作为它们应用的结果,不会在一些图像的任何预配置信息处收集辅助信息。换句话说,可以实现(iii)不收集辅助信息的第三种可能性。
本文描述的实施例侧重于可选择的辅助信息收集。但是,除了这种可选择的收集之外,神经网络架构可以提供一个或多个收集级,在这些级中总是(不依赖于满足收集条件等前提条件)收集特定类型的辅助信息,就像传统条件VAE框架中的情况一样。
本实施例可以使应用辅助信息的位置根据收集条件自适应地改变。
需要说明的是,本发明不限于VAE等特定NN框架。此外,本发明不限于图像或视频压缩,并且也可以应用于对象检测、对象识别或分类系统,通常是任何图像处理系统,包括为人类视觉目的重建图像的人类视觉系统,或不一定重建图像的机器视觉系统,但是处理适合于推导期望输出的图像特征,如分割图、深度图、对象分类、对象检测等。
图10示出了示例性实施例,其中,收集条件基于从码流获得的图像特性或图像特征数据特性。图10的神经网络处理输入图像1002并输出经处理图像1092。
例如,图像特性或图像特征数据特性包括分辨率。收集条件包括分辨率与预配置分辨率阈值的比较。例如,如果图像分辨率超过预配置阈值,则将收集辅助数据用于预配置位置中的第一位置。另一方面,如果图像分辨率不超过预配置阈值,则将收集辅助数据用于预配置位置中不同于第一位置的第二位置。阈值可以按经验定义为神经网络架构设计的一部分,或者通过将对应的参数包括到码流中来训练和/或配置。
除了或替代基于分辨率的条件,在示例性实施例中,图像是视频图像,图像特性包括图像类型。收集条件包括确定图像类型是时间预测的图像类型还是空间预测的图像类型。空间预测的图像仅使用其自己图像中的样本进行预测。在这种情况下,不使用其它图像的样本。时间预测的图像必须包括基于其它图像上的样本进行时间预测的一些区域。但是,它也可以包括使用空间预测的一些区域,即使用其自己图像中的样本。
图像类型和图像分辨率或其它图像特性都是编码器和解码器已知的,因此编码端和解码端可以按相同的方式操作,而不需要任何附加的边信息。
在图10中,第一处理层是编码器1010A中的下采样层1010和解码器1010B中的上采样层1070。在本示例中,下采样1010和上采样1070在帧的宽度和高度上的采样因子都为2。辅助信息(例如预测)可以潜在地应用在多于一个位置:在编码器的第一层1010和解码器的对应层1070之前和之后。
在编码端,在这个示例中,收集单元1030是两个输入信号的加权和:一个是待编码的原始帧的全尺寸,另一个是原始帧的四分之一尺寸(全尺寸),对应于原始帧的下采样版本。
例如,权重对(1,0)表示使用全尺寸(由权重因子1指示)而不是四分之一尺寸(由权重因子0指示)的辅助信息进行编码,而权重对(0,1)表示使用四分之一尺寸但不是全尺寸的辅助信息进行编码。这样,可以使应用辅助信息的位置在神经网络中可配置。控制辅助信息使用位置的条件可以是,例如,原始帧的帧大小(分辨率)和/或帧类型。
例如,条件可以是帧大小是否大于或等于4K分辨率,帧类型是否为帧间预测帧。在示例性实现方式中,当条件为真时,使用权重对(0,1),因此使用辅助信息以四分之一尺寸编码这些输入帧。其它帧使用辅助信息以其原始分辨率编码。应用辅助信息的位置可以基于帧类型和/或帧大小在帧级动态改变。
换句话说,在图10中,示出了一个示例,其中,收集单元1030(并且对应地在解码器1060处)只是加权和。权重可以具有如上所述的值(1,0)或(0,1)。权重(1,0)表示编码全尺寸图像,权重(0,1)表示对四分之一尺寸的信号(对应于以因子2下采样的信号)执行编码。在本示例中,收集条件1050是视频是否具有4K或更高的分辨率,并且同时,所考虑的帧是时间预测帧。但是,如上所述,本发明不限于这种组合的收集条件。实际上,阈值分辨率可以仅是分辨率是否超过特定值或属于特定分辨率集合。或者,帧类型可以是唯一评估的条件,而不考虑分辨率。其它示例是可能的,涉及单独或组合使用的其它条件。
例如,预测模式、运动信息(以推导例如运动强度或类型)等译码参数可以应用于收集条件中。上述示例性实施例中的神经网络的可配置性是通过基于内容自适应条件在特定位置使用/不使用辅助信息来实现的。内容可以包括图像的直接特性,例如图10的示例中所示的帧大小和帧类型。但是,该特性也可以是内容的间接特性,例如给定区域中样本值的直方图。内容的粒度也可以是可变的。例如,确定辅助信息的位置的条件可以在帧级、块级或在一组图像或任何数量的图像的级别更新。换句话说,在一些实施例中,神经网络被训练以执行视频图像的处理。确定是否收集辅助数据以在预配置位置由层进行处理的操作是针对每个预定数量的视频图像执行的,其中,所述预定数量的视频图像是一个或多个。
这种条件也可以有不同的形式。它可以从解码器中的经解析标志中确定,如下所述。在编码端,标志值可以基于一些RDO计算或基于其它成本函数确定。也有可能,该条件不是显式地指示的,而是由视频序列中的图像/帧的其它信息确定的。
在灵活位置应用辅助信息的好处之一是,它可以自适应地编码和解码图像或帧,因此可能会实现更好的性能。更好的性能可以包括在相同质量下产生的码流1055具有较低速率,或者反之亦然(在相同速率下具有较高的质量)。
根据一个实施例,该方法包括在解码端从码流获得指示的步骤,该指示指定对于一个或多个预配置位置是否收集辅助数据。对于一个或多个预配置位置中的每个预配置位置的收集条件如下:
-如果指示指定对于所述预配置位置辅助数据待被收集,则确定是肯定的;
-如果指示指定对于所述预配置位置辅助数据不被收集,则确定是否定的;
该指示可以是码流语法支持的标志,直接指示是否在特定位置收集特定辅助信息。或者,该指示可以根据其语法直接包括在码流中,并指定在预配置位置中的收集辅助信息的单个位置。该指示符还可以被设计成具有一个取值,该值指示辅助信息不在任何预配置位置收集。在本实施例中,收集条件基于评估指示符。
参考辅助信息描述了上述实施例。通常,辅助信息(或辅助数据)提供关于由神经网络处理以生成输出的图像特征数据的一些(补充)信息。在图11中也示出的特定示例中,辅助数据包括预测数据,该预测数据是图像的预测(例如,在编码器的输入图像域中)或在由神经网络的一个或多个层进行处理之后图像特征数据的预测(例如,在编码器的输入图像域之外)。
如图11所示,在一些示例性实现方式中,辅助数据是预测数据和将与预测数据组合的补充数据的耦合对。这里的术语“耦合”是指预测和补充数据从相同的流水线位置(级)获取。补充数据可以是例如预测误差数据(表示预测误差的数据),其可以是在特定情况下预测残差(预测图像与图像预测之间的差)。预测和残差信号可以在神经网络中的零层、一个或几个层之后获得,如图11所示。在第i位置应用辅助信息表示在流水线内的第i位置使用辅助信息进行变换。这里的变换可以是由层执行的一般变换,也可以是作为网络的处理步骤(层)执行的实际频域变换,例如正交变换,如傅里叶变换(例如快速傅里叶变换(fastFourier transformation,FFT)或离散余弦变换(discrete cosinetransformation,DCT)或它们的整数版本等)。如上所述,通常,辅助信息是张量,其可以具有与编码端输入信号相同的大小,或作为译码流水线中的潜在空间表示,这取决于收集位置。
通常,可以应用预测和残差信号的位置数量为N+1。这对应于位置0,在解码端表示输入信号(到NN的输入),在编码端表示输出信号,以及N个另外的位置1至N。需要说明的是,预配置位置不一定在每个层之后提供。图11示出了辅助信息是预测和残差信号的示例。它们可以在几个位置收集,这通过在神经网络的编码器部分1100A和解码器部分1100B中多次提供收集单元1150来示出。
在图11的示例中,这些位置中的单个位置在编码和解码期间应用预测信号和残差信号。换句话说,辅助信息的应用位置在译码流水线中不会重复,而是发生了改变。收集级1150包括收集预测信号(predi)1110作为辅助信息,并通过从第i位置的图像特征数据中减去预测(在解码端理的方向上计算)来计算残差(resii)1120。然后,残差被编码在码流1140中。因此,可以通过将残差1160添加到通过处理获得的预测中,在解码器1100B处收集残差,该处理可以包括例如运动补偿处理或帧内预测处理等。
在编码端,方法还可以包括基于包括速率、失真、精度、时延或复杂度中的至少一个的成本函数的优化,为一个或多个预配置位置选择是否收集辅助数据的步骤。换句话说,位置可以通过RDO或类似的方法确定。例如,在编码端,关于应用辅助信息的流水线内级的决策可以通过多遍编码执行。在一个示例中,如上所述,仅允许在一个位置应用辅助信息。在这种情况下,i(i=0、1、2、……、N)个预配置位置的编码器尝试在流水线的第i位置应用辅助信息,并获得每个变量的失真和速率。然后,选择定义的速率/失真比的最佳变量(位置)。
在另一个示例中,如果可以在流水线内的任何一个或多个位置应用辅助信息,则每个长度为(N+1)的布尔矢量的编码器尝试在与该布尔矢量中的位置对应的位置应用辅助信息,因此尝试2N+1变量。如果考虑一些先验知识,则搜索空间可能会减小。布尔矢量指示对于每个位置i是否在该位置收集辅助信息。
但是,本发明不限于作为辅助信息的预测和预测残差。实际上,辅助数据被应用为一种在解码处理中能够具有方向性的引导数据。换句话说,辅助数据通过一些补充信息来调节处理。通常,辅助数据可以是帮助生成网络或其它数据的标签。
需要说明的是,在本发明中,预测和残差信号的含义略微概括,即与在输入信号x的同一域中生成预测和残差信号的HEVC等传统编解码器不同,这里的预测和残差信号可以指示神经网络中的一个或多个层之后的信号,如图11所示。在图11的实施例中,预测和残差信号耦合,即当满足收集条件时,并置预测信号predi和残差信号resii同时启用或禁用。
但是,在一些实施例中,预测数据和补充数据具有由网络中相互不同位置的层处理的数据的尺寸。换句话说,他们是从不同的级收集的。预测的(选定)收集位置和残差的(选定)收集位置可以不同。这种方法的一些实施例将在下面的“组合来自神经网络不同处理级的数据”部分中描述,并可以与改变此处描述的收集位置相结合。
图12示出了一些实验数据。在实验中,可以基于输入信号的分析选择网络配置。此分析是在频域中进行的。图12给出了一个示例,其中,对应于二维快速傅里叶变换的变换FFT2(参见https://www.mathworks.com/help/matlab/ref/fft2.html)被用作执行频谱分析的变换工具。对于给定的图像,可以预测(或测量)对网络层进行2x下采样之前或之后由FFT2变换引入的频谱变化。如果保留了主要信号能量,则将辅助信号应用于低分辨率表示是有利的,因为原始图像与重建图像之间的误差可以忽略不计。图12示出了以下分析级。级(a)示出输入(原始)图像。这里的实验是针对两个不同的图像(参见(a),顶部和底部)进行的。级(b)示出在将FFT2应用于原始图像时的FFT2结果。级(c)示出当在下采样2后将FFT2应用于原始图像时的FFT2结果。级(d)示出基于经子采样信号进行重建的图像。级(e)示出应用于重建图像的FFT2。级(f)示出重建图像与原始图像之间的差异。级(g)示出差分图像的FFT2。可以看出,图12顶部的图像具有较少的高频分量。重建帧是通过首先在下采样分辨率下施加辅助信号,然后进行上采样得到的。这种重采样对信号内容的影响很小。相比之下,在观察到更多的高频分量的底部图像的图像细节和频率分量中,高频能量的损失很明显。这一观察结果可能也适用于其它变换。总体而言,网络是以这种方式自适应配置的,使得辅助信号以适当的分辨率施加到卷积层,其中,输入信号的频谱能量得到充分保留。可以设想,收集条件基于FFT2或可以提供一些频谱信息的另一种变换。例如,频谱分布的一些统计参数可以被阈值化,以定义在哪个位置上收集辅助信息。
需要说明的是,本发明不限于提供预测信号和残差信号作为辅助信息。另一个示例性的可能性是无损压缩中的辅助信息的应用。
因此,辅助信息可以应用于的潜在位置包括信号可以被无损处理的位置。如图13所示,神经网络可以包括子网,其中,信号y_hat可以从解码器无损地恢复,如参考上述图1至图3所述。根据一个实施例,在获得信号y_hat之后,存在收集单元1310,其中,辅助信息可以随后应用于神经网络中。
换句话说,在本实施例中,神经网络包括使用至少一个层进行无损解码的子网,并且辅助数据被输入到所述子网用于无损解码。因此,收集条件1320可以控制熵译码的概率模型(如上文针对VAE框架描述的编码和解码)是否作为无损编码子网中的辅助信息提供。如果不提供辅助信息,则概率模型可以例如通过默认概率分布或通过码流指示等确定。收集条件可以基于优化,该优化基于成本函数等,一方面考虑子网造成的复杂度和时延,另一方面考虑子网对减小产生的码流大小的影响。或者,收集条件可以基于先前译码数据的统计,例如它们的方差。在几乎固定或缓慢变化的情况下,可能不需要应用子网中的辅助信息。
通常,神经网络可以被训练以执行以下各项中的至少一项:静止图像解码、视频图像解码、静止图像滤波、视频图像滤波和包括对象检测、对象识别或对象分类的机器视觉处理。
上述编码和/或解码可以针对包括第一辅助数据和第二辅助数据的多个辅助数据中的每个辅助数据执行的,其中,所述第一辅助数据与第一组一个或多个预配置位置相关联,所述第二辅助数据与第二组一个或多个预配置位置相关联。换句话说,本发明可以应用于同一网络中的不同类型的辅助数据。例如,第一辅助数据是预测和残差信号,第二辅助数据是无损编码的概率模型。在一些实施例中,第一组一个或多个预配置位置和第二组一个或多个预配置位置共享至少一个预配置位置。但是,这只是示例性的,在一些情况下,集合不一定共享任何预配置位置。例如,在预测/残差作为第一数据和概率模型作为第二数据的示例中,情况可以是这样。
如图9所示,提供了可配置的条件自动编码器神经网络作为示例性实施例。在该架构中,可以基于条件自适应地确定应用预测和/或残差等辅助信息的位置。因此,神经网络的架构可以根据视频序列中图像或帧的特性动态地改变。
通常,本发明的实施例提供了一种使基于神经网络的图像编解码器动态可配置的方法,其中,在译码流水线中应用辅助信息的位置取决于条件。辅助信息可以是预测和残差信号的耦合对。配对的预测和残差信号可以位于与输入信号x相同的域中,也可以位于由神经网络的一个或多个层处理之后的域中。应用辅助信息的位置是可变的,这可以通过基于收集条件在神经网络中的潜在位置中仅一个特定位置使用辅助信息来实现。这种收集条件以内容自适应的方式控制应用辅助信息的位置,即,该条件可以基于输入信号(图像)的一个或多个特性来确定。此外,控制应用辅助信息位置的条件可以动态更新,例如,当编码视频序列时,条件可以在块(帧中)级别、帧级别或帧组级别更新。应用辅助信息的潜在位置中的一个是信号被无损编码的位置,如图13所示。位置变化可以应用于两个或两个以上独立的辅助信号。给定两个独立的辅助信号A1和A2,应分别有应用A1和A2的两个对应潜在位置集合。假设这两个潜在位置集合是S1和S2,则S1和S2中的位置不受限制,即它们可能重叠,也可能不重叠。这同样适用于两个以上独立的辅助信号。
主要从方法方面描述了实施例。但是,本发明并不限于此。实际上,本发明还涉及一种用于使用包括多个神经网络层的神经网络处理码流中的图像特征数据的装置。该装置包括:处理电路,所述处理电路用于从所述码流中获取图像特征数据;使用神经网络处理图像特征数据,其中,对于神经网络内的一个或多个预配置位置中的每个预配置位置,所述处理包括:基于收集条件确定是否收集辅助数据,以在预配置位置由多个神经网络层中的一个神经网络层进行处理,在确定辅助数据待被收集的情况下,在预配置位置使用层进行处理是基于辅助数据。处理电路可以是一个或多个处理器,例如由对应的软件配置,如将参考图26至图29详细描述。
类似地,本发明涉及一种用于使用包括多个神经网络层的神经网络处理图像以生成码流的装置,所述装置包括。所述处理电路用于:使用所述神经网络处理所述图像,其中,所述处理包括对于所述神经网络内的一个或多个预配置位置中的每个预配置位置:基于收集条件确定是否收集辅助数据,以在所述预配置位置由层进行处理,在确定所述辅助数据待被收集的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据;用于将由所述神经网络处理所述图像获得的数据插入所述码流中。处理电路可以是一个或多个处理器,例如由对应的软件配置,如将参考图26至图29详细描述。
组合来自神经网络不同处理级的数据
图14是用于处理图像数据的神经网络的架构以及具体地应用于编码端和解码端的层的编号的框图。输入图像1402堆叠到输入数据张量中,并输入到编码端的神经网络1400A中。如图所示,编码端网络1400A包括从1到K编号的多个合并处理层(或层块)。级在这里表示经处理特征张量的级。输入数据张量对应于第0级,用层1处理输入数据张量后的特征张量对应于第1级,等等,直到最后(第K)级,该级对应于瓶颈处的神经网络的输出。这里的输出对应于瓶颈特征张量(也称为输出或潜在空间张量或输出特征数据),其可以被编码(例如由如上所述的算术编码器)以形成码流1450。
解码端网络1400B包括从K到1编号的多个合并处理层(或层块)。在这个示例中,为了解释的简单起见,这里的处理层(或层块)对应于编码端的相应处理层(或层块)。通常,需要说明的是,编码端网络和解码端网络不一定需要严格对称,这表示它们不需要具有相同的层数量,但仍然可以具有相同的层数量。特定架构可以取决于部署它们的任务。即使对于相同的任务(例如视频/图像编码),NN的结构也可能不同。但是,在大多数情况下,编码端的下采样层数量等于解码端的上采样层数量。
在本示例中,解码端网络的输出是重建图像1492。但是,通常,解码端的输出不需要是供观看的重建图像。它可以是用于计算机视觉处理等计算机处理的特征数据或结果。
图15更详细地示出了神经网络中的处理和数据流,该神经网络利用预测和预测残差来编码和解码流水线的同一级的图像数据。具体地,这些预测和残差用于流水线的同一级,即第0级。这可以是固定的布置或如上所述的上述辅助信息输入位置选择的结果。在这个示例中,参考图11描述的网络被更详细地示出。图15在底部示出了处理当前图像(即时刻t+1处的帧)的编码和解码网络1586。网络1586基本上对应于参考图14描述的网络1400A和1400B。但是,在编码端和解码端的级0处,收集1560、1565辅助信息(类似于图11中所示)。
在编码端收集的信息是预测信号。预测信号在部分1560(对应于收集器)的第0级与输入图像数据(输入张量)组合。即,计算输入张量与预测之间的元素差,并获得残差,该残差被进一步编码,即用网络1586的编码端处理并插入码流1572中。需要说明的是,元素差只是实现数据的共同使用或组合的一种示例性可能性。通常,组合可以以不同的方式执行。例如,如果两种组合的数据具有不同的分辨率或尺寸,则组合可能进一步涉及缩放。根据神经网络架构和网络的训练,通常可以使用其它类型的组合,如合并等。因此,即使在附图中提供了一些表示加法或减法的示例,但本发明并不限于这种操作。实际上,它们可以表示数据的一般组合,如参考图21和图22进一步解释。
解码端使用层K至1处理码流1572中的潜在空间数据。第0级(解码端的第1层或层块的输出)中的结果数据是经解码残差。它们与收集在表示为1565的单元中的预测组合在一起。这里的收集包括预测和经解码残差的组合。这里的组合是经解码残差张量与预测的元素和。需要说明的是,这里的预测具有与残差信号相同的大小(尺寸),以便在收集单元1560和1565中执行按元素处理。如上所述,这里所示的元素和只是两种信号(数据种类)的示例性组合。通常,组合可以以不同的方式执行,并且可以表示将张量合并或堆叠在一起和/或缩放等。
图15的上部1506示出了如何获得为处理当前图像而收集的预测。具体地,预测是基于由同一网络为先前图像(在时刻t)生成的参考帧(参考数据),并且可能基于可以在当前图像(在时刻t+1)的码流1590中提供的运动信息等其它数据获得的。网络1506的编码部分对第t(前一)个图像的神经网络处理包括如上所述对当前图像的类似处理。在t=0的情况下,通常没有先前译码帧。因此,只有当前(t=0)帧的经解码样本可以用作预测。例如,可以应用帧内预测。或者,这些帧可以以不同的方式编码,例如仅通过无损编码等。
网络1506的编码部分对第t(前一)个图像的神经网络处理包括提供参考帧(在第0级通过将经解码残差添加到先前获得的参考帧而生成)用于进一步处理,即编码端的运动估计1510和解码端1530的运动补偿。
在运动估计1510中,估计参考图像(在时刻t中解码)与当前图像(在t+1中)之间的运动。然后,运动由运动信息表示,并插入码流1590中。此外,估计的运动用于运动补偿1520。运动补偿是根据任何众所周知的方法执行的。运动信息可以包括整个光流或图像的特定部分的经子采样(并且可能进一步通过无损或有损编码进行编码)光流。通常,运动信息能够从参考图像生成预测。运动信息指定参考图像中的哪些样本值对每个样本值或预测图像产生影响(以及如何影响)。运动补偿1520生成预测图像,然后在收集单元1560中收集以产生残差信号(预测误差)。
在解码端,从码流1590解码运动信息。在当前图像的解码期间,运动补偿1530基于来自解码前一图像的第0级的参考图像并基于运动信息生成预测图像,其方式与编码端的运动补偿1520所述的相同方式。
需要说明的是,图15主要示出了信号流。实际上,缓冲可以在一些级执行,例如,参考图像可以在编码端和解码端存储在参考图像缓冲区中。预测图像可以使用如上所述的一个参考图像生成。但是,本发明不限于这种处理,并且预测图像可以使用多于一个预测图像生成。现有技术提供了使用两个参考图像(双预测)的各种方法,例如,按显示顺序在当前图像之前的图像和按显示顺序在当前图像之后的图像(双向预测)。还需要说明的是,时刻t和t+1以经处理图像为单位测量。但是,它们也只是示例性的。本发明不限于使用紧靠的前一图像作为参考。具体地,为了时间可适性,可以使用按显示顺序中在当前图像之前或之后(但在编码和解码顺序中在当前图像之前)的参考图像。码流1590和1572可以复用成一个码流。
图16类似于图15,因为它示出了预测在与残差相同的级中收集,但预测和残差的收集在级1中执行。因此,预测不必在输入信号域中执行。在这种情况下,预测在第1级的潜在空间域中执行。这里的第1级是在用第一层或块或层1605处理当前输入图像(在时间时刻t+1)1601之后的级。具体地,第1层1605可以包括下采样,在这种情况下,在潜在空间中处理预测可以提高效率,例如在复杂度和时延方面。如可以在图16中看到,残差是通过例如从第1层1605的输出中减去(通常组合)预测张量而在收集器单元1660中获得的。在这种情况下,第1层1605的输出可以是与预测张量大小相同的经子采样(并且可以进一步处理,例如滤波)输入图像张量;预测张量基于从先前图像(网络1606)的解码器流水线的第1级获得的参考帧获得。然后,对应的运动信息还可以导致在码流1690中传输的数据较少,码流1690可以与残差码流1672复用。在解码端,收集1665也在对应的级(这里是第1级,例如,在解码处理顺序中由第一层或层块处理之前的级)执行。如图15所示,收集包括预测信号和第1级的潜在空间中的经解码残差的组合(在这种情况下是元素和)。
如本领域技术人员所清楚,按照图15和图16,预测信号收集可以在2到K中的任何级中执行。级越高,预测精度越低,特别是如果层(或层块)包括子采样。另一方面,随着级的增加,生成的码流的速率可能会降低,复杂度和时延也会减少。因此,对于低码率/质量译码,将上述级推后(对应于较大的级索引)是有益的,而对于高码率/质量,将上述级提前(对应于较小的级索引)是有益的。通过独立选择预测/残差收集级的可能性,可以改善网络操作。此外,级选择可以根据内容特性(例如频谱)自适应地执行,如在上述实施例和参考图1至图13描述的示例中所述。
图15和图16示出了从同一处理级(在这些示例中,第0级或第1级)获得预测和残差的示例。但是,根据本发明的实施例,情况不一定如此。从不同级获得预测和残差可能是有利的。
图17示出了一个示例性实施例,其中在在NN流水线的第i级内获得预测,并且第(i+r)级执行残差译码。
根据这样的实施例,提供了一种用于使用神经网络处理码流1772(可能也是1790)中的一个或多个图像的特征数据的方法。神经网络1786包括两个或两个以上级(K至1),包括第一级和第二级。这里所述的“第一”级和“第二”级是级K至1中的任何一个,术语“第一”和“第二”被用作级编号的占位符。
方法包括基于码流获得第一数据1760,并使用神经网络处理第一数据。例如,图17中的第一数据是从码流1772解码的残差,也可能由一个或多个层处理。在图17中,第一数据是从码流1772解码并由层K至i+r+1处理的残差。换句话说,残差用于解码流水线的第(i+r)级。
需要说明的是,通常,第一数据不一定由一个或多个层处理,它可以是直接从码流熵译码产生的特征数据。如稍后将讨论,本发明还可以应用于熵编码/解码。
使用神经网络的处理包括:
-基于神经网络先前处理的数据从神经网络1706的第二级获得第二数据1765;
-将第一数据与第二数据一起使用以生成对所述神经网络的第一级的输入,其中,在神经网络的特征数据处理中,第一级在第二级之前(按图17的示例中网络的解码部分中的处理顺序,即从级K到级0的顺序);
这里的术语“先前”是指前一帧或先前块(帧内)等。该方法还包括输出处理1702的结果(例如,重建图像或图像特征数据)。通常,当所述第一级和所述第二级不同时,本实施例适用。如参考参考图1至图16描述的实施例所示,但是,所述第一级和所述第二级也可以是同一级。
本示例中的第二数据可以是预测帧。获取第二数据可以包括获取参考帧和运动信息。但是,通常,参考帧或一般参考数据可以直接作为预测获得(例如,如果没有指示运动,或者如果使用帧内预测或另一种类型的预测)。需要说明的是,图17示出了在图像(帧)级别上的处理。但是,本发明并不限于此,并且通常,图像部分可以被编码/解码。
在图17的示例中,第一级是解码流水线的第(i+r)级,第二级是解码流水线的第i级。
在示例性实现方式中,所述第一数据(例如残差)在神经网络的第三级中获得,该第三级在神经网络的特征数据处理中的所述第一级和所述第二级之前或等于所述第一级。换句话说,第一数据可以在与第二数据组合的级不同的级中获得。这可能对一些神经网络架构是有益的,并且可以对应于一种跳跃连接。第K层至第(i+r+1)层可用于预处理经解码残差信号,并将其变换到与用层(i+1)至(i+r)处理的第二数据相同的特征空间。基本上,在图17所示的示例性实现方式中,层(i+1)至(i+r)和层K至层(i+r+1)用于将第一数据和第二数据变换到相同的特征空间(相同的域)。一旦经处理的第一数据和经处理的第二数据在同一域中,它们就可以如图21和图22所示地组合。
在图17中,第一数据表示预测误差(预测残差),第二数据表示预测。具体地,预测通过以下方式获得:
-获取参考特征数据,该参考特征数据是由神经网络在所述第二级输出的特征数据。由于在第i级的一般情况下,参考数据不在图像域中,而是在潜在空间域中,因此在这里通常称为“参考特征数据”。第0级的参考特征是参考图像,如已经参考图15讨论。
-基于码流,获取包括与参考特征数据相关的运动信息或空间信息(在同一级或不同级)的预测信息。这里的关系通过以下提供:由预测信息相对于网络的编码部分中的参考特征数据确定。在图17中,包括在码流1790中的运动信息是通过对参考特征数据与在编码端由层1至i处理的特征数据之间的运动执行运动估计来获得的。其它示例性实现是可能的,例如,使用堆叠到张量中的输入图像数据1701来产生运动信息,然后对其进行下采样等。如本领域技术人员所清楚,必要时可以应用缩放或调整大小。
-基于参考特征数据和预测信息生成预测。在图17中,预测的生成是通过如上所述参考图15描述的运动补偿来执行的。因此,第二数据是对应于运动补偿的输出的预测1765。
在图17中,预测误差是通过用神经网络处理当前图像而获得的。预测信息是运动信息,参考特征数据是通过神经网络对表示按解码顺序在当前图像之前的图像的图像数据进行处理并且可能进一步通过应用运动估计而生成的。如上所述,解码顺序不一定是显示顺序;预测可以基于多于一个参考。
上述使用第一数据1760与第二数据1765的操作包括将预测或经缩放预测与预测误差或经缩放预测误差按元素相加。预测数据的这种缩放如图17所示,例如包括在层i+1至i+r(其可以是卷积层等)的处理中。如上所述,按元素相加可以被不同类型的组合所取代,如合并或其它操作或一系列操作。
需要说明的是,本发明不限于作为预测的辅助数据。如下文所述,在一些实施例中,辅助(第二)数据可以作为超先验从不同的(子)网络获得,并与第0级上的经编码数据一起使用,以在神经网络的解码端的输入端产生潜在空间特征数据。在这种情况下,一起使用是指将概率模型信息例如应用于图像特征数据的算术解码。
在图17中,运动信息包括运动矢量。但是,本发明不限于运动估计和补偿的任何特定方式。因此,通常,运动信息不限于运动矢量。实际上,它可能包括仿射变换参数。除了运动矢量之外,运动信息还可以包括所指示的运动矢量的位置(在非规则运动场采样的情况下)。
图18是图17的更一般实施例的特定情况。具体地,在图18中,所述第二级是(解码器)神经网络的输出,即第0级。换句话说,参考帧取自解码处理的第0级,如图15中已经所示。需要说明的是,在这种情况下,第0级是前一图像的处理级(时刻t)。但是,在这个示例中,假设网络架构对于当前图像或图像特征数据(时刻t+1)的处理和对于先前图像或图像特征数据(时刻t)的处理没有改变。
在图18中,所述第一级(等于上述第三级)是K,即在流水线的第K级中计算(在编码端)并使用(在解码端)残差。但是,本发明并不限于此,所述第一级可以是解码端的神经网络的输入,特别是在与无损编码相关的实施例的情况下,如下面将更详细地描述。
图19示出了在流水线的级1(即所述第二级是解码流水线的级1)中获得参考图像(因此也是预测)的另一个示例。这对应于图16。用于计算和使用残差的所述第一级仍然是编码和解码流水线的级K,如上述图18所示。
图20示出了另一个示例。在图20中,用于获得参考帧的所述第二级是图16和图19中的级1。但是,用于计算和使用残差的所述第一级是编码和解码流水线的级(K–1)。换句话说,在编码端,在获得残差之后(在合并第一数据和第二数据之后),在将经处理的数据插入码流2050之前,可以由神经网络的一个或多个层2020处理经合并的数据。在这个示例性处理流水线中以及在图17至图19的示例中,预测(对应于第二数据)也可以由编码端的神经网络的一个或多个层2010处理。因此,在解码端,在组合级(K–1)中进一步处理的预测之前,码流中的数据可以由一个(在图20中为层K)或多个层2022处理。此外,预测可以由解码端的神经网络的一个或多个层2012处理。如上所述,第一数据和第二数据在组合之前的处理可以包括但不限于它们对公共大小(分辨率)的适应性。
上述示例示出了对称编码和解码流水线以及在编码和解码流水线中对应级的对称预测收集。需要说明的是,情况不一定如此。随着缩放和调整大小的可能性,非对称方案是可以设想的。
图15至图20描述了应用预测以获得残差或获得图像(特征)数据的特定示例性实施例。示例性地,在编码端,从输入到神经网络的图像(特征)数据中减去预测数据(第二数据)(并可能由一些层处理),以获得残差。减法是按元素进行的。类似地,在解码端,残差与预测按元素组合。这种方法在图21中示出。在图21中,按元素确定在预测块与原始块之间的差值,并包括到码流中。然后从解码端的码流中获得差异(在本发明中也被表示为残差或预测误差),并将其添加到预测块中,以获得重建块。该示例仅是示意性的,块可以直接表示图像数据或图像特征数据。
但是,在一些实施例中,原始块和预测块的直接组合和/或残差块和预测块的组合并不始终可以按块进行。例如,如上所述,预测、输入(原始数据)数据和残差可以具有不同的大小(分辨率)。因此,图22示出了编码端和解码端的广义组合。例如,在编码端,残差的获取可以包括原始数据和预测数据中的至少一个的上采样或下采样。类似地,在解码端,将残差应用于预测可以包括残差和/或预测的缩放/调整大小等。在一个示例中,输入(原始)数据与预测数据堆叠,因此通道数量是原始数据通道数量和预测数据通道数量的总和;这种组合数据由一个或多个卷积层(可以使用下采样或跨步卷积)进一步处理,结果是残差。在解码端,残差的应用以按下方式执行:残差与预测数据堆叠,然后由一个或多个卷积层处理(可以使用下采样或跨步卷积),这种处理的结果是重建数据(可以具有多于一个通道,因为它是潜在空间)。如果在编码端,原始数据和预测数据具有不同的大小(分辨率),则可以在堆叠通道之前应用缩放/调整大小。如果在解码端,残差和预测数据具有不同的大小(分辨率),则可以在堆叠通道之前应用缩放/调整大小。此外,在组合之前,可以使用几个卷积层来预处理预测和/或预测误差。通常,这样的预处理对于预测和预测误差可以是不同的。
在以下实施例中,提供了关于无损编码和解码中的应用的实施例。通常,第一数据可以在自动编码器的编码部分之后获得,并在算术编码之前进一步量化。在这种情况下,这种具有第二数据作为熵模型的实施例仍然可以用于在无损编码之前的有损编码。
因此,所述第一级是神经网络的输入。第一数据是经熵编码数据。第二数据是与第二级的特征数据相关的概率模型数据。例如,所述第二数据是用于第一数据的熵解码的概率模型数据。
在该示例性实现方式中,第二数据用于预测第一数据中符号的概率,这可以实质性地改进算术编码。技术效果相当于从信号中减去预测和编码差值(残差),例如接近零。如果通过算术编码而编码的符号是自动编码器的编码部分的经量化输出(这是有利的实用实施例中的一个),则实现有损编码。如果符号是原始图像样本(已经是整数,可以通过算术编码编码),则实现无损编码。
本实施例是参考图14描述的实施例的扩展。在图14中,概率模型基于第0级的特征数据确定,并应用于编码和解码的第0级(用于算术编码和算术解码)。但是,通常情况不一定非得如此。实际上,对应于概率模型信息的第二数据可以例如通过基于潜在空间的图像特征数据应用超先验子网获得,例如从大于0的级获得。
通常,在任何上述示例或实施例中,所述第一级和/或第二级的位置可以是可配置的。例如,第一级和/或第二级的位置在神经网络内可配置,编码端和/或解码端的处理方法包括根据基于一个或多个图像编码参数的收集条件配置第一级和/或第二级的位置。换句话说,用于基于收集条件选择收集位置的方法可以应用于所述第一和/或第二级。收集条件可以基于编码器和解码器都可用的参数(信息)。
或者或此外,收集条件可以取决于在编码端执行并向解码器指示的选择。例如,解码方法可以包括从码流解析指定所述第一级和/或所述第二级的级选择指示符。根据解析后的级选择指示符配置神经网络中第一级和第二级的位置。在编码端,生成级选择指示并将其插入码流中。如上所述,编码器可以基于一些优化来决定选择特定级,所述一些优化基于包括速率、失真、复杂度、时延、精度等成本函数。或者,可以应用其它方法,如丢失的信息量(例如上述FFT2分析)。
总之,本发明提供了一些实施例,其可以使基于神经网络的图像/视频编解码器或一般图像处理可动态配置,其中,在译码流水线中应用辅助信息的位置可以取决于条件。进一步或替代的改进可以来自这样的架构,其中,在参考帧的一些流水线级获得的辅助信息可以在当前帧的另一个流水线级使用。参考图17讨论了这种用于预测和残差辅助信息的方案的示例。例如,在参考帧侧从流水线的第i级获得的预测可以由后续的r NN模块进一步处理,并在当前帧的流水线的第(i+r)级内使用,用于计算残差。在这种情况下,计算由NN模块i+1、i+2、……、i+r处理的预测与由NN模块1、……、i+r处理的当前帧之间的残差。然后,残差由NN模块(i+r+1)、……、K进一步处理。第K NN模块的输出(在编码端)是瓶颈,并在码流中指示。在解码端,采用了相同的方案:预测由NN模块i+1、i+2、……、i+r处理;从码流获得的残差由模块K、……、(i+r+1)处理。然后,从预测和残差获得的组合信号由模块(i+r)、……、1处理。
如上所述,对于单级选择,在编码端,关于应用辅助信息的流水线内的级的决策可以通过多遍编码执行。在一个示例中,仅允许在一个位置应用辅助信息。在这种情况下,k=0、1、2、……、K的编码器尝试在流水线的第k位置应用辅助信息,并获得每个变量的失真和速率。然后,选择定义的速率/失真比的最佳变量。在另一个示例中,如果可以在流水线内的每个位置应用辅助信息,则每个长度为(K+1)的布尔矢量的编码器尝试在与该布尔矢量中的位置对应的位置应用辅助信息,因此尝试2K+1变量。
在可能选择两个或两个以上级的情况下,可以尝试i和r的所有组合。应满足以下条件:0≤i≤i+r≤K。为了避免尝试所有可能的位置来应用辅助信息,从而降低编码器的复杂度,可以使用启发式方法来代替穷举搜索。例如,可以使用上述频谱(例如使用FFT2)分析。
在图15至图20所示的示例性实现方式中,预测仅计算一次,残差仅应用一次。通常,译码(编码和/或解码)方案可以包括在不同级(例如,用于由不同的NN层处理)的多于一个预测获取/残差应用块。总之,在上述实施例中,辅助信息可以包括预测信号和/或残差信号。预测信号从先前译码帧的第i流水线位置获得,在当前帧处理期间,残差信号在第k流水线位置应用。在一些实施例中,i和k彼此不同。值i和k可以是预定的,例如在神经网络架构内是固定的或可在神经网络架构内配置。例如,值i和k取决于在编码端和解码端推导的条件。或者或此外,值i和k是基于从码流解析的语法元素确定的。
在一些实施例中,k等于i+r,其中,r大于或等于零。这样的示例在图17中的一般方案中示出。图20示例了i=1(i+r=K–1)的方案,其中,K是编码器流水线内的NN模块的数量。模块可以表示为块,并包括一个或多个层。在一种可能的实现方式中,i等于0,即在信号域(流水线内的第0位置)中执行预测。在其它一些可能的实现方式中,i+r等于K,其中,K是编码器流水线内的NN模块的数量。残差译码在瓶颈处执行,即在流水线内的第K位置。图18示出了i=0(i+r=K)的方案。图19示出了i=1(i+r=K)的方案。
在上述任何示例中,预测信号可以基于来自一个或多个先前译码帧的第p流水线位置的信息和另外指示的信息计算。例如,另外指示的信息包括运动信息。例如,残差信号由具有两个输入的模块计算:预测信号和流水线内第k NN模块的输出。在一些实施例中,残差信号被计算为预测信号与流水线内的第k NN模块的输出之间的差。此外,残差信号的应用由具有以下两个输入的模块执行:残差信号和预测信号。最后,通过将残差信号添加到预测信号中来执行残差信号的应用。
图23至图25总结了处理流水线的一些可能架构。
图23示出了原始图像、预测和残差位于信号域中的示例,即处于编码神经网络处理的第0级。将原始图像和预测组合为获得的残差。用包括超先验的VAE编码残差。结果是码流,包括经译码残差和可能的一些边信息。解码端是码流的输入端。解码器在这里是具有超先验的VAE,用于输出重建残差。重建残差可以与预测信号组合以获得重建图像。重建图像可以进一步与原始图像进行比较,例如通过应用距离测量,例如客观或感知质量度量。
图24示出了原始图像、预测和残差位于潜在空间域中的示例,即在编码神经网络处理的第1级中。在这种情况下,原始图像和预测首先由VAE编码器的一个或多个层处理,然后组合以获得潜在空间域中的残差。这些由超先验编码器编码,并由此产生码流。码流可以由超先验解码器解码以获得重建的潜在空间残差。重建的潜在空间残差在潜在空间域中与预测(也在潜在空间域中)组合,从而获得被输入到VAE解码器以获得重建图像的重建图像特征张量。重建图像可以进一步与原始图像进行比较,例如通过应用距离测量,例如客观或感知质量度量。
图25示出了由VAE编码器编码示例性原始图像,然后通过将经编码图像与从前一帧的潜在空间获得的预测相减(或组合)来获得潜在空间中的残差。残差用超先验编码器编码到码流中。码流可以由超先验解码器解码,从而获得潜在空间中的重建残差。这些与从前一帧的潜在空间获得的预测组合,从而获得潜在空间中的重建图像特征张量。通过用VAE解码器对获得的重建图像特征张量进行变换,得到重建图像。重建图像可以进一步与原始图像进行比较,例如通过应用距离测量,例如客观或感知质量度量。
这三种架构中的任何一种都可以是采用如上所述的实施例和示例性实现方式的基础。这些架构包括VAE编码器和解码器。但是,通常,本发明并不限于具有超先验的VAE。也可以应用算术编码的符号概率估计的其它方法。例如,可以使用基于上下文的方法。在这种情况下,关于先前解码样本的信息额外由符号概率估计NN使用。图13中描述了使用上下文方法的概率估计NN的示例。
一些实施例的概述
本申请还提供了用于使用具有两个或两个以上层的神经网络处理图像数据或图像特征数据的方法和装置。本发明可应用于基于人工智能(artificial intelligence,AI)的视频或图像压缩技术领域,尤其应用于基于神经网络的视频压缩技术领域。根据一些实施例,在包括神经网络处理的处理期间组合两种数据。这两种数据是由网络从不同的处理级获得的。一些优点可以包括神经网络架构具有更大的可适性和更灵活的设计,这可以进一步提高编码/解码性能。
根据第一方面,本发明涉及一种用于使用包括两个或两个以上级的神经网络处理码流中的一个或多个图像的特征数据的方法,所述两个或两个以上级包括第一级和第二级。方法包括以下步骤:基于码流获得第一数据,使用神经网络处理第一数据,输出处理的结果。处理包括:从神经网络的第二级获得第二数据,所述第二数据基于先前由神经网络处理的数据;将第一数据与第二数据一起使用以生成对神经网络的第一级的输入,其中,在神经网络的特征数据处理中,第一级在第二级之前。
获取在一个级中一起使用的两种数据,其中,在另一个级中执行至少一种数据的获取进一步增加了神经网络架构的灵活性,并可以通过降低复杂度或时延或速率提高效率,或实现更高的质量。
在一种可能的实现方式中,第一数据在神经网络的第三级中获得,该第三级在神经网络的特征数据处理中的第一级和第二级之前或等于第一级。
从不同级获取第一数据和第二数据可以进一步提高效率。
在一种可能的实现方式中,第一数据表示预测误差,第二数据表示预测。
本发明易于适用于预测误差和预测信号。通过以不同于组合预测误差和预测信号的分辨率的分辨率获得它们中的至少一个,可以降低复杂度、缩短码流长度和减少时延。此外,预测是辅助数据,可以提高使用神经网络的解码(和编码)性能,就像在图像译码中一样,在空间和时间域具有高度的相关性。此外,本领域有许多已知的方法,这些方法对于提供预测可能非常高效。
在一种可能的实现方式中,预测通过以下方式获得:获得参考特征数据,所述参考特征数据是由神经网络在第二级输出的特征数据;基于码流获取预测信息,所述预测信息包括与参考特征数据相关的运动信息或空间信息;基于参考特征数据和预测信息生成预测。
该实现方式是借助可能有助于进一步提高预测质量的附加预测信息来获得预测的示例。
在一种可能的实现方式中,预测误差是通过用神经网络处理当前图像而获得的。预测信息是运动信息,参考特征数据是通过神经网络对表示按解码顺序在当前图像之前的图像的图像数据进行处理生成的。
时间预测通常比空间预测或仅无损编码更高效。因此,上述神经网络架构可以进一步提高解码(以及编码)的性能。
在一种可能的实现方式中,将第一数据与第二数据一起使用包括将预测或经缩放预测与预测误差或经缩放预测误差按元素相加。
这种组合可以与处理图像或图像特征数据、预测和残差特别相关。
在一种可能的实现方式中,运动信息包括运动矢量。
运动矢量是用于指示运动信息的高效方式,并且存在许多可用的方法用于它们的获取和指示,这些方法可以很容易地应用于本文描述的实施例。
在一种可能的实现方式中,所述第二级是神经网络的输出。
神经网络的输出是重建图像(在解码端)。从此级获取第二数据提供了完整的分辨率,这可以提高质量。
在一种可能的实现方式中,第一级是神经网络的输入。
解码端神经网络的输入是经编码码流。本发明的实施例可以有效地应用于瓶颈特征数据的解码。
在一种可能的实现方式中,第一级为神经网络的输入;第一数据为经熵编码数据;第二级为不同于神经网络的输出级的级;第二数据为与第二级的特征数据相关的概率模型数据。例如,第二数据是用于第一数据的熵解码的概率模型数据。
概率模型数据的收集可以进一步减小码流大小。从不同级获取概率模型数据可以提供灵活的架构,以便在性能与复杂度之间更好地平衡。
在一种可能的实现方式中,第一级和/或第二级的位置在神经网络内可配置,方法包括根据基于一个或多个图像编码参数的收集条件配置第一级和/或第二级的位置。
在神经网络中配置第一级和第二级的位置的可能性提供了额外的灵活性。它可以实现动态神经网络架构的变化。这种灵活性可以基于收集条件实现更好的适应性,并实现更高效的编码和/或解码。
收集条件是为了将第二数据和/或第一数据输入到特定处理级而要满足的条件或前提条件。收集条件可以包括将一些图像特性或图像特征特性与阈值进行比较,以确定是否收集特定位置的辅助信息。图像特性或图像特征特性可以为编码器和解码器已知,从而不需要额外的指示。或者或另外,收集条件可以由编码端配置,方式是通过设置是否为预配置位置收集辅助信息的指示符。指示符可以在解码端可用的码流中提供。
具体地,方法还包括从码流解析指定所述第一级和/或所述第二级的级选择指示符,其中,第一级和第二级在神经网络中的位置根据解析后的级选择指示符配置。
根据第二方面,本发明涉及一种使用包括两个或两个以上级的神经网络处理至少一个图像以生成码流的方法,所述两个或两个以上级包括第一级和第二级。该方法包括使用神经网络处理至少一个图像。处理包括:基于至少一个图像获得第一数据;在处理的所述第二级获得第二数据,所述第二数据基于先前由神经网络处理的数据;将第一数据与第二数据一起使用以在神经网络的所述第一级生成输入,其中,在神经网络的特征数据处理中,第一级在第二级之前。该方法还包括将通过处理获得的特征数据插入码流中。
本发明的编码部分可以提供与上述解码部分相同的优点。编码器准备码流并将其提供给解码器,以便解码器可以以期望的质量和期望的应用解码或重建数据。
为了避免冗余,为对应的解码处理要求提供的优点以类似的方式应用于编码。
在一种可能的实现方式中,第一数据在神经网络的第三级中获得,该第三级在神经网络的特征数据处理中的所述第一级和所述第二级之前或等于所述第一级。
在一种可能的实现方式中,第一数据表示预测误差,第二数据表示预测。
在一种可能的实现方式中,所述预测通过以下方式获得:获得参考特征数据,所述参考特征数据是神经网络在所述第二级输出的特征数据;基于至少一个图像,获取包括与参考特征数据相关的运动信息或空间信息的预测信息;基于参考特征数据和预测信息生成预测;将获得的预测信息插入码流中。
在一种可能的实现方式中,预测误差是通过神经网络对当前图像进行处理得到的;预测信息是运动信息,参考特征数据是通过神经网络对表示按解码顺序在当前图像之前的图像的图像数据进行处理生成的。
在一种可能的实现方式中,将第一数据与第二数据一起使用包括将第一数据或经缩放第一数据与预测或经缩放预测按元素相减。
在一种可能的实现方式中,运动信息包括运动矢量。
在一种可能的实现方式中,所述第二级是表示重建图像数据的解码神经网络的输出。
在一种可能的实现方式中,所述第一级是神经网络的输出。
在一种可能的实现方式中,第一级是神经网络的输出;第一数据是经处理的待熵编码数据;第二级是不同于神经网络的输入级的级;第二数据是与第二级的特征数据相关的概率模型数据。
在一种可能的实现方式中,第二数据是所述第一数据的熵编码的概率模型数据。
在一种可能的实现方式中,所述第一级和/或所述第二级的位置可在神经网络内可配置,方法包括根据基于一个或多个图像编码参数的收集条件配置所述第一级和/或所述第二级的位置。
在一种可能的实现方式中,所述方法还包括确定指定所述第一级和/或所述第二级的级选择指示符并将其包括到码流中,并且第一级和第二级在神经网络中的位置根据确定的级选择指示符配置。
在一种可能的实现方式中,所述级选择指示符的确定基于根据包括速率、失真、时延、精度和复杂度中的一个或多个的成本函数执行的优化过程。
基于成本函数确定一个或多个级可以提高神经网络的适应性和结果对期望要求的适应性。因此,这种优化可以提高性能。结合指示如此获得的级位置,进一步提高了灵活性。
根据第三方面,本发明涉及一种用于使用包括两个或两个以上级的神经网络处理码流中的一个或多个图像的特征数据的装置,所述两个或两个以上级包括第一级和第二级。所述装置包括处理电路。所述处理电路用于:基于码流获得第一数据,使用神经网络处理第一数据,输出处理的结果。处理包括:从神经网络的第二级获得第二数据,所述第二数据基于先前由神经网络处理的数据;将第一数据与第二数据一起使用以生成对神经网络的第一级的输入,其中,在神经网络的特征数据处理中,第一级在第二级之前。
为了本发明的有利效果,参考第一方面的描述。此处不再赘述。解码装置具有实现第一方面的方法示例中的动作的功能。所述功能可以通过硬件实现,也可以通过硬件执行对应软件实现。所述硬件或软件包括与上述功能相对应的一个或多个模块。在一种可能的实现方式中,解码装置包括:码流解码模块,用于基于码流获得第一数据;神经网络模块,用于执行上述处理和输出。这些模块可以执行第一方面的方法示例中的对应功能。具体操作参考方法示例中的详细说明。此处不再赘述。
根据第四方面,本发明涉及一种用于使用包括两个或两个以上级的神经网络处理至少一个图像以生成码流的装置,所述两个或两个以上级包括第一级和第二级。所述装置包括处理电路。所述处理电路用于使用神经网络处理至少一个图像。处理包括:基于至少一个图像获得第一数据;在处理的所述第二级获得第二数据,所述第二数据基于先前由神经网络处理的数据;将第一数据与第二数据一起使用以在神经网络的所述第一级生成输入,其中,在神经网络的特征数据处理中,第一级在第二级之前。该方法还包括将通过处理获得的特征数据包括到码流中。
对于本发明的有利效果,参考第二方面的描述。此处不再赘述。编码装置具有实现第二方面的方法示例中的动作的功能。所述功能可以通过硬件实现,也可以通过硬件执行对应软件实现。所述硬件或软件包括与上述功能相对应的一个或多个模块。在一种可能的实现方式中,所述编码装置包括:神经网络模块,用于执行上述处理;码流输出模块,用于将由所述神经网络处理所述图像获得的数据插入所述码流中并输出所述码流。这些模块可以执行第二方面的方法示例中的对应功能。具体操作参考方法示例中的详细说明。此处不再赘述。
本发明的第一方面提供的方法可以由本发明的第三方面提供的装置执行。根据本发明的第一方面的方法的其它特征和实现方式直接取决于根据本发明的第三方面的装置的功能和实现方式。
本发明的第二方面提供的方法可以由本发明的第四方面提供的装置执行。根据本发明的第二方面的方法的其它特征和实现方式直接取决于根据本发明的第四方面的装置的功能和实现方式。
根据第五方面,本发明涉及一种视频流解码装置,包括处理器和存储器。所述存储器存储指令,所述指令使所述处理器执行第一方面所述的方法。
根据第六方面,本发明涉及一种视频流编码装置,包括处理器和存储器。所述存储器存储指令,所述指令使所述处理器执行第二方面所述的方法。
根据第七方面,提供一种存储有指令的计算机可读存储介质,所述指令在执行时使一个或多个处理器编码视频数据。所述指令使所述一个或多个处理器执行所述第一方面或第二方面或所述第一方面或第二方面的任一可能实施例提供的方法。
根据第八方面,本发明涉及一种计算机程序产品,包括程序代码,所述程序代码用于在计算机中执行时执行所述第一方面或第二方面或所述第一方面或第二方面任意可能的实施例提供的方法。
在软件和硬件中实现
在以下实施例中,基于图26至图27描述了视频译码系统10、视频编码器20和视频解码器30。
图26是可以利用本申请的技术的示例性译码系统10(例如,视频译码系统10,或简称为译码系统10)的示意性框图。视频译码系统10中的视频编码器20(或简称为编码器20)和视频解码器30(或简称为解码器30)为可以用于根据本申请中描述的各种示例执行各种技术的设备示例。视频编码器20和视频解码器30可以使用(包括或是)如上述实施例和示例中描述的神经网络来实现。系统10的其余部分可以由但不是必须由神经网络实现。
如图26所示,译码系统10包括源设备12,例如,所述源设备12用于将经编码图像数据21提供到目的地设备14以对经编码图像数据13进行解码。
源设备12包括编码器20,并且可以另外(即可选地)包括图像源16、预处理器(或预处理单元)18(例如图像预处理器18)和通信接口或通信单元22。
图像源16可以包括或可以是任何类型的图像捕获设备,例如用于捕获真实世界图像的相机;和/或任何类型的图像生成设备,例如用于生成计算机动画图像的计算机图形处理器;或者任何类型的用于获取和/或提供真实世界图像、计算机生成图像(例如屏幕内容、虚拟现实(virtual reality,VR)图像)和/或其任何组合(例如,增强现实(augmentedreality,AR)图像)的其它设备。图像源可以为任何类型的存储任一上述图像的存储器(memory/storage)。
为了区分预处理器18和预处理单元18执行的处理,图像或图像数据17还可以称为原始图像或原始图像数据17。
预处理器18用于接收(原始)图像数据17,并对图像数据17执行预处理,以获得经预处理的图像19或经预处理的图像数据19。预处理器18执行的预处理可以包括修剪(trimming)、颜色格式转换(例如从RGB转换为YCbCr)、调色或去噪等。可以理解的是,预处理单元18可以是可选组件。可以理解的是,预处理单元18是可选组件。
视频编码器20用于接收经预处理的图像数据19并提供经编码图像数据21(进一步详细描述如上文图1至图25所述)。
源设备12中的通信接口22可以用于接收经编码图像数据21,并且通过通信通道13将经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据)发送给另一个设备,例如目的地设备14或任何其它设备,以便进行存储或直接重建。
目的地设备14包括解码器30(例如视频解码器30),并且可以另外(即可选地)包括通信接口或通信单元28、后处理器32(或后处理单元32)和显示设备34。
目的地设备14中的通信接口28用于直接从源设备12或从存储设备(例如经编码图像数据存储设备)等任何其它源,接收经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据),并将经编码图像数据21提供给解码器30。
通信接口22和通信接口28可以用于通过源设备12与目的地设备14之间的直接通信链路(例如,直接有线或无线连接)、通过任何类型的网络(例如,有线网络或无线网络或其任何组合、任何类型的私网和公网或其任何类型的组合)发送或接收经编码图像数据21或经编码数据13。
例如,通信接口22可以用于将经编码图像数据21封装成合适的格式(例如数据包),和/或通过任何类型的传输编码或处理方式来处理经编码图像数据,以便通过通信链路或通信网络进行传输。
例如,与通信接口22对应的通信接口28可以用于接收传输数据,并通过任何类型的对应传输解码或处理和/或解封装方式来处理传输数据,得到经编码图像数据21。
通信接口22和通信接口28均可配置为图26中从源设备12指向目的地设备14的通信信道13的箭头所表示的单向通信接口,或者配置为双向通信接口,并且可以用于发送和接收消息等,以建立连接、确认并交换与通信链路和/或数据传输(例如经编码图像数据传输)相关的任何其它信息等。
视频解码器(或解码器)30用于接收经编码图像数据21并提供经解码图像数据31或经解码图像31(下面将基于图1至图25等进一步详细描述)。
目的地设备14中的后处理器32用于对经解码图像数据31(也称为重建图像数据)(例如经解码图像31)进行后处理,以获得经后处理图像数据33(例如经后处理图像33)。例如,由后处理单元32执行的后处理可以包括颜色格式转换(例如,从YCbCr转换为RGB)、调色、修剪或重采样,或任何其它处理,例如,用于提供经解码图像数据31以供显示设备34等显示。
目的地设备14中的显示设备34用于接收经后处理图像数据33,以便向用户或观看者等显示图像。显示设备34可以是或可以包括任何类型的用于表示重建图像的显示器,例如集成或外部显示器或显示屏。例如,显示器可以包括液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微型LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digital lightprocessor,DLP)、或任何类型的其它显示器。
译码系统10还包括训练引擎25。训练引擎25用于训练编码器20(特别是编码器20中的神经网络模块)或解码器30(特别是解码器30中的神经网络模块)处理输入图像、图像区域或图像块。需要说明的是,上述实施例和示例是针对处理图像(有时称为帧)的神经网络解释的。但是,本发明也适用于任何其它粒度:在编码和解码期间,全图像的部分(区域)可以作为图像处理。
需要说明的是,训练引擎不需要在本发明的系统中提供,因为基于神经网络的实施例可以采用经预训练的网络。
训练数据可以存储在数据库(未示出)中。训练引擎25基于训练数据进行训练,以获得目标模型(例如,目标模型可以是用于对象识别、对象分类、图像分割或图像编码和重建等的神经网络)。需要说明的是,本实施例对训练数据的来源不做限定。例如,可以从云端或其它地方获取训练数据进行模型训练。
通过训练引擎25训练获得的目标模型可以应用于译码系统10和40,例如应用于图26所示的源设备12(例如编码器20)或目的地设备14(例如解码器30)。训练引擎25可以通过在云上训练得到目标模型,译码系统10从云下载目标模型并使用目标模型。或者,训练引擎25可以通过在云上训练得到目标模型并使用目标模型,译码系统10直接从云获取处理结果。
尽管图26将源设备12和目的地设备14作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备12或对应功能以及目的地设备14或对应功能。在这些实施例中,源设备12或对应的功能以及目的地设备14或对应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
基于描述,技术人员显而易见的是,图26所示的源设备12和/或目的地设备14中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而不同。
编码器20(例如,视频编码器20)或解码器30(例如,视频解码器30)或编码器20和解码器30两者都可以通过图27所示的处理电路实现,例如一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specificintegratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件、视频译码专用处理器或其任意组合。编码器20可以由处理电路46实现,以体现结合编码器20论述的各种模块和/或本文描述的任何其它编码器系统或子系统。解码器30可以通过处理电路46实现,以体现结合解码器30描述的各种模块和/或本文中描述的任何其它解码器系统或子系统。处理电路可以用于执行下文论述的各种操作。如图29所示,如果所述技术部分地以软件形式实现,则设备可以将软件的指令存储在合适的非瞬时性计算机可读存储介质中,并且可以使用一个或多个处理器执行硬件中的指令,以执行本发明的技术。视频编码器20和视频解码器30中的任一个可作为组合编解码器(encoder/decoder,CODEC)的一部分集成在单个设备中,如图27所示。
源设备12和目的地设备14可以包括多种设备中的任一种,包括任何类型的手持或固定设备,例如,笔记本电脑或膝上型电脑、手机、智能手机、平板电脑(tablet/tabletcomputer)、相机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备(如内容服务服务器或内容分发服务器)、广播接收器设备、广播发送器设备等,并且可以不使用或使用任何类型的操作系统。在一些情况下,源设备12和目的地设备14可以配备用于无线通信。因此,源设备12和目的地设备14可以是无线通信设备。
在一些情况下,图26所示的视频译码系统10仅仅是示例,本申请的技术可适用于在编码设备与解码设备之间不一定包括任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它示例中,数据从本地存储器检索、通过网络流式传输,等等。视频编码设备可以编码数据并将经编码数据存储到存储器中,和/或视频解码设备可以从存储器检索数据并对数据进行解码。在一些示例中,编码和解码由相互不通信而是仅仅将数据编码到存储器和/或从存储器检索数据并对数据进行解码的设备执行。
图27是示例性实施例提供的包括编码器20和/或解码器30的视频译码系统40的示例的说明性图。视频译码系统40可以包括成像设备41、视频编码器20、视频解码器30(和/或处理单元46实现的视频编码器/解码器)、天线42、一个或多个处理器43、一个或多个存储器44,和/或显示设备45。
如图27所示,成像设备41、天线42、处理单元46、视频编码器20、视频解码器30、处理器43、存储器44和/或显示设备45可以相互通信。在不同的示例中,视频译码系统40可以仅包括视频编码器20或仅包括视频解码器30。
在一些示例中,天线42可以用于发送或接收视频数据的经编码码流。此外,在一些示例中,显示设备45可以用于呈现视频数据。处理电路46可以包括专用集成电路(application-specific integrated circuit,ASIC)逻辑、图形处理器、通用处理器等。视频译码系统40还可以包括可选的处理器43。可选的处理器43类似地可以包括专用定集成电路(application-specific integrated circuit,ASIC)逻辑、图形处理器、通用处理器等。此外,存储器44可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(static random access memory,SRAM)或动态随机存取存储器(dynamic randomaccessmemory,DRAM))或非易失性存储器(例如,闪存)。在非限制性示例中,存储器44可以通过高速缓存存储器实现。在其它示例中,逻辑电路47和/或处理电路46可以包括用于实现图像缓冲区的存储器(例如,高速缓存)。
在一些示例中,通过逻辑电路实现的视频编码器20可以包括图像缓冲区(例如由处理电路46或存储器44实现)和图形处理单元(例如由处理电路46实现)。该图形处理单元可以与图像缓冲区以通信方式耦合。该图形处理单元可以包括通过逻辑电路46实现的视频编码器20,以体现本文描述的各种功能模块。逻辑电路可以用于执行本说明书描述的各种操作。
在一些示例中,解码器30可以由逻辑电路46以类似的方式实现,以实现结合解码器30描述的各种模块和/或本说明书中描述的任何其它解码器系统或子系统。在一些示例中,通过使用逻辑电路实现的解码器30可以包括图像缓冲区(由处理电路44或存储器44实现)和图形处理单元(例如由处理电路46实现)。该图形处理单元可以与图像缓冲区以通信方式耦合。该图形处理单元可以包括通过逻辑电路46实现的视频编码器30,以体现本文中描述的各种模块。
在一些实施例中,天线42可以用于接收视频数据的经编码码流。如上所述,经编码码流可以包括本说明书中描述的与视频帧译码相关的数据、指示符、索引值、模式选择数据等,例如,与译码分割相关的数据(例如,变换系数或经量化变换系数、可选指示符(如所描述)和/或定义译码分割的数据)。视频译码系统40还可以包括耦合到天线42的解码器30,解码器30用于对经编码码流进行解码。显示设备45用于呈现视频帧。
应理解,在本申请的实施例中,针对结合编码器20描述的示例,解码器30可以用于执行逆过程。关于指示语法元素,解码器30可以用于接收和解析此类语法元素,并相应地解码相关视频数据。在一些示例中,编码器20可以将语法元素熵编码到经编码视频码流中。在此类示例中,视频解码器30可以解析此类语法元素并相应地解码相关的视频数据。
图28为本发明实施例提供的视频译码设备400的示意图。视频译码设备400适用于实现本文中描述的公开实施例。在一个实施例中,视频译码设备400可以是解码器(如图26的视频解码器30)或编码器(如图26的视频编码器20)。如上所述,当参考本文的图像(视频)编码器和解码器时,它不一定是为人类观看者提供包括重建的图像数据编码和解码的编码器和解码器。实际上,编码器可以提供码流,并且解码器可以解码图像数据或图像特征数据,以用于计算机视觉任务。
视频译码设备400包括用于接收数据的入端口410(或输入端口410)和接收单元(Rx)420;用于处理数据的处理器、逻辑单元或中央处理单元(central processing unit,CPU)430;用于发送数据的发送单元(Tx)440和出端口450(或输出端口450);用于存储数据的存储器460。视频译码设备400还可以包括与入端口410、接收单元420、发送单元440和出端口450耦合的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用于信号或电信号的出入。
处理器430通过硬件和软件来实现。处理器430可以实现为一个或多个CPU芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430可以与入端口410、接收单元420、发送单元440、出端口450和存储器460通信。处理器430包括译码模块470(例如,基于神经网络(neural network,NN)的译码模块470)。译码模块470实现上文所公开的实施例。例如,译码模块470执行、处理、准备或提供各种译码操作。因此,包括编码/解码模块470大大提高了视频译码设备400的功能,并影响视频译码设备400到不同状态的切换。或者,以存储在存储器460中并由处理器430执行的指令来实现译码模块470。
存储器460可以包括一个或多个磁盘、一个或多个磁带机以及一个或多个固态硬盘,并且可以用作溢出数据存储设备,以在选择程序来执行时存储这些程序以及存储在执行程序期间读取的指令和数据。存储器460可以是易失性和/或非易失性的,并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(staticrandom-access memory,SRAM)。
图29是示例性实施例提供的装置500的简化框图,该装置500可用作图26中的源设备12和目的地设备14中的任一个或两个。
装置500中的处理器502可以是中央处理单元。可选地,处理器502可以是现有的或今后将开发出的能够操作或处理信息的任何其它类型的设备或多个设备。尽管所公开的实现方式可以使用如图所示的处理器502等单个处理器来实施,但使用多于一个处理器可以提高速度和效率。
在一种实现方式中,装置500中的存储器504可以是只读存储器(read-onlymemory,ROM)设备或随机存取存储器(random access memory,RAM)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可包括操作系统508和应用程序510,应用程序510包括至少一个程序,这个程序使得处理器502执行本文所述方法。例如,应用程序510可以包括应用1至应用N,还包括执行本文描述的方法的视频译码应用。
装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器518可以是组合了显示器与触敏元件的触敏显示器,其中,该触敏元件能够用于感测触摸输入。显示器518可以通过总线512耦合到处理器502。
虽然装置500中的总线512在本文描述为单个总线,但是总线512可以包括多个总线。此外,辅助存储器514可以直接耦合到装置500中的其它组件或可以通过网络被访问,并且可以包括单个集成单元(例如一个存储卡)或多个单元(例如多个存储卡)。因此,装置500可以通过多种配置实现。
本申请的实施例涉及神经网络的应用。为了便于理解,下面首先解释本申请实施例中使用的一些名词或术语。名词或术语也用作本发明内容的一部分。
(1)神经网络
神经网络(neural network,NN)是一种机器学习模型。神经网络可以包括神经元。神经元可以是以xs和截距1作为输入的操作单元,其中,操作单元的输出可以如下:
其中,s=1、2、……,或n,n是大于1的自然数,Ws是xs的权重,b是神经元的偏置。f是神经元的激活函数,激活函数用于将非线性特征引入神经网络,以将神经元中的输入信号转换为输出信号。激活函数的输出信号可以用作下一个卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多单个神经元连接在一起形成的网络。具体地,神经元的输出可以是另一个神经元的输入。每个神经元的输入可以与前一层的局部接受域相关联以提取局部接受域的特征。局部接受域可以是包括几个神经元的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称为多层神经网络,可以理解为具有许多隐藏层的神经网络。这里的“许多”没有特殊的测量标准。DNN是基于不同层的位置划分的,DNN中的神经网络可以分为输入层、隐藏层和输出层三种类型。通常,第一层是输入层,最后一层是输出层,中间层是隐藏层。层是全连接的。具体地,第i层的任何神经元肯定与第(i+1)层的任何神经元连接。虽然DNN看起来很复杂,但实际上DNN在每一层的工作方面并不复杂,简单地表示为以下线性关系表达式:其中,/>是输入矢量,/>是输出矢量,/>是偏置矢量,W是权重矩阵(也称为系数),α()是激活函数。在每一层,输出矢量/>是通过对输入矢量/>执行这种简单的操作获得的。因为DNN中存在很多层,所以也存在很多系数W和偏置矢量/>DNN中这些参数的定义如下:以系数W为例。假设在三层DNN中,从第二层的第四神经元到第三层的第二神经元的线性系数定义为/>上标3表示系数W所在的层,下标对应于输出的第三层索引2和输入的第二层索引4。总之,从第(L-1)层的第k神经元到第L层的第j神经元的系数定义为/>需要说明的是,输入层没有参数W。在深度神经网络中,更多的隐藏层使网络更有能力描述真实世界中的复杂案例。理论上,参数数量越多的模型表示复杂度越高,“容量”越大,表明模型可以完成更复杂的学习任务。训练深度神经网络是学习权重矩阵的过程,训练的最终目标是获得训练后的深度神经网络所有层的权重矩阵(由多个层的矢量W组成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neural network,CNN)是一种具有卷积结构的深度神经网络,是一种深度学习架构。在深度学习架构中,多层学习是通过使用机器学习算法在不同的抽象级别执行的。作为深度学习架构,CNN是一个前馈人工神经网络。前馈人工神经网络中的神经元可以响应输入到神经元中的图像。卷积神经网络包括由卷积层和池化层组成的特征提取器。特征提取器可以被视为滤波器。卷积过程可以被认为是使用可训练的滤波器对输入图像或卷积特征平面(特征图)执行卷积。
卷积层是卷积神经网络中的神经元层,在该神经元层上对输入信号进行卷积处理。卷积层221可以包括多个卷积算子。卷积算子也被称为核。在图像处理中,卷积算子充当滤波器,从输入图像矩阵中提取特定信息。卷积算子本质上可以是权重矩阵,权重矩阵通常是预定义的。在对图像执行卷积运算的过程中,权重矩阵通常在输入图像上沿水平方向的一个像素(或两个像素,取决于步幅的值)的粒度级别处理像素,以从图像中提取特定特征。权重矩阵的大小应与图像的大小相关。需要说明的是,权重矩阵的深度维度与输入图像的深度维度相同。在卷积运算期间,权重矩阵延伸到输入图像的整个深度。因此,通过使用单个权重矩阵的卷积生成单个深度维度的卷积输出。但是,在大多数情况下,不使用单个权重矩阵,而是应用具有相同大小(行×列)的多个权重矩阵,即多个相同类型的矩阵。权重矩阵的输出被堆叠以形成卷积图像的深度维度。这里的维度可以理解为基于上述“多个”确定。不同的权重矩阵可用于从图像中提取不同的特征。例如,一个权重矩阵用于提取图像的边信息,另一个权重矩阵用于提取图像的特定颜色,另一个权重矩阵用于模糊图像中不必要的噪声。多个权重矩阵(行×列)的大小相同。从多个大小相同的权重矩阵中提取的特征图的大小也相同,然后将提取的多个大小相同的特征图组合以形成卷积运算的输出。这些权重矩阵中的权重值需要通过实际应用中的大规模训练获得。利用通过训练得到的权重值形成的每个权重矩阵可以用于从输入图像中提取信息,使卷积神经网络能够进行正确的预测。当卷积神经网络具有多个卷积层时,通常在初始卷积层提取较多的一般特征。一般特征也可以称为低级特征。随着卷积神经网络深度的增加,在后续卷积层提取的特征更加复杂,例如高级语义特征。具有高级语义的特征更适用于待解决的问题。
训练参数的数量往往需要减少。因此,通常需要在卷积层之后周期性地引入池化层。一个卷积层后面可以是一个池化层,或者多个卷积层后面可以是一个或多个池化层。在图像处理期间,池化层仅用于减小图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以对输入图像进行采样,从而得到大小较小的图像。平均池化算子可以用于计算特定范围内图像中的像素值,以生成平均值。平均值用作平均池化结果。最大池化算子可以用于选择特定范围内具有最大值的像素作为最大池化结果。此外,类似于卷积层的权重矩阵的大小需要与图像的大小相关,池化层的算子也需要与图像的大小相关。从池化层输出的经处理图像的大小可以小于输入到池化层的图像的大小。从池化层输出的图像中的每个像素表示输入到池化层的图像的对应子区域的平均值或最大值。
在卷积层/池化层执行处理后,卷积神经网络还没有准备好输出所需的输出信息,因为如上所述,在卷积层/池化层,只提取特征,并且由输入图像产生的参数减少。但是,为了生成最终的输出信息(所需的类信息或其它相关信息),卷积神经网络需要使用神经网络层生成一个所需类或一组所需类的输出。因此,卷积神经网络层可以包括多个隐藏层。多个隐藏层中包括的参数可以通过基于特定任务类型的相关训练数据进行预训练得到。例如,任务类型可以包括图像识别、图像分类和超分辨率图像重建。
可选地,在神经网络层,多个隐藏层之后是整个卷积神经网络的输出层。输出层具有类似于分类交叉熵的损失函数,损失函数具体用于计算预测误差。一旦整个卷积神经网络的前向传播完成,就开始后向传播,以更新上述每个层的权重值和偏差,减少卷积神经网络的损失,以及卷积神经网络通过输出层输出的结果与理想结果之间的误差。
(4)递归神经网络
递归神经网络(recurrent neural network,RNN)用于处理序列数据。在传统的神经网络模型中,从输入层到隐藏层,再到输出层,各层是全连接的,每个层的节点不连接。这种常见的神经网络解决了许多棘手的问题,但仍然无法解决许多其它问题。例如,如果要预测句子中的一个单词,通常需要使用前一个单词,因为句子中的相邻单词不是独立的。RNN被称为递归神经网络的原因是,序列的当前输出也与序列的先前输出相关。一个具体的表示形式是,网络记忆先前的信息,并将先前的信息应用于当前输出的计算。具体地,隐藏层的节点是连接的,隐藏层的输入不仅包括输入层的输出,还包括前一时刻隐藏层的输出。理论上,RNN可以处理任何长度的序列数据。RNN的训练与传统CNN或DNN的训练相同。也使用了误差后向传播算法,但区别是:如果RNN被扩展,则RNN的W等参数将被共享。这与上述示例中描述的传统神经网络不同。此外,在使用梯度下降算法期间,每个步骤的输出不仅取决于当前步骤中的网络,而且还取决于前面几个步骤中的网络状态。学习算法被称为通过时间的后向传播(backward propagation through time,BPTT)算法。
既然有了卷积神经网络,为什么需要递归神经网络?原因很简单。在卷积神经网络中,假设元素彼此独立,输入和输出也是独立的,如猫和狗。但是,在真实世界中,许多元素是相互关联的。例如,股票会随着时间的推移而变化。又例如,一个人说:我喜欢旅行,我最喜欢的地方是云南。如果有机会,我就去。在这里,人们应该知道这个人将去“云南”。原因是人们可以基于上下文的内容推断答案。但是,机器怎么能做到这一点呢?RNN出现了。RNN的目的是使机器能够像人类一样记忆。因此,RNN的输出需要依赖于当前输入信息和历史记忆信息。
(5)递归残差卷积神经网络(RR-CNN)
(5)人工神经网络(ANN)
(6)损失函数
在训练深度神经网络的过程中,由于期望深度神经网络的输出尽可能接近实际期望的预测值,因此可以比较当前网络的预测值和实际期望的目标值。然后基于预测值与目标值之间的差值更新神经网络每个层的权重矢量(当然,在第一次更新之前通常有初始化过程,具体地,深度神经网络的所有层都预配置参数)。例如,如果网络的预测值较大,则调整权重矢量以减小预测值,并持续进行调整,直到深度神经网络可以预测实际期望的目标值或可以预测非常接近实际期望的目标值的值。因此,“如何通过比较获得预测值与目标值之间的差值”需要预定义。这是损失函数或目标函数。损失函数和目标函数是用于测量预测值与目标值之间差值的重要等式。以损失函数为例。损失函数的输出值(损失)越高,差值越大。因此,深度神经网络的训练是一个尽可能减少损失的过程。
(7)后向传播算法
卷积神经网络可以根据误差后向传播(backward propagation,BP)算法对训练过程中初始超分辨率模型中的参数值进行校正,使得重建超分辨率模型的误差损失变小。具体地,输入信号被前传,直到输出端发生误差损失,并且基于后向传播误差损失信息更新初始超分辨率模型中的参数,以使误差损失收敛。后向传播算法是一种以误差损失为中心的后向传播运动,旨在获得最优超分辨率模型的参数,如权重矩阵。
(8)生成式对抗网络
生成式对抗网络(generative adversarial network,GAN)是一种深度学习模型。该模型至少包括两个模块:生成模型(生成模型)和判别模型(判别模型)。这两个模块相互学习,以生成更好的输出。生成模型和判别模型都可以是神经网络,具体可以是深度神经网络或卷积神经网络。GAN的基本原理如下:以生成图像的GAN为例,假设有两个网络:G(生成器)和D(判别器)。G是生成图像的网络。G接收随机噪声z,并使用噪声生成图像,其中,图像表示为G(z)。D是判别器网络,用于确定图像是否“真实”。D的输入参数为x,x表示图像,输出D(x)表示x是真实图像的概率。如果D(x)的值为1,则表示图像是100%真实的。如果D(x)的值为0,则表示图像不是真实的。在训练生成式对抗网络的过程中,生成网络G的目标是生成尽可能真实的图像来欺骗判别网络D,判别网络D的目标是尽可能区分G生成的图像与真实图像。这样,G与D之间存在动态的“游戏”过程,具体地,“生成式对抗网络”中的“对手”。最终的游戏结果是,在理想状态下,G可以生成难以与真实图像区分的图像G(z),D很难确定G生成的图像是否真实,具体地,D(G(z))=0.5。这样,得到了优秀的生成模型G,并可以用来生成图像。
本领域技术人员可以理解,结合本说明书所公开和描述的各种说明性逻辑块、模块和算法步骤所描述的功能可以通过硬件、软件、固件或其任何组合实现。如果通过软件实现,则结合说明性逻辑块、模块和步骤所描述的功能可以作为一个或多个指令或代码存储在计算机可读介质中或通过计算机可读介质发送,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,所述计算机可读存储介质对应于数据存储介质等有形介质,或可以包括便于将计算机程序从一个地方传输到另一个地方的任何通信介质(例如根据通信协议)。以这种方式,计算机可读介质通常可以对应于:(1)非瞬时性有形计算机可读存储介质,或(2)通信介质,例如信号或载波。数据存储介质可以是可以被一个或多个计算机或一个或多个处理器访问以检索用于实现本申请所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪存或可以用于存储指令或数据结构形式的所需程序代码并且可以由计算机访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是从网站、服务器或其它远程源通过同轴电缆、光纤电缆、双绞线、数字用户线(digital subscriber line,DSL)或无线技术(例如红外、无线电、微波等)发送的,则介质的定义包括同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外、无线电和微波等)。但是,应理解,计算机可读存储介质和数据存储介质实际上是指非瞬时性有形存储介质,不包括连接、载波、信号或其它瞬时性介质。本说明书中使用的磁盘和光盘包括压缩光盘(compact disc,CD)、激光光盘、光学盘、数字多功能光盘(digital versatiledisc,DVD)和蓝光光盘。磁盘通常以磁性方式再现数据,而光盘则使用激光以光学方式再现数据。上述项目的组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,例如一个或多个数字信号处理器(digitalsignalprocessor,DSP)、通用微处理器、专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其它等效集成或分立逻辑电路。因此,本说明书中使用的术语“处理器”可以是上述结构中的任何一种,也可以是适用于实现本说明书中描述的技术的任何其它结构。此外,在一些方面中,结合本说明书中描述的说明性逻辑块、模块和步骤描述的功能可以在用于编码和解码的专用硬件和/或软件模块中提供,或者可以到组合编解码器中。此外,这些技术可以在一个或多个电路或逻辑元件中完全实现。
本申请中的技术可以在各种装置或设备中实现,包括无线手持机、集成电路(integratedcircuit,IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元以强调用于执行所公开技术的装置的功能方面,但这些组件、模块或单元不一定通过不同的硬件单元实现。实际上,如上所述,各种单元可以与适当的软件和/或固件组合成编解码器硬件单元,或者可以由可互操作的硬件单元(包括如上所述的一个或多个处理器)提供。
以上所述仅是本申请的一些具体实现方式的示例,并非用于限定本申请的保护范围。本技术领域的技术人员在本申请公开的技术范围内,轻易想到的变化或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求书的保护范围为准。
总之,本发明提供了用于使用具有两个或两个以上层的神经网络处理图像数据或图像特征数据的方法和装置。本发明可应用于基于人工智能(artificial intelligence,AI)的视频或图像压缩技术领域,尤其应用于基于神经网络的视频压缩技术领域。根据一些实施例,所述神经网络内可以输入辅助信息进行处理的位置是可以基于收集条件选择的。所述收集条件可以评估是否满足了一些前提条件。一些优点可以包括:由于神经网络可配置性更加灵活,在速率和/或公开方面的性能得到提高。

Claims (38)

1.一种用于使用包括多个神经网络层的神经网络(900B)处理码流(940)中的图像特征数据的方法,其特征在于,所述方法包括:
从所述码流中获取所述图像特征数据;
使用所述神经网络(900B)处理所述图像特征数据,其中,对于所述神经网络内的一个或多个预配置位置中的每个预配置位置,所述处理包括:
-基于收集条件(910_1、910_2、910_3)确定是否收集(960_1、960_2、960_3)辅助数据(950),以在所述预配置位置由所述多个神经网络层中的一个神经网络层进行处理,
-在确定所述辅助数据待被收集(960_1、960_2、960_3)的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据。
2.根据权利要求1所述的方法,其特征在于,作为在所述确定中应用所述收集条件(910_1、910_2、910_3)的结果,所述一个或多个预配置位置中的单个预配置位置处的所述辅助数据(950)待被收集(960_1、960_2、960_3)。
3.根据权利要求1所述的方法,其特征在于,作为在所述确定中应用所述收集条件(910_1、910_2、910_3)的结果,所述预配置位置中的多于一个预配置位置处的所述辅助数据(950)待被收集(960_1、960_2、960_3)。
4.根据权利要求1至3中任一项所述的方法,其特征在于,
存在多于一个所述预配置位置;
所述辅助数据(950)的大小是可缩放的,以匹配在所述预配置位置中的两个或两个以上预配置位置由所述层处理的输入通道的尺寸;
作为在所述确定中应用所述收集条件(910_1、910_2、910_3)的结果,所述预配置位置中的单个预配置位置处的所述辅助数据
(i)被收集(960_1、960_2、960_3)或
(ii)被收集(960_1、960_2、960_3)并且被缩放。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述收集条件(910_1、910_2、910_3)基于从所述码流(940)获得的图像特性或图像特征数据特性。
6.根据权利要求5所述的方法,其特征在于,
所述图像特性或所述图像特征数据特性包括分辨率;
所述收集条件(910_1、910_2、910_3)包括所述分辨率与预配置分辨率阈值的比较。
7.根据权利要求5或6所述的方法,其特征在于,
所述图像是视频图像,所述图像特性包括图像类型;
所述收集条件(910_1、910_2、910_3)包括确定所述图像类型是时间预测的图像类型还是空间预测的图像类型。
8.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
从所述码流获得指定对于所述一个或多个预配置位置是否收集(960_1、960_2、960_3)所述辅助数据(950)的指示,
对于所述一个或多个预配置位置中的每个预配置位置的所述收集条件(910_1、910_2、910_3)如下:
-如果所述指示指定对于所述预配置位置所述辅助数据(950)待被收集,则所述确定是肯定的;
-如果所述指示指定对于所述预配置位置所述辅助数据(950)不被收集,则所述确定是否定的。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述辅助数据(950)提供关于由所述神经网络处理以生成输出的所述图像特征数据的信息。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述辅助数据包括预测数据,所述预测数据是所述图像的预测或在由所述神经网络的所述层中的一个或多个层进行处理之后图像特征数据的预测。
11.根据权利要求10所述的方法,其特征在于,所述辅助数据是所述预测数据(1110)和将与所述预测数据组合的补充数据(1120)的耦合对。
12.根据权利要求11所述的方法,其特征在于,所述预测数据和所述补充数据具有由所述神经网络中相互不同位置的层处理的数据的尺寸。
13.根据权利要求1至9中任一项所述的方法,其特征在于,
所述神经网络(900B)包括用于使用至少一个层进行无损解码的子网(1308);
所述辅助数据(1350)被输入(1310)到所述子网中用于无损解码。
14.根据权利要求1至13中任一项所述的方法,其特征在于,所述神经网络(900B)被训练以执行以下各项中的至少一项:静止图像解码、视频图像解码、静止图像滤波、视频图像滤波和包括对象检测、对象识别或对象分类的机器视觉处理。
15.根据权利要求1至14中任一项所述的方法,其特征在于,所述方法是针对包括第一辅助数据(950)和第二辅助数据(1350)的多个辅助数据(950、1350)中的每个辅助数据执行的,
其中,所述第一辅助数据(950)与第一组一个或多个预配置位置相关联,所述第二辅助数据(1350)与第二组一个或多个预配置位置相关联。
16.根据权利要求15所述的方法,其特征在于,所述第一组一个或多个预配置位置和所述第二组一个或多个预配置位置共享至少一个预配置位置。
17.根据权利要求1至16中任一项所述的方法,其特征在于,
所述神经网络(900B)被训练以执行视频图像的处理;
所述确定是否收集辅助数据以在所述预配置位置由层进行处理的操作是针对每个预定数量的视频图像执行的,其中,所述预定数量的视频图像是一个或多个。
18.一种用于使用包括多个神经网络层的神经网络(900A)处理图像(902)以生成码流(940)的方法,其特征在于,所述方法包括:
使用所述神经网络(900A)处理所述图像,其中,所述处理包括对于所述神经网络内的一个或多个预配置位置中的每个预配置位置:
-基于收集条件(910_1、910_2、910_3)确定是否收集(920_1、920_2、920_3)辅助数据(950),以在所述预配置位置由层进行处理,
-在确定所述辅助数据(950)待被收集(920_1、920_2、920_3)的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据(950);
将由所述神经网络(900A)处理所述图像获得的数据插入所述码流(940)中。
19.根据权利要求18所述的方法,其特征在于,作为在所述确定中应用所述收集条件(910_1、910_2、910_3)的结果,所述一个或多个预配置位置中的单个预配置位置处的所述辅助数据(950)待被收集(920_1、920_2、920_3)。
20.根据权利要求18所述的方法,其特征在于,作为在所述确定中应用所述收集条件(910_1、910_2、910_3)的结果,所述预配置位置中的多于一个预配置位置处的所述辅助数据待被收集(920_1、920_2、920_3)。
21.根据权利要求18至20中任一项所述的方法,其特征在于,
存在多于一个所述预配置位置;
所述辅助数据的大小是可缩放的,以匹配在所述预配置位置中的两个或两个以上预配置位置由所述层处理的输入通道的尺寸;
作为在所述确定中应用所述收集条件(910_1、910_2、910_3)的结果,所述辅助数据(950)针对所述预配置位置中的单个预配置位置
(i)被收集(920_1、920_2、920_3)或
(ii)被收集(920_1、920_2、920_3)并且被缩放。
22.根据权利要求18至21中任一项所述的方法,其特征在于,所述收集条件(910_1、910_2、910_3)基于包括到所述码流(940)中的图像特性或图像特征数据特性。
23.根据权利要求22所述的方法,其特征在于,
所述图像特性或所述图像特征数据特性包括分辨率;
所述收集条件(910_1、910_2、910_3)包括所述分辨率与预配置分辨率阈值的比较。
24.根据权利要求22或23所述的方法,其特征在于,
所述图像是视频图像,所述图像特性包括图像类型;
所述收集条件(910_1、910_2、910_3)包括确定所述图像类型是时间预测的图像类型还是空间预测的图像类型。
25.根据权利要求18至21中任一项所述的方法,其特征在于,还包括:
生成指定对于所述一个或多个预配置位置是否收集所述辅助数据(950)的指示,
将所述指示包括到所述码流(940)中。
26.根据权利要求25所述的方法,其特征在于,还包括基于包括速率、失真、精度或复杂度中的至少一个的成本函数的优化,为所述一个或多个预配置位置选择是否收集(920_1、920_2、920_3)所述辅助数据(950)的步骤。
27.根据权利要求18至26中任一项所述的方法,其特征在于,所述辅助数据(950)提供关于由所述神经网络(900A)处理以生成输出的所述图像特征数据的信息。
28.根据权利要求18至27中任一项所述的方法,其特征在于,所述辅助数据(950)包括预测数据(1110),所述预测数据(1110)是所述图像的预测或在由所述神经网络的所述层中的一个或多个层进行处理之后图像特征数据的预测。
29.根据权利要求28所述的方法,其特征在于,所述辅助数据是所述预测数据(1110)和将与所述预测数据组合的补充数据(1120)的耦合对。
30.根据权利要求29所述的方法,其特征在于,所述预测数据和所述补充数据具有由所述神经网络中相互不同位置的层处理的数据的尺寸。
31.根据权利要求18至27中任一项所述的方法,其特征在于,
所述神经网络(900A)包括用于使用至少一个层进行无损解码的子网(1308);
所述辅助数据(1350)被输入到所述子网(1308)中用于无损解码。
32.根据权利要求18至31中任一项所述的方法,其特征在于,所述神经网络(900A)被训练以执行以下各项中的至少一项:静止图像编码、视频图像编码、静止图像滤波、视频图像滤波和包括对象检测、对象识别或对象分类的机器视觉处理。
33.根据权利要求18至32中任一项所述的方法,其特征在于,所述方法是针对包括第一辅助数据(950)和第二辅助数据(1350)的多个辅助数据中的每个辅助数据执行的,
其中,所述第一辅助数据(950)与第一组一个或多个预配置位置相关联,所述第二辅助数据(1350)与第二组一个或多个预配置位置相关联。
34.根据权利要求33所述的方法,其特征在于,所述第一组一个或多个预配置位置和所述第二组一个或多个预配置位置共享至少一个预配置位置。
35.根据权利要求18至34中任一项所述的方法,其特征在于,
所述神经网络(900A)被训练以执行视频图像(902)的处理;
所述确定是否收集(920_1、920_2、920_3)辅助数据(950)以在所述预配置位置由层进行处理的操作是针对每个预定数量的视频图像(902)执行的,其中,所述预定数量的视频图像是一个或多个。
36.一种计算机程序(510),其特征在于,存储在计算机可读非瞬时性介质(504)上并包括代码指令,所述代码指令当在一个或多个处理器(502)上执行时,使所述一个或多个处理器(502)执行根据权利要求1至35中任一项所述的方法。
37.一种用于使用包括多个神经网络层的神经网络(900B)处理码流(940)中的图像特征数据的装置(400),其特征在于,所述装置(400)包括:
处理电路(430),用于:
从所述码流(940)中获取所述图像特征数据;
使用所述神经网络(900B、470)处理所述图像特征数据,其中,对于所述神经网络(900B、470)内的一个或多个预配置位置中的每个预配置位置,所述处理包括:
-基于收集条件(910_1、910_2、910_3)确定是否收集(960_1、960_2、960_3)辅助数据(950),以在所述预配置位置由所述多个神经网络层中的一个神经网络层进行处理,
-在确定所述辅助数据(950)待被收集(960_1、960_2、960_3)的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据(950)。
38.一种用于使用包括多个神经网络层的神经网络(900A)处理图像(902)以生成码流(940)的装置,其特征在于,所述装置包括:
处理电路,用于:
使用所述神经网络处理所述图像,其中,所述处理包括对于所述神经网络内的一个或多个预配置位置中的每个预配置位置:
-基于收集条件(910_1、910_2、910_3)确定是否收集(920_1、920_2、920_3)辅助数据(950),以在所述预配置位置由层进行处理,
-在确定所述辅助数据(950)待被收集(920_1、920_2、920_3)的情况下,所述在所述预配置位置使用所述层进行处理是基于所述辅助数据(950);
将由所述神经网络处理所述图像(902)获得的数据插入所述码流(940)中。
CN202180096580.7A 2021-04-01 2021-04-01 用于输入图像数据处理神经网络的辅助信息的可配置位置 Pending CN117441333A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2021/000136 WO2022211657A1 (en) 2021-04-01 2021-04-01 Configurable positions for auxiliary information input into a picture data processing neural network

Publications (1)

Publication Number Publication Date
CN117441333A true CN117441333A (zh) 2024-01-23

Family

ID=75954234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180096580.7A Pending CN117441333A (zh) 2021-04-01 2021-04-01 用于输入图像数据处理神经网络的辅助信息的可配置位置

Country Status (6)

Country Link
US (1) US20240037802A1 (zh)
EP (1) EP4278603A1 (zh)
JP (1) JP2024513693A (zh)
CN (1) CN117441333A (zh)
BR (1) BR112023020099A2 (zh)
WO (1) WO2022211657A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230186435A1 (en) * 2021-12-14 2023-06-15 Netflix, Inc. Techniques for component-based image preprocessing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7217288B2 (ja) * 2018-03-29 2023-02-02 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ブロック単位の画像符号化のためのイントラ予測モードの概念

Also Published As

Publication number Publication date
EP4278603A1 (en) 2023-11-22
US20240037802A1 (en) 2024-02-01
BR112023020099A2 (pt) 2023-11-14
WO2022211657A1 (en) 2022-10-06
JP2024513693A (ja) 2024-03-27
WO2022211657A9 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
CN114339262B (zh) 熵编/解码方法及装置
US20230209096A1 (en) Loop filtering method and apparatus
WO2022063265A1 (zh) 帧间预测方法及装置
CN114125446A (zh) 图像编码方法、解码方法和装置
US20240161488A1 (en) Independent positioning of auxiliary information in neural network based picture processing
US20240037802A1 (en) Configurable positions for auxiliary information input into a picture data processing neural network
CN115442609A (zh) 特征数据编解码方法和装置
CN115604485A (zh) 视频图像的解码方法及装置
CN114915783A (zh) 编码方法和装置
US20230388490A1 (en) Encoding method, decoding method, and device
WO2023193629A1 (zh) 区域增强层的编解码方法和装置
TWI826160B (zh) 圖像編解碼方法和裝置
WO2023020320A1 (zh) 熵编解码方法和装置
WO2022063267A1 (zh) 帧内预测方法及装置
WO2023172153A1 (en) Method of video coding by multi-modal processing
CN115118972A (zh) 视频图像的编解码方法及相关设备
CN114979711A (zh) 音视频或图像分层压缩方法和装置
TWI834087B (zh) 用於從位元流重建圖像及用於將圖像編碼到位元流中的方法及裝置、電腦程式產品
WO2023165487A1 (zh) 特征域光流确定方法及相关设备
CN116797674A (zh) 图像编解码方法和装置
WO2023091040A1 (en) Generalized difference coder for residual coding in video compression
WO2024002496A1 (en) Parallel processing of image regions with neural networks – decoding, post filtering, and rdoq
CN115604486A (zh) 视频图像的编解码方法及装置
WO2024002497A1 (en) Parallel processing of image regions with neural networks – decoding, post filtering, and rdoq
TW202416712A (zh) 使用神經網路進行圖像區域的並行處理-解碼、後濾波和rdoq

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