(57)【特許請求の範囲】
【請求項１】
単一又は複数のカラーチャネルを有するビットマップ・デジタル画像データを、その横方向の各列について、各画素の横方向の位置と輝度とで２次元ベクトル化し、かつ前記各列の始点と終点とを結ぶ線分を基準として輝度変化の大きさにより区分して階層化する量子化を実行し、横方向にベクトル化及び量子化した前記画像データを、その縦方向の各行について、縦方向の位置と輝度とで２次元ベクトル化し、かつ前記各行の始点と終点とを結ぶ線分を基準として輝度変化の大きさにより区分して階層化する量子化を実行することにより、各画素が有する輝度情報の有意性に基づいたマトリクス構造の圧縮画像データに変換することを特徴とする画像圧縮方法。
【請求項２】
前記ビットマップ・デジタル画像データを所定サイズの単位画像データに分割し、分割した各単位画像データについて、それぞれ前記横方向のベクトル化及び量子化を実行し、かつ前記縦方向のベクトル化及び量子化を実行して、前記マトリクス構造の単位圧縮画像データに変換し、前記各単位圧縮画像データを統合することを特徴とする請求項１に記載の画像圧縮方法。
【請求項３】
前記ビットマップ・デジタル画像データを各カラーチャネル毎に分割し、分割した各カラーチャネル毎の画像データを、それぞれ前記マトリクス構造の圧縮画像データに変換した後、１つの圧縮画像データに統合することを特徴とする請求項１に記載の画像圧縮方法。
【請求項４】
分割した前記各単位画像データを更に各カラーチャネル毎に分割し、分割した各カラーチャネル毎の単位画像データを、それぞれ前記マトリクス構造の単位圧縮画像データに変換した後、１つの単位圧縮画像データに統合することを特徴とする請求項２に記載の画像圧縮方法。
【請求項５】
前記マトリクス構造の圧縮画像データを更に算術圧縮する過程を有することを特徴とする請求項１乃至４のいずれかに記載の画像圧縮方法。
【請求項６】
前記横方向又は縦方向の量子化が、前記各列又は各行の始点と終点とを結ぶ線分を基準ベクトルとして、その区間における正及び／又は負の最大偏差点を計算し、前記始点及び終点と前記最大偏差点とにおいて、隣接する各２点を結ぶ線分を新たな基準ベクトルとして、それらの区間における正及び／又は負の最大偏差点を計算し、この最大偏差点を計算する過程を、前記各最大偏差点の基準ベクトルに関する偏差が、所望の画像データとしての有意性を失うまで繰り返し実行し、前記各最大偏差点の偏差の大きさにより各画素を区分して、それぞれビット数の異なる複数の階層データを生成する過程を含むことを特徴とする請求項１乃至４のいずれかに記載の画像圧縮方法。
【請求項７】
前記ビットマップ・デジタル画像データが８ビットのデータである場合に、前記複数の階層データが、それぞれ８ビット、６ビット、４ビット、１ビットのデータからなる第１〜第４階層データであることを特徴とする請求項６に記載の画像圧縮方法。
【発明の詳細な説明】
技術分野
本発明は、例えば加色三原色（ＲＧＢ）又は減色三原色（ＣＭＹ）などのフルカラー画像や白黒の２５６階調（グレースケール）画像などのデジタル画像データを圧縮する画像処理技術に関する。
背景技術
一般に、カラー画像のコンピュータ処理には、ＲＧＢ系やＣＭＹ系などのカラーモデルにおける各色成分即ち各カラーチャネル（カラーモデル）の輝度情報からなるデジタル画像データが使用されている。このデジタル画像データは、１画素に対して、例えばＲＧＢの各色毎にその輝度を０〜２５５までの２５６段階の値（２５６階調）で表現する１バイト（８ビット）の情報が割り当てられ、従って１画素毎に３バイトの情報を有する。このため、特に高精細なカラー画像のデータ量は膨大で、これをコンピュータ処理するためには、大容量のメモリやハードディスク及び高速ＣＰＵ等のハードウェアリソース、高速のデータ転送を可能にする通信技術だけでなく、画像データを圧縮する技術が必要である。
従来、様々なデータ圧縮方法が提案されているが、圧縮した画像を復元する際に品質の劣化を起こす場合がある。例えば、画像データは必ずしも全ての色を用いていないことから、予め適度な減色を行うことにより、画像の元のイメージを崩すことなくファイルサイズを小さくする方法がある。このような減色を伴う圧縮方法では、近似した色情報を圧縮過程で統合するため、色調変化の連続性が失われ、特に細線の再現が不明瞭になる傾向がある。また、輝度情報を色差情報に変換して色情報を保持する圧縮方法が知られている。しかし、色差情報は、有意な情報量が輝度情報の約１／４以下であり、再現過程において色調の偏向を起こす傾向がある。
また、特開平１０−３２７１９号公報には、十分な圧縮率及び画像の高い再現品質を目的として、三原色の輝度情報からなるカラー画像データを１つの輝度情報と２つの色差情報とからなるカラーモデルデータに変換し、これを高品位で再現可能な方法で圧縮する画像圧縮方法及び装置が開示されている。この高品位で再現可能な圧縮処理技術として、ＸＹ画像平面における各画素の輝度分布をＺ軸方向の大きさで表したＸＺ平面において、輝度が一定の許容誤差範囲内で連続して変化していると見なせる１群の水平方向画素群を１単位のベクトルで表現し、かつ同様にＹＺ平面において、輝度が一定の許容誤差範囲内で連続して変化していると見なせる１群の垂直方向画素群を１単位のベクトルで表現する、所謂三次元ベクトル量子化が採用されている。同公報の画像圧縮方法は、圧縮率を従来よりも大幅に高くできるとしても、色差情報に変換して圧縮していることにより、画像データを圧縮解凍して伸長させたとき、再現画像を劣化させる虞がある。
そこで、本発明の目的は、高精細なデジタル画像データについても、高い圧縮効果を実現しつつ、色調の連続的変化を高度に再現し、しかもその際に細線まで明瞭に再現することができ、それによって印刷の画像原稿としての使用に耐え得る高品質な画像を再現可能な画像圧縮方法を提供することにある。
発明の開示
本発明によれば、単一又は複数のカラーチャネルを有するビットマップ・デジタル画像データを、その横方向の各列について、各画素の横方向の位置と輝度とで２次元ベクトル化し、かつ前記各列の始点と終点とを結ぶ線分を基準として輝度変化の大きさにより量子化し、
横方向にベクトル化及び量子化した前記画像データを、その縦方向の各行について、縦方向の位置と輝度とで２次元ベクトル化し、かつ前記各行の始点と終点とを結ぶ線分を基準として輝度変化の大きさにより量子化することにより、
各画素が有する輝度情報の有意性に基づいたマトリクス構造の圧縮画像データに変換することを特徴とする画像圧縮方法が提供される。
このように画像データに含まれる各画素の輝度情報を２次元ベクトル化しかつ輝度変化の大きさにより量子化することにより、各画素が有する情報の有意性の程度に基づいてデータを階層化して再構成するので、実質的に有意性の無い画素の輝度情報は、同じベクトルの中に吸収されることになる。従って、元の画像データに含まれる情報を実質的に損失することなく、そのデータ量を小さくすることができ、特に高精細画像データの圧縮に適した最も効率の良いデータ構造を作り出すことができる。
或る実施例では、元のビットマップ・デジタル画像データを所定サイズの単位画像データに分割し、分割した各単位画像データについて、それぞれ横方向のベクトル化及び量子化を実行し、かつ縦方向のベクトル化及び量子化を実行して、マトリクス構造の単位圧縮画像データに変換し、最後に各単位圧縮画像データを統合することができる。これにより、原画のデータ量が比較的大きい場合であっても、コンピュータの処理能力や要求される画質に応じて、効率よく処理することができる。
別の実施例では、元のビットマップ・デジタル画像データを各カラーチャネル毎に分割し、分割した各カラーチャネル毎の画像データを、それぞれマトリクス構造の圧縮画像データに変換した後、１つの圧縮画像データに統合することができる。これにより、例えばＲＧＢ系やＣＭＹ系の画像データは、処理単位を１／３に小さくできるので、効率よく処理することができる。
また、先に元のビットマップ・デジタル画像データを所定サイズの単位画像データに分割した場合にも、その各単位画像データを更に各カラーチャネル毎に分割し、分割した各カラーチャネル毎の単位画像データを、それぞれマトリクス構造の単位圧縮画像データに変換した後、１つの単位圧縮画像データに統合することにより、より一層効率の良い圧縮処理が可能になる。
更に、本発明によれば、このようにして生成したマトリクス構造の圧縮画像データを、更に算術圧縮することができる。これにより、画像データを非損失でより高度に圧縮することができる。
或る実施例では、横方向又は縦方向に量子化する過程が、各列又は各行の始点と終点とを結ぶ線分を基準ベクトルとして、その区間における正及び／又は負の最大偏差点を計算し、始点及び終点と最大偏差点とにおいて、隣接する各２点を結ぶ線分を新たな基準ベクトルとして、それらの区間における新たな正及び／又は負の最大偏差点を計算し、この最大偏差点を計算する過程を、各最大偏差点の基準ベクトルに関する偏差が、所望の画像データとしての有意性を失うまで繰り返し実行し、各最大偏差点の偏差の大きさにより各画素を区分して、それぞれビット数の異なる複数の階層データを生成する過程からなる。
例えば、元のビットマップ・デジタル画像データが８ビットのデータである場合には、前記複数の階層データを、それぞれ８ビット、６ビット、４ビット、１ビットのデータからなる第１〜第４階層データで構成することが好ましい。
発明を実施するための最良の形態
以下に、添付図面を参照しつつ、本発明の画像圧縮方法について、その好適な実施例を用いて詳細に説明する。
図１は、本発明の実施例による方法を用いて、フルカラー画像の原稿即ち原画から圧縮画像ファイルを生成する過程を概略的に示すフロー図である。先ず、所望の画像原稿を電子的に加工し、例えばＲＧＢ系やＣＭＹ系のような複数のカラーチャネル、又はグレースケールのみで表現される１つのカラーチャネルを有するビットマップデータとしての画像データを生成する（ステップＳ１）。通常このような画像データは、イメージスキャナ、デジタルカメラなどの様々な公知手段を用いて、任意の入力解像度で、予め設定された例えば１２ビット、８ビット（１バイト）、１ビット（２値）などの情報量の輝度で生成される。画像データは、本発明の画像圧縮処理を行うために、ＣＤ−Ｒ、ＭＯディスク、ＤＶＤ等の記録媒体やイーサネットなどを用いたネットワークを介してオンラインで処理コンピュータ又はワークステーションに入力される（ステップＳ２）。
前記処理コンピュータは、入力された画像データを前処理してメモリに記憶させる（ステップＳ３）。先ず、図２に示すように、画像データ全体をメモリ上に展開する（ステップＳ２１）。次に、画像データのヘッダラベルに含まれる情報を解析して、画像全体のサイズ（ドット数）、カラーチャネルの構成、１画素に割り当てられる輝度情報量（ビット数）などを確認した後、解析結果に従って予め決定した最適処理単位の画像サイズに分割し、分割した各単位画像データをメモリ上に再構成する（ステップＳ２２）。この最適処理単位は、予め一定の画像サイズに設定することができ、又は、処理コンピュータの処理速度やメモリ容量などの能力、要求される画像品質のような画像再生条件等によって適当に選択することができる。
本実施例では、図１１に示すように、解像度１０２４×１０２４ドットのＲＧＢカラー画像データを圧縮処理する。最適処理単位を２５６×２５６ドットとすると、図１１の画像データは縦方向及び横方向にそれぞれ４分割され、全部で１６個の単位画像データに再構成される。このＲＧＢ単位画像データは、各画素がＲ・Ｇ・Ｂの各カラーチャネルについてそれぞれ１バイト、合計３バイトの情報量（輝度値）を有する。次に、この単位画像データを、図１２に示すようにＲ・Ｇ・Ｂの各カラーチャネル毎の単位画像データに分割し、メモリ上に再構成する（ステップＳ２３）。この各カラーチャネルの単位画像データを最小処理単位として、データの圧縮処理を行う。単一カラーチャネルの単位画像データは、各画素が１バイトの情報量（輝度値）を有し、従って最小処理単位のデータ量は、元の画像データ全体を処理する場合の１０２４２×３２バイトから、２５６×２５６バイトまで小さくなる。
次に、各最適処理単位について、それぞれ単一カラーチャネル毎にその単位画像データを順次ベクトル分解処理して、マトリクス構造に変換した画像データを生成する（ステップＳ４）。図３に示すように、先ず、各カラーチャネル毎に最小処理単位の画像データを横方向に１列ずつ順にベクトル化し、各画素の輝度情報の大きさ（ビット数）により区分される第１〜第４階層データを生成する（ステップＳ３１）。
横方向のベクトル化について、図４乃至図７を用いて詳細に説明する。図１３Ａに示すように、最小処理単位の画像データは、横方向の各列が連続する２５６個の画素で構成され、各画素がそれぞれに１バイトの情報量で表現される輝度値を有する。図１３Ｂは、横方向の１列について、横軸に０〜２５５までの長さで各画素の位置を、縦軸に同じく０〜２５５までの２５６段階で各画素の輝度値をとることにより、横１列の画素に関する輝度分布を示している。本発明では、これを長さｘと輝度値ｙとを有する２次元ベクトルに置き換えて各画素の輝度情報を表現することにより、輝度分布及び輝度の連続的変化の情報が保持されるように画像データのベクトル化を行う。
具体的には、第１列の最初の画素を始点Ｐ１（ｘ１＝０，ｙ１）としかつ最後の画素を終点Ｐ２（ｘ２＝２５５，ｙ２）とし、これらを結ぶ線分をマスタベクトルＰ１Ｐ２＝［ｘ２−ｘ１，ｙ２−ｙ１］とする（ステップＳ４１）。次に、始点と終点とを結ぶ区間における他の画素について、マスタベクトルを基準として輝度の偏差を計算し、正及び負の最大偏差を取る点Ｄ１（ｘ１１，ｙ１１）、Ｄ２（ｘ１２，ｙ１２）を決定する（ステップＳ４２）。そして、隣接する各２点、Ｐ１とＤ１、Ｄ１とＤ２、及びＤ２とＰ２間で、それぞれ同様にｘｙ２次元のサブベクトルＰ１Ｄ１＝［ｘ１１−ｘ１，ｙ１１−ｙ１］、Ｄ１Ｄ２＝［ｘ１２−ｘ１１，ｙ１２−ｙ１１］及び、Ｄ２Ｐ２＝［ｘ２−ｘ１２，ｙ２−ｙ１２］を生成する（ステップＳ４３）。また、偏差がマスタベクトルを基準として正又は負の一方のみ、即ち最大偏差を取る点が１つだけの場合が考えられるが、その場合にも同様に隣接する各２点間でそれらを結ぶ線分からサブベクトルを生成する。
このとき、最大偏差点Ｄ１及びＤ２における偏差の絶対値がそれぞれ６４以下であるかないか、即ちその情報量が６ビット以下であるかないかを決定する（ステップＳ４４）。６４以下でない即ちそれより大きい場合、この点Ｄ１又はＤ２は、始点及び終点に対する輝度の変化量が、８ビットで表現されるべき情報量を有するものと評価される。逆に、６４以下の場合には、この点Ｄ１又はＤ２は、始点及び終点に対する輝度の変化量が、６ビット又はそれ以下で表現されるべき情報量を有するものと評価されるので、始点と終点の区間における第１階層データの生成過程を終了して、次の第２階層データの生成過程に移行する。
最大偏差の絶対値が６４より大きい場合には、その点Ｄ１及び／又はＤ２を含む隣接する各２点間で生成した前記サブベクトルを第１階層データとしてメモリに記憶させる（ステップＳ４５）。これらのサブベクトルは、それぞれに８ビットの情報量を有するｘ、ｙ２つの量を１つのデータとして、図１４Ａに示すように連続させて配列される。
更に、隣接する各２点、Ｐ１とＤ１、Ｄ１とＤ２、及びＤ２とＰ２を結ぶそれぞれの区間において、各サブベクトルを基準として輝度の偏差を計算し、正及び負の最大偏差を取る点Ｄ１１、Ｄ１２、Ｄ２１、Ｄ２２、Ｄ３１、Ｄ３２を決定する。次に、これら新たに決定した全ての最大偏差点について、最初の最大偏差点Ｄ１、Ｄ２について行った各ステップＳ４３〜Ｓ４５を、それらの最大偏差の絶対値が６４以下になるまで繰り返し実行する。
即ち、新たな最大偏差点Ｄ１１、Ｄ１２、Ｄ２１、Ｄ２２、Ｄ３１、Ｄ３２とそれらの基準としたサブベクトルを構成する各２点とにおいて、それぞれ隣接する各２点間で同様にｘｙ２次元のサブベクトル、例えばＰ１Ｄ１１、Ｄ１１Ｄ１２、Ｄ１２Ｄ１などを生成する（ステップＳ４３）。そして、最大偏差の絶対値が６４以下かどうかを決定し（ステップＳ４４）、６４以下であれば、その区間について第１階層データの生成過程を終了して、次の第２階層データの生成過程に移行する。６４より大きい場合には、新たに生成したサブベクトルを同様にｘ、ｙ２つの量として第１階層データに追加する。このようにして、図１４Ａに示す第１階層データがメモリ上に生成される。
第２階層データの生成過程では、図５に示すように、第１階層データ生成過程のステップＳ４４で最大偏差が６４以下と判断された点について、基準ベクトルに対する最大偏差の絶対値が１６以下かどうかを決定する（ステップＳ５１）。１６以下でない即ちそれより大きい場合、その点は、基準のサブベクトルに対する輝度の変化量が、６ビットで表現されるべき情報量を有すると評価される。逆に１６以下の場合、その点は、基準のサブベクトルに対する輝度の変化量が、４ビット又はそれ以下で表現されるべき情報量を有すると評価されるので、第２階層データの生成過程を終了して、次の第３階層データの生成過程に移行する。
最大偏差の絶対値が１６より大きい場合には、第１階層データ生成過程のステップＳ４３においてそれらの点を含む隣接する各２点間で生成したサブベクトルを第２階層データとしてメモリに記憶させる（ステップＳ５２）。これらのサブベクトルは、それぞれに６ビットの情報量を有するｘ、ｙ２つの量を１つのデータとして、図１４Ａに示すように連続させて配列される。更に、これらの隣接する各２点を結ぶそれぞれの区間において、各サブベクトルを基準として輝度の偏差を計算し、正及び負の最大偏差を取る点を決定する。
次に、新たに決定した全ての最大偏差点とそれらの基準となるサブベクトルを構成する各２点とにおいて、それぞれ隣接する各２点間で同様にｘｙ２次元のサブベクトルを生成する（ステップＳ５３）。そして、それらの新たな最大偏差点について、最大偏差の絶対値が１６以下かどうかを決定し（ステップＳ５１）、１６より大きい場合には、新たに生成したサブベクトルをｘ、ｙ２つの量として第２階層データに追加する。
各ステップＳ５１〜Ｓ５３は、新たに決定される全ての最大偏差点について、それらの最大偏差の絶対値が１６以下になるまで繰り返し実行する。１６より大きいと判断されたサブベクトルは、第２階層データとして順次に追加され、最終的に図１４Ａに示す第２階層データがメモリ上に生成される。
第３階層データの生成過程は、図６に示すように、第２階層データの生成過程と同様に実行される。即ち、第２階層データ生成過程のステップＳ５１で最大偏差が１６以下と判断された各点について、その基準ベクトルに対する最大偏差の絶対値が４以下かどうかを決定する（ステップＳ６１）。４以下でない即ちそれより大きい場合には、基準のサブベクトルに対する輝度の変化量が、４ビットで表現されるべき情報量を有すると評価され、逆に４以下の場合には、基準のサブベクトルに対する輝度の変化量が、２ビット又はそれ以下で表現されるべき情報量を有すると評価されるので、第３階層データの生成過程を終了して、次の第４階層データの生成過程に移行する。
最大偏差の絶対値が４より大きい場合、第２階層データ生成過程のステップＳ５３においてそれらの最大偏差点を含む隣接する各２点間で生成したサブベクトルを第３階層データとしてメモリに記憶させる（ステップＳ６２）。これらのサブベクトルは、それぞれに４ビットの情報量を有するｘ、ｙ２つの量を１つのデータとして、同じく図１４Ａに示すように連続させて配列される。更に、これらの隣接する各２点を結ぶそれぞれの区間において、各サブベクトルを基準として輝度の偏差を計算し、それぞれ正及び負の最大偏差を取る点を決定する。
次に、新たに決定した全ての最大偏差点とそれらの基準となるサブベクトルを構成する各２点とにおいて、それぞれ隣接する各２点間で同様にｘｙ２次元のサブベクトルを生成する（ステップＳ６３）。そして、それらの新たな最大偏差点について、最大偏差の絶対値が４以下かどうかを決定し（ステップＳ６１）、４より大きい場合には、新たに生成したサブベクトルをｘ、ｙ２つの量として第３階層データに追加する。
各ステップＳ６１〜Ｓ６３は、同様に新たに決定される全ての最大偏差点について、それらの最大偏差の絶対値が４以下になるまで繰り返し実行する。４より大きいと判断されたサブベクトルは、第３階層データとして順次に追加され、最終的に図１４Ａに示す第３階層データがメモリ上に生成される。
第４階層データの生成過程では、図７に示すように、第３階層データ生成過程のステップＳ６１で最大偏差が４以下と判断された各点について、基準ベクトルに対する最大偏差の絶対値が１又は０かを決定する（ステップＳ７１）。１又は０のいずれかである場合、その点は、基準のサブベクトルに対する輝度の変化量が、１ビットで表現されるべき情報量を有すると評価されるので、その点を含む隣接２点間のサブベクトルは、第４階層データとしてメモリに、同じく図１４Ａに示すようにｘ、ｙ２つの量を用いて記憶させる（ステップＳ７２）。
最大偏差の絶対値が１又は０のいずれかでもでない場合、その点は、基準のサブベクトルに対する輝度の変化量が、１ビットより大きい情報量を有すると評価される。この場合には更に、第３階層データ生成過程のステップＳ６３においてそれらの最大偏差点を含む隣接する各２点間で生成したサブベクトルを基準として輝度の偏差を計算し、それぞれ正及び負の最大偏差を取る点を決定する（ステップＳ７３）。そして、これら新たに決定した最大偏差点とそれらの基準となるサブベクトルを構成する各２点とにおいて、それぞれ隣接する各２点間で同様にｘｙ２次元のサブベクトルを生成し（ステップＳ７４）、再びその最大偏差の絶対値が１又は０かを決定する（ステップＳ７１）。
これらのステップＳ７１、７３、７４は、このようにして生成される全ての最大偏差点について、その基準のサブベクトルに対する輝度の変化量が１ビットで表現されるべき情報量を有すると評価され、第４階層データとしてメモリに記憶されるまで、繰り返し実行される。それにより、第３階層データの生成後に残った全ての点のデータは、それぞれ１ビットで表現されるｘ、ｙ２つの量を有するベクトルに変換して、第４階層データとして生成される。
このようにして、最小処理単位の画像データの各列について、各画素の輝度変化をベクトル分解処理し、その大きさによりビット数の異なる第１〜第４階層データを生成し、メモリ上に第１列から第２５６列まで順に配列する。このとき、各列の先頭部分には、元の画像データの始点Ｐ１及び終点Ｐ２に関する情報、即ち横方向の長さと輝度値を配置する。また、各階層データ間には、その境界を示すデータを挿入する。
最小処理単位の画像データを横方向にベクトル分解処理しかつ第１〜第４階層データを生成する上記過程では、最小処理単位に分割した画像データを更に各列毎に独立した処理を行うので、１つのまとまった処理の対象となるデータのサイズが小さい。また、このデータは、メモリの或る領域に展開して処理した後に再構成すると、元のデータは不要になるので、それらのメモリ領域を開放し、次の処理に使用することができる。このため、本発明では、従来よりも処理コンピュータのメモリを有効に利用することができ、かつその処理能力によっては、上述した横方向の各列を同時に又は或る時間遅れをもって並行して処理できるので、処理速度が大幅に向上する。また、比較的能力の低い処理コンピュータであっても、大きいサイズの画像データを処理することができる。
当然ながら、第１〜第４階層データのデータ長は、それぞれ各列毎に異なる。そこで、本実施例では、それぞれの階層データについて、全列の中から最もデータ長の長いものを選択しかつそれを基準データ長として、それよりデータ長が短い場合には、それぞれ図１４Ｂにおいて影を付したデータ長不足領域に「０」の値を入れる。これにより、最小処理単位の画像データは、各階層データが、それぞれ第１列から第２５６列まで同じデータ長となるように、即ち縦方向の各行が同じ２５６個の連続するデータで構成されるように整形処理され、メモリ上に再構成される（ステップＳ３２）。
次に、横方向にベクトル化した図１４Ｂの画像データを、縦方向の各行毎に順次ベクトル化する（ステップＳ３３）。各行のベクトル化は、図８に示す過程に従って上述した横方向のベクトル化と同様に行われ、それにより各行について第１〜第４階層データを生成する。先ず、先頭の１行について、その始点Ｑ１（ｚ１＝０，ｙ１）と終点Ｑ２（ｚ２＝２５５，ｙ２）を基準としてマスタベクトルＱ１Ｑ２＝［ｚ２−ｚ１，ｙ２−ｙ１］を生成する（ステップＳ８１）。
次に、前記始点及び終点を結ぶ区間において、他の画素についてマスタベクトルを基準として輝度の偏差を計算し、正及び／又は負の最大偏差を取る点Ｖ１（ｚ１１，ｙ１１）、Ｖ２（ｚ１２，ｙ１２）を決定する（ステップＳ８２）。そして、隣接する各２点、Ｑ１とＶ１、Ｖ１とＶ２、及びＶ２とＱ２間で、それぞれ同様にｚｙ２次元のサブベクトルＱ１Ｖ１＝［ｚ１１−ｚ１，ｙ１１−ｙ１］、Ｖ１Ｖ２＝［ｚ１２−ｚ１１，ｙ１２−ｙ１１］及び、Ｖ２Ｑ２＝［ｚ２−ｚ１２，ｙ２−ｙ１２］を生成する（ステップＳ８３）。尚、ここでＱ１、Ｑ２、Ｖ１、Ｖ２の各点に使用されているｙ１、ｙ２、ｙ１１、ｙ１２は、横方向のベクトル化で用いた各点Ｐ１、Ｐ２、Ｄ１、Ｄ２のｙ１、ｙ２、ｙ１１、ｙ１２とは異なるものである。
横方向のベクトル化において図４に関連して上述した過程と同様に、最大偏差点Ｖ１及びＶ２における偏差の絶対値がそれぞれ６４以下であるかないかを決定し、６４より大きい場合には、それぞれ８ビットの情報量を有するｚ、ｙの２つの量で表されるサブベクトルを第１階層データとしてメモリに記憶させる。そして、更にそのサブベクトルを基準として新たな正及び負の最大偏差点を決定し、その偏差の絶対値が６４を超えている限り、それらのサブベクトルをメモリに追加して、第１階層データを生成する。
新たに決定される全ての最大偏差点について、その最大偏差の絶対値が６４以下になると、同様に第２階層データの生成過程に移行し、図５に関連して上述したと同様の過程に従ってベクトル化を実行し、６ビットの情報量を有するデータのみで構成される第２階層データを生成して、メモリに記憶させる。次に、図６に関連して上述したと同様にベクトル化を実行し、４ビットの情報量を有するデータのみで構成される第３階層データを生成してメモリに記憶させた後、更に図７に関連して上述したと同様のベクトル化処理により、１ビットのデータのみで構成される第４階層データを生成し、同様にメモリに記憶させる（ステップＳ８４）。
この縦方向のベクトル化においても、横方向のベクトル化に関連して上述したように、第１〜第４階層データを生成する各ステップが、サイズの小さいデータに対して、各行毎に独立して行われるので、再構成されたデータの元のメモリ領域を順次開放して次の処理に使用することによりメモリの有効利用が図れ、かつ各行の同時又は時間遅れをもった並行処理により処理速度の大幅向上が実現される。また、比較的大きいサイズの画像データであっても、比較的能力の低い処理コンピュータによる処理が可能になる。
縦方向にベクトル分解処理される画像データは、図１４Ｂに示すように予め始点及び終点、第１〜第４階層データに区分されているので、始点及び終点と第１階層データからは、第１〜第４階層データの全てが生成されるのに対し、第２階層データからは第２〜第４階層データが、第３階層データからは第３及び第４階層データが、第４階層データからは第４階層データのみが生成される。実際に、本願発明者がいくつかのフルカラー・テスト画像について本実施例の画像圧縮処理を実行したところ、第１〜第４階層データが、概ね図１５に示す領域ａ、領域ｂ＋ｃ、領域ｄ＋ｅ＋ｆ、領域ｇ＋ｈ＋ｉ＋ｊのような一定の割合になることが確認された。
次に、これらのデータ群ａ〜ｊを、図１６に示すように第１〜第４階層データの順に即ちビット数の大きい順に並べて整形処理し、メモリ上に再構成する（ステップＳ８５）。これにより、最小処理単位即ち単一カラーチャネルの単位画像データから、所望のマトリクス構造を有する圧縮画像データが得られる（ステップＳ４）。
本発明によれば、各画素の輝度情報をベクトル化し、かつそれらの有意性の程度に基づいてデータを階層化して再構成するので、実質的に有意性の無い画素の輝度情報は、１つのベクトルの中に吸収することができる。従って、このように階層化するだけで、元のファイルに含まれる情報を実質的に損失することなく、データ量を小さくすることができ、特に情報量の多い高精細画像データの圧縮において、最も効率の良いデータ構造を作り出すことができる。また、このように横方向・縦方向に２次元ベクトル化した画像データを階層化して再構成する処理は、一定のビット数を基準にデータを区分することにより階層化することから、量子化と称することができる。
この画像データを従来技術で圧縮処理する（ステップＳ５）。圧縮処理は、第１〜第４階層データのそれぞれに対して、例えば公知のラン・レングス圧縮処理及びハフマン圧縮処理を組み合わせた算術圧縮を用いて行う。これにより、単一カラーチャネルの単位画像データについて、本発明による圧縮データが生成される。本発明によれば、このように画像データが階層化されているので、従来よりも算術圧縮の効果が高くなる。更に、画像データの階層化に加えて算術圧縮を行うことにより、画像データを非損失であるにも拘わらず、全体として高い圧縮率で圧縮することができる。
同じ最適処理単位の画像データを構成する他の２つのカラーチャネルについても、同様にそれぞれベクトル分解処理してマトリクス構造の画像データに変換しかつ圧縮処理して、本発明による圧縮データを生成する。
次にステップＳ６において、このように別個に生成された３つのカラーチャネルの画像圧縮データを１つに統合して、最適処理単位のＲＧＢ画像圧縮データを生成し、メモリに記憶させる（ステップＳ９１）。１６個全ての単位画像データについて画像圧縮データの生成が終了すると、これらを１つに統合して、元の画像データ全体を圧縮した本発明のＶＦＺ画像ファイルを生成する（ステップＳ９２）。その際にＶＦＺ画像ファイルの先頭部分には、ファイルのサイズ、データ構造などを記述したヘッダラベルを挿入する。
元のカラー画像を再生するために、ＶＦＺ画像ファイルは、通常ネットワークを介してオンラインで又はＣＤ−Ｒ等の記録媒体を用いて処理コンピュータから再生用コンピュータ又はワークステーションに出力される（ステップＳ７）。再生用コンピュータには、出力解像度、画像サイズなどの再生条件が入力される。ＶＦＺ画像ファイルは解凍され、前記再生条件に基づいて、上述したマトリクス構造の画像データが生成される。画像データは、再生用コンピュータから所定のディスプレイ装置などの画面に直接出力され、又はサーバの記憶装置などに格納され、又はオンラインで転送される。
出力される画像データは、図１６に関連して上述したマトリクス構造を有するので、先に出力される第１階層データが入力された時点で、画面には画像全体が表示され、第２階層以下のデータが入力されるに従って、より精細な画像が表示され、最後に全データが入力されると、元の高精細カラー画像が再現される。
上記実施例では、ＲＧＢ系の画像データを圧縮処理する場合について説明したが、本発明は、ＣＭＹ系及び他の形式のカラー画像、又はグレースケールのような単一のカラーチャネルを有する画像データについても同様に適用することができる。また、当業者に明らかなように、本発明は、その技術的範囲内において、上述した実施例に様々な変更・変形を加えて実施することができる。
【図面の簡単な説明】
図１は、本発明による画像圧縮方法の好適な実施例を概略的に示すフロー図である。
図２は、画像データを最適処理単位に分割する図１のステップ３の過程を示すフロー図である。
図３は、最適処理単位に分割した画像データをベクトル化してマトリクス構造の画像データを生成する図１のステップ４の過程を概略的に示すフロー図である。
図４は、画像データを横方向にベクトル化して第１階層データを生成する過程を示すフロー図である。
図５は、画像データを横方向にベクトル化して第２階層データを生成する過程を示すフロー図である。
図６は、画像データを横方向にベクトル化して第３階層データを生成する過程を示すフロー図である。
図７は、画像データを横方向にベクトル化して第４階層データを生成する過程を示すフロー図である。
図８は、横方向にベクトル化した画像データを整形処理後に縦方向にベクトル化する過程を概略的に示すフロー図である。
図９は、横方向及び縦方向にベクトル化した画像データを後処理して本発明のＶＦＺ画像ファイルを生成する過程を示すフロー図である。
図１０は、生成した本発明のＶＦＺ画像ファイルを再生する過程を示すフロー図である。
図１１は、画像データの分割の一例を示す図である。
図１２は、図１１で分割した画像データを更にＲ・Ｇ・Ｂの各カラーチャネルに分割する図である。
図１３Ａは、カラーチャネルＲの横方向１列の画像データを示す図、図１３Ｂは、輝度分布即ち画素の位置（始点からの長さ）に対する輝度の大きさを示し、そのベクトル化の概念を説明するための線図である。
図１４Ａは、ベクトル化により横方向１列の画像データから生成される第１〜第４階層データを示す図、図１４Ｂは、横方向にベクトル化した全列の画像データを整形処理した状態を示す図である。
図１５は、横方向及び縦方向にベクトル化した画像データの第１〜第４階層データの分布を示す概念図である。
図１６は、横方向及び縦方向にベクトル化した画像データの配列を示す図である。
【図１】
0003829217.tif 000002
【図２】
0003829217.tif 000003
【図３】
0003829217.tif 000004
【図４】
0003829217.tif 000005
【図５】
0003829217.tif 000006
【図６】
0003829217.tif 000007
【図７】
0003829217.tif 000008
【図８】
0003829217.tif 000009
【図９】
0003829217.tif 000010
【図１０】
0003829217.tif 000011
【図１１】
0003829217.tif 000012
【図１２】
0003829217.tif 000013
【図１３】
0003829217.tif 000014
【図１４】
0003829217.tif 000015
【図１５】
0003829217.tif 000016
【図１６】
0003829217.tif 000017