NASAが宇宙規模の通信などで発生する損失にも耐えられるよう作った画像圧縮アルゴリズム「ICER」が誰でも利用可能に
NASAは、「宇宙から地球に無線で画像を転送する」といったデータ損失の大きな状況に最適化した画像圧縮アルゴリズム「ICER」を開発しています。そんなICERをC言語のライブラリとして実装したものがGitHubで無料公開されています。
GitHub - TheRealOrange/icer_compression: Progressive, error tolerant, wavelet-based image compression algorithm
NASAは火星探査などのミッションで現地の様子を撮影した画像データを地球へ送信しています。異なる場所へデータを送信する際は、地球上での通信であってもデータの損失が発生しているのですが、地球と火星などの宇宙規模の通信ではデータの損失は非常に大きくなります。ICERは惑星間通信のようなデータ損失が大きい状況でも画像データを転送できるようにするために開発された画像圧縮アルゴリズムで、画像を「データ損失が発生しても表示できる状態」に変換してくれます。
今回公開されたのは、ICERをTheRealOrange氏がC言語用のライブラリとして実装したものです。ライブラリのソースコードはGPLv3ライセンスで公開されており、誰でも無料でダウンロードしてビルド&実行できます。
実際にICERで画像を変換した例は以下の通り。まず、変化前のオリジナル画像はこんな感じ。画像をクリックするとGitHub上の生データを確認できます。
そして、変換後の画像が以下。画像の見た目をほとんど変化させずにデータ損失耐性を強化できました。
さらにデータ損失耐性を強くした場合の変換結果が以下。目に見えて画質が劣化していますが、データ損失耐性は非常に強くなっているとのこと。
ICERは火星探査機「マーズ・エクスプロレーション・ローバー(MER)」で実際に使われたとのこと。NASAが記したICERアルゴリズム解説論文は、以下のリンク先から読めます。ただし、論文は2023年4月1日までは閲覧できたのですが、2023年4月2日に論文公開ページ(ipnpr.jpl.nasa.gov)の証明書期限が切れてしまい、記事作成時点では閲覧できなくなっているため、論文を確認したい場合は少し期間を置いてから再アクセスしてください。
ICER
(PDFリンク)https://ipnpr.jpl.nasa.gov/progress_report/42-155/155J.pdf