(57)【要約】  画像テクスチャの表示方法は、１つまたは複数のコンテンツ要素のうち特定のコンテンツ要素に関して更新があったか否かの検出を含む。その際、各コンテンツ要素は、１つまたは複数のテクスチャと関連付けられている。特定のコンテンツ要素に更新がある場合、情報が関連する１つまたは複数のテクスチャから特定のテクスチャを検出するステップを実行する。また、この方法は、特定のテクスチャの取得と特定のテクスチャの表示も含み、この特定のテクスチャは、特定のコンテンツ要素に基づき生成される。
2008502064.tif 000002
【特許請求の範囲】
【請求項１】
前記方法は多数の画像テクスチャの表示管理方法であって、前記テクスチャ全てが同時に可視ではなく、機械により実行される下記のステップ：
高解像度テクスチャの１つまたは複数のプールをメモリ内で作成および格納するステップと、
仮想三次元環境内でポリゴン上に前記テクスチャを表示するステップと、を備え、
１つまたは複数のテクスチャが情報コンテンツを表示し、情報コンテンツを三次元環境を見る人に提供し、このテクスチャの１つまたは複数は細部まで高度に見ることができ、１つまたは複数のテクスチャが概ね類似の大きさを有し、見る人との相互作用が可能であり、
テクスチャの構成が１つまたは複数のソースに規定されており、テクスチャと関連する情報コンテンツが１つまたは複数のリモートソースより導出可能であり、
仮想三次元環境が１つまたは複数のチャンネルを備えており、１つまたは複数のテクスチャが表示する情報コンテンツが該チャンネルにしたがって調整される、方法。
【請求項２】
１つまたは複数のテクスチャが表示される１つまたは複数のポリゴンの各ポリゴンにテクスチャ優先値を割り当てるステップと、関連する前記テクスチャに前記テクスチャ優先値を付与するステップとをさらに備える、請求項１に記載の方法。
【請求項３】
前記関連するテクスチャの位置が表示されているか否か、前記位置から見る人の位置がどれくらい離れているか、および前記見る人の位置に対する角度に基づき、前記テクスチャ優先値を決定するステップをさらに備える、請求項２に記載の方法。
【請求項４】
表示用に使用される画像テクスチャの持続を管理する方法であって、機械により実施される下記のステップ：
テクスチャの１つまたは複数のキャッシュを記憶媒体に作成するステップと、
仮想三次元環境内で前記ポリゴン上に前記テクスチャを表示するステップとを備え、
多数の前記テクスチャが情報提供コンテンツを表示し、前記仮想三次元環境を見る人に情報コンテンツを提供し、これらのテクスチャの１つまたは複数は細部まで高度に見ることができ、ほとんどのテクスチャが概ね類似の大きさを有し、見る人が１つまたは複数のテクスチャと相互作用可能であり、
前記テクスチャの構成は、この方法を実施する機械とは別の１つまたは複数のソースに規定されており、前記テクスチャと関連する前記コンテンツが１つまたは複数のソースから導出可能であり、
前記仮想三次元環境が１つまたは複数のチャンネルを備え、情報コンテンツを表示する多数の前記テクスチャが該チャンネルにしたがって調整され、
後から読み出し、前記仮想三次元環境内で表示するために、１つまたは複数のテクスチャを記憶媒体上のキャッシュに格納するステップと、を備える方法。
【請求項５】
現時点の仮想三次元環境に関連するテクスチャがこの仮想三次元環境から出るとキャッシュに格納するステップをさらに備える、請求項４に記載の方法。
【請求項６】
各テクスチャが生成またはダウンロードされた後に前記テクスチャを格納するステップをさらに備える、請求項４に記載の方法。
【請求項７】
格納された前記テクスチャが、現在表示されている仮想三次元環境とは別の仮想三次元環境に関連する、請求項４、５または６に記載の方法。
【請求項８】
記憶媒体への格納を命令するために前記テクスチャに優先値を割り当てるステップと、
前記格納ステップを実行する時に前記優先値を使用するステップとをさらに備える、請求項４から７のいずれか一項に記載の方法。
【請求項９】
前記テクスチャを前記キャッシュに格納する前に前記テクスチャを圧縮するステップと、前記テクスチャを前記キャッシュから読み出す際に前記テクスチャを展開するステップとをさらに備える、先の請求項のいずれか一項に記載の方法。
【請求項１０】
表示用にテクスチャを保持するため使用されるメモリの第２領域とメインキャッシュ用に使用される前記記憶媒体との間のコンピュータメインメモリの第１領域内に構成される追加の前記キャッシュに前記テクスチャを格納するステップをさらに備える、先の請求項のいずれか一項に記載の方法。
【請求項１１】
前記テクスチャを前記メインメモリキャッシュ内で圧縮するステップと、表示用に前記テクスチャを保持するため使用されるメモリの前記第２領域へテクスチャをコピーする前に前記テクスチャを展開するステップとをさらに備える、請求項１０に記載の方法。
【請求項１２】
表示用に使用される画像テクスチャの更新を管理するための方法であって、機械により実行される下記のステップ：
仮想三次元環境内でポリゴン上に前記テクスチャを表示するステップを備え、
多数の前記テクスチャが情報提供コンテンツを表示し、仮想三次元環境を見る人に情報コンテンツを提供し、これらのテクスチャの１つまたは複数は細部まで高度に見ることができ、ほとんどのテクスチャが概ね類似の大きさを有し、見る人が１つまたは複数のテクスチャと相互作用可能であり、
前記テクスチャの構成は、この方法を実施する機械とは別の１つまたは複数のソースに規定されており、前記テクスチャと関連するコンテンツが１つまたは複数のソースから導出可能であり、
前記仮想三次元環境は１つまたは複数のチャンネルを備えており、情報コンテンツを表示する多数の前記テクスチャが該チャンネルにしたがって調整され、
１つまたは複数のコンテンツ要素のうち特定のコンテンツ要素に更新があるか否かを決定するステップを備え、その際各コンテンツ要素が１つまたは複数のテクスチャと関連しており、
更新がある場合、関連する前記テクスチャを更新する方法。
【請求項１３】
前記方法を実施する前記機械において利用可能ではないテクスチャを更新が必要なテクスチャであるとみなすステップをさらに備える、請求項１２に記載の方法。
【請求項１４】
複数のソースコンテンツが同時に処理可能であるように、テクスチャ生成プールへのソースコンテンツは作成される、請求項１２または１３に記載の方法。
【請求項１５】
テクスチャ生成プール内のエントリは、テクスチャの単一更新またはテクスチャ生成、または前記コンテンツ要素に含まれる情報に基づく連続的な更新を提供するために使用可能である、請求項１４に記載の方法。
【請求項１６】
１つまたは複数の基準に基づいてテクスチャにライブ優先度を割り当てることと、該テクスチャをそのコンテンツ要素から生成するために１つまたは複数の生成プールエントリを確保しておくこととをさらに備える、請求項１４または１５に記載の方法。
【請求項１７】
前記テクスチャを表示する前記ポリゴンが見えているか否か、または近々見えるようになりそうであるか否かに基づきライブ優先度を決定することをさらに備える、請求項１６に記載の方法。
【請求項１８】
テクスチャ用の前記ソースコンテンツが前記テクスチャを動的に更新させる情報を含むか否かに基づき、前記ライブ優先度を決定することをさらに備える、請求項１６または１７に記載の方法。
【請求項１９】
特定のコンテンツ要素の更新を処理するための優先順位を決定するステップと、この順位にしたがって関連するテクスチャを更新するステップとをさらに備える、請求項１２から１８のいずれか一項に記載の方法。
【請求項２０】
前記仮想三次元環境内の１つまたは複数の前記テクスチャの位置が変更される、請求項１２から１９のいずれか一項に記載の方法。
【請求項２１】
前記テクスチャの１つがテクスチャの関連するコンテンツソースへのマッピングの変化の結果として変更される、請求項１２から２０のいずれか一項に記載の方法。
【請求項２２】
前記テクスチャの１つが関連するコンテンツソースの変化の結果として変更される、請求項１２から２０のいずれか一項に記載の方法。
【請求項２３】
前記テクスチャの１つがアニメーションまたはその他の動的情報を含むコンテンツソースの結果として、変更される、請求項１２から２０のいずれか一項に記載の方法。
【請求項２４】
前記テクスチャが使用者または使用者の特性との相互作用の結果として変更される、請求項１２から２０のいずれか一項に記載の方法。
【請求項２５】
見る人の特性とは、前記見る人の年齢または選択言語であり得る、請求項２４に記載の方法。
【請求項２６】
前記テクスチャが仮想三次元環境における使用者の位置、および／または視点の変化の結果により変更される、請求項１２から２０のいずれか一項に記載の方法。
【請求項２７】
前記テクスチャが前記テクスチャの更新の状態に基づき変更される、請求項１２から２０のいずれか一項に記載の方法。
【請求項２８】
前記状態とは、「読み込みがペンディング」、「生成がペンディング」、「読み込み中」、「生成中」、「読み込み失敗」または「生成失敗」のいずれかである、請求項２７に記載の方法。
【請求項２９】
テクスチャの変更により、新たなテクスチャが生成されることが可能である、請求項１２から２７のいずれか一項に記載の方法。
【請求項３０】
テクスチャの変更により、新たなテクスチャがリモートソースからダウンロードされることが可能である、請求項１２から２７のいずれか一項に記載の方法。
【請求項３１】
テクスチャを積極的に生成するために、１つまたは複数のテクスチャプールエントリを確保するステップをさらに備える、請求項１および１２に記載の方法。
【請求項３２】
テクスチャを積極的に生成するために、１つまたは複数のテクスチャプールエントリを確保するステップと、確保されたテクスチャプールエントリを優先度が高いテクスチャに割り当てるステップとをさらに備える、請求項２または３１に記載の方法。
【請求項３３】
表示用に使用される画像テクスチャを管理する方法であって、機械により実行される下記のステップ：
仮想三次元環境内でポリゴン上に前記テクスチャを表示するステップと、
各テクスチャと関連する１つまたは複数の低解像度テクスチャを有するステップとを備え、
多数の前記テクスチャが情報提供コンテンツを表示し、前記仮想三次元環境を見る人に情報コンテンツを提供し、これらのテクスチャの１つまたは複数は細部まで高度に見ることができ、ほとんどのテクスチャが概ね類似の大きさを有し、見る人が１つまたは複数のテクスチャと相互作用可能であり、
前記テクスチャの配列は、この方法を実施する機械とは別の１つまたは複数のソースに規定されており、テクスチャと関連するコンテンツが１つまたは複数のソースから導出可能であり、
仮想三次元環境が１つまたは複数のチャンネルを備えており、情報コンテンツを表示する多数の前記テクスチャが該チャンネルにしたがって調整され、
１つまたは複数の基準に基づき、高解像度テクスチャの代わりに低解像度テクスチャを表示するか否かを決定するステップと、を備える方法。
【請求項３４】
前記低解像度テクスチャを大容量記憶システムに格納するステップをさらに備える、請求項３３に記載の方法。
【請求項３５】
１つまたは複数の前記高解像度テクスチャに対応する低解像度テクスチャをネットワークを介してダウンロードするステップをさらに備える、請求項３３または３４に記載の方法。
【請求項３６】
低解像度テクスチャのダウンロードを順序付ける優先度を規定し、当該優先度にしたがって低解像度テクスチャをダウンロードするステップをさらに備える、請求項３５に記載の方法。
【請求項３７】
前記優先度は、前記仮想三次元環境内を見る人の位置に基づく、請求項３６に記載の方法。
【請求項３８】
対応する前記高解像度テクスチャと同時に各低解像度テクスチャを生成することをさらに備える、請求項１２から３３に記載の方法。
【請求項３９】
対応する前記低解像度テクスチャの１つまたは複数の大きいプールが追加的に作られる、請求項１および３３に記載の方法。
【請求項４０】
前記コンテンツがネットワークを介してクライアントコンピュータシステムへダウンロードされ、ダウンロード後に、クライアントコンピュータシステムを使用して組織化およびレンダリングされる、先の請求項のいずれか一項に記載の方法。
【請求項４１】
ネットワークを介して完全なテクスチャをクライアントコンピュータシステムにダウンロードするステップをさらに備える、先の請求項のいずれか一項に記載の方法。
【請求項４２】
完全なテクスチャのダウンロードの優先順位を割り当てることと、当該優先度にしたがって完全な前記テクスチャをダウンロードすることをさらに備える、請求項４１に記載の方法。
【請求項４３】
前記コンテンツは、複数のエンティティにより所有または制御されている、先の請求項のいずれか一項に記載の方法。
【請求項４４】
仮想環境との相互作用によって前記仮想三次元環境内のテクスチャの位置を使用者が変更することを阻止するステップをさらに備える、先の請求項のいずれか一項に記載の方法。
【請求項４５】
前記ソースコンテンツは、１つまたは複数のインターネットページ、テレビのスクリーンショット、携帯電話ページ、ゲームのスクリーンショット、画像、文書またはビデオコンテンツを含む、先の請求項のいずれか一項に記載の方法。
【請求項４６】
高解像度テクスチャプール内のエントリがテクスチャ優先度の高いポリゴンに割り当てられ、残りのポリゴンの一部には低解像度テクスチャが割り当てられる、請求項２および３６に記載の方法。
【請求項４７】
ポリゴンが利用可能にされる必要があるか否かを決定するステップをさらに備え、前記ポリゴンは特定のテクスチャに関連しており、
テクスチャを生成するステップが終了している場合、前記特定のテクスチャを表示し、
テクスチャを生成するステップが終了していない場合、第２の特定のテクスチャを表示する、先の請求項のいずれか一項に記載の方法。
【請求項４８】
ポリゴンが利用可能にされる必要があるか否かを決定するステップをさらに備え、前記ポリゴンは前記特定のテクスチャに関連しており、
前記テクスチャがメモリ内にある場合に、前記特定のテクスチャを表示するステップと、
前記テクスチャがメモリ内にない場合に、前記テクスチャをメモリに取得するプロセスを開始し、読み込みが完了するまでは第２の特定のテクスチャを表示するステップとを備える、先の請求項のいずれか一項に記載の方法。
【請求項４９】
前記テクスチャを取得するプロセスは、前記テクスチャをローカルの記憶媒体から読み込むことを含む、請求項４または４８に記載の方法。
【請求項５０】
前記テクスチャを取得するプロセスは、前記テクスチャをネットワークからダウンロードすることを含む、請求項４８に記載の方法。
【請求項５１】
テクスチャを読み込むために優先値が各テクスチャに割り当てられ、前記優先値はテクスチャの読み込みに使用される、請求項４、４９または５０に記載の方法。
【請求項５２】
現時点の前記仮想三次元環境に関連しており、キャッシュにある１つまたは複数のテクスチャは、当該仮想三次元環境へ入るとキャッシュから読み込まれる、請求項４または４８に記載の方法。
【請求項５３】
現時点の前記仮想三次元環境に関連しており、キャッシュにあるテクスチャは、要求に応じてキャッシュから読み込まれる、請求項４または４８に記載の方法。
【請求項５４】
前記第２の特定のテクスチャは、第１の特定のテクスチャの前のバージョンに基づいている、請求項４７または４８のいずれか一項に記載の方法。
【請求項５５】
前記第２の特定のテクスチャは、第１の特定のテクスチャに基づいていない別のテクスチャのセットから選択される、請求項４７または４８のいずれか一項に記載の方法。
【請求項５６】
前記第２の特定のテクスチャが高解像度テクスチャを含む、請求項４７または４８のい
ずれか一項に記載の方法。
【請求項５７】
前記第２の特定のテクスチャは低解像度テクスチャを含む、請求項４７または４８のいずれか一項に記載の方法。
【請求項５８】
テクスチャを読み込み、または、生成するために設けられる１つまたは複数のプールをメモリに作成するステップと、
テクスチャを表示するための個別のプールをメモリに作成するステップとをさらに備える、請求項１または４７または４８に記載の方法。
【請求項５９】
テクスチャの生成が完了したことを検知するステップと、
生成された前記テクスチャが、ディスプレイプール内の少なくとも１つの前記テクスチャよりも表示するために適していることを判定するステップと、
ディスプレイプール内の最も表示に適さないテクスチャを決定し、その表示テクスチャプールのエントリを生成された前記テクスチャと置き換えるステップと、
読み込み／生成プール内で先に生成に使用されたエントリを他のテクスチャに利用可能にするステップとをさらに備える、請求項５８に記載の方法。
【請求項６０】
１つまたは複数のプロセッサにより実行されると、１つまたは複数のプロセッサが先の請求項のいずれか一項に記載のステップを実行させる１つまたは複数の命令のシーケンスを備えるコンピュータ可読媒体。
【請求項６１】
画像を表示する手段と、
請求項１から５９のいずれか一項のステップの機能を実施する手段と、
を備えるコンピュータ装置。
【請求項６２】
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサと通信可能に接続される１つまたは複数のメモリと、
前記１つまたは複数のプロセッサにより実行されると、前記１つまたは複数のプロセッサが請求項１から５９のいずれか一項に記載のステップを実行する１つまたは複数の命令のシーケンスを備える１つまたは複数のコンピュータ可読媒体とを備えるコンピュータ装置。
【請求項６３】
請求項１から５９のいずれか一項の方法を実施可能である１つまたは複数の命令シーケンスを備えるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、主にコンピュータグラフィックスに関する。より詳細には、本発明は画像テクスチャの表示に関する。
【背景技術】
【０００２】
発明の背景
使用者がシステムを対話形式で使用する際にリアルタイムで多くの異なる画像テクスチャを迅速に表示するために、あるクラスのコンピュータグラフィックスシステムが必要とされる。たとえば、「情報表示」と題された２００３年１２月３日のデイヴィッド・ゲットマンによる同時係属出願第１０／７２７，７９９号は、１つの態様において、ＨＴＭＬドキュメントまたはウェブページからレンダリングされたテクスチャが仮想ビルの横に表示される仮想都市を備えることが可能である、仮想三次元環境を移動するためのブラウザについて説明している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この環境では、ブラウザには使用者が仮想都市を移動するためにテクスチャを表示することが求められる。多数の仮想ビルを有する仮想都市では、潜在的に記憶、表示されるテクスチャは非常に多く、各テクスチャの容量がたとえば１Ｍｂ以上と大きい可能性がある。使用者が仮想三次元環境を移動するのに応じて、このような解像度が高いテクスチャを何千もリアルタイムで表示させるために記憶させておくには、従来のパソコンのシステムで現在利用可能な容量以上のメインメモリが必要となってしまう。パソコンでは専用のディスプレイメモリ機能を有する画像表示カードを使用する場合もあるが、通常このカードの記憶容量は全ての高解像度テクスチャを記憶するには小さすぎる。
【０００４】
このようなテクスチャは、大容量記憶装置またはキャッシュメモリに記憶させることが可能であるが、表示時にテクスチャをこのような記憶装置から読み込む際には、こうした記憶装置の動作が比較的遅いため、使用者にとって許容できない時間的な遅延が生じてしまう。このためディスク待ち時間により、必要な時にメインメモリまたはディスプレイメモリにおいて利用できないテクスチャが生じ得る。いくつかのテクスチャが仮想環境において遠くに表れ、テクスチャが表示された際にテクスチャの詳細の多くは使用者の視点からは見えないような環境における、高解像度テクスチャの表示を管理するためのより優れた方法が必要とされる。
【０００５】
さらに、この環境では特定のテクスチャが使用者の視野において前景表示され、別のテクスチャはこれよりも遠くに表示される。リアルな表示を行うためにシステムは、前景のテクスチャを高解像度で表示しなくてはならないが、より離れたテクスチャはこれと同じ解像度である必要はない。この環境で、全てのテクスチャを高解像度で記憶し、遠くに表示される場合にはテクスチャを低解像度で表示することは、コンピュータリソースにおいて非効率的であるとともに費用がかかってしまう。仮想三次元環境における、位置に応じて必要な解像度が異なるテクスチャを扱うためのより優れた方法が必要である。
【０００６】
さらに、ＨＴＭＬ文書やウェブページのようなテクスチャのソースコンテンツは、たとえばＨＴＭＬ文書またはウェブページを提供しているオンラインウェブサイトの所有者または操作者が文書またはページに変更を加えることによって時間を経て変化する可能性がある。このような変更はシステム使用中のいかなる時にも生じ得るが、使用者の視点が変
更された時、またはテクスチャを再度レンダリングする必要がある時にいつでもソースコンテンツを読み出すことは不可能である。
【課題を解決するための手段】
【０００７】
発明の概要
本発明は、１つの態様では、テクスチャを一度に全て表示せず、多数の画像テクスチャの表示を行う方法を含む。この方法は、メモリ内に高解像度テクスチャのプールを１つまたは複数作成および格納し、テクスチャを仮想三次元環境のポリゴンに表示する、装置によって実施されるステップを備え、１つまたは複数のテクスチャは、情報コンテンツを表示し、情報コンテンツを三次元環境を見る人に提供し、１つまたは複数のテクスチャは細部まで高度に見ることができ、これらのテクスチャの１つまたは複数は概ね類似の容量を有し、見る人は１つまたは複数のテクスチャと情報のやり取りが可能であり、テクスチャの構成は１つまたは複数のソースに定められており、テクスチャと関連付けられる情報コンテンツは１つまたは複数のリモートソースから導出可能であり、仮想三次元環境は１つまたは複数のチャンネルを備え、情報コンテンツを表示するテクスチャの１つまたは複数はチャンネルに合わせられている。
【０００８】
１つの特徴では、特定のテクスチャを表示するステップは、特定のテクスチャを仮想三次元環境でポリゴン上に表示することを含む。別の特徴では、このポリゴンの大部分は均一の４辺を有する「クアド」である。
【０００９】
別の特徴では、テクスチャの１つまたは複数のキャッシュが記憶媒体に作成される。テクスチャは、リモートソースからダウンロードされた内容から生成された後このキャッシュに保存される。またはこれはリモートソースからダウンロードされたテクスチャのコピーである。これらは、利用可能な状態で、または全てまとめてプログラム出口にて保存可能である。テクスチャは、プログラム開始処理またはオンデマンドでの表示に使用されるためにキャッシュから読み込まれる。別の特徴では、プログラムは、別の三次元環境用のキャッシュを表示中のものに投入可能である。さらに別の特徴では、キャッシュに存在する現在の仮想三次元環境に関連するテクスチャ全ては、この仮想三次元環境に入るとキャッシュから読み込まれる。また別の特徴では、キャッシュに存在する現在の仮想三次元環境に関連するテクスチャは、オンデマンドでキャッシュから読み込まれる。
【００１０】
別の特徴では、テクスチャのキャッシュは、メインメモリ内に置くことが可能である。
また別の特徴では、テクスチャは圧縮可能である。テクスチャは、記憶媒体において圧縮された形式で保存され、メモリへ読み込まれる際に展開されることができる。別の特徴では、テクスチャはメモリに圧縮された形式で保存され、グラフィックカードの制御に転送される前に展開されることが可能である。さらに別の特徴では、テクスチャはグラフィックカードに圧縮形式で保存され、カードにより表示が要求されると展開されることが可能である。
【００１１】
さらに別の特徴では、システムは、１つまたは複数のコンテンツ要素のうち特定のコンテンツ要素の更新の有無を決定するステップを実行することが可能である。その際、各コンテンツ要素は１つまたは複数のテクスチャと関連付けられており、更新が存在する場合には、該当のテクスチャを更新する。テクスチャがその場所で利用できない場合は、更新が適当であるとみなされる。
【００１２】
さらに別の特徴では、複数のソースコンテンツ要素を同時に処理可能であるジェネレーションプールを作成するためのソースコンテンツを作ることが可能である。このようなプールは、シングルアップデートまたはテクスチャの生成、またはコンテンツ要素に含まれる情報に基づく一連の連続的な更新のために使用可能である。
【００１３】
別の特徴では、ジェネレーションプールのエントリは、ディスプレイプールのエントリに結びつけることが可能であり、これによりディスプレイプールのエントリの一部がテクスチャ生成のために確保される。こうしたエントリはテクスチャ優先度が高いテクスチャによって使用可能である。
【００１４】
様々なイベントによりテクスチャの更新が行われる。これには、三次元環境におけるテクスチャの位置の変化、関連するコンテンツソースの変化、関連するテクスチャソースのマッピングの変化、アニメーションまたはその他の動的情報を含むコンテンツソース、使用者との相互作用または年齢もしくは選択言語のような使用者の特性、または仮想三次元環境における使用者の位置および／または視点の変化のような事項が含まれるがこれに限定されない。
【００１５】
別の特徴では、たとえば読み取りまたは生成がペンディング、実施中または不成功に終わったというような更新の状態に基づいて、テクスチャが変更可能である。
【００１６】
上記のテクスチャの更新のいずれによっても、テクスチャが再生成またはリモートソースからダウンロードされることが可能である。
【００１７】
さらに別の特徴では、システムは、１つまたは複数の基準に基づき、高解像度テクスチャの代わりに低い解像度のテクスチャを表示するか否かを決定するステップを実施することができる。各高解像度テクスチャに１つまたは複数の低解像度テクスチャが割り当て可能である。このような低解像度テクスチャは、大容量記憶システムに保存することができる、および／またはネットワークを介してダウンロードすることができる。優先度が低いテクスチャのダウンロードは、所定のテクスチャ優先度に基づき行われることが可能であり、この優先度は仮想三次元環境を見る人の位置に基づく。
【００１８】
別の特徴では、各低解像度テクスチャは、対応する高解像度テクスチャと同時に生成されることが可能である。また別の特徴では、各低解像度テクスチャは、クライアントコンピュータシステムへネットワークを介してダウンロードすることが可能である。別の特徴では、各高解像度テクスチャに対応する低解像度テクスチャの１つまたは複数の大きいプールが作られる。
【００１９】
さらに別の特徴では、以下の様々な読み込み選択肢についてテクスチャ優先度がポリゴンに付与されている。キャッシュに保存、生成、更新処理、ライブアップデート実施、ソースコンテンツのダウンロード、テクスチャ全体をダウンロード、または環境を管理するその他の態様である。こうした優先度は、この世界における使用者の位置および視点、テクスチャが近い将来見えるようになるか否か、テクスチャが最後に生成されてからソースコンテンツが更新されたか否か、またはテクスチャを動的に更新させる情報を含むか否か、ということを含む複数の基準に基づき付与される。各操作には、独自の優先度をもたせることが可能であり、キャッシュからの読み込みに関する優先度が、生成用の優先度と同じである必要はない。ただし、これらは類似である可能性が高い。
【００２０】
さらに別の特徴では、高いテクスチャ優先度を有するポリゴンには、高解像度テクスチャプールのエントリが割り当てられており、これ以外のポリゴンのいくつかには低解像度テクスチャが割り当てられる。
【００２１】
別の特徴では、コンテンツはネットワークを介してクライアントコンピュータシステムにダウンロードされ、ダウンロード後、クライアントコンピュータシステムを使用して組織化および表示される。さらに別の特徴では、コンテンツは複数のエンティティにより所
有または制御される。さらに別の特徴では、ソースコンテンツは１つまたは複数のインターネットページ、テレビのスクリーンショット、携帯電話用ページ、ゲームのスクリーンショット、画像、文書またはビデオコンテンツを備える。
【００２２】
別の特徴では、システムは、仮想環境との相互作用によって、使用者が仮想三次元環境内のテクスチャの位置を変更することを阻止するステップを実行する。
【００２３】
また別の特徴では、特定のテクスチャと関連するポリゴンの提供が必要であるかを決定する際に、テクスチャ生成ステップが完了している場合は、この特定のテクスチャが表示され、テクスチャ生成のステップが完了していない場合は、第２の特定のテクスチャが表示される。第２テクスチャは、低解像度または高解像度テクスチャであることが可能であり、第１テクスチャの以前のバージョンに関連する、または第１テクスチャによらない既存の別のテクスチャのセットから選択されることが可能である。
【００２４】
別の特徴では、ポリゴンが特定のテクスチャと関連付けられており、ポリゴンの提供が必要であるかどうかを決定する際に、テクスチャがメモリ内にある場合は、この特定のテクスチャは表示され、テクスチャがメモリ内にない場合はこのテクスチャをメモリへ取得するためのプロセスが開始され、読み込みが完了していない間は特定の第２テクスチャが表示される。別の特徴では、テクスチャの取得プロセスは、テクスチャを局部記憶媒体から読み込むことを含む。さらに別の特徴では、テクスチャの取得プロセスは、テクスチャをネットワークからダウンロードすることを含む。
【００２５】
別の特徴では、１つまたは複数のテクスチャプールがテクスチャの読み込みおよび生成のために設けられており、個別にテクスチャの表示に関するテクスチャプールが設けられる。生成されたテクスチャに対する表示要求が、既にディスプレイプール内にあるテクスチャに対するものよりも緊急を要する場合は、テクスチャの生成が完了するとこれがディスプレイテクスチャプールへのエントリと置き換えられ、読み込み／生成プール内のエントリはその後他のテクスチャにより使用者に提供される。
【発明を実施するための最良の形態】
【００２６】
本発明は、添付の図面では例として示され、これに限定されるものではない。類似の参照符合は、類似の要素を示している。
【００２７】
好適な実施形態の詳細な説明
画像テクスチャを表示するための方法および装置について説明する。以下では、説明することを目的として、本発明を十分に理解するためのいくつもの具体的な詳細を述べる。しかし、当業者であれば、本発明はこれらの具体的な詳細がなくとも本発明が実施可能であることが明らかである。また、本発明を不必要に分かりにくくすることを回避するために周知の構造および装置はブロック図の形で示されている。
【００２８】
以下の概要に沿って以下に実施形態を説明する。
構造の概要
機能の概要
ハードウェアの概要
発展形態および代替形態
構造の概要
図１Ａは、画像テクスチャを表示するためのシステムの例を表すブロック図である。「テクスチャ」という用語は、ＨＴＭＬ文書またはウェブページまたはその他の対話型コンテンツのようなソースコンテンツからレンダリングされるデジタルビットマップイメージを指す。表示および生成モジュール１１０が、読み込みおよび保存モジュール１２０と通
信可能に接続している。表示および生成モジュール１１０と読み込みおよび保存モジュール１２０は、それぞれ１つまたは複数のコンピュータプログラム、命令またはここで説明される機能を実行するために協働するその他のソフトウェア要素を備える。一般的には、表示および生成モジュール１１０は、コンピュータディスプレイにおけるテクスチャの表示および生成を行う。読み込みおよび保存モジュール１２０は、以下個別に説明される方法において必要に応じてメモリへおよびメモリからのテクスチャの読み込みおよび保存を行う。
【００２９】
図１Ｂは、一実施形態が使用可能である仮想空間ブラウジングシステムの例を示すブロック図である。コンピュータ１００１Ａは、三次元仮想空間ブラウザ１００１Ｂとオペレーティングシステム５１８とをホストする。コンピュータ１００１Ａはまた、メインメモリ１００７Ａと、ディスプレイメモリ１００８Ｂを有するディスプレイカード１００８Ａとを含む。ディスプレイカード１００８Ａは、表示情報の保存のためにメインメモリ１００７Ａの一部を使用することができる。コンピュータ１００１Ａは、１つまたは複数のネットワーク５１０を通じて直接または間接的に通信可能にアプリケーションサービスプロバイダ５０５に、および保存されたコンテンツ５０６をホストする１つまたは複数のコンテンツサービスプロバイダ５０２に接続される。一実施形態では、アプリケーションサービスプロバイダ５０５は、ゲットマンらによる文献に説明されるタイプの都市サーバを備える。コンピュータ１００１Ａは、ソースコンテンツディスクキャッシュ１０２１および第２ページキャッシュ１０２０を含む、またはこれらにアクセスすることが可能である。コンピュータ１００１Ａは、テクスチャまたはその他の画像またはイベントをディスプレイ１００９に表示する。一実施形態では、コンピュータ１００１Ａは、ＰＣＩバスを基本とするパーソナルコンピュータ、ワークステーション、ＰＤＡ、ＴＶセットトップボックス、携帯電話等を含む。
【００３０】
三次元仮想空間ブラウザ１００１Ｂは、初期化ロジック１００２と、仮想空間表示ロジック１００４と、キャッシュ入力／出力（Ｉ／Ｏ）スレッド１００６と、ウィンドウ生成スレッド１０２２と、制御／レンダリングスレッド１０１２とを含む。スレッド１００６、１０２２、１０１２は、オペレーティングシステム５１８と協働して仮想空間表示ロジック１００４により、ここで説明される機能を実行するために作り出される。
【００３１】
通常、初期化ロジック１００２は、ディスプレイカード１００８Ａからデータを取り出し、このディスプレイカードにより提供される画像表示機能を決定し、この機能を起動または停止する。これには、必要なパラメータ値を提供し、利用可能な性能およびリソースに基づきカードの使用を調整することが含まれる。様々なメーカーによるグラフィックカードが異なる種の表示機能を提供しており、三次元仮想空間ブラウザ１００１Ｂが多数の異なる種類のグラフィックカードと相互作用することが可能になるため、初期化ロジック１００２の前述の機能が設けられている。たとえば、ディスプレイカード１００８Ａは、表示する画像の状態を向上させるためにアンチ・エイリアシング機能を備えることができる。初期化ロジック１００２は、ディスプレイカード１００８Ａ内のアンチ・エイリアシング機能の存在を検出し、カードのその機能が適切に構成されるように設定を行う。
【００３２】
さらに、一実施形態では、仮想空間表示ロジック１００４が、比較的少数の高解像度テクスチャおよび比較的多数の低解像度テクスチャをディスプレイメモリ内に表示するように、ディスプレイメモリ１００８Ｂと相互作用する。こうして、ディスプレイメモリ１００８Ｂは、高解像度テクスチャが比較的少数で、使用者の視点から遠くにある低解像度テクスチャが多数である仮想三次元環境において、使用者の特定の視点付近の仮想位置と関連する高解像度テクスチャを格納するために継続的に更新される。ディスプレイメモリ１００８Ｂ内のテクスチャの的確な数を維持するための技術について以下に説明する。
【００３３】
一実施形態では、コンテンツサービスプロバイダ５０２のコンテンツ５０６は、１つまたは複数のＨＴＭＬ文書またはウェブページを備える。コンピュータ１００１Ａは、ネットワーク５１０を通じてコンテンツサービスプロバイダ５０２と通信することにより、いかなる時点でもコンテンツ５０６の更新されたコピーを取得可能である。さらに、コンテンツ５０６は、コンピュータ１００１Ａで、ソースコンテンツディスクキャッシュ１０２１を使用して局部的にキャッシュされることが可能である。たとえば、ソースコンテンツディスクキャッシュ１０２１は、最近使用されたたとえばＨＴＭＬ文書またはウェブページのようなソースコンテンツ、あるいは仮想三次元環境における使用者の現時点の視点に関連する現在の視野の範囲内にある、または仮想三次元環境内の使用者の位置から示唆される、使用者が次に見るであろうテクスチャ生成のために使用されるソースコンテンツを格納することが可能である。
【００３４】
キャッシュ入出力スレッド１００６は、テクスチャの読み込み、およびテクスチャキャッシュ１０２０へのテクスチャのページングを行う。キャッシュ入出力スレッド１００６は、ソースコンテンツ５０６から生成される更新されたテクスチャをテクスチャキャッシュ１０２０に保存するためにも役立つ。テクスチャ生成スレッド１０２２は、コンテンツサービスプロバイダ５０２からコンテンツ５０６を読み出し、このコンテンツに基づき、必要に応じてソースコンテンツディスクキャッシュ１０２１を利用してテクスチャを生成する。制御およびレンダリングスレッド１０１２は、システムの要素の全体的な制御、およびディスプレイカードの性能に応じたディスプレイカード１００８とそのディスプレイメモリ１００８Ｂへのテクスチャのレンダリングを行う。
【００３５】
図１Ｃは、仮想三次元環境でのテクスチャの表示の準備プロセスの概要を示すハイレベルフロー図である。ステップ１３０では、第１テクスチャプールおよび第２テクスチャプールが作られ、メモリに格納される。１つの方法では、各テクスチャが同じソースコンテンツからの２つのバージョンで定義および保存されており、高解像度テクスチャと低解像度テクスチャとを備える。メインメモリまたはディスプレイメモリの利用可能な方が、少数の高解像度テクスチャの比較的小さいプールおよび低解像度テクスチャの比較的大きいプールを保存する。各プールの大きさについて特定の制限はない。小さいプールは主に、仮想三次元環境における使用者の現在の、または予測される視点付近にあるテクスチャを含んでいる。大きい方のプールは主に、使用者の視点から「遠く」にあるテクスチャを含んでいる。別の実施形態では、大きいテクスチャプールは、テクスチャの読み込みおよび生成のためのプールと、テクスチャを表示するための別個のプールとに分割することが可能である。
【００３６】
一実施形態では、全ての予定されるテクスチャの低解像度バージョンが、ディスプレイクライアントと関連する局部大量記憶装置、たとえばコンピュータ１００１Ａ用のディスク記憶装置に格納される。コンテンツサービスプロバイダ５０２またはアプリケーションサービスプロバイダ５０５は、仮想環境における全ての表示位置用（たとえば仮想都市の表示ウィンドウ）に低解像度テクスチャを周期的に生成し、同時に低解像度テクスチャを三次元仮想空間ブラウザ１００１Ｂに提供することが可能である。たとえば、ブラウザ１００１Ｂは、スタートアップ時または初期化の際に、またはインストールプロセスの一部として全ての低解像度テクスチャをダウンロードし、格納することが可能である。その結果、ブラウザ１００１Ｂは、使用者の視点に近い位置にある表示位置用、およびコンテンツサービスプロバイダから低解像度テクスチャが受信されてからソースコンテンツが変更された遠方のウィンドウ用に高解像度テクスチャを生成するだけでよい。ブラウザが高解像度テクスチャを生成する場合は、更新された低解像度テクスチャも生成される。
【００３７】
この方法の変形例では、テクスチャ生成がいずれかのテクスチャにおいて要求されると、高解像度テクスチャプールの一定数のエントリが、生成中のテクスチャのために確保さ
れることが可能である。高解像度テクスチャプールのエントリの数は限られているため、エントリは優先度の高いテクスチャを有するオブジェクトに割り当てられる。
【００３８】
ステップ１３６では仮想三次元環境が作られる。仮想三次元環境におけるクアドにはクアド識別子が設けられる。各テクスチャはテクスチャ識別子を有する。テクスチャ識別子が各クアドに付与される。
【００３９】
ステップ１３８では、テクスチャ優先値が決定され、各クアドに付与される。テクスチャ優先値は、テクスチャが仮想環境で表示される現時点の優先順位を示す。一実施形態では、テクスチャ優先値は、たとえばクアドが見えているか否か、使用者はこのクアドを目的地として選択したか否か、見る人からクアドの距離、および見る人に対するクアドの角度などの複数の要素に基づく。各テクスチャ優先値は、見る人のその時最新の位置および視角および使用者の全てのやりとりに基づき周期的に再計算される。さらに、テクスチャプール内のエントリは最適な使用を提供するために再配分される。特に、見る人の視点から遠く離れすぎてしまったテクスチャのテクスチャプール内のエントリは不要とされる。変更されたソースコンテンツに基づくテクスチャは、ソースコンテンツから再生成されることが可能である。
【００４０】
ステップ１３４では、高解像度テクスチャプール内の各テクスチャに状態値が付与される。状態値の使用に関しては、別の部分でさらに説明する。
【００４１】
前述の方法では、表示位置が使用者の視点で見えるようになると、ブラウザ１００１Ｂが高解像度テクスチャをテクスチャキャッシュ記憶装置から読み取り、表示する。このようなテクスチャのソースコンテンツが、最後に表示された時から変更されている場合は、高解像度テクスチャは再生成されて表示されることが可能である。再生成プロセスは、記憶装置から高解像度テクスチャを読み込み表示するよりはるかに遅いことが想定され、仮想環境においてさらに高解像度のテクスチャを表示するために使用可能であると思われるメモリを使い尽くしてしまうことが考えられる。したがって、この代わりとなる方法では、全ての高解像度テクスチャの生成は、サーバにより行われることが可能であり、ブラウザ１００１Ｂは、各テクスチャが見えるようになると、各高解像度テクスチャをネットワーク接続を介してサーバへダウンロードすることが可能である。
【００４２】
さらに、１つの方法では、高解像度テクスチャプールのクアドと関連するエントリが高解像度テクスチャを表示が必要な時点で読み込んでいないが、対応する高解像度テクスチャがディスク上にある場合は、低解像度テクスチャが使用されて表示され、高解像度テクスチャは読み込みが予定される。
【００４３】
一実施形態では、低解像度テクスチャは以下のように低解像度テクスチャプールに割り当てられる。使用者の視点から見える、またはここから一定の距離以内にあり、このための高解像度テクスチャが読み込まれていない全てのクアドには、低解像度テクスチャプール内のエントリが提供される。低解像度テクスチャ内のエントリに割り当てられているが、メモリ内にない低解像度テクスチャは、読み込みが予定される。
【００４４】
一実施形態では、表示性能を向上させ、見る人の仮想位置の移動の際に、より質の高い表示を行うために、各テクスチャが多重解像度画像または「ミップマップ」を含む標準的な技術を使用する。
【００４５】
したがってこの方法は、画像の詳細のレベルがモデルの仮想ポリゴンの数を変えることによって変更されるか、または各テクスチャオブジェクト内に多重解像度画像を有する過去の方法とは対照的に、変動する解像度を有する複数のテクスチャのバージョンを有する
。
【００４６】
一実施形態では、メインメモリ１００７Ａは、テクスチャバンクリスト１００７Ｂを備える。テクスチャバンクリスト１００７Ｂは、現時点で使用されている、読み込みが予定されている、または生成されている全ての利用可能な高解像度テクスチャを識別または参照するデータ構造である。一実施形態では、テクスチャバンクにあるべきテクスチャを決定し、以下に説明するメインスレッドと、読み込みおよび格納のためのワーカースレッドとを調整するために以下の３つのデータ構造が使用される。別の実施形態では、２つのプール、すなわち読み込みおよび生成のためのテクスチャバンクと、テクスチャを表示するために使用される素材バンクとがある。
【００４７】
まず、ライブクアド生成優先度リスト構造が、ライブにするのに適しているクアドの優先度順のリストを格納する。ライブクアドとは、この世界で見えており、そのテクスチャが、ソースコンテンツ内に含まれる情報に基づき繰り返し更新されるクアドである。第２に、クアド生成優先度リストが、生成が確実に行われる近さにある有効なテクスチャがない、または失効したテクスチャを有するクアドの優先度順のリストを格納する。第３に、クアド表示優先度リストが、有効なテクスチャを有し表示に適しているクアドのリストを格納する。この文脈では、「表示に適している」というのは、クアドが見る人の視点の十分近くにあり、見ることができるということを表す。クアドのリストは優先度順に並べられており、メモリまたはディスク上に有効なテクスチャがないクアドは含まれていない。無効なテクスチャを有するクアドは、クアド生成優先度リストおよびクアド表示優先度リストにもあることが可能である。
【００４８】
機能の概要
画像テクスチャの表示−メインスレッド
図２は、テクスチャの更新を扱うプロセスを示すフローチャートである。図３は、動的に更新されたクアドを扱うプロセスを示すフローチャートである。図４は、動的に更新されたテクスチャを扱うプロセスを示すフローチャートである。図５は、テクスチャを読み込むまたは保存するプロセスを示すフローチャートである。図２、図３、図４および図５の様々な実施形態により、テクスチャと関連する外部コンテンツの変更に基づき速やかに更新され、仮想三次元環境において使用者の視点が移動すると速やかに表示される、または仮想空間ブラウザと相互作用する画像テクスチャを表示するための技術が提供される。図２、図３、図４および図５のそれぞれはイベントの特定のフローを示しているが、本発明の実施形態はこれらのステップまたはこのフローに限定されない。さらにステップを実行し、ステップを省略することも、また、ステップを並行して、もしくは異なる順番で行うことも可能である。
【００４９】
一実施形態では、図２、図３および図４のプロセスは、仮想表示ロジック１００４（図１）の一部としてメイン処理スレッドとして実行される。
【００５０】
まず図２を参照すると、テクスチャの更新を扱うプロセスは、規定のまたは予め設定された時間が経過したか否かの決定をステップ２０２で行う。規定の時間は、テクスチャの表示の適切な更新頻度を提供するように選択される。たとえば、一実施形態では規定の時間は、表示が１秒あたり１０回更新されるように０．１秒である。
【００５１】
すると、ステップ２０４ではこのプロセスが、１つまたは複数のテクスチャ更新が可能であるか否かを判定する。ここでは更新とは、新しいテクスチャ、またはテクスチャのソースコンテンツによる変更を指す。たとえば、図１Ｂに関しては、コンピュータ１００１Ａが、コンテンツサービスプロバイダ５０２に現時点でのコンテンツ５０６のコピーを提供することを要求し、ウィンドウ生成スレッド１０２２はソースコンテンツを処理し、制
御およびレンダリングスレッド１０１２のために、更新されたテクスチャを準備する。テクスチャが対応するクアドのいずれも「ライブ」ではない場合、ステップ２０４は、ソースコンテンツの処理の最後にいったん真と判定し、制御はステップ２０６へ移り、この世界のテクスチャが更新される。テクスチャが対応する１つまたは複数のクアドが「ライブ」である場合、ステップ２０４は、ソースコンテンツの初期処理の最後に、いったん真と判定し、その後任意の回数繰り返し、ソースコンテンツは表示されているテクスチャの変更が必要であることを決定する。一度ダウンロードされたソースコンテンツの一部は、動画を有するウェブページのようなテクスチャの更新時期を決定するために必要な情報全てを含むことが可能である。他のソースコンテンツは、たとえばニュースティッカーのように、テクスチャがいつ更新されるべきかをイベントが示すコンテンツサービスプロバイダ５０２により発行されるイベントを登録するプロセスを定義することが可能である。
【００５２】
ここで説明される方法は、動的に変化するソースコンテンツのいかなる形においても、それが動画、飛行機の到着または出発情報等のビジュアルコンテンツであれ、またはニュースストーリーや最新の特別オファー情報等の単に周期的に更新されるものであれ、一定の時間で複数の更新処理が行われることを可能にする。
【００５３】
一実施形態では、ブロック２０６におけるテクスチャの更新は、動的に更新されるクアドの処理を含むことが可能である。ここでは、「クアド」とは、テクスチャを表示することが可能である４辺のオブジェクトを指す。一実施形態では、クアドは仮想都市において表示される仮想ビルディングの表面であり、テクスチャをクアドに表示することは、仮想ビルディングの表示ウィンドウ内にテクスチャの表示コンテンツを出現させることである。
【００５４】
特定の実施形態では、同じテクスチャが複合クアドに表示されることが可能である。各テクスチャには独自の識別子が設けられ、各クアドには独自の識別子が設けられている。三次元仮想空間ブラウザ１００１Ｂにより維持されるクアドリストデータ構造が、関連するクアドにどのテクスチャを表示させるかを特定するテクスチャ識別子に各クアド識別子をマッピングする。さらに、テクスチャリストデータ構造が、特定のテクスチャ識別子を１つまたは複数のクアドにマッピングする。
【００５５】
図３は、動的に更新されるクアドを扱うプロセスを示すフローチャートである。ここで図３を参照すると、ステップ３０２では、規定のまたは予め設定された時間が経過したか否かを決定するテストが実施される。ステップ３０２は、図３のプロセスがタイマ、スケジュールまたはイベントに応答して繰り返し行われることを明らかにするためのものである。一実施形態では、ステップ３０２は１／３秒タイマと関連付けられており、これにより図３のプロセスは１秒に３回繰り返される。
【００５６】
規定の時間が経過すると、ステップ３０４ではクアド生成リストが更新される。クアド生成リストは、三次元仮想空間ブラウザ１００１Ｂにより維持されるデータ構造であり、テクスチャがソースコンテンツから生成または更新されなくてはならないクアドを識別する。ステップ３０４の目的は、クアドの生成が必要か否かを判定し、必要な場合はそのクアドを生成リストに追加することである。
【００５７】
ステップ３０６では、いずれかのテクスチャが生成を完了させたか否かを判定するためテクスチャバンクが参照され、テストが実施される。生成完了の場合、そのテクスチャに関連する完全なクアドがクアド表示リストに追加されるステップ３２０へ制御は移行する。これにより、完全なクアドがこのプロセスにおいて後の表示のために利用可能になる。完成したテクスチャと関連するテクスチャバンクエントリも、テクスチャがキャッシュに保存される必要があることを示すためにステップ３１８で更新される。ステップ３１６で
は、ステップ３０６のテストが真である場合、完全なクアドがクアド生成リストから削除される。
【００５８】
しかし、ステップ３０６のテストが偽である場合、または全ての完全なクアドがステップ３２０、３１８、３１６のループで処理された場合、制御は、テクスチャバンクに規定されるクアドのいずれかにタイムアウトが発生しているか否かを判定するためにステップ３０８へ移行する。ステップ３０８の目的は、規定の時間内にクアドが生成および表示されなかったかどうかを判定することである。この場合、このプロセスの方針により、同じリソースを用いて異なるクアドが処理されるように、不完全のクアドにより使用されるリソースを回復することが優先される。ステップ３０８のテストが真である場合、関連するクアドはステップ３２２でクアド生成リストから削除される。
【００５９】
ステップ３０８で決定されたように顕著なタイムアウトがなければ、ステップ３１０においてクアド表示リストが更新される。クアド表示リストは、どのクアドが表示されるのに最も適しているかを特定する。たとえば一実施形態では、クアド表示リストは、見えないクアドは含んでいない。したがって、クアド表示リストの変更は、主に仮想三次元環境における使用者の仮想位置に応じて行われる。
【００６０】
ステップ３１２では、テクスチャバンクがクアド表示リストに基づき更新される。たとえば一実施形態では、ステップ３１２は、使用者の現時点の視野に最も適さないクアドに関連するテクスチャバンク内の最大５つのエントリを決定し、これらを現時点でテクスチャバンクにはないクアド表示リストの上位にあるクアドからのテクスチャに関するエントリに置き換える。新たに割り当てられたテクスチャバンクのエントリには、メモリまたは記憶装置から読み込む必要があることを示す状態値が付けられる。
【００６１】
ステップ３１４では、ソースコンテンツから生成または再生成されるべきテクスチャのためのコンテンツソースが、テクスチャバンクのエントリに割り当てられる。一実施形態では、クアド生成リストデータ構造からコンテンツソースが取得されることが可能である。ステップ３１４は、どのテクスチャがテクスチャバンクにあるべきかさらに定義する目的を有する。
【００６２】
図４は、動的に更新されるテクスチャを扱うプロセスを示す。ステップ４０２では、予め設定された時間が経過したか否かを判定するためのテストが実施される。一実施形態では、ステップ４０２が、０．１秒の継続時間を有するタイマを使用し、これにより図４のプロセスは１秒に１０回繰り返される。該当しない場合は、図４のプロセスはステップ４１６で終了する。
【００６３】
タイマの時間が経過すると、続いてステップ４０６で、事前に読み込みが必要であると指定されたテクスチャバンク内のテクスチャの読み込みが完了してディスプレイカードメモリに読み込まれたか否かを判定するためのテストが実施される。該当する場合、続いてステップ４０８でテクスチャが仮想三次元環境において使用され、ステップ４１０でこのテクスチャと関連するテクスチャバンクのエントリが「可視」とされる。これは、現時点において仮想三次元環境内で使用中であり、使用者の視点が変わり他のテクスチャの使用がより適切になった場合に、ある時点で別のテクスチャに置き換えられることが適切であるということを示す。
【００６４】
読み込まれたテクスチャ全てが、ステップ４０６、４０８、４１０のループで処理された後、いずれかのテクスチャが保存されたか否かを判定するためのテストがステップ４１２で実施される。該当する場合は、このテクスチャはステップ４１４で「可視」に設定される。これらのテクスチャは、使用者の視点から遠く離れすぎている場合に除去されるこ
とが可能である。
【００６５】
テクスチャの読み込みおよび保存−ワーカースレッド
図５は、テクスチャの読み込みまたは保存のプロセスを示すフローチャートである。一実施形態では、図５のプロセスは、三次元仮想空間ブラウザ１００１Ｂの仮想空間表示ロジック１００４のワーカースレッドにおいて実施される。図５のプロセスは、図１のカード１００８のようなコンピュータのビデオディスプレイカードへのテクスチャの読み込みに使用されることができる。あるいは、図５のプロセスは、表示を行うために使用される共有メモリまたはその他のディスプレイにリンクする、または関連する適切な格納先のテクスチャバンクへのテクスチャの読み込みのために使用することも可能である。図５のプロセスは、大容量の高解像度テクスチャの読み込みまたは保存に特に適切である。
【００６６】
ステップ５０２では、読み込みまたは保存が必要であることを示す状態値がテクスチャバンク内でテクスチャに付与されているか否かを判定するテストが実施される。テクスチャバンクにおいてテクスチャにこのタグが付けられていない場合は、図５のプロセスはステップ５０４で待機し、操作を停止、または規定される短時間の間スリープする。
【００６７】
そうでない場合は、ステップ５０６、５０８、５１０、５１２のループが、テクスチャバンクにおいて読み込みまたは保存のタグが付けられている各テクスチャに実施される。ステップ５０６では、タグ付きのテクスチャが読み込みまたは保存のために選択される。ステップ５０８では、テクスチャバンクにおいて選択されたテクスチャに、その時点で読み込みまたは保存操作実施中のタグが付けられる。ステップ５１０では、テクスチャが必要に応じてディスクのような大容量記憶装置から読み込まれるまたはそこに保存される。ステップ５１２では、読み込みまたは保存が終了したというタグがテクスチャに付けられる。
【００６８】
現時点でワーカースレッドが操作しているテクスチャバンクエントリを示すことにより、ワーカースレッドがテクスチャバンクエントリの操作を行っている間に使用者の視点が変わることに起因するクアド優先度の更新に基づいて、他のテクスチャバンクエントリの読み込み要求および保存要求状態をメインスレッドがキャンセルすることが可能になる。
【００６９】
通常、図５の方法は、テクスチャを選択的にメモリへ読み込み、何が表示されるべきか順位がつけられたリストに基づきテクスチャを表示する方法を提供する。たとえば、ディスプレイカード１００８のメモリ空間が小さい場合、図５のプロセスは、仮想三次元環境において見る人の、使用者のまたはブラウザの仮想位置で直接正面にあるテクスチャのみ読み込むために使用することが可能である。あるいは、ディスプレイカード１００８のメモリ空間が大きい場合は、多数のテクスチャがテクスチャバンク内でタグ付けされ、続いて図５のプロセスで表示されることが可能である。
【００７０】
読み込みまたは保存されるテクスチャのセットに関する情報は、直接テクスチャプールに、または操作キューとして保持されることが可能である。このキューにより、メインスレッドによる作動の順序に関する制御が向上し、またテクスチャプールの全体の大きさが大きくなった場合にもより効率的になる。
【００７１】
図５に代わって、他の様々な方法が使用可能である。仮想環境が多数の小さいテクスチャを含む場合は、見る人が動く際にメモリの最適な設定を保証することは、計算コストに関しても、比較的小さいアイテムをディスクから多数読み込むことに関してもコストが比較的高くなってしまう。１つの方法では、小さいテクスチャは、メモリにマッピングされる単一ファイルに保存される。この方法の変形例では、ファイルは開放状態に維持されており、小さいテクスチャはそれぞれファイル内の適切な位置を探して適切な時間に読み取
られる。この変形例では、ディスク上のテクスチャの構成のみに影響が及び、ディスクオーバーヘッドを低減させる。
【００７２】
第２の方法では、仮想環境が複数の区分に分割される。たとえば、仮想環境上に大きいグリッドを概念的にオーバレイし、全てのオブジェクトを単一グリッド正方形内で１つのグループにまとめる。見る人から最も近い区分にあるテクスチャはメモリ内に保存される。見る人が動くと、このテクスチャの区分全体が放棄され、新たな区分が読み込まれる。この方法により、どの小さいテクスチャがメモリ内にあるべきか計算するコンピュータにおけるオーバーヘッドが著しく減少する。
【００７３】
第３の方法では、前述の２つの方法が組み合わされ、単一区分内のテクスチャが同じファイルに共に格納される。全ての区分に単一のファイルを、または区分ごとに１つのファイルを使用することが可能である。この方法において複雑なのは、複数のオブジェクトにテクスチャが使用されている場合、これは複数の区分で使用可能であり、その際複数回保存が必要であるということである。
【００７４】
第４の方法では、テクスチャはメインメモリに圧縮形式で保存されており、必要に応じて展開される。この方法は、必要なテクスチャを計算する計算コストを低減させるために上記の第２方法と組み合わせることが可能であるが、テクスチャを展開する計算コストがこの利益を上回る可能性もある。
【００７５】
第５の方法では、マルチプルテクスチャが単一ハードウェアテクスチャに置かれる。たとえば多数のグラフィックカードが、画像の縦横のピクセルが２の累乗（たとえば２５６、５１２、１０２４、２０４８）で表されるテクスチャのみ処理する。所望のサイズがこれらのサイズに該当しない場合、ハードウェアテクスチャに割り当てられるメモリの一部は消去される。こうした無駄を回避するためにメモリは、実際のテクスチャサイズより「幅が広い」または「高さが大きい」という量に割り当てられ、このようなメモリが複数の所望のテクスチャを格納する。たとえば、所望のテクスチャが１００×６４ピクセルである場合、システムは５１２×６４のハードウェアテクスチャを割り当て、５つの所望のテクスチャがハードウェアテクスチャにおいて水平に置かれる。上述の場合、従来４つのテクスチャであった空間に５つのテクスチャが収まるため、ハードウェアテクスチャメモリの使用が２０％低減する。この方法は、上述のいずれの方法とも組み合わせることが可能である。
【００７６】
第６の方法では、ディスクスペースを節約し、テクスチャの読み込みまたは保存のためのディスク動作時間を低減させるために、テクスチャは圧縮される。この方法では、テクスチャを保存するための準備時間および読み込み後の時間が増加するが、ディスク動作が限定要因であり、ＣＰＵ処理能力がある場合はこのトレードオフは適切である。この方法を使用することによって、テクスチャのサイズが異なるため、上記の第１または第３の方法の使用を複雑にすることとなり得る。通常、同一のテクスチャに関しては、再生成および再保存された場合にサイズが変わる。テクスチャのサイズが大きくなると、ファイル内の同じスペースにもはや収まらなくなる。再生成によりテクスチャのサイズが小さくなる場合は、収まるがスペースを無駄にすることとなる。
【００７７】
状態値の使用
上述の方法は、テクスチャバンク内のエントリに状態値が付与可能であることを示唆する。この状態値により、スレッドがテクスチャバンクをどのように処理するか決定可能である。一実施形態では、有効な状態値は、利用可能、可視状態、最終可視状態、生成中、読み込み中、および保存中である。利用可能の状態値は、テクスチャバンクのエントリと関連している有効なテクスチャがないことを示す。可視状態の状態値は、関連するテクス
チャバンクのエントリは、メモリ内に読み込まれたテクスチャを有し、仮想環境内の関連するクアドのテクスチャ優先値が高いことを意味する。最終可視状態の状態値は、プロセスが最後に確認した際に見えていたが、関連するクアドのテクスチャ優先度はもはや高くないことを示す。
【００７８】
生成中の状態値は、テクスチャコンテンツがテクスチャバンクエントリ用に生成中であることを意味する。読み込み中の状態値は、テクスチャがクアドに割り当てられ、高解像度テクスチャがたとえばディスクまたはネットワーク記憶装置のような記憶位置に存在し、この記憶位置からの読み込みが予定されていることを意味する。エントリが読み込み中の状態値を有する際、関連するクアドは仮想三次元環境において低解像度テクスチャを使用する。
【００７９】
保存中の状態値は、このテクスチャの生成が完了し、保存するプロセスにあることを意味する。このテクスチャは、保存プロセスにおいて仮想三次元環境で関連するクアドが見えている場合には表示可能である。保存が行われると、クアドテクスチャに応じて、プールエントリが可視状態、または利用可能の状態値に変更される。
【００８０】
一実施形態では、３つの読み込み状態と３つの保存状態が、ここで説明されるメインスレッドとワーカースレッドとの間のタスクのために使用される。
１．アクション（読み込みまたは保存）が必要（メインスレッドにより設定）
２．アクション（読み込みまたは保存）が進行中（ワーカースレッドにより設定）
３．アクション（読み込みまたは保存）完了（ワーカースレッドにより設定）
メインスレッドは、複数のエントリにテクスチャバンク内で、読み込みまたは保存用にタグ付けすることが可能である。テクスチャの優先度が変わると、メインスレッドは、まだこれに基づいてアクションが行われていない、またはワーカースレッド内で進行中のタグをキャンセルすることが可能である。現在進行中のアクションはキャンセルすることができない。
【００８１】
未処理の読み込みおよび保存操作が複数ある場合、ワーカースレッドは、一連の保存操作が必要な場合にも全ての読み込み操作が行われるように、またはその逆の場合においてもバランスを取ることが可能である。読み込み操作が常に優先されれれば、見る人の動作が速く少なくとも１つの読み込み操作が常に未処理である場合、保存操作が行われることはない。これにより、テクスチャの生成プロセスは、見る人が仮想環境において移動を止めるまで引き伸ばされる。これは、いかなる時点においても表示中の大きいテクスチャの数を最大化するが、見る人が、大きいテクスチャがまだ生成されていない区分へ移動する可能性が高まってしまう。
【００８２】
これに代わって、保存操作が常に優先される場合には、生成速度は最大であり、この結果、生成プロセスによるディスク使用率が上がり、さらに読み込みに利用可能であるディスク帯域幅が減少する。これによって、大きいテクスチャがない領域へ見る人が移動する可能性が最小化されるが、移動の際に表示される大きいテクスチャの数が減少する。
【００８３】
１つの方法では、未処理の読み込み操作がある場合は、各保存操作の間に少なくとも一定数の読み込み操作の実行が要求される。その結果、連続する保存操作の数が制限されて、読み込み操作が未処理であるオブジェクトに使用者が近づくことが可能になるまで読み込み操作が阻止されることがなくなる。
【００８４】
テクスチャ生成
テクスチャの生成には２つの方法が可能である。第１に、テクスチャが欠落している、または関連するソースコンテンツに対して失効しているため、テクスチャが再生成される
ことが可能である。第２に、テクスチャを表示するクアドが、近い場所で見えており、このクアドに表示されるテクスチャが、ソースコンテンツに含まれる情報に基づき絶えず更新可能であるようにライブクアドとしてタグ付けされているため、再生成されることが可能である。後者の方法は、たとえばクアドがアニメーションを表示することを可能にする。
【００８５】
いずれの方法でも、ソースコンテンツの変更によりテクスチャの再生成が行われる。たとえば、従来のウェブブラウザに表示可能であるソースコンテンツが、仮想メモリウィンドウにレンダリングされることが可能であり、この仮想メモリウィンドウへの更新がクアドに表示されるテクスチャで再現されることが可能である。更新は、たとえば動画のようなウェブページの状態の変化であることが可能である。三次元仮想ディスプレイブラウザ１００１Ｂは、テクスチャ用のソースコンテンツを備えるウェブページを読み込む目的のためのたとえばモジラ（登録商標）のような従来のウェブブラウザを使用し、ウェブページのＨＴＭＬソースコードを読み取り、これを読み取ることによりテクスチャ更新がどう行われるかを決定するソフトウェア要素を含んでいることが可能である。
【００８６】
一実施形態では、ウェブページの読み込みとして行われる更新は、ページの読み込みが完了するまで延期されることが可能である。ウェブページにより要求される更新の詳細、たとえば対象となる領域は、三次元仮想空間ブラウザ１００１Ｂへ伝達される。三次元仮想空間ブラウザ１００１Ｂは、生成ソースごとにメモリ内に１つのビットマップを維持し、対象領域をメモリ内の適切なビットマップへ読み出す。従来のブラウザの決定通りビットマップが変わるたびに、高解像度テクスチャが再生成される。関連のページ読み込みが完了したため、または生成ソースが稼働状態ではなくなったため生成ソースが休止すると、このテクスチャの低解像度版が生成され、ビットマップデータが大容量記憶装置に保存される。
【００８７】
大きいテクスチャプール用には、２つの方法で動的コンテンツ生成が実施可能である。第１の方法では、各生成ソースが常に高解像度テクスチャプール内のエントリを有する。生成が完了するまで、このエントリは生成されたコンテンツの前のバージョンを示す。先行のコンテンツがない場合は、テクスチャプールエントリは、生成が完了するまで仮想三次元環境において事実上使用されない。第２の方法では、生成ソースは、高解像度テクスチャプール内のエントリを自動的には受信しない。つまりこれは、特定のテクスチャが、高解像度テクスチャプール（オブジェクトが近く、見えている場合）にも、生成ソース（コンテンツは無効）にもあり得るというを意味するが、これが行われることは保証されない。高解像度テクスチャプールにエントリを有する生成ソースは、上述の第１の方法と同様に処理される。高解像度テクスチャプールにエントリを有さない生成ソースが生成を完了すると、生成されたテクスチャはプール内の次のエントリ内へコピー可能になる。
【００８８】
アプリケーションノート
この方法は、大きいテクスチャが多数使用される仮想三次元環境においてテクスチャを表示するために特に有用である。たとえば、仮想三次元環境は、仮想都市内の仮想街路や仮想商店内の仮想通路のような一連のチャンネルを備えることが可能である。テクスチャとその配置は、メタデータまたはマークアップ言語記述に基づき本システムに対して外部から決定される。
【００８９】
ここでの方法は、たとえばビデオゲームの背景環境またはゲームの特徴の一部のための美的な目的でテクスチャを表示することを意図した方法とは対照的に、テクスチャが情報提供のための内容を提供する場合に有用である。ここでの方法は、ハイパーリンクされたドキュメントの性質を持つ、使用者との相互作用を提供するテクスチャと共に使用することが可能である。この方法では、情報を備えるテクスチャが、仮想三次元環境に単に現れ
るのではなく、この環境を形成または定義するために使用される。
【００９０】
この方法は、多数のテクスチャが平面仮想表面またはポリゴンにレンダリングされる場合にも有用である。テクスチャ用のソースコンテンツは、リモートソースまたはローカルソースからであることが可能である。テクスチャ用のソースコンテンツは、多数の第三者により所有または制御されることが可能である。ソースコンテンツは、インターネットページ、テレビのスクリーンショット、携帯電話ページ、ゲームのスクリーンショット、画像、文書またはビデオコンテンツ等を含み得る。テクスチャは、動的であり、外部コンテンツに基づき変化してもよい。リモートソースは、セッションの際に、使用されるテクスチャおよびこの環境において配置される場所を再決定可能である。複数の動画のテクスチャが提供可能である。
【００９１】
一実施形態では、環境との相互作用によって使用者がテクスチャの内容または場所を仮想環境において修正することは不可能である。
【００９２】
ハードウェアの概要
図６は、本発明の一実施形態が実行可能であるコンピュータシステム６００を示すブロック図である。コンピュータシステム６００は、バス６０２またはその他の情報を通信するための通信機構、および情報を処理するためにバス６０２と接続されるプロセッサ６０４を含む。コンピュータシステム６００は、ランダムアクセスメモリ（ＲＡＭ）またはその他の動的記憶装置のようなメインメモリ６０６も含み、これはバス６０２に接続され、プロセッサ６０４により実行される情報および命令を格納する。メインメモリ６０６は、プロセッサ６０４により実行される命令の実行中に、一時的変数またはその他の中間情報を格納するためにも使用可能である。コンピュータシステム６００はさらに、読み出し専用メモリ（ＲＯＭ）６０８または静的情報を格納し、プロセッサ６０４用の命令を格納するための、バス６０２に接続されるその他の静的記憶装置を含む。磁気ディスクまたは光ディスクのような記憶装置６１０が設けられており、情報および命令を格納するためにバス６０２に接続される。
【００９３】
コンピュータシステム６００は、コンピュータ使用者に対して情報を表示するために、たとえばブラウン管（ＣＲＴ）のようなディスプレイ６１２にバス６０２を介して接続されることが可能である。ディスプレイメモリ６１１Ｂを有するディスプレイカード６１１Ａが、ディスプレイ６１２を動かすためにバス６０２に接続可能である。文字数字またはその他のキーを含む入力装置６１４が、情報および選択されたコマンドをプロセッサ６０４へ伝達するためにバス６０２に接続される。使用者が使うための別の種の入力装置は、方向情報および選択されたコマンドをプロセッサ６０４に伝達し、ディスプレイ６１２上でカーソルの動作を制御するためのマウスやトラックボールまたはカーソル方向キーのようなカーソル制御装置である。この入力装置は通常、２つの軸方向で２つの自由度を有する。すなわち、平面上で装置が位置を特定することを可能にする第１軸（たとえばｘ）と、第２軸（たとえばｙ）である。
【００９４】
本発明は、ここで説明される技術を実施するためのコンピュータシステム６００の使用に関する。本発明の一実施形態に係り、これらの技術は、メインメモリ６０６に含まれる１つまたは複数の命令の１つまたは複数のシーケンスを実行するプロセッサ６０４に応じてコンピュータシステム６００により実施される。こうした命令は、メインメモリ６０６へ別の機械可読媒体、たとえば記憶装置６１０から読み込まれることが可能である。メインメモリ６０６に含まれる命令のシーケンスの実行により、プロセッサ６０４がここで説明されるプロセスステップを実施する。別の実施形態では、本発明を実施するために、ソフトウェア命令の代わりに、またはこれと組み合わせて、配線回路が使用されることも可能である。本発明の実施形態は、ハードウェア回路およびソフトウェアの特定の組合せに
限定されない。
【００９５】
ここで使用される「機械可読媒体」とは、特定の方法で機械を作動させるデータを提供するのに関与する媒体を指す。コンピュータシステム６００を使用して実施される一実施形態では、たとえばプロセッサ６０４に実行させる命令を出すために様々な機械可読媒体が関係する。この媒体は多様な形式を有する。これには不揮発性媒体または揮発性媒体および伝送媒体が含まれるが、これに限定されない。不揮発性媒体は、たとえば記憶装置６１０のような光ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ６０６のような動的メモリを含む。伝送媒体は、同軸ケーブル、銅線および光ファイバー、バス６０２を備えるワイヤを含む。伝送媒体は、電波および赤外線通信の際に生成される音波または光波の形を取っていてもよい。
【００９６】
一般的な形式の機械可読媒体は、たとえばフロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープまたはその他の磁気媒体、ＣＤ−ＲＯＭ、その他の光媒体、パンチカード、紙テープ、穴のパターンを用いたその他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、その他のメモリチップまたはカートリッジ、以下に説明する搬送波、またはコンピュータが読み取ることができるその他の媒体を含む。
【００９７】
１つまたは複数の命令の１つまたは複数のシーケンスを実行させるためプロセッサ６０４に伝達するために、様々な形式の機械可読媒体が使用可能である。たとえば、命令ははじめにリモートコンピュータの磁気ディスクに搭載されていることが可能である。リモートコンピュータは、命令をその動的メモリへ読み込み、モデムを使用して電話回線を介して命令を送信することが可能である。コンピュータシステム６００のもとにあるモデムが、電話回線からの情報を受信し、データを赤外線信号に変換するために赤外線送信機を使用することができる。赤外線信号内のデータは赤外線探知機により受信可能であり、適切な回路がこのデータをバス６０２に送り出す。バス６０２はデータをメインメモリ６０６へ伝え、ここからプロセッサ６０４は命令を取得し、実行する。メインメモリ６０６により受信された命令は選択的に、プロセッサ６０４の実行前または実行後に、記憶装置６１０に格納されることも可能である。
【００９８】
コンピュータシステム６００は、バス６０２に接続される通信インタフェース６１８も含む。通信インタフェース６１８は、ローカルネットワーク６２２に接続しているネットワークリンク６２０への二方向データ通信結合部を提供する。たとえば、通信インタフェース６１８は、総合デジタル通信網（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）（ＩＳＤＮ）カード、または対応する種の電話回線へのデータ通信接続を確立するモデムであることが可能である。別の例では、通信インタフェース６１８は、互換性のあるＬＡＮへのデータ通信接続を確立するローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）（ＬＡＮ）カードであることが可能である。無線リンクも実施可能である。このような場合、通信インタフェース６１８は、様々な種の情報を表すデジタルデータストリームを伝える電気信号、電磁信号または光信号を送受信する。
【００９９】
ネットワークリンク６２０は通常１つまたは複数のネットワークを通じて他のデータ機器へのデータ通信を確立する。たとえば、ネットワークリンク６２０は、ローカルネットワーク６２２を通してホストコンピュータ６２４へ、またはインターネットサービスプロバイダ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）（ＩＳＰ）により操作されるデータ装置への接続を確立することが可能である。ＩＳＰ  ６２６は次に、今日では一般に「インターネット」と呼ばれる世界的なパケットデータ通信ネットワーク６２８を通じてデータ通信サービスを提供する。ローカルネットワーク６２２とインターネット
６２８はいずれも、デジタルデータストリームを伝える電気信号、電磁信号または光信号を使用する。デジタルデータをコンピュータシステム６００へ、およびコンピュータシステム６００から伝達する、様々なネットワークを通る信号、およびネットワークリンク６２０上と通信インタフェース６１８を通る信号は、情報を伝送する搬送波の典型的な形である。
【０１００】
コンピュータシステム６００は、ネットワーク、ネットワークリンク６２０および通信インタフェース６１８を通じて、メッセージを送信し、プログラムコードを含むデータを受信することが可能である。インターネットの例では、サーバ６３０がインターネット６２８、ＩＳＰ  ６２６、ローカルネットワーク６２２および通信インタフェース６１８を通して、アプリケーションプログラム用の要求されたコードを伝達する。
【０１０１】
受信されたコードは、プロセッサ６０４で受信されると実行される、および／または後に実行されるために、記憶装置６１０またはその他の不揮発性の記憶装置に格納される。これにより、コンピュータシステム６００が搬送波の形でアプリケーションコードを取得することが可能である。
【０１０２】
発展形態および代替形態
上述の説明では、本発明をその実施形態に基づき説明した。しかし、様々な修正および変更が可能であることは明らかであろう。たとえば、様々な実施形態において、様々な大きさのテクスチャが上述の方法と組み合わせて使用可能である。圧縮テクスチャは、ここで説明される高解像度または低解像度テクスチャいずれにも使用でき、展開はディスプレイカードにおいて表示される直前に行われる。テクスチャの記憶容量を低減させるために、損失の多い不可逆圧縮を使用することが可能である。インメモリキャッシュが設けられることが可能である。全体の記憶容量を低減させるために、複数の異なる小さいテクスチャが組み合わされて、ユニットとして格納されることが可能である。したがって、一実施例では、仮想三次元環境において隣接するウィンドウのテクスチャが結合され、単一テクスチャとしてレンダリングされることが可能である。非テクスチャ情報またはベクトル詳細は、テクスチャの類似のものを生成させるため使用されるテクスチャと関連して格納されることが可能である。明細書および図面は、限定的にではなく、例としてみなされるべきである。
【図面の簡単な説明】
【０１０３】
【図１Ａ】図１Ａは、画像テクスチャを表示するためのシステム例を表すブロック図である。
【図１Ｂ】図１Ｂは、一実施形態が使用可能である、仮想空間ブラウジングシステムの例を示すブロック図である。
【図１Ｃ】図１Ｃは、仮想三次元環境でテクスチャを表示するための準備プロセスの概要を示すハイレベルフロー図である。
【図２】図２は、テクスチャを動的に更新するプロセスを表すフローチャートである。
【図３】図３は、動的に更新されたクアドの処理のプロセスを表すフローチャートである。
【図４】図４は、動的に更新されたテクスチャの処理のプロセスを表すフローチャートである。
【図５】図５は、テクスチャの読み込みまたは保存のプロセスを表すフローチャートである。
【図６】図６は、本発明の実施形態が実装されるコンピュータシステムを示すブロック図である。
【図１Ａ】
2008502064.tif 000003
【図１Ｂ】
2008502064.tif 000004
【図１Ｃ】
2008502064.tif 000005
【図２】
2008502064.tif 000006
【図３】
2008502064.tif 000007
【図４】
2008502064.tif 000008
【図５】
2008502064.tif 000009
【図６】
2008502064.tif 000010
【国際調査報告】
2008502064.tif 000011
2008502064.tif 000012
2008502064.tif 000013