(57)【要約】【課題】２次元チャットシステムにおいて、チャットキャンバスの広い範囲に亘って配置される発言文について、参照する際のユーザの操作負担を軽減しつつ、その配置位置や内容を容易に把握できるようにする。【解決手段】チャットサーバより、発言文テキストデータと、チャットキャンバスに配置したオブジェクトの位置情報とを含むチャットデータを受信し、メモリに記憶するモジュールと、３次元仮想空間において、チャットキャンバスに配置されたオブジェクトを仮想カメラから見たスクリーンに投影し、スクリーン上のオブジェクト位置を算出するモジュールと、スクリーン上のオブジェクト位置に基づき、該オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示するモジュールと、ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する。
2008029466.tif 000002
【特許請求の範囲】
【請求項１】
チャットサーバより、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶する受信モジュールであって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置した、発言文表示位置を特定するためのオブジェクト（以下、「発言文オブジェクト」という）の位置情報とを少なくとも含む、受信モジュールと、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出モジュールと、
前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する表示モジュールと、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更モジュールと、
を備えることを特徴とするチャット端末装置。
【請求項２】
前記変更モジュールは、ユーザからの入力に基づき、３次元仮想空間におけるチャットキャンバスと仮想カメラの視線方向との傾き（以下、「キャンバス傾斜度」という）を相対的に変更することを特徴とする請求項１記載のチャット端末装置。
【請求項３】
前記表示モジュールは、キャンバス傾斜度を９０度にした場合に前記スクリーンに投影されるチャットキャンバスの範囲を、チャットウィンドウに表示することを特徴とする請求項２記載のチャット端末装置。
【請求項４】
前記表示モジュールは、チャットウィンドウに表示する直線の傾き、図形の大小、図形のピッチ、図形の明暗のいずれかによって、キャンバス傾斜度の大小を表すことを特徴とする請求項２又は３記載のチャット端末装置。
【請求項５】
少なくとも１台のチャットサーバと、複数のチャット端末装置とを備えたチャットシステムであって、
前記チャットサーバは、
前記複数のチャット端末装置のうち１台より、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶するモジュールであって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置した、発言文表示位置を特定するためのオブジェクト（以下、「発言文オブジェクト」という）の位置情報とを少なくとも含む、モジュールと、前記複数のチャット端末装置に対して前記チャットデータを送信するモジュールとを備え、
前記チャット端末装置は、
前記チャットサーバより、前記チャットデータを受信し、メモリに記憶するチャットデータ受信モジュールと、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出モジュールと、
前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する表示モジュールと、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更モジュールと、
を備えることを特徴とする、チャットシステム。
【請求項６】
チャットサーバより、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶する受信工程であって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置した、発言文表示位置を特定するためのオブジェクト（以下、「発言文オブジェクト」という）の位置情報とを少なくとも含む、受信工程と、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出工程と、
前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する表示工程と、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更工程と、
を備えることを特徴とするチャットデータ表示方法。
【請求項７】
請求項６記載のチャットデータ表示方法をコンピュータで実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークを通じてリアルタイムに文字ベースの会話を行なうチャットシステムに関し、特に、そのチャットシステムにおいて用いるチャット端末装置に関する。
【背景技術】
【０００２】
従来より、コンピュータネットワークを通じてリアルタイムに文字ベースの会話を行なうことができるチャットシステムが知られている（特許文献１参照）。従来のチャットシステムでは、通常、話題ごとにチャットルームが用意されており、各チャットルームでは、チャット参加者が入力した発言文がチャットウィンドウの上から下へ入力順に（すなわち、１次元の時間軸に沿って）並べて表示される。【０００３】
一方、近年では、所定の２次元領域（チャットキャンバス）上の自由な位置に発言文を配置可能としたチャットシステム（以下、「２次元チャットシステム」という）が提案・開発されている（非特許文献１参照）。このような２次元チャットシステムでは、チャットキャンバスにおいて話題ごとに発言文の配置位置を異ならせることで、視覚的にグループ分けを行うことができるため、１つのチャットキャンバスで複数の話題について同時に議論を進行させるのに適している。
【特許文献１】特開２００２−２８８１０２号公報
【非特許文献１】福井誠、魚井宏高、「二次元チャットシステムの会話の流れを把握する手法に関する研究」、情報処理学会第６６回全国大会講演論文集、２００４年、Ｖｏｌ４、ｐ．３１９−３２０
【発明の開示】
【発明が解決しようとする課題】
【０００４】
非特許文献１に記載された２次元チャットシステムは、既に配置された発言文Ｘを指定して（又は重なって配置されるように指定して）発言文Ｙを入力した場合に、発言文Ｙを発言文Ｘの斜め右下位置（インデントした位置）に自動的に配置する機能（発言文の自動配置機能）を備えている。この機能を利用した場合、議論が進行するにつれて発言文の配置位置が表示画面右側に寄っていくため、上記２次元チャットシステムでは、いずれかの発言文が表示画面右端から一定の範囲に配置された場合に、チャットキャンバスを右側に一定サイズ自動的に拡張する機能（チャットキャンバスの自動拡張機能）も実装している。【０００５】
しかし、このような自動拡張機能によって、チャットキャンバスがある程度、拡張されると、表示画面にはチャットキャンバスの一部の範囲（一部の発言文）のみが表示されることとなるため、チャットキャンバス全体の状況（どのような位置で、どのような議論が進行しているか）を把握することが難しくなる。単に議論が活発に行われている箇所を把握する目的であれば、例えばチャットキャンバスの縮小図形内に発言文の配置関係を単純な形状・色で表示したナビゲーション画面を設けることでも対応できるが、このようなナビゲーション画面では議論の中身（発言文の内容）までを把握することはできない。【０００６】
またチャットキャンバスの一部の範囲のみが表示される状況では、表示画面に一度に表示される範囲を超えて進行した議論を参照したいと考えた場合、スクロールバー等を操作してチャットキャンバスの表示範囲を動かしながら発言文を参照する必要がある。特に複数の話題についての議論が同時に進行し、関連する発言文がチャットキャンバスの広い範囲に亘って展開されている場合、それらの複数の議論を同時に追っていくためには、チャットキャンバスの表示範囲を頻繁に変更して各話題の発言文を参照しなければならず、そのような表示範囲の変更作業は、発言文の入力作業も行う必要のあるユーザにとって大きな負担となっていた。【０００７】
そこで、本発明は、２次元チャットシステムにおいて、チャットキャンバスの広い範囲に亘って配置される発言文について、参照する際のユーザの操作負担を軽減しつつ、その配置位置や内容を容易に把握できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明のチャット端末装置は、チャットサーバより、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶する受信モジュールであって、前記チャットデータは、発言文のテキストデータと、２次元領域（チャットキャンバス）に配置した、発言文表示位置を特定するためのオブジェクト（発言文オブジェクト）の位置情報とを少なくとも含む、受信モジュールと、チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出モジュールと、前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する表示モジュールと、ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更モジュールと、を備えることを特徴とする。【０００９】
好適には、前記変更モジュールは、ユーザからの入力に基づき、３次元仮想空間におけるチャットキャンバスと仮想カメラの視線方向との傾き（キャンバス傾斜度）を相対的に変更する。【００１０】
また好適には、前記表示モジュールは、キャンバス傾斜度を９０度にした場合に前記スクリーンに投影されるチャットキャンバスの範囲を、チャットウィンドウに表示する。【００１１】
また好適には、前記表示モジュールは、チャットウィンドウに表示する直線の傾き、図形の大小、図形のピッチ、図形の明暗のいずれかによって、キャンバス傾斜度の大小を表す。【００１２】
本発明のチャットシステムは、少なくとも１台のチャットサーバと、複数のチャット端末装置とを備えたチャットシステムであって、前記チャットサーバは、前記複数のチャット端末装置のうち１台より、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶するモジュールであって、前記チャットデータは、発言文のテキストデータと、２次元領域（チャットキャンバス）に配置した、発言文表示位置を特定するためのオブジェクト（発言文オブジェクト）の位置情報とを少なくとも含む、モジュールと、前記複数のチャット端末装置に対して前記チャットデータを送信するモジュールとを備え、前記チャット端末装置は、前記チャットサーバより、前記チャットデータを受信し、メモリに記憶するチャットデータ受信モジュールと、チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出モジュールと、前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する表示モジュールと、ユーザからの入力に基づき、３次元仮想空間におけるチャットキャンバスと仮想カメラの視線方向との傾き（キャンバス傾斜度）を相対的に変更するキャンバス傾斜度変更モジュールと、を備えることを特徴とする。【００１３】
本発明のチャットデータ表示方法は、チャットサーバより、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶する受信工程であって、前記チャットデータは、発言文のテキストデータと、２次元領域（チャットキャンバス）に配置した、発言文表示位置を特定するためのオブジェクト（発言文オブジェクト）の位置情報とを少なくとも含む、受信工程と、チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出工程と、前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する表示工程と、ユーザからの入力に基づき、３次元仮想空間におけるチャットキャンバスと仮想カメラの視線方向との傾きを相対的に変更する変更工程と、を備えることを特徴とする。【００１４】
本発明のプログラム（プログラム製品）は、本発明のチャットデータ表示方法の各工程をコンピュータ上で実行させることを特徴とする。本発明のプログラム（プログラム製品）は、ＣＤ−ＲＯＭ、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークを介してダウンロードすることにより、コンピュータにインストールまたはロードすることができる。【００１５】
なお、本明細書において、モジュールとは、単に物理的手段だけを意味するものではなく、そのモジュールが有する機能の一部又は全部をソフトウェアによって実現する場合も含む。また、１つのモジュールが有する機能が２つ以上の物理的手段により実現されても、２つ以上のモジュールの機能が１つの物理的手段により実現されても良い。
【発明の効果】
【００１６】
本発明によれば、２次元チャットシステムにおいて、チャットキャンバスの広い範囲に亘って配置される発言文について、参照する際のユーザの操作負担を軽減しつつ、その配置位置や内容を容易に把握することができる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施形態について図面を用いて説明する。【００１８】
図１は、本発明の実施形態であるチャットシステム１００の概略構成を示すブロック図である。図に示すように、チャットシステム１００は、チャットサーバ１、チャットに参加するユーザ（チャット参加者）にそれぞれ対応する複数のチャット端末装置２ａ〜２ｄ等を備えている。チャットサーバ１と各チャット端末装置２ａ〜２ｄ（以下、区別する必要がない場合はまとめて「チャット端末装置２」という）とは、所定の通信ネットワークＮ（ＬＡＮ、インターネット、専用線、パケット通信網、それらの組み合わせ等のいずれであってもよく、有線、無線の両方を含む）を介して相互に通信可能に構成されている。なお、チャットサーバ１やチャット端末装置２の数は、設計に応じて変更することができる。【００１９】
図２（ａ）は、チャットサーバ１のハードウェア構成を示すブロック図である。同図に示すように、チャットサーバ１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、外部記憶装置、ユーザインタフェース、ディスプレイ、および通信インタフェース等のハードウェアを備える汎用のコンピュータにより構成することができる。なお、チャットサーバ１は、単一のコンピュータにより構成されるものであっても、ネットワーク上に分散した複数のコンピュータにより構成されるものであってもよい。【００２０】
チャットサーバ１は、原則として従来のチャットサーバと同様の機能構成を備える。例えば、チャット端末装置２からチャットデータや種々のリクエストを受信するチャットデータ受信モジュール１０、受信したチャットデータをチャットデータ記憶モジュール１１に記憶し、管理するチャットデータ管理モジュール１２、チャットデータを各チャット端末装置２に送信するチャットデータ送信モジュール１３などを備える（図２（ｂ）参照）。これらの各機能モジュールは、ＣＰＵが、ＲＯＭ、ＲＡＭ、外部記憶装置などに記憶された所定のプログラムを実行することにより、実現される。【００２１】
ただし、本実施形態のチャットサーバ１は、２次元領域（チャットキャンバス）上の任意の位置に発言文オブジェクトを配置でき、該発言文オブジェクトの位置に基づき発言文テキストデータを発言文表示用ウィンドウ（以下、「チャットウィンドウ」という）に表示する２次元チャットシステムに対応している点（すなわち、各モジュールが、発言文テキストデータと、発言文オブジェクトのチャットキャンバス上の位置情報とを少なくとも含むチャットデータを処理できる点）で、従来のチャットサーバとは異なっている。【００２２】
図３（ａ）は、チャット端末装置２のハードウェア構成を示すブロック図である。同図に示すように、チャット端末装置２は、ＣＰＵ、ＲＯＭ、ＲＡＭ、外部記憶装置、ユーザインタフェース、ディスプレイ、および通信インタフェース等のハードウェアを備える汎用のコンピュータにより構成することができる。なお、このようなチャット端末装置２として、一般的なパソコンのほか、携帯端末等を用いることもできる。【００２３】
チャット端末装置２は、原則として従来のチャット端末装置と同様の機能構成を備える。例えば、ユーザから、発言文テキストデータを含むチャットデータや、種々のリクエストを受け付けるチャットデータ入力モジュール２０、入力されたチャットデータや種々のリクエストをチャットサーバ１に送信するチャットデータ送信モジュール２１、チャットサーバ１からチャットデータを受信するチャットデータ受信モジュール２２、受信したチャットデータをチャットデータ記憶モジュール２３に記憶し、管理するチャットデータ管理モジュール２４、チャットデータに基づき、発言文テキストデータをチャットウィンドウに表示するチャットデータ表示モジュール２５などを備える（図３（ｂ）参照）。これらの各機能モジュールは、ＣＰＵが、ＲＯＭ、ＲＡＭ、外部記憶装置などに記憶された所定のプログラムを実行することにより、実現される。【００２４】
ただし、本実施形態のチャット端末装置２は、チャットサーバ１同様、２次元チャットシステムに対応している点（すなわち、各モジュールが、発言文テキストデータと、発言文オブジェクトのチャットキャンバス上の位置情報とを少なくとも含むチャットデータを処理できる点）で、従来のチャット端末装置とは異なっている。【００２５】
更に、本実施形態のチャット端末装置２は、チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出モジュール２６と、ユーザからの入力に基づき、３次元仮想空間におけるチャットキャンバスと仮想カメラの視線方向との傾き（キャンバス傾斜度）を相対的に変更する傾斜度変更モジュール２７とを備えている点で、またチャットデータ表示モジュール２５が、前記算出したスクリーン上の発言文オブジェクトの位置に基づいて、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する点で、従来の２次元チャットシステムのチャット端末装置とも異なっている。【００２６】
以下、図４〜図６に示すフローチャートを参照して、チャットシステム１００における発言文テキストデータを表示する枠組みについて説明する。なお、各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。【００２７】
（発言文入力／配信／受信処理：図４）
チャット端末装置２のチャットデータ入力モジュール２０は、チャット端末装置２がアクティブとなっている場合、ユーザからチャットデータが入力されるのを待機する（Ｓ１００）。【００２８】
ここで、上述したように、本実施形態のチャットデータは、発言文テキストデータに加え、発言文オブジェクトのチャットキャンバス上の位置情報を含んでいる。発言文オブジェクトは、発言文表示位置を特定するためのオブジェクトであり、例えば点オブジェクトとすることができる。また、その位置情報は、例えばチャットキャンバスローカル座標系の座標値とすることができる。【００２９】
ローカル座標系の座標値の入力方法としては、例えばキーボードから座標値を直接入力する方法や、マウス等のポインティングデバイスを用いてチャットキャンバス又はチャットウィンドウの所望箇所を直接指定して入力する方法などを考えることができる。また例えば最初にキーボードを用いて発言文を入力すると、その発言文テキストデータが画面の所定位置に表示されるようにし、その後、マウス等のポインティングデバイスを用いて前記表示された発言文テキストデータをドラッグして所望の位置にドロップすることで、該ドロップ位置に基づき発言文オブジェクトの位置を指定するように構成してもよい。【００３０】
チャットデータが入力されると、チャットデータ送信モジュール２１は、チャットデータを入力したユーザの識別情報とともに、該チャットデータをチャットサーバ１に送信する（Ｓ１０１）。【００３１】
チャットサーバ１において、チャットデータ受信モジュール１０がチャット端末装置２からチャットデータを受信すると（Ｓ１０２）、チャットデータ管理モジュール１２は、受信したチャットデータをチャットデータ記憶モジュール１１に記憶する（Ｓ１０３）。図７にチャットデータ記憶モジュール１１のデータ構造を模式的に示す。この例では、チャットデータ識別情報に対応づけて、発言ユーザ識別情報、発言文テキストデータ、チャットキャンバス上の位置情報が記憶されている。【００３２】
次に、チャットサーバ１のチャットデータ送信モジュール１３は、各チャット端末装置２に前記受信し記憶したチャットデータを送信する（配信する）（Ｓ１０４）。なお、チャットに途中から参加したユーザについては、対応するチャット端末装置２に対し、チャットデータ記憶モジュール１１に記憶するチャットデータのうち参加時点から一定期間過去に受信し記憶したチャットデータをまとめて送信することが望ましい。【００３３】
各チャット端末装置２において、チャットデータ受信モジュール２２がチャットサーバ１からチャットデータを受信すると（Ｓ１０５）、チャットデータ管理モジュール２４は、受信したチャットデータをチャットデータ記憶モジュール２３に記憶する（Ｓ１０６）。チャットデータ記憶モジュール２３は、原則としてチャットデータ記憶モジュール１１と同様のデータ構造とすることができる。【００３４】
（発言文表示処理）
本実施形態の発言文表示処理には、キャンバス傾斜度を変更した場合にチャットウィンドウ全体について行われる表示処理と、チャットデータを受信した場合に、その受信したチャットデータについて行われる表示処理との２つがある。以下、これら２つの発言文表示処理について説明する。【００３５】
（キャンバス傾斜度変更に基づく発言文表示処理：図５）
傾斜度変更モジュール２７は、チャット端末装置２がアクティブとなっている場合、ユーザからキャンバス傾斜度の変更指示が入力されるのを待機する（Ｓ２００）。【００３６】
変更指示の入力方法としては、キャンバス傾斜度の変更後の値を直接入力する方法や、キャンバス傾斜度を＋／−する機能を割り当てた所定のキー（例えば、カーソルの左右キーなど）を操作して、その値を増減させる方法などが考えられる。なお、予め定めた所定のキャンバス傾斜度（例えば、９０度）について、所定のキーによってワンキーで入力できるように構成してもよい。【００３７】
キャンバス傾斜度の変更指示が入力された場合、傾斜度変更モジュール２７は、入力された指示に基づいてキャンバス傾斜度を変更し、ＲＡＭ等に記憶する（Ｓ２０１）。【００３８】
次に、位置算出モジュール２６は、変更後のキャンバス傾斜度に基づき、チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、仮想カメラからチャットキャンバスを映した場合に、仮想カメラのスクリーンに投影されるチャットキャンバス上の範囲（スクリーン表示範囲）を決定する（Ｓ２０２）。【００３９】
スクリーン表示範囲について、図８を参照して説明する。【００４０】
本実施形態では、チャットキャンバス及びスクリーンが矩形であることを前提として以下のように各座標系を定め、仮想カメラの画角や焦点距離などを設定してチャットキャンバス及びスクリーンを初期配置する。【００４１】
３次元仮想空間の座標系（ｘ、ｙ、ｚ）は、仮想カメラの位置を原点ＯWとし、視線方向をＺ軸とする。【００４２】
チャットキャンバスのローカル座標系（ｐ、ｑ）は、チャットキャンバスをＺ軸（仮想カメラ視線方向）に垂直に配置した場合の、Ｚ軸との交点を原点ＯLとし、チャットキャンバスの上下辺、左右辺に並行となるようにｐ軸、ｑ軸を設定する。またチャットキャンバスは、Ｚ軸（仮想カメラ視線方向）に垂直に配置した場合において、ｐ軸、ｑ軸が３次元仮想空間座標系のＸ軸、Ｙ軸に並行となるように、初期配置する。【００４３】
仮想カメラのスクリーン座標系（ｕ、ｖ）は、仮想カメラの焦点を原点ＯDとし、スクリーンの上下辺、左右辺に並行となるようにｕ軸、ｖ軸を設定する。またスクリーンは、ｕ軸、ｖ軸が３次元仮想空間座標系のＸ軸、Ｙ軸に並行となるように初期配置する。【００４４】
図８（ａ）に、このように初期配置した場合のスクリーン表示範囲を示す（以下、かかる初期配置を基準配置と呼ぶ）。【００４５】
なお、図８（ａ）に示すように、チャットキャンバスは横方向（ｐ軸方向）に十分に広く、スクリーンには原則としてチャットキャンバスの一部の領域のみが映されるものとする。このような状況は、チャット開始当初から横方向に広いチャットキャンバスを用いた場合のほか、チャットキャンバスが自動拡張機能により横方向に拡張された場合などに生じうる。【００４６】
キャンバス傾斜度の変更は、例えば基準配置されたチャットキャンバスにおけるスクリーン表示範囲の右端ＰをＹ方向の回転軸として、チャットキャンバスに対する仮想カメラの視線入射角が変更後のキャンバス傾斜度と一致するように、チャットキャンバスを水平に回転させることで行う。図８（ｂ）にキャンバス傾斜度を変更した場合のスクリーン表示範囲を示す。【００４７】
キャンバス傾斜度に応じてスクリーン表示範囲が決定されると、位置算出モジュール２６は、チャットデータ記憶モジュール２３に記憶される各発言文オブジェクトの位置情報を参照し、チャットキャンバス上のスクリーン表示範囲に配置される発言文オブジェクトを抽出する（Ｓ２０３）。【００４８】
そして、前記抽出した発言文オブジェクトについて、その位置情報及び変更後のキャンバス傾斜度に基づいて３次元仮想空間における座標を算出し、該算出した３次元仮想空間における座標に基づいて、発言文オブジェクトを仮想カメラから見たスクリーンへ投影(透視変換）した場合の、スクリーン上の位置を算出する（Ｓ２０４）。【００４９】
発言文オブジェクトのスクリーン上の位置は、例えば以下のようにして算出することができる。【００５０】
仮想カメラの焦点距離をＬ、基準配置された状態のチャットキャンバスのスクリーン表示範囲の右端Ｐのｘ座標をｍ１、チャットキャンバスに配置された発言文オブジェクトＡの位置情報、すなわちローカル座標を（ｐ１、ｑ１）、基準配置された状態のチャットキャンバスと仮想カメラの距離をｚ１とする（図９参照）。【００５１】
この場合、基準配置された状態での発言文オブジェクトＡの３次元仮想空間座標は（ｐ１、ｑ１、ｚ１）となるので、キャンバス傾斜度がθの場合の発言文オブジェクトＡの３次元仮想空間座標（ｘ２、ｙ２、ｚ２）は、以下のようにして求められる。【００５２】
ｘ２＝ｍ１−（ｍ１−ｐ１）ｃｏｓ（９０−θ）
ｙ２＝ｙ１
ｚ２＝ｚ１＋（ｍ１−ｑ１）ｓｉｎ（９０−θ）
また、キャンバス傾斜度がθの場合の発言文オブジェクトＡをスクリーン上に投影した場合のスクリーン座標（ｕ２、ｖ２）は、透視変換の考え方に基づき、以下の式により求められる。【００５３】
ｕ２＝ｘ２×Ｌ／ｚ２
ｖ２＝ｙ２×Ｌ／ｚ２
このようにして前記抽出した各発言文オブジェクトについてスクリーン上の位置が算出されると、次に、チャットデータ表示モジュール２５は、チャットウィンドウの表示をクリアし、前記算出したスクリーン上の発言文オブジェクトの位置に基づいて、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する（Ｓ２０５）。【００５４】
例えば、チャットウィンドウとスクリーンのスケールが一致する場合であれば、スクリーン座標系（ｕ、ｖ）の座標値を適宜オフセットすることで、チャットウィンドウ座標系（ａ、ｂ）の座標値に変換することができるので、かかる変換した座標値を書き出し位置として発言文テキストデータを表示すればよい。図１０に、キャンバス傾斜度を変更した場合のチャットウィンドウの表示例を模式的に示す。【００５５】
（チャットデータ受信に基づく発言文表示処理：図６）
チャット端末装置２のチャットデータ受信モジュール２２がチャットデータを受信した場合、位置算出モジュール２６は、前記受信したチャットデータの発言文オブジェクトが、その時点のスクリーン表示範囲に含まれるかどうかを判断し（Ｓ３００）、スクリーン表示範囲に含まれない場合は、チャットデータ受信に基づく発言文表示処理を終了する。【００５６】
一方、スクリーン表示範囲に含まれる場合、位置算出モジュール２６は、前記受信したチャットデータの発言文オブジェクトについて、その位置情報及びＲＡＭ等に記憶されるその時点のキャンバス傾斜度（変更されていない場合は、例えば初期値９０度）に基づいて３次元仮想空間における座標を算出し、該算出した３次元仮想空間における座標に基づいて発言文オブジェクトを仮想カメラから見たスクリーンへ投影した位置を算出する（Ｓ３０１）。【００５７】
次に、チャットデータ表示モジュール２５は、前記受信したチャットデータについて、前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータをチャットウィンドウに表示する（Ｓ３０２）。【００５８】
このように本実施形態では、３次元仮想空間に配置したチャットキャンバス（上の発言文オブジェクト）を仮想カメラのスクリーンに投影（透視変換）することで、チャットウィンドウ上の発言文の表示位置を決定する枠組みを採用し、更に、ユーザが仮想カメラ視線方向とチャットキャンバスの傾き（キャンバス傾斜度）を変更できるように構成している。【００５９】
かかる構成によれば、チャットキャンバス上で１以上の議論が進行した結果、該議論に関わる一連の発言文が広い範囲に亘って配置されている場合でも、ユーザは、キャンバス傾斜度を変更することでチャットウィンドウ上に表示されるチャットキャンバスの範囲（スクリーン表示範囲）をコントロールして、議論に関わる一連の発言文をチャットウィンドウに同時に表示させることができるので、スクロールバー等を操作して議論を追わずともそれら一連の発言文の配置位置や内容を容易に把握することが可能となる。【００６０】
また、傾斜したチャットキャンバスを投影（透視変換）することでチャットウィンドウ上の発言文の表示位置を決定していることから、仮想カメラとチャットキャンバス（上の発言文オブジェクト）との距離によってチャットウィンドウ上の発言文の表示位置のピッチが異なることとなり、仮想カメラに近い発言文オブジェクト群については読みやすい広いピッチで発言文を表示することができ、仮想カメラから遠い発言文オブジェクト群についてはより多くの発言文を表示して広範な概況を把握することが容易となる。【００６１】
（変形例）
本発明は、上記実施形態に限定されることなく種々に変形して適用することが可能である。【００６２】
例えば、上記実施形態では、チャットキャンバスやスクリーンの形状が矩形であることを前提として説明しているが、本発明においてこのような前提は必須のものではなく、チャットキャンバスやスクリーンの形状として矩形以外の形状を採用してもよい。【００６３】
また例えば、上記実施形態では、キャンバス傾斜度を変更する際、３次元仮想空間においてスクリーン表示範囲の右端ＰをＹ軸方向の回転軸としてチャットキャンバスを回転する構成としているが、本発明はこのような構成に限られるものではない。例えば、スクリーン表示範囲の左端や中線等をＹ軸方向の回転軸として、又は、上端や下端等をＸ軸方向の回転軸として、又は、重心を通る直線等をＺ軸方向の回転軸として、回転する構成としてもよいし、ユーザが任意の回転軸を指示できるように構成してもよい。更に、傾斜度変更モジュール２７が、ユーザの入力に基づいて、３次元仮想空間における仮想カメラの位置や視線方向を相対的に変更したり、カメラパラメータ（画角、焦点距離など）を変更する構成としてもよい。かかる構成によれば、更に柔軟にスクリーン表示範囲をコントロールすることが可能となる。【００６４】
また例えば、チャットウィンドウ上の発言文の表示位置を決定する際に、スクリーンに投影された発言文オブジェクトのｕ軸座標値に基づき、チャットウィンドウの発言文表示位置のａ軸座標値のみを決定する構成としてもよい。この場合、チャットウィンドウの発言文表示位置のｂ軸座標値については、基準配置に対応する値（具体的には、基準配置したチャットキャンバス上の発言文オブジェクトをスクリーンに投影した場合の座標値）を用いることが考えられる。なお、ｖ軸座標値に基づきｂ軸座標値のみ決定してもよい。かかる構成によれば、キャンバス傾斜度の変更がチャットウィンドウにおいて一方の軸方向にだけ影響することとなり、もう一方の軸方向については発言文のピッチを変更させずに表示することができる。【００６５】
また例えば、チャットデータ表示モジュール２５が、基準配置にした場合のスクリーン表示範囲（基準表示範囲）をチャットウィンドウに表示する構成としてもよい。基準表示範囲を表示する方法としては、例えば図１１（ａ）に示すように、チャットウィンドウ上に基準表示範囲に対応した半透明の枠を重畳表示する方法などを考えることができる。かかる構成によれば、ユーザは、チャットキャンバスを傾斜させた状態においても、基準配置に戻した場合にチャットウィンドウにどの発言文が表示されるかを容易に把握することができる。【００６６】
更に、このように表示された基準表示範囲をチャットウィンドウ上でユーザが移動させることができるように構成してもよい（図１１（ｂ）参照）。チャットウィンドウ上で基準表示範囲を移動させてから基準配置に戻す操作をした場合は、移動後の基準表示範囲に対して仮想カメラが基準配置の状態となるように、３次元仮想空間においてチャットキャンバス（又は仮想カメラ）を移動させるように構成する。なお、チャットウィンドウ上で基準表示範囲を移動させる代わりにチャットキャンバスを相対的に移動させる（仮想カメラをチャットキャンバスに対して水平方向に平行移動する）構成としてもよい。【００６７】
更に、チャットデータ表示モジュール２５が、チャットウィンドウに数値又は図形を用いてキャンバス傾斜度の大小を表示するように構成してもよい。例えば、図１２（ａ）に示すように、チャットウィンドウ上にチャットキャンバス（又は、その外形を模した図形）を表示する場合、チャットキャンバス（又は外形を模した図形）の上下辺の傾きによってキャンバス傾斜度の大小を表すことが考えられる。また、図１２（ｂ）に一例を示すように、図形の大小、図形のピッチ、図形の明暗のいずれかによって、キャンバス傾斜度の大小を表すように構成してもよい。かかる構成によれば、ユーザにとってキャンバス傾斜度を直感的に把握することが容易となる。【００６８】
また上記実施形態では、チャット端末装置２が位置算出モジュール２６を備える構成としているが、チャットサーバ１が位置算出モジュール２６等の機能を備えるように構成してもよい。この場合、チャット端末装置２は、位置算出に必要な情報（ユーザが入力したキャンバス傾斜度など）をチャットサーバ１に送信し、チャットサーバ１は前記受信した情報等をユーザ（チャット端末装置２）ごとに管理するとともに、ユーザごとに仮想カメラを設けてＳ２０２〜Ｓ２０５と同等の処理を実行し、その結果をチャット端末装置２に送信するように構成する。【００６９】
また上記実施形態では、キャンバス傾斜度を変更した場合、チャットウィンドウ内の表示を一旦クリアする構成としているが、例えば変更前からチャットウィンドウに表示されている発言文テキストデータについては、その表示をクリアせずに、変更前の表示位置から変更後の表示位置まで画面上を移動させる構成としてもよい。【００７０】
なお、上記実施形態では説明を省略しているが、本発明の２次元チャットシステムは、発言文の自動配置機能やチャットキャンバスの自動拡張機能を備えていてよい。発言文の自動配置機能を備えている場合、チャット端末装置２において、発言文オブジェクトの位置情報として、発言文オブジェクトの座標値の代わりに、既配置の発言文オブジェクトの指定情報を入力する構成としてもよい。また例えば、チャット端末装置２に図形等を描画する機能を実装し、チャットデータにこれら図形等の描画データを含めるように構成してもよい。
【図面の簡単な説明】
【００７１】
【図１】チャットシステム１００の概略構成を示すブロック図である。
【図２】チャットサーバ１のハードウェア及び機能構成を示すブロック図である。
【図３】チャット端末装置２のハードウェア及び機能構成を示すブロック図である。
【図４】発言文入力／配信／受信処理を説明するためのフローチャートである。
【図５】キャンバス傾斜度変更に基づく発言文表示処理を説明するためのフローチャートである。
【図６】チャットデータ受信に基づく発言文表示処理を説明するためのフローチャートである。
【図７】チャットデータ記憶モジュール１１のデータ構造を示す図である。
【図８】スクリーン表示範囲を説明するための図である。
【図９】発言文オブジェクトのスクリーン上の位置を算出する方法を説明するための図である。
【図１０】キャンバス傾斜度を変更した場合のチャットウィンドウの表示例を模式的に示す図である。
【図１１】チャットウィンドウに基準表示範囲を表示する様子を説明するための図である。
【図１２】チャットウィンドウに数値又は図形を用いてキャンバス傾斜度の大小を表示する様子を説明するための図である。
【符号の説明】
【００７２】
１  チャットサーバ
２  チャット端末装置
１０  チャットデータ受信モジュール
１１  チャットデータ記憶モジュール
１２  チャットデータ管理モジュール
１３  チャットデータ送信モジュール
２０  チャットデータ入力モジュール
２１  チャットデータ送信モジュール
２２  チャットデータ受信モジュール
２３  チャットデータ記憶モジュール
２４  チャットデータ管理モジュール
２５  チャットデータ表示モジュール
２６  位置算出モジュール
２７  傾斜度変更モジュール
１００  チャットシステム
【図１】
2008029466.tif 000003
【図２】
2008029466.tif 000004
【図３】
2008029466.tif 000005
【図４】
2008029466.tif 000006
【図５】
2008029466.tif 000007
【図６】
2008029466.tif 000008
【図７】
2008029466.tif 000009
【図８】
2008029466.tif 000010
【図９】
2008029466.tif 000011
【図１０】
2008029466.tif 000012
【図１１】
2008029466.tif 000013
【図１２】
2008029466.tif 000014
【手続補正書】
【提出日】平成20年4月7日(2008.4.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
チャットサーバより、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶する受信モジュールであって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置した、発言文表示位置を特定するためのオブジェクト（以下、「発言文オブジェクト」という）の位置情報とを少なくとも含む、受信モジュールと、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出モジュールと、
前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータのチャットウィンドウ内の表示位置を決定し、チャットウィンドウ内の前記決定した表示位置に該発言テキストデータを表示する表示モジュールと、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更モジュールと、
を備えることを特徴とするチャット端末装置。
【請求項２】
前記変更モジュールは、ユーザからの入力に基づき、３次元仮想空間におけるチャットキャンバスと仮想カメラの視線方向との傾き（以下、「キャンバス傾斜度」という）を相対的に変更することを特徴とする請求の範囲第１項記載のチャット端末装置。
【請求項３】
前記表示モジュールは、キャンバス傾斜度を９０度にした場合に前記スクリーンに投影されるチャットキャンバスの範囲を、チャットウィンドウに表示することを特徴とする請求の範囲第２項記載ののチャット端末装置。
【請求項４】
前記表示モジュールは、チャットウィンドウに表示する直線の傾き、図形の大小、図形のピッチ、図形の明暗のいずれかによって、キャンバス傾斜度の大小を表すことを特徴とする請求の範囲第２項又は第３項記載のチャット端末装置。
【請求項５】
少なくとも１台のチャットサーバと、複数のチャット端末装置とを備えたチャットシステムであって、
前記チャットサーバは、
前記複数のチャット端末装置のうち１台より、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶するモジュールであって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置した、発言文表示位置を特定するためのオブジェクト（以下、「発言文オブジェクト」という）の位置情報とを少なくとも含む、モジュールと、前記複数のチャット端末装置に対して前記チャットデータを送信するモジュールとを備え、
前記チャット端末装置は、
前記チャットサーバより、前記チャットデータを受信し、メモリに記憶するチャットデータ受信モジュールと、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出モジュールと、
前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータのチャットウィンドウ内の表示位置を決定し、チャットウィンドウ内の前記決定した表示位置に該発言テキストデータを表示する表示モジュールと、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更モジュールと、
を備えることを特徴とする、チャットシステム。
【請求項６】
チャットサーバより、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶する受信工程であって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置した、発言文表示位置を特定するためのオブジェクト（以下、「発言文オブジェクト」という）の位置情報とを少なくとも含む、受信工程と、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、チャットキャンバスに配置された発言文オブジェクトを仮想カメラから見たスクリーンに投影し、前記スクリーン上の発言文オブジェクトの位置を算出する位置算出工程と、
前記算出したスクリーン上の発言文オブジェクトの位置に基づき、該発言文オブジェクトに対応する発言文テキストデータのチャットウィンドウ内の表示位置を決定し、チャットウィンドウ内の前記決定した表示位置に該発言テキストデータを表示する表示工程と、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更工程と、
を備えることを特徴とするチャットデータ表示方法。
【請求項７】
請求の範囲第６項記載のチャットデータ表示方法をコンピュータで実行させるための情報処理プログラム。
【手続補正書】
【提出日】平成21年7月31日(2009.7.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
チャットサーバより、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶する受信モジュールであって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置したオブジェクト（以下、「発言文オブジェクト」という）のチャットキャンバス上の位置情報とを少なくとも含む、受信モジュールと、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、発言文オブジェクトのチャットキャンバス上の位置情報に基づいて、発言文オブジェクトの３次元仮想空間における座標を算出し、該算出した３次元仮想空間における座標に基づいて、発言文オブジェクトを仮想カメラから見たスクリーンへ投影した場合の、前記スクリーン上の位置を算出する位置算出モジュールと、
発言文オブジェクトの前記スクリーン上の位置に基づき、該発言文オブジェクトに対応する発言文テキストデータのチャットウィンドウ内の表示位置を決定し、チャットウィンドウ内の前記決定した表示位置に該発言テキストデータを表示する表示モジュールと、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更モジュールと、
を備えることを特徴とするチャット端末装置。
【請求項２】
前記変更モジュールは、ユーザからの入力に基づき、３次元仮想空間におけるチャットキャンバスと仮想カメラの視線方向との傾き（以下、「キャンバス傾斜度」という）を相対的に変更することを特徴とする請求の範囲第１項記載のチャット端末装置。
【請求項３】
前記表示モジュールは、キャンバス傾斜度を９０度にした場合に前記スクリーンに投影されるチャットキャンバスの範囲を、チャットウィンドウに表示することを特徴とする請求の範囲第２項記載のチャット端末装置。
【請求項４】
前記表示モジュールは、チャットウィンドウに表示する直線の傾き、図形の大小、図形のピッチ、図形の明暗のいずれかによって、キャンバス傾斜度の大小を表すことを特徴とする請求の範囲第２項記載のチャット端末装置。
【請求項５】
少なくとも１台のチャットサーバと、複数のチャット端末装置とを備えたチャットシステムであって、
前記チャットサーバは、
前記複数のチャット端末装置のうち１台より、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶するモジュールであって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置したオブジェクト（以下、「発言文オブジェクト」という）のチャットキャンバス上の位置情報とを少なくとも含む、モジュールと、前記複数のチャット端末装置に対して前記チャットデータを送信するモジュールとを備え、
前記チャット端末装置は、
前記チャットサーバより、前記チャットデータを受信し、メモリに記憶するチャットデータ受信モジュールと、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、発言文オブジェクトのチャットキャンバス上の位置情報に基づいて、発言文オブジェクトの３次元仮想空間における座標を算出し、該算出した３次元仮想空間における座標に基づいて、発言文オブジェクトを仮想カメラから見たスクリーンへ投影した場合の、前記スクリーン上の位置を算出する位置算出モジュールと、
発言文オブジェクトの前記スクリーン上の位置に基づき、該発言文オブジェクトに対応する発言文テキストデータのチャットウィンドウ内の表示位置を決定し、チャットウィンドウ内の前記決定した表示位置に該発言テキストデータを表示する表示モジュールと、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更モジュールと、
を備えることを特徴とする、チャットシステム。
【請求項６】
チャットサーバより、チャット参加者が入力した発言文についてチャットデータを受信し、メモリに記憶する受信工程であって、前記チャットデータは、発言文のテキストデータと、２次元領域（以下、「チャットキャンバス」という）に配置したオブジェクト（以下、「発言文オブジェクト」という）のチャットキャンバス上の位置情報とを少なくとも含む、受信工程と、
チャットキャンバス及び仮想カメラを配置した３次元仮想空間において、発言文オブジェクトのチャットキャンバス上の位置情報に基づいて、発言文オブジェクトの３次元仮想空間における座標を算出し、該算出した３次元仮想空間における座標に基づいて、発言文オブジェクトを仮想カメラから見たスクリーンへ投影した場合の、前記スクリーン上の位置を算出する位置算出工程と、
発言文オブジェクトの前記スクリーン上の位置に基づき、該発言文オブジェクトに対応する発言文テキストデータのチャットウィンドウ内の表示位置を決定し、チャットウィンドウ内の前記決定した表示位置に該発言テキストデータを表示する表示工程と、
ユーザからの入力に基づき、３次元仮想空間における仮想カメラの位置、視線方向、又はカメラパラメータを変更する変更工程と、
を備えることを特徴とするチャットデータ表示方法。
【請求項７】
請求の範囲第６項記載のチャットデータ表示方法をコンピュータで実行させるための情報処理プログラム。
【国際調査報告】
2008029466.tif 000015
2008029466.tif 000016
2008029466.tif 000017
2008029466.tif 000018