(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-12
(54)【発明の名称】時間相関単一光子計数からの時間タグ付きデータを圧縮するための方法
(51)【国際特許分類】
G01N 21/64 20060101AFI20231004BHJP
H03M 7/40 20060101ALI20231004BHJP
G02B 21/00 20060101ALN20231004BHJP
【FI】
G01N21/64 B
H03M7/40
G01N21/64 E
G02B21/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023517956
(86)(22)【出願日】2021-09-20
(85)【翻訳文提出日】2023-04-17
(86)【国際出願番号】 EP2021075779
(87)【国際公開番号】W WO2022058583
(87)【国際公開日】2022-03-24
(32)【優先日】2020-09-18
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】511079735
【氏名又は名称】ライカ マイクロシステムズ シーエムエス ゲゼルシャフト ミット ベシュレンクテル ハフツング
【氏名又は名称原語表記】Leica Microsystems CMS GmbH
【住所又は居所原語表記】Ernst-Leitz-Strasse 17-37, D-35578 Wetzlar, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】フランク ヘヒト
【テーマコード(参考)】
2G043
2H052
5J064
【Fターム(参考)】
2G043AA03
2G043BA16
2G043CA04
2G043DA02
2G043EA01
2G043FA01
2G043FA02
2G043FA03
2G043LA03
2G043NA01
2G043NA04
2G043NA05
2G043NA06
2H052AA08
2H052AA09
2H052AC15
2H052AC34
2H052AF14
2H052AF25
5J064BA09
5J064BC08
5J064BC27
(57)【要約】
本発明は、例えば時間相関単一光子計数機器によって得られた生データの取り扱いを改善するための方法に関する。
【特許請求の範囲】
【請求項1】
複数の時間タグ付きデータレコードを含んでいる時間タグ付きデータを圧縮するためのコンピュータにより実装される方法であって、前記方法は、
a)前記時間タグ付きデータレコードを複数のグループに分けるステップと、
b)光子到達時間によって、前記グループのうちの少なくとも1つのグループにおいて、前記時間タグ付きデータレコードをソートするステップと、
c)あるレコードの内容を、隣接するレコードの内容で減算して、変更されたレコードを得るステップと、
d)前記変更されたレコードを圧縮方法で圧縮するステップと、
を含む方法。
【請求項2】
前記圧縮方法は、従来の圧縮方法である、
請求項1記載の方法。
【請求項3】
前記レコードを複数のクラスに分類し、
前記クラスを、請求項1または2記載のステップのうちの少なくとも1つのステップにおいて別々に処理する、
請求項1または2記載の方法。
【請求項4】
前記クラスは、ピクセルのデータ、種々異なる検出器からのレコードまたは光子のタイプのうちの少なくとも1つである、
請求項3記載の方法。
【請求項5】
前記レコードのビット深度を、減算を行う前記ステップc)の後に減らす、
請求項1から4までのいずれか1項記載の方法。
【請求項6】
前記時間タグ付きデータを、TCSPC機器による獲得物から導出する、
請求項1から5までのいずれか1項記載の方法。
【請求項7】
前記圧縮方法は、可逆圧縮方法である、
請求項1から6までのいずれか1項記載の方法。
【請求項8】
請求項1から7までのいずれか1項記載の方法によって圧縮された時間タグ付きデータを伸張するためのコンピュータにより実装される方法であって、
請求項1または2記載のステップd)およびc)を逆に実行する、
方法。
【請求項9】
GPUのメモリに圧縮データを転送し、
前記データを前記GPUにおいて伸張し、さらなる解析または表示のために利用できるようにする、
請求項8記載の、時間タグ付きデータを伸張するための方法。
【請求項10】
全体的な減衰および前記GPUにおける平均到達時間画像の生成後に、さらなる解析または表示のために前記データを利用できるようにする、請求項9記載の方法。
【請求項11】
請求項1から10までのいずれか1項記載の方法を実施するように適合された装置であって、
前記装置は、有利には共焦点顕微鏡または多光子顕微鏡である、
装置。
【請求項12】
コンピュータプログラムであって、
プロセッサ上で実行されるときに、請求項1から10までのいずれか1項記載の方法を実施するための、または、請求項11記載の装置を動作させるためのプログラムコードを含む、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時間相関単一光子計数機器によって得られた生データの取り扱いを改善するための方法に関する。
【背景技術】
【0002】
欧州特許第0941466号明細書に記載されているような時間相関単一光子計数(TCSPCと略す)機器は、パルス光源の光パルスに対する個々の光子の到達時間を記録する。
【0003】
これらの機器は、蛍光分子の励起状態の種々異なる寿命が測定され、環境の特性、例えばpH、イオン濃度およびエネルギ移動による遷移が決定される蛍光寿命イメージング顕微鏡法(FLIMと略す)においてしばしば使用される。そのような機器は、分子移動度および結合に関する洞察を提供する蛍光相関分光法(FCSと略す)においても使用されている。
【0004】
FLIM用途では、これらの機器は通常、共焦点走査顕微鏡または多光子顕微鏡の一部であるか、またはこれらと組み合わされている。
【0005】
獲得されたデータの転送および格納には、時間タグ付きデータフォーマットが有利であり、人気がある。これは、機器の専用電子部品に対する極めて僅かなメモリ要求およびデータ解析に対する柔軟性によるものである。TCSPC装置に対する時間タグ付きデータフォーマットの可能な実装のうちの1つに対する詳細な説明は、Kapusta, Peter & Wahl, Michael & Erdmann, Rainer. (2015). Advanced Photon Counting: Applications, Methods, Instrumentation. 10.1007/978-3-319-15636-1. pp. 9-14に含まれている。
【0006】
近年、従来の共焦点顕微鏡強度獲得と同等の速度でFLIMデータを記録することができるTCSPC機器が開発された。米国特許第10073034号明細書では、光子到達時間がGHzサンプラによってサンプリングされ、これによって、高いカウントレートでのFLIMが可能になり、したがって獲得時間が短縮される。米国特許第10520434号明細書およびPatting, Matthias, Dead-time effects in TCSPC data analysis, Proc. of SPIE Vol. 6583, 658307, (2007)には、高いカウントレートでデッドタイムの影響を補償する方法が記載されている。
【0007】
Alvarez, Luis et. Al. (2019). SP8 FALCON: a novel concept in fluorescence lifetime imaging enabling video-rate confocal FLIM. Nature Methods. 16に記載されているように、共焦点顕微鏡の獲得および解析ソフトウェアにFLIMを完全に統合することによって、3Dスタック、時系列モザイクおよび大面積モザイクを含む全ての獲得モードにおけるFLIMデータの記録および解析が可能になる。ライフサイエンスでは、しばしば、統計に基づく傾向を発見するために、そのように得られた大量のデータが必要とされる。
【0008】
付加的な次元である「寿命」によって、データセットは、桁違いに大きくなる。1時間以内に100GBの時間タグ付きデータを獲得することも珍しくない。このデータは、解析ワークステーションに転送されなければならない。これらは解析され、アーカイブされる必要がある。
【0009】
多種多様な圧縮方法が知られている。Salomon, David & Motta, Giovanni. (2010). Handbook of Data Compression (5. ed.). 10.1007/978-1-84882-903-9には、これらの頻繁に使用される方法の詳細な説明が記載されている。トレーサビリティ要件のため、可逆圧縮が好まれる。かなり古いものの、ハフマン符号化(第6.3章)およびデフレート(第6.25章)は、依然として非常に人気がある。光子の到達時間がランダムな性質であるため、時間タグ付きデータは、これらの方法では十分に圧縮することができない。2分の1の低減さえ達成できない場合がある。さらに、エンコーダおよびデコーダは、記録媒体およびネットワークの伝送速度よりも高速に動作しなければならない。標準ソフトウェアライブラリは遅すぎる。
【0010】
近年開発された圧縮ライブラリZStandard(Collet, Y. and M. Kucherawy, Ed., “Zstandard Compression and the application/zstd Media Type”, RFC 8478, DOI 10.17487/RFC8478)は、最速モードにおける妥当な圧縮率で、優れた符号化速度を実現する。デコーダ速度はこの用途に最適ではないが、受け入れ可能である。
【0011】
GPUにおける圧縮および伸張の高速化に関するいくつかの解決策が公開されている。Funasaka, Shunji & Nakano, Koji & Ito, Yasuaki. (2017). Adaptive loss-less data compression method optimized for GPU decompression. Concurrency and Computation: Practice and Experience. 29. e4283. 10.1002/cpe.4283には、GPUにおける高速伸張のための新規の方法が記載されている。ALL方法の推定される圧縮速度および公開された伸張速度は、速度要件を満たしている。
【0012】
GPUにおけるハフマンデコンプレッサは、Weissenberger, Andre & Schmidt, Bertil. (2018). Massively Parallel Huffman Decoding on GPUs. ICPP 2018: Proceedings of the 47th International Conference on Parallel Processing. 1-10. 10.1145/3225058.3225076において公開されている。ハフマン符号化は、デフレートにおけるスライディング・ウィンドウ辞書方法と組み合わされており、したがって、所望のかつ標準化された圧縮方法の一部にすぎない。
【0013】
典型的な記録媒体よりも高速な符号化および復号化を実現できるものの、公知の方法を用いたFLIM用途における多くの時間タグ付きデータセットには、この圧縮率は十分ではない。
【発明の概要】
【発明が解決しようとする課題】
【0014】
本発明の課題は、記録媒体およびネットワークよりも高速で高い圧縮率を達成する、時間タグ付きデータを圧縮するための方法を提供することである。さらなる課題は、生データへのアクセス時間の短縮による、時間タグ付きフォーマットにおけるFLIMデータをより高速に解析するための方法を提供することである。
【課題を解決するための手段】
【0015】
上述の課題は、複数の時間タグ付きデータレコードを含んでいる時間タグ付きデータを圧縮するための方法によって解決され、この方法は、
a)これらの時間タグ付きデータレコードを複数のグループに分けるステップ、
b)光子到達時間によって、これらのグループのうちの少なくとも1つのグループにおいて、これらの時間タグ付きデータレコードをソートするステップ、
c)(グループ内の)あるレコードの内容を、(グループ内の)隣接するレコードの内容で減算して、変更されたレコードを得るステップおよび
d)変更されたレコードを圧縮方法で圧縮するステップ
を含んでいる。
【0016】
圧縮方法は、従来の圧縮方法であってもよい。
【0017】
このように変更されたデータは格段に良好に圧縮され、驚くべきことに、単純な圧縮方法および効率的に大規模な並列処理を行うことができる方法によっても、格段に良好に圧縮される。
【0018】
各時間タグ付きデータレコードは、少なくとも1つの光子到達時間を含んでいてもよい。ステップa)におけるグループを、時間タグ付きデータの一部とみなすことができる。場合によっては、ステップa)、すなわち複数のグループに分けることを行わないことが可能であり得る。ステップc)において言及された「内容」とは、時間タグ付きデータレコードに含まれている少なくとも1つの値または情報、例えば光子到達時間であり得る。上述のステップc)に対する代替は、例えば、このグループ内のあるレコードの内容およびこのグループ内の隣接するレコードの内容に基づいて、変更されたレコードを取得することであり得る。
【0019】
有利には、これらのレコードは複数のクラス(例えば、ピクセルのデータ、種々異なる検出器からのレコードまたは光子のタイプ)に分類され、これらのクラスは、上述したように、ステップa)~d)のうちの少なくとも1つのステップにおいて別々に処理される。
【0020】
これらのレコードのビット深度は、減算を行うステップc)の後に低減され得る。
【0021】
時間タグ付きデータは、TCSPC機器による獲得物から導出され得る。
【0022】
有利には、圧縮方法は、可逆圧縮方法である。
【0023】
上述した方法で圧縮された時間タグ付きデータを伸張するための方法が提供され、ここでは少なくとも、上述した方法のステップd)およびステップc)が逆に実行される。
【0024】
時間タグ付きデータを伸張するための方法においては、有利には、GPUのメモリに圧縮データが転送される。このデータをGPUにおいて伸張することができ、有利には、全体的な減衰およびGPUにおける平均到達時間画像の生成後に、さらなる解析または表示のために利用できるようにすることができる。
【0025】
上述の方法を実行するように装置を適合させることができる。この場合、この装置は、有利には共焦点顕微鏡または多光子顕微鏡である。
【0026】
本明細書で使用されるように、用語「および/または(かつ/または)」は、関連する記載項目のうちの1つまたは複数の項目のあらゆる全ての組み合わせを含んでおり、「/」として略記されることがある。
【0027】
いくつかの態様を装置の文脈において説明してきたが、これらの態様が、対応する方法の説明も表していることが明らかであり、ここではブロックまたは装置がステップまたはステップの特徴に対応している。同様に、ステップの文脈において説明された態様は、対応する装置の対応するブロックまたは項目または特徴の説明も表している。
【0028】
プロセッサ上で実行されるときに、上述した方法を実施するための、または上述した装置を動作させるためのプログラムコードを含んでいる、コンピュータプログラム。
【0029】
ステップの一部または全部は、例えば、プロセッサ、マイクロプロセッサ、プログラマブルコンピュータまたは電子回路等のハードウェア装置(またはハードウェア装置を使用すること)によって実行されてもよい。いくつかの実施形態では、極めて重要なステップのいずれか1つまたは複数が、そのような装置によって実行されてもよい。
【0030】
一定の実装要件に応じて、本発明の実施形態は、ハードウェアまたはソフトウェアで実装され得る。この実装は、非一過性の記録媒体によって実行可能であり、非一過性の記録媒体は、各方法を実施するために、プログラマブルコンピュータシステムと協働する(または協働することが可能である)、電子的に読取可能な制御信号が格納されている、デジタル記録媒体等であり、これは例えば、フロッピーディスク、DVD、ブルーレイ、CD、ROM、PROMおよびEPROM、EEPROMまたはFLASHメモリである。したがって、デジタル記録媒体は、コンピュータ読取可能であってもよい。
【0031】
本発明のいくつかの実施形態は、本明細書に記載のいずれかの方法が実施されるように、プログラマブルコンピュータシステムと協働することができる、電子的に読取可能な制御信号を有するデータ担体を含んでいる。
【0032】
一般的に、本発明の実施形態は、プログラムコードを備えるコンピュータプログラム製品として実装可能であり、このプログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときにいずれかの方法を実施するように作動する。このプログラムコードは、例えば、機械可読担体に格納されていてもよい。
【0033】
別の実施形態は、機械可読担体に格納されている、本明細書に記載のいずれかの方法を実施するためのコンピュータプログラムを含んでいる。
【0034】
したがって、換言すれば、本発明の実施形態は、コンピュータプログラムがコンピュータ上で実行されるときに本明細書に記載のいずれかの方法を実施するためのプログラムコードを有するコンピュータプログラムである。
【0035】
したがって、本発明の別の実施形態は、プロセッサによって実行されるときに本明細書に記載のいずれかの方法を実施するために、格納されているコンピュータプログラムを含んでいる記録媒体(またはデータ担体またはコンピュータ読取可能な媒体)である。データ担体、デジタル記録媒体または被記録媒体は、典型的に、有形である、かつ/または非一過性である。本発明の別の実施形態は、プロセッサと記録媒体を含んでいる、本明細書に記載されたような装置である。
【0036】
したがって、本発明の別の実施形態は、本明細書に記載のいずれかの方法を実施するためのコンピュータプログラムを表すデータストリームまたは信号シーケンスである。データストリームまたは信号シーケンスは例えば、データ通信接続、例えばインターネットを介して転送されるように構成されていてもよい。
【0037】
別の実施形態は、処理手段、例えば、本明細書に記載のいずれかの方法を実施するように構成または適合されているコンピュータまたはプログラマブルロジックデバイスを含んでいる。
【0038】
別の実施形態は、本明細書に記載のいずれかの方法を実施するために、インストールされたコンピュータプログラムを有しているコンピュータを含んでいる。
【0039】
本発明の別の実施形態は、本明細書に記載のいずれかの方法を実施するためのコンピュータプログラムを(例えば、電子的にまたは光学的に)受信機に転送するように構成されている装置またはシステムを含んでいる。受信機は、例えば、コンピュータ、モバイル機器、記憶装置等であってもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するために、ファイルサーバを含んでいてもよい。
【0040】
いくつかの実施形態では、プログラマブルロジックデバイス(例えばフィールド・プログラマブル・ゲート・アレイ)が、本明細書に記載された方法の機能の一部または全部を実行するために使用されてもよい。いくつかの実施形態では、フィールド・プログラマブル・ゲート・アレイは、本明細書に記載のいずれかの方法を実施するためにマイクロプロセッサと協働してもよい。一般的に、有利には、任意のハードウェア装置によって方法が実施される。
【図面の簡単な説明】
【0041】
【
図1】時間タグ付きデータを生成するTCSPC機器のビルディングブロックを示す図である。
【
図2a】時間タグ付きデータの2つの変形形態についてのデータレコードの典型的なレイアウトを示す図である。
【
図2b】時間タグ付きデータの2つの変形形態についてのデータレコードの典型的なレイアウトを示す図である。
【
図2c】時間タグ付きデータの2つの変形形態についてのデータレコードの典型的なレイアウトを示す図である。
【
図3】全体的な減衰の曲線および対応する平均到達時間画像を生成するための時間タグ付きデータの処理ならびにFLIM画像フィットのために減衰データを生成するためのプロセスを示す図である。
【
図4】本発明に相応する時間タグ付きデータの変更によって得られる効果を示す図である。
【
図5】好ましい実施形態によって使用される符号化フォーマットを示す図である。
【
図6】種々異なる実施形態に対して得られた圧縮比および圧縮速度を列挙する図である。
【発明を実施するための形態】
【0042】
本発明の方法によって処理可能なデータを生成する機器の多種多様なレイアウトが存在する。一例として、時間タグ付きデータを生成する典型的なTCSPC機器のビルディングブロックが
図1に示されている。1つまたは複数の計数検出器1からの信号がルータ2によって処理される。ルータ2の出力は、例えば、信号が発生した検出器を識別する検出器信号3および検出器信号4である。パルス光源5(例えば、パルスモードで動作するレーザー光源)は、光源5によって放射されている光パルスに相関する電気信号6を提供する。時間測定ユニット7は、光源5からの信号6と検出器からの信号3との間の時間差から、先行する光(またはレーザー)パルスに対する光子到達時間を決定する。ラッチ8は、このデータの出力を時間測定ユニット7の出力と同期させるために、検出器を識別するための情報を格納している。カウンタ9は、光源のパルスを計数する。機器のスキャナ電子部品10、例えば共焦点顕微鏡または多光子顕微鏡は、走査されたラインの少なくとも開始時間および終了時間に対する信号11を提供する。遅延ユニット12は同様に、この情報が他のユニットの出力信号と同期するように取り計らう。これらのユニットの出力データ13が結合されて、時間タグ付きレコードが生じる。3つの信号14,15および16によって、この出力データ13がFIFO17にラッチされる。信号14は、光子が検出され、到達時間が決定されたときに送信される。信号15は、スキャナ電子部品からのライン開始信号またはライン終了信号が検出されたときに送信される。計数ユニットにおけるカウンタ9がオーバーフローすると、出力側に専用のビットがセットされ、信号16が送信される。FIFO負荷が特定のレベルに達すると、FIFOからのデータが、処理および解析ユニット18に送られる。
【0043】
機器によって生成されるレコードは、種々異なるビット割り当ておよびビット幅を有することができる。例えば、
図1に示す機器では、各レコードは32個のビットを格納している。対応するレコードビットレイアウトを
図2aに示す。下位ビット30は、レーザーパルスに対する光子の到達時間を、時間測定ユニット7の時間分解能の倍数で含んでいる。4つのビット31は、どの検出器からこの信号が検出されたかという検出器情報を含んでいる。次に、レーザーパルスカウンタ9からのカウンタ値を伴うビット32が続く。1つのビット33は、カウンタのオーバーフロー発生時にセットされる。番号34~37が付けられているビットは、ライン開始およびライン終了を示すビットを有する、スキャナ電子部品10からの信号を含んでいる。
【0044】
光子レコードは、検出された光子を表すレコードである。カウンタまたはスキャナ電子部品に由来するライン15または16によってFIFO17にラッチされたレコードは、検出された光子を表さず、マーカレコードと称される。ソフトウェアマーカレコードは、データの記録の後かつ処理の間にレコードのストリームに挿入されたレコードである。全てのレコードが同じビット幅を有することは、本発明による方法にとって有益であるが、必須ではない。
【0045】
用語「時間タグ付き」は、文献において異なって使用されている。同様の用語は、「イベントレコーディング」、「タイムスタンプレコーディング」および「FIFOモード」である。本明細書では、用語「時間タグ付きデータ」は、データがレコードのシーケンスからなり、光子到達時間が個々のレコードに格納されている場合に使用される。
【0046】
図2aにおける例のデータのフォーマットは、FLIMおよびFCSを含む、広範囲の用途に使用可能である。データが他の方法によって解析されることが意図されていないFLIM用途の場合、レーザーパルスカウンタ値が必要とするのは、かなり低い容量のストレージスペースである。ストレージスペースを減らすフォーマットは、本明細書では「低減された時間タグ付き」フォーマットと称される。例は、
図2bに示されている。光子レコード40は、下位ビット41に光子の到達時間を、ビット42に検出器の情報を格納する。ビット43は、例えば、この光子がレーザーパルス後の最初の光子であった場合に、この情報を格納するために用いられる。これによって、米国特許第10520434号明細書からの方法の実装が可能になる。ライン終了マーカ44については、使用されていないビットパターンが選択される。ピクセルマーカ45は、走査ライン内でスキャナ電子部品からピクセルクロック信号を受信すると生成される。
図2cは、「低減された時間タグ付き」フォーマットに対する、典型的なレコードのシーケンスを示す。光子レコードはピクセルマーカによって分けられる。例えばラインの終了をマークするために必要なのは、ただ1つのラインマーカである。レコードあたり16個のビットがあれば、ほとんどのFLIM用途に対して十分である。
【0047】
図3は、低減されていない時間タグ付きフォーマットでのレコードからのFLIMデータの処理を示す。開始マーカレコード50と終了マーカレコード51との間のレコードが、レーザーパルスカウンタに対する時間情報53と到達時間54との使用を伴って、画像ピクセル持続時間を表す等時間間隔の複数のブロック52に分割される。全ての到達時間値54の平均が、1つの画像55に書き込まれる。第2の画像56に光子レコードの数が書き込まれる。2つの画像55および56から第3の画像が生成され、画像56の強度および例えばレインボールックアップテーブルを使用して画像55から導出された色を伴ってモニタ58に表示される。さらに、画像内の全てのレコードからの全ての到達時間値のヒストグラム57が生成され、表示される。このヒストグラムは全体的な減衰と称される。ユーザは、この全体的な減衰におけるデータをフィットさせ、画像フィットのための固定されたパラメータまたは開始パラメータを導出する。この画像フィットのために、画像内の各ピクセル59に対する到達時間値のヒストグラムが、到達時間データ54から生成される。画像ピクセルごとにフィットが実行される。その他の解析方法が知られている。時間タグ付きデータからの情報の抽出は、これらの解析方法においても同様である。
【0048】
次に、本発明による方法を説明する。第1のステップa)は、これらのレコードを複数のグループに分けることである。この分離は、単に、データストリームからの隣接するレコードの固定された数による分離であってよい。
図4には、32個のレコードの1つのグループ60が示されており、これは、到達時間61、検出器62およびレーザーパルス63に対する対応するデータを伴っている。この分離は、これらのレコードの分類も含むことができる。可能性のあるクラスは、例えば、種々異なる検出器からのレコードまたは光子のタイプであってよい。種々異なるクラスに対するレコードを、例えば、最初にソフトウェアマーカレコードを挿入することによって、マークすることができる。
【0049】
結果64を伴う、第2のステップb)では、このグループ内のレコードが、到達時間61によってソートされる。このソートは、この方法の適用の実行に対するボトルネックになる可能性があるので、いくつかのグループを並列に処理するためのアルゴリズムが好ましいが、必須ではない。本発明による方法の実装は、Networks for Sorting in Knuth, D. (1998). The Art Of Computer Programming, Vol.3 Sorting and Searchingの第5.3.4章に記載のソーティングネットワークを使用することができる。FPGAのような他のいくつかの方法および手段ならびにGPUのような大規模な並列アーキテクチャを有する計算ユニットを用いて、効率的なソートを実装できることが当業者には明らかである。
【0050】
結果65を伴う、次のステップc)では、現在のレコードの内容または値から先行するレコードの内容または値を引いた差が計算される。この結果が、レコードの元の値に置き換わる。この処理は、最後のレコードから第2のレコードにさかのぼって開始される。グループの第1のレコードは残る。
【0051】
ここでは、平均して、これらのレコードにおける数はより小さくなっている。大きい数はまれである。任意選択的な次のステップにおいて、レコードあたりのビットの数を減らすことができる。グループ65における32ビットレコードを、ゼロを伴うビットを省くことによって、例えば16ビットレコードに減らすことができる。過度に大きいまれな数に対しては、ソフトウェアマーカが挿入される。ソフトウェアマーカは、例えば、まれな数の上位ビットを含むことができ、下位ビットでレコードが続く。
【0052】
エンコーダの最終ステップd)は、有利には従来の、圧縮方法の適用である。用語「圧縮方法」は、本明細書では、入力データに比べてサイズが低減された出力データを生成する任意の方法に対して使用される。
【0053】
このように圧縮されたデータの解析時には、第1のステップにおいて、使用された従来の圧縮方法のデコーダが適用される。ビット深度の低減が行われた場合、ここでこれが元に戻される。次いで、現在のレコードの値を、先行するレコードの値に加えることによって、減算が元に戻される。結果は、ソートされた値を伴うグループ64である。平均到達時間値61およびパルスカウンタ値63が、画像ピクセルを識別するために使用されるグローバルな時間値に結合される。画像ピクセルと到達時間とから、平均到達時間画像、強度画像、全体的な減衰および画像フィットに対するピクセルごとの減衰ヒストグラムに対する結果が計算される。
【0054】
好ましい実施形態では、
図2bによる低減された時間タグデータが圧縮される。1つのピクセルに対するこれらの光子レコードが、検出器および光子タイプによってグループ化される。光子タイプは、米国特許第10520434号明細書によれば、光子(レーザーパルス間でこの1つの光子だけが検出された)を、他の全ての光子と区別する。特定のクラスの光子レコードの開始をマークするために、ソフトウェアマーカがデータストリーム内に挿入される。
【0055】
1つのクラスのレコードが、最大32個のレコードでグループ化される。グループ内のこれらのレコードは、到達時間によってソートされる。次いで、これらのレコードが、先行するレコードに対する到達時間差によって置き換えられる。次いで、これらのレコードが、
図5に示すように、レコードあたり16ビットからレコードあたり8ビットに低減される。クラスレコード70は、レーザーパルス間に1つ光子を伴うクラスに対してセットされる1つのビット71と、検出器の識別のための4つのビット72と、を含んでいる。光子レコード73は、到達時間の7つのビット74を含んでいる。大きな到達時間数の場合、上位の6つのビット76を伴う付加的なレコード75が挿入される。ピクセル終了マーカ82は、ピクセル内に光子が検出されなかった場合に、1よりも大きいランレングス値77を含むことができる。ライン終了マーカ78は、次のラインの開始をマークする。例示的なレコードシーケンス79では、クラスマーカCが最初に到来することが示されている。次に、クラスに対する光子レコードPが続く。第2のクラスでは、光子は符号化された大きい到達時間を有する(Pl)。マーカ80は上位の6つのビットを含んでおり、次の光子レコード81は下位の7つのビットを含んでいる。このようにして変換されたデータストリームは、デフレートによって圧縮される。Pxは、次のピクセルの開始を示す。
【0056】
図6は、選択された2つのデータセットに対する実行結果を示す。ワーストケースのデータセット90は、34GBの非圧縮データと、明るいピクセルにおける約200個の光子と、の時系列である。ベストケースのデータセット91は、29GBの非圧縮データを有する3Dの獲得物である。これらのデータセットは、上述の好ましい実施形態に対する本発明による方法が用いられているデフレートの独自の実装および上述の好ましい実施形態に対する本発明による方法が用いられていないデフレートの独自の実装によって圧縮されている。さらに、デフレートのスライディング・ウィンドウ部分が不能にされている圧縮変形形態が同様に、本発明による方法を用いて、また本発明による方法を用いずにテストされた。この「ハフマンのみ」の変形形態は、依然としてデフレート仕様に準拠している圧縮データストリームを生成する。
【0057】
シングルスレッドの実行結果92は、本発明による方法が、両方のデータセットに対して、2倍を上回る、より良好な圧縮を実現することを示す。予想外なことに、本発明による方法が適用された場合、圧縮率は、デフレートのスライディング・ウィンドウ構成要素を伴う場合と伴わない場合とでほぼ同じである。これは興味深い事実である。これによって、大きな欠点なしに、エントロピー符号化のみを使用することが可能となる。エントロピー符号化は、大規模な並列アーキテクチャを有する計算ユニット上で効率的に実行することが可能である。
【0058】
好ましい実施形態は、この現象を考慮し、エントロピー符号化のみを伴うデフレート方法を使用する。これは、スライディング・ウィンドウ構成要素の長さ/距離コードを生成しない。これは依然として、デフレートに準拠したデータストリームを生成する。好ましい実施形態における圧縮データの解析は、GPUのメモリへの圧縮データの転送によって実行される。データは、WeissenbergerおよびSchmidtによる方法を使用してGPUにおいて伸張される。全体的な減衰および平均到達時間画像がGPUにおいて生成され、次いでホストメモリに戻される。このようにして、圧縮データの記録媒体のアクセス速度よりも高速に解析の一部を実行することができる。
【国際調査報告】