(57)【要約】【課題】圧縮データ生成処理と圧縮データ展開処理のうち少なくとも一方の処理を、データ中の着色不要なブランクラインに対する処理を省くことで簡素化できる画像データ処理装置、印刷装置、画像データ処理方法及びプログラムを提供する。【解決手段】マスク情報を生成し（Ｓ２０）、スキャンデータ（画像データ）のうちＪｐｅｇ生成処理の処理対象ブロックが白ブロックであるか否かを判定する（Ｓ３０）。白ブロックであればＪｐｅｇ生成処理を行い（Ｓ４０）、一方、白ブロックでなければＪｐｅｇ生成処理をスキップする。【選択図】図７
2011120197.tif 000002
【特許請求の範囲】
【請求項１】
画像データを圧縮して圧縮データを生成する圧縮データ生成処理と、前記圧縮データを展開して前記画像データを生成する圧縮データ展開処理とのうち少なくとも一方を行う画像データ処理装置であって、
画像データを構成する１ラインずつ行う前記圧縮データ生成処理と圧縮データを構成する１ラインずつ行う前記圧縮データ展開処理とのうち少なくとも一方を行う画像データ処理手段と、
前記画像データ処理手段による処理対象ラインについて、着色不要なブランクラインであるか否かを判定する判定手段と、
前記判定手段がブランクラインであると判定した場合は、当該ブランクラインと判定した処理対象ラインに対する前記画像データ処理手段による圧縮データ生成処理と圧縮データ展開処理とのうち少なくとも一方の処理をスキップすることを特徴とする画像データ処理装置。
【請求項２】
前記画像データ処理手段は、前記圧縮データ生成処理を行う圧縮データ生成手段と、前記圧縮データ展開処理を行う圧縮データ展開手段とを備え、
前記判定手段は、前記画像データのうち前記圧縮データ生成手段による処理対象ラインについて着色不要なブランクラインであるか否かを判定する第１判定手段と、前記圧縮データのうち前記圧縮データ展開手段による処理対象ラインについて着色不要なブランクラインであるか否かを判定する第２判定手段とを備え、
前記第１判定手段がブランクラインであると判定した場合は、前記圧縮データ生成手段による当該ブランクラインに対する圧縮データ生成処理をスキップし、
前記第２判定手段がブランクラインであると判定した場合は、前記圧縮データ展開手段による当該ブランクラインに対する圧縮データ展開処理をスキップすることを特徴とする請求項１に記載の画像データ処理装置。
【請求項３】
前記圧縮データ生成手段は、スキャン手段が読み取った画像データを圧縮して圧縮データを生成し、当該圧縮データをバッファーに格納することを特徴とする請求項２に記載の画像データ処理装置。
【請求項４】
前記圧縮データ展開手段は、前記圧縮データを展開して、印刷手段による印刷に用いられる印刷データを生成することを特徴とする請求項２又は３に記載の画像データ処理装置。
【請求項５】
ブランクデータ生成手段を更に備え、
前記圧縮データ展開手段による圧縮データ展開処理をスキップした場合、前記ブランクデータ生成手段は、当該スキップしたブランクラインのブランクデータを生成することを特徴とする請求項２乃至４のうちいずれか一項に記載の画像データ処理装置。
【請求項６】
前記圧縮データ展開手段による展開生成ライン数を計数するカウント手段と、
前記カウント手段が計数した展開生成ライン数が、前記圧縮データ展開手段の展開対象の圧縮データを生成した際の前記圧縮データ生成手段による圧縮生成ライン数に達したか否かを判断する判断手段と、
前記判断手段が、前記展開生成ライン数が前記圧縮生成ライン数に達したと判断すると、前記印刷データの生成を終了させる印刷データ生成終了手段とを更に備えたことを特徴とする請求項４又は５に記載の画像データ処理装置。
【請求項７】
前記画像データに基づきマスク情報を生成するマスク情報生成手段を更に備え、
前記判定手段は、前記マスク情報を用いて前記処理対象ラインが前記ブランクラインであるか否かを判定することを特徴とする請求項１乃至６のうちいずれか一項に記載の画像データ処理装置。
【請求項８】
スキャン手段と、
前記スキャン手段が読み取った画像データに基づく画像の印刷を行う印刷手段と、
請求項２乃至７のうちいずれか一項に記載の前記画像データ処理装置とを備えた印刷装置であって、
前記圧縮データ生成手段は、前記スキャン手段が読み取った画像データを圧縮して圧縮データを生成し、
前記圧縮データ展開手段は、前記圧縮データを展開して前記画像データを生成し、当該展開した画像データに基づく画像を前記印刷手段が印刷する構成であり、
前記ブランクラインは白ラインであることを特徴とする印刷装置。
【請求項９】
前記圧縮データ展開手段は、前記スキップした前記ブランクラインを含まない前記画像データを生成する構成であり、
前記圧縮データ展開手段が前記スキップしたブランクラインの位置情報を取得する位置情報取得手段と、
前記圧縮データ展開手段が生成した前記画像データに基づいて前記印刷手段を制御する制御手段とを更に備え、
前記制御手段は、前記画像データに基づいて前記印刷手段に印刷動作を行わせるとともに、前記位置情報取得手段からの前記位置情報に基づきブランクラインに相当する位置で前記印刷手段による印刷動作をスキップすることを特徴とする請求項８に記載の印刷装置。
【請求項１０】
前記印刷手段は、印刷媒体を搬送する搬送手段と、前記搬送手段により搬送される前記印刷媒体に記録を施す記録手段とを備え、
前記制御手段は、前記搬送手段の動力源と前記記録手段とを制御する構成であり、前記位置情報に基づき前記ブランクラインに相当する位置では前記記録手段による記録動作をスキップすることを特徴とする請求項９に記載の印刷装置。
【請求項１１】
前記スキャン手段が読み取った画像の向きを回転させて印刷媒体に印刷させる画像回転を伴うか否かを判定する回転判定手段を更に備え、
前記位置情報取得手段は、前記回転判定手段により画像回転を伴うと判定された場合に、前記ブランクラインの位置情報を取得して前記制御手段へ渡すことを特徴とする請求項９又は１０に記載の印刷装置。
【請求項１２】
画像データを圧縮して圧縮データを生成する圧縮データ生成処理と、前記圧縮データを展開して前記画像データを生成する圧縮データ展開処理とを行う画像データ処理方法であって、
画像データのうち圧縮データ生成処理の処理対象ラインが、着色不要なブランクラインであるか否かを判定する第１判定ステップと、
前記第１判定ステップにおいて、ブランクラインと判定されなかった処理対象ラインについては圧縮データ生成処理を行うと共に、ブランクラインと判定された処理対象ラインについては圧縮データ生成処理をスキップする圧縮データ生成処理ステップと、
前記圧縮データ生成処理ステップで生成された前記圧縮データのうち圧縮データ展開処理の処理対象ラインが、着色不要なブランクラインであるか否かを判定する第２判定ステップと、
前記第２判定ステップにおいて、ブランクラインと判定されなかった処理対象ラインについては圧縮データ展開処理を行うと共に、ブランクラインと判定された処理対象ラインについては圧縮データ展開処理をスキップする圧縮データ展開処理ステップと、
を備えたことを特徴とする画像データ処理方法。
【請求項１３】
画像データを圧縮して圧縮データを生成する圧縮データ生成処理と、前記圧縮データを展開して前記画像データを生成する圧縮データ展開処理とをコンピューターが実行するためのプログラムであって、
コンピューターが、画像データのうち圧縮データ生成処理の処理対象ラインが、着色不要なブランクラインであるか否かを判定する第１判定ステップと、
コンピューターが、前記第１判定ステップにおいて、ブランクラインと判定されなかった処理対象ラインについては圧縮データ生成処理を行うと共に、ブランクラインと判定された処理対象ラインについては圧縮データ生成処理をスキップする圧縮データ生成処理ステップと、
コンピューターが、前記圧縮データ生成処理ステップで生成された前記圧縮データのうち圧縮データ展開処理の処理対象ラインが、着色不要なブランクラインであるか否かを判定する第２判定ステップと、
コンピューターが、前記第２判定ステップにおいて、ブランクラインと判定されなかった処理対象ラインについては圧縮データ展開処理を行うと共に、ブランクラインと判定された処理対象ラインについては圧縮データ展開処理をスキップする圧縮データ展開処理ステップと、
を備えたことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮データ生成処理及び圧縮データ展開処理を行う画像データ処理装置、印刷装置、画像データ処理方法及びプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、原稿をスキャナーで読み取った画像データに基づく画像を用紙（記録媒体）に印刷する複合機が開示されている。この種の複合機においては、コピー印刷を行うときには、例えばスキャナーで読み取った画像データをＪｐｅｇ画像データに一旦変換し、印刷の際にＪｐｅｇ画像データを展開して画像データを取得する。さらにその取得した画像データに解像度変換処理、色変換処理、ハーフトーン処理などの規定の画像処理を施してＣＭＹＫ表色系の画像データよりなる印刷データを生成する。そして、この印刷データに基づいて印刷処理を行って用紙に原稿の画像を印刷する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−８６５３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来は、スキャンデータ中の余白部分についても圧縮データ生成処理（Ｊｐｅｇ生成処理）を施していたので、圧縮データ生成処理に時間がかかるうえ、圧縮データのデータサイズも比較的大きくなるという問題があった。また、印刷時に圧縮データ（Ｊｐｅｇ画像データ）を展開するときには、圧縮データ中の余白部分についても圧縮データ展開処理を行っていたため、圧縮データ展開処理に時間がかかるという問題があった。
【０００５】
このように圧縮データ生成処理と圧縮データ展開処理との両方で、余白部分についても処理を行っていたので、圧縮データ生成処理と圧縮データ展開処理との全体にかかる処理時間が比較的長くなっていたという問題があった。よって、圧縮データ生成処理と圧縮データ展開処理とのうち少なくとも一方でも、余白部分の処理を省くことができれば、処理の負担が軽減されるが、そのような要望を満たす構成は知られていない。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、その目的は、圧縮データ生成処理と圧縮データ展開処理のうち少なくとも一方の処理を、データ中の着色不要なブランクラインに対する処理を省くことで簡素化できる画像データ処理装置、画像データ処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、画像データを圧縮して圧縮データを生成する圧縮データ生成処理と、前記圧縮データを展開して前記画像データを生成する圧縮データ展開処理とのうち少なくとも一方を行う画像データ処理装置であって、画像データを構成する１ラインずつ行う前記圧縮データ生成処理と圧縮データを構成する１ラインずつ行う前記圧縮データ展開処理とのうち少なくとも一方を行う画像データ処理手段と、前記画像データ処理手段による処理対象ラインについて、着色不要なブランクラインであるか否かを判定する判定手段と、前記判定手段がブランクラインであると判定した場合は、当該ブランクラインと判定した処理対象ラインに対する前記画像データ処理手段による圧縮データ生成処理と圧縮データ展開処理とのうち少なくとも一方の処理をスキップすることを要旨とする。この発明によれば、判定手段により処理対象ラインがブランクラインであると判定された場合は、その処理対象ラインに対する画像データ処理手段による圧縮データ生成処理と圧縮データ展開処理とのうち少なくとも一方の処理がスキップされる。よって、着色不要なブランクラインに対する処理を省くことで、圧縮データ生成処理と圧縮データ展開処理のうち少なくとも一方の処理を簡素化できる。
【０００８】
また、本発明の画像データ処理装置では、前記画像データ処理手段は、前記圧縮データ生成処理を行う圧縮データ生成手段と、前記圧縮データ展開処理を行う圧縮データ展開手段とを備え、前記判定手段は、前記画像データのうち前記圧縮データ生成手段による処理対象ラインについて着色不要なブランクラインであるか否かを判定する第１判定手段と、前記圧縮データのうち前記圧縮データ展開手段による処理対象ラインについて着色不要なブランクラインであるか否かを判定する第２判定手段とを備え、前記第１判定手段がブランクラインであると判定した場合は、前記圧縮データ生成手段による当該ブランクラインに対する圧縮データ生成処理をスキップし、前記第２判定手段がブランクラインであると判定した場合は、前記圧縮データ展開手段による当該ブランクラインに対する圧縮データ展開処理をスキップすることが好ましい。
【０００９】
この発明によれば、ブランクラインに対する圧縮データ生成処理のスキップと、ブランクラインに対する圧縮データ展開処理のスキップとの両方がなされることにより、圧縮データ生成処理と圧縮データ展開処理との両方の処理を簡素化できる。
【００１０】
本発明の画像データ処理装置では、前記圧縮データ生成手段は、スキャン手段が読み取った画像データを圧縮して圧縮データを生成し、当該圧縮データをバッファーに格納することが好ましい。
【００１１】
本発明の画像データ処理装置においては、前記圧縮データ展開手段は、前記圧縮データを展開して、印刷手段による印刷に用いられる印刷データを生成することが好ましい。
本発明の画像データ処理装置では、ブランクデータ生成手段を更に備え、前記圧縮データ展開手段による圧縮データ展開処理をスキップした場合、前記ブランクデータ生成手段は、当該スキップしたブランクラインのブランクデータを生成することが好ましい。この発明によれば、圧縮データ展開処理をスキップした場合、そのスキップしたブランクラインのブランクデータを生成するので、画像データ展開処理後の画像データにおいてブランクラインを正しく反映できる。
【００１２】
本発明の画像データ処理装置では、前記圧縮データ展開手段による展開生成ライン数を計数するカウント手段と、前記カウント手段が計数した展開生成ライン数が、前記圧縮データ展開手段が展開する圧縮データを生成した際の前記圧縮データ生成手段による圧縮生成ライン数に達したか否かを判断する判断手段と、前記判断手段が、前記展開生成ライン数が前記圧縮生成ライン数に達したと判断すると、前記印刷データの生成を終了させる印刷データ生成終了手段とを更に備えていることが好ましい。この発明によれば、印刷データ中のブランクラインを生成するための無駄な画像データ展開処理を省略できる。
【００１３】
本発明の画像データ処理装置では、前記画像データに基づきマスク情報を生成するマスク情報生成手段を更に備え、前記判定手段は、前記マスク情報を用いて前記処理対象ラインが前記ブランクラインであるか否かを判定することが好ましい。この構成によれば、マスク情報を利用して処理対象ラインがブランクラインであるか否かを判定できるので、判定専用の特別な情報を生成する必要がない。
【００１４】
本発明は、スキャン手段と、前記スキャン手段が読み取った画像データに基づく画像の印刷を行う印刷手段と、上記発明に係る前記画像データ処理装置とを備えた印刷装置であって、前記圧縮データ生成手段は、前記スキャン手段が読み取った画像データを圧縮して圧縮データを生成し、前記圧縮データ展開手段は、前記圧縮データを展開して前記画像データを生成し、当該展開した画像データに基づく画像を前記印刷手段が印刷する構成であり、前記ブランクラインは白ラインであることを要旨とする。この印刷装置によれば、上記画像データ生成装置の発明と同様の作用効果を得ることができる。
【００１５】
本発明の印刷装置では、前記圧縮データ展開手段は、前記スキップした前記ブランクラインを含まない前記画像データを生成する構成であり、前記圧縮データ展開手段が前記スキップしたブランクラインの位置情報を取得する位置情報取得手段と、前記圧縮データ展開手段が生成した前記画像データに基づいて前記印刷手段を制御する制御手段とを更に備え、前記制御手段は、前記画像データに基づいて前記印刷手段に印刷動作を行わせるとともに、前記位置情報取得手段からの前記位置情報に基づきブランクラインに相当する位置で前記印刷手段による印刷動作をスキップすることが好ましい。
【００１６】
この発明によれば、圧縮データの展開処理で得られる画像データがブランクラインを含まない小さなデータ容量で済むうえ、ブランクラインに相当する位置で印刷動作をスキップすることにより、スキャン手段が読み取ったとおりの画像を印刷媒体に印刷できる。
【００１７】
本発明の印刷装置では、前記印刷手段は、印刷媒体を搬送する搬送手段と、前記搬送手段により搬送される前記印刷媒体に記録を施す記録手段とを備え、前記制御手段は、前記搬送手段の動力源と前記記録手段とを制御する構成であり、前記位置情報に基づき前記ブランクラインに相当する位置では前記記録手段による記録動作をスキップすることが好ましい。この発明によれば、記録動作をスキップすることにより、スキャン手段が読み取ったとおりの画像を印刷媒体に印刷できる。
【００１８】
本発明の印刷装置では、前記スキャン手段が読み取った画像の向きを回転させて印刷媒体に印刷させる画像回転を伴うか否かを判定する回転判定手段を更に備え、前記位置情報取得手段は、前記回転判定手段により画像回転を伴うと判定された場合に、前記ブランクラインの位置情報を取得して前記制御手段へ渡すことが好ましい。この発明によれば、画像回転を伴う場合に、位置情報に基づきブランクラインに相当する位置で印刷動作をスキップすることにより、画像回転を伴う印刷を効率よく行うことができる。
【００１９】
本発明は、画像データを圧縮して圧縮データを生成する圧縮データ生成処理と、前記圧縮データを展開して前記画像データを生成する圧縮データ展開処理とを行う画像データ処理方法であって、画像データのうち圧縮データ生成処理の処理対象ラインが、着色不要なブランクラインであるか否かを判定する第１判定ステップと、前記第１判定ステップにおいて、ブランクラインと判定されなかった処理対象ラインについては圧縮データ生成処理を行うと共に、ブランクラインと判定された処理対象ラインについては圧縮データ生成処理をスキップする圧縮データ生成処理ステップと、前記圧縮データ生成処理ステップで生成された前記圧縮データのうち圧縮データ展開処理の処理対象ラインが、着色不要なブランクラインであるか否かを判定する第２判定ステップと、前記第２判定ステップにおいて、ブランクラインと判定されなかった処理対象ラインについては圧縮データ展開処理を行うと共に、ブランクラインと判定された処理対象ラインについては圧縮データ展開処理をスキップする圧縮データ展開処理ステップと、を備えたことを要旨とする。この画像データ処理方法の発明によれば、上記画像データ生成装置の発明と同様の作用効果を得ることができる。
【００２０】
本発明は、画像データを圧縮して圧縮データを生成する圧縮データ生成処理と、前記圧縮データを展開して前記画像データを生成する圧縮データ展開処理とをコンピューターが実行するためのプログラムであって、コンピューターが、画像データのうち圧縮データ生成処理の処理対象ラインが、着色不要なブランクラインであるか否かを判定する第１判定ステップと、コンピューターが、前記第１判定ステップにおいて、ブランクラインと判定されなかった処理対象ラインについては圧縮データ生成処理を行うと共に、ブランクラインと判定された処理対象ラインについては圧縮データ生成処理をスキップする圧縮データ生成処理ステップと、コンピューターが、前記圧縮データ生成処理ステップで生成された前記圧縮データのうち圧縮データ展開処理の処理対象ラインが、着色不要なブランクラインであるか否かを判定する第２判定ステップと、コンピューターが、前記第２判定ステップにおいて、ブランクラインと判定されなかった処理対象ラインについては圧縮データ展開処理を行うと共に、ブランクラインと判定された処理対象ラインについては圧縮データ展開処理をスキップする圧縮データ展開処理ステップと、を備えたことを要旨とする。この発明によれば、コンピューターがプログラムを実行することにより、上記画像データ生成装置の発明と同様の作用効果を得ることができる。
【図面の簡単な説明】
【００２１】
【図１】第１実施形態における複合機の電気的構成を示すブロック図。
【図２】スキャンデータからＪｐｅｇ画像データを生成する手順を説明する模式図。
【図３】複合機を示す斜視図。
【図４】１ＭＣＵを示すデータ構造図。
【図５】（ａ），（ｂ）マスク情報生成処理を示す模式図。
【図６】Ｊｐｅｇ生成処理及びＪｐｅｇ展開処理を説明する模式図。
【図７】スキャンデータ溜込み処理ルーチンを示すフローチャート。
【図８】印刷データ生成処理ルーチンを示すフローチャート。
【図９】第２実施形態における複合機の電気的構成を示すブロック図。
【図１０】印刷データ生成処理ルーチンを示すフローチャート。
【図１１】（ａ）画像回転なしの場合、（ｂ）画像回転ありの場合における画像展開処理後のＲＧＢ画像データを示す模式図。
【発明を実施するための形態】
【００２２】
（第１実施形態）
以下、本発明を複合機における画像データ処理装置に具体化した第１実施形態を、図１〜図８に基づいて説明する。図３は、スキャナー機能を備えた印刷装置である複合機の斜視図である。複合機１１は本体１２とカバー１３とを備え、本体１２の下側部分が例えばインクジェット方式のプリンター部１４、上側部分がスキャナー部１５となっている。カバー１３を開いた本体１２の上面には四角板状の透明ガラスが組み込まれた原稿台１５ａが配置されている。本体１２の背面部には印刷媒体としての用紙Ｐがセットされるサポート１６ａを備えた自動給紙装置１６（ＡＳＦ（Auto Sheet Feeder））が装備されている。また、本体１２の前側には、その上段部に操作パネル１７、下段部に排紙部１８がそれぞれ設けられている。
【００２３】
操作パネル１７には、その幅方向中央部には表示部２０（液晶ディスプレイ）が配設されている。また、操作パネル１７は操作部２１を備える。操作部２１には、電源ボタン２２、中止ボタン２３、印刷／スキャンを開始するスタートボタン２４、及び複合機１１の各種モードを選択するモード選択ボタン２５等が配設されている。さらに、操作パネル１７には、上下・左右４つの矢印キーを有するとともに中央にＯＫボタンを有する選択ボタン２６、印刷枚数を設定する印刷枚数ボタン２７などが配設されている。
【００２４】
例えばコピーを行うときは、原稿台１５ａの所定位置に原稿２９を載置したうえでカバー１３を閉じ、印刷枚数ボタン２７を操作してコピー枚数を設定する。次にモード選択ボタン２５を操作してコピーモードを選択し、表示部２０に表示されたコピーモードに対応するメニュー画面の中で操作部２１の操作で各種設定を行うと共にコピー開始の指示を行う。
【００２５】
次に、複合機の電気的構成を図１に基づいて説明する。図１に示すように、複合機１１は各種制御を司る制御装置３０を備える。また、複合機１１は、スキャナー部１５を構成するスキャナーモーター３１及びＣＣＤ３２（電荷結合素子）を備えている。さらに、複合機１１は、プリンター部１４を構成する記録ヘッド３３、キャリッジモーター３４、給送モーター３５及び紙送りモーター３６を備えている。記録ヘッド３３は、キャリッジモーター３４を動力源として主走査方向に往復移動するキャリッジ３７の下部に設けられており、主走査方向に移動しつつそのヘッド下面に開口する複数のノズルからインク滴を噴射することにより印字を行う。キャリッジ３７の移動経路に沿うように設けられたリニアエンコーダー３８は、主走査方向に沿って一定ピッチで開口する多数のスリットを有する符号板３８ａと、投光部から出射されてスリットを通過した光を受光部で受光するセンサー３８ｂとを有する。リニアエンコーダー３８の出力パルスのパルス数を計数する不図示の位置カウンターの計数値に基づき、キャリッジ３７の主走査方向における位置は把握される。
【００２６】
給送モーター３５は、自動給紙装置１６の動力源であり、不図示のホッパーの下端近傍に設けられた給送ローラーを回転駆動させることにより、サポート１６ａ（及びホッパー）上に積層された用紙群のうち最上位の一枚を順次給送する。
【００２７】
紙送りモーター３６は、搬送系の動力源であり、それぞれローラー対よりなる搬送ローラー３９及び排紙ローラー４０を回転駆動させることで、紙送り及び排紙を行う。また、制御装置３０には、操作パネル１７を構成する表示部２０及び操作部２１がそれぞれ電気的に接続されている。
【００２８】
図１に示すように、制御装置３０はコンピューター４１を備えている。コンピューター４１はバス４２を介してＲＯＭ４３、ＲＡＭ４４及びスキャナー入力回路４５等に接続されている。また、制御装置３０内において、コンピューター４１は、モータードライバー４６〜４９及びヘッドドライバー５０に接続されている。
【００２９】
コンピューター４１は、モータードライバー４６を介してスキャナーモーター３１を駆動制御して不図示のスキャナーヘッドをスキャン方向に移動させることによりＣＣＤ３２による原稿２９の読み取りを行う。スキャナー入力回路４５は、ＣＣＤ３２からの読取信号を入力してその読取信号に基づきＹＵＶ表色系の画像データ（ＹＵＶ画像データ）よりなるスキャンデータＳＤ（図２参照）を生成し、その生成したスキャンデータＳＤを、バス４２を介してコンピューター４１へ出力する。
【００３０】
また、コンピューター４１は、モータードライバー４７を介してキャリッジモーター３４を駆動制御することで、キャリッジ３７を主走査方向に往復移動させる。また、コンピューター４１は、各モータードライバー４８，４９を介して給送モーター３５及び紙送りモーター３６をそれぞれ駆動制御し、用紙Ｐの給送動作、搬送動作（紙送り動作）、排紙動作を制御する。
【００３１】
ここで、コンピューター４１は、ＣＰＵ及びＡＳＩＣ（Application SpecificＩＣ）等により構成されている。なお、図１では、コンピューター４１の内部は、ＡＳＩＣが予め設定された処理を実行するためのハードウェアよりなる機能構成部分、及びＣＰＵがＲＯＭ４３等に記憶されたプログラムを実行することで構築されるソフトウェアよりなる機能構成部分の各機能ブロックが示されている。もちろん、コンピューター４１はＡＳＩＣを備えない構成でもよい。
【００３２】
コンピューター４１は、主制御部５１、前処理部５２、画像蓄積処理部５３、画像展開処理部５４及び画像処理部５５を備えている。
前処理部５２は、例えばＡＳＩＣ内の処理回路よりなり、スキャナー入力回路４５からバス４２を介して入力したスキャンデータＳＤ（ＹＵＶ画像データ）にハードウェアによる所定の検出処理を行って、その検出結果に基づき生成した属性情報（マスクデータ）と共にＹＵＶ画像データを後段の画像蓄積処理部５３へ出力する。
【００３３】
前処理部５２が生成するマスクデータには、第１マスク情報、第２マスク情報、孤立点情報などが含まれる。第１マスク情報ＷＤは、図４に示す１ＭＣＵを構成する６４個の画素のうち白以外の画素を検出する処理の結果得られた情報であって、１ＭＣＵを構成する６４個の画素のうち白以外の画素の個数を表す１バイトの情報である。例えばこの情報の値が「０」（＝（00000000））であれば全画素が白であり、その値が「６４」（＝（01000000））であれば全画素に色があることが分かる。
【００３４】
また、第２マスク情報は、ブラック分離（Ｂｋ分離）データであり、１ＭＣＵの全画素が黒であるか否かを表す１ビットの情報である。この情報は、黒インクで印刷できるか否かを判断するために用いられる。さらに、前処理部５２は、スキャン時に微小なゴミ等を読み取ってスキャンデータＳＤ中にできた孤立点を検出する孤立点検出処理を行っており、この孤立点の情報（孤立点情報）もマスクデータの１つとしてＲＡＭに格納される。
【００３５】
画像蓄積処理部５３は、スキャナー部１５で読み取った原稿２９のスキャンデータＳＤに圧縮処理を施して所定圧縮形式（本例では一例としてＪｐｅｇ形式）の画像データ（Ｊｐｅｇ画像データ）に変換する。そして、その圧縮した画像データをバッファー６５に溜め込む蓄積処理（スキャンデータ溜込み処理）を行う。但し、本例では、画像データ中の白領域を検出して圧縮処理の対象から外すことで、圧縮処理の負担軽減及び圧縮データ容量の低減を図っている。Ｊｐｅｇ形式では、８×８画素の１ＭＣＵ（Minimum Coded Unit）を一単位として処理が行われる。
【００３６】
画像蓄積処理部５３は、マスク情報生成部６１、白ブロック判定部６２、Ｊｐｅｇ生成処理部６３、第１カウンター６４及びバッファー６５を備えている。
マスク情報生成部６１は、前述のマスクデータを用いて白ブロック判定部６２が判定時に使用し易いマスク情報ＭＤを生成する。このマスク情報ＭＤには、白ライン情報ＷＬ、白ピクセル情報ＷＰ、ブラック分離情報（Ｂｋ分離情報）ＢＤ、の３種類が含まれる。
【００３７】
白ライン情報ＷＬとは、１画素ライン（１画素行）分が白であるか否かを表す１ビットの情報である。この情報８ビット（１バイト）分で、８画素ライン分のブロックが白であるか否かを判定できるようになっている。
【００３８】
また、ブラック分離情報ＢＤは、１ＭＣＵ分が黒であるか否かを表す１ビットの情報である。このＢｋ分離情報の値（フラグ）が「１」であれば１ＭＣＵ分が黒、「０」であれば１ＭＣＵ中に黒以外の色の画素を少なくとも１個含むことを意味する。
【００３９】
さらに、白ピクセル情報ＷＰは、１ＭＣＵを構成する１画素ずつについて白であるか否かを表す６４ビットの情報である。なお、ＲＡＭの空き容量を調べ、空き容量が所定値未満であれば、複数画素（例えば４画素）ずつ白であるか否かを表す１６ビットの情報に切り換えることも可能になっている。
【００４０】
図４は、１ＭＣＵのデータ構造を示す模式図である。図４に示すように、１ＭＣＵは８画素×８画素の計６４個の画素群により構成され、Ｊｐｅｇ生成処理及びＪｐｅｇ展開処理の最小処理単位である。図４において１ＭＣＵを構成する各画素中に付された番号の順でＪｐｅｇ生成処理及びＪｐｅｇ展開処理は行われる。
【００４１】
図５は、マスク情報生成部６１が前処理部５２から入力したマスクデータ（第１マスク情報、第２マスク情報）に基づいて白ライン情報を生成する処理を説明する模式図である。マスク情報生成部６１は、まずスキャンデータＳＤの第１ラインブロックＢＬについて、図２における左からの順番で１ＭＣＵ分ずつ処理を行って白ピクセル情報ＷＰを生成しておく。
【００４２】
次に図５（ａ）に示すように、スキャンデータＳＤの第１ラインブロックＢＬについて、図２における左からの順番で１ＭＣＵ分ずつ処理を進め、処理対象の１ＭＣＵに対応する第１マスク情報を調べ、その値が「０」であれば、その１ＭＣＵが白であると判定する。この処理を１ライン全てについて１ＭＣＵずつ行う。そして、第１ラインブロックＢＬを構成する全てのＭＣＵが白であれば、この第１ラインブロックＢＬを構成する８画素ラインの全てが白ラインになるので、第１ラインブロックＢＬに対応する白ライン情報ＷＬを（11111111）に設定する。
【００４３】
一方、第１ラインブロックＢＬに対して上記の処理を行う過程で、ある１ＭＣＵに対応する第１マスク情報の値が「０」以外の値であれば、その１ＭＣＵ中に白以外の色の画素が少なくとも１つ含まれることになる。この場合、第１ラインブロックＢＬ中の１画素ラインずつ白であるか否かを判定する処理を行う。図５（ｂ）は、左から２番目のＭＣＵに対応する第１マスク情報が白でない（「０」でない）場合の例であり、この場合、同図に示すように、処理対象の１ＭＣＵに対応する白ピクセル情報ＷＰを用いる。図５（ｂ）に示す例では、２番目のＭＣＵにおいて第１〜第４画素ライン（同図における上側の４ライン）は白ラインであるが、第５〜第８画素ライン（同図における下側の４ライン）は白以外の色の画素を含む。その後、第１ラインブロックＢＬの残りのＭＣＵについても同様の処理を行って、白ラインと、白ライン以外のラインとを識別する。図５（ｂ）の例では、白ライン情報ＷＬは（11110000）になる。そして、マスク情報生成部６１は、上記の処理を第１〜第Ｍラインブロックに対して行うことにより、ラインブロックＢＬ毎の白ライン情報を生成する。
【００４４】
白ブロック判定部６２は、各ラインブロックＢＬが白ブロックであるか否かを、白ライン情報ＷＬに基づき判定する。
Ｊｐｅｇ生成処理部６３は、ＹＵＶ画像データＳＤ（スキャンデータ）をＪｐｅｇ画像データに変換する圧縮処理（Ｊｐｅｇ生成処理）を行う。Ｊｐｅｇ生成処理は、１ＭＣＵ単位で行われる。図６は、Ｊｐｅｇ生成処理とＪｐｅｇ展開処理とを説明する模式図である。
【００４５】
Ｊｐｅｇ生成処理部６３は、図６に示すように、ＹＵＶ画像データＳＤに対して、離散コサイン変換処理（ＤＣＴ処理）Ｓ１、量子化処理Ｓ２、ハフマン符号化処理Ｓ３等をこの順に施すＪｐｅｇ生成処理（圧縮処理）を行って、Ｊｐｅｇ画像データＪＤを生成する。このとき、Ｊｐｅｇ生成処理部６３は、白ブロック判定部６２が白ブロックと判定したブロックＢＬについてはＪｐｅｇ生成処理の対象から除外する。
【００４６】
図２は、スキャンデータからＪｐｅｇ画像データを生成する画像蓄積処理について説明する模式図である。図２に示すように、原稿のスキャンデータＳＤ（ＹＵＶ画像データ）は、スキャナー部１５が例えばＡ４判の用紙サイズより少し広い読取りエリアをスキャンして得られたものである。図２に示すように、スキャンデータＳＤには、原稿中のテキストや画像以外の部分に空白領域が存在する。また、Ａ４判より小さな用紙サイズ（例えばＢ５判）の原稿をスキャンした場合は、原稿の外側の領域もスキャンされる構成の本例では、スキャンデータＳＤには原稿中だけでなく原稿の外側領域にも空白領域が存在する。
【００４７】
図２に示すスキャンデータＳＤでは、Ｊｐｅｇ生成処理の処理単位である１ＭＣＵの高さである８画素の幅で、かつスキャン方向（図２における上下方向）と直交する方向（図２における左右方向（ライン方向））に、読取りエリアの一端から他端に亘って延びる矩形領域（８画素×１ライン）をブロックＢＬ（以下、「ラインブロックＢＬ」ともいう）としている。スキャンデータＳＤは、スキャン先頭側（図２では上端側）から、第１〜第ＭラインブロックＢＬに分けられる。
【００４８】
前述のマスク情報生成部６１は、前処理部５２がスキャンデータＳＤに対する検出処理を行って生成したマスクデータに基づいて、白ライン情報、白ピクセル情報、ブラック分離情報等を含むマスク情報ＭＤを生成する。
【００４９】
そして、白ブロック判定部６２及びＪｐｅｇ生成処理部６３は、ブロックＢＬ単位に処理を行う。白ブロック判定部６２は、第１〜第ＭラインブロックＢＬを順番に、白以外の画素を１つも含まない白ブロックであるか否かを判定する。そして、Ｊｐｅｇ生成処理部６３は、第１〜第ＭラインブロックＢＬのうち白ブロックであると判定したブロックＢＬを処理対象から外してＪｐｅｇ生成処理を行う。この結果、本実施形態では、図２に示すような原稿のＪｐｅｇ画像データＪＤが生成されるようになっている。
【００５０】
図１に示す第１カウンター６４は、Ｊｐｅｇ生成処理部６３によるＪｐｅｇ生成処理が施されたラインブロックＢＬの数（以下、「Ｊｐｅｇ生成ライン数」という）を計数する。Ｊｐｅｇ生成処理部６３は、Ｊｐｅｇ生成されたブロックをバッファー６５に順次格納する。このため、原稿のスキャンデータＳＤの第１〜第Ｍの全てのラインブロックＢＬ（ライン数Ｍ＝Height）についてＪｐｅｇ生成処理を終えたときには、第１カウンター６４が計数したＪｐｅｇ生成ライン数は、Ｊｐｅｇ画像データＪＤの高さｂに相当する値Jpegheight（図２参照）に達するようになっている。
【００５１】
また、図１に示す画像展開処理部５４は、バッファー６５に格納されたＪｐｅｇ画像データの展開処理を行う。画像展開処理部５４は、白ブロック判定部７１、Ｊｐｅｇ展開処理部７２、マスク適用処理部７３、白ＲＧＢデータ生成部７４、判定部７５及び第２カウンター７６を備えている。
【００５２】
白ブロック判定部７１は、Ｊｐｅｇ画像データＪＤの展開処理時に、Ｊｐｅｇ生成処理時に省略された白ブロックがあるか否かを判定する。
Ｊｐｅｇ展開処理部７２は、Ｊｐｅｇ画像データＪＤの展開処理を１ＭＣＵ単位で行う。すなわち、Ｊｐｅｇ展開処理部７２は、図６に示すように、Ｊｐｅｇ画像データＪＤに、ハフマン復号化処理Ｓ４、逆量子化処理Ｓ５、逆ＤＣＴ処理Ｓ６などをこの順で１ＭＣＵ単位で施すことにより、Ｊｐｅｇ画像データＪＤの展開処理を行う。
【００５３】
マスク適用処理部７３は、Ｊｐｅｇ展開処理部７２により１ＭＣＵ単位で展開されたＹＵＶ画像データにその１ＭＣＵ単位毎にマスク適用処理を施す。マスク適用処理部７３は、前処理部５２が孤立点検出処理を行って生成した孤立点情報に基づき、孤立点を形成している画素をマスクして孤立点を除去する孤立点除去処理などを行う。
【００５４】
白ＲＧＢデータ生成部７４は、白ブロック判定部７１が白ブロックが省略されたと判定した番号のラインに、１ブロック分の白のＲＧＢデータを生成する処理を行う。
第２カウンター７６は、Ｊｐｅｇ展開処理部７２による展開処理済みブロック数ＪＬを計数する。
【００５５】
判定部７５は、画像展開処理（印刷データ生成処理）において、処理対象ブロックが白ブロックであった場合に、ページ終端までの残りのブロックが全て白ブロックであるか否かを判定する。また、判定部７５は、第２カウンター７６が計数した展開処理済みブロック数ＪＬが、Ｊｐｅｇ生成ライン数JpegHeight（つまりＪｐｅｇ画像データＪＤのラインブロック数）に達したか否かを判定する。
【００５６】
図１に示す画像処理部５５は、画像展開処理部５４が展開したＹＵＶ画像データをＲＧＢ画像データＡＤに色変換し、さらにＲＧＢ画像データＡＤをＣＭＹＫ画像データＰＤに色変換する（図６参照）。詳しくは画像処理部５５は、ＲＧＢ画像データＡＤに対して、解像度変換処理、色変換処理、ハーフトーン処理、マイクロウィーブ処理などの画像処理を施すことにより、ＣＭＹＫ画像データＰＤ（以下、「印刷データＰＤ」ともいう）を生成する。このＣＭＹＫ画像データＰＤは、不図示のイメージバッファーに格納される。
【００５７】
主制御部５１は、イメージバッファーに格納されたＣＭＹＫ画像データＰＤを順次ヘッドドライバー５０へ転送することで、ヘッドドライバー５０を介して記録ヘッド３３の吐出制御を行う。このとき、主制御部５１は、給紙、紙送り、排紙のために各モーター３５，３６を駆動制御すると共に、記録ヘッド３３を主走査方向に往復移動させるためにキャリッジモーター３４を駆動制御する。コピー印刷中の主制御部５１は、画像展開処理部５４が白ＲＧＢラインを生成している間は、印字動作が不要なためキャリッジ３７の駆動を待機させ、Ｊｐｅｇ展開処理されたラインが生成されると、印字動作を開始すべくキャリッジ３７の駆動を開始させるようになっている。
【００５８】
ＲＯＭ４３には、図７にフローチャートで示されるスキャンデータ溜込み処理ルーチン、図８に示す印刷データ生成処理ルーチンの各プログラムデータが記憶されている。ＣＰＵが、これらのプログラムを実行することにより、コンピューター４１内の各部によって、スキャンデータ溜込み処理及び印刷データ生成処理が行われる。
【００５９】
以下、複数部のコピー印刷が行われる場合を例にして、スキャンデータ溜込み処理及び印刷データ生成処理について説明する。自動給紙装置１６に用紙Ｐがセットされた状態で、原稿台１５ａに原稿２９がセットされ、操作部２１の操作でコピーモードを選択した上で、コピー枚数（複数枚）を指定した後、スタートボタン２４を押すと、複数部コピー印刷が開始される。まずスキャナー部１５による原稿２９の読み取り（スキャニング）が行われ、スキャンデータ溜込み処理が行われる。まず、コンピューター４１が実行するスキャンデータ溜込み処理について、図７に基づいて説明する。なお、このスキャンデータ溜込み処理は、コンピューター４１内の主制御部５１の指示に従って画像蓄積処理部５３が行う。
【００６０】
ステップＳ１０では、主制御部５１が、第１カウンター６４に初期値「０」を設定する（Ｌ＝０）と共に、不図示のライン数カウンターに初期値「１」を設定する（Ｎ＝１）。第１カウンター６４の計数値は、画像蓄積処理部５３が以降の各ステップの処理でＪｐｅｇ生成したライン数（Ｊｐｅｇ生成ライン数）を示す。蓄積処理開始前の現段階では、Ｊｐｅｇ生成ライン数が「０」なので、第１カウンター６４には初期値「０」を設定する。また、ライン数カウンターの計数値Ｎは、蓄積処理の対象ブロックが第Ｎラインであることを指し示す。このため、計数値Ｎ＝１のときは、蓄積処理の対象ブロックが第１ラインであることを指し示す。
【００６１】
ステップＳ２０では、マスク情報を生成する。このマスク情報生成処理は、マスク情報生成部６１が行う。マスク情報生成部６１は、前処理部５２から入力したマスクデータからマスク情報を生成する。マスク情報には、白ライン情報ＷＬ、白ピクセル情報ＷＰ、ブラック分離情報ＢＤ（Ｂｋ分離情報）の３種類の情報が含まれる。
【００６２】
ステップＳ３０では、第Ｎラインが白ブロックであるか否かを判定する。この判定は白ブロック判定部６２が行う。白ブロック判定部６２は、第Ｎラインに対応する白ライン情報ＷＬを参照し、白ライン情報ＷＬの値が「０」であれば白ブロックではないと判定し、その値が「１」であれば白ブロックであると判定する。白ブロックでない（否定判定）場合はステップＳ４０に進み、白ブロックである（肯定判定）場合はステップＳ６０に進む。
【００６３】
ステップＳ４０では、Ｊｐｅｇ生成処理を行う。すなわち、Ｊｐｅｇ生成処理部６３が、ＹＵＶ画像データの第ＮラインブロックＢＬに対して、図５に示すＤＣＴ処理Ｓ１、量子化処理Ｓ２及びハフマン符号化処理Ｓ３などを施すことにより、そのラインブロックＢＬ分のＪｐｅｇ画像データを生成する。
【００６４】
ステップＳ５０では、Ｊｐｅｇ生成ライン数の加算を行う。すなわち、主制御部５１の指示により、第１カウンター６４はその計数値であるＪｐｅｇ生成ライン数Ｌに「１」を加算する（Ｌ＝Ｌ＋１）。
【００６５】
次のステップＳ６０では、Ｊｐｅｇ生成ライン数Ｌが原稿のスキャンデータＳＤのライン数Heightに達した（Ｌ≧Height）か否かを判断する。スキャンデータＳＤ中にＪｐｅｇ生成未処理のラインが残っている今回は、Ｌ≧Heightが不成立となるので、ステップＳ７０において計数値Ｎをインクリメントした後（Ｎ＝Ｎ＋１）、ステップＳ２０に戻る。
【００６６】
例えば図２に示すスキャンデータＳＤのように第１ラインブロックＢＬが白ブロックである場合、ステップＳ３０において白ブロックと判定され、次にステップＳ６０へ進むことになる。この場合、Ｊｐｅｇ生成処理（Ｓ４０）及びＪｐｅｇ生成ライン数加算処理（Ｓ５０）がスキップされる。このため、白ブロックのＪｐｅｇ生成は行われない。
【００６７】
そして、第２ラインブロックＢＬについて、同様にステップＳ２０〜Ｓ５０の処理を実行する。例えば図２に示すスキャンデータＳＤのように第２ラインブロックＢＬが白ブロックでない場合、ステップＳ３０において白ブロックでないと判定され、この第２ラインブロックＢＬに対してＪｐｅｇ生成処理（Ｓ４０）及びＪｐｅｇ生成ライン数加算処理（Ｓ５０）が施される。この結果、白ブロックではない第２ラインブロックＢＬはＪｐｅｇ生成される。
【００６８】
そして、ステップＳ６０においてＬ≧Heightが不成立であれば、ステップＳ７０において計数値Ｎをインクリメントした後（Ｎ＝Ｎ＋１）、ステップＳ２０に戻る。
以下、同様に、ステップＳ６０においてＬ≧Heightが成立するまで、第ＮラインブロックＢＬについてＳ２０〜Ｓ５０の処理を繰り返す。
【００６９】
こうして、白ブッロクの場合はＪｐｅｇ生成がスキップされ、白ブロックでない場合はＪｐｅｇ生成される。そして、スキャンデータＳＤの第１〜第Ｍの全ラインブロックＢＬについて画像蓄積処理を終えると、ステップＳ６０においてＬ≧Heightが成立し、この成立により当該ルーチンを終了する。このスキャンデータ溜込み処理の結果、図２に示すように、白ブロックが省略されたＪｐｅｇ画像データＪＤが生成される。また、このときの第１カウンター６４の計数値Ｌが、Ｊｐｅｇ画像データのＪｐｅｇ生成ライン数JpegHeightとして取得される（Ｌ＝JpegHeight）。
【００７０】
次にコンピューター４１が実行する印刷データ生成処理について、図８に基づいて説明する。この印刷データ生成処理は、詳しくはコンピューター４１内の主制御部５１の指示に従って画像展開処理部５４が行う。
【００７１】
まずステップＳ１１０では、主制御部５１が、第２カウンター７６に初期値「０」を設定する（ＪＬ＝０）と共に、不図示のライン数カウンターに初期値「１」を設定する（Ｎ＝１）。第２カウンター７６の計数値は、画像展開処理部５４が以降の各ステップの処理でＪｐｅｇ展開したライン数（Ｊｐｅｇ展開ライン数）を示す。展開処理開始前の現段階では、Ｊｐｅｇ展開ライン数が「０」なので、第２カウンター７６には初期値「０」を設定する。また、ライン数カウンターの計数値Ｎは、展開処理の対象ブロックが第Ｎラインであることを指し示す。このため、計数値Ｎ＝１のときは、展開処理の対象ブロックが第１ラインであることを指し示す。なお、計数値Ｎは図６におけるものと同じであり、スキャンデータＳＤのライン数に相当し、Ｊｐｅｇ画像データＪＤにおいて省略されているラインについても処理の対象する。
【００７２】
次のステップＳ１２０では、第Ｎラインが白ブロックであるか否かを判定する。この判定は白ブロック判定部７１が行う。詳しくは、白ブロック判定部７１は、第Ｎラインに対応する白ライン情報を参照し、白ライン情報の値が「０」であれば白ブロックではないと判定し、その値が「１」であれば白ブロックであると判定する。白ブロックである（肯定判定）場合はステップＳ１３０に進み、白ブロックでない（否定判定）場合はステップＳ１５０に進む。
【００７３】
ステップＳ１３０では、ページ終端まで残りは白ブロックであるか否かを判定する。この判定処理は、判定部７５が行う。詳しくは判定部７５は、計数値ＪＬがＪｐｅｇ画像データＪＤにおけるＪｐｅｇ生成ライン数JpegHeightに達したか否かを判断する（ＪＬ≧JpegHeight）。例えば第１ラインのブロックＢＬを処理対象とする今回は、図２の例では、第１ラインのブロックＢＬが白ブロックであるが、次の第２ラインが白ブロックではないので、ＪＬ≧JpegHeightが不成立になる。このようにＪｐｅｇ展開すべきブロックが残っているうちは（ＪＬ＜JpegHeight）、ステップＳ１４０に進む。
【００７４】
ステップＳ１４０では、白ＲＧＢデータを生成する。この処理は、白ＲＧＢデータ生成部７４が行う。詳しくは白ＲＧＢデータ生成部７４は、１ブロック分の白ＲＧＢデータを生成し、これを第ＮラインのブロックＢＬとして追加する。例えば第１ラインの場合は、１ブロック分の白ＲＧＢデータが生成されて第１ラインとして追加挿入される。
【００７５】
次のステップＳ１８０では、Ｊｐｅｇ展開ライン数ＪＬがＪｐｅｇ画像データのＪｐｅｇ生成ライン数JpegHeightに達した（ＪＬ≧JpegHeight）か否かを判定する。この判定は判定部７５が行う。第１ラインであって、まだＪＬ≧JpegHeightが不成立なので、ステップＳ１９０において計数値Ｎをインクリメントした後（Ｎ＝Ｎ＋１）、ステップＳ１２０に戻る。そして、次の第Ｎラインについて、同様にステップＳ１２０〜Ｓ１８０の処理を行う。
【００７６】
図２における第２ラインの例では、ブロックＢＬが白ラインではないので、今回、第Ｎラインに対応する白ライン情報を参照すると、白ライン情報の値が「０」なので、白ラインではないと判定する。このように第Ｎラインが白ブロックではないときは、ステップＳ１５０に進む。
【００７７】
ステップＳ１５０では、Ｊｐｅｇ展開してＲＧＢ画像データのブロックを生成する。すなわち、Ｊｐｅｇ展開処理部７２が、Ｊｐｅｇ画像データのブロックＢＬに図５に示すハフマン復号化処理、逆量子化処理及び逆ＤＣＴ処理などを施すことにより、そのブロックＢＬのＹＵＶ画像データを生成する。
【００７８】
次のステップＳ１６０では、マスク適用処理を行う。この処理はマスク適用処理部７３が行う。すなわち、Ｊｐｅｇ展開処理を終えた最終段で、マスク適用処理部７３は、孤立点情報に基づいて孤立点を形成している画素をマスクする孤立点除去処理などを行う。
【００７９】
次のステップＳ１７０では、Ｊｐｅｇ展開ライン数の加算を行う。すなわち、主制御部５１の指示により、第２カウンター７６はその計数値であるＪｐｅｇ展開ライン数ＪＬに「１」を加算する（ＪＬ＝ＪＬ＋１）。
【００８０】
次のステップＳ１８０では、Ｊｐｅｇ展開ライン数ＪＬがＪｐｅｇ画像データＪＤのライン数JpegHeightに達した（ＪＬ≧JpegHeight）か否かを判断する。Ｊｐｅｇ画像データＪＤにＪｐｅｇ展開未処理のラインが残っている今回は、ＪＬ≧JpegHeightが不成立となるので、ステップＳ１９０において計数値Ｎをインクリメントした後（Ｎ＝Ｎ＋１）、ステップＳ１２０に戻る。
【００８１】
例えば図２に示すスキャンデータＳＤのように第２ラインブロックＢＬが白ブロックでない場合は、ステップＳ１２０において白ブロックでないと判定されるので、ステップＳ１５０へ進むことになる。そして、Ｊｐｅｇ展開処理（Ｓ１５０）、マスク適用処理（Ｓ１６０）及びＪｐｅｇ展開ライン数加算処理（Ｓ１７０）が行われる。
【００８２】
以下、同様に、ステップＳ１８０においてＪＬ≧JpegHeightが成立するまで、第ＮラインブロックＢＬに対してＳ１２０〜Ｓ１７０の処理を繰り返す。
こうして、第Ｎラインが白ブロックの場合は１ブロック分の白ＲＧＢ画像データが生成されて第Ｎラインに追加され、一方、第Ｎラインが白ブロックでない場合は、Ｊｐｅｇ画像データＪＤ中のその第ＮラインブロックＢＬがＪｐｅｇ展開される。
【００８３】
そして、Ｊｐｅｇ画像データＪＤの全ラインブロックについて画像展開処理を終えると、ステップＳ１８０においてＪＬ≧JpegHeightが成立する。ＪＬ≧JpegHeightが成立したときには、ステップＳ２００に進む。また、Ｊｐｅｇ画像データＪＤが白紙の原稿であれば、第１ラインに白ブロックがあると判定された（Ｓ１２０で肯定判定）後の次のステップＳ１３０において、ページ終端まで残りは白ブロックであると判定される。この場合も、ステップＳ２００に進む。このように原稿が白紙である場合と、Ｊｐｅｇ画像データＪＤの全ラインブロックのＪｐｅｇ展開を終えた場合は、共にＪＬ≧JpegHeightが成立する。そして、ＪＬ≧JpegHeightが成立したときには（Ｎ≧Heightの場合を除く）、ページ終端までに残りが全て白ブロックであることになる。
【００８４】
そして、ステップＳ２００では、ページデータ終了を通知する。つまり、画像展開処理部５４は、ＪＬ≧JpegHeightが成立すれば、たとえ白ブロックが残っていても、白ＲＧＢデータ生成（Ｓ１４０）を行うことなく、主制御部５１へページデータ終了の旨を通知する。なお、本例では、Ｓ１３０及びＳ１８０においてＪＬ≧JpegHeightが成立したか否かを判定する判定部７５により判断手段が構成されている。また、ＪＬ≧JpegHeightが成立したときに主制御部５１へページデータ終了の旨を通知して当該印刷データ生成処理ルーチンを終了する画像展開処理部５４の処理終了機能により印刷データ生成終了手段が構成されている。
【００８５】
画像展開処理部５４の後段では、画像処理部５５が印刷データＰＤ（ＣＭＹＫ画像データ）を生成している。そして、印刷データＰＤ中の印刷対象が白ブロックである間は、主制御部５１はキャリッジ３７を待機させる。そして、印刷対象が白ブロック以外のブロックになると、そのブロックの印字のためにキャリッジ３７を駆動させる。
【００８６】
主制御部５１は、画像展開処理部５４からページデータ終了の旨の通知を受け付けると、排紙処理に移行し、紙送りモーター３６を駆動して各ローラー３９，４０による排紙動作を行わせる。例えば、ページ終端までの残りが全て白ブロックであるにも関わらず、白ＲＧＢデータ生成（Ｓ１４０）を行い続ける構成とした場合、ページ終端までの残り全ての白ブロックの処理を終えて印刷対象がページ終端に達するまで、キャリッジ３７の待機を継続させる必要がある。例えば複数枚コピー印刷を行っているときは、このキャリッジ３７の無駄な待機時間が、次ページ（後続用紙）の給送開始タイミングの遅れをもたらす。これは、複数枚コピー印刷時における印刷スループットを低くする原因の一つとなる。
【００８７】
しかし、本実施形態では、ページ終端までの残りが全て白ブロックであるときは、その時点でページデータ終了の旨を通知することにより、直ちに排紙処理へ移行する。その結果、主制御部５１が白ブロックのみの処理をページ終端まで終えるまで待機するキャリッジ３７の無駄な待機時間を省くことができる。よって、複数枚コピー印刷時における印刷スループットを向上させることができる。
【００８８】
以上詳述したように、本実施形態では、以下に示す効果を得ることができる。
（１）スキャンデータ溜込み処理では、白ブロックのＪｐｅｇ生成をスキップするので、そのＪｐｅｇ生成処理を省くことができる。その結果、Ｊｐｅｇ画像データＪＤのデータ容量を小さく抑えることができる。例えばバッファー６５などの負担となりにくい。
【００８９】
（２）印刷データ生成処理では、スキャンデータ溜込み処理で省略した白ブロックのＪｐｅｇ展開処理（Ｓ１５０）及びマスク適用処理（Ｓ１６０）を省略できる。よって、白ＲＧＢデータ生成処理（Ｓ１４０）の簡単な処理を行うだけで済み、印刷データ生成処理の処理負担を軽減できる。
【００９０】
（３）また、印刷データ生成処理では、スキャンデータ溜込み処理で省略した白ブロックを、白ＲＧＢデータを生成して追加するので、原稿２９の空白領域を印刷画像に正しく反映できる。
【００９１】
（４）ページ終端までの残りが全て白ブロックであると判定した場合は、その時点で、ページデータ終了を通知して排紙処理に移行する。このため、白ブロックの処理を終えるのをページ終端まで待つキャリッジ３７の無駄な待機時間を無くして、次ページの給送開始タイミングを早めることができる。よって、複数枚コピー印刷時における印刷スループットを向上させることができる。
【００９２】
（第２実施形態）
次に第２実施形態について説明する。本実施形態では、コピー印刷するときにスキャンした画像の向きを９０度回転させて用紙に印刷する画像回転処理を伴う。例えば複数枚の原稿２９をスキャンして読み取った複数の原稿画像を、１枚の用紙Ｐに２つ以上並べて配置して印刷する複数アップ印刷（例えば２アップ印刷）（図１１（ｂ）参照）をするときなどに、この画像回転処理は行われる。また、用紙向きとして縦向きと横向きのうち「横向き」を選択したときなど、スキャンした画像の向きと９０度異なる用紙向きが指定された場合にも、画像回転処理は行われる。
【００９３】
図９は、本実施形態におけるコンピューター４１の機能構成を示す。第１実施形態と同様に、主制御部５１、前処理部５２、画像蓄積処理部５３、画像展開処理部５４及び画像処理部５５を備えている。この図９においては、画像展開処理部５４及び画像処理部５５内の機能構成を詳しく示している。なお、主制御部５１、前処理部５２及び画像蓄積処理部５３の構成及び行う処理は基本的に第１実施形態と同様である。但し、この第２実施形態では、記録ヘッド３３及び各モーター３４，３６の制御は、主制御部５１に替えて、画像展開処理部５４より後段の画像処理部５５が行う構成になっている。
【００９４】
図９に示す画像蓄積処理部５３は、スキャナー部１５からのスキャンデータＳＤを入力し、画像回転の有無に関係なく、第１実施形態と同様に、図７に示すスキャンデータ溜込み処理を行う。このため、画像回転を伴うコピー印刷時も、スキャンデータＳＤ（ＹＵＶ画像データＳＤ）中の白ブロックはＪｐｅｇ生成されない。この画像蓄積処理部５３が生成したＪｐｅｇ画像データＪＤは画像展開処理部５４に入力される。
【００９５】
図９に示すように、本実施形態の画像展開処理部５４は、前記第１実施形態における画像展開処理部５４と同様に各部７１〜７６を備えると共に、更に回転判定部８１及び位置情報取得手段としての白ブロック検出部８２を備えている。
【００９６】
回転判定部８１は、画像回転処理を行うべきか否かを判定する。例えばユーザーがコピー印刷を行うときには、用紙種、用紙サイズ、レイアウト条件等を含む印刷条件を設定する。例えば２アップ印刷や横向きのレイアウトなど、画像回転を伴うレイアウト条件が設定された場合は、画像回転を伴う旨を示す回転フラグが設定される。例えばＲＯＭ４３には、画像回転が必要な複数種のレイアウト条件が登録されたテーブルデータが記憶されており、コンピューター４１は、設定されたレイアウト条件からこのテーブルデータを参照して画像回転が必要であるか否かを判断する。そして、コンピューター４１は、画像回転が不要なレイアウト条件である場合は回転フラグを「０」に設定し、一方、画像回転が必要なレイアウト条件である場合は回転フラグを「１」に設定する。このフラグ処理は、コピー印刷開始実行操作直後に行われ、スキャンデータＳＤがコンピューター４１へ入力されるときまでには完了している。そして、本例の回転判定部８１は、回転フラグの値に基づき画像回転の有無を判定する。すなわち、回転判定部８１は、回転フラグの値が「０」であれば回転なしと判定し、回転フラグの値が「１」であれば回転ありと判定する。
【００９７】
また、図９に示す白ブロック検出部８２は、回転判定部８１の判定結果が「回転あり」の場合に、Ｊｐｅｇ画像データＪＤにおける白ブロックの位置及び個数を検出する。白ブロック検出部８２は、画像蓄積処理部５３における白ブロック判定部６２と同様の処理を行って白ブロックを検出する。すなわち、白ブロック検出部８２は、白ライン情報ＷＬを参照し、ラインブロック毎に白ライン情報ＷＬの値が「１」である白ブロックの位置を検出する。そして、白ブロック検出部８２は、検出した白ブロックの位置で白ブロックが連続する個数を検出する。もちろん、白ブロック検出部８２は、白ブロック判定部６２が取得してバッファーに格納した白ブロック情報を参照して、白ブロックの位置及び個数の情報を取得する検出方法も採用できる。
【００９８】
ここで、白ブロックの位置及び個数の情報（以下、「白ブロック位置情報ＢＰ」という）は、スキャンデータ溜込み処理でＪｐｅｇ生成されなかった白ブロックのスキャン方向（ライン方向と直交する方向（図２における上下方向））における位置と範囲を示す情報である。白ブロックの個数とは、原稿２９のスキャン方向に白ブロックが連続して並ぶ個数を指し、白ブロックの位置と個数によって、スキャン方向における白ブロックの位置及び範囲が特定される。白ブロック検出部８２は、取得した白ブロック位置情報ＢＰを、後段の画像処理部５５に送る。詳しくは、白ブロック検出部８２は、白ブロック位置情報ＢＰを、後段の画像処理部５５がアクセスして読取ることができる不図示のバッファーに格納する。このように白ブロック位置情報ＢＰは、後段の画像処理部５５で使用できるように白ブロック検出部８２が検出するものであって、画像展開処理部５４の印刷データ生成処理で使用されるものではない。なお、本例では、後段の画像処理部５５が白ライン情報ＷＬを含むマスク情報ＭＤにアクセスできない構成上の理由から、上段の画像展開処理部５４が白ブロック位置情報を取得して、後段の画像処理部５５に渡す構成としている。
【００９９】
また、図９に示すように、画像処理部５５は、解像度変換部８４、色変換部８５、ハーフトーン処理部８６、ヘッド制御部８７及び印刷制御部８８を備える。このうち、解像度変換部８４、色変換部８５及びハーフトーン処理部８６は、ＲＧＢ画像データＡＤからＣＭＹＫ画像データＰＤを生成するために必要な各種画像処理を行う。また、画像処理部５５は、レイアウト情報に基づいて原稿画像を、用紙サイズ情報から規定される用紙エリアＰＡ上にレイアウトする。
【０１００】
図１１は、原稿画像を用紙エリアＰＡにレイアウトした一例を示す。図１１（ａ）は画像回転なしの場合、同図（ｂ）は画像回転ありの場合である。図１１（ｂ）は、２アップ印刷のレイアウト条件により画像回転を伴う例であり、用紙エリアＰＡには２つの原稿画像（ＲＧＢ画像データＡＤ）が９０度回転した状態で用紙搬送方向Ｙの上流側と下流側にそれぞれ配置されたレイアウトになる。また、図１１（ａ）に示す画像回転なしの場合は、第１実施形態における画像展開処理で生成される原稿のＲＧＢ画像データＡＤと同じレイアウトになる。
【０１０１】
また、図１１において、原稿のＲＧＢ画像データＡＤは網掛け領域で示される。本実施形態では、図１１（ａ）に示す画像回転なしの場合、画像展開処理時に白ＲＧＢデータ生成（図８のＳ１４０）を行うので、原稿のＲＧＢ画像データＡＤ中に白ブロックＷＢが含まれる。これに対して図１１（ｂ）に示す画像回転ありの場合は、白ＲＧＢデータ生成を行わないので、原稿のＲＧＢ画像データＡＤ中に白ブロックＷＢは含まれない構成となっている。
【０１０２】
図１１において、用紙搬送方向Ｙと直交する同図における左右方向が、印刷時に記録ヘッド３３がキャリッジ３７と共に移動する主走査方向Ｘになっている。そして、図１１（ａ）に示す画像回転なしの場合は、白ブロックＷＢのライン方向（延出方向）が主走査方向Ｘと平行になるのに対して、図１１（ｂ）に示す画像回転ありの場合は、白ブロックＷＢのライン方向が主走査方向Ｘに交差（本例では直交）する。
【０１０３】
図１１（ａ）に示すように、白ブロックＷＢのライン方向が主走査方向Ｘと平行になる場合、第１実施形態で述べたように、キャリッジ３７が１パス分の白ブロックラインのデータ処理終了まで待機し、事実上、その１回の記録動作がスキップされる。これに対して図１１（ｂ）に示すように、白ブロックＷＢのライン方向が主走査方向Ｘと交差する場合は、キャリッジ３７が移動中に記録ヘッド３３から噴射する噴射動作を白ブロックの部分でスキップする必要がある。そこで、本実施形態では、白ブロック位置情報ＢＰを後段の画像処理部５５で用いる一例として、白ブロックＷＢを含まないＲＧＢ画像データＡＤから、白ブロック相当部分で噴射動作をスキップできるヘッド制御データを生成できるように、そのデータ生成過程でスキップすべき白ブロック領域を特定可能な白ブロック位置情報ＢＰを使用する。
【０１０４】
画像処理部５５がレイアウト処理を行って得られた図１１（ａ）又は（ｂ）に示すＲＧＢ画像データＡＤは解像度変換部８４へ送られる。解像度変換部８４は、ＲＧＢ画像データＡＤを表示解像度から印刷解像度へ変換する解像度変換処理を行う。色変換部８５は、表示用の表色系（例えばＲＧＢ表色系）から印刷用の表色系（例えばＣＭＹＫ表色系）に色変換する色変換処理を行う。さらにハーフトーン処理部８６は、表示用の高階調（例えば２５６階調）の画素データを印刷用の低階調（例えば２階調又は４階調）の画素データに階調変換するハーフトーン処理などを行う。なお、画像処理の１つとしてマイクロウィーブ処理や縦横変換処理が行われてもよい。
【０１０５】
これらの各部８４〜８６による画像処理の結果生成されたＣＭＹＫ画像データＰＤは、ヘッド制御部８７へ送られる。ヘッド制御部８７は、ＣＭＹＫ画像データＰＤに基づいて記録ヘッド３３のノズル形成面（ノズル開口面）にインク色毎に設けられた各ノズル列を構成する各ノズルからインク滴を噴射する制御を行うため、ＣＭＹＫ各色のヘッド制御データを生成する。このＣＭＹＫ各色のヘッド制御データは、各ノズルから対応するインク色のインク滴の噴射の有無を制御するためのデータである。
【０１０６】
ここで、ヘッド制御データの生成に際して、ヘッド制御部８７は、白ブロック位置情報ＢＰに基づいてキャリッジ３７（図１参照）が移動する主走査方向Ｘ（ライン方向と直交する方向）において白ブロックが存在する白ブロック領域を把握でき、把握した白ブロック領域を非噴射領域に設定する。詳しくは、ヘッド制御部８７は、白ブロック位置情報ＢＰから把握される主走査方向Ｘにおける白ブロックの位置及びその連続個数から、主走査方向Ｘにおいて白ブロック領域内の印刷画素データに非噴射ドットデータ（例えば値「０」又は「００」）を設定することで、１パス毎のヘッド制御データを生成する。
【０１０７】
一方、印刷制御部８８は、ヘッド制御部８７が生成した１パス毎のヘッド制御データを用いて、キャリッジ３７が主走査方向Ｘに１回移動する１パス動作（１走査）を行う際のキャリッジ起動位置及びキャリッジ停止位置を求める。詳しくは、印刷制御部８８は、１パス動作開始前に、事前にその１パス分のＣＭＹＫ画像データＰＤ（又はヘッド制御データ）を解析し、主走査方向Ｘにおける印刷領域（インク噴射開始位置〜インク噴射終了位置の領域）を把握する。そして、印刷制御部８８は、把握した印刷領域の主走査方向前端位置に相当するインク噴射開始位置に、キャリッジ３７が起動位置からインク噴射開始位置まで移動するのに必要な加速距離分をそのときの走査方向反対側に加えて、キャリッジ起動位置を求める。また、印刷制御部８８は、印刷領域の主走査方向後端位置に相当するインク噴射終了位置に、インク噴射終了位置からキャリッジ停止位置までの移動に必要な減速距離分を加えて、キャリッジ停止位置を求める。そして、印刷制御部８８は、キャリッジ３７がキャリッジ起動位置からキャリッジ停止位置まで移動するように、キャリッジモーター３４を駆動制御する。このように１走査毎のＣＭＹＫ画像データＰＤ（又はヘッド制御データ）は、記録ヘッド３３の噴射制御だけでなく、キャリッジ３７の印刷時における移動範囲を決めるためにも用いられる。
【０１０８】
さらに、印刷制御部８８は、キャリッジ３７を１走査させる度に、紙送りモーター３６を駆動して、用紙Ｐを次の印刷位置まで搬送させる搬送動作を行う。そして、本例のシリアル式のプリンター部１４においては、印刷制御部８８によるキャリッジ１走査分の記録動作と用紙Ｐの搬送動作とがほぼ交互に行われることにより、用紙Ｐへの印刷が進められる。
【０１０９】
次に、この第２実施形態におけるコンピューター４１が実行する印刷データ生成処理を、図１０に従って説明する。この印刷データ生成処理は、詳しくはコンピューター４１内の主制御部５１の指示に従って画像展開処理部５４が行う。
【０１１０】
まずステップＳ２１０では、主制御部５１が、第２カウンター７６に初期値「０」を設定する（ＪＬ＝０）と共に、不図示のライン数カウンターに初期値「１」を設定する（Ｎ＝１）。この処理は第１実施形態におけるＳ１１０と同様であり、第２カウンター７６の計数値は、画像展開処理部５４が以降の各ステップ処理でＪｐｅｇ展開したライン数（Ｊｐｅｇ展開ライン数）を示す。また、ライン数カウンターの計数値Ｎは、展開処理の対象ブロックが第Ｎラインであることを示す。
【０１１１】
次のステップＳ２２０では、画像の回転ありか否かを判定する。この判定は回転判定部８１が行う。回転なしの場合はステップＳ２３０に進み、回転ありの場合はステップＳ２４０に進む。
【０１１２】
ステップＳ２３０では、回転なしのときのＪｐｅｇ展開処理を行う。このＪｐｅｇ展開処理は、第１実施形態における図８のＳ１２０〜Ｓ１９０の処理に相当する。すなわち、コンピューター４１の画像展開処理部５４は、画像回転なしの場合は、第１実施形態における図８のＳ１２０〜Ｓ１９０の各処理で示される展開処理を行い、白ブロックの位置に白ＲＧＢデータを追加挿入しつつＪｐｅｇ展開を進める。そして、第１実施形態と同様に、終端まで白ブロックしかなければ、ステップＳ３００においてページデータ終了を通知する。一方、画像展開処理部５４は、画像回転ありの場合は、ステップＳ２４０〜Ｓ２９０の各処理を実行することにより、回転ありのときの展開処理を行う。
【０１１３】
ステップＳ２４０では、白ブロック位置を検出する。すなわち、白ブロック検出部８２が白ライン情報ＷＬを基に、第１ラインブロックから最終ラインブロックのうちから白ブロックを検出及び白ブロックの連続個数を計数することで、白ブロックの位置及び個数を検出する。そして、白ブロック検出部８２は、検出した白ブロックの位置及び個数の情報よりなる白ブロック位置情報ＢＰを画像処理部５５へ送る。
【０１１４】
次のステップＳ２５０〜Ｓ２９０の処理は、第１実施形態におけるステップＳ１５０〜Ｓ１９０の処理と同様である。
すなわち、ステップＳ２５０では、Ｊｐｅｇ展開してＲＧＢ画像データのブロックを生成する。詳しくは、Ｊｐｅｇ展開処理部７２が、Ｊｐｅｇ画像データのブロックＢＬに図５に示すハフマン復号化処理、逆量子化処理及び逆ＤＣＴ処理などを施すことにより、そのブロックＢＬのＹＵＶ画像データを生成する。このとき、第Ｎラインブロックが白ブロックである場合は、Ｊｐｅｇ展開すべきＪｐｅｇラインデータがないので、Ｊｐｅｇ展開処理（Ｓ２５０）、マスク適用処理（Ｓ２６０）及びＪｐｅｇ展開ライン数加算処理（Ｓ２７０）は行われない。
【０１１５】
次のステップＳ２６０では、マスク適用処理を行う。この処理はマスク適用処理部７３が行う。すなわち、Ｊｐｅｇ展開処理を終えた最終段で、マスク適用処理部７３は、孤立点情報に基づいて孤立点を形成している画素をマスクする孤立点除去処理などを行う。
【０１１６】
次のステップＳ２７０では、Ｊｐｅｇ展開ライン数の加算を行う。すなわち、主制御部５１の指示により、第２カウンター７６はその計数値であるＪｐｅｇ展開ライン数ＪＬに「１」を加算する（ＪＬ＝ＪＬ＋１）。
【０１１７】
次のステップＳ２８０では、Ｊｐｅｇ展開ライン数ＪＬがＪｐｅｇ画像データＪＤのライン数JpegHeightに達した（ＪＬ≧JpegHeight）か否かを判断する。Ｊｐｅｇ画像データＪＤにＪｐｅｇ展開未処理のラインが残っている今回は、ＪＬ≧JpegHeightが不成立となるので、ステップＳ２９０において計数値Ｎをインクリメントした後（Ｎ＝Ｎ＋１）、ステップＳ２５０に戻る。
【０１１８】
このように画像回転ありの場合は、白ブロックの位置に白ＲＧＢデータを追加挿入することはなく、色ありのラインブロックのＪｐｅｇ展開処理（Ｓ２５０）、マスク適用処理（Ｓ２６０）及びＪｐｅｇ展開ライン数加算処理（Ｓ２７０）が行われる。
【０１１９】
以下、同様に、ステップＳ２８０においてＪＬ≧JpegHeightが成立するまで、第ＮラインブロックＢＬに対してＳ２５０〜Ｓ２９０の処理を繰り返す。
こうして、Ｊｐｅｇ画像データＪＤ中のその第ＮラインブロックＢＬがＪｐｅｇ展開される。そして、Ｊｐｅｇ画像データＪＤの全ラインブロックについて画像展開処理を終えると、ステップＳ２８０においてＪＬ≧JpegHeightが成立する。ＪＬ≧JpegHeightが成立したときには、ステップＳ３００に進む。
【０１２０】
そして、ステップＳ３００では、ページデータ終了を通知する。つまり、画像展開処理部５４は、ＪＬ≧JpegHeightが成立すれば、本例の場合、制御手段を構成する後段の画像処理部５５へページデータ終了の旨を通知する。
【０１２１】
この印刷データ生成処理によって、一例として図１１に示すようなＲＧＢ画像データＡＤが生成される。図１１（ａ）に示すように、画像回転なしの場合は、画像展開時に白ブロックが追加挿入されるため、同図（ａ）に網掛けで示すように白ブロックＷＢを含むＲＧＢ画像データＡＤが生成される。このとき、白ブロックのライン方向は、キャリッジ３７が印刷時に移動する主走査方向Ｘに一致する。
【０１２２】
一方、図１１（ｂ）に示すように、画像回転ありの場合は、画像展開時に白ブロックが追加挿入されることはなく、同図（ｂ）に網掛けで示すように白ブロックＷＢを含まない２つの回転画像をもつＲＧＢ画像データＡＤが生成される。画像回転ありの場合、Ｊｐｅｇ画像データＪＤと同様に、画像展開処理後のＲＧＢ画像データＡＤにも白ブロックは含まれない。そのため、白ブロックの位置・個数を示す白ブロック位置情報ＢＰが、後段の画像処理部５５へ送られる。また、図１１（ｂ）に示すように、白ブロックが延びるライン方向が、キャリッジ３７が印刷時に移動する主走査方向Ｘと直交することになる。
【０１２３】
図１１（ａ）又は（Ｂ）に示すＲＧＢ画像データＡＤは画像処理部５５へ送られ、画像処理部５５内の各部８４〜８６による画像処理（解像度変換処理、色変換処理、ハーフトーン処理等）が施されることにより、ＣＭＹＫ画像データＰＤが生成される。生成されたＣＭＹＫ画像データＰＤは、ヘッド制御部８７へ送られる。
【０１２４】
ヘッド制御部８７は、ＣＭＹＫ画像データＰＤをＣＭＹＫ各色のヘッド制御データに変換する。このヘッド制御データの生成に際して、ヘッド制御部８７は、白ブロック位置情報ＢＰに基づいてキャリッジ３７（図１参照）の主走査方向Ｘにおける白ブロック領域を把握し、把握した白ブロック領域内のドット（印刷画素）に非噴射の旨の非噴射ドットデータ（例えば「０」又は「００」）を設定して、１パス毎のヘッド制御データを生成する。
【０１２５】
また、印刷制御部８８は、キャリッジ３７の１パス（１走査）動作開始前に、その１パス分のＣＭＹＫ画像データ（又はヘッド制御データ）を解析し、主走査方向Ｘにおける印刷領域（インク噴射開始位置〜インク噴射終了位置の領域）を把握し、その把握情報を基にキャリッジ起動位置及びキャリッジ停止位置を事前に求める。そして、印刷制御部８８がキャリッジモーター３４を駆動制御して、キャリッジ３７をキャリッジ起動位置からキャリッジ停止位置まで移動させる。
【０１２６】
このキャリッジ３７が主走査方向Ｘへ１走査する過程で、記録ヘッド３３は１パス分のヘッド制御データに基づいてインク滴の噴射制御を行う。このとき、ヘッド制御データは、白ブロック領域内の印刷画素データが非噴射の旨の非噴射ドットデータになっているので、用紙Ｐ上における白ブロックＷＢに対応する位置へは記録ヘッド３３からのインク滴は噴射されない。
【０１２７】
そして、印刷制御部８８は、キャリッジ３７を１走査させる度に、紙送りモーター３６を駆動して、用紙Ｐを次の印刷位置まで搬送させる搬送動作を行う。そして、印刷制御部８８によるキャリッジ１走査分の記録動作と用紙Ｐの搬送動作とがほぼ交互に行われることにより、用紙Ｐへの印刷が進められる。この結果、スキャナー部１５で読み取った原稿２９の画像が印刷エンジン９０の駆動により用紙Ｐに印刷され、これにより原稿２９のコピー印刷が行われる。
【０１２８】
以上詳述のように、この第２実施形態によれば、第１実施形態における効果（１），（２）が同様に得られる他、以下の効果が得られる。
（５）印刷データ生成処理（画像展開処理）において、画像回転ありの場合に、白ブロックの位置を検出して白ブロック位置情報ＢＰを取得し、その白ブロック位置情報ＢＰを、後段の画像処理部５５に渡す処理（図１０におけるＳ２４０）を行う。よって、後段の画像処理部５５では、白ブロック位置情報ＢＰに基づき、白ブロック領域に相当する印刷画素（印刷ドット）を非噴射の旨の非噴射ドットデータとしたヘッド制御データを生成できる。
【０１２９】
よって、画像回転ありの場合は、Ｊｐｅｇ画像データＪＤに加え、ＲＧＢ画像データＡＤについても、白ブロックのデータが省略される。そのため、ＲＧＢ画像データＡＤが格納されるバッファーの容量やその使用容量が少なく済む。例えばその一部がバッファーとして使用されるＲＡＭ４４等のメモリーの容量を小さくしたり、コピー印刷時もメモリー使用容量を減らして一層多くの空き容量を確保し易くなる。その他、ＪＬ≧JpegHeightが成立するまで、第ＮラインブロックＢＬに対してＳ２５０〜Ｓ２９０の処理を繰り返す展開処理を採用することから、第１実施形態における効果（４）と同様の効果も得られる。
【０１３０】
（６）画像回転なしの場合は、印刷データ生成処理（画像展開処理）で、白ブロックの位置に白ＲＧＢデータを生成して追加挿入するので、第１実施形態と同様に、Ｊｐｅｇ画像データＪＤのデータ容量を小さくできるうえ、画像展開処理の結果、白ブロックを含むＲＧＢ画像データＡＤを生成できる。その他、第１実施形態における効果（３），（４）も得られる。
【０１３１】
（７）画像回転ありの場合に、白ブロックに相当する印刷画素（印刷ドット）のデータ値を非噴射の旨の値に設定して、主走査方向Ｘにおいて白ブロック領域内の対応画素の噴射動作（記録動作）をスキップした。一方、画像回転なしの場合は、白ブロックの１走査分の記録動作をスキップした。よって、ＲＧＢ画像データＡＤのデータ量を小さく済ませつつ、余白（白ブロック）を含むスキャンした通りの原稿画像を印刷できる。
【０１３２】
なお、上記実施形態は以下のような形態に変更することもできる。
・実施形態において、ブランクラインは１ライン全域に限定されない。例えば一ライン全域のうち一部の領域についての圧縮データ生成処理（Ｊｐｅｇ生成処理）や圧縮データ展開処理（Ｊｐｅｇ展開処理）を部分的に省くことが可能な構成あるいは圧縮データ形式を採用した場合は、このように１ライン全域のうち一部の処理をスキップし、他の一部については処理を行う構成でもよい。
【０１３３】
・実施形態において、処理対象ラインを８画素幅の１ラインブロックとしたが、処理対象ラインの幅は適宜設定できる。例えばＪｐｅｇ形式以外の圧縮形式を採用した場合であって、処理対象ラインの幅の画素数を適宜設定できる場合は、その幅を１画素幅としてもよいし、その他の複数画素幅としてもよい。さらに、処理対象ラインの幅の画素数を可変としてもよい。
【０１３４】
・実施形態において、スキャンデータ溜込み処理（図７）と印刷データ生成処理（図８）とのうち一方のみ採用してもよい。スキャンデータ溜込み処理のみを採用しても、白ブロックについてはＪｐｅｇ生成処理をスキップできるので、スキャンデータ溜込み処理の処理負担を軽減できる。また、印刷データ生成処理のみを採用しても、白ブロックについてはＪｐｅｇ展開処理をスキップできるので、印刷データ生成処理の処理負担を軽減できる。例えば、他の装置に備えられた画像蓄積処理部５３により生成された圧縮データをメモリーカード又はＵＳＢメモリー等の記憶媒体に記憶し、この記憶媒体を複合機１１（印刷装置）に挿着することで、この記憶媒体から複合機１１が読み込んだ圧縮データを複合機内の画像展開処理部５４が展開処理して印刷データを生成する構成でもよい。これとは反対に、複合機のスキャナー部が読み取ったスキャンデータを複合機１１内の画像蓄積処理部５３が圧縮処理して生成した圧縮データをパーソナルコンピューターに転送し、パーソナルコンピューター内の画像展開処理部５４が圧縮データを展開処理する構成も採用できる。これらの構成の場合、複合機１１は、画像蓄積処理部５３と画像展開処理部５４のうち一方のみを備えれば足りる。
【０１３５】
・実施形態において、ページ終端までの残りが全て白ブロックである場合に、ページ終端まで白ＲＧＢデータを生成し続けてもよい。
・第２実施形態において、白ブロックの位置に白ＲＧＢデータを追加挿入する処理を、画像回転ありの場合に限り廃止したが、画像回転の有無に関係なく、常に同処理を廃止してもよい。つまり、図１０において回転なしのときのＪｐｅｇ展開処理（Ｓ２３０）中の詳細ステップである図８における白ＲＧＢデータ生成処理（Ｓ１４０）を廃止する。この場合、例えば回転なしのときも、回転ありのとき同様、Ｓ２４０の白ブロック検出処理を実行し、得られた白ブロック位置情報ＢＰを後段の画像処理部５５に渡す構成とする。そして、画像処理部５５内の印刷制御部８８は、白ブロック位置情報ＢＰに基づき、次の１パス分の印字動作が白ブロック位置に相当すると判断した場合は、印字動作を白ブロックの個数（白ブロック連続個数）に応じた回数分だけスキップさせるキャリッジ制御を行う。この構成によれば、キャリッジ３７が白ブロックに対応する位置で停止したまま１パス分のデータ処理の終了を待つ待機時間が不要になるので、白ブロック位置におけるキャリッジ３７の待ち時間を短縮して、印刷スループットを向上できる。
【０１３６】
・第１実施形態において、第２実施形態のように画像処理部５５内のヘッド制御部８７
及び印刷制御部８８が印刷エンジン９０の駆動制御を行う構成を採用してもよい。
・画像回転の有無を判定する回転判定手段は無くてもよい。つまり、画像回転の有無に拘わらず、位置情報を取得して印刷動作をスキップする構成としてもよい。
【０１３７】
・印刷動作のスキップは、記録動作のスキップに限定されない。搬送動作を複数回連続して行うことで、（複数回−１回）分の印刷動作をスキップする構成でもよい。
・前記第２実施形態では、後段の画像処理部５５で白ブロック位置情報ＢＰを取得できない構成上の理由から、その前段側で白ブロック位置情報ＢＰを取得して後段の画像処理部５５に渡す構成としたが、構成上可能であれば、後段の画像処理部５５が白ブロック位置情報ＢＰを取得してもよい。
【０１３８】
・実施形態において、１ＭＣＵは１６×１６画素でもよい。
・前記実施形態では、複合機におけるコピー印刷時のスキャンデータの圧縮処理及び圧縮データの展開処理に適用したが、モニターやプロジェクター、デジタルフォトフレームなどの表示装置における表示時の画像データの処理に適用してもよい。表示装置は、光学系であるので、ブランクラインは黒ブロックとなり、処理対象ブロック（処理対象ライン）が黒ブロックであるか否かを判定し、黒ブロックであると判定した場合にその処理対象ラインに対する圧縮データ生成処理と圧縮データ展開処理をスキップするようにすればよい。この場合、表示装置がスキャン手段によるスキャンデータの圧縮処理及び展開処理を行って展開した画像データに基づく画像を表示する構成も採用できる。
【０１３９】
・印刷手段としてのプリンター部１４の記録方式はインクジェット記録方式に限定されず、ドットインパクト記録方式、レーザー記録方式などの他の記録方式でもよい。また、プリンター部１４はシリアルプリンターに限定されず、ラインプリンターやページプリンターでもよい。
【符号の説明】
【０１４０】
１１…印刷装置としての複合機、１４…印刷手段としてのプリンター部、１５…スキャン手段としてのスキャナー部、１６…自動給紙装置、１７…操作パネル、２１…操作部、３２…スキャン手段を構成するＣＣＤ、２９…原稿、３０…制御装置、３１…スキャン手段を構成するスキャナーモーター、３３…印刷手段及び記録手段を構成する記録ヘッド、３４…印刷手段及び記録手段を構成するキャリッジモーター、３６…印刷手段及び搬送手段を構成するとともに搬送手段の動力源としての紙送りモーター、３７…印刷手段及び記録手段を構成するキャリッジ、３９…搬送ローラー、４０…排紙ローラー、４１…コンピューター、４３…ＲＯＭ、４４…ＲＡＭ、４５…スキャナー入力回路、５１…主制御部、５２…前処理部、５３…画像蓄積処理部、５４…印刷データ生成終了手段の機能を有する画像展開処理部、５５…画像処理部、６１…マスク情報生成手段としてのマスク情報生成部、６２…判定手段を構成すると共に第１判定手段としての白ブロック判定部、６３…画像データ処理手段及び圧縮データ生成手段を構成するＪｐｅｇ生成処理部、６４…第１カウンター、６５…バッファー、７１…判定手段を構成すると共に第２判定手段としての白ブロック判定部、７２…画像データ処理手段及び圧縮データ展開手段を構成するＪｐｅｇ展開処理部、７３…マスク適用処理部、７４…ブランクデータ生成手段としての白ＲＧＢデータ生成部、７５…判断手段としての判定部、７６…カウント手段としての第２カウンター、８１…回転判定手段としての回転判定部、８２…位置情報取得手段としての白ブロック検出部、８７…制御手段を構成するヘッド制御部、８８…制御手段を構成する印刷制御部、９０…印刷手段としての印刷エンジン、ＭＤ…マスク情報、ＢＬ…処理対象ラインとしてのラインブロック、ＰＤ…印刷データ（ＣＭＹＫ画像データ）、ＷＢ…ブランクラインとしての白ブロック、Ｐ…印刷媒体としての用紙。
【図１】
2011120197.tif 000003
【図２】
2011120197.tif 000004
【図３】
2011120197.tif 000005
【図４】
2011120197.tif 000006
【図５】
2011120197.tif 000007
【図６】
2011120197.tif 000008
【図７】
2011120197.tif 000009
【図８】
2011120197.tif 000010
【図９】
2011120197.tif 000011
【図１０】
2011120197.tif 000012
【図１１】
2011120197.tif 000013