CN116018647A - 通过基于可配置机器学习的算术编码进行的基因组信息压缩 - Google Patents
通过基于可配置机器学习的算术编码进行的基因组信息压缩 Download PDFInfo
- Publication number
- CN116018647A CN116018647A CN202180056542.9A CN202180056542A CN116018647A CN 116018647 A CN116018647 A CN 116018647A CN 202180056542 A CN202180056542 A CN 202180056542A CN 116018647 A CN116018647 A CN 116018647A
- Authority
- CN
- China
- Prior art keywords
- context
- type
- coding
- data
- training
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/50—Compression of genetic data
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
- H03M7/6076—Selection between compressors of the same type
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3079—Context modeling
Abstract
一种用于对基因组信息的MPEG‑G编码数据进行解码的方法和系统,包括:接收MPEG‑G编码数据;提取编码参数;基于所提取的编码参数来选择算术解码类型;基于所提取的编码参数来选择预测器类型,所述预测器类型指定用于获得用于对所述数据进行算术编码的符号的概率的方法;基于所提取的编码参数来选择算术编码上下文;并且使用所选择的预测器和所选择的算术编码上下文对所述编码数据进行解码。
Description
技术领域
本文公开的各种示例性实施例总体上涉及用于MPEG-G的上下文选择、模型训练和基于机器学习的算术编码的可扩展框架的系统和方法。
背景领域
高通量测序已经使得以不断降低的成本扫描遗传物质成为可能,从而使得遗传数据量不断增加,并且需要有效地压缩这些数据,但是优选地以与设想的用途相兼容的方式来有效地压缩这些数据。应用发生在例如医学(疾病检测)和人口监测(例如,SARS-COV-2检测)、法医学等领域中。
由于DNA(脱氧核糖核酸)和RNA(核糖核酸)仅由4种不同的核酸碱基组成(针对DNA分别为胞嘧啶[C]、鸟嘌呤[G]、腺嘌呤[A]和胸腺嘧啶[T],而针对RNA分别为腺嘌呤、胞嘧啶、鸟嘌呤和尿嘧啶[U]),人们可能天真地认为编码会很容易。然而,遗传信息以新的不同形式出现。例如,原始数据可能来自不同的测序技术(例如,第二代测序vs长读段测序),这引起不同长度的阅读,但也具有不同的碱基调用确定性,碱基调用确定性作为质量信息(如质量分数)被添加到一个或多个碱基序列中,质量信息也必须被编码。此外,在DNA的下游分析中,可以生成关于DNA的性质的信息,例如,与参考序列相比的差异。然后,人们能够注释,例如,与参照相比,一个或多个碱基缺失。已知单核苷酸变体可能导致疾病或某种其他遗传决定的性质,并且能够以某种方式注释这种情况,使得编码数据的另一用户能够容易地找到该信息。表观遗传学(其研究对DNA序列的外部修饰)同样产生大量的额外数据,如甲基化、揭示细胞中的染色质的空间组织形式的染色体接触矩阵等。所有这些应用在未来都将创建丰富的数据集,这些数据集需要强大的编码技术。
MPEG-G是移动图像专家组最近的一项倡议,其旨在基于对用户的各种需求的彻底辩论来实现对遗传信息的通用表示。当前使用上下文自适应二进制算术编码(CABAC)作为用于MPEG-G中的描述符压缩的熵编码机制。然而,在大多数案例中,当前标准仅允许先前的符号作为上下文。
发明内容
下文呈现了对各种示例性实施例的概述。在下面的概述中可以进行一些简化和省略,这旨在突出和介绍各种示例性实施例的一些方面,而并不旨在限制本发明的范围。在后面的章节中将详细描述足以允许本领域普通技术人员实践和使用本发明构思的示例性实施例。
各种实施例涉及一种用于对MPEG-G编码数据进行解码的方法,包括:接收MPEG-G编码数据;从所述编码数据中提取编码参数;基于所提取的编码参数来选择算术编码类型;基于所提取的编码参数来选择预测器类型;基于所提取的编码参数来选择上下文;并且使用所选择的预测器和所选择的上下文对所述编码数据进行解码。编码参数的技术元素包括接收解码器以确定其解码过程所需的参数,并且特别地可以包括控制对各种替代解码算法的选择或配置的参数。编码数据可以特指算术编码数据。算术编码基于符号(例如,A、T、C、G)的出现概率将这些符号的序列映射到范围[0.0-1.0]内的区间。基于概率的编码的一个性质是:能够通过在编码的比特串中给不太可能出现的符号较多的比特并且给更可能出现的符号较少的比特来优化所需的比特量,即,使用概率估计来指导这个原理。概率能够随时间(即,在运行解码过程期间)变化。上下文自适应算术编码能够基于对不同情况(即,不同上下文)的识别来进一步优化概率(当使用词语上下文时,我们在算术编码的意义上表示它,即,算术编码上下文)。常规地,上下文由先前解码的符号的结果形成。例如,如果对于先前的碱基发现了一组低质量分数,则可以合理地假定:对于当前的阅读碱基,阅读仍然不是非常确定的,即,在基因组信息中它也将具有低质量分数。因此,可以将低分数值的概率设置为高,其中,高分数值指示关于当前碱基的高确定性。然而,根据本发明人,可以定义更多不同的上下文,这些上下文也能够考虑其他数据,例如,除了质量分数之外的其他量的解码值,如当前正被解码的染色体的基因组位置。
算术编码类型向解码器指定(如在传送的编码MPEG-G数据信号中存在的编码参数中传送的)生成编码数据的编码器使用了数据的各种可能的算术编码方式的类型。描述了各种实施例,其中,算术编码类型是二进制编码和多符号编码中的一项。在多符号编码中,定义了在未编码信号中会遇到的符号的字母表。例如,对于DNA核酸碱基,这些符号可以包含针对肯定的阅读碱基的符号(例如,针对胸腺嘧啶的T)或者针对不肯定的阅读碱基的符号,并且对于质量分数,能够定义一组针对分数的量化值。在二进制算术编码中,作为预处理步骤,通过选择的二进制化方案将这N个字母符号变换成二进制数,例如,N个符号能够由一组递增的二进制一后跟一个零来表示,例如,T=0,C=10,G=110,A=1110。
本发明人还发现,在与更好的上下文的选择和传送一起或分开的情况下,还可以通过选择若干不同预测器类型中的一种预测器类型来进行优化,例如通过modelType参数来进行优化,该modelType参数指示正在使用的预测器是基于计数的类型还是机器学习模型类型中的一项(例如,特定的神经网络(正被传送的拓扑和/或优化权重)),以基于正在使用的任何上下文来预测各种符号的固定或不断变化的概率。这些内容能够用作针对神经网络的输入,或者选择若干替代神经网络中的一个神经网络,或者影响神经网络的性质。替代地,可以使用其他机器学习技术来预测概率,即,形成预测器模型或类型。因此,预测器类型能够指示主要类型(神经网络vs常规的基于计数的概率重新估计)以及具有更多细节的子类型(特别是对于神经网络)。
描述了各种实施例,其中,当所述预测器类型识别机器学习模型时,所述编码参数还包括所述机器学习模型的定义。通过传送定义机器学习模型的参数(例如,指定拓扑(如具有隐藏层的连接、针对连接的固定或初始权重等)的参数,编码器能够选择一个非常好的模型并将其传送给解码器,解码器然后能够在开始对传入的编码数据进行解码前配置该模型。编码数据信号中的参数也可以重复重置或重新配置该模型。
描述了各种实施例,其中,所提取的编码参数包括训练模式数据。训练模式是指模型将如何动态地调整自身以适应变化的数据(即,训练自身以适应如在编码数据中所使用的原始未编码数据的变化的概率),或者保持相对固定(例如,具有权重的神经网络,该权重由编码器针对整个数据集优化一次并且被传送到解码器以在整个解码期间使用)。例如,可以在前2000个符号上在外部处理环中训练神经网络,然后在对第2001个编码比特进行解码前替换新的最优权重。
描述了各种实施例,其中,所述训练模式数据包括初始化类型,所述初始化类型包括静态训练模式、半自适应训练模式和自适应训练模式中的一项。静态模式的典型示例可以是存在标准预定义模型的情况,该标准预定义模型潜在地能从一组标准模型中选择,由编码器和解码器使用,并且所选择的模型可以通过例如指定所选择的模型的模型号被传送到解码器。半自适应模型的示例可以是使用正被压缩的数据来训练模型的情况。在这种情况下,针对该特定数据集来优化权重。
描述了各种实施例,其中,所述训练模式数据包括训练算法定义、训练算法参数、训练频率和训练时期中的一项。训练频率是模型(在解码侧)应当更新的频率,例如,在每1000个符号之后应当更新。训练时期是机器学习的一个概念,它指定了机器学习算法处理整个训练数据集以更新模型的次数。
描述了各种实施例,其中,所提取的编码参数包括上下文数据。
描述了各种实施例,其中,所述上下文数据包括编码顺序、使用的额外上下文的数量、上下文类型和范围中的一项。
描述了各种实施例,其中,所述上下文数据包括范围标志。
描述了各种实施例,其中,所述上下文数据包括上下文描述符、上下文输出变量、上下文内部变量、上下文计算变量和上下文计算函数中的一项。
另外,各种实施例涉及一种用于对MPEG-G编码数据进行编码的方法,包括:接收要用于对数据进行编码的编码参数;基于所接收的编码参数来选择算术编码类型;基于所接收的编码参数来选择预测器类型;基于所接收的编码参数来选择训练模式;基于所接收的编码参数来选择上下文;基于所接收的编码参数来训练编码器;并且使用经训练的编码器对所述数据进行编码。
描述了各种实施例,其中,所述算术编码类型是二进制编码和多符号编码中的一项。
描述了各种实施例,其中,所述预测器类型是基于计数的类型或机器学习模型类型中的一项。
描述了各种实施例,其中,当所述预测器类型识别机器学习模型时,所述编码参数还包括所述机器学习模型的定义。
描述了各种实施例,其中,所提取的编码参数包括训练模式数据。
描述了各种实施例,其中,所述训练模式数据包括初始化类型,所述初始化类型包括静态训练模式、半自适应训练模式和自适应训练模式中的一项。
描述了各种实施例,其中,所述训练模式数据包括训练算法定义、训练算法参数、训练频率和训练时期中的一项。
描述了各种实施例,其中,所提取的编码参数包括上下文数据。
描述了各种实施例,其中,所述上下文数据包括编码顺序、使用的额外上下文的数量、上下文类型和范围中的一项。
描述了各种实施例,其中,所述上下文数据包括范围标志。
描述了各种实施例,其中,所述上下文数据包括上下文描述符、上下文输出变量、上下文内部变量、上下文计算变量和上下文计算函数中的一项。
另外,各种实施例涉及一种用于对MPEG-G编码数据进行解码的系统,包括:存储器;被耦合到所述存储器的处理器,其中,所述处理器还被配置为:接收MPEG-G编码数据;从所述编码数据中提取编码参数;基于所提取的编码参数来选择算术解码类型;基于所提取的编码参数来选择预测器类型;基于所提取的编码参数来选择上下文;并且使用所选择的预测器类型和所选择的上下文对所述编码数据进行解码。
描述了各种实施例,其中,所述算术编码类型是二进制编码和多符号编码中的一项。
描述了各种实施例,其中,所述预测器类型是基于计数的类型或机器学习模型类型中的一项。
描述了各种实施例,其中,当所述预测器类型识别机器学习模型时,所述编码参数还包括所述机器学习模型的定义。
描述了各种实施例,其中,所提取的编码参数包括训练模式数据。
描述了各种实施例,其中,所述训练模式数据包括初始化类型,所述初始化类型包括静态训练模式、半自适应训练模式和自适应训练模式中的一项。
描述了各种实施例,其中,所述训练模式数据包括训练算法定义、训练算法参数、训练频率和训练时期中的一项。
描述了各种实施例,其中,所提取的编码参数包括上下文数据。
描述了各种实施例,其中,所述上下文数据包括编码顺序、使用的额外上下文的数量、上下文类型和范围中的一项。
描述了各种实施例,其中,所述上下文数据包括范围标志。
描述了各种实施例,其中,所述上下文数据包括上下文描述符、上下文输出变量、上下文内部变量、上下文计算变量和上下文计算函数中的一项。
另外,各种实施例涉及一种用于对MPEG-G编码数据进行编码的系统,包括:存储器;被耦合到所述存储器的处理器,其中,所述处理器还被配置为:接收要用于对数据进行编码的编码参数;基于所接收的编码参数来选择算术编码类型;基于所接收的编码参数来选择预测器类型;基于所接收的编码参数来选择训练模式;基于所接收的编码参数来选择上下文;基于所接收的编码参数来训练编码器;并且使用经训练的编码器对所述数据进行编码。
描述了各种实施例,其中,所述算术编码类型是二进制编码和多符号编码中的一项。
描述了各种实施例,其中,所述预测器类型是基于计数的类型或机器学习模型类型中的一项。
描述了各种实施例,其中,当所述预测器类型识别机器学习模型时,所述编码参数还包括所述机器学习模型的定义。
描述了各种实施例,其中,所提取的编码参数包括训练模式数据。
描述了各种实施例,其中,所述训练模式数据包括初始化类型,所述初始化类型包括静态训练模式、半自适应训练模式和自适应训练模式中的一项。
描述了各种实施例,其中,所述训练模式数据包括训练算法定义、训练算法参数、训练频率和训练时期中的一项。
描述了各种实施例,其中,所提取的编码参数包括上下文数据。
描述了各种实施例,其中,所述上下文数据包括编码顺序、使用的额外上下文的数量、上下文类型和范围中的一项。
描述了各种实施例,其中,所述上下文数据包括范围标志。
描述了各种实施例,其中,所述上下文数据包括上下文描述符、上下文输出变量、上下文内部变量、上下文计算变量和上下文计算函数中的一项。
附图说明
为了更好地理解各种示例性实施例,参考附图,其中:
图1图示了CABAC的框图;
图2图示了对预测器模型、编码模式、训练模式和预测上下文及其相关联的参数的选择方式的框图;
图3图示了用于使用经修改的MPEG-G标准对数据进行编码的方法;
图4图示了用于使用经修改的MPEG-G标准对数据进行解码的方法;
图5图示了针对编码/解码系统的示例性硬件图;并且
图6示出了使用神经网络作为概率模型的实施例的子电路的方案。
为了便于理解,完全相同的附图标记用于表示具有基本相同或相似的结构和/或基本相同或相似的功能的元件。
具体实施方式
说明书和附图说明了本发明的原理。因此,将意识到,本领域技术人员将能够设计出各种布置装置,这些布置装置虽然没有在本文中明确描述或示出,但是体现了本发明的原理并且被包括在本发明的范围内。此外,在本文中记载的所有示例主要明确旨在用于教学目的,以帮助读者理解本发明的原理和由(一个或多个)发明人为进一步发展本领域所贡献的构思,并且应被解释为不限于这些具体记载的示例和条件。另外,除非另有说明(例如,“否则”或“或替代地”),否则在本文中使用的术语“或”是指非排他性的“或”(即,和/或)。而且,在本文中描述的各种实施例不一定是互斥的,因为一些实施例能够与一个或多个其他实施例组合以形成新的实施例。
上下文自适应二进制算术编码(CABAC)当前被用作用于MPEG-G中的描述符压缩的熵编码机制。然而,当前标准在上下文的选择方面受到严重限制,在大多数情况下仅允许先前的符号作为上下文。这不允许使用其他上下文,例如,可以提高压缩比的不同描述符。此外,当前框架缺乏对更强大的预测器(例如,神经网络和不同的训练模式)的支持。在本文中描述了一种框架,其用于将这些额外功能并入MPEG-G标准,从而实现更大的灵活性和改进的压缩。在本文中描述的实施例不限于MPEG-G标准,而是也可以应用于其他压缩文件格式。
用于基因组数据的MPEG-G标准根据不同的描述符来压缩基因组数据。压缩引擎是基于算术编码的上下文自适应二进制算术编码(CABAC)。算术编码是用于数据压缩的标准方法,它在针对数据的(可能自适应的)概率模型下执行最优压缩。模型对数据的预测越好,压缩就越好。该模型可能并入与要被压缩的数据具有统计相关性的各种上下文,并且当前标准允许使用先前的符号作为针对算术编码中所需的概率模型的上下文。图1图示了CABAC的框图。算术编码器5取用下一符号10作为输入(即,x∈{0,1,2,…})。算术编码器5使用概率表,该概率表提供特定符号在特定上下文中出现的概率。通过使用这些输入,编码器5然后产生压缩比特流20。对于一些特定的描述符(如mmtype),该标准还允许使用额外上下文(例如,参考碱基),但是通常缺乏对使用其他描述符作为上下文以及其他额外上下文的支持。尽管事实上可以通过包括这样的额外上下文来改进压缩(例如在读取中的位置被用作针对质量值压缩的上下文的情况下),情况也是如此。类似地,对于纳米孔数据,序列碱基可以用作针对改进的质量值压缩的上下文。可以预期的是,在描述符之间存在更多的这种可以用来改进压缩的相关性。
此外,在存在如下所述的若干算术编码模式时,当前标准仅允许自适应算术编码设置。一种可能的模式是静态建模,它使用编码器和解码器可访问的固定模型。当有大量相似数据可用于训练时,这种静态模型是合适的。另一种可能的模式是半自适应建模,其中,从要被压缩的数据中学习模型并将模型参数存储为压缩文件的部分。当用于模型训练的相似数据不可用时,这种半自适应模型是合适的。最后,存在自适应建模,其中,编码器/解码器以相同的随机模型开始,并且基于直到当前时间看到的数据来自适应地更新该模型。结果,不需要存储模型,因为模型更新是对称的。当相似数据不可用时和/或当使用简单预测器(例如,基于计数的预测器)时,这种自适应模式是合适的。因此,根据先前训练数据的可用性,不同的建模技术可能更适合不同的情况。注意,对模型的自适应更新也可以在静态设置和半自适应设置中进行。
当前标准的另一个限制是缺乏对更复杂的概率预测器(例如,神经网络或其他机器学习模型)的支持。当前仅支持基于计数的框架,其中,基于来自计数的经验概率来计算下一符号的概率。基于上下文和下一符号在每一步骤中更新这些计数。然而,这样的基于计数的方法有两个主要限制。
第一,基于计数的方法无法利用跨上下文的相似性和依赖性。例如,针对上下文(A,A,A,A)和(A,A,A,C)的计数被视为独立的,即使可以预期可能存在一些相似性也是如此。类似地,如果将先前的质量用作上下文,则独立地处理值39或值40,而不会利用它们的接近性。第二,当上下文集合与数据大小相比非常大(或无法计数)时,基于计数的方法无法很好地工作。这是因为计数阵列变得非常稀疏,从而导致数据不足和概率建模不佳。这限制了对能够带来好得多的预测和压缩的强大上下文的使用。
使用基于神经网络/机器学习的方法可以克服这两个问题,这种基于神经网络/机器学习的方法提供了更加自然的预测框架。另外,基于神经网络/机器学习的方法能够处理不同类型的上下文,例如,数值的、类别的和顺序的。在一些情况下,这种改进的压缩可能值得增加计算复杂性,尤其是在专用硬件或并行计算可用的情况下。注意,能够使用直接对应于压缩大小的交叉熵损失来训练神经网络。
总结这两种方法的优点:基于计数的方法计算量小,并且易于训练自适应模型。另一方面,基于计数的方法独立地处置每个上下文值(可能不是这样,并且可以提供有价值的见解),并且当对于各种符号和上下文没有足够的计数时受到影响。神经网络/机器学习方法能够捕捉跨上下文值的复杂的相互依赖性,并且它对大型/无法计数的联系集合工作得很好。另一方面,基于神经网络/机器学习的方法在计算上是昂贵的,并且难以在自适应建模中训练。
最后,在当前标准中缺乏对多符号算术编码的支持,与二进制CABAC熵编码器相比,多符号算术编码通常可以提供好得多的压缩,并且需要更少的参数。CABAC编码器在计算方面确实有优势,但是提供对多符号算术编码的支持能够得到压缩比与速度之间更好的折衷。
提出了对MPEG-G标准的修改的实施例,以便适应基于不同描述符的多种上下文,这些不同描述符可以用于:算术编码;基于神经网络或机器学习的预测模型;对静态建模、半自适应建模和自适应建模的支持;以及多符号算术编码。总的来说,这提供了一个高度可扩展的框架,其能够捕捉描述符之间的相关性以改进压缩。静态模式还允许根据数据集的集合开发训练模型,然后使用该模型来实现改进的压缩。
为了简单起见,将在描述中使用多符号算术编码,但是二进制算术编码能够以类似的方式进行。所有引用的MPEG-G条款都属于MPEG-G第2部分(DIS ISO/IEC 23092-2第2版基因组信息编码)。
第一种修改是添加算术编码类型,该算术编码类型指示算术编码是二进制的还是多符号的。通常,多符号对应于一次编码一个字节,但是在某些情况下能够修改这种设置。当前,MPEG-G标准解码器配置仅包括单一模式(CABAC)。多符号算术编码的额外模式由encodingMode=1来指示。否则,当encodingMode=0时,指示CABAC编码。
另一种修改是添加预测器类型,该预测器类型指示预测器是基于计数的、基于神经网络的还是基于机器学习的。向MPEG-G解码器配置中添加额外的标志modelType。值0表示基于计数的模型,而值1表示基于神经网络的模型。注意,神经网络作为一个包含各种架构和模型的通用类别,可能包含若干其他机器学习框架,例如,逻辑回归和SVM。通过包括额外的(非神经网络)机器学习预测器(例如,决策树和随机森林),可以进一步扩展该框架。这些不同方法中的每种方法都可以具有相关联的modelType值,这些值指示所使用的预测器的类型。
当modelType为1(即,神经网络模型)时,模型架构也被指定为解码器配置的部分。可以使用JavaScript对象表示法(JSON)并使用MPEG-G标准中的gen_info数据类型来存储模型架构,该MPEG-G标准允许使用7zip存储和压缩任意数据。例如,Keras函数model.to_json()生成表示模型架构的JSON字符串。注意,神经网络的输出大小应当等于算术编码中的符号数,因为它将被馈送到算术编码器。输入大小取决于正在使用的上下文。类似于基于神经网络的模型,其他机器学习模型可以被指定为解码器配置的部分。
另一种修改是添加指示训练模式是静态、半自适应还是自适应的训练模式。这允许选择训练模式。
能够通过向解码器配置添加额外标志initializationType和adaptiveLearning来指定训练模式。下面提供了可能的值和相应的描述。
当initializationType=0时,指示静态初始化。在这种情况下,编码器和解码器都可用的标准模型被用作用于压缩的初始模型。额外变量modelURI(模型统一资源标识符)用于访问模型参数(权重),这些参数通常是标准模型储存库的部分。这也可以指具有已知种子的随机初始化模型。注意,如前文所讨论的,已经指定了模型架构(例如,JSON格式)。
当initializationType=1时,指示半自适应初始化。在这种情况下,将模型作为压缩文件的部分存储在变量savedModel中。该模型可以是针对(例如在Keras中使用的)神经网络的分层数据格式版本5(HDF5)格式。对于基于计数的框架,模型只包含针对每个(上下文、符号)对的计数。savedModel变量是gen_info类型的,它是使用7-zip压缩的,可能会减小模型的大小。
为了控制在压缩/解压缩过程期间是否使用自适应学习,使用了标志adaptiveLearning。当被设置为1(真)并且modelType为1(神经网络)时,额外的下列变量用于描述训练流程和频率:trainingAlgorithm选择用于训练的算法(例如,Adam、随机梯度下降(SGD)、Adagrad等);
trainingAlgorithmParameters是JSON格式的用于训练算法的参数集合(特别是学习速率);trainingFrequency是模型更新步骤的频率(例如,在每一个符号之后,在每1000个符号之后等),并且在每个训练步骤处,先前的“trainingFrequency”符号(例如,当trainingFrequency=1000时,先前的1000个符号)被用作训练数据,从而允许有效的更新;并且trainingEpochs告诉在每个模型更新步骤中执行多少个时期的训练。注意,当初始模型已被训练时,学习速率应当保持较低。在这样的情况下,自适应学习应当用于对模型的精细调谐。
当modelType为0(指示基于计数的模型)时,在每一个步骤处执行更新,并且对应于(上下文、符号)对的计数递增1。注意,在每个访问单元中独立执行训练以实现快速选择性访问。
当前唯一允许的上下文是先前的符号,并且用于解码的这些符号的数量由MPEG-G标准中的coding_order变量来决定,该coding_order变量可以是0、1或2。coding_order用信号传递作为状态变量在内部维护的先前解码的符号的数量的信息,并且用于对下一符号进行解码。在变量mmtype和rftt的特殊情况下,在MPEG-G标准中定义了特殊的依赖性,然而,这不是非常系统的,并且这些依赖性仍然被视为先前的符号,这限制了编码顺序并且在语义上是不正确的。
通过在MPEG-G标准中引入新的变量来并入大量上下文的方法可以包括以下变量:coding_order、num_additional_contexts、context_type和range。变量coding_order的含义与之前的含义相同。变量coding_order可以具有大于2的值,因为基于神经网络的预测器在较大的上下文中工作得很好。变量num_additional_contexts指示使用的额外上下文的数量。
变量context_type指示上下文的类型,并且针对每个额外上下文添加一个额外值。上下文的类型可以包括以下可能的类别:descriptor、output_variable、internal_variable和computed_variable。变量descriptor指示上下文是另一描述符(例如,pos或rcomp)的值。在这种情况下,还会指定特定的descriptorID和subsequenceID。变量output_variable指示上下文是经解码的MPEG-G记录中的变量中的一个变量(例如,sequence、quality_values等)的值。指定了output_variable的名称。变量internal_variable指示上下文是在解码过程期间计算的内部变量(例如,mismatchOffsets)。指定内部变量的名称。注意,只有标准文本中定义的内部变量才能被识别。变量computed_variable是可以根据内部变量计算的变量,但其本身并未在标准中得到指定。在这种情况下,计算该变量的函数被包括为contextComputionFunction(该函数的可执行文件可以在标准化虚拟机上运行,以允许跨计算平台的互操作性)。为了防止恶意代码,该函数可以包含来自可信机构的数字签名。这可以有助于实施复杂的上下文,例如,“映射到当前基因组位置的所有先前解码的碱基的平均质量分数”。
变量range指示针对每个额外上下文的范围(只要适用)。当变量是阵列并且只有子集的值用于解码时,这是适用的。除了开始位置和结束位置之外,变量range还使用rangeFlag来表示是关于阵列的起始位置还是关于阵列中的当前位置来描述范围。在阵列的边界位置处,如果范围超过极限,则使用默认值(由defaultContext变量指定)。例如,如果将读取序列的参考序列用作质量值压缩的上下文,则能够关于当前位置来指定范围——[-3,3]的范围意味着我们使用的是以当前位置为中心的大小为7的上下文。
注意,针对不同变量的依赖图不应包含任何循环,即,依赖图应为有向无环图(DAG)。作为有效依赖图的示例,变量1被编码而没有任何依赖性,变量2被编码而依赖于作为上下文的变量1,变量3被编码而依赖于变量1和2,并且变量4被编码而依赖于变量2。
对MPEG-G标准的修改可以用于通过选择作为针对描述符的良好预测器的上下文来改进对各种描述符的压缩。如果计算资源可用,则能够使用基于神经网络的预测来构建更好的预测器,并且还能够更有效地处理大型上下文集合。取决于用于训练的相似数据的可用性,能够使用静态训练流程或半自适应训练流程。除此之外,能够添加自适应训练来进一步精细调谐该模型,这对于基于计数的模型特别有用。图2图示了对预测器模型、编码模式、训练模式和预测上下文及其相关联的参数的选择的框图。注意,该图的目的是图示关键参数的作用,而框不一定需要以完全相同的顺序执行。该框图图示了预测器模型205、编码模式210、训练模式215和预测上下文设置220。在预测器模型205的该示例中,当modelType=0(即,基于计数的,自适应)225时,可以进入编码模式210。在编码模式210中,当encodingMode=0 235时,编码是二进制的。在编码模式210中,当encodingMode=1 240时,编码是多符号的。然后,编码模式210可以存储各种预测上下文设置220。预测上下文设置220可以包括coding_order、num_adition_contexts、context_type(descriptor、output_variable、internal_variable、computed_variable)和/或range。
另外,当modelType=1 230(即,机器学习)时,可以进入训练模式215。在这种情况下,可以使用例如JSON表示来指定机器学习模型架构。在训练模式215中,当InitializationType=0 245时,指示静态初始化,并且modelURI指向模型参数。在训练模式215中,当InitializationType=1 250时,指示半自适应初始化,并且savedModel包括作为压缩文件的部分的模型参数。接下来,当adaptiveLearning=0 255时,在模型的训练中不使用自适应学习。当adaptiveLearning=1 260时,在模型的训练中使用自适应学习,并且可以指定以下参数:训练算法、训练算法参数、训练频率,以及训练时期。训练模式215然后可以将需要的参数存储在预测上下文设置220中。
如在2020年2月7日提交的标题为“Improved quality value compressionframework in aligned sequencing data based on novel contexts”(出于所有目的将其并入本文,就如同其被包括在本文中一样)的另一美国专利申请US 62/971293中所描述的,可以通过并入上下文来改进质量值压缩,所述上下文例如是读取中的位置、读取中的附近碱基、参考中的附近碱基、碱基处错误的存在和类型、基因组坐标处的平均质量值,以及从比对信息获得的其他上下文。该专利申请还详细讨论了选择上下文的方法以及与基于神经网络的预测相比使用基于计数的预测的利弊。本公开内容中的结果基于多符号算术编码,与CABAC相比,所述多符号算术编码在参数优化方面简单得多,但是在计算上更加昂贵。
图3图示了用于使用经修改的MPEG-G标准对数据进行编码的方法。这是通用编码器的示例性方法。在一些实施例中,一些步骤可以是默认的。例如,代替在各种选项之间进行选择,对算术编码类型的选择可以使用默认选择,例如,二进制算术编码。而且,训练模式可能并不总是涉及复杂的选择,例如,在静态训练的情况下,它可以至少部分是预先固定的。然而,可以根据通用定义来设置关于训练模式的一些指标值。编码方法200开始于205,然后编码方法200接收要被编码的数据210。在该应用中,这样的数据可以是各种基因组数据、相关元数据、质量值等。接下来,可以接收编码参数215。编码参数可以由用户选择并被提供给编码方法200,可以在配置文件中,或者可以基于分析要被编码的数据的类型和/或可用的计算资源来确定(例如,算术编码类型encodingMode可以基于要被编码的数据的格式来选择,或者modelType可以基于可用于训练的数据的量和可用的处理资源来选择)。接下来,编码方法200选择算术编码类型220。这将基于所接收的编码参数,并且可以包括由变量encodingMode指示的二进制或多符号算术编码。
编码方法200然后基于变量modelType来选择预测器类型225。如上所述,这可以指示CABAC、基于神经网络的预测器或一些其他类型的机器学习或其他类型的预测器。接下来,编码方法200基于变量initializationType来选择训练模式230。而且,变量adaptiveLearning指示在编码期间是否将使用自适应学习。方法200然后选择训练模式230。训练模式由上面讨论的各种训练参数来定义。接下来,方法200基于上面定义的各种变量来选择上下文235。
方法200接下来训练编码器240。该训练将取决于预测器类型,即,基于计数的预测器或基于神经网络的预测器。另外,各种训练参数将定义如何进行训练以及如何使用训练方法。然后,使用经训练的编码器对数据245进行编码。如果使用自适应预测器,则在编码进行时更新预测器。另外,将如上定义的各种编码参数附加到编码数据。然后,方法200在250处停止。
图4图示了用于使用经修改的MPEG-G标准对数据进行解码的方法。这是示例性解码。注意,与编码类似,某些步骤能够是默认的。例如,可以将算术解码类型固定为多级(或二进制),并且只有预测类型和上下文信息由编码器实际传送并由解码器预先配置。在这样的情况下,编码参数通常将规定预测类型和上下文,但是不规定算术解码类型。解码方法300开始于305,然后解码方法300接收要被解码的数据310。编码数据可以包括各种基因组数据、相关元数据、质量值等。接下来,可以从编码数据中提取编码参数315。解码方法300选择算术编码类型320。这将基于所提取的编码参数,并且可以包括由变量encodingMode指示的二进制或多符号算术编码。
然后,解码方法300基于所提取的变量modelType来选择预测器类型325。如上所述,这可以指示基于计数的预测器、基于神经网络的预测器或某种其他类型的机器学习或其他类型的预测器。如果使用基于神经网络或机器学习的预测器,则还从编码参数中提取这些模型的定义。接下来,方法300基于上面定义的各种变量来选择上下文330。
解码器然后用于基于各种编码参数和预测器模型对数据335进行解码。如果使用自适应预测器,则在解码进行时更新预测器。然后,方法300在340处停止。
图5图示了针对编码/解码系统的示例性硬件图400。如图所示,设备400包括处理器420、存储器430、用户接口440、网络接口450和存储装置460,它们经由一条或多条系统总线410互连。应当理解,图5在一些方面构成了抽象,并且设备400的部件的实际组织方式可能比所图示的情况更加复杂。
处理器420可以是能够运行在存储器430或存储装置460中存储的指令或以其他方式处理数据的任何硬件设备。正因如此,处理器可以包括微处理器、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、能够并行计算的任何处理器或其他类似设备。处理器也可以是实施机器学习模型的特殊处理器。
存储器430可以包括各种存储器,例如,L1、L2或L3高速缓冲存储器或系统存储器。正因如此,存储器430可以包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、闪速存储器、只读存储器(ROM)或其他类似的存储器设备。
用户接口440可以包括用于实现与用户的通信的一个或多个设备,并且可以向用户呈现信息。例如,用户接口440可以包括用于接收用户命令的显示器、触摸接口、鼠标和/或键盘。在一些实施例中,用户接口440可以包括命令行接口或图形用户接口,其可以经由网络接口450被呈现给远程终端。
网络接口450可以包括用于实现与其他硬件设备的通信的一个或多个设备。例如,网络接口450可以包括被配置为根据以太网协议或包括无线协议的其他通信协议进行通信的网络接口卡(NIC)。另外,网络接口450可以实施用于根据TCP/IP协议进行通信的TCP/IP堆栈。针对网络接口450的各种替代或额外硬件或配置将是显而易见的。
存储装置460可以包括一个或多个机器可读存储介质,例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备或类似的存储介质。在各种实施例中,存储装置460可以存储用于由处理器420运行的指令或处理器420可以对其进行操作的数据。例如,存储装置460可以存储用于控制硬件400的各种基本操作的基本操作系统461。存储装置462可以存储用于实施根据经修改的MPEG-G标准对数据进行编码或解码的指令。
显然,被描述为被存储在存储装置460中的各种信息可以额外地或替代地被存储在存储器430中。在这方面,存储器430也可以被认为构成“存储设备”,而存储装置460可以被认为是“存储器”各种其他布置将是显而易见的。另外,存储器430和存储装置460都可以被认为是“非瞬态机器可读介质”。本文使用的术语“非瞬态”将被理解为排除瞬时信号,但是包括所有形式的存储装置,既包括易失性存储器又包括非易失性存储器。
虽然系统400被示为对于每个描述的部件包括一个部件,但是在各个实施例中可以复制各个部件。例如,处理器420可以包括多个微处理器,所述多个微处理器被配置为独立运行本文描述的方法,或者被配置为执行本文描述的方法的步骤或子例程,使得多个处理器协作以实现本文描述的功能。这样的多个处理器可以是相同或不同的类型。另外,在设备400被实施在云计算系统中的情况下,各种硬件部件可以属于单独的物理系统。例如,处理器420可以包括第一服务器中的第一处理器和第二服务器中的第二处理器。
本文描述的编码/解码方法和系统提供了对当前MPEG-G标准的技术改进。本文描述的方法和系统包括添加不同的预测器模型以允许不同类型的算术编码的能力,并且提供将额外上下文包括到用于对遗传数据进行编码/解码的预测模型的训练中的能力。在本文中描述的这些特征和其他额外特征允许利用数据中的其他额外信息来改进数据压缩。这允许减少对遗传数据的存储,这在存储更完整的基因组以供进一步分析方面具有极大的益处。而且,额外的灵活性允许基于可用的计算和存储资源来进行编码决策,以在改进的压缩与实现改进的压缩所需的额外计算资源之间进行平衡。
在处理器上运行以实施本发明的实施例的特定软件的任何组合构成特定的专用机器。
本文使用的术语“非瞬时机器可读存储介质”将被理解为排除瞬态传播信号,但是包括所有形式的易失性存储器和非易失性存储器。
图6示出了上下文自适应算术解码器的示例,以图示基于机器学习的自适应概率模型的一般构思,该上下文自适应算术解码器使用神经网络作为针对质量值(Q1-Q4)的四个可能值的字母表中的符号的概率的预测器。通常,字母表中的符号对应于各种量化质量级别,例如,Q1可以是最低质量,而Q4可以是最高质量。算术解码电路601再次需要知道这4个可能的输出符号的当前概率(P(Q1)-P(Q4)),以便能够将编码数据S_enc解码为解码数据S_dec。因此,通过使用算术解码的原理,根据归一化区间[0.0-1.0]中的位置以及分数的对应二进制表示中能够知道,当前的输入比特集合对当前质量级别(比如Q1)进行编码。如果在计数上工作,则解码器通常会针对下一符号解码更新模型的概率(例如,由于Q1被解码,因此较低质量分数Q1和Q2更可能用于下一解码)。输出符号的概率由神经网络电路602来推断。如所解释的,取决于对数据的编码和解码最有利的内容,可以使用各种拓扑结构和各种更新方式。为了在该示例中进行说明,上下文包括在(例如在归一化区间中)适当转换为输入表示之后被供应给输入节点610至614的若干类别的输入。这能够使用非常通用的上下文。例如,代替仅目前正在解码的量的前两个解码值,质量分数跟踪、前一个分数Q(-1)和Q(-5)之前的5个位置的分数可以是作为针对神经网络的输入的上下文的部分。在一些实施例中,可能存在另外的电路(未示出),其配置要向输入节点发送哪些量,但是由于这是神经网络,因此可以立即输入一大组输入量,因为神经网络能够通过优化(接近)零的权重来学习某些输入对于预测并不重要。还可以看到,一些输入节点获得完全不同的上下文量,例如,输入节点612和613可以获得在先前解码的符号位置B(-1)和B(-2)之前的位置处确定的核酸碱基。以这种方式,网络可以学习特定的测序技术是否难以准确地确定例如一串N个连续的胸腺嘧啶碱基(其将在原始质量数据中显示)以及(在编码侧和解码侧两者处)针对最优编码的统计结果。图中还示出了确定上下文的外部参数的示例,即,当前碱基集被解码的染色体上的位置POS_C。本领域技术人员理解如何能够将相同的框架用于不同的上下文。
神经网络配置电路650能够周期性地设置神经网络,使得如果需要的话,神经网络能够针对数据集的不同概率行为进行优化(例如,染色体的下部可以用不同于上部的优化的神经网络更好地编码)。取决于配置,该电路可以在对应的子单元中执行不同的任务。例如,它可以在一组最近的上下文上并行运行完全相同的神经网络拓扑的训练阶段(例如,特别地,对于最后1000个解码的核酸碱基及其质量分数)。然后,在对目前的符号进行解码之前,可以用最优值替换所有权重。神经网络配置电路650通常可以访问编码参数数据解析器660。在静态神经网络适合于整个碱基序列的情况下,该解析器可以从编码数据信号中读取权重,并且在解码开始之前经由神经网络配置电路650在神经网络电路602中将它们加载一次。对于连续更新(即,重复优化)的神经网络概率模型或其他机器学习模型,解析器可以以类似的方式针对由神经网络电路602进行的概率计算设置起始权重,以用于对前几个编码符号进行解码。
在该网络拓扑中示出的是一个隐藏层(节点620-623)。它通过各自的权重w1,1等对输入节点的值进行加权,并且对结果进行求和。以这种方式,通过使用一个或可能多个隐藏层,网络能够学习各种相互依赖性,这能够得到非常好的用于预测下一符号的质量概率模型。输出节点通常在激活函数630之后,并且将表示概率。例如,输出节点631表示当前质量将是第一质量的概率(例如,最差质量分数),并且例如,它可以是0.25。该示例仅通过示例示出了能够根据本文提出的技术原理进行类似设计的若干变体中的一种变体。还要注意,算术编码作为对纯数据(即,二进制或非二进制字母表符号)的无损编码进行工作,因此它既能够用于原始数据,又能够用于已经由初始预测算法预测的数据(即,能够对初始预测的模型参数和/或预测与实际原始数据之间的残差这两者运行算术编码器和解码器)。
虽然已经具体参考某些示例性方面详细描述了各种示例性实施例,但是应当理解,本发明能够具有其他实施例,并且其细节能够在各种明显方面进行修改。如本领域技术人员能够容易想到的,在保持在本发明的精神和范围内的同时,变化和修改可能会受到影响。相应地,前述公开内容、描述和附图仅用于说明目的,而并不以任何方式限制本发明,本发明仅由权利要求来限定。
Claims (45)
1.一种用于对基因组信息的MPEG-G编码数据进行解码的方法,包括:
接收MPEG-G编码数据;
从所述编码数据中提取编码参数;
基于所提取的编码参数来选择算术解码类型;
基于所提取的编码参数来选择预测器类型,所述预测器类型指定用于获得用于对所述数据进行算术编码的符号的概率的方法;
基于所提取的编码参数来选择算术编码上下文;并且
使用所选择的预测器和所选择的算术编码上下文对所述编码数据进行解码。
2.根据权利要求1所述的方法,其中,所述算术编码类型是二进制编码和多符号编码中的一项。
3.根据权利要求1所述的方法,其中,所述预测器类型是基于计数的类型或机器学习模型类型中的一项。
4.根据权利要求3所述的方法,其中,当所述预测器类型识别机器学习模型时,并且其中,所述编码参数还包括所述机器学习模型的定义。
5.根据权利要求1所述的方法,其中,所提取的编码参数包括训练模式数据,所述训练模式数据指定用于预测被算术编码的符号的概率的模型在所述解码中如何随时间变化。
6.根据权利要求5所述的方法,其中,所述训练模式数据包括初始化类型,所述初始化类型包括静态训练模式、半自适应训练模式和自适应训练模式中的一项。
7.根据权利要求5所述的方法,其中,所述训练模式数据包括训练算法定义、训练算法参数、训练频率和训练时期中的一项。
8.根据权利要求1所述的方法,其中,所提取的编码参数包括上下文数据。
9.根据权利要求8所述的方法,其中,所述上下文数据包括编码顺序、使用的额外上下文的数量、上下文类型和范围中的一项。
10.根据权利要求8所述的方法,其中,所述上下文数据包括范围标志。
11.根据权利要求8所述的方法,其中,所述上下文数据包括上下文描述符、上下文输出变量、上下文内部变量、上下文计算变量和上下文计算函数中的一项。
12.一种用于对MPEG-G编码数据进行编码的方法,包括:
接收要用于对数据进行编码的编码参数,其中,编码参数指定要如何对未编码的基因组信息进行编码;
基于所接收的编码参数来选择算术编码类型;
基于所接收的编码参数来选择预测器类型,所述预测器类型指定用于获得用于对所述数据进行算术编码的符号的概率的方法;
基于所接收的编码参数来选择训练模式;
基于所接收的编码参数来选择算术编码上下文;
基于所接收的编码参数来训练编码器;并且
使用经训练的编码器对所述数据进行编码。
13.根据权利要求12所述的方法,其中,所述算术编码类型是二进制编码和多符号编码中的一项。
14.根据权利要求12所述的方法,其中,所述预测器类型是基于计数的类型或机器学习模型类型中的一项。
15.根据权利要求14所述的方法,其中,当所述预测器类型识别机器学习模型时,所述编码参数还包括所述机器学习模型的定义。
16.根据权利要求12所述的方法,其中,所提取的编码参数包括训练模式数据。
17.根据权利要求16所述的方法,其中,所述训练模式数据包括初始化类型,所述初始化类型包括静态训练模式、半自适应训练模式和自适应训练模式中的一项。
18.根据权利要求16所述的方法,其中,所述训练模式数据包括训练算法定义、训练算法参数、训练频率和训练时期中的一项。
19.根据权利要求12所述的方法,其中,所提取的编码参数包括上下文数据。
20.根据权利要求19所述的方法,其中,所述上下文数据包括编码顺序、使用的额外上下文的数量、上下文类型和范围中的一项。
21.根据权利要求19所述的方法,其中,所述上下文数据包括范围标志。
22.根据权利要求19所述的方法,其中,所述上下文数据包括上下文描述符、上下文输出变量、上下文内部变量、上下文计算变量和上下文计算函数中的一项。
23.一种用于对MPEG-G编码数据进行解码的系统,包括:
存储器;
处理器,其被耦合到所述存储器,其中,所述处理器还被配置为:
接收MPEG-G编码数据;
从所述编码数据中提取编码参数;
基于所提取的编码参数来选择算术解码类型;
基于所提取的编码参数来选择预测器类型,所述预测器类型指定用于获得用于对所述数据进行算术编码的符号的概率的方法;
基于所提取的编码参数来选择算术编码上下文;并且
使用所选择的预测器类型和所选择的算术编码上下文对所述编码数据进行解码。
24.根据权利要求23所述的系统,其中,所述算术编码类型是二进制编码和多符号编码中的一项。
25.根据权利要求23所述的系统,其中,所述预测器类型是基于计数的类型或机器学习模型类型中的一项。
26.根据权利要求25所述的系统,其中,当所述预测器类型识别机器学习模型时,所述编码参数还包括所述机器学习模型的定义。
27.根据权利要求23所述的系统,其中,所提取的编码参数包括训练模式数据。
28.根据权利要求27所述的系统,其中,所述训练模式数据包括初始化类型,所述初始化类型包括静态训练模式、半自适应训练模式和自适应训练模式中的一项。
29.根据权利要求27所述的系统,其中,所述训练模式数据包括训练算法定义、训练算法参数、训练频率和训练时期中的一项。
30.根据权利要求23所述的系统,其中,所提取的编码参数包括上下文数据。
31.根据权利要求30所述的系统,其中,所述上下文数据包括编码顺序、使用的额外上下文的数量、上下文类型和范围中的一项。
32.根据权利要求30所述的系统,其中,所述上下文数据包括范围标志。
33.根据权利要求30所述的系统,其中,所述上下文数据包括上下文描述符、上下文输出变量、上下文内部变量、上下文计算变量和上下文计算函数中的一项。
34.一种用于对MPEG-G编码数据进行编码的系统,包括:
存储器;
处理器,其被耦合到所述存储器,其中,所述处理器还被配置为:
接收要用于对数据进行编码的编码参数,其中,编码参数指定要如何对未编码的基因组信息进行编码;
基于所接收的编码参数来选择算术编码类型;
基于所接收的编码参数来选择预测器类型,所述预测器类型指定用于获得用于对所述数据进行算术编码的符号的概率的方法;
基于所接收的编码参数来选择训练模式;
基于所接收的编码参数来选择算术编码上下文;
基于所接收的编码参数来训练编码器;并且
使用经训练的编码器对所述数据进行编码。
35.根据权利要求34所述的系统,其中,所述算术编码类型是二进制编码和多符号编码中的一项。
36.根据权利要求34所述的系统,其中,所述预测器类型是基于计数的类型或机器学习模型类型中的一项。
37.根据权利要求36所述的系统,其中,当所述预测器类型识别机器学习模型时,所述编码参数还包括所述机器学习模型的定义。
38.根据权利要求34所述的系统,其中,所提取的编码参数包括训练模式数据。
39.根据权利要求38所述的系统,其中,所述训练模式数据包括初始化类型,所述初始化类型包括静态训练模式、半自适应训练模式和自适应训练模式中的一项。
40.根据权利要求38所述的系统,其中,所述训练模式数据包括训练算法定义、训练算法参数、训练频率和训练时期中的一项。
41.根据权利要求34所述的系统,其中,所提取的编码参数包括上下文数据。
42.根据权利要求41所述的系统,其中,所述上下文数据包括编码顺序、使用的额外上下文的数量、上下文类型和范围中的一项。
43.根据权利要求41所述的系统,其中,所述上下文数据包括范围标志。
44.根据权利要求41所述的系统,其中,所述上下文数据包括上下文描述符、上下文输出变量、上下文内部变量、上下文计算变量和上下文计算函数中的一项。
45.根据权利要求34所述的系统,包括能连接到数据通信信道的数据输出部,其中,所述系统被布置为通过所述数据输出部来输出所述编码数据和所述编码参数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063050193P | 2020-07-10 | 2020-07-10 | |
US63/050,193 | 2020-07-10 | ||
PCT/EP2021/067960 WO2022008311A1 (en) | 2020-07-10 | 2021-06-30 | Genomic information compression by configurable machine learning-based arithmetic coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116018647A true CN116018647A (zh) | 2023-04-25 |
Family
ID=76920753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180056542.9A Pending CN116018647A (zh) | 2020-07-10 | 2021-06-30 | 通过基于可配置机器学习的算术编码进行的基因组信息压缩 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230253074A1 (zh) |
EP (1) | EP4179539A1 (zh) |
JP (1) | JP2023535131A (zh) |
CN (1) | CN116018647A (zh) |
WO (1) | WO2022008311A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115391298A (zh) * | 2021-05-25 | 2022-11-25 | 戴尔产品有限公司 | 基于内容的动态混合数据压缩 |
CN115083530B (zh) * | 2022-08-22 | 2022-11-04 | 广州明领基因科技有限公司 | 基因测序数据压缩方法、装置、终端设备和存储介质 |
CN117692094A (zh) * | 2022-09-02 | 2024-03-12 | 北京邮电大学 | 编码方法、解码方法、编码装置、解码装置及电子设备 |
CN116886104B (zh) * | 2023-09-08 | 2023-11-21 | 西安小草植物科技有限责任公司 | 一种基于人工智能的智慧医疗数据分析方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RS64604B1 (sr) * | 2011-06-16 | 2023-10-31 | Ge Video Compression Llc | Entropijsko kodiranje razlika vektora kretanja |
EA201991907A1 (ru) * | 2017-02-14 | 2020-01-20 | Геномсыс Са | Способ и системы для эффективного сжатия прочтений геномной последовательности |
CN108306650A (zh) * | 2018-01-16 | 2018-07-20 | 厦门极元科技有限公司 | 基因测序数据的压缩方法 |
EP4100954A1 (en) * | 2020-02-07 | 2022-12-14 | Koninklijke Philips N.V. | Improved quality value compression framework in aligned sequencing data based on novel contexts |
-
2021
- 2021-06-30 CN CN202180056542.9A patent/CN116018647A/zh active Pending
- 2021-06-30 WO PCT/EP2021/067960 patent/WO2022008311A1/en unknown
- 2021-06-30 JP JP2023500391A patent/JP2023535131A/ja active Pending
- 2021-06-30 US US18/015,089 patent/US20230253074A1/en active Pending
- 2021-06-30 EP EP21742062.9A patent/EP4179539A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4179539A1 (en) | 2023-05-17 |
JP2023535131A (ja) | 2023-08-16 |
WO2022008311A1 (en) | 2022-01-13 |
US20230253074A1 (en) | 2023-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116018647A (zh) | 通过基于可配置机器学习的算术编码进行的基因组信息压缩 | |
US20210185066A1 (en) | Detecting anomalous application messages in telecommunication networks | |
US8929402B1 (en) | Systems and methods for compressing packet data by predicting subsequent data | |
US9223765B1 (en) | Encoding and decoding data using context model grouping | |
Benoit et al. | Reference-free compression of high throughput sequencing data with a probabilistic de Bruijn graph | |
US20190273509A1 (en) | Classification of source data by neural network processing | |
US8344916B2 (en) | System and method for simplifying transmission in parallel computing system | |
US20070233477A1 (en) | Lossless Data Compression Using Adaptive Context Modeling | |
US9569285B2 (en) | Method and system for message handling | |
Knoll et al. | A machine learning perspective on predictive coding with PAQ8 | |
Yu et al. | Two-level data compression using machine learning in time series database | |
EP3776365A1 (en) | End-to-end learning in communication systems | |
CN111105029A (zh) | 神经网络的生成方法、生成装置和电子设备 | |
CN113055017A (zh) | 数据压缩方法及计算设备 | |
CN115104305A (zh) | 用于图压缩的多上下文熵编码 | |
CN113467949B (zh) | 边缘计算环境下用于分布式dnn训练的梯度压缩方法 | |
CN111767697A (zh) | 文本处理方法、装置、计算机设备以及存储介质 | |
Tabus et al. | Classification and feature gene selection using the normalized maximum likelihood model for discrete regression | |
CN112804029A (zh) | 基于ldpc码的bats码的传输方法、装置、设备及可读存储介质 | |
US9235610B2 (en) | Short string compression | |
CN115088038A (zh) | 基于新上下文的经比对的测序数据中的改进质量值压缩框架 | |
Kouzani et al. | Multilabel classification by bch code and random forests | |
CN110915140B (zh) | 用于编码和解码数据结构的质量值的方法 | |
Izacard et al. | Lossless Data Compression with Transformer | |
Siemens et al. | Internet of things data transfer method using neural network autoencoder |
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 |