以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
<PDプリンタの概要説明>
図1は、本発明の実施形態に係るフォトダイレクトプリンタ装置(以下、PDプリンタ)1000の概観斜視図である。このPDプリンタ1000は、ホストコンピュータ(PC)からデータを受信して印刷する通常のPCプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラやPDAなどからの画像データを受信して印刷する機能を備えている。
図1において、本実施形態に係るPDプリンタ1000の外殻をなす本体は、下ケース1001、上ケース1002、アクセスカバー1003及び排出トレイ1004の外装部材を有している。また、下ケース1001は、PDプリンタ1000の略下半部を、上ケース1002は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなす。さらに、排出トレイ1004は、その下端部が下ケース1001に回転自在に保持され、その回転によって下ケース1001の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ1004を前面側へと回転させて開口部を開成させることにより、ここから記録されたシート(普通紙、専用紙、樹脂シート等を含む。以下単にシートとする)が排出可能となると共に、排出されたシートを順次積載し得るようになっている。また排紙トレイ1004には、2枚の補助トレイ1004a,1004bが収納されており、必要に応じて各トレイを手前に引き出すことにより、シートの支持面積を3段階に拡大、縮小させ得るようになっている。
アクセスカバー1003は、その一端部が上ケース1002に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー1003を開くことによって本体内部に収納されている記録ヘッドカートリッジ(不図示)或いはインクタンク(不図示)等の交換が可能となる。尚、ここでは特に図示しないが、アクセスカバー1003を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバー1003の開閉状態を検出し得るようになっている。
また、上ケース1002の上面には、電源キー1005が設けられている。また、上ケース1002の右側には、液晶表示部1006や各種キースイッチ等を備える操作パネル1010が設けられている。この操作パネル1010の構造は、図2を参照して詳しく後述する。1007は自動給送部で、シートを装置本体内へと自動的に給送する。1008は紙間選択レバーで、プリントヘッドとシートとの間隔を調整するためのレバーである。1009はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード(PC)としては、例えばコンパクトフラッシュ(登録商標)メモリ、スマートメディア、メモリスティック等がある。1011はビューワ(液晶表示部)で、このPDプリンタ1000の本体に着脱可能であり、PCカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、1コマ毎の画像やインデックス画像などを表示するのに使用される。1012は後述するデジタルカメラを接続するためのUSB端子(HOST)である。このUSB端子1012は、デジタルカメラとUSBケーブルを介して接続するためのものであると共に、後述するアダプタ1200を接続するためのものでもある。また、このPD装置1000の後面には、パーソナルコンピュータ(PC)を接続するためのUSB端子(Slave)が設けられている。
<プリンタ操作部の概要説明>
図2は本実施形態に係るPDプリンタ1000の操作パネル1010の概観図である。
図において、液晶表示部1006には、その左右に印刷されている項目に関するデータを各種設定するためのメニュー項目が表示される。ここに表示される項目としては、例えば、複数ある写真画像ファイルの内、印刷したい写真画像の先頭番号、指定コマ番号(開始コマ指定/印刷コマ指定)、印刷を終了したい最後の写真番号(終了)、印刷部数(部数)、印刷に使用するシートの種類(用紙種類)、1枚のシートに印刷する写真の枚数設定(レイアウト)、印刷の品位の指定(品位)、撮影した日付を印刷するかどうかの指定(日付印刷)、写真を補正して印刷するかどうかの指定(画像補正)、印刷に必要なシートの枚数表示(用紙枚数)等がある。これら各項目は、カーソルキー2001を用いて選択、或いは指定される。2002はモードキーで、このキーを押下する毎に、印刷の種類(インデックス印刷、全コマ印刷、1コマ印刷、指定コマ印刷等)を切り替えることができ、これに応じてLED2003の対応するLEDが点灯される。2004はメンテナンスキーで、プリントヘッドのクリーニング等、プリンタのメンテナンスを行わせるためのキーである。2005は印刷開始キーで、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。2006は印刷中止キーで、これを押下すると、印刷を中止させたり、メンテナンスの中止を指示することが可能になる。
<PDプリンタの電気仕様概要>
次に図6を参照して、実施形態におけるPDプリンタ1000の制御に係る主要部の構成を説明する。なお、この図6において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。
図6において、3000は制御部(制御基板)を示している。3001はASIC(専用カスタムLSI)を示している。3002はDSP(デジタル信号処理プロセッサ)で、内部にCPUを有し、後述する各種制御処理及び、輝度信号(RGB)から濃度信号(CMYK)への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。3003はメモリで、DSP3002のCPUの制御プログラムを記憶するプログラムメモリ3003a、及び実行時のプログラムを記憶するRAMエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。3004はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。3005はデジタルカメラ(DSC)3012やアダプタ1200(後述)を接続するためのポートとしてのUSBコネクタであり、図1におけるUSB端子1012が、このUSBコネクタ3005に電気的に接続されている。3006はビューワ1011を接続するためのコネクタである。1013はPC3010を接続するためのポートとしてのUSBコネクタである。3008はUSBハブ(USBHUB)で、このPDプリンタ1000がPC3010からの画像データに基づいて印刷を行う際には、PC3010からのデータをそのままスルーし、USB3021を介してプリンタエンジン3004に出力する。これにより、接続されているPC3010は、プリンタエンジン3004と直接、データや信号のやり取りを行って印刷を実行することができる(一般的なPCプリンタとして機能する)。3009は電源コネクタで、電源3019により、商用ACから変換された直流電圧を入力している。PC3010は一般的なパーソナルコンピュータ、3011は前述したメモリカード(PCカード)、3012はデジタルカメラ(DSC:DigitalStillCamera)である。
尚、この制御部3000とプリンタエンジン3004との間の信号のやり取りは、前述したUSB3021を介して行われる。
<デジタルカメラの説明>
通常、デジタルカメラには、PCと通信するためのUSB端子(Slave)を備え、このUSB端子とPCが有するUSB端子(Host)とをUSBケーブルで接続することで、デジタルカメラはPCの外部記憶装置(ストレージクラス)として機能する。従って、PCからはデジタルカメラが有する着脱自在な記憶媒体(メモリカード等)にアクセスし、画像を読み出すことも可能になる。
また、フォトダイレクトプリント対応のデジタルカメラの場合、そのUSB端子(Slave)を上記PDプリンタ1000が有するUSB端子(Host)1012に接続した場合、所定のネゴシエーションが行われ、デジタルカメラが操作端末のように機能しはじめ、所望とする画像をPDプリンタに送信し、印刷を行なわせることが可能になる。この規格の代表的なものとしてPictBrigdeがあり、かかるデジタルカメラは周知であるので、ここでの詳述は省略する。
<アダプタの概要説明>
以上説明した構成により、実施形態におけるPDプリンタ1000とデジタルカメラとが物理的に共通なインタフェースを有して接続することで、デジタルカメラで撮像した所望とする画像をPDプリンタ1000で印刷を行なわせることが可能になる。
ところで、図1に示したPDプリンタ1000に着目すると、PCを除く、外部装置と通信するインタフェースコネクタとしてはUSB端子1012しか備わっていない。つまり、このままでは、異なる物理インタフェース、例えば、無線(電磁波、赤外線等を含む)を利用した画像供給装置からの画像を受信し、印刷することはできない。また、論理的インタフェース(プロトコル)にも対応することもできない。
そこで、本実施形態では、PDプリンタ1000が有するUSB端子1012に、このような異なる物理インタフェース、異なるプロトコルを利用した画像供給装置と通信を可能にするためのアダプタ1200を接続する。そして、このアダプタを中継装置として、無線通信機能を有する画像供給装置からの画像をPDプリンタ1000で印刷を行なわせることを可能にする。
図4は、実施形態におけるアダプタ1200の外観図を示している。
図中、1201は印刷中断時の印刷再開を行うための印刷続行ボタンである。この印刷続行ボタン1201は印刷ジョブ実行中以外においては他の機能を持たせてもよく、例えば印刷時の用紙サイズの選択を行うための用紙サイズ選択として機能してもよい。また、用紙サイズ選択、印刷再開の指示するためのボタンを独立して用意してもかまわない。また、更に、用紙サイズ以外に、レイアウト、印刷枚数、日付設定その他印刷結果に関わる各種設定をおこなう操作ボタンを別個に用意してもかまわない。
1202は赤外線通信のための赤外線送受信部である。1203はプリンタのダイレクト印刷端子(USB端子1012)に接続するためのUSB端子である。
1204はアダプタの状態を表す状態表示LEDである。印刷待機状態、印刷受付状態、画像転送状態、印刷実行中状態、印刷エラー状態、転送エラー状態などに応じて発行色や点灯・点滅のパターンを切り替えることで、アダプタの状態をユーザに通知する。
このLED1204はアダプタの状態を表す以外に、各種UIとして機能するものを具備してもよく、例えば用紙サイズ表示を行うLED等が考えられる(図示せず)。その場合、各LEDの上部には、用紙サイズを示す文字列(A4、ハガキ、カードなど)が印刷され(図示せず)、操作ボタン1203を押下することで、LEDの表示が切り替わる。
また、用紙サイズ以外に、レイアウト、印刷枚数、日付設定その他印刷結果に関わる各種設定結果を表示するLEDを別個に容易してもかまわない。また、数値を好適に表示するために7SEGのLEDやLCDなどを用いてもかまわない。
用紙サイズを示す文字列は、前述したようにアダプタ筐体に直接印刷する以外に、シールを添付することなどによって表示してもかまわない。この場合、世界各国の印刷文化圏に好適な用紙サイズ(例として、日本ではA4、L判、ハガキ、米国ではLetter、4x6、カード)を印刷したシールを用意し、これらのサイズに対応するようにアダプタ内部ROM(後述)を差し替えることにより、アダプタ筐体を共通のままで、シールを張り替えることにより、世界各国でのより好適な利用が可能である。
1205はダイレクト印刷規格のロゴシールである。これにより、USB端子1203を同ダイレクト印刷規格に対応したプリンタに接続可能であることをユーザに認識させる。ロゴシールを貼付する以外に、アダプタ筐体に直接ロゴを印刷したり、刻印したりしてもかまわない。また、図ではLEDやボタンといったUIを具備したアダプタを示したが、これらUIを排したアダプタも考えられる。このとき、アダプタがダイレクト印刷用のアダプタであることを明確にするためにも、ロゴシール貼付はますます有用である。
図28は、同じく本実施形態による他のアダプタ1210であって、前述した赤外線通信の代わりに後述するUSB通信を用いてアダプタを実現した場合の概観図である。図中の1211、1213乃至1215の説明については、前述の図4における1201、1203乃至1215と同様である。1212はDSCなどの画像供給装置とのUSB通信のためのUSB端子である。ここで、PDプリンタ1000および画像供給装置への接続は有線で行われ、取り回しの利便性を考えると本実施形態のアダプタ1210は外見上はケーブルのような形状となる。このとき、アダプタ上のUSB端子は1212,1213ともUSB−Aコネクタの形状となるため、ユーザがアダプタの接続方向を誤る恐れがある。ここでアダプタ上のPDプリンタへ接続する側のUSB端子1203の近傍にロゴシール1205を添付または印刷、刻印することにより、前述した効果に加えて、アダプタの接続方向を誤ってしまうことを防ぐことも可能である。
<アダプタ電気仕様概要>
次に図8を参照して、本実施形態によるアダプタ1200の制御に係る主要部の構成を説明する。なお、この図8において、前述の図面と共通する部分は同じ記号を付与して、それらの説明を省略する。また、実施形態におけるアダプタ1200は、PDプリンタ100のUSBホスト端子1012に接続した際に、そのUSBホスト端子1012のバスパワーを電源として機能するものとする。但し、電池を内蔵しても構わない。
3201はCPUで、後述する各種制御処理を担当している。3202はCPU3201の処理手順(ファームウェア)を記憶しているROMである。ファームウェアが適宜バージョンアップが行われることを想定し、書き込み可能な不揮発性メモリ、例えばフラッシュメモリで構成されてもよい。3203はRAMで、CPU3201のワークエリアとして使用されるRAMである。電源遮断時に内容が消去される揮発性のメモリであってもよいし、ROM3202と同様、書き込み可能な不揮発性メモリ、例えばフラッシュメモリで構成されてもよい。またこれらを混在させ、目的に応じて別個のRAMを利用するようにしてもかまわない。一例としては、印刷画像ファイルを保持する領域のみを不揮発性メモリに割り当てることで、アダプタの電源遮断後であっても画像ファイルを保持し、アダプタの電源再投入時に画像の再印刷を実現できる。
<カメラ付き携帯電話の概要説明>
図3(a)は、本実施形態によるアダプタ1200で利用可能なカメラ付き携帯電話の表面、同図(b)はその背面の外観図を示す。
図中、1101は赤外線通信のための赤外線送受信部である。前述したアダプタ1200との赤外線送受信以外にも、他のカメラ付き携帯電話1100との間での赤外線送受信、TVなどのリモコン受光部を持つ電子機器に対しての赤外線送信などが可能である。
1102は液晶表示部である。携帯電話として使用する際に各種情報を表示する以外にも、カメラ起動時にはファインダーとして画像を表示する。撮影した写真などを表示することも可能である。
1103は操作ボタンである。携帯電話として使用する際にダイヤル操作を行う以外にも、メール文書の作成やカメラ起動時にはカメラ操作などが可能である。携帯電話1100の内部状態により、ボタン押下時の機能は多種多様に変化する。
1104は撮像用レンズである。被写体を捉えて操作ボタン1103を操作することにより、光学ズーム操作やピント調整などを行ったり、撮像をすることが可能である。
1105はメモリーカードを接続するためのメモリーカードスロットである。撮像した画像を保存/参照する以外にも、携帯電話内部の各種情報を保存/参照することが可能である。
<カメラ付き携帯電話電気仕様概要>
次に図7を参照して、本発明によるアダプタ1200で利用可能なカメラ付き携帯電話の制御に係る主要部の構成を説明する。なお、ここでは実施形態における印刷に関する構成を主眼として説明するので、電話機能の通信に係る構成についは省略している。また、この図7において、前述の図3(a)(b)と共通する部分は同じ記号を付与して、それらの説明を省略する。
3103はCPUで、カメラ付き携帯電話全体の制御を司るCPUである。3101はROMで、CPU3103の処理手順(ファームウェア)を記憶しているROMである。ファームウェアが適宜バージョンアップが行われることを想定し、書き込み可能な不揮発性メモリ、例えばフラッシュメモリで構成されてもよい。3102はRAMで、CPU3103のワークエリアとして使用される。通常の揮発性メモリで構成してもよく、また、電源を切断してもワークエリアの内部状態を保持するために不揮発性メモリで構成してもよい。
3106はCCD素子である。3107はドライバで、CPU3103の制御下において光学ユニット36を制御する。3109はメモリーカードで、通常コンパクトフラッシュ(登録商標)メモリカード、スマートメディア等が用いられる。
<アダプタ接続時の概要説明>
図5はカメラ付き携帯電話1100で撮像した画像をPDプリンタ1000で印刷させるため、PDプリンタ1000にアダプタ1200を接続している様を示してる。
アダプタ1200は、赤外線送受信部1202でカメラ付き携帯電話1100と通信し、受信した画像をPDプリンタ1000に出力することで、実施形態で説明するアダプタ1200を用いた印刷処理が実現されることになる。
<ダイレクト印刷アダプタの通信プロトコルスタックの説明>
図9は、アダプタ1200をPDプリンタ1000に接続し、アダプタ1200の赤外線送受信部1202に対しカメラ付き携帯電話1100の赤外線送受信部1101を向けた際の、PDプリンタ1000、アダプタ1200、カメラ付き携帯電話1100それぞれが構築するプロトコルスタックの概要図である。
PDプリンタ1000は、物理インタフェイスとしてUSBホスト端子を用い、USBで標準に規定されているSICD(StillImageCaptureDevice)クラスのUSBホストとして働く。トランスポート制御はこのSICDを利用したPTP(PictureTransferProtocol(PIMA15740))によって実現される。
PDプリンタ1000内部のダイレクト印刷アプリケーションはこのPTPを利用してダイレクト印刷用情報を交換することにより、ダイレクト印刷プリンタとして機能する。
カメラ付き携帯電話1100は、物理インタフェイスとしてIrDA(Infrared Data Association)のSIR装置またはFIR装置を用い、赤外線無線端末装置として働く。上位のプロトコルとして、リンクアクセスにIrLAP(Link Access Protocol)を、リンク管理にIrLMP(Link Management Protocol)を用い、トランスポート制御はこのIrLMPを利用したIrTinyTP(Tiny Transport Protocol)によって実現される。
カメラ付き携帯電話1100内部のデータ転送アプリケーションはこのIrTinyTP上のIrOBEX(Object Exchange Protocol)を利用してデータ転送を行うことにより、赤外線データ通信端末として機能する。
なお、他のプロトコル構成によっても赤外線データ通信端末を実現でき、例えばデータ転送アプリケーションはIrTran−P(Transfer Picture)を用いた画像転送や、IrCOMMによるシリアル/パラレルポートエミュレーションを用いたデータ転送によっても実現可能である。
本実施形態によるアダプタ1200は、前記PDプリンタ1000およびカメラ付き携帯電話1100に対応するプロトコルスタックを両方とも具備し、図示したProtocolTranslatorによって相互の通信プロトコルを変換する。
例としては、カメラ付き携帯電話1100より赤外線送信された画像データを受け取り、受け取った画像データを用いてProtocolTranslatorによってダイレクト印刷用情報を生成し、PDプリンタ1000へダイレクト印刷ジョブを発行する。
なお、図9においては画像ソース端末としてIrDA端子を具備したカメラ付き携帯電話を例示したが、これ以外にもIrDA端子を具備し画像情報を転送できる端末であればカメラ付きでない携帯電話、PHS、PDA、デジタルスチルカメラその他の端末であってもよい。
また、画像情報を転送するために画像ソース端末が具備する通信手段がIrDA以外のものであってもよく、例えばBlueTooth、802.11xなどの無線通信手段や、USB、IEEE1394、Ethernet(登録商標)などの有線通信手段であってもよい。但し、アダプタ1200の通信部として、これらのいずれかの構成が必要になる。
BlueTooth、802.11x、USB,IEEE1394を用いた際のプロトコルスタックの構成の一例を図10乃至図13に示す。これらプロトコルスタックの各層の説明については省略するが、基本的には前述のIrDAによる例と同じく、画像ソース端末から受け取った画像データを用いてProtocolTranslatorによってダイレクト印刷用情報を生成し、PDプリンタ1000へダイレクト印刷ジョブを発行する。
これら各種の通信手段を用いた画像ソースとしては、前述の携帯電話など以外にもカーナビゲーションシステム、PC、ゲーム機、デジタルTVその他の機器が考えられる。
図14はUSBでのダイレクト印刷時の処理フローの概要である。本フローではダイレクト印刷を図9左側のPTPアーキテクチャ上で実現した例を説明する。
PDプリンタ装置1000とアダプタ1200とが物理的に接続された後、まず1401で、PDプリンタ装置1000とアダプタ1200間で初期化が行われる。ここで互いの機器がダイレクト印刷に対応している事を確認する。
工程1402でアダプタ1200はPDプリンタ装置1000に対してCapability要求を行い、PDプリンタ装置1000のCapabilityを取得する。
工程1403でアダプタ1200はPDプリンタ装置1000に対してJob発行を行い、印刷を依頼する。
工程1404でPDプリンタ装置1000はアダプタ1200に対してStatus通知を行い、印刷処理の開始を通知する。
工程1405でPDプリンタ装置1000はアダプタ1200に対してFile取得を行い、印刷処理に必要な画像ファイルを取得する。1406でPDプリンタ装置1000は印刷処理を行い、印刷処理を完了する。
工程1407でPDプリンタ装置1000はアダプタ1200に対してStatus通知を行い、印刷処理の完了を通知する。
ここで工程1401〜1404、1407での伝達はスクリプトの交換により行われる。また、工程1405ではPTPオペレーションをそのまま利用した純粋なファイル転送を行なうものであり、GetObject、GetPartialObject等のファイル転送オペレーションを用いることになる。また、工程1406での処理は、純粋にPDプリンタ装置1000内部の処理である。
以下図15〜19を用いて各処理の詳細を説明する。
図15はUSBでのダイレクト印刷時の初期化フローであり、図14中の工程1401の詳細説明図である。
PDプリンタ装置1000とアダプタ1200とが物理的に接続された後、まず工程1501で、PDプリンタ装置1000からアダプタ1200に対してGetDeviceInfoが送信され、アダプタ1200に対して、その保持しているオブジェクトに関する情報が要求される。
これに対して工程1502でアダプタ1200は、DeviceInfo Datasetにより、アダプタ1200に保持しているオブジェクトに関する情報をPDプリンタ装置1000に送信する。次に工程1503で、OpenSessionにより、アダプタ1200をリソースとして割り当て、必要に応じてデータオブジェクトにハンドルをアサインしたり、特別な初期化を行うための手順の開始要求が発行されてアダプタ1200から肯定応答(OK)が返送されるとPTPでの通信が開始される。
次に工程1504で、アダプタ1200に対してスクリプト形式の全てのハンドルを要求する(Storage ID: FFFFFF, Object Type: Script)と、これに対して工程1505で、アダプタ1200に保持されている全てのハンドルリストが返送される。
次に工程1506,1507において、PDプリンタ装置1000からi番目のオブジェクトハンドルの情報を取得する。ここで、このオブジェクトに、アダプタ1200の識別を示すキーワード(フォトダイレクトプリントに対応したデバイスであることを示す合言葉で、仮に「山」とする)が含まれていると、次に工程1508において、PDプリンタ装置1000からオブジェクト情報の送信を指示して(SendObjectInfo)、それに対して肯定応答(OK)を受信すると、SendObjectにより、オブジェクト情報をPDプリンタ装置1000からアダプタ1200に対して送信する。ここで、このオブジェクトには、前述のキーワードに対する応答キーワード(合言葉)として例えば「川」が含まれている。
このようにして、PDプリンタ装置1000とアダプタ1200の双方が互いに接続相手を認識できることになり、これ以降はダイレクト印刷を開始することができる。
図16(a)、(b)はUSBでのダイレクト印刷時のスクリプト転送フローであり、図14中の工程1402〜1404、1407でのPTPレベルでの共通の振る舞いを示す。
図16(a)はPDプリンタ装置1000からアダプタ1200に対してスクリプトを伝達するフローである。
まず最初にPDプリンタ装置1000はSendObjectInfoによりアダプタ1200に対してオブジェクト情報の送信要求を伝え、続くObject Info Datasetの送信によりそのオブジェクト情報を通知する。
アダプタ1200はそのオブジェクト情報を受信・解析し、オブジェクト本体が受信可能であれば受信予定のオブジェクトに割り当てるオブジェクトハンドル番号と共にOKを応答する。
OKの応答に続いて、PDプリンタ装置1000はSendObjectによりアダプタ1200に対してオブジェクト本体の送信要求を伝え、続くObject Dataの送信によりそのオブジェクト本体をスクリプト(Script)形式でアダプタ1200に送信する。
アダプタ1200はそのオブジェクト本体を受信し、オブジェクト本体を受信完了したらOKを応答する。
図16(b)は、アダプタ1200からPDプリンタ装置1000に対してスクリプトを伝達するフローである。
まずアダプタ1200からPDプリンタ装置1000に対してRequestObjectTransferを送り、PDプリンタ装置1000が所定のオブジェクトハンドルのオブジェクト取得を行うように促す。
これにより、PDプリンタ装置1000はGetObjectInfoによりアダプタ1200に対して所定のオブジェクトハンドルのオブジェクトのオブジェクト情報の取得要求を伝える。
アダプタ1200はGetObjectInfoを受信すると、送信したいオブジェクトのオブジェクト情報Object Info Datasetを送信し、送信が完了したらOKを応答する。
OKの応答に続いて、PDプリンタ装置1000はGetObjectによりオブジェクト本体の伝送要求を伝える。
アダプタ1200はGetObjectを受信すると、送信したいオブジェクトのオブジェクト本体を送信し、送信が完了したらOKを応答する。
以上の様にしてUSBでのダイレクト印刷時にはスクリプトをPDプリンタ1000とアダプタ1200との間でやり取りする事で情報交換を行う。
図17乃至図19は、USBでのダイレクト印刷時に交換されるスクリプトの例である。
図17(a)、(b9はUSBでのダイレクト印刷時のCapability取得スクリプトであり、図14中の工程1402で使用されるものである。
図17(a)はアダプタ1200からPDプリンタ装置1000に対して送信されるCapability要求スクリプトであり、本例ではPDプリンタ装置1000がサポートしている画像フォーマットの種類を要求している。
図17(b)は、図17(a)のCapability要求スクリプトに対する応答スクリプトであり、PDプリンタ装置1000からアダプタ1200に対して送信されるものである。本例ではPDプリンタ装置1000はJPEGおよびPNGの2種類のフォーマットをサポートしている事がアダプタ1200に通知されることを示している。
本Capability取得スクリプトは、他にも印刷用紙のサポートサイズや、印刷用紙種類、また各印刷用紙のサイズに対応したレイアウト印刷機能、固定サイズ印刷機能、印刷品位、画像補正、画像切り取り、日付印刷、ファイル名印刷等のCapability情報のやり取りに利用される。
図18(a)乃至(c)は、USBでのダイレクト印刷時のJob発行スクリプトであり、図14中の工程1403で使用されるものである。
図18(a)は、アダプタ1200からPDプリンタ装置1000に対して送信されるJob発行スクリプトであり、本例ではオブジェクトハンドル番号00000001のJPEG画像1枚の印刷を要求する例を示している。
図18(b)は、図18(a)のJob発行スクリプトに対する応答スクリプトであり、PDプリンタ装置1000からアダプタ1200に対して送信されるものである。本例ではPDプリンタ装置1000が印刷ジョブを受け付けて、OKを応答している。
図18(c)は、図18(a)のJob発行スクリプトに対する他の応答スクリプトであり、PDプリンタ装置1000からアダプタ1200に対して送信されるものである。本例では、PDプリンタ装置1000が印刷ジョブを実行出来ずに、拒否してNGを応答していることを示すものである。
本Job発行スクリプトは、他にもCapability取得スクリプト中で説明した様に、画像フォーマット以外の用紙サイズ等を指定する事にも利用される。
また、複数の画像を1回のJob発行スクリプトで指定する事や、各画像の部数指定、切り取り領域指定、日付指定、ファイル名指定にも利用される。
また、図18(c)で示される拒否内容には、単にNGだけでなく、現状他のイメージソースからの印刷を行っている為なのか、それとも印刷ジョブの設定が間違っているからなのか、等の理由を通知する事にも利用される。
図19(a)、(b)はUSBでのダイレクト印刷時のStatus通知スクリプトであり、図14中の工程1404および1407で使用されるものである。
図19(a)はPDプリンタ装置1000からアダプタ1200に対して送信されるStatus通知スクリプトである。この例ではPDプリンタ装置1000が現在印刷状態に無く、印刷開始可能な待機状態(IDLE)であるステータスを通知していることを示している。
図19(b)は、図19(a)のStatus通知スクリプトに対する応答スクリプトであり、アダプタ1200からPDプリンタ装置1000に対して送信されるものである。この例では、OKを応答している。
本Status通知スクリプトは、他にもエラーの発生状況や発生したエラーの種別、ページ数や印刷写真枚数等の印刷中のジョブの状況、ケーブルを外してもPDプリンタ装置1000が印刷ジョブを完遂出来る状態で有るか否か、次の印刷ジョブを受け付け可能であるか否か、Capability情報が更新されたか否か、印刷ジョブの終了理由等のやり取りに利用される。
また、StatusはPDプリンタ装置1000からアダプタ1200に対してStatus通知するだけではなく、アダプタ1200からPDプリンタ装置1000に対してStatus要求を行うケースも有り得る。
更に、スクリプト交換は、本例で説明したCapability取得、Job発行、Status通知以外にも、印刷ジョブの中断、エラーからの復帰、バージョン情報、機器名、シリアル番号、ベンダ名等の認証情報の確認・交換、等のコマンドにも利用される。
次に、アダプタ1200とカメラ付き携帯電話1100との赤外線通信について説明する。
図20はIrDA通信の初期化及びファイル転送フローを示している。本フローではファイル転送を図9右側のIrOBEXアーキテクチャ上で実施した例である。
まず工程2011で、携帯電話1100は、プリント指示を行なう所定のキーが入力されると、アダプタ1200に対して接続確認CONNECTを発行する。
工程2012で、アダプタ1200は接続を許可する場合にはSUCCESS応答を返すことになる。
工程2013では、携帯電話1100は転送したいファイルのファイル名やサイズ等の情報とファイル本体を含む全体データのうちの先頭パケットを送信する。
アダプタ1200は先頭パケットを正常に受信したら、工程2014で次のデータを送付可能である旨を示すCONTINUE応答を返す。
工程2015で携帯電話1100は次のパケットを送信し、工程2016でアダプタ1200は次のパケットを正常に受信したら、次のデータを送付可能である旨を示すCONTINUE応答を返す。同様に工程2017〜2018が処理される。
工程2019で携帯電話1100は最終パケットを送信し、工程2020でアダプタ1200は最後のパケットを正常に受信したら、データの受信が完了した旨を示すSUCCESS応答を返す。
以上説明した様に、携帯電話1100からPUTで送信された画像に対し、アダプタ1200はPTPのオブジェクトハンドルを割り振り、そのオブジェクトハンドルを利用したダイレクト印刷をPDプリンタ装置1000に対して依頼する事となる。
図10右側のBT接続時の処理フローも図20での説明とほぼ同等であるので説明を省略する。
また、図11右側のUSB接続時の処理フローは純粋なPTPのSendObjectInfo / SendObjectを利用するので説明を省略する。
以上、実施形態におけるPDプリンタ1000、アダプタ1200及び携帯電話1100の構成と、通信について説明した。次に上記説明を基礎にし、本発明にかかる、より具体的な説明を行なう。
<第1の実施形態>
以下、前述の各図、及び、図22乃至図27を用いて第1の実施形態を説明する。図中の各シーケンスおよびステップに符号4000乃至符号4481を併記する。
なお、図22乃至図27では、実施形態のアダプタ1200の動作を説明するために、PDプリンタ1000(Printer)、アダプタ1200(Adapter)、カメラ付き携帯電話1100の相互作用を時系列順に並べて示した。なお、カメラ付き携帯電話1100は、電話機能を有するものであると当時に、赤外線で通信可能なデジタルカメラとして見ることもできるので、以下では、カメラ付き携帯電話1100をDSCと表現することとする。ここでPDプリンタ1000、DSC1100の動作については市場での該当製品の動作の一例である。
<アダプタ接続時の動作シーケンス>
図22は本実施形態に係る、PDプリンタ1000とアダプタ1200接続時のPDプリンタとアダプタ1200とDSC1100の動作シーケンスを表す図である。
ここでアダプタ1200の動作シーケンスの中でアダプタの状態表示LED1204の状態変化についても記載している。
本実施形態においては、アダプタ1200のLED1204の点灯制御を以下のように割り当てる。
・アダプタ1200の電源がOFFになっている状態をLED消灯、
・アダプタ1200がPDプリンタ1000との間での接続を確立途中である状態をLED点滅1(例:LEDが緑色で毎秒1回点滅する)、
・アダプタ1200がPDプリンタ1000との間での接続を確立完了し、DSC1100から画像転送受付可能である状態をLED点灯(例:LEDが緑色で点灯する)、
・アダプタ1200がDSC1100からの画像転送受信中である状態をLED点滅2(例:LEDが緑色で毎秒5回点滅する)、
・アダプタ1200がDSC1100からの画像転送受信完了後、PDプリンタが印刷ジョブを実行中である状態をLED点滅3(例:LEDが緑色で毎秒2回点滅する)、
・アダプタ1200がPDプリンタ1000からの印刷エラー通知を受け取って印刷中断中である状態をLED点滅4(例:LEDが黄色で毎秒2回点滅する)。
なお、各状態が区別できれば良いので、上記に限るものではない。例えば、点滅のパターンを増やすことで、これ以外のアダプタの状態を表すことも可能である。
以下、図22中の各符号(工程)によって各シーケンスを解説する。
工程4081:アダプタ1200の初期状態は、PDプリンタ1000へ未接続なので電源OFFであり、LED1204は消灯している。
工程4001:この状態で、ユーザがアダプタをPDプリンタへ接続すると、アダプタはPDプリンタ1000からUSBの電源供給回路を通じて電源供給を受ける。または、アダプタが電池を内蔵し、電源スイッチなどによって自己の電源をまかなってもよい。その場合、モバイル系のPDプリンタなどの余分な電力消費を抑えることが可能となる。また、電池が充電式であることにより、USBの電源供給量を超える消費電力のDSCとの通信を行う事も可能である。この場合、充電量が十分になって初めてDSCからの画像転送待機状態となり、LEDの点滅1状態からLED点灯状態に変わる、または充電が不十分であればアダプタの電源をONにしない、などの実施が考えられる。
工程4002:アダプタ1200の電源がオンになると、アダプタ1200はPDプリンタ1000との間でダイレクト印刷接続の確立処理を行う。
工程4082:アダプタがPDプリンタとの間でダイレクト印刷接続の確立処理を行っている間、LED1204に対して上記の点滅1を繰り返す。なお、点滅1の制御を開始するタイミングは、工程4001直後であっても工程4002直後であっても良い。
ダイレクト印刷接続の確立処理を行っている過程で、PDプリンタ1000のCapability情報を取得し、PDプリンタ1000が設定可能な用紙サイズ、紙種、各種画像補正処理などを確認して、後述の印刷時に用いるアダプタ1200のUIの動作に反映させることも可能である。例えば、A4とL判の用紙のみに印刷可能なプリンタにおいては、用紙選択ボタンでA4とL判のみが選択できるようにアダプタUIを機能させるようにする。
工程4003:アダプタ1200はPDプリンタ1000からダイレクト印刷接続確立完了の通知を受け、アダプタ1200とPDプリンタ1000との間でのダイレクト印刷接続の確立が完了する。これにより、図9のプロトコルスタックの内でダイレクト印刷接続に関する部分を構築する。
工程4083:ダイレクト印刷接続の確立が完了すると、アダプタ1200はDSC1100からの画像転送を受信可能となり、LEDは点灯する。なお、PDプリンタ1000のステータスがReadyのときとその他でLED表示方法を変えてもよい。
<画像転送開始から印刷完了までの動作シーケンス>
図23は本実施形態に係る、DSC1100からの画像転送開始から印刷完了までのPDプリンタ1000、アダプタ1200及びDSC1100の動作シーケンスを表す図である。以下、各工程を解説する。
工程4181:アダプタの初期状態は、DSC1100からの画像転送を受信可能であり、LEDは点灯している。このとき、前述のアダプタの用紙選択ボタンを操作して、印刷する用紙サイズを選択したり、同様に紙種や印刷枚数、日付印刷の有無などの設定を行ってもよい。
工程4191:ユーザはDSC1100の液晶表示部1102の表示を確認しながら操作ボタン1103を操作し、転送すべき画像を選択し、その転送指示を行う。ここで転送画像を探している最中はDSC1100とアダプタとの間での通信接続が確立されている必要は無く、例えば屋外へ外出時などにこの操作を行ってもよい。その場合、転送画像の指定のステップとアダプタ1200への転送開始通知をおこなうステップを別個に用意し、転送開始通知を行うステップのみにおいてアダプタ1200と通信する。
工程4101:接続確立が完了すると、DSC1100はアダプタ1200へ画像転送開始通知を送信する。その際、必要であればアダプタ1200とDSC1100との間で接続確立を行ってもよい。本実施形態の場合、図9のプロトコルスタックの内でIrDA接続に関する部分を構築することになる。
アダプタ1200は、DSC1100からの画像転送開始通知を受信すると、転送開始受付の返答をDSC1100に発行する前に、PDプリンタ1000へCapabilityの転送・確認・印刷ジョブの発行を依頼する。この手順を以下で説明する。
工程4102:アダプタ1200はPDプリンタ1000へCapabilityの転送を依頼する。
工程4103:PDプリンタ1000はアダプタ1200へCapabilityの転送を行う。
工程4182:アダプタ1200はPDプリンタ1000から受け取ったCapability情報とDSC1100から受け取った画像転送開始通知情報をもとに、DSC1100から転送される画像をプリンタで印刷可能か否かを判断する。例として、PDプリンタ1000が印刷可能な画像ファイルフォーマットの中にDSC1100から転送される画像の画像フォーマットが含まれれば印刷可能と判断し、含まれなければ印刷不可能と判断する。
なお、今回の動作シーケンスにおいては、印刷可能と判断された場合について説明する。印刷不可能と判断された場合のアダプタ1200の処理については図23のフローチャートを用いて後述する。
工程4104:アダプタ1200はPDプリンタ1000へ印刷開始通知を行う。このとき、印刷開始通知を行うにあたって印刷ジョブ情報が必要であれば、DSC1100から受け取った画像転送開始通知情報をもとに印刷ジョブ情報を作成してもよい。
工程4105:PDプリンタ1000はアダプタ1200へ印刷開始受付の返答を行う。
工程4183:アダプタ1200は印刷開始受付の返答内容を元に、印刷が開始されたか否かを判断する。
この際、事前にプリンタの状態を取得しても良い。例として、返答内容に記載されたプリンタの状態が印刷Ready状態であれば印刷可能と判断し、プリンタが現在PCからの印刷ジョブを実行中で印刷Busy状態であれば印刷不可能と判断し、アクセスカバー1003が開いていたり、プリンタに用紙がセットされていなかったり、インクがセットされていなかったりするために印刷開始が不可能であれば印刷不可能と判断する。
なお、ここでの動作シーケンスにおいては、印刷が開始されたと判断された場合について説明する。印刷されなかったと判断された場合の動作については、後述する図23のフローチャートにおけるステップ4206の説明で解説する。
工程4106:アダプタ1200は、工程4101にてDSC1100から通知された転送開始通知に対し、転送開始受付の返答を行う。
工程4171:PDプリンタ1000は液晶表示部1006上に印刷が開始した旨を表示する。
工程4184:アダプタ1200がDSC1100からのデータ転送受信を行っている間、LED1204を「点滅2」に従って制御する。なお、点滅2の制御を開始するタイミングは、工程4105直後であっても、工程4106直後であっても、或いは工程4107直後であっても良い。
工程4192:DSC1100は、液晶表示部1102上に転送が開始した旨を表示する。
工程4107:DSC1100はアダプタ1200へ画像転送を行う。アダプタ1200は、転送されてきた画像データを、アダプタ1200内のRAM3203に書き込む。書き込み方法としては、書き込み先アドレス番地を固定しておき、前回転送された画像情報を上書きしていってもよく、また、RAMをリングバッファとして扱い、前回転送終了したアドレス番地をもとに書き込み先アドレスを決定してもよい。大容量のRAMが用意できるならば、リングバッファ形式をとることで、転送画像の履歴をRAM上に保持できる。アダプタ上に適切なUIを持たせることで、アダプタのUI操作によって以前に転送された画像を再度DSC1100から転送することなく再印刷を行えるようにする、などの応用が可能である。
工程4108:PDプリンタ1000はアダプタ1200に対し印刷画像転送依頼を行う。
工程4109:DSC1100は全てのデータを転送し終えると、アダプタへ画像転送終了通知を行う(転送プロトコルの持つ規約を利用し、最終画像データの転送時に、転送データが最終データである旨の通知を行うことで、画像転送終了通知として利用してもよい)。
工程4110:アダプタ1200はDSC1100へ画像転送終了受付の返答を行う。
工程4185:アダプタ1200は、DSC1100からの画像転送終了後、PDプリンタ1000が印刷ジョブを実行している間、LEDは「点滅3」の制御を行なう。なお、点滅3を開始するタイミングは、工程4109直後であっても、工程4110直後であっても、或いは工程4111直前であっても良い。
工程4193:DSC1100は液晶表示部1102上に転送が終了した旨を表示する。
工程4111:アダプタ1200は、PDプリンタ1000へ、DSC1100から依頼された印刷画像を転送する。
工程4112:アダプタ1200はPDプリンタ1000へ依頼された印刷画像を全て転送すると、PDプリンタ1000へ印刷画像転送終了通知を行う転送プロトコルの持つ規約を利用し、最終画像データの転送時に、転送データが最終データである旨の通知を行うことで、画像転送終了通知として利用してもよい)。
工程4172:PDプリンタ1000はアダプタ1200から受け取った印刷画像をもとに印刷を行う。
工程4113:PDプリンタ1000は印刷が終了するとアダプタ1200へ印刷終了通知を行う。
工程4114:アダプタ1200はPDプリンタ1000へ印刷終了受付の返答を行う。
工程4173:PDプリンタ1000は液晶表示部上に印刷が終了した旨を表示する。
工程4186:アダプタ1200がPDプリンタ1000の印刷終了の通知を受けると、DSCからの新たな画像転送を受信可能とするためLED1204は点灯する。なお、点灯を開始するタイミングは、工程4113直後であっても工程4114直後であってもよい。
印刷終了時に、アダプタ1200のCPU3201は、RAM3203に書き込まれた画像情報を自動的に消去してもよい。画像を消去することで、機密性の高い画像の印刷を安全に行うことができる。
<転送待機から転送開始受付までのアダプタ1200の処理内容>
図24は本実施形態に係る、DSC1100からの画像転送待機から画像転送開始受付までのアダプタ1200の動作を規定するフローチャート図である。以下、各工程を解説する。
工程4200:本フローチャートの開始は、図22で説明したアダプタの接続が完了し、LEDが点灯状態になっている状態である。
工程4201:アダプタ1200はPDプリンタ1000とダイレクト印刷接続を確立完了し、DSC1100からの画像転送開始通知が送信されるまで待つ。DSC1100からの画像転送開始通知を受けると、画像転送開始通知情報をRAM3203に保持し、工程4202へ進む。
工程4202:アダプタ1200はPDプリンタ1000のCapability情報を取得し、RAM3203に保持する。
工程4203:アダプタ1200は、工程4201で得た情報を参照し、DSC1100から送られてくる画像のファイルフォーマットを調べ、工程4202で得た情報を参照し、PDプリンタ1000がDSC1100から送られてくる画像のファイルフォーマットをサポート可能であるかを確認する。サポート可能と判断した場合には工程4204へ、サポート不可能であると判断した場合には工程4208へ進む。
工程4204:アダプタ1200はプリンタ1000へ印刷開始通知を行う。なお、通知を行う前にプリンタ1000の状態を取得し、Readyでなければ印刷開始通知をせずに工程4208へ進んでもよい。
工程4205:アダプタ1200はプリンタ1000が印刷開始通知を受け付けて返答するまで待つ。
工程4206:アダプタ1200は印刷開始受付の返答内容を確認し、プリンタが印刷開始したか否かを調べる。印刷開始していれば工程4207へ、印刷開始してない場合には工程4208へ進む。
工程4207:アダプタ1200は工程4201でDSC1100から受信した画像転送開始通知に対し、DSC1100に転送開始受付を返答する。
工程4208:アダプタ1200は、工程4201でDSC1100から受信した画像転送開始通知に対し、転送開始拒否を返答する。DSC1100の画像転送開始通知に対し返答を行わないことにより、DSCをタイムアウトさせることをもって転送開始拒否を表してもよい。また、転送開始拒否を表すLED点滅パターンを用意し、一定時間表示してもよい。
工程4209:アダプタ1200は以降DSC1100からの画像転送を受けるシーケンスに戻る。
<プリンタによる印刷中断時の動作シーケンス>
図27は本実施形態に係る、プリンタによる印刷中断から印刷再開までのPDプリンタ1000とアダプタ1200とDSC1100の動作シーケンスを表す図である。
なお、プリンタが印刷中断する例としては、印刷用紙がプリンタ内部で紙詰まりを起こした場合、印刷用紙がセットされていない場合、インクやバッテリー残量が不十分である場合など、ユーザが何らかの対処を行わなければ印刷が続行できない場合が想定できる。以下、図27の各工程を解説する。
工程4571:PDプリンタ1000はアダプタ1200から受け取った印刷画像をもとに印刷を行っている。
工程4581:アダプタ1200はDSC1100からの画像転送終了後、PDプリンタが印刷ジョブを実行している間、LEDは点滅3にし、印刷中であることを報知する。
工程4572:PDプリンタ1000で印刷を続行できない問題が発生し、PDプリンタ1000は印刷を中断する。本実施形態では一例として、PDプリンタ1000の用紙が無くなり、給紙ができない状況を説明する。なお、紙詰まり(ジャム)の場合には、以下のエラー通知での「用紙なし」を「紙詰まり」と置換えられたい。
工程4501:PDプリンタはアダプタへ用紙なしエラー通知を送信する。エラー通知の方法はダイレクト印刷プロトコルに準ずる。
工程4582:アダプタが工程4501で用紙なしエラー通知を受け取ると、LED1204を点滅4の状態にする。これによりユーザはプリンタが用紙なしであることを知り、用紙のセットを行う。
エラー通知の内容が復帰不可能なものであれば、印刷をキャンセルし、LEDを点灯させ、図23の状態へ戻る。このとき、印刷がエラー終了したことをユーザに明確に知らせるために、LED1204を点滅4または他の点滅にし、印刷続行ボタンの押下をもってLED1204を点灯させ、図23の状態へ戻ってもよい。
工程4583:ユーザは用紙をセットし、アダプタ1200の印刷続行ボタン1203を押下する。
工程4502:アダプタ1200は印刷続行ボタンの押下を検知し、プリンタ1000へ印刷再開依頼を送信する。ダイレクト印刷の方式によっては、プリンタ1000側の印刷開始キー2005を押下するなどして印刷再開をしてもよい。その場合プリンタは印刷再開通知をアダプタ1200へ送信する。この通知をうけたアダプタ1200は、LED1204を点滅3の状態にすることになる。また、この場合には、工程4503、4573は省略される。
工程4503:プリンタ1000はアダプタ1200へ印刷再開受付を送信する。
工程4573:プリンタ1000は工程4572で中断したエラーが回復したことを確認し、印刷を再開する。
工程4584:アダプタ1200はプリンタ1000が印刷ジョブを再開している間、LED1204を点滅3にする。
<第1の実施形態により得られる効果>
以上説明した本実施形態によれば、次のような作用効果を奏することになる。
i. デジタルカメラ(カメラ付き携帯電話)とプリンタが、ダイレクト画像受信或いはダイレクト画像送信機能を有しながらも、それぞれが異なる物理インタフェース、異なるプロトコルを利用する場合に、実施形態におけるアダプタ1200を仲介させることで、デジタルカメラからプリンタへの印刷出力を実現できる。
ii. プリンタが印刷可能な時のみデジタルカメラからのデータを受け付け、プリンタが印刷不可能な時にはデジタルカメラからのデータを拒否することにより、デジタルカメラを操作するユーザが、デジタルカメラの動作結果から容易に印刷状況を把握できる。
iii. デジタルカメラからのデータを受け付けた時には、データの転送が完了する前にプリンタに対しダイレクト印刷の実行開始を要求することにより、データの転送中にプリンタがプリンタと接続されているPCなどからの印刷要求を受け付けてしまうことを防げる。
iv. ダイレクト印刷時の印刷状況表示機能をアダプタに持たせることで、プリンタの印刷状況をユーザに知らせることができる。また、ダイレクト印刷時の印刷設定用のUIをアダプタに持たせることで、ユーザはアダプタ上のUIを操作することで、印刷設定を行える。これにより、例えば用紙設定手段をもたないローエンドのプリンタと、同じく用紙設定手段をもたない、IrDA端子付きカメラ付き携帯電話を用いた時、アダプタ上で用紙設定を行うことで、任意の用紙サイズで印刷することができる。
<第1の実施形態の応用>
<画像転送と印刷のバリエーション>
[応用1]
図23に示したようにアダプタ1200はDSC1100からの画像転送が全て完了してからプリンタへの印刷画像転送を開始したが、必ずしもDSC1100からの画像情報の全画像転送がアダプタのRAM3203に記憶されてからプリンタへ印刷画像転送を行う必要は無く、アダプタのRAMに記憶しながら随時プリンタへ印刷画像転送を行ってもよい。この場合、プリンタは「印刷用画像の断片」を得ることができるため、印刷用画像の全体を得る前であっても断片を利用して早期に印刷を開始することができ、印刷完了までの時間を短縮することが可能である。
[応用2]
また、図23ではプリンタからの印刷画像転送依頼は、工程4108の一度のみであったが、プリンタからの印刷画像転送依頼が複数回に分けた「印刷用画像片転送依頼」によって行われてもよい。この場合においても前記(応用1)と同様にアダプタ1200はDSC1100から各画像片をアダプタのRAMに記憶しながらプリンタへ印刷画像転送を行ってもよい。この場合にも、プリンタは逐次「印刷用画像片」を得ることができるため、印刷用画像の全体を得る前であっても断片を利用して早期に印刷を開始することができ、印刷完了までの時間を短縮することが可能である。このときに、さらに「印刷用画像片」単位でなく「印刷画像片の断片」単位であっても良いことは言うまでも無い。
[応用3]
前記応用1、応用2に限らず、アダプタ1200−プリンタ1000間の転送方式がいかなる方式であっても同様に、DSCからアダプタが受け取ったデータを逐次転送することにより同様の効果が得られる。
<応用1の動作シーケンス>
図25は本実施形態に係る、図23上の動作シーケンスの一部を上記応用1による改変例を表す図である。以下、各工程について解説する。
工程4301:DSC1100はアダプタ1200への画像転送を開始する。
工程4302:PDプリンタ1000はアダプタ1200へ印刷画像転送依頼を行う。 工程4303:アダプタ1200はPDプリンタ1000へ依頼された印刷画像のうち、DSC1100から転送された断片を逐次転送する。
工程4371:PDプリンタ1000はアダプタ1200から受け取った印刷画像の断片をもとに逐次印刷を行う。例として、1/4ページ分に相当する印刷用画像の断片がアダプタから転送されていれば、1/4ページ分の印刷が可能である。
工程4381:PDプリンタ1000が印刷ジョブを実行している間、アダプタ1200上のLED1204は点滅3を繰り返す。このとき、DSC1100からの転送を尊重して点滅2を繰り返してもよく、転送と印刷の両方を表すために点滅2と点滅3を交互に繰り返してもよく、または新たな点滅パターンを用意してもよい。
工程4304:DSC1100は1枚の画像の全てのデータを転送し終えると、アダプタ1200へ画像転送終了通知を行う(最終データである旨の通知であっても良い)。
工程4305:アダプタ1200はDSC1100へ画像転送終了受付の返答を行う。
工程4306:アダプタ1200はPDプリンタ1000へ依頼された印刷画像を全て転送すると、PDプリンタ1000へ印刷画像転送終了通知を行う。なお、転送プロトコルの持つ規約を利用し、最終画像データの転送時に、転送データが最終データである旨の通知を行うことで、画像転送終了通知として利用してもよい。
<応用2の動作シーケンス>
図26は本実施形態に係る、図23上の動作シーケンスの一部の前記応用2による改変例を表す図である。以下、各工程について解説する。
工程4401:DSC1100はアダプタ1200への画像転送を開始する。
工程4402:PDプリンタ1000はアダプタ1200へ一番目の印刷画像片転送依頼を行う。
工程4403:アダプタ1200はPDプリンタ1000へ依頼された一番目の印刷画像片を転送する。ここで、印刷画像片はDSC1100から転送された画像断片をもとに生成する。前述の「応用1)」ならって、印刷画像片の断片を逐次転送してもよい。
工程4404:アダプタ1200はPDプリンタ1000へ依頼された一番目の印刷画像片を全て転送すると、PDプリンタ1000へ一番目の印刷画像片転送終了通知を行う(転送プロトコルの持つ規約を利用し、一番目の画像片データの転送時に、転送データが最終データである旨の通知を行うことで、画像片転送終了通知として利用してもよい)。
工程4471:PDプリンタ1000はアダプタ1200から受け取った印刷画像片をもとに逐次印刷を行う。例として、1/4ページ分に相当する印刷用画像片がアダプタ1200から転送されていれば、1/4ページ分の印刷が可能である。前述応用3にならって、印刷画像片の断片をもとに逐次印刷を行ってもよい。
工程4481:PDプリンタ1000が印刷ジョブを実行している間、アダプタ1200上のLED1204は点滅3を繰り返す。なお、このとき、DSC1100からの転送を尊重して点滅2を繰り返してもよく、転送と印刷の両方を表すために点滅2と点滅3を交互に繰り返してもよく、または新たな点滅パターンを用意してもよい。
工程4405、4408:PDプリンタ1000はアダプタ1200に対し二番目、三番目の印刷画像片転送依頼を行う。
工程4406、4409:アダプタ1200はPDプリンタ1000へ、依頼された二番目、三番目の印刷画像片を転送する。ここで、印刷画像片はDSC1100から転送された画像断片をもとに生成する。
工程4407、4410:アダプタ1200はPDプリンタ1000へ、依頼された二番目、三番目の印刷画像片を全て転送すると、PDプリンタ1000へ印刷画像片転送終了通知を行う。
工程4411:PDプリンタ1000はアダプタ1200に対し最後の印刷画像片転送依頼を行う。
工程4412:DSC1100は全てのデータを転送し終えると、アダプタへ画像転送終了通知を行う(転送プロトコルの持つ規約を利用し、最終画像データの転送時に、転送データが最終データである旨の通知を行うことで、画像転送終了通知として利用してもよい)。
工程4413:アダプタ1200はPDプリンタ1000へ、依頼された最後の印刷画像片を転送する。ここで、印刷画像片はDSC1100から転送された画像断片をもとに生成する。
工程4414:アダプタ1200はDSC1100へ画像転送終了受付の返答を行う。
工程4415:アダプタ1200はPDプリンタ1000へ依頼された最後の印刷画像片を全て転送すると、PDプリンタ1000へ印刷画像片転送終了通知を行う。
工程4416:アダプタ1200はPDプリンタ1000へ、依頼された印刷画像を全て転送すると、PDプリンタ1000へ印刷画像転送終了通知を行う。なお、工程4415の通知によって、最終データである旨の通知を行っても良い。
<その他の応用>
その他、実施形態の応用として考えられるものを下記に挙げる。
本実施形態ではDSC側の通信プロトコルスタックとして、図9に挙げた構成によるIrOBEXを例にとったて説明したが、図10乃至図13のような他の構成のDSCに対しても同様のアダプタが考えられる。これらのプロトコルにおいても、アダプタ1200はDSC/プリンタ各々と通信をするための物理インタフェースとプロトコルスタックを持ち、図中のProtocolTranslator部においてDSCからの画像情報を用いてプリンタへの印刷要求を生成し、実行することが考えられる。
本実施形態での画像・印刷データの転送方法はあくまでも一例であり、転送手続きの詳細な順番や、転送開始手続きを転送元が行うか転送先が行うかによらず、本発明の効果が利用出来ることは言うまでも無い。例えば、本実施形態ではDSCからアダプタへの画像転送はDSCからの転送開始通知により開始されたが、アダプタがDSCに対し常に画像転送要求を送り、それに対してDSCが画像転送受付を返したことを以って開始されてもよい。
本本実施形態でのLED表示パターン以外にも、様々な表示パターンのバリエーションを用いることで、アダプタの状態を幅広く表すことが可能になる。また、点滅のパターンとして、点滅1回における点灯と消灯の占める時間の割合を変化させることで点滅パターンを区別させることも可能である。例えば、印刷中を表す点滅パターンとして、「点灯0.1秒、消灯1秒」で構成するなどが可能であり、これによりLEDの点灯時間を短くし、アダプタの電力消費を抑えることができる。
また、アダプタのUIとして、状態をより明確に表示するために、数値や文字列の表示できるLED、LCDその他の表示装置を用いてもかまわない。この場合、UIを持たないPDプリンタとの接続時などでアダプタ上に各種エラー表示を行うことで、ユーザにプリンタやアダプタの動作状況の詳細を知らせることが可能である。
また、DSCからアダプタへの画像転送中に、DSCからの通信が途絶えた時、一定時間通信が復帰しなければアダプタがプリンタへ印刷中断依頼を行ってもよい。
また、上記実施形態において、デジタルカメラ1100とアダプタ1200との接続を純粋な転送接続としたが、これに限る必要は無く、アダプタ1200とPDプリンタ1000との接続に用いるダイレクト印刷接続と異なる接続であれば本発明の効果が期待出来る。よって、上記実施形態においてデジタルカメラ1100とアダプタ1200との接続が簡易なダイレクト印刷接続であっても良い。