(57)【要約】【課題】  異なったタイプのデータを円滑に圧縮する。【解決手段】  ページがグレイかまたはカラーかを判断するためのページ背景除去および自動灰色検知のような種々の画像強調オペレーションを適用する目的に対する画像内容についての本質的な統計を収集するための統計的モジュール（ＳＴＳ）が開示される。いくらかのスキャナ・ノイズを除去するために、統計的モジュールは、デ・スクリーン・モジュールからの、ぼけた信号ＢＬＲを使用する。出力は、特別の３Ｄカラーヒストグラム・アレイである。【選択図】          図１
2005326904.tif 000002
【特許請求の範囲】
【請求項１】
画素輝度値または画素値の範囲の数をカウントして、入力画像の輝度ヒストグラム・アレイを生成し、
各画素輝度値に対して、第２のおよび第３のアレイに画素クロミナンス値またはその範囲を加えて、当該クロミナンス・チャンネルの各々に対して一つずつの、従属クロミナンス・ヒストグラム・アレイであって、２つの、前記入力画像の、従属クロミナンス・ヒストグラム・アレイを生成し
前記第１、第２、および第３の輝度ヒストグラム・アレイおよび従属クロミナンス・ヒストグラム・アレイを処理して、背景抑圧情報を獲得し、更に、黒点、白点、および、コントラスト・パラメータを含む強調パラメータを抽出し、これらのパラメータの値を用いて、前記入力画像に対して背景除去および追加の画像強調を自動的に適用する、
ステップを含む、背景抑圧情報および更に画像強調情報を得るための方法。
【請求項２】
入力画像の輝度ヒストグラム・アレイを生成するために画素輝度値または画素値の範囲の数をカウントするための手段、
各画素輝度値に対して、第２のおよび第３のアレイに、画素クロミナンス値またはその範囲を加え、当該各クロミナンス・チャンネルに対して一つずつの、従属クロミナンス・ヒストグラム・アレイであって、２つの、入力画像の、従属クロミナンス・ヒストグラム・アレイを生成するための手段、
背景抑圧情報を獲得して、更に、黒点、白点、およびコントラスト・パラメータを含む強調パラメータを抽出し、これらのパラメータの値を用いて、前記入力画像に、背景除去および追加の画像強調を自動的に適用するために、前記第１、第２、および第３の輝度ヒストグラム・アレイ、および、従属の、クロミナンス・ヒストグラム・アレイを処理するための手段、
を備える、背景抑圧情報および画像強調情報を獲得するためのシステム。
【請求項３】
画素輝度値または画素値の範囲の数をカウントして、入力画像の輝度ヒストグラム・アレイを生成し、
各画素輝度値に対して、第２のおよび第３のアレイに、画素クロミナンス値またはその範囲を加えて、当該クロミナンス・チャンネルの各々に対して一つずつの従属のクロミナンス・ヒストグラム・アレイであって、２つの、前記入力画像の、従属のクロミナンス・ヒストグラム・アレイを生成し、そして、
第１、第２、および、第３の輝度ヒストグラム・アレイ、および、従属のクロミナンス・ヒストグラム・アレイを処理して、背景抑圧情報を獲得し、更に、黒点、白点、およびコントラスト・パラメータを含む強調パラメータを抽出し、これらのパラメータの値を用いて、前記入力画像のヒストグラム・アレイの解析に基づいて自動的に修正されたルックアップ・テーブル・コンテントを生成するために、前記入力画像に、背景除去および追加の画像強調を自動的に適用する、
ステップを含む、背景抑圧情報および、更に、画像強調情報を獲得するための手段。
【請求項４】
独立ルックアップ・テーブルのそれぞれが、調整された画素値を出力するための別個の色要素の上で作動する、当該独立ルックアップ・テーブルを通じて入力信号を渡し、
調整された画素値の輝度が、その２つの極値の一つにあるか否かを判断し、
もし調整された画素値が極値にあるならば、次に、ニュートラルの画素に対する調整された画素内の色の総量を決定し、
もし、色の総量が、所定の閾値より多いならば、輝度値を、その極値から離れるように変更し、
もし、色の総量が、所定の閾値より小さいならば、画素の色をゼロに設定し、そして、
もし輝度値が、極値でないならば、変更を行わない、
ステップを含む、背景抑圧および色調整のための方法。
【請求項５】
調整された画素値を出力するために、独立ルックアップ・テーブルのそれぞれが、別個の色要素上で作動する、当該独立ルックアップ・テーブルを通じて入力信号を渡すための手段、
調整された画素値の輝度が、その２つの極値の一つにあるか否かを判断するための手段、
もし調整された画素値が、極値にあるならば、次に、ニュートラル画素に対する、調整された画素内の色の総量を決定し、もし、色の総量が、所定の閾値より大きいならば、輝度値を、その極値から離れるようにに変更し、もし、色の総量が、所定の閾値より小さいならば、画素の色をゼロに設定し、もし、輝度値が、極値でないならば、変更を行わない手段、
を備える、背景抑圧および色調整のためのシステム。
【請求項６】
調整された画素値を出力するために、独立ルックアップ・テーブルの各々が、別個の色要素の上で作動する、当該独立ルックアップ・テーブルを通じて入力信号を渡し、
調整された画素値の輝度が、その２つの極値の一つにあるか否かを判断し、
もし、調整された画素値が極値にあるならば、ニュートラルの画素に対する、調整された画素内の色の総量を決定し、
もし、色の総量が、所定の閾値より大きいならば、輝度値を、その極値から離れるように変更し、
もし、色の総量が、所定の閾値より小さいならば、画素の色を、ゼロに設定し、
もし、輝度値が、極値でないならば、変更を行わず、入力画像の解析に基づいて自動的に前記ルックアップテーブルのコンテントが修正される、
ステップを含む、背景抑圧および色調整のための方法。
【請求項７】
複数のラスタ・コンテント内の既知のノードの関数値に基づいて、入力ノードの関数値を計算するための方法であって、複数の入力画像のいくつか或いはその全てがサブサンプルされ得る、当該複数の入力画像が、出力画像を形成するために、所定の規則に従ってマージされる、方法において、
(ａ)  既知のノード、および、対応する既知のノード関数値、のデータベースを形成するステップであって、当該既知のノードが、いかなる２つの隣接する既知のノードの間の距離も、２の整数乗の数であるように配置されるステップ、
(ｂ)  入力ノードが、第１のノード、および、当該第１のノードに隣接する第２のノードの間に配置され、第１のおよび第２のノードがそれぞれ、第１のノード関数値および第２のノード関数値を持つように、既知のノードのデータベースから、第１のノードを検索するステップ、
(ｃ)  前記入力ノードおよび前記第１のノードの間の差δを計算するステップ、
(ｄ)  δを、ｋ位置だけ右にシフトするステップ(ここでｋは、前記第１のノードおよび前記第２のノードの間の差の、２を底とする対数である)、および、
(ｅ)  第１のノード関数値を、シフトされたδと、第２のノード関数値と第１の関数値の間の差、の積と結合することによって、前記入力ノードの関数値を計算するステップ、
を含み、各入力画像のための別個の作動を含む方法。
【請求項８】
既知のノード、対応する既知のノード関数値、および、ノード間指数(exponents)、のリストを格納するデータベースであって、既知のノードが、いかなる２つの隣接する既知のノードの間の距離もが、２の整数乗の値であるように配置され、リストの境界に配置されない既知のノードの各々が、対応する既知のノードと、対応する隣接既知ノード、の間のそれぞれの距離の、２を底とする対数を表す２つのノード間指数と対応付けられる、当該データベース、
入力ノードが、第１のノードと、当該第１のノードに隣接する第２のノードの間に配置されるように、前記データベースから、第１のノードを検索し、前記第１のノードおよび前記第２のノードがそれぞれ、第１のノード関数値および第２のノード関数値を持つ、検索モジュール、
前記入力ノードと前記第１のノードの間の差δ、前記第２のノード関数値と前記第１のノード関数値の間の差ΔＶ、を計算する結合モジュール、
δを右にｋ位置(position)だけシフトするシフト・モジュール(ここでｋは、前記第２のノードに関して前記第１のノードと対応付けられたノード間指数である)、および、
前記シフトされたδに、前記差ΔＶ、を乗算して、積値を出力する乗算モジュール、
を備える、前記検索モジュールと通信状態にあるコンピュート・モジュールであって、前記結合モジュールが、前記第１のノード関数値と前記積値とを結合して、前記入力ノードの関数値を形成する、当該コンピュート・モジュール、
を備える、既知のノードの関数値に基づいて入力ノードの関数値を計算するためのシステム。
【請求項９】
既知のノードに対応するノード索引、および、対応する既知のノード関数値を含む第１のルックアップ・テーブルであって、既知のノードが、いかなる２つの隣接する既知のノードの間の距離もが、２の整数乗の数であるように配置される、当該第１のルックアップ・テーブル、および、
ノード索引、既知のノード、および、ノード間指数(exponents)を含む第２のルックアップ・テーブルであって、当該第２のルックアップ・テーブルの境界に配置されない既知のノードの各々が、対応する既知のノードと、対応する隣接既知ノードの間の、それぞれの距離の、２を底とする対数を表す２つのノード間指数と対応付けられる、当該第２のルックアップ・テーブル
を備える、対応する既知のノード関数値を有する既知のノードのデータベース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走査された文書の上のページ背景検知および中立性に関する。
【背景技術】
【０００２】
高解像度で走査された文書は、非常に大きな量の記憶空間を必要とする。更に、大きな画像データの量は、ネットワークの上を動き回るか、移動させるために、実質的により多くの時間と帯域を必要とする。生の走査済のＲＧＢフォーマットで記憶する替わりに、その容量を削減するために、データは一般的に、何らかの形式のデータ圧縮を受ける。そしてそれによって、それを記憶するための高コストを避ける。Lempel-Ziv(LZ)のような「ロスレス」圧縮法は、走査された(ノイジーな)画素データに対して、特に良く動作しない。ＪＰＥＧのような「損失のある(不可逆的)」方法は、連続トーン画素マップの上でかなり良く作動する一方、それらは、テキストおよびライン・アートを含むページの部分の上で特に良く作動しない。画像データ圧縮を最適化するために、圧縮されているデータのタイプを認識可能な技術が必要とされる。
【０００３】
異なったタイプのデータの圧縮のニーズを満足させるための一つのアプローチは、画像を記述するために、Mixed Raster Content(MRC)フォーマットを利用するエンコーダ・パイプラインを使用することであった。画像(カラーまたはグレイ・スケール情報と混ぜ合わされたテキストを有する複合画像)は、２つまたはそれ以上の平面(planes)(一般的に、上方および下方平面と呼ばれる)にセグメント化され、セレクタ平面は、各画素に対して、どの画像平面が、最終出力画像を再構築するために使用されるべき実際の画像データを含むかを指示するために生成される。このやり方で平面をセグメント化することによって、画像の圧縮を改善出来る。何故なら、データは、オリジナルの画像よりも、平面がより円滑に、より圧縮可能になるように整頓される(arranged)からである。セグメント化はまた、異なった平面への、異なった圧縮方法の適用を可能とする。よって、各平面内のデータのタイプに対する、殆どの圧縮技術が適用される。
【０００４】
画像コンテントに関する主要統計の収集に関して責任を負う、統計(状態)モジュールが望ましい。それは、入って来る画素データ・ストリームをモニターし、画素値およびそれらの色情報の分布を蓄積することになる。状態モジュールは、ＬａｂまたはＹＣＣのような、輝度−クロミナンス・色空間ドメインで作動することになる。この理由から、ＲＧＢからのスキャナ・データを、Ｌａｂ色空間に変換するスキャナ・カラー変換ユニットの後に、状態モジュールを配置することが望ましい。
【発明の開示】
【課題を解決するための手段】
【０００５】
ページ背景除去および、ページがグレイか又は色付きか否かを判断するための自動ニュートラル(neutral)検知のような種々の画像強調動作の適用の目的のための画像コンテントに関する主要統計を収集するための、統計モジュール(Statistics Module)(ＳＴＳ)が開示される。スキャナ・ノイズのいくらかを削除するために、統計モジュールは、Ｄｅ-Ｓｃｒｅｅｎモジュールからの滲んだ信号ＢＬＲを使用する。出力は、空間的３Ｄカラー・ヒストグラム・アレイである。
【発明を実施するための最良の形態】
【０００６】
走査された及び／又は印刷されたカラー文書を自動的に処理して、オリジナルの文書コンテントを正確に捕捉する、小さな、高度に圧縮されたファイルを生成するための新規のシステムが説明される。エンコーダまたはフォント・エンドとしても知られる本システムは、高圧縮および高画像品質を保証するために必要とされる全ての必要な処理要素を含む。出力ファイルは、新規に生まれてきたＭＲＣ(Mixed Raster Content)再製(現在、ＴＩＦＦとＰＤＦの双方、およびPost Scriptにも含まれる)のスタンダードに従って生成される。本システムの中核は、オリジナルのスクリーンを除去することによって文書を事前に調整(preconditions)する、ディ・スクリーナ(descreener)および、それに引き続く、入力されてくるデータを、(３つ或いは４つの)平面(planes)(背景、前景、セレクタ、および、任意のヒント平面(Hint planes))にセグメント化するセグメンタ(segmentor)から構成される。
【０００７】
本発明とともに使用されるエンコーダのブロック図たる、図１を参照する。ここで、エンコーダ・パイプラインは、左上のスキャナ入力ＳＲＣ200からＲＧＢデータを受け取る。スキャナ色変換(ＳＣＣ)モジュール202は、ＲＧＢからＹＣＣ色空間(これは、デ・スクリーニングおよびセグメンテーション化のためにより便利である)に、入力データを変換する。モジュールＳＣＣ202は、１ＤのＴＲＣルックアップ・テーブルおよびそれに続いて３×３マトリックス乗算ユニットを使用する。
【０００８】
スキャナ色変換202は、２つの別個のステップで実行される。第１に、スキャナから入力されるソース信号ＳＲＣ(通常ＲＧＢ色空間でのもの)が、中間線形ｘＹＣＣ色空間に変換される。このような関係において、ｘＹＣＣが線形である点を除いて、つまり、ｓＹＣＣのようにはガンマ関数が適用されない点を除いて、ｘＹＣＣは、標準ｓＹＣＣと類似する色空間を表す。第２のステップにおいて、圧縮の直前に、ｘＹＣＣ色空間は、ＩＣＣ-Ｌａｂに変換される（これは以下に更に詳細に説明される）。エンコーダ・パイプラインは、ＣＥＦ  ＭＲＣ色空間表現に対しての、以下の採り得る選択をサポートする。
【０００９】
１）走査された文書(走査コンフィギュレーション)のために、ＩＣＣ−Ｌａｂが用いられる。そして、
２）合成(ノイズ・フリーの)データ(ＰＤＬコンフィギュレーション)のために、ｘＹＣＣが用いられる。
【００１０】
色空間の限定された選択の理由は、色空間は、多くの制約：
（ａ）第１に最も優先して、それは、広い範囲の製品によって共通に理解される、標準の装置独立(device-independent)のフォーマットでなければならぬ；
（ｂ）ＰＤＦが、ＬＡＢに加えてＲＧＢのような追加の選択をサポートするのと対照的に、フロントエンド・エンコーダが送出しうるものであるＴＩＦＦ仕様が、現在Ｌａｂフォーマットだけをサポートし、現在ｓＹＣＣが追加されることが検討されている；
（ｃ）追加の圧縮のための人間の視覚システムの特性に影響力を与えるために、輝度−クロミナンス表現を持つ色空間を持つことが望ましい；そして、
（ｄ）色空間は、処理および操作のために便利でなければならない上に、ユーザに、色を操作及び／又は調整するための容易な方法を提供しなければならない；
を満足させねばならぬためである。
【００１１】
ＩＣＣ-Ｌａｂ色空間の仕様は、複数の利点：
(１)それは、殆ど全てのオペレーティング・システムおよびアプリケーションによってサポートされる標準色空間である；
(２)それは、装置独立である；
(３)それは、色データを、輝度とクロミナンス要素に分離する。これは、取り扱いと圧縮のために便利である。；そして、
(４)それは、人間の視覚システムに倣ってモデル化され、可視色空間内にあるどの一つのユニットのベクトル長もが、(経験的に測定されたときに)大体同じの色ウェイト(color weight)を持つように正規化された；
を持つ。
【００１２】
これらの理由から、エンコーダは、(他の色空間が使用され得るが)パイプラインに対してＩＣＣ−Ｌａｂの使用を採用した。フロント・エンド(エンコード)およびバック・エンド(デコード)パイプラインについて、内部色空間表現に関して以下のガイドラインが制定された：
１）走査構成(configuration)：注記されない限り、(ＣＥＦ  Ｌａｂを含む)内部ｘＹＣＣ表現は、クロマが、高速走査方向のみにおいて、２×のファクター(factor of 2x)によってサブサンプルされることを想定する。更なる複雑さおよびストレージ・リクワイアメント(storage requirement)のために、パイプラインは、低速走査方向において、クロマをサブサンプルしない(サブサンプルによれば、若干、圧縮が増加するが)。もし、ソース画像が、走査線に沿って奇数の数の画素を持つならば、画素の数を偶数にするために、最後の画像列が複製される。
２）ＰＤＬ構成：内部ＹＣＣは、正確でノイズ・フリーのＰＤＬデータを表すので、いずれの方向にも、色空間のサブサンプリングは実行されない。
【００１３】
パイプラインは内部的に、ＹＣｂＣｒまたはＬＡＢのような、輝度クロミナンス色空間の色情報を維持する。ＬＡＢ色空間要素名は、ＳＣＣに関連するが、出力および走査パスの殆どは、実際には、ＬＡＢの替わりにＹＣｂＣｒ色空間を使用することに注意して欲しい。
【００１４】
別の意味に注記されない限り、画像データのクロミナンス要素は、高速走査方向(ＸＣＳＳ)に、２のファクター(factor of 2)によってサブサンプルされることによって、Ｘクロマサブサンプリングと呼ばれる。色変換モジュールＳＣＣ202は、ＸＣＳＳサブサンプルされたデータを生成する、第１のモジュールである。サブサンプリング技術は、サブサンプリングの実行前に一緒に平均された２つの隣接画素からの(Ａ，Ｂ)データを用いる。データが再構築されるべき時に、２つの後続の画素に対して、平均された(Ａ，Ｂ)値が複製される。
【００１５】
走査色変換モジュール(Scan Color Conversion Module)ＳＣＣ202の詳細なブロック図が、図２に示される。走査色変換モジュール202の構成は、３つの１Ｄ  ＴＲＣテーブル302に連なる(followed by)３×３のマトリックス乗算ユニット304を含む。走査色変換モジュールＳＣＣ202は、入力として、スキャナまたはＰＤＬソースからのソースＲＧＢ信号200を取る。入力されてくるスキャナＲＧＢデータ200は、要素(component)当り、８または１０ビットの深さ(deep)で有り得る。スキャナデータは、束ねられる(packed)ことが、あまりあり得ないので、各ＲＧＢ要素は、２バイトを持つ。帯域幅に関しては、スキャナデータは、ＰＤＬデータと比較して読込みに、２倍多くの帯域を消費する。
【００１６】
走査色変換モジュールＳＣＣ202への入力は、完全な色の８ビットまたは１０ビットの束ねられないＲＧＢデータ200である。８ビット入力データの場合には、ソース信号は、ＲＧＢデータの３バイトを正確に満たす。しかし、１０ビット入力データの場合には、３つの１０ビットＲＧＢ量が、１０ビットのＲＧＢ画素当り４バイトを持つ、３２ビットのダブルワードに束ねられる。
【００１７】
走査色変換モジュールＳＣＣ202からの出力ＳＣＣ204は、２つの形式(forms)の一つを想定する。通常の走査またはＰＤＬ動作では、サブサンプルされた交互の(Y, Cb, Y, Cr)のストリームは、各ＹＣｒの組が、画素当り一つの１６ビット・ワード(２バイト)の状態で生成される。第２の形式は、特別の高品質ＰＤＬモードに対するものである。この場合には、クロマはサブサンプルされず、(Y, Cb, Cr)データは、画素当り３バイトを必要とする。いずれの場合でも、図２に示される２４ビット表記は、出力ＳＣＣ204は、完全な（full）カラーの信号であることを示す。束ね及び/又はサブサンプリングのために、示されたビットの数は、必ずしも、ビットの実際の数を表さないことに留意して欲しい。
【００１８】
１ＤのＴＲＣテーブル・ユニット302は、３つの独立の１Ｄのルックアップ・テーブル（不図示）を含む。各テーブルは、１０ビットから８ビットへのマッピングを持ち、それゆえ、それぞれ、最大１０２４の、１バイトのエントリを持つ。ＴＲＣ（Tone Reproduction Curve：トーン再製曲線）テーブルが生成され得、入力を任意に、出力にマップするために使用され得る。より有用なマッピングのいくつかには、ダイナミック・ストレッチ（dynamic stretch）、ガンマ曲線、および圧伸（companding）の適用が含まれる。更に、スキャナ・カラーまたは暗さ／明るさの調整、のようなユーザ制御を実施するために、ＴＲＣテーブルが利用される。
【００１９】
マトリックス乗算ユニット304は、以下の方程式によって３×３のマトリックス乗算を実行する。
【数１】
2005326904.tif 000003
ここで、入力ＲＧＢ値は、符号無しの８ビットで、マトリックス係数｛Ａｍｎ｝は、乗算されるべき１２ビットの符号付きの量である。そして、Ｍは、正規化ファクタで、Ｍ＝２＾ＳＣＣ＿Ｍａｔ＿Ｓｈｉｆｔである。マトリックス乗算は、最小として、少なくとも２０ビットの中間蓄積された精度（intermediate accumulated precision）を必要とする。
【００２０】
マトリックス乗算および右回りのシフトの後に、結果としての符号付きの（Ｙ，Ｃｂ，Ｃｒ）量は、０と２５５の間の全ての３値をクランプすることによって、通常の符号無しのYCbCrコーディングに変換される。一般のマトリックス変換において、入力データは、乗算前に、エンコードされた符号無しの量から、符号付きの量に調整される必要が有り得る、ことに留意して欲しい。例えば、ＹＣＣからＲＧＢへのマトリックス変換において、乗算前に、（０，−１２８，−１２８）が、（Ｙ，Ｃ，Ｃ）量に付加されねばならない。
【００２１】
図３は、高速走査方向ＸＣＳＳでの２×サブ・サンプリングの適用を示す。オペレーションは、２つの画素上で同時に実行される。スキャナ色変換が、入力ＲＧＢデータ200に適用された後に、ラスター走査上のシーケンスとして、各々の変換された画素に対して（Ｌ，Ａ，Ｂ）トリプレットが生成される。高速走査方向の、２×によるクロマのサブサンプリングは、後続の画素のクロマ値（Ａｎ，Ａn+1）および（Ｂｎ，Ｂn+1）の組を独立に平均化することによって実現される。
【００２２】
図３での最上部の帯310は、色変換ユニットから変換された画素の「ストリーム」を表す。そのパターンが異なった色を表すように充填された各画素は、それぞれ８ビットとして表現された（Ｌ，Ａ，Ｂ）値に対する出力値のトリプレットを含む。画素の間の境界は、サブサンプリングに対する後続の画素の組（paring）を一緒にしるす（mark）。
【００２３】
図３での底部の帯（strip）350は、クロマ・サブ・サンプリング後の出力画素の「ストリーム」を表す。「ストリーム」は、（Ｌ，Ａ）値および（Ｌ，Ｂ）値の一続きの交互の組から構成される。ここで、Ｌは、｛Ｌ」値のオリジナルのシーケンスに対応し、交互の（alternating）（Ａ，Ｂ）は、画素の組の平均化された量である。画素の組の「Ａ」値は常に、「Ｂ」値に先行する。オリジナルの（Ｌ，Ａ，Ｂ）トリプレットから、（Ｌ，Ａ，Ｌ，Ｂ）フォーマットへのマッピングは、図３の中央部分に示される。
【００２４】
内部サブ・サンプリング・スキームの主要な利点は、帯域および記憶メモリの３から２への削減である。内部（Ｌ，Ａ，Ｂ）データに対して８ビット量を想定すると、オリジナルのデータは、画素当り３バイトを必要とする一方、サブサンプルされた出力は、画素当り２バイトだけを使用する。更に、サブサンプリング法は、それが、大きな品質の損失（quality loss）無しにクロマチャンネル（Ａ，Ｂ）のサブサンプルを許容する点で、人間の視覚システムの特性に影響を与える（leverages）。低速走査方向でのクロマのサブサンプリングによっても更なるゲインが、得られ得るが、このオペレーションは、以前の画素のラインの記憶を必要とするため、実行のためにはよりコスト高である。それゆえ、内部ＬＡＢ表示に対して低速走査サブサンプリングを使用しないことが決定された。
【００２５】
同様に図４は、サブサンプルされたデータからの、オリジナルの（サブサンプルされない）画素の再構築の方法を示す。本方法の実行は、まっすぐ（straightforward）である。画素の組からの平均化された（Ａ，Ｂ）クロマ値は、複製されて、再構築された画素の各々とともに使用される。「Ｌ’」値は、変更されない。
【００２６】
再度図１を参照する。ここで、ＳＣＣ出力204は、スクリーン評価モジュール（Screen Estimate Module：ＳＥＭ）216およびデ・スクリーン・モジュール（ＤＳＣ）206に送られる。更に、エンコード・パイプラインは、印刷中に生成されるＰＤＬ画像のような合成（ノイズ・フリーの）入力画像を取り扱える。この、特別のＰＤＬモード236において、デ・スクリーン・ユニットは、バイパスされ、ＳＣＣ出力204は、ＰＤＬセグメント・モジュール（ＳＥＧ）236（これは、特別セグメンテーション・モードで作動する）に直接進まされる。
【００２７】
スクリーン評価モジュール（ＳＥＭ）216は、ハーフトーン・スクリーン周波数および強度（これらは後に、デ・スクリーン（ＤＳＣ）206およびセグメント（ＳＥＧ）234モジュールによって用いられる）を評価する。ＳＥＭモジュール216は、ＳＣＣ202モジュールでのＲＧＢからＹＣＣへの変換の後に得られた入力スキャナデータの輝度チャンネルＹ上で作動する。ＳＥＭ216モジュールは、異なった感度（例えば、最大、高感度、低感度）を持つ、一つあるいはそれ以上の独立のチャンネルを使用する。最も高感度のチャンネルは、周波数評価（frequency estimate）を駆動し、２つの他のより低感度のチャンネルは、スクリーン強度（screen magnitude）を生成するために結合される。スクリーン評価モジュール216は、２つの（一つの構成要素の）出力を提供する。それらは、スクリーン周波数評価Ｓｃｆ218と、スクリーン強度評価Ｓｃｍ220である。これらは、デ・スクリーン（ＤＳＣ）206およびセグメント（ＳＥＧ）234モジュールによって用いられる。スクリーン強度は、関心事である画素の近傍のローカル・エリアがハーフトーン・スクリーンであるという、確信レベル（confidence level）として解釈され得る。スクリーン評価モジュール216は、合成（ノイズフリーの）入力に対してバイパスされる。
【００２８】
デ・スクリーン（ＤＳＣ）206モジュールの目的は、走査された入力信号からハーフトーン・スクリーンを選択的に評価する一方、テキストまたはライン・アート・オブジェクト（line art object）のシャープなエッジ情報を維持または強調することである。デ・スクリーン・モジュール206は、走査色変換（ＳＣＣ）202モジュールによって生成された変換されたＹＣＣ画像上で作動する。このモジュールは、スクリーン評価モジュール216（ＳＥＭ）からの、評価されたスクリーン周波数Ｓｃｆ218および強度（magnitude）Ｓｃｍ220信号を使用する。デ・スクリーニングの方法は、動的に（dynamically）制御されたフィルタ・バンク（filter bank）に基づき、複数のフィルターを通された出力の中での可変の混合（blending）を提供する。本モジュールは、可変非シャープ・マスキングメカニズムを用いた、ポスト滲みシャプニング(post-blur sharpening）、の独立の連続的制御をも含み、出力における画素のニュートラリティ（neutrality）を調整する能力を提供する。デ・スクリーン・モジュール206は、デ・スクリーンされた（de-screened）出力信号ＤＳＣ222を生成するとともに、更に、本モジュールは、統計モジュール（ＳＴＳ）210によって用いられる、入力信号の滲んだバージョン（blurred version）ＢＬＲ208をも生成する。
【００２９】
スクリーン・モジュール（ＳＣＬ）224は、いずれかの次元に（dimension）、任意の総量だけ、入って来るデータをスケーリングする（scales）。スケーリングの方法は、２Ｄの２重線形補間（bi-linear interpolation）である。いかなる、（例えば削減のための）事前フィルタリングを実行するに際しても、モジュール224は、デ・スクリーン・モジュール206に依存する。エンコード・パイプラインは、スケール・モジュールＳＣＬ224の、２つの場合（instances）を用いる。一つの場合では、デ・スクリーナ出力ＤＳＣ206は、スケーリングされて、出力ＤＳＳ226を生成する。第２の場合では、スクリーン評価モジュール216からのＳｃｍ220信号はスケーリングされて、出力ＳＭＳ230を生成する。スケーリングされたデ・スクリーナ出力ＤＳＳ226は、全域強調モジュール（Gamut Enhance Module：ＧＭＥ）228によって強調される。結果としての、ＧＭＥ232出力およびＳＭＳ230は、セグメント・モジュール（ＳＥＧ）234に届けられる。そして、ＳＭＳ230がモノクロ（一つのコンポーネント）だけである一方、ＤＳＳ226は、フル・カラー（３−コンポーネント）信号であることに注意して欲しい。
【００３０】
図５は、スケール・モジュールの詳細なブロック図を示す。スケール・モジュール224は、一つあるいはそれ以上の入力カラー画像をスケーリングして、出力でスケーリングされた色画像を生成する責任を負う。各画像は、独立にスケーリングされる。スケール・モジュール224は、必要な事前フィルタリングの総量を提供するに際して、先行するモジュールに依存するので、スケーリングの方法は、事前フィルタリング無しの、２重線形（bi-linear）補間である。スケール・モジュール224は、高速および低速走査方向での異なる総量によって、ソース画像を独立にスケーリング出来る（アナモルフィックのスケーリング）。一般的に、帯域への考慮によって、各方向でのスケーリングは、１％増加（increments）程度において、４×削減（２５％）から４×拡大（４００％）の範囲に限定される。
【００３１】
フロントエンド画像パスにおいて、スケール・モジュール224の２つの場合が、独立に使用される。第１のスケール・モジュール402は、セグメンテーション化前に、デ・スクリーンされた色画像ＤＳＣ222をスケーリングするために用いられる。その結果、スケーリングされた色画像出力ＤＳＳ226が得られる。更に、第２のスケール・モジュール404が、スケーリングされたバージョンＳＭＳ230（これは、セグメンテーション・オペレーションのために必要とされる）を生成するために、モノクロのスクリーン強度（magnitude）信号ＳＣＭ220をスケーリングするために用いられる。スケール・モジュール402、404の双方が、それぞれ、同じ総量のスケーリングを、それらの対応するソース画像に加える（apply）ことに留意して欲しい。
【００３２】
フロントエンド・パイプラインにおいて、削減（reduction）のために、２つのスケーリング・ユニットが主に用いられることが期待される。その理由は、前景カラーおよび背景データをスケーリング・ダウンすることによって、ＣＥＦのサイズが最小化されるためである。同様に、拡大の場合には、背景端部（back-end）においてデータを拡大することによって、圧縮されたＣＥＦサイズを再度最小化することは、道理に適ったことになろう。それゆえ、何等かのフロント・エンドスケーリング・ユニットが実際に、拡大のために使用される、ことは期待されない。しかし、画像をフロントエンドで拡大することが望まれる場合に、（例えば、走査してエクスポートすることに対して）いくつかの状況が存在し得る。もしそれが必要であれば、その目的のために、２つのスケーリング・モジュールもまた、利用され得る。
【００３３】
第１のスケール・モジュール402への入力は、クロマ（Ａ，Ｂ）信号が一般的に、（輝度チャンネルに対して）高速走査方向においてのみ、２×のファクターによってサブサンプルされた状態での、フル・カラー（Ｌ，Ａ，Ｂ）ソース信号ＤＳＣ222である。第１のスケール・モジュールＤＳＳ226の出力は、入力ソース信号ＤＳＣ222の、（より小さく、またはより大きく）スケーリングされたバージョンである。出力信号のフォーマットもまた、クロマ（Ａ，Ｂ）が、高速走査方向においてのみ２×のファクターでサブサンプルされた、フル・カラー（Ｌ，Ａ，Ｂ）信号であるという点で、出力信号のフォーマットは、入力に類似する。
【００３４】
第２のスケール・モジュール404インスタンス（instance）は、入力と出力信号ＳＣＭ220およびＳＭＳ230がモノクロ（Ｌ*チャンネルのみ）である点を除いて、動作上、第１のスケール・モジュール402に類似する。それゆえ、スケール・モジュール・インスタンスＳＭＳ230の記述が、クロマ部分が除外された、スケール・モジュール・インスタンスＤＳＳ226の輝度部分から引き続く（follow）ことになる。
【００３５】
高速および低速走査方向でのスケーリングの総量は、図６に示されるように、固定整数410、およびフラクション表記（fraction notation）412を用いて表現される。定数SclSrc_Sft412は、フラクション部分（現在１３ビットに設定されている）に割り当てられたビットの数を規定する。１６ビット表現を用いて、要求される４×の削減範囲をカバーするために、これは、整数部分410に対して、少なくとも３ビットを与える。更に、１３ビット・フラクションは、トータルの蓄積されたポジショニング・エラーが、レターサイズのページの幅に亘って約１画素より小さいことを保証する。
【００３６】
上述の表現を用いて、低速および高速走査スケーリングの総量はそれぞれ、１６ビットのレジスタScale_XおよびScale_Yを用いて、事前に規定される（そして、ページに亘って固定される）。各方向に、同じ量だけ入力画像をスケーリングするために、Scale_XおよびScale_Yの双方が、同じ適切な数で充填（loaded）されねばならないことに留意して欲しい。図６は、有効なScale_XおよびScale_Y値に対する複数の例、420、430および440を含む。
【００３７】
アルゴリズムの初期化フェーズ中に、図７のテーブル450に示されるように、１６ビット変数が初期化される。これらの変数は、スケール・モジュールのオペレーションを通じて、使用するために便利である。別異に注記されない限り、全ての変数は、１６ビット・ワードを使用することに留意して欲しい。変数のいくつかは、図６に示されるように、固定整数／フラクション注記（fixed integer/fraction notation）を用いる。
【００３８】
スケール・モジュール224のオペレーションが、図８に示される。（図８の黒三角506で示されるように、）第１に、次の出力画素の位置を計算するために、（Ｘ，Ｙ）ソース・ステップ・ファクターStpSrc_XおよびStpSrc_Yが用いられる。この位置は次に、ターゲット目標画素506を取り囲む、４つの最も近いソース画素502を識別する（locate）ために用いられる。２Ｄの二重線形補間アルゴリズムが次に、４つの隣接した値に基づいて、目標画素508の値を計算（補間）するために用いられる。この工程は、一般的に、４つの新規のソース画素を用いて、全ての目標画素が出力されるまで、各目標画素について反復される。
【００３９】
５０％削減または拡大より大きい場合には、時々、２つまたは４つの目標画素は、同じ４つのソース画素が１回以上使用されるように、同じ影付きエリア内に配置され（located）得ることに留意して欲しい。
【００４０】
各目標画素の位置は、２つの３２ビット・レジスタ（yPosおよびxPos）内に維持される。各レジスタは、１９ビットの整数部分と１３ビットの（SclSrc_Sft）フラクション部分を持つ。レジスタ値は、原点がページの左上隅にあるような、ソース画素ユニット内にある。yPosとxPosの整数部分は、図８および９の影付きエリアの左上隅における、ソース画素604の行と列インデックスである。yPosとxPosのフラクション部分は、目標画素の、左上隅の参照画素からの下および右へのオフセットを表す。これらのフラクションは、補間重み（interpolation weight）として用いられる。
【００４１】
各目標画素に対して、影付きエリアに亘っての２Ｄの２重線形補間が、３つの１Ｄ線形補間ステップのシーケンスを用いて実行される。一般性の損失無しに、垂直（低速走査）補間が最初に起こることを想定する。３つの補間ステップは次に、２つの垂直（低速走査）の１Ｄのステップ、および後続の一つの１Ｄの水平（高速走査）ステップ、から構成されることになる。図９を参照する。ここで、第１の垂直ステップにおいて、２つの左画素604は、垂直に補間され、目標ラインに沿った値を計算する。第２のステップにおいて、右の画素の組606は、垂直に補間され、目標ラインに沿って後続の値を計算する。第３および最終のステップにおいて、２つの前の結果608が次に、水平に補間され、目標画素自身での値を計算する。３つの１Ｄの補間ステップの詳細は、更に以下に説明される。
【００４２】
スケーリング・オペレーションは、ソース画像の左上の画素（これは、現在のソース画像位置レジスタ（xPos, yPos）が（0，0）に初期化された状態で、スケーリングの原点として参照される）から開始する。
【００４３】
ここを開始点として、出力画素は、４つの隣接ソース画素を用いて、各ステップにおいて生成される。Ｘでのステッッピング（stepping）は、StpSrc_XをxPosに追加することによって実現される。Ｙでのステッピングは、yPosにStepSrc_Yを追加することによって実現される。ラスタ走査順序（order）に対して、yPosが増加された時に、xPosは、０にリセットされる。スケーリング・ファクターおよびページ上での位置に応じて、補間エリアを取り囲む４つのソース画素は、以前のステップとは完全に異なり得るか、または、完全に同じであり得る。
【００４４】
各レジスタの整数ポートは、SclSrc_Sftオペレーションの右シフトとともに抽出される。各レジスタのフラクション部分は、（（1＜＜SclSrc_Sft）−１）オペレーションのマスクとともに抽出される。フルの１３ビット・フラクションを含む、大きなページ・ディメンションを十分に実現するために、（以下に説明される）yPosとxPosの双方が、３２ビットのダブル・ワードである必要があることに留意して欲しい。図９は、ソース・グリッド（その上で補間が行われる）の上に（図８の影付きエリア）の２Ｄの矩形を形成する４つのソース画素を示す。
【００４５】
図９に示されるように、２Ｄの２重線形の補間自身は、３つの１Ｄの線形補間ステップから構成される。このステップにおいて、左画素の組は、垂直フラクションを用いて、垂直方向で補間される。この計算は、以下の式を用いる。
Left=pixTL+｛[(pixBL-pixTL)*fraction_Y]>>StpSrc_Sft｝; (2)
ここで、(pixBL-pixTL)はそれぞれ、ベースおよび後続のソース・ライン上での、最左上および最左下の画素である。同様に第２のステップにおいて、右の画素の組が、以下の式に従って、垂直フラクションを用いて、垂直方向で、次に補間される。
Right=pixTR+｛[(pixBR-pixTR)*fraction_Y]>>StpSrc_Sft｝; (3)
ここで、(pixBR-pixTR)はそれぞれ、ベースおよび後続のソース・ラインの上の、最右上および最右下の画素である。式(２）および(３)で、出力ラインに沿った、補間された左および右の値を計算した後に、２つの結果は、高速走査方向で補間され、最終結果が生成され得る。第3の補間フェーズは、以下の式による。
Value=Left+｛[(Right-Left)*fraction_X]>>StpSrc_Sft｝; (4)
【００４６】
輝度チャンネルの場合には、式(４)の結果は、出力に直接送られる最終結果である。輝度値は、各目標画素に対して出力される。
L_out=Value; (5)
【００４７】
論理的には、クロマ・コンポーネントは、ただ、Ｌとして計算され、後に、各出力の組が平均され、Ｘクロマ・サブ・サンプルされた形式に戻る。
【００４８】
クロマ画素計算は、クロマ・コンポーネントが、高速走査方向において２×のファクターによってサブサンプルされた、という事実に影響を与える(leveraging)ことによって削減され得る。クロマＸ補間が必要とされないこととなる可能性は５０／５０である。このことを利用するために、ｘ補間は、最初に為される必要がある。
【００４９】
再度図１に戻る。ここで、全域強調モジュール(ＧＭＥ)232は、入力画像のカラー・コンポーネントの各々に、３つの独立のトーン再製曲線を適用する。この実行は、３つの独立で完全にプログラマブルの１Ｄのルックアップ・テーブルを介して為される。全域強調モジュール232への入力は、スケーリングされ、デ・スクリーンされた、ソース画像のバージョン、を表す、スケーリング・モジュール(ＳＣＬ)224からの出力ＤＳＳ226である。出力は、全域マッピング(gamut-mapped)された信号ＧＭＥ232である。
【００５０】
全域強調モジュールＧＭＥ228のブロック図が、図１０に示される。入力信号ＤＳＳ226は、３つの独立の８ビットの１Ｄのルックアップ・テーブル(このそれぞれは、別個の色成分(color components)で作動する)を通過させられる。次のブロック290は、各画素の色成分のニュートラライジング(neutralizing)／維持、のオプションを持つ。各画素の輝度値が０または２５５と等しい、当該各画素の色距離(color distance)が、最初に計算される。もし画素の色距離値が、所定の閾値総量(threshold amount)より大きいならば、その輝度値は、２５５より小さいプリセットされた値(例示の目的のみでいえば、例えば２５４)に設定される。もし画素の色距離値が、所定の閾値総量(threshold amount)以下ならば、画素の色成分は、ニュートラルの値に設定される(a=b=128)。これらの調整の目的は、非常に色が強い画素は、純粋な白ではあり得ないこと、および、白画素はニュートラル（クロマ無し）でなければならないことを保証することである。
【００５１】
エンコーダ・パイプライン全域強調モジュールＧＭＥ228は、入力として、スケーリング・モジュールＳＣＬ224からの、フル・カラーの、デ・スクリーンされ、スケーリングされた、信号ＤＳＳ226を取り、フル・カラーの全域強調された信号ＧＭＥ232を生成する。入力信号ＳＣＬと出力信号ＧＭＥの双方は、一般的に、高速走査方向のみに、２×のファクターでサブサンプルされたフル・カラーのＬａｂ信号である。(ａ，ｂ)クロマ・チャンエルの束ね(packing)およびサブ・サンプリングのために、ＳＣＬまたはＧＭＥの下に示されるビット数(２４)は、必ずしも、実際のビット数を表さないことに留意して欲しい。実際のＬａｂデータは、画素当る１６ビットで、交互の(L,a,L,b)の画素の組として束ねられる
【００５２】
再度図１を参照する。ここで、セグメント・モジュール234の目的は、入って来る画像を、３つのＭＲＣ層、つまり、前景240、セレクタ248、および、背景238平面、にセグメント化することである。合成(ノイズ・フリーの)画像のために、別個のセグメント化のモードもまた、提供される。モジュール234は、全域強調モジュール228からの全域強調された色画像ＧＭＥ232の上で作動する。このモジュールは、スクリーン評価モジュール(ＳＥＭ)216からの、スクリーン強度評価された(magnitude estimated)信号ＳＣＭ220をも使用する。ＳＥＧモジュール234は、前景および背景平面に対応する、２つのフルカラーの画像ＦＧＤ240およびＢＧＤ238、および、セレクタ平面のための一つのバイナリの出力ＳＥＬ248画像を出力する。更に、スクリーン評価モジュール234は、合成(ノイズ・フリーの)画像の特別の場合に対して、もし利用可能であれば、入力して来る、ＰＤＬヒント（hints）250を維持出来る。入力してくるＲｈｔヒント(hints)260は、ＣＥＦヒント(hints)平面Ｈｎｔにマッピングされる。
【００５３】
ルックアップ・テーブル(ＬＵＴ)モジュール242は、圧縮前に、カラーの前景および背景データを、ＹＣＣから、装置独立(device-independent)のＬａｂ色空間に変換する。変換の方法は、変化する２のべき乗の節点スペーシングを持つ、３Ｄの四面体の補間を使用している。エンコード・パイプラインは、２つの別個の、ＬＵＴモジュール242のインスタンス(instances)を用いる。一つの場合では、セグメント・モジュール(ＳＥＧ)234によって生成された前景入力ＦＧＤ240は、ＹＣＣから、Ｌａｂに変換される。第２の場合では、セグメント・モジュール234からの背景入力ＢＧＤ238、ＹＣＣからＬａｂに変換される。第３のＬＵＴインスタンスもまた、デコード・パイプライン(不図示)で使用されて、Ｌａｂからのマージされたデータを、装置ＣＭＹＫに変換する(３Ｄ→４Ｄ変換)。
【００５４】
より詳細には、ＬＵＴカラー・ルックアップ・テーブル・モジュール242は、内部ＹＣｂＣｒ色空間から、最終ＣＥＦＬａｂ表現に変換する。この変換は、３Ｄのルックアップ・テーブルを用いて実現される。しかし、それは、セグメンテーションの後に適用され、データは既に、３つのＭＲＣ平面に分離されているので、各色平面は、独立に変換されねばならない。バイナリのセレクタ平面は全く、色情報を運ばないので、変換を必要としない。しかし、前景および背景平面は、独立に、変換されなければならない。変換されるべき２つの平面が存在するが、それらは一般的に、オリジナルの走査に対して各方向で、少なくとも２×によってサブサンプルされるので、処理の総量は、依然として、分割する(splitting)前に、オリジナルの走査を変換するために必要とされるであろうものより少ない。
【００５５】
カラー・ルックアップ・テーブル・モジュールＬＵＴ242は、入力として、ソースＹＣｂＣｒ色信号238を取り(takes)、与えられた３ＤのＬＵＴを用いて、それを、ＬＡＢに変換する。カラー・ルックアップ・テーブル・モジュールの２つの場合が用いられる。一つは、ソース前景ＳＥＧ＿Ｆｇｄを変換して、Ｆｇｄを生成することであり、第２は、背景ＳＥＧ＿Ｂｇｄを、Ｂｇｄに変換することである。双方の場合で、同じＬＵＴテーブルが使用されることに留意して欲しい。
【００５６】
３ＤのＬＵＴは、可変(２のべき乗)のスペーシングで、最大１７の格子状の節点(cubed nodes)をサポートする。可変節点スペーシングの特徴についての更なる情報は、本出願で、後に説明される。テーブルの節点は、ダウンロード可能である。３Ｄのテーブルだけが、いかなる与えられた時刻においても常駐する。前景または背景のいずれに対しても、同じテーブル構造が使用される。
【００５７】
ＬＵＴモジュール242は、単純で効率的な、一つあるいはそれ以上の次元での、内挿または外挿の作動の実施の方法を記述する。現在の技術では、節点値のためのテーブルを用いた後に内挿段階があり、一般的に節点が、均一にスペーシングされることを必要とする。この出願では、ルックアップ・テーブルでの選択された節点位置が、任意の２のべき乗の節点スペーシングでプログラム可能であることを可能とする、新規の方法が説明される。この新規の方法は、現存する技術についての非常に少ない追加の計算しか必要としない。そして、それは、同じ数の節点に対する、非常に優れた内挿補間品質を提供出来る。本新規の方法は、シンプルで、フレキシブルで、ハードウェア・アーキテクチャに関わらず不変である。本新規の方法は、ソフトウェアで実施されており、デモンストレートされ、(従来の固定線形節点スペーシング・アーキテクチャに較べて）色空間変換の応用に対するカラー忠実度における大きな改善を示した。ＳＣＣ(第２の色空間変換)の応用において、実験は、提案された方法が、従来の方法に対して、殆ど２倍の(factor of almost two)、色補間の正確さを改善することを示した(メートル法によるカラー・エラー(color error metric)ΔＥによる測定)。
【００５８】
多次元補間に対する必要性が、信号及び画像処理の多くの分野で生じているが、そのような分野では、［多次元］空間内の点の値を、一組の他の点（ノード）の既知の値に基づいて求めることが必要である。多くのアプリケーションでは、ノードは、便宜上、固定された、均等に離間したグリッド位置で測定される。非線形空間の補間精度が、［同数の］ノードが、必ずしも規則的なグリッド位置上に制限されているわけではない任意の位置に対して最適化される場合に著しく上がることは周知である。しかしながら、任意のノード位置を許容するには計算上の複雑性が増すことから、このようなスキームを実際のアプリケーションで使用することは、通常は禁止されている。
【００５９】
従って、ノード間の整数［非正規化］距離が２の二進乗数となるように制限することにより、任意のノード位置に付帯する付加的な複雑性を低減する１つの効果的な方法が提案されている。この新しい方法は、単純で実施が容易であり、必要なのは小さなルックアップ・テーブルを１つ追加するだけである。
【００６０】
この新しい方法は、とりわけ色空間変換に対する多次元補間の領域に適用可能である。現代のデジタル情報の時代では、カラー文書は、通常、ＲＧＢで走査されＣＭＹＫで印刷される。従って、データは、印刷処理の一環として一方の色空間から他方の色空間に（即ち、ＲＧＢからＣＭＹＫに）変換せねばならない。大抵のＣＭＹＫ印刷処置はマーキング装置の属性並びに複雑な多色トナー又はインクの相互作用により非線形性が高いことは、広く知られている。本実施形態、及び別の事例においても、ＹＣＣデータをＬａｂ色空間に変換する際にはＬＵＴモジュール２４２が使用される。しかしながら、ここで、この基本的な技術は、他の多くの信号及び画像処理分野にも共通して適用可能であり、色空間変換の具体的な事例は、ここでは本方法を説明することを目的として使用しているに過ぎない点を強調しておきたい。
【００６１】
色空間変換の問題を取り扱う１つの方法は、所与の入力ＲＧＢ又はＹＣＣ値を最良に再生するために、特定のマーキング・エンジンに適用すべき好適なＣＭＹＫ又はＬａｂ値をテーブル内に記憶することである。テーブルのコンテントは、試行錯誤的実験により確定されることになる。そのようなテーブルを構築できれば、ＣＭＹＫ又はＬａｂ値をリアルタイムで探索することは簡単なことになる。しかしながら、このようなテーブルは、可能なＲＧＢ配色が何百万と存在するのでテーブル全体が大きくなりすぎることから、殆ど実現性がない。例えば、ＲＧＢおよびＣＭＹＫの表現は大抵は８ビット／色であるが、これではテーブル毎に２24バイトを保有するテーブルが４つ必要になり（ＣＭＹＫ各色につき１テーブル）、この数は、１０ビットのＲＧＢ入力に対して２30にまで増加する。
【００６２】
サイズの問題を解決するための一般的なアプローチは、ノードに対しては粗い３−Ｄテーブルを使用し、その後に細かい３−Ｄ補間段階を続けるというものである。ノードの数（品質により異なるが、通常、９、１７、又は３３）は、可能な色数よりもずっと少ないので、テーブルのサイズは管理可能な大きさに留まる。テーブルは、現下のＲＧＢ又はＹＣＣ点に最も近いノードに対して所望のＣＭＹＫ又はＬａｂ値を探索するために使用される。次いで、空間は隣接するノード間では区分的線形に近似しているとの仮定の下で、補間段階を用いて、最も近いノードのＣＭＹＫ又はＬａｂ値に基づき、（推定される）出力ＣＭＹＫ又はＬａｂ値を計算する。近似の程度は、無論、ノードの個数、その相対位置、及び色変換の非線形性により決まる。ＹＣＣ対Ｌａｂの事例も同様のやり方に従う。わかり易くするため、以下ではＲＧＢ対ＣＭＹＫの事例だけについて論じる。
【００６３】
なお、文献では、数種類の補間スキームが提案されている。自然な選択は、周知の多線形補間スキームであるが、より効果的に実施される多面体補間スキームのような他の技術もある。違いを説明するために、上記の３−Ｄの場合を考察する。トリ−リニアの場合、先ず最も近いノードを８個識別し（３Ｄ空間内にある対象の所与の点を包含する立方体の角部とするのが最も分かり易い）、それらのＣＭＹＫ値をテーブルで探索する。ＣＭＹＫ値を、線形に（直接又は対のシーケンスの何れかで）補間して、所与の点から各ノードまでの比距離に基づいて推定値を求める。代わりに、四面体補間スキームでは、立方体は更に多数の四面体（非ゼロ体積を持つ最小ノード数オブジェクト）に分割される。第1の段階は、上記四面体のうちのどの四面体に所与の点が存在するかを求めることである。特定の四面体の角部に対応する４つのノードのＣＭＹＫ値しか、テーブルで探索する必要はない（トリーリニアの場合に対して、テーブル探索の帯幅／個数は半分となる）。最終的に、ＣＭＹＫ値は（直接又は対のシーケンスの何れかで）線形に補間され、所与の点から四面体各角部までの比距離に基づく推定値が求められる。なお、最終的な補間フェーズを実施するのに必要な乗算器／加算器の個数も、トリ−リニアの場合に必要な個数よりずっと少なくなる。従って、四面体方法は遙かに効率的に実施することができる。なお、本書で提示する方法は、トリ−リニア又は四面体を含め多くのタイプの補間スキームに適用可能であるという点が重要である。
【００６４】
何次元であっても、区分的線形近似による多次元補間段階は、カスケードシーケンスの何回かの１次元補間に減少させることができる。例えば、トリ−リニアの場合、補間は、図１２に示すように、先ず次元の１つ702に沿って対で補間を進める（４回の１−Ｄ線形補間を要する）ことができる。次いで、求められた４つの値を対で、他の１つの次元706に使用する（更に２回の１−Ｄ線形補間を要する）。最後に、求められた２つの値を、第３の次元に沿って補間（更に1回１−Ｄ補間）して、最終的な結果を出す。
【００６５】
従って、トリ−リニア補間は、合計７回の１−Ｄ線形補間を必要とするが、これを３段階シーケンスで実施している。多次元補間がコ−リニアである限り、この結果は真であり、最初に使用する次元の順序は結果に影響しない。
【００６６】
上記の一般的方法（テーブル＋補間）は、色空間非線形性は複雑すぎる場合がしばしばで、単純なモデルで容易に記述できないため、実際には、広く実用されている。従来のアプローチは、テーブルのノードを、固定された均一のグリッド上で測定することに限定したものであった。ノード間の距離が等しいと仮定すれば、実施は単純化するが、実際に正当化するのは難しい。視覚的により重要な空間の領域に、又は非線形性の度合いが高い領域に、より多くのノードを割り付けることが望ましく、そうしなければ区分的線形近似が失敗することは明らかである。固定ノードスキームの１つの利点は、ベースノードまでの比距離を計算するのが非常に容易であり、立方体又は特定の四面体の体積が空間のどこにおいても一定であるということである。
【００６７】
他方、従来のスキームでは、ノードを全く任意の様式で位置決めできるようにすれば、複雑性が著しく増す。ノード間の距離が変化することによって複雑性が付け加わり、立方体又は四面体のサイズが異なることを考慮に入れるために、多次元正規化オペレーション（即ち、除算）が必要となる。このような除算は実施に費用の掛かることは周知である。
【００６８】
ノード間の整数（正規化されていない）距離は２の二進乗数であるという条件の下で、ノード間の距離を任意にできるようにすることが提案されている。この思想の動機は、２の整数乗数による除算は単純な桁操作として実施できるということにある。２の二進乗数システムは、小さな段階と大きな段階を同時に記述する場合に便利な対数スケールであることから、この付加的制約はあまり拘束的ではない。更に、この方法は、所望の再生忠実度に合致するようにノード位置を選定するに際し完全な柔軟性を維持している。つまり、均一グリッドの場合に比較して、通常、必要なノードの数は少ない。加えて、実施が簡単なので、付帯費用（例えば、ＡＳＩＣ設計のシリコンゲート、及び計算の複雑性）を大幅に節約できる。
【００６９】
上記ルックアップ・テーブルは、入力ドメインから出力ドメインへの非線形マッピングを含んでいる。色空間変換の例では、入力ドメインは（アプリケーションによっては、ＹＣｂＣｒ又はＣＩＥＬＡＢのようなデバイス非依存性の強い中間空間を使用する方が望ましいこともあるが）ＲＧＢであり、出力ドメインはデバイス（マーキング・エンジン）ＣＭＹＫである。非線形マッピング関数は、一般的に知られていないか、又は直裁的なやり方では実施が複雑すぎるので、ＬＵＴのコンテントは、通常はキャリブレーション処理の一部として実験により求められる。一般的には、ＬＵＴが与えられると、基本的１−Ｄ補間段階は、（図１３）のように表現することができる。
Ｖ0＝Ｖ[ｉ]＋δi／Δi・(Ｖ[ｉ＋１]−Ｖ[ｉ])    (６)
δi＝ｘ−node[i]      (７)
Δi−node[i+1]−node[i]      (８)
ここに、ｘは入力点、Ｖ[i+1]及びＶ[i]は、それぞれノードnode[i+1]とnode[i]における値である。ｉおよびｉ＋１はノード・インデクスである。δiは、点ｘからベースノードｉまでの距離であり、Δｉはノードｉとｉ＋１の間の距離であり、Ｖ0は、入力点ｘにおける補間値である。
【００７０】
数式（６）の補間は以下の３つの主要な演算を含んでいる。
１）ベースノード検索：この演算は、[node[i]＜ｘ＜node[i+1]となるように、ベースノードnode[i]を検索するための比較論理を含んでいる。
２）分数計算：この演算は、数式（６）の正規化された距離分数δ／Δiを計算するが、ハードウェアで実施するためには費用のかかる全体除算を必要とする。
３）補間：数式（６）の最終的な補間値Ｖ0を計算するのに、乗算1回、加算（減算）２回が必要である。
【００７１】
従来の単純な固定線形ノード・スペーシングでは、何れの２つのノード間のスペースも一定であり、即ち、
2005326904.tif 000004
である。一定のスペーシングとすれば、因数δi／Δは既知なので、正規化因数として予め計算しておくことができる。しかしながら、等しいスペーシングという制約は、上に述べたように、高品質を達成するために色空間内のノードの分布を変更するための柔軟性を提供することができない。他方、完全プログラム可能ノード・スペーシングは、最大限の柔軟性を維持するが、上記のように、任意除算を計算する必要があるため、実施には費用がかかり複雑である。
先の技術の柔軟性（品質）と単純性（費用）に取り組むために、本書は、下記２の乗数ノード・スペーシングを使ったプログラム可能ノード・アーキテクチャを提案している。
【数２】
2005326904.tif 000005
ここで、Ｎは自然数のセットであり、ｋは各ノード対に対する異なる整数定数である。２の乗数を用いると、一般的な除算は、桁操作で行うことができ、実施が簡単である。つまり、
δi／Δi＝δi＞＞ｋi      (１０)
【００７２】
図１４は、カラー・ルックアップ・テーブルの処理の実施形態730のフローチャートである。既知ノードのデータベースが形成される。既知ノードは、何れの隣接する既知ノード間の距離も２の整数乗数となるように選択される（ブロック732）。所与の入力ノードｘについて、入力ノードｘがノード１と隣接するノード２の間になるようにベースノードのノード１を求めてデータベースが検索される（ブロック734）。ノード２とノード１との差は２kである。ノード１とノード２の関数値は、それぞれＶ（ノード１）とＶ（ノード２）である（データベースに記憶されている）。ノード１は、補間が関数値Ｖ（ノード１）から始まることになるのでベースノードと呼ばれる。入力ノードｘとノード１との差δが計算される（ブロック735）。値δは、論理的にｋ位置だけ右方向にシフトされるが、ｋは、ベースノードのノード１と第２ノードのノード２の間の距離の２を底とする対数である。（ブロック736）。関数値Ｖ(x)は、シフトされたδに、Ｖ（ノード２）とＶ（ノード１）の間の差を掛けることにより得られた積と、Ｖ（ノード１）を組み合わせることにより計算される（ブロック738）。
【００７３】
ベースノードの選択は、一般的には、入力色空間の起点で決まる。入力色空間が起点０を有するアプリケーション（例えば、Ｒ、Ｇ、Ｂの範囲が０から２５５までのＲＧＢ色空間）では、ベースノードは、通常、入力ノードよりも小さい正の値になるように選択される。この場合、Ｖ（ノード２）−Ｖ（ノード１）は正の値である。入力色空間の起点が０ではなく中間範囲のどこかであるアプリケーション（例えば、（ａ，ｂ）又は(ｃb,ｃr)の範囲が−１２８から＋１２７までのＣＩＥ−Ｌａｂ空間又はＹＣｂＣｒ色空間）（例えば、図１８参照）では、ベースノードは、通常、入力ノードｘが起点よりも大きい場合にはその入力ノードｘより小さい正の値になるように、入力ノードｘが起点よりも小さい場合にはその入力ノードｘより大きい正の値になるように選択される。この場合、Ｖ（ノード２）−Ｖ（ノード１）は、起点よりも大きい入力ノードｘに対しては正であり、起点よりも小さい入力ノードｘに対しては負となる。
【００７４】
殆どのアプリケーションにおいて、ノード間指数とも呼ばれるｋ値は、予め計算してデータベースに記憶されている。アプリケーションによっては、必要に応じｋ値をリアルタイムで計算するものもある。
【００７５】
以下の例は、ＲＧＢ対ＣＭＹＫ色空間変換アプリケーションで、データベースがどのように形成されるかを示している。先ず、任意のＲＢＧノードとそれに対応する好適なＣＭＹＫ値とのテーブルが生成される。好適なＣＭＹＫ値は、特定のマーキング・エンジンに適用した場合に、対応するＲＧＢ値を最適に再生する値である。テーブルのコンテントは、マーキング・エンジンの出力上の或る点の実際の色値を測定する高精度の器具を使用して、試行錯誤的実験法で求めることができる。テーブルが生成された後、テーブルのコンテントに（上記）四面体法などの補間スキームを使用して、選択されたＲＢＧ点のセットに対するＣＭＹＫ値を得る。ＲＧＢ点は、何れの２つの隣接する選択されたＲＧＢ点の間のスペーシングも、２の整数乗数になるように選択される。次いで、これら選択されたＲＧＢノードとそれに対応するＣＭＹＫ値だけを使って、データベースが形成される。
【００７６】
図１５は、カラー・ルックアップ・テーブル用のシステムの実施形態740のブロック図である。システム740は、データベース742と、検索モジュール744と、計算モジュール750を備えている。計算モジュール750は、結合モジュール752と、シフト・モジュール754と、乗算モジュール756を備えている。
【００７７】
データベース742は、既知ノードと、対応する既知ノードの関数値と、ノード間指数のリストを記憶している。既知ノードは、何れの２つの隣接する既知ノードの間の距離も２の整数乗数になるように配置されている。リストの境界に位置していない既知ノードは、それぞれ、対応する既知ノードとそれぞれの隣する既知ノードの間のそれぞれの距離の、２を底とする対数を表す２つのノード間指数と関係付けられている。
【００７８】
検索モジュール744は、入力ノードがベースノードとベースノードに隣接する第２ノードとの間に位置するようなベースノードを求めて、データベースを検索する。検索方向は、入力ノードの上方であれ下方であれ、起点の位置に基づいてプログラム可能である。
【００７９】
結合モジュール752は、入力ノードとベースノードの間の差δと、第２ノードの関数値とベースノードの関数値の間の差ΔＶを計算する。シフト・モジュール754は、δをｋ位置だけ右方向にシフトするが、ｋは、第２ノードに関しベースノードに関係付けられたノード間指数である。乗算モジュール756は、シフトされたδに差ΔＶを掛けて、積の値を出力する。結合モジュール752は、ベースノード関数値と積の値を結合して、入力ノードの関数値Ｖ(x)を形成する。
【００８０】
計算モジュール750は、図１５に示すようにデータベースと通信する。これは、検索モジュール744が、計算モジュール750に、検索で得たデータを全ては送らない場合である。例えば、検索モジュール744は、ベースノードのノード・インデクスしか送らないこともある。計算モジュールは、このノード・インデクスを使って、データベース742内の他のデータを探索する。検索モジュールが必要な全データを計算モジュール750に送る別の実施形態では、計算モジュール750は、データベース742にアクセスする必要はない。
第１の実施形態では、データベース742は、既知のノードに対応するノード・インデクスと、既知のノードと、対応するノード関数値と、ノード間指数とを含む１つのルックアップ・テーブルとを備えている。
第２の実施形態では、ノード間指数は、ルックアップ・テーブルに記憶されておらず、必要に応じて計算される。
第３の実施形態では、データベース742は、主ルックアップ・テーブルと、予備のルップアップ・テーブルを含んでいる。主ルックアップ・テーブルは、既知のノードに対応するノード指数と、対応するノード関数値を含んでいる。予備のルップアップ・テーブルは、既知のノードに対応するノード指数と、既知のノードと、ノード間指数を含んでいる。
【００８１】
新しいアーキテクチャを使えば、ノード・インデクスと、ノード値と、ノード間指数と、出力値を保有するＬＵＴを構築することができる。指数は、任意の隣接する２つのノード間の距離の、２を底とする対数である。即ち、
exponent[i]＝log2(node[i+1]−node[i])    (１１)
一例を図１６に示す。
【００８２】
所与の入力ｘに対して、補間出力Ｖ0を計算することができる。なお、二等分アルゴリズムは、ベースノードを見つける際に検索エンジンとして使用することのできる多くの可能な検索アルゴリズムの内の１つに過ぎない。理論的には、提案しているアーキテクチャは、何れのビット精度入力対何れのビット精度出力をもマップすることができる。入力と出力は、ＬＵＴ内で作表されるので、どの様なビット精度の表現も表内に収容することができる。実行時には、ビット精度は、信号(色)を表現するために使用されるビットの数と実施費用とに基づいて選定される。提案のアーキテクチャは、ビット精度の選定に如何なる制限も設けていない。図１７は、図１６の８ビット入力に替わり、１０ビット入力を採用したＬＵＴの例を示している。
【００８３】
図１６は、起点近くに高密度のサンプルが必要な色空間変換の例を示す。ノードスペーシングは、起点から遠いノードより起点に近いノードの方が密になっている点に留意されたい。（実行時、平方根規則を使用することの多い）ＲＧＢ入力色空間で作業する場合はこの種のノード分布が望ましいことが分かっている。場合によっては、システムは、異なる入力色空間、例えば、ＣＩＥＬ*ａ*ｂ*、ＦａｘＬ*ａ*ｂ*などをサポートする必要がある。ＣＩＥＬ*ａ*ｂ*の場合、ａ*とｂ*チャネルは、起点が１２８である。他方、ＦａｘＬ*ａ*ｂ*は、ａ*チャネルは起点が１２８で、ｂ*チャネルは起点が９６であると仮定している。提案のアーキテクチャは、非常に柔軟性があり、インプリメンテーションを変えずに、各種の起点差及び必要性を容易にサポートすることができる。従って、本アーキテクチャは、インプリメンテーション不変式で包括性がある。異なる要件が必要な場合は、異なるＬＵＴを使用することで対処できる。図１８と図１９は、起点が１２８と９６のそれぞれの例を示しており、ＬＵＴ表を再ローディングすることにより、ＣＩＥＬ*ａ*ｂ*とＦａｘＬ*ａ*ｂ*用のｂ*チャネルを収容する方法を示している。
【００８４】
提案の方法を、スキャナＲＧＢ入力をＣＩＥＬ*ａ*ｂ*色出力に変換する、スキャナ色変換アプリケーションでテストした。キャリブレーション目標として標準ＩＴＵ−８チャートを使用している。変換精度を、固定線形ノード・スペーシング、２の乗数ノード・スペーシング、及びノード数が２倍の非線形ノード・スペーシングを使った基準インプリメンテーション、により得られたＣＩＥＬａｂ値の間の色差信号ΔＥによって測定した。始めの２つの方法、即ち、固定線形技法と、提案の２の乗数技法では、ノード数を同数として、１７ｘ１７ｘ１７ＬＵＴと四面体補間を使用した。ベンチマークとして機能する遙かに高密度の補間として、非線形立方根ノード・スペーシングで３２ｘ３２ｘ３２ＬＵＴを使用した。最初の２つの方法のノード位置を下に示す。
【００８５】
線形：０  １６  ３２  ４８  ６４  ８０  ９６  １１２  １２８  １４４  １６０  １７６  １９２  ２０８  ２２４  ２４０  ２５５
２の乗数：  ０  ４  ８  １６  ３２  ４８  ６４  ８０  ９６  １１２  １２８  １４４  １６０  １７６  １９２  ２２４  ２５５
【００８６】
線形ノード・スペーシングで得られた平均ΔＥと、２の乗数ノード・スペーシングで得られた平均ΔＥは、それぞれ２．６７と１．５３であった。この実験から分かるように、新しい２の乗数アーキテクチャは、固定線形ノード・スペーシング・アーキテクチャより遙かに正確な変換を提供しており、余分な計算量も少なくて済んでいる。
結論として、提案している２の乗数ノード・スペーシング・アーキテクチャは、柔軟性と複雑性の間に良好なトレードオフを提供する。固定線形ノード・スペーシング・アーキテクチャとは異なり、画像品質要件により良く合致する非線形ノード・スペーシングを選択する柔軟性を保持していると同時に、他方では、完全プログラム可能ノード・アーキテクチャとは異なり、実施が簡単で費用効率が高い。このアプリケーションの一部として使用されるＳＣＣ（スキャナ色空間変換）のアプリケーションでは、提案している方法は、従来の方法に比べて、カラー忠実度を略２倍向上させることが実証されている。
【００８７】
図１に戻るが、統計モジュール（ＳＴＳ）210は、ページ背景除去や、ページが白黒か有色かを判定する自動ニュートラル検知などの、各種画像強調オペレーションを適用する目的で、画像コンテントについて基本的な統計を収集することに責任を持つ。この統計モジュール210は、スキャナノイズの一部を除去するために、ディ・スクリーン・モジュール206からのぼやけた信号ＢＬＲ208を使用する。出力は、特別な３−Ｄカラー・ヒストグラム・アレイである。
【００８８】
統計モジュール（ＳＴＳ）210は、画像クリーンアップ及び更に強調という、より大きなチェーンの一部である。チェーン全体を図１８に示す。統計モジュール（ＳＴＳ）210は、画素値と色についての情報を収集することにより、チェーンの第１段階を形成する。画像強調チェーンの第２の段階では、統計モジュール（ＳＴＳ）210により収集されたデータが、キー画像強調パラメータを求めるために解析される。最終的に、これらパラメータの値は、画像強調装置に送られ、実際の画像強調が行なわれる。
【００８９】
図２０の３つの機能の区分けは、各部分の異なる役割を説明する上で役に立つ。統計収集フェーズ802は、通常、画素および色値が入手可能な画像捕捉時（フロントエンド）に行なわれる。入力画像は、セグメントに分けられエンコード・パイプラインで圧縮された後は、各種面を圧縮解凍してマージする［という時間を消費するオペレーション］なしには、直接入手できなくなる。画像解析806フェーズは統計データに頼って、強調パラメータのセット808を抽出する。
【００９０】
画像強調チェーンのオペレーションの例は、背景除去である。単純な白黒テキスト文書は、黒字を、そうではない白色背景上に置いたものとして再生するよう期待されている。しかしながら、このようなページの走査画像が、完全にクリーンな（即ち、輝度値１００の）背景を有することは殆どありえない。一般には、背景領域の画素値は、ノイジーで、実際の輝度値は用紙媒体の反射率に依存している。しかし、低品質の新聞紙から高反射率の写真紙まで、広範囲に及ぶ媒体種に対してクリーンな背景を生成することが望まれている。
【００９１】
背景除去に対する標準的なアプローチは、ページの「白点」値を求め、この点を使って、圧縮された画像のヘッダファイル内のタグを変更することである。実際の背景除去は、圧縮解凍とマージャの後のバックエンドで行われ、ここで色調再生（ＴＲＣ）ルックアップ・テーブルを通して画素値が修正される。
【００９２】
なお、上記背景除去例では、統計データは、白点として識別された１つのパラメータを抽出するために使用される。より高精度の背景除去アルゴリズムは、黒点、スキャナノイズ量、及び背景色に関する付加的情報も抽出する。ここで重要なことは、統計データは、再構築時に強調の程度を制御する数個の強調パラメータを抽出するために、解析フェーズで使用されるということである。
【００９３】
（ＡＩＥの様な）自動的リアルタイム画像強調又は領域セグメント化などのような追加的画像強調オペレーションを適用して、ＣＥＦ画像を更に強調することができる。これらには、テキスト又は画像データの自動検知と強調が含まれる。統計モジュール（ＳＴＳ）210により収集された情報は、このようなオペレーションに使用することができる。
【００９４】
統計モジュール（ＳＴＳ）210は、ノイズを低減するために、画像のぼやけたバージョン208についての統計を蓄積する。統計モジュール（ＳＴＳ）210は、輝度／クロミナンス空間（Ｌａｂ、ＹＣＣなど）内で、入力としてフルカラー信号を取る。入力信号は、普通は、スキャン色変換（ＳＣＣ）モジュール内の高速走査方向に２倍サブサンプルされるものと想定されている。しかしながら、統計モジュール（ＳＴＳ）210アルゴリズムは、汎用性があり、サブサンプルされたデータもサブサンプルされていないデータも等しく良好に処理することができる。
【００９５】
走査、印刷、コピーなど一般的なアプリケーションでは、完全に結合された３次元ヒストグラムは不要であることが分かっている。それに代えて、従属クロミナンス合計値を伴う輝度チャネルの１−Ｄヒストグラムは適切な結果をもたらすと判断された。従って、統計モジュール（ＳＴＳ）210の出力は、以下のデータ・アレイを含んでいる。
１）輝度ヒストグラム（各３２ビット、２５６個の符号のないエントリのアレイ）
２）２つの従属クロマ合計（各３２ビット、２５６個の符号付のエントリのアレイ）
３）４つの３２ビット輝度および色強度レジスタ（以下に説明）
【００９６】
ヒストグラム・ビンの数を減らすためには、メモリの制限されたインプリメンテーションが求められる。１２８ビンのインプリメンテーションでは、画像の黒点と白点の両方が判定できるように、中央の１２８ビンを除去して、６４ビンをゼロ付近に残し、６４ビンを２５５付近に残す。ビンの数は、アプリケーションと精度の必要性に合わせてプログラム可能である。
【００９７】
画像が殆ど不変である場合は、スキャナ分解能と最大媒体サイズにより最大合計サイズが決まる。
Max-Chroma-Sum=255*width*height*resolution2
【００９８】
３２ビット幅カウンタ／レジスタを超えないことが望ましい。６００ｄｐｉで１１ｘ１７インチの画像サイズの場合、最大クロマ合計は、３４ビット幅になるので、最大合計＜２∧３２を維持するためにある程度のサブサンプリングが許容される。最大クロマ合計が３２ビットに合うように、ｘとｙ方向に、十分に均等な２の乗数のサブサンプリングを行なうことになる。
【００９９】
統計モジュール（ＳＴＳ）210のオペレーションは以下の通りである。８ビットの符号なしの着信輝度入力信号Ｌを、データ・アレイ内の特定の位置を指すアドレスとして使用する。同じアドレスを全３アレイに対して使用する。
【０１００】
輝度Ｌのヒストグラム要素については、現下の輝度値でのアレイのコンテントが１だけ増やされる。このヒストグラムは、同じ輝度値を有する画素のカウントにより与えられた輝度値の分布により形成される。
【０１０１】
ＳＴＳユニット210は、２つのクロマ・チャネル（Ａ、Ｂ）を備えており、実際のクロマ値が、所与の輝度アドレスの従前のコンテントに加えられる。色手段は、後に、輝度カウントにより加えられた値を正規化することにより計算される。しかしながら、クロマ要素は符号付きの数なので、クロマ・アレイは、８ビットの符号付き範囲を収容するため、より大きなワードサイズを使用せねばならない。
【０１０２】
これは、ページのニュートラリティを判定するために使用される２つの色強度測定と、ページの二進検知のための２つの輝度強度測定とを含んでいる。各着信画素毎に、先ず、ニュートラル軸（Ａ＝Ｂ＝０）からのマンハッタン距離を以下のようにして計算する。
色距離＝abs(A-128)+abs(B-128)
【０１０３】
ここで、１２８のバイアスは、クロマ要素の符号バイアスによるものである。次に、色距離は、２つの１６ビット閾値、即ち弱い色の閾値WeakClrClrThr及び強い色の閾値Strong ClrClrThr、と比較される。色距離が弱い色の閾値以上である画素の数と、色距離が強い色の閾値以上である画素の数を、別々に数える。同様のアプローチを二進ページ検知について行なう。１１ｘ１７ページの場合、この２つのカウントは、２つの３２ビットレジスタとして提供される。
【０１０４】
アレイ・サイズを縮小するために、着信クロマ・チャネルを、或いは輝度チャネルさえも、更にサブサプサンプルするというオプションも在る。少量のサブサンプリングは多分許容可能だが、アレイ・サイズを大幅に縮小することにはならない。サブサンプリング量を増やすには実行可能性の検討が必要で、小さな強い有色形状が拡大サブサンプリングのせいで失われるかもしれないページニュートラリティについては、特にそうである。
【０１０５】
圧縮モジュール（ＣＭＰ）252は、独立的に４つのＣＥＦ平面上で作動する。このモジュールは、損失の大きいＪＰＥＧ圧縮法を使ってカラーの前景256と背景254面を圧縮し、二進セレクタ258とヒント262平面では損失のないＩＴＵグループ４圧縮を使用する。
最後に、圧縮モジュール（ＣＭＰ）252からの圧縮されたＭＲＣ平面と、統計モジュール（ＳＴＳ）212からの収集されたヒストグラムデータは、ＤＸＷラッパ・モジュール214内で一緒にラップされて、ＴＩＦＦ又はＰＤＦ  ＭＲＣ  ＣＥＦ出力270を形成する。
【図面の簡単な説明】
【０１０６】
【図１】混合ラスタ・コンテント画像(Mixed Raster Content images)を用いるためのエンコード・パイプラインのブロック図を示す。
【図２】走査色変換モジュール(Scan Color Conversion Module)ＳＣＣの詳細なブロック図を示す。
【図３】高速走査方向(fast scan direction)での２×サブサンプリングの適用を示す。
【図４】サブサンプルされたデータからの、オリジナルの(サブサンプルされていない)画素の再構築の方法を示す。
【図５】スケール・モジュール(Scale Module)の詳細なブロック図を示す。
【図６】固定整数および分数表記(fixed integer and fraction notation)を用いて表現された高速および低速走査方向でのスケーリングの総量を示す。
【図７】スケール・モジュールで用いられる１６ビット変数を示す表。
【図８】スケール・モジュールの動作を示す。
【図９】スケール・モジュールでの３つの１Ｄ補間ステップを示す。
【図１０】全域強調モジュール(Gamut Enhancement Module)ＧＭＥのブロック図である。
【図１１】カラー・ルックアップ・テーブルＬＵＴのブロック図である。
【図１２】トリ-リニア補間(tri-linear interpolation)の３つのステップを示す。
【図１３】１−Ｄでの補間ステップを示す。
【図１４】カラー・ルックアップ・テーブルＬＵＴを計算するためのフローチャートである。
【図１５】図１４に示されるフローチャートとともに使用されるブロック図である。
【図１６】２ノード・スペーシング技術で使用される値のための表を示す。
【図１７】８ビット入力の替わりの１０ビットの値のための表を示す。
【図１８】ＬＵＴに対する１２８での例示の値を持つ表を示す。
【図１９】ＬＵＴに対する１２８での例示の値を持つ表を示す。
【図２０】統計モジュールのブロック図である。
【図１】
2005326904.tif 000006
【図２】
2005326904.tif 000007
【図３】
2005326904.tif 000008
【図４】
2005326904.tif 000009
【図５】
2005326904.tif 000010
【図６】
2005326904.tif 000011
【図７】
2005326904.tif 000012
【図８】
2005326904.tif 000013
【図９】
2005326904.tif 000014
【図１０】
2005326904.tif 000015
【図１１】
2005326904.tif 000016
【図１２】
2005326904.tif 000017
【図１３】
2005326904.tif 000018
【図１４】
2005326904.tif 000019
【図１５】
2005326904.tif 000020
【図１６】
2005326904.tif 000021
【図１７】
2005326904.tif 000022
【図１８】
2005326904.tif 000023
【図１９】
2005326904.tif 000024
【図２０】
2005326904.tif 000025
【外国語明細書】
2005326904.tif 000026
2005326904.tif 000027
2005326904.tif 000028
2005326904.tif 000029
2005326904.tif 000030
2005326904.tif 000031
2005326904.tif 000032
2005326904.tif 000033
2005326904.tif 000034
2005326904.tif 000035
2005326904.tif 000036
2005326904.tif 000037
2005326904.tif 000038
2005326904.tif 000039
2005326904.tif 000040
2005326904.tif 000041
2005326904.tif 000042
2005326904.tif 000043
2005326904.tif 000044
2005326904.tif 000045
2005326904.tif 000046
2005326904.tif 000047
2005326904.tif 000048
2005326904.tif 000049
2005326904.tif 000050
2005326904.tif 000051
2005326904.tif 000052
2005326904.tif 000053
2005326904.tif 000054
2005326904.tif 000055
2005326904.tif 000056
2005326904.tif 000057
2005326904.tif 000058
2005326904.tif 000059
2005326904.tif 000060
2005326904.tif 000061
2005326904.tif 000062
2005326904.tif 000063
2005326904.tif 000064
2005326904.tif 000065
2005326904.tif 000066
2005326904.tif 000067
2005326904.tif 000068
2005326904.tif 000069
2005326904.tif 000070
2005326904.tif 000071
2005326904.tif 000072
2005326904.tif 000073
2005326904.tif 000074
2005326904.tif 000075
2005326904.tif 000076
2005326904.tif 000077
2005326904.tif 000078
2005326904.tif 000079
2005326904.tif 000080
2005326904.tif 000081
2005326904.tif 000082
2005326904.tif 000083
2005326904.tif 000084
2005326904.tif 000085
2005326904.tif 000086
2005326904.tif 000087
2005326904.tif 000088
2005326904.tif 000089