JP5004777B2 - 仮想空間における行動履歴の効率的記録方法および再生方法 - Google Patents

仮想空間における行動履歴の効率的記録方法および再生方法 Download PDF

Info

Publication number
JP5004777B2
JP5004777B2 JP2007315414A JP2007315414A JP5004777B2 JP 5004777 B2 JP5004777 B2 JP 5004777B2 JP 2007315414 A JP2007315414 A JP 2007315414A JP 2007315414 A JP2007315414 A JP 2007315414A JP 5004777 B2 JP5004777 B2 JP 5004777B2
Authority
JP
Japan
Prior art keywords
avatar
behavior
action
data
recording
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007315414A
Other languages
English (en)
Other versions
JP2009140197A (ja
Inventor
慎司 飯塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2007315414A priority Critical patent/JP5004777B2/ja
Priority to US12/328,328 priority patent/US8271491B2/en
Publication of JP2009140197A publication Critical patent/JP2009140197A/ja
Application granted granted Critical
Publication of JP5004777B2 publication Critical patent/JP5004777B2/ja
Priority to US13/594,996 priority patent/US8606785B2/en
Priority to US13/594,954 priority patent/US8825690B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • A63F13/10
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/554Game data structure by saving game or status data
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は仮想空間における行動履歴の記録および再生に関し、特に行動履歴の効率的記録および再生を行う装置および方法に関する。
仮想空間は、コンピュータを利用して擬似的に作り出される空間である。従って現実では実現が困難であったサービスを提供することが可能になる。その反面、人間の記憶など知的処理能力には限界があるため、仮想空間内では大量かつ多種多様な経験をうまく活用できない状況が生じる。例えば自由に仮想空間内を移動している時、その風景などから、過去に何か特別な経験をしたことがあるように思われても、その詳細が思い出せない場合がある。あるいは、何かを目的に、ある場所や建物にたどり着いたとして、そこからの正確な目的地までの移動経路を思い出せない場合がある。さらには、曖昧な記憶で行動していると、何度も同じ道を行き来してしまったり、無用な経験をしてしまったりすることもある。加えて、仮想空間では、短時間に引っ越しや建て替えなどか可能であるため、上記のような状況をますます引き起こしやすくなっている。
一方、仮想空間内の動作および操作を記録する方法として特開2001−84209「仮想空間履歴記録方法及び装置及びこの方法を記録した記録媒体」がある。しかし、この方式では、記録するデータの効率的な保存方法について何ら配慮が無いので、膨大な仮想空間の履歴をそのまま記録することになり、実際に適用するのは非現実的である。また記録したデータに基づき効果的に想起支援する方法が記載されていない。さらに他人の行動を活用する方法について具体的な解決策が記載されていない。
特開2001−84209号公報
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、効率的な行動履歴の記録と、想起支援を行う再生の方法およびシステムを提供することを目的とする。
上記目的を達成するために、本発明は、コンピュータにより仮想空間におけるアバターの行動を記録する装置であって、前記仮想空間を、各々に固有のIDが付与された複数のブロックに分割する手段と、前記仮想空間内で行動するアバターが入室したブロックのIDと時刻を含む移動履歴を前記コンピュータの記憶域に記録する手段と、前記アバターが入った複数のブロックが同一方向に直線的に連続する場合、当該直線の最初と最後のブロックに挟まれた区間の移動履歴を削除する手段と、前記アバターの行動に伴いイベントが発生した場合、前記イベントの内容、前記移動履歴、および繰り返し回数を1つの行動データとして行動記録DBに記録する手段とを具備し、前記行動記録DBに記録する手段が、行動の繰り返し回数とともに該行動データを記録する手段であって、入室ブロックIDとイベント内容が同一の行動データが既に前記行動記録DBに存在する場合には、前記繰り返し回数を1つ増分して記録することを特徴とする、行動記録装置を提供する。効率的に行動を記録した上記行動記録DBは後の想起支援に用いられる。
想起支援を行うために、本発明は、各々に固有のIDが付与された複数のブロックに分割された仮想空間におけるアバターを操作しているユーザに対してコンピュータにより想起支援を行う装置であって、アバターの行動を記録したデータである、イベントの内容、移動履歴、および当該行動の繰り返し回数を含む行動データを記録した行動記録DBから、前記アバターが入室したブロックのIDを含む行動データを検索する手段と、前記検索された行動データが想起支援に相応しい行動データであるかを判断する手段であって、該手段が、前記行動データの重要度を前記イベントの内容と繰り返し回数から計算する手段と、前記重要度が既定の値より大きい場合に想起支援に相応しい行動データであると判断する手段を有し、前記想起支援に相応しいと判断された行動データを前記コンピュータのディスプレイに表示する手段であって、該手段が、前記アバターの近傍に、前記行動データの移動履歴を表示する手段と、前記アバターの近傍に、前記行動データのイベント内容を表示する手段を有する、想起支援装置を提供する。これによりアバターを操作するユーザに適切に想起支援がなされる。
さらに、上記行動データをクライアントだけでなくサーバ・コンピュータにも記録することにより、サーバに接続された複数のクライアントの行動が記録され、この記録により自己の行動記録による想起支援のみならず他人の行動記録に基づく想起支援がなされる。
本発明によれば仮想空間における効率的な行動履歴の記録と想起支援を行うことが可能になる。ユーザの記憶が曖昧な場合や、仮想空間に未経験なユーザであっても迷わずに行動することを支援することができる。
以下、図面に従って本発明の実施例を説明する。図1は、本実施形態に係るクライアント・コンピュータ100とサーバ・コンピュータ120の接続例を示す。クライアント・コンピュータ100と、サーバ・コンピュータ120はインターネット110によって接続されている。この接続は無線、有線に限らない。図2はクライアント・コンピュータ100のハードウェア構成例である。クライアント・コンピュータ100は、システム・バス250に接続された、メイン・メモリ210やハードディスクドライブ240などの記憶装置、演算処理を行うCPU220、ハードディスクドライブ240をコントロールするIDEコントローラ230、仮想空間を表示するためのディスプレイ270をコントロールするディスプレイ・コントローラ260、キーボード等の入出力を行うI/Oインターフェース290、そしてネットワークインターフェースカードなどの通信インターフェース280を有する。これらのハードウェア構成は必須ではなく、また一例に過ぎず一般的なパーソナル・コンピュータの機能を持つハードウェアであれば不都合なく使用できる。サーバ・コンピュータ120のハードウェアもクライアント・コンピュータ100と同様、一般的なパーソナル・コンピュータを機能を持つハードウェアであれば不都合なく使用できる。
サーバ・コンピュータ120は、記憶装置に記録されたプログラムを実行することで、仮想空間サーバとして機能する。サーバ・コンピュータ120の記憶装置は仮想世界に存在するオブジェクトなどの立体的形状を示すデータ、例えば3D形状モデルと呼ばれるデータを記憶している。サーバ・コンピュータ120は、このようなデータを含む各種の情報を、クライアント・コンピュータ100から受けた要求に応じてクライアント・コンピュータ100に対し送信する。サーバは複数のクライアントと通信を行い、クライアント同士は仮想空間を共有することができる。クライアント・コンピュータ100は、記憶装置に記憶されたプログラムを実行することで、前記3D形状モデルデータを含む仮想空間をディスプレイ270に表示する。キーボードやマウス等の入力がI/Oインターフェースを介して入力されると仮想空間におけるユーザーの化身であるアバターがその入力に応じて3次元の空間を移動する。またアバターの行動や、ユーザからの特定の入力、仮想空間における特定の環境、特定の条件になると様々なイベントが生じる。これらのアバターの行動に伴い生じたイベントはディスプレイ270に表示される。ハードディスク等の記憶装置や、フレキシブル・ディスク、CDROM、またはDVDなどのコンピュータ可読媒体に記録された本発明のプログラムを実行することにより、上記アバターの行動およびイベントの情報はクライアント・コンピュータ100の記憶装置に効率的に記憶される。好ましくはアバターの行動およびイベントの情報はサーバ・コンピュータ120にも効率的に記憶される。そして記憶された情報はアバターの現在の行動に応じて検索され、読み出され過去の記録がディスプレイ270に表示される。
本発明は図3に示されるように、大きく分けて2つの処理部、行動記録部310および想起支援部320から構成される。行動記録部310は仮想空間におけるアバターの行動履歴を行動記録DB330へ効率的に記録する。想起支援部320は前記行動記録DB330から過去の行動履歴を読み取りユーザに過去の記録を呼び起こすための想起支援を行う。
[行動記録部の動作]
図4に行動記録部310の処理フローを示す。まずステップ410で行動データの初期化を行う。初期化とは行動データを行動記録DB330へ記録するためのデータセットを準備することを意味する。このデータセットを図5に示す。図5で示されるようにデータセットは大きく分けて、行動データ510、イベント履歴520、移動履歴530からなる。それらのデータ形式は以下の通りである。行動データ510は、イベントID、イベント履歴520へのポインタ、移動履歴530へのポインタ、繰り返し回数から構成されている。ポインタとは、情報処理分野ではよく知られているように、データそのものではなくそのデータが記録されている場所を示す情報である。イベントIDとは移動を含むイベントの識別子である。例えばアバター同士のチャットや、座る、買う、立つ、ジェスチャーをする、何かを装備する、触るなど全てのイベントに予め定義されたID番号である。イベント履歴520は、イベントの発生時刻とイベントの内容から構成される。移動履歴530は3D空間内のブロックを示す識別子(ブロックID)とそのブロックに入った時刻の複数の組によって構成される。繰り返し回数は、その行動が何回繰り返されたかを表す値であり、0なら初めての行動、1なら過去に1度同じ行動を行ったことを表す。なお行動データ510、イベント履歴520、移動履歴530は行動記録DBに個別に記録される。
次にステップ420でブロックの検出を行う。本発明でのブロックの定義は以下の通りである。空間をx, y, z 方向に n 分割し、それぞれのブロックを B(xn,yn,zn)で表す。例えば、256メートル四方の空間がある場合、一つのブロックを4メートル四方として分割すれば、B(0,0,0) から B(63,63,63) までの 262144個(64x64x64) のブロックが得られる。このとき、B(xn,yn,zn)の左右、前後、上下に接するブロックは、B(xn+1,yn,zn),B(xn-1,yn,zn), B(xn,yn+1,zn), B(xn,yn-1,zn), B(xn,yn,zn+1), B(xn,yn,zn-1)と表現される。図16にブロックが 2x2x2 の例を示す。ブロックを移動したかどうかは、単に異なるブロックに移動したかどうかだけでは判断されない。移動元ブロックから、一定距離離れた時に、始めて離れたと判断する。この一定距離を DistanceH とする。いったん移動したと見なされた後は直ちに移動先ブロックからの距離が計算されるが、すでに DistanceH 分だけ移動先のブロックに入っているので、ブロックの境界でふらふらしていても、元のブロックにすぐに戻ったと見なされるケースが削減される。戻ったとみなす為には、戻る側に DistanceH 分だけ入り込む必要がある。こうして、ヒステリシスを持たせることでブロック境界付近でのばたつきを防ぐ。具体例として一つの区画が 256m 四方の空間の場合一つのブロックは4m 四方程度が妥当である。この場合、64x64x64個のブロックが存在することになる。ブロックIDは座標そのものとして (x,y,z) で表しても良いし、1〜262145の番号で表しても良い。座標が明確になれば良い。この場合は重なり DistanceH は50cm 程度が適当である。図17にブロックの重ね合わせを示す。ブロックAとBは既定の距離 DistanceH 分ずつ重ね合わされている。実際の3次元仮想空間では全てのブロックについて該ブロックが接する左右、前後、上下の各ブロックと双方に DistanceH だけ重ね合わせて分割されている。アバターのブロックへの入室はどちらかに DistanceH だけブロック内に入った時刻をもって入室と判断する。
次にステップ430で、移動を含む全イベントリストの先頭のイベントを抽出する。イベントは移動を含め記憶装置に順番にキューされており、そのイベントのリストをイベントリストと呼ぶ。キューが空の場合はキューされるのを待つ。ステップ440で抽出したイベントが移動であるか、そうでないかを判断する。抽出したイベントが移動の場合、処理はステップ480へ移り、移動後の座標と時刻を取得する。具体的には移動履歴530にブロックIDと時刻を追記する。そしてステップ490で別のブロックに移動したかどうか判断される。この判断は上記で説明したように移動元ブロックから、一定距離(DistanceH)離れた時に、始めて離れたと判断する。別のブロックに移動している場合には処理はステップ420へ戻る。別のブロックに移動していないと判断された場合には処理は430へ戻る。
ステップ440で抽出したイベントが移動でない場合、ステップ450で移動履歴のスリム化を行う。移動ではないイベントが発生した時、一つの行動が完了したとし見なし、行動データの保存を開始する。イベント履歴は、イベント発生時刻とイベント内容からなり、イベント内容は、イベント名称と特徴とする項目、会話であれば会話内容なども記録の対象となる。行動データは、好ましくは個人の行動データのみを保存するクライアントの行動記録DB330と、全ての利用者の行動データを保存するサーバの行動記録DBの両方に記録する。記録するイベント内容は、それぞれのDBによって、サーバの行動記録DBには会話の内容は保持しないなど、事前に設定することが可能である。なおサーバ行動記録DBへの書き込みデータは通信インターフェース280を介してサーバへ送信し書き込みを行う。
仮想空間の中のアバターは同じブロックに何回も入室している可能性がある。つまり無駄な寄り道や、回り道をしているケースがある。そのような場合、最短経路を求めることによって冗長なデータを削除する。図6にこのスリム化処理の方法を図示する。スリム化前の移動履歴(600)があるとすると、冗長な経路を削除(620)する。スリム化後の移動履歴(630)を記録する。図6では説明の都合上2次元のベクトルで表現しているが実際には3次元でスリムを行う。移動履歴が下記の場合、経路がどのように削除されるかを説明する。
[1,1,0] --> [2,1,0]--> [2,2,0] --> [3,2,0] --> [4,2,0] --> [3,2,0] --> [3,3,0]--> [4,3,0] --> [3,3,0] --> [3,4,0] -->[2,4,0] --> [1,4,0]--> [1,3,0] --> [2,3,0] -->[3,3,0] --> [3,4,0] --> [4,4,0] -->[5,4,0] --> (goal)
経路の途中では再び同じブロックを通過している。例えば、[3,2,0]は2回入室している。このような場合、その間の[4,2,0]は破棄してしまう。同様に[3,4,0]も繰り返し登場しているのでその間の移動履歴は削除する。すなわちアバターが同一のブロックに再入室した場合には前に入室した時点から現在までの移動履歴を破棄する。アルゴリズム的には現在のブロックより過去の方を見てペアで挟まれた経路を削除する。別の態様として現在のブロックより未来の方を見てペアを捜し挟まれた経路を削除する方法も取り得る。そして同一地点の1つを削除する。削除対象および同じ地点を削除すると次のようにスリム化される。
[1,1,0] --> [2,1,0] --> [2,2,0]--> [3,2,0] --> [3,3,0] --> [3,4,0] --> [4,4,0] --> [5,4,0]--> (goal)
このような経路のスリム化を好まないユーザは選択により解除することも可能である。次に移動するブロックが左、右、前、後、上、下に連続して同じ方向になる場合には、挟まれるブロックに関する移動履歴は省略することができる。すなわちアバターが入室した複数のブロックが同一方向に直線的に連続する場合、直線の最初と最後のブロックに挟まれた区間の移動履歴を削除する。上記3次元ベクトルの移動履歴の例であれば、[3,2,0] --> [3,3,0] --> [3,4,0] の移動は直線であるので下記のように[3,2,0] --> [3,4,0] と省略することができる。
[1,1,0] --> [2,1,0] --> [2,2,0]--> [3,2,0] -->--> [3,4,0] --> [4,4,0] --> [5,4,0] --> (goal)
次にステップ460でイベント履歴520と移動履歴530へのポインタを含む行動データ510を行動記録DB330に追加して記録する。好ましくは行動データをサーバ・コンピュータ120の行動履歴DBにも追記する。クライアント・コンピュータ100の行動記録DB330に対しては、ほとんどのデータ、例えば会話などがあれば、その内容についても、詳細に保存する。サーバ・コンピュータ120の行動記録DBには、プライバシーやセキュリティに配慮した上で、許可されたものだけを記録するようにする。図7にイベントの種類とクライアントとサーバにおいて何を記録するかのテーブルを示す。行動データ510は、さらに繰り返し回数が加えられ行動記録DB330に保存される。追記する際には、過去に時刻は異なるが、移動履歴530およびイベント履歴520が同じ行動データが存在しないか検索し、存在する場合には繰り返し回数のみを増加させる。なお同じ行動データが存在しない場合には繰り返し回数0を有する行動データとして記録する。
次にステップ470で行動データのスリム化を行う。この処理のより詳細なステップを図8に示す。図8のステップ810で行動記録DB330のサイズが既定の最大保管サイズに達した時点で記録データのスリム化を行う。スリム化は重要度の低い記録データの破棄処理(ステップ830)との冗長性のある記録データのマージ処理(ステップ840〜880)による。なおスリム化を行うタイミングは他の要因をトリガーにしても良い。またどちらか一方の処理でも構わない。好ましくはこの処理はサーバ側でも同様に行われる。まずステップ810で行動記録DB330の現在の使用サイズを取得する。次にステップ820で予め決めておいた最大サイズ actDBsizeMax と比較する。このサイズを超える場合には、ステップ830のスリム化処理に進む。このサイズを超えない場合は、何もせずに処理を終了する。ステップ830では重要度が低いと想定される行動データを削除する。重要度は行動データのうち、繰り返し回数C、イベント番号E、保存期間T、移動距離Rを元データとし、繰り返し回数Cとイベント番号Eから重要度を算出するFc(C,E)関数と、保存期間Tとイベント番号Eから重要度を算出するFt(T,E)と、移動距離Rとイベント番号Eから重要度を計算するFr(R,E)の総和により決定する。例えば以下の式により重要度Wを計算し、この値が一定以下のものを重要度が低いと判断し削除する。
W = Fc(C,E) + Ft(T,E) + Fr(R,E) ・・・ 式1
Fc(C,E)関数は、おおよそ繰り返し回数Cと正の相関関係を持って値を出力する。Ft(T,E)は、おおよそ保存期間Tと正の相関関係を持って値を出力する。Fr(R,E)も同様に、おおよそ移動距離と正の相関関係を持って大きな値を出力する。それぞれの関数にはイベント番号Eが与えられるので、イベント番号別に重みを付けて計算される。例えば以下のように計算する。
Fc(C,E) = kc(E) x C : kc(E)はイベント番号Eにおける、繰り返し回数に対する重み係数
Ft(T,E) = kt(E) x T : kt(E)はイベント番号Eにおける、保存期間に対する重み係数
Fr(R,E) = kr(E) x R : kr(E)はイベント番号Eにおける、移動距離に対する重み係数
イベント番号によっては、繰り返し回数を重視するもの、保存期間を重視するもの、あるいは移動距離を重視するものがあるため、このように個別に計算し合計する。
しかしながら繰り返し数が少ないことが重要度が低いということにはならない点に注意する必要がある。たった一回であっても、本人にとっては貴重な思い出の可能性もある。保存期間が長いからといって重要でないとは言えない場合もある。むしろ古い思い出ほど思い出し支援には必要かもしれない。そのような観点から、実際に削除を行う場合にユーザへプロンプトを表示して削除確認するようにしてもよい。
次にステップ840で行動記録DB330に保存されている行動データについて、イベント内容が同じで、かつ、イベントの発生ブロックが同じものを、経路の重なり具合に合わせて、統合を試みる。より具体的には、直前に記録した行動データと、イベント内容とイベントの発生ブロックが同一、かつ、スタート地点が他方の経路上にある行動データを、行動履歴DB330から探し行動データリストを作成する。ステップ850でリストにある行動データのうち、一つを抜き出す。空の場合は処理は終了する。ステップ860で経路が完全に重なる行動データである場合はステップ870へ進み、重ならない部分がある行動データである場合はステップ880へ進む。ステップ870で、行動データの短い方の経路を削除し、長い方の経路を残す。繰り返し回数は両方の行動データの合計として記録する。この処理を図9に示す。図9において行動データBの経路は、行動データAの経路に完全に含まれるので、行動データを一本にまとめる。つまり、行動データBは廃棄する。この時、繰り返し回数は、行動データAと行動データBの二つを合わせたものを行動データAの繰り返し回数として記録する。Gは移動先のGoalを示す。ステップ880は、行動データで重ならない部分がある場合に繰り返し回数の多い行動データを残す処理である。この場合も繰り返し回数は合計する。この処理を図10に示す。行動データの経路が異なる場合、繰り返し回数の多い方の経路を残す。図10の場合は、Bの方が繰り返し回数が多い場合として説明している。繰り返し回数は、行動データAと行動データBの二つを合わせたものを行動データAの繰り返し回数として記録する。以上で図4の各ステップのフローの説明を終わる。
[想起支援部の動作]
図11に想起支援部320の処理フローを示す。想起支援とは本人あるいは他人の行動データの履歴を活用し、利用者が仮想空間上で何か行動しようとするときに、過去の代表的な行動例を仮想空間上にビジュアルに示すことで、利用者に思い出しを起こさせたり、次の行動への動機を与えたりすることである。まずステップ1110で想起支援の対象となるアバターが位置しているブロックを検出する。検出されたブロックをCとする。次にステップ1120で行動記録DB330からブロックCを経路に含む行動データをリストアップする。次にステップ1130で想起支援の対象となる行動データが無かった場合は、想起支援を行わず、ステップ1150に進み、次のブロックの移動を待つ。想起支援の対象となる行動データがある場合は、ステップ1140に進み想起支援を行う。好ましくはクライアントの行動記録DBだけでなくサーパの行動記録DBからも行動データを検索してリストアップすると他人の行動データに基づく想起支援が可能になり、想起支援のバリエーションが増える。このステップ1140のより詳細なフローは後で説明する。ステップ1150ではブロックを移動するイベントが発生するのを待つ。そしてステップ1160で想起支援を継続するかどうか判断する。この継続の判断は主にアバターを動かしているユーザの入力により行われる。
図12にステップ1140における想起支援のより詳細な処理フローを示す。ステップ1210では、クライアントあるいはサーバの行動データのリストの先頭から一つ行動データを抜き出す。もし、両方のリストが既に空であった場合は処理はステップ1240に進む。ステップ1240では行動データで示されるイベント発生ブロックにすでに達している場合は想起支援の表示を削除する。また想起支援の重なり合いなど、表示上の見づらさがあれば調整する。ステップ1210でリストが空でない場合にはステップ1220で、抜き出した行動データが想起支援に相応しい行動データか判断する。重要度の算出には式1を用いて算出する。この値が一定以下の行動データは重要度が低いと判断し、想起支援を行わない。この場合、処理はステップ1210へ戻る。行動データが重要と判断された場合にはステップ1230で想起支援を行う。
想起支援における表示の方法を図13、図14に示す。行動データで示される移動履歴に従って、その先に過去にイベントが発生した地域があることを示すガイド線を、空間上に点線や実線を引いたり、アバターの姿を連続的に配置することで提示する。具体的にはアバターとイベントが生じた位置(Goal)の間にアバターのグラフィックをディスプレイに連続して表示し、アバターの近傍またはイベントが生じた位置の近傍にイベントの内容をディスプレイにテキスト表示する。グラフィックの配置は過去の移動履歴をなぞるように正確に描画する。しかしながら経路上に時間の変遷により以前には存在しなかった建物や地形がある場合、それらを迂回するように描画する。もちろんそれを無視してゴールまで直線的に引いても構わない。好ましくはガイドの先に、どんなイベントが発生したかを示す、テキストやアイコンを提示する。好ましくはそのガイドが、自分自身の経験であるのか、他人の経験であるかを分かるようにする。自分自身の経験とは、クライアントの行動記録DBから得られた過去の行動データであり、他人の経験とは、サーバの行動記録DBから得られた過去の行動データである。この場合、他人の行動データなのか、自己の行動データなのか分かるように表示属性を変更して提示する。例えば他人の行動データの場合には自己の行動データに基づく想起支援とは異なる、色、形、輝度などで表示する。
図13のアバターAは過去にお茶を飲みに行った行動データに基づき想起支援がなされている。アバターBは銀行でお金を下ろした行動データに基づき想起支援がなされている。図14の想起支援はアバターを連続的に配置する方法の例である。この場合の表示方法についての一例を図15で説明する。図15ではブロックCにアバターBが到達した時の想起支援の表示例を示している。Cからイベント発生(Goal)した場所に向かってアバターのグラフィック画像を1から順に5まで段階的に縮小表示して一部を重ね合わせながら表示していく。またこの例の場合は「お金を下ろす」というテキストをイベントが発生したブロックGの近傍に表示している。上記表示方法は一例であって種々の変形が可能である。例えば「お金を下ろす」というイベントは動画アイコンを用いてお金が下ろされている様子をアニメーション表示してもよい。また高速なクライアント・コンピュータであれば、予めアバターの歩く動作を動画像データとして記憶しておくことにより、アバターの近傍からブロックGに向かってアニメーションのように動画像を表示しても良い。
本実施形態に係るクライアントとサーバの接続例を示す図である。 クライアント・コンピュータ100のハードウェア構成例である。 本発明の行動記録部および想起支援部を示す図である。 本発明の行動記録部の処理フローである。 行動データのデータセットを示す図である。 経路のスリム化処理の方法を示す図である。 イベントの種類とクライアントとサーバにおいて何を記録するかのテーブルを示す。 行動データのスリム化のより詳細なステップである。 行動データの統合の方法を示す図である。 行動データの別の統合の方法を示す図である。 想起支援部の処理フローを示す図である。 想起支援部のより詳細な処理フローである。 想起支援部における表示方法を示す図である。 想起支援部における別の表示方法を示す図である。 表示方法についての一例を示す図である。 仮想空間のブロック分割例を示す図である。 ブロックの重なりを説明する図である。
符号の説明
100 クライアント・コンピュータ
110 インターネット
120 サーバ・コンピュータ
210 メイン・メモリ
220 CPU
230 コントローラ
240 ハードディスクドライブ
250 システム・バス
260 ディスプレイ・コントローラ
270 ディスプレイ
280 通信インターフェース
290 I/Oインターフェース
310 行動記録部
320 想起支援部
330 行動記録DB
510 行動データ
520 イベント履歴
530 移動履歴

Claims (14)

  1. コンピュータにより仮想空間におけるアバターの行動を記録する装置であって、
    前記仮想空間を、各々に固有のIDが付与された複数のブロックに分割する手段と、
    前記仮想空間内で行動するアバターが入室したブロックのIDと時刻を含む移動履歴を前記コンピュータの記憶域に記録する手段と、
    前記アバターが入った複数のブロックが同一方向に直線的に連続する場合、当該直線の最初と最後のブロックに挟まれた区間の移動履歴を削除する手段と、
    前記アバターの行動に伴いイベントが発生した場合、前記イベントの内容、前記移動履歴、および繰り返し回数を1つの行動データとして行動記録DBに記録する手段とを具備し、
    前記行動記録DBに記録する手段が、行動の繰り返し回数とともに行動データを記録する手段であって、入室ブロックIDとイベント内容が同一の行動データが既に前記行動記録DBに存在する場合には、前記繰り返し回数を1つ増分して記録することを特徴とする、
    行動記録装置。
  2. 前記複数のブロックに分割する手段が、全てのブロックについて該ブロックが接する左右、前後、上下の各ブロックと既定の距離だけ重ね合わせて分割する手段であり、前記アバターのブロックへの入室は、前記既定の距離だけ当該ブロック内に入った時刻をもって入室と判断する、請求項1記載の装置。
  3. 前記移動履歴を記録する手段が、さらに、前記アバターが同一のブロックに再入室した場合には前に入室した時点から現在までの移動履歴を削除する手段を有する、請求項1記載の装置。
  4. 前記コンピュータがクライアント・コンピュータであり、サーバとの通信により他のクライアントと仮想空間を共有している場合、前記行動記録DBに記録する手段がさらに、通信インターフェースを介して前記行動データをサーバに送信する手段を有し、これによりサーバにも前記行動データが記録される、請求項1記載の装置。
  5. 各々に固有のIDが付与された複数のブロックに分割された仮想空間におけるアバターを操作しているユーザに対してコンピュータにより想起支援を行う装置であって、
    アバターの行動を記録したデータである、イベントの内容、移動履歴、および当該行動の繰り返し回数を含む行動データを記録した行動記録DBから、前記アバターが入室したブロックのIDを含む行動データを検索する手段と、
    前記検索された行動データが想起支援に相応しい行動データであるかを判断する手段であって、該手段が、
    前記行動データの重要度を前記イベントの内容と繰り返し回数から計算する手段と、
    前記重要度が既定の値より大きい場合に想起支援に相応しい行動データであると判断する手段、
    を有し、
    前記想起支援に相応しいと判断された行動データを前記コンピュータのディスプレイに表示する手段であって、該手段が、
    前記アバターの近傍に、前記行動データの移動履歴を表示する手段と、
    前記アバターの近傍に、前記行動データのイベント内容を表示する手段
    を有する、
    想起支援装置。
  6. 前記移動履歴を表示する手段が、前記アバターと前記イベントが生じた位置の間に、アバターのグラフィックを連続して表示する手段である、請求項5に記載の装置。
  7. 前記イベント内容を表示する手段が、前記アバターの近傍または前記イベントが生じた位置の近傍に、イベントの内容を表示する手段である、請求項5に記載の装置。
  8. 前記仮想空間がサーバ・コンピュータと複数のクライアント・コンピュータと共有され、前記行動記録DBが前記サーバ・コンピュータに記録されており、当該行動記録DBの行動データに基づき前記各手段を行うことにより、他のクライアントの行動データに基づき想起支援がなされる、請求項5に装置。
  9. 前記他のクライアントの行動データに基づく想起支援については自己の行動データに基づく想起支援とは異なる属性で表示される、請求項8記載の装置。
  10. コンピュータにより仮想空間におけるアバターの行動を記録する方法であって、
    前記仮想空間を、各々に固有のIDが付与された複数のブロックに分割する段階と、
    前記仮想空間内で行動するアバターが入室したブロックのIDと時刻を含む移動履歴を前記コンピュータの記憶域に記録する段階と、
    前記アバターが入った複数のブロックが同一方向に直線的に連続する場合、当該直線の最初と最後のブロックに挟まれた区間の移動履歴を削除する段階と、
    前記アバターの行動に伴いイベントが発生した場合、前記イベントの内容、前記移動履歴、および繰り返し回数を1つの行動データとして行動記録DBに記録する段階とを具備し、
    前記行動記録DBに記録する段階が、行動の繰り返し回数とともに行動データを記録する段階であって、入室ブロックIDとイベント内容が同一の行動データが既に前記行動記録DBに存在する場合には、前記繰り返し回数を1つ増分して記録することを特徴とする、
    行動記録方法。
  11. 各々に固有のIDが付与された複数のブロックに分割された仮想空間におけるアバターを操作しているユーザに対してコンピュータにより想起支援を行う装置であって、
    アバターの行動を記録したデータである、イベントの内容、移動履歴、および当該行動の繰り返し回数を含む行動データを記録した行動記録DBから、前記アバターが入室したブロックのIDを含む行動データを検索する段階と、
    前記検索された行動データが想起支援に相応しい行動データであるかを判断する段階であって、該段階が、
    前記行動データの重要度を前記イベントの内容と繰り返し回数から計算する段階と、
    前記重要度が既定の値より大きい場合に想起支援に相応しい行動データであると判断する段階、
    を有し、
    前記想起支援に相応しいと判断された行動データを前記コンピュータのディスプレイに表示する段階であって、該段階が、
    前記アバターの近傍に、前記行動データの移動履歴を表示する段階と、
    前記アバターの近傍に、前記行動データのイベント内容を表示する段階
    を有する、
    想起支援方法。
  12. 仮想空間におけるアバターの行動を記録するプログラムであって、該プログラムが、コンピュータに、
    前記仮想空間を、各々に固有のIDが付与された複数のブロックに分割するステップと、
    前記仮想空間内で行動するアバターが入室したブロックのIDと時刻を含む移動履歴を前記コンピュータの記憶域に記録するステップと、
    前記アバターが入った複数のブロックが同一方向に直線的に連続する場合、当該直線の最初と最後のブロックに挟まれた区間の移動履歴を削除するステップと、
    前記アバターの行動に伴いイベントが発生した場合、前記イベントの内容、前記移動履歴、および繰り返し回数を1つの行動データとして行動記録DBに記録するステップとを具備し、
    前記行動記録DBに記録するステップが、行動の繰り返し回数とともに行動データを記録するステップであって、入室ブロックIDとイベント内容が同一の行動データが既に前記行動記録DBに存在する場合には、前記繰り返し回数を1つ増分して記録するステップ、
    を実行させる、プログラム。
  13. 各々に固有のIDが付与された複数のブロックに分割された仮想空間におけるアバターを操作しているユーザに対して想起支援を行うためのプログラムであって、該プログラムがコンピュータに、
    アバターの行動を記録したデータである、イベントの内容、移動履歴、および当該行動の繰り返し回数を含む行動データを記録した行動記録DBから、前記アバターが入室したブロックのIDを含む行動データを検索するステップと、
    前記検索された行動データが想起支援に相応しい行動データであるかを判断するステップであって、該ステップが、
    前記行動データの重要度を前記イベントの内容と繰り返し回数から計算するステップと、
    前記重要度が既定の値より大きい場合に想起支援に相応しい行動データであると判断するステップ、
    を有し、
    前記想起支援に相応しいと判断された行動データを前記コンピュータのディスプレイに表示するステップであって、該ステップが、
    前記アバターの近傍に、前記行動データの移動履歴を表示するステップと、
    前記アバターの近傍に、前記行動データのイベント内容を表示するステップ
    を有する、
    ステップを実行させる、プログラム。
  14. 請求項12〜13の何れかに記載のプログラムをコンピュータ可読媒体に記録した記録媒体。
JP2007315414A 2007-12-06 2007-12-06 仮想空間における行動履歴の効率的記録方法および再生方法 Expired - Fee Related JP5004777B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007315414A JP5004777B2 (ja) 2007-12-06 2007-12-06 仮想空間における行動履歴の効率的記録方法および再生方法
US12/328,328 US8271491B2 (en) 2007-12-06 2008-12-04 Methods of efficiently recording and reproducing activity history in virtual world
US13/594,996 US8606785B2 (en) 2007-12-06 2012-08-27 Methods of efficiently recording and reproducing activity in virtual world
US13/594,954 US8825690B2 (en) 2007-12-06 2012-08-27 Methods of efficiently recording and reproducing activity in virtual world

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007315414A JP5004777B2 (ja) 2007-12-06 2007-12-06 仮想空間における行動履歴の効率的記録方法および再生方法

Publications (2)

Publication Number Publication Date
JP2009140197A JP2009140197A (ja) 2009-06-25
JP5004777B2 true JP5004777B2 (ja) 2012-08-22

Family

ID=40722683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007315414A Expired - Fee Related JP5004777B2 (ja) 2007-12-06 2007-12-06 仮想空間における行動履歴の効率的記録方法および再生方法

Country Status (2)

Country Link
US (3) US8271491B2 (ja)
JP (1) JP5004777B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8433656B1 (en) * 2007-06-13 2013-04-30 Qurio Holdings, Inc. Group licenses for virtual objects in a distributed virtual world
JP5100494B2 (ja) * 2008-05-08 2012-12-19 株式会社エヌ・ティ・ティ・ドコモ 仮想空間提供装置、プログラム及び仮想空間提供システム
US8365075B2 (en) * 2009-11-19 2013-01-29 International Business Machines Corporation Recording events in a virtual world
US8832215B2 (en) * 2009-12-02 2014-09-09 International Business Machines Corporation Load-balancing in replication engine of directory server
US20110210962A1 (en) * 2010-03-01 2011-09-01 Oracle International Corporation Media recording within a virtual world
JP6031735B2 (ja) * 2011-06-13 2016-11-24 ソニー株式会社 情報処理装置、情報処理方法およびコンピュータプログラム
US9744440B1 (en) * 2012-01-12 2017-08-29 Zynga Inc. Generating game configurations
US20130297601A1 (en) * 2013-05-10 2013-11-07 Zishuo Li Memory Recalling Device
US10601861B2 (en) 2017-04-28 2020-03-24 International Business Machines Corporation Blockchain tracking of virtual universe traversal results
US11361497B2 (en) 2017-05-24 2022-06-14 Sony Corporation Information processing device and information processing method
CN112069510B (zh) * 2020-07-24 2024-01-30 北京思特奇信息技术股份有限公司 一种数据加密排重方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10295933A (ja) * 1997-04-24 1998-11-10 Jaleco:Kk ゲーム装置
JP2000353253A (ja) * 1999-06-10 2000-12-19 Nippon Telegr & Teleph Corp <Ntt> 3次元協調仮想空間における映像表示方法
JP2001084209A (ja) * 1999-09-16 2001-03-30 Nippon Telegr & Teleph Corp <Ntt> 仮想空間履歴記録方法及び装置及びこの方法を記録した記録媒体
US6366851B1 (en) * 1999-10-25 2002-04-02 Navigation Technologies Corp. Method and system for automatic centerline adjustment of shape point data for a geographic database
ATE556297T1 (de) * 2001-08-06 2012-05-15 Panasonic Corp Informationsbereitstellungsverfahren und - vorrichtung
US7038619B2 (en) * 2001-12-31 2006-05-02 Rdp Associates, Incorporated Satellite positioning system enabled media measurement system and method
US7856311B2 (en) * 2003-02-19 2010-12-21 Panasonic Corporation Information providing device
JP4409994B2 (ja) * 2004-03-04 2010-02-03 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
CN101040554B (zh) * 2004-10-14 2010-05-05 松下电器产业株式会社 移动目标预测装置和移动目标预测方法
US7868786B2 (en) * 2004-10-19 2011-01-11 Microsoft Corporation Parsing location histories
JP3884043B2 (ja) * 2005-02-28 2007-02-21 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP2007293803A (ja) * 2006-03-31 2007-11-08 Mitsubishi Space Software Kk 仮想観光装置、仮想観光システム、仮想観光プログラム、位置情報出力装置、観光情報提供装置、仮想観光体験装置、位置情報出力プログラム、観光情報提供プログラム、仮想観光体験プログラム、位置情報出力方法、観光情報提供方法、仮想観光体験方法、近傍情報提供装置、近傍情報提供システム、近傍情報提供プログラムおよび近傍情報提供方法

Also Published As

Publication number Publication date
US20120323894A1 (en) 2012-12-20
JP2009140197A (ja) 2009-06-25
US8606785B2 (en) 2013-12-10
US8271491B2 (en) 2012-09-18
US20120323893A1 (en) 2012-12-20
US20090150357A1 (en) 2009-06-11
US8825690B2 (en) 2014-09-02

Similar Documents

Publication Publication Date Title
JP5004777B2 (ja) 仮想空間における行動履歴の効率的記録方法および再生方法
JP6382261B2 (ja) 高度なカメラをベースとした入力
US20190369742A1 (en) System and method for simulating an interactive immersive reality on an electronic device
US20090100351A1 (en) Suggestion of User Actions in a Virtual Environment Based on Actions of Other Users
CN103858073A (zh) 增强现实系统的免触摸界面
JP3376593B2 (ja) 地図データ表示装置
JP5677418B2 (ja) コンピューターによりデータ点をデータ・パス上でナビゲートさせる方法、プログラム及び記録媒体
CN109806591A (zh) 游戏场景中的签名生成方法及装置
JP5236708B2 (ja) コンテンツ表示装置、制御方法、携帯端末、プログラム及び記録媒体
Kadobayashi et al. Design and evaluation of gesture interface of an immersive walk-through application for exploring cyberspace
JP2022081115A (ja) コンピュータプログラム、方法、及び、サーバ装置
JP3460719B2 (ja) 地図データ表示装置及び地図データ表示方法
JP2003132375A (ja) 案内システム及び地図データサーバ装置、地図データ表示端末装置
JP7113065B2 (ja) コンピュータプログラム、方法、及び、サーバ
KR102561902B1 (ko) 사용자 인터페이스 제공 방법 및 사용자 장치
JP3460718B2 (ja) 地図データ表示装置及び地図データ表示方法
JP3460720B2 (ja) 地図データ表示装置及び地図データ表示方法
JP2022090618A (ja) コンピュータプログラム、方法、及び、サーバ
JP3496677B2 (ja) 地図データ表示装置
Wu et al. An empirical practice of design and evaluation of freehand interaction gestures in virtual reality
JP2003202802A (ja) 地図データ表示装置及び地図データ表示方法
Jankowski Usability of WebGL Applications
JP2003203253A (ja) 地図データ表示装置及び地図データ表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120522

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5004777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees