JP4497029B2 - Data encoding apparatus and data encoding method - Google Patents
Data encoding apparatus and data encoding method Download PDFInfo
- 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
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.
しかしながら,上記の方法では,シンボルの個数が多くなるとそれにしたがい,符号化テーブル情報のうち,「(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 i
Σ 2Lj 〜 Σ 2Lj−1
j=1 j=1
B(3) 次の値X’を求める。
i−1
X’=X−Σ 2Lj+1
j=1
B(4) i<kの場合,X’をLiビットの2進数表現したものの先頭に,1(i−1)0(1をi−1個連続させた後に0を付加したもの)を付加したものを符号語とする。また,i=kの場合,X’をLkビットの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
j = 1 j = 1
B (3) The next value X ′ is obtained.
i-1
X ′ = X−
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のべき乗(2i: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
データ符号化装置100は,バッファ101と最大値検出部102と累積出現頻度分布計測部103と符号化部104とを含んで構成されている。バッファ101は,データ符号化装置100へ入力されるシンボル系列を入力し,そのうち,符号化テーブルを生成する際に必要となるW個のシンボル(データ)を保持する。また,バッファ101は,シンボルを符号化する際,保持してあるシンボル系列を符号化部104に出力する。なお,バッファ101は,データ符号化装置100の記憶部に相当する。
The
最大値検出部102は,W個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値(最大値)を累積出現頻度分布計測部103に出力する。累積出現頻度分布計測部103は,W個のシンボルを観測するとともに,最大値検出部102から出力される最大値を用いて,累積出現頻度分布を以下のA(1)〜A(4)の方法にて算出し,その結果得られるk,および,Li(i=1,2,…,k)を符号化テーブル情報として符号化部104に出力する。
The maximum
A(1)〜A(4)の方法は,以下のとおりである。
A(1) k=1,C=0とする。
A(2) 出現頻度(出現回数)をシンボルCから順に累積し,その累積値がW/2kに一番近いところになったシンボルXを求める。
A(3) (X−C+1)の値を表すのに必要なビット数Lkを求める。
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,Li(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,Li(i=1,2,…,k)を用いて,バッファ101より受け取ったシンボルを次のようなB(1)〜B(4)工程で圧縮符号化し,圧縮符号化した系列を出力する。
B(1) k=1の場合,シンボルXを単に2進数表現したものを符号語とする。
B(2) k>1の場合,まず,以下のどの範囲にあるかを判定し,iを特定する。
i−1 i
Σ 2Lj 〜 Σ 2Lj−1
j=1 j=1
B(3) 次の値X’を求める。
i−1
X’=X−Σ 2Lj+1
j=1
B(4) i<kの場合,X’をLiビットの2進数表現したものの先頭に,1(i−1)0(1をi−1個連続させた後に0を付加したもの)を付加したものを符号語とする。また,i=kの場合,X’をLkビットの2進数表現したものの先頭に,1k−1(1をk−1個連続させたもの)を付加したものを符号語とする。
The
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
j = 1 j = 1
B (3) The next value X ′ is obtained.
i-1
X ′ = X−
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
(データ復号装置の構成)
図2に示したデータ復号装置200(データ伸張復号装置)は,データ符号化装置100にて圧縮符号化されたデータを伸張復号する。データ復号装置200は,復号部201を含んで構成されている。復号部201は,符号化データ(符号化テーブル情報(k,および,Li(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
具体的には,次のようなC(1)〜C(3)工程で,シンボルの復号に必要な部分の符号語を切り出してシンボルXに変換する。
C(1) k=1の場合,符号語長L1で,シンボルの復号に必要な部分の符号語を切り出し,それがシンボルの2進数表現になっているとして,シンボルに戻す。
C(2) k>1の場合,先頭ビットが1(i−1)0(i=1,2,…,k−1)であるとき,その1(i−1)0(i=1,2,…,k−1)より後ろを符号語長Liで,シンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。また,先頭ビットが1k−1であるとき,そのより後ろを符号語長Lkで,シンボルの復号に必要な部分の符号語を切り出し,それが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 ′ +
j = 1
データ復号装置200は,このようにしてデータ符号化装置100により圧縮符号化されたデータを伸張復号するようになっている。
The
なお,データ符号化装置100およびデータ復号装置200は,それぞれ,図示しないCPU,ROMおよびインターフェース等をそれぞれ備えていて,各ROMには,各装置の各機能を実行するためのプログラムや各種データがそれぞれ記憶されている。また,各CPUは,バッファに保持されたシンボルに関する情報や,各ROMに記憶された各プログラムを実行することにより各装置の機能を達成するようになっている。
Each of the
(データ符号化装置100の動作)
つぎに,データ符号化装置100が,図3のシンボル列のうちW個のシンボル(X1〜Xw)を入力し,それらのシンボルに対して実行する圧縮符号化処理について,図4のフローチャートを参照しながら説明する。
(Operation of Data Encoding Device 100)
Next, the
まず,データ符号化装置100のCPUは,ステップS400から処理を開始し,ステップS401に進んで,圧縮符号化すべきシンボルがあるかどうかを判定する。この時点で,図3のW個のシンボル(X1〜Xw)がある場合,CPUは,ステップS401にて「Yes」と判定し,ステップS402に進んで,W個のシンボルをバッファ101に読み込む。なお,圧縮符号化すべきシンボルがW個よりも少ない場合には,以降のステップでのWをその個数とする。以下の説明では,Wを「1000」個として説明する。
First, the CPU of the
つぎに,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/2kに一番近いところになったシンボルXを求める。これは,上述したA(2)に相当する。なお,W/2kは,予め定められた目標累積値の一例であり,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
具体的には,図5に示したように,SUM(0)の値(累積値AC)は400,SUM(0)〜SUM(1)の累積値ACは700である。そこで,CPU(累積出現頻度分布計測部103)は,累積値ACがW/2k(=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
ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1)の値を表すのに必要なビット数をLkに設定する。これは,上述したA(3)に相当する。この時点で,X−C+1=0−0+1=1となる。この値「1」を表すのに必要なビット数は1ビットであるから,CPU(累積出現頻度分布計測部103)は,Lk(=L1)に「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で算出したLi(i=1,2,…,k)から求めた以下の範囲,
k−1 k
Σ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,Lk(=L1)=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+21)の値「2」をCに設定するとともに,kを1増やして(すなわち,k=2),ステップS406に戻る。このようにして,1回目のループを終了した結果,符号化テーブル情報としてL1=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/2kに一番近いところになったシンボルXを求める。具体的には,図5に示したように,SUM(2)の値(累積値AC)は150,SUM(2)〜SUM(3)の累積値ACは250,SUM(2)〜SUM(4)の累積値ACは280である。そこで,CPU(累積出現頻度分布計測部103)は,累積値ACがW/2k(=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
ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1(=3−2+1))の値「2」を表すのに必要なビット数「1」をLk(=L2)に設定する。 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,L2=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回目のループを終了した結果,符号化テーブル情報としてL2=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/2kに一番近いところになったシンボルXを求める。具体的には,図5に示したように,SUM(4)の値(累積値AC)は30,SUM(4)〜SUM(5)の累積値ACは40,SUM(4)〜SUM(6)の累積値ACは50である。そこで,CPU(累積出現頻度分布計測部103)は,累積値ACがW/2k(=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
ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1)の値「3」(=6−4+1)を表すのに必要なビット数「2」をLk(=L3)に設定する。 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,L2=2である。したがって,C(=4)≦Cmax(=6)≦C+2Lk−1(=4+4−1=7)となり,条件は満たされている。そこで,CPU(累積出現頻度分布計測部103)は,ステップS408にて「Yes」と判定して,ステップS410に進む。なお,3回目のループを終了した結果,符号化テーブル情報としてL3=2が求められた。また,このようにして1〜3回のループ処理が実行された結果,k=3,L1=1,L2=1,L3=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
CPU(符号化部104)は,ステップS410にて,符号化テーブル情報(k=3,L1=1,L2=1,L3=2)を用いてW個のシンボルを符号化し,符号化されたW個のシンボルからなる系列と符号化テーブル情報とを符号化データとして出力する。符号化テーブル情報(k=3,L1=1,L2=1,L3=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個連続するときは1mや0mと表記する。
(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,L1=1,L2=1,L3=2である。したがって,k≠1であるので,この場合には,以下のB(2)〜B(4)によりシンボルXを符号語に変換する。
B(2) k>1の場合,まず,以下のどの範囲にあるかを判定し,iを特定する。
i−1 i
Σ 2Lj 〜 Σ 2Lj−1
j=1 j=1
B(3) 次の値X’を求める。
i−1
X’=X−Σ 2Lj+1
j=1
B(4) i<kの場合,X’をLiビットの2進数表現したものの先頭に,1(i−1)0を付加したもの(1をi−1個連続させた後に0を付加したもの)を符号語とする。また,i=kの場合,X’をLkビットの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
j = 1 j = 1
B (3) The next value X ′ is obtained.
i-1
X ′ = X−
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
このようにして,CPU(符号化部104)は,各シンボルを符号化し,符号化したシンボルの系列を符号化テーブル情報(k,Li(i=1,2,…,k))すなわち,k=3,L1=1,L2=1,L3=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,L1=1,L2=1,L3=2)と符号化されたシンボルの系列を受け取り,次のC(1)〜C(3)の方法を用いて,符号化テーブル情報を参照しながら,符号化したシンボルの系列からシンボルの復号に必要な部分の符号語を取り出し,対応するシンボルに変換して出力する。
(Symbol expansion decoding)
Next, the operation of the
具体的には,つぎのような工程で符号語を切り出してシンボルXに変換する。
C(1) k=1の場合,符号語長L1で,シンボルの復号に必要な部分の符号語を切り出し,それがシンボルの2進数表現になっているとしてシンボルに戻す。
C(2) k>1の場合,先頭ビットが1(i−1)0(i=1,2,…,k−1)であるとき,その1(i−1)0(i=1,2,…,k−1)より後ろを符号語長Liで,シンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。また,先頭ビットが1k−1であるとき,そのより後ろを符号語長Lkで,シンボルの復号に必要な部分の符号語を切り出し,それが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 ′ +
j = 1
By such a method, the
第1実施形態にかかるデータ符号化装置100およびデータ復号装置200によれば,圧縮しようとするデータのシンボルが0以上の正の値で,その出現特性が0に近い値ほど出現確率が高いものを圧縮符号化するとき,従来必要であった符号化テーブル情報のうち,「出現確率順に並べたシンボル情報」が必要なくなる。さらに,符号語長(Li(i=1,2,…,k))からその符号語長を持つ符号語数を計算することができるので,従来必要であった符号化テーブル情報のうち,「各符号長の符号語の個数を示す情報」は,符号化テーブルを構成する符号語で使用されている符号語長(Li(i=1,2,…,k))を列挙するだけでよい。この結果,符号化テーブル情報が持つ情報量を大幅に少なくすることができる。
According to the
(第2実施形態) (Second Embodiment)
つぎに,第2実施形態にかかるデータ符号化装置100およびデータ復号装置200について説明する。第1実施形態のデータ符号化装置100では,符号化しようとするW個のシンボル毎に符号化テーブル情報を生成して各シンボルを符号化し,符号化テーブル情報も符号化したシンボルとともに符号化データに含める必要があった。
Next, the
第2実施形態では,図10に示したように,符号化しようとするシンボル(Xw+1〜)よりも前のW個のシンボル(X1〜Xw)から符号化テーブル情報を生成する。ここで,符号化しようとするシンボルとは,たとえば,データ符号化装置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
(データ符号化装置の構成)
まず,図8を用いて,第2実施形態にかかるデータ符号化装置100の構成を説明する。第2実施形態のデータ符号化装置100は,バッファ101と最大値検出部102と累積出現頻度分布計測部103と符号化部104と符号化テーブル情報保持部805とを含んで構成されている。
(Configuration of data encoding device)
First, the configuration of the
データ符号化装置100への入力は,第1実施形態と同様に,圧縮符号化しようとするデータのシンボル系列であり,各シンボルは0以上の正の整数をとるものとする。シンボル系列は,あるW個のシンボル毎にシンボルの出現頻度や最大値を検出し,それをもとに符号化テーブル情報を生成し,その符号化テーブル情報を用いてそのW個のシンボルを符号化する。
The input to the
バッファ101は,データ符号化装置100へ入力される最新のW個のシンボルを保持しておくことができるメモリである。また,バッファ101は,最新のW個のシンボルの各シンボル値の出現頻度を記憶する。このバッファ101の内容は,最大値検出部102および累積出現頻度分布計測部103から参照される。
The
最大値検出部102は,バッファ101にあるW個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値を累積出現頻度分布計測部103に出力する。累積出現頻度分布計測部103は,バッファ101にあるW個のシンボルを観測し,最大値検出部102から出力される最大値を用いて,累積出現頻度分布を上述したA(1)〜A(4)のように算出して,最終的に得られるk,および,Li(i=1,2,…,k)を符号化テーブル情報として符号化テーブル情報保持部805へ出力する。
The maximum
符号化部104は,符号化テーブル情報保持部805に保持してある符号化テーブル情報k,Li(i=1,2,…,k)を受け取り,受け取った符号化テーブル情報を用いてデータ符号化装置100に入力されたシンボルを圧縮符号化する。
The
具体的には,符号化部104は,上述したB(1)〜B(4)の工程でシンボルを符号語に変換する。ただし,B(1)を削除し,B(2)をk=1の場合にも適用する。さらに,B(4)の工程では,i=kの場合にも,X’をLiビットの2進数表現したものの先頭に,1(i−1)0(1をi−1個連続させた後に0を付加したもの)を付加したものを符号語とするようにする。
Specifically, the
また,符号化テーブル情報を生成するときに検出した最大値よりも大きい値のシンボル(Xとする)である場合には,i=k+1とし,次のX’を算出し,X’をビット数L0の2進数表現したものの先頭に,1k(1をk個連続させたもの)を付加したものを符号語とする。
k
X’=X− Σ 2Lj +1
j=1
ここで,L0は,次の値を表すのに必要なビット数である。
k
2L − Σ 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−
j = 1
Here, L 0 is the number of bits necessary to represent the next value.
k
2 L -
j = 1
Here, L is the symbol bit length.
符号化部104は,上記のように符号化した符号語を出力する。符号化テーブル情報保持部805は,符号化テーブル情報を保持するためのメモリで構成され,データ符号化装置100へ入力されたシンボルを符号化するために,符号化部104へ符号化テーブル情報を提供すると共に,データ符号化装置100へ入力されたシンボルを含めた最新W個のシンボルから生成された符号化テーブル情報を累積出現頻度分布計測部103より受け取り,上書き,保持する。
The
(データ復号装置の構成)
つぎに,図9を用いて,第2実施形態にかかるデータ復号装置200の構成を説明する。データ復号装置200は,復号部201と符号化テーブル情報保持部902と累積出現頻度分布計測部903と最大値検出部904とバッファ905とを含んで構成されている。
(Configuration of data decoding device)
Next, the configuration of the
バッファ905は,データ符号化装置100から送信されるパラメータ情報に基づいて,データ符号化装置100から送信される,符号化されたシンボル系列から1または2以上のシンボルを入力し,入力した1または2以上のシンボルを含んだ最新のW個のシンボルを保持しておくことができるメモリである。パラメータ情報は,符号化されたシンボル系列のうち,一回の復号処理に対して入力すべきシンボルの区切りを示す。
The
また,バッファ905は,最新のW個のシンボルの各シンボル値の出現頻度を記憶する。このバッファ905の内容は,最大値検出部904および累積出現頻度分布計測部903から参照される。なお,バッファ905は,データ復号装置200の記憶部に相当する。
The
最大値検出部904は,バッファ905にあるW個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値を累積出現頻度分布計測部903に出力する。
The maximum value detection unit 904 detects the symbol having the maximum value among the W symbols in the
累積出現頻度分布計測部903は,バッファ905にあるW個のシンボルを観測し,最大値検出部904から出力される最大値を用いて,累積出現頻度分布を上記A(1)〜A(4)の方法にて算出し,最終的に得られるk,および,Li(i=1,2,…,k)を符号化テーブル情報として符号化テーブル情報保持部902へ出力する。
The cumulative appearance frequency distribution measurement unit 903 observes W symbols in the
この符号化テーブル情報保持部902は,符号化テーブル情報を保持するためのメモリで構成され,初期値として,データ符号化装置100から送信された符号化テーブル情報を保持する。その後,データ復号装置200へ入力されたシンボルを復号するために,復号部201に符号化テーブル情報を提供すると共に,そのとき復号されたシンボルを含めた最新W個のシンボルから累積出現頻度分布計測部903より生成された新たな符号化テーブル情報を上書き,保持する。
The encoding table
復号部201は,シンボルを符号化した系列を受け取り,符号化テーブル情報保持部902に保持している符号化テーブル情報を参照しながら,シンボルを符号化した系列から符号語を取り出し,対応するシンボルに変換して出力する。具体的には,つぎに示すC(1)’〜C(2)’の工程で,シンボルの復号に必要な部分の符号語を切り出してシンボルに変換する。
The
C(1)’ 先頭ビットが1(i−1)0(i=1,2,…,k)であるとき,その1(i−1)0(i=1,2,…,k)より後ろを符号語長Liで,シンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。また,先頭ビットが1k(このときはi=k+1とする)であるとき,そのより後ろを符号語長L0でシンボルの復号に必要な部分の符号語を切り出し,それが2進数表現として表している数値をX’とおく。L0は,次の値を表すのに必要なビット数である。Lはシンボルのビット長とする。
k
2L − Σ 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 -
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 ′ +
j = 1
By such a method, the
このようにして得られたシンボルは,復号データ(シンボル)として出力すると共に,次の符号化データを復号するための符号化テーブル情報を生成するために,バッファ905へ出力される。また,バッファ905には,復号された最新のW個のシンボルの各シンボル値の出現個数(出現頻度)を記憶してもよい。
The symbols obtained in this way are output as decoded data (symbols) and are output to the
(データ符号化装置100の動作)
つぎに,本実施形態のデータ符号化装置100が実行する圧縮符号化処理について,図11のフローチャートを参照しながら説明する。この説明では,最初に,符号化テーブル情報保持部805に保持されている符号化テーブル情報を用いてW個のシンボル(シンボルX1〜Xw)を圧縮符号化した後の処理であって,今回外部から入力した新たなシンボルを圧縮符号化するとともに,次回外部から入力する新たなシンボルを圧縮符号化するために,今回圧縮符号化されたW個のシンボルから,符号化テーブル情報を生成する処理について説明する。
(Operation of Data Encoding Device 100)
Next, compression encoding processing executed by the
まず,データ符号化装置100のCPUは,ステップS1100から処理を開始し,ステップS401に進んで,圧縮符号化すべきシンボルがあるかどうかを判定する。圧縮符号化すべきシンボルが無ければ,CPUは,ステップS401にて「No」と判定してステップS1105に進んで処理を終了する。圧縮符号化すべきシンボルがある場合,CPUは,ステップS401にて「Yes」と判定して,ステップS1101に進み,1つのシンボル(図10のシンボルXw+1)をバッファ101および符号化部104へ入力してステップS1102に進む。
First, the CPU of the
つぎに,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’をLiビットの2進数表現したものの先頭に,1(i−1)0(1をi−1個連続させた後に0を付加したもの)を付加したものを符号語とするようにする。符号化テーブル情報を生成するときに検出した最大値よりも大きい値のシンボル(Xとする)である場合には,i=k+1とし,次のX’を算出し,X’をビット数L0の2進数表現したものの先頭に,1k(1をk個連続させたもの)を付加したものを符号語とする。
k
X’=X− Σ 2Lj +1
j=1
L0は,次の値を表すのに必要なビット数である。
k
2L − Σ 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−
j = 1
L 0 is the number of bits necessary to represent the next value.
k
2 L -
j = 1
Here, L is the symbol bit length.
つぎに,CPUは,ステップS1103に進んで,バッファ101に保持されたW個のシンボルX2〜Xw+1の各シンボルの出現回数を求め,ステップS404に進んでW個のシンボルX2〜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
つぎに,CPU(累積出現頻度分布計測部103)は,ステップS405に進んで,初期設定として,k=1,C=0を設定する。これは,累積出現頻度分布計測部103の構成説明の工程A(1)に相当する。つぎに,CPU(累積出現頻度分布計測部103)は,ステップS406に進んで,出現個数をシンボルCから順に累積し,累積値がW/2kに最も近いシンボル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
ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進み,(X−C+1)の値を表すのに必要なビット数Lkを求める。これは,累積出現頻度分布計測部103の構成説明の工程A(3)に相当する。つぎに,CPU(累積出現頻度分布計測部103)は,ステップS408に進んで,ステップS404で検出したシンボルの最大値が,ステップS407で算出したLi(i=1,2,…,k)から求めた範囲,
k−1
k
Σ 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
k-1
k
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,Li(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
(データ復号装置200の動作)
つぎに,本実施形態のデータ復号装置200が実行する伸張復号処理について,図12のフローチャートを参照しながら説明する。この説明では,最初に,符号化テーブル情報保持部902に保持されている符号化テーブル情報を用いてW個のシンボル(シンボルX1〜Xw)を伸張復号した後の処理であって,今回,データ符号化装置100から送信された新たなシンボルを伸張復号するとともに,次回,データ符号化装置100から送信される新たなシンボルを伸張復号するために,今回伸張復号されたW個のシンボルから,符号化テーブル情報を生成する処理について説明する。
(Operation of Data Decoding Device 200)
Next, the decompression decoding process executed by the
まず,データ復号装置200のCPUは,ステップS1200から処理を開始し,ステップS1201に進んで,復号すべき符号化データがあるかどうかを判定する。復号すべき符号化データが無ければ,CPUは,ステップS1201にて「No」と判定してステップS1210に進んで処理を終了する。
First, the CPU of the
一方,復号すべき符号化データがある場合,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
つぎに,CPUは,ステップS1203に進んで,バッファ905に保持されたW個のシンボルX2〜Xw+1の各シンボルの出現回数を求め,ステップS1204に進んでW個のシンボルX2〜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
つぎに,CPU(累積出現頻度分布計測部903)は,ステップS1205に進んで,初期設定として,k=1,C=0を設定する。これは,累積出現頻度分布計測部903の構成説明の工程A(1)に相当する。つぎに,CPU(累積出現頻度分布計測部903)は,ステップS1206に進んで,バッファ905内のシンボル列において,出現頻度をシンボルCから順に累積し,累積値がW/2kに最も近いシンボル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
ついで,CPU(累積出現頻度分布計測部903)は,ステップS1207に進み,(X−C+1)の値を表すのに必要なビット数Lkを求める。これは,累積出現頻度分布計測部903の構成説明の工程A(3)に相当する。つぎに,CPU(累積出現頻度分布計測部903)は,ステップS1208に進み,ステップS1204にて検出した最大値が,ステップS1207にて算出したLi(i=1,2,…,k)から求めた範囲,
k−1 k
Σ 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
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,Li(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
第2の実施形態では,符号化テーブル情報を生成するためには,符号化しようとするシンボルよりも前のW個のシンボルから符号化テーブル情報を生成させることにより,データ復号装置200において,すでに復号したシンボルから符号化テーブル情報を生成することができる。これにより,データ復号装置200は,符号化データとして符号化テーブル情報を一回のみデータ符号化装置100から受け取れば,その後,この情報をデータ符号化装置100から受け取る必要がなくなる。この結果,データ符号化装置100は,符号化テーブル情報を圧縮符号化データに含めなくてもよくなり,オーバーヘッドが小さくなる。
In the second embodiment, in order to generate encoding table information, the
(第2実施形態の変形例)
第2実施形態では,図11に示したように,データ符号化装置100は,W個のシンボルを「一つずつ」シフトさせて(たとえば,シンボルX1〜XwからシンボルX2〜Xw+1にシフトさせて),シフトさせた範囲のシンボルの出現個数をバッファ101に保持し,保持したシンボルの出現個数から,次回送信される新たなシンボルを圧縮符号化するための符号化テーブル情報を生成し,その情報を符号化テーブル情報保持部805に保持した。
(Modification of the second embodiment)
In the second embodiment, as illustrated in FIG. 11, the
また,第2実施形態では,図12に示したように,データ復号装置200は,W個のシンボルを「一つずつ」シフトさせて(たとえば,シンボルX1〜XwからシンボルX2〜Xw+1にシフトさせて),シフトさせた範囲のシンボルおよびそれらのシンボル値の出現個数をバッファ905に保持し,保持したシンボル値の出現個数から,次回,データ符号化装置100から送信される新たなシンボルを伸張復号するための符号化テーブル情報を生成し,その情報を符号化テーブル情報保持部902に保持した。
In the second embodiment, as illustrated in FIG. 12, the
これに対して,本実施形態の変形例では,データ符号化装置100のCPUは,図11のステップS1101にて,シンボルを新たにW個(シンボルXw+1〜X2w)入力する。この場合,CPUは,ステップS1102にて,新たに入力したW個のシンボルを符号化するとともに,バッファ101に保持されたシンボルX1〜XwおよびシンボルX1〜Xwの出現個数をシンボル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
また,本実施形態の変形例では,データ復号装置200のCPUは,データ符号化装置100から送信されるW個のシンボル(シンボルXw+1〜X2w)を入力し,図12のステップS1202にて,そのW個のシンボルを復号するとともに,バッファ905に保持されたシンボルX1〜XwおよびシンボルX1〜Xwの出現個数をシンボルXw+1〜X2wおよびシンボルXw+1〜X2wの出現個数に更新した後,今回入力したW個のシンボルの出現個数を用いてステップS1205〜ステップS1209を処理することにより,次回,データ符号化装置100から送信される新たなW個のシンボルを伸張復号するための符号化テーブル情報を生成し,ステップS1210にて,生成した符号化テーブル情報保持部902に保持する。
In the modification of the present embodiment, the CPU of the
このように,第2実施形態の変形例では,データ符号化装置100およびデータ復号装置200は,前回入力したW個のシンボルから今回新たに入力したW個のシンボルを符号化および復号するための符号化テーブル情報を生成する。このように,データ復号装置200において,すでに復号したシンボル(前回入力したW個のシンボル)から符号化テーブル情報を生成することができる。このため,データ復号装置200は,符号化データとして符号化テーブル情報を一回受け取れば,その後,この情報を受け取る必要がなくなる。この結果,符号化テーブル情報を圧縮符号化データに含めなくてもよくなり,オーバーヘッドが小さくなる。
As described above, in the modification of the second embodiment, the
(第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 (
本実施形態では,図13の右側に示したように,最小のシンボル値から順に各シンボル値を2のべき乗(2i: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
具体的には,各シンボル値は,シンボル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
本実施形態によれば,シンボル値の出現頻度をシンボル値毎に記憶するバッファ101およびバッファ905内のメモリ領域を小さくすることができる。また,累積出現頻度分布計測部103および累積出現頻度分布計測部903が行うループ処理の繰り返し回数が少なくなるため,CPUの負荷を軽減することができる。
According to the present embodiment, it is possible to reduce the memory area in the
上記実施形態において,各部の動作はお互いに関連しており,互いの関連を考慮しながら,一連の動作として置き換えることができる。そして,このように置き換えることにより,方法の発明の実施形態とすることができる。 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.
100 データ符号化装置
101 バッファ
102 最大値検出部
103 累積出現頻度分布計測部
104 符号化部
200 データ復号装置
201 復号部
805 符号化テーブル生成情報保持部
902 符号化テーブル生成情報保持部
903 累積出現頻度分布計測部
904 最大値検出部
905 バッファ
DESCRIPTION OF
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を求めることを特徴とする請求項1に記載されたデータ符号化装置。 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〜3のいずれかに記載されたデータ符号化装置。 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〜5のいずれかに記載されたデータ符号化装置。 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〜6のいずれかに記載されたデータ符号化装置。 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以上のシンボルを前記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化することを特徴とする請求項7に記載されたデータ符号化装置。 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.
前記各シンボル値の出現頻度をシンボル値毎に記憶する代わりに,最小のシンボル値から順に各シンボル値を2のべき乗毎に区切り,その区切り内の各シンボル値の出現頻度を区切り毎に累積し,その累積値をそれぞれ記憶することを特徴とする請求項8に記載されたデータ符号化装置。 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6658908B2 (en) * | 2016-10-12 | 2020-03-04 | 富士通株式会社 | Output program, output method and output system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000022552A (en) * | 1998-07-01 | 2000-01-21 | Hitachi Ltd | Information processing apparatus and information processing 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)
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 the data processing device |
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 |
-
2005
- 2005-06-10 JP JP2005170862A patent/JP4497029B2/en not_active Expired - Fee Related
Patent Citations (3)
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 apparatus and information processing 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 | |
CN108768403B (en) | Lossless data compression and decompression method based on LZW and LZW encoder and decoder | |
US8704685B2 (en) | Encoding method, encoding apparatus, decoding method, decoding apparatus, and system | |
KR101049699B1 (en) | Data Compression Method | |
JP4814999B2 (en) | Data compression / decompression method and compression / decompression program | |
CN101095284B (en) | Device and data method for selective compression and decompression and data format for compressed data | |
JPH1079673A (en) | Data compression / decompression method | |
US9479195B2 (en) | Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device | |
US20190052284A1 (en) | Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method | |
EP1941617A1 (en) | Method and system for compressing data | |
EP1266455A1 (en) | Method and apparatus for optimized lossless compression using a plurality of coders | |
JP2000269822A (en) | Data compression device and data decompression device | |
JP5619326B2 (en) | Encoding device, decoding device, encoding method, encoding program, decoding method, and decoding program | |
WO2014030189A1 (en) | Compression program, compression method, compression device, expansion program, expansion method, expansion device, and data transfer system | |
CN111274950B (en) | Feature vector data encoding and decoding method, server and terminal | |
JP2536422B2 (en) | Data compression device and data decompression device | |
JP4497029B2 (en) | Data encoding apparatus and data encoding method | |
JP6135788B2 (en) | Compression program, compression method, compression device, decompression program, decompression method, decompression device, and data transfer system | |
US8638243B2 (en) | Data compression device, data compression method, and medium | |
JP4093200B2 (en) | Data compression method and program, and data restoration method and apparatus | |
JP4093193B2 (en) | Data compression method and program, and data restoration method and apparatus | |
Ghuge | Map and Trie based Compression Algorithm for Data Transmission | |
US11967975B1 (en) | Method and apparatus for recursive data compression using seed bits | |
JPH07221652A (en) | Data compression method | |
JP2025024868A (en) | Decoder, Encoder, Decoding Method, and Encoding Method |
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 |