(57)【要約】      （修正有）【課題】エラーによるデータの欠落等を回避するため、送信端末である情報処理端末、受信端末である画像形成装置、通信回線等の状況に合わせて自動的に通信速度を調整する画像形成装置を提供する。【解決手段】第１の通信速度で印刷データを受信する受信部３３０と、受信した印刷データのエラーを検出する検出部３００と、を有し受信部３３０は、エラーを検出すると印刷処理を中止すると共に、印刷データの通信速度を、前記第１の通信速度より遅い第２の通信速度に変更する。【選択図】図２
2016175214.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信速度で印刷データを受信する受信部と、
受信した前記印刷データのエラーを検出する検出部と、を有し
前記受信部は、前記エラーを検出すると印刷処理を中止すると共に、前記印刷データの通信速度を、前記第１の通信速度より遅い第２の通信速度に変更する画像形成装置。
【請求項２】
前記エラーを検出した回数が所定の回数を上回る場合に、前記通信速度を、前記第２の通信速度に変更する請求項１に記載の画像形成装置。
【請求項３】
前記受信部が、前記通信速度を、前記第２の通信速度に変更した際に、使用者に前記通信速度の変更を通知する通知部を有する請求項１又は２に記載の画像形成装置。
【請求項４】
前記検出部は、前記印刷データに含まれるページ記述言語を解析することにより前記エラーを検出する請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項５】
前記エラーの検出を使用者に通知する通知部と、
前記使用者の指示を受け付けて印刷の処理を中止する受付部とを有する請求項１乃至４のいずれか一項に記載の画像形成装置。
【請求項６】
前記検出部は、前記印刷データの欠落により、正常に出力画像を形成できない場合、前記エラーと検出する請求項１乃至５のいずれか一項に記載の画像形成装置。
【請求項７】
前記検出部は、出力するページ数が、前記印刷データにより通知されたページ数を上回った場合、前記エラーと検出する請求項１乃至５のいずれか一項に記載の画像形成装置。
【請求項８】
前記受信部は、ＵＳＢインタフェースを介して、前記印刷データを受信し、
前記検出部は、受信された前記印刷データのトグルエラーを検出した場合に、印刷処理を中止する請求項１乃至７のいずれか一項に記載の画像形成装置。
【請求項９】
第１の通信速度で印刷データを画像形成装置に送信する送信部と、
前記送信した前記印刷データのエラーにより印刷処理を中止した旨の通知を、前記画像形成装置より受信する受信部と、を有し
前記送信部は、前記通知を受信すると、前記印刷データの通信速度を、前記第１の通信速度より遅い第２の通信速度に変更する情報処理装置。
【請求項１０】
印刷データを受信するステップと、
受信した前記印刷データのエラーを検出するステップと、を有し
前記受信するステップにおいて、前記エラーを検出すると印刷処理を中止すると共に、前記印刷データの通信速度を、前記第１の通信速度より遅い第２の通信速度に変更する画像形成方法。
【請求項１１】
画像形成装置に、請求項１０に記載の画像形成方法を実行させるプログラム。
【請求項１２】
画像形成装置に、請求項１０に記載の画像形成方法を実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理装置、画像形成方法、プログラム、及び、記憶媒体に関する。
【背景技術】
【０００２】
ＵＳＢ接続では、トグルビット（ｔｏｇｇｌｅ  ｂｉｔ）を用いてデータの送受信を行っている。送信側端末と、受信側端末との両方でトグルビットという１ビットの領域を用いてデータの送受信を行うように構成されている。ＵＳＢ接続で通信を開始する時に、送信側端末と、受信側端末とで保持しているトグルビットを同期させる。その後、受信側端末は、データを正常に受信できた度にトグルビットを反転させる。送信側端末は、受信側端末からデータの送達確認を示すＡｃｋ信号を受信する度にトグルビットを反転させる。
【０００３】
ＵＳＢ接続で通信を開始する時に、送信側端末と受信側端末とでトグルビットを「０」に設定する場合の動作を例説明する。データの送信を開始する前に、送信側端末と受信側端末とは保持するトグルビットの状態を「０」に設定する。送信側端末は、保持しているトグルビットの状態である「０」を送信データに設定してデータを送信する。受信側端末は受信したデータのトグルビットと保持しているトグルビットの状態を比較する。この場合、受信したデータのトグルビットと、受信したデータのトグルビットは共に「０」である。このため、受信側端末は正常にデータを受信したと判断し、保持しているトグルビットの状態を「０」から「１」に反転させる。
【０００４】
その後、受信側端末は、Ａｃｋ信号にトグルビット「１」を設定して送信側端末に送信する。送信側端末は、Ａｃｋ信号を受信すると保持しているトグルビットの状態とＡｃｋ信号のトグルビットを比較する。受信端末は、保持しているトグルビットの状態が「０」でＡｃｋ信号のトグルビットが「１」であることを確認する。送信端末は、Ａｃｋ信号のトグルビットが送信データのトグルビットから反転しているため、正常にデータが受信されたと判断する。正常にデータが受信されたと判断できた場合、送信側端末は、トグルビットの状態を「０」から「１」に反転させる。上記のように、送信端末と、受信端末とがトグルビットを用いてデータの送達確認を行っている。
【０００５】
トグルビットの値が同じデータを連続して受信した場合、受信端末は、エラー（データトグルエラー）が発生したと認識し、受信したデータを破棄し、データの再送処理が行われるのを待つ。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、高速で通信している場合にトグルビットの不正が発見されても、受信側が受信データを破棄し、かつ、送信端末からデータを再送しない場合があり、この場合には、受信側で受信データを破棄しているため、一部データが欠落してしまう。ＵＳＢ接続にて、ＰＣ等の情報処理端末が画像形成装置に印刷ジョブデータを送信した際にこのようなデータの欠落があると、印刷ジョブデータの一部欠落により印刷ジョブがキャンセルとなる場合と、異常な印刷結果が出力される場合とがあった。
【０００７】
本発明の１つの側面は、エラーによるデータの欠落に起因して発生する不都合を回避しつつ、送信端末である情報処理端末、受信端末である画像形成装置、及び通信回線等の状況に合わせて自動的に通信速度を調整することにより、より安定的に画像形成処理を行うことを目的とする。
【課題を解決するための手段】
【０００８】
本実施形態に係る画像形成装置は、第１の通信速度で印刷データを受信する受信部と、受信した前記印刷データのエラーを検出する検出部と、を有し前記受信部は、前記エラーを検出すると印刷処理を中止すると共に、前記印刷データの通信速度を、前記第１の通信速度より遅い第２の通信速度に変更する。
【発明の効果】
【０００９】
本実施形態に係る画像形成装置によれば、エラーによるデータの欠落に起因して発生する不都合を回避しつつ、送信端末である情報処理端末、受信端末である画像形成装置、及び通信回線等の状況に合わせて自動的に通信速度を調整することにより、より安定的に画像形成処理を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係るシステム全体構成の一例を示す図である。
【図２】本実施形態に係る、画像処理装置の機能構成の一例を示す図である。
【図３】本実施形態における、ＵＳＢ通信部の通信速度設定手順の一例を示す図である。
【図４】本実施形態におけるＵＳＢ通信部の通信速度設定手順の一例を示す図である。
【図５】本実施形態におけるＰＤＬ部のデータトグルエラー検出時の処理手順の一例を示す図である。
【図６】本実施形態におけるＰＤＬ部のデータトグルエラー検出時の処理手順の一例を示す図である。
【図７】本実施形態におけるＰＤＬ部のデータトグルエラー検出時の処理手順の一例を示す図である。
【図８】本実施形態におけるデータトグルエラーが発生した場合の印刷ジョブデータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について説明する。
【００１２】
＜第１実施形態＞
以下、実施形態について図面を参照しながら説明する。
【００１３】
＜システム全体構成＞
図１は、本実施形態に係るシステム全体構成の一例を示す図である。
【００１４】
本実施形態に係る、印刷処理システム１は、情報処理装置１００と、画像処理装置２００とを有する。情報処理装置１００と画像処理装置２００は、無線、又は有線で接続される。有線で接続される際に、情報処理装置１００と画像処理装置２００は、ＵＳＢケーブルで接続されてもよい。
【００１５】
情報処理装置１００は、例えば、パソコン、スマートフォン、又はタブレット等である。
【００１６】
画像処理装置２００は、例えば、プリンタ、又は複合機等である。
【００１７】
＜ハードウェア構成＞
図１を用いて、情報処理装置１００と画像処理装置２００のハードウェア構成について説明する。
【００１８】
情報処理装置１００は、記憶装置１１０と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２０と、主記憶装置（メモリ）１３０と、ネットワークインタフェース（ネットワークＩ／Ｆ）１４０と、ＵＳＢインタフェース（ＵＳＢ  Ｉ／Ｆ）１５０とを有する。
【００１９】
記憶装置１１０は、アプリケーション、印刷システムを含むＯＳ、及びプリンタドライバ等のデータを保存している。
【００２０】
ＣＰＵ１２０は、他のハードウェアと連携して情報処理装置１００の各種制御を行う。
【００２１】
メモリ１３０は、ＣＰＵ１２０の駆動に用いられるプログラムを記憶したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＰＵ１２０のワークエリアとして使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、及びＣＰＵ１２０の制御にしたがってフラッシュメモリに対する各種データの読み出し又は書き込みを制御するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等から成る。
【００２２】
ネットワークＩ／Ｆ１４０は、情報処理装置１００が、外部機器と有線、無線で接続される場合に用いられ、有線ＬＡＮ、無線ＬＡＮとの接続機能を有する。
【００２３】
ＵＳＢ  Ｉ／Ｆ１５０は、外部機器とＵＳＢケーブルを用いて接続し、データの送受信を行う場合、或いは、ＵＳＢメモリを接続し、データの送受信を行う場合に用いられる。
【００２４】
画像処理装置２００は、記憶装置２１０と、ＣＰＵ２２０と、主記憶装置（メモリ）２３０と、ＵＳＢ  Ｉ／Ｆ２４０と、操作パネル２５０と、画像処理エンジン２６０と、ネットワークインタフェース（ネットワーク  Ｉ／Ｆ）２７０とを有する。
【００２５】
記憶装置２１０は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）、Ｆｌａｓｈ  ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、又はＵＳＢメモリ等のデータを記憶可能なハードウェアが用いられる。記憶装置２１０には、画像処理装置２００を制御するソフトウェアが記憶される。複合機の場合、記憶装置２１０に、コピー機能、ＦＡＸ機能、スキャナ機能、プリンタ機能、ユーザ認証機能、及び課金機能等のプログラムが記憶される。
【００２６】
また、記憶装置２１０は、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を含む本体制御ソフトウェアを記憶する。
【００２７】
本体制御ソフトウェアは、画像処理エンジン２６０、記憶装置２１０、及びメモリ２３０等を制御し、画像処理装置２００が提供するプリンタ機能等を実現する。また、本体制御ソフトウェアは、操作パネル２５０、ネットワークＩ／Ｆ２７０、及びＵＳＢ  Ｉ／Ｆ２４０を機能させ、外部機器との通信制御、操作パネル２５０の制御を行う。
【００２８】
ＣＰＵ２２０は、他のハードウェアと連携して画像処理装置２００の各種制御を行う。
【００２９】
メモリ２３０は、ＣＰＵ２２０の駆動に用いられるプログラムを記憶したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＰＵ２２０のワークエリアとして使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＣＰＵ２２０の制御にしたがってフラッシュメモリに対する各種データの読み出し又は書き込みを制御するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等を有する。
【００３０】
ＵＳＢ  Ｉ／Ｆ２４０は、外部機器とＵＳＢケーブルを用いて接続し、データの送受信を行う場合、又はＵＳＢメモリを接続し、データの送受信を行う場合に用いられる。
【００３１】
操作パネル２５０は、ユーザからの指示を受け付け、指示内容をＣＰＵ２２０に通知し、指示に応じた処理を起動させる。加えて、操作パネル２５０は、画像処理装置２００に関する各種情報を表示する。
【００３２】
画像処理エンジン２６０は、ＣＰＵ２２０により制御され、コピー、プリンタ、スキャナ、及びＦＡＸ等の機能を提供するための各種画像処理を行う。
【００３３】
ネットワーク  Ｉ／Ｆ２７０は、画像処理装置２００が、外部機器と、有線ＬＡＮ、又は無線ＬＡＮと接続する機能を提供する。
＜機能構成＞
図２は、本実施形態に係る、画像処理装置２００の機能構成の一例を示す図である。
【００３４】
本実施形態に係る画像処理装置２００は、ＰＤＬ（Ｐａｇｅ  ＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ）部３００と、プリンタ制御部３１０と、受信バッファ３２０と、ＵＳＢ通信部３３０と、ネットワーク通信部３４０と、パネル制御部３５０と、メカ制御部３６０と、サービス層機能部３７０と、オペレーティングシステム（ＯＳ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）３８０とを有する
ＰＤＬ部３００は、受信バッファ３２０内の印刷ジョブデータを解釈し、描画データを生成する。
【００３５】
プリンタ制御部３１０は、プリンタ全体の制御を行う。具体的には、受信バッファ３２０で保持している印刷ジョブデータを取得し、ＰＤＬ部３００に送り、ＰＤＬ部３００からの指示を受けて画像処理装置２００に対して各種制御を行う。加えて、プリンタ制御部３１０は、パネル制御部３５０を介してユーザからの指示を取得し、画像処理装置２００に対して各種制御を行うと共に、パネル制御部３５０に対して、画像処理装置２００に関する各種情報を表示する指示を行う。プリンタ制御部３１０は、メカ制御部３６０に印刷の指示を行う。
【００３６】
ＵＳＢ通信部３３０は、ＵＳＢケーブルを介した外部機器との通信、又は画像処理装置２００に接続されたＵＳＢメモリとの通信を行う。具体的には、ＵＳＢ通信部３３０は、外部機器、又はＵＳＢケーブルから印刷ジョブデータを取得する。ここで、ＵＳＢ通信部３３０は、ハイスピードモード（ＨＳモード）、フルスピードモード（ＦＳモード）、又はロースピードモード（ＬＳモード）で通信可能である。ＵＳＢ通信部３３０は、ＨＳモードの場合４８０Ｍｂｐｓで通信し、ＦＳモードの場合１２Ｍｂｐｓで通信し、ＬＳモードの場合１．５Ｍｂｐｓで通信する。ＵＳＢ通信部３３０は、受信した印刷ジョブデータを受信バッファ３２０に渡す。
【００３７】
ネットワーク通信部３４０は、外部機器との間で有線、又は無線で通信を行い、印刷ジョブデータを取得する。ネットワーク通信部３４０は、受信した印刷ジョブデータを受信バッファ３２０に渡す。
【００３８】
受信バッファ３２０は、ＵＳＢ通信部３３０とネットワーク通信部３４０とから印刷ジョブデータを取得しＰＤＬ部３００に渡す。また、受信バッファ３２０は、印刷ジョブデータをＰＤＬ部３００に渡すまでの間、印刷ジョブデータを保存する。
【００３９】
パネル制御部３５０は、画像処理装置２００に関する各種情報を表示する。また、パネル制御部３５０は、ユーザからの画像処理装置２００に対する指示を受け付け、プリンタ制御部３１０に指示内容を通知する。
【００４０】
メカ制御部３６０は、プリンタ制御部３１０からの指示を受けて、印刷等に関する処理を実行する。
【００４１】
サービス層機能部３７０は、サービス層の上位で動作するＵＳＢ通信部３３０と、ネットワーク通信部３４０と、パネル制御部３５０と、メカ制御部３６０とに対してサービス層の機能を提供する。具体的には、サービス層機能部３７０は、サービス層機能部３７０の上位で動作する機能部からの指示を、オペレーティングシステム３８０に通知する。この時に、サービス層機能部３７０は、指示を通知するタイミング等の調整を行ってもよい。加えて、サービス層機能部３７０は、オペレーティングシステム３８０から、各機能部への指示を受信し、該指示を核機能部に分配する。
【００４２】
オペレーティングシステム３８０は、サービス層機能部３７０を介して、上位で動作する機能部から、画像処理装置２００に対する指示を受信し、関連するソフトウェアと、ハードウェアとを動作させる。また、オペレーティングシステム３８０は、ソフトウェアと、ハードウェアとの処理結果を、サービス層機能部３７０を介して上位で動作する機能部に通知する。
【００４３】
＜動作手順＞
（１）ＵＳＢ通信部３３０の速度設定
図３を参照して、ＵＳＢ通信部３３０の速度設定手順について説明する。図３は本実施形態における、ＵＳＢ通信部３３０の通信速度設定手順の一例を示す図である。
【００４４】
ステップＳ３０１で、画像処理装置２００は、ＵＳＢ通信部３３０が情報処理装置１００と通信速度の設定値を確認する。ＦＳモードに設定されている場合（Ｙｅｓ）は、ステップＳ３０３に進む。ＦＳモードに設定されていない場合（Ｎｏ）、ステップＳ３０２に進む。
【００４５】
ステップＳ３０２で、画像処理装置２００は、ＨＳモード、ＦＳモード、又はＬＳモードのいずれかの通信モードで通信する。
【００４６】
ステップＳ３０３で、画像処理装置２００は、ＦＳモード、又はＬＳモードで通信する。
【００４７】
なお、情報処理装置１００側にトグルビットエラーが発生する原因がある場合、ＦＳモード、又はＬＳモードで動作させることによりデータトグルエラーが発生するのを避けることができる。低速で通信することにより、データの送受信の通信環境と情報処理装置１００の動作が安定するためである。
【００４８】
（２）データトグルエラー検出時の動作
図４は、本実施形態におけるＵＳＢ通信部３３０の通信速度設定手順の一例を示す図である。
【００４９】
ステップＳ４０１で、ＵＳＢ通信部３３０は、情報処理装置１００から転送されたデータを受信する。
【００５０】
ステップＳ４０２で、ＵＳＢ通信部３３０は、情報処理装置１００からのデータ転送が終了したか確認する。データ転送が終了した場合（Ｙｅｓ）、ＵＳＢ通信部３３０は処理を終了する。データ転送が終了していない場合（Ｎｏ）、ステップＳ４０３に進む。
【００５１】
ステップＳ４０３で、ＵＳＢ通信部３３０は、受信したデータにデータトグルエラーが発生しているか確認する。具体的には、ＵＳＢ通信部３３０は、同一の値がトグルビットに設定されている連続するデータを受信したか確認する。同一の値がトグルビットに設定されている連続するデータを受信した場合、ＵＳＢ通信部３３０は、データトグルエラーを検出する。
【００５２】
ＵＳＢ通信部３３０が、データトグルエラーを検出しない場合（Ｎｏ）、ステップＳ４０１に戻る。ＵＳＢ通信部３３０が、データトグルエラーを検出した場合（Ｙｅｓ）、ステップＳ４０４に進む。
【００５３】
ステップＳ４０４で、ＵＳＢ通信部３３０は、データトグルエラーが発生したデータを破棄する。例えば、ＵＳＢ通信部３３０は、同一の値がトグルビットに設定されている２つのデータを受信した場合、後から受信したデータを破棄する。そして、ＵＳＢ通信部３３０は、情報処理装置１００にデータトグルエラーが発生したことを通知する。例えば、ＵＳＢ通信部３３０は、否定応答信号（ＮＡＣＫ）信号を送信する。
【００５４】
ＵＳＢ通信部３３０は、この場合に、情報処理装置１００にデータの再送要求をしてもよい。ＵＳＢの仕様上は、送信側端末は、データトグルエラーが発生した旨の通知を受けるとデータの再送を行うが、仕様通りに動作するかは送信側端末の設定に依存する。
【００５５】
ＵＳＢ通信部３３０が、情報処理装置１００にデータトグルエラーが発生したことを通知した後に、ステップＳ４０５に進む。
【００５６】
ステップＳ４０５で、ＵＳＢ通信部３３０は、データトグルエラーが発生した場所を、受信バッファ３２０に通知する。受信バッファ３２０は、ＵＳＢ通信部３３０から通知されたデータトグルエラーが発生した場所を受信バッファ３２０上の位置と対応づけて記憶し、該位置を、プリンタ制御部３１０を介してＰＤＬ部３００に通知する。ステップＳ４０１の処理に戻り、ＵＳＢ通信部３３０は、情報処理装置１００から転送されるデータの受信処理を継続する。
【００５７】
（３）データトグルエラー発生時の処理（その１）
図５を参照して、ＰＤＬ部３００におけるデータトグルエラー検出時の処理手順について説明する。図５は、本実施形態におけるＰＤＬ部３００のデータトグルエラー検出時の処理手順の一例を示す図である。
【００５８】
ステップＳ５０１で、ＰＤＬ部３００は、受信バッファ３２０上のデータをパースする。ここで、ＰＤＬ部３００によるパースとは、Ｐａｇｅ  ＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅに従って、受信バッファ３２０上のデータを分析することである。
【００５９】
ステップＳ５０２で、ＰＤＬ部３００は、パースの結果、コマンドエラー若しくはパラメータエラーが発生しているか確認する。コマンドエラー若しくはパラメータエラーが発生している場合（Ｙｅｓ）、ステップＳ５０３に進む。一方、コマンドエラーとパラメータエラーとが発生していない場合（Ｎｏ）、ステップＳ５０８に進む。
【００６０】
ステップＳ５０３で、ＰＤＬ部３００は、パースした受信バッファ３２０上でデータトグルエラーが発生しているか確認する。データトグルエラーが発生していない場合（Ｎｏ）、ステップＳ５０４に進む。データトグルエラーが発生している場合（Ｙｅｓ）、ステップＳ５０５に進む。
【００６１】
ステップＳ５０４で、画像処理装置２００は、自動的に印刷ジョブキャンセル処理を実行する。
【００６２】
ステップＳ５０５で、ＰＤＬ部３００は、ステップＳ５０３で確認したデータトグルエラーの発生回数を、データトグルエラー発生回数を記憶するカウンタに加算する。ここで、カウンタは、所定期間のデータトグルエラー発生回数を通信モード毎にカウントする。
【００６３】
ステップＳ５０６で、ＰＤＬ部３００は、カウンタに記憶された値を、予め設定されている所定の閾値と比較する。カウンタに記憶された値が、閾値を超えている場合（Ｙｅｓ）は、ステップＳ５０７に進む。閾値を超えていない場合（Ｎｏ）は、ステップＳ５０４に進み、自動的に印刷ジョブキャンセル処理を実行する。
【００６４】
ステップＳ５０７で、画像処理装置２００のＵＳＢの通信モードがＨＳモードの場合、ＰＤＬ部３００は、ＵＳＢの通信モードをＦＳモードに変更するようＵＳＢ通信部３３０に指示する。ＵＳＢ通信部３３０は、指示を受けてＵＳＢ通信モードをＦＳモードに変更する。また、操作パネル２５０にＵＳＢの通信モードをＦＳモードに変更した旨の表示をしてもよい。ここで、操作パネル２５０にＵＳＢの通信モードを変更した旨の表示と併せて、データトグルエラーの発生率が高い旨の表示をしてもよい。画像処理装置２００は、ステップＳ５０７の処理を終了後、ステップＳ５０４に進み、自動的に印刷ジョブキャンセル処理を実行する。
【００６５】
次に、ステップＳ５０２で、コマンドエラーとパラメータエラーが発生していないため、ステップＳ５０８に進む場合について説明する（Ｓ５０２  Ｎｏ）。
【００６６】
ステップＳ５０８で、ＰＤＬ部３００は、通常のコマンドとパラメータ処理を行い、ステップＳ５０９に進む。
【００６７】
ステップＳ５０９で、ＰＤＬ部３００は、印刷ジョブデータが終了しているか確認する。確認の結果、印刷ジョブデータが終了している場合（Ｙｅｓ）、画像処理装置２００は、処理を終了する。一方、確認の結果、印刷ジョブデータが終了していない場合（Ｎｏ）、ステップＳ５０１に戻り、画像処理装置２００は、処理を継続する。
【００６８】
上記の手順を実行することにより、データトグルエラーの発生回数が多い場合には、次回の印刷からＵＳＢの通信モードをＨＳモードからＦＳモードに変更することができる。ＨＳモードより低速なＦＳモードで通信することにより、データの送受信の通信環境と情報処理装置１００の動作が安定し、データトグルエラーが発生する頻度が減ることが期待できる。
【００６９】
なお、所定の閾値と所定の期間は、画像処理装置２００に設定され得る。
【００７０】
（４）データトグルエラー発生時の処理（その２）
図６は、本実施形態におけるＰＤＬ部３００のデータトグルエラー検出時の処理手順の一例を示す図である。図５と共通する部分については説明を省略し、異なる部分を中心に説明する。
【００７１】
図６は、ユーザが異常出力を発見し、パネル制御部３５０に印刷ジョブのキャンセルを指示する場合の手順を示す図である。
【００７２】
ステップＳ６０１で、ＰＤＬ部３００は、受信バッファ３２０上のデータをパースする。
【００７３】
ステップＳ６０２で、パネル制御部３５０は、ユーザから印刷ジョブのキャンセル指示を受けたか確認する。印刷ジョブのキャンセル指示を受けた場合（Ｙｅｓ）、ステップＳ６０３に進む。印刷ジョブのキャンセルを受けていない場合（Ｎｏ）、ステップＳ６０８に進む。
【００７４】
例えば、データトグルエラーによりデータが欠損した場合、印刷ジョブの出力に異常が発生する。この印刷ジョブの出力異常をユーザが認識し、印刷中に印刷ジョブキャンセルをする場合がある。
【００７５】
データトグルエラーによりデータが欠損した場合、画像処理装置２００が大量の印刷ジョブデータをテキストとして出力する可能性があるため、パネル制御部３５０がユーザからの印刷キャンセル指示を受け付けられるようにすることが好ましい。
【００７６】
以降の手順については図５と同じのため説明を省略する。
【００７７】
印刷ジョブのキャンセル指示を受けた場合にも、データトルグエラーの発生を確認することにより、画像処理装置２００が、必要に応じて次回印刷データを受信する時のＵＳＢの通信モードを調整することが可能となる。
【００７８】
（５）データトグルエラー発生時の処理（その３）
図７は、本実施形態におけるＰＤＬ部３００のデータトグルエラー検出時の処理手順の一例を示す図である。図５及び図６と共通する部分については説明を省略し、異なる部分を中心に説明する。
【００７９】
図７は、印刷ジョブを実行中に、出力ページ数が印刷ジョブの総ページ数を超える場合の手順を示す図である。
【００８０】
ステップＳ７０１で、ＰＤＬ部３００は、受信バッファ３２０上のデータをパースする。
【００８１】
ステップＳ７０２で、ＰＤＬ部３００は、ＰＤＬ部３００で処理中のページが印刷ジョブの総ページ数を超えているか確認する。具体的には、ＰＤＬ部３００は、処理中の印刷ジョブの印刷中のページ数が、印刷ジョブデータの最初で通知された総ページ数を超えているか確認する。
【００８２】
印刷ジョブデータの最初で通知された総ページ数を超えている場合（Ｙｅｓ）、ステップＳ７０３に進む。印刷ジョブデータの最初で通知された総ページ数を超えていない場合（Ｎｏ）、ステップＳ７０８に進む。
【００８３】
データトグルエラーによりデータが欠損した場合、画像処理装置２００が大量の印刷ジョブデータをテキストとして出力する可能性がある。このため、印刷ジョブデータの総ページ数を確認することにより、大量の印刷ジョブデータが出力されるのを防ぐ。
【００８４】
以降の手順については図５と同じのため説明を省略する。
【００８５】
データトグルエラーにより印刷ジョブデータの最初で通知された総ページ数を超える出力を回避できる。加えて、データトルグエラーの発生を確認することにより、画像処理装置２００は、必要に応じて次回以降のＵＳＢの通信モードを調整することが可能となる。
【００８６】
＜データトグルエラーの発生例＞
図８は、本実施形態におけるデータトグルエラーが発生した場合の印刷ジョブデータの一例を示す図である。図８（ａ）は、データトグルエラーにより、先頭５１２ｂｙｔｅ分のデータが欠けた場合を示す図である。図８（ｂ）は、データトグルエラーにより、印刷ジョブデータの途中で５１２ｂｙｔｅ分のデータが欠けた場合を示す図である。
【００８７】
上述したように、ＵＳＢ通信部３３０は、同一の値がトグルビットに設定されている連続するデータを受信した場合、データトグルエラーが発生していると判断し、データを破棄する。
【００８８】
図８（ａ）の場合、ＰＤＬ部３００は、データトグルエラーにより、印刷ジョブデータの先頭の５１２ｂｙｔｅ分のデータがＵＳＢ通信部３３０により破棄されたことを検出する。印刷ジョブデータの先頭の５１２ｂｙｔｅのデータが欠けているため、画像処理装置２００は、印刷ジョブをキャンセルする。印刷ジョブのキャンセル後、画像処理装置２００は、必要に応じて次回以降のＵＳＢの通信モードを変更する。
【００８９】
図８（ｂ）の場合も同様に、ＰＤＬ部３００は、データトグルエラーにより、印刷ジョブデータの途中で５１２ｂｙｔｅ分のデータがＵＳＢ通信部３３０に破棄されたことを検出する。印刷ジョブデータの途中で５１２ｂｙｔｅ分のデータが欠けているため、画像処理装置２００は、印刷ジョブをキャンセルする。印刷ジョブのキャンセル後、画像処理装置２００は、必要に応じて次回以降のＵＳＢの通信モードを変更する。
【００９０】
＜その他＞
上記の実施形態では、データトグルエラーが発生した場合に、画像処理装置２００が、ＵＳＢの通信モードをＨＳモードからＦＳモードに変更する例を説明したが、ＵＳＢの通信モードをＨＳモードからＬＳモードに変更してもよいし、ＦＳモードからＬＳモードに変更してもよい。
【００９１】
複数のデータトグルエラー発生時の処理について説明したが、これらの処理は１つの処理フロー内で実施してもよい。例えば、画像処理装置２００は、「コマンドエラーもしくはパラメータエラーが発生したか」の判断と、「印刷ジョブのキャンセル指示を受け付けたか」の判断と、「処理中のページ数が印刷ジョブの総ページ数を上まわるか」の判断とを行い、１つでも当てはまる場合には印刷ジョブにデータトグルエラーが発生しているか確認してもよい。
【００９２】
また、データトグルエラーが発生しない場合、又は、データトグルエラーの発生率が低い場合に、画像処理装置２００は、ＵＳＢの通信モードを速い通信速度に対応する通信モードに変更してもよい。例えば、画像処理装置２００は、ＵＳＢの通信モードをＬＳモードから、ＦＳモード、又は、ＨＳモードに変更してもよい。また、画像処理装置２００は、ＵＳＢの通信モードをＦＳモードからＨＳモードに変更してもよい。
【００９３】
上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、画像処理装置２００に供給してもよい。そして、その画像処理装置２００のコンピュータ（またはＣＰＵまたはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、上述の実施形態が達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は、いずれかの実施の形態を構成することになる。ここで、記憶媒体は、記録媒体または非一時的な記憶媒体でもよい。
【００９４】
また、コンピュータ装置が読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に従って、コンピュータ装置上で起動しているオペレーティングシステム（ＯＳ）等が実際の処理の一部または全部を行ってもよい。さらに、その処理によって前述した実施形態の機能が実現されてもよいことは言うまでもない。
【００９５】
以上、本発明の好ましい実施形態について説明したが、本発明はこうした実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００９６】
１    印刷処理システム
１００    情報処理装置
２００    画像処理装置
２４０    ＵＳＢインタフェース
３００    ＰＤＬ部
３１０    プリンタ制御部
３２０    受信バッファ
３３０    ＵＳＢ通信部
【先行技術文献】
【特許文献】
【００９７】
【特許文献１】特開２００７−１７２１６０号公報
【図１】
2016175214.tif 000003
【図２】
2016175214.tif 000004
【図３】
2016175214.tif 000005
【図４】
2016175214.tif 000006
【図５】
2016175214.tif 000007
【図６】
2016175214.tif 000008
【図７】
2016175214.tif 000009
【図８】
2016175214.tif 000010