(57)【特許請求の範囲】
【請求項１】
入力画像データの所定領域において、ＲＧＢ信号毎にラプラシアンフィルタ処理を行う第１のステップと、
前記ＲＧＢ信号毎のラプラシアンフィルタ処理後の値から最大値を抽出する第２のステップと、
前記最大値の大きさに応じて前記所定領域における縮小率を変更し、前記所定領域の解像度変換処理を行う第３のステップと、
前記解像度変換処理後の前記所定領域をマクロブロックに分割してベクトル量子化を行う第４のステップとを有することを特徴とするデータ処理方法。
【請求項２】
前記第４のステップの後、前記ベクトル量子化後の出力データに対して差分予測符号化処理を行う第５のステップと、
前記差分予測符号化処理後の出力データに対してＬＺＳＳ辞書圧縮を行う第６のステップとを更に有することを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記第３のステップにおいて、前記最大値と予め設定しておいた少なくとも１つのしきい値とを比較し、比較結果に基づいて前記縮小率を変更することを特徴とする請求項１又は２に記載のデータ処理方法。
【請求項４】
複数の画素から成る入力画像データの所定領域において、ＲＧＢ信号毎に画像のエッジ検出を行うエッジ検出手段と、
前記所定領域における前記画像のエッジの量が少ない場合には高い縮小率で、前記画像のエッジの量が多い場合には低い縮小率で、前記所定領域内の前記画素の信号を解像度変換処理してデータ圧縮を行う圧縮手段と、
前記圧縮手段によりデータ圧縮された前記所定領域をマクロブロックに分割してベクトル量子化を行うベクトル量子化手段とを備え、
前記エッジ検出手段は、前記所定領域においてそれぞれの前記画素のＲＧＢ信号毎にラプラシアンフィルタ処理を行うラプラシアンフィルタ処理手段と、
前記ラプラシアンフィルタ処理後の値から最大値を抽出する最大値抽出手段と、
前記最大値と所定のしきい値とを比較する比較手段とを有することを特徴とするデータ処理装置。
【請求項５】
前記ベクトル量子化手段から出力された出力データ相互の差分を演算してデータ量を圧縮する差分予測符号化手段と、
前記差分予測符号化手段から出力された圧縮されたデータ列に対してＬＺＳＳ辞書圧縮を行うＬＺＳＳ圧縮手段とを更に備えたことを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記圧縮手段は、前記比較手段による比較の結果に応じて前記所定領域における縮小率を決定することを特徴とする請求項４又は５に記載のデータ処理装置。
【請求項７】
請求項１〜３のいずれか１項に記載のデータ処理方法の手順をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項８】
請求項４〜６のいずれか１項に記載のデータ処理装置の各手段としてコンピュータを機能させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置及び処理方法及びこれらの処理を実行させるためのプログラムを記憶した記憶媒体に関し、特に、データ圧縮手法の１つとしてベクトル量子化を用いる処理装置、処理方法及び記憶媒体に用いて好適なものである。
【０００２】
【従来の技術】
従来、データ圧縮の手法が種々提案されている。その中で、圧縮データの伸長処理を非常に簡単に行うことが可能なデータ圧縮アルゴリズムの１つとして、「ベクトル量子化」という手法が良く用いられている。このアルゴリズムは、古くから信号処理の分野で知られており、特に、画像信号や音声信号のデータ圧縮、あるいはパターン認識に応用されてきた。
【０００３】
このベクトル量子化では、ある大きさ（例えば４×４画素のブロック）の画素パターンを幾つか用意しておき、それぞれにユニークな番号などを与える（この集合体を「コードブック」という）。そして、例えば２次元配列の画像データ中から同じ大きさ（例えば４×４画素）のブロックを順次取り出し、それと最も似通ったパターンをコードブック中から見つけ出して、そのパターンの番号を当該ブロックに当てはめるというデータ圧縮を行う。ベクトル量子化では、１つのブロック内のデータ列が１つのコードベクトルに対応する。
【０００４】
このようにコード化された圧縮データの受信側あるいは伸長側では、各ブロック毎に番号に対応するパターンをコードブックの中から取り出すだけで、元の画像を再現することができる。従って、伸長側では、コードブックさえ受け取っているか、あるいは予め保持していれば、特に特殊な演算は必要としないため、非常に簡単なハードウェアで元の画像を再生することが可能となる。
【０００５】
【発明が解決しようとする課題】
しかしながら、画像データ中の特徴量を示す各パラメータは、通常、領域毎にバラツキの度合いが異なるものである。例えば輝度を例にとると、１画像データ中にはエッジ成分が多く存在し、輝度変化が大きい領域と、背景画像のように比較的輝度変化が少ない領域が存在する。そして、輝度変化の大きい領域の画像を圧縮する場合には、輝度変化が少ない領域よりも多くのコードブックのデータが必要になるため、輝度変化が少ない領域を含む画像の圧縮率を向上させることは困難であった。
【０００６】
また、輝度を予め検出して、輝度値に応じてベクトル量子化に用いるマクロブロックの大きさ、数を可変してデータ圧縮をしようとすると、例えば背景画像に対してコントラストの低い色文字等の情報は輝度値が低いものとして認識されてしまう。このため、輝度値に基づいて画像の各領域の圧縮率を可変させても良好な再生画像を得ることが困難であった。
【０００７】
本発明は、このような問題を解決するために成されたものであり、再生画像の画質を維持したまま、更なる圧縮率の向上を達成することを目的とする。
【０００８】
【課題を解決するための手段】
本発明のデータ処理方法は、入力画像データの所定領域において、ＲＧＢ信号毎にラプラシアンフィルタ処理を行う第１のステップと、前記ＲＧＢ信号毎のラプラシアンフィルタ処理後の値から最大値を抽出する第２のステップと、前記最大値の大きさに応じて前記所定領域の解像度変換処理を行う第３のステップとを有する。
【０００９】
本発明のデータ処理方法の一態様例においては、前記第３のステップの後、前記所定領域をマクロブロックに分割してベクトル量子化を行う第４のステップと、前記ベクトル量子化後の出力データに対して差分予測符号化処理を行う第５のステップと、前記差分予測符号化処理後の出力データに対してＬＺＳＳ辞書圧縮を行う第６のステップとを更に有する。
【００１０】
本発明のデータ処理方法の一態様例においては、前記第３のステップにおいて、前記最大値と予め設定しておいた少なくとも１つのしきい値とを比較し、比較結果に基づいて前記縮小率を変更する。
【００１１】
本発明のデータ処理装置は、複数の画素から成る入力画像データの所定領域において、ＲＧＢ信号毎に画像のエッジ検出を行うエッジ検出手段と、前記所定領域における前記画像のエッジの量が少ない場合には高い縮小率で、前記画像のエッジの量が多い場合には低い縮小率で、前記所定領域内の前記画素の信号を解像度変換処理してデータ圧縮を行う圧縮手段と、前記圧縮手段によりデータ圧縮された前記所定領域をマクロブロックに分割してベクトル量子化を行うベクトル量子化手段とを備え、前記エッジ検出手段は、前記所定領域においてそれぞれの前記画素のＲＧＢ信号毎にラプラシアンフィルタ処理を行うラプラシアンフィルタ処理手段と、前記ラプラシアンフィルタ処理後の値から最大値を抽出する最大値抽出手段と、前記最大値と所定のしきい値とを比較する比較手段とを有する。
【００１２】
本発明のデータ処理装置の一態様例においては、前記ベクトル量子化手段から出力された出力データ相互の差分を演算してデータ量を圧縮する差分予測符号化手段と、前記差分予測符号化手段から出力された圧縮されたデータ列に対してＬＺＳＳ辞書圧縮を行うＬＺＳＳ圧縮手段とを更に備える。
【００１４】
本発明のデータ処理装置の一態様例においては、前記圧縮手段は、前記比較手段による比較の結果に応じて前記所定領域における縮小率を決定する。
【００１６】
本発明の記憶媒体は、上記のデータ処理方法の手順をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【００１７】
本発明の記憶媒体は、上記のデータ処理装置の各手段としてコンピュータに機能させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【００１８】
【発明の実施の形態】
以下、本発明の一実施形態について図面を参照しながら詳細に説明する。以下に示す実施形態は、圧縮対象のデータとして例えば動画を構成する静止画を例にとり、画像データの圧縮率及び再生画質の更なる向上を達成するものである。
【００１９】
最初に、ベクトル量子化（ＶＱ）による画像圧縮及び伸長の原理について、静止画像を例にとり図１１を参照しながら説明する。図１１に示すように、圧縮対象のデータとして入力される原画像１は、画素と呼ばれる要素が多数集まって構成されている。個々の画素は、ＲＧＢ信号から変換された輝度信号（Ｙ信号）、及び色信号（Ｕ，Ｖ信号）等の情報を持っている。
【００２０】
入力画像１中から複数画素で構成されるブロックを取り出したのが、入力画像ブロック（マクロブロック）２である。図１１の例では、入力画像ブロック２の大きさとして４×４画素を選んでいるが、この大きさは何であってもよい。この入力画像ブロック２は、上述の通り複数の画素を持っているから、各々の画素が持つ輝度信号値や色信号値を集めてそれぞれベクトルデータとすることができる。これが入力ベクトルデータである。
【００２１】
人間の視覚特性上、入力画像１中の幾つかの入力画像ブロック２は、見た目では殆ど同じに見える場合がある。こういった同じに見える複数の入力画像ブロック２を、より少ない数の画像ブロックで代表させることが可能である。画像ブロックコードブック３は、入力画像１上の多数の入力画像ブロック２を代表する画像ブロック（コードベクトルデータ）を複数持ったものである。コードベクトルデータは、画像ブロックコードブック３内の画像ブロック各々の画素が持つ輝度信号値や色度信号値をベクトルデータとしたものである。
【００２２】
ベクトル量子化では、入力画像１の全体を画像ブロックとして分割し、各々の画像ブロック２を入力ベクトルデータとして、その入力ベクトルデータに類似するコードベクトルデータをコードブック３内から検索する。そして、該当するコードベクトルデータの番号のみを転送することで、画像を圧縮することが可能である。圧縮された画像を再生して再現画像４を得るには、上記転送された番号に対応するコードベクトルデータをコードブック３から読み出し、画像に当てはめればよい。
【００２３】
そして、本実施形態は、入力画像１の所定領域においてベクトル量子化を行う前にエッジ検出処理を行い、エッジ検出処理の結果に応じて所定領域において補間処理を行うことにより、ベクトル量子化前のデータ量を削減するようにしている。
【００２４】
例えば、背景画像に対して画像のエッジが多く検出される領域では、このエッジを高精度に再現するために補間処理は行わずにベクトル量子化を行う。一方で、エッジが殆ど検出されない領域においては、単調なパターンであることが想定され、補間処理により領域を縮小した後にベクトル量子化を行っても再生画像の画質の劣化は少ない。
【００２５】
従って、エッジが多く検出された領域のみ原画像のままベクトル量子化を行い、他の領域では補間処理により原画像のデータを縮小してベクトル量子化を行うことにより、全ての入力画像ブロック２を細かいマクロブロックによってベクトル量子化を行った場合と比較して圧縮率を大幅に向上させることが可能となる。
【００２６】
図１を参照しながら、入力画像の所定領域におけるエッジ検出の方法について説明する。本実施形態では１６×１６画素の領域毎にエッジ検出を行い、その結果に応じて１６×１６画素の領域を線形補間するようにしている。先ず、図１（ａ）に示すように、所定領域５における各画素のＲＧＢ（Ｒ：赤、Ｇ：緑、Ｂ：青）信号に対して個別にラプラシアン処理を行い、ＲＧＢ信号の各々から高周波成分を抽出する。これにより、各色信号に対してラプラシアン処理後のデータＬＲ，ＬＧ，ＬＢがそれぞれ得られる（図１（ｂ）参照）。
【００２７】
図１において、６はラプラシアンフィルタの一例を示している。ラプラシアンフィルタ６は、中央部とその周辺部に重みを設定したフィルタであり、重み値を全て合計すると“０”となるフィルタである。この例では、中央部の重みを“−４”、中央部に対してＹ軸方向、及びＸ軸方向の重みをそれぞれ“１”に設定している。そして、中央部に対して斜め方向の重みは“０”に設定している。
【００２８】
原画像データに対してラプラシアンフィルタ６をかけると、原画像データの各画素のＲＧＢデータが“０”に平均化され、値がプラス方向とマイナス方向とに分布するエッジ成分だけが残る。すなわち、ラプラシアンフィルタ６をかけることによって、変化量のみで表された高周波成分のデータが各ＲＧＢ信号から抽出される。
【００２９】
このように、ＲＧＢの各信号に対してラプラシアンフィルタ６をかけることにより、特に所定領域５におけるエッジ部分のコントラストが低い場合であっても、確実にエッジ検出を行うことが可能となる。例えば、背景画が白色で、黄色の文字が描かれているような場合には、輝度変換を行った後にエッジ検出を行うと、黄色と白色のコントラストが低いため、エッジ検出が困難であったが、本実施形態のように輝度変換を行う前に各ＲＧＢ信号をラプラシアン処理することによって、輝度のコントラストが低い場合であっても、確実にエッジ検出を行うことが可能となる。
【００３０】
所定領域５においてラプラシアン処理を行った後、所定領域５内の同一箇所に相当するそれぞれの画素においてＲＧＢ信号をラプラシアン処理して得られた値ＬＲ，ＬＧ，ＬＢのうちの最大値を求める。図１の例では、図１（ｂ）に示すように同一画素における各ＲＧＢ信号をラプラシアン処理して得られた値ＬＲ１，ＬＧ１，ＬＢ１のうちから最大値を抽出し、１６×１６画素の所定領域５の全ての画素において最大値をそれぞれ求める。そして、所定領域５の各々の画素における最大値の集合としてのデータ群がＬＭＡＸが得られ（図１（ｃ）参照）。
【００３１】
そして、データ群ＬＭＡＸのうち、少なくとも１つの画素の最大値が所定のしきい値を超えている場合には、所定領域５中にエッジ成分が存在するものと判断する。
【００３２】
このように、ラプラシアン処理後のＲＧＢ信号の各値から、最大値を抽出し、所定領域５の全画素における最大値のデータ群（ＬＭＡＸ）と所定のしきい値を比較してエッジの有無を判定することにより、例えば、Ｒ信号からはエッジが検出されないような画像であっても、他のＧ，Ｂ信号からエッジを検出することが可能となり、所定領域５中のエッジの検出漏れを最小限に抑えることが可能となる。
【００３３】
次に、図２及び図３を参照しながら、各所定領域５におけるエッジ検出の結果に基づいて解像度変換処理を行ってデータ圧縮を行う処理について説明する。本実施形態では、各所定領域５中におけるエッジ判定の結果得られたデータ群ＬＭＡＸの値と、予め定めておいた所定のしきい値との比較を行い、比較の結果に基づいて、解像度変換処理を行うようにしている。ここで、比較の際に用いるしきい値としては３０、６０の２つの値を用いている。
【００３４】
図２（ｂ）に示すように、ある所定領域５において得られたエッジ値（ＬＭＡＸ）の値が６０以上であった場合には、その所定領域５においてはエッジ成分が多いことが判別できるため、解像度変換処理は行わずに通常通り４×４のマクロブロックを１６個用いて所定領域５のベクトル量子化を行う。
【００３５】
一方、ある所定領域５において得られたエッジ値（ＬＭＡＸ）の値が３０未満であった場合には、その所定領域５においてはエッジ成分が少ないことが判別できるため、縮小率を１／４として所定領域５の解像度変換処理を行いベクトル量子化の前段階で解像度変換を行う。そして、データ圧縮後、ベクトル量子化のためのマクロブロック化を行う。解像度変換処理の一例として、本実施形態では線形補間縮小処理を用いており、例えば、以下の式により行う。
【００３６】
【数１】
0003541205.tif 000002
【００３７】
ここで、ｐ，ｑは０から１の間の実数である。
【００３８】
図２（ａ）は、１例として縮小率を１／４とした場合の解像度変換処理を示している。ここでは、４つの画素１１〜１４が解像度変換処理により１つの画素１５に代表されている。これにより、解像度を１／４にし、ベクトル量子化の対象となるマクロブロック数を削減することが可能となる。
【００３９】
すなわち、１６×１６画素の所定領域５においては、４×４のマクロブロックを１６個用いてベクトル量子化を行うが、縮小率を１／４としてを行っているため４×４のマクロブロックを４個用いるだけで所定領域５の画像を代表させ、その後のベクトル量子化を行うことができる。これにより、ＬＭＡＸの値が３０未満の所定領域５においては圧縮率を４倍に高めることができる。
【００４０】
また、ある所定領域５において得られたエッジ値（ＬＭＡＸ）の値が３０以上６０未満であった場合には、上述の２つの場合の中間の処理を行う。すなわち、この場合には縮小率を１／２に設定して解像度変換処理を行い、ここでは、４×４のマクロブロックを８個用いて、その後のベクトル量子化処理を行う。これにより、ＬＭＡＸの値が３０以上６０未満の所定領域５においては圧縮率を２倍まで高めることができる。
【００４１】
図３は、上述の解像度変換処理により所定領域５のデータ量を削減する方法を模式的に示した図である。
【００４２】
図３（ａ）は、エッジ判定の結果、所定領域５中にエッジ成分が多く検出され、ＬＭＡＸのうち少なくとも１つの値が６０以上となった場合の処理を示している。この場合、エッジ成分を精度よく再現する必要があるため、所定領域５における補間処理は行わずに４×４のマクロブロックを１６個用いてベクトル量子化を行う。
【００４３】
図３（ｂ）は、所定領域５中にエッジ成分が多く検出され、ＬＭＡＸのうち少なくとも１つの値が３０以上６０未満となった場合の処理を示している。この場合、エッジ成分が比較的少ないため、図３（ａ）の場合ほど細かいマクロブロックに分割する必要はない。従って、縮小率を１／２とし、１６×１６画素の所定領域５を解像度変換処理により１６×８画素として、４×４のマクロブロックを８個用いてベクトル量子化を行う。
【００４４】
図３（ｃ）は、所定領域５中にエッジ成分が多く検出され、ＬＭＡＸの値が３０未満となった場合の処理を示している。この場合、エッジ成分はほとんど検出されず、いわゆるベタの画像となるため、図２（ａ）で説明したように縮小率を１／４とし、１６×１６画素の所定領域５を解像度変換処理により８×８画素として、４×４のマクロブロックを４個用いたベクトル量子化を行う。従って、この場合圧縮率を４倍まで高めることが可能となる。
【００４５】
このように、検出したエッジの量に基づいて所定領域５の解像度変換処理を行い、ベクトル量子化に用いるマクロブロックの個数を可変した後ベクトル量子化を行う。そして、ベクトル量子化の結果、コードブック３から検索されたコードベクトルデータに従ったコード番号が出力される。
【００４６】
次に、図４を参照しながら、ベクトル量子化により出力されたコード番号のデータを更に圧縮する方法について説明する。本実施形態では、コード番号データを更に圧縮するために、差分予測符号化（ＤＰＣＭ）処理とＬＺＳＳ辞書圧縮処理という２つの処理を行っている。ＬＺＳＳ辞書圧縮処理は、特にベクトル量子化後の圧縮データ列に対して親和性の高い圧縮処理であるが、本実施形態では、ＬＺＳＳ辞書圧縮処理の前段に差分予測符号化処理を行い、得られたデータ列に対してＬＺＳＳ辞書圧縮処理を行うことにより、ＬＺＳＳ辞書圧縮処理の効果を更に高めるようにしている。
【００４７】
ベクトル量子化後のコード番号列は、隣合うマクロブロックのコード番号が順次に出力されているため、隣同士のコード番号の相関が高く、差分予測符号化処理を行うことにより大幅にデータ数を削減することができる。
【００４８】
図４を参照しながら、差分予測符号化処理について詳細に説明する。図４は、ベクトル量子化後の隣接するマクロブロックの出力コードの差の分布を示している。図４に示すように、ベクトル量子化後の隣接するコード番号の出力コードの差の約９０％は±１１９以内となっている。上述したように、通常、隣接するマクロブロックにおいては画像が急激に変化することは稀であるため、出力コードの相関が非常に高いためである。
【００４９】
差分予測符号化処理では、このことを利用して、差が±１１９の範囲内のデータについては新たな出力コードを与えて８ビットとするようにしている。これにより、差が±１１９以内のコード番号列についてはベクトル量子化の直後では出力ビット数が１８ビットであるのに対し、８ビットまでデータ圧縮を行うことが可能となる。
【００５０】
図５は、差分予測符号化処理により得られるコード列を示している。図５に示すように、差が＋１１９〜−１１９の範囲内であるときは、ベクトル量子化により出力されたコード番号の代わりに差のコードを用いる。例えば、差の値が−１の場合には出力コードを“１”に、差の値が＋５の場合には出力コードを“１０”とする。これにより、ベクトル量子化により出力された１６ビットのデータを８ビットのデータに圧縮することが可能となる。なお、差の値が±１１９よりも大きい場合には、０×Ｆ０００とコード番号との論理和（ＯＲ）を取った１６ビットデータを出力する。
【００５１】
８ビットに圧縮したデータは、特にＬＺＳＳ辞書圧縮との親和性が高いため、その後のＬＺＳＳ圧縮の圧縮の効果をより向上させることができる。また、１６ビットのままのデータについても、８ビットのデータ列２つ分に相当するため、ＬＺＳＳ圧縮の親和性を維持することができる。
【００５２】
図６は、ベクトル量子化により出力されたコード番号、差の値、ＤＰＣＭ処理後のデータの関係を模式的に示した図である。図６に示すように、ベクトル量子化による出力データが“２”，“３”，“１０２４”，“１０２３”，“５”…の場合、隣り合うコード番号の差は、“２”と“３”の間では２−３＝−１、“３”と  “１０２４”の間では３−１０２４＝−１０２１、“１０２４”と“１０２３”の間では１０２４−１０２３＝＋１、“１０２３”と“５”の間では１０２３−５＝＋１０１８となる。
【００５３】
そして、差の値が−１，＋１の場合には、±１１９の範囲内であるため、元の出力コード“３”，“１０２３”を用いず、差の値−１，＋１に置き換える。これにより、置き換えたデータのビット数を１６ビットから８ビットにデータ圧縮することができる。なお、差分予測符号化処理において、差の値のしきい値を±１１９とすると８ビットへのデータ圧縮が可能であるが、例えば４ビットへのデータ圧縮を行う場合には、差の値が±７以内の出力コードについてデータ変換を行うようにする。これにより、更なるデータ圧縮を達成することが可能となる。
【００５４】
そして、本実施形態では、差分予測符号化処理後のデータの集合に対してＬＺＳＳ辞書圧縮を行うことにより、更なるデータの圧縮を達成している。後述するように、ＬＺＳＳ辞書圧縮はベクトル量子化後のデータ列と特に親和性が高いため、少なくともベクトル量子化後のデータ列に対してＬＺＳＳ辞書圧縮を行うことにより、データの更なる圧縮を達成することができる。すなわちＬＺＳＳ辞書圧縮は、ベクトル量子化後のデータを更に圧縮する方法であり、ベクトル量子化圧縮後のコード番号列に対して、ＬＺＳＳ辞書圧縮を行い、更なるデータ圧縮をかける。ＬＺＳＳ辞書圧縮は完全可逆圧縮であるので、再生時にはＬＺＳＳ辞書圧縮前のベクトル量子化によるコード番号列に戻すことができる。
【００５５】
ここで、ＬＺＳＳ辞書圧縮とは、過去のデータを辞書として参照し、その辞書内の最長一致データ列を用いて符号化するものであり、同じ文字、記号等を繰り返し用いているデータに対して圧縮効果が大きくなる。図９を用いて、ＬＺＳＳ辞書圧縮について簡単に説明する。図９（ａ）はＬＺＳＳ辞書圧縮前のデータ列を示している。ＬＺＳＳ辞書圧縮前のデータ列では、２番目から６番目までのデータ列（ＢＣＤＥＦ）と、７番目から１１番目までのデータ列（ＢＣＤＥＦ）が同一のデータとされている。
【００５６】
ＬＺＳＳ辞書圧縮は、先に表れたデータ列と同一のデータ列を、先のデータ列を辞書として利用して表記する方法であり、この例では７番目から１１番目までのデータ列（ＢＣＤＥＦ）を、先の２番目から６番目までのデータ列（ＢＣＤＥＦ）を辞書として利用して表記する。
【００５７】
図９（ｂ）がＬＺＳＳ辞書圧縮後のデータ列を示している。７番目から１１番目までのデータ列（ＢＣＤＥＦ）は、２番目から５個連続するデータ列と同じであるため、（２，５）と表記される。通常、１つのデータ（例えば１番目のＡ）は１バイトで構成されるが、図９（ｂ）の（２，５）のデータ量は２バイトである。従って、７番目から１１番目までのデータ列（ＢＣＤＥＦ）は、本来５バイトのデータが必要とされていたが２バイトで済むこととなり、３バイト分のデータ圧縮を行うことが可能となる。
【００５８】
図９（ｃ）は、（２，５）を記憶する２バイトのデータ列を示している。ここで、辞書として参照したデータ列の先頭位置を示す“２”については１２ビット長のデータで表され、その辞書に含まれるデータ数を示す“５”については４ビット長のデータで表される。このように辞書内の最長一致データの数を表すデータを４ビット長とした場合は、連続するデータの数として通常は０〜１５個までのデータ列を辞書として記憶することができるが、４ビット長のデータ値に所定値を加算して表すことにより、例えば１〜１６個、４〜１９個などより多くのデータ列を辞書として記憶させることも可能である。
【００５９】
一方、ベクトル量子化は、圧縮対象のデータ中から抽出した各マクロブロックをコードブック内の限られたコードベクトルの何れかによって代表させるものであるため、圧縮対象のデータ中で互いに類似した部分については、同じコード番号列が出力されることが多い。従って、ベクトル量子化後のコード番号列は、同じフレーズのデータ列が多く出力されることが想定されるため、このコード番号列に対してＬＺＳＳ辞書圧縮を行った場合に、辞書として記憶されるデータ列を多数得ることができる。従って、ベクトル量子化後のデータ列とＬＺＳＳ辞書圧縮は親和性が高く、圧縮率の高いデータ圧縮を行うことができる。
【００６０】
以上のようなＬＺＳＳ辞書圧縮は完全可逆圧縮であるので、再生時にはＬＺＳＳ辞書圧縮前のベクトル量子化によるコード番号列に戻すことができる。
【００６１】
次に、図７を参照しながら本実施形態のデータ圧縮方法の処理について説明する。図７は、上述の処理によるデータ圧縮方法の手順を示すフローチャートである。
【００６２】
先ず、ステップＳ１では、入力画像の入力が成される。そして、ステップＳ２では、所定領域５のＲ信号、Ｇ信号、Ｂ信号のそれぞれについてラプラシアンフィルタ６を用いてラプラシアン処理を行う。
【００６３】
次のステップＳ３では、ラプラシアン処理により得られた値ＬＲ，ＬＧ，ＬＢから、最大値を算出する。そして、所定領域５の全ての画素について最大値を求めてデータ群ＬＭＡＸを得る。そして、ステップＳ４，Ｓ５において、ＬＭＡＸとしきい値３０，６０との比較を行う。
【００６４】
ステップＳ４において、ＬＭＡＸのうち少なくとも１つの値がしきい値６０よりも大きい場合には、ステップＳ６へ進み縮小率を１／１に設定してステップＳ１０で色変換処理を行う。
【００６５】
ステップＳ４でＬＭＡＸが６０未満である場合には、ステップＳ５へ進み、ＬＭＡＸとしきい値３０との比較を行う。ステップＳ５の比較により、ＬＭＡＸが３０以上の場合には、ステップＳ７へ進んで縮小率を１／２に設定してステップＳ９で解像度変換処理を行う。
【００６６】
ステップＳ５でＬＭＡＸが３０未満である場合には、ステップＳ８へ進んで縮小率を１／４に設定してステップＳ９で解像度変換処理を行う。
【００６７】
ステップＳ９で解像度変換処理を行った後、ＲＧＢデータから輝度、色差信号への変換を行い（ステップＳ１０）、ベクトル量子化のためのマクロブロック化を行い（ステップＳ１１）、ベクトル量子化を行う（ステップＳ１２）。その後、ステップＳ１３では、出力されたコード番号のＤＰＣＭ処理を行い、ステップＳ１４でＬＺＳＳ処理を行う。ＬＺＳＳ処理後の圧縮データは、ステップＳ１５で記憶する。
【００６８】
そして、エッジの大小に応じてマクロブロックの大きさを可変することにより、特にエッジが少なく検出された領域の画像の圧縮率を向上させることが可能となる。
【００６９】
次に、図８を参照しながら、上述のデータ圧縮方法を実現するデータ圧縮装置の構成について説明する。図８は、本実施形態のデータ圧縮装置の構成を示すブロック図である。
【００７０】
先ず、原画像である入力画像は画像入力部１０１へ入力される。そして、所定領域５における各画素のＲ信号、Ｇ信号、Ｂ信号が１０２においてラプラシアン変換される。各画素においてラプラシアン変換されたＲ信号、Ｇ信号、Ｂ信号のそれぞれ（ＬＲ，ＬＧ，ＬＢ）は、最大値検出部１０３において比較され、各画素毎に最大値の抽出が行われる。これにより、所定領域の各画素における最大値を抽出したデータ群ＬＭＡＸが抽出される。
【００７１】
最大値のデータ群ＬＭＡＸは、比較部１０４において予め定めた所定のしきい値（＝３０，６０）と比較される。そして、しきい値との比較の結果、縮小率決定部１０５において縮小率が決定される。
【００７２】
解像度変換処理部１１１では、決定された縮小率に基づいて所定領域５の解像度変換処理を行う。色変換処理部１１２においてＲＧＢデータから輝度、色差信号への変換を行った後、所定領域５毎にマクロブロック化部１０６での処理を行い、ベクトル量子化部１０７においてベクトル量子化を行う。
【００７３】
ＤＰＣＭ処理部１０８は、ベクトル量子化部１０７から出力されたコード番号データに対して差分予測符号化処理を行う。そして、ＬＺＳＳ処理部１０９は、ＤＰＣＭ処理部１０８から出力されるコード列をＬＺＳＳ処理により更に圧縮する。圧縮データ記憶部１１０は、圧縮したデータを記憶する。
【００７４】
次に、図１０を参照しながら、本実施形態によるデータ圧縮を行った後の圧縮データについてのデータ伸長方法について説明する。
【００７５】
先ず、ステップＳ２１では、上述の方法により生成された圧縮データを入力する。続くステップＳ２２では、ＬＺＳＳ辞書伸長を行う。この処理は、ＬＺＳＳ辞書圧縮の逆変換である。
【００７６】
次に、ステップＳ２３では、ＤＰＣＭ伸長を行う。この処理はＤＰＣＭ処理の逆変換である。次に、ステップＳ２４では、ベクトル量子化伸長処理を行い、次のステップＳ２５で逆マクロブロック変換を行い、ステップＳ２６において輝度、色差信号からＲＧＢデータへの変換を行う。
【００７７】
次のステップＳ２７では、解像度変換処理の逆変換を行う。これにより、解像度変換処理を行った所定領域については、縮小率に応じて拡張する処理が行われる。これにより、各所定領域毎に再生画像が生成される。再現された画像は、ステップＳ２８で出力される。
【００７８】
以上説明したように、本実施形態によれば、入力画像のコントラストが低い場合であっても、Ｒ信号、Ｇ信号、Ｂ信号のそれぞれでラプラシアン処理を行い、それぞれについて最大値を検出することにより、画像全体のコントラストが低い場合であっても確実にエッジ検出を行うことが可能となる。
【００７９】
従って、特に活字データの電子ファイル、カラーＦＡＸアプリケーションに適用することで、色彩がついた活字であって背景画像とのコントラストが低い場合であっても、確実にエッジ判定を行うことができる。また、コントラストの低いイメージ画像に対しても、エッジ判定を確実に行うことができる。
【００８０】
そして、エッジの大小に応じて線形補間処理を行うことにより、特にエッジが少ない領域の画像の圧縮率を向上させることが可能となり、ベクトル量子化の前段階での圧縮率を向上させることができる。
【００８１】
（その他の実施形態）
上記様々な実施形態に示した各機能ブロックおよび処理手順は、ハードウェアにより構成しても良いし、ＣＰＵあるいはＭＰＵ、ＲＯＭおよびＲＡＭ等からなるマイクロコンピュータシステムによって構成し、その動作をＲＯＭやＲＡＭに格納された作業プログラムに従って実現するようにしても良い。また、上記各機能ブロックの機能を実現するように当該機能を実現するためのソフトウェアのプログラムをＲＡＭに供給し、そのプログラムに従って上記各機能ブロックを動作させることによって実施したものも、本発明の範疇に含まれる。
【００８２】
この場合、上記ソフトウェアのプログラム自体が上述した各実施形態の機能を実現することになり、そのプログラム自体、及びそのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を。かかるプログラムを記憶する記憶媒体としては、上記ＲＯＭやＲＡＭの他に、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｉ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、ｚｉｐ、磁気テープ、あるいは不揮発性のメモリカード等を用いることができる。
【００８３】
また、コンピュータが供給されたプログラムを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等の共同して上述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
【００８４】
さらに、供給されたプログラムがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００８５】
【発明の効果】
本発明によれば、コントラストが低い部分がある画像であっても、画像のエッジを確実に検出して、当該画像の所定領域毎にエッジ量に応じた縮小率を決定し、当該画像の圧縮を行うことが可能となる。例えば、エッジ量が少ない領域の画像の圧縮率を向上させることが可能となる。したがって、再生画像の画質を維持したまま、更なる圧縮率の向上を達成することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態におけるエッジ検出の方法を示す模式図である。
【図２】線形補間処理によるデータ圧縮の方法を示す模式図である。
【図３】線形補間処理によるデータ圧縮の具体例を示す模式図である。
【図４】ベクトル量子化後の出力コード同士の差の分布を示す特性図である。
【図５】差分予測符号化処理により得られたコード列を示す模式図である。
【図６】ベクトル量子化により出力されたコード番号、コード同士の差の値、ＤＰＣＭ処理後のデータの関係を示す模式図である。
【図７】本発明の一実施形態におけるデータ圧縮方法の処理手順を示すフローチャートである。
【図８】本発明の一実施形態におけるデータ圧縮装置の構成を示す模式図である。
【図９】ＬＺＳＳ辞書圧縮の方法を示す模式図である。
【図１０】本発明の一実施形態におけるデータ伸長方法の処理手順を示すフローチャートである。
【図１１】本発明の一実施形態におけるベクトル量子化による画像圧縮を説明するための模式図である。
【符号の説明】
１  原画像（入力画像）
２  入力画像ブロック
３  コードブック
４  再現画像
５  所定領域
６  ラプラシアンフィルタ
１１〜１４  画素
１５  （線形補間処理により代表された）画素
１０１  画像入力部
１０２  ラプラシアン処理部
１０３  最大値検出部
１０４  比較部
１０５  縮小率決定部
１０６  マクロブロック化部
１０７  ベクトル量子化部
１０８  ＤＰＣＭ処理部
１０９  ＬＺＳＳ処理部
１１０  圧縮データ記憶部
１１１  線形補間処理部
【図１】
0003541205.tif 000003
【図２】
0003541205.tif 000004
【図３】
0003541205.tif 000005
【図４】
0003541205.tif 000006
【図５】
0003541205.tif 000007
【図６】
0003541205.tif 000008
【図７】
0003541205.tif 000009
【図８】
0003541205.tif 000010
【図９】
0003541205.tif 000011
【図１０】
0003541205.tif 000012
【図１１】
0003541205.tif 000013