JP4497029B2 - Data encoding apparatus and data encoding method - Google Patents

Data encoding apparatus and data encoding method Download PDF

Info

Publication number
JP4497029B2
JP4497029B2 JP2005170862A JP2005170862A JP4497029B2 JP 4497029 B2 JP4497029 B2 JP 4497029B2 JP 2005170862 A JP2005170862 A JP 2005170862A JP 2005170862 A JP2005170862 A JP 2005170862A JP 4497029 B2 JP4497029 B2 JP 4497029B2
Authority
JP
Japan
Prior art keywords
symbol
value
encoding
table information
symbols
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.)
Expired - Fee Related
Application number
JP2005170862A
Other languages
Japanese (ja)
Other versions
JP2006345374A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2005170862A priority Critical patent/JP4497029B2/en
Publication of JP2006345374A publication Critical patent/JP2006345374A/en
Application granted granted Critical
Publication of JP4497029B2 publication Critical patent/JP4497029B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は,データを符号化するデータ符号化装置,符号化されたデータを復号するデータ復号装置およびこれらの方法に関する。   The present invention relates to a data encoding device that encodes data, a data decoding device that decodes encoded data, and a method thereof.

従来から,データを無歪で圧縮/伸張する方法として,以下に説明するハフマン符号という技術が提案されている(たとえば,特許文献1を参照。)。たとえば,圧縮しようとするデータがN値のシンボルからなる系列(例えば,英字の文章であるとアルファベット(26+3(空白,ピリオド,カンマ)値のシンボル)からなる系列となる)であるとする。ハフマン符号化は大まかに次の(1)〜(4)の手順を取る。   Conventionally, as a method for compressing / decompressing data without distortion, a technique called Huffman code described below has been proposed (see, for example, Patent Document 1). For example, it is assumed that the data to be compressed is a series of N-value symbols (for example, an English sentence is a series of alphabets (26 + 3 (space, period, comma) -value symbols)). The Huffman coding roughly takes the following procedures (1) to (4).

(1)圧縮しようとするデータの各シンボルの出現確率を調べる。
(2)その出現確率を利用して,出現確率の高いシンボルには短い符号長の符号語を割り当て,出現確率の低いシンボルには長い符号長の符号語を割り当てるように,符号化テーブルを作成する。
(3)圧縮しようとするデータをシンボル毎に符号化テーブルを引き,対応する符号語に符号化する。
(4)符号化後のデータの先頭に,符号化テーブルに対応する符号化テーブル情報を付加する。
(1) Check the appearance probability of each symbol of data to be compressed.
(2) Using the appearance probability, create a coding table so that a codeword with a short code length is assigned to a symbol with a high appearance probability and a codeword with a long code length is assigned to a symbol with a low appearance probability. To do.
(3) The encoding table is drawn for each symbol of the data to be compressed and encoded into a corresponding code word.
(4) The encoding table information corresponding to the encoding table is added to the head of the encoded data.

この符号化テーブル情報は,次の2つの情報からなる。
(I)各符号長の符号語の個数を示す情報
(II)出現確率順に並べたシンボル情報
This encoding table information includes the following two pieces of information.
(I) Information indicating the number of codewords of each code length (II) Symbol information arranged in order of appearance probability

また,その符号化された系列を復号する際には,大まかに次の(1)〜(2)の手順を取る。
(1)符号化データの先頭にある符号化テーブル情報から,符号化テーブルを生成する。
(2)符号化テーブルを引き,符号語に対するシンボルを復号する。
Further, when decoding the encoded sequence, the following procedures (1) to (2) are roughly taken.
(1) Generate an encoding table from the encoding table information at the head of the encoded data.
(2) Draw a coding table and decode a symbol for a codeword.

特開平8−162973号公報Japanese Patent Laid-Open No. Hei 8-162973

しかしながら,上記の方法では,シンボルの個数が多くなるとそれにしたがい,符号化テーブル情報のうち,「(II)出現確率順に並べたシンボル情報」が多くなってしまうという問題点があった。たとえば,16ビットで表される全ての値をシンボルに割り当てたとすると,そのシンボルの個数は216=65536個になり,その出現確率順を表そうとすると,65536×16=1048576ビットも必要となってしまう。 However, the above method has a problem that, as the number of symbols increases, “(II) symbol information arranged in order of appearance probability” increases in the encoding table information. For example, if all the values represented by 16 bits are assigned to a symbol, the number of symbols is 2 16 = 65536, and if the order of appearance probability is to be represented, 65536 × 16 = 1048576 bits are required. turn into.

そこで,本発明は,このような問題に鑑みてなされたもので,その目的とするところは,情報量が低減された符号化テーブル情報を生成するデータ符号化装置,その符号化テーブル情報を用いてデータを復号するデータ復号装置およびそれらの方法を提供することにある。   Therefore, the present invention has been made in view of such problems, and an object of the present invention is to use a data encoding device that generates encoding table information with a reduced amount of information, and the encoding table information. It is another object of the present invention to provide a data decoding apparatus and a method for decoding the data.

上記課題の少なくとも一つを解決するために,本発明のある観点によれば,シンボルを符号化するデータ符号化装置であって,外部から入力された一定個数のシンボルの各シンボル値の出現頻度を算出し,上記算出された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて,各シンボルが符号化された符号語の符号語長に関連した情報を符号化テーブル情報として生成する累積出現頻度分布計測部と,上記生成された符号化テーブル情報を用いて上記各シンボルをそれぞれ符号化する符号化部と,を備えることを特徴とするデータ符号化装置が提供される。   In order to solve at least one of the above problems, according to an aspect of the present invention, there is provided a data encoding apparatus for encoding a symbol, wherein an appearance frequency of each symbol value of a fixed number of symbols input from the outside. And encoding information related to the codeword length of the codeword in which each symbol is encoded based on the calculated cumulative frequency of occurrence of each symbol value and a predetermined target cumulative value Provided is a data encoding device comprising: a cumulative appearance frequency distribution measurement unit that is generated as table information; and an encoding unit that encodes each of the symbols using the generated encoding table information Is done.

これによれば,各シンボルの出現頻度の累積値と予め定められた目標累積値とに基づいて符号化テーブル情報が生成される。この符号化テーブル情報は,各シンボルが符号化された符号語の符号語長に関連した情報であり,従来の符号化テーブル情報に含まれていた「出現確率順に並べたシンボル情報」を含まない。この結果,符号化テーブル情報が持つ情報量を少なくすることができる。特に,「出現確率順に並べたシンボル情報」は,符号化するシンボルの個数が多くなるとそれにしたがい膨大な情報量となる。このため,特に符号化するシンボルの個数が多い場合には,従来の符号化テーブル情報に比べ,本発明の符号化テーブル情報が持つ情報量を非常に少なくすることができる。なお,「各シンボル値の出現頻度」とは,たとえば,各シンボル値の出現確率であってもよく,各シンボル値の出現回数(出現個数)であってもよい。   According to this, the encoding table information is generated based on the cumulative value of the appearance frequency of each symbol and the predetermined target cumulative value. This encoding table information is information related to the codeword length of the codeword in which each symbol is encoded, and does not include the “symbol information arranged in order of appearance probability” included in the conventional encoding table information. . As a result, the amount of information held in the encoding table information can be reduced. In particular, “symbol information arranged in the order of appearance probability” has a huge amount of information as the number of symbols to be encoded increases. For this reason, especially when the number of symbols to be encoded is large, the information amount of the encoding table information of the present invention can be greatly reduced as compared with the conventional encoding table information. The “appearance frequency of each symbol value” may be, for example, the appearance probability of each symbol value or the number of appearances (number of appearances) of each symbol value.

上記累積出現頻度分布計測部は,任意のシンボル値(たとえば,最小のシンボル値)から昇順に各シンボル値の出現頻度を累積し,その累積値が上記目標累積値に最も近い値となった場合,その累積値を求める対象となったシンボル値を符号化して表すために必要なビット数Liを求めるループ処理を所定の条件を満たすまで繰り返し,その繰り返し回数kと上記各ループ処理にて求められたビット数Li(i=1,2,・・,k)とを上記符号化テーブル情報として生成してもよい。   The cumulative appearance frequency distribution measurement unit accumulates the appearance frequency of each symbol value in ascending order from an arbitrary symbol value (for example, the smallest symbol value), and the accumulated value becomes a value closest to the target cumulative value. The loop processing for obtaining the number of bits Li required to encode and represent the symbol value for which the cumulative value is to be obtained is repeated until a predetermined condition is satisfied, and the number of iterations k and each of the loop processing are obtained. The number of bits Li (i = 1, 2,..., K) may be generated as the encoding table information.

このとき,上記外部から入力された一定個数のシンボルの最大値を検出する最大値検出部を備え,上記累積出現頻度分布計測部は,上記検出されたシンボルの最大値が上記所定の条件を満たすまで,上記ループ処理を繰り返してもよい。   At this time, a maximum value detecting unit for detecting a maximum value of a certain number of symbols input from the outside is provided, and the cumulative appearance frequency distribution measuring unit is configured such that the maximum value of the detected symbols satisfies the predetermined condition. Up to this point, the above loop processing may be repeated.

また,このとき使用される目標累積値は,ループ処理を繰り返す毎に小さくなる値であってもよい。   In addition, the target cumulative value used at this time may be a value that decreases each time the loop processing is repeated.

また,上記符号化テーブル情報は,各シンボル値に対応して2のべき乗毎に変化する上記符号語長を表すために,2のべき乗毎に生成される情報であってもよい。   Further, the coding table information may be information generated for every power of 2 in order to represent the code word length that changes for every power of 2 corresponding to each symbol value.

さらに,上記符号化部は,上記符号化テーブル情報を次のB(1)〜B(4)の方法にて示した条件式に当てはめることにより上記各シンボルをそれぞれ符号化してもよい。   Further, the encoding unit may encode the symbols by applying the encoding table information to the conditional expressions shown by the following methods B (1) to B (4).

すなわち,B(1)〜B(4)の具体的方法は,以下のとおりである。
B(1) k=1の場合,シンボルXを単に2進数表現したものを符号語とする。
B(2) k>1の場合,まず,以下のどの範囲にあるかを判定し,iを特定する。
i−1
Σ 2Lj 〜 Σ 2Lj−1
j=1 j=1
B(3) 次の値X’を求める。
i−1
X’=X−Σ 2Lj+1
j=1
B(4) i<kの場合,X’をLビットの2進数表現したものの先頭に,1(i−1)0(1をi−1個連続させた後に0を付加したもの)を付加したものを符号語とする。また,i=kの場合,X’をLビットの2進数表現したものの先頭に,1k−1(1をk−1個連続させたもの)を付加したものを符号語とする。
That is, specific methods of B (1) to B (4) are as follows.
B (1) When k = 1, a code word is simply a binary representation of the symbol X.
B (2) When k> 1, first, the following range is determined and i is specified.
i-1 i
Σ 2 Lj to Σ 2 Lj −1
j = 1 j = 1
B (3) The next value X ′ is obtained.
i-1
X ′ = X−Σ 2 Lj + 1
j = 1
B (4) If i <k, 1 (i−1) 0 ( i.e. , 1 after adding 1 after adding 1 to 1) is added to the beginning of the binary representation of X ′ with L i bits. The added word is a code word. In addition, when i = k, a code word is obtained by adding 1 k−1 (k−1 consecutive 1s) to the beginning of X ′ representing L k bits in a binary number.

また,上記各シンボル値は,0以上の正の値であってもよい。圧縮しようとするデータのシンボルの出現確率に次のような特殊性がある場合を考える。たとえば,温度や湿度,ビルに生じている細かい揺れなどの物理的環境計測値は連続値をとると考えられ,それをある周波数でサンプリングする場合を考える。具体的には,ビルに生じている細かい揺れを1秒おきに計測するような場合である。このような計測値は,時系列的に一つ前の計測値との差分をとると,0に近い値に集中することが予想できる。このような差分値の絶対値(すなわち,0以上の正の値)を一つのシンボルと考えると,「0に近い値ほど出現確率が高い」と考えられ,従来必要であった符号化テーブル情報のうちの「出現確率順に並べたシンボル情報」を「値の小さい順に並べたもの」と置き換えることができる。   Each symbol value may be a positive value of 0 or more. Consider a case where the appearance probability of a symbol of data to be compressed has the following specialities. For example, physical environment measurement values such as temperature, humidity, and small shaking generated in a building are considered to be continuous values, and the case of sampling at a certain frequency is considered. Specifically, this is a case where a minute shaking generated in a building is measured every second. Such measurement values can be expected to concentrate on a value close to 0 when taking a difference from the previous measurement value in time series. When such an absolute value of difference values (that is, a positive value of 0 or more) is considered as one symbol, it is considered that “appearance probability is higher as the value is closer to 0”, and coding table information that has been necessary in the past. Of these, “symbol information arranged in the order of appearance probability” can be replaced with “arranged in ascending order of value”.

さらに,符号語長がLである符号語数をLまたは符号化テーブルにある他の符号語長から算出できるようにすると,符号化テーブル情報のうちの「各符号長の符号語の個数を示す情報」は,符号化テーブルを構成する符号語で使用されている符号語長を列挙するだけでよい。この結果,符号化テーブル情報の情報量を従来の符号化テーブル情報の情報量より大幅に少なくすることができる。   Further, if the number of codewords having a codeword length of L can be calculated from L or another codeword length in the encoding table, “information indicating the number of codewords of each code length” in the encoding table information. "Only needs to list the codeword lengths used in the codewords constituting the encoding table. As a result, the information amount of the encoding table information can be significantly reduced from the information amount of the conventional encoding table information.

さらに,上記データ符号化装置は,上記生成された符号化テーブル情報を保持する符号化テーブル情報保持部を備え,上記符号化部は,外部から新たに入力される1または2以上のシンボルを上記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化するようにしてもよい。   Furthermore, the data encoding device includes an encoding table information holding unit that holds the generated encoding table information, and the encoding unit receives one or more newly input symbols from the outside. You may make it encode using the encoding table information hold | maintained at the encoding table information holding part.

そして,さらに,上記データ符号化装置は,今回外部から新たに入力された1または2以上のシンボルを含む一定個数のシンボルの各シンボル値の出現頻度をシンボル値毎に記憶する記憶部を備え,上記累積出現頻度分布計測部は,上記記憶部に記憶された各シンボル値の出現頻度を算出し,上記算出された各シンボルの出現頻度の累積値と上記目標累積値とに基づいて符号化テーブル情報を生成し,上記符号化テーブル情報保持部は,上記生成された符号化テーブル情報を保持し,上記符号化部は,次回,外部から新たに入力される1または2以上のシンボルを上記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化するようにしてもよい。   The data encoding device further includes a storage unit that stores, for each symbol value, the appearance frequency of each symbol value of a certain number of symbols including one or more newly input symbols from the outside this time, The cumulative appearance frequency distribution measuring unit calculates an appearance frequency of each symbol value stored in the storage unit, and encodes a coding table based on the calculated cumulative value of the appearance frequency of each symbol and the target cumulative value. The coding table information holding unit holds the generated coding table information, and the coding unit stores one or more newly input symbols from the outside next time as the code. Encoding may be performed using the encoding table information held in the encoding table information holding unit.

これによれば,符号化しようとするシンボルよりも前のW個のシンボル(たとえば,最新に入力されたW個のシンボル)から符号化テーブル情報が生成される。これにより,データ符号化装置にて符号化されたデータを復号するデータ復号装置においても,すでに復号したシンボルから符号化テーブル情報を生成することができる。このため,データ符号化装置は,最初に一回のみ,符号化テーブル情報をデータ復号装置に送信するだけで,その後,データ復号装置に送信される符号化データに符号化テーブル情報を含める必要がなくなる。この結果,データ符号化装置のオーバーヘッドを小さくすることができる。なお,上記外部から新たに入力する1または2以上のシンボルの個数は,一定個数であってもよい。   According to this, encoding table information is generated from W symbols preceding the symbol to be encoded (for example, W symbols inputted most recently). Thereby, also in the data decoding apparatus which decodes the data encoded by the data encoding apparatus, the encoding table information can be generated from the already decoded symbols. For this reason, the data encoding apparatus needs to include the encoding table information in the encoded data transmitted to the data decoding apparatus after that, only by transmitting the encoding table information to the data decoding apparatus only once at the beginning. Disappear. As a result, the overhead of the data encoding device can be reduced. Note that the number of one or more symbols newly input from the outside may be a fixed number.

さらに,上記記憶部は,上記各シンボル値の出現頻度をシンボル値毎に記憶する代わりに,最小のシンボル値から順に各シンボル値を2のべき乗(2:i=0,1,2,・・)毎に区切り,その区切り内の各シンボル値の出現頻度を区切り毎に累積し,その累積値をそれぞれ記憶するようにしてもよい。 Furthermore, instead of storing the appearance frequency of each symbol value for each symbol value, the storage unit sequentially sets each symbol value to a power of 2 (2 i : i = 0, 1, 2,. -) May be divided every time, the frequency of appearance of each symbol value in the division may be accumulated for each division, and the accumulated value may be stored.

これによれば,シンボル値の出現頻度をシンボル値毎に記憶するメモリ領域を小さくすることができる。また,上記累積出現頻度分布計測部が行うループ処理の繰り返し回数が少なくなるため,CPUの負荷を軽減することができる。   According to this, the memory area for storing the appearance frequency of the symbol value for each symbol value can be reduced. In addition, since the number of repetitions of the loop processing performed by the cumulative appearance frequency distribution measuring unit is reduced, the load on the CPU can be reduced.

また,本発明の他の観点によれば,シンボルが符号化された符号語を復号するデータ復号装置であって,データ符号化装置から送信された一定個数の符号語とその各符号語の符号語長に関連した情報を示す符号化テーブル情報とを入力し,入力された符号化テーブル情報を用いて上記入力された各符号語を各シンボルにそれぞれ復号する復号部を備えることを特徴とするデータ復号装置が提供される。   According to another aspect of the present invention, there is provided a data decoding apparatus for decoding a codeword in which symbols are encoded, and a predetermined number of codewords transmitted from the data encoding apparatus and codes of the respective codewords And a decoding unit that inputs encoding table information indicating information related to word length and decodes each of the input codewords into each symbol using the input encoding table information. A data decoding device is provided.

これによれば,入力された符号化テーブル情報は,一定個数の符号語とその各符号語の符号語長に関連した情報であり,従来含まれていた「出現確率順に並べたシンボル情報」を含まない。これにより,非常にコンパクトな情報量となった符号化テーブル情報をデータ符号化装置から受信し,受信した符号化テーブル情報を用いて,入力された各符号語を各シンボルにそれぞれ復号することができる。   According to this, the input coding table information is information related to a certain number of code words and the code word length of each code word, and the previously included “symbol information arranged in order of appearance probability” is included. Not included. As a result, it is possible to receive the encoding table information having a very compact amount of information from the data encoding device, and to decode each input codeword into each symbol using the received encoding table information. it can.

上記復号部は,上記入力された符号化テーブル情報を用いて上記入力された符号語からシンボルの復号に必要な部分を抽出し,その抽出した部分と上記符号化テーブル情報とを用いて上記各符号語を各シンボルにそれぞれ復号してもよい。   The decoding unit extracts a part necessary for decoding a symbol from the input codeword using the input encoding table information, and uses the extracted part and the encoding table information to extract each part described above. The codeword may be decoded into each symbol.

または,上記データ復号装置は,上記符号化テーブル情報を保持する符号化テーブル情報保持部と,今回,データ符号化装置から新たに送信された1または2以上のシンボルを含む一定個数のシンボル(たとえば,送信された一定個数の最新シンボルをいう。)の各シンボル値の出現頻度を記憶する記憶部と,を備え,上記累積出現頻度分布計測部は,上記記憶部に記憶された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて新たな符号化テーブル情報を生成し,上記符号化テーブル情報保持部は,上記生成された新たな符号化テーブル情報を保持し,上記復号部は,次回,データ符号化装置から新たに送信される符号語を上記保持された符号化テーブル情報を用いて,シンボルに復号するようにしてもよい。   Alternatively, the data decoding device includes a coding table information holding unit that holds the coding table information, and a fixed number of symbols (for example, one or more symbols newly transmitted from the data coding device this time (for example, A storage unit that stores the appearance frequency of each symbol value), and the cumulative appearance frequency distribution measurement unit stores each symbol value stored in the storage unit. Based on the cumulative value of the appearance frequency and a predetermined target cumulative value, new encoding table information is generated, and the encoding table information holding unit holds the generated new encoding table information, The decoding unit may decode a codeword newly transmitted from the data encoding device next time into a symbol using the held encoding table information.

さらに,上記データ復号装置は,上記符号化テーブル情報を保持する符号化テーブル情報保持部を備え,上記累積出現頻度分布計測部は,今回,データ符号化装置から新たに送信された一定個数のシンボルの各シンボル値の出現頻度を算出し,上記算出された各シンボル値の出現頻度の累積値と上記目標累積値とに基づいて新たな符号化テーブル情報を生成し,上記符号化テーブル情報保持部は,上記生成された新たな符号化テーブル情報を保持し,上記復号部は,次回,データ符号化装置から新たに送信される符号語を上記保持された符号化テーブル情報を用いてシンボルに復号するようにしてもよい。   Further, the data decoding device includes an encoding table information holding unit for holding the coding table information, and the cumulative appearance frequency distribution measuring unit is configured to receive a certain number of symbols newly transmitted from the data encoding device this time. The frequency of appearance of each symbol value is calculated, new coding table information is generated based on the calculated cumulative value of the appearance frequency of each symbol value and the target cumulative value, and the coding table information holding unit Holds the generated new encoding table information, and the decoding unit decodes a codeword newly transmitted from the data encoding device next time into a symbol using the held encoding table information. You may make it do.

これによれば,符号化しようとするシンボルよりも前のW個のシンボルから符号化テーブル情報が生成される。これにより,データ符号化装置にて符号化されたデータを復号するデータ復号装置においても,すでに復号したシンボルから符号化テーブル情報を生成することができる。このため,データ符号化装置から符号化テーブル情報を最初に一回のみ受信するだけでよくなる。この結果,上記復号部は,初回の復号処理では,データ符号化装置から一定個数の符号語と符号化テーブル情報とを送信され,その送信された符号化テーブル情報を用いて上記送信された各符号語を各シンボルにそれぞれ復号し,次回以降の復号処理では,データ符号化装置から1または2以上の符号語のみが送信され,その送信された各符号語を上記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて各シンボルにそれぞれ復号することができる。   According to this, encoding table information is generated from W symbols preceding the symbol to be encoded. Thereby, also in the data decoding apparatus which decodes the data encoded by the data encoding apparatus, the encoding table information can be generated from the already decoded symbols. For this reason, it is only necessary to receive the encoding table information from the data encoding device only once at the beginning. As a result, in the first decoding process, the decoding unit transmits a fixed number of code words and encoding table information from the data encoding device, and uses the transmitted encoding table information to transmit each of the transmitted The codeword is decoded into each symbol, and in the subsequent decoding process, only one or two or more codewords are transmitted from the data encoding apparatus, and each transmitted codeword is sent to the encoding table information holding unit. Each symbol can be decoded using the held coding table information.

また,上記記憶部は,上記各シンボル値の出現頻度をシンボル毎に記憶する代わりに,最小のシンボル値から順に各シンボル値を2のべき乗毎に区切り,その区切り内の各シンボル値の出現頻度を累積し,その累積値をそれぞれ記憶してもよい。   In addition, instead of storing the appearance frequency of each symbol value for each symbol, the storage unit delimits each symbol value in powers of 2 in order from the smallest symbol value, and the appearance frequency of each symbol value within the division May be accumulated, and the accumulated values may be stored respectively.

これによれば,シンボル値の出現頻度をシンボル値毎に記憶するメモリ領域を小さくすることができる。また,上記累積出現頻度分布計測部が行うループ処理の繰り返し回数が少なくなるため,CPUの負荷を軽減することができる。   According to this, the memory area for storing the appearance frequency of the symbol value for each symbol value can be reduced. In addition, since the number of repetitions of the loop processing performed by the cumulative appearance frequency distribution measuring unit is reduced, the load on the CPU can be reduced.

また,本発明の他の観点によれば,シンボルを符号化するデータ符号化方法であって,外部から入力された一定個数のシンボルの各シンボル値の出現頻度を算出し,上記算出された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて,各シンボルが符号化された符号語の符号語長に関連した情報を符号化テーブル情報として生成し,上記生成された符号化テーブル情報を用いて上記各シンボルをそれぞれ符号化することを特徴とするデータ符号化方法が提供される。   According to another aspect of the present invention, there is provided a data encoding method for encoding a symbol, calculating an appearance frequency of each symbol value of a fixed number of symbols input from the outside, and calculating each of the calculated values Based on the cumulative value of the appearance frequency of the symbol value and a predetermined target cumulative value, information related to the codeword length of the codeword in which each symbol is encoded is generated as the encoding table information, and is generated as described above. There is provided a data encoding method characterized by encoding each symbol using the encoding table information.

また,本発明の他の観点によれば,シンボルが符号化された符号語を復号するデータ復号方法であって,データ符号化装置から送信された一定個数の符号語とその各符号語の符号語長に関連した情報を示す符号化テーブル情報とを入力し,その入力された符号化テーブル情報を用いて上記入力された各符号語を各シンボルにそれぞれ復号することを特徴とするデータ復号方法が提供される。   According to another aspect of the present invention, there is provided a data decoding method for decoding a codeword in which a symbol is encoded, and a predetermined number of codewords transmitted from a data encoding device and codes of the respective codewords Data decoding method characterized by inputting coding table information indicating information related to word length and decoding each inputted code word into each symbol using the inputted coding table information Is provided.

以上説明したように,本発明によれば,情報量を低減させた符号化テーブル情報を生成するデータ符号化装置,その符号化テーブル情報を用いてデータを復号するデータ復号装置およびそれらの方法を提供することができる。   As described above, according to the present invention, a data encoding apparatus that generates encoding table information with a reduced amount of information, a data decoding apparatus that decodes data using the encoding table information, and methods thereof are provided. Can be provided.

以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the present specification and drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and redundant description is omitted.

(第1実施形態)
まず,本発明の第1実施形態にかかるデータ符号化装置およびデータ復号装置の各構成について,図1および図2にそれぞれ示した構成図を参照しながら説明する。なお,データ符号化装置とデータ復号装置とは,図示しないネットワークにて接続されている。
(First embodiment)
First, each configuration of the data encoding device and the data decoding device according to the first embodiment of the present invention will be described with reference to the configuration diagrams shown in FIGS. 1 and 2, respectively. The data encoding device and the data decoding device are connected via a network (not shown).

(データ符号化装置の構成)
図1に示したデータ符号化装置100(データ圧縮符号化装置)は,外部から入力されたデータのシンボル系列を圧縮符号化する。データ符号化装置100に入力されるシンボル系列は,たとえば,温度,湿度,ビルの微細な振動等の環境計測値の差分値(差分値の絶対値)のように,0以上の正の整数であって,0に近い値ほど多く出現するデータのシンボル系列である。データ符号化装置100は,そのようなシンボル系列のうち,あるW個のシンボル毎に各シンボル値の出現頻度や最大値を検出し,それをもとに符号化テーブル情報を生成し,その符号化テーブル情報を用いてそのW個のシンボルを符号化する。
(Configuration of data encoding device)
A data encoding apparatus 100 (data compression encoding apparatus) shown in FIG. 1 compresses and encodes a symbol sequence of data input from the outside. The symbol sequence input to the data encoding device 100 is a positive integer greater than or equal to 0, such as a difference value (absolute value of the difference value) of environmental measurement values such as temperature, humidity, and minute vibration of a building. A symbol series of data that appears more as the value is closer to 0. The data encoding apparatus 100 detects the appearance frequency and maximum value of each symbol value for each W symbols in such a symbol series, generates encoding table information based on the detected frequency, and generates the encoding table information. The W symbols are encoded using the encoding table information.

データ符号化装置100は,バッファ101と最大値検出部102と累積出現頻度分布計測部103と符号化部104とを含んで構成されている。バッファ101は,データ符号化装置100へ入力されるシンボル系列を入力し,そのうち,符号化テーブルを生成する際に必要となるW個のシンボル(データ)を保持する。また,バッファ101は,シンボルを符号化する際,保持してあるシンボル系列を符号化部104に出力する。なお,バッファ101は,データ符号化装置100の記憶部に相当する。   The data encoding apparatus 100 includes a buffer 101, a maximum value detection unit 102, a cumulative appearance frequency distribution measurement unit 103, and an encoding unit 104. The buffer 101 receives a symbol sequence input to the data encoding apparatus 100, and holds W symbols (data) necessary for generating an encoding table. Further, the buffer 101 outputs the held symbol series to the encoding unit 104 when encoding the symbols. The buffer 101 corresponds to a storage unit of the data encoding device 100.

最大値検出部102は,W個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値(最大値)を累積出現頻度分布計測部103に出力する。累積出現頻度分布計測部103は,W個のシンボルを観測するとともに,最大値検出部102から出力される最大値を用いて,累積出現頻度分布を以下のA(1)〜A(4)の方法にて算出し,その結果得られるk,および,L(i=1,2,…,k)を符号化テーブル情報として符号化部104に出力する。 The maximum value detection unit 102 detects the symbol having the maximum value among the W symbols, and outputs the symbol value (maximum value) to the cumulative appearance frequency distribution measurement unit 103. The cumulative appearance frequency distribution measurement unit 103 observes W symbols and uses the maximum value output from the maximum value detection unit 102 to calculate a cumulative appearance frequency distribution of the following A (1) to A (4). K and L i (i = 1, 2,..., K) obtained as a result of the calculation are output to the encoding unit 104 as encoding table information.

A(1)〜A(4)の方法は,以下のとおりである。
A(1) k=1,C=0とする。
A(2) 出現頻度(出現回数)をシンボルCから順に累積し,その累積値がW/2に一番近いところになったシンボルXを求める。
A(3) (X−C+1)の値を表すのに必要なビット数Lを求める。
A(4) 最大値がCからC+2Lk−1の間に入っていたら終了する。そうでなければ,C+2Lkにて求められた値をCに設定し,kを1増やしてA(2)に戻る。
The methods A (1) to A (4) are as follows.
A (1) k = 1 and C = 0.
A (2) The appearance frequency (number of appearances) is accumulated in order from the symbol C, and the symbol X whose accumulated value is closest to W / 2k is obtained .
A (3) The number of bits L k necessary to represent the value of (X−C + 1) is obtained .
A (4) When the maximum value is between C and C + 2 Lk −1, the process is terminated. Otherwise, set the value obtained by C + 2 Lk to C, increase k by 1, and return to A (2).

以上の方法を実行すると,図6の表にある関係をもつ符号化テーブル情報k,L(i=1,2,…,k)が求められる。A(1)〜A(4)を用いた具体的処理については,後述する。 When the above method is executed, encoding table information k, L i (i = 1, 2,..., K) having the relationship shown in the table of FIG. 6 is obtained. Specific processing using A (1) to A (4) will be described later.

符号化部104は,累積出現頻度分布計測部103から受け取った符号化テーブル情報k,L(i=1,2,…,k)を用いて,バッファ101より受け取ったシンボルを次のようなB(1)〜B(4)工程で圧縮符号化し,圧縮符号化した系列を出力する。
B(1) k=1の場合,シンボルXを単に2進数表現したものを符号語とする。
B(2) k>1の場合,まず,以下のどの範囲にあるかを判定し,iを特定する。
i−1
Σ 2Lj 〜 Σ 2Lj−1
j=1 j=1
B(3) 次の値X’を求める。
i−1
X’=X−Σ 2Lj+1
j=1
B(4) i<kの場合,X’をLビットの2進数表現したものの先頭に,1(i−1)0(1をi−1個連続させた後に0を付加したもの)を付加したものを符号語とする。また,i=kの場合,X’をLビットの2進数表現したものの先頭に,1k−1(1をk−1個連続させたもの)を付加したものを符号語とする。
The encoding unit 104 uses the encoding table information k, L i (i = 1, 2,..., K) received from the cumulative appearance frequency distribution measurement unit 103 to convert the symbol received from the buffer 101 as follows. Compression encoding is performed in steps B (1) to B (4), and the compression encoded sequence is output.
B (1) When k = 1, a code word is simply a binary representation of the symbol X.
B (2) When k> 1, first, the following range is determined and i is specified.
i-1 i
Σ 2 Lj to Σ 2 Lj −1
j = 1 j = 1
B (3) The next value X ′ is obtained.
i-1
X ′ = X−Σ 2 Lj + 1
j = 1
B (4) If i <k, 1 (i−1) 0 ( i.e. , 1 after adding 1 after adding 1 to 1) is added to the beginning of the binary representation of X ′ with L i bits. The added word is a code word. In addition, when i = k, a code word is obtained by adding 1 k−1 (k−1 consecutive 1s) to the beginning of X ′ representing L k bits in a binary number.

データ符号化装置100は,このようにしてシンボル(データ)を圧縮符号化するようになっている。   In this way, the data encoding device 100 compresses and encodes symbols (data).

(データ復号装置の構成)
図2に示したデータ復号装置200(データ伸張復号装置)は,データ符号化装置100にて圧縮符号化されたデータを伸張復号する。データ復号装置200は,復号部201を含んで構成されている。復号部201は,符号化データ(符号化テーブル情報(k,および,L(i=1,2,…,k))および符号化したシンボル系列)とを受け取り,符号化テーブル情報を参照しながら,符号化したシンボル系列から符号語を取り出し,対応するシンボルに変換して出力する。
(Configuration of data decoding device)
The data decoding device 200 (data decompression decoding device) shown in FIG. 2 decompresses and decodes the data compressed and encoded by the data encoding device 100. The data decoding device 200 is configured to include a decoding unit 201. The decoding unit 201 receives encoded data (encoding table information (k, and L i (i = 1, 2,..., K)) and an encoded symbol sequence), and refers to the encoding table information. However, a code word is extracted from the encoded symbol sequence, converted into a corresponding symbol, and output.

具体的には,次のようなC(1)〜C(3)工程で,シンボルの復号に必要な部分の符号語を切り出してシンボルXに変換する。
C(1) k=1の場合,符号語長Lで,シンボルの復号に必要な部分の符号語を切り出し,それがシンボルの2進数表現になっているとして,シンボルに戻す。
C(2) k>1の場合,先頭ビットが1(i−1)0(i=1,2,…,k−1)であるとき,その1(i−1)0(i=1,2,…,k−1)より後ろを符号語長Lで,シンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。また,先頭ビットが1k−1であるとき,そのより後ろを符号語長Lで,シンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。
C(3) 次の値Xを算出し復号するシンボルとする。
i−1
X=X’+Σ 2Lj +1
j=1
Specifically, a codeword of a portion necessary for symbol decoding is cut out and converted into a symbol X in the following steps C (1) to C (3).
For C (1) k = 1, at the codeword length L 1, cut codeword portions necessary for decoding of the symbol, as it is a binary representation of the symbols back to the symbol.
When C (2) k> 1, when the first bit is 1 (i−1) 0 (i = 1, 2,..., K−1), 1 (i−1) 0 (i = 1, 2,..., K-1) is followed by a codeword length Li , and a codeword of a part necessary for symbol decoding is cut out, and a numerical value expressed as a binary representation is set as X '. When the first bit is 1 k−1 , the code word length L k is followed by a part of the code word necessary for decoding the symbol, and a numerical value represented as a binary representation is expressed as X ′ far.
C (3) The next value X is calculated and used as a symbol to be decoded.
i-1
X = X ′ + Σ 2 Lj + 1
j = 1

データ復号装置200は,このようにしてデータ符号化装置100により圧縮符号化されたデータを伸張復号するようになっている。   The data decoding apparatus 200 is configured to decompress and decode the data compressed and encoded by the data encoding apparatus 100 in this way.

なお,データ符号化装置100およびデータ復号装置200は,それぞれ,図示しないCPU,ROMおよびインターフェース等をそれぞれ備えていて,各ROMには,各装置の各機能を実行するためのプログラムや各種データがそれぞれ記憶されている。また,各CPUは,バッファに保持されたシンボルに関する情報や,各ROMに記憶された各プログラムを実行することにより各装置の機能を達成するようになっている。   Each of the data encoding device 100 and the data decoding device 200 includes a CPU, a ROM, an interface, and the like (not shown), and each ROM stores a program and various data for executing each function of each device. Each is remembered. Each CPU achieves the function of each device by executing information about symbols held in the buffer and each program stored in each ROM.

(データ符号化装置100の動作)
つぎに,データ符号化装置100が,図3のシンボル列のうちW個のシンボル(X〜X)を入力し,それらのシンボルに対して実行する圧縮符号化処理について,図4のフローチャートを参照しながら説明する。
(Operation of Data Encoding Device 100)
Next, the data encoding apparatus 100 inputs W symbols (X 1 to X w ) in the symbol sequence of FIG. 3 and performs compression encoding processing to be executed on these symbols in the flowchart of FIG. Will be described with reference to FIG.

まず,データ符号化装置100のCPUは,ステップS400から処理を開始し,ステップS401に進んで,圧縮符号化すべきシンボルがあるかどうかを判定する。この時点で,図3のW個のシンボル(X〜X)がある場合,CPUは,ステップS401にて「Yes」と判定し,ステップS402に進んで,W個のシンボルをバッファ101に読み込む。なお,圧縮符号化すべきシンボルがW個よりも少ない場合には,以降のステップでのWをその個数とする。以下の説明では,Wを「1000」個として説明する。 First, the CPU of the data encoding apparatus 100 starts processing from step S400, proceeds to step S401, and determines whether there is a symbol to be compression encoded. At this point, if there are W symbols (X 1 to X w ) in FIG. 3, the CPU determines “Yes” in step S 401, proceeds to step S 402, and stores the W symbols in the buffer 101. Read. When the number of symbols to be compression-encoded is less than W, W in the subsequent steps is the number. In the following description, W is assumed to be “1000”.

つぎに,CPUは,ステップS403に進み,読み込んだ各シンボルの出現回数を求める。ここでは,説明を簡略化するため,図5に示したように,シンボルCの値は,「0」,「1」,「2」,「3」,「4」,「5」,「6」のいずれかとする。また,ステップS403を実行した結果,各シンボルの出現個数SUM(C)は,SUM(0)=400,SUM(1)=300,SUM(2)=150,SUM(3)=100,SUM(4)=30,SUM(5)=10,SUM(6)=10であったとする。なお,各シンボル値の出現個数SUMは,各シンボル値の出現頻度の一例である。   Next, the CPU proceeds to step S403 and obtains the number of appearances of each read symbol. Here, in order to simplify the description, as shown in FIG. 5, the value of the symbol C is “0”, “1”, “2”, “3”, “4”, “5”, “6”. ”. As a result of executing step S403, the number of appearances SUM (C) of each symbol is SUM (0) = 400, SUM (1) = 300, SUM (2) = 150, SUM (3) = 100, SUM ( 4) = 30, SUM (5) = 10, SUM (6) = 10. The appearance number SUM of each symbol value is an example of the appearance frequency of each symbol value.

つぎに,CPU(最大値検出部102)は,図4のステップS404に進み,読み込んだ1000個のシンボルの最大値をCmaxに設定する。ここでは,読み込んだシンボルの最大値は「6」である。そこで,CPU(最大値検出部102)は,Cmaxに「6」を設定し,ステップS405に進む。   Next, the CPU (maximum value detection unit 102) proceeds to step S404 in FIG. 4, and sets the maximum value of the read 1000 symbols to Cmax. Here, the maximum value of the read symbol is “6”. Therefore, the CPU (maximum value detection unit 102) sets “6” to Cmax, and proceeds to step S405.

つぎに,CPU(累積出現頻度分布計測部103)は,ステップS405にて,初期設定として,kに「1」,Cに「0」を設定する。これは,上述したA(1)に相当する。つぎに,CPU(累積出現頻度分布計測部103)は,ステップS406に進んで,出現回数をシンボルC(この時点ではシンボルの最小値であるシンボル0の出現個数)から順に累積し,累積値ACがW/2に一番近いところになったシンボルXを求める。これは,上述したA(2)に相当する。なお,W/2は,予め定められた目標累積値の一例であり,A(2)〜A(4)のループ処理を繰り返す毎に小さくなる値である。 Next, the CPU (cumulative appearance frequency distribution measurement unit 103) sets “1” to k and “0” to C as initial settings in step S405. This corresponds to A (1) described above. Next, the CPU (cumulative appearance frequency distribution measuring unit 103) proceeds to step S406, accumulates the number of appearances in order from the symbol C (the number of occurrences of the symbol 0, which is the minimum value of the symbol at this time), and the accumulated value AC. but finding a symbol X, which has become the place closest to the W / 2 k. This corresponds to A (2) described above. Note that W / 2k is an example of a predetermined target cumulative value, and is a value that decreases as the loop processing of A (2) to A (4) is repeated.

具体的には,図5に示したように,SUM(0)の値(累積値AC)は400,SUM(0)〜SUM(1)の累積値ACは700である。そこで,CPU(累積出現頻度分布計測部103)は,累積値ACがW/2(=500)に一番近いところになったシンボルをシンボル0と定め,Xに「0」の値を代入する。 Specifically, as shown in FIG. 5, the value of SUM (0) (cumulative value AC) is 400, and the cumulative value AC of SUM (0) to SUM (1) is 700. Therefore, the CPU (cumulative appearance frequency distribution measuring unit 103) determines the symbol whose accumulated value AC is closest to W / 2 k (= 500) as symbol 0 and substitutes a value of “0” for X. To do.

ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1)の値を表すのに必要なビット数をLに設定する。これは,上述したA(3)に相当する。この時点で,X−C+1=0−0+1=1となる。この値「1」を表すのに必要なビット数は1ビットであるから,CPU(累積出現頻度分布計測部103)は,L(=L)に「1」の値を設定する。 Next, the CPU (cumulative appearance frequency distribution measurement unit 103) proceeds to step S407, and sets the number of bits necessary to represent the value of (X−C + 1) to L k . This corresponds to A (3) described above. At this time, X−C + 1 = 0−0 + 1 = 1. Since the number of bits necessary to represent this value “1” is one bit, the CPU (cumulative appearance frequency distribution measurement unit 103) sets a value of “1” to L k (= L 1 ).

つぎに,CPU(累積出現頻度分布計測部103)は,ステップS408に進み,ステップS404で検出した最大値Cmaxが,ステップS407で算出したL(i=1,2,…,k)から求めた以下の範囲,
k−1
Σ2Lj 〜 Σ2Lj−1
j=1 j=1
に入っているかどうかを判定する。すなわち,CPU(累積出現頻度分布計測部103)は,最大値Cmaxが,C≦Cmax≦C+2Lk−1の条件を満たすか否かを判定する。これは,上述したA(4)に相当する。
Next, the CPU (cumulative appearance frequency distribution measuring unit 103) proceeds to step S408, and the maximum value Cmax detected in step S404 is obtained from L i (i = 1, 2,..., K) calculated in step S407. The following range,
k-1 k
Σ2 Lj to Σ2 Lj −1
j = 1 j = 1
It is determined whether it is in. That is, the CPU (cumulative appearance frequency distribution measurement unit 103) determines whether or not the maximum value Cmax satisfies the condition of C ≦ Cmax ≦ C + 2 Lk −1. This corresponds to A (4) described above.

この時点で,C=0,L(=L)=1である。これらの値を上記条件に代入すると,C(=0)≦Cmax(=6)の要件は満足するが,Cmax(=6)>C+2Lk−1(=0+2−1=1)となり,Cmax≦C+2Lk−1の条件は満たさない。そこで,CPU(累積出現頻度分布計測部103)は,ステップS408にて「No」と判定して,ステップS409に進み,C+2L1(=0+2)の値「2」をCに設定するとともに,kを1増やして(すなわち,k=2),ステップS406に戻る。このようにして,1回目のループを終了した結果,符号化テーブル情報としてL=1が求められた。 At this point, C = 0 and L k (= L 1 ) = 1. Substituting these values into the above conditions satisfies the requirement of C (= 0) ≦ Cmax (= 6), but Cmax (= 6)> C + 2 Lk −1 (= 0 + 2-1 = 1), and Cmax ≦ The condition of C + 2 Lk −1 is not satisfied. Therefore, the CPU (cumulative appearance frequency distribution measuring unit 103) determines “No” in step S408, proceeds to step S409, sets the value “2” of C + 2 L1 (= 0 + 2 1 ) to C, k is incremented by 1 (ie, k = 2), and the process returns to step S406. Thus, as a result of completing the first loop, L 1 = 1 was obtained as the encoding table information.

つぎに,CPU(累積出現頻度分布計測部103)は,ステップS406にて,出現回数をシンボルC(この時点ではシンボル2の出現個数)から順に累積し,累積値ACがW/2に一番近いところになったシンボルXを求める。具体的には,図5に示したように,SUM(2)の値(累積値AC)は150,SUM(2)〜SUM(3)の累積値ACは250,SUM(2)〜SUM(4)の累積値ACは280である。そこで,CPU(累積出現頻度分布計測部103)は,累積値ACがW/2(=250)に一番近いところになったシンボルをシンボル3(すなわち,X=3)と定める。 Next, in step S406, the CPU (cumulative appearance frequency distribution measuring unit 103) accumulates the number of appearances in order from the symbol C (the number of occurrences of symbol 2 at this time), and the accumulated value AC is reduced to W / 2k . Find the nearest symbol X. Specifically, as shown in FIG. 5, the value (cumulative value AC) of SUM (2) is 150, the cumulative value AC of SUM (2) to SUM (3) is 250, SUM (2) to SUM ( The cumulative value AC of 4) is 280. Therefore, the CPU (cumulative appearance frequency distribution measuring unit 103) determines the symbol whose cumulative value AC is closest to W / 2 k (= 250) as symbol 3 (that is, X = 3).

ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1(=3−2+1))の値「2」を表すのに必要なビット数「1」をL(=L)に設定する。 Next, the CPU (cumulative appearance frequency distribution measurement unit 103) proceeds to step S407 and sets the number of bits “1” necessary to represent the value “2” of (X−C + 1 (= 3−2 + 1)) to L k. Set to (= L 2 ).

つぎに,CPU(累積出現頻度分布計測部103)は,ステップS408に進み,最大値Cmaxが,C≦Cmax≦C+2Lk−1の条件を満たすか否かを判定する。この時点で,C=2,L=1である。これらの値を上記条件に代入すると,Cmax(=6)>C+2Lk−1(=2+2−1=3)となり,Cmax≦C+2Lk−1の条件は満たさない。そこで,CPU(累積出現頻度分布計測部103)は,ステップS408にて「No」と判定して,ステップS409に進み,C+2L2の値「4」をCに設定するとともに,kを1増やして(すなわち,k=3),ステップS406に戻る。このようにして,2回目のループを終了した結果,符号化テーブル情報としてL=1が求められた。 Next, the CPU (cumulative appearance frequency distribution measurement unit 103) proceeds to step S408, and determines whether or not the maximum value Cmax satisfies the condition of C ≦ Cmax ≦ C + 2 Lk −1. At this point, C = 2 and L 2 = 1. If these values are substituted into the above conditions, Cmax (= 6)> C + 2 Lk −1 (= 2 + 2-1 = 3), and the condition of Cmax ≦ C + 2 Lk −1 is not satisfied. Therefore, the CPU (cumulative appearance frequency distribution measurement unit 103) determines “No” in step S408, proceeds to step S409, sets the value “4” of C + 2 L2 to C, and increases k by one. (That is, k = 3), the process returns to step S406. In this way, as a result of completing the second loop, L 2 = 1 was obtained as the encoding table information.

つぎに,CPU(累積出現頻度分布計測部103)は,ステップS406にて,出現回数をシンボルC(この時点ではシンボル4の出現個数)から順に累積し,累積値ACがW/2に一番近いところになったシンボルXを求める。具体的には,図5に示したように,SUM(4)の値(累積値AC)は30,SUM(4)〜SUM(5)の累積値ACは40,SUM(4)〜SUM(6)の累積値ACは50である。そこで,CPU(累積出現頻度分布計測部103)は,累積値ACがW/2(=125)に一番近いところになったシンボルをシンボル6(すなわち,X=6)と定める。 Next, in step S406, the CPU (cumulative appearance frequency distribution measuring unit 103) accumulates the number of appearances in order from the symbol C (the number of occurrences of the symbol 4 at this time), and the accumulated value AC is reduced to W / 2k . Find the nearest symbol X. Specifically, as shown in FIG. 5, the value (cumulative value AC) of SUM (4) is 30, the cumulative value AC of SUM (4) to SUM (5) is 40, and SUM (4) to SUM ( The cumulative value AC of 6) is 50. Therefore, the CPU (cumulative appearance frequency distribution measurement unit 103) determines the symbol whose cumulative value AC is closest to W / 2 k (= 125) as symbol 6 (ie, X = 6).

ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1)の値「3」(=6−4+1)を表すのに必要なビット数「2」をL(=L)に設定する。 Next, the CPU (cumulative appearance frequency distribution measuring unit 103) proceeds to step S407 and sets the number of bits “2” necessary to represent the value “3” (= 6-4 + 1) of (X−C + 1) to L k. Set to (= L 3 ).

つぎに,CPU(累積出現頻度分布計測部103)は,ステップS408に進み,最大値Cmaxが,C≦Cmax≦C+2Lk−1の条件を満たすか否かを判定する。この時点で,C=4,L=2である。したがって,C(=4)≦Cmax(=6)≦C+2Lk−1(=4+4−1=7)となり,条件は満たされている。そこで,CPU(累積出現頻度分布計測部103)は,ステップS408にて「Yes」と判定して,ステップS410に進む。なお,3回目のループを終了した結果,符号化テーブル情報としてL=2が求められた。また,このようにして1〜3回のループ処理が実行された結果,k=3,L=1,L=1,L=2の値をもつ符号化テーブル情報が求められた。 Next, the CPU (cumulative appearance frequency distribution measurement unit 103) proceeds to step S408, and determines whether or not the maximum value Cmax satisfies the condition of C ≦ Cmax ≦ C + 2 Lk −1. At this point, C = 4 and L 2 = 2. Therefore, C (= 4) ≦ Cmax (= 6) ≦ C + 2 Lk −1 (= 4 + 4−1 = 7), and the condition is satisfied. Therefore, the CPU (cumulative appearance frequency distribution measurement unit 103) determines “Yes” in step S408, and proceeds to step S410. As a result of completing the third loop, L 3 = 2 was obtained as the encoding table information. In addition, as a result of executing the loop processing 1 to 3 times in this way, coding table information having values of k = 3, L 1 = 1, L 2 = 1, and L 3 = 2 was obtained.

CPU(符号化部104)は,ステップS410にて,符号化テーブル情報(k=3,L=1,L=1,L=2)を用いてW個のシンボルを符号化し,符号化されたW個のシンボルからなる系列と符号化テーブル情報とを符号化データとして出力する。符号化テーブル情報(k=3,L=1,L=1,L=2)を用いてW個のシンボルを符号化する具体的方法については後述する。 In step S410, the CPU (encoding unit 104) encodes W symbols using the encoding table information (k = 3, L 1 = 1, L 2 = 1, L 3 = 2). The encoded sequence of W symbols and encoding table information are output as encoded data. A specific method for encoding W symbols using the encoding table information (k = 3, L 1 = 1, L 2 = 1, L 3 = 2) will be described later.

ついで,CPUは,ステップS401に戻り,圧縮符号化すべきシンボルがあるか否かを判定する。この時点で,圧縮符号化すべきシンボルがなければ,CPUは,「No」と判定し,ステップS411に進んで本処理を終了する。   Next, the CPU returns to step S401 and determines whether there is a symbol to be compression encoded. At this time, if there is no symbol to be compression-encoded, the CPU makes a “No” determination, proceeds to step S411, and ends this processing.

(シンボルの圧縮符号化)
つぎに,CPU(符号化部104)が,ステップS410にて実行するシンボルの圧縮符号化の具体的方法B(1)〜B(4)について説明する。なお,図6の符号語(符号化されたシンボル)は,2値の符号語(0と1の系列からなる符号語)であり,1や0がm個連続するときは1や0と表記する。
(Compression coding of symbols)
Next, specific methods B (1) to B (4) of the symbol compression encoding performed by the CPU (encoding unit 104) in step S410 will be described. The codeword (encoded symbol) in FIG. 6 is a binary codeword (a codeword consisting of a sequence of 0 and 1). When m 1s or 0s continue, 1m or 0m Is written.

B(1) k=1の場合,シンボルXを単に2進数表現したものを符号語とする。上記処理では,符号化テーブル情報は,k=3,L=1,L=1,L=2である。したがって,k≠1であるので,この場合には,以下のB(2)〜B(4)によりシンボルXを符号語に変換する。
B(2) k>1の場合,まず,以下のどの範囲にあるかを判定し,iを特定する。
i−1
Σ 2Lj 〜 Σ 2Lj−1
j=1 j=1
B(3) 次の値X’を求める。
i−1
X’=X−Σ 2Lj+1
j=1
B(4) i<kの場合,X’をLビットの2進数表現したものの先頭に,1(i−1)0を付加したもの(1をi−1個連続させた後に0を付加したもの)を符号語とする。また,i=kの場合,X’をLビットの2進数表現したものの先頭に,1k−1(1をk−1個連続させたもの)を付加したものを符号語とする。
B (1) When k = 1, a code word is simply a binary representation of the symbol X. In the above process, the coding table information is k = 3, L 1 = 1, L 2 = 1, and L 3 = 2. Accordingly, since k ≠ 1, in this case, the symbol X is converted into a code word by the following B (2) to B (4).
B (2) When k> 1, first, the following range is determined and i is specified.
i-1 i
Σ 2 Lj to Σ 2 Lj −1
j = 1 j = 1
B (3) The next value X ′ is obtained.
i-1
X ′ = X−Σ 2 Lj + 1
j = 1
B (4) When i <k, 1 (i-1) 0 is added to the beginning of a binary representation of X 'with L i bits ( 0 is added after 1 consecutive 1s) Is a code word. In addition, when i = k, a code word is obtained by adding 1 k−1 (k−1 consecutive 1s) to the beginning of X ′ representing L k bits in a binary number.

この結果,図7に示したように,シンボルが0〜2L1−1(すなわち,0〜1)のとき,シンボル0に対する符号語が「00」と生成され,シンボル1に対する符号語が「01」と生成される。また,シンボルが2L1〜2L1+2L2−1(すなわち,2〜3)のとき,シンボル2に対する符号語が「100」と生成され,シンボル3に対する符号語が「101」と生成される。さらに,シンボルが2L1+2L2〜2L1+2L2+2L3−1(すなわち,4〜7)のとき,シンボル4に対する符号語が「11000」と生成され,シンボル5に対する符号語が「11001」と生成され,シンボル6に対する符号語が「11010」と生成される。なお,「11001」は欠番である。 As a result, as shown in FIG. 7, when the symbol is 0 to 2 L1 −1 (that is, 0 to 1), the code word for symbol 0 is generated as “00”, and the code word for symbol 1 is “01”. Is generated. When the symbol is 2 L1 to 2 L1 +2 L2 −1 (ie, 2 to 3), the code word for symbol 2 is generated as “100”, and the code word for symbol 3 is generated as “101”. Further, when the symbol is 2 L1 +2 L2 to 2 L1 +2 L2 +2 L3 −1 (ie, 4 to 7), the codeword for symbol 4 is generated as “11000”, and the codeword for symbol 5 is “11001”. The code word for symbol 6 is generated as “11010”. “11001” is a missing number.

このようにして,CPU(符号化部104)は,各シンボルを符号化し,符号化したシンボルの系列を符号化テーブル情報(k,L(i=1,2,…,k))すなわち,k=3,L=1,L=1,L=2とともに出力する。 In this way, the CPU (encoding unit 104) encodes each symbol, and encodes a sequence of encoded symbols into encoding table information (k, Li (i = 1, 2,..., K)), that is, Output with k = 3, L 1 = 1, L 2 = 1, L 3 = 2.

(シンボルの伸張復号)
つぎに,第1実施形態におけるデータ復号装置200の動作を説明する。データ復号装置200のCPU(復号部201)は,符号化テーブル情報(k=3,L=1,L=1,L=2)と符号化されたシンボルの系列を受け取り,次のC(1)〜C(3)の方法を用いて,符号化テーブル情報を参照しながら,符号化したシンボルの系列からシンボルの復号に必要な部分の符号語を取り出し,対応するシンボルに変換して出力する。
(Symbol expansion decoding)
Next, the operation of the data decoding apparatus 200 in the first embodiment will be described. The CPU (decoding unit 201) of the data decoding apparatus 200 receives the encoding table information (k = 3, L 1 = 1, L 2 = 1, L 3 = 2) and the sequence of encoded symbols, Using the methods C (1) to C (3), while referring to the coding table information, the codeword of the part necessary for decoding the symbol is extracted from the encoded symbol sequence and converted into the corresponding symbol. Output.

具体的には,つぎのような工程で符号語を切り出してシンボルXに変換する。
C(1) k=1の場合,符号語長Lで,シンボルの復号に必要な部分の符号語を切り出し,それがシンボルの2進数表現になっているとしてシンボルに戻す。
C(2) k>1の場合,先頭ビットが1(i−1)0(i=1,2,…,k−1)であるとき,その1(i−1)0(i=1,2,…,k−1)より後ろを符号語長Lで,シンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。また,先頭ビットが1k−1であるとき,そのより後ろを符号語長Lで,シンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。
C(3) 次の値Xを算出し復号するシンボルとする。
i−1
X=X’+Σ 2Lj +1
j=1
このような方法により,データ復号装置200は,図7に示した各符号語から各シンボルをそれぞれ復号する。
Specifically, the code word is cut out and converted to the symbol X in the following steps.
For C (1) k = 1, at the codeword length L 1, cut codeword portions necessary for decoding of the symbol, it is returned to the symbol as has become binary representation of the symbols.
When C (2) k> 1, when the first bit is 1 (i−1) 0 (i = 1, 2,..., K−1), 1 (i−1) 0 (i = 1, 2,..., K-1) is followed by a codeword length Li , and a codeword of a part necessary for symbol decoding is cut out, and a numerical value expressed as a binary representation is set as X '. When the first bit is 1 k−1 , the code word length L k is followed by a part of the code word necessary for decoding the symbol, and a numerical value represented as a binary representation is expressed as X ′ far.
C (3) The next value X is calculated and used as a symbol to be decoded.
i-1
X = X ′ + Σ 2 Lj + 1
j = 1
By such a method, the data decoding apparatus 200 decodes each symbol from each codeword shown in FIG.

第1実施形態にかかるデータ符号化装置100およびデータ復号装置200によれば,圧縮しようとするデータのシンボルが0以上の正の値で,その出現特性が0に近い値ほど出現確率が高いものを圧縮符号化するとき,従来必要であった符号化テーブル情報のうち,「出現確率順に並べたシンボル情報」が必要なくなる。さらに,符号語長(L(i=1,2,…,k))からその符号語長を持つ符号語数を計算することができるので,従来必要であった符号化テーブル情報のうち,「各符号長の符号語の個数を示す情報」は,符号化テーブルを構成する符号語で使用されている符号語長(L(i=1,2,…,k))を列挙するだけでよい。この結果,符号化テーブル情報が持つ情報量を大幅に少なくすることができる。 According to the data encoding device 100 and the data decoding device 200 according to the first embodiment, the symbol of the data to be compressed is a positive value of 0 or more, and the appearance probability is higher as the appearance characteristic is closer to 0. In the case of compression encoding, “symbol information arranged in the order of appearance probability” is unnecessary among the encoding table information that has been conventionally required. Furthermore, since the number of codewords having the codeword length can be calculated from the codeword length (L i (i = 1, 2,..., K)), among the encoding table information that has conventionally been required, “ The “information indicating the number of codewords of each code length” simply lists the codeword lengths (L i (i = 1, 2,..., K)) used in the codewords constituting the encoding table. Good. As a result, the information amount of the encoding table information can be greatly reduced.

(第2実施形態) (Second Embodiment)

つぎに,第2実施形態にかかるデータ符号化装置100およびデータ復号装置200について説明する。第1実施形態のデータ符号化装置100では,符号化しようとするW個のシンボル毎に符号化テーブル情報を生成して各シンボルを符号化し,符号化テーブル情報も符号化したシンボルとともに符号化データに含める必要があった。   Next, the data encoding device 100 and the data decoding device 200 according to the second embodiment will be described. In the data encoding apparatus 100 according to the first embodiment, encoding table information is generated for each W symbols to be encoded, each symbol is encoded, and the encoded table information is encoded along with the encoded symbols. Needed to be included.

第2実施形態では,図10に示したように,符号化しようとするシンボル(Xw+1〜)よりも前のW個のシンボル(X〜X)から符号化テーブル情報を生成する。ここで,符号化しようとするシンボルとは,たとえば,データ符号化装置100から送信されるパラメータ情報が「1」であれば,図10のXw+1にて示される一つのシンボルとなり,また,たとえば,データ符号化装置100から送信されるパラメータ情報が「W」であれば,図10のXw+1〜X2wにて示されるW個のシンボルとなる。これにより,データ復号装置200において,すでに復号したシンボルから符号化テーブル情報を生成することができ,符号化データとして符号化テーブル情報を受け取る必要がなくなる。パラメータ情報は,符号化するシンボル系列のうち,一回の符号化処理に対して入力すべきシンボルの区切りを示す。このように,符号化テーブル情報を符号化データに含める必要のない圧縮符号化,伸張復号を行う第2実施形態の方法について説明する。 In the second embodiment, as shown in FIG. 10, encoding table information is generated from W symbols (X 1 to X w ) preceding the symbol to be encoded (X w + 1 to). Here, the symbol to be encoded is, for example, if the parameter information transmitted from the data encoding apparatus 100 is “1”, it is one symbol indicated by X w + 1 in FIG. If the parameter information transmitted from the data encoding apparatus 100 is “W”, W symbols indicated by X w + 1 to X 2w in FIG. 10 are obtained. As a result, the data decoding apparatus 200 can generate the encoding table information from the already decoded symbols, and there is no need to receive the encoding table information as encoded data. The parameter information indicates a symbol delimiter to be input for one encoding process in a symbol series to be encoded. As described above, a method according to the second embodiment that performs compression encoding and decompression decoding that do not require encoding table information to be included in encoded data will be described.

(データ符号化装置の構成)
まず,図8を用いて,第2実施形態にかかるデータ符号化装置100の構成を説明する。第2実施形態のデータ符号化装置100は,バッファ101と最大値検出部102と累積出現頻度分布計測部103と符号化部104と符号化テーブル情報保持部805とを含んで構成されている。
(Configuration of data encoding device)
First, the configuration of the data encoding device 100 according to the second embodiment will be described with reference to FIG. The data encoding apparatus 100 according to the second embodiment includes a buffer 101, a maximum value detection unit 102, a cumulative appearance frequency distribution measurement unit 103, an encoding unit 104, and an encoding table information holding unit 805.

データ符号化装置100への入力は,第1実施形態と同様に,圧縮符号化しようとするデータのシンボル系列であり,各シンボルは0以上の正の整数をとるものとする。シンボル系列は,あるW個のシンボル毎にシンボルの出現頻度や最大値を検出し,それをもとに符号化テーブル情報を生成し,その符号化テーブル情報を用いてそのW個のシンボルを符号化する。   The input to the data encoding apparatus 100 is a symbol series of data to be compression encoded, as in the first embodiment, and each symbol takes a positive integer of 0 or more. The symbol sequence detects the appearance frequency and maximum value of each W symbol, generates encoding table information based on the detected frequency, and encodes the W symbols using the encoding table information. Turn into.

バッファ101は,データ符号化装置100へ入力される最新のW個のシンボルを保持しておくことができるメモリである。また,バッファ101は,最新のW個のシンボルの各シンボル値の出現頻度を記憶する。このバッファ101の内容は,最大値検出部102および累積出現頻度分布計測部103から参照される。   The buffer 101 is a memory that can hold the latest W symbols input to the data encoding device 100. Further, the buffer 101 stores the appearance frequency of each symbol value of the latest W symbols. The contents of the buffer 101 are referred to from the maximum value detection unit 102 and the cumulative appearance frequency distribution measurement unit 103.

最大値検出部102は,バッファ101にあるW個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値を累積出現頻度分布計測部103に出力する。累積出現頻度分布計測部103は,バッファ101にあるW個のシンボルを観測し,最大値検出部102から出力される最大値を用いて,累積出現頻度分布を上述したA(1)〜A(4)のように算出して,最終的に得られるk,および,L(i=1,2,…,k)を符号化テーブル情報として符号化テーブル情報保持部805へ出力する。 The maximum value detection unit 102 detects a symbol having the maximum value among the W symbols in the buffer 101 and outputs the symbol value to the cumulative appearance frequency distribution measurement unit 103. The cumulative appearance frequency distribution measurement unit 103 observes W symbols in the buffer 101 and uses the maximum value output from the maximum value detection unit 102 to calculate the cumulative appearance frequency distributions A (1) to A ( 4), and finally obtained k and L i (i = 1, 2,..., K) are output to the encoding table information holding unit 805 as encoding table information.

符号化部104は,符号化テーブル情報保持部805に保持してある符号化テーブル情報k,L(i=1,2,…,k)を受け取り,受け取った符号化テーブル情報を用いてデータ符号化装置100に入力されたシンボルを圧縮符号化する。 The encoding unit 104 receives the encoding table information k, L i (i = 1, 2,..., K) held in the encoding table information holding unit 805, and uses the received encoding table information to perform data The symbols input to the encoding device 100 are compression encoded.

具体的には,符号化部104は,上述したB(1)〜B(4)の工程でシンボルを符号語に変換する。ただし,B(1)を削除し,B(2)をk=1の場合にも適用する。さらに,B(4)の工程では,i=kの場合にも,X’をLビットの2進数表現したものの先頭に,1(i−1)0(1をi−1個連続させた後に0を付加したもの)を付加したものを符号語とするようにする。 Specifically, the encoding unit 104 converts a symbol into a code word in the above-described steps B (1) to B (4). However, this also applies to the case where B (1) is deleted and B (2) is k = 1. Further, in the process of B (4), even when i = k, 1 (i-1) 0 (1 is continued by i-1) at the head of the X 'representing the binary representation of L i bits. A code word is added with 0 added later).

また,符号化テーブル情報を生成するときに検出した最大値よりも大きい値のシンボル(Xとする)である場合には,i=k+1とし,次のX’を算出し,X’をビット数Lの2進数表現したものの先頭に,1(1をk個連続させたもの)を付加したものを符号語とする。

X’=X− Σ 2Lj +1
j=1
ここで,Lは,次の値を表すのに必要なビット数である。

− Σ 2Lj
j=1
ここで,Lはシンボルのビット長とする。
Also, if the symbol has a value (X) that is larger than the maximum value detected when generating the coding table information, i = k + 1 is set, the next X ′ is calculated, and X ′ is the number of bits. A code word is obtained by adding 1 k (a sequence of k consecutive 1s) to the beginning of the binary representation of L 0 .
k
X ′ = X−Σ 2 Lj + 1
j = 1
Here, L 0 is the number of bits necessary to represent the next value.
k
2 L -Σ 2 Lj
j = 1
Here, L is the symbol bit length.

符号化部104は,上記のように符号化した符号語を出力する。符号化テーブル情報保持部805は,符号化テーブル情報を保持するためのメモリで構成され,データ符号化装置100へ入力されたシンボルを符号化するために,符号化部104へ符号化テーブル情報を提供すると共に,データ符号化装置100へ入力されたシンボルを含めた最新W個のシンボルから生成された符号化テーブル情報を累積出現頻度分布計測部103より受け取り,上書き,保持する。   The encoding unit 104 outputs the code word encoded as described above. The encoding table information holding unit 805 includes a memory for holding the encoding table information. The encoding table information holding unit 805 transmits the encoding table information to the encoding unit 104 in order to encode a symbol input to the data encoding device 100. The encoding table information generated from the latest W symbols including the symbols input to the data encoding device 100 is received from the cumulative appearance frequency distribution measuring unit 103, overwritten and held.

(データ復号装置の構成)
つぎに,図9を用いて,第2実施形態にかかるデータ復号装置200の構成を説明する。データ復号装置200は,復号部201と符号化テーブル情報保持部902と累積出現頻度分布計測部903と最大値検出部904とバッファ905とを含んで構成されている。
(Configuration of data decoding device)
Next, the configuration of the data decoding apparatus 200 according to the second embodiment will be described with reference to FIG. The data decoding apparatus 200 includes a decoding unit 201, an encoding table information holding unit 902, a cumulative appearance frequency distribution measuring unit 903, a maximum value detecting unit 904, and a buffer 905.

バッファ905は,データ符号化装置100から送信されるパラメータ情報に基づいて,データ符号化装置100から送信される,符号化されたシンボル系列から1または2以上のシンボルを入力し,入力した1または2以上のシンボルを含んだ最新のW個のシンボルを保持しておくことができるメモリである。パラメータ情報は,符号化されたシンボル系列のうち,一回の復号処理に対して入力すべきシンボルの区切りを示す。   The buffer 905 inputs one or more symbols from the encoded symbol sequence transmitted from the data encoding device 100 based on the parameter information transmitted from the data encoding device 100, and inputs the input 1 or 2 This is a memory capable of holding the latest W symbols including two or more symbols. The parameter information indicates a delimiter of symbols to be input for one decoding process in the encoded symbol series.

また,バッファ905は,最新のW個のシンボルの各シンボル値の出現頻度を記憶する。このバッファ905の内容は,最大値検出部904および累積出現頻度分布計測部903から参照される。なお,バッファ905は,データ復号装置200の記憶部に相当する。   The buffer 905 stores the appearance frequency of each symbol value of the latest W symbols. The contents of the buffer 905 are referred to by the maximum value detection unit 904 and the cumulative appearance frequency distribution measurement unit 903. Note that the buffer 905 corresponds to a storage unit of the data decoding device 200.

最大値検出部904は,バッファ905にあるW個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値を累積出現頻度分布計測部903に出力する。   The maximum value detection unit 904 detects the symbol having the maximum value among the W symbols in the buffer 905 and outputs the symbol value to the cumulative appearance frequency distribution measurement unit 903.

累積出現頻度分布計測部903は,バッファ905にあるW個のシンボルを観測し,最大値検出部904から出力される最大値を用いて,累積出現頻度分布を上記A(1)〜A(4)の方法にて算出し,最終的に得られるk,および,L(i=1,2,…,k)を符号化テーブル情報として符号化テーブル情報保持部902へ出力する。 The cumulative appearance frequency distribution measurement unit 903 observes W symbols in the buffer 905 and uses the maximum value output from the maximum value detection unit 904 to calculate the cumulative appearance frequency distribution from the above A (1) to A (4 ) And finally obtained k and L i (i = 1, 2,..., K) are output to the encoding table information holding unit 902 as encoding table information.

この符号化テーブル情報保持部902は,符号化テーブル情報を保持するためのメモリで構成され,初期値として,データ符号化装置100から送信された符号化テーブル情報を保持する。その後,データ復号装置200へ入力されたシンボルを復号するために,復号部201に符号化テーブル情報を提供すると共に,そのとき復号されたシンボルを含めた最新W個のシンボルから累積出現頻度分布計測部903より生成された新たな符号化テーブル情報を上書き,保持する。   The encoding table information holding unit 902 is configured by a memory for holding the encoding table information, and holds the encoding table information transmitted from the data encoding device 100 as an initial value. Thereafter, in order to decode the symbols input to the data decoding apparatus 200, the encoding table information is provided to the decoding unit 201, and the cumulative appearance frequency distribution measurement is performed from the latest W symbols including the decoded symbols. The new encoding table information generated by the unit 903 is overwritten and held.

復号部201は,シンボルを符号化した系列を受け取り,符号化テーブル情報保持部902に保持している符号化テーブル情報を参照しながら,シンボルを符号化した系列から符号語を取り出し,対応するシンボルに変換して出力する。具体的には,つぎに示すC(1)’〜C(2)’の工程で,シンボルの復号に必要な部分の符号語を切り出してシンボルに変換する。   The decoding unit 201 receives a sequence in which symbols are encoded, takes out a codeword from the sequence in which symbols are encoded while referring to the encoding table information held in the encoding table information holding unit 902, and corresponding symbols Convert to and output. Specifically, in the following steps C (1) ′ to C (2) ′, a codeword of a portion necessary for symbol decoding is cut out and converted into a symbol.

C(1)’ 先頭ビットが1(i−1)0(i=1,2,…,k)であるとき,その1(i−1)0(i=1,2,…,k)より後ろを符号語長Lで,シンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。また,先頭ビットが1(このときはi=k+1とする)であるとき,そのより後ろを符号語長Lでシンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。Lは,次の値を表すのに必要なビット数である。Lはシンボルのビット長とする。

− Σ 2Lj
j=1
C (1) ′ When the first bit is 1 (i−1) 0 (i = 1, 2,..., K), from 1 (i−1) 0 (i = 1, 2,..., K) The code word length L i is followed by a part of the code word necessary for symbol decoding, and a numerical value represented as a binary representation is set as X ′. When the first bit is 1 k (in this case, i = k + 1), the code word length L 0 is followed by a code word of a part necessary for symbol decoding, and this is expressed as a binary number. The numerical value represented is X ′. L 0 is the number of bits necessary to represent the next value. L is the symbol bit length.
k
2 L -Σ 2 Lj
j = 1

C(2)’ 次の値Xを算出し復号するシンボルとする。
i−1
X=X’+ Σ 2Lj +1
j=1
このような方法により,データ復号装置200は,符号化されたシンボルを復号して復号シンボルを出力する。
C (2) ′ The next value X is calculated and used as a symbol to be decoded.
i-1
X = X ′ + Σ 2 Lj + 1
j = 1
By such a method, the data decoding apparatus 200 decodes the encoded symbol and outputs a decoded symbol.

このようにして得られたシンボルは,復号データ(シンボル)として出力すると共に,次の符号化データを復号するための符号化テーブル情報を生成するために,バッファ905へ出力される。また,バッファ905には,復号された最新のW個のシンボルの各シンボル値の出現個数(出現頻度)を記憶してもよい。   The symbols obtained in this way are output as decoded data (symbols) and are output to the buffer 905 in order to generate encoding table information for decoding the next encoded data. Further, the buffer 905 may store the number of appearances (appearance frequency) of each symbol value of the latest decoded W symbols.

(データ符号化装置100の動作)
つぎに,本実施形態のデータ符号化装置100が実行する圧縮符号化処理について,図11のフローチャートを参照しながら説明する。この説明では,最初に,符号化テーブル情報保持部805に保持されている符号化テーブル情報を用いてW個のシンボル(シンボルX〜X)を圧縮符号化した後の処理であって,今回外部から入力した新たなシンボルを圧縮符号化するとともに,次回外部から入力する新たなシンボルを圧縮符号化するために,今回圧縮符号化されたW個のシンボルから,符号化テーブル情報を生成する処理について説明する。
(Operation of Data Encoding Device 100)
Next, compression encoding processing executed by the data encoding device 100 of the present embodiment will be described with reference to the flowchart of FIG. In this description, first, a process after compressing and encoding W symbols (symbols X 1 to X w ) using the coding table information held in the coding table information holding unit 805, In addition to compressing and encoding new symbols input from the outside this time, encoding table information is generated from the W symbols compressed and encoded this time in order to compress and encode new symbols input from the outside next time. Processing will be described.

まず,データ符号化装置100のCPUは,ステップS1100から処理を開始し,ステップS401に進んで,圧縮符号化すべきシンボルがあるかどうかを判定する。圧縮符号化すべきシンボルが無ければ,CPUは,ステップS401にて「No」と判定してステップS1105に進んで処理を終了する。圧縮符号化すべきシンボルがある場合,CPUは,ステップS401にて「Yes」と判定して,ステップS1101に進み,1つのシンボル(図10のシンボルXw+1)をバッファ101および符号化部104へ入力してステップS1102に進む。 First, the CPU of the data encoding apparatus 100 starts processing from step S1100, proceeds to step S401, and determines whether there is a symbol to be compression encoded. If there is no symbol to be compressed and encoded, the CPU makes a “No” determination at step S401 to proceed to step S1105 to end the process. If there is a symbol to be compression-encoded, the CPU makes a “Yes” determination at step S 401 to proceed to step S 1101 to input one symbol (symbol X w + 1 in FIG. 10) to the buffer 101 and the encoding unit 104. Then, the process proceeds to step S1102.

つぎに,CPU(符号化部104)は,ステップS1102にて,読み込んだシンボルXw+1を符号化テーブル情報保持部405で保持している符号化テーブル情報を用いて,上述したB(2)〜B(4)の方法にて符号化する。ただし,B(2)をk=1の場合にも適用する。 Next, in step S1102, the CPU (encoding unit 104) uses the encoding table information held in the encoding table information holding unit 405 for the read symbol Xw + 1 , and the above-described B (2) to B (2) to B (2) ˜. Encoding is performed by the method B (4). However, B (2) is also applied when k = 1.

さらに,B(4)の工程では,i=kの場合にも,X’をLビットの2進数表現したものの先頭に,1(i−1)0(1をi−1個連続させた後に0を付加したもの)を付加したものを符号語とするようにする。符号化テーブル情報を生成するときに検出した最大値よりも大きい値のシンボル(Xとする)である場合には,i=k+1とし,次のX’を算出し,X’をビット数Lの2進数表現したものの先頭に,1(1をk個連続させたもの)を付加したものを符号語とする。

X’=X− Σ 2Lj +1
j=1
は,次の値を表すのに必要なビット数である。

− Σ 2Lj
j=1
ここで,Lはシンボルのビット長とする。
Further, in the process of B (4), even when i = k, 1 (i-1) 0 (1 is continued by i-1) at the head of the X 'representing the binary representation of L i bits. A code word is added with 0 added later). If it is a symbol (X) that is larger than the maximum value detected when generating the coding table information, i = k + 1, the next X ′ is calculated, and X ′ is the number of bits L 0. A code word is obtained by adding 1 k (k made of 1 consecutive numbers) to the beginning of the binary representation of.
k
X ′ = X−Σ 2 Lj + 1
j = 1
L 0 is the number of bits necessary to represent the next value.
k
2 L -Σ 2 Lj
j = 1
Here, L is the symbol bit length.

つぎに,CPUは,ステップS1103に進んで,バッファ101に保持されたW個のシンボルX〜Xw+1の各シンボルの出現回数を求め,ステップS404に進んでW個のシンボルX〜Xw+1のうち,最大の値をとるシンボルを検出する。 Next, the CPU proceeds to step S1103 to determine the number of appearances of each of the W symbols X 2 to X w + 1 held in the buffer 101, and proceeds to step S404 to perform W symbols X 2 to X w + 1. The symbol with the maximum value is detected.

つぎに,CPU(累積出現頻度分布計測部103)は,ステップS405に進んで,初期設定として,k=1,C=0を設定する。これは,累積出現頻度分布計測部103の構成説明の工程A(1)に相当する。つぎに,CPU(累積出現頻度分布計測部103)は,ステップS406に進んで,出現個数をシンボルCから順に累積し,累積値がW/2に最も近いシンボルXを求める。これは,累積出現頻度分布計測部103の構成説明の工程A(2)に相当する。 Next, the CPU (cumulative appearance frequency distribution measurement unit 103) proceeds to step S405 and sets k = 1 and C = 0 as initial settings. This corresponds to step A (1) in the configuration explanation of the cumulative appearance frequency distribution measuring unit 103. Next, CPU (cumulative frequency distribution measuring unit 103), the process proceeds to step S406, and accumulates the number of occurrences from the symbol C sequentially accumulated value determined closest symbol X in W / 2 k. This corresponds to step A (2) in the configuration explanation of the cumulative appearance frequency distribution measuring unit 103.

ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進み,(X−C+1)の値を表すのに必要なビット数Lを求める。これは,累積出現頻度分布計測部103の構成説明の工程A(3)に相当する。つぎに,CPU(累積出現頻度分布計測部103)は,ステップS408に進んで,ステップS404で検出したシンボルの最大値が,ステップS407で算出したL(i=1,2,…,k)から求めた範囲,
k−1

Σ 2Lj 〜 Σ2Lj −1
j=1 j=1
に入っているかどうかを判定する。すなわち,CPU(累積出現頻度分布計測部103)は,最大値Cmaxが,C≦Cmax≦C+2Lk−1の条件を満たすか否かを判定する。これは,上述したA(4)に相当する。
Then, CPU (cumulative frequency distribution measuring unit 103), the process proceeds to step S407, obtains the number of bits L k required to represent the value of (X-C + 1). This corresponds to step A (3) in the configuration explanation of the cumulative appearance frequency distribution measuring unit 103. Next, the CPU (cumulative appearance frequency distribution measuring unit 103) proceeds to step S408, and the maximum value of the symbol detected in step S404 is L i (i = 1, 2,..., K) calculated in step S407. Range obtained from
k-1
k
Σ 2 Lj to Σ2 Lj −1
j = 1 j = 1
It is determined whether it is in. That is, the CPU (cumulative appearance frequency distribution measurement unit 103) determines whether or not the maximum value Cmax satisfies the condition of C ≦ Cmax ≦ C + 2 Lk −1. This corresponds to A (4) described above.

このとき,ステップS408にて「No」と判定した場合,CPU(累積出現頻度分布計測部103)は,ステップS409に進んで,kを1増やすとともにC+2Lkの値をCに代入して,ステップS406へ戻り,ステップS408にて「Yes」と判定するまでステップS406〜ステップS409の処理を繰り返す。 At this time, if “No” is determined in step S408, the CPU (cumulative appearance frequency distribution measurement unit 103) proceeds to step S409, increments k by 1, and substitutes the value of C + 2 Lk for C. It returns to S406 and repeats the process of step S406-step S409 until it determines with "Yes" in step S408.

一方,ステップS408にて「Yes」と判定した場合,CPU(累積出現頻度分布計測部103)は,ステップS1104に進んで,算出された符号化テーブル情報k,L(i=1,2,…,k)を符号化テーブル情報保持部805に保持し,ステップS401に戻る。このようにして,次回,データ符号化装置100に入力されるシンボルを圧縮符号化するための符号化テーブル情報が生成され,保持される。 On the other hand, if “Yes” is determined in step S408, the CPU (cumulative appearance frequency distribution measurement unit 103) proceeds to step S1104 to calculate the calculated encoding table information k, Li (i = 1, 2, .., K) are held in the coding table information holding unit 805, and the process returns to step S401. In this way, encoding table information for compressing and encoding symbols input to the data encoding apparatus 100 next time is generated and held.

(データ復号装置200の動作)
つぎに,本実施形態のデータ復号装置200が実行する伸張復号処理について,図12のフローチャートを参照しながら説明する。この説明では,最初に,符号化テーブル情報保持部902に保持されている符号化テーブル情報を用いてW個のシンボル(シンボルX〜X)を伸張復号した後の処理であって,今回,データ符号化装置100から送信された新たなシンボルを伸張復号するとともに,次回,データ符号化装置100から送信される新たなシンボルを伸張復号するために,今回伸張復号されたW個のシンボルから,符号化テーブル情報を生成する処理について説明する。
(Operation of Data Decoding Device 200)
Next, the decompression decoding process executed by the data decoding apparatus 200 of this embodiment will be described with reference to the flowchart of FIG. In this description, first, it is processing after decompression decoding W symbols (symbols X 1 to X w ) using the coding table information held in the coding table information holding unit 902. In order to decompress and decode a new symbol transmitted from the data encoding device 100 and to decompress and decode a new symbol transmitted from the data encoding device 100 next time, the W symbols that have been decompressed and decoded this time are used. A process for generating the encoding table information will be described.

まず,データ復号装置200のCPUは,ステップS1200から処理を開始し,ステップS1201に進んで,復号すべき符号化データがあるかどうかを判定する。復号すべき符号化データが無ければ,CPUは,ステップS1201にて「No」と判定してステップS1210に進んで処理を終了する。   First, the CPU of the data decoding apparatus 200 starts processing from step S1200, proceeds to step S1201, and determines whether there is encoded data to be decoded. If there is no encoded data to be decoded, the CPU makes a “No” determination at step S1201 to proceed to step S1210, and ends the process.

一方,復号すべき符号化データがある場合,CPU(復号部201)は,ステップS1201にて「Yes」と判定して,ステップS1202に進み,符号化テーブル情報保持部902で保持されている符号化テーブル情報を用いて,C(1)’〜C(2)’の方法にて符号化されたシンボルを復号し,復号結果として復号シンボルを出力すると共に,バッファ905へその復号シンボルを出力し,保持する。   On the other hand, if there is encoded data to be decoded, the CPU (decoding unit 201) determines “Yes” in step S1201, proceeds to step S1202, and stores the code held in the coding table information holding unit 902. Using the conversion table information, the symbols encoded by the methods C (1) ′ to C (2) ′ are decoded, and the decoded symbols are output as decoding results, and the decoded symbols are output to the buffer 905. ,Hold.

つぎに,CPUは,ステップS1203に進んで,バッファ905に保持されたW個のシンボルX〜Xw+1の各シンボルの出現回数を求め,ステップS1204に進んでW個のシンボルX〜Xw+1のうち,最大の値をとるシンボルを検出する。 Next, the CPU proceeds to step S1203, obtains the number of appearances of each of the W symbols X 2 to X w + 1 held in the buffer 905, proceeds to step S1204, and proceeds to W symbols X 2 to X w + 1. The symbol with the maximum value is detected.

つぎに,CPU(累積出現頻度分布計測部903)は,ステップS1205に進んで,初期設定として,k=1,C=0を設定する。これは,累積出現頻度分布計測部903の構成説明の工程A(1)に相当する。つぎに,CPU(累積出現頻度分布計測部903)は,ステップS1206に進んで,バッファ905内のシンボル列において,出現頻度をシンボルCから順に累積し,累積値がW/2に最も近いシンボルXを求める。これは,累積出現頻度分布計測部903の構成説明の工程A(2)に相当する。 Next, the CPU (cumulative appearance frequency distribution measurement unit 903) proceeds to step S1205, and sets k = 1 and C = 0 as initial settings. This corresponds to step A (1) in the configuration explanation of the cumulative appearance frequency distribution measuring unit 903. Next, CPU (cumulative frequency distribution measuring unit 903), the process proceeds to step S1206, in the symbol sequence in the buffer 905 accumulates the frequency of occurrence of the symbol C in order, symbol closest to the accumulated value W / 2 k Find X. This corresponds to step A (2) in the configuration explanation of the cumulative appearance frequency distribution measuring unit 903.

ついで,CPU(累積出現頻度分布計測部903)は,ステップS1207に進み,(X−C+1)の値を表すのに必要なビット数Lを求める。これは,累積出現頻度分布計測部903の構成説明の工程A(3)に相当する。つぎに,CPU(累積出現頻度分布計測部903)は,ステップS1208に進み,ステップS1204にて検出した最大値が,ステップS1207にて算出したL(i=1,2,…,k)から求めた範囲,
k−1
Σ 2Lj 〜 Σ2Lj −1
j=1 j=1
に入っているかどうかを判定する。すなわち,CPU(累積出現頻度分布計測部903)は,最大値Cmaxが,C≦Cmax≦C+2Lk−1の条件を満たすか否かを判定する。これは,上述したA(4)に相当する。
Then, CPU (cumulative frequency distribution measuring unit 903), the process proceeds to step S1207, obtains the number of bits L k required to represent the value of (X-C + 1). This corresponds to step A (3) in the configuration explanation of the cumulative appearance frequency distribution measurement unit 903. Next, the CPU (cumulative appearance frequency distribution measurement unit 903) proceeds to step S1208, and the maximum value detected in step S1204 is calculated from L i (i = 1, 2,..., K) calculated in step S1207. Obtained range,
k-1 k
Σ 2 Lj to Σ2 Lj −1
j = 1 j = 1
It is determined whether it is in. That is, the CPU (cumulative appearance frequency distribution measurement unit 903) determines whether or not the maximum value Cmax satisfies the condition of C ≦ Cmax ≦ C + 2 Lk −1. This corresponds to A (4) described above.

ステップS1208にて「No」と判定された場合,CPU(累積出現頻度分布計測部903)は,ステップS1209に進んで,kを1増やすとともにC+2Lkの値をCに代入して,ステップS1206へ戻り,ステップS1208にて「Yes」と判定するまでステップS1206〜ステップS1209の処理を繰り返す。 If “No” is determined in step S1208, the CPU (cumulative appearance frequency distribution measurement unit 903) proceeds to step S1209, increments k by 1, and substitutes the value of C + 2 Lk into C, and then proceeds to step S1206. Returning to step S1208, the processes in steps S1206 to S1209 are repeated until “Yes” is determined in step S1208.

一方,ステップS1208にて「Yes」と判定された場合,CPU(累積出現頻度分布計測部903)は,ステップS1210に進んで,算出された符号化テーブル情報k,L(i=1,2,…,k)を符号化テーブル情報保持部902に保持し,ステップS1201に戻る。このようにして,次回,データ符号化装置100から送信されるシンボルを伸張復号するための符号化テーブル情報が生成され,保持される。 On the other hand, if “Yes” is determined in step S1208, the CPU (cumulative appearance frequency distribution measurement unit 903) proceeds to step S1210 to calculate the calculated encoding table information k, L i (i = 1, 2). ,..., K) are held in the coding table information holding unit 902, and the process returns to step S1201. In this way, encoding table information for decompressing and decoding symbols transmitted from the data encoding device 100 next time is generated and held.

第2の実施形態では,符号化テーブル情報を生成するためには,符号化しようとするシンボルよりも前のW個のシンボルから符号化テーブル情報を生成させることにより,データ復号装置200において,すでに復号したシンボルから符号化テーブル情報を生成することができる。これにより,データ復号装置200は,符号化データとして符号化テーブル情報を一回のみデータ符号化装置100から受け取れば,その後,この情報をデータ符号化装置100から受け取る必要がなくなる。この結果,データ符号化装置100は,符号化テーブル情報を圧縮符号化データに含めなくてもよくなり,オーバーヘッドが小さくなる。   In the second embodiment, in order to generate encoding table information, the data decoding apparatus 200 has already generated encoding table information from W symbols preceding the symbol to be encoded. Coding table information can be generated from the decoded symbols. Thus, if the data decoding apparatus 200 receives the encoding table information from the data encoding apparatus 100 only once as encoded data, it is not necessary to receive this information from the data encoding apparatus 100 thereafter. As a result, the data encoding apparatus 100 does not have to include the encoding table information in the compressed encoded data, and the overhead is reduced.

(第2実施形態の変形例)
第2実施形態では,図11に示したように,データ符号化装置100は,W個のシンボルを「一つずつ」シフトさせて(たとえば,シンボルX〜XからシンボルX〜Xw+1にシフトさせて),シフトさせた範囲のシンボルの出現個数をバッファ101に保持し,保持したシンボルの出現個数から,次回送信される新たなシンボルを圧縮符号化するための符号化テーブル情報を生成し,その情報を符号化テーブル情報保持部805に保持した。
(Modification of the second embodiment)
In the second embodiment, as illustrated in FIG. 11, the data encoding apparatus 100 shifts W symbols “one by one” (for example, from symbols X 1 to X w to symbols X 2 to X w + 1). And the number of appearances of the symbols in the shifted range is held in the buffer 101, and encoding table information for compressing and encoding new symbols to be transmitted next time is generated from the number of appearances of the held symbols. The information is held in the encoding table information holding unit 805.

また,第2実施形態では,図12に示したように,データ復号装置200は,W個のシンボルを「一つずつ」シフトさせて(たとえば,シンボルX〜XからシンボルX〜Xw+1にシフトさせて),シフトさせた範囲のシンボルおよびそれらのシンボル値の出現個数をバッファ905に保持し,保持したシンボル値の出現個数から,次回,データ符号化装置100から送信される新たなシンボルを伸張復号するための符号化テーブル情報を生成し,その情報を符号化テーブル情報保持部902に保持した。 In the second embodiment, as illustrated in FIG. 12, the data decoding apparatus 200 shifts W symbols “one by one” (for example, from symbols X 1 to X w to symbols X 2 to X w ( shifted to w + 1 ), the symbols in the shifted range and the number of appearances of those symbol values are held in the buffer 905, and a new transmission transmitted from the data encoding device 100 next time is performed from the number of appearances of the held symbol values. Coding table information for decompressing and decoding symbols is generated, and the information is held in the coding table information holding unit 902.

これに対して,本実施形態の変形例では,データ符号化装置100のCPUは,図11のステップS1101にて,シンボルを新たにW個(シンボルXw+1〜X2w)入力する。この場合,CPUは,ステップS1102にて,新たに入力したW個のシンボルを符号化するとともに,バッファ101に保持されたシンボルX〜XおよびシンボルX〜Xの出現個数をシンボルXw+1〜X2wおよびシンボルXw+1〜X2wの出現個数に更新した後,今回入力したW個のシンボルの出現個数を用いて,ステップS404〜ステップ409を処理することにより次回,外部から入力する新たなW個のシンボルを圧縮符号化するための符号化テーブル情報を生成し,ステップS1104にて,生成された符号化テーブル情報を符号化テーブル情報保持部805に保持する。 On the other hand, in the modification of the present embodiment, the CPU of the data encoding apparatus 100 inputs W symbols (symbols X w + 1 to X 2w ) in step S1101 in FIG. In this case, the CPU encodes the newly input W symbols in step S1102 and determines the number of appearances of the symbols X 1 to X w and the symbols X 1 to X w held in the buffer 101 as the symbol X. after updating to the number of occurrences of w + 1 ~X 2w and symbol X w + 1 ~X 2w, using the number of occurrences of W symbols that you entered this time, next time by processing the step S404~ step 409, new input from the outside Encoding table information for compressing and encoding such W symbols is generated, and the generated encoding table information is held in the encoding table information holding unit 805 in step S1104.

また,本実施形態の変形例では,データ復号装置200のCPUは,データ符号化装置100から送信されるW個のシンボル(シンボルXw+1〜X2w)を入力し,図12のステップS1202にて,そのW個のシンボルを復号するとともに,バッファ905に保持されたシンボルX〜XおよびシンボルX〜Xの出現個数をシンボルXw+1〜X2wおよびシンボルXw+1〜X2wの出現個数に更新した後,今回入力したW個のシンボルの出現個数を用いてステップS1205〜ステップS1209を処理することにより,次回,データ符号化装置100から送信される新たなW個のシンボルを伸張復号するための符号化テーブル情報を生成し,ステップS1210にて,生成した符号化テーブル情報保持部902に保持する。 In the modification of the present embodiment, the CPU of the data decoding device 200 inputs W symbols (symbols X w + 1 to X 2w ) transmitted from the data encoding device 100, and in step S1202 of FIG. , The W symbols are decoded, and the number of appearances of the symbols X 1 to X w and the symbols X 1 to X w held in the buffer 905 is changed to the number of appearances of the symbols X w + 1 to X 2w and the symbols X w + 1 to X 2w . Then, the new W symbols transmitted from the data encoding device 100 are decompressed and decoded next time by processing steps S1205 to S1209 using the number of appearances of the W symbols input this time. Coding table information is generated, and in step S1210, the generated coding table information holding unit 902 stores the coding table information. Hold.

このように,第2実施形態の変形例では,データ符号化装置100およびデータ復号装置200は,前回入力したW個のシンボルから今回新たに入力したW個のシンボルを符号化および復号するための符号化テーブル情報を生成する。このように,データ復号装置200において,すでに復号したシンボル(前回入力したW個のシンボル)から符号化テーブル情報を生成することができる。このため,データ復号装置200は,符号化データとして符号化テーブル情報を一回受け取れば,その後,この情報を受け取る必要がなくなる。この結果,符号化テーブル情報を圧縮符号化データに含めなくてもよくなり,オーバーヘッドが小さくなる。   As described above, in the modification of the second embodiment, the data encoding device 100 and the data decoding device 200 encode and decode W symbols newly input this time from W symbols input previously. Encoding table information is generated. In this manner, the data decoding apparatus 200 can generate the encoding table information from the already decoded symbols (W symbols input last time). For this reason, once the data decoding apparatus 200 receives the encoding table information as encoded data, it is not necessary to receive this information thereafter. As a result, the encoding table information need not be included in the compressed encoded data, and the overhead is reduced.

(第3実施形態)
これまでの実施形態では,図13の左側に示したように,W個のシンボルの各シンボル値(シンボル0〜シンボル15)の出現個数をシンボル値毎にバッファ101(データ符号化装置100)およびバッファ905(データ復号装置200)に保持していた。
(Third embodiment)
In the embodiments described so far, as shown on the left side of FIG. 13, the number of appearances of each symbol value (symbol 0 to symbol 15) of W symbols is determined for each symbol value by the buffer 101 (data encoding device 100) and It was held in the buffer 905 (data decoding apparatus 200).

本実施形態では,図13の右側に示したように,最小のシンボル値から順に各シンボル値を2のべき乗(2:i=0,1,2,・・)毎に区切り,その区切り内の各シンボル値の出現頻度を区切り毎に累積し,その累積値をそれぞれバッファ101およびバッファ905に保持する。 In the present embodiment, as shown on the right side of FIG. 13, each symbol value is divided every power of 2 (2 i : i = 0, 1, 2,...) In order from the smallest symbol value. The appearance frequency of each symbol value is accumulated for each delimiter, and the accumulated values are held in the buffer 101 and the buffer 905, respectively.

具体的には,各シンボル値は,シンボル0,シンボル1,シンボル2〜3,シンボル4〜7,シンボル8〜15というように,2のべき乗毎に区切られ,シンボル0およびシンボル1に対する出現個数「300」および「200」が,各バッファにそれぞれ保持される。また,シンボル2およびシンボル3の出現個数の累積値「180」が各バッファに保持される。また,シンボル4〜シンボル7の出現個数の累積値「180」が各バッファに保持される。さらに,シンボル8〜シンボル15の出現個数の累積値「140」が各バッファに保持される。   Specifically, each symbol value is divided every power of 2, such as symbol 0, symbol 1, symbol 2 to 3, symbol 4 to 7, symbol 8 to 15, and the number of occurrences for symbol 0 and symbol 1 “300” and “200” are held in each buffer. Also, the accumulated value “180” of the appearance numbers of the symbols 2 and 3 is held in each buffer. Further, the accumulated value “180” of the appearance numbers of the symbols 4 to 7 is held in each buffer. Further, the accumulated value “140” of the appearance numbers of the symbols 8 to 15 is held in each buffer.

本実施形態によれば,シンボル値の出現頻度をシンボル値毎に記憶するバッファ101およびバッファ905内のメモリ領域を小さくすることができる。また,累積出現頻度分布計測部103および累積出現頻度分布計測部903が行うループ処理の繰り返し回数が少なくなるため,CPUの負荷を軽減することができる。   According to the present embodiment, it is possible to reduce the memory area in the buffer 101 and the buffer 905 for storing the appearance frequency of the symbol value for each symbol value. In addition, since the number of repetitions of the loop processing performed by the cumulative appearance frequency distribution measuring unit 103 and the cumulative appearance frequency distribution measuring unit 903 is reduced, the load on the CPU can be reduced.

上記実施形態において,各部の動作はお互いに関連しており,互いの関連を考慮しながら,一連の動作として置き換えることができる。そして,このように置き換えることにより,方法の発明の実施形態とすることができる。   In the above embodiment, the operations of the respective units are related to each other, and can be replaced as a series of operations in consideration of the relationship between each other. And it can be set as embodiment of method invention by replacing in this way.

また,上記各部の動作を,各部の処理と置き換えることにより,プログラムの実施の形態とすることができる。また,プログラムを,プログラムを記録したコンピュータ読み取り可能な記録媒体に記憶させることで,プログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。   Further, by replacing the operation of each unit with the processing of each unit, the program can be implemented. Further, by storing the program in a computer-readable recording medium in which the program is recorded, an embodiment of a computer-readable recording medium recorded in the program can be obtained.

したがって,データ符号化方法の実施形態は,外部から入力されたシンボルを符号化するデータ符号化方法であって,外部から入力された一定個数のシンボルの各シンボルの出現頻度を算出し,上記算出された各シンボルの出現頻度の所定の累積値と予め定められた目標累積値とに基づいて,各シンボルが符号化された符号語の符号語長に関連した情報である符号化テーブル情報を生成する処理と,上記生成された符号化テーブル情報を用いて上記各シンボルを符号語にそれぞれ符号化する処理と,をコンピュータに実行させるデータ符号化プログラム,および,このデータ符号化プログラムを記憶したコンピュータ読み取り可能な記録媒体の実施形態とすることができる。   Therefore, the embodiment of the data encoding method is a data encoding method for encoding a symbol input from the outside, and calculates the appearance frequency of each symbol of a fixed number of symbols input from the outside, and calculates the above calculation Based on a predetermined cumulative value of the appearance frequency of each symbol and a predetermined target cumulative value, encoding table information that is information related to the codeword length of the codeword in which each symbol is encoded is generated A data encoding program for causing a computer to execute a process for encoding each symbol into a code word using the generated encoding table information, and a computer storing the data encoding program An embodiment of a readable recording medium can be provided.

また,データ復号方法の実施形態は,シンボルが符号化された符号語を復号するデータ復号方法であって,データ符号化装置から送信された一定個数の符号語とその各符号語の符号語長に関連した情報である符号化テーブル情報とを入力する処理と,上記入力された符号化テーブル情報を用いて上記入力された各符号語を各シンボルにそれぞれ復号する処理と,をコンピュータに実行させるデータ復号プログラム,および,このデータ復号プログラムを記憶したコンピュータ読み取り可能な記録媒体の実施形態とすることができる。   The embodiment of the data decoding method is a data decoding method for decoding a codeword in which symbols are encoded, and a fixed number of codewords transmitted from the data encoding device and the codeword length of each codeword. And a process for inputting coding table information, which is information related to the code, and a process for decoding each inputted codeword into each symbol using the inputted coding table information. An embodiment of a data decoding program and a computer-readable recording medium storing the data decoding program can be provided.

なお,このプログラムの実施形態およびプログラムを記録したコンピュータ読み取り可能な記録媒体の実施形態における各処理は,コンピュータがプログラムを実行することにより達成される。   Each processing in the embodiment of the program and the embodiment of the computer-readable recording medium on which the program is recorded is achieved by the computer executing the program.

以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。   As mentioned above, although preferred embodiment of this invention was described referring an accompanying drawing, it cannot be overemphasized that this invention is not limited to the example which concerns. It will be apparent to those skilled in the art that various changes and modifications can be made within the scope of the claims, and these are naturally within the technical scope of the present invention. Understood.

本発明は,情報量を低減させた符号化テーブル情報を生成するデータ符号化装置,および,その符号化テーブル情報を用いてデータを復号するデータ復号装置に適用可能である。   The present invention can be applied to a data encoding device that generates encoding table information with a reduced amount of information, and a data decoding device that decodes data using the encoding table information.

本発明の第1実施形態にかかるデータ符号化装置の構成を示す図である。It is a figure which shows the structure of the data coding apparatus concerning 1st Embodiment of this invention. 同実施形態におけるデータ復号装置の構成を示す図である。It is a figure which shows the structure of the data decoding apparatus in the embodiment. 同実施形態のデータ符号化装置に入力されるシンボル列を説明するための図である。It is a figure for demonstrating the symbol sequence input into the data coding apparatus of the embodiment. 同実施形態にてデータ符号化装置が実行するルーチンを示したフローチャートである。It is the flowchart which showed the routine which a data coding apparatus performs in the same embodiment. 同実施形態にてデータ符号化装置が実行する各ループ処理時に各変数がもつ値を示した図である。It is the figure which showed the value which each variable has at the time of each loop process which a data coding apparatus performs in the same embodiment. 同実施形態において各シンボルに対応した各符号語と符号化テーブル情報との関係を示した図である。It is the figure which showed the relationship between each codeword corresponding to each symbol and encoding table information in the same embodiment. 同実施形態において符号化テーブル情報を用いて実際にシンボルから符号化された符号語の値を示した図である。It is the figure which showed the value of the codeword actually encoded from the symbol using the encoding table information in the same embodiment. 本発明の第2実施形態にかかるデータ符号化装置の構成を示す図である。It is a figure which shows the structure of the data coding apparatus concerning 2nd Embodiment of this invention. 同実施形態にかかるデータ復号装置の構成を示す図である。It is a figure which shows the structure of the data decoding apparatus concerning the embodiment. 同実施形態のデータ符号化装置に入力されるシンボル列を説明するための図である。It is a figure for demonstrating the symbol sequence input into the data coding apparatus of the embodiment. 同実施形態にてデータ符号化装置が実行するルーチンを示したフローチャートである。It is the flowchart which showed the routine which a data coding apparatus performs in the same embodiment. 同実施形態にてデータ復号装置が実行するルーチンを示したフローチャートである。It is the flowchart which showed the routine which a data decoding apparatus performs in the same embodiment. 本発明の第1,2実施形態にかかるデータ符号化装置およびデータ復号装置が保持するテーブルと,本発明の第3実施形態にかかるデータ符号化装置およびデータ復号装置が保持するテーブルと,を比較して説明するための図である。The table held by the data encoding device and the data decoding device according to the first and second embodiments of the present invention is compared with the table held by the data encoding device and the data decoding device according to the third embodiment of the present invention. FIG.

符号の説明Explanation of symbols

100 データ符号化装置
101 バッファ
102 最大値検出部
103 累積出現頻度分布計測部
104 符号化部
200 データ復号装置
201 復号部
805 符号化テーブル生成情報保持部
902 符号化テーブル生成情報保持部
903 累積出現頻度分布計測部
904 最大値検出部
905 バッファ
DESCRIPTION OF SYMBOLS 100 Data encoding apparatus 101 Buffer 102 Maximum value detection part 103 Cumulative appearance frequency distribution measurement part 104 Encoding part 200 Data decoding apparatus 201 Decoding part 805 Encoding table production | generation information holding part 902 Encoding table production | generation information holding part 903 Cumulative appearance frequency Distribution measurement unit 904 Maximum value detection unit 905 Buffer

Claims (11)

シンボルを符号化するデータ符号化装置であって:
外部から入力された一定個数のシンボルの各シンボル値の出現頻度を算出し,前記算出された各シンボル値のうち任意のシンボル値から昇順に各シンボル値の出現頻度を累積して求められた出現頻度の累積値が、全シンボル数より小さい値であって任意の値である目標累積値に最も近い値となった場合,前記出現頻度の累積値に対応するシンボル値を符号化して表すために必要なビット数Liを求める処理を実行し、前記処理は、各目標累積値に対してシンボル値を符号化して表すために必要なビット数Liが得られるまで繰り返し実行されるループ処理であり,その繰り返し回数kと前記各ループ処理にて求められたビット数Li(i=1,2,・・,k)とを、各シンボルが符号化された符号語の符号語長に関連した情報である符号化テーブル情報として生成する累積出現頻度分布計測部と;
前記生成された符号化テーブル情報を用いて前記各シンボルをそれぞれ符号化する符号化部と;を備えることを特徴とするデータ符号化装置。
A data encoding device for encoding symbols comprising:
Appearance obtained by calculating the appearance frequency of each symbol value of a fixed number of externally input symbols and accumulating the appearance frequency of each symbol value in ascending order from any of the calculated symbol values In order to encode and express the symbol value corresponding to the cumulative value of the appearance frequency when the cumulative value of the frequency is a value smaller than the total number of symbols and the closest value to the target cumulative value which is an arbitrary value A process of obtaining a required number of bits Li, which is a loop process that is repeatedly executed until the number of bits Li required to encode and represent a symbol value for each target cumulative value is obtained; The number of repetitions k and the number of bits Li (i = 1, 2,..., K) obtained by the loop processing are information related to the codeword length of the codeword in which each symbol is encoded. An encoding The cumulative frequency distribution measuring unit for generating a table information;
A data encoding apparatus comprising: an encoding unit that encodes each of the symbols using the generated encoding table information.
前記データ符号化装置であって,さらに,
前記外部から入力された一定個数のシンボルの最大値を検出する最大値検出部を備え,
前記累積出現頻度分布計測部は,
前記検出されたシンボルの最大値を符号化して表すために必要なビット数Liを求めることを特徴とする請求項に記載されたデータ符号化装置。
Said data encoding device, further comprising:
A maximum value detector for detecting a maximum value of a certain number of symbols input from the outside;
The cumulative appearance frequency distribution measurement unit
2. The data encoding apparatus according to claim 1 , wherein the number of bits Li required to encode and represent the maximum value of the detected symbol is obtained.
前記符号化テーブル情報は,
各シンボル値に対応して2のべき乗毎に変化する前記符号語長を表すために,2のべき乗毎に生成される情報であることを特徴とする請求項1又は請求項2に記載されたデータ符号化装置。
The encoding table information is:
To represent the codeword length which varies for each power of two corresponding to each symbol value, according to claim 1 or claim 2, characterized in that the information generated for each power of two Data encoding device.
前記符号化部は,
前記符号化テーブル情報を所定の条件式に当てはめることにより前記各シンボルをそれぞれ符号化することを特徴とする請求項1〜のいずれかに記載されたデータ符号化装置。
The encoding unit includes:
The data coding apparatus according to any one of claims 1 to 3, characterized in that respectively encode each symbol by fitting the coding table information in a predetermined condition.
前記目標累積値は,
前記ループ処理を繰り返す毎に小さくなる値であることを特徴とする請求項1〜4のいずれかに記載されたデータ符号化装置。
The target cumulative value is
The data encoding apparatus according to claim 1 , wherein the data encoding apparatus is a value that decreases each time the loop processing is repeated.
前記各シンボル値は,
0以上の正の値であることを特徴とする請求項1〜のいずれかに記載されたデータ符号化装置。
Each symbol value is
Zero or more data coding apparatus according to any one of claims 1 to 5, characterized in that a positive value.
前記データ符号化装置であって,さらに,
前記生成された符号化テーブル情報を保持する符号化テーブル情報保持部を備え,
前記符号化部は,
外部から新たに入力される1または2以上のシンボルを前記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化することを特徴とする請求項1〜のいずれかに記載されたデータ符号化装置。
Said data encoding device, further comprising:
A coding table information holding unit for holding the generated coding table information;
The encoding unit includes:
Wherein one or more symbols to be newly input from the outside to any one of claims 1 to 6, wherein the encoded using an encoding table information stored in the encoding table information holding unit Data encoding apparatus.
前記データ符号化装置であって,さらに,
今回外部から新たに入力された1または2以上のシンボルを含む一定個数のシンボルの各シンボル値の出現頻度をシンボル値毎に記憶する記憶部を備え,
前記累積出現頻度分布計測部は,
前記記憶部に記憶された各シンボル値の出現頻度を算出し,前記算出された各シンボル値の出現頻度の累積値と前記目標累積値とに基づいて符号化テーブル情報を生成し,
前記符号化テーブル情報保持部は,
前記生成された符号化テーブル情報を保持し,
前記符号化部は,
次回,外部から新たに入力される1または2以上のシンボルを前記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化することを特徴とする請求項に記載されたデータ符号化装置。
Said data encoding device, further comprising:
A storage unit for storing the appearance frequency of each symbol value of a certain number of symbols including one or more newly input symbols from the outside this time for each symbol value;
The cumulative appearance frequency distribution measurement unit
Calculating the appearance frequency of each symbol value stored in the storage unit, generating encoding table information based on the calculated cumulative value of the appearance frequency of each symbol value and the target cumulative value;
The encoding table information holding unit is
Holding the generated encoding table information;
The encoding unit includes:
The data according to claim 7 , wherein next time, one or more newly input symbols are encoded using the encoding table information held in the encoding table information holding unit. Encoding device.
前記外部から新たに入力する1または2以上のシンボルの個数は,一定個数であることを特徴とする請求項または請求項のいずれかに記載されたデータ符号化装置。 The number of one or more symbols to be newly input from the outside, data coding apparatus according to claim 7 or claim 8 characterized in that it is a fixed number. 前記記憶部は,
前記各シンボル値の出現頻度をシンボル値毎に記憶する代わりに,最小のシンボル値から順に各シンボル値を2のべき乗毎に区切り,その区切り内の各シンボル値の出現頻度を区切り毎に累積し,その累積値をそれぞれ記憶することを特徴とする請求項に記載されたデータ符号化装置。
The storage unit
Instead of storing the appearance frequency of each symbol value for each symbol value, each symbol value is divided into powers of 2 in order from the smallest symbol value, and the appearance frequency of each symbol value within the division is accumulated for each division. 9. The data encoding apparatus according to claim 8 , wherein the accumulated values are respectively stored.
シンボルを符号化するデータ符号化方法であって:
外部から入力された一定個数のシンボルの各シンボル値の出現頻度を算出し,前記算出された各シンボル値のうち任意のシンボル値から昇順に各シンボル値の出現頻度を累積して求められた出現頻度の累積値が、全シンボル数より小さい値であって任意の値である目標累積値に最も近い値となった場合,前記出現頻度の累積値をもつときのシンボル値を符号化して表すために必要なビット数Liを求める処理を実行し、前記処理は、各目標累積値に対してシンボル値を符号化して表すために必要なビット数Liが得られるまで繰り返し実行されるループ処理であり,その繰り返し回数kと前記各ループ処理にて求められたビット数Li(i=1,2,・・,k)とを、各シンボルが符号化された符号語の符号語長に関連した情報である符号化テーブル情報として生成する累積出現頻度分布計測ステップと
前記生成された符号化テーブル情報を用いて前記各シンボルをそれぞれ符号化する符号化ステップと、を含むことを特徴とするデータ符号化方法。
A data encoding method for encoding symbols comprising:
Appearance obtained by calculating the appearance frequency of each symbol value of a fixed number of externally input symbols and accumulating the appearance frequency of each symbol value in ascending order from any of the calculated symbol values When the cumulative value of the frequency is smaller than the total number of symbols and is the closest to the target cumulative value, which is an arbitrary value, to encode and represent the symbol value when having the cumulative value of the appearance frequency Is a loop process that is repeatedly executed until the number of bits Li necessary to encode and represent the symbol value for each target accumulated value is obtained. , The number of repetitions k and the number of bits Li (i = 1, 2,..., K) obtained in each loop processing , information related to the codeword length of the codeword in which each symbol is encoded Encoding The cumulative frequency distribution measuring step of generating a Buru information;
A data encoding method comprising: encoding each of the symbols using the generated encoding table information.
JP2005170862A 2005-06-10 2005-06-10 Data encoding apparatus and data encoding method Expired - Fee Related JP4497029B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005170862A JP4497029B2 (en) 2005-06-10 2005-06-10 Data encoding apparatus and data encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005170862A JP4497029B2 (en) 2005-06-10 2005-06-10 Data encoding apparatus and data encoding method

Publications (2)

Publication Number Publication Date
JP2006345374A JP2006345374A (en) 2006-12-21
JP4497029B2 true JP4497029B2 (en) 2010-07-07

Family

ID=37641967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005170862A Expired - Fee Related JP4497029B2 (en) 2005-06-10 2005-06-10 Data encoding apparatus and data encoding method

Country Status (1)

Country Link
JP (1) JP4497029B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018069999A1 (en) * 2016-10-12 2018-04-19 富士通株式会社 Output program, output method and output system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000022552A (en) * 1998-07-01 2000-01-21 Hitachi Ltd Information processing device and system
JP2002515201A (en) * 1996-03-15 2002-05-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Digital signal encoding method and apparatus
JP2005012496A (en) * 2003-06-19 2005-01-13 Olympus Corp Adaptive variable length encoder, adaptive variable length encoding method, and adaptive variable length encoding program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0250667A (en) * 1988-08-12 1990-02-20 Matsushita Electric Works Ltd Interphone set with monitor
JPH07221652A (en) * 1994-01-31 1995-08-18 Fujitsu Ltd Data compression method
JPH08162973A (en) * 1994-12-09 1996-06-21 Hitachi Ltd Data processing method and device and information system using this data processor
JP3288191B2 (en) * 1994-12-13 2002-06-04 富士通株式会社 Encoding method and encoding / decoding device using level plane expansion method
JP3407588B2 (en) * 1997-03-19 2003-05-19 株式会社日立製作所 Encoding / decoding device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002515201A (en) * 1996-03-15 2002-05-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Digital signal encoding method and apparatus
JP2000022552A (en) * 1998-07-01 2000-01-21 Hitachi Ltd Information processing device and system
JP2005012496A (en) * 2003-06-19 2005-01-13 Olympus Corp Adaptive variable length encoder, adaptive variable length encoding method, and adaptive variable length encoding program

Also Published As

Publication number Publication date
JP2006345374A (en) 2006-12-21

Similar Documents

Publication Publication Date Title
KR100894002B1 (en) Device and data method for selective compression and decompression and data format for compressed data
US10979071B2 (en) Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation
US8704685B2 (en) Encoding method, encoding apparatus, decoding method, decoding apparatus, and system
US5844508A (en) Data coding method, data decoding method, data compression apparatus, and data decompression apparatus
KR101049699B1 (en) Data Compression Method
JP4814999B2 (en) Data compression / decompression method and compression / decompression program
JPH1079673A (en) Data compressing/restoring method
US20190052284A1 (en) Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method
WO2001063772A1 (en) Method and apparatus for optimized lossless compression using a plurality of coders
JP2000269822A (en) Data compressor and data restoring device
EP1941617A1 (en) Method and system for compressing data
JP5619326B2 (en) Encoding device, decoding device, encoding method, encoding program, decoding method, and decoding program
JP2012134858A (en) Data compression apparatus, data compression method and data compression program
Al-Bahadili A novel lossless data compression scheme based on the error correcting Hamming codes
JP4497029B2 (en) Data encoding apparatus and data encoding method
US9479195B2 (en) Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
WO2014030189A1 (en) Compression program, compression method, compression device, expansion program, expansion method, expansion device, and data transfer system
US8638243B2 (en) Data compression device, data compression method, and medium
JP2536422B2 (en) Data compression device and data decompression device
JP4758494B2 (en) Circuit and method for converting bit length to code
JP6135788B2 (en) Compression program, compression method, compression device, decompression program, decompression method, decompression device, and data transfer system
JP4093200B2 (en) Data compression method and program, and data restoration method and apparatus
CN111274950B (en) Feature vector data encoding and decoding method, server and terminal
Ghuge Map and Trie based Compression Algorithm for Data Transmission
JP4093193B2 (en) Data compression method and program, and data restoration method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100128

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: 20100323

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100405

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees