(57)【要約】【課題】  ユーザがアプリケーション上で画像の色を編集する際、特に明度、彩度を編集するときにＲＧＢ空間の形状から視覚的にわかりやすく編集を高速に行うことを可能とする。【解決手段】  調整用画像と３角形とを表示する表示手段３０と、調整用画像を構成する各画素のＲＧＢ値と３角形の頂点の座標とを格納する記憶手段２０と、ユーザの操作により３角形の形状を変化させる入力手段４０と、変化前の３角形に対応する画像の各画素のＲＧＢ値から、変化後の３角形に対応する画像の各画素のＲＧＢ値への変換規則を、変化の前後の３角形の頂点の各座標にもとづいて決定し、この変換規則にもとづき画像のＲＧＢ値を変換するＲＧＢ変換手段５３とを備え、表示手段３０は、変換されたＲＧＢ値にもとづく画像を表示する。【選択図】    図２
2009159254.tif 000002
【特許請求の範囲】
【請求項１】
表示された画像の色調整を行う画像処理装置であって、
前記画像とともに３角形を表示する表示手段と、
前記画像を構成する各画素のＲＧＢ値と、前記３角形の頂点の座標とを格納する記憶手段と、
ユーザの操作により前記３角形の形状を変化させる入力手段と、
前記３角形の形状の変化に応じて前記画像のＲＧＢ値を変換させるＲＧＢ変換手段とを備え、
このＲＧＢ変換手段は、
変化後の前記３角形の頂点の座標を座標情報として算出し、
変化前の３角形に対応する前記画像の各画素のＲＧＢ値から、変化後の３角形に対応する前記画像の各画素のＲＧＢ値への変換規則を、前記座標情報にもとづいて決定し、
この決定した変換規則にもとづき、前記画像のＲＧＢ値を変換し、
前記表示手段は、変換されたＲＧＢ値にもとづく画像を表示する
ことを特徴とする画像処理装置。
【請求項２】
前記ＲＧＢ変換手段が、
前記記憶手段から１画素分のＲＧＢ値を入力ＲＧＢ値として取得し、
前記入力ＲＧＢ値を所定の区間に正規化し、
前記入力ＲＧＢ値が所属する色相におけるクロマピーク値を算出し、
前記入力ＲＧＢ値の３角形内における相対的な位置を計算し、
前記３角形の形状の変化をベクトルで表したときのベクトル係数を前記座標情報にもとづいて算出し、
前記クロマピーク値と前記相対的位置係数と前記ベクトル係数情報とを前記変換規則として用いて、変化後の３角形に対応する画像の当該画素のＲＧＢ値を計算する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記３角形の一辺が、グレー軸を構成し、
このグレー軸上の２つの頂点が、ＷＨＩＴＥとＢＬＡＣＫに相当し、
前記グレー軸上にない頂点が、クロマピークに相当し、
前記入力手段が前記頂点のいずれかを移動させることで前記３角形の形状が変化する
ことを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記記憶手段が、前記変化後の３角形に対応する画像を保存する
ことを特徴とする請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
表示された画像の色調整を行う画像処理方法であって、
前記画像とともに３角形を表示し、
前記画像を構成する各画素のＲＧＢ値と、前記３角形の頂点の座標とを格納し、
ユーザの操作により前記３角形の形状を変化させ、
変化後の前記３角形の頂点の座標を座標情報として算出し、
変化前の３角形に対応する画像の各画素のＲＧＢ値から、変化後の３角形に対応する画像の各画素のＲＧＢ値への変換規則を、前記座標情報にもとづいて決定し、
決定された変換規則にもとづき、画像のＲＧＢ値を変換し、
変換されたＲＧＢ値にもとづいて画像を表示する
ことを特徴とする画像処理方法。
【請求項６】
表示された画像の色調整を行う処理を画像処理装置に実行させる画像処理プログラムであって、
前記画像とともに３角形を表示する処理と、
前記画像を構成する各画素のＲＧＢ値と、前記３角形の頂点の座標とを格納する処理と、
ユーザの操作により前記３角形の形状を変化させる処理と、
変化後の前記３角形の頂点の座標を座標情報として算出する処理と、
変化前の３角形に対応する画像の各画素のＲＧＢ値から、変化後の３角形に対応する画像の各画素のＲＧＢ値への変換規則を、前記座標情報にもとづいて決定する処理と、
決定された変換規則にもとづき、画像のＲＧＢ値を変換する処理と、
変換されたＲＧＢ値にもとづいて画像を表示する処理と
を前記画像処理装置に実行させる
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザによりアプリケーション上で画像の色を編集することが可能な画像処理装置、この色編集に関する処理の手順を示す画像処理方法、及び、この画像処理方法を実行するための画像処理プログラムに関し、特に、表示手段に画像を表示し、その画像を見ながら入力手段を操作して色編集を行う画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
カラー画像処理及び像形成を行う場合、画面表示時に使用される基本３色であるＲＧＢの各値のそれぞれ、又は、印刷時に使用される色材の基本４色であるＣＭＹＫの各値のそれぞれのいずれかをユーザが変更することで、印刷される色を微調整していた。
ところが、この手法では、調整に使用しているＲＧＢやＣＭＹＫのパラメータが、人間の色彩感覚とは必ずしも一致しないパラメータとなっていた。このため、ユーザが特定の色を別の色に微調整したい場合などは複数のパラメータを同時に調整する必要があり、なかなか期待するような色の微調整を実現することができなかった。
【０００３】
そこで、入力された第一の色空間のデータを、人間の色彩感覚に一致した色空間のデータに変換する色空間変換手段と、その色空間において入力された調整値にもとづいてサンプル画像を調整するとともに、その入力された調整値にもとづいて変換後の人間の色彩感覚に一致した色空間のデータを調整する調整手段と、この調整結果を表示する表示手段とを有した装置が提案されている（例えば、特許文献１参照。）。
【０００４】
この技術によれば、色調整値を人間の色彩感覚に応じた色空間上において設定できるため、色調整値を直感的に設定することができ、操作性のよい色調整機能を提供できる。
【特許文献１】特許第３８０９２１７号公報（第５−７頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術においては、明度、彩度、色相における調整をＨＬＳ空間にて行っていた。この調整方法では、ＲＧＢ値をＨＬＳ値に変換した後、再度ＲＧＢ値に変換しなければならず、計算時間上のロスが大きかった。
【０００６】
また、調整方法として、スクロールバーによる調整を例に挙げているが、この調整方法では、感覚的にわかりやすい調整を行うことがむずかしかった。
さらに、ＨＬＳ空間による、Ｈ，Ｌ，Ｓ値の独立した調節では調節できる幅に限りがあった。
【０００７】
本発明は、上記の事情にかんがみなされたものであり、ユーザがアプリケーション上で画像の色を編集する際、特に明度、彩度を編集するときにＲＧＢ空間の形状から視覚的にわかりやすく編集を高速に行うことを可能とする画像処理装置、画像処理方法及び画像処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の画像処理装置は、表示された画像の色調整を行う画像処理装置であって、画像とともに３角形を表示する表示手段と、画像を構成する各画素のＲＧＢ値と、３角形の頂点の座標とを格納する記憶手段と、ユーザの操作により３角形の形状を変化させる入力手段と、３角形の形状の変化に応じて画像のＲＧＢ値を変換させるＲＧＢ変換手段とを備え、このＲＧＢ変換手段は、変化後の３角形の頂点の座標を座標情報として算出し、変化前の３角形に対応する画像の各画素のＲＧＢ値から、変化後の３角形に対応する画像の各画素のＲＧＢ値への変換規則を、座標情報にもとづいて決定し、この決定した変換規則にもとづき、画像のＲＧＢ値を変換し、表示手段は、変換されたＲＧＢ値にもとづく画像を表示する構成としてある。
【０００９】
また、本発明の画像処理方法は、表示された画像の色調整を行う色調整方法であって、画像とともに３角形を表示し、画像を構成する各画素のＲＧＢ値と、３角形の頂点の座標とを格納し、ユーザの操作により３角形の形状を変化させ、変化後の３角形の頂点の座標を座標情報として算出し、変化前の３角形に対応する画像の各画素のＲＧＢ値から、変化後の３角形に対応する画像の各画素のＲＧＢ値への変換規則を、座標情報にもとづいて決定し、決定された変換規則にもとづき、画像のＲＧＢ値を変換し、変換されたＲＧＢ値にもとづいて画像を表示する方法としてある。
【００１０】
また、本発明の画像処理プログラムは、表示された画像の色調整を行う処理を画像処理装置に実行させる色調整プログラムであって、画像とともに３角形を表示する処理と、画像を構成する各画素のＲＧＢ値と、３角形の頂点の座標とを格納する処理と、ユーザの操作により３角形の形状を変化させる処理と、変化後の３角形の頂点の座標を座標情報として算出する処理と、変化前の３角形に対応する画像の各画素のＲＧＢ値から、変化後の３角形に対応する画像の各画素のＲＧＢ値への変換規則を、座標情報にもとづいて決定する処理と、決定された変換規則にもとづき、画像のＲＧＢ値を変換する処理と、変換されたＲＧＢ値にもとづいて画像を表示する処理とを画像処理装置に実行させる構成としてある。
【発明の効果】
【００１１】
以上のように、本発明によれば、色変換の式として、ＲＧＢ空間におけるベクトル演算を用い、その効果として高速な色変換を行うことが可能となった。よって、よりピクセル数が多い画像においてもリアルタイムに表示を切り替えることが可能となった。
また、ユーザが空間上でどのようにＲＧＢ値が動いているのかを把握しながら調整ができるので、より感覚的な調整が可能となる。
さらに、ユーザが動かした頂点の座標から色調整を行うので、より柔軟な色調整を行うことができる。つまり、行える色調整の組み合わせが多くなった。
【発明を実施するための最良の形態】
【００１２】
以下、本発明に係る画像処理装置、画像処理方法及び画像処理プログラムの好ましい実施形態について、図面を参照して説明する。
【００１３】
［画像処理装置］
まず、本発明の画像処理装置の第一実施形態について、図１を参照して説明する。
同図は、本実施形態の画像処理装置の構成を示すブロック図である。
【００１４】
本実施形態の画像処理装置は、プログラム制御により動作するコンピュータであって、同図に示すように、ＨＤＤ１０と、メモリ２０と、画像表示手段３０と、入力手段４０と、色調整用アプリケーション５０とを有している。
ＨＤＤ１０は、元画像データと、調整後画像データとを、それぞれ画像ファイルとして記憶（格納）する。
メモリ２０は、ＨＤＤ１０から取り出された元画像データ（色調整用アプリケーション５０で調整処理される前の画像データ）を記憶する。また、調整後画像データ（色調整用アプリケーション５０で調整処理された後の画像データ）を記憶する。さらに、メモリ２０は、表示手段３０に表示される３角形の頂点の座標、ＲＧＢ値の変換に用いる各種データなどを記憶する。
【００１５】
画像表示手段（ディスプレイ、モニタ）３０は、ＧＵＩ(Graphical User Interface)の機能を実装したＯＳ(Operating
System)により、図２に示すような画面を表示する。この画面には、ルックアップテーブル（ＬＵＴ）から切りだした色相面を模した３角形と、この３角形の形状の変化に応じてＲＧＢ値が変化する調整用画像とを表示する。
また、画像表示手段３０は、図３に示すように、調整用画像として使用可能な画像の一覧（調整用画像選択画面）を表示することができる。
【００１６】
入力手段４０は、ＭＭＩ(Man Machine Interface)やポインティングデバイスなどで構成することができ、具体的には、例えば、マウス、トラックボール、トラックパッド、ジョイスティック、キーボード、コントローラなどが含まれる。
なお、本実施形態の画像処理方法の実行にあたっては、入力手段４０として、マウスが主に使用される。
また、入力手段４０は、画像表示手段３０に表示された画像一覧の中から調整用画像を指定する。
【００１７】
色調整用アプリケーション５０は、ピクセルＲＧＢデータ入手部５１と、座標データ受付部５２と、ＲＧＢ値変換部５３と、画像表示処理部５４と、３角形管理部５５とを有している。
ピクセルＲＧＢデータ入手部５１は、調整用画像の各画素のＲＧＢ値を、元画像データとして、メモリ２０から取得する。この取得されたＲＧＢ値は、ＲＧＢ値変換部５３へ送られる。
【００１８】
座標データ受付部５２は、画像表示手段３０に表示される３角形の各頂点の座標の初期値を３角形頂点座標データとしてメモリ２０に格納する。
また、入力手段４０が操作されることにより３角形の形状が変形すると、この変形後（または、変形途中）の３角形における各頂点の座標を求める。この求めた頂点の座標は、ＲＧＢ値変換部５３へ送られるとともにメモリ２０に格納される。このメモリ２０への格納により、３角形頂点座標データは更新される。
【００１９】
ＲＧＢ値変換部（ＲＧＢ値変換手段）５３は、座標データ受付部５２で求められた座標にもとづき、出力ＲＧＢ値を算出する。算出された出力ＲＧＢ値は、調整後画像データとしてメモリ２０に格納される。この出力ＲＧＢ値の算出方法の詳細は、後記の「画像処理方法」で詳述する。
画像表示処理部５４は、メモリ２０から取り出した元画像データにもとづいて調整用画像を画像表示手段３０に表示させる。また、メモリ２０から取り出した調整後画像データにもとづいて、現在画像表示手段３０に表示されている調整用画像のＲＧＢ値を変化させ、この変化後の画像を画像表示手段３０に表示させる。これにより、３角形の頂点の移動にともなって調整用画像のＲＧＢ値もリアルタイムで変化させることができる。
３角形管理部５５は、メモリ２０から取り出した３角形の頂点の座標にもとづいて、３角形を画像表示手段３０に表示させる。また、座標データ受付部５２により、メモリ２０に格納された３角形頂点座標データが更新されると、この更新後のデータにもとづいて、３角形を画像表示手段３０に表示させる。
【００２０】
さらに、画像処理装置１は、記憶手段や制御手段（いずれも図示せず）を有している。
記憶手段は、画像処理装置１の有する各種機能を実行するためのデータやプログラム（画像処理プログラムを含む）を記憶する。
制御手段は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により構成することができ、記憶手段に記憶されているプログラムを読み込んで実行することにより、画像処理装置１の構成各部に指令を送り、又は自ら動作して、画像処理装置１の有する各種機能を実行・制御する。
また、画像処理装置１は、印刷手段を有することができる。
【００２１】
［色調整用画面］
次に、画像表示手段３０に表示される色調整用画面について、説明する。
色調整用画面は、図２に示すように、調整用画像と、３角形が表示される。
以下、それぞれについて説明する。
【００２２】
（調整用画像）
調整用画像は、図３に示す調整用画像選択画面で選択された画像である。
調整用画像や、調整用画像選択画面に表示される複数の画像は、任意の画像を用いることができる。
ただし、色調整を行うため、カラー画像であることが望ましい。
【００２３】
（３角形）
次に、３角形について説明する。
３角形は、Ｂｌａｃｋ点と、Ｗｈｉｔｅ点と、Ｒ（Ｒｅｄ）→Ｙ（Ｙｅｒｒｏｗ）→Ｇ（Ｇｒｅｅｎ）→Ｃ（Ｃｙａｎ）→Ｂ（Ｂｌｕｅ）→Ｍ（Ｍａｇｅｎｔａ）→Ｒ（Ｒｅｄ）を結ぶ、立方体の辺上にあるもう１点（クロマピーク点）とを結ぶことによって生成される。
３角形は、ＲＧＢ空間における等色相面になる。
３角形の性質としては、３角形内部の点は、グレー軸（ＢｌａｃｋとＷｈｉｔｅを結ぶ線）に近いほど彩度が低く、クロマピーク点に近いほど明度が低い。
【００２４】
［画像処理方法］
次に、本実施形態の画像処理装置の動作（画像処理方法、色調整方法）について、図４を参照して説明する。
同図は、画像処理方法の動作手順を示すフローチャートである。
【００２５】
(１)  調整用画像の指定
色調整用アプリケーション５０は、調整用画像として表示可能な画像の一覧を、図３示すように、調整用画像選択画面として画像表示手段３０に表示させる。
次いで、ユーザによる入力手段４０の操作により、調整用画像選択画面に表示された画像一覧の中から一つの画像が選択されると、色調整用アプリケーション５０は、その選択された画像を、色調整用画面に表示する調整用画像として指定する。
【００２６】
(２)  調整用画像の全画素分のＲＧＢ値の格納
色調整用アプリケーション５０は、指定した調整用画像の画像ファイルを、ＨＤＤ１０から読み込む（ステップ１０）。次いで、色調整用アプリケーション５０は、その画像ファイルに収められた調整用画像の全画素分（ピクセル数分）のＲＧＢ値が格納できるようにメモリ２０に格納領域を確保する。そして、その調整用画像の全画素分のＲＧＢ値をメモリ２０に格納する（ステップ１１）。
【００２７】
(３)  調整用画像の表示
続いて、色調整用アプリケーション５０の画像表示処理部５４は、メモリ２０上から画素情報（全画素分のＲＧＢ値を含む）を取り出し、画像表示手段３０に表示可能なフォーマットに変換する。そして、その変換後の画素情報にもとづき、画像表示手段３０に、調整用画像を表示させる。
【００２８】
(４)  ３角形の各頂点における座標の初期値を格納
画像表示手段３０に表示される３角形の各頂点を、図５に示すように、点Ｂ（Ｂｌａｃｋ）、点Ｐ（Ｐｅａｋ  ｃｈｒｏｍａ）、点Ｗ（Ｗｈｉｔｅ）とする。
そして、その表示される上記３点の位置（座標）を、次のように表す。
Ｂ＝（x_b，y_b）                          ・・・（式１）
Ｐ＝（x_p，y_p）                          ・・・（式２）
Ｗ＝（x_w，y_w）                          ・・・（式３）
これらの値は、初期値として予め設定されている。アプリケーション５０の３角形管理部５５は、ＧＵＩとして表示される３角形の各頂点の座標の初期値を、メモリ２０に格納する（ステップ１２）。
【００２９】
(５)  ３角形の表示
次いで、３角形管理部５５は、メモリ２０に格納した各頂点の座標の初期値にもとづいて、ユーザが調節を指示するために用いられるＧＵＩとなる３角形を、画像表示手段３０に表示させる（ステップ１３）。
【００３０】
(６)  ３角形の頂点の移動
ユーザによる入力手段４０の操作（例えば、３角形の形状をしたＧＵＩの頂点を、マウス等を用いてドラッグする操作）に伴って、画像表示手段３０は、その３角形の頂点が移動する様子や、移動後の各頂点を表示する。
例えば、図６に示すように、点Ｂから点Ｂ'への移動、点Ｐから点Ｐ'への移動、点Ｗから点Ｗ'への移動を、入力手段４０の操作に応じて表示することができる。そして、一つの頂点が移動すると、この頂点と他の頂点とを結ぶ線や、３角形内の各格子点も移動する。
なお、点Ｂと点Ｗは、グレー軸上のみで移動できるものとする。
また、点Ｐは、３角形の中の方に移動することができ、さらに、同図に示すように、３角形の外に移動することもできる。
【００３１】
(７)  移動中又は移動後の頂点の座標を取得
３角形の頂点の移動に伴って、色調整用アプリケーション５０は、ループＡの実行を開始する（ステップ１４）。このループＡは、３角形の各頂点の座標に変化がある間は実行される。
色調整用アプリケーション５０の座標データ受付部５２は、入力手段４０の操作内容を受け取る。この操作内容には、例えば、マウスの移動方向，移動距離，動作速度などが含まれる。この操作内容に応じて、座標データ受付部５２は、移動後（移動中）の３角形の各頂点の座標を求める（現在の３点の座標の取得）。そして、この取得した座標をメモリ２０に格納する（ステップ１５）。
【００３２】
移動後の各頂点の値を、便宜上、次のように表記する。
Ｂ'＝(x_b',y_b')                          ・・・（式４）
Ｐ'＝(x_p',y_p')                          ・・・（式５）
Ｗ'＝(x_w',y_w')                          ・・・（式６）
なお、ユーザによって頂点が動かされている間、頂点の座標に変化があるたびに、座標データ受付部５２は、現在の各頂点の値をメモリ２０に随時格納する。
【００３３】
(８)  １画素分の入力ＲＧＢ値の取得
現在の３点の座標が取得されると、続いて、色調整用アプリケーション５０は、ループＢの実行を開始する（ステップ１６）。
色調整用アプリケーション５０のピクセルＲＧＢデータ入手部５１は、メモリ２０から調整用画像の１画素分の入力ＲＧＢ値を取得する（ステップ１７）。
この取得したＲＧＢ値を、便宜上（r,g,b）と表記する。
この取得したＲＧＢ値は、ＲＧＢ値変換部５３へ送られる。
なお、２４ビット画像の場合、Ｒ，Ｇ，Ｂの範囲は、それぞれ０から２５５までの整数となる。
【００３４】
(９)  入力ＲＧＢ値の正規化
ＲＧＢ値変換部５３は、入力ＲＧＢ値を０−１の区間に正規化する（ステップ１８）。
上述したように、２４ビット画像の場合、Ｒ，Ｇ，Ｂの取り得る値は整数で、範囲は、０から２５５となる。この場合、Ｒ，Ｇ，Ｂ値をそれぞれ２５５で割り、小数で０から１の区間の値に正規化する。
正規化されたＲＧＢ値を便宜上（r_i,g_i,b_i）と表記すると、２４ビット画像の場合、各値は、次式で表わされる。
r_i＝r/255                                  ・・・（式７）
g_i＝g/255                                  ・・・（式８）
b_i＝b/255                                  ・・・（式９）
【００３５】
(10)  入力ＲＧＢ値が所属する色相におけるクロマピーク値の算出（ステップ１９）
クロマピークとは、色相における彩度（クロマ）の最も高い点をいう。
一般にＲＧＢ空間において、ひとつの色相に対し、クロマピーク値はユニークな値である。クロマピーク値が定まると、その値から色相も一意的に定まる。
【００３６】
図７の右図のように、クロマピーク値と、白点、黒点の３点を結ぶことにより、１つの色相におけるＲＧＢ空間の断面（色相面）となる。
ここで、便宜上、クロマピーク値を（r_c,g_c,b_c）と表記する。
そして、正規化されたＲＧＢ値を（r_i,g_i,b_i）としたとき、対応する色相におけるクロマピーク値（r_c,g_c,b_c）は、図８に示す対応表のようになる。この対応表における対応関係は、簡単な数学的証明によるが、ここでは省略する。
ＲＧＢ値変換部５３は、同図の対応表に示された対応関係にもとづいて、クロマピーク値を求める。
【００３７】
ここで、入力ＲＧＢ値が、r_i＝g_i＝b_iのような場合は無彩色であるので、特定の所属する色相及び対応するクロマピーク点はないが、便宜上対応する値を次のように定めておく。
r_i＝０                                    ・・・（式10）
g_i＝０                                    ・・・（式11）
b_i＝０                                    ・・・（式12）
なお、どのような実数値を定めても今後の計算に影響はしない。
【００３８】
(11)  入力ＲＧＢ値の３角形内における相対的な位置の算出（ステップ２０）
入力ＲＧＢ値のＲＧＢ空間内部における任意の点を点Ｓと表記する。
この点Ｓについて相対的位置とは、図９に示すような状態において、ベクトルを用いて点Ｓの位置を表わすための式に用いられる係数をいう。
つまり、
vec{BS}＝(hor)vec{BP}＋(ver)vec{BW}          ・・・（式13）
と書いたときのhor，verの値をさす。
なお、「vec{ａ}」とは、ベクトルａを意味する。
【００３９】
この式１０が成り立つ理由は、次による。
すなわち、vec{BP}とvec{BW}は、一次独立であるので、図６の平面状の任意を点Ｒとすると、
vec{BR}＝αvec{BP}＋βvec{BW}              ・・・（式14）
と書き表すことができる。このため、式１３が成り立つ。
【００４０】
hor，verは、図１０に示す対応表にもとづいて算出することができる。
すなわち、正規化されたＲＧＢ値である（r_i，g_i，b_i）の各値を用いて、hor，verを算出することができる。
ＲＧＢ値変換部５３は、同図の対応表に示された対応関係にもとづいて、hor，verを算出し、メモリ２０に格納する。
なお、図１０に示す対応表は、数学的に証明可能であるが、ここでは省略する。
【００４１】
(12)  ベクトル係数情報の算出（ステップ２１）
ベクトル係数情報とは、次の各式におけるt,u,v,wのそれぞれをいう。
vec{BP'}＝t(vec{BP})＋u(vec{BW})            ・・・（式15）
vec{BB'}＝v(vec{BW})                        ・・・（式16）
vec{BW'}＝w(vec{BW})                        ・・・（式17）
これら各式は、図６に示す３角形の移動後の頂点Ｐ',Ｂ',Ｗ'の位置をベクトルで表現したものである。
【００４２】
上記式１２〜式１４が成り立つ理由は、次による。
図６に示す３角形において、vec{BP}とvec{BW}は、一次独立である。このため、同図に示す平面上の任意の点Ｒは、次式で表すことができる。
vec{BR}＝αvec{BP}＋βvec{BW}              ・・・（式18）
この式１８から、式１５が成り立つことがわかる。
また、BW上（グレー軸上）の任意の点Ｒは、次式で表わすことができる。
vec{BR}＝γvec{BW}                        ・・・（式19）
この式１９から、式１６及び式１７が成り立つことがわかる。
【００４３】
ベクトル係数情報の各値を求める式を導く。
図６に示すＢ，Ｐ，Ｗ，Ｂ'，Ｐ'，Ｗ'の各点の座標を、次のように表す。
Ｂ＝(x_b,y_b);                            ・・・（式20）
Ｐ＝(x_p,y_p);                            ・・・（式21）
Ｗ＝(x_w,y_w);                            ・・・（式22）
Ｂ'＝(x_b',y_b')                          ・・・（式23）
Ｐ'＝(x_p',y_p')                          ・・・（式24）
Ｗ'＝(x_w',y_w')                          ・・・（式25）
これらを（式15）〜（式17）に代入することにより、次の関係式ができあがる。
x_p'-x_b=t(x_p-x_b)+u(x_w-x_b)            ・・・（式26）
y_p'-y_b=t(y_p-y_b)+u(y_w-y_b)            ・・・（式27）
x_b'-x_b=v(x_w-x_b)                        ・・・（式28）
y_b'-y_b=v(y_w-y_b)                        ・・・（式29）
x_w'-x_b=w(x_w-x_b)                        ・・・（式30）
y_w'-y_b=w(y_w-y_b)                        ・・・（式31）
以上の式を解くことにより、次のような解を得ることができる。
t=((x_p'-x_b)*(y_w-y_b)-(y_p'-y_b)*(x_w-x_b))/((x_p-x_b)
*(y_w-y_b)-(x_w-x_b)*(y_p-y_b))          ・・・（式32）
u=((x_p'-x_b)*(y_p-y_b)-(y_p'-y_b)*(x_p-x_b))/((x_p-x_b)
*(y_w-y_b)-(x_w-x_b)*(y_p-y_b))          ・・・（式33）
v=(x_b'-x_b)/(x_w-x_b)=(y_b'-y_b)-(y_w-y_b)  ・・・（式34）
w=(x_w'-x_b)/(x_w-x_b)=(y_w'-y_b)-(x_w-x_b)  ・・・（式35）
ＲＧＢ値変換部５３は、これら式３２〜式３５を用いてt,u,v,wの値を算出し、メモリ２０に格納する。
なお、（式18），（式19）の性質により、解t,u,v,wは、必ず一意的に求めることができる。
【００４４】
(13)  出力ＲＧＢ値の算出
ＲＧＢ値変換部５３は、これまでに求めた、クロマピークの値(r_c,g_c,b_c)、hor,verの値、及び、t,u,v,wの値を、変換規則として用いて、出力ＲＧＢ値を計算する（ステップ２２）。
出力ＲＧＢ値は、次のように表現する。
Ｓ＝(r_o,g_o,b_o)                        ・・・（式36）
また、出力ＲＧＢ値の各値を以下のように定める。
r_o＝ｖ＋(hor)(t*r_c+u-v)+(ver)(w-v)      ・・・（式37）
g_o＝ｖ＋(hor)(t*g_c+u-v)+(ver)(w-v)      ・・・（式38）
b_o＝ｖ＋(hor)(t*b_c+u-v)+(ver)(w-v)      ・・・（式39）
【００４５】
ここで、ＲＧＢ空間内の点について説明する。
出力ＲＧＢ値の表わす点を、図１１に示すように、点Ｓ’と表記する。
また、元のＲＧＢ空間の３点を点Ｂ，点Ｐ，点Ｗとする。
さらに、移動後の３点を点Ｂ’，点Ｐ’，点Ｗ’とおく。
これら６点は、モニタ平面状の点Ｂ，Ｐ，Ｗ，Ｂ'，Ｐ'，Ｗ'をＲＧＢ空間内の点に対応付けたものである。
【００４６】
今、正規化されたＲＧＢ空間内において、Ｂ，Ｗ，Ｐは、次のように表される。
Ｂ＝(０,０,０)                            ・・・（式40）
Ｗ＝(１,１,１)                            ・・・（式41）
Ｐ＝(r_c,g_c,b_c)                        ・・・（式42）
【００４７】
モニタ上の平面空間にＲＧＢ空間を対応させる。
モニタ平面上の点Ｂ,Ｐ,Ｗ,Ｂ',Ｐ',Ｗ'とＲＧＢ空間上の点Ｂ,Ｐ,Ｗ,Ｂ',Ｐ',Ｗ'を対応させる。
すると、次式のように書くことができる。
vec{BP'}＝ｔvec{BP}＋ｕvec{BW}              ・・・（式43）
vec{BB'}＝ｖvec{BW}                          ・・・（式44）
vec{BW'}＝ｗvec{BW}                          ・・・（式45）
【００４８】
一方、移動後の３角形におけるＳ'の位置に元の３角形におけるＳの位置を同じ比で反映させるために、次のようにＳ'の位置を定める。
vec{B'S'}＝(hor)vec{B'P'}＋(ver)vec{B'W'}    ・・・（式46）
【００４９】
以上より計算を行うと、次のようになる。
vec{BS'}
＝vec{BB'}+vec{B'S'}
＝ｖvec{BW}+(hor)vec{B'P'}+(ver)vec{B'W'}
＝ｖvec{BW}+(hor)(vec{BP'}-vec{BB'})+(ver)(vec{BW'}
-vec{BB'})
＝ｖvec{BW}+(hor)(ｔvec{BP}+ｕvec{BW}-ｖvec{BW})+(ver)
(ｗvec{BW}-ｖvec{BW})
＝ｖ(1,1,1)+(hor)(ｔ(r_c,g_c,b_c)+ｕ(1,1,1)-ｖ(1,1,1))
+(ver)(ｗ(1,1,1)-ｖ(1,1,1))
＝(ｖ+(hor)(ｔ*r_c+ｕ-ｖ)+(ver)(ｗ-ｖ),ｖ+(hor)
(ｔ*g_c+ｕ-ｖ)+(ver)(ｗ-ｖ),ｖ+(hor)(ｔ*b_c+ｕ-ｖ)
+(ver)(ｗ-ｖ))                        ・・・（式47）
【００５０】
今、次式が成立している。
vec{BS'}＝(r_o,g_o,b_o)-(0,0,0)＝(r_o,g_o,b_o)・・・（式48）
よって、出力後のＲＧＢ値は、次の各式により求めることができる。
r_o＝ｖ＋(hor)(ｔ＊r_c＋ｕ−ｖ)＋(ver)(ｗ−ｖ)  ・・（式49）
g_o＝ｖ＋(hor)(ｔ＊g_c＋ｕ−ｖ)＋(ver)(ｗ−ｖ)  ・・（式50）
b_o＝ｖ＋(hor)(ｔ＊b_c＋ｕ−ｖ)＋(ver)(ｗ−ｖ)  ・・（式51）
【００５１】
(14)  出力ＲＧＢ値を範囲内に丸める。
ＲＧＢ値変換部５３は、r_o,g_o,b_oの値を０から１の範囲内に丸め込む。
例えば、次のような方法が一番簡単である。
r_o,g_o,b_oの値が、１より大きい場合は、１にする。
r_o,g_o,b_oの値が、０より小さい場合は、０にする。
【００５２】
(15)  出力ＲＧＢ値をもとの範囲に戻す（ステップ２３）
２４ビット画像の場合、Ｒ,Ｇ,Ｂの範囲は、０から２５５となる。
便宜上出力後のＲＧＢ値を(R_o,G_o,B_o)と書くと、ＲＧＢ値変換部５３は、それらR_o，G_o，B_oを、次のように求める。
R_oの値：r_o＊２５５の値を小数第１位で四捨五入した値
G_oの値：g_o＊２５５の値を小数第１位で四捨五入した値
B_oの値：b_o＊２５５の値を小数第１位で四捨五入した値
この処理により、R_o,G_o,B_oは、すべて０から２５５までの範囲の整数となる。
なお、次のようにしても得られる結果は、同じである。
R_oの値：(r_o＊２５５＋０.５)の値を小数第１位で切り捨てた値
G_oの値：(g_o＊２５５＋０.５)の値を小数第１位で切り捨てた値
B_oの値：(b_o＊２５５＋０.５)の値を小数第１位で切り捨てた値
【００５３】
(16)  出力ＲＧＢ値の格納
色調整用アプリケーション５０は、ステップ２３でもとの範囲に戻された出力ＲＧＢ値を、メモリ２０に、調整後画像データとして格納する（ステップ２４）。
このステップ２４の処理の実行完了により、色調整用アプリケーション５０は、ループＢの１回のループを終了する。このループＢは、各画素ごとに実行される。すなわち、すべての画素についてループＢが実行されると、このループＢが終了する（ステップ２５）。
【００５４】
(17)  画像表示の更新
色調整用アプリケーション５０は、メモリ２０に保存されている画素情報を画面に表示可能なフォーマットに変換する（ステップ２６）。
このステップ２６の処理の実行完了により、色調整用アプリケーション５０は、ループＡの処理を終了する（ステップ２７）。
【００５５】
(18)  更新画像の保存
画像表示手段３０は、「保存」のボタンを表示する。
色調整用アプリケーション５０は、ユーザによる入力手段４０の操作により、「保存」ボタンが押下されたか否かを判断する（ステップ２８）。
判断の結果、「保存」ボタンが押下されたときは、色調整用アプリケーション５０は、そのユーザの指定したフォーマットで、更新画像をメモリ２０（又は、ＨＤＤ１０）に保存する（ステップ２９）。
一方、「保存」ボタンが押下されなかったときは、更新画像の保存処理は、実行されない。
【００５６】
以上、説明したように、画像表示手段に表示された３角形の頂点を移動させることにより、調整用画像のＲＧＢ値をリアルタイムに変化させることができる。
なお、具体的に画像処理方法を実行したときの３角形及び画像の様子を図１２、図１３に示す。
図１２は、３角形のＷ点はそのままにして、Ｐ点とＢ点とをそれぞれ移動したときの３角形及び調整用画像を示す図、図１３は、Ｗ点とＢ点はそのままにして、Ｐ点をグレー軸まで移動したときの３角形及び調整用画像を示す図である。
【００５７】
図１２に示す３角形においては、彩度が約２／３になるような点までＰ点が移動している。このため、調整用画像は、彩度が小さくなっている。また、Ｗ点に近くなる方向にＢ点が少し移動している。このため、調整用画像は、明度が若干高くなっている。
一方、図１３に示す３角形においては、彩度が０になるまでＰ点が移動している。このため、調整用画像は、彩度がない状態で表示される。
ただし、図１２、図１３、図２に示された３角形及び調整用画像のそれぞれは、出願手続の関係から白黒画像となっているが、もともとは、カラー画像であって、３角形の頂点の移動に伴って調整用画像のＲＧＢ値が顕著に変化する。
【００５８】
［画像処理プログラム］
次に、画像処理プログラムについて説明する。
上記の実施形態におけるコンピュータ（画像処理装置）の画像処理機能（画像処理方法を実行するための機能）は、記憶手段（例えば、ＲＯＭやハードディスクなど）に記憶された画像処理プログラムにより実現される。
【００５９】
画像処理プログラムは、コンピュータの制御手段（ＣＰＵなど）に読み込まれることにより、コンピュータの構成各部に指令を送り、所定の処理、たとえば、ピクセルＲＧＢデータ入手部のＲＧＢ値取得処理、座標データ受付部の操作内容取得処理、ＲＧＢ値変換部のＲＧＢ値変換処理、画像表示処理部の調整用画像表示処理、３角形管理部の３角形表示処理などを行わせる。
これによって、画像処理機能は、ソフトウエアである画像処理プログラムとハードウエア資源であるコンピュータ（画像処理装置）の各構成手段とが協働することにより実現される。
【００６０】
なお、画像処理機能を実現するための画像処理プログラムは、コンピュータのＲＯＭやハードディスクなどに記憶される他、コンピュータ読み取り可能な記録媒体、たとえば、外部記憶装置及び可搬記録媒体等に格納することができる。
外部記憶装置とは、ＣＤ−ＲＯＭ等の記憶媒体を内蔵し、画像処理装置に外部接続されるメモリ増設装置をいう。一方、可搬記録媒体とは、記録媒体駆動装置（ドライブ装置）に装着でき、かつ、持ち運び可能な記録媒体であって、たとえば、フレキシブルディスク，メモリカード，光磁気ディスク等をいう。
【００６１】
そして、記録媒体に記録されたプログラムは、コンピュータのＲＡＭ等にロードされて、ＣＰＵ（制御手段）により実行される。この実行により、本実施形態の画像処理装置の機能が実現される。
さらに、コンピュータで画像処理プログラムをロードする場合、他のコンピュータで保有された画像処理プログラムを、通信回線を利用して自己の有するＲＡＭや外部記憶装置にダウンロードすることもできる。このダウンロードされた画像処理プログラムも、ＣＰＵにより実行され、本実施形態の画像処理装置の画像処理機能を実現する。
【００６２】
以上説明したように、本実施形態の画像処理装置、画像処理方法及び画像処理プログラムによれば、色変換の式として、ＲＧＢ空間におけるベクトル演算を用い、その効果として高速な色変換を行うことが可能となった。よって、よりピクセル数が多い画像においてもリアルタイムに表示を切り替えることが可能となった。
また、ユーザが空間上でどのようにＲＧＢ値が動いているのかを把握しながら調整ができるので、より感覚的な調整が可能となる。
さらに、ユーザが動かした頂点の座標から色調整を行うので、より柔軟な色調整を行うことができる。つまり、行える色調整の組み合わせが多くなった。
【００６３】
以上、本発明の画像処理装置、画像処理方法及び画像処理プログラムの好ましい実施形態について説明したが、本発明に係る画像処理装置、画像処理方法及び画像処理プログラムは上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、上述した実施形態では、画像処理装置が画像表示手段を備えた構成としたが、この構成に限定されるものではなく、画像処理装置と画像表示手段とは、インタネット，ＬＡＮ，無線ＬＡＮ等の通信回線を介して接続した構成とすることもできる。
【００６４】
また、上述した実施形態では、３角形の頂点を移動するようにしたが、３角形の頂点に限るものではなく、例えば、各格子点や、これら格子点を結ぶ線を移動可能としてもよい。ただし、この場合は、格子点や線以外の部分がどのように移動するかが一意に決まらない。このため、例えば、グレー軸以外の点が移動したときは、グレー軸上の各点は固定し、それ以外の部分をその移動した格子点や線に付随して移動させてもよい。これは、Ｐ点の移動時にはＷ点やＢ点が固定となっているのと同じ考え方である。
【産業上の利用可能性】
【００６５】
本発明は、カラー画像の色調整を行うアプリケーションに関する発明であるため、色調整を実行可能な装置や機器に利用可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施形態における画像処理装置の構成を示すブロック図である。
【図２】画像表示手段に表示される調整用画面の構成を示す正面図である。
【図３】調整用画像選択画面の構成を示す正面図である。
【図４】画像処理方法の手順を示すフローチャートである。
【図５】３角形の頂点を点Ｂ，点Ｐ，点Ｗとすることを示す図である。
【図６】３角形の頂点を移動した様子を示す図である。
【図７】ＬＵＴ、及び、ある色相面におけるクロマピーク，ＷＨＩＴＥ，ＢＬＡＣＫの位置をそれぞれ示す図である。
【図８】ＲＧＢ値とクロマピーク値の対応関係を示す図表である。
【図９】点Ｓの相対的位置を示す図である。
【図１０】ＲＧＢ値とhor，verの値との対応関係を示す図表である。
【図１１】ＲＧＢ空間における点Ｓ'の位置を示す図である。
【図１２】３角形のＷ点をそのままにして、Ｐ点（クロマピーク）とＢ点を移動したときの調整用画像の変化を示す図である。
【図１３】３角形のＷ点及びＢ点をそのままにして、クロマピークをグレー軸まで移動したときの調整用画像の変化を示す図である。
【符号の説明】
【００６７】
１  画像処理装置
１０  ＨＤＤ
２０  メモリ
３０  画像表示手段
４０  入力手段
５０  色調整用アプリケーション
５１  ピクセルＲＧＢデータ入手部
５２  座標データ受付部
５３  ＲＧＢ値変換部
５４  画像表示処理部
５５  ３角形表示処理部
【図１】
2009159254.tif 000003
【図３】
2009159254.tif 000004
【図４】
2009159254.tif 000005
【図５】
2009159254.tif 000006
【図６】
2009159254.tif 000007
【図８】
2009159254.tif 000008
【図９】
2009159254.tif 000009
【図１０】
2009159254.tif 000010
【図１１】
2009159254.tif 000011
【図２】
2009159254.tif 000012
【図７】
2009159254.tif 000013
【図１２】
2009159254.tif 000014
【図１３】
2009159254.tif 000015