CN117980914A - 用于以有损方式对图像或视频进行编码、传输和解码的方法及数据处理系统 - Google Patents

用于以有损方式对图像或视频进行编码、传输和解码的方法及数据处理系统 Download PDF

Info

Publication number
CN117980914A
CN117980914A CN202280062965.6A CN202280062965A CN117980914A CN 117980914 A CN117980914 A CN 117980914A CN 202280062965 A CN202280062965 A CN 202280062965A CN 117980914 A CN117980914 A CN 117980914A
Authority
CN
China
Prior art keywords
neural network
potential
decoding
encoding
input image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280062965.6A
Other languages
English (en)
Inventor
克里斯·芬利
乔纳森·雷纳
徐阳
C·贝森布鲁赫
阿尔萨兰·扎法尔
V·科什金纳
亚历山大·里奇
A·穆诺兹
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.)
Di Po Rende Technology
Original Assignee
Di Po Rende Technology
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 Di Po Rende Technology filed Critical Di Po Rende Technology
Publication of CN117980914A publication Critical patent/CN117980914A/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/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic 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/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
    • 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/17Methods 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 an image region, e.g. an object
    • 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/186Methods 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 colour or a chrominance component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值,其中,在量化过程中使用的仓的尺寸是基于输入图像的;将经量化的潜值传输到第二计算机系统;使用第二经训练的神经网络对经量化的潜值进行解码,以产生输出图像,其中,输出图像是输入图像的近似。

Description

用于以有损方式对图像或视频进行编码、传输和解码的方法 及数据处理系统
本发明涉及一种用于以有损方式对图像或视频进行编码、传输和解码的方法及系统,一种用于以有损方式对图像或视频进行编码和传输的方法、设备、计算机程序和计算机可读存储介质,以及一种用于以有损方式对图像或视频进行接收和解码的方法、设备、计算机程序和计算机可读存储介质。
通信网络用户对图像和视频内容的需求日益增长。对于所观看图像的数量以及视频的播放时间两者,需求都日益增长;对更高分辨率内容的需求也日益增长。这使得对通信网络的需求日益增长,其能耗由于传输更大量数据量而增加。
为了减少这些问题的影响,对图像和视频内容进行压缩以便通过网络传输。图像和视频内容的压缩可以是无损压缩或有损压缩。在无损压缩中,对图像或视频进行压缩,使得在解压缩时可以复原内容中的所有原始信息。然而,当使用无损压缩时,可以实现的数据量减少是有限的。在有损压缩中,在压缩过程期间,图像或视频中损失了一些信息。已知的压缩技术试图通过去除导致解压缩图像或视频中出现对人类视觉系统来说不是特别明显的变化的信息,从而使信息的视觉损失最小化。
基于人工智能(AI)的压缩技术通过在压缩和解压缩过程中使用经训练的神经网络来实现图像和视频的压缩和解压缩。通常,在训练神经网络期间,分析原始图像和视频与经压缩和解压缩的图像和视频之间的差异,并且修正神经网络的参数以减小这种差异,同时使传输内容所需的数据最小化。然而,基于AI的压缩方法所实现的压缩结果可能在经压缩的图像或视频的外观或要求传输的信息量方面并不好。
根据本发明,提供了一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示(latent representation);对潜在表示执行量化过程以产生经量化的潜值(latent),其中,在量化过程中使用的仓(bin)的尺寸是基于输入图像的;将经量化的潜值传输到第二计算机系统;使用第二经训练的神经网络对经量化的潜值进行解码,以产生输出图像,其中,输出图像是输入图像的近似。
仓的尺寸可以彼此不同地介于潜在表示的至少两个像素之间。
仓的尺寸可以彼此不同地介于潜在表示的至少两个通道之间。
可以为潜在表示的每个像素分配仓尺寸(bin size)。
量化过程可以包括与分配给潜在表示的各像素的仓尺寸相对应地对各相应的像素的值执行操作。
量化过程可以包括从潜在表示的每个像素减去潜在表示的均值。
量化过程可以包括舍入函数。
用于对经量化的潜值进行解码的仓的尺寸可以是基于经量化的潜值的先前解码的像素的。
量化过程可以包括第三经训练的神经网络。
第三经训练的神经网络可以接收经量化的潜值的至少一个先前解码的像素作为输入。
该方法还可以包括以下步骤:使用第四经训练的神经网络对潜在表示进行编码以产生超潜在表示(hyper-latent representation);对超潜在表示执行量化过程以产生经量化的超潜值(hyper-latent);将经量化的超潜值传输到第二计算机系统;以及使用第五经训练的神经网络对经量化的超潜值进行解码以获得仓的尺寸;其中,经量化的潜值的解码是使用所获得的仓的尺寸来进行的。
第五经训练的神经网络的输出可以由另一函数处理以获得仓的尺寸。
另一函数可以是第六经训练的神经网络。
在超潜在表示的量化过程中所使用的仓的尺寸可以是基于输入图像的。
方法可以还包括以下步骤:识别输入图像的至少一个感兴趣区域;以及针对潜在表示的在识别出的感兴趣区域中的至少一个相应像素减小在量化过程中所使用的仓的尺寸。
方法可以还包括以下步骤:识别输入图像的至少一个感兴趣区域;其中,针对潜在表示的在识别出的感兴趣区域中的至少一个相应像素使用不同的量化过程。
可以由第七经训练的神经网络识别至少一个感兴趣区域。
一个或更多个感兴趣区域的位置可以存储在二元掩码中;以及二元掩码可以用于获得仓的尺寸。
根据本发明,提供了一种训练一个或更多个神经网络的方法,一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值,其中,在量化过程中使用的仓的尺寸是基于输入图像的;使用第二神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;基于输出图像与输入图像之间的差异来确定一个量;基于确定出的量更新第一神经网络和第二神经网络的参数;以及使用第一输入图像集合重复以上步骤,以产生第一经训练的神经网络和第二经训练的神经网络。
该方法还可以包括以下步骤:使用第三神经网络对潜在表示进行编码以产生超潜在表示;对超潜在表示执行量化过程以产生经量化的超潜值;将经量化的超潜值传输到第二计算机系统;以及使用第四神经网络对经量化的超潜值进行解码以获得仓的尺寸;其中,经量化的潜值的解码是使用所获得的仓尺寸来进行的;并且基于确定出的量,附加地更新第三神经网络和第四神经网络的参数,以获得第三经训练的神经网络和第四经训练的神经网络。
量化过程可以包括第一量化近似。
确定出的量可以是附加地基于与经量化的潜值相关联的比率的;可以使用第二量化近似来确定与经量化的潜值相关联的比率;以及第二量化近似可以不同于第一量化近似。
确定出的量可以包括损失函数,并且更新神经网络的参数的步骤可以包括以下步骤:评估损失函数的梯度;以及通过神经网络后向传播损失函数的梯度;其中,在后向传播损失函数的梯度期间使用第三量化近似;并且第三量化近似与第一量化近似相同。
附加地,可以基于仓的尺寸的分布更新神经网络的参数。
分布的至少一个参数可以是经过学习的。
分布可以是逆伽马(inverse gamma)分布。
可以由第五神经网络确定分布。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值,其中,在量化过程中使用的仓的尺寸是基于输入图像的;以及传输经量化的潜值。
根据本发明,提供了一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:在第二计算机系统处接收根据以上方法传输的经量化的潜值;使用第二经训练的神经网络对经量化的潜值进行解码,以产生输出图像,其中,输出图像是输入图像的近似。
根据本发明,提供了一种训练一个或更多个神经网络的方法,一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;使用第二神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;基于输出图像和输入图像之间的差异来确定一个量;基于确定出的量更新第一神经网络和第二神经网络的参数;以及使用多个输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络;其中,多个输入图像集合中的至少一个包括按第一比例的包含特定特征的图像;并且多个输入图像集合中的至少另一个集合包括按第二比例的包含特定特征的图像,其中,第二比例不同于第一比例。
第一比例可以是输入图像集合中的所有图像。
特定特征可以是以下之一:人面部、动物面部、文本、眼睛、唇部、标志、汽车、花和图案。
在重复方法步骤期间,多个输入图像集合中的每个集合可以被使用相同次数。
输出图像与输入图像之间的差异可以至少部分地由充当鉴别器的神经网络确定。
针对多个输入图像集合中的各集合可以使用充当鉴别器的单独的神经网络。
对于第一数量的训练步骤可以更新充当鉴别器的神经网络中的一个或更多个神经网络的参数;并且对于第二数量的训练步骤,可以更新充当鉴别器的神经网络中的一个或更多个其他神经网络,其中,第二数量低于第一数量。
确定出的量可以是附加地基于与经量化的潜值相关联的比率的;多个输入图像集合中的至少一个集合的参数可以使用所述与经量化的潜值相关联的比率的第一权重来更新;并且多个输入图像集合中的至少另一个集合的参数可以使用所述与经量化的潜值相关联的比率的第二权重来更新,其中,第二权重不同于第一权重。
可以至少部分地使用多个感知指标确定输出图像与输入图像之间的差异;多个输入图像集合中的至少一个集合的参数可以使用所述多个感知指标的第一权重集合来更新;并且多个输入图像集合中的至少另一个集合的参数可以使用所述多个感知指标的第二权重集合来更新,其中,第二权重集合不同于第一权重集合。
输入图像可以是经修正的图像,在所述图像中通过第三经训练的神经网络已经识别出一个或更多个感兴趣区域并且图像的其他区域已经被掩码。
感兴趣区域可以是包括以下特征中的一种或更多种的区域:人面部、动物面部、文本、眼睛、唇部、标志、汽车、花和图案。
一个或更多个感兴趣区域的区域位置可以存储在二元掩码中。
二元掩码可以是第一神经网络的附加输入。
根据本发明,提供了一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;将经量化的潜值传输到第二计算机系统;以及使用第二经训练的神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;其中,第一经训练的神经网络和第二经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;以及传输经量化的潜值;其中,第一经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:在第二计算机系统处接收根据权利要求48的方法的经量化的潜值;以及使用第二经训练的神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;其中,第二经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种训练一个或更多个神经网络的方法,一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;使用第二神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;基于与经量化的潜值相关联的比率来确定一个量,其中,比率的评估包括对离散概率质量函数进行插值的步骤;基于确定出的量更新第一神经网络和第二神经网络的参数;以及使用多个输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络。
附加地,可以基于评估出的比率更新离散概率质量函数的至少一个参数。
该方法可以还包括以下步骤:使用第三神经网络对潜在表示进行编码以产生超潜在表示;对超潜在表示执行量化过程以产生经量化的超潜值;以及使用第四神经网络对经量化的超潜值进行解码,以获得离散概率质量函数的至少一个参数;其中,基于确定出的量,附加地更新第三神经网络和第四神经网络的参数,以获得第三经训练的神经网络和第四经训练的神经网络。
插值可以包括以下各项中的至少一种:分段常数插值、最近邻插值、线性插值、多项式插值、样条插值、分段三次插值、高斯(gaussian)过程和克里金法(kriging)。
离散概率质量函数可以是分类分布。
分类分布可以通过至少一个向量而被参数化。
可以通过向量的柔性最大值(soft-max)投影获得分类分布。
离散概率质量函数可以是至少通过均值参数和尺度参数而被参数化的。
离散概率质量函数可以是多元的。
离散概率质量函数可以包括多个点;多个点中的第一相邻点对可以具有第一间距;并且多个点中的第二相邻点对可以具有第二间距,其中,第二间距不同于第一间距。
离散概率质量函数可以包括多个点;多个点中的第一相邻点对可以具有第一间距;并且多个点中的第二相邻点对可以具有第二间距,其中,第二间距等于第一间距。
第一间距和第二间距中的至少一个可以是使用第四神经网络获得的。
第一间距和第二间距中的至少一个可以是基于潜在表示的至少一个像素的值而获得的。
根据本发明,提供了一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;将经量化的潜值传输到第二计算机系统;以及使用第二经训练的神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;其中,第一经训练的神经网络和第二经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;以及传输经量化的潜值;其中,第一经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:在第二计算机系统处接收根据以上方法的经量化的潜值;以及使用第二经训练的神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;其中,第二经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行第一操作以获得残差潜值;将残差潜值传输到第二计算机系统;对潜在残差执行第二操作以获得恢复后的潜在表示,其中,第二操作包括对恢复后的潜值中的先前获得的像素执行操作;以及使用第二经训练的神经网络对恢复后的潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似。
对恢复后的潜值中的先前获得的像素的操作可以针对恢复后的潜值中的已经获得了“先前获得的像素”的每个像素来执行。
第一操作和第二操作中的至少一个可以包括求解隐式方程组。
第一操作可以包括量化操作。
对恢复后的潜值中的先前获得的像素所执行的操作可以包括矩阵运算。
定义矩阵运算的矩阵可以是稀疏的。
定义矩阵运算的矩阵可以具有与恢复后的潜值中的“当执行矩阵运算时尚未获得的像素”相对应的零值。
定义矩阵运算的矩阵可以是下三角的。
第二操作可以包括标准前向替换。
对恢复后的潜值中的先前获得的像素执行的操作可以包括第三经训练的神经网络。
该方法可以还包括以下步骤:使用第四经训练的神经网络对潜在表示进行编码以产生超潜在表示;将经量化的超潜值传输到第二计算机系统;以及使用第五经训练的神经网络对经量化的超潜值进行解码,其中,对恢复后的潜值中的先前获得的像素执行的操作是基于第五经训练的神经网络的输出的。
使用第五经训练的神经网络对经量化的超潜值进行解码可以附加地产生均值参数;并且隐式方程组可以附加地包括均值参数。
根据本发明,提供了一种训练一个或更多个神经网络的方法,一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行第一操作以获得残差潜值;对潜在残差执行第二操作以获得恢复后的潜在表示,其中,第二操作包括对恢复后的潜值中的先前获得的像素执行操作;使用第二神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;基于输出图像和输入图像之间的差异来确定一个量;基于确定出的量更新第一神经网络和第二神经网络的参数;以及使用第一输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络。
对恢复后的潜值中的先前获得的像素所执行的操作可以包括矩阵运算。
附加地,可以基于确定出的量更新定义矩阵运算的矩阵的参数。
对恢复后的潜值中的先前获得的像素所执行的操作可以包括第三神经网络;并且附加地,可以基于确定出的量更新第三神经网络的参数以产生第三经训练的神经网络。
该方法可以还包括以下步骤:使用第四神经网络对潜在表示进行编码以产生超潜在表示;以及对超潜在表示执行量化过程以产生经量化的超潜值;将经量化的超潜值传输到第二计算机系统;以及使用第五神经网络对经量化的超潜值进行解码,其中,对恢复后的潜值中的先前获得的像素执行的操作是基于第五经训练的神经网络的输出的;其中,基于确定出的量,附加地更新第四神经网络和第五神经网络的参数,以产生第四经训练的神经网络和第五经训练的神经网络。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行第一操作以获得残差潜值;传输残差潜值。
根据本发明,提供了一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:在第二计算机系统处接收根据以上方法传输的残差潜值;对潜在残差执行第二操作以获得恢复后的潜在表示,其中,第二操作包括对恢复后的潜值中的先前获得的像素执行操作;以及使用第二经训练的神经网络对恢复后的潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似。
根据本发明,提供了一种训练一个或更多个神经网络的方法,一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一神经网络对输入图像进行编码以产生潜在表示;对潜在表示进行熵编码;将经熵编码的潜在表示传输到第二计算机系统;对经熵编码的潜在表示进行熵解码;使用第二神经网络对潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似;基于输出图像和输入图像之间的差异来确定一个量;基于确定出的量更新第一神经网络和第二神经网络的参数;以及使用第一输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络;其中,经熵编码的潜在表示的熵解码是逐像素执行的;并且基于确定出的量,附加地更新逐像素解码的顺序。
逐像素解码的顺序可以是基于潜在表示的。
经熵编码的潜值的熵解码可以包括基于先前解码的像素的操作。
逐像素解码的顺序的确定可以包括对有向无环图中的潜在表示的多个像素进行排序。
逐像素解码的顺序的确定可以包括用多个邻接矩阵对潜在表示进行操作。
逐像素解码的顺序的确定可以包括将潜在表示划分为多个子图像。
这些子图像可以通过使用多个二元掩码核对潜在表示进行卷积来获得。
逐像素解码的顺序的确定可以包括基于与各像素相关联的量的大小而对潜在表示的多个像素进行排列。
与各像素相关联的量可以是与各像素相关联的位置或尺度参数。
附加地,可以基于评估出的差异更新与各像素相关联的量。
逐像素解码的顺序的确定可以包括对潜在表示的多个像素进行小波分解。
逐像素解码的顺序可以是基于与多个像素相关联的小波分解的频率分量的。
该方法可以还包括以下步骤:使用第四经训练的神经网络对潜在表示进行编码以产生超潜在表示;将超潜值传输到第二计算机系统;以及使用第五经训练的神经网络对超潜值进行解码,其中,逐像素解码的顺序是基于第五经训练的神经网络的输出的。
根据本发明,提供了一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示进行熵编码;将经熵编码的潜在表示传输到第二计算机系统;对经熵编码的潜在表示进行熵解码;以及使用第二经训练的神经网络对潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似;其中,第一经训练的神经网络和第二经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示进行熵编码;以及传输经熵编码的潜在表示;其中,第一经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:在第二计算机系统处接收根据以上方法传输的经熵编码的潜在表示;以及使用第二经训练的神经网络对潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似;其中,第二经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种训练一个或更多个神经网络的方法,一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一神经网络对输入图像进行编码以产生潜在表示;使用第二神经网络对潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似;基于输出图像和输入图像之间的差异以及与潜在表示相关联的比率来确定一个量,其中,在确定这一量时,第一权重应用于输出图像和输入图像之间的差异并且第二权重应用于与潜在表示相关联的比率;基于确定出的量更新第一神经网络和第二神经网络的参数;以及使用第一输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络;其中,在重复以上步骤至少一次之后,基于另一量,附加地更新第一权重和第二权重中的至少一个,另一量是基于输出图像和输入图像之间的差异以及与潜在表示相关联的比率中的至少一种的。
针对步骤的每次重复,可以记录输出图像和输入图像之间的差异以及与潜在表示相关联的比率中的至少一种;并且另一量可以是基于输出图像和输入图像之间的多个先前记录的差异以及与潜在表示相关联的多个先前记录的比率中的至少一个。
另一量可以是基于多个先前记录的差异或比率的平均值的。
平均值可以是以下各项中的至少一种:算术均值、中值、几何均值、调和均值、指数移动平均值、平滑移动平均值和线性加权移动平均值。
在确定另一量之前可以从多个先前记录的差异或比率中去除离群值。
可以仅针对步骤的初始预定次数的重复来去除离群值。
当确定一个量时使用第一方法并且当确定另一量时使用第二方法来计算与潜在表示相关联的比率,其中,第一方法不同于第二方法。
可以使用来自第二输入图像集合的输入图像来执行步骤的至少一次重复;并且当使用来自第二输入图像集合的输入图像时,可以不更新第一神经网络和第二神经网络的参数。
确定出的量可以是附加地基于充当鉴别器的神经网络的输出的。
根据本发明,提供了一种训练一个或更多个神经网络的方法,一个或更多个神经网络用于在视频的有损编码、传输和解码中使用,该方法包括以下步骤:在第一计算机系统处接收输入视频;使用第一神经网络对输入视频的多个帧进行编码以产生多个潜在表示;使用第二神经网络对多个潜在表示进行解码以产生输出视频的多个帧,其中,输出视频是输入视频的近似;基于输出视频和输入视频之间的差异以及与多个潜在表示相关联的比率来确定一个量,其中,第一权重应用于输出视频和输入视频之间的差异,并且第二权重应用于与多个潜在表示相关联的比率;基于确定出的量更新第一神经网络和第二神经网络的参数;以及使用多个输入视频重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络;其中,在重复以上步骤至少一次之后,基于另一量,附加地更新第一权重和第二权重中的至少一个,另一量是基于输出视频和输入视频之间的差异和与多个潜在表示相关联的比率中的至少一个的。
输入视频可以包括至少一个I帧和多个P帧。
量可以是基于多个第一权重或第二权重的,每个权重对应于输入视频的多个帧中的一个。
在重复步骤至少一次之后,附加地,可以基于与各权重相关联的附加量更新多个权重中的至少一个。
每个附加量可以是基于输出帧和输入帧之间的差异的预定目标值或与潜在表示相关联的比率的。
与I帧相关联的附加量可以具有第一目标值,并且与P帧相关联的至少一个附加量可以具有第二目标值,其中,第二目标值不同于第一目标值。
与P帧相关联的每个附加量可以具有相同的目标值。
多个第一权重或第二权重可以被初始设置为零。
根据本发明,提供了一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;将经量化的潜值传输到第二计算机系统;以及使用第二经训练的神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;其中,第一经训练的神经网络和第二经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像或视频;使用第一经训练的神经网络对输入图像或视频进行编码以产生潜在表示;以及传输潜在表示;其中,第一经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:在第二计算机系统处接收根据以上方法的潜在表示;以及使用第二经训练的神经网络对潜在表示进行解码以产生输出图像或视频,其中,输出图像或视频是输入图像或视频的近似;其中,第二经训练的神经网络已经根据以上方法进行了训练。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;使用概率分布对经量化的潜值进行熵编码,其中,概率分布是使用张量网络来定义的;将经熵编码的、经量化的潜值传输到第二计算机系统;使用概率分布对经熵编码的经量化的潜值进行熵解码,以恢复经量化的潜值;以及使用第二经训练的神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似。
概率分布可以是由对经量化的潜值进行运算的埃尔米特算子定义的,其中,埃尔米特算子是由张量网络来定义的。
张量网络可以包括非规范正交核心张量和一个或更多个规范正交张量。
该方法可以还包括以下步骤:使用第三经训练的神经网络对潜在表示进行编码以产生超潜在表示;对超潜在表示执行量化过程以产生经量化的超潜值;将经量化的超潜值传输至第二计算机系统;以及使用第四经训练的神经网络对经量化的超潜值进行解码;其中,第四经训练的神经网络的输出是张量网络的一个或更多个参数。
张量网络可以包括非规范正交核心张量和一个或更多个规范正交张量;并且第四经训练的神经网络的输出可以为非规范正交核心张量的一个或更多个参数。
可以使用潜在表示的一个或更多个像素来计算张量网络的一个或更多个参数。
概率分布可以与潜在表示的像素的子集合相关联。
概率分布可以与潜在表示的通道相关联。
张量网络可以是以下因子分解中的至少一种:张量树、局部纯态、玻恩机、矩阵乘积态和投影纠缠对态。
根据本发明,提供了一种训练一个或更多个网络的方法,一个或更多个网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:接收第一输入图像;使用第一神经网络对第一输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;使用概率分布对经量化的潜值进行熵编码,其中,概率分布是使用张量网络来定义的;使用概率分布对经熵编码的、经量化的潜值进行熵解码以恢复经量化的潜值;使用第二神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似;基于输出图像和输入图像之间的差异确定一个量;基于确定出的量更新第一神经网络和第二神经网络的参数;以及使用多个输入图像重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络。
附加地,可以基于确定出的量更新张量网络的参数中的一个或更多个。
张量网络可以包括非规范正交核心张量和一个或更多个规范正交张量;并且可以基于确定出的量更新张量网络中除了非规范正交核心张量之外的所有张量的参数。
可以使用潜在表示来计算张量网络。
可以基于潜在表示的线性插值来计算张量网络。
确定出的量可以是附加地基于张量网络的熵的。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;对潜在表示执行量化过程以产生经量化的潜值;使用概率分布对经量化的潜值进行熵编码,其中,概率分布是使用张量网络来定义的;以及传输经熵编码的、经量化的潜值。
根据本发明,提供了一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:在第二计算机系统处接收根据以上方法传输的经熵编码的、经量化的潜值;使用概率分布对经熵编码的、经量化的潜值进行熵解码以恢复经量化的潜值;以及使用第二经训练的神经网络对经量化的潜值进行解码以产生输出图像,其中,输出图像是输入图像的近似。
根据本发明,提供了一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;使用第二经训练的神经网络对潜在表示进行编码以产生超潜在表示;使用第三经训练的神经网络对超潜在表示进行编码以产生超超潜在表示;将潜在表示、超潜在表示和超超潜在表示传输到第二计算机系统;使用第四经训练的神经网络对超超潜在表示进行解码;使用第五经训练的神经网络和第四经训练的神经网络的输出对超潜在表示进行解码;以及使用第六经训练的神经网络和第五经训练的神经网络的输出对潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似。
该方法可以还包括以下步骤:确定输入图像的比率;其中,如果确定出的比率满足预定条件,则不执行对超潜在表示进行编码和对超超潜在表示进行解码的步骤。
预定条件可以是比率小于预定值。
根据本发明,提供了一种训练一个或更多个网络的方法,一个或更多个网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一神经网络对输入图像进行编码以产生潜在表示;使用第二神经网络对潜在表示进行编码以产生超潜在表示;使用第三神经网络对超潜在表示进行编码以产生超超潜在表示;使用第四神经网络对超超潜在表示进行解码;使用第五神经网络和第四神经网络的输出对超潜在表示进行解码;以及使用第六神经网络和第五神经网络的输出对潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似;基于输出图像和输入图像之间的差异确定一个量;基于确定出的量更新第三神经网络和第四神经网络的参数;以及使用多个输入图像重复以上步骤以产生第三经训练的神经网络和第四经训练的神经网络。
在步骤的至少一次重复中可以不更新第一神经网络、第二神经网络、第五神经网络和第六神经网络的参数。
该方法可以还包括以下步骤:确定输入图像的比率;其中,如果确定出的比率满足预定条件,则在步骤的这次重复中不更新第一神经网络、第二神经网络、第五神经网络和第六神经网络的参数。
预定条件可以是比率小于预定值。
在重复步骤达预定次数之后,可以不更新第一神经网络、第二神经网络、第五神经网络和第六神经网络的参数。
附加地,可以基于确定出的量更新第一神经网络、第二神经网络、第五神经网络和第六神经网络的参数,以产生第一经训练的神经网络、第二经训练的神经网络、第五经训练的神经网络和第六经训练的神经网络。
在执行其他步骤之前可以对多个输入图像中的至少一个执行以下操作中的至少一种:上采样、平滑滤波器和随机裁剪。
根据本发明,提供了一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:在第一计算机系统处接收输入图像;使用第一经训练的神经网络对输入图像进行编码以产生潜在表示;使用第二经训练的神经网络对潜在表示进行编码以产生超潜在表示;使用第三经训练的神经网络对超潜在表示进行编码以产生超超潜在表示;传输潜在表示、超潜在表示和超超潜在表示。
根据本发明,提供了一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:在第二计算机系统处接收根据以上方法传输的潜在表示、超潜在表示和超超潜在表示;使用第四经训练的神经网络对超超潜在表示进行解码;使用第五经训练的神经网络和第四经训练的神经网络的输出对超潜在表示进行解码;以及使用第六经训练的神经网络和第五经训练的神经网络的输出对潜在表示进行解码以产生输出图像,其中,输出图像是输入图像的近似。
根据本发明,提供了一种被配置为执行任一以上方法的数据处理系统。
根据本发明,提供了一种被配置为执行任一以上方法的数据处理设备。
根据本发明,提供了一种包括指令的计算机程序,当该程序由计算机执行时,指令使得计算机实施任一以上方法。
根据本发明,提供了一种包括指令的计算机可读存储介质,当指令被计算机执行时,指令使得计算机实施任一以上方法。
现在将参照以下附图通过示例来描述本发明的各个方面,其中:
图1例示了图像或视频压缩、传输和解压缩流水线的示例。
图2例示了包括超网络的图像或视频压缩、传输和解压缩流水线的另一示例。
图3例示了用于视频和图像压缩的基于AI的压缩算法中的示例编码阶段的示意图。
图4例示了用于视频和图像压缩的基于AI的压缩算法中的示例解码阶段。
图5例示了能够在训练基于AI的压缩流水线期间进行学习的量化仓尺寸的值分布的示例。
图6例示了表示对于给定图像经学习的量化仓尺寸在潜在通道之间如何变化的热图。
图7例示了用于视频和图像压缩的、利用超先验且经学习的量化仓尺寸的基于AI的压缩算法中的示例编码阶段的示意图。
图8例示了用于视频和图像压缩的、利用超先验且经学习的量化仓尺寸的基于AI的压缩算法的示例解码阶段的示意图。
图9例示了逆伽马分布的若干示例。
图10例示了GAN的架构的示例概观。
图11例示了标准生成对抗压缩流水线的示例。
图12例示了将GAN与自动编码器相结合的架构的失败模式的示例。
图13例示了使用以数据集偏向(dataset biasing)训练的多鉴别器cGAN的压缩流水线示例。
图14例示了在使用和不使用多鉴别数据集偏向方案的情况下训练达相同比特率的相同生成模型的重构之间的比较。
图15例示了经比特率调整的数据集偏向的结果的示例。
图16例示了基于AI的压缩流水线的示例。
图17例示了基于AI的压缩流水线的另一示例。
图18例示了所提出的、利用量化图进行量化的压缩流水线的示例。
图19例示了利用用于识别感兴趣区域的面部检测器实现流水线的结果的示例。
图20例示了用ROI检测网络H(x)识别出的区域的不同量化函数Qm
图21例示了可以用于训练基于AI的压缩流水线的三个典型一维分布的示例。
图22例示了分段线性插值和分段三次埃尔米特(hermite)插值之间的比较。
图23例示了由用于将串行解码通路的分量并行化的稀疏上下文矩阵L定义的自回归结构的示例。
图24例示了在基于AI的压缩流水线示例中利用预测出的上下文矩阵Ly的编码过程。
图25例示了在基于AI的压缩流水线示例中利用预测出的上下文矩阵Ly的解码过程。
图26例示了单通道图像的光栅扫描排序的示例。
图27例示了以局部变量代替所有在前变量作为下一像素条件的3×3感受野(receptive field)。
图28例示了描述四个变量{y1,y2,y3,y4}的联合分布的DAG的示例。
图29例示了每步中的当前变量都是条件独立的并且可以并行评估的2步AO的示例。
图30例示了与图29的AO相对应的有向图。
图31例示了符合约束(61)和(62)的2×2二元掩模核如何产生4个子图像的示例。
图32例示了确定由二元掩码核框架定义的AO的图连接性的邻接矩阵A的示例。
图33例示了Adam7隔行扫描方案的索引。
图34例示了AO被定义为y1,y2,...y16的尺度参数σ的示例可视化。
图35例示了置换矩阵表示的示例。
图36例示了应用于二元掩码核框架的排列表概念的示例。
图37例示了基于小波变换的层次自回归排序的示例。
图38以图解表示法例示了各种张量和张量积。
图39以图解表示法例示了3阶张量分解和矩阵乘积态(Matrix Product State)的示例。
图40以图解表示法例示了局部纯态(Locally Purified State)的示例。
图41以图解表示法例示了张量树(Tensor Tree)的示例。
图42以图解表示法例示了2×2投影纠缠对态(Projected Entangled PairState)的示例。
图43以图解表示法例示了将矩阵乘积态变换为典范型的过程示例。
图44例示了采用由超编码器/超解码器预测的张量网络的图像或视频压缩流水线的示例。
图45例示了采用由超解码器预测的张量网络的图像或视频解压缩流水线的示例。
压缩过程可以应用于任何形式的信息,以减少存储该信息所需的数据量或文件大小。可以压缩的信息例如是图像和视频信息。尤其是在就压缩文件而言的压缩过程期间,存储信息所需的文件大小可以被称为比率。一般来说,压缩可以是无损的或有损的。在这两种压缩形式中,文件大小都减小。然而,在无损压缩中,当信息被压缩并随后解压缩时,不会丢失信息。这意味着在解压缩过程中完全重构了存储信息的原始文件。与此相反,在有损压缩中,在压缩和解压缩过程中可能丢失信息,并且经重构的文件可以与原始文件不同。包含图像和视频数据的图像和视频文件是压缩的常见对象。JPEG、JPEG2000、AVC、HEVC和AVI是图像和/或视频文件的压缩过程的示例。
在涉及图像的压缩过程中,输入图像可以表示为x。表示图像的数据可以存储在维度H×W×C的张量中,其中,H表示图像高度,W表示图像宽度,而C表示图像的通道数。图像的每个H×W数据点表示图像在相应位置处的像素值。图像的每个通道C表示各像素的在由装置显示图像文件时被相互组合的不同图像分量。例如,图像文件可以具有3个通道,并且通道分别表示图像的红色、绿色和蓝色分量。在此情况下,图像信息存储在RGB颜色空间中,其也可以称为模型或格式。颜色空间或格式的其他示例包括CMKY和YCbCr颜色模型。然而,图像文件的通道不限于存储颜色信息并且能够以通道表示其他信息。由于视频可被认为是依次接续的一系列图像,因此可以应用于图像的任何压缩过程也可以应用于视频。组成视频的每个图像可以称为视频的帧。
视频的帧可以依据帧的性质进行标记。例如,视频的帧可以标记为I帧和P帧。I帧可以是视频的新区段的第一帧。例如,场景转换之后的第一帧可以标记为I帧。P帧可以是I帧之后的后续帧。例如,P帧中存在的对象或背景可以较之P帧之前的I帧没有变化。与P帧之前的I帧相比,P帧中的变化可以通过存在于帧中的对象的运动或通过帧视角的运动来描述。
输出图像可以与输入图像不同,并且可以用表示。输入图像和输出图像之间的差异可以称为图像质量的差异或失真。可以使用任何失真函数来测量失真,该失真函数接收输入图像和输出图像并提供“以数值方式表示输入图像和输出图像之间的差异”的输出。这种方法的示例是使用输入图像和输出图像的像素之间的均方误差(MSE),但是如本领域技术人员已知的,存在许多其他测量失真的方法。失真函数可以包括经训练的神经网络。
通常,有损压缩过程的比率和失真是相关的。比率的增加可以导致失真的减小,并且比率的减小可以导致失真的增加。失真的改变可以以相应方式影响比率。对于给定的压缩技术,这些量之间的关系可以由比率-失真方程(rate-distortion equation)来定义。
基于AI的压缩过程可以涉及神经网络的使用。神经网络是一种操作,它可以针对输入被执行以产生输出。神经网络可以由多个层组成。网络的第一层接收输入。可以由该层对输入执行一个或更多个操作,以产生第一层的输出。然后,第一层的输出传递到网络的下一层,该下一层可以以类似的方式执行一个或更多个操作。最后一层的输出是神经网络的输出。
神经网络的各层可以划分为节点。每个节点可以接收来自前一层的输入的至少一部分并且向后续层中的一个或更多个节点提供输出。层的各个节点可以对该层的输入的至少一部分执行该层的一个或更多个操作。例如,节点可以从前一层的一个或更多个节点接收输入。一个或更多个操作可以包括卷积、加权、偏向和激活函数。在卷积神经网络中使用卷积运算。当存在卷积运算时,可以在层的整个输入上执行卷积。另选地,可以对该层的输入的至少一部分执行卷积。
一个或更多个操作中的每一个都是由与各个操作相关联的一个或更多个参数来定义的。例如,加权运算可以由定义了待应用于从前一层中的每个节点到当前层中的每个节点的每个输入的权重的加权矩阵来定义。在此示例中,加权矩阵中的每个值是神经网络的参数。卷积可以由卷积矩阵(也称为核)来定义。在此示例中,卷积矩阵中的一个或更多个值可以是神经网络的参数。激活函数也可以由可以是神经网络参数的值来定义。在训练网络期间,可以改变网络的参数。
神经网络的其他特征可以是预先确定的,因此在训练网络期间不会改变。例如,网络的层数、网络的节点数、每层中执行的一个或更多个操作以及层之间的连接可以是预先确定的,因此在训练过程发生之前是固定的。这些预先确定的特征可以称为网络的超参数。这些特征有时称为网络架构。
为了训练神经网络,可以使用输入的训练集合,其预期输出(有时称为基准真值(ground truth))是已知的。神经网络的初始参数是随机的,并向网络提供第一训练输入。将网络的输出与预期输出进行比较,并且基于输出与预期输出之间的差异,改变网络的参数,使得网络的输出与预期输出之间的差异减小。然后针对多个训练输入重复该过程以训练网络。可以通过损失函数来定义网络的输出和预期输出之间的差异。可以使用网络的输出与预期输出之间的差异来计算损失函数的结果,以确定损失函数的梯度。可以使用损失函数的梯度下降的后向传播,以使用损失函数的梯度dL/dy来更新神经网络的参数。通过向各个网络后向传播损失函数的梯度,可以同时训练系统中的多个神经网络。
在基于AI的图像或视频压缩的情况下,可以通过比率失真方程来定义损失函数。比率失真方程可以表示为Loss=D+λ*R,其中,D是失真函数,λ是权重因子,R是比率损失。λ可以被称为拉格朗日乘子(lagrange multiplier)。拉格朗日乘子提供了损失函数的特定项相对于各其他项的权重,并且可以用于控制在训练网络时损失函数被偏倚的项。
在基于AI的图像或视频压缩的情况下,可以使用输入图像的训练集合。输入图像的示例训练集合是KODAK图像集合(例如在www.cs.albany.edu/xypan/research/snr/Kodak.html)。输入图像的示例训练集合是IMAX图像集合。输入图像的示例训练集合是Imagenet数据集(例如参见www.image-net.org/download)。输入图像的示例训练集合是CLIC训练数据集P(“专业版”)和M(“移动端”)(例如参见http://challenge.compression.cc/tasks/)。
图1示出了基于AI的压缩过程100的示例。作为基于AI的压缩过程的第一步骤,提供输入图像5。输入图像5提供给充当编码器的、通过函数fθ表征的、经训练的神经网络110。编码器神经网络110基于输入图像产生输出。该输出称为输入图像5的潜在表示。在第二步骤中,在通过Q运算表征的量化过程140中对潜在表示进行量化,产生经量化的潜值。量化过程将连续的潜在表示变换为离散的经量化的潜值。量化过程的示例是舍入函数(roundingfunction)。
在第三步骤中,在熵编码过程150中对经量化的潜值进行熵编码以产生比特流130。熵编码过程可以是例如区间编码或算术编码。在第四步骤中,可以经由通信网络传输比特流130。
在第五步骤中,在熵解码过程160中对比特流进行熵解码。将经量化的潜值提供给充当解码器的、通过函数gθ表征的另一经训练的神经网络120,其对经量化的潜值进行解码。经训练的神经网络120基于经量化的潜值产生输出。输出可以是基于AI的压缩过程100的输出图像。编码器-解码器系统可以称为自动编码器。
上述系统可以分布在多个位置和/或装置上。例如,编码器110可以位于诸如膝上型计算机、台式计算机、智能电话或服务器之类的装置上。解码器120可以位于可以称为接收方装置的单独装置上。用于对输入图像5进行编码、传输和解码以获得输出图像6的系统可以称为压缩流水线。
基于AI的压缩过程还可以包括用于传输改进压缩过程的元信息的超网络105。超网络105包括充当超编码器的经训练的神经网络115和充当超解码器/>的经训练的神经网络125。图2中示出了这种系统的示例。可以假设系统中未进一步讨论的部件与以上讨论的内容相同。充当超解码器的神经网络115接收作为编码器110输出的潜值。超编码器115基于潜在表示产生输出,其可以称为超潜在表示。然后,在通过Qh表征的量化过程145中对超潜值进行量化,以产生经量化的超潜值。通过Qh表征的量化过程145可以与以上讨论的通过Q表征的量化过程140相同。
随后,以与以上针对经量化的潜值所讨论的类似方式,在熵编码过程155中对经量化的超潜值进行熵编码,以产生比特流135。可以在熵解码过程165中对比特流135进行熵解码,以恢复(retrieve)经量化的超潜值。然后,使用经量化的超潜值作为充当超解码器的经训练的神经网络125的输入。然而,与压缩流水线100相比,超解码器的输出可以不是超解码器115的输入的近似值。相反,超解码器的输出用于提供在主压缩过程100中的熵编码过程150和熵解码过程160中使用的参数。例如,超解码器125的输出可以包括以下各项中的一个或更多个:均值、标准偏差、方差或用于描述潜在表示的熵编码过程150和熵解码过程160所用的概率模型的任何其他参数。在图2所示的示例中,为了简单起见,仅示出了单个熵解码过程165和超解码器125。然而,实际上,由于解压缩过程通常在单独的装置上进行,因此这些过程的副本将存在于用于编码的装置上,以提供在熵编码过程150中待使用的参数。
在基于AI的压缩过程100中的任何阶段中,进一步的变换可以被应用于潜值和超潜值中的至少一个。例如,潜值和超潜值中的至少一个可以在执行熵编码过程150、155之前转换成残差值。可以通过从每个潜值或超潜值中减去潜值或超潜值的分布的均值来确定残差值。也可以对残差值进行归一化。
为了执行上述基于AI的压缩过程的训练,可以如上所述地使用输入图像的训练集合。在训练过程期间,可以在每个训练步骤中同时更新编码器110和解码器120二者的参数。如果还存在超网络105,则附加地,可以在每个训练步骤中同时更新超编码器115和超解码器125二者的参数。
训练过程可以还包括生成对抗网络(GAN)。当应用于基于AI的压缩过程时,除了上述压缩流水线之外,系统中包括充当鉴别器的附加神经网络。鉴别器接收输入并基于输入来输出得分,以就鉴别器认为输入是基准真实的还是假的而提供指示。例如,指示符可以是得分,高得分与基准真实的输入相关联,低得分与假的输入相关联。为了训练鉴别器,使用损失函数来使输入基准真值和输入假值之间的、输出指示的差异最大化。
当将GAN纳入压缩过程的训练中时,输出图像6可以提供给鉴别器。然后在压缩过程的损失函数中可以使用鉴别器的输出,作为压缩过程的失真的量度。另选地,鉴别器可以接收输入图像5和输出图像6二者,然后可以在压缩过程的损失函数中使用输出指示的差异,作为压缩过程的失真的量度。可以同时执行压缩过程中充当鉴别器的神经网络和其他神经网络的训练。在使用经训练的压缩流水线来压缩和传输图像或视频期间,从系统中去除鉴别器神经网络,并且压缩流水线的输出是输出图像6。
将GAN纳入训练过程可能导致解码器120执行幻化(hallucination)。幻化是在输出图像6中添加输入图像5中不存在的信息的过程。在示例中,幻化可以向输出图像6添加输入图像5中不存在的或不是由解码器120接收到的精细细节。幻化可以基于由解码器120接收的经量化的潜值中的信息来执行的。
如上所讨论的,视频由按顺序布置的一系列图像组成。上述基于AI的压缩过程100可以应用多次,以执行视频的压缩、传输和解压缩。例如,视频的每个帧可以单独压缩、传输和解压缩。然后可以将接收到的帧聚在一起以获得原始视频。
现在将描述与以上讨论的AI压缩过程相关的许多概念。尽管单独描述各个概念,但是下面期望的一个或更多个概念可以应用于如上所述的基于AI的压缩过程中。
经学习的量化
量化是任何基于AI的压缩流水线中的关键步骤。通常,通过将数据舍入至最接近的整数来实现量化。这可能是次优的,因为图像和视频的一些区域可以容忍更高的信息损失,而其他区域则需要粒度细的细节。下面讨论如何对量化仓(quantisation bin)的尺寸进行学习,而不是固定为最接近整数的舍入。我们详细介绍了实现此目标的若干架构,诸如从超网络、上下文模块和附加神经网络预测仓尺寸。我们还记录了用经学习的量化仓尺寸训练基于AI的压缩流水线所需的损失函数和量化过程的必要改变,并示出了如何引入贝叶斯(Bayesian)先验来控制在训练期间学习的仓尺寸的分布。我们示出了在有或没有分割量化的情况下如何使用经学习的量化仓。此创新还允许失真梯度经由解码器传递并传播至超网络。最后,我们给出了广义量化函数(Generalised Quantisation Functions)的详细说明,其带来了性能和运行时间改善。具体而言,此创新允许我们将上下文模型纳入到压缩流水线的解码器中,但不会因重复运行算术(或其他无损)解码算法而产生运行时间惩罚。我们用于学习量化仓的方法与传输元信息的所有方式(诸如超先验、自回归模型和隐式模型)兼容。
以下讨论将概述用于但不限于基于AI的图像和视频压缩的、经学习的量化仓和广义量化函数的功能、范围和未来前景。
压缩算法可以分解为两个阶段:编码阶段和解码阶段。在编码阶段中,输入数据变换为比原始输入变量具有更小表示(以比特为单位)的潜在变量。在解码阶段中,对潜在变量应用逆变换,其中复原原始数据(或原始数据的近似值)。
基于AI的压缩系统也必须经过训练。这是选择实现良好压缩结果(小文件大小和最小失真)的基于AI的压缩系统的参数的过程。在训练期间,运行部分编码和解码算法,以决定如何调整基于AI的压缩系统的参数。
准确地说,在基于AI的压缩中,编码通常采用以下形式:
y=fenc(x,θ) (1a)
在这里,x是待压缩的数据(图像或视频),fenc是编码器,其通常是具有经训练的参数θ的神经网络。编码器将输入数据x变换为潜在表示y,潜在表示y是低维的并且呈改进形式,以供进一步压缩。
为了进一步压缩y并作为比特流传输,可以使用现有的无损编码算法,诸如算术编码。这些无损编码算法可以要求y是离散的、非连续的,并且还可以要求潜在表示的概率分布是已知的。为了实现此目的,使用量化函数Q(通常是最接近整数的舍入)以将连续数据转换为离散值
通过将概率分布拟合到潜值空间上,查明必要概率分布概率分布可以直接学习,或者通常情况下是由超网络确定的参数的参数分布,超网络由超编码器和超解码器组成。如果使用超网络,则可以对附加比特流/>(也称为“边信息”)进行编码、传输和解码:
z=genc(y,φ) (2a)
/>
其中,μy、σy是确定经量化的潜值分布的均值和尺度参数。
图3绘出了编码过程(使用超网络),其示出了用于视频和图像压缩的基于AI的压缩算法的示例编码阶段的示意图。
解码如下进行:
总结:在算术解码器(或其他无损解码算法)中使用潜值分布以将比特流转换为经量化的潜值/>然后函数fdec将经量化的潜值变换为输入数据的有损重构,记为/>在基于AI的压缩中,fdec通常是神经网络,取决于经学习的参数θ。
如果使用超网络,则首先对边信息比特流进行解码,然后用于获得构造所需的参数,/>是解码主比特流所需的。图4中绘出解码过程(使用超网络)的示例,其中示出了用于视频和图像压缩的基于AI的压缩算法的示例解码阶段。
基于AI的压缩取决于编码和解码神经网络的学习参数,使用利用“损失函数”的典型优化技术。选择损失函数以平衡将图像或视频压缩为小的文件大小而又最大化重构质量的目标。因此,损失函数由两项组成:
在这里,R根据分布确定对经量化的潜值进行编码的成本,D度量重构图像质量,并且λ是确定低文件大小和重构质量之间折衷的参数。R的典型选择是交叉熵
的选择是由于量化:潜值被舍入到最接近的整数,因此/>的概率分布由从/>至/>的(未量化的)潜值分布p(y)的积分给出,其以累积分布函数/>的形式给出。
函数D可以选择为均方误差,但也可以是诸如MS-SSIM、LPIPS和/或对抗损失(如果使用对抗神经网络来增强图像质量)之类的其他感知质量的量度的组合。
如果使用超网络,则可以向R添加附加项来表示传输附加边信息的成本:
总而言之,要注意的是,损失函数取决于量化方案的选择,这通过R项而是显式的,并且因为取决于量化方案的选择而也是隐式的。
现在将讨论在基于AI的图像和视频压缩中如何使用经学习的量化仓。讨论的步骤是:
·学习和预测量化仓尺寸所需的架构
·对标准量化函数以及编码和解码过程所做的修正,以纳入经学习的量化仓
·用于训练使用经学习的量化仓的神经网络的方法
传统的基于AI的图像和视频压缩流水线中的重要步骤是“量化”,其中,潜在表示的像素通常舍入到最接近的整数。这是对比特流进行无损编码的算法所需的。然而,量化步骤引入了其自身的信息损失,从而影响重构质量。
可以通过训练神经网络来预测针对每个潜在像素应使用的量化仓的尺寸,进而改进量化函数。通常,潜值y舍入到最接近的整数,这对应于“仓尺寸”为1。也就是说,y在长度为1的区间内的每个可能值被映射到相同的
然而,这可能不是信息损失的最佳选择:对于一些潜在像素,可以忽略更多信息(相当于:使用大于1的仓),而对重构质量没有太大影响。并且对于其他潜在像素,最佳仓尺寸小于1。
此问题可以通过逐个图像、逐个像素地预测量化仓尺寸来解决。为此,我们使用张量来进行,然后按如下修正量化函数:
我们将称为“经量化的潜在残差”。因此,公式7变为:
它指示了在长度Δ的区间内的值被映射到相同的经量化的潜在值。图5示出了在训练基于AI的压缩流水线时可以学习的量化仓尺寸的值的分布示例。
图6示出了表示对于给定图像经学习的量化仓的尺寸在潜在通道之间如何变化的热图。预测不同的像素以受益于更大或更小的量化仓,对应于更大或更小的信息损失。
要注意的是,由于经学习的量化仓尺寸被纳入到量化函数Q的修正中,因此我们希望编码和传输的任何数据都可以利用经学习的量化仓尺寸。例如,如果我们希望对减去了均值的潜值y-μy进行编码来代替对潜值y进行编码,则这可以实现:
类似地,超潜值、超超潜值以及我们可能希望量化的其他对象全部可以使用针对经适当学习的Δ予以修正后的量化函数QΔ
现在将讨论用于预测量化仓尺寸的若干架构。可能的架构是使用超网络来预测量化仓尺寸Δ。比特流被如下编码:
其中,除法是逐元素进行的。现在是无损编码并作为比特流而发送的对象(我们将/>称为经量化的潜在残差)。
图7绘出了使用超网络的修正后的编码过程的示例,其示出了用于视频和图像压缩的、利用超先验和经学习的量化仓尺寸的基于AI的压缩算法中的示例编码阶段的示意图。
当解码时,比特流照常无损解码。然后,我们通过按每两个元素相乘的方式来使用Δ重新度量ξy。此变换的结果现在由所标记并照常传递到解码器网络:
图8绘出了使用超网络的修正后的解码过程的示例,其示出了用于视频和图像压缩的、利用超先验和经学习的量化仓尺寸的基于AI的压缩算法的示例解码阶段的示意图。
当通过MSE测量时,应用以上技术可以就基于AI的压缩流水线的比率而言得到1.5%的提高,并且就失真而言得到1.9%提高。因此改善了基于AI的压缩过程的性能。
我们详细介绍了有用的以上架构的若干变型:
·超潜值的量化仓尺寸可以是经学习的参数,或者我们可以将预测这些变量的超超网络纳入考虑。
·量化仓尺寸的预测可以用所谓的“上下文模块”(使用相邻像素来改善给定像素的预测的任何函数)来增强。
·从超解码器获得量化仓尺寸Δy之后,可以通过附加非线性函数进一步处理此张量。此非线性函数通常将是神经网络(但不限于此选择)。
我们还强调我们的用于学习量化仓的方法与传输元信息的所有方式(诸如超先验、超超先验、自回归模型和隐式模型)兼容。
为了训练用于基于AI的压缩的、利用经学习的量化仓的神经网络,我们可以修正损失函数。具体而言,可以如下修正公式5a描述的编码数据的成本:
想法是我们需要对从至/>的潜值的概率分布进行积分,而不是在长度为1的区间上进行积分。
类似地,如果使用超网络,则以与修正潜值编码成本以纳入经学习的量化仓尺寸的方式完全相同的方式,修正与超潜值编码成本相对应的项
通常通过梯度下降的变型来训练神经网络,利用后向传播来更新网络的经学习的参数。这要求计算网络中所有层的梯度,这进而要求网络的各个层由可微函数组成。然而,由于舍入函数的存在,量化函数Q及其经学习的仓修正QΔ是不可微的。在基于AI的压缩中,在训练网络期间使用量化的两个可微近似之一来替换Q(y)(一旦网络经过了训练并用于推理,则不使用近似):
噪声量化:
直通估计器(STE)量化:
当使用经学习的量化仓时,在训练期间量化的近似为
噪声量化:
STE量化:
代替在训练期间选择这些可微近似之一,也可以用“分割量化”来训练基于AI的压缩流水线,其中,我们在计算比率损失R时使用但我们在训练中向解码器发送可以用分割量化和经学习的量化仓二者来训练基于AI的压缩网络。
首先,要注意的是,分割量化有两种形式:
·硬分割量化:解码器接收
·软分割量化:解码器在向前传递中接收但在计算/>时在后向传播的向后传递中使用/>
要注意的是,利用整数舍入量化,硬分割和软分割量化是等效的,因为在向后传递中
然而,当使用经学习的量化仓时,硬分割量化和软分割量化并不等效,因为在向后传递中
现在,我们检查每个量化方案中的损失函数梯度。
关于Δ的比率梯度在每个量化方案中都是负的:
/>
在每个量化方案中,比率项接收使得/>然后,因为总是1/2-∈≥0,我们得到
因此,比率梯度总是增量(Δ)以增加Δ。
关于Δ的失真梯度因量化方案而异。梯度为
在软分割量化中,且/>因为向后传递中的随机噪声∈与向前传递中造成/>的STE舍入无关。这意味着
因此,在软分割量化中,比率梯度促使Δ增大,而失真梯度平均为0,因此总体Δ→∞,而训练网络是不可行的。
相反,在硬分割量化中,因为并非与/>无关,因此
总之,如果使用具有经学习的量化仓的分割量化,我们使用硬分割量化而不是软分割量化。
使用或不使用分割量化可以实现的非平凡失真梯度意味着失真梯度经由解码器被传递至超网络。这在具有超网络的模型中通常是不可能的,但这是通过我们用于学习量化仓尺寸的方法所引入的特征。
在一些压缩流水线中,重要的是控制针对量化仓尺寸而学习的值的分布(这并不总是必要的)。当需要时,我们通过在损失函数中引入附加项来实现这:
L=R+λD+FΔ (23a)
通过分布pΔ(Δ)的选择来表征FΔ,我们将其称为Δ的“先验”,遵循贝叶斯(Bayesian)统计中使用的术语。对于先验,可以有若干选择:
·关于正数的任何参数概率分布。特别是逆伽玛分布,图9中示出了其若干示例。针对其参数的若干值示出了分布。分布的参数可以从其他模型拟合、先验选择或在训练期间学习。
·在训练期间学习先验分布的神经网络。
在上一节中,我们详细描述了使用仓尺寸的张量Δ的简单量化函数Q:
我们可以将所有这些方法扩展到更多广义量化函数。在一般情况下,Q是y和Δ的某个可逆函数。然后如下达成编码:
ξy=round(Qgeneral(y,Δ)) (25)
并且如下实现解码:
该量化函数比公式24更灵活,从而提高了性能。例如通过纳入使用自回归上下文模型的量化参数,广义量化函数也可以是上下文感知的。
上一节的所有方法仍然与广义量化函数框架兼容:
·我们从超网络、上下文模块和隐式方程(视需要)来预测必要的参数。
·我们适当地修正损失函数。
·如果使用分割量化,我们采用硬分割量化。
·我们在损失函数中引入Δ的贝叶斯先验,以根据需要控制其行为。更灵活的广义量化函数提高性能。除此之外,广义量化函数可以取决于自回归地确定的参数,这意味着量化取决于已经编码/解码的像素:
一般来说,使用自回归上下文模型提高了基于AI的压缩性能。
从运行时间的角度来看,自回归广义量化函数是附加有益的。其他标准自回归模型(诸如PixelCNN)需要在每次使用上下文模型对像素进行解码时执行算术解码器(或其他无损解码器)。这在图像和视频压缩的实际应用中会严重影响性能。然而,广义量化函数框架允许将自回归上下文模型纳入到基于AI的压缩中,而不会出现例如PixelCNN的运行时间问题。这是因为Q-1自回归地作用于其是从比特流中完全解码的。因此不需要算术解码器以自回归地运行,并且解决了运行时间问题。
广义量化函数可以是任何可逆函数。例如:
·可逆有理函数:Q(·,Δ)=P(·,Δ)/Q(·,Δ),其中,P、Q是多项式。
·对数函数、指数函数、三角函数,具有适当限制的域,使得这些函数是可逆的。
·矩阵Q(·,Δ)的可逆函数
·包括由超解码器预测出的上下文参数L的可逆函数:Q(·,Δ,L)
此外,Q一般不需要具有封闭形式,或者是可逆的。例如,我们可以定义Qenc(·,Δ)和Qdec(·,Δ),其中,这些函数未必是彼此的逆函数,并且端到端地训练整个流水线。在此情况下,Qenc和Qdec可以是神经网络,或者建模为特定过程,诸如高斯过程(GaussianProcesses)、概率图示模型(简单示例:隐马尔可夫模型(Hidden Markov Models))。
为了训练使用广义量化函数的基于AI的压缩流水线,我们使用了许多与上述相同的工具:
·适当修正损失函数(尤其是比率项)
·如果使用分割量化,则使用硬分割量化
·根据需要将贝叶斯先验和/或正则化项(l1、l2、二阶矩惩罚)引入到损失函数中,以控制分布参数Δ,并且控制上下文参数L的分布(视需要)。
依据广义量化函数的选择,对于训练基于AI的压缩流水线,需要其他工具:
·来自强化学习(Q学习(Q-Learning)、蒙特卡罗估计(Monte CarloEstimation)、DQN、PPO、SAC、DDPG、TD3)的技术
·一般近端梯度法
·连续松弛,其中,通过连续函数来对离散量化残差求近似。此函数可以具有控制函数平滑程度的超参数,在训练中在各个点修正这些超参数,以提高网络训练和最终性能。
与广义量化函数框架兼容的上下文建模存在若干可能性:
·Q可以是自回归神经网络。其可以适应于Q的最常见示例是PixelCNN型网络,但在自回归Q函数中也可以使用其他神经网络构建块,诸如残差网络(Resnets)、变换器(Transformers)、循环神经网络(Recurrent Neural Networks)和全连接网络(Fully-Connected networks)。
·Δ可以被预测为先前解码的像素的某种线性组合:
在这里,L是可以依据期望的上下文呈现特定结构的矩阵。例如,L可以是带状的,上三角/下三角的,稀疏的,仅针对待解码的当前位置之前的n个元素(按光栅扫描顺序)是非零的。
如果我们获得重要的元信息,例如来自注意力机制/焦点掩码,我们可以将其纳入Δ预测中。在此情况下,量化仓的尺寸甚至更精确地适应于图像和视频的敏感区域,其中,敏感区域的知识存储在该元信息中。以此方式,与不具有适配的仓尺寸的基于AI的压缩流水线相比,从感知相关的重要区域丢失的信息更少,同时通过忽略来自非重要区域的信息而以增强方式达成增益。
我们进一步概述了经学习的量化仓和可变比率模型之间的联系:可变比率模型的一种形式使用控制仓尺寸的自由超参数δ来训练基于AI的压缩流水线。在推理时,δ作为元信息传输,以控制传输比率(以比特为单位的成本)——增量(Δ)越小意味着仓越小且传输成本越大,但是重构质量越好。
在可变比率框架中,δ是全局参数,因为它同时控制所有仓尺寸。在我们的创新中,我们局部地获得(即逐个像素地预测)仓尺寸的张量Δ,这是改进之处。此外,使用δ控制传输比率的可变比率模型与我们的框架兼容,因为我们可以根据需要通过全局预测来逐像素地度量局部预测,以在推理期间控制比率:
Δlocal+global=δΔ (30)
数据集偏向
在本节中,我们详细介绍应用于生成对抗网络框架的训练程序集,其使我们能够根据图像中所绘出的内容来控制图像中不同区域的比特分配。此方法使我们能够将生成压缩模型偏向于任何类型的图像数据,并基于图像中的主题控制所得图像的质量。
通用对抗网络(GAN)在应用于图像、视频和音频域中的各种不同生成任务时已经表现出了出色的结果。该方法受到博弈论的启发,其中,两个模型(生成器和评判器)彼此对抗,最终使二者都变得更强。GAN中的第一模型是生成器G,他采用噪声变量输入z并输出合成数据样本第二模型是鉴别器D,其经过训练以识别来自真实数据分布的样本与由生成器生成的数据的样本之间的差异。图10中示出了GAN架构的示例概况。
让我们将px表示为关于真实样本x的数据分布;pz为关于噪声样本z的数据分布,以及pg为关于数据x的生成器分布。
然后,GAN的训练呈现为优化以下函数的极小极大博弈:
针对图像压缩任务适配生成对抗方法,我们首先考虑图像其中,C是通道数,H和W是以像素为单位的高度和宽度。
基于自动编码器的压缩编码器流水线由以下组成:将图像x编码为潜在表示的编码器函数fθ(x)=y;将y作为比特流发送所需的量化函数Q;以及将经量化的潜值/>解码为重构图像/>的解码器函数/>
fθ(x)=y
在此情况下,编码器fθ、量化函数Q和解码器gθ的组合可以一起被视为生成网络。为了简化标记,我们将该生成网络表示为G(x)。生成网络由与生成网络协同而以两阶段方式训练的鉴别器网络D来补充。
G(x):=gθ(Q(fθ(x)))
图11中示出了标准生成对抗压缩流水线的示例。
然后,使用标准压缩比率-失真损失函数来执行训练:
其中,px是自然图像的分布,是使用熵模型测量到的比率,λrate是控制比率和失真之间平衡的拉格朗日乘子,而/>是失真量度。/>
用鉴别器模型补充这种经学习的压缩网络可以提高输出图像的感知质量。在此情况下,压缩编码器-解码器网络可以视为生成网络,然后可以在每次迭代时使用两级(bi-level)方法来训练两个模型。对于鉴别器架构,我们选择使用所示的条件鉴别器以产生更好质量的重构图像。在此情况下,鉴别器以经量化的潜值/>为条件。我们通过用鉴别器损失来训练鉴别器:
为了训练(32)中的生成网络,我们通过添加用于训练GAN中的生成器的对抗“非饱和”损失来增强(36)中的比率-失真损失:
将对抗损失添加到比率-失真损失中,以鼓励网络产生看起来自然的图案和纹理。使用将GAN与自动编码器相结合的架构实现出色的图像压缩结果,并显著提高重构图像的感知质量。然而,尽管此架构的总体成果巨大,但存在大量值得注意的失败模式。已经观察到,这些模型难以压缩具有高视觉重要性的区域(其包括但不限于人面部或文本)。图12中展示了这种失败模式的示例,其中,左图像是原始图像,而右图像是使用生成压缩网络合成的重构图像。要注意的是,大多数失真出现在存在于图像中的人面部(高视觉信息的区域)中。为了解决此问题,我们提出了以下方法:允许模型偏向于特定类型的图像(诸如人面部),从而提高重构图像的感知质量。
在此框架下,我们针对多个数据集使用各数据集相应的单独鉴别器来训练网络。我们开始于选择N个附加数据集X1,…XN用以将模型偏向。有助于面部建模的一个此类数据集的很好示例将是由人物肖像组成的数据集。对于每个数据集Xi,我们引入鉴别器模型Di。每个鉴别器模型Di仅针对来自数据集Xi的数据进行训练,而编码器-解码器模型针对来自所有数据集的图像进行训练。
其中,xi是来自数据集Xi的图像,yi是图像xi的潜在表示,G(xi)是重构图像,而是数据集Xi中图像的分布。
图13中示出了具有按照数据集偏向的方式训练的多鉴别器cGAN的压缩流水线的图示。来自数据集Xi的图像xi被传递经由编码器、被量化并使用范围编码器转换为比特流。然后解码器对比特流进行解码并尝试重构然后将原始图像x和重构图像/>传递给与数据集i相对应的鉴别器。
出于例示目的,我们聚焦于面部的失败模式,如图12中先前所演示的。要注意的是,所有讨论的技术可应用于图像中任意多个感兴趣区域——例如,文本或动物面部、眼睛、唇部、标志、汽车、花和图案。
作为示例,考虑使用仅一个额外数据集的数据集偏向。在此情况下,X1是通用训练数据集,而X2是仅具有肖像图像的数据集。图14中呈现了在使用和不使用多鉴别数据集偏向方案的情况下训练达相同比特率的相同生成模型的重构之间的比较,其中,左图像是由标准生成压缩网络合成的图像的重构,而右图像是由使用多鉴别器数据集偏向而训练的相同生成网络所合成的相同图像的重构。使用该方案使得人面部的感知质量更高,并且对图像其余部分的质量没有损害。
/>
/>
上述方法也可以用于针对所有数据集使用单个鉴别器的架构中。附加地,可以比生成器更频繁地训练针对特定数据集的鉴别器Di,从而增加了对该数据集的偏向效果。
鉴于如上所述的生成压缩网络,我们现在以图像或帧上下文为条件,定义允许更高比特分配的架构修正。为了增加数据集偏向效果并依据图像的主题改变图像不同区域的感知质量,我们提出了以下训练过程:控制比特率的拉格朗日系数对于每个数据集Xi是不同的。生成器将(37)中的损失函数改为
此方法通过为压缩图像的面部区域分配更高占比的比特流来训练模型。在图15中可以观察到经比特率调整的数据集偏向的结果,示出了由针对面部数据集保持相同而针对背景数据集以不同/>所训练的模型所合成的三幅图像。左图像是针对背景数据集以低比特率而训练的,中间图像按中等比特率,并且右图像按高比特率。
扩展上面提出的方法,我们提出对于用于偏向的不同数据集使用不同的失真函数此方法允许我们调整模型的焦点以适应于各个特定类型的数据。例如,我们可以使用MSE、LPIPS和MS-SSIM指标的线性组合,作为我们的失真函数。
改变失真函数的不同分量的系数可以改变所得图像的感知质量,允许生成压缩模型以不同的方式重构图像的不同区域。然后,可以通过针对每个数据集Xi为失真函数/>创建索引来修正公式37:
我们现在讨论利用显著性(注意力)掩码,使生成压缩模型偏向于图像中特别重要的区域。我们提出使用单独的预训练网络生成这些掩码,单独的预训练网络的输出可以用于进一步改善压缩模型的性能。
首先考虑以图像x作为输入并输出二元掩码的网络H:
H(x)=m. (41)
xi中的显著像素(salient pixel)由m中的1表示,0表示网络不需要关注的区域。该二元掩码可以用于进一步使压缩网络偏向于该区域。这种重要区域的示例包括但不限于人面部特征,例如眼睛和唇部。给定m,我们可以修正输入图像x,使得它优先考虑这些区域。然后将修正后的图像xH作为对抗压缩网络的输入。图16中示出了此压缩流水线的示例。
扩展以上提出的方法,我们提出了利用产生显著性掩码以使压缩流水线偏向的预训练网络的架构。此方法允许通过改变掩码来改变重构图像各个部分的比特率分配,而无需重新训练压缩网络。在此变型中,来自公式41的掩码m用作附加输入来训练网络,用以将更多比特分配给m中标记为显著性(1)的区域。在推理阶段,在训练网络之后,可以通过修正掩码m来调整比特分配。图17中示出了此压缩流水线的示例。
我们还提出了确保模型暴露于来自广泛自然图像的示例的训练方案。训练数据集由来自N个不同类别的图像构成,对每个图像相应地加标签。在训练期间,根据类别从数据集中采样图像。通过从每个类别中均等地采样,模型可以应用于未被充分代表的类别,并且能够学习自然图像的整个分布。
区域增强
经学习的图像压缩的现代方法(诸如基于VAE和GAN的架构)允许以小比特率实现出色压缩,并显著改善重构图像的感知质量。然而,尽管此架构总体成果巨大,但如以上所讨论的,仍存在大量值得注意的失败模式。已经观察到,这些模型难以压缩具有高视觉重要性的区域(其包括但不限于人面部或文本)。图12中展示了这种失败模式的示例,其中,左图像示出了原始图像,而右图像示出了使用生成压缩网络所合成的重构图像。要注意的是,大多数失真出现在存在于图像中的人面部(高视觉重要性的区域)中。
我们提出了以下方法:通过改变感兴趣区域(ROI)中的量化仓,在比特流中分配更多比特,使得提高ROI的感知质量。
为了将潜值y编码到比特流中,我们首先可以对其进行量化以确保它是离散的。我们提出使用量化参数Δ来控制分配给该区域的bpp。Δ是量化仓尺寸或量化区间,其表示在潜值空间和超潜值空间中量化的粗糙度。量化越粗糙,分配给数据的比特越少。
然后,如下实现潜值y的量化:
我们提出利用空间变化的增量来控制图像中量化的粗糙度。这允许我们控制图像不同区域的所分配的比特数和视觉质量。为此进行如下。
首先考虑检测感兴趣区域的函数H,通常由神经网络表示。函数H(s)以图像x作为输入并输出二元掩码m中的1表示图像x的相应像素位于感兴趣区域内,0对应于在感兴趣区域之外的像素。
在一种情形下,在训练压缩流水线之前训练网络H(x),而在另一种情形下,它与编码器-解码器一起训练。图m用于创建量化图Δ,其中,每个像素被分配量化参数。如果对于某个像素,m中的值为1,则Δ中对应的值小。然后,公式42中定义的函数Q使用空间图Δ将y量化为然后将其编码为比特流。与图像的其余部分相比,此量化方案对于感兴趣区域的结果是比特率更高。
图18中例示了所提出的流水线。图18示出了所提出的压缩流水线的图示,该压缩流水线利用取决于ROI m的二元掩码的量化图Δ进行量化。图19演示了具有用于识别感兴趣区域的面部检测器(网络H(x))的此流水线的实现结果,其中,左图像是在面部在量化图Δ中被分配为ROI的情况下合成的压缩图像,而右图像是使用标准生成压缩模型的压缩图像。
在另一种情形下,我们可以针对用公式41中的ROI检测网络H(x)识别的区域使用不同的量化函数Qm。图20中示出了此布置的示例,其示出了具有用于整个图像的量化函数Q和用于感兴趣区域的Qm的所提出的压缩流水线的图示。
离散PMFS
将离散符号流(诸如基于AI的压缩流水线中的潜在像素)编码和解码为二进制比特流可能需要调用离散概率质量函数(PMF)。然而,普遍认为在基于AI的压缩流水线中训练此离散PMF是不可行的,因为训练需要调用连续概率分布函数(PDF)。如此,在训练基于AI的压缩流水线中,事实上的标准是训练连续PDF,并且只有在训练完成后,才使用离散PMF对连续PDF求近似,并在离散数量的量化点处进行评估。
下面描述的是该过程的求逆,其中,可以通过将离散PMF插值到连续的实值空间来直接针对离散PMF训练基于AI的压缩流水线。离散PMF可以是经学习的或预测的,并且也可以被参数化。
以下描述将概述用于但不限于基于AI的图像和视频压缩的离散概率质量函数和插值的功能、范围和未来前景。下面提供了离散概率质量函数的高级描述,关于其在推理和训练基于AI的压缩算法中的使用的描述,以及对函数(诸如离散概率质量函数)进行插值的方法。
在基于AI的压缩相关文献中,创建熵模型的标准方法是从连续概率密度函数(PDF)py(y)(诸如拉普拉斯(Laplace)分布或高斯(Gaussian)分布)开始的。现在,由于香农(Shannon)熵可以仅定义在离散变量(通常/>)上,因此该PDF应转换为离散概率质量函数(PMF)/>以供例如无损算术编码器/解码器使用。这可以通过收集以/>为中心的(单位)仓内的所有(连续)质量来进行:
这种方法最初由Johannes Ballé、Valero Laparra和Eero P.Simoncelli在2017年4月24至26日于法国土伦召开的第5届国际学习表征会议(ICLR 2017)上以名为“End-to-end optimized image compression”的论文(Conference TrackProceedings.OpenReview.net,2017)提出,该文献已通过引用而被并入本文。该函数不仅仅定义在整数上,并且将接受任何实值变元。这在训练期间可以非常方便,其中,仍然需要由编码器输出关于连续实值潜值的PDF。因此将定义“新”函数/>根据定义,该函数完全符合关于整数定义的PMF/>该函数/>是用于实际训练端到端的基于AI的压缩算法的PMF。
综上所述:将连续实值PDF py 转换为离散PMF/>然后在训练期间将其作为连续PDF/>来评估/>图21示出了可以用于训练基于AI的压缩流水线的三个典型一维分布的示例。要注意的是,在实践中,从未显式地使用原始PDF py,而在训练期间以及在推理过程中也都没有。实际上,仅使用的两个函数是/>(在推理中使用)和(在训练中使用)。
这种思维模型可以反转。不是从PDF开始,而是可以从离散PMF开始,并通过对PMF进行插值而复原连续PDF(仅在训练中使用)。
假设我们给定PMF我们可以使用两个长度为N的向量(即,/>和/>其中,i=1…N为离散点创建索引)来表示该PMF。在旧的思维模型中(当通过函数定义PMF时),我们定义/>但一般来说,/>可以是任何总和为1的非负向量。向量yi应按升序排序,并且并非必须具有整数值。
现在,假设我们给出查询点要注意的是,查询点必须以离散点的极值为界。为了定义(近似的)训练PDF/>我们使用插值例程
有许多不同的插值例程可用。可行的插值例程被非穷举列举如下:
·分段常数插值(最近邻)
·线性插值
·多项式插值
·样条插值,诸如分段三次插值
·高斯过程/克里金法(Kriging)
一般来说,经由插值如此定义的函数可能并非完全是PDF。依据所使用的插值例程,插值后的值可以是负的或可以没有单位质量。然而,通过选择合适的例程,可以缓解这些问题。例如,分段线性插值可以保留质量并保留正性,这确保插值函数实际上是PDF。如果插值点本身为正,则分段三次埃尔米特插值可以约束为正的,正如Randall L Dougherty、Alan S Edelman和James M Hyman在“Nonnegativity-,monotonicity-,or convexity-preserving cubic and quintic hermite interpolation”(Mathematics ofComputation,52(186):471-494,1989)中所讨论的,该文献已通过引用而被并入本文中。
然而,分段线性插值可能遇到其他问题。其导数是分段常数,并且插值误差可能非常严重,例如,如图22的左图像所示。例如,当使用巴勒(Ballé)方法生成PMF时,插值误差将定义为其他插值方案(诸如分段三次埃尔米特插值)具有非常小的插值误差,例如图22的右图像所示。
可以在基于AI的图像和压缩算法中直接训练离散PMF。为了在训练中实现这,使用PMF模型的离散值对编码器输出的实值潜值的概率值进行插值。在训练中,通过将梯度从比率(比特流尺寸)损失向后传递到PMF模型的参数来对PMF进行学习。
可以对PMF模型进行学习或者可以预测PMF模型。通过学习,我们得出了PMF模型及其超参数可以独立于输入图像。通过预测,我们得出了PMF模型可以有条件地依赖于“边信息”,诸如超潜值所存储的信息。在此场景下,可以通过超解码器来预测PMF的参数。另外,PMF可以有条件地依赖于相邻的潜在像素(在此情况下,我们可以说PMF是离散PMF上下文模型)。无论PMF如何表示,在训练期间,可以对PMF的值进行插值以提供在实值(非量化)点处的概率值的估计,其可以被馈送到训练目标函数的比率损失中。
可以通过以下任何方式(尽管此列表是非穷举的),将PMF模型参数化:
·PMF可以是分类分布,其中,分类分布的概率值对应于关于实数线的有限数量的量化点。
·分类分布可以具有通过向量而被参数化的其值,该向量投影到概率单纯形上。可以经柔性最大值样式投影(soft-max style projection)或概率单纯形上的任何其他投影进行投影。
·PMF可以通过几个参数而被参数化。例如,如果PMF定义在N个点上,则可以使用仅n个(其中n<N)参数来控制PMF的值。例如,PMF可以由均值和尺度参数来控制。例如,这可以例如通过在离散数量的量化仓处收集连续值的一维分布的质量来进行。
·PMF可以是多元的,在此情况下,PMF将关于多维量化点集合被定义。
·对于前面的任何项,量化点可以是例如一些整数值,或者可以是任意间距的。可以通过辅助网络(诸如超解码器)来预测,或者根据上下文(相邻潜在像素)来预测量化仓的间距。
·对于前面的任何项,控制PMF的参数可以是固定的,或者可以通过辅助网络(诸如超解码器)来预测,或者根据上下文(相邻潜在像素)来预测。
此框架可以通过若干方式中的任何一种方式进行扩展。例如,如果离散PMF是多元(多维)的,则可以使用多元(多维)插值方案将PMF的值插值到实数向量值点。例如,可以使用多线性插值(2d中的双重线性;3d中的三重线性;等等)。另选地,可以使用多重三次插值(2d中的双重三次插值;3d中的三重三次插值;等等)。
此插值方法并非仅限于对离散值的PMF进行建模。任何离散值的函数都可以进行插值,基于AI的压缩流水线中的任何位置,并且本文描述的技术并非严格地限于对概率质量/密度函数进行建模。
上下文模型
在基于AI的压缩中,自回归上下文模型具有强大的熵建模功能,但由于其必须串行运行,因此运行时间非常差。本文档描述了通过从超解码器预测自回归建模分量(并使这些分量以“边”信息为条件)克服此困难的方法。该技术产生具有令人印象深刻的建模功能但能够实时运行的自回归系统。这种实时能力是通过将自回归系统从无损解码器所需的模型剥离而实现的。相反,自回归系统简化为在解码时求解线性方程,这可以使用数值线性代数技术非常快速地进行。通过求解简单的隐式方程也可以快速进行编码。
本文档概述了用于但不限于基于AI和深度学习的图像和视频数据压缩中的、具有线性解码系统的自回归概率模型的当前和未来使用的功能和范围。
在基于AI的图像和视频压缩中,输入图像x映射到潜在变量y。正是这个潜在变量被编码为比特流,并设置给接收器,接收器将比特流解码回潜在变量。然后接收器将复原的潜值变换回原始图像的表示(重构)
为了执行将潜值变换为比特流的步骤,潜在变量可以被量化为整数值的表示该量化的潜值/>通过无损编码/解码方案(诸如算术编码器/解码器或区间编码器/解码器)变换为比特流。
无损编码/解码方案可能需要针对经量化的潜在变量的每个元素的模型一维离散概率质量函数(PMF)。当该模型PMF与潜值的真实一维数据分布相匹配时,实现最佳比特流长度(文件大小)。
因此,文件大小与模型PMF的能力紧密联系在一起,以匹配真实数据分布。越强的模型PMF产生越小的文件大小和越好的压缩效果。根据情况,这进而产生更好的重构误差(对于给定的文件大小,能够传输更多信息,以供重构原始图像)。因此,投入了大量精力来开发强大的模型PMF(通常称为熵模型)。
在基于AI的压缩中用于对一维PMF进行建模的传统方法是使用参数一维分布其中,θ是一维PMF的参数。例如,可以使用经量化的拉普拉斯算子或经量化的高斯算子。在这两个示例中,θ包括分布的位置μ和尺度σ参数。例如,如果使用经量化的高斯(拉普拉斯),则PMF将写为
在这里,p(y∣μ,σ)是连续高斯(拉普拉斯),并且δ是量化仓尺寸(通常δ=1)。
可以通过使参数θ(诸如,位置μ或尺度σ)“取决于”比特流中存储的其他信息来创建更强大的模型。换言之,不是静态地将PMF的参数固定为在基于AI的压缩系统的所有输入上是恒定的,而是参数可以动态地响应输入。
这通常以两种方式进行。在第一种方式下,除了之外,在比特流中传输额外的边信息/>变量/>通常称为超潜值。在解码/>之前对其整体进行解码,因此可用于对/>进行编码/解码。然后,μ或σ可以成为/>的函数,例如通过神经网络返回μ或σ。然后一维PMF被称为以为条件,由/>给出。
另一方法是使用自回归概率模型。例如,正如van den Oord、NalKalchbrenner、Lasse Espeholt、Koray Kavukcuoglu、Oriol Vinyals和Alex Graves在“Conditional image generation with pixelcnn decoders”(In Daniel D.Lee,MasashiSugiyama,Ulrike von Luxburg,Isabelle Guyon,and Roman Garnett,editors,Advancesin Neural Information Processing Systems 29:Annual Conference on NeuralInformation Processing Systems 2016,December 5-10,2016,Barcelona,Spain,pages4790–4798,2016)中所描述的(该文献已通过引用而被并入到本文中),PixelCNN已广泛用于基于AI的压缩相关学术论文,示例做法例如参见David Minnen、Johannes Ballé和George Toderici的“Joint autoregressive and hierarchical priors for learnedimage compression”(In Samy Bengio,Hanna M.Wallach,Hugo Larochelle,KristenGrauman,Nicolò Cesa-Bianchi,and Roman Garnett,editors,Advances in NeuralInformation Processing Systems 31:Annual Conference on Neural InformationProcessing Systems 2018,NeurIPS2018,December 3-8,2018,Montréal,Canada,pages10794–10803,2018),该文献已通过引用而被并入到本文中。在此框架中,上下文像素用于将在当前像素处的PMF的位置μ和尺度σ参数条件化。这些上下文像素是与当前像素相邻的、先前解码的像素。例如,假设已经解码了先前的k个像素。由于图像中固有的空间相关性,这些像素通常包含关于当前活动像素的相关信息。因此,这些上下文像素可以用于改进当前像素的位置和尺度预测。然后,当前像素的PMF将由给出,其中,现在μ和σ是先前k个变量的函数(通常是卷积神经网络)。
通过超潜值或利用自回归上下文模型来条件化的这两种方法都有优点和缺点。
经由超潜值条件化的主要优点之一是量化可以位置偏移。换言之,量化仓可以以位置参数μ为中心。使用整数值仓,量化潜在给出为:
其中,是舍入函数。这可以产生比直接舍入更好的结果/>另外,经由超潜值条件化可以相对快速地实现,具有(依据神经网络架构)实时解码速度。
自回归上下文模型的主要优点是使用上下文信息,即,相邻已解码的像素。由于图像(和视频)是空间高度相关的,因此这些相邻像素可以非常准确且精确地预测当前像素应该是什么。大多数学术上最先进的基于AI压缩流水线使用自回归上下文模型,这是因为在以比特流长度和重构误差来衡量时,性能结果令人印象深刻。然而,尽管其相对性能令人印象深刻,但仍面临两个问题。
首先,它们必须串行运行:当前像素的PMF取决于所有先前已解码的像素。另外,位置函数μ(·)和尺度函数σ(·)是通常大型的神经网络。这两个事实意味着自回归上下文模型无法实时运行,比之在边缘装置上的实时性能所需的计算要求,具有明显更长的量级。因此,在其当前状态下,自回归上下文模型在商业上不可行,尽管它们产生了令人印象深刻的压缩性能。
其次,由于级联误差的影响,自回归上下文模型必须使用直接舍入位置偏移的舍入/>是不可行的,因为在解码通路(decoding pass)早期引入的微小浮点误差可能在串行解码通路中被放大和扩大,导致编码器和解码器之间巨大不同的预测。缺乏位置偏移舍入是有问题的,并且普遍认为所有其他分量相同,具有位置偏移舍入的自回归模型(如果可以构建的话)将胜过直接舍入自回归模型。
因此,需要开发结合了以超值在为条件的优点(运行时间快;位置偏移舍入)与自回归建模的令人印象深刻的性能(从先前解码的上下文像素创建强大的预测)的PMF建模框架。
下面描述的是修正超解码器以使用超解码器附加地预测自回归模型的参数的技术。换言之,我们将使自回归模型的参数以超潜在为条件。这与自回归建模中的标准设置相反,在标准设置中自回归函数是静态且不变的,并且不会依据压缩流水线输入而改变。
我们将主要关注以下准线性设置(解码通路是线性的;而编码通路不是线性的)。除了μ和σ预测之外,超解码器还可以输出稀疏矩阵L,它被称为上下文矩阵。该稀疏矩阵将用作如下PMF的自回归上下文建模分量。给定潜在像素的排序(诸如光栅扫描顺序),假设已经对先前的k个潜在像素进行了编码/解码,因此可用于自回归上下文建模。方法是使用以下修正的位置偏移量化:我们经由以下进行量化
然后由给出概率模型。在矩阵向量记号中,我们得出了:
其中,这里L是超解码器输出的稀疏矩阵(要注意的是,不需要预测L,它也可以是进行学习的或静态的)。要注意的是,在潜在像素的排序中,L可以是严格的下三角矩阵。这种混合自回归-超潜在上下文建模方法可以称为L上下文。
要注意的是,这是自回归上下文建模的形式。这是因为一维PMF依赖于先前解码的潜在像素。然而,我们发觉只有位置参数可能依赖于先前已解码的潜在像素,尺度参数并不这样。
要注意的是,可以通过算术编码器/解码器来实际编码的整数值是量化残差
因此,在解码中,算术编码器从比特流返回的不是而是/>然后,可以通过求解/>的以下线性方程组
或者换言之,通过设置来复原/>
从算术解码过程剥离对方程组(50)进行求解。也就是说,虽然算术解码过程必须随着接收比特流而串行地进行,但求解(50)独立于该过程并且可以使用任何数值线性代数算法来进行。L上下文建模步骤的解码通路可以不是串行过程,并且可以并行地运行。
检视此结果的另一种方式是观察算术编码器/解码器等同地对具有位置零的进行操作。也就是说,算术编码器不是对/>潜值进行操作,而是对残差/>进行操作。由此看来,PMF为/>只有在从比特流中复原/>之后,我们才能原复/>然而,由于从比特流复原/>可以不是自回归的(唯一的依赖关系是σ,σ尚没有与上下文/自回归相关),所以此过程可以极其快。然后,可以使用高度优化的线性代数例程来求解(50)以复原/>
在L上下文系统的编码和训练二者中,我们可以针对未知变量求解(48)——/>没有显式地给出,因此必须予以确定。事实上,(48)是隐式方程组。在此,我们概述了寻找满足(48)的/>的若干可能方法。
·第一种方法是串行地求解(48),根据自回归模型中像素的依赖关系的排序对像素进行操作。在此设置中,我们按照所有像素的自回归排序简单地遍历所有像素进行迭代,并在每次迭代时应用(47)以恢复在当前迭代的经量化的潜值。
·由于(48)是隐式方程,因此第二种方法是采用隐式方程求解器,我们将其称为隐式编码求解器(Implicit Encode Solver)。这可以是用于求出(48)的不动点解的迭代求解器。
·最后,在某些特殊情况下,可以利用由稀疏上下文矩阵L定义的自回归结构来将串行解码通路的分量并行化。在此方法中,首先创建定义了潜在像素之间的依赖关系的依赖图(有向无环图(Directed Acyclic Graph))。可以基于L矩阵的稀疏结构来构造此依赖图。然后,我们注意到DAG的相同级中的像素彼此有条件地独立。因此,它们都可以并行地计算,而不会影响其所在级中任何其他像素的计算。因此,在编码(和训练)中,图通过从根节点开始而迭代,并遍历DAG的各个级。在每个级,并行地处理所有节点。当并行计算环境可用时(诸如在图形处理单元(Graphic Processing Unit)或神经处理单元(NeuralProcessing Unit)上),比之单纯的(navie)串行实现,此过程产生显著的加速。图23中示出了此过程的示意图。图23的左图像示出了与示例中第i像素相关联的L上下文参数。相邻上下文像素是当前像素正上方的像素以及左邻像素。右图像示出了按光栅扫描顺序计数的像素。底部图像示出了在给定由L上下文矩阵生成的依赖关系的情况下构造有向无环图(DAG)的工作示例。相同级上的像素彼此有条件地独立,并且可以并行地编码/解码。
前一节中描述的许多技术也可以应用于解码时。具体而言,可以按以下任何方式求解线性方程
·由于系统是下三角的,因此可以使用标准的前向替换。这类似于串行编码步骤。对于按照解码顺序的每个像素i,活动像素由以下给出:
·另选地,可以使用任何迭代数值线性代数例程。
·最后,与编码类似,可以构建有向无环图来对潜在像素之间的依赖关系进行建模。给定矩阵L的稀疏结构,可以构造有向无环图。然后,与编码类似,使用线性解码方程,通过遍历DAG的各层进行迭代且并行地处理该级的所有像素,从残差恢复潜值/>
下面,我们详细描述基于AI的压缩流水线内的L上下文模块的示例。
图24示出了在基于AI的压缩流水线的示例中利用预测出的上下文矩阵Ly的编码过程。在此图中,绘出了通用隐式求解器。在编码中,馈送输入图像历经编码器函数(诸如,神经网络)。编码器输出潜值y。然后,馈送该潜值历经超编码器,返回超潜值z。超潜值被量化为/>并经由使用依赖于经学习的位置μz和尺度σz的1D PMF的算术编码器和无损编码器,发送到比特流。可选地(尽管图24中未绘出)。在关于/>的熵模型中也可以采用经学习的L上下文模块。然后馈送经量化的超潜值历经超解码器,其输出关于y的熵模型的参数。这些包括位置μy、尺度σy和L上下文矩阵Ly。通过使用上述方法中的任一种求解编码方程来计算残差。使用具有零均值和尺度参数σy的PMF,将经量化的残差/>发送给比特流。
图25示出了在示例的基于AI的压缩流水线中使用预测出的上下文矩阵Ly的解码过程。在此图中绘出了线性方程求解器。在解码中,使用具有经学习的位置参数μz和尺度参数σz的一维PMF以及无损解码器从比特流复原第一超潜值可选地(图中未绘出),如果在编码中使用了L上下文模块的话,也可以采用L上下文模块。馈送超潜值历经超解码器,超解码器输出位置μy、尺度σy和稀疏上下文矩阵Ly。使用无损解码器、零均值PMF和尺度参数σy从比特流复原残差/>然后,如上所述,通过求解线性解码方程组来复原经量化的潜值。最后,通过馈送经量化的潜值/>历经解码器函数(诸如另一神经网络)来复原重构图像。
在前一节中,针对像素的解码顺序,我们假设L是下三角的。泛化是将此假设放松到不一定是下三角的普通矩阵A。在此情况下,编码方程
应该被求解,并且经由PMF P(Ξ=ξi∣0,σi),将
发送给比特流。在解码时,在针对比特流恢复之后,通过求解/>的以下线性方程组来复原经舍入的潜值:
一般来说,上下文函数可以是非线性的。例如,编码问题
应该被求解,其中,f是非线性函数,其可以是经学习的或预测的,诸如具有经学习的或预测的参数的神经网络。经舍入的潜值是(55)的不动点。该方程可以用任何非线性方程求解器来求解。然后,在编码期间,残差潜值
经由PMF P(Ξ=ξi∣0,σi)被发送给比特流。在解码时,求解的以下非线性方程
后者扩展的一种解释是作为隐式PixelCNN。例如,如果f(·)具有三角雅可比(Jacobian)(一阶导数的矩阵),则(55)对自回归系统进行建模。然而,(55)比这种解释更普遍,实际上它不仅能够对自回归系统进行建模,而且能够对按照像素排序具有前向和后向条件依赖关系的概率系统进行建模。
经学习的AR顺序
在基于AI的图像和视频压缩中,自回归建模是用于潜值空间的熵建模的强大技术。在最先进的基于AI的压缩流水线中使用以先前解码的像素为条件的上下文模型。然而,上下文模型中的自回归排序通常是预定义的和初步的,诸如光栅扫描排序,这可能在学习中强加不必要的偏向。为此,我们提出了上下文模型中的另选的自回归排序,其是固定的但非光栅扫描,条件化的、经学习的或直接优化的。
用数学术语来说,基于AI的有损压缩的目标是推断与生成观测数据的潜值分布尽可能接近地匹配的先验概率分布,即熵模型。这可以通过诸如梯度下降之类的优化框架来训练神经网络而实现。熵建模支撑着整个基于AI的压缩流水线,其中,更好的分布匹配对应于通过更低的重构损失和比特率所表征的更好压缩性能。
对于表现出大的空间和时间冗余的图像和视频数据,称为上下文建模的自回归过程对于在熵建模中利用这种冗余非常有帮助。在高级中,总体构思是用现有的可用信息将后续信息的解释条件化。以先前变量为条件来实现下一变量的过程意味着一定顺序的自回归信息恢复结构。已经证明,此概念在基于AI的图像和视频压缩中具有极其强大的能力,并且通常是尖端神经压缩架构的一部分。
然而,基于AI的图像和视频压缩中的自回归结构的排序(即自回归排序或简称AO)可以是预先确定的。这些上下文模型通常采用所谓的光栅扫描顺序,例如它自然地遵循图像数据类型(3维;高度×宽度×通道,例如RGB)中的数据序列。图26示出了单通道图像的光栅扫描排序的示例。灰色方块是可用作条件的变量,而白色方块是不可用的。然而,采用光栅扫描顺序作为基本AO是任意的并且可能是有害的,因为不可能以来自当前变量(或像素)的底侧和右侧的信息为条件。这在神经网络学习中可能导致效率低下或潜在的不期望偏向。
下面,我们描述了可以固定或经学习的一些AO,以及可以用以制定这些AO的一些不同框架。上下文建模的AO可以通过这些框架进行泛化,可以对其进行优化以寻找潜在变量的最佳AO。讨论以下概念:
(a)详细说明了基于AI的图像和视频压缩的理论方面以及上下文模型中自回归建模的目的;
(b)描述并举例说明了一些可以分配给上下文建模的常规和非常规AO,后者形成了在此由Deep Render提出的创新的类别;
(c)描述了一些框架,在这些框架下通过网络优化(或者使用梯度下降或者使用强化学习方法)来学习AO,这也涵盖在此处由Deep Render提出的创新中。
基于AI的图像和视频压缩流水线通常遵循由卷积神经网络(CNN)组成的自动编码器结构,该卷积神经网络构成编码模块和解码模块,其参数可以通过对自然景观图像和视频的数据集进行训练来优化。(观察到的)数据通常由x指代,并假设根据数据分布p(x)进行分布。编码器模块之后的特征表示称为潜值,用y表示。它在编码中最终被熵编码到比特流中,在解码中反之亦然。
潜值空间p(y|x)的真实分布实际上是做不到的。这是因为关于y和x的联合分布的边缘化以计算数据分布p(x)=∫p(x|y)p(y)dy是很棘手的。因此,我们只能找到该分布的近似表示,这正是熵建模所做的。
不失一般性地,的真实潜值分布可以表示为具有条件因变量的联合概率分布
p(y)≡p(y1,y2,...,yM) (58)
其对关于y的所有实现集合的概率密度进行建模。同样,联合分布可以因子分解为各个单独变量的条件分布的集合,并具有假设按照i∈{1,...,M}固定排序
其中,y<i表示在yi之前的所有潜在变量的向量,暗示从1到M串行地执行的AO(M步AO)。然而,M通常非常大,因此在每一步推断p(yi|{y<i})在计算上很麻烦。为了实现自回归过程的加速,我们可以
·将每个条件分布约束为以几个(局部)变量来代替所有在前变量为条件;
·假设N步AO,其中N<M,并且并行地评估多个条件独立的条件分布。
应用这两个概念中的任何一个将强加以下约束,其使联合概率和如公式(59)所描述的条件分量的因子分解的等价性无效,但通常这样做是为了针对建模复杂性进行折衷。第一个概念在实践中几乎总是针对高维数据来实现,例如在仅考虑局部感受野(localreceptive field)的基于PixelCNN的上下文建模中。图27中示出了此过程的示例,其示出了3×3感受野,其中,下一个像素是以局部变量(箭头源自的位置)来代替所有在前变量为条件的。但出于本文的目的,我们不会为了将本文所涵盖的创新泛化而考虑施加此约束。
第二个概念包括假设因子分解熵模型的情况(不是以随机变量为条件,而是仅以确定性参数和超先验熵模型为条件(由于以超潜值z的集合为条件,因此潜在变量全部是条件独立的)。这两种情况都具有l步AO,这意味着在单个步骤中执行联合分布的推理。
下面将描述三种不同的框架,其指定了用于在基于AI的图像和视频压缩中应用任何自回归过程的串行执行的AO。这可以包括但不限于利用上下文模型的熵建模。每个框架提供了以下的不同方式:(1)定义AO;以及(2)制定其潜在优化技术。
数据可以假设以维数为M=H×W的2D格式布置(单通道图像或单帧、单通道视频),其中,H是高度维度,而W是宽度维度。本文提出的概念同样可应用于具有多个通道和多个帧的数据。
图示模型,或更具体地说是有向无环图(DAG),对于描述概率分布及其条件依赖结构非常有用。图示由与分布变量相对应的节点和表示条件依赖关系的有向链接(箭头)组成(箭头头部的变量以尾部的变量为条件)。对于直观示例,描述图28中的示例的联合分布为:
p(y1,y2,y3,y4)=p(y1)p(y2|y1)p(y3|y1,y2)p(y4|y1,y2,y3) (60)
适当地描述联合概率的有向图的主要约束是:它不能包含任何有向环。这意味着不应该存在如下路径:从该路径上的任何给定节点开始并在同一节点结束,因此是有向无环图。光栅扫描排序严格遵循与图28所示相同的结构,其示出了描述四个变量{y1,y2,y3,y4}的联合分布的DAG以及方程(60)(如果变量按光栅扫描模式图从1到N组织)的示例。给定我们的假设,这是M步AO,这意味着它需要上下文模型的M轮或M次实施,以评估完整的联合分布。
小于M步的另一AO是棋盘(checkerboard)排序。图29中针对简单示例将排序可视化,其例示了2步AO,其中,每步中的当前变量全部都是条件独立的,并且可以并行地评估。在图29中,在步骤1中,并行地推断当前像素的分布而没有条件化,在步骤2中,并行地并且以来自先前步骤的所有像素为条件来推断当前像素的分布。在每步中,所有当前变量都是条件独立的。如图30中示出了相应的有向图。如图30所示,步骤1评估顶行上的节点,而步骤2由底行上的、具有指明条件的方向朝内的箭头的节点来表示。
用于自回归建模的二元掩码核是用于指定AO(其为N步)的有用框架,其中N<<M。给定数据y,二元掩码核技术需要将其划分成N个低分辨率的子图像{y1,...,yN}。注意,虽然先前我们将每个像素定义为变量yi,但这里我们将定义为条件独立的一组K个像素或变量(并且对于未来步骤联合地条件化)。
通过将数据与包含元素Mi,pq且步幅为kH×kW的二元掩码核 进行卷积来提取子图像yi。为此定义了有效的AO,二元掩码核必须符合以下约束:
这里,是尺寸为kH×kW的1的矩阵。换言之,每个掩码必须是唯一的,并且仅单个项为1(其余元素为0)。这些是确保AO是穷尽的并遵循逻辑条件顺序的充分条件。为了在建立AO的同时强制实施约束(61)和(62),我们可以学习kHkW个分对数(logit)(每一个分对数对应于核中的每个位置(p,q)),并且通过例如从最高到最低地将分对数进行排列来对自回归过程进行排序。我们还可以应用Gumbel-softmax技巧,以在温度降低的同时强制实施最终的独热(one-hot)编码。
图31例示了符合约束(61)和(62)的2×2二元掩模核如何产生4个子图像的示例,这些子图像随后按照图28中描述的图示模型而被条件化(但是针对的是向量变量而不是标量)。此示例应该与上一节中观察的棋盘AO相似,但有两个附加的中间步骤。事实上,可以用二元掩码核来定义AO,使得它通过不在y1和y2之间以及y3和y4之间强加条件来精确地反映先前的棋盘AO。可以通过作为严格下三角的邻接矩阵A和阈值条件T来确定是否选择以任何先前子图像yi为条件。在此情况下,A应该具有明显更实用的维数kHkW×kHkW。按照前面的示例,图32例示了这是如何实现的。图32示出了邻接矩阵A的示例,其确定由二元掩码核框架定义的AO的图示连接性。如果对于任何链接,相关联的邻接项小于阈值T,则忽略该链接。如果任何链接被忽略,则可以出现条件独立结构,使得自回归过程可以包含更少的步骤。
也可以呈现利用二元掩码核的传统隔行扫描方案,例如PNG中使用的Adam7。图33示出了Adam7隔行扫描方案的索引。注意,此标记用作核应该如何布置和分组的指示,而不是在模型中实际直接使用。例如,1将对应于在左上位置为1的单个掩码。2将对应于在相同位置为1的另一单个掩码。3将对应于分组在一起的两个掩码,每个掩码在各相应的位置上分别为1,作为索引中的3。同样的原则也应用于其余索引。核尺寸将为8×8,产生64个掩码核,并且如图33所示地分组索引,使得存在七个得到的子图像(因此是7步AO)。这示出了二元掩码核框架适于处理利用低分辨率信息来生成高分辨率数据的常见隔行扫描算法。
在二元掩码核框架内也可以定义光栅扫描顺序,其中,核尺寸为H×W;这将意味着它是H×W=N步AO,具有被组织为使得按照光栅扫描对1进行排序的N个H×W的二元掩码核。
总之,二元掩码核可以使其更好地适于基于梯度下降的学习技术,并且与如下所讨论的关于频率空间中自回归排序的进一步概念相关。
排列表是表征AO的第三个框架,在固定排列下,它在描述M步AO中尤其有效,而没有二元掩码核中的具有代表性的复杂性。排列表的概念很简单:给定量(平化(flatten)并对应于变量的总数),每个AO是以q的元素qi的排列系统为基础确定的,使得具有最大qi的索引被指定为y1,具有第二大qi的索引被指定为y2,依此类推。可以使用argsort算子来执行索引创建,并且依据q的解释,排列可以按降序或升序。
q可以是预先存在的量,它传递关于源数据y的某些信息,诸如y的熵参数(经学习的或通过超先验而预测的),例如尺度参数σ。在此特定情况下,我们可以通过具有降序的尺度参数的变量来定义AO。这伴随着以下解释:与具有大尺度参数σij的变量相关联的高度不确定性区域应该是无条件的,因为其承载通过上下文不容易恢复的信息。在图34中可以看到此过程的示例可视化,其中,AO被定义为y1,y2,...y16。图34示出了尺度参数σ的示例可视化,其在平化到q之后通过argsort算子定义了排列表,以降序按照变量的各相应尺度参数的幅值来组织变量。
也可以从预先存在的量(诸如位置参数μ的一阶或二阶导数)来推导q。这两者都可以通过应用有限差分方法以获得梯度向量(对于一阶导数)或海塞(Hessian)矩阵(对于二阶导数)来获得,并且在计算q和argsort(q)之前获得。然后可以通过梯度向量的范数、海塞矩阵的特征值的范数或者潜在图像的曲率的任何量度来建立排列。另选地,对于二阶导数,排列可以基于拉普拉斯算子的幅值,其相当于海塞矩阵的迹。
最后,q也可以是整个单独的实体。固定的q可以在训练之前任意预定义,并在整个训练期间保持静态或动态,就像超参数一样。另选地,它可以通过梯度下降来学习和优化,或者通过超网络而被参数化。
我们调用y的元素的方式取决于我们是否希望梯度历经排列算子:
·如果不需要梯度:通过按照升序/降序对q进行排序来调用元素,并基于排序调用y的元素;
·如果需要梯度:将排序表示为离散置换矩阵P或其连续松弛并与待排序的y进行矩阵相乘:ysort=Py
在通过基于梯度下降的方法优化排列表的情况下,诸如argsort或argmax之类的索引算子可能不是可微分的。因此,必须使用置换矩阵的连续松弛这可以用SoftSort算子实现:
其中,d是任意距离指标,诸如Ll范数,d(x,y)=|x-y|,1M是长度为M的1的向量,τ>0是控制连续程度的温度参数(其中,即,当τ接近零时,接近真正的argsort算子。逐行地应用softmax算子,使得每行总和为1。图35中示出了这样的示例,其中示出了置换矩阵表示的示例,由q定义的排列表的离散P(通过argsort算子和独热表示)和连续松弛/>(通过SoftSort算子)。作为梯度下降的替代方案,还可以使用基于强化学习的优化技术。
排列表概念也可以扩展到与二元掩码核一起工作。矩阵q将与掩码核本身具有相同的维数,并且将基于q中元素的排列来指定AO。图36将应用于二元掩码核框架的排列表概念的示例可视化。
另一种可能的自回归模型是在潜在空间的层次变换上定义的。从此角度来看,潜值被变换为变量的层次结构,并且现在越低的层次级以越高的层次级为条件。
可以使用小波分解来最好地例示此概念。在小波分解中,信号被分解为高频和低频分量。这是经由小波算子W进行的。让我们将潜在图像表示为尺寸为H×W像素的y0。我们使用上标0来标记潜在图像位于层次结构的最低(或根)级。通过将小波变换应用一次,可以将潜在图像变换为4个较小图像和/>的集合,每个的尺寸为H//2×W//2。字母H和L分别表示高频和低频分量。元组中的第一个字母对应于图像的第一个空间维度(例如高度),第二个字母对应于第二个维度(例如宽度)。因此,例如/>是潜在图像y0的对应于高度维度中的高频和宽度维度中的低频的小波分量。
用矩阵表示法,我们得出了
所以,可以看出W是块矩阵,包括4个矩形块,每个块表示各自对应的频率分解。
现在此过程可以再次递归地应用于低频块上,这构建分解的层次树。图37是具有两级的层次结构的过程示例。图37示出了基于小波变换的层次自回归排序。顶部图像示出了前向小波变换创建变量的层次结构,在此情况下具有两级。中间图像示出了变换可以反转以复原前一级的低频元素。底部图像示出了由层次结构的一个级中的元素之间的示例DAG定义的自回归模型。因此,小波变换可以用于创建层次结构的多级树。
至关重要的是,如果变换矩阵W是可逆的(并且实际上在小波变换的情况下W-1=WT),那么整个过程可以逆转。给定层次结构的最后级,仅通过在最后级上应用逆变换就可以轻松地复原在前层的低频分量。然后,复原下一级的低频分量,将逆变换应用于倒数第二级,依此类推,直到复原原始图像。
现在,如何使用这种层次结构来构建自回归排序?在每个层次级中,在该级的元素之间定义了自回归排序。例如,参照图37的底部图像,其中,低频分量位于该级的DAG的根处。我们注意到,自回归模型也可以应用于层次结构中每个变量的组成元素(像素)。该级中的其余变量以该级的先前元素为条件。然后,在已经描述了该级的所有条件依赖关系之后,使用逆小波变换来复原在前级的最低频率分量。
在下一个最低级的元素之间定义了另一个DAG,并递归地应用自回归过程,直到复原原始潜在变量。
因此,使用树的各级的元素之间的DAG和逆小波变换,关于按照图像的小波变换的级而给出的变量定义了自回归排序。
我们指出,这个过程可以通过若干方式泛化:
·可以使用任何可逆变换,并非必须是小波变换。这包括
-置换矩阵,例如其由二元掩码定义
-其他规范正交变换,诸如快速傅立叶变换(Fast Fourier Transform)
-经学习的可逆矩阵
-预测出的可逆矩阵,例如通过超先验
·层次分解也可以应用于视频。在此情况下,树的每个级具有8个分量,对应于lll、hll、lhl、hhl、llh、lhh、hhh、hlh,其中,现在第一个字母表示时间分量。
增强拉格朗日
国际专利申请PCT/GB2021/052770中阐述了用于约束优化和比率失真退火的示例技术,该文献已通过引入而并入本专利申请。
基于AI的压缩流水线试图最小化比率(R)和失真(D)。目标函数为:
minλRR+λDD (65)
其中,最小化是在压缩算法的集合上进行的,λR和λD是分别控制比率和失真对总体目标的相对重要性的标量系数。
在国际专利申请PCT/GB2021/052770中,该问题被重新阐述为约束优化问题。用于解决此约束优化问题的方法是PCT/GB2021/052770中描述的增强拉格朗日技术。约束优化问题是求解:
min D (66)
使得R=c (67)
其中,c是目标压缩率。注意,D和R是在整个数据分布上求平均的。还要注意的是,也可以使用不等式约束。此外,R和D的角色可以颠倒:相反,我们可以使经过失真约束(其可以是约束方程组)的比率最小化。
通常,将使用随机一阶优化方法来求解约束优化问题。也就是说,针对小批量训练样本(而不是整个数据集)来计算目标函数,然后计算梯度。然后将执行更新步骤,修正压缩算法的参数,以及与约束优化相关的可能的其他参数,诸如拉格朗日乘子。此过程可以迭代数千次,直到已经达到合适的收敛标准。例如,可以执行以下步骤:
·利用例如:SGD、小批量SGD、Adam(或在训练神经网络中使用的任何其他优化算法),并且损失进行一个优化步骤
·更新拉格朗日乘子:λ←λ+∈μ(R-r0),其中,∈被选择得较小
·重复以上两步,直到拉格朗日乘子基于目标比率r0已经收敛
然而,在随机小批量一阶优化设置下训练约束优化问题的同时遇到了若干问题。首先也是最重要的,每次迭代时不能针对整个数据集计算约束,并且通常仅针对每次迭代时所使用的小批量训练样本计算约束。在每个批量中使用如此少量的训练样本可能使约束优化参数(诸如增强拉格朗日中的拉格朗日乘子)的更新极度依赖于当前批量,导致训练更新的高方差、次优解、甚至不稳定的优化例程。
可以在N个先前迭代步骤上计算聚合的平均约束值(诸如平均比率)。这样做的有益效果是扩展了最后多个优化迭代步骤的约束信息,以应用于当前优化步骤,尤其是在更新与约束优化算法有关的参数(诸如,在增强拉格朗日中更新拉格朗日乘子)中。计算最后N次迭代的平均值并将其应用于优化算法的方法被非穷举列举如下:
·保留最后N个训练样本的约束值的缓冲。然后,可以使用该缓冲以更新,例如在迭代t处的增强拉格朗日乘子λ为: (缓冲),其中,avg是通用平均算子。尽管可以使用任何平均算子,但是平均算子的示例有:
-算术均值(通常简称“平均值”)
-中值
-几何均值
-调和均值
-指数移动平均值
-平滑移动平均值
-线性加权移动平均线值。
·在每个训练步骤中,代替计算梯度并将其立即应用于模型权重地,我们将其累积N次迭代,然后在N次迭代之后使用平均函数来进行单个训练步骤。
无论如何,关于许多N次先前迭代计算聚合约束值,并使用其来更新训练优化算法的参数,诸如拉格朗日乘子。
随机一阶优化算法的第二个问题是数据集将包含具有极大或极小约束值的图像(诸如具有非常小或非常大的比率R)。当数据集中存在离群值时,离群值将迫使我们正在学习的函数将其考虑在内,并且可能对更常见的样本创建差的拟合。例如,当存在许多离群值时,优化算法的参数(诸如拉格朗日乘子)的更新可能具有高方差,并导致非最佳训练。
可以从以上详述的约束平均值的计算中去除一些离群值。用于过滤(去除)这些离群值的一些可能的方法可以是
·当累积训练样本时,可以用删减均值代替均值。删减均值和正常均值之间的不同在于:对于删减版本,均值计算时x%的高值和低值不予考虑。例如,一种方法可以删减高值和低值样本的5%(按排列顺序)。
·可能不需要贯穿整个训练过程进行删减,并且可以在训练过程的后期使用常规平均值(没有删减)。例如,在100万次迭代之后,可以关闭删减均值。
·可以每N次迭代拟合离群值检测器,以允许模型从均值中完全消除这些样本或降低其权重。
使用约束优化算法(诸如增强拉格朗日),我们能够将特定的平均约束(诸如比率)目标c瞄准训练数据集。然而,收敛到训练集上的这一目标约束并不能保证我们对验证集具有相同的约束值。这可能是由训练中所使用的量化函数与推理(测试/验证)中所使用的量化函数之间的变化引起的。例如,通常在训练期间使用均匀噪声进行量化,但是在推理中使用舍入(称为“STE”)。理想情况下,在推理中将满足约束,但这可能难以实现。
可以执行以下方法:
·在每个训练步骤,使用分离算子计算约束目标值,其中,在向前传递中使用推理值,但在向后传递(梯度计算)中使用训练梯度。例如,在讨论比率约束时,可以使用值Rnoisy+(RSTE-Rnoisy).detach(),其中,“detach”表示从自动微分图中剥离该值。
·针对图像的“保留集(hold out set)”更新约束算法的参数,在图像的“保留集(hold out set)”下使用与推理中相同的设置来评估模型。
上述以及国际专利申请PCT/GB2021/052770中阐述的技术也可以应用于基于AI的视频压缩。在此情况下,拉格朗日乘子可以应用于与用于每个训练步骤的视频的每个帧相关联的比率和失真。这些拉格朗日乘子中的一个或更多个可以使用上面讨论的技术来优化。另选地,在训练过程期间,乘子可以关于多个帧被求平均。
对于训练步骤中使用的输入视频的每个帧,拉格朗日乘子的目标值可以设置为相等的值。另选地,可以使用不同的值。例如,对于视频的I帧到视频的P帧,可以使用不同的目标。与P帧相比,I帧可以使用更高的目标比率。相同的技术也可以应用于B帧。
以与图像压缩类似的方式,对于训练中使用的视频的一个或更多个帧,目标比率能够被初始设置为零。当针对失真设置目标值时,目标值可以设置为:对于失真,初始权重最大(例如,目标比率可以设置为1)。
张量网络
基于AI的压缩依赖于对离散概率质量函数(PMF)进行建模。这些PMF可以看似简单。我们通常的心理模型从一个离散变量X开始,它可以取自D个可能值X1,…,XD。然后,通过制作定义了项Pi=P(Xi)的表,可以简单地构建PMF P(X)。当然,Pi必须是非负数且总和为1,但这可以通过例如使用softmax函数来进行。
出于建模目的,学习此表中能够适应特定数据分布的每个Pi似乎并不困难。
关于分别可以取N个可能值的两个变量X和F的PMF怎么样?这似乎仍然是可控的,做法是需要包含项Pij=P(Xi,Yj)的2d表,这稍微更为复杂;现在表中具有D2个项,
但仍然是可控的,前提是D不是太大。依此类推,对于三个变量,将需要3d表,其中,通过3元组来索引项Pijk
然而,一旦我们尝试对任何不止少量的离散变量进行建模,这种单纯的“构建表格”方法可能很快就变得不可控。例如,考虑关于RGB 1024×1024图像的空间对PMF进行建模:每个可以取2563个可能值(每个颜色通道具有256个可能值,而我们有3个颜色通道)。那么我们需要的查找表有个项。以10为基数,大约是/>处理此问题的方法有很多,离散建模中的教科书式方法是使用概率图模型。
在另选的方法中,PMF可以建模为张量。张量只是巨型表的另一种简单说法(但具有一些额外的代数属性,本文未讨论)。离散PMF始终可以描述为张量。例如,2阶张量(另选地称为矩阵)是具有两个索引的数组,即2d表。因此,上述关于两个离散变量X和Y的PMF Pij=P(Xi,Yj)是2阶张量。N阶张量是具有N个索引的数组,并且如果T的项为正且总和为1,则这是关于N个离散变量的PMF。表1针对某些概率概念示出了检视PMF的标准方法与张量观点的比较。
此观点的主要吸引力在于可以使用张量网络的框架对海量张量进行建模。可以使用张量网络通过若干低维(即,易处理)张量的收缩来近似计算非常高维的张量。也就是说,可以使用张量网络来执行原本难以处理的张量的低秩近似。
表1:关于若干概率概念的与张量观点的比较
例如,如果我们将矩阵视为2阶张量,则标准低秩近似(诸如奇异值分解(SVD)和主分量分析(PCA))就是张量网络因子分解。张量网络是线性代数中使用的低秩近似到多线性映射的泛化。用于机器学习的概率建模中使用张量网络的示例在IIvan Glasser、RyanSweke、Nicola Pancotti、Jens Eisert和J Ignacio Cirac的“Expressive power oftensor-network factorizations for probabilistic modeling,with applicationsfrom hidden markov models to quantum machine learning”(arXiv preprint,arXiv:1907.03741,2019)中被示出,该文献已通过引用被并入到本申请中。
张量网络可以被认为是图示模型的替代者。张量网络和图示模型之间存在对应关系:任何概率图示模型可以重铸为张量网络,但反之则不然。存在用于联合密度建模的张量网络,它们不能被重铸为概率图示模型,但具有强大的性能保证,并且在计算上易于处理。在许多情形下,张量网络比传统概率图示模型(如HMM)更具表现力:
·给定固定数量的参数,实验上张量网络胜过HMM。
·此外,对于固定低秩近似,张量网络理论上可以再次胜过HMM。
在所有其他建模假设相同的情况下,张量网络可以优于HMM。
对此结果的直观解释是,概率图示通过其条件概率而对联合进行因子分解,其条件概率通过仅考虑指数映射p(X=xi|Y)∝exp(-f(xi))通常被约束为正。这相当于将联合建模为玻尔兹曼/吉布斯(Boltzmann/Gibbs)分布。这实际上可以是限制性的建模假设。通过张量网络提供的完全替代方法是对于某些埃尔米特(Hermitian)正(半)定算子H将联合建模为内积:p(X)∝<X,HX>(此建模方法受到量子系统的玻恩规则(Born rule)的启发)。算子H可以写为巨张量(或张量网络)。至关重要的是,H的项可以很复杂。如何(或者是否)将其转换为图示模型并不显而易见。然而,它确实呈现了完全不同的、在其他情况下无法实现的建模视角。
让我们通过简单示例来例示什么是张量网络分解。假设我们有具有项Tij的大的D×D矩阵T(2阶张量),并且我们想要对T进行低秩近似,比如说r秩近似,其中r<D。如此做的一种方法是找到近似具有项/>
换言之,我们说其中,A是D×r矩阵,而B是r×D矩阵。我们引入了待求和的、在A和B之间共享的隐藏维度。这在建模中非常有用:代替处理巨大的D×D矩阵地,如果我们将r设置得非常小,则我们通过从D2个参数到2Dr个参数可以节省大量计算时间或功耗。此外,在许多建模情形下,r可以非常小,同时仍然产生T的“足够好的”近似。
现在让我们按照相同的方法对3阶张量进行建模。假设我们给定具有项Tijk的D×D×D张量T。T求近似的一种方法是利用以下分解
这里A和C是低秩矩阵,B是低秩3阶张量。现在有两个待求和的隐藏维度:一个在A和B之间,而一个在B和C之间。在张量网络的说法中,这些隐藏维度可以称为键维度。关于维度的求和可以称为收缩。
此示例可以依此类推,将4阶张量近似计算为低维张量的积,但索引符标记很快变得写起来很麻烦。相反,我们将使用张量网络图,这是以图表方式传达相同计算的简洁方式。
在张量网络图中,张量由块表示,每个索引维度表示为臂,如图38所示。通过简单地计算自由(悬)臂的数量而得出张量的维数。图38的顶行从左到右示出了向量、矩阵和N阶张量。通过将两个张量臂连接在一起来表示张量积(沿特定索引维度求和/收缩)。我们可以在图38中以图解方式看出:左下角的矩阵向量积具有一个悬臂,因此所得积是1阶张量,即向量,正如我们所期望的那样。类似地,右下角的矩阵-矩阵积具有两个悬臂,因此其结果是矩阵,正如我们所期望的那样。
我们可以以图解方式表示由方程(69)给出的3阶张量的张量分解,如图39的顶行所示,这比方程(69)更容易理解。现在假设我们想要调用/>的特定元素/>我们只需将自由索引固定为期望的值,然后执行必要的收缩。
有了这个标记,我们现在可以深入研究一些用于概率建模的可能的张量网络因子分解。关键思想是高维PMF的真实联合分布是棘手的。我们必须对其进行求近似,而这将使用张量网络因子分解来进行。然后这些张量网络因子分解可以进行学习以适应训练数据。并非所有张量网络因子分解都将是适用的。可能需要将张量网络的项限制为非负且总和为1。
方法的示例是使用矩阵乘积态(MPS)(有时也称为张量链)。假设我们想要将PMF P(X1,…,XN)建模为张量MPS将该张量分解为2阶张量和3阶张量的长链
图示为张量网络图,这可以在图39的底行中看到。为了确保仅具有正项,Aj张量组分中的每一个被约束为仅具有正值。这可以通过逐元素对参数矩阵求幂来进行,A=exp(B)。/>
为了确保项的总和为1,通过关于所有可能的状态求和来计算归一化常数。虽然针对普通N阶张量计算此归一化常数可能是不切实际的,但对于MPS来说方便的是,由于其线性性质,可以在时间内计算出归一化常数。这里的“线性性质”是指,逐一顺序地执行张量积,沿张量链的线向下运算(张量及其张量网络近似都是多线性函数。)
MPS看起来很像隐马尔可夫模型(HMM)。事实上,确实存在对应关系:具有正项的MPS与HMM完全对应。
张量网络模型的另一示例是玻恩机和局部纯态(LPS)。两者都受到源自量子系统的模型的启发。量子系统假设玻恩规则,也就是说,事件X发生的概率与其内积<·,H·>下的平方范数成正比,并使用一些正(半)定埃尔米特算子H。换言之,联合概率是二次函数。这是强大的概率建模框架,与图示模型没有明显的联系。
局部纯态(LPS)采用图40所示的形式。在LPS中,对Ak张量组分的符号没有约束——它们可以为正或者为负。事实上,Ak可以具有复值。在此情况下,是通过取A中的项的复共轭而构成的张量。αk维度可以称为键维度,并且βk维度可以称为纯化维度。
凭借沿纯化维度的收缩产生正值(对于复数z,)这一事实,保证/>的元素为正。如果我们将{i1,...,iN}视为一个巨大的多索引/>我们可以看到LPS是巨大矩阵的对角线(在收缩所有隐藏维度之后),并且评估LPS相当于关于状态空间运算内积。
与MPS中一样,计算LPS的归一化常数很快,并且可以在时间内进行。玻恩机是LPS在纯化维度的尺寸为1时的特例。
张量树是张量网络的另一示例类型。在树的叶子处,悬臂应该与数据一起收缩。然而,隐藏维度布置在树中,其中,树的节点存储张量。树的边是待收缩的张量的维度。图41中绘出了简单的张量树。树的节点存储张量,边绘出了张量之间的收缩。在树的叶子处的是待与数据一起收缩的索引。张量树可以用于概率分布的多分辨率和/或多尺度建模。
要注意的是,张量树可以与局部纯态的框架相结合:可以将纯化维度添加到每个张量节点,以与该节点的复共轭一起收缩。然后,这将根据由张量树及其复共轭给出的某些埃尔米特算子来定义内积。
另一张量网络的示例是投影纠缠对态(PEPS)。在此张量网络中,张量节点布置在规则的网格中,并与其直接邻居节点一起收缩。每个张量具有待与数据(诸如潜在像素值)一起收缩的附加悬臂(自由索引)。在某种意义上说,PEPS与马尔可夫随机场(MarkovRandom Fields)和伊辛模型(Ising Model)存在相似之处。图42中给出了2×2图像分块上PEPS的简单示例。
如下面更详细地讨论,通过将张量置于典范型,可以极大地简化并大大地加快张量网络计算(诸如计算PMF的联合概率、条件概率、边际概率或计算PMF的熵)。上面讨论的所有张量网络全都可以置于典范型。
因为隐藏维度的表示基础不是固定的(所谓的规范自由度),所以我们可以简单地改变这些张量的表示基础。例如,当张量网络置于典范型时,几乎所有张量可以变换为规范正交(酉)矩阵。
这可以通过对张量网络中的张量执行按顺序的分解集合来完成。这些分解包括QR分解(及其变型,RQ、QL和LQ)、SVD分解和谱分解(如果可用)、舒尔(Schur)分解、QZ分解、高木(Takagi)分解等。张量网络改写成典范型的过程的工作原理是将每个张量分解为规范正交(酉)分量和其他因子。另一因子与相邻张量一起收缩,修正相邻张量。然后,将相同的过程应用于相邻张量及其邻居,依此类推,直到除了一个张量之外的所有张量都是规范正交的(酉)。
余留的非规范正交(酉)张量可以称为核心张量。核心张量类似于SVD分解中的奇异值对角矩阵,并且包含关于张量网络的谱信息。核心张量可以用于计算例如张量网络的归一化常数或张量网络的熵。
图43从上到下示出了将MPS变换为典范型的过程示例。经由QR分解来依次分解核心张量。R张量与链中的下一个张量收缩。重复该过程,直到除了核心张量C之外的所有张量都处于规范正交形式。
现在将更详细地讨论基于AI的图像和视频压缩中使用张量网络进行概率建模。如上所讨论的,在基于AI的压缩流水线中,输入图像(或视频)x经由编码函数(通常是神经网络)被映射为潜在变量y。使用量化函数Q将潜在变量y量化为整数值使用诸如以上所讨论的熵编码之类的无损编码方法将这些经量化的潜值转换为比特流。算术编码或解码是这种编码过程的示例并且将在进一步讨论中用作示例。
这种无损编码过程需要概率模型:算术编码器/解码器需要概率质量函数将整数值转换为比特流。在解码时,类似地,使用PMF将比特流转换回经量化的潜值,然后馈送其历经解码器函数(通常也是神经网络),其恢复为重构图像/>
比特流的尺寸(压缩比率)很大程度上取决于概率(熵)模型的质量。针对相同质量的重构图像,更好、更强大的概率模型可以得到更小的比特流。
算术编码器通常以一维PMF操作。为了合并此建模约束,通常假设联合PMF是独立的,使得每个像素/>由一维概率分布/>建模。然后,联合密度被建模为
其中,M是像素数量。参数θi控制像素i处的一维分布。如以上所讨论的,通常可以通过超网络(包含超编码器和超解码器)来预测参数θ。另选地或附加地,可以通过使用先前解码的像素作为输入的上下文模型来预测参数。
无论哪种方式,从根本上来说,此建模方法假设关于像素中的每一个都是一维分布。这可能是受限制的。更好的方法是对联合分布整体进行建模。然后,当对比特流进行编码或解码时,算术编码器/解码器所需的必要一维分布可以被计算为条件概率。
张量网络可以用于对联合分布进行建模。这可以按如下进行。假设我们给出经量化的潜值每个潜在像素将被嵌入(或提升)到高维空间中。在这个高维空间中,整数由位于概率单纯形的顶点上的向量表示。例如,假设我们将yi量化为D个可能的整数值{-D//2,-D//2+1,…,1,0,1,…,D//2-1,D//2}。嵌入将yi映射到D维独热向量,并且在与整数值相对应的位置(slot)中为1,否则为零。
例如,假设每个可以取值{-3,-2,-1,0,1,2,3},并且/>那么嵌入就是/>
因此,嵌入将映射到/>实际上,在M维空间中的/>被选取并映射到DM维空间。
现在,嵌入中的这些项中的每个项可以被视为索引高维张量的维度。因此,我们将采取的方法是经由张量网络对联合概率密度进行建模。例如,我们可以将联合密度建模为
其中H是经由张量网络建模的埃尔米特算子(如上所述)。这里实际上可以使用任何具有易于处理的推理的张量网络,诸如张量树、局部纯态、玻恩机、矩阵乘积态或投影纠缠对态,或任何其他张量网络。
在编码/解码时,联合概率不能被算术编码器/解码器使用。相反,必须使用一维分布。为了计算一维分布,可以使用条件概率。
方便的是,通过边缘化隐藏变量、固定先验条件变量和归一化,可以轻松计算条件概率。所有这些都可以使用张量网络轻松进行。
例如,假设我们按照光栅扫描顺序进行编码/解码。然后,按逐像素的方式,我们需要以下条件概率:通过关于隐藏(看不见的)变量收缩张量网络、固定条件变量的索引并通过适当的归一化常数进行归一化,可以轻松计算这些条件概率中的每一个。
如果张量网络是典范型,这是特别快的过程,因为在此情况下,沿隐藏维度的收缩相当于与恒等式相乘。
张量网络可以应用于关于所有潜在像素或潜在像素分块的PMF的联合概率建模,或者关于潜在表示的通道的联合概率建模,或其任何组合。
利用张量网络的联合概率建模可以很容易地纳入到如下的基于AI的压缩流水线中。可以在端到端训练期间对张量网络进行学习,然后在训练后固定。另选地,可以通过超网络来预测张量网络或其分量。张量网络可以附加地或另选地用于对超网络中的超潜值进行熵编码和熵解码。在此情况下,可以在端到端训练期间对用于对超潜值进行熵编码和熵解码的张量网络的参数进行学习,然后在训练后固定。
例如,超网络可以逐块(pitch)地预测张量网络的核心张量。在此情况下,核心张量在像素块之间变化,但其余张量经过学习,并且在像素块之间是固定的。例如,参见图44示出了具有由超编码器/超解码器预测的张量网络的基于AI的压缩编码器,图45示出了具有由超解码器预测的张量网络的基于AI的压缩解码器,以供使用基于AI的压缩流水线中的张量网络。可以假设与图1和图2所示特征相对应的特征与上面讨论的相同。在这些示例中,其是使用张量网络概率模型量化、编码和解码的残差ξ=y-μ。在此情况下,张量网络参数由Ty表示。在图44和图45所示的示例中,使用具有由Tz表示的参数的张量网络概率模型来附加地对经量化的超潜值进行编码和解码。
可以使用利用先前解码的潜在像素的上下文模块来预测张量网络的一部分,而不是(或可能结合)使用超网络来预测张量网络分量。
在用张量网络概率模型训练基于AI的压缩流水线期间,可以针对非整数值潜值(y而不是其中,Q是量化函数)来训练张量网络。为此,可以关于非整数值定义嵌入函数e。例如,嵌入函数可以由帐篷函数(tent function)组成,帐篷函数在适当的整数值处取为1的值,在所有其他整数处取为0的值,并在其之间进行线性插值。然后执行多线性插值。可以使用嵌入方案的任何其他实值扩展,前提是该扩展与整数值点上的原始嵌入一致。
可以通过训练期间某种形式的正则化来增强张量网络熵模型的性能。例如,可以使用熵正则化。在此情况下,可以计算张量网络的熵H(q),并且可以在训练损失函数中添加或减去该熵的倍数。要注意的是,可以通过计算核心张量的熵来轻松地计算典范型的张量网络的熵。
超超网络
下面将讨论用于但不限于基于AI和深度学习的图像和视频数据压缩的辅助超超先验的当前功能和范围以及训练技术的利用。
基于AI的图像和视频压缩普遍采用的网络配置是自动编码器。它由编码器模块和解码器模块组成,该编码器模块将输入数据转换为“潜值”(y)(输入数据的另一种表示并且通常建模为像素的集合),而解码器模块获取潜值的集合并拟将其变换回输入数据(或尽可能相似)。由于“潜值空间”的高维性质,其中每个潜在像素代表维度,我们用所谓的“熵模型”将参数分布“拟合”到潜值空间上。熵模型用于使用无损算术编码器将/>转换为比特流。熵模型的参数(“熵参数”)是在网络内部进行学习的。熵模型可以直接进行学习,或者可以经由超先验结构来预测熵模型。图1中可以找到该结构的图示。
熵参数最常见的是由位置参数和尺度参数(其通常表示为正实值)组成,诸如(但不限于)高斯分布的均值μ和标准差σ,以及拉普拉斯分布的均值μ和尺度b。自然地,存在参数的和非参数的更多分布类型,并且参数类型多种多样。
超先验结构(图2)介绍了额外的“潜值”集合(z),它遍历预测熵参数的变换集合。如果我们假设通过高斯分布对y进行建模,则超先验模型可以定义为:
其中,所有带有^的符号表示原始的经量化的版本,Q是量化函数,hD是变换的集合,θ表示所述变换的参数,该结构用于帮助熵模型捕获其本身无法捕获的依赖关系。由于超先验预测熵模型的参数,因此我们现在可以学习超先验的模型,该模型可以由与熵模型相同类型的参数分布组成。正如我们向熵模型添加超先验一样,我们可以向超先验添加具有潜值w的超先验(它被称为超超先验)来预测其参数。因此,现在我们得出了/>而不是/>可以向模型中添加更多超先验。
可以向具有超先验的已经训练的模型中添加超超先验,这可以称为辅助超超先验。尤其是但不排他地应用该技术,以提高模型捕获低频特征的能力,从而提高在“低比率”图像上的性能。如果没有突然的颜色变化贯穿其轴,则图像中会存在低频特征。因此,具有大量低频特征的图像中将只有一种颜色贯穿整个图像。我们可以通过提取图像的功率谱来找出图像具有的低频特征的量。
超超先验可以与超先验和熵参数联合起来进行训练。然而,在所有图像上使用超超先验可能计算成本高昂。为了保持非低比率图像上的性能,但仍然赋予网络对低频特征进行建模的能力,我们可以采用当图像符合预定特征(诸如低比率)时使用的辅助超超先验。低比率图像的示例是每像素位数(bpp)大致低于0.1。算法3中示出了其示例。
辅助超超先验框架允许模型仅在需要时进行调整。一旦经过了训练,我们就可以将该特定图像需要超超先验的标志信令编码到比特流中。此方法可以泛化到熵模型的无限分量,诸如超超超先验。
训练我们的超超先验最直接的方法是“冻结”现有的预训练的超先验网络,包括编码器和解码器,并且仅优化超超模块的权重。在本文档中,当我们提到“冻结”时,意味着不对被冻结的模块的权重进行训练,并且不累积梯度以训练非冻结模块。通过冻结现有的熵模型,超超先验可以修正超先验的参数,如正态分布情况下的μ和σ,以此方式使得其更加偏向于低比率图像。
使用此训练方案提供了若干益处:
·由于较少量的参数待被计算和存储梯度,因此训练时间和内存消耗可以更好地适应于图像尺寸。
·可以使用训练超先验的无限迭代过程,冻结并训练另一叠加的超先验。
可能的实现是初始让超先验网络训练N次迭代。一旦达到N次迭代,如果图像具有低比率,我们可以冻结熵模型并切换到超超先验。这使得超先验模型能够专注于其已经擅长的图像,而超超先验则按预期工作。算法4例示了训练方案。通过将图像分割为尺寸为NxN的K个块,然后在这些块上应用此方案,此训练也可用于仅对图像的低频区域(如果有)进行训练。
另一可能性是不等待N次迭代才开始训练超超先验,如算法5所示。
/>
将图像分类为低比率有不同的标准可供选择,包括:使用利用我们选择的作为先验的分布来计算出的比率、使用图像功率谱的均值或中值、通过快速傅里叶变换获得的频率的中值或均值。
可以使用数据增强来创建更多具有与低比率图像有关的低频特征的样本,以创建足够的数据。存在可以修正图像的不同方式:
·将所有图像上采样(Upsampling)至固定尺寸NxN。
·使用恒定的上采样因子。
·从分布中随机地采样上采样因子。所选分布可以是任一以下分布:均匀、高斯、甘贝尔(gumbel)、拉普拉斯、高斯混合、几何、学生t分布、非参数、chi2、贝塔(beta)、伽马(gamma)、帕累托(pareto)、柯西(cauchy)。
·在图像上使用平滑滤波器。以下任何滤波器都适用:平均、加权平均、中值、高斯、双边。
·使用真实图像尺寸,除非它小于某个阈值N,然后上采样到固定尺寸、使用恒定上采样因子或从分布中采样上采样因子,如前面刚刚所描述的。
除了对图像进行上采样或模糊化之外,还可以执行随机裁剪。
附图文字
图3
Hyper encoder:超编码器
Hyper decoder:超解码器
Encoder:编码器
quantized(for lossy compression):量化(用于有损压缩)
arithmetic encoder:算术编码器
bitstream:比特流
x:输入数据
y:潜在表示
z:超潜在表示
经量化的超潜在表示
经量化的潜在表示
μyz:位置熵参数
σyz:尺度熵参数
图4
Hyper decoder:超解码器
decoder:解码器
bitstream:比特流
arithmetic encoder:算术编码器
经量化的超潜在表示
经量化的潜在表示
重构数据
μyz:位置熵参数
σyz:尺度熵参数
图7
Hyper encoder:超编码器
Hyper decoder:超解码器
Encoder:编码器
quantized(for lossy compression):量化(用于有损压缩)
arithmetic encoder:算术编码器
bitstream:比特流
x:输入数据
y:潜在表示
z:超潜在表示
经量化的超潜在残差
经量化的潜在残差
μyz:位置熵参数
σyz:尺度熵参数
Δyz:量化仓尺寸
图8
Hyper decoder:超解码器
decoder:解码器
bitstream:比特流
arithmetic encoder:算术编码器
经量化的超潜在表示
经量化的潜在表示
经量化的超潜在残差
经量化的潜在残差
重构数据/>
μyz:位置熵参数
σyz:尺度熵参数
图10
Generator:生成器
Discriminator:鉴别器
图11
Encoder:编码器
Decoder:解码器
Discriminator:鉴别器
图13
Encoder:编码器
Decoder:解码器
Discriminator:鉴别器
图16
Encoder:编码器
Decoder:解码器
Discriminator:鉴别器
图17
Encoder:编码器
Decoder:解码器
Discriminator:鉴别器
图18
Encoder:编码器
Decoder:解码器
图20
Encoder:编码器
Decoder:解码器
图21
Laplace PDF:拉普拉斯PDF
Training PDF:训练PDF
Inference PMF:推理PMF
图22
Interpolant:插值
图24
Hyper encoder:超编码器
Hyper decoder:超解码器
Encoder:编码器
Implicit solver:隐式求解器
quantized(for lossy compression):量化(用于有损压缩)
arithmetic encoder:算术编码器
bitstream:比特流
x:输入数据
y:潜在表示
z:超潜在表示
经量化的超潜在表示
经量化的潜在残差
经量化的潜在表示
μyz:位置熵参数
σyz:尺度熵参数
Ly:上下文矩阵
图25
Hyper decoder:超解码器
Linear solver:线性求解器
decoder:解码器
bitstream:比特流
arithmetic encoder:算术编码器
经量化的超潜在表示
经量化的潜在残差
经量化的潜在表示
重构数据
μyz:位置熵参数
σyz:尺度熵参数
Ly:上下文矩阵
图29
Step:步骤
图31
Step:步骤
图32
Adjacency matrix:邻接矩阵
Directed graph:有向图
if:如果
else:否则
connectivity criterion:连接性准则
图35
One-hot:独热

Claims (177)

1.一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值,其中,在所述量化过程中使用的仓的尺寸是基于所述输入图像的;
将所述经量化的潜值传输到第二计算机系统;
使用第二经训练的神经网络对所述经量化的潜值进行解码,以产生输出图像,其中,所述输出图像是所述输入图像的近似。
2.根据权利要求1所述的方法,其中,所述仓的尺寸在所述潜在表示的至少两个像素之间是不同的。
3.根据权利要求1或2所述的方法,其中,所述仓的尺寸在所述潜在表示的至少两个通道之间是不同的。
4.根据任一前述权利要求所述的方法,其中,为所述潜在表示的每个像素分配仓尺寸。
5.根据权利要求4所述的方法,其中,所述量化过程包括与分配给所述潜在表示的每个像素的仓尺寸相对应地对各相应的像素的值执行操作。
6.根据任一前述权利要求所述的方法,其中,所述量化过程包括从所述潜在表示的每个像素减去所述潜在表示的均值。
7.根据任一前述权利要求所述的方法,其中,所述量化过程包括舍入函数。
8.根据任一前述权利要求所述的方法,其中,用于对所述经量化的潜值进行解码的所述仓的尺寸是基于所述经量化的潜值的先前解码的像素的。
9.根据任一前述权利要求所述的方法,其中,所述量化过程包括第三经训练的神经网络。
10.根据权利要求9所述的方法,其中,所述第三经训练的神经网络接收所述经量化的潜值的至少一个先前解码的像素作为输入。
11.根据任一前述权利要求所述的方法,该方法还包括以下步骤:
使用第四经训练的神经网络对所述潜在表示进行编码以产生超潜在表示;
对所述超潜在表示执行量化过程以产生经量化的超潜值;
将所述经量化的超潜值传输到第二计算机系统;以及
使用第五经训练的神经网络对所述经量化的超潜值进行解码以获得所述仓的尺寸;
其中,所述经量化的潜值的解码是使用所获得的仓的尺寸来进行的。
12.根据权利要求11所述的方法,其中,所述第五经训练的神经网络的输出由另一函数处理以获得所述仓的尺寸。
13.根据权利要求12所述的方法,其中,所述另一函数是第六经训练的神经网络。
14.根据权利要求11至13中任一项所述的方法,其中,在对所述超潜在表示的量化过程中所使用的仓的尺寸是基于所述输入图像的。
15.根据任一前述权利要求所述的方法,其中,所述方法还包括以下步骤:识别所述输入图像的至少一个感兴趣区域;以及针对所述潜在表示的在所识别出的感兴趣区域中的至少一个相应像素减小在所述量化过程中使用的所述仓的尺寸。
16.根据任一前述权利要求所述的方法,其中,所述方法还包括以下步骤:识别所述输入图像的至少一个感兴趣区域;其中,针对所述潜在表示的在识别出的感兴趣区域中的至少一个相应像素使用不同的量化过程。
17.根据权利要求15或16所述的方法,其中,由第七经训练的神经网络识别所述至少一个感兴趣区域。
18.根据权利要求15至17中任一项所述的方法,其中,所述一个或更多个感兴趣区域的位置存储在二元掩码中;以及
所述二元掩码用于获得所述仓的尺寸。
19.一种训练一个或更多个神经网络的方法,所述一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,所述方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值,其中,在所述量化过程中使用的仓的尺寸是基于所述输入图像的;
使用第二神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
基于所述输出图像与所述输入图像之间的差异来进行量的确定;
基于确定出的量更新所述第一神经网络和所述第二神经网络的参数;以及
使用第一输入图像集合重复以上步骤,以产生第一经训练的神经网络和第二经训练的神经网络。
20.根据权利要求19所述的方法,该方法还包括以下步骤:
使用第三神经网络对所述潜在表示进行编码以产生超潜在表示;
对所述超潜在表示执行量化过程以产生经量化的超潜值;
将所述经量化的超潜值传输到第二计算机系统;以及
使用第四神经网络对所述经量化的超潜值进行解码以获得所述仓的尺寸;
其中,所述经量化的潜值的解码是使用所获得的仓尺寸来进行的;以及
基于确定出的量,附加地更新所述第三神经网络和所述第四神经网络的参数,以获得第三经训练的神经网络和第四经训练的神经网络。
21.根据权利要求19或权利要求20所述的方法,其中,所述量化过程包括第一量化近似。
22.根据权利要求21所述的方法,其中,所述确定出的量是附加地基于与所述经量化的潜值相关联的比率的;
使用第二量化近似来确定与所述经量化的潜值相关联的所述比率;以及
所述第二量化近似不同于所述第一量化近似。
23.根据权利要求21或22所述的方法,其中,所述确定出的量包括损失函数,并且更新所述神经网络的参数的步骤包括以下步骤:
评估所述损失函数的梯度;以及
通过所述神经网络后向传播所述损失函数的梯度;
其中,在后向传播所述损失函数的梯度期间使用第三量化近似;以及
所述第三量化近似与所述第一量化近似相同。
24.根据权利要求19至23中任一项所述的方法,其中,基于所述仓的尺寸的分布,附加地更新所述神经网络的参数。
25.根据权利要求24所述的方法,其中,所述分布的至少一个参数是经过学习的。
26.根据权利要求24或25所述的方法,其中,所述分布是逆伽马分布。
27.根据权利要求24或25所述的方法,其中,由第五神经网络确定所述分布。
28.一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值,其中,在所述量化过程中使用的仓的尺寸是基于所述输入图像的;以及
传输所述经量化的潜值。
29.一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:
在第二计算机系统处接收根据权利要求28的方法传输的所述经量化的潜值;
使用第二经训练的神经网络对所述经量化的潜值进行解码,以产生输出图像,其中,所述输出图像是所述输入图像的近似。
30.一种数据处理系统,该数据处理系统被配置为执行根据权利要求1至31中任一项所述的方法。
31.一种数据处理设备,该数据处理设备被配置为执行根据权利要求28或29所述的方法。
32.一种计算机程序,该计算机程序包括指令,当所述程序由计算机执行时,所述指令使得所述计算机实施根据权利要求28或29所述的方法。
33.一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令被计算机执行时,所述指令使得所述计算机实施根据权利要求28或29所述的方法。
34.一种训练一个或更多个神经网络的方法,所述一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;
使用第二神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
基于所述输出图像和所述输入图像之间的差异来进行量的确定;
基于确定出的量更新所述第一神经网络和所述第二神经网络的参数;以及
使用多个输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络;
其中,所述多个输入图像集合中的至少一个集合包括占第一比例的包含特定特征的图像;以及
所述多个输入图像集合中的至少另一个集合包括占第二比例的包含所述特定特征的图像,其中,所述第二比例不同于所述第一比例。
35.根据权利要求34所述的方法,其中,所述第一比例是所述输入图像集合中的所有图像。
36.根据权利要求34或35所述的方法,其中,所述特定特征是以下各项之一:人面部、动物面部、文本、眼睛、唇部、标志、汽车、花和图案。
37.根据权利要求34至36中任一项所述的方法,其中,在重复所述方法步骤期间,所述多个输入图像集合中的每个集合被使用相同次数。
38.根据权利要求34至37中任一项所述的方法,其中,所述输出图像与所述输入图像之间的差异是至少部分地由充当鉴别器的神经网络来确定的。
39.根据权利要求34至38中任一项所述的方法,其中,针对所述多个输入图像集合中的每个集合使用充当鉴别器的单独的神经网络。
40.根据权利要求39所述的方法,其中,对于第一数量的训练步骤更新充当鉴别器的所述神经网络中的一个或更多个神经网络的参数;并且对于第二数量的训练步骤,更新充当鉴别器的所述神经网络中的一个或更多个其他神经网络,其中,所述第二数量低于第一数量。
41.根据权利要求34至40中任一项所述的方法,其中,所述确定出的量是附加地基于与所述经量化的潜值相关联的比率的;
针对所述多个输入图像集合中的至少一个集合的所述参数更新使用了关于与所述经量化的潜值相关联的所述比率的第一权重;以及
针对所述多个输入图像集合中的至少另一个集合的所述参数更新使用了关于与所述经量化的潜值相关联的所述比率的第二权重,其中,所述第二权重不同于第一权重。
42.根据权利要求34至41中任一项所述的方法,其中,至少部分地使用多个感知指标确定所述输出图像与所述输入图像之间的差异;
针对所述多个输入图像集合中的至少一个集合的所述参数更新使用了关于所述多个感知指标的第一权重集合;以及
针对所述多个输入图像集合中的至少另一个集合的所述参数更新使用了关于多个感知指标的第二权重集合,其中,所述第二权重集合不同于所述第一权重集合。
43.根据权利要求34至42中任一项所述的方法,其中,所述输入图像是经修正的图像,在其中,通过第三经训练的神经网络已经识别出一个或更多个感兴趣区域并且所述图像的其他区域已经被掩码。
44.根据权利要求43所述的方法,其中,所述感兴趣区域是包括以下特征中的一种或更多种的区域:人面部、动物面部、文本、眼睛、唇部、标志、汽车、花和图案。
45.根据权利要求43或44所述的方法,其中,所述一个或更多个感兴趣区域的区域位置存储在二元掩码中。
46.根据权利要求45所述的方法,其中,所述二元掩码是所述第一神经网络的附加输入。
47.一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;
将所述经量化的潜值传输到第二计算机系统;以及
使用第二经训练的神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
其中,所述第一经训练的神经网络和所述第二经训练的神经网络已经根据权利要求34至46中任一项所述的方法进行了训练。
48.一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;以及
传输所述经量化的潜值;
其中,所述第一经训练的神经网络已经根据权利要求34至46中任一项所述的方法进行了训练。
49.一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:
在第二计算机系统处接收根据权利要求48所述的方法的所述经量化的潜值;以及
使用第二经训练的神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
其中,所述第二经训练的神经网络已经根据权利要求34至46中任一项所述的方法进行了训练。
50.一种数据处理系统,该数据处理系统被配置为执行根据权利要求34至46中任一项所述的方法。
51.一种数据处理设备,该数据处理设备被配置为执行根据权利要求48或49所述的方法。
52.一种计算机程序,该计算机程序包括指令,当所述程序由计算机执行时,所述指令使得所述计算机实施根据权利要求48或49所述的方法。
53.一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令被计算机执行时,所述指令使得所述计算机实施根据权利要求48或49所述的方法。
54.一种训练一个或更多个神经网络的方法,所述一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;
使用第二神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
基于与所述经量化的潜值相关联的比率来进行量的确定,其中,所述比率的评估包括对离散概率质量函数进行插值的步骤;
基于确定出的量更新所述第一神经网络和所述第二神经网络的参数;以及
使用多个输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络。
55.根据权利要求54所述的方法,其中,基于评估出的比率,附加地更新所述离散概率质量函数的至少一个参数。
56.根据权利要求54或55所述的方法,该方法还包括以下步骤:
使用第三神经网络对所述潜在表示进行编码以产生超潜在表示;
对所述超潜在表示执行量化过程以产生经量化的超潜值;以及
使用第四神经网络对所述经量化的超潜值进行解码,以获得离散概率质量函数的至少一个参数;
其中,基于所述确定出的量,附加地更新所述第三神经网络和所述第四神经网络的参数,以获得第三经训练的神经网络和第四经训练的神经网络。
57.根据权利要求54至56中任一项所述的方法,其中,所述插值包括以下各项中的至少一种:分段常数插值、最近邻插值、线性插值、多项式插值、样条插值、分段三次插值、高斯过程和克里金法。
58.根据权利要求54至57中任一项所述的方法,其中,所述离散概率质量函数是分类分布。
59.根据权利要求58所述的方法,其中,所述分类分布通过至少一个向量而被参数化。
60.根据权利要求59所述的方法,其中,所述分类分布是通过所述向量的柔性最大值投影获得的。
61.根据权利要求54至57中任一项所述的方法,其中,所述离散概率质量函数是至少通过均值参数和尺度参数而被参数化的。
62.根据权利要求54至61中任一项所述的方法,其中,所述离散概率质量函数是多元的。
63.根据权利要求54至62中任一项所述的方法,其中,所述离散概率质量函数包括多个点;
所述多个点中的第一相邻点对具有第一间距;以及
所述多个点中的第二相邻点对具有第二间距,其中,所述第二间距不同于第一间距。
64.根据权利要求54至62中任一项所述的方法,其中,所述离散概率质量函数包括多个点;
所述多个点中的第一相邻点对具有第一间距;以及
所述多个点中的第二相邻点对具有第二间距,其中,所述第二间距等于所述第一间距。
65.根据权利要求63或64所述的方法,其中,所述第一间距和所述第二间距中的至少一个是使用所述第四神经网络获得的。
66.根据权利要求63或64所述的方法,其中,所述第一间距和所述第二间距中的至少一个是基于所述潜在表示的至少一个像素的值而获得的。
67.一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;
将所述经量化的潜值传输到第二计算机系统;以及
使用第二经训练的神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
其中,所述第一经训练的神经网络和所述第二经训练的神经网络已经根据权利要求54至66中任一项所述的方法进行了训练。
68.一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;以及
传输所述经量化的潜值;
其中,所述第一经训练的神经网络已经根据权利要求54至66中任一项所述的方法进行了训练。
69.一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:
在第二计算机系统处接收根据权利要求68所述的方法的所述经量化的潜值;以及
使用第二经训练的神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
其中,所述第二经训练的神经网络已经根据权利要求54至66中任一项所述的方法进行了训练。
70.一种数据处理系统,该数据处理系统被配置为执行根据权利要求54至67中任一项所述的方法。
71.一种数据处理设备,该数据处理设备被配置为执行根据权利要求68或69所述的方法。
72.一种计算机程序,该计算机程序包括指令,当所述程序由计算机执行时,所述指令使得所述计算机实施根据权利要求68或69所述的方法。
73.一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令被计算机执行时,所述指令使得所述计算机实施根据权利要求68或69所述的方法。
74.一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行第一操作以获得残差潜值;
将所述残差潜值传输到第二计算机系统;
对所述潜在残差执行第二操作以获得恢复后的潜在表示,其中,所述第二操作包括对所述恢复后的潜值中的先前获得的像素执行操作;以及
使用第二经训练的神经网络对所述恢复后的潜在表示进行解码以产生输出图像,其中,所述输出图像是输入图像的近似。
75.根据权利要求74所述的方法,其中,针对所述恢复后的潜值中的、已经获得了“先前获得的像素”的每个像素来执行对所述恢复后的潜值中的先前获得的像素的操作。
76.根据权利要求74或75所述的方法,其中,所述第一操作和所述第二操作中的至少一个包括求解隐式方程组。
77.根据权利要求74至76中任一项所述的方法,其中,所述第一操作包括量化操作。
78.根据权利要求74至77中任一项所述的方法,其中,对所述恢复后的潜值中的先前获得的像素所执行的操作包括矩阵运算。
79.根据权利要求78所述的方法,其中,定义所述矩阵运算的矩阵是稀疏的。
80.根据权利要求78或79所述的方法,其中,定义所述矩阵运算的所述矩阵具有与所述恢复后的潜值中的“当执行所述矩阵运算时尚未获得的像素”相对应的零值。
81.根据权利要求78至80中任一项所述的方法,其中,定义所述矩阵运算的所述矩阵是下三角的。
82.根据权利要求81所述的方法,其中,所述第二操作包括标准前向替换。
83.根据权利要求74至82中任一项所述的方法,其中,对所述恢复后的潜值中的先前获得的像素执行的操作包括第三经训练的神经网络。
84.根据权利要求74至83中任一项所述的方法,该方法还包括以下步骤:
使用第四经训练的神经网络对所述潜在表示进行编码以产生超潜在表示;
将所述经量化的超潜值传输到第二计算机系统;以及
使用第五经训练的神经网络对所述经量化的超潜值进行解码,其中,对所述恢复后的潜值中的先前获得的像素执行的操作是基于所述第五经训练的神经网络的输出的。
85.根据从属于权利要求76的权利要求84所述的方法,其中,使用所述第五经训练的神经网络对所述经量化的超潜值进行解码而附加地产生均值参数;以及
所述隐式方程组附加地包括所述均值参数。
86.一种训练一个或更多个神经网络的方法,所述一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行第一操作以获得残差潜值;
对所述潜在残差执行第二操作以获得恢复后的潜在表示,其中,所述第二操作包括对所述恢复后的潜值中的先前获得的像素执行操作;
使用第二神经网络对经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
基于所述输出图像和所述输入图像之间的差异来进行量的确定;
基于确定出的量更新所述第一神经网络和所述第二神经网络的参数;以及
使用第一输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络。
87.根据权利要求86所述的方法,其中,对所述恢复后的潜值中的先前获得的像素所执行的操作包括矩阵运算。
88.根据权利要求87所述的方法,其中,基于所述确定出的量,附加地更新定义所述矩阵运算的矩阵的参数。
89.根据权利要求86至88中任一项所述的方法,其中,对所述恢复后的潜值中的先前获得的像素所执行的操作包括第三神经网络;以及
基于所述确定出的量,附加地更新所述第三神经网络的参数以产生第三经训练的神经网络。
90.根据权利要求86至89中任一项所述的方法,该方法还包括以下步骤:
使用第四神经网络对所述潜在表示进行编码以产生超潜在表示;
对所述超潜在表示执行量化过程以产生经量化的超潜值;
将所述经量化的超潜值传输到第二计算机系统;以及
使用第五神经网络对所述经量化的超潜值进行解码,其中,对所述恢复后的潜值中的先前获得的像素执行的操作是基于所述第五经训练的神经网络的输出的;
其中,基于所述确定出的量,附加地更新所述第四神经网络和所述第五神经网络的参数,以产生第四经训练的神经网络和第五经训练的神经网络。
91.一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行第一操作以获得残差潜值;
传输所述残差潜值。
92.一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:
在第二计算机系统处接收根据权利要求91所述的方法传输的所述残差潜值;
对所述潜在残差执行第二操作以获得恢复后的潜在表示,其中,所述第二操作包括对所述恢复后的潜值中的先前获得的像素执行操作;以及
使用第二经训练的神经网络对所述恢复后的潜在表示进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似。
93.一种数据处理系统,该数据处理系统被配置为执行根据权利要求74至90中任一项所述的方法。
94.一种数据处理设备,该数据处理设备被配置为执行根据权利要求91或92所述的方法。
95.一种计算机程序,该计算机程序包括指令,当所述程序由计算机执行时,所述指令使得所述计算机实施根据权利要求91或92所述的方法。
96.一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令被计算机执行时,所述指令使得所述计算机实施根据权利要求91或92所述的方法。
97.一种训练一个或更多个神经网络的方法,所述一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示进行熵编码;
将经熵编码的潜在表示传输到第二计算机系统;
对所述经熵编码的潜在表示进行熵解码;
使用第二神经网络对所述潜在表示进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
基于所述输出图像和所述输入图像之间的差异来进行量的确定;
基于确定出的量更新所述第一神经网络和所述第二神经网络的参数;以及
使用第一输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络;
其中,所述经熵编码的潜在表示的熵解码是逐像素执行的;以及
基于所述确定出的量,附加地更新所述逐像素解码的顺序。
98.根据权利要求97所述的方法,其中,所述逐像素解码的顺序是基于所述潜在表示的。
99.根据权利要求97或权利要求98所述的方法,其中,所述经熵编码的潜值的熵解码包括基于先前解码的像素的操作。
100.根据权利要求97至99中任一项所述的方法,其中,“确定所述逐像素解码的顺序”包括:对有向无环图中的所述潜在表示的多个像素进行排序。
101.根据权利要求97至100中任一项所述的方法,其中,“确定所述逐像素解码的顺序”包括:用多个邻接矩阵对所述潜在表示进行操作。
102.根据权利要求97至101中任一项所述的方法,其中,“确定所述逐像素解码的顺序”包括:将所述潜在表示划分为多个子图像。
103.根据权利要求102所述的方法,其中,通过使用多个二元掩码核将所述潜在表示进行卷积来获得所述多个子图像。
104.根据权利要求97至103中任一项所述的方法,其中,“确定所述逐像素解码的顺序”包括:基于与各像素相关联的量的大小,对所述潜在表示的多个像素进行排列。
105.根据权利要求104所述的方法,其中,所述与各像素相关联的量是与各相应像素相关联的位置或尺度参数。
106.根据权利要求104或105所述的方法,其中,基于评估出的差异,附加地更新所述与各像素相关联的量。
107.根据权利要求97至106中任一项所述的方法,其中,“确定所述逐像素解码的顺序”包括:对所述潜在表示的多个像素进行小波分解。
108.根据权利要求107所述的方法,其中,所述逐像素解码的顺序是基于与所述多个像素相关联的所述小波分解的频率分量的。
109.根据权利要求97至108中任一项所述的方法,该方法还包括以下步骤:
使用第四经训练的神经网络对所述潜在表示进行编码以产生超潜在表示;
将所述超潜值传输到第二计算机系统;以及
使用第五经训练的神经网络对所述超潜值进行解码,其中,所述逐像素解码的顺序是基于所述第五经训练的神经网络的输出的。
110.一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示进行熵编码;
将经熵编码的潜在表示传输到第二计算机系统;
对所述经熵编码的潜在表示进行熵解码;以及
使用第二经训练的神经网络对所述潜在表示进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
其中,所述第一经训练的神经网络和所述第二经训练的神经网络已经根据权利要求97至109中任一项所述的方法进行了训练。
111.一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示进行熵编码;以及
传输经熵编码的潜在表示;
其中,所述第一经训练的神经网络已经根据权利要求97至109中任一项所述的方法进行了训练。
112.一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:
在第二计算机系统处接收根据权利要求111所述的方法传输的经熵编码的潜在表示;以及
使用第二经训练的神经网络对所述潜在表示进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
其中,所述第二经训练的神经网络已经根据权利要求97至109中任一项所述的方法进行了训练。
113.一种数据处理系统,该数据处理系统被配置为执行根据权利要求97至110中任一项所述的方法。
114.一种数据处理设备,该数据处理设备被配置为执行根据权利要求111或112所述的方法。
115.一种计算机程序,该计算机程序包括指令,当所述程序由计算机执行时,所述指令使得所述计算机实施根据权利要求111或112所述的方法。
116.一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令被计算机执行时,所述指令使得所述计算机实施根据权利要求111或112所述的方法。
117.一种训练一个或更多个神经网络的方法,所述一个或更多个神经网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一神经网络对所述输入图像进行编码以产生潜在表示;
使用第二神经网络对所述潜在表示进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
基于所述输出图像和所述输入图像之间的差异以及与所述潜在表示相关联的比率来确定一个量,其中,在确定所述量时,第一权重被应用于所述输出图像和所述输入图像之间的差异,并且第二权重被应用于与所述潜在表示相关联的比率;
基于确定出的量更新所述第一神经网络和所述第二神经网络的参数;以及
使用第一输入图像集合重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络;
其中,在重复以上步骤至少一次之后,基于另一量,附加地更新所述第一权重和所述第二权重中的至少一个,所述另一量是基于“所述输出图像和所述输入图像之间的差异”以及“与所述潜在表示相关联的所述比率”中的至少一种的。
118.根据权利要求117所述的方法,其中,针对所述步骤的每次重复,记录所述输出图像和所述输入图像之间的差异以及与所述潜在表示相关联的所述比率中的至少一个;以及
所述另一量是基于“所述输出图像和所述输入图像之间的多个先前记录的差异”以及“与所述潜在表示相关联的多个先前记录的比率”中的至少一个的。
119.根据权利要求118所述的方法,其中,所述另一量是基于所述多个先前记录的差异或比率的平均值的。
120.根据权利要求119所述的方法,其中,所述平均值是以下各项中的至少一种:算术均值、中值、几何均值、调和均值、指数移动平均值、平滑移动平均值和线性加权移动平均值。
121.根据权利要求118至120中任一项所述的方法,其中,在确定所述另一量之前,从所述多个先前记录的差异或比率中去除离群值。
122.根据权利要求121所述的方法,其中,所述离群值是仅针对所述步骤的初始预定次数的重复而被去除的。
123.根据权利要求117至122中任一项所述的方法,其中,当确定所述量时使用第一方法并且当确定所述另一量时使用第二方法来计算与所述潜在表示相关联的比率,其中,所述第一方法不同于所述第二方法。
124.根据权利要求117至123中任一项所述的方法,其中,使用来自第二输入图像集合的输入图像来执行所述步骤的至少一次重复;以及
当使用来自第二输入图像集合的输入图像时,不更新所述第一神经网络和所述第二神经网络的参数。
125.根据权利要求117至124中任一项所述的方法,其中,所述确定出的量是附加地基于充当鉴别器的神经网络的输出的。
126.一种训练一个或更多个神经网络的方法,所述一个或更多个神经网络用于在有损的视频编码、传输和解码中使用,该方法包括以下步骤:
在第一计算机系统处接收输入视频;
使用第一神经网络对所述输入视频的多个帧进行编码以产生多个潜在表示;
使用第二神经网络对所述多个潜在表示进行解码以产生输出视频的多个帧,其中,所述输出视频是所述输入视频的近似;
基于所述输出视频和所述输入视频之间的差异以及与所述多个潜在表示相关联的比率来确定一个量,其中,第一权重被应用于所述输出视频和所述输入视频之间的差异,并且第二权重被应用于与所述多个潜在表示相关联的所述比率;
基于确定出的量更新所述第一神经网络和所述第二神经网络的参数;以及
使用多个输入视频重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络;
其中,在重复以上步骤至少一次之后,基于另一量,附加地更新所述第一权重和所述第二权重中的至少一个,所述另一量是基于“所述输出视频和所述输入视频之间的所述差异”和“与所述多个潜在表示相关联的所述比率”中的至少一个的。
127.根据权利要求126所述的方法,其中,所述输入视频包括至少一个I帧和多个P帧。
128.根据权利要求126或127所述的方法,其中,所述量是基于多个第一权重或第二权重的,每个权重对应于所述输入视频的所述多个帧中的一个。
129.根据权利要求128所述的方法,其中,在重复所述步骤至少一次之后,基于与每个权重相关联的附加量,附加地更新所述多个权重中的至少一个。
130.根据权利要求129所述的方法,其中,每个附加量是基于与所述潜在表示相关联的所述比率或所述输出帧和所述输入帧之间的差异的预定目标值的。
131.根据权利要求130所述的方法,其中,与所述I帧相关联的所述附加量具有第一目标值,并且与P帧相关联的至少一个附加量具有第二目标值,其中,所述第二目标值不同于所述第一目标值。
132.根据权利要求130或131所述的方法,其中,与P帧相关联的每个附加量具有相同的目标值。
133.根据权利要求128至132中任一项所述的方法,其中,所述多个第一权重或第二权重被初始设置为零。
134.一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;
将所述经量化的潜值传输到第二计算机系统;以及
使用第二经训练的神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
其中,所述第一经训练的神经网络和所述第二经训练的神经网络已经根据权利要求117至133中任一项所述的方法进行了训练。
135.一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像或视频;
使用第一经训练的神经网络对所述输入图像或视频进行编码以产生潜在表示;以及
传输所述潜在表示;
其中,所述第一经训练的神经网络已经根据权利要求117至133中任一项所述的方法进行了训练。
136.一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:
在第二计算机系统处接收根据权利要求135的方法的潜在表示;以及
使用第二经训练的神经网络对所述潜在表示进行解码以产生输出图像或视频,其中,所述输出图像或视频是所述输入图像或视频的近似;
其中,所述第二经训练的神经网络已经根据权利要求117至133中任一项所述的方法进行了训练。
137.一种数据处理系统,该数据处理系统被配置为执行根据权利要求117至134中任一项所述的方法。
138.一种数据处理设备,该数据处理设备被配置为执行根据权利要求135或136所述的方法。
139.一种计算机程序,该计算机程序包括指令,当所述程序由计算机执行时,所述指令使得所述计算机实施根据权利要求135或136所述的方法。
140.一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令被计算机执行时,所述指令使得所述计算机实施根据权利要求135或136所述的方法。
141.一种用于以有损方式对图像或视频进行编码、传输和解码的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;
使用概率分布对所述经量化的潜值进行熵编码,其中,所述概率分布是使用张量网络来定义的;
将所述经熵编码的、经量化的潜值传输到第二计算机系统;
使用所述概率分布对所述经熵编码的、经量化的潜值进行熵解码,以恢复经量化的潜值;以及
使用第二经训练的神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似。
142.根据权利要求141所述的方法,其中,所述概率分布是由对所述经量化的潜值进行运算的埃尔米特算子定义的,其中,所述埃尔米特算子是由所述张量网络来定义的。
143.根据权利要求141或权利要求142所述的方法,其中,所述张量网络包括非规范正交核心张量和一个或更多个规范正交张量。
144.根据权利要求141至143中任一项所述的方法,该方法还包括以下步骤:
使用第三经训练的神经网络对所述潜在表示进行编码以产生超潜在表示;
对所述超潜在表示执行量化过程以产生经量化的超潜值;
将所述经量化的超潜值传输至第二计算机系统;以及
使用第四经训练的神经网络对所述经量化的超潜值进行解码;
其中,所述第四经训练的神经网络的输出是所述张量网络的一个或更多个参数。
145.根据从属于权利要求143的权利要求144所述的方法,其中,所述张量网络包括非规范正交核心张量和一个或更多个规范正交张量;以及
所述第四经训练的神经网络的输出为所述非规范正交核心张量的一个或更多个参数。
146.根据权利要求141至143中任一项所述的方法,其中,使用所述潜在表示的一个或更多个像素来计算所述张量网络的一个或更多个参数。
147.根据权利要求141至146中任一项所述的方法,其中,所述概率分布与所述潜在表示的像素的子集合相关联。
148.根据权利要求141至146中任一项所述的方法,其中,所述概率分布与所述潜在表示的通道相关联。
149.根据权利要求141至148中任一项所述的方法,其中,所述张量网络是以下因子分解中的至少一种:张量树、局部纯态、玻恩机、矩阵乘积态和投影纠缠对态。
150.一种训练一个或更多个网络的方法,所述一个或更多个网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:
接收第一输入图像;
使用第一神经网络对所述第一输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;
使用概率分布对所述经量化的潜值进行熵编码,其中,所述概率分布是使用张量网络来定义的;
使用所述概率分布对经熵编码的、经量化的潜值进行熵解码以恢复所述经量化的潜值;
使用第二神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
基于所述输出图像和所述输入图像之间的差异来进行量的确定;
基于确定出的量更新所述第一神经网络和所述第二神经网络的参数;以及
使用多个输入图像重复以上步骤以产生第一经训练的神经网络和第二经训练的神经网络。
151.根据权利要求150所述的方法,其中,基于所述确定出的量,附加地更新所述张量网络的参数中的一个或更多个。
152.根据权利要求151所述的方法,其中,所述张量网络包括非规范正交核心张量和一个或更多个规范正交张量;以及
基于所述确定出的量更新所述张量网络中除了非规范正交核心张量之外的所有张量的参数。
153.根据权利要求150至152中任一项所述的方法,其中,使用所述潜在表示来计算所述张量网络。
154.根据权利要求153所述的方法,其中,基于所述潜在表示的线性插值来计算所述张量网络。
155.根据权利要求150至154中任一项所述的方法,其中,所述确定出的量是附加地基于所述张量网络的熵的。
156.一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
对所述潜在表示执行量化过程以产生经量化的潜值;
使用概率分布对所述经量化的潜值进行熵编码,其中,所述概率分布是使用张量网络来定义的;以及
传输经熵编码的、经量化的潜值。
157.一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:
在第二计算机系统处接收根据权利要求156的方法传输的经熵编码的、经量化的潜值;
使用所述概率分布对所述经熵编码的、经量化的潜值进行熵解码以恢复所述经量化的潜值;以及
使用第二经训练的神经网络对所述经量化的潜值进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似。
158.一种数据处理系统,该数据处理系统被配置为执行根据权利要求141至155中任一项所述的方法。
159.一种数据处理设备,该数据处理设备被配置为执行根据权利要求156或157所述的方法。
160.一种计算机程序,该计算机程序包括指令,当所述程序由计算机执行时,所述指令使得所述计算机实施根据权利要求156或157所述的方法。
161.一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令被计算机执行时,所述指令使得所述计算机实施根据权利要求156或157所述的方法。
162.一种用于以有损方式对图像和视频进行编码、传输和解码的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
使用第二经训练的神经网络对所述潜在表示进行编码以产生超潜在表示;
使用第三经训练的神经网络对所述超潜在表示进行编码以产生超超潜在表示;
将所述潜在表示、所述超潜在表示和所述超超潜在表示传输到第二计算机系统;
使用第四经训练的神经网络对所述超超潜在表示进行解码;
使用第五经训练的神经网络和所述第四经训练的神经网络的输出对所述超潜在表示进行解码;以及
使用第六经训练的神经网络和所述第五经训练的神经网络的输出对所述潜在表示进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似。
163.根据权利要求162所述的方法,该方法还包括以下步骤:确定所述输入图像的比率;
其中,如果确定出的比率满足预定条件,则不执行对所述超潜在表示进行编码和对所述超超潜在表示进行解码的步骤。
164.根据权利要求163所述的方法,其中,所述预定条件是所述比率小于预定值。
165.一种训练一个或更多个网络的方法,所述一个或更多个网络用于在图像或视频的有损编码、传输和解码中使用,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一神经网络对所述输入图像进行编码以产生潜在表示;
使用第二神经网络对所述潜在表示进行编码以产生超潜在表示;
使用第三神经网络对所述超潜在表示进行编码以产生超超潜在表示;
使用第四神经网络对所述超超潜在表示进行解码;
使用第五神经网络和所述第四神经网络的输出对所述超潜在表示进行解码;以及
使用第六神经网络和所述第五神经网络的输出对所述潜在表示进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似;
基于所述输出图像和所述输入图像之间的差异来进行量的确定;
基于确定出的量更新所述第三神经网络和所述第四神经网络的参数;以及
使用多个输入图像重复以上步骤以产生第三经训练的神经网络和第四经训练的神经网络。
166.根据权利要求165所述的方法,其中,在所述步骤的至少一次重复中不更新所述第一神经网络、所述第二神经网络、所述第五神经网络和所述第六神经网络的参数。
167.根据权利要求165所述的方法,该方法还包括以下步骤:确定所述输入图像的比率;
其中,如果确定出的比率满足预定条件,则在所述步骤的这次重复中不更新所述第一神经网络、所述第二神经网络、所述第五神经网络和所述第六神经网络的参数。
168.根据权利要求167所述的方法,其中,所述预定条件是所述比率小于预定值。
169.根据权利要求166至168中任一项所述的方法,其中,在重复所述步骤达预定次数之后,不更新所述第一神经网络、所述第二神经网络、所述第五神经网络和所述第六神经网络的参数。
170.根据权利要求165至169中任一项所述的方法,其中,基于所述确定出的量,附加地更新所述第一神经网络、所述第二神经网络、所述第五神经网络和所述第六神经网络的参数,以产生第一经训练的神经网络、第二经训练的神经网络、第五经训练的神经网络和第六经训练的神经网络。
171.根据权利要求165至170中任一项所述的方法,其中,在执行其他步骤之前,对所述多个输入图像中的至少一个执行以下操作中的至少一种:上采样、平滑滤波器和随机裁剪。
172.一种用于以有损方式对图像或视频进行编码和传输的方法,该方法包括以下步骤:
在第一计算机系统处接收输入图像;
使用第一经训练的神经网络对所述输入图像进行编码以产生潜在表示;
使用第二经训练的神经网络对所述潜在表示进行编码以产生超潜在表示;
使用第三经训练的神经网络对所述超潜在表示进行编码以产生超超潜在表示;
传输所述潜在表示、所述超潜在表示和所述超超潜在表示。
173.一种用于以有损方式对图像或视频进行接收和解码的方法,该方法包括以下步骤:
在第二计算机系统处接收根据权利要求172所述的方法传输的潜在表示、超潜在表示和超超潜在表示;
使用第四经训练的神经网络对所述超超潜在表示进行解码;
使用第五经训练的神经网络和所述第四经训练的神经网络的输出对所述超潜在表示进行解码;以及
使用第六经训练的神经网络和所述第五经训练的神经网络的输出对所述潜在表示进行解码以产生输出图像,其中,所述输出图像是所述输入图像的近似。
174.一种数据处理系统,该数据处理系统被配置为执行根据权利要求162至171中任一项所述的方法。
175.一种数据处理设备,该数据处理设备被配置为执行根据权利要求172或173所述的方法。
176.一种计算机程序,该计算机程序包括指令,当所述程序由计算机执行时,所述指令使得所述计算机实施根据权利要求172或173所述的方法。
177.一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令被计算机执行时,所述指令使得所述计算机实施根据权利要求172或173所述的方法。
CN202280062965.6A 2021-08-03 2022-08-03 用于以有损方式对图像或视频进行编码、传输和解码的方法及数据处理系统 Pending CN117980914A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB2111188.5A GB202111188D0 (en) 2021-08-03 2021-08-03 Dr big book 5
GB2111188.5 2021-08-03
PCT/EP2022/071858 WO2023012231A1 (en) 2021-08-03 2022-08-03 Method and data processing system for lossy image or video encoding, transmission and decoding

Publications (1)

Publication Number Publication Date
CN117980914A true CN117980914A (zh) 2024-05-03

Family

ID=77651266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280062965.6A Pending CN117980914A (zh) 2021-08-03 2022-08-03 用于以有损方式对图像或视频进行编码、传输和解码的方法及数据处理系统

Country Status (4)

Country Link
US (1) US11544881B1 (zh)
CN (1) CN117980914A (zh)
GB (1) GB202111188D0 (zh)
WO (1) WO2023012231A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11943460B2 (en) * 2021-01-12 2024-03-26 Qualcomm Incorporated Variable bit rate compression using neural network models

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11756291B2 (en) * 2018-12-18 2023-09-12 Slyce Acquisition Inc. Scene and user-input context aided visual search
US20200193552A1 (en) * 2018-12-18 2020-06-18 Slyce Acquisition Inc. Sparse learning for computer vision
US10594338B1 (en) * 2019-03-18 2020-03-17 WaveOne Inc. Adaptive quantization
US11538197B2 (en) * 2020-09-15 2022-12-27 Google Llc Channel-wise autoregressive entropy models for image compression

Also Published As

Publication number Publication date
US11544881B1 (en) 2023-01-03
WO2023012231A1 (en) 2023-02-09
GB202111188D0 (en) 2021-09-15

Similar Documents

Publication Publication Date Title
US11558620B2 (en) Image encoding and decoding, video encoding and decoding: methods, systems and training methods
Ballé et al. Variational image compression with a scale hyperprior
US20230388503A1 (en) Image compression and decoding, video compression and decoding: methods and systems
CN112866694B (zh) 联合非对称卷积块和条件上下文的智能图像压缩优化方法
JP4966669B2 (ja) マッチング追跡を用いたデータ圧縮
Ahanonu Lossless image compression using reversible integer wavelet transforms and convolutional neural networks
KR20100016272A (ko) Pixon 방법을 사용한 이미지 압축 및 압축 해제
JP2023543520A (ja) 機械学習を基にしたピクチャコーディングにおけるクロマサブサンプリングフォーマット取り扱いのための方法
Mital et al. Neural distributed image compression with cross-attention feature alignment
CN117980914A (zh) 用于以有损方式对图像或视频进行编码、传输和解码的方法及数据处理系统
Chodosh et al. When to use convolutional neural networks for inverse problems
CN111107377A (zh) 深度图像压缩方法及其装置、设备和存储介质
Gray et al. Image compression and tree-structured vector quantization
EP4381423A1 (en) Method and data processing system for lossy image or video encoding, transmission and decoding
Prantl Image compression overview
US11936866B2 (en) Method and data processing system for lossy image or video encoding, transmission and decoding
Zhao et al. Image and Graphics: 10th International Conference, ICIG 2019, Beijing, China, August 23–25, 2019, Proceedings, Part III
Cilingir et al. Image Compression Using Deep Learning
Schmalz Object-based image compression
Liu et al. CARP: Compression through adaptive recursive partitioning for multi-dimensional images
Kourav et al. Wavelet Transform Algorithms
You et al. Efficient and Generic Point Model for Lossless Point Cloud Attribute Compression
Pei et al. MobileViT-GAN: A Generative Model for Low Bitrate Image Coding
Yavuz End-to-end learned image compression with normalizing flows for latent space enhancement
CN117501696A (zh) 使用在分块之间共享的信息进行并行上下文建模

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication