CN118020297A - 基于混合神经网络的端到端图像和视频编码方法 - Google Patents

基于混合神经网络的端到端图像和视频编码方法 Download PDF

Info

Publication number
CN118020297A
CN118020297A CN202280064370.4A CN202280064370A CN118020297A CN 118020297 A CN118020297 A CN 118020297A CN 202280064370 A CN202280064370 A CN 202280064370A CN 118020297 A CN118020297 A CN 118020297A
Authority
CN
China
Prior art keywords
neural network
encoder
encoding
image data
encoding method
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
CN202280064370.4A
Other languages
English (en)
Inventor
A·纳尔奇
A·多拉佩斯
H-J·吴
翟杰夫
薛竞腾
辛军
国玫
X·张
吴业清
郑云飞
J·贝金特
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of CN118020297A publication Critical patent/CN118020297A/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/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/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
    • H04N19/172Methods 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 the region being a picture, frame or field
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • 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
    • H04N19/176Methods 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 the region being a block, e.g. a macroblock
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提出了改进的基于神经网络的图像和视频编码技术,包括混合技术,这些混合技术包括主机编解码器的工具和基于神经网络的工具两者。在这些改进的技术中,这些主机编码工具可包括常规的视频编码标准,诸如H.266(VVC)。在一个方面,可以对源帧进行分区,并且可针对每个分区选择基于主机或基于神经网络的工具。针对分区的编码参数决策可以基于该分区和编码工具选择来约束。可以将对主机和神经网络工具的速率控制进行组合。神经网络输出的多阶段处理可以使用棋盘预测模式。

Description

基于混合神经网络的端到端图像和视频编码方法
优先权
本公开根据35U.S.C.§119(e)要求2021年9月24日提交的名称为“Hybrid NeuralNetwork Based End-To-End Image And Video Coding Method”的美国临时专利申请号63/248,127的权益,该美国临时专利申请的全部内容以引用方式并入本文。
背景技术
本公开涉及利用神经网络的图像和视频编码。
常规图像/视频编解码器由编码器和解码器组成,并且压缩图像和视频数据以进行传输和存储。常规视频技术的一些示例为H.264(AVC)、H.265(HEVC)、H.266(VVC)和AV1。常规的编解码器通常基于块,其中源图像或视频帧被分区成较小的图像区块或区域,被称为编码块。这种分区是多阶段过程,其中完整的图像或视频帧被分成编码树单元(CTU)或超级块。这些超级块通常大于64×64个像素,最高可达256×256个像素或甚至更大。然后,可以将超级块进一步划分成更小的编码块(例如,这些编码块可以小至4×4个像素),以便对基础数据进行更精细的处理。图像或视频编码器可以选择一组压缩或编码工具而基于率失真成本来压缩图像的编码块或帧。
基于神经网络(NN)的图像和视频压缩在以端对端方式压缩数字图像和视频方面显示出巨大的优势。常规的图像和视频编解码器诸如HEVC(H.265)、VVC(H.266)和AV1可以依靠一系列编码工具来压缩图像和视频数据。基于NN的方法是数据驱动的,并且在给定足够的训练样本的情况下,可能用相对最少的开发工作超越常规的压缩系统。
附图说明
图1描绘了适合与本公开的各方面一起使用的视频编码系统。
图2描绘了示例性的基于块的编码器。
图3描绘了示例性的基于块的解码器。
图4A描绘了利用编码器选择的示例性混合编码方法。
图4B描绘了利用解码器选择的示例性混合解码方法。
图5描绘了利用速率控制的示例性混合编码方法。
图6描绘了利用多阶段编码的示例性神经网络编码方法。
图7描绘了利用分开的亮度/色度处理的示例性神经网络编码方法。
图8描绘了利用主变换模块和超先验(hyper-prior)模块的示例性端到端神经网络编码器和解码器。
图9A描绘了用于分开的亮度/色度处理和分开的注意力处理器(用于亮度/色度的模型1)的示例性神经网络编码器和解码器。
图9B描绘了用于分开的亮度/色度处理和组合的注意力处理器(用于亮度/色度的模型2)的示例性神经网络编码器和解码器。
图10A描绘了利用注意力处理器的示例性主变换模块。
图10B描绘了利用注意力处理器的示例性逆变换模块。
用于分开的亮度/色度处理和分开的注意力处理器的神经网络编码器和解码器(模型1)。
图11描绘了示例性神经网络编码器。
图12A描绘了用于预测的示例性光栅扫描因果上下文模型。
图12B描绘了用于预测的示例性棋盘因果上下文模型。
图13A描绘了棋盘图案预测中的示例性第一遍。
图13B描绘了棋盘图案预测中的示例性第二遍。
图13C描绘了棋盘图案预测中的示例性第三遍。
图13D描绘了棋盘图案预测中的示例性第四遍。
图14A描绘了混合主机和神经网络编码工具的示例性链。
图14B描绘了混合主机和神经网络解码工具的示例性链。
图15A描绘了利用混合主机和神经网络编码工具的示例性编码器。
图15B描绘了利用混合主机和神经网络编码工具的示例性解码器。
图16A描绘了利用进行帧分区的混合主机和神经网络编码工具的示例性编码器。
图16B描绘了利用进行帧分区的混合主机和神经网络编码工具的示例性解码器。
图17描绘了示例性分区。
图18描绘了示例性分区。
图19描绘了利用分区的预测的示例。
图20描绘了利用针对DC分量的分开的处理的示例性神经网络编码器和解码器。
图21A描绘了包括神经网络运动估计/补偿的示例性混合主机和神经网络编码工具。
图21B描绘了包括神经网络运动估计/补偿的示例性混合主机和神经网络解码工具。
图22描绘了利用多阶段解码的示例性神经网络解码方法。
图23描绘了利用分开的亮度/色度处理的示例性神经网络解码方法。
图24A描绘了利用针对不同的超先验大小信息值的分开的处理干线的示例性超先验解码器。
图24B描绘了利用具有不同主干长度的分开的处理干线的示例性超先验解码器。
图24C描绘了利用分开的处理主干和沿着分开的处理主干的一些共享操作的示例性超先验解码器。
具体实施方式
使用神经网络(NN)提出了改进的图像和视频压缩技术。这些改进的技术包括对端到端神经网络编解码器的改进,以及将基于块的编码器或解码器与一个或多个另选的基于神经网络的工具相结合的混合编解码器。混合比特流语法可以将基于块的编码器的比特流语法与从另选的基于神经网络的工具输出的比特流部分相组合。还描述了对基于(非混合)神经网络的压缩技术的改进,包括用于多阶段神经网络编码的棋盘图案。
在混合编码的一方面,图像编码方法可包括基于率失真分析从第一编码器或神经网络编码器选择用于图像数据的一部分的编码器。当选择神经网络编码器时,用神经网络编码器将该部分编码成神经网络编码的比特流。另选地,当选择第一编码器时,用第一编码器将该部分编码成第一编码的比特流。编码的部分的数据可以与图像数据的其他部分的编码的数据一起包括在编码的比特流中。在一个示例中,第一编码器基于第一部分的对应的第一编码参数对第一部分进行编码,而第一部分的对应的第一编码参数基于第一部分对编码器的对应的选择被约束。在另一个示例中,用概率模型对针对图像数据的对应部分的编码器选择进行熵编码,并且对组合的比特流的打包包括将熵编码的编码器选择打包到组合的比特流中。
在混合解码的方面,一种图像解码方法,可包括从编码的视频数据中标识对针对图像数据的对应部分的编码器的选择,以及基于选择将编码的视频数据解析为第一比特流和神经网络比特流。当选择第一编码器时,用第一编码器将该部分解码成第一编码的比特流,成为解码的第一部分,并且当选择神经网络解码器时,用神经网络解码器将对应部分解码成解码的神经网络部分。解码的第一部分和解码的神经网络部分可以被组合成重构的视频数据。
在混合编码的速率控制的一个方面,图像编码方法可包括通过第一编码器技术并且根据从第一速率控制参数确定的编码参数对图像数据的第一分区进行编码,并且由神经网络编码器根据从神经网络速率控制参数确定的编码参数对图像数据的第二分区进行编码。第一分区的编码数据和第二分区的编码数据可以被合并成组合的比特流。
在利用多阶段编码上下文的神经网络编码的一个方面,神经网络编码方法可包括利用神经网络变换图像数据以产生潜在表示二维阵列y。可以用四阶段编码器对阵列y进行编码,包括将阵列y划分成四组y值,每组y值具有在整个阵列y上基本上均匀地空间分布的y值,然后分四个阶段对这些组进行编码。最先将第一组编码成锚定组而不参考其他组;基于依赖于编码的第一组并且不依赖于第三组和第四组的第二上下文对第二组进行第二编码;基于依赖于编码的第一组和第二组并且不依赖于第四组的第三上下文对第三组进行第三编码;并且基于依赖于编码的第一组、第二组和第三组的第四上下文对第四组进行第四编码。
在针对亮度和色度颜色分量利用分开的注意力处理器进行神经网络编码的一个方面,神经网络编码方法可包括用亮度预处理器处理亮度图像数据,该亮度预处理器包括亮度卷积神经网络,该亮度卷积神经网络配置有附加到亮度注意力处理器的输入的输出,并且用色度预处理器处理色度图像数据,该色度预处理器包括色度卷积神经网络,该色度卷积神经网络配置有附加到色度注意力处理器的输入的输出。然后可以用主变换神经网络来压缩预处理后的亮度和色度图像数据。
图1描绘了适合与本公开的各方面一起使用的视频编码系统100。系统100可包括经由网络130互连的多个终端110、120。终端110、120可以对视频数据进行编码以用于经由网络130传输至其对应终端。因此,第一终端110可本地捕获视频数据,对视频数据进行编码并且经由网络130将编码的视频数据传输至对应终端120。接收终端120可接收编码的视频数据,对其解码,并且将其本地呈现,例如在终端120处的显示器上。如果在视频数据的双向交换中接合终端,则终端120可本地捕获视频数据,对视频数据进行编码并且经由网络130将编码的视频数据传输至对应终端110。接收终端110可以接收从终端120传输的编码的视频数据,对其解码,并且例如在其自己的显示器上本地呈现。这些过程可在帧和场帧编码两者上操作,但为简单起见,本讨论将描述在整体帧的上下文中的技术。
视频编码系统100可在多种应用中使用。在第一应用中,终端110、120可支持编码视频的实时双向交换以在它们之间建立视频会议会话。在另一应用中,终端110可以对预先产生的视频(例如电视或电影节目)进行编码并且存储编码的视频用于传送给一个或者经常传送给多个进行下载的客户端(例如,终端120)。因此,正在编码的视频可以是实时的或预先产生的,并且终端110可以充当媒体服务器,根据一到一或一到多分发模型来传送编码的视频。出于本论述的目的,除非另外指明,视频的类型和视频发布方案是无关紧要的。
在图1中,将终端110、120分别示为智能电话和平板电脑,但本公开的原理并不限于此。本公开的方面还应用于各种类型的计算机(台式计算机、膝上型计算机和平板电脑)、计算机服务器、媒体播放器、专用视频会议装备和/或专用视频编码装备。
网络130表示在终端110、120之间传递编码的视频数据的任意数量的网络,包括例如有线通信网络和/或无线通信网络。通信网络130可在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网、局域网、广域网和/或互联网。出于本论述的目的,除非另外指明,否则网络的体系结构和拓扑结构对本发明的操作是无关紧要的。
图2描绘了根据本公开的一个方面的示例性基于块的编码器系统200。系统200可包括分区器和预滤波器205、像素块编码器210、像素块解码器220、帧缓冲器230、环路滤波器系统240、参考画面缓冲器250、预测器260、控制器270,以及熵编码器和语法单元280。编码系统200可对视频帧的预先确定的单元(为方便起见称为“像素块”)进行操作,以根据预测技术对像素块进行不同地编码。因此,可将待编码的视频帧解析成像素块,像素块编码器210在逐像素块的基础上处理像素块。分区器和预滤波器205可以将源帧在空间上分区成像素块,并且可以将任何预滤波应用于输入帧或各个分区的像素块。像素块编码器210可以将编码的像素块数据呈现给熵编码器和语法单元280,该熵编码器和语法单元可以根据符合管理编码协议的传输语法对编码的像素块数据以及编码参数和决策进行熵编码作为结果中的辅助信息(side information)。
像素块解码器220可以对编码的像素块数据进行解码,由此产生解码的像素块数据。帧缓冲器230可由解码的像素块数据生成重构的帧数据。环路滤波器240可对重构的帧执行一个或多个滤波操作。例如,环路滤波器240可执行去块滤波、样本自适应偏移(SAO)滤波、自适应环路滤波(ALF)、基于最大似然(ML)的滤波方案、去振铃、去色带、锐化、分辨率缩放等。参考画面缓冲器260可存储滤波后的帧,在此其可用作稍后接收的像素块的预测源。熵编码器280可通过例如通过可变长度码字或使用上下文自适应二进制算术编码器对输出进行编码来减小系数量化器的输出带宽。
像素块编码器210可包括减法器212、变换单元214和量化器216。像素块编码器210可在减法器212处接受输入数据的像素块。减法器212可接收来自预测器260的预测像素块,并且由此生成表示输入像素块与预测像素块之间的差异的像素残差阵列。变换单元214可以对从减法器212输出的样本数据应用变换,以将数据从像素域转换到变换系数域。在变换单元214和/或减法器212之前的一些场景中(例如,当在高动态范围中操作时),可对输入进行重塑,或应用自适应方案来调整内容传送特性。这种自适应可以是基于重映射函数的简单缩放,或者是更复杂的像素操纵技术。量化器216可根据量化参数Qp对由变换单元214输出的变换系数执行量化。量化器216可应用均匀或非均匀量化参数;非均匀量化参数可在从变换单元214输出的系数块的预定位置之间变化。
变换单元214可以在控制器270所确定的多种变换模式中操作。例如,变换单元214可应用离散余弦变换(DCT)、离散正弦变换(DST)、Walsh-Hadamard变换、Haar变换、Daubechies小波变换等。在一个方面,控制器270可以选择变换单元215要应用的编码模式,可以相应地配置变换单元215,并且可以显式地或隐式地在编码的视频数据中发信号通知编码模式M。
量化器216可根据可以由控制器270确定的量化参数Qp来操作。下文论述用于产生量化参数的技术。控制器270可将表示其量化参数选择的数据提供给语法单元280。
像素块解码器220可以反转像素块编码器210的编码操作。例如,像素块解码器220可包括去量化器222、逆变换单元224和加法器226。在逆变换单元224和/或加法器226之后的一些场景中(例如,当在高动态范围中操作时),输入可通常根据在编码器处应用的函数和内容特性而被反向重塑或重新映射。像素块解码器220可从量化器216的输出获取其输入数据。虽然允许,但是像素块解码器220不需要执行熵编码数据的熵解码,因为熵编码通常是无损事件。去量化器222可反转像素块编码器210的量化器216的操作。去量化器222可执行如量化参数数据Qp所指定的均匀或非均匀去量化。类似地,逆变换单元224可反转变换单元214的操作。去量化器222和逆变换单元224可以使用与像素块编码器210中其对应部件相同的量化参数Qp和变换模式M。量化操作可能将在各个方面截断数据,并且因此,在与呈现给像素块编码器210中的量化器216的数据相比时,去量化器222所恢复的数据可能将具有编码误差。
加法器226可以反转减法器212所执行的操作。其可接收与减法器212在生成残差信号中所使用相同的来自预测器260的预测像素块。加法器226可将预测像素块加到由逆变换单元224输出的重构残差值,并且可输出重构像素块数据。
如所描述的,帧缓冲器230可利用像素块解码器220的输出来组装重构的帧。环路滤波器240可对所恢复的像素块数据执行各种滤波操作。例如,环路滤波器240可包括去块滤波器、样本自适应偏移(“SAO”)滤波器和/或其他类型的环路滤波器(未示出)。
参考画面缓冲器250可存储滤波后的帧数据以供在其他像素块的后续预测中使用。对于不同的预测模式,不同类型的预测数据可供预测器260使用。例如,对于输入像素块,帧内预测从相同帧的解码数据获得预测参考,该输入像素块定位在该相同帧中。因此,参考帧存储库250可随着每个帧的解码的像素块数据被编码而将其存储。对于相同的输入像素块,帧间预测可采用来自被指定为参考帧的先前编码和解码帧的预测参考。因此,参考帧存储库250可存储这些解码的参考帧。
预测器260可将预测块供应到像素块编码器210以供在生成残差时使用。预测器260可根据帧内模式编码以及单预测、双预测和/或多假设帧间模式编码来执行预测搜索操作。对于帧内模式编码,预测器260可从与正在编码的像素块相同的帧中的像素块数据中进行搜索,该像素块提供与输入像素块的最接近匹配。对于帧间模式编码,预测器260可以从存储在参考画面缓冲器250中的其他先前编码的帧的像素块数据中进行搜索,该参考画面缓冲器提供与输入像素块的匹配。从根据各种模式生成的预测中,预测器260可选择以给定目标位率对视频进行解码时实现最低失真的模式。当编码模式被选择为满足编码系统200所遵循的其他策略,诸如满足特定信道行为、或支持随机接入或数据刷新策略时,可能出现例外。
控制器270可以控制编码系统200的整体操作。控制器270可以控制分区器和预滤波器205,并且可以基于对输入像素块的分析以及外部约束(诸如编码质量水平或比特率目标以及其他操作参数)来选择像素块编码器210和预测器260的操作参数。与本讨论相关,在选择量化参数Qp、均匀或非均匀量化器的使用和/或变换模式M时,可以将那些参数提供给语法单元280,该语法单元可以将表示那些参数的数据包括在编码系统200所输出的编码的视频数据的数据流中。控制器270还可以在系统可用来生成参考图像的不同操作模式之间进行选择,并且可包括标识为编码的数据的每个部分选择的模式的元数据。
在操作期间,控制器270可以按图像数据的不同粒度,要么以每个像素块为基础要么在更大粒度(例如,每一帧,每个切片,每个最大编码单元(“LCU”)或编码树单元(CTU),或另一区域),来修改量化器216和变换单元215的操作参数。在一个方面,量化参数可以在编码的帧内以每像素为基础进行修改。
另外,如所讨论,控制器270可以控制环路滤波器250和预测单元260的操作。对于预测单元260,此类控制可包括模式选择(λ、待测模式、搜索窗口、失真策略等),并且对于环路滤波器250,此类控制可包括选择滤波器参数、重新排序参数、加权预测等。
在一个任选方面,编码器200可作为混合神经网络编码器来操作。混合编解码器可包括至少一个第一编码工具,第一编码工具具有对应的另选编码工具。对应的工具替代方案可以为第一编码工具和神经网络工具,其中第一编码工具不包括神经网络,并且神经网络编码工具确实包括神经网络或者可以被设计成与另一神经网络编码工具一起工作。第一编码器可以充当神经网络另选工具的主机。例如,任选的神经网络编码器292可以例如使用如图8所示的卷积神经网络来对像素块进行编码。任选的选择器290可以在主机编解码器的像素块编码器210或另选的神经网络编码器292之间进行选择。控制器270可以例如在逐像素块或像素块的超级块的基础上在这些编码器之间进行选择。控制器270可以将对编码器选择的指示包括在编码器系统200的编码输出中所包括的辅助信息中。在替代的混合方面,编码器选择器可以位于减法器212之后,使得神经网络编码器可以对残差块而不是源像素块进行编码,如图2所示。
在混合编码的其他方面,编码器系统200的处理工具中的任一者可以任选地包括替代版本,诸如主机编解码器版本和基于神经网络的版本。具有替代版本的示例性编码工具可包括分区器和预滤波器205、像素块编码器210、像素块解码器220、帧缓冲器230、环路滤波器系统240、参考画面缓冲器250、预测器260,以及熵编码器和语法单元280。控制器270可以针对每个混合工具在主机工具和神经网络工具之间进行选择,并且对这些工具之间的选择的指示可以作为操作参数辅助信息被包括在编码的输出数据中。图14A中描绘了此类混合编码工具的级联1400,其中混合编码工具1410.1-1410.N各自包括由控制器1420控制的开关1416.x,用于在主机工具1412.x和神经网络工具1414.x之间进行选择,并且可以产生主机/神经网络选择的辅助信息。
图3描绘了根据本公开的一个方面的示例性的基于块的解码器系统300。解码系统300可包括语法和熵解码器310、像素块解码器320、帧缓冲器330、环路滤波器340、参考画面缓冲器350、预测器360和控制器370。
语法和熵解码器310可以接收编码的视频数据流,并且可以将编码的数据解析为其组成部分。包括编码参数的编码决策辅助信息可以被提供给控制器370,而表示残差的数据(由图2的像素块编码器210输出的数据)可以被提供给其相应的像素块解码器320。预测器360可根据在编码的视频数据中提供的编码参数数据由参考画面缓冲器350中可用的参考数据生成预测块。它可以将预测块提供给像素块解码器320。像素块解码器320可反转由像素块编码器210应用的编码操作(图2)。帧缓冲器330可由像素块解码器320输出的解码像素块创建重构的帧。环路滤波器340可以对重构的帧数据进行滤波。滤波后的帧可从解码系统300输出。被指定为用作参考帧的滤波后的帧还可以存储在参考画面缓冲器350中。
像素块解码器320可包括去量化器324、逆变换单元326和加法器328。熵解码器322可以执行熵解码以反转由熵编码器218执行的过程(图2)。去量化器324可以反转像素块编码器210的量化器316的操作(图2)。类似地,逆变换单元326可以反转变换单元214的操作(图2)。它们可使用从编码的视频数据流中标识的量化参数Qp和变换模式M。由于量化可能截断数据,因此与呈现给编码器的像素块编码器210的输入像素块相比(图2),由去量化器324恢复的像素块很可能将具有编码误差。
加法器328可以反转由减法器210执行的操作(图2)。该加法器可接收来自预测器360的预测像素块,如由编码的视频数据流中的预测参考所确定的。加法器328可将预测像素块加到由逆变换单元326输出的重构残差值,并且可输出重构像素块数据。
如所描述的,帧缓冲器330可利用像素块解码器320的输出来组装重构的帧。环路滤波器340可对由编码的视频数据标识的恢复像素块数据执行各种滤波操作。例如,环路滤波器340可包括去块滤波器、样本自适应偏移(“SAO”)滤波器和/或其他类型的环路滤波器。这样,帧缓冲器330和环路滤波器340的操作模仿编码器200的对应帧缓冲器230和环路滤波器240的操作(图2)。
参考画面缓冲器350可存储滤波后的帧数据以供在其他像素块的后续预测中使用。参考画面缓冲器350可随着解码的帧被编码而将其存储以供在帧内预测中使用。参考画面缓冲器350还可以存储解码的参考帧。
如所讨论,预测器360可根据在解码的视频数据中标识的编码模式将预测块提供给像素块解码器320。预测器360可提供由编码的视频数据流中所提供的预测参考指示符确定的预测像素块数据。
控制器370可以控制解码系统300的整个操作。控制器370可基于在编码的视频数据流中接收的参数来设定像素块解码器320和预测器360的操作参数。与本讨论相关,这些操作参数可包括去量化器324的量化参数Qp和逆变换单元310的变换模式M。如所讨论,可在图像数据的各种粒度设定接收的参数,例如,基于每个像素块,每帧,逐个切片地,基于每个LCU/CTU,或基于针对输入图像定义的其他类型的区域。
在一个任选方面,解码器系统300可作为混合神经网络解码器来操作。主机解码器可充当一个或多个神经网络另选解码工具的主机。例如,神经网络编码器392可例如使用如图8的下半部分所示的卷积神经网络来解码像素块以进行合成(包括神经网络gs和hs)。选择器390可在主机编解码器工具像素块解码器320或神经网络解码器392之间进行选择。控制器370可基于从编码的比特流中提取的辅助信息(例如,在逐像素块或像素块的超级块的基础上)在这些编码器之间进行选择。在另选的混合方面,神经网络解码器可以对残差块进行解码,并且神经网络解码器的输出可以耦合到加法器328的输入(而非如图3所示的加法器328的输出端处)。
在混合解码的其他方面,解码器系统300的处理工具中的任一者可以任选地不看另选版本,例如主机编解码器版本和基于神经网络的版本。具有另选版本的示例性编码工具可包括语法和熵解码器310、去量化器324、逆变换326、预测器360和滤波器340。控制器370可以诸如基于编码的视频中包括的辅助信息在主机工具和神经网络工具之间选择每个混合工具。图14B中描绘了这种混合解码工具的级联1450,其中混合编码工具1460.1-1460.N各自包括由控制器1470控制的开关1466.x,用于在主机工具1462.x和神经网络工具1464.x之间进行选择。图14A中的解码工具的级联1450可以是对图14B中的编码工具的级联1400的补充。
在一个方面,第一编解码器可以充当混合系统中的主机编解码器,因为可以通过从第一编解码器开始并且对其进行修改来添加另选的编码工具而创建混合编解码器。使用第一编解码器工具的预先存在的编码器和/或解码器可以通过添加另选的编解码器工具来修改,其中另选的工具充当图像数据的特定部分的一个或多个预先存在的编解码器工具的替代品。例如,H.264指定了与图2和图3中未用虚线描绘的编解码器工具类似的一组编解码器工具,因此这些编解码器工具可以充当主机编码器和/或解码器。可通过添加另选的编解码器工具来修改这样的H.264主机编码器或解码器,另选的编解码器工具各自作为编码器或解码器中的H.264编解码器工具中的一者或多者的替代来操作。如图2所示,神经网络编码器292(以虚线示出)可作为像素块编码器210的替代来操作,并且在图3中,神经网络解码器392(也以虚线示出)可以充当像素块解码器320的替代。此类混合编码器和解码器可以对源图像数据的部分进行操作,例如,其中可针对图像数据的每个单独的部分选择主机或另选的编解码器工具,诸如一组帧、单个完整的帧、颜色分量(亮度或色度信道)或单个帧的空间分区(例如,像素块或超级块)。
在另一方面,第一编解码器可充当主机编解码器,因为主机编解码器定义了比特流语法框架,另选的编码的比特流的部分被封装在比特流语法框架内以创建新的混合比特流语法。例如,如在图2中,熵编码器和语法单元280可包括来自先前针对非混合主机编解码器定义的主机比特流语法内的另选的编码工具的输出流。主机比特流语法可以为符合H.264标准的编码的语法,并且混合比特流语法可以为对H.264语法的修改,以允许插入从另选的编码工具诸如神经网络编码器292输出的编码的流。
图4A描绘了利用编码器选择的示例性混合编码方法400。方法400可以例如用图2、图15A或图16A的编码器来实现。对于源视频的每个部分,在第一编码器和另选的编码器之间(诸如,在主机编码器和基于神经网络的编码器之间)选择编码器(框404)。当为源视频的一部分选择主机编码器时,该部分由主机编码器(406)编码以产生主机编码的比特流,并且当为源视频的该部分选择基于神经网络的编码器时,该部分由基于神经网络的编码器(410)编码以产生基于神经网络的比特流。例如通过图2的语法和熵编码器280或另一种类型的比特流打包单元,可以将在主机比特流和神经网络比特流两者中编码的部分组合成组合的比特流(412)。
在一个方面,可以将源视频在空间上分区成多个部分(402)。在另一方面,指示针对对应部分的编码器选择的选择辅助信息可以被熵编码(408)并且被包括在组合的比特流中。混合编码的其他方面将在下面第3节“混合编码”中描述。
图4B描绘了利用解码器选择的示例性混合解码方法450,并且在一些方面可以是对图4A的编码方法400的补充。方法450可以例如利用图3、图15B或图16B的解码器来实现。组合的比特流可包括利用第一编码器或另选的编码器(例如,主机编码器或基于神经网络的编码器)进行编码的源视频的部分。组合的比特流可以被解析(框454)成由主机编码器编码的部分的主机比特流和由基于神经网络的编码器编码的部分的神经网络比特流。当利用主机编码器对一部分进行编码时,可以利用主机编码器对主机比特流的对应部分进行解码(456),并且当利用基于神经网络的编码器对一部分进行编码时,可以利用神经网络解码器对神经网络比特流的对应部分进行解码(460)。
在一个方面,可以从组合的比特流中标识图像在空间上分区成多个部分(任选的框452)。在另一方面,可以通过对来自组合的比特流的选择进行熵解码来在解码器处标识针对对应部分的编码器的选择(任选的框463)。可以通过组合由主机和神经网络解码器解码的部分来重构解码的帧(任选的框462)。混合解码的其他方面将在下面第3节“混合编码”中描述。
图5描绘了利用速率控制的示例性混合编码方法500。方法500可以例如用图2、图15A或图16A的编码器来实现。视频的第一部分可以利用主机编码器(框504)根据对应的主机速率控制参数(诸如Qp)编码成主机比特流,而视频的第二部分可以利用基于神经网络的编码器(506)根据对应的神经网络速率控制参数(诸如λ)编码成神经网络比特流。可以对速率控制参数Qp和λ进行编码(508),并且可以将主机比特流和神经网络比特流与编码的速率控制参数(510)一起组合成组合的比特流。
在一个方面,主机速率控制参数和神经网络速率控制参数可以从通用部分速率控制参数导出(任选的框502)。混合解码的其他方面将在下面第3.4节“混合编解码器的速率控制”中描述。
图6描绘了利用多阶段编码的示例性神经网络编码方法600。方法600可以例如用图2、图15A或图16A的编码器来实现。可以利用神经网络将图像数据的一部分变换成潜在阵列(框602),例如用图8的主变换模块ga。潜在阵列可以被划分成预先确定的数量的组(604)。第一组潜在值可以被编码为锚定组(608),而不考虑该部分图像数据的其他组。然后,可以对其他组进行因果编码,使得可基于图像数据的该部分中的先前编码的组来对每个附加的组进行编码(610)。
在一个方面,编码的组可被打包成视频数据的部分的组合的比特流(任选的框612)。在另一方面,可以用超先验编码器(任选的框614)进一步处理潜在阵列以产生超先验辅助信息z,然后可以用超先验解码器(任选的框616)来处理该数据,例如使用图8的超先验编码器ha和解码器hs。锚定组(608)和附加的组(610)的编码可以基于由超先验解码器输出的结果。在一个方面,超先验辅助信息z还可以被组合到编码的比特流中,例如在框612中。多阶段神经网络编码的其他方面,包括潜在阵列y和超先验辅助信息z的编码,将在下面第2.2节“利用神经网络的多阶段预测”中描述。
图7描绘了利用分开的亮度/色度处理的示例性神经网络编码方法700。可以分开处理源图像数据的一部分的亮度和色度数据。该部分的亮度数据可以先由亮度卷积神经网络处理(框702),然后由亮度注意力处理器处理(706)。色度数据可以先由色度卷积神经网络(704)处理,然后由色度注意力处理器(708)处理。来自亮度和色度注意力处理器的输出然后可以用神经网络(716)来压缩,例如使用图8的主变换模块ga
在一个方面,亮度卷积神经网络和色度神经网络可以是分开的神经网络,因为它们所依据的权重是分开的并且被分开训练。在另一方面,亮度和色度注意力处理器是分开的,因为它们所依据的权重是分开的并且被分开训练。
在一个方面,注意力处理器可包括用主干分支处理(730,740)和掩码分支处理(732,742)两者来处理注意力处理器输入。注意力整合(734,744)可以将主干分支和掩码分支的输出与对注意力处理器的输入进行组合以产生注意力处理器输出。主干分支(TB)处理可以由残差卷积神经网络层组成,该残差卷积神经网络层可以允许特定信息直接传递以进行进一步处理。例如,给定对注意力处理器的输入x,主干分支的输出可以为y1=x+TB(x)。掩码分支(MB)处理可由残差神经网络层组成,以产生逐元素掩码。例如,给定对注意力处理器的输入x,掩码分支的输出可以为y2=MB(x)。注意力整合(2334,2344)可包括用逐元素掩码来掩蔽主干分支。例如,注意力处理输出可以为y1*y2+x。
在一个方面,用于亮度和色度的分开的广义除法归一化(generalized divisivenormalization,GDN)处理器可以分别应用于亮度注意力处理(任选的框710)和色度注意力处理(任选的框712)的输出。在另一方面,可以使用卷积神经网络来组合分开的亮度和色度处理的输出(任选的框714)。在又一个方面,利用主变换神经网络(716)的处理结果可以用超先验神经网络(任选的框718)进一步处理,如图8所示。下面在“利用神经网络的注意力处理器”的第2.1节中描述了分开的亮度和色度处理的附加方面,诸如关于图9A所述。
1.作为常规的基于块的编解码器的主机编解码器
顾名思义,混合神经网络压缩系统(诸如附图中的那些)可以将基于神经网络的编码器与基于块的编码器的工具集成。基于块的图像/视频编码器可以由编码器和解码器组成,并且可以压缩图像和视频数据以用于传输和存储。常规视频技术的一些示例为H.264(AVC)、H.265(HEVC)、H.266(VVC)和AV1。常规的编解码器通常基于块,它们最先将图像或视频帧分区成较小的图像区块或区域,称为编码块。这种分区可以是多阶段过程,其中完整的图像或视频帧被分成编码树单元(CTU)或超级块。这些超级块通常大于64×64个像素,最高可达256×256个像素或甚至更大。然后,可以将超级块进一步划分成更小的编码块(例如,这些编码块可以小至4×4个像素),以便对基础数据进行更精细的处理。图像或视频编码器可以选择一组压缩或编码工具而基于率失真成本来压缩图像的编码块或帧。
图2示出了在移除任选的(虚线)部件(例如,选择器290和神经网络编码器292)之后,类似于H.266的编码器,其中每个输入帧最先被分成编码块。大多数常规视频编码系统(包括HEVC、AV1)遵循与图2的这些非虚线组件类似的逻辑。在分区阶段之后,视频编码器可以从相邻块(即,通过使用帧内预测工具)或从时间上不同的帧/块(即,使用帧间预测/运动补偿预测)来预测当前块的像素样本。预测阶段可具有减少来自相邻样本的编码块中的空间或时间冗余信息的效果。在从感兴趣的块中减去预测值之后得到的信息块通常被称为残差块。然后,编码器使用离散余弦变换(DCT)或离散正弦变换(DST)或其他实际变换的变体对残差块应用特定变换。
变换阶段通过将残差值从像素域映射到某个另选的欧几里得空间来提供残差块中的能量压缩。该变换可具有减少需要在比特流中编码的系数所需的比特数量的效果。这些系数可稍后使用量化器来量化。量化可以大大减少需要传输的比特数。然而,这也可能导致信息的大量丢失,尤其是在较高量化器值/较低比特率的情况下。在这种情况下,这样可能导致图像/视频中的可见失真或信息丢失。速率(一段时间内发送的比特数量)和失真之间的权衡通常由量化参数(Qp)控制。
在熵编码阶段,可以使用无损熵编码方法,诸如AV1中的多符号算术编码和AVC、HEVC和VVC中的上下文自适应二进制算术编码(CABAC)将通常构成最终输出比特流的大部分的量化变换系数发信号通知给解码器。此外,在必要时,可以将某些编码器决策(例如,分区大小、帧内预测选项(例如,加权帧内预测、多参考线模式等)、变换类型和其他附加工具(例如,辅助变换模式))编码在比特流中,以使解码器知悉最终的编码决策。该信息可以被视为辅助信息,并且与量化的变换系数相比通常占最终比特流的较小部分。另外,可以对重构图像使用恢复和环路滤波器(例如,在解压缩之后)以进一步增强重构图像的主观质量。该阶段通常涉及去块滤波器以移除由于分区而产生的边界伪影,并且涉及恢复滤波器以移除其他伪影,诸如量化和变换伪影。
常规的视频和图像编解码器可以被看作是许多较小编码工具的集合。在现有的视频编码标准中,这些工具的数量从20到40不等。示例性编码工具包括运动和空间预测、分区、能量压缩变换(诸如DCT或DST)、量化、熵编码、环路滤波器等。当前的趋势是随着新的常规的编解码器的开发而增加了更多的工具。每个较小的编码工具都完成特定的任务,并且可以对基础数据做出某些数学假设。这些工具通常可以在开发过程中通过反复试验进行手动调整。例如,分区算法大多将图像划分成不同大小的正方形或矩形块。考虑到总体复杂性和性能,编码器可用的分区大小和形状可以由开发人员通过实验手动挑选。变换可以基于DCT或DST,并且可以针对不同的块大小或预测类型以不同的方式实施。
最后,常规编解码器经常执行色度子采样。这涉及最先将原始图像或视频帧线性变换为亮度(Y)分量和两个蓝色和红色色度(Cb,Cr)分量。亮度分量可以被感知为灰度图像,并且可以是信号亮度的近似值,并且其根据人类感知捕获图像的重要特征。亮度分量可以捕获人类大脑可能趋向于关注的边缘、形状和高频内容。另一方面,色度分量可包含对象或场景的颜色信息。通常对色度分量执行空间下采样操作。使得对于每4个亮度样本,在压缩之前仅可以保留1个Cb和1个Cr色度样本。一个示例是,对于128×128亮度块,可以仅考虑64×64Cr和Cb样本。这被称为4:2:0色度子采样。还有其他常见的子采样格式,诸如4:2:2和4:0:0。
2.图像和视频编码中的神经网络
基于神经网络(NN)的图像和视频压缩系统通常由一系列较小的NN模块组成,其中每个较小的模块可能具有“层”(或权重和偏差系数的集合)。这些层可以对输入图像和视频执行各种乘法、卷积和归一化/非线性操作。一旦定义了NN结构,便可以从数以千计的示例性图像/视频图像区块中训练权重,直到在某个度量空间中建立收敛。在图8中,示出了基于示例性神经网络的端到端图像压缩方案,包括分析神经网络ga和ha以及合成神经网络gs和hs。在编码器侧,神经网络模块将图像压缩成比特流,并且在解码器侧,解码器网络可以将这些比特流解压缩回图像区块、编码块或帧。与图2不同,可能没有明确需要定义多个编码工具,但是NN尝试在训练过程中学习最佳权重集合以实现压缩任务。
训练阶段涉及定义损失目标,例如均方差(MSE)、MS-SSIM或一些其他主观或客观度量。还试图最小化由熵编码阶段例如使用算术编码(AE)引擎编码的比特的数量。
在图8所示的示例中,编码器端的主变换模块ga使用具有空间下采样的2D空间卷积运算的串行级联,然后是称为广义除法归一化(GDN)的归一化运算,该归一化运算对卷积层获得的特征进行归一化。由于每一层对图像进行2倍的下采样,因此主变换的输出的系数少于输入图像(即,输入的压缩版本)中的像素数量。这些输出系数y可以被量化(图8中标记为“Q”的框)为然后可以例如使用算术编码(AE)方法将其熵编码成比特流(图8中的棋盘框)。该阶段类似于常规视频编解码器中的变换和量化阶段;然而,该阶段也可以隐式执行其他操作,诸如帧内预测,而无需指定此需求。
此外,可以使用附加的神经网络(诸如图8中的超先验模块ha)从输出系数获得附加的辅助信息,这可以发信号通知辅助信息为代价帮助进一步减少输出系数/>中的冗余。辅助信息/>可包括例如来自图8的超先验编码器ha的量化输出。在图8中,该辅助信息/>可用于导出与第一阶段的输出系数/>相关的值,这可帮助第一AE级更有效地压缩这些系数/>辅助信息/>可包括例如对均值(μ)、方差(σ)和量化器元素(δ)的预测。解码器侧执行算术解码(AD)并且实现编码器的逆运算,并且将解码的系数映射到最终重构中。
在视频编码中,可以将附加的模块添加到图8以通过使用分开的NN子模块来执行各种运动补偿/帧间预测任务。此处的工作是为了压缩视频帧的集合(或一组图片或GOP)而不是单个图像。
2.1利用神经网络的注意力处理器
在一个实施方案中,神经网络编解码器可以符合在常规编解码器中占主导的4:2:0色度子采样。例如,神经网络模块可以用于执行4:2:0子采样,并且从亮度和色度图像数据分量中提取更多的信息特征。该方法可以关于图8中总结的用于将NN模块与子采样编解码器集成的端到端解决方案进行。在一个实施方案中,此类4:2:0NN模块在图9中示出(即,两个变体:图9A中示出的模型1和图9B中示出的模型2)。在模型1中,左上方的正方形上的大写Y表示输入亮度分量(例如,128×128个像素)。U和V信道可以是对应的下采样色度输入(2×64×64),并且在下面显示为较小的正方形。Y之后的第一卷积层(即,卷积N×5×5/2)利用2D卷积运算对亮度分量进行2倍的下采样。U和V也通过卷积层,但不对这些层进行子采样。因此,“注意力”块的输入具有相同的空间维度。注意力块由残差层和卷积层组成,并且尝试分别用掩蔽来关注亮度和色度分量的不同特征和复杂区域。这些残差网络可针对亮度和色度信道分开实现,以提供附加的压缩益处。
在另一个实施方案中,亮度像素块可以从1×128×128重塑为4×64×64(从1信道的128×128块重塑为4信道的64×64输入)并且与U和V进行组合,以最终得到表示所有Y、U、V分量的6×64×64分量。在另选的实施方案中,可以使用卷积运算的子采样和附加的NN层来实现其他子采样格式。例如,为了实现YUV 4:4:4格式,可以移除针对亮度的下采样,或者另选地,可以在卷积运算期间对U和V分量进行2倍的下采样。
在一个实施方案中,Y、U和V信道的特征可以相加在一起或通过NN层的组合(例如,图9中的卷积N×1×1/1块)传递,该步骤可具有将来自亮度和色度分量的最具信息量的特征联合起来的效果。在图9的模型2中,示出了另一种方法,其中注意力层在这样的组合之后出现,这与模型1相反,在模型1中,注意力块分别针对亮度和色度分量。相比之下,模型2没有分别针对亮度和色度的特定的注意力层。与模型1相比,模型2的权重和可训练参数更少,并且更为简单。然而,压缩益处可能较低。
在一个实施方案中,图9中的最大模块“AMR变换和超先验”遵循与图8类似的结构并且包含变换和逆变换模块以及超先验模块。然而,它在卷积层和GDN归一化之间还具有附加的注意力模块。注意力层在由卷积层产生的特征图中“仔细地”捕获感兴趣的区域(边缘、形状、高熵区域)。图10A/B中示出了一个示例,该示例示出了替换图8的变换和逆变换模块的修改的变换和逆变换模块。图8中的超先验模块也可以具有类似的结构并且进行相应的修改。在其他设计中,GDN和逆GDN(IGDN)可被替换为任意归一化,诸如整流线性单元(ReLU)、Leaky ReLU等。
2.2利用神经网络的多阶段预测
在一个实施方案中,具有另选的NN架构的编码流程如图11所示。这示出了对图9中描述的AMR变换和超先验框架进行改进的编码和重构流程。该NN架构在熵编码阶段涉及附加的熵网络(E1、E2、E3…)和熵上下文模型(CTX1、CTX2…)。主要流程如下:最先将输入图像/帧x变换为潜在表示y。需注意,在色度子采样(例如,YUV 4:2:0)的情况下,x表示亮度(Y)和色度(U,V)信道,如图9所示(模型1,左侧),并且图11中的变换块包括图9中所示的带有注意力模块的YUV网络。
编码器可以将压缩级别λ整数作为输入,神经网络可以通过学习的矩阵“缩放”池将其映射到量化矩阵q。矩阵q可以在训练时间从训练集全局学习,并且在推断时间被认为是静态的。
混合编码器还可以从潜在y中提取辅助信息z。然后,在编码器和解码器处实现的超级解码器使用该辅助信息来查找另一个3D量化器δ。该量化器可以是自适应量化器,该自适应量化器可以通过考虑潜在变量y的局部特性来进行量化并且可以改变y的每个位置和信道的量化步长。δ的值在测试时可以是动态的和内容自适应的。潜在y可以用量化矩阵q和3D量化器δ两者来缩放。然后,缩放后的潜在变量可以被舍入以变成离散的。缩放和舍入过程在本文中可被称为“全局自适应量化”。下面还讨论了上下文相关的辅助量化器。
在一个实施方案中,基于上下文的NN模块或子网络可以被集成到如图11所示的基于NN的图像压缩方法中(如用CTX块所示)。上下文网络最先可以使用先前编码的潜在系数的邻域(或上下文)来预测潜在系数。这可以利用多遍因果解码来完成,其中可以定义多个上下文,并且每个单独的上下文在编码器/解码器开始使用另一个上下文之前最先预测/解码一组特定的位置。图12A将样本1210示出为待预测的系数,其中样本1210的预先确定的距离内的先前解码的值1220(中间样本的上方及左侧样本)的上下文可以用于在编码之前预测该系数1210。然后,该预测可以与图11中的超级解码器的输出一起传递到熵网络(例如,E1、E2、E3),以对待编码的预测样本的各种特性进行建模,包括当前上下文的均值、方差和最佳局部量化器。这种上下文方案的自回归性质要求对每个码字进行顺序解码,这可能是不切实际的。可以通过用多遍方法将码字分成组来引入并行性。例如,码字可被分成具有棋盘图案的两个组(图12B),其中每组y值对应于基本上均匀分布在图像的区域上(或者基本上均匀分布在值的二维矩阵上)的空间位置。在第一遍中,可在没有上下文建模的情况下对锚组进行解码。在第二解码过程中,非锚定组可以使用锚定组作为上下文。因此,可以根据编码之前样本1230的预先确定的距离内的先前解码的值1240.1-1240.4来预测样本1230。这允许在两个解码过程中进行并行的上下文建模。然而,压缩效率可能会受到影响,因为只有一半的像素具有上下文,并且上下文模型仅使用四个相邻者。下面呈现了用于增加压缩益处的4遍上下文模型。
在另选的实施方案中,可以定义若干上下文来掩蔽和编码潜在系数的不同空间区域。例如,4-阶段过程可以用于基于上下文的编码和解码。在图13A中,在第一阶段,可以对第一样本(具有直对角线阴影)进行编码(例如没有预测),并且这些第一样本然后可以在解码器侧可用于在第二阶段进行预测。这在图11中以包含E1熵网络的粗虚线椭圆区域示出。熵网络对均值(μ_a)、方差(σ_a)和单独的局部量化器(δ_a)进行建模。在第二阶段,定义上下文区域,如图13B中围绕中心9个样本的小虚线正方形所示。在该阶段,第一样本可能可用(由于第1阶段编码),在虚线方块内显示为“1”,目标是对第二样本进行预测和编码。上下文NN模型最先尝试使用来自第一编码阶段的先前解码的第一样本来预测这些第二样本。该上下文模型如图11所示,位于E2熵网络的左侧。熵网络接收上下文的输出/预测,并且对均值(μ_b)、方差(σ_b)和特定于该掩码的单独的局部量化器(δ_b)进行建模,然后算术编码器在给定所有这些信息的情况下对这些第二样本进行编码。在阶段3,单独的上下文模型使用来自阶段2的解码的第二样本(现在在图13C中标记为“1”)来预测图13C中的第三样本,并且熵网络(E3)对这些样本的均值、方差和局部量化器进行建模。这些变量和样本然后可以用于对第三样本进行编码。最后,最终的上下文模型(现在在图11中示出)可以使用在图13D中示出的上下文区域中的所有先前编码的样本(包括第一样本、第二样本和第三样本,在图13D中标记为“1”)来对剩余的第四样本进行编码。显然,该多阶段过程是顺序的且是因果的。可以基于解码时间约束和压缩效率来决定上下文模型的数量。在解码器侧,解码器需要以因果方式顺序地解码每个上下文区域。
在另选的实施方案中,上下文模型可以如图13A至图13D中那样在空间上定义,并且还可以按信道(按颜色分量)扩展。即,上下文相邻部分可以是包含位置和信道信息两者的3D地图,因为潜在变量通常由C信道、N×M空间样本(例如,C×N×M)组成。
在另选的实施方案中,用于上下文编码区域的最终量化器可以被定义为δ×q×δ_a,例如,单独的全局、变分和上下文相关量化器的乘积,其中δ_a是特定于上下文模型a的量化器,δ_a可以是2D或3D变量。
到目前为止所描述的概率压缩模型以高斯分布对码字进行整形,并且发信号通知其描述(μ,σ),使得它们可以在熵编码器的编码器/解码器侧可用。通常,大量的码字可确信为零(μ为零,σ较小)。单独地对它们进行编码可导致不小的开销。在一个实施方案中,这些零可以被有效地编码如下。最先,码字可以按照其对应的σ以升序排序。接下来,可以对前导码字(最可能为零)进行分组以形成“零组”。零组的大小由所有的组成员的联合概率为零来确定,其中可在编码器/解码器侧两者处共享标准。该联合概率还用于对零组进行熵编码,以发信号通知其成员是否确实全部为零。如果确实全部为零,则可以恢复该组中的所有码字。否则,每个成员分进一步使用其各自的分布单独编码。可以针对每个内容优化组形成标准的超参数,并且在帧或序列级别发信号通知。
在一个实施方案中,超先验合成变换(例如,图8的超先验解码器hs)可被简化以通过利用图24C中描绘的多头预测结构来改善解码器侧的等待时间。通过使用公共预测分支,该预测结构需要较少的参数并且因此需要较少的算术运算。根据该公共预测分支,可以定义多个子分支来预测最终的均值(μ)、方差(σ)和局部量化器元素(δ)。多个分支结构是可能的,例如所有的输出可以共享相同的分支,或者仅其中的两个,如图24C所示。在另一个变体中,子分支在主干网络的不同深度处产生,如图24B所示。这也可以使得能够在分支之间进行不同精度级别的计算。例如,超先验辅助信息的一些元素可能需要比特精确计算以确保完美再现,例如在计算方差(σ)时,而大小信息的其他元素可能不需要比特精确计算,因此诸如在更快的推理设备上可以高效地计算。
2.3基于图像内容的神经网络训练
在另选的实施方案中,可以训练多个NN模型以针对不同类型的内容或根据不同的质量要求。例如,可以针对屏幕内容或动画内容专门调整/训练NN的第一NN模型。可以针对自然内容(例如,自然视频/电影等)训练单独的第二NN模型,专门用于使用非常低比特率(例如,每像素0至0.2比特(bpp))的压缩内容。另一个第三NN模型可以针对每像素0.2比特至0.5bpp的范围进行训练,而另一个第四NN模型可以专门针对非常高的比特率。主机编解码器可以另选地根据评估和/或参数诸如量化参数/图像像素方差等来选择模型索引。解码器可以从比特流的已解码部分推断要使用哪个模型索引,或者通过对可以从编码器发信号通知给解码器侧的低级或高级标志进行解码来推断要使用的模型索引。
在另选的实施方案中,可以基于处理的内容在线修改与NN结构有关的权重/偏差或其他参数,或者NN模型的某些部分可以适应处理后的数据。在这种情况下,修改后的权重/偏差或系数(或值的变化,例如增量系数)可以使用主机编解码器的熵编码过程在比特流中显式地发信号通知给解码器侧。另选地,对于某些模型参数可以避免这样的信令,并且可以在解码器侧基于来自相邻块的先前解码的信息/或解码的像素值/统计数据来推断这样的信令。
3.混合编码
在本发明中,描述了根据基于NN的图像和视频压缩系统与基于块的视频编解码器的组合的混合图像和视频编码方法。这种混合方法可以将现有视频编解码器的编码工具与基于NN的图像和视频压缩系统相结合(如图2和图8所示),以继承这两个系统的压缩优势。
在一个实施方案中,基于NN的压缩过程可以集成到现有的图像/视频编码系统(诸如常规的编码系统)中以替换或绕过现有“主机”编解码器的部分(或某些编码工具)。混合编码方法可以对以下各项进行编码:1)以端到端的方式对整个图像或视频帧进行编码,2)子区块,诸如图像或视频帧的图块或编码块,或3)其他信息,诸如帧内或帧间预测之后的图像的残差部分,或另选地4)可以对一组图片(GOP)或图像区块进行编码,5)还可以用于增强类似于环路滤波器的信息。NN系统可负责获取输入数据并且产生将由熵(例如,算术)编码引擎编码的一组权重,并且还可以负责此类数据的解码。
在另一个实施方案中,基于块的图像或视频解码器可被配置为确定是否需要利用基于NN的系统的学习/训练的系数以端到端方式压缩图像的块或特定区域或其他信息,而不是使用主机视频编解码器的现有操作。如果主机编解码器认为对于图像的特定区域或编码块使用基于NN的端到端压缩过程而不是现有的编码工具是有益的,则主机编解码器可以绕过其现有的编码工具,并且可以尝试使用上面介绍的NN系统来压缩图像/帧/块。如果主机编解码器认为使用端到端框架没有益处,则编码过程可以跳过NN架构。
在一个实施方案中,视频编码器可以向视频解码器提供信令信息,该信令信息标识在编码/解码过程中是否将使用端到端NN架构。这可通过以下方式来实现:1)从编码器向解码器侧发信号通知辅助信息(例如,通过发信号通知一个或多个相关编码块标志/索引或信息)和/或2)较高级别的帧/图片或序列级别标志/索引或信息,和/或3)从先前解码的信息推断或估计相关模式决策。此外,解码器可以实现在主机编解码器和基于NN的系统之间切换相关操作、受过训练的神经网络权重和相关操作以成功地解压缩图像/视频信息的解析和解码逻辑部件。
NN模型可以使用神经网络进行离线训练,并且可以作为扩展集成到现有的视频编码技术中,诸如H.264、H.265、H.266和AV1标准,使得可以绕过主机编解码器的整个工具集合或分区、变换、量化、熵编码和滤波操作中的部分。这种结构与现有的视频编解码器一起工作,以完全压缩图像和视频帧或较小的块和图像区块。
3.1帧级别混合控制
图15A和图15B分别描绘了利用混合主机和神经网络编码工具的示例性编码器1500和解码器1550。在图15A中,对于输入到编码器1500的图像数据的一部分,诸如源帧,编码器决策单元1502控制开关1504,用于在第一编解码器的编码工具(诸如主机编解码器的工具1506)和替代编解码器的编码工具(诸如基于神经网络的处理1510)之间进行选择。开关1508可以选择从所选择的编码工具输出的比特流以包括在比特流打包器1512的混合比特流中。指示由编码器决策单元针对图像数据的部分选择的编码器的辅助信息也可以例如由比特流打包器1512包括在最终比特流中。
解码器1550可作为编码器1500的补充来操作。编码的混合比特流可以由解码器控制1552解析以标识图像数据的一部分的解码器选择,例如通过标识显式编码在混合比特流中的解码器选择标志或者通过从混合比特流中的其他信息推断解码器决策。开关1554可以基于由解码器控件1552标识的解码器决策在第一解码器(诸如主机编解码器解码器1556)和替代解码器(诸如基于神经网络的解码器1558)之间进行选择,并且混合比特流的对应于图像部分的部分可以被提供给所选择的解码器。开关1560可以在第一或替代解码器的输出之间进行选择以包括在图像部分(例如完整图像帧)的重构中。
在一个实施方案中,主机编解码器和基于NN的压缩方案可以如图15A/B中那样组合。在编码器侧,可以使用图9所示的NN架构以端到端的方式通过基于NN的压缩过程来压缩整个源图像或帧,或者另选地,主机编码器可以决定使用其现有的编码工具来压缩整个图像,从而绕过基于NN的压缩方案。使用哪种压缩方案的过程可以由主机编解码器的编码器基于例如率失真(RD)分析/规则来进行。对此通过图15A/B中的编码器决策块之后的开关来说明。如果不使用NN压缩,则编码器将回退到对特定帧使用其主机编解码器编码工具,而如果NN过程的RD成本较低,则主机编解码器将使用NN压缩。该决策可以改变主机编解码器的解码器的解析和解码过程。
在一个实施方案中,来自主机编解码器(比特流1)或NN压缩过程(比特流2)的比特流可以由主机编解码器与其他辅助信息组合以形成最终比特流。该信息可包括编解码器是否决定经由要发信号通知的相关标志/索引来使用基于NN的过程或主机编解码器工具。由于编码器可以向解码器提供标识编码器的选择的数据:
在一个实施方案中,主机编解码器可以发出高级标志或索引(例如,nn_compress_enable)信号,以通知解码器为主机编解码器过程和基于NN的系统之间的最终图像选择适当的解码/解析过程和重构规则。例如,如果nn_compress_enable=1,则可以用基于NN的系统而不是主机编解码器来压缩/编码和解码/解压缩/重构最终图像。
在一个实施方案中,可针对每一帧或针对图片标头、切片标头或帧标头中的帧集合发信号通知nn_compress_enable标志。
在另一个实施方案中,解码器可以从解码的比特流推断nn_compress_enable的值,以选择适当的解码/解析过程和最终图像的重构规则。这将避免在某些情况下隐式地发信号通知nn_compress_enable。
在一个实施方案中,如果nn_compress_enable=1,则编码器可以使用NN模块来压缩图像/帧,但熵编码过程可以用主机编解码器的熵编码工具而不是基于NN的系统来完成。
在特定实施方案中,基于NN的系统可具有与主机编解码器的解码过程分开的解码过程,其中可以与主机编解码器的解析和解码过程正交地解析压缩信息。例如,视频序列的不同帧/图块可以分开地或以并行方式解析,例如,可以使用主机编解码器的熵解码过程来对某些图块/帧进行解码,一些其他图块可以用针对基于NN的系统设计的分开的熵解码过程进行解码。
在一个实施方案中,基于NN的系统的解析和解码过程可以是重叠的,并且主机编解码器的解析/解码过程可以依赖于基于NN的压缩方案的解析解码过程。即,主机编解码器或基于NN的压缩方案可以访问并且使用彼此的解析/解码过程以及解码的信息、标志或索引。
3.2帧分区级别混合控制
图16A和图16B分别描绘了针对混合主机和神经网络编码工具利用帧分区的示例性编码器1500和解码器1550。在图16A中,分区器1601可以将帧在空间上划分成多个部分,诸如作为图像帧的子部分的块或超级块。接着,对于帧的分区后的部分,编码器决策单元1602可以控制开关1604,用于在第一编解码器的编码工具(例如,主机编解码器的工具1606)和替代编解码器的编码工具(例如,基于神经网络的过程1608)之间进行选择。开关1610可以选择从所选择的编码工具输出的比特流以包括在比特流打包器1612的混合比特流中。指示由编码器决策单元针对图像数据的部分选择的编码器的辅助信息也可以例如由比特流打包器1612包括在最终比特流中。
解码器1650可以作为编码器1600的补充来操作。编码的混合比特流可以由解码器控制1652解析以标识图像数据的一部分的解码器选择,例如通过标识显式编码在混合比特流中的解码器选择标志或者通过从混合比特流中的其他信息推断解码器决策。开关1654可以基于由解码器控制1652标识的解码器决策在第一解码器(诸如主机编解码器解码器1656)和替代解码器(诸如基于神经网络的解码器1658)之间进行选择,并且混合比特流的与图像帧部分的分区相对应的部分可以被提供给所选择的解码器。开关1660可以在第一或替代解码器的输出之间进行选择以包括在完整帧的重构中。任选的去块和/或任选的环路滤波可以应用于相邻的解码的块和超级块。
在一个实施方案中,基于NN的压缩方案可以与主机编解码器集成以与主机编解码器的现有编码工具进行交互。例如,基于NN的压缩方案可以应用于主机编码器内的各个编码块。在图16A/B所示的实施方案中,基于主机编解码器的分区树和RD决策来对源帧进行分区。然后,对于每个分区的编码块,可以使用基于NN的方案或主机编解码器以端到端方式对其内容进行编码。
在另一个实施方案中,主机编解码器的解码器可能需要知悉对于每个编码块使用哪种压缩方案(主机编码工具或基于NN的系统)。可以使用主机编解码器的熵编码过程为每个分区编码块(nn_compress_flag=1)发信号通知该信息。在另选的实施方案中,nn_compress_flag或其他相关标志/索引可以完全或部分地从解码器处的先前编码的块的统计数据推断。
在一个实施方案中,用于nn_compress_flag的信令和解码步骤可以在超级块或CTU级别进行,或者另选地针对每个编码单元进行,如图16A/B所示。在解码器侧,在图16A/B(主机解码器部分)中,决策标志/模式可以被解码或者从已经解码的信息推断。基于该标志/决策的值,可以使用基于NN的解压缩过程来代替主机编解码器的去量化和逆变换过程。
在特定实施方案中,图像或视频/帧可以被分区成区域,例如图块或切片、或编码块,如图17所示。每个编码块可以用主机编解码器(如“主机”区域所示)或基于NN的压缩方法(例如,经NN编码的区域)进行编码。如上所述的低级编码块、超级块级标志或其他索引可以被发信号通知给解码器以使其知悉哪些区域可以使用主机编解码器的编码工具或基于NN的压缩系统来解码和/或重构。解码器可以对该低级标志进行解码,以将解码和重构处理从主机编解码器切换到基于NN的方法。可针对每个编码块单独地发信号通知该标志,或者可以针对编码单元的子集发信号通知一个这样的标志。若干示例如下:
在一个实施方案中,可针对每个编码块单独地发信号通知nn_compress_flag。
在一个实施方案中,可在给定超块或CTU的第一编码块处发信号通知nn_compress_flag。
在一个实施方案中,nn_compress_flag可以在给定超块或CTU的第一编码块处发信号通知,并且驻留在同一CTU/超块内的其他编码块可以根据第一编码单元/块的nn_compress_flag值重新使用或推断nn_compress_flag。
在一个实施方案中,可以仅针对编码块的子集发信号通知nn_compress_flag,并且可以针对同一帧或超块内的其他编码块推断nn_compress_flag。
在一个实施方案中,超级块/CTU被示出在图18的右下方,其由主机编解码器分成5个编码单元。该超级块有3个相邻块(用相邻者#s标记)。在该示例中,可以从来自相邻者#1、#2和#3的其他nn_compress_flag值推断nn_compress_flag,使得不必针对右下超级块发信号通知该信息。
在一个实施方案中,可以直接发信号通知图18中的第2编码单元的nn_compress_flag,而无需推断或依赖于相邻者。
在一个实施方案中,图18中的第5编码单元可以推断该低级nn_compress_flag的值为0,因为左编码单元(第4)和上编码单元(第3)具有等于0的标志值。换句话讲,nn_compress_flag的编码/解码过程可依赖于相邻编码块索引而非仅发信号通知该分量。这同样适用于将该标志推断为1。该示例可被推广到当前块的任意邻域。
在一个实施方案中,可针对亮度和色度分量联合地发信号通知和/或推断nn_compress_flag。
在一个实施方案中,例如在分开的分区树的情况下,可针对亮度和色度分量分开地发信号通知nn_compress_flag。
在一个实施方案中,可针对亮度块发信号通知nn_compress_flag,并且色度块可以重新使用该发信号通知的亮度标志的值。
在一个实施方案中,可以组合以上示例以在对nn_compress_flag进行编码和解码时执行各种类型的信令和推断方法。
在一个实施方案中,可以向解码器发信号通知跳过模式标志以指示可以跳过某些主机编解码器操作(诸如变换)。在这种情况下,可以隐式地开启NN模型来执行某些操作,而无需显式地发信号通知NN相关模式和标志。
3.3对混合控制的熵编码
在一个示例中,当使用二进制或多符号算术编码时,可以对nn_compress_flag的熵编码过程进行上下文编码。在主机编解码器内部的熵编码过程中,可以使用单独的概率模型对nn_compress_flag进行编码。该概率模型可以依赖于相邻块信息和来自当前编码块或相邻块的标志/索引和/或其他高级别标志或低级别标志。
例如,可针对不同的块大小定义单独的概率上下文(例如,针对64×64与256×256的不同上下文)。对于每个不同的块大小或不同块大小组的子集,可以选择不同的上下文。这使得nn_compress_flag的信号传输更加高效。在类似的情况下,如果块大小大于128×128,则可以使用单独的上下文。
在另一个示例中,可以基于来自当前块和/或相邻块中的每个编码工具的标志的子集来选择概率上下文。作为一个示例,如果相邻块(例如,左侧和上方)使用DCT-2类型的变换,则在对当前块的nn_compress_flag进行编码时可以使用单独的上下文。
在另一个示例中,可以基于来自当前和/或相邻块的分区类型、分区树和/或其他分区相关信息来选择概率上下文。例如,如果当前超级块的分区类型是水平的,则可以使用不同的上下文对nn_compress_flag进行编码。
在一种情况下,可以基于分量类型来选择概率上下文,使得当对nn_compress_flag进行编码时,算术编码器/解码器可以对亮度和色度分量使用分开的概率模型。
在另一种情况下,可以根据相邻块中的nn_compress_flag的值来选择概率上下文。例如,如果左侧块和上面的块的标志值为1和0,则与两个标志值均为1的情况相比,可以使用单独的上下文。
在一个实施方案中,高级标志(nn_compress_enable)可以在帧级、图片级、序列标头等处发信号通知。该信令可以作为块级nn_compress_flag的补充来发生。如果高级标志为0(禁用),则可以强制图像/帧的所有编码块使用主机编解码器的操作,并且不需要发信号通知低级标志,因为它总是可以在解码器处被推断为nn_compress_flag=0。
3.4对混合编解码器的速率控制
在一个实施方案中,基于NN的系统可以是多速率的,并且可以基于比特率“级别”或比特率目标来压缩图像或视频。级别值可以类似于常规编解码器中的Qp值,并且控制端到端NN系统的量化/失真性能。在一个示例中,较高级别值将在对当前图像/帧/编码块进行编码时分配较多的比特并且引起较少的失真。另选地,较低级别值将使得基于NN的系统更积极地压缩图像/帧或块。级别值可以是编码器/解码器处的基于NN的系统的附加输入。
在一个实施方案中,级别值可以由编码器决定并且在比特流中显式地发信号通知。该信令将是除了由主机编解码器发信号通知的Qp值之外的信令。
在一个实施方案中,可以使用主机编解码器的Qp值来找到针对基于NN的系统的级别值的映射。这意味着可以用主机编解码器来发信号通知Qp值,并且解码器可以对Qp值进行解码以找到基于NN的系统的对应的级别值以继续进行解压缩。这种映射可以通过将值存储在映射表中来实现,使得给定Qp值,该表将返回对应的级别值(例如,Level_Map=Table[Qp])。另选地,映射可以基于简单的数学关系,例如Level_Map=-2.7*(Qp>>2)。这种映射避免了为了节省比特率而发信号通知单独的级别值。
在特定实施方案中,映射和信令方案可以组合在一起。例如,初始映射可以将Qp值映射到对应的级别值,并且另外可以将增量级别值发信号通知给解码器。该增量级别值可以由复杂编码器确定,以找到特定图像块或帧的最优级别值。在这种情况下,最终的级别值将是Level_Final=Level_Map+增量级别。
在一个实施方案中,可以用主机编解码器的算术编码器利用相关概率上下文对级别值或增量级别进行编码。这些上下文可以依赖于块大小、相邻块的级别值的值等。
在一个实施方案中,可以基于输入图像或视频编解码器的内部比特深度和/或输入序列的比特深度来分别定义级别值映射(表值或函数)。例如,与8比特内容相比,10比特内容可具有单独的映射或功能。
3.5对亮度/色度的混合控制
在特定实施方案中,可以针对每个Y、Cb、Cr信道或那些信道的子集使用分开的基于NN的压缩系统。在一个实施方案中,亮度块可以使用单个NN压缩模型,并且可针对亮度块单独发信号通知块级别标志nn_compress_flag_luma。不同的NN压缩过程可以用于色度块,对于该色度块,可以发信号通知另一个低级标志nn_compress_flag_cbcr。以上针对nn_compress_flag详细描述的信令实施方案可以用于nn_compress_flag_luma和nn_compress_flag_cbcr标志。
在另一个实施方案中,亮度和色度块可具有分开的分区树,并且可以使用相同或不同的NN架构用于压缩和解压缩阶段。在一个示例中,可以直接从nn_compress_flag_luma的值推断出来nn_compress_flag_cbcr标志的值以避免冗余信令。即,如果nn_compress_flag_luma被标记为1,则luma可以使用“模型1”NN架构,色度信道可以使用依赖于nn_compress_flag_luma标志的单独的“模型2”NN架构(可能比模型1更简单),并且使用模型2NN架构相应地压缩和解压缩色度信道。在这种情况下,如果nn_compress_flag_luma=1,则可以将nn_compress_flag_cbcr推断为1。在另一个示例中,可以从nn_compress_flag_luma推断出nn_compress_flag_cbcr,并且亮度和色度信道都可以重新使用相同的基于NN的架构。
3.6利用神经网络和混合编解码器的环路滤波
在一个实施方案中,可以借用来自主机编解码器的部分重构过程并且将其应用于从基于NN的解压缩方案获得的重构。这些包括应用于NN解压缩图像之上的现有去块效应和环路增强滤波器。这在图8中示出。这些增强滤波器和去块操作可以被启用或禁用,而无需基于每个恢复/环路滤波单元的高级别(nn_compress_enabled)或低级别(nn_compress_flag)信令的显式信令。可以通过显式信令针对NN压缩图像区域启用这些增强操作。
在一个实施方案中,可以根据nn_compress_flag发信号通知恢复滤波器标志、环路滤波器模式/标志及其强度、或者滤波器模式诸如AV1中的CDEF或自适应环路滤波器(ALF)标志。例如,如果nn_compress_flag=1,则可以关闭CDEF并且可以将CDEF信令推断为0。
在另一个实施方案中,如果nn_compress_flag=1,则可以将恢复滤波器强度设置为预定义值(例如,0),以避免不必要地发信号通知恢复滤波器强度。
在一个实施方案中,如果nn_compress_flag=1,则所有恢复滤波器和环路滤波器可在解码器处被推断为不允许(相关标志/模式/索引被推断为0)。
在一个实施方案中,如果对于CTU内部的单独的编码块nn_compress_flag=1,则可针对当前CTU禁用VVC中的自适应环路滤波(ALF)。
3.7基于混合控制的编码参数限制
在一个实施方案中,基于nn_compress_flag的值,可以约束或推断主机编解码器中的一些或所有其他标志的信令。作为示例,如果编码块决定使用基于NN的压缩方案并且nn_compress_flag=1,则可以绕过主机编解码器的现有预测/变换/量化步骤,并且不再需要在比特流中发信号通知预测/变换/量化相关信息。解码器可以根据nn_compress_flag将所有此类主机编解码器标志推断为0。
在一个实施方案中,基于NN的系统可以仅针对某些块大小工作,并且可以相应地发信号通知nn_compress_flag。例如,对于小于32×32的块大小,可以禁用基于NN的系统,并且nn_compress_flag可以在解码器处被推断为0。在这种情况下,需要在nn_compress_flag之前对块大小进行解码。
在另一个实施方案中,可以在发信号通知块大小之前发信号通知nn_compress_flag,并且可以将块大小推断为特定大小,例如,如果nn_compress_flag=1,则为128×128。
在一个实施方案中,可以针对某些分区类型发信号通知nn_compress_flag。例如,仅当分区类型为None或4路分割时,才可以发信号通知nn_compress_flag。对于其他情况,它可以在解码器端被推断为0。在这种情况下,分区类型需要在nn_compress_flag之前被解码。这将避免为所有块分割冗余地发送nn_compress_flag信号。
在另选的实施方案中,可以显式地发信号通知nn_compress_flag=1,并且可以基于nn_compress_flag将分区类型推断为“无”。这将避免冗余地发信号通知分区类型。
在一个实施方案中,可以根据nn_compress_flag的信令在解码器处推断变换类型(TX_TYPE)和变换大小(TX_SIZE)。例如,如果nn_compress_flag=1,则TX_TYPE可以被推断为DCT_DCT,并且TX_SIZE可被设置为等于块大小或某个其他值。这避免了冗余信令,因为nn_compress_flag=1指示可以绕过主机编解码器变换阶段。
在一个实施方案中,可以基于nn_compress_flag的值来推断帧内预测模式和角度。例如,如果将nn_compress_flag发信号通知给解码器为1,则可以将帧内预测模式推断为DC_PRED,并且可以将帧内预测角度推断为0,而无需发信号通知它们。
在一个实施方案中,如果对于各个编码块、帧和图像nn_compress_flag=1,则可以跳过所有变换系数/令牌、变换跳过标志、系数符号、系数级别、最后一个有效系数的位置、DC项的值和所有其他变换相关信息的信令。
在一个实施方案中,如果nn_compress_flag=1,则可以跳过帧内块复制(IBC)标志/模式/索引和调色板模式标志/颜色/索引的信令。这些工具可被推断为不活动的,其中相关的底层标志未被发信号通知,而是被推断出来。
在一个实施方案中,当nn_compress_flag=1时,可以禁用VVC中基于多参考线的预测、基于矩阵的帧内预测、帧内子分区、子块变换和低频不可分离变换(LFNST)等工具,在这种情况下,不需要显式地发信号通知与这些工具相关联的块级别信号,并且此类标志可以在解码器端被推断为0。
3.8对混合分区的预测
在一个实施方案中,NN模块可通过重新使用来自相邻块的先前解码的样本或辅助信息来压缩分区的图像的较小块,如图6和7所示。对于图17中的块#4,NN模块可以从块1、块2和块3读取重构样本以更有效地压缩块4。
在一个实施方案中,来自图17中的块1、块2、块3的像素值可以用于在用相同的NN模块压缩之前用NN模块直接预测块4的内容。该方法如图19所示。在步骤1中,可以根据相邻编码块的样本来预测编码块(X),以形成预测信号P。这种预测可以通过使用1)主机编解码器的传统预测工具,2)使用级联到基于NN的压缩方案的附加的NN层,3)或现有预测工具和基于NN的逻辑的组合来实现。在步骤2中,可以通过从当前块X的原始像素值中减去预测信号P来形成残差块,从而形成残差信号/块R。然后,图6和图7中详述的基于NN的压缩方案可以在步骤3中以端到端方式压缩剩余的残差信号(R)以生成比特流。这可以通过使用相邻块中的样本来显著减少当前块中的冗余。
在一个实施方案中,先前实施方案中的比特流可以通过使用主机编解码器的熵编码过程来生成,或者通过使用图8中所示的熵编码过程(通过使用基于超先验的算术编码(AE)过程)来生成。
在特定实施方案中,先前实施方案中详述的预测阶段可涉及其他辅助信息,诸如存在于相邻块中的均值、方差和其他统计数据,而不仅仅是像素值。
在一个实施方案中,这种基于NN的残差压缩系统的另选预测方法可以集成到如本发明中详细描述的主机编解码器,并且可以使用如先前描述的所有低级(nn_compress_flag)和高级标志(例如,nn_compress_enable)。
3.9对平均(DC)像素值的分开的编码
在特定实施方案中,视频编码系统可以将图像分块/分区成分开的编码块,并且在压缩之前移除DC项和其他低维信息之后可以利用基于NN的系统对每个块进行编码。这在图20中示出,其中视频帧被分块成4个编码块;对于每个块,DC项被移除,并且可以使用基于NN的压缩系统以端到端方式压缩所得的预处理。在一个实施方案中,DC项和其他低维信息可以用算术编码器来编码并且可以使用每个分量的概率上下文。在另一个实施方案中,在利用基于NN的系统重构各个编码块并且添加回DC项之后,后置滤波器可以用作去块和增强滤波器以提高最终图像的主观质量,这如图20的左下部分所示。
3.10多帧混合编码
在不同的实施方案中,基于NN的压缩系统可以通过执行必要的运动估计/补偿和帧间预测处理来对一整组图片(GOP)进行编码。这如图21所示。NN系统可以处理帧间预测/运动估计/补偿过程以及压缩/解压缩过程,以通过使用NN视频压缩系统或者另选地使用主机视频编解码器来压缩整个GOP。
在一个实施方案中,主机编解码器可以使用基于NN的系统来估计运动,而不是使用其现有的运动估计工具。然后使用现有工具或基于NN的帧间预测工具执行帧间预测。
在另一个实施方案中,主机编解码器可以使用在图15A/B(可以编码整个帧)和图16A/B(可以编码较小的编码块)中描述的机制利用主机编解码器或基于NN的方法来对I帧进行编码;以及通过使用基于NN的P帧编码器或主机编解码器的连续P帧(例如,图21中的帧#2)。
3.11混合编码器简化
可以用多种技术来简化编码器的选择(例如,在主机编解码器工具和神经网络另选方案之间),以降低编码器的复杂性。在一个实施方案中,对编码器(或编码器工具)的选择可基于待编码的帧或分区的统计数据。例如,当块统计数据过于“简单”时(诸如对于屏幕内容),神经网络编码器可能默认被禁用。
在一个实施方案中,对帧级数据或块级信息进行的预分析可以产生统计数据,该统计数据可包括(方差、均值等)NN模型可以由编码器基于关于统计数据的决策规则来禁用的统计数据。
在一个实施方案中,编码器决定(基于帧/块级别的统计数据)也可以在序列/片或帧级别被发信号通知给解码器,对于这种情况,编码器可以关闭NN模式。
在一个实施方案中,当主机编解码器工具的RD成本已经低于某个阈值时,则可以跳过NN编码,主机编码器可能足以例如用于帧内或帧间编码。
在一个实施方案中,如果NN模型提供难以克服的RD,则可以禁用RD搜索(对于一些分区,变换类型诸如IDTX等)。
在一个实施方案中,可以使用机器学习技术来决定是跳过NN模式搜索还是主机编解码器模式搜索。机器学习模型可以是被预先训练的,也可以是无监督的。
在一个实施方案中,NN模型可以在帧级或超级块级作为单次触发(仅变换/量化/逆变换部分)被部分地执行,以在RD搜索期间建立基线MSE值。基于该MSE值和/或量化的码字,可以针对较小的分区关闭NN模式搜索。
图22描绘了利用多阶段解码的示例性神经网络解码方法2200。在一个方面,神经网络解码方法2200可以是图6的神经网络编码方法600的对应方法。方法600可以例如利用图3、图15B或图16B的解码器来实现。在神经网络解码方法2200中,可以在不考虑潜在阵列的其他组的情况下对潜在阵列y的锚定组部分进行解码(2206),然后解码的附加阶段可以基于先前解码的组的解码来对任何附加的组进行解码(2208)。经解码的组可以被集成到潜在阵列y中(2210),并且潜在阵列y可以由神经网络变换成图像数据(2212)。多阶段神经网络解码的其他方面,包括潜在阵列y和超先验辅助信息z的解码,将在上面第2.2节“利用神经网络的多阶段预测”中描述。
在方法2200的任选方面,编码的比特流可以与超先验辅助信息z一起被拆包(2202)到潜在阵列y的编码的组中。超先验辅助信息z可以被解码(2204),并且组的解码(2206,2208)可以基于解码的超先验辅助信息h。
图23描绘了利用分开的亮度/色度处理的示例性神经网络解码方法2300。在一个方面,神经网络解码方法2300可以是图7的神经网络编码方法700的对应方法。在解码方法2300中,源图像数据的一部分的亮度和色度数据可以在用逆变换神经网络解压缩之后分开处理(2304)。分开的处理可包括针对该部分的亮度数据先由亮度注意力处理器(2308)处理,然后由亮度卷积网络(2316)处理,而色度数据可以先由色度注意力处理器(2310)处理,然后由色度卷积网络(2318)处理。
在一个方面,亮度卷积神经网络和色度神经网络可以是分开的神经网络,因为它们所依据的权重是分开的并且被分开训练。在另一方面,亮度和色度注意力处理器是分开的,因为它们所依据的权重是分开的并且被分开训练。
在任选方面,注意力处理器可包括用主干分支处理(2330,2340)和掩码分支处理(2332,2342)两者来处理注意力处理器输入。注意力整合(2334,2344)可以将主干分支和掩码分支的输出与对注意力处理器的输入组合以产生注意力处理器输出。主干分支(TB)处理可以由残差卷积神经网络层组成,这些残差卷积神经网络层可以允许特定信息直接传递以进行进一步处理。例如,给定对注意力处理器的输入x,主干分支的输出可以为y1=x+TB(x)。掩码分支(MB)处理可由残差神经网络层组成,以产生逐元素掩码。例如,给定对注意力处理器的输入x,掩码分支的输出可以为y2=MB(x)。注意力整合(2334,2344)可包括用逐元素掩码来掩蔽主干分支。例如,注意力处理输出可以为y1*y2+x。
在一个方面,用于亮度和色度的分开的逆广义除法归一化(IGDN)处理器可以分别应用于亮度注意力处理(任选的框2312)和色度注意力处理(任选的框2314)的输出。在又一个方面,解码超先验神经网络(任选的框2302)可以产生超先验辅助信息h,如图8所示。下面在“利用神经网络的注意力处理器”的第2.1节中描述了分开的亮度和色度处理的附加方面,诸如关于图9A所述。
前面的讨论已经描述了在视频编码器和解码器(诸如图2、图3、图8、图11等中描绘的那些)的上下文中本公开的各方面的操作。通常,这些部件被提供为电子设备。视频解码器和/或控制器可以被嵌入在集成电路中,诸如专用集成电路、现场可编程门阵列和/或数字信号处理器。另选地,它们可以被嵌入到在相机设备、个人计算机、笔记本电脑、平板电脑、智能电话或计算机服务器上执行的计算机程序中。此类计算机程序通常包括存储在非暂态物理存储介质诸如电子、磁性和/或基于光学的存储设备中的指令,在那里它们被处理器读取并且被执行。解码器常常被封装在消费电子设备中,诸如智能电话、平板电脑、游戏系统、DVD播放器、便携式媒体播放器等;并且,它们也可以被封装在消费软件应用中,诸如视频游戏、媒体播放器、媒体编辑器等。并且,当然,这些部件可被提供作为根据需要在专用硬件部件和经编程的通用处理器上分配功能的混合系统。
视频编码器和解码器可以多种方式通过信道来交换视频。它们可以经由通信和/或计算机网络彼此通信,如图1所示。在其他应用中,视频编码器可以将视频数据输出给存储设备,诸如电、磁和/或光学存储介质,这些存储设备可以在稍后某个时候被提供给解码器。在此类应用中,解码器可以从存储设备检索编码的视频数据并且对其进行解码。
本文具体示出并描述了本发明的若干实施方案。然而,应当理解,在不脱离本发明的实质和预期范围的情况下,本发明的修改和变型由上述教导内容涵盖并且在所附权利要求的范围内。例如,许多前述描述已经将本发明的各种实施方案表征为体现在硬件电路中。然而,在许多应用中,前述实施方案实际上可以通过在处理器结构诸如微处理器或数字信号处理器上执行的软件应用程序的程序指令来实现。因此,前述描述应当被解释为同样适用于专用电子电路或在通用处理结构上执行的程序指令。

Claims (46)

1.一种图像编码方法,包括:
基于率失真分析从第一编码器或神经网络编码器选择用于图像数据的一部分的编码器;
当选择所述神经网络编码器时,用所述神经网络编码器将所述部分编码成神经网络编码的比特流;
当选择所述第一编码器时,用所述第一编码器将所述部分编码成第一编码的比特流,以及
将所编码的部分的数据连同所述图像数据的其他部分的编码的数据一起包括在输出比特流中。
2.根据权利要求1所述的编码方法,其中所述部分为帧。
3.根据权利要求1所述的编码方法,其中所述部分为像素块。
4.根据权利要求1所述的编码方法,其中所述部分为颜色分量。
5.根据权利要求1所述的编码方法,还包括:
选择帧的空间分区;
其中所述部分是基于所述帧的所述空间分区来确定的;并且
所述分区的指示被包括在所述输出比特流中。
6.根据权利要求1所述的编码方法,还包括:
确定编码器选择是否匹配默认选择技术;
当所述编码器选择与默认选择不匹配时,在所述输出比特流中包括标识所述编码器选择的数据。
7.根据权利要求1所述的编码方法,其中:
确定编码器选择是否匹配默认选择技术;
当所述编码器选择与针对图像数据的特定部分的默认选择匹配时,所述默认选择被隐含在所述输出比特流中,而不显式地发信号通知针对特定部分的所述默认选择。
8.根据权利要求1所述的编码方法,其中:
针对所述图像数据的一部分的编码器的选择在所述输出比特流中针对所述部分的亮度和色度分量联合地发信号通知。
9.根据权利要求1所述的编码方法,其中:
第一编码器比特流的编码独立于网络编码器比特流进行,并且网络编码器比特流的编码独立于第一编码器比特流进行。
10.根据权利要求1所述的编码方法,其中:
第一编码器比特流的编码依赖于网络编码器比特流,并且
网络编码器比特流的编码依赖于第一编码器比特流。
11.根据权利要求1所述的编码方法,其中:
所述第一编码器基于所述部分的第一编码参数对所述部分进行编码;并且
基于所述部分的编码器选择来约束所述第一编码参数。
12.根据权利要求1所述的编码方法,其中:
当针对一部分的所选择的编码器为所述神经网络编码器时,针对所述部分的所述第一编码器的第一编码参数由针对所述部分的编码器选择来隐含,并且不针对所述部分在所述输出比特流中显式地发信号通知。
13.根据权利要求1所述的编码方法,还包括:
选择帧的空间分区;
其中所述部分是基于所述帧的所述空间分区来确定的,并且针对一部分的编码器的选择基于所述部分的分区大小。
14.根据权利要求1所述的编码方法,还包括:
选择帧的空间分区;
其中所述部分是基于所述帧的所述空间分区来确定的,并且用于利用一部分的对应的所选择的编码器对所述部分进行编码的编码参数基于所述部分的分区大小的大小。
15.根据权利要求1所述的编码方法,还包括:
选择帧的空间分区;
其中所述部分是基于所述帧的所述空间分区来确定的,并且用于利用一部分的对应的所选择的编码器对所述部分进行编码的编码参数基于所述部分的分区大小的大小。
16.根据权利要求1所述的编码方法,其中:
用概率模型对针对所述图像数据的对应部分的编码器选择进行熵编码;并且
所述输出比特流包括熵编码的编码器选择。
17.根据权利要求16所述的编码方法,其中:
用于对针对所述图像数据的当前部分的编码器选择进行熵编码的所述概率模型基于针对所述图像数据的在空间上与所述当前部分相邻的先前部分的编码器选择。
18.根据权利要求16所述的编码方法,其中:
用于对针对所述图像数据的当前部分的编码器选择进行熵编码的所述概率模型基于用于所述图像数据的在空间上与所述当前部分相邻的先前部分的编码参数。
19.根据权利要求16所述的编码方法,其中:
用于对针对所述图像数据的当前部分的编码器选择进行熵编码的所述概率模型基于所述当前部分是否包括亮度或色度图像数据。
20.根据权利要求16所述的编码方法,其中:
用于对针对所述图像数据的当前部分的编码器选择进行熵编码的所述概率模型基于所述当前部分的编码参数。
21.根据权利要求16所述的编码方法,其中:
所述图像数据的当前部分是帧的空间分区;并且
用于对针对所述当前部分的编码器选择进行熵编码的所述概率模型基于所述空间分区的大小。
22.根据权利要求16所述的编码方法,其中:
将图像数据的帧在空间上分区成在空间上相邻的多个分区的超级块;
用于对针对所述超级块中的分区的编码器选择进行熵编码的所述概率模型基于超级块的类型。
23.一种图像编码系统,包括:
第一编码器,所述第一编码器包括用于将图像数据的第一部分编码成第一编码的比特流的一个或多个第一编解码器工具;
神经网络编码器,所述神经网络编码器用于将所述图像数据的第二部分编码成神经网络编码的比特流;
控制器,所述控制器用于基于率失真分析从所述第一编码器或所述神经网络编码器中选择用于所述图像数据的部分的编码器;
比特流打包器,所述比特流打包器用于将由所选择的编码器针对所述图像数据的每个部分输出的所述比特流组合成输出比特流。
24.一种图像解码方法,包括:
从编码的视频数据中标识针对图像数据的对应部分的编码器的选择;
基于所述选择将所述编码的视频数据解析为第一比特流和神经网络比特流;
当选择第一编码器时,用所述第一编码器将所述部分解码成第一编码的比特流,成为解码的第一部分;
当选择神经网络解码器时,用所述神经网络解码器将所述对应部分解码成解码的神经网络部分;以及
将所述解码的第一部分和所述解码的神经网络部分组合成重构的视频数据。
25.根据权利要求24所述的解码方法,还包括:
从所述编码的视频数据中标识所述图像数据的空间分区,其中所述部分基于所述分区;
根据所述编码的视频对编码器的所述选择进行熵解码,对针对图像数据的对应的第一分区的编码器的第一选择的所述熵解码基于依赖于在空间上与第一分区相邻的第二分区的可能模型。
26.一种图像编码方法,包括:
通过第一编码器技术并且根据从第一速率控制参数确定的编码参数对图像数据的第一分区进行编码;
由神经网络编码器根据从神经网络速率控制参数确定的编码参数对所述图像数据的第二分区进行编码;
将所述第一分区的编码数据和所述第二分区的编码数据合并成组合的比特流。
27.根据权利要求26所述的编码方法,还包括:
基于所述第一编码器的第一量化参数(Qp)来确定所述神经网络速率控制;
其中在所述组合的比特流中发信号通知所述第一量化参数,并且能够从发信号通知的第一量化参数推断出所述神经网络速率控制参数。
28.根据权利要求26所述的编码方法,还包括:
根据所述第一速率控制参数和所述神经网络速率控制参数来确定神经网络速率控制增量;
其中在所述组合的比特流中发信号通知所述第一速率控制参数和所述神经网络速率控制增量。
29.根据权利要求26所述的编码方法,还包括:
基于第一速率控制参数和源图像数据的比特深度来确定所述神经网络速率控制。
30.根据权利要求26所述的编码方法,还包括:
基于图像数据的对应分区的概率上下文对针对所述对应分区的神经网络速率控制参数选择进行熵编码,其中所述概率上下文包括所述对应分区的大小。
31.根据权利要求26所述的编码方法,还包括:
基于图像数据的对应分区的概率上下文对针对所述对应分区的神经网络速率控制参数选择进行熵编码,其中所述概率上下文包括相邻分区的速率控制参数。
32.一种神经网络编码方法,包括:
用神经网络变换图像数据以产生值的潜在表示二维阵列y;
用四阶段编码器对所述y进行编码,包括:
将所述阵列y划分成四组y值,每组具有在整个阵列y上基本上均匀地空间分布的y值;
将第一组编码为锚定组,而不参考其他组;
基于依赖于所编码的第一组并且不依赖于第三组和第四组的第二上下文对第二组进行编码;
基于依赖于所编码的第一组和第二组并且不依赖于所述第四组的第三上下文对第三组进行编码;
基于依赖于所编码的第一组、第二组和第三组的第四上下文对第四组进行编码。
33.根据权利要求32所述的神经网络编码方法,其中将所述阵列y划分成多个组形成棋盘图案。
34.根据权利要求32所述的神经网络编码方法,其中对多组y值的编码包括对所述y值进行熵编码。
35.根据权利要求32所述的神经网络编码方法,其中对多组y值的编码包括量化所述y值。
36.根据权利要求32所述的神经网络编码方法,还包括:
用超先验神经网络编码器变换所述阵列y以产生辅助信息z;
用超先验神经网络解码器变换z以产生h;
其中对多组y值的编码依赖于h。
37.根据权利要求32所述的神经网络编码方法,还包括:
用超先验神经网络编码器变换所述阵列y以产生辅助信息z;
用超先验神经网络解码器变换z以产生h;
其中对多组y值的编码包括基于h来量化所述y值并且包括基于h来对所量化的y值进行熵编码。
38.根据权利要求37所述的神经网络编码方法,其中所述超先验神经网络解码器包括多个处理主干,所述多个处理主干在其之间具有不同的主干路径长度。
39.根据权利要求37所述的神经网络编码方法,其中所述超先验神经网络解码器包括多个处理主干,所述多个处理主干在其之间具有不同的处理精度。
40.根据权利要求37所述的神经网络编码方法,其中所述超先验神经网络解码器包括用于产生对应的多个辅助信息的多个处理主干,并且其中至少两个处理主干共享沿着所述至少两个处理主干的运算的一部分。
41.一种神经网络编码方法,包括:
用亮度预处理器处理亮度图像数据,所述亮度预处理器包括亮度卷积神经网络,所述亮度卷积神经网络配置有附加到亮度注意力处理器的输入的输出;
用色度预处理器处理色度图像数据,所述色度预处理器包括色度卷积神经网络,所述色度卷积神经网络配置有附加到色度注意力处理器的输入的输出;
用主变换神经网络压缩经预处理的亮度和色度图像数据。
42.根据权利要求41所述的神经网络编码方法,其中所述亮度注意力处理器和所述色度注意力处理器各自包括:
用具有残差卷积层的主干分支神经网络处理注意力处理器输入数据以产生主干分支数据;
用具有残差卷积层的掩码分支神经网络处理所述注意力处理器输入数据以产生掩码分支数据;以及
基于主干分支输出、掩码分支输出和所述注意力处理器输入数据的组合来确定注意力处理器输出。
43.根据权利要求41所述的神经网络编码方法,其中:
所述亮度图像数据相比于所述色度图像数据具有更高的分辨率;
所述亮度卷积神经网络相比于所述色度卷积神经网络执行更大的下采样运算;并且
相同分辨率的数据由所述亮度注意力处理器和所述色度注意力处理器处理。
44.根据权利要求41所述的神经网络编码方法,其中:
所述图像数据包括两个色度分量;并且
包括单个色度注意力处理器的单个色度预处理器处理这两个色度分量。
45.根据权利要求41所述的神经网络编码方法,其中:
在经预处理的亮度和色度图像数据的所述压缩之前,将经预处理的亮度和色度图像数据与组合卷积神经网络进行组合。
46.根据权利要求41所述的神经网络编码方法,其中:
所述亮度预处理器包括亮度广义除法归一化(GDN)处理器,其输入附加到所述亮度注意力处理器的所述输出,并且其输出附加到组合卷积神经网络的第一输入;
所述色度预处理器包括色度GDN处理器,其输入附加到所述亮度注意力处理器的所述输出,并且其输出附加到所述组合卷积神经网络的第二输入。
CN202280064370.4A 2021-09-24 2022-09-23 基于混合神经网络的端到端图像和视频编码方法 Pending CN118020297A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163248127P 2021-09-24 2021-09-24
US63/248,127 2021-09-24
PCT/US2022/044575 WO2023049374A1 (en) 2021-09-24 2022-09-23 Hybrid neural network based end-to-end image and video coding method

Publications (1)

Publication Number Publication Date
CN118020297A true CN118020297A (zh) 2024-05-10

Family

ID=83902726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280064370.4A Pending CN118020297A (zh) 2021-09-24 2022-09-23 基于混合神经网络的端到端图像和视频编码方法

Country Status (4)

Country Link
US (1) US20230096567A1 (zh)
CN (1) CN118020297A (zh)
DE (1) DE112022004563T5 (zh)
WO (1) WO2023049374A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11948090B2 (en) * 2020-03-06 2024-04-02 Tencent America LLC Method and apparatus for video coding
US20230186435A1 (en) * 2021-12-14 2023-06-15 Netflix, Inc. Techniques for component-based image preprocessing
CN117336494B (zh) * 2023-12-01 2024-03-12 湖南大学 一种基于频域特征的双路径遥感影像压缩方法
CN117411491B (zh) * 2023-12-13 2024-02-20 无锡亚科鸿禹电子有限公司 数据压缩方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021165018A1 (en) * 2020-02-21 2021-08-26 Interdigital Vc Holdings France Neural network-based intra prediction for video encoding or decoding

Also Published As

Publication number Publication date
DE112022004563T5 (de) 2024-07-18
US20230096567A1 (en) 2023-03-30
WO2023049374A1 (en) 2023-03-30

Similar Documents

Publication Publication Date Title
CN111711824B (zh) 视频编解码中的环路滤波方法、装置、设备及存储介质
CN111819854B (zh) 用于协调多符号位隐藏和残差符号预测的方法和装置
CN118020297A (zh) 基于混合神经网络的端到端图像和视频编码方法
TWI834087B (zh) 用於從位元流重建圖像及用於將圖像編碼到位元流中的方法及裝置、電腦程式產品
CN113766249B (zh) 视频编解码中的环路滤波方法、装置、设备及存储介质
CN111741299B (zh) 帧内预测模式的选择方法、装置、设备及存储介质
CN116250235A (zh) 具有基于神经网络的环路滤波的视频编解码
US20240064318A1 (en) Apparatus and method for coding pictures using a convolutional neural network
CN116648906A (zh) 通过指示特征图数据进行编码
CN114040205A (zh) 帧内色度预测模式的选择方法、图像处理设备及存储设备
US20160360231A1 (en) Efficient still image coding with video compression techniques
CN116916036A (zh) 视频压缩方法、装置及系统
Ma et al. A cross channel context model for latents in deep image compression
IL286033B2 (en) A method for effective signaling of CBF flags
CN115836525A (zh) 用于从多个交叉分量进行预测的方法和系统
CN117501696A (zh) 使用在分块之间共享的信息进行并行上下文建模
WO2023208638A1 (en) Post processing filters suitable for neural-network-based codecs
US7209591B2 (en) Motion compensation method for video sequence encoding in low bit rate systems
US20240040124A1 (en) Flexible coefficient coding in video compression
US20240223787A1 (en) Systems and methods for compressing feature data in coding of multi-dimensional data
WO2024016156A1 (zh) 滤波方法、编码器、解码器、码流以及存储介质
US20240107015A1 (en) Encoding method, decoding method, code stream, encoder, decoder and storage medium
WO2023037977A1 (en) Systems and methods for reducing noise in reconstructed feature data in coding of multi-dimensional data
WO2023197230A1 (zh) 滤波方法、编码器、解码器以及存储介质
WO2023193254A1 (zh) 解码方法、编码方法、解码器以及编码器

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