(57)【要約】【課題】ウィンドウのディスプレイ間移動において、ユーザが移動先ディスプレイ上の表示位置を指定することなく、移動対象ウィンドウの移動後の配置を適切に制御する表示制御装置を提供すること。【解決手段】表示部１００１、入力部１００４、表示制御部１００２、管理部１００５、受信部１００３、送信部１００６、レイアウト判定部１００７、レイアウト記憶部１００８を備え、レイアウト記憶部１００８が、前記ディスプレイ上に表示する各ウィンドウの表示位置と表示サイズからなる一つ以上の表示領域を定めたレイアウトパターンを保持し、レイアウト判定部１００７が、レイアウトパターンを用いて、移動ウィンドウを表示可能な表示領域を判定し、表示制御部１００２が、レイアウト判定部が決定した表示位置に、移動ウィンドウを配置した表示データを生成する。【選択図】図３
2014026357.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイへの表示を制御する表示制御装置であって、
当該表示制御装置が管理する表示対象のデータを、前記ディスプレイに表示するための仮想領域であるウィンドウ単位で管理する管理情報を保持する管理部と、
他の表示制御装置が管理している移動ウィンドウを受信する受信部と、
前記ディスプレイ上に表示する各ウィンドウの表示位置と表示サイズからなる一つ以上の表示領域を定め、前記表示領域が、前記移動ウィンドウの表示可否を示す情報を含むレイアウトパターンを一つ以上保持するレイアウト記憶部と、
前記管理情報と、前記レイアウト記憶部が保持した前記レイアウトパターンを用いて、前記移動ウィンドウを表示可能な表示領域を判定し、前記移動ウィンドウの表示位置を決定するレイアウト判定部と、
前記レイアウト判定部が決定した表示位置に従って、前記表示位置に前記移動ウィンドウを配置した表示データを生成する表示制御部と、
前記表示制御部が生成した前記表示データを、前記ディスプレイに出力する表示部と
を備えることを特徴とする表示制御装置。
【請求項２】
前記レイアウト記憶部は、前記レイアウトパターンを複数個保持し、
前記レイアウト判定部は、前記複数のレイアウトパターンのうち、現在使用中のレイアウトパターン上に、前記移動ウィンドウを表示できないと判定した場合に、前記複数のレイアウトパターンの中から他のレイアウトパターンを選択し、前記他のレイアウトパターンを用いて、前記移動ウィンドウを表示可能な表示領域を判定し、前記移動ウィンドウの表示位置を決定することを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記移動ウィンドウは、現在の表示サイズと異なる表示可能サイズを有し、
前記レイアウト判定部は、前記レイアウトパターン上に、前記移動ウィンドウを、前記現在の表示サイズでは表示できないと判定した場合に、前記表示可能サイズの中から、前記レイアウトパターン上に表示できるサイズを選択し、前記移動ウィンドウの表示位置と表示サイズを決定し、
前記表示制御部は、前記レイアウト判定部が決定した前記表示サイズに合わせて、前記移動ウィンドウのサイズを変更することを特徴とする請求項１に記載の表示制御装置。
【請求項４】
当該表示制御装置を備えたシステムの状態を取得し、システム状態の変化を検出する状態取得部と、
前記状態取得部が取得したシステム状態に応じて、前記管理部に保持されている前記ウィンドウに対する前記管理情報を変更する変更部を備え、
前記レイアウト判定部は、前記変更部により、前記管理情報が変更された変更ウィンドウに対して、表示可能な表示領域を判定し、前記変更ウィンドウの表示位置を再決定し、
前記表示制御部は、前記レイアウト判定部が再決定した表示位置に従って、前記表示位置に前記変更ウィンドウを配置した表示データを生成することを特徴とする請求項１に記載の表示制御装置。
【請求項５】
レイアウト判定部が、前記移動ウィンドウを表示できないとの判定した場合に、前記表示制御部は、前記移動ウィンドウを、移動元である前記他の表示制御装置へ送り返すことを特徴とする請求項１に記載の表示制御装置。
【請求項６】
第１ディスプレイへの表示を制御する第１表示制御装置と、第２ディスプレイへの表示を制御する第２表示制御装置とを備えた表示制御システムであって、
前記第１表示制御装置は、
当該第１表示制御装置が管理する表示対象のデータを、前記第１ディスプレイに表示するための仮想領域であるウィンドウ単位で管理する管理情報を保持する第１管理部と、
前記第２表示制御装置へ移動ウィンドウを送信する送信部と、
送信した前記移動ウィンドウを含まない表示データを生成し、前記第１ディスプレイ上で前記移動ウィンドウを非表示とする第１表示制御手段と、
前記第１表示制御手段が生成した前記表示データを、前記第１ディスプレイに出力する第１表示部を備え、
前記第２表示制御装置は、
当該第２表示制御装置が管理する表示対象のデータを、前記第２ディスプレイに表示するための仮想領域であるウィンドウ単位で管理する管理情報を保持する第２管理部と、
前記第１表示制御装置が送信した前記移動ウィンドウを受信する受信部と、
前記第２ディスプレイ上に表示する各ウィンドウの表示位置と表示サイズからなる一つ以上の表示領域を定め、前記表示領域が、前記移動ウィンドウの表示可否を示す情報を含むレイアウトパターンを一つ以上保持するレイアウト記憶部と、
前記第２管理部が保持する前記管理情報と、前記レイアウト記憶部が保持した前記レイアウトパターンを用いて、前記移動ウィンドウを表示可能な表示領域を判定し、前記移動ウィンドウの表示位置を決定するレイアウト判定部と、
前記レイアウト判定部が決定した表示位置に従って、前記表示位置に前記移動ウィンドウを配置した表示データを生成する第２表示制御手段と、
前記第２表示制御部が生成した前記表示データを、前記第２ディスプレイに出力する第２表示部を備え、
前記第１ディスプレイ上に表示していた前記移動ウィンドウを、前記第２ディスプレイ上に移動して表示することを特徴とする表示制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイ上に表示データを表示する表示制御装置に関し、特に、複数のディスプレイを備えたシステムにおいて、複数のディスプレイ間で移動したデータの表示位置を制御する表示制御装置に関するものである。
【背景技術】
【０００２】
従来の複数のディスプレイを備えたシステムとしては、ネットワークで接続された複数の端末間で画面を共有して表示するシステムがあった（例えば、特許文献１参照）。
【０００３】
前記特許文献１に記載されたシステムでは、第１のディスプレイに表示されているウィンドウ（画面）を操作して、第１のディスプレイから第２のディスプレイに移動していた。具体的には、ユーザが、自分の端末に表示されている画面をドラッグして、他のディスプレイ上に移動することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２９３２８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の構成では、ユーザが第１のディスプレイから第２のディスプレイへウィンドウを移動操作する際に、第２のディスプレイ上の表示位置（移動後の表示位置）を指示する必要があり、操作が煩雑になる課題を有していた。移動先である第２のディスプレイ上において、既に他のウィンドウが表示されている場合、移動対象ウィンドウの表示位置によっては、必要な情報が見えにくくなる。このため、移動操作において、必要な情報が適切に表示されるように、移動後の表示位置を指定する必要があった。
【０００６】
本発明は、前記従来の課題を解決するもので、ウィンドウのディスプレイ間移動において、ユーザが移動先ディスプレイ上の表示位置を指定することなく、移動対象ウィンドウの移動後の配置を適切に制御する表示制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記従来の課題を解決するために、本発明の表示制御装置は、ディスプレイへの表示を制御する表示制御装置であって、当該表示制御装置が管理する表示対象のデータを、前記ディスプレイに表示するための仮想領域であるウィンドウ単位で管理する管理情報を保持する管理部と、他の表示制御装置が管理している移動ウィンドウを受信する受信部と、前記ディスプレイ上に表示する各ウィンドウの表示位置と表示サイズからなる一つ以上の表示領域を定め、前記表示領域が、前記移動ウィンドウの表示可否を示す情報を含むレイアウトパターンを一つ以上保持するレイアウト記憶部と、前記管理情報と、前記レイアウト記憶部が保持した前記レイアウトパターンを用いて、前記移動ウィンドウを表示可能な表示領域を判定し、前記移動ウィンドウの表示位置を決定するレイアウト判定部と、前記レイアウト判定部が決定した表示位置に従って、前記表示位置に前記移動ウィンドウを配置した表示データを生成する表示制御部と、前記表示制御部が生成した前記表示データを、前記ディスプレイに出力する表示部とを備える。
【０００８】
本構成によって、ディスプレイ上のウィンドウ配置を定めたレイアウトパターンを予め保持し、このレイアウトパターンを用いて、移動対象ウィドウを表示する表示位置を決定することができる。
【発明の効果】
【０００９】
本発明の表示制御装置によれば、ウィンドウのディスプレイ間移動操作において、ユーザが移動先ディスプレイ上での表示位置を指定することなく、移動対象ウィンドウの移動後の配置を適切に制御することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態における複数の情報処理装置を備えた表示制御システムの構成の一例を示す図
【図２】本発明の実施の形態における表示制御装置を備えた情報処理装置のハードウェア構成の一例を示す図
【図３】本発明の実施の形態における表示制御装置の構成の一例を示すブロック図
【図４】本発明の実施の形態におけるウィンドウの管理情報の一例を示す図
【図５】本発明の実施の形態におけるレイアウトパターンの一例を示す図
【図６】本発明の実施の形態における表示制御装置が新たにウィンドウを表示する動作の一例を示すフローチャート
【図７】本発明の実施の形態におけるレイアウト判定部がウィンドウ表示領域を判定する動作の一例を示すフローチャート
【図８】本発明の実施の形態におけるディスプレイ上に表示する画面イメージの一例を示す図
【図９】本発明の実施の形態における複数のディスプレイ上に表示する画面イメージの一例を示す図
【図１０】本発明の実施の形態における複数のディスプレイ上に表示する画面イメージの一例を示す図
【図１１】本発明の実施の形態における表示制御装置の構成の一例を示すブロック図
【図１２】本発明の実施の形態における表示制御装置がシステム状態変更によりウィンドウを再表示する動作の一例を示すフローチャート
【図１３】本発明の実施の形態における変更部が保持する設定条件の一例を示す図
【発明を実施するための形態】
【００１１】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１２】
（実施の形態１）
図１は、複数の情報処理装置を備えた表示制御システムの構成の一例を示す図である。各情報処理装置は、本発明の表示制御装置を備え、自装置が表示を制御するディスプレイと、他情報処理装置が表示を制御する他ディスプレイとの間で、移動したデータの表示位置を制御する機能を有している。
【００１３】
図１において、情報処理装置１は、ディスプレイ（表示装置）３と接続している。情報処理装置１は、ユーザに提示する内容を、表示データとしてディスプレイ３へ出力し、ディスプレイ３の表示を制御する。情報処理装置１は、ディスプレイ３上に表示するデータを管理する単位をウィンドウとし、ウィンドウ単位で、ディスプレイ上の移動操作を可能とする。
【００１４】
情報処理装置２は、ディスプレイ（表示装置）４と接続している。情報処理装置２は、ユーザに提示する内容を、表示データとしてディスプレイ４へ出力し、ディスプレイ４の表示を制御する。情報処理装置２は、ディスプレイ４上に表示するデータを管理する単位をウィンドウとし、ウィンドウ単位で、ディスプレイ上の移動操作を可能とする。
【００１５】
情報処理装置１と情報処理装置２とは、ネットワーク５を介して接続している。
【００１６】
ネットワーク５は、有線回線でも無線回線でもよく、また、この両方の組み合わせであってもよい。ネットワーク５は、ＬＡＮなどのローカルネットワークであってもよい。ネットワーク５は、バス型配線で直結していてもよい。また、ネットワーク５は、シリアル通信、または、ＵＳＢなどを用いてもよい。
【００１７】
情報処理装置１と情報処理装置２は、ディスプレイ３とディスプレイ４間の、ウィンドウ移動において、ネットワーク５を介して、移動対象ウィンドウの情報を送受信し、表示を制御する。
【００１８】
ディスプレイ３とディスプレイ４の物理的な設置位置は、一人のユーザが、二つのディスプレイを操作可能であって、目視可能であればよい。つまり、ディスプレイ３とディスプレイ４は、隣接して配置する。また、ディスプレイ３とディスプレイ４は、この二つの間に、他の装置を設置する、または、空間を空けて設置するなど、離れた位置に配置する。
【００１９】
本発明の表示制御システムは、車載システムであって、複数のディスプレイを備え、ユーザに提示する内容を表示データとして出力し、複数のディスプレイ上に表示する。また、本発明の表示制御システムは、複数の家電機器を組み合わせたホームネットワークシステムである。また、本発明の表示制御システムは、複数のＡＶ機器を組み合わせたＡＶシステムである。また、本発明の表示制御システムは、タブレット端末または携帯電話などの移動可能な端末を含む複数の機器を組み合わせたシステムである。
【００２０】
図２は、本発明の実施の形態における表示制御装置を備えた情報処理装置のハードウェア構成を示す図である。情報処理装置は、車載端末や、ＡＶ機器、家電機器、タブレット端末、携帯電話、携帯情報端末などである。
【００２１】
情報処理装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理部）１０、メモリ装置２０、ハードディスク装置２５、読取書込装置３２、入力装置４０、表示装置４５を備えている。これらの装置は、バスライン５０を通じて互いに接続されている。ハードディスク装置２５、読取書込装置３２、入力装置４０及び表示装置４５は、それぞれ、インタフェース２６、３５、４１及び４６を通じてバスライン５０に接続される。また、情報処理装置は、インタフェース３０を介して、図１のネットワーク５に接続する。
【００２２】
ＣＰＵ１０は、単一のＣＰＵで構成されてもよく、複数のＣＰＵで構成されてもよい。図１は、単一のＣＰＵ１０を有する例を示している。
【００２３】
メモリ装置２０は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２を備えている。ＲＯＭ２１は、ＣＰＵ１０の動作を規定するコンピュータプログラム及びデータを記憶している。コンピュータプログラム及びデータは、ハードディスク装置２５に記憶させることもできる。ＣＰＵ１０は、ＲＯＭ２１又はハードディスク装置２５が格納するコンピュータプログラム及びデータを、必要に応じてＲＡＭ２２に書き込みつつ、コンピュータプログラムが規定する処理を実行する。ＲＡＭ２２は、ＣＰＵ１０が処理を実行するのに伴って発生するデータを一時的に記憶する媒体としても機能する。メモリ装置２０は、フラッシュメモリなど、書き込みが可能で、電源を切っても記憶内容を保持できる不揮発性のメモリと記憶媒体含んでいる。
【００２４】
ハードディスク装置２５は、コンピュータプログラム、コンテンツデータを記録保持する装置である。このコンテンツデータは、例えば、情報処理装置がナビゲーション機能を有する場合、地図データである。また、このコンテンツデータは、例えば、情報処理装置が音楽再生機能を有する場合、音楽データである。なお、このコンテンツデータは、ＲＡＭ２２（不揮発性メモリ）に記録してもよい。
【００２５】
読取書込装置３２は、可搬型記録媒体３１（例えば、ＳＤ、ＣＤ、ＢＤ、メモリカードなど）に記録されたコンテンツを含むデータを書き込み及び読み取る装置である。
【００２６】
入力装置４０は、ユーザからの入力を受け付け、操作入力信号として出力する装置であり、例えば、タッチパネル、入力ボタン、操作キー、キーボード、マウスである。また、入力装置４０は、リモートコントロール装置であってもよく、この場合、入力装置４０は、バスライン５０とは直結していないことになる。また、センサ装置であって、ユーザからの非接触な操作（ジェスチャなど）で入力を受け付けてもよい。
【００２７】
表示装置４５は、ユーザに通知する表示データを表示する装置であり、図１のディスプレイ３、４に相当する。表示装置４５は、例えばＬＣＤ（Ｌｉｇｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ；液晶表示器）である。
【００２８】
以上のように、情報処理装置は、コンピュータとして構成されている。上記コンピュータプログラムは、ＲＯＭ２１、ハードディスク装置２５、不図示のフレキシブルディスク、可搬型記録媒体３１を通じて供給することも、ネットワーク５等の伝送媒体を通じて供給することも可能である。例えば、可搬型記録媒体３１に記録されたコンピュータプログラムは、読取書込装置３２を情報処理装置へ接続することで、読み出すことができる。また、読み出したコンピュータプログラムを、ＲＡＭ２２あるいはハードディスク装置２５に格納することができる。
【００２９】
プログラム記録媒体としてＲＯＭ２１からコンピュータプログラムが供給される場合には、当該ＲＯＭ２１を情報処理装置に搭載することにより、ＣＰＵ１０は上記コンピュータプログラムに従った処理を実行可能となる。ネットワーク５等の伝送媒体を通じて供給されるコンピュータプログラムは、インタフェース３０を通じて受信され、例えば、ＲＡＭ２２あるいはハードディスク装置２５に格納される。伝送媒体は、有線の伝送媒体に限られず、無線の伝送媒体であってもよい。
【００３０】
なお、図２では、情報処理装置は、入力装置４０と表示装置４５を含む構成としたが、情報処理装置には通信ポートだけを設け、入力装置４０または表示装置４５を含まない構成でもよい。この場合、情報処理装置は、入力装置４０または表示装置４５を外付けする構成となる。
【００３１】
以下、情報処理装置は、入力装置がタッチパネルである車載端末であり、表示制御システムは、二つの情報処理端末からなる車載システムであるとして説明する。
【００３２】
図３は、本発明の実施の形態における表示制御装置の構成を示すブロック図である。表示制御装置は、図２に示すメモリ装置２０を用いてＣＰＵ１０で動作するプログラムである。
【００３３】
表示制御装置１０００は、情報処理装置で動作する一つ以上のアプリケーションプログラムが出力する内容（ユーザに提示する内容）を、表示データとしてディスプレイへ出力し、ディスプレイの表示を制御する。表示制御装置１０００は、ディスプレイ上に表示するデータを、表示するための仮想領域であるウィンドウ単位で管理する。表示制御装置１０００は、一つのアプリケーションに対し、一つのウィンドウを対応付け、当該アプリケーションプログラムが出力する内容を、対応付けられたウィンドウ（仮想領域）上に描画する。表示制御装置１０００は、管理している各ウィンドウに対し、ディスプレイ上の表示位置と表示サイズを決定し、決定した表示位置にウィンドウを配置した表示データを出力することで、ディスプレイ上への表示を制御する。なお、表示制御装置１０００は、一つのアプリケーションに対し、二つ以上のウィンドウを対応付けてもよい。また、表示制御装置１０００は、ウィンドウ単位で、ディスプレイ上の移動操作を可能とする。
【００３４】
表示制御装置１０００は、表示部１００１、入力部１００４、表示制御部１００２、管理部１００５、受信部１００３、送信部１００６、レイアウト判定部１００７、レイアウト記憶部１００８を備える。
【００３５】
表示部１００１は、表示制御部１００２の指示に従って、ディスプレイ（図２の表示装置４５、図１のディスプレイ）に、表示データを出力することで、ディスプレイ上に表示データを表示する。
【００３６】
入力部１００４は、図２の入力装置４０から出力された操作入力信号を受信し、ユーザの操作情報を表示制御部１００２へ通知する。前述したとおり、入力装置４０が、ユーザからの入力を受付、操作入力信号として、入力部１００４に、出力する。
【００３７】
表示制御部１００２は、入力部１００４から通知されたユーザの操作情報に従って、管理している各ウィンドウに対し、ディスプレイ上の表示位置と表示サイズを決定する。表示制御部１００２は、決定した表示位置にウィンドウを配置した表示データを生成することで、表示部１００１により出力する表示データの内容を制御する。なお、表示制御部１００２は、新しいウィンドウを生成して表示する前に、レイアウト判定部１００７に問合せて、新しいウィンドウを含む表示対象ウィンドウの、ディスプレイ上の表示位置と表示サイズを決定する。
【００３８】
また、表示制御部１００２は、入力部１００４から通知されたユーザの操作情報から、管理しているウィンドウの表示位置が、ディスプレイの表示領域の外に移動したと決定した場合、ディスプレイ間移動の処理を行う。まず、表示制御部１００２は、移動対象ウィンドウの移動を、移動先である他の表示制御装置に通知するよう、送信部１００６へ要求する。次に、表示制御部１００２は、移動対象ウィンドウを含まない表示データを生成し、生成した表示データの出力を、表示部１００１へ要求する。なお、表示制御部１００２は、移動対象ウィンドウを含まない表示データを生成する前に、レイアウト判定部１００７に問合せて、移動対象ウィンドウを含まない他ウィンドウの、ディスプレイ上の表示位置と表示サイズを再決定してもよい。
【００３９】
また、表示制御部１００２は、受信部１００３を介し、他の表示制御装置からの、ウィンドウの移動の通知を受け取る。表示制御部１００２は、他の表示制御装置が管理しているウィンドウの表示位置が、自装置が管理するディスプレイの表示領域内に移動したとして、ディスプレイ間移動の処理を行う。まず、表示制御部１００２は、移動元である他の表示制御装置からのウィンドウ移動の通知を、受信部１００３から受け取る。次に、表示制御部１００２は、移動ウィンドウを表示する表示位置を、レイアウト判定部１００７に問合せる。次に、表示制御部１００２は、レイアウト判定部１００７が判定した結果を受け取り、移動ウィンドウに対し、ディスプレイ上の表示位置と表示サイズを決定する。表示制御部１００２は、決定した表示位置に移動ウィンドウを配置した表示データを生成することで、表示部１００１により出力する表示データの内容を制御する。
【００４０】
管理部１００５は、表示制御装置１０００が管理するウィンドウに対する管理情報を保持する。表示制御装置１０００は、ディスプレイ上に表示するデータを、表示するための仮想領域であるウィンドウ単位で管理する。また、ウィンドウに対応する描画バッファを備え、アプリケーションプログラムが出力する内容（ユーザに提示する内容）を、描画データとして保持する。
【００４１】
図４は、管理部１００５が保持するウィンドウの管理情報の一例を示す。図４に示すように、ウィンドウの管理情報は、サイズ、ウィンドウ生成元、操作可否、表示可能サイズ、表示優先度を備える。
【００４２】
管理情報におけるサイズは、現在ディスプレイ上に表示されている表示サイズである。他の装置から通知された移動ウィンドウの場合、管理情報におけるサイズは、移動元のディスプレイ上での表示サイズを初期値とする。新規にウィンドウを作成した場合、アプリケーションが生成時に指定した表示サイズを初期値とする。また、表示した後に、ユーザの操作などにより、表示中ウィンドウのサイズを変更した場合、管理情報におけるサイズは、変更後の表示サイズとなる。管理情報におけるウィンドウ生成元は、ウィンドウが、他の装置から移動したウィンドウか否かを示す情報である。管理情報における操作可否は、ウィンドウが、入力部１００４を介して、ユーザが操作可能か否かを示す情報である。例えば、メニュー画面のウィンドウは、ユーザが操作できるため、管理情報における操作可否は「可」となる。ガソリン残量または速度メーターの表示画面は、ユーザが操作できないため、管理情報における操作可否は「不可」となる。管理情報における表示可能サイズは、ウィンドウが、ディスプレイ上に表示できるサイズを示す情報である。管理情報における表示可能サイズは、現在の表示サイズ（管理情報におけるサイズ）以外にも、他のサイズで表示可能であれば、一つ以上の表示可能サイズを保持する。管理情報における表示優先度は、ウィンドウが、どのくらいの優先度でディスプレイ上に表示するべきかを示す情報である。例えば、警告通知のウィンドウは、ユーザにとって重要な表示である程、管理情報における表示優先度は、高くなる。ディスプレイの表示領域の面積が、同時に全てのウィンドウ表示できない大きさの場合、表示制御部１００２は、優先度の高いウィンドウから順に、表示対象として、表示データを生成する。
【００４３】
レイアウト記憶部１００８は、ディスプレイ上のウィンドウ配置を定めた一つ以上のレイアウトパターンを予め保持する。レイアウトパターンは、ディスプレイ上に表示するウィンドウの表示位置と表示サイズからなる一つ以上の表示領域を定める。
【００４４】
図５は、レイアウト記憶部１００８が保持するレイアウトパターンの一例を示す。図５に示すように、レイアウトパターンは、ウィンドウを表示するための領域を１つ以上有し、各領域に対して、ディスプレイ上の表示位置、表示サイズ、及び、他装置からの移動ウィンドウの表示可／不可、ユーザによるウィンドウ操作の可／不可を示す情報を備える。図５（Ａ）に示したレイアウトパターン１は、３個のウィンドウを配置したレイアウトパターンであり、領域１と領域３に、他装置からの移動ウィンドウを表示可能である。図５（Ｂ）に示したレイアウトパターン２は、４個のウィンドウを配置したレイアウトパターンであり、領域１と領域３と領域４に、他装置からの移動ウィンドウを表示可能である。
【００４５】
レイアウト判定部１００７は、自装置で新しいウィンドウを表示する際、及び、他装置からの移動ウィンドウを表示する際、表示制御部１００２から、問合せを受ける。レイアウト判定部１００７は、ウィンドウの管理情報を用いて、レイアウト記憶部１００８に保持したレイアウトパターンから、どのレイアウトパターンのどの領域に、新しいウィンドウまたは移動ウィンドウを配置するかを判定する。レイアウト判定部１００７は、判定結果を、表示制御部１００２へ通知する。より具体的には、まず、レイアウト判定部１００７は、新しいウィンドウまたは移動ウィンドウの管理情報を元に、現在使用中のレイアウトパターンにおいて、新しいウィンドウまたは移動ウィンドウを表示できる領域を選択する。レイアウト判定部１００７は、判定結果を、表示制御部１００２へ通知する。一方、レイアウト判定部１００７は、現在使用中のレイアウトパターンにおいてどの領域にも表示できないと判定した場合、レイアウト記憶部１００８に保持したレイアウトパターンの中から、他のレイアウトパターンを選択する。選択する他のレイアウトパターンとは、現在表示中である全てのウィンドウと新しいウィンドウまたは移動ウィンドウを表示できるレイアウトパターンである。レイアウト判定部１００７が、判定結果を、表示制御部１００２へ通知することで、表示制御部１００２は、新しいレイアウトパターンに切り替えて、各ウィンドウを配置した表示データを生成する。なお、レイアウト記憶部１００８に保持したレイアウトパターンの中から、適切なレイアウトパターンを選択できない場合、レイアウト判定部１００７は、判定結果としてエラーを、表示制御部１００２へ通知する。
【００４６】
図６は、本発明の実施の形態における表示制御装置が、新たにウィンドウを表示する動作の一例を示すフローチャートである。表示制御装置は、自装置でアプリケーションが新しいウィンドウを表示する、または、他装置から移動ウィンドウが通知された場合に、処理を開始する。
【００４７】
まず、表示制御部１００２は、新たに表示するウィンドウが、自装置のアプリケーションが表示する新しいウィンドウか、受信部１００３を介して他装置から通知された移動ウィンドウかを判定する（Ｓ６０１）。自装置のウィンドウの場合（Ｓ６０１がＮＯ）、表示制御部１００２は、自装置のアプリケーションからの指示に従い、新しいウィンドウを生成する（Ｓ６０２）。表示制御部１００２は、新たに表示するウィンドウが、他装置から通知された移動ウィンドウでないことを、ウィンドウの管理情報として設定する。一方、他装置から通知された移動ウィンドウの場合（Ｓ６０１がＹＥＳ）、受信部１００３が受信したウィンドウをそのまま利用し、ウィンドウ生成処理は省略する。表示制御部１００２は、新たに表示するウィンドウが、他装置から通知された移動ウィンドウであることを、ウィンドウの管理情報として設定する。
【００４８】
次に、表示制御部１００２は、レイアウト判定部１００７に、新たに表示するウィンドウの情報を通知して、問い合わせる。レイアウト判定部１００７は、新たに表示するウィンドウの表示領域を判定する（Ｓ６０３）。ウィンドウ表示領域の判定処理は、後述するため、ここでは詳細な説明を省略する。
【００４９】
次に、レイアウト判定部１００７は、新たに表示するウィンドウの表示領域を判定した結果を、表示制御部１００２に通知する。表示制御部１００２は、通知された判定結果から、ウィンドウが表示可能か否かを判定する（Ｓ６０４）。ウィンドウが表示可能な場合は（Ｓ６０４がＹＥＳ）、表示制御部１００２は、レイアウトパターンが変更されたか否かを判定する（Ｓ６０５）。レイアウト判定部１００７から通知された判定結果が、エラーの場合、表示制御部１００２は、表示不可能と判定する。レイアウト判定部１００７から通知された判定結果が、新たに表示するウィンドウの表示領域をのみを指定する場合、レイアウトパターンは変更していない。レイアウト判定部１００７から通知された判定結果が、新たに表示するウィンドウを含む、全てのウィンドウの表示領域を指定する場合、レイアウトパターンは変更した。
【００５０】
レイアウトパターンが変更していない場合（Ｓ６０５がＮＯ）、表示制御部１００２は、判定結果の、新たに表示するウィンドウの表示位置と表示サイズに従って、指定された領域に、新たに表示するウィンドウを配置した表示データを生成する。表示制御部１００２は、生成した表示データを表示部１００１に出力することで、ウィンドウを表示する（Ｓ６０６）。
【００５１】
なお、レイアウト判定部１００７に問合せる前の、ウィンドウの表示サイズと、レイアウト判定部１００７からの判定結果として通知された表示サイズが異なる場合には、ウィンドウのサイズ変更が必要となる。表示制御部１００２は、レイアウト判定部１００７から通知された表示サイズに合わせて、表示データを生成する。
【００５２】
一方、レイアウトパターンが変更した場合（Ｓ６０５がＹＥＳ）、表示制御部１００２は、判定結果として、新たに表示するウィンドウを含む、全てのウィンドウの表示位置と表示サイズを受け取る。表示制御部１００２は、判定結果に従って、指定された領域に、全てのウィンドウを配置した表示データを生成する。表示制御部１００２は、生成した表示データを表示部１００１に出力することで、ウィンドウを表示する（Ｓ６０７）。
【００５３】
なお、レイアウト判定部１００７に問合せる前の、ウィンドウの表示サイズと、レイアウト判定部１００７からの判定結果として通知された表示サイズが変化した場合には、ウィンドウのサイズ変更が必要となる。表示制御部１００２は、レイアウト判定部１００７から通知された表示サイズに合わせて、表示データを生成する。
【００５４】
一方、ウィンドウが表示不可能（判定結果がエラー）の場合（Ｓ６０４がＮＯ）、表示制御部１００２は、ユーザへ、ウィンドウが表示できない旨を通知する（Ｓ６０８）。例えば、入力部１００４を介して、ユーザの入力操作を受け取り、自装置のアプリケーションが新しくウィンドウを表示するよう指示された場合で、表示エラーの場合がある。表示制御部１００２は、表示部１００１を介して、「指定されたウィンドウは現在表示できません」といった旨のメッセージを、ディスプレイ上に表示する。また、受信部１００３を介して他装置から移動ウィンドウが通知された場合で、表示エラーの場合がある。表示制御部１００２は、移動元である他の表示制御装置に、移動不可である旨を通知する。移動不可である旨の通知を受けた移動元の表示制御装置は、自身の表示部１００１を介して、「指定されたウィンドウは現在移動できません」といった旨のメッセージを、ディスプレイ上に表示する。また、移動元の表示制御装置は、移動対象ウィンドウを、移動前の表示状態に戻す。
【００５５】
なお、本実施の形態では、他の表示制御装置からウィンドウが移動される場合、ウィンドウそのものを通知することで、移動先の表示制御装置でのウィンドウ生成処理を省略するものとした。通信量削減などの観点から、ウィンドウ生成に必要な情報のみを通知し、移動先の表示制御装置が、通知された情報を元に、移動ウィンドウを生成するようにしてもよい。
【００５６】
図７は、本発明の実施の形態におけるレイアウト判定部１００７が、ウィンドウの表示領域を判定する動作（図６のＳ６０３の詳細）の一例を示すフローチャートである。レイアウト判定部１００７は、表示制御部１００２から問合せを受け、ウィンドウの表示位置と表示サイズを決定する処理を開始する。
【００５７】
まず、レイアウト判定部１００７は、表示制御部１００２から、新たに表示するウィンドウの情報を取得する（Ｓ７０１）。このウィンドウの情報とは、管理部１００５が保持するウィンドウの管理情報と同じであり、ウィンドウのサイズ、ウィンドウ生成元、操作可否、表示可能サイズ、表示優先度を備える。
【００５８】
次に、レイアウト判定部１００７は、現在使用中のレイアウトパターンにおいて、新たに表示するウィンドウが表示できる領域があるか否かを判定する（Ｓ７０２）。レイアウト判定部１００７は、新たに表示するウィンドウの情報（サイズ、ウィンドウ生成元、操作可否、表示可能サイズ）と、現在使用中のレイアウトパターン上の、各領域の情報を比較する。レイアウトパターン上の、各領域の情報とは、図５に一例を示した通り、サイズ、他装置からのウィンドウ表示可否、操作可否を備える。レイアウト判定部１００７は、現在使用中のレイアウトパターン上の領域から、新たに表示するウィンドウの情報を表示可能な領域を、検出する。なお、レイアウト判定部１００７は、現在使用中のレイアウトパターンにおいて、他装置からのウィンドウ表示可の領域は、ウィンドウ生成元が自装置でも他装置でも表示可能と判定する。また、レイアウト判定部１００７は、現在使用中のレイアウトパターンにおいて、操作可の領域は、操作可能なウィンドウでも操作不可能なウィンドウでも表示可能と判定する。また、レイアウト判定部１００７は、現在使用中のレイアウトパターンにおいて、領域のサイズが、新たに表示するウィンドウのサイズと不位置の場合でも、表示可能サイズの中の一つと一致する場合には、表示可能と判定する。
【００５９】
次に、検出した領域がある場合、レイアウト判定部１００７は、検出した領域に現在表示されているウィンドウの管理情報（優先度）と、新たに表示するウィンドウの情報（優先度）と比較する。現在表示されているウィンドウの優先度が、新たに表示するウィンドウの優先度より高ければ、その領域に、新たに表示するウィンドウを表示できないとして、他の領域を検索する。検索した結果、他に検出した領域がある場合、レイアウト判定部１００７は、再度優先度の比較を行う。他に検出した領域がない場合、レイアウト判定部１００７は、新たに表示するウィンドウを表示できる領域がないと判定する。現在表示されているウィンドウの優先度が、新たに表示するウィンドウの優先度より低い、もしくは同じであれば、その領域を選択し、新たに表示するウィンドウの表示領域として決定する。レイアウト判定部１００７は、新たに表示するウィンドウの表示領域を決定すると、表示できる領域があると判定する。
【００６０】
レイアウト判定部１００７は、現在使用中のレイアウトパターンにおいて、新たに表示するウィンドウを表示できる領域があると判定した場合（Ｓ７０２がＹＥＳ）、判定結果を、表示制御部１００２に通知する（Ｓ７０３）。レイアウト判定部１００７は、判定結果として、決定した領域の表示サイズと表示位置を、通知する。
【００６１】
レイアウト判定部１００７は、現在使用中のレイアウトパターンにおいて、新たに表示するウィンドウを表示できる領域がないと判定した場合（Ｓ７０２がＮＯ）、他に適切なレイアウトパターンが存在するかを判定する（Ｓ７０４）。まず、レイアウト判定部１００７は、レイアウト記憶部１００８に保持したレイアウトパターンの中からレイアウトパターンを選択する。レイアウト判定部１００７は、選択したレイアウトパターンに対して、Ｓ７０２と同様の手順で、新たに表示するウィンドウが表示できる領域があるか否かを判定する。表示できる領域があると判定した場合に、その選択したレイアウトパターンを、現在表示中である全てのウィンドウと、新たに表示するウィンドウとを表示できるレイアウトパターンとして決定する。レイアウト判定部１００７は、レイアウトパターンを決定すると、全てのウィンドウを表示でききるレイアウトパターンがあると判定する。
【００６２】
全てのウィンドウを表示できるレイアウトパターンがあると判定した場合（Ｓ７０４がＹＥＳ）、レイアウト判定部１００７は、決定したレイアウトパターンを、現在のレイアウトパターンとして、レイアウトパターンを変更する（Ｓ７０５）。
【００６３】
レイアウト判定部１００７は、変更後のレイアウトパターンに対応する判定結果を、表示制御部１００２に通知する（Ｓ７０６）。レイアウト判定部１００７は、判定結果として、レイアウトパターンの判定過程で対応づけられた領域に基づいて、現在表示中である全てのウィンドウと、新たに表示するウィンドウの、表示サイズと表示位置を、通知する。
【００６４】
全てのウィンドウを表示できるレイアウトパターンがないと判定した場合（Ｓ７０４がＮＯ）、レイアウト判定部１００７は、判定結果としてエラー（ウィンドウが表示不可能）を、表示制御部１００２へ通知する（Ｓ７０７）。
【００６５】
図８は、表示制御装置が、表示部１００１を介して、ディスプレイ上に表示する画面イメージの一例を記す。図８を用いて、表示制御装置が、自装置でアプリケーションがウィンドウを表示する場合について、説明する。
【００６６】
初期状態において、レイアウト判定部１００７は、現在のレイアウトパターンとして、図５のレイアウトパターン１を選択しているとする。図８（１）は、初期状態の画面イメージである。初期状態では、ウィンドウが表示されていないため、ディスプレイ上の各領域には、何も表示されていない。
【００６７】
次に、ユーザが、入力部１００４を介して、自装置のアプリケーションに処理を指示し、図４のウィンドウＡを表示する。図８（２）は、ウィンドウＡを表示した画面イメージである。表示制御部１００２は、ウィンドウＡは、自装置のウィンドウのため（Ｓ６０１がＮＯ）、ウィンドウＡを表示するためのアプリケーションを起動し、ウィンドウＡを生成する（Ｓ６０２）。なお、本例の場合は、スピードメータを表示するアプリケーションとする。次に、表示制御部１００２は、生成したウィンドウＡの情報を、レイアウト判定部１００７へ通知して、問い合わせる。レイアウト判定部１００７は、図７で示した判定処理を行う（Ｓ６０３）。本例ではウィンドウＡは、サイズが２００×２００、操作不可で、他装置が生成したウィンドウではないので、レイアウトパターン１の領域２および領域３に表示することができる。レイアウト判定部１００７は、より一致度が高い領域として、領域２を選択する。（操作可の領域は、操作可／不可両方のウィンドウを表示可能だが、操作不可の領域の方が、操作不可のウィンドウへの一致度が高いと見なす。また、他装置からのウィンドウ表示可の領域は、ウィンドウ生成元が自装置でも他装置でも表示可能だが、他装置不可の領域の方が、自装置のウィンドウへの一致度が高いと見なす。）その結果、ウィンドウは表示可能であり（Ｓ６０４がＹＥＳ）、レイアウトパターンが変更していないので（Ｓ６０５がＮＯ）、領域２にウィンドウＡを表示する（図８（２））。
【００６８】
また、その後、ユーザが、入力部１００４を介して、自装置のアプリケーションに処理を指示し、図４のウィンドウＢ（燃料計アプリのウィンドウ）、ウィンドウＣ（燃費表示アプリのウィンドウ）を表示する。図８（３）は、ウィンドウＡ、ウィンドウＢ、ウィンドウＣを表示した画面イメージである。ウィンドウＢは、領域１に、ウィンドウＣは、領域３に表示する。
【００６９】
図９は、表示制御装置が、表示部１００１を介して、ディスプレイ上に表示する画面イメージの一例を記す。図９を用いて、表示制御装置が、他の表示制御装置から通知された移動ウィンドウを表示する場合について、説明する。図９において、他の表示制御装置が表示するディスプレイをディスプレイＡ、図８で説明した表示制御装置（自装置）が表示するディスプレイをディスプレイＢとして記載している。
【００７０】
図９（１）は、ディスプレイ間でのウィンドウ移動を行う前の画面イメージである。ディスプレイＢは、図８（３）と同じ画面イメージであり、前述した通り、図４のウィンドウＡ、ウィンドウＢ、ウィンドウＣを表示している。ディスプレイＡ上に表示されている図４のウィンドウＤ（音楽再生アプリのウィンドウ）が、ディスプレイＢ上へ移動する場合について、図示している。なお、ディスプレイＡとディスプレイＢの物理的な設置位置は、ディスプレイＡの右側にディスプレイＢが位置しているものとする。
【００７１】
図９（２）は、ディスプレイＡに対してタッチ操作を行い、ウィンドウＤをディスプレイＡの画面端（図示した例の場合は右端）へドラッグ操作を行う。つまり、ドラッグ操作の方向は、ディスプレイＢに向けた方向となる。ディスプレイＡに接続されている表示制御装置は、ユーザの操作情報から、ウィンドウＤがディスプレイの表示領域の外に移動したと決定し、指定されたウィンドウＤの移動を、ディスプレイＢが接続されている表示制御装置へ送付する。
【００７２】
ディスプレイＢが接続されている表示制御装置の表示制御部１００２は、ディスプレイＡが接続されている他の表示制御装置から、図４のウィンドウＤ（音楽再生アプリのウィンドウ）の移動の通知を受け取る。ディスプレイＢが接続されている表示制御装置の表示制御部１００２は、ウィンドウＤは、他装置からの移動ウィンドウなので（Ｓ６０２がＹＥＳ）、移動ウィンドウの情報を、レイアウト判定部１００７へ通知して、問い合わせる。レイアウト判定部１００７は、図７で示した判定処理を行う（Ｓ６０３）。本例ではウィンドウＤは、サイズが２００×２００、操作可で、他装置が生成したウィンドウなので、パターン１の領域３に表示することができる。レイアウト判定部１００７は、領域３に既に表示しているウィンドウＣと、新たに表示するウィンドウＤの優先度を比較する。本例では、ウィンドウＤは、ウィンドウＣより高い優先度なので、新たに表示するウィンドウＤは、領域３に表示可能と判断し、領域３にウィンドウＤを表示する。仮にウィンドウＤがウィンドウＣより優先度が低い場合は、表示不可能と判断し、現在使用中のレイアウトパターンに、新たに表示するウィンドウＤを表示できる領域はないと判定する。上記の結果、ウィンドウＤは表示可能であり（Ｓ６０４がＹＥＳ）、レイアウトパターンが変更していないので（Ｓ６０５がＮＯ）、領域３にウィンドウＤを表示する（図８（４））。図９（３）は、ディスプレイ間でのウィンドウ移動を行った後の画面イメージである。ディスプレイＡ上に表示されていたウィンドウＤは、ディスプレイＢ上に移動している。
【００７３】
なお、図９（３）では、図９（１）でウィンドウＤ（移動ウィンドウ）が表示されていたディスプレイＡの領域に、ディスプレイＢ上でウィンドウＤと入れ替わることで非表示になったウィンドウＣを表示している。ディスプレイＢに接続された表示制御装置が、ウィンドウＤを表示する際に、ディスプレイＡに接続されている表示制御装置へ、移動ウィンドウとしてウィンドウＣを通知してもよい。また、ディスプレイＡに接続されている表示制御装置が保持しているウィンドウのうち、ディスプレイＡ上に表示できていなかった他のウィンドウ（ウィンドウＤの背面に表示されていたウィンドウなど）を表示してもよい。
【００７４】
図１０は、表示制御装置が、表示部１００１を介して、ディスプレイ上に表示する画面イメージの一例を記す。図１０を用いて、表示制御装置が、他の表示制御装置から通知された移動ウィンドウを表示する場合で、レイアウトパターンが変化する場合について、説明する。図１０において、他の表示制御装置が表示するディスプレイをディスプレイＡ、図８で説明した表示制御装置（自装置）が表示するディスプレイをディスプレイＢとして記載している。
【００７５】
図１０（１）は、ディスプレイ間でのウィンドウ移動を行う前の画面イメージである。ディスプレイＢは、図８（４）と同じ画面イメージであり、前述した通り、図４のウィンドウＡ、ウィンドウＢ、ウィンドウＤを表示している。ディスプレイＡ上に表示されている図４のウィンドウＦ（ナビゲーションアプリのウィンドウ）が、ディスプレイＢ上へ移動する場合について、図示している。なお、ディスプレイＡとディスプレイＢの物理的な設置位置は、ディスプレイＡの右側にディスプレイＢが位置しているものとする。
【００７６】
図１０（２）は、ディスプレイＡに対してタッチ操作を行い、ウィンドウＦをディスプレイＡの画面端（図示した例の場合は右端）へドラッグ操作を行う。つまり、ドラッグ操作の方向は、ディスプレイＢに向けた方向となる。ディスプレイＡに接続されている表示制御装置は、ユーザの操作情報から、ウィンドウＦがディスプレイの表示領域の外に移動したと決定し、指定されたウィンドウＦの移動を、ディスプレイＢが接続されている表示制御装置へ送付する。
【００７７】
ディスプレイＢが接続されている表示制御装置の表示制御部１００２は、ディスプレイＡが接続されている他の表示制御装置から、図４のウィンドウＦ（ナビゲーションプリのウィンドウ）の移動の通知を受け取る。ディスプレイＢが接続されている表示制御装置の表示制御部１００２は、ウィンドウＦは、他装置からの移動ウィンドウなので（Ｓ６０２がＹＥＳ）、移動ウィンドウの情報を、レイアウト判定部１００７へ通知して、問い合わせる。レイアウト判定部１００７は、図７で示した判定処理を行う（Ｓ６０３）。本例ではウィンドウＦは、サイズが２００×２００、操作不可で、他装置が生成したウィンドウなので、パターン１の領域３に表示することができる。しかし、領域３に既に表示されているウィンドウＤは、新たに表示するウィンドウＦより優先度が高いため、新たに表示するウィンドウＦは、領域３に表示不可能と判断する（Ｓ７０２がＮＯ）。レイアウト判定部１００７は、現在使用中のレイアウトパターンで、新たに表示するウィンドウＦを表示できないので、他に適切なレイアウトパターンが存在するかを判定する（Ｓ７０４）。レイアウト記憶部１００８が、図５のレイアウトパターン１とレイアウトパターン２とを保持しているとする。レイアウト判定部１００７は、他のレイアウトパターンとして、レイアウトパターン２を選択し、レイアウトパターン２上に、現在表示しているウィンドウＡ、Ｂ、Ｄおよび、新たに表示するウィンドウＦの全てが表示可能かを判定する。レイアウト判定部１００７は、現在の表示サイズのままでは、レイアウトパターン２上にウィンドウＡ、Ｂ、Ｄ、Ｆを表示することはできないと判定する。しかし、レイアウト判定部１００７は、ウィンドウＡの変更可能サイズとして記されている１００×１００に変更すれば、ウィンドウＡ、Ｂ、Ｄ、Ｆを各々領域２、３、４、１へ表示できると判定する（Ｓ７０４がＹＥＳ）。この結果、レイアウト判定部１００７は、現在使用中のレイアウトパターン（レイアウトパターン１）を、レイアウトパターン２へ変更する（Ｓ７０５）。レイアウト判定部１００７は、各ウィンドウＡ、Ｂ、Ｄ、Ｆの表示領域として、各々領域２、３、４、１を対応付け、表示制御部１００２へ通知する（Ｓ７０６）。表示制御部１００２は、ウィンドウは表示可能で（Ｓ６０４がＹＥＳ）、レイアウトパターンが変更したので（Ｓ６０５がＹＥＳ）、レイアウト判定部１００７から通知された内容に従い、表示データを生成する（Ｓ６０７）。ウィンドウＡ、Ｂ、Ｄ、Ｆは、各々、領域２、３、４、１へ表示する。なお、ウィンドウＡは、サイズが２００×２００から１００×１００へ変更が必要となる。表示制御部１００２は、ウィンドウＡのサイズを変更し、ウィンドウＡの内容を描画するアプリケーション（スピードメータアプリケーション）は、ウィンドウＡの表示内容を更新する（図８（５））。図１０（３）は、ディスプレイ間でのウィンドウ移動を行った後の画面イメージである。ディスプレイＡ上に表示されていたウィンドウＦは、ディスプレイＢ上に移動している。
【００７８】
なお、本実施の形態では、他装置からの移動ウィンドウを表示可能な領域は、ウィンドウ生成元が自装置でも他装置でも表示できると判定した。ユーザが他装置からの移動ウィンドウを、ディスプレイ上の表示位置によって判別しやすくするために、他装置からの移動ウィンドウを表示可能な領域は、他装置からの移動ウィンドウのみを表示できるとしてもよい。また、操作可能な領域は、操作可能なウィンドウと操作不可能なウィンドウの両方を表示できると判定した。ユーザが操作できるウィンドウを、ディスプレイ上の表示位置によって判別しやすくするために、操作可能なウィンドウのみ表示できるとしてもよい。
【００７９】
なお、本実施の形態では、表示するウィンドウの個数が増えたために、現在使用中のレイアウトパターンでは、全てのウィンドウが表示しきれない場合に、レイアウトパターンを変更するものとした。これとは逆に、表示するウィンドウの個数が減った際に、何も表示しない領域が発生したことを契機に、現在表示されている全てのウィンドウが表示できかつ、何も表示しない領域が少なくなるように、レイアウトパターンを切り替えてもよい。また、ユーザが入力部１００４を介して、明示的に使用するレイアウトパターンを指定し、それに応じて切り替えるようにしてもよい。
【００８０】
また、本実施の形態では、移動元のウィンドウのサイズを、移動先でも、そのまま利用するものとした。単位面積当たりのピクセル数が移動元と移動先のディスプレイで異なる場合は、その比率に応じて、ウィンドウサイズを変換することで、ユーザが見た際にディスプレイ上の表示面積が同じになるようにしてもよい。また、ユーザとディスプレイの距離が異なる場合には、ユーザとディスプレイの距離に応じた比率をサイズにかけることで、ユーザが肉眼で見た際の大きさが同じになるようにしてもよい。
【００８１】
また、本実施の形態では、新たに表示するウィンドウの領域を決定する際に、既に表示中のウィンドウが存在する場合、より優先度が高いウィンドウ、または、優先度が同じ新たに表示するウィンドウを、表示する。既に表示していたウィンドウが後ろに隠れて非表示になる場合は、特に何も処理を行わなかった。他ウィンドウから送付されたウィンドウが後ろに隠れて非表示になった場合に、送信部１００６を介して、移動元の表示制御装置へ、非表示になったウィンドウ送り返してもよい。移動元の表示制御装置は、非表示になったウィンドウを、移動前と同様の形で再表示することができる。なお、その際には、移動元の表示制御装置は、移動前と同様の形で再表示するための移動前情報を、ウィンドウの管理情報として保持する。移動前情報は、移動元の機器を識別するＩＤおよび、移動前の機器のレイアウトパターンにおいてウィンドウが表示されていた領域、もしくは、表示位置と表示サイズである。
【００８２】
また、本実施の形態では、ウィンドウを移動する操作として、ディスプレイに対するタッチ操作とし、ドラッグ操作により画面端へ移動するものとした。入力装置がセンサ装置であって、ユーザからの非接触な操作（ジェスチャなど）で。ドラッグ操作を入力してもよい。入力装置が、マウスやリモコンなどのポインタ入力装置であって、ユーザからのポインタ操作で、移動ウィンドウと移動先ディスプレイ（表示制御装置を備えた情報処理装置）を指定してもよい。また、キー操作などでメニュー画面をディスプレイ上に表示し、メニュー画面の中から、移動ウィンドウと移動先ディスプレイ（表示制御装置を備えた情報処理装置）を選択してもよい。
【００８３】
かかる構成によれば、ディスプレイ上のウィンドウ配置を定めたレイアウトパターンを予め保持し、このレイアウトパターンを用いて、移動対象ウィドウを表示する表示位置を決定することができる。これにより、ウィンドウのディスプレイ間移動操作において、ユーザが移動先ディスプレイ上での表示位置を指定することなく、移動対象ウィンドウの移動後の配置を適切に制御することができる。
【００８４】
また、ディスプレイが離れて設置されているなど、ディスプレイの配置状況によっては２つのディスプレイにまたがった操作を行うことが困難であり場合がある。ユーザが、２つのディスプレイの配置状況等によらず、少なくとも一方のディスプレイに対して操作入力することで、ウィンドウのディスプレイ間移動操作が可能となる。ユーザは、移動元ディスプレイ上で移動操作を行い、移動先ディスプレイ上での操作を行うことなく、移動対象ウィンドウの移動後の配置を適切に制御することができる。
【００８５】
（実施の形態２）
図１１は、本発明の実施の形態における表示制御装置の構成を示すブロック図である。表示制御装置は、図２に示すメモリ装置２０を用いてＣＰＵ１０で動作するプログラムである。
【００８６】
表示制御装置２０００は、情報処理装置で動作する一つ以上のアプリケーションプログラムが出力する内容（ユーザに提示する内容）を、表示データとしてディスプレイへ出力し、ディスプレイの表示を制御する。表示制御装置２０００は、ディスプレイ上に表示するデータを、表示するための仮想領域であるウィンドウ単位で管理する。表示制御装置２０００は、一つのアプリケーションに対し、一つのウィンドウを対応付け、当該アプリケーションプログラムが出力する内容を、対応付けられたウィンドウ（仮想領域）上に描画する。表示制御装置２０００は、管理している各ウィンドウに対し、ディスプレイ上の表示位置と表示サイズを決定し、決定した表示位置にウィンドウを配置した表示データを出力することで、ディスプレイ上への表示を制御する。なお、表示制御装置２０００は、一つのアプリケーションに対し、二つ以上のウィンドウを対応付けてもよい。また、表示制御装置２０００は、ウィンドウ単位で、ディスプレイ上の移動操作を可能とする。
【００８７】
表示制御装置２０００は、表示部１００１、入力部１００４、表示制御部２００２、管理部２００５、受信部１００３、送信部１００６、レイアウト判定部１００７、レイアウト記憶部１００８、変更部９００１、状態取得部９００２を備える。なお、図１１において、図３と同じ構成要素については同じ符号を用い、説明を省略する。
【００８８】
状態取得部９００２は、各種センサ等を介して、システム状態を取得する。前述した通り、本発明の表示制御システムは、車載システムであって、複数のディスプレイを備え、ユーザに提示する内容を表示データとして出力し、複数のディスプレイ上に表示する。状態取得部９００２は、取得したシステム状態から、システム状態が変更したと判断すると、変更部９００１へ通知する。例えば、車載システムの場合、スピードセンサー等の車両センサを介して、車両の走行状態を検出し、停車中から走行中などへ状態が変化した場合は、その変更内容を、変更部９００１へ通知する。
【００８９】
変更部９００１は、状態取得部９００２から、システム状態の変更内容を受け取り、処理を行う。変更部９００１は、通知された状態の変更内容に応じて、管理部２００５に保存されているウィンドウに対する管理情報を変更する。例えば、車載システムの場合、ドライバーの安全性を確保するために、走行中の操作を規制する必要がある。本実施の形態における表示制御装置は、停車中、走行中などの車両の走行状態に応じて、特定のアプリケーションの操作を禁止、または、運転に直接関係ない表示を消去、などの表示制御を行う。この表示制御を行うため、変更部９００１は、状態取得部９００２から、システム状態として車両の走行状態などが通知されると、その状態に応じて、管理部２００５に保存されているウィンドウに対する管理情報（操作可否、表示優先度）を変更する。変更部９００１は、管理情報を変更したウィンドウの再表示を、表示制御部２００２に要求する。
【００９０】
管理部２００５は、表示制御装置２０００が管理するウィンドウに対する管理情報を保持する。表示制御装置２０００は、ディスプレイ上に表示するデータを、表示するための仮想領域であるウィンドウ単位で管理する。また、ウィンドウに対応する描画バッファを備え、アプリケーションプログラムが出力する内容（ユーザに提示する内容）を、描画データとして保持する。
【００９１】
また、管理部２００５は、保存しているウィンドウに対する管理情報を、変更部９００１によって変更される点が、実施の形態１とは異なる。
【００９２】
表示制御部２００２は、入力部１００４から通知されたユーザの操作情報に従って、管理している各ウィンドウに対し、ディスプレイ上の表示位置と表示サイズを決定する。表示制御部２００２は、決定した表示位置にウィンドウを配置した表示データを生成することで、表示部１００１により出力する表示データの内容を制御する。なお、表示制御部２００２は、新しいウィンドウを生成して表示する前に、レイアウト判定部１００７に問合せて、新しいウィンドウを含む表示対象ウィンドウの、ディスプレイ上の表示位置と表示サイズを決定する。
【００９３】
また、表示制御部２００２は、入力部１００４から通知されたユーザの操作情報から、管理しているウィンドウの表示位置が、ディスプレイの表示領域の外に移動したと決定した場合、ディスプレイ間移動の処理を行う。まず、表示制御部２００２は、移動対象ウィンドウの移動を、移動先である他の表示制御装置に通知するよう、送信部１００６へ要求する。次に、表示制御部２００２は、移動対象ウィンドウを含まない表示データを生成し、生成した表示データの出力を、表示部１００１へ要求する。なお、表示制御部２００２は、移動対象ウィンドウを含まない表示データを生成する前に、レイアウト判定部１００７に問合せて、移動対象ウィンドウを含まない他ウィンドウの、ディスプレイ上の表示位置と表示サイズを再決定してもよい。
【００９４】
また、表示制御部２００２は、受信部１００３を介し、他の表示制御装置からの、ウィンドウの移動の通知を受け取る。表示制御部２００２は、他の表示制御装置が管理しているウィンドウの表示位置が、自装置が管理するディスプレイの表示領域内に移動したとして、ディスプレイ間移動の処理を行う。まず、表示制御部２００２は、移動元である他の表示制御装置からのウィンドウ移動の通知を、受信部１００３から受け取る。次に、表示制御部２００２は、移動ウィンドウを表示する表示位置を、レイアウト判定部１００７に問合せる。次に、表示制御部２００２は、レイアウト判定部１００７が判定した結果を受け取り、移動ウィンドウに対し、ディスプレイ上の表示位置と表示サイズを決定する。表示制御部２００２は、決定した表示位置に移動ウィンドウを配置した表示データを生成することで、表示部１００１により出力する表示データの内容を制御する。
【００９５】
また、表示制御部２００２は、変更部９００１から、管理情報を変更したウィンドウの再表示を、要求される点が、実施の形態１とは異なる。表示制御部２００２は、再表示が要求されたウィンドウを含まない表示データを生成し、生成した表示データの出力を、表示部１００１へ要求する。これにより、再表示が要求されたウィンドウが、非表示となる。次に、表示制御部２００２は、再表示が要求されたウィンドウを表示する表示位置を、を、レイアウト判定部１００７に問合せる。次に、表示制御部２００２は、変更後の管理情報に基づいて、レイアウト判定部１００７が判定した結果を受け取り、再表示が要求されたウィンドウに対し、ディスプレイ上の表示位置と表示サイズを決定する。表示制御部２００２は、決定した表示位置に再表示が要求されたウィンドウを配置した表示データを生成することで、表示部１００１により出力する表示データの内容を制御する。
【００９６】
本実施の形態における表示制御装置が、新たにウィンドウを表示する処理は、実施の形態１と同様のため、説明を省略する。
【００９７】
図１２は、本発明の実施の形態において、システム状態が変更したことにより、ウィンドウを再表示する動作の一例を示すフローチャートである。
【００９８】
まず、状態取得部９００２は、システム状態が変更したと判断すると、変更内容を、変更部９００１へ通知する（Ｓ１００１）。
【００９９】
次に、変更部９００１は、通知されたシステム状態の変更内容に応じて、管理部２００５に保存されているウィンドウに対する管理情報（操作可否、表示優先度）を変更する（Ｓ１００２）。
【０１００】
変更部９００１は、管理情報を変更したウィンドウの再表示を、表示制御部２００２に要求する（Ｓ１００３）。表示制御部２００２は、要求されたウィンドウを含まない表示データを生成し、生成した表示データの出力を、表示部１００１へ要求する。これにより、再表示が要求されたウィンドウが、非表示となる。
【０１０１】
次に、表示制御部２００２は、レイアウト判定部１００７に、再表示が要求されたウィンドウ（新たに表示するウィンドウ）の情報（変更部９００１による変更後の情報）を通知して、問い合わせる。レイアウト判定部１００７は、新たに表示するウィンドウ（再表示が要求されたウィンドウ）の表示領域を判定する（Ｓ１００４）。ウィンドウ表示領域の判定処理は、実施の形態１と同様であり、図７に詳細を記載した。ここでは詳細な説明を省略する。
【０１０２】
次に、レイアウト判定部１００７は、新たに表示するウィンドウ（再表示が要求されたウィンドウ）の表示領域を判定した結果を、表示制御部２００２に通知する。表示制御部２００２は、通知された判定結果から、ウィンドウが表示可能か否かを判定する（Ｓ１００５）。ウィンドウが表示可能な場合は（Ｓ１００５がＹＥＳ）、表示制御部２００２は、レイアウトパターンが変更されたか否かを判定する（Ｓ１００６）。レイアウト判定部１００７から通知された判定結果が、エラーの場合、表示制御部２００２は、表示不可と判定する。レイアウト判定部１００７から通知された判定結果が、新たに表示するウィンドウ（再表示が要求されたウィンドウ）の表示領域をのみを指定する場合、レイアウトパターンは変更していない。レイアウト判定部１００７から通知された判定結果が、全てのウィンドウの表示領域を指定する場合、レイアウトパターンは変更した。
【０１０３】
レイアウトパターンが変更していない場合（Ｓ１００６がＮＯ）、表示制御部２００２は、判定結果の、表示位置と表示サイズに従って、指定された領域に、再表示が要求されたウィンドウを配置した表示データを生成する。表示制御部２００２は、生成した表示データを表示部１００１に出力することで、ウィンドウを再表示する（Ｓ１００７）。
【０１０４】
なお、レイアウト判定部１００７に問合せる前の、ウィンドウの表示サイズと、レイアウト判定部１００７からの判定結果として通知された表示サイズが異なる場合には、ウィンドウのサイズ変更が必要となる。表示制御部２００２は、レイアウト判定部１００７から通知された表示サイズに合わせて、表示データを生成する。
【０１０５】
一方、レイアウトパターンが変更した場合（Ｓ１００６がＹＥＳ）、表示制御部２００２は、判定結果として、全てのウィンドウの表示位置と表示サイズを受け取る。表示制御部２００２は、判定結果に従って、指定された領域に、全てのウィンドウを配置した表示データを生成する。表示制御部２００２は、生成した表示データを表示部１００１に出力することで、ウィンドウを再表示する（Ｓ１００８）。
【０１０６】
なお、レイアウト判定部１００７に問合せる前の、ウィンドウの表示サイズと、レイアウト判定部１００７からの判定結果として通知された表示サイズが変化した場合には、ウィンドウのサイズ変更が必要となる。表示制御部２００２は、レイアウト判定部１００７から通知された表示サイズに合わせて、表示データを生成する。
【０１０７】
一方、ウィンドウが表示不可能（判定結果がエラー）の場合（Ｓ１００５がＮＯ）、表示制御部２００２は、ユーザへ、ウィンドウが表示できない旨を通知する（Ｓ１００９）。例えば、表示制御部２００２は、表示部１００１を介して、「指定されたウィンドウは現在表示できません」といった旨のメッセージを、ディスプレイ上に表示する。
【０１０８】
なお、システム状態の変更に応じて、管理情報を変更したウィンドウが複数個存在する場合は、Ｓ１００３からＳ１００９をウィンドウの数だけ繰り返す。
【０１０９】
次に、システム状態が変更されたため、ウィンドウの管理情報を変更した際の処理の流れについて、具体例を交えながら説明する。説明のため、図４に示すウィンドウＡ、Ｂ、Ｃ、Ｄが順に表示され、ディスプレイ上の表示内容が図８（１）から（４）の状態に遷移し、システム状態が停車中から走行中へと変更した場合を例に取る。この例では、システム状態が停車中から走行中へと変更することで、ウィンドウＤの操作可否が不可、表示優先度が−１に変更する。
【０１１０】
状態取得部９００２が、車両センサを介し、車両の走行状態が停車中から走行中へ変化したことを検出する。状態取得部９００２は、変更部９００１へ、システム状態が走行中状態へ変化したことを通知する（Ｓ１００１）。
【０１１１】
次に、変更部９００１は、走行中の状態に応じて、ウィンドウＤの完了情報を、操作不可、表示優先度を−１に変更する。より具体的には、変更部９００１が、各システム状態における各ウィンドウの操作可否、及び、表示優先度の設定条件を、予め保持しておく。図１３は、変更部９００１が保持する設定条件の一例である。図１３（Ａ）は、システム状態が停止中である場合の設定条件である。図１３（Ｂ）は、システム状態が走行中である場合の設定条件である。変更部９００１は、予め保持した設定条件と状態取得部９００２から通知されたシステム状態（走行中状態）を用いて、各ウィンドウの管理情報を更新する。図１３（Ｂ）は、システム状態が走行中状態の場合の設定条件を示しており、ウィンドウＡ、Ｂ、Ｃ、Ｄのうち、ウィンドウＡ、Ｂ、Ｃは、アプリケーションからの設定内容に従うとなっているため、管理情報の変更は発生しない。しかし、ウィンドウＤは、操作不可、表示優先度−１となっているため、変更部９００１は、ウィンドウＤの管理情報を、これにあわせて変更する（Ｓ１００２）。
【０１１２】
変更部９００１は、管理情報を変更したウィンドウＤの再表示を、表示制御部２００２へ要求する（Ｓ１００３）。表示制御部２００２は、ウィンドウＤを非表示の状態に戻す。これにより、領域３に表示されているウィンドウＤは非表示になり、領域３にウィンドウＣが表示されている図８（３）の状態に戻る。
【０１１３】
次に、表示制御部２００２は、レイアウト判定部１００７へ、ウィンドウＤの情報と通知して、問い合わせる。レイアウト判定部１００７は、ウィンドウＤの表示領域を判定する（Ｓ１００４）。レイアウト判定部１００７は、図７記載の判定処理を実行する。ウィンドウＤは、サイズ２００×２００、操作不可、他装置から送付されたウィンドウ、優先度―１である。ウィンドウＤは、サイズ２００×２００、操作不可、他装置から送付されたウィンドウのため、領域３に表示可能であるが、既に領域３に表示されているウィンドウＣよりも優先度が低い。レイアウト判定部１００７は、現在使用中のレイアウトパターンでは表示不可と判定する（Ｓ７０２がＮＯ）。レイアウト判定部１００７が、レイアウトパターン２を保持していれば、レイアウトパターン２で全てのウィンドウを表示できるか判定する。レイアウト判定部１００７は、レイアウトパターン２で判定した結果、レイアウトパターン２の領域１、２、３、４にウィンドウＤ、Ｂ、Ａ、Ｃが各々表示可能と判定する（Ｓ７０４がＹＥＳ）。一方、レイアウト判定部１００７が、レイアウトパターン２を保持していなければ、ウィンドウＤは表示不可と判定する（Ｓ７０４がＮＯ）。レイアウト判定部１００７は、判定結果を、表示制御部２００２へ通知する。
【０１１４】
判定結果として、レイアウトパターン２による表示領域が通知されると、レイアウトパターンを変更し、領域１にウィンドウＤが表示されている図８（６）の状態となる。領域２は、アプリケーションの操作を禁止しており、ドライバーによる操作ができない。
【０１１５】
判定結果として、エラーが通知されると、ウィンドウＤは非表示であり、領域３にウィンドウＣが表示されている図８（３）の状態のままとなる。
【０１１６】
なお、判定結果としてエラーが通知された場合、ウィンドウＤは他装置から送付されたウィンドウなので、移動元の表示制御装置へウィンドウＤを送り返してもよい。移動元の表示制御装置は、送り返されたウィンドウＤを、再度レイアウト判定部に問い合わせて表示領域を決定してもよいし、移動前に表示していた位置に再表示してもよい。
【０１１７】
かかる構成によれば、ディスプレイ上のウィンドウ配置を定めたレイアウトパターンを予め保持し、このレイアウトパターンを用いて、移動対象ウィドウを表示する表示位置を決定することができる。これにより、ウィンドウのディスプレイ間移動操作において、ユーザが移動先ディスプレイ上での表示位置を指定することなく、移動対象ウィンドウの移動後の配置を適切に制御することができる。
【０１１８】
また、システム状態に対応した設定条件を予め保持し、システム状態の変更に基づいて、各ウィンドウの管理情報を変更することで、ウィンドウの配置を適切に制御することができる。
【０１１９】
なお、本実施の形態では、システム状態として走行状態を扱うものとした。システム状態は、例えば、バッテリー残量やエンジンの稼動状態、各種車両センサによる異常検知状態、周辺の障害物有無による危険状態などでもよい。また、システム状態は、ＧＰＳなどの位置取得装置を介して、車両の走行位置を検出し、トンネルの中を走行中、渋滞中などの周辺の交通状況でもよい。また、システム状態は、明かりセンサなどを介して、車両の周辺状態でもよい。
【０１２０】
また、ユーザが特定の操作を行った場合に、他装置から送付されたウィンドウを全て移動元の装置へ送り返すようにしてもよい。
【０１２１】
また、本発明の表示制御システムは、複数の家電機器を組み合わせたホームネットワークシステムでもよい。また、本発明の表示制御システムは、複数のＡＶ機器を組み合わせたＡＶシステムである。また、本発明の表示制御システムは、タブレット端末または携帯電話などの移動可能な端末を含む複数の機器を組み合わせたシステムでもよい。この場合、システム状態は、例えば、バッテリー残容量、メモリ空き容量、周辺デバイス接続状況、通信状況などでもよい。また、システム状態は、ＧＰＳなどの位置取得装置を介して取得した、機器の位置でもよい。また、システム状態は、明かりセンサなどを介して取得した、機器の周辺状況でもよい。
【産業上の利用可能性】
【０１２２】
本発明にかかる表示制御装置は、ディスプレイ上のウィンドウ配置を定めたレイアウトパターンを予め保持し、このレイアウトパターンを用いて、移動対象ウィドウを表示する表示位置を決定する機能を有し、複数のディスプレイを備えた車載システム等として有用である。また複数の家電機器を組み合わせたホームネットワークシステム、複数のＡＶ機器を組み合わせたＡＶシステム、タブレット端末または携帯電話などの移動可能な端末を含む複数の機器を組み合わせたシステム等の用途にも応用できる。
【符号の説明】
【０１２３】
１，２    情報処理装置
３，４    ディスプレイ
５    ネットワーク
１０    ＣＰＵ
２０    メモリ装置
２１    ＲＯＭ
２２    ＲＡＭ
２５    ハードディスク装置
３１    可搬型記録媒体
３２    読取書込装置
４０    入力装置
４５    表示装置
５０    バスライン
１０００，２０００    表示制御装置
１００１    表示部
１００２，２００２    表示制御部
１００３    受信部
１００４    入力部
１００５，２００５    管理部
１００６    送信部
１００７    レイアウト判定部
１００８    レイアウト記憶部
９００１    変更部
９００２    状態取得部
【図１】
2014026357.tif 000003
【図２】
2014026357.tif 000004
【図３】
2014026357.tif 000005
【図４】
2014026357.tif 000006
【図５】
2014026357.tif 000007
【図６】
2014026357.tif 000008
【図７】
2014026357.tif 000009
【図８】
2014026357.tif 000010
【図９】
2014026357.tif 000011
【図１０】
2014026357.tif 000012
【図１１】
2014026357.tif 000013
【図１２】
2014026357.tif 000014
【図１３】
2014026357.tif 000015