JPWO2017109865A1 - Data compression apparatus, data expansion apparatus, data compression program, data expansion program, data compression method, and data expansion method - Google Patents
Data compression apparatus, data expansion apparatus, data compression program, data expansion program, data compression method, and data expansion method Download PDFInfo
- Publication number
- JPWO2017109865A1 JPWO2017109865A1 JP2017555720A JP2017555720A JPWO2017109865A1 JP WO2017109865 A1 JPWO2017109865 A1 JP WO2017109865A1 JP 2017555720 A JP2017555720 A JP 2017555720A JP 2017555720 A JP2017555720 A JP 2017555720A JP WO2017109865 A1 JPWO2017109865 A1 JP WO2017109865A1
- Authority
- JP
- Japan
- Prior art keywords
- value
- input
- external
- data
- data string
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
データ圧縮装置(10)は、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける対象位置iの入力値d[i]の予測値p[i]を予測する。データ圧縮装置(10)は、予測された予測値p[i]との差を残差r[i]として計算する。そして、データ圧縮装置(10)は、計算された残差r[i]を符号化して、入力値d[i]についての符号c[i]を生成する。The data compression device (10) uses the external value e [i−m] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e, and uses the external position e [im] in the input data string d. Predict the predicted value p [i] of the input value d [i] of i. The data compression device (10) calculates a difference from the predicted value p [i] as a residual r [i]. Then, the data compression device (10) encodes the calculated residual r [i] to generate a code c [i] for the input value d [i].
Description
この発明は、整数列を可逆圧縮する技術に関する。 The present invention relates to a technique for reversibly compressing an integer string.
整数列を可逆圧縮するための1つの方式として入力値と予測値との残差を符号化する方式がある。この残差を符号化する方式では、まず、符号化対象の入力データ列の各入力値について、予測値が計算される。次に、各入力値について予測値との残差が計算される。そして、残差が符号化される。
具体的な残差を符号化する方式としては、予測値として入力データ列の1つ前の値である前回値を用い、入力値から前回値を減じて残差を計算し、残差をガンマ符号化、又は、デルタ符号化で符号化する方式がある。One method for reversibly compressing an integer string is a method for encoding a residual between an input value and a predicted value. In the method of encoding the residual, first, a predicted value is calculated for each input value of the input data string to be encoded. Next, a residual with the predicted value is calculated for each input value. The residual is then encoded.
As a specific method of encoding the residual, the previous value, which is the previous value of the input data string, is used as the predicted value, the previous value is subtracted from the input value, and the residual is calculated by gamma. There is a method of encoding by encoding or delta encoding.
圧縮する値が0に近い値であるほど、圧縮率が高くなることが多い。
残差を符号化する方式では、予測値と入力値とが近い値であるほど、残差は0に近くなる。そのため、予測値を予測する精度を向上させることで、圧縮率を高くすることができる可能性が高い。The closer the value to be compressed is to 0, the higher the compression rate.
In the method of encoding the residual, the closer the predicted value and the input value are, the closer the residual is to 0. Therefore, it is highly possible that the compression rate can be increased by improving the accuracy of predicting the predicted value.
予測値を予測する精度を向上させるための技術として、外部データを利用する方法が知られる。特許文献1には、2つのチャンネルデータからなる立体映像データを圧縮して記録する技術が記載されている。そして、特許文献1には、一方のチャンネルデータについては、他方のチャンネルデータとの残差を符号化することが記載されている。この例では、他方のチャンネルデータが外部データに相当する。
As a technique for improving the accuracy of predicting a predicted value, a method of using external data is known.
2つの整数列が一定の位相差を持つ2つの波形データである場合のように、2つの整数列のうち一方の整数列をずらした場合に、他方の整数列と似た挙動を示す場合がある。この場合に、特許文献1に記載された技術では、残差は0に近い値にならない可能性が高い。
この発明は、一方の整数列の位置をずらすと、他方の整数列と似た挙動を示す場合に、予測値を予測する精度を向上させることを目的とする。When one integer row of two integer sequences is shifted, as in the case where two integer sequences are two waveform data having a constant phase difference, a behavior similar to that of the other integer sequence may be exhibited. is there. In this case, in the technique described in
An object of the present invention is to improve the accuracy of predicting a predicted value when the position of one integer sequence is shifted and the behavior is similar to that of the other integer sequence.
この発明に係るデータ圧縮装置は、
外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する予測部と、
前記入力値d[i]と、前記予測部によって予測された予測値p[i]との差を残差r[i]として計算する残差計算部と、
前記残差計算部によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化部と
を備える。The data compression apparatus according to the present invention is
The input value d [i] of the target position i in the input data string d is used by using the external value e [i−m] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e. ] For predicting the predicted value p [i] of
A residual calculator that calculates a difference between the input value d [i] and the predicted value p [i] predicted by the predictor as a residual r [i];
An encoding unit that encodes the residual r [i] calculated by the residual calculation unit and generates a code c [i] for the input value d [i].
この発明では、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する。これにより、外部データ列eの位置をずらすと、入力データ列dと似た挙動を示すようになる場合に、予測値を予測する精度を向上させることができる。 In the present invention, the input of the target position i in the input data string d is performed using the external value e [i−m] at a position shifted by m from the external value e [i] of the target position i in the external data string e. Predict the predicted value p [i] of the value d [i]. Thereby, when the position of the external data string e is shifted, the accuracy of predicting the predicted value can be improved when the behavior similar to that of the input data string d is exhibited.
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係るデータ圧縮システム1の構成を説明する。
データ圧縮システム1は、データ圧縮装置10と、データ伸長装置20とを備える。データ圧縮装置10とデータ伸長装置20とはネットワーク30を介して接続されている。
データ圧縮装置10は、入力データ列dと外部データ列eとを入力として、入力データ列dを符号化した符号データ列cを生成する装置である。データ伸長装置20は、データ圧縮装置10によって生成された符号データ列cと、外部データ列eとを入力として、符号データ列cを復号した出力データ列oを生成する装置である。
*** Explanation of configuration ***
With reference to FIG. 1, the structure of the
The
The
入力データ列dは、順序付けられた整数列であり、入力データ列dに含まれる整数値を入力値と呼ぶ。外部データ列eは、入力データ列dとは別の順序付けられた整数列であり、外部データ列eに含まれる整数値を外部値と呼ぶ。入力データ列dにおけるi番目の入力値を入力値d[i]と書き、外部データ列eにおけるi番目の外部値を外部値e[i]と書く。
実施の形態1に係るデータ圧縮システムでは、では、入力データ列dにおける対象位置iの入力値d[i]は、外部データ列eにおける対象位置iより位置差mずれた位置の外部値e[i−m]に近い値である場合に、圧縮率を高めることができる。具体的には、図2に示すように、一定の位相差を持つ2つの波形データの一方から一定時刻毎にサンプリングされた値の列が入力データ列dであり、他方から一定時刻毎にサンプリングされた値の列が外部データ列eであるような場合を想定する。図2では、2つの波形データの一方から一定時刻毎にサンプリングされた値が入力値d[0],...,d[X]であり、他方から一定時刻毎にサンプリングされた値が外部値e[0],...,e[X]である。図2では、位相差が位置差mである。なお、図2では、位置差mは正の値であるが、位置差mは負の値であってもよい。
入力データ列dに含まれる入力値の個数と、外部データ列eに含まれる外部値の個数とは任意である。実施の形態1では、外部データ列eに含まれる外部値の個数は、入力データ列dに含まれる入力値の個数以上であるとして説明する。なお、外部値の個数が入力値の個数未満の場合には、入力値の個数と外部値の個数との差の数だけ、外部データ列eに0といった任意の整数値を付加すればよい。The input data string d is an ordered integer string, and an integer value included in the input data string d is referred to as an input value. The external data string e is an ordered integer string different from the input data string d, and an integer value included in the external data string e is referred to as an external value. The i-th input value in the input data string d is written as an input value d [i], and the i-th external value in the external data string e is written as an external value e [i].
In the data compression system according to the first embodiment, the input value d [i] at the target position i in the input data string d is the external value e [at a position shifted by m from the target position i in the external data string e. im-m], the compression rate can be increased. Specifically, as shown in FIG. 2, a sequence of values sampled at a certain time from one of two waveform data having a certain phase difference is an input data string d, and sampled at a certain time from the other. A case is assumed where the column of the obtained values is the external data column e. In FIG. 2, the values sampled from one of the two waveform data at regular time intervals are the input values d [0],. . . , D [X], and values sampled from the other at fixed time intervals are external values e [0],. . . , E [X]. In FIG. 2, the phase difference is the position difference m. In FIG. 2, the positional difference m is a positive value, but the positional difference m may be a negative value.
The number of input values included in the input data string d and the number of external values included in the external data string e are arbitrary. In the first embodiment, description will be made assuming that the number of external values included in the external data string e is equal to or greater than the number of input values included in the input data string d. If the number of external values is less than the number of input values, an arbitrary integer value such as 0 may be added to the external data string e by the number of differences between the number of input values and the number of external values.
図3を参照して、実施の形態1に係るデータ圧縮装置10の構成を説明する。
データ圧縮装置10は、コンピュータである。
データ圧縮装置10は、プロセッサ11と、記憶装置12と、通信装置13とを備える。プロセッサ11は、信号線14を介して他のハードウェアと接続され、これら他のハードウェアを制御する。With reference to FIG. 3, the configuration of the
The
The
データ圧縮装置10は、機能構成として、入力部111と、予測部112と、残差計算部113と、符号化部114と、出力部115とを備える。入力部111と、予測部112と、残差計算部113と、符号化部114と、出力部115との各部の機能はソフトウェアにより実現される。
記憶装置12には、データ圧縮装置10の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。これにより、データ圧縮装置10の各部の機能が実現される。The
The
図4を参照して、実施の形態1に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、コンピュータである。
データ伸長装置20は、プロセッサ21と、記憶装置22と、通信装置23とを備える。プロセッサ21は、信号線24を介して他のハードウェアと接続され、これら他のハードウェアを制御する。With reference to FIG. 4, the configuration of the
The
The
データ伸長装置20は、機能構成として、入力部211と、予測部212と、復号部213と、出力値計算部214と、出力部215とを備える。入力部211と、予測部212と、復号部213と、出力値計算部214と、出力部215との各部の機能はソフトウェアにより実現される。
記憶装置22には、データ伸長装置20の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、データ伸長装置20の各部の機能が実現される。The
The
プロセッサ11,21は、プロセッシングを行うICである。ICは、Integrated Circuitの略である。プロセッサ11,21は、具体的には、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
記憶装置12,22は、具体的には、RAM及びHDDである。RAMは、Random Access Memoryの略である。HDDは、Hard Disk Driveの略である。記憶装置は、ROM及びフラッシュメモリといった他のハードウェアで構成されてもよい。ROMは、Read Only Memoryの略である。
通信装置13,23は、データを受信するレシーバー及びデータを送信するトランスミッターを含む装置である。通信装置13,23は、具体的には、通信チップ又はNICである。NICは、Network Interface Cardの略である。The
Specifically, the
The
プロセッサ11によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置12、又は、プロセッサ11内のレジスタ又はキャッシュメモリに記憶される。以下の説明では、プロセッサ11によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置12に記憶されるものとして説明する。
同様に、プロセッサ21によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置22、又は、プロセッサ21内のレジスタ又はキャッシュメモリに記憶される。以下の説明では、プロセッサ21によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置22に記憶されるものとして説明する。Information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the
Similarly, information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the
プロセッサ11,21によって実現される各部の機能を実現するプログラムは、記憶装置12,22に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体に記憶されてもよい。
It is assumed that programs for realizing the functions of the respective units realized by the
図3では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各部の機能を実現するプログラムを連携して実行してもよい。同様に、図4では、プロセッサ21は、1つだけ示されていた。しかし、プロセッサ21は、複数であってもよく、複数のプロセッサ21が、各部の機能を実現するプログラムを連携して実行してもよい。
In FIG. 3, only one
***動作の説明***
図3及び図5を参照して、実施の形態1に係るデータ圧縮装置10の動作を説明する。
実施の形態1に係るデータ圧縮装置10の動作は、実施の形態1に係るデータ圧縮方法に相当する。また、実施の形態1に係るデータ圧縮装置10の動作は、実施の形態1に係るデータ圧縮プログラムの処理に相当する。*** Explanation of operation ***
The operation of the
The operation of the
図5に示す処理の前提として、入力部111は、入力データ列dと外部データ列eとを通信装置13を介して受信し、入力データ列dと外部データ列eと記憶装置12に書き込んでいるものとする。
As a premise of the processing illustrated in FIG. 5, the
変数iに0が設定され、図5に示す処理が開始される。 The variable i is set to 0, and the process shown in FIG. 5 is started.
ステップS101の完了判定処理では、入力部111は、入力データ列dの全ての入力値についての符号化が完了したか否かを判定する。具体的には、入力部111は、入力データ列dの入力値の個数をカウントしておき、変数iが入力値の個数である場合には、全ての入力値についての符号化が完了したと判定する。
入力部111は、符号化が完了したと判定した場合(ステップS101でYES)、処理を終了する。入力部111は、符号化が完了していないと判定した場合(ステップS101でNO)、処理をステップS102に進める。In the completion determination process in step S101, the
If the
ステップS102の予測処理では、予測部112は、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける対象位置iの入力値d[i]の予測値p[i]を予測する。
具体的には、予測部112は、記憶装置12から位置差mを読み出し、対象位置iより位置差mずれた位置の外部値e[i−m]を記憶装置12から読み出す。実施の形態1では、位置差mは記憶装置12に事前に記憶されているとする。そして、予測部112は、p[i]=e[i−m]という式に従い、予測値p[i]を計算する。予測部112は、計算した予測値p[i]を記憶装置12に書き込む。
なお、外部値の個数が入力値の個数未満の場合など、予測に用いたい外部値が存在しない場合には、当該外部値を0などの任意の整数値と見做して処理すれば良い。In the prediction process of step S102, the
Specifically, the
If there is no external value to be used for prediction, such as when the number of external values is less than the number of input values, the external value may be regarded as an arbitrary integer value such as 0.
ここでは、入力値d[i]が外部値e[i−m]と近い値であるという仮定の下、p[i]=e[i−m]という式に従い予測値p[i]が計算された。しかし、予測値p[i]の計算に用いる式は、入力値d[i]と外部値e[i−m]との関係に基づき決定される。具体的には、入力値d[i]が外部値e[i−m]の2倍と近い値である場合には、p[i]=e[i−m]×2という式に従い予測値p[i]が計算される。また、入力値d[i]が外部値e[i−m]に3加えた値と近い値である場合には、p[i]=e[i−m]+3という式に従い予測値p[i]が計算される。 Here, under the assumption that the input value d [i] is close to the external value e [im], the predicted value p [i] is calculated according to the equation p [i] = e [im]. It was done. However, the formula used for calculating the predicted value p [i] is determined based on the relationship between the input value d [i] and the external value e [im]. Specifically, when the input value d [i] is a value close to twice the external value e [i−m], the predicted value according to the formula p [i] = e [i−m] × 2. p [i] is calculated. When the input value d [i] is close to the value obtained by adding 3 to the external value e [im], the predicted value p [i] is calculated according to the equation p [i] = e [im] +3. i] is calculated.
ステップS103の残差計算処理では、残差計算部113は、入力値d[i]と、ステップS102で予測部112によって予測された予測値p[i]との差を残差r[i]として計算する。
具体的には、残差計算部113は、事前に書き込まれた入力値d[i]と、ステップS102で書き込まれた予測値p[i]とを記憶装置12から読み出す。そして、残差計算部113は、入力値d[i]から予測値p[i]を減算して、残差r[i]を計算する。残差計算部113は、計算した残差r[i]を記憶装置12に書き込む。In the residual calculation process in step S103, the
Specifically, the
ステップS104の符号化処理では、符号化部114は、ステップS103で残差計算部113によって計算された残差r[i]を符号化して、入力値d[i]についての符号c[i]を生成する。
具体的には、符号化部114は、ステップS103で書き込まれた残差r[i]を記憶装置12から読み出す。符号化部114は、ガンマ符号、デルタ符号、ゴロム・ライス符号といった整数符号化方式により残差r[i]を変換して、入力値d[i]についての符号c[i]を生成する。符号化部114は、生成した符号c[i]を記憶装置12に書き込む。In the encoding process in step S104, the
Specifically, the
ステップS105の出力処理では、出力部115は、ステップS104で符号化部114によって生成された符号c[i]を符号データ列cの対象位置iの値として出力する。
In the output process of step S105, the
ステップS106のインクリメント処理では、入力部111は、変数iの値に1加算して、処理をステップS101に戻す。
In the increment process of step S106, the
図4及び図6を参照して、実施の形態1に係るデータ伸長装置20の動作を説明する。
実施の形態1に係るデータ伸長装置20の動作は、実施の形態1に係るデータ伸長方法に相当する。また、実施の形態1に係るデータ伸長装置20の動作は、実施の形態1に係るデータ伸長プログラムの処理に相当する。With reference to FIGS. 4 and 6, the operation of the
The operation of the
図6に示す処理の前提として、入力部211は、符号データ列cと外部データ列eとを通信装置23を介して受信し、符号データ列cと外部データ列eと記憶装置22に書き込んでいるものとする。
As a premise of the processing illustrated in FIG. 6, the
変数iに0が設定され、図6に示す処理が開始される。 The variable i is set to 0, and the process shown in FIG. 6 is started.
ステップS201の完了判定処理では、入力部211は、符号データ列cの全ての符号についての復号が完了したか否かを判定する。具体的には、入力部211は、符号データ列cの符号の個数をカウントしておき、変数iが符号の個数である場合には、全ての符号についての復号が完了したと判定する。
入力部211は、復号が完了したと判定した場合(ステップS201でYES)、処理を終了する。入力部211は、復号が完了していないと判定した場合(ステップS201でNO)、処理をステップS202に進める。In the completion determination process of step S201, the
If the
ステップS202の予測処理では、予測部212は、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける対象位置iの出力値o[i]の予測値p[i]を予測する。
具体的には、予測部212は、記憶装置22から位置差mを読み出し、対象位置iより位置差mずれた位置の外部値e[i−m]を記憶装置22から読み出す。実施の形態1では、位置差mは記憶装置22に事前に記憶されているとする。そして、予測部212は、図5のステップS102で用いた式と同じ式に従い、予測値p[i]を計算する。予測部212は、計算した予測値p[i]を記憶装置22に書き込む。In the prediction process of step S202, the
Specifically, the
ステップS203の復号処理では、復号部213は、符号c[i]を復号して残差r[i]を生成する。
具体的には、復号部213は、符号c[i]を記憶装置22から読み出す。そして、復号部213は、図5のステップS104で符号化部114が用いた整数符号化方式に対応した復号方式により符号c[i]を変換して、残差r[i]を計算する。復号部213は、計算した残差r[i]を記憶装置22に書き込む。In the decoding process of step S203, the
Specifically, the
ステップS204の出力値計算処理では、出力値計算部214は、ステップS202で予測部212によって予測された予測値p[i]と、ステップS203で復号部213によって生成された残差r[i]との和を出力値o[i]として計算する。
具体的には、出力値計算部214は、ステップS202で予測部212によって予測された予測値p[i]と、ステップS203で復号部213によって生成された残差r[i]とを記憶装置22から読み出す。そして、出力値計算部214は、残差r[i]に予測値p[i]を加算して、出力値o[i]を計算する。出力値計算部214は、計算した出力値o[i]を記憶装置22に書き込む。In the output value calculation process of step S204, the output
Specifically, the output
ステップS205の出力処理では、出力部215は、ステップS204で出力値計算部214によって計算された出力値o[i]を出力データ列oの対象位置iの値として出力する。
In the output process of step S205, the
ステップS206のインクリメント処理では、入力部211は、変数iの値に1加算して、処理をステップS201に戻す。
In the increment process of step S206, the
***実施の形態1の効果***
以上のように、実施の形態1に係るデータ圧縮システム1では、外部データ列eにおける対象位置iより位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける入力値d[i]の予測値p[i]を予測する。これにより、一方の外部データ列eの位置をずらすと、入力データ列dと似た挙動を示すようになる場合に、予測値を予測する精度を向上させることができる。*** Effects of
As described above, in the
***他の構成***
<変形例1>
実施の形態1では、外部値e[i−m]を用いて予測値p[i]を予測した。しかし、変形例1として、外部値e[i−m]だけでなく、他の外部値と、入力データ列dにおいて既に符号が生成された入力値との少なくともいずれかを用いて、予測値p[i]を予測してもよい。この変形例1について、実施の形態1と異なる点を説明する。*** Other configurations ***
<
In the first embodiment, the predicted value p [i] is predicted using the external value e [im]. However, as a first modification, not only the external value e [i−m] but also other external values and at least one of input values whose codes have already been generated in the input data string d are used to predict the predicted value p. [I] may be predicted. The first modification will be described with respect to differences from the first embodiment.
図7を参照して、変形例1に係るデータ圧縮装置10の構成を説明する。
図7では、予測部112が、入力データ列dの入力値d[j]と、外部データ列eとを入力としている点が図3と異なる。なお、変数jは、0からi−1までの整数値である。With reference to FIG. 7, the structure of the
7 is different from FIG. 3 in that the
変形例1では、図5のステップS102で予測部112は、外部値e[i−m]だけでなく、他の外部値と、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−1]との少なくともいずれかを用いて、予測値p[i]を予測する。この場合には、必要な外部値及び入力値を記憶装置12から読み出し、読み出した外部値及び入力値を用いた式に従い、予測値p[i]を計算する。
具体例としては、予測部112は、外部値e[i−m−1]及び外部値e[i−m]と、入力値d[i−1]とを用いて、p[i]=d[i−1]+(e[i−m]−e[i−m−1])という式に従い、予測値p[i]を計算することが考えられる。In the first modification, in step S102 in FIG. 5, the
As a specific example, the
図8を参照して、変形例1に係るデータ伸長装置20の構成を説明する。
図8では、予測部212が、出力データ列oの出力値o[j]と、外部データ列eとを入力としている点が図4と異なる。なお、変数jは、0からi−1までの整数値である。With reference to FIG. 8, the structure of the data decompression |
8 is different from FIG. 4 in that the
変形例1では、図6のステップS202で予測部212は、外部値e[i−m]だけでなく、他の外部値と、出力データ列oにおいて既に符号が生成された出力値o[0],...,出力値o[i−1]との少なくともいずれかを用いて、予測値p[i]を予測する。
具体的には、予測部212は、変形例1のステップS102で予測部112が予測値p[i]を計算した方法と同じ方法により、予測値p[i]を計算する。但し、S102で予測部112が入力値d[j]を用いている場合には、入力値d[j]に代えて、入力値d[j]に対応する出力値o[j]を用いる。In the first modification, in step S202 in FIG. 6, the
Specifically, the
なお、変形例1において、データ圧縮装置10の予測部112は、入力データ列dについては、未だ符号が生成されていない入力値については、予測値p[i]の予測に用いることができない。これは、データ伸長装置20が符号データ列cを正しく復号可能とするために必要となる。
つまり、データ伸長装置20の予測部212は、データ圧縮装置10の予測部112と同じ方法により予測値p[i]を予測する必要がある。しかし、データ伸長装置20の予測部212は、予測値p[i]を予測するときには、出力値としては、復号済の出力値o[0],...,出力値o[i−1]しか得られない。したがって、データ圧縮装置10の予測部112が、予測値p[i]を予測するときに、未だ符号が生成されていない入力値を用いてしまうと、データ伸長装置20が符号データ列cを正しく復号できなくなってしまう。In the first modification, the
That is, the
<変形例2>
実施の形態1では、データ圧縮装置10とデータ伸長装置20との各部の機能がソフトウェアで実現された。しかし、変形例2として、データ圧縮装置10とデータ伸長装置20との各部の機能はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。<Modification 2>
In the first embodiment, the functions of the respective units of the
図9を参照して、変形例2に係るデータ圧縮装置10の構成を説明する。
各部の機能がハードウェアで実現される場合、データ圧縮装置10は、通信装置13と、処理回路15とを備える。処理回路15は、データ圧縮装置10の各部の機能及び記憶装置12の機能を実現する専用の電子回路である。With reference to FIG. 9, the structure of the
When the function of each unit is realized by hardware, the
図10を参照して、変形例2に係るデータ伸長装置20の構成を説明する。
各部の機能がハードウェアで実現される場合、データ伸長装置20は、通信装置23と、処理回路25とを備える。処理回路25は、データ伸長装置20の各部の機能及び記憶装置22の機能を実現する専用の電子回路である。With reference to FIG. 10, the structure of the data decompression |
When the function of each unit is realized by hardware, the
処理回路15,25は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAが想定される。GAは、Gate Arrayの略である。ASICは、Application Specific Integrated Circuitの略である。FPGAは、Field−Programmable Gate Arrayの略である。
各部の機能を1つの処理回路15,25で実現してもよいし、各部の機能を複数の処理回路15,25に分散させて実現してもよい。As the
The function of each part may be realized by one
<変形例3>
変形例3として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、データ圧縮装置10の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。データ伸長装置20についても、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。<Modification 3>
As a third modification, some functions may be realized by hardware, and other functions may be realized by software. That is, some of the functions of the
プロセッサ11,21と記憶装置12,22と処理回路15,25とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。
The
実施の形態2.
実施の形態2は、位置差mを適宜決定して、予測値p[i]を予測する点が実施の形態1と異なる。実施の形態2では、この異なる点について説明する。Embodiment 2. FIG.
The second embodiment is different from the first embodiment in that the position difference m is appropriately determined and the predicted value p [i] is predicted. In the second embodiment, this different point will be described.
***構成の説明***
図11を参照して、実施の形態2に係るデータ圧縮装置10の構成を説明する。
データ圧縮装置10は、図3に示す機能構成に加え、位置差決定部116を備える。位置差決定部116の機能はソフトウェアにより実現される。
記憶装置12には、位置差決定部116の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。これにより、位置差決定部116の機能が実現される。*** Explanation of configuration ***
With reference to FIG. 11, the structure of the
The
The
図12を参照して、実施の形態2に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、図4に示す機能構成に加え、位置差決定部216を備える。位置差決定部216の機能はソフトウェアにより実現される。
記憶装置22には、位置差決定部216の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、位置差決定部216の機能が実現される。With reference to FIG. 12, the configuration of the
The
The
***動作の説明***
図11及び図13を参照して、実施の形態2に係るデータ圧縮装置10の動作を説明する。
実施の形態2に係るデータ圧縮装置10の動作は、実施の形態2に係るデータ圧縮方法に相当する。また、実施の形態2に係るデータ圧縮装置10の動作は、実施の形態2に係るデータ圧縮プログラムの処理に相当する。*** Explanation of operation ***
The operation of the
The operation of the
ステップS301の処理は、図5のステップS101の処理と同じである。また、ステップS304からステップS308の処理は、図5のステップS102からステップS106の処理と同じである。 The process in step S301 is the same as the process in step S101 in FIG. The processing from step S304 to step S308 is the same as the processing from step S102 to step S106 in FIG.
ステップS302の決定判定処理では、位置差決定部116は、位置差mを新たに決定するか否かを判定する。位置差を更新するのは、入力データ列d及び外部データ列eの特性が変動することにより、位値差mも変動する可能性があるためである。
位置差決定部116は、位置差mを決定すると判定した場合(ステップS302でYES)、処理をステップS303へ進める。一方、位置差決定部116は、位置差mを決定しないと判定した場合(ステップS302でNO)、処理をステップS304へ進める。In the determination determination process in step S302, the position
If the position
具体的には、位置差決定部116は、基準個の入力値が符号化される度に、位置差mを決定すると判定する。
基準個は、1以上の整数である。基準個が小さい値であるほど、位置差mの更新頻度が高くなり処理負荷が高くなる。しかし、基準個が小さい値であるほど、位置差mが適切に設定されている割合が多くなり、予測精度が高くなることが見込まれる。そこで、基準個は、処理負荷と予測精度との両方を考慮の上、事前に決定される。
また、入力データ列dが周期性を持つデータの場合は、入力データ列dの周期毎に位置差mを決定し直せばよい。そこで、この場合、位置差決定部116は、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−1]を記憶装置12から読み出す。そして、位置差決定部116は、入力値d[0],...,入力値d[i−1]からその周期を特定し、特定した1つの周期に含まれる入力値の個数を基準個の値とする。また、この場合、位置差決定部116は、位置差mを決定する際、周期も特定する。これにより、周期が変動するような入力データ列dに対しても、周期の変動に追随し適切なタイミングで位置差mを決定することができる。Specifically, the position
The reference piece is an integer of 1 or more. The smaller the reference piece, the higher the frequency of updating the position difference m and the higher the processing load. However, it is expected that the smaller the reference piece is, the higher the ratio at which the position difference m is appropriately set, and the higher the prediction accuracy. Therefore, the reference piece is determined in advance in consideration of both the processing load and the prediction accuracy.
If the input data string d is data having periodicity, the position difference m may be determined again for each period of the input data string d. Therefore, in this case, the position
ステップS303の位置差決定処理では、位置差決定部116は、入力データ列dの入力値に対応する外部データ列eの外部値の位置をずらすことによって、入力データ列dと外部データ列eとが相関するずらし量を位置差mとして決定する。
図2であれば、元々は、同じ時刻にサンプリングされた、同じ位置の入力値d[n]と外部値e[n]とが対応している。このままでは、入力データ列dと外部データ列eとは相関していない。しかし、入力データ列dの入力値に対応する外部データ列eの外部値の位置を位相差分だけずらせば、入力データ列dと外部データ列eとが相関する。
具体的には、位置差決定部116は、入力データ列dにおいて既に符号が生成された入力値と、外部データ列eとについて、ピーク、すなわち極値の位置が近くなるずらし量を特定し、特定したずらし量を位置差mとして決定する。位置差決定部116は、決定した位置差mで記憶装置12に記憶された位置差mを上書きする。In the position difference determination process in step S303, the position
In FIG. 2, the input value d [n] and the external value e [n] at the same position originally sampled at the same time correspond to each other. In this state, the input data string d and the external data string e are not correlated. However, if the position of the external value of the external data string e corresponding to the input value of the input data string d is shifted by the phase difference, the input data string d and the external data string e are correlated.
Specifically, the position
図14を参照して、位置差mを決定する処理について説明する。
ステップS3031のデータ読出処理では、位置差決定部116は、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−1]を記憶装置12から読み出す。また、位置差決定部116は、外部データ列eの外部値e[0],...,外部値e[i−1]を記憶装置12から読み出す。
なお、位置差mを決定する処理負荷を小さくするために、直近のいくつかの入力値及び外部値のみを用いるようにしてもよい。直近のk個の入力値及び外部値のみを用いるのであれば、位置差決定部116は、入力値d[i−k],...,入力値d[i−1]と、外部値e[i−k],...,外部値e[i−1]とを記憶装置12から読み出す。
以下では、直近のk個の入力値及び外部値のみを用いる場合について説明する。Processing for determining the position difference m will be described with reference to FIG.
In the data reading process in step S3031, the position
In order to reduce the processing load for determining the position difference m, only the most recent input values and external values may be used. If only the most recent k input values and external values are used, the position
In the following, a case where only the latest k input values and external values are used will be described.
ステップS3032のピーク特定処理では、位置差決定部116は、入力値d[i−k],...,入力値d[i−1]から極値の位置を特定し、特定した極値のデータ列を極値a[0],...,極値a[p−1]とする。ここで、pは特定された極値の個数である。また、位置差決定部116は、外部値e[i−k],...,外部値e[i−1]から極値の位置を特定し、特定した極値のデータ列を極値b[0],...,極値b[q−1]とする。ここで、qは特定された極値の個数である。
ノイズによる細かい変動が混在するようなデータ列を扱う際に、極値を全て選択すると、ノイズの影響で不必要な極値を多く含んでしまう可能性がある。そこで、ノイズの影響を低減するために、ある固定幅内で最大値となる値のみを極値として抽出してもよい。また、入力値d[i−k],...,入力値d[i−1]の最大値からの差が一定値未満の極値のみを入力値の極値として抽出し、外部値e[i−k],...,外部値e[i−1]の最大値からの差が一定値未満の極値のみを外部値の極値として抽出してもよい。この方法は、データ列の最大振幅の周波数成分のみに着目したい場合に特に有効である。In the peak identification process of step S3032, the position
When all the extreme values are selected when handling a data string in which fine fluctuations due to noise are mixed, there is a possibility that many unnecessary extreme values are included due to the influence of noise. Therefore, in order to reduce the influence of noise, only the maximum value within a certain fixed width may be extracted as an extreme value. Further, the input values d [i−k],. . . , The extreme value whose difference from the maximum value of the input value d [i−1] is less than a certain value is extracted as the extreme value of the input value, and the external values e [i−k],. . . , Only the extreme value whose difference from the maximum value of the external value e [i-1] is less than a certain value may be extracted as the extreme value of the external value. This method is particularly effective when it is desired to focus only on the frequency component having the maximum amplitude of the data string.
ステップS3033の位置差特定処理では、位置差決定部116は、j=0,...,p−1の各整数jについて昇順に、極値a[j]より前で、位置が最も近い極値b[j]を選択し、極値a[i]と極値b[j]との位置の差を計算する。そして、位置差決定部116は、p個の位置の差に基づき、位置差mを決定する。実施の形態2では、位置差決定部116は、p個の位置の差のうち、最も多い位置の差を位置差mとして決定する。なお、位置差決定部116は、p個の位置の差の中間値を位置差mに決定する、又は、p個の位置の差の平均値に最も近い整数を位置差mに決定するといった他の方法で位置差mを決定してもよい。
In the position difference specifying process in step S3033, the position
図12及び図15を参照して、実施の形態2に係るデータ伸長装置20の動作を説明する。
実施の形態2に係るデータ伸長装置20の動作は、実施の形態2に係るデータ伸長方法に相当する。また、実施の形態2に係るデータ伸長装置20の動作は、実施の形態2に係るデータ伸長プログラムの処理に相当する。With reference to FIG. 12 and FIG. 15, the operation of the
The operation of the
ステップS401の処理は、図6のステップS201の処理と同じである。また、ステップS404からステップS408の処理は、図6のステップS202からステップS206の処理と同じである。 The process in step S401 is the same as the process in step S201 in FIG. The processing from step S404 to step S408 is the same as the processing from step S202 to step S206 in FIG.
ステップS402の決定判定処理では、位置差決定部216は、図13のステップS302で位置差決定部116が用いた判定方法と同じ判定方法により、位置差mを新たに決定するか否かを判定する。
位置差決定部216は、位置差mを決定すると判定した場合(ステップS402でYES)、処理をステップS403へ進める。一方、位置差決定部216は、位置差mを決定し直さないと判定した場合(ステップS402でNO)、処理をステップS404へ進める。In the determination determination process of step S402, the position
If the position
具体的には、位置差決定部116が基準個の入力値が符号化される度に位置差mを決定すると判定する場合には、位置差決定部216は、基準個の出力値が計算される度に位置差mを決定すると判定する。
また、位置差決定部116が、入力データ列dの周期毎に位置差mを決定し直す場合には、位置差決定部216は、出力データ列oの周期毎に位置差mを決定し直す。この場合、位置差決定部216は、既に計算された出力値o[0],...,出力値o[i−1]を記憶装置22から読み出す。そして、位置差決定部216は、出力値o[0],...,出力値o[i−1]からその周期を特定し、特定した1つの周期に含まれる出力値の個数を基準個の値とする。また、この場合、位置差決定部216は、位置差mを決定する際、周期も特定する。Specifically, when the position
When the position
ステップS403の位置差決定処理では、位置差決定部216は、図13のステップS303で位置差決定部116が用いた決定方法と同じ決定方法により、位置差mを決定する。
つまり、位置差決定部216は、出力データ列oの出力値に対応する外部データ列eの外部値の位置をずらすことによって、出力データ列oと外部データ列eとが相関するずらし量を位置差mとして決定する。具体的には、位置差決定部216は、既に計算された出力値からなる出力データ列oと、外部データ列eとについて、ピーク、すなわち極値の位置が近くなるずらし量を特定し、特定したずらし量を位置差mとして決定する。位置差決定部216は、決定した位置差mで記憶装置22に記憶された位置差mを上書きする。位置差mを決定する処理については、図14に基づき説明した位置差決定部116の処理と同じである。但し、位置差決定部116がある整数vについての入力値d[v]を用いる場合、位置差決定部216は入力値d[v]に代えて出力値o[v]を用いる。In the position difference determination process in step S403, the position
That is, the position
***実施の形態2の効果***
以上のように、実施の形態2に係るデータ圧縮システム1では、位置差mを適宜決定して、予測値p[i]を予測する。これにより、入力データ列dの特性が変動する場合にも、予測値を予測する精度を向上させることができる。*** Effects of Embodiment 2 ***
As described above, in the
***他の構成***
<変形例4>
実施の形態2では、ステップS302で位置差決定部116は、基準個の入力値が符号化される度に、位置差mを新たに決定すると判定した。しかし、変形例4として、位置差決定部116は、予測値p[i]を予測する精度が基準精度を連続して下回った場合に、位置差mを新たに決定すると判定してもよい。この変形例4について、実施の形態2と異なる点を説明する。*** Other configurations ***
<Modification 4>
In the second embodiment, in step S302, the position
データ圧縮装置10について説明する。
位置差決定部116は、基準精度として、外部データ列eを用いずに入力値d[i−1]を予測した場合の精度を用いる。具体的には、位置差決定部116は、外部データ列eを用いずに予測された入力値d[i−1]の予測値p*[i−1]と入力値d[i−1]との残差r*[i−1]の絶対値を基準精度とする。
基準精度が、入力値d[i−1]と予測値p[i−1]との残差r[i−1]の絶対値よりも小さい場合、予測値p[i−1]の精度が基準精度を下回ることになる。そこで、位置差決定部116は、基準精度が、入力値d[i−1]と予測値p[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、位置差mを新たに決定すると判定する。The
The position
When the reference accuracy is smaller than the absolute value of the residual r [i-1] between the input value d [i-1] and the predicted value p [i-1], the accuracy of the predicted value p [i-1] is high. It will be below the standard accuracy. Therefore, the position
図16を参照して、図13のステップS302での変形例4に係る位置差決定部116の動作を説明する。
ステップS3021の回数判定処理では、位置差決定部116は、変数Lが基準回以上であるか否かを判定する。位置差決定部116は、変数Lが基準回以上である場合(ステップS3021でYES)、処理をステップS3022に進める。一方、位置差決定部116は、変数Lが基準回以上でない場合(ステップS3021でNO)、処理をステップS3023に進める。With reference to FIG. 16, the operation of the position
In the number determination process in step S3021, the position
ステップS3022の更新決定処理では、位置差決定部116は、位置差mを新たに決定すると判定する。この際、位置差決定部116は、変数Lに0を設定する。
In the update determination process in step S3022, the position
ステップS3023の非更新決定処理では、位置差決定部116は、位置差mを新たに決定しないと判定する。
In the non-update determination process in step S <b> 3023, the position
ステップS3024の予測処理では、位置差決定部116は、予測部112に、外部データ列eを用いて、入力値d[i−1]の予測値p[i−1]を予測させる。また、位置差決定部116は、予測部112に、外部データ列eを用いずに、入力値d[i−1]の予測値p*[i−1]を予測させる。
ここでは、予測部112は、図5のステップS102と同様に、予測値p[i−1]を予測する。また、予測部112は、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−2]を用いて、入力値d[i−1]の予測値p*[i−1]を予測する。具体例としては、予測部112は、入力値d[i−2]を予測値p*[i−1]とする。In the prediction process of step S3024, the position
Here, the
ステップS3025の残差計算処理では、位置差決定部116は、残差計算部113に、予測値p[i−1]と入力値d[i−1]との残差r[i−1]を計算させる。また、位置差決定部116は、残差計算部113に、予測値p*[i−1]と入力値d[i−1]との残差r*[i−1]を計算させる。
ここでは、残差計算部113は、図5のステップS103と同様に、入力値d[i−1]から予測値p[i−1]を減算して残差r[i−1]を計算する。また、残差計算部113は、入力値d[i−1]から予測値p*[i−1]を減算して残差r*[i−1]を計算する。In the residual calculation process of step S3025, the position
Here, the
ステップS3026の絶対値判定処理では、位置差決定部116は、残差r*[i−1]の絶対値が残差r[i−1]の絶対値よりも小さいか否かを判定する。位置差決定部116は、残差r*[i−1]の絶対値が残差r[i−1]の絶対値よりも小さい場合、処理をステップS3027に進める。一方、位置差決定部116は、残差r*[i−1]の絶対値が残差r[i−1]の絶対値以上場合、処理をステップS3028に進める。In the absolute value determination processing in step S3026, the position
ステップS3027の変数加算処理では、位置差決定部116は、変数Lに1加算する。一方、ステップS3028の変数初期化処理では、位置差決定部116は、変数Lに0を設定する。
In the variable addition process of step S3027, the position
データ伸長装置20について説明する。
図15のステップS402で位置差決定部216は、図13のステップS302で位置差決定部116が用いた判定方法と同じ判定方法により、位置差mを決定するか否かを判定する。したがって、位置差決定部116が図16に基づき説明した判定方法で位置差mを決定するか否かを判定するのであれば、位置差決定部216も図16に基づき説明した判定方法で位置差mを決定するか否かを判定する。
つまり、位置差決定部216は、基準精度として、外部データ列eを用いずに出力値o[i−1]を予測した場合の精度を用いる。具体的には、位置差決定部216は、外部データ列eを用いずに予測された出力値o[i−1]の予測値p*[i−1]と出力値o[i−1]との残差r*[i−1]の絶対値を基準精度とする。
基準精度が、出力値o[i−1]と予測値p[i−1]との残差r[i−1]の絶対値よりも小さい場合、予測値p[i−1]の精度が基準精度を下回ることになる。そこで、位置差決定部216は、基準精度が、出力値o[i−1]と予測値p[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、位置差mを新たに決定すると判定する。
図15のステップS402での変形例4に係る位置差決定部216の動作については、図16に基づき説明した位置差決定部116の動作と同じである。但し、位置差決定部116がある整数vについての入力値d[v]を用いる場合、位置差決定部216は入力値d[v]に代えて出力値o[v]を用いる。The
In step S402 in FIG. 15, the position
That is, the position
When the reference accuracy is smaller than the absolute value of the residual r [i-1] between the output value o [i-1] and the predicted value p [i-1], the accuracy of the predicted value p [i-1] is high. It will be below the standard accuracy. Therefore, the position
The operation of the position
なお、変形例4において、データ圧縮装置10の位置差決定部116は、入力データ列dについては、未だ符号が生成されていない入力値については、位置差mの決定に用いることができない。これは、変形例1の説明において、予測部112が未だ符号が生成されていない入力値を用いることができなかったことと同じ理由からである。
In the fourth modification, the position
<変形例5>
実施の形態2では、実施の形態1と同じように、データ圧縮装置10とデータ伸長装置20との各部の機能がソフトウェアで実現された。しかし、実施の形態1の変形例2と同じように、データ圧縮装置10とデータ伸長装置20との各部の機能はハードウェアで実現されてもよい。また、実施の形態1の変形例3と同じように、データ圧縮装置10とデータ伸長装置20とは、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。<Modification 5>
In the second embodiment, as in the first embodiment, the functions of the respective units of the
実施の形態3.
実施の形態3では、位置差mが決定されると、決定された位置差mを検証して、適宜決定し直しする点が実施の形態2と異なる。実施の形態3では、この異なる点について説明する。Embodiment 3 FIG.
The third embodiment is different from the second embodiment in that when the positional difference m is determined, the determined positional difference m is verified and appropriately determined again. In the third embodiment, this different point will be described.
***構成の説明***
図17を参照して、実施の形態3に係るデータ圧縮装置10の構成を説明する。
データ圧縮装置10は、図11に示す機能構成に加え、検証部117を備える。検証部117の機能はソフトウェアにより実現される。
記憶装置12には、検証部117の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。これにより、検証部117の機能が実現される。*** Explanation of configuration ***
With reference to FIG. 17, the structure of the
The
The
図18を参照して、実施の形態3に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、図4に示す機能構成に加え、検証部217を備える。検証部217の機能はソフトウェアにより実現される。
記憶装置22には、検証部217の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、検証部217の機能が実現される。With reference to FIG. 18, the structure of the data decompression |
The
The
***動作の説明***
図17及び図19を参照して、実施の形態3に係るデータ圧縮装置10の動作を説明する。
実施の形態3に係るデータ圧縮装置10の動作は、実施の形態3に係るデータ圧縮方法に相当する。また、実施の形態3に係るデータ圧縮装置10の動作は、実施の形態3に係るデータ圧縮プログラムの処理に相当する。*** Explanation of operation ***
The operation of the
The operation of the
ステップS501からステップS503の処理は、図13のステップS301からステップS303の処理と同じである。また、ステップS506からステップS510の処理は、図13のステップS304からステップS308の処理と同じである。 The processing from step S501 to step S503 is the same as the processing from step S301 to step S303 in FIG. The processing from step S506 to step S510 is the same as the processing from step S304 to step S308 in FIG.
ステップS504の妥当性検証処理では、検証部117は、ステップS503で位置差決定部116によって決定された位置差mが妥当であるか否かを判定する。
検証部117は、位置差mが妥当でないと判定した場合(ステップS504でNO)、処理をステップS505に進める。一方、検証部117は、位置差mが妥当であると判定した場合(ステップS504でYES)、処理をステップS506に進める。In the validity verification process in step S504, the
If the
実施の形態3では、検証部117は、入力データ列dにおいて既に符号が生成されたある入力値d[j]について、位置差決定部116によって決定された位置差mを用いて予測された予測値p[j]と、入力値d[j]との残差r[j]の絶対値が基準値以上である場合に、位置差mが妥当でないと判定する。一方、検証部117は、残差r[j]が基準値未満である場合に、位置差mが妥当であると判定する。
具体的には、検証部117は、位置差mを記憶装置12から読み出す。そして、検証部117は、予測部112に、位置差mを用いて入力値d[j]の予測値p[j]を予測させる。ここで、変数jは、0以上変数i未満の整数である。次に、検証部117は、残差計算部113に、予測値p[j]と入力値d[j]との残差r[j]を計算させる。そして、検証部117は、残差r[j]の絶対値が基準値未満であるか否かを判定する。
なお、検証部117が位置差mが妥当であるか否かを判定する方法は他の方法であってもよいが、判定に用いることができる入力値は、既に符号が生成された入力値d[0],...,入力値d[i−1]に限られる。In Embodiment 3, the
Specifically, the
The
ステップS505の再決定判定処理では、検証部117は、位置差決定部116に、位置差mを決定し直させるか否かを判定する。具体的には、検証部117は、ステップS504で一定回連続して位置差mが妥当でないと判定した場合には、位置差mを決定し直させないと判定し、そうでない場合には、位置差mを決定し直させると判定する。
In the redetermination determination process in step S505, the
検証部117は、位置差mを決定し直させると判定した場合(ステップS505でYES)、処理をステップS503に戻す。この際、検証部117は、一度妥当でないと判定した位置差mについては選択対象外とし、再び位置差決定部116によって選択されないようにする。処理がステップS503に戻されると、ステップS503において、位置差決定部116は、選択対象外となっていない位置の差のうち、最も多い位置の差を位置差mとして決定する。
If it is determined that the position difference m is to be determined again (YES in step S505), the
一方、検証部117は、位置差mを決定し直させないと判定した場合(ステップS505でNO)、処理をステップS506に進める。この際、検証部117は、位置差mを使用不可に設定する。この場合、ステップS506で予測部112は、位置差mを用いずに、入力値d[i]の予測値p[i]を予測する。具体的には、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−1]を用いて、入力値d[i]の予測値p[i]を予測する。
On the other hand, when it is determined that the position difference m is not determined again (NO in step S505), the
図18及び図20を参照して、実施の形態3に係るデータ伸長装置20の動作を説明する。
実施の形態3に係るデータ伸長装置20の動作は、実施の形態3に係るデータ伸長方法に相当する。また、実施の形態3に係るデータ伸長装置20の動作は、実施の形態3に係るデータ伸長プログラムの処理に相当する。With reference to FIGS. 18 and 20, the operation of the
The operation of the
ステップS601からステップS603の処理は、図15のステップS401からステップS403の処理と同じである。また、ステップS606からステップS610の処理は、図15のステップS404からステップS408の処理と同じである。 The processing from step S601 to step S603 is the same as the processing from step S401 to step S403 in FIG. Also, the processing from step S606 to step S610 is the same as the processing from step S404 to step S408 in FIG.
ステップS604の妥当性検証処理では、検証部217は、図19のステップS504で検証部117が用いた判定方法と同じ判定方法により、ステップS603で位置差決定部216によって決定された位置差mが妥当であるか否かを判定する。
つまり、実施の形態3では、検証部217は、既に計算されたある出力値o[j]について、位置差決定部216によって決定された位置差mを用いて予測された予測値p[j]と、出力値o[j]との残差r[j]の絶対値が基準値以上である場合に、位置差mが妥当でないと判定する。一方、検証部217は、残差r[j]が基準値未満である場合に、位置差mが妥当であると判定する。
具体的には、検証部217は、位置差mを記憶装置22から読み出す。そして、検証部217は、予測部212に、位置差mを用いて出力値o[j]の予測値p[j]を予測させる。ここで、変数jは、0以上変数i未満の整数である。次に、検証部217は、残差計算部213に、予測値p[j]と出力値o[j]との残差r[j]を計算させる。そして、検証部217は、残差r[j]の絶対値が基準値未満であるか否かを判定する。
検証部217は、位置差mが妥当でないと判定した場合(ステップS604でNO)、処理をステップS605に進める。一方、検証部217は、位置差mが妥当であると判定した場合(ステップS604でYES)、処理をステップS606に進める。In the validity verification process in step S604, the
In other words, in the third embodiment, the
Specifically, the
If the
ステップS605の再決定判定処理では、検証部217は、図19のステップS505で検証部117が用いた判定方法と同じ判定方法により、位置差決定部216に、位置差mを決定し直させるか否かを判定する。
つまり、検証部217は、ステップS604で一定回連続して位置差mが妥当でないと判定した場合には、位置差mを決定し直させないと判定し、そうでない場合には、位置差mを決定し直させると判定する。In the redetermination determination process in step S605, the
That is, the
検証部217は、位置差mを決定し直させると判定した場合(ステップS605でYES)、処理をステップS603に戻す。この際、検証部217は、一度妥当でないと判定した位置差mについては選択対象外とし、再び位置差決定部216によって選択されないようにする。
If it is determined that the position difference m is to be determined again (YES in step S605), the
一方、検証部217は、位置差mを決定し直させないと判定した場合(ステップS605でNO)、処理をステップS606に進める。この際、検証部217は、位置差mを使用不可に設定する。この場合、ステップS606で予測部212は、位置差mを用いずに、出力値o[i]の予測値p[i]を予測する。具体的には、出力値計算部によって生成された出力値o[0],...,出力値o[i−1]を用いて、出力値o[i]の予測値p[i]を予測する。
On the other hand, when the
***実施の形態3の効果***
以上のように、実施の形態3に係るデータ圧縮システム1では、位置差mが決定されると、決定された位置差mを検証して、適宜決定し直しする。これにより、決定された位置差mが適切でない場合に、予測値を予測する精度が低下することを防止することができる。*** Effects of Embodiment 3 ***
As described above, in the
***他の構成***
<変形例6>
実施の形態3では、実施の形態1,2と同じように、データ圧縮装置10とデータ伸長装置20との各部の機能がソフトウェアで実現された。しかし、実施の形態1の変形例2と同じように、データ圧縮装置10とデータ伸長装置20との各部の機能はハードウェアで実現されてもよい。また、実施の形態1の変形例3と同じように、データ圧縮装置10とデータ伸長装置20とは、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。*** Other configurations ***
<Modification 6>
In the third embodiment, as in the first and second embodiments, the functions of the respective units of the
1 データ圧縮システム、10 データ圧縮装置、11 プロセッサ、12 記憶装置、13 通信装置、14 信号線、15 処理回路、111 入力部、112 予測部、113 残差計算部、114 符号化部、115 出力部、116 位置差決定部、117 検証部、20 データ伸長装置、21 プロセッサ、22 記憶装置、23 通信装置、24 信号線、25 処理回路、211 入力部、212 予測部、213 復号部、214 出力値計算部、215 出力部、216 位置差決定部、217 検証部、d 入力データ列、e 外部データ列、c 符号データ列、o 出力データ列。
DESCRIPTION OF
Claims (18)
前記入力値d[i]と、前記予測部によって予測された予測値p[i]との差を残差r[i]として計算する残差計算部と、
前記残差計算部によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化部と
を備えるデータ圧縮装置。The input value d [i] of the target position i in the input data string d is used by using the external value e [i−m] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e. ] For predicting the predicted value p [i] of
A residual calculator that calculates a difference between the input value d [i] and the predicted value p [i] predicted by the predictor as a residual r [i];
A data compression apparatus comprising: an encoding unit that encodes the residual r [i] calculated by the residual calculation unit and generates a code c [i] for the input value d [i].
請求項1に記載のデータ圧縮装置。2. The data compression apparatus according to claim 1, wherein the prediction unit further predicts the predicted value p [i] using an input value for which a code has already been generated in the input data string d.
前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定部
を備える請求項1又は2に記載のデータ圧縮装置。The data compression device further includes:
By shifting the position of the external value of the external data string e corresponding to the input value of the input data string d, a shift amount that correlates the input data string d and the external data string e is determined as the positional difference m. The data compression apparatus according to claim 1, further comprising a position difference determination unit that performs the operation.
請求項3に記載のデータ圧縮装置。The position difference determination unit determines, as the position difference m, the shift amount at which the position of an extreme value is close for an input value for which a code has already been generated in the input data string d and the external data string e. Item 4. The data compression device according to Item 3.
請求項3又は4に記載のデータ圧縮装置。The data compression apparatus according to claim 3 or 4, wherein the position difference determination unit newly determines the position difference m every time a reference input value is encoded.
請求項3又は4に記載のデータ圧縮装置。The position difference determination unit calculates the predicted value p * [i−1] of the input value d [i−1] predicted without using the external data string e and the input value d [i−1]. The absolute value of the residual r * [i-1] is smaller than the absolute value of the residual r [i-1] between the input value d [i-1] and the predicted value p [i-1]. 5. The data compression device according to claim 3, wherein the position difference m is newly determined when the reference number of times continues for a reference time.
前記入力データ列dにおいて既に符号が生成されたある入力値d[j]について、前記位置差決定部によって決定された位置差mを用いて予測された予測値p[j]と、前記入力値d[j]との残差r[j]の絶対値が基準値以上である場合に、前記位置差決定部に前記位置差mを決定し直させる検証部
を備える請求項3から6までのいずれか1項に記載のデータ圧縮装置。The data compression device further includes:
For a certain input value d [j] for which a code has already been generated in the input data string d, a predicted value p [j] predicted using the position difference m determined by the position difference determination unit, and the input value The verification unit according to claim 3, further comprising a verification unit that causes the positional difference determination unit to re-determine the positional difference m when the absolute value of the residual r [j] with respect to d [j] is equal to or greater than a reference value. The data compression device according to any one of claims.
符号c[i]を復号して残差r[i]を生成する復号部と、
前記予測部によって予測された予測値p[i]と、前記復号部によって生成された残差r[i]との和を前記出力値o[i]として計算する出力値計算部と
を備えるデータ伸長装置。The output value o [i] of the target position i in the output data string o is used by using the external value e [im] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e. ] For predicting the predicted value p [i] of
A decoding unit that decodes the code c [i] to generate a residual r [i];
Data including an output value calculation unit that calculates a sum of the prediction value p [i] predicted by the prediction unit and the residual r [i] generated by the decoding unit as the output value o [i]. Stretching device.
請求項8に記載のデータ伸長装置。The data expansion device according to claim 8, wherein the prediction unit further predicts the prediction value p [i] using the output value calculated by the output value calculation unit.
前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定部
を備える請求項8又は9に記載のデータ伸長装置。The data decompression device further includes:
By shifting the position of the external value of the external data string e corresponding to the output value of the output data string o, the shift amount that correlates the output data string o and the external data string e is determined as the positional difference m. The data decompression device according to claim 8 or 9, further comprising a position difference determination unit.
請求項10に記載のデータ伸長装置。11. The data decompression device according to claim 10, wherein the position difference determination unit determines the shift amount at which extreme positions are close to the output data string o and the external data string e as the position difference m.
請求項10又は11に記載のデータ伸長装置。The data expansion device according to claim 10 or 11, wherein the position difference determination unit newly determines the position difference m each time a reference output value is calculated.
請求項10又は11に記載のデータ伸長装置。The position difference determination unit calculates the predicted value p * [i−1] of the output value o [i−1] predicted without using the external data string e and the output value o [i−1]. The absolute value of the residual r * [i-1] is smaller than the absolute value of the residual r [i-1] between the predicted value p [i-1] and the output value o [i-1]. The data decompression device according to claim 10 or 11, wherein the position difference m is newly determined when the reference number of times continues for a reference time.
前記出力値計算部によって生成されたある出力値o[j]について、前記位置差決定部によって決定された位置差mを用いて予測された予測値p[j]と、前記出力値o[j]との残差r[j]の絶対値が基準値以上である場合に、前記位置差決定部に前記位置差mを決定し直させる検証部
を備える請求項10から13までのいずれか1項に記載のデータ伸長装置。The data decompression device further includes:
For a certain output value o [j] generated by the output value calculator, the predicted value p [j] predicted using the position difference m determined by the position difference determiner, and the output value o [j ] The verification part which makes the said position difference determination part re-determine the said position difference m when the absolute value of the residual r [j] with respect to a reference value or more is provided. The data decompression device according to item.
前記入力値d[i]と、前記予測処理によって予測された予測値p[i]との差を残差r[i]として計算する残差計算処理と、
前記残差計算処理によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化処理と
をコンピュータに実行させるデータ圧縮プログラム。The input value d [i] of the target position i in the input data string d is used by using the external value e [i−m] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e. ] Prediction processing for predicting the predicted value p [i] of
A residual calculation process for calculating a difference between the input value d [i] and the predicted value p [i] predicted by the prediction process as a residual r [i];
A data compression program for causing a computer to execute an encoding process for encoding a residual r [i] calculated by the residual calculation process and generating a code c [i] for the input value d [i].
符号c[i]を復号して残差r[i]を生成する復号処理と、
前記予測処理によって予測された予測値p[i]と、前記復号処理によって生成された残差r[i]との和を出力値o[i]として計算する出力値計算処理と
をコンピュータに実行させるデータ伸長プログラム。The output value o [i] of the target position i in the output data string o is used by using the external value e [im] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e. ] Prediction processing for predicting the predicted value p [i] of
A decoding process for decoding the code c [i] to generate a residual r [i];
The computer executes an output value calculation process for calculating the sum of the predicted value p [i] predicted by the prediction process and the residual r [i] generated by the decoding process as an output value o [i]. Data decompression program to be executed.
プロセッサが、前記入力値d[i]と、前記予測値p[i]との差を残差r[i]として計算し、
プロセッサが、前記残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成するデータ圧縮方法。The processor uses the external value e [i−m] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e, and the input value of the target position i in the input data string d. predict a predicted value p [i] of d [i],
A processor calculates a difference between the input value d [i] and the predicted value p [i] as a residual r [i];
A data compression method in which a processor encodes the residual r [i] to generate a code c [i] for the input value d [i].
プロセッサが、符号c[i]を復号して残差r[i]を生成し、
プロセッサが、前記予測値p[i]と、前記残差r[i]との和を前記出力値o[i]として計算するデータ伸長方法。The processor uses the external value e [i−m] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e, and the output value of the target position i in the output data string o. predict the predicted value p [i] of o [i],
A processor decodes the code c [i] to generate a residual r [i];
A data expansion method in which a processor calculates the sum of the predicted value p [i] and the residual r [i] as the output value o [i].
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/085875 WO2017109865A1 (en) | 2015-12-22 | 2015-12-22 | Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6266193B2 JP6266193B2 (en) | 2018-01-24 |
JPWO2017109865A1 true JPWO2017109865A1 (en) | 2018-02-01 |
Family
ID=59089691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017555720A Expired - Fee Related JP6266193B2 (en) | 2015-12-22 | 2015-12-22 | Data compression apparatus, data expansion apparatus, data compression program, data expansion program, data compression method, and data expansion method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6266193B2 (en) |
WO (1) | WO2017109865A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230275664A1 (en) * | 2020-07-27 | 2023-08-31 | Nippon Telegraph And Telephone Corporation | Optical communication system and optical communication method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006118178A1 (en) * | 2005-04-28 | 2006-11-09 | Matsushita Electric Industrial Co., Ltd. | Audio encoding device and audio encoding method |
JP2007019862A (en) * | 2005-07-07 | 2007-01-25 | Nippon Telegr & Teleph Corp <Ntt> | Multichannel signal encoding method, multichannel signal decoding method, device using the methods, program and recording medium |
JP2013528824A (en) * | 2010-04-13 | 2013-07-11 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | Audio or video encoder, audio or video decoder, and multi-channel audio or video signal processing method using prediction direction variable prediction |
-
2015
- 2015-12-22 JP JP2017555720A patent/JP6266193B2/en not_active Expired - Fee Related
- 2015-12-22 WO PCT/JP2015/085875 patent/WO2017109865A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006118178A1 (en) * | 2005-04-28 | 2006-11-09 | Matsushita Electric Industrial Co., Ltd. | Audio encoding device and audio encoding method |
JP2007019862A (en) * | 2005-07-07 | 2007-01-25 | Nippon Telegr & Teleph Corp <Ntt> | Multichannel signal encoding method, multichannel signal decoding method, device using the methods, program and recording medium |
JP2013528824A (en) * | 2010-04-13 | 2013-07-11 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | Audio or video encoder, audio or video decoder, and multi-channel audio or video signal processing method using prediction direction variable prediction |
Also Published As
Publication number | Publication date |
---|---|
JP6266193B2 (en) | 2018-01-24 |
WO2017109865A1 (en) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10404984B2 (en) | Method and apparatus for pyramid vector quantization indexing and de-indexing of audio/video sample vectors | |
KR101353216B1 (en) | Arithmetic encoding for factorial pulse coder | |
KR101353170B1 (en) | Encoder and decoder using arithmetic stage to compress code space that is not fully utilized | |
ES2871859T3 (en) | Cross-channel encoding of a high-band audio signal | |
RU2016105682A (en) | DEVICE AND METHOD FOR CODING METADATA OF OBJECT WITH LOW DELAY | |
JP2017511997A (en) | Data source encoding and decoding apparatus and method | |
JP7257965B2 (en) | Differential data in digital audio signal | |
US8947274B2 (en) | Encoding apparatus, decoding apparatus, encoding method, encoding program, decoding method, and decoding program | |
JP6266193B2 (en) | Data compression apparatus, data expansion apparatus, data compression program, data expansion program, data compression method, and data expansion method | |
JP5704018B2 (en) | Audio signal encoding method and apparatus | |
CN106537914B (en) | The method and apparatus of arithmetic compiling is executed by the carry operations of limitation | |
US8638243B2 (en) | Data compression device, data compression method, and medium | |
US10727863B2 (en) | Data compression device and data compression method | |
JPWO2019030860A1 (en) | Method and apparatus for generating redundant bit for error detection | |
JP2007336056A (en) | Encoding device, encoding method and program | |
JPWO2013046504A1 (en) | Arithmetic decoding device, image decoding device, and arithmetic decoding method | |
US8805904B2 (en) | Method and apparatus for calculating the number of leading zero bits of a binary operation | |
KR101311617B1 (en) | Method and apparatus of address bus coding/decoding for low-power very large scale integration system | |
KR101578989B1 (en) | Apparatus and method for low complexity combinatorial coding and decoding of signals | |
US9558109B2 (en) | Method and apparatus for flash memory arithmetic encoding and decoding | |
JP5585336B2 (en) | COMPRESSION DEVICE, COMPRESSION METHOD, COMPRESSION PROGRAM, AND RESTORE DEVICE | |
JP2008072562A (en) | Encoding device and method therefor, decoding device and method therefor, and encoding and decoding programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171024 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171024 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20171024 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20171116 |
|
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: 20171121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6266193 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |