(57)【要約】【課題】可変長符号による符号化及び復号を、符号表を用いるよりも高速に行うことを目的とする。【解決手段】符号化装置は、入力データと前記入力データの分布モデルとから前記入力データの確率分布の母数の推定量を算出する推定量算出部２２と、算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出部２３と、算出された前記出現確率を用いて前記データ値を可変長符号化する符号化部２４とを備える。複合装置は、入力データの分布モデルと前記入力データの確率分布の母数の推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出部４１と、算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段部とを備える。【選択図】図２
2018160827.tif 000002
【特許請求の範囲】
【請求項１】
入力データと前記入力データの分布モデルとから前記入力データの確率分布の母数の推定量を算出する推定量算出手段と、
算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、
算出された前記出現確率を用いて前記データ値を可変長符号化する符号化手段と
を備える符号化装置。
【請求項２】
固定小数点数又は浮動小数点数で表現された前記入力データを整数で表現された入力データに変換し、整数で表現された前記入力データを前記推定量算出手段と前記符号化手段に入力する整数変換手段を備える
請求項１に記載の符号化装置。
【請求項３】
前記入力データの時間方向の差分を算出し、前記入力データに代えて前記差分を前記推定量算出手段と前記符号化手段に入力する差分算出手段を備える
請求項１又は２に記載の符号化装置。
【請求項４】
前記入力データを時間ステップ毎のフレームに分割し、前記フレーム毎に前記入力データを前記推定量算出手段と前記符号化手段に入力するフレーム分割手段を備える
請求項１乃至３のいずれか１項に記載の符号化装置。
【請求項５】
指定された精度に応じて前記入力データの精度を調整し、精度の調整された前記入力データを前記推定量算出手段と前記符号化手段に入力する精度調整手段を備える
請求項１乃至４のいずれか１項に記載の符号化装置。
【請求項６】
前記データ値に関連する変数依存情報に基づき前記データ値をグループに分割し、前記グループ毎に前記入力データを前記推定量算出手段と前記符号化手段に入力するグループ分割手段を備える
請求項１乃至５のいずれか１項に記載の符号化装置。
【請求項７】
前記入力データからサンプルを抽出し、抽出されたサンプルを前記推定量算出手段に入力するサンプリング手段を備える
請求項１乃至６のいずれか１項に記載の符号化装置。
【請求項８】
前記入力データのデータ数と有効数字とに基づき前記入力データを上位の桁と下位の桁に分割し、前記上位の桁を前記符号化手段に入力する精度分割手段を備える
請求項１乃至７のいずれか１項に記載の符号化装置。
【請求項９】
入力データの分布モデルと前記入力データの確率分布の母数の推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、
算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段と
を備える復号装置。
【請求項１０】
コンピュータを、
入力データと前記入力データの分布モデルとから前記入力データの確率分布の母数の推定量を算出する推定量算出手段と、
算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、
算出された前記出現確率を用いて前記データ値を可変長符号化する符号化手段
として機能させるためのプログラム。
【請求項１１】
コンピュータを、
入力データの分布モデルと前記入力データの確率分布の母数の推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、
算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、復号装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、数値解析の結果情報を圧縮するプログラムが記載されている。このプログラムは、演算部が、数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として記憶部から読み込むステップと、演算部が、変数依存情報から変換情報を生成するステップと、演算部が、変換情報に基づいて複数の結果情報を変換するステップと、演算部が、変換した結果情報を圧縮するステップと、演算部が、圧縮した結果情報を記憶部に格納するステップとを備える。
【０００３】
特許文献２には、粒子の空間座標およびその時系列データを圧縮する方法が記載されている。この方法は、解析対象となる空間とそこに存在する粒子の情報から、要求される精度の表現に座標を変換する処理と、変換された座標の一部の情報を共有するグループに分割する処理と、グループ毎に必要最小限の情報を出力する処理とからなる。
【０００４】
特許文献３には、分散が大きいデータを含む多様な分布のデータや、時間的に非定常なデータを可逆圧縮する装置が記載されている。この装置は、時系列の入力値で構成された入力データから入力値を時刻ごとに取得し、取得した入力値より過去の入力値に基づき所定の予測方法を用いて予測値を時刻ごとに計算し、取得した入力値と計算した予測値との残差を処理装置により時刻ごとに算出する残差算出部と、それぞれ異なる符号化方法を示す複数の符号化パラメータの各々が示す符号化方法の事前確率を定義する事前確率情報を記憶装置により予め格納する事前確率格納部と、残差算出部により算出された残差より過去の残差を、複数の符号化パラメータの各々が示す符号化方法を用いて符号化した場合の当該過去の残差の符号長と、事前確率格納部に格納された事前確率情報で定義されている当該符号化方法の事前確率とに基づき、残差算出部により算出された残差に対して、複数の符号化パラメータのうち、当該過去の残差を符号化した場合に当該過去の残差の符号長が他の符号化方法より短くなる符号化方法を示す符号化パラメータを処理装置により時刻ごとに選択する符号化パラメータ選択部と、残差算出部により算出された残差を時刻ごとに取得し、取得した残差を、符号化パラメータ選択部により当該残差に対して選択された符号化パラメータが示す符号化方法を用いて処理装置により符号化して当該残差の符号語を時刻ごとに算出し、算出した符号語を入力データの圧縮データとして出力する残差符号化部とを備える。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４４９３６１４号公報
【特許文献２】特開平９−１６０８９８号公報
【特許文献３】特許第５５７０４０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データの圧縮に適した符号として、出現確率が高いシンボルほど短い符号を割り当てる可変長符号（エントロピー符号）が知られている。可変長符号による符号化と復号においては、シンボルと符号を対応付けた符号表に従って符号化と復号が行われる。符号表は、データに含まれるシンボルが増加するにつれて肥大化するため、圧縮の高効率化の障害となってしまう。
上記の事情に鑑み、本発明は、可変長符号による符号化及び復号を、経験分布を基に構築した符号表を用いるよりも高効率に行うことを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に係る発明は、入力データと前記入力データの分布モデルとから前記入力データの確率分布の母数の推定量を算出する推定量算出手段と、算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、算出された前記出現確率を用いて前記データ値を可変長符号化する符号化手段とを備える符号化装置を提供する。
【０００８】
請求項２に係る発明は、請求項１に記載の符号化装置において、固定小数点数又は浮動小数点数で表現された前記入力データを整数で表現された入力データに変換し、整数で表現された前記入力データを前記推定量算出手段と前記符号化手段に入力する整数変換手段を備える。
【０００９】
請求項３に係る発明は、請求項１又は２に記載の符号化装置において、前記入力データの時間方向の差分を算出し、前記入力データに代えて前記差分を前記推定量算出手段と前記符号化手段に入力する差分算出手段を備える。
【００１０】
請求項４に係る発明は、請求項１乃至３のいずれか１項に記載の符号化装置において、前記入力データを時間ステップ毎のフレームに分割し、前記フレーム毎に前記入力データを前記推定量算出手段と前記符号化手段に入力するフレーム分割手段を備える。
【００１１】
請求項５に係る発明は、請求項１乃至４のいずれか１項に記載の符号化装置において、指定された精度に応じて前記入力データの精度を調整し、精度の調整された前記入力データを前記推定量算出手段と前記符号化手段に入力する精度調整手段を備える。
【００１２】
請求項６に係る発明は、請求項１乃至５のいずれか１項に記載の符号化装置において、前記データ値に関連する変数依存情報に基づき前記データ値をグループに分割し、前記グループ毎に前記入力データを前記推定量算出手段と前記符号化手段に入力するグループ分割手段を備える。
【００１３】
請求項７に係る発明は、請求項１乃至６のいずれか１項に記載の符号化装置において、前記入力データからサンプルを抽出し、抽出されたサンプルを前記推定量算出手段に入力するサンプリング手段を備える。
【００１４】
請求項８に係る発明は、請求項１乃至７のいずれか１項に記載の符号化装置において、前記入力データのデータ数と有効数字とに基づき前記入力データを上位の桁と下位の桁に分割し、前記上位の桁を前記符号化手段に入力する精度分割手段を備える。
【００１５】
請求項９に係る発明は、入力データの分布モデルと前記入力データの確率分布の母数の推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段とを備える復号装置を提供する。
【００１６】
請求項１０に係る発明は、コンピュータを、入力データと前記入力データの分布モデルとから前記入力データの確率分布の母数の推定量を算出する推定量算出手段と、算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、算出された前記出現確率を用いて前記データ値を可変長符号化する符号化手段として機能させるためのプログラムを提供する。
【００１７】
請求項１１に係る発明は、コンピュータを、入力データの分布モデルと前記入力データの確率分布の母数の推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段として機能させるためのプログラムを提供する。
【発明の効果】
【００１８】
請求項１、１０に係る発明によれば、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
請求項２に係る発明によれば、固定小数点数又は浮動小数点数で表現されたデータであっても、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
請求項３に係る発明によれば、入力データが特定の分布に従わない場合であっても、入力データの差分が特定の分布に従うならば、可変長符号による差分の符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
請求項４に係る発明によれば、時間の経過とともに入力データの分布が変化する場合であっても、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
請求項５に係る発明によれば、入力データの精度を調整しない場合と比べて、圧縮率が向上する。
請求項６に係る発明によれば、変数依存情報に基づきデータ値をグループに分割しない場合と比べて、圧縮率が向上する。
請求項７に係る発明によれば、全てのデータを用いて推定量を算出する構成と比べて、推定量の計算量が軽減されるとともに、メモリが節約される。
請求項８に係る発明によれば、入力データの経験分布がスパースである場合に、全ての桁を符号化手段に入力する場合と比べて、可変長符号の符号設計に要する計算量が削減される。
請求項９、１１に係る発明によれば、可変長符号による復号が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
【図面の簡単な説明】
【００１９】
【図１】情報処理装置１のハードウェア構成を示す図。
【図２】情報処理装置１の機能構成を示す図。
【図３】情報処理装置１が実行する処理の手順を示す流れ図。
【図４】或る時間ステップにおける速度の経験分布を示すグラフ。
【図５】プロファイル番号と分布モデルとの対応表を示す図。
【図６】算出された推定量を用いた確率密度関数を示す図。
【図７】確率密度関数を示すグラフ。
【図８】本体符号の符号化データの構造を示す図。
【図９】付帯符号の符号化データの構造を示す図。
【図１０】プロファイル番号と分布モデルとの対応表。
【図１１】復元された推定量を用いた確率密度関数を示す図。
【図１２】確率密度関数を示すグラフ。
【図１３】変形例の機能構成を示す図。
【図１４】固定小数点数の変換を示す図。
【図１５】浮動小数点数の変換を示す図。
【図１６】固定小数点数のデータ値を整数に変換した例。
【図１７】変形例の機能構成を示す図。
【図１８】差分の例を示す図。
【図１９】変形例の機能構成を示す図。
【図２０】符号化の対象とする入力データの例。
【図２１】変形例の機能構成を示す図。
【図２２】精度調整の前後のデータ値を示す図。
【図２３】変形例の機能構成を示す図。
【図２４】グループ分割の前後のデータ値を示す図。
【図２５】グループ分割の前後の粒子の様子を示す図。
【図２６】変形例の機能構成を示す図。
【図２７】変形例の機能構成を示す図。
【図２８】入力データを示す図。
【発明を実施するための形態】
【００２０】
本発明を実施するための形態の一例について説明する。
図１は、情報処理装置１のハードウェア構成を示す図である。情報処理装置１は、演算部１１、記憶部１２、通信部１３、操作部１４、表示部１５を備える。記憶部１２は、例えばハードディスクドライブやメモリなどの記憶装置であり、プログラムやデータを記憶する。演算部１１は、プロセッサと、演算のワークエリアとして用いられるメモリを備え、記憶部１２に記憶されたプログラムに従って演算を実行する。通信部１３は、情報処理装置１と外部装置との通信インターフェイスである。操作部１４は、キーボードやマウスなどの入力装置を備え、ユーザによる操作を受け付ける。表示部１５は、液晶表示パネルなどの表示装置を備え、ＧＵＩ（Graphical User Interface）の画面を表示する。なお、操作部１４と表示部１５は、外部装置として構成されてもよい。
【００２１】
図２は、情報処理装置１の機能構成を示す図である。図示された各構成要素は、情報処理装置１にインストールされたソフトウェアを機能毎のモジュールとして示したものである。演算部１１がソフトウェアを実行することにより、これらのモジュールの機能が実現される。分布モデル選択部２１、推定量算出部２２、出現確率算出部２３、符号化部２４は、符号化に関連する機能であり、本発明に係る符号化装置の一例である。出現確率算出部４１、復号部４２は、復号に関連する機能であり、本発明に係る復号装置の一例である。
【００２２】
図３は、情報処理装置１が実行する処理の手順を示す流れ図である。（ａ）は符号化の手順を示し、（ｂ）は復号の手順を示す。
【００２３】
分布モデル選択部２１は、入力されたプロファイル番号に対応する分布モデルを選択する（ステップＳ１１）。推定量算出部２２（推定量算出手段の一例）は、入力データと入力データの分布モデルとから入力データの確率分布の母数の推定量を算出する（ステップＳ１２）。出現確率算出部２３（符号化装置の出現確率算出手段の一例）は、算出された推定量を用いた確率分布から入力データに含まれるデータ値の出現確率を算出する（ステップＳ１３）。符号化部２４（符号化手段の一例）は、算出された出現確率を用いてデータ値を可変長符号化する（ステップＳ１４）。
【００２４】
出現確率算出部４１（復号装置の出現確率算出手段の一例）は、入力データの分布モデルと入力データの確率分布の母数の推定量とを用いて分布を復元し（ステップＳ２１）、入力データに含まれるデータ値の出現確率を算出する（ステップＳ２２）。復号部４２（復号手段の一例）は、算出された出現確率を用いて、可変長符号化されたデータ値を復号する（ステップＳ２３）。以下、各部の詳細について説明する。
【００２５】
［符号化に関連する構成］
符号化に関連する構成について説明する。符号化の対象とする入力データは、例えば、熱平衡状態の下でＩ個の原子の運動をＴ時間ステップに渡って分子動力学シミュレーションを行って得られたｘ軸方向の速度Ｖｘ（ｉ，ｔ）のデータ値である。ｉ（ｉ＝１，・・・，Ｉ）は原子の識別番号を表し、ｔ（ｔ＝１，・・・，Ｔ）は時間ステップを表す。データ値は、有効桁数Ｎ桁の整数で表されている。
【００２６】
図４は、或る時間ステップにおける速度の経験分布を示すグラフである。横軸は速度、縦軸は出現確率である。分子動力学シミュレーションにおいて、熱平衡状態の原子の速度分布は正規分布となるように制御される。
【００２７】
なお、分子動力学シミュレーションではｙ軸方向の速度Ｖｙ（ｉ，ｔ）とｚ軸方向の速度Ｖｚ（ｉ，ｔ）も計算されるが、これらの符号化と復号の手順はＶｘ（ｉ，ｔ）と同様であるから、以下ではＶｘ（ｉ，ｔ）の例のみ説明する。
【００２８】
次に、分布モデル選択部２１について説明する。
図５は、プロファイル番号と分布モデルとの対応表を示す図である。この例では、正規分布、指数分布、ポアソン分布、ガンマ分布、ワイブル分布の合計５種類の分布モデルが示されているが、これ以外の分布モデルが対応表に含まれてもよい。対応表は、分布モデル選択部２１に設定されている。
【００２９】
分布モデル選択部２１には、プロファイル番号が入力される（図２参照）。プロファイル番号は操作部１４によって入力されてもよいが、入力データのヘッダにプロファイル番号を示すビットを設け、ヘッダの読み込みによってプロファイル番号が入力されるように構成されてもよい。
【００３０】
分布モデル選択部２１は、入力されたプロファイル番号ｑに対応する分布モデルを対応表から選択し、選択された分布モデルを示す分布モデル情報を出力する。例えば、分子動力学シミュレーションにおいて、熱平衡状態の原子の速度分布は正規分布となるように制御されているから、プロファイル番号として０が入力され、分布モデルとして正規分布が選択され、正規分布を示す分布モデル情報が出力される。
【００３１】
次に、推定量算出部２２について説明する。推定量とは、確率分布の母数の推定値である。母数とは、確率分布を決定付ける定数であり、平均、分散、標準偏差、中央値、期待値などである。本実施形態では、期待値と分散の推定量を算出する。
推定量算出部２２には、入力データと、分布モデル選択部２１から出力された分布モデル情報が入力される。推定量算出部２２は、入力データと分布モデル情報を用いて以下の手順により期待値と分散の推定量を算出する。
【００３２】
2018160827.tif 000003
【００３３】
次に、出現確率算出部２３について説明する。以下、速度Ｖｘ（ｉ，１）が従う確率変数をＶとする。また、Ｖｘ（ｉ，１）をｖiで表す場合がある。前述の推定量算出部２２の説明におけるＸ、は、それぞれＶ、ｖiに対応する。
【００３４】
出現確率算出部２３には、推定量算出部２２によって算出された推定量が入力される。出現確率算出部２３は、推定量を用いた確率密度関数から確率変数Ｖがとり得る値の出現確率を算出する。
【００３５】
2018160827.tif 000004
【００３６】
次に、符号化部２４について説明する。符号化部２４には、入力データと、出現確率算出部２３によって算出された出現確率が入力される。
【００３７】
図８は、本体符号の符号化データの構造を示す図である。図９は、付帯符号の符号化データの構造を示す図である。符号化部２４は、ｐ（ｓ）の計算結果を基にハフマン符号や算術符号などの従来手法を用いてデータ値ｖiを可逆に符号化し、本体符号として出力する。また、符号化部２４は、固定長符号化の手法により、プロファイル番号ｑ、推定量ａ及びｂを符号化し、付帯符号として出力する。出力された本体符号と付帯符号は、情報処理装置１の記憶部１２や外部の記憶装置などに伝送され、記憶される。
【００３８】
［復号に関連する構成］
次に、復号に関連する構成について説明する。出現確率算出部４１には、付帯符号が入力される（図２参照）。出現確率算出部４１は、付帯符号からプロファイル番号Ｑ、推定量Ａ及びＢを復元する。
【００３９】
2018160827.tif 000005
【００４０】
出現確率算出部４１は、復元された推定量を用いた確率密度関数からデータ値がとり得る値の出現確率を算出する。
【００４１】
2018160827.tif 000006
【００４２】
次に、復号部４２について説明する。復号部４２には、本体符号が入力される（図２参照）。復号部４２は、本体符号をＰ（ｇ）の計算結果を基にハフマン復号や算術復号などの従来手法を用いて復号し、データ値ｄiとして出力する。復号されたデータ値は、情報処理装置１の記憶部１２や、外部の記憶装置などに伝送され、記憶される。
【００４３】
以上が１つの時間ステップのデータ値に対する処理である。全ての時間ステップにおいて確率変数の分布が同じであると仮定する場合には、１つの時間ステップ（例えば、ｔ＝１）のデータ値から上記の処理により算出された推定量を用いて、他の時間ステップのデータ値の符号化及び復号が行われてもよい。
【００４４】
本発明と従来技術の違いを説明する。例えば、従来手法においてハフマン符号化を用いる場合、シンボルと符号を対応付けた符号表の大きさＣ（ビット）は、データ値の有効桁数をＮとすると、式（９）で与えられる。すなわち、有効桁数が大きくなるに従って符号表のサイズも大きくなる。これに対して、本実施形態の可変長符号化においてハフマン符号化を用いる場合、符号表の代わりにプロファイル番号と推定量を送ることになるが、プロファイル番号と推定量のデータ量は、符号表のデータ量よりも小さく、また、データ値の有効桁数に関係なく一定である。よって、本実施形態によれば、可変長符号による符号化及び復号が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
2018160827.tif 000007
【００４５】
［変形例］
上記の実施形態を以下のように変形してもよい。複数の変形例を組み合せてもよい。
【００４６】
［変形例１］
図１３は、変形例の機能構成を示す図である。この変形例は、上記実施形態に整数変換部３１を追加した例である。整数変換部３１（整数変換手段の一例）は、固定小数点数又は浮動小数点数で表現されたデータ値を整数で表現されたデータ値に変換する。推定量算出部２２と符号化部２４には、整数で表現されたデータ値が入力される。
【００４７】
図１４は、固定小数点数の変換を示す図である。固定小数点数をＤ、有効桁数をＮとし、Ｄを整数に変換した値をＩとする。このとき、Ｉは式（１０）で計算される。
【００４８】
図１５は、浮動小数点数の変換を示す図である。浮動小数点数をＦとすると、Ｆは仮数値Ｍ及び指数値Ｅにより式（１１）で表される。このＭ及びＥを変換後の整数のデータ値とする。
2018160827.tif 000008
【００４９】
図１６は、固定小数点数のデータ値を整数に変換した例である。（ａ）は、固定小数点数のデータ値、（ｂ）は、整数のデータ値である。
【００５０】
この構成によれば、固定小数点数又は浮動小数点数で表現されたデータであっても、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。なお、復号後のデータに対しては、復号部４２が、上記の変換の逆変換により、整数で表現されたデータを固定小数点数又は浮動小数点数で表現されたデータに変換する。
【００５１】
［変形例２］
図１７は、変形例の機能構成を示す図である。図１８は、差分の例を示す図である。この変形例は、上記実施形態に差分算出部３２を追加した例である。差分算出部３２（差分算出手段の一例）は、入力データの時間方向の差分を算出する。時間ｔにおける粒子のｘ座標値ｘ（ｔ）から微小時間Δｔ後のｘ座標値ｘ（ｔ＋Δｔ）までの移動距離Δｘは、式（１２）に示すように当該時間のｘ軸方向の速度ｖxに比例する。そのため、ｖxの分布モデルが正規分布となる場合、座標データの時間方向の差分（移動距離）の分布モデルも正規分布となる。推定量算出部２２と符号化部２４には、差分算出部３２により算出された差分が入力される。
2018160827.tif 000009
【００５２】
この構成によれば、入力データが特定の分布に従わない場合であっても、入力データの差分が特定の分布に従うならば、可変長符号による差分の符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
【００５３】
［変形例３］
図１９は、変形例の機能構成を示す図である。この変形例は、上記実施形態にフレーム分割部３３を追加した例である。
【００５４】
図２０は、符号化の対象とする入力データの例である。この入力データは、例えば、熱平衡状態の下でＩ個（Ｉ＝５００００）の原子の運動をＴ時間ステップ（Ｔ＝１０００００）に渡って分子動力学シミュレーションを行って得られたｘ軸方向の速度Ｖｘ（ｉ，ｔ）のデータ値である。ｉ（ｉ＝１，・・・，Ｉ）は原子の識別番号を表し、ｔ（ｔ＝１，・・・，Ｔ）は時間ステップを表す。速度Ｖｘ（ｉ，ｔ）は、−９．９９９９９から９．９９９９９までの有効数字６桁の固定小数点数で表される。
【００５５】
フレーム分割部３３（フレーム分割手段の一例）は、入力データを時間ステップ毎のフレームに分割する。図２０の例では、それぞれがｉ＝１，・・・，Ｉの原子の速度Ｖｘのデータ値を含むＴ個のフレームに分割される。推定量算出部２２と符号化部２４には、フレーム毎に入力データが入力され、上記実施形態で例示した処理がフレーム毎に実行される。
【００５６】
この構成によれば、時間の経過とともに入力データの分布が変化する場合であっても、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
【００５７】
［変形例４］
図２１は、変形例の機能構成を示す図である。この変形例は、上記実施形態に精度調整部３４を追加した例である。ここで、精度とは、浮動小数点数において、仮数部の最下位の値が示す桁である。例えば、データ値が1.2345e-05である場合、1.2345e-05=12345e-09となるから、精度はe-09となる。ユーザは、復号データに要求する精度（以下、要求精度という。）を予め決めておく。要求精度は操作部１４によって入力されてもよいが、入力データのヘッダに要求精度を示すビットを設け、ヘッダの読み込みによって要求精度が入力されるように構成されてもよい。
【００５８】
精度調整部３４（精度調整手段の一例）は、入力された要求精度に応じてデータの精度を調整する。具体的には、精度調整部３４は、入力された要求精度に応じて、データ値を上位の桁と下位の桁に分割する。上位の桁とは、最上位の桁から要求精度に対応する桁までの部分である。下位の桁とは、要求精度に対応する桁の１つ下の桁から最下位の桁までの部分である。
【００５９】
図２２は、精度調整の前後のデータ値を示す図である。（ａ）が精度調整前のデータ値ｖi’であり、（ｂ）が精度調整後のデータ値ｖi”である。精度調整部３４は、ｖi’を要求精度εに応じて式（１３）により下位の桁を破棄し、ｖi”を算出する。推定量算出部２２と符号化部２４には、精度調整部３４によって精度が調整された精度調整データが入力される。この構成によれば、入力データの精度を調整しない場合と比べて、圧縮率が向上する。
2018160827.tif 000010
【００６０】
［変形例５］
図２３は、変形例の機能構成を示す図である。この変形例は、上記実施形態にグループ分割部３５を追加した例である。グループ分割部３５（グループ分割手段の一例）は、データ値に関連した変数依存情報に基づきデータ値をグループ化する。変数依存情報とは、ある変数が依存する別の変数である。例えば、分子動力学法において、粒子の速度分布は質量に依存するため、質量は、速度に対する変数依存情報である。グループとは、変数依存情報によって分類されたデータ群である。例えば、熱平衡状態における理想気体の粒子の速度分布は、粒子の質量に依存して変化する。すなわち、質量は、速度に対する変数依存情報である。
【００６１】
図２４は、グループ分割の前後のデータ値を示す図である。図２５は、グループ分割の前後の粒子の様子を示す図である。例えば、図２４（ア）、図２５（ア）に示すように質量ｍAを有する粒子と質量ｍBを有する粒子が混在する場合、グループ分割部３５は、入力データを、質量ｍAを有する粒子のグループ（図２４（イ）、２５（イ）に示すグループＡ）と質量ｍBを有する粒子のグループ（図２４（ウ）、図２５（ウ）に示すグループＢ）に分割する。
【００６２】
推定量算出部２２と符号化部２４には、グループ化されたデータ値が入力され、上記実施形態で例示した処理がグループ毎に実行され、グループ毎に推定量と出現確率が算出される。図２５（オ）はグループＡの推定量を用いた確率密度関数、図２５（カ）はグループＢの推定量を用いた確率密度関数である。図２５（エ）はグループ分割せずに算出した推定量を用いた確率密度関数である。この構成によれば、変数依存情報に基づきデータ値をグループに分割しない場合と比べて、圧縮率が向上する。
【００６３】
［変形例６］
図２６は、変形例の機能構成を示す図である。この変形例は、上記実施形態にサンプリング部３６を追加した例である。サンプリング部３６（サンプリング手段の一例）は、推定量の算出に用いるデータを抽出する。上記実施形態では、ｉ＝５００００個の粒子から推定量を算出したが、５００００個の粒子から例えば１０００個のサンプルを抽出する。推定量算出部２２には、抽出されたサンプルが入力され、これらのサンプルから推定量が算出される。抽出されたサンプル以外のデータについては推定量の算出は行われず、符号表を用いて符号化が行われる。この構成によれば、全てのデータを用いて推定量を算出する構成と比べて、推定量の計算量が軽減されるとともに、メモリが節約される。
【００６４】
［変形例７］
図２７は、変形例の機能構成を示す図である。この変形例は、上記実施形態に精度分割部３７、精度統合部５１を追加し、符号化部２４に代えて第１の符号化部２４１、第２の符号化部２４２を設け、復号部４２に代えて第１の復号部４２１、第２の復号部４２２を設けた例である。入力データの精度が高い場合や、入力データの有効桁数に対して十分なデータ数が得られない場合、あるいはデータの分散が大きい場合などには、入力データの経験分布がスパースになるため、可変長符号化の計算量に対する符号化の効率が低下する。そこで、本変形例では、データ値を上位の桁と下位の桁に分割し、可変長符号化の対象を上位の桁に限定する。具体的には、精度分割部３７（精度分割手段の一例）は、入力データのデータ数及び有効数字に基づき入力データを上位の桁と下位の桁に分割する。
【００６５】
図２８は、入力データを示す図である。（ア）は、分割前の入力データｖi”である。（イ）は、式（１４）で定義される上位の桁ｖhigh,i”である。（ウ）は、式（１５）で定義される下位の桁ｖlow,i”である。第１の符号化部２４１には、上位の桁が入力され、第２の符号化部２４２には、下位の桁が入力される。第１の符号化部２４１は、上位の桁ｖhigh,iを可変長符号により第１の符号に符号化する。第２の符号化部２４２は、下位の桁ｖlow,i”を固定長符号により第２の符号に符号化する。第１の復号部４２１には、第１の符号が入力され、第２の復号部４２２には、第２の符号が入力される。第１の復号部４２１は、第１の符号を出現確率に基づき復号することで上位の桁を復元する。第２の復号部４２２は、第２の符号を復号することで下位の桁を復元する。精度統合部５１は、復元された上位の桁と下位の桁を統合する。この構成によれば、入力データの経験分布がスパースである場合に、全ての桁を符号化手段に入力する場合と比べて、可変長符号の符号設計に要する計算量が削減される。
2018160827.tif 000011
【００６６】
［変形例８］
2018160827.tif 000012
【００６７】
［変形例９］
2018160827.tif 000013
【００６８】
［変形例１０］
2018160827.tif 000014
【００６９】
［変形例１１］
2018160827.tif 000015
【００７０】
［変形例１２]
2018160827.tif 000016
【００７１】
［変形例１３］
コンピュータに上記の処理を実行させるためのプログラムは、例えば、光記録媒体、半導体メモリなどのコンピュータに読取り可能な記録媒体に持続的に記憶された状態で提供されてもよいし、インターネット等の通信ネットワークを介して提供されてもよい。本発明に係るプログラムが記録媒体に持続的に記憶された状態で提供される場合、コンピュータが当該プログラムを記録媒体から読み取り用いる。また、本発明に係るプログラムが通信ネットワークを介して提供される場合、コンピュータが当該プログラムを配信元の装置から受信して用いる。
【符号の説明】
【００７２】
１…情報処理装置、１１…演算部、１２…記憶部、１３…通信部、１４…操作部、１５…表示部、２１…分布モデル選択部、２２…推定量算出部、２３…出現確率算出部、２４…符号化部、２４１…第１の符号化部、２４２…第２の符号化部、３１…整数変換部、３２…差分算出部、３３…フレーム分割部、３４…精度調整部、３５…グループ分割部、３６…サンプリング部、３７…精度分割部、４１…出現確率算出部、４２…復号部、４２１…第１の復号部、４２２…第２の復号部、５１…精度統合部
【図１】
2018160827.tif 000017
【図２】
2018160827.tif 000018
【図３】
2018160827.tif 000019
【図４】
2018160827.tif 000020
【図５】
2018160827.tif 000021
【図６】
2018160827.tif 000022
【図７】
2018160827.tif 000023
【図８】
2018160827.tif 000024
【図９】
2018160827.tif 000025
【図１０】
2018160827.tif 000026
【図１１】
2018160827.tif 000027
【図１２】
2018160827.tif 000028
【図１３】
2018160827.tif 000029
【図１４】
2018160827.tif 000030
【図１５】
2018160827.tif 000031
【図１６】
2018160827.tif 000032
【図１７】
2018160827.tif 000033
【図１８】
2018160827.tif 000034
【図１９】
2018160827.tif 000035
【図２０】
2018160827.tif 000036
【図２１】
2018160827.tif 000037
【図２２】
2018160827.tif 000038
【図２３】
2018160827.tif 000039
【図２４】
2018160827.tif 000040
【図２５】
2018160827.tif 000041
【図２６】
2018160827.tif 000042
【図２７】
2018160827.tif 000043
【図２８】
2018160827.tif 000044