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 PDF

Info

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
Application number
JP2017555720A
Other languages
Japanese (ja)
Other versions
JP6266193B2 (en
Inventor
秀哉 柴田
秀哉 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6266193B2 publication Critical patent/JP6266193B2/en
Publication of JPWO2017109865A1 publication Critical patent/JPWO2017109865A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital 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. Patent Document 1 describes a technique for compressing and recording stereoscopic video data composed of two channel data. Patent Document 1 describes that, for one channel data, a residual with the other channel data is encoded. In this example, the other channel data corresponds to external data.

特開平6−302103号公報JP-A-6-302103

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 Patent Document 1, there is a high possibility that the residual does not become a value close to zero.
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 is a configuration diagram of a data compression system 1 according to Embodiment 1. FIG. 実施の形態1に係る入力データ列d及び外部データ列eの例を示す図。FIG. 4 is a diagram illustrating an example of an input data string d and an external data string e according to the first embodiment. 実施の形態1に係るデータ圧縮装置10の構成図。1 is a configuration diagram of a data compression apparatus 10 according to Embodiment 1. FIG. 実施の形態1に係るデータ伸長装置20の構成図。1 is a configuration diagram of a data decompression device 20 according to Embodiment 1. FIG. 実施の形態1に係るデータ圧縮装置10の動作を示すフローチャート。3 is a flowchart showing the operation of the data compression apparatus 10 according to the first embodiment. 実施の形態1に係るデータ伸長装置20の動作を示すフローチャート。5 is a flowchart showing the operation of the data decompression apparatus 20 according to the first embodiment. 変形例1に係るデータ圧縮装置10の構成図。The block diagram of the data compression apparatus 10 which concerns on the modification 1. FIG. 変形例1に係るデータ伸長装置20の構成図。The block diagram of the data expansion | deployment apparatus 20 which concerns on the modification 1. FIG. 各部の機能がハードウェアで実現される場合のデータ圧縮装置10の構成図。The block diagram of the data compression apparatus 10 in case the function of each part is implement | achieved by hardware. 各部の機能がハードウェアで実現される場合のデータ伸長装置20の構成図。The block diagram of the data expansion | deployment apparatus 20 in case the function of each part is implement | achieved by hardware. 実施の形態2に係るデータ圧縮装置10の構成図。FIG. 4 is a configuration diagram of a data compression apparatus 10 according to a second embodiment. 実施の形態2に係るデータ伸長装置20の構成図。FIG. 4 is a configuration diagram of a data decompression apparatus 20 according to a second embodiment. 実施の形態2に係るデータ圧縮装置10の動作を示すフローチャート。9 is a flowchart showing the operation of the data compression apparatus 10 according to the second embodiment. 図13のステップS303での位置差決定部116の動作を示すフローチャート。14 is a flowchart showing the operation of the position difference determination unit 116 in step S303 in FIG. 実施の形態2に係るデータ伸長装置20の動作を示すフローチャート。9 is a flowchart showing the operation of the data decompression apparatus 20 according to the second embodiment. 図13のステップS302での変形例4に係る位置差決定部116の動作を示すフローチャート。14 is a flowchart showing the operation of the position difference determination unit 116 according to Modification 4 in step S302 of FIG. 実施の形態3に係るデータ圧縮装置10の構成図。FIG. 6 is a configuration diagram of a data compression apparatus 10 according to a third embodiment. 実施の形態3に係るデータ伸長装置20の構成図。FIG. 6 is a configuration diagram of a data decompression device 20 according to a third embodiment. 実施の形態3に係るデータ圧縮装置10の動作を示すフローチャート。10 is a flowchart showing the operation of the data compression apparatus 10 according to the third embodiment. 実施の形態3に係るデータ伸長装置20の動作を示すフローチャート。10 is a flowchart showing the operation of the data decompression apparatus 20 according to the third embodiment.

実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係るデータ圧縮システム1の構成を説明する。
データ圧縮システム1は、データ圧縮装置10と、データ伸長装置20とを備える。データ圧縮装置10とデータ伸長装置20とはネットワーク30を介して接続されている。
データ圧縮装置10は、入力データ列dと外部データ列eとを入力として、入力データ列dを符号化した符号データ列cを生成する装置である。データ伸長装置20は、データ圧縮装置10によって生成された符号データ列cと、外部データ列eとを入力として、符号データ列cを復号した出力データ列oを生成する装置である。
Embodiment 1 FIG.
*** Explanation of configuration ***
With reference to FIG. 1, the structure of the data compression system 1 which concerns on Embodiment 1 is demonstrated.
The data compression system 1 includes a data compression device 10 and a data decompression device 20. The data compression device 10 and the data decompression device 20 are connected via a network 30.
The data compression apparatus 10 is an apparatus that receives an input data string d and an external data string e as input and generates a code data string c obtained by encoding the input data string d. The data decompression device 20 is a device that generates the output data sequence o obtained by decoding the code data sequence c, using the code data sequence c generated by the data compression device 10 and the external data sequence e as inputs.

入力データ列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 data compression apparatus 10 according to the first embodiment will be described.
The data compression apparatus 10 is a computer.
The data compression device 10 includes a processor 11, a storage device 12, and a communication device 13. The processor 11 is connected to other hardware via the signal line 14 and controls these other hardware.

データ圧縮装置10は、機能構成として、入力部111と、予測部112と、残差計算部113と、符号化部114と、出力部115とを備える。入力部111と、予測部112と、残差計算部113と、符号化部114と、出力部115との各部の機能はソフトウェアにより実現される。
記憶装置12には、データ圧縮装置10の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。これにより、データ圧縮装置10の各部の機能が実現される。
The data compression apparatus 10 includes an input unit 111, a prediction unit 112, a residual calculation unit 113, an encoding unit 114, and an output unit 115 as functional configurations. The functions of the input unit 111, the prediction unit 112, the residual calculation unit 113, the encoding unit 114, and the output unit 115 are realized by software.
The storage device 12 stores a program that realizes the functions of the respective units of the data compression device 10. This program is read into the processor 11 and executed by the processor 11. Thereby, the function of each part of the data compression apparatus 10 is implement | achieved.

図4を参照して、実施の形態1に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、コンピュータである。
データ伸長装置20は、プロセッサ21と、記憶装置22と、通信装置23とを備える。プロセッサ21は、信号線24を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
With reference to FIG. 4, the configuration of the data decompression apparatus 20 according to the first embodiment will be described.
The data decompression device 20 is a computer.
The data decompression device 20 includes a processor 21, a storage device 22, and a communication device 23. The processor 21 is connected to other hardware via the signal line 24 and controls these other hardware.

データ伸長装置20は、機能構成として、入力部211と、予測部212と、復号部213と、出力値計算部214と、出力部215とを備える。入力部211と、予測部212と、復号部213と、出力値計算部214と、出力部215との各部の機能はソフトウェアにより実現される。
記憶装置22には、データ伸長装置20の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、データ伸長装置20の各部の機能が実現される。
The data decompression device 20 includes an input unit 211, a prediction unit 212, a decoding unit 213, an output value calculation unit 214, and an output unit 215 as functional configurations. The functions of the input unit 211, the prediction unit 212, the decoding unit 213, the output value calculation unit 214, and the output unit 215 are realized by software.
The storage device 22 stores a program that realizes the functions of the respective units of the data decompression device 20. This program is read into the processor 21 and executed by the processor 21. Thereby, the function of each part of data decompression device 20 is realized.

プロセッサ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 processors 11 and 21 are ICs that perform processing. IC is an abbreviation for Integrated Circuit. Specifically, the processors 11 and 21 are a CPU, a DSP, and a GPU. CPU is an abbreviation for Central Processing Unit. DSP is an abbreviation for Digital Signal Processor. GPU is an abbreviation for Graphics Processing Unit.
Specifically, the storage devices 12 and 22 are a RAM and an HDD. RAM is an abbreviation for Random Access Memory. HDD is an abbreviation for Hard Disk Drive. The storage device may be configured by other hardware such as a ROM and a flash memory. ROM is an abbreviation for Read Only Memory.
The communication devices 13 and 23 are devices including a receiver that receives data and a transmitter that transmits data. The communication devices 13 and 23 are specifically communication chips or NICs. NIC is an abbreviation for Network Interface Card.

プロセッサ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 processor 11 are stored in the storage device 12 or in a register or cache memory in the processor 11. In the following description, it is assumed that information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 11 are stored in the storage device 12.
Similarly, information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 21 are stored in the storage device 22, a register in the processor 21, or a cache memory. In the following description, it is assumed that information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 21 are stored in the storage device 22.

プロセッサ11,21によって実現される各部の機能を実現するプログラムは、記憶装置12,22に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体に記憶されてもよい。   It is assumed that programs for realizing the functions of the respective units realized by the processors 11 and 21 are stored in the storage devices 12 and 22. However, this program may be stored in a portable storage medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD.

図3では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各部の機能を実現するプログラムを連携して実行してもよい。同様に、図4では、プロセッサ21は、1つだけ示されていた。しかし、プロセッサ21は、複数であってもよく、複数のプロセッサ21が、各部の機能を実現するプログラムを連携して実行してもよい。   In FIG. 3, only one processor 11 is shown. However, there may be a plurality of processors 11, and the plurality of processors 11 may execute programs that realize the functions of the respective units in cooperation. Similarly, in FIG. 4, only one processor 21 is shown. However, there may be a plurality of processors 21, and the plurality of processors 21 may execute programs that realize the functions of the respective units in cooperation.

***動作の説明***
図3及び図5を参照して、実施の形態1に係るデータ圧縮装置10の動作を説明する。
実施の形態1に係るデータ圧縮装置10の動作は、実施の形態1に係るデータ圧縮方法に相当する。また、実施の形態1に係るデータ圧縮装置10の動作は、実施の形態1に係るデータ圧縮プログラムの処理に相当する。
*** Explanation of operation ***
The operation of the data compression apparatus 10 according to the first embodiment will be described with reference to FIGS. 3 and 5.
The operation of the data compression apparatus 10 according to the first embodiment corresponds to the data compression method according to the first embodiment. The operation of the data compression apparatus 10 according to the first embodiment corresponds to the processing of the data compression program according to the first embodiment.

図5に示す処理の前提として、入力部111は、入力データ列dと外部データ列eとを通信装置13を介して受信し、入力データ列dと外部データ列eと記憶装置12に書き込んでいるものとする。   As a premise of the processing illustrated in FIG. 5, the input unit 111 receives the input data string d and the external data string e via the communication device 13, and writes the input data string d, the external data string e, and the storage device 12. It shall be.

変数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 input unit 111 determines whether or not encoding for all input values of the input data string d has been completed. Specifically, the input unit 111 counts the number of input values of the input data string d, and when the variable i is the number of input values, the encoding for all the input values is completed. judge.
If the input unit 111 determines that the encoding is complete (YES in step S101), the input unit 111 ends the process. If the input unit 111 determines that the encoding has not been completed (NO in step S101), the process proceeds to step S102.

ステップ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 prediction unit 112 uses 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 sequence e. The predicted value p [i] of the input value d [i] of the target position i at d is predicted.
Specifically, the prediction unit 112 reads the position difference m from the storage device 12, and reads from the storage device 12 the external value e [i−m] at a position shifted by the position difference m from the target position i. In the first embodiment, it is assumed that the position difference m is stored in the storage device 12 in advance. Then, the prediction unit 112 calculates the predicted value p [i] according to the equation p [i] = e [im]. The prediction unit 112 writes the calculated predicted value p [i] in the storage device 12.
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 residual calculation unit 113 calculates the difference between the input value d [i] and the predicted value p [i] predicted by the prediction unit 112 in step S102 as the residual r [i]. Calculate as
Specifically, the residual calculation unit 113 reads the input value d [i] written in advance and the predicted value p [i] written in step S102 from the storage device 12. Then, the residual calculation unit 113 calculates the residual r [i] by subtracting the predicted value p [i] from the input value d [i]. The residual calculation unit 113 writes the calculated residual r [i] in the storage device 12.

ステップ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 encoding unit 114 encodes the residual r [i] calculated by the residual calculation unit 113 in step S103, and the code c [i] for the input value d [i]. Is generated.
Specifically, the encoding unit 114 reads the residual r [i] written in step S103 from the storage device 12. The encoding unit 114 converts the residual r [i] by an integer encoding method such as a gamma code, a delta code, or a Golomb-Rice code, and generates a code c [i] for the input value d [i]. The encoding unit 114 writes the generated code c [i] in the storage device 12.

ステップS105の出力処理では、出力部115は、ステップS104で符号化部114によって生成された符号c[i]を符号データ列cの対象位置iの値として出力する。   In the output process of step S105, the output unit 115 outputs the code c [i] generated by the encoding unit 114 in step S104 as the value of the target position i of the code data string c.

ステップS106のインクリメント処理では、入力部111は、変数iの値に1加算して、処理をステップS101に戻す。   In the increment process of step S106, the input unit 111 adds 1 to the value of the variable i, and returns the process to step S101.

図4及び図6を参照して、実施の形態1に係るデータ伸長装置20の動作を説明する。
実施の形態1に係るデータ伸長装置20の動作は、実施の形態1に係るデータ伸長方法に相当する。また、実施の形態1に係るデータ伸長装置20の動作は、実施の形態1に係るデータ伸長プログラムの処理に相当する。
With reference to FIGS. 4 and 6, the operation of the data decompression apparatus 20 according to the first embodiment will be described.
The operation of the data decompression apparatus 20 according to the first embodiment corresponds to the data decompression method according to the first embodiment. The operation of the data decompression apparatus 20 according to the first embodiment corresponds to the processing of the data decompression program according to the first embodiment.

図6に示す処理の前提として、入力部211は、符号データ列cと外部データ列eとを通信装置23を介して受信し、符号データ列cと外部データ列eと記憶装置22に書き込んでいるものとする。   As a premise of the processing illustrated in FIG. 6, the input unit 211 receives the code data sequence c and the external data sequence e via the communication device 23, and writes the code data sequence c, the external data sequence e, and the storage device 22. It shall be.

変数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 input unit 211 determines whether or not decoding has been completed for all codes of the code data string c. Specifically, the input unit 211 counts the number of codes in the code data string c, and determines that the decoding for all codes is completed when the variable i is the number of codes.
If the input unit 211 determines that the decoding is complete (YES in step S201), the process ends. If the input unit 211 determines that the decoding has not been completed (NO in step S201), the process proceeds to step S202.

ステップ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 prediction unit 212 uses 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 sequence e, using the output data sequence. The predicted value p [i] of the output value o [i] of the target position i at o is predicted.
Specifically, the prediction unit 212 reads the position difference m from the storage device 22, and reads from the storage device 22 the external value e [i−m] at a position shifted by the position difference m from the target position i. In the first embodiment, it is assumed that the position difference m is stored in the storage device 22 in advance. Then, the prediction unit 212 calculates the predicted value p [i] according to the same formula as that used in step S102 of FIG. The prediction unit 212 writes the calculated predicted value p [i] in the storage device 22.

ステップ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 decoding unit 213 generates the residual r [i] by decoding the code c [i].
Specifically, the decoding unit 213 reads the code c [i] from the storage device 22. Then, the decoding unit 213 converts the code c [i] by a decoding method corresponding to the integer coding method used by the coding unit 114 in step S104 of FIG. 5 and calculates a residual r [i]. The decoding unit 213 writes the calculated residual r [i] in the storage device 22.

ステップ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 value calculation unit 214 uses the prediction value p [i] predicted by the prediction unit 212 in step S202 and the residual r [i] generated by the decoding unit 213 in step S203. Is calculated as an output value o [i].
Specifically, the output value calculation unit 214 stores the prediction value p [i] predicted by the prediction unit 212 in step S202 and the residual r [i] generated by the decoding unit 213 in step S203. 22 is read out. Then, the output value calculation unit 214 calculates the output value o [i] by adding the predicted value p [i] to the residual r [i]. The output value calculation unit 214 writes the calculated output value o [i] in the storage device 22.

ステップS205の出力処理では、出力部215は、ステップS204で出力値計算部214によって計算された出力値o[i]を出力データ列oの対象位置iの値として出力する。   In the output process of step S205, the output unit 215 outputs the output value o [i] calculated by the output value calculation unit 214 in step S204 as the value of the target position i of the output data string o.

ステップS206のインクリメント処理では、入力部211は、変数iの値に1加算して、処理をステップS201に戻す。   In the increment process of step S206, the input unit 211 adds 1 to the value of the variable i, and returns the process to step S201.

***実施の形態1の効果***
以上のように、実施の形態1に係るデータ圧縮システム1では、外部データ列eにおける対象位置iより位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける入力値d[i]の予測値p[i]を予測する。これにより、一方の外部データ列eの位置をずらすと、入力データ列dと似た挙動を示すようになる場合に、予測値を予測する精度を向上させることができる。
*** Effects of Embodiment 1 ***
As described above, in the data compression system 1 according to the first embodiment, the external value e [i−m] at the position shifted by the position difference m from the target position i in the external data string e is used to input the input data string d. A predicted value p [i] of the input value d [i] is predicted. Thereby, if the position of one 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では、外部値e[i−m]を用いて予測値p[i]を予測した。しかし、変形例1として、外部値e[i−m]だけでなく、他の外部値と、入力データ列dにおいて既に符号が生成された入力値との少なくともいずれかを用いて、予測値p[i]を予測してもよい。この変形例1について、実施の形態1と異なる点を説明する。
*** Other configurations ***
<Modification 1>
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 data compression apparatus 10 which concerns on the modification 1 is demonstrated.
7 is different from FIG. 3 in that the prediction unit 112 receives the input value d [j] of the input data string d and the external data string e. The variable j is an integer value from 0 to i-1.

変形例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 prediction unit 112 determines not only the external value e [im] but also other external values and the input value d [0] whose code has already been generated in the input data string d. ],. . . , The predicted value p [i] is predicted using at least one of the input value d [i-1]. In this case, the necessary external value and input value are read from the storage device 12, and the predicted value p [i] is calculated according to an equation using the read external value and input value.
As a specific example, the prediction unit 112 uses the external value e [im−1], the external value e [im], and the input value d [i−1], and p [i] = d. It is conceivable to calculate the predicted value p [i] according to the equation [i-1] + (e [im] -e [im-1]).

図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 | decompression apparatus 20 which concerns on the modification 1 is demonstrated.
8 is different from FIG. 4 in that the prediction unit 212 receives the output value o [j] of the output data string o and the external data string e. The variable j is an integer value from 0 to i-1.

変形例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 prediction unit 212 determines not only the external value e [im] but also other external values and an output value o [0] whose code has already been generated in the output data sequence o. ],. . . , The predicted value p [i] is predicted using at least one of the output value o [i-1].
Specifically, the prediction unit 212 calculates the prediction value p [i] by the same method as the method by which the prediction unit 112 calculates the prediction value p [i] in step S102 of the first modification. However, when the prediction unit 112 uses the input value d [j] in S102, the output value o [j] corresponding to the input value d [j] is used instead of the input value d [j].

なお、変形例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 prediction unit 112 of the data compression device 10 cannot use the input value for which the code has not yet been generated for the input data string d to predict the predicted value p [i]. This is necessary so that the data decompression device 20 can correctly decode the code data string c.
That is, the prediction unit 212 of the data decompression device 20 needs to predict the prediction value p [i] by the same method as the prediction unit 112 of the data compression device 10. However, when the prediction unit 212 of the data decompression apparatus 20 predicts the predicted value p [i], the output value o [0],. . . , Only the output value o [i−1] is obtained. Therefore, when the prediction unit 112 of the data compression apparatus 10 predicts the predicted value p [i], if the input value for which a code has not yet been generated is used, the data decompression apparatus 20 correctly sets the code data string c. It becomes impossible to decrypt.

<変形例2>
実施の形態1では、データ圧縮装置10とデータ伸長装置20との各部の機能がソフトウェアで実現された。しかし、変形例2として、データ圧縮装置10とデータ伸長装置20との各部の機能はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。
<Modification 2>
In the first embodiment, the functions of the respective units of the data compression device 10 and the data decompression device 20 are realized by software. However, as a second modification, the functions of the respective units of the data compression device 10 and the data decompression device 20 may be realized by hardware. The second modification will be described with respect to differences from the first embodiment.

図9を参照して、変形例2に係るデータ圧縮装置10の構成を説明する。
各部の機能がハードウェアで実現される場合、データ圧縮装置10は、通信装置13と、処理回路15とを備える。処理回路15は、データ圧縮装置10の各部の機能及び記憶装置12の機能を実現する専用の電子回路である。
With reference to FIG. 9, the structure of the data compression apparatus 10 which concerns on the modification 2 is demonstrated.
When the function of each unit is realized by hardware, the data compression device 10 includes a communication device 13 and a processing circuit 15. The processing circuit 15 is a dedicated electronic circuit that realizes the functions of the respective units of the data compression device 10 and the functions of the storage device 12.

図10を参照して、変形例2に係るデータ伸長装置20の構成を説明する。
各部の機能がハードウェアで実現される場合、データ伸長装置20は、通信装置23と、処理回路25とを備える。処理回路25は、データ伸長装置20の各部の機能及び記憶装置22の機能を実現する専用の電子回路である。
With reference to FIG. 10, the structure of the data decompression | decompression apparatus 20 which concerns on the modification 2 is demonstrated.
When the function of each unit is realized by hardware, the data decompression device 20 includes a communication device 23 and a processing circuit 25. The processing circuit 25 is a dedicated electronic circuit that implements the functions of each unit of the data decompression device 20 and the function of the storage device 22.

処理回路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 processing circuits 15 and 25, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, and an FPGA are assumed. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.
The function of each part may be realized by one processing circuit 15 or 25, or the function of each part may be distributed to a plurality of processing circuits 15 and 25.

<変形例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 data compression apparatus 10 may be realized by hardware, and other functions may be realized by software. Also for the data decompression device 20, some functions may be realized by hardware, and other functions may be realized by software.

プロセッサ11,21と記憶装置12,22と処理回路15,25とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。   The processors 11 and 21, the storage devices 12 and 22, and the processing circuits 15 and 25 are collectively referred to as “processing circuitry”. That is, the function of each part is realized by a processing circuit.

実施の形態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 data compression apparatus 10 which concerns on Embodiment 2 is demonstrated.
The data compression apparatus 10 includes a position difference determination unit 116 in addition to the functional configuration shown in FIG. The function of the position difference determination unit 116 is realized by software.
The storage device 12 stores a program that realizes the function of the position difference determination unit 116. This program is read into the processor 11 and executed by the processor 11. Thereby, the function of the position difference determination unit 116 is realized.

図12を参照して、実施の形態2に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、図4に示す機能構成に加え、位置差決定部216を備える。位置差決定部216の機能はソフトウェアにより実現される。
記憶装置22には、位置差決定部216の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、位置差決定部216の機能が実現される。
With reference to FIG. 12, the configuration of the data decompression apparatus 20 according to the second embodiment will be described.
The data decompression device 20 includes a position difference determination unit 216 in addition to the functional configuration shown in FIG. The function of the position difference determination unit 216 is realized by software.
The storage device 22 stores a program that realizes the function of the position difference determination unit 216. This program is read into the processor 21 and executed by the processor 21. Thereby, the function of the position difference determination unit 216 is realized.

***動作の説明***
図11及び図13を参照して、実施の形態2に係るデータ圧縮装置10の動作を説明する。
実施の形態2に係るデータ圧縮装置10の動作は、実施の形態2に係るデータ圧縮方法に相当する。また、実施の形態2に係るデータ圧縮装置10の動作は、実施の形態2に係るデータ圧縮プログラムの処理に相当する。
*** Explanation of operation ***
The operation of the data compression apparatus 10 according to the second embodiment will be described with reference to FIGS. 11 and 13.
The operation of the data compression apparatus 10 according to the second embodiment corresponds to the data compression method according to the second embodiment. The operation of the data compression apparatus 10 according to the second embodiment corresponds to the processing of the data compression program according to the second embodiment.

ステップ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 difference determination unit 116 determines whether or not to newly determine the position difference m. The reason why the position difference is updated is that the position difference m may also change due to changes in the characteristics of the input data string d and the external data string e.
If the position difference determination unit 116 determines to determine the position difference m (YES in step S302), the process proceeds to step S303. On the other hand, if the position difference determination unit 116 determines not to determine the position difference m (NO in step S302), the process proceeds to step S304.

具体的には、位置差決定部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 difference determination unit 116 determines to determine the position difference m every time the reference input value is encoded.
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 difference determination unit 116 receives the input values d [0],. . . , The input value d [i−1] is read from the storage device 12. Then, the position difference determination unit 116 receives the input values d [0],. . . , The cycle is specified from the input value d [i−1], and the number of input values included in the specified cycle is set as a reference value. In this case, the position difference determination unit 116 also specifies the period when determining the position difference m. As a result, even for an input data string d whose cycle varies, the positional difference m can be determined at an appropriate timing following the variation of the cycle.

ステップ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 difference determination unit 116 shifts the position of the external value of the external data string e corresponding to the input value of the input data string d, thereby changing the input data string d and the external data string e. Is determined as the positional difference m.
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 difference determination unit 116 specifies the shift amount at which the peak, that is, the position of the extreme value approaches the input value for which the code has already been generated in the input data sequence d and the external data sequence e, The specified shift amount is determined as the position difference m. The position difference determination unit 116 overwrites the position difference m stored in the storage device 12 with the determined position difference m.

図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 difference determination unit 116 receives the input values d [0],. . . , The input value d [i−1] is read from the storage device 12. In addition, the position difference determination unit 116 outputs the external values e [0],. . . , The external value e [i−1] is read from the storage device 12.
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 difference determination unit 116 determines that the input values d [i−k],. . . , Input value d [i−1] and external value e [i−k],. . . , The external value e [i−1] is read from the storage device 12.
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 difference determination unit 116 receives the input values d [i−k],. . . , The position of the extreme value is specified from the input value d [i−1], and the data string of the specified extreme value is set to the extreme value a [0],. . . , Extreme value a [p-1]. Here, p is the number of specified extreme values. In addition, the position difference determination unit 116 outputs the external values e [i−k],. . . , The position of the extreme value from the external value e [i−1], and the data string of the specified extreme value is converted to the extreme value b [0],. . . , Extreme value b [q-1]. Here, q is the number of specified extreme values.
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 difference determining unit 116 determines that j = 0,. . . , P−1 in ascending order, the extremum b [j] closest to the position before the extremum a [j] is selected, and the extremum a [i] and the extremum b [j] Calculate the difference in position. Then, the position difference determination unit 116 determines the position difference m based on the difference between the p positions. In the second embodiment, the position difference determining unit 116 determines the position difference having the largest position among the p position differences as the position difference m. The position difference determination unit 116 determines the intermediate value of the p position differences as the position difference m, or determines the integer closest to the average value of the p position differences as the position difference m. The position difference m may be determined by this method.

図12及び図15を参照して、実施の形態2に係るデータ伸長装置20の動作を説明する。
実施の形態2に係るデータ伸長装置20の動作は、実施の形態2に係るデータ伸長方法に相当する。また、実施の形態2に係るデータ伸長装置20の動作は、実施の形態2に係るデータ伸長プログラムの処理に相当する。
With reference to FIG. 12 and FIG. 15, the operation of the data decompression apparatus 20 according to the second embodiment will be described.
The operation of the data decompression apparatus 20 according to the second embodiment corresponds to the data decompression method according to the second embodiment. The operation of the data decompression device 20 according to the second embodiment corresponds to the processing of the data decompression program according to the second embodiment.

ステップ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 difference determination unit 216 determines whether or not to newly determine the position difference m by the same determination method used by the position difference determination unit 116 in step S302 of FIG. To do.
If the position difference determination unit 216 determines to determine the position difference m (YES in step S402), the process proceeds to step S403. On the other hand, if the position difference determination unit 216 determines that the position difference m is not determined again (NO in step S402), the process proceeds to step S404.

具体的には、位置差決定部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 difference determination unit 116 determines that the position difference m is determined every time the reference number of input values is encoded, the position difference determination unit 216 calculates the reference number of output values. Each time the position difference m is determined.
When the position difference determination unit 116 re-determines the position difference m for each cycle of the input data string d, the position difference determination unit 216 re-determines the position difference m for each cycle of the output data string o. . In this case, the position difference determination unit 216 outputs the output values o [0],. . . , The output value o [i−1] is read from the storage device 22. Then, the position difference determination unit 216 outputs the output values o [0],. . . , The cycle is specified from the output value o [i−1], and the number of output values included in the specified cycle is set as a reference value. In this case, the position difference determination unit 216 also specifies the cycle when determining the position difference m.

ステップ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 difference determination unit 216 determines the position difference m by the same determination method used by the position difference determination unit 116 in step S303 in FIG.
That is, the position difference determining unit 216 shifts the position of the external value of the external data string e corresponding to the output value of the output data string o, thereby determining the shift amount where the output data string o and the external data string e are correlated. Determined as difference m. Specifically, the position difference determination unit 216 specifies and specifies the shift amount at which the peak, that is, the position of the extreme value is close, for the output data string o including the already calculated output values and the external data string e. The shifted amount is determined as the position difference m. The position difference determination unit 216 overwrites the position difference m stored in the storage device 22 with the determined position difference m. The process for determining the position difference m is the same as the process of the position difference determination unit 116 described with reference to FIG. However, when the input value d [v] for the integer v with the position difference determination unit 116 is used, the position difference determination unit 216 uses the output value o [v] instead of the input value d [v].

***実施の形態2の効果***
以上のように、実施の形態2に係るデータ圧縮システム1では、位置差mを適宜決定して、予測値p[i]を予測する。これにより、入力データ列dの特性が変動する場合にも、予測値を予測する精度を向上させることができる。
*** Effects of Embodiment 2 ***
As described above, in the data compression system 1 according to the second embodiment, the position difference m is appropriately determined, and the predicted value p [i] is predicted. Thereby, even when the characteristics of the input data string d vary, the accuracy of predicting the predicted value can be improved.

***他の構成***
<変形例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 difference determination unit 116 determines that the position difference m is newly determined every time the reference input value is encoded. However, as a fourth modification, the position difference determination unit 116 may determine that the position difference m is newly determined when the accuracy of predicting the predicted value p [i] continuously falls below the reference accuracy. The fourth modification will be described with respect to differences from the second embodiment.

データ圧縮装置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 data compression apparatus 10 will be described.
The position difference determination unit 116 uses the accuracy when the input value d [i−1] is predicted without using the external data string e as the reference accuracy. Specifically, the position difference determination unit 116 predicts the predicted value p * [i−1] and the input value d [i−1] of the input value d [i−1] predicted without using the external data string e. The absolute value of the residual r * [i-1] is used as the reference accuracy.
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 difference determination unit 116 determines that 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]. When it is continuous, it is determined that the position difference m is newly determined.

図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 difference determination unit 116 according to the modified example 4 in step S302 of FIG. 13 will be described.
In the number determination process in step S3021, the position difference determination unit 116 determines whether or not the variable L is equal to or greater than the reference number. If the variable L is greater than or equal to the reference time (YES in step S3021), the position difference determination unit 116 advances the process to step S3022. On the other hand, if the variable L is not greater than or equal to the reference number (NO in step S3021), the position difference determination unit 116 advances the process to step S3023.

ステップS3022の更新決定処理では、位置差決定部116は、位置差mを新たに決定すると判定する。この際、位置差決定部116は、変数Lに0を設定する。   In the update determination process in step S3022, the position difference determination unit 116 determines to newly determine the position difference m. At this time, the position difference determination unit 116 sets 0 to the variable L.

ステップS3023の非更新決定処理では、位置差決定部116は、位置差mを新たに決定しないと判定する。   In the non-update determination process in step S <b> 3023, the position difference determination unit 116 determines that the position difference m is not newly determined.

ステップ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 difference determination unit 116 causes the prediction unit 112 to predict the predicted value p [i-1] of the input value d [i-1] using the external data string e. Also, the position difference determination unit 116 causes the prediction unit 112 to predict the predicted value p * [i−1] of the input value d [i−1] without using the external data string e.
Here, the prediction unit 112 predicts the predicted value p [i−1] as in step S102 of FIG. In addition, the prediction unit 112 inputs the input values d [0],. . . , The predicted value p * [i-1] of the input value d [i-1] is predicted using the input value d [i-2]. As a specific example, the prediction unit 112 sets the input value d [i-2] as the predicted value p * [i-1].

ステップ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 difference determination unit 116 causes the residual calculation unit 113 to send a residual r [i-1] between the predicted value p [i-1] and the input value d [i-1]. Let's calculate. Further, the position difference determination unit 116 causes the residual calculation unit 113 to calculate a residual r * [i−1] between the predicted value p * [i−1] and the input value d [i−1].
Here, the residual calculation unit 113 calculates the residual r [i−1] by subtracting the predicted value p [i−1] from the input value d [i−1], similarly to step S <b> 103 of FIG. 5. To do. The residual calculation unit 113 subtracts the predicted value p * [i-1] from the input value d [i-1] to calculate a residual r * [i-1].

ステップ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 difference determination unit 116 determines whether or not the absolute value of the residual r * [i−1] is smaller than the absolute value of the residual r [i−1]. If the absolute value of the residual r * [i−1] is smaller than the absolute value of the residual r [i−1], the position difference determination unit 116 proceeds with the process to step S3027. On the other hand, if the absolute value of the residual r * [i−1] is greater than or equal to the absolute value of the residual r [i−1], the position difference determination unit 116 proceeds with the process to step S3028.

ステップS3027の変数加算処理では、位置差決定部116は、変数Lに1加算する。一方、ステップS3028の変数初期化処理では、位置差決定部116は、変数Lに0を設定する。   In the variable addition process of step S3027, the position difference determination unit 116 adds 1 to the variable L. On the other hand, in the variable initialization process of step S3028, the position difference determination unit 116 sets 0 to the variable L.

データ伸長装置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 data decompression device 20 will be described.
In step S402 in FIG. 15, the position difference determination unit 216 determines whether or not to determine the position difference m by the same determination method used by the position difference determination unit 116 in step S302 in FIG. 13. Therefore, if the position difference determination unit 116 determines whether to determine the position difference m by the determination method described based on FIG. 16, the position difference determination unit 216 also determines the position difference by the determination method described based on FIG. It is determined whether or not m is determined.
That is, the position difference determination unit 216 uses the accuracy when the output value o [i−1] is predicted without using the external data string e as the reference accuracy. Specifically, the position difference determination unit 216 predicts the predicted value p * [i−1] and the output value o [i−1] of the output value o [i−1] predicted without using the external data string e. The absolute value of the residual r * [i-1] is used as the reference accuracy.
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 difference determination unit 216 determines that 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]. When it is continuous, it is determined that the position difference m is newly determined.
The operation of the position difference determination unit 216 according to the modification 4 in step S402 in FIG. 15 is the same as the operation of the position difference determination unit 116 described based on FIG. However, when the input value d [v] for the integer v with the position difference determination unit 116 is used, the position difference determination unit 216 uses the output value o [v] instead of the input value d [v].

なお、変形例4において、データ圧縮装置10の位置差決定部116は、入力データ列dについては、未だ符号が生成されていない入力値については、位置差mの決定に用いることができない。これは、変形例1の説明において、予測部112が未だ符号が生成されていない入力値を用いることができなかったことと同じ理由からである。   In the fourth modification, the position difference determination unit 116 of the data compression apparatus 10 cannot use the input value for which the code has not yet been generated for the input data string d to determine the position difference m. This is for the same reason that the prediction unit 112 has not been able to use an input value for which a code has not yet been generated in the description of the first modification.

<変形例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 data compression device 10 and the data decompression device 20 are realized by software. However, as in the second modification of the first embodiment, the functions of the respective units of the data compression device 10 and the data decompression device 20 may be realized by hardware. Further, as in the third modification of the first embodiment, the data compression device 10 and the data decompression device 20 may have some functions realized by hardware and other functions realized by software.

実施の形態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 data compression apparatus 10 which concerns on Embodiment 3 is demonstrated.
The data compression apparatus 10 includes a verification unit 117 in addition to the functional configuration shown in FIG. The function of the verification unit 117 is realized by software.
The storage device 12 stores a program that realizes the function of the verification unit 117. This program is read into the processor 11 and executed by the processor 11. Thereby, the function of the verification unit 117 is realized.

図18を参照して、実施の形態3に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、図4に示す機能構成に加え、検証部217を備える。検証部217の機能はソフトウェアにより実現される。
記憶装置22には、検証部217の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、検証部217の機能が実現される。
With reference to FIG. 18, the structure of the data decompression | decompression apparatus 20 which concerns on Embodiment 3 is demonstrated.
The data decompression device 20 includes a verification unit 217 in addition to the functional configuration shown in FIG. The function of the verification unit 217 is realized by software.
The storage device 22 stores a program that realizes the function of the verification unit 217. This program is read into the processor 21 and executed by the processor 21. Thereby, the function of the verification unit 217 is realized.

***動作の説明***
図17及び図19を参照して、実施の形態3に係るデータ圧縮装置10の動作を説明する。
実施の形態3に係るデータ圧縮装置10の動作は、実施の形態3に係るデータ圧縮方法に相当する。また、実施の形態3に係るデータ圧縮装置10の動作は、実施の形態3に係るデータ圧縮プログラムの処理に相当する。
*** Explanation of operation ***
The operation of the data compression apparatus 10 according to the third embodiment will be described with reference to FIGS. 17 and 19.
The operation of the data compression apparatus 10 according to the third embodiment corresponds to the data compression method according to the third embodiment. The operation of the data compression apparatus 10 according to the third embodiment corresponds to the processing of the data compression program according to the third embodiment.

ステップ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 verification unit 117 determines whether or not the position difference m determined by the position difference determination unit 116 in step S503 is valid.
If the verification unit 117 determines that the positional difference m is not valid (NO in step S504), the verification unit 117 advances the process to step S505. On the other hand, when the verification unit 117 determines that the position difference m is appropriate (YES in step S504), the verification unit 117 advances the process to step S506.

実施の形態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 verification unit 117 predicts a certain input value d [j] for which a code has already been generated in the input data string d, using the position difference m determined by the position difference determination unit 116. When the absolute value of the residual r [j] between the value p [j] and the input value d [j] is greater than or equal to the reference value, it is determined that the position difference m is not valid. On the other hand, the verification unit 117 determines that the position difference m is appropriate when the residual r [j] is less than the reference value.
Specifically, the verification unit 117 reads the position difference m from the storage device 12. Then, the verification unit 117 causes the prediction unit 112 to predict the predicted value p [j] of the input value d [j] using the position difference m. Here, the variable j is an integer of 0 or more and less than the variable i. Next, the verification unit 117 causes the residual calculation unit 113 to calculate the residual r [j] between the predicted value p [j] and the input value d [j]. Then, the verification unit 117 determines whether or not the absolute value of the residual r [j] is less than the reference value.
The verification unit 117 may determine whether the positional difference m is valid or not, but the input value that can be used for the determination is the input value d for which a code has already been generated. [0],. . . , The input value d [i−1].

ステップS505の再決定判定処理では、検証部117は、位置差決定部116に、位置差mを決定し直させるか否かを判定する。具体的には、検証部117は、ステップS504で一定回連続して位置差mが妥当でないと判定した場合には、位置差mを決定し直させないと判定し、そうでない場合には、位置差mを決定し直させると判定する。   In the redetermination determination process in step S505, the verification unit 117 determines whether or not to cause the position difference determination unit 116 to re-determine the position difference m. Specifically, the verification unit 117 determines that the position difference m is not re-determined when it is determined that the position difference m is not valid continuously for a predetermined number of times in step S504, and otherwise, the position difference m is determined. It is determined that the difference m is determined again.

検証部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 verification unit 117 returns the process to step S503. At this time, the verification unit 117 excludes the position difference m determined to be invalid once, so that the position difference determination unit 116 does not select it again. When the process returns to step S503, in step S503, the position difference determination unit 116 determines the largest position difference among the position differences that are not selected as the position difference m.

一方、検証部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 verification unit 117 advances the process to step S506. At this time, the verification unit 117 sets the positional difference m to unusable. In this case, in step S506, the prediction unit 112 predicts the predicted value p [i] of the input value d [i] without using the position difference m. Specifically, the input values d [0],. . . , The predicted value p [i] of the input value d [i] is predicted using the input value d [i-1].

図18及び図20を参照して、実施の形態3に係るデータ伸長装置20の動作を説明する。
実施の形態3に係るデータ伸長装置20の動作は、実施の形態3に係るデータ伸長方法に相当する。また、実施の形態3に係るデータ伸長装置20の動作は、実施の形態3に係るデータ伸長プログラムの処理に相当する。
With reference to FIGS. 18 and 20, the operation of the data decompression apparatus 20 according to the third embodiment will be described.
The operation of the data decompression apparatus 20 according to the third embodiment corresponds to the data decompression method according to the third embodiment. The operation of the data decompression device 20 according to the third embodiment corresponds to the processing of the data decompression program according to the third embodiment.

ステップ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 verification unit 217 uses the same determination method as the determination method used by the verification unit 117 in step S504 of FIG. 19 to determine the positional difference m determined by the positional difference determination unit 216 in step S603. It is determined whether it is appropriate.
In other words, in the third embodiment, the verification unit 217 predicts the predicted value p [j] predicted using the position difference m determined by the position difference determination unit 216 for a certain output value o [j] that has already been calculated. When the absolute value of the residual r [j] with respect to the output value o [j] is greater than or equal to the reference value, it is determined that the position difference m is not valid. On the other hand, the verification unit 217 determines that the positional difference m is appropriate when the residual r [j] is less than the reference value.
Specifically, the verification unit 217 reads the position difference m from the storage device 22. Then, the verification unit 217 causes the prediction unit 212 to predict the predicted value p [j] of the output value o [j] using the position difference m. Here, the variable j is an integer of 0 or more and less than the variable i. Next, the verification unit 217 causes the residual calculation unit 213 to calculate the residual r [j] between the predicted value p [j] and the output value o [j]. Then, the verification unit 217 determines whether or not the absolute value of the residual r [j] is less than the reference value.
If the verification unit 217 determines that the position difference m is not valid (NO in step S604), the verification unit 217 advances the process to step S605. On the other hand, if the verification unit 217 determines that the positional difference m is appropriate (YES in step S604), the verification unit 217 advances the process to step S606.

ステップS605の再決定判定処理では、検証部217は、図19のステップS505で検証部117が用いた判定方法と同じ判定方法により、位置差決定部216に、位置差mを決定し直させるか否かを判定する。
つまり、検証部217は、ステップS604で一定回連続して位置差mが妥当でないと判定した場合には、位置差mを決定し直させないと判定し、そうでない場合には、位置差mを決定し直させると判定する。
In the redetermination determination process in step S605, the verification unit 217 causes the position difference determination unit 216 to re-determine the position difference m using the same determination method as that used by the verification unit 117 in step S505 of FIG. Determine whether or not.
That is, the verification unit 217 determines that the position difference m is not re-determined when it is determined in step S604 that the position difference m is not valid continuously for a certain number of times, and otherwise the position difference m is determined. It is determined to be determined again.

検証部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 verification unit 217 returns the process to step S603. At this time, the verification unit 217 excludes the position difference m determined to be invalid once from the selection target so that the position difference determination unit 216 does not select it again.

一方、検証部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 verification unit 217 determines not to re-determine the position difference m (NO in step S605), the process proceeds to step S606. At this time, the verification unit 217 sets the positional difference m to unusable. In this case, in step S606, the prediction unit 212 predicts the predicted value p [i] of the output value o [i] without using the position difference m. Specifically, the output values o [0],. . . , The predicted value p [i] of the output value o [i] is predicted using the output value o [i-1].

***実施の形態3の効果***
以上のように、実施の形態3に係るデータ圧縮システム1では、位置差mが決定されると、決定された位置差mを検証して、適宜決定し直しする。これにより、決定された位置差mが適切でない場合に、予測値を予測する精度が低下することを防止することができる。
*** Effects of Embodiment 3 ***
As described above, in the data compression system 1 according to the third embodiment, when the position difference m is determined, the determined position difference m is verified and appropriately determined again. Thereby, when the determined position difference m is not appropriate, it is possible to prevent the accuracy of predicting the predicted value from being lowered.

***他の構成***
<変形例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 data compression device 10 and the data decompression device 20 are realized by software. However, as in the second modification of the first embodiment, the functions of the respective units of the data compression device 10 and the data decompression device 20 may be realized by hardware. Further, as in the third modification of the first embodiment, the data compression device 10 and the data decompression device 20 may have some functions realized by hardware and other functions realized by software.

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 SYMBOLS 1 Data compression system, 10 Data compression apparatus, 11 Processor, 12 Storage apparatus, 13 Communication apparatus, 14 Signal line, 15 Processing circuit, 111 Input part, 112 Prediction part, 113 Residual calculation part, 114 Coding part, 115 Output Unit, 116 position difference determination unit, 117 verification unit, 20 data decompression device, 21 processor, 22 storage device, 23 communication device, 24 signal line, 25 processing circuit, 211 input unit, 212 prediction unit, 213 decoding unit, 214 output Value calculation unit, 215 output unit, 216 position difference determination unit, 217 verification unit, d input data string, e external data string, c code data string, o output data string.

Claims (18)

外部データ列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 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].
前記予測部は、さらに、前記入力データ列dにおいて既に符号が生成された入力値を用いて、前記予測値p[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.
前記位置差決定部は、前記入力データ列dにおいて既に符号が生成された入力値と、前記外部データ列eとについて、極値の位置が近くなる前記ずらし量を前記位置差mとして決定する
請求項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.
前記位置差決定部は、基準個の入力値が符号化される度に、前記位置差mを新たに決定する
請求項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.
前記位置差決定部は、前記外部データ列eを用いずに予測された前記入力値d[i−1]の予測値p[i−1]と前記入力値d[i−1]との残差r[i−1]の絶対値が、前記入力値d[i−1]と前記予測値p[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、前記位置差mを新たに決定する
請求項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.
外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[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. ] 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.
前記予測部は、さらに、前記出力値計算部によって計算された出力値を用いて、前記予測値p[i]を予測する
請求項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.
前記位置差決定部は、前記出力データ列oと前記外部データ列eとについて、極値の位置が近くなる前記ずらし量を前記位置差mとして決定する
請求項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.
前記位置差決定部は、基準個の出力値が計算される度に、前記位置差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.
前記位置差決定部は、前記外部データ列eを用いずに予測された前記出力値o[i−1]の予測値p[i−1]と前記出力値o[i−1]との残差r[i−1]の絶対値が、前記予測値p[i−1]と前記出力値o[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、前記位置差mを新たに決定する
請求項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.
外部データ列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 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].
外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[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.
プロセッサが、外部データ列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 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].
プロセッサが、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[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].
JP2017555720A 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 Expired - Fee Related JP6266193B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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