(57)【特許請求の範囲】
【請求項１】
カラーを選択して１つの位置でレンダリングし、トゥルーカラーを表すためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
カラー成分によって定義された前記トゥルーカラーがカラー成分値を有し、前記カラーが上位部および下位部を有するリストから選択され、
当該リストが、ＲＧＢの各成分の輝度の大きさを種々の値に変えて所定の輝度の所定の色成分を生成するための、それぞれゼロ輝度、半輝度、及び全輝度カラーを含む種々の輝度のＲＧＢ成分の組合せを予め格納するものであり、
当該リストが、列成分と行成分を有し、
ＲＧＢ成分の各々を前記列成分とし、
前記行成分は、ゼロから所定の最大整数値までの複数の整数値、即ち、パレット・インデックスを有し、
前記パレット・インデックスの値毎に、ＲＧＢの輝度値の組が定められ、
前記パレット・インデックスが、（前記パレット・インデックスの最大値＋１）／２で示される、所定値と等しいか、又は、大きい部分の前記リストを、前記リストの前記上位部とし、
前記パレット・インデックスが、前記所定値より小さい部分の前記リストを、前記リストの前記下位部とし、
前記コンピュータ実行可能命令は、
最大カラー成分値を、カラーの輝度の範囲の１／２の値のしきい値と比較するステップであって、前記最大カラー成分値が前記カラー成分値の最大値であるステップと、
前記最大カラー成分値が大きくとも前記しきい値である場合、前記位置でレンダリングするための前記カラーを、前記リストの前記下位部から決定するステップと、
を実行することを特徴とするコンピュータ可読媒体。
【請求項２】
前記カラーを決定する前記ステップは、
ハーフトーンマトリックスからハーフトーン値を選択するステップと、
前記カラー成分値から前記ハーフトーン値を引き、第１ハーフトーン値を形成するステップであって、当該カラー成分値が２５５であるものと、
前記第１ハーフトーン値を事前選択した値で割り、除算後ハーフトーン値を形成するステップと、
前記カラー成分値のそれぞれを前記除算後ハーフトーン値と比較するステップと、
各カラー成分について、
前記カラー成分値が前記除算後ハーフトーン値よりも大きい場合、パレットインデックスを所定の量だけ調節するステップと
を含むことを特徴とする請求項１記載のコンピュータ可読媒体。
【請求項３】
前記パレットインデックスを調節する前に、前記パレットインデックスを初期値に設定するステップを実行する命令をさらに具えたことを特徴とする請求項２記載のコンピュータ可読媒体。
【請求項４】
前記初期値は、カラーパレットの第１エントリに設定されることを特徴とする請求項３記載のコンピュータ可読媒体。
【請求項５】
前記カラー成分が赤、緑、および青の各カラーを有し、前記カラー成分値が前記除算後ハーフトーン値よりも大きい場合に所定の量だけパレットインデックスを調節する前記ステップは、
赤成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第１の値だけ調節するステップと、
青成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第２の値だけ調節するステップと、
緑成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第３の値だけ調節するステップと
を含むことを特徴とする請求項２記載のコンピュータ可読媒体。
【請求項６】
前記第１の値が４であり、前記第２の値が２であり、前記第３の値が１であることを特徴とする請求項５記載のコンピュータ可読媒体。
【請求項７】
前記最大カラー成分が前記しきい値よりも大きい場合、
ハーフトーンマトリックスからハーフトーン値を選択するステップと、
前記最大カラー成分を輝度値と比較するステップであって、当該輝度値が最大カラー輝度値２５５であるものと、
前記最大カラー成分が前記輝度値未満である場合、
最大全輝度値＝（最大ＲＧＢ値−前記しきい値）×２によって最大全輝度値を計算するステップと、
最大全輝度値が前記ハーフトーン値より大きい場合、
最大半輝度値＝カラー輝度の最大値−前記最大全輝度値、によって最大半輝度値を計算するステップと、
半輝度値＝最大半輝度値／２によって、半輝度値を計算するステップと、
前記最大全輝度値を前記ハーフトーン値と比較するステップと、
前記最大全輝度値が前記ハーフトーン値よりも大きい場合、
各カラー成分について、
Ｒ全輝度値＝Ｒ輝度値−半輝度値、
Ｇ全輝度値＝Ｇ輝度値−半輝度値、
Ｂ全輝度値＝Ｂ輝度値−半輝度値、
によって全輝度値を計算するステップと、
前記全輝度値を前記ハーフトーン値と比較するステップと、
前記全輝度値が前記ハーフトーン値よりも大きい場合、パレットインデックスを所定の量だけ調節するステップ（Ｓ１１８）と
を実行する命令をさらに含むことを特徴とする請求項１記載のコンピュータ可読媒体。
【請求項８】
前記パレットインデックスを調節する前に、前記パレットインデックスを初期値に設定するステップを実行する命令をさらに具えたことを特徴とする請求項１記載のコンピュータ可読媒体。
【請求項９】
前記パレットインデックスを調節する前に、前記パレットインデックスを初期値に設定するステップを実行する命令をさらに具えたことを特徴とする請求項１記載のコンピュータ可読媒体。
【請求項１０】
前記カラー成分が赤、緑、および青の各カラーを有し、前記カラー成分値が前記ハーフトーン値よりも大きい場合に所定の量だけパレットインデックスを調節する前記ステップは、
赤成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第１の値だけ調節するステップと、
青成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第２の値だけ調節するステップと、
緑成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第３の値だけ調節するステップと
を含むことを特徴とする請求項１記載のコンピュータ可読媒体。
【請求項１１】
前記カラー成分が赤、緑、および青の各カラーを有し、前記カラー成分値が前記ハーフトーン値よりも大きい場合に所定の量だけパレットインデックスを調節する前記ステップは、
赤成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第１の値だけ調節するステップと、
青成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第２の値だけ調節するステップと、
緑成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第３の値だけ調節するステップと
を含むことを特徴とする請求項１記載のコンピュータ可読媒体。
【請求項１２】
前記第１の値が４であり、前記第２の値が２であり、前記第３の値が１であることを特徴とする請求項１０記載のコンピュータ可読媒体。
【請求項１３】
前記第１の値が４であり、前記第２の値が２であり、前記第３の値が１であることを特徴とする請求項１１記載のコンピュータ可読媒体。
【請求項１４】
前記最大カラー成分値が前記しきい値よりも大きい場合、前記初期値がカラーパレットの中間点エントリに設定されることを特徴とする請求項８記載のコンピュータ可読媒体。
【請求項１５】
前記最大全輝度値が大きくとも前記ハーフトーン値に等しい場合、
輝度値としての値２５５から前記ハーフトーン値を引き、第１ハーフトーン値を形成するステップと、
前記第１ハーフトーン値を所定の値で割り、除算後ハーフトーン値を形成するステップと、
各カラー成分について、
前記カラー成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを所定の量だけ調節するステップと
を実行する命令をさらに具えたことを特徴とする請求項１記載のコンピュータ可読媒体。
【請求項１６】
前記パレットインデックスを調節する前に、前記パレットインデックスを初期値に設定するステップを実行する命令をさらに具えたことを特徴とする請求項１５記載のコンピュータ可読媒体。
【請求項１７】
前記初期値は、カラーパレットの第１エントリに設定されることを特徴とする請求項１６記載のコンピュータ可読媒体。
【請求項１８】
前記カラー成分が赤、緑、および青の各カラーを有し、前記カラー成分値が前記除算後ハーフトーン値よりも大きい場合に所定の量だけパレットインデックスを調節する前記ステップは、
赤成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第１の値だけ調節するステップと、
青成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第２の値だけ調節するステップと、
緑成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第３の値だけ調節するステップと
を含むことを特徴とする請求項１５記載のコンピュータ可読媒体。
【請求項１９】
前記第１の値が４であり、前記第２の値が２であり、前記第３の値が１であることを特徴とする請求項１８記載のコンピュータ可読媒体。
【請求項２０】
前記カラー成分値が、最小範囲値から最大範囲値の範囲にあり、前記最大全輝度値が、関数
最大全輝度値＝（最大カラー成分値−［（最大範囲値−最小範囲値）／２］）×２
に従って計算されることを特徴とする請求項１記載のコンピュータ可読媒体。
【請求項２１】
カラーを選択して１つの位置でレンダリングし、トゥルーカラーを表すための方法であって、カラー成分によって定義された前記トゥルーカラーがカラー成分値を有し、前記カラーが上位部および下位部を有するリストから選択され、
当該リストが、ＲＧＢの各成分の輝度の大きさを種々の値に変えて所定の輝度の所定の色成分を生成するための、それぞれゼロ輝度、半輝度、及び全輝度カラーを含む種々の輝度のＲＧＢ成分の組合せを予め格納するものであり、
当該リストが、列成分と行成分を有し、
ＲＧＢ成分の各々を前記列成分とし、
前記行成分は、ゼロから所定の最大整数値までの複数の整数値、即ち、パレット・インデックスを有し、
前記パレット・インデックスの値毎に、ＲＧＢの輝度値の組が定められ、
前記パレット・インデックスが、（前記パレット・インデックスの最大値＋１）／２で示される、所定値と等しいか、又は、大きい部分の前記リストを、前記リストの前記上位部とし、
前記パレット・インデックスが、前記所定値より小さい部分の前記リストを、前記リストの前記下位部とし、
前記方法は、
最大カラー成分値を、カラー輝度の範囲の１／２の値のしきい値と比較するステップであって、前記最大カラー成分値が前記カラー成分値の最大値であるステップと、
前記最大カラー成分値が大きくとも前記しきい値である場合、前記位置でレンダリングするための前記カラーを、前記リストの前記下位部から決定するステップと
含むことを特徴とする方法。
【請求項２２】
前記カラーを決定する前記ステップは、
ハーフトーンマトリックスからハーフトーン値を選択するステップと、
前記カラー成分値から前記ハーフトーン値を引き、第１ハーフトーン値を形成するステップであって、当該カラー成分値が２５５であるものと、
前記第１ハーフトーン値を事前選択した値で割り、除算後ハーフトーン値を形成するステップと、
前記カラー成分値のそれぞれを前記除算後ハーフトーン値と比較するステップと、
各カラー成分について、
前記カラー成分値が前記除算後ハーフトーン値よりも大きい場合、パレットインデックスを所定の量だけ調節することを含むことを特徴とする請求項２１記載の方法。
【請求項２３】
前記パレットインデックスを調節する前に、前記パレットインデックスを初期値に設定するステップをさらに含むことを特徴とする請求項２２記載の方法。
【請求項２４】
前記初期値は、カラーパレットの第１エントリに設定されることを特徴とする請求項２３記載の方法。
【請求項２５】
前記カラー成分が赤、緑、および青の各カラーを有し、前記カラー成分値が前記除算後ハーフトーン値よりも大きい場合に所定の量だけパレットインデックスを調節する前記ステップは、
赤成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第１の値だけ調節するステップと、
青成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第２の値だけ調節するステップと、
緑成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第３の値だけ調節するステップと
を含むことを特徴とする請求項２２記載の方法。
【請求項２６】
前記第１の値が４であり、前記第２の値が２であり、前記第３の値が１であることを特徴とする請求項２５記載の方法。
【請求項２７】
前記最大カラー成分が前記しきい値よりも大きい場合、
ハーフトーンマトリックスからハーフトーン値を選択するステップと、
前記最大カラー成分を輝度値と比較するステップであって、当該輝度値が最大カラー輝度値２５５であるものと、
前記最大カラー成分が前記輝度値未満である場合、
最大全輝度値＝（最大ＲＧＢ値−前記しきい値）×２によって最大全輝度値を計算するステップと、
前記最大全輝度値が、前記ハーフトーン値より大きい場合、
最大半輝度値＝カラー輝度の最大値−前記最大全輝度値、によって最大半輝度値を計算するステップと、
半輝度値＝最大半輝度値／２によって、半輝度値を計算するステップと、
前記最大全輝度値を前記ハーフトーン値と比較するステップと、
前記最大全輝度値が前記ハーフトーン値よりも大きい場合、
各カラー成分について、
Ｒ全輝度値＝Ｒ輝度値−半輝度値、
Ｇ全輝度値＝Ｇ輝度値−半輝度値、
Ｂ全輝度値＝Ｂ輝度値−半輝度値、
によって全輝度値を計算するステップと、
前記全輝度値を前記ハーフトーン値と比較するステップと、
前記全輝度値が前記ハーフトーン値よりも大きい場合、パレットインデックスを所定の量だけ調節するステップ（Ｓ１１８）と、
をさらに具えたことを特徴とする請求項２１記載の方法。
【請求項２８】
前記パレットインデックスを調節する前に、前記パレットインデックスを初期値に設定するステップを実行するステップをさらに具えたことを特徴とする請求項２１記載の方法。
【請求項２９】
前記パレットインデックスを調節する前に、前記パレットインデックスを初期値に設定するステップをさらに具えたことを特徴とする請求項２１記載の方法。
【請求項３０】
前記カラー成分が赤、緑、および青の各カラーを有し、前記カラー成分値が前記ハーフトーン値よりも大きい場合に所定の量だけパレットインデックスを調節する前記ステップは、
赤成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第１の値だけ調節するステップと、
青成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第２の値だけ調節するステップと、
緑成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第３の値だけ調節するステップと
を含むことを特徴とする請求項２１記載の方法。
【請求項３１】
前記カラー成分が赤、緑、および青の各カラーを有し、前記カラー成分値が前記ハーフトーン値よりも大きい場合に所定の量だけパレットインデックスを調節する前記ステップは、
赤成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第１の値だけ調節するステップと、
青成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第２の値だけ調節するステップと、
緑成分値が前記ハーフトーン値よりも大きい場合、前記パレットインデックスを第３の値だけ調節するステップと
を含むことを特徴とする請求項２１記載の方法。
【請求項３２】
前記第１の値が４であり、前記第２の値が２であり、前記第３の値が１であることを特徴とする請求項３０記載の方法。
【請求項３３】
前記第１の値が４であり、前記第２の値が２であり、前記第３の値が１であることを特徴とする請求項３１記載の方法。
【請求項３４】
前記最大カラー成分値が前記しきい値よりも大きい場合、前記初期値がカラーパレットの中間点エントリに設定されることを特徴とする請求項２８記載の方法。
【請求項３５】
前記最大全輝度値が大きくとも前記ハーフトーン値に等しい場合、
輝度値としての値２５５から前記ハーフトーン値を引き、第１ハーフトーン値を形成するステップと、
前記第１ハーフトーン値を所定の値で割り、除算後ハーフトーン値を形成するステップと、
各カラー成分について、
前記カラー成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを所定の量だけ調節するステップと
をさらに具えたことを特徴とする請求項２１記載の方法。
【請求項３６】
前記パレットインデックスを調節する前に、前記パレットインデックスを初期値に設定するステップをさらに含むことを特徴とする請求項３５記載の方法。
【請求項３７】
前記初期値がカラーパレットの第１エントリに設定されることを特徴とする請求項３６記載の方法。
【請求項３８】
前記カラー成分が赤、緑、および青の各カラーを有し、前記カラー成分値が前記除算後ハーフトーン値よりも大きい場合に所定の量だけパレットインデックスを調節する前記ステップは、
赤成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第１の値だけ調節するステップと、
青成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第２の値だけ調節するステップと、
緑成分値が前記除算後ハーフトーン値よりも大きい場合、前記パレットインデックスを第３の値だけ調節するステップと
を具えたことを特徴とする請求項３５記載の方法。
【請求項３９】
前記第１の値が４であり、前記第２の値が２であり、前記第３の値が１であることを特徴とする請求項３８記載の方法。
【請求項４０】
前記カラー成分値が、最小範囲値から最大範囲値の範囲にあり、前記最大全輝度値が、関数
最大全輝度値＝（最大カラー成分値−［（最大範囲値−最小範囲値）／２］）×２
に従って計算されることを特徴とする請求項２１記載の方法。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、一般にデジタル画像処理に関し、より詳細には、カラーハーフトーンを再現するための方法に関する。
【０００２】
（関連出願）
本願は、１９９９年１２月１５日出願の仮米国出願第６０／１７０９５４号の特典を主張する。
【０００３】
（発明の背景）
パーソナルコンピュータ用のディスプレイは、１９７０年代に、単純なワードプロセッサやテキストベースのコンピュータシステムでモノクロームモニタが使用されていたとき以来、着実に改良されてきた。１９８１年には、カラーグラフィックスアダプタ（ＣＧＡ）が導入された。このＣＧＡは、４色をレンダリングすることができ、水平方向３２０ピクセル、垂直方向２００ピクセルの最大解像度を有していた。ＣＧＡは単純なコンピュータアプリケーションや単純なゲームに対しては申し分のないものであったが、デスクトップパブリッシングや、より精巧なグラフィックスアプリケーションのために十分な画像解像度を提供するものではなかった。
【０００４】
１９８４年には、エンハンスドグラフィックスアダプタ（ＥＧＡ）ディスプレイが導入された。このＥＧＡにより、カラー能力が４色から、相異なる１６色まで増加し、解像度が水平方向６４０ピクセル、垂直方向３５０ピクセルに向上した。これにより、ディスプレイの外観が改良され、ＣＧＡディスプレイよりも容易にテキストを読み取ることが可能となった。それでも、ＥＧＡは、グラフィックデザインやデスクトップパブリッシングなどの高レベルなアプリケーションのために十分な画像解像度を提供するものではなかった。
【０００５】
１９８７年には、ビデオグラフィックスアレイ（ＶＧＡ）ディスプレイシステムが利用可能となった。多数のＶＧＡモニタがなお使用されていることによって示されるように、ＶＧＡは、ＰＣクローンに関して受け入れられる最低限の規格となった。ユーザは、１６色６４０×４８０ピクセル、または２５６色３２０×２００ピクセルを選ぶことができる。
【０００６】
１９９０年には、拡張グラフィックスアレイ（ＸＧＡ）ディスプレイが導入された。後のバージョンであるＸＧＡ−２は、トゥルーカラー（１６００万色）で８００×６００ピクセルの解像度、または６５５３６色で１０２４×７６８ピクセルの解像度を提供する。今日販売されている大部分のＰＣモニタは、スーパビデオグラフィックスアレイ（ＳＶＧＡ）ディスプレイと呼ばれている。元々ＳＶＧＡは、単に「ＶＧＡ」を超えた」ことを意味するものであって、単一の規格ではなかった。ビデオエレクトロニクス規格協会（ＶＥＳＡ）は、ＶＥＳＡ  ＢＩＯＳ拡張と呼ばれるＳＶＧＡディスプレイ用の標準プログラミングインターフェースを制定した。一般にＳＶＧＡディスプレイは、最大１６００万色のパレットをサポートすることができるが、特定のコンピュータのビデオメモリ量により、実際の表示色数はそれよりも少なくなることがある。
【０００７】
インターネットが最初に広く利用可能となったとき、画像を表示するために使用するカラーはそれほど重要なことではなかった。最近のインターネットの発展により、ウェブベースのｅ−コマースが増加した。この増加の結果、インターネット上で使用される画像の数が爆発的に増加し、それによって生じた１つの問題は、ユーザがコンピュータモニタ上で見るカラーと、画像によって表される要素の実際のカラーとの間のカラーマッチングである。コンピュータユーザは、画面上で見るカラーと、実際の要素との間のより良好なカラーマッチを求めている。このことにより、画像を表示するために使用されるカラー数が増加したが、画像サイズやダウンロード時間が犠牲となる。このカラー数の増加により、一般には、追加のカラーをレンダリングすることのできる、ハードウェアおよび／またはソフトウェアの形態の、新しいディスプレイアダプタを組み込む新しい装置が必要となる。しかし、コンピュータ装置の多数のインストールドベース（ｉｎｓｔａｌｌｅｄ  ｂａｓｅ）から明らかなように、すべてのユーザが新しい装置に更新するか、または新しい装置を入手するわけではない。今日使用されている多くのモニタは、１６色６４０×４８０ピクセルまたは２５６色３２０×２００ピクセルという、選択肢の限られたＶＧＡモニタである。装置のインストールドベースを補償するために、利用可能なカラー数を増やすことに加えて、コンピュータモニタ上で利用可能なカラーと、画像または要素の実際のカラーとの間のある形のマッチングを実現するために、いくつかの異なるカラー管理技法が使用されている。
【０００８】
このような一方法がハーフトーン化である。ハーフトーン化とは、限定された数のカラーレベルだけしかレンダリングすることのできない装置を用いて画像表示または印刷するプロセスを指す。限定されたカラーの位置および配置は、人間の視覚系の生理的限界によって、連続的なトーンのトゥルーカラー画像が見えるような錯覚を生み出す。人間の目は、１組のドットパターンによって表される画像を少し離れて見るときに、個々のドットパターンを認識することができない。通常の距離から非常に小さいエリアを見るとき、目は、連続的な輝度変動が知覚されるように、隣接するピクセルの輝度をまとめることになる。デジタルハーフトーン化では、再現すべき画像をスキャンして、処理される画像の小さい増分領域（「ピクセル」）中に含まれるカラーを表すデジタル化信号を生成する。デジタルの形態で画像を得るための他の方法も当技術分野で周知である。
【０００９】
次いで、カラーを表す信号を処理して、画像ピクセルのそれぞれについての赤、緑、および青成分を表すデジタル符号化信号を生成する。カラー印刷の場合、これらの表す信号を処理して、当技術分野で周知の技法を用いて印刷する際に使用されるシアン、黄、およびマゼンタ成分と、しばしば黒成分とを表す（ＣＹＭＫ）デジタル符号化信号を生成する。これらのデジタル符号化信号は、ゼロ輝度（例えば、その成分のカラーがないこと）から全輝度（例えば、その成分のカラーがフルであること）の範囲の各カラーの輝度値を表す。
【００１０】
ハーフトーン化の際、一般に座標（ｘ，ｙ）の点のピクセルを増強するかどうかの決定は、その点での所望の輝度値と、「ｎ×ｎハーフトーンマトリックス」とに依存する。座標（ｘ，ｙ）でのカラーの輝度を決定するためには、その座標での輝度値を、ハーフトーン化マトリックス中のエントリと比較する。例えば、ゼロ輝度および全輝度のカラーだけしかレンダリングすることができない場合、画像の座標（ｘ，ｙ）でのカラーは、座標（ｘ，ｙ）での輝度値がハーフトーン化マトリックス中の行ａ、列ｂのエントリよりも大きい場合に増強される。点ａおよびｂは、剰余関数を用いて、ｎを法としてａ＝ｘとなり、ｎを法としてｂ＝ｙとなるように計算される。
【００１１】
４×４ハーフトーンマトリックスを以下に示す。座標（１０４２，７）についてのハーフトーンエントリまたはハーフトーン値は、マトリックス位置（１０４２  ｍｏｄｕｌｏ  ４，７  ｍｏｄｕｌｏ  ４）でのマトリックスの値となることになる。このマトリックス位置は位置（２，３）であり、ハーフトーン値は１４４である。位置（１０４２，７）での輝度値は、ハーフトーン値１４４よりも大きい場合、カラーは増強される。輝度値がハーフトーン値未満である場合、カラーは増強されない。
【００１２】
【表１】
0004714397.tif 000002
【００１３】
選択されるハーフトーンマトリックスは、表示される画像の品質に影響を及ぼし、「ｎ×ｎ」ハーフトーンマトリックスが異なると、元の画像による輝度のレベルが異なることになる。ハーフトーンマトリックスを選択または生成するための方法は本発明の範囲外である。
【００１４】
従来のハーフトーン化方法は、ｎを１より大きい任意の数として、ｎ3色を必要とする。ゼロ輝度カラーと全輝度カラーだけを使用するとき、２3色、すなわち８色が必要である。ゼロ輝度、半輝度、および全輝度カラーを使用するとき、従来のハーフトーン化方法を使用して３3色、すなわち２７色が必要となる。多数のカラーをレンダリングすることができるコンピュータ装置の場合、これらの方法は十分に機能する。しかし、これらの方法は、少数のカラーを使用するときに問題となる。例えば、ＶＧＡモードのディスプレイでレンダリングするときは、６４０×４８０ピクセル解像度を使用するときに１６色しか利用可能ではない。従来のハーフトーン化方法では、半輝度カラーのサブセットを使用することができず、したがってこの１６色のうちの８（２3）色だけしか使用することができなかった。この８色は、モニタで使用される赤、緑、および青（ＲＧＢ）カラー成分の０Ｘ００（例えば輝度ゼロ）と０ＸＦＦ（例えば全輝度）の組合せである。この方法では半輝度カラーを使用することができない。より多くのカラーを使用するためには、この方法では２７（３3）色が必要となることになる。これらのカラーは、赤、緑、および青（ＲＧＢ）カラー成分の０Ｘ００（例えば輝度ゼロ）、０Ｘ８０（例えば半輝度）、および０ＸＦＦ（例えば全輝度）の組合せである。従来のハーフトーン化実装に伴うこの制限の結果、表示モニタが少数のカラーしかレンダリングすることができないとき、コンピュータユーザは、その表示モニタによって利用可能なカラー全ての便益を得ていない。
【００１５】
（発明の概要）
当技術分野で存在する上述の問題に鑑みて、本発明は、ディスプレイで利用可能なゼロ輝度カラー、半輝度カラー、および全輝度カラーのすべて（例えば、ＶＧＡの１６色のうちの１５色）を使用するための方法であって、これらのカラーよりも多くのカラーを含むカラー画像（例えば数百万色を有する画像）をレンダリングするときに、この画像のより正しい表示を表示モニタ上に供給する方法を提供する。本発明の方法は、画像のトゥルーカラーを、所与の（ｘ，ｙ）位置での赤、緑、および青（ＲＧＢ）輝度によって決定することにより開始する。
【００１６】
ハーフトーン値がハーフトーンマトリックスから選ばれる。ＲＧＢカラーのそれぞれの全輝度値および半輝度値の最大数が、ＲＧＢカラーの最大輝度値に基づいて計算される。半輝度カラー値の数が最大化される。この最大ＲＧＢ輝度値は所定の値と比較される。
【００１７】
最大ＲＧＢ輝度値がこの所定の値以下である場合、カラーパレットのパレットインデックスがゼロに設定され、（ｘ，ｙ）位置で使用すべきカラーは、各ＲＧＢカラーについてのＲＧＢ輝度値をスケーリングしたハーフトーン値と比較し、パレットインデックスを所定の値だけ調節することによって、カラーパレットから選択される。次いで（ｘ，ｙ）位置で使用すべきカラーが、調節したパレットインデックスに対応するカラーを選択することによって選ばれる。
【００１８】
最大ＲＧＢ輝度値が所定の値より大きい場合、全輝度カラーの最大値および半輝度値が決定される。次いで各ＲＧＢカラーについての全輝度値の数が計算される。全輝度カラーの最大数値がハーフトーン値よりも大きい場合、パレットインデックスが所定の値に設定され、パレットインデックスは、各ＲＧＢカラーについての全輝度値をハーフトーン値と比較し、全輝度値がハーフトーン値よりも大きい場合にパレットインデックスを調節することによって調節される。次いで（ｘ，ｙ）位置でレンダリングすべきカラーは、調節されたパレットインデックスに対応するカラーを選択することによって選ばれる。
【００１９】
本発明の追加の特徴および利点は、添付の図を参照しながら進行する、以下の例示的実施形態の詳細な説明から明らかとなるであろう。
【００２０】
本特許の出願は、カラーで作成された少なくとも１つの図面を含む。本特許の複製は、米国特許商標局に請求し、必要な手数料を支払うことによって得られるであろう。頭記の特許請求の範囲は本発明の特徴を詳細に記載しているが、添付の図面についての以下の詳細な説明から、本発明をその目的および利点と共により良く理解することができよう。
【００２１】
（発明の詳細な説明）
図面を参照すると、本発明が、適切なコンピューティング環境で実装されているものとして示されている。各図面では、類似の参照数字は類似の要素を指す。必須ではないが、パーソナルコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な状況で本発明を説明する。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの消費者向け電子機器またはプログラマブル消費者向け電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成を用いて本発明を実施できることを当業者は理解されよう。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置とリモートメモリ記憶装置の両方に位置することができる。
【００２２】
図１を参照すると、本発明を実装するための例示的システムは、処理装置２１、システムメモリ２２、およびシステムバス２３を含む従来のパーソナルコンピュータ２０の形態の汎用コンピューティング装置を含む。システムバス２３は、システムメモリを含む様々なシステム構成要素を処理装置２１に結合する。システムバス２３は、様々なバスアーキテクチャのうちのいずれかを用いたメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のいずれでもよい。システムメモリは、読取り専用メモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。スタートアップ時などにパーソナルコンピュータ２０内の要素間で情報を転送する助けとなる基本ルーチンを含む基本入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４内に格納される。パーソナルコンピュータ２０は、ハードディスク（図示せず）を読み書きするためのハードディスクドライブ２７と、取外し可能磁気ディスク２９を読み書きするための磁気ディスクドライブ２８と、ＣＤ−ＲＯＭまたは他の光媒体などの取外し可能光ディスク３１を読み書きするための光ディスクドライブ３０とをさらに含む。
【００２３】
ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、それぞれハードディスクドライブインターフェース３２、磁気ディスクドライブインターフェース３３、および光ディスクドライブインターフェース３４によってシステムバス２３に接続される。各ドライブと、それに関連するコンピュータ可読媒体は、パーソナルコンピュータ２０に対して、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性記憶を提供する。本明細書で説明する例示的環境では、ハードディスク、取外し可能磁気ディスク２９、および取外し可能光ディスク３１を利用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ、読取り専用メモリなど、コンピュータによってアクセス可能な、データを記憶することのできる他のタイプのコンピュータ可読媒体もこの例示的動作環境で使用できることを当業者は理解されたい。
【００２４】
オペレーティングシステム３５、１つまたは複数のアプリケーションプログラム３６、他のプログラムモジュール３７、およびプログラムデータ３８を含むいくつかのプログラムモジュールを、ハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、またはＲＡＭ２５上に格納することができる。ユーザは、キーボード４０およびポインティングデバイス４２などの入力装置を介して、パーソナルコンピュータ２０にコマンドおよび情報を入力することができる。
【００２５】
他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらおよび他の入力装置は、しばしば、システムバスに結合されるシリアルポートインターフェース４６を介して処理装置２１に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続することもできる。モニタ４７または他のタイプのディスプレイ装置も、ビデオアダプタ４８などのインターフェースを介してシステムバス２３に接続される。モニタに加えて、パーソナルコンピュータは、一般にスピーカおよびプリンタなどの他の周辺出力装置（図示せず）を含む。
【００２６】
パーソナルコンピュータ２０は、リモートコンピュータ４９などの、１つまたは複数のリモートコンピュータに対する論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ４９は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の共通ネットワークノードでよく、一般にはパーソナルコンピュータ２０に関して上記で説明した要素のうちの多く、またはすべてを含むが、図１にはメモリ記憶装置５０だけを示してある。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１およびワイドエリアネットワーク（ＷＡＮ）５２を含む。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【００２７】
ＬＡＮネットワーキング環境で使用されるとき、パーソナルコンピュータ２０は、ネットワークインターフェースまたはアダプタ５３を介してローカルエリアネットワーク５１に接続される。ＷＡＮネットワーキング環境で使用されるとき、パーソナルコンピュータ２０は一般に、ＷＡＮ（ワイドエリアネットワーク）５２を介して通信を確立するためのモデム５４または他の手段を含む。モデム５４は内蔵でも外付けでもよく、シリアルポートインターフェース４６を介してシステムバス２３に接続される。ネットワーク環境では、パーソナルコンピュータ２０に関して示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置内に格納することができる。ここで示したネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
【００２８】
以下の説明では、別段の指定のない限り、１つまたは複数のコンピュータによって実行されるオペレーションの行為および象徴的表現を参照しながら本発明を説明する。したがって、このような行為およびオペレーションは、時としてコンピュータで実行される（ｃｏｍｐｕｔｅｒ−ｅｘｅｃｕｔｅｄ）行為または命令と呼ばれ、コンピュータの処理装置による、構造化された形のデータを表す電気信号の操作を含むことを理解されたい。この操作は、データを変換し、またはコンピュータのメモリシステム内の位置にデータを維持する。コンピュータは、当業者に周知の方式でコンピュータのオペレーションを再構成し、あるいは変更する。データが維持されるデータ構造は、データのフォーマットによって定義される特定の特性を有するメモリの物理的位置である。しかし、本発明を上記の状況で説明するものの、当業者は理解するであろうが、以下で説明する様々な処理およびオペレーションもハードウェアで実装できることを制限することを意味するものではない。
【００２９】
本発明の説明では、ＶＧＡディスプレイを利用可能なディスプレイとして用いる。本発明を、前述の他のカラー規格や、ＣＹＭおよびＣＹＭＫなどの他のカラータイプを共に使用することもできることに留意されたい。
【００３０】
図２は、本発明による１６色のＶＧＡカラーのうちの１５色を使用して、画像をカラーで描画するために使用するステップの流れ図を示す。
【００３１】
アプリケーションプログラム３６または他のプログラムモジュール３７は、描画されるカラー画像を要求する（ステップ１００）。位置（ｘ，ｙ）の画像のトゥルーカラーを決定する（ステップ１０２）。
【００３２】
このカラーは、アプリケーションプログラム３６、オペレーティングシステム３５、または他のプログラムモジュール３７によって供給することができ、あるいは、スキャナ、デジタルカメラなどＰＣ  ２０に接続された任意の他の構成要素によって供給することができる。前述の剰余関数を使用して、ハーフトーン化マトリックスからハーフトーン化値を選ぶ（ステップ１０４）。
【００３３】
様々な目的のために使用され、様々な所望の結果が達成される、多くの異なるハーフトーンマトリックスが存在すること、ならびにどんなハーフトーン化マトリックスも本発明で使用できることを当業者は理解されよう。この説明では、表１に示す４×４ハーフトーン化マトリックスを使用する。
【００３４】
【表２】
0004714397.tif 000003
【００３５】
ハーフトーン化値は以下の式によって選択される。
【００３６】
【数１】
0004714397.tif 000004
【００３７】
上式で、「ｘ」および「ｙ」は、画像の位置座標であり、「ｎ」はハーフトーンマトリックスのサイズであり、［ｘ  ％  ｎ］
［ｙ  ％  ｎ］は、ハーフトーンマトリックスに関する座標の剰余関数である。例えば、（ｘ，ｙ）位置が（６，３）である場合、ｈａｌｆｔｏｎｅＭａｔｒｉｘ［６  ％  ４］［３  ％  ４］はＶ23に等しい。
【００３８】
最大ＲＧＢカラー成分を決定する（ステップ１０６）。これは、赤、緑、および青輝度レベルに関する輝度レベルの最大値である。例えば、ＲＧＢ値が（１６１，２００，５０）である場合、最大ＲＧＢ成分は２００となることになる。最大ＲＧＢ成分値を所定の値Ｖ１と比較する（ステップ１０８）。一実施形態では、この値は０Ｘ８０  ｈｅｘ（１２８に対応する）であり、これは、カラー輝度が０Ｘ００  ｈｅｘから０ＸＦＦ  ｈｅｘの範囲（０〜２５５に対応）のシステムの半輝度レベルに対応する。この値を選んだのは、この値がカラーの半輝度値に対応するからである。ＲＧＢ成分値が所定の値Ｖ１未満である場合、（ｘ，ｙ）座標で使用するカラーをカラーパレットから選ぶ（ステップ１１０）。このカラーパレットは、使用されている表示モニタがレンダリングすることのできるカラーからなる。ＶＧＡ表示モニタのカラーパレットインデックスは、ＶＧＡカラーからなる。一実施形態では、これらのＶＧＡカラーは、表２に示す順序で配列される。
【００３９】
【表３】
0004714397.tif 000005
【００４０】
表２では、カラーパレットの下位部がゼロ輝度と半輝度のＲＧＢカラーの組合せを含む。カラーパレットの上位部は、インデックス８を除き、ゼロ輝度と全輝度のＲＧＢカラーの組合せを含む。この実施形態では、カラーパレットインデックスは、パレットインデックスを当初ゼロに設定し、ＲＧＢ値のそれぞれをハーフトーン値の半分と比較し、以下の式２に従ってパレットインデックスを調節することによって選択される。
【００４１】
【数２】
0004714397.tif 000006
【００４２】
上式で、ｒはＲＧＢ値の赤成分値であり、ｇは緑成分値であり、ｂは青成分値である。次いで表２のパレットインデックスに対応するカラーを（ｘ，ｙ）位置でレンダリングする。
【００４３】
ＲＧＢ成分値が所定の値Ｖ１よりも大きい場合、任意のカラーに関する全輝度値の最大数が式３に従って決定される。
【００４４】
【数３】
0004714397.tif 000007
【００４５】
上式でｍａｘＶａｌｕｅは、ステップ１０６で決定した最大ＲＧＢ値である。これにより、半輝度値の数が最大化される。任意のカラーに関する半輝度値の最大数を、式４に従って決定する（ステップ１１４）。
【００４６】
【数４】
0004714397.tif 000008
【００４７】
各カラー成分に関する全輝度値の数を決定する（ステップ１１６）。このことを、まず式５に示すように半輝度値の数を半分にすることによって行う。
【００４８】
【数５】
0004714397.tif 000009
【００４９】
次いで、全輝度値の数を式６に従って計算する。
【００５０】
【数６】
0004714397.tif 000010
【００５１】
上式で、ｒ、ｇ、ｂは、ＲＧＢカラーの赤、緑、および青成分値である。この計算の結果として全輝度値の数のいずれかがゼロまたは負の数となる場合、その特定のカラー成分を表すためにゼロ輝度カラーおよび半輝度カラーを使用し、このカラー成分を表すために全輝度カラーは使用しない。
【００５２】
ｎ色のカラーに対して、表すことのできるｎ＋１色の異なるカラーの組合せが存在することに留意されたい。上記の各式によれば、最大カラー輝度値２５５は、２５５色の全輝度カラーではなく、２５４色の高輝度カラーと２色の半輝度カラーで表されることになる。これを補償するため、一実施形態では、最大ＲＧＢ値が最大カラー輝度に対応する場合、全輝度値の数が式６ａに従って計算される。ｎ色のカラーを使用するとき、ｎ＋１個のカラーの組合せを補償することのできるいくつかの技法が存在することを当業者は理解されよう。
【００５３】
【数７】
0004714397.tif 000011
【００５４】
上式で、ｒ、ｇ、ｂは、ＲＧＢカラーの赤、緑、および青成分値である。
【００５５】
次いでカラーパレットインデックスを決定する（ステップ１１８）。式３によって決定される全輝度値の数がハーフトーン値以下である場合、カラーパレットインデックスを以下のように選択する。ゼロ輝度カラーではなく、半輝度カラーが使用されることを保証するために、その対応する全輝度値がゼロより大きい任意のカラー成分のカラー成分値を、一時的に全輝度に設定する。次いでパレットインデックスを当初ゼロに設定し、ＲＧＢカラー成分値のそれぞれを逆ハーフトーン値の半分と比較し、パレットインデックスを上記の式２に従って調節する。
【００５６】
式３によって決定される全輝度値の数がハーフトーン値よりも大きい場合、パレットインデックスを当初８に設定し、ＲＧＢ値のそれぞれをハーフトーン値と比較し、以下の式７に従ってパレットインデックスを調節することによってカラーパレットインデックスを選択する。
【００５７】
【数８】
0004714397.tif 000012
【００５８】
次いで、表２のパレットインデックスに対応するカラーを（ｘ，ｙ）位置でレンダリングする。次いで、各（ｘ，ｙ）位置についてステップ１０２から１１８を繰り返す。
【００５９】
次に、図３〜図８を参照すると、トゥルーカラー画像、従来のハーフトーン化画像、および本発明の教示によるハーフトーン化画像の２つの組が示されている。図３および図４はトゥルーカラー画像であり、図５および図７は従来のハーフトーン化方法を使用して図３および図４から導出した画像であり、図６および図８は、本発明の教示を使用して図３および図４から導出した画像である。明らかに、本発明の教示によるハーフトーン化画像が、従来のハーフトーン化画像よりも本当の画像に近いことがわかる。
【００６０】
図３を参照すると、画像３００は、水路３１０に沿った家々の並びのトゥルーカラー画像である。図５および図６は、この水路に沿った同じ家々の並びの画像である。図５を図６と比較すると、画像６００は、画像５００よりも良好な画像３００の表現である。水路６１０に見られる家々の影は、水路５１０に見られる家々の影よりも、水路３１０の家々の影に見られる本当の色を良好に表している。同様に、要素６２０および煙突６３０は、要素５２０および煙突５３０よりも、本当の色の要素３２０および煙突３３０に近い。画像８００は、画像７００よりもトゥルーカラー画像４００に近い。このことは、山８３２および山７３２を山４３２と比較し、水面７１２および水面６１２を水面４１２と比較し、木々８２２および木々７２２を木々４２２と比較することから分かる。
【００６１】
特許、特許出願、および出版物を含む、本明細書で引用した参考文献全体を、参照により本明細書に組み込む。
【００６２】
本発明の原理を適用することのできる多くの可能な実施形態に鑑みて、図面と共に本明細書で説明した実施形態は、単に例示的なものであって、発明の範囲を限定するものとして理解すべきでないことを理解されたい。本明細書で説明した本発明の方法に対して、他の技法も同様に適していることを当業者は理解されよう。例えば、赤、青、および青（ＲＧＢ）のカラーを使用するコンピュータモニタによって例示的実施形態を説明したが、シアン、マゼンタ、黄、および黒（ＣＭＹＫ）に一般に基づくカラープリンタでも本発明を使用することができる。例示的実施形態を２座標系で説明した。本発明は、他の座標系でも使用することができる。本発明をＶＧＡカラーフォーマットによって説明した。本発明は、他のカラーフォーマットでも使用することができる。加えて、ソフトウェアで示した例示の実施形態の要素をハードウェアで実装することができ、逆も同様であり、または本発明の精神から逸脱することなく、例示の実施形態の配置および細部を変更できることを当業者は理解されよう。したがって、本明細書で説明した本発明では、すべてのこのような実施形態が、特許請求の範囲およびその均等物の範囲内にあることが企図される。
【図面の簡単な説明】
【図１】  本発明が常駐する例示的コンピュータシステムを一般的に示すブロック図である。
【図２】  画像上の位置でレンダリングするカラーを得るためのプロセスの流れ図である。
【図３】  トゥルーカラー画像である。
【図４】  トゥルーカラー画像である。
【図５】  従来技術のハーフトーン方法を用いた図２の画像のＶＧＡハーフトーン画像である。
【図６】  本発明の教示による図２の画像のＶＧＡハーフトーン画像である。
【図７】  従来技術のハーフトーン方法を用いた図３の画像のＶＧＡハーフトーン画像である。
【図８】  本発明の教示による図３の画像のＶＧＡハーフトーン画像である。
【図１】
0004714397.tif 000013
【図２】
0004714397.tif 000014
【図３】
0004714397.tif 000015
【図４】
0004714397.tif 000016
【図５】
0004714397.tif 000017
【図６】
0004714397.tif 000018
【図７】
0004714397.tif 000019
【図８】
0004714397.tif 000020