JP2004015214A - Image processing device, its control method, program, and information storage medium - Google Patents

Image processing device, its control method, program, and information storage medium Download PDF

Info

Publication number
JP2004015214A
JP2004015214A JP2002163180A JP2002163180A JP2004015214A JP 2004015214 A JP2004015214 A JP 2004015214A JP 2002163180 A JP2002163180 A JP 2002163180A JP 2002163180 A JP2002163180 A JP 2002163180A JP 2004015214 A JP2004015214 A JP 2004015214A
Authority
JP
Japan
Prior art keywords
data
unit
processing apparatus
image processing
state information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002163180A
Other languages
Japanese (ja)
Inventor
Ryoji Kayatani
鹿屋谷 亮治
Makoto Satake
佐竹 眞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002163180A priority Critical patent/JP2004015214A/en
Publication of JP2004015214A publication Critical patent/JP2004015214A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that an operating condition and a status condition of a data processing unit cannot be recognized, when a facsimile device is composed not to analyze data sent from an external device by the reason that one of main control units cannot receive appropriate data to recognize the operating condition and the status condition of the data processing unit, when the data processing unit is operated under the control of the other of the main control units. <P>SOLUTION: The facsimile device is connected to the external processing device by a physical interface of the USB (universal serial bus). The image processing device comprises a status information request receiving means for receiving a reception instruction from the external processing device requesting the status information, with respect to the status condition of the data processing unit via a first interface means, status information request transmitting means for periodically transmitting a transmission instruction of the status information received by the status information request receiving means, status information acquiring means for acquiring the status information via a second interface means, and a status information transmitting means for transmitting the status information, acquired by the status information acquiring means, to the external device. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置及び画像処理装置の制御方法、プログラム及び記憶媒体に関し、さらに詳細には外部処理装置に接続されるファクシミリ装置としての画像処理装置等に関する。
【0002】
【従来の技術】
パーソナルコンピュータ等の外部処理装置に接続可能なファクシミリ装置として、特開平7−288625号公報等に記載されているように、セントロニクス等の双方向パラレルポート(IEEE1284準拠)インタフェース、または、ユニバーサルシリアルバス(UniversalSerialBus、USB)インタフェースで接続するファクシミリ装置が知られている。この従来のファクシミリ装置と外部処理装置とによって構成されている画像処理システムでは、ファクシミリ装置と外部処理装置との接続形態は、単一の物理インタフェース上には、単一の論理インタフェースしか設けていなかった。また、ファクシミリ装置内部の主制御部とデータ処理部は、片方向パラレル通信及び双方向シリアルインタフェースで接続されていた。
【0003】
上記の構成を持ち、かつプリンタ、スキャナ、ファクシミリ通信等の複数の機能を併せ持つ複合ファクシミリ装置を外部処理装置で制御しようとした場合、外部処理装置では本来の制御コマンドに対し、プリンタ、スキャナ、ファクシミリ通信等の機能を特定するヘッダ情報を制御コマンドの先頭に付加・編集した上でパケット化し、そのパケット化したデータを複合ファクシミリ装置に送信する必要があった。
【0004】
また、外部処理装置に接続されていない上記ファクシミリ装置において、その機能を実行させる際、装置の主制御部は、その機能の実行対象となるデータ処理部の動作状態、エラー状況など(以下、状況情報)をリアルタイムで知るために、データ処理部にその状況情報の返送を要求する命令(以下、状況情報取得要求)を発行する。同様に、主制御部が常時各データ処理部の状態をリアルタイムで把握する必要がある場合も、主制御部は周期的に状況情報取得要求をデータ処理部に発行する。発行後、主制御部はデータ処理部からの状況情報取得要求に対して返送された情報から、その使用状況、状態状況を認識し、以後の動作を決定する。
【0005】
同様に外部処理装置に接続されたファクシミリ装置においては、上記の状況情報取得要求がファクシミリ装置の主制御部と外部処理装置の主制御部の両方から各データ処理部に発行される。この際、画像処理装置の主制御部は外部処理装置から送られてくる全てのデータを一度受信し解析した後、その内容に従って各データ処理部へ適切なタイミング、順番で送信している。そのため一方の主制御部の制御下でデータ処理部が動作中のためもう一方の主制御部との間でデータの送受信ができない状態でも、画像処理装置の主制御部がそのデータをデータ処理部に送る順番や、返送されてきた情報を制御することが可能であり、もし後者のデータが上記の状況情報取得要求である場合であっても、画像処理部の主制御部が解析の結果に基づいたデータを作成し返送することで、以後の機能を実行させることができた。
【0006】
しかし、単一の物理インタフェース上には、単一の論理インタフェースしか持たないため、複合ファクシミリ装置を外部処理装置で制御しようとした場合に大きな課題がある。詳しくは、複数の機能を同時に動作させることが不可能であり、複合ファクシミリ装置のメリットを十分に生かせられない。または、無理に同時動作を行わせるためには、従来の技術に記した制御コマンドのパケット化の作業負荷が必要となる。それゆえに外部処理装置にインストールするドライバの改造作業負荷、制御の複雑さ、スループットの点で大きな問題がある。さらに外部処理装置からパケット化されたデータを受信する複合ファクシミリ装置においては、プリンタに関するデータなのか、スキャナに関するデータなのか、ファクシミリ通信に関するデータなのかを特定するために、パケット化されたデータを解析する必要があり、さらには制御コマンドの先頭に付加されているヘッダ情報を削除、編集する必要があり、制御の複雑さ、スループットの点で大きな問題があった。
【0007】
また、ファクシミリ装置内部の主制御部と記録部は、印刷データ転送専用の片方向パラレル通信で接続されていた。そのため、主制御部が記録部の印刷情報を取得するためには、片方向パラレル通信とは別の物理インタフェースを設ける必要があった。これもまた製品設計作業の増大、制御の複雑さが問題となっていた。
【0008】
この問題を解決するために、外部処理装置とファクシミリ装置の物理インタフェースにUSBを採用し、USB規格で定める複数の論理チャネルを設ける(USB複合デバイス)ことにより、機能の同時動作を簡単に実現することが可能となると考えられる。また、複数の論理チャネルを設けることにより、制御コマンドに機能を示すヘッダ情報を付加する必要がなくなり、制御の簡素化、データの解析が必要なくなることによるスループットの向上が期待できる。さらには、ファクシミリ装置内の主制御部とデータ処理部の物理インタフェースにもUSBを採用することにより、USBインタフェース以外の他の物理インタフェースを設ける必要がなくなり、設計工数の削減、容易な転用、データ透過性の向上が期待できる。
【0009】
【発明が解決しようとする課題】
しかし、外部処理装置に接続されたファクシミリ装置において、状況情報取得要求がファクシミリ装置の主制御部と外部処理装置の主制御部の両方から各データ処理部に発行された場合、物理インタフェースにUSBを採用し、ファクシミリ装置の主制御部で外部処理装置からのデータの解析をやめスループットの向上を図った構成だと、上記のように画像処理装置の主制御部が外部処理装置から送られてくる全てのデータを一度受信し解析した後、その内容に従って各データ処理部へ適切なタイミング、順番で送信するといった制御を行うことができない。そのため一方の主制御部の制御下でデータ処理部が動作中のため、もう一方の主制御部との間でデータの送受信ができない状態では、後者の主制御部は適切な返送を得ることができず、データ処理部の使用状況、状態状況も認識できない。その結果、以後の動作を決定し実行することができないといった問題が発生する。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明は以下のような手段を提供する。具体的には、第1の論理チャネルを有し外部処理装置に接続する第1のインタフェース手段と、第2の論理チャネルを有しデータ処理部に接続する第2のインタフェース手段とを有する画像処理装置であって、前記データ処理部の状態に関する状態情報を要求する前記外部処理装置からの命令を前記第1のインタフェース手段を介して受信する状態情報要求受信手段と、前記状態情報要求受信手段で受信した前記状態情報の要求命令を周期的に前記データ処理部へ送信する状態情報要求送信手段と、前記第2のインタフェース手段を介して前記状態情報を取得する状態情報取得手段と、前記状態情報取得手段で取得した前記状態情報を外部処理装置へ転送するための状態情報転送手段と
を備える。また、前記状態情報要求送信手段によって前記状態情報の要求命令が前記データ処理部へ送信されない間、前記外部処理装置に対して無効データを送信する無効データ送信手段を更に備えていてもよい。
【0011】
さらに本発明は、前記第2のインタフェース手段を介して前記データ処理部の有する属性情報を取得する属性取得手段と、前記属性取得手段によって取得した前記属性情報に基づいて、前記外部処理装置が前記データ処理部に対して状況情報の要求命令の発行してから前記状態情報を受信するまでの待機時間を決定する待機時間決定手段と、前記待機時間より短い時間を前記状態情報要求送信手段における前記周期として設定する周期設定手段とをさらに備えてもよい。
【0012】
また、画像データを格納するための格納手段と、前記第2のインタフェース手段を介して前記格納手段に格納された前記画像データを所定量ごとに前記データ処理部へ転送するための画像データ転送手段と、前記画像データ転送手段による画像データの転送量が前記所定量に到達したか否かを判定するための転送量判定手段とを更に備え、前記状態情報要求送信手段における前記周期が、前記画像データの転送量の前記所定量への到達に基づいてもよい。ここで、前記所定量は1ページ分の画像データ量に相当する量であっても良し、前記第1のインタフェース手段及び前記第2のインタフェース手段は、ユニバーサル・シリアル・バス通信規格に対応していてもよい。
【0013】
さらに、前記外部処理装置から前記データ処理部へ送信される前記状態情報の要求命令を含む第1のデータと、前記データ処理部から前記外部処理装置へ送信される前記状態情報を含む第2のデータとが、解析又は編集されていないデータであってもよい。
【0014】
また、本発明は、前記待機時間を格納するための待機時間格納手段を更に備え、前記待機時間決定手段が、前記待機時間格納手段から前記属性取得手段によって取得した前記属性情報に基づいて決定されたものに対応する前記待機時間を選択することにより前記待機時間を決定してもよい。
【0015】
上記手段は画像処理装置を制御するための方法としても実現できるし、当該方法をコンピュータに実行させるための制御プログラムとして実現することもでき、当該プログラムを記憶媒体に格納して提供することにより上記課題を解決してもよいことはいうまでもない。
【0016】
以上によって、ファクシミリ装置の主制御部も外部処理装置の主制御部も期待する状況確認情報を得ることができ、機能を正常に実行することができる。その結果、データ処理部とファクシミリ装置の各物理インタフェースにUSBを採用した画像処理システムを実現することができる。
【0017】
【発明の実施の形態】
まず、画像処理システムを構成する画像処理装置100の概略を詳細に説明する。図1は、本発明の実施形態である画像処理システムを構成する画像処理装置100の概略構成を示すブロック図である。
【0018】
画像処理装置100において、CPU101は、システム制御部であり、画像処理装置100の全体を制御する。ROM102は、CPU101が実行する制御プログラムや組み込みオペレーティングシステム(OS)プログラム等を格納する。
【0019】
RAM103は、SRAM等で構成され、プログラム制御変数等を格納し、また、オペレータが登録した設定値や画像処理装置100の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。画像メモリ104は、DRAM等で構成され、画像データを蓄積する。データ変換部105は、ページ記述言語(PDL)等の解析や、キャラクタデータのCG展開等、画像データの変換を行う。
【0020】
読取制御部106は、読取部107が、CISイメージセンサ(密着型イメージセンサ)によって原稿を光学的に読み取り、電気的な画像データに変換した画像信号を、図示しない画像処理制御部を介して、2値化処理や中間調処理等の各種画像処理を施し、高精細な画像データを出力する。
【0021】
操作表示部108は、数値入力キー、文字入力キー、ワンタッチ電話番号キー、モード設定キー、決定キー、取り消しキー等を備え、ユーザが画像送信相手先データの決定や設定データの登録動作を行うための操作部と、各種キー、LED(発光ダイオード)とLCD(液晶ディスプレイ)等によって構成され、オペレータによる各種入力操作や、画像処理装置100の動作状況、ステータス状況の表示等を行う表示部である。
【0022】
通信制御部109は、モデムやNCU(網制御装置)等によって構成されている。この通信制御部109では、アナログの通信回線(PSTN)131に接続され、T30プロトコルでの通信制御、通信回線に対する発呼と着呼等の回線制御を行っている。
【0023】
解像度変換処理部110は、画像データのミリ−インチ解像度変換等の解像度変換制御を行う。なお、解像度変換部110において、画像データの拡大縮小処理も可能である。
【0024】
符号復号化処理部111は、画像処理装置100で扱う画像データ(MH、MR、MMR、JBIG、JPEG等)を符号復号化処理したり、拡大縮小処理を行う。
【0025】
記録制御部112は、印刷される画像データに対し、図示しない画像処理制御部を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換し、USBホスト制御部114(後述)に出力する。また、USBホスト制御部114を制御することにより、定期的に記録部115の状態情報データを取得する役割も果たす。
【0026】
USBファンクション制御部113は、USBインタフェースの通信制御を行うものであり、USB通信規格に従って、プロトコル制御を行い、CPU101が実行するUSB制御タスクからのデータをパケットに変換し、外部の情報処理端末に、USBパケット送信を行ったり、逆に、外部の情報処理端末からのUSBパケットをデータに変換してCPU101に対し送信を行ったりする。
【0027】
USBホスト制御部114は、USB通信規格で定められたプロトコルで通信を行う為の制御部である。USB通信規格は、双方向のデータ通信を高速に行うことが出来る規格であり、1台のホスト(マスター)に対し、複数のハブまたはファンクション(スレーブ)を接続することが出来る。USBホスト制御部114は、USB通信におけるホストの機能を有する。
【0028】
記録部115は、レーザビームプリンタやインクジェットプリンタ等からなる印刷装置であり、カラー画像データ、またはモノクロ画像データを印刷部材に印刷する。USBホスト制御部114とは、USB通信規格で定められたプロトコルで通信を行い、特に記録部115はファンクションの機能を有する。
【0029】
本実施形態においては、記録機能のUSB通信は1対1の接続形態を用いる。上記構成要素101〜106、108〜114は、CPU101が管理するCPUバス121を介して、相互に接続されている。
【0030】
本例では、USBホスト制御部114、USBインタフェースによって記録部115が接続された構成について記述したが、もちろんこの構成のみに限定されるわけではない。読取部107と読取制御部106との接続にUSBホスト制御部、USBインタフェースを接続する構成なども考えられる。また、デジタルカメラで撮影したデータの入力やファクシミリ送受信に関しても、同様の構成を実施することが可能である。
【0031】
続いて、画像処理システムを構成する外部処理装置200の概略を詳細に説明する。図2は、本発明の実施形態である画像処理システムを構成する外部処理装置200の概略構成を示すブロック図である。
【0032】
CPU201は、ROM202、RAM203、または、内部記憶装置204、外部記憶装置(205)に記憶されたプログラムから読み出されたプログラムに従って、システムバスを介して外部処理装置200全体の動作を制御するものである。ROM202は、CPU201の制御プログラム等を格納している。RAM203は、一時的にプログラムや画像データを記憶し、外部処理装置200の処理を高速に動作させるためのものである。
【0033】
内部記憶装置204は、オペレーティング・システム、各種アプリケーションプログラムや画像データ等が格納されている。内部記憶装置204には、本実施形態における文字データ処理工程を含む、画像処理装置100に対する各種制御命令やデータの送受信を行うためのアプリケーションソフト、機能ごとのUSBクラスドライバソフトおよびUSBバスドライバソフト等がインストールされているものとする。
【0034】
操作部207は、オペレータからの指示入力手段としてのキーボードやマウス(不図示)を制御するものである。画像処理装置100、外部処理装置200に対する命令、操作には、通常、操作部207のキーボードやマウスで行われる。
【0035】
表示部208は、オペレータに各種表示を行うものである。外部処理端末200で印刷の実行起動をかける場合は、確認ダイヤログ等を表示部208に表示し、オペレータに入力を促す。また印刷動作の実行中は、印刷状況を示す情報をオペレータに提供する。
【0036】
通信部209は、図示しないネットワークに接続したり、通信回線を通してインターネットプロバイダへの接続や、相手通信装置との間でのデータや画像情報等の通信を行う。ネットワークや通信回線への接続に関しては、公知の方法を使用するものとし、詳述しない。
【0037】
USBホスト制御部210は、USBインタフェースの通信制御を行うものであり、USB通信規格に従って、CPU201からのデータを、パケットに変換し、画像処理装置100に、USBパケットを送信したり、逆に、画像処理装置100からのUSBパケットをデータに変換してCPU201に送信したりする。通信制御方法に関しては、公知の方法を使用するものとして詳述しない。
【0038】
続いて、USBファンクション制御部113のUSBインタフェースにおける構成を詳細に説明する。
【0039】
図3は、ここで示す画像処理装置100のUSBファンクション制御部113のUSBインタフェースにおける構成を示す概念図である。最も大きい枠で示されるデバイス(301)は、USB通信規格において1つだけ定義することができ、装置全体の属性を示している。デバイス(301)の属性は、デバイス記述子で表現され、デバイス記述子には、装置の製造者ID、製品ID、リリース番号、コンフィギュレーション数などが含まれている。
【0040】
デバイス(301)の中には、コンフィギュレーションが1つ(コンフィギュレーション1(302))だけ定義されている。コンフィギュレーション1(302)の属性は、コンフィギュレーション記述子で表現され、コンフィギュレーション記述子には、そのコンフィギュレーションの中のインタフェース数などが含まれている。
【0041】
コンフィギュレーション1(302)の中には、インタフェースが3つ(インタフェース0〜2(304、307、311))だけ定義されている。インタフェース0〜2(304、307、311)の属性は、インタフェース記述子で表現され、インタフェース記述子には、そのインタフェースの中のエンドポイント数、クラスコードなどが含まれている。
【0042】
プリンタ用に使用するインタフェース0(304)の中には、エンドポイントが2つ(エンドポイント1、2(305、306))だけ定義されている。エンドポイント1、2(305、306)の属性は、エンドポイント記述子で表現され、エンドポイント記述子には、そのエンドポイントのエンドポイント番号、通信方向、転送タイプ、パケットサイズなどが含まれている。エンドポイント1(305)は、主に制御データ受信や印刷データ受信のために使用される。エンドポイント2(306)は、主に受信した印刷データの印刷状況を送信するために使用される。
【0043】
スキャナ用のインタフェース1(307),FAX用のインタフェース2(311)でも上記のプリンタの場合と同様に、それぞれのエンドポイント(エンドポイント3(308)、4(309)、5(310)、6(312)、7(313)、8(314))に各機能が割り振られている(図3参照)。
【0044】
続いて、記録部115のUSBインタフェースにおける構成を詳細に説明する。図4は、画像処理装置100の記録部115のUSBインタフェースにおける構成を示す概念図である。
【0045】
最も大きい枠で示されるデバイス(401)は、USB通信規格において1つだけ定義することができ、装置全体の属性を示している。デバイス(401)の属性はデバイス記述子で表現され、デバイス記述子には装置の製造者ID、製品ID、リリース番号、コンフィギュレーション数などが含まれている。
【0046】
デバイス(401)の中には、コンフィギュレーションが1つ(コンフィギュレーション1(402))だけ定義されている。コンフィギュレーション1(402)の属性は、コンフィギュレーション記述子で表現され、コンフィギュレーション記述子には、そのコンフィギュレーションの中のインタフェース数などが含まれている。
【0047】
コンフィギュレーション1(402)の中には、インタフェースが1つ(インタフェース0(404))だけ定義されている。インタフェース0(404)の属性は、インタフェース記述子で表現され、インタフェース記述子には、そのインタフェースの中のエンドポイント数、クラスコードなどが含まれている。
【0048】
印刷用に使用するインタフェース0(404)の中には、エンドポイントが2つ(エンドポイント1、2(405、406))だけ定義されている。エンドポイント1、2(405、406)の属性は、エンドポイント記述子で表現され、エンドポイント記述子には、そのエンドポイントのエンドポイント番号、通信方向、転送タイプ、パケットサイズなどが含まれている。エンドポイント1(405)は、主に制御データ受信や印刷データ受信のために使用される。エンドポイント2(406)は、主に受信した印刷データの印刷状況を送信するために使用される。
【0049】
次に、画像処理システムの画像処理装置100の初期化処理について示す。図5は、本発明の実施形態である画像処理装置100の初期化処理を示すフローチャートである。
【0050】
画像処理装置100の電源が投入されると、ステップ501において、CPUバス121に接続される周辺回路の初期化を行う。
【0051】
続いてステップ502において、CPU101と異なる別CPU(図示せず)が管理する記録部115の初期化が終了したか判断する。終了していれば、処理はステップ503へ移行し、終了してなければステップ502を繰り返す。記録部115の初期化の終了は、USBホスト制御部114のUSBインタフェースによって検出することが可能である。またCPU101と記録部115の間を直接、監視線を接続することにより検出することも可能である。
【0052】
ステップ503において、CPU101は、USBホスト制御部114が検出した記録部115の装置構成を取得し、さらには記録部115に対し、記録部115を使用可能にするための装置構成決定の命令(SetConfiguration命令)を送信する。記録部115の装置構成取得には、USBインタフェースを使用する。装置の構成データは、図4で示すエンドポイント0(403)の装置制御用に用いられる論理チャネルによって送受信される。記録部115の装置構成を示すデータには、上述のデバイス記述子、コンフィギュレーション記述子、インタフェース記述子、エンドポイント記述子(1、2)等が存在し、さらには記録部115の製造者名文字列、製品名文字列、シリアル番号文字列などがある。記録部115に対する装置構成決定送信には、USBインタフェースを使用する。
【0053】
装置構成決定の送信データは、図4で示すエンドポイント0(403)の装置制御用に用いられる論理チャネルによって送信される。本ステップを画像処理装置100の電源投入初期化時に実行することにより、画像処理装置100の初期化を確実に行うことが可能になる。さらには画像処理装置100全体の装置構成を示すデータを外部処理装置200に通知する際(後述)に、外部処理装置200からの装置構成取得命令に対し、素早く応答することが可能になる。
【0054】
ステップ504において、画像処理装置100全体の装置構成を生成する。装置の構成データは、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって送受信される。画像処理装置100全体の装置構成を示すデータには、上述のデバイス記述子、コンフィギュレーション記述子、インタフェース記述子(0〜2)、エンドポイント記述子(1〜8)等が存在する。さらには画像処理装置100全体の製造者名文字列、製品名文字列、シリアル番号文字列などもある。画像処理装置100全体の装置構成を示すデータの一部には、ステップ503で取得した記録部115の装置構成を示すデータの一部が使用される。
【0055】
例えば、画像処理装置100がUSBインタフェース経由で外部処理装置200から受信する印刷データをそのまま記録部115にUSBインタフェース経由で転送できるように、またUSBホスト制御部114がUSBインタフェース経由で記録部115から受信する印刷状況データをそのまま外部処理装置200にUSBインタフェース経由で転送できるように、図3のプリンタ用のインタフェース記述子0(304)は、ステップ503で記録部115から受信したインタフェース記述子そのままの構成で形成される。また、装置の製造シリアル番号文字列などの不揮発データについて、記録部115から受信したシリアル番号文字列データをそのまま使用しても良い。
【0056】
以上の制御を行うことにより、記録部115の機種に依存しない画像処理装置100を構成することが出来る。すなわち、たとえ記録部115が最新の記録部に変更になった場合でも、本フローチャート処理を変更する必要はない。
【0057】
ステップ505において、画像処理装置100と外部処理装置200の通信を許可するためにUSBファンクション制御部113を通信有効の状態に移行させる。ここまでのステップで画像処理装置100全体の初期化が終了し、待機状態としてイベント待ちの状態となる。
【0058】
ステップ506において、画像処理装置100が外部処理装置200に接続されたか否か判断する。接続されれば、処理はステップ507へ移行し、接続されていなければステップ506を繰り返す。外部処理装置200との接続検出は、USBファンクション制御部113のUSBインタフェースによって可能である。
【0059】
ステップ507において、画像処理装置100が接続された外部処理装置200から、装置構成の取得命令(例えば、Get Device Descriptor命令、Get Configuration Descriptor命令、Get String Descriptor命令、Get Device ID命令など)を受信したか否かを判断する。受信していれば、処理はステップ508へ移行し、受信してなければステップ507を繰り返す。
【0060】
ステップ508において、ステップ504で生成した画像処理装置100全体の装置構成を示すデータを外部処理装置200に通知する。装置の構成データは、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって送信される。
【0061】
ステップ509では、画像処理装置100が外部処理装置200から装置構成決定の命令(Set Configuration命令)を受信したか否かを判断する。もし受信していれば、処理はステップ510へ移行し、受信していなければステップ509を繰り返す。装置構成決定の命令は、図3で示すエンドポイント0(303)の装置制御用に用いられる論理チャネルによって受信される。
【0062】
この際、ステップ509で画像処理装置100から送信された装置構成を示すデータの示す機種に対応するドライバソフトウェアが外部処理装置200内に存在していなかった場合、外部処理装置200は画像処理装置100に装置構成決定の命令を送信しない。そして外部処理装置200はユーザに接続された画像処理装置100の制御ができないことを通知し、エラーのチェックや対応ドライバソフトウェアのインストールを要求する。
【0063】
ステップ510において、外部処理装置200に接続された画像処理装置100が、スタンバイ時に外部処理装置200が記録部115の動作状態、インク・トナー無し、記録紙無し、記録紙ジャムなどのエラー状況などの状態状況を周期的に確認することを許可するための時間(以下、スタンバイ時状態監視時間)と、画像処理装置100が機能実行中に外部処理装置200と記録部115が上記状態状況を確認するための時間(以下、動作時状態監視時間))を設定する。
【0064】
これらは、ステップ503より取得した記録部115の装置構成を示すデータから認識したデバイスIDを認識し、それに対応したスタンバイ時状態監視時間と動作時状態監視時間を選択する。なお、スタンバイ時状態監視時間には外部処理装置200が有効なデータを受信することができないためエラーと判断する時間(図11、ステップ1104参照)より短い時間を基準として設定し、動作時状態監視時間には外部処理装置200が記録部115の状態状況を確実に確認することができる最短の時間(図8、ステップ816〜ステップ818参照)を基準にして設定する。これらの基準は画像処理装置100のROM102、もしくはRAM103に保存されている。
【0065】
ステップ511において、画像処理装置100はその装置構成(コンフィギュレーション)を使用可能とし、印刷データの受信待ち状態へ移行する。ここでもし記録部115にインク無し、トナー無し、記録紙無し、記録紙ジャムなど、なにかしらのエラーが発生したために記録部115が印刷データを受信する準備が整っていない場合は、USBファンクション制御部113も外部処理装置200に対し、印刷データを受信する準備が整っていない状態が設定される。
【0066】
例えば、記録部115は、記録部115内部に致命的なエラーを検出した場合、記録部115は印刷データを受信することができない状態を設定する。その状態をUSBホスト制御部114経由で検出したCPU101は、USBファンクション制御部113に対し、印刷データを受信する準備が整っていない状態を設定する。この制御により、外部処理装置200からの印刷データが、画像メモリ104に蓄積されず滞留することが無くなり、外部処理装置200は記録部が印刷データを受信する準備が整っていないことを知ることをできるので動作不具合を回避することが可能になる。初期化後にエラーが発生した場合でも、同様の処理により同一効果を得ることができる。
【0067】
さらに、記録部115が印刷状況を示すデータを送信する準備が整っていない場合も同様である。すなわち、もし記録部115にエラーが発生し、記録部115が印刷状況を示すデータを送信する準備が整っていない場合は、USBファンクション制御部113も外部処理装置200に対し、印刷状況を示すデータを送信する準備が整っていない状態が設定される。
【0068】
例えば、記録部115は、ステップ502における記録部115の初期化時に、記録部115内部に致命的なエラーを検出した場合、記録部115は印刷状況を示すデータを送信することが出来ない状態を設定する。その状態をUSBホスト制御部114経由で検出したCPU101は、USBファンクション制御部113に対し、印刷状況を示すデータを送信する準備が整っていない状態を設定する。
【0069】
この制御により、外部処理装置200から印刷状況を示すデータの転送要求が来た場合でも、外部処理装置200は記録部が印刷状況を示すデータを送信する準備が整っていないことを知ることをできるので処理の動作不具合を回避することが可能になる。これは、初期化後にエラーが発生した場合も同様の処理により、同じ効果を得ることができる。
【0070】
ステップ503とステップ504は、必ずしもステップ502の直後に行う必要はない。また、ステップ507で画像処理装置100が接続された外部処理装置200から、装置構成の取得命令を受信した直後にステップ503とステップ504を行っても構わない。
【0071】
また、ステップ503において、必ずしも記録部115からの装置構成取得と、記録部115への装置構成決定送信を同時に行う必要はない。
【0072】
続いて、画像処理装置100の印刷動作開始を詳細に説明する。図7は、本発明の実施形態である画像処理装置100の印刷動作の流れを示すフローチャートである。ステップ701において、現在、画像処理装置100と外部処理装置200の間でデータ送受信が許可されているか(図6ステップ506〜511参照)、つまり接続されていてデータ送受信が可能か否かを判断する。接続されている場合はステップ702に移行し、そうでない場合にはステップ710に移行する。
【0073】
ステップ702において、記録部115がデータを受信できる状態になっているか否かを判断する。これは、図6のステップ511で述べたようにUSBファンクション制御部113が印刷データを受信できる状態になっているかどうかに基づいて判断する。データ受信できるならばステップ703に移行し、そうでないならばステップ701に戻る。この際、外部処理装置200も同様にUSBファンクション制御部113の状態によって記録部115の状態を認識することができる。
【0074】
ステップ703において、画像処理装置100が要求する印刷状況通知要求の項目を記録部115に通知する。この印刷状況通知要求の項目には現在の印刷中であることを示す情報やインク・トナー量、記録紙の状態、エラー状況などの情報が含まれる。以後、記録部115は図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルによって印刷状況の通知要求を受信した時、その項目に対応するデータを、印刷状況を示すデータとして返送する。この印刷状況の通知要求の受信とは、実際のデータを受信するわけではなく、USB通信規格のINパケットを受信することである。また、外部処理装置200に対しては、USBファンクション制御部113に常にデータが正確に受信できなかったことを示すNAK信号を返送するように設定しておく。この際、データを全く返送しない方法や、ステップ511で示したような方法でUSBファンクション制御部113を外部処理装置とのデータの送受信ができないことを表す設定に変更する方法でも問題は無い。また、画像処理装置100でスタンバイ状態が継続し、かつタイマーがスタンバイ時状態監視時間に達していない時、つまりステップ705でNOの状態が継続している場合、印刷状況通知要求の項目は同じなのでステップ703の処理を行わなくても問題は無い。
【0075】
ステップ704において、ユーザの指示などの要因によって画像処理装置100のROM102、RAM103に保存されているプログラムが起動され、画像データの印刷処理の開始が命令されたか否かを判断する。画像データの印刷開始が命令されたならばステップ708に移行し、そうでない場合にはステップ705に移行する。
【0076】
ステップ705において、タイマーがステップ510で設定したスタンバイ時状態監視時間が経過したか否かを判断する。経過した場合には上記タイマーをリセットしステップ706に移行し、再度カウントを開始する。そうでない場合には、ステップ704に戻り、上記カウントを継続する。
【0077】
ステップ706において、画像処理装置100は外部処理装置200へのNAK信号の送信を停止し、外部処理装置200から送信されてくるデータを受信できるような設定にUSBファンクション制御部を変更する。また、必要ならば同時に、画像処理装置100のCPU101に、印刷モードにおいて外部処理装置200と記録部115とのデータの交換(図8ステップ803〜809)が終了するまで、記録部115に対して印刷状況通知要求や画像データの送受信などの処理を実行しないような設定をUSBファンクション制御部113、USBホスト制御部114に行ってもよい。変更後ステップ707に移行する。
【0078】
ステップ707において、画像処理装置100は外部処理装置200から受信する印刷データを印刷する印刷モードへ移行する。印刷モードの詳細は後述する。印刷モードが終了すると、再度外部処理装置200からの印刷データ受信待ち状態へ移行する。
【0079】
ステップ708において、画像処理装置100のCPU101は画像メモリ104などに印刷データが存在しているか否か判断する。存在していればステップ709に移行し、存在していなければステップ709を繰り返す。この際、ステップ709を繰り返す時間に制限、タイムアウトの処理を入れてステップ701に戻るような制御を行っても問題は無い。
【0080】
ステップ709において、画像処理装置100は自身の持つ印刷データを印刷するモードへと移行する。印刷モードの詳細については後述する。印刷モードが終了すると、再度印刷状況通知要求の受信とプログラムの発行命令を待機する。
【0081】
ステップ710において、ステップ702と同様に、記録部115がデータを受信できる状態になっているか否かを判断する。これは、図6のステップ511で述べたようにUSBファンクション制御部113が印刷データを受信できる状態になっているかどうかに基づいて判断する。データ受信できるならばステップ711に移行し、そうでないならばステップ714に移行する。
【0082】
ステップ711において、印刷状況通知要求の項目を記録部115に通知する。この時の印刷状況通知要求の項目は、画像処理装置100のCPU101が要求する項目である。以後、記録部115は図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルによって印刷状況の通知要求を受信した時、その項目に対応するデータを、印刷状況を示すデータとして返送する。この印刷状況の通知要求の受信とは、実際のデータを受信するわけではなく、USB通信規格のINパケットを受信することである。
【0083】
ステップ712において、画像処理装置100のCPU101は画像メモリ104などに印刷データが存在しているか否か判断する。存在していればステップ713に移行し、存在していなければステップ713を繰り返す。この際、ステップ712を繰り返す時間に制限、タイムアウトの処理を入れてステップ701に戻るような制御を行っても問題は無い。
【0084】
ステップ713において、画像処理装置100は自身の持つ印刷データを印刷するモードへと移行する。印刷モードの詳細については後述する。印刷モードが終了すると、再度印刷状況通知要求の受信とプログラムの発行命令を待機する。
【0085】
ステップ714において、記録部115は何らかのエラーが発生しているために印刷処理を実行できないことをユーザに通知する。この際、ユーザへの通知は操作表示部108によって示される。また、記録部115へ転送するはずであった命令、データを画像メモリ104に保存して、外部処理装置200による印字が終了し、印刷可能な状態になったら自動的に画像メモリ104に保存された命令を実行するような制御を行っても問題は無い。ユーザに記録部115の状態を通知したら、ステップ701に戻る。
【0086】
続いて、画像処理装置100の印刷モードの動作を詳細に説明する。図8は、本発明の実施形態である画像処理装置100の印刷動作を示すフローチャートである。
【0087】
ステップ801において、印刷モードが図7のステップ714から呼び出されたか否かを判断する。ステップ713から呼び出された場合にはステップ820に移行し、そうでないとき、つまりステップ707、もしくはステップ709に呼び出された場合にはステップ802に移行する。
【0088】
ステップ802において、印刷モードが図7のステップ709から呼び出されたか否かを判断する。ステップ709から呼び出された場合にはステップ810に移行し、そうでないとき、つまりステップ707から呼び出された場合にはステップ803に移行する。
【0089】
ステップ803において、外部処理装置200によって発行された印刷状況の通知要求の項目が記録部115にセットされる。この際、画像処理装置100のCPU101は外部処理装置から送信されてくるデータの内容に対して解析、編集などの作業を行わないので、それが印刷状況の通知要求の項目を記録部115にセットするための命令であることを認識できず、ただデータを受信し転送するだけである。以後、記録部115は印刷状況の通知要求を受信したとき、上記印刷状況の通知要求の項目に対応した情報を返送する。セット後、処理はステップ804へ移行する。
【0090】
ステップ804において、画像処理装置100は外部処理装置200から印刷データを受信したか否かを判断する。受信していれば、処理はステップ805へ移行し、受信していなければステップ806へ移行する。印刷データの受信は、図3で示すエンドポイント1(305)の制御、印刷データ受信用に用いられる論理チャネルによって受信される。受信した印刷データは、一時的に画像処理装置100内の画像メモリ104へ保存される。
【0091】
ステップ805において、画像処理装置100は外部処理装置200から受信した印刷データを記録部115へ転送する処理を行う。印刷データの転送に関する詳細は、後述する。ステップ805の処理が終了すると、処理はステップ806へ移行する。
【0092】
ステップ806において、画像処理装置100は外部処理装置200から印刷状況の通知要求を受信しているか否か判断する。受信していれば処理はステップ807へ移行し、受信していなければステップ808へ移行する。外部処理装置200からの印刷状況の通知要求の受信は、図3で示すエンドポイント2(306)の印刷状況送信用に用いられる論理チャネルによって受信される。印刷状況の通知要求の受信とは、実際のデータを受信するわけではなく、USB通信規格のINパケットを受信することである。
【0093】
ステップ807において、画像処理装置100は記録部115から印刷状況を示すデータを受信する。印刷状況を示すデータの転送に関する詳細は、後述する。ステップ807の処理が終了すると、処理はステップ808へ移行する。
【0094】
ステップ808において、画像処理装置100は外部処理装置200からの印刷データの印刷、もしくは印刷状況の通知要求が終了したか否かを判断する。終了していれば、処理はステップ809へ移行し、終了していなければステップ801へ移行する。
【0095】
ステップ809において、画像処理装置100のCPU101は記録部115に自身の制御に必要とする印刷状況の通知要求の項目を通知する。以後、記録部115は印刷状況の通知要求を受信したとき、上記印刷状況の通知要求の項目に対応した情報を返送する。また、外部処理装置200に対しては、図7のステップ703と同様に、USBファンクション制御部113に常にデータが正確に受信できなかったことを示すNAK信号を返送するように設定しておく。セット後、処理はステップ82へ移行する。この処理が終了するまで画像処理装置100のCPU101は、記録部115の動作状態を認識することはできないので、この間(ステップ803〜ステップ808)の記録部115に対する処理、制御は記録部115が動作中であると判断して動作する。
【0096】
ステップ810において、画像処理装置100は画像メモリ104に存在する印刷データを記録部115へ転送する処理を行う。印刷データの転送に関する詳細は、後述する。ステップ810の処理が終了すると、処理はステップ811へ移行する。
【0097】
ステップ811において、画像処理装置100はROM102、RAM104に存在するプログラムが印刷状況の通知を要求しているか否か判断する。要求しているならば、処理はステップ812へ移行し、要求していないならばステップ813へ移行する。印刷状況の通知要求の発行は、図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルを使い、発行される。印刷状況の通知要求の発行とは、実際のデータを発行するわけではなく、USB通信規格のINパケットを発行することである。
【0098】
ステップ812において、画像処理装置100は記録部115から印刷状況を示すデータを受信する。印刷状況を示すデータの転送に関する詳細は、後述する。ステップ812の処理が終了すると、処理はステップ813へ移行する。
【0099】
ステップ813において、画像処理装置100は外部処理装置200からの印刷データ、もしくは印刷状況の通知要求が終了したか否かを判断する。終了していれば、処理はステップ82へ移行し、終了していなければステップ814へ移行する。
【0100】
ステップ814において、図7のステップ706と同様に画像処理装置100は外部処理装置200に、データを正確に受信できなかったことを示すNAK信号の送出を止め、外部処理装置200から送信されてくるデータを受信できるような設定にUSBファンクション制御部113、USBホスト制御部114を変更する。また、必要ならば同時に、画像処理装置100のCPU101は印刷モードにおいて外部処理装置200と記録部115とのデータの交換(図8ステップ815〜ステップ819)が終了するまで、記録部115に印刷状況通知要求や画像データの送受信などの作業を行わないような設定をUSBファンクション制御部113、USBホスト制御部114に行ってもよい。変更後ステップ815に移行する。
【0101】
ステップ815において、ステップ803と同様に、外部処理装置200によって発行された印刷状況の通知要求の項目が記録部115にセットされる。この際、印刷状況の通知要求の項目には記録部115における画像データの処理状況を確認する項目が含まれる。ただし、要求に対する返送データには記録部115が画像データ処理中であることを示す情報が必ず含まれる(図10、ステップ1005参照)。
【0102】
また、このとき画像処理装置100のCPU101は外部処理装置から送信されてくるデータの内容に対して解析、編集などの作業を行わないので、それが印刷状況の通知要求の項目を記録部115にセットするための命令であることを認識できず、ただデータを受信し転送するだけである。以後、記録部115は印刷状況の通知要求を受信したとき、上記印刷状況の通知要求の項目に対応した情報、つまり外部処理装置200が必要とする項目のみ返送する。セット後、処理はステップ818へ移行する。また、画像処理装置100のCPU101では、動作時状態監視時間(図6、ステップ510参照)経過を監視するためのタイマーをリセットし、カウント開始する。
【0103】
ステップ816において、画像処理装置100は外部処理装置200から印刷状況の通知要求を受信しているか否か判断する。受信しているならば、処理はステップ817へ移行し、受信していないならばステップ818へ移行する。外部処理装置200からの印刷状況の通知要求の受信は、図3で示すエンドポイント2(306)の印刷状況送信用に用いられる論理チャネルによって受信される。印刷状況の通知要求の受信とは、実際のデータを受信するわけではなく、USB通信規格のINパケットを受信することである。
【0104】
ステップ817において、画像処理装置100は記録部115から印刷状況を示すデータを受信する。印刷状況を示すデータの転送に関する詳細は後述する。ステップ817の処理が終了すると、処理はステップ818へ移行する。
【0105】
ステップ818において、ステップ815でカウントを開始したタイマーが動作時状態監視時間を経過したか否か判断する。経過した場合はステップ819に移行し、そうでない場合はステップ816へ移行する。
【0106】
ステップ819において、画像処理装置100のCPU101は記録部115に自身の制御に必要とする印刷状況の通知要求の項目を通知する。以後、記録部115は印刷状況の通知要求を受信したとき、上記印刷状況の通知要求の項目に対応した情報を返送する。また、外部処理装置200に対しては、図7のステップ703と同様に、USBファンクション制御部113に常にデータが正確に受信できなかったことを示すNAK信号を返送するように設定しておく。セット後、処理はステップ801へ移行する。この処理が終了するまで画像処理装置100のCPU101は、記録部115の動作状態を認識することはできないが、自身の依頼による画像データの印刷ジョブは終了していないので、この間(ステップ814〜ステップ819)の記録部115では印刷処理が継続中であるとして他の動作、制御を行う。
【0107】
ステップ820において、印刷データは画像メモリ104などに保存されているので、そのデータを記録部115に転送する。印刷データの転送に関する詳細は、後述する。ステップ820の処理が終了すると、処理はステップ821へ移行する。
【0108】
ステップ821において、画像処理装置100は自身のROM202、RAM203に保存されたプログラムによる印刷状況の通知要求の発行を命令されているか否か判断する。命令されているならば、処理はステップ822へ移行し、そうでないならばステップ823へ移行する。
【0109】
ステップ822において、画像処理装置100は記録部115から印刷状況を示すデータを受信する。印刷状況を示すデータの転送に関する詳細は、後述する。ステップ822の処理が終了すると、処理はステップ823へ移行する。
【0110】
ステップ823において、外部処理装置200からの印刷データが終了したか否かを判断する。終了していれば、処理はステップ824へ移行し、終了していなければステップ801へ移行する。
【0111】
ステップ824において、印刷動作の終了処理を行う。印刷動作の終了処理とは、印刷部材の機構外への排出、不図示のスピーカによる印刷動作終了音の鳴動、操作表示部108または表示部208による印刷動作終了の通知などがある。
【0112】
続いて、印刷データを転送する際の詳細な説明を行う。図9は、本発明の実施形態である画像処理装置100の印刷データを転送する際のフローチャートである。
【0113】
ステップ901において、印刷データ転送がステップ810から移行したか否かを判断する。ステップ810から移行した場合はステップ903に移行し、そうでない場合にはステップ902へ移行する。
【0114】
ステップ902において、受信した印刷データを記録部115へ転送する。外部処理装置からの印刷データの転送は、図3で示すエンドポイント1(305)の制御、印刷データ受信用に用いられる論理チャネルによって受信した印刷データを、一時的に画像処理装置100内の画像メモリ104へ保存し、図4で示すエンドポイント1(405)の制御、印刷データ受信用に用いられる論理チャネルへ送信する。
【0115】
この際、エンドポイント1(305)からエンドポイント1(405)へ転送する印刷データの内容は、編集、加工を一切行わず、そのままの印刷データを転送する。また、転送する印刷データは、ある一定の長さに区切られたパケット形式で転送する。図3で示すデバイス(301)内のインタフェース0(304)と、図4で示すデバイス(401)内のインタフェース0(404)は、互いに透過的に使用される。即ち、外部処理装置200にインストールされているプリンタドライバソフトの処理は、外部処理装置200と記録部115がUSBインタフェース経由で直接接続される場合となんら変わりなく、記録部115を他製品から流用した場合にプリンタドライバソフトもそのまま流用することが可能になる。また、画像処理装置100の制御下における印刷データの転送では、画像メモリ104などに保存されている印刷データを図4で示すエンドポイント1(405)の制御、印刷データ受信用に用いられる論理チャネルへ送信する。
【0116】
ステップ903において、画像メモリ104に保存された印刷データを1ページ分のみ記録部115へ転送する。この際、図4で示すエンドポイント1(405)が転送用の論理チャネルとして使用される。
【0117】
続いて、印刷状況データを転送する際の詳細な説明を行う。図10は、本発明の実施形態である画像処理装置100の印刷状況データを転送する際のフローチャートである。
【0118】
ステップ1001において、CPU101はUSBホスト制御部114を制御することにより、記録部115から印刷状況を示すデータを取得する。印刷状況を示すデータの取得は、図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルによって取得する。取得した印刷状況を示すデータは、一時的に画像処理装置100内の画像メモリ104へ保存される。また、取得する印刷状況を示すデータは、ある一定の長さに区切られたパケット形式で取得する。この印刷状況を示すデータの項目は図7のステップ703、ステップ707によって記録部に通知されていたものである。
【0119】
ステップ1002において、印刷状況通知がステップ807から移行されたか処理であるか否かを判断する。ステップ807から移行した処理の場合はステップ1003へ移行し、そうでない場合はステップ1004へ移行する。
【0120】
ステップ1003において、ステップ1001で取得した印刷状況を示すデータを外部処理装置200へ転送する。印刷状況を示すデータの転送は、図4で示すエンドポイント2(406)の印刷状況送信用に用いられる論理チャネルによって取得した印刷状況を示すデータを、一時的に画像処理装置100内の画像メモリ104へ保存し、図3で示すエンドポイント2(306)の印刷状況送信用に用いられる論理チャネルへ送信する。
【0121】
この際、エンドポイント2(406)からエンドポイント2(306)へ転送する印刷状況を示すデータの内容は、編集、加工は一切行わず、そのままの印刷状況を示すデータを転送する。また、転送する印刷状況を示すデータは、ある一定の長さに区切られたパケット形式で転送する。図4で示すデバイス(401)内のインタフェース0(404)と、図3で示すデバイス(301)内のインタフェース0(304)は、互いに透過的に使用される。図4で示すデバイス(401)内のインタフェース0(404)と、図3で示すデバイス(301)内のインタフェース0(304)は、互いに透過的に使用される。すなわち外部処理装置200にインストールされているプリンタドライバソフトの処理は、外部処理装置200と記録部115が、USBインタフェース経由で直接接続される場合となんら変わりなく、記録部115を他製品から流用した場合に、プリンタドライバソフトもそのまま流用することが可能になる。
【0122】
ステップ1002において、印刷状況通知がステップ817から移行されたか否かを判断する。移行した場合はステップ1005へ移行し、そうでない場合はステップ1006へ移行する。
【0123】
ステップ1005において、ステップ1003と同様に、ステップ1001で取得した印刷状況を示すデータを外部処理装置200へ転送する。ただし、ステップ1005で返送される印刷状況を示すデータには、画像処理装置100のCPU101の要請により、記録部115が画像メモリ104に存在する複数ページ分の画像データの印刷処理を現在実行中であることを示す情報が含まれる。
【0124】
ステップ1006において、画像処理装置100のCPU101はステップ1001で取得した印刷状況のデータを保持する。機能を実行するために必要な場合は、その内容を解析し、再度更新されるまでそれに基づいて以後の機能を実行する。
【0125】
続いて、外部処理装置200の画像処理装置100コントロールソフトウェア(以下、ドライバソフトウェア)の印刷状況通知要求に関する動作についての詳細を示す。
【0126】
図11は本実施形態で外部処理装置200の画像処理装置100に対するドライバソフトウェアの印刷状況通知要求時の動作について示したフローチャートである。
【0127】
ステップ1101において、外部処理装置200のCPU201は印刷状態通知要求を、USBホスト制御部を通して、画像処理装置100に対して行う。この際、印刷状態通知要求の項目は画像処理装置100を制御するためのドライバソフトウェアと共に内部記憶装置204、外部記憶装置205、外部記憶ディスク206のどれかに保存されている。
【0128】
ステップ1102において、印刷情報通知要求に対する画像処理装置100からの返送が受信できたかどうかを判断する。返送が受信できた場合にはステップ1103へ移行し、まだ受信できていない場合にはステップ1101へ移行する。
【0129】
ステップ1103において、印刷情報通知要求に対する画像処理装置100からの返送されてきた印刷状況を示すデータが無効である、つまりNAK信号を受信したか否かを判断する。受信した場合にはステップ1104に移行し、そうでない場合にはステップ1106に移行する。
【0130】
ステップ1105において、画像処理装置100から返送されてきた印刷状況を示すデータが無効である、つまり最初にNAK信号を受信してからカウントを開始して、それを受信し続けている時間がドライバソフトウェアに設定されている時間に達したか否かを判断する。設定されている時間に達した場合には、画像処理装置100との接続にエラーが発生していると判断し、ステップ1105へ移行する。そうでない場合にはステップ1101へ移行する。この際、ドライバソフトウェアに設定されている時間は、図6のステップ510のスタンバイ時状態監視時間、動作時状態監視時間より長い。
【0131】
ステップ1105において、外部処理装置200は画像処理装置100から必要な印刷状況を示すデータを取得することができなかったので、画像処理装置100との接続に何らかの問題、エラーが発生したと判断し、そのことをユーザに表示部208を用いて通知する。
【0132】
ステップ1106において、画像処理装置100から返送されてきた印刷状況を示すデータから次の制御に必要な動作に必要な項目を抜き出し、それに従って機能を実行する。ステップ1106終了後、ステップ1107へ移行する。
【0133】
ステップ1107において、外部処理装置200はユーザのオペレーション、ソフトウェア、画像処理装置100の状態に応じて、機能を実行する。
【0134】
本実施形態は、記録動作に関して記述したが、もちろん記録動作のみに限定されるわけではない。読取動作に関しても、同様に実施することにより、同様の効果が期待できる。また、デジタルカメラで撮影したデータの入力やファクシミリ送受信に関しても、同様に実施することにより、同様の効果が期待できる。
【0135】
また、本発明の上記実施形態では、外部処理装置と画像処理装置の各物理インタフェースにUSBを採用した画像処理システムにおいて、画像処理装置は外部処理装置のデータ処理部に対する状況情報の取得要求しても、その要求を前記データ処理部に転送しないことによって、確実に画像処理装置がデータ処理部の状況情報の取得できるようになる。そして、外部処理装置が前記データ処理部の状態を確認できないことを防ぐために、画像処理装置が待機状態の場合に画像処理装置の主制御部が、ある特定時間周期ごとに外部処理装置とデータ処理部の間でデータの転送を許可し、状況情報の取得要求とそれに対する返送データの転送処理を行うことで、外部処理装置はデータ処理部の状態を確認できる。
【0136】
その際、上記データ転送を許可する特定時間には、外部処理装置が状況情報取得要求を送出後、エラー終了することなく、有効な返送データの受信を待ちつづけている時間より短い時間を設定し、正常動作時に確実に外部処理装置が有効な返送データを取得できるようにする。この特定時間周期を設定するための時間を画像処理装置の記憶手段に保存しておき、データ処理部の構成情報をその情報を引き出すためのタグとすることで、効率良く選別することが可能になる。
【0137】
また、画像処理装置からの要請でデータ処理部が画像データを処理している場合、データ処理部へ1ページ分の画像データの転送が終了するたびに、わずかな時間のみ外部処理装置とデータ処理部の間でデータの転送を許可し、転送処理を行うことで、外部処理装置はデータ処理部の状態を確認できる。
【0138】
データ処理部が待機中の場合、外部処理装置から画像データを転送し、それをデータ処理部で処理することができる。この際、画像処理装置は状況情報取得用以外のデータ転送用の論理チャネルの状況を監視して、データの転送が行われている時、データ処理部が画像データ処理中であると判断する。
【0139】
上記の外部処理装置とデータ処理部の間のデータ交換において、スループットの向上のために画像処理装置の主制御部はそれに対して解析、編集などの作業は行わない。
【0140】
また、外部処理装置から何らかのデータが画像処理装置に転送される可能性がない場合、前述した制御を実行することはなく、画像処理装置の主制御部とデータ処理部の間で単純にデータの交換を実行する。これによって、制御の簡素化を図ることができる。
【0141】
画像処理装置だけでなく、外部処理装置にも画像処理装置に発行した状況情報の取得要求に対する返送情報を取得することができない、もしくは無効な情報をその返送として取得した時でも、一定時間は画像処理装置との間にエラーが発生したと判断することなく、状況情報の取得要求を発行し続ける構成、および同処理を実行するためのソフトウェアを持たせることで、上記した画像処理装置から外部処理装置は確実にデータ処理部の状況情報を取得できる。この際、連続で状況情報の取得要求を発行し続ける時間をデータ処理部で1ページ分の画像データを処理する時間よりも長くすることで前述した画像処理装置の全ての場合において、外部処理装置は確実に取得することができる。
【0142】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0143】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0144】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0145】
【発明の効果】
以上に説明したように、本発明によれば外部処理装置とファクシミリ装置の各物理インタフェースにUSBを採用した画像処理システムにおいて、ファクシミリ装置も外部処理装置もデータ処理部の状態を正確に認識することが可能になり、本システムを実現することができる。その結果、従来よりも制御が簡素化され、スループットが向上したシステムを持つ画像処理装置を構築することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態に対応した画像処理装置を示すブロック図である。
【図2】本発明の実施形態に対応した外部処理装置を示すブロック図である。
【図3】本発明の実施形態に対応した画像処理装置100のUSB構成を示す概念図である。
【図4】本発明の実施形態に対応した記録部115のUSB構成を示す概念図である。
【図5】本発明の実施形態に対応した画像処理装置100の初期化処理動作のフローチャート1である。
【図6】本発明の実施形態に対応した画像処理装置100の初期化処理動作のフローチャート2である。
【図7】本発明の実施形態に対応した印刷動作開始のフローチャートである。
【図8】本発明の実施形態に対応した印刷動作のフローチャートである。
【図9】本発明の実施形態に対応した印刷データを転送するフローチャートである。
【図10】本発明の実施形態に対応した印刷状況データを転送するフローチャートである。
【図11】本発明の実施形態に対応した外部処理装置の画像処理装置に印刷状況のデータの要求、取得をコントロールするドライバソフトウェアのフローチャートである。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus, a control method of the image processing apparatus, a program, and a storage medium, and more particularly, to an image processing apparatus as a facsimile apparatus connected to an external processing apparatus.
[0002]
[Prior art]
As a facsimile device connectable to an external processing device such as a personal computer, a bidirectional parallel port (IEEE1284 compliant) interface such as Centronics or a universal serial bus (as described in Japanese Patent Application Laid-Open No. 7-288625). 2. Description of the Related Art A facsimile apparatus connected by a Universal Serial Bus (USB) interface is known. In this conventional image processing system including a facsimile apparatus and an external processing apparatus, the connection form between the facsimile apparatus and the external processing apparatus is such that only a single logical interface is provided on a single physical interface. Was. In addition, the main control unit and the data processing unit inside the facsimile apparatus are connected by one-way parallel communication and two-way serial interface.
[0003]
When an external processing apparatus attempts to control a composite facsimile apparatus having the above configuration and having a plurality of functions such as a printer, a scanner, and a facsimile communication, the external processing apparatus responds to the original control command by the printer, scanner, and facsimile. It is necessary to add and edit header information for specifying a function such as communication at the head of the control command, packetize the packet, and transmit the packetized data to the complex facsimile apparatus.
[0004]
Further, when the facsimile apparatus not connected to the external processing apparatus executes the function, the main control unit of the apparatus executes an operation state, an error state, and the like (hereinafter, referred to as a state) of the data processing unit to be executed by the function. In order to know the information in real time, an instruction (hereinafter, a status information acquisition request) for requesting the data processing unit to return the status information is issued. Similarly, when the main control unit needs to constantly grasp the state of each data processing unit in real time, the main control unit periodically issues a status information acquisition request to the data processing unit. After the issuance, the main control unit recognizes the use status and the status status from the information returned in response to the status information acquisition request from the data processing unit, and determines the subsequent operation.
[0005]
Similarly, in a facsimile device connected to an external processing device, the status information acquisition request is issued from each of the main control unit of the facsimile device and the main control unit of the external processing device to each data processing unit. At this time, the main control unit of the image processing apparatus receives all the data sent from the external processing apparatus once, analyzes the data, and transmits the data to each data processing unit at an appropriate timing and in accordance with the content thereof. Therefore, even when the data processing unit is operating under the control of one main control unit and data cannot be transmitted / received to / from the other main control unit, the main control unit of the image processing apparatus transmits the data to the data processing unit. It is possible to control the order of sending and the information returned, and even if the latter data is the above status information acquisition request, the main control unit of the image processing unit By creating and returning the data based on it, the subsequent functions could be executed.
[0006]
However, since there is only a single logical interface on a single physical interface, there is a major problem when attempting to control a complex facsimile apparatus with an external processing device. Specifically, it is impossible to operate a plurality of functions at the same time, and the merits of the composite facsimile machine cannot be fully utilized. Alternatively, in order to force simultaneous operations, a work load of packetizing control commands described in the related art is required. Therefore, there are major problems in terms of the workload for modifying the driver installed in the external processing device, the complexity of control, and the throughput. Furthermore, in a complex facsimile machine that receives packetized data from an external processing device, the packetized data is analyzed to identify whether the data is data related to a printer, data related to a scanner, or data related to facsimile communication. In addition, it is necessary to delete and edit the header information added to the head of the control command, and there is a major problem in terms of control complexity and throughput.
[0007]
Further, the main control unit and the recording unit inside the facsimile apparatus are connected by one-way parallel communication dedicated to print data transfer. Therefore, in order for the main control unit to acquire the print information of the recording unit, it is necessary to provide a physical interface different from the one-way parallel communication. This is also an issue of increasing product design work and control complexity.
[0008]
In order to solve this problem, simultaneous operation of functions is easily realized by adopting USB as a physical interface between the external processing device and the facsimile device and providing a plurality of logical channels defined by the USB standard (USB composite device). It will be possible. In addition, by providing a plurality of logical channels, it is not necessary to add header information indicating a function to a control command, thereby simplifying the control and improving the throughput by eliminating the need for data analysis. Furthermore, by adopting USB as the physical interface between the main control unit and the data processing unit in the facsimile machine, there is no need to provide a physical interface other than the USB interface. An improvement in permeability can be expected.
[0009]
[Problems to be solved by the invention]
However, in a facsimile device connected to an external processing device, when a status information acquisition request is issued to each data processing unit from both the main control unit of the facsimile device and the main control unit of the external processing device, the USB is transmitted to the physical interface. Adopted and the main control unit of the facsimile machine stops analyzing the data from the external processing device and improves the throughput, the main control unit of the image processing device is sent from the external processing device as described above After receiving and analyzing all the data once, it is impossible to perform control such that the data is transmitted to each data processing unit at an appropriate timing and in an appropriate order according to the contents. Therefore, since the data processing unit is operating under the control of one main control unit, and the data cannot be transmitted / received to / from the other main control unit, the latter main control unit may obtain an appropriate return. It is not possible to recognize the usage status and status status of the data processing unit. As a result, there arises a problem that the subsequent operation cannot be determined and executed.
[0010]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides the following means. More specifically, an image processing apparatus including a first interface unit having a first logical channel and connected to an external processing device, and a second interface unit having a second logical channel and connected to a data processing unit A state information request receiving means for receiving, via the first interface means, an instruction from the external processing device for requesting state information relating to the state of the data processing unit; and the state information request receiving means. Status information request transmission means for periodically transmitting the received status information request command to the data processing unit; status information obtaining means for obtaining the status information via the second interface means; State information transfer means for transferring the state information acquired by the acquisition means to an external processing device;
Is provided. The information processing apparatus may further include invalid data transmitting means for transmitting invalid data to the external processing device while the state information request transmitting means does not transmit the state information request command to the data processing unit.
[0011]
Further, according to the present invention, an attribute acquisition unit that acquires attribute information of the data processing unit via the second interface unit, and the external processing device is configured to execute the external processing device based on the attribute information acquired by the attribute acquisition unit. A standby time determining unit that determines a standby time from when a status information request command is issued to the data processing unit until the status information is received, and a time shorter than the standby time in the status information request transmitting unit. And a cycle setting means for setting the cycle.
[0012]
A storage unit for storing image data; and an image data transfer unit for transferring the image data stored in the storage unit to the data processing unit by a predetermined amount via the second interface unit. And a transfer amount determining unit for determining whether a transfer amount of the image data by the image data transferring unit has reached the predetermined amount, wherein the period in the state information request transmitting unit is the image data. The data transfer amount may be based on reaching the predetermined amount. Here, the predetermined amount may be an amount corresponding to the image data amount for one page, and the first interface means and the second interface means correspond to a universal serial bus communication standard. You may.
[0013]
Further, first data including a request command for the status information transmitted from the external processing device to the data processing unit, and second data including the status information transmitted from the data processing unit to the external processing device. The data may be data that has not been analyzed or edited.
[0014]
Further, the present invention further comprises a standby time storage unit for storing the standby time, wherein the standby time determination unit is determined based on the attribute information acquired by the attribute acquisition unit from the standby time storage unit. The waiting time may be determined by selecting the waiting time corresponding to the waiting time.
[0015]
The above means can be realized as a method for controlling the image processing apparatus, or can be realized as a control program for causing a computer to execute the method, and the program is stored in a storage medium and provided to provide the above method. It goes without saying that the problem may be solved.
[0016]
As described above, both the main control unit of the facsimile machine and the main control unit of the external processing device can obtain expected status confirmation information, and the function can be executed normally. As a result, it is possible to realize an image processing system that employs USB for each physical interface of the data processing unit and the facsimile machine.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
First, the outline of the image processing apparatus 100 constituting the image processing system will be described in detail. FIG. 1 is a block diagram illustrating a schematic configuration of an image processing apparatus 100 included in an image processing system according to an embodiment of the present invention.
[0018]
In the image processing apparatus 100, the CPU 101 is a system control unit, and controls the entire image processing apparatus 100. The ROM 102 stores a control program executed by the CPU 101, an embedded operating system (OS) program, and the like.
[0019]
The RAM 103 is composed of an SRAM or the like, stores program control variables and the like, stores set values registered by an operator, management data of the image processing apparatus 100, and the like, and is provided with various work buffer areas. The image memory 104 includes a DRAM or the like, and stores image data. The data conversion unit 105 performs conversion of image data such as analysis of a page description language (PDL) and the like, and CG expansion of character data.
[0020]
The reading control unit 106 reads the image signal obtained by the reading unit 107 optically reading the original with a CIS image sensor (contact image sensor) and converting the image signal into electrical image data via an image processing control unit (not shown). Various image processing such as binarization processing and halftone processing are performed, and high-definition image data is output.
[0021]
The operation display unit 108 includes a numerical input key, a character input key, a one-touch telephone number key, a mode setting key, an enter key, a cancel key, and the like, so that the user can determine image transmission destination data and register setting data. , An operation unit, various keys, an LED (light emitting diode), an LCD (liquid crystal display), and the like, and a display unit for performing various input operations by an operator and displaying an operation status and a status status of the image processing apparatus 100. .
[0022]
The communication control unit 109 includes a modem, an NCU (network control device), and the like. The communication control unit 109 is connected to an analog communication line (PSTN) 131, and performs communication control according to the T30 protocol and line control such as outgoing and incoming calls for the communication line.
[0023]
The resolution conversion processing unit 110 performs resolution conversion control such as millimeter-inch resolution conversion of image data. Note that the resolution conversion unit 110 can also perform image data scaling processing.
[0024]
The encoding / decoding processing unit 111 performs encoding / decoding processing on image data (MH, MR, MMR, JBIG, JPEG, etc.) handled by the image processing apparatus 100, and performs scaling processing.
[0025]
The recording control unit 112 performs various types of image processing such as smoothing processing, recording density correction processing, and color correction on the image data to be printed via an image processing control unit (not shown) to convert the image data into high-definition image data. , To the USB host control unit 114 (described later). In addition, by controlling the USB host control unit 114, it also plays a role of periodically acquiring status information data of the recording unit 115.
[0026]
The USB function control unit 113 performs communication control of the USB interface, performs protocol control according to the USB communication standard, converts data from a USB control task executed by the CPU 101 into a packet, and transmits the packet to an external information processing terminal. , A USB packet is transmitted, or conversely, a USB packet from an external information processing terminal is converted into data and transmitted to the CPU 101.
[0027]
The USB host control unit 114 is a control unit for performing communication using a protocol defined by the USB communication standard. The USB communication standard is a standard that enables high-speed bidirectional data communication, and a plurality of hubs or functions (slaves) can be connected to one host (master). The USB host control unit 114 has a host function in USB communication.
[0028]
The recording unit 115 is a printing device including a laser beam printer, an inkjet printer, or the like, and prints color image data or monochrome image data on a printing member. The communication with the USB host control unit 114 is performed according to a protocol defined by the USB communication standard. In particular, the recording unit 115 has a function function.
[0029]
In the present embodiment, the USB communication of the recording function uses a one-to-one connection mode. The components 101 to 106 and 108 to 114 are interconnected via a CPU bus 121 managed by the CPU 101.
[0030]
In this example, the configuration in which the USB host control unit 114 and the recording unit 115 are connected by the USB interface has been described. However, the configuration is not limited to this configuration. A configuration in which a USB host control unit and a USB interface are connected to the connection between the reading unit 107 and the reading control unit 106 is also conceivable. Further, the same configuration can be implemented for input of data captured by a digital camera and facsimile transmission / reception.
[0031]
Next, the outline of the external processing device 200 included in the image processing system will be described in detail. FIG. 2 is a block diagram illustrating a schematic configuration of the external processing device 200 included in the image processing system according to the embodiment of the present invention.
[0032]
The CPU 201 controls the overall operation of the external processing device 200 via a system bus according to a program read from a program stored in the ROM 202, the RAM 203, or the internal storage device 204 and the external storage device (205). is there. The ROM 202 stores a control program for the CPU 201 and the like. The RAM 203 temporarily stores programs and image data, and operates the external processing device 200 at high speed.
[0033]
The internal storage device 204 stores an operating system, various application programs, image data, and the like. The internal storage device 204 includes application software for transmitting and receiving various control commands and data to and from the image processing apparatus 100, including the character data processing step in the present embodiment, USB class driver software and USB bus driver software for each function, and the like. It is assumed that is installed.
[0034]
The operation unit 207 controls a keyboard and a mouse (not shown) as means for inputting instructions from an operator. Commands and operations for the image processing apparatus 100 and the external processing apparatus 200 are generally performed using a keyboard or a mouse of the operation unit 207.
[0035]
The display unit 208 performs various displays for the operator. When starting printing by the external processing terminal 200, a confirmation dialog or the like is displayed on the display unit 208 to prompt the operator to input. During the execution of the printing operation, information indicating the printing status is provided to the operator.
[0036]
The communication unit 209 connects to a network (not shown), connects to an Internet provider through a communication line, and communicates data, image information, and the like with a partner communication device. A known method is used for connection to a network or a communication line, and will not be described in detail.
[0037]
The USB host control unit 210 performs communication control of the USB interface, converts data from the CPU 201 into a packet according to the USB communication standard, transmits a USB packet to the image processing apparatus 100, and conversely, The USB packet from the image processing apparatus 100 is converted into data and transmitted to the CPU 201. The communication control method will not be described in detail because a known method is used.
[0038]
Next, the configuration of the USB function control unit 113 in the USB interface will be described in detail.
[0039]
FIG. 3 is a conceptual diagram showing a configuration of the USB interface of the USB function control unit 113 of the image processing apparatus 100 shown here. Only one device (301) indicated by the largest frame can be defined in the USB communication standard, and indicates the attributes of the entire apparatus. The attribute of the device (301) is expressed by a device descriptor, and the device descriptor includes a device manufacturer ID, a product ID, a release number, a configuration number, and the like.
[0040]
Only one configuration (configuration 1 (302)) is defined in the device (301). The attribute of the configuration 1 (302) is expressed by a configuration descriptor, and the configuration descriptor includes the number of interfaces in the configuration.
[0041]
Only three interfaces (interfaces 0 to 2 (304, 307, 311)) are defined in the configuration 1 (302). The attributes of the interfaces 0 to 2 (304, 307, 311) are represented by interface descriptors, and the interface descriptors include the number of endpoints in the interface, class codes, and the like.
[0042]
In the interface 0 (304) used for the printer, only two endpoints (endpoints 1, 2 (305, 306)) are defined. The attributes of the endpoints 1 and 2 (305 and 306) are expressed by endpoint descriptors, and the endpoint descriptor includes the endpoint number of the endpoint, communication direction, transfer type, packet size, and the like. I have. The endpoint 1 (305) is mainly used for receiving control data and print data. The endpoint 2 (306) is mainly used to transmit the print status of the received print data.
[0043]
In the interface 1 (307) for the scanner and the interface 2 (311) for the facsimile, the respective endpoints (endpoints 3 (308), 4 (309), 5 (310), 6 (312), 7 (313), and 8 (314)) are assigned to respective functions (see FIG. 3).
[0044]
Next, the configuration of the USB interface of the recording unit 115 will be described in detail. FIG. 4 is a conceptual diagram illustrating a configuration of the recording unit 115 of the image processing apparatus 100 in the USB interface.
[0045]
Only one device (401) indicated by the largest frame can be defined in the USB communication standard, and indicates the attributes of the entire apparatus. The attribute of the device (401) is represented by a device descriptor, and the device descriptor includes a device manufacturer ID, a product ID, a release number, a configuration number, and the like.
[0046]
Only one configuration (configuration 1 (402)) is defined in the device (401). The attribute of the configuration 1 (402) is expressed by a configuration descriptor, and the configuration descriptor includes the number of interfaces in the configuration.
[0047]
Only one interface (interface 0 (404)) is defined in the configuration 1 (402). The attribute of the interface 0 (404) is represented by an interface descriptor, and the interface descriptor includes the number of endpoints in the interface, a class code, and the like.
[0048]
Only two endpoints (endpoints 1 and 2 (405 and 406)) are defined in the interface 0 (404) used for printing. The attributes of the endpoints 1 and 2 (405 and 406) are expressed by endpoint descriptors, and the endpoint descriptor includes the endpoint number of the endpoint, communication direction, transfer type, packet size, and the like. I have. The endpoint 1 (405) is mainly used for receiving control data and print data. The endpoint 2 (406) is mainly used to transmit the print status of the received print data.
[0049]
Next, an initialization process of the image processing apparatus 100 of the image processing system will be described. FIG. 5 is a flowchart illustrating an initialization process of the image processing apparatus 100 according to the embodiment of the present invention.
[0050]
When the image processing apparatus 100 is turned on, in step 501, peripheral circuits connected to the CPU bus 121 are initialized.
[0051]
Subsequently, in step 502, it is determined whether the initialization of the recording unit 115 managed by another CPU (not shown) different from the CPU 101 has been completed. If completed, the process proceeds to step 503, and if not completed, step 502 is repeated. The end of the initialization of the recording unit 115 can be detected by the USB interface of the USB host control unit 114. Further, it is also possible to detect by directly connecting a monitoring line between the CPU 101 and the recording unit 115.
[0052]
In step 503, the CPU 101 obtains the device configuration of the recording unit 115 detected by the USB host control unit 114, and further, instructs the recording unit 115 to determine the device configuration for enabling the recording unit 115 (SetConfiguration). Command). The USB interface is used to acquire the device configuration of the recording unit 115. The device configuration data is transmitted and received by the logical channel used for device control of the endpoint 0 (403) shown in FIG. The data indicating the device configuration of the recording unit 115 includes the above-described device descriptor, configuration descriptor, interface descriptor, endpoint descriptor (1, 2), and the like. There are character strings, product name strings, and serial number strings. The USB interface is used for the device configuration determination transmission to the recording unit 115.
[0053]
The transmission data for determining the device configuration is transmitted by a logical channel used for device control of the endpoint 0 (403) shown in FIG. By executing this step at the time of power-on initialization of the image processing apparatus 100, the image processing apparatus 100 can be reliably initialized. Furthermore, when notifying the external processing device 200 of data indicating the device configuration of the entire image processing device 100 (described later), it is possible to quickly respond to a device configuration acquisition command from the external processing device 200.
[0054]
In step 504, the apparatus configuration of the entire image processing apparatus 100 is generated. The device configuration data is transmitted and received by the logical channel used for device control of the endpoint 0 (303) shown in FIG. The data indicating the apparatus configuration of the entire image processing apparatus 100 includes the above-described device descriptor, configuration descriptor, interface descriptor (0 to 2), endpoint descriptor (1 to 8), and the like. Further, there are a manufacturer name character string, a product name character string, and a serial number character string of the entire image processing apparatus 100. As a part of the data indicating the apparatus configuration of the entire image processing apparatus 100, a part of the data indicating the apparatus configuration of the recording unit 115 acquired in step 503 is used.
[0055]
For example, the print data received by the image processing apparatus 100 from the external processing apparatus 200 via the USB interface can be directly transferred to the recording section 115 via the USB interface, and the USB host control section 114 transmits the print data from the recording section 115 via the USB interface. The interface descriptor 0 (304) for the printer in FIG. 3 is the same as the interface descriptor received from the recording unit 115 in step 503 so that the received print status data can be transferred to the external processing apparatus 200 as it is via the USB interface. Formed in configuration. Further, the serial number character string data received from the recording unit 115 may be used as it is for nonvolatile data such as the manufacturing serial number character string of the apparatus.
[0056]
By performing the above control, the image processing apparatus 100 that does not depend on the model of the recording unit 115 can be configured. That is, even if the recording unit 115 is changed to the latest recording unit, there is no need to change the processing of this flowchart.
[0057]
In step 505, the USB function control unit 113 is shifted to a communication enabled state in order to permit communication between the image processing apparatus 100 and the external processing apparatus 200. The initialization of the entire image processing apparatus 100 is completed in the steps up to this point, and the image processing apparatus 100 enters a waiting state for an event.
[0058]
In step 506, it is determined whether the image processing apparatus 100 has been connected to the external processing apparatus 200. If connected, the process proceeds to step 507, and if not, step 506 is repeated. The connection with the external processing device 200 can be detected by the USB interface of the USB function control unit 113.
[0059]
In step 507, a command to acquire a device configuration (eg, a Get Device Descriptor command, a Get Configuration Descriptor command, a Get String Descriptor command, a Get Device ID command, etc.) is received from the external processing device 200 to which the image processing device 100 is connected. It is determined whether or not. If so, the process proceeds to step 508; otherwise, step 507 is repeated.
[0060]
In step 508, the data indicating the device configuration of the entire image processing device 100 generated in step 504 is notified to the external processing device 200. The device configuration data is transmitted by a logical channel used for device control of endpoint 0 (303) shown in FIG.
[0061]
In step 509, it is determined whether the image processing apparatus 100 has received a device configuration determination command (Set Configuration command) from the external processing device 200. If so, the process proceeds to step 510; otherwise, step 509 is repeated. The device configuration determination command is received by the logical channel used for device control of endpoint 0 (303) shown in FIG.
[0062]
At this time, if the driver software corresponding to the model indicated by the data indicating the apparatus configuration transmitted from the image processing apparatus 100 in step 509 does not exist in the external processing apparatus 200, the external processing apparatus 200 Does not send a command to determine the device configuration. Then, the external processing device 200 notifies the user that the connected image processing device 100 cannot be controlled, and requests an error check and installation of corresponding driver software.
[0063]
In step 510, when the image processing apparatus 100 connected to the external processing apparatus 200 is in a standby state, the external processing apparatus 200 determines whether the operation state of the recording unit 115, no ink / toner, no recording paper, an error condition such as recording paper jam, and the like. A time for permitting periodic checking of the status (hereinafter, standby status monitoring time), and the external processing device 200 and the recording unit 115 checking the status while the image processing device 100 is executing the function. (Hereinafter referred to as “operation status monitoring time”).
[0064]
These recognize the recognized device ID from the data indicating the device configuration of the recording unit 115 obtained in step 503, and select the corresponding standby state monitoring time and operating state monitoring time. It should be noted that the standby state monitoring time is set based on a time shorter than the time for determining that an error has occurred (see step 1104 in FIG. 11) because the external processing device 200 cannot receive valid data. The time is set based on the shortest time (see FIG. 8, steps 816 to 818) in which the external processing device 200 can reliably check the state of the recording unit 115. These criteria are stored in the ROM 102 or the RAM 103 of the image processing apparatus 100.
[0065]
In step 511, the image processing apparatus 100 makes the apparatus configuration usable, and shifts to a print data reception waiting state. If the recording unit 115 is not ready to receive print data due to some kind of error such as no ink, no toner, no recording paper, or no recording paper jam, the USB function is used. The control unit 113 also sets the external processing device 200 in a state in which it is not ready to receive print data.
[0066]
For example, when the recording unit 115 detects a fatal error inside the recording unit 115, the recording unit 115 sets a state in which the recording unit 115 cannot receive print data. The CPU 101 that has detected the state via the USB host control unit 114 sets the USB function control unit 113 to a state in which preparation for receiving print data is not completed. With this control, the print data from the external processing device 200 does not accumulate in the image memory 104 and does not stay, and the external processing device 200 knows that the recording unit is not ready to receive the print data. It is possible to avoid malfunctions. Even if an error occurs after initialization, the same effect can be obtained by the same processing.
[0067]
Further, the same applies to a case where the recording unit 115 is not ready to transmit data indicating the printing status. That is, if an error occurs in the recording unit 115 and the recording unit 115 is not ready to transmit the data indicating the printing status, the USB function control unit 113 also sends the data indicating the printing status to the external processing device 200. Is not ready to be sent.
[0068]
For example, when the recording unit 115 detects a fatal error inside the recording unit 115 at the time of initialization of the recording unit 115 in step 502, the recording unit 115 determines that the recording unit 115 cannot transmit data indicating the printing status. Set. When the CPU 101 detects the state via the USB host control unit 114, the CPU 101 sets the USB function control unit 113 to a state in which it is not ready to transmit data indicating the printing status.
[0069]
With this control, even when a request to transfer data indicating the printing status is received from the external processing device 200, the external processing device 200 can know that the recording unit is not ready to transmit the data indicating the printing status. Therefore, it is possible to avoid a malfunction of the processing. The same effect can be obtained by the same processing even when an error occurs after initialization.
[0070]
Steps 503 and 504 need not necessarily be performed immediately after step 502. Steps 503 and 504 may be performed immediately after receiving the device configuration acquisition command from the external processing device 200 to which the image processing device 100 is connected in step 507.
[0071]
In step 503, it is not always necessary to simultaneously perform the acquisition of the device configuration from the recording unit 115 and the transmission of the device configuration determination to the recording unit 115.
[0072]
Subsequently, the start of the printing operation of the image processing apparatus 100 will be described in detail. FIG. 7 is a flowchart illustrating a flow of a printing operation of the image processing apparatus 100 according to the embodiment of the present invention. In step 701, it is determined whether data transmission / reception is currently permitted between the image processing apparatus 100 and the external processing apparatus 200 (see steps 506 to 511 in FIG. 6), that is, whether data transmission / reception is possible due to being connected. . If it is connected, the process proceeds to step 702; otherwise, the process proceeds to step 710.
[0073]
In step 702, it is determined whether or not the recording unit 115 is ready to receive data. This is determined based on whether or not the USB function control unit 113 is ready to receive print data as described in step 511 of FIG. If the data can be received, the process proceeds to step 703; otherwise, the process returns to step 701. At this time, the external processing device 200 can also recognize the state of the recording unit 115 based on the state of the USB function control unit 113.
[0074]
In step 703, the print status notification request item requested by the image processing apparatus 100 is notified to the recording unit 115. The print status notification request item includes information indicating that printing is currently being performed, and information such as the amount of ink and toner, the state of a recording sheet, and an error status. Thereafter, when the recording unit 115 receives a print status notification request via the logical channel used for transmitting the print status of the endpoint 2 (406) shown in FIG. 4, the recording unit 115 replaces the data corresponding to the item with the data indicating the print status. Will be sent back. The reception of the print status notification request does not mean that actual data is received, but that the USB communication standard IN packet is received. The external processing device 200 is set so as to always return a NAK signal to the USB function control unit 113 indicating that data could not be correctly received. At this time, there is no problem in a method of not returning data at all or a method of changing the USB function control unit 113 to a setting indicating that data cannot be transmitted / received to / from the external processing device by the method shown in step 511. When the standby state is continued in the image processing apparatus 100 and the timer has not reached the standby state monitoring time, that is, when the state of NO is continued in step 705, the items of the print status notification request are the same. There is no problem even if step 703 is not performed.
[0075]
In step 704, a program stored in the ROM 102 and the RAM 103 of the image processing apparatus 100 is activated by a factor such as a user's instruction, and it is determined whether or not an instruction to start a print process of image data has been issued. If printing of the image data is instructed, the process proceeds to step 708; otherwise, the process proceeds to step 705.
[0076]
In step 705, the timer determines whether or not the standby state monitoring time set in step 510 has elapsed. When the time has elapsed, the timer is reset, and the process proceeds to step 706 to start counting again. If not, the process returns to step 704 to continue the counting.
[0077]
In step 706, the image processing apparatus 100 stops transmitting the NAK signal to the external processing apparatus 200, and changes the USB function control unit to a setting so that data transmitted from the external processing apparatus 200 can be received. Also, if necessary, the CPU 101 of the image processing apparatus 100 transmits the data to the recording unit 115 until the data exchange between the external processing apparatus 200 and the recording unit 115 in the print mode (steps 803 to 809 in FIG. 8) is completed. The USB function control unit 113 and the USB host control unit 114 may be set so as not to execute processing such as a print status notification request and transmission / reception of image data. After the change, the process proceeds to step 707.
[0078]
In step 707, the image processing apparatus 100 shifts to a print mode for printing print data received from the external processing apparatus 200. Details of the print mode will be described later. When the print mode ends, the process returns to a state of waiting for print data reception from the external processing device 200.
[0079]
In step 708, the CPU 101 of the image processing apparatus 100 determines whether print data exists in the image memory 104 or the like. If it exists, the process proceeds to step 709. If it does not exist, step 709 is repeated. At this time, there is no problem even if control is performed to limit the time for repeating step 709 and to execute a timeout process and return to step 701.
[0080]
In step 709, the image processing apparatus 100 shifts to a mode for printing its own print data. Details of the print mode will be described later. When the print mode ends, the process waits for a print status notification request and a program issue command again.
[0081]
In step 710, similarly to step 702, it is determined whether or not the recording unit 115 is ready to receive data. This is determined based on whether or not the USB function control unit 113 is ready to receive print data as described in step 511 of FIG. If data can be received, the process proceeds to step 711; otherwise, the process proceeds to step 714.
[0082]
In step 711, the print status notification request item is notified to the recording unit 115. The item of the print status notification request at this time is an item requested by the CPU 101 of the image processing apparatus 100. Thereafter, when the recording unit 115 receives a print status notification request via the logical channel used for transmitting the print status of the endpoint 2 (406) shown in FIG. 4, the recording unit 115 replaces the data corresponding to the item with the data indicating the print status. Will be sent back. The reception of the print status notification request does not mean that actual data is received, but that the USB communication standard IN packet is received.
[0083]
In step 712, the CPU 101 of the image processing apparatus 100 determines whether print data exists in the image memory 104 or the like. If it exists, the process proceeds to step 713. If it does not exist, step 713 is repeated. At this time, there is no problem even if control is performed to limit the time for repeating step 712 and to perform a process of time-out and return to step 701.
[0084]
In step 713, the image processing apparatus 100 shifts to a mode for printing its own print data. Details of the print mode will be described later. When the print mode ends, the process waits for a print status notification request and a program issue command again.
[0085]
In step 714, the recording unit 115 notifies the user that print processing cannot be executed because some error has occurred. At this time, the notification to the user is indicated by the operation display unit 108. Also, the command and data that should have been transferred to the recording unit 115 are stored in the image memory 104, and when the printing by the external processing device 200 is completed and a printable state is obtained, the command and data are automatically stored in the image memory 104. There is no problem even if the control for executing the executed instruction is performed. When the user is notified of the state of the recording unit 115, the process returns to step 701.
[0086]
Next, the operation of the image processing apparatus 100 in the print mode will be described in detail. FIG. 8 is a flowchart illustrating a printing operation of the image processing apparatus 100 according to the embodiment of the present invention.
[0087]
In step 801, it is determined whether the print mode has been called from step 714 in FIG. If it is called from step 713, it proceeds to step 820; otherwise, it proceeds to step 802 if it is called in step 707 or step 709.
[0088]
In step 802, it is determined whether the print mode has been called from step 709 in FIG. If it is called from step 709, the process proceeds to step 810; otherwise, if it is called from step 707, the process proceeds to step 803.
[0089]
In step 803, the item of the print status notification request issued by the external processing device 200 is set in the recording unit 115. At this time, the CPU 101 of the image processing apparatus 100 does not perform an operation such as analysis and editing on the content of the data transmitted from the external processing apparatus. It cannot recognize that it is a command to perform, and only receives and transfers data. Thereafter, when receiving the print status notification request, the recording unit 115 returns information corresponding to the item of the print status notification request. After the setting, the process proceeds to step 804.
[0090]
In step 804, the image processing apparatus 100 determines whether print data has been received from the external processing apparatus 200. If so, the process proceeds to step 805; otherwise, the process proceeds to step 806. The print data is received by a logical channel used for controlling the endpoint 1 (305) and receiving the print data shown in FIG. The received print data is temporarily stored in the image memory 104 in the image processing apparatus 100.
[0091]
In step 805, the image processing apparatus 100 performs processing for transferring the print data received from the external processing apparatus 200 to the recording unit 115. Details regarding transfer of print data will be described later. When the processing in step 805 ends, the processing moves to step 806.
[0092]
In step 806, the image processing apparatus 100 determines whether a print status notification request has been received from the external processing apparatus 200. If so, the process proceeds to step 807; otherwise, the process proceeds to step 808. The reception of the print status notification request from the external processing device 200 is received by the logical channel used for transmitting the print status of the endpoint 2 (306) shown in FIG. The reception of the print status notification request does not mean that the actual data is received, but that the reception of the USB communication standard IN packet.
[0093]
In step 807, the image processing apparatus 100 receives data indicating the printing status from the recording unit 115. Details regarding the transfer of the data indicating the printing status will be described later. When the processing in step 807 ends, the processing moves to step 808.
[0094]
In step 808, the image processing apparatus 100 transmits the print data from the external processing apparatus 200. Printing Alternatively, it is determined whether the print status notification request has been completed. If the processing has been completed, the process proceeds to step 809; otherwise, the process proceeds to step 801.
[0095]
In step 809, the CPU 101 of the image processing apparatus 100 notifies the recording unit 115 of a print status notification request item required for its own control. Thereafter, when receiving the print status notification request, the recording unit 115 returns information corresponding to the item of the print status notification request. In addition, similarly to step 703 in FIG. 7, a setting is made so that a NAK signal indicating that data has not been correctly received is always returned to the USB function control unit 113 to the external processing device 200. After setting, the process proceeds to step 82. 4 Move to. Since the CPU 101 of the image processing apparatus 100 cannot recognize the operation state of the recording unit 115 until this processing is completed, the recording unit 115 operates and controls the recording unit 115 during this period (steps 803 to 808). It operates by judging that it is inside.
[0096]
In step 810, the image processing apparatus 100 performs a process of transferring print data stored in the image memory 104 to the recording unit 115. Details regarding transfer of print data will be described later. When the process of step 810 ends, the process moves to step 811.
[0097]
In step 811, the image processing apparatus 100 determines whether a program stored in the ROM 102 and the RAM 104 requests notification of a printing status. If so, the process proceeds to step 812; otherwise, the process proceeds to step 813. The printing status notification request is issued using the logical channel used for transmitting the printing status of the endpoint 2 (406) shown in FIG. Issuing a print status notification request does not mean issuing actual data, but issuing an IN packet conforming to the USB communication standard.
[0098]
In step 812, the image processing apparatus 100 receives data indicating the printing status from the recording unit 115. Details regarding the transfer of the data indicating the printing status will be described later. When the processing in step 812 ends, the processing moves to step 813.
[0099]
In step 813, the image processing apparatus 100 determines whether the print data or print status notification request from the external processing apparatus 200 has been completed. If it has been completed, the process goes to step 82 4 The process proceeds to step 814 if not completed.
[0100]
In step 814, the image processing apparatus 100 stops sending the NAK signal indicating that the data could not be correctly received to the external processing apparatus 200, as in step 706 in FIG. The USB function control unit 113 and the USB host control unit 114 are changed to settings that enable data reception. At the same time, if necessary, the CPU 101 of the image processing apparatus 100 prints the print status to the recording unit 115 until the exchange of data between the external processing apparatus 200 and the recording unit 115 in the print mode is completed (steps 815 to 819 in FIG. 8). The USB function control unit 113 and the USB host control unit 114 may be set so as not to perform operations such as a notification request and transmission / reception of image data. After the change, the process proceeds to step 815.
[0101]
In step 815, similarly to step 803, the item of the print status notification request issued by the external processing device 200 is set in the recording unit 115. At this time, the item of the print status notification request includes an item for checking the processing status of the image data in the recording unit 115. However, the return data for the request always includes information indicating that the recording unit 115 is processing the image data (see step 1005 in FIG. 10).
[0102]
At this time, the CPU 101 of the image processing apparatus 100 does not perform an operation such as analysis and editing on the content of the data transmitted from the external processing apparatus. It cannot recognize that it is a command to set, but only receives and transfers data. Thereafter, when the recording unit 115 receives the print status notification request, the recording unit 115 returns only information corresponding to the item of the print status notification request, that is, only the items required by the external processing apparatus 200. After the setting, the processing moves to step 818. Further, the CPU 101 of the image processing apparatus 100 resets a timer for monitoring the elapse of the operating state monitoring time (see step 510 in FIG. 6) and starts counting.
[0103]
In step 816, the image processing apparatus 100 determines whether or not a print status notification request has been received from the external processing apparatus 200. If so, the process proceeds to step 817; otherwise, the process proceeds to step 818. The reception of the print status notification request from the external processing device 200 is received by the logical channel used for transmitting the print status of the endpoint 2 (306) shown in FIG. The reception of the print status notification request does not mean that the actual data is received, but that the reception of the USB communication standard IN packet.
[0104]
In step 817, the image processing apparatus 100 receives data indicating the printing status from the recording unit 115. Details regarding the transfer of the data indicating the printing status will be described later. When the processing in step 817 ends, the processing moves to step 818.
[0105]
In step 818, it is determined whether or not the timer that has started counting in step 815 has exceeded the operating state monitoring time. If it has elapsed, the process proceeds to step 819; otherwise, the process proceeds to step 816.
[0106]
In step 819, the CPU 101 of the image processing apparatus 100 notifies the recording unit 115 of the item of the print status notification request required for its own control. Thereafter, when receiving the print status notification request, the recording unit 115 returns information corresponding to the item of the print status notification request. In addition, as in step 703 of FIG. 7, a setting is made so that a NAK signal indicating that data has not been correctly received is always returned to the USB function control unit 113 to the external processing device 200. After the setting, the process proceeds to step 801. The CPU 101 of the image processing apparatus 100 cannot recognize the operation state of the recording unit 115 until this processing is completed. The recording unit 115 in 819) performs another operation and control assuming that the printing process is continuing.
[0107]
In step 820, since the print data is stored in the image memory 104 or the like, the data is transferred to the recording unit 115. Details regarding transfer of print data will be described later. When the process of step 820 ends, the process moves to step 821.
[0108]
In step 821, the image processing apparatus 100 determines whether or not an instruction to issue a print status notification request by a program stored in its own ROM 202 and RAM 203 has been issued. If so, the process proceeds to step 822; otherwise, the process proceeds to step 823.
[0109]
In step 822, the image processing apparatus 100 receives data indicating the printing status from the recording unit 115. Details regarding the transfer of the data indicating the printing status will be described later. When the processing in step 822 ends, the processing moves to step 823.
[0110]
In step 823, it is determined whether the print data from the external processing device 200 has been completed. If completed, the process proceeds to step 824; otherwise, the process proceeds to step 801.
[0111]
In step 824, the printing operation is terminated. The terminating process of the printing operation includes discharge of the printing member out of the mechanism, sounding of a printing operation end sound by a speaker (not shown), notification of the end of the printing operation by the operation display unit 108 or the display unit 208, and the like.
[0112]
Next, a detailed description will be given when transferring the print data. FIG. 9 is a flowchart when the print data of the image processing apparatus 100 according to the embodiment of the present invention is transferred.
[0113]
In step 901, it is determined whether the transfer of the print data has shifted from step 810. If the process proceeds from step 810, the process proceeds to step 903; otherwise, the process proceeds to step 902.
[0114]
In step 902, the received print data is transferred to the recording unit 115. The transfer of the print data from the external processing apparatus is performed by controlling the endpoint 1 (305) shown in FIG. 3 and temporarily storing the print data received by the logical channel used for print data reception in the image processing apparatus 100. The data is stored in the memory 104 and transmitted to a logical channel used for controlling the end point 1 (405) and receiving print data shown in FIG.
[0115]
At this time, the contents of the print data to be transferred from the endpoint 1 (305) to the endpoint 1 (405) are not edited or processed at all, and the print data is transferred as it is. The print data to be transferred is transferred in a packet format divided into a certain length. The interface 0 (304) in the device (301) shown in FIG. 3 and the interface 0 (404) in the device (401) shown in FIG. 4 are used transparently to each other. That is, the processing of the printer driver software installed in the external processing device 200 is no different from the case where the external processing device 200 and the recording unit 115 are directly connected via the USB interface, and the recording unit 115 is diverted from another product. In this case, the printer driver software can be used as it is. In the transfer of print data under the control of the image processing apparatus 100, the print data stored in the image memory 104 or the like is controlled by the endpoint 1 (405) shown in FIG. Send to
[0116]
In step 903, only one page of the print data stored in the image memory 104 is transferred to the recording unit 115. At this time, the endpoint 1 (405) shown in FIG. 4 is used as a transfer logical channel.
[0117]
Next, a detailed description will be given when transferring the print status data. FIG. 10 is a flowchart when the print status data of the image processing apparatus 100 according to the embodiment of the present invention is transferred.
[0118]
In step 1001, the CPU 101 controls the USB host control unit 114 to acquire data indicating a printing status from the recording unit 115. The data indicating the printing status is obtained by the logical channel used for transmitting the printing status of the endpoint 2 (406) shown in FIG. The data indicating the acquired printing status is temporarily stored in the image memory 104 in the image processing apparatus 100. The data indicating the print status to be obtained is obtained in a packet format divided into a certain length. The data items indicating the printing status have been notified to the recording unit in steps 703 and 707 in FIG.
[0119]
In step 1002, it is determined whether the printing status notification has been transferred from step 807 or not. If the process has shifted from step 807, the process moves to step 1003; otherwise, the process moves to step 1004.
[0120]
In step 1003, the data indicating the printing status acquired in step 1001 is transferred to the external processing device 200. The transfer of the data indicating the printing status is performed by temporarily transferring the data indicating the printing status acquired by the logical channel used for transmitting the printing status of the endpoint 2 (406) shown in FIG. 104, and transmits to the logical channel used for transmitting the print status of the endpoint 2 (306) shown in FIG.
[0121]
At this time, the content of the data indicating the printing status transferred from the endpoint 2 (406) to the endpoint 2 (306) is not edited or processed at all, and the data indicating the printing status is transferred as it is. Further, the data indicating the printing status to be transferred is transferred in a packet format divided into a certain length. The interface 0 (404) in the device (401) shown in FIG. 4 and the interface 0 (304) in the device (301) shown in FIG. 3 are used transparently to each other. The interface 0 (404) in the device (401) shown in FIG. 4 and the interface 0 (304) in the device (301) shown in FIG. 3 are used transparently to each other. That is, the processing of the printer driver software installed in the external processing device 200 is not different from the case where the external processing device 200 and the recording unit 115 are directly connected via the USB interface, and the recording unit 115 is diverted from another product. In this case, the printer driver software can be used as it is.
[0122]
In step 1002, it is determined whether the print status notification has been transferred from step 817. If so, the process proceeds to step 1005; otherwise, the process proceeds to step 1006.
[0123]
In step 1005, similarly to step 1003, the data indicating the printing status acquired in step 1001 is transferred to the external processing device 200. However, in the data indicating the printing status returned in step 1005, the recording unit 115 is currently executing the printing process of the image data for a plurality of pages existing in the image memory 104 at the request of the CPU 101 of the image processing apparatus 100. Contains information indicating that there is.
[0124]
In step 1006, the CPU 101 of the image processing apparatus 100 holds the print status data acquired in step 1001. If necessary to perform a function, the contents are analyzed and subsequent functions are performed based on it until updated again.
[0125]
Next, details of an operation related to a print status notification request of the image processing apparatus 100 control software (hereinafter, driver software) of the external processing apparatus 200 will be described.
[0126]
FIG. 11 is a flowchart illustrating the operation of the external processing apparatus 200 when the printing status notification request of the driver software to the image processing apparatus 100 is made in the present embodiment.
[0127]
In step 1101, the CPU 201 of the external processing device 200 sends a print status notification request to the image processing device 100 via the USB host control unit. At this time, the item of the print status notification request is stored in one of the internal storage device 204, the external storage device 205, and the external storage disk 206 together with driver software for controlling the image processing apparatus 100.
[0128]
In step 1102, it is determined whether a return from the image processing apparatus 100 to the print information notification request has been received. If the return has been successfully received, the process proceeds to step 1103. If the return has not been received, the process proceeds to step 1101.
[0129]
In step 1103, it is determined whether the data indicating the print status returned from the image processing apparatus 100 in response to the print information notification request is invalid, that is, whether a NAK signal has been received. If so, the process proceeds to step 1104; otherwise, the process proceeds to step 1106.
[0130]
In step 1105, the data indicating the printing status returned from the image processing apparatus 100 is invalid. That is, the counting is started after the NAK signal is received first, and the time during which the reception is continued is determined by the driver software. It is determined whether or not the time set in is reached. If the set time has been reached, it is determined that an error has occurred in the connection with the image processing apparatus 100, and the process proceeds to step 1105. If not, the process proceeds to step 1101. At this time, the time set in the driver software is longer than the standby state monitoring time and the operation state monitoring time in step 510 of FIG.
[0131]
In step 1105, the external processing device 200 has not been able to obtain the data indicating the necessary printing status from the image processing device 100, and thus determines that some problem or error has occurred in the connection with the image processing device 100. This is notified to the user using the display unit 208.
[0132]
In step 1106, items necessary for the next control operation are extracted from the data indicating the printing status returned from the image processing apparatus 100, and the function is executed according to the extracted items. After the step 1106 ends, the procedure moves to the step 1107.
[0133]
In step 1107, the external processing device 200 executes a function according to the operation of the user, software, and the state of the image processing device 100.
[0134]
Although the present embodiment has been described with respect to the recording operation, it is needless to say that the present invention is not limited to the recording operation. Similar effects can be expected by performing the reading operation in the same manner. Similar effects can be expected by inputting data captured by a digital camera and transmitting and receiving facsimile data in the same manner.
[0135]
Further, in the above embodiment of the present invention, in an image processing system employing USB for each physical interface of the external processing device and the image processing device, the image processing device requests the data processing unit of the external processing device to obtain status information. Also, by not transferring the request to the data processing unit, the image processing apparatus can surely acquire the status information of the data processing unit. Then, in order to prevent the external processing device from being unable to check the state of the data processing unit, when the image processing device is in the standby state, the main control unit of the image processing device communicates with the external processing device every certain specific time period. The external processing device can confirm the state of the data processing unit by permitting data transfer between the units and performing a status information acquisition request and a return data transfer process in response to the request.
[0136]
At this time, the specific time for permitting the data transfer is set to a time shorter than the time during which the external processing apparatus waits for reception of valid return data without terminating an error after transmitting the status information acquisition request. Thus, it is ensured that the external processing device can acquire valid return data during normal operation. The time for setting the specific time period is stored in the storage unit of the image processing apparatus, and the configuration information of the data processing unit is used as a tag for extracting the information, so that the sorting can be efficiently performed. Become.
[0137]
Further, when the data processing unit is processing image data at the request of the image processing device, each time the transfer of one page of image data to the data processing unit is completed, the data processing unit communicates with the external processing device for a short time. By permitting data transfer between the units and performing the transfer process, the external processing device can check the state of the data processing unit.
[0138]
When the data processing unit is on standby, image data can be transferred from the external processing device and processed by the data processing unit. At this time, the image processing apparatus monitors the status of the logical channel for data transfer other than the status information acquisition, and determines that the data processing unit is performing image data processing when data is being transferred.
[0139]
In the data exchange between the external processing device and the data processing unit, the main control unit of the image processing device does not perform an operation such as analysis and editing on the data processing unit in order to improve the throughput.
[0140]
When there is no possibility that any data is transferred from the external processing device to the image processing device, the above-described control is not performed, and the data is simply transmitted between the main control unit and the data processing unit of the image processing device. Perform the exchange. Thereby, control can be simplified.
[0141]
Not only the image processing device but also the external processing device cannot acquire the return information in response to the status information acquisition request issued to the image processing device, or even if the invalid information is acquired as the return, the image is kept for a certain period of time. By providing a configuration for continuously issuing a status information acquisition request without determining that an error has occurred between the image processing apparatus and the software for executing the processing, external processing from the image processing apparatus described above can be performed. The apparatus can reliably acquire the status information of the data processing unit. In this case, by making the time for continuously issuing the status information acquisition request longer than the time for processing one page of image data in the data processing unit, the external processing device can be used in all of the aforementioned image processing devices. Can be obtained reliably.
[0142]
The present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but can be applied to a device including one device (for example, a copier, a facsimile machine, etc.). May be applied.
[0143]
Further, an object of the present invention is to supply a storage medium (or a recording medium) in which a program code of software for realizing the functions of the above-described embodiments is recorded to a system or an apparatus, and a computer (or a CPU or a CPU) of the system or the apparatus. Needless to say, the present invention can also be achieved by an MPU) reading and executing a program code stored in a storage medium. In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing.
[0144]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is executed based on the instruction of the program code. It goes without saying that the CPU included in the expansion card or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0145]
【The invention's effect】
As described above, according to the present invention, in an image processing system employing USB for each physical interface between an external processing device and a facsimile device, both the facsimile device and the external processing device can accurately recognize the state of the data processing unit. And the present system can be realized. As a result, it is possible to construct an image processing apparatus having a system in which control is simplified and throughput is improved as compared with the related art.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an image processing apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram showing an external processing device according to an embodiment of the present invention.
FIG. 3 is a conceptual diagram showing a USB configuration of the image processing apparatus 100 according to the embodiment of the present invention.
FIG. 4 is a conceptual diagram showing a USB configuration of a recording unit 115 according to the embodiment of the present invention.
FIG. 5 is a flowchart 1 of an initialization processing operation of the image processing apparatus 100 according to the embodiment of the present invention.
FIG. 6 is a flowchart 2 of an initialization processing operation of the image processing apparatus 100 according to the embodiment of the present invention.
FIG. 7 is a flowchart for starting a printing operation according to the embodiment of the present invention.
FIG. 8 is a flowchart of a printing operation according to the embodiment of the present invention.
FIG. 9 is a flowchart for transferring print data according to the embodiment of the present invention.
FIG. 10 is a flowchart for transferring print status data according to the embodiment of the present invention.
FIG. 11 is a flowchart of driver software that controls request and acquisition of print status data from an image processing apparatus of an external processing apparatus according to an embodiment of the present invention.

Claims (15)

第1の論理チャネルを有し外部処理装置に接続する第1のインタフェース手段と、第2の論理チャネルを有しデータ処理部に接続する第2のインタフェース手段とを有する画像処理装置であって、
前記データ処理部の状態に関する状態情報を要求する前記外部処理装置からの命令を前記第1のインタフェース手段を介して受信する状態情報要求受信手段と、
前記状態情報要求受信手段で受信した前記状態情報の要求命令を周期的に前記データ処理部へ送信する状態情報要求送信手段と、
前記第2のインタフェース手段を介して前記状態情報を取得する状態情報取得手段と、
前記状態情報取得手段で取得した前記状態情報を外部処理装置へ転送するための状態情報転送手段と
を備えることを特徴とする画像処理装置。
An image processing apparatus comprising: a first interface unit having a first logical channel and connected to an external processing device; and a second interface unit having a second logical channel and connected to a data processing unit,
State information request receiving means for receiving, via the first interface means, an instruction from the external processing device for requesting state information on the state of the data processing unit;
State information request transmission means for periodically transmitting the state information request command received by the state information request reception means to the data processing unit,
State information acquisition means for acquiring the state information via the second interface means,
An image processing apparatus comprising: a state information transfer unit configured to transfer the state information acquired by the state information acquisition unit to an external processing device.
前記状態情報要求送信手段によって前記状態情報の要求命令が前記データ処理部へ送信されない間、前記外部処理装置に対して無効データを送信する無効データ送信手段を更に備えることを特徴とする請求項1に記載の画像処理装置。2. The apparatus according to claim 1, further comprising invalid data transmitting means for transmitting invalid data to the external processing device while the state information request transmitting means does not transmit the status information request command to the data processing unit. An image processing apparatus according to claim 1. 前記第2のインタフェース手段を介して前記データ処理部の有する属性情報を取得する属性取得手段と、
前記属性取得手段によって取得した前記属性情報に基づいて、前記外部処理装置が前記データ処理部に対して状況情報の要求命令の発行してから前記状態情報を受信するまでの待機時間を決定する待機時間決定手段と、
前記待機時間より短い時間を前記状態情報要求送信手段における前記周期として設定する周期設定手段と
をさらに備えることを特徴とする請求項1又は請求項2に記載の画像処理装置。
Attribute acquisition means for acquiring attribute information of the data processing unit via the second interface means;
Standby for determining a standby time from when the external processing device issues a status information request command to the data processing unit until the status information is received, based on the attribute information acquired by the attribute acquisition unit. Time determining means;
The image processing apparatus according to claim 1, further comprising a cycle setting unit configured to set a time shorter than the standby time as the cycle in the status information request transmitting unit.
画像データを格納するための格納手段と、
前記第2のインタフェース手段を介して前記格納手段に格納された前記画像データを所定量ごとに前記データ処理部へ転送するための画像データ転送手段と、
前記画像データ転送手段による画像データの転送量が前記所定量に到達したか否かを判定するための転送量判定手段とを更に備え、
前記状態情報要求送信手段における前記周期が、前記画像データの転送量の前記所定量への到達に基づくことを特徴とする請求項1又は請求項2に記載の画像処理装置。
Storage means for storing image data;
Image data transfer means for transferring the image data stored in the storage means via the second interface means to the data processing unit for each predetermined amount;
A transfer amount determining unit for determining whether the transfer amount of the image data by the image data transfer unit has reached the predetermined amount,
3. The image processing apparatus according to claim 1, wherein the period in the state information request transmission unit is based on the transfer amount of the image data reaching the predetermined amount.
前記所定量が、1ページ分の画像データ量に相当することを特徴とする請求項4に記載の画像処理装置。The image processing apparatus according to claim 4, wherein the predetermined amount corresponds to an image data amount for one page. 前記第1のインタフェース手段及び前記第2のインタフェース手段は、ユニバーサル・シリアル・バス通信規格に対応していることを特徴とする請求項1乃至請求項5のいずれか1項に記載の画像処理装置。The image processing apparatus according to any one of claims 1 to 5, wherein the first interface unit and the second interface unit comply with a universal serial bus communication standard. . 前記外部処理装置から前記データ処理部へ送信される前記状態情報の要求命令を含む第1のデータと、前記データ処理部から前記外部処理装置へ送信される前記状態情報を含む第2のデータとが、解析又は編集されていないデータであることを特徴とする請求項1乃至請求項6のいずれか1項に記載の画像処理装置。First data including a request command for the status information transmitted from the external processing device to the data processing unit, and second data including the status information transmitted from the data processing unit to the external processing device; 7. The image processing apparatus according to claim 1, wherein the data is data that has not been analyzed or edited. 前記待機時間を格納するための待機時間格納手段を更に備えることを特徴とする請求項3に記載の画像処理装置。4. The image processing apparatus according to claim 3, further comprising a standby time storage unit for storing the standby time. 前記待機時間決定手段が、前記待機時間格納手段から前記属性取得手段によって取得した前記属性情報に基づいて決定されたものに対応する前記待機時間を選択することにより前記待機時間を決定することを特徴とする請求項8に記載の画像処理装置。The standby time determining unit determines the standby time by selecting the standby time corresponding to one determined based on the attribute information acquired by the attribute acquiring unit from the standby time storage unit. The image processing apparatus according to claim 8, wherein 第1の論理チャネルを有し外部処理装置に接続する第1のインタフェースと、第2の論理チャネルを有しデータ処理部に接続する第2のインタフェースとを有する画像処理装置の制御方法であって、
前記データ処理部の状態に関する状態情報を要求する前記外部処理装置からの命令を前記第1のインタフェースを介して受信する状態情報要求受信工程と、
前記状態情報要求受信工程において受信した前記状態情報の要求命令を周期的に前記データ処理部へ送信する状態情報要求送信工程と、
前記第2のインタフェースを介して前記状態情報を取得する状態情報取得工程と、
前記状態情報取得工程において取得した前記状態情報を外部処理装置へ転送するための状態情報転送工程と
を備えることを特徴とする画像処理装置の制御方法。
A method for controlling an image processing apparatus, comprising: a first interface having a first logical channel and connected to an external processing device; and a second interface having a second logical channel and connected to a data processing unit. ,
A state information request receiving step of receiving, via the first interface, an instruction from the external processing device requesting state information on the state of the data processing unit;
A state information request transmission step of periodically transmitting the state information request command received in the state information request reception step to the data processing unit,
A state information obtaining step of obtaining the state information via the second interface;
A state information transfer step of transferring the state information acquired in the state information acquisition step to an external processing apparatus.
前記状態情報要求送信工程において前記状態情報の要求命令が前記データ処理部へ送信されない間、前記外部処理装置に対して無効データを送信する無効データ送信工程を更に備えることを特徴とする請求項10に記載の画像処理装置の制御方法。11. The method according to claim 10, further comprising an invalid data transmitting step of transmitting invalid data to the external processing device while the state information request command is not transmitted to the data processing unit in the state information request transmitting step. 3. The method for controlling an image processing apparatus according to claim 1. 前記第2のインタフェースを介して前記データ処理部の有する属性情報を取得する属性取得工程と、
前記属性取得工程において取得した前記属性情報に基づいて、前記外部処理装置が前記データ処理部に対して状況情報の要求命令の発行してから前記状態情報を受信するまでの待機時間を決定する待機時間決定工程と、
前記待機時間より短い時間を前記状態情報要求送信工程における前記周期として設定する周期設定工程と
をさらに備えることを特徴とする請求項10又は請求項11に記載の画像処理装置の制御方法。
An attribute obtaining step of obtaining attribute information of the data processing unit via the second interface;
Waiting for determining a standby time from when the external processing device issues a status information request command to the data processing unit until the status information is received, based on the attribute information acquired in the attribute acquiring step. A time determining step;
The method according to claim 10, further comprising: a cycle setting step of setting a time shorter than the standby time as the cycle in the state information request transmission step.
画像データを格納部に格納するための格納工程と、
前記第2のインタフェースを介して前記格納部に格納された前記画像データを所定量ごとに前記データ処理部へ転送するための画像データ転送工程と、
前記画像データ転送工程による画像データの転送量が前記所定量に到達したか否かを判定するための転送量判定工程とを更に備え、
前記状態情報要求送信工程における前記周期が、前記画像データの転送量の前記所定量への到達に基づくことを特徴とする請求項10又は請求項11に記載の画像処理装置の制御方法。
A storage step for storing the image data in the storage unit,
An image data transfer step for transferring the image data stored in the storage unit to the data processing unit for each predetermined amount via the second interface;
A transfer amount determining step for determining whether the transfer amount of the image data in the image data transferring step has reached the predetermined amount,
The method according to claim 10, wherein the period in the status information request transmission step is based on the transfer amount of the image data reaching the predetermined amount.
請求項10乃至請求項13のいずれか1項に記載の画像処理装置の制御方法をコンピュータに実行させるための画像処理装置の制御プログラム。A control program for an image processing apparatus for causing a computer to execute the control method for an image processing apparatus according to claim 10. 請求項14に記載の画像処理装置の制御プログラムを格納したコンピュータが読取り可能な情報記憶媒体。A computer-readable information storage medium storing the control program for the image processing apparatus according to claim 14.
JP2002163180A 2002-06-04 2002-06-04 Image processing device, its control method, program, and information storage medium Withdrawn JP2004015214A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002163180A JP2004015214A (en) 2002-06-04 2002-06-04 Image processing device, its control method, program, and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002163180A JP2004015214A (en) 2002-06-04 2002-06-04 Image processing device, its control method, program, and information storage medium

Publications (1)

Publication Number Publication Date
JP2004015214A true JP2004015214A (en) 2004-01-15

Family

ID=30431727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002163180A Withdrawn JP2004015214A (en) 2002-06-04 2002-06-04 Image processing device, its control method, program, and information storage medium

Country Status (1)

Country Link
JP (1) JP2004015214A (en)

Similar Documents

Publication Publication Date Title
US7295338B2 (en) Status information acquisition from plural functions included in image processing apparatus
US7177972B2 (en) Peripherals of computer
JP3817494B2 (en) Image processing apparatus and control method thereof
US7626714B2 (en) Internal interface in image processing apparatus and control thereof
US7573592B2 (en) Status data transmission of image processing apparatus
US20050231750A1 (en) Image output apparatus and method of controlling same
JP2004015214A (en) Image processing device, its control method, program, and information storage medium
JP2005100064A (en) Image processor and image processing method and its program
JP2004032536A (en) Printing control method in image processing apparatus, program, storage medium, and image processing apparatus
JP2003198779A (en) Image processor and controlling method
JP2004023478A (en) Image processing apparatus, control method for image processing apparatus, program and information storage medium
JP2006338232A (en) Communication system
JP3880431B2 (en) Composite device and control method thereof
JP2004023355A (en) Image processing apparatus, its control method, program, and information record medium
JP2004032539A (en) Control method, program, and storage medium of image processing apparatus, as well as image processing apparatus
JP2003304367A (en) Record control apparatus and control method for the same
US20030189719A1 (en) Recording control apparatus and control method using the same recording control apparatus
JP2004164310A (en) Image processor and control method therefor
JP2007174022A (en) Image forming apparatus
JP2004064338A (en) Image processing apparatus and its control method
JP2004021493A (en) Image processor and method for controlling image processor and its program and information storage medium
JP2004050726A (en) Image processor
JP2004303205A (en) Image forming apparatus with stored document information editable by external device, and document service providing method
JP4207985B2 (en) Scanner control device, scanner control system, and control method
JP5058023B2 (en) Image processing apparatus, image processing system, and image processing method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050906