(57)【要約】【課題】ＰＤＬデータを取得して印刷するプリンタ装置において、白紙を良好に検出する。【解決手段】プリンタ装置１００は、ＰＤＬデータを取得するデータ取得部１０４と、ＰＤＬデータを展開して描画データを生成する画像化部１０６と、描画データを符号化して符号化データを生成する符号化部１０８と、符号化データをデコードして印刷データを生成するとともに、当該印刷データを出力する印刷処理部１２８と、ＰＤＬデータ、符号化データ、または印刷データのいずれかをページ単位で解析して白紙を検出するとともに、白紙を検出した場合に、印刷処理部１２８により白紙がそのまま印刷されないように印刷データの出力を制御する白紙検出部１２６と、を含む。【選択図】図１
2007320295.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語で記述されたＰＤＬデータを取得する取得部と、
前記ＰＤＬデータを展開して描画データを生成する画像化部と、
前記描画データを符号化して符号化データを生成する符号化部と、
前記符号化データをデコードして印刷データを生成するとともに、当該印刷データを出力する印刷処理部と、
前記ＰＤＬデータ、前記符号化データ、または前記印刷データのいずれかをページ単位で解析して白紙を検出するとともに、白紙を検出した場合に、前記印刷処理部により白紙がそのまま印刷されないように前記印刷データの出力を制御する白紙検出部と、
を含むプリンタ装置。
【請求項２】
請求項１に記載のプリンタ装置において、
前記符号化部は、ＭＨ、ＭＲまたはＭＭＲ方式のいずれかの方式で符号化を行い、
前記白紙検出部は、前記符号化データをページ単位で解析して、ページ単位のデータすべてが白紙を示す情報で構成されているか否かに基づき、白紙を検出するプリンタ装置。
【請求項３】
請求項１または２に記載のプリンタ装置において、
前記白紙検出部は、白紙を検出した場合に、白紙であることを示す情報を付加した印刷データを前記印刷処理部に出力させるプリンタ装置。
【請求項４】
請求項１から３いずれかに記載のプリンタ装置において、
前記符号化部が生成した前記符号化データを記憶するバッファと、
前記バッファにページ単位の前記符号化データが記憶されると、前記白紙検出部にその旨を通知するとともに、前記印刷処理部による前記バッファからの前記符号化データの読み出しタイミングを制御するバッファ制御部と、
をさらに含み、
前記バッファ制御部は、前記バッファにページ単位の前記符号化データが記憶される前に前記バッファの容量が一杯になった場合、前記印刷処理部に前記バッファ内の前記符号化データを読み出す処理を行わせるとともに、バッファを更新して更新履歴を記憶し、
前記白紙検出部は、前記バッファ制御部から前記通知がされた場合に、前記バッファの更新履歴が記憶されているか否かを判断し、更新履歴が記憶されている場合には、前記解析を行うことなく、白紙ではないと判断するプリンタ装置。
【請求項５】
請求項１から３いずれかに記載のプリンタ装置において、
前記白紙検出部は、前記符号化データ、または前記印刷データのいずれかのページ単位のデータ量と、予め設定された閾値と、を比較して、前記データ量が前記閾値以上の場合に、前記解析を行うことなく白紙ではないと判断するとともに、前記データ量が前記閾値より小さい場合に、前記解析を行うプリンタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ装置に関する。
【背景技術】
【０００２】
特許文献１には、以下の白紙検出方法が開示されている。画データ読み取りスキャナで読み取られた画データは、２値化されて、１ライン毎に一旦ラインバッファに格納され、同時に圧縮データとしてＳＡＦへ格納される。１ページ分の圧縮データが格納されたらページの区切りを示すＲＴＣビットを圧縮データに付加して１ページ分の読み取り作業が完了する。１ページ圧縮する度にＣＰＵで１ページ分の圧縮データ量を計測する。この圧縮データ量を求めたら、ある所定値と比較して白紙であるか否かを判断する。所定値より圧縮データ量が低ければ白紙原稿と判断し、多ければ原稿ページと判断し、次ページへ進む。
【０００３】
特許文献１では、読み取りスキャナで読み取られた画データの白紙を検出する処理を行っている。スキャナで読み取られた画データでは、原稿の入れ方、紙の材質、スキャナガラスの汚れ等、装置特有のノイズが画データに反映される。そのため、装置特有のノイズ等を考慮して所定値を設定していた。
【特許文献１】特開２０００−２９９７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、スキャナガラスの汚れ等の状態が変化するとそれに起因する白紙誤判定の可能性がある。また、適切な所定値を設定するのに手間がかかるという問題もあった。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、ＰＤＬデータを取得して印刷するプリンタ装置において、白紙を良好に検出する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明によれば、
ページ記述言語で記述されたＰＤＬデータを取得する取得部と、
前記ＰＤＬデータを展開して描画データを生成する画像化部と、
前記描画データを符号化して符号化データを生成する符号化部と、
前記符号化データをデコードして印刷データを生成するとともに、当該印刷データを出力する印刷処理部と、
前記ＰＤＬデータ、前記符号化データ、または前記印刷データのいずれかをページ単位で解析して白紙を検出するとともに、白紙を検出した場合に、前記印刷処理部により白紙がそのまま印刷されないように前記印刷データの出力を制御する白紙検出部と、
を含むプリンタ装置
が提供される。
【０００７】
このようにすれば、ＰＤＬデータを取得して印刷するプリンタ装置において、白紙を良好に検出することができる。このように、データそのものを照査することにより、より正確な白紙判定を行うことができる。具体的には、たとえば、白紙検出部は、予め用意またはその都度生成した白紙画データと比較照査することにより、受信した画データが白紙か否かを判定することができる。ＰＤＬデータを取得して印刷するプリンタ装置においては、その処理中に意図しない画データが混入する可能性もない。そのため、上記白紙画データとの比較結果が一致している場合のみ白紙とみなすようにすれば、良好な白紙検出が可能となる。
【０００８】
本発明のプリンタ装置において、前記符号化部は、ＭＨ、ＭＲまたはＭＭＲ方式のいずれかの方式で符号化を行うことができ、前記白紙検出部は、前記符号化データをページ単位で解析して、ページ単位のデータすべてが白紙を示す情報で構成されているか否かに基づき、白紙を検出することができる。
【０００９】
本発明のプリンタ装置において、前記白紙検出部は、白紙を検出した場合に、白紙であることを示す情報を付加した印刷データを前記印刷処理部に出力させることができる。
【００１０】
このようにすれば、印刷ミスにより白紙が生じたのか、もともとのデータが白紙だったのかを判別することができる。
【００１１】
本発明のプリンタ装置は、前記符号化部が生成した前記符号化データを記憶するバッファと、前記バッファにページ単位の前記符号化データが記憶されると、前記白紙検出部にその旨を通知するとともに、前記印刷処理部による前記バッファからの前記符号化データの読み出しタイミングを制御するバッファ制御部と、をさらに含むことができ、前記バッファ制御部は、前記バッファにページ単位の前記符号化データが記憶される前に前記バッファの容量が一杯になった場合、前記印刷処理部に前記バッファ内の前記符号化データを読み出す処理を行わせるとともに、バッファを更新して更新履歴を記憶することができ、前記白紙検出部は、前記バッファ制御部から前記通知がされた場合に、前記バッファの更新履歴が記憶されているか否かを判断し、更新履歴が記憶されている場合には、前記解析を行うことなく、白紙ではないと判断することができる。
【００１２】
ここで、バッファの容量は、白紙でない標準的な符号化データの１ページ分のデータ量よりも大きくなるように設定することができる。これにより、白紙でないことが明らかな場合は、データの内容を解析することなく、白紙でないことの検出が行われるため、白紙検出処理を迅速に行うことができる。
【００１３】
本発明のプリンタ装置において、前記白紙検出部は、前記符号化データ、または前記印刷データのいずれかのページ単位のデータ量と、予め設定された閾値と、を比較して、前記データ量が前記閾値以上の場合に、前記解析を行うことなく白紙ではないと判断するとともに、前記データ量が前記閾値より小さい場合に、前記解析を行うことができる。
【００１４】
このようにある程度の精度で白紙か否かを判断したのちに、データを解析して白紙の検出を行うため、迅速かつ精度よく白紙の検出を行うことができる。
【００１５】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１６】
本発明によれば、ＰＤＬデータを取得して印刷するプリンタ装置において、白紙を良好に検出することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１８】
図１は、本実施の形態におけるプリンタ装置の構成を示すブロック図である。
プリンタ装置１００は、プリンタコントローラ１０２とプリンタ本体１２０とを含む。プリンタ本体１２０は、プリントエンジンを有し、印刷処理を行う。プリンタ本体１２０は、たとえばネットワークプリンタ機能やネットワークスキャナ機能等を備えたＭＦＰ（Multi Functional Peripheral）等のネットワークファクシミリ装置とすることができる。プリンタコントローラ１０２は、汎用のオプションボードとすることができる。プリンタコントローラ１０２とプリンタ本体１２０とは、ＰＣＩ（Peripheral Component Interconnect）等の、あらかじめ定められたハードウェアおよびソフトウェア上の規格に従って接続される。
【００１９】
プリンタコントローラ１０２は、データ取得部１０４（取得部）、画像化部１０６、符号化部１０８および転送部１１０を含む。プリンタ本体１２０は、データ受信部１２２、バッファ制御部１２４、白紙検出部１２６、印刷処理部１２８、バッファ１３０、フラグ記憶部１３２および設定記憶部１３４を含む。
【００２０】
なお、図１において、本発明の本質に関わらない部分の構成については省略してある。図１に示したプリンタ装置１００の各構成要素は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。プリンタ装置１００の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【００２１】
プリンタコントローラ１０２のデータ取得部１０４は、ネットワーク１５０を介して、ＰＣ２００等の端末からページ記述言語で記述されたＰＤＬデータを取得する。画像化部１０６は、データ取得部１０４が取得したＰＤＬデータを展開して描画データを生成する。
【００２２】
符号化部１０８は、画像化部１０６が生成した描画データを符号化して符号化データを生成する。符号化部１０８は、ＭＨ（Modified Huffman）、ＭＲ（Modified Read）またはＭＭＲ（Modified Modified Read）方式のいずれかの方式で符号化を行うことができる。
【００２３】
転送部１１０は、符号化部１０８が生成した符号化データをプリンタ本体１２０に転送する。
【００２４】
プリンタ本体１２０のデータ受信部１２２は、転送部１１０から転送される符号化データを受信する。バッファ制御部１２４は、データ受信部１２２が受信した符号化データをページ単位でバッファ１３０に記憶させる。バッファ制御部１２４は、バッファ１３０に１ページ分の符号化データが記憶されると、その旨を白紙検出部１２６に通知する。
【００２５】
また、バッファ制御部１２４は、バッファ１３０にページ単位の符号化データが記憶される前にバッファ１３０の容量が一杯になった場合、その旨を印刷処理部１２８に通知する。印刷処理部１２８によりバッファ１３０のデータが読み出されると、バッファ制御部１２４は、バッファ１３０を更新し、更新履歴を示すフラグをフラグ記憶部１３２に記憶する。
【００２６】
白紙検出部１２６は、バッファ制御部１２４から１ページ分の符号化データが記憶された旨の通知を受けると、バッファ１３０に記憶された符号化データをページ単位で解析する。白紙検出部１２６は、ページ単位のデータすべてが白紙を示す情報で構成されているか否かに基づき、白紙を検出する。たとえば、符号化データがＭＭＲ方式で符号化されている場合、白紙検出部１２６は、ページ単位の圧縮コードが全ビットＶ（０）で構成されているか否かで白紙を検出することができる。具体的には、白紙検出部１２６は、ページ単位の圧縮コードが全ビット１か否かで白紙を検出することができる。
【００２７】
また、白紙検出部１２６は、バッファ制御部１２４から通知を受けた場合に、フラグ記憶部１３２を参照し、更新履歴を示すフラグが記憶されているか否かを判断する。白紙検出部１２６は、フラグが記憶されている場合、解析を行うことなく、白紙ではないと判断することができる。フラグ記憶部１３２にフラグが記憶されていると言うことは、１ページ分の符号化データのデータ量が、バッファ１３０の容量よりも大きいということである。バッファ１３０の容量は、白紙でない標準的な符号化データの１ページ分のデータ量よりも大きくなるように設定することができる。このようにしておけば、符号化データの解析を行う前に、符号化データのデータ量に基づき、白紙か否かの検出をある程度の精度で行うことができる。この結果、白紙でないことが明らかな場合は、データの内容を解析することなく、白紙でないことの検出が行われるため、白紙検出処理を迅速に行うことができる。
【００２８】
印刷処理部１２８は、プリントエンジンを含む。印刷処理部１２８は、バッファ制御部１２４または白紙検出部１２６から通知を受けると、バッファ１３０に記憶された符号化データをデコードして印刷データを生成する。印刷処理部１２８は、デコードした印刷データをプリントエンジンに転送して出力する。
【００２９】
白紙検出部１２６は、白紙を検出した場合に、印刷処理部１２８により白紙がそのまま印刷されないように印刷データの出力を制御する。設定記憶部１３４は、白紙検出部１２６が白紙を検出した場合にどのような処理を行うかを記憶する。
【００３０】
一例として、白紙検出部１２６は、白紙を検出した場合に、白紙であることを示す情報を付加した印刷データを印刷処理部１２８に出力させることができる。白紙であることを示す情報は、たとえば、所定サイズの文字列とすることができる。白紙検出部１２６は、その文字列を所定位置に付加した印刷データを印刷処理部１２８に出力させることができる。文字列の内容、角度、フォントフェイス、サイズ、濃度、および付加位置は、適宜設定することができる。この設定は、設定記憶部１３４に記憶されていてもよく、ＰＣ等にインストールされているプリンタドライバの設定情報として記憶されていてもよい。
【００３１】
他の例として、白紙検出部１２６は、白紙を検出した場合に、そのページをキャンセルして印刷されないようにすることもできる。この場合は、白紙検出部１２６から印刷処理部１２８への通知は行われない。
【００３２】
図２は、本実施の形態におけるプリンタ装置１００の処理手順を示すフローチャートである。
まず、プリンタコントローラ１０２において、データ取得部１０４がＰＤＬデータを取得すると（Ｓ１００のＹＥＳ）、画像化部１０６は、描画データを生成する（Ｓ１０２）。つづいて、符号化部１０８は、符号化データを生成する（Ｓ１０４）。その後、転送部１１０は、符号化データをプリンタ本体１２０に送信する（Ｓ１０５）。
【００３３】
プリンタ本体１２０において、データ受信部１２２は、転送部１１０が転送した符号化データを受信する。バッファ制御部１２４は、データ受信部１２２が受信した符号化データをバッファ１３０に蓄積する（Ｓ１０６）。バッファ制御部１２４は、１ページ分の符号化データの受信が完了したか否かを判断する（Ｓ１０８）。また、バッファ制御部１２４は、１ページ分の符号化データの受信が完了する前（Ｓ１０８のＮＯ）にバッファ１３０がフルになったか否かを判断する（Ｓ１２２）。バッファ１３０の容量が一杯になった場合（Ｓ１２２のＹＥＳ）、バッファ制御部１２４は、その旨を印刷処理部１２８に通知する。印刷処理部１２８は通知を受けると、バッファ１３０内に蓄積された符号化データをプリントエンジンに転送する（Ｓ１２４）。次いで、バッファ制御部１２４は、バッファ１３０を更新して、更新フラグをフラグ記憶部１３２にセットする（Ｓ１２６）。この後ステップＳ１０６に戻る。
【００３４】
ステップＳ１０８で１ページ分の符号化データの受信が完了すると（Ｓ１０８のＹＥＳ）、バッファ制御部１２４は、白紙検出部１２６にその旨を通知する。白紙検出部１２６は、フラグ記憶部１３２を参照して、更新フラグがセットされているか否かを判断する（Ｓ１１０）。
【００３５】
バッファ１３０が更新されている場合（Ｓ１１０のＹＥＳ）、白紙検出部１２６は、フラグ記憶部１３２の更新フラグをリセットし（Ｓ１１５）、印刷処理部１２８に通知を行う。印刷処理部１２８は、バッファ１３０に記憶された符号化データをプリントエンジンに転送し、印刷出力する（Ｓ１１４）。
【００３６】
一方、ステップＳ１１０でバッファ１３０が更新されていない場合（Ｓ１１０のＮＯ）、白紙検出部１２６は、バッファ１３０に記憶された符号化データを解析し、全データがＶ（０）か否かに基づき、このページが白紙か否かを判断する（Ｓ１１２）。全データがＶ（０）の場合（Ｓ１１２のＹＥＳ）、白紙検出部１２６は、設定記憶部１３４を参照し、ページキャンセルするか否かを判断する（Ｓ１１６）。ページキャンセルをしない場合（Ｓ１１６のＮＯ）、白紙検出部１２６は、白紙であることを示す情報を付加したページデータを生成する（Ｓ１１８）。この後、ステップＳ１１４に進み、印刷処理部１２８は、生成されたページデータを印刷出力する。
【００３７】
ステップＳ１１６において、ページキャンセルする場合（１１６のＹＥＳ）、白紙検出部１２６は、そのページデータをキャンセルして除去する（Ｓ１２０）。以上により、１ページ分のデータの処理が終了する。
【００３８】
また、他の例として、両面印刷や２ページ分のデータを１ページに印刷する集約印刷を行う場合、以下のようにすることができる。以下では、両面印刷の場合を例として説明する。
【００３９】
図３は、この場合のプリンタ装置１００の処理手順を示すフローチャートである。図２のフローチャートにおいて、ステップＳ１１２で、全データがＶ（０）の場合（Ｓ１１２のＹＥＳ）の処理が異なる。それ以外の処理は図２と同様である。
【００４０】
ステップＳ１１２で、全データがＶ（０）ＹＥＳの場合（Ｓ１１２のＹＥＳ）、白紙検出部１２６は、両面印刷の設定になっているか否かを判断する（Ｓ２００）。両面印刷でない場合（Ｓ２００）、図２のステップＳ１１６に進み、前述したのと同様の処理が行われる。
【００４１】
ステップＳ２００で両面印刷の場合（Ｓ２００のＹＥＳの場合）、白紙検出部１２６は、表の印刷か否かを判断する（Ｓ２０２）。表の場合（Ｓ２０２のＹＥＳ）、白紙検出部１２６は、表ページが白紙であることを示すフラグをセットする（Ｓ２１０）。その後、図２のステップＳ１２０に進み、ページをキャンセルする。
【００４２】
ステップＳ２０２において、裏の場合（Ｓ２０２のＮＯ）、白紙検出部１２６は、表ページが白紙であることを示すフラグがセットされているか否かを判断する（Ｓ２０４）。表ページが白紙であることを示すフラグがセットされている場合（Ｓ２０４のＹＥＳ）、表ページが白紙であることを示すフラグをリセットする（Ｓ２０８）。その後、図２のステップＳ１２０に進み、ページをキャンセルする。
【００４３】
ステップＳ２０４において、表ページが白紙であることを示すフラグがセットされていない場合（Ｓ２０４のＮＯ）、表ページのデータを生成する（Ｓ２０６）。つづいて、印刷処理部１２８は、生成されたページデータを印刷出力する（Ｓ２０７）。この後、ステップＳ１１４に進み、印刷処理部１２８は、バッファ１３０に記憶されたページデータを印刷出力する。
【００４４】
集約印刷の場合も両面印刷と同様にして行うことができる。また、両面印刷や集約印刷の際に図３を用いて説明した処理を行うか否かは、それぞれ設定することができる。
【００４５】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００４６】
以上の実施の形態において、データ取得部１０４がネットワーク１５０経由でＰＤＬデータを取得する場合を例として説明したが、データ取得部１０４は、たとえば記憶媒体等に記憶されたＰＤＬデータを取得することもできる。
【００４７】
また、以上の実施の形態においては、白紙検出部１２６がプリンタ本体１２０に設けられ、符号化データを解析することにより白紙を検出する場合を例として説明した。しかし、白紙検出部１２６は、プリンタコントローラ１０２に設けられてもよく、ＰＤＬデータのＰＤＬコマンドを解析するようにすることもできる。また、白紙検出部１２６は、印刷処理部１２８がデコードした印刷データを解析して、全領域空白か否かで白紙を検出するようにすることもできる。
【００４８】
また、以上の実施の形態において、白紙検出部１２６は、解析対象の符号化データ、または印刷データのいずれかのをページ単位のデータ量と、予め設定された閾値と、を比較して、データ量が閾値以上の場合に、解析を行うことなく白紙ではないと判断するとともに、データ量が閾値より小さい場合に、解析を行うようにすることもできる。以上の実施の形態においては、符号化データのデータ量がバッファ１３０の容量以上の場合には、解析を行うことなく、白紙ではないと判断する例を示した。他の例において、プリンタ装置１００は、閾値を記憶する記憶部を有することができ、白紙検出部１２６は、閾値と解析対象のデータのデータ量とを比較して、白紙か否かの検出を行うことができる。ここで、閾値は、白紙のデータが通常取り得るデータ量よりも比較的大きい値に設定することができる。このように、閾値を大きく設定しておくことにより、実際は白紙なのに白紙でないと判断されるのを防ぐことができる。また、このようにある程度の精度で白紙か否かを判断したのちに、データを解析して白紙の検出を行うため、迅速かつ精度よく白紙の検出を行うことができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態におけるプリンタ装置の構成を示すブロック図である。
【図２】本発明の実施の形態におけるプリンタ装置の処理手順の一例を示すフローチャートである。
【図３】本発明の実施の形態におけるプリンタ装置の処理手順の他の例を示すフローチャートである。
【符号の説明】
【００５０】
１００  プリンタ装置
１０２  プリンタコントローラ
１０４  データ取得部
１０６  画像化部
１０８  符号化部
１１０  転送部
１２０  プリンタ本体
１２２  データ受信部
１２４  バッファ制御部
１２６  白紙検出部
１２８  印刷処理部
１３０  バッファ
１３２  フラグ記憶部
１３４  設定記憶部
１５０  ネットワーク
２００  ＰＣ
【図１】
2007320295.tif 000003
【図２】
2007320295.tif 000004
【図３】
2007320295.tif 000005