(57)【要約】【課題】  サムネイル画像を用いたカラーモノクロ判定の精度向上。【解決手段】  画像を圧縮する圧縮手段と、圧縮後の画像のデータサイズに基づいて、圧縮される前の前記画像がカラーであるかモノクロであるか判定する判定手段とを有することを特徴とする装置。【選択図】  図９
2014099742.tif 000002
【特許請求の範囲】
【請求項１】
画像を圧縮する圧縮手段と、
圧縮後の画像のデータサイズ及び圧縮される前の前記画像の色差平均値とに基づいて、圧縮される前の前記画像がカラーであるかモノクロであるか判定する判定手段とを有することを特徴とする装置。
【請求項２】
入力画像を複数のブロックに分割する分割手段をさらに有し、
圧縮される前の前記画像は、分割により得られた複数のブロックにおける１つのブロックであることを特徴とする請求項１に記載の装置。
【請求項３】
前記判定手段は、前記複数のブロックの一つ一つに対して前記判定を行うことを特徴とする請求項２に記載の装置。
【請求項４】
前記複数のブロックの夫々に対する前記判定の結果、カラーと判定されたブロックの数が閾値以上である場合に、前記入力画像をカラー画像であると判定する手段をさらに有することを特徴とする請求項３に記載の装置。
【請求項５】
前記圧縮後の画像のデータサイズとは、圧縮後の画像における色差のデータのサイズであることを特徴とする請求項１乃至４の何れか１項に記載の装置。
【請求項６】
前記判定手段は、圧縮される前の前記画像の色差平均値が所定の範囲内に収まる場合に、圧縮される前の前記画像をモノクロ画像であると判定し、
圧縮される前の前記画像の色差平均値が所定の範囲外である場合に、前記圧縮後の画像のデータサイズが閾値以上であるか判定し、
閾値以上であると判定した場合に、圧縮される前の前記画像をカラー画像であると判定し、
閾値未満であると判定した場合に、圧縮される前の前記画像をモノクロ画像であると判定することを特徴とする請求項１乃至５の何れか１項に記載の装置。
【請求項７】
画像を圧縮する圧縮工程と、
圧縮後の画像のデータサイズ及び圧縮される前の前記画像の色差平均値とに基づいて、圧縮される前の前記画像がカラーであるかモノクロであるか判定する判定工程とを有することを特徴とする方法。
【請求項８】
入力画像を複数のブロックに分割する分割工程をさらに有し、
圧縮される前の前記画像は、分割により得られた複数のブロックにおける１つのブロックであることを特徴とする請求項７に記載の方法。
【請求項９】
前記判定工程では、前記複数のブロックの一つ一つに対して前記判定を行うことを特徴とする請求項８に記載の方法。
【請求項１０】
前記複数のブロックの夫々に対する前記判定の結果、カラーと判定されたブロックの数が閾値以上である場合に、前記入力画像をカラー画像であると判定する工程をさらに有することを特徴とする請求項９に記載の方法。
【請求項１１】
前記圧縮後の画像のデータサイズとは、圧縮後の画像における色差のデータのサイズであることを特徴とする請求項７乃至１０の何れか１項に記載の方法。
【請求項１２】
前記判定工程では、圧縮される前の前記画像の色差平均値が所定の範囲内に収まる場合に、圧縮される前の前記画像をモノクロ画像であると判定し、
前記画像の色差平均値が所定の範囲外である場合に、前記圧縮後の画像のデータサイズが閾値以上であるか判定し、
閾値以上であると判定した場合に、圧縮される前の前記画像をカラー画像であると判定し、
閾値未満であると判定した場合に、圧縮される前の前記画像をモノクロ画像であると判定することを特徴とする請求項７乃至１１の何れか１項に記載の方法。
【請求項１３】
請求項１２に記載の方法をコンピュータに実行させるためのコンピュータよみとり可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラーモノクロ判定に関する。
【背景技術】
【０００２】
従来、例えば複合機などの画像形成装置においては、１ページの入力画像における各画素に対してカラーモノクロ判定を行い、カラーと判定された画素数が所定数を超える場合にそのページがカラーであると判定する技術が知られている。
ところが、前述の方法では１ページの中の全ての画素に対してカラーモノクロ判定を行うため、多くの時間を要することになってしまうといった問題があった。
そこで、特許文献１は、１ページの入力画像を縮小処理してサムネイル画像を生成し、そのサムネイル画像における各画素に対してカラーかモノクロか判定をおこなうようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３２６６８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述のサムネイル画像に対するカラーモノクロ判定を用いると、ある色の画素とその補色の画素が入り乱れて平均色差がグレイ軸の色差に近い値となるような入力画像だった場合、カラーモノクロ判定に失敗してしまう。
これは、１ページ全体の入力画像だけに発生する問題ではなく、それよりももっと小さな画像（例えば、１ブロックの画像）に対しても発生する。
発明を実施するための形態の欄では、こうした課題を解決するために必要な技術について説明を行う。
【課題を解決するための手段】
【０００５】
画像を圧縮する圧縮手段と、
圧縮後の画像のデータサイズ及び圧縮される前の前記画像の色差平均値とに基づいて、前記画像がカラーであるかモノクロであるか判定する判定手段とを有することを特徴とする装置。
【発明の効果】
【０００６】
ある色の画素とその補色の画素が入り乱れて平均色差がグレイ軸の色差に近い値となるような画像のカラーモノクロ判定の精度が向上する。
【図面の簡単な説明】
【０００７】
【図１】実施例における画像処理装置のブロック図
【図２】実施例におけるスキャン画像処理部１０９のブロック図
【図３】実施例におけるパケットデータの構成を示す模式図
【図４】実施例における画像圧縮部２０６の処理フローを示すフローチャート
【図５】実施例におけるＭＣＵのＪＰＥＧ−ＤＣＴ圧縮処理を示すフローチャート
【図６】実施例におけるタイルデータとＭＣＵの関係を示す模式図
【図７】実施例における量子化テーブルを示す模式図
【図８】実施例におけるカラーサイズ判定用閾値を示す模式図
【図９】実施例における１ページのカラータイル数を算出する処理を示すフローチャート
【図１０】実施例におけるカラーサイズ判定用閾値を決定する処理を示すフローチャート
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、本提案の実施形態を備える画像形成装置として、スキャン、プリンタ、コピーなどの複数の機能を有するＭＦＰ（デジタル複合機）を例に説明する。
【０００９】
図１は、本実施形態に係る画像処理システムの全体構成を示すブロック図である。図１において、ＭＦＰ１００は、画像入力デバイスであるスキャナ１１２と画像出力デバイスであるプリンタエンジン１１３が内部で接続されている。そして画像データの読み取りやプリント出力のための制御を行う。
【００１０】
ＣＰＵ１０１はＭＦＰ１００を制御するための中央処理装置である。操作部１０２は、ユーザから操作指示の受付及び操作結果の表示を行う。ＨＤＤ１０３はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ等を格納する。ＲＯＭ１０４はブートＲＯＭであり、システムのブートプログラムが格納されている。ＲＡＭ１０５は、ＣＰＵ１０１が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。デバイスＩ／Ｆ１０６は、スキャナ１１２やプリンタエンジン１１３と接続し、画像データの転送処理を行う。画像編集用画像処理部１０７は、画像データの回転や、変倍、色処理、トリミング・マスキング、２値変換、多値変換、白紙判定等の各種画像処理を行う。プリント画像処理部１０８は、プリント出力する画像データに対して、プリンタエンジン１１３に応じた画像処理補正等を行う。スキャン画像処理部１０９は、スキャナ１１２で読み込まれた画像データに対して、補正、加工、圧縮等の各種処理を行う。ＲＩＰ（ラスタイメージプロセッサ）１１０は、図示しないネットワークＩ／Ｆから受信したページ記述言語（ＰＤＬ）コードをイメージデータに展開する。以上のユニットがシステムバス１１４上に配置されている。
【００１１】
図２は、本実施形態の画像処理装置に備えるスキャナ画像処理部１０９の内部構成を示すブロック図である。ライン間補正部２０１は、スキャナにより読み取ったＲＧＢ画像データに対して、各コンポーネント間のライン単位（副走査方向）のずれを補正する。ガンマ補正処理部２０２は、スキャナに依存してしまう画像データの色味をデジタル複合機内で共通の色味となるように色の補正を行う。フィルタ処理部２０３は、スムージング処理等のフィルタ処理を行う。ブロック画像生成部２０４は、ラスターフォーマットで入力される画像データから３２画素×３２画素のブロック画像データを生成する。更に、ブロック画像生成部２０４では、図３に示されるようなタイルデータに所定の固定長のヘッダーデータを付加したデータを生成する。なお、フィルタ処理部２０３とブロック画像生成部２０４の間に色変換処理部（例えば、ＲＧＢ画像→ＹＵＶ変換を行う色変換処理部）を設けるのも好ましい。本実施例では、その変換（ＲＧＢ画像→ＹＵＶ変換）を行うものとして以下、説明を行うが、こうした変換を行わなくても良い。
【００１２】
なお、処理の流れは以下の通りである。操作部１０２からコピー指示が行われると、スキャナ１１２は原稿をスキャンする。スキャン結果はデバイスＩ／Ｆ１０６及びシステムバス１１４を介してスキャン画像処理部１０９と送られ、図２に示す処理が行われる。処理が行われた結果（例えば、圧縮されたＹＵＶ画像データを含むパケットデータ）は、システムバス１１４を介してＲＡＭ１０５へと入力される。そして、図９に示す処理が行われる。その処理が終わると、ＲＡＭ１０５に入力された結果は、ＣＰＵ１０１によりシステムバス１１４を介してプリント画像処理部１０８へと送られる。すると、プリント画像処理部１０８は、パケットデータから、圧縮されたＹＵＶ画像データを取り出す。そして、取り出したＹＵＶ画像データを解凍する。そして、解凍結果（タイルデータ形式のＹＵＶ画像データ）をラスターデータ形式のＹＵＶ画像データに変換し、変換結果をＣＭＹＫ画像データ又はＫ単色の画像データに変換する。さらに、プリント画像処理部１０８は、その変換結果に対してハーフトーン処理を行う。そして、得られたハーフトーン結果をシステムバス１１４及び、デバイスＩ／Ｆ１０６介してプリンタエンジン１１３に送る。そして、プリンタエンジン１１３がハーフトーン結果を印刷する。
【００１３】
なお、上の段落では、コピーの場合の一連のフローを説明したが、コピー以外のフローにも請求項は適用できる。例えば、ＰＤＬ印刷の場合には、外部装置から送られてきたＰＤＬデータがＲＩＰ１１０でラスター画像データに変換され、その変換結果が図２の処理へと流れていくことになる。なお、ＰＤＬ印刷の際の画像であれ、コピーの際の画像であれ、その他の画像であれ、１頁分の画像のことを入力画像と称することにする。
【００１４】
ここで、本実施例における画像データのフォーマットについて図３を用いて説明する。本実施例においては、前述した通り、ラスターのページ画像データは３２画素×３２画素のブロック（ブロックのことをブロック画像データと呼ぶこともある）に分割される。繰り返しになるが、この３２画素×３２画素のブロック画像データをタイルデータと定義する。なお、本実施例では３２画素×３２画素のブロック画像に分割したが、これに限りことではない。このタイルデータをハンドリングする際に必要となる各種情報を含むヘッダーデータを付加したデータが生成され、このデータ単位で各処理部によりハンドリングされることになる。タイルデータにヘッダーデータを付加したデータを本実施例ではパケットデータと定義する。なお、ヘッダーデータは、パケットＩＤやサムネイル値等の情報であり、本実施例では更にパケットデータ毎に、タイルデータサイズ、圧縮フラグ、量子化ＩＤの情報がヘッダーデータに格納されることとする。パケットＩＤとは、このパケットデータに含まれるタイルがページ単位のラスター画像上のどの位置にあるかを示すＸ座標とＹ座標の２次元の座標情報である。色空間情報とは、このタイルが、ＲＧＢ画像なのかＹＵＶ画像なのかＧＲＡＹ−ＳＣＡＬＥ画像なのかを識別するための識別子を示す情報である。タイルデータサイズとは、タイルデータに含まれる１０２４画素の画像データのデータサイズを示すバイト単位の情報である。パケットデータに含まれるタイルデータが圧縮されている場合には、圧縮されたデータのデータサイズとなる。圧縮フラグとは、このタイルデータがＪＰＥＧ−ＤＣＴ圧縮されたデータか、他の方式で圧縮されたデータか、非圧縮のデータかを示すフラグの情報である。量子化ＩＤとは、ＪＰＥＧ−ＤＣＴ圧縮時に使用した量子化テーブルのＩＤを示す情報である。本実施例では２ビットのフラグの情報である。サムネイル値とは、タイルデータに含まれる１０２４画素の平均値を示す情報であり、後述するサムネイル生成部２０５により作成される。
【００１５】
サムネイル生成部２０５は、パケットデータに含まれる１０２４画素のＹ値、Ｕ値、Ｖ値夫々の平均値の算出を行い、ブランクだったサムネイル値の欄にＹ値、Ｕ値、Ｖ値の平均値を格納する。即ち、輝度平均値と色差平均値を格納する。
【００１６】
画像圧縮部２０６は、ブロック画像生成部２０４で生成されたパケットデータに含まれるタイルデータに対してＪＰＥＧ−ＤＣＴ圧縮を行う。更に、パケットデータのヘッダーデータにおけるタイルデータサイズの欄、圧縮フラグの欄、量子化ＩＤの欄に情報を格納する。画像圧縮部２０６から出力されたパケットデータはシステムバス１１４を経由してＲＡＭ１０５に格納される。なお、ユーザが操作部１０２からＪＰＥＧ−ＤＣＴ圧縮ではなく別の圧縮方式で圧縮して欲しい旨の指示を行った場合には、別の圧縮方式（例えば、ＪＰＥＧ２０００の方式）でタイルデータが圧縮されることになる。
【００１７】
ここで、画像圧縮部２０６における処理フローに関して、図４を用いて説明する。まず、画像圧縮部２０６はサムネイル生成部２０５から受信したパケットデータをＪＰＥＧ−ＤＣＴ圧縮の処理対象とし、該当パケットデータからタイルデータの抽出を行う（Ｓ４０１）。この際、後述するＳ４１１における処理で、非圧縮のタイルデータの参照を行う可能性があるため、抽出されたタイルデータは重複してデータを保持されるものとする。
【００１８】
画像圧縮部２０６は抽出されたタイルデータを１６個のＭＣＵ（１つのＭＣＵは、８画素×８画素のブロックとなっている）に分割する（Ｓ４０２）。タイルデータは前述の通り、３２画素×３２画素のブロックであり、ＭＣＵ１６個分備えるデータである。生成されたＭＣＵはタイルデータの左上を起点に主走査方向及び副走査方向に対して順に割り付けされ、図６のＭＣＵの番号に示されるような順のデータ構成となる。また、次ステップ以降で処理されるＭＣＵは図６に示されるＭＣＵの番号順に処理されるものとする。次に、画像圧縮部２０６は処理対象となるＭＣＵに対してＪＰＥＧ−ＤＣＴ圧縮処理を行う（Ｓ４０３）。
【００１９】
ここで、ＭＣＵに対して行われるＪＰＥＧ−ＤＣＴ圧縮の処理フローについて図５を用いて説明する。
【００２０】
まず、画像圧縮部２０６は処理対象となるＭＣＵの画像成分の分解を行う。本実施例では色空間情報をＹＵＶとして説明しているため、ここではＹ、Ｕ及びＶの３成分に分解され、画像成分毎のデータとなる。
【００２１】
次に、画像圧縮部２０６はＭＣＵの画像成分毎にＤＣＴ変換の処理を行う（Ｓ５０２）。ＤＣＴ変換とは、いわゆる周波数成分毎の８×８のデータに変換する処理であり、この処理により２次元の低周波成分の係数から高周波成分の係数までが算出される。ＤＣＴ変換処理がおこなわれた後、画像圧縮部２０６はＭＣＵの画像成分毎に量子化テーブルを用いて夫々の係数の量子化の処理を行う（Ｓ５０３）。量子化テーブルは、図７に示されるように８×８の２次元の定数の集まりから構成されるものであり、各定数は、量子化の処理における量子化ステップを決定するものである。
【００２２】
例えば、定数が６の場合、０−２５５で表される係数は０−５へと量子化されることになる。その際、例えば、係数が５０だと、２５５÷６＝４２以上、２５５×２÷６＝８４以下となるので、量子化結果は１となる。
【００２３】
つまり、量子化の定数を大きくすれば量子化結果のデータ量が小さくなり、その反面、画像データの画質が劣化する。逆に、量子化の定数を小さくすれば量子化ステップが小さくなるため量子化結果のデータ量が大きくなるが、画像データの画質劣化を抑えることができる。したがって、図７に示されるようにＪＰＥＧ−ＤＣＴ圧縮処理時に実現したいデータ量（即ち、圧縮率）に応じた量子化テーブルを複数備えることが一般的である。本実施例では量子化テーブル１から量子化テーブル４の方向に量子化ステップが大きくなるようなテーブルが構成されている。つまり、量子化テーブル４に近づくほど、画像データの劣化が大きくなるが、圧縮率は高くなる。本実施例における画像圧縮部２０６は、ＣＰＵ１０１により量子化テーブルを４面設定可能とする構成であり、起動時等にＣＰＵ１０１により４面全てが設定されるものとする。また、量子化テーブルは量子化ＩＤとリンクされて管理されており、ＣＰＵ１０１が画像圧縮部２０６に対して量子化ＩＤのみ指定を行うことでＪＰＥＧ−ＤＣＴ圧縮時に用いる量子化テーブルの指定を行うことができる。この量子化ＩＤはデフォルト、００に設定されており、図７に示される量子化テーブル１が使用されるものとする。量子化ＩＤが０１の場合は量子化テーブル２、量子化ＩＤが１０の場合は量子化テーブル３、量子化ＩＤが１１の場合は量子化テーブル４が使用される。なお、ＣＰＵ１０１が確保したＲＡＭ１０５の領域に画像圧縮部２０６からのページ画像データが収まらない際に、圧縮率が高くなるよう量子化ＩＤが１段階変更され、画像圧縮処理部２０６による処理が再度行われる。
【００２４】
具体的には、量子化ＩＤを１段階大きな値に変更した上で、１頁に含まれる全てのパケットデータ（サムネイル生成部２０５から入力されたパケットデータであって、図４の処理の過程で圧縮されたタイルデータを格納したパケットデータではない。）を対象とし、それらのパケットデータ一つずつに対して図４の処理が再度行われる。
【００２５】
その後、画像圧縮部２０６は予め備えているハフマンテーブルの値に沿って、ＭＣＵの画像成分毎にエントロピー符号化の処理を行う（Ｓ５０４）。エントロピー符号化とは、データの生起確率の高低に応じて異なる長さの符号を割り当てることで圧縮を行うものである。なお、本実施例において使用するハフマンテーブルは、ＪＰＥＧ勧告書ＩＴＵ−Ｔ  Ｒｅｃ．Ｔ．８１に記載されるＫ３〜Ｋ６であるものとする。以上の処理により１つのＭＣＵのＪＰＥＧ−ＤＣＴ圧縮の処理が完了する。
【００２６】
次に画像圧縮部２０６は該当パケットデータの１６個のＭＣＵの全ての処理が完了したかどうかを判定する（Ｓ４０４）。該当パケットデータの１６個のＭＣＵの全ての処理が完了していないと判定された場合、Ｓ４０３において次のＭＣＵの処理を行う。該当パケットデータの１６個のＭＣＵの全ての処理が完了したと判定された場合、画像圧縮部２０６はＪＰＥＧ−ＤＣＴ圧縮の処理が行われた１６個のＭＣＵの圧縮後のデータサイズの合計値を求める（Ｓ４０５）。そして、画像圧縮部２０６はＳ４０５で求めたデータサイズを基に、該当パケットデータのタイルデータの圧縮率が１未満であるかどうかの判定を行う（Ｓ４０６）。この判定処理は、該当パケットデータのヘッダーに格納される色空間情報をもとに非圧縮時のタイルデータのデータサイズ（非圧縮データサイズとする。）を決定し、Ｓ４０５で求まった圧縮後のデータサイズが非圧縮データサイズ未満であるかどうかを判定することにより行われる。本実施例では前述したとおり、色空間情報はＹＵＶであるため、非圧縮データサイズは３Ｋバイトとなる。つまり、本実施例では圧縮後のデータサイズが３Ｋバイト未満であるかどうかを判定することなる。なお、非圧縮データサイズが３Ｋバイトなのは、３２画素×３２画素×１バイト（即ち、０−２５５）×３（ＹとＵとＶの三つ）という計算から求まっている。
【００２７】
Ｓ４０６で圧縮率が１未満であると判定された場合、画像圧縮部２０６は該当パケットデータのタイルデータの領域にＪＰＥＧ−ＤＣＴ圧縮された圧縮データを格納する（Ｓ４０７）。次に画像圧縮部２０６は該当パケットデータのヘッダーデータに含まれる圧縮フラグを、ＪＰＥＧ−ＤＣＴ方式で圧縮されたことを示すフラグに更新する（Ｓ４０８）。次に、画像圧縮部２０６は該当パケットデータのヘッダーデータに含まれる量子化ＩＤを、ＪＰＥＧ−ＤＣＴ方式で圧縮したときに使用した量子化ＩＤを示すＩＤに更新する（Ｓ４０９）。次に、画像圧縮部２０６は該当パケットデータのヘッダーデータに含まれるタイルデータサイズを、Ｓ４０５で算出したデータサイズに更新する（Ｓ４１０）。一方、Ｓ４０６で圧縮率が１未満でないと判定された場合、画像圧縮部２０６は該当パケットデータのタイルデータの領域にＳ４０１で非圧縮時のタイルデータの参照用に保持していた非圧縮のタイルデータを再び格納する（Ｓ４１１）。
【００２８】
次に、画像圧縮部２０６は該当ページの全てのパケットデータの処理が完了したかどうかを判定する（Ｓ４１２）。該当ページの全てのパケットデータの処理が完了していないと判定された場合、画像圧縮部２０６は次のパケットデータの処理をＳ４０１から行う。
【００２９】
Ｓ４１２で該当ページの全てのパケットデータの処理が完了したと判定された場合、画像圧縮部２０６における該当ページの圧縮処理が完了する。
【００３０】
以上のような処理がスキャン画像処理部１０９により行われ、画像データがシステムバス１１４へ出力される。出力された画像データはＲＡＭ１０５に格納されることになる。
【００３１】
次に本実施例における１ページに含まれるカラータイル数の算出を行う処理フローに関して、図９を用いて説明する。なお、この処理フローはＣＰＵ１０１により行われ、ページの画像データがスキャン画像処理部１０９から出力されてＲＡＭ１０５に一時的に格納されている状態で行われるものであるとする。
【００３２】
まず、ＣＰＵ１０１はＲＡＭに格納されたパケットデータのヘッダーデータに含まるサムネイル値の情報を取得する（Ｓ９０１）。前述したが、このサムネイル値は、タイルデータに含まれる１０２４画素の画素値（Ｙ値、Ｕ値、Ｖ値）の平均値を算出することで求められた値である。次に、取得したサムネイル値を基に各ブロックがカラータイルか、モノクロタイルかを判定する（Ｓ９０２）。これは、各タイルの代表値となるサムネイル値を用いて、これがカラー画素なのかモノクロ画素なのかを、公知のカラーモノクロ判定技術によって判定する。すなわち、サムネイル値がカラー画素と判定されたタイルはカラータイル、サムネイル値がモノクロ画素と判定されたタイルはモノクロタイルとして判定する。ここで使用されるカラーモノクロ判定は、例えば、サムネイル値の色空間情報が１つの輝度情報（Ｙ）と２つの色差情報（Ｕ及びＶ）から構成されるＹＵＶを示しているのであれば、ＵとＶの値がともに所定範囲内に収まっているかどうかを判定する。判定した際に、ＵとＶの値が所定範囲内であればモノクロ画素、所定範囲外であればカラー画素とするような処理である。より具体的には例えば、ＵとＶの値がともに１１０以上１４０以下であればサムネイル値はモノクロと判定される。なお、この場合、所定範囲は１１０以上１４０以下となるが、それ以外の範囲であっても構わない。
【００３３】
次にＳ９０２でサムネイル値がカラーと判定された場合、ＣＰＵ１０１は該当ページのカラータイル数のインクリメントを行う（Ｓ９０９）。一方、Ｓ９０２でサムネイル値がモノクロと判定された場合、ＣＰＵ１０１はＲＡＭ１０５から該当パケットデータの圧縮フラグの取得を行う（Ｓ９０３）。圧縮フラグとは前述したようにパケットデータのヘッダーデータに格納されており、該当パケットデータのタイルデータが圧縮／非圧縮、さらに圧縮方式の識別が可能となる情報のことであり、本実施例では４ビットのコードを想定しているものとする。次にＣＰＵ１０１は取得した圧縮フラグを基に該当パケットデータのタイルデータの圧縮方式がＪＰＥＧ−ＤＣＴ方式であるかどうかの判定を行う（Ｓ９０４）。
【００３４】
Ｓ９０４で圧縮方式がＪＰＥＧ−ＤＣＴ方式であると判定された場合、ＣＰＵ１０１は図１０を用いて後述する処理フローに従って、該当パケットデータのデータサイズ判定（Ｓ９０７における処理）時に用いるカラーサイズ判定用閾値の決定を行う。
【００３５】
ここで図１０を用いてカラーサイズ判定用閾値の決定のための処理フローについて説明する。まずＣＰＵ１０１はＲＡＭ１０５から該当パケットデータの量子化ＩＤの取得を行う（Ｓ１００１）。量子化ＩＤとは前述したようにパケットデータのヘッダーデータに格納されており、タイルデータのＪＰＥＧ−ＤＣＴ方式による圧縮時に使用した量子化テーブルの識別が可能となるようにするための情報である。本実施例では前述したように、２ビットのフラグの情報である。次にＣＰＵ１０１は取得した量子化ＩＤ（２ビットのフラグ）が“００”であるかどうかの判定を行う（Ｓ１００２）。量子化ＩＤが“００”であると判定された場合、ＣＰＵ１０１は、図８に示される予め作成されているカラーサイズ判定用閾値テーブルの１番目の要素に格納される閾値である「２３５」をカラーサイズ判定用閾値として決定する（Ｓ１００３）。ここでカラーサイズ判定用閾値について詳細に説明する。カラーサイズ判定用閾値とは、画像圧縮部２０６で各パケットデータのタイルデータを圧縮する際に使用される量子化テーブルを用いて、特定のタイルデータを圧縮した場合のタイルデータサイズの値である。
【００３６】
前述の特定のタイルデータとは、ブラック（Ｒ：０、Ｇ：０，Ｂ：０）画素とホワイト（Ｒ：２５５、Ｇ：２５５、Ｂ：２５５）画素の２つの画素が千鳥式に配置されたデータである。こうしたタイルデータは、モノクロのタイルデータとしては最もデータサイズが大きくなるデータとなっている。このタイルデータを画像圧縮部２０６でＪＰＥＧ−ＤＣＴ圧縮する際と同等のパラメータ（本実施例では量子化テーブルは図７に示されるもの）でＪＰＥＧ−ＤＣＴ圧縮した場合のデータサイズがカラータイルサイズ判定用閾値となり、図８に示される値である。単位はバイトである。なお、カラータイルサイズ判定閾値は必ずしもこのようにして決める必要はない。またＹＵＶ全てのデータのデータサイズ（Ｙのデータサイズ＋Ｕのデータサイズ＋Ｖのデータサイズ。）をカラータイルサイズ判定閾値と比較するのではなく、ＵＶのデータのデータサイズ（Ｕのデータサイズ＋Ｖのデータサイズ。）をカラータイルサイズ判定閾値と比較しても良い。こうした比較をする場合には、先ほど示した値よりももっと小さなカラータイルサイズ判定閾値が用いられるであろう。
【００３７】
なお、ＪＰＥＧ−ＤＣＴ圧縮した場合のタイルデータサイズには、ＪＰＥＧ規格で定められた各種マーカー等が含まれることになるため、当然、カラータイルサイズ判定用閾値は使用するシステムに合わせた値にすることが必要である。また、図８に示されるよう画像圧縮部２０６で使用される量子化テーブルの全てのケースで算出しておき、量子化ＩＤと対応付けされるものである。なお、本実施例では画像圧縮部２０６で圧縮する際の色空間はＹＵＶであるとしているが、圧縮する際の色空間が複数存在する場合には当然色空間毎にカラータイルサイズ判定用閾値を作成する必要がある。以上のように作成および構成されるものがカラーサイズ判定用閾値である。
【００３８】
一方、Ｓ１００２で量子化ＩＤが“００”ではないと判定された場合、ＣＰＵ１０１は取得した量子化ＩＤが“０１”であるかどうかの判定を行う（Ｓ１００４）。量子化ＩＤが“０１”であると判定された場合、ＣＰＵ１０１は、カラーサイズ判定用閾値テーブルの２番目の要素に格納される閾値をカラーサイズ判定用閾値として決定する（Ｓ１００５）。一方、量子化ＩＤが“０１”ではないと判定された場合、ＣＰＵ１０１は取得した量子化ＩＤが“１０”であるかどうかの判定を行う（Ｓ１００６）。量子化ＩＤが“１０”であると判定された場合、ＣＰＵ１０１は、カラーサイズ判定用閾値テーブルの３番目の要素に格納される閾値を後述するカラーサイズ判定用閾値として決定する（Ｓ１００７）。一方、量子化ＩＤが“１０”ではないと判定された場合、量子化ＩＤは“１１”であることが確定するため、ＣＰＵ１０１はカラーサイズ判定用閾値テーブルの４番目の要素に格納されている閾値をカラーサイズ判定用閾値として決定する（Ｓ１００８）。以上のようにして、Ｓ９０５における該当パケットデータのデータサイズ判定時に用いるカラーサイズ判定用閾値の決定を行う。ただし、本実施例では量子化テーブルの数を４個として記載しているが、これに限ることではない。
【００３９】
次にＣＰＵ１０１はＲＡＭ１０５から該当パケットデータのタイルデータサイズの取得を行う（Ｓ９０６）。そして、ＣＰＵ１０１はタイルデータサイズがカラーサイズ判定用閾値以上であるかどうかの判定処理を行う（Ｓ９０７）。Ｓ９０７で該当パケットデータのタイルデータサイズがカラーサイズ判定用閾値以上であると判定された場合、ＣＰＵ１０１は該当パケットデータに含まれるタイルはカラータイルと認識する。そして、ＣＰＵ１０１は該当ページのカラータイル数のインクリメントを行う。これによって該当ページ内のカラータイル数をカウントするわけである（Ｓ９０９）。一方、Ｓ９０７で該当パケットデータのタイルデータサイズがカラーサイズ判定用閾値未満であると判定された場合、ＣＰＵ１０１は該当パケットデータに含まれるタイルデータはモノクロタイルと認識する。そして、該当ページに含まれる全てのパケットデータの判定処理が行われたかどうかの判定を行う（Ｓ９１０）。
【００４０】
一方、Ｓ９０４で圧縮方式がＪＰＥＧ−ＤＣＴ方式ではないと判定された場合、ＣＰＵ１０１は圧縮フラグを基に更に該当パケットデータが非圧縮であるかどうかの判定を行う（Ｓ９０８）。Ｓ９０８で該当パケットデータが非圧縮であると判定された場合、ＣＰＵ１０１は該当パケットデータに含まれるタイルはカラータイルであると認識し、該当ページのカラータイル数のインクリメントを行う（Ｓ９０９）。本実施例における画像形成装置では、画像圧縮部２０６で圧縮率が１以上の場合、前述した通り、パケットデータには非圧縮のタイルデータが格納される。このような場合、該当ページのデータのサイズは大きかったことと予想され、さらに大きかったのは当然、該当ページがカラーページだったからであると予想される。よって、Ｓ９０９の処理が行われることになる。なお、こうした場合、Ｓ９０２からＳ９０９までの処理をパケット毎に繰り返さずとも全パケットがカラーパケットであるものとして図９のフローチャートを抜けても良い。一方、Ｓ９０８で該当パケットデータが非圧縮ではないと判定された場合、ＣＰＵ１０１は該当パケットデータに含まれるタイルはモノクロタイルであると認識し、該当ページに含まれる全てのパケットデータの判定処理が行われたかどうかの判定を行う（Ｓ９１０）。
【００４１】
Ｓ９１０で該当ページに含まれる全てのパケットデータの判定処理が行われたと判定された場合、該当ページのカラータイル数の算出処理は終了する。Ｓ９１０で該当ページに含まれる全てのパケットデータの判定処理が行われていないと判定された場合、Ｓ９０１から次のパケットデータのカラーモノクロ判定処理が行われる。
【００４２】
以上の処理から、ＣＰＵ１０１は１ページに含まれるカラータイル数の算出を行い、該当ページのカラー画素割合の算出を行う。カラータイル数からカラー画素割合の算出は、例えば、１ページの全画素に対して、タイルに含まれる画素数とカラータイル数の積により算出される値の割合を出したものである。
【００４３】
なお、図９のフローチャートに付随して以下の処理を行うのも好ましい。即ち、ＣＰＵ１０１は、算出したカラー画素割合に応じて、該当ページの印刷時に画像形成装置利用者に対して請求する料金の決定を行うようにするのも好ましい。例えば、カラー画素割合が第１の閾値（１０％）以上の場合には該当ページの印刷は４０円、第１の閾値未満第２の閾値（例えば、０．１％。）以上の場合には該当ページの印刷は２０円、第２の閾値未満の場合には該当ページの印刷は１０円というような構成としても良い。もちろん、第１の閾値は用いずに、第２の閾値以上の場合には４０円、第２の閾値未満の場合には１０円といたような二段階での料金決定を行ってもよい。もちろん、四段階以上での料金決定を行っても良いのは言うまでも無い。
【００４４】
さらに、第２の閾値以上の場合（即ち、４０円、２０円の場合。カラー画像である場合。）には、プリント画像処理部１０８に対して、ＹＵＶ画像データをＣＭＹＫ画像データに変換するよう指令を行う。また、第２の閾値未満の場合（即ち、１０円の場合。モノクロ画像である場合。）には、プリント画像処理部１０８に対して、ＹＵＶ画像データをＫ単色の画像データに変換するよう指令を行う。といった指令をＣＰＵ１０１が別途行うのも好ましい。もちろん、その前提として、プリント画像処理部１０８には、ＹＵＶ画像データ→ＣＭＹＫ画像データの色変換処理に用いる色変換パラメータと、ＹＵＶ画像データ→Ｋ単色の画像データの色変換処理に用いる色変換パラメータが予め保存されているものとする。
【００４５】
なお、本実施例のカラータイル数の算出処理はサムネイル値でのカラーモノクロ判定を先に行っているが、これを行わず、先に圧縮フラグ、タイルデータサイズでのカラーモノクロ判定だけを行ってもよい。
【００４６】
以上、説明したように本実施例では１ページをタイルデータに分割し、各タイルデータのサムネイル値、各タイルデータの圧縮方式及びタイルデータサイズの情報を基に１ページに含まれるカラータイル数の算出を行うようにした。これにより、サムネイル値だけでカラーモノクロ判定を行っていた従来手法ではカラーと判定できなかったタイルを正しくカラータイルと判定することが可能となる。したがって、本実施例で説明した手法を用いることにより、更に高精度なカラータイル数の算出や、印刷時における画像形成装置利用者に対して請求する料金の正確性を保つことが可能となる。
【００４７】
なお、上述の実施例では、ＪＰＥＧ−ＤＣＴ圧縮の場合を例に説明を行ったが、画像を圧縮した際にカラー画像の方がモノクロ画像よりも圧縮効率が悪い（即ち、圧縮後の画像のデータサイズが大きい）圧縮形式は他にも存在する。例えば、ＪＰＥＧ２０００圧縮やランレングス圧縮などである。従って、上記実施例におけるＪＰＥＧ−ＤＣＴ圧縮というのは、圧縮した際に「カラー画像の方がモノクロ顔図よりも圧縮効率が悪い」圧縮形式の一例としての説明であることを御理解頂きたい。
【００４８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014099742.tif 000003
【図２】
2014099742.tif 000004
【図３】
2014099742.tif 000005
【図４】
2014099742.tif 000006
【図５】
2014099742.tif 000007
【図６】
2014099742.tif 000008
【図７】
2014099742.tif 000009
【図８】
2014099742.tif 000010
【図９】
2014099742.tif 000011
【図１０】
2014099742.tif 000012