JP6965539B2 - Coding device, decoding device and program - Google Patents
Coding device, decoding device and program Download PDFInfo
- Publication number
- JP6965539B2 JP6965539B2 JP2017057591A JP2017057591A JP6965539B2 JP 6965539 B2 JP6965539 B2 JP 6965539B2 JP 2017057591 A JP2017057591 A JP 2017057591A JP 2017057591 A JP2017057591 A JP 2017057591A JP 6965539 B2 JP6965539 B2 JP 6965539B2
- Authority
- JP
- Japan
- Prior art keywords
- input data
- coding
- input
- data
- distribution
- 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.)
- Active
Links
Images
Description
本発明は、符号化装置、復号装置及びプログラムに関する。 The present invention relates to a coding device, a decoding device and a program.
特許文献1には、数値解析の結果情報を圧縮するプログラムが記載されている。このプログラムは、演算部が、数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として記憶部から読み込むステップと、演算部が、変数依存情報から変換情報を生成するステップと、演算部が、変換情報に基づいて複数の結果情報を変換するステップと、演算部が、変換した結果情報を圧縮するステップと、演算部が、圧縮した結果情報を記憶部に格納するステップとを備える。
特許文献2には、粒子の空間座標およびその時系列データを圧縮する方法が記載されている。この方法は、解析対象となる空間とそこに存在する粒子の情報から、要求される精度の表現に座標を変換する処理と、変換された座標の一部の情報を共有するグループに分割する処理と、グループ毎に必要最小限の情報を出力する処理とからなる。
特許文献3には、分散が大きいデータを含む多様な分布のデータや、時間的に非定常なデータを可逆圧縮する装置が記載されている。この装置は、時系列の入力値で構成された入力データから入力値を時刻ごとに取得し、取得した入力値より過去の入力値に基づき所定の予測方法を用いて予測値を時刻ごとに計算し、取得した入力値と計算した予測値との残差を処理装置により時刻ごとに算出する残差算出部と、それぞれ異なる符号化方法を示す複数の符号化パラメータの各々が示す符号化方法の事前確率を定義する事前確率情報を記憶装置により予め格納する事前確率格納部と、残差算出部により算出された残差より過去の残差を、複数の符号化パラメータの各々が示す符号化方法を用いて符号化した場合の当該過去の残差の符号長と、事前確率格納部に格納された事前確率情報で定義されている当該符号化方法の事前確率とに基づき、残差算出部により算出された残差に対して、複数の符号化パラメータのうち、当該過去の残差を符号化した場合に当該過去の残差の符号長が他の符号化方法より短くなる符号化方法を示す符号化パラメータを処理装置により時刻ごとに選択する符号化パラメータ選択部と、残差算出部により算出された残差を時刻ごとに取得し、取得した残差を、符号化パラメータ選択部により当該残差に対して選択された符号化パラメータが示す符号化方法を用いて処理装置により符号化して当該残差の符号語を時刻ごとに算出し、算出した符号語を入力データの圧縮データとして出力する残差符号化部とを備える。
データの圧縮に適した符号として、出現確率が高いシンボルほど短い符号を割り当てる可変長符号(エントロピー符号)が知られている。可変長符号による符号化と復号においては、シンボルと符号を対応付けた符号表に従って符号化と復号が行われる。符号表は、データに含まれるシンボルが増加するにつれて肥大化するため、圧縮の高効率化の障害となってしまう。
上記の事情に鑑み、本発明は、可変長符号による符号化及び復号を、経験分布を基に構築した符号表を用いるよりも高効率に行うことを目的とする。
As a code suitable for data compression, a variable length code (entropy code) is known in which a symbol having a higher probability of appearance is assigned a shorter code. In the coding and decoding by the variable length code, the coding and decoding are performed according to the code table in which the symbol and the code are associated with each other. Since the code table becomes bloated as the number of symbols contained in the data increases, it becomes an obstacle to high compression efficiency.
In view of the above circumstances, an object of the present invention is to perform coding and decoding by a variable length code with higher efficiency than using a code table constructed based on an empirical distribution.
請求項1に係る発明は、入力データと前記入力データの分布モデルとから前記入力データの確率分布の母数の推定量を算出する推定量算出手段と、算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、算出された前記出現確率を用いて前記データ値を可変長符号化する符号化手段と、前記符号化手段により可変長符号化された前記データ値に付帯する付帯符号として、前記分布モデルを特定するプロファイル情報、及び前記推定量を出力する出力手段と、を備える符号化装置を提供する。
The invention according to
請求項2に係る発明は、請求項1に記載の符号化装置において、固定小数点数又は浮動小数点数で表現された前記入力データを整数で表現された入力データに変換し、整数で表現された前記入力データを前記推定量算出手段と前記符号化手段に入力する整数変換手段を備える。
In the coding apparatus according to
請求項3に係る発明は、請求項1又は2に記載の符号化装置において、前記入力データの時間方向の差分を算出し、前記入力データに代えて前記差分を前記推定量算出手段と前記符号化手段に入力する差分算出手段を備える。
In the invention according to
請求項4に係る発明は、請求項1乃至3のいずれか1項に記載の符号化装置において、前記入力データを時間ステップ毎のフレームに分割し、前記フレーム毎に前記入力データを前記推定量算出手段と前記符号化手段に入力するフレーム分割手段を備える。
In the invention according to
請求項5に係る発明は、請求項1乃至4のいずれか1項に記載の符号化装置において、指定された精度に応じて前記入力データの精度を調整し、精度の調整された前記入力データを前記推定量算出手段と前記符号化手段に入力する精度調整手段を備える。
The invention according to claim 5 is the coding apparatus according to any one of
請求項6に係る発明は、請求項1乃至5のいずれか1項に記載の符号化装置において、前記データ値に関連する変数依存情報に基づき前記データ値をグループに分割し、前記グループ毎に前記入力データを前記推定量算出手段と前記符号化手段に入力するグループ分割手段を備える。
In the invention according to
請求項7に係る発明は、請求項1乃至6のいずれか1項に記載の符号化装置において、前記入力データからサンプルを抽出し、抽出されたサンプルを前記推定量算出手段に入力するサンプリング手段を備える。
The invention according to claim 7 is a sampling means according to any one of
請求項8に係る発明は、請求項1乃至7のいずれか1項に記載の符号化装置において、前記入力データのデータ数と有効数字とに基づき前記入力データを上位の桁と下位の桁に分割し、前記上位の桁を前記符号化手段に入力する精度分割手段を備える。
According to the invention of
請求項9に係る発明は、入力データの分布モデルを特定するプロファイル情報、及び前記入力データの確率分布の母数の推定量を示す付帯符号を入力する入力手段と、前記入力手段により入力された前記付帯符号から、特定される前記分布モデルと、復元される前記推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段とを備える復号装置を提供する。
The invention according to
請求項10に係る発明は、コンピュータを、入力データと前記入力データの分布モデルとから前記入力データの確率分布の母数の推定量を算出する推定量算出手段と、算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、算出された前記出現確率を用いて前記データ値を可変長符号化する符号化手段と、前記符号化手段により可変長符号化された前記データ値に付帯する付帯符号として、前記分布モデルを特定するプロファイル情報、及び前記推定量を出力する出力手段として機能させるためのプログラムを提供する。 The invention according to claim 10 uses a computer as an estimation amount calculating means for calculating an estimated amount of a population of a probability distribution of the input data from the input data and a distribution model of the input data, and the calculated estimated amount. An appearance probability calculating means for calculating the appearance probability of a data value included in the input data from the probability distribution used, a coding means for variable-length coding the data value using the calculated appearance probability, and the code. As ancillary code attached to the data value variable length encoded by the conversion means, profile information for specifying the distribution model and a program for functioning as an output means for outputting the estimated amount are provided.
請求項11に係る発明は、コンピュータを、入力データの分布モデルを特定するプロファイル情報、及び前記入力データの確率分布の母数の推定量を示す付帯符号を入力する入力手段と、前記入力手段により入力された前記付帯符号から、特定される前記分布モデルと、復元される前記推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段として機能させるためのプログラムを提供する。
The invention according to
請求項1、10に係る発明によれば、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
請求項2に係る発明によれば、固定小数点数又は浮動小数点数で表現されたデータであっても、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
請求項3に係る発明によれば、入力データが特定の分布に従わない場合であっても、入力データの差分が特定の分布に従うならば、可変長符号による差分の符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
請求項4に係る発明によれば、時間の経過とともに入力データの分布が変化する場合であっても、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
請求項5に係る発明によれば、入力データの精度を調整しない場合と比べて、圧縮率が向上する。
請求項6に係る発明によれば、変数依存情報に基づきデータ値をグループに分割しない場合と比べて、圧縮率が向上する。
請求項7に係る発明によれば、全てのデータを用いて推定量を算出する構成と比べて、推定量の計算量が軽減されるとともに、メモリが節約される。
請求項8に係る発明によれば、入力データの経験分布がスパースである場合に、全ての桁を符号化手段に入力する場合と比べて、可変長符号の符号設計に要する計算量が削減される。
請求項9、11に係る発明によれば、可変長符号による復号が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
According to the inventions according to
According to the invention of
According to the invention of
According to the invention of
According to the invention of claim 5, the compression ratio is improved as compared with the case where the accuracy of the input data is not adjusted.
According to the invention of
According to the invention of claim 7, the calculation amount of the estimated amount is reduced and the memory is saved as compared with the configuration in which the estimated amount is calculated using all the data.
According to the invention of
According to the inventions of
本発明を実施するための形態の一例について説明する。
図1は、情報処理装置1のハードウェア構成を示す図である。情報処理装置1は、演算部11、記憶部12、通信部13、操作部14、表示部15を備える。記憶部12は、例えばハードディスクドライブやメモリなどの記憶装置であり、プログラムやデータを記憶する。演算部11は、プロセッサと、演算のワークエリアとして用いられるメモリを備え、記憶部12に記憶されたプログラムに従って演算を実行する。通信部13は、情報処理装置1と外部装置との通信インターフェイスである。操作部14は、キーボードやマウスなどの入力装置を備え、ユーザによる操作を受け付ける。表示部15は、液晶表示パネルなどの表示装置を備え、GUI(Graphical User Interface)の画面を表示する。なお、操作部14と表示部15は、外部装置として構成されてもよい。
An example of a mode for carrying out the present invention will be described.
FIG. 1 is a diagram showing a hardware configuration of the
図2は、情報処理装置1の機能構成を示す図である。図示された各構成要素は、情報処理装置1にインストールされたソフトウェアを機能毎のモジュールとして示したものである。演算部11がソフトウェアを実行することにより、これらのモジュールの機能が実現される。分布モデル選択部21、推定量算出部22、出現確率算出部23、符号化部24は、符号化に関連する機能であり、本発明に係る符号化装置の一例である。出現確率算出部41、復号部42は、復号に関連する機能であり、本発明に係る復号装置の一例である。
FIG. 2 is a diagram showing a functional configuration of the
図3は、情報処理装置1が実行する処理の手順を示す流れ図である。(a)は符号化の手順を示し、(b)は復号の手順を示す。
FIG. 3 is a flow chart showing a procedure of processing executed by the
分布モデル選択部21は、入力されたプロファイル番号に対応する分布モデルを選択する(ステップS11)。推定量算出部22(推定量算出手段の一例)は、入力データと入力データの分布モデルとから入力データの確率分布の母数の推定量を算出する(ステップS12)。出現確率算出部23(符号化装置の出現確率算出手段の一例)は、算出された推定量を用いた確率分布から入力データに含まれるデータ値の出現確率を算出する(ステップS13)。符号化部24(符号化手段の一例)は、算出された出現確率を用いてデータ値を可変長符号化する(ステップS14)。
The distribution
出現確率算出部41(復号装置の出現確率算出手段の一例)は、入力データの分布モデルと入力データの確率分布の母数の推定量とを用いて分布を復元し(ステップS21)、入力データに含まれるデータ値の出現確率を算出する(ステップS22)。復号部42(復号手段の一例)は、算出された出現確率を用いて、可変長符号化されたデータ値を復号する(ステップS23)。以下、各部の詳細について説明する。 The appearance probability calculation unit 41 (an example of the appearance probability calculation means of the decoding device) restores the distribution using the distribution model of the input data and the estimator of the parameter of the probability distribution of the input data (step S21), and the input data. The appearance probability of the data value included in is calculated (step S22). The decoding unit 42 (an example of the decoding means) decodes the variable-length encoded data value using the calculated appearance probability (step S23). The details of each part will be described below.
[符号化に関連する構成]
符号化に関連する構成について説明する。符号化の対象とする入力データは、例えば、熱平衡状態の下でI個の原子の運動をT時間ステップに渡って分子動力学シミュレーションを行って得られたx軸方向の速度Vx(i,t)のデータ値である。i(i=1,・・・,I)は原子の識別番号を表し、t(t=1,・・・,T)は時間ステップを表す。データ値は、有効桁数N桁の整数で表されている。
[Configuration related to coding]
The configuration related to coding will be described. The input data to be encoded is, for example, the velocity Vx (i, t) in the x-axis direction obtained by performing a molecular dynamics simulation of the motion of I atoms over a T-time step under a thermal equilibrium state. ) Data value. i (i = 1, ..., I) represents the identification number of the atom, and t (t = 1, ..., T) represents the time step. The data value is represented by an integer having N significant digits.
図4は、或る時間ステップにおける速度の経験分布を示すグラフである。横軸は速度、縦軸は出現確率である。分子動力学シミュレーションにおいて、熱平衡状態の原子の速度分布は正規分布となるように制御される。 FIG. 4 is a graph showing the empirical distribution of velocity at a given time step. The horizontal axis is the velocity and the vertical axis is the probability of appearance. In molecular dynamics simulations, the velocity distribution of atoms in thermal equilibrium is controlled to be normal.
なお、分子動力学シミュレーションではy軸方向の速度Vy(i,t)とz軸方向の速度Vz(i,t)も計算されるが、これらの符号化と復号の手順はVx(i,t)と同様であるから、以下ではVx(i,t)の例のみ説明する。 In the molecular dynamics simulation, the velocity Vy (i, t) in the y-axis direction and the velocity Vz (i, t) in the z-axis direction are also calculated. ), Only the example of Vx (i, t) will be described below.
次に、分布モデル選択部21について説明する。
図5は、プロファイル番号と分布モデルとの対応表を示す図である。この例では、正規分布、指数分布、ポアソン分布、ガンマ分布、ワイブル分布の合計5種類の分布モデルが示されているが、これ以外の分布モデルが対応表に含まれてもよい。対応表は、分布モデル選択部21に設定されている。
Next, the distribution
FIG. 5 is a diagram showing a correspondence table between the profile number and the distribution model. In this example, a total of five types of distribution models, a normal distribution, an exponential distribution, a Poisson distribution, a gamma distribution, and a Weibull distribution, are shown, but other distribution models may be included in the correspondence table. The correspondence table is set in the distribution
分布モデル選択部21には、プロファイル番号が入力される(図2参照)。プロファイル番号は操作部14によって入力されてもよいが、入力データのヘッダにプロファイル番号を示すビットを設け、ヘッダの読み込みによってプロファイル番号が入力されるように構成されてもよい。
A profile number is input to the distribution model selection unit 21 (see FIG. 2). The profile number may be input by the
分布モデル選択部21は、入力されたプロファイル番号qに対応する分布モデルを対応表から選択し、選択された分布モデルを示す分布モデル情報を出力する。例えば、分子動力学シミュレーションにおいて、熱平衡状態の原子の速度分布は正規分布となるように制御されているから、プロファイル番号として0が入力され、分布モデルとして正規分布が選択され、正規分布を示す分布モデル情報が出力される。
The distribution
次に、推定量算出部22について説明する。推定量とは、確率分布の母数の推定値である。母数とは、確率分布を決定付ける定数であり、平均、分散、標準偏差、中央値、期待値などである。本実施形態では、期待値と分散の推定量を算出する。
推定量算出部22には、入力データと、分布モデル選択部21から出力された分布モデル情報が入力される。推定量算出部22は、入力データと分布モデル情報を用いて以下の手順により期待値と分散の推定量を算出する。
Next, the
The input data and the distribution model information output from the distribution
次に、出現確率算出部23について説明する。以下、速度Vx(i,1)が従う確率変数をVとする。また、Vx(i,1)をviで表す場合がある。前述の推定量算出部22の説明におけるX、は、それぞれV、viに対応する。
Next, the appearance
出現確率算出部23には、推定量算出部22によって算出された推定量が入力される。出現確率算出部23は、推定量を用いた確率密度関数から確率変数Vがとり得る値の出現確率を算出する。
The estimator calculated by the
次に、符号化部24について説明する。符号化部24には、入力データと、出現確率算出部23によって算出された出現確率が入力される。
Next, the
図8は、本体符号の符号化データの構造を示す図である。図9は、付帯符号の符号化データの構造を示す図である。符号化部24は、p(s)の計算結果を基にハフマン符号や算術符号などの従来手法を用いてデータ値viを可逆に符号化し、本体符号として出力する。また、符号化部24は、固定長符号化の手法により、プロファイル番号q、推定量a及びbを符号化し、付帯符号として出力する。出力された本体符号と付帯符号は、情報処理装置1の記憶部12や外部の記憶装置などに伝送され、記憶される。
FIG. 8 is a diagram showing the structure of coded data of the main body code. FIG. 9 is a diagram showing the structure of the coded data of the incidental code. The coding unit 24 reversibly encodes the data value v i using a conventional method such as a Huffman code or an arithmetic code based on the calculation result of p (s), and outputs the data value v i as a main body code. Further, the
[復号に関連する構成]
次に、復号に関連する構成について説明する。出現確率算出部41には、付帯符号が入力される(図2参照)。出現確率算出部41は、付帯符号からプロファイル番号Q、推定量A及びBを復元する。
[Configuration related to decryption]
Next, the configuration related to decoding will be described. An incidental code is input to the appearance probability calculation unit 41 (see FIG. 2). The appearance
出現確率算出部41は、復元された推定量を用いた確率密度関数からデータ値がとり得る値の出現確率を算出する。
The appearance
次に、復号部42について説明する。復号部42には、本体符号が入力される(図2参照)。復号部42は、本体符号をP(g)の計算結果を基にハフマン復号や算術復号などの従来手法を用いて復号し、データ値diとして出力する。復号されたデータ値は、情報処理装置1の記憶部12や、外部の記憶装置などに伝送され、記憶される。
Next, the
以上が1つの時間ステップのデータ値に対する処理である。全ての時間ステップにおいて確率変数の分布が同じであると仮定する場合には、1つの時間ステップ(例えば、t=1)のデータ値から上記の処理により算出された推定量を用いて、他の時間ステップのデータ値の符号化及び復号が行われてもよい。 The above is the processing for the data value of one time step. Assuming that the distribution of random variables is the same in all time steps, the estimator calculated by the above process from the data value of one time step (for example, t = 1) is used for the other. Coding and decoding of data values in time steps may be performed.
本発明と従来技術の違いを説明する。例えば、従来手法においてハフマン符号化を用いる場合、シンボルと符号を対応付けた符号表の大きさC(ビット)は、データ値の有効桁数をNとすると、式(9)で与えられる。すなわち、有効桁数が大きくなるに従って符号表のサイズも大きくなる。これに対して、本実施形態の可変長符号化においてハフマン符号化を用いる場合、符号表の代わりにプロファイル番号と推定量を送ることになるが、プロファイル番号と推定量のデータ量は、符号表のデータ量よりも小さく、また、データ値の有効桁数に関係なく一定である。よって、本実施形態によれば、可変長符号による符号化及び復号が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。
The difference between the present invention and the prior art will be described. For example, when Huffman coding is used in the conventional method, the size C (bit) of the code table in which the symbol and the code are associated is given by the equation (9), where N is the number of effective digits of the data value. That is, as the number of significant digits increases, so does the size of the code table. On the other hand, when Huffman coding is used in the variable length coding of the present embodiment, the profile number and the estimated amount are sent instead of the code table, but the data amount of the profile number and the estimated amount is the code table. It is smaller than the amount of data in, and is constant regardless of the number of effective digits of the data value. Therefore, according to the present embodiment, the coding and decoding by the variable length code is performed with higher efficiency than using the code table constructed based on the empirical distribution.
[変形例]
上記の実施形態を以下のように変形してもよい。複数の変形例を組み合せてもよい。
[Modification example]
The above embodiment may be modified as follows. A plurality of modified examples may be combined.
[変形例1]
図13は、変形例の機能構成を示す図である。この変形例は、上記実施形態に整数変換部31を追加した例である。整数変換部31(整数変換手段の一例)は、固定小数点数又は浮動小数点数で表現されたデータ値を整数で表現されたデータ値に変換する。推定量算出部22と符号化部24には、整数で表現されたデータ値が入力される。
[Modification 1]
FIG. 13 is a diagram showing a functional configuration of a modified example. This modification is an example in which the
図14は、固定小数点数の変換を示す図である。固定小数点数をD、有効桁数をNとし、Dを整数に変換した値をIとする。このとき、Iは式(10)で計算される。 FIG. 14 is a diagram showing conversion of fixed-point numbers. Let D be the fixed-point number, N be the number of significant digits, and I be the value obtained by converting D to an integer. At this time, I is calculated by the equation (10).
図15は、浮動小数点数の変換を示す図である。浮動小数点数をFとすると、Fは仮数値M及び指数値Eにより式(11)で表される。このM及びEを変換後の整数のデータ値とする。
FIG. 15 is a diagram showing the conversion of floating point numbers. Assuming that the floating-point number is F, F is represented by the equation (11) by the formal value M and the exponential value E. Let M and E be the converted integer data values.
図16は、固定小数点数のデータ値を整数に変換した例である。(a)は、固定小数点数のデータ値、(b)は、整数のデータ値である。 FIG. 16 is an example of converting a fixed-point number data value into an integer. (A) is a fixed-point number data value, and (b) is an integer data value.
この構成によれば、固定小数点数又は浮動小数点数で表現されたデータであっても、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。なお、復号後のデータに対しては、復号部42が、上記の変換の逆変換により、整数で表現されたデータを固定小数点数又は浮動小数点数で表現されたデータに変換する。
According to this configuration, even data represented by a fixed-point number or a floating-point number can be coded by a variable-length code with higher efficiency than using a code table constructed based on an empirical distribution. For the decrypted data, the
[変形例2]
図17は、変形例の機能構成を示す図である。図18は、差分の例を示す図である。この変形例は、上記実施形態に差分算出部32を追加した例である。差分算出部32(差分算出手段の一例)は、入力データの時間方向の差分を算出する。時間tにおける粒子のx座標値x(t)から微小時間Δt後のx座標値x(t+Δt)までの移動距離Δxは、式(12)に示すように当該時間のx軸方向の速度vxに比例する。そのため、vxの分布モデルが正規分布となる場合、座標データの時間方向の差分(移動距離)の分布モデルも正規分布となる。推定量算出部22と符号化部24には、差分算出部32により算出された差分が入力される。
[Modification 2]
FIG. 17 is a diagram showing a functional configuration of a modified example. FIG. 18 is a diagram showing an example of the difference. This modification is an example in which the difference calculation unit 32 is added to the above embodiment. The difference calculation unit 32 (an example of the difference calculation means) calculates the difference in the time direction of the input data. The moving distance Δx from the x-coordinate value x (t) of the particle at the time t to the x-coordinate value x (t + Δt) after the minute time Δt is the velocity v x in the x-axis direction of the time as shown in the equation (12). Is proportional to. Therefore, when the distribution model of v x has a normal distribution, the distribution model of the difference (movement distance) in the time direction of the coordinate data also has a normal distribution. The difference calculated by the difference calculation unit 32 is input to the
この構成によれば、入力データが特定の分布に従わない場合であっても、入力データの差分が特定の分布に従うならば、可変長符号による差分の符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。 According to this configuration, even if the input data does not follow a specific distribution, if the differences in the input data follow a specific distribution, the coding of the differences with variable length codes is constructed based on the empirical distribution. It is more efficient than using a code table.
[変形例3]
図19は、変形例の機能構成を示す図である。この変形例は、上記実施形態にフレーム分割部33を追加した例である。
[Modification 3]
FIG. 19 is a diagram showing a functional configuration of a modified example. This modification is an example in which the
図20は、符号化の対象とする入力データの例である。この入力データは、例えば、熱平衡状態の下でI個(I=50000)の原子の運動をT時間ステップ(T=100000)に渡って分子動力学シミュレーションを行って得られたx軸方向の速度Vx(i,t)のデータ値である。i(i=1,・・・,I)は原子の識別番号を表し、t(t=1,・・・,T)は時間ステップを表す。速度Vx(i,t)は、−9.99999から9.99999までの有効数字6桁の固定小数点数で表される。 FIG. 20 is an example of input data to be encoded. This input data is, for example, the velocity in the x-axis direction obtained by performing a molecular dynamics simulation of the motion of I (I = 50,000) atoms over a T-time step (T = 100,000) under a thermal equilibrium state. It is a data value of Vx (i, t). i (i = 1, ..., I) represents the identification number of the atom, and t (t = 1, ..., T) represents the time step. The velocity Vx (i, t) is represented by a fixed-point number with 6 significant digits from -9.99999 to 9.99999.
フレーム分割部33(フレーム分割手段の一例)は、入力データを時間ステップ毎のフレームに分割する。図20の例では、それぞれがi=1,・・・,Iの原子の速度Vxのデータ値を含むT個のフレームに分割される。推定量算出部22と符号化部24には、フレーム毎に入力データが入力され、上記実施形態で例示した処理がフレーム毎に実行される。
The frame dividing unit 33 (an example of the frame dividing means) divides the input data into frames for each time step. In the example of FIG. 20, each is divided into T frames including the data values of the velocity Vx of the atoms of i = 1, ..., I. Input data is input to the
この構成によれば、時間の経過とともに入力データの分布が変化する場合であっても、可変長符号による符号化が、経験分布を基に構築した符号表を用いるよりも高効率に行われる。 According to this configuration, even when the distribution of the input data changes with the passage of time, the coding by the variable length code is performed with higher efficiency than using the code table constructed based on the empirical distribution.
[変形例4]
図21は、変形例の機能構成を示す図である。この変形例は、上記実施形態に精度調整部34を追加した例である。ここで、精度とは、浮動小数点数において、仮数部の最下位の値が示す桁である。例えば、データ値が1.2345e-05である場合、1.2345e-05=12345e-09となるから、精度はe-09となる。ユーザは、復号データに要求する精度(以下、要求精度という。)を予め決めておく。要求精度は操作部14によって入力されてもよいが、入力データのヘッダに要求精度を示すビットを設け、ヘッダの読み込みによって要求精度が入力されるように構成されてもよい。
[Modification example 4]
FIG. 21 is a diagram showing a functional configuration of a modified example. This modification is an example in which the
精度調整部34(精度調整手段の一例)は、入力された要求精度に応じてデータの精度を調整する。具体的には、精度調整部34は、入力された要求精度に応じて、データ値を上位の桁と下位の桁に分割する。上位の桁とは、最上位の桁から要求精度に対応する桁までの部分である。下位の桁とは、要求精度に対応する桁の1つ下の桁から最下位の桁までの部分である。
The accuracy adjusting unit 34 (an example of the accuracy adjusting means) adjusts the accuracy of the data according to the input required accuracy. Specifically, the
図22は、精度調整の前後のデータ値を示す図である。(a)が精度調整前のデータ値vi’であり、(b)が精度調整後のデータ値vi”である。精度調整部34は、vi’を要求精度εに応じて式(13)により下位の桁を破棄し、vi”を算出する。推定量算出部22と符号化部24には、精度調整部34によって精度が調整された精度調整データが入力される。この構成によれば、入力データの精度を調整しない場合と比べて、圧縮率が向上する。
FIG. 22 is a diagram showing data values before and after the accuracy adjustment. (A) the accuracy unadjusted data values v i 'is, (b) is the data value v i "after accuracy adjustment.
[変形例5]
図23は、変形例の機能構成を示す図である。この変形例は、上記実施形態にグループ分割部35を追加した例である。グループ分割部35(グループ分割手段の一例)は、データ値に関連した変数依存情報に基づきデータ値をグループ化する。変数依存情報とは、ある変数が依存する別の変数である。例えば、分子動力学法において、粒子の速度分布は質量に依存するため、質量は、速度に対する変数依存情報である。グループとは、変数依存情報によって分類されたデータ群である。例えば、熱平衡状態における理想気体の粒子の速度分布は、粒子の質量に依存して変化する。すなわち、質量は、速度に対する変数依存情報である。
[Modification 5]
FIG. 23 is a diagram showing a functional configuration of a modified example. This modification is an example in which the group division unit 35 is added to the above embodiment. The group dividing unit 35 (an example of the group dividing means) groups the data values based on the variable dependency information related to the data values. Variable dependency information is another variable on which one variable depends. For example, in the molecular dynamics method, the velocity distribution of a particle depends on the mass, so the mass is variable-dependent information with respect to the velocity. A group is a group of data classified by variable-dependent information. For example, the velocity distribution of ideal gas particles in a thermal equilibrium state changes depending on the mass of the particles. That is, mass is variable-dependent information for velocity.
図24は、グループ分割の前後のデータ値を示す図である。図25は、グループ分割の前後の粒子の様子を示す図である。例えば、図24(ア)、図25(ア)に示すように質量mAを有する粒子と質量mBを有する粒子が混在する場合、グループ分割部35は、入力データを、質量mAを有する粒子のグループ(図24(イ)、25(イ)に示すグループA)と質量mBを有する粒子のグループ(図24(ウ)、図25(ウ)に示すグループB)に分割する。 FIG. 24 is a diagram showing data values before and after group division. FIG. 25 is a diagram showing the state of particles before and after group division. For example, FIG. 24 (A), FIG. 25 if the particles having a particle mass m B having a mass m A as shown in (A) are mixed, the group division unit 35, the input data has a mass m A group of the particles is divided into groups of particles having a mass m B (FIG. 24 (b), 25 (group a shown in b)) (FIG. 24 (c), the group B shown in FIG. 25 (c)).
推定量算出部22と符号化部24には、グループ化されたデータ値が入力され、上記実施形態で例示した処理がグループ毎に実行され、グループ毎に推定量と出現確率が算出される。図25(オ)はグループAの推定量を用いた確率密度関数、図25(カ)はグループBの推定量を用いた確率密度関数である。図25(エ)はグループ分割せずに算出した推定量を用いた確率密度関数である。この構成によれば、変数依存情報に基づきデータ値をグループに分割しない場合と比べて、圧縮率が向上する。
Grouped data values are input to the
[変形例6]
図26は、変形例の機能構成を示す図である。この変形例は、上記実施形態にサンプリング部36を追加した例である。サンプリング部36(サンプリング手段の一例)は、推定量の算出に用いるデータを抽出する。上記実施形態では、i=50000個の粒子から推定量を算出したが、50000個の粒子から例えば1000個のサンプルを抽出する。推定量算出部22には、抽出されたサンプルが入力され、これらのサンプルから推定量が算出される。抽出されたサンプル以外のデータについては推定量の算出は行われず、符号表を用いて符号化が行われる。この構成によれば、全てのデータを用いて推定量を算出する構成と比べて、推定量の計算量が軽減されるとともに、メモリが節約される。
[Modification 6]
FIG. 26 is a diagram showing a functional configuration of a modified example. This modification is an example in which the
[変形例7]
図27は、変形例の機能構成を示す図である。この変形例は、上記実施形態に精度分割部37、精度統合部51を追加し、符号化部24に代えて第1の符号化部241、第2の符号化部242を設け、復号部42に代えて第1の復号部421、第2の復号部422を設けた例である。入力データの精度が高い場合や、入力データの有効桁数に対して十分なデータ数が得られない場合、あるいはデータの分散が大きい場合などには、入力データの経験分布がスパースになるため、可変長符号化の計算量に対する符号化の効率が低下する。そこで、本変形例では、データ値を上位の桁と下位の桁に分割し、可変長符号化の対象を上位の桁に限定する。具体的には、精度分割部37(精度分割手段の一例)は、入力データのデータ数及び有効数字に基づき入力データを上位の桁と下位の桁に分割する。
[Modification 7]
FIG. 27 is a diagram showing a functional configuration of a modified example. In this modification, the
図28は、入力データを示す図である。(ア)は、分割前の入力データvi”である。(イ)は、式(14)で定義される上位の桁vhigh,i”である。(ウ)は、式(15)で定義される下位の桁vlow,i”である。第1の符号化部241には、上位の桁が入力され、第2の符号化部242には、下位の桁が入力される。第1の符号化部241は、上位の桁vhigh,iを可変長符号により第1の符号に符号化する。第2の符号化部242は、下位の桁vlow,i”を固定長符号により第2の符号に符号化する。第1の復号部421には、第1の符号が入力され、第2の復号部422には、第2の符号が入力される。第1の復号部421は、第1の符号を出現確率に基づき復号することで上位の桁を復元する。第2の復号部422は、第2の符号を復号することで下位の桁を復元する。精度統合部51は、復元された上位の桁と下位の桁を統合する。この構成によれば、入力データの経験分布がスパースである場合に、全ての桁を符号化手段に入力する場合と比べて、可変長符号の符号設計に要する計算量が削減される。
FIG. 28 is a diagram showing input data. (A) is the input data v i "before division. (B) is the upper digit v high, i " defined by the equation (14). (C) is the lower digit v low, i "defined in the equation (15). The upper digit is input to the
[変形例8]
[Modification 8]
[変形例9]
[Modification 9]
[変形例10]
[Modification 10]
[変形例11]
[Modification 11]
[変形例12]
[Modification 12]
[変形例13]
コンピュータに上記の処理を実行させるためのプログラムは、例えば、光記録媒体、半導体メモリなどのコンピュータに読取り可能な記録媒体に持続的に記憶された状態で提供されてもよいし、インターネット等の通信ネットワークを介して提供されてもよい。本発明に係るプログラムが記録媒体に持続的に記憶された状態で提供される場合、コンピュータが当該プログラムを記録媒体から読み取り用いる。また、本発明に係るプログラムが通信ネットワークを介して提供される場合、コンピュータが当該プログラムを配信元の装置から受信して用いる。
[Modification 13]
The program for causing the computer to execute the above processing may be provided, for example, in a state of being continuously stored in a computer-readable recording medium such as an optical recording medium or a semiconductor memory, or a communication such as the Internet. It may be provided over the network. When the program according to the present invention is provided in a state of being continuously stored in a recording medium, a computer reads the program from the recording medium and uses it. When the program according to the present invention is provided via a communication network, the computer receives the program from the distribution source device and uses it.
1…情報処理装置、11…演算部、12…記憶部、13…通信部、14…操作部、15…表示部、21…分布モデル選択部、22…推定量算出部、23…出現確率算出部、24…符号化部、241…第1の符号化部、242…第2の符号化部、31…整数変換部、32…差分算出部、33…フレーム分割部、34…精度調整部、35…グループ分割部、36…サンプリング部、37…精度分割部、41…出現確率算出部、42…復号部、421…第1の復号部、422…第2の復号部、51…精度統合部 1 ... Information processing device, 11 ... Calculation unit, 12 ... Storage unit, 13 ... Communication unit, 14 ... Operation unit, 15 ... Display unit, 21 ... Distribution model selection unit, 22 ... Estimator calculation unit, 23 ... Appearance probability calculation Unit, 24 ... coding unit, 241 ... first coding unit, 242 ... second coding unit, 31 ... integer conversion unit, 32 ... difference calculation unit, 33 ... frame division unit, 34 ... accuracy adjustment unit, 35 ... group division unit, 36 ... sampling unit, 37 ... accuracy division unit, 41 ... appearance probability calculation unit, 42 ... decoding unit, 421 ... first decoding unit, 422 ... second decoding unit, 51 ... accuracy integration unit
Claims (11)
算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、
算出された前記出現確率を用いて前記データ値を可変長符号化する符号化手段と、
前記符号化手段により可変長符号化された前記データ値に付帯する付帯符号として、前記分布モデルを特定するプロファイル情報、及び前記推定量を出力する出力手段と、
を備える符号化装置。 An estimator calculating means for calculating an estimator of the population parameter of the probability distribution of the input data from the input data and the distribution model of the input data.
An appearance probability calculation means for calculating the appearance probability of a data value included in the input data from a probability distribution using the calculated estimated amount, and an appearance probability calculation means.
Encoding means for variable length coding the data value using the calculated the probability of occurrence,
As ancillary code attached to the data value variable-length coded by the coding means, a profile information for specifying the distribution model, an output means for outputting the estimated amount, and an output means for outputting the estimated amount.
A coding device comprising.
請求項1に記載の符号化装置。 Integer conversion in which the input data represented by a fixed-point number or a floating-point number is converted into input data represented by an integer, and the input data represented by an integer is input to the estimated amount calculating means and the coding means. The coding apparatus according to claim 1, further comprising means.
請求項1又は2に記載の符号化装置。 The coding apparatus according to claim 1 or 2, further comprising a difference calculating means for calculating a difference in the time direction of the input data and inputting the difference to the estimator calculating means and the coding means in place of the input data. ..
請求項1乃至3のいずれか1項に記載の符号化装置。 The item according to any one of claims 1 to 3, further comprising a frame dividing means for dividing the input data into frames for each time step and inputting the input data to the estimator calculating means and the coding means for each frame. The encoding device described.
請求項1乃至4のいずれか1項に記載の符号化装置。 Any of claims 1 to 4, further comprising an accuracy adjusting means for adjusting the accuracy of the input data according to a designated accuracy and inputting the adjusted input data to the estimator calculating means and the coding means. The encoding device according to item 1.
請求項1乃至5のいずれか1項に記載の符号化装置。 Claims 1 to 1, further comprising a group dividing means for dividing the data value into groups based on variable dependence information related to the data value and inputting the input data to the estimated amount calculating means and the coding means for each group. 5. The encoding device according to any one of 5.
請求項1乃至6のいずれか1項に記載の符号化装置。 The coding apparatus according to any one of claims 1 to 6, further comprising a sampling means for extracting a sample from the input data and inputting the extracted sample to the estimated amount calculation means.
請求項1乃至7のいずれか1項に記載の符号化装置。 3. The encoding device according to any one item.
前記入力手段により入力された前記付帯符号から、特定される前記分布モデルと、復元される前記推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、
算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段と、
を備える復号装置。 An input means for inputting profile information for specifying a distribution model of input data, and an incidental code indicating an estimated amount of a population parameter of the probability distribution of the input data.
An appearance probability calculation means for calculating the appearance probability of a data value included in the input data by using the distribution model specified and the estimated estimator to be restored from the incidental code input by the input means.
Using the calculated the probability of occurrence, and decoding means for decoding the variable length encoded said data values,
Decoding device.
入力データと前記入力データの分布モデルとから前記入力データの確率分布の母数の推定量を算出する推定量算出手段と、
算出された前記推定量を用いた確率分布から前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、
算出された前記出現確率を用いて前記データ値を可変長符号化する符号化手段と、
前記符号化手段により可変長符号化された前記データ値に付帯する付帯符号として、前記分布モデルを特定するプロファイル情報、及び前記推定量を出力する出力手段
として機能させるためのプログラム。 Computer,
An estimator calculating means for calculating an estimator of the population parameter of the probability distribution of the input data from the input data and the distribution model of the input data.
An appearance probability calculation means for calculating the appearance probability of a data value included in the input data from a probability distribution using the calculated estimated amount, and an appearance probability calculation means.
A coding means for variable-length coding the data value using the calculated appearance probability, and
A program for functioning as an output means for outputting profile information for specifying the distribution model and the estimated amount as an incidental code attached to the data value variable-length coded by the coding means.
入力データの分布モデルを特定するプロファイル情報、及び前記入力データの確率分布の母数の推定量を示す付帯符号を入力する入力手段と、
前記入力手段により入力された前記付帯符号から、特定される前記分布モデルと、復元される前記推定量とを用いて前記入力データに含まれるデータ値の出現確率を算出する出現確率算出手段と、
算出された前記出現確率を用いて、可変長符号化された前記データ値を復号する復号手段
として機能させるためのプログラム。 Computer,
An input means for inputting profile information for specifying a distribution model of input data, and an incidental code indicating an estimated amount of a population parameter of the probability distribution of the input data.
An appearance probability calculation means for calculating the appearance probability of a data value included in the input data by using the distribution model specified and the estimated estimator to be restored from the incidental code input by the input means.
A program for functioning as a decoding means for decoding the variable-length encoded data value using the calculated appearance probability.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017057591A JP6965539B2 (en) | 2017-03-23 | 2017-03-23 | Coding device, decoding device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017057591A JP6965539B2 (en) | 2017-03-23 | 2017-03-23 | Coding device, decoding device and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018160827A JP2018160827A (en) | 2018-10-11 |
JP6965539B2 true JP6965539B2 (en) | 2021-11-10 |
Family
ID=63795173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017057591A Active JP6965539B2 (en) | 2017-03-23 | 2017-03-23 | Coding device, decoding device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6965539B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003018599A (en) * | 2001-07-04 | 2003-01-17 | Matsushita Electric Ind Co Ltd | Method and apparatus for encoding image |
JP4125642B2 (en) * | 2003-06-19 | 2008-07-30 | オリンパス株式会社 | Adaptive variable length coding apparatus, adaptive variable length coding method, and adaptive variable length coding program |
JP2009260747A (en) * | 2008-04-17 | 2009-11-05 | Canon Inc | Image encoding device, and control method thereof |
JP2011229096A (en) * | 2010-04-23 | 2011-11-10 | Renesas Electronics Corp | Image compression apparatus, image compression method, and image compression program |
CN105324949B (en) * | 2013-05-29 | 2018-05-29 | 凯迪迪爱通信技术有限公司 | Base station system and communicator |
JP2017028555A (en) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | Data compression device, data compression method, and data compression program |
-
2017
- 2017-03-23 JP JP2017057591A patent/JP6965539B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018160827A (en) | 2018-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7097409B2 (en) | Bilingual corpus screening methods and equipment, as well as storage media | |
US20200372684A1 (en) | Image coding apparatus, probability model generating apparatus and image compression system | |
CN110879854A (en) | Searching data using a superset tree data structure | |
US20220207370A1 (en) | Inferring device, training device, inferring method, and training method | |
CN107357764B (en) | Data analysis method, electronic device, and computer storage medium | |
CN109923860B (en) | Data processing apparatus, data processing method, and computer readable medium | |
CN111931345A (en) | Monitoring data prediction method, device, equipment and readable storage medium | |
JP6965539B2 (en) | Coding device, decoding device and program | |
JPWO2016189747A1 (en) | Analysis apparatus, analysis method, and analysis program | |
JP2018201117A (en) | Video encoder, video encoding method and program | |
JP6729299B2 (en) | PITCH EXTRACTION DEVICE AND PITCH EXTRACTION METHOD | |
JP2011081305A (en) | Time space analysis device, utterance rhythm conversion device, and method and program therefor | |
EP3751743A1 (en) | Storage system and storage control method | |
Daems et al. | Variational Inference for SDEs Driven by Fractional Noise | |
CN113780606A (en) | Model training method, prediction method, device, system and storage medium | |
US20210182696A1 (en) | Prediction of objective variable using models based on relevance of each model | |
EP4280465A1 (en) | Data recording apparatus, data recording method, and data recording program | |
JP2734995B2 (en) | Spectrum parameter extraction device | |
CN113485829B (en) | Identification value generation method for data increment step of microservice cluster | |
KR102355585B1 (en) | Method and apparauus for flash memory arithmetic encoding and decoding | |
EP4358070A1 (en) | Cumulative calculation device, cumulative calculation method, and program | |
US20240048703A1 (en) | Encoding device, decoding device, encoding method, decoding method, and program | |
JP6841774B2 (en) | Predictors, prediction methods and computer programs | |
Jin | Scaling HPC Applications Through Predictable and Reliable Data Reduction Methods | |
Bosq et al. | Consistency of the plug-in functional predictor of the Ornstein-Uhlenbeck process in Hilbert and Banach spaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210430 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211004 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6965539 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |