(57)【要約】【課題】データのパターンに左右されることなくデータ符号化の効率を上げること、及び符号化処理や復号処理を高速に行うことができるデータ符号化装置及びデータ符号化通信装置を提供する。【解決手段】第２の端末装置２２のエンコーダ２９でドメインの元のデータにカオスを発生させるカオス写像３３を逐次適用することで、クライテリオン３５を満足する圧縮結果ｅとカオス写像３３を適用した適用回数ｎとを取得する。一方、第１の端末装置２１は、圧縮結果ｅとカオス写像３３を適用した適用回数ｎを第２の端末装置２２から通信により取得する。そして、第１の端末装置２１は、デコーダ２４でカオス逆写像２８を適用回数ｎと同じ回数だけ圧縮結果ｅに適用して解凍結果であるデータを得る。【選択図】図３
2009033474.tif 000002
【特許請求の範囲】
【請求項１】
ドメイン上に定義されたカオス写像に基づいてデータを符号化するエンコーダと、
該エンコーダによって符号化されたデータをカオス逆写像に基づいて復号するデコーダと、
符号化後のデータを評価関数により評価するとともに、前記エンコーダに対して評価結果が予め設定されている基準の範囲内となるまで前記カオス写像に基づいてデータの符号化を継続させる制御手段と
を備えることを特徴とするデータ符号化装置。
【請求項２】
前記評価関数はデータ長評価関数であることを特徴とする請求項１に記載のデータ符号化装置。
【請求項３】
ネットワークを介してデータ通信可能に接続されている第１の端末装置と第２の端末装置とを備えるデータ符号化通信装置であって、
前記第２の端末装置は、ドメイン上に定義されたカオス写像に基づいてデータを符号化するエンコーダと、符号化後のデータを評価関数により評価するとともに、前記エンコーダに対して評価結果が予め設定されている基準の範囲内となるまで前記カオス写像に基づいてデータの符号化を継続させる制御手段とを備えており、
前記第１の端末装置は、前記第２の端末装置から送信された符号化されたデータに対して、前記エンコーダでカオス写像が適用された回数だけカオス逆写像を適用することでデータを復号するデコーダを備えていることを特徴とするデータ符号化通信装置。
【請求項４】
前記評価関数はデータ長評価関数であることを特徴とする請求項３に記載のデータ符号化通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理的なデータを擬似最適化して符号化するデータ符号化装置及びデータ符号化通信装置に関する。
【背景技術】
【０００２】
一般に、データをハードディスク等に保存したり他の情報処理機器等に送信したりする際には、データ量を減少させるために当該データに対して圧縮処理が施される。特に、近年のインターネット等のネットワークを通じた膨大なデータ通信や、ダウンロードしたデータを保存するために当該データの圧縮が行われている。データ圧縮においては、可逆的圧縮によるデータ圧縮若しくは非可逆的圧縮によるデータ圧縮が使用されている。
【０００３】
可逆的圧縮は、データの欠落が起こることがなく、可逆圧縮方式により圧縮されたデータを復号すると圧縮前のデータを完全に復元することができる。ロスレス圧縮とも呼ばれている。可逆的圧縮としては、例えばランレングス圧縮など、データの出現パターンを統計的に処理するために複雑なアルゴリズムを使用しているものがある。プログラムや文字データなどはデータが１ビットでも欠けると全く異なった結果になることから、圧縮を行なう場合には必ず当該可逆的圧縮を用いる必要がある。したがって、ファイル全般を取り扱う汎用の圧縮プログラムでは可逆的圧縮方式が採用されている。
【０００４】
一方、音声データや画像データなどは多少データに欠損が生じても品質を大きく損なうことはない。そのため、こうしたデータにおいては欠損を許容する代わりに圧縮率の大きい非可逆的圧縮が用いられる。非可逆的圧縮により圧縮されたデータでは、人間の感覚には分からないレベルではあるが、データロスが起こっている。
データ圧縮については、例えば特許文献１に記載された技術等がある。
【特許文献１】特許公開２００４−２０１１４４
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された技術の場合、統計的に処理するものである都合上、データのパターンを調査する必要があるために計算量が多くなる。また、データのパターンに偏り（稠密性）がなければ、圧縮効果は期待することができないといった問題点も存在する。
本発明はこうした符号化における問題点を解決するためになされた発明であり、データのパターンに左右されることなくデータ符号化の効率を上げること、及び符号化処理や復号処理を高速に行うことができるデータ符号化装置及びデータ符号化通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に記載のデータ符号化装置は、ドメイン上に定義されたカオス写像に基づいてデータを符号化するエンコーダと、該エンコーダによって符号化されたデータをカオス逆写像に基づいて復号するデコーダと、符号化後のデータを評価関数により評価するとともに、前記エンコーダに対して評価結果が予め設定されている基準の範囲内となるまで前記カオス写像に基づいてデータの符号化を継続させる制御手段とを備えることを特徴とする。
また、請求項２に記載のデータ符号化装置は、前記評価関数はデータ長評価関数であることを特徴とする。
【０００７】
また、請求項３に記載のデータ符号化通信装置は、ネットワークを介してデータ通信可能に接続されている第１の端末装置と第２の端末装置とを備えるデータ符号化通信装置であって、前記第２の端末装置は、ドメイン上に定義されたカオス写像に基づいてデータを符号化するエンコーダと、符号化後のデータを評価関数により評価するとともに、前記エンコーダに対して評価結果が予め設定されている基準の範囲内となるまで前記カオス写像に基づいてデータの符号化を継続させる制御手段とを備えており、前記第１の端末装置は、前記第２の端末装置から送信された符号化されたデータに対して、前記エンコーダでカオス写像が適用された回数だけカオス逆写像を適用することでデータを復号するデコーダを備えていることを特徴とする。
また、請求項４に記載のデータ符号化通信装置は、前記評価関数はデータ長評価関数であることを特徴とする。
【発明の効果】
【０００８】
本発明のデータ符号化装置及びデータ符号化通信装置によれば、符号化対象である符号化前の元データ（以下、単に「元ｄ」ともいう。）のデータパターンに依存することなく、かつ統計的な処理を実行することなく、高速に符号化することができる。
ドメイン上でカオスを発生させるためのカオス写像Ｆは、ドメインの元ｄにかかわらず、カオス写像Ｆを逐次適用して得られる集合ＤＦ（ｄ）＝｛Ｆ＾ｉ（ｄ）｜ｉは全ての自然数｝によって、カオスの性質からドメインの中で稠密になる。なお、稠密とはデータなどが所定の領域等に密集していることを意味する。
【０００９】
この点についての概略を、図１、２に基づいて説明する。
図１に示すように、整数や実数等の集合であるドメイン１１上には、任意の点１２、及びその任意の点１２における任意の近傍１３が存在する。カオス写像Ｆを逐次適用して得られる集合ＤＦ（ｄ）がドメイン１１の中で稠密であるとは、点１２の近傍１３内に、必ず集合ＤＦ（ｄ）の点が存在するということである。
【００１０】
例えば、図２に示すように、任意に取られたドメイン１１上の点１２の任意の近傍１３には、データｄにカオス写像Ｆを複数回適用して得られる像１４〜１７が存在する。像１４はデータｄにカオス写像Ｆをｉ１回、像１５はｉ２回、像１６はｉ３回、像１７はｉ４回それぞれ適用して得られた点を示している。これらの像１４〜１７は、集合ＤＦ（ｄ）の点である。なお、上記ｉ１〜ｉ４は、一般的に連続した数ではない。また、図２においては、集合ＤＦ（ｄ）の点は、実際には無限個存在するので、煩雑さを避けるために、その一部のみを表示している。
【００１１】
ここで、評価関数Ｈに対して適当なクライテリオン（基準）を予め設定しておくことにより、最適ではないものの、符号化結果Ｆ＾ｎ（ｄ）が十分よい評価、つまり評価関数Ｈ（Ｆ＾ｎ（ｄ））の値が十分大きくなるｎを見つけることが可能である。このことは換言すれば、元ｄの擬似最適化が可能であるということになる。これは、上述したカオス写像Ｆを逐次適用して得られる集合ＤＦ（ｄ）がカオスの性質により、ドメイン１１の中で稠密であることから、最適値の近傍に符号化結果Ｆ＾ｎ（ｄ）が存在することによる。
【００１２】
さらに、カオス現象を発生させるためのカオス写像Ｆは、例えばロジスティック写像のように一般には二次方程式のような簡易な式でも実現することができるため、コンピュータでの計算処理を増大させることはなく、処理の高速化を実現することができる。さらには、評価関数Ｈについても単純な式で実現することができる。
特に、評価関数Ｈをデータ長評価関数とした場合、データ符号化になることはいうまでもない。この事実は、最初に選んだ元ｄのパターンに依存することなく、かつ統計的な処理をすることなく、高速に評価関数Ｈに対して擬似最適化ができることによる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を適用したデータ圧縮通信装置の一実施形態にについて説明する。
図３に示すように、データ圧縮通信装置は、受信側である第１の端末装置２１と送信側である第２の端末装置２２とを備えている。これら第１の端末装置２１と第２の端末装置２２とは、ネットワークとしてのインターネット２３によって、データ通信可能に接続されている。第２の端末装置２２において圧縮されたデータがインターネット２３を介して第１の端末装置２１に送信され、第１の端末装置２１において当該送信されたデータが復号化される。
【００１４】
第１の端末装置２１は、デコーダ２４、送受信部２５、制御手段としてのＣＰＵ（Central Processing Unit）２６、記憶手段としてのハードディスク２７を備えている。
デコーダ２４は、第２の端末装置２２から送信されたデータを復号する機能を有する。送受信部２５は、インターネット２３を介して接続されている第２の端末装置２２等との間でデータの送受信を実行する。ＣＰＵ２６は、第１の端末装置２１におけるデコーダ２４や送受信部２５等の制御を、ハードディスク２７等に記憶されているプログラム等に基づいて実行する。ハードディスク２７には、デコーダ２４で第２の端末装置２２から送信されたデータを復号する際に用いられるカオス逆写像２８に関するデータが記憶されている。
【００１５】
第２の端末装置２２は、エンコーダ２９、送受信部３０、制御手段としてのＣＰＵ３１、記憶手段としてのハードディスク３２を備えている。エンコーダ２９は、圧縮対象であるデータを圧縮する機能等を有する。送受信部３０は、インターネット２３を介して接続されている第１の端末装置２１等との間でデータの送受信を実行する。ＣＰＵ３１は、第２の端末装置２２におけるエンコーダ２９や送受信部３０等の制御を、ハードディスク３２等に記憶されているプログラム等に基づいて実行する。ハードディスク３２には、整数や実数等の集合であるドメイン１１、当該ドメイン１１でカオスを発生させるカオス写像３３、データ長評価関数３４、カオス写像３３の終了条件を規定するクライテリオン３５に関する各データが記憶されている。
【００１６】
なお、第１の端末装置２１及び第２の端末装置２２は、ディスプレイや入力装置等を有するコンピュータ装置として構成することができる。
次に、以上のとおり構成されている本実施形態のデータ圧縮通信装置において、データを圧縮する動作について説明する。以下の処理は、第１の端末装置２１若しくは第２の端末装置２２に搭載されている図示しないメモリに記憶されているプログラム等に基づいて、第１の端末装置２１のＣＰＵ２６若しくは第２の端末装置２２のＣＰＵ３１による制御のもとで実行される。
【００１７】
図４に示すように、ＣＰＵ３１はハードディスク３２に記憶されている圧縮対象であるドメイン１１の元ｄを取得する（ステップＳ４１）。次に、エンコーダ２９でデータｄの圧縮を実行するとともに、圧縮結果ｅと、圧縮の際に用いられたカオス写像３３の適用回数ｎを得る（ステップＳ４２）。そして、圧縮結果ｅ及び適用回数ｎに関するデータを送受信部３０から第１の端末装置２１へと送信する（ステップＳ４３）。
【００１８】
次に、ステップＳ４２において、エンコーダ２９がドメイン１１の元ｄを入力として、圧縮結果ｅとカオス写像３３の適用回数ｎを返すまでの処理の流れについて説明する。
まず、図５に示すように、初期化処理を実行する（ステップＳ５１）。具体的には、取得された圧縮対象であるドメイン１１の元ｄをワーク変数ｅに代入するとともに、カオス写像３３の適用回数を０とする。さらに、データ長評価関数ＨＢによるワーク変数ｅの評価値をワーク変数ＨＢｅに代入する。
【００１９】
次に、ＣＰＵ３１は、ワーク変数ＨＢｅがクライテリオン３５を満足しているか否かについて判定する（ステップＳ５２）。
ＣＰＵ３１がクライテリオン３５を満足していると判断した場合には、カオス写像３３の適用回数ｎ、及び圧縮結果ｅに関するデータを取得する（ステップＳ５３）。一方、ステップＳ５２において、ＣＰＵ３１がクライテリオン３５を満足していないと判断した場合には、圧縮結果ｅにさらにカオス写像３３を適用して圧縮処理を実行するとともに、カオス写像３３の適用回数ｎをインクリメントする（ステップＳ５４）。
【００２０】
さらに、新たにデータ長評価関数ＨＢによるワーク変数ｅの評価値をワーク変数ＨＢｅに代入する（ステップＳ５５）。そして、ステップＳ５２に戻り、新たに設定されたワーク変数ｅに対するワーク変数ＨＢｅがクライテリオン３５を満足しているか否かについて判定する。
この一連の処理において、ステップＳ５２において、有限回のループ後に、必ずクライテリオン３５を満足することは、カオス写像３３がドメイン１１において、カオスを生成する結果、圧縮結果ｅに逐次カオス写像３３を適用して得られる像がドメイン１１において稠密であることから保障されている。なお、ステップＳ５２における最大ループ回数（換言すればカオス写像３３の適用回数ｎ）を予め所定の値に設定しておくこともできる。
【００２１】
次に、第２の端末装置２２においてエンコードされたデータをデコードしてデータｄとして取得するまでの処理について説明する。
図６に示すように、ＣＰＵ２６は、デコードするデータを送受信部２５より取得する（ステップＳ６１）。また、カオス写像３３を適用した適用回数ｎに関するデータについても送受信部２５から取得する（ステップＳ６２）。そして、ＣＰＵ２６は、デコーダ２４によって、取得したデータに対してハードディスク２７に記憶されているカオス逆写像２８を適用回数ｎだけ適用することで圧縮前のデータｄを得る（ステップＳ６３）。
【００２２】
次に、ステップＳ６３において、デコーダ２４が圧縮結果ｅとカオス写像３３の適用回数ｎに関するデータに基づいてデコードする具体的な処理の流れについて説明する。
図７に示すように、まず、ＣＰＵ２６は、デコーダ２４内において、カオス逆写像２８の適用回数ｉを０に初期化する。さらに、データｄを入力された圧縮結果ｅに初期化する（ステップＳ７１）。次に、カオス逆写像２８が圧縮結果ｅに対して適用回数ｎだけ適用済みであるか否かが判断される（ステップＳ７２）。ｎ回だけカオス逆写像２８が適用済みである場合には、圧縮結果ｅは元のデータｄに戻されたことになるため、データｄをハードディスク２７に記憶して処理を終了する（ステップＳ７３）。
【００２３】
一方、カオス逆写像２８がｎ回適用されていない場合には、データｄにカオス逆写像２８を適用する（ステップＳ７４）。さらに、適用回数ｉをインクリメントして（ステップＳ７５）、ステップＳ７２に戻り、データｄの解凍処理を続行する。ここで、ｅ＝ｄ（つまり、適用回数ｎが０の時）であっても、整合性を持って処理することができる。
次に、図５におけるステップＳ５２において、最大ループ回数（カオス写像３３の適用回数ｎ）を予め所定の値に設定した場合の処理について説明する。簡単のため、適用回数ｎの上限をＬとして説明する。
【００２４】
図８に示すように、まず、初期化処理を実行する（ステップＳ８１）。具体的には、入力である圧縮対象のドメイン１１の元ｄをワーク変数ｅに代入するとともに、カオス写像３３の適用回数を０とする。さらに、データ長評価関数ＨＢによるワーク変数ｅの評価値をワーク変数ＨＢｅに代入する。また、途中までのデータ長評価関数ＨＢの適用結果の最大値に関する情報を保持する変数を初期化する。つまり、ドメイン１１の元ｄをワーク変数ｅｍに代入するとともに、最大値を実現するカオス写像３３の適用回数ｎｍを０とする。さらに、データ長評価関数ＨＢによるワーク変数ｅｍの評価をワーク変数ＨＢｅｍに代入する。
【００２５】
次に、ＣＰＵ３１は、ワーク変数ＨＢｅがクライテリオン３５を満足しているか否かについて判定する（ステップＳ８２）。ＣＰＵ３１がクライテリオン３５を満足していると判断した場合には、カオス写像３３の適用回数ｎと、圧縮結果ｅに関するデータを取得する（ステップＳ８３）。一方、ステップＳ８２において、ＣＰＵ３１がクライテリオン３５を満足していないと判断した場合には、カオス写像３３の適用回数ｎが制限値Ｌを越えているか否かないかについて判定する（ステップＳ８４）。
【００２６】
カオス写像３３の適用回数ｎが制限値Ｌを越えている場合には、ワーク変数ＨＢｅｍに対するカオス写像３３の適用回数ｎｍ、及びワーク変数ＨＢｅｍに対するカオス写像３３の適用結果ｅｍに関するデータを取得する（ステップＳ８３）。一方、ステップＳ８４において、カオス写像３３の適用回数ｎが制限値Ｌを越えていない場合には、圧縮結果ｅにさらにカオス写像３３を適用して圧縮処理を実行するとともに、カオス写像３３の適用回数ｎをインクリメントする（ステップＳ８５）。
【００２７】
次に、ＣＰＵ３１は、現行のワーク変数ＨＢｅが過去の最大値であるワーク変数ＨＢｅｍ以上であるか否かについて判定する（ステップＳ８６）。現行のワーク変数ＨＢｅが過去の最大値であるワーク変数ＨＢｅｍ以上である場合、最大値が代わることを意味するため、適用結果ｅｍに適用結果ｅを、最大値を実現するカオス写像３３の適用回数ｎｍに適用回数ｎを、ワーク変数ＨＢｅｍにワーク変数ＨＢｅをそれぞれ代入する（ステップＳ８７）。そして、ステップＳ８２にもどり処理を続行する。
【００２８】
以上説明したとおり、本実施形態のデータ圧縮通信装置によれば、エンコード対象である元ｄのデータパターンに依存することなく、かつ統計的な処理を実行することなく、高速にデータを圧縮することができる。
【００２９】
なお、上記実施形態は、以下のように変更して実施してもよい。
・上記実施形態ではデータ圧縮通信装置について説明したが、これに限られるものではない。例えば、一般のデータ圧縮に適用してもよい。
・上記実施形態では第１の端末装置２１及び第２の端末装置２２によってデータの圧縮、解凍処理を別々に行ったが、１台の端末装置においてデータの圧縮、解凍処理を行うようにしてもよい。
【００３０】
・また、データ圧縮を目的とするものに限られるのはなく、一般の最適化問題に対して、擬最適解を求めることにも適用することができる。さらには、暗号化において、評価関数を複雑性評価関数とすれば、データの暗号化にも適用することができる。
・インターネット２３の代わりに、第１の端末装置２１及び第２の端末装置２２間のデータ通信を組み込みシステムに見られるようなモジュール間の通信としてもよい。
【図面の簡単な説明】
【００３１】
【図１】ドメイン１１と任意の点１２と任意の近傍１３との関係説明図。
【図２】任意の点１２と任意の近傍１３と像１４〜１７との関係説明図。
【図３】実施形態におけるデータ圧縮通信装置の概略構成図。
【図４】圧縮処理の流れを示すフローチャート。
【図５】圧縮処理の流れを示すフローチャート。
【図６】デコード処理の流れを示すフローチャート。
【図７】デコード処理の流れを示すフローチャート。
【図８】カオス写像３３の適用回数ｎを所定の値に設定した場合の処理の流れを示すフローチャート。
【符号の説明】
【００３２】
２３…ネットワークとしてのインターネット、
２４…デコーダ、
２９…エンコーダ、
３１…制御手段としてのＣＰＵ。
【図１】
2009033474.tif 000003
【図２】
2009033474.tif 000004
【図３】
2009033474.tif 000005
【図４】
2009033474.tif 000006
【図５】
2009033474.tif 000007
【図６】
2009033474.tif 000008
【図７】
2009033474.tif 000009
【図８】
2009033474.tif 000010