以下、本発明の実施の形態について、図面を参照しながら説明する。
[第1の実施の形態]
本実施の形態では、液晶プロジェクタとデジタルカメラをUSBケーブルで接続し、デジタルカメラの記録メディアに保存した画像をデジタルカメラの操作によって液晶プロジェクタで再生する方法について説明する。
<画像表示システムの構成>
図1は、本発明の実施の形態に係る画像表示システムの構成を示す模式図である。
液晶プロジェクタ100は、USBインターフェース106に挿入されたUSBケーブル201を介して、画像供給装置であるデジタルカメラ200と接続される。そして、液晶プロジェクタ100の近傍には、液晶プロジェクタ100からの投影画像を映し出すためのスクリーン119が配置されている。
なお、本実施の形態で構築する画像表示システムの通信媒体は、USBケーブルに限らず、有線・無線のLANやBluetooth等でもよく、本実施の形態は構築するシステムの形態に依存するものではない。
<液晶プロジェクタの構成>
図2は、本発明の実施の形態で用いる液晶プロジェクタの全体構成を示すブロック図である。
この液晶プロジェクタ100は、メモリ101、不揮発性メモリ102、操作部103、リモコン受光部120、電源制御部104、電源部105、イーサーネットインターフェース107、USBインターフェース106、及び画像処理回路108を備えている。これらのデバイスは、システム制御回路109に接続されている。
メモリ101は、システム制御回路109の動作用の定数、変数、画像等を一時的に記憶するメモリである。不揮発性メモリ102は、システム制御回路109のファームウェアプログラム等を記録した電気的に消去・記録可能な不揮発性メモリである。この不揮発性メモリ102に、液晶プロジェクタ100がデジタルカメラに通知するCapability情報を記録することができる。
操作部103は、システム制御回路109の各種の動作指示を入力する機能を有する。リモコン受光部120は、液晶プロジェクタ100に付属する赤外線リモコンからのリモコンキーを受信して、システム制御回路109の各種の動作指示を入力する。電源制御部104は、DC−DCコンバータやスイッチ回路等から成り、電源部105はACアダプター等から成る。
イーサーネットインターフェース107は、イーサーネットなどのネットワークに接続するためのインターフェースである。USBインターフェース106は、デジタルカメラやUSBメモリ等とUSBケーブルを用いて接続するためのインターフェースである。
画像処理回路108は、デジタルカメラやUSBメモリ等から読み出したJPEG画像の表示位置の設定処理と、ファイル名・日付・Exifなどの情報をオーバーレイする処理などを行う。システム制御回路109は、液晶プロジェクタ100全体を制御する回路である。
さらに、液晶プロジェクタ100は、フレームメモリ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は、図2に示した液晶プロジェクタ100のリモコンの一例を示す外観図である。
このリモコンは、リモコン発行部3500、POWERボタン3501、AUTO SETボタン3502、入力信号設定/画像設定部3503、方向ボタン3504、決定ボタン3505、及びページ送り/音量設定部3506を備えている。
リモコン発行部3500は、リモコンの信号を液晶プロジェクタ100本体に送る。POWERボタン3501は、電源の入/切を行う。AUTO SETボタン3502は、フォーカス、キーストーン、スクリーン色補正の調整を自動で行う。
入力信号設定/画像設定部3503は、入力信号の選択、フォーカスの調整、画質の設定などを行うボタン群である。方向ボタン3504はメニューなどで上下左右の方向を指定する。決定ボタン3505はメニューなどで選択した項目を確定する。ページ送り/音量設定部3506は、画像のページ送り、ズーム、音量の調整などを行うボタン群である。
次に、液晶プロジェクタ100の画像の解像度について説明する。
図4は、図2に示した液晶プロジェクタ100の画像の解像度を説明するための模式図である。
液晶プロジェクタ100の画像の解像度には、フルスクリーン4100、ノーマル4102、ワイド4104、リアル4106の4種類が存在する。
フルスクリーン4100の縦横比は、4対3である。信号形式が「SXGA+」の場合、x1=1400ドット、y1=1050ドットの解像度を持つ。フルスクリーン4100の解像度を設定した状態で、解像度が横5:縦4(SXGA)などのコンピュータ画面を入力した場合、縦又は横方向が圧縮された画像になる。
ノーマル4102の縦横比は、5対4である。信号形式が「SXGA」の場合、x2=1280ドット、y2=1024ドットの解像度を持つ。
ワイド4104の縦横比は、16対9である。信号形式が「SXGA+」のワイドの場合、x3=1400、y3=787.5ドットの解像度を持つ。ワイド4104の解像度を設定した状態で、解像度が横5:縦4(SXGA)などのコンピュータ画面を入力した場合、縦又は横方向が写らない画像になる。
リアル4106は、コンピュータの画面をオリジナルサイズで表示する。
次に、液晶プロジェクタ100がデジタルカメラに通知するCapability情報の管理テーブルについて説明する。なお、Capability情報は、本発明で用いる機能情報の一例である。
図5は、本実施の形態におけるCapability情報管理テーブルを示したテーブル図である。
Capability情報管理テーブルは、液晶プロジェクタの画像の解像度4200に対して、印刷可能な用紙サイズ4202及びレイアウト4204を関連付けて管理している。要するに、画像の表示態様を印刷条件と対応させて記憶するテーブルであり、画像の表示態様には、画像表示サイズ及びレイアウト方法の両方または何れか一方を含む。
画面の解像度4200は、図4で説明した通り、4種類存在する。各画面の解像度4200に対し、印刷可能な用紙サイズ4202とレイアウト4204を割り当てるが、印刷する際に、用紙サイズ及びレイアウトに合わせ印刷画像を縮小するデジタルカメラが存在する。
例えば、1ミリ平方メートルに対し、縦:20*横:20の画素数までの解像度を表現できるプリンタを接続したデジタルカメラは、次のことが言える。つまり、画像(幅:4000・高さ:3000の画素数)を、カード(85.6mm x 54mm)・フチ無しで印刷すると、幅:1712・高さ:1080の画像にリサイズする。印刷する画像のサイズが、幅:1712・高さ:1080より小さい画像であれば、デジタルカメラはリサイズ処理しない。また、カード(85.6mm x 54mm)・2Upで印刷すると、幅:1080・高さ:856の画像にリサイズし、カード(85.6mm x 54mm)・4Upで印刷すると、幅:856・高さ:540の画像にリサイズする。つまり、用紙サイズとレイアウトに比例して、リサイズした画像サイズが決定する。そのため、画面の解像度に割り当てる用紙サイズ及びレイアウトは、表示できる画像の解像度以上の画像サイズになるようなものを選定する。
ノーマル4102(横5:縦4、横1280ドット:縦1024ドット)の場合、横5:縦4の縦横比である用紙サイズ「8”x10”(254.0mm x 203.2mm)」を割り当てる。デジタルカメラは、上記プリンタに対し用紙サイズ「8”x10”(254.0mm x 203.2mm)」で印刷する場合、幅:5080・高さ:4064の画像にリサイズするため、次のことが言える。つまり、ノーマル4102の解像度である1280ドット:1024ドットより大きい画像であるため、最適な画像を表示することができる。
フルスクリーン4100(横4:縦3、横1400ドット・縦1050ドット)の場合、横4:縦3.09である用紙サイズ「Letter(279.2mm x 216.0mm)」を割り当てる。デジタルカメラは、上記プリンタに対し用紙サイズ「Letter(279.2mm x 216.0mm)」で印刷する場合、幅:5584・高さ:4320の画像にリサイズするため、次のことが言える。つまり、フルスクリーン4100の解像度である1400ドット:1050ドットより大きい画像であるため、最適な画像を表示することができる。
ワイド4104(横16:縦9、横1400ドット:縦787.5)の場合、横16:縦9である用紙サイズ「Wide(180.62mm x 101.6mm)」を割り当てる。デジタルカメラは、上記プリンタに対し用紙サイズ「Wide(180.62mm x 101.6mm)」で印刷する場合、幅:3613・高さ:2032の画像にリサイズするため、次のことが言える。つまり、ワイド4104の解像度である1400ドット:787.5ドットより大きい画像であるため、最適な画像を表示することができる。
レイアウト4204は、画像の解像度に応じて、表示可能な画像数を割り当てる。例えば、信号形式が「SXGA+」のワイド4101は、x3=1400、y3=787.5ドットの解像度を持ち、20個の画像を横5個・縦4個でレイアウト表示する場合、1つの画像サイズは、横280ドット・縦196ドットで表現することができる。一方、デジタルカメラは、上記プリンタに対し用紙サイズ「Wide(180.62mm x 101.6mm)」・レイアウト20Upで印刷する場合、幅:722・高さ:508の画像にリサイズする。画像の解像度より大きい画像で、且つサムネイル画像より解像度が高いため、20UPのレイアウトを設定する。そのため、画像の解像度が高解像度になった場合、レイアウト4204の画像数を増やすことが可能となる。
<デジタルカメラの構成>
次に、本発明の実施の形態に用いるデジタルカメラ側の構成について、図6及び図7を参照して説明する。
本発明の実施の形態に用いるデジタルカメラは、撮影画像を保持する上記の記録メディアと、USBインターフェースを有し、USBインターフェースを介してプリンタと接続時には、保持している撮影画像を選択して印刷することができる機能を搭載している。
図6は、本発明の実施の形態に用いるデジタルカメラに搭載された記録メディアのフォルダ構成を示す概念図である。
DPOFファイルは、3種類の制御ファイルと、Unicodeで記述されユーザ情報を格納したUNICODE文字列記述ファイル304とを含む4種類のテキストファイル群を示す。3種類の制御ファイルとは、自動プリントファイル301、自動再生ファイル302及び自動送信ファイル303である。
DPOFファイルは、ルートディレクトリの直下にある“MISC”ディレクトリ300の下に構成される。撮影画像305は、“DCIM”ディレクトリ配下に格納される。
自動プリントファイル301は、デジタルカメラ名やDPOFファイル作成日時などのヘッダー部と、プロダクトID・プリント種指定・プリント部数指定・ファイルフォーマット・画像ファイルのパス情報・画像の撮影日時情報等を印刷ジョブ毎に保持している。
図7は、本発明の実施の形態に用いるデジタルカメラ200の背面を示した外観図である。
このデジタルカメラ200背面には、切替スイッチ2600、ダイレクト印刷ボタン2601、SETボタン2602、上下左右ボタン2603、MENUボタン2604、及び液晶モニタ2605を備えている。
切替スイッチ2600は、撮影を行うか、撮影した画像を表示するかのモードを切り替えるスイッチであり、ダイレクト印刷ボタン2601は、液晶モニタ2605に表示されている画像をダイレクト印刷する場合に使用するボタンである。PictBridge対応プリンタと接続すると、このボタンのランプが点灯する。ダイレクト印刷ボタン2601を押下すると、ダイレクト印刷処理中を表す画面(図示省略)が表示される。
SETボタン2603は、設定値を確定するときなどに使用するボタンである。この状態で押下すると、直接指定印刷に関する画面(図示省略)が表示される。上下左右ボタン2603は、メニューの選択をする場合に上下左右でカーソルを移動させる場合や画像の表示で複数画像存在する場合に次の画像や前の画像を表示させる場合に使用する。
<PictBridge規格を実現するためのDPS>
図8は、本発明の実施の形態におけるDPSのシステムモデルを示した概念図である。
PictBridge規格を実現するためのDPSアーキテクチャは、サーバ/クライアントモデルであり、プリントサーバ501、プリントクライアント502、ストレージクライアント503、及びストレージサーバ504が存在する。なお、DPSとは、Digital Photo Solution for Imaging Deviceの略語である。
基本的に、クライアントからの要求に対してサーバが応答し、その結果をクライアントに返答するというシーケンスで、各DPSオペレーションが完結する。また、サーバから発行される通知に対してクライアントが応答し、その受け取り確認をサーバに返答するというシーケンスで各DPSイベントが完結する。
具体的には、デジタルカメラ200のプリントクライアント502から印刷要求に応じて、液晶プロジェクタ100のプリントサーバ501が応答する。続いて、液晶プロジェクタ100のストレージクライアント503が画像を投影するために画像データを要求し、デジタルカメラ200のストレージサーバ504から画像データを返答する。また、液晶プロジェクタ100のプリントサーバ501からのデバイス状態などのDPSイベントの発行に対し、デジタルカメラ200のプリントクライアント502がDPSイベントの受け取り確認を返答する。
また、プリントサーバ501/クライアント502は、液晶プロジェクタ100の不揮発性メモリ102上に存在するファームウェアプログラムで実行される。図示していないが、プリントサーバ501/クライアント502を動作させるためには、USB I/F106を制御するUSBホストドライバ、印刷用の通信プロトコルであるPTPのInitiatorが必要である。なお、PTPは、Picture Transfer Protocolの略語である。
一方、ストレージクライアント503/サーバ504を動作させるために、デジタルカメラ200には、USBデバイスドライバと、通信プロトコルであるPTPのResponderが搭載されている。
<DPSコマンドの内容>
図9、図10及び図11は、実施の形態に係るDPSコマンドの内容例を示す記述形式図である。
全てのDPSコマンド及びイベントは、XML形式で記述されている。PictBridge対応機器がどのようなサービス機能を有するのかを確認するためのコマンドがDPS_ConfigurePrintServiceであり、DPSバージョン・ベンダー名・プロダクト名・シリアル番号などが記述される。図9の401は、プリントクライアント502が送信するコマンドDPS_ConfigurePrintServiceの一例である。プリントサーバ501が該コマンドに応答したものには、Result値が記述される(図示省略)。
液晶プロジェクタ100に設定可能な能力を問い合わせるためのコマンドがDPS_GetCapabilityである。quality・用紙サイズ・用紙タイプ・ファイルタイプ・日付印刷・ファイル名印刷・イメージオプティマイズ・レイアウト・fixedSize・トリミングの能力を問い合わせることができる。図9の403は、プリントクライアント502が用紙サイズを問い合わせるために送信するコマンドDPS_GetCapabilityの一例である。プリントサーバ501が該コマンドに応答したものには、Result値と液晶プロジェクタに設定可能な用紙サイズ(標準、L判、2L判など)が記述される(図示省略)。
デジタルカメラ200から印刷を要求するためのコマンドがDPS_StartJobである。印刷要求のパラメータには、印刷設定と印刷情報が存在する。印刷設定には、デジタルカメラ200のユーザ操作によって設定された内容(quality・用紙サイズ・用紙タイプ・ファイルタイプ・日付印刷・ファイル名印刷・イメージオプティマイズ・レイアウト・fixedSize・トリミング)が記述される。印刷情報には、印刷指定された1画像以上の印刷画像に対する画像ファイルIDや印刷枚数等が記述される。なお、画像ファイルIDは、本発明で用いる画像指定情報の一例である。図9の405は、プリントクライアント502が印刷を要求するコマンドDPS_StartJobの一例を示している。プリントサーバ501が該コマンドに応答したものには、Result値が記述される(図示省略)。
液晶プロジェクタ100から印刷状態を通知するためのイベントがDPS_NotifyJobStatusであり、印刷の進捗、総印刷枚数などが記述される。図10の407は、プリントサーバ501が印刷状態を通知するために送信するイベントDPS_NotifyJobStatusの一例である。プリントクライアント502が該コマンドに応答したものには、Result値が記述される(図示省略)。
液晶プロジェクタ100から液晶プロジェクタ100のデバイス状態を通知するためのイベントがDPS_NotifyDeviceStatusである。これは、アイドル・印刷中・ポーズ中などの印刷状態、画像ファイル等のエラー内容、Capability変更有無、新たな印刷ジョブを受け付け可能か否かなどの情報が記述される。図10の409は、プリントサーバ501がデバイス状態を通知するために送信するイベントDPS_NotifyDeviceStatusの一例である。プリントクライアント502が該コマンドに応答したものには、Result値が記述される(図示省略)。
デジタルカメラ200から印刷を中止するためのコマンドがDPS_AbortJobである。図10の411は、プリントクライアント502が印刷を中止するために送信するコマンドDPS_AbortJobである。プリントサーバ501が該コマンドに応答したものには、Result値が記述される(図示省略)。
液晶プロジェクタ100から必要な画像のファイルIDを取得するためのコマンドがDPS_GetFileIDであり、画像のファイルパスなどが記述される。図11の420は、ストレージクライアント503が画像のファイルIDを取得するために送信するコマンドDPS_GetFileIDの一例である。ストレージサーバ504が該コマンドに応答したものには、Result値と該ファイルIDが記述される(図示省略)。
液晶プロジェクタ100から必要な画像のファイル情報を取得するためのコマンドがDPS_GetFileInfoである。図11の422は、ストレージクライアント503が画像のファイル情報を取得するために送信するコマンドDPS_GetFileInfoの一例であり、情報を取得した画像のファイルIDが記述される。ストレージサーバ504が該コマンドに応答したものには、Result値と該画像のファイルタイプ、ファイルサイズ、サムネイルフォーマット、サムネイルサイズが記述される(図示省略)。
液晶プロジェクタ100から必要な画像を取得するためのコマンドがDPS_GetFileである。図11の424は、ストレージクライアント503が画像を取得するために送信するコマンドDPS_GetFileの一例であり、情報を取得した画像のファイルIDが記述される。ストレージサーバ504が該コマンドに応答したものでには、Result値と取得した画像のサイズが記述される(図示省略)。なお、図示していないが、画像を分割して取得するコマンドDSP_GetPartialFileも存在する。DPS_GetFileの代わりに、DPS_GetPartialFileを利用してもよい。
<第1の実施の形態に係る動作>
以下、上述した液晶プロジェクタ100の構成とデジタルカメラ200の構成を基に、本実施の形態に係る動作について説明する。即ち、液晶プロジェクタ100とデジタルカメラ200とを接続し、デジタルカメラ200が保持している画像を、デジタルカメラ200側でのユーザ操作により液晶プロジェクタ100がスクリーン119に投影する動作について説明する。なお、液晶プロジェクタ100の制御は、図2の不揮発メモリ102上に存在するファームウェアプログラムによって実行される。
(A)DPSコマンドのシーケンス
図12は、本実施の形態における、液晶プロジェクタ100とデジタルカメラ200の接続開始から画像表示完了までのDPSコマンドのシーケンス図である。即ち、このシーケンスは、液晶プロジェクタ100とデジタルカメラ200がPictBridge規格に基づいてダイレクト接続を行い、画像1枚を表示するまでのシーケンスを表している。
初めに、液晶プロジェクタ100とデジタルカメラ200の間で互いがDPS機能を有するかどうかを確認するためのネゴシエーションを行う。PictBridge規格では、USB接続をトリガーとして両機器間にPTP接続が確立した後に、DPS Discovery(図12の処理601)が行われる。具体的には、デジタルカメラ200と液晶プロジェクタ100がそれぞれDDISCVRY.DPSとHDISCVRY.DPSという空のスクリプトファイルを送り合うことで互いがPictBridge対応機器であることを確認する。
次の処理602では、デジタルカメラ200のプリントクライアント502が液晶プロジェクタ100のプリントサーバ501へDPS_ConfigurePrintService401を発行する。その目的は、液晶プロジェクタ100とデジタルカメラ200の両機器が互いに有する機能を確認することである。つまり、液晶プロジェクタ100がプリントサーバ501/ストレージクライアント503を有すること、デジタルカメラ200がプリントクライアント502/ストレージサーバ504を有することを互いに通知し合う。
続く処理603では、液晶プロジェクタ100はどのような表示設定が可能なのかを問い合わせるために、プリントクライアント502がプリントサーバ501へDPS_GetCapability403を発行する。プリントサーバ501は、後述する図13で示すCapability情報取得処理を行い、液晶プロジェクタ100の画面の解像度に関連付けられた印刷のCapability情報を取得し、プリントクライアント502へCapability情報を通知する。その結果、プリントクライアント502が得たCapability情報がデジタルカメラ200のユーザインターフェース(UI)に反映される。そして、ユーザの選択できる機能(quality・用紙サイズ・用紙タイプ・ファイルタイプ・日付印刷・ファイル名印刷・イメージオプティマイズ・レイアウト・fixedSize・トリミング)が決定する。
次の処理604では、ユーザがデジタルカメラ200から、液晶プロジェクタ100で表示させる画像を選択し、ダイレクト印刷ボタン2601を押下する操作である。処理604の操作により、次の処理605で、プリントクライアント502がプリントサーバ501にDPS_StartJob405を発行する。これによって、プリントクライアント502からプリントサーバ501へ、前述した印刷設定及び印刷情報が通知されて表示処理が開始される。このとき、本実施の形態では、DPS_StartJob405のパラメータが印刷画像枚数を2枚以上と指定していても、プリントサーバ501は1枚表示の表示命令として解釈する。
その後の処理606では、液晶プロジェクタ100が待機状態から表示処理状態に遷移したことをデジタルカメラ200に通知するために、プリントサーバ501はプリントクライアント502へ、DPS_NotifyDeviceStatus409を発行する。
次の処理607では、印刷指定されている画像ファイルの中で現在何枚目の表示処理を行っているかを示すプログレス通知をデジタルカメラ200に対して行うために、プリントサーバ501は、次のことを行う。即ち、DPS_NotifyJobStatus407をプリントクライアント502へ発行する。
続く処理608では、次に表示する画像のファイルタイプとファイルサイズ情報を取得するために、ストレージクライアント503がストレージサーバ504へDPS_GetFileInfo422を発行する。ここで、ストレージクライアント503に送られたファイルサイズ情報を基に、ストレージクライアント503はメモリ確保を行い、後に続く画像ファイルの取得に備える。
次の処理609では、ストレージクライアント503は、処理608で取得した情報に基づき、画像ファイルデータを一括取得するためにストレージサーバ504へDPS_GetFile424を発行する。なお、DPS_GetPartialFileにより、分割取得をする方法もある。
そして、処理610では、ストレージクライアント503が処理609で取得したデータをプリントデバイスに送信し、プリントデバイスは、DPS StartJob405に記述されたレイアウト(<layout>)の通り、画像を表示する。ここで、プリントデバイスとは、画像処理回路108のことである。
以上が完了すると、処理611として、プリントサーバ501は、液晶プロジェクタ100が待機状態に遷移したことをデジタルカメラ200に通知するために、DPS_NotifyDeviceStatus409をプリントクライアント502へ発行する。
(B)Capability情報取得処理の詳細
図13は、図6の処理603で実行する、液晶プロジェクタ100のCapability情報取得処理の詳細を示すフローチャートである。
まずステップS40において、システム制御回路109は、不揮発性メモリ102に書き込まれている液晶プロジェクタ100の画面の解像度情報を取得する。次のステップS41では、システム制御回路109は、取得した画像の解像度に関連付けられた用紙サイズのCapabilitiy情報を、図5のCapability情報管理テーブルから取得する。例えば、画面の解像度がノーマル(横5:縦4)の場合、用紙サイズ「8”x10”」を取得する。
続くステップS42では、システム制御回路109は、取得した画像の解像度に関連付けられたレイアウトのCapabilitiy情報を、図5のCapability情報管理テーブルから取得する。例えば、画面の解像度がノーマル(横5:縦4)の場合、レイアウト「フチ有り、フチ無し、2Up、4Up」を取得する。
次のステップS43では、システム制御回路109は、全画面の解像度に関連付けられたCapability情報を取得したか否かを判断する。取得していなければ、ステップS41からの処理を繰り返し行う。
(C)DPS Discoveryの詳細
図14は、図12で示したDPS Discoveryの詳細を示すシーケンス図である。
PictBridge規格では、USB接続をトリガーとして両機器間にPTP接続が確立した後に、このDPS Discoveryの処理601が行われる。液晶プロジェクタ100及びデジタルカメラ200の両機器は、通信プロトコルとしてPTPを採用しており、液晶プロジェクタ100はPTP Initiatorとして、デジタルカメラ200はPTP Responderとして動作する。PTP Initiatorとは、セッションを開始し、Responderに対してPTPコマンドを発行するデバイスのことである。PTP Responderとは、PTP InitiatorからのPTPコマンドに対してレスポンスを返すデバイスのことである。
初めに、処理701では、PTP Initiatorがデジタルカメラ200についての情報を取得するためにPTP ResponderへGetDeviceInfoを発行する。なお、PTPコマンドは、Command、Data、Responseの3つのフェーズから構成されている。また、Dataフェーズのみ必須ではなく、データの向きも含めてCommand毎に異なっている。通常は、Command毎に定められた向きのDataの転送が行われて、それに対する応答がResponseとして返される。
次の処理702では、PTP InitiatorがPTP ResponderへOpenSessionを発行し、セッション開始を通知する。続く703では、PTP InitiatorがPTP ResponderへGetNumObjectを発行し、デジタルカメラ200のストレージに記憶されているスクリプトの数を取得する。
次の処理704では、PTP InitiatorがPTP ResponderへGetObjectHandlesを発行し、デジタルカメラ200のストレージに記憶されているスクリプトのハンドルを取得する。続く処理705では、PTP InitiatorがPTP Responder へGetObjectInfoを発行する。そして、PTP ResponderからDDISCVRY.DPSという空のスクリプトファイル情報を取得することで、デジタルカメラ200がDPS機能を有していることを確認する。また、処理706では、PTP ResponderもPTP Initiatorを発行するSendObjectInfoのDataフェーズからHDISCVRY.DPSという空のスクリプトファイル情報が通知される。これにより、液晶プロジェクタ100がDPS機能を有していることを確認する。
以上で、DPS Discoveryの処理601は完了する。
(D)液晶プロジェクタがDPSコマンドを発行したときの処理
図15は、液晶プロジェクタ100がデジタルカメラ200に向けてDPSコマンドを発行したときのPTPコマンドのシーケンスを示すシーケンス図である。
まず、処理1301では、DPS ClientがPTP InitiatorにDPSコマンド(図15の例では、一例としてDPS_NotifyDeviceStatus409を記した)を発行する。続く処理1302では、PTP Initiatorがこれから送信するオブジェクトのファイルタイプとファイルサイズをPTP Responderに通知するためにSendObjectInfoを発行する。
次の処理1303では、PTP InitiatorがDPSコマンドを送信するために、PTP ResponderにSendObjectを発行する。続く処理1304では、PTP Responderが取得したDPSコマンドをDPS Serverに送信する。
以上のようにして、液晶プロジェクタ100が発行したDPSコマンドはデジタルカメラ200に送信される。
(E)液晶プロジェクタがDPSコマンドを受けたときの処理
図16は、液晶プロジェクタ100がデジタルカメラ200からDPSコマンドを受けたときのPTPコマンドレベルでのシーケンスを示すシーケンス図である。
まず処理1401では、DPS ServerがPTP ResponderにDPSコマンド(図16の例では、一例としてDPS_StartJob405を記した)を発行する。続く処理1402では、それを受けたPTP ResponderがPTP InitiatorにRequestObjectTransferというPTPイベントを発行する。そして、PTP Initiatorに対してPTP Responderからオブジェクトを取得するよう要求する。
次の処理1403では、PTP Initiatorがこれから取得するオブジェクトのファイルタイプとファイルサイズを取得するためにPTP ResponderにGetObjectInfoを発行する。続く処理1404では、PTP InitiatorがDPSコマンドを取得するためにPTP ResponderにGetObjectを発行する。
次の処理1405では、PTP Initiatorが取得したDPSコマンドをDPS Clientに送信する。
以上でデジタルカメラ200が発行したDPSコマンドが液晶プロジェクタ100に受信される。
(F)画像の表示処理の詳細
図17は、第1の実施の形態に係る、画像の表示処理の詳細を示すフローチャートである。この表示処理では、図12の処理610で実行され、前述したように印刷指定されたレイアウトの通り、画像を表示する処理が行われる。
まずステップS50では、ストレージクライアント503は、ストレージサーバ504から取得した画像データを、後述する構成(図18(a),(b)参照)のキャッシュメモリに保存する。キャッシュメモリには、液晶プロジェクタ100が対応するレイアウト(図5の4204)の最大値分の画像、もしくは画像IDを保存することが可能である。
次のステップS51では、ストレージクライアント503は、印刷指定されたレイアウト情報を取得する。続くステップS52では、取得したレイアウト情報分の画像がキャッシュメモリに保存されている場合、もしくはキャッシュメモリ内にその画像IDのみ保存されている場合、該画像をストレージサーバ504から取得する。
次のステップS53では、プリントデバイスは、取得した画像をレイアウト通り表示する。
図18(a),(b)は、図17で示したキャッシュメモリの構造図である。
図18(a)に示すキャッシュメモリ4400は、液晶プロジェクタ100が対応するレイアウト(図5の4204)の最大値分(図18(b)の4402)の画像を保存することが可能である。例えば、レイアウト(図5の4204)の最大値は20UPであるため、20個の画像を保存できる。図18(a)中の4404は、最新の画像のポインタであり、デジタルカメラ200から指定された印刷のレイアウト分(図18の4406)の画像をプリントデバイスが取得する。
一方、画像自体を保存するのではなく、図18(b)に示すような、画像IDを保存するキャッシュメモリ4410を用意してもよい。キャッシュメモリ4410は、液晶プロジェクタ100が対応するレイアウト(図5の4204)の最大値分(図18(b)の4412)の画像を保存することが可能である。例えば、レイアウト(図5の4204)の最大値は20UPであるため、20個の画像を保存できる。図18(b)の4414は、最新の画像IDのポインタである。デジタルカメラ200から指定された印刷のレイアウト分(図18(b)の4416)の画像を、ストレージクライアント503がストレージサーバ504から受け取ることで、プリントデバイスが取得する。
(G)画面表示のレイアウトの例示
次に、図5に示したCapability情報管理テーブルのレイアウト4204を指定した際に、液晶プロジェクタ100がそれぞれの画像を表示した画面のレイアウトについて、図19、図20及び図21を参照して説明する。
図19、図20及び図21は、第1の実施の形態における、液晶プロジェクタ100が印刷画像をレイアウト表示した際の画面表示例を示すレイアウト図である。
図19の4501〜4504は、画面の解像度がノーマル(横5:縦4)時の画面表示である。信号形式が「SXGA」の場合、x2=1280ドット、y2=1024ドットの解像度を持つ。4501は、レイアウトがフチ無しで印刷指定した時の画面表示であり、解像度通り画像を表示する。4502は、レイアウトがフチ有りで印刷指定した時の画面表示であり、フチを画像に対し5%分、つまり64ドット、54ドット表示し、画像をx2a=1236ドット、y2a=970ドットで画像を表示する。4503は、2UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/4であるx2b=640ドット、y2b=512ドットで表示する。4504は、4UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/4であるx2c=640ドット、y2c=512ドットで表示する。
図20の4511〜4516は、画面の解像度がフルスクリーン(横4:縦3)時の画面表示である。信号形式が「SXGA+」の場合、x1=1400ドット、y1=1050ドットの解像度を持つ。4511は、レイアウトがフチ無しで印刷指定した時の画面表示であり、解像度通り画像を表示する。4512は、レイアウトがフチ有りで印刷指定した時の画面表示であり、フチを画像に対し5%分、つまり70ドット、52ドット表示し、画像をx1a=1330ドット、y1a=998ドットで画像を表示する。4513は、2UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/4であるx1b=700ドット、y1b=525ドットで表示する。4514は、4UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/4であるx1c=700ドット、y1c=525ドットで表示する。4515は、9UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/9であるx1d=466ドット、y1d=350ドットで表示する。4516は、16UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/16であるx1e=350ドット、y1e=262ドットで表示する。
図21の4521〜4527は、画面の解像度がワイド(横16:縦9)時の画面表示である。信号形式が「SXGA+」のワイドの場合、x3=1400、y3=787.5ドットの解像度を持つ。4521は、レイアウトがフチ無しで印刷指定した時の画面表示であり、解像度通り画像を表示する。4522は、レイアウトがフチ有りで印刷指定した時の画面表示であり、フチを画像に対し5%分、つまり70ドット、39ドット表示し、画像をx3a=1330ドット、y3a=748ドットで画像を表示する。4523は、2UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/4であるx3b=700ドット、y3b=393ドットで表示する。4524は、4UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/4であるx3c=700ドット、y3c=393ドットで表示する。4525は、6UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/6であるx3d=466ドット、y3d=393ドットで表示する。4526は、12UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/12であるx3e=350ドット、y3e=262ドットで表示する。4527は、20UPで印刷指定した時の画面表示であり、1つの画像を解像度の1/20であるx3f=280ドット、y3f=196ドットで表示する。
(H)画像の解像度切替処理
図22は、第1の実施の形態における、画像の解像度切替処理を示したフローチャートである。
ユーザがリモコン3500等を操作することにより、ステップS60において、システム制御回路109は、画像の解像度を切り替える。次のステップS61では、プリントサーバ501は、Capability情報の再取得処理を行い、続くステップS62において、プリントサーバ501は、現在表示しているレイアウト情報を取得する。
次のステップS63では、プリントサーバ501は、切り替わった画像の解像度に関連付けられたCapability情報のレイアウト情報を取得する。続くステップS64では、プリントサーバ501は、現在表示しているレイアウト情報と合致する、画像の解像度に関連付けられたCapabilityのレイアウト情報が存在するか否かを判断する。
存在すると判断した場合、処理を終了する。存在しないと判断した場合、プリントサーバ501は、画像の解像度に関連付けられたCapability情報のレイアウト情報に合致するように画像レイアウト表示を切り替える。例えば、画像の解像度がフルスクリーン(横4:縦3)で、レイアウトが9UPで画像を表示している状態から、ワイド(横16:縦9)に画像の解像度を切り替えた場合、次のようになる。即ち、ワイドに関連付けられたレイアウト情報には9UPが存在しないため、6UPで画像を表示するように切り替える。
(I)Capability情報再取得処理の詳細
図23は、図22のステップS61のCapability情報再取得処理の詳細を示すシーケンス図である。
まず処理801では、液晶プロジェクタ100のCapability情報が変化すると、プリントサーバ501がプリントクライアント502へDPS_NotifyDeviceStatus409というDPSイベントを発行する。このとき、DPS_NotifyDeviceStatus409のパラメータの1つであるCapabilityChangedの値がTrueとなっている。
次の処理802では、これを受けてStorage Serverが、Storage クライアントへDPS_GetCapability403を発行し、液晶プロジェクタ100のCapability情報を取得する。
(J)画像群の表示切替処理
図24は、本実施の形態におけるDPOF印刷指定をされた画像群の表示切替処理を示すシーケンス図である。
まず処理1001では、ユーザがデジタルカメラ200のUIから液晶プロジェクタ100で表示させる画像を複数枚設定して、DPOF印刷の開始操作を行う。次の処理1002では、プリントクライアント502がプリントサーバ501へDPS_StartJob405を発行する。プリントサーバ501は、そのDPS_StartJob405のパラメータを解析することで次に送信されてくるファイルの種別が自動プリントファイル301であると判断する。
次の処理1003では、ストレージクライアント503が自動プリントファイル301のファイルサイズを事前に知るために、DPS_GetFileInfo422をストレージサーバ504へ発行する。続く処理1004では、ストレージクライアント503が自動プリントファイル301を取得するために、DPS_GetFileをストレージサーバ504へ発行し、自動プリントファイル301の内容を解析する。
次の処理1005では、プリントサーバ501は、自身の状態がPrinting状態に遷移するのを通知するためにプリントクライアント502へDPS_NotifyDeviceStatus409を発行する。続く処理1006では、ストレージクライアント503は、最初に表示する画像のファイルIDを取得するためにストレージサーバ504へDPS_GetFileID420を発行する。
次の処理1008では、自動プリントファイル301で印刷指定した総画像枚数のうち現在何枚目を表示処理中であるのかを通知するために、プリントサーバ501がプリントクライアント502へDPS_NotifyJobStatus407を発行する。続く処理1009では、次に取得する画像のファイルタイプとファイルサイズを取得するために、処理1006で取得したファイルIDを用いて、ストレージクライアント503がDPS_GetFileInfo422をストレージサーバ504へ発行する。
次の処理1010では、ストレージクライアント503が、画像データを一括取得するためにストレージサーバ504へDPS_GetFile424を発行する。続く処理1011では、ストレージクライアント503が取得した画像ファイルをPrintDeviceに送信する。プリントデバイスは、DPS StartJob405に記述されたレイアウト(<layout>)の通り、画像を表示する。DPOF印刷により複数画像を表示する際は、液晶プロジェクタ100のリモコンからのページ送り/音量設定部3506による画像送りのキー操作を行うことで、次の画像へ表示を切り替える。また、同一画像で複数枚印刷設定がされていても1枚印刷とみなす。
次の処理1012では、液晶プロジェクタ100のページ送り/音量設定部3506から画像送り操作を行っている。続く処理1013では、自動プリントファイル301で印刷指定した総画像枚数のうち現在何枚目を表示処理中であるのかを通知するために、プリントサーバ501がプリントクライアント502へDPS_NotifyJobStatus407を発行する。
次の処理1014では、1枚目の画像と同様に次に表示する画像のファイルIDを取得するために、ストレージクライアント503がストレージサーバ504へDPS_GetFileIDを発行する。続く処理1015では、次に取得する画像のファイルタイプとファイルサイズを取得するために、処理1014で取得したファイルIDを用いて、ストレージクライアント503がストレージサーバ504へDPS_GetFileInfo422を発行する。
次の処理1016では、ストレージクライアント503が、画像データを一括取得するためにストレージサーバ504へDPS_GetFile424を発行する。続く処理1017では、ストレージクライアント503がプリントデバイスへ処理1016で取得した画像データを送信する。ここでも、プリントデバイスは、DPS StartJob405に記述されたレイアウト(<layout>)の通り、画像を表示する。また、液晶プロジェクタ100のページ送り/音量設定部3506から画像送りのキー操作が行われない限り次の画像へ表示が切り替わらない。さらに、同一画像で複数枚印刷設定がされていても1枚印刷とみなす。
次の処理1018では、DPOFで印刷指定された画像表示が完了したならば、液晶プロジェクタ100は待機状態に遷移する。その結果、それを通知するためにプリントサーバ501はプリントクライアント502へDPS_NotifyDeviceStatus409を発行する。画像表示が完了していなければ、上記した処理1012から処理1017までのシーケンスを画像表示完了まで繰り返す。
<第1の実施の形態に係る利点>
第1の実施の形態によれば、デジタルカメラ200と液晶プロジェクタ100とをUSBで接続したシステムおいて、デジタルカメラ200が保持する画像を、リモコン3500等の操作部材を操作することにより、液晶プロジェクタ100に表示することができる。
また、液晶プロジェクタ100の画像の解像度に適したレイアウトで画像を表示できる。これにより、ユーザが所望する画像を、ユーザが所望するレイアウトで閲覧可能となる。 さらに、液晶プロジェクタ100のリモコン3500を操作することにより、液晶プロジェクタ100の画面表示モードを切り替えると、画像の解像度が切り替わったことをデジタルカメラ200に通知する。これにより、切り替わった画像の解像度に適したレイアウトで画像を表示することが可能となる。
なお、本実施の形態では、液晶プロジェクタ100とデジタルカメラ200によるシステムについて説明したが、テレビや画像ビューワー等、画像を表示する機器についても適用可能である。
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。
第2の実施の形態における液晶プロジェクタ100の構成、液晶プロジェクタ100とデジタルカメラ200の構成及び接続方法は、第1の実施の形態と同様であり、その説明を省略する。第2の実施の形態が第1の実施の形態と異なる点は、デジタルカメラ200の操作によって、液晶プロジェクタ100が画像の各情報を画像と共に表示する点である。以下、本実施の形態における特徴部分について説明する。
<Capability情報管理テーブル>
図25は、第2の実施の形態におけるCapability情報管理テーブルを示したテーブル図である。
このCapability情報管理テーブルは、液晶プロジェクタ100の画像の解像度4200に対して、印刷に関する情報である用紙サイズ4702、レイアウト4704、日付印刷4706及びファイル名4708を関連付けて管理している。
画面の解像度4200は、図4で説明した通り、4種類存在する。図25に示すように、各画面の解像度4200に対し、画面の解像度の縦横比に近い用紙サイズ4702を割り当てる。図5と異なる点は、用紙サイズ4707に、Exif情報を付加した画像を印刷するためのものを用意している点である。
レイアウト4704は、各用紙サイズ4707に対し、レイアウト情報を持つ。日付印刷4706は、各用紙サイズ4707に対し、日付を印字して印刷するか否かの情報を持つ。ファイル名印刷4708は、各用紙サイズ4707に対し、ファイル名を印字して印刷するか否かの情報を持つ。
<DPSコマンドのシーケンス>
図12の処理603において、液晶プロジェクタ100はどのような表示設定が可能なのかを問い合わせるために、デジタルカメラ200のプリントクライアント502がプリントサーバ501へDPS_GetCapability403を発行する。プリントサーバ501は、図13で示したCapability情報取得処理を行い、液晶プロジェクタ100の画面の解像度に関連付けられた印刷のCapability情報をプリントクライアント502へ通知する。その際に、デジタルカメラ200のプリントクライアント502は、図25で示したCapability情報管理テーブルに記述されたCapability情報を取得することになる。
その結果、プリントクライアント502が得たCapability情報がデジタルカメラ200のUIに反映されて、ユーザの選択できる機能が決定する。
図26は、第2の実施の形態に係る、画像の表示処理の詳細を示すフローチャートである。この表示処理では、図12の処理610で実行され、印刷指定されたレイアウトの通り画像を表示する処理が行われる。
まずステップS70では、ストレージクライアント503は、ストレージサーバ504から取得した画像データを、後述する構成(図27(a),(b)参照)のキャッシュメモリに保存する。キャッシュメモリには、液晶プロジェクタ100が対応するレイアウト4704の最大値分の画像、もしくは画像IDを保存することが可能である。
その後のステップS71とステップS72では、第1の実施の形態で説明した図17のステップS51及びS52とそれぞれ同様の処理を行う。
続くステップS73では、ストレージクライアント503は、印刷指定された用紙サイズ情報を取得し、用紙サイズがExif情報付きであるか否かを判断する。Exif情報付き用紙サイズである場合、ステップS74へ進んで、ストレージクライアント503は、取得した全ての画像から、後述の図28に示すExif情報を取得し、ステップS75へ進む。用紙サイズがExif情報付きでない場合は、ステップS74をスキップしてステップS75へ進む。
ステップS75では、ストレージクライアント503は、印刷指定されたファイル名情報を取得し、ファイル名を印字するか否かを判断する。ファイル名を印字する場合には、ステップS76へ進んで、ストレージクライアント503は、取得した全ての画像のファイル名をキャッシュメモリから取得し、ステップS77へ進む。ファイル名を印字しない場合にはステップS76をスキップしてステップS77へ進む。
ステップS77では、ストレージクライアント503は、印刷指定された日付情報を取得し、日付を印字するか否かを判断する。日付を印字する場合には、ステップS78へ進んで、ストレージクライアント503は、取得した全ての画像の日付をキャッシュメモリから取得し、ステップS79へ進む。日付を印字しない場合には、ステップS78をスキップしてステップS79へ進む。
ステップS79では、プリントデバイスは、取得した画像、用紙サイズ、ファイル名、及び日付の情報を用い、指定されたレイアウト通り表示する。その結果、プリントクライアント502から複数枚表示のレイアウトを指定された場合には、全ての画像に関するExif情報・ファイル名・日付の情報を表示することが可能となる。
図27(a),(b)は、図26で示したキャッシュメモリの構造図である。
図27(a)において、キャッシュメモリ5200は、液晶プロジェクタ100が対応するレイアウト4204の最大値分4402の画像を、ファイル名5201・日付5202と共に、保存することが可能である。例えば、レイアウト4204の最大値は20UPであるため、20個の画像を保存できる。図27(a)中の4404は、最新の画像のポインタであり、デジタルカメラ200から指定された印刷のレイアウト分4406の画像をプリントデバイスが取得する。ファイル名5201は、プリントサーバ501が受信した印刷設定のファイル名情報である。日付5202は、プリントサーバ501が受信した印刷設定の日付情報である。
一方、図27(b)に示すように、画像自体を保存するのではなく、画像IDを保存するキャッシュメモリ5210を用意してもよい。キャッシュメモリ5210は、液晶プロジェクタ100が対応するレイアウト4204の最大値分4402の画像を、ファイル名5201・日付5202と共に、保存することが可能である。例えば、レイアウト4204の最大値は20UPであるため、20個の画像を保存できる。図27(b)中の4414は、最新の画像IDのポインタであり、デジタルカメラ200から指定された印刷のレイアウト分4416の画像を、ストレージクライアント503がストレージサーバ504から受け取ることで、プリントデバイスが取得する。
<画面表示のレイアウトの例示>
次に、第2の実施の形態に係る、液晶プロジェクタ100が画像を表示した際の画面のレイアウトについて、図28及び図29を参照して説明する。
図28及び図29は、第2の実施の形態における、液晶プロジェクタ100が印刷画像をレイアウト表示した際の画面表示例を示すレイアウト図である。
図5に示したCapability情報管理テーブルの用紙サイズ4702のうち、Exif情報付き用紙サイズを指定した際、液晶プロジェクタ100がそれぞれの画像を表示した画面のレイアウトについて説明する。
図28において、5100は、画面の解像度がノーマル(横5:縦4)時の画面表示である。信号形式が「SXGA」の場合、x2=1280ドット、y2=1024ドットの解像度を持つ。また、5100は、用紙サイズがExif情報付き8”x10”、レイアウトがフチ無し、ファイル名印字有り、日付印字有りで印刷指定した時の画面表示である。画像とExif情報5101とファイル名5102と日付5103を表示する。ファイル名印字無しであれば、ファイル名5102は表示しない。日付印字無しであれば、日付5103は表示しない。
図28において、5110、5111は、画面の解像度がフルスクリーン(横4:縦3)時の画面表示である。信号形式が「SXGA+」の場合、x1=1400ドット、y1=1050ドットの解像度を持つ。5110は、用紙サイズがExif情報付きLetter、レイアウトがフチ無し、ファイル名印字有り、日付印字有りで印刷指定した時の画面表示である。画像とExif情報5112とファイル名5113と日付5114を表示する。ファイル名印字無しであれば、ファイル名5113は表示しない。日付印字無しであれば、日付5114は表示しない。5111は、用紙サイズがExif情報付きLetter、レイアウトが2UP、ファイル名印字有り、日付印字有りで印刷指定した時の画面表示である。画像とExif情報5115とファイル名5116と日付5117を表示する。ファイル名印字無しであれば、ファイル名5116は表示しない。日付印字無しであれば、日付5117は表示しない。
図29において、5120、5121、5122は、画面の解像度がワイド(横16:縦9)時の画面表示である。信号形式が「SXGA+」のワイドの場合、x3=1400、y3=787.5ドットの解像度を持つ。5120は、用紙サイズがExif情報付きWide、レイアウトがフチ無し、ファイル名印字有り、日付印字有りで印刷指定した時の画面表示であり、画像とExif情報5123とファイル名5124と日付5125を表示する。ファイル名印字無しであれば、ファイル名5124は表示しない。日付印字無しであれば、日付5125は表示しない。5121は、用紙サイズがExif情報付きWide、レイアウトが2UP、ファイル名印字有り、日付印字有りで印刷指定した時の画面表示であり、画像とExif情報5126とファイル名5128と日付5127を表示する。ファイル名印字無しであれば、ファイル名5128は表示しない。日付印字無しであれば、日付5127は表示しない。5122は、用紙サイズがExif情報付きWide、レイアウトが6UP、ファイル名印字有り、日付印字有りで印刷指定した時の画面表示であり、画像とExif情報5129とファイル名5130と日付5131を表示する。ファイル名印字無しであれば、ファイル名5130は表示しない。日付印字無しであれば、日付5131は表示しない。
<画像の解像度切替処理>
図30は、第2の実施の形態における、画像の解像度切替処理を示したフローチャートである。
ユーザがリモコン3500等を操作することにより、ステップS80において、システム制御回路109は、画像の解像度を切り替える。次のステップS81では、プリントサーバ501はCapability情報の再取得処理を行う。
次のステップS82では、プリントサーバ501は、現在表示しているレイアウト情報を取得し、続くステップS83では、プリントサーバ501は、切り替わった画像の解像度に関連付けられたCapabilityのレイアウト情報を取得する。
次のステップS84では、プリントサーバ501は、画像をExif情報付きで表示していたか否かを判断する。Exif情報付きで画像を表示していた場合には、ステップS85の処理を行い、Exif情報なしで画像を表示していた場合には、ステップS87の処理を行う。
ステップS85では、プリントサーバ501は、表示していたレイアウト数が、切り替わった後のExif情報付き用紙サイズの表示可能レイアウト数に存在するか否かを判断する。存在する場合には、画像表示は変更しない。存在しない場合(Exif情報付き用紙サイズが存在しない場合も含む)には、プリントサーバ501は、ステップS86で、切り替わった後のExif情報付き用紙サイズの表示可能レイアウトに合致するように画像表示を切り替える。例えば、画面の解像度がワイド(横16:縦:9)、用紙サイズがExif情報付きWide、レイアウトが2UPで画像を表示中とする。その状態から、フルスクリーン(横4:縦3)に切り替えた場合、Exif情報付きLetterのレイアウトに2UPが存在するので、画像表示は変更しない。また前記状態から、ノーマル(横5:縦4)に切り替えた場合、Exif情報付き8”x10”のレイアウトに2UPが存在しないので、フチ無しのレイアウトで画像表示を切り替える。
ステップS87では、プリントサーバ501は、表示していたレイアウト数が、切り替わった後のExif情報無し用紙サイズの表示可能レイアウト数に存在するか否かを判断する。存在する場合には画像表示は変更しない。存在しない場合(Exif情報無し用紙サイズが存在しない場合も含む)、プリントサーバ501は、ステップS88で、切り替わった後のExif情報無し用紙サイズの表示可能レイアウトに合致するように画像表示を切り替える。例えば、画面の解像度がワイド(横16:縦:9)、用紙サイズがWide、レイアウトが2UPで画像を表示中とする。その状態から、フルスクリーン(横4:縦3)に切り替えた場合、Letterのレイアウトに2UPが存在するので、画像表示は変更しない。画面の解像度がワイド(横16:縦:9)、用紙サイズがWide、レイアウトが6UPで画像を表示中とする。その状態から、フルスクリーン(横4:縦3)に切り替えた場合、Letterのレイアウトに6UPが存在しないので、4UPのレイアウトで画像表示を切り替える。
<第2の実施の形態に係る利点>
第2の実施の形態によれば、デジタルカメラ200と液晶プロジェクタ100をUSBで接続したシステムおいて、デジタルカメラ200が保持する画像を、リモコン3500等の操作部材を操作することにより、次のようなことが可能になる。即ち、液晶プロジェクタ100の画像の解像度に適したレイアウトで、Exif・日付・ファイル名の画像情報を表示することができる。これにより、ユーザが所望する画像を、ユーザが所望するレイアウトで、画像に関する情報を閲覧可能となる。さらに、液晶プロジェクタ100のリモコン3500を操作することにより、液晶プロジェクタ100の画面表示モードを切り替えると、デジタルカメラ200に解像度が切り替わったことを通知する。そして、切り替わった画像の解像度に適したレイアウトで、画像と画像情報を表示することが可能となる。
なお、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。又は、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
更に、前述した実施の形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行う場合である。