JP2006345374A - データ符号化装置,データ復号装置,データ符号化方法およびデータ復号方法 - Google Patents

データ符号化装置,データ復号装置,データ符号化方法およびデータ復号方法 Download PDF

Info

Publication number
JP2006345374A
JP2006345374A JP2005170862A JP2005170862A JP2006345374A JP 2006345374 A JP2006345374 A JP 2006345374A JP 2005170862 A JP2005170862 A JP 2005170862A JP 2005170862 A JP2005170862 A JP 2005170862A JP 2006345374 A JP2006345374 A JP 2006345374A
Authority
JP
Japan
Prior art keywords
table information
symbol
encoding
data
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005170862A
Other languages
English (en)
Other versions
JP4497029B2 (ja
Inventor
Yasuko Matsumura
靖子 松村
Shigeru Fukunaga
茂 福永
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/ja
Publication of JP2006345374A publication Critical patent/JP2006345374A/ja
Application granted granted Critical
Publication of JP4497029B2 publication Critical patent/JP4497029B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】 情報量が低減された符号化テーブル情報を生成するデータ符号化装置,その符号化テーブル情報を用いてデータを復号するデータ復号装置を提供する。
【解決手段】 データ符号化装置100では,累積出現頻度分布計測部103が,外部から入力された一定個数のシンボルに対して出現頻度を算出し,算出された各シンボルの出現頻度の所定の累積値と所与の目標累積値とに基づいて,各シンボルの符号語長に関連した情報である符号化テーブル情報を生成する。また,符号化部104は,生成された符号化テーブル情報を用いて各シンボルを符号語にそれぞれ符号化する。一方,データ復号装置では,復号部201が,データ符号化装置100から送信された一定個数の符号語と符号化テーブル情報とを入力し,符号化テーブル情報を用いて各符号語を各シンボルにそれぞれ復号する。
【選択図】 図1

Description

本発明は,データを符号化するデータ符号化装置,符号化されたデータを復号するデータ復号装置およびこれらの方法に関する。
従来から,データを無歪で圧縮/伸張する方法として,以下に説明するハフマン符号という技術が提案されている(たとえば,特許文献1を参照。)。たとえば,圧縮しようとするデータがN値のシンボルからなる系列(例えば,英字の文章であるとアルファベット(26+3(空白,ピリオド,カンマ)値のシンボル)からなる系列となる)であるとする。ハフマン符号化は大まかに次の(1)〜(4)の手順を取る。
(1)圧縮しようとするデータの各シンボルの出現確率を調べる。
(2)その出現確率を利用して,出現確率の高いシンボルには短い符号長の符号語を割り当て,出現確率の低いシンボルには長い符号長の符号語を割り当てるように,符号化テーブルを作成する。
(3)圧縮しようとするデータをシンボル毎に符号化テーブルを引き,対応する符号語に符号化する。
(4)符号化後のデータの先頭に,符号化テーブルに対応する符号化テーブル情報を付加する。
この符号化テーブル情報は,次の2つの情報からなる。
(I)各符号長の符号語の個数を示す情報
(II)出現確率順に並べたシンボル情報
また,その符号化された系列を復号する際には,大まかに次の(1)〜(2)の手順を取る。
(1)符号化データの先頭にある符号化テーブル情報から,符号化テーブルを生成する。
(2)符号化テーブルを引き,符号語に対するシンボルを復号する。
特開平8−162973号公報
しかしながら,上記の方法では,シンボルの個数が多くなるとそれにしたがい,符号化テーブル情報のうち,「(II)出現確率順に並べたシンボル情報」が多くなってしまうという問題点があった。たとえば,16ビットで表される全ての値をシンボルに割り当てたとすると,そのシンボルの個数は216=65536個になり,その出現確率順を表そうとすると,65536×16=1048576ビットも必要となってしまう。
そこで,本発明は,このような問題に鑑みてなされたもので,その目的とするところは,情報量が低減された符号化テーブル情報を生成するデータ符号化装置,その符号化テーブル情報を用いてデータを復号するデータ復号装置およびそれらの方法を提供することにある。
上記課題の少なくとも一つを解決するために,本発明のある観点によれば,シンボルを符号化するデータ符号化装置であって,外部から入力された一定個数のシンボルの各シンボル値の出現頻度を算出し,上記算出された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて,各シンボルが符号化された符号語の符号語長に関連した情報を符号化テーブル情報として生成する累積出現頻度分布計測部と,上記生成された符号化テーブル情報を用いて上記各シンボルをそれぞれ符号化する符号化部と,を備えることを特徴とするデータ符号化装置が提供される。
これによれば,各シンボルの出現頻度の累積値と予め定められた目標累積値とに基づいて符号化テーブル情報が生成される。この符号化テーブル情報は,各シンボルが符号化された符号語の符号語長に関連した情報であり,従来の符号化テーブル情報に含まれていた「出現確率順に並べたシンボル情報」を含まない。この結果,符号化テーブル情報が持つ情報量を少なくすることができる。特に,「出現確率順に並べたシンボル情報」は,符号化するシンボルの個数が多くなるとそれにしたがい膨大な情報量となる。このため,特に符号化するシンボルの個数が多い場合には,従来の符号化テーブル情報に比べ,本発明の符号化テーブル情報が持つ情報量を非常に少なくすることができる。なお,「各シンボル値の出現頻度」とは,たとえば,各シンボル値の出現確率であってもよく,各シンボル値の出現回数(出現個数)であってもよい。
上記累積出現頻度分布計測部は,任意のシンボル値(たとえば,最小のシンボル値)から昇順に各シンボル値の出現頻度を累積し,その累積値が上記目標累積値に最も近い値となった場合,その累積値を求める対象となったシンボル値を符号化して表すために必要なビット数Liを求めるループ処理を所定の条件を満たすまで繰り返し,その繰り返し回数kと上記各ループ処理にて求められたビット数Li(i=1,2,・・,k)とを上記符号化テーブル情報として生成してもよい。
このとき,上記外部から入力された一定個数のシンボルの最大値を検出する最大値検出部を備え,上記累積出現頻度分布計測部は,上記検出されたシンボルの最大値が上記所定の条件を満たすまで,上記ループ処理を繰り返してもよい。
また,このとき使用される目標累積値は,ループ処理を繰り返す毎に小さくなる値であってもよい。
また,上記符号化テーブル情報は,各シンボル値に対応して2のべき乗毎に変化する上記符号語長を表すために,2のべき乗毎に生成される情報であってもよい。
さらに,上記符号化部は,上記符号化テーブル情報を次のB(1)〜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個連続させたもの)を付加したものを符号語とする。
また,上記各シンボル値は,0以上の正の値であってもよい。圧縮しようとするデータのシンボルの出現確率に次のような特殊性がある場合を考える。たとえば,温度や湿度,ビルに生じている細かい揺れなどの物理的環境計測値は連続値をとると考えられ,それをある周波数でサンプリングする場合を考える。具体的には,ビルに生じている細かい揺れを1秒おきに計測するような場合である。このような計測値は,時系列的に一つ前の計測値との差分をとると,0に近い値に集中することが予想できる。このような差分値の絶対値(すなわち,0以上の正の値)を一つのシンボルと考えると,「0に近い値ほど出現確率が高い」と考えられ,従来必要であった符号化テーブル情報のうちの「出現確率順に並べたシンボル情報」を「値の小さい順に並べたもの」と置き換えることができる。
さらに,符号語長がLである符号語数をLまたは符号化テーブルにある他の符号語長から算出できるようにすると,符号化テーブル情報のうちの「各符号長の符号語の個数を示す情報」は,符号化テーブルを構成する符号語で使用されている符号語長を列挙するだけでよい。この結果,符号化テーブル情報の情報量を従来の符号化テーブル情報の情報量より大幅に少なくすることができる。
さらに,上記データ符号化装置は,上記生成された符号化テーブル情報を保持する符号化テーブル情報保持部を備え,上記符号化部は,外部から新たに入力される1または2以上のシンボルを上記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化するようにしてもよい。
そして,さらに,上記データ符号化装置は,今回外部から新たに入力された1または2以上のシンボルを含む一定個数のシンボルの各シンボル値の出現頻度をシンボル値毎に記憶する記憶部を備え,上記累積出現頻度分布計測部は,上記記憶部に記憶された各シンボル値の出現頻度を算出し,上記算出された各シンボルの出現頻度の累積値と上記目標累積値とに基づいて符号化テーブル情報を生成し,上記符号化テーブル情報保持部は,上記生成された符号化テーブル情報を保持し,上記符号化部は,次回,外部から新たに入力される1または2以上のシンボルを上記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化するようにしてもよい。
これによれば,符号化しようとするシンボルよりも前のW個のシンボル(たとえば,最新に入力されたW個のシンボル)から符号化テーブル情報が生成される。これにより,データ符号化装置にて符号化されたデータを復号するデータ復号装置においても,すでに復号したシンボルから符号化テーブル情報を生成することができる。このため,データ符号化装置は,最初に一回のみ,符号化テーブル情報をデータ復号装置に送信するだけで,その後,データ復号装置に送信される符号化データに符号化テーブル情報を含める必要がなくなる。この結果,データ符号化装置のオーバーヘッドを小さくすることができる。なお,上記外部から新たに入力する1または2以上のシンボルの個数は,一定個数であってもよい。
さらに,上記記憶部は,上記各シンボル値の出現頻度をシンボル値毎に記憶する代わりに,最小のシンボル値から順に各シンボル値を2のべき乗(2:i=0,1,2,・・)毎に区切り,その区切り内の各シンボル値の出現頻度を区切り毎に累積し,その累積値をそれぞれ記憶するようにしてもよい。
これによれば,シンボル値の出現頻度をシンボル値毎に記憶するメモリ領域を小さくすることができる。また,上記累積出現頻度分布計測部が行うループ処理の繰り返し回数が少なくなるため,CPUの負荷を軽減することができる。
また,本発明の他の観点によれば,シンボルが符号化された符号語を復号するデータ復号装置であって,データ符号化装置から送信された一定個数の符号語とその各符号語の符号語長に関連した情報を示す符号化テーブル情報とを入力し,入力された符号化テーブル情報を用いて上記入力された各符号語を各シンボルにそれぞれ復号する復号部を備えることを特徴とするデータ復号装置が提供される。
これによれば,入力された符号化テーブル情報は,一定個数の符号語とその各符号語の符号語長に関連した情報であり,従来含まれていた「出現確率順に並べたシンボル情報」を含まない。これにより,非常にコンパクトな情報量となった符号化テーブル情報をデータ符号化装置から受信し,受信した符号化テーブル情報を用いて,入力された各符号語を各シンボルにそれぞれ復号することができる。
上記復号部は,上記入力された符号化テーブル情報を用いて上記入力された符号語からシンボルの復号に必要な部分を抽出し,その抽出した部分と上記符号化テーブル情報とを用いて上記各符号語を各シンボルにそれぞれ復号してもよい。
または,上記データ復号装置は,上記符号化テーブル情報を保持する符号化テーブル情報保持部と,今回,データ符号化装置から新たに送信された1または2以上のシンボルを含む一定個数のシンボル(たとえば,送信された一定個数の最新シンボルをいう。)の各シンボル値の出現頻度を記憶する記憶部と,を備え,上記累積出現頻度分布計測部は,上記記憶部に記憶された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて新たな符号化テーブル情報を生成し,上記符号化テーブル情報保持部は,上記生成された新たな符号化テーブル情報を保持し,上記復号部は,次回,データ符号化装置から新たに送信される符号語を上記保持された符号化テーブル情報を用いて,シンボルに復号するようにしてもよい。
さらに,上記データ復号装置は,上記符号化テーブル情報を保持する符号化テーブル情報保持部を備え,上記累積出現頻度分布計測部は,今回,データ符号化装置から新たに送信された一定個数のシンボルの各シンボル値の出現頻度を算出し,上記算出された各シンボル値の出現頻度の累積値と上記目標累積値とに基づいて新たな符号化テーブル情報を生成し,上記符号化テーブル情報保持部は,上記生成された新たな符号化テーブル情報を保持し,上記復号部は,次回,データ符号化装置から新たに送信される符号語を上記保持された符号化テーブル情報を用いてシンボルに復号するようにしてもよい。
これによれば,符号化しようとするシンボルよりも前のW個のシンボルから符号化テーブル情報が生成される。これにより,データ符号化装置にて符号化されたデータを復号するデータ復号装置においても,すでに復号したシンボルから符号化テーブル情報を生成することができる。このため,データ符号化装置から符号化テーブル情報を最初に一回のみ受信するだけでよくなる。この結果,上記復号部は,初回の復号処理では,データ符号化装置から一定個数の符号語と符号化テーブル情報とを送信され,その送信された符号化テーブル情報を用いて上記送信された各符号語を各シンボルにそれぞれ復号し,次回以降の復号処理では,データ符号化装置から1または2以上の符号語のみが送信され,その送信された各符号語を上記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて各シンボルにそれぞれ復号することができる。
また,上記記憶部は,上記各シンボル値の出現頻度をシンボル毎に記憶する代わりに,最小のシンボル値から順に各シンボル値を2のべき乗毎に区切り,その区切り内の各シンボル値の出現頻度を累積し,その累積値をそれぞれ記憶してもよい。
これによれば,シンボル値の出現頻度をシンボル値毎に記憶するメモリ領域を小さくすることができる。また,上記累積出現頻度分布計測部が行うループ処理の繰り返し回数が少なくなるため,CPUの負荷を軽減することができる。
また,本発明の他の観点によれば,シンボルを符号化するデータ符号化方法であって,外部から入力された一定個数のシンボルの各シンボル値の出現頻度を算出し,上記算出された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて,各シンボルが符号化された符号語の符号語長に関連した情報を符号化テーブル情報として生成し,上記生成された符号化テーブル情報を用いて上記各シンボルをそれぞれ符号化することを特徴とするデータ符号化方法が提供される。
また,本発明の他の観点によれば,シンボルが符号化された符号語を復号するデータ復号方法であって,データ符号化装置から送信された一定個数の符号語とその各符号語の符号語長に関連した情報を示す符号化テーブル情報とを入力し,その入力された符号化テーブル情報を用いて上記入力された各符号語を各シンボルにそれぞれ復号することを特徴とするデータ復号方法が提供される。
以上説明したように,本発明によれば,情報量を低減させた符号化テーブル情報を生成するデータ符号化装置,その符号化テーブル情報を用いてデータを復号するデータ復号装置およびそれらの方法を提供することができる。
以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
(第1実施形態)
まず,本発明の第1実施形態にかかるデータ符号化装置およびデータ復号装置の各構成について,図1および図2にそれぞれ示した構成図を参照しながら説明する。なお,データ符号化装置とデータ復号装置とは,図示しないネットワークにて接続されている。
(データ符号化装置の構成)
図1に示したデータ符号化装置100(データ圧縮符号化装置)は,外部から入力されたデータのシンボル系列を圧縮符号化する。データ符号化装置100に入力されるシンボル系列は,たとえば,温度,湿度,ビルの微細な振動等の環境計測値の差分値(差分値の絶対値)のように,0以上の正の整数であって,0に近い値ほど多く出現するデータのシンボル系列である。データ符号化装置100は,そのようなシンボル系列のうち,あるW個のシンボル毎に各シンボル値の出現頻度や最大値を検出し,それをもとに符号化テーブル情報を生成し,その符号化テーブル情報を用いてそのW個のシンボルを符号化する。
データ符号化装置100は,バッファ101と最大値検出部102と累積出現頻度分布計測部103と符号化部104とを含んで構成されている。バッファ101は,データ符号化装置100へ入力されるシンボル系列を入力し,そのうち,符号化テーブルを生成する際に必要となるW個のシンボル(データ)を保持する。また,バッファ101は,シンボルを符号化する際,保持してあるシンボル系列を符号化部104に出力する。なお,バッファ101は,データ符号化装置100の記憶部に相当する。
最大値検出部102は,W個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値(最大値)を累積出現頻度分布計測部103に出力する。累積出現頻度分布計測部103は,W個のシンボルを観測するとともに,最大値検出部102から出力される最大値を用いて,累積出現頻度分布を以下のA(1)〜A(4)の方法にて算出し,その結果得られるk,および,L(i=1,2,…,k)を符号化テーブル情報として符号化部104に出力する。
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)に戻る。
以上の方法を実行すると,図6の表にある関係をもつ符号化テーブル情報k,L(i=1,2,…,k)が求められる。A(1)〜A(4)を用いた具体的処理については,後述する。
符号化部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個連続させたもの)を付加したものを符号語とする。
データ符号化装置100は,このようにしてシンボル(データ)を圧縮符号化するようになっている。
(データ復号装置の構成)
図2に示したデータ復号装置200(データ伸張復号装置)は,データ符号化装置100にて圧縮符号化されたデータを伸張復号する。データ復号装置200は,復号部201を含んで構成されている。復号部201は,符号化データ(符号化テーブル情報(k,および,L(i=1,2,…,k))および符号化したシンボル系列)とを受け取り,符号化テーブル情報を参照しながら,符号化したシンボル系列から符号語を取り出し,対応するシンボルに変換して出力する。
具体的には,次のような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
データ復号装置200は,このようにしてデータ符号化装置100により圧縮符号化されたデータを伸張復号するようになっている。
なお,データ符号化装置100およびデータ復号装置200は,それぞれ,図示しないCPU,ROMおよびインターフェース等をそれぞれ備えていて,各ROMには,各装置の各機能を実行するためのプログラムや各種データがそれぞれ記憶されている。また,各CPUは,バッファに保持されたシンボルに関する情報や,各ROMに記憶された各プログラムを実行することにより各装置の機能を達成するようになっている。
(データ符号化装置100の動作)
つぎに,データ符号化装置100が,図3のシンボル列のうちW個のシンボル(X〜X)を入力し,それらのシンボルに対して実行する圧縮符号化処理について,図4のフローチャートを参照しながら説明する。
まず,データ符号化装置100のCPUは,ステップS400から処理を開始し,ステップS401に進んで,圧縮符号化すべきシンボルがあるかどうかを判定する。この時点で,図3のW個のシンボル(X〜X)がある場合,CPUは,ステップS401にて「Yes」と判定し,ステップS402に進んで,W個のシンボルをバッファ101に読み込む。なお,圧縮符号化すべきシンボルがW個よりも少ない場合には,以降のステップでのWをその個数とする。以下の説明では,Wを「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は,各シンボル値の出現頻度の一例である。
つぎに,CPU(最大値検出部102)は,図4のステップS404に進み,読み込んだ1000個のシンボルの最大値をCmaxに設定する。ここでは,読み込んだシンボルの最大値は「6」である。そこで,CPU(最大値検出部102)は,Cmaxに「6」を設定し,ステップ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)のループ処理を繰り返す毎に小さくなる値である。
具体的には,図5に示したように,SUM(0)の値(累積値AC)は400,SUM(0)〜SUM(1)の累積値ACは700である。そこで,CPU(累積出現頻度分布計測部103)は,累積値ACがW/2(=500)に一番近いところになったシンボルをシンボル0と定め,Xに「0」の値を代入する。
ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1)の値を表すのに必要なビット数をLに設定する。これは,上述したA(3)に相当する。この時点で,X−C+1=0−0+1=1となる。この値「1」を表すのに必要なビット数は1ビットであるから,CPU(累積出現頻度分布計測部103)は,L(=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)に相当する。
この時点で,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が求められた。
つぎに,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)と定める。
ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1(=3−2+1))の値「2」を表すのに必要なビット数「1」をL(=L)に設定する。
つぎに,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が求められた。
つぎに,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)と定める。
ついで,CPU(累積出現頻度分布計測部103)は,ステップS407に進んで,(X−C+1)の値「3」(=6−4+1)を表すのに必要なビット数「2」をL(=L)に設定する。
つぎに,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の値をもつ符号化テーブル情報が求められた。
CPU(符号化部104)は,ステップS410にて,符号化テーブル情報(k=3,L=1,L=1,L=2)を用いてW個のシンボルを符号化し,符号化されたW個のシンボルからなる系列と符号化テーブル情報とを符号化データとして出力する。符号化テーブル情報(k=3,L=1,L=1,L=2)を用いてW個のシンボルを符号化する具体的方法については後述する。
ついで,CPUは,ステップS401に戻り,圧縮符号化すべきシンボルがあるか否かを判定する。この時点で,圧縮符号化すべきシンボルがなければ,CPUは,「No」と判定し,ステップS411に進んで本処理を終了する。
(シンボルの圧縮符号化)
つぎに,CPU(符号化部104)が,ステップS410にて実行するシンボルの圧縮符号化の具体的方法B(1)〜B(4)について説明する。なお,図6の符号語(符号化されたシンボル)は,2値の符号語(0と1の系列からなる符号語)であり,1や0がm個連続するときは1や0と表記する。
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個連続させたもの)を付加したものを符号語とする。
この結果,図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」は欠番である。
このようにして,CPU(符号化部104)は,各シンボルを符号化し,符号化したシンボルの系列を符号化テーブル情報(k,L(i=1,2,…,k))すなわち,k=3,L=1,L=1,L=2とともに出力する。
(シンボルの伸張復号)
つぎに,第1実施形態におけるデータ復号装置200の動作を説明する。データ復号装置200のCPU(復号部201)は,符号化テーブル情報(k=3,L=1,L=1,L=2)と符号化されたシンボルの系列を受け取り,次の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
このような方法により,データ復号装置200は,図7に示した各符号語から各シンボルをそれぞれ復号する。
第1実施形態にかかるデータ符号化装置100およびデータ復号装置200によれば,圧縮しようとするデータのシンボルが0以上の正の値で,その出現特性が0に近い値ほど出現確率が高いものを圧縮符号化するとき,従来必要であった符号化テーブル情報のうち,「出現確率順に並べたシンボル情報」が必要なくなる。さらに,符号語長(L(i=1,2,…,k))からその符号語長を持つ符号語数を計算することができるので,従来必要であった符号化テーブル情報のうち,「各符号長の符号語の個数を示す情報」は,符号化テーブルを構成する符号語で使用されている符号語長(L(i=1,2,…,k))を列挙するだけでよい。この結果,符号化テーブル情報が持つ情報量を大幅に少なくすることができる。
(第2実施形態)
つぎに,第2実施形態にかかるデータ符号化装置100およびデータ復号装置200について説明する。第1実施形態のデータ符号化装置100では,符号化しようとするW個のシンボル毎に符号化テーブル情報を生成して各シンボルを符号化し,符号化テーブル情報も符号化したシンボルとともに符号化データに含める必要があった。
第2実施形態では,図10に示したように,符号化しようとするシンボル(Xw+1〜)よりも前のW個のシンボル(X〜X)から符号化テーブル情報を生成する。ここで,符号化しようとするシンボルとは,たとえば,データ符号化装置100から送信されるパラメータ情報が「1」であれば,図10のXw+1にて示される一つのシンボルとなり,また,たとえば,データ符号化装置100から送信されるパラメータ情報が「W」であれば,図10のXw+1〜X2wにて示されるW個のシンボルとなる。これにより,データ復号装置200において,すでに復号したシンボルから符号化テーブル情報を生成することができ,符号化データとして符号化テーブル情報を受け取る必要がなくなる。パラメータ情報は,符号化するシンボル系列のうち,一回の符号化処理に対して入力すべきシンボルの区切りを示す。このように,符号化テーブル情報を符号化データに含める必要のない圧縮符号化,伸張復号を行う第2実施形態の方法について説明する。
(データ符号化装置の構成)
まず,図8を用いて,第2実施形態にかかるデータ符号化装置100の構成を説明する。第2実施形態のデータ符号化装置100は,バッファ101と最大値検出部102と累積出現頻度分布計測部103と符号化部104と符号化テーブル情報保持部805とを含んで構成されている。
データ符号化装置100への入力は,第1実施形態と同様に,圧縮符号化しようとするデータのシンボル系列であり,各シンボルは0以上の正の整数をとるものとする。シンボル系列は,あるW個のシンボル毎にシンボルの出現頻度や最大値を検出し,それをもとに符号化テーブル情報を生成し,その符号化テーブル情報を用いてそのW個のシンボルを符号化する。
バッファ101は,データ符号化装置100へ入力される最新のW個のシンボルを保持しておくことができるメモリである。また,バッファ101は,最新のW個のシンボルの各シンボル値の出現頻度を記憶する。このバッファ101の内容は,最大値検出部102および累積出現頻度分布計測部103から参照される。
最大値検出部102は,バッファ101にあるW個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値を累積出現頻度分布計測部103に出力する。累積出現頻度分布計測部103は,バッファ101にあるW個のシンボルを観測し,最大値検出部102から出力される最大値を用いて,累積出現頻度分布を上述したA(1)〜A(4)のように算出して,最終的に得られるk,および,L(i=1,2,…,k)を符号化テーブル情報として符号化テーブル情報保持部805へ出力する。
符号化部104は,符号化テーブル情報保持部805に保持してある符号化テーブル情報k,L(i=1,2,…,k)を受け取り,受け取った符号化テーブル情報を用いてデータ符号化装置100に入力されたシンボルを圧縮符号化する。
具体的には,符号化部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を付加したもの)を付加したものを符号語とするようにする。
また,符号化テーブル情報を生成するときに検出した最大値よりも大きい値のシンボル(Xとする)である場合には,i=k+1とし,次のX’を算出し,X’をビット数Lの2進数表現したものの先頭に,1(1をk個連続させたもの)を付加したものを符号語とする。

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

− Σ 2Lj
j=1
ここで,Lはシンボルのビット長とする。
符号化部104は,上記のように符号化した符号語を出力する。符号化テーブル情報保持部805は,符号化テーブル情報を保持するためのメモリで構成され,データ符号化装置100へ入力されたシンボルを符号化するために,符号化部104へ符号化テーブル情報を提供すると共に,データ符号化装置100へ入力されたシンボルを含めた最新W個のシンボルから生成された符号化テーブル情報を累積出現頻度分布計測部103より受け取り,上書き,保持する。
(データ復号装置の構成)
つぎに,図9を用いて,第2実施形態にかかるデータ復号装置200の構成を説明する。データ復号装置200は,復号部201と符号化テーブル情報保持部902と累積出現頻度分布計測部903と最大値検出部904とバッファ905とを含んで構成されている。
バッファ905は,データ符号化装置100から送信されるパラメータ情報に基づいて,データ符号化装置100から送信される,符号化されたシンボル系列から1または2以上のシンボルを入力し,入力した1または2以上のシンボルを含んだ最新のW個のシンボルを保持しておくことができるメモリである。パラメータ情報は,符号化されたシンボル系列のうち,一回の復号処理に対して入力すべきシンボルの区切りを示す。
また,バッファ905は,最新のW個のシンボルの各シンボル値の出現頻度を記憶する。このバッファ905の内容は,最大値検出部904および累積出現頻度分布計測部903から参照される。なお,バッファ905は,データ復号装置200の記憶部に相当する。
最大値検出部904は,バッファ905にあるW個のシンボルのうち,最大値をとるシンボルを検出して,そのシンボル値を累積出現頻度分布計測部903に出力する。
累積出現頻度分布計測部903は,バッファ905にあるW個のシンボルを観測し,最大値検出部904から出力される最大値を用いて,累積出現頻度分布を上記A(1)〜A(4)の方法にて算出し,最終的に得られるk,および,L(i=1,2,…,k)を符号化テーブル情報として符号化テーブル情報保持部902へ出力する。
この符号化テーブル情報保持部902は,符号化テーブル情報を保持するためのメモリで構成され,初期値として,データ符号化装置100から送信された符号化テーブル情報を保持する。その後,データ復号装置200へ入力されたシンボルを復号するために,復号部201に符号化テーブル情報を提供すると共に,そのとき復号されたシンボルを含めた最新W個のシンボルから累積出現頻度分布計測部903より生成された新たな符号化テーブル情報を上書き,保持する。
復号部201は,シンボルを符号化した系列を受け取り,符号化テーブル情報保持部902に保持している符号化テーブル情報を参照しながら,シンボルを符号化した系列から符号語を取り出し,対応するシンボルに変換して出力する。具体的には,つぎに示すC(1)’〜C(2)’の工程で,シンボルの復号に必要な部分の符号語を切り出してシンボルに変換する。
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(2)’ 次の値Xを算出し復号するシンボルとする。
i−1
X=X’+ Σ 2Lj +1
j=1
このような方法により,データ復号装置200は,符号化されたシンボルを復号して復号シンボルを出力する。
このようにして得られたシンボルは,復号データ(シンボル)として出力すると共に,次の符号化データを復号するための符号化テーブル情報を生成するために,バッファ905へ出力される。また,バッファ905には,復号された最新のW個のシンボルの各シンボル値の出現個数(出現頻度)を記憶してもよい。
(データ符号化装置100の動作)
つぎに,本実施形態のデータ符号化装置100が実行する圧縮符号化処理について,図11のフローチャートを参照しながら説明する。この説明では,最初に,符号化テーブル情報保持部805に保持されている符号化テーブル情報を用いてW個のシンボル(シンボルX〜X)を圧縮符号化した後の処理であって,今回外部から入力した新たなシンボルを圧縮符号化するとともに,次回外部から入力する新たなシンボルを圧縮符号化するために,今回圧縮符号化されたW個のシンボルから,符号化テーブル情報を生成する処理について説明する。
まず,データ符号化装置100のCPUは,ステップS1100から処理を開始し,ステップS401に進んで,圧縮符号化すべきシンボルがあるかどうかを判定する。圧縮符号化すべきシンボルが無ければ,CPUは,ステップS401にて「No」と判定してステップS1105に進んで処理を終了する。圧縮符号化すべきシンボルがある場合,CPUは,ステップS401にて「Yes」と判定して,ステップS1101に進み,1つのシンボル(図10のシンボルXw+1)をバッファ101および符号化部104へ入力してステップS1102に進む。
つぎに,CPU(符号化部104)は,ステップS1102にて,読み込んだシンボルXw+1を符号化テーブル情報保持部405で保持している符号化テーブル情報を用いて,上述したB(2)〜B(4)の方法にて符号化する。ただし,B(2)を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はシンボルのビット長とする。
つぎに,CPUは,ステップS1103に進んで,バッファ101に保持されたW個のシンボルX〜Xw+1の各シンボルの出現回数を求め,ステップS404に進んでW個のシンボルX〜Xw+1のうち,最大の値をとるシンボルを検出する。
つぎに,CPU(累積出現頻度分布計測部103)は,ステップS405に進んで,初期設定として,k=1,C=0を設定する。これは,累積出現頻度分布計測部103の構成説明の工程A(1)に相当する。つぎに,CPU(累積出現頻度分布計測部103)は,ステップS406に進んで,出現個数をシンボルCから順に累積し,累積値がW/2に最も近いシンボルXを求める。これは,累積出現頻度分布計測部103の構成説明の工程A(2)に相当する。
ついで,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)に相当する。
このとき,ステップS408にて「No」と判定した場合,CPU(累積出現頻度分布計測部103)は,ステップS409に進んで,kを1増やすとともにC+2Lkの値をCに代入して,ステップS406へ戻り,ステップS408にて「Yes」と判定するまでステップS406〜ステップS409の処理を繰り返す。
一方,ステップS408にて「Yes」と判定した場合,CPU(累積出現頻度分布計測部103)は,ステップS1104に進んで,算出された符号化テーブル情報k,L(i=1,2,…,k)を符号化テーブル情報保持部805に保持し,ステップS401に戻る。このようにして,次回,データ符号化装置100に入力されるシンボルを圧縮符号化するための符号化テーブル情報が生成され,保持される。
(データ復号装置200の動作)
つぎに,本実施形態のデータ復号装置200が実行する伸張復号処理について,図12のフローチャートを参照しながら説明する。この説明では,最初に,符号化テーブル情報保持部902に保持されている符号化テーブル情報を用いてW個のシンボル(シンボルX〜X)を伸張復号した後の処理であって,今回,データ符号化装置100から送信された新たなシンボルを伸張復号するとともに,次回,データ符号化装置100から送信される新たなシンボルを伸張復号するために,今回伸張復号されたW個のシンボルから,符号化テーブル情報を生成する処理について説明する。
まず,データ復号装置200のCPUは,ステップS1200から処理を開始し,ステップS1201に進んで,復号すべき符号化データがあるかどうかを判定する。復号すべき符号化データが無ければ,CPUは,ステップS1201にて「No」と判定してステップS1210に進んで処理を終了する。
一方,復号すべき符号化データがある場合,CPU(復号部201)は,ステップS1201にて「Yes」と判定して,ステップS1202に進み,符号化テーブル情報保持部902で保持されている符号化テーブル情報を用いて,C(1)’〜C(2)’の方法にて符号化されたシンボルを復号し,復号結果として復号シンボルを出力すると共に,バッファ905へその復号シンボルを出力し,保持する。
つぎに,CPUは,ステップS1203に進んで,バッファ905に保持されたW個のシンボルX〜Xw+1の各シンボルの出現回数を求め,ステップS1204に進んでW個のシンボルX〜Xw+1のうち,最大の値をとるシンボルを検出する。
つぎに,CPU(累積出現頻度分布計測部903)は,ステップS1205に進んで,初期設定として,k=1,C=0を設定する。これは,累積出現頻度分布計測部903の構成説明の工程A(1)に相当する。つぎに,CPU(累積出現頻度分布計測部903)は,ステップS1206に進んで,バッファ905内のシンボル列において,出現頻度をシンボルCから順に累積し,累積値がW/2に最も近いシンボルXを求める。これは,累積出現頻度分布計測部903の構成説明の工程A(2)に相当する。
ついで,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)に相当する。
ステップS1208にて「No」と判定された場合,CPU(累積出現頻度分布計測部903)は,ステップS1209に進んで,kを1増やすとともにC+2Lkの値をCに代入して,ステップS1206へ戻り,ステップS1208にて「Yes」と判定するまでステップS1206〜ステップS1209の処理を繰り返す。
一方,ステップS1208にて「Yes」と判定された場合,CPU(累積出現頻度分布計測部903)は,ステップS1210に進んで,算出された符号化テーブル情報k,L(i=1,2,…,k)を符号化テーブル情報保持部902に保持し,ステップS1201に戻る。このようにして,次回,データ符号化装置100から送信されるシンボルを伸張復号するための符号化テーブル情報が生成され,保持される。
第2の実施形態では,符号化テーブル情報を生成するためには,符号化しようとするシンボルよりも前のW個のシンボルから符号化テーブル情報を生成させることにより,データ復号装置200において,すでに復号したシンボルから符号化テーブル情報を生成することができる。これにより,データ復号装置200は,符号化データとして符号化テーブル情報を一回のみデータ符号化装置100から受け取れば,その後,この情報をデータ符号化装置100から受け取る必要がなくなる。この結果,データ符号化装置100は,符号化テーブル情報を圧縮符号化データに含めなくてもよくなり,オーバーヘッドが小さくなる。
(第2実施形態の変形例)
第2実施形態では,図11に示したように,データ符号化装置100は,W個のシンボルを「一つずつ」シフトさせて(たとえば,シンボルX〜XからシンボルX〜Xw+1にシフトさせて),シフトさせた範囲のシンボルの出現個数をバッファ101に保持し,保持したシンボルの出現個数から,次回送信される新たなシンボルを圧縮符号化するための符号化テーブル情報を生成し,その情報を符号化テーブル情報保持部805に保持した。
また,第2実施形態では,図12に示したように,データ復号装置200は,W個のシンボルを「一つずつ」シフトさせて(たとえば,シンボルX〜XからシンボルX〜Xw+1にシフトさせて),シフトさせた範囲のシンボルおよびそれらのシンボル値の出現個数をバッファ905に保持し,保持したシンボル値の出現個数から,次回,データ符号化装置100から送信される新たなシンボルを伸張復号するための符号化テーブル情報を生成し,その情報を符号化テーブル情報保持部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に保持する。
また,本実施形態の変形例では,データ復号装置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に保持する。
このように,第2実施形態の変形例では,データ符号化装置100およびデータ復号装置200は,前回入力したW個のシンボルから今回新たに入力したW個のシンボルを符号化および復号するための符号化テーブル情報を生成する。このように,データ復号装置200において,すでに復号したシンボル(前回入力したW個のシンボル)から符号化テーブル情報を生成することができる。このため,データ復号装置200は,符号化データとして符号化テーブル情報を一回受け取れば,その後,この情報を受け取る必要がなくなる。この結果,符号化テーブル情報を圧縮符号化データに含めなくてもよくなり,オーバーヘッドが小さくなる。
(第3実施形態)
これまでの実施形態では,図13の左側に示したように,W個のシンボルの各シンボル値(シンボル0〜シンボル15)の出現個数をシンボル値毎にバッファ101(データ符号化装置100)およびバッファ905(データ復号装置200)に保持していた。
本実施形態では,図13の右側に示したように,最小のシンボル値から順に各シンボル値を2のべき乗(2:i=0,1,2,・・)毎に区切り,その区切り内の各シンボル値の出現頻度を区切り毎に累積し,その累積値をそれぞれバッファ101およびバッファ905に保持する。
具体的には,各シンボル値は,シンボル0,シンボル1,シンボル2〜3,シンボル4〜7,シンボル8〜15というように,2のべき乗毎に区切られ,シンボル0およびシンボル1に対する出現個数「300」および「200」が,各バッファにそれぞれ保持される。また,シンボル2およびシンボル3の出現個数の累積値「180」が各バッファに保持される。また,シンボル4〜シンボル7の出現個数の累積値「180」が各バッファに保持される。さらに,シンボル8〜シンボル15の出現個数の累積値「140」が各バッファに保持される。
本実施形態によれば,シンボル値の出現頻度をシンボル値毎に記憶するバッファ101およびバッファ905内のメモリ領域を小さくすることができる。また,累積出現頻度分布計測部103および累積出現頻度分布計測部903が行うループ処理の繰り返し回数が少なくなるため,CPUの負荷を軽減することができる。
上記実施形態において,各部の動作はお互いに関連しており,互いの関連を考慮しながら,一連の動作として置き換えることができる。そして,このように置き換えることにより,方法の発明の実施形態とすることができる。
また,上記各部の動作を,各部の処理と置き換えることにより,プログラムの実施の形態とすることができる。また,プログラムを,プログラムを記録したコンピュータ読み取り可能な記録媒体に記憶させることで,プログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
したがって,データ符号化方法の実施形態は,外部から入力されたシンボルを符号化するデータ符号化方法であって,外部から入力された一定個数のシンボルの各シンボルの出現頻度を算出し,上記算出された各シンボルの出現頻度の所定の累積値と予め定められた目標累積値とに基づいて,各シンボルが符号化された符号語の符号語長に関連した情報である符号化テーブル情報を生成する処理と,上記生成された符号化テーブル情報を用いて上記各シンボルを符号語にそれぞれ符号化する処理と,をコンピュータに実行させるデータ符号化プログラム,および,このデータ符号化プログラムを記憶したコンピュータ読み取り可能な記録媒体の実施形態とすることができる。
また,データ復号方法の実施形態は,シンボルが符号化された符号語を復号するデータ復号方法であって,データ符号化装置から送信された一定個数の符号語とその各符号語の符号語長に関連した情報である符号化テーブル情報とを入力する処理と,上記入力された符号化テーブル情報を用いて上記入力された各符号語を各シンボルにそれぞれ復号する処理と,をコンピュータに実行させるデータ復号プログラム,および,このデータ復号プログラムを記憶したコンピュータ読み取り可能な記録媒体の実施形態とすることができる。
なお,このプログラムの実施形態およびプログラムを記録したコンピュータ読み取り可能な記録媒体の実施形態における各処理は,コンピュータがプログラムを実行することにより達成される。
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
本発明は,情報量を低減させた符号化テーブル情報を生成するデータ符号化装置,および,その符号化テーブル情報を用いてデータを復号するデータ復号装置に適用可能である。
本発明の第1実施形態にかかるデータ符号化装置の構成を示す図である。 同実施形態におけるデータ復号装置の構成を示す図である。 同実施形態のデータ符号化装置に入力されるシンボル列を説明するための図である。 同実施形態にてデータ符号化装置が実行するルーチンを示したフローチャートである。 同実施形態にてデータ符号化装置が実行する各ループ処理時に各変数がもつ値を示した図である。 同実施形態において各シンボルに対応した各符号語と符号化テーブル情報との関係を示した図である。 同実施形態において符号化テーブル情報を用いて実際にシンボルから符号化された符号語の値を示した図である。 本発明の第2実施形態にかかるデータ符号化装置の構成を示す図である。 同実施形態にかかるデータ復号装置の構成を示す図である。 同実施形態のデータ符号化装置に入力されるシンボル列を説明するための図である。 同実施形態にてデータ符号化装置が実行するルーチンを示したフローチャートである。 同実施形態にてデータ復号装置が実行するルーチンを示したフローチャートである。 本発明の第1,2実施形態にかかるデータ符号化装置およびデータ復号装置が保持するテーブルと,本発明の第3実施形態にかかるデータ符号化装置およびデータ復号装置が保持するテーブルと,を比較して説明するための図である。
符号の説明
100 データ符号化装置
101 バッファ
102 最大値検出部
103 累積出現頻度分布計測部
104 符号化部
200 データ復号装置
201 復号部
805 符号化テーブル生成情報保持部
902 符号化テーブル生成情報保持部
903 累積出現頻度分布計測部
904 最大値検出部
905 バッファ

Claims (19)

  1. シンボルを符号化するデータ符号化装置であって:
    外部から入力された一定個数のシンボルの各シンボル値の出現頻度を算出し,前記算出された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて,各シンボルが符号化された符号語の符号語長に関連した情報を符号化テーブル情報として生成する累積出現頻度分布計測部と;
    前記生成された符号化テーブル情報を用いて前記各シンボルをそれぞれ符号化する符号化部と;を備えることを特徴とするデータ符号化装置。
  2. 前記累積出現頻度分布計測部は,
    任意のシンボル値から昇順に各シンボル値の出現頻度を累積し,その累積値が前記目標累積値に最も近い値となった場合,その累積値を求める対象となったシンボル値を符号化して表すために必要なビット数Liを求めるループ処理を所定の条件を満たすまで繰り返し,その繰り返し回数kと前記各ループ処理にて求められたビット数Li(i=1,2,・・,k)とを前記符号化テーブル情報として生成することを特徴とする請求項1に記載されたデータ符号化装置。
  3. 前記データ符号化装置であって,さらに,
    前記外部から入力された一定個数のシンボルの最大値を検出する最大値検出部を備え,
    前記累積出現頻度分布計測部は,
    前記検出されたシンボルの最大値が前記所定の条件を満たすまで,前記ループ処理を繰り返すことを特徴とする請求項2に記載されたデータ符号化装置。
  4. 前記符号化テーブル情報は,
    各シンボル値に対応して2のべき乗毎に変化する前記符号語長を表すために,2のべき乗毎に生成される情報であることを特徴とする請求項1〜3のいずれかに記載されたデータ符号化装置。
  5. 前記符号化部は,
    前記符号化テーブル情報を所定の条件式に当てはめることにより前記各シンボルをそれぞれ符号化することを特徴とする請求項1〜4のいずれかに記載されたデータ符号化装置。
  6. 前記目標累積値は,
    前記ループ処理を繰り返す毎に小さくなる値であることを特徴とする請求項2〜5のいずれかに記載されたデータ符号化装置。
  7. 前記各シンボル値は,
    0以上の正の値であることを特徴とする請求項1〜6のいずれかに記載されたデータ符号化装置。
  8. 前記データ符号化装置であって,さらに,
    前記生成された符号化テーブル情報を保持する符号化テーブル情報保持部を備え,
    前記符号化部は,
    外部から新たに入力される1または2以上のシンボルを前記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化することを特徴とする請求項1〜7のいずれかに記載されたデータ符号化装置。
  9. 前記データ符号化装置であって,さらに,
    今回外部から新たに入力された1または2以上のシンボルを含む一定個数のシンボルの各シンボル値の出現頻度をシンボル値毎に記憶する記憶部を備え,
    前記累積出現頻度分布計測部は,
    前記記憶部に記憶された各シンボル値の出現頻度を算出し,前記算出された各シンボル値の出現頻度の累積値と前記目標累積値とに基づいて符号化テーブル情報を生成し,
    前記符号化テーブル情報保持部は,
    前記生成された符号化テーブル情報を保持し,
    前記符号化部は,
    次回,外部から新たに入力される1または2以上のシンボルを前記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて符号化することを特徴とする請求項8に記載されたデータ符号化装置。
  10. 前記外部から新たに入力する1または2以上のシンボルの個数は,一定個数であることを特徴とする請求項8または請求項9のいずれかに記載されたデータ符号化装置。
  11. 前記記憶部は,
    前記各シンボル値の出現頻度をシンボル値毎に記憶する代わりに,最小のシンボル値から順に各シンボル値を2のべき乗毎に区切り,その区切り内の各シンボル値の出現頻度を区切り毎に累積し,その累積値をそれぞれ記憶することを特徴とする請求項9に記載されたデータ符号化装置。
  12. シンボルが符号化された符号語を復号するデータ復号装置であって:
    データ符号化装置から送信された一定個数の符号語とその各符号語の符号語長に関連した情報を示す符号化テーブル情報とを入力し,入力された符号化テーブル情報を用いて前記入力された各符号語を各シンボルにそれぞれ復号する復号部;を備えることを特徴とするデータ復号装置。
  13. 前記復号部は,
    前記入力された符号化テーブル情報を用いて前記入力された符号語からシンボルの復号に必要な部分を抽出し,その抽出した部分と前記符号化テーブル情報とを用いて前記各符号語を各シンボルにそれぞれ復号することを特徴と請求項12に記載されたデータ復号装置。
  14. 前記データ復号装置であって,さらに,
    前記符号化テーブル情報を保持する符号化テーブル情報保持部と;
    今回,データ符号化装置から新たに送信された1または2以上のシンボルを含む一定個数のシンボルの各シンボル値の出現頻度をシンボル値毎に記憶する記憶部と;を備え,
    前記累積出現頻度分布計測部は,
    前記記憶部に記憶された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて新たな符号化テーブル情報を生成し,
    前記符号化テーブル情報保持部は,
    前記生成された新たな符号化テーブル情報を保持し,
    前記復号部は,
    次回,データ符号化装置から新たに送信される符号語を前記保持された符号化テーブル情報を用いてシンボルに復号することを特徴とする請求項12または請求項13のいずれかに記載されたデータ復号装置。
  15. 前記データ復号装置であって,さらに,
    前記符号化テーブル情報を保持する符号化テーブル情報保持部を備え;
    前記累積出現頻度分布計測部は,
    今回,データ符号化装置から新たに送信された一定個数のシンボルの各シンボル値の出現頻度を算出し,前記算出された各シンボル値の出現頻度の累積値と前記目標累積値とに基づいて新たな符号化テーブル情報を生成し,
    前記符号化テーブル情報保持部は,
    前記生成された新たな符号化テーブル情報を保持し,
    前記復号部は,
    次回,データ符号化装置から新たに送信される符号語を前記保持された符号化テーブル情報を用いてシンボルに復号することを特徴とする請求項12または請求項13のいずれかに記載されたデータ復号装置。
  16. 前記復号部は,
    初回の復号処理では,データ符号化装置から一定個数の符号語と符号化テーブル情報とを送信され,その送信された符号化テーブル情報を用いて前記送信された各符号語を各シンボルにそれぞれ復号し,
    次回以降の復号処理では,データ符号化装置から1または2以上の符号語のみが送信され,その送信された各符号語を前記符号化テーブル情報保持部に保持された符号化テーブル情報を用いて各シンボルにそれぞれ復号することを特徴とする請求項14または請求項15のいずれかに記載されたデータ復号装置。
  17. 前記記憶部は,
    前記各シンボル値の出現頻度をシンボル毎に記憶する代わりに,最小のシンボル値から順に各シンボル値を2のべき乗毎に区切り,その区切り内の各シンボル値の出現頻度を累積し,その累積値をそれぞれ記憶することを特徴とする請求項14に記載されたデータ符号化装置。
  18. シンボルを符号化するデータ符号化方法であって:
    外部から入力された一定個数のシンボルの各シンボル値の出現頻度を算出し,前記算出された各シンボル値の出現頻度の累積値と予め定められた目標累積値とに基づいて,各シンボルが符号化された符号語の符号語長に関連した情報を符号化テーブル情報として生成し;
    前記生成された符号化テーブル情報を用いて前記各シンボルをそれぞれ符号化することを特徴とするデータ符号化方法。
  19. シンボルが符号化された符号語を復号するデータ復号方法であって:
    データ符号化装置から送信された一定個数の符号語とその各符号語の符号語長に関連した情報を示す符号化テーブル情報とを入力し,
    前記入力された符号化テーブル情報を用いて前記入力された各符号語を各シンボルにそれぞれ復号することを特徴とするデータ復号方法。
JP2005170862A 2005-06-10 2005-06-10 データ符号化装置,およびデータ符号化方法 Expired - Fee Related JP4497029B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005170862A JP4497029B2 (ja) 2005-06-10 2005-06-10 データ符号化装置,およびデータ符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005170862A JP4497029B2 (ja) 2005-06-10 2005-06-10 データ符号化装置,およびデータ符号化方法

Publications (2)

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

Family

ID=37641967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005170862A Expired - Fee Related JP4497029B2 (ja) 2005-06-10 2005-06-10 データ符号化装置,およびデータ符号化方法

Country Status (1)

Country Link
JP (1) JP4497029B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018069999A1 (ja) * 2016-10-12 2018-04-19 富士通株式会社 出力プログラム、出力方法および出力システム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0250667A (ja) * 1988-08-12 1990-02-20 Matsushita Electric Works Ltd モニタ付きインターホン装置
JPH07221652A (ja) * 1994-01-31 1995-08-18 Fujitsu Ltd データ圧縮方法
JPH08162973A (ja) * 1994-12-09 1996-06-21 Hitachi Ltd データ処理方法および装置、ならびにこのデータ処理装置を用いた情報システム
JPH08167854A (ja) * 1994-12-13 1996-06-25 Fujitsu Ltd レベルプレーン展開法を用いる符号化方法および符号/復号装置
JPH10261966A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd 符号化復号化装置
JP2000022552A (ja) * 1998-07-01 2000-01-21 Hitachi Ltd 情報処理装置および情報処理システム
JP2002515201A (ja) * 1996-03-15 2002-05-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタル信号符号化方法および装置
JP2005012496A (ja) * 2003-06-19 2005-01-13 Olympus Corp 適応型可変長符号化装置、適応型可変長符号化方法及び適応型可変長符号化プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0250667A (ja) * 1988-08-12 1990-02-20 Matsushita Electric Works Ltd モニタ付きインターホン装置
JPH07221652A (ja) * 1994-01-31 1995-08-18 Fujitsu Ltd データ圧縮方法
JPH08162973A (ja) * 1994-12-09 1996-06-21 Hitachi Ltd データ処理方法および装置、ならびにこのデータ処理装置を用いた情報システム
JPH08167854A (ja) * 1994-12-13 1996-06-25 Fujitsu Ltd レベルプレーン展開法を用いる符号化方法および符号/復号装置
JP2002515201A (ja) * 1996-03-15 2002-05-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタル信号符号化方法および装置
JPH10261966A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd 符号化復号化装置
JP2000022552A (ja) * 1998-07-01 2000-01-21 Hitachi Ltd 情報処理装置および情報処理システム
JP2005012496A (ja) * 2003-06-19 2005-01-13 Olympus Corp 適応型可変長符号化装置、適応型可変長符号化方法及び適応型可変長符号化プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018069999A1 (ja) * 2016-10-12 2018-04-19 富士通株式会社 出力プログラム、出力方法および出力システム
JPWO2018069999A1 (ja) * 2016-10-12 2019-06-24 富士通株式会社 出力プログラム、出力方法および出力システム
US20190220712A1 (en) * 2016-10-12 2019-07-18 Fujitsu Limited Non-transitory computer-readable storage medium for storing program, output method, and output system
US11216709B2 (en) 2016-10-12 2022-01-04 Fujitsu Limited Non-transitory computer-readable storage medium for storing program, output method, and output system

Also Published As

Publication number Publication date
JP4497029B2 (ja) 2010-07-07

Similar Documents

Publication Publication Date Title
KR100894002B1 (ko) 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
CN108768403B (zh) 基于lzw的无损数据压缩、解压方法及lzw编码器、解码器
US5844508A (en) Data coding method, data decoding method, data compression apparatus, and data decompression apparatus
US8704685B2 (en) Encoding method, encoding apparatus, decoding method, decoding apparatus, and system
KR101049699B1 (ko) 데이터의 압축방법
JP4814999B2 (ja) データ圧縮・復元方法及び圧縮・復元プログラム
US9397695B2 (en) Generating a code alphabet of symbols to generate codewords for words used with a program
JP6045123B2 (ja) エンコーダ、デコーダ及び方法
JPH1079673A (ja) データ圧縮/復元方法
WO2001063772A1 (en) Method and apparatus for optimized lossless compression using a plurality of coders
EP1941617A1 (en) Method and system for compressing data
JP2000269822A (ja) データ圧縮装置、及びデータ復元装置
JP5619326B2 (ja) 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム
JP2012134858A (ja) データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム
WO2014030189A1 (ja) 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム
US9479195B2 (en) Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
JP4497029B2 (ja) データ符号化装置,およびデータ符号化方法
US8638243B2 (en) Data compression device, data compression method, and medium
US8018359B2 (en) Conversion of bit lengths into codes
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
JP6135788B2 (ja) 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム
JP4093200B2 (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置
CN111274950B (zh) 特征向量数据编解码方法及服务器和终端
Ghuge Map and Trie based Compression Algorithm for Data Transmission
JP4093193B2 (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置

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