[go: up one dir, main page]

CN118402235A - 高斯混合模型熵译码 - Google Patents

高斯混合模型熵译码 Download PDF

Info

Publication number
CN118402235A
CN118402235A CN202180105032.6A CN202180105032A CN118402235A CN 118402235 A CN118402235 A CN 118402235A CN 202180105032 A CN202180105032 A CN 202180105032A CN 118402235 A CN118402235 A CN 118402235A
Authority
CN
China
Prior art keywords
gmm
code stream
parameters
entropy
mode
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
CN202180105032.6A
Other languages
English (en)
Inventor
米哈伊尔·维亚切斯拉沃维奇·索苏尔尼科夫
谢尔盖·尤里耶维奇·伊科宁
安德烈·索罗卡
伊蕾娜·亚历山德罗夫娜·阿尔希娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN118402235A publication Critical patent/CN118402235A/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/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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种对编码信号进行解码的方法,所述方法包括以下步骤:接收包括熵编码信号的至少一个码流,所述信号用一个或多个高斯混合模型(Gaussian mixture model,GMM)进行熵编码,并且所述至少一个码流包括:用于获取所述一个或多个GMM的参数的信息;根据来自所述至少一个码流的所述信息获取所述GMM参数;使用具有所述获取的GMM参数的GMM对信号进行熵解码。本发明还涉及一种相应的编码方法、解码器和编码器。

Description

高斯混合模型熵译码
技术领域
本发明涉及一种对熵编码信号进行解码的方法、一种对信号进行熵编码的方法以及一种相应的解码器、编码器和码流。
背景技术
人工神经网络(neural network,NN)的最新进展,尤其是卷积神经网络的最新进展,使得将基于神经网络(neural network,NN)的技术应用于图像和视频压缩任务成为可能。
熵译码需要熵模型(先验分布)对信号进行编码和解码。
在已知方法中,使用以下步骤:
1.NN架构(编码器NN)用于:生成数据的潜在表示。
2.NN架构(超编码器NN)用于:生成数据的潜在表示的熵模型的潜在表示,其中,所述熵模型由表征一个或多个码符号概率的一个或多个概率分布参数定义。
3.NN架构(熵NN)生成用于对数据的潜在表示进行译码的熵模型的参数,这取决于由NN架构处理的熵模型(超解码器NN)的潜在表示和由NN架构(自回归上下文NN)处理的数据本身的潜在表示。
使用自回归上下文NN显著增加了对实时应用至关重要的解码器运行时间。这是由逐个样本进行处理的模型的自回归运算造成的。
此外,还提出了熵模型NN,所述熵模型NN提供了用于对数据的潜在表示进行熵译码的GMM参数。这种方法指定了熵模型NN,但GMM参数不是译码的,而是从超解码器NN获取的。然而,混合模型中的高斯数量是固定的,并受到预训练的NN模型的约束,这限制了模型对内容的适应性。
高斯混合模型(Gaussian Mixture Model,GMM)在现有技术中用于有损图像译码,使用图像上的颜色分量和位置作为GMM的维度。参数被译码为字典,以免不同块的模型重复。然而,这种方法不使用GMM模型对信号进行熵译码。
在通用视频编码(Versatile Video Coding,VVC)标准中,可以使用指数哥伦布译码按每块对运动矢量差值进行译码。然而,这限制了可用于熵译码的分布类别,因此产生的位数通常高于香农熵极限。
发明内容
鉴于上述情况,本申请的目的在于提供一种克服上述一个或多个缺点并提供有效熵译码的译码方法。
上述和其它目的通过独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。
根据第一方面,提供了一种对编码信号进行解码的方法,所述方法包括以下步骤:接收包括熵编码信号的至少一个码流,所述信号用一个或多个高斯混合模型(Gaussianmixture model,GMM)进行熵编码,并且所述至少一个码流包括:用于获取所述一个或多个GMM的参数的信息;根据来自所述至少一个码流的所述信息获取所述GMM参数;使用具有所述获取的GMM参数的GMM对信号进行熵解码。
本发明提供了一种使用一个或多个GMM熵模型(在编码器侧拟合)对信号进行译码的方案。从解码器侧的码流中获取一个或多个GMM熵模型的参数。可以直接从码流中的相应信息中获取参数,也可以从从码流中获取的用于其他获取参数的信息中获取参数。这是对熵模型GMM参数进行指示的显式方式。可以实现接近香农极限的压缩性能。与自回归建模相比,可以实现解码器的加速。以下描述特别是实施例的描述中具体说明了参数指示的技术细节。本发明可应用于2D/3D图像和视频压缩、特征图译码、变分自编码器(VariationalAutoencoder,VAE)应用的技术领域,特别是从VAE中获取的运动信息译码、2D/3D图像和视频合成以及面向机器的视频译码等。
根据一种实现方式,获取GMM参数的步骤可以包括:从至少一个码流中获取所述GMM参数中的一个或多个GMM参数的控制信息;处理控制信息,以便从码流中对一个或多个GMM参数进行熵解码。
因此,解码器可以从码流中读取解析和处理控制参数。控制信息可以涉及对参数解析和处理的过程和/或与信号信道的映射和/或参数值限制和/或参数总数进行定义的语法元素。
根据一种实现方式,控制信息可以包括以下中的至少一个:(a)GMM模式,所述GMM模式指示信道与GMM数量之间的关系,特别是以下GMM模式之一:每个信道一个GMM、所有信道一个GMM、或所有信道一个特定数量的GMM;(b)GMM数量;(c)用于将一个或多个信道映射到GMM的一个或多个索引;(d)对GMM参数的缩放因子进行指示的一个或多个模式,每个模式是指示使用所述缩放因子的预定义值的第一模式、指示所述缩放因子将从所述码流进行熵解码的第二模式、指示所述缩放因子的2的幂的指数将从所述码流进行解码的第三模式中的一个;(e)GMM参数的一个或多个缩放系数;(f)对GMM参数的限幅值进行指示的一个或多个模式,每个模式是指示使用所述限幅值的预定义值的第一模式、指示所述限幅值将从所述码流进行熵解码的第二模式、指示所述限幅值的2的幂的指数将从所述码流进行解码的第三模式中的一个;(g)GMM参数的一个或多个限幅值;(h)每个GMM的高斯数量。
码流可以包括一个或多个信号信道,并且控制信息GMM模式可以将GMM数量与码流中的信道相关联。控制信息GMM数量可以指定每个GMM中的GMM数量和高斯数量。具体而言,可以为所有信道一个特定数量的GMM的模式提供GMM数量。一个或多个索引可以将信道映射到GMM。控制信息可以包括:对GMM参数的缩放因子进行指示一个或多个模式,该模式指示如何获取缩放因子。控制信息可以包括GMM参数的一个或多个缩放系数(缩放因子)。此外,控制信息可以包括:用于对限幅值进行指示的模式和/或限幅值。需要注意的是,不同的GMM参数可以具有不同的用于对限幅值进行指示的模式。例如,均值可以有两个进行指示的限幅值,一个用于标准差,一个用于权重,或者任何其他组合。这同样适用于GMM参数的缩放因子。不同的模式提供了不同的参数/值处理。
根据一种实现方式,针对每个高斯,GMM参数包括:均值、标准差和/或权重。
均值和标准差定义了GMM中每个高斯的形式,权重定义了GMM中特定高斯的相对比例。每个权重可以是0到1之间的数字,GMM中所有权重的总和为1。考虑到这种求和条件,可能没有必要对码流中的所有权重进行指示,因为其中一个权重可以根据其他权重计算出来。
根据一种实现方式,所述方法可以包括根据解码的GMM参数构建信号频率表的进一步的步骤;其中,对信号进行熵解码的步骤包括:使用信号频率表对信号进行解码。
频率表建立在从最小可能信号值–QS/2到最大可能信号值+QS/2的范围上,其中,QS代表量化步长。量化的样本具有量化步长QS。该范围上的频率表的每个折叠区间都具有QS值的长度。频率表可以乘以确定算术编解码器的精度的系数,并可以通过下界为1或某个其他值进行限幅,以保证不存在零概率符号。
根据一种实现方式,信号包括一个或多个信道,对所述信号进行熵解码的步骤包括:用相应的GMM参数集对每个信道进行熵解码。
因此,每个信道可以独立解码。
根据一种实现方式,所述至少一个码流包括:包括所述熵编码信号的第一码流和包括所述GMM参数的第二码流。
其优点是,在没有具有GMM参数的第二码流的情况下,第一码流不能解码,因此,这起到了隐私保护的作用。可替代地,可以应用仅对在码流中进行指示的GMM参数和参数解析和处理信息进行加密。因此,并非所有码流都加密,而是只有一小部分码流加密,加密和解密过程加快。
根据第二方面,提供了一种对信号进行编码的方法,所述方法包括以下步骤:使用一个或多个具有确定的GMM参数的高斯混合模型(Gaussian mixture model,GMM)对所述信号进行熵编码;生成包括所述熵编码信号和所述确定的GMM参数的至少一个码流。
此外,所述方法可以包括确定GMM参数的步骤。
上文提供的解码方法的解释和优点在此处也适用。为避免重复,此处及下文省略这些内容。
根据一种实现方式,所述方法还可以包括:设置用于获取所述确定的GMM参数中的一个或多个GMM参数的控制信息;其中,所述至少一个码流包括所述控制信息。
根据一种实现方式,控制信息可以包括以下中的至少一个:(a)GMM模式,所述GMM模式指示信道与GMM数量之间的关系,特别是以下GMM模式之一:每个信道一个GMM、所有信道一个GMM、或所有信道一个特定数量的GMM;(b)GMM数量;(c)用于将一个或多个信道映射到GMM的一个或多个索引;(d)对GMM参数的缩放因子进行指示的一个或多个模式,每个模式是指示使用所述缩放因子的预定义值的第一模式、指示所述缩放因子将从所述码流进行熵解码的第二模式、指示所述缩放因子的2的幂的指数将从所述码流进行解码的第三模式中的一个;(e)GMM参数的一个或多个限幅值;(f)每个GMM的高斯数量。
根据一种实现方式,针对每个高斯,GMM参数可以包括:均值、标准差和/或权重。
根据一种实现方式,信号包括一个或多个信道,对所述信号进行熵编码的步骤包括:用相应的GMM参数集对每个信道进行熵编码。
根据一种实现方式,所述至少一个码流可以包括:包括所述熵编码信号的第一码流和包括所述GMM参数的第二码流。
根据一种实现方式,所述方法可以包括:使用GMM累积分布函数执行优化算法以获取确定的GMM参数的进一步的步骤。
根据一种实现方式,执行所述优化算法可以包括:根据每个GMM在步长间隔上的所述GMM累积分布函数的差值使损失函数最小化。
根据一种实现方式,优化可以是针对具有相应的不同高斯数量的GMM并行执行的。
根据一种实现方式,可以从具有不同高斯数量的优化GMM集中选择相对于码流中的所需位具有最小指示成本的GMM。
根据第三方面,提供了一种用于对编码信号进行解码的解码器,所述解码器包括:用于执行根据第一方面或其任一实现形式所述的对编码信号进行解码的方法的处理电路。
根据第四方面,提供了一种用于对信号进行编码的编码器,所述编码器包括:用于执行根据第二方面或其任一实现形式所述的对信号进行编码的方法的处理电路。
根据第五方面,提供了一种计算机程序,所述计算机程序包括指令,当所述程序由计算机执行时,所述指令使所述计算机执行根据第一方面或其任一实现形式所述的对编码信号进行解码的方法,或根据第二方面或其任一实现形式所述的对信号进行编码的方法。
根据第六方面,提供了一种计算机可读介质,所述计算机可读介质包括指令,当所述指令由计算机执行时,所述指令使所述计算机执行根据第一方面或其任一实现形式所述的对编码信号进行解码的方法,或根据第二方面或其任一实现形式所述的对信号进行编码的方法。
根据第七方面,提供了一种码流,所述码流包括:用一个或多个高斯混合模型(Gaussian mixture model,GMM)进行编码的熵编码信号;GMM参数。
根据一种实现方式,所述码流可以包括:所述GMM参数中的一个或多个GMM参数的控制信息。
根据一种实现方式,控制信息可以包括以下中的至少一个:(a)GMM模式,所述GMM模式指示信道与GMM数量之间的关系,特别是以下GMM模式之一:每个信道一个GMM、所有信道一个GMM、或所有信道一个特定数量的GMM;(b)GMM数量;(c)用于将一个或多个信道映射到GMM的一个或多个索引;(d)对GMM参数的缩放因子进行指示的一个或多个模式,每个模式是指示使用所述缩放因子的预定义值的第一模式、指示所述缩放因子将从所述码流进行熵解码的第二模式、指示所述缩放因子的2的幂的指数将从所述码流进行解码的第三模式中的一个;(e)GMM参数的一个或多个缩放系数;(f)对GMM参数的限幅值进行指示的一个或多个模式,每个模式是指示使用所述限幅值的预定义值的第一模式、指示所述限幅值将从所述码流进行熵解码的第二模式、指示所述限幅值的2的幂的指数将从所述码流进行解码的第三模式中的一个;(g)GMM参数的一个或多个限幅值;(h)每个GMM的高斯数量。
根据一种实现方式,针对每个高斯,GMM参数可以包括:均值、标准差和/或权重。
附图说明
下文结合附图对本发明的实施例进行详细描述。在附图中:
图1示出了一种对编码信号进行解码的方法。
图2示出了一种对信号进行编码的方法。
图3示出了高斯分布函数和相应的累积高斯分布函数。
图4示出了高斯在运动矢量上下文中的使用:
1.带有箭头的图像,示出视频中对象如何移动。
2.图表,包括X分量的运动矢量直方图以及X分量如何与GMM拟合的线。
3.图表,包括X分量的运动矢量差值直方图以及两条线:与GMM和单一高斯拟合。
图5在方框图中示出了解码器的操作。
图6在方框图中示出了编码器的操作。
图7在流程图中示出了解码器的操作。
图8在流程图中示出了编码器的操作。
图9示出了一种具有处理电路的解码器。
图10示出了一种具有处理电路的编码器。
具体实施方式
解码
图1示出了一种根据实施例的对编码信号进行解码的一般方法。所述方法包括以下步骤:
110:接收包括熵编码信号的至少一个码流,所述信号用一个或多个高斯混合模型(Gaussian mixture model,GMM)进行熵编码,并且所述至少一个码流包括:用于获取所述一个或多个GMM的参数的信息;
120:根据来自所述至少一个码流的所述信息获取所述GMM参数;
130:使用具有所述获取的GMM参数的GMM对所述信号进行熵解码。
图3示出了高斯分布函数(上部)和相应的累积高斯分布函数(下部)的相应示例。
混合模型是一种概率模型,用于表示总群体中亚群体的存在,而不要求观测到的数据集应识别单个观测结果所属的亚群体。从形式上讲,混合模型对应于表示总群体中观测结果的概率分布的混合分布。然而,虽然与“混合分布”有关的问题涉及从亚群体的特性推导出总群体的特性,但“混合模型”用于在没有亚群体标识信息的情况下,仅通过对汇总群体的观测结果来对亚群体的特性进行统计推断。
如果基分布是正态分布,则基分布的混合称为高斯混合模型(Gaussian MixtureModel,GMM)。对于GMM,概率密度函数为:
具有相应的均值μk和标准差σk。GMM累积分布函数为:
参数K>1定义了混合分量的数量。参数0≤w1,…wK≤1,定义了混合模型中分量的权重。
如图4的示例中所示,高斯混合模型可以有利于适应运动矢量或运动矢量差值。顶部的图像主要有三个对象在相应箭头的方向上移动。中间的图表示出了运动矢量的x分量(MV_x)的直方图和相应的GMM曲线。下部的图表示出了运动矢量差值(MVD_x)的直方图和相应的GMM曲线。该图表还包括MLE估计得到的单个高斯(宽曲线),其无法像GMM(尖峰曲线)一样很好地拟合分布直方图。
解码器
在第一实施例中,解码器执行以下步骤:1)从码流中解析对参数解析和处理的过程、与信号信道的映射、参数值限制和参数总数进行定义的语法元素的步骤,2)根据定义的过程解析和处理参数的步骤,3)用这些参数构建GMM熵模型的步骤,4)通过所构建的具有相应参数的熵模型对信号的信道进行熵解码的步骤。
下面描述示例性解码器算法和语法元素:
1.解码器从码流中读取解析和处理控制参数:
●参数gmm_mode指定信道数量与GMM数量之间的关系:
■gmm_mode==0表示信道数量和GMM数量相等:gmm_num=channels_num,
■gmm_mode==1表示所有信道只有一个GMM用于熵建模,且GMM数量等于1:gmm_num=1,
■gmm_mode==2表示GMM数量在码流中进行指示,并使用函数decode_gmm_num()进行解析,其中以信号信道数量(channels_num)作为输入参数,GMM数量译码为非负整数,用于指示ceil(log2 channel_num))位,因此gmm_num=decode_gmm_num(channels_num)
-如果gmm_mode==2,则从码流中读取channel_gmm_map-channel_gmm_map指定每个信号信道与gmm_num个GMM中的一个GMM的映射,在示例性实现方式中,该映射表示为具有channels_num元素的数组,并使用等概率频率表通过熵译码而译码到码流中。
●对于gmm_num个GMM中索引为g的每个GMM:
■scale_mu_coding_mode[g]通过熵译码器从码流中读取,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。scale_mu_coding_mode[g]指定对第g个GMM的μ参数的缩放因子进行指示的方式:
-scale_mu_coding_mode[g]==0表示缩放因子scale_mu[g]是用预定义常量值定义的,因此不在码流中进行指示,因此scale_mu[g]=predefined_scale_mu,其中,predefined_scale_mu是解码器侧已知预定义常量
-scale_mu_coding_mode[g]==1表示缩放因子scale_mu[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对缩放因子scale_mu[g]进行译码,或者用指数哥伦布进行编码,或者将其编码为非负整数
-scale_mu_coding_mode[g]==2表示从码流中读取scale_pow_mu[g],且scale_mu[g]=2scale_pow_mu[g]
■mu_clipping_mode[g]通过熵译码器从码流中读取,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。mu_clipping_mode[g]指定对第g个GMM的μ参数值进行限幅的方式。因此,这些值限制在码流中的指示:
-mu_clipping_mode[g]==0表示极限值min_mu[g]和max_mu[g]是用预定义常量值定义的,因此不在码流中进行指示,因此min_mu[g]=predefined_min_mu且max_mu[g]=predefined_max_mu,其中predefined_min_mu和predefined_max_mu是解码器侧已知的那些预定义常量
-mu_clipping_mode[g]==1表示极限值min_mu[g]和max_mu[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对极限值min_mu[g]和max_mu[g]进行译码,或者用指数哥伦布进行编码,或者只将其编码为非负整数
-mu_clipping_mode[g]==2表示从码流中读取clip_pow_mu[g],且极限值定义为min_mu[g]=-2clip_pow_mu[g],max_mu[g]=2clip_pow_mu[g]
■scale_sigma_coding_mode[g]通过熵译码器从码流中读取,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。scale_sigma_coding_mode[g]指定对第g个GMM中的σ参数的缩放因子进行指示的方式:
-scale_sigma_coding_mode[g]==0表示缩放因子scale_sigma[g]是用预定义常量值定义的,因此不在码流中进行指示,因此scale_sigma[g]=predefined_scale_sigma,其中predefined_scale_sigma是解码器侧已知预定义常量
-scale_sigma_coding_mode[g]==1表示缩放因子scale_sigma[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对缩放因子scale_sigma[g]进行译码,或者用指数哥伦布进行编码,或者将其编码为非负整数
-scale_sigma_coding_mode[g]==2表示从码流中读取scale_pow_sigma[g],且scale_sigma[g]=2scale_pow_sigma[g]
■sigma_clipping_mode[g]通过熵译码器从码流中读取,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。sigma_clipping_mode[g]指定对第g个GMM的σ参数值进行限幅的方式。因此,这些值限制在码流中的指示,因为sigma值应为正的min_sigma[g]=predefined_min_sigma,其中predefined_min_sigma是解码器侧已知的,且通常定义为1。但有时,预定义的最小值为0并用于描述密度函数中具有高峰的信号,甚至用于信号具有唯一可能值的情况,这可能是有用的。或者,出于一些其他原因,预定义的最小值也可以大于1:
-sigma_clipping_mode[g]==0表示极限值max_sigma[g]是用预定义常量值定义的,因此不在码流中进行指示,因此max_sigma[g]=predefined_max_sigma,其中predefined_max_sigma是解码器侧已知预定义常量
-sigma_clipping_mode[g]==1表示极限值max_sigma[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对极限值max_sigma[g]进行译码,或者用指数哥伦布进行编码,或者将其编码为正整数
-sigma_clipping_mode[g]==2表示从码流中读取clip_pow_sigma[g],且极限值定义为max_sigma[g]=2clip_pow_sigma[g]
■scale_w_coding_mode[g]通过熵译码器从码流中读取,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。scale_w_coding_mode[g]指定对第g个GMM中的w参数的缩放因子进行指示的方式:
-scale_w_coding_mode[g]==0表示缩放因子scale_w[g]是用预定义常量值定义的,因此不在码流中进行指示,因此scale_w[g]=predefined_scale_w,其中predefined_scale_w是解码器侧已知预定义常量
-scale_w_coding_mode[g]==1表示缩放因子scale_w[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对缩放因子scale_w[g]进行译码,或者用指数哥伦布进行编码,或者将其编码为非负整数
-scale_w_coding_mode[g]==2表示从码流中读取scale_pow_w[g],且scale_w[g]=2scale_pow_w[g]
不需要针对w对限幅值进行指示,因为限幅值的取值范围为[0,1]。因此,缩放的参数w[g]的范围为[0,scale_w[g]]。
■使用等概率表通过熵译码器从码流中读取gaussian_num[g],或者用指数哥伦布读取,或者将其读取为正整数
然后,解码器为索引n=0…gaussian_num-1的每个分量计算循环中第g个GMM的参数:
●if(scale_mu_coding_mode<2):mu[g][n]=scaled_mu[g][n]/scale_mu[g]else:mu[g][n]=scaled_mu[g][n]>>scale_pow_mu[g]。scaled_mu[g][n]表示从码流中读取的在量化之前,在scale_mu[g]值上缩放的第g个GMM中第n个μ参数的值。此处,如果将scaled_mu[g][n]设置为等于2的幂,则也可以对预定义编解码器值使用移位。这就是在解码后在scale_mu[g]值上除以scaled_mu[g][n]的原因,或者,如果scale_mu[g]是2的幂,则在等于log2(scale_mu[g])的scale_pow_mu[g]位上对scaled_mu[g][n]进行移位。在范围(min_mu[g],max_mu[g])上使用等概率符号通过算术译码器对scaled_mu[g][n]进行解码,或使用指数哥伦布进行解码。
●if(scale_sigma_coding_mode<2):sigma[g][n]=scaled_sigma[g][n]/scale_sigma[g]else:sigma[g][n]=scaled_sigma[g][n]>>scale_pow_sigma[g]。scaled_sigma[g][n]表示从码流中读取的在量化之前,在scale_sigma[g]值上缩放的第g个GMM中第n个σ参数的值。这就是在解码后在scale_sigma[g]值上除以scaled_sigma[g][n]的原因,或者,如果scale_sigma[g]是2的幂,则在等于log2(scale_sigma[g])的scale_pow_sigma[g]位上对scaled_sigma[g][n]进行移位。在范围(min_sigma[g],max_sigma[g])上使用等概率符号通过算术译码器对scaled_sigma[g][n]进行解码,或使用指数哥伦布进行解码。
●如果n<gaussian_num-1:
■if(scale_w_coding_mode<2):w[g][n]=scaled_w[g][n]/scale_w[g]else:w[g][n]=scaled_w[g][n]>>scale_pow_w[g]。scaled_w[g][n]表示从码流中读取的在量化之前,在scale_w[g]值上缩放的第g个GMM中第n个μ参数的值。这就是在解码后在scale_w[g]值上除以scaled_w[g][n]的原因,或者,如果scale_w[g]是2的幂,则在等于log2(scale_w[g])的scale_pow_w[g]位上对scaled_w[g][n]进行移位。在范围(min_w[g],max_w[g])上使用等概率符号通过算术译码器对scaled_w[g][n]进行解码,或使用指数哥伦布进行解码。
●else:w[g][gaussian_num[g]-1]=1–sum(w[g],0,gaussian_num[g]–2),因为在此处和sum(A,b,e)定义了从索引b到e的数组A的元素之和,
然后,解码器根据获取的参数,使用build_gmm_frequency_table()函数:frequency_table[g]=build_gmm_frequency_table(mu[g],sigma[g],w[g]),为熵模型构建频率表frequency_table[g]。为在预期信号频率值的最小值–QS/2到最大值+QS/2的范围内针对长度为量化步长QS的每个折叠区间构建频率表,计算其中,EcConst定义了熵译码器用于构建频率的值,以保证概率计算的给定精度,F(x,μ,σ)定义了正态CDF函数,以μ为均值参数,σ>0为标准差参数。然后,通过下界为1对频率表进行限幅,以保证不存在零概率符号。
2.解码器为channels_num信道中索引为c的每个信道进行迭代:
●对于signal_num_elem元素中索引为i的每个信号符号:
■通过if(gmm_num==channels_num):frequency_table[c];if(gmm_num==1):frequency_table[c];else:frequency_table[channel_gmm_map[c]],从码流中对signal[c][i]进行熵解码
下面是解码过程的示例性语法表:
综上所述,本实施例中的解码过程可以描述如下:
■解码gmm_mode(0:每个信道一个GMM,1:所有信道一个GMM,2:所有信道G个GMM)
■如果gmm_mode==0:G(GMM数量)=M(信道数量)
■如果gmm_mode==1:G=1
■如果gmm_mode==2:
-解码G
-解码信道–混合映射索引:每个索引(从0到G–1的值)对应于G个GMM熵模型中的一个
■解码scale_mu_coding_mode_flag、mu_clipping_mode、scale_sigma_coding_mode_flag、sigma_clipping_mode、scale_w_coding_mode_flag
■对GMM参数范围信息进行熵解码:
-对于μ:
●如果scale_mu_coding_mode_flag==0:scaleμ=predefined_scaleμ
●如果scale_mu_coding_mode_flag==1:解码scaleμ
●如果mu_clipping_mode==0:无需解码,(minμ,maxμ)=(predefined_minμ,predefined_maxμ)
●如果mu_clipping_mode==1:解码(minμ,maxμ)
●如果mu_clipping_mode==2:解码powμ
-对于σ:
●如果scale_sigma_coding_mode_flag==0:scaleσ=predefined_scaleσ
●如果scale_sigma_coding_mode_flag==1:解码scaleσ
●如果sigma_clipping_mode==0:无需解码,maxσ=predefined_maxσ
●如果sigma_clipping_mode==1:解码maxσ
●如果sigma_clipping_mode==2:解码powσ
-对于w:
●如果scale_w_coding_mode_flag==0:scalew=predefined_scalew
如果scale_w_coding_mode_flag==1:解码scalew
■解码N1,…,NG-每个GMM的高斯数量
■对于0……G–1中的每个GMM索引
-对GMM参数进行熵解码:
●解码GMM的高斯量化均值。符号在范围(minμ,maxμ)内
●解码GMM的高斯量化标准差。符号在范围(1,maxσ)内
●解码GMM的高斯量化权重。符号在范围
■将参数除以参数缩放系数的幂
■为每个GMM计算
■为每个信道构建GMM频率直方图(用算术译码器所需的数进行归一化),并通过下界为1对GMM频率直方图进行限幅,以确保没有零概率符号需要译码
使用相应的(来自信道–混合映射)GMM熵模型对每个信号信道进行解码。
图5和图7中也进一步对此予以说明。图5在方框图中示出了解码器的操作。图7在流程图中示出了解码器的操作。
此外,图9示出了一种具有处理电路的解码器。解码器900包括:用于执行上述解码方法的处理电路910。对码流920进行处理,以获取信号930。
编码
图3示出了一种根据实施例的对信号进行编码的一般方法。所述方法包括以下步骤:
210:使用一个或多个具有确定的GMM参数的高斯混合模型(Gaussian mixturemodel,GMM)对信号进行熵编码;
220:生成包括所述熵编码信号和所述确定的GMM参数的至少一个码流。
编码器侧GMM参数优化
在第二实施例中,信号编码器包括GMM参数优化梯度下降算法,该算法可以并行执行(见下文)。不使用EM算法,因为它不需要通过将数据样本与类别进行匹配而进行聚类,而只需要拟合数据的分布,因此所有参数都在循环中一起优化。由于使用最大似然估计(maximum likelihood estimation,MLE)的损失函数模拟,而不是密度函数,使用累积分布函数(cumulative distribution function,CDF)随着量化步长距离的差值,以便更接近熵(例如,量化样本x和量化步长QS),因此损失函数为:
其中,F是具有参数的GMM CDF。
编码器侧GMM参数优化并行化
在第三实施例中,第二实施例的优化过程包括并行优化的改进。在第二实施例中描述的优化算法可以针对GMM中的不同高斯数量并行化。建议利用以下事实,即具有K个高斯的GMM的每个损失仅取决于相应的GMM参数,因此对于当前GMM,其他损失具有0个导数。因此,损失之和可以用作具有不同高斯数量的GMM批量并行优化的最终损失。
对于技术实现,建议将每组参数表示为矩阵G x M,其中G是GMM数量,M是GMM中的最大高斯数量。为避免对高斯小于M的GMM中的参数进行优化,建议可选地使用掩码。在此掩码中,每行的相应GMM高斯数量等于1。
因此,最终损失是:
在所有GMM参数优化完成后,选择具有最小指示成本的最佳模型j:
costj=loss(θj)+BitsForParametersSignalling(j)
编码器
在第四实施例中,编码器执行以下步骤:1)将对参数解析和处理的过程、与信号信道的映射、参数值限制和参数总数进行定义的语法元素写入码流的步骤,2)根据定义的过程处理参数并将参数写入码流的步骤,3)用这些参数(量化并限幅,但未缩放)构建GMM熵模型的步骤,4)通过所构建的具有相应参数的熵模型对信号的信道进行熵编码的步骤。
示例性编码器算法和语法元素说明:
1.编码器将解析和处理控制参数写入码流:
●参数gmm_mode指定信道数量与GMM数量之间的关系:
■gmm_mode==0表示信道数量和GMM数量相等:gmm_num=channels_num,
■gmm_mode==1表示所有信道只有一个GMM用于熵建模,且GMM数量等于1:gmm_num=1,
■gmm_mode==2表示GMM数量在码流中进行指示,并使用函数encode_gmm_num(),写入,其中以信号信道数量(channels_num)作为输入参数,GMM数量译码为非负整数,用于进行ceil(log2 channel_num))位指示,因此gmm_num=encode_gmm_num(channels_num)
–如果gmm_mode==2,则将channel_gmm_map写入码流-channel_gmm_map指定每个信号信道与gmm_num个GMM中的一个GMM的映射,在示例性实现方式中,该映射表示为具有channels_num元素的数组,并使用等概率频率表通过熵译码而译码到码流中。
●对于gmm_num个GMM中索引为g的每个GMM:
■scale_mu_coding_mode[g]通过熵译码器写入码流,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。scale_mu_coding_mode[g]指定对第g个GMM的μ参数的缩放因子进行指示的方式:
–scale_mu_coding_mode[g]==0表示缩放因子scale_mu[g]是用预定义常量值定义的,因此不在码流中进行指示,因此scale_mu[g]=predefined_scale_mu,其中predefined_scale_mu是解码器侧已知预定义常量
–scale_mu_coding_mode[g]==1表示缩放因子scale_mu[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对缩放因子scale_mu[g]进行译码,或者用指数哥伦布进行编码,或者将其编码为非负整数
–scale_mu_coding_mode[g]==2表示将scale_pow_mu[g]写入码流,且scale_mu[g]=2scale_pow_mu[g]
■mu_clipping_mode[g]通过熵译码器写入码流,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。mu_clipping_mode[g]指定对第g个GMM的σ参数值进行限幅的方式。因此,这些值限制在码流中的指示:
–mu_clipping_mode[g]==0表示极限值min_mu[g]和max_mu[g]是用预定义常量值定义的,因此不在码流中进行指示,因此min_mu[g]=predefined_min_mu且max_mu[g]=predefined_max_mu,其中,predefined_min_mu和predefined_max_mu是解码器侧已知的那些预定义常量
–mu_clipping_mode[g]==1表示极限值min_mu[g]和max_mu[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对极限值min_mu[g]和max_mu[g]进行译码,或者用指数哥伦布进行编码,或者只将其编码为非负整数
–mu_clipping_mode[g]==2表示从码流中读取clip_pow_mu[g],且极限值定义为min_mu[g]=-2clip_pow_mu[g],max_mu[g]=2clip_pow_mu[g]
■scale_sigma_coding_mode[g]通过熵译码器写入码流,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。scale_sigma_coding_mode[g]指定对第g个GMM中的σ参数的缩放因子进行指示的方式:
–scale_sigma_coding_mode[g]==0表示缩放因子scale_sigma[g]是用预定义常量值定义的,因此不在码流中进行指示,因此scale_sigma[g]=predefined_scale_sigma,其中predefined_scale_sigma是解码器侧已知预定义常量
–scale_sigma_coding_mode[g]==1表示缩放因子scale_sigma[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对缩放因子scale_sigma[g]进行译码,或者用指数哥伦布进行编码,或者将其编码为非负整数
–scale_sigma_coding_mode[g]==2表示将scale_pow_sigma[g]写入码流,且scale_sigma[g]=2scale_pow_sigma[g]
■sigma_clipping_mode[g]通过熵译码器写入码流,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。sigma_clipping_mode[g]指定对第g个GMM的σ参数值进行限幅的方式。因此,这些值限制在码流中的指示,因为sigma值应为正的min_sigma[g]=predefined_min_sigma,其中predefined_min_sigma是解码器侧已知的,且通常定义为1。但有时,预定义的最小值为0并用于描述密度函数中具有高峰的信号,甚至用于信号具有唯一可能值的情况,这可能是有用的。或者,出于一些其他原因,预定义的最小值也可以大于1:
–sigma_clipping_mode[g]==0表示极限值max_sigma[g]是用预定义常量值定义的,因此不在码流中进行指示,因此max_sigma[g]=predefined_max_sigma,其中predefined_max_sigma是解码器侧已知预定义常量
–sigma_clipping_mode[g]==1表示极限值max_sigma[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对极限值max_sigma[g]进行译码,或者用指数哥伦布进行编码,或者将其编码为正整数
–sigma_clipping_mode[g]==2表示将clip_pow_sigma[g]写入码流,且极限值定义为max_sigma[g]=2clip_pow_sigma[g]
■scale_w_coding_mode[g]通过熵译码器写入码流,使用3个可能值的等概率表,或作为非负整数,使用两个位进行指示。scale_w_coding_mode[g]指定对第g个GMM中的w参数的缩放因子进行指示的方式:
–scale_w_coding_mode[g]==0表示缩放因子scale_w[g]是用预定义常量值定义的,因此不在码流中进行指示,因此scale_w[g]=predefined_scale_w,其中predefined_scale_w是解码器侧已知预定义常量
–scale_w_coding_mode[g]==1表示缩放因子scale_w[g]在码流中进行显式指示。例如,可以使用等概率频率表通过熵译码器对缩放因子scale_w[g]进行译码,或者用指数哥伦布进行编码,或者将其编码为非负整数
–scale_w_coding_mode[g]==2表示将scale_pow_w[g]写入码流,且scale_w[g]=2scale_pow_w[g]
不需要针对w对限幅值进行指示,因为限幅值的取值范围为[0,1]。因此,缩放的参数w[g]的范围为[0,scale_w[g]]。
■使用等概率表通过熵译码器将gaussian_num[g]写入码流,或者用指数哥伦布写入,或者将其写为正整数
为索引n=0…gaussian_num-1的每个分量计算循环中第g个GMM的参数:
●if(scale_mu_coding_mode<2):scaled_mu[g][n]=round(clip(mu[g][n],min_mu[g],max_mu[g])*scale_mu[g]);mu[g][n]=scaled_mu[g][n]/scale_mu[g]else:scaled_mu[g][n]=round(clip(mu[g][n],min_mu[g],max_mu[g])<<scale_pow_mu[g]);mu[g][n]=scaled_mu[g][n]>>scale_pow_mu[g]。scaled_mu[g][n]表示将在scale_mu[g]值上缩放并用clip(val,min,max)函数量化的第g个GMM中的第n个μ参数的值写入码流。此处,如果将scaled_mu[g][n]设置为等于2的幂,则也可以对预定义编解码器值使用移位。这就是在编码前在scale_mu[g]值上乘以scaled_mu[g][n]的原因,或者,如果scale_mu[g]是2的幂,则在等于log2(scale_mu[g])的scale_pow_mu[g]位上对scaled_mu[g][n]进行移位。在范围(min_mu[g],max_mu[g])上使用等概率符号通过算术译码器对scaled_mu[g][n]进行编码,或使用指数哥伦布进行解码。
●if(scale_sigma_coding_mode<2):scaled_sigma[g][n]=round(clip(sigma[g][n],min_sigma[g],max_sigma[g])*scale_sigma[g]);sigma[g][n]=scaled_sigma[g][n]/scale_sigma[g]。scaled_sigma[g][n]表示将在scale_sigma[g]上缩放并用clip(val,min,max)函数量化的第g个GMM中的第n个σ参数写入码流。这就是在编码前在scale_sigma[g]值上乘以scaled_sigma[g][n]的原因,或者,如果scale_sigma[g]是2的幂,则在等于log2(scale_sigma[g])的scale_pow_sigma[g]位上对scaled_sigma[g][n]进行移位。在范围(min_sigma[g],max_sigma[g])上使用等概率符号通过算术译码器对scaled_sigma[g][n]进行编码,或使用指数哥伦布进行编码。
●如果n<gaussian_num-1:
■if(scale_w_coding_mode<2):scaled_w[g][n]=round(clip(w[g][n],0,1)*scale_w[g]);w[g][n]=scaled_w[g][n]/scale_w[g]。scaled_w[g][n]表示写入码流的在用clip(val,min,max)量化之前在scale_w[g]值上缩放的第g个GMM中的第n个μ参数。这就是在编码前在scale_w[g]值上乘以scaled_w[g][n]的原因,或者,如果scale_w[g]是2的幂,则在等于log2(scale_w[g])的scale_pow_mu[g]位上对scaled_w[g][n]进行移位。在范围(0,scale_w[g])上使用等概率符号通过算术译码器对scaled_w[g][n]进行编码,或使用指数哥伦布进行编码。
■else:w[g][gaussian_num[g]-1]=1–sum(w[g],0,gaussian_num[g]–2),因为在此处和sum(A,b,e)定义了从索引b到e的数组A的元素之和,
根据获取的参数,使用build_gmm_frequency_table()函数:frequency_table[g]=build_gmm_frequency_table(mu[g],sigma[g],w[g]),为熵模型构建频率表frequency_table[g]。为在预期信号频率值的最小值–QS/2到最大值+QS/2的范围内针对长度为量化步长QS的每个折叠区间构建频率表,计算其中,EcConst定义了熵译码器用于构建频率的值,以保证概率计算的给定精度,F(x,μ,σ)定义了正态CDF函数,以μ为均值参数,σ>0为标准差参数。然后,通过下界为1对频率表进行限幅,以保证不存在零概率符号。
2.编码器为channels_num信道中索引为c的每个信道进行迭代:
●对于signal_num_elem元素中索引为i的每个信号符号:
■通过if(gmm_num==channels_num):frequency_table[c];if(gmm_num==1):frequency_table[c];else:frequency_table[channel_gmm_map[c]],从码流中对signal[c][i]进行熵编码
综上所述,本实施例中的编码过程可以描述如下:
■输入信号可以有M个信道。对于所有信道的分布近似,使用G个GMM。存在G值取决于指示的三种可能情况:每个信道都有自身的GMM熵模型,所有信道一个GMM,所有信道G个GMM(Kj信道一个GMM熵模型(有益效果:传输参数较少,G<M))
■信号GMM模式gmm_mode(0:每个信道一个GMM,1:所有信道一个GMM,2:所有信道G个GMM)
■如果gmm_mode==2:
-信号G-GMM数量
-信号信道–混合映射索引:每个信道索引对应于G个GMM熵模型中的一个
■码流中的信号标志:
-scale_mu_coding_mode_flag(预定的或指示的)
-mu_clipping_mode(预定的或指示的最大值和最小值或指示的powμ)
-scale_sigma_coding_mode_flag(预定的或指示的)
-sigma_clipping_mode(预定的或指示的最大值和最小值或指示的powσ)
-scale_w_coding_mode_flag(预定的或指示的)对GMM范围参数进行熵编码:
-对于μ:
●如果scale_mu_coding_mode_flag==0:无需编码,scaleμ=predefined_scaleμ
●如果scale_mu_coding_mode_flag==1:计算scaleμ,并将其编码到码流
●如果mu_clipping_mode==0:无需编码,(minμ,maxμ)=(predefined_minμ,predefined_maxμ)
●如果mu_clipping_mode==1:计算(minμ,maxμ),并将其编码到码流
●如果mu_clipping_mode==2:计算powμ,并将其编码到码流
-对于σ:
●如果scale_sigma_coding_mode_flag==0:无需编码,scaleσ=predefined_scaleσ
●如果scale_sigma_coding_mode_flag==1:计算scaleσ,并将其编码到码流
●如果sigma_clipping_mode==0:无需编码,maxσ=predefined_maxσ
●如果sigma_clipping_mode==1:计算maxσ,并将其编码到码流
●如果sigma_clipping_mode==2:计算powσ,并将其编码到码流,
-对于w:
●如果scale_w_coding_mode_flag==0:无需编码,scalew=predefined_scalew
如果scale_w_coding_mode_flag==1:计算scalew,并将其编码到码流
■对GMM参数进行熵编码:
-N1,…,NG-对每个信道的高斯数量进行熵译码
-对于0……G–1中的每个GMM索引j:
GMM的高斯均值,乘以四舍五入并利用(minμ,maxμ)进行限幅,以确保可编码性
均进行熵译码。符号在范围(minμ,maxμ)内
GMM的高斯标准差,乘以四舍五入并利用(1,maxσ)进行限幅,以确保可编码性
均进行熵译码。符号在范围(1,maxσ)内
GMM的高斯权重,乘以并四舍五入
均进行熵译码。符号在范围
●码流中不对权重进行指示
■为每个信道构建GMM频率直方图(用算术译码器所需的数进行归一化),并通过下界为1对GMM频率直方图进行限幅,以确保没有零概率符号需要译码
■GMM频率直方图通过下界为1进行限幅,以保证没有零概率符号需要译码
■使用相应的(来自信道–混合映射图)GMM熵模型对每个信号信道进行编码。
图6和图8中也进一步对此予以说明。图6在方框图中示出了编码器的操作。图8在流程图中示出了编码器的操作。
此外,图10示出了一种具有处理电路的编码器。编码器1000包括:用于执行上述编码方法的处理电路1010。对信号1020进行处理,以获取码流1030。
数据隐私保护
在第五实施例中,建议使用GMM参数进行信号加密(使信号在没有适当密钥的情况下不可解码)。由于在不知道GMM参数的情况下无法重建信号,因此只能对GMM参数进行加密,并且可以在码流中对用于解析和处理信息的参数进行指示。这可以有助于不对所有码流进行加密,而只对其中的一小部分进行加密。这将保护必须加快加密和解密过程的所有码流。在另一个变体中,这些参数可以在单独的码流中传输。这使得在不知道GMM参数的情况下,不可能对主码流进行解码。
压缩益处
上述方法的益处也通过以下测试进行了验证。
测试结果:使用GMM进行MV译码优于在JVET测试集上使用尺度超先验进行MV译码:
结果:
1. 1.4%的亮度和1%的色度译码尺度优于尺度HP
2. 6%解码器加速
3.由于存在并行化的可能性,编码器运行时间不会增加
简要概述,本发明提供了一种使用高斯混合熵模型(在编码器侧拟合)进行信号译码的方案,模型参数从解码器侧的码流中获取。本发明还通过具有GMM的内容自适应熵建模并在码流中对建模参数进行显示指示而提高压缩效率。这种方法使得可以对来自基于CNN的图像、视频和音频编解码器的潜在空间的潜在空间数据或需要量化和熵压缩的任何其他类型的信息(例如,运动矢量或运动矢量差值)进行压缩。另一个益处是熵解码过程的速度提高,由于GMM熵模型参数在线优化并行化,编码速度没有显著变化,这是实际实现的重要方面。此外,该方案不限于对内容的适应,这是因为模型参数及其数量可调节。

Claims (25)

1.一种对编码信号进行解码的方法,其特征在于,所述方法包括以下步骤:
接收包括熵编码信号的至少一个码流,所述信号用一个或多个高斯混合模型(Gaussian mixture model,GMM)进行熵编码,并且所述至少一个码流包括用于获取所述一个或多个GMM的参数的信息;
根据来自所述至少一个码流的所述信息获取所述GMM参数;
使用具有所述获取的GMM参数的GMM对所述信号进行熵解码。
2.根据权利要求1所述的方法,其特征在于,获取所述GMM参数的步骤包括:
从所述至少一个码流中获取所述GMM参数中的一个或多个GMM参数的控制信息;
对所述控制信息进行处理,以获取所述一个或多个GMM参数。
3.根据权利要求2所述的方法,其特征在于,所述控制信息包括以下中的至少一个:
-GMM模式,所述GMM模式指示信道与GMM数量之间的关系,特别是以下GMM模式之一:每个信道一个GMM、所有信道一个GMM、或所有信道一个特定数量的GMM;
-GMM数量;
-用于将一个或多个信道映射到GMM的一个或多个索引;
-对GMM参数的缩放因子进行指示的一个或多个模式,每个模式是指示使用所述缩放因子的预定义值的第一模式、指示所述缩放因子将从所述码流进行熵解码的第二模式、指示所述缩放因子的2的幂的指数将从所述码流进行解码的第三模式中的一个;
-GMM参数的一个或多个缩放系数;
-对GMM参数的限幅值进行指示的一个或多个模式,每个模式是指示使用所述限幅值的预定义值的第一模式、指示所述限幅值将从所述码流进行熵解码的第二模式、指示所述限幅值的2的幂的指数将从所述码流进行解码的第三模式中的一个;
-GMM参数的一个或多个限幅值;
-每个GMM的高斯数量。
4.根据权利要求1至3中任一项所述的方法,其特征在于,针对每个高斯,所述GMM参数包括:
-均值,
-标准差,和/或
-权重。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括以下步骤:
根据解码的GMM参数构建信号频率表;
其中,对所述信号进行熵解码的步骤包括:使用所述信号频率表对所述信号进行解码。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述信号包括一个或多个信道,对所述信号进行熵解码的步骤包括:用相应的GMM参数集对每个信道进行熵解码。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述至少一个码流包括:包括所述熵编码信号的第一码流和包括所述GMM参数的第二码流。
8.一种对信号进行编码的方法,其特征在于,所述方法包括以下步骤:
使用一个或多个具有确定的GMM参数的高斯混合模型(Gaussian mixture model,GMM)对所述信号进行熵编码;
生成包括所述熵编码信号和所述确定的GMM参数的至少一个码流。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
设置用于获取所述确定的GMM参数中的一个或多个GMM参数的控制信息;
所述至少一个码流包括所述控制信息。
10.根据权利要求9所述的方法,其特征在于,所述控制信息包括以下中的至少一个:
-GMM模式,所述GMM模式指示信道与GMM数量之间的关系,特别是以下GMM模式之一:每个信道一个GMM、所有信道一个GMM、或所有信道一个特定数量的GMM;
-GMM数量;
-用于将一个或多个信道映射到GMM的一个或多个索引;
-对GMM参数的缩放因子进行指示的一个或多个模式,每个模式是指示使用所述缩放因子的预定义值的第一模式、指示所述缩放因子将从所述码流进行熵解码的第二模式、指示所述缩放因子的2的幂的指数将从所述码流进行解码的第三模式中的一个;
-GMM参数的一个或多个缩放系数;
-对GMM参数的限幅值进行指示的一个或多个模式,每个模式是指示使用所述限幅值的预定义值的第一模式、指示所述限幅值将从所述码流进行熵解码的第二模式、指示所述限幅值的2的幂的指数将从所述码流进行解码的第三模式中的一个;
-GMM参数的一个或多个限幅值;
-每个GMM的高斯数量。
11.根据权利要求8至10中任一项所述的方法,其特征在于,针对每个高斯,所述GMM参数包括:
-均值,
-标准差,和/或
-权重。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述信号包括一个或多个信道,对所述信号进行熵编码的步骤包括:用相应的GMM参数集对每个信道进行熵编码。
13.根据权利要求8至12中任一项所述的方法,其特征在于,所述至少一个码流包括:包括所述熵编码信号的第一码流和包括所述GMM参数的第二码流。
14.根据权利要求8至13中任一项所述的方法,其特征在于,所述方法包括以下进一步的步骤:
使用GMM累积分布函数执行优化算法,以获取所述确定的GMM参数。
15.根据权利要求14所述的方法,其特征在于,执行所述优化算法包括:根据每个GMM在步长间隔上的所述GMM累积分布函数的差值使损失函数最小化。
16.根据权利要求14或15所述的方法,其特征在于,所述优化是针对具有相应的不同高斯数量的GMM并行执行的。
17.根据权利要求14至16中任一项所述的方法,其特征在于,选择相对于所述码流中的所需位具有最小指示成本的GMM。
18.一种用于对编码信号进行解码的解码器,其特征在于,所述解码器包括:用于执行根据权利要求1至7中任一项所述的对编码信号进行解码的方法的处理电路。
19.一种用于对信号进行编码的编码器,其特征在于,所述编码器包括:用于执行根据权利要求8至17中任一项所述的对信号进行编码的方法的处理电路。
20.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述程序由计算机执行时,所述指令使所述计算机执行根据权利要求1至8中任一项所述的对编码信号进行解码的方法,或根据权利要求9至17中任一项所述的对信号进行编码的方法。
21.一种计算机可读介质,其特征在于,所述计算机可读介质包括指令,当所述指令由计算机执行时,所述指令使所述计算机执行根据权利要求1至8中任一项所述的对编码信号进行解码的方法,或根据权利要求9至17中任一项所述的对信号进行编码的方法。
22.一种码流,其特征在于,所述码流包括:
用一个或多个高斯混合模型(Gaussian mixture model,GMM)进行编码的熵编码信号;
GMM参数。
23.根据权利要求22所述的码流,其特征在于,所述码流还包括:所述GMM参数中的一个或多个GMM参数的控制信息。
24.根据权利要求23所述的码流,其特征在于,所述控制信息包括以下中的至少一个:
-GMM模式,所述GMM模式指示信道与GMM数量之间的关系,特别是以下GMM模式之一:每个信道一个GMM、所有信道一个GMM、或所有信道一个特定数量的GMM;
-GMM数量;
-用于将一个或多个信道映射到GMM的一个或多个索引;
-对GMM参数的缩放因子进行指示的一个或多个模式,每个模式是指示使用所述缩放因子的预定义值的第一模式、指示所述缩放因子将从所述码流进行熵解码的第二模式、指示所述缩放因子的2的幂的指数将从所述码流进行解码的第三模式中的一个;
-GMM参数的一个或多个缩放系数;
-对GMM参数的限幅值进行指示的一个或多个模式,每个模式是指示使用所述限幅值的预定义值的第一模式、指示所述限幅值将从所述码流进行熵解码的第二模式、指示所述限幅值的2的幂的指数将从所述码流进行解码的第三模式中的一个;
-GMM参数的一个或多个限幅值;
-每个GMM的高斯数量。
25.根据权利要求22至24中任一项所述的码流,其特征在于,针对每个高斯,所述GMM参数包括:
-均值,
-标准差,和/或
-权重。
CN202180105032.6A 2021-12-21 2021-12-21 高斯混合模型熵译码 Pending CN118402235A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2021/000587 WO2023121498A1 (en) 2021-12-21 2021-12-21 Gaussian mixture model entropy coding

Publications (1)

Publication Number Publication Date
CN118402235A true CN118402235A (zh) 2024-07-26

Family

ID=81325035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180105032.6A Pending CN118402235A (zh) 2021-12-21 2021-12-21 高斯混合模型熵译码

Country Status (5)

Country Link
US (1) US20240340425A1 (zh)
EP (1) EP4397039A1 (zh)
KR (1) KR20240068719A (zh)
CN (1) CN118402235A (zh)
WO (1) WO2023121498A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20250054571A (ko) * 2023-10-16 2025-04-23 삼성전자주식회사 영상 부호화 장치 및 영상 복호화 장치, 및 영상의 부호화 및 복호화 방법
CN120034657B (zh) * 2025-02-24 2025-11-21 上海交通大学 一种可变码率的4d高斯压缩方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE518224T1 (de) * 2008-01-04 2011-08-15 Dolby Int Ab Audiokodierer und -dekodierer
US11412225B2 (en) * 2018-09-27 2022-08-09 Electronics And Telecommunications Research Institute Method and apparatus for image processing using context-adaptive entropy model
US11375194B2 (en) * 2019-11-16 2022-06-28 Uatc, Llc Conditional entropy coding for efficient video compression
WO2021220008A1 (en) * 2020-04-29 2021-11-04 Deep Render Ltd Image compression and decoding, video compression and decoding: methods and systems

Also Published As

Publication number Publication date
EP4397039A1 (en) 2024-07-10
KR20240068719A (ko) 2024-05-17
US20240340425A1 (en) 2024-10-10
WO2023121498A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
CN111818346B (zh) 图像编码方法和装置、图像解码方法和装置
CN111988629B (zh) 图像编码装置和图像解码装置
Helminger et al. Lossy image compression with normalizing flows
CN111986278B (zh) 图像编码装置、概率模型生成装置和图像压缩系统
CN111641832A (zh) 编码方法、解码方法、装置、电子设备及存储介质
CN120822551A (zh) 用于压缩神经网络的参数的方法和装置
TWI832200B (zh) 使用在先譜係數以算術解碼和編碼現時譜係數之方法及裝置
KR20200089635A (ko) 다수의 상이한 비트레이트로 영상 압축을 하기 위한 시스템들 및 방법들
US20240340425A1 (en) Gaussian Mixture Model Entropy Coding
CN115699020A (zh) 用于神经网络的量化
KR20190040063A (ko) 인덱스 코딩 및 비트 스케줄링을 갖는 양자화기
JP2022078735A (ja) 画像処理装置、画像処理プログラム、画像認識装置、画像認識プログラム及び画像認識システム
US20140015698A1 (en) System and method for fixed rate entropy coded scalar quantization
WO2022204392A1 (en) Multi-distribution entropy modeling of latent features in image and video coding using neural networks
WO2023169303A1 (zh) 编解码方法、装置、设备、存储介质及计算机程序产品
CN115474064B (zh) 编码、解码控制方法及装置
CN113473154B (zh) 视频编码、视频解码方法、装置及存储介质
WO2022201632A1 (ja) 符号化装置、復号装置、符号化方法、及び、復号方法
CN111225205B (zh) 用于执行区块内预测的方法和装置
CN119364005B (zh) 基于预训练大语言模型的图像无损压缩方法和系统
CN111225207B (zh) 用于对变换系数进行编码的方法和装置
US7747093B2 (en) Method and apparatus for predicting the size of a compressed signal
JP4234018B2 (ja) デジタル映像音声信号可逆符号化復号方法、装置およびこの方法を実行するためのコンピュータプログラムを記録した記録媒体
Sharma A Novel Algorithm for Lossless Binary Image Compression Using Discrete Cosine Transform
CN116961678A (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