(57)【要約】【課題】ウィンドウを再配置する際の違和感を低減する。【解決手段】再配置部は、ウィンドウが連結画面領域１８２からはみ出していることを検出すると、ウィンドウの中心を連結画面領域の外枠に沿って移動させたときに、ウィンドウＷが通過する範囲と通過しない範囲との境界線により囲まれた領域（連結表示部分領域Ｒ１〜Ｒ３）を特定する。また、再配置部は、連結表示部分領域のうちウィンドウから最も近い位置（Ｑ１）を第１移動先候補とする。そして、再配置部は、第１移動先候補にウィンドウを配置したときにウィンドウがはみ出なければ、第１移動先候補をウィンドウの移動先とし、ウィンドウがはみ出る場合には、ウィンドウの角度やサイズを変更したうえでウィンドウを配置するか、ウィンドウが連結画面領域からはみ出ない連結表示部分領域Ｒ３のうち最も近い位置にウィンドウを配置する。【選択図】図１６
2019168847.tif 000002
【特許請求の範囲】
【請求項１】
表示領域に矩形状のウィンドウを配置する処理を実行する情報処理装置であって、
前記ウィンドウの表示位置が前記表示領域からはみ出る第１位置であることを検出すると、前記ウィンドウの中心を前記表示領域の外枠に沿って移動させたときに、前記ウィンドウが通過する範囲と通過しない範囲との境界線により囲まれた１又は複数の領域を前記ウィンドウの配置候補領域として特定する特定部と、
１又は複数の前記配置候補領域のうち、前記第１位置から最も近い位置を前記ウィンドウの配置候補位置として決定する決定部と、
前記配置候補位置と前記ウィンドウの中心とを一致させたときに、前記ウィンドウが前記表示領域からはみ出ない場合には、該配置候補位置に前記ウィンドウの中心を配置し、前記ウィンドウが前記表示領域からはみ出す場合には、はみ出し量に基づいて前記ウィンドウの角度及び／又はサイズを変更したうえで、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、又は前記ウィンドウの角度及びサイズを変更せずに、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する配置部と、
を備える情報処理装置。
【請求項２】
前記配置部は、前記ウィンドウが前記表示領域からはみ出す場合に、前記ウィンドウの移動距離、角度の変更量、及びサイズ変更量に基づく評価値が最も小さくなるように前記ウィンドウを配置する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記評価値を算出するときの、前記ウィンドウの移動距離、角度の変更量、及びサイズ変更量の重みが可変であることを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記重みは、前記ウィンドウに表示されるコンテンツの種類に応じて決定されることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記配置部は、前記ウィンドウの角度及び／又はサイズを変更する際には、前記配置候補位置が含まれる前記配置候補領域の寸法に基づいて、前記角度の変更量及び／又はサイズの変更量を決定する、ことを特徴とする請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記表示領域は長方形を組み合わせた形状を有する、ことを特徴とする請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
表示領域に矩形状のウィンドウを含む画面を表示する表示装置と、
前記画面を生成して、前記表示装置に表示させる情報処理装置と、を備え、
前記情報処理装置は、
前記ウィンドウの表示位置が前記表示領域からはみ出る第１位置であることを検出すると、前記ウィンドウの中心を前記表示領域の外枠に沿って移動させたときに、前記ウィンドウが通過する範囲と通過しない範囲との境界線により囲まれた１又は複数の領域を前記ウィンドウの配置候補領域として特定する特定部と、
１又は複数の前記配置候補領域のうち、前記第１位置から最も近い位置を前記ウィンドウの配置候補位置として決定する決定部と、
前記配置候補位置と前記ウィンドウの中心とを一致させたときに、前記ウィンドウが前記表示領域からはみ出ない場合には、該配置候補位置に前記ウィンドウの中心を配置し、前記ウィンドウが前記表示領域からはみ出す場合には、はみ出し量に基づいて前記ウィンドウの角度及び／又はサイズを変更したうえで、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、又は前記ウィンドウの角度及びサイズを変更せずに、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する配置部と、を有する、
ことを特徴とする表示システム。
【請求項８】
矩形状のウィンドウの表示位置が表示領域からはみ出る第１位置であることを検出すると、前記ウィンドウの中心を前記表示領域の外枠に沿って移動させたときに、前記ウィンドウが通過する範囲と通過しない範囲との境界線により囲まれた１又は複数の領域を前記ウィンドウの配置候補領域として特定し、
１又は複数の前記配置候補領域のうち、前記第１位置から最も近い位置を前記ウィンドウの配置候補位置として決定し、
前記配置候補位置と前記ウィンドウの中心とを一致させたときに、前記ウィンドウが前記表示領域からはみ出ない場合には、該配置候補位置に前記ウィンドウの中心を配置し、前記ウィンドウが前記表示領域からはみ出す場合には、はみ出し量に基づいて前記ウィンドウの角度及び／又はサイズを変更したうえで、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、又は前記ウィンドウの角度及びサイズを変更せずに、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、
処理をコンピュータに実行させるためのウィンドウ配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、表示システム及びウィンドウ配置プログラムに関する。
【背景技術】
【０００２】
複数の表示装置の画面領域を連結して一つの表示領域として扱い、表示領域内にコンテンツのウィンドウを表示するコンテンツ表示システムがある（例えば非特許文献１等参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“部屋全体をまるごとデジタル化するＵＩ技術を開発し、ＩＣＴによる共創支援の実証実験を開始”、［ｏｎｌｉｎｅ］、富士通株式会社、［平成３０年２月２６日検索］、インターネット、＜ＵＲＬ：http://pr.fujitsu.com/jp/news/2015/07/27.html＞
【特許文献】
【０００４】
【特許文献１】特開２０１７−１６３１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のような連結された表示領域は、必ずしも長方形領域になるとは限らず、凸字状、Ｔ字状、凹字状などの形状になることがある。この場合、ユーザが指定（又は移動）した位置にウィンドウを表示すると、ウィンドウが表示領域に収まりきらず、はみ出ることがある。従来においては、モルフォロジー演算と呼ばれる処理により、ウィンドウが表示領域からはみ出ない範囲を計算し、ウィンドウを再配置していた。しかしながら、従来は、ウィンドウがはみ出ない位置に再配置する場合の移動距離が長くなることがあり、移動距離の長さがユーザに違和感を与えるおそれがあった。
【０００６】
１つの側面では、本発明は、ウィンドウを再配置する際の違和感を低減することが可能な情報処理装置、表示システム及びウィンドウ配置プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、情報処理装置は、表示領域に矩形状のウィンドウを配置する処理を実行する情報処理装置であって、前記ウィンドウの表示位置が前記表示領域からはみ出る第１位置であることを検出すると、前記ウィンドウの中心を前記表示領域の外枠に沿って移動させたときに、前記ウィンドウが通過する範囲と通過しない範囲との境界線により囲まれた１又は複数の領域を前記ウィンドウの配置候補領域として特定する特定部と、１又は複数の前記配置候補領域のうち、前記第１位置から最も近い位置を前記ウィンドウの配置候補位置として決定する決定部と、前記配置候補位置と前記ウィンドウの中心とを一致させたときに、前記ウィンドウが前記表示領域からはみ出ない場合には、該配置候補位置に前記ウィンドウの中心を配置し、前記ウィンドウが前記表示領域からはみ出す場合には、はみ出し量に基づいて前記ウィンドウの角度及び／又はサイズを変更したうえで、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、又は前記ウィンドウの角度及びサイズを変更せずに、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する配置部と、を備えている。
【発明の効果】
【０００８】
ウィンドウを再配置する際の違和感を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る表示システムの構成を概略的に示すブロック図である。
【図２】表示システムの使用例を示す図である。
【図３】表示システムの機能ブロック図である。
【図４】情報処理装置のハードウェア構成を示す図である。
【図５】コンテンツＤＢの一例を示す図である。
【図６】図６（ａ）は、表示装置情報テーブルの一例を示す図であり、図６（ｂ）は、連結画面領域を座標系上に表した図である。
【図７】図７（ａ）は、連結画面領域情報テーブルの一例を示す図であり、図７（ｂ）は、ウィンドウ配置情報テーブルの一例を示す図である。
【図８】図８（ａ）、図８（ｂ）は、連結画面領域情報テーブルの詳細を説明するための図である。
【図９】情報処理装置の全体処理を示すフローチャート（その１）である。
【図１０】図９のステップＳ１４及び図２１のステップＳ３６の詳細処理を示すフローチャートである。
【図１１】図１１（ａ）は、ウィンドウが画面領域からはみ出している状態を示す図であり、図１１（ｂ）は、ウィンドウや画面領域の座標、寸法を示す図である。
【図１２】図１０のステップＳ５２の詳細処理を示すフローチャートである。
【図１３】図１２の処理を説明するための図（その１）である。
【図１４】図１４（ａ）、図１４（ｂ）は、図１２の処理を説明するための図（その２）である。
【図１５】図１０のステップＳ５４の詳細処理を示すフローチャートである。
【図１６】図１５の処理を説明するための図である。
【図１７】図１５のステップＳ１１４の詳細処理を示すフローチャートである。
【図１８】図１７の処理を説明するための図（その１）である。
【図１９】図１９（ａ）、図１９（ｂ）は、図１７の処理を説明するための図（その２）である。
【図２０】図１５のステップＳ１１６の詳細処理を示すフローチャートである。
【図２１】情報処理装置の全体処理を示すフローチャート（その２）である。
【図２２】図２２（ａ）〜図２２（ｆ）は、モルフォロジー演算により、ウィンドウを再配置する位置を求める方法を示す図である。
【発明を実施するための形態】
【００１０】
以下、表示システムの一実施形態について、図１〜図２２（ｆ）に基づいて詳細に説明する。
【００１１】
図１には、一実施形態に係る表示システム１００の構成が概略的に示されている。また、図２には、表示システム１００の使用例が示されている。表示システム１００は、例えば、図２に示すように壁面１０２とテーブル１０４の上面に画面領域８２Ａ〜８２Ｃを表示することで、連結した連結画面領域（表示領域）１８２を生成し、連結画面領域１８２内にコンテンツのウィンドウを表示するシステムである。例えば複数のユーザが集まり、表示システム１００を用いて、付箋アプリのウィンドウを連結画面領域１８２に多数表示することで、アイディア出し（ブレーンストーミング）などを行うことができる。
【００１２】
表示システム１００は、図１に示すように、複数の表示装置８０Ａ、８０Ｂ、…と、情報処理装置１０と、を備える。図２の例では、表示システム１００はプロジェクタを有する３つの表示装置８０Ａ〜８０Ｃを備えており、そのうちの２つの表示装置８０Ａ，８０Ｂが画面領域８２Ａ、８２Ｂを壁面１０２に投影し、残りの１つの表示装置８０Ｃが画面領域８２Ｃをテーブル１０４の上面に投影する。本実施形態では、画面領域８２Ａ〜８２Ｃを連結した連結画面領域１８２は、図２においてハッチングを付して示すように、同一平面に展開した場合に略Ｔ字状の形状を有している。表示装置８０Ａ〜８０Ｃが表示する画面は、情報処理装置１０から提供される。なお、情報処理装置１０と表示装置８０Ａ〜８０Ｃの間はインターネットなどのネットワークにより接続されていてもよい。すなわち、情報処理装置１０は、表示装置８０Ａ〜８０Ｃとは別の空間に配置されてもよい。
【００１３】
表示装置８０Ａ〜８０Ｃは、プロジェクタと、画面領域内でのタッチ操作を検出するための検出装置（例えば赤外線カメラ）を有する。表示装置８０Ａ〜８０Ｃは、プロジェクタを含んで図３に示す画面表示部８４としての機能が実現され、検出装置を含んで入力受付部８６としての機能が実現されている。
【００１４】
入力受付部８６は、ユーザによる連結画面領域１８２内でのタッチ操作を検出し、タッチ操作の内容を情報処理装置１０に送信する。画面表示部８４は、情報処理装置１０から送信されてくる画面の情報を受信し、受信した画面の情報に基づいて連結画面領域１８２に画面を表示する。なお、情報処理装置１０は、ユーザのタッチ操作に応じて画面情報を変更し、変更後の画面情報を画面表示部８４に送信する。このため、画面表示部８４は、ユーザのタッチ操作に応じた画面を表示することができる。ユーザは、例えば、タッチ操作により連結画面領域１８２内に所定の図形（例えば三角形）を描くことで、付箋アプリのウィンドウを新たに表示する指示を情報処理装置１０に対して出すことができる。この場合、所定の図形を描く位置や角度に応じて、ウィンドウの表示位置や角度が決定される。また、ユーザは、付箋アプリのウィンドウをドラッグしたり、ピンチアウトすることで、ウィンドウの移動やサイズ変更、角度変更等を行う旨の指示を情報処理装置１０に対して出すことができるようになっている。
【００１５】
情報処理装置１０は、サーバやＰＣ（Personal Computer）などであり、図４に示すようなハードウェア構成を有する。図４に示すように、情報処理装置１０は、ＣＰＵ（Central Processing Unit）９０、ＲＯＭ（Read Only Memory）９２、ＲＡＭ（Random Access Memory）９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、ネットワークインタフェース９７、及び可搬型記憶媒体用ドライブ９９等を備えている。これら情報処理装置１０の構成各部は、バス９８に接続されている。情報処理装置１０では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（ウィンドウ配置プログラムを含む）、或いは可搬型記憶媒体用ドライブ９９が可搬型記憶媒体９１から読み取ったプログラム（ウィンドウ配置プログラムを含む）をＣＰＵ９０が実行することにより、図３に示す各部の機能が実現される。なお、図３の各部の機能は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等の集積回路により実現されてもよい。
【００１６】
情報処理装置１０においては、ＣＰＵ９０がプログラムを実行することにより、図３に示す、ウィンドウ生成・移動部２０、描画部２２、再配置部２４としての機能が実現されている。
【００１７】
ウィンドウ生成・移動部２０は、表示装置８０Ａ〜８０Ｃの入力受付部８６から受信したタッチ操作の情報に基づいて、新たなウィンドウを生成するか、既存のウィンドウを移動等するかを判断する。また、ウィンドウ生成・移動部２０は、ウィンドウを生成する位置や移動する位置の情報をウィンドウ配置情報テーブル４６に格納する。なお、ウィンドウ配置情報テーブル４６の詳細については後述する。
【００１８】
描画部２２は、ユーザのタッチ操作に応じた画面を生成（描画）し、表示装置８０Ａ〜８０Ｃに送信する。ここで、描画部２２は、コンテンツＤＢ４０、表示装置情報テーブル４２、連結画面領域情報テーブル４４、及びウィンドウ配置情報テーブル４６を参照して、画面の生成（描画）処理を実行する。
【００１９】
ここで、コンテンツＤＢ４０は、ウィンドウ内に表示されるコンテンツに関する情報を格納するデータベースであり、図５に示すようなデータ構造を有する。具体的には、コンテンツＤＢ４０は、「コンテンツＩＤ」、「コンテンツデータ位置」、「係数」の各フィールドを有する。「コンテンツＩＤ」のフィールドには、コンテンツの識別情報が格納され、「コンテンツデータ位置」のフィールドには、コンテンツが格納されている場所の情報が格納されている。また、「係数」のフィールドには、再配置部２４がウィンドウを再配置する際に利用する係数が格納されているが、詳細については後述する。
【００２０】
表示装置情報テーブル４２は、図６（ａ）に示すようなテーブル構造を有する。具体的には、表示装置情報テーブル４２は、「ディスプレイＩＤ」、「ネットワークアドレス」、「画面サイズ」、「連結領域上の配置」の各フィールドを有する。ここで、図６（ａ）の表示装置情報テーブル４２には、図６（ｂ）に示すような座標系上において各表示装置８０Ａ〜８０Ｃの画面領域８２Ａ〜８２Ｃの配置やサイズを表した場合の情報が格納されている。なお、実際には、画面領域のうち壁面１０２に表示された部分とテーブル１０４の上面に表示された部分とは同一平面上にはないため、図６（ｂ）では、同一平面上に展開した状態を同一座標系上に示している。
【００２１】
表示装置情報テーブル４２のうち、「ディスプレイＩＤ」のフィールドには、画面領域の識別情報が格納される。なお、図６（ａ）では、表示装置８０ＡのディスプレイＩＤが「wall1」、表示装置８０ＢのディスプレイＩＤが「wall2」、表示装置８０ＣのディスプレイＩＤが「table」となっている。「ネットワークアドレス」のフィールドには、表示装置８０Ａ〜８０Ｃそれぞれのネットワークアドレスが格納されている。「画面サイズ」のフィールドには、各表示装置の画面領域の幅（width）と高さ（height）の情報が格納されている。なお、幅（width）は、画面領域の角度が０°のときにｘ軸方向に延びる辺の長さを意味し、高さ（height）は、画面領域の角度が０°のときにｙ軸方向に延びる辺の長さを意味する。「連結領域上の配置」のフィールドには、各画面領域の所定の頂点の位置（ｘ，ｙ）と、回転角（rotation）の情報が格納されている。所定の頂点は、画面領域の回転が０°である場合の左上の頂点を意味する。例えば、画面領域８２Ｃ（ディスプレイＩＤ＝table）の場合、他の画面領域８２Ａ、８２Ｂに対して９０°回転しているため、所定の頂点は、図６（ｂ）において符号「ｖ３」で示されている頂点となる。
【００２２】
連結画面領域情報テーブル４４は、表示装置情報テーブル４２（すなわち、図６（ｂ））から求められる、連結画面領域１８２の各頂点（ｖ０〜ｖ７）の情報を格納するテーブルである。なお、連結画面領域情報テーブル４４は、情報処理装置１０が、表示装置情報テーブル４２に基づいて自動的に生成するテーブルである。
【００２３】
図７（ａ）には、連結画面領域情報テーブル４４が示されている。図７（ａ）に示すように、連結画面領域情報テーブル４４は、「頂点」、「ｘ」、「ｙ」、「形状」、「内側」の各フィールドを有する。「頂点」のフィールドには、頂点の識別情報として「ｖ０」〜「ｖ７」が格納されている。本実施形態では、図６（ｂ）の連結画面領域１８２の左上の頂点を「ｖ０」として、時計回りに各頂点に識別情報が付与されている。ここで、二次元面上の多角形同士の重なり計算（ブーリアン演算）として、例えば、vattiクリッピング法などが知られている。この方法を利用することで、連結された画面領域の頂点座標を順番通りに得ることができる。また、なす角を図８（ａ）のように定義すると、各辺のなす角の合計が３６０°になれば時計回り、−３６０°になれば反時計回りとなる。「ｘ」、「ｙ」のフィールドには、各頂点のｘ座標及びｙ座標が格納されている。「形状」のフィールドには、「凸」、「凹」のいずれかが格納される。時計回り方向がどちらの方向であるかがわかれば、辺のどちら側が画面領域の内側であるかがわかるので、図８（ｂ）の上段に示すように内側に曲がる場合を「凸」、下段に示すように外側に曲がる場合を「凹」としている。図６（ｂ）の例では、頂点「ｖ０」、「ｖ１」等は「凸」であるが、頂点「ｖ３」、「ｖ６」は「凹」である。「内側」のフィールドには、画面領域の内側がｙ軸方向に延びる辺の左右どちらであるか、及びｘ軸方向に延びる辺の上下どちらであるかの情報を格納している。
【００２４】
ウィンドウ配置情報テーブル４６は、ユーザのタッチ操作により生成されたウィンドウの配置情報を管理するテーブルである。ウィンドウ配置情報テーブル４６は、図７（ｂ）に示すようなテーブルである。図７（ｂ）に示すように、ウィンドウ配置情報テーブル４６は、「ウィンドウＩＤ」、「コンテンツＩＤ」、「配置情報」の各フィールドを有する。「ウィンドウＩＤ」のフィールドには、ウィンドウの識別情報が格納されている。ウィンドウには、例えば、ユーザによって生成された順に識別情報「window1」、「window2」、…が割り当てられる。「コンテンツＩＤ」のフィールドには、各ウィンドウに表示されているコンテンツの種類を示す識別情報が格納される。例えば、画像のコンテンツＩＤが「content1」であり、付箋アプリのコンテンツＩＤが「content2」であったりする。「配置情報」のフィールドには、各ウィンドウの配置情報（ｘ，ｙ，width，height，rotation）が格納される。ｘ，ｙは、各ウィンドウの所定の頂点（角度０°のときに左上に位置する頂点）のｘ，ｙ座標である。width，heightは、各ウィンドウの幅（ウィンドウの角度が０°のときにＸ軸方向に延びる辺の長さ）、高さ（ウィンドウの角度が０°のときにＹ軸方向に延びる辺の長さ）である。「rotationは、各ウィンドウの回転角である。
【００２５】
図３に戻り、再配置部２４は、描画部２２が描画した画面情報において、ウィンドウが連結画面領域１８２からはみ出している場合に、ウィンドウを再配置する処理を実行する。再配置部２４による再配置の結果（ウィンドウを再配置する位置、再配置後のウィンドウのサイズ、回転量の情報）は、ウィンドウ配置情報テーブル４６に格納される。描画部２２では、ウィンドウ配置情報テーブル４６を参照して、再配置の結果に基づいて画面情報を生成（描画）し、表示装置８０Ａ〜８０Ｃ（画面表示部８４）に対して送信する。なお、再配置部２４は、上記処理を実行する際に、コンテンツＤＢ４０、表示装置情報テーブル４２、連結画面領域情報テーブル４４、ウィンドウ配置情報テーブル４６を参照する。
【００２６】
（情報処理装置１０の処理について）
次に、本実施形態に係る情報処理装置１０の処理について、フローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。
【００２７】
図９及び図２１は、情報処理装置１０において並行して実行される処理である。図９は、ユーザがコンテンツのウィンドウを新たに生成する操作を行った場合に実行される処理を示し、図２１は、ユーザが既に表示されているウィンドウを移動等する操作を行った場合に実行される処理を示している。
【００２８】
（図９の処理）
まず、図９の処理について説明する。図９の処理では、まずステップＳ１０において、ウィンドウ生成・移動部２０が、ウィンドウの出力指示の情報が表示装置８０Ａ〜８０Ｃの入力受付部８６から入力されるまで待機する。すなわち、ユーザがタッチ操作によりウィンドウを新たに表示する旨の操作を行った場合、例えば所定の図形（三角形等）を描くタッチ操作を行った場合に、ステップＳ１０の判断が肯定され、ステップＳ１２に移行する。
【００２９】
ステップＳ１２に移行すると、ウィンドウ生成・移動部２０は、ウィンドウＩＤを生成し、コンテンツＩＤと配置情報とともに、ウィンドウ配置情報テーブル４６（図７（ｂ）参照）に登録する。なお、ウィンドウ生成・移動部２０は、配置情報を、例えばユーザが描いた所定の図形の位置や角度に基づいて決定する。
【００３０】
次いで、ステップＳ１４では、再配置部２４が、ウィンドウの再配置処理を実行する。このウィンドウの再配置処理は、ステップＳ１２で登録した配置情報に基づいてウィンドウを配置するとウィンドウが連結画面領域１８２からはみ出すような場合に、はみ出さない位置まで移動する（再配置する）処理である。このウィンドウの再配置処理の詳細については、後述する。
【００３１】
次いで、ステップＳ１６では、描画部２２が、ウィンドウ配置情報テーブル４６と、コンテンツＤＢ４０、表示装置情報テーブル４２、連結画面領域情報テーブル４４とに基づいて、各表示装置８０Ａ〜８０Ｃで出力する画像を生成（描画）する。
【００３２】
次いで、ステップＳ１８では、描画部２２が、表示装置８０Ａ〜８０Ｃに画像を送信し、各画面領域８２Ａ〜８２Ｃ（連結画面領域１８２）に表示させる。
【００３３】
（ウィンドウの再配置処理）
次に、ステップＳ１４において再配置部２４が実行するウィンドウの再配置処理について、図１０のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。ここでは、一例として、ユーザのタッチ操作により、ウィンドウ（Ｗ）が図１１（ａ）に示すような連結画面領域１８２からはみ出す位置（第１位置）に表示指示された場合について説明する。
【００３４】
図１０の処理では、まずステップＳ５０において、ウィンドウＷが連結画面領域１８２外にあるか否かを判断する。図１１（ａ）に示すように、ウィンドウＷが連結画面領域１８２からはみ出している場合には、ステップＳ５０の判断が肯定され、ステップＳ５２に移行する。一方、ウィンドウＷが連結画面領域１８２内に収まっている場合には、再配置の必要がないため、ステップＳ５０の判断が否定された後、図１０の全処理を終了して、図９のステップＳ１６に移行する。
【００３５】
図１１（ａ）のようにウィンドウＷが連結画面領域１８２からはみ出しており、ステップＳ５２に移行した場合、再配置部２４は、移動可能領域作成処理を実行する。具体的には、再配置部２４は、図１２のフローチャートに沿った処理を実行する。
【００３６】
（移動可能範囲作成処理）
図１２の処理では、まず、ステップＳ７０において、再配置部２４が、ウィンドウＷの各頂点の位置、外接矩形のサイズを計算する。ここで、外接矩形とは、ウィンドウＷに外接するｘ軸方向に伸びる二辺及びｙ軸方向に延びる二辺を有する矩形を意味する。再配置部２４は、図１１（ｂ）に示すウィンドウＷの各頂点Ｐ１、Ｐ２、Ｐ３、Ｐ４の座標と、破線で示す外接矩形の縦、横の寸法を計算する。例えば、ウィンドウＷの幅をｗ、高さをｈとし、回転量（ｘ軸を基準とした回転角度）をｒとすると、外接矩形の縦寸法Ｌａ、横寸法Ｌｂは、次式（１）、（２）から求めることができる。
Ｌａ＝｜ｈ・cosｒ｜＋｜ｗ・sinｒ｜      …（１）
Ｌｂ＝｜ｗ・cosｒ｜＋｜ｈ・sinｒ｜      …（２）
【００３７】
次いで、ステップＳ７２では、再配置部２４が、連結画面領域１８２の１つの頂点を選択する。例えば、再配置部２４は、図１１（ｂ）に示す頂点ｖ０を選択する。
【００３８】
次いで、ステップＳ７４では、再配置部２４が、選択した頂点が凸形状であるか否かを判断する。この場合、再配置部２４は、図７（ａ）の連結画面領域情報テーブル４４を参照して、選択した頂点ｖ０が凸形状であるか否かを判断する。このステップＳ７４の判断が肯定されると、ステップＳ７６に移行し、再配置部２４は、選択した頂点にウィンドウＷを配置し、内側になる外接矩形の頂点を連結領域頂点に追加する。選択した頂点が頂点ｖ０である場合には、図１３に示すように、内側になる外接矩形頂点Ｃ０を連結領域頂点として追加する。なお、連結領域頂点とは、後述する連結表示領域を規定する頂点を意味する。
【００３９】
次いで、ステップＳ８０では、再配置部２４が、全ての頂点を選択済みであるか否かを判断する。この判断が否定されると、再配置部２４はステップＳ７２に戻る。なお、ステップＳ７４の判断が否定された場合、すなわち、例えば図１１（ｂ）に示す凹形状の頂点ｖ３が選択されている場合には、ステップＳ７８に移行する。ステップＳ７８に移行すると、再配置部２４は、選択した頂点ｖ３にウィンドウＷを配置し、内側になる外ウィンドウ頂点２つを反時計回り順に連結領域頂点に追加する。具体的には、図１３に示す頂点Ｃ３ａ、Ｃ３ｂを連結領域頂点に追加する。
【００４０】
なお、図１３の例では、ステップＳ７２〜Ｓ８０を繰り返す間に、頂点Ｃ０、Ｃ１、Ｃ２、Ｃ３ａ、Ｃ３ｂ、Ｃ４、Ｃ５、Ｃ６ａ、Ｃ６ｂ、Ｃ７が順に連結領域頂点に追加されることになる。以上のようにステップＳ７２〜Ｓ８０の処理が繰り返し実行され、ステップＳ８０の判断が肯定されると、再配置部２４は、ステップＳ８２に移行する。
【００４１】
ステップＳ８２に移行すると、再配置部２４は、連結領域頂点を順に繋ぎ、連結表示領域とする。図１３の例では、太実線で囲まれた領域が連結表示領域Ｒとなる。
【００４２】
次いで、ステップＳ８４では、再配置部２４が、連結表示領域Ｒの各辺同士が交差しているかを判定する。次いで、ステップＳ８６では、再配置部２４が、交差している辺があるか否かを判断し、判断が肯定された場合には、ステップＳ８８に移行し、否定された場合には、ステップＳ８８を経ずに図１２の全処理を終了して、図１０のステップＳ５４に移行する。なお、図１３の例では、辺が交差している箇所が２箇所あるため、ステップＳ８６の判断は肯定され、再配置部２４は、ステップＳ８８に移行する。
【００４３】
ステップＳ８８に移行すると、再配置部２４は、交点それぞれについて、その交点で連結表示領域を分割し、連結表示部分領域とする。なお、図１３の例では、図１４（ａ）においてハッチングを付して示す領域Ｒ１、ハッチングを付して示す領域Ｒ２、黒塗りの領域Ｒ３が連結表示部分領域となる。本実施形態において、連結表示部分領域Ｒ１〜Ｒ３は、ウィンドウＷの中心を連結画面領域１８２の外枠に沿って移動させたときに、ウィンドウＷが通過する範囲と通過しない範囲との境界線により囲まれた領域であるといえる。なお、連結表示部分領域Ｒ１、Ｒ２は、頂点の番号を小さい順に結んだときの方向が反時計回り方向となる領域である。このような領域を特に「自己交差領域」と呼ぶものとする。
【００４４】
上述したステップＳ８８の処理が実行された後は、再配置部２４は、図１２の全処理を終了して、図１０のステップＳ５４に移行する。
【００４５】
なお、図１４（ｂ）に示すような連結画面領域１８２’に対して、ウィンドウＷ’を再配置する場合には、連結表示領域Ｒ’の辺は交差しない。したがって、図１４（ｂ）の例の場合には、ステップＳ８６の判断は否定されるため、連結表示部分領域は生成されることはない。
【００４６】
図１０に戻り、ステップＳ５４に移行すると、再配置部２４は、移動先算出処理を実行する。具体的には、再配置部２４は、図１５のフローチャートに沿った処理を実行する。
【００４７】
（移動先算出処理）
図１５のステップＳ１０２では、再配置部２４が、連結表示領域Ｒの各辺について、ウィンドウＷの中心からの最短距離となる点を計算し、その点を第１移動先候補とする。ウィンドウＷの位置が図１１（ａ）の位置である場合には、連結表示領域Ｒの辺のうちウィンドウＷの中心から最も近い図１６に示す点Ｑ１が第１移動先候補となる。
【００４８】
次いで、ステップＳ１０４では、再配置部２４が、算出した点にウィンドウＷが移動したときに、連結画面領域１８２からはみ出すかを計算する。この場合、再配置部２４は、第１移動先候補の位置、ウィンドウＷの寸法、連結画面領域１８２の寸法等に基づいて、はみ出すか否かを計算により求めるようにすればよい。なお、各連結表示部分領域が自己交差領域であるかないかがわかっている場合には、第１移動先候補が自己交差領域内にあればウィンドウＷが連結画面領域１８２からはみ出すと判定してもよい。
【００４９】
次いで、ステップＳ１０６では、再配置部２４が、ウィンドウＷが連結画面領域１８２外にはみ出すか否かを判断する。このステップＳ１０６の判断が否定された場合には、ステップＳ１０８に移行し、再配置部２４は、第１移動先候補をウィンドウＷの移動先として決定する。その後は、図１５の全処理を終了し、図１０のステップＳ５６に移行する。なお、図１４（ｂ）のように連結表示領域Ｒ’から連結表示部分領域が生成されないような場合には、ステップＳ１０６の判断は否定される。
【００５０】
一方、ステップＳ１０６の判断が肯定された場合には、ステップＳ１１０に移行し、再配置部２４は、各連結表示部分領域について、最短距離となる点を計算する。例えば、図１６の例では、連結表示部分領域Ｒ２、Ｒ３の点Ｑ２、Ｑ３が求められる。
【００５１】
次いで、ステップＳ１１２では、再配置部２４が、各連結表示部分領域の算出した点（Ｑ２、Ｑ３）について、ウィンドウＷの中心を移動したときに連結画面領域１８２からはみ出さない点のうち、移動距離が最短の点を第２移動先候補とする。図１６の例では、点Ｑ２にウィンドウＷの中心を移動した場合には、ウィンドウＷが連結画面領域１８２からはみ出し、点Ｑ３にウィンドウＷが移動した場合には、ウィンドウＷが連結画面領域１８２からはみ出さない。したがって、点Ｑ３が第２移動先候補となる。なお、ステップＳ１１０、Ｓ１１２においては、各連結表示部分領域が自己交差領域であるかないかがわかっている場合には、自己交差領域でない連結表示部分領域のうちウィンドウＷの中心に最も近い点を第２移動先候補としてもよい。
【００５２】
次いで、ステップＳ１１４に移行すると、再配置部２４は、第１移動先候補における回転・サイズ変更処理を実行する。このステップＳ１１４では、再配置部２４は、図１７に示すフローチャートに沿った処理を実行する。
【００５３】
（第１移動先候補における回転・サイズ変更処理）
図１７の処理では、まず、ステップＳ１２０において、再配置部２４が、第１移動先候補を含む連結表示部分領域の各辺について、水平の辺（図６のｘ軸方向に延びる辺）及び垂直の辺（図６のｙ軸方向に延びる辺）のみを抽出する。図１８には、連結表示部分領域Ｒ１近傍を拡大した図が示されている。図１８の例の場合、連結表示部分領域Ｒ１のうち、水平方向に延びる上下の辺及び垂直方向に延びる左側の辺が抽出される。
【００５４】
次いで、ステップＳ１２２では、再配置部２４が、水平の辺が２本以上あれば、その間の距離を領域の垂直幅とする。図１８の例では、水平方向に延びる辺の間の距離Ｔが垂直幅となる。なお、垂直幅Ｔは、ウィンドウＷ（外接矩形）の垂直方向の寸法（Ｌａ）と、連結画面領域１８２の連結表示部分領域Ｒ１が存在する範囲における垂直方向の幅との差（はみ出し量）を意味している。
【００５５】
次いで、ステップＳ１２４では、再配置部２４が、垂直の辺が２本以上あれば、その間の距離を領域の水平幅とする。なお、図１８の例では、垂直方向に延びる辺が１本しかないため、水平幅は存在しないものとする。
【００５６】
次いで、ステップＳ１２６では、再配置部２４が、垂直幅、水平幅の１つを選択する。図１８の例では、垂直幅Ｔが選択される。次いで、ステップＳ１２８では、再配置部２４が、選択した幅（ここでは垂直幅Ｔ）だけ外接矩形の幅や高さを変更するときのサイズ変更量（縮小倍率）を計算する。なお、ここでは、ウィンドウＷのアスペクト比を維持するものとする。この場合、サイズ変更後の外接矩形の垂直幅を（Ｌａ−Ｔ）とし、縮小倍率をａとすると、次式（３）を満たすａを求めればよい。
Ｌａ−Ｔ＝｜ａｈ・cosｒ｜＋｜ａｗ・sinｒ｜      …（３）
【００５７】
なお、サイズ変更後のウィンドウの幅はａｗとなり、高さはａｈとなる。
【００５８】
次いで、ステップＳ１３０では、再配置部２４が、選択した幅（ここでは垂直幅Ｔ）だけ外接矩形の幅や高さを変更するときの回転量を計算する。この場合、次式（４）を満たす角度ｒ’を求める。
Ｌａ−Ｔ＝｜ｈ・cosｒ’｜＋｜ｗ・sinｒ’｜      …（４）
【００５９】
そして、角度ｒとｒ’の差の絶対値｜ｒ−ｒ’｜を、外接矩形の幅や高さを変更するときの回転量Ｎとする。なお、ｒ’は、求まらない（解がない）場合もある。
【００６０】
次いで、ステップＳ１３２では、再配置部２４が、全ての垂直幅、水平幅の選択が終了しているか否かを判断する。ここでの判断が否定された場合には、ステップＳ１２６に戻るが、肯定された場合には、ステップＳ１３４に移行する。
【００６１】
ステップＳ１３２の判断が肯定されて、ステップＳ１３４に移行すると、再配置部２４は、各ウィンドウ候補（サイズ変更後のウィンドウや角度変更後のウィンドウ）について、移動可能範囲と移動先を計算する処理を実行する。この場合、各ウィンドウ候補を用いて、前述したステップＳ５２（図１２）と同様の処理を実行し、求まった移動可能範囲の各辺のうち、ウィンドウ候補から最も近い点を移動先候補として決定する。なお、決定した点が連結表示領域Ｒ（図１３）の外であった場合には、移動先候補からは除外するものとする。その後は、図１５のステップＳ１１６に移行する。なお、図１９（ａ）には、サイズ変更後のウィンドウ（Ｗａ）を移動先候補に移動した状態が示されており、図１９（ｂ）には、回転後のウィンドウ（Ｗｂ）を移動先候補に移動した状態が示されている。
【００６２】
図１５のステップＳ１１６に移行すると、再配置部２４は、候補選択処理を実行する。このステップＳ１１６では、再配置部２４が、図２０のフローチャートに沿った処理を実行する。
【００６３】
（候補選択処理）
図２０の処理では、まずステップＳ１４０において、再配置部２４が、各候補について、違和感量の評価関数で評価値を計算する。この場合の候補とは、第１移動先候補においてウィンドウのサイズを変更した場合の移動先候補、第１移動先候補においてウィンドウを回転した場合の移動先候補、及び第２移動先候補、である。ステップＳ１４０では、上記各候補について、評価関数ｆの値（評価値）を求める。評価関数ｆは、一例として、次式（５）にて表すことができるものとする。
ｆ＝Ｕ＋αＳ＋βＮ      …（５）
【００６４】
ここで、Ｕは、ウィンドウの移動距離を意味し、Ｓは、サイズ変更量、Ｎは回転量を意味する。サイズ変更量Ｓは、次式（６）にて表され、回転量Ｎは、次式（７）で表される。
Ｓ＝（ｈ−ａｈ）＋（ｗ−ａｗ）      …（６）
Ｎ＝｜ｒ−ｒ’｜      …（７）
【００６５】
また、上式（５）の係数α、βは、図５のコンテンツＤＢ４０において予め定義されているものとする。なお、図５においては、コンテンツの種類ごとにサイズ変更の係数（α）の値と、回転量の係数（β）が定義されている。αの値が大きい場合には、ウィンドウのサイズ調整をなるべく行いたくないことを意味し、βの値が大きい場合には、ウィンドウの回転調整をなるべく行いたくないことを意味する。なお、α、βの値は、ユーザや管理者が設定できるものとする。例えば、移動距離が短ければよい（回転やサイズ変更を気にしない）ような場合には、α、βを０に設定すればよい。また、サイズ変更や回転を一切許容しない場合には、αやβを∞に設定すればよい。
【００６６】
次いで、ステップＳ１４２では、再配置部２４が、評価関数ｆの値（評価値）が最も低い候補を選択し、移動先として決定する。以上のようにして、図２０の処理が終了すると、図１５の処理（ステップＳ５４）も終了し、図１０のステップＳ５６に移行する。
【００６７】
図１０に戻り、ステップＳ５６に移行すると、再配置部２４は、図１５のステップＳ１０８又は図２０のステップＳ１４２で決定した移動先をウィンドウの配置先とする。この場合、再配置部２４は、新たに決定されたウィンドウの配置先の情報で、ウィンドウ配置情報テーブル４６を更新する。その後は、図９のステップＳ１６に移行する。
【００６８】
なお、ステップＳ５６においてウィンドウ配置情報テーブル４６が更新された場合、描画部２２は、更新後のウィンドウ配置情報テーブル４６に基づいて、各表示装置８０Ａ〜８０Ｃにおいて出力する画像を生成（描画）する。これにより、ユーザがウィンドウの表示を指示した位置が適切でない（連結画面領域１８２からはみ出す位置である）場合でも、ウィンドウを適切な位置（はみ出さない位置）に表示することができるようになっている。この場合、評価関数ｆの値が最も小さくなる位置・状態でウィンドウが表示されるため、ユーザがウィンドウの表示に関して抱く違和感を低減することができる。
【００６９】
なお、ステップＳ１２８において、ウィンドウのサイズ変更を行う場合に、ウィンドウのアスペクト比（縦横比）の変更を許容できるようにしてもよい。アスペクト比の変更が許容されている場合には、サイズ変更の際に、例えばウィンドウの長い方の辺を縮めるようにサイズ変更をすることができる。なお、アスペクト比の変更を許容するか否かの情報は、図５のコンテンツＤＢ４０に格納しておけばよい。以下、アスペクト比の変更を許容する場合のサイズ変更の一例を説明する。
【００７０】
例えば、図１８に示すように幅ｗが高さｈよりも大きければ、再配置部２４は、次式（８）を解くことにより、縮小倍率ａを求める。
Ｌａ−Ｔ＝｜ｈ・cosｒ｜＋｜ａｗ・sinｒ｜      …（８）
【００７１】
そして、再配置部２４は、幅ｗを縮小倍率ａだけ縮小して、ウィンドウを表示すればよい。この場合、上式（５）の評価関数ｆの値を求める際に用いるサイズ変更量Ｓは、次式（９）で表される。
Ｓ＝ｗ−ａｗ    …（９）
【００７２】
また、これとは逆に、幅ｗが高さｈよりも小さければ、再配置部２４は、次式（１０）を解くことにより、縮小倍率ａを求める。
Ｌａ−Ｔ＝｜ａｈ・cosｒ｜＋｜ｗ・sinｒ｜      …（１０）
【００７３】
そして、再配置部２４は、高さｈを縮小倍率ａだけ縮小して、ウィンドウを表示すればよい。この場合、上式（５）の評価関数ｆの値を求める際に用いるサイズ変更量Ｓは、次式（１１）で表される。
Ｓ＝ｈ−ａｈ    …（１１）
【００７４】
なお、幅ｗと高さｈが等しいときは、アスペクト比を維持する方法（上式（６））を用いればよい。
【００７５】
（図２１の処理）
次に、図９の処理と並行して実行される図２１の処理について説明する。
【００７６】
図２１の処理では、まず、ステップＳ３０において、ウィンドウ生成・移動部２０が、ウィンドウの移動、サイズ変更、回転の指示の情報が入力されるまで待機する。すなわち、ユーザがタッチ操作により既に連結画面領域１８２内に表示されているウィンドウＷを移動等すると、ステップＳ３０の判断が肯定され、ステップＳ３２に移行する。
【００７７】
ステップＳ３２に移行すると、描画部２２は、入力に応じてウィンドウの配置変更を計算し、ウィンドウ配置情報テーブル４６（図７（ｂ））を更新する。
【００７８】
次いで、ステップＳ３４では、描画部２２が、入力完了か否かを判断する。すなわち、描画部２２は、ユーザが移動やサイズ変更、回転のタッチ操作を終了したという情報を入力受付部８６から受け付けたか否かを判断する。
【００７９】
ステップＳ３４の判断が否定された場合には、ステップＳ３８、Ｓ４０において、ウィンドウを移動等している間の表示を、上述したステップＳ１６、Ｓ１８と同様に実行する。具体的には、ステップＳ３８では、描画部２２が、ウィンドウ配置情報テーブル４６等に基づいて、各表示装置８０Ａ〜８０Ｃで出力する画像（ウィンドウを移動等している間の画像）を生成する。そして、ステップＳ４０では、描画部２２が、表示装置８０Ａ〜８０Ｃに画像を送信し、表示させる。その後は、ステップＳ３０に戻る。なお、ステップＳ３４の判断が肯定されるまでの間、すなわちユーザによる入力が完了するまでの間は、ユーザのタッチ操作に合わせてウィンドウが移動等している状態が表示されるようになっている。
【００８０】
一方、ステップＳ３４の判断が肯定された場合には、ステップＳ３６に移行し、再配置部２４は、ウィンドウの再配置処理を実行する。なお、ステップＳ３６のウィンドウの再配置処理は、前述したステップＳ１４の処理（図１０）と同様となっている。したがって、移動等された後のウィンドウが表示されている位置が適切でない（連結画面領域１８２からはみ出す位置である）場合には、ウィンドウが適切な位置（はみ出さない位置）に再配置されるようになっている。この場合、評価関数ｆの値が最も小さくなる位置・状態でウィンドウが表示されるため、ユーザがウィンドウの表示に関して抱く違和感を低減することができる。
【００８１】
なお、これまでの説明からわかるように、本実施形態の再配置部２４により、連結表示部分領域Ｒ１〜Ｒ３を特定する特定部、第１移動先候補を決定する決定部、第１移動先候補に基づいてウィンドウを配置する配置部、としての機能が実現されている。
【００８２】
以上、詳細に説明したように、本実施形態によると、再配置部２４は、ウィンドウＷが連結画面領域１８２からはみ出している又ははみ出ることを検出すると（Ｓ５０：肯定）、ウィンドウＷの中心を連結画面領域１８２の外枠に沿って移動させたときに、ウィンドウＷが通過する範囲と通過しない範囲との境界線により囲まれた領域（連結表示部分領域Ｒ１〜Ｒ３）を特定する（図１２のＳ８２〜Ｓ８８）。また、再配置部２４は、連結表示部分領域Ｒ１〜Ｒ３のうちウィンドウＷの位置から最も近い位置を第１移動先候補とする（図１５のＳ１０２）。そして、再配置部２４は、第１移動先候補にウィンドウＷを配置したときに、ウィンドウＷが連結画面領域１８２からはみ出なければ、第１移動先候補をウィンドウＷの移動先として決定する（図１５のＳ１０８）。一方、再配置部２４は、ウィンドウＷが連結画面領域１８２からはみ出る場合には、はみ出し量に基づいてウィンドウＷの角度及び／又はサイズを変更したうえで、第１移動先候補の近傍にウィンドウＷを配置するか、ウィンドウＷが連結画面領域１８２からはみ出ない連結表示部分領域Ｒ３のうちウィンドウＷの位置から最も近い位置にウィンドウＷを配置する（図１５のＳ１１０〜Ｓ１１６）。このように、連結表示部分領域Ｒ１〜Ｒ３のうちウィンドウＷから最も近い位置を第１移動先候補とした場合において、ウィンドウＷをそのまま配置できればそのまま配置し、はみ出す場合にはウィンドウＷを回転したりサイズを変更したりして配置するか、回転やサイズ変更を行わずに配置できる位置に配置する。これにより、ユーザに与える違和感が少なくなるように、ウィンドウＷを再配置することができるようになる。
【００８３】
ここで、比較例について説明する。図２２（ａ）〜図２２（ｆ）は、比較例を説明するための図であり、モルフォロジー演算と呼ばれる処理により、ウィンドウＷを再配置する位置を求める方法を示す図である。この処理では、ウィンドウＷが連結画面領域１８２からはみ出している場合に、図２２（ａ）〜図２２（ｅ）に示すように、ウィンドウＷの中心を連結画面領域１８２の辺（外周）に沿って移動させる。そして、ウィンドウＷが移動する際に通過した部分（画素）を塗りつぶす（図２２（ａ）〜図２２（ｅ）の灰色部分参照）。
【００８４】
ウィンドウＷが連結画面領域１８２の外周を1周回って、塗りつぶしが完了すると、塗りつぶされていない領域が残る（図２２（ｅ）参照）。この領域は、該領域内にウィンドウＷの中心を配置したとしても、ウィンドウＷが連結画面領域１８２からはみ出さない領域を意味する。本比較例では、図２２（ｆ）に示すように、当該領域のうちウィンドウＷから最も近い位置にウィンドウの中心を配置するようにすればよい。
【００８５】
このモルフォロジー演算を用いた方法では、画素の塗りつぶし処理を行う必要があるため、画素数に応じた計算が必要となる。これにより、計算時間がかかり、処理量が増大するおそれがある。一方、本実施形態では、画素の塗りつぶしが不要なため、処理量を低減することができる。また、図２２（ｆ）の例では、本実施形態で説明した連結表示部分領域Ｒ１への移動が許容されていないため、移動距離が長くなるおそれがある。このため、ウィンドウの操作を行ったユーザが、ウィンドウの再配置に対して違和感を覚えるおそれがある。一方、本実施形態では、上述のように、ウィンドウの回転やサイズ変更を許容することで、再配置の際の移動距離を小さくすることができるため、ユーザに与える違和感を低減することができるようになっている。
【００８６】
また、本実施形態では、再配置部２４は、ウィンドウが連結画面領域１８２からはみ出す場合に、ウィンドウＷの移動距離、角度の変更量、及びサイズ変更量に基づく評価値が最も小さくなるようにウィンドウＷを再配置することとしている。これにより、ユーザの違和感を最小限に抑えることができる位置にウィンドウＷを再配置することができる。
【００８７】
また、本実施形態では、ユーザ等が、評価関数ｆにおけるウィンドウの移動距離、角度の変更量、及びサイズ変更量の重み（係数）を変更することができるようになっている。これにより、ウィンドウを再配置する際に、ユーザ等の好みを反映させることができる。
【００８８】
また、本実施形態では、評価関数ｆの係数を、コンテンツＤＢ４０においてウィンドウに表示されるコンテンツの種類ごとに管理している。これにより、コンテンツに合わせて、違和感のないウィンドウの再配置を実現することができる。
【００８９】
また、本実施形態では、ウィンドウの角度やサイズを変更する際に、連結表示部分領域Ｒ１の寸法に基づいて、角度やサイズの変更量を決定するので、簡易な計算により、適切な変更量を求めることができる。
【００９０】
なお、上記実施形態では、評価関数ｆとして上式（５）を用いる場合について説明したが、これに限られるものではない。すなわち、上式（５）の評価関数ｆに代えて、その他の評価関数を用いることとしてもよい。
【００９１】
なお、上記実施形態では、連結画面領域１８２が、図２に示すような形状を有する場合について説明したが、これに限られるものではない。すなわち、連結画面領域１８２は、矩形を組み合わせた形状を有していればよい。また、上記実施形態では、表示装置８０Ａ、８０Ｂ…が画面表示部８４としてプロジェクタを含む場合について説明したが、これに限らず、表示装置８０Ａ、８０Ｂ…は画面表示部８４として液晶ディスプレイ等のディスプレイを含んでいてもよい。
【００９２】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記憶媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９３】
プログラムを実行するコンピュータは、例えば、可搬型記憶媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９４】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００９５】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  表示領域に矩形状のウィンドウを配置する処理を実行する情報処理装置であって、
前記ウィンドウの表示位置が前記表示領域からはみ出る第１位置であることを検出すると、前記ウィンドウの中心を前記表示領域の外枠に沿って移動させたときに、前記ウィンドウが通過する範囲と通過しない範囲との境界線により囲まれた１又は複数の領域を前記ウィンドウの配置候補領域として特定する特定部と、
１又は複数の前記配置候補領域のうち、前記第１位置から最も近い位置を前記ウィンドウの配置候補位置として決定する決定部と、
前記配置候補位置と前記ウィンドウの中心とを一致させたときに、前記ウィンドウが前記表示領域からはみ出ない場合には、該配置候補位置に前記ウィンドウの中心を配置し、前記ウィンドウが前記表示領域からはみ出す場合には、はみ出し量に基づいて前記ウィンドウの角度及び／又はサイズを変更したうえで、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、又は前記ウィンドウの角度及びサイズを変更せずに、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する配置部と、
を備える情報処理装置。
（付記２）  前記配置部は、前記ウィンドウが前記表示領域からはみ出す場合に、前記ウィンドウの移動距離、角度の変更量、及びサイズ変更量に基づく評価値が最も小さくなるように前記ウィンドウを配置する、ことを特徴とする付記１に記載の情報処理装置。
（付記３）  前記評価値を算出するときの、前記ウィンドウの移動距離、角度の変更量、及びサイズ変更量の重みが可変であることを特徴とする、付記２に記載の情報処理装置。
（付記４）  前記重みは、前記ウィンドウに表示されるコンテンツの種類に応じて決定されることを特徴とする付記３に記載の情報処理装置。
（付記５）  前記配置部は、前記ウィンドウの角度及び／又はサイズを変更する際には、前記配置候補位置が含まれる前記配置候補領域の寸法に基づいて、前記角度の変更量及び／又はサイズの変更量を決定する、ことを特徴とする付記１〜４のいずれかに記載の情報処理装置。
（付記６）  前記表示領域は長方形を組み合わせた形状を有する、ことを特徴とする付記１〜５のいずれかに記載の情報処理装置。
（付記７）  表示領域に矩形状のウィンドウを含む画面を表示する表示装置と、
前記画面を生成して、前記表示装置に表示させる情報処理装置と、を備え、
前記情報処理装置は、
前記ウィンドウの表示位置が前記表示領域からはみ出る第１位置であることを検出すると、前記ウィンドウの中心を前記表示領域の外枠に沿って移動させたときに、前記ウィンドウが通過する範囲と通過しない範囲との境界線により囲まれた１又は複数の領域を前記ウィンドウの配置候補領域として特定する特定部と、
１又は複数の前記配置候補領域のうち、前記第１位置から最も近い位置を前記ウィンドウの配置候補位置として決定する決定部と、
前記配置候補位置と前記ウィンドウの中心とを一致させたときに、前記ウィンドウが前記表示領域からはみ出ない場合には、該配置候補位置に前記ウィンドウの中心を配置し、前記ウィンドウが前記表示領域からはみ出す場合には、はみ出し量に基づいて前記ウィンドウの角度及び／又はサイズを変更したうえで、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、又は前記ウィンドウの角度及びサイズを変更せずに、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する配置部と、を有する、
ことを特徴とする表示システム。
（付記８）  矩形状のウィンドウの表示位置が表示領域からはみ出る第１位置であることを検出すると、前記ウィンドウの中心を前記表示領域の外枠に沿って移動させたときに、前記ウィンドウが通過する範囲と通過しない範囲との境界線により囲まれた１又は複数の領域を前記ウィンドウの配置候補領域として特定し、
１又は複数の前記配置候補領域のうち、前記第１位置から最も近い位置を前記ウィンドウの配置候補位置として決定し、
前記配置候補位置と前記ウィンドウの中心とを一致させたときに、前記ウィンドウが前記表示領域からはみ出ない場合には、該配置候補位置に前記ウィンドウの中心を配置し、前記ウィンドウが前記表示領域からはみ出す場合には、はみ出し量に基づいて前記ウィンドウの角度及び／又はサイズを変更したうえで、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、又は前記ウィンドウの角度及びサイズを変更せずに、前記表示領域から前記ウィンドウがはみ出ない前記第１位置に最も近い位置に前記ウィンドウの中心を配置する、
処理をコンピュータに実行させるためのウィンドウ配置プログラム。
（付記９）  前記配置する処理では、前記ウィンドウが前記表示領域からはみ出す場合に、前記ウィンドウの移動距離、角度の変更量、及びサイズ変更量に基づく評価値が最も小さくなるように前記ウィンドウを配置する、ことを特徴とする付記８に記載のウィンドウ配置プログラム。
（付記１０）  前記評価値を算出するときの、前記ウィンドウの移動距離、角度の変更量、及びサイズ変更量の重みが可変であることを特徴とする、付記９に記載のウィンドウ配置プログラム。
（付記１１）  前記重みは、前記ウィンドウに表示されるコンテンツの種類に応じて決定されることを特徴とする付記１０に記載のウィンドウ配置プログラム。
（付記１２）  前記配置する処理では、前記ウィンドウの角度及び／又はサイズを変更する際には、前記配置候補位置が含まれる前記配置候補領域の寸法に基づいて、前記角度の変更量及び／又はサイズの変更量を決定する、ことを特徴とする付記８〜１１のいずれかに記載のウィンドウ配置プログラム。
（付記１３）  前記表示領域は長方形を組み合わせた形状を有する、ことを特徴とする付記８〜１２のいずれかに記載のウィンドウ配置プログラム。
【符号の説明】
【００９６】
１０  情報処理装置
２４  再配置部（特定部、決定部、配置部）
８０Ａ〜８０Ｃ  表示装置
１００  表示システム
１８２  連結画面領域（表示領域）
Ｗ  ウィンドウ
Ｒ１、Ｒ２、Ｒ３  連結表示部分領域（配置候補領域）
【図１】
2019168847.tif 000003
【図２】
2019168847.tif 000004
【図３】
2019168847.tif 000005
【図４】
2019168847.tif 000006
【図５】
2019168847.tif 000007
【図６】
2019168847.tif 000008
【図７】
2019168847.tif 000009
【図８】
2019168847.tif 000010
【図９】
2019168847.tif 000011
【図１０】
2019168847.tif 000012
【図１１】
2019168847.tif 000013
【図１２】
2019168847.tif 000014
【図１３】
2019168847.tif 000015
【図１４】
2019168847.tif 000016
【図１５】
2019168847.tif 000017
【図１６】
2019168847.tif 000018
【図１７】
2019168847.tif 000019
【図１８】
2019168847.tif 000020
【図１９】
2019168847.tif 000021
【図２０】
2019168847.tif 000022
【図２１】
2019168847.tif 000023
【図２２】
2019168847.tif 000024