(57)【要約】【課題】ＤＰＳで提唱されている以外の画像供給デバイスに合わせたエラー通知を行うような仕様にすると、簡略化し抽象化した情報しかユーザに通知できない様なコード体系を採用することになってしまい、高級な機器における高度なユーザインターフェースが無駄になってしまう。【解決手段】記録装置に画像データを送信して記録させることが可能な画像供給デバイスであって、記録装置からコードで送信されるステータス情報を受信し（Ｓ５１）、その受信したコードに含まれる機器レベルに対応する複数段階のレベルの情報を解析する度合を判定し（Ｓ５３，Ｓ５４，Ｓ５８，Ｓ５９）、その判定した度合に基づいて、そのコードに含まれる複数段階のレベルの情報の解析レベルを決定してコードを解析する（Ｓ５５，Ｓ５７，Ｓ６０，Ｓ６２）。こうして解析された解析結果に基づいてユーザに通知する。【選択図】  図１７
2004363912.tif 000002
【特許請求の範囲】
【請求項１】
記録装置に画像データを送信して記録させることが可能な画像供給デバイスであって、
前記記録装置から送信されるコードであって、当該コードを受信した機器レベルに対応する複数段階のレベルの情報を含むコードを受信する受信手段と、
前記コードに含まれる複数段階のレベルの情報の解析レベルを決定して前記コードを解析する解析手段と、
前記解析手段により解析された解析結果に基づいてユーザに通知する通知手段と、を有することを特徴とする画像供給デバイス。
【請求項２】
前記解析手段は、前記記録装置のメーカ名を取得する取得手段を有し、前記取得手段により取得した前記メーカ名と前記画像供給デバイスのメーカ名とが一致するかどうかに応じて前記前記解析レベルを決定することを特徴とする請求項１に記載の画像供給デバイス。
【請求項３】
前記コードは少なくとも各メーカ共通のコード及び各メーカ固有のコードを含むことを特徴とする請求項１又は２に記載の画像供給デバイス。
【請求項４】
前記コードは、所定事象に対して複数の解析範囲を有し、前記解析手段は、前記解析レベルに応じて、前記コード中の参照範囲が異なる事を特徴とする請求項１乃至３のいずれか１項に記載の画像供給デバイス。
【請求項５】
更に、画像供給デバイスを特定する情報もしくはメーカ名を、前記記録装置に送信する送信手段を有し、前記記録装置は、前記情報もしくはメーカ名に応じて前記複数の解析範囲のうちのいずれかに、各社共通コードとベンダ固有コードのいずれを設定するかを切り替えることを特徴とする請求項４に記載の画像供給デバイス。
【請求項６】
画像供給デバイスから記録装置に対して画像データを送信して記録させる記録システムであって、
前記記録装置は、前記画像供給デバイスの機器レベルに対応する複数段階のレベルの情報を含むコードを送信する送信手段を有し、
前記画像供給デバイスは、
前記記録装置から送信される前記コードを受信する受信手段と、
前記コードに含まれる複数段階のレベルの情報の解析レベルを決定して前記コードを解析する解析手段と、
前記解析手段により解析された解析結果に基づいてユーザに通知する通知手段と、を有することを特徴とする記録システム。
【請求項７】
前記解析手段は、前記記録装置のメーカ名を取得する取得手段を有し、前記取得手段により取得した前記メーカ名と前記画像供給デバイスのメーカ名とが一致するかどうかに応じて前記前記解析レベルを決定することを特徴とする請求項６に記載の記録システム。
【請求項８】
前記コードは少なくとも各メーカ共通のコード及び各メーカ固有のコードを含むことを特徴とする請求項６又は７に記載の記録システム。
【請求項９】
前記コードは、所定事象に対して複数の解析範囲を有し、前記解析手段は、前記解析レベルに応じて、前記コード中の参照範囲が異なる事を特徴とする請求項６乃至８のいずれか１項に記載の記録システム。
【請求項１０】
更に、画像供給デバイスを特定する情報もしくはメーカ名を、前記記録装置に送信する送信手段を有し、前記記録装置は、前記情報もしくはメーカ名に応じて前記複数の解析範囲のうちのいずれかに、各社共通コードとベンダ固有コードのいずれを設定するかを切り替えることを特徴とする請求項９に記載の記録システム。
【請求項１１】
画像供給デバイスから記録装置に対して画像データを送信して記録させる記録システムにおける記録制御方法であって、
前記記録装置から前記画像供給デバイスの機器レベルに対応する複数段階のレベルの情報を含むコードを送信し、
前記記録装置から送信される前記コードを前記画像供給デバイスにより受信する受信工程と、
前記コードに含まれる複数段階のレベルの情報の解析レベルを決定して前記コードを解析する解析工程と、
前記解析工程で解析された解析結果に基づいてユーザに通知する通知工程と、を有することを特徴とする記録制御方法。
【請求項１２】
前記解析工程では、前記記録装置のメーカ名を取得する取得工程を有し、前記取得工程で取得した前記メーカ名と前記画像供給デバイスのメーカ名とが一致するかどうかに応じて前記前記解析レベルを決定することを特徴とする請求項１１に記載の記録制御方法。
【請求項１３】
前記コードは少なくとも各メーカ共通のコード及び各メーカ固有のコードを含むことを特徴とする請求項１１又は１２に記載の記録制御方法。
【請求項１４】
前記コードは、所定事象に対して複数の解析範囲を有し、前記解析手段は、前記解析レベルに応じて、前記コード中の参照範囲が異なる事を特徴とする請求項１１乃至１３のいずれか１項に記載の記録制御方法。
【請求項１５】
更に、画像供給デバイスを特定する情報もしくはメーカ名を、前記記録装置に送信する送信手段を有し、前記記録装置は、前記情報もしくはメーカ名に応じて前記複数の解析範囲のうちのいずれかに、各社共通コードとベンダ固有コードのいずれを設定するかを切り替えることを特徴とする請求項１４に記載の記録制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルカメラなどの画像供給デバイスと記録システム及びその制御方法に関するものである。
【０００２】
【従来の技術】
近年、簡単な操作で画像を撮影し、その撮影した画像をデジタル画像データに変換できるデジタルカメラ（撮像装置）、所謂、デジカメが広く使用されるようになってきている。このようなカメラで撮影した画像を印刷して写真として使用する場合には、通常、一旦、その撮影されたデジタル画像データを、デジタルカメラからＰＣ（コンピュータ）に取り込み、そのＰＣで画像処理を行った後、そのＰＣからカラープリンタに出力して印刷するのが一般的である。
【０００３】
これに対して最近は、ＰＣを介することなく、直接、デジタルカメラからカラープリンタにデジタル画像データを伝送して印刷することができるカラープリントシステムや、デジタルカメラに搭載され、撮像した画像を記憶しているメモリカードを、直接、カラープリンタに装着し、そのメモリカードに記憶されている、撮影された画像を印刷できる、所謂フォトダイレクト（ＰＤ）プリンタ等も開発されている（特許文献１）。
【特許文献１】
特開平１０−２２９５３８号公報。
【０００４】
【発明が解決しようとする課題】
このようにデジタルカメラから直接カラープリンタに画像データを伝送して印刷するために、各メーカのデジタルカメラとカラープリンタ装置とのインターフェース仕様や操作方法などの標準化が望まれている。このような標準化のための一提案としてＤＰＳ（Ｄｉｒｅｃｔ  Ｐｒｉｎｔ  Ｓｙｓｔｅｍ）実現のためのガイドラインが提唱されている。
【０００５】
しかしながら、上記ＤＰＳで提唱されているデジタルカメラ以外の例えばＤＶＤやカメラ付携帯電話などの画像供給デバイスに対して、プリンタ装置からエラー等の情報を通知しようとした場合には、上記ＤＰＳで定義しているような詳細なエラー情報を通知することができない。そこで、このようなＤＰＳで提唱されている以外の画像供給デバイスに合わせたエラー通知を行うような仕様にすると、簡略化し抽象化した情報しかユーザに通知できない様なコード体系を採用することになってしまい、高級な機器における高度なユーザインターフェースが無駄になってしまう。
【０００６】
本発明は上記従来例に鑑みてなされたもので、画像供給デバイスの機器レベルに応じて、受信したコードに含まれる情報を解析してユーザに通知できるようにした画像供給デバイスと記録システム及びその制御方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために本発明の画像供給デバイスは以下のような構成を備える。即ち、
記録装置に画像データを送信して記録させることが可能な画像供給デバイスであって、  前記記録装置から送信されるコードであって、当該コードを受信した機器レベルに対応する複数段階のレベルの情報を含むコードを受信する受信手段と、
前記コードに含まれる複数段階のレベルの情報の解析レベルを決定して前記コードを解析する解析手段と、
前記解析手段により解析された解析結果に基づいてユーザに通知する通知手段と、を有することを特徴とする。
【０００８】
上記目的を達成するために本発明の記録システムは以下のような構成を備える。即ち、  画像供給デバイスから記録装置に対して画像データを送信して記録させる記録システムであって、
前記記録装置は、前記画像供給デバイスの機器レベルに対応する複数段階のレベルの情報を含むコードを送信する送信手段を有し、
前記画像供給デバイスは、
前記記録装置から送信される前記コードを受信する受信手段と、
前記コードに含まれる複数段階のレベルの情報の解析レベルを決定して前記コードを解析する解析手段と、
前記解析手段により解析された解析結果に基づいてユーザに通知する通知手段と、を有することを特徴とする。
【０００９】
上記目的を達成するために本発明の記録制御方法は以下のような工程を備える。即ち、  画像供給デバイスから記録装置に対して画像データを送信して記録させる記録システムにおける記録制御方法であって、
前記記録装置から前記画像供給デバイスの機器レベルに対応する複数段階のレベルの情報を含むコードを送信し、
前記記録装置から送信される前記コードを前記画像供給デバイスにより受信する受信工程と、
前記コードに含まれる複数段階のレベルの情報の解析レベルを決定して前記コードを解析する解析工程と、
前記解析工程で解析された解析結果に基づいてユーザに通知する通知工程と、を有することを特徴とする。
【００１０】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１１】
図１は、本発明の実施の形態に係るフォトダイレクトプリンタ装置（以下、ＰＤプリンタ装置）１０００の概観斜視図である。このＰＤプリンタ装置１０００は、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラからの画像データを受信して印刷する機能を備えている。
【００１２】
図１において、本実施の形態に係るＰＤプリンタ装置１０００の外殻をなす本体は、下ケース１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、ＰＤプリンタ装置１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部がされている。さらに、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから記録シートが排出可能となると共に、排出された記録シートを順次積載し得るようになっている。また排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、用紙の支持面積を３段階に拡大、縮小させ得るようになっている。
【００１３】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）或いはインクタンク（不図示）等の交換が可能となる。尚、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバー１００３の開閉状態を検出し得るようになっている。
【００１４】
また、上ケース１００２の上面には、電源キー１００５が設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。この操作パネル１０１０の構造は、図２を参照して詳しく後述する。１００７は自動給送部で、記録シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、プリントヘッドと記録シートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード（ＰＣ）としては、例えばコンパクトフラッシュ（登録商標）メモリ、スマートメディア、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、このＰＤプリンタ装置１０００の本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、１コマ毎の画像やインデックス画像などを表示するのに使用される。１０１２は後述するデジタルカメラを接続するためのＵＳＢ端子である。また、このＰＤ装置１０００の後面には、パーソナルコンピュータ（ＰＣ）を接続するためのＵＳＢコネクタが設けられている。
【００１５】
図２は、本実施の形態に係るＰＤプリンタ装置１０００の操作パネル１０１０の概観図である。
【００１６】
図において、液晶表示部１００６には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、複数ある写真画像ファイルの内、印刷したい写真画像の先頭番号、指定コマ番号（開始コマ指定／印刷コマ指定）、印刷を終了したい最後の写真番号（終了）、印刷部数（部数）、印刷に使用する用紙（記録シート）の種類（用紙種類）、１枚の用紙に印刷する写真の枚数設定（レイアウト）、印刷の品位の指定（品位）、撮影した日付を印刷するかどうかの指定（日付印刷）、写真を補正して印刷するかどうかの指定（画像補正）、印刷に必要な用紙枚数の表示（用紙枚数）等がある。これら各項目は、カーソルキー２００１を用いて選択、或いは指定される。２００２はモードキーで、このキーを押下する毎に、印刷の種類（インデックス印刷、全コマ印刷、１コマ印刷等）を切り替えることができ、これに応じてＬＥＤ２００３の対応するＬＥＤが点灯される。２００４はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。２００５は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。２００６は印刷中止キーで、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
【００１７】
次に図３を参照して、本実施の形態に係るＰＤプリンタ装置１０００の制御に係る主要部の構成を説明する。尚、この図３において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
【００１８】
図３において、３０００は制御部（制御基板）を示している。３００１はＡＳＩＣ（専用カスタムＬＳＩ）を示している。３００２はＤＳＰ（デジタル信号処理プロセッサ）で、内部にＣＰＵを有し、後述する各種制御処理及び、輝度信号（ＲＧＢ）から濃度信号（ＣＭＹＫ）への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。３００３はメモリで、ＤＳＰ３００２のＣＰＵの制御プログラムを記憶するプログラムメモリ３００３ａ、及び実行時のプログラムを記憶するＲＡＭエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。３００４はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。３００５はデジタルカメラ（ＤＳＣ）３０１２を接続するためのポートとしてのＵＳＢコネクタである。３００６はビューワ１０１１を接続するためのコネクタである。３００８はＵＳＢハブ（ＵＳＢＨＵＢ）で、このＰＤプリンタ装置１０００がＰＣ３０１０からの画像データに基づいて印刷を行う際には、ＰＣ３０１０からのデータをそのままスルーし、ＵＳＢ３０２１を介してプリンタエンジン３００４に出力する。これにより、接続されているＰＣ３０１０は、プリンタエンジン３００４と直接、データや信号のやり取りを行って印刷を実行することができる（一般的なＰＣプリンタとして機能する）。３００９は電源コネクタで、電源３０１９により、商用ＡＣから変換された直流電圧を入力している。ＰＣ３０１０は一般的なパーソナルコンピュータ、３０１１は前述したメモリカード（ＰＣカード）、３０１２はデジタルカメラ（ＤＳＣ：ＤｉｇｉｔａｌＳｔｉｌｌＣａｍｅｒａ）である。
【００１９】
尚、この制御部３０００とプリンタエンジン３００４との間の信号のやり取りは、前述したＵＳＢ３０２１又はＩＥＥＥ１２８４バス３０２２を介して行われる。
【００２０】
図４は、本実施の形態に係るＤＳＣ（デジタルカメラ）３０１２の構成を示すブロック図である。
【００２１】
同図において、３１００はＤＳＣ３０１２全体の制御を司るＣＰＵであり、３１０１はＣＰＵ３１００による処理手順を記憶しているＲＯＭである。３１０２はＣＰＵ３１００のワークエリアとして使用されるＲＡＭであり、３１０３は各種操作を行うスイッチ群で、各種スイッチやカーソルキー等が含まれている。２７００は液晶表示部であり、現時点で撮影している映像や、撮像されて記憶されている画像を表示したり、各種設定を行う際のメニューを表示するために使用される。３１０５は光学ユニットであり、主としてレンズ及びその駆動系で構成される。３１０６はＣＣＤ素子であり、３１０７はＣＰＵ３１００の制御下において光学ユニット３１０５を駆動制御するドライバである。３１０８は記憶媒体３１０９（コンパクトフラッシュ（登録商標）メモリカード、スマートメディア等）を接続するためのコネクタであり、３１１０はＰＣ或いは実施形態におけるＰＤプリンタ１０００と接続するためのＵＳＢインターフェース（ＵＳＢのスレーブ側）である。
【００２２】
図５は、本実施の形態に係るＰＤプリンタ装置１０００とＤＳＣ３０１２との接続を説明する図で、前述の図面において共通している部分は同じ記号で示し、その説明を省略している。
【００２３】
図において、ケーブル５０００は、ＰＤプリンタ装置１０００のコネクタ１０１２と接続されるコネクタ５００１と、デジタルカメラ３０１２の接続用コネクタ５００３と接続するためのコネクタ５００２とを備えており、また、デジタルカメラ３０１２は、内部のメモリに保存している画像データを、接続用コネクタ５００３を介して出力可能に構成されている。なお、デジタルカメラ３０１２の構成としては、内部に記憶手段としてのメモリを備えるものや、取外し可能なメモリを装着するためのスロットを備えたものなど、種々の構成を採用することができる。このように、図５に示すように、ケーブル５０００を介してＰＤプリンタ装置１０００とデジタルカメラ３０１２とを接続することにより、デジタルカメラ３０１２からの画像データを直接ＰＤプリンタ装置１０００で印刷することができる。
【００２４】
以下、以上の構成に基づく本実施の形態に係る印刷システムの動作例を実施例として説明する。
【００２５】
以上の構成に基づくＤＳＣ３０１２とＰＤプリンタ装置１０００とを含む印刷システムにおける動作概要を以下に説明する。尚、この実施の形態に係る印刷システムでは、ＤＳＣ３０１２とＰＤプリンタ装置１０００とはそれぞれ本実施の形態に係る手順ＤＰＳ（Ｄｉｒｅｃｔ  Ｐｒｉｎｔ  Ｓｙｓｔｅｍ）の仕様に従った動作が可能であるものとする。
【００２６】
図６は、本実施の形態に係る印刷システムにおいて、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対してプリント要求を発行して印刷を行う場合の手順を説明する図である。
【００２７】
この処理手順は、ＰＤプリンタ装置１０００とＤＳＣ３０１２とがＵＳＢケーブル５０００を介して接続された後、互いにＤＰＳ仕様に準拠していることを確認した後に実行される。まずＤＳＣ３０１２は「ＣｏｆｉｇｕｒｅＰｒｉｎｔＳｅｒｖｉｃｅ」をＰＤプリンタ装置１０００に送信して、ＰＤプリンタ装置１０００の状態をチェックする（６００）。これに対してＰＤプリンタ装置１０００から、その時点でのＰＤプリンタ装置１０００の状態（ここでは「アイドル」状態）が通知される（６０１）。そしてＤＳＣ３０１２は、ＰＤプリンタ装置１０００のＣａｐａｂｉｌｉｔｙを問合せ（６０２）、そのＣａｐａｂｉｌｉｔｙに応じたプリント開始要求（ＳｔａｒｔＪｏｂ）を発行する（６０３）。尚、このプリント開始要求は、６０１で、後述するＰＤプリンタ装置１０００からのステータス情報の中の「ｎｅｗＪｏｂＯＫ」が「Ｔｒｕｅ（真）」になっていることを条件に発行される。
また、このＣａｐａｂｉｌｉｔｙは、その機器が有する能力に関する情報であり、このＣａｐａｂｉｌｉｔｙを受信することにより、相手装置の能力に合わせた制御が可能となる。画像供給装置は、プリントしたい画像に対するプリント条件を、通信相手のＣａｐａｂｉｌｉｔｙに合わせて設定することも可能となる。
【００２８】
このプリント開始要求に対してＰＤプリンタ装置１０００は、印刷が指示された画像データのファイルＩＤに基づいてファイル情報をＤＳＣ３０１２に要求する（６０４）。これに応答してＤＳＣ３０１２から、そのファイル情報が送信される。このファイル情報にはファイル容量等の情報が含まれる。そしてＰＤプリンタ装置１０００がそのファイル情報を受信して処理可能であると判断すると、そのファイル情報をＤＳＣ３０１２に要求する（６０５）。これによりその要求されたファイルの画像データがＤＳＣ３０１２からＰＤプリンタ装置１０００に送られる。これによりＰＤプリンタ装置１０００がプリント処理を開始すると、６０６で「印刷中（Ｐｒｉｎｔｉｎｇ）」を示すステータス情報が、ＰＤプリンタ装置１０００からＤＳＣ３０１２に「ＮｏｔｉｆｙＤｅｖｉｃｅＳｔａｔｕｓ」によって送られる。そして１頁のプリント処理が終了すると、次のページの処理開始時にＰＤプリンタ装置１０００から「ＮｏｔｉｆｙＪｏｂＳｔａｔｕｓ」６０７により、それが通知される。そして１頁だけの印刷であれば、そのプリント要求した１頁の印刷が終了すると、次に「ＮｏｔｉｆｙＤｖｉｃｅＳｔａｔｕｓ」６０８によりＰＤプリンタ装置１０００が「アイドル」状態になったことが通知される。尚、例えば、１頁に複数（Ｎ）の画像をレイアウトして印刷するＮ−ｕｐ印刷の場合には、Ｎ枚の画像を印刷する度に、「ＮｏｔｉｆｙＪｏｂＳｔａｔｕｓ」６０７がＰＤプリンタ装置１０００からＤＳＣ３０１２に送られることになる。本実施の形態での「ＮｏｔｉｆｙＪｏｂＳｔａｔｕｓ」及び「ＮｏｔｉｆｙＤｅｖｉｃｅＳｔａｔｕｓ」の発行タイミングと画像データの取得の順番は一例であり、製品の実装によっては様々なケースが起こりうる。
【００２９】
尚、このプリント処理において、ＤＳＣ３０１２からのプリント開始要求（ＳｔａｒｔＪｏｂ）に、印刷すべき画像データのファイルＩＤを一括して含めて送信して印刷する場合と、一般の写真現像で使用されるＤＰＯＦファイルのファイルＩＤのみをＤＳＣ３０１２からのプリント開始要求（ＳｔａｒｔＪｏｂ）に含めてＰＤプリンタ装置１０００に送信し、ＰＤプリンタ装置１０００がそのＤＰＯＦファイルを解釈し、必要な画像データのファイルＩＤを取得してプリントする場合も含まれる。
【００３０】
図７は、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して発行されるプリント開始要求の具体例を説明する図である。
【００３１】
図において、７２０は、この印刷ジョブのコンフィグレーション（ｊｏｂＣｏｎｆｉｇ）を示し、７２１はプリント情報（ｐｒｉｎｔＩｎｆｏ）を示している。
【００３２】
まずコンフィグレーション７２０について説明する。７００は印刷する画質を示し、これには例えば「標準」、「高画質」などがある。７０１は用紙サイズ、７０２は用紙タイプで、例えば「普通紙」、「写真用紙」、「インクジェット専用紙」等がある。７０３は印刷する画像ファイルのタイプを指定するもので、例えばＤＰＯＦを使用する場合は、これで指定される。７０４は日付印刷の有無、７０５はファイル名の印刷の有無、７０６は画像最適化を行うかどうか、７０７は固定サイズの印刷、７０８は画像の指定された範囲の印刷を行うかどうかの有無をそれぞれ指定する。またプリント情報７２１は、ファイルＩＤ７０９と、日付情報７１０を含んでいる。
【００３３】
図８は、前述のＪｏｂＳｔａｔｕｓとＤｅｖｉｃｅＳｔａｔｕｓに含まれる情報を説明する図である。ここで図８（Ａ）のＪｏｂＳｔａｔｕｓ及び図８（Ｂ）のＤｅｖｉｃｅＳｔａｔｕｓはＰＤプリンタ装置１０００からＤＳＣ３０１２に送信される。また、ＤＳＣ３０１２は任意のタイミングで、それらの情報をＰＤプリンタ１０００へ送信要求することができる。
【００３４】
図８において、「ｐｒｔＰＩＤ」、「ＩｍａｇｅＰａｔｈ」及び「ｃｏｐｙＩＤ」はＤＰＯＦファイルの印刷が指示された場合に有効になる。「ｐｒｔＰＩＤ」はＤＰＯＦファイルで指定された印刷セクションの識別情報（ＩＤ）、「ＩｍａｇｅＰａｔｈ」はＤＰＯＦファイルで指定された画像ファイルを特定するためのパスの情報、そして「ｃｏｐｙＩＤ」は複数枚の印刷指定時に、実際に何枚目を印刷しているかを意味している。ＤＰＯＦファイルによる印刷の場合は、ＤＳＣ３０１２は、プリント開始要求（ＳｔａｒｔＪｏｂ）中にＤＰＯＦファイルの「ｆｉｌｅＩＤ」を記載してＰＤプリンタ装置１０００に送信する。これによりＰＤプリンタ装置１０００は、そのＤＰＯＦファイルの印刷を開始できる。そしてＰＤプリンタ装置１０００は、そのＤＰＯＦファイルの「ｆｉｌｅＩＤ」を基にＤＰＯＦファイルを取得し、「ＧｅｔＦｉｌｅＩＤ」を実行して、ＤＰＯＦファイル中に指定された画像ファイルの「ｆｉｌｅＩＤ」を特定し、その画像ファイルをＤＳＣ３０１２に要求して、その画像データを取得する。こうしてＤＰＯＦファイルで指定された画像を印刷することができる。そして、ＤＰＯＦファイルによる印刷実行中に、印刷の進行状況を示す上記「ｐｒｔＰＩＤ」、「ＩｍａｇｅＰａｔｈ」及び「ｃｏｐｙＩＤ」が、ＰＤプリンタ装置１０００から前述の「ＮｏｔｉｆｙＪｏｂＳｔａｔｕｓ」によりＤＳＣ３０１２に通知される。
【００３５】
尚、このＤＰＯＦファイルの印刷中に何らかの理由で印刷が中断された後、印刷が再開された時は、印刷が中止されたページの先頭から、その印刷処理が再開される。
【００３６】
「ｐｒｏｇｒｅｓｓ」は、印刷予定枚数の内、現在何枚目を印刷しているか（Ｎ／Ｔ）を示す。ここでＮは現在の印刷ページ、Ｔはトータルの印刷枚数を示す。「ｉｍａｇｅＰｒｉｎｔｅｄ」は印刷済みの画像枚数を示す。
【００３７】
次にＤｅｖｉｃｅＳｔａｔｕｓについて説明する。
【００３８】
「ｄｏｓＰｒｉｎｔＳｅｒｖｉｃｅＳｔａｔｕｓ」は、ＰＤプリンタ装置１０００の状態を意味し、ＤＳＣ３０１２に通知される。この状態には、アイドル、プリント、ポーズ状態が含まれる。「ｊｏｂＥｎｄＲｅａｓｏｎ」は、プリント処理の終了状況を意味し、最終ページの印刷が完了するとＤＳＣ３０１２に通知される。「ｅｒｒｏｒＳｔａｔｕｓ」はそのエラーの状態を意味し、エラーが発生した場合に通知される。「ｅｒｒｏｒＲｅａｓｏｎ」は、そのエラーの発生理由を意味し、「ｅｒｒｏｒＳｔａｔｕｓ」と共に通知される。「ｄｉｓｃｏｎｎｅｃｔＥｎａｂｌｅ」は、ＵＳＢケーブル５０００が外されても印刷可能であることを意味し、ＰＤプリンタ装置１０００からＤＳＣ３０１２に通知される。「ＣａｐａｂｉｌｉｔｙＣｈａｎｇｅｄ」は、ＰＤプリンタ装置１０００におけるＣａｐａｂｉｌｉｔｙが変更されたことを意味し、ＤＳＣ３０１２に通知される。「ｎｅｗＪｏｂＯＫ」は、ＰＤプリンタ装置１０００が印刷要求を受付け可能であることを意味し、ＤＳＣ３０１２に通知される。
【００３９】
図９は、本実施の形態のＤＳＣ３０１２における印刷再開処理を示すフローチャートである。尚、この処理を実行するプログラムはＲＯＭ３１０１に記憶されており、このプログラムに従ってＣＰＵ３１００が制御処理を実行することにより、この処理が実現される。
【００４０】
この処理はプリントジョブの実行中に、例えばケーブル５０００が外れることによりプリント動作が中止され、その後、ＤＰＳの再接続が確立されて、ＤＳＣ３０１２の印刷ボタンが指示されて、ＰＤプリンタ装置１０００に対してプリント動作の再開が指示されることにより、ＰＤプリンタ装置１０００において印刷が再開される処理を示したものである。
【００４１】
この前提としては、ＰＤプリンタ装置１０００においてプリント処理が中断されており、ＤＳＣ３０１２においても、プリント処理が中断していることを認識していることが必要である。
【００４２】
まずステップＳ１で、ケーブル５０００が接続される等により、ＤＳＣ３０１２とＰＤプリンタ装置１０００とが物理的に接続されて、ＤＰＳの再接続が確立されたか否かが判定され、接続が確立されるとステップＳ２に進み、ＤＳＣ３０１２において印刷再開が指示されると、プリントの中断中であるか否かを判断する。そうでない時はステップＳ３に進み、通常の処理、即ち、印刷指示に応じて新規に印刷を開始する等の処理に移行する。
【００４３】
プリントの中断中である時はステップＳ４に進み、新たに接続が確立したＰＤプリンタ装置１０００が、前回のプリント処理が中断した時のＰＤプリンタ装置１０００と同じ機種（＜ｄｐｓＶｅｒｓｉｏｎ＞と＜ｐｒｏｄｕｃｔＮａｍｅ＞が同じ）或いは同じメーカの機種（＜ｐｒｏｄｕｃｔＮａｍｅ＞）、或いは同じベンダーの機種（＜ｖｅｎｄｏｒＮａｍｅ＞）かどうかを判定する。この手順は、ＤＳＣ３０１２から発行される「ＣｏｎｆｉｇｕｒｅＰｒｉｎｔＳｅｒｖｉｃｅ」に対してＰＤプリンタ装置１０００から応答される内容に基づいて判断する。これは同じＰＤプリンタ装置が再接続された場合は問題ないが、それ以外の機種でも同じメーカやベンダーの機種であれば、各メーカやベンダの設計に基づいて本実施の形態に係る再印刷処理が可能である場合には再開可能と判断して、これ以降の処理に進むものである。ステップＳ４で「Ｎｏ」と判定されるとステップＳ５に進み、プリントの継続が実行できないと判断して、その旨を表示部２７００に表示する。また、この時必要に応じて、表示部２７００に表示するＵＩ（ユーザメニュー画面）を変更しても良い。
【００４４】
ステップＳ４で、印刷中断前の機種と同一或いは対応する機種のプリンタ装置であると判定するとステップＳ６に進み、ＤＰＯＦファイルの印刷中であったかどうかを調べる。そうであればステップＳ７に進み、ＤＰＯＦファイルのファイルＩＤをＰＤプリンタ装置１０００に送信する。この場合、既に印刷済みのページの画像ファイルを印刷しないように、前述の「ｐｒｔＰＩＤ」、「ｉｍａｇｅＰａｔｈ」や「ｃｏｐｙＩＤ」をＤＰＯＦファイルのファイルＩＤと共に送信することにより、ＤＰＯＦファイル中の印刷再開を行うファイルを指定する。
【００４５】
また一方ステップＳ６で、ＤＰＯＦファイルの印刷中でない時、即ち、各画像ファイルを指定して印刷を行う場合には、当初印刷予定の画像ファイルのファイルＩＤ中から既に印刷済みの画像ファイルを除いた画像ファイルのファイルＩＤを一括してＰＤプリンタ装置１０００に送信して印刷を実行する。尚、ここで印刷再開指示は、ＤＳＣ３０１２の操作ボタンの中の印刷ボタンが指示されることにより、ＤＳＣ３０１２からＰＤプリンタ装置１０００に「ＳｔａｒｔＪｏｂ」が送られて印刷が再開される。
【００４６】
尚、各ページのプリント終了は、ＰＤプリンタ装置１０００からの次のページの先頭で送られる「ｊｏｂＳｔａｔｕｓ」（次ページのプリント開始を意味する）、或いは最終ページの場合は「ｄｅｖｉｃｅＳｔａｔｕｓ」に含まれる「ｊｏｂＥｎｄＲｅａｓｏｎ」によりＰＤプリンタ装置１０００からＤＳＣ３０１２に報知される。従って、ＤＳＣ３０１２は印刷済みの画像枚数を確認することができ、各画像を一枚ずつ印刷する場合は、印刷命令で指定した枚数の画像の印刷が終了しているかどうかにより、或いはＤＰＯＦファイルによる印刷の場合には、そのＤＰＯＦファイル中の進捗状況（「ｐｒｔＰＩＤ」、「ＩｍａｇｅＰａｔｈ」及び「ｃｏｐｙＩＤ」）または印刷が完了したかどうかにより印刷の中断かどうかを判定できる。
【００４７】
また、１ページに一枚の画像を印刷する場合には、印刷する用紙枚数と画像の数とは一致するが、１枚の用紙に複数（Ｎ）の画像をレイアウト印刷する場合には、印刷する画像の数と印刷枚数とは一致しない。このためＤＳＣ３０１２では、印刷モードに応じて、印刷する用紙枚数と画像データの数との整合を採る必要がある。
【００４８】
［実施例２］
前述の図７において、＜ｊｏｂＣｏｎｆｉｇ＞７２０の７０４で日付印刷＜ｄａｔｅＰｒｉｎｔ＞が指定されている場合は、＜ｐｒｉｎｔＩｎｆｏ＞７２１に含まれている日付データ＜ｄａｔｅ＞７１０が印刷される。また、＜ｊｏｂＣｏｎｆｉｇ＞７２０の７０４で日付印刷＜ｄａｔｅＰｒｉｎｔ＞が指定されていない場合には、＜ｐｒｉｎｔＩｎｆｏ＞７２１に日付データ＜ｄａｔｅ＞７１０が含まれていても、その日付データは無視され印刷されることはない。
これにより、＜ｐｒｉｎｔＩｎｆｏ＞７２１に含むデータの自由度が増すため、例えば他で使用している画像データと日付リストをそのまま＜ｐｒｉｎｔＩｎｆｏ＞７２１に貼付けることにより、ｓｔａｒｔＪｏｂコマンドを作成することができる。
【００４９】
図１０は、本発明の実施の形態に係る印刷システムにおける処理を説明するフローチャートである。
【００５０】
この実施の形態では、ＤＳＣ３０１２からＰＤプリンタ装置１０００に対して何らかのコマンドを発行した場合、それに伴ってＰＤプリンタ装置１０００のステータスが変更されると、それが前述の「ＮｏｔｉｆｙＤｅｖｉｃｅＳｔａｔｕｓ」によりＰＤプリンタ装置１０００からＤＳＣ３０１２に通知される。しかしながら、そのＰＤプリンタ装置１０００で状態変化が発生しなかった場合、或いはその応答が遅れた場合には、ＤＳＣ３０１２では、前回発行したコマンドによりＰＤプリンタ装置１０００において、当然に予測されるステータスの変化が発生しているものと判断（推測）して、それに応じた処理を実行する。また、ＰＤプリンタ装置１０００の状態を確認したい場合には、ＰＤプリンタ装置１０００に対して「ＧｅｔＤｅｖｉｃｅＳｔａｔｕｓ」を発行することにより、そのＰＤプリンタ装置１０００の状態を取得し、その取得したステータスに応じた処理を実行する。
【００５１】
以下、図１０のフローチャートを参照してその一例を説明する。
【００５２】
まずステップＳ１０で、ＰＤプリンタ装置１０００に対して印刷開始要求「ＳｔａｒｔＪｏｂ」を発行する。次にステップＳ１１に進み、所定時間内にＰＤプリンタ装置１０００から所定のステータス応答「ＮｏｔｉｆｙＤｅｖｉｃｅＳｔａｔｕｓ」が送られてくるかをみる。仮にＰＤプリンタ装置１０００が１つの印刷ジョブのみ受け付け可能な製品であった場合には、印刷開始要求「ＳｔａｒｔＪｏｂ」を発行すると、ＰＤプリンタ装置１０００が次の印刷ジョブの受け付けが不可能な状態であることを示す「ＮｏｔｉｆｙＤｅｖｉｃｅＳｔａｔｕｓ」の「ｎｅｗＪｏｂＯＫ」が「Ｆａｌｓｅ（偽）」になっているはずである。こうしてステップＳ１１で正常な応答が受信されるとステップＳ１２に進み、次に「ｎｅｗＪｏｂＯＫ」が「真」になるのを待って次のコマンド発行を行ったり、ＰＤプリンタ装置１０００からの要求に応じて画像データ等を出力する、通常の印刷処理を実行する。
【００５３】
ステップＳ１１で正常な応答がなかった場合はステップＳ１３に進み、印刷が実行できなかったことを示す「ＮｏｔＥｘｅｃｕｔｅｄ」を受信したかを調べる。「ＮｏｔＥｘｅｃｕｔｅｄ」を受信したときはステップＳ２０に進み、ＰＤプリンタ装置１０００に対して「ＧｅｔＤｅｖｉｃｅＳｔａｔｕｓ」を発行し、ＰＤプリンタ装置１０００のステータスを取得する。そのステータスにより命令が実行されなかった理由が判明して、再発行可能であれば表示部２７００のＵＩにその旨を表示する。ここでユーザにより命令の再発行が指示されるとステップＳ２１からＳ２２に進み、以前実行されなかった命令を再度ＰＤプリンタ装置１０００に再発行する。再発行の指示が入力されない時はステップＳ２１からステップＳ１９に進む。
【００５４】
またステップＳ１３で、「ＮｏｔＥｘｅｃｕｔｅｄ」を受信していないときはステップＳ１４に進み、「ＮｏｔＳｕｐｐｏｒｔｅｄ」を受信したかどうかをみる。「ＮｏｔＳｕｐｐｏｒｔｅｄ」を受信したときはステップＳ１５に進み、この場合は、前回発行したコマンドはＰＤプリンタ装置１０００によりサポートされていないので、表示部２７００のＵＩに、そのコマンドがＰＤプリンタ装置１０００においてサポートされないことを示すように、例えば選択不能して表示する。
【００５５】
またステップＳ１４で「ＮｏｔＳｕｐｐｏｒｔｅｄ」を受信していない時はステップＳ１１’に進み、所定時間内に所定のステータスの応答があったかどうかをみる。ステップＳ１１’で所定のステータス応答を受信した場合には前述のステップＳ１２に進み、通常の動作を継続する。一方、ステップＳ１１’で所定のステータス情報を受信しない時にはステップ１６に進み、通常の動作として動作を継続するかどうかを判定する。これは前述のＵＩを表示部２７００に表示し、ユーザにより選択可能にしても良い。ここで通常の動作に進む場合はステップＳ１２に進むが、ユーザによる指示などが無くて通常の動作に移行しない時はステップＳ１７に進み、ＰＤプリンタ装置１０００に対して「ＧｅｔＤｅｖｉｃｅＳｔａｔｕｓ」を発行してステータスを要求する。次にステップＳ１８に進み、その取得したステータスが正常なステータスであれば、通常予測されるステータスであるとしてステップＳ１２の通常処理に進む。それ以外のステータスが取得された時はステップＳ１９に進み、その取得したステータスに応じた処理を実行する。
【００５６】
尚、前述のステップＳ１３で、予期しない「ＮｏｔＥｘｅｃｕｔｅｄ」が応答された場合の理由としては、例えば、そのＰＤプリンタ装置１０００にＰＣ３０１０が接続されていて、ＤＳＣ３０１２からの印刷開始要求と略同時にＰＣ３０１０からの印刷指示を受信して、ＰＣ３０１０からの印刷データによる印刷処理を実行し始めた場合等が考えられる。また、ステップＳ１１で所定のステータス情報を受信しない場合の理由としては、例えばＰＤプリンタ装置１０００が複数の印刷ジョブを受け付け可能な製品であり、印刷要求「ＳｔａｒｔＪｏｂ」を受け付けた後でも「ＤｅｖｉｃｅＳｔａｔｕｓ」の「ｎｅｗＪｏｂＯＫ」が「Ｔｒｕｅ（真）」のまま変化せず、そのために「ＮｏｔｉｆｙＤｅｖｉｃｅＳｔａｔｕｓ」がＰＤプリンタ装置１０００から発行されない場合等が考えられる。この場合においてもＤＳＣ３０１２側としては、「ＧｅｔＤｅｖｉｃｅＳｔａｔｕｓ」でＰＤプリンタ装置１０００の状態を確認するまではＰＤプリンタ装置１０００の状態を仮に「ｎｅｗＪｏｂＯＫ」が「Ｆａｌｓｅ（偽）」と推測して動作する方が安全である。これは何らかの理由で、「ｎｅｗＪｏｂＯＫ」が「Ｆａｌｓｅ（偽）」という状態を通知する「ＮｏｔｉｆｙＤｅｖｉｃｅＳｔａｔｕｓ」の発行が遅れている可能性が有るためである。
【００５７】
次に、本実施の形態に係る印刷システムのＤＳＣ３０１２からプリントの継続及びプリント中断の場合の処理を説明する。この場合も、印刷システムの構成及びＤＳＣ３０１２、ＰＤプリンタ装置１０００の構成は前述の構成と同様であるため、その説明を省略する。
【００５８】
図１１は、本実施の形態に係るＤＳＣ３０１２におけるプリント処理が中断されていて、プリント開始を指示する印刷ボタンが指示されることにより実行されるプリント継続処理を説明するフローチャートである。
【００５９】
まずステップＳ１１０で、ＤＳＣ３０１２の操作ボタン３１０３の印刷ボタンが指示されたかを調べ、そうでない時はステップＳ１１１に進み、指示されたボタン或いはボタンによる指示待ちの等の他の処理を実行する。印刷ボタンが指示された時はステップＳ１１２に進み、ＰＤプリンタ装置１０００に対して「ＧｅｔＤｅｖｉｃｅＳｔａｔｕｓ」を発行して、ＰＤプリンタ装置１０００のステータス情報を要求し、それに応答してＰＤプリンタ装置１０００から送られてくるステータス情報を取得する。次にステップＳ１１３に進み、その取得したステータス情報に基づいて、ＰＤプリンタ装置１０００のステータスが「ポーズ」であるかをみる。そうであればステップＳ１１４に進み、過去にエラーが発生していて「Ｗａｒｎｉｎｇ」になっている（例えばケーブルの脱着等）か、或いはエラーが発生していないかをみる。そうであれば印刷処理の再開が可能（ＰＤプリンタ装置１０００よりのステータスを受信しているため）と判断してステップＳ１１５に進み、ＰＤプリンタ装置１０００に対してプリント処理の再開を指示する（「ＣｏｎｔｉｎｕｅＪｏｂ」の送信）。
【００６０】
またステップＳ１１３で、ポーズ状態でない時、或いはステップＳ１１４で、別のエラーが発生している時は印刷再開が不可能と判断して、表示部２７００のＵＩにその旨を表示する。この場合は、例えば表示部２７００にメッセージを表示してユーザに印刷再開ができない旨を通知したり、及び／或いは印刷ボタンの選択を不可能にすることなどが考えられる。また、ステップＳ１１０の印刷ボタンの押下判定前にプリンタのステータスを取得しておき、印刷ボタンのＯＮ／ＯＦＦを設定してユーザに通知することにより、ユーザに無用な印刷ボタンの押下を行わせないようにできる。
【００６１】
図１２は、本実施の形態に係るＤＳＣ３０１２におけるプリント処理の中止を指示する印刷中止ボタンが指示されることにより実行されるプリント中止処理を説明するフローチャートである。
【００６２】
まずステップＳ１２１で、ＤＳＣ３０１２の操作ボタン３１０３の中止ボタンが指示されたかを調べ、そうでない時はステップＳ１２２に進み、指示されたボタン或いはボタンによる指示待ちの等の他の処理を実行する。中止ボタンが指示された時はステップＳ１２３に進み、ＰＤプリンタ装置１０００に対して「ＧｅｔＤｅｖｉｃｅＳｔａｔｕｓ」を発行して、ＰＤプリンタ装置１０００のステータス情報を要求し、それに応答してＰＤプリンタ装置１０００から送られてくるステータス情報を取得する。次にステップＳ１２４に進み、その取得したステータス情報に基づいて、ＰＤプリンタ装置１０００のステータスが「ポーズ」であるかをみる。そうであればステップＳ１２６に進むが、そうでない時はステップＳ１２５に進み、プリント中であるかをみる。そうであれば印刷処理の中止が可能と判断してステップＳ１２６に進み、ＰＤプリンタ装置１０００に対してプリント処理の中止を指示する（「ＡｂｏｒｔＪｏｂ」の送信）。
【００６３】
またステップＳ１２５で印刷中でない時は、印刷処理の中止は不可能であると判断して、表示部２７００のＵＩにその旨を表示する。この場合は、例えば表示部２７００にメッセージを表示してユーザに印刷中止ができない旨を通知したり、及び／或いは中止ボタンの選択を不可能にすることなどが考えられる。また、ステップＳ１２１の中止ボタンの押下判定前にプリンタのステータスを取得しておき、中止ボタンのＯＮ／ＯＦＦを設定してユーザに通知することにより、ユーザに無用な中止ボタンの押下を行わせないようにできる。
【００６４】
上述した実施の形態では、ＤＳＣ３０１２における処理を中心に説明したが、ＰＤプリンタ装置１０００においてＤＳＣ３０１２から画像データを取得する場合の処理について説明する。尚、この実施の形態におけるハードウェア構成は前述の実施の形態の場合と同様であるので、その説明を省略する。
【００６５】
図１３は、本発明の実施の形態に係るＰＤプリンタ装置１０００における画像データの取得処理を説明するフローチャートで、この処理を実行するプログラムはプログラムメモリ３００３ａに記憶されており、ＤＳＰ３００２の制御の下に実行される。
【００６６】
この処理は、ＤＳＣ３０１２から印刷要求（「ＳｔａｒｔＪｏｂ」）が送られてきて、印刷処理の開始が指示されることにより開始され、まずステップＳ３１で、「ＧｅｔＦｉｌｅＩｎｆｏ」をＤＳＣ３０１２に送って、ＤＳＣ３０１２が印刷したい画像ファイルに関する情報を要求する。これによりステップＳ３２で、ＤＳＣ３０１２から、その画像ファイルに関する情報（データ量等）が送られてくると、それに含まれているファイル容量を示す情報を取得してステップＳ３３に進み、その画像ファイルを一度に全て受信して処理可能かどうかを判定する。これはＰＤプリンタ装置１０００が有しているメモリ３００３の空エリアのメモリ容量等に基づいて判定される。ここで全画像データを一度に全て受信できないと判断するとステップＳ３４に進み、その画像ファイルの読み出し開始アドレス及び読み出し量を指定して、その画像ファイルの部分画像データを要求する。これは「ＧｅｔＰａｒｔｉａｌＦｉｌｅ」を使用して行われる。これによりＤＳＣ３０１２は、その指定された部分画像データを、その画像ファイルから読み出してＰＤプリンタ装置１０００に送信する。ステップＳ３５で、この部分画像データを受信したＰＤプリンタ装置１０００は、ステップＳ３６で、その部分画像データを処理して印刷を行う。次にステップＳ３７に進み、その画像ファイルの全画像データをプリントしたかを調べ、していない時はステップＳ３４に戻って、次の部分画像データを要求する。こうして、その画像ファイルの全てを受信して印刷するまで、上述の処理が繰り返し実行される。
【００６７】
またステップＳ３３で、その画像ファイルの画像データを一度に受信して処理可能であると反題した時はステップＳ３８に進み、ＤＳＣ３０１２に対してその画像ファイルの全データを要求し、ステップＳ３９では、この要求に基づいてＤＳＣ３０１２から送られてくる、その画像ファイルの全画像データを受信して印刷する。
【００６８】
図１４は、本発明の実施の形態に係るＰＤプリンタ装置１０００における画像データの取得処理の他の例を説明するフローチャートで、この処理を実行するプログラムはプログラムメモリ３００３ａに記憶されており、ＤＳＰ３００２の制御の下に実行される。
【００６９】
この処理は、ＤＳＣ３０１２から印刷要求（「ＳｔａｒｔＪｏｂ」）が送られてきて、印刷処理の開始が指示されることにより開始され、まずステップＳ４１で、「ＧｅｔＦｉｌｅＩｎｆｏ」をＤＳＣ３０１２に送って、ＤＳＣ３０１２が印刷したい画像ファイルに関する情報を要求する。これによりステップＳ４２で、ＤＳＣ３０１２から、その画像ファイルに関する情報が送られてくるとステップＳ４３に進み、その画像ファイルがサムネイル画像を含んでいるかどうかを判定する。含んでいる時はステップＳ４４に進み、操作部１０１でインデックスプリントが指示されているかどうかを判定する。インデックスプリントが指示されている時はステップＳ４５に進み、そのサムネイル画像データをＤＳＣ３０１２に要求して（「ＧｅｔＴｈｕｍｂ」を発行する）、取得する。そしてステップＳ４６に進み、その取得したサムネイル画像を基にインデックスプリントを実行する。
【００７０】
尚、ステップＳ４３でサムネイル画像を含んでいない時、或いはステップＳ４４でインデックスプリントが指定されていない時はステップＳ３３（図１３）に進み、前述した画像印刷処理を実行する。
【００７１】
このように本実施の形態によれば、ＰＤプリンタ装置１０００のメモリ容量や処理能力などに応じて、ＤＳＣ３０１２から一度に取得する画像データの量を変更してＤＳＣ３０１２から入力することができる。
【００７２】
また、ＤＳＣ３０１２の画像ファイルに、既にサムネイル画像が記憶されていることを予め知ることができるため、ＰＤプリンタ装置１０００においてインデックスプリントが指示されている場合に、ＰＤプリンタ装置１０００におけるサムネイル画像の作成処理を省略することができる。これにより、サムネイル画像の印刷を迅速にできる。
【００７３】
図１５は、本実施の形態に係るＤＰＳで使用されるＰＤプリンタ装置１０００からＤＳＣ３０１２へのエラー種別等のステータスを通知するためのコード例を説明する図で、ここでは８桁の１６進文字コード（ＸＸＸＸ，ＹＹ，ＺＺ）で構成されている。
【００７４】
ここで上位４桁（２バイト：ＸＸＸＸ）はメジャーコード、下位２桁（１バイト：ＹＹ）はマイナーコード、更にその下位２桁（１バイト：ＺＺ）は詳細コードとして割り付けられている。なお、マイナーコード及び詳細コードとして用いられるコードは、、「００」はデフォルト、「０１（Ｈｅｘ）」〜「７Ｆ（Ｈｅｘ）」は予め決められた各社共通コード、「８０（Ｈｅｘ）」〜「ＦＦ（Ｈｅｘ）」は、メーカの固有コードとして割当てておく。
【００７５】
このように設定することにより、マイナーコードにも、各社共通のマイナーコードとメーカ固有のマイナーコードがあり、また詳細コードにも、各社共通の詳細コードとメーカ固有の詳細コードを設定することが可能になる。１コード中の複数領域それぞれに、共通仕様と固有仕様とを設定可能にしておくことで、製品設計上の自由度及び他製品との差別化を図ることが出来るとともに、他製品との仕様の共通化とを両立させることが出来る。つまりオリジナリティにあふれる製品にしたい場合では、マイナーコード及び詳細コード共に固有のコードを用いればよいし、他社との仕様の共通化を図ろうとするならば、共通コードを用いるようにすればよく、設計思想への適応性を損なうことが無いコード割り当てを行うことが出来る。
【００７６】
なお、カメラは自身を特定する情報（画像供給デバイスを特定する情報）や、メーカ名の情報をプリンタ側に送信し、プリンタ側の制御部３０００（またはＤＳＰ３００２）では、接続されているＤＳＣ３０１２のメーカが自機と同じメーカであるかに応じて、上記のマイナーコードや詳細コードへのコード割り当てを、各社共通コードとベンダ固有コードのいずれを設定するかを切り替えて選択するようにすると、利用者にとってもさらに利便性が高まるであろう。
【００７７】
図１６は、本実施の形態に係るＤＰＳで使用される、ＰＤプリンタ装置１０００からＤＳＣ３０１２へのステータス等の通知をするための他のコード例を説明する図で、ここではコードは８桁の１６進文字コード（ＸＸＸＸ，ＹＹＹＹ）で構成されている。
【００７８】
ここで上位４桁（２バイト：ＸＸＸＸ）はメジャーコード、下位４桁（２バイト：ＹＹＹＹ）はマイナーコードである。その意味は値により、「００００」はデフォルト、「０００１（Ｈｅｘ）」〜「７ＦＦＦ（Ｈｅｘ）」は各社共通コード、「８０００（Ｈｅｘ）」〜「０ＦＦＦＦ（Ｈｅｘ）」は、各メーカの固有コードとして使用する。
【００７９】
図１５及び図１６に示すステータスコードは、受信側での処理は基本的には同一で、例えばメジャーコード（ＸＸＸＸ）がインク系障害発生中を示していて、マイナーコードが「シアンインクローレベル」（シアンインクの残量が少ない）、メーカの固有コードでは「シアンインクが後１０％しか残っていない」ことを、この一つのコードの中に含めることができる。
【００８０】
この場合、メジャーコードに基づくだけでメッセージを表示する場合は、ＤＳＣ３０１２の表示部２７００には、「プリンタのインク系に問題が発生しています」と表示するだけである。しかしマイナーコードまで利用できれば、「シアンインクの残量が減少しています。そろそろ交換の準備をして下さい」というように、より詳細に、その障害の状態を表示することができる。更に、メーカに固有コードまで扱うことができれば、「シアンインクが後１０％しか残っていません。残量が５％になったら新しいインクと交換してください」というように、より詳細な対応が可能になる。このように、３つのレベルの情報を同じコードで伝達することができるため、１つのコードで多彩な条件の機種に対応することができる。
【００８１】
但し、図１６の例では、マイナーコードにおける各社共通コードとベンダ固有コードは排他的にしか設定できないので、プリンタ側では、接続されているＤＳＣ３０１２のメーカが自機と同じメーカであるかに応じて、各社共通コードとベンダ固有コードのいずれを設定するかを切り替えて選択すれば良い。この切り替えは、上述したＣａｐａｂｉｌｉｔｙ情報に基づいてメーカを判断して行うのが、自動化には便利であるが、手動設定や、別途特別な方法によりメーカを認識したり、単純にユーザの好みで設定するようにしてもよい。
【００８２】
図１７は、本実施の形態に係るＤＳＣ３０１２等の画像供給デバイスにおける処理を説明するフローチャートで、この処理を実行するプログラムは、例えばＤＳＣ３０１２の場合ではＲＯＭ３１０１に記憶されている。
【００８３】
図において、まずステップＳ５１で、接続されているＰＤプリンタ装置１０００からのステータス情報を受信する。このステータスの情報のフォーマットは、例えば前述の図１５に示すフォーマットとする。次にステップＳ５２に進み、そのステータス情報に含まれるメジャーコードに基づいて、そのＰＤプリンタ装置１０００のステータスを取得する。尚、ここではメジャーコードは、このプリンタ装置１０００に接続されて印刷がどの画像供給デバイスでも判別できるものとしている。
【００８４】
次にステップＳ５３に進み、そのステータス情報に含まれているマイナーコードを判別するかどうかを判定する。これは、この画像供給デバイスが有している機能に基づいて、どの程度までのステータスが判定できるかに応じて決定される。マイナーコードを判別する時はステップＳ５４に進み、ＰＤプリンタ装置１０００が、自機と同じメーカの機種かどうかをみる。そうであればステップＳ５６に進み、そのマイナーコードがベンダ固有コードを含んでいるかを判定する。含んでいるときはステップＳ５７に進み、そのベンダ固有コードを解析して、ＰＤプリンタ装置１０００の、より詳細なステータス情報を得てステップＳ５８に進む。
【００８５】
一方、ステップＳ５４で同じメーカでない場合、或いはステップＳ５６でベンダ固有コードを含んでいないときはステップＳ５５に進み、そのマイナーコードに含まれている各社共通コードを解析してステップＳ５８に進む。
【００８６】
ステップＳ５８では、そのステータス情報に含まれている詳細コードを判別するかどうかを判定する。これは前述のステップＳ５３の場合と同様に、この画像供給デバイスが有している機能に基づいて、どの程度までのステータスが判定できるかに応じて決定される。詳細コードを判別する時はステップＳ５９に進み、ＰＤプリンタ装置１０００が、自機と同じメーカの機種かどうかをみる。そうであればステップＳ６１に進み、その詳細コードがベンダ固有コードを含んでいるかを判定する。含んでいるときはステップＳ６２に進み、そのベンダ固有コードを解析して、ＰＤプリンタ装置１０００のより詳細なステータス情報を得る。
【００８７】
一方、ステップＳ５９で同じメーカでない場合、或いはステップＳ６１でベンダ固有コードを含んでいないときはステップＳ６０に進み、その詳細コードに含まれている各社共通コードを解析する。
【００８８】
このように本実施の形態に係る画像供給デバイスによれば、自機の有している機能及び、接続されているＰＤプリンタ装置１０００のメーカ等に応じて、そのＰＤプリンタ装置１０００のステータス情報を取得することができる。
【００８９】
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
また、本発明の目的は、前述した実施形態の機能（カメラ側で行われる処理、プリンタ側で行われる各種印刷処理）を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９１】
以上説明したように本実施の形態によれば、ＤＳＣとＰＤプリンタ装置とを接続しているケーブルが外されることによりプリンタ装置における印刷処理が中断され、再度ケーブルが接続される等して印刷が再開可能になった場合に、確実に印刷処理を再開して印刷できるという効果がある。
【００９２】
また、ＤＰＯＦファイルに基づいて印刷している場合と、各画像データを順次ＤＳＣからプリンタ装置に送信して印刷を行っている場合とで、印刷再開の際にＤＳＣからプリンタ装置に再送する画像データを変えることにより、いずれの場合においても確実に印刷を再開できる。
【００９３】
また、本実施の形態に係るＤＳＣによれば、ＳｔａｒｔＪｏｂ或いはＡｂｏｒｔＪｏｂ等のコマンドをプリンタ装置に発行した場合、プリンタ装置からの応答が無くても、所定の状態になっていると推定して、次の動作を決定することができ、更に、ステータスを確認するためのコマンドをプリンタ装置に発行して、その時点でのプリンタ装置の状態（ステータス）を識別することができる。
【００９４】
更にまた、ＰＤプリンタ装置からＤＳＣに対して特定のステータスが応答された場合は、それに応じた処理に移行する。例えば「ＮｏｔＥｘｅｃｕｔｅｄ」や「ＮｏｔＳｕｐｐｏｒｔｅｄ」の場合は、前者の場合はプリンタ装置の状態を問い合わせるコマンドを発行し、その応答に基づいて、次に発行するコマンドを決定する。また後者の場合は、前回発行したコマンドはそのプリンタ装置でサポートされていないので、それ以降そのコマンドを発行しないように、例えば表示部に表示するＵＩを変更する等の処理を実行する。これにより、無駄なコマンドがプリンタ装置に再送されるのを防止できる。
【００９５】
また本実施の形態によれば、プリンタ装置の有しているメモリ容量或いは処理能力等に応じて、ＤＳＣから一度に取得する画像データの量を調整して画像データを取り込み、その画像データを処理して印刷できる。
【００９６】
以上説明したように本実施の形態によれば、エラーやステータス情報の詳細さの程度をそのコードフォーマットに割り付け、一つのコードに大まかな情報から詳細な情報まで同時に含ませることにより、デジタルスチルカメラだけでなく、家電やＡＶ機器などの幅広い層のデバイスに対して同一のコードで対応することができる。
【００９７】
【発明の効果】
以上説明したように本発明によれば、画像供給デバイスの機器レベルに応じて、受信したコードに含まれる情報を解析してユーザに通知できる。
【００９８】
また、所定事象に起因して送られるコード情報に対して複数の解析範囲を有し、解析手段の解析レベルに応じて、コード中の参照範囲が異なる様に構成できる。これにより、同一事象に起因する制御であっても、解析レベルに応じて、表示等の各種制御の内容を異ならせることが名能になる。
【００９９】
一方、コードを発生する側においても、例えばエラー検知部の検知レベルに応じたコードを送信できる。つまり、同一事象に対して与えるコードであっても、装置の能力に応じて通達するレベルを変更することが出来るので、装置設計上の自由度も高まる。例えばコストを掛けられない製品においては大雑把な検知で大雑把な情報だけエラーコードに含ませて送るようにすることも出来るし、細かな検知が出来る製品であれば、より細かい情報をコードに含ませて通達することができる。そして、このように機器の制御能力・検知能力が装置ごとに異なっていても、標準的な通知は共通性を持たせることが出来るので、異なるメーカ同士の通信においても、ある程度の情報伝達を保証することも出来る。
【０１００】
一方、メーカ固有に通達されるコードを活用することにより、例えば同一メーカ間での通信は、他メーカどの通信の場合よりも差別化した製品を提供することも可能になる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＰＤプリンタ装置の概観斜視図である。
【図２】本実施の形態に係るＰＤプリンタ装置の操作パネルの概観図である。
【図３】本実施の形態に係るＰＤプリンタ装置の制御に係る主要部の構成を示すブロック図である。
【図４】本実施の形態に係るＤＳＣの構成を示すブロック図である。
【図５】本実施の形態に係るＰＤプリンタ装置とデジタルカメラとの接続を説明する図である。
【図６】本実施の形態に係る印刷システムにおけるＰＤプリンタ装置とＤＳＣとの間のコマンドのやり取りを説明する図である。
【図７】本実施の形態に係るＤＳＣから発行されるプリント開始コマンドの具体例を説明する図である。
【図８】本実施の形態に係るＪｏｂＳｔａｔｕｓとＤｅｖｉｃｅＳｔａｔｕｓを説明する図である。
【図９】本実施の形態に係るＤＳＣによる印刷再開処理を説明するフローチャートである。
【図１０】本実施の形態に係るＤＳＣによる処理を説明するフローチャートである。
【図１１】本実施の形態に係るＤＳＣにおける印刷継続のためのボタン操作に伴う処理を説明するフローチャートである。
【図１２】本実施の形態に係るＤＳＣにおける印刷中止のためのボタン操作に伴う処理を説明するフローチャートである。
【図１３】本実施の形態に係るＰＤプリンタ装置による処理を説明するフローチャートである。
【図１４】本実施の形態に係るＰＤプリンタ装置による処理を説明するフローチャートである。
【図１５】本実施の形態に係るＰＤプリンタ装置からＤＳＣに対して通知するコードフォーマットを説明する図である。
【図１６】本実施の形態に係るＰＤプリンタ装置からＤＳＣに対して通知する他のコードフォーマットを説明する図である。
【図１７】本実施の形態に係る画像供給デバイスにおける処理を説明するフローチャートである。
【図１】
2004363912.tif 000003
【図２】
2004363912.tif 000004
【図３】
2004363912.tif 000005
【図４】
2004363912.tif 000006
【図５】
2004363912.tif 000007
【図６】
2004363912.tif 000008
【図７】
2004363912.tif 000009
【図８】
2004363912.tif 000010
【図９】
2004363912.tif 000011
【図１０】
2004363912.tif 000012
【図１１】
2004363912.tif 000013
【図１２】
2004363912.tif 000014
【図１３】
2004363912.tif 000015
【図１４】
2004363912.tif 000016
【図１５】
2004363912.tif 000017
【図１６】
2004363912.tif 000018
【図１７】
2004363912.tif 000019