(57)【特許請求の範囲】
【請求項１】
入力されるデータ列の圧縮伸長用に、予め設定される規格に従うツリー構造を有し、最上位レベルの節点から各節点までの経路に応じて見出しデータが表現され、各節点毎に上位レベルの節点に対するリンク情報と下位レベルの節点の有無情報とを有する辞書を検索し、見出しデータに一致する入力データの部分列の符号化と、見出しデータに一致しない入力データの辞書への追加とを繰返すデータ圧縮装置において、
辞書の各節点には、自分のレベルの次のレベルでの最初の節点、および自分と同一のレベルでの次の節点へのリンク情報が付加されており、
付加されたリンク情報も使用して辞書の検索を行う辞書検索手段と、
入力データの辞書への追加の際に、予め定められる範囲の複数レベルで、節点に対するリンク情報を付加するリンク付加手段とを含むことを特徴とするデータ圧縮装置。
【請求項２】
前記データ列は、データ通信用の文字列であり、
前記予め設定される規格に従って、前記辞書を用いて文字列を符号化して通信路に送信し、通信路から受信される信号を辞書を用いて復号化する処理手段を備えることを特徴とする請求項１記載のデータ圧縮装置。
【請求項３】
前記付加されるリンク情報は、
ツリー構造で親となる上位レベルの節点から最初に追加された下位レベルの子である長男の節点へのリンク情報と、
同一の節点を親として共有する同一レベルの節点間で、追加された順序が連続し、先行する兄の節点から後続の弟の節点へのリンク情報とであることを特徴とする請求項１または２記載のデータ圧縮装置。
【請求項４】
前記予め設定される規格は、国際電信電話諮問委員会の勧告Ｖ．４２ｂｉｓであることを特徴とする請求項１〜３のいずれかに記載のデータ圧縮装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、連続するデータを圧縮するデータ圧縮装置、特にデータ通信などのために、リアルタイムで文字列データなどを圧縮伸長するシステムのためのデータ圧縮装置に関する。
【０００２】
【従来の技術】
従来から、データ通信の分野では、ＣＣＩＴＴと略称される国際電信電話諮問委員会からのＶシリーズ勧告に基づくデータ回線終端装置（ＤＣＥ）がモデムとして用いられている。図５は、ＣＣＩＴＴ勧告Ｖ．４２ｂｉｓに基づくデータ圧縮機能とエラー訂正制御機能とを有するデータ回線終端装置１の概略的な構成を示す。データ回線終端端装置１は、ワークステーションやパーソナルコンピュータなどのデータ終端装置２と、公衆電話網３との間に設けられる。ＤＴＥと略称されるデータ終端装置２との接続は、相互接続回路４を介して行われる。公衆電話網３との間の信号の変換は、信号変換部５によって行われる。エラー訂正およびデータ圧縮は、制御部６によって制御されるエラー訂正部７およびデータ圧縮部８によってそれぞれ行われる。
【０００３】
データ圧縮部８は、辞書９を有し、文字列の符号化による圧縮と、符号化されたデータの復号による伸長とを行う。
【０００４】
図６は、辞書９のデータ構造を示す。辞書９はツリー構造１０によって表現される。このツリー構造１０は、複数の節点を有し、アルファベットＡ，Ｂ，Ｃ，Ｄ，…に対応するルート節点１１ａ，１１ｂ，１１ｃ，１１ｄ，…が最上位となって、複数の節点が連なって文字列を表現する。図６は、「Ａ」、「Ｂ」、「ＢＡ」、「ＢＡＧ」、「ＢＡＲ」、「ＢＡＴ」、「ＢＩ」、「ＢＩＮ」、「Ｃ」、「Ｄ」、「ＤＥ」、「ＤＯ」および「ＤＯＧ」の各文字列を表現している状態を示す。節点１２ｂａ，１２ｂｉ，１２ｄｏは、ツリー構造１０の途中にあり、文字列の最後の文字を示すリーフ節点１２ｄｅ，１３ｂａｇ，１３ｂａｒ，１３ｂａｔ，１３ｂｉｎ，１３ｄｏｇは中間の節点１２ｂａ，１２ｂｉ，１２ｄｏよりも下位レベルの階層にある。各節点には、節点を識別するための符号語が割当てられる。このツリー構造１０の辞書９の内容は、公衆電話網３を介してデータ通信を行う相手側の辞書９における符号語の割当てと一致させる。
【０００５】
図６（ｂ）に示すように、一般に、ツリー構造１０の途中にある節点１４に対しては、１つの親１５と１または複数の子１６が存在する。図６（ａ）に示すルート節点１１ａ〜１１ｄに対しては親は存在しない。またルート節点１１ａ，１１ｃは子も存在せず、独立した節点となっている。したがって、図６（ｂ）に示すツリー構造１０上の各節点１４では、自己に対応する符号語と、自己に対応する文字と、親１５の符号語と、子供１６の有無を示す情報とを備えている必要がある。
【０００６】
図７は、ＣＣＩＴＴ勧告Ｖ．４２ｂｉｓに従って文字列検索を行って圧縮する手順を示す。ステップａ０から手順を開始し、ステップａ１では文字列の最初の文字に対応するルート節点の情報を獲得する。ステップａ２では対象とする節点に対し、子供となる節点が存在しているか否かを判断する。子供が存在していると判定されれば、ツリー構造１０でこの節点から次の符号語の情報を獲得する。ステップａ４では、獲得された次の符号語の情報のうち、文字が一致するか否かを判断する。文字が一致するときには、ステップａ２に戻り、さらに子供の有無を判断する。ステップａ４で文字が一致しないときには、ステップａ５で子供となる節点についての辞書の範囲を一周しているか否かを判断する。一周していないと判断されるときには、ステップａ３に戻り、次の子供の符号語の情報を獲得する。ステップａ５で辞書を一周して、文字が一致する子供の符号語がないと判断されるときには、ステップａ６で、一致しない文字を辞書に追加する処理を行う。ステップａ２で子供がいないと判断されるときには、ステップａ８で文字の辞書への追加を行う。ステップａ６またはステップａ７の辞書への追加が終了すると、ステップａ８で文字列が一致した範囲の符号語の出力を行い、ステップａ９で手順を終了する。
【０００７】
図７の手順に従って、データ通信用の信号ストリームを圧縮する典型的な先行技術は、たとえば特公平５−６８８９３に開示されている。また辞書を用いてデータ圧縮を行う考え方は、特開昭６０−２４１１５７、特開昭６１−２３２７２４、特開平１−１０２６１３、特開平２−１４４６６１、特開平３−０３８７７２、特開平４−１１６６９０、特開平４−１２３６１９、特開平４−２１７０２１、特開平４−２２３５５６、特開平４−３４０１５６および特開平７−２３２３８などにも開示されている。
【０００８】
【発明が解決しようとする課題】
従来からの図６に示すようなツリー構造１０の辞書は、各節点の親となる節点へのリンクでツリー構造１０を表現しているので、文字列検索時には辞書内に記憶されている符号語を端から端まで確認する必要があり、時間がかかっている。そのためリアルタイム処理を行う場合には、高速な演算装置等が必要となる。
【０００９】
本発明の目的は、ＣＣＩＴＴの勧告Ｖ．４２ｂｉｓ等の圧縮伸長処理に高速な演算装置等を必要とせず、辞書構造の変更による記憶容量の増加を可能な限り抑えることができる辞書構造を有するデータ圧縮装置を提供することである。
【００１０】
【課題を解決するための手段】
本発明は、入力されるデータ列の圧縮伸長用に、予め設定される規格に従うツリー構造を有し、最上位レベルの節点から各節点までの経路に応じて見出しデータが表現され、各節点毎に上位レベルの節点に対するリンク情報と下位レベルの節点の有無情報とを有する辞書を検索し、見出しデータに一致する入力データの部分列の符号化と、見出しデータに一致しない入力データの辞書への追加とを繰返すデータ圧縮装置において、
辞書の各節点には、自分のレベルの次のレベルでの最初の節点、および自分と同一のレベルでの次の節点へのリンク情報が付加されており、
付加されたリンク情報も使用して辞書の検索を行う辞書検索手段と、
入力データの辞書への追加の際に、予め定められる範囲の複数レベルで、節点に対するリンク情報を付加するリンク付加手段とを含むことを特徴とするデータ圧縮装置である。
【００１１】
本発明に従えば、ツリー構造の辞書の最上位レベルの節点から各節点までの経路に応じて見出しデータが表現され、入力されるデータ列が見出しデータに一致する範囲で符号化されてデータ圧縮が行われる。辞書の各節点には、自分のレベルの次のレベルでの最初の節点、および自分と同一のレベルでの次の節点へのリンク情報が付加され、辞書検索手段は付加されたリンク情報も使用して辞書の検索を行うので、データ列が辞書に記憶されている見出しデータに一致するか否かの判断を行う際の検索時間を短縮することができる。リンク付加手段は、入力データの辞書への追加の際に、予め定められる範囲の複数レベルで節点に対するリンク情報を付加するので、追加されたデータを含む見出しデータの検索でも、付加されたリンク情報を用いて迅速な検索を行うことができる。辞書の検索が高速化されるので、高速な演算装置等を必要とせずに圧縮伸長処理を高速化することができる。ツリー構造の辞書に対して付加するリンク情報を少なくすることができるので、辞書の記憶容量の増大を抑えることができる。
【００１２】
また本発明で前記データ列は、データ通信用の文字列であり、
前記予め設定される規格に従って、前記辞書を用いて文字列を符号化して通信路に送信し、通信路から受信される信号を辞書を用いて復号化する処理手段を備えることを特徴とする。
【００１３】
本発明に従えば、データ通信の際に、文字列を圧縮伸長するための辞書の検索が高速となり、高速度の通信速度に対しても辞書を用いる圧縮伸長処理を充分に対応させることができる。
【００１４】
また本発明で前記付加されるリンク情報は、
ツリー構造で親となる上位レベルの節点から最初に追加された下位レベルの子である長男の節点へのリンク情報と、
同一の節点を親として共有する同一レベルの節点間で、追加された順序が連続し、先行する兄の節点から後続の弟の節点へのリンク情報とであることを特徴とする。
【００１５】
本発明に従えば、親から長男へのリンク情報と、兄弟間で兄から弟へのリンク情報とが付加されるので、文字列の検索の際に次の節点を探す時間が短縮され、迅速な検索を行うことができ、圧縮または伸長に要する時間の短縮を図ることができる。
【００１６】
また本発明で前記予め設定される規格は、国際電信電話諮問委員会の勧告Ｖ．４２ｂｉｓであることを特徴とする。
【００１７】
本発明に従えば、国際電信電話諮問委員会の勧告Ｖ．４２ｂｉｓに基づくデータ圧縮を、辞書の検索時間を短縮して高速化することができる。
【００１８】
【発明の実施の形態】
図１は、本発明の実施の一形態としてのデータ回線終端装置２１の概略的な電気的構成を示す。データ回線終端装置２１は、ＤＣＥとして、ＤＴＥであるデータ終端装置２２と公衆電話網２３との間に設けられる。データ終端装置２２は、パーソナルコンピュータやＰＥＤと称される各種形態情報端末装置などである。公衆電話網２３は、公衆電話回線やＩＳＤＮ、あるいはＰＨＳなどの無線公衆電話網である。
【００１９】
データ回線終端装置２１には、データ終端装置２２との間に相互接続回路２４、公衆電話網２３との間に信号変換部２５、内部の制御用に制御部２６、エラー訂正用にエラー訂正部２７、およびデータの圧縮伸長用にデータ圧縮部２８を含む。データ圧縮部２８は、ツリー構造の辞書２９、辞書検索手段３０およびリンク付加手段３１を含む。
【００２０】
図２は、図１の辞書２９の基本的なツリー構造４０を示す。図２（ａ）は、ツリー構造４０の表現例を示し、図２（ｂ）は各節点に対応して記憶されている符号語情報の内容を示す。ツリー構造４０の途中の節点が自分４１である場合を想定すると、ツリー構造４０の上位側のレベルに親４２となる節点が存在する。自分４１から親４２へは、親へのリンク４３でさかのぼることができる。同一の親４２からは、自分４１および弟４４を含む複数の子が分岐し得る。親４２に対する複数の子は、辞書に追加された順に従って兄弟の関係を有し、自分４１に対して弟４１が存在するときには、弟へのリンク４５で参照可能である。自分４１が、リーフ節点でないときには、１または複数個の子となる節点が存在する。そのうち最初に追加される節点は、長男４６であり、次男以降の子供４８が存在することもある。次男以降の子供４８が存在するときには、長男４６には弟へのリンクが設けられるので、自分４１からは長男４６へのリンクである長男へのリンク４７を記憶しておくだけで、複数の長男４６および子供４８を順に示すことができる。
【００２１】
図２（ｂ）は、各節点に記憶されている符号語情報の内容の例を示す。図２（ａ）に示す自分４１についての符号語情報の場合、先頭１２ビットは自分４１に対応する符号語４１ａであり、次の８ビットは自分４１に対応する文字４１ｂであり、次の１２ビットは親４２の符号語４２ａであり、次の１ビットで長男４６あるいは子供４８など、子供がいるか否かを示すフラグ４１ｃとなる。符号語４１ａ、文字４１ｂ、親の符号語４２ａおよび子供がいるか否かのフラグ４１ｃは、従来からＶ．４２ｂｉｓ用の辞書には記憶されている。本実施形態のツリー構造４０に対応する辞書では、網かけを施して示す次の１２ビットの長男の符号語４６ａ、１ビットの弟がいるか否かを示すフラグ４１ｄ、および１２ビットの弟の符号語４４ａを付加する。この結果、従来は３３ビットであった符号語情報が、２５ビット付加され、５８ビットに増大する。しかしながら、辞書２９に記憶する容量の増加は２倍には達していない。
【００２２】
図３は、図５と同様な文字列に対応する辞書２９のツリー構造５０を示す。図３（ａ）は、ツリー構造５０による表現例を示し、図３（ｂ）は各節点に記憶されている符号語情報の内容例を示す。図３（ｂ）で、本発明による付加情報の部分は、網かけを施して示す。
【００２３】
図３（ａ）に示すツリー構造５０では、ルート節点５１ａ，５１ｂ，５１ｃ，５１ｄでアルファベットのＡ，Ｂ，Ｃ，Ｄに対応させ、途中の節点５２ｂａ，５２ｂｉ，５２ｄｏからリーフ節点５２ｄｅ，５３ｂａｇ，５３ｂａｒ，５３ｂａｔ，５３ｂｉｎ，５３ｄｏｇに対し、従来からの親へのリンク４３に加えて、弟へのリンク４５および長男へのリンク４７を付加している。
【００２４】
図４は、図３に示すようなツリー構造５０の辞書で文字列検索を行ってデータ圧縮を行う手順を示す。ステップｂ０から手順を開始し、ステップｂ１で文字列の最初の文字に対応するルート節点５１ａ〜５１ｄの情報を獲得する。ステップｂ２では、図２（ｂ）の子供がいるか否かのフラグ４１ｃに従って、子供の有無を判断する。子供がいると判断されるときには、長男の符号語４６ａを長男へのリンク４７として用いて、長男の情報を獲得する。ステップｂ４では、長男の節点についての文字４１ｂが、入力された文字列で検索の対象となっている文字と一致しているか否かを判断する。一致していないと判断されるときには、ステップｂ５で長男の節点に対して弟となる節点がいるか否かのフラグ４１ｄを参照し、弟がいればステップｂ６で次の弟の情報を獲得する。ステップｂ５で弟がいないと判断されるときには、ステップｂ７で一致しない文字を辞書に追加する処理を行う。ステップｂ５で子供がいないと判断されるときには、ステップｂ８で最後の文字についての辞書への追加を行う。この追加の際に、リンク付加手段３１は、新たな節点に文字を割当て、その節点の直前の兄となる節点に対応する節点の符号語情報に対し、弟がいるか否かのフラグ４１ｄと弟の符号語４８ａとを変更する。
【００２５】
ステップｂ８の辞書追加では、新たに長男となる節点を追加し、長男の符号語４６ａを設定するとともに、子供がいるか否かのフラグ４１ｃを変更する。ステップｂ７またはステップｂ８が終了すると、ステップｂ９で辞書と一致する範囲の文字列に対応して符号語を出力し、ステップｂ１０で手順を終了する。
【００２６】
以下具体的に、図４の手順で「ＢＩＮ」という文字列を検索する状態を示す。ステップｂ１では図３（ａ）のルート節点５１ｂから、「Ｂ」の情報を獲得する。ＣＣＩＴＴの勧告Ｖ．４２ｂｉｓから、ルート節点「Ｂ」は符号語「０４５」であることが分かるので、図３（ｂ）から符号語「０４５」の情報を獲得する。図４のステップｂ２では、ルート節点「０４５」に子供がいるか否かを確認する。図３（ｂ）では符号語「０４５」に対する子供がいるか否かのフラグが○印になっているので、子供がいることが確認される。ステップｂ３では、長男に対応する符号語として「符号語２」が検索文字の２番目の文字である「Ｉ」と一致しているか否か確認される。この場合長男の文字は、「Ａ」であるので、検索文字の２文字目「Ｉ」とは一致していないことが確認される。ステップｂ５では、弟がいるか否かのフラグを確認する。図３（ｂ）では○印となっているので、弟がいることが確認される。ステップｂ６では、「符号語２」の弟の情報から「符号語８」の情報を獲得する。次にステップｂ４に戻り、「符号語８」が検索文字の２文字目「Ｉ」と一致していることを確認する。さらにステップｂ２に戻り、「符号語８」に子供がいるかを確認する。図３（ｂ）では○印であるので子供がいることを確認する。ステップｂ３で、「符号語８」の長男の情報を、「符号語６」として獲得する。ステップｂ４では、「符号語６」が検索文字の３文字目「Ｎ」と一致していることを確認し、文字列「ＢＩＮ」の検索を終了する。したがって文字列「ＢＩＮ」の符号語は「符号語６」となる。
【００２７】
【発明の効果】
以上のように本発明によれば、データ列の圧縮伸長用の辞書にリンク情報を付加して検索を高速化することができ、演算装置等の高速化を図る必要がないので消費電力の増加を抑えることができる。このため、携帯情報端末装置等の電源の負担を軽減し、小形軽量化を図ることができる。
【００２８】
また本発明によれば、辞書を用いて文字列の圧縮伸長を伴って、高い伝送速度でデータ通信を容易に行うことができる。
【００２９】
また本発明によれば、親から長男へのリンク情報と、兄から弟へのリンク情報とを付加することで辞書の検索の際の高速化を図るので、辞書の記憶容量の増加を抑え、携帯情報端末装置等に組込む際の小形化に対する障害となることを防ぐことができる。
【００３０】
また本発明によれば、国際電信電話諮問委員会の勧告Ｖ．４２ｂｉｓに従うデータ通信の際の辞書の検索を迅速に行うことができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態の概略的な電気的構成を示すブロック図である。
【図２】図１の辞書２９の基本的なツリー構造１０を示す図および図表である。
【図３】図２のツリー構造４０に対し、特定の文字列を対応させている状態を示すツリー構造５０の図および図表である。
【図４】図１の辞書２９を検索してデータ圧縮処理を行う手順を示すフローチャートである。
【図５】従来からのデータ圧縮装置の概略的な電気的構成を示すブロック図である。
【図６】図５に示す辞書９のツリー構造を示す図である。
【図７】図５の辞書９を検索してデータ圧縮を行う手順を示すフローチャートである。
【符号の説明】
２１  データ回線終端装置
２２  データ終端装置
２３  公衆電話網
２６  制御部
２８  データ圧縮部
２９  辞書
３０  辞書検索手段
３１  リンク付加手段
４０，５０  ツリー構造
４１  自分
４２  親
４３  親へのリンク
４４  弟
４５  弟へのリンク
４６  長男
４７  長男へのリンク
４８  子供
５１ａ，５１ｂ，５１ｃ，５１ｄ  ルート節点
５２ｂａ，５２ｂｉ，５２ｄｏ  節点
５２ｄｅ，５３ｂａｇ，５３ｂａｒ，５３ｂａｔ，５３ｂｉｎ，５３ｄｏｇ  リーフ節点
【図１】
0003593244.tif 000002
【図２】
0003593244.tif 000003
【図３】
0003593244.tif 000004
【図４】
0003593244.tif 000005
【図５】
0003593244.tif 000006
【図６】
0003593244.tif 000007
【図７】
0003593244.tif 000008