(57)【要約】【課題】表示制御機能の起動時においても適切な表示切り換えを行うことができる情報処理プログラム、情報処理方法、及び情報処理装置を提供する。【解決手段】情報処理プログラムは、コンピュータに、内蔵する第１表示装置と異なり、外部接続される第２表示装置の接続状態を検知する検知工程と、検知した前記接続状態を示す状態情報を記憶部に書き込み、検知した前記接続状態に基づき、前記第１表示装置と前記第２表示装置との間で表示先を切り換え、切り換え後の表示先に相当する前記第１表示装置又は前記第２表示装置の画面仕様に従って、表示画面を制御する制御工程と、前記記憶部に書き込まれた接続状態を読み込むことによって、該読み込んだ接続状態に基づく変倍率で表示画像を変倍する変倍工程と、を実行させる。【選択図】図３
2014191099.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
内蔵する第１表示装置と異なり、外部接続される第２表示装置の接続状態を検知する検知工程と、
検知した前記接続状態を示す状態情報を記憶部に書き込み、検知した前記接続状態に基づき、前記第１表示装置と前記第２表示装置との間で表示先を切り換え、切り換え後の表示先に相当する前記第１表示装置又は前記第２表示装置の画面仕様に従って、表示画面を制御する制御工程と、
前記記憶部に書き込まれた接続状態を読み込むことによって、該読み込んだ接続状態に基づく変倍率で表示画像を変倍する変倍工程と、を実行させるための情報処理プログラム。
【請求項２】
前記変倍工程は、
前記記憶部に書き込まれた接続状態の読み込みを、前記変倍工程を実行する前記コンピュータが有する変倍部が起動した後に実行することを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記制御工程は、
前記状態情報を前記記憶部に書き込んだ後に、書き込みが完了した旨を通知し、
前記変倍工程は、
前記書き込みが完了した旨の通知を受け付けて、前記記憶部に書き込まれた接続状態を読み込むことを特徴とする請求項１に記載の情報処理プログラム。
【請求項４】
前記制御工程は、
検知した前記接続状態に基づいて表示先を切り換える前に、検知した前記接続状態の前記状態情報を前記記憶部に書き込み、前記書き込みが完了した旨を通知することを特徴とする請求項１に記載の情報処理プログラム。
【請求項５】
前記変倍工程は、
前記書き込みが完了した旨の通知を受け付けた場合、前記記憶部から前記状態情報を読み込み、読み込んだ前記状態情報に基づき、前記第２表示装置を切り換え後の表示先として特定し、特定した前記第２表示装置に対応する表示画面に従って、前記変倍率を求め、求めた前記変倍率で前記表示画像を変倍することを特徴とする請求項１に記載の情報処理プログラム。
【請求項６】
前記変倍工程は、
前記書き込みが完了した旨の通知を所定の時間以内に受け付けなかった場合、前記記憶部から、初期値として記憶されている前記第１表示装置の前記状態情報を読み込み、読み込んだ前記状態情報に基づき、前記第１表示装置を切り換え後の表示先として特定し、特定した前記第１表示装置に対応する表示画面に従って、前記変倍率を求め、求めた前記変倍率で前記表示画像を変倍することを特徴とする請求項１に記載の情報処理プログラム。
【請求項７】
内蔵する第１表示装置と異なり、外部接続される第２表示装置の接続状態を検知する検知工程と、
検知した前記接続状態を示す状態情報を記憶部に書き込み、検知した前記接続状態に基づき、前記第１表示装置と前記第２表示装置との間で表示先を切り換え、切り換え後の表示先に相当する前記第１表示装置又は前記第２表示装置の画面仕様に従って、表示画面を制御する制御工程と、
前記記憶部に書き込まれた接続状態を読み込むことによって、該読み込んだ接続状態に基づく変倍率で表示画像を変倍する変倍工程と、を含むことを特徴とする情報処理方法。
【請求項８】
内蔵する第１表示装置と異なり、外部接続される第２表示装置の接続状態を検知する検知部と、
検知した前記接続状態を示す状態情報を記憶部に書き込み、検知した前記接続状態に基づき、前記第１表示装置と前記第２表示装置との間で表示先を切り換え、切り換え後の表示先に相当する前記第１表示装置又は前記第２表示装置の画面仕様に従って、表示画面を制御する制御部と、
前記記憶部に書き込まれた接続状態を読み込むことによって、該読み込んだ接続状態に基づく変倍率で表示画像を変倍する変倍部と、を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理方法、及び情報処理装置に関する。
【背景技術】
【０００２】
例えば特許文献１には、表示装置を備える画像処理装置に、他の表示装置が外部接続されると、表示先を、画像処理装置が備える表示装置から、外部接続された他の表示装置に切り換える技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の技術では、内蔵する表示装置（以下「内部ディスプレイ」という）と、外部接続した表示装置（以下「外部ディスプレイ」という）との切り換え（表示先の切り換え）が、適切に行われない場合がある。
【０００４】
内部ディスプレイと外部ディスプレイとの切り換えは、例えば表示制御機能を提供するアプリケーションソフトウェアの実行により実現される。この場合、表示制御機能は、外部ディスプレイの接続を検知する機能と、検知結果に基づき、表示先のディスプレイに対応する表示画面（ＵＩ：User  Interface）を生成する機能とを有する。また、これらの機能は、例えば検知機能モジュールとＵＩモジュールなどの異なるモジュール（ソフトウェア部品）によって実装され、ＵＩモジュールが、検知モジュールからの検知イベントを受け取ることで、切り換え後の表示先のＵＩを生成する。そのため、例えば、検知モジュールの起動時間より、ＵＩモジュールの起動時間が長い場合、ＵＩモジュールが、検知モジュールからの検知イベントを受け取れない。このように、従来の技術では、表示制御機能の起動時に、表示切り換えを適切に行えない場合がある。
【０００５】
本発明は、上記に鑑みてなされたものであって、表示制御機能の起動時においても適切な表示切り換えを行うことができる情報処理プログラム、情報処理方法、及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係る情報処理プログラムは、コンピュータに、内蔵する第１表示装置と異なり、外部接続される第２表示装置の接続状態を検知する検知工程と、検知した前記接続状態を示す状態情報を記憶部に書き込み、検知した前記接続状態に基づき、前記第１表示装置と前記第２表示装置との間で表示先を切り換え、切り換え後の表示先に相当する前記第１表示装置又は前記第２表示装置の画面仕様に従って、表示画面を制御する制御工程と、前記記憶部に書き込まれた接続状態を読み込むことによって、該読み込んだ接続状態に基づく変倍率で表示画像を変倍する変倍工程と、を実行させる。
【発明の効果】
【０００７】
本発明によれば、表示制御機能の起動時においても適切な表示切り換えを行うことができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る情報処理システムの構成例を示す図である。
【図２】図２は、第１の実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図３】図３は、第１の実施形態に係る表示制御機能の構成例を示す図である。
【図４】図４は、第１の実施形態に係る表示制御時の処理手順例（その１）を示すシーケンス図である。
【図５】図５は、第１の実施形態に係る表示制御時の処理手順例（その２）を示すシーケンス図である。
【図６】図６は、第１の実施形態に係る外部ディスプレイ検知時の処理手順例を示すフローチャートである。
【図７】図７は、第１の実施形態に係る変倍時の処理手順例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、添付図面を参照して、情報処理プログラム、情報処理方法、及び情報処理装置の実施形態を詳細に説明する。
【００１０】
［第１の実施形態］
＜システム構成＞
図１は、本実施形態に係る情報処理システム１０００の構成例を示す図である。図１には、複数の情報処理装置１００ａ１，１００ａ２，１００ｂ１，１００ｂ２を利用した会議システムの例が示されている。情報処理装置１００ａ１，１００ａ２は、内部のネットワークＮａに接続され、情報処理装置１００ｂ１，１００ｂ２は、内部のネットワークＮｂに接続されている。なお、ネットワークＮａ，Ｎｂ（以下総称する場合「ネットワークＮ」という）は、例えばＬＡＮ（Local  Area  Network）などに相当する。また、ネットワークＮは、外部のネットワークＩに接続されている。なお、ここでいう外部のネットワークＩは、例えばＷＡＮ（Wide  Area  Network）やインターネットなどに相当する。よって、本実施形態に係る情報処理システム１０００では、情報処理装置１００ａ１，１００ａ２と情報処理装置１００ｂ１，１００ｂ２が、外部のネットワークＩを介してデータ通信できる。なお、本実施形態に係る情報処理システム１０００には、プログラム提供装置３００が、外部のネットワークＩに接続されている。プログラム提供装置３００は、例えば、外部のネットワークＩを介して、情報処理装置１００ａ１，１００ａ２，１００ｂ１，１００ｂ２に、プログラムを提供する。
【００１１】
図１に示すように、本実施形態に係る情報処理装置１００ａ１，１００ａ２，１００ｂ１，１００ｂ２は、各内部ディスプレイ１１９ａ１，１１９ａ２，１１９ｂ１，１１９ｂ２を備えている。なお、情報処理装置１００ａ１，１００ａ２，１００ｂ１，１００ｂ２は、以下総称する場合「情報処理装置１００」という。また、内部ディスプレイ１１９ａ１，１１９ａ２，１１９ｂ１，１１９ｂ２は、以下総称する場合「内部ディスプレイ１１９」という。
【００１２】
また、情報処理装置１００ａ１，１００ｂ１は、内部ディスプレイ１１９ａ１，１１９ｂ１と異なる画面仕様（例えば「表示領域の大きさ」や「解像度」など）の外部ディスプレイ２００ａ，２００ｂをさらに備えている。なお、外部ディスプレイ２００ａ，２００ｂは、以下総称する場合「外部ディスプレイ２００」という。
【００１３】
本実施形態に係る情報処理装置１００は、表示制御機能を有する機器であり、内部ディスプレイ１１９と外部ディスプレイ２００との間で表示先を切り換える表示制御を行う。情報処理装置１００は、例えばＰＣ（Personal  Computer）、会議専用端末、スマートフォン、タブレット端末、携帯電話、プロジェクタなどに相当する。内部ディスプレイ１１９や外部ディスプレイ２００は、表示装置であり、動画や静止画などの各種画像を表示する。なお、プロジェクタの場合には、投影画像が表示されるスクリーンなどの投影面が、内部ディスプレイ１１９に相当する。
【００１４】
本実施形態に係る情報処理システム１０００は、上記システム構成により、次のような会議サービスを提供できる。例えば情報処理システム１０００は、ネットワークＮａに接続される情報処理装置１００ａ１から、同一のネットワークＮａに接続される情報処理装置１００ａ２に対して接続要求（会議参加要求）を行う。また、情報処理システム１０００は、ネットワークＮａに接続される情報処理装置１００ａ１から、ネットワークＮｂに接続される情報処理装置１００ｂ１，１００ｂ２に対して、外部のネットワークＩを介して接続要求（会議参加要求）を行う。これに対して情報処理装置１００ａ２，１００ｂ１，１００ｂ２が、接続要求に応答（会議参加通知）すると、情報処理装置１００ａ１，１００ａ２，１００ｂ１，１００ｂ２の間で双方向のデータ通信が確立される。このような呼制御により、情報処理システム１０００では、例えばテキスト、画像（静止画及び動画を含む）、音声などの各種コンテンツを利用した双方向コミュニケーションによる会議サービスの提供が開始される。このとき情報処理装置１００が備える内部ディスプレイ１１９には、例えば会議参加者の映像や会議資料などの画像コンテンツが表示される。また、このとき情報処理装置１００に外部ディスプレイ２００が接続されている場合には、表示先が内部ディスプレイ１１９から外部ディスプレイ２００に切り換えられ、画像コンテンツが表示される。
【００１５】
なお、上記呼制御の方式には、例えば、（１）ＳＩＰ（Session  Initiation  Protocol）や（２）Ｈ．３２３などがある。また、上記呼制御の方式には、（３）ＳＩＰを拡張したプロトコルや、（４）インスタントメッセンジャーのプロトコルなどがある。また、上記呼制御の方式には、（５）ＳＩＰのＭＥＳＳＡＧＥメソッドを利用したプロトコルや、（６）：インターネットリレーチャットのプロトコル（ＩＲＣ：Internet  Relay  Chat）などがある。また、上記呼制御の方式には、（７）インスタントメッセンジャーのプロトコルを拡張したプロトコルなどがある。このうち、（４）インスタントメッセンジャーのプロトコルは、例えば（４−１）ＸＭＰＰ（Extensible  Messaging  and  Presence  Protocol）や（４−２）ＩＣＱ（登録商標）などで利用されるプロトコルである。また、（４）インスタントメッセンジャーのプロトコルは、例えばＡＩＭ（登録商標）やＳｋｙｐｅ（登録商標）などで利用されるプロトコルである。また、（７）インスタントメッセンジャーのプロトコルを拡張したプロトコルは、例えばＪｉｎｇｌｅである。
【００１６】
また、画像の符号化方式として、例えばＨ．２６４／ＡＶＣやＨ．２６４／ＳＶＣを利用することができるが、これら以外の符号化方式を用いてもよい。
【００１７】
また、情報処理装置１００の間の呼制御は、例えば呼制御サーバを介して実行されてもよい。さらに、情報処理装置１００の間のデータ通信は、各種コンテンツを中継する中継装置を介して実行されてもよい。
【００１８】
＜ハードウェア構成＞
図２は、本実施形態に係る情報処理装置１００のハードウェア構成例を示す図である。図２に示すように、本実施形態に係る情報処理装置１００は、ＣＰＵ（Central  Processing  Unit）１０１などを備える。また、情報処理装置１００は、ＲＯＭ（Read  Only  Memory）１０２、及びＲＡＭ（Random  Access  Memory）１０３などを備える。また、情報処理装置１００は、フラッシュメモリ１０４、ＳＳＤ（Solid  State  Drive）１０５、及びメディアドライブ１０７などを備える。また、情報処理装置１００は、操作ボタン１０８、電源スイッチ１０９、内蔵電源１１０、及び外部電源ＩＦ１１１などを備える。また、情報処理装置１００は、通信ＩＦ１１２、カメラ１１３、撮像素子ＩＦ１１４、マイク１１５、スピーカ１１６、及び音声入出力ＩＦ１１７などを備える。また、情報処理装置１００は、外部ディスプレイＩＦ１１８、内部ディスプレイ１１９、内部ディスプレイＩＦ１２０、及び外部機器ＩＦ１２１などを備える。情報処理装置１００は、上記部品がバスＢで相互に接続される。
【００１９】
ＣＰＵ１０１は、装置全体を制御する演算装置である。ＲＯＭ１０２は、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０２には、例えば情報処理装置１００の起動時に実行されるプログラムやデータが格納されている。ＲＡＭ１０３は、揮発性の半導体メモリである。ＣＰＵ１０１は、例えばＲＯＭ１０２から、プログラムやデータをＲＡＭ１０３上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【００２０】
フラッシュメモリ１０４は、例えばフラッシュＥＥＰＲＯＭ（Electrically  Erasable  Programmable  ROM）又はフラッシュＲＯＭなどの不揮発性の半導体メモリである。ＳＳＤ１０５は、フラッシュメモリ１０４へのデータ読み取り及び書き込みを行う。メディアドライブ１０７は、記憶メディア１０６へのデータ読み取り及び書き込みを行う。なお、記憶メディア１０６には、例えばフレキシブルディスク、ＣＤ（Compact  Disk）、ＤＶＤ（Digital  Versatile  Disk）、及びメモリカード（Memory  Card）などの記録媒体がある。
【００２１】
操作ボタン１０８は、装置に各操作信号を入力するのに用いられるＵＩ（User  Interface）である。電源スイッチ１０９は、装置に対する電力供給をオン又はオフする。内蔵電源１１０は、装置外部ではなく内部から駆動電力を供給する電源である。なお、内蔵電源１１０には、例えばバッテリなどの蓄電池がある。外部電源ＩＦ１１１は、装置外部から駆動電力を供給する電源と情報処理装置１００との間のインタフェースである。なお、外部電源ＩＦ１１１は、例えばコンセントからの外部電源の場合、プラグが外部電源ＩＦ１１１に相当する。
【００２２】
通信ＩＦ１１２は、装置をネットワークＮなどの所定のデータ伝送路に接続するインタフェースである。カメラ１１３は、例えばレンズなどの光学系エンジンを備え、撮像素子により入射光を受光することで画像を撮像する。撮像素子ＩＦ１１４は、カメラ１１３などの各種光学系機器と情報処理装置１００との間でデータ送受信を行うインタフェースである。マイク１１５は、例えばセンサなどにより音を検知する。スピーカ１１６は、例えば検知音のデータや所定の音声コンテンツを再生することで音を出力する。音声入出力ＩＦ１１７は、マイク１１５やスピーカ１１６などの各種音声入出力機器と情報処理装置１００との間でデータ送受信を行うインタフェースである。
【００２３】
外部ディスプレイＩＦ１１８や内部ディスプレイＩＦ１２０は、外部ディスプレイ２００や内部ディスプレイ１１９と情報処理装置１００との間でデータ送受信を行うインタフェースである。外部ディスプレイ２００や内部ディスプレイ１１９は、例えば液晶ディスプレイであり、情報処理装置１００による処理結果を表示する。外部機器ＩＦ１２１は、例えばＰＣ、スマートフォン、タブレット端末、携帯電話などの各種外部機器と情報処理装置１００との間でデータ送受信を行うインタフェースである。なお、外部機器ＩＦ１２１には、例えばＨＤＤ（Hard  Disk  Drive）やマイクロドライブなどの外部記憶装置が接続可能である。
【００２４】
以上のように、本実施形態に係る情報処理システム１０００では、上記構成により、遠隔サイト間（例えば「異なるネットワークエリアの間」）での各種コンテンツを利用した双方向コミュニケーションによる会議サービスを提供することができる。
【００２５】
＜表示制御機能＞
本実施形態に係る表示制御機能について説明する。本実施形態に係る情報処理装置１００は、外部ディスプレイ２００の接続状態を検知する。情報処理装置１００は、検知した接続状態に基づき、内部ディスプレイ１１９（第１表示装置）と外部ディスプレイ２００（第２表示装置）との間で表示先を切り換え、切り換え後の表示先に相当するディスプレイの画面仕様に従って、表示画面を制御する。このとき情報処理装置１００は、検知モジュールが、検知した外部ディスプレイ２００の接続状態を記憶し、ＵＩモジュールに対して、書き込みが完了した旨（記憶完了の旨）を通知する。これにより、情報処理装置１００は、ＵＩモジュールが、書き込み完了の旨の通知を受け付けると、記憶された外部ディスプレイ２００の接続状態を取得し、取得情報に基づき、外部ディスプレイ２００に対応する表示画像の変倍や解像度設定などを行う。本実施形態に係る情報処理装置１００は、このような表示制御機能を有している。
【００２６】
従来の技術では、表示制御機能の起動時に、内部ディスプレイ１１９と外部ディスプレイ２００との切り換えが、適切に行われない場合がある。表示制御機能は、アプリケーションソフトウェアの実行により実現される場合、外部ディスプレイ２００の接続を検知する検知モジュールと、検知結果に基づき、表示先のディスプレイに対応する表示画面を生成するＵＩモジュールとを有する。
【００２７】
表示制御機能を搭載する情報処理装置１００では、次のような利用場面が考えられる。例えば情報処理装置１００には、電源投入前に、外部ディスプレイ２００が予め接続されている。この状態で、情報処理装置１００に電源が投入されると、検知モジュールとＵＩモジュールとが起動される。これにより、検知モジュールが、外部ディスプレイ２００の接続を検知し、検知イベントをＵＩモジュールに通知する。このとき、ＵＩモジュールは、起動が完了していない場合、通知された検知イベントを受け取れない。つまり、ＵＩモジュールは、起動中でイベントを受け取れない状態のときに通知されたイベントを取りこぼしてしまう。そのため、情報処理装置１００では、切り換えたい外部ディスプレイ２００に対応する表示画面が生成されず、表示先が、外部ディスプレイ２００に切り換わらない。このように、従来の技術では、表示制御機能の起動時に、表示切り換えを適切に行えない場合がある。
【００２８】
表示先を切り換える表示制御機能は、図１の説明で述べたように、例えば会議サービスなどで利用される。会議サービスの利用場面では、会議開催時の円滑なコミュニケーションを図る上で、内部ディスプレイ１１９より画面サイズの大きい外部ディスプレイ２００の利用が多いことが考えられる。このようなことからも、表示制御機能では、モジュールの起動完了順に関係なく、外部ディスプレイ２００の検知結果に基づき、表示先を適切に切り換えられることが望ましい。
【００２９】
そこで、本実施形態に係る表示制御機能では、検知した外部ディスプレイ２００の接続状態を記憶し、記憶完了の通知に従って、記憶された接続状態を確認し、確認結果に基づき、表示先に対応する表示画面の切り換えを制御する仕組みとした。
【００３０】
これにより、本実施形態に係る表示制御機能は、モジュールの起動完了順に関係なく、外部ディスプレイ２００の検知結果に基づき、表示先を適切に切り換え可能な環境を提供する。その結果、本実施形態に係る表示制御機能は、表示制御機能の起動時においても適切な表示切り換えを行うことができる。
【００３１】
以下に、本実施形態に係る表示制御機能の構成とその動作について説明する。図３は、本実施形態に係る表示制御機能の構成例を示す図である。図３に示すように、本実施形態に係る表示制御機能は、表示制御部１１、変倍部１２、起動部２１、情報取得部２２、及び設定部２３などを有する。なお、本実施形態では、例えば情報処理装置１００にインストールしたプログラムなどのアプリケーションソフトウェアにより表示制御部１１及び変倍部１２の各機能を実現する。なお、本実施形態では、表示制御部１１が上記検知モジュールを含むソフトウェアにより実現され、変倍部１２が上記ＵＩモジュールを含むソフトウェアにより実現される。よって、本実施形態では、表示制御部１１と変倍部１２とが、異なるモジュールで実現される。また、本実施形態では、例えば情報処理装置１００に搭載されたＯＳ（Operating  System）などの基本ソフトウェアにより起動部２１、情報取得部２２、及び設定部２３の各機能を実現する。つまり、本実施形態に係る表示制御機能は、基本ソフトウェアと基本ソフトウェア上で動作するアプリケーションソフトウェアとの連携により実現される。
【００３２】
表示制御部１１は、起動時又は起動後の情報処理装置１００の状態変化に基づき、表示先に相当するディスプレイの画面仕様に従って表示画面を制御する。表示制御部１１は、情報取得部２２に対して、外部ディスプレイ２００のデバイス状態の問い合わせを要求し、デバイス状態に関する応答を受け取る（外部ディスプレイ２００の状態情報を受け取る）。その結果、表示制御部１１は、受け取った状態応答に基づき、内部ディスプレイ１１９と外部ディスプレイ２００との間で表示先を切り換える。
【００３３】
表示制御部１１は、上記状態応答を受け取る方法により、情報処理装置１００の状態変化を検知する検知部１１ａを有する。検知部１１ａ（検知モジュールに相当）は、起動時又は起動後の情報処理装置１００の状態変化を検知する。検知される状態変化には、外部ディスプレイ２００の接続又は未接続の状態変化が含まれる。具体的には、情報処理装置１００に外部ディスプレイ２００が接続されたときの状態変化や、情報処理装置１００から外部ディスプレイ２００が取り外された（接続が解除された）ときの状態変化などが含まれる。基本ソフトウェアは、例えば外部ディスプレイＩＦ１１８を介して入力された信号（外部ディスプレイ２００からの入力信号）に基づき、情報処理装置１００の状態変化を検知する。その結果、基本ソフトウェアは、検知結果を検知部１１ａにイベント通知する。このときの通知の方法には、例えば基本ソフトウェアが有するイベント機能を用いて実現する方法や、独自にイベントを定義し、拡張したイベント機能を用いて実現する方法などがある。これを受けて検知部１１ａは、情報処理装置１００の状態変化を検知する。これにより、アプリケーションソフトウェアは、外部ディスプレイ２００の接続又は未接続を含む情報処理装置１００の状態変化を検知する。
【００３４】
なお、本実施形態で想定している起動時の状態変化の発生場面は、例えば外部ディスプレイ２００を接続した状態で情報処理装置１００を起動した場合である。ただし、本実施形態に係る情報処理装置１００は、これに限定されない。本実施形態に係る情報処理装置１００は、基本ソフトウェアと検知部１１ａとの連携動作により、次のような状態変化が発生した場合にも対応できる。例えば、対応可能な起動後の状態変化の発生場面には、外部ディスプレイ２００が未接続の状態で情報処理装置１００を起動した後に、外部ディスプレイ２００を接続した場合や、情報処理装置１００の起動後に外部ディスプレイ２００を取り外した場合などがある。
【００３５】
表示制御部１１は、外部ディスプレイ２００が表示可能な状態であれば、内部ディスプレイ１１９を消灯し、変倍部１２（ＵＩモジュールに相当）に対して、外部ディスプレイ２００の画面仕様に従った表示画像の変倍を指示する。表示制御部１１は、例えば基本ソフトウェアが備えるディスプレイ駆動制御用のＡＰＩ（Application  Program  Interface）を介して（ＡＰＩ関数をコールすることで）、内部ディスプレイ１１９に対する消灯を指示する。次に表示制御部１１は、状態応答で受け取ったデバイス状態を示す値（以下「デバイス状態情報」）を、レジストリ９０（記憶部）に書き込み（レジストリに記憶されたデバイス状態情報の初期値を更新し）、外部ディスプレイ２００のデバイス状態を記憶する。なお、レジストリとは、基本ソフトウェアが用いる情報ＤＢ（Data  Base）であり、情報処理装置１００が備える記憶装置の所定の記憶領域に相当する。また、レジストリ９０に記憶されるデバイス状態情報の初期値には、内部ディスプレイ１１９のデバイス状態を示す値が設定されている。その後、表示制御部１１は、デバイス状態情報の書き込みが完了すると（情報記憶完了時に）、書き込みが完了した旨を知らせるイベント（記憶完了イベント）を発行する。表示制御部１１は、発行したイベントを通知することにより、変倍部１２に対して、外部ディスプレイ２００のデバイス状態の書き込みが完了した旨を通知する。これを受けて変倍部１２は、レジストリ９０に記憶された外部ディスプレイ２００のデバイス状態情報に基づき、表示画像を変倍し、外部ディスプレイ２００に対応する表示画面を生成する。
【００３６】
なお、書き込み完了イベントの通知の方法には、例えば所定のキーボードイベントに書き込み完了通知を割り当てる方法などがある。また、書き込み完了を通知する方法は、レジストリ通知であってもよい。この場合には、所定のレジストリ値に書き込み完了通知を示す値を設定する方法などがある。表示制御部１１は、例えば基本ソフトウェアが有するイベント又はレジストリ通知用のＡＰＩを介し、上記方法により変倍部１２に書き込み完了通知を行う。
【００３７】
また、表示制御部１１は、外部ディスプレイ２００が表示可能な状態であれば、情報取得部２２に対して、外部ディスプレイ２００のデバイス性能の問い合わせを要求し、デバイス性能に関する応答を受け取る（外部ディスプレイ２００の性能情報を受け取る）。表示制御部１１は、受け取ったデバイス性能応答に基づき、設定部２３に対して、外部ディスプレイ２００の画面仕様に従った解像度の設定を指示する。表示制御部１１は、受け取ったデバイス性能応答に含まれる解像度の値を設定部２３に渡し、解像度の設定を指示する。なお、表示制御部１１は、外部ディスプレイ２００が表示可能な状態でなければ、内部ディスプレイ１１９の画面仕様に従った解像度の設定を指示する。
【００３８】
変倍部１２は、表示先に相当するディスプレイの画面仕様に従って、表示画像を変倍する。例えば、図１の説明で述べた会議サービスが実施される場合には、次のような点に対応しなければならない。その対応点を明らかにするため、まず、会議サービスの具体的な利用場面を説明する。
【００３９】
会議サービスでは、会議中に、自拠点の情報処理装置１００と相手拠点の情報処理装置１００との間で、同じ画像を、それぞれの情報処理装置１００に表示する。このとき、自拠点の情報処理装置１００は、例えば、当該装置に保存された会議資料の画像データを、相手拠点の情報処理装置１００に対して送信する。その結果、自拠点の情報処理装置１００と相手拠点の情報処理装置１００とで、同じ画像が表示される。
【００４０】
これにより、自拠点と相手拠点との間で同じ会議資料の画像を閲覧することができ、円滑なコミュニケーションを図ることができる。なお、自拠点とは、自分がいる会議開催場所に相当し、相手拠点とは、他の会議参加者がいる会議開催場所に相当し、自分がいる会議開催場所と他の会議参加者がいる会議開催場所とが異なる場所であることを意味する。
【００４１】
このような利用場面では、自拠点の情報処理装置１００と相手拠点の情報処理装置１００との間で共通する所定のフォーマット（例えば「大きさ」や「解像度」などを含む）に従って、画像データを生成することが通常である。そのため、自拠点の情報処理装置１００では、画像データを相手拠点の情報処理装置１００へ送信する一方で、当該装置で同じ画像を表示する際に、送信データと同一の画像データを、自拠点の表示画面に応じて、適正な大きさに変倍する必要がある。会議サービスの利用場面では、円滑なコミュニケーションを図る環境を提供する上で、このような点に対応できることが望まれる。よって、本実施形態では、上記点に対応する変倍部１２を有している。
【００４２】
変倍部１２は、レジストリ９０を参照し、表示先のデバイス状態情報を読み込む（取得する）。変倍部１２は、読み込んだデバイス状態情報に基づき、切り換え後の表示先を特定し、特定した表示先に対応するように表示画像の変倍処理を行う。変倍部１２は、表示制御部１１からの書き込み完了イベント通知を受け付けると、レジストリ９０に記憶された外部ディスプレイ２００のデバイス状態を読み込み、外部ディスプレイ２００を表示先として特定する。なお、変倍部１２は、表示制御部１１からの書き込み完了イベント通知を受け付けるまで、レジストリ９０に記憶されたデバイス状態情報の初期値を参照し、内部ディスプレイ１１９を表示先としておく。
【００４３】
変倍部１２は、切り換え後の表示先を特定すると、次のような方法で、表示先に対応する表示画面の変倍処理を行う。変倍部１２は、まず予め設定された各種ディスプレイの表示領域の規格に基づき、切り換え前の表示領域（縦：Ｈ１，横：Ｗ１）と切り換え後の表示領域（縦：Ｈ２，横：Ｗ２）を特定する。これにより、変倍部１２は、特定した表示領域の大きさの比率（縦比率：Ｈ２／Ｈ１，横比率：Ｗ２／Ｗ１）に基づき、表示画像の変倍率（拡大率又は縮小率）を求める。
【００４４】
また、変倍部１２は、情報処理装置１００が備える内部ディスプレイ１１９と情報処理装置１００に接続可能な外部ディスプレイ２００の各画面仕様に基づき、想定される表示先の切り換えパターンごとに予め求めておいた表示画像の変倍率を記憶していてもよい。例えば外部ディスプレイ２００の変倍率を‘１’とした場合には、外部ディスプレイ２００より表示領域が小さい内部ディスプレイ１１９に対応する変倍率を‘０．８５’とし、各変倍率の値‘１’，‘０．８５’を記憶していてもよい。このように、各変倍率を記憶しておく場合には、変倍部１２は、表示先の切り換えパターン（内部ディスプレイ１１９から外部ディスプレイ２００への切り換え、又は、外部ディスプレイ２００から内部ディスプレイ１１９への切り換えのいずれか）を特定する。その結果、変倍部１２は、特定結果に基づき、記憶している複数の変倍率から、表示先の切り換えパターンに対応する変倍率を取得する。これにより、変倍部１２は、表示制御部１１が情報取得部２２を介して、外部ディスプレイ２００から画面仕様を含むデバイス情報が取得不可能な場合でも、表示画像を変倍できる。
【００４５】
次に変倍部１２は、求めた変倍率、又は、取得した変倍率に基づき、切り換え前の表示画像を変倍する。このとき変倍部１２は、表示先に相当するディスプレイのＵＩ機能（表示画面描画機能）で処理可能な所定のデータ形式による表示データを生成することで実現する。変倍部１２は、表示先のＵＩ機能で処理可能なデータ形式に従って、表示画像を変倍する表示データを生成する。ここでいうデータ形式の言語には、例えばＨＴＭＬ（HyperText  Markup  Language）／ＣＳＳ（Cascading  Style  Sheets）などがある。変倍部１２は、データ形式の言語仕様に従って、表示画像の画像データ（表示画像データ）を埋め込み、画像変倍処理のパラメータ値に変倍率の値を設定した表示データを生成する。データ形式の言語がＨＴＭＬの場合、画像データの埋め込み方法には、例えばｉｍａｇｅタグなどの定義タグを用いて埋め込む方法がある。また、画像変倍処理のパラメータ値の設定方法には、例えばｔｒａｎｓｆｏｒｍ：ｓｃａｌｅ（）などの属性値に拡大率又は縮小率の変倍率の値を設定する方法がある。その結果、表示先に相当するディスプレイ側では、搭載するＵＩ機能により表示データが処理され、処理結果に基づき表示画面に描画される。これにより、表示画面には、表示画像そのものが、設定された変倍率に従って拡大表示又は縮小表示される。
【００４６】
なお、上記表示画像は、情報処理装置１００で生成した画像データ、予め保存されている画像データなどを含む。また、上記表示画像には、通信ＩＦ１１２を介して、他の情報処理装置１００から受信した画像データ、外部機器ＩＦ１２１を介して接続された外部機器から受信した画像データを含む。
【００４７】
また、会議サービスの利用場面では、まず、自拠点の情報処理装置１００が、所定のフォーマットに従って、表示画像の画像データを生成する。次に、自拠点の情報処理装置１００は、送信部として機能し、生成した画像データを、相手拠点の情報処理装置１００に送信する。このとき、自拠点の情報処理装置１００が有する変倍部１２は、画像データが送信された後に、又は、画像データが送信される前に、当該装置で同じ画像を表示するとき変倍処理を実行する。このとき変倍部１２は、送信する画像データと同じ内容の表示画像を変倍し、大きさ（画像サイズ）を変更する。
【００４８】
このように、本実施形態では、検知した外部ディスプレイ２００の接続状態を記憶し、記憶完了の通知に従って、記憶された接続状態を確認し、確認結果に基づき、表示先に対応する表示画面の切り換えを制御する。これにより、本実施形態では、モジュールの起動完了順に関係なく、外部ディスプレイ２００の検知結果に基づき、表示先を適切に切り換えられる。つまり、本実施形態では、ＵＩモジュールが、起動中でイベントを受け取れない状態のときに通知されたイベント取りこぼしてしまうといった問題が発生しない。そのため、本実施形態では、切り換えたい外部ディスプレイ２００に対応する表示画面が生成されず、表示先が、外部ディスプレイ２００に切り換わらないといった問題も発生しない。その結果、本実施形態に係る情報処理装置１００は、表示制御機能の起動時においても適切な表示切り換えを行うことができる。
【００４９】
また、本実施形態では、内部ディスプレイ１１９と外部ディスプレイ２００で共通のＵＩ機能を利用し、表示画像の変倍を行うことで、それぞれに対して個別に対応する（表示データを生成する）必要がない。つまり、本実施形態では、内部ディスプレイ１１９と外部ディスプレイ２００で共通の表示データを用いて、表示画像の変倍が行えることから、変倍処理を単純化でき、処理負荷を軽減できる。
【００５０】
起動部２１は、表示制御機能を提供するアプリケーションソフトウェア（各機能を実現するモジュール群）を起動する。起動部２１は、例えば表示制御部１１を実現するプログラム（モジュールに相当）や、変倍部１２を実現するプログラムなどに対して、起動を要求することで、各プログラムが実行される。
【００５１】
情報取得部２２は、表示制御部１１からの要求に応じて、外部ディスプレイ２００から各種情報を取得する。情報取得部２２は、外部ディスプレイＩＦ１１８を介して、外部ディスプレイ２００にデバイス状態を問い合わせ、例えば表示可能な状態又は表示不可能な状態などを表す状態情報を取得する。また、情報取得部２２は、外部ディスプレイＩＦ１１８を介して、外部ディスプレイ２００にデバイス性能を問い合わせ、解像度などを含む性能情報を取得する。このとき取得する性能情報には、例えば種々の機器と接続するために表示装置が予め保持しているハードウェア性能を表す汎用データなどがある。情報取得部２２は、取得情報を要求元の表示制御部１１に渡す。
【００５２】
ここで、情報取得部２２が取得する性能情報の一例である上記汎用データについて、簡単に説明する。ディスプレイは、接続機器との間でプラグ・アンド・プレイ（自動検知及び自動接続）を実現している。一般的に、ＰＣとディスプレイを接続するには、ＰＣが出力する映像信号をディスプレイが対応できる周波数と解像度の範囲内におさめることが必要となる。周波数には、水平と垂直の走査周波数及び映像信号のクロック周波数が含まれる。解像度とは、水平や垂直方向のドット構成のハードウェア性能を意味する。プラグ・アンド・プレイを実現するには、ＰＣがこれらの情報を何らかの手段でディスプレイから取得する必要がある。そこで、種々の機器との接続を可能とする汎用データとして、ＥＤＩＤ（Extended  Display  Identification  Data）が用意されている。ＥＤＩＤは、対応する周波数、解像度、製造メーカ名（Vendor  ID）、型式（Product  ID）などのディスプレイ固有の特性を記述した１２８バイトのバイナリデータで、ディスプレイが備える記憶装置に保持されている。なお、ＥＤＩＤは、ディスプレイの特性に応じて、１２８バイトを超える拡張ブロックを含むことができる。
【００５３】
設定部２３は、表示制御部１１からの要求に応じて、表示先に相当するディスプレイの解像度を設定する。このとき設定部２３は、表示制御部１１から受け取った解像度の値に基づき、外部ディスプレイ２００の解像度を設定する。一方、設定部２３は、予め記憶しておいた解像度の値に基づき、内部ディスプレイ１１９の解像度を設定する。
【００５４】
以上のように、本実施形態に係る表示制御機能は、ソフトウェアの実装により実現される。具体的には、情報処理装置１００において、表示制御機能を実現する情報処理プログラムが実行され、上記各機能部が連携動作することで実現される。
【００５５】
情報処理プログラムは、実行環境である情報処理装置１００（コンピュータ）が読み取り可能な記憶メディア１０６に、インストール可能な形式又は実行可能な形式のファイルで記憶され提供される。情報処理プログラムは、上記各機能部を含むモジュール構成となっており、ＣＰＵ１０１が記憶メディア１０６からプログラムを読み出し実行することで、ＲＡＭ１０３上に各機能部が生成される。なお、情報処理プログラムの提供方法は、この限りでない。例えば情報処理プログラムを、インターネットなどに接続された機器に格納し、通信ＩＦ１１２を介してネットワークＮ経由でダウンロードする方法であってもよい。具体的には、本実施形態に係る情報処理システム１０００では、情報処理装置１００が、プログラム提供装置３００に対して、情報処理プログラムの要求を送信することで、プログラム提供装置３００から該当プログラムをダウンロードし、インストールする。また、情報処理プログラムをインストールした後も、該当プログラムの更新（アップデート）があった場合には、次のような方法でダウンロードする。例えばプログラム提供装置３００が、情報処理装置１００に対して、更新された旨を通知することで、プログラム提供装置３００から、アップデートされた該当プログラムをダウンロードし、インストールする。このとき、アップデート時のダウンロードは、プログラムそのものであってもよいし、ライブラリなどのプログラムを構成する要素の差分であってもよい。また、情報処理プログラムの提供方法は、ＲＯＭ１０２やフラッシュメモリ１０４などに予め組み込んで提供する方法であってもよい。
【００５６】
以下に、本実施形態に係る情報処理プログラム実行時の処理（各機能部の連携動作）について、シーケンス図及びフローチャートを用いて説明する。なお、以降には、便宜上、外部ディスプレイ２００が予め接続された状態で、情報処理装置１００に電源が投入された場合の利用場面を例に説明を行う。また、以下の説明では、表示制御部１１と変倍部１２とを、起動部２１による起動対象モジュールにより実現される機能とする。また、これらの起動対象モジュールが起動完了するまでの時間（以下「起動時間」という）の違いを、２つのパターンに分けて説明する。具体的には、検知モジュールの起動時間ＡがＵＩモジュールの起動時間Ｂより短い場合である。なお、ここでいう検知モジュールとは、外部ディスプレイ２００の接続を検知する表示制御部１１の機能を実現するモジュールの１つである。よって、以下では、便宜上、検知モジュールの起動時間Ａを、表示制御部１１の起動時間Ａと称す。また、ＵＩモジュールは、検知結果に基づき、外部ディスプレイ２００に対応する表示画面を生成する変倍部１２の機能を実現するモジュールの１つである。よって、以下では、便宜上、ＵＩモジュールの起動時間Ｂを、変倍部１２の起動時間Ｂと称す。つまり、変倍部１２の起動完了が、表示制御部１１より遅い場合である。他方は、表示制御部１１の起動時間が、変倍部１２の起動時間より長い場合、つまり、変倍部１２の起動時間が、表示制御部１１より速い場合である。
【００５７】
《表示制御部１１の起動時間Ａが変倍部１２の起動時間Ｂより短い場合の処理》
図４は、本実施形態に係る表示制御時の処理手順例（その１）を示すシーケンス図である。図４に示すように、本実施形態に係る情報処理装置１００は、電源が投入されると、起動部２１が、装置が起動されたことを検知し（ステップＳ１０１）、表示制御部１１と変倍部１２とに対して、起動を要求する（ステップＳ１０２１，Ｓ１０２２）。なお、本処理例では、起動部２１による機能部の起動が同時に行われた場合の例が示されている。
【００５８】
これを受けて表示制御部１１と変倍部１２とは、起動を開始する。その後、表示制御部１１が、変倍部１２より速く起動が完了したとする（［Ａ＜Ｂ］）。
【００５９】
先に起動が完了した表示制御部１１は、情報取得部２２に対して、外部ディスプレイ２００のデバイス状態の問い合わせを要求する（ステップＳ１０３）。情報取得部２２は、外部ディスプレイＩＦ１１８を介して、外部ディスプレイ２００にデバイス状態を問い合わせ（ステップＳ１０４）、外部ディスプレイ２００からデバイス状態通知を受け取る（ステップＳ１０５）。これにより、情報取得部２２は、外部ディスプレイ２００の接続状態を示す状態情報を取得する。情報取得部２２は、取得した状態情報に基づき、要求元の表示制御部１１に対して、外部ディスプレイ２００のデバイス状態を応答する（ステップＳ１０６）。
【００６０】
これを受けて表示制御部１１は、デバイス状態応答に基づき、内部ディスプレイ１１９と外部ディスプレイ２００との間で表示先を切り換える。
【００６１】
具体的には、表示制御部１１は、受け取ったデバイス状態応答から、外部ディスプレイ２００が表示可能な状態であると判断し、内部ディスプレイ１１９に対して、表示画面の消灯を指示する（ステップＳ１０７）。次に表示制御部１１は、レジストリ９０にアクセスし、状態応答に基づく外部ディスプレイ２００のデバイス状態を書き込む（ステップＳ１０８）。これにより、表示制御部１１は、装置起動時に検知された外部ディスプレイ２００のデバイス状態をレジストリ９０に記憶し、デバイス状態情報の初期値を更新する。次に表示制御部１１は、レジストリ９０へのデバイス状態の書き込みが完了すると、書き込み完了イベントを通知することにより、変倍部１２に対して、外部ディスプレイ２００のデバイス状態の書き込み完了の旨を通知する（ステップＳ１０９）。
【００６２】
表示制御部１１より遅く起動が完了した変倍部１２は、書き込み完了イベント通知を受けて、レジストリ９０から、外部ディスプレイ２００のデバイス状態情報を読み込む（ステップＳ１１０，Ｓ１１１）。つまり、変倍部１２は、書き込み完了イベント通知に従って、レジストリ９０を参照し、デバイス状態を確認する。これにより、変倍部１２は、読み込んだデバイス状態情報に基づき、外部ディスプレイ２００を切り換え後の表示先として特定し、次のような変倍処理を行う。
【００６３】
なお、図４ではステップ１０９により変倍部１２へ完了イベントが通知された時点で、変倍部１２の起動は完了しているが、完了していない場合も考えられる。そのような場合には、変倍部１２は起動が完了していないため、ステップ１０９の通知を受けることはできない。しかし、変倍部１２は起動が完了した後に自発的にレジストリ９０から、外部ディスプレイ２００のデバイス状態情報を読み込む（ステップＳ１１０，Ｓ１１１）。つまり、変倍部１２は、完了イベントの通知を受けなくとも起動完了後にレジストリ９０を参照し、デバイス状態を確認することができる。
【００６４】
変倍部１２は、内部ディスプレイ１１９の表示領域と外部ディスプレイ２００の表示領域の縦比率及び横比率から求めた変倍率に基づき、内部ディスプレイ１１９に表示されていた表示画像を変倍する表示データを生成する（ステップＳ１１２）。このとき変倍部１２は、外部ディスプレイ２００のＵＩ機能で処理可能な言語仕様に従って、表示画像の画像データを埋め込み、画像変倍処理のパラメータ値に変倍率の値を設定した表示データを生成する。具体的には、変倍部１２は、画像変倍処理のパラメータ値に拡大率の値を設定した表示データを生成する。これにより、変倍部１２は、外部ディスプレイ２００の表示領域に従って表示画像を拡大する。
【００６５】
また、表示制御部１１は、外部ディスプレイ２００が表示可能な状態であると判断した場合、情報取得部２２に対して、外部ディスプレイ２００のデバイス性能の問い合わせを要求する（ステップＳ１１３）。情報取得部２２は、外部ディスプレイＩＦ１１８を介して、外部ディスプレイ２００にデバイス性能を問い合わせ（ステップＳ１１４）、外部ディスプレイ２００からデバイス性能通知を受け取る（ステップＳ１１５）。これにより、情報取得部２２は、外部ディスプレイ２００から性能情報を取得する。情報取得部２２は、取得した性能情報に基づき、要求元の表示制御部１１に対して、外部ディスプレイ２００のデバイス性能を応答する（ステップＳ１１６）。
【００６６】
これを受けて表示制御部１１は、デバイス性能応答に含まれる解像度の値に基づき、設定部２３に対して、外部ディスプレイ２００の画面仕様に従った解像度の設定を指示する（ステップＳ１１７）。設定部２３は、表示制御部１１から受け取った解像度の値に基づき、外部ディスプレイ２００の解像度を設定する（ステップＳ１１８）。このとき設定部２３は、外部ディスプレイ２００のＥＤＩＤに含まれる解像度の値に基づき解像度を設定する。
【００６７】
その結果、表示先として切り換えられた外部ディスプレイ２００では、ＵＩ機能により表示データが解釈され、変倍（拡大）された表示画像が表示画面に描画処理される。
【００６８】
このように、本実施形態に係る表示制御機能では、変倍部１２の起動完了が、表示制御部１１より遅い場合であっても、外部ディスプレイ２００の検知結果に基づき、表示先が適切に切り換わる。
【００６９】
《表示制御部１１の起動時間Ａが変倍部１２の起動時間Ｂより長い場合の処理》
図５は、本実施形態に係る表示制御時の処理手順例（その２）を示すシーケンス図である。図５に示すように、本実施形態に係る情報処理装置１００は、電源が投入されると、起動部２１が、装置が起動されたことを検知し（ステップＳ２０１）、表示制御部１１と変倍部１２とに対して、起動を要求する（ステップＳ２０２１，Ｓ２０２２）。なお、本処理例では、起動部２１による機能部の起動が同時に行われた場合の例が示されている。
【００７０】
これを受けて表示制御部１１と変倍部１２とは、起動を開始する。その後、表示制御部１１が、変倍部１２より遅く起動が完了したとする（［Ａ＞Ｂ］）。
【００７１】
先に起動が完了した変倍部１２は、レジストリ９０から、内部ディスプレイ１１９のデバイス状態情報を読み込む（ステップＳ２０３，Ｓ２０４）。本処理例では、このときまだ表示制御部１１が起動中であることから、レジストリ９０のデバイス状態情報は、更新されていない初期値の状態である。よって、この時点では、変倍部１２は、レジストリ９０に初期値として記憶されている内部ディスプレイ１１９のデバイス状態情報を読み込む。
【００７２】
変倍部１２より遅く起動が完了した表示制御部１１は、情報取得部２２に対して、外部ディスプレイ２００のデバイス状態の問い合わせを要求する（ステップＳ２０５）。情報取得部２２は、外部ディスプレイＩＦ１１８を介して、外部ディスプレイ２００にデバイス状態を問い合わせ（ステップＳ２０６）、外部ディスプレイ２００からデバイス状態通知を受け取る（ステップＳ２０７）。これにより、情報取得部２２は、外部ディスプレイ２００の接続状態を示す状態情報を取得する。情報取得部２２は、取得した状態情報に基づき、要求元の表示制御部１１に対して、外部ディスプレイ２００のデバイス状態を応答する（ステップＳ２０８）。
【００７３】
これを受けて表示制御部１１は、デバイス状態応答に基づき、内部ディスプレイ１１９と外部ディスプレイ２００との間で表示先を切り換える。
【００７４】
具体的には、表示制御部１１は、受け取ったデバイス状態応答から、外部ディスプレイ２００が表示可能な状態であると判断し、内部ディスプレイ１１９に対して、表示画面の消灯を指示する（ステップＳ２０９）。次に表示制御部１１は、レジストリ９０にアクセスし、状態応答に基づく外部ディスプレイ２００のデバイス状態を書き込む（ステップＳ２１０）。これにより、表示制御部１１は、装置起動時に検知された外部ディスプレイ２００のデバイス状態をレジストリ９０に記憶し、デバイス状態情報の初期値を更新する。次に表示制御部１１は、レジストリ９０へのデバイス状態の書き込みが完了すると、書き込み完了イベントを通知することにより、変倍部１２に対して、外部ディスプレイ２００のデバイス状態の書き込み完了の旨を通知する（ステップＳ２１１）。
【００７５】
変倍部１２は、書き込み完了イベント通知を受けて、レジストリ９０から、外部ディスプレイ２００のデバイス状態情報を読み込む（ステップＳ２１２，Ｓ２１３）。つまり、変倍部１２は、書き込み完了イベント通知に従って、レジストリ９０を参照し、更新されたデバイス状態を確認する。これにより、変倍部１２は、読み込んだデバイス状態情報に基づき、外部ディスプレイ２００を切り換え後の表示先として特定し、次のような変倍処理を行う。
【００７６】
変倍部１２は、内部ディスプレイ１１９の表示領域と外部ディスプレイ２００の表示領域の縦比率及び横比率から求めた変倍率に基づき、内部ディスプレイ１１９に表示されていた表示画像を変倍する表示データを生成する（ステップＳ２１４）。このとき変倍部１２は、外部ディスプレイ２００のＵＩ機能で処理可能な言語仕様に従って、表示画像の画像データを埋め込み、画像変倍処理のパラメータ値に変倍率の値を設定した表示データを生成する。具体的には、変倍部１２は、画像変倍処理のパラメータ値に拡大率の値を設定した表示データを生成する。これにより、変倍部１２は、外部ディスプレイ２００の表示領域に従って表示画像を拡大する。
【００７７】
また、表示制御部１１は、外部ディスプレイ２００が表示可能な状態であると判断した場合、情報取得部２２に対して、外部ディスプレイ２００のデバイス性能の問い合わせを要求する（ステップＳ２１５）。情報取得部２２は、外部ディスプレイＩＦ１１８を介して、外部ディスプレイ２００にデバイス性能を問い合わせ（ステップＳ２１６）、外部ディスプレイ２００からデバイス性能通知を受け取る（ステップＳ２１７）。これにより、情報取得部２２は、外部ディスプレイ２００から性能情報を取得する。情報取得部２２は、取得した性能情報に基づき、要求元の表示制御部１１に対して、外部ディスプレイ２００のデバイス性能を応答する（ステップＳ２１８）。
【００７８】
これを受けて表示制御部１１は、デバイス性能応答に含まれる解像度の値に基づき、設定部２３に対して、外部ディスプレイ２００の画面仕様に従った解像度の設定を指示する（ステップＳ２１９）。設定部２３は、表示制御部１１から受け取った解像度の値に基づき、外部ディスプレイ２００の解像度を設定する（ステップＳ２２０）。このとき設定部２３は、外部ディスプレイ２００のＥＤＩＤに含まれる解像度の値に基づき解像度を設定する。
【００７９】
その結果、表示先として切り換えられた外部ディスプレイ２００では、ＵＩ機能により表示データが解釈され、変倍（拡大）された表示画像が表示画面に描画処理される。
【００８０】
このように、本実施形態に係る表示制御機能では、変倍部１２の起動完了が、表示制御部１１より速い場合であっても、外部ディスプレイ２００の検知結果に基づき、表示先が適切に切り換わる。
【００８１】
また、本実施形態に係る表示制御機能では、切り換え前に内部ディスプレイ１１９に表示されていた画像が、切り換え後の外部ディスプレイ２００の表示領域に適した大きさに変倍（拡大）され、適切な解像度に従って表示される。
【００８２】
《外部ディスプレイ２００検知時の詳細処理》
図６は、本実施形態に係る外部ディスプレイ２００検知時の処理手順例を示すフローチャートである。図６には、外部ディスプレイ２００の検知後に実行されるデバイス状態情報の書き込みと書き込み完了イベント通知の詳細な処理例が示されている。本例に示す処理は、表示制御部１１が実行する。
【００８３】
図６に示すように、本実施形態に係る表示制御部１１は、検知部１１ａにより、外部ディスプレイ２００の接続が検知されたか否かを判定する（ステップＳ１１）。
【００８４】
その結果、表示制御部１１は、外部ディスプレイ２００の接続が検知されたと判定した場合（ステップＳ１１：ＹＥＳ）、検知された外部ディスプレイ２００のデバイス状態情報を、レジストリ９０に書き込む（ステップＳ１２）。このとき表示制御部１１は、検知された外部ディスプレイ２００からの状態応答に基づくデバイス状態情報を、レジストリ９０に書き込む。これにより、表示制御部１１は、レジストリ９０のデバイス状態情報の初期値（内部ディスプレイ１１９のデバイス状態情報）を、外部ディスプレイ２００のデバイス状態情報で書き換え更新する。
【００８５】
次に表示制御部１１は、レジストリ９０への書き込みが完了すると、検知された外部ディスプレイ２００のデバイス状態情報の書き込みが完了した旨を通知する（ステップＳ１３）。このとき表示制御部１１は、書き込み完了イベントを変倍部１２に通知する。
【００８６】
一方、表示制御部１１は、外部ディスプレイ２００の接続が検知されていないと判定した場合（ステップＳ１１：ＮＯ）、上記ステップＳ１２，Ｓ１３の処理をスキップする。
【００８７】
《変倍時の詳細処理》
図７は、本実施形態に係る変倍時の処理手順例を示すフローチャートである。図７には、外部ディスプレイ２００のデバイス状態情報の書き込み完了後に実行される変倍の詳細な処理例が示されている。本例に示す処理は、変倍部１２が実行する。
【００８８】
図７に示すように、本実施形態に係る変倍部１２は、レジストリ９０へのデバイス状態情報の書き込み完了の旨を表す書き込み完了イベントの通知を受け付けたか否かを判定する（ステップＳ２１）。
【００８９】
その結果、変倍部１２は、書き込み完了イベントの通知を受け付けたと判定した場合（ステップＳ２１：ＹＥＳ）、レジストリ９０を参照し、レジストリ９０に記憶された外部ディスプレイ２００のデバイス状態情報（更新値）を読み込む（ステップＳ２２）。
【００９０】
次に変倍部１２は、読み込んだデバイス状態情報（更新値）に基づき、外部ディスプレイ２００に対応する変倍処理を行う（ステップＳ２３）。このとき変倍部１２は、読み込んだデバイス状態情報に基づき、外部ディスプレイ２００を切り換え後の表示先として特定し、特定した外部ディスプレイ２００に対応するように表示画像の変倍処理を行う。
【００９１】
一方、変倍部１２は、書き込み完了イベントの通知を受け付けていないと判定した場合（ステップＳ２１：ＮＯ）、レジストリ９０を参照し、レジストリ９０に記憶された内部ディスプレイ１１９のデバイス状態情報（初期値）を読み込む（ステップＳ２４）。
【００９２】
次に変倍部１２は、デバイス状態情報を読み込んでから所定の時間が経過したか否かを判定する（ステップＳ２５）。この判定処理は、次のような場面を想定し、内部ディスプレイ１１９を表示先とするための処理である。例えば、表示先として優先する外部ディスプレイ２００が、何らかの原因で検知されなかった場合（表示不可能な場合も含む）、所定の時間以内に、書き込み完了イベントの通知を受け付けなければ、内部ディスプレイ１１９を表示先とするための処理である。なお、所定の時間は、この判定処理を行う期間（書き込み完了イベントを受け付けるまでの期間）を表す値であり、情報処理装置１００に予め設定しておけばよい。
【００９３】
その結果、変倍部１２は、デバイス状態情報を読み込んでから所定の時間が経過していないと判定する間（ステップＳ２５：ＮＯ）、上記ステップＳ２１の処理に移行し、書き込み完了イベントの通知受け付け待ちの状態となる。
【００９４】
一方、変倍部１２は、デバイス状態情報を読み込んでから所定の時間が経過したと判定した場合（ステップＳ２５：ＹＥＳ）、読み込んだデバイス状態情報（初期値）に基づき、内部ディスプレイ１１９に対応する変倍処理を行う（ステップＳ２６）。このとき変倍部１２は、読み込んだデバイス状態情報に基づき、内部ディスプレイ１１９を切り換え後の表示先として特定し、特定した内部ディスプレイ１１９に対応するように表示画像の変倍処理を行う。
【００９５】
＜まとめ＞
以上のように、本実施形態に係る情報処理装置１００によれば、外部ディスプレイ２００の接続状態を検知する。情報処理装置１００は、検知した接続状態に基づき、内部ディスプレイ１１９と外部ディスプレイ２００との間で表示先を切り換え、切り換え後の表示先に相当するディスプレイの画面仕様に従って、表示画面を制御する。このとき情報処理装置１００は、検知モジュールが、検知した外部ディスプレイ２００の接続状態を記憶し、ＵＩモジュールに対して、書き込みが完了した旨を通知する。これにより、情報処理装置１００は、ＵＩモジュールが、書き込み完了の旨の通知を受け付けると、記憶された外部ディスプレイ２００の接続状態を取得し、取得情報に基づき、外部ディスプレイ２００に対応する表示画像の変倍や解像度設定などを行う。
【００９６】
これによって、本実施形態に係る情報処理装置１００は、モジュールの起動完了順に関係なく、外部ディスプレイ２００の検知結果に基づき、表示先を適切に切り換え可能な環境を提供する。その結果、本実施形態に係る情報処理装置１００は、表示制御機能の起動時においても適切な表示切り換えを行うことができる。
【００９７】
なお、上記実施形態では、レジストリ９０にデバイス状態情報を記憶する例を説明したが、この限りでない。デバイス状態情報の記憶領域は、情報を書き込む検知モジュール（表示制御部１１）とその情報を読み込むＵＩモジュール（変倍部１２）とからアクセス可能な所定の記憶領域であればよい。
【００９８】
また、上記実施形態では、ディスプレイなどの表示装置を例に表示制御対象の説明を行ったが、この限りでない。表示制御対象は、例えばＰＣ、スマートフォン、タブレット端末、携帯電話などであってもよい。つまり、表示制御対象は、情報処理装置１００に接続可能であり、表示装置を備えるデバイスであればよい。
【００９９】
また、上記実施形態では、情報処理装置１００の機能が、ソフトウェアの実装により実現する例を説明したが、この限りでない。例えば、情報処理装置１００が有する各機能部の一部又は全部を、ハードウェアの実装により実現してもよい。
【０１００】
また、上記実施形態では、例えば会議サービスにおいて、情報処理装置１００に保存された会議資料を、内部ディスプレイ１１９又は外部ディスプレイ２００に表示させる例について説明を行ったが、この限りでない。例えば、外部機器を情報処理装置１００に接続し、情報処理装置１００が、外部機器から、資料データを表示するための表示データを受信することで、内部ディスプレイ１１９又は外部ディスプレイ２００に表示させてもよい。
【０１０１】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１０２】
１１    表示制御部
１２    変倍部
２１    起動部
２２    情報取得部
２３    設定部
９０    レジストリ（記憶部）
１００  情報処理装置
１１９  内部ディスプレイ
２００  外部ディスプレイ
１０００  情報処理システム
【先行技術文献】
【特許文献】
【０１０３】
【特許文献１】特開２００１−２４９７６号公報
【図１】
2014191099.tif 000003
【図２】
2014191099.tif 000004
【図３】
2014191099.tif 000005
【図４】
2014191099.tif 000006
【図５】
2014191099.tif 000007
【図６】
2014191099.tif 000008
【図７】
2014191099.tif 000009