(57)【要約】【課題】グラデーション等の中間色の指定と再現とを効率的に行うことができる画像処理装置および画像処理方法を提供すること。【解決手段】本発明は、特定の色を表現する単色カラーコードおよび前記特定の色以外の色を表現する中間色カラーコードを定義したカラーマップ１４３、ならびにカラーマップ１４３を用いて表現された画像データ２０を入力する入力手段１２と、入力した画像データ２０およびカラーマップ１４３を用い、画像データ２０の対象画素がカラーマップ１４３の単色カラーコードで指定されている場合はその単色カラーコードの示すカラー値を出力し、対象画素がカラーコードの中間色カラーコードで指定されている場合はその中間色カラーコードの示す２つの単色カラーコードおよびそれらに対応した２つの画素位置から対象画素の位置による補間計算によって求めたカラー値を出力する変換手段１４とを備えるものである。【選択図】図１
2007088825.tif 000002
【特許請求の範囲】
【請求項１】
カラーマップを構成するカラーコードによって表現された画像データから画素毎のカラー値を生成する画像処理装置において、
特定の色を表現する単色カラーコードおよび２つの前記単色カラーコードとそれらに対応した２つの画素位置とから前記特定の色以外の色を表現する中間色カラーコードを定義したカラーマップ、ならびに前記カラーマップを用いて表現された画像データを入力する入力手段と、
前記入力手段で入力した前記画像データおよび前記カラーマップを用い、前記画像データのビットマップにおける各画素毎にカラー値を求めるにあたり、対象画素が前記カラーマップの単色カラーコードで指定されている場合はその単色カラーコードの示すカラー値を出力し、対象画素が前記カラーコードの中間色カラーコードで指定されている場合はその中間色カラーコードの示す前記２つの単色カラーコードおよびそれらに対応した２つの画素位置から前記対象画素の位置による補間計算によって求めたカラー値を出力する変換手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記変換手段は、前記補間計算として直線補間を用いる
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記変換手段は、前記中間色カラーコードの示す前記２つの単色カラーコードと対応した２つの画素位置を、カラー値の変化の方向を表すベクトルの始点と終点として前記対象画素の位置による補間計算を行う
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記変換手段は、前記中間色カラーコードで指定されるパラメータに応じて前記補間計算の種類を切り替える
ことを特徴とする請求項１記載の画像処理装置。
【請求項５】
カラーマップを構成するカラーコードによって表現された画像データから画素毎のカラー値を生成する画像処理方法において、
特定の色を表現する単色カラーコードおよび２つの前記単色カラーコードとそれらに対応した２つの画素位置とから前記特定の色以外の色を表現する中間色カラーコードを定義したカラーマップ、ならびに前記カラーマップを用いて表現された画像データを入力する工程と、
入力した前記画像データおよび前記カラーマップを用い、前記画像データのビットマップにおける各画素毎にカラー値を求めるにあたり、対象画素が前記カラーマップの単色カラーコードで指定されている場合はその単色カラーコードの示すカラー値を出力し、対象画素が前記カラーコードの中間色カラーコードで指定されている場合はその中間色カラーコードの示す前記２つの単色カラーコードおよびそれらに対応した２つの画素位置から前記対象画素の位置による補間計算によって求めたカラー値を出力する工程と
を備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカラーコードによってカラー値を規定するカラーマップを用いて表現された画像データを取り込んで画素毎にカラー値を生成する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
従来、画像データに対する色付けを行う方法として、カラーコードを用いる方法がある（例えば、特許文献１、２参照。）。主に、表示色数が限られている表示装置などに用いられている。この場合、色表現は限定されるが、カラーパレットを用いることで色指定・色管理が容易となる特徴をもつ。また、フルカラープリンタを対象とした場合にも、中間段階の処理データ量・演算量が削減できるため、有効である。
【０００３】
代表的なＰＤＬ（Page Description Language）では、上記カラーコードを用いる色付をカラースペースの１つとしてサポートしている（Indexed Color Space）。カラーコードによる表現対象は、文字や簡単な図形などが一般的である。これらのオブジェクトにグラデーションを加えられると、表現力が増すことになる。
【０００４】
【特許文献１】特開平６−１３９３６４号公報
【特許文献２】特許第３５５４０３４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、グラデーションを複数のカラーコードを用いて擬似階調として表現する手法を用いているため、データ作成側に負荷がかかり、また階調表現力とカラーコード消費とのトレードオフが発生する。したがって、滑らかなグラデーションを実現しようとすると多くの処理時間がかかり、一方、処理時間の短縮化を図ろうとすると粗いグラデーションとなってしまうという問題が発生する。よって、本発明は、グラデーション等の中間色の指定と再現とを効率的に行うことができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明はこのような目的を達成するために成されたものである。すなわち、本発明は、カラーマップを構成するカラーコードによって表現された画像データから画素毎のカラー値を生成する画像処理装置において、特定の色を表現する単色カラーコードおよび２つの単色カラーコードとそれらに対応した２つの画素位置とから前記特定の色以外の色を表現する中間色カラーコードを定義したカラーマップ、ならびにカラーマップを用いて表現された画像データを入力する入力手段と、入力手段で入力した画像データおよびカラーマップを用い、画像データのビットマップにおける各画素毎にカラー値を求めるにあたり、対象画素がカラーマップの単色カラーコードで指定されている場合はその単色カラーコードの示すカラー値を出力し、対象画素がカラーコードの中間色カラーコードで指定されている場合はその中間色カラーコードの示す２つの単色カラーコードおよびそれらに対応した２つの画素位置から対象画素の位置による補間計算によって求めたカラー値を出力する変換手段とを備えるものである。
【０００７】
また、本発明は、カラーマップを構成するカラーコードによって表現された画像データから画素毎のカラー値を生成する画像処理方法において、特定の色を表現する単色カラーコードおよび２つの単色カラーコードとそれらに対応した２つの画素位置とから前記特定の色以外の色を表現する中間色カラーコードを定義したカラーマップ、ならびにカラーマップを用いて表現された画像データを入力する工程と、入力した画像データおよびカラーマップを用い、画像データのビットマップにおける各画素毎にカラー値を求めるにあたり、対象画素がカラーマップの単色カラーコードで指定されている場合はその単色カラーコードの示すカラー値を出力し、対象画素がカラーコードの中間色カラーコードで指定されている場合はその中間色カラーコードの示す２つの単色カラーコードおよびそれらに対応した２つの画素位置から対象画素の位置による補間計算によって求めたカラー値を出力する工程とを備えるものである。
【０００８】
このような本発明では、画像データの色づけとしてカラーマップを用いることで、限定されたカラーコードによって色を表現し、データ処理の効率化を図る。また、カラーマップにおける特定の色を表現する単色カラーコードで表現されない中間色については、２つの単色カラーコードおよびそれらと対応した２つの画素位置と対象画素の位置とによる補間計算によってカラー値を求めるため、簡単な計算処理で中間色のカラー値を画素ごとに得ることができ、どのようなオブジェクト形状であっても効率良く滑らかなグラデーション等を表すことができる色づけを表現できるようになる。
【発明の効果】
【０００９】
したがって、本発明によれば、カラーコードによって色づけを行うアプリケーションにおいて、スループットを低下させずにグラデーションオブジェクトを追加することができ、印刷結果の表現力を増加させることが可能となる。また、グラデーションオブジェクトの色確認・修正が容易となり、全体の色管理がカラーパレットを用いて統一的にできるようになる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図に基づき説明する。図１は、本実施形態に係る画像処理装置を説明するブロック図である。本実施形態の画像処理装置１は、主としてカラープリンタに適用されるもので、ホスト計算機２から送られる画像データ２０を受けて、この画像データ２０に基づく各種処理を行い、カラープリンタの有するプリントエンジン（図示せず）によって処理後のカラー画像を用紙に印刷出力するものである。本実施形態の画像処理装置１は、このようなカラープリンタ等の機器における画像処理部分のうち、カラーマップで示される画像データ２０の画素毎の色を最適なカラー値に変換する処理に特徴がある。
【００１１】
ホスト計算機２から送られる画像データ２０には、その画像データ２０の色付けとして定義されるカラーマップが指定手段２１によって指定されている。カラーマップは予め決められた特定の色を表現する単色カラーコードと、単色カラーコードで表される特定の色以外の色を表現する中間色カラーコードとによって構成されている。
【００１２】
単色カラーコードでは、特定の色に対応して例えばＲ（赤）、Ｇ（緑）、Ｂ（青）のカラー値が設定されたもので、画像処理装置１ではこのカラーマップを参照して画素データ２０の各画素毎に指定されたカラーコードからＲ（赤）、Ｇ（緑）、Ｂ（青）のカラー値を求め、印刷出力する際の色情報として用いている。また、中間色カラーコードもホスト計算機２から画像処理装置１へ送られる際には単色カラーコードと同様なコード情報であるため、データ転送の負荷をかけることなく高速に転送できる。
【００１３】
つまり、このようなカラーマップを用いることで、少ない情報量によって色を表現することができ、ホスト計算機からカラープリンタ等への画像データ２０の転送処理を高速化することが可能となる。
【００１４】
画像処理装置１は、ホスト計算機２から画像データ２０を受け付けて一時格納する入力バッファ１１と、入力バッファ１１から画像データ２０をライン単位でラインバッファ１３に取り込む入力手段１２と、ラインバッファ１３から出力された画像データ２０から画素毎にカラー値を変換する変換手段１４と、変換手段１４によって画素毎に変換されたカラー値を展開するページバッファ１５とを備えている。
【００１５】
ホスト計算機２から送られる画像データ２０がランレングス圧縮されている場合、入力手段１２は入力バッファ１１から出力されるライン単位の画像データをランレングスデコード部１２１で伸長して、ラインバッファ１３へ入力する。
【００１６】
変換手段１４は、スキャン操作部１４１、カラー値計算部１４２およびカラーマップ１４３を備えている。スキャン操作部１４１は、ラインバッファ１３から出力されるライン単位の画素のデータを画素毎にスキャンする部分である。カラー値計算部１４２は、スキャン操作部１４１でスキャンした画素毎の画像データが示すカラーコードからカラー値を求める部分である。カラーマップ１４３は画像データの指定手段２１によって指定されたもので、画像データ毎に取り込まれる。このカラーマップ１４３をカラー値計算部１４２が参照することで画素毎のカラー値を求めることができる。
【００１７】
カラーマップは、図２に示すカラーコードとカラー属性とによって定義され、各画像データ毎に設定されている。本実施形態の画像処理装置では、このカラー属性定義によってカラーコードが設定されるカラーマップを参照して各画素毎にカラー値を求めるにあたり、対象画素がカラーマップの単色カラーコードで指定される場合はその単色カラーコードの示すカラー値を出力し、カラーコードの中間色カラーコードで指定される場合はその中間色カラーコードの示す２つの単色カラーコードおよびそれらと対応した２つの画素位置から対象画素の位置による補間計算によって求めたカラー値を出力する点に特徴がある。
【００１８】
したがって、定義されるカラーマップとしては、単色カラーコードを示すためのカラー属性に加え、中間色カラーコード（例えば、グラデーション）を示すためのカラー属性が定義されている。図３は、カラーマップのデータ構造の例を示す模式図である。この例で示すカラーマップでは、代表的な色がＮ個分の単色カラーコードとして設定されている。この単色カラーコードには、１つのカラーコードに対応して赤（Ｒ）、緑（Ｇ）、青（Ｂ）の各カラー値が設定されている。したがって、単色カラーコードを用いることでＮ色を表現できることになる。
【００１９】
中間色カラーコードには、１つのカラーコードに対応して長さ、種別、パラメータが定義されている。特に、種別としては、例えば「１」が線形のグラデーション、「２」が放射型のグラデーションというように、色の変化の方向性が示されている。また、パラメータには、開始点のカラーコード（ＣＣ１）、終了点のカラーコード（ＣＣ２）、開始点の座標（Ｘ１，Ｙ１）、終了点の座標（Ｘ２，Ｙ２）、繰り返しの間隔（ＩＮＴ）が設定される。
【００２０】
ここで、種別が「１：線形」の場合には、開始点のカラーコード（ＣＣ１）、終了点のカラーコード（ＣＣ２）、開始点の座標（Ｘ１，Ｙ１）、終了点の座標（Ｘ２，Ｙ２）、間隔が設定されるが、「２：放射型」の場合には、開始点のカラーコード（ＣＣ１）、終了点のカラーコード（ＣＣ２）、開始点の座標（Ｘ１，Ｙ１）、間隔と、終了点の座標（Ｘ２）の代わりに半径が設定される。
【００２１】
また、パラメータで設定される「繰り返しの間隔」とは、グラデーションの繰り返しを定義したものであり、定義された間隔で同じグラデーションが繰り返されるものである。このような「間隔」に「種別」を組み合わせることにより、様々なグラデーションの態様を定義することができる。図３に示すカラーマップでは、単色カラーコードで示されない色がＭ個分の中間色カラーコードとして設定されている。
【００２２】
カラーマップにおける単色カラーコードおよび中間色カラーコードはユーザ（もしくは画像データを生成するアプリケーション）によって自由に定義できるものである。例えば、８ビット（２５６個）でカラーマップを表現する場合、単色カラーコードＮ個分と中間色カラーコードＭ個部とが合計２５６個に収まるよう定義すればよい。
【００２３】
本実施形態では、このような限られたデータ数によるデータ構造のカラーマップを参照して画像データの色付けを行う場合に、カラーマップで定義される単色カラーコードのカラー値だけでなく、グラデーションのような中間色のカラー値も取り扱うことができるようになっている。
【００２４】
次に、図４のフローチャートを用いて本実施形態の画像処理装置での動作（画像処理方法）を説明する。なお、以下の説明で図４に示されない符号は図１を参照するものとする。先ず、ホスト計算機２から送られた画像データ２０の設定手段２１によって設定されたカラーマップを読み込む（ステップＳ１）。読み込んだカラーマップは変換手段に取り込まれる。
【００２５】
次に、入力手段１２は画像データを１ライン読み込み（ステップＳ２）、デコードを行う（ステップＳ３）。次いで、変換手段１４のスキャン操作部１４１は、ラインバッファ１３から出力される画像データを画素毎にスキャンし、対象画素のカラーコードがカラーマップで定義される中間色コード（グラデーションコード）であるか否かを判断する（ステップＳ４）。
【００２６】
ここでグラデーションコードでない、すなわち単色カラーコードである場合にはそのカラーコードに対応するカラー値をカラーマップから参照して出力する（ステップＳ５）。一方、グラデーションコードであった場合、カラー値計算部１４２がそのカラーコードから計算によってカラー値を求めて出力する（ステップＳ６）。
【００２７】
中間色カラーコードの場合のカラー値の計算は、中間色カラーコードの定義で示される種別によって切り替えて行う。図４の囲みに示す計算式は、線形グラデーションの場合および放射型グラデーションの場合の例を示している。
【００２８】
線形グラデーションの場合の計算は、中間色カラーコードの定義で示される開始点（始点）のカラーコード（ＣＣ１）、終了点（終点）のカラーコード（ＣＣ２）、開始点の座標（Ｘ１，Ｙ１）、終了点の座標（Ｘ２，Ｙ２）と対象画素の位置（座標）とを用いて、始点から終点に向かうベクトルを用いた線形補間を行う。また、放射型グラデーションの場合の計算は、中間色カラーコードの定義で示される開始点のカラーコード（ＣＣ１）、終了点のカラーコード（ＣＣ２）、開始点の座標（Ｘ１，Ｙ１）、半径と対象画素の位置（座標）とを用いて放射状のベクトルを用いた線形補間を行う。いずれもカラーコードを利用した線形補間のため、迅速に中間色のカラー値を出力できる。
【００２９】
１つの画素のカラー値出力が終了したら次の画素へ移動し、１ライン分終了したら（ステップＳ７でＹｅｓ）、次の１ライン分の読み込みを行う（ステップＳ２）。そして、全てのラインが終了したら次のページに移動し（ステップＳ８）、上記処理を繰り返す。これにより、ページバッファ１５にはページ（バンド分）の各画素毎のカラー値が展開されることになる。
【００３０】
このような本実施形態では、フルカラーの印刷システムにおいて、画像データの可変データ部に含まれるカラーコードを分離して上記のような画素単位でのカラー値出力を行い、画像データのビットマップデータ（固定データ）と合成することで、単色カラーコードで示されるものはカラーマップの参照のみでカラー値を出力し、中間色カラーコードで示されるものは２つの単色カラーコードのカラー値等を用いて簡単な計算で中間色のカラー値を出力でき、画素単位でのカラー値変換出力でありながらスループットを大幅に改善することが可能となる。また実施形態で示したグラデーション以外でも、中間色カラーコードと対象画素の位置とによってカラー値を計算する手続きを与えることで、様々な中間色を表現することが可能である。
【図面の簡単な説明】
【００３１】
【図１】本実施形態に係る画像処理装置を説明するブロック図である。
【図２】カラーコードのカラー属性定義を説明する図である。
【図３】カラーマップのデータ構造の例を示す模式図である。
【図４】本実施形態の画像処理方法を説明するフローチャートである。
【符号の説明】
【００３２】
１…画像処理装置、２…ホスト計算機、１１…入力バッファ、１２…入力手段、１３…ラインバッファ、１４…変換手段、１５…ページバッファ、２０…画像データ、２１…指定手段、１２１…ランレングスデコード部、１４１…スキャン操作部、１４２…カラー値計算部、１４３…カラーマップ
【図１】
2007088825.tif 000003
【図２】
2007088825.tif 000004
【図３】
2007088825.tif 000005
【図４】
2007088825.tif 000006