(57)【要約】【課題】印刷速度の低下及びメモリ使用量の増大を招くことなく、不正な印刷ジョブデータの次に受信した印刷ジョブデータを正常に処理できるようにする。【解決手段】本発明の画像処理装置は、受信した印刷ジョブデータを記憶する記憶部と、印刷ジョブデータを記憶部から読み込み、印刷ジョブデータに含まれる描画データの領域を指定する指定情報を含むコマンドを検出する検出部と、指定情報が指定する領域と、指定情報に対応する記憶部の描画データの領域が一致しない場合に、指定情報に対応する記憶部の描画データの領域に印刷ジョブデータの先頭を示すデータがあるかを検索する検索部と、を備え、検出部は、指定情報に対応する記憶部の描画データの領域に、先頭を示すデータがある場合は、先頭を示すデータ以降のデータを印刷ジョブデータとして読み込む。【選択図】図２
2014221545.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷ジョブデータを記憶する記憶部と、
前記印刷ジョブデータを前記記憶部から読み込み、前記印刷ジョブデータに含まれる描画データの領域を指定する指定情報を含むコマンドを検出する検出部と、
前記指定情報が指定する領域と、前記指定情報に対応する前記記憶部の前記描画データの領域が一致しない場合に、前記指定情報に対応する前記記憶部の前記描画データの領域に前記印刷ジョブデータの先頭を示すデータがあるかを検索する検索部と、
を備え、
前記検出部は、
前記指定情報に対応する前記記憶部の前記描画データの領域に、前記先頭を示すデータがある場合は、前記先頭を示すデータ以降のデータを前記印刷ジョブデータとして読み込む
画像処理装置。
【請求項２】
前記検出部は、
前記指定情報が指定する領域と、前記指定情報に対応する前記記憶部の前記描画データの領域が一致せず、かつ、前記指定情報に対応する前記記憶部の前記描画データの領域に、前記先頭を示すデータがない場合は、前記受信した印刷ジョブデータをリセットする
請求項１に記載の画像処理装置。
【請求項３】
受信した印刷ジョブデータを記憶する記憶部を備える画像処理装置の印刷ジョブ読込み方法であって、
検出部が、前記印刷ジョブデータを前記記憶部から読み込むステップと、
検出部が、前記印刷ジョブデータに含まれる描画データの領域を指定する指定情報を含むコマンドを検出するステップと、
検索部が、前記指定情報が指定する領域と、前記指定情報に対応する前記記憶部の前記描画データの領域が一致しない場合に、前記指定情報に対応する前記記憶部の前記描画データの領域に前記印刷ジョブデータの先頭を示すデータがあるかを検索するステップと、
を含み、
前記読み込むステップは、
前記指定情報に対応する前記記憶部の前記描画データの領域に、前記先頭を示すデータがある場合は、前記先頭を示すデータ以降のデータを前記印刷ジョブデータとして読み込む
印刷ジョブ読込み方法。
【請求項４】
受信した印刷ジョブデータを記憶する記憶部を備える画像処理装置を、
前記印刷ジョブデータを前記記憶部から読み込み、前記印刷ジョブデータに含まれる描画データの領域の指定情報を含むコマンドを検出する検出部と、
前記指定情報が指定する領域と、前記指定情報に対応する前記記憶部の前記描画データの領域が一致しない場合に、前記指定情報に対応する前記記憶部の前記描画データの領域に前記印刷ジョブデータの先頭を示すデータがあるかを検索する検索部として機能させるためのプログラムであって、
前記検出部は、
前記指定情報に対応する前記記憶部の前記描画データの領域に、前記先頭を示すデータがある場合は、前記先頭を示すデータ以降のデータを前記印刷ジョブデータとして読み込む
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、印刷ジョブ読込み方法及びプログラムに関する。
【背景技術】
【０００２】
ＰＣのユーザが、画像処理装置に印刷指示を行うと、ＰＣのプリンタドライバが、画像処理装置にラスター印刷データを含む印刷ジョブデータを送信する。このとき、画像処理装置が、印刷ジョブデータの受信を完了する前に、ＰＣのユーザの操作等によりＰＣ側から印刷がキャンセルされる場合がある。この場合、画像処理装置のＯＳの処理により、受信した印刷ジョブデータは途中切れの状態になる。そこへ、再度、画像処理装置が、ＰＣのドライバから印刷ジョブデータを受信すると、通信方式として、ＵＳＢ又はセントロニクス通信を利用していた場合は、印刷ジョブデータの境目が検知できない。そのため、画像処置装置では途中切れになった印刷ジョブデータの次に受信した印刷ジョブデータも不正な印刷ジョブデータとして判別してしまう場合がある。これは、次の印刷ジョブデータの先頭を途中切れになった印刷ジョブデータの一部として扱ってしまうためである。
【０００３】
特許文献１には、スプーラからプリンタ装置へデータ送信中に、印刷をキャンセルする指示が出された場合に、未印刷データを全て０ｘ００に変換し、変換後のデータをプリンタ装置に送付するプリンタ制御方法が開示されている。特許文献１に記載の発明は、未印刷データのサイズ分を、０ｘ００に変換するため、今回のデータと次にスプーラに蓄積されているデータが混ざることが無く、その次のデータが印字不正になることを防いでいる。
【０００４】
また、不正な印刷ジョブデータの次に受信した印刷ジョブデータを正常に処理するために、印刷ジョブデータに含まれる描画データの処理時に、常に、印刷ジョブデータの先頭の識別子を検知して、印刷ジョブデータの境目を検知する方法が知られている。また、不正な印刷ジョブデータの次に受信した印刷ジョブデータを正常に処理するために、受信した印刷ジョブデータを記憶部の別領域に確保しておく方法が知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、常に印刷ジョブデータの先頭の識別子を検知する方法では、印刷性能が落ちてしまう問題があった。また、受信した印刷データを別領域にプールしておく方法は、省メモリ環境では領域に余裕がなく実現することが難しかった。
【０００６】
本発明は、上記に鑑みてなされたものであって、印刷速度の低下及びメモリ使用量の増大を招くことなく、不正な印刷ジョブデータの次に受信した印刷ジョブデータを正常に処理できるようにする画像処理装置、印刷ジョブ読込み方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、受信した印刷ジョブデータを記憶する記憶部と、前記印刷ジョブデータを前記記憶部から読み込み、前記印刷ジョブデータに含まれる描画データの領域を指定する指定情報を含むコマンドを検出する検出部と、前記指定情報が指定する領域と、前記指定情報に対応する前記記憶部の前記描画データの領域が一致しない場合に、前記指定情報に対応する前記記憶部の前記描画データの領域に前記印刷ジョブデータの先頭を示すデータがあるかを検索する検索部と、を備え、前記検出部は、前記指定情報に対応する前記記憶部の前記描画データの領域に、前記先頭を示すデータがある場合は、前記先頭を示すデータ以降のデータを前記印刷ジョブデータとして読み込む。
【発明の効果】
【０００８】
本発明によれば、印刷速度の低下及びメモリ使用量の増大を招くことなく、不正な印刷ジョブデータの次に受信した印刷ジョブデータを正常に処理できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態の画像処理装置と端末の接続構成の一例を示す図である。
【図２】図２は、本実施形態の画像処理装置の機能ブロックの一例を示す図である。
【図３】図３は、本実施形態の画像処理装置の印刷ジョブデータの一例を示す図である。
【図４】図４は、本実施形態の印刷ジョブ読込み方法の一例を説明するためのフローチャートである。
【図５】図５は、本実施形態の画像処理装置の印刷ジョブがキャンセルされた場合の記憶部の状態の一例を示す図である。
【図６】図６は、本実施形態の画像処理装置のコントローラ部の主要部のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、画像処理装置、印刷ジョブ読込み方法及びプログラムの実施の形態を詳細に説明する。
【００１１】
（第１の実施の形態）
はじめに、本実施形態の画像処理装置と端末との接続関係について説明する。図１は、本実施形態の画像処理装置１００と端末２００の接続構成の一例を示す図である。本実施形態の画像処理装置１００は、ネットワーク３００を介して、端末２００ａ、端末２００ｂ及び端末２００ｎと接続されている。なお、端末２００ａ、端末２００ｂ及び端末２００ｎを特に区別する必要がない場合は、単に端末２００という。画像処理装置１００は、例えば、レーザープリンタ、デジタル複合機及びインクジェットプリンタ等である。端末２００は、例えば、ＰＣ、スマートフォン、携帯電話及びタブレット端末等である。なお、ネットワーク３００の通信方式は、有線方式であっても無線方式であってもよい。また、ネットワーク３００は、有線方式及び無線方式を組み合わせて実現してもよい。
【００１２】
なお、本実施形態の説明では、画像処理装置１００と端末２００とを、ネットワーク３００を介して接続しているが、画像処理装置１００と端末２００とを、ネットワーク３００を介して接続せずに、ＵＳＢやセントロニクス通信等を使用して接続してもよい。
【００１３】
図２は、本実施形態の画像処理装置１００の機能ブロックの一例を示す図である。本実施形態の画像処理装置１００は、コントローラ部１０及びエンジン部５０を備える。コントローラ部１０は、記憶部２０、読込み制御部３０、通信部４１、入力部４２及び表示部４３を備える。本実施形態の画像処理装置１００は、ＰＣ等の端末から印刷ジョブデータを受信する。記憶部２０は、画像処理装置１００が端末２００から受信した印刷ジョブデータ２１を記憶する。ここで、印刷ジョブデータ２１の一例について説明する。
【００１４】
図３は、本実施形態の画像処理装置１００の印刷ジョブデータ２１の一例を示す図である。印刷ジョブデータ２１は、ＵＥＬ（Ｕｎｉｖｅｒｓａｌ  Ｅｘｉｔ  Ｌａｎｇｕａｇｅ）、コマンド及び描画データを含む。ＵＥＬは、印刷ジョブデータの先頭又は後尾を示すデータである。画像処理装置１００は、データの先頭を示すＵＥＬとデータの後尾を示すＵＥＬとにより挟まれたデータを、一の印刷ジョブデータ２１として認識する。描画データは、画像処理装置１００の印刷対象となるデータである。描画データ（ラスター印刷データ）は、端末２００で生成される。描画データが、コントローラ部１０により記憶部２０の描画用メモリ領域にコピーされると、エンジン部５０が、当該描画用メモリ領域を参照して印刷を実行する。コマンドは、ページの開始終了を示す情報や、描画データの領域を指定する指定情報を含む。指定情報は、例えば、描画データのサイズを指定する情報である。本実施形態の画像処理装置１００の印刷ジョブデータ２１では、描画データの直前に必ずコマンドがあるものとする。画像処理装置１００は、端末２００から受信した印刷ジョブデータ２１を記憶部２０に記憶する。画像処理装置１００は、コマンドに含まれる描画データのサイズ（指定情報）により、当該コマンドに対応する記憶部２０の描画データの領域を特定する。画像処理装置１００は、コマンドで指定されるサイズだけ描画データを一度に読み込み、描画用メモリ領域にコピーする。
【００１５】
図２に戻り、読込み制御部３０は、検出部３１及び検索部３２を備える。検出部３１は、記憶部２０から印刷ジョブデータ２１を読み込み、印刷ジョブデータに含まれる描画データの領域の指定情報を含むコマンドを検出する。検索部３２は、当該指定情報が指定する領域と、当該指定情報に対応する記憶部２０の描画データの領域が一致しない場合に、当該指定情報に対応する記憶部２０の描画データの領域に印刷ジョブデータ２１の先頭を示すデータ（ＵＥＬ）があるかを検索する。通信部４１は、ネットワーク３００を介して画像処理装置１００と接続されている端末２００とデータを送受信する。入力部４２は、画像処理装置１００を操作するためのインタフェースである。表示部４３は、画像処理装置１００の状態を表示するためのインタフェースである。エンジン部５０は、コントローラ部１０の印刷指示に基づいて印刷を実行する。
【００１６】
次に、本実施形態の印刷ジョブ読込み方法について説明する。図４は、本実施形態の印刷ジョブ読込み方法の一例を説明するためのフローチャートである。検出部３１は、印刷ジョブデータ２１の先頭を示すＵＥＬを検出する（ステップＳ１）。次に、検出部３１は、印刷ジョブデータ２１のコマンドが、正常なコマンドであるか否かを解析する（ステップＳ２）。ここで、本実施形態の画像処理装置１００におけるコマンドが正常である場合と、コマンドが異常である場合について説明する。
【００１７】
図５は、本実施形態の画像処理装置１００の印刷ジョブがキャンセルされた場合の記憶部２０の状態の一例を示す図である。図５の例では、印刷ジョブデータ２１ａ（キャンセルされた印刷ジョブデータ）と、印刷ジョブデータ２１ｂ（次の印刷ジョブデータ）が記憶されている状態を示している。印刷ジョブデータ２１ａは、印刷ジョブデータ２１ａの後尾を示すＵＥＬまで、データを受信できていない状態で記憶部２０に記憶されている。また、図５の例では、印刷ジョブデータ２１ａに連続して、印刷ジョブデータ２１ｂが記憶されている。コマンド６１は、コマンド６１により描画する描画データのサイズとして、描画データ領域６２を指定している。しかしながら、指定された描画領域の途中から、印刷ジョブデータ２１ｂが書き込まれている。検出部３１は、例えば、コマンド６１により指定された描画データ領域６２の次の領域６３に、次のコマンド又はＵＥＬがあるか否かを判定することにより、コマンド６１が正常であるか否かを判定する。そのため、図５の例では、検出部３１は、コマンド６１に含まれる指定情報により指定された描画データ領域６２の次の領域６３に、次のコマンド又はＵＥＬがないため、コマンド６１が異常であることを検出する。
【００１８】
図４に戻り、印刷ジョブデータ２１のコマンドが、正常なコマンドである場合（ステップＳ２、正常）は、検出部３１は、当該正常なコマンドの指定情報により指定された描画データを、描画用メモリ領域にコピーする（ステップＳ３）。次に、検出部３１は、次データを参照する（ステップＳ４）。次に、検出部３１は、参照したデータが、後尾を示すＵＥＬであるか否かを判定する（ステップＳ５）。後尾を示すＵＥＬである場合（ステップＳ５、Ｙｅｓ）は、当該印刷ジョブデータ２１に係る印刷ジョブの実行処理を終了する。後尾を示すＵＥＬでない（次データに次のコマンドがある）場合（ステップＳ５、Ｎｏ）は、ステップＳ２に戻る。
【００１９】
印刷ジョブデータ２１のコマンドが、異常なコマンドである場合（ステップＳ２、異常）は、検索部３２が、当該異常なコマンドの指定情報により指定された記憶部２０の描画データの領域に、次の印刷ジョブデータ２１の先頭を示すＵＥＬがあるかを検索する（ステップＳ６）。次の印刷ジョブデータ２１の先頭を示すＵＥＬがある場合（ステップＳ６、Ｙｅｓ）は、検出部３１は、検索されたＵＥＬを次に処理する印刷ジョブデータ２１の先頭として認識する（ステップＳ８）。すなわち、検出部３１は、当該検索されたＵＥＬまでのデータは読み捨てて、当該検索されたＵＥＬ以後のデータを次の印刷ジョブデータ２１として処理する（ステップＳ２に戻り、コマンドの解析処理に進む）。これにより、キャンセルされた印刷ジョブデータ２１の次に受信した印刷ジョブデータ２１を、不正な印刷ジョブデータ２１として認識せずに処理することができる。
【００２０】
次の印刷ジョブデータ２１の先頭を示すＵＥＬがない場合（ステップＳ６、Ｎｏ）は、記憶部２０の印刷ジョブデータ２１をリセットする（ステップＳ７）。図５の例では、印刷ジョブデータ２１ａ及び印刷ジョブデータ２１ｂを記憶部２０から消去する。そして、画像処理装置１００は、印刷ジョブデータ２１ｂを送信した端末２００に、印刷ジョブデータ２１ｂの受信が正常にできていないことを示すエラー通知等を行う。これにより、画像処理装置１００は、端末２００のユーザに印刷ジョブデータ２１ｂの再送信を促す。
【００２１】
図６は、本実施形態の画像処理装置１００のコントローラ部１０の主要部のハードウェア構成の一例を示す図である。本実施の形態の画像処理装置１００は、制御装置７１、主記憶装置７２、補助記憶装置７３、表示装置７４、入力装置７５及び通信装置７６を備える。制御装置７１、主記憶装置７２、補助記憶装置７３、表示装置７４、入力装置７５及び通信装置７６は、バス７７を介して互いに接続されている。
【００２２】
制御装置７１は、補助記憶装置７３から主記憶装置７２に読み出されたプログラムを実行する。主記憶装置７２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリである。補助記憶装置７３は、例えば、ハードディスクやメモリカード等である。表示装置７４は、画像処理装置１００の状態等を表示する画面である。表示装置７４は、例えば、液晶タッチパネル等である。入力装置７５は、画像処理装置１００を操作するためのインタフェースである。入力装置７５は、例えば、液晶タッチパネルやボタン等である。通信装置７６は、ネットワーク３００に接続するためのインタフェースである。
【００２３】
本実施の形態の画像処理装置１００で実行されるプログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録し、コンピュータ・プログラム・プロダクトとして提供してもよい。また、本実施の形態の画像処理装置１００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供してもよい。また、本実施の形態の画像処理装置１００で実行されるプログラムをダウンロードさせずに、インターネット等のネットワーク経由で提供、又は配布してもよい。また、本実施の形態の画像処理装置１００のプログラムを、ＲＯＭ等に予め組み込んで提供してもよい。
【００２４】
本実施の形態の画像処理装置１００で実行されるプログラムは、上述した画像処理装置１００の各機能ブロックのうち、プログラムとしても実現可能な機能ブロック（検出部３１及び検索部３２）を含むモジュール構成となっている。
【００２５】
当該モジュールは、実際のハードウェアとしては、制御装置７１が上記記録媒体からプログラムを読み出して実行することにより、上記各モジュールが主記憶装置７２上にロードされる。すなわち、上記各モジュールは、主記憶装置７２上に生成される。なお、画像処理装置１００の各機能ブロックの一部、又は全部を、プログラムにより実現せずに、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【００２６】
以上のように、本実施形態の画像処理装置１００では、検索部３２が、コマンドに含まれる指定情報が指定する領域と、当該指定情報に対応する記憶部２０の描画データの領域が一致しない場合に、当該指定情報に対応する記憶部２０の描画データの領域に印刷ジョブデータの先頭を示すデータ（ＵＥＬ）があるかを検索する。そして、検出部３１は、当該指定情報に対応する描画データの領域に先頭を示すデータがある場合は、先頭を示すデータ以降のデータを印刷ジョブデータ２１として読み込む。
【００２７】
すなわち、本実施形態の画像処理装置１００は、一の印刷ジョブデータ２１の処理中では、不正なコマンドを検出した場合にのみ、次に処理する印刷ジョブデータ２１の先頭を示す情報（ＵＥＬ）を検索する。これにより、本実施形態の画像処理装置１００は、一の印刷ジョブデータ２１の処理中に、常に印刷ジョブデータ２１の先頭を示す情報を検索する必要がない。また、次に処理する印刷ジョブデータ２１を正常に処理するために、当該次に処理する印刷ジョブデータ２１を、記憶部２０の別領域に確保しておくような処理が必要ない。
【００２８】
本実施形態の画像処理装置１００によれば、印刷速度の低下及びメモリ使用量の増大を招くことなく、不正な印刷ジョブデータの次に受信した印刷ジョブデータを正常に処理することができる。
【符号の説明】
【００２９】
１０  コントローラ部
２０  記憶部
２１，２１ａ，２１ｂ  印刷ジョブデータ
３０  読込み制御部
３１  検出部
３２  検索部
４１  通信部
４２  入力部
４３  表示部
５０  エンジン部
６１  コマンド
６２  描画データ領域
６３  領域
７１  制御装置
７２  主記憶装置
７３  補助記憶装置
７４  表示装置
７５  入力装置
７６  通信装置
７７  バス
１００  画像処理装置
２００，２００ａ〜２００ｎ  端末
３００  ネットワーク
【先行技術文献】
【特許文献】
【００３０】
【特許文献１】特許第２８９５０５５号公報
【図１】
2014221545.tif 000003
【図２】
2014221545.tif 000004
【図３】
2014221545.tif 000005
【図４】
2014221545.tif 000006
【図５】
2014221545.tif 000007
【図６】
2014221545.tif 000008