(57)【要約】【課題】コンピュータや組込み装置等で処理する音声信号や画像処理された画像に対してデータを圧縮するときに、発生する確率が偏っているデータに対し、起こりうるデータ値を保持するリスト総数を少なくする信号符号化装置を提供する。【解決手段】この信号符号化装置は、格納されるデータ量の大きさが２のＮ乗より小さいリスト記憶手段を有し、入力されたデジタルデータをＮビット毎に分割したパッキングデータと前記リスト記憶手段に記憶されたリスト中の要素値とを比較し、この比較結果からシンボルの生成と前記リストの再構成を行って、この生成されたシンボル列を圧縮し符号語を形成する。【選択図】図１
2006174493.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデジタルデータ列（値０と１をとるビットデータ列）をＮビット毎に分割し、該分割したデータのそれぞれをパッキングデータとするビットパッキング手段と、２のＮ乗より小さいサイズを保存可能な最大数とし、該記憶されたデータが重複のないリストからなる記憶手段と、前記パッキングデータと前記リスト記憶手段中のデータとを比較する比較手段と、前記比較結果から符号化対照となるシンボルを生成するシンボル生成手段と、該パッキングデータを前記リスト記憶手段中の先頭に挿入し、前記比較結果から前記リスト記憶手段中のデータを削除し前記リスト記憶手段中の並び替えを行うことにより前記リストを再構成するリスト再構成手段と、前記シンボル生成手段で生成されたシンボルの列を圧縮して符号語を形成するシンボル列圧縮手段と、を備えることを特徴とする信号符号化装置。
【請求項２】
請求項１に記載の信号符号化装置において、前記リスト再構成手段は、前記比較手段で前記パッキングデータが前記リスト中にないと判断された場合に前記パッキングデータを前記リスト記憶手段中の先頭に挿入し、前記リスト記憶手段の保存可能な最大数を超える場合には、最終のデータを削除し、先頭にあったデータから最終の位置までのデータを順次一つずつ後ろにずらすようにしてリストを再構成し、前記比較手段で前記パッキングデータが前記リスト記憶手段中にあると判断された場合、前記パッキングデータを前記リスト記憶手段の先頭へ挿入し、先頭にあったデータから前記比較手段で見つけた位置の１つ前のデータまでを順次一つずつ後ろにずらすようにしてリストを再構成することにより前記リスト記憶手段中のリストデータを再構成することを特徴とする信号符号化装置。
【請求項３】
請求項１または請求項２に記載の信号符号化装置において、前記シンボル生成手段は、前記比較手段で前記パッキングデータが前記リスト記憶手段中にあると判断された場合、前記パッキングデータが存在する前記リスト記憶手段中の位置をシンボルとし、前記比較手段で前記パッキングデータが前記リスト記憶手段中にないと判断された場合、前記リスト記憶手段中の全前記リストデータ値が前記パッキングデータ値より小さい個数をカウントし、この個数と前記パッキングデータ値を加えてシンボルとすることを特徴とする信号符号化装置。
【請求項４】
格納されるデータ量の大きさが２のＮ乗より小さいサイズを保存可能な最大数とし、該記憶されたデータが重複のないリストからなるリスト記憶手段を有し、入力されたデジタルデータ列（値０と１をとるビットデータ列）をＮビット毎に分割し、該分割したデータのそれぞれをパッキングデータとしたパッキングデータと前記リスト記憶手段中に記憶された前記リスト中のデータとを比較する比較処理と、前記比較結果から符号化対照となるシンボルの生成処理と、前記リスト記憶手段中のデータを削除して前記リストの並び替えを行うことにより前記リストの再構成処理を行って、この前記シンボル生成処理で生成されたシンボル列を圧縮して符号語を形成することを特徴とする信号符号化方法。
【請求項５】
請求項４に記載の信号符号化方法において、前記リストの再構成処理は、前記パッキングデータが前記リスト中にないと判断された場合に前記パッキングデータを前記リスト中の先頭に挿入し、前記リストの保存可能な最大数を超える場合には、最終のデータを削除し、先頭にあったデータから最終の位置までのデータを順次一つずつ後ろにずらすようにしてリストを再構成処理し、前記比較処理で前記パッキングデータが前記リスト記憶手段中にあると判断された場合、前記パッキングデータを前記リスト記憶手段の先頭へ挿入し、先頭にあったデータから前記比較処理で見つけた位置の１つ前のデータまでを順次一つずつ後ろにずらすようにしてリストを再構成処理することを特徴とする信号符号化方法。
【請求項６】
請求項４または請求項５に記載の信号符号化方法において、前記シンボルの生成は、前記パッキングデータが前記リスト中にあると判断された場合、前記リスト中の位置をシンボルとし、前記パッキングデータが前記リスト中にないと判断された場合、前記リスト中の全データ値が前記パッキングデータ値より小さい個数をカウントし、この個数と前記パッキングデータ値を加えてシンボルとすることを特徴とする信号符号化方法。
【請求項７】
コンピュータに、請求項３、４または５に記載の信号符号化方法を実行させるためのプログラム。
【請求項８】
請求項７に記載の信号符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号符号化装置、信号符号化方法、プログラムおよび記録媒体に関し、特に、コンピュータや組込み装置等で処理する音声信号や画像処理された画像に対してデータを圧縮する技術に関する。
【背景技術】
【０００２】
近年の情報化社会において、インターネット、マルチメディア、分散ソフトウェアをはじめとするコンピュータ技術の劇的な発展と普及により、情報処理システム間の通信情報量は増大の一途をたどっている。このため情報処理システム間における通信効率の改善、記憶装置の有効利用を行うためにデータ圧縮技術が重要な基礎技術となっている。即ち、ネットワークに接続した情報処理システム間における通信データ量を減らすことによってネットワークの負荷を軽減したり、同じサイズでより多くの情報を詰め込むことができるようになる。
【０００３】
データ圧縮技術の代表的な例として、１８世紀頃から用いられていているモールス符号（モールス信号に使う符号語）があり、現在、モデム、ルーターをはじめとするインターネット分野での利用のみではなく、ＦＡＸ、ＴＶ、ラジオ、ＣＤ、衛星通信、ビデオ、電話等の様々な分野で利用されている。
【０００４】
このような圧縮技術にあって、単純なアルゴリズムであるが、圧縮限界のエントロピー(理論的限界圧縮率)付近までデータを圧縮できるＢＷＴ（Burrows-Wheeler Transform）に基づく圧縮処理系が近年注目されている。このＢＷＴによる圧縮アルゴリズムは、1994年にM.BurrowsとD.J.Wheelerによって発表された論文(A Block-sorting Lossless Data Compression Algorithm/SRC Research Report 124,Systems Research Center-Digital Equipment Corporation)がもとになっている。このＢＷＴを用いた圧縮処理系は、テキストデータのみならず、色数が多いフルカラーの画像の可逆圧縮にも極めて有効に作用するといわれている。
【０００５】
ＢＷＴ単体では如何なる圧縮も行わないため、実際には他の圧縮アルゴリズムを用いて、例えば、「ＢＷＴ→Ｍｏｖｅ ｔｏ Ｆｒｏｎｔ法による符号化→エントロピー圧縮」という処理順序で行っている。このＭｏｖｅ ｔｏ Ｆｒｏｎｔ（以下、ＭＴＦと略す）による符号化は、既出の文字の中で前回出現した文字が、今回出現する確率が最も高いと見なす符号化方法であり、ブロックソーティングと同様に同じ文字が繰り返されるような長い連（ラン）を生みだすための符号化である。このＭＴＦ符号化法は、ブロックソーティングにより得られた「同一バイトデータが近接して局在する」ような冗長性の高いデータにおいては、特に高い効果が望めることが知られている。
【０００６】
このＭＴＦ符号化方式は、次のように動作する。入力される値が取り得る全ての値を保持するリストを持っており、入力された値とそのリスト中の値を比較し、同じ値を持つリスト中の位置をシンボルとして符号を生成する。次いで、この比較対象となった値をリスト中から削減し、その入力値をリストの先頭へもってくる。
【０００７】
例えば、５つの文字（'a', 'b', 'd', 'o', 'Y'）から作られている文字系列について説明する。先ず、この５つの文字に対するリストR = {'a', 'b', 'd','o', 'Y'}を作成し、その１つずつにシンボル0,1,2,3,4を与える。次に、入力文字系列｛Ydbbaaaadoo｝を1文字ずつ調べ、対応するリストのシンボルを出力し、その文字をリストの先頭へ移動する作業を、入力系列全ての文字を出力するまで繰り返し、最終的に、出力系列｛4,3,3,0,3,0,0,0,2,4,0｝が得られる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このＭＴＦ符号化方式を利用する場合、上述したように取り得る可能性の個数だけ入力値をリスト中に保存しておかなければならない。そのため、入力値が１０ビットで表される値の時には、リスト中に保存しなければならない数は１０２４であり、１２ビットの場合には４０９６となってしまう。すなわち、入力値を構成するビット数が多くなればなるほど、大量にメモリを使用することとなり、このＭＴＦ符号化方式を組み込む装置やＬＳＩの単価や実装面積が指数関数的に膨れ上がってしまう。
【０００９】
一方、１０ビットやそれ以上のビット幅で表される入力値が発生する確率は偏っており、データ値として発生しない場合もある。このような発生しないデータ値が多い、即ち、発生するデータ値が極わずかしかない場合には、全ての起こりうるデータ値のためにリストを保持することは、コスト上無駄である。
【００１０】
本発明は、上記の実情に鑑みてなされたものであって、発生する確率が偏っているデータに対し、起こりうるデータ値を保持するリスト総数を少なくする信号符号化装置、信号符号化方法、その信号符号化装置の機能を実行するためのプログラムおよびそのプログラムを記録するコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の課題を解決するために、本発明の請求項１の信号符号化装置は、入力されたデジタルデータ列（値０と１をとるビットデータ列）をＮビット毎に分割し、該分割したデータのそれぞれをパッキングデータとするビットパッキング手段と、２のＮ乗より小さいサイズを保存可能な最大数とし、該記憶されたデータが重複のないリストからなる記憶手段と、前記パッキングデータと前記リスト記憶手段中のデータとを比較する比較手段と、前記比較結果から符号化対照となるシンボルを生成するシンボル生成手段と、該パッキングデータを前記リスト記憶手段中の先頭に挿入し、前記比較結果から前記リスト記憶手段中のデータを削除し前記リスト記憶手段中の並び替えを行うことにより前記リストを再構成するリスト再構成手段と、前記シンボル生成手段で生成されたシンボルの列を圧縮して符号語を形成するシンボル列圧縮手段と、を備えることを特徴とする。
また、本発明の請求項２は、請求項１に記載の信号符号化装置において、前記リスト再構成手段は、前記比較手段で前記パッキングデータが前記リスト中にないと判断された場合に前記パッキングデータを前記リスト記憶手段中の先頭に挿入し、前記リスト記憶手段の保存可能な最大数を超える場合には、最終のデータを削除し、先頭にあったデータから最終の位置までのデータを順次一つずつ後ろにずらすようにしてリストを再構成し、前記比較手段で前記パッキングデータが前記リスト記憶手段中にあると判断された場合、前記パッキングデータを前記リスト記憶手段の先頭へ挿入し、先頭にあったデータから前記比較手段で見つけた位置の１つ前のデータまでを順次一つずつ後ろにずらすようにしてリストを再構成することにより前記リスト記憶手段中のリストデータを再構成することを特徴とする。
この特徴により、ＭＴＦ内に保持すべきリストの要素総数を、入力される前記パッキングデータのビット濃度Ｎから起こりうる状態の総数である２のＮ乗よりも少ないリスト要素数とすることが可能になる。
また、本発明の請求項３は、請求項１または請求項２に記載の信号符号化装置において、前記シンボル生成手段は、前記比較手段で前記パッキングデータが前記リスト記憶手段中にあると判断された場合、前記パッキングデータが存在する前記リスト記憶手段中の位置をシンボルとし、前記比較手段で前記パッキングデータが前記リスト記憶手段中にないと判断された場合、前記リスト記憶手段中の全前記リストデータ値が前記パッキングデータ値より小さい個数をカウントし、この個数と前記パッキングデータ値を加えてシンボルとすることを特徴とする。
この特徴により、シンボル生成手段としてエスケープ記号と入力された該パッキングデータの組み合わせを用いる場合よりも符号化効率の良いシンボルを生成することが可能になる。
【００１２】
また、本発明の請求項４の信号符号化方法は、格納されるデータ量の大きさが２のＮ乗より小さいサイズを保存可能な最大数とし、該記憶されたデータが重複のないリストからなるリスト記憶手段を有し、入力されたデジタルデータ列（値０と１をとるビットデータ列）をＮビット毎に分割し、該分割したデータのそれぞれをパッキングデータとしたパッキングデータと前記リスト記憶手段中に記憶された前記リスト中のデータとを比較する比較処理と、前記比較結果から符号化対照となるシンボルの生成処理と、前記リスト記憶手段中のデータを削除して前記リストの並び替えを行うことにより前記リストの再構成処理を行って、この前記シンボル生成処理で生成されたシンボル列を圧縮して符号語を形成することを特徴とする。
また、本発明の請求項５は、請求項４に記載の信号符号化方法において、前記リストの再構成処理は、前記パッキングデータが前記リスト中にないと判断された場合に前記パッキングデータを前記リスト中の先頭に挿入し、前記リストの保存可能な最大数を超える場合には、最終のデータを削除し、先頭にあったデータから最終の位置までのデータを順次一つずつ後ろにずらすようにしてリストを再構成処理し、前記比較処理で前記パッキングデータが前記リスト記憶手段中にあると判断された場合、前記パッキングデータを前記リスト記憶手段の先頭へ挿入し、先頭にあったデータから前記比較処理で見つけた位置の１つ前のデータまでを順次一つずつ後ろにずらすようにしてリストを再構成処理することを特徴とする。
この特徴により、ＭＴＦ内に保持すべきリストの要素総数を、入力される前記パッキングデータのビット濃度Ｎから起こりうる状態の総数である２のＮ乗よりも少ないリスト要素数とすることが可能になる。
また、本発明の請求項６は、請求項４または請求項５に記載の信号符号化方法において、前記シンボルの生成は、前記パッキングデータが前記リスト中にあると判断された場合、前記リスト中の位置をシンボルとし、前記パッキングデータが前記リスト中にないと判断された場合、前記リスト中の全データ値が前記パッキングデータ値より小さい個数をカウントし、この個数と前記パッキングデータ値を加えてシンボルとすることを特徴とする。
この特徴により、シンボル生成するときに、エスケープ記号と入力された該パッキングデータ二つの組み合わせを用いる場合よりも符号化効率の良いシンボルを生成することが可能になる。
【００１３】
また、本発明の請求項７のプログラムは、コンピュータに、請求項３、４または５に記載の信号符号化方法を実行させるためのプログラムである。また、本発明の請求項８の記録媒体は、請求項７に記載の信号符号化プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１４】
本発明によれば、ＭＴＦ符号化方式を利用してデータを圧縮する場合に、このデータの発生する確率が偏っているときに、起こりうるデータ値を保持する総数を少なくすることができるので、メモリの使用量を節減することができ、このＭＴＦ符号化方式を組み込む装置やＬＳＩの単価や実装面積を減らすことができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明に係る信号符号化装置の一実施形態を説明する。図１は、本実施形態の機能構成を示すブロック図である。図１において、信号符号化装置は、ビットパッキング手段１０、比較手段２０、リスト記憶手段３０、シンボル生成手段４０、リスト再構成手段５０、圧縮手段６０からなっている。
【００１６】
ビットパッキング手段１０は、圧縮対象のビットデータをＮ（４≦Ｎ≦３２）ビット毎に分割する。この分割されたパッキングデータをそれぞれリスト記憶手段３０に記憶されたデータと比較することによってシンボルを生成し、この生成されたシンボル列を圧縮手段６０によって圧縮する。また、分割するときに圧縮対象のビットデータのデータ長がＮの倍数にならないときには、足りない部分に値０のビットを詰めることによりＮの倍数にする。
【００１７】
リスト記憶手段３０は、圧縮対象のビットデータを分割してできるパッキングデータとして出現するデータ値をリスト形式で記憶する。このリストの総数はＮビットからなるパッキングデータの取り得る最大データ値である２のＮ乗より小さく取る。この記憶されたデータは、リスト再構成手段５０によって既出のデータの中で前回出現したデータが、出現する確率が最も高いと見なすように順序付けられていく。
【００１８】
比較手段２０は、１つのパッキングデータがリスト記憶手段３０に記憶されているかどうか比較し、記憶されている場合にはその発見された位置を出力する（例えば、図２（Ａ）の上図参照）。一方、記憶されていない場合には、リスト記憶手段３０に記憶されている最後のデータ位置の次の位置を出力する（例えば、図２（Ｂ）の上図参照）。
【００１９】
シンボル生成手段４０は、パッキングデータとリスト記憶手段３０中のデータとを比較した後、次のようにしてシンボルを生成し、一時的にシンボル列として記憶する。
（１）パッキングデータがリスト記憶手段３０中に発見された場合、そのリスト中の位置をシンボルとする。
（２）パッキングデータがリスト記憶手段３０中に発見できない場合、リスト記憶手段３０中のデータ値がパッキングデータより小さい個数をカウントし、このカウントされた値とパッキングデータを加えた値をシンボルとする。
【００２０】
リスト再構成手段５０は、パッキングデータをリスト記憶手段３０の先頭へ挿入し、先頭にあったデータから比較手段２０で見つけた位置の１つ前のデータまでを順次一つずつ後ろにずらすようにして、既出のデータの中で前回出現したデータが、出現する確率が最も高いと見なすようにリストの順番を再構成する。例えば、図２（Ａ）のように、リスト記憶手段３０のｋ番目にパッキングデータと同じデータが登録されていた場合には、この「データｋ」をリスト記憶手段３０の１番目に挿入し、元の最初にあった「データ１」以降から（ｋ−１）番目の「データｋ−１」までを順次１つずつ後ろへ繰り下げ、その結果図２（Ａ）の下図のように再構成される。
【００２１】
また、リスト記憶手段３０にパッキングデータが登録されていない場合には、このパッキングデータをリスト記憶手段３０の先頭へ挿入し、先頭にあったデータから最終の位置までのデータを順次一つずつ後ろにずらすようにして、既出のデータの中で前回出現したデータが、出現する確率が最も高いと見なすようにリストの順番を再構成する。例えば、図２（Ｂ）のように、リスト記憶手段３０中にパッキングデータが登録されていない場合には、このパッキングデータをリスト記憶手段３０の１番目に挿入し、元の最初にあった「データ１」以降から最終のデータまでを順次１つずつ後ろへ繰り下げ、その結果図２（Ｂ）の下図のように再構成される。ここで、パッキングデータを挿入することによってリスト記憶手段３０の保存可能な最大数を超える場合には、最終のデータを削除してずらすようにする。
【００２２】
圧縮手段６０は、シンボル生成手段４０で生成され一時的に記憶されたシンボル列を圧縮し符号化する。このときに用いられる圧縮方法としては、エントロピー符号化、ランレングス符号化や算術符号化等およびそれらの組み合せ等の既知の方式を用いる。
【００２３】
図３は、本実施形態の信号符号化装置の処理手順を説明するためのフローチャートである。圧縮対象のビットデータをＮ（４≦Ｎ≦３２）ビット毎に分割する（ステップＳ１０）。分割するときに圧縮対象のビットデータのデータ長がＮの倍数にならないときには、足りない部分に値０のビットを詰めることによりＮの倍数にする。
【００２４】
この圧縮対象のビットデータを分割してできたパッキングデータを１つずつ取り出し（ステップＳ１２）、既にパッキングデータを全て処理してシンボル列を生成し終わった場合には、生成され一時的に記憶されたシンボル列を圧縮し符号化する（ステップＳ１４，Ｓ３０）。このときに用いられる圧縮方法としては、エントロピー符号化、ランレングス符号化や算術符号化等およびそれらの組み合せ等の既知の方式を用いる。
【００２５】
ステップＳ１４で、シンボル生成の対象となるパッキングデータが存在する場合、このパッキングデータに対して以下のような処理をする。このパッキングデータがリスト記憶手段３０に記憶されているかどうか調べる（ステップＳ１６）。登録されていた場合、その発見された位置をシンボルとして一時的に記憶する（ステップＳ１８，Ｓ２０）。一方、登録されていなかった場合、リスト記憶手段３０中のデータ値がパッキングデータより小さい個数をカウントし、このカウントされた値とパッキングデータを加えた値をシンボルとして一時的に記憶し（ステップＳ１８，Ｓ２２）、パッキングデータの登録位置をリスト記憶手段３０に記憶されている最後のデータ位置の次の位置と仮定する（ステップＳ２４）。
【００２６】
リスト記憶手段３０の先頭のデータからパッキングデータの登録位置のひとつ前までのデータを順次一つずつ後ろにずらす（ステップＳ２６）。ここで、後ろへずらす際、リスト記憶手段３０の保存可能な最大数を超える場合には、最終のデータを削除する。パッキングデータをリスト記憶手段３０の先頭へ挿入し（ステップＳ２８）、既出のデータの中で前回出現したデータが、出現する確率が最も高いと見なすようにリストの順番を再構成する。次の圧縮対象のパッキングデータを処理するためにステップＳ１２へ戻る。
【００２７】
さらに、本発明は上記の実施形態のみに限定されたものではない。上述した実施形態を構成する各機能をそれぞれプログラム化し、予めＣＤ−ＲＯＭ等の記録媒体に書き込んでおき、このＣＤ−ＲＯＭを各サイトのＣＤ−ＲＯＭドライブのような媒体駆動装置を搭載したコンピュータ装置に装着して、プログラムをメモリあるいは記憶装置に格納し、コンピュータ装置のＣＰＵが記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。また、上述のプログラムがＲＯＭ（Read Only Memory）に記憶されている場合には、このＲＯＭからプログラムを読み込むので媒体駆動装置を備えていなくてもよい。
【００２８】
この場合、記録媒体から読出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
【００２９】
尚、記録媒体としては半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク等）のいずれであってもよい。
【００３０】
また、ロードしたプログラムを実行することにより上述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００３１】
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、インターネット等の通信網で接続されたユーザのコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【図面の簡単な説明】
【００３２】
【図１】本実施形態の機能構成を示すブロック図である。
【図２】リスト記憶手段の再構成を説明するための図である。
【図３】本実施形態の処理手順を説明するフローチャートである。
【符号の説明】
【００３３】
１０…ビットパッキング手段、２０…比較手段、３０…リスト記憶手段、４０…シンボル生成手段、５０…リスト再構成手段、６０…圧縮手段。
【図１】
2006174493.tif 000003
【図２】
2006174493.tif 000004
【図３】
2006174493.tif 000005