JP2017055269A - Information processing apparatus and information processing system - Google Patents

Information processing apparatus and information processing system Download PDF

Info

Publication number
JP2017055269A
JP2017055269A JP2015177966A JP2015177966A JP2017055269A JP 2017055269 A JP2017055269 A JP 2017055269A JP 2015177966 A JP2015177966 A JP 2015177966A JP 2015177966 A JP2015177966 A JP 2015177966A JP 2017055269 A JP2017055269 A JP 2017055269A
Authority
JP
Japan
Prior art keywords
data
code
information processing
processing apparatus
generate
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.)
Withdrawn
Application number
JP2015177966A
Other languages
Japanese (ja)
Inventor
健二 高務
Kenji Takatsukasa
健二 高務
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2015177966A priority Critical patent/JP2017055269A/en
Publication of JP2017055269A publication Critical patent/JP2017055269A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Facsimile Transmission Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the capacity of data after compression.SOLUTION: An information processing apparatus compressing input data comprises: a code generation part that changes a Hadamard code to generate a changed code; a conversion part that converts the input data on the basis of the changed code to generate first data; a calculation part that normalizes the first data and converts the first data into integers to generate second data; and coding part that encodes the second data to generate compressed data.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置及び情報処理システムに関する。   The present invention relates to an information processing apparatus and an information processing system.

従来、音声又は動画等のマルチメディア情報等を示すアナログデータが他人に容易に見られないように保護する方法が知られている。   2. Description of the Related Art Conventionally, a method for protecting analog data indicating multimedia information such as audio or moving images from being easily seen by others is known.

例えば、アナログデータの符号化において、多次元直交系列を使用した多次元直交変換を実行することによって、簡単な構成で符号化を実現でき、かつ、高い品質を担保できる方法が知られている。具体的には、まず、乱数を発生させ、発生した乱数を用いて、n次元直交系列を発生させる。次に、n次元直交系列を用いる直交変換によってデータを暗号化して変換データを生成する方法が知られている(例えば、特許文献1)。   For example, in analog data encoding, a method is known in which encoding can be realized with a simple configuration and high quality can be ensured by executing multidimensional orthogonal transform using a multidimensional orthogonal sequence. Specifically, first, a random number is generated, and an n-dimensional orthogonal sequence is generated using the generated random number. Next, a method for generating converted data by encrypting data by orthogonal transform using an n-dimensional orthogonal sequence is known (for example, Patent Document 1).

特開2005−333386号公報JP 2005-333386 A

しかしながら、従来の方法では、n次元直交系列を用いる直交変換等の処理では、変換後データの出現密度分布は、変換前のデータに依存する性質があるため、オーバーヘッドとなるデータ又は処理が発生することが多い。例えば、ハフマン変換用のハフマン木を入力データの解析により構築する処理では、解凍に必要なハフマン木を示すデータがオーバーヘッドとして必要となる。そのため、オーバーヘッド等によって、圧縮後のデータ容量が大きくなる場合がある。   However, in the conventional method, in processing such as orthogonal transformation using an n-dimensional orthogonal sequence, the appearance density distribution of post-conversion data has a property that depends on the data before conversion, and thus data or processing that is overhead occurs. There are many cases. For example, in the process of constructing a Huffman tree for Huffman conversion by analyzing input data, data indicating a Huffman tree necessary for decompression is required as overhead. Therefore, the data capacity after compression may increase due to overhead or the like.

本発明の1つの側面は、圧縮後のデータ容量を小さくすることを目的とする。   One aspect of the present invention aims to reduce the data capacity after compression.

一態様における、入力データを圧縮する情報処理装置は、アダマール符号を変更して変更符号を生成する符号生成部と、前記入力データを前記変更符号に基づいて変換して第1データを生成する変換部と、前記第1データを正規化及び整数化して第2データを生成する計算部と、前記第2データを符号化して圧縮データを生成する符号化部とを含む。   In one aspect, an information processing apparatus that compresses input data includes: a code generation unit that changes a Hadamard code to generate a change code; and a conversion that converts the input data based on the change code to generate first data A calculation unit that generates the second data by normalizing and integerizing the first data, and an encoding unit that generates the compressed data by encoding the second data.

圧縮後のデータ容量を小さくできる。   Data capacity after compression can be reduced.

本発明の一実施形態に係る組み込みシステムのハードウェア構成の一例を説明するブロック図である。It is a block diagram explaining an example of the hardware constitutions of the embedded system which concerns on one Embodiment of this invention. 本発明の一実施形態に係る圧縮を行う処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the process which performs the compression which concerns on one Embodiment of this invention. 本発明の一実施形態に係る入力データの一例を示す模式図である。It is a schematic diagram which shows an example of the input data which concern on one Embodiment of this invention. 本発明の一実施形態に係る行を並び替える変更例を示す模式図である。It is a schematic diagram which shows the example of a change which rearranges the line which concerns on one Embodiment of this invention. 本発明の一実施形態に係る列を並び替える変更例を示す模式図である。It is a schematic diagram which shows the example of a change which rearranges the row | line | column which concerns on one Embodiment of this invention. 本発明の一実施形態に係る第1データの一例を示す模式図である。It is a mimetic diagram showing an example of the 1st data concerning one embodiment of the present invention. 本発明の一実施形態に係る第2データの一例を示す模式図である。It is a schematic diagram which shows an example of the 2nd data which concerns on one Embodiment of this invention. 本発明の一実施形態に係る圧縮データの一例を示す模式図である。It is a schematic diagram which shows an example of the compressed data which concerns on one Embodiment of this invention. 本発明の一実施形態に係る並び替えによる暗号化の強度の一例を示す表である。It is a table | surface which shows an example of the intensity | strength of encryption by the rearrangement which concerns on one Embodiment of this invention. 本発明の一実施形態に係る解凍を行う処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the process which performs the decompression | decompression which concerns on one Embodiment of this invention. 本発明の一実施形態に係る正規化データの一例を示す模式図である。It is a schematic diagram which shows an example of the normalization data which concern on one Embodiment of this invention. 本発明の一実施形態に係る第3データの一例を示す模式図である。It is a mimetic diagram showing an example of the 3rd data concerning one embodiment of the present invention. 本発明の一実施形態に係る変更符号に基づく変換と、変更符号に基づく逆変換との関係の一例を示す図である。It is a figure which shows an example of the relationship between the conversion based on the change code which concerns on one Embodiment of this invention, and the reverse conversion based on a change code. 本発明の一実施形態に係る復号データの一例を示す模式図である。It is a schematic diagram which shows an example of the decoding data based on one Embodiment of this invention. 本発明の一実施形態に係る誤差の確率密度の一例を示す図である。It is a figure which shows an example of the probability density of the error which concerns on one Embodiment of this invention. 本発明の一実施形態に係るインタリーブの一例を示す模式図である。It is a schematic diagram which shows an example of the interleaving which concerns on one Embodiment of this invention. 本発明の一実施形態に係る結合においてガードビットを追加する例を示す模式図である。It is a schematic diagram which shows the example which adds a guard bit in the coupling | bonding which concerns on one Embodiment of this invention. 本発明の一実施形態に係るコンカチネーションの一例を示す模式図である。It is a schematic diagram which shows an example of the concatenation which concerns on one Embodiment of this invention. 本発明の一実施形態に係る結合においてガードビットを追加する別の例を示す模式図である。It is a schematic diagram which shows another example which adds a guard bit in the coupling | bonding which concerns on one Embodiment of this invention. 本発明の一実施形態に係る厳密解を絞り込む条件の一例を示す表である。It is a table | surface which shows an example of the conditions which narrow down the exact solution which concerns on one Embodiment of this invention. 本発明の一実施形態に係るガードビットの変化に基づく条件の一例を示す模式図である。It is a schematic diagram which shows an example of the conditions based on the change of the guard bit which concerns on one Embodiment of this invention. 本発明の一実施形態に係るガードビットの変化に基づく条件の一例を示す表である。It is a table | surface which shows an example of the conditions based on the change of the guard bit which concerns on one Embodiment of this invention. 本発明の一実施形態に係る情報処理システムの機能構成の一例を示す機能ブロック図である。It is a functional block diagram which shows an example of a function structure of the information processing system which concerns on one Embodiment of this invention.

第1情報処理装置は、例えば、組み込みシステム(Embedded system)である。組み込みシステムは、産業機器又は家電製品等に内蔵され、特定の機能を実現するためのシステムである。なお、情報処理装置は、PC(Personal Computer)等でもよい。以下、本発明の実施形態を図面に基づいて、第1情報処理装置が組み込みシステムである例で説明する。   The first information processing apparatus is, for example, an embedded system. The embedded system is a system for realizing a specific function that is built in an industrial device or a home appliance. The information processing apparatus may be a PC (Personal Computer) or the like. Hereinafter, an embodiment of the present invention will be described based on an example in which the first information processing apparatus is an embedded system, based on the drawings.

1.組み込みシステムのハードウェア構成例
2.圧縮及び解凍の処理例
3.情報処理システムの機能構成例
<<1.組み込みシステムのハードウェア構成例>>
図1は、本発明の一実施形態に係る組み込みシステムのハードウェア構成の一例を説明するブロック図である。図示するように、組み込みシステム1は、演算装置HW1と、記憶装置HW2と、I/F(interface)HW3とを有する。
1. 1. Hardware configuration example of embedded system 2. Processing example of compression and decompression Functional configuration example of information processing system << 1. Example of hardware configuration of embedded system >>
FIG. 1 is a block diagram illustrating an example of a hardware configuration of an embedded system according to an embodiment of the present invention. As illustrated, the embedded system 1 includes an arithmetic device HW1, a storage device HW2, and an I / F (interface) HW3.

演算装置HW1は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等である。また、演算装置HW1は、組み込みシステム1が行う処理の全部又は一部を実現するための演算と、データの加工とを行う演算装置並びに組み込みシステム1が有するハードウェアを制御する制御装置である。さらに、演算装置HW1は、例えば、図示するように、RAM(Random Access Memory)HW10及びROM(Read−Only Memory)HW11等の記憶装置を内蔵し、記憶領域を実現する。   The arithmetic device HW1 is a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). The arithmetic device HW1 is a control device that controls the hardware that the embedded system 1 has, and an arithmetic device that performs calculations and data processing for realizing all or part of the processing performed by the embedded system 1. Furthermore, the arithmetic unit HW1 incorporates a storage device such as a RAM (Random Access Memory) HW10 and a ROM (Read-Only Memory) HW11, as shown in the figure, and realizes a storage area.

RAMHW10は、演算装置HW1等が用いるプログラム、設定値又はデータ等を展開及び記憶するために用いられる記憶装置である。   The RAM HW 10 is a storage device used for developing and storing programs, setting values, data, or the like used by the arithmetic device HW 1 or the like.

ROMHW11は、演算装置HW1等が用いるプログラム、設定値又はデータ等を記憶する記憶装置である。   The ROMHW11 is a storage device that stores programs, setting values, data, and the like used by the arithmetic device HW1 and the like.

記憶装置HW2は、いわゆるメモリ(memory)等である。また、記憶装置HW2は、組み込みシステム1が用いるプログラム、設定値又はデータ等を記憶する記憶装置である。なお、記憶装置HW2は、補助記憶装置等を有してもよい。   The storage device HW2 is a so-called memory or the like. The storage device HW2 is a storage device that stores programs, setting values, data, and the like used by the embedded system 1. Note that the storage device HW2 may include an auxiliary storage device or the like.

I/FHW3は、組み込みシステム1にデータ等を入出力するインタフェースである。I/FHW3は、バス、コネクタ、ケーブル及びドライバ等で実現される。   The I / FHW 3 is an interface for inputting and outputting data and the like to the embedded system 1. The I / FHW 3 is realized by a bus, a connector, a cable, a driver, and the like.

なお、組み込みシステム1のハードウェア構成は、図示する構成に限られない。例えば組み込みシステム1は、記憶装置HW2を有さなくともよい。また、組み込みシステム1は、更に演算装置等の補助装置を外部又は内部に有してもよい。   Note that the hardware configuration of the embedded system 1 is not limited to the illustrated configuration. For example, the embedded system 1 may not have the storage device HW2. The embedded system 1 may further include an auxiliary device such as an arithmetic device outside or inside.

<<2.圧縮及び解凍の処理例>>
<<圧縮例>>
図2は、本発明の一実施形態に係る圧縮を行う処理の一例を説明するフローチャートである。
<< 2. Example of compression and decompression processing >>
<< Compression example >>
FIG. 2 is a flowchart for explaining an example of processing for performing compression according to an embodiment of the present invention.

<<入力データの入力例(ステップS0101)>>
ステップS0101では、組み込みシステムは、データを入力する。なお、入力されるデータ、即ち、圧縮の対象となるデータを以下「入力データ」という。
<< Input Example of Input Data (Step S0101) >>
In step S0101, the embedded system inputs data. The input data, that is, the data to be compressed is hereinafter referred to as “input data”.

図3は、本発明の一実施形態に係る入力データの一例を示す模式図である。以下、入力データaが図示するデータである場合を例に説明する。図示するように、入力データaは、N個、2個のデータから構成されるとする。また、入力データaが有するデータa乃至aN−1(以下「a」という場合がある。)は、それぞれxビット(bit)のデータであるとする。即ち、圧縮前のデータとなる入力データaは、下記(1)式のように示せる。 FIG. 3 is a schematic diagram illustrating an example of input data according to an embodiment of the present invention. Hereinafter, a case where the input data a is the illustrated data will be described as an example. As shown in the figure, it is assumed that the input data a is composed of N pieces and 2n pieces of data. Further, it is assumed that data a 0 to a N-1 (hereinafter sometimes referred to as “a i ”) included in the input data a are x-bit data. That is, the input data a that is the data before compression can be expressed by the following equation (1).

Figure 2017055269
Figure 2017055269

上記(1)式によれば、例えば、入力データaがそれぞれ8ビットデータ、即ち、x=8であるとすると、入力データaが有するデータaは、それぞれ「255」までの整数となる。 According to the above equation (1), for example, if the input data a is 8-bit data, that is, x = 8, the data a i included in the input data a is an integer up to “255”.

<<アダマール符号を変更して変更符号を生成する例(ステップS0102)>>
図2に戻り、ステップS0102では、組み込みシステムは、アダマール符号を変更して変更符号を生成する。具体的には、ステップS0102では、組み込みシステムは、アダマール符号の例であるアダマール行列[H]の行、列又はいずれの両方を並び替えて、変更行列[H]’を生成する。なお、変更行列[H]’は、変更符号の例である。
<< Example in which Hadamard Code is Changed to Generate Changed Code (Step S0102) >>
Returning to FIG. 2, in step S0102, the embedded system changes the Hadamard code to generate a changed code. Specifically, in step S0102, the embedded system rearranges the rows, columns, or both of the Hadamard matrix [H], which is an example of the Hadamard code, to generate a modified matrix [H] ′. The change matrix [H] ′ is an example of a change code.

以下、アダマール行列[H]が下記(2)式に示す行列及び性質である場合を例に説明する。   Hereinafter, the case where the Hadamard matrix [H] has the matrix and property shown in the following formula (2) will be described as an example.

Figure 2017055269
Figure 2017055269

上記(2)式で示すように、アダマール行列[H]は、N個の行と、N個の列とから構成され、N×Nの各構成要素がそれぞれ「1」又は「−1」のいずれかとなる行列である。即ち、アダマール行列[H]は、2次元の行列等である。なお、アダマール符号は、2次元より高次元となる他の次元であってもよい。また、上記(2)式で示すように、アダマール行列[H]は、転置行列[H]が乗じられると、単位行列のN倍となる行列である。 As shown in the above equation (2), the Hadamard matrix [H] is composed of N rows and N columns, and each N × N component is “1” or “−1”. It is one of the matrices. That is, the Hadamard matrix [H] is a two-dimensional matrix or the like. The Hadamard code may have another dimension that is higher than two dimensions. Further, as shown in the above equation (2), the Hadamard matrix [H] is a matrix that is N times the unit matrix when multiplied by the transposed matrix [H] T.

また、アダマール行列[H]は、例えば、シルベスタ型で示すと、下記(3)式のように示せる。なお、アダマール行列[H]は、M系列型等でもよい。   Further, the Hadamard matrix [H] can be expressed by, for example, the following equation (3) when expressed in the Sylvester form. The Hadamard matrix [H] may be an M-sequence type or the like.

Figure 2017055269
Figure 2017055269

例えば、組み込みシステムは、上記(2)式に示すアダマール行列[H]の行及び列をそれぞれ並び替えて、変更行列[H]’を生成する。   For example, the embedded system rearranges the rows and columns of the Hadamard matrix [H] shown in the above equation (2) to generate the modified matrix [H] ′.

図4は、本発明の一実施形態に係る行を並び替える変更例を示す模式図である。図示するように、行の並び替えは、アダマール行列[H]のx行目の行と、i行目の行とを並び替える変更例である。 FIG. 4 is a schematic diagram illustrating a modification example in which rows are rearranged according to an embodiment of the present invention. As shown, sorting line, and x i-th row of the Hadamard matrix [H], a modification of rearranging the i-th row of the row.

図5は、本発明の一実施形態に係る列を並び替える変更例を示す模式図である。図示するように、列の並び替えは、アダマール行列[H]のy列目の列と、j列目の列とを並び替える変更例である。 FIG. 5 is a schematic diagram illustrating a modification example in which the columns are rearranged according to the embodiment of the present invention. As shown, sorting columns, and y j-th column of the columns of the Hadamard matrix [H], a modified example of rearranging the columns in the j-th column.

変更前の行列と、図4及び図5の変更をそれぞれ行った変更後の行列との関係、即ち、アダマール行列[H]と、変更行列[H]’との関係は、下記(4)式のように示せる。   The relationship between the matrix before the change and the matrix after the change in which the changes in FIGS. 4 and 5 are performed, that is, the relationship between the Hadamard matrix [H] and the change matrix [H] ′ is expressed by the following equation (4): It can be shown as

Figure 2017055269
Figure 2017055269

また、変更は、アダマール符号に、対角行列等の対角符号を乗算する処理でもよい。即ち、変更符号は、アダマール行列に乗じられる対角行列等でもよい。以下、対角符号が対角行列であり、かつ、生成される変更符号の例である変更行列を第2変更行列[H]’’とする。この例では、変更前の行列と、変更前の行列に対して対角行列を乗算する変更を行った変更後の行列との関係、即ち、アダマール行列[H]と、第2変更行列[H]’’との関係は、下記(5)式のように示せる。   The change may be a process of multiplying the Hadamard code by a diagonal code such as a diagonal matrix. That is, the change code may be a diagonal matrix multiplied by a Hadamard matrix. Hereinafter, a diagonal matrix is a diagonal matrix, and a modification matrix that is an example of a modification code to be generated is referred to as a second modification matrix [H] ″. In this example, the relationship between the matrix before change and the matrix after change obtained by multiplying the matrix before change by a diagonal matrix, that is, Hadamard matrix [H] and second change matrix [H ] '' Can be expressed by the following equation (5).

Figure 2017055269
Figure 2017055269

また、組み込みシステムは、アダマール符号の行又はアダマール符号の列を並び替えた変更行列と、アダマール符号に乗じる対角行列とを組み合わせた変更符号を生成してもよい。即ち、組み込みシステムは、後段の処理で、並び替えた変更行列と、対角行列による乗算とを組み合わせて、変換を行ってもよい。   The embedded system may generate a change code that combines a change matrix obtained by rearranging a Hadamard code row or a Hadamard code column and a diagonal matrix multiplied by the Hadamard code. That is, the embedded system may perform the conversion by combining the rearranged change matrix and the multiplication by the diagonal matrix in the subsequent processing.

なお、例えば、各情報処理装置のシリアル番号等から変更符号を生成するためのパラメータが生成され、変更符号は、生成されるパラメータに基づいて、並び替えの対象となる行若しくは列を決定したり、対角行列が有する各係数の値が決定されたりして生成される。したがって、このパラメータを送信側及び受信側で共有すると、変更符号を特定できるため、情報処理システムは、暗号化における鍵の共有と同様のことを行うことができる。   Note that, for example, a parameter for generating a change code is generated from the serial number of each information processing apparatus, and the change code determines a row or a column to be rearranged based on the generated parameter. The value of each coefficient included in the diagonal matrix is determined or generated. Therefore, if this parameter is shared between the transmission side and the reception side, the change code can be specified, so the information processing system can perform the same process as the key sharing in the encryption.

<<変更符号に基づく変換例(ステップS0103)>>
図2に戻り、ステップS0103では、組み込みシステムは、入力データを変更符号に基づいて、変換する。具体的には、ステップS0103では、ステップS0101で入力される入力データa(図3参照)が、ステップS0102で生成される変更符号に基づいて変換され、変換によってデータ(以下「第1データ」という。)が生成されるとする。
<< Conversion Example Based on Change Code (Step S0103) >>
Returning to FIG. 2, in step S0103, the embedded system converts the input data based on the change code. Specifically, in step S0103, the input data a (see FIG. 3) input in step S0101 is converted based on the change code generated in step S0102, and the data (hereinafter referred to as “first data”) is converted by the conversion. .) Is generated.

図6は、本発明の一実施形態に係る第1データの一例を示す模式図である。以下、第1データbが図示するデータである場合を例に説明する。この例では、入力データaが有するデータaがそれぞれ変換され、第1データbは、図示するように、変更符号に基づく変換が行われたN個のデータから構成されるとする。 FIG. 6 is a schematic diagram illustrating an example of first data according to an embodiment of the present invention. Hereinafter, the case where the first data b is the illustrated data will be described as an example. In this example, it is assumed that the data a i included in the input data a is converted, and the first data b is composed of N pieces of data that have been converted based on the change code as illustrated.

また、変更符号が変更行列[H]’であるとすると、ステップS0103での変換、即ち、変換の前後を示す入力データa及び第1データbの関係は、下記(6)式のように示せる。   If the change code is a change matrix [H] ′, the conversion in step S0103, that is, the relationship between the input data a and the first data b indicating before and after the conversion, can be expressed as the following equation (6). .

Figure 2017055269
Figure 2017055269

さらに、第1データbは、下記(7)式のように示せる。   Further, the first data b can be expressed by the following equation (7).

Figure 2017055269
Figure 2017055269

また、第1データbが有するデータbのうち、bは、他のbi(i≠0)と取り得る値の範囲及び確率密度が異なる場合がある。なお、bは、下記(8)式のように示せる。 Of the data b i included in the first data b, b 0 may have a range of possible values and a probability density different from those of other b i (i ≠ 0) . Incidentally, b 0 is can show as follows (8).

Figure 2017055269
Figure 2017055269

上記(3)式で示すように、アダマール行列[H]の1行目が「1」であるため、bに係る係数は、先頭の行が並び替えの対象とならない並べ替え等の場合には、すべて正の値となる場合がある。そのため、bは、他のbi(i≠0)と取り得る値の範囲及び確率密度が異なり、「0」に集まらないデータとなる場合がある。これに対して、bを他のbi(i≠0)と、合わせるため、bには、N(2−1)を減算する計算が行われてもよい。この計算に用いられる値は、Nに基づいて定まる固有値であるため、固有値をあらかじめ入力しておくことで、組み込みシステムは、計算を行うことができる。なお、逆変換の際に、加算する計算が行われてもよい。又は、bは、2の補数とし、入力データaが有するデータaを下記(9)式のようにしてもよい。 As shown in the above equation (3), the first row of the Hadamard matrix [H] is “1”, so the coefficient related to b 0 is used in the case of rearrangement or the like in which the first row is not subject to rearrangement. May all be positive. Therefore, b 0 is different from other b i (i ≠ 0) in the range of possible values and the probability density, and may not be collected in “0”. On the other hand, in order to match b 0 with other b i (i ≠ 0) , a calculation of subtracting N (2 x −1) may be performed on b 0 . Since the value used for this calculation is an eigenvalue determined based on N, the embedded system can perform the calculation by inputting the eigenvalue in advance. Note that a calculation for addition may be performed during the inverse transformation. Alternatively, b i may be a two's complement and the data a i included in the input data a may be expressed by the following equation (9).

また、組み込みシステムは、アダマール行列[H]の1行目に相当する行、即ち、bに係る係数に基づく値を他の圧縮方式で圧縮してもよい。 Further, the embedded system may compress the value corresponding to the first row of the Hadamard matrix [H], that is, the value based on the coefficient related to b 0 by another compression method.

Figure 2017055269
Figure 2017055269

<<正規化及び整数化例(ステップS0104)>>
図2に戻り、ステップS0104では、組み込みシステムは、第1データを正規化及び整数化する。具体的には、ステップS0104では、ステップS0103で生成される第1データb(図6参照)が正規化及び整数化され、正規化及び整数化によってデータ(以下「第2データ」という。)が生成されるとする。
<< Normalization and Integer Example (Step S0104) >>
Returning to FIG. 2, in step S0104, the embedded system normalizes and integerizes the first data. Specifically, in step S0104, the first data b (see FIG. 6) generated in step S0103 is normalized and integerized, and the data (hereinafter referred to as “second data”) is obtained by normalization and integerization. Suppose that it is generated.

図7は、本発明の一実施形態に係る第2データの一例を示す模式図である。以下、第2データcが図示するデータである場合を例に説明する。この例では、図6に示す第1データbが有するデータbがそれぞれ正規化及び整数化され、第2データcは、図示するように、正規化及び整数化されたN個のデータから構成されるとする。 FIG. 7 is a schematic diagram showing an example of second data according to an embodiment of the present invention. Hereinafter, the case where the second data c is illustrated is described as an example. In this example, the data b i included in the first data b shown in FIG. 6 is normalized and integerized, and the second data c is composed of N data normalized and integerized as shown in the figure. Suppose that

正規化及び整数化は、例えば、下記(10)式による計算等によって実現される。   Normalization and integerization are realized by, for example, calculation according to the following equation (10).

Figure 2017055269
Figure 2017055269

上記(10)式では、「+0.5」を計算することによって、組み込みシステムは、四捨五入を行うことができる。また、上記(10)式では、「2/N」を計算することによって、組み込みシステムは、下位ビットを削ることができる。 In the above equation (10), the embedded system can perform rounding by calculating “+0.5”. Further, in the above equation (10), the embedded system can remove the lower bits by calculating “2 w / N”.

なお、上記(10)式による計算において、N>2であるのが望ましい。例えば、N=2であると、正規化及び整数化による切り捨てが発生せず、データが圧縮される部分が少なくなる。一方で、N>2であると、正規化及び整数化によって、データが圧縮できるため、データをより圧縮でき、組み込みシステムは、圧縮前のデータに対して圧縮後のデータを小さくできる。 Note that in the calculation by the expression (10), N> is preferably a 2 w. For example, when N = 2w , truncation due to normalization and integerization does not occur, and the portion where data is compressed decreases. On the other hand, if N> 2w , the data can be compressed by normalization and integerization, so that the data can be further compressed, and the embedded system can make the data after compression smaller than the data before compression.

<<符号化例(ステップS0105)>>
図2に戻り、ステップS0105では、組み込みシステムは、第2データを符号化する。具体的には、ステップS0105では、組み込みシステムは、ステップS0104で生成される第2データc(図7参照)が有するデータcをハフマン符号(huffman coding)等に基づいてそれぞれ符号化し、符号化によってデータ(以下「圧縮データ」という。)を生成する。
<< Encoding Example (Step S0105) >>
Returning to FIG. 2, in step S0105, the embedded system encodes the second data. Specifically, in step S0105, embedded systems, respectively encoded based data c i second data c (see FIG. 7) has generated in step S0104 to the Huffman code (huffman coding) or the like, encoding To generate data (hereinafter referred to as “compressed data”).

図8は、本発明の一実施形態に係る圧縮データの一例を示す模式図である。以下、圧縮データdが図示するデータである場合を例に説明する。この例では、図7に示す第2データcが有するデータcがそれぞれ符号化され、圧縮データdは、図示するように、符号化されたN個のデータから構成されるとする。 FIG. 8 is a schematic diagram illustrating an example of compressed data according to an embodiment of the present invention. Hereinafter, a case where the compressed data d is the illustrated data will be described as an example. In this example, the data c i with the second data c are respectively coded as shown in Figure 7, the compressed data d, as shown, and consists of N data encoded.

第2データcが有するデータcの確率密度は、平均及び分散が上記(1)式及び上記(10)式等に示す「w」、「x」及び「N」で定まる正規分布で示せる。したがって、「N」が大きい値となると、第2データcが有するデータcは、「0」にデータが集まるようになる。つまり、第2データcが有するデータcは、「0」となる確率が高い。 The probability density of the data c i included in the second data c can be represented by a normal distribution whose mean and variance are determined by “w”, “x”, and “N” shown in the above formulas (1) and (10). Therefore, when “N” becomes a large value, the data c i included in the second data c is collected at “0”. That is, the data c i included in the second data c has a high probability of being “0”.

ゆえに、第2データcが有するデータcは、「0」にデータが集まるようになる、即ち、「0」が多くなる。そのため、同じ値が多いデータに対して、ハフマン符号に基づく符号化が行われると、高い圧縮率で圧縮が行われるので、組み込みシステムは、送信するデータ容量を小さくできる。 Therefore, the data c i included in the second data c is gathered at “0”, that is, “0” increases. Therefore, when data based on the Huffman code is applied to data having many values, compression is performed at a high compression rate, so that the embedded system can reduce the data capacity to be transmitted.

また、「w」、「x」及び「N」で正規分布が定まるため、「w」、「x」及び「N」を示すそれぞれの値を送信側及び受信側で共有すると、ヘッダデータ等が不要となり、組み込みシステムは、送信するデータ容量を小さくできる。   Further, since the normal distribution is determined by “w”, “x”, and “N”, if each value indicating “w”, “x”, and “N” is shared between the transmission side and the reception side, header data and the like are It becomes unnecessary, and the embedded system can reduce the data capacity to be transmitted.

さらに、変更行列等の変更符号に基づいてデータが変換されると、データは、暗号化と同様に、難読化される。即ち、どのような変更がされたか等が不明であると、データは、解凍されても、圧縮前のデータに復元されにくい。したがって、変更符号に係るデータを鍵とすることで、組み込みシステムは、変更符号に基づく変換によって、送信するデータを難読化することができる。このようにして、組み込みシステムは、送信するデータのセキュリティを向上させることができる。つまり、組み込みシステムは、変更符号に基づく変換によって、データを圧縮して送信するデータ容量を小さくでき、かつ、送信するデータのセキュリティを向上させることができる。   Furthermore, when data is converted based on a change code such as a change matrix, the data is obfuscated as in encryption. That is, if it is unclear what changes have been made, the data is not easily restored to the data before compression even if the data is decompressed. Therefore, by using the data related to the change code as a key, the embedded system can obfuscate the data to be transmitted by conversion based on the change code. In this way, the embedded system can improve the security of data to be transmitted. In other words, the embedded system can reduce the data capacity to be transmitted by compressing the data by the conversion based on the change code, and can improve the security of the data to be transmitted.

なお、N×Nの行列では、並び替えの種類は、行の並び替えがN!通りであり、同様に、列の並び替えがN!通りであるため、これらを組み合わせた変更符号に基づく変換では、Nに対して、鍵長は、下記(11)式のように示せる。   In an N × N matrix, the sort type is N for row sorting! Similarly, the column rearrangement is N! Therefore, in the conversion based on the change code that combines these, the key length can be expressed for N as shown in the following equation (11).

Figure 2017055269
Figure 2017055269

図9は、本発明の一実施形態に係る並び替えによる暗号化の強度の一例を示す表である。具体的には、行列の行及び列の数を示すNが図9に示すようになると、上記(11)式に基づいて、暗号化の強度は、図示するような強度となる。   FIG. 9 is a table showing an example of encryption strength by rearrangement according to an embodiment of the present invention. Specifically, when N indicating the number of rows and columns of the matrix is as shown in FIG. 9, the encryption strength is as shown in the figure based on the above equation (11).

また、上記(5)式のような対角符号を用いるとすると、対角符号の組み合わせは、2通りであるため、対角符号に基づく変換では、Nに対して、鍵長は、Nビットとなる。 Also, assuming that the diagonal code as in the above equation (5) is used, there are 2 N combinations of diagonal codes. Therefore, in the conversion based on the diagonal code, the key length is N with respect to N. A bit.

さらに、並び替え、かつ、対角符号を用いる乗算を組み合わせた変換が行われると、組み込みシステムは、データに対して、より強度の高い暗号化を行うことができる。   Furthermore, when the conversion is performed by combining rearrangement and multiplication using diagonal codes, the embedded system can perform stronger encryption on the data.

具体的には、「N=16」とすると、並び替えによる暗号化の強度は、図9より「88.5ビット」である。一方、対角符号を用いる乗算による暗号化の強度は、「16ビット」である。したがって、これらを組み合わせた場合の暗号化の強度は、「88.5ビット+16ビット=104.5ビット」であり、並び替え、かつ、対角符号を用いる乗算を組み合わせると、組み込みシステムは、より高い強度の暗号化を行うことができる。   Specifically, if “N = 16”, the encryption strength by rearrangement is “88.5 bits” from FIG. On the other hand, the strength of encryption by multiplication using diagonal codes is “16 bits”. Therefore, the encryption strength when these are combined is “88.5 bits + 16 bits = 104.5 bits”. When rearrangement and multiplication using diagonal codes are combined, the embedded system is more High strength encryption can be performed.

また、Nを「64」等の大きい値にすると、組み込みシステムは、いわゆる鍵の衝突を少なくすることができる。   If N is set to a large value such as “64”, the embedded system can reduce so-called key collision.

<<解凍例>>
図10は、本発明の一実施形態に係る解凍を行う処理の一例を説明するフローチャートである。例えば、図2に示す処理によって圧縮され、生成されるデータは、図8に示す圧縮データdである。以下、解凍の対象が圧縮データdである例で説明する。
<< Example of thawing >>
FIG. 10 is a flowchart for explaining an example of processing for performing decompression according to an embodiment of the present invention. For example, the data compressed and generated by the process shown in FIG. 2 is the compressed data d shown in FIG. Hereinafter, an example where the decompression target is the compressed data d will be described.

<<圧縮データの入力例(ステップS0201)>>
ステップS0201では、情報処理装置は、圧縮データdを入力する。
<< Example of Input of Compressed Data (Step S0201) >>
In step S0201, the information processing apparatus inputs the compressed data d.

<<復号化例(ステップS0202)>>
ステップS0202では、情報処理装置は、圧縮データdを復号化する。即ち、ステップS0202による復号化は、例えば、図2に示すステップS0105による符号化の逆変換である。この例において、ハフマン符号に基づく符号化及び復号化は、可逆変換である。したがって、第2データc(図7参照)がハフマン符号によって符号化され、圧縮データdが生成される場合には、圧縮データdに対して復号化が行われると、復号化によって、第2データcが生成できる。
<< Decoding Example (Step S0202) >>
In step S0202, the information processing apparatus decrypts the compressed data d. That is, the decoding in step S0202 is, for example, an inverse transformation of the encoding in step S0105 shown in FIG. In this example, encoding and decoding based on the Huffman code is a reversible transformation. Therefore, when the second data c (see FIG. 7) is encoded by the Huffman code and the compressed data d is generated, when the compressed data d is decoded, the second data c is decoded. c can be generated.

ハフマン符号に基づく変換及び逆変換は、可逆変換であるため、復号化によって、情報処理装置は、圧縮データdから誤差がない第2データcを生成することができる。   Since the transform and inverse transform based on the Huffman code are reversible transforms, the information processing apparatus can generate the second data c having no error from the compressed data d by decoding.

<<正規化例(ステップS0203)>>
ステップS0203では、情報処理装置は、第2データを正規化する。具体的には、ステップS0203では、ステップS0202で生成される第2データc(図7参照)が正規化され、正規化によってデータ(以下「正規化データ」という。)が生成されるとする。
<< Normalization Example (Step S0203) >>
In step S0203, the information processing apparatus normalizes the second data. Specifically, in step S0203, the second data c (see FIG. 7) generated in step S0202 is normalized, and data (hereinafter referred to as “normalized data”) is generated by normalization.

図11は、本発明の一実施形態に係る正規化データの一例を示す模式図である。以下、正規化データb’が図示するデータである場合を例に説明する。この例では、図7に示す第2データcが有するデータcがそれぞれ正規化されると、正規化データb’を構成する各データが生成される。即ち、正規化データb’は、図示するように、正規化されたN個のデータから構成されるとする。 FIG. 11 is a schematic diagram showing an example of normalized data according to an embodiment of the present invention. Hereinafter, the case where the normalized data b ′ is the illustrated data will be described as an example. In this example, the data c i with the second data c shown in FIG. 7 is normalized respectively, each data constituting the normalized data b 'is generated. That is, it is assumed that the normalized data b ′ is composed of normalized N pieces of data as illustrated.

正規化は、例えば、下記(12)式による計算によって実現される。   Normalization is realized, for example, by calculation according to the following equation (12).

Figure 2017055269
Figure 2017055269

上記(12)式が示すように、ステップS0203では、第2データcが有するそれぞれのデータcに、図2に示す処理において使用される上記(10)式で用いられる係数「2/N」の逆数を乗じると、正規化データb’が有するそれぞれのデータb’は、算出される。また、正規化は、第2データcが有するそれぞれのデータcに、上記(10)式で用いられる係数「2/N」で除算を行うでもよい。 As shown in the above equation (12), in step S0203, the coefficient “2 w / N used in the equation (10) used in the processing shown in FIG. 2 is added to each data c i of the second data c. Multiplication by the reciprocal number of “”, each data b ′ i of the normalized data b ′ is calculated. Further, normalization, the respective data c i with the second data c, may also perform the division by a factor of "2 w / N" used in the above (10).

<<変更符号に基づく変換例(ステップS0204)>>
図10に戻り、ステップS0204では、情報処理装置は、正規化データを変更符号に基づいて、変換する。具体的には、ステップS0204では、ステップS0203で生成される正規化データb’(図11参照)が、上記(4)式又は上記(5)式等に示す変更符号に基づいて変換され、変換によってデータ(以下「第3データ」という。)が生成されるとする。
<< Conversion Example Based on Change Code (Step S0204) >>
Returning to FIG. 10, in step S0204, the information processing apparatus converts the normalized data based on the change code. Specifically, in step S0204, the normalized data b ′ (see FIG. 11) generated in step S0203 is converted based on the change code shown in the above equation (4) or the above equation (5). To generate data (hereinafter referred to as “third data”).

図12は、本発明の一実施形態に係る第3データの一例を示す模式図である。以下、第3データa’が図示するデータである場合を例に説明する。この例では、正規化データb’が有するデータb’が変更符号に基づいてそれぞれ変換されると、第3データa’を構成する各データが生成される。即ち、第3データa’は、図示するように、変更符号に基づく変換が行われたN個のデータから構成されるとする。 FIG. 12 is a schematic diagram illustrating an example of third data according to an embodiment of the present invention. Hereinafter, the case where the third data a ′ is the illustrated data will be described as an example. In this example, when data b ′ i included in the normalized data b ′ is converted based on the change code, each data constituting the third data a ′ is generated. That is, it is assumed that the third data a ′ is composed of N pieces of data that have been converted based on the change code, as illustrated.

図13は、本発明の一実施形態に係る変更符号に基づく変換と、変更符号に基づく逆変換との関係の一例を示す図である。即ち、図13は、図2に示すステップS0103による変換と、これに対する逆変換となる図10に示すステップS0204による変換の関係を示す。図示するように、圧縮において変換されたデータは、解凍において逆変換が行われると、変換前のデータに戻すことができる。   FIG. 13 is a diagram illustrating an example of a relationship between conversion based on a change code and inverse conversion based on the change code according to an embodiment of the present invention. That is, FIG. 13 shows the relationship between the conversion in step S0103 shown in FIG. 2 and the conversion in step S0204 shown in FIG. As shown in the drawing, the data converted in the compression can be returned to the data before the conversion when the inverse conversion is performed in the decompression.

<<整数化例(ステップS0205)>>
図10に戻り、ステップS0205では、情報処理装置は、第3データを整数化する。具体的には、ステップS0205では、情報処理装置は、ステップS0204で生成される第3データa’を四捨五入等によって整数化し、整数化によってデータ(以下「復号データ」という。)が生成する。
<< Example of integerization (step S0205) >>
Returning to FIG. 10, in step S0205, the information processing apparatus converts the third data into an integer. Specifically, in step S0205, the information processing apparatus converts the third data a ′ generated in step S0204 to an integer by rounding off or the like, and generates data (hereinafter referred to as “decoded data”) by integerization.

図14は、本発明の一実施形態に係る復号データの一例を示す模式図である。以下、復号データa’’が図示するデータである場合を例に説明する。この例では、第3データa’が有するデータがそれぞれ正規化されると、復号データa’’を構成する各データが生成される。即ち、復号データa’’は、図示するように、正規化されたN個のデータから構成されるとする。   FIG. 14 is a schematic diagram showing an example of decoded data according to an embodiment of the present invention. Hereinafter, a case where the decoded data a ″ is the illustrated data will be described as an example. In this example, when the data included in the third data a ′ is normalized, each data constituting the decoded data a ″ is generated. That is, it is assumed that the decoded data a ″ is composed of N normalized data as illustrated.

このように、図2に示す処理によって圧縮及び暗号化される圧縮データが図10に示す処理によって解凍及び復号されると、受信者は、圧縮及び暗号化前の平文のデータを使用することができる。したがって、データを送受信するのに、データが送信側で圧縮され、一方でデータが受信側で解凍されると、情報処理装置は、送受信するデータ容量及びデータを記憶するデータ容量を少なくすることができる。また、暗号化によって、情報処理装置は、送受信するデータのセキュリティを向上できる。   As described above, when the compressed data that is compressed and encrypted by the process shown in FIG. 2 is decompressed and decrypted by the process shown in FIG. 10, the receiver may use the plaintext data before compression and encryption. it can. Therefore, when data is transmitted and received, if the data is compressed on the transmission side and the data is decompressed on the reception side, the information processing apparatus may reduce the data capacity to transmit and receive and the data capacity to store the data. it can. In addition, the information processing apparatus can improve the security of data to be transmitted and received by encryption.

また、情報処理装置が圧縮及び解凍をアダマール符号を変更した変更符号に基づく変換によってそれぞれ実現すると、シフト演算等の計算で圧縮又は解凍が実現できるため、除算等の計算を少なくできる。これによって、情報処理装置は、データの圧縮又は解凍において、計算に係る負荷等を小さくできる。   Further, when the information processing apparatus realizes compression and decompression respectively by conversion based on the changed code obtained by changing the Hadamard code, compression or decompression can be realized by calculation such as shift operation, so that calculation such as division can be reduced. As a result, the information processing apparatus can reduce the load or the like related to the calculation in data compression or decompression.

なお、組み込みシステム等の第1情報処理装置と、サーバ等の第2情報処理装置とを有する情報処理システムでは、図2に示す処理等によって圧縮を行う情報処理装置、即ち、送信側が第1情報処理装置となる。一方、図10に示す処理等によって、解凍を行う情報処理装置、即ち、受信側が第2情報処理装置となる。   In an information processing system having a first information processing device such as an embedded system and a second information processing device such as a server, the information processing device that performs compression by the processing shown in FIG. It becomes a processing device. On the other hand, the information processing apparatus that performs decompression, that is, the reception side becomes the second information processing apparatus by the processing shown in FIG.

<<誤差について>>
以下、圧縮に係る各データと、解凍に係る各データとを比較して、圧縮と、解凍との各処理で発生する誤差を説明する。
<< About error >>
In the following, each data related to compression is compared with each data related to decompression, and an error occurring in each processing of compression and decompression will be described.

まず、ハフマン符号に基づく符号化(図2に示すステップS0105)と、ハフマン符号に基づく復号化(図10に示すステップS0202)とについて説明する。この場合には、ハフマン符号に基づく符号化と、ハフマン符号に基づく復号化とは、変換と、逆変換との関係である。この関係において、ハフマン符号が用いられる符号化及び復号化は、可逆変換であるため、符号化されたデータに対して復号化が行われると、復号化によって生成されるデータは、符号化される前のデータと比較して、符号化及び復号化による誤差がない。   First, encoding based on the Huffman code (step S0105 shown in FIG. 2) and decoding based on the Huffman code (step S0202 shown in FIG. 10) will be described. In this case, the encoding based on the Huffman code and the decoding based on the Huffman code are a relationship between conversion and inverse conversion. In this relationship, since the encoding and decoding using the Huffman code is a reversible transformation, when the encoded data is decoded, the data generated by the decoding is encoded. Compared to the previous data, there is no error due to encoding and decoding.

即ち、図2及び図10において、図2に示すステップS0105によって符号化される前の第2データc(図7参照)と、符号化された後の圧縮データd(図8参照)が図10に示すステップS0202によって復号化された後の第2データcとは、誤差がない。一方で、第1データb(図6参照)から変換した第2データcには、圧縮における正規化による誤差が含まれるため、復号化された後の第2データcに生じる誤差は、「−0.5」以上「+0.5」未満が含まれる。   That is, in FIGS. 2 and 10, the second data c (see FIG. 7) before being encoded in step S0105 shown in FIG. 2 and the compressed data d (see FIG. 8) after being encoded are shown in FIG. There is no error in the second data c after being decoded in step S0202 shown in FIG. On the other hand, since the second data c converted from the first data b (see FIG. 6) includes an error due to normalization in compression, the error generated in the second data c after decoding is “− 0.5 "or more and less than" +0.5 "are included.

次に、圧縮において正規化及び整数化(図2に示すステップS0104)される前の第1データb(図6参照)と、解凍において正規化(図10に示すステップS0203)された後の正規化データb’(図11参照)とを比較する。即ち、第1データbと、正規化データb’との誤差は、下記(13)式のように示せる。   Next, the first data b (see FIG. 6) before normalization and integerization (step S0104 shown in FIG. 2) in compression and the normalization after normalization (step S0203 shown in FIG. 10) in decompression The data b ′ (see FIG. 11) is compared. That is, the error between the first data b and the normalized data b ′ can be expressed by the following equation (13).

Figure 2017055269
Figure 2017055269

続いて、圧縮において変更符号に基づく変換(図2に示すステップS0103)される前の入力データa(図3参照)と、解凍において変更符号に基づく変換(図10に示すステップS0204)された後の第3データa’(図12参照)とを比較する。即ち、入力データaと、第3データa’との誤差は、解凍では、第3データa’が上記(13)式に示す誤差を含む正規化データb’から生成されるため、下記(14)式のように示せる。   Subsequently, the input data a (see FIG. 3) before conversion based on the change code in compression (step S0103 shown in FIG. 2) and the conversion based on the change code in decompression (step S0204 shown in FIG. 10). The third data a ′ (see FIG. 12) is compared. That is, the error between the input data a and the third data a ′ is generated from the normalized data b ′ including the error shown in the above equation (13) in the decompression, so that the following (14 ).

Figure 2017055269
Figure 2017055269

具体的には、入力データaと、第3データa’との誤差は、最悪値で考えると、下記(15)式のように計算される。   Specifically, the error between the input data “a” and the third data “a ′” is calculated as shown in the following equation (15), considering the worst value.

Figure 2017055269
Figure 2017055269

上記(15)式より、例えば、8ビットデータ(x=8)では、誤差の最悪値は、256階調に対して「1.5」となる。ただし、計算上、最悪値は、上記(15)式となるが、実際には、変更符号に基づく変換において、「+」と「−」の値が加算され、誤差が相殺されるため、誤差は、最悪値より小さい値とできる場合が多い。   From the above equation (15), for example, in 8-bit data (x = 8), the worst value of error is “1.5” for 256 gradations. However, in the calculation, the worst value is the above equation (15), but in actuality, in the conversion based on the change code, the values of “+” and “−” are added to cancel out the error. Can often be made smaller than the worst value.

図15は、本発明の一実施形態に係る誤差の確率密度の一例を示す図である。図示するように、入力データaと、第3データa’との誤差を確率密度関数P(a’)とすると、確率密度関数P(a’)は、正規分布で示せる。また、この正規分布は、「a」を平均として、「(N/2)−1」の範囲に分布する。 FIG. 15 is a diagram illustrating an example of error probability density according to an embodiment of the present invention. As shown in the figure, when the error between the input data a and the third data a ′ is a probability density function P (a ′), the probability density function P (a ′) can be represented by a normal distribution. This normal distribution is distributed in a range of “(N / 2 w ) −1” with “a i ” as an average.

<<インタリーブ例及びコンカチネーション例>>
圧縮率及び誤差は、「w」及び「N」によって定まり、上記(15)式の通りとなる。したがって、xが大きい値となると、誤差は、相対的に影響が小さくなる。例えば、8ビットデータ(x=8)である場合には、最悪値で考えると、誤差の影響は、「1.5/256」である。これに対して、16ビットデータ(x=16)である場合には、誤差の影響は、「1.5/65536」である。ゆえに、16ビットデータである場合の方が、誤差の影響が小さいと言える。
<< Examples of interleaving and concatenation >>
The compression ratio and the error are determined by “w” and “N”, and are expressed by the above equation (15). Therefore, when x becomes a large value, the influence of the error becomes relatively small. For example, in the case of 8-bit data (x = 8), considering the worst value, the influence of the error is “1.5 / 256”. On the other hand, in the case of 16-bit data (x = 16), the influence of the error is “1.5 / 65536”. Therefore, it can be said that the effect of error is smaller in the case of 16-bit data.

したがって、圧縮対象となるデータが複数ある場合には、複数のデータを結合させて、xが大きい値となる入力データを生成するのが望ましい。具体的には、複数のデータをインタリーブ(interleave)等によって結合させ、入力データa(図3参照)が生成されるのが望ましい。   Therefore, when there are a plurality of data to be compressed, it is desirable to combine the plurality of data to generate input data in which x is a large value. Specifically, it is desirable to combine a plurality of data by interleaving or the like to generate input data a (see FIG. 3).

図16は、本発明の一実施形態に係るインタリーブの一例を示す模式図である。以下、図示するように、2つの8ビットデータ(x=8)が複数のデータである例で説明し、説明では、複数のデータをそれぞれ第1基礎データs1と、第2基礎データs2とする。即ち、以下の説明では、第1基礎データs1と、第2基礎データs2とをインタリーブする例で説明する。   FIG. 16 is a schematic diagram illustrating an example of interleaving according to an embodiment of the present invention. Hereinafter, as illustrated, an example in which two 8-bit data (x = 8) is a plurality of data will be described, and in the description, the plurality of data are respectively referred to as first basic data s1 and second basic data s2. . That is, in the following description, an example in which the first basic data s1 and the second basic data s2 are interleaved will be described.

例えば、図示するように、第1基礎データs1が有する「s2i,0」乃至「s2i,7」の各ビットデータと、第2基礎データs2が有する「s2i+1,0」乃至「s2i+1,7」の各ビットデータとを交互に結合させて、16ビットの第2入力データa2が生成される。この第2入力データa2は、8ビットのデータを2つ結合させたデータであるため、16ビットデータである。このように生成される第2入力データa2を入力データとして扱うと、入力データは、8ビットデータから16ビットデータとなる。このため、入力データが大きな値となるため、インタリーブによって、組み込みシステムは、誤差の影響を小さくすることができる。 For example, as shown, first basic data s1 has "s 2i, 0" through "s 2i, 7" and the bit data of, or "s 2i + 1, 0" included in the second basic data s2 "s 2i + 1 , 7 "are alternately combined with each other to generate 16-bit second input data a2. Since the second input data a2 is data obtained by combining two pieces of 8-bit data, it is 16-bit data. When the second input data a2 generated in this way is handled as input data, the input data changes from 8-bit data to 16-bit data. For this reason, since the input data has a large value, the embedded system can reduce the influence of the error by interleaving.

なお、インタリーブは、2つのデータを結合させる、又は16ビットデータを生成するに限られない。例えば、インタリーブは、32ビットデータ又は64ビットデータ等のように、より大きな値となるデータを生成する処理であってもよい。また、インタリーブは、3つ以上のデータを結合する処理でもよい。さらに、インタリーブは、インタリーブされたデータを更にインタリーブして、より大きな値となるデータを生成する処理でもよい。   Note that interleaving is not limited to combining two pieces of data or generating 16-bit data. For example, the interleaving may be a process of generating data having a larger value such as 32-bit data or 64-bit data. Further, interleaving may be a process of combining three or more data. Further, the interleaving may be a process of further interleaving the interleaved data to generate data having a larger value.

また、インタリーブ等の結合では、いわゆるガードビットが追加されてもよい。   Also, so-called guard bits may be added for interleaving or the like.

図17は、本発明の一実施形態に係る結合においてガードビットを追加する例を示す模式図である。以下、図16に示すインタリーブにおいて、更に2ビットのガードビットGBが追加される例で説明する。図16と比較すると、図17は、2ビットのガードビットGBが追加され、生成される第3入力データは、18ビットとなる点が異なる。なお、ガードビットGBは、例えば、図示するように、上位側が「0」であり、かつ、下位側が「1」である2ビットのデータである。また、各データは、下記(16)式のように示せる。   FIG. 17 is a schematic diagram illustrating an example in which guard bits are added in the combination according to the embodiment of the present invention. Hereinafter, an example in which two guard bits GB are further added in the interleaving shown in FIG. 16 will be described. FIG. 17 is different from FIG. 16 in that a 2-bit guard bit GB is added and the generated third input data is 18 bits. Note that the guard bit GB is, for example, 2-bit data in which the upper side is “0” and the lower side is “1” as illustrated. Each data can be expressed by the following equation (16).

Figure 2017055269
Figure 2017055269

また、ガードビットGBが追加される位置は、例えば、「w」及び「N」によって設定される。具体的には、上記(15)式の通り、(w,N)=(0,8)であると、誤差は、最悪値で考えると、「±3.5」であるから、整数化によって、「−4〜3」の誤差が発生する場合がある。この場合には、図示するような位置に、ガードビットGBが追加されると、誤差による桁上がり又は桁下がりをガードビットが吸収するため、ガードビットGBが追加される位置より上位側では、誤差による影響がなくなる。即ち、ガードビットGBが追加されると、組み込みシステムは、ガードビットGBが追加される位置より下位側で発生する誤差が上位側に影響しないようにできる。   Further, the position where the guard bit GB is added is set by “w” and “N”, for example. Specifically, as shown in the above equation (15), if (w, N) = (0, 8), the error is “± 3.5” in terms of the worst value. , An error of “−4 to 3” may occur. In this case, when the guard bit GB is added to the position shown in the figure, the guard bit absorbs the carry or carry by the error. Therefore, the error is higher on the upper side than the position where the guard bit GB is added. The influence of will disappear. In other words, when the guard bit GB is added, the embedded system can prevent an error occurring on the lower side from the position where the guard bit GB is added from affecting the upper side.

入力データaと、第3データa’との誤差は、上記(14)式の通りであるので、図示するような位置に、ガードビットGBが追加されると、第3データa’に発生する誤差の影響が下位側となる「ai,2」、「ai,1」及び「ai,0」の範囲に限定できる。例えば、「ai,2」、「ai,1」及び「ai,0」の範囲において、桁上がりの誤差、即ち、「111」に対して「+1」の誤差が発生しても、ガードビットGBが追加されると、ガードビットGBである「01」が「10」となり、組み込みシステムは、「ai,3」に桁上がりの誤差が加算される等の影響をなくすことができる。 Since the error between the input data a and the third data a ′ is as in the above equation (14), if the guard bit GB is added at the position shown in the figure, it occurs in the third data a ′. It can be limited to the range of “a i, 2 ”, “a i, 1 ”, and “a i, 0 ” where the influence of the error is on the lower side. For example, in the range of “a i, 2 ”, “a i, 1 ” and “a i, 0 ”, even if a carry error, that is, an error of “+1” with respect to “111” occurs, When the guard bit GB is added, the guard bit GB “01” becomes “10”, and the embedded system can eliminate the effect of adding a carry error to “a i, 3 ”. .

さらに、「ai,2」、「ai,1」及び「ai,0」の範囲において、桁下がりの誤差、即ち、「000」に対して「−1」の誤差が発生しても、ガードビットGBが追加されると、ガードビットGBである「01」が「00」となり、組み込みシステムは、「ai,3」に桁下がりの誤差が減算される等の影響をなくすことができる。 Further, even if a carry error, that is, an error of “−1” with respect to “000” occurs in the range of “a i, 2 ”, “a i, 1 ”, and “a i, 0 ”. When the guard bit GB is added, the guard bit GB “01” becomes “00”, and the embedded system may eliminate the influence of a carry error being subtracted from “a i, 3 ”. it can.

なお、ガードビットGBは、図示するような「01」に限られず、例えば、「10」であってもよい。このように、ガードビットGBは、3ビット以上であってもよいが、2ビットであるのが望ましい。ガードビットGBが「01」又は「10」のように、2ビットであると、桁下がり又は桁上がり等による誤差が影響しないようにできる。さらに、2ビットのガードビットGBが、桁下がり又は桁上がり等による誤差の影響をなくすことができる最も小さいデータ容量であるため、ガードビットGBが2ビットであると、組み込みシステムは、小さいデータ容量で誤差による影響をなくすことができる。   The guard bit GB is not limited to “01” as illustrated, and may be “10”, for example. Thus, the guard bit GB may be 3 bits or more, but is preferably 2 bits. If the guard bit GB is 2 bits such as “01” or “10”, an error due to a carry or carry can be prevented from being affected. Further, since the 2-bit guard bit GB has the smallest data capacity that can eliminate the influence of errors due to carry-down or carry-over, when the guard bit GB is 2 bits, the embedded system has a small data capacity. Can eliminate the influence of errors.

また、結合は、インタリーブに限られない。例えば、結合は、コンカチネーション(concatenation)であってもよい。   Further, the combination is not limited to interleaving. For example, the bond may be a concatenation.

図18は、本発明の一実施形態に係るコンカチネーションの一例を示す模式図である。以下、図16と同様の2つの8ビットデータの例である第1基礎データs1と、第2基礎データs2とをコンカチネーションする例で説明する。例えば、コンカチネーションは、図示するように、第1基礎データs1を上位側の8ビットデータとし、これに対して、下位側に第2基礎データs2の8ビットデータを結合させて、第4入力データa4を生成する処理である。なお、結合させる上位及び下位は、逆でもよい。第4入力データa4は、8ビットのデータを2つ結合させたデータであるため、16ビットデータである。このように生成される第4入力データa4を入力データとして扱うと、入力データは、8ビットデータから16ビットデータとなる。このため、入力データが大きな値となるため、コンカチネーションによって、組み込みシステムは、誤差の影響を小さくすることができる。   FIG. 18 is a schematic diagram illustrating an example of concatenation according to an embodiment of the present invention. Hereinafter, an example in which the first basic data s1 and the second basic data s2, which are examples of two 8-bit data similar to those in FIG. 16, are concatenated will be described. For example, as shown in the figure, the concatenation uses the first basic data s1 as the higher-order 8-bit data, and the lower-order data is combined with the 8-bit data of the second basic data s2 as the fourth input. This is processing for generating data a4. The upper and lower levels to be combined may be reversed. The fourth input data a4 is 16-bit data because it is data obtained by combining two 8-bit data. When the fourth input data a4 generated in this way is handled as input data, the input data changes from 8-bit data to 16-bit data. For this reason, since the input data becomes a large value, the embedded system can reduce the influence of the error by concatenation.

また、インタリーブと同様に、コンカチネーションでは、ガードビットが追加されてもよい。   Similarly to interleaving, guard bits may be added in concatenation.

図19は、本発明の一実施形態に係る結合においてガードビットを追加する別の例を示す模式図である。例えば、図示するように、図18に示すコンカチネーションによって生成されるデータに対して、図17と同様に、ガードビットGBが追加され、コンカチネーションによって、第5入力データa5が生成されてもよい。第5入力データa5は、図示するように、2ビットのガードビットが追加されるため、18ビットのデータとなる。このように、コンカチネーションでもインタリーブの場合と同様に、ガードビットGBが追加されると、組み込みシステムは、「ai,3」から上位のビットに桁上がり又は桁下がりの誤差が加算される等の影響をなくすことができる。 FIG. 19 is a schematic diagram showing another example of adding guard bits in the combination according to the embodiment of the present invention. For example, as shown in the figure, the guard bit GB may be added to the data generated by the concatenation shown in FIG. 18 similarly to FIG. 17, and the fifth input data a5 may be generated by the concatenation. . As shown in the drawing, the fifth input data a5 is 18-bit data because a 2-bit guard bit is added. As described above, when the guard bit GB is added in the concatenation as well as in the case of interleaving, the embedded system adds a carry or carry error to the upper bits from “a i, 3 ”. The influence of can be eliminated.

また、コンカチネーションは、インタリーブと同様に、32ビットデータ若しくは64ビットデータ等のように、より大きな値となるデータを生成する処理又は3つ以上のデータを結合する処理でもよい。さらに、コンカチネーションは、コンカチネーションされたデータを更にコンカチネーションして、より大きな値となるデータを生成する処理でもよい。   Further, the concatenation may be a process of generating data having a larger value, such as 32-bit data or 64-bit data, or a process of combining three or more data, like interleaving. Further, the concatenation may be a process of further concatenating the concatenated data to generate data having a larger value.

<<誤差の補正例>>
実施形態では、発生する誤差の影響を少なくするため、補正値eが加えられる補正が行われてもよい。まず、誤差は、図2に示す処理の前となる入力データa(図3参照)と、図10に示す処理の後となる第3データa’(図12参照)との差であるから、|a’−a|と示せる。この誤差を少なくする補正値eは、例えば、図10に示す処理において、正規化データb’(図11参照)に加えられる。即ち、「b’+e」とすると、誤差を少なくする補正を行うことができる。
<< Example of error correction >>
In embodiments, in order to reduce the influence of the generated error, the correction of the correction value e i is applied may be performed. First, the error is the difference between the input data a (see FIG. 3) before the process shown in FIG. 2 and the third data a ′ (see FIG. 12) after the process shown in FIG. | A i '−a i | The correction value e i for reducing this error is added to the normalized data b ′ (see FIG. 11) in the process shown in FIG. 10, for example. That is, when “b ′ + e i ” is set, correction for reducing the error can be performed.

補正値eは、下記(17)式のように示せる。 Correction value e i is can show as follows (17).

Figure 2017055269
Figure 2017055269

また、誤差である|a’−a|は、|a’−a|=p+qと分けて示せる。この場合では、誤差において、整数部pであり、小数部qであるとする。なお、小数部qは、(−0.5<q<0.5)である。次に、整数部p及び小数部qを用いると、誤差は、上記(17)式より、下記(18)式のように示せる。 Also, | a i '-a i |, which is an error, can be shown separately from | a i ' -a i | = pi + q i . In this case, it is assumed that the error is the integer part p i and the decimal part q i . The decimal part q i is (−0.5 <q i <0.5). Next, when the integer part p i and the decimal part q i are used, the error can be expressed by the following equation (18) from the above equation (17).

Figure 2017055269
Figure 2017055269

誤差であるか否かが明白となる部分は、主に小数部qである場合が多い。これは、元のデータ(圧縮前のデータ)が整数である場合に、解凍後に、データが小数部qを含むようになる場合は、少なくとも小数部qの誤差があると言えるためである。この小数部qに対する補正を簡略にするため、補正値eを上記(18)式に基づいて、下記(19)式のようにする。 In many cases, it is mainly the fractional part q i that makes it clear whether or not it is an error. This is because when the original data (data before compression) is an integer, if the data includes the decimal part q i after decompression, it can be said that there is an error of at least the decimal part q i. . In order to simplify the correction for the decimal part q i , the correction value e i is expressed by the following equation (19) based on the above equation (18).

Figure 2017055269
Figure 2017055269

次に、厳密解を絞り込むための条件を説明する。   Next, conditions for narrowing down the exact solution will be described.

図20は、本発明の一実施形態に係る厳密解を絞り込む条件の一例を示す表である。例えば、図示する3つの条件を満たす整数部pの組み合わせが探索されると、厳密解を求めることができる。 FIG. 20 is a table showing an example of conditions for narrowing down an exact solution according to an embodiment of the present invention. For example, when a combination of integer parts p i satisfying the three conditions shown in the figure is searched, an exact solution can be obtained.

図示する(条件1)において、探索は、絶対値が小さい値から順に行われるが望ましい。誤差の確率密度は、平均が「0」である正規分布であるため、データが「0」に集まる場合が多い。したがって、絶対値が小さい値、即ち、平均である「0」に近い値から探索されると、候補となる値が早く探索できる。   In the illustrated (Condition 1), the search is preferably performed in order from the smallest absolute value. Since the error probability density is a normal distribution with an average of “0”, data is often collected at “0”. Therefore, when searching from a value having a small absolute value, that is, a value close to the average “0”, a candidate value can be searched quickly.

図示する(条件2)が満たされるように、厳密解の上限値及び下限値等がそれぞれ定まる。   The upper limit value and the lower limit value of the exact solution are determined so that (Condition 2) shown in the figure is satisfied.

図示する(条件3)は、補正値eの範囲を示す条件である。 Shown (condition 3) is a condition indicating a range of correction values e i.

図示する各条件を満たす候補が複数ある場合には、情報処理システムは、非可逆変換によるノイズと扱ってもよい。また、情報処理システムは、チェックサム(check sum)等の誤り訂正符号等を用いて、図示する各条件を満たす候補が複数ある場合に候補を更に絞り込めるようにしてもよい。   When there are a plurality of candidates that satisfy the conditions shown in the drawing, the information processing system may treat the noise as a result of irreversible transformation. In addition, the information processing system may further narrow down candidates when there are a plurality of candidates that satisfy the illustrated conditions by using an error correction code such as a check sum.

例えば、図示する(条件1)を満たす整数部pの範囲は、下記(20)式のように示せる。 For example, the range of the integer part p i satisfying (Condition 1) shown in the figure can be expressed by the following equation (20).

Figure 2017055269
Figure 2017055269

上記(20)式が示すように、探索の範囲は、小数部qの値によって定まる。この例では、整数部pは、3通り又は4通り程度であるため、「(3〜4)=81〜256」の組み合わせから、図20に示す(条件2)及び(条件3)をそれぞれ満たす解が探索されると、厳密解が求まる。 As indicated by the above equation (20), the search range is determined by the value of the fractional part q i . In this example, since the integer part p i is about three or four, the combination of “(3-4) 4 = 81-256” can be applied to (condition 2) and (condition 3) shown in FIG. When a solution satisfying each is searched, an exact solution is obtained.

また、条件は、図20に示す(条件1)、(条件2)及び(条件3)に限られない。例えば、図17及び図19に示すように、ガードビットが追加される場合には、ガードビットの変化に応じて厳密解が絞り込まれてもよい。以下、追加されるガードビットが図17及び図19と同様に、2ビットの「01」である場合を例に説明する。   The conditions are not limited to (Condition 1), (Condition 2) and (Condition 3) shown in FIG. For example, as shown in FIGS. 17 and 19, when guard bits are added, exact solutions may be narrowed down according to changes in guard bits. Hereinafter, a case where the added guard bit is “01” of 2 bits as in FIGS. 17 and 19 will be described as an example.

図21は、本発明の一実施形態に係るガードビットの変化に基づく条件の一例を示す模式図である。例えば、図示するように、ガードビットGB「01」が、下位のデータの例である3ビットの下位ビットUB「XXX」の上位側に追加される例で説明する。この例では、任意のデータである下位ビットUB「XXX」に誤差が発生する。   FIG. 21 is a schematic diagram illustrating an example of conditions based on changes in guard bits according to an embodiment of the present invention. For example, as illustrated, an example will be described in which the guard bit GB “01” is added to the upper side of the three lower bits UB “XXX”, which is an example of lower data. In this example, an error occurs in the lower bit UB “XXX”, which is arbitrary data.

図22は、本発明の一実施形態に係るガードビットの変化に基づく条件の一例を示す表である。図示するように、ガードビットの変化によって、どのような誤差が発生したか推定することができる。まず、ガードビットに変化がある場合は、下位ビットUBに、桁上がり又は桁下がりが発生していると言えるので、ガードビットの変化の有無によって、誤差が発生しているか否かが推定できる。   FIG. 22 is a table showing an example of conditions based on changes in guard bits according to an embodiment of the present invention. As shown in the figure, it is possible to estimate what kind of error has occurred due to the change of the guard bit. First, when there is a change in the guard bit, it can be said that a carry or a carry has occurred in the lower bit UB, so it can be estimated whether or not an error has occurred depending on whether or not the guard bit has changed.

具体的には、「誤差発生後のガードビット」が「01」から「10」となる場合は、誤差発生前の下位ビットUB(図21参照)が「111」であり、かつ、「+1」の誤差が発生したと推定できる。図示するように、「誤差発生前の下位ビット」が「111」であると、これに「+1」が加算される場合、桁上がりが発生する。即ち、桁上がりによって、ガードビットGB(図21参照)は、「01+1=10」となる。このように、ガードビットGBの上位ビットに変化があると、下位ビットUBに、「+1」等の正の値の誤差が発生したと推定できる。   Specifically, when the “guard bit after error occurrence” changes from “01” to “10”, the lower bit UB before error occurrence (see FIG. 21) is “111” and “+1”. It can be estimated that an error of. As shown in the figure, when “lower bit before error occurrence” is “111”, when “+1” is added to this, a carry occurs. That is, due to the carry, the guard bit GB (see FIG. 21) becomes “01 + 1 = 10”. Thus, if there is a change in the upper bits of the guard bit GB, it can be estimated that a positive value error such as “+1” has occurred in the lower bits UB.

また、「誤差発生後のガードビット」が「01」から「00」となる場合は、誤差発生前の下位ビットUBが「000」であり、かつ、「−1」の誤差が発生したと推定できる。図示するように、「誤差発生前の下位ビット」が「000」であると、これに「−1」が加算される場合、桁下がりが発生する。即ち、桁下がりによって、ガードビットGBは、「01−1=00」となる。このように、ガードビットGBの下位ビットに変化があると、下位ビットUBに、「−1」等の負の値の誤差が発生したと推定できる。   When the “guard bit after error occurrence” is changed from “01” to “00”, it is estimated that the lower bit UB before error occurrence is “000” and an error of “−1” has occurred. it can. As shown in the figure, when “-1” is added to “000” when “low order bit before error occurrence” is “000”, a carry occurs. That is, the guard bit GB becomes “01-1 = 00” due to the carry-down. Thus, if there is a change in the lower bits of the guard bit GB, it can be estimated that a negative value error such as “−1” has occurred in the lower bits UB.

ゆえに、圧縮データにガードビットが含まれる場合には、図20に示す条件に、ガードビットに係る条件が更に追加され、ガードビットに係る条件に基づいて、補正が行われてもよい。以下、ガードビットに係る条件を(条件4)とする。なお、追加されるガードビットGBは、「01」とする。この場合、(条件4)は、「誤差発生後のガードビット」が「10」である場合には、誤差は、正の値であり、「誤差発生後のガードビット」が「00」である場合には、誤差は、負の値であると推定する等である。   Therefore, when guard bits are included in the compressed data, a condition related to guard bits may be further added to the conditions shown in FIG. 20, and correction may be performed based on the conditions related to guard bits. Hereinafter, the condition relating to the guard bit is referred to as (condition 4). The added guard bit GB is “01”. In this case, (condition 4) is that when “the guard bit after occurrence of error” is “10”, the error is a positive value and “the guard bit after occurrence of error” is “00”. In some cases, the error is estimated to be a negative value, and so on.

なお、(条件4)は、追加されるガードビットGBに応じて変更されてもよい。   Note that (Condition 4) may be changed according to the added guard bit GB.

このように、ガードビットに係る条件が更に追加されると、厳密解が、より絞り込みやすくできる。   As described above, when the condition relating to the guard bit is further added, the exact solution can be more easily narrowed down.

なお、補正は、図10に示す処理、即ち、情報処理システムにおいて、受信側で行われるのが望ましい。データを送信する送信側、即ち、図2に示す処理等で圧縮を行う第1情報処理装置は、組み込みシステム等であることが多い。一方で、受信側となり、図10に示す処理等で解凍を行う第2情報処理装置は、サーバ等であることが多い。このように、受信側は、送信側と比較すると、CPUパワー又は記憶領域等が充実している装置である場合が多い。ゆえに、補正に係る負荷は、受信側で負担する方が、システム全体としては、負荷による影響が少なくできる。   The correction is preferably performed on the receiving side in the process shown in FIG. 10, that is, in the information processing system. The transmission side that transmits data, that is, the first information processing apparatus that performs compression in the process shown in FIG. 2 is often an embedded system or the like. On the other hand, the second information processing apparatus that becomes the receiving side and performs decompression by the processing shown in FIG. 10 is often a server or the like. As described above, the receiving side is often a device that has more CPU power, storage area, or the like than the transmitting side. Therefore, if the load related to the correction is borne on the receiving side, the influence of the load can be reduced as a whole system.

<<3.情報処理システムの機能構成例>>
図23は、本発明の一実施形態に係る情報処理システムの機能構成の一例を示す機能ブロック図である。図示するように、情報処理システム10は、組み込みシステム1と、サーバ2とを有する。この例では、組み込みシステム1がデータを圧縮してサーバ2に送信し、サーバ2がデータを受信して、データを解凍する。
<< 3. Functional configuration example of information processing system >>
FIG. 23 is a functional block diagram illustrating an example of a functional configuration of an information processing system according to an embodiment of the present invention. As illustrated, the information processing system 10 includes an embedded system 1 and a server 2. In this example, the embedded system 1 compresses and transmits data to the server 2, and the server 2 receives the data and decompresses the data.

具体的には、情報処理システム10は、符号生成部FN1と、第1変換部FN2と、計算部FN3と、符号化部FN4と、復号化部FN5と、正規化部FN6と、第2変換部FN7と、整数化部FN8とを含む。   Specifically, the information processing system 10 includes a code generation unit FN1, a first conversion unit FN2, a calculation unit FN3, an encoding unit FN4, a decoding unit FN5, a normalization unit FN6, and a second conversion. A part FN7 and an integerizing part FN8 are included.

符号生成部FN1は、組み込みシステム1が有するシリアル番号等に基づいて、アダマール符号を変更して変更符号を生成する。   The code generation unit FN1 generates a change code by changing the Hadamard code based on the serial number or the like that the embedded system 1 has.

第1変換部FN2は、入力データaを変更符号に基づいて変換して第1データbを生成する。   The first conversion unit FN2 converts the input data a based on the change code to generate first data b.

計算部FN3は、第1データbを正規化及び整数化して第2データcを生成する。   The calculation unit FN3 normalizes and integerizes the first data b to generate the second data c.

符号化部FN4は、第2データcを符号化して圧縮データdを生成する。   The encoding unit FN4 encodes the second data c to generate compressed data d.

復号化部FN5は、圧縮データdを復号化して第2データcを生成する。   The decryption unit FN5 decrypts the compressed data d to generate second data c.

正規化部FN6は、第2データcを正規化して正規化データb’を生成する。   The normalizing unit FN6 normalizes the second data c to generate normalized data b ′.

第2変換部FN7は、正規化データb’を変更符号に基づいて変換して第3データa’を生成する。   The second conversion unit FN7 converts the normalized data b 'based on the change code to generate the third data a'.

整数化部FN8は、第3データa’を整数化して復号データa’’を生成する。   The integer converting unit FN8 converts the third data a ′ into an integer to generate decoded data a ″.

なお、各部は、例えば、情報処理装置が有するCPU等の演算装置等によって実現される。   Each unit is realized by an arithmetic device such as a CPU included in the information processing apparatus, for example.

情報処理システムは、変更符号に基づく変換及び逆変換によって、データを圧縮及び解凍することができる。変更符号に基づく変換及び逆変換によるデータの圧縮及び解凍は、変換符号のみで符号が決定できるので、多次元直交系列を使った変換等と比較すると、オーバーヘッドに係るデータ等が小さい。そのため、情報処理システムは、変更符号に基づく変換及び逆変換によって、圧縮後のデータ容量を小さくすることができる。   The information processing system can compress and decompress data by conversion based on the change code and inverse conversion. In compression and decompression of data by conversion based on the change code and inverse conversion, since the code can be determined only by the conversion code, the data related to overhead is small compared to conversion using a multidimensional orthogonal sequence. Therefore, the information processing system can reduce the data capacity after compression by conversion based on the change code and inverse conversion.

また、変更符号に基づく変換及び逆変換では、簡易な計算が多いため、データの圧縮又は解凍において、情報処理システムは、計算に係る負荷等を小さくすることができる。   Further, since the conversion based on the change code and the inverse conversion involve many simple calculations, the information processing system can reduce the load related to the calculation in the compression or decompression of the data.

さらに、変更符号に基づく変換が行われたデータは、変更符号を暗号鍵として、暗号化、即ち、難読化されるため、情報処理システムは、変更符号に基づく変換及び逆変換を行うことで、送受信するデータのセキュリティを向上させることができる。   Furthermore, since the data converted based on the change code is encrypted using the change code as an encryption key, that is, obfuscated, the information processing system performs conversion and reverse conversion based on the change code, The security of data to be transmitted / received can be improved.

また、入力データは、画像、音声、温度又は振動等を示すセンサデータ等が望ましい。即ち、入力データは、圧縮された後、解凍されると、圧縮前と比較して、誤差を含むようになる場合がある。そのため、解凍後に、誤差が許容されやすいセンサデータ等が用いられるのが望ましい。   The input data is preferably sensor data indicating an image, sound, temperature, vibration, or the like. In other words, when the input data is compressed and then decompressed, it may include an error as compared to before compression. For this reason, it is desirable to use sensor data or the like in which errors are likely to be allowed after decompression.

なお、組み込みシステムは、組込機器全般、クラウド等によって他の装置と通信を行う装置、IoT(Internet of Things)に用いられる各装置、又はこれらを組み合わせた情報処理システム等に応用されてもよい。   The embedded system may be applied to embedded devices in general, devices that communicate with other devices via the cloud, etc., each device used for IoT (Internet of Things), or an information processing system that combines these devices. .

また、第1情報処理装置及び第2情報処理装置は、1つの情報処理装置によって実現される構成に限られない。即ち、第1情報処理装置及び第2情報処理装置は、いずれか一方又は両方が、2つ以上の情報処理装置であってもよい。なお、情報処理システムでは、各処理の一部又は全部が分散、冗長、並列又はこれらを組み合わせるように、処理が行われてもよい。   Further, the first information processing apparatus and the second information processing apparatus are not limited to the configuration realized by one information processing apparatus. That is, one or both of the first information processing apparatus and the second information processing apparatus may be two or more information processing apparatuses. In the information processing system, processing may be performed so that part or all of each processing is distributed, redundant, parallel, or a combination thereof.

なお、本発明は、情報処理方法を実行することで実現されてもよい。この場合には、本発明は、情報処理方法を実行する装置の種類等によって限定されない。   Note that the present invention may be realized by executing an information processing method. In this case, the present invention is not limited by the type of apparatus that executes the information processing method.

また、本発明は、本発明に係る処理の一部又は全部の手順がプログラムに基づいて、情報処理装置によって実行されることで実現されてもよい。即ち、本発明は、情報処理を実行させるためのプログラム等によって実現されてもよい。   In addition, the present invention may be realized by executing a part or all of the procedure according to the present invention by an information processing apparatus based on a program. That is, the present invention may be realized by a program or the like for executing information processing.

以上、本発明の好ましい実施例について詳述したが、本発明は、係る特定の実施形態に限定されるものではない。即ち、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。   As mentioned above, although the preferable Example of this invention was explained in full detail, this invention is not limited to the specific embodiment which concerns. That is, various modifications or changes can be made within the scope of the gist of the present invention described in the claims.

1 組み込みシステム
10 情報処理システム
a 入力データ
b 第1データ
c 第2データ
d 圧縮データ
b’ 正規化データ
a’ 第3データ
a’’ 復号データ
GB ガードビット
1 Embedded System 10 Information Processing System a Input Data b First Data c Second Data d Compressed Data b ′ Normalized Data a ′ Third Data a ″ Decoded Data GB Guard Bit

Claims (13)

入力データを圧縮する情報処理装置であって、
アダマール符号を変更して変更符号を生成する符号生成部と、
前記入力データを前記変更符号に基づいて変換して第1データを生成する変換部と、
前記第1データを正規化及び整数化して第2データを生成する計算部と、
前記第2データを符号化して圧縮データを生成する符号化部と
を含む情報処理装置。
An information processing apparatus for compressing input data,
A code generator that changes the Hadamard code to generate a change code;
A converter that converts the input data based on the change code to generate first data;
A calculation unit that normalizes and integerizes the first data to generate second data;
An information processing apparatus including an encoding unit that encodes the second data to generate compressed data.
前記符号生成部は、前記アダマール符号が行列であると、前記アダマール符号の行を並び替え又は前記アダマール符号の列を並び替えて前記変更符号を生成する請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the code generation unit generates the change code by rearranging rows of the Hadamard code or rearranging the Hadamard code column when the Hadamard code is a matrix. 前記符号生成部は、前記アダマール符号が行列であると、前記アダマール符号に、対角符号を乗算して前記変更符号を生成する請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the code generation unit generates the change code by multiplying the Hadamard code by a diagonal code when the Hadamard code is a matrix. 前記符号生成部は、前記アダマール符号が行列であると、前記アダマール符号の行を並び替え又は前記アダマール符号の列を並び替え、かつ、前記アダマール符号に、対角符号を乗算して前記変更符号を生成する請求項1に記載の情報処理装置。   The code generator, when the Hadamard code is a matrix, rearranges the rows of the Hadamard code or rearranges the Hadamard code sequence, and multiplies the Hadamard code by a diagonal code to change the code. The information processing apparatus according to claim 1, which generates データが複数入力される場合には、入力される複数のデータを結合させて前記入力データとする請求項1乃至4のいずれか一項に記載の情報処理装置。   5. The information processing apparatus according to claim 1, wherein when a plurality of pieces of data are input, the plurality of pieces of input data are combined to form the input data. 前記結合は、前記複数のデータのインタリーブである請求項5に記載の情報処理装置。   The information processing apparatus according to claim 5, wherein the combination is an interleaving of the plurality of data. 前記結合は、前記複数のデータのコンカチネーションである請求項5に記載の情報処理装置。   The information processing apparatus according to claim 5, wherein the combination is a concatenation of the plurality of data. 前記結合は、前記複数の入力データのうち、下位ビット側となるデータにガードビットを追加する請求項5乃至7のいずれか一項に記載の情報処理装置。   The information processing apparatus according to any one of claims 5 to 7, wherein the combining adds a guard bit to data on a lower bit side among the plurality of input data. 前記ガードビットは、2ビットのデータである請求項8に記載の情報処理装置。   The information processing apparatus according to claim 8, wherein the guard bit is 2-bit data. 前記符号化は、ハフマン符号に基づく符号化である請求項1乃至9のいずれか一項に記載の情報処理装置。   The information processing apparatus according to any one of claims 1 to 9, wherein the encoding is encoding based on a Huffman code. 前記情報処理装置は、組み込みシステムである請求項1乃至10のいずれか一項に記載の情報処理装置。   The information processing apparatus according to any one of claims 1 to 10, wherein the information processing apparatus is an embedded system. 圧縮された圧縮データを解凍する情報処理装置であって、
前記圧縮データを復号化して第2データを生成する復号化部と、
前記第2データを正規化して正規化データを生成する正規化部と、
前記正規化データをアダマール符号を変更した変更符号に基づいて変換して第3データを生成する変換部と、
前記第3データを整数化して復号データを生成する整数化部と
を含む情報処理装置。
An information processing apparatus for decompressing compressed data,
A decoding unit for decoding the compressed data to generate second data;
A normalization unit that normalizes the second data to generate normalized data;
A conversion unit that converts the normalized data based on a modified code obtained by changing a Hadamard code to generate third data;
An information processing apparatus comprising: an integerization unit that generates the decoded data by converting the third data into an integer.
入力データを圧縮する第1情報処理装置と、前記第1情報処理装置によって圧縮された圧縮データを解凍する第2情報処理装置とを有する情報処理システムであって、
アダマール符号を変更して変更符号を生成する符号生成部と、
前記入力データを前記変更符号に基づいて変換して第1データを生成する第1変換部と、
前記第1データを正規化及び整数化して第2データを生成する計算部と、
前記第2データを符号化して前記圧縮データを生成する符号化部と、
前記圧縮データを復号化して前記第2データを生成する復号化部と、
前記第2データを正規化して正規化データを生成する正規化部と、
前記正規化データを前記変更符号に基づいて変換して第3データを生成する第2変換部と、
前記第3データを整数化して復号データを生成する整数化部と
を含む情報処理システム。
An information processing system comprising: a first information processing device that compresses input data; and a second information processing device that decompresses compressed data compressed by the first information processing device,
A code generator that changes the Hadamard code to generate a change code;
A first converter that converts the input data based on the change code to generate first data;
A calculation unit that normalizes and integerizes the first data to generate second data;
An encoding unit that encodes the second data to generate the compressed data;
A decoding unit for decoding the compressed data to generate the second data;
A normalization unit that normalizes the second data to generate normalized data;
A second converter that converts the normalized data based on the change code to generate third data;
An information processing system including an integerization unit that converts the third data into an integer and generates decoded data.
JP2015177966A 2015-09-09 2015-09-09 Information processing apparatus and information processing system Withdrawn JP2017055269A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015177966A JP2017055269A (en) 2015-09-09 2015-09-09 Information processing apparatus and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015177966A JP2017055269A (en) 2015-09-09 2015-09-09 Information processing apparatus and information processing system

Publications (1)

Publication Number Publication Date
JP2017055269A true JP2017055269A (en) 2017-03-16

Family

ID=58317555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015177966A Withdrawn JP2017055269A (en) 2015-09-09 2015-09-09 Information processing apparatus and information processing system

Country Status (1)

Country Link
JP (1) JP2017055269A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182523A (en) * 2017-04-12 2018-11-15 富士電機株式会社 Communication system and communication method
CN110289862A (en) * 2019-06-20 2019-09-27 成都有据量化科技有限公司 The compression of finance data and decompression method, apparatus and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182523A (en) * 2017-04-12 2018-11-15 富士電機株式会社 Communication system and communication method
CN110289862A (en) * 2019-06-20 2019-09-27 成都有据量化科技有限公司 The compression of finance data and decompression method, apparatus and storage medium

Similar Documents

Publication Publication Date Title
Norouzi et al. A novel image encryption based on row-column, masking and main diffusion processes with hyper chaos
JP6135804B1 (en) Information processing apparatus, information processing method, and program
KR20140032307A (en) Methods and system for multilevel data security
KR970064059A (en) Data encryption method and device
Sharma et al. Performance analysis of compression algorithms for information security: A Review
Wang et al. Bit-level image encryption algorithm based on BP neural network and gray code
Li et al. A image encryption algorithm based on coexisting multi-attractors in a spherical chaotic system
Kumar et al. An optimal high capacity reversible data hiding scheme using move to front coding for LZW codes
JP7143973B2 (en) Secret data concealment method, program for implementing same, and secret data communication system
Jindal et al. Image and video processing using discrete fractional transforms
JP6187624B1 (en) Information processing apparatus, information processing method, and program
JP2017055269A (en) Information processing apparatus and information processing system
Reddy et al. Efficient medical image security and transmission using modified LZW compression and ECDH-AES for telemedicine applications
Paul et al. Boolean operation based lossless threshold secret image sharing
JP2008099243A (en) Error correction encoding device, error correction encoding method, and program
JP4667800B2 (en) Encoding method and program thereof
JP6292195B2 (en) Information processing apparatus and information processing method
JP6796716B2 (en) Efficient encryption method to secure data while reducing the number of encryption operations
JP2017055270A (en) Information processing apparatus and information processing system
JP7383985B2 (en) Information processing device, information processing method and program
US8934631B2 (en) Decompressing apparatus and compressing apparatus
CN115918028A (en) Device and method for performing statistical operation on homomorphic ciphertext
Ahmad et al. Efficient jpeg encoding using bernoulli shift map for secure communication
Huang et al. A security-based steganographic scheme in vector quantization coding between correlated neighboring blocks
JP2011209801A (en) Apparatus and method for obfuscating software, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20190415