(57)【要約】【課題】  フィルタ処理が含まれる画像処理において、画像劣化を発生することなく画像処理を削減する。【解決手段】  画像データに対して画像処理する画像処理装置であって、ＰＤＬデータにおける白ラインを検出する検出手段と、前記ＰＤＬデータをレンダリングするレンダリング処理手段と、前記レンダリング処理手段によって得られる画像データが表す各画素に対して、複数の画素を参照して画素値を変換するためのフィルタを用いたフィルタ処理を実行するフィルタ処理手段と、前記フィルタ処理手段に用いられるフィルタのサイズに応じてＰＤＬデータに含まれる白ラインの一部をスキップしてレンダリングすることを特徴とする。【選択図】  図１
2016100785.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対して画像処理する画像処理装置であって、
ＰＤＬデータにおける白ラインを検出する検出手段と、
前記ＰＤＬデータをレンダリングするレンダリング処理手段と、
前記レンダリング処理手段によって得られる画像データが表す各画素に対して、複数の画素を参照して画素値を変換するためのフィルタを用いたフィルタ処理を実行するフィルタ処理手段と、
前記フィルタ処理手段に用いられるフィルタのサイズに応じてＰＤＬデータに含まれる白ラインの一部をスキップしてレンダリングすることを特徴とする画像処理装置。
【請求項２】
前記レンダリング処理手段は、前記フィルタ処理手段に用いられるフィルタのサイズに応じて前記最小白ライン数を設定し、前記最小白ライン数より多く白ラインが連続する場合は、前記最小白ライン数を超えた分の白ラインについてはレンダリング処理をスキップすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像処理手段は、フィルタサイズの異なる複数のフィルタ処理手段を有し、
前記設定手段は、前記複数のフィルタ処理手段のうち、最大のフィルタサイズに基づいて、前記最小白ライン数を設定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
さらに、少なくとも２つの異なる画像処理を実行させるモードを入力する入力手段を有し、
前記画像処理手段は、フィルタサイズの異なる複数のフィルタ処理手段を有し、
前記モードは、前記複数のフィルタ処理手段のうち画像処理に使用するフィルタ処理手段が異なるモードであって、
前記設定手段は、前記モードに応じて最小白ライン数を設定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記設定手段は、前記最大のフィルタサイズ−１により前記最小白ライン数を設定することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項６】
さらに、前記画像処理手段から得られる画像処理された画像データに基づいて、記録媒体上に画像を印刷する印刷手段を有し、
前記レンダリング処理手段は、ラインごとにスキップしたかどうかを示すスキップ情報を生成し、
前記印刷手段は、前記スキップ情報に基づいて、前記画像処理された画像データを復元した後に印刷することを特徴とする請求項１乃至５の何れか一項に記載の画像処理装置。
【請求項７】
記録媒体上の画像を読み取り、読み取った画像に基づいて記録媒体上に画像を印刷するための画像処理する画像処理装置であって、
記録媒体上の画像を読み取る読取手段と、
前記読取手段によって読み取られた画像データに対して、前記読取手段に応じた画像処理を実行する第一の画像処理手段と、
前記読取手段が読み取った画像データにおける白ラインを検出する検出手段と、
前記第一の画像処理手段から得られる画像データが表す各画素に対して、複数の画素を参照して画素値を変換するためのフィルタを用いたフィルタ処理を実行するフィルタ処理手段と、
前記フィルタ処理手段に用いられるフィルタのサイズに応じて前記読取手段によって読み取られた画像データに含まれる白ラインの一部をスキップして画像処理することを特徴とする画像処理装置。
【請求項８】
画像データに対して画像処理する画像処理装置であって、
ＰＤＬデータにおける所定の画素値を有する特定ラインを検出する検出手段と、
前記ＰＤＬデータをレンダリングするレンダリング処理手段と、
前記レンダリング処理手段によって得られる画像データが表す各画素に対して、複数の画素を参照して画素値を変換するためのフィルタを用いたフィルタ処理を実行するフィルタ処理手段と、
前記フィルタ処理手段に用いられるフィルタのサイズに応じてＰＤＬデータに含まれる特定ラインの一部をスキップしてレンダリングすることを特徴とする画像処理装置。
【請求項９】
コンピュータに読み込み込ませ実行させることで、前記コンピュータを請求項１乃至８の何れか一項に記載された画像処理装置として機能させることを特徴とするコンピュータプログラム。
【請求項１０】
画像データに対して画像処理する画像処理方法であって、
ＰＤＬデータにおける白ラインを検出し、
前記ＰＤＬデータをレンダリングするレンダリング処理を施し、
前記レンダリング処理によって得られる画像データが表す各画素に対して、複数の画素を参照して画素値を変換するためのフィルタを用いたフィルタ処理を実行し、
前記フィルタ処理に用いられるフィルタのサイズに応じてＰＤＬデータに含まれる白ラインの一部をスキップしてレンダリングすることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに対してフィルタ処理を用いて画像処理を行う画像処理装置及び方法に関する。
【背景技術】
【０００２】
一般に、記録媒体上に画像を印刷するプリンタにおいては、入力された画像データに対して所望の画像処理を施すことにより、画像データをプリンタが出力可能な印刷データに変換する。画像処理を高速化するため、画像データに印刷する必要のない白領域が含まれている場合、画像データにおける白領域に対する処理をスキップする方法が開示されている。このような技術は、白スキップ処理とも呼ばれる。特許文献１には、スキャナにより画像を読み込んだ後、読み込んだ画像データの白ライン判定し、その白ラインを削除した画像データに変換して画像処理を行う方法を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９９３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら特許文献１に開示された方法によれば、画像処理にフィルタ処理が含まれる場合、白ラインを削除した境界において２つの画像領域の色が混ざってしまい、画質劣化を起こしてしまう場合があった。
【０００５】
そこで本発明は、フィルタ処理が含まれる画像処理において、画像劣化を発生することなく画像処理を削減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため本発明は、像データに対して画像処理する画像処理装置であって、ＰＤＬデータにおける白ラインを検出する検出手段と、前記ＰＤＬデータをレンダリングするレンダリング処理手段と、前記レンダリング処理手段によって得られる画像データが表す各画素に対して、複数の画素を参照して画素値を変換するためのフィルタを用いたフィルタ処理を実行するフィルタ処理手段と、前記フィルタ処理手段に用いられるフィルタのサイズに応じてＰＤＬデータに含まれる白ラインの一部をスキップしてレンダリングすることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、フィルタ処理を含む画像処理において、画像劣化を発生することなく画像処理を削減することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る画像処理装置を示すブロック図
【図２】ＲＩＰ処理部１０２のブロック図
【図３】スキップ処理されなかった場合の画像データの模式図
【図４】ＲＩＰ処理部１０２の処理を説明する図
【図５】一般的なスキップ処理後の画像データの模式図
【図６】最小白ライン数２に応じて、スキップ処理された画像データの模式図
【図７】最小白ライン数４に応じて、スキップ処理された画像データの模式図
【図８】第２実施形態に係る画像処理装置を説明する図
【図９】第３実施形態に係る画像処理装置の全体構成を示すブロック図
【図１０】スキャナ画像処理部９０２のブロック図
【図１１】第１実施形態に係る画像処理装置の動作を説明するフローチャート
【図１２】スキップ情報の１例を示す図
【図１３】第２実施形態に係る画像処理装置を示すブロック図
【図１４】第４実施形態に係る画像処理装置を示すブロック図
【図１５】フィルタの１例を示す図
【発明を実施するための形態】
【０００９】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下の実施例において示す構成は１例にすぎず、本発明は図示された構成に限定されるものではない。
【００１０】
＜第１実施形態＞
（全体構成）
図１は、本発明の第１実施形態に適用可能な画像処理装置の全体構成を示すブロック図である。本実施形態において画像処理装置は、ＰＤＬ処理部１０１、ＲＩＰ処理部１０２、ＣＰＵ１０３、画像処理部１０４、印刷部１０５を有する。
【００１１】
ＰＤＬ処理部１０１は、図示しないＰＣ等からの印刷ジョブに含まれているページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）によって記述されたデータ（以降、ＰＤＬデータ）を解析する。ＰＤＬデータとは、１ページ分の画像形成命令を含む。ＰＤＬ処理部１０１は、ＰＤＬデータの画像形成命令を解釈し、描画するオブジェクトを示すディスプレイリスト（ＤＬ）等の中間データを生成する。生成された中間データは、メモリ（不図示）に一時的に保存する。
【００１２】
ＲＩＰ処理部１０２は、ＰＤＬ処理部１０１による解析の結果得られる中間データからラスタ形式の画像データ（以降、ラスタ画像データまたは画像データと呼ぶ）を生成する。ＲＩＰ処理部１０２は、スキップ抑制レジスタ１１０を有し、スキップ抑制レジスタ１１０には最小白ライン数が格納されている。ＲＩＰ１０２は、最小白ライン数に従って、中間データからラインごとにラスタ画像データを生成する際に、一部の白ラインをスキップ処理する。スキップ処理とは、特定の条件を満たすライン（ここでは白ライン）のレンダリング処理をスキップすることを意味する。つまり、ＲＩＰ処理部１０２から出力されるラスタ画像データにおいては、一部のラインが省略されている。本来１ページ分の画像データを構成するライン数がＬであり、ライン数Ｍの白ラインをスキップ処理すると、ラスタ画像データのライン数は、Ｌ−Ｍになる。また、ＲＩＰ処理部１０２は、スキップ処理されたライン位置を示すスキップ情報を生成する。なお、ラインとは１ページ分の画像において主走査方向（横方向）の１列を意味する。例えば、画像データが２５６画素×５１２画素から構成される場合、１ラインは１×２５６画素である。ＲＩＰ処理部１０２における処理の詳細は後述する。
【００１３】
ＣＰＵ１０３は、画像処理部１０４における処理に必要なパラメータを設定する。また、後述する画像処理１０４に用いるフィルタのサイズに応じて最小白ライン数を生成し、スキップ抑制レジスタ１１０に格納する。上記最小白ライン数及びＣＰＵ１０３の詳細は後述する。
【００１４】
画像処理部１０４は、上記ＲＩＰ処理部１０２で生成された画像データを入力し、フィルタ処理や変倍処理や色変換処理、ハーフトーン処理などの各種の画像処理を行う。特に本実施形態では、画像処理部１０４は第１フィルタ処理部１０６と第２フィルタ処理部１０７を有する。フィルタ処理とは、画像データが表す各画素に対して、注目画素の画素値と注目画素の周辺画素の画素値とに基づいて、注目画素の画素値を変換する処理である。複数の画素を参照して画素値を変換するためにフィルタを用いる。第１フィルタ処理部１０６は、図１５（ａ）に示すような３×３のフィルタサイズのフィルタを用いてフィルタ処理をする。第２フィルタ処理部１０７は、図１５（ｂ）に示すような５×５のフィルタサイズを用いてフィルタ処理をする。フィルタ処理とは、注目画素の画素値を、注目画素および近傍画素それぞれに対応するフィルタ係数の積和演算により算出する処理である。従って、フィルタ処理後の注目画素の画素値は、フィルタサイズによって決まる近傍画素の画素値が参照された値が与えられる。
【００１５】
印刷部１０５は、ＣＰＵ１０３から出力されたスキップ情報に基づいて、画像処理部１０４によって各種画像処理を実行された画像データに対して、スキップ処理された白ラインを復元する。そして、白ライン復元後の１ページ分の画像データを記録媒体上に印刷する。
【００１６】
（ＲＩＰ処理部１０２の詳細な説明）
次にＲＩＰ処理部１０２の詳細について説明する。図２は、ＲＩＰ処理部１０２の詳細な構成を示すブロック図である。オブジェクト分割部２０１は、ＰＤＬ処理部１０１により生成される中間データ（ＰＤＬ解析結果）を入力する。中間データは、複数のオブジェクト情報（色、座標等）を示す。オブジェクト分割部２０１は、画像のライン毎に複数のオブジェクト情報を分割し、出力する。
【００１７】
白ライン判定部２０２は、オブジェクト分割部２０１により生成されたオブジェクト情報に基づいて、判定対象とする１ライン（以後、注目ラインと呼ぶ）のオブジェクトが白ラインか否かを判定する。具体的な判定方法としては、注目ラインのオブジェクトにエッジが存在せず、且つ色が白の場合に、注目ラインは白ラインであると判定する。なお、判定方法の変形例として、他の公知技術を用いて判定しても良い。
【００１８】
白ラインカウンタ２０３は、上記白ライン判定部２０２において、注目ラインが白ラインと判定された場合にインクリメントされる。即ち、白ラインの連続数がカウントされる。一方、上記白ライン判定部２０２において、注目ラインが白ラインではないと判定された場合は、０に初期化する。
【００１９】
スキップ抑制レジスタ２０６は、ＣＰＵ１０３により算出された最小白ライン数が格納されている。最小白ライン数とは、上記ＲＩＰ処理部でスキップ処理する際、最低限残す必要のある白ライン数を示したものである。上記最小白ライン数は後述する比較部２０４及びスキップ処理部２０５で使用される。
【００２０】
比較部２０４は、白ラインカウンタ２０３の値と最小白ライン数とを比較する。比較した結果、最小白ライン数よりも白ラインカウンタ２０３の値が大きい場合、比較部２０４は、白ラインの連続数が最低限残す必要のあるライン数を超えたことを示すＴＲＵＥを出力する。一方、最小白ラインが色ラインカウンタ２０３の値以下の場合、比較部２０４は、白ラインの連続数が最低限残す必要のあるライン数を超えていない、または白ラインではないことを示すＦＡＬＳＥを出力する。
【００２１】
レンダリング処理部２０５は、オブジェクト分割部２０１で生成された注目ラインのオブジェクト情報を入力する。そして、上記比較部２０４での比較結果に応じて、ラインごとにスキップ処理または画像データ生成処理の何れかを実行する。比較部２０４からＴＲＵＥが出力されている（つまり注目ラインが白ラインかつ最小白ライン数より大きい）場合、レンダリング処理部２０５は注目ラインの画像データを生成せず、スキップする。比較部２０５からＦＡＬＳＥが出力されている（つまり注目ラインが白ラインでないか、または白ラインかつ最小白ライン数以下）場合、レンダリング処理部２０５は注目ラインの画像データを生成し、メモリ（不図示）に格納する。
【００２２】
またレンダリング処理部２０５は、注目ラインに対して、スキップしたかどうかを示すスキップ情報を生成する。レンダリング処理部２０５は注目ラインの画像データ生成をスキップした場合（比較部２０４の出力がＴＲＵＥ）は、スキップ情報を１とする。スキップせずに画像データを生成した場合（比較部２０４の出力がＦＡＬＳＥ）は、スキップ情報を０とする。つまりスキップ情報は、１ページ分の画像データのライン数Ｈに相当する分、０または１の何れかの情報を示している。なお、スキップ情報は図示しないメモリに格納される。
【００２３】
（フィルタサイズに応じた最小白ライン情報の生成方法について）
次に、ＣＰＵ１０３が生成する最小白ライン情報について説明する。前述の通りスキップ処理とは、レンダリング部２０５が画像データを生成する際に、白ラインをスキップ（省略）する手法である。図３に示す画像のＰＤＬデータが入力されたとする。従来、図５に示すように、図３に示す画像において白ラインとして検出された全てのラインをスキップ（省略）してレンダリング処理する方法があった。図５のレンダリング結果からわかる通り、白領域Ａ〜Ｃがスキップされ、オブジェクト領域Ａにおけるオブジェクトとオブジェクト領域Ｂにおけるオブジェクトが隣接している。図５に示す画像データに対してフィルタ処理すると、白スキップ領域で隔てられた２つのオブジェクト領域をまたいでフィルタ処理を施すことになる。そのためオブジェクト領域Ａの三角オブジェクトとオブジェクト領域Ｂの四角オブジェクトとの画素値が混ざることにより、画質劣化を引き起こしてしまう。
【００２４】
そこで本実施形態では、ＲＩＰ処理部１０２においてフィルタ処理に応じてスキップ処理を施す。ＣＰＵ１０３はフィルタサイズに応じて最小白ライン数を算出し、ＲＩＰ１０２は最小白ライン数を超える白ラインのみスキップ処理をする。ただし、最小白ライン数は、画像処理部１０４における最大フィルタサイズから算出されることが重要である。その理由を以下に示す。１例として画像処理部１０４に含まれるフィルタ処理のうち、最大フィルタサイズは５（５×５フィルタ）であるとする。図６は、最小白ライン数２に応じて、スキップ処理された場合の画像データに対するフィルタ処理を模式的に示す図である。図１５（ａ）に示すような３×３のフィルタサイズによるフィルタ処理をする場合には、白ライン数が３以上あれば、オブジェクト領域間で異なるオブジェクトの画素値が混ざり合うことはない。しかしながら図６に示すように、オブジェクト領域Ａとオブジェクト領域Ｂの間に白領域が２ライン存在していても、５×５のフィルタはオブジェクトをまたいでしまう。
【００２５】
図７は、フィルタサイズ５に対応する最小白ライン数４（５−１）に応じてスキップ処理された画像データに対するフィルタ処理を模式的に示す図である。最小白ライン数が４なので、白領域Ｂの白ラインは４ライン残して、スキップ処理されている。この場合、図７に示すようにオブジェクト領域の境界に位置する画素にフィルタ処理をしても、三角オブジェクトと四角オブジェクトの画素値が混ざることはない。
【００２６】
このように、画像処理部１０４に含まれるフィルタ処理が複数ある場合、最大フィルタサイズを用いて最小白ライン数を算出する。これにより、白ラインによって隔てられたオブジェクト領域の境界において、白ラインをスキップした結果異なるオブジェクトの画素値が混ざり合ってしまうのを防ぐ。
【００２７】
（全体動作）
次に図１１に示すフローチャートを用いて、第１実施形態に係る画像処理装置の動作を説明する。
【００２８】
まずステップＳ１１０１においてＣＰＵ１０３は、画像処理部１０４に含まれるフィルタ処理に用いるフィルタサイズを取得し、最大フィルタサイズを特定する。本実施形態における画像処理部１０４では、５×５フィルタ処理部１０７に対応する最大フィルタサイズ５を取得する。
【００２９】
次にステップＳ１１０２においてＣＰＵ１０３は、式（１）に従って最小白ライン数を算出する。例えば、最大フィルタサイズが５である場合、最小白ライン数は４（５−１）となる。
ＭＩＮ＿ＬＩＮＥ  ＝  Ｆ＿ＳＩＺＥ  −  １  ・・・（１）
ＭＩＮ＿ＬＩＮＥ：最小白ライン数
Ｆ＿ＳＩＺＥ  ：  最大フィルタサイズ
次にステップＳ１１０３においてＣＰＵ１０３は、ＲＩＰ処理部１０２におけるスキップ抑制レジスタ１１０に最小白ライン数４を設定する。以上がＣＰＵ１０３による初期設定の説明である。
【００３０】
次に、ＰＤＬ処理部１０１からＲＩＰ処理部１０２までの動作を説明する。Ｓ１１０４においてＰＤＬ処理部１０１は、図示しないＰＣ等からの印刷ジョブに含まれているＰＤＬデータを解析し中間データを生成する。ステップＳ１１０５においてＲＩＰ処理部１０２は、中間データに基づいてラインごとにラスタ形式の画像データを生成する。注目ラインが白ラインかつ白ラインの連続数が最小白ライン数より大きいときには、注目ラインの画像データの生成はスキップする。それ以外、注目ラインが白ラインではない、または白ラインかつ白ラインの連続数が最小白ライン数以下の場合は、注目ラインの画像データを生成する。
【００３１】
またステップＳ１１０６においてＲＩＰ処理部１０２は、スキップ処理に応じてスキップ情報を生成する。スキップ情報はライン毎の１ビットの２値で表される。図１２に示すスキップ情報の場合、上から３ラインと下から２ラインは０なので、スキップ処理されていないラインを示す。それ以外の３ラインは１なので、スキップ処理されているラインを示す。以上がＰＤＬ処理部１０１からＲＩＰ処理部１０２までの動作の説明である。
【００３２】
ここで本実施形態によるレンダリング処理の経過について、図３及び図４を用いて説明する。ＰＤＬ処理部１０１から入力されるオブジェクト情報は、図３に示す１８ラインの白地のオブジェクトと三角オブジェクト（斜線部分）及び四角オブジェクト（縦線部分）により構成されるものとする。また、最小白ライン数は２とする。
【００３３】
この条件下においてスキップ処理されなかった場合、レンダリング後のラスタ画像データは、そのまま図３のようになる。白ラインからなる白領域Ａ〜Ｃと三角オブジェクトが存在するオブジェクト領域Ａ、及び四角オブジェクトが存在するオブジェクト領域Ｂで構成され、１８ラインの画像データとなる。
【００３４】
次に、図４（ａ）〜（ｆ）を用いて、同条件下にて、本実施形態におけるＲＩＰ処理部１０２が処理した結果について説明する。まず、ＲＩＰ処理部１０２は、図３に示す白領域Ａ（ライン番号０）を処理する。連続する白ライン数は１なので、白ラインカウンタ２０３は１を示す。この場合、白ラインカウンタ２０３は最小白ライン数２以下なので、ライン番号０のラインはスキップ処理されない。即ち、ＲＩＰ処理部１０２はそのままライン番号０の画像データを生成する。また、該当ラインがスキップ処理されていないことを示すために、スキップ情報に０が１ライン分追加される。これにより図４（ａ）に示す画像データがメモリに格納される。
【００３５】
次に、図３に示すオブジェクト領域Ａ（ライン番号１〜５）を処理する。オブジェクト領域Ａに白ラインは存在しないので、白ラインカウンタ２０３は０を示す。この場合、白ラインカウンタ２０３は最小白ライン数２以下なのでスキップ処理されない。即ち、ＲＩＰ処理部１０２はライン番号１〜５の画像データを生成する。また、該当ラインがスキップ処理されていないことを示すために、スキップ情報に０が５ライン分追加される。その結果、図４（ｂ）に示す画像データがメモリに格納され、スキップ情報が更新される。
【００３６】
次に、図３に示す白領域Ｂ（ライン番号６〜１０）を処理する。まず、ライン番号６、７の処理について説明する。ライン番号６、７を処理する際はそれぞれ、連続する白ラインは１、２なので、白ラインカウンタ２０３はライン番号６を処理するときには１、ライン番号７を処理するときには２を示す。この場合、白ラインカウンタ２０３は最小白ライン数２以下なので、ライン番号６、７はいずれもスキップ処理せず、ＲＩＰ処理部１９２はライン番号６、７の画像データを生成する。また、ライン番号６、７がスキップ処理されていないことを示すために、スキップ情報に０が２ライン分追加される。ライン番号８〜１０の処理について説明する。連続する白ライン数は、ライン番号７から継続すると３〜５なので、白ラインカウンタ２０３は、ライン番号８を処理するときには３、ライン番号９を処理するときには４、ライン番号１０を処理するときには５を示す。この場合、白ラインカウンタ２０３は最小白ライン数２よりも大きいため、ライン番号８〜１０を注目ラインとするとスキップ処理される。即ち、ＲＩＰ処理部１０２は、ライン番号８、９、１０の画像データを生成しない。また、ライン番号８、９、１０のラインがスキップ処理されていることを示すために、スキップ情報に１が３ライン分追加される。その結果、図４（ｃ）に示す画像データがメモリに格納され、スキップ情報が更新される。
【００３７】
次に、図３に示すオブジェクト領域Ｂ（ライン番号１１〜１３）を処理する。オブジェクト領域Ｂには白ラインは存在しないので、白ラインカウンタ２０３は０を示す。この場合、白ラインカウンタ２０３は最小白ライン数２以下なので、ライン番号１１〜１３はスキップ処理されない。即ち、ＲＩＰ処理部１０２は、図３においてライン番号１１、１２、１３の画像データを形成し、ラスタ画像データにおいてライン番号８、９、１０の画像データをメモリに格納する。また、ライン番号１１〜１３がスキップ処理されていないことを示すために、スキップ情報に０が３ライン分追加される。その結果、図４（ｄ）に示す画像データおよびスキップ情報が得られる。
【００３８】
次に、図３に示す白領域Ｃ（ライン番号１４〜１７）を処理する。まず、ライン番号１４、１５の処理について説明する。ライン番号１４、１５を処理する際それぞれ、連続する白ライン数は１、２なので、白ラインカウンタ２０３はライン番号１４を処理するときには１、ライン番号１５を処理するときには２を示す。この場合、白ラインカウンタ２０３は最小白ライン数が２以下なので、ライン番号１４、１５はスキップ処理されない。即ちＲＩＰ１０２は、ライン番号１４、１５の画像データを形成し、ラスタ画像データにおけるライン番号１１、１２の画像データをメモリに格納する。また、ライン番号１４、１５のラインがスキップ処理されていないことを示すために、スキップ情報に２ライン分０が追加される。次に、図３においてライン番号１６、１７の処理について説明する。ライン番号１６、１７を処理する際の連続する白ライン数はそれぞれ、ライン番号１２から継続すると３、４である。なので、白ラインカウンタ２０３は、ライン番号１６を処理する際には３、ライン番号１７を処理する際には４を示す。この場合、白ンカウンタ２０３は最小白ライン数２よりも大きいので、ライン番号１６および１７はスキップ処理される。即ち、ＲＩＰ処理部１０２は、ライン番号１６、１７の画像データを形成しない。また、該当ラインがスキップ処理されていることを示すために、スキップ情報に２ライン分１が追加される。その結果、図４に示すラスタ画像データおよびスキップ情報が得られる。
【００３９】
以上に示したようにＲＩＰ処理部１０２で処理した場合の出力画像データは最終的に図４（ｆ）のように１３ラインの画像データとなる。即ち、１８ライン中５ラインがスキップ処理された画像データとして出力される。
【００４０】
次に図１１に戻り、画像処理部１０４から印刷部１０５までの動作を説明する。ステップＳ１１０８において画像処理部１０４は、スキップ処理を含むレンダリング処理後のラスタ画像データに対して画像処理を実行する。なお画像処理１０４では、図１には説明簡略化のため第１フィルタ処理部１０６と第２フィルタ処理部１０７のみ記載しているが、それ以外の変倍処理や色変換処理やハーフトーン処理なども行われる。なお、変倍処理がある場合には、スキップ情報も変倍される。そしてステップＳ１１０９において印刷部１０５は、画像処理部１０４で生成された画像データを取得し、ＲＩＰ処理部１０２から取得するスキップ情報に基づいて、スキップ処理された白ラインを復元する。印刷部１０５は復元した画像データに基づいて、記録媒体上に画像を印刷する。以上のように本実施形態によれば、画像処理部１０４におけるフィルタ処理に用いられるフィルタサイズに応じて、レンダリングにおけるスキップ処理の白ライン量を調節する。これによって、スキップ処理の結果生じるフィルタ処理による画像劣化を抑制することができる。
【００４１】
なお、本実施形態のスキップ情報は１または０が連続したデータである。そのため、ランレングス圧縮などの圧縮方法にてデータを圧縮することで、データ量の大幅な削減が見込めることは言うまでもない。また、本実施形態では、白ラインをスキップ処理対象として説明したが、単一の画素値（例えば、黒）からなるラインをスキップ処理してもよい。あるいは、画素値が所定値（例えば、２）以下を白画素と見なして白ラインを設定することで、ノイズを含む画素からなる白ラインを検出することもできる。
【００４２】
＜第２実施形態＞
図１３は本発明の第２実施形態に係る画像処理装置の全体構成を示すブロック図である。第１実施形態では、ＣＰＵ１０３が画像処理部１０４における各パラメータを直接設定した。第２実施形態では、画像処理部１３０４内に制御部１３０９を備える場合を例に説明する。また、第２実施形態におけるＣＰＵ１３０３は、制御部１３０９を経由して、画像処理部１３０４の画像処理サブモジュール１３０８（図１３では、第１フィルタ処理部１３０６及び第２フィルタ処理部１３０７）に対して、スルー設定可能な構成をもつ。スルー設定された画像処理サブモジュール１３０８内の処理部、は何も処理せず入力をそのまま出力する。このようにして、ユースケース（モード）によって、画像処理部１０４で使用する画像処理サブモジュール１３０８を選択することができる。例えばモードＡにおいては、第１フィルタ処理部１３０６および第２フィルタ処理部１３０７いずれもスルー設定せず、モードＢにおいて第２フィルタ処理部１３０７をスルー設定する。つまりモードＡでは、３×３のフィルタサイズのフィルタを用いた第１フィルタ処理１３０６のみがラスタ画像データに対して実行される。なお、図１３における符号１３０１〜１３０２、符号１３０５〜１３０７それぞれは、図１における符号１０１〜１０２、符号１０５〜１０７と構成が同じであるため説明を省略する。
【００４３】
第１実施形態においてＣＰＵ１０３は、第１フィルタ処理１０６および第２フィルタ処理１０７における回路構成のうち、最大フィルタサイズを取得した。これは、ユースケースが変わったとしても、ＲＩＰ処理部１０２へ入力される最小白ライン数が変わらないため、ＲＩＰ処理部１０２と画像処理部１０４の同期は簡単になる。しかしながら、ユースケースによっては、第１実施形態では冗長な処理がなされる場合がある。例えば、モードＡにおいて第１フィルタ処理部１０６および第２フィルタ処理部１０７の両方を使用し、モードＢにおいては、第１フィルタ処理部１０６のみ使用する。この場合、第１実施形態では、常に最小白ライン数は、第２フィルタ処理１０７に合わせた４に設定されるが、最小白ライン数４はモードＡの最適値であって、モードＢの最適値ではない。そこで第２実施形態では、モードに応じてより適応的に最大フィルタサイズに応じた最小白ライン数を設定可能とする方法について説明する。
【００４４】
（最小白ライン数の算出方法について）
ＣＰＵ１３０３における最小白ライン数の算出方法を以下に示す。ただし、第１実施形態と異なる点のみ説明する。まずＣＰＵ１３０３は、画像処理部１３０４におけるユースケースを取得する。取得したユースケースにおいて使用される画像処理サブモジュール１３０８の中で最大フィルタサイズを取得する。例えば、画像処理サブモジュール１３０８のうちスルー設定されない処理部だけをピックアップし、その中で最大のフィルタサイズを取得すればよい。次に、ＣＰＵ１３０３は、式（１）に従って最小白ライン数を算出する。以後の動作は、第１実施形態で説明したＣＰＵ１０３の動作と同様なため割愛する。
【００４５】
（ＲＩＰ処理部１３０２と画像処理部１３０４の同期）
ＲＩＰ処理部１３０２と画像処理部１３０４において、同じ画像に対して処理を実行するタイミングが異なる。そのため、ＲＩＰ処理部１３０２に与える最小白ライン数の切り替えを効率よくするためには、その切り替えタイミングに注意が必要である。例えば図８（ａ）は、画像処理部１３０４の処理時におけるモードＢからモードＡに切り替わるタイミングと同じタイミングで最小白ライン数の値を切り替えた場合を説明する図である。このような場合、ＲＩＰ処理部１３０２に設定される最小白ライン数の値は、モードＡに対応する印刷指示が入力してから、所定時間後に切り替わる。そのため、図８（ａ）に示すＮＧ期間において、モードＡに対応する画像データに対して、モードＢに対応する最小白ライン数に基づいてスキップ処理がなされてしまう。これにより、冗長なデータを処理する場合だけでなく、画質劣化を引き起こす場合がある。
【００４６】
上記を回避するためには、例えば、図８（ｂ）に示すように、ＲＩＰ処理部１３０２においてモードＢに対応する処理からモードＡに対応する処理に切り替わるタイミングにおいて、最小白ライン数の値を切り替えた方が良い。これによって、モードＡに対応する画像データにて、モードＢに対応するスキップ処理がなされるといったことが起こるのを防ぐ。
【００４７】
以上のように本実施形態によれば、ユースケース（モード）によって、使用されるフィルタサイズの最大値が変わる場合にも対応できる。即ち、ユースケースに伴う画像処理のフィルタサイズに応じて、スキップ処理時の白ライン量を調節する。これにより、スキップ処理による画像劣化を抑制することができる。
【００４８】
＜第３実施形態＞
第１実施形態では、ＰＤＬ処理部１０１及びＲＩＰ処理部１０２を実装していたが、最小白ライン数に応じて、スキップ処理時の白ライン量を調節し、且つスキップ情報を出力する条件を伴っていることが重要である。即ち、ＰＤＬ処理部１０１及びＲＩＰ処理部１０２の代わりに上記条件を満たしたスキャナ系画像処理（スキャナで取り込んだデータを画像処理する）であっても同様の実施形態を実現できる。その構成例を以下に示す。
【００４９】
（全体構成）
図９は、第３実施形態に適用可能な画像処理装置の全体構成を示すブロック図である。第１実施形態の全体構成を示す図１と異なる構成は、画像取得部９０１とスキャナ画像処理部９０２、ＣＰＵ９０３である。それ以外の符号９０４〜９０７は、図１に示す符号１０４〜１０７と同じ構成であるため、説明を省略する。
【００５０】
画像取得部９０１は、図示しないラインイメージセンサを用いて、原稿を読み取った画像データを取得する。スキャナ画像処理部９０２は、画像取得部９０１が取得した読取画像データに対し、補正、加工、編集を行う。例えば、シェーディング補正や文字加工、ノイズ除去などである。また、上記に加え、スキャナ画像処理９０２はＣＰＵ９０３から出力された最小白ライン数に基づいて、スキップ処理を行う。またスキャナ画像処理部９０２は、スキップ処理されたライン位置を示すスキップ情報を生成する。スキャナ画像処理部９０２の詳細は後述する。
【００５１】
ＣＰＵ９０３は、第１実施形態のＣＰＵ１０３と同様の動作を行う。ただし、スキャナ画像処理部９０２にフィルタ処理が含まれる場合があるので、プリント画像処理９０４とスキャナ画像処理９０２の中で最大のフィルタサイズにて最小白ライン数を生成する必要がある。
【００５２】
（スキャナ画像処理部９０２）
次に図１０のブロック図を用いて、スキャナ画像処理部９０２の詳細について説明する。シェーディング補正部１００１は、画像取得部９０１が取得した画像データの主走査方向のムラをフラットに補正する。
【００５３】
スキップ処理部１００２は、シェーディング補正部１００１で補正された画像データの白ラインに対して、その連続白ライン数がＣＰＵ９０３により算出された最小白ライン数を超えないように白ラインを削除する。また、それに応じてスキップ情報を生成する。スキップ情報は、第１実施形態で説明したスキップ情報と同様である。
【００５４】
画像処理部１００３は、図示しない画像処理サブモジュール群を備え、上記スキップ処理部１００２が生成したスキップ処理後の画像データに対し、文字加工、ノイズ除去などの画像処理を施す。
【００５５】
以上のように本実施形態によれば、画像処理部９０４の前段処理は最小白ライン数に応じて、スキップ処理時の白ライン量を調節し、且つスキップ情報を出力する条件を伴っていればよい。即ち、本実施形態にようにスキャナ系画像処理がスキップ処理時の白ライン量を調節することによって、スキップ処理による画像劣化を抑制する画像処理装置を提供することができる。
【００５６】
＜第４実施形態＞
図１４は、第４実施形態に適用可能な画像処理装置の全体構成を示すブロック図である。
【００５７】
第１実施形態の全体構成を示す図１と異なる点は、画像処理１４０４の内部に最小白ライン数算出部１４１１及びスキップ情報変換部１４１２が実装されている点である。また、最小白ライン数算出部１４１１から直接スキップ抑制レジスタ１４１０に書き込まれる点が異なる。また、ＲＩＰ処理１４０２で生成されたスキップ情報がスキップ情報変換部１４１２に入力されている点が異なる。それ以外の符号１４０１〜１４１０は、図１に示す符号１０１〜１１０と構成が同じであるため、説明を省略する。
【００５８】
第１実施形態では、ＣＰＵ１０３が画像処理部１０４のフィルタサイズから最小白ライン数を算出していた。また、第２実施形態ではプリント画像処理部１０４のユースケースに従って、スキップ情報が変わる場合は、ＣＰＵ１０３にて対応していた。そのため、ＲＩＰ処理１０２と画像処理部１０４の同期にはＣＰＵ１０３が不可欠だった。
【００５９】
第４実施形態では、ＣＰＵなしに、ＲＩＰ処理とプリント画像処理の同期をとる方法について説明する。
【００６０】
最小白ライン数算出部１４１１は、画像処理部１４０４のフィルタサイズを取得し、式（１）を用いて最小白ライン数を算出する。そして、スキップ抑制レジスタ１４１０に、最小白ライン数を格納する。
【００６１】
スキップ情報変換部１４１２は、ＲＩＰ処理部１４０２から出力されたスキップ情報を入力する。そして、ユースケースに伴ってスキップ情報に変更が生じる場合には、それに対応する。例えば、変倍処理がある場合にはスキップ情報も変倍する。
【００６２】
以上説明したように第４実施形態によれば、ＣＰＵ１４０３なしで、ＲＩＰ処理部１４０２とプリント画像処理部１４０４の間のデータの同期が可能になる。
【００６３】
＜その他の実施形態＞
前述の実施形態として、レンダリング処理部やスキャナ画像処理部が実行するスキップ処理の対象とするラインを白ラインとして説明した。しかしながら、スキップ処理の対象とする特定の条件は、白画素からなるライン以外にも適用可能である。例えば、スキップ処理の対象となる特定の条件を、黒画素からなるラインとして設定することで、黒ラインをスキップ処理の対象とする。スキップ処理の対象として設定される特定ラインを検出し、後段のフィルタ処理に用いられるフィルタサイズに応じて最小特定ライン数を算出する。そして、レンダリング処理部やスキャナ画像処理部が最小特定ライン数に応じてスキップ処理をすることで、前述の実施形態と同様の効果を得ることができる。
【００６４】
また本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６５】
１０１  ＰＤＬ処理得部
１０２  ＲＩＰ処理部
１０３  ＣＰＵ
１０４  画像処理部
１０５  印刷部
１０６  ３×３フィルタ処理部
１０７  ５×５フィルタ処理部
１１０  スキップ抑制レジスタ
【図１】
2016100785.tif 000003
【図２】
2016100785.tif 000004
【図３】
2016100785.tif 000005
【図４】
2016100785.tif 000006
【図５】
2016100785.tif 000007
【図６】
2016100785.tif 000008
【図７】
2016100785.tif 000009
【図８】
2016100785.tif 000010
【図９】
2016100785.tif 000011
【図１０】
2016100785.tif 000012
【図１１】
2016100785.tif 000013
【図１２】
2016100785.tif 000014
【図１３】
2016100785.tif 000015
【図１４】
2016100785.tif 000016
【図１５】
2016100785.tif 000017