以下、本発明の実施の形態について、図面を参照しながら説明する。
[第1の実施の形態]
<ハードウェアの構成>
図1は、本発明の実施の形態に係る画像制御装置の一例であるデジタルカメラの構成を示すブロック図である。
このデジタルカメラ100は、プリンタと所定の通信プロトコルを用いて通信し、当該プリンタにプリントジョブを送信可能な画像制御装置の一例である。デジタルカメラ100は、撮影レンズ2、絞り機能を備えるシャッター3、撮像素子4、A/D変換器5、タイミング発生回路6、D/A変換器7、メモリ制御回路8、システム制御回路9、及び画像処理回路10を有している。
撮像素子4は、光学像を電気信号に変換し、A/D変換器5は撮像素子4から出力されたアナログ信号出力をデジタル信号に変換する。タイミング発生回路6は、撮像素子4、A/D変換器5、及びD/A変換器7にクロック信号や制御信号を供給する回路であり、メモリ制御回路8及びシステム制御回路9により制御される。
メモリ制御回路8は、A/D変換器5、タイミング発生回路6、画像処理回路10、画像表示メモリ11、D/A変換器7、及びメモリ12を制御する回路である。また、画像処理回路10は、A/D変換器5からのデータ或いはメモリ制御回路8からのデータに対して所定の画素補間処理や色変換処理を行う回路である。A/D変換器5から出力されたデジタルデータが、画像処理回路10、メモリ制御回路8を介して、或いは直接にメモリ制御回路8を介して、画像表示メモリ11或いはメモリ12に書き込まれる。
システム制御回路9は、デジタルカメラ100全体を制御する回路であり、メモリ20は、システム制御回路9の動作用の定数、変数、プログラム等を記憶するメモリである。
電源制御部18は、電源部19からの電力により必要な電圧を必要な期間にわたって各部へ供給する。
メモリ12は、撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。さらに画像再生時などに付加されたレイティング情報やコメント情報などを静止画データとリンクして保存する。
また、デジタルカメラ100は、画像表示部13、露光制御部14、測距制御部15、ズーム制御部16、フラッシュ17、メモリ20、電源制御部18、及び電源部19を備えている。
画像表示部13は、TFT LCD等から成る画像表示部であり、画像表示メモリ11に書き込まれた表示用の画像データはD/A変換器7を介して画像表示部13により表示される。露光制御部14は、絞り機能を備えるシャッター3を制御するものである。
測距制御部15は、撮影レンズ2のフォーカシングを制御し、ズーム制御部16は、撮影レンズ2のズーミングを制御する。フラッシュ17は、AF補助光の投光機能やフラッシュ調光機能も有する。
また、デジタルカメラ100は、表示装置21、不揮発性メモリ22、メモリカードインターフェース23、USBインターフェース24、操作部25、シャッタースイッチ26、及び無線通信回路27を備えている。
表示装置21は、システム制御回路9でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメッセージ等を表示する装置とスピーカー等を備えている。デジタルカメラ1の操作部25の近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLED、発音素子等の組み合わせにより構成されている。
不揮発性メモリ22は電気的に消去・記録可能な不揮発性メモリであり、デジタルカメラ100の制御を実行するためのファームウェアプログラムや、機器の無線設定情報などを記憶することができる。メモリカードインターフェース23(記憶媒体装着部の一例)は、記録メディア23Aを装着するためのインターフェースであり、USBインターフェース24は、外部機器とUSBを用いて接続するためのインターフェースである。
操作部25は、システム制御回路9の各種の動作指示を入力するための操作部であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
シャッタースイッチ26は、撮像素子4から読み出した信号をA/D変換器5及びメモリ制御回路8を介してメモリ12に画像データを書き込む露光処理、画像処理回路10やメモリ制御回路8での演算を用いた現像処理という一連の処理の動作開始を指示する。無線通信回路27は、アンテナ28を通して無線信号を送受信し、無線通信を制御する。
図2は、本発明の実施の形態で用いる液晶プロジェクタの全体構成を示すブロック図である。
この液晶プロジェクタ200は、メモリ101、不揮発性メモリ102、操作部103、リモコン受光部120、電源制御部104、電源部105、イーサーネットインターフェース107、USBインターフェース106、及び画像処理回路108を備えている。これらのデバイスは、システム制御回路109に接続されている。
メモリ101は、システム制御回路109の動作用の定数、変数、画像等を一時的に記憶するメモリである。不揮発性メモリ102は、システム制御回路109のファームウェアプログラム等を記録した電気的に消去・記録可能な不揮発性メモリである。この不揮発性メモリ102に、液晶プロジェクタ200がデジタルカメラに通知するCapability情報を記録することができる。
操作部103は、システム制御回路109の各種の動作指示を入力する機能を有する。リモコン受光部120は、液晶プロジェクタ200に付属する赤外線リモコンからのリモコンキーを受信して、システム制御回路109の各種の動作指示を入力する。電源制御部104は、DC−DCコンバータやスイッチ回路等から成り、電源部105はACアダプター等から成る。
イーサーネットインターフェース107は、イーサーネットなどのネットワークに接続するためのインターフェースである。USBインターフェース106は、デジタルカメラやUSBメモリ等とUSBケーブルを用いて接続するためのインターフェースである。
画像処理回路108は、デジタルカメラやUSBメモリ等から読み出したJPEG画像の表示位置の設定処理と、ファイル名・日付・Exifなどの情報をオーバーレイする処理などを行う。システム制御回路109は、液晶プロジェクタ200全体を制御する回路である。
さらに、液晶プロジェクタ200は、フレームメモリ110、プロジェクタ映像信号処理回路111、信号レベル調整回路112、液晶ドライバ113、ランプ駆動回路(バラスト)115、ランプ116、液晶パネル117、及びレンズ群118を備えている。
プロジェクタ映像信号処理回路111は、デジタル化されたRGB信号をプロジェクタ装置に適した信号に変換する信号処理を行う。そのような信号処理としては、例えば、インターレースープログレッシブ変換処理、フレームレート変換処理、解像度変換処理等が挙げられる。
フレームメモリ110は、プロジェクタに適した信号に変換する際の信号処理で使用され、1フレーム以上のRGB信号を記録することが可能である。信号レベル調整回路112は、プロジェクタ映像信号処理回路111からの出力をプロジェクタ装置の投影する投影画像に適するような信号レベルとするべく調整する。液晶ドライバ113は、信号レベル調整回路112の出力信号に基づいて液晶パネル117を駆動する。
ランプ116は、スクリーン119に投影画像を映し出すための光源である。電源105は、ランプ116に電力を供給する。ランプ駆動回路(バラスト)115は、電源105より供給される電力からランプ116に供給するための安定した高電圧を発生させる。液晶パネル117には、R/G/Bのカラーフィルタが接合されており、ランプ116より投射された光をRGBの画像に対応して光の透過・遮断を行う。レンズ群118は、液晶パネル117を通過したRGBの各色画像をスクリーン119へ結像させるとともに、投影画像の大きさを変化させる。スクリーン119は、映像信号を結像させる投影面を提供する。
図3は、本実施の形態におけるデジタルカメラと液晶プロジェクタのシステム構成を示す模式図である。
液晶プロジェクタ200は、USBインターフェース106に挿入されたUSBケーブル300を介して、デジタルカメラ100のUSBインターフェース24に接続されている。デジタルカメラ100は、撮影画像、及びスライドショー表示用のDPOFファイル(自動再生ファイルの一例)を保持する記録メディア23AをメモリカードI/F23に装着可能である。プリンタとの接続時には、記録メディア23Aに保持した撮影画像を選択して印刷できる機能を搭載している。
本実施の形態では、図3に示すようなシステムにおいて、デジタルカメラ100の記録メディア23Aに保存した画像を、デジタルカメラ100からの操作により、液晶プロジェクタ200でスライドショー再生するものである。
なお、本実施の形態で構築するシステムの通信媒体は、有線・無線のLANやBluetooth等でもよく、本実施の形態は構築するシステムの形態に依存するものではない。
<フォルダ、ファイル、テーブル構成>
図4(a),(b)は、本実施の形態におけるデジタルカメラ100のフォルダ及びファイルの構成を示す図であり、同図(a)はフォルダ構成、同図(b)はスライドショー表示用のDPOFファイル(自動再生ファイルの一例)の構成を示している。
デジタルカメラ100のメモリカードI/F23に装着された記録メディア23A内のフォルダ構成は、図4(a)に示すように、ルートディレクトリ900の直下にMISCディレクトリ1000とDCIMディレクトリ1010が存在する。
”MISC”ディレクトリ1000の下には、DPOFファイルが保存される。DPOFファイルには、次の4つの種別が存在する。
・印刷用DPOFファイルであるAUTPRINT.MRK1001
・スライドショー用DPOFファイルであるAUTPLAYn.MRK1002
・転送用DPOFファイルであるAUTXFER.MRK1003
・UNICODE用DPOFファイルであるUNICODE.MRK1004
また、“DCIM”ディレクトリ1010の下には、撮影画像EFGH0001.JPG1005群が保存されている。
前記スライドショー用DPOFファイル1002は、AUTPLAY0.MRK・AUTPLAY1.MRKなど、10個のファイルを持つことができる。
また、印刷用DPOFファイル1001は、図4(b)に示すように、デジタルカメラ名やDPOFファイル作成日時などのヘッダー部と、プロダクトID・ファイルフォーマット・画像ファイルのパス情報・画像の撮影日時情報等を、ジョブごとに保持している。撮影画像をスライドショー表示画像として指定すると、印刷用DPOFファイル1001にジョブが追加される。一方、撮影画像をスライドショー表示画像から外すと、印刷用DPOFファイル1001からジョブが削除される。
図5は、本実施の形態におけるデジタルカメラ100の撮影画像のExif圧縮データファイル構造を示した図である。
図5中の4800は、JPEGファイルの記録形式であって、ファイルの先頭を表すSOIマーカ直後にアプリケーションマーカセグメント(APP1)を挿入し、APP1にExifの付加情報を記述する。
4801は、APP1の内部の構成であって、APP1はAPP1マーカ、Exifの識別コード、及び付属情報本体から構成される。付属情報は、File Headerを含むTIFF構造を採り、最大2つのIFD(0th IFD,1stIFD)を記録できる。0thIFDには、圧縮されている画像(主画像)に関する付属情報を記録する。1stIFDには、サムネイル画像を記録することができる。
0thIFDには、Exif固有の付属情報を記録するためのExif IFD4802が存在する。ExifIFDの付属情報は、バージョンに関するものから始まりユーザ情報を記録することができる。例えば、露出時間・F値・ISO感度・Tv・Av・焦点距離・測光方式・撮影日・画像圧縮比などが存在する。
図6は、本実施の形態における液晶プロジェクタ200のCapability情報管理テーブルを示した図である。
液晶プロジェクタ200が設定可能な能力を管理するためのCapability情報管理テーブル1400は、液晶プロジェクタ200の不揮発性メモリ102内に記憶されている。本テーブルには、用紙サイズ・ファイル名印刷・ファイルタイプ・Quality・用紙タイプ・日付印刷・イメージオプティマイズ・レイアウト・fixedSize・トリミングの情報が記憶されている。
用紙サイズは、標準(51000000)とExif情報付L判(5100C000)が存在する。Exif情報付L判とは、Exif情報を付加し、画像を表示することができる能力を持つ液晶プロジェクタ200であることを示している。ファイル名印刷は、ON(5502000)とOFF(55010000)が存在する。ONとは、ファイル名を付加し、画像を表示することができる能力を持つ液晶プロジェクタ200であることを示している。
ファイルタイプ印刷は、JPEG(53030000)とポーズアイコン(5300C000)が存在する。JPEGフォーマットの画像データを表示することと、ポーズアイコンを付加し、画像データを表示することができる能力を持つ液晶プロジェクタ200であることを示している。Quality・用紙タイプ・日付印刷・イメージオプティマイズ・レイアウト・fixedSize・トリミングは、標準のみが存在し、液晶プロジェクタ200の標準仕様に基づき、画像表示を行うことを示している。
後述するが、デジタルカメラ100が、液晶プロジェクタ200に設定可能な能力を問い合わせるとき、液晶プロジェクタ200は、本Capability情報管理テーブルから情報を取得し、デジタルカメラ100に液晶プロジェクタ200の能力を通知する。
<DPSアーキテクチャ>
図7は、本実施の形態におけるDPSのシステムモデルを示した模式図である。
PictBridge(ピクトブリッジ)規格を実現するためのDPSアーキテクチャは、サーバ/クライアントモデルであり、プリントサーバ501/クライアント502とストレージクライアント503/サーバ504が存在する。なお、DPSとは、Digital Photo Solution for Imaging Deviceの略語である。
基本的に、クライアントからの要求に対してサーバが応答し、その結果をクライアントに返答するというシーケンスで、各DPSオペレーションが完結する。またサーバから発行される通知に対して、クライアントが応答し、その受け取り確認をサーバに返答するというシーケンスで各DPSイベントが完結する。
具体的には、デジタルカメラ100のプリントクライアント502から印刷要求に応じて、液晶プロジェクタ200のプリントサーバ501が応答する。続いて、液晶プロジェクタ200のストレージクライアント503が画像を投影するために画像データを要求し、デジタルカメラ100のストレージサーバ504から画像データを返答する。また液晶プロジェクタ200のプリントサーバ501からデバイス状態などのDPSイベントを発行通知に対し、デジタルカメラ100のプリントクライアント502がDPSイベントの受け取り確認を返答する。
また、プリントサーバ501/クライアント502は、液晶プロジェクタ200の不揮発性メモリ102上に存在するファームウェアプログラムで実行される。図示していないが、プリントサーバ501/クライアント502を動作させるためには、USB I/F106を制御するUSBホストドライバ、通信プロトコルであるPTPのイニティエイタ(Initiator)が必要である。なお、PTPとは、Picture Transfer Protocolの略語である。
一方、ストレージサーバ504/クライアント503を動作させるために、デジタルカメラ100には、USBデバイスドライバ、通信プロトコルであるPTPのリスポンダ(Responder)が搭載されている。
デジタルカメラ100には、本DPSのシステムモデルを利用し、スライドショー再生を制御するスライドショーマネージャ505が存在する。スライドショーマネージャ505は、スライドショー表示用のDPOFファイルを記憶メディア23Aから読み出して解析することにより、スライドショー再生すべき複数の画像と、その複数の画像の再生方法とを特定する。また、前記複数の画像を1画像ごとに指定するプリントジョブを生成して、前記特定した再生方法に基づいて、生成したプリントジョブを順次、液晶プロジェクタ200へ送信するための制御全般を行う(ジョブ生成手段)。例えば、スライドショー再生の表示間隔(表示タイミング)の時間管理やスライドショー用画像を指定した印刷要求をプリントクライアント502へ通知するなどの処理を行う。
図8〜図12は、本実施の形態におけるDPSコマンド及びイベントについて示した図である。
全てのDPSコマンド及びイベントは、XML形式で記述する。PictBridge対応機器がどのようなサービス機能を有するのかを確認するためのコマンドがDPS_ConfigurePrintServiceである。これは、DPSバージョン・ベンダー名・プロダクト名・シリアル番号などが記述される。
図8において、401は、プリントクライアント502が送信するコマンドDPS_ConfigurePrintServiceである。
402は、プリントサーバ501が該コマンドに応答したものであり、Result値が記述される。
403は、プリントクライアント502が用紙サイズを問い合わせるために送信するコマンドDPS_GetCapabilityの一例である。DPS_GetCapabilityは、液晶プロジェクタ200に設定可能な能力を問い合わせるためのコマンドである。例えば、用紙サイズの他、quality、用紙タイプ、ファイルタイプ、日付印刷、ファイル名印刷、イメージオプティマイズ、レイアウト、fixedSize、トリミングの能力を問い合わせることができる。
404は、プリントサーバ501が該コマンドに応答したものであり、Result値と液晶プロジェクタに設定可能な用紙サイズ(標準、Exif情報付L判など)が記述される。
図9において、405は、プリントクライアント502が印刷を要求するコマンドDPS_StartJobであり、406は、プリントサーバ501が該コマンドに応答したものであり、Result値が記述される。DPS_StartJobは、デジタルカメラ100から印刷を要求するためのコマンドである。印刷要求のパラメータには、印刷設定と印刷情報が存在する。印刷設定には、デジタルカメラ100のユーザ操作によって設定された内容(quality・用紙サイズ・用紙タイプ・ファイルタイプ・日付印刷・ファイル名印刷・イメージオプティマイズ・レイアウト・fixedSize・トリミング)が記述される。印刷情報には、印刷指定された1画像以上の印刷画像に対する画像ファイルIDや印刷枚数等が記述される。
図10において、408は、プリントサーバ501が印刷状態を通知するために送信するイベントDPS_NotifyJobStatusであり、印刷の進捗、総印刷枚数などが記述される。407は、プリントクライアント502が該コマンドに応答したものであり、Result値が記述される。
410は、プリントサーバ501がデバイス状態を通知するために送信するイベントDPS_NotifyDeviceStatusであり、409は、プリントクライアント502が該コマンドに応答したものであり、Result値が記述される。DPS_NotifyDeviceStatusは、液晶プロジェクタ200から液晶プロジェクタ200のデバイス状態を通知するためのイベントである。例えば、アイドル・印刷中・ポーズ中などの印刷状態、画像ファイル等のエラー内容、Capability変更有無、新たな印刷ジョブを受け付け可能か否かなどの情報が記述される。
図11において、411は、プリントクライアント502が印刷を中止するために送信するコマンドDPS_AbortJobであり、412は、プリントサーバ501が該コマンドに応答したものであり、Result値が記述される。413は、プリントクライアント502が印刷を再開するために送信するコマンドDPS_ContinueJobであり、414は、プリントサーバ501が該コマンドに応答したものであり、Result値が記述される。
図12において、421は、ストレージクライアント503が画像のファイルIDを取得するために送信するコマンドDPS_GetFileIDであり、画像のファイルパスなどが記述される。420は、ストレージサーバ504が該コマンドに応答したものであり、Result値と該ファイルIDが記述される。
また、423は、ストレージクライアント503が画像のファイル情報を取得するために送信するコマンドDPS_GetFileInfoであり、情報を取得した画像のファイルIDが記述される。422は、ストレージサーバ504が該コマンドに応答したものであり、Result値と該画像のファイルタイプ、ファイルサイズ、サムネイルフォーマット、サムネイルサイズが記述される。
また、425は、ストレージクライアント503が画像を取得するために送信するコマンドDPS_GetFileであり、情報を取得した画像のファイルIDが記述される。424は、ストレージサーバ504が該コマンドに応答したものであり、Result値と取得した画像のサイズが記述される。図示していないが、画像を分割して取得するコマンドDSP_GetPartialFileも存在する。DPS_GetFileの代わりに、DPS_GetPartialFileを利用してもよい。
<DPSコマンドに関連したシーケンス>
図13は、本実施の形態における液晶プロジェクタとデジタルカメラの接続開始からスライドショーメニュー表示完了までのDPSコマンドのシーケンス図である。
初めに液晶プロジェクタ200とデジタルカメラ100の間で互いがDPS機能を有するかどうかを確認するためのネゴシエーションを行う。PictBridge規格では、USB接続をトリガーとして両機器間にPTP接続が確立した後に、DPSディスカバリT601が行われる。具体的には、デジタルカメラ100と液晶プロジェクタ200がそれぞれDDISCVRY.DPSとHDISCVRY.DPSという空のスクリプトファイルを送り合うことで互いがPictBridge対応機器であることを確認する。
その後のT602では、デジタルカメラ100のプリントクライアント502が液晶プロジェクタ200のプリントサーバ501へDPS_ConfigurePrintService401を発行する。その目的は、液晶プロジェクタ200及びデジタルカメラ100の両機器が互いに有する機能を確認することである。つまり、液晶プロジェクタ200がプリントサーバ501/ストレージクライアント503を有することを、デジタルカメラ100がプリントクライアント502/ストレージサーバ504を有することを互いに通知し合う。
次のT603では、液晶プロジェクタ200はどのような表示設定が可能であるのかを問い合わせるために、プリントクライアント502がプリントサーバ501へDPS_GetCapability403を発行する。プリントサーバ501は、印刷のCapability情報を取得し、プリントクライアント502へCapability情報を通知する。その結果、プリントクライアント502が得たCapability情報がデジタルカメラ100のUI(ユーザインターフェース)に反映されて、ユーザの選択できる機能が決定する。その機能としては、例えば、quality・用紙サイズ・用紙タイプ・ファイルタイプ・日付印刷・ファイル名印刷・イメージオプティマイズ・レイアウト・fixedSize・トリミングなどである。
次のT604では、液晶プロジェクタ200がディスカバリ状態から待機状態に遷移したことをデジタルカメラ100に通知するために、プリントサーバ501はプリントクライアント502へDPS_NotifyDeviceStatus409を発行する。
次のT605では、デジタルカメラ100のプリントクライアント502は、通信接続相手機器がプリンタであるのか、或いは液晶プロジェクタであるかを検出する。そして、液晶プロジェクタが検出された場合、スライドショーマネージャ505に待機状態になったことを通知する。通信接続相手機器の判断方法としては、プリントサーバ501から取得したDPS_ConfigurePrintSever401の<productName>情報を利用する。例えば、液晶プロジェクタの場合、<productName>LCP</productName>と記述し、プリンタの場合、<productName>Printer</productName>と記述するよう定義しておく。これによって、接続相手が液晶プロジェクタもしくはプリンタであるかを判断することができる。本実施形態では、vendorSpecificVersion情報やDPS_GetCapablity情報等、他の情報を利用してもよい。
最後のT606では、スライドショーマネージャ505は、ユーザがスライドショー再生を操作するためのスライドショーメニューを表示する。
図14は、図13中のDPSディスカバリT601の詳細を示すシーケンス図である。
PictBridge規格では、USB接続をトリガーとして両機器間にPTP接続が確立した後に、このDPSディスカバリT601が実行される。液晶プロジェクタ200とデジタルカメラ100の両機器は、通信プロトコルとしてPTPを採用しており、液晶プロジェクタ200はPTPイニティエイタとして、デジタルカメラ100はPTPリスポンダとして動作する。PTPイニティエイタとは、セッションを開始し、リスポンダに対してPTPコマンドを発行するデバイスのことである。PTPリスポンダとは、PTPイニティエイタからのPTPコマンドに対してレスポンスを返すデバイスのことである。
初めにT701では、PTPイニティエイタがデジタルカメラ100についての情報を取得するためにPTPリスポンダへGetDeviceInfoを発行する。なお、PTPコマンドは、Command、Data、Responseの3つのフェーズから構成されている。また、Dataフェーズのみ必須ではなく、データの向きも含めてCommandごとに異なっている。通常は、Commandごとに定められた向きのDataの転送が行われて、それに対する応答がResponseとして返される。
次のT702では、PTPイニティエイタがPTPリスポンダへOpenSessionを発行し、セッション開始を通知する。続くT703では、PTPイニティエイタがPTPリスポンダへGetNumObjectを発行し、デジタルカメラ100のストレージに記憶されているスクリプトの数を取得する。
次のT704では、PTPイニティエイタがPTPリスポンダへGetObjectHandlesを発行し、デジタルカメラ100のストレージに記憶されているスクリプトのハンドルを取得する。続くT705では、PTPイニティエイタがPTPリスポンダへGetObjectInfoを発行し、PTPリスポンダからDDISCVRY.DPSという空のスクリプトファイル情報を取得する。これによって、デジタルカメラ100がDPS機能を有していることを確認する。
最後のT706では、PTPリスポンダは、PTPイニティエイタの発行するSendObjectInfoのDataフェーズからHDISCVRY.DPSという空のスクリプトファイル情報の通知を受ける。これによって、液晶プロジェクタ200がDPS機能を有していることを確認する。
以上でDPSディスカバリT601は完了する。
図15は、本実施の形態における液晶プロジェクタ200がデジタルカメラ100に向けてDPSコマンドを発行したときのPTPコマンドのシーケンス図である。
初めのT801では、DPSクライアントがPTPイニティエイタにDPSコマンドを発行する。このDPSコマンドとして、図15の例では、DPS_NotifyDeviceStatus409とする。
次のT802では、PTPイニティエイタがこれから送信するオブジェクトのファイルタイプとファイルサイズをPTPリスポンダに通知するために、SendObjectInfoを発行する。続くT803では、PTPイニティエイタがDPSコマンドを送信するために、PTPリスポンダにSendObjectを発行する。
最後のT804では、PTPリスポンダが、取得したDPSコマンドをDPSサーバに送信する。
以上のようにして、液晶プロジェクタ200が発行したDPSコマンドはデジタルカメラ100に送信される。
図16は、本実施の形態における液晶プロジェクタ200がデジタルカメラ100からDPSコマンドを受けたときのPTPコマンドレベルでのシーケンス図である。
初めのT901では、DPSサーバがPTPリスポンダにDPSコマンド(図16の例では、DPS_StartJob405を記した)を発行する。続くT902では、それを受けたPTPリスポンダがPTPイニティエイタにRequestObjectTransferというPTPイベントを発行し、PTPイニティエイタに対してPTPリスポンダからオブジェクトを取得するように要求する。
次のT903では、PTPイニティエイタがこれから取得するオブジェクトのファイルタイプとファイルサイズを取得するためにPTPリスポンダにGetObjectInfoを発行する。続くT904では、PTPイニティエイタがDPSコマンドを取得するためにPTPリスポンダにGetObjectを発行する。
最後のT905では、PTPイニティエイタが取得したDPSコマンドをDPSクライアントに送信する。
以上でデジタルカメラ100が発行したDPSコマンドが液晶プロジェクタ200に受信される。
<本実施の形態に係る主な制御画面>
(A)液晶プロジェクタ200が表示する制御画面
本実施の形態における液晶プロジェクタ200は、デバイス(デジタルカメラ100)との接続状態に応じて表示画面を制御する。まず、この各種の表示画面について、図17(a),(b),(c)を参照して説明する。
図17(a),(b),(c)は、本実施の形態における液晶プロジェクタ200の表示画面の一例を示す画面図である。同図(a)は、デバイスが接続されていない場合に表示される液晶プロジェクタ200の表示画面の一例を示し、同図(b)は、デジタルカメラ100との接続処理中に表示される液晶プロジェクタ200の表示画面の一例を示している。また、同図(c)は、スライドショー開始可能状態時に表示される液晶プロジェクタ200の表示画面の一例を示している。
液晶プロジェクタ200にデバイスが接続されていない場合、図17(a)に示すように、液晶プロジェクタ200は、画面表示部2000に、デバイス接続を促すコメント2001と、接続が可能なデバイスの画像2002,2003を表示する。液晶プロジェクタ200にデバイスのデジタルカメラ100が接続されると、液晶プロジェクタ200は、表示画面を図17(b)の画面へ遷移させる。また、デジタルカメラ100と切断すると、どのような画面状態であっても図17(a)の画面に戻る。
デジタルカメラとの接続開始からスライドショーメニュー表示完了までの処理(図13で説明した)を行っている間、液晶プロジェクタ200は、次のような処理を行う。即ち、図17(b)に示すように、画面表示部2000に、接続の処理中であるコメントと処理状況の進捗状況を表示する接続状況表示部2100を表示する。デジタルカメラ100からスライドショー再生を開始できる状態になると、表示画面を図17(c)の画面へ遷移させる。
図17(c)の表示画面では、液晶プロジェクタ200は、画面表示部2000に、デジタルカメラ100からのスライドショー再生の開始が可能であることを示すコメント2200を表示する。デジタルカメラ100から画像印刷の要求があると、表示画面を後述する図26(a)の画面へ遷移させる。
(B)デジタルカメラ100が表示する制御画面
次に、本実施の形態におけるデジタルカメラ100は、スライドショー再生を制御するためのユーザインターフェースを備えている。この各種のユーザインターフェースについて、図18〜図21を参照して説明する。
図18(a),(b)は、本実施の形態におけるデジタルカメラ100に表示される画面を示す図であり、同図(a)はメニュー表示画面を示し、同図(b)はスライドショー制御用の画面を示している。
デジタルカメラ100の背面には、SETボタン2602、上下左右ボタン2603、MENUボタン2604、及び液晶モニタ2605が配備されている。デジタルカメラ100は、図13で説明した、液晶プロジェクタとの接続開始からスライドショーメニュー表示完了までの処理を行うと、図18(a)に示すように、液晶モニタ2605にメニューを表示する。
SETボタン2602は、設定値を確定するときなどに使用するボタンである。上下左右ボタン2603は、メニューを選択する場合に上下左右でカーソルを移動させる場合や、画像の表示で複数画像が存在する場合に、次の画像や前の画像を表示させる場合に使用する。デジタルカメラ100は、ユーザ操作によって図18(a)に示すメニューを表示させ、スライドショーメニューを選択することができる。
ユーザが上下左右ボタン2603を操作することでカーソルをスライドショーメニューに移動し、SETボタン2602を押下すると、デジタルカメラ100のシステム制御回路9は、図18(b)のスライドショー制御画面へ表示画面を遷移させる。
図18(b)に示すスライドショー制御画面において、スライドショー選択メニュー2706は、上下左右ボタン2603を操作することによって、実行するスライドショーを選択するためのメニュー表示である。選択できるスライドショーは、全画像、スライドショー1、スライドショー2、・・・、スライドショー9である。
スライドショー設定ボタン2701を押下すると、デジタルカメラ100のシステム制御回路9は、図19に示すスライドショー設定画面へ表示画面を遷移させる。スライドショー設定画面では、スライドショー間隔やスライドショー再生方法を設定することができる。リセットボタン2702を押下すると、デジタルカメラ100のシステム制御回路9は、スライドショー選択メニュー2706で選択したスライドショーをリセットし、スライドショー設定を初期状態にする。
全画像ボタン2703を押下すると、システム制御回路9は、スライドショー選択メニュー2706で選択したスライドショーに対し、記録メディア23Aに格納された全ての画像をスライドショー再生対象として設定する。画像指定ボタン2705を押下すると、システム制御回路9は、スライドショー選択メニュー2706で選択されたスライドショーで再生する画像を指定するための画面(図20)へと表示画面を遷移させる。また、スタートボタン2704を押下すると、システム制御回路9は、スライドショー選択メニュー2706で選択されたスライドショーの再生を開始する。
図19は、本実施の形態におけるデジタルカメラ100のスライドショー制御画面を示した図である。
図19に示す画面において、ユーザは上下左右ボタン2603を操作して、スライドショー間隔設定メニュー2900を選択することができる。スライドショー間隔は、3秒、5秒、10秒、15秒等の間隔を選択することができる。また、上下左右ボタン2603を操作し、スライドショー再生メニュー2901を選択することができる。スライドショー再生メニューには、シーケンス・リピート等の再生方法や、ランダム・撮影日順・ファイル名順等の再生順序などがある。
図20は、本実施の形態におけるデジタルカメラ100のスライドショー画像指定画面を示した図である。
図20に示す画面において、ユーザは、上下左右ボタン2603を操作して、表示画像を切り替えることができる。SETボタン2801を押下すると、表示画像をスライドショー画像として設定することができ、その表示画像がスライドショー画像であることを示すアイコン2800が表示される。ユーザが再度、SETボタン2801を押下すると、当該表示画像がスライドショー画像から外されて、アイコン2800も消去される。
また、ユーザがMENUボタン2802を押下すると、デジタルカメラ100のシステム制御回路9は、スライドショー画像として指定された画像についてのスライドショー制御ファイル(AUTPLAYn.MRK)を作成し、記録メディア23Aに保存する。
図21は、本実施の形態におけるデジタルカメラ100のスライドショー画面を示した図である。
図21に示すように、液晶モニタ2605には、スライドショー再生の画像が表示される。ユーザは、SETボタン2602を操作して、スライドショー再生を一時停止状態(ポーズ)にしたり、再生状態に戻したりすることができる。
具体的には、スライドショー再生中にSETボタン2602が押下されると、デジタルカメラ100のシステム制御回路9は、スライドショー再生を一時停止する。図示していないが、一時停止を示すポーズアイコンが表示される。スライドショー再生の一時停止中にSETボタン2602が押下されると、システム制御回路9はスライドショー再生を再開する。
また、MENUボタン2604が押下されると、システム制御回路9はスライドショー再生を中止し、スライドショー制御画面である図18(b)へと表示画面を遷移させる。
<スライドショー再生処理>
図22は、本実施形態におけるスライドショー再生処理のシーケンス図である。
まずT1100では、ユーザがデジタルカメラ100から、液晶プロジェクタ200でスライドショー表示させるスライドショーの実行を選択し、スタートボタン2704を押下してその開始を行うための操作を行う。このT1100の操作により、スライドショーマネージャ505は、次のT1101でスライドショー開始準備を行う。詳しくは後述するが、スライドショー用DPOFファイルの解析などを行う。
次にT1102では、スライドショーマネージャ505は、図19の画面の項目2900で設定されたスライドショー間隔時間の通り、スライドショー間隔を制御するために、タイマ制御を開始する。そして、スライドショーマネージャ505は、続くT1103で、スライドショー用DPOFファイルに記述されたスライドショー用画像のファイル名を取得し、プリントクライアント502に画像のファイル名を指定し、印刷要求を行う。
次のT1104では、プリントクライアント502は、画像のファイル名に割り当てられたファイルIDを設定したDPS_StartJob405をプリントサーバ501に発行する。これによって、プリントクライアント502からプリントサーバ501へ印刷設定及び印刷情報が通知されてスライドショー表示処理が開始される。
また、デジタルカメラ100の操作部25を操作することによって、スライドショー再生の画像情報を表示するモードになっている場合、T1104で、プリントクライアント502は、画像のファイル名に割り当てられたファイルIDを設定する。さらに、用紙サイズにExif情報付L判(5100C000)を設定したDPS_StartJob405をプリントサーバ501に発行する。
次のT1105では、プリントサーバ501が印刷要求を受信したことにより、待機状態から印刷状態に状態遷移したことをプリントクライアント502に通知するため、DPS_NotifyDeviceStatus409を発行する。
次のT1106では、プリントサーバ501は、DPS_NotifyJobStatus407をプリントクライアント502へ発行する。これは、印刷指定されている画像ファイルの中で現在何枚目の表示処理を行っているかを示すプログレス通知をデジタルカメラ100に対して行うための処理である。
続くT1107では、表示する画像のファイルタイプとファイルサイズ情報を取得するために、ストレージクライアント503がストレージサーバ504へDPS_GetFileInfo422を発行する。ここで、ストレージクライアント503に送られたファイルサイズ情報を基にストレージクライアント503はメモリ確保を行い、後に続く画像ファイルの取得に備える。
T1108では、ストレージクライアント503は、画像ファイルデータを一括取得するためにストレージサーバ504にDPS_GetFile424を発行する。DPS_GetPartialFileにより、分割取得をする方法もある。そして、T1109では、ストレージクライアント503がT1108で取得したデータをプリントデバイス506に送信し、プリントデバイス506は、DPS StartJob405に記述された用紙サイズの通り、画像を表示する。
図示していないが、用紙サイズがExif情報付L判(5100C000)である場合、画像のExifデータを取得し、Exif情報をオーバレイ表示する。またファイル名印刷ON(55020000)が設定されていれば、画像のファイル名をオーバレイ表示する。プリントデバイス506は、画像処理回路108のことである。
以上が完了すると、T1110としてプリントサーバ501は、液晶プロジェクタ200が待機状態に遷移したことをデジタルカメラ100に通知するために、DPS_NotifyDeviceStatus409をプリントクライアント502へ発行する。
次のT1111では、プリントクライアント502は、スライドショーマネージャ505に、印刷が完了したことを通知する。続くT1112において、スライドショーマネージャ505は、スライドショー間隔を制御するためのタイマがスライドショー間隔を経過したかを判断する。例えば、スライドショー間隔が10秒であれば、T1102でタイマ制御開始してから10秒経過したかを判断する。
スライドショー間隔が経過すると、T1113で、スライドショーマネージャ505は、スライドショーを終了する条件を満たしているかを判断する。スライドショー終了条件を満たしていない場合、スライドショーマネージャ505は、次にスライドショー表示する画像のファイル名を取得し、T1103からの処理を繰り返す。前述したT1104〜T1113までの処理を行う。スライドショー終了条件を満たしている場合には、スライドショー終了処理T1120を行う。
図23は、図22のT1101で実行されるスライドショー開始準備処理の詳細を示すフローチャートである。
ユーザがデジタルカメラ100から液晶プロジェクタ200でスライドショー表示させるスライドショーを選択し、スタートボタン2704を押下する操作を行うと、スライドショーマネージャ505は、ステップS1500へ進む。
ステップS1500では、選択されたスライドショーの番号を取得する。スライドショー番号とは、スライドショー用DPOFファイルの番号であり、0〜9の番号が存在する。スライドショーマネージャ505は、取得したスライドショー用DPOFファイルの番号を用い、スライドショー用DPOFファイルを指定する。そして、スライドショーマネージャ505は、ステップS1501へ進んで、指定したスライドショー用DPOFファイルを解析し、図24に示すようなジョブリストを作成する。
続いてステップS1502において、スライドショーマネージャ505は、スライドショー再生情報を取得する。スライドショー再生情報には、シーケンス・リピート等の再生方法と、撮影日順・ファイル名順・ランダム等の再生順序の情報が含まれる。
スライドショーマネージャ505は、取得したスライドショー再生情報の再生順序を基に、前記ジョブリストを並び替える。例えば、再生順序が、撮影日順であれば、撮影日の古い画像から順番にジョブを並び替える。
図24は、上記ジョブリストを示す表形式図である。
スライドショーのジョブリストには、ジョブ番号1601、ファイル名1602、及び撮影日1603が記述されている。ファイル名は、ルートからのパス名を記述する。撮影日は年月日時分の情報を記述する。
図25は、図22のT1113で実行されるスライドショー終了条件判断処理のフローチャートである。
まずステップS1700において、スライドショーマネージャ505は、スライドショーのジョブリスト(図24)に記述されたジョブを全て実行したか否かを判断する。全てのジョブを実行していなければ、ステップS1701へ進んで、前記ジョブリストに存在する次のジョブを実行する。全てのジョブを実行していれば、ステップS1702の処理を行う。
全てのジョブを実行した場合は、ステップS1702へ進んで、スライドショーマネージャ505は、スライドショー再生方法がスタンダード再生であるか、或いはリピート再生であるかを判断する。スタンダード再生と判断した場合、ステップS1703へ進んでスライドショーマネージャ505は、スライドショー再生を終了すると判断する。リピート再生の場合、ステップS1704へ進んで、上記ジョブリストに記述された先頭のジョブから実行する。
図26(a),(b)は、本実施の形態における印刷画像等を表示した液晶プロジェクタ200の表示画面の表示状態の一例を示す画面図である。同図(a)は、印刷画像のみが表示された画面を示し、同図(b)は印刷画像と画像情報が表示された画面を示している。
図22で説明したようにデジタルカメラ100から液晶プロジェクタ200に対して印刷を指示した画像は、例えば図26(a)に示すような画像2300として、液晶プロジェクタ200に投影される。
また、デジタルカメラ100から液晶プロジェクタ200に対する印刷指示が、用紙サイズがExif情報付L判であり且つファイル名印刷がオンの場合、液晶プロジェクタ200には次のような画面が投影される。即ち、図26(b)に示すように、画像2300のExif情報2402と画像2300のファイル名2401がオーバレイして表示される。
図27は、本実施の形態におけるスライドショー終了処理を示すシーケンス図である。本図は、図22のT1120で実行されるスライドショー終了処理、及びユーザがデジタルカメラ100のMENUボタン2604を押下し、スライドショーを中止した時の処理を示したシーケンス図である。
スライドショー終了処理が開始されると、スライドショーマネージャ505は、T1200で、印刷中止要求をプリントクライアント502に通知する。プリントクライアント502は、印刷中止要求DPS_AbortJob411を、液晶プロジェクタ200のプリントサーバ501へ発行する。
プリントサーバ501は、T1202で、プリントデバイス506にスライドショー中止であることを通知する。そして、プリントデバイス506は、T1203で、図17(c)で示すスライドショー開始可能状態表示を行う。
デジタルカメラ100のプリントクライアント502は、DPS_AbortJob411の応答を受信すると、T1204で、スライドショーマネージャ505に印刷中止応答を通知する。スライドショーマネージャ505は、T1205で、図18(b)に示すスライドショー制御画面を表示する。
<スライドショー再生の一時停止・再開処理>
図28は、本実施の形態におけるスライドショー再生の一時停止・再開処理のシーケンス図である。
まずT1300で、ユーザがデジタルカメラ100において、スライドショー再生中にスライドショー再生を一時停止させるSETボタン2602を押下する操作を行う。このT1300の操作により、デジタルカメラ100のスライドショーマネージャ505は、T1301の処理を行う。即ち、プリントクライアント502からポーズアイコン用画像のファイル名を取得して、プリントクライアント502に対して画像のファイル名を指定した印刷要求を行う。ポーズアイコン用画像は、デジタルカメラ100の不揮発性メモリ22内に格納されている。
次のT1302では、プリントクライアント502は、画像のファイル名に割り当てられたファイルIDを設定する。さらに、ファイルタイプにポーズアイコン(5300C000)を設定したDPS_StartJob405を液晶プロジェクタ200のプリントサーバ501に発行する。これによって、デジタルカメラ100のプリントクライアント502から液晶プロジェクタ200のプリントサーバ501へ印刷設定及び印刷情報が通知されて、スライドショー再生の一時停止処理が開始される。
次のT1303では、プリントサーバ501が、印刷要求を受信したことにより、待機状態から印刷状態に状態遷移したことを、プリントクライアント502に通知するため、DPS_NotifyDeviceStatus409を発行する。
次のT1304では、液晶プロジェクタ200のプリントサーバ501はDPS_NotifyJobStatus407をデジタルカメラ100のプリントクライアント502へ発行する。この処理は、印刷指定されている画像ファイルの中で現在何枚目の表示処理を行っているかを示すプログレス通知をデジタルカメラ100に対して行うための処理である。
次のT1305では、液晶プロジェクタ200のストレージクライアント503がデジタルカメラ100のストレージサーバ504へDPS_GetFileInfo422を発行する。この処理は、ポーズアイコンの画像のファイルタイプとファイルサイズ情報を取得するための処理である。ここで、ストレージクライアント503に送られたファイルサイズ情報を基にストレージクライアント503はメモリ確保を行い、後に続く画像ファイルの取得に備える。
次のT1306では、液晶プロジェクタ200のストレージクライアント503は、T1305で取得した情報に基づき画像ファイルデータを一括取得するために、デジタルカメラ100のストレージサーバ504にDPS_GetFile424を発行する。DPS_GetPartialFileにより、分割取得をする方法もある。
そして、T1307では、ストレージクライアント503がT1306で取得したポーズアイコンデータをプリントデバイス506に送信し、プリントデバイス506は、現在表示している画像に対し、ポーズアイコンをオーバレイ表示する。プリントデバイス506は、画像処理回路108のことである。
以上が完了すると、T1308としてプリントサーバ501は、液晶プロジェクタ200が待機状態に遷移したことをデジタルカメラ100に通知するために、DPS_NotifyDeviceStatus409をプリントクライアント502へ発行する。
次のT1309では、プリントクライアント502は、スライドショーマネージャ505にポーズアイコンの印刷が完了したことを通知する。スライドショーマネージャ505は、続くT1310で、スライドショー再生が一時停止したことを示すため、液晶モニタ2605にポーズアイコンをオーバレイ表示し、且つスライドショー制御用のタイマを停止させる。
次のT1311は、ユーザがデジタルカメラ100において、スライドショー再生の一時停止中に、スライドショー再生を再開させるSETボタン2602を押下する操作である。続くT1102では、スライドショーマネージャ505は、スライドショー間隔を制御するために、タイマ制御を開始する。
そして、スライドショーマネージャ505は、次のT1103で、スライドショー再生をしていた画像のファイル名を取得し、プリントクライアント502に画像のファイル名を指定した印刷要求を行う。
その後のT1104では、プリントクライアント502は、液晶プロジェクタ200のプリントサーバ501にDPS_StartJob405を発行する。これによって、デジタルカメラ100のプリントクライアント502から、液晶プロジェクタ200のプリントサーバ501へ印刷設定及び印刷情報が通知されてスライドショー表示処理が開始される。
次のT1105では、プリントサーバ501が、印刷要求を受信したことにより、待機状態から印刷状態に状態遷移したことを、プリントクライアント502に通知するため、DPS_NotifyDeviceStatus409を発行する。次のT1106では、プリントサーバ501は、DPS_NotifyJobStatus407をプリントクライアント502へ発行する。この処理は、印刷指定されている画像ファイルの中で現在何枚目の表示処理を行っているかを示すプログレス通知をデジタルカメラ100に対して行うための処理である。
そしてT1312において、プリントサーバ501は、DPS_StartJob405に記述されている印刷画像と現在表示中の画像が合致するかを判断する。同じ画像を指定されているので、続くT1313で、プリントサーバ501は、プリントデバイス506に画像を表示するように指示し、プリントデバイス506は画像を表示する。
以上が完了すると、T1110として、プリントサーバ501は、液晶プロジェクタ200が待機状態に遷移したことをデジタルカメラ100に通知するために、DPS_NotifyDeviceStatus409をプリントクライアント502へ発行する。
次のT1111では、プリントクライアント502は、スライドショーマネージャ505に、印刷が完了したことを通知する。続くT1112では、スライドショーマネージャ505は、スライドショー間隔を制御するためのタイマがスライドショー間隔を経過したかを判断する。例えば、スライドショー間隔が10秒であれば、T1102でタイマ制御開始してから10秒経過したかを判断する。
前記スライドショー間隔が経過すると、T1113で、スライドショーマネージャ505は、スライドショーを終了する条件を満たしているかを判断する。スライドショー終了条件を満たしていない場合、スライドショーマネージャ505は、次にスライドショー表示する画像のファイル名を取得し、T1103からの処理を繰り返す。即ち、前述したT1104〜T1113までの処理を行う。スライドショー終了条件を満たしている場合は、図22のスライドショー終了処理T1120を行う。
図29は、本実施の形態におけるデジタルカメラ100のスライドショー再生の一時停止を示す画面表示図である。
図29に示すように、スライドショー再生中に、SETボタン2602を押下すると、スライドショーを一時停止したことを示すポーズアイコン3101を液晶モニタ2605に表示する。
図30は、本実施の形態における液晶プロジェクタ200のスライドショー再生の一時停止を示す画面表示図である。
図30に示すように、液晶プロジェクタ200は、スライドショー再生中に、デジタルカメラ100からポーズアイコン表示要求を受信すると、スライドショー再生画像に対し、ポーズアイコン2501をオーバレイ表示する。
<第1の実施の形態における利点>
第1の実施の形態では、デジタルカメラ100と液晶プロジェクタ200をUSB接続したシステムおいて、次のような利点を有する。即ち、デジタルカメラ100のボタン等の操作部材のみを操作することにより、デジタルカメラ100が保持する画像を液晶プロジェクタ200にスライドショー表示することができる。これにより、ユーザが所望する画像を、ユーザが所望するスライドショー再生方法で閲覧可能となる。さらにユーザがスライドショー再生の一時停止・再開・中止といったスライドショーを制御することも可能となる。
[第2の実施の形態]
本実施の形態における液晶プロジェクタ200の構成、液晶プロジェクタ200とデジタルカメラ100の構成及び接続方法は、全て第1の実施の形態と同様であるので、その説明を省略する。第2の実施の形態が第1の実施の形態と異なる点は、デジタルカメラ100の操作による、スライドショー再生の一時停止・再開・終了のシーケンスである。
図31は、第2の実施の形態におけるスライドショー再生の一時停止・再開処理のシーケンス図であり、図28と共通の要素には同一の符号を付し、その説明を省略する。
まずT1300で、ユーザがデジタルカメラ100において、スライドショー再生中にスライドショーを一時停止させるSETボタン2602を押下する操作を行う。このT1300の操作により、スライドショーマネージャ505は、続くT1801で、プリントクライアント502に対して、スライドショー再生の一時停止を意味する印刷中止要求を行う。
次のT1802では、デジタルカメラ100のプリントクライアント502は、印刷中止要求DPS_AbortJob411を液晶プロジェクタ200のプリントサーバ501に発行する。この印刷中止要求DPS_AbortJob411では、<abortStyle>にスライドショー再生の一時停止であることを意味する値(9000C001)が設定されている。これによって、デジタルカメラ100のプリントクライアント502から、液晶プロジェクタ200のプリントサーバ501へ印刷中止が通知されてスライドショー再生の一時停止処理が開始される。
次のT1803では、プリントサーバ501は、ストレージクライアント503にスライドショー再生の一時停止である印刷中止要求を通知する。そして、続くT1804では、ストレージクライアント503は、表示中の画像データを液晶プロジェクタ200のメモリ101に保存する。
その後のT1307、T1308、T1309及びT1310では、図28を用いて説明した第1の実施の形態と同様の処理を行う。
そしてT1311において、ユーザが、デジタルカメラ100においてスライドショー再生の一時停止中に、再開用のSETボタン2602を押下すると、マネージャ505は、図28のT1102と同様の処理を行った後、T1805へ移行する。
T1805では、スライドショーマネージャ505が、スライドショー再生を再開させるため、印刷再開要求をプリントクライアント502に通知する。次のT1806では、デジタルカメラ100のプリントクライアント502が、液晶プロジェクタ200のプリントサーバ501に印刷再開要求コマンドであるDPS_ContinueJob413を発行する。
その後のT1105及びT1106では、図28で説明したように、液晶プロジェクタ200のプリントサーバ501がデジタルカメラ100のプリントクライアント502に対して次のような処理を行う。即ち、T1105では、プリントサーバ501が、DPS_NotifyDeviceStatus409をプリントクライアント502へ発行する。T1106では、プリントサーバ501はDPS_NotifyJobStatus407をプリントクライアント502へ発行する。
次のT1807では、液晶プロジェクタ200のプリントサーバ501が、ストレージクライアント503に印刷再開要求を通知する。ストレージクライアント503は、続くT1808で、液晶プロジェクタ200のメモリ101に保存していた表示中の画像データを取得する。そして、プリントデバイス506に画像データを表示するよう指示することで、プリントデバイス506は、画像データを表示する。
以上が完了した後、T1110、T1111、及びT1112において、図28を用いて説明した第1の実施の形態と同様の処理を行う。
そして、その後のT1113で、スライドショーマネージャ505は、スライドショーを終了する条件を満たしているかを判断する。スライドショー終了条件を満たしていない場合、スライドショーマネージャ505は、次にスライドショー表示する画像のファイル名を取得し、1枚印刷処理を繰り返す。スライドショー終了条件を満たしている場合、スライドショー終了処理T1809を行う。
図32は、本実施の形態におけるスライドショー中止処理のシーケンス図であり、図27と共通の要素には同一の符号を付し、その説明を省略する。
本図は、図31のT1809で示したスライドショー終了処理、及びユーザがデジタルカメラ100のMENUボタン2604を押下し、スライドショーを中止した時の処理を示している。
スライドショー終了処理(図31のT1809)が開始されると、スライドショーマネージャ505は、T1200で、印刷中止要求をプリントクライアント502に通知する。続くT1901で、プリントクライアント502は、印刷中止要求DPS_AbortJob411を液晶プロジェクタ200のプリントサーバ501へ発行する。この印刷中止要求は、<abortStyle>にスライドショー中止要求であることを意味する値(9000C000)を設定した印刷中止要求である。
その後、プリントサーバ501は、図27を用いて第1の実施の形態で説明したT1202、T1203、T1204、及びT1205と同様の処理を実行する。
<第2の実施の形態に係る利点>
第2の実施の形態によれば、デジタルカメラ100と液晶プロジェクタ200をUSB接続したシステムおいて、デジタルカメラ100のボタン等の操作部材のみを操作することにより、上記第1の実施の形態と同様の利点を得ることができる。
[他の実施の形態]
上記第1及び第2の実施の形態では、液晶プロジェクタとデジタルカメラによるシステムについて説明したが、テレビや画像ビューワー等、画像を表示する機器についても適用可能である。その他、機器接続を形成する上でそれぞれの端末が通信に用いた通信パケットフォーマットや画像を表示する操作部材等は本実施の形態に限定されるものではない。
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。