(57)【特許請求の範囲】
【請求項１】
バックグラウンド・プレーンおよびＮ個のバイナリ・フォアグラウンド・プレーンを形成するために画像を処理する方法であって、
穴画像を生成するために、Ｎ個の前記バイナリ・フォアグラウンド・プレーンの一に配置されている領域に対応する前記バックグラウンド・プレーンにおける画素の画素データにゼロを挿入し、
前記穴画像を第１の画素数を含む第１のブロックに分割し、
前記第１のブロックを第２の画素数を含む第２のブロックに分割し、
前記第２のブロックの中の画素のカラー値を合計し、該カラー値が非ゼロである該第２のブロックの中の画素数で除することにより、サブ−サンプリング値を取得し、
前記第１のブロックの中のサブ−サンプリング値を合計し、該サブ−サンプリング値が非ゼロである該第１のブロックの中の前記第２のブロックの数で除することにより、平均ブロック・カラー値を取得し、
前記第１のブロックの中のゼロである画素データを前記平均ブロック・カラー値と置き換える、
画像を処理する方法であって、
前記カラー値は、ルミナンス値およびクロミナンス値である、
画像を処理する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮されていない画像データから高度に圧縮されたデータ・ファイルを生成することに関する。詳細には、本発明は、画像データを、高度に圧縮可能な、異なるバイナリ及びコントーンのプレーンに構成することに関する。
【背景技術】
【０００２】
高解像度でスキャンされたドキュメントは、概して非常に大量の格納空間を必要とする。さらにまた、大量の画像データは、ローカル・エリア・ネットワークまたはワイド・エリア・ネットワークを介して、又は、イントラネット、エクストラネットまたはインターネットあるいは他のネットワークを介して伝送するような場合、取り扱いに実質的により多くの時間及び帯域幅を必要とする。
【０００３】
スキャナまたはそれに類似したものを用いてスキャンされるとき、ドキュメントは、概してＲＧＢカラー空間、すなわち、ローＲＧＢフォーマットで定義される。しかしながらこのスキャンされたローＲＧＢフォーマットにおいて格納されるよりもむしろ、ドキュメント画像データは、一般的には、その量を低減して、そのようなスキャンされたＲＧＢドキュメント画像データを格納する高いコストを回避するために、何らかの形式のデータ圧縮が施される。
【０００４】
ＪＰＥＧのような不可逆方法が、なめらかに変動する連続トーン（コントーン〜ｃｏｎｔｏｎｅ：ｃｏｎｔｉｎｕｏｕｓ  ｔｏｎｅ）の画像データにかなり良く作用するのに対して、Ｌｅｍｐｅｌ−Ｚｉｖ（ＬＺ）またはＬｅｍｐｅｌ−Ｚｉｖ−Ｗｅｌｃｈ（ＬＺＷ）のような、可逆無損失ランレングス圧縮スキームは、スキャンされた画像データ、または、一般に、徐々に変化する及び／または自然写真データのようななめらかに変動する低空間周波数を有する画像データにはあまり良好に機能しない。しかしながら、不可逆方法は、概してバイナリ・テキスト及び／またはライン・アート画像データに、あるいは、概して、例えば鮮鋭なエッジまたはカラー遷移を含む高空間周波数画像データには、あまり良好に作用しない。
【０００５】
上述された異なるタイプの画像データのような、データの圧縮ニーズを満足すべき新たなアプローチは、データを記述するための混成ラスタ・コンテント（ＭＲＣ：ｍｉｘｅｄ  ｒａｓｔｅｒ  ｃｏｎｔｅｎｔ）・フォーマットを使用するエンコーダ・パイプラインを使用することである。例えば、カラー及び／またはグレー・スケール情報と混ざり合ったテキストを有するコンポジット画像を定義する画像データのような、画像データが、２つまたはそれより多くのプレーンに分けられる。これらのプレーンは、一般にバックグラウンド・プレーンとフォアグラウンド・プレーンと称される。セレクタ・プレーンは、コンポジット画像における各ピクセルについて、どの画像プレーンが、最終的な出力画像を再構成するために使用されるべき実際の画像データを含んでいるかを、指示すべく生成される。このようなやり方での画像データのプレーンへの分割は、プレーンの各々が原画像データよりも、一層平滑でありより容易に圧縮し得るように、データが異なるプレーンに配置され得るので、画像の全体での圧縮の改善につながる。セグメント分割は、異なるプレーンに対して異なる圧縮方法が適用されることも許容する。したがって、各プレーンにおけるデータのタイプについて最も適切な圧縮技術が、プレーンのデータを圧縮するために適用され得る。
【０００６】
残念なことに、ポータブル・ドキュメント・フォーマット（ＰＤＦ）のような、いくつかの画像ドキュメント・フォーマットは、原ドキュメントのそのような３層混成ラスタ・コンテント分解を、現時点で完全にはサポートしていない。結果として、そのような画像ドキュメント・フォーマットを用いて混成ラスタ・コンテント画像データ・ファイルとして圧縮され且つ格納されたドキュメントをプリントまたは他の方法でレンダリングしようとするとき、該ドキュメントは、全くレンダリングされ得ないか、またはレンダリングによって好ましくないアーチファクトを含む。
【０００７】
特許文献１乃至３は本発明に関連する。
【特許文献１】米国特許第４、８４９、９１４号明細書
【特許文献２】米国特許第５、５１５、４５２号明細書
【特許文献３】米国特許第５、５８３、６５９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
複数のバイナリ・フォアグラウンド・プレーンを有する混成ラスタ・コンテント・フォーマットにドキュメントを変換するシステム及び方法が提供される。
【課題を解決するための手段】
【０００９】
ドキュメントをスキャンした後に、画像データは、同様の画像特性を有する領域を識別すべく解析される。領域の各々は、複数のバイナリ・フォアグラウンド・プレーンの一つにリフトされる。領域のリフトは、バイナリ・フォアグラウンド・プレーンからの圧縮画像の再生の際に上書きされるであろう、穴をバックグラウンド層に残す。このように、バックグラウンド層における穴エリアは、原ドキュメント画像の適切な再現に不可欠でないデータを含んでいるかもしれない。これらの穴エリアは、バックグラウンド層の種々の特性を拡張するためのデータで埋められるようにすることもできる。例えば、穴エリアは、それによって、バックグラウンド層の圧縮特性を改善するように、近傍ピクセルの平均カラーで埋められるようにしてもよい。
【００１０】
複数のバイナリ・フォアグラウンド・プレーン画像データが、例として、ここで論じられているが、本発明は、画像において識別され得る重要度の低いデータの領域であればどこにでも使用され得る。他のそのような状況は、画像のプリント可能エリアの外側の領域、あるいは、原画像データの一部でない他のデータが上書きされるであろう領域を含んでいてもよい。そのような場合において、識別領域におけるデータは、画像の圧縮率のような、ある他の画像特性を拡張するデータと置換されてもよい。
【００１１】
本発明の第１の態様の画像処理方法は、画像において重要度の低い画素を識別し、識別された前記画素とデータとを置換する、画像を処理する方法であって、前記データは前記画像を処理するために所望される特性を提供するために選択される。
【００１２】
本発明の第２の態様の画像処理方法は、バックグラウンド・プレーン及びＮ個のバイナリ・フォアグラウンド・プレーンを形成するために画像を処理する方法であって、穴画像を生成するために、Ｎ個の前記バイナリ・フォアグラウンド・プレーンの一に配置されている領域に対応する前記バックグラウンド・プレーンにおけるピクセルのピクセル・データにゼロを挿入し、サブ−サンプリングされたピクセル値の一以上のブロックを取得するために、前記穴画像をサブ−サンプリングし、対応する近傍の少なくとも一が非ゼロ・ピクセル値を有するならば、前記サブ−サンプリングされたピクセル値の各々は非ゼロ値を有し、前記対応する近傍の全てがゼロ・ピクセル値を有するならば、前記サブ−サンプリングされたピクセル値の各々はゼロ値を有し、前記ブロックの各々のブロック平均カラー値を取得するために、前記ブロックの各々における非ゼロ・サブ−サンプリング・ピクセル値のカラー値を平均化し、前記ブロックの各々のブロック平均カラー値と、ゼロに等しい前記ブロックの各々のサブ・サンプリング・ピクセル値と、を置き換える。
【００１３】
本発明の第３の態様の画像処理装置は、画像データと、該画像データの重要度の低い部分を識別するセレクタ・データと、を記憶するメモリと、前記セレクタ・データに基づいて、前記画像データの重要度の低い部分を所望される値に設定するプロセッサと、を備える。
【発明を実施するための最良の形態】
【００１４】
本発明は、図面を参照して説明される。
【００１５】
画像における領域を、コントーン・バックグラウンド・プレーンと複数のフォアグラウンド・プレーンに分離する画像処理システムが、提示される。カラー及び空間近接特性のような、画像において一定の特徴を共有するピクセルは、画像データのより効果的な圧縮のように、画像処理を改善するために、一緒にグループ化され且つＮ個のバイナリ・フォアグラウンド・プレーンの一つによって表現される。どのフォアグラウンド・プレーンによっても表現されないピクセルは、コントーン・バックグラウンド・プレーンに残される。次に、コントーン・バックグラウンド・プレーンについてはＪＰＥＧ、バイナリ・プレーンについてはＣＣＩＴＴのＧ４のように、適切な標準の圧縮方法を用いて、各プレーンは、独立に圧縮される。画像の再生時には、バックグラウンド・プレーンにおけるいくつかの領域が、フォアグラウンド・プレーンにおけるデータによって上書きされる。したがって、バックグラウンド・プレーンにおけるこれらの領域は、ドキュメント画像の適切な再生にはあまり重要ではない。これらの領域におけるデータは、その圧縮率のような、バックグラウンド・プレーンにおける特性を改善するデータで置換され得る。例えば、これらの領域は、置換された領域と残ったバックグラウンド・ピクセルの間の境界がより緩やかになるように、近傍領域の平均カラー値であるデータで置換され得る。
【００１６】
議論を平易にするために、以下においては、例として圧縮特性を使用する。しかしながら、エンコーディング特性のような他の特性における改善が行われてもよい。
【００１７】
図１は、バックグラウンド連続トーン又はグレー・スケール・プレーン（バックグラウンド・プレーン）２１０及びＮ個のバイナリ・フォアグラウンド・プレーン、但しこの例においては、２２０〜２７０の参照符号が付された６個の（Ｎ＝６）バイナリ・フォアグラウンド・プレーン、に分解されたドキュメント画像を示している。Ｎ個のバイナリ・フォアグラウンド・プレーン２２０〜２７０の各々は、バックグラウンド・プレーン２１０に組み合わされるべき低空間周波数カラー画像データの空間的な拡がりを定義し得る。Ｎ個のバイナリ・フォアグラウンド・プレーン２２０〜２７０の各々は、そのプレーンに関連する特定のカラーを持っていてもよい。
【００１８】
例えば、画像データは、６つの明確なカラー値に分離され得る、同様のカラー・データを有する領域２２０’〜２７０’を含んでいてもよい。６個のカラー値の各々は、複数のバイナリ・フォアグラウンド・プレーン２２０〜２７０の特定の一つに関連付けられていてもよい。バイナリ・フォアグラウンド・プレーン２２０〜２７０の各々のバイナリ・マスク・データは、それら６色の各々に対応するエリア２２０’〜２７０’の空間的拡がりを定義する。
【００１９】
原画像を再現するとき、フォアグラウンド・プレーンにおけるエリア２７０’、２６０’、２５０’、２４０’、２３０’、及び２２０’の各々においてターン・オンされている（すなわち、選択されている）バイナリ・マスク・ビットに対応するバックグラウンド・プレーン２１０における領域は、フォアグラウンド・プレーンのこれらのエリアによって上書きされ得る。それゆえ、バックグラウンド・プレーン２１０におけるこれらの領域は、それらに配置されているデータが、再現される画像の品質に寄与しないので、穴と呼ばれる。したがって、これらの穴におけるデータは、出力画像品質に影響することなく、バックグラウンド層の圧縮特性を拡張することのような所望の特性を改善するようにして生成されてもよい。
【００２０】
図２は、Ｎ個のバイナリ・フォアグラウンド・プレーンが画像処理装置によって作り出される例示的プロセスを示している。原ドキュメントは、例えば、ＲＧＢカラー空間におけるデータのような原画像データを生成するスキャナ４００によってスキャンされる。スキャナの出力は、それからＮ層画像データ生成システム１０００に供給される。Ｎ層画像データ生成システム１０００のカラー変換モジュール５００は、ＲＧＢデータをＹＣＣカラー空間に変換し得る。良く知られているように、ＹＣＣカラー空間は、ルミナンス成分（Ｙ）及び２つのクロマ成分（ＣＣ）を含んでいる。クロマ成分のデータ・ポイントがルミナンス成分の半分になるように、両方でなければ、少なくとも一の方向において、クロマ成分は２：１の比率でサブ−サンプリングされてもよい。ＹＣＣカラー空間における画像は、Ｎ個のバイナリ・フォアグラウンド層を生成するためにＮ層生成モジュール６００へ入力されてもよい。
【００２１】
Ｎ層生成モジュール６００は、入力画像を解析し、そして同様のカラー値のような、ある特性を共有する領域を検出する。それから、Ｎ層生成モジュール６００は、検出された領域を同様のカラー特性を共有し、且つ空間的にオーバーラップするより大きな領域に結合する。その後、Ｎ層生成モジュール６００は、結合されたより大きな領域を、結合された領域のカラー値に応じて、Ｎ個のフォアグラウンド・プレーンの１つに割り当てる。フォアグラウンド・プレーンに含められていない残った画像データは、バックグラウンド・プレーンに含められる。Ｎ層生成システムによって生成されたバックグラウンド・プレーンは、バックグラウンド・プレーンの圧縮特性を改善すべくバックグラウンド・プレーンにおけるデータを調整する、画像プレーン調整システム７００に入力される。次に、コントーン・バックグラウンド・プレーンについてはＪＰＥＧアルゴリズムを、バイナリ・フォアグラウンド・プレーンについてはＣＣＩＴＴのＧ４を用いて、例えば、ＰＤＦまたはＴＩＦＦファイルのようなファイルに出力される前に、フォアグラウンド及びバックグラウンド・プレーンは圧縮モジュール８００によって圧縮される。
【００２２】
図３は、ＣＰＵ７１０、メモリ７５０、平均化モジュール７４０、ピクセル置換モジュール７３０、入力画像調整モジュール７２０及び入力／出力インターフェース７６０を含む画像プレーン調整システム７００の詳細を示している。上述の構成要素７１０〜７６０は、バス７７０を介して結合されている。画像プレーン調整システム７００がバス・アーキテクチャ・ダイアグラムを用いて例示されている。しかしながら、ハードウェア構成の任意の他のタイプ、例えば、一以上の構成要素を実現する特定用途向ＩＣ（ＡＳＩＣ）など、若しくは、画像プレーン調整システム７００の全ての機能を実行するＣＰＵ７１０において実行されるコンピュータ・プログラムなど、が使用されてもよい。
【００２３】
画像プレーン調整システム７００は、圧縮のためのバックグラウンド・プレーンを用意する。入力／出力インターフェース７６０は、画像プレーン調整システム７００への入力を受信する。該入力はメモリ７５０に記憶されてもよいし、受信された際に処理されてもよい。入力画像調整モジュール７２０、ピクセル置換モジュール７３０、及び平均化モジュール７４０などのモジュールが該入力（データ）を処理する。各々の処理については、以下において詳細に論じられる。
【００２４】
画像データ処理の流れは図４に示される。入力画像は、入力画像の、例えば、画像カラー特性を調整する入力画像調整モジュール７２０によって受信される。穴挿入モジュール７１５は、入力画像調整モジュールからの出力を受け、フォアグラウンド及びバックグラウンド・プレーンの作成時に、Ｎ層生成モジュール６００によって生成されるセレクタ（ＳＥＬ）・データに基づいてバックグラウンド・プレーンに穴（「０」データ値）を挿入する。入力画像調整モジュール７２０の１つの特別な役割は、他の有効なピクセル値から穴を区別するための「０」のような特別なピクセル値をリザーブしておくことである。サブ−サンプリング画像モジュール７２５は、穴挿入モジュール７１５の出力を受け、そして、例えば、圧縮を改善し且つ処理のスピードを増大させるためにバックグラウンド・プレーンのサイズを減少させる。サブ−サンプリング画像モジュール７２５からのサブ−サンプリングされた出力は、サブ−サンプリング画像平均化モジュール７３５によって平均化され、そしてサブ−サンプリング画像平均化モジュールによって生成される平均カラー値は、穴フィラー７４５によって穴が埋められるのに使用される。サブ−サンプリング画像モジュール７２５とサブ−サンプリング画像平均化モジュール７３５の両方は、基本的に同一の平均化機能を実行する。したがって、これらのモジュールの機能は、図３の平均化モジュール７４０によって実行される。また、穴挿入モジュール７１５及び穴フィラー７４５の機能は同様であり、そしてそれゆえそれらの機能は両方とも図３のピクセル置換モジュール７３０によって行われる。
【００２５】
隣接し、かつ、オーバーラップしていない３２×３２の画像データのブロックについて、１６×１６のデータのブロックを生成することにより、サブ−サンプリング・モジュール７２５はルミナンス・データの２：１サブ−サンプリングを行う。３２×３２のブロックの各々は、２：１サブ−サンプリングのために２５６個の２×２のブロックに分割される。各々対応する１６×１６のブロックの一のサブ−サンプリング・データ・ポイントを生成するために、２×２のブロックにおける全てのピクセルは平均化される。クロマ・データは、ルミナンス・データに対して２：１の他の比率によってさらにサブ−サンプリングされる（全体で４：１）。４：１クロマ成分のために、３２×３２のブロックは、６４個の４×４のブロックに分割される。各４×４のブロックは、８×８のサブ−サンプリング・ブロックの一のデータ・ポイントについて平均化される。
【００２６】
平均化モジュール７４０は、近傍区域内のピクセルのカラー値を合計し、合計に寄与する近傍区域における非ゼロ・ピクセルの数で該合計を除算することによって近傍区域のピクセルのカラー要素を平均化する。いくつかの近傍はゼロのみを含む、即ち、穴であるから、サブ−サンプリング・オペレーションの後でさえもその値はゼロのままである。
【００２７】
サブ−サンプリングを行った後に、平均化モジュール７４０は、サブ−サンプリング・データの８×８のブロックの平均カラーを計算する。穴フィラー７４５は、サブ−サンプリングされた画像における穴を示す「０」を、サブ−サンプリングされたピクセルの８×８のブロックの平均値で置換し、これにより、穴を平均データによって「埋める」。
【００２８】
図３及び図４に示された各モジュールの動作を、詳細に説明する。Ｎ層生成モジュール６００からの拡張されたカラー・データ（ＥＮＨ）は、画像プレーン調整システム７００に入力される。拡張されたカラー・データＥＮＨは、カラー変換ユニット５００によって出力されるＹＣＣ画像データであってもよく、該データは画像の異なる領域の周りのエッジ特性のエンハンスメントを含んでいる。ＥＮＨのページの例は、図５に示される。ＥＮＨにおける各エントリは、ルミナンスの８ビット値、クロミナンスＣｂの８ビット値そしてクロミナンスＣｒの８ビット値に対応して、各々について８ビットの３バイトである。２４ビットのカラー値は、参照符号６０８によって示されるルミナンス・データ（Ｙ）及び参照符号６１０と６２０によって示されるクロミナンス・データ（Ｃｂ、Ｃｒ）の３つの分離されたプレーンに分けられる。２４ビットのカラー・データのページは、サブ−サンプリング・モジュール７２５によって使用される入力データ量である、参照符号６３０によって示されるようなデータ部の、隣接し、かつ、オーバーラップしない３２×３２のブロックに分割されてもよい。
【００２９】
ＥＮＨが、画像プレーン調整システム７００に入力されると、平均化モジュール７４０によるサブ−サンプリング及び圧縮モジュール８００による圧縮の前に、カラー調整及び／またはガンマ補正曲線のような、最終調整が画像に対してなされる。ガンマ補正は、薄暗い照明のエリアよりも明るい照明のエリアに対してより応答がよい、人間の目の特性を活かすために適用される。調整は、例えば、Ｎ層生成モジュール６００からのＥＮＨに含まれる入力画像のカラー特性を調整するために、３つの一次元トーン再現曲線（ＴＲＣ）、を用いて適用される。入力ピクセル値に対する出力ピクセル値に関する関数を示す、一般的なトーン再現曲線が、図７に示される。これの代わりに、トーン再現曲線は、ルミナンスまたはクロマの入力値を異なる出力値にマッピングする、シンプルなルックアップ・テーブルの形態であってもよい。該モジュールは、ルミナンス及びクロマ成分の各々に異なる一次元ＴＲＣを適用してもよい。
【００３０】
最後に、入力画像調整モジュール７２０は、ルミナンスが２５５のときにクロマをニュートラル中点（Ｃｂ＝Ｃｒ＝１２８）へ設定することについて応答してもよい。この動作は、白近傍（Ｙ＝２５５）を描画するために使用されるトナーがないことを保証する。ＣｂまたはＣｒがニュートラルでないことが許容されるならば、非ニュートラル領域において、カラー補間精度誤差によって、シアン・マジェンタ・イエロー（黄色）・ブラック（黒）（ＣＭＹＫ）のプリンタ・カラー空間へのＹＣＣ変換において残余トナーの量が出力されるようにしてもよい。
【００３１】
入力画像調整モジュール７２０の出力は、穴挿入モジュール７１５に送られる。このモジュールはＮ層生成モジュール６００からバイナリ・セレクタ・プレーン・データ（ＳＥＬ）を読み込む。バイナリ・セレクタ・プレーン・データは、画像の適切な再生にあまり重要ではないＥＮＨピクセルを識別する。それらのピクセルは一以上のバイナリ・フォアグラウンド層に割り当てられる領域により上書きされるからである。
【００３２】
図６において、６４０として示されているＳＥＬは、バイナリ・フォアグラウンド・プレーンのいずれか１つに割り当てられている穴、すなわち領域６４５〜６４９、に対応する値「１」のバイナリ値、及びバックグラウンド・プレーンに残される領域についての値「０」を含んでいる。
【００３３】
図１における領域２２０’〜２７０’に対応するＥＮＨピクセル値は、既に、フォアグラウンド層２２０〜２７０にコピーされており、バックグラウンド・プレーンのこれらの領域におけるデータは、穴を示すようにリザーブされたゼロで置換され得る。したがって、穴挿入モジュール７１５は、対応するセレクタ・プレーンのピクセルがターン・オン（ＳＥＬ＝１）である任意のピクセルの位置のＥＮＨのカラー・データをゼロで置換する。穴挿入モジュール７１５はゼロは、全てのＥＮＨ成分について、すなわち、クロマ成分ばかりでなくルミナンス成分についても、挿入される。ＥＮＨにおけるカラー・データは、セレクタ・プレーンがゼロであるものについて全てのピクセル位置について変更されないで残される。ピクセル置換モジュール７３０は、画像の適切な再現に対してあまり重要ではないとして識別されたピクセルに、ゼロを挿入する。重要度の低いピクセルは、「１」のセレクタＳＥＬ値を有するとして識別される。
【００３４】
ＥＮＨにおける穴の挿入のプロセスが図８に例示されている。３２×３２のＥＮＨピクセルのアレイは、ゼロ・ピクセルのブロック７４２、７４３、７４４、７４６及び７４７を含んでいる。ゼロ・ピクセルは、図８において黒ピクセルとして示されている。黒ピクセルは、ＥＮＨのルミナンス・データ７４１と、クロマ・データＣｂ７４８及びＣｒ７４９との両方において、穴７４２、７４３、７４４、７４６及び７４７の位置を示している。「穴画像」、すなわち、穴が挿入された画像データは、ＥＮＺとラベルされ、サブ−サンプリング画像モジュール７２５に伝送される。
【００３５】
画像データにおけるピクセルの数を低減するために、この段階において画像データはサブ−サンプリングされ、これにより、下流のプロセスにおける計算負荷量を低減する。図８も、サブ−サンプリングされたＹデータの４つの８×８ピクセル・ブロックと、サブ−サンプリングされたＣｂ及びＣｒデータの２つの８×８ピクセル・ブロックを形成する３２×３２ピクセル・アレイのサブ−サンプリングのプロセスを例示している。この６個のサブ−サンプリングされた８×８ピクセル・ブロックのグループは、例えば、ＪＰＥＧ４：２：０モードで最小コード化ユニット（ＭＣＵ）を構成する。それゆえ、サブ−サンプリング・プロセスは、入力としてＥＮＨの連続し、かつ、オーバーラップしない３２×３２ピクセル・アレイを使用する。
【００３６】
サブ−サンプリングは、平均化モジュール７４０を用いて、サブ−サンプリング・モジュール７２５によって行われる。平均化モジュール７４０は、例えば、２：１サブ−サンプリング・データを出力するために、ＥＮＺの２×２ピクセル・ルミナンス近傍区域を平均化し、そして４：１サブ−サンプリング・データを生成するためにクロマ・データの４×４ピクセル近傍区域をさらに平均化する。平均化モジュール７４０は、ラスタ順序で、例えば左から右へそして上から下へ作動する。平均化モジュールは、ピクセルの特定のセット（すなわち近傍区域）全体についての合計を計算し、その近傍区域におけるピクセルのカウント数によって合計を除算する。
【００３７】
例えば、サブ−サンプリングを実行するために、ピクセルの２×２近傍区域の連続し、かつ、オーバーラップしないルミナンス・データが合計され、そして該合計が近傍区域における有効ピクセルの数で除算される。４個の全てのピクセルが有効であれば、合計は４で除算され、単一のサブ−サンプリングされた出力ピクセルを生成する。それゆえ、ＥＮＺルミナンス・チャンネルの各２×２ピクセル・アレイは、１つのルミナンス・ピクセル出力にマップされる。このプロセスによれば、ＥＮＺの各３２×３２ブロックは、４つの８×８ブロックのサブ−サンプリングされたルミナンス・データ７４１’を生み出す。同様に、ＥＮＺクロマ・データ７４８及び７４９は、さらに２×（合計４×）によってさらにサブ−サンプリングされて、各々８×８ピクセルの単一ブロック７４８’及び７４９’を作る。それゆえ、ＥＮＺクロミナンス・データの各４×４近傍区域は、１つのＣｒまたはＣｂピクセル出力にマップされる。各出力ピクセル値は有効ピクセルのみについての対応する近傍エリアを平均化することによって得られる。
【００３８】
図８は、サブ−サンプリング・モジュール７２５の出力のサンプルも示している。平均化モジュールの出力は依然として穴７４２’を含んでいる。平均化プロセスによっても穴が残るためには、近傍区域ピクセルの各々が穴となる。すなわち、近傍区域全体が一の有効ピクセルをも含まない場合にのみ平均操作によっても穴が残るであろう。この場合、近傍区域平均値はゼロであろう。
【００３９】
図９は、サブ−サンプリング・プロセス及び穴の形成をより詳細に描いている。明確にするために、図８に示された入力データの３２×３２のブロックではなく、ルミナンス入力データの４×４のブロックのみが示されている。４×４のブロックは、連続し、かつ、オーバーラップしないルミナンス・データについての２×２ピクセル近傍区域のカラー値を合計し、有効ピクセルの数によって合計を除算することによって、サブ−サンプリングされる。ピクセル群における第１の近傍区域は、参照符号７５２によって、そして第２は参照符号７５４によって、第３は参照符号７５６によって、そして第４は参照符号７５８によって、それぞれ示されている。第１の２×２ピクセル近傍区域７５２は、その値がＡ、Ｂ及びＣである３つの非ゼロ・ピクセルを有している。第４のピクセルは、ゼロの値を有している。サブ−サンプリング・ルーチンは、４つのピクセル入力から単一のサブ−サンプリングされたピクセル７５３を生成する。その値は（Ａ＋Ｂ＋Ｃ）／３である。参照符号７５４によって指示された第２の２×２ピクセル近傍区域は全てゼロであり、それゆえ、出力ピクセル７５５は、やはり、ゼロの値を有する穴である。第３の２×２ピクセル近傍区域は、Ａ’及びＢ’の値を有する２つの有効ピクセルを有している。平均化モジュール７４０から出力されるサブ−サンプリングされたピクセル７５７は、値（Ａ’＋Ｂ’）／２を有する。第４の２×２ピクセル近傍区域は、全て有効なピクセルＡ”、Ｂ”、Ｃ”及びＤ”を有している。それゆえ、サブ−サンプリングされたピクセル７５９のピクセル値は、（Ａ”＋Ｂ”＋Ｃ”＋Ｄ”）／４である。
【００４０】
穴を埋めるために、サブ−サンプリング画像平均化モジュール７３５は、サブ−サンプリングされたデータにおける残った穴はカウントせず、非ゼロ・ピクセルのみをカウントして、サブ−サンプリングされたピクセルの各８×８ブロックの平均から埋めるカラーを計算する。穴はゼロの値を有しているから、ブロック・ピクセル値の合計は、穴があろうとなかろうと同一である。しかしながら、有効（非ゼロ）ピクセルの数は異なり、そしてそれゆえ各ブロックについてカウントされなければならない。平均ブロック・カラーは、有効ピクセルの数によって、ピクセル値の合計を正規化することによって得られる。コストのかかる除算を回避するために、除算もルックアップ・テーブルと右シフト操作を介してインプリメントされてよい。４個のルミナンス・ブロックと各１つのＣｒ及びＣｂブロックがあるから、合計６個の平均数（ブロックあたり１つ）が作り出される。各平均は、８ビットのモノクローム数である。それゆえ、図９に示される２×２のサブ−サンプリングされたブロックについては、平均ブロック・カラーは、（［（Ａ＋Ｂ＋Ｃ）／３］＋［（Ａ’＋Ｂ’）／２］＋［（Ａ”＋Ｂ”＋Ｃ”＋Ｄ”）／４］）／３となる。
【００４１】
最後に、穴フィラー・モジュール７４５は、ピクセル置換モジュール７３０を用いて各８×８ブロックを一度に処理する。穴フィラー・モジュールは、各ブロックにおける全ての穴ピクセルについてのゼロ成分を、そのブロックの平均カラーで置換する。
【００４２】
いくつかの場合において、ルミナンスまたはクロマ・データのいずれかの３２×３２ピクセルのブロック全体が、サブ−サンプリングされたそれらもまた全てがゼロであるＹ、Ｃｂ及びＣｒブロックをもたらす穴から構成されていてもよい。そのようなブロックは、圧縮を改善すべく一定のカラーで埋められている。特別な一定のカラー値は、時間的にまたは空間的に前のブロックの平均カラーから得られる。前のブロックは、図１０に示されるようにＭＣＵ内のブロックのＪＰＥＧ順序に従って定義され得る。例えば、Ｃｂのサブ−サンプリングされたピクセル・ブロック７６２が全ての穴を収容していたならば、ルミナンス・ピクセル・ブロック７６１の平均カラーで置換されるであろう。同様にして、もしもＣｒのサブ−サンプリングされたピクセル・ブロック７６３が全て穴を収容していたならば、Ｃｂピクセル・ブロック７６２の平均カラーで置換されるであろう。ページ上の最初のブロックが、一定のカラーで埋められるべきであるならば、平均先行ブロック値は、白頁であると仮定される。
【００４３】
結果としてのデータが、圧縮されるべきであれば、画像プレーン調整システム７００が、埋められたバックグラウンド・プレーンを圧縮するために圧縮モジュール８００に送る。先に説明されたように、Ｎ層生成モジュール６００は、他のＮ層プレーンを圧縮するために圧縮モジュールに送る。バックグラウンド・プレーンにおける穴は、バックグラウンド調整モジュール７００によってバックグラウンドにおける他のピクセルの平均カラーで埋められるので、圧縮モジュール８００は、より少ないアーチファクト及び埋められた穴と残りのバックグラウンドの間の境界のより少ないリンギングによって、バックグラウンド・プレーンを、より効果的に圧縮することができる。圧縮モジュール８００は、圧縮されたバックグラウンド・プレーンをコンバイナに送ってもよい。該コンバイナは、例えば、圧縮されたフォアグラウンド層と圧縮されたバックグラウンド・プレーンとを結合して、下流プロセスで出力されるＮ層ＰＤＦまたはＴＩＦＦファイルを生成する。
【００４４】
本発明をハードウェアの実施の形態で説明してきたが、本発明は、ソフトウェア・インプリメンテーションを用いて実施されてもよい。この場合、例えば、コンピュータ・プログラムのようなソフトウェアが、本方法のステップ群を実行してもよい。ソフトウェアは、適切にプログラムされたマイクロ・プロセッサまたはＡＳＩＣによって実行されてもよいし、ソフトウェアとハードウェアとの何らかの組み合わせによっても実施されてもよい。図４に例示された全体のプロセスは、図１１に示されるステップを実行するマイクロ・プロセッサによって実行され得る。モジュール７２０、７３０及び７４０の作用の詳細な説明は、図１２〜図１４にそれぞれ示されるマイクロ・プロセッサが実行するステップによって行なわれ得る。
【００４５】
図１１は画像プレーンの圧縮度を改善するために、画像プレーンのデータを調整する方法の概略を示すフローチャートである。当該方法はスタートして、ステップＳ２００に進み、そこで入力画像が調整される。種々の例示的実施の形態において、入力画像は、ルックアップ・テーブルまたは入力ピクセル値と出力ピクセル値の間の関係を明示する関数従属（ｆｕｎｃｔｉｏｎａｌ  ｄｅｐｅｎｄｅｎｃｙ）によって調整されてもよい。ルックアップ・テーブルは、例えば，入力画像データ上のトーン再生曲線をインプリメントしてもよい。ステップＳ３００において、画像プレーンからバイナリ・フォアグラウンド・プレーンにリフトされるピクセルのピクセル値にゼロを代入することによって、画像プレーンに穴が挿入される。ステップＳ４００において、サブ−サンプリングされたバックグラウンド・プレーンを得るために、ルミナンス・データについては２：１で、そしてクロマ・データについては４：１で、入力画像がサブ−サンプリングされる。
【００４６】
ステップＳ５００において、サブ−サンプリングされた画像におけるサブ−サンプリングされたピクセルについての平均カラー値が得られる。種々の例示的実施の形態において、平均カラー値は、全ての非ゼロ・ピクセルを加算し、非ゼロ・ピクセルの数によって除算することによって得られる。種々の例示的実施の形態において、除算は、適切な乗数についてルックアップ・テーブルを調べ、且つそれから結果として得られるビットを右シフトすることによって達成される。ステップＳ６００において、穴挿入ステップＳ３００によって先にゼロにセットされた、穴についてのピクセル値に対して、サブ−サンプリングされた画像についての平均ピクセル値を適用することによって、ステップＳ３００で挿入された穴が埋められる。プロセスは、ステップＳ７００において終了する。
【００４７】
図１２は、図１１におけるステップＳ２００のプロセスを概略説明するフローチャートである。ステップＳ２１０において、最初のピクセルかまたは次のピクセルかが選択される。それから、ピクセル値がステップＳ２２０において調整される。種々の例示的実施の形態において、調整は、図７において示されたようなガンマ補正曲線に従っている。ステップＳ２３０において、選択されたピクセルのルミナンス値が２５５に等しいかどうかの判定がなされる。等しくなければ、制御はステップＳ２５０へジャンプする。等しければ、ピクセルのクロマ値は１２８にセットされる。制御は、それからステップＳ２５０へ進み、選択されたピクセルが、画像における最後のピクセルかどうかの判定がなされる。最後のピクセルでなければ、制御は、ステップＳ２１０にジャンプ・バックし、次のピクセルが選択される。ステップＳ２５０において、選択されたピクセルが画像における最後のピクセルであれば、プロセスは、ステップＳ２６０で終了する。
【００４８】
図１３は、図１１のステップＳ４００を概略説明するフローチャートである。プロセスは、ステップＳ４１０で始まり、入力画像データにおける最初のピクセル近傍区域かまたは次のピクセル近傍区域かが選定される。近傍区域のサイズは、実施されるべきサブ−サンプリングの量に対応し、例えば、２：１サブ−サンプリングについては、近傍区域は、２×２ピクセル窓のデータである。それから、プロセスは、ステップＳ４２０に移る。ステップＳ４２０において、変数ＳＵＭ及びＣＯＵＮＴを格納するであろうレジスタがゼロに初期化され、そしてプロセスはステップＳ４３０に進む。ステップＳ４３０において、選択された近傍区域における最初のピクセルかまたは次のピクセルかが選定され、そしてプロセスはステップＳ４４０に進む。ステップＳ４４０において、選択されたピクセルの値がゼロであるかどうかの判定がなされる。ゼロでなければ、ステップＳ４５０において、ピクセルの値が変数ＳＵＭに加算され、そしてＣＯＵＮＴが１だけインクリメントされる。ピクセルの値がゼロであれば、制御はステップＳ４６０にジャンプし、現在のピクセルが近傍区域における最後のピクセルかどうかの判定がなされる。最後のピクセルでなければ、制御は、Ｓ４３０にジャンプ・バックし近傍区域における次のピクセルが選択される。
【００４９】
ピクセルが近傍区域における最後のピクセルならば、制御はステップＳ４７０に続き、サブ−サンプリングされたピクセルについての値が、ＣＯＵＮＴで除算されたＳＵＭ値である平均カラー値にセットされる。種々の例示的実施の形態において、除算は、適切な乗数をルックアップ・テーブルにて探し、且つそれから乗数とＳＵＭの積を右シフトすることによって達成され得る。それから、プロセスはステップＳ４８０に進み、近傍区域が、画像における最後の近傍区域かどうかの判定がなされる。最後の近傍区域でなければ、制御は、次の近傍区域を選択するために、ステップＳ４１０にジャンプ・バックする。画像における最後の近傍区域であれば、プロセスはステップＳ４９０で終了する。
【００５０】
図１４は、図１１のフローチャートのステップＳ５００を概略的に説明するフローチャートである。方法は、ステップＳ５１０で始まり、変数ＳＵＭ及びＣＯＵＮＴがゼロで初期化されて、プロセスはステップＳ５２０へ進む。ステップＳ５２０において、最初のサブ−サンプリング・ピクセルか、次のサブ−サンプリング・ピクセルかが選定され、プロセスはステップＳ５３０に進む。ステップＳ５３０において、選択されたサブ−サンプリング・ピクセルがゼロに等しいかどうかの判定がなされる。ゼロに等しければ、ピクセル番号がステップＳ５５０において格納され、プロセスはステップＳ５６０に進む。ゼロに等しくなければ、ステップＳ５４０において、サブ−サンプリングピクセルの値は、現在の合計ＳＵＭに加算され、ＣＯＵＮＴは１だけインクリメントされる。プロセスは、それからステップＳ５６０に進み、サブ−サンプリングピクセルがセットにおける最後かどうかの判定がなされる。最後でなければ、制御はステップＳ５２０にジャンプ・バックし、次のサンプルが選定される。もしも、サブ−サンプリング・ピクセルが最後であれば、ステップＳ５７０において、合計ＳＵＭをＣＯＵＮＴで除算することによって、平均カラーが計算される。種々の例示的実施の形態において、除算は、適切な乗数をルックアップ・テーブルから得て、且つそれから乗数とＳＵＭの積を右シフトすることによって達成され得る。ステップＳ５８０において、格納されたピクセルの各々の値が計算された平均カラーにセットされる。プロセスは、ステップＳ５９０で終了する。
【００５１】
本発明は、種々の例示的実施の形態に関連して説明されてきたが、これらの実施の形態は、例示としてみるべきであり、限定ではない。本発明の精神及び範囲内で種々の変更、置換等が可能である。例えば、画像プレーンの圧縮特性を改善する代わりに、所望される方法で圧縮アルゴリズムの実行をシンプルに生じさせるデータが使用されてもよい。画像プレーンにおいて置換するデータのタイプを選択するのに、圧縮特性以外の、他の基準も使用され得る。例えば、画像プレーンのエンコーディング特性を変化させるであろう、あるいは有利なまたは所望のタイプのリンギング・アーチファクトを生じさせるであろうデータも選択され得る。電子透かしのように、許可されていないコピーを防止するために、データのための安全キーを提供するデータが使用されてもよい。
【図面の簡単な説明】
【００５２】
【図１】複数の画像プレーンに分離された例示的画像及び結果としてレンダリングされるドキュメント画像を示す。
【図２】画像プレーン調整システムが動作し得る例示的システムを示す。
【図３】画像プレーン調整システムの例示的機能ブロック図を示す。
【図４】図３の画像プレーン調整システムにおける例示的データ・フローを説明する図である。
【図５】エンハンスド・カラー・データＥＮＨを示す。
【図６】セレクタ・プレーンを示す。
【図７】ガンマ補正曲線を示す。
【図８】サブ−サンプリング・モジュールの動作を示す。
【図９】サブ−サンプリング・モジュールの動作をさらに詳細に示す。
【図１０】最小コード化ユニット（ＭＣＵ）内のブロックのＪＰＥＧオーダーを示す。
【図１１】画像プレーンの処理の概略を示す例示的なフローチャートである。
【図１２】画像プレーンを形成するための入力画像の調整の概略を示す例示的なフローチャートである。
【図１３】画像プレーンのサブ−サンプリングの概略を示す例示的なフローチャートである。
【図１４】サブ−サンプリング画像の平均カラーの取得及び画像プレーンにおける穴埋めの概略を示すフローチャートである。
【符号の説明】
【００５３】
７１５  穴挿入モジュール
７２０  入力画像調整モジュール
７２５  サブ−サンプリング画像モジュール
７３５  サブ−サンプリング画像平均化モジュール
７４５  穴フィラー
【図１】
0004688515.tif 000002
【図２】
0004688515.tif 000003
【図３】
0004688515.tif 000004
【図４】
0004688515.tif 000005
【図５】
0004688515.tif 000006
【図６】
0004688515.tif 000007
【図７】
0004688515.tif 000008
【図９】
0004688515.tif 000009
【図１０】
0004688515.tif 000010
【図１１】
0004688515.tif 000011
【図１２】
0004688515.tif 000012
【図１３】
0004688515.tif 000013
【図１４】
0004688515.tif 000014
【図８】
0004688515.tif 000015