(57)【要約】【課題】画像データの輝度ヒストグラムの作成処理を高速化するための技術を提供する。【解決手段】画像処理装置１００が有するヒストグラム作成部１０１は、複数の色データからなる画素データを複数含む画像データの輝度ヒストグラムを作成する。ヒストグラム作成部１０１は、同系色に分類される画素の個数を特定する個数情報を、該分類ごとに記憶するヒストグラム作成用メモリ１１３と、画素データに含まれる各色データの一部のデータにマスクをかけてアドレスデータを生成するアドレス変換部１１１と、ヒストグラム作成用メモリ１１３にアクセスして、アドレス変換部１１１が生成したアドレスで特定される個数情報をインクリメントすることにより輝度ヒストグラムを作成するメモリ制御部１１２と、を有する。【選択図】図２
2008242733.tif 000002
【特許請求の範囲】
【請求項１】
複数の色データからなる画素データを複数含む画像データの輝度ヒストグラムを作成する画像処理装置であって、
同系色に分類される画素の個数を特定する個数情報を、該分類ごとに記憶するヒストグラム作成用メモリと、
前記画素データに含まれる各色データの一部のデータにマスクをかけてアドレスデータを生成するアドレス生成部と、
前記ヒストグラム作成用メモリにアクセスして、前記アドレス生成部が生成したアドレスで特定される個数情報をインクリメントすることにより輝度ヒストグラムを作成するヒストグラム作成部と、
を有することを特徴とする画像処理装置。
【請求項２】
請求項１に記載される画像処理装置であって、
前記画素データは、Ｒデータ、Ｇデータ、Ｂデータから構成されるＲＧＢ画素データである、
ことを特徴とする画像処理装置。
【請求項３】
請求項１に記載される画像処理装置であって、
前記画素データは、Ｌデータ、ａデータ、ｂデータから構成されるＬａｂ画素データである、
ことを特徴とする画像処理装置。
【請求項４】
請求項１に記載される画像処理装置であって、
前記画素データは、Ｙデータ、ｕデータ、ｖデータから構成されるＹｕｖ画素データである、
ことを特徴とする画像処理装置。
【請求項５】
請求項２に記載される画像処理装置であって、
前記Ｒデータ、前記Ｇデータ、前記Ｂデータは、それぞれ、８ビットのビット列データであり、
前記アドレス生成部は、前記Ｒデータ、前記Ｇデータ、前記Ｂデータ、のそれぞれの下位４ビットにマスクをかけてアドレスデータを生成する、
ことを特徴とする画像処理装置。
【請求項６】
請求項３に記載される画像処理装置であって、
前記Ｌデータ、前記ａデータ、前記ｂデータは、それぞれ、８ビットのビット列データであり、
前記アドレス生成部は、前記Ｌデータの下位２ビット、前記Ｇデータ及び前記Ｂデータの上位１ビット及び下位４ビット、にマスクをかけてアドレスデータを生成する、
ことを特徴とする画像処理装置。
【請求項７】
請求項４に記載される画像処理装置であって、
前記Ｙデータ、前記ｕデータ、前記ｖデータは、それぞれ、８ビットのビット列データであり、
前記アドレス生成部は、前記Ｙデータの下位２ビット、前記ｕデータ及び前記ｖデータの下位５ビット、にマスクをかけてアドレスデータを生成する、
ことを特徴とする画像処理装置。
【請求項８】
請求項１に記載される画像処理装置であって、
前記アドレス生成部は、前記画素データに含まれる各色データにマスクをかける部分を切り替えるビット切替部を有し、
前記ビット切替部は、前記画素データの色空間に応じて、該画素データに含まれる各色データにマスクをかける部分を切り替える、
ことを特徴とする画像処理装置。
【請求項９】
請求項１に記載される画像処理装置であって、
前記ヒストグラム作成部は、前記色データの色要素ごとのヒストグラムである３次元ヒストグラムを作成する、
ことを特徴とする画像処理装置。
【請求項１０】
請求項９に記載される画像処理装置であって、
前記記憶部は、前記色要素ごとに対応する複数の記憶領域に分割され、
前記ヒストグラム作成部は、
前記複数の記憶領域のうちいずれの記憶領域にアクセスするかを特定するための信号を切り替えるアクセス切替部を有し、
前記アドレス生成部が生成したアドレスデータ、及び、前記アクセス切替部が切り替えた信号、に基づいて特定される個数情報をインクリメントすることにより３次元ヒストグラムを作成する、
ことを有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輝度ヒストグラムの作成処理に係り、特に、輝度ヒストグラムの作成処理を高速化する技術に関する。
【背景技術】
【０００２】
従来から、印刷用の画像データ等を加工する画像処理装置は、処理対象の画像データをＡ／Ｄ変換した後、画素補正、ガンマ補正、色空間変換や色抑圧などのデジタル処理を行う。多くの画像処理装置は、画質の向上のために、処理対象の画像データ中の輝度値の発生回数を示す輝度ヒストグラムを作成する。作成した輝度ヒストグラムは、処理対象の画像データのホワイト・バランスなどの輝度調整、フィルタリング処理、画像加工などに利用される。
【０００３】
このような輝度ヒストグラムの作成は、ソフトウェア処理により行われることが多い。例えば、特許文献１には、ソフトウェア処理により作成した輝度ヒストグラムを用いて、画像データ中の特定の領域を抽出することについて記載されている。
【０００４】
しかし、近年、画像処理装置が処理する画像データは、階調度および画像サイズが増大化する傾向がある。従って、輝度ヒストグラムの作成処理等を、ソフトウェア処理で行っていたのでは、処理に多大な時間を要する。そこで、輝度ヒストグラムの作成処理等を、ハードウェア処理で行う画像処理装置が開発されてきている。例えば、特許文献２には、ルック・アップ・テーブル用メモリを用いたハードウェア処理で、輝度ヒストグラムの作成処理を行う技術について記載されている。
【０００５】
【特許文献１】特開平７−０８５２７５号
【特許文献２】特開２００２−３６９０３４号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記画像処理装置で処理される画像データの階調値および画像サイズの、今後の増大化に備え、輝度ヒストグラムの作成処理は、さらに高速化されることが望まれている。
【０００７】
本発明は、画像処理装置で行われる輝度ヒストグラムの作成処理を、高速化するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明は、複数の色データからなる画素データを複数含む画像データの輝度ヒストグラムを作成する画像処理装置であって、同系色に分類される画素の個数を特定する個数情報を、該分類ごとに記憶するヒストグラム作成用メモリと、前記画素データに含まれる各色データの一部のデータにマスクをかけてアドレスデータを生成するアドレス生成部と、前記ヒストグラム作成用メモリにアクセスして、前記アドレス生成部が生成したアドレスで特定される個数情報をインクリメントすることにより輝度ヒストグラムを作成するヒストグラム作成部と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明の画像形成装置によれば、画像処理装置で行われる輝度ヒストグラムの作成処理を、高速化することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の最良の実施の形態を、図面を参照して説明する。
【００１１】
本発明の実施形態に適用される画像処理装置１００の機能構成の一例を、図１のブロック図に示す。
【００１２】
画像処理装置１００は、印刷対象の画像データの補正・加工に利用される輝度ヒストグラムを作成する装置である。画像処理装置１００には、画像データ生成装置２００、出力装置３００、入力装置１５０が接続される。
【００１３】
ここで、画像データ生成装置２００は、画像データを生成する一般的なスキャナ装置である。画像データ生成装置２００には、画像をスキャンするプログラム、画像処理装置１００と通信するプログラム、等が格納されている。画像データ生成装置２００は、それらのプログラムに従って、スキャンして生成した画像データを、画像処理装置１００に送信することができる。
【００１４】
また、出力装置３００は、印刷データを印刷する一般的なプリンタである。出力装置３００は、例えば、レーザプリンタであれば、レーザ照射機構、感光体ドラム、紙送り機構等を有する。また、出力装置３００には、画像処理装置１００と通信するプログラム、印刷処理を制御するプログラム、等が格納されている。出力装置３００は、それらのプログラムに従って、画像処理装置１００から送信された印刷データを印刷することができる。
【００１５】
さらに、入力装置１５０は、キーボード、マウス等から構成される。ユーザは、入力装置１５０を操作することで、画像処理装置１００に、指示を行うことができる。
【００１６】
上記のような外部装置が接続された画像処理装置１００は、例えば、画像データ生成装置２００から送られてきた画像データの輝度ヒストグラムを作成する。また、画像処理装置１００は、作成した輝度ヒストグラムに基づいて、画像データを補正・加工して印刷データを生成する。画像処理装置１００は、生成した印刷データを出力装置３００に送信して、出力装置３００に印刷させる。
【００１７】
画像処理装置１００は、ヒストグラム作成部１０１と、設定部１０２と、制御部１０３と、画像データ記憶部１０４と、メモリクリア部１０５と、背景色変換部１０６と、画像データ変換部１０７と、インタフェース部１０８と、バス１０９と、を有する。
【００１８】
画像データ記憶部１０４には、印刷対象の画像データが記憶される。例えば、画像データ記憶部１０４には、画像データ生成装置２００から取得した画像データ、後述する画像データ変換部１０７が各種変換処理をした画像データ、等が格納される。ここで、画像データは、複数の画素データから構成される。画素データは、例えば、８ビットの赤色データ（以下、Ｒデータ）、８ビットの緑データ（以下、Ｇデータ、８ビットの青色データ（以下、Ｂデータ）から構成されるＲＧＢ画素データでよい。他に、画素データは、８ビットの明度データ（以下、Ｌデータ）、８ビットの緑色から赤色の範囲の色データ（以下、ａデータ）、８ビットの青色から黄色の範囲の色データ（以下、ｂデータ）から構成されるＬａｂ画素データでもよい。また、他に、画素データは、８ビットの輝度データ（以下、Ｙデータ）、８ビットの赤色の色差データ（以下、ｕデータ）、８ビットの青色の色差データ（以下、ｖデータ）から構成されるＹｕｖ画素データでもよい。
【００１９】
バス１０９は、複数の信号線で同時に複数のビットを転送するパラレル転送方式でデータを伝送する。バス１０９のバス幅は、例えば、３２ビットである。この場合、４個の色データ（４×８ビット）が、同時に転送されることになる。
【００２０】
ヒストグラム作成部１０１は、印刷対象の画像データのヒストグラムを作成する回路群である。ヒストグラム作成部１０１は、アドレス変換部１１１と、メモリ制御部１１２と、ヒストグラム格納用メモリ１１３と、を有する。
【００２１】
具体的には、ヒストグラム作成部１０１は、画像データ記憶部１０４から入力された画像データを、アドレス変換部１１１で、後述するヒストグラム格納用メモリ１１３に割り当てられたアドレスに変換する。さらに、ヒストグラム作成部１０１は、後述するメモリ制御部１１２で、ヒストグラム格納用メモリ１１３にアクセスして、アドレス変換部１１１で変換したアドレスで特定されるデータを、インクリメントする処理を行う。
【００２２】
これにより、ヒストグラム作成部１０１は、ヒストグラム格納用メモリ１１３を用いて、画像データのヒストグラムを作成することができる。
【００２３】
なお、アドレス変換部１１１には、１画素データに含まれる各色データ（例えば、Ｒデータ、Ｇデータ、Ｂデータ）が同時に入力されなければならない。しかし、バス１０９のバス幅は３２ビットであるため、ヒストグラム作成部１０１は、画像データ記憶部１０４から入力された３２ビット分の画像データを、１画素データずつアドレス変換部１１１に入力するためのセレクタ等を有する（図示せず）。
【００２４】
図２は、ヒストグラム作成部１０１の構成を、より詳細に説明するための図である。図２に示すように、アドレス変換部１１１は、セレクタ４０１と、選択ビット切替回路４０２と、を有する。
【００２５】
セレクタ４０１は、画像データ記憶部１０４から１画素分のＲＧＢ画素データ（３×８ビット）が入力されたときに、これを１２ビットのヒストグラム格納用メモリ１１３上のアドレスに変換して、メモリ制御部１１２に出力する。具体的には、セレクタ４０１は、図３に示すように、入力されたＲＧＢ画素データに含まれる各色データの下位４ビットをマスクし、上位４ビットの各色データを結合して、ヒストグラム格納用メモリ１１３上のアドレスを生成する。例えば、図３に示す例で、セレクタ４０１の処理を説明する。まず、セレクタ４０１には、「０１１００１１１」のビット列からなるＲデータ、「１１０１００１１」のビット列からなるＧデータ、「００１１００１０」のビット列からなるＢデータが、入力される。セレクタ４０１は、各色データの上位４ビットである「０１１０」（Ｒデータ）、「１１０１」（Ｇデータ）、「００１１」（Ｂデータ）を抽出し、これらを結合して、「０１１０１１０１００１１」という１２ビットのビット列データ（１６進数表示で（６，Ｄ，３））を生成する。この１２ビットのビット列データは、ヒストグラム格納用メモリ１１３上のアドレスに対応する。そして、セレクタ４０１は、生成した１２ビットのアドレスデータを、メモリ制御部１１２に出力する。
【００２６】
また、セレクタ４０１は、画像データ記憶部１０４から１画素分のＬａｂ画素データ（３×８ビット）が入力されたときは、これを１２ビットのヒストグラム格納用メモリ１１３上のアドレスに変換して、メモリ制御部１１２に出力する。具体的には、セレクタ４０１は、図４に示すように、入力されたＬａｂ画素データに含まれる色データのうち、Ｌデータの下位２ビットをマスクし、ａデータ及びｂデータの上位１ビット及び下位４ビットをマスクして、各色データを結合してアドレスデータを生成する。例えば、図４に示す例で、セレクタ４０１の処理を説明する。まず、セレクタ４０１には、「０１１００１１１」のビット列からなるＬデータ、「１１０１００１１」のビット列からなるａデータ、「００１１００１０」のビット列からなるｂデータが、入力される。セレクタ４０１は、Ｌデータの上位６ビットである「０１１００１」、ａデータの第２〜第４ビットである「１０１」、ｂデータの第２〜第４ビットである「０１１」を抽出し、これらを結合して、「０１１００１１０１０１１」という１２ビットのビット列データを生成する。そして、セレクタ４０１は、生成した１２ビットのアドレスデータを、メモリ制御部１１２に出力する。
【００２７】
以上のようなアドレス変換を、Ｌａｂ画素データに対して行うことで、ヒストグラム格納用メモリ１１３のアドレスデータを格納しておくメモリの容量を増加させることなく、Ｌデータの輝度分解能を向上させることができる。ここで、Ｌａｂ画素データのうち、ａデータ及びｂデータは、Ｌデータと比較して、圧縮したときに人間の目に影響を与えないことが知られている。そのため、Ｌデータの輝度分解能を向上させることで、ヒストグラムを精度よく作成することができる。
【００２８】
さらに、セレクタ４０１は、画像データ記憶部１０４から１画素分のＹｕｖ画素データ（３×８ビット）が入力されたときは、これを１２ビットのヒストグラム格納用メモリ１１３上のアドレスに変換して、メモリ制御部１１２に出力する。具体的には、セレクタ４０１は、図５に示すように、入力されたＹｕｂ画素データに含まれる色データのうち、Ｙデータの下位２ビットをマスクし、ａデータ及びｂデータの下位５ビットをマスクして、各色データを結合してアドレスデータを生成する。例えば、図５に示す例で、セレクタ４０１の処理を説明する。まず、セレクタ４０１には、「０１１００１１１」のビット列からなるＹデータ、「１１０１００１１」のビット列からなるｕデータ、「００１１００１０」のビット列からなるｖデータが、入力される。セレクタ４０１は、Ｙデータの上位６ビットである「０１１００１」、ｕデータの上位３ビットである「１１０」、ｂデータの上位３ビットである「００１」を抽出し、これらを結合して、「０１１００１１１０００１」という１２ビットのビット列データを生成する。そして、セレクタ４０１は、生成した１２ビットのアドレスデータを、メモリ制御部１１２に出力する。
【００２９】
以上のようなアドレス変換を、Ｙｕｖ画素データに対して行うことで、Ｌａｂ画素データに対して行った場合と同様の理由により、Ｙデータの輝度分解能を向上させることができ、ヒストグラムを精度よく作成することができる。
【００３０】
これとは別に、セレクタ４０１は、画像データ記憶部１０４から１画素分の画像データ（３×８ビット）が入力されたときに、８ビットの各色データを、それぞれ、１２ビットのヒストグラム格納用メモリ１１３上のアドレスに変換して、メモリ制御部１１２に出力することもできる。具体的には、セレクタ４０１は、入力された画素データを構成する８ビットの各色データを、色要素の順序に従って、１２ビットのアドレスデータを生成する。ここで、色要素の順序とは、例えば、色Ａデータ、色Ｂデータ、色Ｃデータの順でよい。また、１２ビットのうち上位４ビットは、無効なデータとなる。そして、セレクタ４０１は、生成した３つの１２ビットのアドレスデータを、順次、メモリ制御部１１２に出力する。
【００３１】
図２に戻って、選択ビット切替回路４０２は、後述する選択ビット設定部１２１から供給された信号に基づいて、セレクタ４０１が各色データに対してマスクするビットを特定するための信号を生成する。例えば、選択ビット切替回路４０２は、セレクタ４０１がＲＧＢ画素データからアドレスデータを生成するときには、各色データの下位４ビットをマスクする信号を生成して、セレクタ４０１を制御する。また、選択ビット切替回路４０２は、セレクタ４０１がＬａｂ画素データからアドレスデータを生成するときには、Ｌデータの下位２ビット、ａデータ及びｂデータの上位１ビット及び下位４ビットをマスクする信号を生成して、セレクタ４０１を制御する。さらに、選択ビット切替回路４０２は、セレクタ４０１がＹｕｖ画素データからアドレスデータを生成するときには、Ｙデータの下位４ビット、ｕデータ及びｖデータの下位５ビットをマスクする信号を生成して、セレクタ４０１を制御する。また、各色データからそれぞれのアドレスデータを生成するときには、所定の順序で、８ビットの各色データに、それぞれ４ビットの無効なデータを付加する信号を生成して、セレクタ４０１を制御する。
【００３２】
また、図２に示すように、メモリ制御部１１２は、アドレスデコード論理回路５０１と、アクセス切替回路５０２と、を有する。
【００３３】
アドレスデコード論理回路５０１は、ヒストグラム格納用メモリ１１３に格納されているデータをインクリメントすることで、画像データのヒストグラムを作成することができる。このとき、アドレスデコード論理回路５０１は、全ての色要素に対する１次元ヒストグラムと、色要素ごとの３次元ヒストグラムを作成することができる。
【００３４】
ここで、ヒストグラムを作成する場合に用いるヒストグラム格納用メモリ１１３を図６（Ａ）に示す。図示するように、ヒストグラム格納用メモリ１１３は、２８（＝２０４８）個のセクタから構成されるメモリＡ６０１と、２４（＝１０２４）個のセクタから構成されるメモリＢ６０２と、２４（＝１０２４）個のセクタから構成されるメモリＣ６０３と、から構成される。１次元ヒストグラムを作成する際には、ヒストグラム格納用メモリ１１３を３つのメモリ（或いは領域）に分割しておく必要はないが、３次元ヒストグラムを作成する際には、図示するように、３つのメモリに分割しておくことが望ましい。これは、後で各種処理（圧縮処理、補正処理、等）を色要素ごとに行う場合に、ヒストグラム格納用メモリ１１３から、色要素ごとにデータを読み出す必要があるからである。
【００３５】
各セクタには、セレクタ４０１が生成するアドレスデータに対応するアドレスが割り当てられている。そして、メモリＡ６０１の各セクタには、上位４ビットが「０＊＊＊」であるアドレスが割り当てられ、メモリＢ６０２の各セクタには、上位４ビットが「１０＊＊」であるアドレスが割り当てられ、メモリＣ６０３の各セクタには、上位４ビットが「１１＊＊」であるアドレスが割り当てられる。なお、「＊」は、０又は１の任意の値を取り得る。
【００３６】
このヒストグラム格納用メモリ１１３を用いて１次元ヒストグラムを作成する場合、例えば、図２に示すアドレスデコード論理回路５０１は、セレクタ４０１から１２ビットのアドレスデータが入力されたときに、ヒストグラム格納用メモリ１１３にアクセスして、入力されたアドレスデータで特定されるセクタに格納されているデータを取得する。この際、アドレスデコード論理回路５０１に連続して入力される１２ビットのアドレスデータは、不規則な順序で、メモリＡ６０１、メモリＢ６０２、メモリＣ６０３のいずれかのメモリに対応するアドレスとなる。従って、アドレスデコード論理回路５０１は、最大３つのメモリに同時にアクセスして、リード／ライトの処理を行うことができる。また、このとき、アドレスデコード論理回路５０１は、図２の波線で示すような、メモリを特定するためのチップセレクト信号を、ヒストグラム格納用メモリ１１３に供給している。次に、アドレスデコード論理回路５０１は、取得したデータをインクリメントして、データの取得元のセクタに、インクリメントしたデータを書き込む。この処理を、１面の画像データを構成する全画素に対して行うことで、ヒストグラム格納用メモリ１１３には、１面の画像データにおいて、同系色に分類される画素の個数を特定するデータが格納される。例えば、ヒストグラム格納用メモリ１１３で作成される１次元ヒストグラムは、図６（Ｂ）に示すような輝度ヒストグラムと同様である。
【００３７】
なお、各セクタに格納される具体的なデータは、図６（Ａ）に示すように、１２ビットのビット列データである。１２ビットとしている理由は、１面の画像データにおける全ての画素が同一色である場合に、ヒストグラム格納用メモリ１１３の１つのセクタに格納される値が最大値の「１１１１１１１１１１１１」となるからである。
【００３８】
また、ヒストグラム格納用メモリ１１３を用いて３次元ヒストグラムを作成する場合、例えば、図２に示すアドレスデコード論理回路５０１は、セレクタ４０１から１２ビットのアドレスデータが入力された順に、ヒストグラム格納用メモリ１１３にアクセスして、入力されたアドレスデータで特定されるセクタに格納されているデータを取得する。この際、アドレスデコード論理回路５０１に連続して入力される１２ビットのアドレスデータは、対応する色要素の順序で規則的に入力される。そして、アドレスデコード論理回路５０１は、この規則的な順序に従って、対応するメモリにアクセスして、リード／ライトの処理を行わなければならない。また、このとき、アドレスデコード論理回路５０１は、図２の波線で示すような、メモリを特定するためのチップセレクト信号を、ヒストグラム格納用メモリ１１３に供給している。ここで、アドレスデコード論理回路５０１は、後述するアクセス切替回路５０２から供給されるカウンタ値に基づいて、チップセレクト信号を切り替えるようにする。次に、アドレスデコード論理回路５０１は、取得したデータをインクリメントして、データの取得元のセクタに、インクリメントしたデータを書き込む。この処理を、１面の画像データを構成する全画素に対して行うことで、ヒストグラム格納用メモリ１１３には、１面の画像データにおいて、色要素ごとに、同一色に分類される画素の個数を特定するデータが格納される。
【００３９】
また、図２に戻って、メモリ制御部１１２が有するアクセス切替回路５０２は、後述するアクセス設定部１２２から供給された信号に基づいて、アドレスデコード論理回路５０１が１次元ヒストグラムを作成するための制御信号か、３次元ヒストグラムを作成するための制御信号を生成する。例えば、アクセス切替回路５０２は、カウンタを備える。アドレスデコード論理回路５０１に１次元ヒストグラムを作成させる場合には、有効なデータをアドレスデコード論理回路５０１に供給しない。また、アクセス切替回路５０２は、アドレスデコード論理回路５０１に３次元ヒストグラムを作成させる場合には、アドレスデータがセレクタ４０１から入力されるたびにカウンタをインクリメントしていく。アクセス切替回路５０２は、カウンタの値が、「３」の値に達した時点でリセットする。アクセス切替回路５０２は、カウンタの値を特定する信号を、アドレスコード論理回路５０１に供給する。
【００４０】
図１に戻って、設定部１０２は、ヒストグラム作成部１０１で行われるヒストグラムの作成に関する設定を行う。設定部１０２は、選択ビット設定部１２１と、アクセス設定部１２２と、を有する。
【００４１】
選択ビット設定部１２１は、上述したセレクタ４０１における選択ビットの切り替えの設定を行う。例えば、選択ビット設定部１２１は、ＲＧＢ画素データ、Ｌａｂ画素データ、Ｙｕｖ画素データ、のいずれの画素データに基づいてヒストグラムを作成するかの設定を、選択ビット切替回路４０２に対して行う。また、選択ビット設定部１２１は、１次元ヒストグラム、３次元ヒストグラムのどちらのヒストグラムを作成するかの設定を、選択ビット切替回路４０２に対して行う。具体的には、後述する制御部１０３から供給された設定内容を特定する信号を、選択ビット切替回路４０２が解釈可能な信号に変換する。
【００４２】
アクセス設定部１２２は、上述したアドレスデコード論理回路５０１におけるヒストグラム格納用メモリ１１３へのアクセスの切り替えの設定を行う。例えば、アクセス設定部１２２は、１次元ヒストグラム、３次元ヒストグラムのどちらのヒストグラムを作成するかの設定を、アクセス切替回路５０２に対して行う。具体的には、後述する制御部１０３から供給された設定内容を特定する信号を、アクセス切替回路５０２が解釈可能な信号に変換する。
【００４３】
制御部１０３は、画像処理装置１００を構成する各部に命令信号を送信して、各部の統括的な制御や、各部間でのデータ転送を制御する。具体的には、制御部１０３は、後述するインタフェース部１０８を介して、入力装置１５０から供給された指示信号を受け付けて、該指示信号に応じた命令信号を、各部に供給する。例えば、制御部１０３は、インタフェース部１０８を介して、画像データ生成装置２００から取得した画像データを、画像データ記憶部１０４に記憶させる。また、制御部１０３は、入力装置１５０からの指示信号に応じて、画像データ記憶部１０４に記憶した画像データを、バス１０９を介して、ヒストグラム作成部１０１に転送する。さらに、制御部１０３は、入力装置１５０からの指示信号に応じて、設定部１０２に設定内容を通知するための信号を供給する。また、制御部１０３は、後述するメモリクリア部１０５にヒストグラム格納用メモリ１１３に格納されているデータをリセットするための指示信号を供給する。さらに、制御部１０３は、入力装置１５０からの指示信号に応じて、高画質／低速モードによる画像処理、又は、低画質／高速モードによる画像処理の設定を行う。具体的には、制御部１０３は、入力装置１５０から高画質／低速モードに設定する指示信号を受け付けたときは、画像データをヒストグラム作成部１０１を介して背景色変換部１０６に供給する。一方、入力装置１５０から低画質／高速モードに設定する指示信号を受け付けたときは、画像データをヒストグラム作成部１０１を介さずに、背景色変換部１０６に供給する。
【００４４】
メモリクリア部１０５は、ヒストグラム格納用メモリ１１３にアクセスして、ヒストグラム格納用メモリ１１３に格納されているデータを消去する。例えば、メモリクリア部１０５は、制御部１０３から指示信号が供給されたときに、ヒストグラム格納用メモリ１１３のデータを消去する処理を実行する。この制御部１０３からの指示信号は、ヒストグラムの作成を開始するタイミングで供給される。
【００４５】
背景色変換部１０６は、高画質／低速モードに設定されている場合、ヒストグラム作成部１０１が作成したヒストグラムを参照して、画像データの背景色を、同一色（例えば、白色）に統一する変換処理を行う。具体的には、背景色変換部１０６は、ヒストグラム格納用メモリ１１３にアクセスして、最大値のデータを格納しているセクタに対応するアドレスを取得する。なお、ここで、背景色変換部１０６は、最大値のデータではなく、基準値を超えているデータを格納しているセクタに対応するアドレスを取得してもよい。ここで、基準値は、例えば、「（平均値μ）＋（標準偏差σ）×（係数ｋ）」で求まる値とすればよい。この場合、係数ｋは、後述する外部記憶装置７０５に予め格納され、背景色変換部１０６は、係数ｋを読み出して、画像データごとに基準値を求める処理を行う。
【００４６】
また、背景色変換部１０６は、ヒストグラム格納メモリ１１３に３次元ヒストグラムが格納されている場合には、色要素ごとに、最大値のデータ或いは基準値を超えるデータを格納してるセクタに対応するアドレスを取得することができる。
【００４７】
次に、背景色変換部１０６は、画像データ記憶部１０４から画像データを読み出し、先に取得したアドレスに対応する色要素を有する画素に対して、同一色に統一する色変換を行う。これにより、背景色変換部１０６は、画像データの背景色をきれいにすることができる。
【００４８】
また、背景色変換部１０６は、低画質／高速モードに設定されている場合、予め設定さられた固定値を参照して、画像データの背景色を、同一色に統一する変換処理を行う。具体的には、背景色変換部１０６は、後述する外部記憶装置７０５に予め格納されている固定値と、画像データ記憶部１０４に格納されている画像データを読み出し、該固定値と一致する色要素を有する画素に対して、同一色に統一する色変換を行う。ここで、固定値は、画像データから排除したい色を特定する値に設定される（例えば、黄ばみのある（Ｒ，Ｇ，Ｂ）が（０，Ｆ，Ｆ）である色）。
【００４９】
さらに、背景色変換部１０６は、高画質／低速モード或いは低画質／高速モードに従って、画像データの背景色を変換する処理を施した画像データを、画像データ記憶部１０４に格納する。このとき、背景色変換処理を終了したことを、画像データ変換部１０７に通知する。
【００５０】
画像データ変換部１０７は、画像データに対して、各種変換を施す処理を行う。例えば、画像データ変換部１０７は、画像データ記憶部１０４に格納されている画像データを、ＲＧＢ画像からＬａｂ画像、ＲＧＢ画像からＹｕｖ画像、Ｌａｂ画像からＣＭＹＫ画像、等といった、異なる色空間の画像データへの変換処理を行う。また、画像データ変換部１０７は、画像データの圧縮処理、スクリーン処理、等を行う。さらに、画像データ変換部１０７は、画像データに基づいて、プリンタ等の出力装置３００が解釈可能な印刷データを生成する処理を行う。また、画像データ変換部１０７は、生成した印刷データを、インタフェース部１０８を介して、出力装置３００に出力する。
【００５１】
インタフェース部１０８は、画像データ生成装置２００や出力装置３００の接続を受け付け、各装置と各種データを送受信するインタフェースである。また、インタフェース部１０８は、入力装置１５０の接続を受け付け、入力装置１５０からの各種データを受信するインタフェースでもある。例えば、インタフェース部１０８は、ＵＳＢ規格に準拠したＵＳＢインタフェースでよい。ただし、インタフェース部１０８は、ＵＳＢインタフェースに限定されず、例えば、ＬＡＮ等のネットワークに接続するためのネットワークインタフェースであってもよい。
【００５２】
以上のように構成される画像処理装置１００は、例えば、図７に示すような、ＣＰＵ７０１と、ＲＡＭ等の主記憶装置７０２と、特定の処理を行うＡＳＩＣ７０３と、画像データ生成装置２００及び出力装置３００とＵＳＢ通信を行う通信装置７０４と、ハードディスク等の外部記憶装置７０５と、ＣＤ-ＲＯＭやＤＶＤ-ＲＯＭ等の可搬性を有する記憶媒体７０７から情報を読み出す読取装置７０６と、を備えた一般的なコンピュータで実現できる。
【００５３】
例えば、上述した制御部１０３は、外部記憶装置７０５に記憶されている所定のプログラム及びデータを主記憶装置７０２にロードしてＣＰＵ７０１で実行することで実現可能である。また、画像データ記憶部１０４は、外部記憶装置４０５により実現可能である。さらに、ヒストグラム作成部１０１と、設定部１０２と、メモリクリア部１０５と、背景色変換部１０６と、画像データ変換部１０７と、はＡＳＩＣ７０３により実現可能である。また、インタフェース部１０８は、通信装置７０４で実現可能である。
【００５４】
図８は、画像処理装置１００で行われる、画像データの輝度ヒストグラムを作成するときの画像処理を説明するためのフローチャートである。
【００５５】
画像処理装置１００における制御部１０３は、画像処理を開始する指示をユーザから受け付けたときに、画像処理を開始する。
【００５６】
まず、制御部１０３は、インタフェース部１０８に接続されている画像データ生成装置２００から印刷対象の画像データを取得する（ステップＳ１０１）。具体的には、制御部１０３は、インタフェース部１０８を介して、画像データ生成装置２００が生成した画像データを、画像データ記憶部１０４に記憶させる。
【００５７】
次に、制御部１０３は、画像処理に関する各種設定を行う（ステップＳ１０２）。具体的には、制御部１０３は、インタフェース部１０８を介して、入力装置１５０からの指示信号を受け付ける。例えば、このとき受け付ける設定項目は、ヒストグラムを作成する際の画像データの色空間、作成するヒストグラムの種類、画像処理のモード、の設定を受け付ける。上述したように画像データの色空間は、例えば、ＲＧＢ、Ｌａｂ、Ｙｕｂ、等から選択される。また、ヒストグラムの種類は、１次元ヒストグラム、３次元ヒストグラム、等から選択される。さらに、画像処理のモードは、高画質／低速モード、低画質／高速モード、等から選択される。制御部１０３は、入力装置１５０からの指示信号に基づいて、色空間に関する設定内容を特定する信号を、選択ビット設定部１２１及び画像データ変換部１０７に供給する。また、制御部１０３は、入力装置１５０からの指示信号に基づいて、ヒストグラムの種類に関する設定内容を特定する信号を、選択ビット設定部１２１及びアクセス設定部１２２に供給する。このとき、選択ビット設定部１２１は、選択ビット切替回路４０２に、設定内容に従った信号を供給しておく。また、アクセス設定部１２２は、アクセス切替回路５０３に、設定内容に従った信号を供給しておく。
【００５８】
ここで、制御部１０３は、ステップＳ１０２で設定された画像処理のモードに従って、パイプライン処理を開始する。
【００５９】
制御部１０３は、画像データ変換部１０７に画像データの色空間を変換させる（ステップＳ１０３）。具体的には、制御部１０３は、画像データ記憶部１０４に記憶されている画像データを、画像データ変換部１０７に供給する。画像データ変換部１０７は、ステップＳ１０２で供給された命令信号に応じて、入力された画像データの色空間を変換する。例えば、ステップＳ１０２で、ＲＧＢに設定されていれば、画像データ変換部１０７は、入力された画像データを、ＲＧＢ画像に変換する。入力された画像データの色空間と、設定された色空間が一致する場合は、ステップＳ１０３における処理を行わない。
【００６０】
このとき、画像処理モードが高画質／低速モードに設定されている場合（ステップＳ１０４；Ｙｅｓ）、画像データ変換部１０７は、色空間を変換した画像データを、ヒストグラム作成部１０１に供給する。一方、画像処理モードが低画質／高速モードに設定されている場合（ステップＳ１０４；Ｎｏ）、画像データ変換部１０７は、色空間を変換した画像データを、画像データ記憶部１０４に記憶する。このとき、画像データ変換部１０７は、背景色変換部１０６に色空間の変換処理が終了したことを通知するための信号を供給する。
【００６１】
ステップＳ１０５では、制御部１０３は、ヒストグラムをヒストグラム作成部１０１に作成させる前に、ヒストグラム格納用メモリ１１３に格納されているデータをクリアしておく（ステップＳ１０５）。例えば、制御部１０３は、メモリクリア部１０５に、メモリクリアの命令信号を供給する。
【００６２】
ステップＳ１０５に続いて、ヒストグラム作成部１０１は、画像データのヒストグラムを作成する。ヒストグラム作成処理については、図９のフローチャートで説明する。
【００６３】
一方、ステップＳ１０７では、背景色変換部１０６は、画像データ変換部１０７からの通知を受け、画像データ記憶部１０４にアクセスして、色空間が変換された画像データの背景色を、同一色に統一する変換処理を行う（ステップＳ１０７）。このとき、背景色変換部１０６は、背景色の変換を行った画像データを、画像データ記憶部１０４に記憶する。そして、背景色変換部１０６は、画像データ変換部１０７に、背景色の変換処理が終了したことを通知するための信号を供給する。
【００６４】
また、ステップＳ１０６でヒストグラム作成処理を行った場合は、ステップＳ１０７では、背景色変換部１０６は、ヒストグラム格納用メモリ１１３を参照して、色空間が変換された画像データの背景色を、同一色に統一する変換処理を行う。
【００６５】
画像データ変換部１０７は、背景色変換部１０６からの通知を受け、画像データ記憶部１０４にアクセスして、背景色が変換された画像データを、印刷に用いられる色空間の画像データに変換する（ステップＳ１０８）。例えば、画像データ変換部１０７は、ステップＳ１０６で背景色が変化された画像データを、ＣＭＹＫ画像データに変換する。
【００６６】
続いて、画像データ変換部１０７は、ステップＳ１０７で処理した画像データに対して、圧縮処理、スクリーン処理、等を施し、出力装置３００が解釈可能な印刷データを生成する（ステップＳ１０９）。そして、画像データ変換部１０７は、生成した印刷データを、インタフェース部１０８を介して、出力装置３００に送信する。以上のパイプライン処理を終了して、制御部１０３は、画像処理を終了させる。
【００６７】
図９は、ヒストグラム作成部１０１で行われるヒストグラム作成処理を説明するためのフローチャートである。
【００６８】
ヒストグラム作成部１０１は、図８のステップＳ１０６において、画像データが画像データ変換部１０７から供給されたときに、ヒストグラム作成処理を開始する。
【００６９】
まず、アドレス変換部１１１の選択ビット切替回路４０２は、選択ビット設定部１２１から供給された信号に従って、選択ビット切替処理を行う（ステップＳ２０１）。例えば、選択ビット切替回路４０２は、セレクタ４０１に入力される各色データに対してマスクするビットを特定するための信号を生成する。
【００７０】
次に、メモリ制御部１１２のアクセス切替回路５０２は、アクセス設定部１２２から供給された信号に従って、アクセス切替処理を行う（ステップＳ２０２）。例えば、アクセス切替回路５０２は、アドレスデコード論理回路５０１が１次元ヒストグラムを作成するための制御信号か、３次元ヒストグラムを作成するための制御信号を生成する。
【００７１】
ステップＳ２０１、ステップＳ２０２において、各切替処理が終了していることを前提として、セレクタ４０１は、ステップＳ２０１で生成された信号に従って、画像データ変換部１０７から入力された画像データを、ヒストグラム格納用メモリ１１３に割り当てられたアドレスに変換する（ステップＳ２０３）。セレクタ４０１は、変換して生成したアドレスデータを、アドレスデコード論理回路５０１に出力する。
【００７２】
アドレスデコード論理回路５０１は、ステップＳ２０２で生成された信号に従って、セレクタ４０１から入力されたアドレスデータで特定されるヒストグラム格納用メモリ１１３のデータをインクリメントする（ステップＳ２０４）。例えば、ステップＳ２０２で生成された信号が、３次元ヒストグラムを作成するための信号であれば、アドレスデコード論理回路５０１は、３次元ヒストグラムを作成する。
【００７３】
アドレスデコード論理回路５０１は、セレクタ４０１から入力される全てのアドレスデータに対し、特定されるヒストグラム格納用メモリ１１３のデータをインクリメントし終えるまで（ステップＳ２０５；Ｎｏ）、繰り返す。これにより、アドレスデコード論理回路５０１は、１面の画像データに含まれる全ての画素に基づいてヒストグラムを作成することができる。一方、全てのアドレスデータに対して、ステップＳ２０４の処理を終了したとき（ステップＳ２０５：Ｙｅｓ）、ヒストグラム作成部１０１は、ヒストグラムの作成処理を終了する。
【００７４】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【００７５】
例えば、上記実施形態では、画像データ生成装置２００をスキャナとしている。しかしながら、本発明は、これに限定されず、例えば、デジタルカメラ、携帯電話、等、画像データを生成する装置であれば、どのような名称・形態の装置であってもよい。
【００７６】
また、上記実施形態では、出力装置３００をプリンタとしている。しかしながら、本発明は、これに限定されず、例えば、ディスプレイ、ポータブルオーディオプレーヤ、等、画像処理装置１００が生成したヒストグラムを利用して補正・加工されたデータを出力（表示を含む）する装置であれば、どのような名称・形態の装置であってもよい。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施形態に係る画像処理装置の機能構成図である。
【図２】ヒストグラム作成部のハードウェア構成図である。
【図３】ＲＧＢデータのアドレス変換処理を説明するための説明図である。
【図４】Ｌａｂデータのアドレス変換処理を説明するための説明図である。
【図５】Ｙｕｖデータのアドレス変換処理を説明するための説明図である。
【図６】（Ａ）ヒストグラム作成メモリの構成を説明するための説明図である。（Ｂ）輝度ヒストグラムを示すグラフである。
【図７】画像処理装置のハードウェア構成の一例を示す図である。
【図８】画像処理を説明するためのフローチャートである。
【図９】ヒストグラム作成処理を説明するためのフローチャートである。
【符号の説明】
【００７８】
１００  画像処理装置、１０１  ヒストグラム作成部、１０２  設定部、１０３  制御部、１０４  画像データ記憶部、１０５  メモリアクセス部、１０６  背景色変換部、１０７  画像データ変換部、１０８  インタフェース部、１０９  バス、１１１  アドレス変換部、１１２  メモリ制御部、１１３  ヒストグラム作成用メモリ、１２１  選択ビット設定部、１２２  アクセス設定部、１５０  入力装置、２００  画像データ生成装置、３００  出力装置、４０１  セレクタ、４０２  選択ビット切替回路、５０１  アドレスデコード論理回路、５０２  アクセス切替回路、６０１  メモリＡ、６０２  メモリＢ、６０３  メモリＣ、７０１  ＣＰＵ、７０２  主記憶装置、７０３  ＡＳＩＣ、７０４  通信装置、７０５  外部記憶装置、７０６  読取装置、７０７  可搬型記憶媒体。
【図１】
2008242733.tif 000003
【図２】
2008242733.tif 000004
【図３】
2008242733.tif 000005
【図４】
2008242733.tif 000006
【図５】
2008242733.tif 000007
【図６】
2008242733.tif 000008
【図７】
2008242733.tif 000009
【図８】
2008242733.tif 000010
【図９】
2008242733.tif 000011