JP2023535131A - 構成可能な機械学習ベースの算術コード化によるゲノム情報圧縮 - Google Patents
構成可能な機械学習ベースの算術コード化によるゲノム情報圧縮 Download PDFInfo
- Publication number
- JP2023535131A JP2023535131A JP2023500391A JP2023500391A JP2023535131A JP 2023535131 A JP2023535131 A JP 2023535131A JP 2023500391 A JP2023500391 A JP 2023500391A JP 2023500391 A JP2023500391 A JP 2023500391A JP 2023535131 A JP2023535131 A JP 2023535131A
- Authority
- JP
- Japan
- Prior art keywords
- context
- data
- encoding
- type
- 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
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/50—Compression of genetic data
-
- 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
-
- 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
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Biotechnology (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Genetics & Genomics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Epidemiology (AREA)
- Evolutionary Computation (AREA)
- Public Health (AREA)
- Software Systems (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
ゲノム情報のMPEG-G符号化されたデータを復号するための方法及びシステムであって、MPEG-G符号化されたデータを受け取ることと、符号化パラメータを抽出することと、抽出された符号化パラメータに基づいて、算術復号タイプを選択することと、抽出された符号化パラメータに基づいて、データを算術的に符号化するために使用されたシンボルの確率を取得するための方法を指定する予測子タイプを選択することと、抽出された符号化パラメータに基づいて、算術コード化コンテキストを選択することと、選択された予測子及び選択された算術コード化コンテキストを使用して、符号化されたデータを復号することとを含む。
Description
[0001] 本明細書で開示される様々な例示的実施形態は、一般に、MPEG-Gのためのコンテキスト選択、モデルトレーニング、及び機械学習ベースの算術コード化向けの拡張可能なフレームワークのためのシステム及び方法に関する。
[0002] ハイスループット配列決定により、遺伝物質を、これまでにない低コストでスキャンできるようになり、これにより、遺伝データの量が増え続け、このデータを効率的に圧縮する必要性が生じたが、想定される用途に適合するように圧縮することが好ましい。例えば、医学(病気の検出)、集団の監視(例えば、SARS-COV-2検出)、法医学などで用途がある。
[0003] DNA(デオキシリボ核酸)及びRNA(リボ核酸)は、4つの異なる核酸塩基(それぞれ、DNAの場合、シトシン[C]、グアニン[G]、アデニン[A]、及びチミン[T]、RNAの場合、アデニン、シトシン、グアニン、及びウラシル[U])のみから構築されるので、符号化は容易であろうと素朴に考えることができる。しかしながら、ゲノム情報はこれまでにない新しい形態で提供される。例えば、生データは、第2世代対ロングリードシーケンスなどの様々な配列技法から取得され、これにより、リードの長さが異なることになるだけでなく、塩基コールの確実性も異なり、塩基コールは、塩基配列又は複数の配列に、品質スコアなどの品質情報として追加され、同様に符号化する必要がある。更に、DNAの下流分析において、基準配列と比較した差異など、DNAの特性に関する情報が生成される。その後、例えば、基準と比較して1つ又は複数の塩基が欠落していることに注釈を付けることができる。単一塩基変異体は、病気や他の遺伝的に決定された特性につながることが知られており、これには、符号化されたデータの別のユーザが、情報を簡単に見つけられるように、注釈を付けることができる。DNA配列への外部的な変形を研究する構成学は、ここでも、例えば、メチル化や、細胞内のクロマチンの空間構成を明らかにする染色体接触マトリクスなど、大量の追加データを生成する。これらアプリケーションはすべて、将来的に、強力な符号化技法を必要とする豊富なデータセットを作成する。
[0004] MPEG-Gは、ユーザの様々なニーズの徹底的な議論に基づいて、ゲノム情報の普遍的な表現に到達しようとする動画像専門家グループの最近のイニシアチブである。現在、MPEG-Gで記述子を圧縮するためのエントロピコード化メカニズムとして、コンテキスト適応バイナリ算術コード化(CABAC)が使用されている。しかしながら、現在の規格は、ほとんどの場合、コンテキストとして以前のシンボルしか許可しない。
[0005] 様々な例示的実施形態の概要が、以下に提示される。以下の概要では、いくつかの簡略化及び省略が行われているが、これは、様々な例示的な実施形態のいくつかの態様を強調及び紹介することが意図されているが、本発明の範囲を限定することは意図されていない。当業者が本発明の概念を作成及び使用することを可能にするのに適切な例示的な実施形態の詳細な説明は、後述される。
[0006] 様々な実施形態は、MPEG-G符号化されたデータを受け取ることと、符号化されたデータから、符号化パラメータを抽出することと、抽出された符号化パラメータに基づいて、算術コード化タイプを選択することと、抽出された符号化パラメータに基づいて、予測子タイプを選択することと、抽出された符号化パラメータに基づいて、コンテキストを選択することと、選択された予測子と、選択されたコンテキストとを使用して、符号化されたデータを復号することとを含む、MPEG-G符号化されたデータを復号するための方法に関する。技術要素符号化パラメータは、受取復号器が、その復号プロセスを決定するために必要な、そのようなパラメータを含み、特に、様々な代替復号アルゴリズムの選択又は構成を制御するパラメータを含む。符号化されたデータは、具体的には、算術的に符号化されたデータを意味する。算術符号化は、シンボル(例えば、A,T,C,G)の配列を、それらのシンボルの発生の確率に基づいて[0.0-1.0]の範囲の間隔にマップする。発生する可能性が低いシンボルには、符号化されたビット列のビットを増やし、可能性の高いシンボルには、ビットを減らすことで、必要なビット量を最適化できること、すなわち、この原理を導くために確率推定を使用することが、確率ベースの符号化の特性である。確率は、経時的に、つまり実行中の復号処理中に変更できる。コンテキスト適応算術符号化は、様々な状況、つまり、様々なコンテキスト(コンテキストという用語を使用する場合、算術符号化、つまり算術符号化コンテキストという意味で意図している)の識別に基づいて、確率を更に最適化することができる。従来、コンテキストは、以前に復号されたシンボルの結果によって形成された。例えば、以前の塩基で一連の低い品質スコアが見つかった場合、現在のリード塩基の読み取りは、まだあまり確実ではない、即ち、ゲノム情報でも品質スコアが低いと仮定するのが合理的である。それゆえに、低いスコア値の確率を高く設定することもでき、高いスコア値は、現在の塩基について、高い確実性を示す。しかしながら、本発明者によれば、現在復号されている染色体のゲノム位置のような、品質スコア以外の量の復号された値などの他のデータも考慮できる、より多くの異なるコンテキストを定義することが可能である。
[0007] 算術符号化タイプは、通信された符号化されたMPEG-Gデータ信号に存在する符号化パラメータで通信されるように、データの算術符号化の様々な可能な方式のどのタイプが、符号化されたデータを生成した符号化器によって使用されたかを復号器に指定する。算術符号化タイプがバイナリコード化及びマルチシンボルコード化のうちの1つである、様々な実施形態が説明される。マルチシンボルコード化では、コード化されていない信号で遭遇するシンボルのアルファベットを定義する。例えば、DNA核酸塩基の場合、これらシンボルには、例えばチミンのTのように、明確なリード塩基のシンボル、又は、不確実なリード塩基のシンボルを含むことができ、品質スコアの場合、スコアの量子化された値のセットを定義できる。バイナリ算術コード化では、これらN個のアルファベットシンボルは、前処理ステップとして、選択されたバイナリスキームによって2進数に変換され、例えば、N個のシンボルは、例えば、T=0,C=10,G=110,A=1110のように、後に0が続く2進数のセットの増加によって表すことができる。
[0008] 発明者はまた、より良いコンテキストの選択及び通信とともに、又はそれとは別に、使用されているあらゆるコンテキストに基づいて、様々なシンボルの固定された、又は常に変化する確率を予測するために、例えば、使用されている予測子が、特定のニューラルネットワーク(通信されるトポロジ及び/又は最適化された重み)などのカウントベースのタイプ又は機械学習モデルタイプのいずれであるかを示すmodelTypeパラメータを使用して、いくつかの異なる予測子タイプのうちの1つを選択することによっても最適化できることを発見した。これらコンテンツは、ニューラルネットワークへの入力として使用したり、複数の代替ニューラルネットワークのうちの1つを選択したり、ニューラルネットワークの特性に影響を与えるために使用できる。或いは、他の機械学習技法を使用して確率を予測する、即ち、予測子モデル又はタイプを形成する。したがって、予測子タイプは、メインのタイプ(ニューラルネットワーク対従来のカウントベースの確率再推定)と、(特にニューラルネットワークのための)より詳細なサブタイプとを示すことができる。
[0009] 予測子タイプが、機械学習モデルを識別するとき、符号化パラメータが更に、機械学習モデルの定義を含む、様々な実施形態が説明される。機械学習モデルを定義するパラメータ(例えば、隠れ層との接続、接続のための固定重み又は初期重みなどのトポロジを指定するパラメータ)を通信することにより、符号化器は、非常に良好なモデルを選択し、選択したモデルを復号器に通信でき、復号器は、到来する符号化されたデータの復号を開始する前に、このモデルを構成できる。また、符号化されたデータ信号のパラメータは、モデルを繰り返しリセット又は再構成する。
[0010] 抽出された符号化パラメータが、トレーニングモードデータを含む、様々な実施形態が説明される。トレーニングモードとは、モデルがモデル自体を、変化するデータに動的に適応させる(つまり、符号化されたデータで使用されるように、元のコード化されていないデータの様々な確率に合わせてモデル自体をトレーニングする)、又は、比較的固定された状態を維持する(例えば、データセット全体に対して符号化器によって一度最適化され、復号全体中に使用されるように復号器に通信される重みを有するニューラルネットワーク)方式を称する。例えば、ニューラルネットワークは、最初の2000個のシンボルにわたって外部処理ループでトレーニングされ、その後、2001番目の符号化されたビットを復号する前に、新しい最適な重みに置き換える。
[0011] トレーニングモードデータが、静的トレーニングモード、準適応トレーニングモード、及び適応トレーニングモードのうちの1つを含む初期化タイプを含む、様々な実施形態が説明される。静的モードの典型的な例は、符号化器と復号器との両方で使用される標準モデルのセットから潜在的に選択可能な、標準的な事前定義されたモデルが存在する場合であり、選択されたモデルは、例えば、選択されたモデルを指定するモデル番号によって、復号器へ通信される。準適応モデルの例は、圧縮されたデータを使用してモデルがトレーニングされる場合である。この場合、重みは、この特定のデータセットに対して最適化される。
[0012] トレーニングモードデータが、トレーニングアルゴリズム定義、トレーニングアルゴリズムパラメータ、トレーニング頻度、及びトレーニングエポックのうちの1つを含む、様々な実施形態が説明される。トレーニング頻度は、例えば、1000シンボルごとに、(復号側で)モデルを更新する頻度である。トレーニングエポックは、機械学習の概念であり、モデルを更新するために機械学習アルゴリズムによってトレーニングデータセット全体が処理される回数を指定する。
[0013] 抽出された符号化パラメータがコンテキストデータを含む、様々な実施形態が説明される。
[0014] コンテキストデータが、コード化順序、使用される追加のコンテキストの数、コンテキストタイプ、及び範囲のうちの1つを含む、様々な実施形態が説明される。
[0015] コンテキストデータが範囲フラグを含む、様々な実施形態が説明される。
[0016] コンテキストデータが、コンテキスト記述子、コンテキスト出力変数、コンテキスト内部変数、コンテキスト計算変数、及びコンテキスト計算関数のうちの1つを含む、様々な実施形態が説明される。
[0017] 更なる様々な実施形態は、データを符号化するために使用される符号化パラメータを受け取ることと、受け取られた符号化パラメータに基づいて、算術符号化タイプを選択することと、受け取られた符号化パラメータに基づいて、予測子タイプを選択することと、受け取られた符号化パラメータに基づいて、トレーニングモードを選択することと、受け取られた符号化パラメータに基づいて、コンテキストを選択することと、受け取られた符号化パラメータに基づいて、符号化器をトレーニングすることと、トレーニングされた符号化器を使用して、データを符号化することとを含む、MPEG-G符号化されたデータを符号化するための方法に関する。
[0018] 算術符号化タイプが、バイナリコード化及びマルチシンボルコード化のうちの1つである、様々な実施形態が説明される。
[0019] 予測子タイプが、カウントベースのタイプ又は機械学習モデルタイプのうちの1つである、様々な実施形態が説明される。
[0020] 予測子タイプが、機械学習モデルを識別するとき、符号化パラメータが更に、機械学習モデルの定義を含む、様々な実施形態が説明される。
[0021] 抽出された符号化パラメータが、トレーニングモードデータを含む、様々な実施形態が説明される。
[0022] トレーニングモードデータが、静的トレーニングモード、準適応トレーニングモード、及び適応トレーニングモードのうちの1つを含む初期化タイプを含む、様々な実施形態が説明される。
[0023] トレーニングモードデータが、トレーニングアルゴリズム定義、トレーニングアルゴリズムパラメータ、トレーニング頻度、及びトレーニングエポックのうちの1つを含む、様々な実施形態が説明される。
[0024] 抽出された符号化パラメータがコンテキストデータを含む、様々な実施形態が説明される。
[0025] コンテキストデータが、コード化順序、使用される追加のコンテキストの数、コンテキストタイプ、及び範囲のうちの1つを含む、様々な実施形態が説明される。
[0026] コンテキストデータが範囲フラグを含む、様々な実施形態が説明される。
[0027] コンテキストデータが、コンテキスト記述子、コンテキスト出力変数、コンテキスト内部変数、コンテキスト計算変数、及びコンテキスト計算関数のうちの1つを含む、様々な実施形態が説明される。
[0028] 更に様々な実施形態は、メモリと、メモリに結合されたプロセッサとを含み、プロセッサは更に、MPEG-G符号化されたデータを受け取り、符号化されたデータから、符号化パラメータを抽出し、抽出された符号化パラメータに基づいて、算術符号化タイプを選択し、抽出された符号化パラメータに基づいて、予測子タイプを選択し、抽出された符号化パラメータに基づいて、コンテキストを選択し、選択された予測子と、選択されたコンテキストとを使用して、符号化されたデータを復号するように構成された、MPEG-G符号化されたデータを復号するためのシステムに関する。
[0029] 算術符号化タイプが、バイナリコード化及びマルチシンボルコード化のうちの1つである、様々な実施形態が説明される。
[0030] 予測子タイプが、カウントベースのタイプ又は機械学習モデルタイプのうちの1つである、様々な実施形態が説明される。
[0031] 予測子タイプが、機械学習モデルを識別するとき、符号化パラメータが更に、機械学習モデルの定義を含む、様々な実施形態が説明される。
[0032] 抽出された符号化パラメータが、トレーニングモードデータを含む、様々な実施形態が説明される。
[0033] トレーニングモードデータが、静的トレーニングモード、準適応トレーニングモード、及び適応トレーニングモードのうちの1つを含む初期化タイプを含む、様々な実施形態が説明される。
[0034] トレーニングモードデータが、トレーニングアルゴリズム定義、トレーニングアルゴリズムパラメータ、トレーニング頻度、及びトレーニングエポックのうちの1つを含む、様々な実施形態が説明される。
[0035] 抽出された符号化パラメータが、コンテキストデータを含む、様々な実施形態が説明される。
[0036] コンテキストデータが、コード化順序、使用される追加のコンテキストの数、コンテキストタイプ、及び範囲のうちの1つを含む、様々な実施形態が説明される。
[0037] コンテキストデータが範囲フラグを含む、様々な実施形態が説明される。
[0038] コンテキストデータが、コンテキスト記述子、コンテキスト出力変数、コンテキスト内部変数、コンテキスト計算変数、及びコンテキスト計算関数のうちの1つを含む、様々な実施形態が説明される。
[0039] 更に様々な実施形態は、メモリと、メモリに結合されたプロセッサとを含み、プロセッサは更に、データを符号化するために使用される符号化パラメータを受け取り、受け取られた符号化パラメータに基づいて、算術符号化タイプを選択し、受け取られた符号化パラメータに基づいて、予測子タイプを選択し、受け取られた符号化パラメータに基づいて、トレーニングモードを選択し、受け取られた符号化パラメータに基づいて、コンテキストを選択し、受け取られた符号化パラメータに基づいて、符号化器をトレーニングし、トレーニングされた符号化器を使用して、データを符号化するように構成された、MPEG-G符号化されたデータを符号化するためのシステムに関する。
[0040] 算術符号化タイプが、バイナリコード化及びマルチシンボルコード化のうちの1つである、様々な実施形態が説明される。
[0041] 予測子タイプが、カウントベースのタイプ又は機械学習モデルタイプのうちの1つである、様々な実施形態が説明される。
[0042] 予測子タイプが、機械学習モデルを識別するとき、符号化パラメータが更に、機械学習モデルの定義を含む、様々な実施形態が説明される。
[0043] 抽出された符号化パラメータが、トレーニングモードデータを含む、様々な実施形態が説明される。
[0044] トレーニングモードデータが、静的トレーニングモード、準適応トレーニングモード、及び適応トレーニングモードのうちの1つを含む初期化タイプを含む、様々な実施形態が説明される。
[0045] トレーニングモードデータが、トレーニングアルゴリズム定義、トレーニングアルゴリズムパラメータ、トレーニング頻度、及びトレーニングエポックのうちの1つを含む、様々な実施形態が説明される。
[0046] 抽出された符号化パラメータが、コンテキストデータを含む、様々な実施形態が説明される。
[0047] コンテキストデータが、コード化順序、使用される追加のコンテキストの数、コンテキストタイプ、及び範囲のうちの1つを含む、様々な実施形態が説明される。
[0048] コンテキストデータが範囲フラグを含む、様々な実施形態が説明される。
[0049] コンテキストデータが、コンテキスト記述子、コンテキスト出力変数、コンテキスト内部変数、コンテキスト計算変数、及びコンテキスト計算関数のうちの1つを含む、様々な実施形態が説明される。
[0050] 様々な例示的な実施形態をより良く理解するために、添付の図面が参照される。
[0057] 理解を容易にするために、実質的に同一又は類似の構造及び/又は実質的に同一又は類似の機能を有する要素を示すために、同一の参照番号が使用される。
[0058] 説明及び図面は、本発明の原理を示している。したがって、当業者は、本明細書では明示的に説明も図示もされていないが、本発明の原理を具現化し、その範囲内に含まれる様々な構成を考案できることが理解されよう。更に、本明細書に記載されたすべての例は、原則として、本発明の原理及び発明者が当技術を促進するために貢献した概念を読者が理解するのを助けるための教育目的であることが明示的に意図されており、そのような具体的に列挙された例及び条件に限定されるものではないと解釈されるべきである。それに加えて、「又は」という用語は、本明細書で使用される場合、特に(例えば、「又はそうでなければ」又は「又は代替的に」と)明記されていない限り、非排他的な又は(即ち、及び/又は)を指す。また、いくつかの実施形態を、1つ又は複数の他の実施形態と組み合わせて、新しい実施形態を形成できるため、本明細書で説明される様々な実施形態は、必ずしも相互に排他的ではない。
[0059] コンテキスト適応バイナリ算術コード化(CABAC)は現在、MPEG-Gにおける記述子の圧縮のためのエントロピコード化メカニズムとして使用されている。しかしながら、現在の規格は、コンテキストの選択に関して厳しく制限されており、ほとんどの場合、以前のシンボルのみをコンテキストとして許可する。これにより、圧縮率を高める別の記述子など、他のコンテキストを使用できない。更に、現在のフレームワークは、ニューラルネットワークや様々なトレーニングモードなどの、より強力な予測子をサポートしていない。これら追加機能をMPEG-G規格に組み込み、より高い柔軟性と改善された圧縮を可能にするためのフレームワークが本明細書で説明される。本明細書で説明される実施形態は、MPEG-G規格に限定されず、他の圧縮ファイル形式にも同様に適用される。
[0060] ゲノムデータのMPEG-G規格は、異なる記述子に関してゲノムデータを圧縮する。圧縮エンジンは、算術コード化に基づくコンテキスト適応バイナリ算術コード化(CABAC)である。算術コード化は、データのために、(場合によっては適応型の)確率モデルの下で、最適な圧縮を実行する、データ圧縮のための標準的なアプローチである。モデルが、データをより適切に予測するほど、圧縮も向上する。モデルは、圧縮されるデータとの統計的相関関係を有する様々なコンテキストを組み込み、現在の規格では、算術コード化に必要な確率モデルのコンテキストとして、以前のシンボルを使用できる。図1は、CABACのブロック図を示す。算術符号化器5は、次のシンボル10を、入力(即ち、x∈{0,1,2,・・・})として受け取る。算術符号化器5は、特定のコンテキストで特定のシンボルが発生する確率を提供する確率テーブルを使用する。その後、これら入力を使用して、符号化器5は、圧縮ビットストリーム20を生成する。mmtypeのような特定の記述子の場合、規格は、基準塩基などの追加のコンテキストの使用も許可するが、一般に、他の記述子をコンテキストとして使用したり、他の追加のコンテキストを使用したりすることはサポートされていない。これは、リード内の位置が、品質値圧縮のためのコンテキストとして使用される場合など、そのような追加のコンテキストを含めることによって圧縮が改善されるという事実にも関わらずである。同様に、ナノポアデータの場合、品質値圧縮を改善するためのコンテキストとして、配列塩基が使用される。圧縮を改善するために利用される記述子間で、より多くのそのような相関関係が存在することが予想される。
[0061] 更に、現在の規格は、適応算術コード化セットアップのみを許可するが、算術コード化には、以下に説明するようにいくつかのモードが存在する。1つの可能なモードは、符号化器及び復号器にアクセス可能な固定モデルを使用する静的モデリングである。この静的モデルは、多くの同様のデータがトレーニングのために利用可能である場合に適している。別の可能なモードは、モデルが、圧縮されるデータから学習され、モデルパラメータが、圧縮ファイルの一部として格納される準適応モデリングである。この準適応モデルは、モデルトレーニングのために同様のデータが利用可能ではない場合に適している。最後に、符号化器/復号器が同じランダムモデルで開始し、現在までに見られたデータに基づいてモデルが適応的に更新される適応モデリングがある。その結果、モデルの更新は対称的であるため、モデルを格納する必要はない。この適応モードは、同様のデータが利用可能ではない場合、及び/又は単純な予測子(例えば、カウントベースの予測子)を使用する場合に適している。したがって、異なる状況では、以前のトレーニングデータの可用性に応じて、異なるモデリング技法が、より適切である。モデルへの適応的な更新は、静的及び準適応設定でも行われることに留意されたい。
[0062] 現在の規格の別の制限は、ニューラルネットワーク又は他の機械学習モデルなど、より複雑な確率予測子に対するサポートがないことである。現在、次のシンボルの確率が、カウントからの経験的確率に基づいて計算されるカウントベースのフレームワークのみがサポートされている。これらカウントは、コンテキスト及び次のシンボルに基づいて、すべてのステップで更新される。しかしながら、そのようなカウントベースのアプローチには、2つの大きな制限がある。
[0063] 第1に、カウントベースのアプローチは、コンテキスト全体の類似性及び依存性を利用できない。例えば、コンテキスト(A,A,A,A)及びコンテキスト(A,A,A,C)のカウントは、いくつかの類似点があると予想される場合でも、独立しているものとして取り扱われる。同様に、以前の品質が、コンテキストとして使用される場合、39又は40の値は、それらの近さを利用せずに独立して取り扱われる。第2に、コンテキストセットが、データサイズに比べて非常に大きい(又は数えられない)場合、カウントベースのアプローチはうまく機能しない。これは、カウントの配列が非常にまばらになり、データが不十分になり、確率モデリングが貧弱になるためである。これは、より優れた予測及び圧縮をもたらす強力なコンテキストの使用を制限する。
[0064] これら問題は両方とも、より自然な予測フレームワークを提供するニューラルネットワーク/機械学習ベースのアプローチを使用して克服される。更に、ニューラルネットワーク/機械学習ベースのアプローチは、数値、カテゴリ、及び序数など、異なるタイプのコンテキストで機能できる。場合によっては、特に特殊なハードウェア又は並列計算が利用可能な場合、この圧縮の改善は、計算の複雑さの増加に見合う価値がある。ニューラルネットワークは、圧縮サイズに直接対応するエントロピ間の損失を使用してトレーニングできることに留意されたい。
[0065] 2つのアプローチの利点を要約すると、カウントベースのアプローチは計算コストが低く、適応モデルをトレーニングすることが容易である。一方、カウントベースのアプローチは、各コンテキスト値を個別に取り扱い(そうではない場合があり、貴重な洞察を提供する可能性がある)、様々なシンボルやコンテキストのカウントが不十分な場合に問題が発生する。ニューラルネットワーク/機械学習アプローチは、コンテキスト値全体の複雑な相互依存性を捉えることができ、大規模な/数え切れないほどの接触セットでうまく機能する。一方、ニューラルネットワーク/機械学習ベースのアプローチは、計算コストが高く、適応モデリングでのトレーニングが困難である。
[0066] 最後に、バイナリCABACエントロピコーダと比較して、通常ははるかに優れた圧縮を提供し、はるかに少ないパラメータしか必要としない現在の規格では、マルチシンボル算術コード化のサポートがない。CABAC符号化器には、計算に関して利点があるが、マルチシンボル算術コード化のサポートを提供すると、圧縮率と速度とのトレードオフが改善される可能性がある。
[0067] MPEG-G規格に対する変形の実施形態は、算術コード化と、ニューラルネットワーク又は機械学習ベースの予測モデリングと、静的、準適応、及び適応モデリングのためのサポートと、マルチシンボル算術コード化とのために使用される異なる記述子に基づいて、複数のコンテキストに対応するために提案される。全体として、これは、圧縮を改善するために記述子間の相関関係を捉えることができる、拡張性の高いフレームワークを提供する。静的モードは、データセットの集合からトレーニング済みのモデルを進化させ、その後、それを使用して圧縮を改善することもできる。
[0068] 簡略のために、説明ではマルチシンボル算術コード化が使用されているが、バイナリ算術コード化も、同様にして行うことができる。参照されているすべてのMPEG-Gという句は、MPEG-Gパート2(DIS ISO/IEC 23092-2 2nd Eidtion Coding of Genomic Information)に属する。
[0069] 第1の変更は、算術コード化がバイナリであるかマルチシンボルであるかを示す算術コード化タイプを追加することである。通常、マルチシンボルは一度に1バイトを符号化することに対応するが、これは場合によっては変更できる。現在、MPEG-G規格復号器構成は、シングルモードのみを含む(CABAC)。マルチシンボル算術コード化の追加モードは、encodigMode=1によって示される。そうではなくencodigMode=0の場合、CABACコード化が示される。
[0070] 別の変更は、予測子が、カウントベース、ニューラルネットワーク、又は機械学習ベースのいずれであるかを示す予測子タイプを追加することである。追加のフラグであるmodelTypeは、MPEG-G復号器構成に追加される。値0は、カウントベースのモデルを表す一方、値1は、ニューラルネットワークベースのモデルを表す。様々なアーキテクチャ及びモデルを包含する一般的なカテゴリとしてニューラルネットワークは、ロジスティック回帰やSVMなどの他のいくつかの機械学習フレームワークを包含することに留意されたい。このフレームワークは、決定木やランダムフォレストなどの(ニューラルネットワーク以外の)機械学習予測子を追加することで、より更に拡張される。これら異なるアプローチのおのおのは、使用される予測子のタイプを示すmodelType値を関連付けている。
[0071] modelTypeが1、即ちニューラルネットワークベースのモデルである場合、モデルアーキテクチャも、復号器構成の一部として指定される。モデルアーキテクチャは、MPEG-G規格からのgen_infoデータタイプを使用してJavaScript Object Notation(JSON)を使用して格納され、これによって、任意のデータを格納して、7zipで圧縮することができる。例として、Keras関数model.to_json()は、モデルアーキテクチャを表すJSON文字列を生成する。ニューラルネットワークの出力サイズは、算術符号化器に供給されるため、算術コード化におけるシンボル数と等しい必要があることに留意されたい。入力サイズは、使用されているコンテキストに依存する。ニューラルネットワークベースのモデルと同様に、他の機械学習モデルが、復号器構成の一部として指定される。
[0072] 別の変更は、トレーニングモードが、静的、準適応、又は適応のいずれであるかを示すトレーニングモードを追加することである。これによって、トレーニングモードを選択することが可能となる。
[0073] トレーニングモードは、追加フラグinitializationType及びadaptiveLearningを、復号器構成に追加することによって指定できる。可能な値と、それぞれの説明とが、以下に与えられる。
[0074] initiationType=0のとき、静的初期化が示される。この場合、符号化器と復号器との両方に利用可能な標準モデルが、圧縮のための初期モデルとして使用される。追加の変数modelURI(モデルユニフォームリソース識別子)を使用して、通常は標準モデルリポジトリの一部であるモデルパラメータ(重み)にアクセスする。これは、知られているシードを用いてランダムに初期化されたモデルをも指す。前述のように、モデルアーキテクチャは(例えば、JSONフォーマットで)既に指定されていることに留意されたい。
[0075] initializationType=1の場合、準適応初期化が示される。この場合、モデルは、圧縮ファイルの一部として、変数savedModelに格納される。モデルは、(例えば、Kerasで使用されているように)ニューラルネットワークのためのHierarchical Data Formatバージョン5(HDF5)形式である。カウントベースのフレームワークの場合、モデルは各(コンテキスト、シンボル)ペアのカウントだけで構成される。savedModel変数は、gen_infoタイプであり、7-zipで圧縮され、モデルサイズを縮小することができる。
[0076] 圧縮/伸張プロセス中に適応学習が使用されるか否かを制御するために、フラグadaptiveLearningが使用される。1(真)に設定され、modelTypeが1(ニューラルネットワーク)である場合、以下の追加の変数を使用して、トレーニング手順と頻度を記述し、trainingAlgorithmは、トレーニングのためのアルゴリズム(例えば、Adam、確率的勾配降下法(SGD)、Adagradなど)を選択し、trainingAlgorithmParametersは、JSONフォーマットのトレーニングアルゴリズム、特に学習率のパラメータのセットであり、trainingFrequencyは、モデル更新ステップの頻度(例えば、シンボル毎後、1000シンボル毎後など)であり、各トレーニングステップで、前の「trainingFrequency」シンボル(例えば、trainingFrequency=1000の場合、前の1000シンボル)は、トレーニングデータとして使用されるため、効率的な更新が可能であり、また、trainingEpochsは、各モデル更新ステップで実行されるトレーニングのエポック数を示す。初期モデルが既にトレーニングされている場合は、学習率を低く保つ必要があることに留意されたい。そのような場合、モデルの微調整に、適応学習を使用する必要がある。
[0077] modelTypeが、カウントベースのモデルを示す0である場合、更新は、ステップ毎に実行され、(コンテキスト、シンボル)ペアに対応するカウントは、1つインクリメントされる。高速な選択的アクセスを可能にするために、トレーニングは、各アクセスユニットで独立して実行されることに留意されたい。
[0078] 現在、許可されている唯一のコンテキストは、前のシンボルであり、復号のために使用されるこれらの数は、0,1又は2であるMPEG-G規格におけるcoding_order変数によって決定される。coding_orderは、状態変数として内部的に保持されている以前に復号されたシンボルの数を通知し、次のシンボルを復号するために使用される。変数mmtype及びrfttの特別なケースでは、特別な依存関係が、MPEG-G規格で定義されているが、これはあまり体系的ではなく、これら依存関係は、コード化順序を制限する前のシンボルとして取り扱われ、意味的に正しくない。
[0079] MPEG-G規格において、新しい変数を導入することによって多数のコンテキストを組み込む方法は、以下の変数、coding_order,num_additional_contexts,context_type及びrangeを含む。変数coding_orderは、以前と同じ意味である。ニューラルネットワークベースの予測子は、より大きなコンテキストで非常にうまく機能するため、変数coding_orderは、2より大きい。変数num_additional_contextsは、使用される追加のコンテキストの数を示す。
[0080] 変数context_typeは、コンテキストのタイプを示し、追加のコンテキスト毎に、追加の値が追加される。コンテキストのタイプは、以下の可能なカテゴリ、即ち、descriptor,output_variable,internal_variable及びcomputed_variableを含む。変数記述子は、コンテキストが別の記述子(例えば、pos又はrcomp)の値であることを示す。この場合、特定の記述子ID及びサブ配列IDも指定される。変数output_variableは、コンテキストが、復号されたMPEG-Gレコード内の、例えばsequence,quality_values等の変数のうちの1つの値であることを示す。output_variableの名前が指定される。変数internal_variableは、コンテキストが、復号プロセス中に計算された内部変数(例えば、mismatchOffsets)であることを示す。内部変数の名前が指定される。標準テキストで定義された内部変数のみが認識されることに留意されたい。変数computed_variableは、内部変数から計算される変数であるが、それ自体は規格で指定されていない。この場合、この変数を計算する関数がcontextComputationFunctionとして含まれている(この関数の実行可能ファイルは、コンピューティングプラットフォーム間の相互運用性を可能にするために、標準化された仮想マシンで実行できる)。悪意のあるコードを防止するために、この関数は、信頼できる機関からのデジタル署名を含む。これは、「現在のゲノム位置にマッピングされた以前に復号されたすべての塩基の平均品質スコア」などの複雑なコンテキストを実施するのに役立つ。
[0081] 可変範囲は、適用可能な場合はいつでも、各追加コンテキストの範囲を示す。これは、変数が配列であり、値のサブセットのみが復号に使用される場合に適用可能である。開始位置及び終了位置に加えて、可変範囲は、rangeFlagを使用して、範囲が配列の開始に対して説明されているか、又は配列内の現在位置に対して説明されているかを示す。配列の境界位置では、範囲が制限を超える場合、(defaultContext変数で指定されるような)デフォルト値が使用される。例えば、リードシーケンスの基準配列が、品質値の圧縮のためのコンテキストとして使用される場合、範囲は、現在位置に関して指定でき、[-3,3]の範囲は、現在位置を中心としたサイズ7のコンテキストを使用していることを意味する。
[0082] 異なる変数の依存性グラフは、循環を含むべきではなく、即ち、依存性グラフは、有向非巡回グラフ(DAG)であるべきであることに留意されたい。有効な依存性グラフの例として、変数1は、依存関係なしで符号化され、変数2は、コンテキストとして変数1に依存して符号化され、変数3は、変数1及び変数2に依存して符号化され、変数4は、変数2に依存して符号化される。
[0083] 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_additional_contexts,context_type(descriptor,output_variable,internal_variable,computed_variable)、及び/又は範囲を含む。
[0084] 更に、modelType=1(230)(即ち、機械学習)の場合、トレーニングモード215に入る。この場合、機械学習モデルアーキテクチャは、例えばJSON表現を使用して指定される。InitializationType=0(245)の場合、トレーニングモード215では、静的初期化が示され、modelURIは、モデルパラメータを指す。InitializationType=1(250)の場合、トレーニングモード215では、準適応型の初期化が示され、savedModelは、モデルパラメータを、圧縮ファイルの一部として含む。次に、adaptiveLearning=0(255)の場合、モデルのトレーニングに適応学習は使用されない。adaptiveLearning=1(260)の場合、モデルのトレーニングに適応学習が使用され、以下のパラメータ、即ち、trainingAlgorithm,trainingAlgorithmParameters,trainingFrequency及びtrainingEpochsが指定される。その後、トレーニングモード215は、必要なパラメータを、予測コンテキスト設定220に格納する。
[0085] 2020年2月7日に出願された「Improved quality value compression framework in aligned sequencing data based on novel contexts」という名称の別の米国特許出願第62/971,293号(これは、あたかも本明細書に含まれているかのように、すべての目的のために本明細書に組み込まれる)で説明されているように、品質値圧縮は、リード内の位置、リード内の近くの塩基、基準内の近くの塩基、塩基におけるエラーの存在とタイプ、ゲノム座標における平均品質値、及び整列情報から取得された他のコンテキストのようなコンテキストを組み込むことによって改善される。その特許出願では、コンテキストを選択する方法論と、ニューラルネットワークベースの予測ではなくカウントベースの予測を使用することとの長所及び短所についても詳しく説明している。その開示における結果は、計算コストが高くなるが、CABACと比較してパラメータ最適化に関して、はるかに単純なマルチシンボル算術コード化に基づく。
[0086] 図3は、変更されたMPEG-G規格を使用してデータを符号化するための方法を示す。これは汎用符号化器の典型的な方法である。いくつかの実施形態では、いくつかのステップがデフォルトである。例えば、算術符号化タイプの選択は、様々なオプションから選択する代わりに、例えばバイナリ算術コード化のようなデフォルト選択を使用する。また、トレーニングモードは、常に複雑な選択を伴うとは限らず、例えば、静的トレーニングの場合、少なくとも部分的に付け加えられる。しかしながら、トレーニングモードに関するいくつかの指標値は、普遍的な定義に従って設定される。符号化方法200は、205で開始し、その後、符号化方法200は、符号化されるデータを受け取る(210)。本願では、そのようなデータは、様々なゲノムデータ、関連するメタデータ、品質値などである。次に、符号化パラメータが、受け取られる(215)。符号化パラメータは、ユーザによって選択され、符号化方法200に提供され、構成ファイルに含まれるか、又は、符号化されるデータのタイプ及び/又は利用可能な計算リソースを解析することに基づいて決定される(例えば、算術コード化タイプencodingModeは、符号化されるデータのフォーマットに基づいて選択されるか、又は、modelTypeは、トレーニングのために利用可能なデータ量と、利用可能な処理リソースとに基づいて選択される)。次に、符号化方法200は、算術符号化タイプを選択する(220)。これは、受け取った符号化パラメータに基づき、変数encodingModeによって示されるように、バイナリ又はマルチシンボル算術符号化を含む。
[0087] その後、符号化方法200は、変数modelTypeに基づいて予測子タイプを選択する(225)。上記で説明したように、これはCABAC、ニューラルネットワークベースの予測子、又は他のタイプの機械学習又は他のタイプの予測子を示す。次に、符号化方法200は、変数initializationTypeに基づいてトレーニングモードを選択する(230)。また、変数adaptiveLearningは、符号化中に適応学習が使用されるか否かを示す。その後、方法200は、トレーニングモードを選択する(230)。トレーニングモードは、前述した様々なトレーニングパラメータによって定義される。次に、方法200は、上記で定義された様々な変数に基づいてコンテキストを選択する(235)。
[0088] 次に、方法200は、符号化器をトレーニングする(240)。このトレーニングは、予測子タイプに依存し、つまり、カウントベース又はニューラルネットワークベースである。更に、様々なトレーニングパラメータは、トレーニングがどのように進行するかのみならず、使用されるトレーニング方法も定義する。その後、データを符号化するために、トレーニングされた符号化器が使用される(245)。適応予測子が使用される場合、符号化が進行すると予測子が更新される。更に、符号化されたデータには、上記で定義された様々な符号化パラメータが付加される。その後、方法200は、250で停止する。
[0089] 図4は、変更されたMPEG-G規格を使用してデータを復号するための方法を示す。これは例示的な復号である。符号化と同様に、一部のステップをデフォルトとできることに留意されたい。例えば、算術復号タイプが、マルチレベル(又はバイナリ)に固定され、予測タイプとコンテキスト情報のみが、符号化器によって実際に通信され、復号器によって事前に構成される。そのような場合、符号化パラメータは通常、予測タイプ及びコンテキストを規定するが、算術復号タイプを規定しない。復号方法300は305で開始し、その後、復号方法300は、復号されるデータを受け取る(310)。符号化されたデータは、様々なゲノムデータ、関連するメタデータ、品質値等を含む。次に、符号化されたデータから、符号化パラメータが抽出される(315)。復号方法300は、算術符号化タイプを選択する(320)。これは、抽出された符号化パラメータに基づき、変数encodingModeによって示されるように、バイナリ又はマルチシンボル算術符号化を含む。
[0090] 復号方法300は、その後、抽出された変数modelTypeに基づいて予測子タイプを選択する(325)。上記で説明したように、これは、カウントベースの予測子、ニューラルネットワークベースの予測子、又は他のタイプの機械学習又は他のタイプの予測子を示す。ニューラルネットワーク又は機械学習ベースの予測子が使用される場合、これらモデルの定義も、符号化パラメータから抽出される。次に、方法300は、上記で定義された様々な変数に基づいてコンテキストを選択する(330)。
[0091] その後、復号器を使用して、様々な符号化パラメータ及び予測子モデルに基づいて、データを復号する(335)。適応予測子が使用される場合、予測子は、復号が進行するにつれて更新される。その後、方法300は340で停止する。
[0092] 図5は、符号化/復号システムのための例示的なハードウェア図400を示す。図示されるように、デバイス400は、1つ又は複数のシステムバス410を介して相互接続された、プロセッサ420、メモリ430、ユーザインターフェース440、ネットワークインターフェース450、及びストレージ460を含む。図5は、いくつかの点で抽象化を構成し、デバイス400の構成要素の実際の構成は、例示されているよりも複雑であると理解される。
[0093] プロセッサ420は、メモリ430又はストレージ460に格納された命令を実行できるか、又はデータを処理できる、任意のハードウェアデバイスである。したがって、プロセッサは、マイクロプロセッサ、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、並列計算が可能な任意のプロセッサ、又は他の同様のデバイスを含む。プロセッサは、機械学習モデルを実施する特別なプロセッサでもある。
[0094] メモリ430は、例えば、L1,L2又はL3のキャッシュ又はシステムメモリなどの様々なメモリを含む。したがって、メモリ430は、静的ランダムアクセスメモリ(SRAM)、動的RAM(DRAM)、フラッシュメモリ、読取専用メモリ(ROM)、又は他の同様のメモリデバイスを含む。
[0095] ユーザインターフェース440は、ユーザとの通信を可能にするための1つ又は複数のデバイスを含み、ユーザに情報を提示する。例えば、ユーザインターフェース440は、ユーザコマンドを受け取るためのディスプレイ、タッチインターフェース、マウス、及び/又はキーボードを含む。いくつかの実施形態では、ユーザインターフェース440は、ネットワークインターフェース450を介してリモート端末に提示されるコマンドラインインターフェース又はグラフィカルユーザインターフェースを含む。
[0096] ネットワークインターフェース450は、他のハードウェアデバイスとの通信を可能にするための1つ又は複数のデバイスを含む。例えば、ネットワークインターフェース450は、イーサネットプロトコル、又はワイヤレスプロトコルを含む他の通信プロトコルに従って通信するように構成されたネットワークインターフェースカード(NIC)を含む。それに加えて、ネットワークインターフェース450は、TCP/IPプロトコルに従って通信するためのTCP/IPスタックを実施する。ネットワークインターフェース450のための様々な代替又は追加のハードウェア又は構成が明らかとなろう。
[0097] ストレージ460は、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、又は同様の記憶媒体などの1つ又は複数の機械可読記憶媒体を含む。様々な実施形態において、ストレージ460は、プロセッサ420による実行のための命令、又はプロセッサ420が動作するデータを格納する。例えば、ストレージ460は、ハードウェア400の様々な基本動作を制御するための基本オペレーティングシステム461を格納する。ストレージ462は、変更されたMPEG-G規格に従って、データの符号化又は復号を実施するための命令を格納する。
[0098] ストレージ460に格納されると説明された様々な情報は、追加的又は代替的にメモリ430に格納されることが明らかであろう。この点において、メモリ430は「ストレージデバイス」を構成すると考えられ、ストレージ460は、「メモリ」と考えられる。他の様々な構成が明らかになる。更に、メモリ430及びストレージ460は両方とも、「非一時的な機械可読媒体」と見なされる。本明細書で使用されるように、「非一時的」という用語は、一時的な信号を除外するが、揮発性メモリと不揮発性メモリとの両方を含むすべての形式のストレージを含むと理解される。
[0099] システム400は、説明された各構成要素のうちの1つを含むものとして図示されているが、様々な構成要素が、様々な実施形態で複製される。例えば、プロセッサ420は、複数のプロセッサが協働して、本明細書に記載の機能を達成するように、本明細書で説明された方法を独立して実行するように構成された、又は、本明細書で説明された方法のステップ又はサブルーチンを実行するように構成された、複数のマイクロプロセッサを含む。そのような複数のプロセッサは、同じ又は異なるタイプのものである。更に、デバイス400が、クラウドコンピューティングシステムで実施される場合、様々なハードウェア構成要素は、別個の物理システムに属する。例えば、プロセッサ420は、第1のサーバに第1のプロセッサを含み、第2のサーバに第2のプロセッサを含む。
[00100] 本明細書で説明された符号化/復号方法及びシステムは、現在のMPEG-G規格に対する技術的改善を提供する。本明細書で説明された方法及びシステムは、異なる予測子モデルを追加するための、異なるタイプの算術符号化を可能にするための、及び遺伝子データの符号化/復号のための予測モデルのトレーニングに、追加のコンテキストを含める機能を提供するための、機能を含む。本明細書で説明された、これら及び他の追加機能により、データ内の他の追加情報を利用して、データの圧縮率を高めることができる。これにより、遺伝子データのストレージを低減することができ、更なる分析のために、より完全なゲノムを格納する際に、大きな利点を有する。また、追加の柔軟性により、圧縮の増加と、圧縮の増加を達成するために必要な追加の計算リソースとの間のバランスをとるために利用可能な計算リソース及びストレージリソースに基づいて、符号化の決定を行うことが可能となる。
[00101] 本発明の実施形態を実施するためにプロセッサにおいて実行される特定のソフトウェアの任意の組合せは、特定の専用マシンを構成する。
[00102] 本明細書で使用されるように、「非一時的な機械可読記憶媒体」という用語は、一時的な搬送信号を除外するが、揮発性及び不揮発性のメモリのすべての形態を含むと理解される。
[00103] 図6は、機械学習ベースの適応確率モデルの一般的な概念を説明するために、品質値(Q1~Q4)のための4つの可能な値のアルファベットにおけるシンボルの確率の予測子として、ニューラルネットワークを使用する、コンテキスト適応算術復号器の例を示す。一般に、アルファベットにおけるシンボルは、様々な量子化された品質レベルに対応し、例えば、Q1が、最低の品質で、Q4が、最高の品質である。算術復号回路601は、符号化されたデータS_encを、復号されたデータS_decに復号できるように、4つの可能な出力シンボル(P(Q1)~P(Q4))の現在の確率を再度知る必要がある。したがって、算術復号の原理を使用して、正規化された間隔[0.0-1.0]の位置と、対応する分数のバイナリ表現とから、現在の入力ビットのセットが、Q1などの現在の品質レベルを符号化することがわかる。カウントしている場合、復号器は、通常、次のシンボル復号のモデルの確率を更新する(例えば、Q1が復号されたため、品質スコアQ1及び品質スコアQ2が低いほど、次の復号の可能性が高くなる)。出力シンボルの確率は、ニューラルネットワーク回路602によって推測される。説明したように、データの符号化及び復号に何が最も有益であるかに応じて、様々なトポロジ及び様々な更新手法が使用される。この例における説明のために、コンテキストは、例えば、正規化された間隔におけるように、入力表現への適切な変換の後、入力ノード610から入力ノード614に供給される入力のいくつかのカテゴリからなる。これは、非常に一般的なコンテキストを使用できる。例えば、現在復号されている量の、単に前の2つの復号された値の代わりに、品質スコアトラック、前のスコアQ(-1)、及び5つ前の位置のスコアQ(-5)は、ニューラルネットワークへの入力として、コンテキストの一部である。いくつかの実施形態では、どの量を入力ノードに送るかを設定する更なる回路(図示せず)が存在するが、これはニューラルネットワークであり、ニューラルネットワークは、(ほぼ)ゼロである重みを最適化することにより、一部の入力が予測にとって重要ではないことを学習できるため、大量の入力量のセットを直ちに入力できる。また、一部の入力ノードが、まったく異なるコンテキスト量を取得することもわかり、例えば、入力ノード612及び入力ノード613は、前の復号されたシンボル位置B(-1)及び前の位置B(-2)で決定された核酸塩基を得る。このようにして、ネットワークは、特定の配列決定技術が、例えば、N個の連続するチミン塩基の実行を正確に決定することが困難であるか否かを知ることができ、これは、(符号化側と復号側との両方で)生の品質データ、及び、最適なコード化の統計に表れる。コンテキストを決定する無関係なパラメータ、即ち現在の塩基のセットが復号される染色体上の位置POS_Cの例も図示される。当業者は、異なるコンテキストに対して、同じフレームワークがどのように使用されるかを理解する。
[00104] ニューラルネットワーク構成回路650は、必要に応じて、ニューラルネットワークが、データセットの異なる確率的挙動に対して最適化できるように、ニューラルネットワークを定期的に設定することができる(例えば、染色体の下部は、上部とは異なって最適化されたニューラルネットワークで、より良好に符号化される)。構成に応じて、この回路は、対応するサブユニットで異なるタスクを実行する。例えば、(例えば、特に最後の1000の復号された核酸塩基と、その品質スコアのために)最近の一連のコンテキストで、まったく同じニューラルネットワークトポロジのトレーニングフェーズを並行して実行する。その後、現在のシンボルを復号する前に、すべての重みを最適値に置き換える。ニューラルネットワーク構成回路650は、通常、符号化パラメータデータパーサ660へのアクセスを有する。塩基の配列全体に適した静的ニューラルネットワークの場合、このパーサは、符号化されたデータ信号から重みを読み取り、ニューラルネットワーク構成回路650を介して、復号の開始前にそれらをニューラルネットワーク回路602に一度ロードする。ニューラルネットワーク確率モデル、又は継続的に更新、つまり再最適化を行う他の機械学習モデルの場合、パーサは、最初のいくつかの符号化されたシンボルを復号するために、ニューラルネットワーク回路602による確率計算のための開始重みを同様に設定する。
[00105] このネットワークトポロジには、1つの隠れ層(ノード620~ノード623)が図示されている。入力ノードの値を、それぞれの重みw1,1などで重み付けし、結果を合計する。このように、1つ又は場合によっては多くの隠れ層を使用することによって、ネットワークは、様々な相互依存性を学習でき、次のシンボルを予測するための非常に高品質の確率モデルにつなげることができる。出力ノードは通常、活性化関数630の後に続き、確率を表す。例えば。出力ノード631は、現在の品質が、第1の品質(例えば、最悪の品質スコア)となる確率を表し、例えば、それは0.25である。この例は、本明細書に提示された技術的原理に従って同様に設計できるいくつかの変形のうちの1つを例として図示しているに過ぎない。また、算術符号化は、純粋なデータ、つまりバイナリ又は非バイナリのアルファベットシンボルの無損失の符号化として機能するため、生データと、初期予測アルゴリズムによって既に予測されているデータとの両方で使用できることに留意されたい(つまり、初期予測のモデルパラメータ、及び/又は、予測と実際の生データとの間の残差、の両方に対する算術符号化器及び復号器を実行できる)。
[00106] 様々な例示的な実施形態が、その特定の例示的態様を特に参照して詳細に説明されたが、本発明は他の実施形態が可能であり、その詳細は様々な明白な観点で変形可能であることを理解されたい。当業者に容易に明らかなように、本発明の精神及び範囲内に留まりながら、変更及び変形を行うことができる。したがって、前述の開示、説明、及び図は、例示のみを目的としており、特許請求の範囲によってのみ定義される本発明を決して限定するものではない。
Claims (45)
- ゲノム情報のMPEG-G符号化されたデータを復号するための方法であって、
MPEG-G符号化されたデータを受け取るステップと、
MPEG-G符号化された前記データから、符号化パラメータを抽出するステップと、
抽出された前記符号化パラメータに基づいて、算術復号タイプを選択するステップと、
抽出された前記符号化パラメータに基づいて、前記データを算術的に符号化するために使用されたシンボルの確率を取得するための方法を指定する予測子タイプを選択するステップと、
抽出された前記符号化パラメータに基づいて、算術コード化コンテキストを選択するステップと、
選択された予測子と、選択された前記算術コード化コンテキストとを使用して、符号化された前記データを復号するステップとを有する、方法。 - 算術符号化タイプは、バイナリコード化及びマルチシンボルコード化のうちの1つである、請求項1に記載の方法。
- 前記予測子タイプは、カウントベースのタイプ又は機械学習モデルタイプのうちの1つである、請求項1に記載の方法。
- 前記予測子タイプは、機械学習モデルを識別するとき、前記符号化パラメータは更に、前記機械学習モデルの定義を含む、請求項3に記載の方法。
- 抽出された前記符号化パラメータは、トレーニングモードデータを含み、前記トレーニングモードデータは、算術的に符号化されるシンボルの確率を予測するためのモデルが、復号時に経時的にどのように変化するのかを指定する、請求項1に記載の方法。
- 前記トレーニングモードデータは、静的トレーニングモード、準適応トレーニングモード、及び適応トレーニングモードのうちの1つを含む初期化タイプを含む、請求項5に記載の方法。
- 前記トレーニングモードデータは、トレーニングアルゴリズム定義、トレーニングアルゴリズムパラメータ、トレーニング頻度、及びトレーニングエポックのうちの1つを含む、請求項5に記載の方法。
- 抽出された前記符号化パラメータは、コンテキストデータを含む、請求項1に記載の方法。
- 前記コンテキストデータは、コード化順序、使用される追加のコンテキストの数、コンテキストタイプ、及び範囲のうちの1つを含む、請求項8に記載の方法。
- 前記コンテキストデータは範囲フラグを含む、請求項8に記載の方法。
- 前記コンテキストデータは、コンテキスト記述子、コンテキスト出力変数、コンテキスト内部変数、コンテキスト計算変数、及びコンテキスト計算関数のうちの1つを含む、請求項8に記載の方法。
- MPEG-G符号化されたデータを符号化するための方法であって、前記方法は、
データを符号化するために使用される符号化パラメータを受け取るステップであって、符号化パラメータは、コード化されていないゲノム情報が、どのように符号化されるのかを指定する、当該受け取るステップと、
受け取られた前記符号化パラメータに基づいて、算術符号化タイプを選択するステップと、
受け取られた前記符号化パラメータに基づいて、前記データを算術的に符号化するために使用されるシンボルの確率を取得するための方法を指定する予測子タイプを選択するステップと、
受け取られた前記符号化パラメータに基づいて、トレーニングモードを選択するステップと、
受け取られた前記符号化パラメータに基づいて、算術符号化コンテキストを選択するステップと、
受け取られた前記符号化パラメータに基づいて、符号化器をトレーニングするステップと、
トレーニングされた前記符号化器を使用して、前記データを符号化するステップとを有する、方法。 - 前記算術符号化タイプは、バイナリコード化及びマルチシンボルコード化のうちの1つである、請求項12に記載の方法。
- 前記予測子タイプは、カウントベースのタイプ又は機械学習モデルタイプのうちの1つである、請求項12に記載の方法。
- 前記予測子タイプが機械学習モデルを識別するとき、前記符号化パラメータは更に、前記機械学習モデルの定義を含む、請求項14に記載の方法。
- 抽出された前記符号化パラメータは、トレーニングモードデータを含む、請求項12に記載の方法。
- 前記トレーニングモードデータは、静的トレーニングモード、準適応トレーニングモード、及び適応トレーニングモードのうちの1つを含む初期化タイプを含む、請求項16に記載の方法。
- 前記トレーニングモードデータは、トレーニングアルゴリズム定義、トレーニングアルゴリズムパラメータ、トレーニング頻度、及びトレーニングエポックのうちの1つを含む、請求項16に記載の方法。
- 抽出された前記符号化パラメータは、コンテキストデータを含む、請求項12に記載の方法。
- 前記コンテキストデータは、コード化順序、使用される追加のコンテキストの数、コンテキストタイプ、及び範囲のうちの1つを含む、請求項19に記載の方法。
- 前記コンテキストデータは、範囲フラグを含む、請求項19に記載の方法。
- 前記コンテキストデータは、コンテキスト記述子、コンテキスト出力変数、コンテキスト内部変数、コンテキスト計算変数、及びコンテキスト計算関数のうちの1つを含む、請求項19に記載の方法。
- MPEG-G符号化されたデータを復号するためのシステムであって、
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサは更に、
MPEG-G符号化されたデータを受け取り、
符号化された前記データから符号化パラメータを抽出し、
抽出された前記符号化パラメータに基づいて、算術符号化タイプを選択し、
抽出された前記符号化パラメータに基づいて、前記データを算術的に符号化するために使用されたシンボルの確率を取得するための方法を指定する予測子タイプを選択し、
抽出された前記符号化パラメータに基づいて、算術符号化コンテキストを選択し、
選択された前記予測子タイプと、選択された前記算術符号化コンテキストとを使用して、符号化された前記データを復号する、システム。 - 前記算術符号化タイプは、バイナリコード化及びマルチシンボルコード化のうちの1つである、請求項23に記載のシステム。
- 前記予測子タイプは、カウントベースのタイプ又は機械学習モデルタイプのうちの1つである、請求項23に記載のシステム。
- 前記予測子タイプが機械学習モデルを識別するとき、前記符号化パラメータは更に、前記機械学習モデルの定義を含む、請求項25に記載のシステム。
- 抽出された前記符号化パラメータは、トレーニングモードデータを含む、請求項23に記載のシステム。
- 前記トレーニングモードデータは、静的トレーニングモード、準適応トレーニングモード、及び適応トレーニングモードのうちの1つを含む初期化タイプを含む、請求項27に記載のシステム。
- 前記トレーニングモードデータは、トレーニングアルゴリズム定義、トレーニングアルゴリズムパラメータ、トレーニング頻度、及びトレーニングエポックのうちの1つを含む、請求項27に記載のシステム。
- 抽出された前記符号化パラメータは、コンテキストデータを含む、請求項23に記載のシステム。
- 前記コンテキストデータは、コード化順序、使用される追加のコンテキストの数、コンテキストタイプ、及び範囲のうちの1つを含む、請求項30に記載のシステム。
- 前記コンテキストデータは、範囲フラグを含む、請求項30に記載のシステム。
- 前記コンテキストデータは、コンテキスト記述子、コンテキスト出力変数、コンテキスト内部変数、コンテキスト計算変数、及びコンテキスト計算関数のうちの1つを含む、請求項30に記載のシステム。
- MPEG-G符号化されたデータを符号化するためのシステムであって、
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサは更に、
データを符号化するために使用される符号化パラメータを受け取り、ここで、符号化パラメータは、コード化されていないゲノム情報がどのように符号化されるのかを指定し、
受け取った前記符号化パラメータに基づいて、算術符号化タイプを選択し、
受け取った前記符号化パラメータに基づいて、前記データを算術的に符号化するために使用されるシンボルの確率を取得するための方法を指定する予測子タイプを選択し、
受け取った前記符号化パラメータに基づいて、トレーニングモードを選択し、
受け取った前記符号化パラメータに基づいて、算術符号化コンテキストを選択し、
受け取った前記符号化パラメータに基づいて、符号化器をトレーニングし、
トレーニングされた前記符号化器を使用して、前記データを符号化する、システム。 - 前記算術符号化タイプは、バイナリコード化及びマルチシンボルコード化のうちの1つである、請求項34に記載のシステム。
- 前記予測子タイプは、カウントベースのタイプ又は機械学習モデルのタイプのうちの1つである、請求項34に記載のシステム。
- 前記予測子タイプが機械学習モデルを識別するとき、前記符号化パラメータは更に、前記機械学習モデルの定義を含む、請求項36に記載のシステム。
- 抽出された前記符号化パラメータは、トレーニングモードデータを含む、請求項34に記載のシステム。
- 前記トレーニングモードデータは、静的トレーニングモード、準適応トレーニングモード、及び適応トレーニングモードのうちの1つを含む初期化タイプを含む、請求項38に記載のシステム。
- 前記トレーニングモードデータは、トレーニングアルゴリズム定義、トレーニングアルゴリズムパラメータ、トレーニング頻度、及びトレーニングエポックのうちの1つを含む、請求項38に記載のシステム。
- 抽出された前記符号化パラメータは、コンテキストデータを含む、請求項34に記載のシステム。
- 前記コンテキストデータは、コード化順序、使用される追加のコンテキストの数、コンテキストタイプ、及び範囲のうちの1つを含む、請求項41に記載のシステム。
- 前記コンテキストデータは、範囲フラグを含む、請求項41に記載のシステム。
- 前記コンテキストデータは、コンテキスト記述子、コンテキスト出力変数、コンテキスト内部変数、コンテキスト計算変数、及びコンテキスト計算関数のうちの1つを含む、請求項41に記載のシステム。
- データ通信チャネルに接続可能なデータ出力を備え、前記データ出力を介して符号化された前記データ及び前記符号化パラメータを出力する、請求項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 (2)
Publication Number | Publication Date |
---|---|
JP2023535131A true JP2023535131A (ja) | 2023-08-16 |
JPWO2022008311A5 JPWO2022008311A5 (ja) | 2023-08-23 |
Family
ID=76920753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023500391A Pending JP2023535131A (ja) | 2020-07-10 | 2021-06-30 | 構成可能な機械学習ベースの算術コード化によるゲノム情報圧縮 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230253074A1 (ja) |
EP (1) | EP4179539A1 (ja) |
JP (1) | JP2023535131A (ja) |
CN (1) | CN116018647A (ja) |
WO (1) | WO2022008311A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7478835B2 (ja) | 2021-01-04 | 2024-05-07 | テンセント・アメリカ・エルエルシー | 符号化ビデオストリームにおいてニューラルネットワークトポロジ及びパラメータを伝達するための技術 |
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 |
---|---|---|---|---|
LT3343781T (lt) * | 2011-06-16 | 2022-03-10 | Ge Video Compression, Llc | Konteksto inicijavimas entropinio kodavimo metu |
JP7324145B2 (ja) * | 2017-02-14 | 2023-08-09 | ゲノムシス エスエー | ゲノムシーケンスリードの効率的圧縮のための方法及びシステム |
CN108306650A (zh) * | 2018-01-16 | 2018-07-20 | 厦门极元科技有限公司 | 基因测序数据的压缩方法 |
BR112022015328A2 (pt) * | 2020-02-07 | 2022-09-27 | Koninklijke Philips Nv | Método e sistema para compressão de informações |
-
2021
- 2021-06-30 WO PCT/EP2021/067960 patent/WO2022008311A1/en unknown
- 2021-06-30 EP EP21742062.9A patent/EP4179539A1/en active Pending
- 2021-06-30 CN CN202180056542.9A patent/CN116018647A/zh active Pending
- 2021-06-30 US US18/015,089 patent/US20230253074A1/en active Pending
- 2021-06-30 JP JP2023500391A patent/JP2023535131A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7478835B2 (ja) | 2021-01-04 | 2024-05-07 | テンセント・アメリカ・エルエルシー | 符号化ビデオストリームにおいてニューラルネットワークトポロジ及びパラメータを伝達するための技術 |
Also Published As
Publication number | Publication date |
---|---|
CN116018647A (zh) | 2023-04-25 |
EP4179539A1 (en) | 2023-05-17 |
US20230253074A1 (en) | 2023-08-10 |
WO2022008311A1 (en) | 2022-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023535131A (ja) | 構成可能な機械学習ベースの算術コード化によるゲノム情報圧縮 | |
EP3534283B1 (en) | Classification of source data by neural network processing | |
Benoit et al. | Reference-free compression of high throughput sequencing data with a probabilistic de Bruijn graph | |
EP3534284B1 (en) | Classification of source data by neural network processing | |
US20210185066A1 (en) | Detecting anomalous application messages in telecommunication networks | |
US8929402B1 (en) | Systems and methods for compressing packet data by predicting subsequent data | |
JP7372347B2 (ja) | データ圧縮方法およびコンピューティングデバイス | |
Yu et al. | Two-level data compression using machine learning in time series database | |
Knoll et al. | A machine learning perspective on predictive coding with PAQ8 | |
US9569285B2 (en) | Method and system for message handling | |
CN111105029A (zh) | 神经网络的生成方法、生成装置和电子设备 | |
Khalatbari et al. | MCP: a multi-component learning machine to predict protein secondary structure | |
Zheng et al. | In-network machine learning using programmable network devices: A survey | |
CN114334013A (zh) | 一种单细胞聚类方法、装置、设备及可读存储介质 | |
US20240046093A1 (en) | Decoder, encoder, controller, method and computer program for updating neural network parameters using node information | |
Tabus et al. | Classification and feature gene selection using the normalized maximum likelihood model for discrete regression | |
JP2021072540A (ja) | 画像符号化装置、復号装置、伝送システム、及びその制御方法 | |
US11823774B2 (en) | Compression/decompression method and apparatus for genomic variant call data | |
CN113485829B (zh) | 用于微服务集群的数据增量步段的标识值生成方法 | |
Onokpasa et al. | RNA secondary structures: from ab initio prediction to better compression, and back | |
CN110915140B (zh) | 用于编码和解码数据结构的质量值的方法 | |
Hwang et al. | Genetic entropy-constrained vector quantizer design algorithm | |
Siemens et al. | Internet of Things Data Transfer Method Using Neural Network Autoencoder | |
CN115088038A (zh) | 基于新上下文的经比对的测序数据中的改进质量值压缩框架 | |
US20240086068A1 (en) | System and method for data compaction utilizing distributed codebook encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230810 |