(57)【要約】【課題】クライアント端末２００において道路や建物等から成る都市の３次元モデルを表示した３次元空間内でウォークスルーやフライスルー等の視点の移動を行う場合に、高速に視点の移動ができるようにする。【解決手段】クライアント端末２００は、ネットワークを介して３次元モデルのデータを配信するサーバ１００に接続している。クライアント端末２００は、サーバ１００に３次元モデルのデータの配信要求を送信する。この際に、クライアント端末２００は、配信要求をするデータ範囲を自らで決定する。時刻２において、データ範囲を要求する場合、時刻１において要求したデータ範囲に対する時刻２におけるクライアント端末２００が表示しているデータ範囲の割合を表す表示完了率に基づいて、時刻２におけるサーバ１００に要求するデータ範囲を決定する。【選択図】        図４
2004206338.tif 000002
【特許請求の範囲】
【請求項１】
データ配信要求を受信するサーバ側受信部および
該データ配信要求に対応する表示用データを配信する配信部
を有するサーバと、
表示用データを受信するクライアント側受信部、
該クライアント側受信部により受信された表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示する表示部、
該表示部の表示する３次元の仮想空間における視点を移動可能とする視点移動部、
３次元の仮想空間における視点の移動に伴い必要となる表示用データを配信要求するに際し、前記表示部の表示状況に基づいて配信要求するデータ範囲を決定するデータ範囲決定部および
前記データ範囲に対応する表示用データの配信要求を前記データ配信要求として前記サーバに送信するクライアント側送信部
を有するクライアント端末と、
を備えた情報配信システム。
【請求項２】
データ配信要求を受信するサーバ側受信部および
該データ配信要求に対応する表示用データを配信する配信部
を有するサーバと、
前記表示用データを受信するクライアント側受信部、
該クライアント側受信部により受信された表示用データを表示する表示部、
該表示部の表示状況に基づいて配信要求するデータ範囲を決定するデータ範囲決定部および
前記データ範囲に対応する表示用データの配信要求を前記データ配信要求として前記サーバに送信するクライアント側送信部
を有するクライアント端末と、
を備えた情報配信システム。
【請求項３】
データ配信要求を受信して該データ配信要求に対応する表示用データを配信するサーバと接続されるクライアント端末であって、
前記表示用データを受信するクライアント側受信部、
該クライアント側受信部により受信された表示用データを表示する表示部、
該表示部の表示状況に基づいて配信要求するデータ範囲を決定するデータ範囲決定部および
前記データ範囲に対応する表示用データの配信要求を前記データ配信要求として前記サーバに送信するクライアント側送信部
を有するクライアント端末。
【請求項４】
前記クライアント端末は、さらに、
前記サーバにデータ配信要求した表示用データが前記クライアント側受信部により正常に受信されたかを監視して正常に受信されていない表示用データの再配信を前記サーバに要求をする受信データ管理手段を備えたことを特徴とする請求項３記載のクライアント端末。
【請求項５】
データ配信要求を受信して該データ配信要求に対応する表示用データを配信するサーバと接続されるクライアント端末であって、
表示用データを受信するクライアント側受信部、
該クライアント側受信部により受信された表示用データを記憶するクライアント側記憶部、
該クライアント側記憶部により記憶された表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示する表示部、
該表示部の表示する３次元の仮想空間における視点を移動可能とするとともに視点の位置を含む視点に関する視点関連情報を取得する視点移動部および、
該視点移動部の取得した視点関連情報に含まれる視点の位置を用いて視点の位置とクライアント側記憶部に記憶された表示用データの３次元の仮想空間における位置との位置関係を算出して算出した位置関係と表示用データが前記表示部に表示されてからの経過時間との少なくともいずれかに基づいて前記クライアント側記憶部に記憶された表示用データを削除するメモリ管理手段
を備えたことを特徴とするクライアント端末。
【請求項６】
前記データ範囲決定部は、
前記サーバに配信要求したデータ範囲に対する前記表示部に表示された表示用データの比率を示す表示完了率を表示状況として算出して、算出した表示完了率に基づいて前記サーバに配信要求するデータ範囲を決定することを特徴とする請求項３記載のクライアント端末。
【請求項７】
表示用データの配信を要求するクライアント端末に表示用データを配信するサーバであって、
前記クライアント端末から所定の範囲の表示用データを配信要求するデータ範囲と前記クライアント端末の表示用データの表示状況とを受信するサーバ側受信部と、
受信した表示状況に基づいて、受信したデータ範囲に対応する表示用データを前記クライアント端末へ配信する配信計画を作成する配信計画部とを備えたことを特徴とするサーバ。
【請求項８】
前記サーバは、さらに、
表示用データを記憶するサーバ側記憶部と、
受信したデータ範囲に対応する表示用データを前記サーバ側記憶部から取得する表示用データ取得部と
を備え、
前記配信計画部は、
受信した表示状況に基づいて、前記表示用データ取得部が取得した表示用データを前記クライアント端末へ配信する配信計画を作成することを特徴とする請求項７記載のサーバ。
【請求項９】
前記表示状況は、
前記クライアント端末が前記サーバに配信要求したデータ範囲に対する前記クライアント端末において表示された表示用データの比率を示す表示完了率を含むことを特徴とする請求項７記載のサーバ。
【請求項１０】
前記表示部は、表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示し、
前記クライアント端末は、さらに、
３次元の仮想空間内を移動する視点の移動速度を含む視点関連情報を取得する視点取得手段を備え、
前記データ範囲決定部は、
前記視点取得手段が取得した視点関連情報に含まれる視点の移動速度に基づいて前記サーバに配信要求するデータ範囲を調節することを特徴とする請求項３記載のクライアント端末。
【請求項１１】
前記表示部は、表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示し、
前記クライアント端末は、さらに、
３次元の仮想空間内を移動する視点の位置と視線方向とを含む視点関連情報を取得する視点取得手段を備え、
前記データ範囲決定部は、
前記視点取得手段が取得した視点の位置と視線方向とに基づいて視点の周囲に所定の領域である視点周囲領域を決定する視点周囲領域決定部と、
前記視点周囲領域決定部が決定した視点周囲領域を表示状況に基づいてデータ範囲として生成するデータ範囲生成部と
を備えたことを特徴とする請求項３記載のクライアント端末。
【請求項１２】
前記クライアント端末は、さらに、
前記視点取得手段が取得した視点関連情報に含まれる視点の移動速度を入力して入力した移動速度に基づいて視点の移動速度変化を検出するイベント検出手段を備え、
前記データ範囲決定部は、
前記イベント検出手段が検出した視点の移動速度変化に基づいて前記サーバに配信要求するデータ範囲を調節することを特徴とする請求項１０記載のクライアント端末。
【請求項１３】
前記表示部は、表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示し、
前記クライアント端末は、さらに、
３次元の仮想空間内を移動する視点の移動速度を含む視点関連情報を取得する視点取得手段と、
前記視点取得手段が取得した視点関連情報に含まれる視点の移動速度を入力して入力した移動速度に基づいて前記データ範囲決定部が前記クライアント側送信部を介して前記サーバに配信要求する時間間隔を制御する制御信号を出力するデータ取得時間制御部とを備え、
前記データ範囲決定部は、
前記データ取得時間制御部が出力した制御信号を入力して入力した制御信号に基づいて前記クライアント側送信部を介して前記サーバに配信要求する時間間隔を変更することを特徴とする請求項３記載のクライアント端末。
【請求項１４】
前記表示部は、表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示し、
前記クライアント端末は、さらに、
３次元の仮想空間内を移動する視点に関する視点関連情報を取得する視点取得手段と、
前記視点取得手段が取得した視点関連情報を入力して視点の視界の変化を判定し判定結果を視界変化判定信号として出力する視点移動判定手段とを備え、
前記データ範囲決定部は、
前記視点移動判定手段が出力した視界変化判定信号を入力し入力した視界変化判定信号に基づいて前記サーバにデータ範囲と視界変化判定信号とを前記クライアント側送信部を介して送信して前記サーバにデータ範囲に対応する表示用データの配信をさせることを特徴とする請求項３記載のクライアント端末。
【請求項１５】
前記表示部は、表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示し、
前記クライアント端末は、さらに、
３次元の仮想空間内を移動する視点に関する視点関連情報を取得する視点取得手段と、
前記視点取得手段が取得した視点関連情報を入力して視点の視界の変化を判定し判定結果を視界変化判定信号として出力する視点移動判定手段とを備え、
前記データ範囲決定部は、
前記視点移動判定手段が出力した視界変化判定信号を入力し入力した視界変化判定信号に基づいて前記サーバにデータ範囲と視界変化判定信号とを前記クライアント側送信部を介して送信するとともに、
前記サーバは、
前記サーバ側受信部がデータ範囲と視界変化判定信号とを受信するとともに、さらに、前記サーバ側受信部が受信した視界変化判定信号に基づいてデータ範囲に対応する表示用データの詳細度を調節するオブジェクト調節手段を備えたことを特徴とする請求項２記載の情報配信システム。
【請求項１６】
前記表示部は、表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示し、
前記クライアント端末は、さらに、
３次元の仮想空間内を移動する視点の停止状態を検出して視点停止信号を出力するイベント検出手段を備え、
前記クライアント側送信部が前記イベント検出手段の出力した視点停止信号を入力して前記サーバに視点停止信号を送信するとともに、
前記サーバは、
前記サーバ側受信部が視点停止信号を受信するとともに、
さらに、前記サーバ側受信部から視点停止信号を入力し入力した視点停止信号に基づいて前記クライアント端末が配信要求したデータ範囲を拡大する拡大領域取得手段を備えたことを特徴とする請求項２記載の情報配信システム。
【請求項１７】
クライアント端末からネットワークを介して配信要求を受け付けて前記クライアント端末へ表示用データを配信するサーバであって、
表示用データをレベルに分けて記憶するサーバ側記憶部と、
前記クライアント端末から受け付けた配信要求に基づいて少なくとも一つのレベルを選択し、選択した少なくとも一つのレベルに含まれる表示用データに対して前記クライアント端末に配信する配信優先度を定め、配信優先度にしたがって表示用データを前記クライアント端末に配信する配信部と
を備えたことを特徴とするサーバ。
【請求項１８】
クライアント端末からネットワークを介して前記クライアント端末が表示する表示用データのデータ件数を含む配信要求を受け付けて前記クライアント端末へ表示用データを配信するサーバであって、
表示用データを順位付けして記憶するサーバ側記憶部と、
前記クライアント端末から受け付けた配信要求に含まれる表示用データのデータ件数と前記サーバ側記憶部に記憶している表示用データの順位付けとに基づいて前記サーバ側記憶部から表示用データを取得して前記クライアント端末に取得した表示用データを配信する配信部と
を備えたことを特徴とするサーバ。
【請求項１９】
クライアント端末からネットワークを介して配信要求を受け付けて前記クライアント端末へ表示用データを配信するサーバであって、
表示用データをレベルに分けるとともに、それぞれのレベルの表示用データを他のレベルの表示用データと関連付けて記憶するサーバ側記憶部と、
前記クライアント端末から受け付けた配信要求に基づいて互いに関連付けられたそれぞれのレベルの表示用データを前記サーバ側記憶部から取得して前記クライアント端末に配信する配信部と
を備えたことを特徴とするサーバ。
【請求項２０】
クライアント端末からネットワークを介して配信要求を受け付けて前記クライアント端末へ表示用データを配信するサーバであって、
表示用データを所定のグループごとにグループ分けして、グループ分けしたグループにレベルを付与して、それぞれのレベルのグループを他のレベルのグループと関連付けて記憶するサーバ側記憶部と、
前記クライアント端末から受け付けた配信要求に基づいて前記サーバ側記憶部から関連付けられたそれぞれのレベルのグループを取得して前記クライアント端末に配信する配信部と
を備えたことを特徴とするサーバ。
【請求項２１】
表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示するクライアント端末からネットワークを介して視点の位置を含む配信要求を受け付けて前記クライアント端末へ表示用データを配信するサーバであって、
表示用データの３次元の仮想空間における位置に基づいて、表示用データを３次元の仮想空間における位置を有する所定のグループごとにグループ分けしてグループ分けしたグループにレベルを付与してそれぞれのレベルのグループを他のレベルのグループと関連付けて記憶するサーバ側記憶部と、
前記クライアント端末から受け付けた視点の位置を含む配信要求に応答して、関連付けられたそれぞれのレベルのグループを前記サーバ側記憶部から取得して取得したそれぞれのレベルのグループに対して、３次元の仮想空間におけるグループの位置と配信要求に含まれる視点の位置とを用いて３次元の仮想空間におけるグループの位置と視点の位置との位置関係を算出して算出した位置関係に基づいてそれぞれのレベルのグループに含まれる表示用データを前記クライアント端末に配信する配信計画を作成する配信部と
を備えたことを特徴とするサーバ。
【請求項２２】
表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示するクライアント端末からネットワークを介して視点の位置を含む配信要求を受け付けて前記クライアント端末へ表示用データを配信するサーバであって、
３次元の仮想空間において道路を表示する道路表示用データと道路表示用データに関連付けられた表示用データである道路関連表示用データとを記憶するサーバ側記憶部と、
前記クライアント端末から受け付けた配信要求に含まれる視点の位置を用いて視点の位置に対応する前記サーバ側記憶部に記憶された道路表示用データを抽出するとともに、抽出した道路表示用データに基づいて、関連付けられた道路関連表示用データを抽出して抽出した道路関連表示用データを前記クライアント端末に配信する配信部と
を備えたことを特徴とするサーバ。
【請求項２３】
前記データ範囲は、
表示用データの領域と表示用データの件数とのいずれかであること
を特徴とする請求項３記載のクライアント端末。
【請求項２４】
前記データ範囲は、
配信を要求する表示用データが所定のグループごとにグループ分けされている際に、グループの数であることを特徴とする請求項３記載のクライアント端末。
【請求項２５】
表示用データを配信するサーバにクライアント端末から配信要求を送信して表示用データを配信する情報配信方法であって、
前記サーバにおいて、
データ配信要求を受信するサーバ側受信ステップおよび
該データ配信要求に対応する表示用データを配信する配信ステップ
を備え、
前記クライアント端末において、
前記表示用データを受信するクライアント側受信ステップ、
受信した表示用データを表示する表示ステップ、
表示した表示状況に基づいて配信要求するデータ範囲を決定するデータ範囲決定ステップおよび
前記データ範囲に対応する表示用データの配信要求を前記データ配信要求として前記サーバに送信する送信ステップを有することを特徴とする情報配信方法。
【請求項２６】
データ配信要求を受信して該データ配信要求に対応する表示用データを配信するサーバと通信して配信要求する配信要求プログラムであって、
前記表示用データを受信する受信ステップ、
該受信ステップにより受信された表示用データを表示する表示ステップ、
該表示ステップが表示した表示用データの表示状況に基づいて配信要求するデータ範囲を決定するデータ範囲決定ステップおよび
前記データ範囲に対応する表示用データの配信要求を前記データ配信要求として前記サーバに送信する送信ステップ
をコンピュータに実行させることを特徴とする配信要求プログラム。
【請求項２７】
データ配信要求を受信して該データ配信要求に対応する表示用データを配信するサーバと通信して配信要求する配信要求プログラムを記録した記録媒体であって、
前記表示用データを受信する受信ステップ、
該受信ステップにより受信された表示用データを表示する表示ステップ、
該表示ステップが表示した表示用データの表示状況に基づいて配信要求するデータ範囲を決定するデータ範囲決定ステップおよび
前記データ範囲に対応する表示用データの配信要求を前記データ配信要求として前記サーバに送信する送信ステップ
をコンピュータに実行させる配信要求プログラムをコンピュータに読み取り可能に記録した記録媒体。
【請求項２８】
表示用データの配信を要求するクライアント端末に表示用データを配信する配信計画プログラムであって、
前記クライアント端末から所定の範囲の表示用データを配信要求するデータ範囲と前記クライアント端末の表示用データの表示状況とを受信する受信ステップと、
受信した表示状況に基づいて、受信したデータ範囲に対応する表示用データを前記クライアント端末へ配信する配信計画を作成する配信計画ステップと
をコンピュータに実行させることを特徴とする配信計画プログラム。
【請求項２９】
表示用データの配信を要求するクライアント端末に表示用データを配信する配信計画プログラムを記録した記録媒体であって、
前記クライアント端末から所定の範囲の表示用データを配信要求するデータ範囲と前記クライアント端末の表示用データの表示状況とを受信する受信ステップと、
受信した表示状況に基づいて、受信したデータ範囲に対応する表示用データを前記クライアント端末へ配信する配信計画を作成する配信計画ステップとをコンピュータに実行させる配信計画プログラムをコンピュータに読み取り可能に記録した記録媒体。
【請求項３０】
クライアント端末からネットワークを介して配信要求を受け付けて前記クライアント端末へ表示用データを配信する配信プログラムであって、
表示用データをレベルに分けて記憶する記憶ステップと、
前記クライアント端末から受け付けた配信要求に基づいて少なくとも一つのレベルを選択し、選択した少なくとも一つのレベルに含まれる表示用データに対して前記クライアント端末に配信する配信優先度を定め、配信優先度にしたがって表示用データを前記クライアント端末に配信する配信ステップと
をコンピュータに実行させることを特徴とする配信プログラム。
【請求項３１】
クライアント端末からネットワークを介して配信要求を受け付けて前記クライアント端末へ表示用データを配信する配信プログラムを記録した記録媒体であって、
表示用データをレベルに分けて記憶する記憶ステップと、
前記クライアント端末から受け付けた配信要求に基づいて少なくとも一つのレベルを選択し、選択した少なくとも一つのレベルに含まれる表示用データに対して前記クライアント端末に配信する配信優先度を定め、配信優先度にしたがって表示用データを前記クライアント端末に配信する配信ステップと
をコンピュータに実行させる配信プログラムをコンピュータに読み取り可能に記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば、道路や建物等から成る広範囲の都市のうち、ユーザ端末における視点移動等の操作に伴って、ユーザが必要とする範囲の３次元モデルをインターネット等のネットワークを介して高速に配信し、ユーザ端末では、３次元モデルを表示した仮想空間内で高速に視点移動等の操作を行うことを実現する、情報配信システムに関するものである。
【０００２】
【従来の技術】
地形や建物等から成る都市の３次元モデルの構築が行われている。構築した都市の３次元モデルを広く普及させるためには、３次元モデルを配信するしくみが必要になる。
都市の３次元モデルの利用例として、３次元モデルを立体的に表示した仮想空間内で視点を移動させるウォークスルー（街中を視点移動）やフライスルー（上空を視点移動）がある。ウォークスルーやフライスルーでは視点が移動するため、建物を１軒表示していればよいのではない。視点の周囲に存在する複数の建物を表示して、視点が移動した際に視点の位置に応じて表示する景色を切り替える必要がある。
広範囲の領域を視点が移動する場合、広範囲の領域に存在する建物等のオブジェクトのデータ（形状データやテクスチャデータ）が膨大になるため、データを予めダウンロードしておく場合には、ダウンロードに膨大な時間を要する。そのため、ユーザはダウンロードが終了するまで、建物等の３次元モデルを表示した仮想空間内で視点の移動を開始できないという課題がある。特に、回線の通信速度が遅い場合や端末の性能が低い場合には、すべてのデータを受信するまでの待ち時間が膨大になる。
そこで、回線の通信速度や端末の性能等に応じて配信するデータ量や詳細度を調節し、高速に配信する技術の研究、開発が行なわれている。
【０００３】
特開平９−２８２２４９号公報では、ユーザ端末の３次元描画能力や回線の伝送速度能力に対応してユーザ端末の操作に対する対話性を向上させる３次元形状通信システムが開示されている。
サーバがユーザ端末と対話的に処理を行うことでユーザ端末の表示能力を把握し、ユーザの表示能力に見合った適切な詳細度になるまで形状の簡略化やテクスチャ解像度の変更を行い、ユーザ端末に配信する。
ユーザ端末の表示能力に見合った詳細度のデータを配信するので、ユーザ端末では、端末の表示能力の違いによらずにほぼ一定の反応速度で３次元空間に対する操作を行うことができる。
【０００４】
特開２００２−０６３６０１号公報では、端末装置の３次元空間における視点の情報等に基づいてオブジェクトに優先度を与え、優先度やネットワーク帯域で利用可能なデータ量を考慮した配信を行うことで、ネットワーク資源とエンドシステム資源の両方の負荷を考慮に入れて、アプリケーションの品質を制御する仮想空間システムが開示されている。端末装置が３次元空間における視点中心座標と視線方向をサーバに配信すると、サーバでは３次元空間における各オブジェクトの視点中心からの距離及び視線方向に対する角度、オブジェクトの表示面積等に基づいてオブジェクトに優先度を与え、優先度に基づいてオブジェクトのデータ品質を決定し、優先度を考慮した配信を行う。
また、サーバは、端末装置からユーザの位置情報や視線情報及びメモリ量を受信し、これらに基づいてユーザの視野領域を決定し、視野領域内に存在するオブジェクトを抽出する。
また、サーバは、端末装置が利用可能なネットワーク帯域を取得し、一送信当たりのデータ総量がネットワーク帯域を超過しないように、優先度の高い順にオブジェクトを選択して配信したり、優先度の低いオブジェクトのデータ品質を低くしたりする。
【０００５】
【特許文献１】
特開平０９−２８２２４９号公報
【特許文献２】
特開２００２−６３６０１号公報
【０００６】
【発明が解決しようとする課題】
特開平９−２８２２４９号公報に記載された方法では、形状を外郭形状のみで簡略化したり、テクスチャ画像のサイズを小さくしたりして配信するデータ量を軽減している。この場合、例えばユーザ端末において道路や建物等から成る都市の３次元モデルを表示し、道路上で視点を移動させて、街中を自由に歩き回るような場合に、視点の近くに存在する建物も視点から遠方に存在する建物も一様にデータ量が軽減されてしまうという課題がある。また、ユーザ端末の表示能力に関してユーザ端末とサーバとが対話的に通信を行うため、多数のユーザ端末がネットワークに接続し、各端末で表示する３次元空間を時々刻々と切り替える場合には、各ユーザ端末で画面の表示を高速に切り替えることが困難となる。
【０００７】
特開２００２−０６３６０１号公報に記載された方法では、優先度の設定やユーザの視野領域の決定をサーバで行っているので、多数のユーザ端末において３次元空間内で視点の位置が時々刻々と変化する場合には、サーバの負荷が増大し、各ユーザ端末においてストレスの少ない速度で視点を移動させることが困難となる。
【０００８】
この発明は上記のような問題点を解決するためになされたものであり、以下の点を目的とする。
まず、クライアント端末において道路や建物等から成る都市の３次元モデルを表示した３次元空間内でウォークスルーやフライスルー等の視点の移動を行う場合に、高速に（ユーザがストレスの少ない速度で）視点の移動ができるように、建物等の都市の３次元モデルを、ネットワークを介して高速に配信し、表示することを目的とする。
また、多数のクライアント端末が視点の移動を行っている場合でも、各クライアント端末ではストレスの少ない速度で高速に３次元空間内を視点移動できるようにすることを目的とする。
また、クライアント端末の表示能力や時々刻々と変化する回線の通信速度に追従して、各クライアント端末では３次元空間内を高速に視点移動できるようにすることを目的とする。
【０００９】
【課題を解決するための手段】
この発明に係る情報配信システムは、
データ配信要求を受信するサーバ側受信部および
該データ配信要求に対応する表示用データを配信する配信部
を有するサーバと、
表示用データを受信するクライアント側受信部、
該クライアント側受信部により受信された表示用データを用いて移動可能な視点から視覚できる３次元の仮想空間を表示する表示部、
該表示部の表示する３次元の仮想空間における視点を移動可能とする視点移動部、
３次元の仮想空間における視点の移動に伴い必要となる表示用データを配信要求するに際し、前記表示部の表示状況に基づいて配信要求するデータ範囲を決定するデータ範囲決定部および前記データ範囲に対応する表示用データの配信要求を前記データ配信要求として前記サーバに送信するクライアント側送信部
を有するクライアント端末と、
を備えた。
【００１０】
【発明の実施の形態】
実施の形態１．
実施の形態１の情報配信システムは、都市の３次元モデルを、ネットワークを介して高速に配信し、クライアント端末２００で都市の３次元モデルを表示した仮想空間内で高速に視点移動が可能な情報配信システムである。
実施の形態１は、クライアント端末２００の表示状況に基づいて、サーバ１００に要求するデータの範囲をクライアント端末２００側で決定する。
図１は、システム全体の構成図である。
クライアント端末２００がインターネット等のネットワークを介してサーバ１００にアクセス可能となっている。クライアント端末２００は複数台接続することができるが、１台のみを接続してもよい。
【００１１】
図２は、この発明の実施の形態１におけるサーバ１００の機能手段の構成を示すブロック図である。
サーバ側記憶部１１０は、道路や建物等の都市を構成するオブジェクトに関する、位置や形状である３次元データや、３次元データを立体的に表示したときの模様であるテクスチャデータ等（表示用データの一例）を記憶する。
ストリーミング制御部１２０（配信部の一例）は、クライアント端末２００から受信した情報に基づいて、クライアント端末２００に配信するオブジェクトを選び出し、オブジェクトの３次元データやテクスチャデータ等（表示用データの一例）をネットワークを介して時々刻々とクライアント端末２００に送信する。クライアント管理手段１１１は、クライアント端末２００に配信したオブジェクトの情報等、クライアント端末２００に関する情報を管理するクライアント管理データベース１１２を有している。
オブジェクト管理手段１１３は、３次元データやテクスチャデータ等、オブジェクトに関する情報を管理するオブジェクト管理データベース１１４を有している。
サーバ側通信制御部１３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット等のネットワークを介して、クライアント端末２００と３次元データ等のデータの送受信を行う。サーバ側通信制御部１３０は、受信を行なうサーバ側受信部１３１と送信を行なうサーバ側送信部１３２を備える。
配信データ生成部１４０は、クライアント端末２００の表示状況を反映して決めた領域に存在するオブジェクトを、クライアント端末２００から受信した情報に基づいて選び出し、配信する順序等の計画を立てる。
配信オブジェクト取得部１５０（表示用データ取得部の一例）は、クライアント端末２００に配信するオブジェクトを、オブジェクト管理データベース１１４を検索し、抽出して取得する。
配信計画部１６０は、オブジェクトをクライアント端末２００に配信する際の順番の設定や変更等、配信の計画を立てる。
差分取得手段１５１は、クライアント端末２００が要求した領域内に存在するオブジェクトのうち、未だクライアント端末２００に配信していないオブジェクトを検索し、そのオブジェクトの３次元データやテクスチャデータ等、オブジェクトに関する情報を抽出する。
領域別計画手段１６１は、クライアント端末２００の表示状況に基づいて複数のオブジェクトを何回に分けて配信するかを決め、視点に近いオブジェクトから順に複数のグループに分けてクライアント端末２００に配信する計画を立て、配信計画ファイル１６３を生成する。
再計画手段１６２は、クライアント端末２００が正常に受信できなかったデータの項目を配信計画ファイル１６３に追加し、そのデータをオブジェクト管理手段１１３から再度取得して、クライアント端末２００に配信する計画を立てる。
【００１２】
図３は、本実施の形態１におけるクライアント端末２００の機能手段の構成を示すブロック図である。
クライアント側記憶部２１０は、サーバ１００から受信した３次元データやテクスチャデータ等のオブジェクトに関するデータや、視点の移動に関するパラメータや処理の過程で出力したパラメータ等を記憶する。
受信データ管理手段２１１は、サーバ１００から配信されたデータが正常に配信されたかを監視し、正常に配信されていないデータがある場合には、そのデータの情報を抽出して、サーバ１００に再度配信を促す。また、正常に配信されたデータを表示するためのメッセージを表示部２３０に送る。
視点移動部２２０は、道路や建物等の都市の３次元モデルを表示した３次元空間内でユーザがマウスやキーボード等を用いて行う視点の移動を制御する。
視点取得手段２２１は、ユーザがマウスやキーボード等を用いて、３次元空間内において視点の移動を行う場合、次に仮想空間を表示する視点の位置を計算し、視点位置や視線方向、視点移動速度等の視点に関する視点関連情報を取得する。
イベント検出手段２２２は、ユーザの視点移動操作等のイベントを検出する。表示部２３０は、道路や建物等の都市の３次元データやテクスチャデータ等を用いて、都市の３次元モデルを画面に表示する。
レンダリング手段２３１は、３次元データやテクスチャデータを用いて３次元モデルを画面に描画する。
メモリ管理手段２３２は、クライアント側記憶部２１０のデータ容量が許容量を超えてしまう場合に、視野外に存在するオブジェクトを、視点から遠方に存在するオブジェクトから順に、または、前回に表示された時刻からの経過時間が長いオブジェクトから順にメモリから削除していく。
データ要求部２４０は、サーバ１００から配信してもらうデータの範囲や内容等を視点の移動に伴って時々刻々と動的に決定する。
クライアント側通信制御部２５０は、ネットワークを介してサーバ１００と３次元データ等の送受信を行う。クライアント側通信制御部２５０は、受信を行なうクライアント側受信部２５１と送信を行なうクライアント側送信部２５２とを備える。
要求データ生成部２６０（データ範囲決定部の一例）は、サーバ１００から配信してもらうデータの量や範囲、内容等を調節して決定する。
視点周囲領域決定部２７０は、都市の広範囲な領域のうち、視点の周囲の領域を決定する。
要求データ調節部２８０（データ範囲生成部の一例）は、サーバ１００から配信してもらう領域の大きさ等を、クライアント端末２００の表示状況に基づいて視点の移動に伴って動的に変化させて決定する。
視線方向判定手段２７１は、視線の方向ベクトルと２次元平面内における座標軸とのなす角度を求め、視点の周囲における矩形の配置を決定する。
視点周囲領域算出手段２７２は、視点の位置や視線方向等の視点に関する情報や、視点の周囲の領域である矩形の幅や円の半径等の大きさや、視線の方向と２次元平面内の座標軸とのなす角度に基づいて、視点の周囲の領域を算出する。
表示範囲算出手段２８１は、クライアント端末２００が前時刻の視点位置に対応してサーバ１００に要求した範囲のうち、現在３次元モデルが表示できている範囲を取得する。
データ要求範囲取得手段２８２は、クライアント端末２００の表示状況に基づいて次回にサーバ１００に要求する範囲を決定する。
【００１３】
次に動作について説明する。図４から図１０を用いて説明する。
図４は、クライアント端末２００がＴ１秒ごとに視点の情報を取得するとともに、Ｔ２秒ごとにサーバ１００にデータの配信を要求する様子を示す図である。サーバ１００は、時刻１においてクライアント端末２００からデータの配信要求を受信すると、クライアント端末２００に時々刻々とデータを配信する。図４では時刻１以降には視点の取得を示す点を記載していないが、クライアント端末２００は、時刻１以降もＴ１秒ごとに視点の情報を取得している。そしてＴ２秒おきにクライアント端末２００からサーバ１００へデータ配信の要求を送信している。
図５は、クライアント端末２００とサーバ１００との情報のやり取りを示す図である。やり取りの流れは以下の実施の形態２から実施の形態５も同様である。図６から図１０は、図５に示す情報のやり取りの各ステップ（Ｓ１０〜Ｓ９０）における実施の形態１におけるクライアント端末２００とサーバ１００のフローチャートである。
説明の分りやすさのために、１台のクライアント端末２００において道路や建物等の都市の３次元モデルを表示した仮想空間内で視点移動を行う場合について説明する。
【００１４】
図６は、図５のＳ１０におけるクライアント端末２００の動作のフローチャートである。
【００１５】
図６をもとに以下、動作を説明する。
Ｓ１０１（Ｓ１０）において、視点取得手段２２１は、視点の情報を取得する。クライアント端末２００において、視点取得手段２２１では、道路や建物等から成る都市の３次元モデルを表示した仮想空間内でユーザがマウスやキーボードにより視点を移動させると、次に仮想空間を表示する視点の位置を計算し、視点位置や視線方向、視点速度等の視点に関する情報（以下、視点関連情報という。）を取得する。
取得した視点関連情報は、クライアント側記憶部２１０に格納するとともに、要求データ生成部２６０及びイベント検出手段２２２に渡す。
【００１６】
Ｓ１０２（Ｓ１０）において、要求データ生成部２６０（データ範囲決定部の一例）では、次に仮想空間を表示する範囲を、クライアント端末２００の表示状況や視点移動速度等に基づいて決める。
まず、表示状況に基づく場合を説明する。
要求データ生成部２６０の視点周囲領域決定部２７０は、前記視点取得手段２２１から次の視点の視点関連情報を受け取ると、都市の広範囲な領域のうち、次に表示する範囲を次の視点の周囲の領域として取得する。以下、次の視点の周囲の領域として取得する領域を「視点周囲領域」と呼ぶ。実施の形態１では、まず、視点周囲領域を定め、次いで、表示状況や通信回線の速度を考慮した上で視点周囲領域を拡大又は縮小してサーバ１００へデータを要求する範囲（後述のデータ要求範囲）とする。視点周囲領域の形状には、円や２次元の矩形等の形状を用いることができる。円や矩形の大きさは、後述する要求データ調節部２８０（データ範囲生成部の一例）において、視点の移動に伴うクライアントの表示状況に基づいて動的に決定する。
まず、視点周囲領域の形状として矩形を使用する場合を以下に述べる。図１１に示すように、次の視点の右方、左方、前方、後方の幅を設定することによって、視点の周囲の領域であるとする矩形の大きさを決めることができる。なお、矩形は、地面に平行面としている。視点右方幅、視点左方幅、視点前方幅、視点後方幅の初期値は予め設定しておくことができ、クライアント側記憶部２１０に記憶しておく。初期値は、回線の通信速度や端末の表示能力、視点移動速度等に対応付けて設定しておくことができる。例えば、回線の通信速度が遅い場合には、視点周囲領域の大きさを小さく設定しておく。
なお、視点周囲領域の大きさは、視点の移動によって新たに視界に入る領域を予測して含めた大きさとして設定しておくことができる。
視線方向判定手段２７１では、視線の方向ベクトルと２次元平面内における座標軸とのなす角度を求め、次の視点の周囲に矩形を配置する向きを決定する。視線の方向ベクトルと２次元平面内における座標軸とのなす角度は、クライアント側記憶部２１０に記憶するとともに視点周囲領域算出手段２７２に渡す。
例えば、図１２に示すように視線方向ベクトルが２次元平面内の座標軸（Ｘ軸、Ｚ軸とする）に対して傾いている場合には、視線方向ベクトルと２次元平面内の座標軸のどちらか一方の軸とのなす角度を算出し、その角度の分だけ視点周囲領域である矩形を回転させることにする。
【００１７】
Ｓ１０３（Ｓ１０）において、視点周囲領域算出手段２７２では、前記視点取得手段２２１から次の視点の位置や視線方向等の視点に関する視点関連情報を受け取り、クライアント側記憶部２１０から視点周囲領域の大きさ（視点右方向幅等）を読み込み、前記視線方向判定手段２７１から視線の方向ベクトルと２次元平面内の座標軸とのなす角度を受け取ると、視点周囲領域の特徴となる点の座標を特徴点座標として算出する。矩形の場合には、特徴点座標として、矩形の４隅の頂点座標を算出する。視線の方向ベクトルと２次元平面内の座標軸とが平行でない場合には、これらのなす角度を用いて矩形を回転させ、図１２に示すように２次元平面内の座標軸に対して傾いた矩形として頂点座標を算出する。
算出した特徴点座標は、視点周囲領域算出手段２７２がクライアント側記憶部２１０に出力し記憶させるとともに、要求データ調節部２８０に渡す。
次に、視点周囲領域の形状として円を使用する場合を以下に述べる。
図１３に示すように、円の中心、半径、調節値によって、視点の周囲に配置する円の大きさを決めることができる。ここで「調節値」とは、次の視点の位置と円の中心との距離であり、次の視点の位置から視線方向ベクトルの方向に調節値の分だけ移動した点を円の中心とすることによって、次の視点の位置の前方に大きく広がる円を形成することができる。円の半径、調節値の初期値は、予め設定しておくことができ、クライアント側記憶部２１０に記憶しておく。
視点周囲領域の形状が円である場合には、視点周囲領域算出手段２７２は、前記視点移動部２２０から次の視点の位置、視線の方向等の視点に関する視点関連情報を受け取り、クライアント側記憶部２１０から円の半径や調節値を読み込むと、視点周囲領域の特徴点座標として、円の中心座標を算出する。
なお、視点周囲領域が円の場合には、前記視線方向判定手段２７１は不要である。
算出した円の中心座標は、クライアント側記憶部２１０に記憶するとともに要求データ調節部２８０に渡す。
【００１８】
Ｓ１０４（Ｓ１０）において、要求データ調節部２８０（データ範囲生成部の一例）では、クライアント端末２００の表示状況に基づいて、サーバ１００に要求するデータの範囲（以下、「データ要求範囲」という）を決定する。ここで、「データ要求範囲」とは、クライアント端末２００がサーバ１００に要求する「データ範囲」の一例である。「データ範囲」とは、サーバ１００に配信要求をする表示用データの領域、件数を含む、広く、配信要求を求める表示用データの範囲をいう。
表示範囲算出手段２８１では、前記視点周囲領域算出手段２７２から視点周囲領域の特徴となる点の座標を受け取り、後述するレンダリング手段２３１からレンダリングが完了したオブジェクトのＩＤを受け取ると、クライアント端末２００が前時刻における表示の基準となった視点に対応してサーバ１００に要求したデータ要求範囲（以下、前回データ要求範囲という。）のうちの現在３次元モデルが表示できている表示範囲（以下、現在表示範囲という。）を算出する。算出した現在表示範囲は、クライアント側記憶部２１０に記憶するとともに、データ要求範囲取得手段２８２に渡す。
例えば、サーバ１００に要求した表示範囲が図１４に示すような矩形であった場合に、表示できている建物が、建物ａ、ｂ、ｃ、ｄ、ｅであったとする。このとき、現３次元モデルが表示できている現在表示範囲として、建物ａ、ｂ、ｃ、ｄ、ｅを含む外接矩形ＡＢＣＤの縦幅や横幅を取得する。
なお、３次元モデルが表示できている範囲としては、外接矩形の縦幅や横幅を取得する方法の他に、視点から最も遠方に存在するオブジェクトまでの距離を取得する等の方法でもよい。
【００１９】
Ｓ１０５（Ｓ１０）において、データ要求範囲取得手段２８２では、前記表示範囲算出手段２８１から現在表示できている現在表示範囲を受け取り、クライアント側記憶部２１０に格納されている前の視点についてのデータ要求範囲である前回データ要求範囲の大きさを参照すると、前回データ要求範囲に対する現在表示範囲の割合（以下、表示完了率という。）を算出し、表示完了率に基づいて次の視点についてのサーバ１００に要求するデータ要求範囲（以下、次回データ要求範囲という。）を決定する。
表示完了率や、決定した次回データ要求範囲の大きさや特徴点座標等は、クライアント側記憶部２１０に格納するとともに、クライアント側通信制御部２５０に渡す。
図１５を用いて具体的に説明する。
Ｗｒ０、Ｗｌ０、Ｄ０は、各々、現在クライアント側記憶部２１０に格納されている前回データ要求範囲を示す矩形の右方幅、左方幅、前方幅を示しており、この矩形内に存在するオブジェクトが既にサーバ１００に要求済みの状態である。
また、Ｗ１、Ｄ１は、各々、前記表示範囲算出手段２８１において算出した、現在表示範囲の横幅及び縦幅を示している。
このとき、サーバ１００に要求済みの前回データ要求範囲に対する現在表示範囲の割合である表示完了率は、以下の式から計算することができる。
表示完了率＝（現在表示範囲）／（前回データ要求範囲）＝（Ｗ１・Ｄ１）／（（Ｗｒ０＋Ｗｌ０）・Ｄ０）
表示完了率の値に基づいて、次の視点について仮想空間を表示するためにサーバ１００に要求する次回データ要求範囲を決定する。例えば、表示完了率が０．５以下の場合、サーバ１００に要求した範囲の多くがまだ表示されていない状況であるので、現在クライアント側記憶部２１０に格納されている視点周囲領域の矩形の大きさ（右方幅、左方幅、前方幅、後方幅等）を小さくする。
図１５は、後方幅が０の場合であるが、このとき例えば、表示完了率を考慮してクライアント側記憶部２１０に格納されている視点周囲領域の寸法を示す右方幅Ｗｒ１、左方幅Ｗｌ１、前方幅Ｄ１１の値を各々８０％にする。すなわち、０．８Ｗｒ１、０．８Ｗｌ１、０．８Ｄ１１を新たな矩形の大きさとして決定する。そして、これらの値を用いて矩形の４隅の頂点座標を算出して、この矩形を次回データ要求範囲とする。このとき、次回データ要求範囲を減少させる割合を回線の通信速度に基づいて決定することもできる。例えば、回線の通信速度が速い場合には、右方幅、左方幅、前方幅等の値を各々８０％にし、回線の通信速度が遅い場合には、右方幅、左方幅、前方幅等の値を各々７０％にする。
あるいは、次回データ要求範囲を以下のようにして変更してもよい。
右方幅、左方幅、前方幅の値を各々一定量だけ減少させてもよい。このとき調節する一定量は、回線の通信速度に基づいて決定することができる。例えば、回線の通信速度が速い場合には、右方幅等を調節する一定量を２ｍとし、回線の通信速度が遅い場合には、右方幅等を調節する一定量を３ｍとする。
反対に、表示完了率が０．９よりも大きい場合には、前回データ要求範囲の多くが表示されている状況であるので、次回データ要求範囲の矩形の大きさを大きくし、例えば１．２Ｗｒ１、１．２Ｗｌ１、１．２Ｄ１１を新たな矩形の大きさとして決定する。あるいは、右方幅、左方幅、前方幅の値を各々一定量だけ増加させてもよい。前記の表示完了率が小さいときと同様に、次回データ要求範囲をどのくらい増加させるかは、回線の通信速度に基づいて決めることができる。
表示完了率、次回データ要求範囲である新たな矩形の大きさ、及び算出した矩形の特徴点座標は、クライアント側記憶部２１０に記憶するとともに、クライアント側通信制御部２５０に渡す。
データ要求範囲の形状が円の場合も同様である。例えば、前回データ要求範囲が図１６に示される円であり、現在表示されている建物がａ、ｂ、ｃ、ｄであるとする。このとき、表示範囲算出手段２８１において視点から最も遠方に存在するオブジェクトとして、建物ｄまでの距離Ｌ１を取得した場合、視点から中心までの距離（調節値）と円の半径を用いて得られるＬ０を用いて、前回データ要求範囲に対する現在表示範囲の割合である表示完了率は、例えば以下の式から計算することができる。
表示完了率＝（現在表示範囲）／（前回データ要求範囲）＝Ｌ１／Ｌ０
矩形の場合と同様に、例えば、表示完了率が０．５以下の場合、現在クライアント側記憶部２１０に記憶されている視点周囲領域としての円の半径Ｒ０を小さくして、０．８・Ｒ０を次回データ要求範囲としての新たな円の半径として決定する。あるいは、円の半径を一定量だけ変化させてもよい。矩形の例で示したものと同様に、次回データ要求範囲をどのくらい変化させるかは、回線の通信速度に基づいて決めることができる。
【００２０】
Ｓ１０６（Ｓ１０）において、クライアント側通信制御部２５０では、前記データ要求範囲取得手段２８２から次回データ要求範囲のサイズや特徴点座標、表示完了率を受け取ると、これらの値を、ネットワークを介してサーバ側通信制御部１３０に送信する。
【００２１】
次に図７を用いて、次回データ要求範囲等を受信したサーバ１００側の動作を説明する。
図７は、次回データ要求範囲等を受信したサーバ１００側の図５のＳ３０における処理手順を示すフローチャートである。
【００２２】
Ｓ３０１（Ｓ３０）において、サーバ側通信制御部１３０では、ネットワークを介してクライアント側通信制御部２５０から次回データ要求範囲の大きさやその特徴点座標、表示完了率を受け取ると、次回データ要求範囲の大きさやその特徴点座標を配信オブジェクト取得部１５０（表示用データ取得部の一例）に渡し、表示完了率をクライアント管理手段１１１に渡す。
【００２３】
Ｓ３０２（Ｓ３０）において、配信オブジェクト取得部１５０（表示用データ取得部の一例）では、差分取得手段１５１がクライアント端末２００に配信するオブジェクトを、オブジェクト管理手段１１３が有するオブジェクト管理データベース１１４を検索し、抽出する。
そこでまずオブジェクト管理手段１１３について説明する。
【００２４】
オブジェクト管理手段１１３は、道路や建物等の都市を構成するオブジェクトに関して、３次元データやテクスチャデータ等の情報を管理するオブジェクト管理データベース１１４を有している。
オブジェクト管理データベース１１４では、道路や建物、道路設備等、都市を構成するオブジェクトのデータを、例えば種別ごとに管理している。オブジェクトのデータは、さらに、オブジェクトの概要に関するオブジェクト概要テーブルと頂点座標等のオブジェクトの詳細データに関するテーブルに分けて管理している。
テーブルの例を図１７に示す。
オブジェクト概要テーブルでは、オブジェクトの重心座標や外接直方体の座標等を管理している。重心座標や外接直方体の座標等は、データ要求範囲内に存在するオブジェクトを抽出する際に利用する。
オブジェクトが例えば、３次元モデル記述言語であるＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）で記述されている場合、以下のようなテーブルを設定して管理することができる。
材質テーブルでは、拡散色や輝度等、材質に関する情報を管理する。
ポリゴンテーブルでは、ポリゴンごとにポリゴンを形成する頂点の接続順序等を管理している。
形状頂点テーブルでは、ポリゴンごとに、ポリゴンを形成する頂点座標を管理している。
テクスチャ頂点テーブルでは、ポリゴンごとにポリゴンに貼り付けるテクスチャの頂点座標を管理している。
なお、オブジェクトは、必ずしもＶＲＭＬ形式で再現されなければならない必要はなく、任意の形式の３次元データを使用することができる。また、オブジェクトの３次元形状やテクスチャ等、オブジェクトに関するデータを管理するためのテーブルの設定は任意であり、上記以外の設定例を使用してもよい。オブジェクトに関するデータでは、形状やテクスチャの他に、オブジェクトに関するリンクの情報等も設定してもよい。
【００２５】
配信オブジェクト取得部１５０の差分取得手段１５１は、サーバ側通信制御部１３０から次回データ要求範囲の大きさや特徴点座標を受け取ると、次回データ要求範囲内に存在するオブジェクトのうち、未だクライアント端末２００に配信していない未配信オブジェクトのみをオブジェクト管理データベース１１４において検索し、未配信オブジェクトの３次元データやテクスチャデータ等のオブジェクトに関する詳細なデータをオブジェクト管理データベース１１４から抽出する。抽出した未配信オブジェクトに関するデータは、差分取得手段１５１が配信計画部１６０、サーバ側通信制御部１３０に出力する。
前記の差分取得手段１５１が配信オブジェクトを抽出する動作について以下に示す。
クライアント管理データベース１１２において、クライアント毎の配信オブジェクトを管理するテーブルの例を図１８の配信情報テーブル１１５に示す。
配信情報テーブル１１５において、時刻ＩＤは、クライアントが３次元空間内で行う視点の移動に対応して時刻を管理する番号である。配信オブジェクトＩＤは、サーバ側通信制御部１３０からネットワークを介してクライアントに配信されたオブジェクトのＩＤである。
例えば、前の視点についての前回データ要求範囲と次の視点についての次回データ要求範囲とが図１９に示すような領域であるときに、建物ａ、ｂ、ｃ、ｄが既にクライアントに配信済みであったとする。前の視点についての時刻ＩＤを１、次の視点についての時刻ＩＤを２とすると、図１８のように、配信情報テーブル１１５においては、時刻ＩＤが１の配信オブジェクトＩＤに、建物ａ、ｂ、ｃ、ｄのＩＤが登録される。
そこで、差分取得手段１５１では、次回データ要求範囲のうち、未だ配信していない建物として建物ｅ、ｆを取得しオブジェクト管理手段１１３におけるオブジェクト管理データベース１１４のテーブルを参照して３次元データやテクスチャデータ等を抽出する。
オブジェクト管理データベース１１４のテーブルにおいて、同一のオブジェクトに対して詳細度の異なるデータが何種類か登録されている場合には、視点からの距離等に基づいて詳細度を選択してデータを配信することができる。例えば、建物のテクスチャにおいて、解像度の低いテクスチャと解像度の高いテクスチャが登録されている場合、オブジェクト管理データベース１１４からオブジェクトを抽出する際に、視点から遠方に存在するオブジェクトに対して解像度の低いテクスチャを選択し、視点の近くに存在するオブジェクトに対して解像度の高いテクスチャを選択して配信するようにできる。
また、次回データ要求範囲内に存在する未配信オブジェクトのうち、オブジェクト管理テーブルに予め設定されている優先度に基づいて、未配信オブジェクトを選択し配信することができる。優先度の設定では、例えば道路の付近に存在する建物に優先度大の設定をしてもよい。
【００２６】
Ｓ３０３（Ｓ３０）において、配信計画部１６０では、領域別計画手段１６１が、配信オブジェクト取得部１５０から抽出した未配信オブジェクトに関するデータを受け取ると、クライアント端末２００に配信するための計画を立て、配信計画ファイル１６３を生成する。
配信計画ファイル１６３は、サーバ側通信制御部１３０によって参照される。また、サーバ側通信制御部１３０から未配信オブジェクトのデータ配信が完了する毎に、配信完了のメッセージを受け取り、配信計画ファイル１６３の「状態」の項目を更新する。
配信計画部１６０の領域別計画手段１６１は、クライアント管理手段１１１が有するクライアント管理データベース１１２を参照して、クライアント端末２００の表示完了率に基づいて複数のオブジェクトを何回に分けて配信するかを決め、次の視点に近いオブジェクトから順に複数のグループに分けてクライアント端末２００に配信する計画を立て、配信計画ファイル１６３を更新する。
図２０にクライアント管理データベース１１２における表示状況テーブルの例を示す。表示完了率は、前記のように、クライアント端末２００からデータ配信の要求を受けた前回データ要求範囲に対して、クライアント端末２００が現在表示できている現在表示範囲の割合である。領域別計画手段１６１は、クライアント端末２００の表示範囲算出手段２８１により算出された表示完了率を、ネットワークを介してサーバ側通信制御部１３０から受け取ると、表示完了率の項目に登録する。時刻ＩＤは、クライアント端末２００の視点移動に伴う時刻を管理する番号である。
配信計画の例は、以下のようになる。
例えば、図２０の表示状況テーブルにより、表示完了率を時刻に関連づけて把握できる。そして、表示完了率が低いクライアント端末２００の場合、オブジェクトを視点に近い順に例えば５個のグループに分類し、視点に近いグループから順にそのグループに属するオブジェクトを配信する計画を立てる。
反対に、表示完了率が高いクライアント端末２００の場合、オブジェクトを視点に近い順に例えば２個のグループに分類し、視点に近いグループから順にそのグループに属するオブジェクトを配信する計画を立てる。このように、表示状況の一例である表示完了率に基づき、クライアント端末２００に配信するオブジェクト（表示用データ）の配信計画を作成する。
配信計画ファイル１６３の例を図２１に示す。
【００２７】
Ｓ３０４（Ｓ３０）において、サーバ側通信制御部１３０では、前記配信オブジェクト取得部１５０がオブジェクト管理データベース１１４から抽出した未配信オブジェクトの３次元形状データやテクスチャデータを受け取ると、前記配信計画部１６０において出力した配信計画ファイル１６３を参照して、オブジェクトの３次元データやテクスチャデータ等のオブジェクトに関するデータを、ネットワークを介してクライアント端末２００に配信する。配信が完了した場合には、サーバ側通信制御部１３０は、配信計画部１６０の領域別計画手段１６１に配信完了メッセージを知らせる。
領域別計画手段１６１では、配信完了メッセージを受け取ると、配信計画ファイル１６３の「状態」の内容を配信完了の状態に変更する。
【００２８】
クライアント管理手段１１１では、配信したオブジェクトやクライアント端末２００における表示完了率等、クライアント端末２００に関する情報をクライアント管理データベース１１２に登録する。
クライアント管理データベース１１２のテーブルの例は、図１８及び図２０に示したとおりであり、クライアント毎に、配信情報テーブル１１５と表示状況テーブルを設けて管理している。
【００２９】
次に、図８を用いて図５のＳ５０におけるクライアント端末２００の動作を説明する。
Ｓ５０１（Ｓ５０）において、クライアント端末２００では、クライアント側通信制御部２５０がオブジェクトの３次元データやテクスチャデータをサーバ１００から受け取ると、クライアント側記憶部２１０にデータを格納する。
また、３次元データやテクスチャデータ等、受信したオブジェクトに関する情報を受信データ管理手段２１１に渡す。
【００３０】
Ｓ５０２（Ｓ５０）において、受信データ管理手段２１１では、各時刻においてサーバ１００から配信されるべきデータが正常に配信されたかどうかを監視する。
【００３１】
Ｓ５０３（Ｓ５０）において、正常に配信されていないデータがある場合には、受信データ管理手段２１１は、そのデータの情報を抽出して、クライアント側通信制御部２５０に渡し、クライアント側通信制御部２５０はこれをサーバ１００へ送信する。
【００３２】
Ｓ５０４（Ｓ５０）において、クライアント側通信制御部２５０は、正常に配信されていない「欠陥配信データ」について、「データ再送要求」をサーバ１００へ送信する。
【００３３】
Ｓ５０５（Ｓ５０）において、データが正常に配信された場合には、レンダリング手段２３１に追加読み込みメッセージを送る。
ポリゴンに関して、受信の正誤を確認する例を以下に示す。
例えば、クライアント端末２００がネットワークを介してオブジェクトの３次元モデルを受信すると、受信データ管理部では、ポリゴンＩＤとポリゴン終了フラグとの組によって受信したポリゴンを判定する。ポリゴンＩＤを受け取っているがポリゴン終了フラグを受け取っていないポリゴンに対して既に配信が終了し、次のオブジェクトに関してポリゴン等の配信が開始されている場合には、ポリゴンを正しく受信できなかったとして、クライアント側通信制御部２５０に、時刻ＩＤ、そのポリゴンＩＤ、受信できなかったデータの種別（法線ベクトルや頂点座標等の区別）等をわたし、クライアント側通信制御部２５０からネットワークを介してサーバ側通信制御部１３０にデータ再送の要求を送る。
一方、ポリゴンＩＤに対して、対応するポリゴン終了フラグを確認した場合には、レンダリング手段２３１に追加読み込みメッセージを送る。
テクスチャ等についても同様である。
【００３４】
次に、図９を用いて、図５のＳ７０におけるサーバ１００の動作を説明する。Ｓ７０１（Ｓ７０）において、サーバ側通信制御部１３０が、クライアント側通信制御部２５０から前記欠陥配信データについてデータ再送の要求を受け取る。
【００３５】
Ｓ７０２（Ｓ７０）において、配信計画部１６０の再計画手段１６２が、受け取ったオブジェクトＩＤに関する形状データやテクスチャデータで正常に配信できなかったデータの項目を配信計画ファイル１６３に追記するとともに、その詳細データオブジェクト管理手段１１３から取得してサーバ側通信制御部１３０に渡す。
【００３６】
Ｓ７０３（Ｓ７０）において、サーバ側通信制御部１３０は配信計画ファイル１６３を参照すると、正常に配信されなかったとして配信計画ファイル１６３に追記された項目のデータを、ネットワークを介してクライアント側通信制御部２５０に再配信する。
【００３７】
次に、図１０を用いて、図５のＳ９０におけるクライアント端末２００の動作を説明する。
Ｓ９０１（Ｓ９０）において、クライアント側通信制御部２５０では、正常に配信されなかったとして配信計画ファイル１６３に追記された項目のデータを受信すると、受信したデータをクライアント側記憶部２１０に格納するとともに、レンダリング手段２３１に追加読み込みのメッセージを送る。
【００３８】
Ｓ９０２（Ｓ９０）において、レンダリング手段２３１では、前記受信データ管理手段２１１から追加読み込みメッセージを受け取ると、クライアント側記憶部２１０からデータを読み込んでオブジェクトの３次元モデルをレンダリングする。レンダリングが完了したオブジェクトのＩＤは、要求データ調節部２８０の表示範囲算出手段２８１に渡す。レンダリングの処理内容は、世の中一般のレンダリングと同様であり、カリング処理や隠面消去等を行うことができる。
なお、既に受信しているオブジェクトのうち、クライアント側記憶部２１０に格納されているオブジェクトを読み込んで表示することができる。また、後述するメモリ管理手段２３２により、受信済みのオブジェクトがメモリから削除され、かつ再度表示する場合には、クライアント側通信制御部２５０にデータ再送のメッセージを送る。
なお、データの受信と視点移動を伴うレンダリングは、マルチスレッド処理により、並行して行うことができるとする。
なお、サーバ１００から受信したオブジェクトの３次元モデルだけではなく、クライアント側記憶部２１０に予め記憶されている３次元モデルとサーバ１００から受信した３次元モデルの両方を用いて表示することができる。
【００３９】
視点の移動において、視点移動速度がある値以上変化した場合には、視点移動部２２０のイベント検出手段２２２がこれを検出し、視点周囲領域の大きさを変更して、クライアント側記憶部２１０に記憶する。すなわち、視点移動速度の変化に基づいて、視点周囲領域の大きさを変更することによって、サーバ１００へ要求するデータ範囲を変更（調節）する。
例えば、１秒間に視点が移動する移動量で視点移動速度を調節する場合において、前回の視点の移動量に比べて、今回の視点の移動量が２０だけ増加した場合には、視点移動速度が低速から中速に変化したとみなして、視点周囲領域の大きさを大きくし、クライアント側記憶部２１０に記憶する。
また、前回の視点の移動量に比べて、今回の視点の移動量が３だけ増加した場合には、視点移動速度が低速のままとみなし、視点周囲領域の大きさの変更は行わない。
視点移動速度が変化したとみなす判定値、及び、視点周囲領域の大きさをどれくらい変化させるかは予め設定しておくことができる。
なお、以上の場合のほか、要求データ生成部２６０が視点取得手段２２１から視点の移動速度を入力して、入力した視点の移動速度に基づいて上記の視点周囲領域の大きさを変更して、サーバ１００に配信要求をするデータ範囲を変更（調節）しても構わない。例えば、要求データ生成部２６０は、所定の速度を判定値として記憶しており、この判定値を超える場合は高速と判定して視点周囲領域の大きさを大きくする。また、この判定値の以下の場合は、視点周囲領域の大きさの変更は行わないこととしても構わない。
【００４０】
表示部２３０におけるメモリ管理手段２３２では、クライアント側記憶部２１０のデータ容量が許容量を超えてしまう場合に、視野外に存在するオブジェクトを、視点から遠方に存在するオブジェクトから順にメモリから削除する。すなわち、視点とオブジェクトの位置関係に基づいてオブジェクト（表示用データ）を削除する。または、前回に表示された時刻からの経過時間が長いオブジェクトから順にメモリから削除していく。
【００４１】
実施の形態１は、１台のクライアント端末２００を使用した実施の形態であるが、図１に示すように、複数のクライアント端末を使用しても良い。
【００４２】
実施の形態１は、クライアント端末２００が配信を要求した範囲内に存在するオブジェクトのうち、既に配信したオブジェクトをクライアント管理データベース１１２における配信情報テーブル１１５を参照して行うものであり、サーバ１００側で配信オブジェクトを管理する実施の形態である。一方、受信したオブジェクトはクライアント側で管理しているので、これを利用して、サーバ１００にデータを要求する際に、データ要求範囲内に存在するオブジェクトのうち、クライアント端末２００が受信済みのオブジェクトを除いたオブジェクトのデータを要求してもよい。
【００４３】
実施の形態１は、建物に関して３次元形状等のデータを配信する実施の形態を示しているが、同様にして、道路設備等、都市を構成する他のオブジェクトに関するデータを配信してもよい。また、配信する種別の組み合わせは任意であり、建物、道路、道路設備等を同時に配信することができる。
【００４４】
以上のように、この実施の形態１における情報配信システムでは、クライアント端末２００における視点の移動に伴って、クライアント端末２００がサーバ１００から配信してもらう領域の範囲や大きさをクライアント端末２００の表示状況に基づいて動的に変えるので、配信するデータ量をクライアント端末２００の表示能力や時々刻々と変化する回線の状況に応じて制御することが出来、クライアント端末２００ではストレスの少ない速度で高速に視点を移動させることができる。
【００４５】
また、配信する範囲の大きさをクライアント端末２００側で動的に制御するので、複数のクライアント端末２００が視点移動を行う場合においてサーバ１００の負荷が増加することを防ぐ。
【００４６】
実施の形態２．
実施の形態１は、視点の周囲に存在するオブジェクトを取得するために、矩形や円の領域の大きさを視点の移動に伴って動的に変化させる実施の形態である。これに対して実施の形態２は、建物等の都市を構成するオブジェクトを道路と関連付けて管理する。そして、視点付近に存在する道路に関連付けられているオブジェクトを取得する件数を、視点の移動に伴って動的に変化させることに特徴がある。都市を構成する建物や道路設備等のオブジェクトを道路と関連付けて管理することにより、仮想空間内における視点の移動に伴って、視点の周囲に存在するオブジェクトを視点の移動に伴って効率的に取得する。
以下の実施の形態２では、道路と関連付けるオブジェクトとして、都市を構成する主なオブジェクトである建物にを例にとり、説明する。
【００４７】
システム全体の構成図は実施の形態１と同様であり、図１である。
【００４８】
図２２は、この発明の実施の形態２におけるサーバ１００の機能手段の構成を示すブロック図である。なお、ストリーミング制御部１２０は配信部の一例である。
サーバ側記憶部１１０の各機能手段、サーバ側通信制御部１３０、配信計画部１６０における再計画手段１６２の処理内容は実施の形態１と同様である。新たに、サーバ側記憶部１１０のオブジェクト管理手段１１３において、道路管理テーブル２１１５、近接オブジェクト管理テーブル２１１６、関連オブジェクト管理テーブル２１１７が加わっている。ストリーミング制御部１２０では、配信オブジェクト取得部１５０において、道路取得手段２１５１、近接オブジェクト取得手段２１５２、関連オブジェクト取得手段２１５３、方向別計画手段２１６１が加わっている。
道路取得手段２１５１は、クライアント端末２００から次の視点に関する視点関連情報を受け取ると、次の視点の位置が存在する道路を抽出する。そして、その道路をまだクライアント端末２００に配信していない場合には、道路の３次元データやテクスチャデータを抽出する。
近接オブジェクト取得手段２１５２は、前記道路取得手段２１５１から次の視点が存在する道路がどれであるかを受け取り、また、クライアント端末２００から次の視点の視点関連情報と道路に沿って取得するオブジェクトの件数を受け取る。その後、近接オブジェクト取得手段２１５２は、道路から近い位置において道路に沿って存在するオブジェクトを、受け取った前記オブジェクトの件数分だけ道路に対する歩行方向に基づいて抽出し、抽出したオブジェクトの３次元データやテクスチャデータ等の詳細なデータをオブジェクト管理データベース１１４を検索し取得する。
関連オブジェクト取得手段２１５３は、道路から奥まった位置に存在するオブジェクトを、道路から近い順に取得する。
方向別計画手段２１６１は、道路からの距離に基づいて次の視点の付近に存在するオブジェクトをクライアント端末２００に配信する計画をたてる。
【００４９】
図２３は、この発明の実施の形態２におけるクライアント端末２００の機能手段の構成を示すブロック図である。
クライアント側記憶部２１０、視点移動部２２０、表示部２３０の各機能手段、クライアント側通信制御部２５０の各処理内容は、実施の形態１と同様である。実施の形態１に対して、新たな要素として、オブジェクト表示率算出手段２２８１、要求件数調節手段２２８２、関連オブジェクト領域調節手段２２８３が加わっている。
そして、要求データ生成部２６０は、実施の形態１と比べると、視点周囲領域決定部２７０を除いた構成となっている。
オブジェクト表示率算出手段２２８１は、オブジェクトに対して、現在３次元モデルが表示できているオブジェクトの割合を算出する手段である。
要求件数調節手段２２８２は、現在３次元モデルが表示できている割合に基づいて、サーバ１００に配信してもらうオブジェクトの件数を決定する手段である。
関連オブジェクト領域調節手段２２８３は、クライアント端末２００の表示状況や視点高度、視点移動速度等に基づいて道路から奥まった位置に存在する建物等のオブジェクトを取得する範囲を決定する手段である。
【００５０】
以下では、道路（道路表示用データ）と関連付けるオブジェクト（道路関連表示用データ）として、都市を構成する主なオブジェクトである建物に関する例について示す。
まず、建物の管理方法について述べる。
サーバ１００のオブジェクト管理手段１１３では、道路の付近に存在する建物を道路に関連付けて管理する。道路は交差点等の位置に基づいて、複数の領域に分けておく。ユーザが任意の部分で道路を分割してもよい。例えば、図２４に示すように複数の部分に分割し、分割した各領域を道路ＩＤで一意に管理する。
分割した道路は、例えば道路の真線データの座標等と対応付けることによって、位置情報から道路を特定できるように管理しておく。
道路を管理する道路管理テーブル２１１５（道路表示用データの一例）を図２５に示す。
次に、道路に沿った道路から近い領域内に存在する建物を管理するテーブルの例を、図２６に近接オブジェクト管理テーブル２１１６（道路関連表示用データの一例）として示す。
近接オブジェクト管理テーブル２１１６では、図２７に示すように、２次元平面内の座標軸をＸ軸とＺ軸としたときに、例えば、Ｘ軸の負から正、Ｚ軸の負から正に向かう方向を「道路の方向が正である」と決めておき、道路の両側に存在する建物のうち、道路から１列目に存在する建物を道路の方向が正の順に並べて管理する。ここで、道路から１列目とは、図２７に示すように、道路に沿った領域を考え、道路から離れる方向に向かって複数の領域に分けた時に、道路に最も近い側の領域を指す。以下では、図２７に示すように、道路から離れる方向に対して、道路から近い側から順に１列目、２列目、・・・と呼ぶことにする。
道路の左側に存在する建物と道路の右側に存在する建物は分けて管理する。また、建物の位置情報は、例えば重心座標を利用して管理する。
図２７に示す道路の場合、視線の方向はＺ軸の正の方向であり、また、図２６の近接オブジェクト管理テーブル２１１６ではＺ軸が負の方向から正の方向に向かって建物を管理するので、道路の右側に存在する建物は、近接オブジェクト管理テーブル２１１６において建物Ａ、Ｂ、Ｃ、・・・の順に記述されることになる。この様な表示用データの一例である建物のデータは、順位付けされて記述されている。
次に、道路に対して２列目以降に存在する建物（道路に対して１列目よりも奥まった位置に存在する建物）を管理するテーブルの例を、図２８に関連オブジェクト管理テーブル２１１７として示す。
関連オブジェクト管理テーブル２１１７では、道路に対して２列目以降に存在する建物を、道路の１列目に存在する建物と関連付けて管理する。すなわち、１列目、２列目というレベルに分けるとともに、それぞれの列（レベル）に存在する建物（表示用データ）を関連付けて記憶、管理する。建物を記述する順序は、道路の１列目の場合と同様に道路の方向が正の順に並べて管理する。道路に対して何列目までの建物を管理するかは、任意である。
各建物に関して、材質や頂点座標等の詳細なデータは、例えば、実施の形態１のオブジェクト管理手段１１３で示した材質テーブル、ポリゴンテーブル、形状頂点テーブル、テクスチャ頂点テーブル等と同様のテーブルを利用することができる。また、他の任意のテーブルを設定してもよい。
【００５１】
次に動作について説明する。実施の形態２は、クライアント端末２００とサーバ１００のデータのやり取りは、図５と同様である。図２９、図３０により動作を説明する。図２９は、図５のＳ１０における実施の形態２のクライアント端末２００のフローチャートである。図３０は、図５のＳ３０における実施の形態２のサーバ１００のフローチャートである。
【００５２】
Ｓ２１０１（Ｓ１０）において、クライアント端末２００において、視点取得手段２２１では、実施の形態１と同様に、道路や建物等から成る都市の３次元モデルを表示した仮想空間内でユーザがマウスやキーボードにより視点を移動させると、次に仮想空間を表示する次の視点の位置を計算し、視点の位置や視線の方向、視点移動速度等の視点に関する視点関連情報を取得する。取得した視点関連情報は、クライアント側記憶部２１０に格納するとともに、要求データ生成部２６０、イベント検出手段２２２、クライアント側通信制御部２５０に渡す。
【００５３】
Ｓ２１０２（Ｓ１０）において、要求データ生成部２６０において、オブジェクト表示率算出手段２２８１では、レンダリング手段２３１からレンダリングが完了したオブジェクトのＩＤを受け取ると、サーバ１００に要求した建物の総件数に対して、現在３次元モデルが表示できている建物の件数の割合を建物表示完了率（表示完了率の一例）として算出する。算出した建物表示完了率は、要求件数調節手段２２８２、関連オブジェクト領域調節手段２２８３に渡す。
【００５４】
Ｓ２１０３（Ｓ１０）において、要求件数調節手段２２８２では、前記オブジェクト表示率算出手段２２８１から建物表示完了率を受け取ると、その建物表示完了率に基づいて次回にサーバ１００に要求する道路沿１列目（図２７）の建物の件数（以下、要求建物件数という。）を決定する。ここに、「要求建物件数」は、表示用データのデータ件数の一例である。図２７の２列目以降は、後述の関連オブジェクト領域調節手段２２８３が決定する。
決定した要求建物件数は、クライアント側記憶部２１０に記憶するとともに、クライアント側通信制御部２５０に渡す。サーバ１００に要求する建物件数の初期値は、クライアント側記憶部２１０に予め記憶している。
サーバ１００に要求した要求建物件数に対して、現在３次元モデルが表示できている建物表示完了率が小さい場合には、次にサーバ１００に要求する際に、要求する建物の件数を現在より減らしてサーバ１００に要求する。例えば、現在、道路の両側に各々８件ずつ建物を取得していた場合、次回には、道路の両側に各々５件ずつの建物を取得する要求とする。
反対に、サーバ１００への要求建物件数に対して、建物表示完了率が大きい場合には、次回に要求する建物の件数を現在より増やしてサーバ１００に要求する。
このとき、要求建物件数の増減値は、回線の通信速度に基づいて決めることができる。例えば、回線の通信速度が速く、現在、道路の両側に各々８件ずつ建物を取得していた場合、次回には道路の両側に各々６件ずつの建物を取得する要求とする。反対に、回線の通信速度が遅く、現在、道路の両側に各々８件ずつ建物を取得していた場合、次回には道路の両側に各々４件ずつの建物を取得する要求とする。
【００５５】
Ｓ２１０４（Ｓ１０）において、関連オブジェクト領域調節手段２２８３では、クライアント端末２００の建物表示完了率や視点高度、視点移動速度等に基づいて道路から奥まった位置に存在するオブジェクト（図２７の２列目以降の建物。以下、「道路沿２列目以降建物」という。）を取得する範囲（データ範囲の一例）を決め、クライアント側通信制御部２５０に渡す。
まず、クライアント端末２００の表示状況に基づいて、道路沿２列目以降建物を取得する範囲を決める場合について述べる。
道路沿２列目以降建物のうち、道路から何列目までをサーバ１００に要求するのかを、クライアント端末２００の表示状況に基づいて決定する。
建物表示完了率が小さい場合には、次の視点についてサーバ１００に要求する際に、道路から１列目に存在する建物の他に、道路から２列目に存在する建物だけを要求する。
反対に、建物表示完了率が大きい場合には、次回にサーバ１００に要求する際に、道路から１列目に存在する建物の他に例えば、道路から３列目までの建物を要求する。
なお、建物表示完了率と「道路沿２列目以降建物」のうち、何列目までを要求するかの対応付けは、予め対応ルールをクライアント側記憶部２１０に記憶しているものとする。
例えば、建物表示完了率が０．４未満の場合には、道路から２列目以降に存在する建物は何も要求しないものとし、表示できている割合が０．５以上０．７未満の場合には、道路から２列目までの建物を要求するものとし、表示できている割合が０．８以上の場合には、道路から３列目までの建物を要求するものとする、という対応ルールをクライアント側記憶部２１０に記憶しておく。
【００５６】
次に、視点高度に基づいて、道路沿２列目以降建物を取得する範囲を決める場合について述べる。
高さ方向に複数の範囲を予め設定しておき、道路から何列目の建物までを取得するかを各範囲と対応付けてクライアント側記憶部２１０に記憶しておく。例えば、視点の高さが２ｍ未満の場合には、道路から２列目以降の建物は何も取得しないものとし、視点の高さが２ｍ〜３ｍの場合には、道路から２列目までの建物を取得するものとし、視点の高さが３ｍ〜４ｍの場合には、道路から３列目までの建物を取得する、というように、視点の高さに基づいて道路の２列目以降の建物を何列目まで取得するのかを関連付けておく。これにより、フライスルーのように上空を視点移動する場合や、道路に沿って斜め上空から道路を見下ろすような角度で視点移動を行うような場合に、視点の高度に基づいて見える範囲を動的に調節することができる。
関連オブジェクト領域調節手段２２８３は、視点移動部２２０から視点の高さを受け取ると、視点の高さに基づいて、道路沿２列目以降建物につき、何列目まで取得するかを決定し、クライアント側通信制御部２５０に渡す。
【００５７】
次に、視点移動速度に基づいて、道路沿２列目以降建物を取得する範囲を決める場合について述べる。
視点移動速度と、道路沿２列目以降建物のうち、何列目までを取得するのかを予め対応づけておき、クライアント側記憶部２１０に記憶しておく。例えば、関連オブジェクト領域調節手段２２８３は、視点移動速度が低速である場合には、道路から３列目までを取得するものとし、視点移動速度が中速である場合には、道路から２列目までを取得するものとし、視点移動速度が高速である場合には、道路から２列目以降の建物は何も取得しない、という具合である。関連オブジェクト領域調節手段２２８３は、視点移動部２２０から視点移動速度を受け取ると、視点移動速度に基づいて、道路沿２列目以降建物を何列目まで取得するかを決定し、クライアント側通信制御部２５０に渡す。
【００５８】
Ｓ２１０５（Ｓ１０）において、クライアント側通信制御部２５０では、視点取得手段２２１から次の視点の位置や視線の方向等、視点関連情報を受け取り、要求件数調節手段２２８２から要求建物件数を受け取り、関連オブジェクト領域調節手段２２８３から道路沿２列目以降に存在するオブジェクトを取得する領域（何列目までを要求するか）を受け取ると、ネットワークを介してサーバ側通信制御部１３０に渡す。
【００５９】
以下、図３０を用いて、図５のＳ３０に相当するサーバ１００の動作を説明する。
Ｓ２３０１（Ｓ３０）において、サーバ側通信制御部１３０では、クライアント側通信制御部２５０から視点関連情報、要求建物件数、道路沿２列目以降建物の取得する領域等を受け取ると、配信オブジェクト取得部１５０に出力する。
【００６０】
Ｓ２３０２（Ｓ３０）において、配信オブジェクト取得部１５０において道路取得手段２１５１では、サーバ側通信制御部１３０から視点の位置を含む視点関連情報を受け取ると、次の視点の位置が存在する道路（道路表示用データ）を抽出する。そして、その道路をまだクライアント端末２００に配信していない場合には、道路の３次元データやテクスチャデータを取得して、サーバ側通信制御部１３０に渡す。また、抽出した、次の視点の位置が存在する道路のＩＤを近接オブジェクト取得手段２１５２に渡す。
以下に、道路取得手段２１５１の動作を具体的に述べる。
まず、道路取得手段２１５１は、オブジェクト管理手段１１３の図２５に示す道路管理テーブル２１１５を参照して、次の視点の位置が存在する道路を抽出する。次の視点の位置が存在する道路は、次の視点の位置、道路管理テーブル２１１５における真線データの座標等により抽出することができる。次に、道路取得手段２１５１は、クライアント管理手段１１１の配信情報テーブル１１５を参照し、抽出した道路を既にクライアント端末２００に配信したかを確かめ、未だ配信していない場合には、オブジェクト管理データベース１１４を参照して道路の３次元データやテクスチャデータを取得して、サーバ側通信制御部１３０に渡す。
【００６１】
Ｓ２３０３（Ｓ３０）において、近接オブジェクト取得手段２１５２では、道路沿の１列目に存在する建物を取得する。即ち、近接オブジェクト取得手段２１５２は、前記道路取得手段２１５１から、次の視点の位置が存在する道路ＩＤを受け取り、クライアント側通信制御部２５０から次の視点の位置を含む視点関連情報と要求建物件数（表示用データのデータ件数の一例）を受け取ると、前回にクライアント端末２００に配信した建物の続きに基づいて道路に関連付けられて記憶されている道路の付近に存在する建物（道路関連表示用データの一例）を抽出し、３次元データやテクスチャデータ等の建物に関する詳細なデータをオブジェクト管理データベース１１４から抽出し取得する。
取得した３次元データやテクスチャデータは、サーバ側通信制御部１３０に渡す。
また、抽出した道路の付近に存在する建物のＩＤを関連オブジェクト取得手段２１５３、方向別計画手段２１６１に渡す。
まず、近接オブジェクト取得手段２１５２は、道路取得手段２１５１から道路ＩＤを受け取ると、受け取った道路ＩＤの近接オブジェクト管理テーブル２１１６（図２６）を参照し、前回にクライアント端末２００に配信した建物ＩＤの続きから、建物件数分だけ建物ＩＤを取得する。近接オブジェクト管理テーブル２１１６において、前回にクライアント端末２００に配信した建物ＩＤの最後尾の位置は、サーバ側記憶部１１０に記憶しておく。
次に、近接オブジェクト取得手段２１５２は、近接オブジェクト管理テーブル２１１６から取得した建物ＩＤを参照し、建物についての３次元形状やテクスチャ等の詳細なデータを、オブジェクト管理手段１１３が有している材質テーブルや形状頂点テーブル等を用いて抽出し、抽出したデータをサーバ側通信制御部１３０に渡す。
なお、近接オブジェクト取得手段２１５２は、視点が存在する道路領域が変わり、その道路ＩＤに対して初めて建物を抽出する場合には、近接オブジェクト管理テーブル２１１６における建物の重心座標を用いて、視点の位置に最も近い建物ＩＤを道路の両側で各々取得し、その建物から、サーバ側通信制御部１３０から受け取った要求建物件数分の建物を配信するものとする。
例えば、図２７において、ウォークスルー開始時の視点位置が図２７に示す位置であったとする。この場合、視点に最も近い道路右側の建物として建物Ｃを取得し、視点に最も近い道路左側の建物として建物ｄを取得する。サーバ側通信制御部１３０から受け取った要求建物件数が５件であり、視線の方向がＺ軸の正の方向であった場合には、道路の右側の建物として建物Ｃ、Ｄ、Ｅ、Ｆ、Ｇを、道路の左側の建物として建物ｄ、ｅ、ｆ、ｇ、ｈを取得する。これらの建物は、図２６の近接オブジェクト管理テーブル２１１６において順位付けして記憶されている該順位に基づいて取得するものである。そして、これらの建物の３次元データやテクスチャデータ等をオブジェクト管理手段１１３が有するテーブル（形状頂点テーブル等）を用いて抽出し、サーバ側通信制御部１３０に渡す。
また、次の視点の位置が図３１に示す位置であり、サーバ側通信制御部１３０から受け取った建物件数が３件であり、視線の方向が図３１に示すようにＺ軸の負の方向であった場合には、道路の右側の建物として建物ｊ、ｉ、ｈを取得し、道路左側の建物として建物Ｊ、Ｉ、Ｈを取得する。図２６の近接オブジェクト管理テーブル２１１６では、Ｚ軸が正の方向に対して道路の両側に存在する建物を順位付けして管理しているため、視線の方向がＺ軸の負方向の場合には、近接オブジェクト管理テーブル２１１６の「右側建物ＩＤ」の項目は歩行方向に対して道路の左側であるとみなし、「左側建物ＩＤ」の項目は歩行方向に対して道路の右側であるとみなせばよい。また、建物を建物件数分だけ取得する際には、近接オブジェクト管理テーブル２１１６で下方向から上方向に向かって建物ＩＤを取得していけばよい。
【００６２】
Ｓ２３０４（Ｓ３０）において、関連オブジェクト取得手段２１５３では、図２７における道路沿２列目以降建物を取得する。関連オブジェクト管理テーブル２１１７は、前記近接オブジェクト取得手段２１５２から道路付近に存在する建物ＩＤを受け取る。そして、前記サーバ側通信制御部１３０から、道路沿２列目以降建物を取得する領域を受け取ると、オブジェクト管理手段１１３の関連オブジェクト管理テーブル２１１７を参照して、道路沿２列目以降建物を抽出し、その建物ＩＤを方向別計画手段２１６１に渡す。また抽出した３次元データやテクスチャデータを取得してサーバ側通信制御部１３０に渡す。
道路沿２列目以降建物を取得する具体的な動作を、図２８の関連オブジェクト管理テーブル２１１７を用いて示す。図２８は、図２７を例にとり、道路右側の１列目に存在する建物に基づいて、道路右側の２列目以降の、道路沿２列目以降建物を管理するテーブルを示している。
図２７に示す道路の右側に存在する建物に関して、前記近接オブジェクト取得手段２１５２から受け取った建物のＩＤがＣ、Ｄ、Ｅ、Ｆ、Ｇであり、また、サーバ側通信制御部１３０から受け取った、道路沿２列目以降建物の領域が「２列目」であった場合、道路右側１列目の建物「Ｃ、Ｄ、Ｅ、Ｆ、Ｇ」に関連付けられている右側２列建物ＩＤの「う、え、お、か、き」を取得する。取得した建物ＩＤを配信計画部１６０における方向別計画手段２１６１に渡す。
そして、取得した建物について、３次元データやテクスチャデータ等をオブジェクト管理手段１１３が有するデータベースを参照して取得し、サーバ側通信制御部１３０に渡す。以上のように、サーバ１００は、クライアント端末２００からの配信要求である要求建物件数と道路沿２列目建物を取得する範囲（何列目までを取得するか）とに基づいて、互いに関連付けられた１列目（レベルの一例）と２列目（レベルの一例）の建物（表示用データの一例）を取得して配信する。
【００６３】
Ｓ２３０５（Ｓ３０）において、配信計画部１６０の方向別計画手段２１６１は、道路からの距離に基づいて建物をクライアント端末２００に配信する計画を立て、配信計画ファイル１６３を作成する。配信計画ファイル１６３は、サーバ側通信制御部１３０により参照される。また、方向別計画手段２１６１は、サーバ側通信制御部１３０によって配信が完了する毎に、サーバ側通信制御部１３０から配信完了のメッセージを受け取り、配信計画ファイル１６３の「状態」の項目を更新する。
具体的な配信計画の動作を以下に示す。
方向別計画手段２１６１は、前記近接オブジェクト取得手段２１５２、及び関連オブジェクト取得手段２１５３から建物ＩＤを受け取ると、近接オブジェクト取得手段２１５２が取得した建物、次いで、関連オブジェクト取得手段２１５３が取得した建物、の順に配信する計画をたてる。すなわち、道路に近い領域に存在する建物から配信する計画を立てる。なお、近接オブジェクト取得手段２１５２が取得した建物は、前記近接オブジェクト管理テーブル２１１６から建物を視点に近い順に取得することができるので、この順に従って、視点に近い建物から配信する計画を立てる。また、関連オブジェクト取得手段２１５３が取得した道路沿２列目以降建物は、関連オブジェクト管理テーブル２１１７において、道路１列目に存在する建物と関連づけて取得されるため、道路から１列目に存在する建物と同様に視点に近い順に配信する計画とする。
【００６４】
Ｓ２３０６（Ｓ３０）において、サーバ側通信制御部１３０では、前記近接オブジェクト取得手段２１５２及び関連オブジェクト取得手段２１５３から建物の３次元形状やテクスチャ等のデータを受け取り、前記配信計画部１６０の方向別計画手段２１６１で作成した配信計画ファイル１６３を参照し、ネットワークを介して建物の３次元形状やテクスチャ等のデータをクライアント側通信制御部２５０に渡す。
【００６５】
クライアント端末２００における受信データ管理手段２１１、レンダリング手段２３１、イベント検出手段２２２、クライアント側記憶部２１０、メモリ管理手段２３２の各機能手段における処理内容は、実施の形態１と同様である。
【００６６】
サーバ１００において、配信計画部１６０の再計画手段１６２の処理内容は、実施の形態１で示した動作と同様である。
【００６７】
実施の形態２は、都市を構成するオブジェクトとして道路のほかに建物を配信する実施の形態であるが、道路設備等の他のオブジェクトに対しても、実施の形態２で示した建物と同様に、道路に関連付けて管理し、視点の移動に伴ってオブジェクトの件数を動的に変化させ、道路の周辺に存在するオブジェクトを取得してもよい。
このようにして、建物や道路設備といった、都市を構成するオブジェクトの種別毎に、各オブジェクトを道路と関連付けて管理することによって、複数の種別のオブジェクトを同時に取得してクライアント端末２００に配信することができる。すなわち、視点の移動に伴って配信するオブジェクトは道路と建物だけにすることも可能であり、道路と建物と道路設備にすることも可能であり、道路と建物と道路設備と街路樹にすることも可能である。道路と関連付けることによって配信するオブジェクトの種別は、任意に設定することができる。
【００６８】
実施の形態２は、説明の分りやすさのために、図２７で示した如く、道路に沿った領域で建物を分類し、道路に近い側から順に「１列目」、「２列目」（レベルの一例）・・・と呼んでいる。しかし、近接オブジェクト管理テーブル２１１６で管理する建物は、道路の付近に存在する建物のうち任意の建物を管理してよい。すなわち、近接オブジェクト管理テーブル２１１６及び関連オブジェクト管理テーブル２１１７を利用して、道路の近くに存在する建物から順に道路から離れる範囲に向かってＮ層（レベルの一例）のグループに建物を分類する際に、どの建物をどの層に分類するかは任意であり、またＮの値も任意である。従って、建物の配置が整列されていない場合においても、道路の近くに存在する建物から、道路から離れる範囲に向かってＮ層のグループを作成し、各層に建物を分類して、第１層に存在する建物を近接オブジェクト管理テーブル２１１６で管理し、第２〜第Ｎ層に存在する街区を関連オブジェクト管理テーブル２１１７で管理することができる。これは、建物のみによるものではなく、道路設備等の他のオブジェクトについても同様である。
【００６９】
以上のように、この発明の情報配信システムでは、都市を構成する建物や道路設備等のオブジェクトを道路の方向に沿った順序で道路と関連付けて管理し、クライアント端末２００における視点の移動に伴って、クライアント端末２００から要求された件数分だけ道路の方向に沿って道路の両側に存在するオブジェクトを各々順番に取得していくので、各オブジェクトに対して視点からの距離を計算する必要がなく、視点の付近に存在するオブジェクトを高速に取得することができる。
【００７０】
また、クライアント端末２００がサーバ１００から配信してもらうオブジェクトの件数をクライアント端末２００の表示状況に基づいて動的に変化させるので、配信するデータ量をクライアント端末２００の表示能力や時々刻々と変化する回線の状況に応じて制御することが出来、クライアント端末２００ではストレスの少ない速度で高速に視点を移動させることができる。
【００７１】
また、配信する範囲の大きさをクライアント端末２００側で動的に制御するので、複数のクライアント端末２００が視点移動を行う場合においてサーバ１００の負荷を増加させることを防ぐ。
【００７２】
また、道路から奥まった領域に存在するオブジェクトを道路と関連付けて管理しているオブジェクトと対応付けて管理し、クライアント端末２００の表示状況や視点高度、視点移動速度等に基づいて道路から奥まった位置に存在するオブジェクトを取得する範囲を動的に制御するので、視点の付近に存在する道路の近辺だけではなく、視点から離れた領域のオブジェクトを含めて、配信するデータ量を効率的に制御することが出来る。
【００７３】
実施の形態３．
実施の形態２では、建物や道路設備等のオブジェクトを道路に関連付けて管理する実施の形態である。これに対し、実施の形態３は、建物や道路設備等のオブジェクトを街区に関連付けて管理し、さらに街区を道路に関連付けて管理することによって、仮想空間内における視点の移動に伴って視点の周囲に存在するオブジェクトを効率的に取得する実施の形態である。
以下の実施の形態３では、街区と関連付けるオブジェクトとして、都市を構成する主なオブジェクトである建物の例について示す。
【００７４】
システム全体の構成図は、実施の形態１の図１と同様である。
【００７５】
図３２は、この発明の実施の形態３におけるサーバ１００の機能手段の構成を示すブロック図である。なお、ストリーミング制御部１２０は配信部の一例である。
サーバ側記憶部１１０の各機能手段、サーバ側通信制御部１３０、道路取得手段２１５１、再計画手段１６２の各処理内容は、実施の形態２と同様である。新たに、近接街区取得手段３１５１、関連街区取得手段３１５２、街区内オブジェクト取得手段３１５３、街区別計画手段３１６１、また、テーブルとして、近接街区管理テーブル３１１３、関連街区管理テーブル３１１４、建物管理テーブル３１１５を備えた。
近接街区取得手段３１５１は、図３６に示すような道路に近い領域において道路に沿って存在する街区を、クライアント端末２００から受け取った街区件数分だけ道路に対する歩行方向に基づいて抽出する手段である。
関連街区取得手段３１５２は、道路沿２列目以降街区を、道路から近い位置に道路に沿って存在する街区に基づいて取得する手段である。
街区内オブジェクト取得手段３１５３は、街区内に存在する、建物や道路設備等の都市を構成するオブジェクトに対して３次元形状やテクスチャといったオブジェクトに関する詳細なデータを取得する手段である。
街区別計画手段３１６１は、クライアント端末２００に配信する街区として抽出した街区内に存在する建物等のオブジェクトを配信する計画において、各街区と視点との距離に基づいて、各街区内に存在するオブジェクトを配信する順序を決定し、オブジェクトをどのように配信するかの計画を立てる手段である。
【００７６】
図３４は、この発明の実施の形態３におけるクライアント端末２００の機能手段の構成を示すブロック図である。
クライアント側記憶部２１０、視点移動部２２０、表示部２３０の各機能手段、クライアント側通信制御部２５０の各処理内容は実施の形態１と同様である。新たに、表示状況取得手段３２８１、要求街区数調節手段３２８２、関連街区調節手段３２８３を加えている。
表示状況取得手段３２８１は、クライアント端末２００の視点移動における各時刻に対して、配信されるべきオブジェクトのうち、現在クライアント端末２００で３次元モデルが表示できている割合を算出する手段である。
要求街区数調節手段３２８２は、サーバ１００に配信してもらう街区の数をクライアント端末２００の表示状況に基づいて決定する手段である。
関連街区調節手段３２８３は、道路沿２列目以降街区を取得する範囲をクライアント端末２００の視点移動速度や視点高度に基づいて決定する手段である。
【００７７】
以下の実施の形態３では、街区と関連付けるオブジェクトとして、都市を構成する主なオブジェクトである建物の例について示す。
まず、建物の管理方法について述べる。
サーバ１００のオブジェクト管理手段１１３では、道路毎に、道路の両側に存在する街区を管理する。道路は、図２４のように、複数の領域に分け、各領域を道路ＩＤで一意に管理するものとする。
また、分割した各領域の道路は、例えば道路の真線データの座標等と対応付けることによって、次の視点の位置情報から道路を決めることができるように管理しておく。道路を管理する道路管理テーブル２１１５は、図２５と同様である。道路に近接する街区を道路に関連付けて管理するテーブルの例を図３５に近接街区管理テーブル３１１３として示す。ここで、「街区」とは、建物のグループ（表示用データのグループの一例）である。
近接街区管理テーブル３１１３では、２次元平面内の座標軸をＸ軸とＺ軸としたときに、例えば、Ｘ軸の負の方向から正の方向、Ｚ軸の負の方向から正の方向に向かう方向を「道路の方向が正である」と決めておき、道路の両側に存在する街区のうち、道路から１列目に存在する街区を道路の方向が正の順に並べて管理する。
このとき、道路の方向が正である方向に対して、道路の左側に存在する街区と道路の右側に存在する街区を分けて管理する。近接街区管理テーブル３１１３は、道路ごとに設定される。
道路とＺ軸（鉛直方向をＹ軸とする）との関係が図３６に示す位置関係の場合、図３６に示す道路の近接街区管理テーブル３１１３では、図３５に示すように、左側街区ＩＤは、Ｚ軸が負の方向から正の方向、すなわち、街区５、街区４、街区２、・・・の順に記述されることになる。
次に、道路に対して２列目以降に存在する街区（以下、「道路沿２列目以降街区」という）を管理するテーブルの例を、図３７に関連街区管理テーブル３１１４として示す。
関連街区管理テーブル３１１４では、道路沿２列目以降街区を、道路の１列目に存在する街区と関連付けて、道路の方向が正の順に並べて管理する。これは、実施の形態２において、２列目以降に存在する街区は、最も近い１列目の街区ＩＤに関連付けて管理しておく。例えば、図３６に示す街区７は、図３７に示すように、関連街区管理テーブル３１１４において、右側１列目の街区６に関連付けて右側２列目街区ＩＤの項目に設定される。
道路に対して何列目までの街区を管理するかは、任意である。
次に、街区に関連付けて建物を管理する建物管理テーブル３１１５の例を図３３に示す。
建物ＩＤは、街区内に存在する建物のＩＤである。例えば、図３６の街区８に対しては、建物Ａ、Ｂ、Ｃ、Ｄを対応付けて管理する。
各建物に関して、３次元形状やテクスチャ等の詳細なデータは、例えば、実施の形態１のオブジェクト管理手段１１３で示した材質テーブルや形状頂点テーブル、テクスチャ頂点テーブル等と同様のテーブルを利用することができる。以上のように、街区（表示用データのグループの一例）は、１列目、２列目というレベルが付与されており、さらに、図３７に示すように１列目の街区は２列目の街区と関連付けされて記憶されている。
【００７８】
次に動作について説明する。
実施の形態３は、クライアント端末２００とサーバ１００のデータのやり取りは、図５と同様である。図３８、図３９により動作を説明する。図３８は、図５のＳ１０における実施の形態３のクライアント端末２００のフローチャートである。図３９は、図５のＳ３０における実施の形態３のサーバ１００のフローチャートである。
以下、図３８を用いて説明する。
【００７９】
Ｓ３１０１（Ｓ１０）において、実施の形態１，２と同様に、クライアント端末２００において、視点取得手段２２１では、道路や建物等から成る都市の３次元モデルを表示した仮想空間内でユーザがマウスやキーボードにより視点を移動させると、次に仮想空間を表示する次の視点の位置を計算し、視点の位置や視線の方向、視点移動速度等の視点に関する視点関連情報を取得する。取得した視点関連情報は、クライアント側記憶部２１０に格納するとともに、要求データ生成部２６０、イベント検出手段２２２、クライアント側通信制御部２５０に渡す。
【００８０】
Ｓ３１０２（Ｓ１０）において、表示状況取得手段３２８１では、配信するオブジェクト（本実施の形態３では、建物である）の総数をサーバ側通信制御部１３０からネットワークを介して受け取り、表示部２３０からレンダリングが完了したオブジェクトのＩＤを受け取ると、クライアント端末２００が前時刻の視点の位置についてサーバ１００に要求した前回オブジェクト要求件数に対して、現在３次元モデルが表示できている現在表示オブジェクト件数の割合であるオブジェクト表示完了率（表示完了率の一例）を算出する。算出したオブジェクト表示完了率は、クライアント側記憶部２１０に記憶するとともに、要求街区数調節手段３２８２に渡す。
【００８１】
Ｓ３１０３（Ｓ１０）において、要求街区数調節手段３２８２では、視点の位置や視線の方向、視点移動速度、視点高度等の視点に関する視点関連情報を受け取り、前記表示状況取得手段３２８１からオブジェクト表示完了率を受け取ると、クライアント端末２００のオブジェクト表示完了率に基づいて、次回にサーバ１００に要求する街区の数である次回要求街区数（データ範囲の一例）を決定する。決定した街区数は、クライアント側記憶部２１０に記憶するとともに、クライアント側通信制御部２５０に渡す。
ここで言う街区の数とは、例えば、図３６において、道路から１列目に存在する街区に対して、道路に沿って道路の両側の街区を各々何個ずつ取得するのかを決める数である。例えば、街区数が２の場合、道路の方向に沿って道路の両側に２街区ずつの、計４街区をサーバ１００に要求することになる。
前記表示状況取得手段３２８１から受け取ったオブジェクト表示完了率が、例えば、０．３以下である場合は、配信されるべきオブジェクトの総数に対して少数しかまだ表示できていないとして、次回にサーバ１００に要求するデータ量を少なくして、街区数を例えば１にする。
反対に、オブジェクト表示完了率が、例えば、０．９以上である場合は、配信されるべきオブジェクトの総数の大部分を表示できているとして、次回にサーバ１００に要求するデータ量を多くして街区数を例えば２にする。
オブジェクト表示完了率に対して調節する、街区数の増減値は、回線の通信速度に対応して決めることができる。
【００８２】
Ｓ３１０４（Ｓ１０）において、関連街区調節手段３２８３では、クライアント端末２００の視点移動速度や視点高度に基づいて、図３６に示す道路沿の２列目以降における、道路から奥まった位置に存在する街区（道路沿２列目以降街区）を取得する範囲（２列目以降の街区を何列目までとするか（データ範囲の一例））を決め、クライアント側通信制御部２５０に渡す。
まず、視点移動速度に基づいて道路沿２列目以降街区を取得する範囲を決定する場合について述べる。
視点移動速度が速い場合には、道路沿２列目以降街区の取得範囲を小さくし、視点移動速度が遅い場合には、道路沿２列目以降街区の取得範囲を大きくする。例えば、１秒間に視点が移動する変位量が５未満のときを視点移動速度が低速であるとみなすものとし、視点移動速度が低速のときには道路から３列目までの街区を取得する、という設定が可能である。
次に、視点高度に基づいて道路沿２列目以降街区を取得する範囲を決定する場合について述べる。
視点高度が低い場合には、道路沿２列目以降街区の取得範囲を小さくし、視点高度が高い場合には、道路沿２列目以降街区の取得範囲を大きくする。
例えば、視点高度が１５ｍのとき、視点高度が「高」であるとみなし、道路から５列目までの街区を取得する、という設定が可能である。
これにより、フライスルーのように上空を視点移動する場合や、道路に沿って斜め上空から道路を見下ろすような角度で視点移動を行うような場合に、視点の高度に基づいて見える範囲を動的に調節することができる。
さらに、クライアント端末２００の表示状況に基づいて、道路沿２列目以降街区を取得する範囲を決めることもできる。
道路沿２列目以降街区のうち、道路から何列目までの街区をサーバ１００に要求するのかを、クライアント端末２００の表示状況に基づいて決定する。
オブジェクト表示完了率が小さい場合には、次の視点についてサーバ１００に要求する際に、道路から１列目に存在する街区の他に、道路から２列目に存在する街区だけを要求する。
反対に、オブジェクト表示完了率が大きい場合には、次回にサーバ１００に要求する際に、道路から１列目に存在する街区の他に、例えば、道路から３列目までの街区を要求する。
なお、オブジェクト表示完了率と「道路沿２列目以降街区」のうち、何列目までを要求するかの対応付けは、あらかじめ対応ルールをクライアント側記憶部２１０に記憶しているものとする。
以上の視点移動速度、視点高度、及び表示状況については、実施の形態２における道路沿２列目以降建物の範囲（領域）を決定する場合と同様である。
【００８３】
Ｓ３１０５（Ｓ１０）において、クライアント側通信制御部２５０では、視点移動部２２０から次の視点の位置や視線の方向等、視点に関する視点関連情報を受け取り、要求街区数調節手段３２８２から街区数を受け取り、関連街区調節手段３２８３から道路沿２列目以降街区として取得する範囲（何列目までか）を受け取ると、ネットワークを介してサーバ側通信制御部１３０に渡す。
【００８４】
以下、図３９を用いてサーバ１００の動作を説明する。
Ｓ３３０１（Ｓ３０）において、サーバ側通信制御部１３０では、クライアント側通信制御部２５０から視点に関する視点関連情報や要求街区数等を受け取ると配信オブジェクト取得部１５０に渡す。
【００８５】
Ｓ３３０２（Ｓ３０）において、配信オブジェクト取得部１５０の道路取得手段２１５１は、実施の形態２と同様に、次の視点の視点関連情報を受け取ると、次の視点の位置が存在する道路を抽出する。そして、その道路をまだクライアント端末２００に配信していない場合には、道路の３次元データやテクスチャデータをオブジェクト管理データベース１１４から取得してサーバ側通信制御部１３０に渡す。また、抽出した次の視点の位置が存在する道路の道路ＩＤを近接街区取得手段３１５１に渡す。
具体的な処理内容は、実施の形態２と同様である。
【００８６】
Ｓ３３０３（Ｓ３０）において、近接街区取得手段３１５１では、道路取得手段２１５１から次の視点が存在する道路のＩＤを受け取り、また、クライアント側通信制御部２５０から次の視点に関する視点関連情報と次回要求街区数を受け取ると、視線の方向と前回にクライアント端末２００に配信した建物の続きに基づいて道路に沿った街区を道路の両側各々に対して、要求された街区数分だけ取得する。取得した街区ＩＤは、道路の方向に基づいて取得した順序で、関連街区取得手段３１５２、街区内オブジェクト取得手段３１５３、街区別計画手段３１６１に渡す。
具体的に以下に示す。
まず、図３６において、鉛直方向をＹ軸としたとき、視線の方向とＺ軸及びＸ軸とのなす角度を算出し、視線の方向がＺ軸あるいはＸ軸に対してどのような向きであるかを判定して、近接街区管理テーブル３１１３において街区を取得していく向きを決定する。図３６の場合、視線の方向はＺ軸に対して正方向であるので、図３５の近接街区管理テーブル３１１３を上から下の順に、街区５、街区４、街区２と取得していく。反対に、道路上を街区２から街区５の方向に視点が移動する場合には、視線の方向はＺ軸の負の方向になるため、近接街区管理テーブル３１１３の下から上の順に街区を取得することになる。
道路取得手段２１５１から道路ＩＤを受け取ると、受け取った道路ＩＤの近接街区管理テーブル３１１３を参照し、視線の方向に基づいて決定した向き（近接街区管理テーブル３１１３において街区を取得する向きであり、上から下あるいは下から上のどちらかである）で、前回にクライアント端末２００に配信した街区ＩＤの続きから、要求された街区数分だけ街区ＩＤを道路の両側各々に対して取得する。近接街区管理テーブル３１１３において、前回にクライアント端末２００に配信した街区ＩＤの最後尾の位置は、サーバ側記憶部１１０に記憶されている。
例えば、道路取得手段２１５１から道路ＩＤとして図３６に示す道路ＩＤがＮの道路を受け取ると、図３５に示す道路ＩＤがＮの近接街区管理テーブル３１１３を参照する。ここで、この道路の近接街区管理テーブル３１１３では、道路の右側の街区はＺ軸の正方向、すなわち、街区１０、街区８、街区６、・・・の順に記述されて管理されている。また、道路の左側の街区はＺ軸の正方向、すなわち、街区５、街区４、街区２、・・・の順に記述されて管理されている。
前回にクライアント端末２００に配信した街区の最後尾が、道路の右側が街区１０、道路の左側が街区５であり、また、要求された街区件数が２件であり、視線の方向が街区５から街区２に向かう方向（Ｚ軸の正の方向）であった場合、道路の右側の街区として街区８と街区６を取得することになる。同様にして、道路の左側の街区として街区４と街区２を取得する。
取得した街区ＩＤは、道路の方向に基づいて取得した順序、すなわち、道路の右側の街区の場合、街区８、街区６という順序が分るように関連街区取得手段３１５２、街区内オブジェクト取得手段３１５３、街区別計画手段３１６１に渡す。
【００８７】
Ｓ３３０４（Ｓ３０）において、関連街区取得手段３１５２では、実施の形態２の関連オブジェクト取得手段２１５３と同様に、前記サーバ側通信制御部１３０から道路沿２列目以降街区として取得する範囲を受け取り、前記近接街区取得手段３１５１から道路に面した街区のＩＤを受け取ると、オブジェクト管理手段１１３の関連街区管理テーブル３１１４を参照して、道路より奥まった位置に存在する街区ＩＤを取得する。取得した街区ＩＤは、街区内オブジェクト取得手段３１５３、街区別計画手段３１６１に渡す。
道路沿２列目以降街区を取得する際の具体的な動作を、図３６を示す図３７の関連街区管理テーブル３１１４を用いて示す。図３７は、道路の右側の１列目に存在する街区に基づいて、道路右側の２列目以降の道路沿２列目以降街区を管理するテーブルの例である。
図３７に示す道路の右側に存在する街区に関して、前記近接オブジェクト取得手段２１５２から受け取った建物ＩＤが、例えば、街区８、街区６であり、また、サーバ側通信制御部１３０から受け取った、道路沿２列目以降街区の領域が「２列目」であった場合、道路右側１列目の街区８と街区６に関連付けられている右側２列街区ＩＤの街区９、街区７を取得する。取得した街区のＩＤは、街区内オブジェクト取得手段３１５３、配信計画部１６０における街区別計画手段３１６１に渡す。すなわち、サーバ１００は、クライアント端末２００からの配信要求である要求街区数と道路沿２列目以降街区を取得する範囲（何列目までを取得するか）とに基づいて、互いに関連付けられた１列目（レベルの一例）と２列目（レベルの一例）の街区（表示用データのグループ一例）を取得して街区に属するそれぞれのオブジェクト（表示用データの一例）を配信する。以下にオブジェクトの取得について述べる。
【００８８】
Ｓ３３０５（Ｓ３０）において、街区内オブジェクト取得手段３１５３では、前記近接街区取得手段３１５１及び前記関連街区取得手段３１５２から街区ＩＤを受け取ると、その街区内に存在するオブジェクトの３次元形状やテクスチャ等の詳細データをオブジェクト管理手段１１３を検索して取得し、サーバ側通信制御部１３０に渡す。
例えば、街区内に存在するオブジェクトとして建物を取得する場合はオブジェクト管理手段１１３における建物管理テーブル３１１５を参照して、街区内に存在する建物ＩＤを取得することができる。
建物の３次元形状やテクスチャ等（図１７に示したテーブル）からの詳細なデータは、オブジェクト管理手段１１３が有する形状頂点テーブル等をＩＤを用いて抽出し、サーバ側通信制御部１３０に渡す。
街区内に存在するオブジェクトとして、道路設備等を取得する場合においても、建物管理テーブル３１１５と同様にして街区ＩＤとオブジェクトとを対応付けたテーブルからオブジェクトを取得し、そのオブジェクトに関する材質テーブルや形状頂点テーブル等から３次元形状やテクスチャデータ等の詳細なデータを取得することができる。
街区内に存在するオブジェクトとして取得する種別は任意であり、建物と道路設備というように、複数の種別のオブジェクトを取得することもできる。
また、街区内オブジェクト取得手段３１５３は、前記近接街区取得手段３１５１や前記関連街区取得手段３１５２が抽出した街区について、各街区と視点との距離に基づいて、街区内に存在する建物等のオブジェクトのデータ量を調節してクライアント端末２００に配信することができる。
すなわち、建物等の各オブジェクトに対して、例えば、簡略化した３次元形状と詳細な３次元形状の２種類のデータを予め用意しておきオブジェクト管理手段１１３で管理しておく。
また、建物等に貼り付けるテクスチャに関しても、例えば低解像度と高解像度の２種類のデータを予め用意しておきオブジェクト管理手段１１３で管理しておく。
そして、前記近接街区取得手段３１５１が抽出した次の視点に近い街区内に存在する建物に関しては、例えば、詳細な３次元形状と高解像度テクスチャを配信し、一方、前記関連街区取得手段３１５２が抽出した近接街区よりも離れた位置の建物に関しては、簡略化した３次元形状と低解像度テクスチャを配信する。即ち、視点近くの近接街区のオブジェクトは詳細データとし、視点にそれほど近くない関連街区のオブジェクトはそれなりの詳細度にする。
このようにして、街区内オブジェクト取得手段３１５３は、近接街区取得手段３１５１と関連街区取得手段３１５２のどちらの手段から抽出したオブジェクト（建物）であるかによって、オブジェクト管理手段１１３から取得するデータの詳細度を変え、配信するデータ量を調節することができる。
【００８９】
Ｓ３３０６（Ｓ３０）において、配信計画部１６０の街区別計画手段３１６１は、前記近接街区取得手段３１５１及び前記関連街区取得手段３１５２から街区ＩＤを受け取ると、各街区内に存在する建物をどのように分けて配信するかの配信計画を立て、配信計画ファイル１６３を作成する。
配信計画は、実施の形態２と同じように、取得した街区のうち、視点から遠方の街区内に存在する建物も配信直後に数件表示できるようにし、なおかつ視点に近い街区内に存在する建物を多く表示できるようにするために、各街区の視点からの距離に応じて建物を配信する順序を決めるものとする。すなわち、視点の位置はＳ３３０１においてサーバ側通信制御部１３０が受信している。また、それぞれの街区の３次元の仮想空間における位置は、例えば図３５の近接街区管理テーブル３１１３に示すように街区は重心座標を有している。これら視点の位置と街区の重心位置とにより、視点と街区との位置関係が定まる。この位置関係に基づいて、街区別計画手段３１６１は配信計画を作成する。
図３６の場合、例えば、道路の右側の街区を街区８、６の順に受け取り、道路の左側の街区を街区４、街区２の順に受け取る。これらの４つの街区内に存在する建物を数回に分けて配信する計画を立てる例を以下に示す。
まず、最初に配信する建物として、視点に近い街区である街区８、街区４の各々の街区から例えば建物を３件ずつ選び、視点から遠方に存在する街区である街区６、街区２の各々の街区から例えば建物を１件ずつ選ぶ。最初の配信では、これらの合計８件を配信する計画とする。そして、次の配信では、街区８、６、４、２内に存在する残りの建物を配信する計画とする。
ここで、各回にどの建物を配信するのかは任意に決めることができる。
また、視点に近い街区、及び視点から遠方にある街区から各々選び出す建物の件数（上記の例では、視点に近い街区から３件、視点から遠方にある街区から１件となっている）は、予め任意の値を設定しておくことができる。
また、上記の例では、街区内に存在する建物を２回に分けて配信する例であるが、何回に分けて配信するかは、予め設定しておくことができ、その値は任意である。
【００９０】
Ｓ３３０７（Ｓ３０）において、サーバ側通信制御部１３０では、街区内オブジェクト取得手段３１５３から街区内部に存在する建物や道路設備等のオブジェクトの３次元形状やテクスチャ等のデータを受け取ると、街区別計画手段３１６１の作成した配信計画ファイル１６３を参照してネットワークを介してクライアント側通信制御部２５０にデータを送る。
なお、視点移動の各時刻に対応してデータの送信を開始する際には、これから配信するオブジェクトとして抽出したオブジェクトの総数をまずクライアント端末２００に配信する。このオブジェクト総数はクライアント端末２００の前記表示状況取得手段３２８１においてクライアント端末２００の表示状況を算出する際に利用される。
【００９１】
以上の他、クライアント端末２００における、受信データ管理手段２１１、レンダリング手段２３１、イベント検出手段２２２、メモリ管理手段２３２の各機能手段における処理内容は、実施の形態１と同様である。
【００９２】
以上の他、サーバ１００において、配信計画部１６０における再計画手段１６２の処理内容は、実施の形態１と同様である。
【００９３】
実施の形態３では、説明の分りやすさのために、道路に沿った領域で街区を分け、道路に近い側から順に「１列目」、「２列目」（レベルの一例）・・・と呼んでいるが、近接街区管理テーブル３１１３で管理する街区は、道路の付近に存在する街区のうち任意の街区を管理してよい。すなわち、近接街区管理テーブル３１１３及び関連街区管理テーブル３１１４を利用して、道路の近くに存在する街区から順に道路から離れる範囲に向かってＮ層（レベルの一例）に街区を分類する際に、どの街区をどの層に分類するかは任意であり、またＮの値も任意である。従って、碁盤の目のように街区が整列されていない場合においても、道路の近くに存在する街区から順に道路から離れる範囲に向かってＮ層に街区を分類し、第１層に存在する街区を近接街区管理テーブル３１１３で管理し、第２〜第Ｎ層に存在する街区を関連街区管理テーブル３１１４で管理することができる。
【００９４】
以上のように、この発明の情報配信システムでは、建物や道路設備等のオブジェクトを街区に関連付けて管理し、さらに街区を道路の方向に沿った順序で道路と関連付けて管理し、クライアント端末２００における視点の移動に伴って、クライアント端末２００から要求された街区数分だけ道路の方向に沿って道路の両側に存在する街区を各々順番に取得していき、その街区内に存在する建物等のオブジェクトを配信するので、建物等の各オブジェクトに対して視点からの距離を計算する必要がなく、視点の付近に存在するオブジェクトを高速に取得することができる。
【００９５】
また、配信するデータ量は、視点の付近に存在するとして取得する街区数に応じて制御されるが、街区数をクライアント端末２００における表示状況や視点移動速度、視点高度に基づいて動的に制御するので、配信するデータ量をクライアント端末２００の表示能力や時々刻々と変化する回線の状況に応じて制御することが出来、クライアント端末２００ではストレスの少ない速度で視点を移動させることができる。
【００９６】
また、配信するデータ量を街区数に基づいてクライアント端末２００側で動的に制御するので、複数のクライアント端末２００が視点移動を行う場合においてサーバ１００の負荷が増加することを防ぐ。
【００９７】
また、建物等のオブジェクトを街区に関連付けて管理しており、サーバ１００から配信してもらうオブジェクトを視点の付近に存在する街区に基づいて決めているので、オブジェクトのデータ量を調節する際に街区に基づいて簡易的に調節することができる。すなわち、例えば視点から近い距離にある街区内に存在するオブジェクトはすべて詳細な３次元形状、高解像度テクスチャとして配信し、視点から遠い距離にある街区内に存在するオブジェクトはすべて簡易的な３次元形状、低解像度テクスチャとして配信する、というように、各オブジェクトと視点との距離を判定することなく簡易的にデータ量を調節することができる。
【００９８】
実施の形態４．
実施の形態４は、視点移動速度の違いや視界の変化に関わらず、ユーザがストレスの少ない速度で視点移動を行う実施の形態である。
本実施の形態に４によれば、クライアント端末２００において、「サーバ１００にデータの配信を要求する時間間隔」を視点移動速度の速い遅いに応じて調整することにより、視点移動速度に関わらず、ユーザがストレスなく滑らかに視点移動を行うことができる。さらに、サーバ１００にデータを要求する時間間隔内で視界が大きく変化した場合には、サーバ１００側において、視点の周囲の領域に存在するオブジェクトの間引きや簡略化する割合を増加させ、視界が大きく変化した直後においても直ちに表示を行い、滑らかに視点を移動させることができる。
【００９９】
システム全体の構成図は実施の形態１の図１と同様である。
【０１００】
図４０は、実施の形態４におけるサーバ１００の機能手段の構成を示すブロック図である。
サーバ側記憶部１１０の各機能手段、サーバ側通信制御部１３０、差分取得手段１５１、領域別計画手段１６１、再計画手段１６２の各処理内容は実施の形態１と同様である。新たに、オブジェクト調節手段４１５１、新領域計画手段４１６１を加えている。
オブジェクト調節手段４１５１は、今まで表示していた地点とは異なる新しい地点に視点が移動した直後や視点の移動において視線の方向が大きく変化した場合等、視界が大きく変化した場合に、視点の周囲の領域内に存在するオブジェクトの抽出を調節する手段である。
新領域計画手段４１６１は、今まで表示していた地点とは異なる新しい地点に視点が移動した直後や視点の移動において視線の方向が大きく変化した場合等、視界が大きく変化した場合に、視点の周囲の領域内に存在するオブジェクトを配信する計画を立てる手段である。
【０１０１】
図４１は、実施の形態４におけるクライアント端末２００の機能手段の構成を示すブロック図である。
クライアント側記憶部２１０、表示部２３０、要求データ生成部２６０の各機能手段、クライアント側通信制御部２５０、視点取得手段２２１、イベント検出手段２２２における処理内容は、実施の形態１ないしは実施の形態２ないしは実施の形態３と同様である。新たに、視点移動判定手段４２２１、データ取得時間制御部４００１を加えた構成である。
視点移動判定手段４２２１は、視界が大きく変化したかどうかを判定する。
データ取得時間制御部４００１は、視点の移動に伴って「サーバ１００にデータの配信を要求する時間間隔」を視点移動速度に基づいて制御する。
【０１０２】
次に動作について述べる。
実施の形態４は、クライアント端末２００とサーバ１００のデータのやり取りは、図５と同様である。図４２、図４３により動作を説明する。図４２は、図５のＳ１０における実施の形態４のクライアント端末２００のフローチャートである。図４３は、図５のＳ３０における実施の形態４のサーバ１００のフローチャートである。
以下図４２を用いて説明する。
【０１０３】
Ｓ４１０１（Ｓ１０）において、クライアント端末２００において、視点取得手段２２１では、実施の形態１等と同様に、道路や建物等から成る都市の３次元モデルを表示した仮想空間内でユーザがマウスやキーボードにより視点を移動させると、視点の位置を計算し、視点位置や視線方向、視点移動速度等の視点に関する視点関連情報を取得する。取得した視点関連情報は、クライアント側記憶部２１０に格納するとともに、要求データ生成部２６０、イベント検出手段２２２、データ取得時間制御部４００１、視点移動判定手段４２２１に出力する。
【０１０４】
Ｓ４１０２（Ｓ１０）において、データ取得時間制御部４００１では、視点の移動に伴って「サーバ１００にデータの配信を要求する時間間隔」を視点移動速度に基づいて制御する。
データ取得時間制御部４００１は、視点取得手段２２１から視点移動速度を受け取ると、視点移動速度が遅い場合には、データ要求部２４０の処理を行う時間間隔を長くし、視点移動速度が速い場合には、要求データ生成部２６０の処理を行う時間間隔を短くする。
例えば、視点移動速度が遅い場合には、データ取得時間制御部４００１は、視点の移動に伴って３秒毎にデータ要求部２４０にメッセージ（以下、「要求データ生成メッセージ」という。）を送り、前記視点移動部２２０から受け取った視点に関する情報に基づいて要求データ生成部２６０の処理を行う。ここに、「要求データ生成メッセージ」は、クライアント端末２００がサーバ１００に配信要求する時間間隔を制御する制御信号の一例である。
また、視点移動速度が速い場合には、例えば、視点の移動に伴って１秒ごとに要求データ生成部２６０に要求データ生成メッセージを送り、前記視点取得手段２２１から受け取った視点に関する情報に基づいて要求データ生成部２６０の処理を行う。
視点移動速度がどの程度の場合に何秒ごとに要求データ生成部２６０に要求データ生成メッセージを送るかという、視点移動速度と時間間隔との対応付けは、クライアント側記憶部２１０に記憶しておく。
【０１０５】
一方、視点移動判定手段４２２１では、前記視点取得手段２２１において、次の視点の位置や視線の方向等が取得される毎に、視点の位置や視線の方向等を用いて、視界が一つ前の時刻に比べて大きく変化したかどうかの視界変化の度合を判定する。どの程度変化した場合に、視界が「大きく変化した」とみなすかは、予め設定しておくことができる。例えば、次の視線の方向が一つ前の時刻に対する視線の方向に比べて３０度以上の角度で変化した場合に、視界が「大きく変化した」とみなすことができる。その他、次の視点の位置と一つ前の時刻における視点の位置が２０ｍ以上離れた場合に視界が「大きく変化した」とみなすことができる。この他、視点の位置と視線の方向の両方を用いて視界が変化を判定してもよい。
次の視点の位置や視線の方向が一つ前の時刻に対する視点の位置や視線の方向に比べて大きく変化した場合には、視点移動判定手段４２２１は、前記要求データ生成部２６０に視界変化メッセージ（視界変化判定信号の一例）を送り、前記視点取得手段２２１から受け取った視点に関する情報に基づいて要求データ生成部２６０の処理を行うようにする。すなわち、前記データ取得時間制御部４００１では、視点の移動速度の速い、遅いに応じた時間間隔でデータ要求部２４０の処理を行うようにしているが、その時間間隔内に視点の位置や方向が大きく変化した場合には、視点移動判定手段４２２１が要求データ生成部２６０にメッセージを送り、直ちに要求データ生成部２６０の処理を行うようにする。
【０１０６】
Ｓ４１０３（Ｓ１０）において、クライアント側通信制御部２５０は、視点情報が大きく変化したことを伝える視界変化メッセージをサーバ１００に送信する。
【０１０７】
以下、図４３を用いて説明する。
Ｓ４３０１（Ｓ３０）において、サーバ側通信制御部１３０では、クライアント端末２００において視点の位置や視線の方向が大きく変化したという視界変化メッセージを受け取ると、配信オブジェクト取得部１５０のオブジェクト調節手段４１５１に渡す。
【０１０８】
Ｓ４３０２（Ｓ３０）において、オブジェクト調節手段４１５１では、次の視点に関する視点関連情報や、データ要求範囲に関する情報、視点の位置や方向が大きく変化したという視界変化メッセージ等をサーバ側通信制御部１３０から受け取ると、オブジェクト（表示用データ）の詳細度を調節する。この調節おいては、データ要求範囲内に存在するオブジェクトのうち、いくつかを間引いたり簡略化したりする割合を回線の通信速度に基づいて決定する。この決定に基づいて、オブジェクト調節手段４１５１は、３次元データやテクスチャデータ等のオブジェクトに関するデータをオブジェクト管理データベース１１４から抽出する。抽出したデータは、サーバ側通信制御部１３０、配信計画部１６０に渡す。
回線の通信速度が遅い場合には、オブジェクトを間引いたり簡略化したりする割合を多くし、回線の通信速度が速い場合には、オブジェクトを間引いたり簡略化したりする割合を少なくする。例えば、視点から遠方に存在する建物のテクスチャを低解像度に簡略化する場合において、回線の通信速度が遅い場合には、テクスチャを低解像度にする建物を多くする一方、回線の通信速度が速い場合には、テクスチャを低解像度にする建物を少なくする。
また、フライスルーのように上空を視点移動する場合において、回線の通信速度が遅い場合には、低い建物のテクスチャを低解像度とし、低解像度にする建物を多くする。
【０１０９】
Ｓ４３０３（Ｓ３０）において、配信計画部１６０の新領域計画手段４１６１では、前記オブジェクト調節手段４１５１からオブジェクトの３次元データやテクスチャデータ等を受け取ると、視界が大きく変化した場合に、データ要求範囲内に存在するオブジェクトを配信する計画を立てる。
各オブジェクトに対しては、データは３次元データ、テクスチャデータの順に配信するものとする。また、データ要求範囲内に存在するオブジェクトのうち、３次元データのデータ量が少ないオブジェクトから順に配信する計画とする。立てた配信の計画は、配信計画ファイル１６３に出力する。
配信計画ファイル１６３は、サーバ側通信制御部１３０が参照する。
以降の各機能手段における各処理内容は、実施の形態１、ないしは実施の形態２、ないしは実施の形態３と同様である。
【０１１０】
以上のように、この発明の情報配信システムでは、サーバ１００にデータを要求する時間間隔を視点移動速度に基づいて決めるので、視点移動速度が速い場合にも、その速度に対応して表示したい範囲のデータを時々刻々とサーバ１００から受信することができる。
【０１１１】
また、視点移動速度が遅い場合には、視点を取得するごとにデータの配信をサーバ１００に要求するのではなく、データを配信してもらう必要がある分だけ、視点移動によって表示範囲が変化した時点で要求することにより、通信やサーバ１００の負荷を軽減し、滑らかな視点移動を効率的に行うことができる。
【０１１２】
さらに、時間間隔内で視界が大きく変化した場合には、その時点でサーバ１００にデータを要求することができ、視点の周囲の領域に存在するオブジェクトの間引きや簡略化する割合を増加させることによって、視界が大きく変化した直後においても直ちに表示を行い、滑らかに視点を移動することができる。
【０１１３】
実施の形態５．
実施の形態５は、視点の移動を停止した場合や視点が静止している場合に、視点の周囲の領域を次第に拡大して、オブジェクトを配信する実施の形態である。
【０１１４】
システム全体の構成図は実施の形態１の図１と同様である。
【０１１５】
図４４は、実施の形態５におけるサーバ１００の機能手段の構成を示すブロック図である。
サーバ側記憶部１１０の各機能手段、サーバ側通信制御部１３０、差分取得手段１５１、領域別計画手段１６１、再計画手段１６２の各機能手段における各処理内容は、実施の形態１と同様である。新たに、拡大領域取得手段５１５１、拡大領域計画手段５１６１、計画変更手段５１６２を備えた。
拡大領域取得手段５１５１は、クライアント端末２００において視点の移動が停止した場合や視点が静止している場合に、視点の周囲の領域を次第に拡大してその範囲に存在するオブジェクトを抽出し、オブジェクトに関して３次元データやテクスチャデータ等の詳細なデータを取得する。
拡大領域計画手段５１６１は、クライアント端末２００において視点の移動が停止した場合や視点が静止している場合に、視点の周囲の領域を次第に拡大した際にその領域に存在するオブジェクトに関するデータを配信する計画を立てる手段である。
計画変更手段５１６２は、既に計画済みの配信計画を見直し、クライアント端末２００における新しい視点の操作等に基づいて配信の計画を変更する手段である。
【０１１６】
実施の形態５におけるクライアント端末２００の機能手段の構成を示すブロック図は、実施の形態１と同様である。
【０１１７】
次に動作について述べる。
実施の形態５は、クライアント端末２００とサーバ１００のデータのやり取りは、図５と同様である。図４５により動作を説明する。図４５は、図５のＳ３０における実施の形態５のサーバ１００の動作のフローチャートである。
実施の形態１で述べた図３に示すクライアント端末２００において、これまで行っていた視点の移動を停止した場合や、ある地点に視点を移動した直後等、視点が静止した状態になると、イベント検出手段２２２はこれを検出し、視点が静止したというメッセージ（視点停止信号の一例）をクライアント側通信制御部２５０からネットワークを介してサーバ側通信制御部１３０に渡す。
【０１１８】
以下、図４５を用いて説明する。
Ｓ５３０１（Ｓ３０）において、サーバ側通信制御部１３０は、視点が静止したというメッセージをクライアント端末２００から受け取ると、配信オブジェクト取得部１５０の拡大領域取得手段５１５１に処理を移行する。
【０１１９】
Ｓ５３０２（Ｓ３０）において、配信オブジェクト取得部１５０の拡大領域取得手段５１５１では、クライアント端末２００において視点の移動が停止した場合や視点が静止している場合に、視点の周囲の領域（データ要求範囲）を次第に拡大して、その範囲に存在するオブジェクトを抽出し、オブジェクトに関して３次元データやテクスチャデータ等の詳細なデータを取得する手段である。
視点が静止した位置に対応する視点の情報（視点の位置、視線の方向等）やデータ要求範囲の大きさや座標等をサーバ側通信制御部１３０から受け取ると、視点の周囲の領域を数回に分けて拡大し、その範囲内に存在するオブジェクトを前記オブジェクト管理手段１１３が有するオブジェクト管理データベース１１４を参照して抽出する。例えば、図４６において、視点が静止した時点における視点の周囲の領域が矩形Ａ（横ＷＡ、縦ＤＡ）の範囲であった場合、矩形Ａの横幅ＷＡと縦幅ＤＡを増加させた矩形Ｂ（横ＷＢ、縦ＤＢ）の領域、及び矩形Ｃ（横ＷＣ、縦ＤＣ）の領域を算出する。そして、矩形Ｂと矩形Ａの差分領域内に存在するオブジェクト、矩形Ｃと矩形Ｂの差分領域内に存在するオブジェクトを抽出し、３次元データやテクスチャデータ等を取得する。取得したデータは、サーバ側通信制御部１３０、配信計画部１６０に渡す。
なお、視点の周囲として拡大していく領域の大きさ（図４６に示した矩形の場合、ΔｗやΔｄ）は、任意である。特に、回線の通信速度に基づいて決めることができる。すなわち、回線の通信速度が速い場合には、視点の周囲の領域として拡大していく領域の大きさを大きくし、回線の通信速度が遅い場合には、視点の周囲の領域として拡大していく領域の大きさを小さくする。
また、データ要求範囲の形状は、実施の形態１と同様に、矩形の他に円等を用いることができる。
【０１２０】
Ｓ５３０３（Ｓ３０）において、配信計画部１６０の拡大領域計画手段５１６１は、視点の周囲に存在するオブジェクトを配信する計画を立てる。
まず、視点が静止した地点で、データ要求範囲に存在するオブジェクトに関するデータが未だ残っている場合には、これを配信する計画とする。図４６の場合、矩形Ａの領域内に存在するオブジェクトに関するデータで未だ配信していないオブジェクトがある場合には、このオブジェクトのデータを配信する。
次に、データ要求範囲の周りに拡大した領域内に存在するオブジェクトのデータを、視点の周囲の領域（データ要求範囲）に近い順に配信する計画を立てる。図４６の場合、矩形Ｂと矩形Ａの差分領域内に存在するオブジェクト、矩形Ｃと矩形Ｂの差分領域内に存在するオブジェクト、の順に配信する計画となる。
これらの計画は配信計画ファイル１６３に出力する。配信計画ファイル１６３は、サーバ側通信制御部１３０において参照される。また、サーバ側通信制御部１３０によって配信が完了する毎に、サーバ側通信制御部１３０から配信完了のメッセージを受け取り、配信計画ファイル１６３の「状態」の項目を更新する。
【０１２１】
クライアント端末２００において、視点が静止している状態から視点の移動が開始されると、イベント検出手段２２２がこれを検出し、視点の移動が再開されたというメッセージを、ネットワークを介してサーバ１００に送る。
【０１２２】
Ｓ５３０４（Ｓ３０）において、視点の移動が再開されたというメッセージをサーバ側通信制御部１３０が受け取ると、配信計画部１６０の計画変更手段５１６２では、既に計画済みの配信計画を見直し、クライアント端末２００における新しい視点の操作等に基づいて配信の計画を変更する。
図４６において、例えば、矩形Ｂと矩形Ａの差分領域に存在するオブジェクトに関するデータを配信している最中にクライアント端末２００から視点移動再開されたというメッセージを受け取ると、現在配信しているオブジェクトに関するデータのみをそのまま配信し、矩形Ｂと矩形Ａの差分領域に存在する残りの未配信オブジェクトと矩形Ｃと矩形Ｂの差分領域に存在するオブジェクトの配信を保留にして、これらのオブジェクトに関して配信計画ファイル１６３の「状態」の項目を保留にする。
そして、クライアント端末２００から、視点の移動に伴う新しい視点に関する情報やデータ要求範囲の大きさ等の情報がサーバ１００に送信されるので、これに基づいて領域別計画手段１６１が新しい配信計画を立てる。
その後、再度視点が静止し、視点が静止した地点のデータ要求範囲の周りを拡大した領域に配信計画ファイル１６３で保留になっているオブジェクトが含まれている場合には、保留の状態を解除して配信し、配信が完了した場合には「状態」を配信完了に変更する。
【０１２３】
その他の各機能手段における各処理内容は、実施の形態１と同様である。
【０１２４】
以上のように、実施の形態５の情報配信システムでは、視点の移動を停止した場合や視点が静止している場合に、視点の周囲の領域を次第に拡大してオブジェクトを配信するので、その後に視点移動を開始した際に、視点の周囲の領域を直ちに表示することができる。
【０１２５】
実施の形態１〜５において、クライアント端末２００では受信したデータをキャッシングしておくことにより、既に受信したデータを利用して３次元モデルを表示することができる。また、メモリ管理手段２３２によりデータが削除されていた場合には、サーバ１００から再度配信してもらうことができる。また、クライアント側記憶部２１０で既に記憶されている他のデータを併用して表示することができる。
【０１２６】
実施の形態１〜５は、クライアント端末２００としてコンピュータを使用した実施の形態であるが、携帯電話及びその他の携帯端末、あるいはＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）等を使用してもよい。この場合は、携帯電話回線を使用してインターネットに接続することができる。
【０１２７】
図４７は、上記各実施の形態におけるサーバ１００あるいはクライアント端末２００であるコンピュータの基本構成の一例を示す図である。
図４７において、プログラムを実行するＣＰＵ４０は、バス３８を介してモニタ４１、キーボード４２、マウス４３、通信ポート４４、磁気ディスク装置４６等と接続されている。
磁気ディスク装置４６には、ＯＳ４７、プログラム群４９、ファイル群５０が記憶されている。
プログラム群４９は、ＣＰＵ４０、ＯＳ４７により実行される。
上記各実施の形態では、クライアント端末２００とサーバ１００とは、通信ポート４４の機能を使用してお互いに通信を行う。
【０１２８】
すべての実施の形態では、各構成要素の各動作はお互いに関連しており、各構成要素の動作は、上記に示した動作の関連を考慮しながら、一連の動作（ステップ）として置き換えることができる。そして、このように置き換えることにより、方法の発明の実施形態とすることができる。以下に一連の動作（ステップ）の具体例を述べる。
例えば、表示用データを配信するサーバ１００にクライアント端末２００から配信要求を送信して表示用データを配信する情報配信方法において、図４７は、サーバ１００であるコンピュータの基本構成の一例を示す図とする。
サーバ１００において、図４７の通信ポート４４を介してクライアント端末２００からデータ配信要求を受信する（サーバ側受信ステップの一例）。次に、サーバ１００において、例えば、ＣＰＵ４０は、磁気ディスク装置４６に記憶しているＯＳ４７、プログラム群４９及びファイル群５０（上記実施の形態に示したデータベース、テーブル等を含む）を用いて、クライアント端末２００からのデータ配信要求に対応する表示用データを通信ポート４４を介してクライアント端末２００に配信する（配信ステップの一例）。
また、図４７が、クライアント端末２００であるコンピュータの基本構成の一例を示す図とする。
まず、クライアント端末２００において、図４７の通信ポート４４を介して表示用データを受信する（クライアント側受信ステップの一例）。
次に、クライアント端末２００において、ＣＰＵ４０の処理により受信した表示用データをモニタ４１に表示する（表示ステップの一例）。
次に、クライアント端末２００において、表示した表示状況に基づいて、ＣＰＵ４０が磁気ディスク装置４６に記憶しているＯＳ４７、プログラム群４９及びファイル群５０を用いて処理を行なうことにより、サーバ１００に配信要求するデータ範囲を決定する（データ範囲決定ステップの一例）。
次に、クライアント端末２００において、データ範囲に対応する表示用データの配信要求をサーバ１００へのデータ配信要求として、通信ポート４４を介して、サーバ１００に送信する（送信ステップの一例）。
以上が、一連の動作（ステップ）に置き換えた場合の情報配信方法の具体的動作の例である。
【０１２９】
また、上記各構成要素の動作（ステップ）を、コンピュータに実行可能なプログラムとすることにより、プログラムの実施の形態とすることができる。
また、プログラムを、プログラムを記録したコンピュータ読み取り可能な記録媒体に記憶させることで、プログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
【０１３０】
プログラムの実施の形態及びプログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。
プログラムの実施の形態およびプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態における各処理はプログラムで実行されるが、このプログラムは、記録装置に記録されていて、記録装置から中央処理装置（ＣＰＵ）に読み込まれ、中央処理装置によって、実施の形態に開示した各動作が実行されることになる。
また、各実施の形態のソフトウェアやプログラムは、ＲＯＭ（ＲＥＡＤ  ＯＮＬＹ  ＭＥＭＯＲＹ）に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアとファームウェアとハードウェアとの組み合わせで前述したプログラムの各機能を実現しても構わない。
【０１３１】
【発明の効果】
クライアントにおける視点の移動に伴って、クライアントではクライアントの表示状況に基づいてサーバに要求するデータ範囲（量）を決定し、サーバはその範囲（量）に基づいてデータをクライアントに配信するので、道路や建物等から成る都市の３次元モデルを表示した３次元空間内でウォークスルーやフライスルー等の視点の移動を行う場合に、高速に視点の移動ができる。
【０１３２】
また、クライアント側でサーバに要求するデータの範囲を決めるため、サーバ側にはデータの範囲を決定する負荷がかからないので、多数のクライアントが視点の移動を行っている場合でも、各クライアントは高速に３次元空間内を視点移動できる。
【図面の簡単な説明】
【図１】システム構成を示す図である。
【図２】実施の形態１におけるサーバの構成を示す図である。
【図３】実施の形態１におけるクライアント端末の構成を示す図である。
【図４】サーバとクライアント端末とのデータのやりとりを示す図である。
【図５】サーバとクライアント端末とのデータのやりとりを示すシーケンス図である。
【図６】クライアント端末の動作を示すフローチャートである。
【図７】サーバの動作を示すフローチャートである。
【図８】クライアントの動作を示すフローチャートである。
【図９】サーバの動作を示すフローチャートである。
【図１０】クライアント端末の動作を示すフローチャートである。
【図１１】視点周囲領域を示す図である。
【図１２】視点周囲領域の方向を決定した場合を示す図である。
【図１３】視点周囲領域の形状が円である場合を示す図である。
【図１４】データ要求範囲と表示範囲との関係を示す図である。
【図１５】データ要求範囲の決定の様子を示す図である。
【図１６】円形状のデータ要求範囲の決定の様子を示す図である。
【図１７】オブジェクト管理データベースが格納するテーブルを示す図である。
【図１８】配信情報テーブルを示す図である。
【図１９】差分取得の様子を示す図である。
【図２０】表示状況テーブルを示す図である。
【図２１】配信計画ファイルを示す図である。
【図２２】実施の形態２におけるサーバの構成を示す図である。
【図２３】実施の形態２におけるクライアント端末の構成を示す図である。
【図２４】道路の分割方法の例を示す図である。
【図２５】道路管理テーブルを示す図である。
【図２６】近接オブジェクトテーブルを示す図である。
【図２７】建物の列を示す図である。
【図２８】関連オブジェクト管理テーブルを示す図である。
【図２９】クライアント端末の動作を示すフローチャートである。
【図３０】サーバの動作を示すフローチャートである。
【図３１】視線方向が反対方向を示す図である。
【図３２】実施の形態３におけるサーバの構成を示す図である。
【図３３】建物管理テーブルを示す図である。
【図３４】実施の形態３におけるクライアント端末の構成を示す図である。
【図３５】近接街区管理テーブルを示す図である。
【図３６】街区を示す図である。
【図３７】関連街区管理テーブルを示す図である。
【図３８】クライアント端末の動作を示すフローチャートである。
【図３９】サーバの動作を示すフローチャートである。
【図４０】実施の形態４におけるサーバの構成を示す図である。
【図４１】実施の形態４におけるクライアント端末の構成を示す図である。
【図４２】クライアント端末の動作を示すフローチャートである。
【図４３】サーバの動作を示すフローチャートである。
【図４４】実施の形態５におけるサーバの構成を示す図である。
【図４５】サーバの動作を示すフローチャートである。
【図４６】視点の周囲の領域が拡大される様子を示す図である。
【図４７】コンピュータの基本構成を示す図である。
【符号の説明】
３８  バス、４０  ＣＰＵ、４１  モニタ、４２  キーボード、４３  マウス、４４  通信ポート、４６  磁気ディスク装置、４７  ＯＳ、４９  プログラム群、５０  ファイル群、１００  サーバ、１１０  サーバ側記憶部、１１１  クライアント管理手段、１１２  クライアント管理データベース、１１３  オブジェクト管理手段、１１４  オブジェクト管理データベース、１１５  配信情報テーブル、１２０  ストリーミング制御部、１３０  サーバ側通信制御部、１３１サーバ側受信部、１３２  サーバ側送信部、１４０  配信データ生成部、１５０  配信オブジェクト取得部、１５１  差分取得手段、１６０  配信計画部、１６１  領域別計画手段、１６２  再計画手段、１６３  配信計画ファイル、２００  クライアント端末、２１０  クライアント側記憶部、２１１  受信データ管理手段、２２０  視点移動部、２２１  視点取得手段、２２２  イベント検出手段、２３０  表示部、２３１  レンダリング手段、２３２  メモリ管理手段、２４０  データ要求部、２５０  クライアント側通信制御部、２５１  クライアント側受信部、２５２  クライアント側送信部、２６０  要求データ生成部、２７０  視点周囲領域決定部、２７１  視線方向判定手段、２７２  視点周囲領域算出手段、２８０  要求データ調節部、２８１  表示範囲算出手段、２８２  データ要求範囲取得手段、２１１５  道路管理テーブル、２１１６  近接オブジェクト管理テーブル、２１１７  関連オブジェクト管理テーブル、２１５１  道路取得手段、２１５２  近接オブジェクト取得手段、２１５３  関連オブジェクト取得手段、２１６１  方向別計画手段、２２８１  オブジェクト表示率算出手段、２２８２  要求件数調節手段、２２８３  関連オブジェクト領域調節手段、３１１３  近接街区管理テーブル、３１１４  関連街区管理テーブル、３１１５  建物管理テーブル、３１５１  近接街区取得手段、３１５２  関連街区取得手段、３１５３  街区内オブジェクト取得手段、３１６１  街区別計画手段、３２８１表示状況取得手段、３２８２  要求街区数調節手段、３２８３  関連街区調節手段、４００１  データ取得時間制御部、４１５１  オブジェクト調節手段、４１６１  新領域計画手段、４２２１  視点移動判定手段、５１５１  拡大領域取得手段、５１６１  拡大領域計画手段、５１６２  計画変更手段。
【図１】
2004206338.tif 000003
【図２】
2004206338.tif 000004
【図３】
2004206338.tif 000005
【図４】
2004206338.tif 000006
【図５】
2004206338.tif 000007
【図６】
2004206338.tif 000008
【図７】
2004206338.tif 000009
【図８】
2004206338.tif 000010
【図９】
2004206338.tif 000011
【図１０】
2004206338.tif 000012
【図１１】
2004206338.tif 000013
【図１２】
2004206338.tif 000014
【図１３】
2004206338.tif 000015
【図１４】
2004206338.tif 000016
【図１５】
2004206338.tif 000017
【図１６】
2004206338.tif 000018
【図１７】
2004206338.tif 000019
【図１８】
2004206338.tif 000020
【図１９】
2004206338.tif 000021
【図２０】
2004206338.tif 000022
【図２１】
2004206338.tif 000023
【図２２】
2004206338.tif 000024
【図２３】
2004206338.tif 000025
【図２４】
2004206338.tif 000026
【図２５】
2004206338.tif 000027
【図２６】
2004206338.tif 000028
【図２７】
2004206338.tif 000029
【図２８】
2004206338.tif 000030
【図２９】
2004206338.tif 000031
【図３０】
2004206338.tif 000032
【図３１】
2004206338.tif 000033
【図３２】
2004206338.tif 000034
【図３３】
2004206338.tif 000035
【図３４】
2004206338.tif 000036
【図３５】
2004206338.tif 000037
【図３６】
2004206338.tif 000038
【図３７】
2004206338.tif 000039
【図３８】
2004206338.tif 000040
【図３９】
2004206338.tif 000041
【図４０】
2004206338.tif 000042
【図４１】
2004206338.tif 000043
【図４２】
2004206338.tif 000044
【図４３】
2004206338.tif 000045
【図４４】
2004206338.tif 000046
【図４５】
2004206338.tif 000047
【図４６】
2004206338.tif 000048
【図４７】
2004206338.tif 000049