(57)【要約】  通信リンクを介する第１コンピュータと、圧縮されたイメージ・データの形で、内部に格納されたイメージ・コレクションを有する第２コンピュータとの間で通信を確立すること、前記第１コンピュータへの通信用に前記コレクション内の複数のイメージを選択すること、および第２コンピュータから第１コンピュータへ選択されたイメージのすべての低分解度イメージ・データを、選択されるイメージのいずれかのフル分解度イメージ・データを送信する前に、送信することを含めることができるシステムおよび方法を開示する。
2008517540.tif 000002
【特許請求の範囲】
【請求項１】
通信リンクを介して、第１のコンピュータと、圧縮されたイメージ・データの形で内部に格納されたイメージ・コレクションを有する第２のコンピュータとの間で、通信を確立するステップ、
前記第１のコンピュータでのビューイングのために、前記イメージ・コレクション内の第１のイメージを選択するステップ、および
前記第１のイメージの第１の関心領域用のフル分解度イメージ・データを前記第１コンピュータにダウンロードすることを含み、前記第１のイメージの前記圧縮されたイメージ・データの少なくとも一部を前記第２のコンピュータから前記第１のコンピュータに送信するステップ
を備えることを特徴とする方法。
【請求項２】
前記送信することは、
前記第１の関心領域の外部の前記第１のイメージの領域に対して、少なくとも低分解度イメージ・データを送信するステップ
を備えることを特徴とする請求項１に記載の方法。
【請求項３】
少なくとも低分解度イメージ・データの前記送信するステップは、
前記外部の領域のイメージ・データが、前記第１の関心領域への近接さが次第に増大するにつれて増大する分解度で提供される形で、前記外部の領域用のイメージ・データを送信するステップ
を備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記第１の関心領域用の前記イメージ・データが前記第１コンピュータ内に格納される際の分解度レベルを少なくとも部分的に下げるステップ、および
フル分解度での前記第１のイメージの第２の関心領域のレンダリングを可能にするために、前記第２の関心領域用の追加イメージ・データを前記第１コンピュータにダウンロードするステップ
をさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記第２の関心領域は、前記第１関心領域とオーバーラップすることを特徴とする請求項４に記載の方法。
【請求項６】
前記第２の関心領域は、前記第１関心領域とオーバーラップしないことを特徴とする請求項４に記載の方法。
【請求項７】
前記部分的に下げる前記ステップおよび追加イメージ・データをダウンロードする前記ステップを繰り返し、関心領域をシフトすることを提供するステップ
をさらに備えることを特徴とする請求項４に記載の方法。
【請求項８】
前記イメージ・コレクション内の複数の追加イメージを選択すること、および
前記選択された各イメージのいずれかの全体を前記第２コンピュータから前記第１コンピュータに送信する前に、前記選択されたイメージのそれぞれのイメージ・データの少なくとも一部を前記第２コンピュータから前記第１コンピュータに送信するステップ
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項９】
通信リンクを介して、第１のコンピュータと、圧縮されたイメージ・データの形で内部に格納されたメージ・コレクションを有する第２のコンピュータとの間で、通信を確立すること、
前記第１コンピュータへの通信用に前記コレクション内の複数のイメージを選択すること、および
前記選択されたイメージのいずれかのフル分解度イメージ・データを送信する前に、前記第２コンピュータから前記第１コンピュータへ、前記選択されたイメージのすべてに対して低分解度イメージ・データを送信すること
を備えることを特徴とする方法。
【請求項１０】
前記選択されたイメージのうちの所与のイメージであって、前記所与のイメージのすべてより少ない関心領域用に、フル分解度イメージ・データを送信すること
をさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
前記所与のイメージのうちで前記関心領域の外部の部分用に、フル分解度より低い分解度のイメージ・データを送信すること
をさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記イメージのうちの前記外部の部分用に前記フル分解度より低い分解度のイメージ・データを送信することは、
前記第１コンピュータで格納される前記所与のイメージの前記外部の部分の前記関心領域への近接さが次第に増大するにつれて、前記分解度が高くなるように、前記外部の部分のイメージ・データを送信すること
を備えることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記複数のイメージは、刊行物の複数のページであることを特徴とする請求項９に記載の方法。
【請求項１４】
前記刊行物の前記複数のページは、定義された連続した順序を有することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記連続した順序を有する前記複数のページは、連続して番号付けされていることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ページのうちの第１の選択されたページをフル分解度でレンダリングすることをさらに備え、
前記第１の選択されたページは、第１アクティブ・ページであることを特徴とする請求項１４に記載の方法。
【請求項１７】
前記複数のページのうちで前記第１アクティブ・ページ以外のページをフル分解度より低い分解度でレンダリングすること
をさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記他のページを、前記第１アクティブ・ページからのページ単位の距離が増加するにしたがって分解度の程度が低下する形でレンダリングすること
をさらに備えることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記他のページは、定数の、前記他のページのそれぞれのページが前記第１アクティブ・ページに関して置かれるページ単位の距離と等しいべきによって、前記第１アクティブ・ページがレンダリングされる前記フル分解度を、除算した値と等しい分解度でレンダリングされることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記定数は、２と等しいことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記フル分解度での前記第１アクティブ・ページのレンダリングを可能にしている、前記イメージ・データのうちの少なくとも一部を破棄すること、および
前記複数ページのうちの第２の選択されたページをフル分解度でレンダリングすること、これによって前記第２の選択されたページを第２のアクティブ・ページにすること
をさらに備えることを特徴とする請求項１７に記載の方法。
【請求項２２】
前記第２のアクティブ・ページは、ページの前記連続した順序において前記第１アクティブ・ページの直前または直後のいずれかであることを特徴とする請求項２１に記載の方法。
【請求項２３】
前記第２のアクティブ・ページは、ページの前記連続した順序において前記第１アクティブページから少なくとも２ページ離れていることを特徴とする請求項２１に記載の方法。
【請求項２４】
前記第２のコンピュータは、ポータブル・デバイスであることを特徴とする請求項９に記載の方法。
【請求項２５】
前記第１のコンピュータは、パーソナル・コンピュータであることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記第１のコンピュータは、ウェブ・サーバであることを特徴とする請求項２４に記載の方法。
【請求項２７】
前記通信リンクは、前記第１コンピュータと前記第２コンピュータとの間の直接リンクを備えることを特徴とする請求項９に記載の方法。
【請求項２８】
前記通信リンクは、インターネット通信リンクを備えることを特徴とする請求項９に記載の方法。
【請求項２９】
前記ポータブル・デバイスは、ディジタル・カメラであり、前記複数のイメージは、写真であることを特徴とする請求項２５に記載の方法。
【請求項３０】
前記ディジタル・カメラから前記パーソナル・コンピュータへの前記写真の前記データの前記送信を完了すること
をさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記写真をウェブ・サーバにアップロードすること
をさらに備えることを特徴とする請求項３０に記載の方法。
【請求項３２】
前記送信されたデータを前記パーソナル・コンピュータの仮想ディスプレイ内に格納すること
をさらに備えることを特徴とする請求項３０に記載の方法。
【請求項３３】
前記仮想ディスプレイは、前記イメージを少なくとも部分的に記述できるウェーブレットデータを含むことを特徴とする請求項３２に記載の方法。
【請求項３４】
前記仮想ディスプレイ内の前記イメージ・データが指定された分解度で表現されるまで、前記送信および前記格納を継続すること
をさらに備えることを特徴とする請求項３２に記載の方法。
【請求項３５】
前記指定された分解度で前記仮想ディスプレイ内に格納された前記イメージ・データを、物理ディスプレイ上にレンダリングすること
をさらに備えることを特徴とする請求項３４に記載の方法。
【請求項３６】
前記イメージ・コレクション内の全イメージのキャッシングされた表現を前記第１コンピュータ内で提供することをさらに備え、
前記キャッシングされた表現は、前記第２コンピュータ内に格納された前記イメージ・コレクションより低い分解度で格納され、前記イメージの前記キャッシングされた表現は、前記第１コンピュータのキャッシュ内のキャッシュ・イメージであることを特徴とする請求項９に記載の方法。
【請求項３７】
前記第１コンピュータのキャッシュ内の前記キャッシュ・イメージをモンタージュにパッキングすることをさらに備え、
物理ディスプレイへの前記キャッシュ・イメージのレンダリングは、前記物理ディスプレイのコンパクトな領域内に前記モンタージュを表示することを特徴とする請求項３６に記載の方法。
【請求項３８】
前記コンパクトな領域は、少なくとも実質的に四辺形であることを特徴とする請求項３７に記載の方法。
【請求項３９】
前記第１コンピュータのユーザによる前記モンタージュのズーム・インおよびズーム・アウトを可能にすること
をさらに備えることを特徴とする請求項３７に記載の方法。
【請求項４０】
前記第１コンピュータのユーザによる前記モンタージュのパンを可能にすること
をさらに備えることを特徴とする請求項３７に記載の方法。
【請求項４１】
メタデータを前記キャッシュ・イメージのセットに関連付けることを備え、
前記セットは、その中に少なくとも１つのキャッシュ・イメージを有することを特徴とする請求項３７に記載の方法。
【請求項４２】
各前記セット内のイメージのより詳細な演出のために、前記メタデータを用いて、各前記キャッシュイメージセットをリンクすること
をさらに備えることを特徴とする請求項４１に記載の方法。
【請求項４３】
前記モンタージュのナビゲーションが指定されたズーム閾値に達すると、前記メタデータを使用する前記より詳細な演出への前記リンクすることを呼び出すこと
をさらに備えることを特徴とする請求項４２に記載の方法。
【請求項４４】
テクスチャ・マッピングを使用して前記キャッシュ内の前記パックされたキャッシュ・イメージを再配置すること
をさらに備えることを特徴とする請求項３７に記載の方法。
【請求項４５】
前記テクスチャ・マッピングは、ソフトウェアで実装されることを特徴とする請求項４４に記載の方法。
【請求項４６】
前記テクスチャ・マッピングは、ハードウェア・アクセラレートされることを特徴とする請求項４４に記載の方法。
【請求項４７】
前記テクスチャ・マッピングは、
前記モンタージュに対して３次元パースペクティブ変換を実行すること
を備えることを特徴とする請求項４４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ＪＰＥＧ２０００／ＪＰＩＰなど、最近開発されたイメージ圧縮標準規格およびイメージ伝送標準規格は、狭帯域幅通信チャネル上での大きなイメージ（すなわち、サイズにおいてギガ・ピクセル）の対話型表示を可能にした。（以下でＡ１〜Ａ１４は、アペンディックス（付録）の順序（番号）を示す）
【特許文献１】米国特許出願第１１／０８２５５６号明細書（Ａ１４）
【特許文献２】米国特許仮出願第６０／６１７４８５号明細書（Ａ６）
【特許文献３】米国特許仮出願第６０／６１９１１８号明細書（Ａ８）
【特許文献４】米国特許出願第１１／１４１９５８号明細書（Ａ１３）
【特許文献５】米国特許出願第１０／７９０２５３号明細書（Ａ１０）
【特許文献６】米国特許仮出願第６０／６１９０５３号明細書（Ａ７）
【発明の開示】
【発明が解決しようとする課題】
【０００２】
しかし、これらの発展段階の標準規格およびテクノロジは、より大掛かりの目標を達成する手段すなわち、それぞれが潜在的に非常に大きい場合もある非常に多数のイメージとの柔軟な視覚的対話を同時に可能にする手段を提供しない。したがって、当技術分野には、イメージ・データを伝送し、かつ／または格納する改善されたシステムおよび方法を求めるニーズがある。
【課題を解決するための手段】
【０００３】
一態様によれば、本発明は、通信リンクを介して第１コンピュータと、圧縮されたイメージ・データの形で内部に格納されるイメージ・コレクションを有する第２コンピュータとの間の通信を確立すること、前記第１コンピュータへの通信用に前記コレクション内の複数のイメージを選択すること、および選択されたイメージのいずれかのフル分解度イメージ・データを送信する前に、第２コンピュータから第１コンピュータへ選択されたイメージのすべての低分解度イメージ・データを送信することを含むことができる方法を提供する。
【０００４】
他の態様、機能、利点などは、本明細書の本発明の好ましい実施形態の説明を添付図面と共に解釈するときに、当業者に明白になるであろう。
【０００５】
本発明のさまざまな態様を例示するために、現在好ましい形が図面に示されているが、本発明が、開示されたとおりの方法や手段に限定されないことを理解されたい。
【発明を実施するための最良の形態】
【０００６】
図１は、本発明の１つまたは複数の実施形態による複数のコンピュータの間でのイメージ・データの通信を可能にするために接続することのできるシステム１００を示すブロック図である。システム１００には、ディスプレイ１０４およびデータ格納デバイス１０６に接続されたクライアント・コンピュータ１０２が含まれることが好ましい。システム１００には、データ格納デバイス１１０に接続することのできるサーバ・コンピュータ１０８も含まれることが好ましい。サーバ・コンピュータ１０８を、インターネット１１２に接続することもできる。
【０００７】
１つまたは複数の実施形態で、イメージ・データを、複数のコンピュータ１０２、１０８の間で通信して、それらの間の比較的低帯域幅の接続を使用して、潜在的に大きいイメージの大きいコレクションを見ることを可能にすることができる。たとえば、サーバ・コンピュータ１０８に格納されたイメージの所望のビューイングおよびナビゲーションを、サーバ・コンピュータ１０８に格納されたイメージ・データの選択された部分を、制御可能なレベルの分解度で送信することによって、達成することができる。イメージ・データ１１４の選択性は、高分解度で特定のイメージを選択すること、あるいは、高分解度で特定のイメージの選択された部分を選択すること、などとすることもできる。
【０００８】
本明細書では、クライアント・コンピュータ１０２およびサーバ１０８として使用されるデバイスのタイプ、それらの間で伝送されるイメージ・データ１１４のタイプを変更すること、および指定されたレベルの分解度で選択されたイメージ・データを伝送する能力のさまざまな応用、を含むさまざまな実施形態を述べる。
【０００９】
図２は、本発明の１つまたは複数の実施形態による、その中に少なくとも２つの関心領域（ｒｅｇｉｏｎ  ｏｆ  ｉｎｔｅｒｅｓｔ）２０２、２０４を有するイメージ２００のブロック図である。イメージ２００は、イメージ・データ１１４のサブセット（部分集合）とすることができる。あるいは、イメージ・データ１１４は、クライアント・コンピュータ１０２によって要求されるイメージ・データに応じて、イメージ２００のサブセットを表すことができる。
【００１０】
１つまたは複数の実施形態では、イメージ２００を、圧縮された形でサーバ・コンピュータ１０８上にまたは格納デバイス１１０内に格納することができる。この形で格納されるときに、イメージ２００のさまざまな領域に対して複数の分解度レベルのデータを、格納でき、クライアント・コンピュータ１０２によってダウロードのために要求できることが好ましい。
【００１１】
１つまたは複数の実施形態で、特定のイメージまたはイメージの領域がクライアント・コンピュータ１０２に格納される際の分解度レベルを、直ちに上げ、または下げることができる。以前のダウンロードが、第１分解度レベル（フル分解度より低いものとすることができる）で領域またはイメージの格納をもたらした場合に、この第１分解度レベルを、次に高いレベルの分解度を表すデータを追加することによって、好ましくは、第１分解度を表すデータを破棄することなく、高めることができ、これによって冗長性が回避され、本明細書で企図されるイメージ・データ通信の効率が高まる。逆に、クライアント・コンピュータ１０２で格納される領域またはイメージの分解度レベルを、そこに格納された最高レベルの分解度を破棄することによって、同一の領域またはイメージのより低いレベルの分解度に対応するデータを失わずに、下げることができる。そのような分解度低減を、クライアント１０２で実践して、データが破棄されようとしているもの以外の１つまたは複数の領域またはイメージに必要とされるデータ格納スペースを、クリアする（空ける）ことができる。
【００１２】
関係するイメージ圧縮は、たとえば、ＪＰＥＧ２０００または別の離散ウェーブレット変換ベースのイメージ圧縮方式によって提供することができる。しかし、本発明は、どの特定の圧縮フォーマットまたはイメージ・データ表現の使用にも限定されない。バイト単位のサイズが非圧縮イメージ・データより実質的に小さくないイメージ・フォーマットを含む、他のフォーマットを用いることができる。選択されたイメージ・フォーマットが、イメージ・データのマルチ・スケールの表現および格納を許すことが好ましいだけである。
【００１３】
１つまたは複数の実施形態で、クライアント・コンピュータ１０２は、イメージ２００の１つまたは複数の領域をダウンロードしようとする可能性があり、ここで、そのような領域を、イメージ２００の一部とすることができる。１つまたは複数の関心領域２０２、２０４だけを、クライアント・コンピュータ１０２がダウンロードしようとする関心領域とすることができる。代わりに、クライアント・コンピュータ（クライアント）１０２は、単に、１つまたは複数の選択された領域を、イメージ２００の残りがダウンロードされる分解度より高い分解度で、ダウンロードしようとする可能性がある。どちらの場合でも、クライアント１０２は、イメージ２００のうちでダウンロードすべき指定された領域と、この指定された領域がサーバ・コンピュータ（サーバ）１０８によって供給されることになる分解度レベルと、の両方を特定して、ダウンロードを要求することができる。
【００１４】
図２の例では、クライアント１０２は、低分解度で、イメージ２００のすべてのダウンロードを要求することが好ましい（イメージ２００の大部分がダウンロードされる正確な分解度レベルは、この議論には関係ない）。しかし、クライアント１０２は、より高い分解度で、またはフル分解度で、関心領域１  ２０２をダウンロードしようとする。したがって、クライアント１０２は、関心領域１  ２０２の座標および所望の分解度レベルをサーバ１０８に指定することが好ましい。したがって、イメージ２００の大部分（関心領域１  ２０２の外部の部分を含む）を低分解度でダウンロードすることに加えて、クライアント１０２は、指定された、より高い分解度で関心領域１  ２０２をダウンロードすることが好ましい。他の情況では、クライアント１０２は、関心領域だけをダウンロードしようと努め、イメージ２００の残りのダウンロードを省略することができる。
【００１５】
この方法では、クライアント・コンピュータ１０２のユーザは、高分解度でイメージ２００の全体をダウンロードすることなく、その高分解度で関心１の領域２０２を見ることができる。したがって、それでもなお、クライアント１０２とサーバ１０８との間の比較的低帯域幅のデータ通信リンクは、特定の関心の領域（この例では関心領域１  ２０２）を高分解度で提供しながらも、イメージ２００の全体を伝送することができ、関心領域これによって、見る人にたいして、クライアント１０２が高分解度でイメージ２００の全体をダウンロードする場合に発生することになる関心領域に関する同一のビューイング体験を与える。このイメージ２００の全体のダウンロードというオプションは、より多くのダウンロード時間と、クライアント・コンピュータ１０２またはデータ格納デバイス１０６でのより多くのデータ格納スペースとを必要とする。
【００１６】
関心領域のシフト
１つまたは複数の実施形態で、クライアント・コンピュータ１０２のユーザは、イメージ２００を横切ってパンすることを望む場合がある。通常、ある関心領域２０２からもう１つの関心領域２０４へのパンは、両方の領域を、それらの領域が見られる分解度のレベルでクライアント１０２でダウンロードさせることを伴う。さらに、一般に、関心領域１  ２０２と関心領域２  ２０４との間のすべてのイメージ・テリトリ（領域範囲）は、説このようなパンを行うことを可能にするために、クライアント・コンピュータ１０２で格納されることになる。次で説明するように、本発明の１つまたは複数の実施形態では、そのような関心領域２０２、２０４を見ることは、上で説明した手法よりはるかに少ないデータをダウンロードすること、およびクライアント・コンピュータ１０２でより少ない格納スペースを使用することによって達成することができる。
【００１７】
１つまたは複数の実施形態で、クライアント１０２は、関心領域１  ２０２の高分解度ビューから関心領域２  ２０４にシフトすることができる。関心領域２  ２０４の低分解度表現に対応するイメージ・データは、上で述べたように、イメージ２００のダウンロードから、クライアント・コンピュータ１０２内に既に存在することが好ましい。この場合に、必要とされるのは、クライアント・コンピュータ１０２で関心領域２  ２０４の高分解度演出（レンディション：ｒｅｎｄｉｔｉｏｎ）に達するように、関心領域２  ２０４の既存のイメージ・データに、適切なより高いレベルの分解度を記述する追加イメージ・データを増補することだけである。必要な場合に、関心領域１  ２０２のより高い分解度レベルを表すイメージ・データを、関心領域２  ２０４用にダウンロードされる追加イメージ・データのためのデータ格納デバイス１０６内にまたは他のデータ格納スペース内にスペースを作るために、破棄したり、上書きしたりすることができる。
【００１８】
１つまたは複数の実施形態で、関心領域１  ２０２から関心領域２  ２０４へのビューのシフトは、漸進的に達成して、ディスプレイ１０４を見る人に、高分解度でダウンロードされるイメージ２００の全体を有するコンピュータ上で得るのと同じような体験をシミュレートするビューイング体験を、与えることができる。具体的に言うと、関心領域１  ２０２が表示される分解度のレベルを、イメージ２００のほとんどが表される分解度レベルまで漸進的に下げることができる。その後、ディスプレイ１０４上のビューは、関心領域１  ２０２と関心領域２  ２０４との間の中の低分解度テリトリ（領域範囲）を横切る漸進的パンを表すことができる。最終的に、関心領域２  ２０４に達したときに、ディスプレイ１０４上のビューを、イメージ２００を横切るパンの完了後、またはこのパン動作の後の部分と同時に、のいずれかで、関心領域２  ２０４の高分解度演出に向けて高めることができる。説明されたプロセスの完了時に、関心領域２  ２０４が、高分解度でクライアント・コンピュータ１０２内に格納され、この高分解度でディスプレイ１０４上に表示されることが好ましい。
【００１９】
図３は、本発明の１つまたは複数の実施形態にしたがって本明細書で開示されるテクノロジの諸態様を用いる「仮想ブック」３００のブロック図である。仮想ブック３００には、ディスプレイ３０２、逆方向キャッシュ３０４、および順方向キャッシュ３０６を含めることができる。キャッシュ３０４、３０６は、それぞれ、その中に２つのページを格納されるものとして図示されているが、任意の個数のページを、キャッシュ３０４および３０６のいずれにも格納することができる。
【００２０】
１つまたは複数の実施形態で、仮想ブック３０２は、仮想ブック３００のこの特定のケースについて、選択されたイメージ・データを分解度の制御可能なレベルで提示する能力を用いる。仮想ブック３００内で、各イメージを、仮想ブック３００のディスプレイ３０２内の１ページとすることができる。ディスプレイ３０２は、図１のディスプレイ１０４に対応するものとすることができ、あるいは、仮想ブック３００の特定の概観（ｆｅａｔｕｒｅｓ）に対処する特殊目的ディスプレイとすることができる。仮想ブック３０００は、図１のクライアント・コンピュータ１０２に対応するものとすることができ、あるいは、ブックの各ページを通信する、格納する、および表示することに実質的に限定された特殊目的コンピュータとすることができる。
【００２１】
１つまたは複数の実施形態で、仮想ブック３００は、フル分解度で格納され、かつ／または表示される唯一のページと、表示されるページのシーケンス内で前と後との両方の、さまざまな他の分解度の他のページとを含めることができる。
【００２２】
１つまたは複数の実施形態で、ディスプレイ１０４に現在表示されているページすなわちアクティブ・ページは、フル分解度で表示され、このページは、図３では「ページ１０」である。そのような実施形態では、他のページを、アクティブ・ページからのページ単位の増加する距離に伴って順次、より低くなる分解度で表示することができる。より具体的には、各ページが格納される分解度は、ディスプレイ３０６に表示されているアクティブ・ページの分解度を、各格納されたページとアクティブ・ページとの間のページ数と等しいべき数で累乗された２、と等しい量で割った値と等しいものとすることができる。したがって、この手法を適用すると、ページ１１（順方向キャッシュ３０６内）およびページ９（逆方向キャッシュ３０４内）は、それぞれ、ディスプレイ３０２内のアクティブ・ページによって占められるデータ格納スペースの量の半分を占めることができる。この手法について継続すると、ページ１２（順方向キャッシュ３０６内）およびページ８（逆方向キャッシュ３０４内）は、それぞれ、ディスプレイ３０２内のアクティブ・ページによって占められるデータ格納スペースの量の１／４を占めることができる。
【００２３】
上の議論では、各ページに割り振られるデータ格納スペースの量は、それに直接に隣接するページに関して２の因数だけ異なるが、当業者は、２より大きい値または２より小さい値を除算係数として用いることができることを認識するであろう。さらに、定数によるアクティブ・ページのデータ格納スペースの除算以外の算術式を使用して、キャッシュ３０４および３０６に格納される一連のページへのデータ格納スペースの割振りを決定することができる。
【００２４】
１つまたは複数の実施形態で、新しいアクティブ・ページを、図３に表示されているページ１０の代わりに選択することができる。新しい選択されるページは、ページ１０に直接に隣接するページ（ページ９またはページ１１のいずれか）とすることができるが、そうである必要はない。すなわち、関係のあるブック（または、離散ページを有する、すべての他のタイプの刊行物）内の１ページから最後のページまでのどのページでも、新しいアクティブ・ページとすることができる。
【００２５】
１つまたは複数の実施形態では、新しいアクティブ・ページの選択時に、現在アクティブなページと新しいアクティブ・ページとの間の遷移が行われることが好ましい。この新しいアクティブ・ページへの遷移には、新しいアクティブ・ページをフル分解度で格納し、かつ／または表示することを可能にするために、新しいアクティブ・ページの追加イメージ・データを獲得することを含めることができる。新しいアクティブ・ページが「ページ１１」であり、上で述べた「２の因数」の実施形態が用いられる場合に、ページ１１に割り振られるデータ格納スペースの量は、２倍にされることが好ましい。「２の因数」の実施形態の応用について継続すると、ページ１０に割り振られるデータ格納スペースの量は、ページ１０から離れてアクティブ・ページとしてのページ１１に向かう遷移の一部として、半分にされることが好ましい。遷移後のページ１０に含まれないページ１０のアクティブ・バージョンのデータは、破棄することができる（この破棄には、それを上書きすることを含めることができる）。しかし、その代わりに、このページ１０の「余りの」データを、もう１つのキャッシュに格納することができる。ページ１０の余りのデータのそのようなキャッシングは、ページ１０からの遷移のすぐ後に（すなわち、穏当な回数のページ遷移のうちに）ページ１０への遷移が行われる場合に、効率をもたらすことができる。
【００２６】
１つまたは複数の実施形態で、ページ１０からページ１１（または他の新しいアクティブ・ページ）への遷移には、ページ１０からの漸進的フェード・アウトとページ１１への漸進的フェードインとを含めて、視覚的に満足なおよび／または物理ページ遷移をしのばせる体験を仮想ブック３００のユーザに与えることができる。任意選択として、古いアクティブ・ページを折り曲げ、めくることを示すイメージのシーケンスを設けて、仮想ページ遷移がページを物理的にめくることをさらにしのばせるように見えるようにすることができる。
【００２７】
図４は、本発明の１つまたは複数の実施形態による図３の仮想ブックの３次元バージョンの図である。図４の実施形態には、部分的透明性（粗いエッジ）のためのアルファ・チャネルを、赤、緑、および青の色成分に加えてイメージ情報として格納できる方法が示されている。色成分を上で述べたが、便宜のために、図４のイメージの白黒演出だけを、本明細書で提供する。
【００２８】
１つまたは複数の実施形態で、ハードウェア・アクセラレーテッド（ｈａｒｄｗａｒｅ−ａｃｃｅｌｅｒａｔｅｄ）テクスチャ・マッピングを用いて、アルファ・チャネルをサポートすることができる。仮想ブックの２次元実施形態または３次元実施形態のいずれかに関連して実践できるもう１つの機能は、イメージの動的変形、たとえば、図４に示されているように、めくられるときにこのブックのページを曲げることである。
【００２９】
１つまたは複数のポータブル・デバイスでのイメージ・データの管理
このセクションでは、プログレッシブで対話的なビジュアル・コレクション伝送に基づく、ディジタル・イメージを格納し、これと相互作用する複数の機構を説明する。本発明の１つまたは複数の実施形態で、本明細書で開示される方法に基づく変形形態は、第２モバイル・デバイスに格納されたイメージの大きいコレクションの、デスクトップ・コンピュータ、モバイル・デバイス、または他のデバイスでのほぼ瞬間的なビューイングと、イメージを見るためにモバイル・デバイスのローカル・メモリを増補するのにリモート・ストレージを使用すること、およびモバイル・デバイスから大きいイメージ・コレクションをブラウズすることを可能にする。本発明の１つまたは複数の実施形態によって可能にされるさまざまな置換は、共通のクライアント／サーバ・イメージングおよびコレクション表現アーキテクチャに頼るものとすることができる。
【００３０】
本発明の１つまたは複数の実施形態は、サーバ上でディジタル・イメージまたは他のビジュアル・オブジェクトのコレクションを提供すること、クライアントと前記サーバとの間で通信を確立すること、およびサーバに常駐するビジュアル・オブジェクトのコレクションの、クライアントによる効率的なマルチ・スケール・ナビゲーションを可能にすることを含むことができる方法を提供することができる。
【００３１】
この開示では、用語「ディジタル・イメージ・データ」に、ディジタル写真、ディジタル・イメージ、ビジュアル・ドキュメント、または他の形のビジュアル・コンテンツを含めることができる。本明細書では、用語「イメージ」は、用語「ディジタル・イメージ」に全般的に対応し、これらの用語のどちらもが、「ディジタル写真」に対応することができる。本明細書では、用語「クライアント」は、用語「クライアント・サイド」および用語「クライアント・デバイス」に全般的に対応する。本明細書では、用語「ポータブル・デバイス」、「ポータブル・カメラ・デバイス」、および「カメラ・デバイス」は、ディジタル・イメージ・キャプチャリング・デバイスおよび／またはディジタル・イメージ格納デバイスを全般的に指す。本明細書では、「ディジタル・イメージ・キャプチャリング・デバイス」は、ディジタル・カメラ、カメラ対応携帯電話機（カメラ対応セル電話機と称する場合がある）、携帯情報端末、および／またはディジタル静止イメージを記録できるディジタル・ビデオ・レコーダを含むことができるが、これらに限定はされない。「ディジタル・イメージ・キャプチャリング・デバイス」は、イメージ・データを直接に光学的に受け取り、記録することによって（標準的なディジタル・カメラを用いるなど）そのようなデータを記録できるデバイスを含むことができ、有線もしくは無線のインターネットまたは他のネットワーク接続を介してイメージ・データを受信することができるデバイスをも含むことができる。
【００３２】
本明細書で説明する方法の１つまたは複数の実施形態は、複数分解度手法を使用して、ビジュアル・ドキュメントとすることができるディジタル・イメージ・データのコレクションの格納、同期化、ブラウジング、および編成という問題に対処することができる。ある分解度（たとえば、１０２４×７６８ピクセル＝０．７５メガピクセル、２５９２×１９４４ピクセル＝約５メガ・ピクセルなど）でカラー・ピクセルのアレイとして表すことができるディジタル写真は、エンド・ユーザが、他のデバイスの中でもディジタル・カメラ、カメラ対応携帯電話機、およびディジタル・ビデオ・レコーダを使用して大量に作成できる一般的なビジュアル・ドキュメント・タイプである。
【００３３】
本明細書で説明する方法の１つまたは複数は、出願人参考文書４８９／１７ＮＰ（特許文献１（Ａ１４））の道路地図もしくは他のベクトル・データ、または出願人参考文書４８９／１３（特許文献２（Ａ６））のテキスト・データなど、イメージ以外のビジュアル・データ・オブジェクトに適用することもできる（この両方の文書は、本文書の先頭でより詳細に識別され、この両方の文書は、参照によって本明細書に組み込まれている）。
【００３４】
既存システムのユーザが直面する問題は、カメラ・デバイスが、多数の潜在的に大きいビジュアル・ドキュメントを素速く作成できることである。しかし、これらのデバイスは、通常、これらの・ドキュメントの満足なアーカイビング、ビューイング、または編成を可能にするのに十分なメモリまたはビジュアル・ブラウジング機能を有しない。
【００３５】
カメラまたは他のポータブル・デバイス内に格納されるディジタル写真または他のディジタル・イメージ・データは、一般に、デスクトップ・コンピュータまたはノートブックコンピュータに周期的にダウンロードされ、より多くの写真を撮影できるようにするためにカメラのメモリからクリアされ、デスクトップ・コンピュータまたはノートブック・コンピュータ上で編成され、かつ／または見られる。その後、ディジタル写真を、ディジタル写真のセレクションを１つまたは複数のインターネット・サイトにポストすることによって、友人と共有することができる。
【００３６】
ポータブル・デバイスでイメージ・データを管理する伝統的手法
ポータブル・デバイスでイメージ・データを管理する普通の手法を使用するときには、次のステップに従うことができる。まず、ディジタル・カメラまたは他のディジタル・イメージ・データ・キャプチャリング・デバイスとすることのできるモバイル・デバイスが、写真を撮影する。次に、潜在的にそれらの写真のある選別の後に、写真が、カメラユーザのＰＣ（パーソナル・コンピュータ）にダウンロードされ、カメラ・デバイスから削除される。カメラ・デバイスのローカル・ストレージは、限られている場合があり、この普通の手法では、イメージがＰＣに安全に格納されるまで、イメージを一時的に保持するだけである。
【００３７】
ＰＣは、ディジタル写真の任意のサブセットをそのメモリ（たとえば、ハードディスク・ドライブまたは他の不揮発性ストレージ）内に永久的に保存することができる。ユーザは、これらのイメージの、あるさらに選別されたサブセットを、通常は下げられた分解度で、ウェブ・サーバにアップロードすることができ、このウェブ・サーバは、ウェブ写真パブリッシング・サービスによって所有されるものとすることができる。アップロードされるイメージは、ＰＣまたは他のデバイス上のウェブ・ブラウザを使用することによって、すべての第三者によって、またはこれらのユーザのうちで制約されたアクセス権を有するあるサブセットによって、公にビューングすることができるようにすることができる。
【００３８】
既存の手法の制限には、カメラ・デバイスからＰＣへの長々しいダウンロード時間を含めることができる。通常、カメラ・デバイス上の永続ストレージの貧弱な管理もある。カメラ・デバイスは、通常、小さいカラー・ディスプレイを有し、このディスプレイ上で、見る人は、理論的に、人々が自分の財布に入れて持ち歩くものと同一タイプの永続的に格納されたイメージ（家族およびペットのイメージなど）と、発呼者に関連付けられた写真またはＰＤＡ（形態情報端末）上の彼らの連絡先とを見ることができる。しかし、既存カメラ・デバイス内の永続ストレージに対する制限は、上の作業の達成を難しくする。
【００３９】
さらに、既存カメラ・デバイスは、他の制限を課す。既存カメラ・デバイスでは、そのカメラ・デバイスに格納されたイメージのナビゲーションが、一般に、ぎこちなく、難しい。既存カメラ・デバイスでは、カメラ・デバイス上またはＰＣ上のいずれかでユーザに一貫した体験を与えるはずのイメージ・コレクションへの統一されたビジュアル・インターフェースが欠けている。既存カメラ・デバイスは、ダウンロードが必要になる前にそのデバイスに格納できる写真の枚数に対して非常に制約的な制限を課す傾向がある。したがって、既存の手法を用いるときには、イメージを第三者が使用可能にする際に、一般に、長々しい一連のステップが伴う。
【００４０】
本発明の１つまたは複数の実施形態によるイメージ・データの管理
図５は、本発明の１つまたは複数の実施形態による、１つまたは複数のポータブル・デバイス５１２、５２２と１つまたは複数の他のコンピュータとの間のイメージ・データ通信を管理するシステム５００のブロック図である。システム５００には、クライアント・サイド５１０およびサーバ・サイド５２０を含めることができる。しかし、代替実施形態では、図５に示されたデバイスのグループ化のクライアント・ステータスおよびサーバ・ステータスを逆転することができる。
【００４１】
１つまたは複数の実施形態で、システム５００には、ポータブル・デバイス１  ５１２、ポータブル・デバイス２  ５２２、パーソナル・コンピュータ１０２（図１のクライアント・コンピュータ１０２と実質的に同一とすることができる）、サーバ１０８（図１のサーバ・コンピュータ１０８と実質的に同一とすることができる）、および／または追加のコンピュータ５２４を含めることができる。デバイス５１２、５２２とコンピュータ１０２、１０８、および５２４とのそれぞれは、メモリと１つまたは複数のディスプレイをそれらと共に含められることが好ましい。その代わりにまたはそれに加えて、図５のデバイスおよびコンピュータは、メモリおよび／またはディスプレイと通信することができる。
【００４２】
図５には、本発明の１つまたは複数の実施形態にしたがって使用可能なさまざまな可能なデータ経路が示されている。１つまたは複数の実施形態は、図５に示されたデータ経路のすべてより少ないデータ経路を使用することができる。図５に示された使用可能なデータ経路は、共通して次の機能のうちの１つまたは複数を有することができる：１）データ経路は、サーバ・サイド５２０（イメージ・データのオリジネータ）およびクライアント・サイド５１０（イメージデータの受取側）を用いることができ、２）両方向データ経路（両端に矢印を有する線によって図示）は、これらの矢印によって指示されるデバイスが、クライアント機能またはサーバ機能のいずれかで働くことができることを示し、３）接続は、ハード・ワイヤード・ネットワーク（たとえば、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、Ｆｉｒｅｗｉｒｅ、またはイーサネット（登録商標））または無線ネットワーク（たとえば、近くのデバイスについてはＢｌｕｅｔｏｏｔｈ、より遠隔の接続についてはＷｉＦｉまたは無線広域ネット・ワーキング・プロトコル）を用いることができ、ならびに／あるいは４）図示の接続は、アドホックであってもなくてもよい。
【００４３】
１つまたは複数の実施形態で、クライアント・サイド５１０とサーバ・サイド５２０との両方に、カメラ・デバイス、パーソナル・コンピュータ、および携帯情報端末を含むがこれらに限定されない１つまたは複数のディジタル・コンピューティング・デバイスおよび／またはディジタル格納デバイスを含めることができる。
【００４４】
１つまたは複数の実施形態で、クライアント・デバイス（クライアント）は、１つまたは複数のディスプレイを有することができる。クライアントは、出願人参考文書４８９／１５Ｐ（参照によって本明細書に組み込まれている「Ｍｅｔｈｏｄ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔｌｙ  Ｉｎｔｅｒａｃｔｉｎｇ  ｗｉｔｈ  Ｄｙｎａｍｉｃ，  Ｒｅｍｏｔｅ  Ｐｈｏｔｏ  Ａｌｂｕｍｓ  ｗｉｔｈ  Ｌａｒｇｅ  Ｎｕｍｂｅｒｓ  ｏｆ  Ｐｏｔｅｎｔｉａｌｌｙ  Ｌａｒｇｅ  Ｉｍａｇｅｓ」という名称の特許文献３（Ａ８））に記載の効率的な複数分解度ブラウジング方法のうちの１つまたは複数を使用してサーバに常駐するドキュメントのコレクションをブラウズすることができる。これらの方法は、大きいイメージまたは他のビジュアル文書の大きいコレクションを、低帯域幅接続を介して効率的にナビゲートすることを可能にする。そのようなイメージ・コレクションのズーム、パン、および動的再配置は、この参照された文書に記載されている。
【００４５】
１つまたは複数の実施形態で、このナビゲーション方法のプロパティの１つは、情報がサーバからクライアントに送信されるときに、ディスプレイ・コンテンツに漸進的に焦点を合わせることができることである。この情報の焦点が合うレートは、ディスプレイ・ピクセルに対する接続帯域幅の比によって制御することができる。ユーザが、新しいコンテンツが可視になるようにクライアント・サイド５１０でドキュメントをズームし、パンし、または再配置するときに、このコンテンツは、やはり、ぼけて見え、その後、焦点が合う。
【００４６】
仮想ディスプレイ
１つまたは複数の実施形態で、クライアントの「ディスプレイ」は、必ずしも、物理的である必要がなく、あるいは、エンド・ユーザに可視である必要がない。１つまたは複数の実施形態で、このディスプレイを、「仮想ディスプレイ」すなわち、指定された分解度を有するディスプレイの抽象モデルとすることができる。そのような「仮想ディスプレイ」は、ピクセル値がスクリーンにレンダリングされるかどうかに関わりなく、クライアントのメモリ内のピクセル値のアレイとして表すことができる。仮想ディスプレイには、少なくとも部分的に１つまたは複数のイメージを記述するウェーブレット・データを含めることができる。ウェーブレット・データは、ある範囲の可能な分解度でイメージを表すことができることが好ましい。１つまたは複数の実施形態で、ウェーブレット・データは、ＪＰＥＧ２０００を使用することを用いたものに対応することができる。１つまたは複数の実施形態で、仮想ディスプレイは、１つまたは複数のイメージを完全に記述するのに十分なウェーブレット・データを含むことができる。
【００４７】
たとえば、あるデバイスが、指定された分解度で、コレクション内のイメージのすべてのサムネイルを獲得することが望ましい場合に、このデバイスは、適当なサイズの「仮想ディスプレイ」を作成し、サーバとの接続を確立し、コレクション全体のビューを要求することができる。次に、サムネイルのフルセットを、この「仮想ディスプレイ」に送信し、そこでレンダリングすることができる。関連データのすべてがサーバからクライアントに送信される前に、伝送が中断された場合には、クライアントの仮想ディスプレイは、まだ、サムネイル・イメージのすべてを完全に焦点があった状態で有してはいないはずである。しかし、要求されたサムネイル・イメージのすべてが、これらのイメージのスクリーン上での可視バージョンのレンダリングを可能にするのに十分な分解度でクライアントの仮想ディスプレイ内に格納されることが好ましいはずである。説明した形でレンダリングされるイメージは、一般に、イメージの伝送が中断なしで終わった場合より低いビジュアル品質を有するはずである。したがって、あるイメージ劣化が、不完全な中断された伝送からのデータを使用してレンダリングされるイメージに存在する場合がある。
【００４８】
それでも、説明された劣化は、ネットワークにまたがってサムネイルのセットを送信する従来技術の手法（各サムネイルの完全なイメージが順番に送信される）より好ましい。この従来技術の手法下では、接続性の時期尚早な中断は、いくつかのサムネイルが完全に（すなわち、フル分解度で）使用可能であることをもたらし、他のサムネイルが完全に使用不能であることをもたらすはずである。図６に、この差を示す。図６Ａは、既存の手法を用いる不完全なイメージ・データ・ダウンロードの結果を示し、図６Ｂは、本発明の１つまたは複数の実施形態による不完全なイメージ・データ・ダウンロードの結果を示す。
【００４９】
図３Ａは、３つのサムネイルのデータ（正方形の形状を用いて図示）のすべてが受信済みであり、残りの９つのサムネイル（Ｘを用いて図示）が全く受信されていない、従来技術のシナリオを示す。図３Ｂは、１２個すべてのサムネイル（斜線入りの正方形形状として図示）があるレベルの分解度で受信済みであり、この分解度のレベルが、見るには満足であることが好ましいが、完全な中断されないデータ伝送の完了後に入手されるはずの分解度より低い可能性が高い、本発明の１つまたは複数の実施形態を用いることによって生じる場合がある情況を示す。
【００５０】
１つまたは複数の実施形態で、クライアントは、最近見られたビジュアル・コンテンツをキャッシングするクライアント・サイド・キャッシュを有することができる。標準ＭＲＵ（ｍｏｓｔ−ｒｅｃｅｎｔｌｙ−ｕｓｅｄ）キャッシュを、本発明の１つまたは複数の実施形態のキャッシング・ニーズに用いることができる。しかし、参照によって本明細書に組み込まれている「Ｅｆｆｉｃｉｅｎｔ  Ｄａｔａ  Ｃａｃｈｅ」という名称の特許文献４（Ａ１３）（依頼人参考文書４８９／１０ＮＰ）に開示されたキャッシュを、より洗練されたクライアント・サイド・キャッシングを可能にするために有益に用いることができる。どちらの場合でも、所与の量のクライアント・サイド・メモリを、キャッシュに振り向けることができる。したがって、最近見られたイメージに戻るナビゲーションは、このイメージ・データをサーバから再送信することを要求するのではなく、キャッシュ内に格納されたイメージ・データを使用することを可能にすることができる。
【００５１】
１つのクライアントが、複数のディスプレイを有することができる。所与のディスプレイは、物理ディスプレイまたは仮想ディスプレイとすることができる。所与のディスプレイを、ユーザ入力によって直接に駆動することができ、あるいは、コンピュータ１０２などのクライアント・コンピュータ内のソフトウェアによってプログラム的に駆動することができる。すべてのディスプレイのピクセル単位の総サイズは、固定するか、ある限度によって制限することができ、この限度は、ビジュアル・コンテンツに必要なクライアント・サイド・メモリの最小量を定義することができる。このクライアント・サイド・メモリは、キャッシュ・メモリに割り振られる格納スペースと別々であることが好ましい。
【００５２】
物理ディスプレイと仮想ディスプレイとの両方を用いる実施形態を、次で説明する。クライアント・デバイス内の物理ディスプレイは、ユーザに可視であり、ディジタル的に格納されたイメージのコレクションを通るズームするナビゲーションおよびパンするナビゲーションと、このコレクションの再配置とを可能にすることが好ましい。ユーザは、このコレクションから１つまたは複数のイメージを選択し、これらを、ユーザの選択したイメージを格納する場所として働くことができる「ホールディング・ペン（ｈｏｌｄｉｎｇ  ｐｅｎ）」に送ることもできる。ホールディング・ペンは、物理ディスプレイ上で、ある形でビジュアライズすることができる。あるイメージをホールディング・ペンに追加することは、そのイメージを、ユーザに不可視である場合がある仮想ディスプレイに置くことを引き起こすことが好ましい。イメージがホールディング・ペンに追加されるときに、ホールディング・ペンを表す仮想ディスプレイは、漸進的に充填される。
【００５３】
この仮想ディスプレイは、サイズ（ピクセルの個数で測定される）においてある限度まで増加することができ、この限度に達した後には、そのサイズは、この限度で固定されたままになることができる。仮想ディスプレイは、ホールディング・ペン内のイメージのすべてをフル分解度で表示するには小さすぎる場合がある。この場合に、仮想ディスプレイ内に常駐するイメージに必要なデータ格納スペースが、イメージを仮想ディスプレイにおさめる必要に応じて減らされることが好ましい。したがって、オフ・スクリーン・ビュー（仮想ディスプレイ）は、ユーザがビューイング可能なイメージをホールディング・ペンに置くときに、イメージを増補されることが好ましい。このオフ・スクリーン・ビューの増補は、ユーザに不可視に行うことができる。
【００５４】
ブラウジングの方法が、参照によって本明細書に組み込まれている「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｅｘａｃｔ  Ｒｅｎｄｅｒｉｎｇ  ｉｎ  ａ  Ｚｏｏｍｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」という名称の特許文献５（Ａ１０）（出願人参考文書４８９／２ＮＰ）に開示されている。情報をサーバからクライアントに転送する順序をクライアントのビューに基づいて決定する、その文書で開示された方法を、複数ディスプレイのシナリオのために変更することができる。４８９／２ＮＰ文書には、ビジュアル情報をタイルに分解することができ、各タイルが所与の分解度でスペース内の１領域をカバーすることが開示されている。低分解度タイルは、大きい物理的面積を占めることができ、高分解度タイルは、より小さい物理的面積を占めることができ、各タイル内の情報の量を、実質的に同一にすることができる。
【００５５】
４８９／２ＮＰ文書には、次で述べる判断基準を使用して、タイルを順序付ける方法が開示されている。１つの判断基準は、タイル分解度およびディスプレイ上のタイル位置とすることができる。タイルのソートは、辞書式とし、より低い分解度のタイルが、必ずより高い分解度のタイルに先行し、スペース的位置が、ある分解度内の順序の解決においてのみ役割を演ずるものとすることができる（辞書式ソートは、本明細書では一般化されたタプルの意味で参照され、たとえば、３つ組の集合｛（１，２，３），（０，３，１），（４，０，０），（０，０，１），（０，３，２）｝の辞書式ソートは、（０，０，１），（０，３，１），（０，３，２），（１，２，３），（４，０，０）になるはずである）。
【００５６】
代替案では、非辞書式ソート判断基準を用いることができる。たとえば、複数のプロパティの線形組合せを使用して、タイルをソートすることができる。そのようなプロパティに、分解度（対数単位で表現することができる）と、ディスプレイの中央からのタイルの距離とを含めることができるが、これらに限定はされない。本明細書では、用語「ソートキー」は、用語「ソート判断基準」に対応する。
【００５７】
この実施形態では、より低い分解度のタイルを、より高い分解度のタイルに優先して送信することができ、ディスプレイの中心に近いタイルを、周辺に近いタイルに優先して送信することができるが、これらのプロパティは、互いに対してトレード・オフすることができる。
【００５８】
些細な変更を実装して、上の方式を複数ディスプレイのシナリオに適合させることができることが好ましい。一実施形態では、ディスプレイ番号を、余分の辞書式ソート・キーとして追加することができる。したがって、第１ディスプレイは、いずれかのタイルが第２ディスプレイに関連して送信される前に、完全に（他のソート・キーにしたがって）洗練することができる。
【００５９】
もう１つの実施形態で、ディスプレイ番号を、線形組合せに含まれる追加変数とすることができ、これによって、ディスプレイ番号が、ある形で、分解度とディスプレイの中心への近接とに対してトレード・オフすることが可能になる。もう１つの実施形態で、ディスプレイ番号は、想像上の「共通スペース」内で共存することができ、分解度ソート・キーおよび中心への近接ソート・キーは、前のように使用されることができる。この「共通スペース」は、複数のディスプレイの間の想像上のスペース的関係を、これらが単一のより大きいディスプレイの領域であるかのように確立する、概念的なスペースである。この想像上のスペース的関係を定義することによって、複数のディスプレイ内でタイルに優先順位を与えるのに必要なすべてのパラメータが決定される。
【００６０】
図７は、本発明の１つまたは複数の実施形態による、１つの物理ディスプレイ（スクリーン）７０２および２つの仮想ディスプレイ７０４、７０６を含むことができる「共通スペース」７００のブロック図である。物理ディスプレイ７０２は、「共通スペース」７００の中心で通常のサイズであることが好ましい。仮想ディスプレイＶ１  ７０４およびＶ２  ７０６は、横にずれていることが好ましく、Ｖ２は、スケール・ダウンされることが好ましく、その結果、そのピクセルが、物理ディスプレイのピクセルの直線サイズの半分になることが好ましい。これは、純粋に辞書式のタイル・ソート順序を仮定すると、Ｖ１  ７０６内の各分解度レベルのコンテンツが、物理ディスプレイの対応する分解度の後にサーバからクライアントに送信されることが好ましい（Ｖ１は、物理ディスプレイ上のどのポイントよりもこのスペースの中心から遠いので）ことを意味する。Ｖ２  ７０６内の分解度は、物理ディスプレイ７０２とＶ１  ７０４との両方について、２倍微細な分解度のすべてのタイルが送信された後に送信することができる。「共通スペース」７００が、実際のより大きいディスプレイまたはメモリ・アドレス・スペースのどれにも対応する必要がないことに留意されたい。「共通スペース」７００は、単に、異なるディスプレイにまたがるタイル優先順位の間の関係を確立するための概念的な便宜である。
【００６１】
明らかに、多数のトレード・オフが可能である。これらのトレード・オフは、上の辞書式の例の場合と同様に、物理ディスプレイ７０２の洗練に最高優先順位を与えると同時に、物理ディスプレイに焦点を合わせるのに必要ではない過剰な時間および帯域幅のすべてを、仮想ディスプレイ７０４、７０６の洗練を継続するのに使用するという結果を有することができる。これらのトレード・オフは、その代わりに、物理ディスプレイに完全にではなく十分に焦点を合わせた後に仮想ディスプレイの洗練を開始することができる。物理ディスプレイ７０２に、十分に焦点を合わせた後に、物理ディスプレイおよび仮想ディスプレイ７０４、７０６は、一致して洗練するために帯域幅リソースを共有することができる。
【００６２】
コレクション内のイメージが、ＪＰＥＧ２０００イメージである場合には、所与のイメージのデータのすべてのサブ・セット自体が、ＪＰＥＧ２０００イメージ・ファイルを含むことができる。イメージのナビゲーション中に、クライアントは、サーバからイメージ・データを順次ダウンロードすることができ、これによって、そのイメージのクライアントのサブ・セットの品質を増補して、フル・イメージの、次第に正確な近似になるＪＰＥＧ２０００ファイルを作成する能力をクライアントに与えることができる。
【００６３】
クライアントが、イメージ内のすべての場所にナビゲートし終えた場合、またはイメージ・データのすべてが伝送され終えるのに十分に長い間フル分解度でイメージ全体を見た場合に、クライアントは、そのイメージのオリジナルＪＰＥＧ２０００ファイル全体を再作成することができる。クライアントが、大きいイメージの一部だけに接近してズームした場合に、そのクライアントは、それでも、ＪＰＥＧ２０００ファイルを作成することができるが、そのクライアントがズーム・インした場所を除くすべての場所で、詳細が欠けているはずである。ＪＰＥＧ２０００のこのプロパティを、他の複数分解度ドキュメントタイプにも拡張することができる。クライアントが、一度も所与の分解度を超えてズーム・インしなかった場合に、その所与の分解度を超える、そのイメージに関する情報は、使用可能ではないはずである。この場合に、クライアントによって作成し、かつ／または格納できるＪＰＥＧ２０００イメージのバージョンは、そのイメージのオリジナル・バージョンより低い全体的な分解度を有する可能性がある。
【００６４】
上で説明した仮想ディスプレイ・シナリオの１つの応用例は、カメラからのイメージの長いダウンロード時間の問題を改善することである。１つまたは複数の実施形態で、カメラまたはカメラ対応モバイル・デバイスは、サーバとして動作することができ、ＰＣは、クライアントとして動作することができる。
【００６５】
１つまたは複数の実施形態で、カメラとＰＣとが接続されたときに、すべてのイメージのＰＣへの時間がかかるバッチ・ダウンロードを開始するのではなく、ＰＣは、カメラ側で使用可能なイメージの完全なセットの最初から最後までを素速くブラウズすることができる。ナビゲーション中に、イメージのグループを、選択し、ホールディング・ペンに置くことができる。カメラ上のすべてのイメージが、その全体をＰＣにダウンロードされなければならない場合に、その転送を達成するのに必要な総時間が、従来技術と同一のままになることに留意されたい。しかし、サムネイル伝送という密接に関連する問題と同様に、この方法は、イメージの普通のシリアル・ダウンロードを上回る複数の利点をもたらすことができる。この方法は、以下に記載され、議論される。本発明は、以下で記載される機能に限定されない。
【００６６】
カメラまたは他のモバイル・デバイス上のフル・イメージ・セットのイメージ・ダウンロードおよびユーザ・ナビゲーションは、その帯域幅の使用において同時かつ協調的とすることができる（実際には、ナビゲーションは、単に、複数のタイルがサーバからクライアントに送信される順序に影響する）。
【００６７】
ＰＣのディスプレイが、モバイル・デバイスのディスプレイより大きい場合に、どのイメージをダウンロードするか、どのイメージをモバイル・デバイスに残すか、およびどのイメージを破棄するかに関してのよりよい選択を、そのような判断の前にセット全体をダウンロードするという遅延をこうむらずに、行うことができる。
【００６８】
ＰＣ上およびモバイル・デバイス上（このモバイル・デバイスもディスプレイを有すると仮定して）でブラウズするという体験は、それぞれ、単純であり、体験的に類似し、これに関してユーザビリティを高めることになる。
【００６９】
ホールディング・ペン内のイメージについてより低い分解度のバージョンが望まれる場合には、仮想ディスプレイ上のアイテムのサイズを小さくすることによって、ダウンロードされるデータの詳細を適切に制限することが、好ましく単純である。この形でのイメージ・サイズの縮小が、より高い倍率で、すなわち、破棄される分解度レベルごとに４の因数で、ダウンロードを高速化すると同時に、ＰＣ上でより少ないスペースを必要とすることに留意されたい。
【００７０】
望み通りに、仮想ディスプレイのサイズを制限すること、およびその中のイメージの個数を減らすことによって、ＰＣ上で写真に割り振られるメモリの量を制限することができる。また、異なる制約を、異なる写真に課すことができ、したがって、スペースを、新しさ、または１つもしくは複数の他の判断基準に基づいて割り振ることができる。
【００７１】
１つまたは複数の実施形態で、接続性の時期尚早な喪失は、いくつかのイメージのダウンロード動作からの完全な除去ではなく、ダウンロードされるイメージの一部またはすべてについての品質の劣化をもたらす（あるイメージのデータ・ボリュームの大部分が、非常に高い分解度の詳細であり、そのうちの一部はカメラ・ノイズであり、そのすべては、通常のビューイングにとって、より粗いイメージ構造よりクリティカル（重要）ではないことに留意されたい。したがって、イメージのすべてのより低い分解度のイメージ・データが完全に伝送され終えた後に、すべてのイメージの高分解度イメージデータの伝送を行うことが好ましい）。たとえば、サムネイル詳細を超える第２セットへの詳細化に進む前に、複数の写真のサブセットについての完全なダウンロードを優先する、イメージ・データのハイブリッド優先順位付けも、可能である。
【００７２】
１つまたは複数の実施形態で、本明細書で開示される１つまたは複数の方法は、間欠的な接続性に対して弾力的である。というのは、すべてのＪＰＥＧ２０００オブジェクトが、いつでも追加情報を増補され続けることができ、その間、既に受信されているどのようなビジュアル・データをもブラウズし、そのビジュアル・データと対話することが可能になるからである。
【００７３】
ａ）物理ディスプレイ上のアイテムのサイズを低減すること、ｂ）ＰＣ上で写真に割り振られるメモリの量を制限することへの上の言及に関して、通常のホーム・ユーザが、イメージのいずれをも（そのようなイメージの最初の選別の後に）破棄することを望まない場合があることに留意されたい。そのようなユーザが、彼らのＰＣに十分なストレージを追加することを継続する場合には、当然ながら、どのコンテンツも破棄することは避けなければならない。ストレージの追加自体は、仮想ディスプレイの最大サイズを拡大させることができる。したがって、上述した（ａ）および（ｂ）の機能は、十分に大きい仮想ディスプレイサイズを作成できる場合（すなわち、十分な量の使用可能なクライアント・サイド・ストレージがある場合）には、省略することができる。
【００７４】
「ホールディング・ペン」イメージがダウンロードを終えた時点は、クライアント・サイドのユーザに不明瞭である可能性があるので、完了に関する、ある形のビジュアル表示をすることが望ましい。例として、チェック・マークまたは緑のドットを、イメージがダウンロードを終えたときにそのイメージの隣に表示することができる。「ホールディング・ペン」内のすべてのイメージに緑のドットが含まれるときに、接続を、損失なしで遮断することができる。
【００７５】
クライアント・コンピュータ（ＰＣとすることができる）を使用して、カメラがそのイメージの一部を破棄することを要求することなどの操作は、出願人参考文書４８９／１５Ｐで企図されたものを超える、クライアントからサーバへのある追加通信からの利点を得ることができる。１つまたは複数の他の実施形態では、クライアント・サイドは、サーバ・サイド（ディジタル・カメラまたは携帯電話機などのモバイル・デバイスとすることができる）に、それ自体のクライアント・サイドを起動し、ＰＣからコンテンツを受け取るためにそれ自体のビューを作成するように指示することもできる。
【００７６】
これは、ワールド・ワイド・ウェブのコンテクストで開発された「プッシュ」方法に似ている。ＰＣは、ＰＣ上にコンテンツについてのカメラ／携帯電話機の「ビュー」をレンダリングすることができ、したがって（たとえば）、ＰＣからそのカメラにアップロードされたイメージについて、上で説明した緑の完了ドットを表示することができる。図５の相互の矢印のそれぞれを、「プッシュ」配置または「プル」配置のいずれかを使用して実装することができる。具体的に言うと、ビューポート・セッティング、配置、および他のナビゲーション・セッティングを、クライアント・サイド５１０（「プル」）またはサーバ・サイド５２０（「プッシュ」）のいずれかから制御することができる。あるデバイスと対話するユーザを、別のデバイスに相互に接続することができ、これによって、「プル」と「プッシュ」との両方が同時に発生することが可能になる。
【００７７】
これから、図５に示された潜在的なクライアント−サーバ接続を列挙し、これらをどのように使用できるかと、これらがなぜ有用であるかとを、簡単に説明する。
【００７８】
カメラまたはカメラ対応携帯電話機とすることができるモバイル・デバイス５１２は、コンテンツをユーザのＰＣ（パーソナル・コンピュータ）１０２に供給することができる。この接続は、通常、ＵＳＢケーブルまたはＢｌｕｅｔｏｏｔｈアドホック無線ネットワークを介して行うことができる。この利点は、上で説明した。
【００７９】
ＰＣ  １０２は、コンテンツをモバイル・デバイス５１２に戻して供給することができる。これは、とりわけ次の応用例に有用になり得る。
【００８０】
「財布にある写真（Ｗａｌｌｅｔ  ｐｈｏｔｏｓ）」を、これらの写真がモバイル・デバイスによって撮影されたのではない場合であっても、ＰＣからカメラまたはモバイル・デバイスに送信することができる。
【００８１】
ＰＣを、ディスプレイなしのホーム・アプライアンス（家庭用器具）とすることができ、モバイル・デバイスを、アーカイブされたビジュアル材料への主ビジュアル・インターフェースとして使用することができる。このコンテクストでのモバイル・デバイスは、ディジタル・カメラ、カメラ対応セル電話機、ＰＤＡ、またはディスプレイを有するモバイル・タブレットＰＣとすることができる。
【００８２】
第１モバイル・デバイスは、もう１つのモバイル・デバイス（「ゲスト」）に直接に接続されるか、その「ゲスト」とのアドホック・ネットワークを形成することができる。この２つのモバイル・デバイスは、互いの写真をビューしたり、共有したりすることができる。
【００８３】
ＰＣは、イメージを（プッシュを介して）リモート・サーバにアップロードすることができる。サーバは、写真共有サービスとすることができ、したがって、物理ディスプレイ上のアイテムのサイズの縮小およびＰＣ上で写真に割り振られるメモリの量の制限という上のプロセスで想定された種類のスペース制約を実装することができる。次に、リモート・サーバは、そのコレクションを１つまたは複数の追加のＰＣに供給することができる。通常、これは、ブロードバンド接続になるはずである。しかし、他の接続タイプを用いることができる。
【００８４】
リモート・サーバは、コレクションをモバイル・デバイス・ユーザに供給することもできる。通常、これは、モバイル無線広域ネットワークになるはずである。
【００８５】
モバイル・デバイスは、そのイメージを「プッシュ」を介して（すなわち、そのモバイル・デバイスの制御の下で）リモート・サーバにアップロードすることができる。１つまたは複数の実施形態で、このアップロードを自動的とすることができ、これによって、そのモバイル・デバイスが、コンテンツをサーバに自由に転送すること、および転送が完了したときにそれらのコンテンツをローカルに削除することによって、その見かけの格納スペースを透過的に拡張できるようになる。
【００８６】
上の最後の２つのアイテムに関連して、モバイル・デバイス５１２上でのローカル・キャッシングは、モバイル・デバイス５１２が、ローカル・ストレージが限られている場合であっても、ローカル・ストレージだけを使用して非常に大きいサムネイル・コレクションをブラウズすることをサポートすることを可能にすることができることに留意されたい。最近にビューされたイメージの詳細へのズーム・インも、関連情報がまだモバイル・デバイスのローカル・キャッシュにある場合に、可能とすることができる。
【００８７】
その詳細がリモート・サーバでのみ使用可能なイメージのズーム・インは、ぼけた詳細でないイメージになる可能性がある。しかし、モバイル・デバイスが、リモート・サーバ１０８を含むネットワーク上にある場合には、次第に詳細なイメージ・データがモバイル・デバイス５１２にダウンロードされるにつれて、ぼけたイメージを順次より洗練されたものにすることができる。モバイル・デバイスが、追加イメージ・データを供給できるネットワークに接続されていない場合には、イメージは、最初のサムネイル・イメージで使用可能なものより高い詳細な状態で提示されることなない。
【００８８】
低分解度イメージのモンタージュ
本発明の１つまたは複数の実施形態では、事前計算されるステップおよび対話レンダリング・アルゴリズムを定義することができ、これらは、さまざまな応用例のために分解度の制御可能なレベルでの選択されたイメージおよび／またはイメージ領域のダウンロードを実装するさまざまな構成を使用することができる。これらの応用例の多く（関心領域に焦点を合わせること、仮想ブックなど）は、イメージの「ユニバース（ｕｎｉｖｅｒｓｅ）」とのユーザ対話を含むことになる。
【００８９】
したがって、１つまたは複数の実施形態で、事前計算の開始ポイントは、ファイル名、ＵＲＬ、または個々のイメージを参照する他のストリングのリストとすることができる。ユーザが、同時にこれらのイメージのすべてを見るために極端にズーム・アウトする場合、（そのビューには）非常に多数のイメージ・ファイルがある可能性があるので、クライアントまたはサーバのいずれかが、イメージ・ファイルのすべてをトラバースすることは、非実用的である。たとえば、個々のイメージがスクリーン上の２×２＝４ピクセルを占める状態では、数万個または数十万個のイメージがビュー内にある場合ことになる。これらの複数のイメージが、効率的な低分解度アクセスをサポートする場合であっても、１０００００個のファイルをオープンし、クローズすることだけでも、大きいオーバーヘッドを伴い、対話的なタイム・スケールで達成するには非実用的である可能性がある。したがって、本明細書で「モンタージュ」と称する、これらのイメージの低分解度バージョンのキャッシングされた表現を使用することが望ましい場合がある。
【００９０】
１つまたは複数の実施形態で、モンタージュは、複数のイメージのすべてについてのモザイクまたはコラージュとすることができ、図８に示されているように、低分解度でレンダリングされ、四辺形領域に効率的に詰め込まれる。補助メタデータは、モンタージュ・イメージ・ファイル内に埋め込むことができ、あるいは別々に格納することができ、特定のイメージ・ファイルでモンタージュ・イメージ上の四辺形領域を識別することができる。
【００９１】
一実施形態で、モンタージュ・イメージ自体を、ズーミング・インターフェースおよびパンニング・インターフェースを使用してナビゲートすることができる。ユーザが、極端にズーム・インして、モンタージュ内の１つまたは複数のイメージのモンタージュ・バージョンで使用可能な分解度を使い果たす場合、そのイメージ用のメタデータは、クライアントに１つまたは複数の個々のイメージ・ファイルを参照させることができ、クライアントは、これらのイメージ・ファイルからの像（ｉｍａｇｅｒｙ）を使用して、より高い分解度でそのイメージをレンダリングすることができる。
【００９２】
１つまたは複数の実施形態で、ピクセル単位のモンタージュの総サイズは、本明細書でイメージの「セット」と称する場合がある少数のイメージだけが同時に可視である段階までズーム・インしたときその分解度が丁度使い果たされるように選択することができる。したがって、この少数の数より多数のイメージへ高分解度でアクセスすることは、どの任意の時点においても不要であることが好ましい。後続のズーム中およびパン中に、イメージ・ストリームは、任意の時点でオープンされている高分解度イメージの個数を制限するために、必要に応じてオープンし、クローズすることができる。
【００９３】
高分解度の多数のイメージをナビゲーションする上述の手法は、制約を受ける。モンタージュ・レイアウトは、詰込み（ｐａｃｋｉｎｇ）効率のために設計されることが好ましいが、ユーザが、オン・スクリーンでのイメージの異なる配置（ａｒｒａｎｇｅｍｅｎｔ）を求める場合がある。さらに、ユーザが、スクリーン上のイメージのレイアウトを動的に再配置できることを求める場合がある。
【００９４】
１つまたは複数の実施形態で、そのような再配置を可能にするために、「テクスチャ・マッピング」として知られているグラフィックス・レンダリング技法を利用することができ、このテクスチャ・マッピングは、ソフトウェアで実装することができるが、一般に、現代のパーソナル・コンピュータではハードウェア・アクセラレートされる。テクスチャ・マッピングは、「テクスチャ」またはソース・イメージの一部をディスプレイに描き、任意選択としてイメージを再スケーリングし、回転し、かつ／または３次元透視変換を実行することを可能にする。他のハードウェア・アクセラレーテッド変換が、しばしばサポートされ、これには、色訂正または色変更、完全な透明性または部分的な透明性、照明、オクルージョン、および座標再マッピングが含まれる。モンタージュの低分解度バージョンを、「テクスチャ」として使用することができ、その結果、ユーザがズーム・アウトしたときに、モンタージュ内の個々のイメージを、図９に示されているように、任意の方法で動的に再マッピングすることができる。複数のテクスチャ・マップを使用することができ、その場合に、各テクスチャ・マップを、イメージのサブセットを含むモンタージュとすることができる。配置の間の遷移は、アニメーション付きとしても、そうしなくてもよい。再配置を、ユーザがズーム・インしている間に行うことができるが、再配置が、前にオフ・スクリーンであったイメージの新しいズーム・インされたビューをもたらす場合があるので、新しいイメージが、当初は非常にぼける場合があることに留意されたい。
【００９５】
もう１つの実施形態では、テクスチャ・マッピング技法を、イメージの動的再配置中にのみ使用することができる。イメージ配置が静的であるときに、ソフトウェア合成を使用して、オン・スクリーンのより高精細度の再配置されたモンタージュのすべてまたは一部を組み立てることができる。このソフトウェア合成方法は、この開示において前に詳細に知られた特許文献５（Ａ１０）（出願人参考文書４８９／２ＮＰ）に記載の複数分解度レンダリング技法との組合せにおいて、特に有用である。この方法は、事実上、オリジナル・モンタージュの像（ｉｍａｇｅｒｙ）を再配置することによって新しい「ディスプレイ・モンタージュ」を作成することができる。
【００９６】
テクスチャ・マッピングは、高分解度イメージを表示するのにも使用することができるが、この場合に、複数のイメージのモンタージュを含むテクスチャを使用するのではなく、個々のイメージのタイルを含むテクスチャが、使用される。この技法も、特許文献５（Ａ１０）（出願人参考文書４８９／２ＮＰ）に記載されている。
【００９７】
１つまたは複数の実施形態で、モンタージュ再配置を使用して、テクスチャ・マッピングに頼らないイメージの再編成をサポートすることができる。
【００９８】
１つまたは複数の他の実施形態で、テクスチャ・マッピング、ソフトウェア・レンダリング、またはこの２つの任意の組合せを使用して、１次元平面ではなく３次元で、像（ｉｍａｇｅｒｙ）をレンダリングすることができる。３次元での動的再配置も、可能である。３次元応用例に、仮想ギャラリまたは他のウォーク・スルー環境ならびに仮想ブックを含めることができる。仮想ブックは、本明細書で説明され、さらに、参照によって本明細書に組み込まれている特許文献６（Ａ７）に記載されている。
【００９９】
図１０は、本発明の１つまたは複数の実施形態と共に使用されるように適合させることができるコンピューティング・システム１０００のブロック図である。１つまたは複数の実施形態で、中央処理装置（ＣＰＵ）１００２を、バス１００４に結合することができる。さらに、バス１００４を、ランダム・アクセス・メモリ（ＲＡＭ）１００６、読取専用メモリ（ＲＯＭ）１００８、入出力（Ｉ／Ｏ）アダプタ１０１０、通信アダプタ１０２２、ユーザ・インターフェース・アダプタ１００６、およびディスプレイ・アダプタ１０１８に結合することができる。
【０１００】
１つまたは複数の実施形態で、ＲＡＭ  １００６および／またはＲＯＭ  １００８は、ユーザ・データ、システム・データ、および／またはプログラムを保持することができる。Ｉ／Ｏアダプタ１０１０は、ハード・ドライブ１０１２、ＣＤ−ＲＯＭ（図示せず）または他のマス・ストレージ・デバイスなどの格納デバイスをコンピューティング・システム１０００に接続することができる。通信アダプタ１０２２は、コンピューティング・システム１０００をローカル・エリア・ネットワーク、広域ネットワーク、またはインターネット・ネットワーク１０２４に結合することができる。ユーザ・インターフェース・アダプタ１０１６は、キー・ボード１０２６および／またはポインティング・デバイス１０１４などのユーザ入力デバイスをコンピューティング・システム１０００に結合することができる。さらに、ディスプレイ・アダプタ１０１８を、ＣＰＵ  １００２によって駆動して、ディスプレイ・デバイス１０２０上の表示を制御することができる。ＣＰＵ  １００２は、任意の汎用ＣＰＵとすることができる。これまでに説明したおよび／または本文書でこの後に説明する方法および装置を、標準ディジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェア・プログラムを実行するように動作するすべての既知のプロセッサ、プログラマブル・ディジタル・デバイスまたはプログラマブル・ディジタル・システム、プログラマブル・アレイ・ロジック・デバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の１つまたは複数の実施形態は、適切な格納媒体での格納および処理ユニットによる実行のためにソフトウェア・プログラムで実施することもできる。
【０１０１】
本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。
【図面の簡単な説明】
【０１０２】
【図１】本発明の１つまたは複数の実施形態による複数のコンピュータ間でイメージ・データの通信を可能にするために接続することのできるシステムを示すブロック図である。
【図２】本発明の１つまたは複数の実施形態による、その中に少なくとも２つの関心領域を有するイメージを示すブロック図である。
【図３】本発明の１つまたは複数の実施形態による、本明細書で開示されるテクノロジの諸態様を用いる「仮想ブック」を示すブロック図である。
【図４】本発明の１つまたは複数の実施形態による図３の仮想ブックの３次元バージョンを示す図である。
【図５】本発明の１つまたは複数の実施形態による、１つまたは複数のポータブル・デバイスと１つまたは複数の他のコンピュータとの間のイメージ・データ通信を管理するシステムを示すブロック図である。
【図６Ａ】既存の手法を用いる不完全なイメージ・データ・ダウンロードの結果を示す図である。
【図６Ｂ】本発明の１つまたは複数の実施形態による不完全なイメージ・データ・ダウンロードの結果を示す図である。
【図７】本発明の１つまたは複数の実施形態による、１つの物理ディスプレイ（スクリーン）および２つの仮想ディスプレイを含むことができる「共通スペース」を示すブロック図である。
【図８】本発明の１つまたは複数の実施形態に従って１つのモンタージュに詰め込まれた１０００枚を超えるイメージのコレクション（さまざまなサイズのディジタル化された地図のコレクション）を示す図である。
【図９】本発明の１つまたは複数の実施形態にしたがってランダム構成に動的に再配置された約３０００枚のイメージのスナップショットを示す図である。
【図１０】本発明の１つまたは複数の実施形態と共に使用されるように適合させることができるコンピュータ・システムを示すブロック図である。
【０１０３】
アペンディックス（付録）
Ａ１
（表題）ズーミング・ユーザ・インターフェースにおける正確なレンダリングのためのシステムおよび方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＥＸＡＣＴ  ＲＥＮＤＥＲＩＮＧ  ＩＮ  Ａ  ＺＯＯＭＩＮＧ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ）
（発明者）ＢＬＡＩＳＥ  ＨＩＬＡＲＹ  ＡＧＵＥＲＡ  Ｙ  ＡＲＣＡＳ
【０１０４】
（発明の分野）
本発明は、全般的にはコンピュータのグラフィカル・ズーミング・ユーザ・インターフェース（ＺＵＩ：ｚｏｏｍｉｎｇ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）に関する。より具体的には、本発明は、計算的に効率的である（よいユーザ反応性および高いフレーム・レートをもたらす）こと、ならびにベクトル・ドローイング、テキスト、および他の非写真コンテンツが最終的に再サンプリングなしで描かれる（再サンプリングは、通常はイメージ品質の劣化につながることになる）という意味で正確であることの両方である形で、ズーム可能ビジュアル・コンテンツをプログレッシブにレンダリングするシステムおよび方法である。
【０１０５】
（発明の背景）
ほとんどの現在のグラフィカル・コンピュータ・ユーザ・インターフェース（ＧＵＩ）は、固定されたスペース的スケールのビジュアル・コンポーネントを使用して設計されている。しかし、コンピュータ・グラフィックスという分野の誕生から、ビジュアル・コンポーネントがディスプレイ上で固定されたスペース的スケールを有するのではなく、ビジュアル・コンポーネントをズーム・インまたはズーム・アウトできる形で、ビジュアル・コンポーネントを表現でき、操作できることが認められた。ズーム可能コンポーネントの望ましさは、多くの応用領域、たとえば、地図のビューイング、新聞などの大きい異種テキスト・レイアウトのブラウジング、ディジタル写真のアルバムのビューイング、および大きいデータ・セットのビジュアライゼーションを用いる作業などで明白である。スプレッドシートおよびレポートなどの普通のドキュメントを見るときであっても、しばしば、ドキュメントの概観を見、次に、関心を持たれた領域にズーム・インできることが有用である。Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄ（登録商標）および他のＯｆｆｉｃｅ（登録商標）プロダクト（表示メニューの下のズーム）、Ａｄｏｂｅ（登録商標）Ｐｈｏｔｏｓｈｏｐ（登録商標）、Ａｄｏｂｅ（登録商標）Ａｃｒｏｂａｔ（登録商標）、ＱｕａｒｋＸＰｒｅｓｓ（登録商標）など、多くの現代のコンピュータ・アプリケーションに、ズーム可能コンポーネントが含まれる。ほとんどの場合に、これらのアプリケーションは、ドキュメントのズーム・インおよびズーム・アウトを可能にするが、必ずしもアプリケーション自体のビジュアル・コンポーネントのズーム・インおよびズーム・アウトを可能にはしない。さらに、ズームは、通常、ソフトウェアとのユーザの対話の周辺態様であり、ズーム・セッティングは、時たま変更されるのみである。ドキュメント上での連続的なパンは、標準的である（すなわち、スクロール・バーまたはカーソルを使用して、見られているドキュメントを左、右、上、または下に平行移動させること）が、連続的にズームする能力は、ほとんど必ず存在しない。より一般化されたズーミング・フレームワークでは、すべての種類のビジュアル・コンテンツをズームすることができ、ズームは、パンのようにユーザの体験の一部になるはずである。この線に沿ったアイデアは、１９６０年代ほど早期のものさえ含む多数の映画の未来的なコンピュータ・ユーザ・インターフェースとして現れ１、最近の映画は、その傾向を継続している２。複数の連続的ズーミング・インターフェースが、１９７０年代から現在までに考えられ、かつ／または開発されてきた３。１９９１年に、これらのアイデアのいくつかが、ニューヨーク大学のＫｅｎｎｅｔｈ  ＰｅｒｌｉｎおよびＪａｃｏｂ  Ｓｃｈｗａｒｔｚによる米国特許第５３４１４６６号（Ｆｒａｃｔａｌ  Ｃｏｍｐｕｔｅｒ  Ｕｓｅｒ  Ｃｅｎｔｅｒｆａｃｅ  ｗｉｔｈ  Ｚｏｏｍｉｎｇ  Ｃａｐａｂｉｌｉｔｙ）で正式に承認された。Ｐｅｒｌｉｎおよび同僚によって開発されたプロトタイプ・ズーミング・ユーザ・インターフェースすなわちＰａｄとその後継者であるＰａｄ＋＋は、その後にある開発を受けた４。しかし、本発明者の知る限り、フルＺＵ��（ズーミング・ユーザ・インターフェース）に基づく主要なアプリケーションは、複数の技術的不足に部分的に起因して、まだ大量市場には現れておらず、これらの技術的不足のうちの１つが、本発明で対処される。  
＜１＞Ｓｔａｎｌｅｙ  Ｋｕｂｒｉｃｋ’ｓ  ２００１：  Ａ  Ｓｐａｃｅ  Ｏｄｙｓｓｅｙ，  Ｔｕｒｎｅｒ  Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｃｏｍｐａｎｙ，  ａ  Ｔｉｍｅ  Ｗａｒｎｅｒ  ｃｏｍｐａｎｙ  （１９６８）  
＜２＞Ｓｔｅｖｅｎ  Ｓｐｉｅｌｂｅｒｇ’ｓ  Ｍｉｎｏｒｉｔｙ  Ｒｅｐｏｒｔ，  ２０ｔｈ  Ｃｅｎｔｕｒｙ  Ｆｏｘ  ａｎｄ  Ｄｒｅａｍｗｏｒｋｓ  Ｐｉｃｔｕｒｅｓ  （２００２）  
＜３＞最初の出現は、Ｗ．Ｃ．  Ｄｏｎｅｌｓｏｎ，  Ｓｐａｔｉａｌ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ＳＩＧＧＲＡＰＨ  （１９７８），  ＡＣＭ  Ｐｒｅｓｓ，  ｐ．  ２０３−９である。最近の例は、Ｚａｎｖａｓ．ｃｏｍであり、これは、２００２年の夏に立ち上げられた。  
＜４＞Ｐｅｒｌｉｎは、ｈｔｔｐ：／／ｍｒｌ．ｎｙｕ．ｅｄｕ／ｐｒｏｊｅｃｔｓ／ｚｕｉ／でその後の開発を記述している。
【０１０６】
（発明の概要）
本発明は、新たに開発されたズーミング・ユーザ・インターフェース・フレームワーク（以下では、その作業名であるＶｏｓｓによって参照する）がそれに基づく新規のアイデアを実施する。Ｖｏｓｓは、そのソフトウェア・アーキテクチャにおける複数の革新に起因して、それに先行するものより強力であり、より反応が速く、より視覚的に説得力があり、より一般的なユーティリティである。本発明は、具体的には、オブジェクト・タイリングおよび非写真コンテンツの演出（ｒｅｎｄｉｔｉｏｎ）に対するＶｏｓｓの手法における革新のうちの１つに関する。
【０１０７】
複数分解度ビジュアル・オブジェクトは、通常、異なる分解度または詳細レベルのサンプリングされたイメージの離散的セット（「イメージ・ピラミッド」）からレンダリングされる。３Ｄゲーミングなど、連続的ズームが使用されるいくつかの技術的コンテクストにおいて、所望の詳細レベルを一括する２つの隣接する詳細レベルが、各フレームをレンダリングするために一緒にブレンディングされる。というのは、通常、所望の詳細レベルが、正確に、離散的セットによって表される詳細レベルの１つではないからである。そのような技法を、時々トライ・リニア・フィルタリングまたはミップマッピングと称する。結果の補間された演出は、通常、写真コンテンツについては満足できるが、テキスト、グラフ、ドローイング、および手短に言えばユーザが外部のゲーミング・アプリケーションまたはマルチメディア・アプリケーションと対話するのに用いるビジュアル・コンテンツのほとんどなど、幾何プリミティブに関して定義されるコンテンツについては満足できるものではない。これは、詳細レベルのブレンディングが、必ず、ぼけ効果およびエイリアシング効果を導入するからである。この問題に対する理想的な解決策は、先在する分解度の離散的セットに頼らずに、各フレームのビューを正確にリアルタイムでレンダリングすることであるはずである。原則として、これは、各フレームの完全な演出を可能にするけれども、実用的でない場合がある。というのは、しばしば、あまりにも長い時間が、最初から各フレームを高品質でレンダリングするのに必要とされるからである。したがって、フレーム・レートが大幅に低下するので、この方法は、対話型アプリケーションにとって魅力のないものになる。
【０１０８】
本発明は、ハイブリッド戦略を用い、このハイブリッド戦略では、離散個数の詳細レベルを有するイメージ・ピラミッド・ベースの手法が、通常は高速のズームおよびパンの間に使用されるが、ビューが十分に安定しているときには、「正確なビュー」が、複数のフレームにまたがってレンダリングされ、ブレンド・インされる。人間の視覚系は、まだ動いている間にはビジュアル・コンテンツの微細な詳細に鈍感なので、このハイブリッド戦略は、計算的な負荷をほんの少しのかけるだけで、連続的な「完全なレンダリング」の錯覚を生み出すことができる。
【０１０９】
本発明の目的は、テキスト、プロット、チャート、ドローイング、地図、およびすべての他のベクトル・ベース・コンテンツ（ベクトリアル・コンテンツ（ｖｅｃｔｏｒｉａｌ  ｃｏｎｔｅｎｔ）とも称する）を、普通のＧＵＩでの可能な最高品質演出に対する相対的な最終的なイメージ品質の劣化なしに、ズーミング・ユーザ・インターフェース内でレンダリングできるようにすることである。
【０１１０】
本発明のもう１つの目的は、任意に大きいまたは複雑なベクトル・ベース・コンテンツをズーミング・ユーザ・インターフェース内で見ることを可能にすることである。
【０１１１】
本発明のもう１つの目的は、任意に複雑なベクトル・ベース・ビジュアル・コンテンツのほぼ即座のビューイングを、このコンテンツが最終的に非常に大量のデータを使用して表される場合であっても、また、これらのデータがリモート位置で格納され、低帯域幅ネットワークを介して共有される場合であっても、可能にすることである。
【０１１２】
本発明のもう１つの目的は、コンテンツの明快な、ぼけていないビューを維持し、対話的フレーム・レートを維持しながら、ユーザが、ベクトリアル・コンテンツに任意にズーム・インできるようにすることである。
【０１１３】
本発明のもう１つの目的は、コンテンツの全体的外見の保存と対話的フレーム・レートの維持との両方の過程で、複雑なベクトリアル・コンテンツの概観を得るために、ユーザが任意に極端にズーム・アウトできるようにすることである。
【０１１４】
本発明のもう１つの目的は、対話期間中の複数の詳細レベルまたは複数の演出品質の間の遷移についてのユーザによる知覚を最小にすることである。
【０１１５】
本発明のもう１つの目的は、ベクトリアル・コンテンツのある部分の正確な演出が、これらをレンダリングするのに必要な情報が入手不能であること、または正確な演出がまだ進行中であることのいずれかのゆえにまだ行うことができないときに、ぼけによるイメージ品質のグレースフル・デグラデーションを可能にすることである。
【０１１６】
本発明のもう１つの目的は、ベクトリアル・コンテンツのある部分の正確な演出が初めて使用可能になるときに、シャープニングによってイメージ品質を優雅に高めることである。
【０１１７】
本発明の上記および他の目的は、次の明細書の再検討から当業者に明白になるであろう。
【０１１８】
（従来技術：複数分解度像（ｉｍａｇｅｒｙ）およびズーミング・ユーザ・インターフェース）  
技術的視点から、このズーミング・ユーザ・インターフェースは、ビジュアル・コンピューティングの基礎となる通常の概念の一般化であり、古典的なユーザ／コンピュータ／ドキュメント対話モデルに固有の複数の限界を克服することを可能にする。そのような限界の１つが、コンピュータ・アプリケーションから「開く」ことができるドキュメントのサイズに関する限界である。というのは、伝統的に、ビューイングまたは編集を開始できるようになる前に、そのようなドキュメントの全体を「ロード」しなければならないからである。特定のコンピュータが使用可能な短期メモリ（通常はＲＡＭ）の量が多いときであっても、この限界が感じられる。というのは、ドキュメント情報のすべてを、開く間に、あるリポジトリから（たとえば、ハードディスクからまたはネットワークを介して）短期メモリに転送しなければならず、したがって、限られた帯域幅が、「開く」コマンドの発行と、ビューイングまたは編集を開始できるまでの間の遅延を、受け入れがたく長くする可能性があるからである。
【０１１９】
複数の静止ディジタル・イメージは、この問題のよい例と、コンピュータ・サイエンス・コミュニティがこの問題の克服においてビジュアル・コンピューティングの標準的なモデルを超えてどのように動いてきたかの例示と、の両方を提供する。下の表１に、最小の有用なイメージ（時々アイコンとして使用される、サムネイル）から現在一般に使用されている最大の有用なイメージまでの、さまざまな異なるイメージ・タイプの通常の圧縮後のサイズについての異なる帯域幅でのダウンロード時間を示す。文字にアンダーランが付けられたボックスは、対話ブラウジングが特定の接続速度で難しいか不可能であるイメージ・サイズを示す。
【０１２０】
【表１】
2008517540.tif 000003
【０１２１】
＊これらの数字が、生のイメージ・データではなく中間品質の現実的な圧縮後のサイズを表すことに留意されたい。具体的には、４０ＭＢまでのサイズについては１ビット／ピクセルを、一般により圧縮可能であるより大きいイメージについては０．２５ビット／ピクセルを仮定する。  
＊＊ローカル無線ネットワークは、かなりより高速である場合がある。この数字は、無線ＰＤＡにしばしば使用されるタイプの無線広域ネットワークを指す。
【０１２２】
現在ウェブ上にあるほとんどすべてのイメージが、１００Ｋ（０．１ＭＢ）未満である。というのは、ほとんどのユーザが、ＤＳＬまたはより低帯域幅でウェブに接続され、より大きいイメージが、ダウンロードに時間がかかりすぎるからである。ローカル・セッティングであっても、通常のユーザのハード・ドライブ上で、５００Ｋ（０．５ＭＢ）を超えるイメージに出会うことは、普通ではない。より大きい（すなわち、より詳細な）イメージがしばしば有用であることは、平均的な家庭内の絵本、地図帳、地図、新聞、およびアートワークに、非常に多数のイメージが含まれ、これらは、フル分解度でディジタル化された場合にサイズにおいてすぐに数十メガ・バイトになることになるという事実によって立証される。
【０１２３】
数年前には、大きなイメージは存在しなかったことは、主に、リポジトリ内の格納スペースの不足に起因したが、ハード・ドライブ・テクノロジの進歩、ＣＤＲＯＭを焼くことのたやすさ、および大型のネットワーク化されたサーバの高まる普及は、リポジトリ・スペースを、もはや制限要因ではなくした。主要なボトルネックは、現在、帯域幅であり、これに、短期メモリ（すなわち、ＲＡＭ）スペースが続く。問題は、実際には、上の表によって暗示されるものよりはるかに悪い。というのは、ほとんどのコンテクストで、ユーザは、単一のイメージを見ることだけに関心を持つのではなく、イメージのコレクション全体を見ることに関心を持ち、イメージが、ある適度なサイズより大きい場合には、あるイメージが別のイメージの後にダウンロードされる時間を待つことは、非実用的になる。
【０１２４】
ＪＰＥＧ２０００５などの現代のイメージ圧縮標準規格は、この問題に正確に対処するように設計されている。イメージ・コンテンツを直線の形で（すなわち、通常は上から下、左から右への、ピクセル上の単一のパスで）格納するというよりも、これらの標準規格は、複数分解度分解（ｍｕｌｔｉ−ｒｅｓｏｌｕｔｉｏｎ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）に基づく。イメージは、まず、通常は２の複数の因数で、分解度スケールの階層にサイズ変更され、たとえば、５１２×５１２ピクセルのイメージは、２５６×２５６ピクセル、１２８×１２８、６４×６４、３２×３２、１６×１６、８×８、４×４、２×２、および１×１にサイズ変更される。明らかに、微細な詳細は、より高い分解度でのみキャプチャされ、幅広いストロークは、低分解度で、はるかに少ない量の情報を使用して、キャプチャされる。これは、異なるサイズを有するイメージが、しばしば詳細レベルまたは略してＬＯＤと呼ばれる理由である。一見したところでは、この一連の異なるサイズを有するイメージの格納要件は、高分解度イメージだけの格納要件より多い可能性があるかのように思われるが、実際にはそうではなく、低分解度イメージは、次に高い分解度の「プレディクタ」として働く。このことは、イメージ階層全体が、非常に効率的に、実際に、高分解度イメージだけの非階層表現を用いて通常可能になるはずのものに較べて、より効率的に、エンコードされることを可能にする。  
＜５＞ｈｔｔｐ：／／ｗｗｗ．ｊｐｅｇ．ｏｒｇ／ＪＰＥＧ２０００．ｈｔｍｌ
イメージの複数分解度バージョンのシーケンスが、増加するサイズの順序でリポジトリに格納されると考えるならば、イメージがデータリンクを介してキャッシュに転送されるにつれて、ユーザは、イメージ全体の低分解度概観を非常に素速く入手することができ、次第に微細になる詳細が、その後、伝送が進行するにつれて「充填」されることになるということは、当然の結果である。これは、「増分（ｉｎｃｒｅｍｅｎｔａｌ）」伝送または「プログレッシブ（ｐｒｏｇｒｅｓｓｉｖｅ）」伝送として知られている。正しく実装されたならば、この伝送は、リポジトリへの接続の帯域幅が非常にささやかな場合であっても、すべてのイメージを、それがどれほど大きいものであれ、そのスペース的全体を（完全な詳細ではないが）ほとんど即座に見ることができるというプロパティ（特性）を有する。完全に詳細なイメージをダウンロードするのに必要な時間の最終的な長さは、同一のままであるが、この情報が送信される順序は、イメージの大きなスケールでの特徴（ｆｅａｔｕｒｅｓ）がまず送信されるように、変更されており、これは、ピクセル情報を、完全な詳細レベルで、上から下、左から右への「読取順序」で、送信するよりも、ユーザにとってはるかに役立つ。
【０１２５】
これに先だって隠されているものは、前のセクションで説明した古典的なアプリケーション・モデルに適合しない、イメージを「開く」ことを意味することについての新しい概念である。本発明者は、現在、ユーザが、そのイメージを、それがダウンロードされるにつれて見ることができると想像しており、この概念、その有用性は、イメージの幅広いストロークがダウンロード開始の直後に、おそらくはダウンロードが完了するより十分に前に使用可能になるという事実から生じる。したがって、アプリケーションが、ダウンロードが終了する迄の期間待つことをユーザに強制することは、意味をなさず、アプリケーションは、その代わりに、そのドキュメントについて表示できるものを即座に表示すべきであり、詳細を「バックグラウンドで」ダウンロードを継続している期間、ユーザとの対話を遅延させ、またはその対話を不必要に中断させてはならない。これは、アプリケーションが、複数のタスクを同時に行うことを必要とし、これをマルチ・スレッディングと称される。ほとんどの現代のウェブ・ブラウザが、ウェブ・ページ上のイメージを同時にダウンロードし、この間、ウェブ・ページの原文レイアウト（ｔｅｘｔｕａｌ  ｌａｙｏｕｔ）を表示し、その間にユーザへの反応を維持するために、わずかに異なる能力で、マルチ・スレッディングを使用することに留意されたい。この場合に、埋め込まれたイメージ自体を、追加の詳細レベルと考えることができ、この追加の詳細レベルは、ウェブ・ページのベア・ボーン（ｂａｒｅ−ｂｏｎｅｓ）・テキスト・レイアウトからなる基本詳細レベルを強化する。この類比は、重要であることが後で示される。
【０１２６】
明らかに、階層イメージ表現、およびイメージ・ドキュメントのプログレッシブ伝送は、直線表現（ｌｉｎｅａｒ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）および直線伝送（ｌｉｎｅａｒ  ｔｒａｎｓｍｉｓｓｉｏｎ）を超える前進である。しかし、イメージが、その最高詳細レベルで、ユーザのディスプレイが同時に表示できるものより多くの情報（たとえば、より多くのピクセル）を有するときに、さらなる前進が重要になる。現在のディスプレイ・テクノロジを用いると、これは、通常、表１の下部の４種類のイメージにあてはまるが、より小さいディスプレイ（ＰＤＡスクリーンなど）は、下部の８種類でさえ表示することができない場合がある。これは、大きいイメージに対してズーム機能を避けられないものにする。すなわち、追加の詳細を発見するためにズーム・インすることが不可能である場合には、ディスプレイより大きいイメージを見ることは、無益である。
【０１２７】
大きいイメージのダウンロードが開始されるときに、おそらくは、ユーザは、そのイメージの全体を見ている。第１詳細レベルは、しばしば、非常に粗いので、表示されるイメージは、入手可能な少ない量の情報を大きい表示領域上で拡散するのに使用される「補間」の種類に依存して、ブロック状（ｂｌｏｃｋｙ）に、あるいはぼけて、見える。次に、イメージは、プログレッシブに洗練されるが、あるポイントで、ディスプレイを情報で「飽和」させ、ダウンロードされる追加詳細のいずれをも、視覚的効果を有しないものにする。したがって、このポイントを超えてダウンロードを継続することは、全く意味をなさない。しかし、ユーザが、特定の領域をはるかに詳細に見るためにズーム・インすると決定し、イメージの有効投影サイズを物理スクリーンより実質的に大きくする、と仮定する。次に、前のセクションで説明したダウンローディング・モデルでは、より高い詳細レベルが、高まる順序で、ダウンロードされることを必要とすることになる。問題は、すべての詳細レベルが、前の詳細レベルの約４倍の情報を含み、ユーザがズーム・インするときに、ダウンロード・プロセスが、不可避的に遅れをとることである。さらに悪いことに、ダウンロードされる情報のほとんどが、その情報が、ビューイング領域の外部の高分解度詳細からなるにつれて、無駄にされる。明らかに、必要なものは、ある詳細レベルの選択された部分だけをダウンロードする能力である、すなわち、可視可能領域で見ることができる詳細だけをダウンロードしなければならない。この変更（ａｌｔｅｒａｔｉｏｎ）があれば、任意に大きいサイズのイメージを見ることができるだけではなく、どの詳細レベルでもそのようなイメージを通して効率的にナビゲートする（すなわち、ズームし、パンする）こともできるイメージ・ブラウジング・システムを作ることができる。
【０１２８】
ドキュメント・アクセスの以前のモデルは、本来シリアルであり、これは、情報オブジェクトの全体が直線の順序で伝送されることを意味する。このモデルは、対照的に、ランダム・アクセスであり、これは、情報オブジェクトの選択された部分だけが要求され、これらの要求を、任意の順序で、長い時間期間にわたってすなわち、ビューイング・セッションの間に行うことができることを意味する。コンピュータおよびリポジトリは、今や、ディスプレイ上で見られているドキュメントとのユーザの「ｄｉａｌｏｇｕｅ（対話）」に平行する長期の対話に従事する。
【０１２９】
ランダム・アクセスを効率的にするためには、各詳細レベルを、グリッド正方形またはタイルなどの、グリッドに再分割し、このグリッド正方形またはタイルを伝送の基本単位とすることが便利である。各タイルのピクセル単位のサイズは、増加した詳細レベルに、前の詳細レベルより約４倍多いタイルが含まれるように、一定のサイズ、あるいはそれ以下に保つことができる。イメージの寸法が公称タイル・サイズの正確な倍数でない場合があるので、小さいタイルが、イメージのエッジで発生する場合があり、また、最低詳細レベルでは、イメージ全体が、単一の公称タイルより小さくなる可能性がある。結果のタイリングされたイメージ・ピラミッドを、図Ａ１−２に示す。ピラミッドの「先端」では、ダウン・スケーリングされたイメージが単一のタイルより小さいが、この「先端」が、図Ａ１−１のタイリングされていないイメージ・ピラミッドに似て見えることに留意されたい。ＪＰＥＧ２０００イメージ・フォーマットには、タイリングされたイメージ、複数分解度イメージ、およびランダム・アクセス・イメージを表現するための、説明したばかりの機能のすべてが含まれる。
【０１３０】
ここまでは、静的イメージの場合だけを考慮してきたが、同一の技法を、アプリケーション固有の変更を伴って、ほとんどすべてのタイプのビジュアル・ドキュメントに適用することができる。これには、大きいテキスト、地図または他のベクトル・グラフィックス、スプレッドシート、ビデオ、およびウェブ・ページなどの混合ドキュメントが含まれる（しかし、これらに限定はされない）。これまでの本明細書の議論は、暗黙のうちに、ビューイング専用アプリケーションすなわち、開くことおよび描くことに対応するアクションまたはメソッドだけを定義する必要があるアプリケーションを考慮してもいた。明らかに、ペイント・プログラムによって実装される静的イメージ用の編集コマンド、ワード・プロセッサによって実装されるテキスト用の編集コマンドなど、他のメソッドが望ましい場合がある。しかし、テキストを編集するという問題を考慮されたい。タイプされた入力の挿入などの通常のアクションは、基礎になるドキュメントに対する相対的なスペース的スケールのある範囲にわたってのみ関係がある。テキストがもはや読み取れないほどにズーム・アウトした場合には、対話的編集は、もはや不可能である。単一の文字がスクリーン全体を満たすほどにズーム・インした場合に、対話的編集はもはや不可能であると論ずることもできる。したがって、ズーミング・ユーザ・インターフェースは、あるメソッドのアクションを、それに関連する詳細レベルに制約することもできる。
【０１３１】
ビジュアル・ドキュメントが、内部的にイメージとして表されるのではなく、テキスト、スプレッドシート・エントリ、またはベクトル・グラフィックスなどのより抽象的なデータとして表されるときには、前のセクションで導入したタイリング概念を一般化することが必要である。静止イメージについて、タイルをレンダリングするプロセスは、タイルが入手されたならば自明である。というのは、情報（圧縮解除されると）が、そのタイルについての正確にピクセルごとのコンテンツであるからである。さらに、速度ボトルネックは、通常、コンピュータへの圧縮データの転送（たとえば、ダウンロード）である。しかし、いくつかの場合には、速度ボトルネックが、タイルの演出（ｒｅｎｄｉｔｉｏｎ）に存在する。その演出を行うのに使用される情報は、既にキャッシュ内にある場合があり、あるいは、非常にコンパクトであり、その結果、ダウンロードがもはや遅延を引き起こさなくなる場合がある。したがって、本発明者は、「タイル・ドローイング要求」に応答して、完了し完全に描かれたタイルの作成を、これが低速プロセスである場合があるとの理解の下で、タイル・レンディション（演出）と呼ぶ。必要なデータがかなりのものであり、低速接続を介してダウンロードされなければならないという理由で、あるいはレンディション・プロセス自体が計算処理的に負荷が重いと言う理由で、これが低速であるかどうかは、要点を外した議論である。
【０１３２】
完全なズーミング・ユーザ・インターフェースは、これらのアイデアを、ユーザが、大きくおそらくは動的な合成ドキュメント（そのサブ・ドキュメントは通常はスペース的にオーバーラップしない）を見ることができる形で、組み合わせる。これらのサブ・ドキュメントは、次々に（通常はオーバーラップしない）サブ・サブ・ドキュメントを含むことができ、以下同様である。したがって、ドキュメントは、ツリーすなわち、各ドキュメントがサブ・ドキュメントまたは子のコレクションへのポインタを有し、これらのサブ・ドキュメントまたは子のそれぞれが、親ドキュメントのスペース的境界の中に含まれる構造、を形成する。本発明者は、ツリーのプログラミング用語から借用して、各そのようなドキュメントをノードと呼ぶ。ドローイング・メソッドは、すべての詳細レベルのすべてのノードについて定義されるが、アプリケーション固有機能性に対応する他のメソッドを、ある種のノードだけについて定義することができ、そのアクションを、ある種の詳細レベルだけに制約することができる。したがって、一部のノードを、ペインティングと類似のコマンドを使用して編集できる静的イメージとすることができ、他のノードを、編集可能テキストとすることができ、他のノードを、ビューイングおよびクリックのために設計されたウェブ・ページとすることができる。これらのノードのすべてが、共通の大きいスペース的環境すなわち「スーパー・ノード」内で共存することができ、このスーパー・ノードを、ズームおよびパンによってナビゲートすることができる。
【０１３３】
良好に実装されたズーミング・ユーザ・インターフェースについて幾つかの直接的な結果があり、これには以下が含まれる。  
−  非常に大きいドキュメントを、その全体をリポジトリからダウンロードせずにブラウズすることが可能である。したがって、使用可能な短期メモリより大きいドキュメント、または、別の方法では禁止されることになるサイズのドキュメントでさえ、制限なしに見ることができる。  
−  コンテンツは、ナビゲーション中に必要に応じてダウンロードされるだけであり、使用可能な帯域幅について好ましい効率的な使用がもたらされる。  
−  ズームおよびパンは、スペース的に直観的に理解できる動作であり、大量の情報を簡単に理解される形で編成することを可能にする。  
−  「スクリーン・スペース」が実質的に制限されないので、同時に複数のドキュメントまたはビューについて作業するために、ウィンドウを最小化したり、複数のデスクトップを使用したり、またはウィンドウを互いの後ろに隠したりすることは、不要である。そうではなく、ドキュメントを望み通りに配置することができ、ユーザは、すべてのドキュメントの概観を得るためにズーム・アウトしたり、または特定のドキュメントにズーム・インしたりすることができる。このことは、それらのドキュメントの任意の組合せを同時にスクリーン上で有用なスケールで可視にすることを可能にするためにそのようなドキュメントの位置を（またはスケールさえも）再配置する可能性を排除しない。また、これは、ズームをより伝統的な手法と組み合わせることを必ずしも排除しない。  
−  ズームは、ナビゲーションについての本質的な態様なので、すべての種類のコンテンツを、適当なスペース的スケールで見ることができる。  
−  高分解度ディスプレイは、もはや、テキストおよびイメージを小さい（時々読み取れない）サイズに縮小することを意味しなくなる。ズームのレベルに応じて、高分解度ディスプレイは、より多くのコンテンツを同時に見ること、またはコンテンツを通常のサイズでより高い忠実度で見ること、のいずれかを可能にする。  
−  視覚障害者は、単純にさらにズーム・インすることによって、通常の視力を有する人と同一のコンテンツを簡単にナビゲートすることができる。
【０１３４】
これらの利点は、ウェブに接続された普通のコンピュータから利用できる情報の量が激増した現在では、特に貴重である。１０年前には、ＺＵＩが見ることを可能にする種類の非常に大きいドキュメントは、まれであり、さらに、そのようなドキュメントは、非常に多くのスペースを占めることになるので、ほとんどのコンピュータで使用可能なリポジトリ（たとえば、４０ＭＢハードディスク）におさまるドキュメントは殆どなかった。しかし、現在、我々は、非常に異なる情況に直面しており、サーバは、膨大なドキュメントおよびドキュメント階層を簡単に格納することができ、この情報を、ウェブに接続されたすべてのクライアントから使用可能にすることができる。それでも、これらの潜在的に膨大なリポジトリと普通のユーザとの間の接続の帯域幅は、ローカル・ハードディスクへの接続の帯域幅よりはるかに低い。これが、まさに、ＺＵＩが普通のグラフィカル・ユーザ・インターフェースに対するその最大の利点を与えるシナリオである。
【０１３５】
（発明の詳細な説明）
次では、２つの変数名ｆおよびｇを使用する。ｆは、ディスプレイに対する相対的なタイルのサンプリング密度を指す。このサンプリング密度または「相対的な詳細レベル」は、ズーム依存であるが、ｆ＝（タイル・ピクセル単位での直線タイル・サイズ）／（スクリーン・ピクセル単位で測定されたスクリーン上の投影されたタイルの長さ）によって与えられる。ｆ＝１の場合に、タイル・ピクセルは、スクリーン・ピクセルに対して１：１であり、ｆ＝１０の場合に、タイル内の情報は、そのディスプレイが表示できるものよりはるかに詳細であり（１０＊１０＝１００個のタイル・ピクセルが、単一のスクリーン・ピクセルの内側におさまる）、ｆ＝０．１の場合に、タイルは、ディスプレイに対して相対的に粗い（すべてのタイル・ピクセルが、１０＊１０＝１００個のディスプレイ・ピクセルをカバーするように「ストレッチ」または補間されなければならない）。タイリングの細分性（ｇｒａｎｕｌａｒｉｔｙ）は、変数ｇとして記述されるが、次に低いＬＯＤの直線タイリング・グリッド・サイズに対する、より高いＬＯＤの直線タイル・グリッド・サイズの比として定義される。前のセクションで考慮したＪＰＥＧ２０００の例では、ｇ＝２であり、概念的に、各タイルは、次に高いＬＯＤで２×２＝４個のタイルに「分割」される。細分性２は、類似するアプリケーションで圧倒的に最も一般的であるが、現在のコンテクストでは、ｇは、他の値をとることができる。
【０１３６】
これまでに説明した詳細レベルの方式が、細分性ｇの倍率だけ隔てられた異なるスケールでのＬＯＤの固定された離散的セットを用いることに留意されたい。その結果、ディスプレイの任意の領域に描かれるイメージは、通常、２つの詳細レベルすなわち、ディスプレイ分解度より多少微細なレベル（ｆ＞１）と多少より粗いレベル（ｆ＜１）との間の重み付きブレンドである（ただし、より一般的には、本発明は、イメージ領域が過渡的に単一のアンダー・サンプリングされたＬＯＤ、または３つ以上のＬＯＤの間のブレンドである場合にも適用される）。この方式は、無修正で、ディジタル写真またはビデオなど、サンプリングされたイメージによって定義されるコンテンツに対して視覚的に説得力のある結果を生み出す。しかし、ユーザが定期的に対話するコンテンツの多くは、そうではなく、ベクトリアル（ベクトル的）に定義され、これには、テキスト、ならびに、直線、四辺方形、円、および他のベクトル・プリミティブの組合せが含まれる。ベクトリアル・グラフィック要素に特有なものは、これらが数学的に正確なエッジを伴うことであり、正確な結果を生み出すために、単一のディスプレイ・ピクセルの値に対する制御が一般に必要である。同一のことが、黒ピクセルおよび白ピクセルのチェッカー・ボードなどのディジタル・フィル・パターン（ｄｉｇｉｔａｌ  ｆｉｌｌ  ｐａｔｔｅｒｎｓ）にもあてはまる。この種類のビジュアル・コンテンツは、これまでに説明したブレンディング方法によって、上手に再生されない。結果のビジュアル・アーティファクトの例を、図Ａ１−３に示す。これらのアーティ・ファクトには、ブラリネス（ｂｌｕｒｒｉｎｅｓｓ）、変化するスケールに伴うブラリネスの期待されない変化、およびズーム中にシフトするモアレ・パターン、が含まれる。図示のイメージのすべてが、小さいピクセル寸法を有し、ピクセル・レベルで何が起きるかを明瞭に示すために拡大されている。図Ａ１−３（ａ）は、（アンチ・エイリアシングなしで）純黒および純白でレンダリングされたテキストの例であり、（ｂ）は、アンチ・エイリアシングを用いてレンダリングされた同一のテキストであり、（ｃ）は、狭いスペースをおかれた線のパターンであり、（ｄ）は、交番する黒ピクセルおよび白ピクセルのチェッカーボード・フィル・パターンである。イメージの最も下の行は、最も上の行の正確なイメージに対するＬＯＤブレンディング効果を示す。明らかに、（ａ）のブレンディングされたテキストのエッジのぼけは、（ｂ）の一番上のイメージのピクセルについて正確なアンチ・エイリアシングの結果より劣る。その一方で、テキストが正しくアンチ・エイリアシングされ始める場合に、ＬＯＤブレンディングは、それをさらにぼけさせ、やはり準最適イメージをもたらす。したがって、（ａ）および（ｂ）は、ひどい結果を生み出しはしないが、正確なバージョンは、各場合におけるよりも明らかにベターである。他の２つのイメージは、偽のモアレ・パターン、微光（ｓｈｉｍｍｅｒ）、スペックル（ｓｐｅｃｋｌｉｎｇ）、および、ぼけ（ｂｌｕｒｒｉｎｇ）を含む、より深刻なエラー（誤差）を生じる。
【０１３７】
本発明は、この種類のコンテンツを有するノードに対するプログラム的なタイル・ドローイング・メソッドを定義し、これらのノードが、ディスプレイ・ピクセルに精密にマッピングする、すなわちｆ＝１の場合に、正確にマッピングする特別な正確なタイルをレンダリングすることを可能にする。ズーム中またはパン中のすべてのフレーム・リフレッシュでこのメソッドを単純に呼び出すことは、一般に、低速すぎる。正確なドローイング・メソッドは、たやすく、実行に数フレームを要する可能性があり、いくつかの場合に、それよりさらに低速になる可能性がある。これは、正確なドローイング・メソッドに固有ではなく、「普通の」ドローイング・メソッドも低速である可能性があり、特に、低帯域幅での情報のダウンロード、または広範な計算の実行を伴う場合に低速になる可能性がある。しかし、「普通の」ドローイング・メソッドのターゲットは、パンおよびズームの範囲全体にわたって関連して残存するタイルであり、キューイング方式および分解度フォールバック方式を実装することが可能にし、これは、タイル・レンディションが低速であり且つ非同期である場合であっても、滑らかなナビゲーションおよびイメージ品質のグレースフル・デグラデーションを可能にする。対照的に、正確なタイルは、完全な品質を有するが、特定のビューに固有である。したがって、本発明者は、ハイブリッド手法を採用し、このハイブリッド手法では、離散ＬＯＤ表現の強味が、望ましくない情況（すなわち、低帯域幅、またはより一般的に、低速のタイル・ドローイング・メソッド）下であっても、反応が速いナビゲーションを可能にするために活用され、正確なドローイング・メソッドが、視覚的な正確さのために使用される。これは、ユーザが休止状態にあるときに、正確なドローイング・メソッドを使用して正確なタイルを要求することによって行われ、これらの要求は、詳細のすべての関連する固定されたレベルの次ぎにキューイングされる。したがって、正確なタイルは、表示の精細化（ｄｉｓｐｌａｙ  ｒｅｆｉｎｅｍｅｎｔ）の最終ステージに存在する。正確なタイルは、ユーザがパンするかズームするときに使用不能になるという意味で「使い捨ての品」である。というのは、ユーザが、パンまたはズームして、正確に古いビューに戻る可能性が低いからである。ズームだけではなくパンも、正確なタイルを無効化することに留意されたい。というのは、タイルが正確であるために、スケールｆが正確に１であることが必要であるだけではなく、タイル・ピクセルがディスプレイ・ピクセルに正確に位置合せされることも必要であるからである。したがって、正確な位置合せは、パンが整数個数のディスプレイ・ピクセルによるものでない限り、パン中に失われる。したがって、パンおよびズームは、すべてのキャッシングされた正確なタイルを破棄し、ビューが休止状態になったときに限って、新しい正確なタイルに関する要求が、キューイングされる。正確なタイルが使用可能になると、それらの正確なタイルは、下にある「不正確な」タイルの「上」で（すなわち、それを隠して）ディスプレイになるようにブレンディングされる。このブレンディングは、時間をかけて行われ、鮮明度の突然の変化���回避する。
【０１３８】
本発明の全体的な効果は、大きいボリュームのテキストまたは他のベクトル・グラフィックス上でパンまたはズームするときに、ナビゲーション性能が変化せずに持続することであり、そのようなナビゲーション中には、レンダリングされるイメージは、理想より劣るが、イメージが動いているので、大多数の場合に、劣化は顕著ではない。休止状態になると、正確なタイルが、要求され、到着するにつれてフォービアルに（ｆｏｖｅａｌｌｙ）ブレンド・インされ、ディスプレイの中心付近から始まって外向きに広がるイメージについてのシャープニングがもたらされる。スペース的および時間的なブレンディングは、一般に、このシャープニングを、目によって検出するのが難しいものにすることができるが、結果のイメージは、完全な品質を有し、すなわち、離散的な詳細レベルの間での連続的補間に基づくＺＵＩアーキテクチャが動作することを可能にするぼかす動作およびブレンディング動作によって、影響されない。
【０１３９】
Ａ２
（表題）ズーミング・ユーザ・インターフェースでのフォービエイテッドで（ｆｏｖｅａｔｅｄ）シームレスでプログレッシブなレンダリングのシステムおよび方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＦＯＶＥＡＴＥＤ，  ＳＥＡＭＬＥＳＳ，  ＰＲＯＧＲＥＳＳＩＶＥ  ＲＥＮＤＥＲＩＮＧ  ＩＮ  Ａ  ＺＯＯＭＩＮＧ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ）
（発明者）ＢＬＡＩＳＥ  ＨＩＬＡＲＹ  ＡＧＵＥＲＡ  Ｙ  ＡＲＣＡＳ
【０１４０】
（発明の分野）
本発明は、全般的にはコンピュータのズーミング・ユーザ・インターフェース（ＺＵＩ）に関する。より具体的には、本発明は、よいユーザ反応性および高いフレーム・レートを維持しながら、ズーミング環境で任意に大きいまたは複雑なビジュアル・コンテンツをプログレッシブにレンダリングするシステムおよび方法である。いくつかの情況で、これらの目標を満足するために演出（レンディション）についての品質を一時的に劣化させることが必要ではあるが、本発明は、人間の視覚系の周知の特性（プロパティ）を活用することによって、この劣化を十分にマスクする。
【０１４１】
（発明の背景）
ほとんどの現在のグラフィカル・コンピュータ・ユーザ・インターフェース（ＧＵＩ）は、固定されたスペース的スケールのビジュアル・コンポーネントを使用して設計されている。しかし、コンピュータ・グラフィックスという分野の誕生から、ビジュアル・コンポーネントがディスプレイ上で固定されたスペース的スケールを有するのではなく、ビジュアル・コンポーネントをズーム・インまたはズーム・アウトできる形で、ビジュアル・コンポーネントを表現でき、操作できることが認められた。ズーム可能コンポーネントの望ましさは、多くの応用領域、たとえば、地図のビューイング、新聞などの大きい異種テキスト・レイアウトのブラウジング、ディジタル写真のアルバムのビューイング、および大きいデータ・セットのビジュアライゼーションを用いる作業などで明白である。スプレッドシートおよびレポートなどの普通のドキュメントを見るときであっても、しばしば、ドキュメントの概観を見、次に、関心を持たれた領域にズーム・インできることが有用である。Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄ（登録商標）および他のＯｆｆｉｃｅ（登録商標）プロダクト（表示メニューの下のズーム）、Ａｄｏｂｅ（登録商標）Ｐｈｏｔｏｓｈｏｐ（登録商標）、Ａｄｏｂｅ（登録商標）Ａｃｒｏｂａｔ（登録商標）、ＱｕａｒｋＸＰｒｅｓｓ（登録商標）など、多くの現代のコンピュータ・アプリケーションに、ズーム可能コンポーネントが含まれる。ほとんどの場合に、これらのアプリケーションは、ドキュメントのズーム・インおよびズーム・アウトを可能にするが、必ずしもアプリケーション自体のビジュアル・コンポーネントのズーム・インおよびズーム・アウトを可能にはしない。さらに、ズームは、通常、ソフトウェアとのユーザの対話の周辺態様であり、ズーム・セッティングは、時たま変更されるのみである。ドキュメント上での連続的なパンは、標準的である（すなわち、スクロール・バーまたはカーソルを使用して、見られているドキュメントを左、右、上、または下に平行移動させること）が、連続的にズームする能力は、ほとんど必ず存在しない。より一般化されたズーミング・フレームワークでは、すべての種類のビジュアル・コンテンツをズームすることができ、ズームは、パンのようにユーザの体験の一部になるはずである。この線に沿ったアイデアは、１９６０年代ほど早期のものさえ含む多数の映画の未来的なコンピュータ・ユーザ・インターフェースとして現れ１、最近の映画は、その傾向を継続している２。複数の連続的ズーミング・インターフェースが、１９７０年代から現在までに考えられ、かつ／または開発されてきた３。１９９１年に、これらのアイデアのいくつかが、ニューヨーク大学のＫｅｎｎｅｔｈ  ＰｅｒｌｉｎおよびＪａｃｏｂ  Ｓｃｈｗａｒｔｚによる米国特許第５３４１４６６号（Ｆｒａｃｔａｌ  Ｃｏｍｐｕｔｅｒ  Ｕｓｅｒ  Ｃｅｎｔｅｒｆａｃｅ  ｗｉｔｈ  Ｚｏｏｍｉｎｇ  Ｃａｐａｂｉｌｉｔｙ）で正式に承認された。Ｐｅｒｌｉｎおよび同僚によって開発されたプロトタイプ・ズーミング・ユーザ・インターフェースすなわちＰａｄとその後継者であるＰａｄ＋＋は、その後にある開発を受けた４。しかし、本発明者の知る限り、フルＺＵ��（ズーミング・ユーザ・インターフェース）に基づく主要なアプリケーションは、複数の技術的不足に部分的に起因して、まだ大量市場には現れておらず、これらの技術的不足のうちの１つが、本発明で対処される。  
＜１＞Ｓｔａｎｌｅｙ  Ｋｕｂｒｉｃｋ’ｓ  ２００１：  Ａ  Ｓｐａｃｅ  Ｏｄｙｓｓｅｙ，  Ｔｕｒｎｅｒ  Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｃｏｍｐａｎｙ，  ａ  Ｔｉｍｅ  Ｗａｒｎｅｒ  ｃｏｍｐａｎｙ  （１９６８）  
＜２＞Ｓｔｅｖｅｎ  Ｓｐｉｅｌｂｅｒｇ’ｓ  Ｍｉｎｏｒｉｔｙ  Ｒｅｐｏｒｔ，  ２０ｔｈ  Ｃｅｎｔｕｒｙ  Ｆｏｘ  ａｎｄ  Ｄｒｅａｍｗｏｒｋｓ  Ｐｉｃｔｕｒｅｓ  （２００２）  
＜３＞最初の出現は、Ｗ．Ｃ．  Ｄｏｎｅｌｓｏｎ，  Ｓｐａｔｉａｌ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ＳＩＧＧＲＡＰＨ  （１９７８），  ＡＣＭ  Ｐｒｅｓｓ，  ｐ．  ２０３−９である。最近の例は、Ｚａｎｖａｓ．ｃｏｍであり、これは、２００２年の夏に立ち上げられた。  
＜４＞Ｐｅｒｌｉｎは、ｈｔｔｐ：／／ｍｒｌ．ｎｙｕ．ｅｄｕ／ｐｒｏｊｅｃｔｓ／ｚｕｉ／でその後の開発を記述している。
【０１４２】
（発明の概要）
本発明は、新たに開発されたズーミング・ユーザ・インターフェース・フレームワーク（以下では、その作業名であるＶｏｓｓによって参照する）がそれに基づく新規のアイデアを実施する。Ｖｏｓｓは、そのソフトウェア・アーキテクチャにおける複数の革新に起因して、それに先行するものより強力であり、より反応が速く、より視覚的に説得力があり、より一般的なユーティリティである。本発明は、具体的には、オブジェクト・タイリング、詳細レベルのブレンディング、およびレンダ・キューイングに対するＶｏｓｓの手法に関する。
【０１４３】
複数分解度ビジュアル・オブジェクトは、通常、異なる分解度または詳細レベルのサンプリングされたイメージの離散的セット（イメージ・ピラミッド）からレンダリングされる。３Ｄゲーミングなど、連続的ズームが使用されるいくつかの技術的コンテクストにおいて、所望の詳細レベルを一括する２つの隣接する詳細レベルが、各フレームをレンダリングするために一緒にブレンディングされる。というのは、通常、所望の詳細レベルが、正確に、離散的セットによって表される詳細レベルの１つではないからである。そのような技法を、時々トライ・リニア・フィルタリングまたはミップマッピングと称する。ほとんどの場合に、ミップマッピングされたイメージ・ピラミッドは、事前に作られ、ズーム動作中に連続的に短期メモリ（すなわち、ＲＡＭ）内に保たれ、したがって、すべての必要な詳細レベルが、常に使用可能である。いくつかの高度な３Ｄレンダリング・シナリオでは、イメージ・ピラミッド自体を、アニメーション・ループ内でレンダリングしなければならないが、この場合に、この最初のレンダリング・パスの複雑さは、全体的なフレーム・レートが損害を受けないようにするために、注意深く制御されなければならない。
【０１４４】
このコンテクストでは、任意の視覚的複雑さのある無制限の量のコンテンツの各場所ズームし、パンすることによって連続的にナビゲートできることが望ましい。このコンテンツは、素速くレンダリングされない場合があり、さらに、即座に使用可能で内可能性がある。しかし、このコンテンツは、低帯域幅接続を介してリモート位置からダウンロードされる必要がある。したがって、所望のディスプレイ・フレーム・レート（第２パス）に匹敵するフレーム・レートで詳細レベルをレンダリングすること（第１パス）は、常に可能とは限らない。さらに、一般に、すべてのコンテンツについて、事前に作られたイメージ・ピラミッドをメモリ内で保つことは可能ではなく、イメージ・ピラミッドは、必要に応じてレンダリングされ、または再レンダリングされなければならず、このレンダリングは、所望のフレーム・レートと比較して低速である場合がある。
【０１４５】
本発明は、イメージ・ピラミッドのうちで現在のディスプレイに関連する部分の（潜在的に遅い）レンディションに優先順位を与える戦略と、部分的情報すなわちイメージ・ピラミッドの現在使用可能なサブセットだけに基づいてレンダリングされたコンテンツの滑らかな連続的知覚をユーザに与える戦略と、の両方を用いる。組み合わされて、これらの戦略は、不完全なイメージ・ピラミッドから生じるすべてのイメージ劣化を可能な範囲までマスクしながら、使用可能な計算能力または帯域幅を最適に近く利用する。スペース的および時間的なブレンディングは、イメージ鮮明度の不連続性または突然の変化を避けるのに活用される。
【０１４６】
本発明の目的は、サンプリングされた（すなわち「ピクセル化された」）ビジュアル・コンテンツを、相対的な最終的なイメージ品質において、普通のトライ・リニア補間に関連する劣化なしで、ズーミング・ユーザ・インターフェースでレンダリングすることを可能にすることである。
【０１４７】
本発明のもう１つの目的は、任意に大きいまたは複雑なビジュアル・コンテンツをズーミング・ユーザ・インターフェース内で見ることを可能にすることである。
【０１４８】
本発明のもう１つの目的は、任意に複雑なビジュアル・コンテンツのほぼ即座のビューイングを、このコンテンツが最終的に非常に大量のデータを使用して表される場合であっても、また、これらのデータがリモート位置で格納され、低帯域幅ネットワークを介して共有される場合であっても、可能にすることである。
【０１４９】
本発明のもう１つの目的は、対話的フレーム・レートを維持しながら、ユーザが、ビジュアル・コンテンツに任意にズーム・インできるようにすることである。
【０１５０】
本発明のもう１つの目的は、コンテンツの全体的外見の保存と対話的フレーム・レートの維持との両方の過程で、複雑なビジュアル・コンテンツの概観を得るために、ユーザが任意にズーム・アウトできるようにすることである。
【０１５１】
本発明のもう１つの目的は、対話中の詳細レベルまたはレンディション品質の間の遷移についてのユーザによる知覚を最小にすることである。
【０１５２】
本発明のもう１つの目的は、詳細なビジュアル・コンテンツをレンダリングするのに必要な情報が使用不能であると言う理由で、またはレンディションがまだ進行中であるという理由のいずれかの理由ゆえに、詳細なビジュアル・コンテンツがまだ使用不能であるときに、連続的にぼけさせることによってイメージ品質のグレースフル・デグラデーションを可能にすることである。
【０１５３】
本発明のもう１つの目的は、ビジュアル・コンテンツのある部分のレンディションが初めて使用可能になるときに、漸進的シャープニングによってイメージ品質を優雅に高めることである。
【０１５４】
本発明の上記および他の目的は、次の明細書の再検討から当業者に明白になるであろう。
【０１５５】
（従来技術：複数分解度像（ｉｍａｇｅｒｙ）およびズーミング・ユーザ・インターフェース）  
技術的視点から、このズーミング・ユーザ・インターフェースは、ビジュアル・コンピューティングの基礎となる通常の概念の一般化であり、古典的なユーザ／コンピュータ／ドキュメント対話モデルに固有の複数の限界を克服することを可能にする。そのような限界の１つが、コンピュータ・アプリケーションから「開く」ことができるドキュメントのサイズに関する限界である。というのは、伝統的に、ビューイングまたは編集を開始できるようになる前に、そのようなドキュメントの全体を「ロード」しなければならないからである。特定のコンピュータが使用可能な短期メモリ（通常はＲＡＭ）の量が多いときであっても、この限界が感じられる。というのは、ドキュメント情報のすべてを、開く間に、あるリポジトリから（たとえば、ハードディスクからまたはネットワークを介して）短期メモリに転送しなければならず、したがって、限られた帯域幅が、「開く」コマンドの発行と、ビューイングまたは編集を開始できるまでの間の遅延を、受け入れがたく長くする可能性があるからである。
【０１５６】
複数の静止ディジタル・イメージは、この問題のよい例と、コンピュータ・サイエンス・コミュニティがこの問題の克服においてビジュアル・コンピューティングの標準的なモデルを超えてどのように動いてきたかの例示との両方を提供する。下の表１に、最小の有用なイメージ（時々アイコンとして使用される、サムネイル）から現在一般に使用されている最大の有用なイメージまでの、さまざまな異なるイメージ・タイプの通常の圧縮後のサイズについての異なる帯域幅でのダウンロード時間を示す。文字にアンダーラインを付けられたボックスは、対話ブラウジングが特定の接続速度で難しいか不可能であるイメージ・サイズを示す。
【０１５７】
【表２】
2008517540.tif 000004
【０１５８】
＊これらの数字が、生のイメージ・データではなく中間品質の現実的な圧縮後のサイズを表すことに留意されたい。具体的には、４０ＭＢまでのサイズについては１ビット／ピクセルを、一般により圧縮可能であるより大きいイメージについては０．２５ビット／ピクセルを仮定する。  
＊＊ローカル無線ネットワークは、かなりより高速である場合がある。この数字は、無線ＰＤＡにしばしば使用されるタイプの無線広域ネットワークを指す。
【０１５９】
現在ウェブ上にあるほとんどすべてのイメージが、１００Ｋ（０．１ＭＢ）未満である。というのは、ほとんどのユーザが、ＤＳＬまたはより低帯域幅でウェブに接続され、より大きいイメージが、ダウンロードに時間がかかりすぎるからである。ローカル・セッティングであっても、通常のユーザのハード・ドライブ上で、５００Ｋ（０．５ＭＢ）を超えるイメージに出会うことは、普通ではない。より大きい（すなわち、より詳細な）イメージがしばしば有用であることは、平均的な家庭内の絵本、地図帳、地図、新聞、およびアートワークに、非常に多数のイメージが含まれ、これらは、フル分解度でディジタル化された場合にサイズにおいてすぐに数十メガバイトになることになるという事実によって立証される。
【０１６０】
数年前には、大きなイメージが存在しなかったことは、主に、リポジトリ内の格納スペースの不足に起因したが、ハード・ドライブ・テクノロジの進歩、ＣＤＲＯＭを焼くことのたやすさ、および大型のネットワーク化されたサーバの高まる普及は、リポジトリ・スペースを、もはや制限要因ではなくした。主要なボトルネックは、現在、帯域幅であり、これに短期メモリ（すなわち、ＲＡＭ）スペースが続く。問題は、実際には、上の表によって暗示されるものよりはるかに悪い。というのは、ほとんどのコンテクストで、ユーザは、単一のイメージを見ることだけに関心を持つのではなく、イメージのコレクション全体を見ることに関心を持ち、イメージが、ある適度なサイズより大きい場合には、あるイメージが別のイメージの後にダウンロードされる時間を待つことは、非実用的になる。
【０１６１】
ＪＰＥＧ２０００５などの現代のイメージ圧縮標準規格は、この問題に正確に対処するように設計されている。イメージ・コンテンツを直線の形で（すなわち、通常は上から下、左から右への、ピクセル上の単一のパスで）格納するのではなく、これらの標準規格は、複数分解度分解（ｍｕｌｔｉ−ｒｅｓｏｌｕｔｉｏｎ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）に基づく。イメージは、まず、通常は２の係数の、分解度スケールの階層にサイズ変更され、たとえば、５１２×５１２ピクセルのイメージは、２５６×２５６ピクセル、１２８×１２８、６４×６４、３２×３２、１６×１６、８×８、４×４、２×２、および１×１にサイズ変更される。明らかに、微細な詳細は、より高い分解度でのみキャプチャされ、幅広いストロークは、低分解度で、はるかに少ない量の情報を使用して、キャプチャされる。これは、異なるサイズを有するイメージが、しばしば詳細レベルまたは略してＬＯＤと呼ばれる理由である。一見したところでは、この一連の異なるサイズを有するイメージの格納要件は、高分解度イメージだけの格納要件より多い可能性があるかのように思われるが、実際にはそうではなく、低分解度イメージは、次に高い分解度の「プレディクタ」として働く。このことは、イメージ階層全体が、非常に効率的に、実際に、高分解度イメージだけの非階層表現を用いて通常可能になるはずのものに較べて、より効率的に、エンコードされることを可能にする。  
【０１６２】
＜５＞ｈｔｔｐ：／／ｗｗｗ．ｊｐｅｇ．ｏｒｇ／ＪＰＥＧ２０００．ｈｔｍｌ
イメージの複数分解度バージョンのシーケンスが、増加するサイズの順序でリポジトリに格納されると考えるならば、イメージがデータリンクを介してキャッシュに転送されるにつれて、ユーザは、イメージ全体の低分解度概観を非常に素速く入手することができ、ますます微細になる詳細が、その後、伝送が進行するにつれて「充填」されることになるということは、当然の結果である。これは、増分（ｉｎｃｒｅｍｅｎｔａｌ）伝送またはプログレッシブ（ｐｒｏｇｒｅｓｓｉｖｅ）伝送として知られている。正しく実装されたならば、この伝送は、リポジトリへの接続の帯域幅が非常にささやかな場合であっても、すべてのイメージを、それがどれほど大きいものであれ、そのスペース的全体を（完全な詳細ではないが）ほとんど即座に見ることができるというプロパティ（特性）を有する。完全に詳細なイメージをダウンロードするのに必要な時間の最終的な長さは、同一のままであるが、この情報が送信される順序は、イメージの大きなスケールでの特徴（ｆｅａｔｕｒｅｓ）がまず送信されるように、変更されており、これは、ピクセル情報を、完全な詳細レベルで、上から下、左から右への「読取順序」で送信するよりも、ユーザにとってはるかに役立つ。
【０１６３】
これに先だって隠されているものは、前のセクションで説明した古典的なアプリケーション・モデルに適合しない、イメージを「開く」ことを意味することについての新しい概念である。本発明人は、現在、ユーザが、そのイメージを、そのイメージがダウンロードされるにつれて見ることができると想像しており、この概念、その有用性は、イメージの幅広いストロークがダウンロード開始の直後に、おそらくはダウンロードが完了するより十分に前に使用可能になるという事実から生じる概念である。したがって、アプリケーションが、ダウンロードが終了するまでの期間待つことをユーザに強制することは、意味をなさず、アプリケーションは、その代わりに、ドキュメントについて表示できるものを即座に表示すべきであり、詳細を「バックグラウンドで」ダウンロードを継続している期間、ユーザとの対話を遅延させ、またはその対話を不必要に中断させてはならない。これは、アプリケーションが、複数のタスクを同時に行うことを必要とし、これはマルチ・スレッディングと称される。ほとんどの現代のウェブ・ブラウザが、ウェブ・ページ上のイメージを同時にダウンロードし、この間、ウェブ・ページの原文レイアウト（ｔｅｘｔｕａｌ  ｌａｙｏｕｔ）を表示し、その間にユーザへの反応を維持するために、わずかに異なる能力で、マルチ・スレッディングを使用することに留意されたい。この場合に、埋め込まれたイメージ自体を、追加の詳細レベルと考えることができ、この追加の詳細レベルは、ウェブ・ページのベア・ボーン（ｂａｒｅ−ｂｏｎｅｓ）・貧弱なテキスト・レイアウトからなる基本詳細レベルを強化する。この類比は、重要であることが後で示される。
【０１６４】
明らかに、階層イメージ表現、およびイメージ・ドキュメントのプログレッシブ伝送は、直線表現（ｌｉｎｅａｒ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）および直線伝送（ｌｉｎｅａｒ  ｔｒａｎｓｍｉｓｓｉｏｎ）を超える前進である。しかし、イメージが、その最高詳細レベルで、ユーザのディスプレイが同時に表示できるものより多くの情報（たとえば、より多くのピクセル）を有するときに、さらなる前進が重要になる。現在のディスプレイ・テクノロジを用いると、これは、通常、表１の下部の４種類のイメージにあてはまるが、より小さいディスプレイ（ＰＤＡスクリーンなど）は、下部の８種類でさえ表示することができない場合がある。これは、大きいイメージに対してズーム機能を避けられないものにする。すなわち、追加の詳細を発見するためにズーム・インすることが不可能である場合には、ディスプレイより大きいイメージを見ることは、無益である。
【０１６５】
大きいイメージのダウンロードが開始されるときに、おそらくは、ユーザは、そのイメージの全体を見ている。第１詳細レベルは、しばしば、非常に粗いので、表示されるイメージは、入手可能な少ない量の情報を大きい表示領域上で拡散するのに使用される補間の種類に依存して、ブロック状（ｂｌｏｃｋｙ）に、あるいはぼけて、見える。次に、イメージは、プログレッシブに洗練されるが、あるポイントで、ディスプレイを情報で「飽和」させ、ダウンロードされる追加詳細のいずれをも、視覚的効果を有しないものにする。したがって、このポイントを超えてダウンロードを継続することは、全く意味をなさない。しかし、ユーザが、特定の領域をはるかに詳細に見るためにズーム・インすると決定し、イメージの有効投影サイズを物理スクリーンより実質的に大きくする、と仮定する。次に、前のセクションで説明したダウンローディング・モデルでは、より高い詳細レベルが、高まる順序で、ダウンロードされることを必要とすることになる。問題は、すべての詳細レベルが、前の詳細レベルの約４倍の情報を含み、ユーザがズーム・インするときに、ダウンロード・プロセスが、不可避的に遅れをとることである。さらに悪いことに、ダウンロードされる情報のほとんどが、その情報が、ビューイング領域の外部の高分解度詳細からなるにつれて、無駄にされる。明らかに、必要なものは、ある詳細レベルの選択された部分だけをダウンロードする能力である、すなわち、可視可能領域で見ることができる詳細だけをダウンロードしなければならない。この変更（ａｌｔｅｒａｔｉｏｎ）があれば、任意に大きいサイズのイメージを見ることができるだけではなく、どの詳細レベルでもそのようなイメージを通して効率的にナビゲートする（すなわち、ズームし、パンする）こともできるイメージ・ブラウジング・システムを作ることができる。
【０１６６】
ドキュメント・アクセスの以前のモデルは、本来シリアルであり、これは、情報オブジェクトの全体が直線の順序で伝送されることを意味する。このモデルは、対照的に、ランダム・アクセスであり、これは、情報オブジェクトの選択された部分だけが要求され、これらの要求を、任意の順序で、長い時間期間にわたってすなわち、ビューイング・セッションの間に行うことができることを意味する。コンピュータおよびリポジトリは、今や、ディスプレイ上で見られているドキュメントとのユーザの「ｄｉａｌｏｇｕｅ（対話）」に匹敵する長期の対話に従事する。
【０１６７】
ランダム・アクセスを効率的にするためには、各詳細レベルを、グリッド正方形またはタイルなどの、グリッドに再分割し、このグリッド正方形またはタイルを伝送の基本単位とすることが便利である（絶対に必要ではないが）。各タイルのピクセル単位のサイズは、増加した詳細レベルに、前の詳細レベルより約４倍多いタイルが含まれるように、一定のサイズ、あるいはそれ以下に保つことができる。イメージの寸法が公称タイル・サイズの正確な倍数でない場合があるので、小さいタイルが、イメージのエッジで発生する場合があり、また、最低詳細レベルでは、イメージ全体が、単一の公称タイルより小さくなる。結果のタイリングされたイメージ・ピラミッドを、図Ａ２−２に示す。ピラミッドの「先端」では、ダウン・スケーリングされたイメージが単一のタイルより小さいが、この「先端」が、図Ａ２−１のタイリングされていないイメージ・ピラミッドに似て見えることに留意されたい。ＪＰＥＧ２０００イメージ・フォーマットには、タイリングされたイメージ、複数分解度イメージ、およびランダム・アクセス・イメージを表現するための、説明したばかりの機能のすべてが含まれる。
【０１６８】
ここまでは、静的イメージの場合だけを考慮してきたが、同一の技法を、アプリケーション固有の変更を伴って、ほとんどすべてのタイプのビジュアル・ドキュメントに適用することができる。これには、大きいテキスト、地図または他のベクトル・グラフィックス、スプレッドシート、ビデオ、およびウェブ・ページなどの混合ドキュメントが含まれる（しかし、これらに限定はされない）。これまでの本明細書の議論は、暗黙のうちに、ビューイング専用アプリケーションすなわち、開くことおよび描くことに対応するアクションまたはメソッドだけを定義する必要があるアプリケーションを考慮してもいた。明らかに、ペイント・プログラムによって実装される静的イメージ用の編集コマンド、ワード・プロセッサによって実装されるテキスト用の編集コマンドなど、他のメソッドが望ましい場合がある。しかし、テキストを編集するという問題を考慮されたい。タイプされた入力の挿入などの通常のアクションは、基礎になるドキュメントに対する相対的なスペース的スケールのある範囲にわたってのみ関係がある。テキストがもはや読み取れないほどにズーム・アウトした場合には、対話的編集は、もはや不可能である。単一の文字がスクリーン全体を満たすほどにズーム・インした場合に、対話的編集はもはや不可能であると論ずることもできる。したがって、ズーミング・ユーザ・インターフェースは、あるメソッドのアクションを、それに関連する詳細レベルに制約することもできる。
【０１６９】
ビジュアル・ドキュメントが、内部的にイメージとして表されるのではなく、テキスト、スプレッドシート・エントリ、またはベクトル・グラフィックスなどのより抽象的なデータとして表されるときには、前のセクションで導入したタイリング概念を一般化することが必要である。静止イメージについて、タイルをレンダリングするプロセスは、タイルが入手されたならば自明である。というのは、情報（圧縮解除されると）が、そのタイルについての正確にピクセルごとのコンテンツであるからである。さらに、速度ボトルネックは、通常、コンピュータへの圧縮データの転送（たとえば、ダウンロード）である。しかし、いくつかの場合には、速度ボトルネックが、タイルの演出（ｒｅｎｄｉｔｉｏｎ）に存在する。その演出を行うのに使用される情報は、既にローカルに格納されている場合があり、あるいは、非常にコンパクトであり、その結果、ダウンロードがもはや遅延を引き起こさなくなる場合がある。したがって、本発明者は、タイル・ドローイング要求に応答して、完了し完全に描かれたタイルの作成を、これが低速プロセスである場合があるとの理解の下で、タイル・レンディション（演出）と呼ぶ。必要なデータがかなりのものであり、低速接続を介してダウンロードされなければならないという理由で、あるいはレンディション・プロセス自体が計算処理的に負荷が重いという理由で、これが低速であるかどうかは、要点を外した議論である。
【０１７０】
完全なズーミング・ユーザ・インターフェースは、これらのアイデアを、ユーザが、大きくおそらくは動的な合成ドキュメント（そのサブ・ドキュメントは通常はスペース的にオーバーラップしない）を見ることができる形で、これらのアイデアを組み合わせる。これらのサブ・ドキュメントは、次々に（通常はオーバーラップしない）サブ・サブ・ドキュメントを含むことができ、以下同様である。したがって、ドキュメントは、ツリーすなわち、各ドキュメントがサブ・ドキュメントまたは子のコレクションへのポインタを有し、これらのサブ・ドキュメントまたは子のそれぞれが、親ドキュメントのスペース的境界の中に含まれる構造、を形成する。本発明者は、ツリーのプログラミング用語から借用して、各そのようなドキュメントをノードと呼ぶ。ドローイング・メソッドは、すべての詳細レベルのすべてのノードについて定義されるが、アプリケーション固有機能性に対応する他のメソッドを、ある種のノードだけについて定義することができ、そのアクションを、ある種の詳細レベルだけに制約することができる。したがって、一部のノードを、ペインティングと類似のコマンドを使用して編集できる静的イメージとすることができ、他のノードを、編集可能テキストとすることができ、他のノードを、ビューイングおよびクリックのために設計されたウェブ・ページとすることができる。これらのノードのすべてが、共通の大きいスペース的環境すなわち「スーパー・ノード」内で共存することができ、このスーパー・ノードを、ズームおよびパンによってナビゲートすることができる。
【０１７１】
良好に実装されたズーミング・ユーザ・インターフェースについて幾つかの直接的な結果があり、これには以下が含まれる。  
−  非常に大きいドキュメントを、その全体をリポジトリからダウンロードせずにブラウズすることが可能である。したがって、使用可能な短期メモリより大きいドキュメント、または、別の方法では禁止的されることになる大きいサイズのドキュメントでさえ、制限なしに見ることができる。  
−  コンテンツは、ナビゲーション中に必要に応じてダウンロードされるだけであり、使用可能な帯域幅について好ましい効率的な使用がもたらされる。  
−  ズームおよびパンは、スペース的に直観的に理解できる動作であり、大量の情報を簡単に理解される形で編成することを可能にする。  
−  「スクリーン・スペース」が実質的に制限されないので、同時に複数のドキュメントまたはビューについて佐合するために、ウィンドウを最小化したり、複数のデスクトップを使用したり、またはウィンドウを互いの後ろに隠したりすることは、不要である。そうではなく、ドキュメントを望み通りに配置することができ、ユーザは、すべてのドキュメントの概観を得るためにズーム・アウトしたり、または特定のドキュメントにズーム・インしたりすることができる。このことは、それらのドキュメントの任意の組合せを同時にスクリーン上で有用なスケールで可視にすることを可能にするためにそのようなドキュメントの位置を（またはスケールさえも）再配置する可能性を排除しない。また、これは、ズームをより伝統的な手法と組み合わせることを必ずしも排除しない。  
−  ズームは、ナビゲーションについての本質的な態様なので、すべての種類のコンテンツを、適当なスペース的スケールで見ることができる。  
−  高分解度ディスプレイは、もはや、テキストおよびイメージを小さい（時々読み取れない）サイズに縮小することを意味しなくなる。ズームのレベルに応じて、高分解度ディスプレイは、より多くのコンテンツを同時に見ること、またはコンテンツを通常のサイズでより高い忠実度で見ること、のいずれかを可能にする。  
−  視覚障害者は、単純にさらにズーム・インすることによって、通常の視力を有する人と同一のコンテンツを簡単にナビゲートすることができる。
【０１７２】
これらの利点は、ウェブに接続された普通のコンピュータから利用できる情報の量が激増した現在では、特に貴重である。１０年前には、ＺＵＩが見ることを可能にする種類の非常に大きいドキュメントは、まれであり、さらに、そのようなドキュメントは、非常に多くのスペースを占めることになるので、ほとんどのコンピュータで使用可能なリポジトリ（たとえば、４０ＭＢハードディスク）におさまるドキュメンとは殆どなかった。しかし、現在、我々は、非常に異なる情況に直面しており、サーバは、膨大なドキュメントおよびドキュメント階層を簡単に格納することができ、この情報を、ウェブに接続されたすべてのクライアントから使用可能にすることができる。それでも、これらの潜在的に膨大なリポジトリと普通のユーザとの間の接続の帯域幅は、ローカル・ハードディスクへの接続の帯域幅よりはるかに低い。これが、まさに、ＺＵＩが普通のグラフィカル・ユーザ・インターフェースに対するその最大の利点を与えるシナリオである。
【０１７３】
（発明の詳細な説明）
ある所望の分解度でのノードの特定のビューには、あるＬＯＤのタイルのセットがあり、これは、そのレンディション（ｒｅｎｄｉｔｉｏｎ）が、１スクリーン・ピクセルあたり少なくとも１つのサンプルを含むように描かれる必要がある。通常、ビューは、ノードのＬＯＤのうちの１つの分解度丁度に位置するのではなく、これらの複数の分解度のうちの２つの間の中間分解度になることに留意されたい。したがって、理想的には、ズーミング環境で、クライアントは、これらのＬＯＤの両方（実際の分解度のすぐ上とすぐ下）で可視タイルのセットを生成し、ある補間を使用して、この情報に基づいてディスプレイ上のピクセルをレンダリングする。最も一般的なシナリオは、スペース的に及び２つの詳細レベルの間の両方での線形補間であり、グラフィックス分野では、通常、これをトライ・リニア補間と称する。密接に関連する技法が、テクスチャリングのために３Ｄグラフィックス・アーキテクチャで一般的に使用されている６。  
【０１７４】
＜６＞Ｓ．Ｌ．  Ｔａｎｉｍｏｔｏ  ａｎｄ  Ｔ．  Ｐａｖｌｉｄｉｓ，  Ａ  ｈｉｅｒａｒｃｈｉｃａｌ  ｄａｔａ  ｓｔｒｕｃｔｕｒｅ  ｆｏｒ  ｐｉｃｔｕｒｅ  ｐｒｏｃｅｓｓｉｎｇ，  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ａｎｄ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ，  Ｖｏｌ．  ４，  ｐ．  １０４−１１９  （１９７５）；  Ｌａｎｃｅ  Ｗｉｌｌｉａｍｓ，  Ｐｙｒａｍｉｄａｌ  Ｐａｒａｍｅｔｒｉｃｓ，  ＡＣＭ  ＳＩＧＧＲＡＰＨ  Ｃｏｎｆｅｒｅｎｃｅ  Ｐｒｏｃｅｅｄｉｎｇｓ  （１９８２）
【０１７５】
残念ながら、タイルのダウンロード（またはプログラム的レンダリング）は、しばしば低速であり、特に素速いナビゲーション中に、必要なタイルのすべてが常に使用可能にはならない。したがって、本特許におけるイノベーションは、タイルのダウンロードまたは作成が低速に非同期に行われている環境で、この理想的なイメージを近似するイメージで、スペース的および時間的に連続したコヒーレントなイメージ、を見る人に与える戦略の組合せに、焦点を合わせることにある。
【０１７６】
次では、２つの変数名ｆおよびｇを使用する。ｆは、＃１で定義された、ディスプレイに対する相対的なタイルのサンプリング密度を指す。タイリングの細分性は、変数ｇとして記述されるが、次に低いＬＯＤの直線タイリング・グリッド・サイズに対する、あるＬＯＤの直線タイル・グリッド・サイズの比として定義される。これは、一般に、所与のノードの異なる詳細レベルにまたがって一定であると仮定されるが、本明細書で提示されるイノベーションのどれも、定数のｇには依存しない。前のセクションで考慮したＪＰＥＧ２０００の例では、ｇ＝２であり、概念的に、各タイルは、次に高いＬＯＤで２×２＝４個のタイルに「分割」される。細分性２は、類似するアプリケーションで圧倒的に最も一般的であるが、現在のコンテクストでは、ｇは、他の値をとることができる。
【０１７７】
１．詳細レベル・タイル要求キューイング（Ｌｅｖｅｌ  ｏｆ  ｄｅｔａｉｌ  ｔｉｌｅ  ｒｅｑｕｅｓｔ  ｑｕｅｕｉｎｇ）。  
まず、クライアントが合成イメージを漸進的に、光学機器との類比によって、「焦点が合った」状態にすることを可能にするタイル要求をキューイングするシステムおよび方法を紹介する。
【０１７８】
階層的にタイリングされたノードを含む情報リポジトリへの、不安定で、おそらくは低帯域幅の接続という問題に直面して、ズーミング・ユーザ・インターフェースは、ナビゲーション中にどのようにタイルを要求するかという問題に対処しなければならない。多くの情況で、すべてのそのような要求がタイムリーな形で満足されると仮定すること非現実的であり、またはそれらの要求が、情報が関連する期間中に（すなわち、ユーザがズームし終えるかどこかにパンし終える前に）とにかく満足されると仮定することでさえも非現実的である。したがって、タイル要求にインテリジェントに優先順位を与えることが望ましい。
【０１７９】
タイル要求キューイングの「最も外側」のルールは、そのディスプレイに関連して詳細レベルを増加させることである。この「相対的な詳細レベル」は、ｆ＝（タイル・ピクセル単位での直線タイル・サイズ）／（スクリーン・ピクセル単位で測定されたスクリーン上の投影されたタイルの長さ）によって与えられる。ｆ＝１の場合に、タイル・ピクセルは、スクリーン・ピクセルに対して１：１であり、ｆ＝１０の場合に、タイル内の情報は、そのディスプレイが表示できるものよりはるかに詳細であり（１０＊１０＝１００個のタイル・ピクセルが、単一のスクリーン・ピクセルの内側におさまる）、ｆ＝０．１の場合に、タイルは、ディスプレイに対して相対的に粗い（すべてのタイル・ピクセルが、１０＊１０＝１００個のディスプレイ・ピクセルをカバーするように「ストレッチ」または補間されなければならない）。このルールは、ディスプレイのある領域が、ディスプレイの残りに対して相対的にアンダー・サンプリングされる（すなわち、粗く定義されるだけである）場合に、クライアントの最初の優先順位が、この「分解度の穴（ｒｅｓｏｌｕｔｉｏｎ  ｈｏｌｅ）」を充填することになる、ことを保証する。複数の詳細レベルが、この穴の中で欠けている場合には、ｆ＜１のすべての詳細レベルに関する要求と、次に高い詳細レベル（ＬＯＤブレンディングを可能にするために、＃５を参照されたい）とが、増加する順序でキューイングされる。一見したところ、これは、不必要なオーバーヘッドを導入するように思われる。というのは、これらの詳細レベルのうちで最も微細なものだけが、現在のビューをレンダリングするのに厳密に必要であり、より粗い詳細レベルは、それらがディスプレイ上のより低い分解度のイメージを定義するという点で冗長であるからである。しかし、これらのより粗いレベルは、より大きい面積をカバーし、一般に、ディスプレイよりかなり大きい面積をカバーする。すべてのノードの最も粗い詳細レベルは、実際に、構成によって単一のタイルだけを含み、したがって、あるノードのすべてのビューをレンダリングするクライアントは、必ず、この「最も外側」のタイルを最初にキューイングする。
【０１８０】
これは、ビューイングの堅牢性（ｒｏｂｕｓｔｎｅｓｓ）にとって重要なポイントである。堅牢性によって、本発明人は、満たされるのを待っているタイル要求の大きいバックログ（ｂａｃｋｌｏｇ）がある場合であっても、クライアントが、ユーザのパンおよびズームに反応して表示すべきものに関して絶対に「途方に暮れ」ないことを意味する。クライアントは、単純に、ディスプレイ上のすべての領域について、使用可能な最良の（すなわち、最高分解度の）イメージを表示する。最悪でも、これは、最も外側のタイルになり、この最も外側のタイルは、そのノードに関連してこれまでに要求された最初のタイルである。したがって、そのノードのすべてのスペース的部分は、最初のタイル要求だけに基づいて常にレンダリング可能になり、すべての後続タイル要求は、詳細さを増加させるもの（ｉｎｃｒｅｍｅｎｔａｌ  ｒｅｆｉｎｅｍｅｎｔｓ）と考えることができる。
【０１８１】
より低い分解度のタイルに頼ることは、イメージをぼかすという印象を作り出す。したがって、全体的な効果は、ディスプレイが、かなり大きなパンまたはズームの後にぼけて見える場合があることである。その後、タイル要求が満たされるとに、そのイメージはシャープになる。
【０１８２】
単純な計算から、「冗長な」より低い分解度のタイルを要求することによってもたらされるオーバーヘッドは、実際には些細であり、具体的には、ノード・イメージを最初からすべての場所で明確に定義させるという堅牢性のためのわずかな代償である、ことが示される。
【０１８３】
２．フォービエイテッド・タイル要求キューイング（Ｆｏｖｅａｔｅｄ  ｔｉｌｅ  ｒｅｑｕｅｓｔ  ｑｕｅｕｉｎｇ）。  
１つの相対詳細レベル内では、タイル要求は、図Ａ２−３に示されているように、スクリーンの中心からの距離が増加するにしたがってキューイングされる。このテクノロジは、高分解度のために特殊化された中央領域、すなわち中心窩（ｆｏｖｅａ）、を有する人間の目がヒントになっている。ズームは、通常はディスプレイの中央領域における関心対象に関連付けられるので、フォービエイテッド・タイル要求キューイングは、通常、内向きのズーム中のビジュアル情報に関するユーザの暗黙の優先順位付けを反映する。さらに、ユーザの目は、一般に、エッジよりもディスプレイの中心付近の領域を見ることにより長い時間を費やすので、ディスプレイのエッジにある残留ブラリネス（ぼけ）は、中心付近より顕著でない。
【０１８４】
フォービアル・タイル要求順序を使用するズーム・インによって作られるディスプレイの中心付近での鮮明度の、過渡的で相対的な向上は、ズーム・アウトの自然な結果をも再現する。図Ａ２−４を参照されたい。この図には、２つの代替の「ナビゲーション・パス」が示されており、最上部の行では、ユーザは、ディスプレイの約２／３を占める単一のドキュメント（またはノード）を見ながら静止したままであり、このドキュメントは、非常に高い分解度で表示できると仮定される。当初に、ノード・コンテンツは、単一の低分解度タイルによって表され、次に、次のＬＯＤのタイルが、使用可能になり、ノード・コンテンツが、４（＝２×２）個のタイルを用いて２倍の分解度で可視にされ、４×４＝１６タイル・バージョンおよび８×８＝６４タイル・バージョンがそれに続く。２番目の行では、最上部の行に表示されたイメージが完全に詳細化される前に、ユーザが、陰影付きの正方形にズーム・インする場合に起きることを追跡する。より高い詳細レベルのタイルが、やはりキューイングされるが、この場合には、部分的にまたは完全に可視のタイルだけがキューイングされる。詳細化は、最上部の行の詳細化に匹敵するポイントまで進行する（ディスプレイ上の可視タイルの個数に関して）。３番目の行には、その後のユーザが再びズーム・アウトした場合に使用可能であるものと、欠けている詳細がどのように充填されるかが示されている。すべての詳細レベルが示されているが、実際には、非常に微細なレベルは、ディスプレイが伝えられるものより微細な詳細を表すので、おそらくは最下部の行でディスプレイから省略されることになることに留意されたい。
【０１８５】
ズーム・アウトが、通常は、ディスプレイの中心を周辺より詳細なタイルで満たされたままにすることに留意されたい。したがって、タイル要求のこの順序付けは、すべてのナビゲーション中にディスプレイの中心領域の鮮明度に一貫して優先順位を与える。
【０１８６】
３．時間的ＬＯＤブレンディング（Ｔｅｍｐｏｒａｌ  ＬＯＤ  ｂｌｅｎｄｉｎｇ）。  
さらなる詳細化がなければ、現在のディスプレイに必要なタイルが、初めてダウンロードされるか、構成されかして描かれると、そのタイルは、おそらくは同一のコンテンツを表す、下にある、より粗いタイルの一部を即座に隠すことになり、ユーザは、この遷移を、ディスプレイのある領域内のブラリネスの突然の変化として体験する。そのような突然の遷移は、見苦しく、ユーザの注意をソフトウェアの実装の詳細まで不必要に引き付ける。ＺＵＩ設計に対する本発明者の全般的手法は、ユーザのためにシームレスなビジュアル体験を作成することであり、この体験は、タイルの存在に注意を引き付けず、または「ｕｎｄｅｒ  ｔｈｅ  ｆｏｏｄ（裏方の役割、舞台裏）」に留まらなければならないソフトウェアの他の態様に注意を引き付けない。したがって、タイルが初めて使用可能になるときに、それらのタイルは、即座に表示されるのではなく、複数のフレームにまたがって、通常は約１秒にわたってブレンド・インされる。ブレンディング関数は、線形関数（すなわち、新しいタイルの不透明度は、そのタイルが使用可能になったときからの時間の線形関数であり、その結果、固定されたブレンドイン・インターバルの中間ポイントでは、新しいタイルは５０％不透明になる）、指数関数的に、または任意の他の補間する関数に従うものとすることができる。指数ブレンディングでは、すべての短い一定の時間のインターバルが、不透明度の一定のパーセントの変化に対応し、たとえば、新しいタイルが、すべてのフレームで２０％だけより不透明になるものとすることができ、これは、連続するフレームにまたがる不透明度のシーケンス、２０％、３６％、４９％、５９％、６７％、７４％、７９％、８３％、８７％、８９％、９１％、９３％などをもたらす。数学的には、指数は絶対に１００％に到達しないが、実際には、不透明度は、短いインターバルの後に１００％と区別不能になる。指数ブレンディングは、不透明度の最大の増加が、ブレンド・インの先頭付近で発生し、これによって、許容できる時間的連続性を保存しながら、新しい情報を素速くユーザに可視にするという利点を有する。本発明者の参考的な実装では、作成される錯覚は、必要な情報が使用可能になるにつれて、ディスプレイの諸領域が滑らかに合焦点になることである。
【０１８７】
４．連続的ＬＯＤ（Ｃｏｎｔｉｎｕｏｕｓ  ＬＯＤ）。  
タイルのダウンロードまたは作成が、ユーザのナビゲーションに遅れをとっている情況で、ディスプレイの隣接領域が、異なる詳細レベルを有する場合がある。前の革新（＃３）は、詳細レベルの時間的不連続性の問題に対処するが、別の革新が、詳細レベルのスペース的不連続性の問題に対処するために必要となる。補正されない場合に、これらのスペース的不連続性は、イメージ内の継ぎ目としてユーザに可視であり、ビジュアル・コンテンツが、その継ぎ目の片側でよりシャープに描かれる。本発明者は、各タイルの不透明度をタイル領域にまたがって変化することを可能にすることによってこの問題を解決する。具体的に言うと、この不透明度は、タイル・エッジが、より低い相対詳細レベルを有するディスプレイ上の領域に接する場合に、そのエッジで０になるようにされる。いくつかの情況で、タイルの各コーナーの不透明度を、そのコーナーがより低い相対的な詳細レベルの領域に接する場合に、０にすることも重要である。
【０１８８】
図Ａ２−５に、タイル破片（ｔｉｌｅ  ｓｈａｒｄ）と称する四辺形および三角形のそれぞれの上で不透明度が連続的に変化するように、各タイルをどのようにタイル破片に分解することができるかに関する本発明者の最も単純な、参考の実装を示す。正方形ａｃｅｇによって境界を示されるタイルＸは、左、右、上、および下に、隣接するタイルＬ、Ｒ、Ｔ、およびＢを有し、これらのそれぞれが、１つのエッジを共有する。タイルＸは、単一のコーナーを共有する隣接物ＴＬ、ＴＲ、ＢＬ、およびＢＲをも有する。タイルＸが、存在すると仮定する。その「内側正方形」ｉｉｉｉは、完全に不透明である（繰り返された小文字が、同一の頂点不透明度値を示すことに留意されたい）。しかし、周囲の四辺形フレームの不透明度は、隣接するタイルが存在する（および、完全に不透明である）かどうかによって決定される。したがって、タイルＴＬが存在しない場合には、ポイントｇが、完全に透明になり、Ｌが存在しない場合には、ポイントｈが、完全に透明になるなどである。本発明者は、タイルの境界領域（ｉｉｉｉの外側のＸ）をブレンディング・フラップ（ｂｌｅｎｄｉｎｇ  ｆｌａｐ）と呼ぶ。
【０１８９】
図Ａ２−６に、破片にまたがって不透明度を補間するのに使用される参考の方法を示す。パート（ａ）は、一定の不透明度の四辺形を示す。パート（ｂ）は、２つの対向するエッジの不透明度が異なる四辺形であり、内側の不透明度は、単純に、各内側のポイントの２つのエッジからの最短距離に基づく線形補間である。パート（ｃ）は、３つすべてのコーナーａｂｃの不透明度が異なる場合があるときの、三角形内部の不透明度を補間する双一次方法を示す。概念的に、すべての内側のポイントｐは、この三角形を、面積Ａ、Ｂ、およびＣを有する図示の３つのサブ三角形に再分割する。ｐでの不透明度は、単純に、コーナーでの不透明度の加重和であり、ここで、重みは、３つのサブ三角形の分数面積である（すなわち、Ａ、Ｂ、およびＣが、三角形総面積Ａ＋Ｂ＋Ｃによって除算される）。この公式が、ｐがある頂点に移動したときにその頂点での不透明度を与えること、およびｐが三角形のエッジ上にある場合に、ｐの不透明度が２つの接続された頂点の間の線形補間であることを、たやすく検証することができる。
【０１９０】
ある破片の中の不透明度は、完全にその頂点での不透明度によって決定され、隣接する破片は、必ず頂点を共有する（すなわち、Ｔ字形接合ポイントはない）ので、この方法は、不透明度が、タイリングされた表面全体にわたって非常に滑らかに変化することを保証する。＃３の時間的ＬＯＤブレンディングと共同して、この戦略は、ユーザに可視の相対詳細レベルを、ディスプレイ領域および時間経過の両方で、連続関数にする。スペース的継ぎ目と時間的不連続性との両方が、これによって回避され、ユーザに、シーンを連続的に合焦点の状態に至らせる光学器械を連想させるビジュアル体験を与える。大きいドキュメントのナビゲートについて、シーンを合焦点にする速度は、リポジトリへの接続の帯域幅、またはレンディションの速度のうちの遅い方の関数である。最後に、革新＃２のフォービエイテッド優先順位付けと共同して、連続的詳細レベルは、ディスプレイの中心領域がまず合焦点になるように偏らされる。
【０１９１】
５．一般化された線形ミップマップ線形ＬＯＤブレンディング（Ｇｅｎｅｒａｌｉｚｅｄ  ｌｉｎｅａｒ−ｍｉｐ−ｍａｐ−ｌｉｎｅａｒ  ＬＯＤ  ｂｌｅｎｄｉｎｇ）。  
ノード上の見かけのＬＯＤにおけるスペース的および時間的な滑らかさを保証するための戦略および基準実装を述べてきた。しかし、詳細レベルが連続的なズーム動作中にブレンディングされる態様を、まだ、扱っていない。使用される方法は、トライ・リニア補間の一般化であり、この一般化では、隣接する詳細レベルが、スケールの中間範囲にわたって線形にブレンディングされる。各詳細レベルでは、各タイル破片が、描かれる際に不透明度を有し、この不透明度は、スペース的滑らかさのために同一詳細レベルの隣接するタイル破片を使用してスペース的に平均をとられ、経時的な滑らかさのために時間的に平均をとられる。ターゲット不透明度は、詳細レベルがディスプレイをアンダー・サンプリングする、すなわち、ｆ＜１である（＃１を参照されたい）場合に、１００％である。しかし、詳細レベルがディスプレイをオーバー・サンプリングする場合には、ターゲット不透明度は、オーバー・サンプリングがｇ倍である場合に、０になるように、線形に（または、任意の他の単調関数を使用して）減らされる。トライ・リニア補間に似て、これは、ズーム動作期間に連続的ブレンディングを引き起こし、知覚される詳細レベルが突然に変化することな決してないことを保証する。しかし、普通のトライ・リニア補間（２つの詳細レベルのブレンディングを必ず伴う）とは異なって、この方式でのブレンディングされる詳細レベルの個数は、１個、２個、または３個以上とすることができる。３個以上の個数は、過渡的であり、複数の詳細レベルのタイルが、まだ時間的に十分にブレンディングされていないことによって引き起こされる。単一のレベルも、通常は、理想より低いＬＯＤが、まだダウンロードされていないか構成されておらず、ブレンド・インされていない、より高いＬＯＤについて１００％不透明度で「代役を務めている」、ときに発生するという点で、通常は過渡的である。
【０１９２】
１つのノード用の複数ののタイル破片からなるセットをレンダリングする最も単純な基準実装は、いわゆる「ペインターズ・アルゴリズム（ｐａｉｎｔｅｒ’ｓ  ａｌｇｏｒｉｔｈｍ）」を使用することであり、すべてのタイル破片が、後ろから前への順序で、すなわち、最も粗いもの（最低ＬＯＤ）から最も微細なもの（ｇ倍未満でディスプレイをオーバー・サンプリングする最高ＬＯＤ）への順序でレンダリングされる。最高ＬＯＤを除くすべてのＬＯＤのターゲット不透明度は、１００％であるが、これらのＬＯＤは、その時間的ブレンディングが不完全である場合に、より低い透明度で過渡的にレンダリングされる可能性がある。最高ＬＯＤは、上で述べたように、それがディスプレイをどれほどオーバー・サンプリングするかに応じて、可変不透明度を有する。明らかに、この参考の実装は、後にレンダリングされる破片によって完全に隠される破片をレンダリングする場合があるという点で、最適ではない。より最適の実装は、３Ｄグラフィックスで陰面消去に使用されるものに似たデータ構造およびアルゴリズムの使用を介して可能である。
【０１９３】
６．動き予想（Ｍｏｔｉｏｎ  ａｎｔｉｃｉｐａｔｉｏｎ）。  
素速いズームまたはパンの間には、タイル要求が需要について行くことが、特に難しい。それでも、この素速いナビゲーションパターン中に、ズームまたはパンの動きは、線形外挿によって局所的によく予測される傾向がある（すなわち、方向の突然の逆転または変更を行うことは難しいが）。したがって、本発明者は、この時間的な動きのコヒーレンスを活用して、わずかに早めにタイル要求を生成し、これによりビジュアル品質を改善する。これは、パンまたはズームのとの動きの方向に関して引き延ばすか膨張するか収縮する仮想ビュー・ポートを使用してタイル要求を行い、これにより追加タイルに関する要求をプリエンプトすることによって、達成される。ナビゲーションが停止すると、仮想ビュー・ポートは、短い時間のインターバルで解除され、実際のビュー・ポートに戻る。
【０１９４】
上の革新のどれもが、四辺形タイリングに制約されず、三角形タイリングもしくは六角形タイリング、またはそのような形状の混合からなる異種タイリング、あるいは完全に任意のタイリングなど、グリッド上で定義できるすべてのタイリング・パターンに、明白な形で一般化されることに留意されたい。そのような代替タイリングに対処するために行う必要がある唯一の明示的な変更は、エッジおよび内側の不透明度のすべてを独立に制御できるように、図Ａ２−５の三角形分割に似たタイル形状の三角形分割を定義することである。
【０１９５】
図２Ａ−１
【０１９６】
2008517540.tif 000005
【０１９７】
Ａ３  （表題）複数分解度のビジュアル・データを効率的に、動的に、および連続的に表示のためのシステムおよび方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＴＨＥ  ＥＦＦＩＣＩＥＮＴ，  ＤＹＮＡＭＩＣ  ＡＮＤ  ＣＯＮＴＩＮＵＯＵＳ  ＤＩＳＰＬＡＹ  ＯＦ  ＭＵＬＴＩ−ＲＥＳＯＬＵＴＩＯＮ  ＶＩＳＵＡＬ  ＤＡＴＡ）
（発明者）ＢＬＡＩＳＥ  ＨＩＬＡＲＹ  ＡＧＵＥＲＡ  Ｙ  ＡＲＣＡＳ
【０１９８】
（発明の分野）
本発明は、全般的には複数分解度の像（ｉｍａｇｅｒｙ）に関する。より具体的には、本発明は、コンテンツのビジュアル表現を、リアルタイムに、異なる分解度または異なる詳細レベルで、一緒に効率的にブレンディングするシステムおよび方法に関する。この方法は、ビジュアライズされるデータが連続して変化し、部分的データだけが所与の時点で使用可能である可能性がある、非常に動的なコンテンツにおいてさえ、知覚的連続性を保証する。本発明は、コンピュータのズーミング・ユーザ・インターフェース（ＺＵＩ）を含む（しかし、これに限定はされない）多数の分野に応用例を有する。
【０１９９】
（発明の背景）
複雑なビジュアル・データの表示を伴う多くの情況で、これらのデータは、異なる詳細レベル（ＬＯＤ）の表現のコレクションとして、階層的に格納され、または計算される。多くの複数分解度方法および複数分解度表現が、ディジタル・イメージ用のウェーブレットおよび３Ｄモデル用のプログレッシブ・メッシュ（ｐｒｏｇｒｅｓｓｉｖｅ  ｍｅｓｈ）を含む（たとえば、限定なしに）異なる種類のデータ用に、考案されてきた。複数分解度方法は、おそらくは長期にわたる計算を、より「粗く」またはより「微細に」実行できる情況で、数学シミュレーションおよび物理シミュレーションにも使用されている。本発明も、そのようなシミュレーションに、および複数分解度ビジュアル・データを対話的に生成できる他の情況に、適用される。さらに、本発明は、ビジュアル・データを、たとえば機械制御可能なパンおよびズームを有するカメラから、異なる詳細レベルで「オン・ザ・フライで」入手できる情況に適用される。本発明は、１つまたは複数の２Ｄディスプレイ（ＣＲＴスクリーンまたはＬＣＤスクリーンなど）でのそのような複数分解度ビジュアル・データの動的ディスプレイに対する一般的なアプローチである。
【０２００】
本発明の説明では、大きいディジタル・イメージのウェーブレット分解（展開）（ｗａｖｅｌｅｔ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）（たとえば、ＪＰＥＧ２０００イメージ・フォーマットで使用されるもの）を主な例として使用する。この分解は、その出発ポイントとして、通常は規則的な四辺形グリッド上のサンプルのアレイである、オリジナル・ピクセル・データを採用する。各サンプルは、通常、そのグリッド座標に対応するスペース内のポイントで測定された色または輝度を表す。いくつかの応用例で、グリッドは、非常に大きく、たとえば１辺が数万個のサンプル（ピクセル）またはそれ以上とすることができる。この大きいサイズは、特にそのようなイメージが、サーバ（イメージが格納される）が低帯域幅接続によってクライアント（イメージが見られる）に接続される環境で、リモートでブラウズされるときに、対話型ディスプレイについてかなりの困難さを与える可能性がある。イメージ・データが、単純なラスタ順でサーバからクライアントに送信される場合に、クライアントがイメージ全体の概観を生成できるようになる前に、すべてのデータが伝送されなければならない。これは、長い時間を要する可能性がある。そのような概観の生成は、おそらく、計算処理上で負荷が重い可能性があり、たとえば、２００００×２００００ピクセルのイメージを５００×５００ピクセルにダウン・サンプリングすることを必要とする場合がある。そのような動作は、対話性を可能にするのに遅すぎるだけではなく、クライアントが完全なイメージ・データを格納するのに十分なメモリを有することも必要とし、このメモリは、上で引用した例では、８ビットＲＧＢカラー・イメージについて１．２ギガバイト（＝３＊２００００＾２）である。
【０２０１】
現在ウェブ上にあるほとんどすべてのイメージが、１００Ｋ（０．１ＭＢ）未満である。というのは、ほとんどのユーザが、ＤＳＬまたはより低帯域幅でウェブに接続され、より大きいイメージが、ダウンロードに時間がかかりすぎるからである。ローカル・セッティングであっても、通常のユーザのハード・ドライブ上で、５００Ｋ（０．５ＭＢ）を超えるイメージに出会うことは、普通ではない。より大きい（すなわち、より詳細な）イメージがしばしば有用であることは、平均的な家庭内の絵本、地図帳、地図、新聞、およびアートワークに、多数のイメージが含まれ、これらは、フル分解度でディジタル化された場合にサイズにおいてすぐに数十メガバイトになることになるという事実によって立証される。
【０２０２】
数年前に、大きなイメージが存在しなかったことは、主に、不揮発性ストレージス・ペース（リポジトリ・スペース）の不足に起因したが、ハード・ドライブ・テクノロジの進歩、ＣＤＲＯＭを焼くことのたやすさ、および大型のネットワーク化されたサーバの高まる普及は、リポジトリ・スペースを、もはや制限要因ではなくした。主要なボトルネックは、現在、帯域幅であり、これに短期メモリ（すなわち、ＲＡＭ）スペースが続く。
【０２０３】
ＪＰＥＧ２０００１などの現代のイメージ圧縮標準規格は、この問題に正確に対処するように設計されている。イメージ・コンテンツを直線の形で（すなわち、通常は上から下、左から右への、ピクセル上の単一のパスで）格納するのではなく、これらの標準規格は、複数分解度分解（ｍｕｌｔｉ−ｒｅｓｏｌｕｔｉｏｎ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）に基づく。イメージは、まず、通常は２の複数の因数で、分解度スケールの階層にサイズ変更され、たとえば、５１２×５１２ピクセルのイメージは、２５６×２５６ピクセル、１２８×１２８、６４×６４、３２×３２、１６×１６、８×８、４×４、２×２、および１×１にサイズ変更される。本明細書では、各分解度がサイズにおいて次に高い分解度と異なる因数（ここでは２）を、細分性と称し、変数ｇによって表す。細分性は、異なるスケールで変化する場合があるが、ここでは、たとえば、限定なしに、ｇが「イメージ・ピラミッド」にまたがって一定であると仮定する。明らかに、微細な詳細は、より高い分解度でのみキャプチャされ、幅広いストロークは、低分解度で、はるかに少ない量の情報を使用してキャプチャされる。したがって、異なるサイズを有するイメージまたはスケールが、しばしば詳細レベルまたは略してＬＯＤと呼ばれる。一見したところでは、この一連の異なるサイズを有するイメージの格納要件は、高分解度イメージだけの格納要件より多い可能性があるかのように思われるが、実際にはそうではなく、低分解度イメージは、次に高い分解度の「プレディクタ」として働く。このことは、イメージ階層全体が、非常に効率的に、実際に、高分解度イメージだけの非階層表現を用いて通常可能になるはずのものに較べて、より効率的に、エンコードされることを可能にする。  
【０２０４】
＜１＞ｈｔｔｐ：／／ｗｗｗ．ｊｐｅｇ．ｏｒｇ／ＪＰＥＧ２０００．ｈｔｍｌ
イメージの複数分解度バージョンのシーケンスが、増加するサイズの順序でサーバのリポジトリに格納されると考えるならば、イメージがサーバからクライアントに転送されるにつれて、クライアントは、イメージ全体の低分解度概観を非常に素速く入手することができ、次第に微細になる詳細が、その後、伝送が進行するにつれて「充填」されることになるということは、当然の結果である。これは、増分（ｉｎｃｒｅｍｅｎｔａｌ）伝送またはプログレッシブ（ｐｒｏｇｒｅｓｓｉｖｅ）伝送として知られており、複数分解度表現の主要な利点の１つである。プログレッシブ伝送が正しく実装されるときには、サーバへの接続の帯域幅が非常にささやかな場合であっても、すべてのイメージを、それがどれほど大きいものであれ、そのスペース的全体を（完全な詳細ではないが）クライアントによってほとんど即座に見ることができる。完全に詳細なイメージをダウンロードするのに必要な時間の最終的な長さは、同一のままであるが、この情報が送信される順序は、イメージの大きなスケールでの特徴能がまず送信されるように変更されており、これは、ピクセル情報を、完全な詳細レベルで、上から下、左から右への「読取順序」で送信するよりも、クライアントにとってはるかに役立つ。
【０２０５】
動的で対話的なコンテクストでランダム・アクセスを効率的にするためには、各詳細レベルをグリッドに再分割し、このグリッド正方形またはタイルが伝送の基本単位になるようにすることが便利である（絶対に必要ではないが）。各タイルのピクセル単位のサイズは、各増加した詳細レベルに、前の詳細レベルより約４倍多いタイルが含まれるように、一定のサイズ以下に保つことができる。イメージの寸法が、公称タイル・サイズの正確な倍数でない場合があるので、小さいタイルが、イメージのエッジで発生する場合があり、また、最低詳細レベルでは、イメージ全体が、単一の公称タイルより小さくなる。したがって、６４×６４ピクセルのタイルを仮定する場合に、前に検討した５１２×５１２ピクセルのイメージは、その最高詳細レベルで８×８個のタイルを有し、２５６×２５６レベルで４×４個、１２８×１２８レベルで２×２個、残りの詳細レベルで単一のタイルを有する。ＪＰＥＧ２０００イメージ・フォーマットは、タイリングされた複数分解度イメージおよびランダム・アクセス・イメージを表すための、説明したばかりの機能を含む。
【０２０６】
大きいタイリングされたＪＰＥＧ２０００イメージが、限られたサイズおよび分解度を有する２Ｄディスプレイ上でクライアントによって対話的に見られている場合に、ある詳細レベルの隣接するタイルの特定のセットが、正確なレンディションを作るために必要である。しかし、動的なコンテクストでは、これらがすべて使用可能ではない場合がある。しかし、特にユーザがイメージの大まかな概観から始める場合に、より粗い詳細レベルのタイルが、しばしば使用可能である。より粗い詳細レベルのタイルは、スペース的にはるかに広い面積にまたがるので、関心を持たれている領域全体が、使用可能な複数のタイルからなる幾つかの組合せによってカバーされる可能性が高い。これは、使用可能なイメージ分解度が、ディスプレイ領域にまたがって一定でないことを暗示する。
【０２０７】
前に出願した特許仮出願で、本出願人は、同一詳細レベルの空白スペースに接する場合にタイルのエッジを「フェード・アウト」する方法を提案した。これは、そうでなければ微細詳細レベルの「カバレッジ」が不完全であるときに生じる鮮明度の不意の視覚的不連続性を回避する。ブレンディング用に予約されたタイルのエッジ領域を、ブレンディング・フラップと称する。完成した合成イメージを表示する最も単純な基準実装は、「ペインターズ・アルゴリズム」であり、最も粗い詳細レベル内のすべての関連するタイル（すなわち、ディスプレイ領域にオーバーラップするタイル）が、まず描かれ、これに、プログレッシブにより微細になる詳細レベルのすべての関連するタイルが続く。各詳細レベルでは、ブレンディングが、説明された不完全な領域のエッジで適用される。その結果は、望まれる通りに、より粗い詳細レベルが、より微細な詳細レベルによって隠されない場所に限って「透けて見える」ことである。
【０２０８】
この単純なアルゴリズムは、役に立つが、複数の短所を有する。第１に、タイルが最終的に部分的にまたは完全に隠されるときであってもタイルが描かれるので、このアルゴリズムは、プロセッサ時間について無駄が多い。具体的に言うと、ｆを最低詳細レベルに対する相対的なディスプレイの拡大の因数とすると、単純な計算から、各ディスプレイ・ピクセルが、しばしば、ｌｏｇ２（ｆ）回（再）描画されることが示される。第２に、この技法は、フレーム・バッファ内での合成に頼り、これは、ドローイング動作中の中間ポイントで、描かれる領域がその最終的な外見を有しないことを意味する。これは、フリッカを生じる分解度の出現を避けるために、ダブル・バッファリングまたは関連する方法を使用すること、およびオフ・スクリーンで合成を実行すること、を必要とする。第３に、追加の合成動作が適用されない限り、この技法は、不透明レンディションに使用することしかできず、たとえば、最終的なレンディションがどこでも５０％不透明度を有し、他のコンテンツが「透けて見える」ことを可能にすることを保証することは、不可能である。これは、ペインターズ・アルゴリズムが、１つの「ペイントのレイヤ」（すなわち、詳細レベル）が、下のレイヤを完全に隠すという効果に正確に頼るからである。ある詳細レベルが隠されることになる場所およびそうでない場所は、前もって知られてはいない。
【０２０９】
（本発明）
本発明は、ペインターズ・アルゴリズムのすべての利点を保存しながら、これらの問題を解決する。これらの利点の１つは、任意の種類のＬＯＤタイリングを扱う能力であり、これには、四辺形以外のまたは不規則なタイリング、ならびに本発明者が別々の特許仮出願を出願している無理数のグリッド・タイリングを含む。タイリングは、一般に、ビジュアル・コンテンツを含む領域の多角形への再分割またはテッセレーションからなる。タイリングが複数分解度コンテクストで有用になるためには、より低い詳細レベルのタイルの面積がより高い詳細レベルのタイルの面積より大きいことが一般に望ましく、それらのサイズがそれだけ異なる乗法係数が、細分性ｇであり、この細分性ｇは、定数であると仮定される（ただし、限定しないが）。以下では、無理数であるが四辺形のタイリング・グリッドを使用して、改善されたアルゴリズムを説明する。他のタイリング方式への一般化は、当業者には明白であろう。
【０２１０】
この改善されたアルゴリズムは、４つのステージからなる。第１ステージでは、合成グリッドが、描かれるべきすべての詳細レベルでのすべてのタイル・グリッドの可視部分についての重ね合せから、イメージの基準フレーム内に構成される。無理数タイリング革新（ｉｒｒａｔｉｏｎａｌ  ｇｒｉｄ  ｔｉｌｉｎｇｓ：別の特許仮出願で詳細に説明される）が使用されると、これは、図Ａ３−１に概略的に示された不規則な合成グリッドをもたらす。このグリッドは、各詳細レベルでタイル「ブレンディング・フラップ」を描くのに必要になるｘ値およびｙ値に対応するグリッド線によって増補される（結果のグリッドが密集しすぎ、視覚的に混乱させることになるので、図Ａ３−１には図示せず）。この合成グリッドは、グリッド線のｘ値およびｙ値のソートされたリストによって定義することができるが、すべての可視タイル（そのブレンディング・フラップを含む）を描くのに必要になるすべての四辺形および三角形の頂点が、ｘグリッド線とｙグリッド線との交差点にあるというプロパティを有する。ｘ軸に平行なｎ本のグリッド線と、ｙ軸に平行なｍ本のグリッド線とがあるものとする。次に、エントリがグリッドの正方形に対応する、２次元ｎ＊ｍテーブルを構成する。各グリッド・エントリは、２つのフィールドすなわち、０に初期化される不透明度と、当初は空である特定のタイルへの参照のリストとを有する。
【０２１１】
第２ステージは、減少する詳細レベルによってソートされた（単純な実装と反対に）タイルをウォーク・スルーすることである。各タイルは、整数個数の合成グリッド正方形をカバーする。これらの正方形のそれぞれについて、そのテーブル・エントリが１００％未満の不透明度を有するかどうかを検査して調べる、有する場合には、現在のタイルをそのリストに追加し、不透明度をそれ相応に増やす。このステップで使用されるタイルごとの不透明度は、タイル・データ構造体に格納される。この第２ステージが完了したときに、合成グリッドは、各グリッド正方形内に描かれるタイルの正しい片に対応するエントリを、これらの「タイル破片」を描くのに用いられる不透明度と一緒に含む。通常、これらの不透明度は、合計が１になる。完全に隠される低分解度タイルは、このテーブル内のどこでも参照されず、部分的に隠されるタイルは、それらが部分的に可視であるタイル破片でのみ参照される。
【０２１２】
このアルゴリズムの第３ステージは、合成グリッドのトラバーサルであり、このトラバーサルでは、合成グリッド頂点でのタイル破片不透明度が、同一詳細レベルの隣接する頂点の平均をとることによって調整され、これに、各頂点での合計不透明度（通常は１００％）を保存するための頂点不透明度の再調整が続く。これによって、別の特許仮出願に記載されたスケールのスペース的平滑化の洗練されたバージョンが実装される。この洗練は、合成グリッドが、一般に、特に低分解度タイルについて、革新＃４で定義された１タイルあたり３×３のグリッドより密であるという事実に由来する（より高いＬＯＤでは、構成によって、合成グリッド作成が、少なくとも必要なだけ微細になる）。これによって、平均化技法が、事実上、より多数のタイル破片からなる、より滑らかなブレンディング・フラップを作成することによって、見かけの詳細レベルでのより高い滑らかさを達成できるようになる。
【０２１３】
最後に、第４ステージでは、合成グリッドをもう一度トラバースし、タイル破片を実際に描く。このアルゴリズムは、データに対する複数のパスおよびある量のブックキーピング（ｂｏｏｋｋｅｅｐｉｎｇ）を用いるが、最終的に、ドローイングを行わなければならないのがずっと少なくなるので、単純なアルゴリズムよりはるかによい性能をもたらし、レンダリングされるすべてのタイル破片が、時々低い不透明度でではあるが、ユーザに可視である。一部のタイルが、全く描かれない場合がある。これは、表示される領域と交差するすべてのタイルをそっくりそのまま描く単純なアルゴリズムと対照的である。
【０２１４】
このアルゴリズムについてのさらなる利点は、単純に総不透明度ターゲットを１００％からより低い値に変更することによって、部分的に透明なノードを描くことを可能にすることである。これは、単純なアルゴリズムを用いては不可能である。というのは、すべての下にあるがより低い分解度のタイルを完全に「上塗りする」ために、最も詳細なものを除くすべての詳細レベルを完全な不透明度で描かなければならないからである。
【０２１５】
ビューが、ｘ−ｙ平面内でノードに対して相対的に回転されるときに、効率のためにある些細な変更を行う必要がある。合成グリッドは、通常の形で構成することができ、この合成グリッドは、より大きい座標範囲が対角線に沿って可視なので、回転されない場合のそのグリッドより大きくすることができる。しかし、複数のタイルをウォーク・スルーするときには、可視のタイルだけを考慮する必要がある（単純な、交差する多角形の判断基準によって）。また、ビューイング領域の外部の合成グリッド正方形は、第２ステージまたは第３ステージでのトラバーサル中に更新される必要がなく、第４ステージで描かれる必要がない。複数の他の実装詳細を変更して、性能を最適化することができることに留意されたい。このアルゴリズムは、本明細書では、その動作および本質的機能を最も理解しやすくする形で提示されている。当技術分野における技量を有するグラフィックス・プログラマは、これらの最適化する実装詳細を簡単に追加することができる。たとえば、タイル破片ごとにタイルのリストを保持する必要はなく、その代わりに、各詳細レベルを、完了したときに即座に正しい不透明度を用いて描くことができ、したがって、どの時にも１破片あたり単一のタイル識別の格納だけが必要になる。もう１つの例示的最適化は、（面積）×（残りの不透明度）の形で表される、まだ残っている総不透明度レンダリングを記憶でき、その結果、このアルゴリズムが、すべてを既に描き終えている場合に早期に終了できるようにすることであり、低い詳細レベルは、必要でない場合には全く「辿る（アクセスする）」必要がない。
【０２１６】
このアルゴリズムは、頂点不透明度およびタイル破片識別子を格納するのに、グリッドではなく制約付きドローネ三角分割法を使用することによって、任意の多角形タイリング・パターンに一般化することができる。このデータ構造は、そのエッジがオリジナルＬＯＤグリッドのすべてに含まれるすべてのエッジを含む三角形分割（ｔｒｉａｎｇｕｌａｔｉｏｎ）を効率的に作成するが、特定の三角形または頂点へのアクセスは、効率的な動作であり、オーダーｎ＊ｌｏｇ（ｎ）の時間で行うことができる（ここで、ｎは、追加される頂点または三角形の個数である）。結果の三角形は、さらに、ほとんどのグラフィックス・プラットフォームでグラフィック・レンダリングに使用される基本プリミティブである。
【０２１７】
Ａ４
（表題）ズーミング・ユーザ・インターフェースにおける無限精度座標のためのシステムおよび方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＩＮＦＩＮＩＴＥ  ＰＲＥＣＩＳＩＯＮ  ＣＯＯＲＤＩＮＡＴＥＳ  ＩＮ  Ａ  ＺＯＯＭＩＮＧ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ）
【０２１８】
（発明の分野）
本発明は、全般的にはコンピュータのズーミング・ユーザ・インターフェース（ＺＵＩ）に関する。より具体的には、本発明は、ズーム可能コンテンツが効果的に無限精度のスペース的位置決めおよびサイズを有することを可能にする階層データ構造を使用してズーム可能コンテンツを効率的に表し、ナビゲートするシステムおよび方法である。これは、制限されないスケールまたは深さのズーム可能環境を可能にする。
【０２１９】
（発明の背景）
ほとんどの現在のグラフィカル・コンピュータ・ユーザ・インターフェース（ＧＵＩ）は、固定されたスペース的スケールのビジュアル・コンポーネントを使用して設計されている。しかし、コンピュータ・グラフィックスという分野の誕生から、ビジュアル・コンポーネントがディスプレイ上で固定されたスペース的スケールを有するのではなく、ビジュアル・コンポーネントをズーム・インまたはズーム・アウトできる形で、ビジュアル・コンポーネントを表現でき、操作できることが認められた。ズーム可能コンポーネントの望ましさは、多くの応用領域、たとえば、地図のビューイング、新聞などの大きい異種テキスト・レイアウトのブラウジング、ディジタル写真のアルバムのビューイング、および大きいデータ・セットのビジュアライゼーションを用いる作業などで明白である。スプレッドシートおよびレポートなどの普通のドキュメントを見るときであっても、しばしば、ドキュメントの概観を見、次に、関心を持たれた領域にズーム・インできることが有用である。Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄ（登録商標）および他のＯｆｆｉｃｅ（登録商標）プロダクト（表示メニューの下のズーム）、Ａｄｏｂｅ（登録商標）Ｐｈｏｔｏｓｈｏｐ（登録商標）、Ａｄｏｂｅ（登録商標）Ａｃｒｏｂａｔ（登録商標）、ＱｕａｒｋＸＰｒｅｓｓ（登録商標）など、多くの現代のコンピュータ・アプリケーションに、ズーム可能コンポーネントが含まれる。ほとんどの場合に、これらのアプリケーションは、ドキュメントのズーム・インおよびズーム・アウトを可能にするが、必ずしもアプリケーション自体のビジュアル・コンポーネントのズーム・インおよびズーム・アウトを可能にはしない。さらに、ズームは、通常、ソフトウェアとのユーザの対話の周辺態様であり、ズーム・セッティングは、時たま変更されるのみである。ドキュメント上での連続的なパンは、標準的である（すなわち、スクロール・バーまたはカーソルを使用して、見られているドキュメントを左、右、上、または下に平行移動させること）が、連続的にズームする能力は、ほとんど必ず存在しない。より一般化されたズーミング・フレームワークでは、すべての種類のビジュアル・コンテンツをズームすることができ、ズームは、パンのようにユーザの体験の一部になるはずである。この線に沿ったアイデアは、早くも１９６０年代に多数の映画の未来的なコンピュータ・ユーザ・インターフェースとして現れ１、最近の映画は、その傾向を継続している２。複数の連続的ズーミング・インターフェースが、１９７０年代から現在までに、考えられ、かつ／または開発されてきた３。１９９１年に、これらのアイデアのいくつかが、ニューヨーク大学のＫｅｎｎｅｔｈ  ＰｅｒｌｉｎおよびＪａｃｏｂ  Ｓｃｈｗａｒｔｚによる米国特許第５３４１４６６号（Ｆｒａｃｔａｌ  Ｃｏｍｐｕｔｅｒ  Ｕｓｅｒ  Ｃｅｎｔｅｒｆａｃｅ  ｗｉｔｈ  Ｚｏｏｍｉｎｇ  Ｃａｐａｂｉｌｉｔｙ）で正式に承認された。Ｐｅｒｌｉｎおよび同僚によって開発されたプロトタイプ・ズーミング・ユーザ・インターフェースすなわちＰａｄとその後継であるＰａｄ＋＋は、その後にある開発を受けた４。しかし、本発明者の知る限り、フルＺＵＩ（ズーミング��ユーザ・インターフェース）に基づく主要なアプリケーションは、複数の技術的不足に部分的に起因して、まだ大量市場には現れておらず、これらの技術的不足のうちの１つが、本発明で対処される。  
＜１＞Ｓｔａｎｌｅｙ  Ｋｕｂｒｉｃｋ’ｓ  ２００１：  Ａ  Ｓｐａｃｅ  Ｏｄｙｓｓｅｙ，  Ｔｕｒｎｅｒ  Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｃｏｍｐａｎｙ，  ａ  Ｔｉｍｅ  Ｗａｒｎｅｒ  ｃｏｍｐａｎｙ  （１９６８）  
＜２＞Ｓｔｅｖｅｎ  Ｓｐｉｅｌｂｅｒｇ’ｓ  Ｍｉｎｏｒｉｔｙ  Ｒｅｐｏｒｔ，  ２０ｔｈ  Ｃｅｎｔｕｒｙ  Ｆｏｘ  ａｎｄ  Ｄｒｅａｍｗｏｒｋｓ  Ｐｉｃｔｕｒｅｓ  （２００２）  
＜３＞最初の出現は、Ｗ．Ｃ．  Ｄｏｎｅｌｓｏｎ，  Ｓｐａｔｉａｌ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ＳＩＧＧＲＡＰＨ  （１９７８），  ＡＣＭ  Ｐｒｅｓｓ，  ｐ．  ２０３−９である。最近の例は、Ｚａｎｖａｓ．ｃｏｍであり、これは、２００２年の夏に立ち上げられた。  
＜４＞Ｐｅｒｌｉｎは、ｈｔｔｐ：／／ｍｒｌ．ｎｙｕ．ｅｄｕ／ｐｒｏｊｅｃｔｓ／ｚｕｉ／で、その後の開発を記述している。
【０２２０】
（発明の概要）
本発明は、新たに開発されたズーミング・ユーザ・インターフェース・フレームワーク（以下では、その作業名であるＶｏｓｓによって参照する）の基本となる新規のアイデアを実施する。Ｖｏｓｓは、そのソフトウェア・アーキテクチャにおける複数の革新に起因して、それに先行するものより強力であり、より反応が速く、より視覚的に説得力があり、より一般的なユーティリティである。本発明は、具体的には、座標系およびナビゲーションに対するＶｏｓｓの手法に関する。
【０２２１】
ほとんどのグラフィックス・アーキテクチャは、その出発ポイントとして２Ｄ座標系を選び、この２Ｄ座標系は、通常はｘ座標およびｙ座標と称する、原点（０，０）からの水平および垂直の変位を表す数の対（ｘ，ｙ）として２次元（２Ｄ）スペース内のポイントを定義する。また、時々、２Ｄポイントは、極座標など、非デカルト座標系を使用して表され、次の議論の実質的な諸態様は、すべてのそのような座標系に同等にあてはまる。３次元（３Ｄ）グラフィックスの分野では、数の３つ組（ｘ，ｙ，ｚ）によって表される３Ｄ座標系が、通常、スペース内のポイントを表すのに使用され、やはり、これらは、デカルト座標であってもなくてもよい。ディスプレイは、通常は２次元なので、ビュー依存数学変換が、３次元ワールド座標を２次元スクリーン座標に換算するために必要である。どの場合でも、操作される座標は、通常、整数または浮動小数点のいずれかの、コンピュータにネイティブな数値データ型を使用して表される。そのようなデータ型は、通常、１６ビットと６４ビット（２進桁）との間のメモリを使用する。その限られた表現サイズのゆえに、これらの数は、限られた精度を有する、すなわち、その１０進拡張は、ある限られた個数の有効な桁までで定義されるに過ぎない。６４ビット浮動小数点の場合に、これは、約１５個の１０進桁である。
【０２２２】
座標系がディスプレイに「ロックされる」ときすなわち、各２Ｄ座標対（ｘ，ｙ）がディスプレイ表面上の固定されたポイントに対応するときに、この精度は、適度を上回るものである。しかし、ズーミング・ユーザ・インターフェースのコンテクストでは、ユーザは、たやすくズーム・インし、前に単一ピクセルによってカバーされた領域にディスプレイ全体を満たさせることができ、あるいは、ズーム・アウトし、ディスプレイ全体のコンテンツを単一ピクセルのサイズに縮小させることができる。各そのようなズームは、効果的に、約１０００の因数を（ｘ，ｙ）座標を乗算したり、除算したりする場合がある。したがって、複数のそのようなズーム・インまたはズーム・アウトは、すべての標準的な内部浮動小数点表現の精度を使い果たす（たとえば、５回のそのようなズーム動作は、６４ビット浮動小数点数の精度を完全に使い果たすはずである。このコンテクストで、打ち切り誤差または「丸め誤差」から生じるビジュアル・アーティファクトは、３回のそのようなズームの後に顕著になり始めることになる）。それでも、ズーミング・ユーザ・インターフェースでは、はるかに多数の回数だけズーム・インまたはズーム・アウトすることが望ましい可能性がある。これは、グローバル座標またはワールド座標を、ズームの範囲を厳しく制約せずに標準的なマシン・フォーマットに格納することができないことを意味する。
【０２２３】
本発明は、完全にワールド座標なしで済ませることによって、この問題を解決する。その代わりに、すべてのズーム動作およびパン動作が、集合的にコンテンツのズーム可能「ユニバース」を定義するローカル座標系のツリー（または、より一般的には、有向グラフ）内で行われる。コンテンツは、ノードの集合を含み、これらのノード自体は、マシン精度座標のローカル２Ｄ座標系を使用して定義される。したがって、標準的な６４ビット浮動小数点数が使用される場合に、単一のノードは、１座標あたり約１５個の１０進桁の精度を有することに制限され、あるいは、ピクセルに関して、１辺に多くとも約１０＾１４個のピクセルであることに制限される。しかし、あるノードは、それぞれが幾何学的に親の境界内に含まれる複数の子ノードの親であることができる。親に対する相対的な子のサイズおよび位置は、親のローカル座標系で指定することができ、したがって、マシン精度の数におさめることができるが、子は、それ自体のローカル座標系を有することができ、このローカル座標系は、子が、（たとえば）１辺に１０＾１４ピクセルまでの分解度を有することを可能にする。このように子ノードを子ノード内に埋め込むことによって、ビジュアル・コンテンツの無限に深いネスティングを可能にすると同時に、マシン精度の数だけを使用する幾何学的計算の格納、操作、および実行を行う構成が得られる。本発明の本体は、この方式をさらに解明し、ここで説明したデータ構造を使用するパン動作およびズーム動作の例示的実装の概要を示す。
【０２２４】
本発明の目的は、有限の「物理サイズ」を有するが任意に高い複雑さまたは分解度を有するパン可能かつズーム可能な２Ｄスペースを、より大きいパン可能かつズーム可能な２Ｄスペースの明確に定義された領域に、埋め込むことを可能にすることである。
【０２２５】
本発明のもう１つの目的は、ビジュアル・オブジェクトの幾何ツリーまたは有向グラフを、上述の埋込プロシージャによって構成できるようにし、そのようなツリーまたはグラフが任意に大きく複雑になることを可能にすると同時に、その結果生じたスペースをパンし、ズームする能力を持ち続けることである。
【０２２６】
したがって、本発明の目的は、普通の現在のコンピュータ・アーキテクチャ上で潜在的に無制限の視覚的な複雑さおよび詳細を有する仮想２Ｄユニバースでの流動的なズームおよびパンを可能にすることである。
【０２２７】
本発明のもう１つの目的は、ネイティ・ブマシン精度の数に対して実行される座表計算の計算速度を持ち続けながら、パン可能かつズーム可能な２Ｄスペースの座標に対する無限精度算術の挙動を模倣することである。ソフトウェア・パッケージＭａｔｈｅｍａｔｉｃａ（商標）（（Ｃ）Ｗｏｌｆｒａｍ  Ｒｅｓｅａｒｃｈ）は、無限精度算術に関するデータ構造およびアルゴリズムの例示的実装を提供する（しかし、Ｍａｔｈｅｍａｔｉｃａは、これらと同一の判断基準を満足しない）。
【０２２８】
本発明のもう１つの目的は、パン可能かつズーム可能な２Ｄスペースの座標に対する無限精度算術の挙動を模倣すると同時に、無限精度の数についての大きいメモリ消費を避けることである。
【０２２９】
本発明のもう１つの目的は、埋め込まれるコンテンツ内の座標または他のデータ構造の更新を一切必要とせずに、参照によって再利用可能なビジュアル・コンテンツをズーム可能かつパン可能な２Ｄスペースに埋め込むことを可能にすることである。これは、新しい子の座標系ツリーをトラバーサルすることなく、２Ｄスペースを別の２Ｄスペースに埋め込むことを可能にするので、この能力は、複雑さに関係なく、すべての２Ｄスペースの埋込みを可能にする。
【０２３０】
本発明のもう１つの目的は、循環参照に起因するズーム可能かつパン可能なコンテンツ内の無限ネスティングを可能にすることである。コンテンツＢを有するノードを、コンテンツＡを有するノードの子にする（すなわち、Ｂが幾何学的にＡの内側に現れる）ことができ、順に、ノードＢが、コンテンツＡを有するノードを子として含むことができる。ビジュアル・コンテンツが再利用され、参照によって含められることができる複雑なズーム可能環境では、このタイプの再帰が、非常に簡単に発生する可能性がある。これは、関連する座標系を有するノードのツリーという概念を、関連する座標系を有するノードの有向グラフという概念に一般化する。
【０２３１】
本発明のもう１つの目的は、深いズーム・インの後のズーム・アウトが、ウェブ・ブラウザの「戻る」ボタンのように機能することを可能にし、ユーザがビジュアル・ナビゲーションを介する自分のステップをたどりなおすことを可能にすることである。
【０２３２】
本発明のもう１つの目的は、ズーム・アウトの直後のズーム・インが、ウェブ・ブラウザの「進む」ボタンに似て機能することを可能にし、ユーザが任意に長いズーム・アウトの効果を正確に元に戻すことを可能にすることである。
【０２３３】
本発明のもう１つの目的は、ノードが、非常に多数の子ノード（たとえば、１０＾２８個まで）を有することを可能にすることである。
【０２３４】
本発明のもう１つの目的は、ノードが、それ自体の子をオン・ザ・フライでプログラム的に生成することを可能にし、ナビゲーション中にコンテンツを動的に定義し、作成し、または変更することを可能にすることである。
【０２３５】
本発明のもう１つの目的は、任意に複雑なビジュアル・コンテンツが最終的に非常に大量のデータを使用して表される場合であっても、これらのデータがリモート位置で格納され、低帯域幅ネットワークを介して共有される場合であっても、このコンテンツのほぼ即座のビューイングを可能にすることである。
【０２３６】
本発明のもう１つの目的は、対話的フレーム・レートを維持しながら、ユーザが、ビジュアル・コンテンツに任意にズーム・インすることを可能にすることである。
【０２３７】
本発明のもう１つの目的は、コンテンツの全体的外見の保存と対話的フレーム・レートの維持との両方の過程で、複雑なビジュアル・コンテンツの概観を得るために、ユーザが任意にズーム・アウトできるようにすることである。
【０２３８】
本発明の上記および他の目的は、次の明細書の再検討から、当業者に明白になるであろう。
【０２３９】
（記法（Ｃｏｎｖｅｎｔｉｏｎｓ））
次では、複数の擬似コード記法を使用する。データ構造体（時々、抽象データ型すなわちＡＤＴとしても知られる）は、語Ｓｔｒｕｃｔｕｒｅおよびそれに続く中括弧（ｃｕｒｌｙ  ｂｒａｃｅｓ）内の材料｛．．．｝を使用して導入される。中括弧内では、フォーマット
【０２４０】
【表３】
2008517540.tif 000006
【０２４１】
で、フィールド、すなわちその構造体を構成するデータ要素、がリストされ、ここで、ＤａｔａＴｙｐｅは、あらかじめ定義された構造体またはプリミティブ型のいずれかであり、ｖａｒｉａｂｌｅＮａｍｅは、そのフィールドの名前である。データ型および関数は必ず大文字から始まり、変数名またはフィールド名は必ず小文字から始まることに留意されたい。使用されるプリミティブ型は、Ｂｏｏｌｅａｎ（値ｔｒｕｅまたはｆａｌｓｅをとることができる）、Ｄｏｕｂｌｅ（Ｃ言語のｄｏｕｂｌｅ型に対応する６４ビット浮動小数点数）、Ｉｎｔｅｇｅｒ（６４ビット符号付き整数データ型）、およびＳｔｒｉｎｇ（文字列）である。構造体および変数の名前ならびに使用されるデータ型およびフォーマットの詳細は、例示的であり、本発明の代替実装は、任意の個数の追加フィールドを含めて、これらの詳細のいずれをも変更することができ、あるいは、異なる構造体または内部表現を使用することができる。
【０２４２】
便宜のために、（それぞれ）２Ｄデカルト平面上のポイントの位置およびその平面上の軸に位置合せされた四辺形の位置を格納する次の構造体を、ここで定義する。
【０２４３】
【表４】
2008517540.tif 000007
【０２４４】
ｘ軸が水平で右に向かって増加し、ｙ軸が垂直で上に向かって増加する、数学的な座標系を仮定する（制約なしに）。Ｒｅｃｔａｎｇｌｅ内のポイントｌｏおよびｈｉは、四辺形領域の左下角および右上角を表す。構造体のフィールドを参照するには、次の擬似コードのように、ピリオド（「．」）を使用する。
【０２４５】
【表５】
2008517540.tif 000008
【０２４６】
この関数は、あるポイントが四辺形内にあるかどうかを決定する。ｒｅｔｕｒｎなどのステートメントは、そのＣ言語の対応物と同等である。使用される構文は、当業者の誰にでも理解可能であろう。斜体は、擬似コード内で、抽象的アクションまたは複雑なアクションを示すのに使用され、これらは、英語では最も簡単に表現できる。
【０２４７】
最後に、２つのコンテナ・データ型すなわち、型Ｔのオブジェクトの順序なしセットを格納するＣｏｌｌｅｃｔｉｏｎ＜Ｔ＞と、後入れ先出し（ＬＩＦＯ）ベースで型Ｔのオブジェクトを格納するＳｔａｃｋ＜Ｔ＞とを定義する。コレクションを通って反復するために、構文
【０２４８】
【表６】
2008517540.tif 000009
【０２４９】
を使用するが、ここで、ｃｏｌｌｅｃｔｉｏｎは、型Ｃｏｌｌｅｃｔｉｏｎ＜Ｔ＞であり、ｘは、コンテナ内の型Ｔの各オブジェクトの代役を務め、そのようなオブジェクトごとに、中括弧内のコードが実行される。オブジェクトが処理される順序は、問題ではないと仮定する。スタックについて、次の関数を定義する。
【０２５０】
【表７】
2008517540.tif 000010
【０２５１】
Ｐｕｓｈ関数は、オブジェクトｔをスタックに付加し、Ｐｏｐ関数は、最後にプッシュされた要素を除去し、その要素を返す。Ｃｏｕｎｔは、スタック内のオブジェクトの個数（０以上の整数）を返し、Ｅｌｅｍｅｎｔは、インデックスによってスタック内の要素をルックアップし、その要素を返すが、スタックを未変更のままにする。Ｃの記法に従えば、有効なインデックスは、最初の要素の０から始まり、Ｃｏｕｎｔ（ｓｔａｃｋ）−１まで増える。
【０２５２】
（発明の詳細な説明）
本明細書では、ディスプレイがカメラであり、このカメラを介して、ユーザが２次元表面すなわち２Ｄユニバースの一部を見ることができる、ユーザ・インターフェース・メタファを仮定する。便宜のために、そうする必要はないが、物理的次元をこのユニバースに帰し、その結果、このユニバースを、たとえば１メートルの正方形とすることができるようにする。
【０２５３】
このユニバースは、２Ｄオブジェクトすなわちノードを含み、ノードは、ビジュアル表現を有し、動的または対話的とすることもできる（すなわち、ビデオ・クリップ、アプリケーション、編集可能なテキストドキュメント、ＣＡＤ図面、または静止イメージ）。ノードが可視になるためには、そのノードは、そのノードを全体的にまたは部分的にディスプレイのある領域に描くことができるレンダリング・メソッドに関連付けられなければならない。各ノードは、有限精度のローカル座標系を与えられる。例示のために、本明細書では、ノードが、四辺形であり、上で定義したＰｏｉｎｔ２Ｄデータ構造体およびＲｅｃｔａｎｇｌｅデータ構造体を使用してそのローカル座標を表すと仮定する。したがって、Ｒｅｃｔａｎｇｌｅは、ローカル座標系の境界を定義する。より一般的に、ノードは、四辺形以外であることができ、かつ／または異なる座標系を使用することができる。したがって、本明細書では、
【０２５４】
【表８】
2008517540.tif 000011
【０２５５】
を定義し、ここで、省略記号（．．．）は、Ｎｏｄｅが他のフィールドをも有することを示すが、この他のフィールドは、後で指定する。したがって、ノード（本明細書ではデータ型Ｎｏｄｅが与えられる）の最小限のレンダリング・メソッドは、次の引数を必要とする。
【０２５６】
【表９】
2008517540.tif 000012
【０２５７】
この例示的関数は、ｏｎＮｏｄｅ四辺形によって定義されるｎｏｄｅの部分（そのノードの座標系での）を、ｏｎＤｉｓｐｌａｙによって定義されるディスプレイ上の四辺形（ディスプレイ座標または「スクリーン」座標での）にレンダリングするであろう。四辺形ｏｎＮｏｄｅは、一般に、ｎｏｄｅ．ｃｏｏｒｄＳｙｓｔｅｍ内にある必要がある。レンディションが可視になるためには、四辺形ｏｎＤｉｓｐｌａｙは、ディスプレイ座標でディスプレイの境界を定義する四辺形の中にある必要がある。
【０２５８】
各ノードは、０個以上の子ノードを有することができ、これらの子ノードを参照によってアドレッシングする。これは、ノードが、各子ノードの全情報を含む必要がなく、一般に含まず、その代わりに、子ノードを入手するのに必要な情報を提供するアドレスだけを含むことを意味する。ＵＲＬ（ｈｔｔｐ：／／．．．）が、そのようなアドレスの例であるが、アドレスは、たとえばメモリ内のポインタ、グローバル一意識別子、ハードウェア・ポートなど、他の形をとることができる。一般的にアドレスを表すために抽象データ型Ａｄｄｒｅｓｓを定義し、ノードのアドレスを与えられてそのノードへの参照を返す関数
【０２５９】
【表１０】
2008517540.tif 000013
【０２６０】
を定義する。
【０２６１】
子ノードのアドレスのほかに、子への参照は、親ノードの座標系での子のサイズおよび位置を指定しなければならない。したがって、
【０２６２】
【表１１】
2008517540.tif 000014
【０２６３】
があり、ここで、やはり、ｐｌａｃｅｍｅｎｔは、親の中すなわち親のｃｏｏｒｄＳｙｓｔｅｍの内側にある必要がある。したがって、ノードの定義を拡張する。
【０２６４】
【表１２】
2008517540.tif 000015
【０２６５】
異なるノードは、おそらくは異なるスペース配置で、その子の一部またはすべてを共有することができ、同一の情報の異なるビューの可能性が可能になる。
【０２６６】
ここで、ノード・レンダリング・メソッドの包括的挙動を、幾分かより詳細に定義することができる。
【０２６７】
【表１３】
2008517540.tif 000016
【０２６８】
この関数は、ノードおよび、再帰的に、その子をレンダリングする。ＣａｌｃＲｅｃｔａｎｇｌｅ関数は、親のディスプレイ四辺形と、親の中での子の配置とを与えられて、子によって占められるディスプレイ四辺形を計算する。このレンダリング・メソッドは、たとえば親が可視である場合にその子のすべても可視であると仮定することによって、かなり単純化されている。しかし、このレンダリング・メソッドは、次の重要な設計判断基準を満たす。  
１．グローバル座標を使用しない。  
２．子ノードがその親ノードより小さいと仮定すると、最終的に子ノードがｍｉｎｉｍｕｍＡｒｅａより小さくなるので、この関数は、有限の時間で終了する。これは、ツリー内に無限の個数のノードがある場合であっても真である。  
３．ｍｉｎｉｍｕｍＡｒｅａが十分に小さくされる場合に、描かれないすべてのノードが、ディスプレイの全体的な外見に影響するには小さすぎるので、切り詰められたレンディションの視覚的影響を、無視可能になる可能性がある。  
４．再帰が許容される、すなわち、あるノードを、それ自体の子孫とすることができる。したがって、「の子」関係によって定義されるノードの有向グラフが、サイクルを有することができる（その有向グラフを、もはやグラフ理論の意味でのツリーではなくする）。子が、その親の面積のうちの実質的な部分を占め、グラフ・サイクルが小さい（すなわち、Ａ→Ｂ→ＡまたはＡ→Ｂ→Ｃ→Ａ）場合に、これは、「鏡の間」効果（ｈａｌｌ−ｏｆ−ｍｉｒｒｏｒｓ  ｅｆｆｅｃｔ）をもたらす。
【０２６９】
ノードにテキストをタイプすることなどの、ノードとのユーザ対話は、通常、そのノードが可視であることを必要とする。複数の異なるモデルを、対話が行われるノードを選択するのに使用することができ、たとえば、タブ・キーが、ノードをサイクル・スルーすることができ、あるいは、マウス・ポインタの下のノードを、ターゲットにすることができる。どの場合でも、ユーザ対話の候補であるノードの個数は、レンダリングされるノードの個数と同一のオーダーであり、したがって有限である。上で説明したレンダリング関数に似たメソッドを使用して、ユーザ対話メッセージをノードに渡すことができ、このメッセージは、それらのノードの将来の挙動または外見に影響することができる。したがって、このアーキテクチャは、ノードを単に静的ビジュアル・オブジェクトではなく、完全なソフトウェア・アアプリケーションにすることを可能にするのに十分である。
【０２７０】
ノードを見ることおよびノードとの対話に加えて、ユーザは、連続的ズーム動作および連続的パン動作を使用してナビゲートすることができる。ズーム・インは、ディスプレイ上で可視のコンテンツの一部をプログレッシブに拡大し、その結果、その部分がディスプレイ上でより多くの面積を占めるようにすることを意味し、その後、より小さい面積が、より詳細に可視になる。ズーム・アウトは、その逆の動作である。本明細書では、ユニバースの物理的寸法が制限されると仮定したので、ズーム・アウトは、制限付き動作であり、ユニバース全体が可視になったならば、さらなるズーム・アウトは、新しいコンテンツを見えるようにすることは一切できず、単に、ユニバースをディスプレイ全体より小さい面積に縮小する。したがって、ユニバース全体を含むものとしてルート・ノードを定義することが自然であり、このルート・ノードは、十分にズーム・アウトされたときに可視である子ノードを有し、これらの子ノードは、それ自体の子ノードを有するなどである。子は、幾何学的に親の境界内になければならないので、子ノードは、一般に親ノードより小さい。しかし、各ノードは、それ自体のローカル座標系を有し、したがって、この構成は、ますます微細になる座標系のカスケードを、したがって潜在的に無限のスペース分解度のユニバースを、可能にする。これは、ズーム・インが、制限付きの動作ではないことを意味し、ノード・グラフが複数のサイクルを有する場合に、人は、「コンテンツ・ループ」に永久にズーム・インすることができ、あるいは、より興味深いことに、ノード・グラフは、非常に多数のノードまたは無限の個数のノードさえ有することができ、始終、新しいコンテンツを見ながら、いつまでもズーム・インすることが可能になる。
【０２７１】
このアーキテクチャが無限分解度を真に可能にするためには、（潜在的に無限の）ノード・グラフを常時トラバースせずに、効率的にディスプレイをパンし、ズームし、レンダリングすることができる必要がある。本発明者は、我々が当初にこのノードに対してＲｅｎｄｅｒＮｏｄｅ関数を呼び出す場合に、ディスプレイ上で可視のノードによって占められる面積のレンディションが、有限の時間で行われることを知った。ここで、可視ノードを動的なズームおよびパンの間に一般にどのようにして見つけることができるかという質問に対処しなければならない。
【０２７２】
これは、ノード構造体へのフィールドの追加と、追加のアドレス・スタック・データ構造体とを用いて達成することができる。拡張されたＮｏｄｅの定義は、
【０２７３】
【表１４】
2008517540.tif 000017
【０２７４】
である。新しいｖｉｅｗフィールドは、ノード座標でのそのノードの可視領域すなわち、ノード座標でのディスプレイ四辺形のイメージを表す。この四辺形は、そのノードが部分的にオフ・スクリーンであるときなど、ｃｏｏｒｄＳｙｓｔｅｍによって定義されるノードの領域と部分的にオーバーラップするだけである場合がある。明らかに、ｖｉｅｗフィールドを、すべてのノードについて常に更新された状態に保つことはできない。というのは、必ずしもノードの有向グラフ全体を有限の時間でトラバースすることができないからである。
【０２７５】
スタック構造体は、次ぎのように定義される。
【０２７６】
【表１５】
2008517540.tif 000018
【０２７７】
ここで、このスタックは、クライアント（ディスプレイに接続されたコンピュータ）のグローバル変数である。例示のために、ナビゲーションが、ルート・ノードによって定義されるコンテンツのユニバースの概観から始まると仮定する。次に、このルート・ノードが、ｖｉｅｗＳｔａｃｋにプッシュされ、ルート・ノードのｖｉｅｗフィールドを、ルート・ノードの領域全体になるように初期化することができる、すなわち、
【０２７８】
【表１６】
2008517540.tif 000019
【０２７９】
とすることができる。
【０２８０】
概略的に言うと、ｖｉｅｗＳｔａｃｋは、ディスプレイに対する相対的な、１つのポイントによって「貫かれた」ノードのシーケンスのアドレスを指定することになり、このポイントは、本発明の例示的実装では、ディスプレイの中心であるものと解釈される。このシーケンスは、ルート・ノードから始まらなければならないが、無限とすることができる。したがって、このシーケンスを切り捨てなければならず、これは、ＲｅｎｄｅｒＮｏｄｅで使用されたものと同一の判断基準を使用して行われ、このシーケンスは、「貫かれた」ノードが、上でｍｉｎｉｍｕｍＡｒｅａとして定義された、ある最小サイズより小さくなると停止する。次に、現在のビューは、ｖｉｅｗＳｔａｃｋ内のすべてのノードのｖｉｅｗフィールドによって表され、これらのｖｉｅｗフィールドのそれぞれは、ノードのローカル座標系に関して現在のビューを指定する。ユーザが、ユニバースに非常に深くズームした場合に、ディスプレイの詳細な位置は、スタック内の最後のノードのｖｉｅｗフィールドによって最も正確に与えられる。しかし、最後の要素のｖｉｅｗフィールドは、ユーザの視点をユニバース全体に対して相対的に指定するのではなく、そのローカル座標に対して相対的に指定するのみである。その一方で、ルート・ノードのｖｉｅｗフィールドは、ユニバース内のどこをユーザが見ているかを指定するが、丸めおよび離散化の誤差に起因して、ルート・ノードのｖｉｅｗ．ｌｏおよびｖｉｅｗ．ｈｉが１つのポイントに収縮されている可能性があり、このポイントは、実際のビュー位置に対する有限精度の近似に過ぎない。したがって、ｖｉｅｗＳｔａｃｋの「微細の終点（ｆｉｎｅ  ｅｎｄ）」により近いノードは、ユニバース内の徐々に狭くなる面積に対してではあるが、高まる精度でビュー位置を指定する。
【０２８１】
このコンテクストでは、前に定義したＲｅｎｄｅｒＮｏｄｅ関数の単純な実装は、ＣａｌｃＲｅｃｔａｎｇｌｅ関数が、トラバースされる各ノードのｐｌａｃｅｍｅｎｔフィールドと再帰的に伝えられるｏｎＤｉｓｐｌａｙ引数とを順次使用して、ルート・ノードから始めて各ノードとのディスプレイのオーバーラップを計算するという点で、欠陥があることに留意されたい。深いズームでは、精度の徐々の消失は、この計算が正しい結果を与えるのを失敗させる。訂正されたバージョンでは、ＣａｌｃＲｅｃｔａｎｇｌｅ関数は、単純にノードのｖｉｅｗフィールドによって置換される。次に、問題は、次のように変換される：すべての可視ノードのビュー（すなわち、ｖｉｅｗフィールド）は、ユーザがユニバースを通ってナビゲートする、すなわちパンおよびズームのときに同期化された状態に保たれなければならない。これらを同期化された状態に保つことができないと、ノードが、結合力があり物理的に一貫した２Ｄ表面として振る舞うのではなく、互いに独立にディスプレイ上で移動するという外見がもたらされる。
【０２８２】
すべてのナビゲーション動作中のビューの変更は、次のように進行する。ｖｉｅｗＳｔａｃｋ内の最後のノードが、ビューの最も正確な表現を有するので、第１ステップは、この最後のノードのｖｉｅｗフィールドを変更することである。この変更されたビューは、正しい新しいビューとして採用され、すべての他の可視ノードは、後について行かなければならない。第２ステップは、この新しいビューをルート・ノードに向かって「上向きに」伝搬させることであり、これには、スタック内でより以前のノードのｖｉｅｗフィールドに対する徐々にますます小さくなる変更を行うことが含まれる。ユーザが深くズームする場合に、上向きの伝搬のあるポイントで、ビューに対する変更が、正確に表現されなくなるほどに非常に小さくなる可能性があり、上向きの伝搬は、このノードで停止する。上向き伝搬の各ステージで、変更は、未変更のＲｅｎｄｅｒＮｏｄｅ擬似コードの手法を使用して、下向きに他の可視ノードにも伝搬される。したがって、まず、最後のノードの親のビューが変更され、次に、下向きの伝搬で、最後のノードの「姉妹」のビューが変更される。次の上向きの伝搬は、祖父のビューを変更し、第２の下向きの伝搬は、最初の叔父を変更し、次に最初の従兄弟を変更する。下向きの伝搬は、前と同様に、「従兄弟ノード」の面積がｍｉｎｉｍｕｍＡｒｅａより小さくなるとき、またはあるノードが完全にオフ・スクリーンになるときに、停止される。
【０２８３】
パン動作は、最後のノードを、それがもはやｖｉｅｗＳｔａｃｋに属さない程十分遠くに移動する場合がある。その代わりに、ズーム・インが、最後のノードの子をｍｉｎｉｍｕｍＡｒｅａを超えて拡大し、ｖｉｅｗＳｔａｃｋを延ばすことを必要にする場合があり、あるいは、ズーム・アウトが、最後のノードの面積をｍｉｎｉｍｕｍＡｒｅａ未満にして、ｖｉｅｗＳｔａｃｋの切捨を必要にする場合がある。これらの場合のすべてで、最後のノードのアイデンティティが変化する。これらの情況は、下向き伝搬中に検出され、これによって、ｖｉｅｗＳｔａｃｋがそれ相応に変更され、潜在的にｖｉｅｗＳｔａｃｋがより長くなるかより短くなる場合がある。
【０２８４】
このアイデアの拡張は、長い外向きのズームに反応する即座のｖｉｅｗＳｔａｃｋの切捨を回避することである。ｖｉｅｗＳｔａｃｋの切捨は、ユーザがその後にパンする場合に限って必要である。長い外向きのズームは、深くズームされたノードのｖｉｅｗフィールドに非常に大きく（したがって、数値的に不正確に）ならせるが、ｖｉｅｗ四辺形の中心ポイントを表すフィールド
【０２８５】
【表１７】
2008517540.tif 000020
【０２８６】
をＮｏｄｅ構造体に追加することができ、したがって、パンなしのズームは、どのノードのｖｉｅｗＣｅｎｔｅｒフィールドも変更しない。この構成は、極端なズーム・アウトの後に、直ちにその逆のズーム・インが続くことを可能にする。ｖｉｅｗＳｔａｃｋは、変更されないままなので、ユーザは、開始したビューに正確に戻ることができる。この挙動は、ウェブ・ブラウザの「戻る」ボタンおよび「進む」ボタンに似ており、「戻る」は、ズーム・アウトに類似し、「進む」は戻るズーム・インに類似する。ウェブ・ブラウザでは、ユーザが、前のウェブ・ページに戻るために「戻る」を使用するが、その後、代替リンクを後続させると、その時点で、「進む」が働くのを止める。したがって、代替リンクを後続させることは、ズーム・アウトの後のパンに類似する。
【０２８７】
Ａ５
（表題）ゼノン・キャッシュ（Ｚｅｎｏ  ｃａｃｈｅ）：可変圧縮可能データ・オブジェクトに関するｍｏｓｔ−ｒｅｃｅｎｔｌｙ−ｕｓｅｄ（ＭＲＵ）キャッシングの有効性を高めるシステム（ａ  ｓｙｓｔｅｍ  ｆｏｒ  ｉｎｃｒｅａｓｉｎｇ  ｔｈｅ  ｅｆｆｅｃｔｉｖｅｎｅｓｓ  ｏｆ  ｍｏｓｔ−  ｒｅｃｅｎｔｌｙ−ｕｓｅｄ  （ＭＲＵ）  ｃａｃｈｉｎｇ  ｆｏｒ  ｖａｒｉａｂｌｙ  ｃｏｍｐｒｅｓｓａｂｌｅ  ｄａｔａ  ｏｂｊｅｃｔｓ）
【０２８８】
（序論）
ｎが１から無限大まで変化し、ｐ＞１である級数ｙ（ｎ）＝ｎ＾−ｐの無限和は、有限である。同様に、ｙ＝１／ｂ＾ｎの和は、ｂ＞１について有限である（たとえば、後者の場合に、ｂ＝２であれば、和は正確に２である）。これらなどの収束級数の概念を使用して、本発明者が有名なゼノンのパラドックスにちなんでゼノン・キャッシュと呼ぶ、非常に効率的な形のデータ・キャッシングを実装することができる。ゼノンは、１歩（議論のために、彼は毎秒１歩進むと言うことができる）で、すべての競争場（ｒａｃｅｔｒａｃｋ）の終わりまでの距離の半分を行くほどに速い走者であり、パラドックスは、もちろん、すべての１歩で前に移動するにもかかわらず、彼が絶対にその競争場の決勝線に入らないということである。このパラドックスは、ｂ＝２とし、ｎ＝２から無限大までの和をとる場合の、上述した１／ｂ＾ｎ級数に簡単に関係付けられる。
【０２８９】
（先行技術）
「ＭＲＵキャッシング」（ＭＲＵは、「ｍｏｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ（最も最近に使用された）」を表す）は、クライアント−サーバ・システムでのクライアント・サイド・メモリの実装に関する周知の概念である。サーバが、クライアントにアクセスでき、多数のデータ・オブジェクトをクライアントに供給でき、これらのデータ・オブジェクトが、集合体の形で、大量のメモリを占める可能性があると仮定する。しかし、クライアントとサーバとの間の使用可能な帯域幅は、限られており、したがって、サーバからデータ・オブジェクトが送信されることを求めるクライアント要求は、時間がかかる。データ・オブジェクトへのアクセスが、適度に「コヒーレント」である（クライアントが最近要求したオブジェクトが、近い将来にもう一度必要になる可能性が高いことを意味する）場合に、ＭＲＵキャッシングは、クライアント−サーバ・システムの効率を大幅に高める方法である１。このアイデアは、クライアントが、ある限られた量のメモリ（一般に、サーバ上のオブジェクトのすべてを格納するのに必要なる量よりはるかに少ない）を用意しておき、そこにおさまる、できる限り多くの、最も最近に要求されたオブジェクトをこのメモリに格納するということである。新しいオブジェクトが、サーバからクライアントに送信され、クライアントのキャッシュ・スペースが、使い果たされたときには、最近最も使用されていない（ｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ、ＬＲＵ）オブジェクトが、余地を作るためにキャッシュから消去される。本明細書では、キャッシュのＬＲＵ端およびＭＲＵ端に言及し、オブジェクトは、必ずＭＲＵ端に追加され、ＬＲＵ端から消去される（メモリ内のオブジェクトの物理的レイアウトが、ＬＲＵ−ＭＲＵレイアウトに対応する必要がないことに留意されたい。このアーキテクチャは、単に、クライアントが、本明細書に記載の形でオブジェクトを見つけ、挿入し、消去することが可能であることを必要とするだけである。直線状のＬＲＵ−ＭＲＵ配置は、単に概念的に好都合であるだけである）。クライアントがデータ・オブジェクトを必要とするときに、まず、そのオブジェクトがキャッシングされているかどうかを知るために、キャッシュが検査される。キャッシングされている場合には、キャッシングされた表現が使用され、負荷のかかるサーバ要求の必要がなくなる。通常、キャッシングされた表現の利用は、そのオブジェクトをキャッシュのＭＲＵ端に「昇格（ｐｒｏｍｏｔｅ）」させもする。この方式の性能上の利点は、明白である。  
【０２９０】
＜１＞上で説明したコヒーレンスの概念の一般化は、当業者に理解されるであろう。キャッシングは、あるオブジェクトに関するクライアント要求が近い将来に他のオブジェクトを要求する尤度の確率分布に影響するすべての情況で、性能の利点を与えることができる。単純なＭＲＵキャッシングは、同一のオブジェクトをもう一度要求することの高められた尤度としてこの変更が単純にモデリングされる場合に最適化されるが、一般化が存在し、本発明を、これらの一般化に拡張することができる）。
【０２９１】
（ゼノン・キャッシングの概念）
いくつかの情況で、供給されるデータ・オブジェクトは、圧縮可能であり、圧縮可能とは、本発明の目的に対しては、ロッシイ・データ圧縮技法に従うことを意味する。ロッシイ・データ圧縮は、完全（ｆｕｌｌ）表現より少ないバイトでデータ・オブジェクトを表す能力によって特徴づけられ、より高い圧縮率（より多くの圧縮を意味する）は、より大きい歪みまたはより低い品質に対応する。ゼノン・キャッシングに関して、データおよび関連する圧縮アルゴリズムの性質は、次の特性を有しなければならない。
【０２９２】
必要とされる、データの圧縮されたバージョンは、非圧縮データの代役として適切でなければならない。歪みがあるレベル未満では、その圧縮表現は十分に適当である可能性があり、歪みがあるレベルを超えると、その圧縮表現は、クライアントがデータの非圧縮バージョン、ロスレス・バージョン、またはより高品質のバージョンを待っている間の当座しのぎとして適切である可能性がある。
【０２９３】
機能強化された実施形態では、より低い品質の表現は、より高い品質の表現のサブセットであり、これは、サーバ・サイドで使用可能な追加情報を使用してクライアント・・サイドで表現品質を改善することが、データの完全に新しいバージョンを再送信することではなく、欠けているデータまたは差分の送信を必要とするに過ぎないことを意味する。これは、冗長性を回避し、したがって、効率を実質的に高める。
【０２９４】
上述の機能強化された実施形態は、通常、あるオブジェクトの表現品質を下げることが、再圧縮ではなく、単にデータの一部を捨てることを伴うことをも意味する。このプロパティも、効率にとって重要である。
【０２９５】
機能強化された実施形態では、圧縮技法が、ロッシイからロスレス（すなわち、完全な表現またはゼロ歪み表現）までスケーリングされる。上述の機能強化された実施形態と組み合わされて、これは、データ・オブジェクトの完全な表現を、複数のステップで、高いロッシイからロスレスへ、最初にロスレス・バージョン全体を当初に送信することに対して相対的に余分な総コストをほとんどまたは全く伴わずに、作り上げることを可能にする。
【０２９６】
上記のすべてを満足するデータ型および圧縮テクノロジの例が、ＪＰＥＧ２０００標準規格によって例証されている、イメージのウェーブレット圧縮である。
【０２９７】
これらのプロパティを与えられると、メモリが「連続である」（すなわち、バイトに離散化されていない）場合に、理論的に、単にオブジェクトの圧縮後のサイズが本開示の先頭で与えたものに似た収束級数に従うという制約を強制することによって、無限の個数のデータ・オブジェクトを有限の量のメモリにキャッシングすることが可能になることになる。最も最近に使用されたオブジェクトは、少ない歪みで表現され、最近最も使用されていないオブジェクトは、徐々により多く圧縮される。すべてのオブジェクトのサイズの和を、以下で示すように、それでも有限の数にすることができる。
【０２９８】
2008517540.tif 000021
【０２９９】
実際には、この方式は、次の２つの理由から変更されなければならない。
【０３００】
メモリは離散的であり、その結果、たとえば、通常、オブジェクトを１ビットより小さい表現に圧縮することは、実際には無意味である。
【０３０１】
上の収束公式のうちの１つによって記述される圧縮率の連続曲線を強制することは、あるスペースが解放される必要が生じるたびに、キャッシュ内のすべてのオブジェクトを訪れ、その表現サイズを減らすことを必要とすることになる。これは、理論的には無限回数の動作である（実際には、多数の動作になりことになる）。
【０３０２】
実用的なバージョン
キャッシュ内のオブジェクトの個数は、実際には有限になるが、ゼノン・キャッシュの概念を使用することによって、この個数を、普通のＭＲＵキャッシングを用いて可能になる個数よりはるかに多くすることができる。さらに、キャッシングされるオブジェクトは、最近に使用された場合にキャッシュ内で高品質で表現されることになり、この品質は、オブジェクトが最近アクセスされていない場合に徐々に劣化することになるというプロパティを有する。この意味で、ゼノン・キャッシングは、おそらくは人間の記憶に非常に似た形で機能する。
【０３０３】
メモリは離散的であり、それ未満では圧縮表現がユーザにとっての価値を有しない最小の圧縮後のサイズがあるので、キャッシングされる表現は、最大圧縮率の支配下にある。したがって、このキャッシュに格納できるオブジェクトの絶対最大個数は、オブジェクトのすべてが等しいサイズである（もちろん、そうである必要はない）と仮定して、キャッシュサイズをこの最小の圧縮後のサイズで割った値である。
【０３０４】
前に与えた理論的な式（または任意の他の収束和）によって上述に制限された、したがって有限の和をも有する級数を設計する多数の形がある。追加の制約をも導入することができ、それは、かなり少ない個数の離散的な値のｙが使用される形で、任意の所与の値が繰り返す尤度が、より大きいｎで連続して増える、というものである。そのような級数の例は、  
１、１／４、１／４、１／１６、１／１６、１／１６、１／１６、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／２５６、…  
である。
【０３０５】
明らかに、１、２つの１／４、４つの１／１６、８つの１／６４、などの和は、ｙ＝１／２＾ｎと全く同様に２であるが、この級数をｎ＝１６０００まで取り出すならば、ｙの約ｌｏｇ２（１６０００）個または１４個の値だけが使用される。ｎ＝百万では、約２０個の値だけが使用される。これは、スペースがキャッシュ内で解放されなければならないときに、キャッシュの現在の住人をそのクォータ（割当量）に「調和して」保つために（大多数は既に正しいサイズまで圧縮されている）、ごく少数の動作を行う必要があることを意味する。
【０３０６】
多数の他の数列も、この必要な判断基準を満足する。さらに、理論的には収束しない（すなわち、その和が無限大である）級数を使用することが可能である。というのは、実際には、どの場合にも有限の個数の項が合計されるからである。
【０３０７】
一般化
確率論的一般化。ランダム・アルゴリズムを使用して、基本アルゴリズムを複数の形で改善することができる。上の２＊１／４、８＊１／１６などの級数の主な不利な点は、その長所すなわち、とる値の個数の少なさから生じる。ランダムな選択を使用して、あるターゲット量のスペースが解放されるまで、重み付きの形でキャッシュ要素のランダムなサブセットを「圧縮する」ことができる。これがうまく働くのは、キャッシュ内の正確な位置が、大きなｎにつれて重要度が漸減的になるからである。圧縮の量は、（多少）ランダムとすることもできる。これらなどのランダム手法を使用することによって、オブジェクト品質の明らかな不連続性または閾値を除去することができる。
【０３０８】
ＭＲＵ／ＬＲＵだけではなく、キャッシングに、どのオブジェクトが次に必要になる可能性があるかに関するインテリジェントな推測を含めることもでき、したがって、必要になる可能性がより少ないオブジェクトを、将来に必要になるとのより高い尤度を有するオブジェクトの前に「圧縮」することができる。これを、ランダム・アルゴリズムと組み合わせることができる。
【０３０９】
（特許請求の範囲）
実質的に説明された通りであることを特徴とするＭＲＵ／ＬＲＵキャッシング・システム。
【０３１０】
Ａ６
（表題）大きいテキスト、メタデータ、および他のコヒーレントにアクセスされる非イメージ・データをスペース的にエンコードする方法（ＭＥＴＨＯＤ  ＦＯＲ  ＳＰＡＴＩＡＬＬＹ  ＥＮＣＯＤＩＮＧ  ＬＡＲＧＥ  ＴＥＸＴＳ，  ＭＥＴＡＤＡＴＡ，  ＡＮＤ  ＯＴＨＥＲ  ＣＯＨＥＲＥＮＴＬＹ  ＡＣＣＥＳＳＥＤ  ＮＯＮ−ＩＭＡＧＥ  ＤＡＴＡ）
【０３１１】
最近、ＪＰＥＧ２０００／ＪＰＩＰ１などのイメージ圧縮標準規格が、要求の厳しいエンジニアリング目標を満足するために、すなわち、非常に大きいイメージ（すなわち、サイズにおいてギガ・ピクセル）をサーバからクライアントへ低帯域幅通信チャネルを介して増分的にまたは選択的に配信することを可能にするために、導入されてきた。そのようなイメージがフル分解度で見られているときには、限られた領域だけが、任意の所与のときにクライアントのグラフィカル・ディスプレイにおさまることができる。これらの新しい標準規格は、そのような領域に選択的にアクセスすること、およびその領域に関連するデータだけを通信チャネルを介して送信すること、に向けて適合されている。この「関心領域」すなわちＲＯＩが、連続的に変化する場合に、クライアントとサーバとの間の低帯域幅チャネルを介する連続的対話は、ＲＯＩの内側の領域のクライアントの表現を正確に保つ続けることができる。  
【０３１２】
＜１＞Ｄａｖｉｄ  ＴａｕｂｍａｎのＫａｋａｄｕ、ｗｗｗ．ｋａｋａｄｕｓｏｆｔｗａｒｅ．ｃｏｍの実装を参照。ＴａｕｂｍａｎはＪＰＥＧ２０００  ＩＳＯ標準委員会にいた。
【０３１３】
本発明は、これらの選択的に圧縮解除可能なイメージ圧縮技法およびイメージ伝送技法のテキスト・データまたは他の非イメージ・データへの拡張に関する。最も単純な例示で、大きいテキスト、たとえば、ジェームズ・ジョイスによる書籍ユリシーズを想像されたい。各章をそれ自体の列に置き、連続する章の列が左から右に配置される状態で、このテキストをフォーマットすることができる。列は、文字単位の最大幅、たとえば１００を有すると仮定される。図Ａ６−２に、各テキスト文字が単一のピクセルに対応する、この形でイメージとしてエンコードされたユリシーズのテキスト全体を示す。図Ａ６−１のピクセル強度値（ｐｉｘｅｌ  ｉｎｔｅｎｓｉｔｙ  ｖａｌｕｅ）は、単純に、対応する文字のＡＳＣＩＩコードである。グレイ・スケール・ピクセルとＡＳＣＩＩ文字との両方が、８ビット（値０〜２５５）におさまるので、ピクセル値と文字との間の対応は、非常に自然である。普通のＡＳＣＩＩ表現での（すなわち、．ｔｘｔファイルとしての）ユリシーズの全テキストは、１．５ＭＢであり、これは、狭帯域通信チャネルを介してその全体を送信するには大きすぎる可能性がある。ロスレスＪＰＥＧ２０００としてエンコードされた図Ａ６−１のＡＳＣＩＩテキスト・イメージは、２．２ＭＢである。このサイズは、この本の章が長さにおいてより均等であり、テキスト・イメージ内により少ない空のスペース（０としてエンコードされる）がもたらされる場合に、多少は減るはずである。しかし、総ファイル・サイズよりはるかに重要なのが、普通のＪＰＩＰサーバがこのファイルをクライアントに選択的に増分的に供給する能力である。文字を読むのに十分なズーム・レベルで（これは、クライアント・サイド・ディスプレイで１ピクセル／文字を十分に超えることを必要とする）テキストを見るすべてのクライアントは、ＪＰＩＰを使用して、テキストの関連する部分だけを要求することができる。この動作は、効率的であり、テキスト全体をダウンロードすることを禁止することになる条件下で、サーバへの非常に低い帯域幅の接続状態であっても、テキストのリーダーにとって適度な性能を達成することができる。
【０３１４】
類似する効果を、特に大きいテキストへの選択的アクセスのために設計されたクライアント／サーバ・テクノロジを使用して達成できるが、テキスト・イメージ手法（本発明者はそう呼ぶ）が、普通の実装を上回る、次の複数の利点を有することに留意されたい。
【０３１５】
テキスト・イメージ手法は、非常に大きいデータ・ボリューム用に設計された既存のテクノロジおよびプロトコルを使用する。  
【０３１６】
テキスト・イメージ手法は、一切の性能の劣化なしに、サイズにおいて数ギガバイト以上のテキストまで簡単にスケールアップされる。
【０３１７】
アクセスが、生来的に２次元なので、多くの情況で（たとえば、ユリシーズのケースのように、テキストが列で見られるときに）この手法は、テキストを１次元ストリングとして扱う手法よりはるかに効率的である。
【０３１８】
ウェーブレットはＪＥＰＧ２０００で使用されているので、テキストは、複数分解度表現の対象になる。テキストは、最終的な（最も詳細な）分解度以外では読むことができないが、低分解度ウェーブレットのより幅広いスペース的サポートは、関心領域の近くのテキストに関するインテリジェントなクライアント・サイド・キャッシュを自然にもたらす。したがって、スクロール中などのＲＯＩの移動は、非常に効率的である。
【０３１９】
フォーマットされたテキスト、Ｕｎｉｃｏｄｅ、または他のメタデータを扱うためにこの手法を拡張するのは、単純である。というのは、すべてのそのようなデータを、おそらくは埋め込まれたエスケープ・シーケンスを伴う、ＡＳＣＩＩテキスト・ストリングを使用して表すことができるからである。
【０３２０】
多くの応用例で、ＪＰＥＧ２０００は、ロッシイ圧縮フォーマットとして使用され、これは、デコードされたイメージ・バイトが、必ずしもオリジナルのバイトと同一ではないことを意味する。明らかに、イメージ・バイトがテキストを表す場合には、ロッシイ圧縮は受け入れられない。しかし、ＪＰＥＧ２０００の設計目標の１つは、ロスレス圧縮を効率的にサポートすることであった。というのは、これが、イメージング・コミュニティのある種のセクタ（たとえば、医療および科学）で重要であるからである。写真イメージのロスレス圧縮率は、通常は約２：１に過ぎず、視覚的に受け入れられるロッシイ・イメージと比べると、通常、それは、簡単に２４：１で圧縮できる。
【０３２１】
ロッシイとロスレスとの両方のイメージ圧縮は、よいスペース的連続性を有する（隣接するピクセルの強度値の間の差が最小化されていることを意味する）イメージに対して最もよく動作することができる。生のＡＳＣＩＩエンコーディングは、明らかに、この展望からは最適ではない。エンコーディングを改善する１つの非常に単純な形は、テキスト内の頻度または単純に英語における頻度によって、最高から最低へ、文字を並べかえることであり、コード０は、空のスペースのままであり、コード１は、スペース文字であり、コード２以降は、ｅ、ｔ、ａ、ｏ、ｉ、ｎ、ｓ、ｒ、ｈ、ｌなどである。図Ａ６−２および−３で、ＡＳＣＩＩエンコーディングを用いるテキスト・イメージと、この種の文字頻度エンコーディングを用いるテキスト・イメージとを比較する。明らかに、ピクセル値は、０付近でクラスタ化する傾向があり、少なくとも、同様に重要なことに、ある文字と次の文字との間の差は、実質的に減らされる傾向がある。この頻度エンコードされたテキスト・イメージが、ＪＰＥＧ２０００としてロスレスに圧縮されるときに、ファイル・サイズは、１．６ＭＢであり、これは、生のＡＳＣＩＩテキスト・ファイル（１．５ＭＢ）よりわずかに大きく、ＡＳＣＩＩエンコードされたテキスト・イメージより３７％小さい。文字エンコーディングのさらなる最適化を用いると、圧縮後のファイル・サイズを、ＡＳＣＩＩテキスト・ファイルサイズより十分に下まで下げることができる。さらなる最適化には、次を含めることができるが、これらに限定はされない。  
【０３２２】
単なる頻度（マルコフ−０）ではなく、エンコーディングを展開するのに文字遷移確率（マルコフ−１）を使用すること。
【０３２３】
文字自体ではなく、ある文字と次の文字との間のデルタすなわち差をピクセルとしてエンコードすること。
【０３２４】
これらの追加された最適化を用いると、サーバ・サイドで、この形で供給される準備ができたテキストが、生のＡＳＣＩＩに対して相対的に実際に圧縮されることが、前にリストした利点に追加される。
【０３２５】
この新しい発明は、本明細書では、選択的イメージ圧縮解除テクノロジとしてのＪＰＥＧ２０００／ＪＰＩＰのコンテクストで論じられたが、本発明に関するなにであれ、本発明をその特定のフォーマットまたはプロトコルに限定はしない。たとえば、ＬｉｚａｒｄＴｅｃｈ社のＭｒＳＩＤフォーマットおよびＭｒＳＩＤプロトコルは、類似するプロパティを有し、同じように機能するだろう。
【０３２６】
2008517540.tif 000022
【０３２７】
2008517540.tif 000023
【０３２８】
2008517540.tif 000024
【０３２９】
（特許請求の範囲）
複数の文字のそれぞれのａｓｃｉｉ値を強度レベルにエンコードすることを備えることを特徴とする、大きいテキストおよび類似物をスペース的にエンコードする方法。
【０３３０】
Ａ７
（表題）仮想ブック、ウィザード、またはスライド・ショーの非線形キャッシング（ＮＯＮＬＩＮＥＡＲ  ＣＡＣＨＩＮＧ  ＦＯＲ  ＶＩＲＴＵＡＬ  ＢＯＯＫＳ，  ＷＩＺＡＲＤＳ  ＯＲ  ＳＬＩＤＥＳＨＯＷＳ）
本発明は、通常はイメージであるビジュアル・データにコンピュータによってアクセスする新規の方法に関する。本発明は、ビジュアル・コンテンツが、ある確立された順序で一時に１つまたは少数ずつビューされる一連のオブジェクトからなる、すべての情況に適用可能である。
【０３３１】
ｎが１から無限大まで変化し、ｐ＞１である級数ｙ（ｎ）＝ｎ＾−ｐの無限和は、有限である。同様に、ｙ＝１／ｂ＾ｎの和は、ｂ＞１について有限である（たとえば、後者の場合に、ｂ＝２であれば、和は正確に２である）。これらなどの収束級数の概念を使用して、本発明者が前に出願した仮出願である添付の付録Ａに記載のものなど、非常に効率的な形のデータ・キャッシングを実装することができる。このデータ・キャッシングは、仮想ブック（または「ｅ−ｂｏｏｋ」）、「ウィザード」（グラフィカル・ユーザ・インターフェースの意味では、複数ステップ・プロセスを実行するための対話ウィンドウの直線的進行を意味する用語）、仮想スライド・ショー、またはビジュアル・コンテンツの時間的進行に基づく他の類似する表示に特に適用可能である。
【０３３２】
（先行技術）
たとえば、ＡＣＤ  Ｓｙｓｔｅｍｓ社のＡＣＤＳｅｅ（商標）など、一部の人気のあるイメージ・ブラウジング・アプリケーションは、「先読み」戦略および「リード・ビハインド（ｒｅａｄ−ｂｅｈｉｎｄ）」戦略を実装して、仮想イメージ・スライド・ショー中のフリッカまたは反応性の不足を回避する。これには、現在のピクチャに加えて、プレゼンテーション内の次のイメージ・ファイルおよび前のイメージ・ファイルをロードし、圧縮解除することが含まれる。ユーザがキーを押すか、タイマが満了するか、ある他のイベントがイメージの変更をシグナリングするときに、表示されているイメージが、「舞台の袖で出番を待っていた」次のイメージによって即座に置換され、続くイメージが、次の遷移の準備をするために読み取られ、デコードされる。古い前のイメージ（現在は２イメージ後ろ）は、通常はメモリから消去され、メモリ内のイメージの個数が３個に保たれる。「リード・ビハインド」は、逆に、オン・スクリーンのイメージの、前のイメージによる瞬間的な置換を可能にする。事実上、この戦略は、コンピュータを、常に次のイメージまたは前のイメージを（ユーザのフレーム進行のレートがコンピュータのイメージ・デコーディング・レートを凌駕しない限り）表示する「準備ができている」ようにする。先読みがなければ、ユーザが次のイメージを要求するときに、コンピュータは、一般に、次のイメージが読み取られ、デコードされ終えるまで反応を遅延させるか、または次のイメージがデコードされるにつれて増分的に表示を更新するかのいずれかを行わなければならず、しばしば、点滅、フリッカ、または他の気を散らす遷移がもたらされる。これらの両方の妥協することは、ユーザには煩わしい。
【０３３３】
先読み／リード・ビハインドの欠点は、  
−  ユーザは、利益を除去し、遅延、反応性の欠如、またはフリッカを再導入しなければ、前後に複数イメージだけスキップすることができず、  
−  ユーザが、イメージを通って順方向または逆方向のいずれかに、イメージを完全に圧縮解除できるレートより素速く移動する場合に、利益がやはり除去され、  
−  メモリ使用量が、現在のイメージを保持するのに必要な量の３倍になる（すべてのイメージが同一サイズであると仮定して）  
ことである。
【０３３４】
（発明の詳細）
本発明は、複数分解度像に関連して先読み／リード・ビハインドの概念を拡張する。複数分解度像を、分解度のはしごで、たとえば、フル・サイズ、ハーフ・サイズ（各辺で）、１／４サイズ、１／８サイズなどで圧縮解除することができる。一般に、１／８サイズのイメージを圧縮解除するのに必要な時間は、フル分解度のそのイメージを圧縮解除するのに必要な時間の約１／８であるべきであり、もちろん、１／８サイズのイメージを保持するには、１／８のメモリが必要である。
【０３３５】
その最も単純な例示で、本発明は、現在のイメージのメモリ内の完全な表現、次のイメージおよび前のイメージのハーフ・サイズ表現、最後の前のイメージおよび次の後のイメージの１／４サイズ表現などを維持することを含む。イメージ・サイズの両側無限和が、…＋１／１６＋１／８＋１／４＋１／２＋１＋１／２＋１／４＋１／８＋１／１６＋…＝３であることは、簡単に検証される。したがって、格納要件は、普通の先読み／リード・ビハインドの格納要件と同一である。しかし、理論的には、任意の表現の「すべての」イメージ（または、数学的には、無限の個数のイメージ）は、ある分解度（おそらくは非常に低いが）で表される。実際には、有限のイメージ・サイズおよび離散的メモリは、有限の個数のイメージだけがおさまることを意味するが、この個数は、非常に大きい可能性がある。いくつかの応用例で、次のイメージだけまたは前のイメージだけをキャッシングすることが望ましい場合があり、この場合に、和は３ではなく２になる。分解度数列（ｒｅｓｏｌｕｔｉｏｎ  ｐｒｏｇｒｅｓｓｉｏｎ）は、関数ｒ（ｉ）として定義することができ、ここで、ｉ＝…，−３，−２，−１，０，１，２，３，…は、現在のイメージｉ＝０に対する相対的なイメージ・キュー内の位置を表す（ｉ＝１は次のイメージであり、ｉ＝−１は前のイメージである）。ｒ（０）＝１であり、ｉが０と等しくない場合にｒ（ｉ）＜＝１であり、絶対値｜ｉ｜が増えるときにｒ（ｉ）が増えないという一般的プロパティを有する他の分解度進数列も、適切である可能性がある。ｒ（ｉ）の和が有限の数に収束しない漸化数列であっても、適切である可能性がある。というのは、実際には、通常は無限の個数のイメージがないからである。
【０３３６】
イメージのこのマルチ・スケール表現は、クライアントまたはビューワが、イメージを切り替えるためのユーザ要求に瞬間的に反応することを可能にするために、複数分解度レンダリング方式と結合されなければならない。そのようなレンダリング方式は、単純に、高分解度スクリーンでの表示ためにイメージのより低い分解度の表現を補間するか「アップサンプリング」する。追加のより高い分解度のイメージ・データが使用可能になるにつれて、ディスプレイは、新しいより高い品質のデータを反映するように動的に洗練されなければならない。この洗練は、瞬間的とすることができ、あるいは、低いビジュアル品質から高いビジュアル品質への遷移をマスクする漸進的ブレンディングまたは他の技法を使用して達成することができる。一般に、非常に低い分解度のイメージ・データからの補間は、ぼけた外見をもたらす。高分解度像がより低い分解度の補間された像を置換し、経時的にブレンディングされる場合に、知覚的効果は、イメージが「合焦点になる」ように見えることである。
【０３３７】
異なるイメージへの遷移の際に、ビューワまたはクライアントは、サーバに追加データを要求するか、ファイルから追加データをロードして、新しい現在のイメージと周囲のイメージ（通常は、イメージを進行させる場合には新しい次のイメージ、逆方向にステップする場合には新しい前のイメージ）との両方の品質を改善しなければならない。不必要な高分解度データを、現在のイメージが変化するときに破棄して、総メモリのフットプリント（ｆｏｏｔｐｒｉｎｔ：設置面積）を維持することもできる。
【０３３８】
この方式は、次を含む、伝統的なルック・アヘッド／ルック・ビハインドを上回る多数の利点を有する。  
−  ユーザは、一時に任意の個数のイメージを前後にスキップすることができ、より大きいスキップは、単純に、新しいイメージのよりぼけた最初の外見をもたらす。  
−  メモリのフットプリントは、伝統的な方法より大きくはない可能性があり、関数ｒ（ｉ）に、よりシャープに省略する、たとえば…１／６４、１／１６、１／４、１、１／４、１／１６、１／６４…とすることによって、（必要と思われる場合には）より小さくすることもできる。  
−  ユーザがイメージを「フリップ・スルー」できるレートは、無制限であり、素速いフリップは、単純に、フリップ中のぼけた外見をもたらす。動いている視覚的刺激内の微細な詳細の知覚に関する心理学的限界に起因して、フリップ中のこのブラリネスの一部またはすべてが、ユーザに不可視のままになる場合もある。
【０３３９】
拡張
前述の議論では、変化するイメージ分解度だけに言及したが、より多いまたはより少ないデータを使用してイメージを表現でき、追加データが使用可能になるときのイメージ品質の動的改善を伴う他のプログレッシブ圧縮解除方式が存在することに留意されたい。たとえば、変換ベース・コーディングでは、追加の変換係数が、品質を徐々に改善することができる。上で説明した方法は、これらのプログレッシブな（必ずしも複数分解度ではないが）方式に自然に拡張される。
【０３４０】
上で説明した発明は、イメージの線形シーケンスに適用されるが、イメージの「グラフ」すなわち、あるイメージに（潜在的にユーザ選択によって）複数の可能な次のイメージを続けるか複数の可能な前のイメージを先行させることができるイメージのコレクションに拡張することができる。この場合に、オリジナルの関数ｒ（ｉ）を、１つの遷移、２つの遷移などを介して現在のイメージに続くことができるすべてのイメージに適用することができ、あるいは、イメージのセットを通る特定の「パス」に優先的に重みを付けることができ、あるいは、制約を使用して、ある割振りアルゴリズムに従って、すべての可能な先行するイメージまたは後続のイメージの間である固定された量のメモリを割り振ることができる。
【０３４１】
最後に、前述の議論では、イメージが静的であり、あらかじめ圧縮されていると仮定したが、説明された技法のすべてが、イメージ・コンテンツが、動的に生成され、計算の出力またはプログラムもしくはアプレットのビジュアル・インターフェースを表す情況において、同等に適用可能である。この場合に、計算、プログラム、またはアプレットは、大きいまたは小さい「仮想ディスプレイ」に、すなわち異なる分解度で、それ自体をレンダリングする（あるいは、ある非ピクセル表現を使用して、変化する度合でより粗くまたはより微細にそれ自体をレンダリングする）ことができなければならない。この場合、複数のイメージと同様に、プログラムがそれ自体を１／４サイズでレンダリングするのに要する時間は、フル・サイズでレンダリングするのに要する時間の約１／４であることになる。
【０３４２】
（特許請求の範囲）
イメージをキャッシングすることを備え、キャッシングする前記ステップは非線形であることを特徴とする方法。
【０３４３】
Ａ８
（表題）多数の、潜在的に大きいイメージを有するリモート写真アルバムを動的に、効率良く対話する方法（ＭＥＴＨＯＤ  ＦＯＲ  ＥＦＦＩＣＩＥＮＴＬＹ  ＩＮＴＥＲＡＣＴＩＮＧ  ＷＩＴＨ  ＤＹＮＡＭＩＣ，  ＲＥＭＯＴＥ  ＰＨＯＴＯ  ＡＬＢＵＭＳ  ＷＩＴＨ  ＬＡＲＧＥ  ＮＵＭＢＥＲＳ  ＯＦ  ＰＯＴＥＮＴＩＡＬＬＹ  ＬＡＲＧＥ  ＩＭＡＧＥＳ）
ＪＰＥＧ２０００／ＪＰＩＰ１などの最近開発されたイメージ圧縮標準規格およびイメージ伝送標準規格は、狭帯域幅通信チャネルを介する大きいイメージ（すなわち、サイズにおいてギガ・ピクセル）の対話型表示を可能にした。しかし、これらの新生の標準規格およびテクノロジは、より曖昧な目標を達成する明白な手段すなわち、それぞれが潜在的に非常に大きい場合もある非常に多数のイメージとの柔軟な視覚的対話を同時に可能にする明白な手段を提供しない。本発明は、そのような対話を可能にする。次のシナリオは、本システムの技術的能力を具体的にすると同時に、本テクノロジによって可能にされる応用例の一部を説明する。  
＜１＞Ｄａｖｉｄ  ＴａｕｂｍａｎのＫａｋａｄｕ、ｗｗｗ．ｋａｋａｄｕｓｏｆｔｗａｒｅ．ｃｏｍの実装を参照。ＴａｕｂｍａｎはＪＰＥＧ２０００  ＩＳＯ標準委員会にいた。
【０３４４】
シナリオ＃１ａ。あるユーザが、ディジタル写真（それぞれ５メガ・ピクセル）のコレクション全体をそのユーザのノートブック・コンピュータのハード・ドライブ上に保持する。このユーザは、熱心な写真家であり、数年後に、このコレクションは、合計２５０００個のイメージになる。このユーザは、本発明を使用してコレクション全体を編成し、データ、サイズ、色、または他のプロパティによって写真をソートするために写真を動的に再配置することができ、サブセットを抽出する。コレクション全体を見るときに、このユーザは、写真のすべてがビューに入るまで、滑らかに連続的にズーム・アウトすることができ２、単一の写真の詳細を見るためにズーム・インすることができ、あるいは、任意の中間ビューまでズームすることができる。  
＜２＞ディスプレイが、高分解度（１９２０×１２００＝２．３メガ・ピクセル）であると仮定すると、２５０００個のイメージのコレクション全体を同時に見ることは、１イメージあたり約９２個の正方形ピクセルを与え、したがって、各「サムネイル」は、１辺が約ｓｑｒｔ（９２）＝９．６ピクセルである。驚くべきことに、これらの非常に小さいサムネイルですら、しばしば、イメージの人物を連想させることができ、最小限でも、類似する色域または色構成を有するシリーズからのイメージは、明らかに識別可能である）
【０３４５】
シナリオ＃１ｂ。シナリオ＃１ａのユーザは、そのユーザのホーム・コンピュータをサーバとして構成し、その後、シナリオ＃１ａと全く同様に、リモート・クライアント・コンピュータからその写真コレクション全体をナビゲートすることができる。
【０３４６】
シナリオ＃２ａ。ある美術館が、その絵画（１００メガピクセル以上）のすべての高分解度スキャンに投資し、記述的な説明文と共に空間的に編成された、これらの絵画のうちの数十点または数百点を特集したオンライン展示を企画する。本発明を使用すると、この展示品にその美術館の中からローカルにアクセスできるだけではなく、低帯域幅コネクションを介してこのコレクションをブラウズするリモート・ユーザさえもが、シナリオ＃１ａおよび＃１ｂと全く同様に、パンし、ズーム・インし、またはズーム・アウトして、素材（ｍａｔｅｒｉａｌ）をナビゲートすることができる。
【０３４７】
シナリオ＃２ｂ。その美術館は、３Ｄモデル内の「地理的に正しい」位置に芸術作品のすべての高分解度スキャンを備えた、その美術館の建物を表す仮想３次元スペースを作成する。あるいは、３次元美術館仮想スペースを、物理的対応物なしで作成することができる。これらの３Ｄモデルを、シナリオ＃２ａの２Ｄバージョンに似た形で、ローカルに、
またはリモートに、のいずれかで、ナビゲートすることができる。ズーム・インという２次元動作の類似物は、イメージ表面のより近くに移動することであり、ズーム・アウトは、イメージ表面から離れて移動することに類似する。
【０３４８】
シナリオ＃２ｃ。その美術館は、非常に高い分解度でその１４世紀の時祷書をもスキャンし、１００メガピクセル超の数百個のイメージを作る。これらは、オンラインで使用可能な「仮想ブック」すなわちオリジナルの高品質代用物に組み立てられる。このブックを、３次元でめくることのできるページを用いて、ローカルにまたはリモートにナビゲートすることができる。
【０３４９】
本発明を使用可能にすることに関連するＪＰＥＧ２０００／ＪＰＩＰの主要な機能は、次の通りである。
【０３５０】
フル分解度より低い分解度のはしごでのイメージ・ファイルの圧縮解除を効率的にするマルチ・スケール・イメージ表現。ほとんどの場合に、これらの分解度は、２のべきによってオリジナルからダウンサンプリングされ、たとえば、オリジナルが５１２×５１２ピクセルである場合に、２５６×２５６、１２８×１２８、６４×６４、３２×３２、１６×１６、８×８、４×４、２×２、および１×１の表現も使用可能になる。１×１バージョンは、イメージ全体の平均カラーに対応する単に単一ピクセルの値であり、徐々により高い分解度は、プログレッシブにより多くの詳細を追加する。いくつかのイメージについて、最低分解度（たとえば、４×４、２×２、および１×１）が使用可能でない場合がある。
【０３５１】
たとえば５１２×５１２イメージの２５６×２５６分解度からの３２×３２ピクセル・セクションなど、所与の分解度のイメージの一部分（「関心領域」またはＲＯＩと呼ばれる）だけを選択的に圧縮解除する能力。
【０３５２】
このマルチ・スケール選択的圧縮解除をサーバ上で効率的に実行し（すなわち、イメージ・ファイル全体を解析はせずに）、関心領域および関心を持たれている分解度を再構成するのに限られた量の必要な情報だけをリモート・クライアントに供給する能力。送信される情報の量は、ＲＯＩのサイズにほぼ比例しなければならない。
【０３５３】
これらの要件を満足するすべての他のイメージ圧縮フォーマット／プロトコルは、同等に適切であるはずである。本明細書では、イメージ・フォーマットを、ＪＰＥＧ２０００のようにウェーブレット・ベースとするか、他のテクノロジに基づくものとすることができることの理解の下で、イメージ・フォーマットを単に「マルチ・スケール」と称する。
【０３５４】
本発明は、上でリストしたシナリオを実装するためにさまざまな構成で使用できる、事前計算されるステップ（ｐｒｅ−ｃｏｍｐｕｔｅｄ  ｓｔｅｐｓ）と対話型レンダリング・アルゴリズムとを定義する。これらのシナリオのすべてが、イメージの「ユニバース」とのユーザ対話を伴い、したがって、事前計算の開始ポイントは、ファイル名、ＵＲＬ、または個々のイメージを参照する他のストリングのリストである。ユーザが、これらのイメージのすべてを同時に見るのに十分にズーム・アウトするときに、クライアントまたはサーバのいずれかがすべてのイメージ・ファイルをトラバースすることは、非常に多数のイメージ・ファイルがある場合があるので、非実用的である。たとえば、個々のイメージがオン・スクリーンの２×２＝４ピクセルを占める体制では、数千個のイメージのうちの数十個または数百個がビュー内にある場合があるが、これらのイメージが効率的な低分解度アクセスをサポートする場合であっても、単に１０００００個のファイルをオープンし、クローズすることは、大きいオーバーヘッドを伴い、対話的なタイム・スケールで達成することはできない。したがって、「モンタージュ」と呼ばれる、これらのイメージの低分解度バージョンのキャッシングされた表現を使用することが必要である。モンタージュは、図Ａ８−１に示されているように、低分解度でレンダリングされ、四辺形領域に効率的に詰め込まれた、すべてのイメージのモザイクまたはコラージュである。モンタージュ・イメージ・ファイルに埋め込むか別々に格納することができる補助メタデータが、特定のイメージ・ファイルに伴うモンタージュ・イメージ上の四辺形領域を識別する。
【０３５５】
2008517540.tif 000025
【０３５６】
本発明の最も単純な実装では、モンタージュ・イメージ自体を、ズームおよびパンのインターフェースを使用してナビゲートすることができる。ユーザが、モンタージュ・イメージ内で使用可能な分解度を使い果たすのに十分にズーム・インするときに、メタデータは、クライアントに個々のイメージ・ファイルを参照させ、クライアントは、これらからの像（ｉｍａｇｅｒｙ）を使用して、より高い分解度でレンダリングする。ピクセル単位の総モンタージュサイズは、少数のイメージだけが同時に可視である段階でのズーム・イン中に限ってその分解度が使い果たされるように選択され、したがって、一時に少数以上のイメージにアクセスする必要は、絶対にない。後続のズーム中およびパン中には、イメージ・ストリームは、任意の所与のときにオープンされる個数を制限するために、必要に応じてオープンされ、クローズされる。
【０３５７】
高分解度の多数のイメージをナビゲートするこの最も単純な手法は、大きい障害をこうむる。すなわち、モンタージュ・レイアウトは、詰込み効率のために設計されるが、ユーザは、オン・スクリーンの異なるビジュアル配置を望む場合がある。さらに、ユーザは、スクリーン上のイメージのレイアウトを動的に再配置できることを望む場合がある。これを可能にするために、「テクスチャ・マッピング」と称するグラフィックス・レンダリング技法を利用することができ、このテクスチャ・マッピングは、ソフトウェアで実装することができるが、一般に、現代のパーソナル・コンピュータではハードウェア・アクセラレートされる。テクスチャ・マッピングは、「テクスチャ」またはソース・イメージの一部をディスプレイに描き、任意選択としてイメージを再スケーリングし、回転し、３次元透視変換（ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ  ｐｅｒｓｐｅｃｔｉｖｅ  ｔｒａｎｓｆｏｒｍ）を実行することを可能にする。他のハードウェア・アクセラレーテッド変換が、しばしばサポートされ、これには、色訂正または色変更、完全な透明性または部分的な透明性、照明、オクルージョン、および座標再マッピングが含まれる。モンタージュの低分解度バージョンを、「テクスチャ」として使用することができ、その結果、ユーザがズーム・アウトしたときに、モンタージュ内の個々のイメージを、図Ａ８−２に示されているように、任意の形で動的に再マッピングすることができる。複数のテクスチャ・マップを使用することができ、その場合に、各テクスチャ・マップを、イメージのサブセットを含むモンタージュとすることができる。
【０３５８】
2008517540.tif 000026
【０３５９】
もう１つの機能強化された実施形態では、テクスチャ・マッピング技法（一般に、１つまたは複数のモンタージュ・イメージの低分解度レンディションだけに適用可能である）を、動的再配置中にのみ使用することができる。イメージ配置が静的であるときに、ソフトウェア合成を使用して、オン・スクリーンのより高精細度の再配置されたモンタージュのすべてまたは一部を組み立てることができる。このソフトウェア合成方法は、その写しが、別紙Ａ１０として、ＵＳ特許出願番号１０／７９０，２５３に記載されたレイジイ複数分解度レンダリング技法（ｌａｚｙ  ｍｕｌｔｉ−ｒｅｓｏｌｕｔｉｏｎ  ｒｅｎｄｅｒｉｎｇ  ｔｅｃｈｎｉｑｕｅｓ）と共同して特に貴重である。この方法は、事実上、オリジナルのモンタージュの像を再配置することによって新しい「ディスプレイ・モンタージュ」を作成する。
【０３６０】
この種のモンタージュ再配置を使用して、テクスチャ・マッピングに頼らずにイメージの再編成をサポートすることが可能である。この場合に、配置の間の遷移は、アニメーション付きとしても、そうしなくてもよい。
【０３６１】
さらなる拡張
テクスチャ・マッピング、ソフトウェア・レンダリング、またはこの２つの任意の組合せを使用して、平面ではなく３次元で像（ｉｍａｇｅｒｙ）をレンダリングすることができる。３次元での動的再配置も可能である。３次元応用例に、特に本出願人によって本願と同時に出願された、別紙Ｂとして本明細書に添付された同時係属の仮出願に記載の発明と共同して使用されるときの、仮想ギャラリまたは他のウォーク・スルー環境ならびに仮想ブックが含まれる。仮想ブック応用例を、図Ａ８−３に示す。この例には、部分的透明性（粗いエッジ）のためのアルファ・チャネルが、赤、緑、および青の色成分に加えてイメージ情報として格納される、本方法の拡張も示されている。ハードウェア・アクセラレーテッド・テクスチャ・マッピングのほとんどの実装は、アルファ・チャネルをサポートする。２Ｄまたは３Ｄのいずれかで適用可能なもう１つの拡張は、たとえばこのブックのページがめくられるときにそのページを曲げることなど、イメージの動的変形である。
【０３６２】
2008517540.tif 000027
【０３６３】
本発明は、ビジュアル計算またはアプリケーションもしくはアプレットの出力など、静的イメージ以外のビジュアル・オブジェクトをサポートするように拡張することもできる。
【０３６４】
（特許請求の範囲）
動的再配置中にテクスチャ・マッピングを実行すること、および当該動的再配置が停止するとテクスチャ・マッピングの実行を停止することを備えることを特徴とする方法。
【０３６５】
Ａ９
（表題）イメージとして地理空間（ｇｅｏｓｐａｔｉａｌ）データまたは他のベクトル・データをエンコードし、供給する方法（ＭＥＴＨＯＤ  ＦＯＲ  ＥＮＣＯＤＩＮＧ  ＡＮＤ  ＳＥＲＶＩＮＧ  ＧＥＯＳＰＡＴＩＡＬ  ＯＲ  ＯＴＨＥＲ  ＶＥＣＴＯＲ  ＤＡＴＡ  ＡＳ  ＩＭＡＧＥＳ）
最近、ＪＰＥＧ２０００／ＪＰＩＰ１（などのイメージ圧縮標準規格が、要求の厳しいエンジニアリング目標を満足するために、すなわち、非常に大きいイメージ（すなわち、サイズにおいてギガ・ピクセル）をサーバからクライアントへ低帯域幅通信チャネルを介して増分的にまたは選択的に配信することを可能にするために、導入されてきた。そのようなイメージが、フル分解度で見られているときには、限られた領域だけが、任意の所与のときにクライアントのグラフィカル・ディスプレイにおさまることができる。これらの新しい標準規格は、そのような領域に選択的にアクセスすること、およびその領域に関連するデータだけを通信チャネルを介して送信することを対象とする。この「関心領域」すなわちＲＯＩが、連続的に変化する場合に、クライアントとサーバとの間の低帯域幅チャネルを介する連続的対話が、ＲＯＩの内側の領域のクライアントの表現を正確に保つために継続される可能性がある。  
＜１＞Ｄａｖｉｄ  ＴａｕｂｍａｎのＫａｋａｄｕ、ｗｗｗ．ｋａｋａｄｕｓｏｆｔｗａｒｅ．ｃｏｍの実装を参照。ＴａｕｂｍａｎはＪＰＥＧ２０００  ＩＳＯ標準委員会にいた。
【０３６６】
本発明は、これらの選択的に圧縮解除除可能なイメージ圧縮テクノロジおよびイメージ伝送テクノロジの地理空間データまたは概略データ（ｓｃｈｅｍａｔｉｃ  ｄａｔａ）への拡張に関する。本発明は、（１）別紙Ａ６として添付されたＭｅｔｈｏｄ  ｆｏｒ  ｓｐａｔｉａｌｌｙ  ｅｎｃｏｄｉｎｇ  ｌａｒｇｅ  ｔｅｘｔｓ，  ｍｅｔａｄａｔａ，  ａｎｄ  ｏｔｈｅｒ  ｃｏｈｅｒｅｎｔｌｙ  ａｃｃｅｓｓｅｄ  ｎｏｎ−ｉｍａｇｅ  ｄａｔａおよび（２）別紙Ａ１２として添付されたＭＥＴＨＯＤＳ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＮＡＶＩＧＡＴＩＮＧ  ＡＮ  ＩＭＡＧＥの以前の特許出願で導入された方法を組合せ、拡張する。（２）では、連続的マルチ・スケール道路地図レンダリングの概念が、導入された。（２）の発明の基礎は、異なる分解度の道路地図または他のベクトル・ベースの図のイメージの事前にレンダリングされた「スタック」であり、このスタックでは、ビジュアル要素のカテゴリ（たとえば、国道、州道、および地方道路を含む道路の等級）が、異なる分解度で異なる視覚的重みを用いてレンダリングされる。クライアント／サーバ対話中に、これらのイメージのうちの複数のイメージの対応する領域が、ダウンロードされ、クライアントのディスプレイは、これらの領域のブレンディングされた組合せを示し、ブレンディング係数およびブレンディングされるイメージ分解度の選択は、ズーム・スケールに依存する。正味の結果は、クライアント・サイドのユーザが、連続的にズームし、パンしながら、大きい地図（たとえば、米国のすべての道路）をナビゲートでき、ズーム・スケールが変更されるときに道路のカテゴリが現れる、または消えるなどの視覚的不連続性を一切体験しないことである。そのような不連続性ではなく、すべてのスケールで、最も関連するカテゴリが、強調され、たとえば、国全体を見るためにズーム・アウトされるときに、最大級の主要道路が、強く重みを付けられ、明瞭に目立つようにされ、州レベルでは、二級主要道路も、明瞭になるのに十分に強く重みを付けられる。ユーザが、最も詳細な事前レンダリングされたイメージが使用されているポイントまでズーム・インしたときには、すべての道路が、明瞭に可視であり、地理空間データの好ましい実施形態では、すべての要素が、その物理的に正しいスケール（縮尺）の近くで示される。これらの最も詳細な事前レンダリングされたイメージの最大の穏当な分解度は、約１５メートル／ピクセルとすることができるが、ユーザの観点からは、さらにズーム・インできることが望ましい。より高い詳細での事前レンダリングは、次の複数の理由から望ましくない。第１に、サーバ・サイドのファイル・サイズが極端に大きくなる（１５メートル／ピクセルの単一のユニバーサル横メルカトル（ＵＴＭ）ゾーン・イメージは、既にギガ・ピクセル範囲に含まれる可能性がある）からであり、第２に、事前レンダリングされたイメージは、高分解度地図レンダリングに通常関連付けられた種類の非常に疎な白黒データの非効率的表現であるからであり、第３に、クライアントが、静的ビジュアル表現を超えた計算タスクを実行するために「実際の」ベクトル・データを必要とする場合があるからである。たとえば���経路案内システム（ｒｏｕｔｅ  ｇｕｉｄａｎｃｅ  ｓｙｓｔｅｍ）は、ある道路を強調表示するか、その色を変更することができ、これは、クライアントが、事前レンダリングされたイメージだけとは対照的に、ベクトル・データにアクセスできる場合に限って、クライアント・サイドで行うことができる。ベクトル・データには、道路名、住所、および選択的にレイアウトし、レンダリングする柔軟性をクライアントが有しなければならない他の情報、も含まれる場合がある。街路名ラベルを地図イメージ・スタックに事前レンダリングすることは、明らかに望ましくない。というのは、これらのラベルが、クライアント・ビューの正確な位置およびスケールに応じて、異なる場所に異なるサイズで描かれなければならないからであり、ユーザがズームするときに、異なるラベル・レンディションを互いにブレンディングしてはならないからである。そのようなデータの事前レンダリングは、フォントに関する柔軟性もすべて除去するはずである。
【０３６７】
要約すると、ベクトル・データ（本明細書では、この用語は、幾何情報と、場所の名前などの他の情報との両方を包括的に指すのに使用される）は、両方ともクライアント自体にとって重要であり、また、望まれる分解度が高いときに、事前レンダリングされた像よりも、より効率的な情報の表現である。しかし、大きい領域が低分解度でレンダリングされる場合には、ベクトル・データが、極端に大きく複雑になり、事前レンダリングされたイメージがより効率的な表現になる場合があることに留意されたい。しかし、低分解度であっても、主な主要道路の名前など、ベクトル・データについての幾つかのサブ・セットが必要である。
【０３６８】
本発明は、（１）で導入された方法を拡張して、おそらくは（２）の事前レンダリングされた像と共に、スペース・ベクトル・データを選択的に増分式にエンコードし、クライアントに送信することを可能にする。従来技術を使用すると、これは、地理空間データベースを使用して達成されることになる。このデータベースは、スペース的にインデクシングされた、すべての関連するベクトル・データを含む必要があることになる。そのようなデータベースは、多数の実装の課題を提示する。本発明では、普通のデータベースを使用するのではなく、ＪＰＥＧ２０００／ＪＰＩＰによってサポートされるものなどのスペース的にアドレッシング可能なイメージを使用して、ベクトル・データをエンコードし、供給する。
【０３６９】
本明細書の例示的実施形態では、次の３つのイメージまたはチャネルが、それぞれ８ビット深さの地図データを表すのに使用される。
【０３７０】
事前レンダリング済みレイヤは、（２）による、道路地図の事前計算された正確なレンディションであり、
ポインタレイヤは、通常は交差点である、それが参照する道路地図地物（ｒｏａｄｍａｐ  ｆｅａｔｕｒｅｓ）にまたはその非常に近くに位置決めされた２＊２ピクセルのブロックからなり、
データ・レイヤは、それらを参照する２＊２個のポインタを中心とするかその近くに位置決めされたｎ＊ｍピクセルのブロックからなる。
【０３７１】
この３つのチャネルは、等しいサイズを有し、互いに位置決めされているので、単一のカラーイメージを作るために異なる色（コンピュータ・ディスプレイでは赤、緑、青、あるいは、印刷媒体についてはシアン、マゼンタ、イエロー）でオーバーレイすることができる。そのようなイメージが、図Ａ９−２〜−３に再現されている。図Ａ９−１は、比較および位置付けのために、事前レンダリング済みレイヤだけを示す。示されている領域は、米国ワシントン州キング郡であり、シアトルおよびその多数の近郊住宅地区を含む。図Ａ９−３ａおよび−３ｂは、それぞれこの地図の近郊区域および都市区域からのクローズアップである。
【０３７２】
2008517540.tif 000028
【０３７３】
2008517540.tif 000029
【０３７４】
2008517540.tif 000030
【０３７５】
ユーザが、図Ａ９−３ａに示された地図のビューにナビゲートする場合に、クライアントは、サーバに、図示の３つのイメージ・レイヤの関連部分を要求する。事前レンダリング済みレイヤ（イエローで図示）は、この３つのうちで、そのままでスクリーンに表示される唯一のレイヤである。他の２つは、ベクトルデータを指定する。ポインタ・イメージは、２×２ピクセルグリッドに位置合せされた２×２ピクセルのブロックからなり、このブロックのそれぞれは、それ自体の位置からデータ・レイヤ内の対応するデータ・ブロックの先頭（左上角）までの（ｘ，ｙ）ベクトル・オフセット（ベクトルのｘ成分およびｙ成分のそれぞれは、１６ビット整数を含み、したがってそれぞれ２ピクセルである）を指定する。対応するデータ・ブロックは、データ・ブロックの幅および高さを指定する２つの１６ビット値（４ピクセル）から始まる。幅が、まず指定され、少なくとも２になるように制約され、したがって、幅および高さの読取での曖昧さが回避される。データ・ブロックの残りは、ベクトル、テキスト、または他の情報の任意の組合せを含むことができるバイナリ・データとして扱うことができる。図Ａ９−２〜−３の例では、データ・ブロックは、市街地図情報を含み、この市街地図情報は、街路の名前、住所の範囲、およびベクトル表現を含む。
【０３７６】
ポインタ・レイヤおよびデータ・レイヤは、事前レンダリング済みレイヤが事前計算されるのと同様に事前計算される。ポインタ・レイヤおよびデータ・レイヤの事前計算は、関連するベクトル・データのすべてをデータ・ブロックにエンコードすること、およびポインタとデータ・ブロックとの両方をできる限り効率的にそのそれぞれのイメージ内に詰め込むことからなる。田舎の、またはまばらな近郊区域（図Ａ９−３ａを参照されたい）では、地物（ｆｅａｔｕｒｅｓ）が、明確に分離される傾向があり、ポインタ・イメージおよびデータ・イメージ内の大きい空白領域がもたらされる。ポインタが発生する場合には、ポインタは、それが参照する地物（ｆｅａｔｕｒｅｓ）に正確に乗り、それに対応するデータ・ブロックは、しばしば、正確にそのポインタを中心とする。しかし、密な都市区域（図Ａ９−３ｂを参照されたい）では、地物（ｆｅａｔｕｒｅｓ）は、しばしば、ポインタおよびデータ・ブロックのすべてがおさまるには近すぎる。したがって、四辺形詰込みアルゴリズムを使用して、ポインタおよびデータ・ブロックを、オーバーラップなしでその所望の位置のできる限り近くに置くことを試みることが必要である。その結果は、図Ａ９−３ｂで明白であり、シアトル付近の池および海岸は、地上の地物（ｆｅａｔｕｒｅｓ）に対応するデータブロックで満たされている。すべての都市区域が、よりまばらな区域（近郊住宅地区、山、または水域）によって囲まれているので、都市データブロックを地図上のどこかに配置することは、必ず可能であり、一般に、密な都市の中であっても、この「あふれだし」が過度に深刻ではない十分な空のスペースがある。あふれだしの割合が高いほど、地図ベクトルデータは、より悪く局所化されるようになる。あふれだしは、データレイヤ・イメージの分解度が高められるときに劇的に減少し、効率および非局所性が適当にバランスをとられる分解度を見つけることは、必ず可能である。北米では、１５ｍ／ピクセルが、よい選択であると思われる。これは、田舎区域では「やりすぎ」であるが、都市付近では、これが、図Ａ９−２および−３ｂに示されているようにあふれだしを制限する。
【０３７７】
効率的な四辺形詰込みは、計算的に難しい問題ではあるが、計算幾何の文献に、これを解くための多数の近似アルゴリズムがあり、本発明は、これらのうちのどの特定の１つをも明記しない。実際に使用されるアルゴリズムは、階層「四辺形ツリー」を用いるが、これは、次の動作を高速にする。  
・所与の四辺形が既にそのツリーに含まれる他の四辺形のいずれかと交差するかどうかをテストする、  
・オーバーラップしない四辺形を挿入する、  
・ターゲット・ポイントｐの周囲の半径ｒ０＜＝ｒ＜ｒ１のリング内の「空のコーナー」（すなわち、空のスペースに接する既に挿入されている四辺形に接するコーナー）の完全なセットを見つける。
【０３７８】
ターゲット・ポイントのできる限り近くに新しい四辺形を挿入するのに使用される「グリーディ・アルゴリズム（ｇｒｅｅｄｙ  ａｌｇｏｒｉｔｈｍ）」は、次のように進行する。  
・ターゲット・ポイントを中心とする四辺形の挿入を試みる。これが成功する場合には、アルゴリズムは終了する。  
・そうでない場合には、四辺形の長さまたは幅の最小値の半分になるように半径ｒ０を定義し、ｒ１＝ｒ０＊２と定義する。  
・ｒ０とｒ１との間のすべての「空のコーナー」を見つけ、増加する半径によってソートする。  
・これらのコーナーのそれぞれに次々と四辺形を置くことを試み、成功の際には、アルゴリズムは終了する。  
・試みられた挿入のどれもが成功しない場合には、ｒ０にｒ１をセットし、ｒ１に２＊ｒ０をセットし、ステップ３に進む。
【０３７９】
このアルゴリズムは、イメージ内のどこかに少なくとも正しい寸法の空のスペースが存在するならば、最終的に四辺形を置くことに必ず成功する。このアルゴリズムは、一時に単一の四辺形を置き、できる限り効率的にｎ個の四辺形を詰め込むという全体的論問題を解くことは試みないという意味で「貪欲（ｇｒｅｅｄｙ）」である（全体論的アルゴリズムは、詰込み効率の明示的尺度の定義、ならびに無駄にされるスペースの最小化と、四辺形とその「ターゲット・ポイント」との間の距離の最小化との間の所望のトレード・オフの指定を必要とするはずである。グリーディ・アルゴリズムは、上のアルゴリズムの説明から明瞭であるように、このトレードオフを明示的に指定することを必要としない）。
【０３８０】
図Ａ９−４に、３つの場合に関する基本的な詰込みアルゴリズムの出力を示す。それぞれの場合で、このアルゴリズムは、複数の四辺形を共通のポイントのできる限り近くに連続して置いた。四辺形詰込み問題に対するこの解は、例としてのみ提供される。
【０３８１】
2008517540.tif 000031
【０３８２】
貪欲な詰込みアルゴリズム（ｇｒｅｅｄｙ  ｐａｃｋｉｎｇ  ａｌｇｏｒｉｔｈｍ）が地図のどの特定の区域をも優先しないようにするために、四辺形挿入の順序をランダム化することが望ましい。したがって、好ましい実施形態では、ポインタ／データ・ブロック対が、ランダムな順序で挿入される。他の順序付けが、ある種の情況で詰込み効率をさらに改善する場合があり、たとえば、小さいブロックの前に大きいブロックを挿入することによって、無駄にされるスペースを最小にすることができる。
【０３８３】
ポインタは、必ず２×２である（本明細書の表記は、行（ｒｏｗ：縦）×列（ｃｏｌｕｍｎ：横）である）が、データ・ブロックについては、アスペクト比選択における自由があり、正方形ピクセル単位の必要なブロック面積は、そのブロックにおさめなければならないデータの量によって決定されるが、この面積は、多数の異なる形状の四辺形におさまる可能性がある。たとえば、２４バイトのデータブロック（４バイトの高さおよび幅情報と、２０バイトの任意データとを含む）は、正確に１×２４、２×１２、３×８、４×６、６×４、８×３、または１２×２として表すことができる（上で説明したように、ブロック寸法がクライアント・サイドで既知になる前に２バイト幅をデコードするためにブロック幅が少なくとも２でなければならないので、２４×１は、失格にされる）。このブロックは、１バイトを使い残して、５×５として表すこともできる。本明細書では、近似因数分解５×５に加えて、上でリストしたすべての因数分解の集合を、「シーリング因数分解（ｃｅｉｌｉｎｇ  ｆａｃｔｏｒｉｚａｔｉｏｎｓ）」と称する。有効なシーリング因数分解の要件は、その面積が、少なくとも要求された面積であること、およびどの行または列も完全には無駄にされないことである。たとえば、７×４または３×９は、それぞれ６×４および３×８に縮小できるので、無効なシーリング因数分解である。最も単純な実装では、ブロック寸法を、データ長のシーリング因数分解だけに基づいて選択することができるが、一般に、「より正方形の」ブロック（４×６など）は、不等辺のブロック（２×１２など）よりもよく詰め込まれる。したがって、最も単純なブロックサイズ決定アルゴリズムは、無駄にされるバイトに対して「正方形への近さ（ｓｑｕａｒｅｎｅｓｓ）」をどのようにトレード・オフするかに応じて、４×６または５×５のいずれかを選択することになる。より洗練されたブロックサイズ選択アルゴリズムは、ターゲットポイントの近くでの空のスペースの検索の一部として、適応式にブロック寸法を選ぶことができる。１つの実装では、上述のアルゴリズムのステップ１および４が、次のように変更される。
【０３８４】
より正方形に近い因数分解を優先し、おそらくは無駄にされるバイトに関するペナルティを伴って、望ましさによって、必要なデータ長のシーリング因数分解をソートする。各シーリング因数分解によって与えられる寸法の四辺形を、順番にターゲット・ポイントｐに置くことを試みる。これらの挿入のいずれかが成功する場合に、アルゴリズムは終了する。  
【０３８５】
…  
「空のコーナー」ｃのそれぞれについて、順番に、シーリング因数分解のそれぞれによって与えられる寸法の四辺形を順番にｃに置くことを試みる。成功の際にはアルゴリズムが終了する。
【０３８６】
このアルゴリズムのさらなる洗練は、挿入に関するスコアリング関数の指定を伴い、このスコアリング関数は、全体論的最適化関数と同様に、無駄にされるスペースと、非正方形アスペクト比と、ターゲット・ポイントからの距離とをトレードオフする。
【０３８７】
３つの地図レイヤ、すなわち事前レンダリング済み道路、ポインタ、およびデータのそれぞれが、ＪＰＥＧ２００表現または類似するスペース的にアクセス可能な表現として格納される。しかし、この３つのレイヤの格納要件は、異なる。事前レンダリング済み道路レイヤは、ロスレスである必要はなく、表示されるときに適度な知覚的正確さを有することだけが必要である。１５ｍ／ピクセルでは、０．５ビット／ピクセル・ロッシイ・ウェーブレット圧縮が十分に適当であることがわかっている。しかし、ポインタ・レイヤおよびデータレイヤは、ロスレスに表現されなければならない。というのは、これらのレイヤに、クライアントが正確に再構成できなければならないデータが含まれるからである。ロスレス圧縮は、通常は、非常に効率的ではない。たとえば、通常のディジタル像は、通常、最善でも約２の因数を超えてロスレスに圧縮はされない。
【０３８８】
ロッシイ圧縮またはロスレス圧縮のいずれかのほとんどの形について、イメージ関数の大きさを小さくし、したがってより少ない有意ビットを使用するようにすることによって、性能を最適化することができる。したがって、機能強化された実施形態では、オリジナル・データを「平坦化する」ために、特殊なコーディング技法が使用される。これらの技法の結果は、図Ａ９−５で明白であり、図Ａ９−５には、「平坦化」の前後の、データ・イメージの同一の人口稠密領域が示されている。平坦化の前に、データ・イメージが、フル８ビットダイナミック・レンジを有し、高い周波数および構造化されたパターンを示し、これらが、このイメージを非常に悪く圧縮させる（実際に、このイメージのロスレスＪＰＥＧ２０００は、オリジナルの生のサイズより小さくはない）ことに留意されたい。「平坦化」の後には、構造のほとんどが消え、ピクセルの大多数は、８未満の値を有し、したがって、３ビットにおさまる。対応するＪＰＥＧ２０００は、３：１より高い圧縮を有する。「平坦化」は、次を含む複数の単純なデータ変換からなるものとすることができる（これは、図Ａ９−５の例に適用された変換の完全なリストである）。
【０３８９】
データ・ブロックの幅または高さなどの「１６ビット符号なし値」は、通常は、上位バイトおよび下位バイトを使用してエンコードされる。値が、時々不特定の量だけ２５５（８ビット限界）を超えるので、１６ビットが必要となる可能性があるが、それでも、大多数の場合に、値は小さい。８ビットにおさまる値について、上位バイトは０になる。頻繁な０上位バイトとそれに続く大きい下位バイトは、図Ａ９−５ａの諸部分で明白な２ピクセル周期性の多くを説明する。１６ビットを、次のように再マッピングすることができる。
【０３９０】
【表１８】
2008517540.tif 000032
【０３９１】
左の８列は、対の第１ピクセルすなわち以前の上位バイトを表し、右の８列は、第２ピクセルすなわち以前の下位バイトを表す。ビットをこの形で再配分することによって、アクセス可能な値の範囲（０〜６５５３５）は変化しないままになるが、この２つのバイトがはるかに対称になる。たとえば、すべての１６ビット値０〜２５５について、この２つのバイトのそれぞれが、１６未満の値をとる。
【０３９２】
類似する技法が、３２ビット以上の整数値に適用される。これらの技法は、符号付きの量にも拡張可能である。道路ベクトルの差分コーディングについて発生する、符号が頻繁に変化する変数について、符号ビットを、位置０に割り当てることができ、絶対値を、上のように交番するバイトでエンコードすることができる。説得力のある形で描かれるために、道路ベクトル・データが、しばしば、ピクセル精度を超える精度で表現されなければならないことに留意されたい。１ピクセルより小さい任意の単位を、その代わりに使用することができ、あるいは、これと同等に、上の技法と共同して、固定小数点を使用してサブピクセル精度を実装することができる。本発明の例示的実施形態では、１／１６ピクセル精度のために、４つのサブ・ピクセル・ビットが使用されている。
【０３９３】
数が上で説明したようにエンコードされるときには、数をできる限り小さくすることが望ましい。時々、コンテクストが、これを行う明白な形を暗示し、たとえば、すべてのデータ・ブロックの幅は、少なくとも２でなければならないので、本発明者は、エンコーディングの前にデータから２を引く。より重要なことに、ポインタとデータ・・ブロック内でエンコードされるすべての位置ベクトルとの両方が、絶対座標ではなくポインタ位置に対して相対的にピクセル単位で指定される。これは、エンコードされる数の大きさを大幅に減らすだけではなく、データ・イメージの一部分を、この部分の絶対位置に関わりなくローカル座標系でベクトル的にデコードし、レンダリングすることをも可能にする。
【０３９４】
曲線（たとえば、道路の）を定義するポイントのシーケンスのベクトル・レンダリングについて、最初のポイントだけが、オリジナルのポインタ位置に対して相対的に指定される必要があり、後続のポイントは、「デルタ」すなわち前のポイントからのステップ・ベクトルとしてエンコードすることができる。第２のそのようなポイントの後に、後続のポイントは、二次導関数すなわち現在のデルタと前のデルタとの間の差としてエンコードすることができる。二次導関数を使用するエンコーディングは、一般に、道路などの構造に効率的である。というのは、これらの構造が、導関数の連続性を有する曲線の離散化である傾向がある、すなわち、方向を漸進的に変更するからである。
【０３９５】
もう１つの「平坦化」技法が、テキスト・データと共に使用することに関して［１］に記載されており、このテキスト・データは、１バイトあたり単一文字で、通常はＡＳＣＩＩとしてエンコードされる。［１］に記載の応用例では、英語テキストがエンコードされており、したがって、文字は、英語の代表的サンプルでの文字出現の減少する頻度に基づいて再マッピングされる。同一の技法を、このコンテクストで使用することができるが、地図内のエンコードされるテキストは、ほとんどが道路名からなり、普通の英語とは非常に異なる統計を有する。たとえば、数字および大文字が、はるかに顕著である。
【０３９６】
上で提示したポインタまたはデータのエンコーディングの特定の方法が、例示であり、多数の他のエンコーディングも可能であることに留意されたい。「よい」エンコーディングは、一般に、滑らかであり、かつ／または低いダイナミック・レンジを有するイメージをもたらす。
【０３９７】
2008517540.tif 000033
【０３９８】
上の技法を使用すると、１５ｍ／ピクセルのキング郡道路地図は、次のように圧縮される。
【０３９９】
【表１９】
2008517540.tif 000034
【０４００】
驚くべきことに、ＪＰＥＧ２０００表現（ロッシイ事前レンダリングされた道路地図イメージ、ロスレス・ポインタ・レイヤ、およびロスレス・データ・レイヤを含む）は、実際に、表にされたテキストとしてのオリジナル・データを表す圧縮ＺＩＰファイル（このファイルは、米国勢調査局の２００２年ＴＩＧＥＲ／Ｌｉｎｅデータベースの一部である）より小さい。しかし、オリジナルＺＩＰと異なって、新しい表現は、クライアントに対話的に供給される準備ができており、連続的にパン可能かつズーム可能なスペース的アクセスの効率的サポートを伴う。
【０４０１】
［２］で導入されたオリジナルのプリレンダリングされたマルチ・スケール地図の発明は、単一の事前レンダリングされたイメージではなく、線（または他の可視機能）の再スケーリングされた重みを伴う、徐々により粗い分解度でレンダリングされたそのようなイメージのスタックを含んだ。これらのレンディションのどれからも機能は省略されないが、いくつかの機能は、たとえば都市の地方道路が州全体のレベルでかすかな灰色のぼけになるなど、集約の意味でのみ明瞭に可視になるのに十分に強調するのをやめられる。本発明を、オリジナルのベクトル・データのサブセットだけが表される、より粗い事前レンダリングされた道路地図イメージに対応するポインタ・イメージおよびデータ・イメージを含むように拡張することができる。たとえば、州全体のポインタ・イメージおよびデータ・イメージは、図Ａ９−１〜−３のイメージよりはるかに低い分解度であるが、すべての地方道路を除外して、州道および国道のデータだけを含む場合がある。これらのより粗いデータは、たとえばベクトルではなく道路名だけを指定する、「要約」とすることもできる。異なる分解度のデータは、オリジナル・データの変化する混合物またはサブセット、あるいは要約されたバージョンを含むことができる。この技法は、関連するデータのすべてをより小さい粗いイメージにおさめることを可能にすると同時に、そのスケールでのナビゲーションに関連するベクトル情報のサブ・セットをクライアントに与える。
【０４０２】
上で概要を示した実装は、すべての分解度での８ビット・グレイ・スケール事前レンダリング済み地図イメージを提案するが、事前レンダリングされるイメージを、カラーにすることもできる。さらに、事前レンダリングされるイメージが単一チャネルイメージである場合であっても、それらのイメージをクライアントによってカラーで表示することができる。というのは、ベクトル・データを使用して、事前レンダリングされた材料と異なる色で重要な道路を描くことができるからである。最後に、事前レンダリングされるイメージは、クライアントがイメージとベクトリアル材料を適当に合成することに頼って、ベクトリアル・データ内に存在するある種の機能または道路を省略することができる。
【０４０３】
（特許請求の範囲）
四辺形詰込みおよびＪＰＥＧ表現を使用することを特徴とするイメージをコーディングする方法。
【０４０４】
Ａ１０
ＡＰＰＬＩＣＡＴＩＯＮ  ＦＯＲ  ＬＥＴＴＥＲＳ  ＰＡＴＥＮＴ  
ＦＯＲ  
ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＥＸＡＣＴ  ＲＥＮＤＥＲＩＮＧ  ＩＮ  Ａ  ＺＯＯＭＩＮＧ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ  
ＢＹ  
ＢＬＡＩＳＥ  ＨＩＬＡＲＹ  ＡＧＵＥＲＡ  Ｙ  ＡＲＣＡＳＫａｐｌａｎ  ＆  Ｇｉｌｍａｎ，  ＬＬＰ
Ａｔｔｏｒｎｙ  Ｎｏ．  ４８９／２
【０４０５】
Ａ１０
（表題）ズーミング・ユーザ・インターフェースにおける正確なレンダリングのためのシステムおよび方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＥＸＡＣＴ  ＲＥＮＤＥＲＩＮＧ  ＩＮ  Ａ  ＺＯＯＭＩＮＧ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ）
（関連出願）
本願は、２００３年３月５日に出願した米国特許仮出願第６０／４５２０７５号（Ａ１）、２００３年３月１２日に出願した米国特許仮出願第６０／４５３８９７号（Ａ２）、２００３年６月５日に出願した米国特許仮出願第６０／４７５８９７号（Ａ３）、および２００３年５月３０日に出願した米国特許仮出願第６０／４７４３１３号（Ａ４）の優先権を主張するものである。
【０４０６】
（発明の分野）
本発明は、全般的にはコンピュータのグラフィカル・ズーミング・ユーザ・インターフェース（ＺＵＩ：ｚｏｏｍｉｎｇ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）に関する。より具体的には、本発明は、計算的に効率的である（よいユーザ反応性および対話的フレーム・レートをもたらす）こと、ならびにベクトル・ドローイング、テキスト、および他の非写真コンテンツが最終的に再サンプリングなしで（再サンプリングは、通常はイメージ品質の劣化につながることになる）、他のイメージの補間なしで（これも劣化につながることになる）描かれるという意味で正確であることの両方である形で、ズーム可能ビジュアル・コンテンツをプログレッシブにレンダリングするシステムおよび方法である。
【０４０７】
（発明の背景）
ほとんどの現在のグラフィカル・コンピュータ・ユーザ・インターフェース（ＧＵＩ）は、固定されたスペース的スケールのビジュアル・コンポーネントを使用して設計されている。しかし、コンピュータ・グラフィックスという分野の誕生から、ビジュアル・コンポーネントがディスプレイ上で固定されたスペース的スケールを有するのではなく、ビジュアル・コンポーネントをズーム・インまたはズーム・アウトできる形で、ビジュアル・コンポーネントを表現でき、操作できることが認められた。ズーム可能コンポーネントの望ましさは、多くの応用領域、たとえば、地図のビューイング、新聞などの大きい異種テキスト・レイアウトのブラウジング、ディジタル写真のアルバムのビューイング、および大きいデータ・セットのビジュアライゼーションを用いる作業などで明白である。スプレッドシートおよびレポートなどの普通のドキュメントを見るときであっても、しばしば、ドキュメントの概観を見て、次に、関心を持たれた領域にズーム・インできることが有用である。Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄ（登録商標）および他のＯｆｆｉｃｅ（登録商標）プロダクト（表示メニューの下のズーム）、Ａｄｏｂｅ（登録商標）Ｐｈｏｔｏｓｈｏｐ（登録商標）、Ａｄｏｂｅ（登録商標）Ａｃｒｏｂａｔ（登録商標）、ＱｕａｒｋＸＰｒｅｓｓ（登録商標）など、多くの現代のコンピュータ・アプリケーションに、ズーム可能コンポーネントが含まれる。ほとんどの場合に、これらのアプリケーションは、ドキュメントのズーム・インおよびズーム・アウトを可能にするが、必ずしもアプリケーション自体のビジュアル・コンポーネントのズーム・インおよびズーム・アウトを可能にはしない。さらに、ズームは、通常、ソフトウェアとのユーザの対話の周辺態様であり、ズーム・セッティングは、時たま変更されるのみである。ドキュメント上での連続的なパンは、標準的である（すなわち、スクロール・バーまたはカーソルを使用して、見られているドキュメントを左、右、上、または下に平行移動させること）が、ユーザ・フレンドリな形で連続的にズームし、パンする能力は、従来技術のシステムには存在しない。
【０４０８】
まず、複数の定義を示す。ディスプレイとは、レンダリングされた像（ｉｍａｇｅｒｙ）をユーザに出力するのに使用される１つまたは複数のデバイスである。フレーム・バッファは、ディスプレイの少なくとも一部の内容を動的に表すのに使用される。ディスプレイ・リフレッシュ・レートとは、物理ディスプレイまたはその一部が、フレーム・バッファの内容を使用してリフレッシュされるレートである。フレーム・バッファのフレーム・レートとは、フレーム・バッファが更新されるレートである。
【０４０９】
たとえば、通常のパーソナル・コンピュータでは、ディスプレイ・リフレッシュ・レートは６０〜９０Ｈｚである。たとえば、ほとんどのディジタル・ビデオは、２４〜３０Ｈｚのフレーム・レートを有する。したがって、ディジタル・ビデオの各フレームは、実際には、ディスプレイがリフレッシュされる回数の少なくとも２倍表示される。複数のフレーム・バッファを、異なるフレーム・レートで利用することができ、したがって、同一のディスプレイに実質的に同時に表示することができる。これは、たとえば、異なるフレーム・レートを有する２つのディジタル・ビデオは、同一ディスプレイ上で異なるウィンドウ内で再生されているときに、発生することになる。
【０４１０】
ズーミング・ユーザ・インターフェース（ＺＵＩ）に関する１つの問題は、ユーザがズームするときに、ビジュアル・コンテンツを異なる分解度で表示しなければならないことである。この問題に対する理想的な解決策は、すべての連続するフレームで、基礎になるビジュアル・コンテンツに基づく正確な新たに計算されたイメージを表示することになる。そのような手法に関する問題は、ユーザがズームするときのリアル・タイムでのビジュアル・コンテンツの各分解度の正確な再計算が、基礎になるビジュアル・コンテンツが複雑である場合に計算的に非実用的であることである。
【０４１１】
前述の結果として、従来技術のＺＵＩシステムは、それぞれが同一のビジュアル・コンテンツの異なる分解度での表現である複数の事前計算されたイメージを使用する。本明細書では、これらの異なる事前計算されたイメージのそれぞれを、詳細レベル（ＬＯＤ）と称する。概念上は減少する分解度のイメージのスタックとして編成される、ＬＯＤの完全なセットを、ＬＯＤピラミッドと称する。図Ａ１０−１を参照されたい。そのような従来技術のシステムでは、ズームが発生するときに、システムは、ＬＯＤの間で補間し、結果のイメージを所望の分解度で表示する。この手法は、計算的問題を解決するが、しばしばぼけ、非現実的な、異なるＬＯＤの補間を表すという事実に起因してしばしば情報の消失を伴う、最終的な損なわれたイメージを表示する。これらの補間誤差は、ユーザがズームを停止し、どのＬＯＤの分解度とも正確には一致しない選択された分解度で静止イメージを見る場合に、特に顕著である。
【０４１２】
事前計算されたＬＯＤの間の補間に関するもう１つの問題は、この手法が、通常、ベクトル・データを写真データまたはイメージ・データと同一の形で扱うことである。青写真または線画などのベクトル・データは、レンダリング・アルゴリズムを使用して抽象命令のセットを処理することによって表示され、このレンダリング・アルゴリズムは、すべての所望の分解度で直線、曲線、および他のプリミティブ形状をレンダリングすることができる。スケーラブル・フォントを使用してレンダリングされるテキストは、ベクトル・データの重要なスペシャル・ケースである。イメージ・データまたは写真データ（ビット・マップ・フォントを使用してレンダリングされるテキストを含む）は、そのように生成されるのではなく、事前計算されたＬＯＤの間の補間によって、またはオリジナル・イメージの再サンプリングによって、のいずれかで表示されなければならない。この後者を、本明細書では非ベクトル・データと称する。
【０４１３】
ズーム・シーケンス中にフレームごとに新しい分解度でベクトル・データを再表示するのにレンダリング・アルゴリズムを使用する従来技術のシステムは、対話的フレーム・レート達成するために、単純なベクトル・ドローイングにそれ自体を制約しなければならない。その一方で、ベクトル・データについてＬＯＤを事前計算し、それらの間で補間する従来技術のシステムは、非ベクトル・データに関して、ほとんどのベクトル・データ・レンディションに固有のシャープなエッジが、特に補間誤差に敏感なので、著しく劣化したビジュアル品質を欠点として持つ。この劣化は、ベクトル・データのスペシャル・ケースであるテキスト・コンテンツについて、通常は受け入れられない。
【０４１４】
本発明の目的は、ユーザが実際に物理オブジェクトを見て、その物理オブジェクトをそのユーザ自身のより近くに移動した場合にそのユーザが見ることになるズーム効果を再生するＺＵＩを作成することである。
【０４１５】
本発明の目的は、適当な分解度でイメージを表示するが、最終的な表示されるイメージ内の補間誤差を避けるか減らすＺＵＩを作成することである。本発明のもう１つの目的は、コンテンツの明快なぼけていないビューを維持し、対話的フレームレートを維持しながら、ユーザが、ベクトル・コンテンツに任意にズームインできるようにすることである。
【０４１６】
本発明のもう１つの目的は、コンテンツの全体的外見を保存し、対話的フレームレートを維持しながら、複雑なベクトリアル・コンテンツの概観を得るために、ユーザが任意にズーム・アウトできるようにすることである。
【０４１７】
本発明のもう１つの目的は、対話中のＬＯＤまたはレンディション品質の間の遷移についてのユーザによる知覚を減らすことである。
【０４１８】
本発明のもう１つの目的は、イメージの諸部分をレンダリングするのに通常は必要な情報がまだ不完全であるときに、ぼけによるイメージ品質のグレースフル・デグラデーションを可能にすることである。
【０４１９】
本発明のもう１つの目的は、イメージの諸部分をレンダリングするのに必要な、より完全な情報が使用可能になるにつれて、イメージによりシャープな合焦点をもたらすことによって、イメージ品質を漸進的に高めることである。
【０４２０】
本発明の目的は、ベクトル・データと非ベクトル・データとの両方を最適に独立にレンダリングすることである。
【０４２１】
本発明の上記および他の目的は、次の明細書の再検討から当業者に明白になるであろう。
【０４２２】
（発明の概要）
従来技術の上記および他の問題は、本発明に従って克服され、本発明は、ユーザがズーム・インし、ズーム・アウトし、回転し、パンし、または他の形でイメージのそのユーザのビューを変更するときに、動的に変化する分解度でイメージを表示できるようにするＺＵＩを実装するためのハイブリッド戦略に関する。ビューのそのようなすべての変化を、ナビゲーションと称する。事前定義のＬＯＤのどの分解度とも等しくない分解度へのイメージのズームは、所望の分解度を「周囲の」、複数の事前定義のＬＯＤから補間された新しい分解度で、イメージを表示することによって達成される。「周囲のＬＯＤ」とは、所望の分解度より高い最低の分解度のＬＯＤと、所望の分解度より低い最高の分解度のＬＯＤとを意味する。所望の分解度が、最高の使用可能な分解度を有するＬＯＤの分解度より高い、または最低の分解度を有するＬＯＤの分解度より低い、のいずれかである場合には、単一の「周囲のＬＯＤ」だけがあることになる。事前計算されたＬＯＤのセットに基づく所望の分解度でのイメージの動的補間を、文献では、ミップマッピングまたはトライ・リニア補間と称する。後者の用語は、さらに、双一次サンプリングが、周囲のＬＯＤを再サンプリングするのに使用され、これに、これらの再サンプリングされたＬＯＤ（したがって、トライリニア）の間の線形補間が続くことを示す。Ｌａｎｃｅ  Ｗｉｌｌｉａｍｓ．  “Ｐｙｒａｍｉｄａｌ  Ｐａｒａｍｅｔｒｉｃｓ，”  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  （Ｐｒｏｃ．  ＳＩＧＧＲＡＰＨ  ’８３）  １７（３）：  １−１１  （１９８３）を参照。前述のドキュメントは、参照によってその全体を本明細書に組み込まれている。Ｗｉｌｌｉａｍｓによって導入されたミップマッピング技法の明白な変更またはこれに対する拡張は、周囲のＬＯＤの非線形再サンプリングおよび／または補間を使用する。本発明では、再サンプリング動作または補間動作がゼロ次（最近傍）、線形、より高次、またはより一般に非線形、であるかどうかは重要でない。
【０４２３】
本明細書で説明する発明によれば、ユーザが、正確な所望の分解度（この分解度が事前定義のＬＯＤのうちの１つの分解度であることはほとんど絶対にない）を決めるときに、最終イメージは、好ましくは、まず中間最終イメージを表示することによって表示される。中間最終イメージは、本明細書で後で説明するようにイメージが洗練される前に、所望の分解度で表示される最初のイメージである。中間最終イメージは、従来技術を使用して所望の分解度で表示されるはずのイメージに対応するものとすることができる。
【０４２４】
好ましい実施形態では、中間最終イメージから最終イメージへの遷移は、以下で詳細に説明するように漸進的とすることができる。
【０４２５】
機能強化された実施形態では、本発明は、以下で詳細に説明するように、無理数増分（すなわち、２つの整数の比として表すことができない、連続するＬＯＤの間の拡大率または縮小率）を含む任意の分解度増分で、ＬＯＤが間隔をおいて配置されることを可能にする。
【０４２６】
もう１つの機能強化された実施形態では、各異なるＬＯＤからなるイメージの各部分が、タイルと称され、そのようなタイルは、見る人に知覚されるすべての不完全さを最小にする順序でレンダリングされる。他の実施形態では、表示されるビジュアル・コンテンツは、複数のＬＯＤ（潜在的には上で説明した周囲のＬＯＤのスーパーセット）から作成され、これらのＬＯＤのそれぞれは、適切なプロポーションおよび位置に、不完全さを隠す形で最終イメージにフェード・インする表示となるように、表示される。
【０４２７】
複数のＬＯＤ内のさまざまなタイルのレンディションは、本システムがほとんどのラップトップ・コンピュータおよびデスクトップ・パーソナルコンピュータで使用可能な通常のクロック速度を有する標準的なコンピュータで動作できるようにするために、受けれられるレベルの計算的複雑さの中に留まりながら、ビジュアルコンテンツの外見を最適にする順序で、達成される。
【０４２８】
本発明は、イメージが素速いズームおよびパンの期間には事前定義のＬＯＤを使用して表示されるが、ビューが十分に安定するときには、正確なＬＯＤがレンダリングされて、表示される、ハイブリッド戦略を用いる。正確なＬＯＤは、ユーザによって選択された丁度その分解度でレンダリングされ、表示され、この分解度は、通常、事前定義のＬＯＤとは異なる。人間の視覚系は、ビジュアル・コンテンツがまだ動いている間にはビジュアル・コンテンツの微細な詳細に鈍感なので、このハイブリッド戦略は、はるかにより少ない計算を用いて連続的な「完全なレンダリング」という錯覚を生み出すことができる。
【０４２９】
（図面の簡単な説明）
（図Ａ１０−１）ＬＯＤピラミッドを示す図である（この例では、最高分解度表現を表すピラミッドの基部は、５１２×５１２サンプル・イメージであり、このイメージの連続する縮小は、２の因数で示されている）。
（図Ａ１０−２）本発明の例示的実施形態で使用されるフローチャートを示す図である。
（図Ａ１０−３）本システムがズーム後の最終イメージをどのように表示するかを示すもう１つのフローチャートである。
（図Ａ１０−４）各ＬＯＤのサンプル単位で等しいサイズの四辺形タイルへの副分割を示すグリッド線が追加された、図１のＬＯＤピラミッドを示す図である。
（図Ａ１０−５）本発明に関連して使用される、レンダリングされたタイルをディスプレイに表示するプロセスを示すフローチャートである。
（図Ａ１０−６）本明細書でより詳細に説明される、無理数タイリングと称する概念を示す図である。
（図Ａ１０−７）上でより十分に説明されたように、合成タイルおよび合成タイルを構成するタイルを示す図である。
【０４３０】
（好ましい実施形態の詳細な説明）
図Ａ１０−２に、本発明の実装の基本技法のフローチャートを示す。図Ａ１０−２のフローチャートは、本発明の例示的実施形態を表し、イメージが初期分解度で表示される際に、実行を開始する。本発明を、クライアント／サーバ・モデルで使用することができるが、クライアントおよびサーバを、同一のマシン上または異なるマシン上としてもよいことに留意されたい。したがって、たとえば、ホスト・コンピュータでリモートに格納された離散的なＬＯＤのセットを設けることができ、ユーザを、ローカルＰＣを介して前記ホストに接続することができる。利用される実際のハードウェア・プラットフォームおよびシステムは、本発明にとってクリティカルではない。
【０４３１】
このフローチャートには、特定の分解度のイメージの初期ビューの場合に開始ブロック２０１に入る。この例では、イメージは、静的と解釈される。そのイメージは、ブロック２０２で表示される。ユーザは、たとえばコンピュータマ・ウスを移動することによって、そのイメージをナビゲートすることができる。ブロック２０２で表示された初期ビューは、ユーザがそのイメージをナビゲートすると変化する。基礎になるイメージ自体は、モーション・ビデオの場合など、動的とすることができるが、この例においては、イメージ自体は静的として扱われることに留意されたい。上で説明したように、表示されるすべてのイメージは、テキスト・データもしくは他のベクトル・データならびに／または写真および他のイメージなどの非ベクトルデータを有することもできる。本発明および以下の議論全体は、イメージがベクトル・データまたは非ベクトル・データあるいはその両方のどれを含むかに関わりなく適用可能である。
【０４３２】
ブロック２０２で表示されるビジュアル・コンテンツのタイプに関わりなく、この方法は、判断ポイント２０３に制御を移し、この判断ポイント２０３では、ナビゲーション入力を検出することができる。そのような入力が検出されない場合には、この方法は、ブロック２０２にループバックし、静止ビジュアル・コンテンツの表示を継続する。ナビゲーション入力が検出される場合には、制御は、図示のようにブロック２０４に移される。
【０４３３】
判断ポイント２０３は、動きを検出する特定の信号を探すソフトウェア内の絶え間のないループ、ハードウェアでの割込みシステム、または任意の他の所望の方法論、によって実装することができる。ナビゲーション要求を検出し、分析するのに利用される特定の技法は、本発明にとってクリティカルではない。使用される方法論に関わりなく、本システムは、要求を検出することができ、したがって、イメージをナビゲートしたいという望みを示すことができる。本明細書の議論の多くは、ズームに関するが、これらの技法が、ズーム、パン、または他の形のナビゲートに適用可能であることに留意されたい。実際に、本明細書で説明される技法は、すべてのタイプの動的変換またはイメージ上の遠近法での変化に適用可能である。そのような変換には、たとえば、３次元の平行移動（ｔｈｒｅｅ  ｄｉｍｅｎｓｉｏｎａｌ  ｔｒａｎｓｌａｔｉｏｎ）および回転、イメージ・フィルタの適用、ローカル・ストレッチング、イメージの選択された領域に適用される動的スペース的歪曲、またはより多くの情報を明らかにする可能性があるすべての他の種類の歪曲、を含めることができる。もう１つの例は、仮想拡大鏡であり、これは、イメージ上を移動することができ、仮想拡大鏡の下のイメージ部分を拡大する。判断ポイント２０３が、ユーザがナビゲーションを開始しようとしていることを検出するに、ブロック２０４が、イメージの新しいビューをレンダリングし、表示する。この新しいビューは、たとえば、前の表示されたビューと異なる分解度であってもよい。
【０４３４】
新しいビューを表示する１つの単純な従来技術の技法は、ユーザがズーム・インまたはズーム・アウトするときにＬＯＤを補間することに基づく。選択されるＬＯＤは、所望の分解度すなわち新しいビューの分解度の「周囲の」２つのＬＯＤとすることができる。補間は、従来のシステムでは、ユーザがズームするときにコンスタントに発生し、したがって、しばしば、速度を達成するために直接ハードウェアで実装される。判断ポイント２０５での動きの検出と、ブロック２０４での適当な補間されたイメージの実質的に即座の表示との組合せは、ユーザがナビゲートするときにイメージが連続的にズームして見えることをもたらす。ズーム・インまたはズーム・アウトの期間には、イメージは動いているので、補間されたイメージは、現実感があり、明瞭であるように見えるのには十分である。補間誤差は、イメージのコンスタントに変化するビューによって隠されるので、人間の視覚系によって最小限に検出可能であるに過ぎない。
【０４３５】
判断ポイント２０５では、本システムは、動きが実質的に止まったか否かをテストする。これは、たとえばビューの１つまたは複数のパラメータの変化のレートを測定することを含む、さまざまな技法を使用して達成することができる。すなわち、この方法論は、ユーザがズームを完了したポイントに、達したか否かを確かめる。判断ポイント２０５でのそのような安定化に基づいてに、制御は、ブロック２０６に移され、このブロック２０６で、正確なイメージがレンダリングされ、その後、制御はブロック２０３に戻る。したがって、ある所望の分解度で、本システムは、正確なＬＯＤを最終的に表示する。
【０４３６】
特筆すべきことに、この表示は、２つの事前定義のＬＯＤの補間によって単純にレンダリングされ、表示されるのではなく、初期ビューがブロック２０２で表示されたときにテキスト・データまたは他のベクトル・データをレンダリングするのに使用されたオリジナル・アルゴリズムを使用してベクト・ルデータを再レンダリングすることによってレンダリングし、表示することができる。非ベクトル・データは、レンダリングのために再サンプリングすることができ、正確な要求されたＬＯＤで表示される。要求された再レンダリングまたは再サンプリングは、所望の分解度での表示に要求された丁度その分解度だけではなく、所望のビューに基づいて計算される、基礎になるコンテンツに相対的なディスプレイピクセルの正しい位置に正確に対応するサンプリング・グリッドに基づいて実行することができる。例として、ディスプレイ平面上で１／２ピクセルの、ディスプレイ上でのイメージの平行移動は、必要な分解度を変化させないが、サンプリング・グリッドを変更し、これにより、正確なＬＯＤの再レンダリングまたは再サンプリングを必要とする。
【０４３７】
図Ａ１０−２の前述のシステムは、ビューが変化している（たとえば、ナビゲーションが行われている）間には事前定義のＬＯＤに基づく補間が利用されるが、ビューが実質的に静止状態になると正確なビューがレンダリングされ、表示される、ハイブリッド手法を表している。
【０４３８】
本明細書での説明において、用語「レンダリングする」は、コンピュータにより、ベクトル・データまたは非ベクトル・データに基づいて、特定のＬＯＤでタイルを生成すること、を指す。非ベクトル・データに関して、より高いまたはより低い分解度でオリジナルのイメージを再サンプリングすることによって、これらの非ベクトルデータを任意の分解度でレンダリングすることができる。
【０４３９】
ここで、図Ａ１０−２のブロック２０６によって表される正確な最終イメージを達成するのに必要なビジュアル・コンテンツの個々の部分をレンダリングし、表示する方法論に移る。図Ａ１０−３を参照すると、ナビゲーションが止まったと決定される、制御は、ブロック３０３に移され、補間されたイメージが、ズーム中の場合と同様に、即座に表示される。本明細書では、ナビゲーションが止まった後に一時的に表示され得るこの補間されたイメージを、中間最終イメージまたは単に中間イメージと呼ぶ。このイメージは、周囲のＬＯＤの補間から生成される。いくつかの場合に、以下でより詳細に説明するように、中間イメージは、３つ以上の離散したＬＯＤから、または所望の分解度の周囲のＬＯＤ以外の、２つの離散したＬＯＤから補間される場合がある。
【０４４０】
中間イメージを表示したならば、ブロック３０４に入り、このブロック３０４は、そのイメージに、そのイメージの正確なレンディション（本明細書で最終イメージと称する）に向かって漸進的にフェードすることを開始させる。この最終イメージは、この最終イメージがどの事前定義のＬＯＤの補間をも伴わない場合があるという点で、前述の中間イメージと異なる。あるいは、最終イメージまたはその各部分は、新たにレンダリングされるタイルを備えることができる。写真データの場合には、新たにレンダリングされるタイルを、オリジナル・データの再サンプリングに由来するものとすることができ、ベクトル・データの場合には、新たにレンダリングされるタイルを、所望の分解度でのラスタライゼーションに由来するものとすることができる。
【０４４１】
ブロック３０３から３０５に直接にスキップし、補間されたイメージを、最終的な正確なイメージに即座に置換することが可能であることにも留意されたい。しかし、好ましい実施形態では、ステップ３０４が実行され、したがって、中間最終イメージから最終イメージへの切替えは、漸進的に滑らかに行われる。この漸進的フェードは、時々ブレンディングと呼ばれるが、ナビゲーションが停止するとイメージに漸進的に合焦点になるようにさせ、カメラまたは他の光学機器のオートフォーカスに似た効果を生み出す。この効果によって作成される肉体的適応力（ｐｈｙｓｉｃａｌｉｔｙ）についての錯覚は、本発明の重要な態様である。
【０４４２】
次は、イメージ内の知覚される不規則性、突然の変化、継ぎ目、および他の不完全さを最小にするために、このフェードまたはブレンディングを行うことができることについての議論である。しかし、フェードの特定の技法が、本発明にとってクリティカルではなく、多数の変形形態が、当業者には明白であることを理解されたい。
【０４４３】
個々のＬＯＤは、基礎になるビジュアル・コンテンツの物理的面積あたりのサンプル数の形で異なる。したがって、第１ＬＯＤが、ビューイング可能なオブジェクトの１インチ（２５．４ｍｍ）×１インチ（２５．４ｍｍ）の面積を占め、単一の３２×３２サンプル・タイルを生成する場合がある。しかし、この情報を、同一の１インチ（２５．４ｍｍ）×１インチ（２５．４ｍｍ）の面積をとり、これを６４×６４サンプルであるタイルとして、したがってより高い分解度で表現することによって、レンダリングすることもできる。
【０４４４】
本発明者は、無理数タイリングと呼ばれる概念を定義する。タイリングの細分性は、変数ｇとして記述されるが、次に低い分解度のＬＯＤの直線タイリング・グリッドサイズに対する、より高い分解度のＬＯＤの直線タイル・グリッドサイズの比として定義される。トライリニア補間を紹介するＷｉｌｌｉａｍｓの論文では、ｇ＝２である。ｇのこの同一の値が、他の従来技術で使用されてきた。ＬＯＤは、任意の形でタイルに副分割されることができるが、例示的実施形態では、各ＬＯＤは、一定の個数のサンプルを含む正方形または四辺形のタイルのグリッドに副分割される（ビジュアル・コンテンツのエッジで必要な場合を除く）。概念上、ｇ＝２のときに、あるＬＯＤの各タイルは、図Ａ１０−４に示されているように、次に高い分解度のＬＯＤで２×２＝４個のタイルに「分割」される（やはり、潜在的にエッジを除く）。
【０４４５】
粒度２のタイリングには、根本的な欠点がある。通常、ユーザが、タイル内のランダムなポイントにズーム・インする場合に、ズームにおけるすべてのｇ倍の増加は、ユーザがそれに向かってズームしているポイントの付近の次に高い分解度に対応する単一の追加タイルのレンディションを必要とする。しかし、ユーザが、タイリング・グリッド内のグリッド線にズーム・インしている場合には、その両側で１つずつの、２つの新しいタイルが、レンダリングされる必要がある。最後に、ユーザが、２つのグリッド線の交差点にズーム・インしている場合には、４つの新しいタイルが、レンダリングされる必要がある。これらのイベント（各ｇ倍ズームに伴って１つ、２つ、または４つの新しいタイルを必要とする）が、長いズーム・シーケンス全体にわたってランダムに散在する場合には、全体的な性能は、一貫したものになる。しかし、すべての整数細分性タイリング（すなわち、ｇが整数である場合）のグリッド線は、すべてのより高い分解度のＬＯＤについて、以前としてグリッド線のままになる。
【０４４６】
たとえば、細分性２でタイリングされた非常に大きいイメージの中心へのズーム・インを考慮されたい。本明細書では、ビジュアル・コンテンツがコーナー（０，０）、（０，１）、（１，０）、および（１，１）を有する正方形に含まれるという規約を採用して、このポイントの（ｘ，ｙ）座標を（１／２，１／２）と書く。中心は、２つのグリッド線の交差点にあるので、ユーザが各より高い分解度のＬＯＤに達するときに、４つの新しいタイルが、毎回レンダリングされる必要があり、これは、この特定のポイントでのズームに関する遅い性能および非効率性をもたらす。その一方で、ユーザが、無理数ポイント（ｘおよびｙを２つの整数の比として表現することができないグリッド・ポイント（ｘ，ｙ）を意味する）にズーム・インすると想定されたい。そのような数の例が、パイ（＝３．１４１５９…）および２の平方根（＝１．４１４２１３…）である。次に、すべてのｇ倍のズームについてレンダリングされる必要があるタイルの個数によって与えられる１、２、および４のシーケンスが、擬似ランダムである、すなわち、周期的なパターンに従わないことを、簡単に実証することができる。この種の擬似ランダム・シーケンスは、性能の観点から明らかにより望ましく、性能の観点からは、ズームに関する区別されるポイントはない。
【０４４７】
無理数タイリングは、この問題を解決する。ｇ自体は、無理数、通常は３、５、または１２の平方根になるようにされる。これは、所与のＬＯＤでの平均３個、５個、または１２個のタイル（ｇに対応して）が、次に低い分解度のＬＯＤの単一のタイル内に含まれることを意味するが、連続するＬＯＤでのタイリング・グリッドは、もはや、この方式ではどのグリッド線とも「一致」しないことに留意されたい（潜在的に、ビジュア・ルコンテンツの先頭のエッジすなわちｘ＝０およびｙ＝０と、各軸に沿ったある他の事前に選択された単一のグリッド線を除く）。ｇが、どの整数のｎ乗根でもなくなるように選択される（パイはそのような数である）場合には、どのＬＯＤも、グリッド線を全く共有しない（やはり、潜在的にｘ＝０およびｙ＝０を除く）。したがって、各タイルが、次に低いＬＯＤで１個、２個、または４個のタイルにランダムにオーバーラップすることができることを示すことができるが、ｇ＝２では、この個数が必ず１である。
【０４４８】
したがって、無理数タイリング細分性を用いると、任意のポイントへのズーム・インは、１個、２個、または４個のタイルの要求の擬似ランダム・ストリームを作り、性能は、どこにズーム・インするときであっても平均して均一になる。おそらく、無理数タイリングの最大の利益は、深いズーム後のパンに関連して現れる。ユーザが、深くズーム・インした後にイメージをパンするときには、あるポイントで、グリッド線が、ディスプレイ上で移動される。通常は、このグリッド線の他方の側の領域が、ディスプレイの残りより低い分解度のＬＯＤに対応することになるが、これらの分解度の間の差は、できる限り小さいことが望ましい。しかし、整数のｇを用いると、この差は、グリッド線が多数の連続するＬＯＤにまたがってオーバーラップし得るので、しばしば極端に大きくなる。これは、図Ａ１０−６（ａ）に示されている、ノード領域にまたがる分解度の「深い亀裂」を生み出す。
【０４４９】
その一方で、無理数タイリングのグリッド線は、隣接するＬＯＤのグリッド線と絶対にオーバーラップしない（やはり、そのイメージの１つのコーナーでは、各方向に１つのグリッド線があるという例外があるが）ので、複数のＬＯＤの分解度の不連続性は、発生しない。相対分解度におけるこの高められた滑らかさは、スペース的な連続性の錯覚をはるかに説得力のあるものにすることを可能にする。
【０４５０】
図Ａ１０−６（ｂ）に、無理数タイリング細分性によって得られる利点を示す。図Ａ１０−６は、ビジュアル・コンテンツの複数のＬＯＤを通る断面を示し、各棒は、四辺形タイルの断面を表す。したがって、上から２番目のレベルは、２つの棒があるが、２×２＝４タイルＬＯＤとすることができる。最上部から最下部まで描かれた曲線６０１は、ズーム動作中の関連するＬＯＤでのビジュアル・コンテンツの可視領域の境界を表し、分解度が高められる（より多くの詳細を明らかにするためにズーム・インする）ときには、検査中の面積が減る。より暗い色の棒（たとえば、６０２）は、ズームの過程で既にレンダリングされているタイルを表す。より明るい色の棒は、まだレンダリングされておらず、したがって、表示することができない。タイリングが、図Ａ１０−６（ａ）に示されているように整数的であるときには、スペースにまたがる分解度の不意の変化が、一般的であり、ユーザがズームの直後にパンすることを求める場合には、矢印によって示されるスペース的境界で、４つのＬＯＤが不意に「終わる」ことに留意されたい。この結果のイメージは、この境界の左側ではシャープに見えるが、右側では極端にぼけて見える。無理数タイリング細分性を使用して表された同一のビジュアルコンテンツは、そのような分解度の「亀裂」がなく、隣接するＬＯＤは、左のエッジに示されたものを除いて、タイル境界を共有しない。数学的には、この共有される境界は、多くとも、ｘ軸上の１つの位置およびｙ軸上の１つの位置で発生し得る。図示の実施形態では、この共有される境界が、ｙ＝０およびｘ＝０に位置決めされているが、存在する場合に、これらを、任意の他の位置に置くこともできる。
【０４５１】
無理数タイリング細分性のもう１つの利益は、特にｇが大きすぎない有用な範囲にわたって、整数よりはるかに多数の無理数があるので、無理数タイリング細分性がｇのより微細な制御を可能にすることである。この追加の自由は、ある種のアプリケーションのズーム性能をチューニングするのに有用である可能性がある。ｇに、整数の無理数平方根（ｓｑｒｔ（２）、ｓｑｒｔ（５）、またはｓｑｒｔ（８）など）がセットされる場合に、上で説明した実施形態では、交互のＬＯＤのグリッド線が、正確に位置合せされるはずであり、ｇが無理数三乗根である場合には、３つおきのＬＯＤが、正確に位置合せされるはずであり、以下同様である。これは、以下で定義される合成タイルの複雑さを制限することに関する追加の利益を与える。
【０４５２】
本発明の重要な態様は、タイルがレンダリングされる順序である。より具体的に言うと、さまざまなＬＯＤのさまざまなタイルは、すべての可視タイルが最初にレンダリングされるように、最適にレンダリングされる。非可視タイルは、全くレンダリングされない場合がある。可視タイルのセット内で、レンディションは、高まる分解度の順序で進行し、その結果、低分解度ＬＯＤ内のタイルが、最初にレンダリングされるようになる。どの特定のＬＯＤの中であっても、タイルは、ディスプレイの中心からの増加する距離の順序でレンダリングされ、本発明者は、これをフォービエイテッド・レンダリングと称する。そのようなタイルを説明された順序でソートするために、ヒープ・ソート、クイック・ソート、または他のソートなどの多数のソート・アルゴリズムを使用することができる。この順序付けを実装するために、レキシグラフィック・キー（ｌｅｘｉｇｒａｐｈｉｃ  ｋｅｙ）を、「要求」をソートするのに使用して、タイルをレンダリングすることができ、外側のサ・ブキーが可視性、中央のサ・ブキーが物理単位あたりのサンプル内の分解度、内側のサブ・キーがディスプレイの中心までの距離になる。タイル・レンダリング要求を順序付ける他の方法も、使用することができる。タイルの実際のレンダリングは、本明細書に記載のナビゲーションおよび表示に対する並列プロセスとして最適に行われる。レンダリングおよびナビゲーション／表示が並列プロセスとして進行するときには、ユーザ反応性は、タイルのレンダリングが遅いときであっても高いままになる可能性がある。
【０４５３】
ここで、例示的実施形態でタイルをレンダリングするプロセスを説明する。あるタイルが、ストローク・ベース・フォントのアルファベット活版印刷などのベクトル・データを表す場合に、このタイルのレンダリングは、アルファベット・データをラスタライズするアルゴリズムを実行することと、おそらくはそのデータをクライアントからサーバに送信することとを伴う。代替案では、ラスタライゼーション・アルゴリズムに供給されるデータを、クライアントに送信することができ、クライアントは、タイルをラスタライズするアルゴリズムを実行することができる。もう１つの例で、ディジタル・サンプリングされた写真データを伴うタイルのレンダリングは、適当なＬＯＤでタイルを生成するためにそのデータを再サンプリングすることを用いることができる。事前に格納される離散ＬＯＤについて、レンダリングは、後の表示のためにクライアント・コンピュータにタイルを単純に送信することだけを用いることができる。最終イメージ内のタイルなど、離散ＬＯＤの間に含まれるタイルについて、上で説明した、あるさらなる計算が必要になる場合がある。
【０４５４】
タイルがレンダリングされ、イメージが正確なイメージに向かってフェードし始めるときに、常に、実際のディスプレイには、異なるＬＯＤからの異なるタイルの異なる混合物が含まれる可能性がある。したがって、ディスプレイの任意の部分に、たとえばＬＯＤ  １からの２０％、ＬＯＤ  ２からの４０％、およびＬＯＤ  ３からの４０％が含まれる可能性がある。表示されるタイルに関わりなく、本アルゴリズムは、表示用にレンダリングされたタイルをそれが最も必要とされるときに供給するのに最も適する優先順序で、さまざまなＬＯＤからのタイルをレンダリングすることを試みる。レンダリングされたタイルの実際の表示は、図Ａ１０−５に関して後でより詳細に説明する。
【０４５５】
次では、イメージ詳細のスペース的および時間的連続性を保証できるアルゴリズムを使用して複数のＬＯＤを描く方法を説明する。このアルゴリズムは、同一のディスプレイ領域をカバーする、より低い分解度のタイルに優先して高分解度タイルを使用し、なおかつ、各ＬＯＤ間のシャープな境界を避けるためにスペース的ブレンディングを使用し、より高い詳細が使用可能になる場合に、そのときに（すなわち、より高い分解度のタイルがレンダリングされ終えたときに）そのより高い詳細をブレンド・インするために時間的に累進的なブレンディング重みを使用して、すべてのレンダリングされるタイルについて最も良い使用をするように設計されている。従来技術と異なって、このアルゴリズムおよびその変形は、ディスプレイ上の所与のポイントで３つ以上のＬＯＤが一緒にブレンディングされることをもたらすことができ、ディスプレイ領域にまたがって滑らかに変化するブレンディング係数をもたらすこともでき、ユーザがナビゲートするのをやめた後であっても経時的に漸進的に変化するブレンディング係数をもたらすことができる。この例示的実施形態では、このアルゴリズムは、以下で明白になるように、上述した効果にも拘わらず計算的に効率的であり、像を部分的に透明として、またはイメージ領域にまたがって変化する全体的な透明度を用いてレンダリングするのに、使用することができる。
【０４５６】
本発明者は、本明細書で合成タイル領域または単に合成タイルを定義する。合成タイルを定義するために、互いの上に積み重ねられたＬＯＤのすべてを考慮する。各ＬＯＤは、それ自体のタイル・グリッドを有する。合成グリッドは、すべてのＬＯＤからのすべてのグリッドを単一の平面に投影することによって形成される。合成グリッドは、個々のＬＯＤのすべてからのタイルの境界によって定義される、異なるサイズのさまざまな合成タイルから構成される。これを、図Ａ１０−７に概念的に示す。図Ａ１０−７は、すべてが同一のイメージを表す、３つの異なるＬＯＤ  ７０１から７０３のタイルを示す。ＬＯＤ  ７０１から７０３が、互いの上に積み重ねられていると想像することができる。その場合に、これらのＬＯＤのそれぞれのコーナー７５０の位置を合わせ、互いの上に積み重ねた場合に、７４０によって表される領域は、７３０によって表される領域の内側になり、７３０および７４０によって表される領域は、７２０によって表される領域の内側になる。図Ａ１０−７の領域７１０は、単一の「合成タイル」７１０があることを示す。合成タイルのそれぞれは、各フレーム中に検査され、フレーム・レートは、通常は毎秒１０フレームを超えるものとすることができる。上で説明したように、このフレーム・レートが、必ずしもディスプレイ・リフレッシ・ュレートではないことに留意されたい。
【０４５７】
図Ａ１０−５に、タイルがレンダリングされるにつれてフレーム・バッファを更新するアルゴリズムのフローチャートを示す。図Ａ１０−５の処理は、フレーム・バッファが更新されるたびに、表示されるイメージ内のすべての合成タイルに関して操作することを意図したものである。したがって、たとえば、フレーム持続時間が１秒の１／２０である場合に、スクリーン全体の合成タイルのそれぞれが、１秒の１／２０のそれぞれの間に検査され、更新されることが好ましい。合成タイルが、図Ａ１０−５のプロセスによって操作されるときには、その合成タイルに、１つまたは複数のＬＯＤ内の関連するタイルが欠けている場合がある。図Ａ１０−５のプロセスは、その合成タイルがその中にあるすべての使用可能な重畳されたタイルの加重平均として各合成タイルを表示することを試みる。合成タイルは、任意の所与のＬＯＤで正確に１つのタイルに含まれる形で定義され、したがって、その加重平均を、各ＬＯＤの相対的な比率として表すことができることに留意されたい。このプロセスは、上で述べた最終イメージに向かってイメージに漸進的にフェードさせるために、合成タイル内の各ＬＯＤの適当な重みを決定することと、スペースおよび時間にまたがって漸進的にこれらの重みを変更することとを試みる。
【０４５８】
合成グリッドには、複数の頂点が含まれ、これらは、合成グリッドにおけるグリッド線の任意の交差点またはコーナーになるように定義される。これらを、合成グリッド頂点と称する。本明細書では、ＬＯＤごとに、各合成グリッド頂点で不透明度を定義する。この不透明度は、０．０と１．０との間の重みとして表すことができ、したがって、各頂点でのすべてのＬＯＤ重みの和は、所望の結果がイメージが完全に不透明になることである場合には１．０でなければならない。ＬＯＤごとの各頂点での任意の特定時刻の現在の重みは、メモリ内で維持される。
【０４５９】
頂点重みを更新するアルゴリズムは、以下で説明するように進行する。
【０４６０】
次の変数は、０．０と１．０との間の数になるが、タイルごとにメモリ内で保持される：ｃｅｎｔｅｒＯｐａｃｉｔｙ、各コーナーのｃｏｒｎｅｒＯｐａｃｉｔｙ（タイリングが四辺形グリッドである場合に４個）、およびエッジごとのｅｄｇｅＯｐａｃｉｔｙ（タイリングが四辺形グリッドである場合に４個）。タイルが初めてレンダリングされるときには、ここでリストした、それらの不透明度のすべてに、通常は１．０がセットされる。
【０４６１】
ドローイング・パス中に、このアルゴリズムは、最高分解度ＬＯＤから始めて、関連するＬＯＤごとに１回、合成タイリングをウォーク・スルーする。タイルごとの変数のほかに、このアルゴリズムは、次の変数を維持する：ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄおよびｏｐａｃｉｔｙＧｒｉｄ。これらの変数の両方は、やはり０．０と１．０との間の数であり、合成タイリング内の頂点ごとに維持される。
【０４６２】
このアルゴリズムは、最高分解度から最低分解度への順序で、次の動作を実行しながら各ＬＯＤを順番にウォークスルーする。まず、０．０を、すべての頂点のｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄに割り当てる。次に、そのＬＯＤのレンダリングされるタイルごとに（いくつかのタイルがまだレンダリングされていない場合には、そのＬＯＤのタイルのセットのサブ・セットになる場合がある）、このアルゴリズムは、そのタイルのｃｅｎｔｅｒＯｐａｃｉｔｙ値、ｃｏｒｎｅｒＯｐａｃｉｔｙ値、およびｅｄｇｅＯｐａｃｉｔｙ値に基づいて、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄのうちでそのタイルに触れる部分を次のように更新する。  
頂点が完全にそのタイルの内側にある場合には、その頂点は、ｃｅｎｔｅｒＯｐａｃｉｔｙを使用して更新される。  
頂点が、たとえばそのタイルの左エッジにある場合には、その頂点は、左のｅｄｇｅＯｐａｃｉｔｙを用いて更新される。  
頂点が、たとえばその右上コーナーにある場合には、その頂点は、右上のｃｏｒｎｅｒＯｐａｃｉｔｙを用いて更新される。
【０４６３】
「更新」は、次を意味する。事前に存在するｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄ値が０．０より大きい場合には、新しい値に、現在の値またはこの変数がそれに更新されようとしている値のうちの最小値をセットする。事前に存在する値が０である（すなわち、この頂点がまだ操作されていない）場合には、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄ値に、この変数がそれに更新されようとしている値をセットする。最終的な結果は、各頂点位置のｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄに、この変数がそれに更新される最小の非ゼロ値がセットされることである。
【０４６４】
次に、このアルゴリズムは、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄをウォークスルーし、穴と称するまだレンダリングされていないタイルに接するすべての頂点に０．０をセットする。これは、ブレンディングのスペース的連続性すなわち、合成タイルが穴に含まれる場合に、いつでも、現在のＬＯＤで、ドローイング不透明度が、その穴に接するすべての頂点で０にフェードしなければならないことを保証する。
【０４６５】
機能強化された実施形態では、このアルゴリズムは、次に、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄ値を緩和して、ＬＯＤブレンディングのスペース的連続性をさらに改善する。これまでに説明した情況は、次のようにビジュアライズすることができる。すべての頂点は、テント支柱に類似し、そのポイントでのｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄ値は、テント支柱の高さである。このアルゴリズムは、これまでに、穴に接するすべてのポイントで、テント支柱がゼロの高さを有し、レンダリング済みのタイルの内側では、テント支柱にある（おそらくは）非ゼロ値がセットされることを保証している。極端な場合に、レンダリングされたタイルの内側のおそらくはすべての値に、１．０がセットされる。例示において、レンダリングされたタイルが、まだレンダリングされた隣接タイルを有しておらず、したがって境界値が０．０であると仮定する。本明細書では、「マージン」が、０．０の境界テント支柱と１．０の内部テント支柱との間でどれほど狭いかは、指定してこなかった。このマージンが小さすぎる場合には、ブレンディングが技術的に連続である場合であっても、遷移は、スペースにまたがる不透明度導関数（ｏｐａｃｉｔｙ  ｄｅｒｉｖａｔｉｖｅ）として測定されるときにシャープに過ぎる可能性がある。緩和動作は、テントを平滑化し、０．０の値を必ず保存するが、おそらくは他のテント支柱を下げてテント表面によって定義される関数をより滑らかにする、すなわち、その最大のスペース的導関数（ｓｐａｔｉａｌ  ｄｅｒｉｖａｔｉｖｅ）を制限する。さまざまな方法のうちのどれがこの動作を実装するのに使用されるかは、本発明にとって重要ではなく、１つの手法は、たとえば、選択的低域フィルタリングを使用し、ゼロを手付かずのまま残しながら、すべての非ゼロの値をその隣接する値の加重平均に局所的に置換することである。他の方法も、当業者には明白であろう。
【０４６６】
次に、このアルゴリズムは、すべての合成グリッド頂点を通ってウォークし、各頂点のｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄおよびｏｐａｃｉｔｙＧｒｉｄの対応する値を検討し、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄが１．０−ｏｐａｃｉｔｙＧｒｉｄより大きい場合には、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄに１．０−ｏｐａｃｉｔｙＧｒｉｄをセットする。次に、やはり頂点ごとに、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄの対応する値を、ｏｐａｃｉｔｙＧｒｉｄに加算する。前のステップに起因して、これが、ｏｐａｃｉｔｙＧｒｉｄに１．０を超えさせることは、絶対にできない。このアルゴリズムのこれらのステップは、より高い分解度のＬＯＤが使用可能になるときに、できる限り多くの不透明度が、それらのより高い分解度のＬＯＤによって寄与され、穴がある場合に限ってより低い分解度のＬＯＤが「透けて見える」ことを許すことを保証する。
【０４６７】
現在のＬＯＤのトラバーサルの最後のステップは、頂点ごとの不透明度値としてｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄを使用して、現在のＬＯＤの合成タイルを実際に描くことである。機能強化された実施形態では、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄに、ドローイングの直前に０．０から１．０までの範囲内のスカラｏｖｅｒａｌｌＯｐａｃｉｔｙ変数を乗じることができ、これによって、ｏｖｅｒａｌｌＯｐａｃｉｔｙによって与えられる部分的透明度を用いてイメージ全体を描くことが可能になる。各頂点で異なる不透明度を有する、四辺形などの、イメージを含む多角形のドローイングが、標準的なプロシージャであることに留意されたい。これは、たとえば、ＯｐｅｎＧＬグラフィックス・ライブラリまたはＤｉｒｅｃｔ３Ｄグラフィックス・ライブラリを使用する産業標準のテクスチャ・マッピング関数を使用して達成することができる。実際には、各そのような多角形の内部の中の描かれる不透明度は、スペース的に補間され、多角形にまたがる不透明度の滑らかな変化がもたらされる。
【０４６８】
上で説明したアルゴリズムのもう１つの機能強化された実施形態では、タイルは、ｃｅｎｔｅｒＯｐａｃｉｔｙ、ｃｏｒｎｅｒＯｐａｃｉｔｙ、およびｅｄｇｅＯｐａｃｉｔｙの現在の値（現在値と呼ばれる）だけではなく、ｔａｒｇｅｔＣｅｎｔｅｒＯｐａｃｉｔｙ、ｔａｒｇｅｔＣｏｒｎｅｒＯｐａｃｉｔｙ、およびｔａｒｇｅｔＥｄｇｅＯｐａｃｉｔｙと呼ばれる値の平行セット（ターゲット値と呼ばれる）をも維持する。この機能強化された実施形態では、現在値は、タイルが初めてレンダリングされるときに、すべてに０．０がセットされるが、ターゲット値は、すべてに１．０がセットされる。その後、各フレームの後に、現在値は、ターゲット値により近い新しい値に調整される。これは、複数の数学公式を使用して実施することができるが、例として、次の形で行うことができる。新しい値＝古い値＊（１−ｂ）＋ターゲット値＊ｂ、ただし、ｂは、０．０を超え１．０未満のレートである。０．０に近いｂの値は、ターゲット値に向かう非常に遅い遷移をもたらし、１．０に近いｂの値は、ターゲット値に向かう非常に速い遷移をもたらす。不透明度を更新するこの方法は、ターゲットに向かう指数関数的収束をもたらし、時間的連続性の視覚的に満足な印象をもたらす。他の公式が、同一の結果を達成することができる。
【０４６９】
前述は、本発明の好ましい実施形態を説明するものである。本発明は、そのような好ましい実施形態に限定されず、以下の特許請求の範囲に合致するさまざまな変更も、本発明に含まれる。
【０４７０】
（特許請求の範囲）
１．ビジュアル・コンテンツを表示する方法であって、  
前記ビジュアル・コンテンツの複数の異なる詳細レベル（ＬＯＤ）を生成すること、  
前記ビジュアル・コンテンツがナビゲートされる間、前記ＬＯＤの補間として前記ビジュアル・コンテンツを表示すること、および  
前記ナビゲーションが実質的に停止すると、少なくとも前記ＬＯＤの補間ではない部分を含む最終イメージを表示すること  
を備えることを特徴とする方法。
２．前記ナビゲーションは、２次元または３次元の平行移動、回転、イメージ・フィルタリング、ローカル・ストレッチング、動的スペース的歪曲、拡大または縮小、のうちの１つまたは複数を備えることを特徴とする請求項１に記載の方法。
３．前記最終イメージが表示される前に、中間最終イメージが、前記複数の前記ＬＯＤからの補間によって生成されることを特徴とする請求項１に記載の方法。
４．前記中間最終イメージは、漸進的に前記最終イメージに変化することを特徴とする請求項３に記載の方法。
５．前記最終イメージまたは前記中間イメージは、タイル・バイ・タイル・ベースでレンダリングされることを特徴とする請求項４に記載の方法。
６．各ＬＯＤは、複数のタイルを備え、前記最終イメージまたは前記中間最終イメージは、合成タイルとして表示される複数のＬＯＤからの複数のタイルを使用して表示されることを特徴とする請求項３、４、または５に記載の方法。
７．各ＬＯＤの前記タイルは、前記タイルがその中にある前記ＬＯＤ、または前記タイルが現在ビューイング可能などうか、またはそのようなタイルのフォービエイション（ｆｏｖｅａｔｉｏｎ）の度合に、少なくとも部分的に依存する順序でフレーム・バッファへの入力に使用可能にされることを特徴とする請求項６に記載の方法。
８．ビューイング可能なタイルは、最初にレンダリングされ、前記ビューイング可能なタイルの中で、タイルは、増加する分解度の順序でレンダリングされ、類似する分解度のタイルの中で、タイルは、フォービエイテッドな順序でレンダリングされることを特徴とする請求項７に記載の方法。
９．無理数タイリングを実装することをさらに備えることを特徴とする請求項８に記載の方法。
１０．前記ビジュアル・コンテンツは、ベクトル・データおよび非ベクトル・データを備えることを特徴とする請求項６に記載の方法。
１１．前記複数のＬＯＤは、リモート端末で生成され、前記中間最終イメージおよび前記最終イメージは、ローカルにビューイング可能な端末で生成されることを特徴とする請求項１０に記載の方法。
１２．ナビゲーション中のビジュアル・コンテンツを表示する方法であって、前記ナビゲーション中に複数のＬＯＤの補間として前記ビジュアル・コンテンツを表示すること、および前記ナビゲーションが実質的に停止すると少なくとも部分的に複数のＬＯＤの補間ではない前記ビジュアル・コンテンツを表示することを備えることを特徴とする方法。
１３．複数のＬＯＤの補間として前記ビジュアル・コンテンツを表示することは、複数のＬＯＤの補間ではない前記ビジュアル・コンテンツを表示することに漸進的にフェードすることを特徴とする請求項１２に記載の方法。
１４．ＬＯＤのセットを生成することによってビジュアル・コンテンツを表す方法であって、各ＬＯＤは、複数のタイルを備え、第１ＬＯＤ内の多数のタイルおよび第２ＬＯＤ内の多数のタイルは、前記セット内の第１ＬＯＤおよび第２ＬＯＤの少なくとも１つのサブセットについて整数の比を形成しないことを特徴とする方法。
１５．お互いの上に積み重ねられたさまざまなＬＯＤからのタイルの部分の組合せとして合成タイルをレンダリングすることを備えることを特徴とする請求項１４に記載の方法。
１６．まずビューアビリティ（ｖｉｅｗａｂｉｌｉｔｙ）によって、前記ビューイング可能なタイル内ではＬＯＤによって、各ＬＯＤ内ではフォービエイションのレベルによってソートされた順序で、複数のＬＯＤのそれぞれからのタイルをレンダリングすることをさらに備えることを特徴とする請求項１６に記載の方法。
１７．ビジュアル・コンテンツを表示する方法であって、ビジュアル・コンテンツを表す複数のＬＯＤを組み合わせること、および前記表示されるビジュアル・コンテンツが、より良く表示されるイメージをレンダリングするための情報が使用可能になることに応答して、前記より良く表示されるイメージに向かって漸進的に変化するようにするために、前記ＬＯＤのうちの少なくとも１つに帰せられる寄与を漸進的に変更することを備えることを特徴とする方法。
１８．前記寄与は、複数のＬＯＤ内の複数のタイルに少なくとも１つの重みを割り当てること、およびその後に前記重みを変更することによって漸進的に変更されることを特徴とする請求項１７に記載の方法。
１９．前記割り当てることは、少なくとも１つのＬＯＤ内の前記タイルのそれぞれに複数の重みを割り当てることを特徴とする請求項１７に記載の方法。
２０．前記複数の重みは、前記タイルの複数のコーナーのそれぞれでの不透明度、前記タイルの複数のエッジのそれぞれでの不透明度、および前記タイルのそれぞれの中の１ポイントでの不透明度を含むことを特徴とする請求項１９に記載の方法。
２１．ＬＯＤ内の複数の位置に関する変数のｌｅｖｅｌｏｐａｃｉｔｙｇｒｉｄセットを計算することをさらに備え、変数の前記ｌｅｖｅｌｏｐａｃｉｔｙｇｒｉｄセットは、前記ｌｅｖｅｌｏｐａｃｉｔｙｇｒｉｄが計算される頂点に接する前記ＬＯＤ内の全タイルについて請求項２０に記載の重みのうちの少なくともいくつかを利用することによって計算されることを特徴とする請求項１８に記載の方法。
２２．少なくとも１つのＬＯＤに関する変数の前記ｌｅｖｅｌｏｐａｃｉｔｙｇｒｉｄセットをスペース的にフィルタリングすることをさらに備えることを特徴とする請求項２１に記載の方法。
２３．前記組合せは、ディスプレイの分解度に近い、より高い分解度のＬＯＤからの組合せが、当該より高い分解度のＬＯＤが使用可能であるときに、より低い分解度のＬＯＤより強調されるように行われることを特徴とする請求項１７に記載の方法。
２４．ビジュアル・コンテンツを表す方法であって、第１ＬＯＤを第２ＬＯＤと組み合わせることを備え、前記ＬＯＤのそれぞれは、複数のタイルからなり、前記タイルは、前記ＬＯＤ内の前記タイルのエッジが実質的にすべての前記ビジュアル・コンテンツを通じて位置合せされなくなるように配置されることを特徴とする方法。
２５．増加する分解度を有する３つ以上の上記ＬＯＤに適用され、前記ＬＯＤが増加する分解度の順序で配置されるときに、２つの連続するＬＯＤは、分解度において有理数の倍数だけ異なることがないことを特徴とする請求項１６に記載の方法。
２６．ビジュアル・コンテンツを表示するために複数のＬＯＤを組み合わせる方法であって、関連する寄与を用いて前記ＬＯＤのそれぞれに重みを付けること、および時間およびスペースにまたがって各ＬＯＤによって提供される前記寄与を変更することを備えることを特徴とする方法。
２７．前記重み付けは、不透明度レベルであることを特徴とする請求項２６に記載の方法。
２８．前記組み合わされたＬＯＤの総不透明度は、１００％未満であることを特徴とする請求項２７に記載の方法。
２９．時間にまたがって前記変更することは、ターゲット値に向かう漸近収束をもたらすことを特徴とする請求項２８に記載の方法。
３０．ＬＯＤごとに、不透明度レベルは、複数の頂点のそれぞれについて計算されることを特徴とする請求項２９に記載の方法。
３１．時間およびスペースにまたがって前記変更することは、目で感知可能な不連続性を減らすように設計されることを特徴とする請求項３０に記載の方法。
３２．前記重み付けを表す値は、低域フィルタリングされることを特徴とする請求項３１に記載の方法。
３３．中間最終イメージを表示すること、およびその後に最終イメージを表示することを備える方法であって、前記最終イメージおよび中間最終イメージは、フォービエイテッドな順序でレンダリングされる複数のタイルを備え、表示される中間最終イメージから最終イメージへの遷移は、ナビゲーションが実質的に停止したことの検出に基づいて発生することを特徴とする方法。
３４．より低い分解度のタイルは、より高い分解度のタイルの前に表示されることを特徴とする請求項３３に記載の方法。
３５．前記遷移は、漸進的であることを特徴とする請求項３４に記載の方法。
３６．ナビゲーションが実質的に停止した後に最終イメージを表示する装置であって、ナビゲーションの発生中、補間されたイメージを表示する手段、およびナビゲーションが実質的に停止したことを検出し、前記最終イメージを表示するために別々のアルゴリズムを使用してベクトルデータおよび非ベクトルデータをレンダリングする手段を備えることを特徴とする装置。
３７．前記最終イメージは、ベクトル・データと非ベクトル・データとの両方を含むタイルを有し、当該タイルの少なくとも１つは、このレンダリングを達成するために２つの異なるアルゴリズムを使用してレンダリングされることを特徴とする請求項３６に記載の装置。
３８．中間イメージから最終イメージにフェードするためにソフトウェアを実装するプロセッサをさらに備えることを特徴とする請求項３７に記載の装置。
３９．ビジュアル・コンテンツを表示する方法であって、ビジュアル・コンテンツを表す複数のＬＯＤを組み合わせること、および前記表示されるビジュアル・コンテンツが漸進的に変化するようにするために前記ＬＯＤのうちの少なくとも３つに帰せられる寄与を漸進的に変更することを備えることを特徴とする方法。
４０．前記寄与は、複数のＬＯＤ内の複数のタイルに少なくとも１つの重みを割り当てること、およびその後に前記重みを変更することによって漸進的に変更されることを特徴とする請求項１７に記載の方法。
４１．前記割り当てることは、少なくとも１つのＬＯＤ内の前記タイルのそれぞれに複数の重みを割り当てることを特徴とする請求項４０に記載の方法。
４２．前記複数の重みは、前記タイルの複数のコーナーのそれぞれでの不透明度、前記タイルの複数のエッジのそれぞれでの不透明度、および前記タイルのそれぞれの中の１ポイントでの不透明度を含むことを特徴とする請求項４１に記載の方法。
４３．ＬＯＤ内の複数の位置に関する変数のｌｅｖｅｌｏｐａｃｉｔｙｇｒｉｄセットを計算することをさらに備え、変数の前記ｌｅｖｅｌｏｐａｃｉｔｙｇｒｉｄセットは、前記ｌｅｖｅｌｏｐａｃｉｔｙｇｒｉｄが計算される頂点に接する前記ＬＯＤ内の全タイルについて請求項１９に記載の重みのうちの少なくともいくつかを利用することによって計算されることを特徴とする請求項４２に記載の方法。
４４．少なくとも１つのＬＯＤに関する変数の前記ｌｅｖｅｌｏｐａｃｉｔｙｇｒｉｄセットをスペース的にフィルタリングすることをさらに備えることを特徴とする請求項４３に記載の方法。
４５．前記組合せは、より高い分解度のＬＯＤからの組合せが、より低い分解度のＬＯＤからの寄与を上回って増やされるように行われることを特徴とする請求項１７に記載の方法。
【０４７１】
（要約）
ナビゲーション中には補間されたイメージを表示し、ナビゲーションが停止するとより正確なイメージを表示することによって、ビジュアル・コンテンツの現実的なナビゲーションを容易にする方法および装置を開示する。知覚可能な不連続性を最小にするために、「タイル」すなわちビジュアル・コンテンツの一部を異なる詳細レベルでレンダリングし、表示する方法論を開示する。
【０４７２】
2008517540.tif 000035
【０４７３】
2008517540.tif 000036
【０４７４】
2008517540.tif 000037
【０４７５】
2008517540.tif 000038
【０４７６】
2008517540.tif 000039
【０４７７】
2008517540.tif 000040
【０４７８】
Ａ１１
（表題）複数ノード・ディスプレイのシステムおよび方法（Ａ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＭＵＬＴＩＰＬＥ  ＮＯＤＥ  ＤＩＳＰＬＡＹ）
【０４７９】
（関連出願）
本願は、その開示が参照によって全体的に本明細書に組み込まれている米国特許仮出願第６０／４７４３１３号（Ａ４）の利益を主張するものである。
【０４８０】
（発明の背景）
本発明は、コンピュータのズーミング・ユーザ・インターフェース（ＺＵＩ）に関する  ほとんどの今日のグラフィカル・コンピュータ・ユーザ・インターフェースは、固定されたスペース的スケールのビジュアル・コンポーネントを使用して設計されている。ビジュアル・コンテントは、ズーム・インもしくはズーム・アウトまた他の形でそれをナビゲートすることによって操作することができる。しかし、さまざまなオブジェクトの座標をそれによって表すことができる精度は、そのような座標を表すために指定される、通常は１６と６４との間のビット数によって極端に制限される。この限られた表現サイズのゆえに、限られた精度がある。
【０４８１】
ズーミング・ユーザ・インターフェースのコンテクストで、ユーザは、ズーム・インして、その前には単一ピクセルだけをカバーした領域がディスプレイ全体を満たすようにさせることが簡単にできる。逆に、ユーザは、ズーム・アウトし、ディスプレイ全体のコンテンツを、単一ピクセルのサイズに縮小させることができる。各ズーム・インまたはズーム・アウトは、ｘｙ座標を多数の桁によって乗算し、または除算することができるので、ほんの１〜２回のそのようなズームが、たとえば６４ビット浮動小数点数を用いて使用可能な精度を完全に使い果たす。その後は、丸めが、イメージ品質を顕著に劣化させる。
【０４８２】
本発明の目的は、より大きい範囲のズームが可能であるＺＵＩを提供することである。
【０４８３】
本発明のもう１つの目的は、座標が表現される精度が、特定のズーム詳細レベルで必要な要求された精度に関連付けられるＺＵＩ、を提供することである。本発明のもう１つの目的は、有限の物理サイズの、しかし任意に高い複雑さまたは分解度を有するパン可能かつズーム可能な２次元スペースを、より大きいパン可能かつズーム可能な２次元スペースの明確に定義された領域に埋め込むことを可能にすることである。
【０４８４】
本発明のもう１つの目的は、深いズーム・インの後のズーム・アウトが、ウェブ・ブラウザの「戻る」ボタンのように振る舞うことを可能にし、ユーザがビジュアル・ナビゲーションを介するそのユーザのステップをたどりなおす（ｒｅｔｒａｃｅ）ことを可能にすることである。
【０４８５】
本発明のもう１つの目的は、ズーム・アウトの直後のズーム・インが、ウェブ・ブラウザの「進む」ボタンに似て振る舞うことを可能にし、ユーザが任意に長いズームアウトの効果を正確に元に戻す（ｕｎｄｏ）ことを可能にすることである。
【０４８６】
本発明のもう１つの目的は、ノードすなわち以下でより正確に定義されるビジュアル・オブジェクトが、非常に多数の子ノード（たとえば、１０＾２８個まで）を有することを可能にすることである。
【０４８７】
本発明のもう１つの目的は、ノードが、オン・ザ・フライでそれ自体の子をプログラム的に生成することを可能にし、ナビゲーション中にコンテンツを動的に定義し、作成し、または変更することを可能にすることである。
【０４８８】
本発明のもう１つの目的は、このコンテンツが最終的に非常に大量のデータを使用して表現される場合であっても、そのデータがリモート位置に格納され、低帯域幅ネットワークを介して共有される場合であっても、任意に複雑なビジュアル・コンテンツのほぼ即座のビューイングを可能にすることである。
【０４８９】
本発明のもう１つの目的は、対話的フレーム・レートを維持しながら、ユーザがビジュアル・コンテンツに任意にズーム・インすることを可能にすることである。
【０４９０】
本発明のもう１つの目的は、コンテンツの全体的外見の保存と対話的フレーム・レートの維持との両方の過程で、複雑なビジュア・ルコンテンツの概観を得るために、ユーザが任意にズーム・アウトできるようにすることである。
【０４９１】
本発明の上記および他のより広義の目的は、次の明細書の再検討から、当業者に明白になるであろう。
【０４９２】
（発明の概要）
本発明の上記および他の目的は、ビジュアル・コンテンツを複数の「ノード」として表示することによって達成される。各ノードは、好ましくはそれ自体の座標系およびレンダリング・メソッドを有するが、１つの親ノード内に含まれることができ、その親ノードの座標系およびレンダリング・メソッドで表されることができる。ユーザが、たとえばズーム・インまたはズーム・アウトによって、このビジュアル・コンテンツをナビゲートするときに、一つのノードが、ズームが適当な詳細レベルをもたらすときに「起動」されるのみである。ノードの起動は、異なるノードの座標系および／またはレンダリング・メソッドではなく、そのノードがそれ自体の座標系および／またはレンダリング・メソッドで表されることを引き起こす。
【０４９３】
ノードが起動される前に、そのノードは、親ノードの座標系で表されるか、あるいは全く表されないかのいずれかになる。ノードが必要なときに限ってノードを起動することによって、座標系の精度は、表示されているもののズーム詳細レベルの関数になる。これは、システムが動作するコンピュータのメモリによって許される最大値を含みその最大値までの可変レベルの精度を可能にする。
【０４９４】
（図面の簡単な説明）
例示のために、現在好ましい形が図面に示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。
（図Ａ１１−１）ディスプレイ上のビジュアル・コンテンツを示す図である。
（図Ａ１１−２）異なる詳細レベルの図Ａ１１−１のビジュアル・コンテンツのイメージを示す図である。
（図Ａ１１−３）本発明の実施形態を示す図である。
（図Ａ１１−４）ディスプレイ上の複数のノードを示す、本発明の例示的実施形態を示す図である。
（図Ａ１１−５）図Ａ１１−４に示された例示的実施形態に対応するツリー図を示す図である。
【０４９５】
（好ましい実施形態の詳細な説明）
本明細書では、ディスプレイがカメラであり、このカメラを介して、ユーザが２次元表面すなわち２Ｄユニバースの一部を見ることができる、ユーザ・インターフェース・メタファを仮定する。便宜のために、そうする必要はないが、物理的次元をこのユニバースに帰し、その結果、このユニバースを、たとえば１メートルの正方形とすることができるようにする。本発明は、Ｎ次元表現に同等に適用可能である。
【０４９６】
例示的なユニバースは、２Ｄオブジェクトすなわちノードを含み、ノードは、ビジュアル表現を有し、動的または対話的（すなわち、ビデオ・クリップ、アプリケーション、編集可能なテキストドキュメント、ＣＡＤ図面、または静止イメージ）とすることもできる。ノードが可視になるためには、そのノードは、そのノードを全体的にまたは部分的にディスプレイのある領域に描くことができるレンダリング・メソッドに関連付けられなければならない。各ノードは、有限精度のローカル座標系をも与えられる。例示のために、本明細書では、ノードが、四辺形であり、ローカル座標系によって表されると仮定する。
【０４９７】
これらの２つのパラメータ、すなわちレンダリング・メソッドおよび座標系は、ノードの表示方法、およびノード内のアイテムの位置を指定する。各ノードは、０個以上の子ノードを有することができ、これらの子ノードは、参照によってアドレッシングされる。ノードは、各子ノードの全情報を含む必要がなく、一般に含まず、その代わりに、子ノードを入手するのに必要な情報を提供するアドレスだけを含む。ユーザがナビゲートし、たとえばズーム・インし、ズーム・アウトするときに、ノードは、たとえば図Ａ１１−１に示されているようにスクリーン上に表示される。
【０４９８】
一般に、「ノード」は、本発明における機能性の基本単位である。ほとんどのノードは、ナビゲーション中にユーザのディスプレイにビジュアルに現れ、一部のノードは、アニメーションされ、かつ／またはユーザ入力に反応することもできる。ノードは、あるノードが子ノードを含むことができるという点で階層的である。含むノードを、親ノードと呼ぶ。親ノードが子ノードを含むときには、子ノードのビジュアル・マニフェステーション（ｍａｎｉｆｅｓｔａｔｉｏｎ）も、親のビジュアル・マニフェステーションに含まれる。各ノードは、論理座標系を有し、親ノードの広がり全体が、この論理座標系内で定義される例示的四辺形に含まれ、たとえば、あるノードは、そのノードが四辺形（０，０）−（１００，１００）に含まれるように論理座標系を定義することができる。  
各ノードは、そのプロパティを定義する次のデータを有することができる。  
○その論理サイズ（上の例では１００×１００）を含む、ノードの論理座標系、  
○（親）ノードの論理座標系で指定される、すべての子ノードのアイデンティティ、位置、およびサイズ、  
○任意選択として、任意の必要なユーザ・データ、  
−  次の動作または「メソッド」を定義する実行可能コード  
○「コンストラクション引数」に基づくノード・データの初期化、  
○ノードの視覚的外見のすべてまたは一部のレンダリング（このメソッドの出力は、レンダリングされたタイルである）、  
○任意選択として、キーボード・イベントまたはマウス・イベントなどのユーザ入力に対する反応。
【０４９９】
実行可能コードは、「ノード・クラス」を定義し、多数の「ノード・インスタンス」の間で共有されることができる。ノード・インスタンスは、そのデータ・コンテンツにおいて異なる。したがって、あるノード・クラスは、ＪＰＥＧイメージをレンダリングするのに必要なロジックを定義することができる。初期化コードに与えられる「コンストラクション引数」は、表示されるＪＰＥＧイメージのＵＲＬを含むはずである。特定のイメージを表示するノードは、ＪＰＥＧノード・クラスのインスタンスになることになる。あるノードの複数のインスタンスは、ソフトウェア・アプリケーションを同時に複数回インスタンス化できるのに似た形で、同一のビジュアル・コンテンツ内で見えるものになることができる。
【０５００】
複雑なビジュアルドキュメントまたはアプリケーションでは、通常、必要な機能性を多数の異なる方法でノードに分割することが可能であることに留意されたい。たとえば、複数のイメージ、プルダウン・メニュー、およびボタンを含むスクリプトされたウェブページ様のドキュメントを、複合レンダリング・メソッド（ｃｏｍｐｌｅｘ  ｒｅｎｄｅｒｉｎｇ）およびユーザ入力メソッドを有する単一のノードとして実装することができる。代替案では、そのドキュメントを、ページの全体的レイアウトを定義するのみの親ノードとして実装し、すべての構成イメージおよびボタンを子ノードとして実装することができる。これは、機能性をより効果的に再利用しまたは「ファクタリングする」という明白な利点を有し、ボタンは、すべてが同一の挙動を有し、したがって、すべてを同一のノード・クラスのインスタンスとすることができ、イメージは、すべてを同一フォーマットとすることができ、したがって、共通のノード・クラスのインスタンスとすることもできるなどである。これは、レイアウトの再配置をも単純化し、親ノードは、子ノードを簡単に移動し、または子ノードのサイズを変更することができる。
【０５０１】
本発明によれば、ビジュアル・コンテンツを、ユーザによるナビゲーション入力の状態に依存する形で表示することができる。たとえば、図Ａ１１−１に、都市の一部のイメージとすることのできるノード１０５を示す。ノード１０５は、子ノード１０１〜１０３を含むことができる。ノード１０１は、この都市内のビルディングのイメージとすることができ、ノード１０２は、運動場のイメージとすることができ、ノード１０３は、スポーツアリーナとすることができる。図示のズームのレベルでは、ノード１０１〜１０３は、比較的小さく、したがって、これらを、ノード１０５の座標系内の正しい位置に置かれた、ノード１０５内の詳細なしの小さい暗くされた領域として表すことができる。ノード１０５の座標系およびレンダリング・メソッドだけが必要である。
【０５０２】
ユーザがズーム・インし、その結果、図Ａ１１−２に示されたものなどの異なる詳細レベル（ＬＯＤ）が生じる場合を考慮されたい。図Ａ１１−２のＬＯＤでは、ノード１０１および１０２は、ビジュアル・コンテンツがはるかにより大きく表示されるという事実に起因して、もはやスクリーン上で可視ではない。さらに、スポーツ・アリーナ・ノード１０３が表示されるサイズが今ははるかにより大きいので、個々のシート、フィールドなどのスポーツ・アリーナの詳細が、今は表示されなければならないことに留意されたい。
【０５０３】
前述を促進するために、スポーツ・アリーナ・ノード１０３は、今は、ノード１０５の座標系内で詳細なしの暗くされた領域として表示されるのではなく、それ自体の座標系およびレンダリング・メソッドを使用して表示されるために「起動」される。それ自体の座標系およびレンダリング・メソッドを使用して表示されるときに、シーティング（ｓｅａｔｉｎｇ）、競技のフィールドなどの詳細が、個別に示されるはずである。上で述べた、およびノード１０３に関連する他の機能も、ノード１０３が起動されるポイントで実行を開始するはずである。ノード１０３またはこれに関するすべてのノードの起動を引き起こす特定のナビゲーション条件は、設計選択の関数であり、本発明にとってクリティカルではない。
【０５０４】
ノード１０３が表示される精度は、ノード１０５によって利用される座標系ならびにノード１０３によって使用される座標系の組み合わされた精度である。したがって、たとえば、前記ノードのそれぞれの座標系が８ビットを利用する場合に、組み合わされた精度は、ノード１０３の座標系がノード１０３内のアイテムの位置を指定することだけに利用されるが、ノード１０５内のノード１０３の全体的な位置がノード１０５の座標系内で指定されるので、１６ビットになる。このネスティングは、スポーツ・アリーナ１０３自体がその中に追加ノードを含む場合に繰り返して継続し得ることに留意されたい。たとえば、１つのそのようなノード２０１を、実際に、このスポーツ・アリーナ内の特定の場内売り場とすることができる。これは、ノード１０３の座標系およびレンダリング・メソッド内で多くの詳細なしで表される。ユーザが、スポーツ・アリーナ１０３へのズーム・インを継続するときに、あるポイントで、ノード２０１が起動される。ノード２０１が、８ビットの精度を使用して表示される場合に、これらの８ビットは、ノード２０１座標系内のどこに特定のアイテムが表示されなければならないかを指定する。それでも、ノード１０３内のノード２０１の位置は、ノード１０３の座標系内で８ビットの精度まで維持され、このノード１０３の位置は、ノード１０５の座標系内で８ビットを使用して維持される。したがって、ノード２０１内のアイテムは、最終的に、２４ビットの精度を使用して表示される。
【０５０５】
ノード内でノードをネストすることによって、ビジュアル・コンテンツを最終的に表示できる精度は、コンピュータのメモリ容量だけによって制限される。ノード内のビジュアル・コンテンツが、そのノードが起動された後に表示される最終的な精度は、効果的に、すべての親ノードの組み合わされた精度および起動されたノードの精度になる。したがって、ネスティングのレベルに応じて、精度を、必要に応じて、コンピュータの格納容量によってのみ制限されて高めることができ、このコンピュータの格納容量は、必ず、十分よりはるかに多い。さらに、高められた精度は、必要なときに限って利用される。というのは、イメージが、起動を必要としないＬＯＤにある場合に、上の説明によれば、そのイメージは、そのノードが起動された場合に含まれるノードの精度で表示されるに過ぎないからである。したがって、他のノード内にネストされたノードについて、人が、最も外側のノードから内側に移動するときに、人は、まだ起動されていないノードに最終的に達するまで、起動済みのノードをトラバースすることができる。すべてのそのような未起動ノードおよびさらにその中にあるノードは、起動された最後にトラバースされたノードの精度でのみ表示される。
【０５０６】
これは、「アコーディオン」タイプの精度をもたらし、ここで、ビジュアル・コンテンツが表示される精度は、必要に応じて、ユーザのナビゲーション入力による命令に従って伸び縮みし、より高い精度のために必要なときに限ってシステム・リソースを使用することによってシステム・リソースの効率を最大化する。
【０５０７】
また、ノードが起動するときに、そのノードの表示が、親ノードの座標およびレンダリング・メソッドに基づくものから子ノードの座標およびレンダリング・メソッドに変化することに留意されたい。その変化は、たとえば、米国特許出願第１０／７９０２５３号明細書（Ａ１０）に記載されているように、ブレンディングの使用を介して最適に漸進的にされる。しかし、親ノードの座標系およびレンダリング・メソッドでの情報の表示から子ノードに漸進的に変化する他の方法論が、可能である。たとえば、特定の範囲にわたって、親から子へのブレンディングが発生するシステムを、プログラムすることができる。次に、ユーザが、ズーム中にその範囲を通ってトラバースするときに、ナビゲーションがその範囲中で止められない限り、切替えが発生し、止められた場合には、ブレンディングは、適当な座標系で完全に表示されるまで継続することができる。
【０５０８】
本発明によって解決される追加の問題は、表示中のすべてのノードの間のスペース的相互関係を維持するシステムに関する。より具体的に言うと、ズームおよびパンなどの動的ナビゲーション中に、多くの異なる座標系が、潜在的に異なるノードを表示するのに使用されている。一部のノードは、上で説明したように、単に他のノードの座標系内のイメージとして表示されており、一部のノードは、それ自体の座標系で表示されている。実際に、ビジュアル・ディスプレイ全体に、異なる座標系内の異なる位置に表示されるノードを取り込むことができ、さまざまなノードに使用される座標系および精度は、ナビゲーション中に、ノードが起動されるときに変化する場合がある。したがって、各ノードはそれ自体の座標系を知っているだけなので、ノードが互いに関して正しく置かれていることを保証することが重要である。本発明は、各ノードが、それ自体をレンダリングしなければならない全体的なビュー内での正しい位置を「知る」ようにするために、すべてのノードの間で相対位置情報を伝搬し、必要なときにその情報を更新する技法を提供する。
【０５０９】
前述は、ノード構造体へのフィールドの追加および追加のアドレス・スタック・データ構造体を用いて達成することができる。拡張されたノード定義には、本明細書で「ｖｉｅｗ」フィールドと称する、ディスプレイ全体に対して相対的にノード自体を置くのにノードによって使用されるフィールドが含まれる。ｖｉｅｗフィールドは、そのノードの座標で、そのノードの可視領域すなわち、そのノードの座標でのディスプレイ四辺形のイメージを表す。この四辺形は、ノードが部分的にオフ・スクリーンであるときなど、そのノードの領域と部分的にオーバーラップするだけである場合がある。明らかに、ｖｉｅｗフィールドを、すべてのノードについて必ず更新された状態に保つことはできない。というのは、必ずしも、ナビゲーションが発生するときにリアルタイムでノードの有向グラフ全体をトラバースすることができないからである。
【０５１０】
スタック構造体は、次のように定義される。
【０５１１】
【表２０】
2008517540.tif 000041
【０５１２】
ここで、このスタックは、クライアント（ディスプレイに接続されたコンピュータ）のグローバル変数である。例示のために、本明細書では、ナビゲーションが、ルート・ノードによって定義されるコンテンツのユニバースの概観から始まると仮定する。その後、このルート・ノードは、ｖｉｅｗＳｔａｃｋにプッシュされ、ルート・ノードのｖｉｅｗフィールドは、ルート・ノードの領域全体になるように初期化することができる、すなわち、
【０５１３】
【表２１】
2008517540.tif 000042
とすることができる。
【０５１４】
概略的に言うと、ｖｉｅｗＳｔａｃｋは、ディスプレイに対する相対的な、１つのポイントによって「貫かれた」ノードのシーケンスのアドレスを指定することになり、このポイントは、この例示的実装では、ディスプレイの中心であるものと解釈される。このシーケンスは、ルート・ノードから始まらなければならないが、無限である場合があり、したがって、切り捨てられなければならない。例示的実施形態では、このシーケンスは、「貫かれた」ノードが、ｍｉｎｉｍｕｍＡｒｅａとして定義される、ある最小サイズより小さくなるときに切り捨てられる。次に、現在のビューは、ｖｉｅｗＳｔａｃｋ内のすべてのノードのｖｉｅｗフィールドによって表され、これらのｖｉｅｗフィールドのそれぞれは、ノードのローカル座標系に関して現在のビューを指定する。ユーザが、ユニバースに非常に深くズームした場合に、ディスプレイの詳細な位置は、スタック内の最後のノードのｖｉｅｗフィールドによって最も正確に与えられる。しかし、最後の要素のｖｉｅｗフィールドは、ユニバース全体に対して相対的にではなく、そのローカル座標に対し相対的にユーザの視点を指定するに過ぎない。その一方で、ルート・ノードのｖｉｅｗフィールドは、ユニバース内のどこをユーザが見ているかを指定する。したがって、ｖｉｅｗＳｔａｃｋの「微細な端」により近いノードは、ユニバース内の徐々に狭くなる面積に対して相対的にではあるが、高まる精度でビュー位置を指定する。これが、図Ａ１１−３に概念的に示されており、図Ａ１１−３では、起動済みの３つのノードのうちで、ノード３０３が、その座標系が「最も微細」なので、ユーザが見ているところの最も正確な表示を提供するが、ノード３０１が、それほど微細ではないが、ビジュアル・コンテンツのはるかにより大きい領域に関する情報を提供することがわかる。
【０５１５】
次に、問題は、次のように変換される：すべての可視ノードのビュー（すなわち、ｖｉｅｗフィールド）は、ユーザがユニバースを通ってナビゲートする、すなわちパンおよびズームのときに同期化された状態に保たれなければならない。これらを同期化された状態に保つことができないと、ノードが、結合力があり物理的に一貫した２Ｄ表面として振る舞うのではなく、互いに独立にディスプレイ上で移動するという外見がもたらされる。
【０５１６】
すべてのナビゲーション動作中のビューの変更は、次のように進行する。ｖｉｅｗＳｔａｃｋ内の最後のノードが、ビューの最も正確な表現を有するので、第１ステップは、この最後のノードのｖｉｅｗフィールドを変更することである。この変更されたビューは、正しい新しいビューとして採用され、すべての他の可視ノードは、後について行かなければならない。第２ステップは、この新しいビューをルート・ノードに向かって「上向きに」伝搬させることであり、これには、スタック内でより以前のノードのｖｉｅｗフィールドに対する徐々にますます小さくなる変更を行うことが含まれる。ユーザが深くズームする場合に、上向きの伝搬のあるポイントで、ビューに対する変更が、正確に表現されなくなるほどに非常に小さくなる可能性があり、上向きの伝搬は、このノードで停止する。上向き伝搬の各ステージで、変更は、下向きに他の可視ノードにも伝搬される。したがって、まず、最後のノードの親のビューが変更され、次に、下向きの伝搬で、最後のノードの「姉妹」のビューが変更される。次の上向きの伝搬は、祖父のビューを変更し、第２の下向きの伝搬は、最初の叔父を変更し、次に最初の従兄弟を変更する。下向きの伝搬は、前と同様に、「従兄弟ノード」の面積がｍｉｎｉｍｕｍＡｒｅａより小さくなるとき、またはあるノードが完全にオフ・スクリーンになるときに、停止される。
【０５１７】
前述の技法は、さまざまなノードのレイアウトをツリーに変換することを伴い、これは、概念的に図Ａ１１−４および５に示されている。図Ａ１１−４および−５からわかるように、ノードの特定の表示されるセットの対応するツリーがあり、このツリー構造を使用して、前に説明したようにビュー情報を伝搬させることができる。
【０５１８】
パン動作は、最後のノードがもはやｖｉｅｗＳｔａｃｋに属さなくなるのに十分に遠くに、その最後のノードを移動する場合がある。その代わりに、ズーム・インが、ｖｉｅｗＳｔａｃｋを延ばすことが必要になる範囲まで子を拡大する場合があり、あるいは、ズーム・アウトが、最後のノードの面積を最小面積未満にし、ｖｉｅｗＳｔａｃｋの切捨を必要にする場合がある。これらの場合のすべてで、最後のノードのアイデンティティが変化する。これらの情況は、下向き伝搬中に検出され、これによって、ｖｉｅｗＳｔａｃｋがそれ相応に変更され、潜在的にｖｉｅｗＳｔａｃｋがより長くなるかより短くなる場合がある。
【０５１９】
前述の１つの単純な場合が、ズーム中に、あるノードが起動され、その結果、いまそのノードが、ビュー・スタックに置かれることを必要とすることである。もう１つの例は、ズーム・アウトによって、前に可視のノードが、ビュー・スタックから除去されなければならないほどに小さくなることである。
【０５２０】
このアイデアの拡張は、長い外向きのズームに反応する即座のｖｉｅｗＳｔａｃｋの切捨を回避することである。ｖｉｅｗＳｔａｃｋの切捨は、ユーザがその後にパンする場合に限って必要である。長い外向きのズームは、深くズームされたノードのｖｉｅｗフィールドに非常に大きく（したがって、数値的に不正確に）ならせるが、ビュー四辺形の中心ポイントを表すフィールド
【０５２１】
【表２２】
2008517540.tif 000043
【０５２２】
をＮｏｄｅ構造体に追加することができ、したがって、パンなしのズームは、どのノードのｖｉｅｗＣｅｎｔｅｒフィールドも変更しない。この構成は、極端なズーム・アウト後に、直ちにその逆のズーム・インが続くことを可能にする。ｖｉｅｗＳｔａｃｋは、変更されないままなので、ユーザは、開始したビューに正確に戻ることができる。この挙動は、ウェブ・ブラウザの「戻る」ボタンおよび「進む」ボタンに似ており、「戻る」は、ズーム・アウトに類似し、「進む」は戻るズーム・インに類似する。ウェブ・ブラウザでは、ユーザが、前のウェブ・ページに戻るために「戻る」を使用するが、その後、代替リンクを後続させると、この時点で、「進む」が働くのを止める。したがって、代替リンクを後続させることは、ズーム・アウトの後のパンに類似する。
【０５２３】
前述は、アプリケーションが走っているコンピュータ・システムの容量だけによって制限される実質的に無限の精度で、さまざまな形でビジュアル・コンテンツを表示でき、ナビゲートできることを提供する。任意の所与のときに表示されるビジュアル・コンテンツは、ノードのアセンブリとして表示され、ここで、特定のビューに必要なノードだけが、起動済みであり、すべての他のノードは、別のノードの一部として起動されることなく表示されるか、全く表示されない。さまざまな他の実施形態が当業者に明白になること、および本発明が本明細書で説明された実施形態に限定されないことを理解されたい。
【０５２４】
（請求の範囲）
１．ビジュアル・コンテンツを表示する方法であって、前記ビジュアル・コンテンツは、少なくとも２つのノードを備え、前記方法は、少なくとも第１ノードおよび少なくとも第２ノードに関連付けられた前記ビジュアル・コンテンツを、事前に決定されたナビゲーション条件が検出されるまで前記第１ノードのレンダリング・メソッドおよび座標系を使用して表示すること、および前記事前に決定されたナビゲーション条件が検出された後に前記第２ノードのレンダリング・メソッドおよび座標系を使用して前記第２ノードを表示することを備えることを特徴とする方法。
２．前記レンダリング・メソッドまたは前記座標系のうちの少なくとも１つは、前記第１ノードと前記第２ノードとの間で異なることを特徴とする請求項１に記載の方法。
３．前記事前に決定されたナビゲーション条件は、ディスプレイのサイズであることを特徴とする請求項２に記載の方法。
４．複数のノードに編成されたビジュアル・コンテンツを表示する方法であって、第１ノードに関連付けられたビジュアル・コンテンツを、ズームの規定された範囲の間にそれ自体の座標系を使用して表示すること、およびズームの前記規定された範囲の外部で第２ノードの座標系を使用して前記第１ノードに関連付けられたビジュアル・コンテンツを表示することを備えることを特徴とする方法。
５．前記第１ノードは、前記第２ノード内にあることを特徴とする請求項４に記載の方法。
６．前記第１ノードは、ズームの前記範囲の間にはそれ自体のレンダリング・メソッドを使用して、ズームの前記範囲の外部では前記第２ノードのレンダリング・メソッドを使用して表示されることを特徴とする請求項５に記載の方法。
７．ズームの前記範囲の境界では、前記ビジュアル・コンテンツは、第１レンディションから第２レンディションへのブレンディングによって表示されることを特徴とする請求項４または６に記載の方法。
８．前記第２ノードは、前記第１ノードへのポインタを含むことを特徴とする請求項７に記載の方法。
９．前記第２ノードは、前記第１ノードのサイズおよび位置を示す情報をも含むことを特徴とする請求項８に記載の方法。
１０．前記第１レンディションおよび前記第２レンディションは、異なる座標系を使用することを特徴とする請求項７に記載の方法。
１１．前記第１レンディションおよび前記第２レンディションは、異なるレンダリング・メソッドを使用することを特徴とする請求項７に記載の方法。
１２．前記第１レンディションおよび前記第２レンディションは、異なるレンダリング・メソッドおよび異なる座標系を使用することを特徴とする請求項７に記載の方法。
１３．ビジュアル・コンテンツを表示する方法であって、第１ノードに関連付けられたビジュアル・コンテンツを、ズームの第１範囲の間に第２ノードの座標系およびレンダリング・メソッドを使用して表示すること、前記第１ノードに関連付けられた前記ビジュアル・コンテンツを、ズームの第２範囲の間にそれ自体の座標系およびレンダリング・メソッドを使用して表示すること、およびズームの第３範囲の間に前記第１ノードに関連付けられた前記ビジュアル・コンテンツを表示するのを止めることを備えることを特徴とする方法。
１４．前記ビジュアル・コンテンツは、ズームの前記第１および第２の範囲の境界とズームの前記第２および第３の範囲の境界とで漸進的にブレンディングされることを特徴とする請求項１３に記載の方法。
１５．事前に決定されたサイズより大きい、前記ディスプレイに対する相対的なポイントによって貫かれたすべてのノードのビューのビュー・スタックを生成すること、前記ノードのうちの１つに関連付けられたビューを選択すること、および前記ビューを、それに関連付けられたビジュアル・コンテンツが表示される他のノードに伝搬させることを備えることを特徴とする方法。
１６．少なくとも２つのノードに関連付けられたビジュアル・コンテンツは、実質的に同時に表示されることを特徴とする請求項１５に記載の方法。
１７．関連付けられた前記ビューは、それが伝搬される各ノードによって、そのノード自体の座標系に変換されることを特徴とする請求項１６に記載の方法。
１８．前記選択されたビューは、その後にビューイング可能なビジュアル・コンテンツに関連付けられた複数のノードに向けて、上向きに、その後、下向きに伝搬されることを特徴とする請求項１７に記載の方法。
１９．前記上向きの伝搬および前記下向きの伝搬は、伝搬しようとするノードが指定された条件を満足するときに、そのノードへの伝搬が止まることを特徴とする請求項１８に記載の方法。
２０．前記指定された条件のうちの少なくとも１つは、サイズであることを特徴とする請求項１９に記載の方法。
２１．前記ビュー・スタック内のエントリは、前記ビジュアル・コンテンツのナビゲーションに基づいて削除されまたは追加されることを特徴とする請求項２０に記載の方法。
２２．前記ビュー・スタック内で表され、表示されるノードは、ズーム・アウト動作の後にもはや表示されないが、それでも前記ビュー・スタック上で維持され、これによって正確に再ズーム・インすることを可能にすることを特徴とする請求項２１に記載の方法。
２３．複数のノードのそれぞれに関連付けられたビジュアル・コンテンツを実質的に同時に表示する方法であって、各ノードは、それ自体の座標系を有し、前記方法は、各ノードがディスプレイ領域内のそれ自体の位置を示す情報を導出すること、および前記ディスプレイ領域内で実質的に同時に前記ノードのそれぞれに関連付けられたビジュアル・コンテンツを表示することを備えることを特徴とする方法。
２４．前記導出することは、少なくとも１つのノードについて、もう１つのノードから位置情報を受け取ること、および前記位置情報を第１座標系から第２座標系に変換することを含むことを特徴とする請求項２３に記載の方法。
２５．前記位置情報は、前記ディスプレイ領域内の事前に決定された位置に関連付けられた位置であることを特徴とする請求項２４に記載の方法。
２６．前記ノードのそれぞれに関連付けられたビジュアル・コンテンツは、特定のノードに関連付けられたレンダリング・メソッドを使用して表示されることを特徴とする請求項２５に記載の方法。
２７．ビジュアル・コンテンツを表示する方法であって、第１座標系を有する第１ノードを表示すること、前記座標系内で第２ノードを表示すること、およびその後、ユーザによるナビゲーションに応答して前記第２ノードをそれ自体の座標系内で表示することを備えることを特徴とする方法。
２８．前記第２座標系は、前記第１座標系より正確であることを特徴とする請求項２７に記載の方法。
２９．座標系に関連付けられた精度は、桁数単位で測定され、前記桁数は、可変であることを特徴とする請求項２８に記載の方法。
３０．関連付けられた前記精度は、前記方法が動作しているコンピュータの記憶容量によって制限される最大値まで変化することを特徴とする請求項２９に記載の方法。
３１．ディスプレイ上にビジュアル・コンテンツを表示する方法であって、それぞれが指定された座標系内にある複数のサイズの複数のノードを表示することを備え、各座標系は精度を有し、座標系が表示される前記精度は、前記ノードが表示されるサイズに依存することを特徴とする方法。
３２．前記精度は、可変であり、ノードが表示される前記座標系がナビゲーション中に変化するときに増えることを特徴とする請求項３１に記載の方法。
３３．前記精度は、可変であり、ノードが表示される前記座標系がナビゲーション中に変化するときに減ることを特徴とする請求項３２に記載の方法。
３４．第１座標系でノードを表示すること、およびナビゲーションの事前定義の範囲の間に前記第１座標系から前記第２座標系に漸進的にブレンディングすることによって第２座標系で前記ノードを表示することを備えることを特徴とする方法。
３５．前記ノードに使用されるレンダリング・メソッドも、第１のそのようなレンダリング・メソッドから第２のレンダリング・メソッドへ漸進的に変化することを特徴とする請求項３４に記載の方法。
３６．前記ナビゲーションは、ズームまたはパンのいずれかを備えることを特徴とする請求項３５に記載の方法。
３７．ビューに関する情報は、前記ナビゲーションが発生するときに複数のノードの間で伝搬されることを特徴とする請求項３６に記載の方法。
３８．前記伝搬は、数学的ツリーを使用して達成されることを特徴とする請求項３７に記載の方法。
【０５２５】
（要約）
必要なときだけに起動されるノードを利用するビジュアル・コンテンツの表示の方法を開示する。ノードは、適当なときに、別のノード、おそらくは親ノードの座標系でレンダリングされ、かつ／または表示されることができる。ディスプレイ・オブジェクトの精度向上が達成される。
【０５２６】
2008517540.tif 000044
【０５２７】
2008517540.tif 000045
【０５２８】
2008517540.tif 000046
【０５２９】
2008517540.tif 000047
【０５３０】
2008517540.tif 000048
【０５３１】
Ａ１２
（表題）イメージをナビゲートする方法および装置（ＭＥＴＨＯＤＳ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＮＡＶＩＧＡＴＩＮＧ  ＡＮ  ＩＭＡＧＥ）
【０５３２】
（関連出願）
本願は、その開示全体が参照によって本明細書に組み込まれている、２００３年３月１２日に出願した米国特許仮出願第６０／４５３８９７号（Ａ２）、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＦＯＶＥＡＴＥＤ，  ＳＥＡＭＬＥＳＳ，  ＰＲＯＧＲＥＳＳＩＶＥ  ＲＥＮＤＥＲＩＮＧ  ＩＮ  Ａ  ＺＯＯＭＩＮＧ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ」の利益を主張するものである。
【０５３３】
（発明の背景）
本発明は、滑らかで連続的なナビゲーション動きについての外見を提供する形で、オブジェクトのイメージ上で、ズームおよびパンなど、ナビゲートする方法および装置に関する。
【０５３４】
ほとんどの普通のグラフィカル・コンピュータ・ユーザ・インターフェース（ＧＵＩ）は、固定されたスペース的スケールのビジュアル・コンポーネントを使用して設計されているが、ビジュアル・コンポーネントを、ディスプレイ上で固定されたスペース的スケールを有しないように表現し、操作することができることが久しく認められており、実際に、ビジュアル・コンポーネントをパンし、かつ／またはズーム・インもしくはズーム・アウトすることができる。イメージにズーム・インし、ズーム・アウトする能力は、たとえば、地図を見ること、新聞などのテキスト・レイアウトのブラウジング、ディジタル写真を見ること、青写真または図面を見ること、および他の大きいデータ・セットを見ることに関連して望ましい。
【０５３５】
Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ、Ａｄｏｂｅ  Ｐｈｏｔｏ  Ｓｈｏｐ、Ａｄｏｂｅ  Ａｃｒｏｂａｔなどの多数の既存のコンピュータ・アプリケーションには、ズーム可能なコンポーネントが含まれる。一般に、これらのコンピュータ・アプリケーションによって提供されるズーム機能は、ソフトウェアとのユーザの対話の周辺態様であり、ズーム機能は、時々用いられるだけである。これらのコンピュータ・アプリケーションは、ユーザが、滑らかに連続的にイメージ上でパンする（たとえば、スクロール・バーまたはカーソルを使用して、見られるイメージを左、右、上、または下に平行移動する）ことを可能にする。しかし、そのようなコンピュータ・アプリケーションに関する重要な問題は、これらのコンピュータ・アプリケーションが、ユーザが滑らかに連続的にズームすることを可能にしないことである。実際に、これらのコンピュータ・アプリケーションは、１０％、２５％、５０％、７５％、１００％、１５０％、２００％、５００％など、離散的ステップでのズームを提供する。ユーザは、カーソルを使用して所望のズームを選択し、それに反応して、イメージは、選択されたズーム・レベルに不意に変化する。
【０５３６】
不連続ズームの望ましくない質は、インターネットベースのコンピュータ・アプリケーションにも存在する。ｗｗｗ．ｍａｐｑｕｅｓｔ．ｃｏｍのウェブ・サイトを基礎とするコンピュータ・アプリケーションが、このポイントを示す。ＭａｐＱｕｅｓｔウェブ・サイトは、ユーザが、１つまたは複数の住所を入力し、それに反応して道路地図のイメージを受信することを可能にする。図Ａ１２−１〜−４は、米国ニューヨーク州ロングアイランドの地域地図のクエリに反応してＭａｐＱｕｅｓｔウェブ・サイトから入手できるイメージの例である。ＭａｐＱｕｅｓｔウェブ・サイトは、ユーザが、１０レベルなどの離散レベルにズーム・インし、ズーム・アウトすることを可能にする。図Ａ１２−１は、約１００メートル／ピクセルであるズーム・レベル５のレンディションである。図Ａ１２−２は、約３５メートル／ピクセルであるズーム・レベル６のイメージである。図Ａ１２−３は、約２０メートル／ピクセルであるズーム・レベル７のイメージである。図Ａ１２−４は、約１０メートル／ピクセルであるズーム・レベル９のイメージである。
【０５３７】
図Ａ１２−１〜−４を比較することによってわかるように、ズーム・レベルの間の不意の遷移は、ズーム・アウトするときの突然の不意の詳細の消失およびズーム・インするときの突然の不意の詳細の追加をもたらす。たとえば、地方道路、二級道路、または連絡道路は、図Ａ１２−１（ズーム・レベル５）では見ることができないが、二級道路および連絡道路は、まさに次のズームレ・ベルである図Ａ１２−２で突然に現れる。そのような不意の不連続性は、ＭａｐＱｕｅｓｔウェブ・サイトを利用するときに非常に不愉快である。しかし、ＭａｐＱｕｅｓｔソフトウェア・アプリケーションが、たとえばズーム・レベル５（図Ａ１２−１）で一般道路のビューを許容するように変更された場合であっても、結果は、それでも不満足であることに留意されたい。地図の視覚的密度は、ズーム・レベルに伴って変化するはずであり、あるズームのレベルで、結果が満足になる可能性がある（たとえば、レベル７すなわち図Ａ１２−３で）が、ズームインしたときに、道路が太くはならず、地図が非常にまばらに見えるようになるはずである。ズーム・アウトしたときには、道路は、最終的に互いに合体し、急速に、個々の道路が区別不能になる、中身の詰まった入れ子（ｓｏｌｉｄ  ｎｅｓｔ）を形成することになる。
【０５３８】
道路地図のイメージについて滑らかで連続的なズームを提供する能力は、道路カテゴリに関連付けられたさまざまなレベルの粗さ（ｃｏａｒｓｅｎｅｓｓ：雑然さ、洗練されていないこと）のゆえに問題をはらんでいる。米国には、道路の約５つのカテゴリ（米国勢調査局によって配布されるＴＩＧＥＲ／Ｌｉｎｅ  Ｄａｔａの下での分類による）、Ａ１すなわち一級主要道路、Ａ２すなわち一級道路、Ａ３すなわち州道、二級道路、および連絡道路、Ａ４すなわち一般道路、都市街路、および田舎道、ならびにＡ５すなわち未舗装道路がある。これらの道路は、全体的なオブジェクト（すなわち、道路地図）の要素と考えることができる。道路要素の粗さは、Ａ３道路よりかなり多数のＡ４道路があり、Ａ２道路よりかなり多数のＡ３道路があり、Ａ１道路よりかなり多数のＡ２道路があるということに現れる。さらに、道路の物理的寸法（たとえば、その幅）は、大きく変化する。Ａ１道路は、約１６メートル幅である場合があり、Ａ２道路は、約１２メートル幅である場合があり、Ａ３道路は、約８メートル幅である場合があり、Ａ４道路は、約５メートル幅である場合があり、Ａ５道路は、約２．５メートル幅である場合がある。
【０５３９】
ＭａｐＱｕｅｓｔコンピュータ・アプリケーションは、特定のズーム・レベルで適当と思われる道路カテゴリだけを表示することによって、この変化するレベルの粗さを扱う。たとえば、国全体のビューは、Ａ１道路だけを示すことができ、州全体のビューは、Ａ１道路およびＡ２道路を示すことができ、郡全体のビューは、Ａ１道路、Ａ２道路、およびＡ３道路を示すことができる。ＭａｐＱｕｅｓｔが、道路地図の連続的ズームを可能にするように変更された場合であっても、この手法は、ズーム中の道路カテゴリの突然の出現および消滅につながり、これは、混乱を招き、視覚的に不愉快である。
【０５４０】
前述に鑑みて、当技術分野には、オブジェクトの要素のサイズまたは重要性に基づいて、それらの要素の間の視覚的区別を保存すると同時に、イメージの滑らかで連続的なズームを許容する、複雑なオブジェクトのイメージをナビゲートする新しい方法および装置が必要とされている。
【０５４１】
（発明の概要）
本発明の１つまたは複数の態様によれば、少なくとも１つのオブジェクトを有するイメージのズーム・インまたはズーム・アウトを含むさまざまなアクションを実行する方法および装置が企図され、ここで、少なくとも１つのオブジェクトの少なくともいくつかの要素は、ズームに関連する１つまたは複数のズーム・レベルに非物理的比例する（ｎｏｎ−ｐｈｙｓｉｃａｌｌｙ  ｐｒｏｐｏｒｔｉｏｎａｌ）形でスケール・アップされかつ／またはスケール・ダウンされる。
【０５４２】
非物理的比例スケーリング（ｎｏｎ−ｐｈｙｓｉｃａｌｌｙ  ｐｒｏｐｏｒｔｉｏｎａｌ  ｓｃａｌｉｎｇ）は、次の公式ｐ＝ｃ・ｄ・ｚａによって表すことができ、ｐは、ズーム・レベルでのオブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃは、定数であり、ｄは、オブジェクトの１つまたは複数の要素の物理単位での直線サイズであり、ｚは、物理直線サイズ／ピクセルの単位でのズーム・レベルであり、ａは、スケール・パワー（ｓｃａｌｅ  ｐｏｗｅｒ：スケールを表す「ベキ」数）であり、ａ≠−１である。
【０５４３】
非物理的スケーリングの下では、スケール・パワーａは、ズーム・レベルｚ０およびｚ１の範囲内で−１と等しくなく（通常は−１＜ａ＜０である）、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有する。ｚ０およびｚ１のうちの少なくとも１つは、オブジェクトの１つまたは複数の要素について変化することができることが好ましい。ａ、ｃ、およびｄも、要素ごとに異なることができることに留意されたい。
【０５４４】
少なくとも１つのオブジェクトの少なくともいくつかの要素は、ズームに関連する１つまたは複数のズーム・レベルに物理的比例する（ｐｈｙｓｉｃａｌｌｙ  ｐｒｏｐｏｒｔｉｏｎａｌ）形でもスケール・アップされ、かつ／またはスケール・ダウンされることができる。物理的比例するスケーリングは、公式、ｐ＝ｃ・ｄ／ｚによって表すことができ、ｐは、ズーム・レベルでのオブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃは、定数であり、ｄは、オブジェクトの１つまたは複数の要素の物理単位での直線サイズであり、ｚは、物理直線サイズ／ピクセルの単位でのズーム・レベルである。
【０５４５】
このドキュメントで、これまでに説明した、および／または後で説明する方法および装置を、標準ディジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェア・プログラムを実行するように動作するすべての既知のプロセッサ、プログラマブル・ディジタル・デバイスまたはプログラマブル・ディジタル・システム、プログラマブル・アレイ・ロジック・デバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明は、適切な記憶媒体での格納した、および処理ユニットによる実行のための、ソフトウェア・プログラムの形で実現することもできる。
【０５４６】
オブジェクトの要素は、変化する度合の粗さ（ｖａｒｙｉｎｇ  ｄｅｇｒｅｅｓ  ｏｆ  ｃｏａｒｓｅｎｅｓｓ）を有するものとすることができる。たとえば、上で述べたように、道路地図オブジェクトの要素の粗さは、Ａ３道路よりかなり多数のＡ４道路があり、Ａ２道路よりかなり多数のＡ３道路があり、Ａ１道路よりかなり多数のＡ２道路があるということに現れる。道路カテゴリの粗さの度合は、平均道路長、交差点の頻度、および最大曲率などのプロパティにも現れる。他のイメージ・オブジェクトの各エレメントの粗さは、その全体をリストするには多すぎる他の複数の形で、現れる可能性がある。したがって、所与の事前に決定されたイメージ内の要素のスケーリングは、（ｉ）上記要素の粗さの度合および（ｉｉ）所与の事前に決定されたイメージのズーム・レベルのうちの少なくとも１つに基づいて物理的比例するまたは非物理的比例するものとすることができる。たとえば、オブジェクトは、道路地図とすることができ、オブジェクトの要素は、道路とすることができ、変化する度合の粗さは、道路階層とすることができる。したがって、所与の事前に決定されたイメージ内の所与の道路のスケーリングは、（ｉ）所与の道路の道路階層および（ｉｉ）所与の事前に決定されたイメージのズーム・レベルに基づいて物理的比例するまたは非物理的比例するものとすることができる。
【０５４７】
本発明の１つまたは複数のさらなる態様によれば、道路地図の変化するズーム・レベルの複数の事前レンダリングされたイメージをクライアント端末で受信すること、ズーム情報を含む１つまたは複数のユーザ・ナビゲーション・コマンドをクライアント端末で受け取ること、およびクライアント端末での中間イメージの表示が滑らかなナビゲーションの外見を提供するように、事前レンダリングされたイメージのうちの複数をブレンディングして、ナビゲーション・コマンドのズーム情報に対応する中間ズーム・レベルについての中間イメージの中間イメージを入手すること、を含むさまざまなアクションを実行するための方法および装置が企図される。
【０５４８】
本発明の１つまたは複数のさらなる態様によれば、さまざまなアクションを実行するための方法および装置が企図され、このアクションには、  
・少なくとも１つのオブジェクトについてズーム・レベルを変化させた複数の事前レンダリングされたイメージ、  
・複数の事前に決定されたイメージを作るために、スケール・アップされ、かつ／またはスケール・ダウンされた少なくとも１つのオブジェクトからなる少なくともいくつかの要素、  
・スケーリングであって、（ｉ）ズーム・レベルに物理的比例する、および（ｉｉ）ズーム・レベルに非物理的比例する、のうちの少なくとも１つのスケーリング  
をクライアント端末で受信すること、  
ズーム情報を含む１つまたは複数のユーザ・ナビゲーション・コマンドをクライアント端末で受信すること、  
ナビゲーション・コマンドのズーム情報に対応する中間ズーム・レベルについての中間イメージを入手するために、事前レンダリングされたイメージのうちの複数をブレンディングすること、および  
中間イメージをクライアント端末で表示すること  
が含まれる。
【０５４９】
本発明の１つまたは複数のさらなる態様によれば、道路地図についてズーム・レベルを変化させた複数の事前レンダリングされたイメージを通信チャネルを介してクライアント端末に送信すること、複数の事前レンダリングされたイメージをクライアント端末で受信すること、クライアント端末を使用してズーム情報を含む１つまたは複数のユーザ・ナビゲーション・コマンドを発行すること、事前レンダリングされたイメージのうちの２つ以上をブレンディングして、ナビゲーション・コマンドのズーム情報に対応する中間ズームレベルの中間イメージを生成し、当該中間イメージのクライアント端末での表示が滑らかなナビゲーションの外見をもたらすようにすること  
を含むさまざまなアクションを実行するための方法および装置が企図される。
【０５５０】
本発明の１つまたは複数のさらなる態様によれば、さまざまなアクションを実行するための方法および装置が企図され、このアクションには、  
・少なくとも１つのオブジェクトについてズーム・レベルを変化させた複数の事前レンダリングされたイメージ、  
・複数の事前レンダリングされたイメージを作るために、スケール・アップされ、かつ／またはスケール・ダウンされた少なくとも１つのオブジェクトからなる少なくともいくつかの要素、  
・スケーリングであって、（ｉ）ズーム・レベルに物理的比例する、および（ｉｉ）ズーム・レベルに非物理的比例する、のうちの少なくとも１つのスケーリング  
を通信チャネルを介してクライアント端末に送信すること、  複数の事前レンダリングされたイメージをクライアント端末で受信すること、  
クライアント端末を使用してズーム情報を含む１つまたは複数のユーザ・ナビゲーション・コマンドを発行すること、  
事前レンダリングされたイメージのうちの２つをブレンディングして、ナビゲーション・コマンドのズーム情報に対応する中間ズーム・レベルについての中間イメージを入手すること、および  
中間イメージをクライアント端末で表示すること  
が含まれる。
【０５５１】
本発明の他の態様、機能、および利点は、添付図面と共に本明細書の説明を解釈するときに、当業者に明白になるであろう。
【０５５２】
（図面の簡単な説明）
本発明を例示するために、現在好ましい形が図面に示されているが、本発明が図示された正確な配置および手段に限定されないことを理解されたい。
（図Ａ１２−１）ズーム・レベル５である、ＭａｐＱｕｅｓｔウェブ・サイトからとられたイメージを示す図である。
（図Ａ１２−２）ズーム・レベル６である、ＭａｐＱｕｅｓｔウェブ・サイトからとられたイメージを示す図である。
（図Ａ１２−３）ズーム・レベル７である、ＭａｐＱｕｅｓｔウェブ・サイトからとられたイメージを示す図である。
（図Ａ１２−４）ズーム・レベル９である、ＭａｐＱｕｅｓｔウェブ・サイトからとられたイメージを示す図である。
（図Ａ１２−５）本発明の１つまたは複数の態様による約３３４メートル／ピクセルのズーム・レベルで作られたロングアイランドのイメージを示す図である。
（図Ａ１２−６）本発明の１つまたは複数のさらなる態様による約１９１メートル／ピクセルのズーム・レベルで作られたロングアイランドのイメージを示す図である。
（図Ａ１２−７）本発明の１つまたは複数のさらなる態様による約１０９．２メートル／ピクセルのズーム・レベルで作られたロングアイランドのイメージを示す図である。
（図Ａ１２−８）本発明の１つまたは複数のさらなる態様による約６２．４メートル／ピクセルのズーム・レベルで作られたロングアイランドのイメージを示す図である。
（図Ａ１２−９）本発明の１つまたは複数のさらなる態様による約３５．７メートル／ピクセルのズーム・レベルで作られたロングアイランドのイメージを示す図である。
（図Ａ１２−１０）本発明の１つまたは複数のさらなる態様による約２０．４メートル／ピクセルのズーム・レベルで作られたロングアイランドのイメージを示す図である。
（図Ａ１２−１１）本発明の１つまたは複数のさらなる態様による約１１．７メートル／ピクセルのズーム・レベルで作られたロングアイランドのイメージを示す図である。
（図Ａ１２−１２）本発明の１つまたは複数のさらなる態様による、イメージの滑らかで連続的なナビゲーションを提供するために実行することのできるプロセス・ステップを示すフローチャートである。
（図Ａ１２−１３）本発明のさまざまな態様による、イメージを滑らかにナビゲートするために実行することのできるさらなるプロセス・ステップを示すフローチャートである。
（図Ａ１２−１４）本発明の１つまたは複数のさらなる態様による、ピクセル単位の線幅対物理的スケーリングおよび非物理的スケーリングを示すメートル／ピクセル単位のズーム・レベルを示す両対数グラフである。
（図Ａ１２−１５）図Ａ１２−１４の物理的スケーリングおよび非物理的スケーリングの変形形態を示す両対数グラフである。
（図Ａ１２−１６Ａ）その端点がピクセル座標に正確にセンタリングされたアンチ・エイリアシングされた垂直線を示す図である。
（図Ａ１２−１６Ｂ）その端点がピクセル座標に正確にセンタリングされたアンチ・エイリアシングされた垂直線を示す図である。
（図Ａ１２−１６Ｃ）その端点がピクセル座標に正確にセンタリングされたアンチ・エイリアシングされた垂直線を示す図である。
（図Ａ１２−１６Ｄ）その端点がピクセル座標に正確にセンタリングされたアンチ・エイリアシングされた垂直線を示す図である。
（図Ａ１２−１７Ａ）端点が正確なピクセル座標になるように位置決めされてはいない、傾いたアンチ・エイリアシングされた線を示す図である。
（図Ａ１２−１７Ｂ）端点が正確なピクセル座標になるように位置決めされてはいない、傾いたアンチ・エイリアシングされた線を示す図である。
（図Ａ１２−１７Ｃ）端点が正確なピクセル座標になるように位置決めされてはいない、傾いたアンチ・エイリアシングされた線を示す図である。
（図Ａ１２−１８）増分線幅を示す水平線と、２つの隣接する垂直線の間のインターバルにまたがる線幅が２ピクセルを超えて変化しないようにスペースをおかれた垂直線とを含む、図Ａ１２−１４の線幅対ズーム・レベルを示す両対数グラフである。
【０５５３】
（発明の詳細な説明）
ここで図面を参照すると、図面では、類似する符号が類似する要素を示すが、図Ａ１２−５〜−１１に、米国ニューヨーク州ロングアイランドの道路網を表す一連のイメージが示されており、各イメージは、異なるズーム・レベル（または分解度）である。本発明がどのように実装されるかの技術的詳細を調べる前に、これらのイメージを、本発明の使用から得られた望ましい特徴、すなわち、少なくとも、情報の完全性を維持しながらの、滑らかで連続的なナビゲーション、特にズームの外見に関連して、これから述べる。
【０５５４】
以下で述べる本発明のさまざまな態様を、道路地図イメージのナビゲーション以外のコンテクストに適用できることに留意されたい。実際に、それについて本発明を用いることのできるイメージおよび実装の範囲は、その全体をリストするには多すぎる。たとえば、本発明の機能を、人間の解剖学、複雑なトポグラフィ、配線図または青写真などの工学図面、ジーン・オントロジ（ｇｅｎｅ  ｏｎｔｏｌｏｇｙ）などのイメージをナビゲートするのに使用することができる。しかし、本発明は、その要素が、変化する詳細レベルまたは粗さを有するイメージをナビゲートすることに特定の適用可能性を有することがわかっている。したがって、短く明瞭にするために、本発明のさまざまな態様を、特定の例すなわち、道路地図のイメージに関連して述べる。
【０５５５】
滑らかで連続的なズームの外見を、特許文書内で示すことは不可能であるが、この特徴は、Ｐｅｎｔｉｕｍ（登録商標）ベース・コンピュータ上で適切なソフトウェア・プログラムを実行することによる実験およびプロトタイプ開発を介して実証された。図Ａ１２−５に示された道路地図のイメージ１００Ａは、物理的長さ／ピクセル（または物理的直線サイズ／ピクセル）の単位の特徴があるものとすることのできるズーム・レベルである。言い換えると、ズーム・レベルｚは、イメージ１００Ａの単一ピクセルが表す実際の物理直線サイズを表す。図Ａ１２−５では、ズーム・レベルは、約３３４メートル／ピクセルである。当業者は、請求される本発明の趣旨および範囲から逸脱せずに、ズーム・レベルを他の単位で表すことができることを諒解するであろう。図Ａ１２−６は、図Ａ１２−５と同一であるが、ズーム・レベルｚが約１９１メートル／ピクセルである道路地図のイメージ１００Ｂである。
【０５５６】
本発明の１つまたは複数の態様によれば、本発明の１つまたは複数の態様を実施するソフトウェア・プログラムのユーザは、図Ａ１２−５および−６に示されたレベルの間でズーム・インし、またはズーム・アウトすることができる。そのようなズームが、３３４メートル／ピクセルレベル（図Ａ１２−５）から１９１メートル／ピクセル・レベル（図Ａ１２−６）およびその間の任意のレベルへ／からの滑らかで連続的な遷移の外見を有することに留意することが重要である。同様に、ユーザは、ｚ＝１０９．２メートル／ピクセル（図Ａ１２−７）、ｚ＝６２．４メートル／ピクセル（図Ａ１２−８）、ｚ＝３５．７メートル／ピクセル（図Ａ１２−９）、ｚ＝２０．４メートル／ピクセル（図Ａ１２−１０）、およびｚ＝１１．７メートル／ピクセル（図Ａ１２−１１）など、他のレベルにズームすることができる。やはり、これらのズーム・レベルおよびそれらの間のすべてのレベルを通る遷移は、滑らかで連続的な動きの外見を有利に有する。
【０５５７】
図Ａ１２−５〜−１１に示された本発明のもう１つの重要な特徴は、あるレベルから別のレベルにズームするときに、詳細がほとんどまたは全く、不意に現れたり、消滅したりしないことである。図Ａ１２−８（ｚ＝６２．４メートル／ピクセルのズーム・レベル）に示された詳細は、図Ａ１２−５（３３４メートル／ピクセルのズーム・レベル）でも見つけることができる。これは、この例では道路地図であるイメージ・オブジェクトが、変化する度合の粗さの要素（すなわち、道路）を含む場合であってもそうである。実際に、図Ａ１２−８の道路地図１００Ｄには、少なくとも１０２などのＡ１主要道路、１０４などのＡ３二級道路、および１０６などのＡ４地方道路が含まれる。それでも、これらの詳細は、Ａ４地方道路１０６であっても、まだ図Ａ１２−５のイメージ１００Ａで見ることができ、図Ａ１２−５は、図Ａ１２−８のイメージ１００Ｄと比較してかなりズーム・アウトされている。
【０５５８】
さらに、Ａ４地方道路１０６を、ｚ＝３３４メートル／ピクセル（図Ａ１２−５）のズーム・レベルで見ることができるが、Ａ１道路、Ａ２道路、Ａ３道路、およびＡ４道路を、互いから区別することができる。Ａ１一級主要道路１０２とＡ２一級道路１０８との間の差であっても、レンダリングされたイメージ１００Ａ内でそのような道路に与えられる相対重みに関して、互いに区別することができる。
【０５５９】
道路階層の間で区別する能力は、ユーザが、たとえば図Ａ１２−１０のイメージ１００Ｆに示されたｚ＝２０．４メートル／ピクセルのズーム・レベルまでズーム・インし続けるときにも有利に維持される。Ａ１一級主要道路１０２の重みは、図Ａ１２−８のｚ＝６２．４メートル／ピクセルのズーム・レベルと比べて大きく増えるが、Ａ４地方道路１０６またはＡ５未舗装道路などの他の詳細を覆い隠すほどの範囲まで増えはしない。それでも、Ａ４地方道路１０６など、より下位の階層レベルの道路の重みは、図Ａ１２−８のズーム・レベルｚ＝６２．４メートル／ピクセルでの対応物と比べて、重みにおいて大きく増える。
【０５６０】
したがって、図Ａ１２−５に示されたものと図Ａ１２−１１に示されたものとの間のズーム・レベルのダイナミックレンジは、かなりのものであり、詳細は、実質的に一貫したままである（すなわち、道路は、滑らかにズームしている間に突然に現れも消えもしない）が、ユーザが所与のズーム・レベルで入手しようと努める情報は、望ましくないアーチファクトによって隠されはしない。たとえば、ｚ＝３３４メートル／ピクセルのズーム・レベル（図Ａ１２−５）では、ユーザは、どの一級主要道路が存在し、それらがどの方向に伸びるかの全般的な感じを得ることを望む場合がある。この情報は、Ａ４地方道路１０６も表示される場合であっても、たやすく得ることができる。ｚ＝６２．４メートル／ピクセル（図Ａ１２−８）というズーム・レベルでは、ユーザは、特定のＡ１一級主要道路１０２またはＡ２一級道路１０８が特定の都市またはその近隣にサービスするかどうかを決定することを望む場合がある。やはり、ユーザは、Ａ４地方道路１０６またはＡ５未舗装道路の存在および広がりなど、他のはるかにより詳細な情報からの干渉なしに、この情報を入手することができる。最後に、１１．７メートル／ピクセルのズーム・レベルでは、ユーザは、１１２などの特定のＡ４地方道路を見つけることに関心を持つ場合があり、Ａ１一級主要道路１０２などの大幅により大きい道路による干渉なしにそれを行うことができる。
【０５６１】
上で述べた本発明のさまざまな態様のうちの１つまたは複数を達成するために、１つまたは複数のコンピューティング・デバイスが、そのコンピューティング・デバイスに適当なアクションを実行させる１つまたは複数のソフトウェア・プログラムを実行することが企図されている。これに関して、図Ａ１２−１２〜−１３をこれから参照するが、図Ａ１２−１２〜−１３は、好ましくは１つまたは複数のコンピューティング・デバイスおよび／または関連機器によって実行されるプロセス・ステップを示すフローチャートである。
【０５６２】
このプロセス・フローは、市販コンピューティング機器（Ｐｅｎｔｉｕｍ（登録商標）ベースのコンピュータなど）によって実行されることが好ましいが、複数の他の技法のどれであっても、請求される本発明の趣旨および範囲から逸脱せずに、これらのプロセス・ステップを実行するのに用いることができる。実際に、用いられるハードウェアは、標準的なディジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェア・プログラムを実行するように動作するすべての既知のプロセッサ、プログラマブル読取専用メモリ（ＰＲＯＭ）などの１つまたは複数のプログラマブル・ディジタル・デバイスまたはプログラマブル・ディジタル・システム、プログラマブル・アレイ・ロジック・デバイス（ＰＡＬ）、上記の任意の組合せなど、任意の他の既知の、または以下で展開されるテクノロジを利用して実装することができる。さらに、本発明の方法は、既知のまたは以下で展開される媒体のいずれかで格納できるソフトウェア・プログラムで実施することができる。
【０５６３】
図Ａ１２−１２は、本発明の実施形態を示し、この実施形態では、複数のイメージが準備され（それぞれ異なるズーム・レベルまたは分解度で）、アクション２００、これらのイメージのうちの複数が、一緒にブレンディングされて、ズームなどの滑らかなナビゲーションの外見を達成する（アクション２０６）。本発明を実践するのに必要ではないが、図Ａ１２−１２に示された手法は、サービス・プロバイダ−クライアント関係に関連して用いられることが企図されている。たとえば、サービス・プロバイダは、複数の事前レンダリングされたイメージを準備する（アクション２００）ためにリソースを費やし、これらのイメージを、インターネットなどの通信チャネルを介してユーザのクライアント端末から使用可能にする（アクション２０２）。代替案では、事前レンダリングされたイメージを、ユーザがそのユーザのコンピュータにロードし、そこで実行するアプリケーション・プログラムの一体の部分または関連する部分とすることができる。
【０５６４】
実験を通じて、ブレンディング手法が使用されるときに、次のズーム・レベルのイメージのセットが、イメージ・オブジェクトが道路地図であるときによく働くことがわかっている：３０メートル／ピクセル、５０メートル／ピクセル、７５メートル／ピクセル、１００メートル／ピクセル、２００メートル／ピクセル、３００メートル／ピクセル、５００メートル／ピクセル、１０００メートル／ピクセル、および３０００メートル／ピクセル。しかし、本発明の範囲から逸脱せずに、任意の個数のイメージを任意の個数の分解度で用いることができることに留意されたい。実際に、他のコンテクストの他のイメージ・オブジェクトは、特定のズーム・レベルが上の例と異なる場合に、より多数またはより少数のイメージによって最もよく供給される場合がある。
【０５６５】
イメージがクライアント端末によってどのように入手されるかに関わりなく、ズーム・コマンドなど、ユーザが開始したナビゲーション・コマンドに応答して（アクション２０４）、クライアント端末は、そのナビゲーション・コマンドと一致する中間分解度のイメージを作るために複数のイメージをブレンディングするように動作することが好ましい（アクション２０６）。このブレンディングは、Ｌａｎｃｅ  Ｗｉｌｌｉａｍｓ（Ｐｙｒａｍｉｄａｌ  Ｐａｒａｍｅｔｒｉｃｓ，  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ，  Ｐｒｏｃ．  ＳＩＧＧＲＡＰＨ  ’８３，  １７（３）：１−１１  （１９８３））によって開示された周知のトライリニア補間技法（その開示全体が参照によって本明細書に組み込まれている）など、複数の方法によって達成することができる。双三次線形補間など、イメージ補間の他の手法も、本発明に関連して有用であり、さらに他の手法が、将来に開発される可能性がある。本発明が、これらのブレンディング方法のどの特定の１つも必要とせず、これに依存しないことに留意されたい。たとえば、図Ａ１２−８に示されているように、ユーザが、６２．４メートル／ピクセルのズーム・レベルにナビゲートすることを望む場合がある。このズーム・レベルは、事前レンダリングされたイメージの２つの間にある可能性がある（この例では、ズーム・レベル５０メートル／ピクセルとズーム・レベル７５メートル／ピクセルとの間にある）ので、６２．４メートル／ピクセルの所望のズーム・レベルは、トライ・リニア補間技法を使用して達成することができる。さらに、５０メートル／ピクセルと７５メートル／ピクセルとの間のすべてのズーム・レベルは、上で説明したブレンディング技法を利用して入手することができ、このブレンディング技法は、実行される場合に、滑らかで連続したナビゲーションの外見を十分に素速く提供する。このブレンディング技法は、図Ａ１２−９に示された３５．７メートル／ピクセルなど、他のズーム・レベルまでやり遂げることができる。その場合に、このブレンディング技法は、これまでに述べた例の３０メートル／ピクセルおよび５０メートル／ピクセルの事前レンダリングされたイメージの間で実行することができる。
【０５６６】
上のブレンディング手法は、本発明がそこで実行される処理ユニットの計算能力が、（ｉ）まず第１にレンダリング動作を実行するのにおよび／または（ｉｉ）滑らかなナビゲーションのための高いイメージ・フレーム・レートを達成するためにイメージ・レンダリングを「ジャスト・イン・タイムで」または「オン・ザ・フライで」（たとえば、リアル・タイムで）実行するのに十分に高くはないときに、使用することができる。しかし、以下で述べるように、本発明の他の実施形態は、ブレンディング・アプリケーションおよび／または高フレーム・レート・アプリケーションのためのクライアント端末でのレンダリングが可能な既知のまたは以下で展開される高性能処理ユニットの使用を企図している。
【０５６７】
図Ａ１２−１３のプロセス・フローは、本発明に従って１つまたは複数のイメージを準備するために行われることが好ましい詳細なステップおよび／またはアクションを示す。アクション２２０で、既知のまたは以下で展開される技法のいずれかを使用して、１つまたは複数のイメージ・オブジェクトに関する情報を入手する。通常、そのようなイメージ・オブジェクトは、多角形、線、ポイントなどの適当なプリミティブを使用してモデリングされる。たとえば、イメージ・オブジェクトが道路地図であるときには、すべての万国横メルカトル（ＵＴＭ）ゾーン内の道路のモデルを、たやすく入手することができる。このモデルは、通常、そのゾーン内の道路を含む線分（任意の座標系内の）のリストの形である。このリストは、既知のまたは以下で展開されるレンダリング・プロセスのいずれかが、ピクセル（スペース的）領域内の所与のプリミティブの重み（たとえば、見かけの厚さまたは実際の厚さ）を決定するある種の技法を組み込んでいる限り、そのレンダリング・プロセスを使用してスペース的領域内のイメージ（ピクセル・イメージ）に変換することができる。上の道路地図の例に従って、このレンダリング・プロセスは、スペース的領域内で道路地図の道路をモデリングする線の重みを決定する、ある種の技法を組み込まれなければならない。これらの技法を、以下で述べる。
【０５６８】
アクション２２２（図Ａ１２−１３）では、オブジェクトの要素を分類する。道路地図オブジェクトの場合には、この分類は、既に存在するカテゴリすなわち、Ａ１、Ａ２、Ａ３、Ａ４、およびＡ５の形をとることができる。実際に、これらの道路要素は、粗さの変化する度合を有し、以下で述べるように、この分類に基づいて異なってレンダリングされ得る。アクション２２４では、ズーム・レベルに基づいて、異なる道路要素に数学的スケーリングを適用する。以下でより詳細に述べるように、この数学的スケーリングは、要素分類に基づいて変化するものとすることもできる。
【０５６９】
背景として、地図の道路などのイメージ要素をレンダリングする２つの普通の技法すなわち、実物理的スケーリングおよび事前設定ピクセル幅がある。実物理的スケーリング技法は、道路地図が、異なるスケールで道路の実際の物理的イメージを見ているかのようにレンダリングされることを規定する。たとえば、Ａ１主要道路は、１６メートル幅である可能性があり、Ａ２道路は、１２メートル幅である可能性があり、Ａ３道路は、８メートル幅である可能性があり、Ａ４道路は、５メートル幅である可能性があり、Ａ５道路は、２．５メートル幅である可能性がある。これは、地図の小さい領域にズーム・インしたときに、見る人にとって許容できるものである可能性があるが、ズーム・アウトしたときには、主要道路と重要でない道路との両方のすべての道路が、詳細に描くには細くなりすぎる。あるズーム・レベル、たとえば州レベル（たとえば、約２００メートル／ピクセル）では、道路が全く見られなくなることになる。
【０５７０】
事前設定ピクセル幅手法は、すべての道路が、ディスプレイ上の幅で１ピクセルなど、あるピクセル幅であることを規定する。主要道路などの主な道路は、それらを２ピクセル幅などにすることによって強調することができる。残念ながら、この手法は、人がズーム・インし、ズーム・アウトするときに、地図の視覚的密度を変化させる。あるズームのレベルで、たとえば小さいサイズの国レベルで、結果が、満足である場合がある。しかし、ズーム・インするときには、道路は、太くならず、地図が過度にまばらに見えるようになる。さらに、ズーム・アウトするときには、道路は、互いに合体し、急速に、個々の道路が区別不能になる、中身の詰まった入れ子（ｓｏｌｉｄ  ｎｅｓｔ）を形成することになる。
【０５７１】
本発明の１つまたは複数の態様によれば、アクション２２４で、イメージは、少なくともいくつかのイメージ要素が、以下でより詳細に述べるパラメータに応じて、（ｉ）ズーム・レベルに物理的比例してまたは（ｉｉ）ズーム・レベルに非物理的比例してのいずれかでスケール・アップされ、かつ／またはスケール・ダウンされる形で作られる。
【０５７２】
「ズーム・レベルに物理的比例する」スケーリング・レベルは、要素のサイズが人間の目からの距離に伴って変化して見えるはずなので、道幅を表すピクセルの個数が、ズーム・レベルに伴って増加し、または減少することを意味することに留意されたい。物理サイズｄのオブジェクトの見かけの長さｙを与える遠近法の公式は、  
ｙ＝ｃ・ｄ／ｘ  
であり、ここで、ｃは、有角透視（ａｎｇｕｌａｒ  ｐｅｒｓｐｅｃｔｉｖｅ）を決定する定数であり、ｘは、見る人からのオブジェクトの距離である。
【０５７３】
本発明では、物理直線サイズｄ’のオブジェクトのディスプレイ・ピクセル単位の直線サイズｐは、  
ｐ＝ｄ’・ｚａ 
によって与えられ、ここで、ｚは、物理直線サイズ／ピクセル（たとえば、メートル／ピクセル）単位でのズーム・レベルであり、ａは、べき法則（ｐｏｗｅｒ  ｌａｗ）である。ａ＝−１かつｄ’＝ｄ（オブジェクトの実際の物理直線サイズ）のときに、この式は、次元的に正しく、遠近法の公式と同等になり、ｐ＝ｙかつｚ＝ｘ／ｃである。これは、物理ズームと透視変換との間の同等を表し、ズーム・インは、見る人のより近くにオブジェクトを移動することと同等であり、ズーム・アウトは、オブジェクトをより遠くに移動することと同等である。
【０５７４】
非物理的スケーリングを実装するためには、ａに、−１以外のべき法則をセットすることができ、ｄ’に、実際の物理直線サイズｄ以外の物理直線サイズをセットすることができる。道路地図のコンテクストでは、ｐが、道路の表示される幅をピクセル単位で表すことができ、ｄ’が、物理単位に帰せられる幅（ｉｍｐｕｔｅｄ  ｗｉｄｔｈ）を表すことができるが、「ズーム・レベルに非物理的比例する」は、ディスプレイ・ピクセル単位の道幅が、ズーム・レベルに物理的に比例すること以外の形でズーム・レベルに伴って増加し、または減少すること、すなわちａ≠−１を意味する。スケーリングは、ある種の望ましい結果を達成する形で、ゆがめられる。
【０５７５】
「直線」サイズは、１次元のサイズを意味することに留意されたい。たとえば、２次元オブジェクトを考慮し、その「直線サイズ」を２倍にする場合に、その面積は、４＝２２を乗じられる。２次元の場合に、オブジェクトの要素の直線サイズは、長さ、幅、半径、直径、および／またはユークリッド平面上でものさしを用いて読み取ることのできるすべての他の測定値を含むことができる。線の太さ、線の長さ、円または円盤の直径、多角形の１辺の長さ、および２ポイント間の距離は、すべてが直線サイズの例である。この意味で、２次元での「直線サイズ」は、２Ｄユークリッド平面上のオブジェクトの２つの識別されたポイントの間の距離である。たとえば、直線サイズは、（ｄｘ２＋ｄｙ２）の平方根をとることによって計算することができ、ここで、ｄｘ＝ｘ１−ｘ０、ｄｙ＝ｙ１−ｙ０であり、２つの識別されたポイントは、デカルト座標（ｘ０，ｙ０）および（ｘ１，ｙ１）によって与えられる。
【０５７６】
「直線サイズ」の概念は、３つ以上の次元に自然に拡張され、たとえば、ボリュメトリック・オブジェクト（ｖｏｌｕｍｅｔｒｉｃ  ｏｂｊｅｃｔ）を考慮する場合に、その直線サイズを２倍にすることは、体積を８＝２３倍に増やすことを伴う。直線サイズの同様の測定値を、球の表面など、非ユークリッド・スペースについて定義することもできる。
【０５７７】
すべてのべき法則ａ＜０は、要素のレンダリングされるサイズを、ズーム・アウトのときに減らさせ、ズーム・インのときに増やさせる。ａ＜−１のときには、要素のレンダリングされるサイズは、ズーム・アウトのときに、比例物理的スケーリングより素速く減る。逆に、−１＜ａ＜０のときには、レンダリングされる要素のサイズは、ズーム・アウトのときに、比例物理的スケーリングよりゆっくり減る。
【０５７８】
本発明の少なくとも１つの態様によれば、ｐ（ｚ）は、所与のオブジェクトの所与の長さについて、実質的に連続的になることを許され、その結果、ナビゲーション中に、ユーザは、イメージの要素のサイズについて突然のジャンプまたは不連続性を体験しなくなる（最も極端な不連続性すなわちナビゲーション中の要素の突然の出現または消滅を許す普通の手法と異なって）。さらに、ｐ（ｚ）は、ズーム・アウトがオブジェクトの要素をより小さくし（たとえば、道路がより細くなる）、ズーム・インがオブジェクトの要素をより大きくするように、ズーム・アウトに伴って単調に減少することが好ましい。これは、ユーザに、イメージのオブジェクトに関する、肉体的適応力についての感覚（ｓｅｎｓｅ  ｏｆ  ｐｈｙｓｉｃａｌｉｔｙ）を与える。
【０５７９】
上で述べたスケーリング機能は、図Ａ１２−１４に関してより十分に理解することができ、図Ａ１２−１４は、Ａ１主要道路のピクセル単位のレンダリングされる線幅対メートル／ピクセル単位のズーム・レベルの両対数グラフである（ｘ軸にｌｏｇ（ｚ）、ｙ軸にｌｏｇ（ｐ）をプロットすることは、関係ｌｏｇ（ｘａ）＝ａ・ｌｏｇ（ｘ）に起因してプロットが直線になるので便利である）。線（道）幅対ズーム・レベル・プロットの基本的特性は、次の通りである。  
（ｉ）道幅のスケーリングは、ズーム・インする（たとえば、約０．５メートル／ピクセルまで）ときにズーム・レベルに物理的比例するものとすることができ、  
（ｉｉ）道幅のスケーリングは、ズーム・アウトする（たとえば、約０．５メートル／ピクセルまで）ときにズーム・レベルに非物理的比例するものとすることができ、  
（ｉｉｉ）道幅のスケーリングは、さらにズーム・アウトする（たとえば、以下でより詳細に述べるパラメータに応じて、約５０メートル／ピクセル以上を超えて）ときにズーム・レベルに物理的比例するものとすることができる。
【０５８０】
道幅のスケーリングがズーム・レベルに物理的比例するゾーンに関して、ｐ＝ｄ’・ｚａというスケーリング公式が用いられ、ここで、ａ＝−１である。この例では、実際のＡ１主要道路の物理的幅に関する適度な値は、約ｄ’＝１６メートルである。したがって、Ａ１主要道路を表す線のレンダリングされる幅は、少なくともあるズーム・レベルｚ０、たとえばｚ０＝０．５メートル／ピクセルまでズーム・アウトするときに、物理的スケーリングに伴って単調に減少する。
【０５８１】
ｚ０＝０．５に関するズーム・レベルは、それ未満で物理的スケーリングが適用される内側スケールになるように選択される。これによって、道路地図が実際の物理寸法を有する他のより微細なスケールのＧＩＳコンテンツと組み合わされるときの非物理的外見が防がれる。この例では、ｚ０＝０．５メートル／ピクセルまたは２ピクセル／メートルは、１５インチ（３８．１ｃｍ）ディスプレイ（１６００×１２００ピクセル分解度を有する）上の地図スケールとして表されるときに、約１：２６００のスケールに対応する。Ａ１道路の適度な実際の物理的幅であるｄ＝１６メートルでは、レンダリングされる道路は、ズームインされる（０．５メートル／ピクセル以下）ときにその実際のサイズであるように見える。０．１メートル／ピクセルのズーム・レベルでは、レンダリングされる線は、約１６０ピクセル幅である。０．５メートル／ピクセルのズーム・レベルでは、レンダリングされる線は、約３２ピクセル幅である。
【０５８２】
道幅のスケーリングがズーム・レベルに非物理的比例するゾーンに関して、ｐ＝ｄ’・ｚａというスケーリング公式が用いられ、−１＜ａ＜０である（ズーム・レベルｚ０およびｚ１の範囲内で）。この例では、非物理的スケーリングが、約ｚ０＝０．５メートル／ピクセルとｚ１＝３３００メートル／ピクセルとの間で実行される。やはり、−１＜ａ＜０のときに、レンダリングされる道路の幅は、ズーム・アウトのときに比例物理的スケーリングの場合よりゆっくり減少する。有利なことに、これによって、Ａ１道路は、ズーム・アウトのときに可視（かつ、他のより小さい道路から区別可能）のままであることが可能になる。たとえば、図Ａ１２−５に示されているように、Ａ１道路１０２は、ｚ＝３３４メートル／ピクセルのズーム・レベルで、可視であり、他の道路から区別可能のままである。Ａ１道路の物理的な幅が、ｄ’＝ｄ＝１６メートルであると仮定すると、物理的スケーリングを使用してレンダリングされる線の幅は、約３３００メートル／ピクセルのズーム・レベルで約０．００５ピクセルであり、事実上不可視にレンダリングされるはずである。しかし、非物理的スケーリングを使用すると、−１＜ａ＜０の場合に（この例では、ａは約−０．４７３である）、レンダリングされる線の幅は、３３００メートル／ピクセルのズーム・レベルで約０．８ピクセルであり、明瞭に可視にレンダリングされる。
【０５８３】
ｚ１の値は、所与の道路がそれでも「物理的であるより大きい」重要性を有する最もズーム・アウトされたスケールになるように選択されることに留意されたい。たとえば、米国全体が、１６００×１２００ピクセルのディスプレイ上でレンダリングされる場合に、この分解度は、約３３００メートル／ピクセルまたは３．３キロメートル／ピクセルになるはずである。世界全体を見る場合に、米国主要道路が、国だけのビューに対して相対的な高められた重要性を帯びる理由はない可能性がある。
【０５８４】
したがって、上の例では約３３００メートル／ピクセルであるｚ１を超えるズーム・レベルでは、道幅のスケーリングは、やはり、ズーム・レベルに物理的比例するが、好ましくは、ｐ（ｚ）の連続性のためにより大きいｄ’（実際の幅ｄよりはるかに大きい）を有する。このゾーンでは、ｐ＝ｄ’・ｚａというスケーリング公式が用いられ、ａ＝−１である。レンダリングされる道幅が、ｚ１＝３３００メートル／ピクセルで連続するために、Ａ１主要道路の新しい帰せられる物理的幅、たとえばｄ’＝１．６５キロメートルが選択される。ｚ１およびｄ’の新しい値は、外側スケールｚ１で、線のレンダリングされる幅が適度な個数のピクセルになるように選択されることが好ましい。この場合に、国全体をディスプレイ上で見ることができるズーム・レベル（約３３００メートル／ピクセル）で、Ａ道路は、約１／２ピクセル幅とすることができ、この幅は、細いがまだ明瞭に可視であり、これは、１６５０メートルまたは１．６５キロ・メートルの帰せられる物理的道幅に対応する。
【０５８５】
上は、ズーム・レベルの関数としてのレンダリングされる線幅に関する次の方程式の特定の組を意味する。  
ｐ（ｚ）＝ｄ０・ｚ−１，  ｚ≦ｚ０の場合  
ｐ（ｚ）＝ｄ１・ｚａ，  ｚ０＜ｚ＜ｚ１の場合  
ｐ（ｚ）＝ｄ２・ｚ−１，  ｚ≧ｚ１の場合
ｐ（ｚ）の上の形は、６つのパラメータすなわちｚ０、ｚ１、ｄ０、ｄ１、ｄ２、およびａを有する。ｚ０およびｚ１は、ｐ（ｚ）の挙動が変化するスケールをマークする。ズーム・インされたゾーン（ｚ≦ｚ０）では、ズームは、物理的であり（すなわち、ｚの指数は−１であり）、ｄ０の物理的幅を有し、これは、実際の物理的幅ｄに対応することが好ましい。ズーム・アウトされたゾーン（ｚ≧ｚ１）では、ズームは、やはり物理的であるが、ｄ１の物理的幅を有し、これは、一般にｄに対応しない。ｚ０とｚ１との間では、レンダリングされる線幅は、ａのべき法則を用いてスケーリングされ、このａは、−１以外の値とすることができる。ｐ（ｚ）が連続的であるというプリファレンスを与えられれば、ｚ０、ｚ１、ｄ０、およびｄ２を指定することは、図Ａ１２−１４に明瞭に示されているように、ｄ１およびａを一意に決定するのに十分である。
【０５８６】
上でＡ１道路に関して述べた手法は、道路地図オブジェクトの他の道路要素に適用することができる。このスケーリング技法のＡ１道路、Ａ２道路、Ａ３道路、Ａ４道路、およびＡ５道路への適応の例を、図Ａ１２−１５の両対数グラフに示す。この例では、すべての道路についてｚ０＝０．５メートル／ピクセルであるが、これは、コンテクストに応じて、要素ごとに変更することができる。Ａ２道路は、一般にＡ１道路より多少より小さいので、ｄ０＝１２メートルである。さらに、Ａ２道路は、たとえば米国の州レベルで、「重要」であり、したがって、ｚ１＝３１２メートル／ピクセルであり、これは、おおむね、単一の州に関するレンダリング分解度（直線スケールで国の約１／１０）である。このスケールでは、１ピクセルの線幅が望ましいことがわかっており、したがって、ｄ２＝３１２メートルは、適度なセッティングである。
【０５８７】
上でＡ１道路およびＡ２道路に関して概要を示した一般的手法を使用して、道路地図オブジェクトの残りの要素のパラメータを確立することができる。Ａ３道路については、ｄ０＝８メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝５０メートル／ピクセル、およびｄ２＝１００メートルである。Ａ４街路については、ｄ０＝５メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝２０メートル／ピクセル、およびｄ２＝２０メートルである。Ａ５未舗装道路については、ｄ０＝２．５メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝２０メートル／ピクセル、およびｄ２＝２０ｍである。これらのパラメータセッティングを使用すると、Ａ５未舗装道路は、ズームアウトされたズーム・レベルではますます街路に似て見えるが、ズーム・インされたときの物理的スケールは、半分の幅になることに留意されたい。
【０５８８】
図Ａ１２−１５の両対数プロットに、複数の道路タイプに関するスケーリング挙動を要約する。すべてのスケールで、Ａ１＞Ａ２＞Ａ３＞Ａ４＞＝Ａ５という見かけの幅に留意されたい。また、未舗装道路を除いて、べき法則のすべてが、ａ＝−０．４１の近傍に現れることに留意されたい。破線のすべてが、−１の傾きを有し、異なる物理的幅での物理的スケーリングを表す。上から下に、これらの破線の対応する物理的幅は、１．６５キロメートル、３１２メートル、１００メートル、２０メートル、１６メートル、１２メートル、８メートル、５メートル、および２．５メートルである。
【０５８９】
複数の事前レンダリングされたイメージの間の補間が使用されるときには、多くの場合に、結果の補間が、物理的スケーリングの式および非物理的スケーリングの式によって決定される正しい幅のすべての線および他のプリミティブ幾何要素の理想的なレンディションと、人間には区別不能またはほぼ区別不能であることを保証することが、可能である。本発明のこの代替実施形態を諒解するために、アンチ・エイリアシングされた線画に関するある背景を、以下で提示する。
【０５９０】
アンチ・エイリアシングされた線画の議論を、上で長々と述べた道路地図の例に従って提示するが、上の道路地図の例では、すべてのプリミティブ要素が、線であり、線幅は、前に説明したようにスケーリングの式に支配される。図Ａ１２−１６Ａを参照すると、白の背景の上に黒で描かれ、線の水平位置がピクセル・グリッドに正確に位置合せされている１ピクセル幅の垂直線は、単純に、白の背景の上の黒ピクセルの１ピクセル幅の列からなる。本発明のさまざまな態様によれば、線幅が非整数個数のピクセルである場合を考慮し、これに対処することが望ましい。図Ａ１２−１６Ｂを参照すると、線の端点が固定されたままであるが、線の幅が１．５ピクセル幅に増やされる場合に、アンチ・エイリアシングされたグラフィックス・ディスプレイ上では、中心列の左右のピクセルの列は、２５％グレイで描かれる。図Ａ１２−１６Ｃを参照すると、２ピクセル幅では、これらの側面に位置する列は、５０％グレイで描かれる。図Ａ１２−１６Ｄを参照すると、３ピクセル幅では、これらの側面に位置する列は、１００％黒で描かれ、その結果は、期待されるとおり、３つのべた塗りの黒の列である。
【０５９１】
ピクセル化されたディスプレイで非整数幅の線を描くこの手法は、線幅が変化するときに視覚的連続性の感覚（または錯覚）をもたらし、異なる幅の線が、幅において１ピクセルの分数だけ異なる場合であっても、それらの線を明瞭に区別できるようにする。一般に、この手法は、アンチ・エイリアシングされた線画として知られているが、描かれる線に対する垂線での強度関数（または、白の背景の上の黒の線については「１−強度」関数）の線積分が線幅と等しいことを保証するように設計される。この方法は、その端点が正確にピクセルの中心にあるのではない線、垂直以外の方位の線、および曲線にたやすく一般化される。
【０５９２】
図Ａ１２−１６Ａ〜Ｄのアンチ・エイリアスされた垂直線を描くことは、一方（イメージＡ）は線が１ピクセル幅であり、他方（イメージＢ）は線が３ピクセル幅である２つのイメージのアルファ・ブレンディングによって達成することもできることに留意されたい。アルファ・ブレンディングは、ディスプレイ上の各ピクセルに（１−アルファ）＊（イメージＡ内の対応するピクセル）＋アルファ（イメージＢ内の対応するピクセル）を割り当てる。アルファが０と１との間で変化するときに、レンダリングされる線の有効幅は、１ピクセルと３ピクセルとの間で滑らかに変化する。このアルファ・ブレンディング手法は、イメージＡおよびＢ内の２つのレンダリングされる線幅の間の差が１ピクセル以下の最も一般的な場合によい視覚的結果を作るのみであり、それ以外の場合には、線は、中間幅で後光がさして見える可能性がある。この同一の手法を、ポイント、多角形、および異なる直線サイズの多数の他のプリミティブ幾何要素のレンダリングに適用することができる。
【０５９３】
もう一度図Ａ１２−１６Ａ〜Ｄに移ると、１．５ピクセル幅の線（図Ａ１２−１６Ｂ）および２ピクセル幅の線（図Ａ１２−１６Ｃ）は、１ピクセル幅の線（図Ａ１２−１６Ａ）と３ピクセル幅の線（図Ａ１２−１６Ｄ）との間のアルファ・ブレンディングによって構成することができる。図Ａ１２−１７Ａ〜Ｃを参照すると、１ピクセル幅の線（図Ａ１２−１７Ａ）、２ピクセル幅の線（図Ａ１２−１７Ｂ）、および３ピクセル幅の線（図Ａ１２−１７Ｃ）が、任意の方位で示されている。線がピクセルグリッドに正確に位置合せされている場合と同一の原理が、図Ａ１２−１７Ａ〜Ｃの任意の方位にも適用されるが、その間でアルファ・ブレンディングが行われる線幅のスペーシング（ｓｐａｃｉｎｇ  ｏｆ  ｔｈｅ  ｌｉｎｅ  ｗｉｄｔｈｓ  ｂｅｔｗｅｅｎ  ｗｈｉｃｈ  ｔｏ  ａｌｐｈａ−ｂｌｅｎｄ）は、よい結果を得るために、２ピクセルより微細にする必要がある場合がある。
【０５９４】
現在の地図の例のコンテクストで、異なる分解度のイメージのセットを、図Ａ１２−１４〜１５の両対数プロットを参照して、事前レンディションのために選択することができる。たとえば、ここで図Ａ１２−１８を参照するが、図Ａ１２−１８は、水平線および垂直線のセットを含むことを除いて、図Ａ１２−１４に実質的に類似する。水平線は、１ピクセルの増分で、１ピクセルと１０ピクセルとの間の線幅を示す。垂直線は、２つの隣接する垂直線の間のインターバルにまたがる線幅が２ピクセルを超えて変化しないようにスペースをおかれている。したがって、垂直線は、事前レンディションに適切なズーム値のセットを表し、２つの隣接するそのような事前レンダリングされたイメージの間のアルファ・ブレンディングは、連続的に可変の幅で道路を表す線のレンダリングとほぼ同等の特性を生み出す。
【０５９５】
図Ａ１２−１８に示された垂直線によって表される６つの分解度の間の補間は、約９メートル／ピクセル以上で図示のスケーリング曲線を使用してＡ１主要道路を正確にレンダリングするのに十分である。約９メートル／ピクセル未満のレンディションは、そのようなビューが非常にズーム・インされており、したがって非常に少数の道路を示すので、事前レンディションを必要とせず、これらをベクトリアルにレンダリングすることを、事前レンダリングされたイメージの間で補間することよりも、計算的に効率的（かつ、データ格納要件に関してより効率的）にする。約１０００メートル／ピクセルを超える分解度では（そのようなビューは、地球の表面の大きい部分を含む）、最終的な事前レンダリングされたイメージだけを使用することができる。というのは、これが、１ピクセル幅の線を使用するレンディションであるからである。単一ピクセルより細い線は、同一ピクセルをよりかすかにレンダリングする。したがって、Ａ１線が０．５ピクセル幅であるイメージを作るためには、１ピクセル幅の線のイメージに、０．５のアルファをかけることができる。
【０５９６】
実際には、分解度の多少より大きいセットが、事前レンダリングされ、分解度の間の各インターバルにまたがって、図Ａ１２−１５のスケーリング曲線のすべてが、１ピクセルを超えて変化しないようになる。許容される変動を１ピクセルに減らすことは、改善されたレンダリング品質をもたらすことができる。特筆すべきことに、その開示全体が参照によって本明細書に組み込まれている同時係属の米国特許出願第１０／７９０２５３号明細書（Ａ１０）（「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＥＸＡＣＴ  ＲＥＮＤＥＲＩＮＧ  ＩＮ  Ａ  ＺＯＯＭＩＮＧ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ」という名称で２００４年３月１日い出願された（（弁理士番号４８９／２）））で企図され、述べられているタイリング技法を、本発明に関連して考慮することができる。このタイリング技法は、特定のズーム・レベルが事前レンダリングされたイメージと一致しない場合であっても、そのレベルでイメージを解決するのに用いることができる。分解度のいくらか大きなセット内の各イメージが、適当な分解度で事前レンダリングされ、タイリングされる場合に、その成果は、任意の複雑さの道路地図を通ってズームしパンするナビゲーション用の完全なシステムとなり、すべての線が、本明細書で開示されるスケーリングの式に従って、幅において連続的に変化するように見える。
【０５９７】
本発明の実装に関連して用いることができる、イメージをブレンディングする他の技法に関する追加の詳細を、その開示全体が参照によって本明細書に組み込まれている米国特許仮出願第６０／４７５８９７号明細書（Ａ３）（「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＴＨＥ  ＥＦＦＩＣＩＥＮＴ，  ＤＹＮＡＭＩＣ  ＡＮＤ  ＣＯＮＴＩＮＵＯＵＳ  ＤＩＳＰＬＡＹ  ＯＦ  ＭＵＬＴＩ  ＲＥＳＯＬＵＴＩＯＮＡＬ  ＶＩＳＵＡＬ  ＤＡＴＡ」という名称で２００３年６月５日に出願された）に見出すことができる。本発明の実装に関連して用いることができるブレンディング技法に関するさらなる詳細を、米国特許仮出願第６０／４５３８９７号明細書（Ａ２）で見出すことができる。
【０５９８】
有利なことに、本発明の上で述べた諸態様を用いると、ユーザは、さまざまなズーム・レベルを通る滑らかで連続的なナビゲーションの外見を享受する。さらに、あるレベルから別のレベルにズームするときに、詳細が不意に現れたり、または消えたりすることは、ほとんど、または全くない。これは、技術的現状に対する重要な前進を表す。
【０５９９】
本発明のさまざまな態様を、インターネット上の対話型ソフトウェア・アプリケーション、自動車ベースのソフトウェア・アプリケーション、および類似物などの、多数の製品に適用できることが考えられる。たとえば、本発明を、ユーザ要求に応答してクライアント端末に地図およびドライビング指示を供給するインターネット・ウェブ・サイトにおいて用いることができる。代替案では、本発明のさまざまな態様を、自動車内のＧＰＳナビゲーション・システムで用いることができる。本発明は、医療イメージング機器に組み込むこともでき、これによって、たとえば患者の循環系、神経系などに関する詳細情報を、上で説明したようにレンダリングし、ナビゲートすることができる。本発明の応用例は、その全体をリストするには多すぎるが、当業者は、それらが本明細書で企図され、請求される本発明の範囲に含まれることを認めるであろう。
【０６００】
本発明を、宣伝したり、あるいは他の形で商取引を促進する手段としてレンダリングされたイメージを提供する他の応用例に関連して利用することもできる。本発明のこれらの態様および使用に関する追加の詳細は、本願と同時に出願され、その開示全体が参照によって本明細書に組み込まれている仮特許出願６０／          （「ＭＥＴＨＯＤＳ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＥＭＰＬＯＹＩＮＧ  ＭＡＰＰＩＮＧ  ＴＥＣＨＮＩＱＵＥＳ  ＴＯ  ＡＤＶＡＮＣＥ  ＣＯＭＭＥＲＣＥ」という名称で同日に出願された（（弁理士番号４８９／７）））で見出すことができる。
【０６０１】
本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、本発明の原理および応用例の単なる例示であることを理解されたい。したがって、多数の変更を、これらの例示的実施形態に対して行うことができ、他の構成を、特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに考案できることを理解されたい。
【０６０２】
（特許請求の範囲）
１．少なくとも１つのオブジェクトを有するイメージをズーム・インまたはズーム・アウトすることを備え、前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、前記ズームに関連付けられた１つまたは複数のズーム・レベルに非物理的比例する形で、スケールアップされかつ／またはスケール・ダウンされることを特徴とする方法。
２．前記非物理的比例するスケーリングは、ｐがズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであり、ａがべき法則（ｐｏｗｅｒ  ｌａｗ）であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項１に記載の方法。
３．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項２に記載の方法。
４．前記べき法則は、ズーム・レベルｚ０およびｚ１の範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項２に記載の方法。
５．ｚ０、ｚ１、ｄ’、およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項４に記載の方法。
６．前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、前記ズームに関連付けられた１つまたは複数のズーム・レベルに物理的比例する形でもスケール・アップされ、かつ／またはスケール・ダウンされることを特徴とする請求項１に記載の方法。
７．前記物理的比例するスケーリングは、ｐが前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃが定数であり、ｄが前記オブジェクトの前記１つまたは複数の要素の物理単位での実際のまたは帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセル単位での前記ズーム・レベルであるとすると、公式ｐ＝ｃ・ｄ／ｚによって表すことができることを特徴とする請求項６に記載の方法。
８．前記オブジェクトの前記要素は、変化する度合の粗さを有し、  
所与のズーム・レベルでの前記要素の前記スケーリングは、（ｉ）上記要素の粗さの度合および（ｉｉ）前記ズーム・レベル、のうちの少なくとも１つに基づいて物理的比例するまたは非物理的比例することを特徴とする請求項６に記載の方法。
９．前記オブジェクトは、道路地図であり、前記オブジェクトの前記要素は、道路であり、前記変化する度合の粗さは、道路階層であり、  
所与のズーム・レベルでの所与の道路の前記スケーリングは、（ｉ）前記所与の道路の前記道路階層および（ｉｉ）前記ズーム・レベルに基づいて物理的比例するまたは非物理的比例することを特徴とする請求項８に記載の方法。
１０．少なくとも１つのオブジェクトを有するイメージのズーム・インまたはズーム・アウトを備えるアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムを含む格納媒体であって、前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、前記ズームに関連付けられた１つまたは複数のズーム・レベルに非物理的比例する形でスケールアップされ、かつ／またはスケール・ダウンされることを特徴とする格納媒体。
１１．前記非物理的比例するスケーリングは、ｐが前記ズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであり、ａがべき法則であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項１０に記載の格納媒体。
１２．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項１１に記載の方法。
１３．スケール・パワーは、ｚ０とｚ１との間のズーム・レベルの範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項１１に記載の格納媒体。
１４．ｚ０およびｚ１のうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項１３に記載の格納媒体。
１５．前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、前記ズームに関連付けられた１つまたは複数のズーム・レベルに物理的比例する形でもスケール・アップされ、かつ／またはスケール・ダウンされることを特徴とする請求項９に記載の格納媒体。
１６．前記物理的比例するスケーリングは、ｐが前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃが定数であり、ｄが前記オブジェクトの前記１つまたは複数の要素の物理単位での実際のまたは帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセル単位での前記ズーム・レベルであるとすると、公式ｐ＝ｃ・ｄ／ｚによって表すことができることを特徴とする請求項１５に記載の格納媒体。
１７．前記オブジェクトの前記要素は、変化する度合の粗さを有し、  
所与のズーム・レベルでの前記要素の前記スケーリングは、（ｉ）上記要素の粗さの度合および（ｉｉ）前記ズーム・レベル、のうちの少なくとも１つに基づいて物理的比例するまたは非物理的比例することを特徴とする請求項１５に記載の格納媒体。
１８．前記オブジェクトは、道路地図であり、前記オブジェクトの前記要素は、道路であり、前記変化する度合の粗さは、道路階層であり、  
所与のズーム・レベルでの所与の道路の前記スケーリングは、（ｉ）前記所与の道路の前記道路階層および（ｉｉ）前記ズーム・レベルに基づいて物理的比例するまたは非物理的比例することを特徴とする請求項１７に記載の格納媒体。
１９．少なくとも１つのオブジェクトを有するイメージのズーム・インまたはズーム・アウトを備えるアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムの制御の下で動作する前記処理ユニットを含む装置であって、前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、前記ズームに関連付けられた１つまたは複数のズーム・レベルに非物理的比例する形でスケール・アップされ、かつ／またはスケールダウンされることを特徴とする装置。
２０．前記非物理的比例するスケーリングは、ｐが前記ズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであり、ａが、べき法則であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項１９に記載の装置。
２１．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項２０に記載の方法。
２２．前記べき法則は、ズーム・レベルｚ０およびｚ１の範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項２０に記載の装置。
２３．ｚ０およびｚ１のうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項２２に記載の装置。
２４．前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、前記ズームに関連付けられた１つまたは複数のズーム・レベルに物理的比例する形でもスケールアップされ、かつ／またはスケール・ダウンされることを特徴とする請求項１９に記載の装置。
２５．前記物理的比例するスケーリングは、ｐが前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃが定数であり、ｄが前記オブジェクトの前記１つまたは複数の要素の物理単位での実際のまたは帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセル単位での前記ズーム・レベルであるとすると、公式ｐ＝ｃ・ｄ／ｚによって表すことができることを特徴とする請求項２４に記載の装置。
２６．前記オブジェクトの前記要素は、変化する度合の粗さを有し、  
所与のズーム・レベルでの前記要素の前記スケーリングは、（ｉ）上記要素の粗さの度合および（ｉｉ）前記ズーム・レベルのうちの少なくとも１つに基づいて物理的比例するまたは非物理的比例する  
ことを特徴とする請求項２４に記載の装置。
２７．前記オブジェクトは、道路地図であり、前記オブジェクトの前記要素は、道路であり、前記変化する度合の粗さは、道路階層であり、  
所与のズーム・レベルでの所与の道路の前記スケーリングは、（ｉ）前記所与の道路の前記道路階層および（ｉｉ）前記ズーム・レベルに基づいて物理的比例するまたは非物理的比例することを特徴とする請求項２６に記載の装置。
２８．少なくとも１つのオブジェクトの異なるズーム・レベルの複数のイメージを準備することを備え、前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、１つまたは複数のズーム・レベルに非物理的比例する形でスケール・アップされ、かつ／またはスケールダウンされることを特徴とする方法。
２９．前記イメージは、クライアント端末への配信のためにソース端末で事前レンダリングされることを特徴とする請求項２８に記載の方法。
３０．前記非物理的比例するスケーリングは、ｐが前記ズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであり、ａが、べき法則であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項２８に記載の方法。
３１．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項３０に記載の方法。
３２．前記べき法則は、ｚ０とｚ１との間のズーム・レベルの範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項３０に記載の方法。
３３．ｚ０およびｚ１のうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項３２に記載の方法。
３４．前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、前記ズームに関連付けられた１つまたは複数のズーム・レベルに物理的比例する形でもスケール・アップされ、かつ／またはスケール・ダウンされることを特徴とする請求項２８に記載の方法。
３５．前記物理的比例するスケーリングは、ｐが前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃが定数であり、ｄが前記オブジェクトの前記１つまたは複数の要素の物理単位での実際のまたは帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセル単位での前記ズーム・レベルであるとすると、公式ｐ＝ｃ・ｄ／ｚによって表すことができることを特徴とする請求項３４に記載の方法。
３６．前記オブジェクトの前記要素は、変化する度合の粗さを有し、  
所与のズーム・レベルでの前記要素の前記スケーリングは、（ｉ）上記要素の粗さの度合および（ｉｉ）前記ズーム・レベル、のうちの少なくとも１つに基づいて物理的比例するまたは非物理的比例する  
ことを特徴とする請求項３４に記載の方法。
３７．前記オブジェクトは、道路地図であり、前記オブジェクトの前記要素は、道路であり、前記変化する度合の粗さは、道路階層であり、  
所与のズーム・レベルでの所与の道路の前記スケーリングは、（ｉ）前記所与の道路の前記道路階層および（ｉｉ）前記ズーム・レベルに基づいて物理的比例するまたは非物理的比例する  
ことを特徴とする請求項３６に記載の方法。
３８．前記べき法則は、ｚ０とｚ１との間のズーム・レベルの範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項３７に記載の方法。
３９．ｚ０およびｚ１のうちの少なくとも１つは、前記道路地図の前記道路のうちの１つまたは複数について変化することができることを特徴とする請求項３８に記載の方法。
４０．道路地図の変化するズーム・レベルの複数の事前レンダリングされたイメージをクライアント端末で受信すること、  
ズーム情報を含む１つまたは複数のユーザ・ナビゲーション・コマンドを前記クライアント端末で受け取ること、および  
前記ナビゲーション・コマンドの前記ズーム情報に対応する中間ズーム・レベルの中間イメージの前記クライアント端末での表示が滑らかなナビゲーションの外見を提供するように、前記中間イメージを入手するために、前記事前レンダリングされたイメージのうちの複数をブレンディングすること  
を備えることを特徴とする方法。
４１．前記道路地図の少なくともいくつかの道路は、複数の事前に決定されたイメージを作るためにスケール・アップされ、かつ／またはスケール・ダウンされ、前記スケーリングは、（ｉ）前記ズーム・レベルに物理的比例するおよび（ｉｉ）前記ズーム・レベルに非物理的比例する、のうちの少なくとも１つであることを特徴とする請求項４０に記載の方法。
４２．前記物理的比例するスケーリングは、ｐが前記ズーム・レベルの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃが定数であり、ｄが物理単位での前記オブジェクトの前記１つまたは複数の要素の実際のまたは帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセル単位での前記ズーム・レベルであるとすると、公式ｐ＝ｃ・ｄ／ｚによって表すことができることを特徴とする請求項４１に記載の方法。
４３．前記非物理的比例するスケーリングは、ｐが前記ズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであり、ａが、べき法則であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項４１に記載の方法。
４４．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項４３に記載の方法。
４５．前記べき法則は、ｚ０とｚ１との間のズーム・レベルの範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項４３に記載の方法。
４６．ｚ０およびｚ１のうちの少なくとも１つは、前記道路地図の１つまたは複数の道路について変化することができることを特徴とする請求項４５に記載の方法。
４７．前記道路地図の前記道路は、変化する度合の粗さを有し、  
所与の事前レンダリングされたイメージ内の前記道路の前記スケーリングは、（ｉ）上記道路の粗さの度合および（ｉｉ）前記所与の事前レンダリングされたイメージの前記ズーム・レベル、のうちの少なくとも１つに基づいて物理的比例するまたは非物理的比例する  
ことを特徴とする請求項４０に記載の方法。
４８．少なくとも１つのオブジェクトであって、前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、複数の事前に決定されたイメージを作るためにスケール・アップされ、かつ／またはスケール・ダウンされ、前記スケーリングは、（ｉ）前記ズーム・レベルに物理的比例するおよび（ｉｉ）前記ズーム・レベルに非物理的比例する、のうちの少なくとも１つであるオブジェクト、の変化するズーム・レベルの複数の事前レンダリングされたイメージをクライアント端末で受信すること、  
ズーム情報を含む１つまたは複数のユーザ・ナビゲーション・コマンドを前記クライアント端末で受け取ること、  
前記ナビゲーション・コマンドの前記ズーム情報に対応する中間ズーム・レベルの中間イメージを入手するために、前記事前レンダリングされたイメージのうちの複数をブレンディングすること、および  
前記中間イメージを前記クライアント端末で表示すること  
を備えることを特徴とする方法。
４９．前記ブレンディングするステップは、アルファブ・レンディング、トライ・リニア補間、および双三次線形補間（ｂｉｃｕｂｉｃ−ｌｉｎｅａｒ  ｉｎｔｅｒｐｏｌａｔｉｏｎ）のうちの少なくとも１つを実行することを含むことを特徴とする請求項４８に記載の方法。
５０．事前レンダリングされたイメージの個数は、それらの間のブレンディングが滑らかなナビゲーションの外見を提供するようなものであることを特徴とする請求項４８に記載の方法。
５１．事前レンダリングされたイメージの前記ズーム・レベルおよび前記スケーリングは、前記オブジェクトの前記要素のうちの所与の１つまたは複数のそれぞれのピクセル単位の直線サイズｐが、１つの事前レンダリングされたイメージとより高い分解度のもう１つの事前レンダリングされたイメージとの間でピクセルの事前に決定された個数を超えて変化しないように選択されることを特徴とする請求項４８に記載の方法。
５２．ピクセルの前記事前に決定された個数は、約２であることを特徴とする請求項５１に記載の方法。
５３．前記事前にレンダリングされたイメージのうちの最低分解度イメージのズーム・レベルを超えるズーム・レベルへのナビゲーションを容易にするために、前記事前にレンダリングされたイメージの前記最低分解度イメージをダウンサンプリングすることをさらに備えることを特徴とする請求項５０に記載の方法。
５４．前記物理的比例するスケーリングは、ｐが前記ズーム・レベルの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃが定数であり、ｄが物理単位での前記オブジェクトの前記１つまたは複数の要素の実際のまたは帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであるとすると、公式ｐ＝ｃ・ｄ／ｚによって表すことができることを特徴とする請求項４８に記載の方法。
５５．前記非物理的比例するスケーリングは、ｐが前記ズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであり、ａが、べき法則であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項４８に記載の方法。
５６．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項５５に記載の方法。
５７．前記べき法則は、ｚ０とｚ１との間のズーム・レベルの範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項５５に記載の方法。
５８．ｚ０およびｚ１のうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項５７に記載の方法。
５９．前記複数の事前レンダリングされたイメージは、パケッタイズド・ネットワーク（ｐａｃｋｅｔｉｚｅｄ  ｎｅｔｗｏｒｋ）を介して前記クライアント端末によって受信されることを特徴とする請求項４８に記載の方法。
６０．前記パケッタイズド・ネットワークは、インターネットであることを特徴とする請求項５９に記載の方法。
６１．前記オブジェクトの前記要素は、変化する度合の粗さを有し、  
所与の事前レンダリングされたイメージ内の前記要素の前記スケーリングは、（ｉ）上記要素の粗さの度合および（ｉｉ）前記所与の事前レンダリングされたイメージの前記ズーム・レベル、のうちの少なくとも１つに基づいて物理的比例するまたは非物理的比例する
ことを特徴とする請求項４８に記載の方法。
６２．前記オブジェクトは、道路地図であり、前記オブジェクトの前記要素は、道路であり、前記変化する度合の粗さは、道路階層であり、  
所与の事前レンダリングされたイメージ内の所与の道路の前記スケーリングは、（ｉ）前記所与の道路の前記道路階層および（ｉｉ）前記所与の事前レンダリングされたイメージの前記ズーム・レベルに基づいて物理的比例するまたは非物理的比例する  
ことを特徴とする請求項６１に記載の方法。
６３．前記非物理的比例するスケーリングは、ｐが前記ズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項６２に記載の方法。
６４．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項６３に記載の方法。
６５．前記べき法則は、ｚ０とｚ１との間のズーム・レベルの範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項６３に記載の方法。
６６．ｚ０およびｚ１のうちの少なくとも１つは、前記道路地図の前記道路のうちの１つまたは複数について変化することができることを特徴とする請求項６５に記載の方法。
６７．少なくとも１つのオブジェクトであって、前記少なくとも１つのオブジェクトの少なくともいくつかの要素は、前記複数のイメージを作るためにスケール・アップされ、かつ／またはスケール・ダウンされ、前記スケーリングは、（ｉ）前記ズーム・レベルに物理的比例するおよび（ｉｉ）前記ズーム・レベルに非物理的比例するのうちの少なくとも１つであるオブジェクト、の変化するズーム・レベルの複数のイメージを通信チャネルを介して端末に送信する、  
前記複数のイメージを前記端末で受信すること、  
前記端末を使用してズーム情報を含む１つまたは複数のユーザ・ナビゲーション・コマンドを発行すること、  
前記ナビゲーション・コマンドの前記ズーム情報に対応する中間ズーム・レベルの中間イメージを入手するために、前記イメージのうちの少なくとも２つをブレンディングすること、および  
前記中間イメージを前記端末で表示すること
を備えることを特徴とする方法。
６８．前記ブレンディングするステップは、アルファ・ブレンディング、トライ・リニア補間、および双三次線形補間のうちの少なくとも１つを実行することを含むことを特徴とする請求項６７に記載の方法。
６９．イメージの個数は、それらの間のブレンディングが滑らかなナビゲーションの外見を提供するようなものであることを特徴とする請求項６７に記載の方法。
７０．事前レンダリングされたイメージの前記ズーム・レベルおよび前記スケーリングは、前記オブジェクトの前記要素のうちの所与の１つまたは複数のそれぞれのピクセル単位の直線サイズｐが、１つの事前レンダリングされたイメージとより高い分解度のもう１つの事前レンダリングされたイメージとの間でピクセルの事前に決定された個数を超えて変化しないように選択されることを特徴とする請求項６７に記載の方法。
７１．ピクセルの前記事前に決定された個数は、約２であることを特徴とする請求項７０に記載の方法。
７２．前記イメージのうちの最低分解度イメージのズーム・レベルを超えるズーム・レベルへのナビゲーションを容易にするために、前記イメージの前記最低分解度イメージをダウン・サンプリングすることをさらに備えることを特徴とする請求項６９に記載の方法。
７３．前記物理的比例するスケーリングは、ｐが前記ズーム・レベルの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃが定数であり、ｄが物理単位での前記オブジェクトの前記１つまたは複数の要素の実際のまたは帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセル単位での前記ズーム・レベルであるとすると、公式ｐ＝ｃ・ｄ／ｚによって表すことができることを特徴とする請求項６９に記載の方法。
７４．前記非物理的比例するスケーリングは、ｐが前記ズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであり、ａが、べき法則であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項６９に記載の方法。
７５．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項７４に記載の方法。
７６．前記べき法則は、ズーム・レベルｚ０およびｚ１の範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項７４に記載の方法。
７７．ｚ０およびｚ１のうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項７６に記載の方法。
７８．前記複数のイメージは、パケッタイズド・ネットワークを介して前記端末によって受信されることを特徴とする請求項６９に記載の方法。
７９．前記パケッタイズド・ネットワークは、インターネットであることを特徴とする請求項７８に記載の方法。
８０．前記オブジェクトの前記要素は、変化する度合の粗さを有し、  
所与のイメージ内の前記要素の前記スケーリングは、（ｉ）上記要素の粗さの度合および（ｉｉ）所与の事前レンダリングされたイメージの前記ズーム・レベル、のうちの少なくとも１つに基づいて物理的比例するまたは非物理的比例する  
ことを特徴とする請求項６９に記載の方法。
８１．前記オブジェクトは、道路地図であり、前記オブジェクトの前記要素は、道路であり、前記変化する度合の粗さは、道路階層であり、  
所与内の所与の道路の前記スケーリングは、（ｉ）前記所与の道路の前記道路階層および（ｉｉ）前記所与の事前レンダリングされたイメージの前記ズーム・レベルに基づいて物理的比例するまたは非物理的比例することを特徴とする請求項８０に記載の方法。
８２．前記非物理的比例するスケーリングは、ｐが前記ズーム・レベルでの前記オブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’が物理単位での前記オブジェクトの前記１つまたは複数の要素の帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位での前記ズーム・レベルであり、ａが、べき法則であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができることを特徴とする請求項８１に記載の方法。
８３．ｄ’およびａのうちの少なくとも１つは、前記オブジェクトの１つまたは複数の要素について変化することができることを特徴とする請求項８２に記載の方法。
８４．スケールべきは、ｚ０とｚ１との間のズーム・レベルの範囲内で−１＜ａ＜０であり、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有することを特徴とする請求項８２に記載の方法。
８５．ｚ０およびｚ１のうちの少なくとも１つは、前記道路地図の前記道路のうちの１つまたは複数について変化することができることを特徴とする請求項８４に記載の方法。
【０６０３】
（要約）
少なくとも１つのオブジェクトを有するイメージのズーム・インまたはズーム・アウトを含むさまざまなアクションを実行する方法および装置が企図され、ここで、少なくとも１つのオブジェクトの少なくともいくつかの要素は、ズームに関連する１つまたは複数のズーム・レベルに非物理的比例する形でスケール・アップされかつ／またはスケールダウンされ、たとえば、非物理的比例するスケーリングは、ｐがズーム・レベルでのオブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｄ’がオブジェクトの１つまたは複数の要素の物理単位での帰せられる直線サイズであり、ｚが物理直線サイズ／ピクセルの単位でのズーム・レベルであり、ａが、べき法則であり、ａ≠−１であるとすると、公式ｐ＝ｄ’・ｚａによって表すことができる。
【０６０４】
2008517540.tif 000049
【０６０５】
2008517540.tif 000050
【０６０６】
2008517540.tif 000051
【０６０７】
2008517540.tif 000052
【０６０８】
2008517540.tif 000053
【０６０９】
2008517540.tif 000054
【０６１０】
2008517540.tif 000055
【０６１１】
2008517540.tif 000056
【０６１２】
2008517540.tif 000057
【０６１３】
2008517540.tif 000058
【０６１４】
2008517540.tif 000059
【０６１５】
2008517540.tif 000060
【０６１６】
2008517540.tif 000061
【０６１７】
Ａ１３
（表題）効率的なデータ・キャッシュ（ＥＦＦＩＣＩＥＮＴ  ＤＡＴＡ  ＣＡＣＨＥ）
（関連出願の相互参照）
本願は、その開示の全体が参照によって本明細書に組み込まれている、２００４年６月１日に出願した米国特許仮出願第６０／５７５９８７号（Ａ５）、名称「Ｔｈｅ  Ｚｅｎｏ  ｃａｃｈｅ：  ａ  ｓｙｓｔｅｍ  ｆｏｒ  ｉｎｃｒｅａｓｉｎｇ  ｔｈｅ  ｅｆｆｅｃｔｉｖｅｎｅｓｓ  ｏｆ  ｍｏｓｔ−ｒｅｃｅｎｔｌｙ−ｕｓｅｄ  （ＭＲＵ）  ｃａｃｈｉｎｇ  ｆｏｒ  ｖａｒｉａｂｌｙ  ｃｏｍｐｒｅｓｓａｂｌｅ  ｄａｔａ  ｏｂｊｅｃｔｓ」の利益を主張するものである。
【０６１８】
（背景技術）
「ＭＲＵキャッシング」（ＭＲＵは、「ｍｏｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ」を表す）は、クライアント−サーバ・システムでのクライアント・サイド・メモリの実装に関する既知の概念である。サーバが、クライアントにアクセスされ、多数のデータ・オブジェクトをクライアントに供給でき、これらのデータ・オブジェクトが、集合体として、大量のメモリを占有する可能性があると仮定する。しかし、クライアントとサーバとの間の使用可能な帯域幅は、限られており、したがって、サーバからデータ・オブジェクトが送信されることを求めるクライアント要求は、時間がかかる。データ・オブジェクトへのアクセスが、適度に「コヒーレント」である（クライアントが最近必要としたオブジェクトが、近い将来にもう一度必要になる可能性が高いことを意味する）場合に、ＭＲＵキャッシングは、クライアント−サーバシステムの効率を高めることができる。この手法を用いると、クライアントは、一般に、ある限られた量のメモリ（一般に、サーバ上のオブジェクトのすべてを格納するのに必要なるものよりはるかに少ない）をとっておき、このメモリ（キャッシュ）に、そこにおさまる、できる限り多くの、最も最近に要求されたオブジェクトを格納する。新しいオブジェクトが、サーバからクライアントに送信され、クライアントのキャッシュ・スペースが、使い果たされたときには、最近、最も使用されていない（ＬＲＵ）オブジェクトが、新しいオブジェクトを格納できるデータ格納スペースを作成するために、キャッシュから消去される。
【０６１９】
一般に、クライアントがデータ・オブジェクトを必要とするときに、キャッシュが、まず、そのオブジェクトがキャッシングされているかどうかを知るために検査される。キャッシングされている場合には、キャッシングされた表現が使用され、低速なまたは計算的に負荷のかかるサーバ要求の必要がなくなる。通常、キャッシングされた表現を利用することは、また、そのオブジェクトを、キャッシュのＭＲＵ端に「昇格」させる。この手法は、一般に、アクセスされるすべてのデータ・オブジェクトについてサーバにデータを要求しなければならないことを上回る実質的な性能上の利点をもたらす。
【０６２０】
新しいオブジェクトが、コンピューティング・システムによってアクセスされ、キャッシュに格納される際の最近最も使用されていないオブジェクトのキャッシュからの消去は、キャッシュ使用の非効率性を引き起こす可能性がある。キャッシュ内の最近最も使用されていない、消去されたオブジェクトさえもが、サーバによってもう一度要求される場合がある。これが発生するときには、サーバは、メイン・メモリまたはマス・ストレージ・デバイスなどのデータ・ストレージのよりリモートなソースからこのオブジェクトを取り出すという比較的低速なまたは計算的に負荷のかかるタスクに取りかかる場合がある。キャッシュ・メモリに有限のサイズを与えられれば、オブジェクト消去は、ある頻度で発生する可能性があり、これによって、サーバまたは他のコンピューティング・システムに、かつてはキャッシュ・メモリ内に便利に格納されていたデータを得るためによりリモートなメモリにアクセスしてかなりのリソースを費やさせる。したがって、当技術分野には、キャッシュ・メモリ管理に対するより効率的で柔軟な手法が必要とされている。
【０６２１】
（発明の概要）
一態様によれば、本発明は、それぞれが、初期圧縮率を有し、格納されたデータを含むキャッシュ・オブジェクトの初期グループを有するコンピューティング・システム内のキャッシュを提供すること、所与のキャッシュ・オブジェクト以外のキャッシュ・オブジェクトの少なくとも１つのキャッシュ・オブジェクトによって占められるデータ格納スペースの量を減らすこと、および所与のキャッシュ・オブジェクトによって占められるデータ格納スペースの量を増やすことを備えることを特徴とする方法を提供することができる。減らすことは、データ格納スペースの量を所与の量だけ減らすことを備えることが好ましい。増やすことは、所与のキャッシュ・オブジェクトによって占められるデータ格納スペースの量を所与の量だけ増やすことを備えることが好ましい。減らすことは、少なくとも１つのキャッシュ・オブジェクトの初期圧縮率を増やすことを備えることが好ましい。増やすことは、所与のキャッシュオブジェクトの初期圧縮率を減らすことを備えることが好ましい。所与のキャッシュ・オブジェクトは、キャッシュ・オブジェクトのうちで最も最近に使用されたキャッシュ・オブジェクトであることが好ましい。減らすステップが実行される少なくとも１つのキャッシュ・オブジェクトは、キャッシュ・オブジェクトのうちで最近最も使用されていないキャッシュ・オブジェクトを含むことが好ましい。
【０６２２】
減らすことは、少なくとも１つのキャッシュ・オブジェクトに関する格納されたデータの一部を除去することを備えることが好ましい。増やすことは、所与のキャッシュ・オブジェクトに関する格納されたデータを増補することを備えることが好ましい。キャッシュ・オブジェクトのそれぞれについて使用可能なデータ格納スペースの量は、有限個数の離散値のうちの１つと等しいものとすることができることが好ましい。減らすことは、キャッシュ・オブジェクトのうちで所与のキャッシュ・オブジェクト以外の少なくとも１つのランダムに選択されたキャッシュ・オブジェクトに関するデータ格納スペースの量を減らすこと備えることが好ましい。減らすことは、少なくとも１つのランダムに選択されたキャッシュ・オブジェクトに関するデータ格納スペースの量をランダムに決定された範囲まで減らすことを備えることが好ましい。ランダムに選択されたキャッシュ・オブジェクトは、ランダム方法および擬似ランダム方法のうちの１つを使用して選択されることが好ましい。ランダムに選択されたキャッシュ・オブジェクトの選択は、ヒューリスティックによって案内されることが好ましい。
【０６２３】
この方法は、増やすことの後に、所与のキャッシュ・オブジェクトをロスレス圧縮された形で格納することをさらに備えることが好ましい。この方法は、増やすことの後に、所与のキャッシュ・オブジェクトを非圧縮の形で格納することをさらに備えることが好ましい。減らすことは、キャッシュ・オブジェクトのうちで所与のキャッシュオブジェクト以外の少なくとも１つのキャッシュ・オブジェクトを除去することを備えることが好ましい。
【０６２４】
もう１つの態様によれば、本発明は、メイン・メモリと機能的に通信できる少なくとも１つのプロセッサを有するコンピューティング・システム、およびキャッシュ・オブジェクトの初期グループを有するコンピューティング・システム内のキャッシュであって、各キャッシュ・オブジェクトは、初期圧縮率を有し、格納されたデータを含む、キャッシュを備え、コンピューティング・システムは、キャッシュ・オブジェクトの所与のキャッシュ・オブジェクト以外のキャッシュ・オブジェクトの少なくとも１つのキャッシュ・オブジェクトによって占められるデータ格納スペースの量を減らし、所与のキャッシュ・オブジェクトによって占められるデータ格納スペースの量を増やすように動作することを特徴とする装置を提供することができる。減らすことは、データ格納スペースの量を所与の量だけ減らすことを備えることが好ましい。増やすことは、所与のキャッシュ・オブジェクトによって占められるデータ格納スペースの量を所与の量だけ増やすことを備えることが好ましい。減らすことは、少なくとも１つのキャッシュ・オブジェクトの初期圧縮率を増やすことを備えることが好ましい。増やすことは、所与のキャッシュ・オブジェクトの初期圧縮率を減らすことを備えることが好ましい。
【０６２５】
所与のキャッシュ・オブジェクトは、キャッシュ・オブジェクトのうちで最も最近に使用されたキャッシュ・オブジェクトであることが好ましい。減らすことは、少なくとも１つのキャッシュ・オブジェクトに関する格納されたデータの一部を除去することを備えることが好ましい。増やすことは、所与のキャッシュ・オブジェクトに関する格納されたデータを増補することを備えることが好ましい。キャッシュ・オブジェクトのそれぞれについて使用可能なデータ格納スペースの量は、有限個数の離散値のうちの１つと等しいものとすることができることが好ましい。減らすことは、キャッシュ・オブジェクトのうちで所与のキャッシュ・オブジェクト以外の少なくとも１つのランダムに選択されたキャッシュ・オブジェクトに関するデータ格納スペースの量を減らすことを備えることが好ましい。減らすことは、少なくとも１つのランダムに選択されたキャッシュ・オブジェクトに関するデータ格納スペースの量をランダムに決定された範囲まで減らすことを備えることが好ましい。
【０６２６】
もう１つの態様によれば、本発明は、コンピューティング・システム内でキャッシュを提供することであって、キャッシュは、初期条件を有するように提供すること、不十分なデータ格納スペースが、キャッシュ内に少なくとも１つの新しいオブジェクトを格納するために初期条件の下でキャッシュ内に存在する場合に、少なくとも１つの新しいオブジェクトのためにデータ格納スペースをクリアするためにキャッシュ内の少なくとも１つのオブジェクトを圧縮すること、および少なくとも１つの新しいオブジェクトをキャッシュ内に格納することを備えることを特徴とする方法を提供する。初期条件は、キャッシュが空であることに対応することが好ましい。この方法は、不十分なデータ格納スペースがすべての追加の新しいオブジェクトを格納するためにキャッシュ内に残るまで、キャッシュ内に格納されたオブジェクトを圧縮せずにキャッシュ内に新しいオブジェクトを格納することを継続することをさらに備えることが好ましい。この方法は、少なくとも１つの新しいオブジェクトを格納するための十分なスペースが初期条件の下でキャッシュに存在する場合に、圧縮することなくキャッシュ内に少なくとも１つの新しいオブジェクトを格納することをさらに備えることが好ましい。
【０６２７】
他の態様、機能、利点などは、本明細書の本発明の好ましい実施形態の説明が添付図面と共に解釈されるときに、当業者に明白になるであろう。
【０６２８】
（図面の簡単な説明）
本発明のさまざまな態様を例示するために、図面に、現在好ましい形が示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。
（図Ａ１３−１）本発明の１つまたは複数の実施形態による、キャッシュ内でのキャッシュ・オブジェクトの使用の新しさの関数としてキャッシュ内の個々のキャッシュ・オブジェクトのデータ格納サイズを示すグラフである。
（図Ａ１３−２）本発明の１つまたは複数の実施形態による、合計されるキャッシュ・オブジェクトの個数「Ｎ」に対してプロットされた、キャッシュ内のキャッシュ・オブジェクトによって占められるデータ格納スペースの累積和を示すグラフである。
（図Ａ１３−３）本発明の１つまたは複数の実施形態による、複数のキャッシュ・オブジェクトを含むデータ・キャッシュを示すブロック図である。
（図Ａ１３−４）キャッシュ・オブジェクトが本発明の１つまたは複数の実施形態に従ってサイズを変更されている、図Ａ１３−３のデータ・キャッシュを示すブロック図である。
（図Ａ１３−５）アクセスされたキャッシュ・オブジェクトが、本発明の１つまたは複数の実施形態に従ってサイズを変更され、キャッシュに復元されている、図Ａ１３−４のデータ・キャッシュを示すブロック図である。
（図Ａ１３−６）本発明の１つまたは複数の実施形態による、データ・キャッシュ内のキャッシュ・オブジェクトにアクセスし、データ・キャッシュを更新する方法を示すフローチャートである。
（図Ａ１３−７）本発明の１つまたは複数の実施形態による使用のために適合可能なコンピューティング・システムを示すブロック図である。
【０６２９】
（発明を実施するための最良の形態）
本開示では、キャッシュのＬＲＵ端およびＭＲＵ端に言及する。オブジェクトは、一般にＭＲＵ端に追加され、一般にＬＲＵ端から消去される。しかし、本発明は、そのような方式に限定されない。キャッシュ内のキャッシュ・オブジェクトの物理的レイアウトが、ＬＲＵ−ＭＲＵレイアウトに対応する必要がないことに留意されたい。キャッシュのレイアウトは、単に、コンピューティング・システムが、本明細書に記載の形でオブジェクトを見つけ、挿入し、かつ／または消去することを好ましく可能にする。直線状のＬＲＵ−ＭＲＵ配置は、キャッシュの動作を記述する便利な機構であるが、キャッシュ・メモリの多数の可能な実装の１つを表すに過ぎない。本明細書では、用語「キャッシュ」および「キャッシュ・メモリ」が、同義的に使用される。
【０６３０】
本明細書で開示されるＭＲＵキャッシングおよびその拡張は、クライアント／サーバ・アーキテクチャのコンテクストで論じられるが、類似する原理が、単一のコンピュータでの効率的なハードディスク・アクセス（ハードディスクへのアクセスが、ＲＡＭへのアクセスより低速であり、したがって、ＲＡＭが、ハードディスク上の最も最近に使用された内容をキャッシングするのに使用される）など、多数の他のシナリオにも適用されることに留意されたい。１つまたは複数の他の実施形態では、データは、ディスクからロードされまたはネットワークを介して送信されるのではなく、環境から収集されるたり、コンピュータによる計算処理から生成される。どの場合でも、クライアントは、小さいが高速の一時キャッシュ・メモリと、より大きいがより低速のデータ・ソースとにアクセスでき、このデータ・ソースに、情報が繰り返して要求される。このより低速のデータソースを、本明細書では一般に「サーバ」と称する。
【０６３１】
収束級数の次の議論は、本明細書で開示されるキャッシュ・メモリの装置および方法への導入として提供されるものである。
【０６３２】
ｎが１から無限大まで変化し、ｐ＞１である級数ｙ（ｎ）＝ｎ＾−ｐの無限和は、有限である。同様に、ｙ＝１／ｂ＾ｎの和は、ｂ＞１について有限である。たとえば、後者の場合に、ｂ＝２であれば、和は正確に２である。そのような収束級数の基礎になる概念を使用して、本明細書に記載の効率的なデータ・キャッシングの方法および装置の１つまたは複数の実施形態を実装することができる。
【０６３３】
本明細書に記載の方法および装置の１つまたは複数の実施形態は、以下で説明する「ゼノンのパラドックス」に関する概念を用いることができる。この議論は、本明細書に記載の１つまたは複数の実施形態に適用可能な概念的土台を提供するが、本発明は、以下で述べる概念的諸態様によって限定されない。
【０６３４】
ゼノン・キャッシングの概念
ゼノンは、１歩（議論のために、彼は毎秒１歩進むと仮定する）で、彼の現在位置からすべての競争場の終わりまでの距離の半分を行くほどに速い走者である。パラドックスは、彼がどの１歩でも前に移動するにもかかわらず、彼が絶対にその競争場の決勝線に入らないということである。このパラドックスは、ｂ＝２を有し、ｎ＝２から無限大までの和をとる、上の１／ｂ＾ｎ級数に簡単に関係付けられる。この概念は、キャッシュ・オブジェクトを使用またはアクセスの減少する新しさに伴って徐々により大きい範囲まで圧縮できるようにすることによって、キャッシュ・オブジェクトの格納に拡張することができる（キャッシュ自体は、「競技場」になぞらえられる）。したがって、キャッシュのＭＲＵ端からそのＬＲＵ端への進行において、ますます減少するサイズの理論的に無限の個数の追加キャッシュオブジェクトを、決してスペースを使い果たさずに導入することができる。この原理を、本明細書ではゼノン・キャッシュ概念と称する。
【０６３５】
本明細書に関係するキャッシュ・オブジェクトは、圧縮可能であることが好ましく、圧縮可能とは、本開示では、ロッシイ・データ圧縮技法に従うことに対応する。ロッシイ・データ圧縮は、データ・オブジェクトのフル表現より少ないバイトでデータ・オブジェクトを表す能力の特徴がある。より高い圧縮率は、一般に、データ・オブジェクトのより大きい歪みおよび圧縮データを使用してレンダリングされるイメージのより低い品質をこうむる（このオブジェクトには、１つまたは複数のイメージ・ファイルが含まれる）。限定なしに、ロッシイ圧縮技法を、サウンド、ビデオ、および多数の他のデータ型に適用可能とすることもできる。
【０６３６】
１つまたは複数の実施形態で、データの圧縮されたバージョンは、非圧縮データの代用物として適切とすることができる。歪みの所与のレベル未満では、データの圧縮表現が、十分に適当である可能性があり、歪みの所与のレベルを超えると、圧縮表現は、クライアントがデータのより高品質のバージョンを待っている間の一時的手段として適切である可能性がある。より高品質のバージョンは、単に、一時的に使用されるバージョンより低く圧縮されたものとすることができ、あるいは、ロスレス圧縮または非圧縮とすることができる。
【０６３７】
１つまたは複数の実施形態では、より低い品質の表現は、より高い品質の表現のサブセットとすることができ、これは、クライアント・サイドでの表現品質の改善が、より低い品質の表現を増補し、これによって、より高い品質の表現を提供するために、単にデータの送信を用いることができることを意味する。好ましくは、この手法を用いると、高品質表現に関連するデータの完全に新しいセットを送信するという重荷をこうむる必要がない。この手法は、好ましくは、冗長性を回避し、したがって、好ましくは、効率を実質的に高める。
【０６３８】
上で述べた手法と一貫して、あるオブジェクトの表現品質を下げるという逆のプロセスは、イメージの高品質表現に使用されるデータの圧縮または再圧縮を必要とするのではなく、その高品質表現に用いられるデータの一部を単に除去することを用いることができる。このプロパティも、好ましくは、本明細書で開示されるキャッシング装置および方法の効率を高める。
【０６３９】
１つまたは複数の実施形態で、圧縮技法は、ロッシイからロスレスまでスケーリングされる圧縮レベルでオブジェクトを提供することができる。この機能は、データ・オブジェクトのロスレス表現を、複数のステップで、非常にロッシイからロスレスへ、ロスレス・バージョンを当初に送信することに対して相対的に余分な総コストをほとんどまたは全く伴わずに作り上げることを可能にすることができる。上記の機能を可能にするデータ型および圧縮テクノロジの例が、ＪＰＥＧ２０００標準規格によって具現される、イメージのウェーブレット圧縮である。しかし、本発明は、ＪＰＥＧ２０００標準規格の使用に限定されない。
【０６４０】
上のプロパティを与えられれば、メモリが「連続である」（すなわち、バイトに離散化されていない）場合に、理論的に、単にオブジェクトの圧縮後のサイズが本明細書で前に述べた収束級数のルールに従うという制約を強制することによって、無限の個数のデータオブジェクトを有限の量のメモリにキャッシングすることが可能になるはずである。上で述べた理論に従って機能することができるキャッシュの動作を、図Ａ１３−１および−２に関連して以下で説明する。
【０６４１】
図Ａ１３−１のグラフでは、変数「Ｎ」は、好ましくは各キャッシュ・オブジェクトの番号に対応し、各キャッシュ・オブジェクトの番号の値は、各そのようなキャッシュ・オブジェクトの使用の新しさを表し、Ｎの増加する値は、その番号に関連するキャッシュ・オブジェクトの使用の減少する新しさに対応する。変数「Ｙ」は、各キャッシュ・オブジェクトのサイズに対応することが好ましい。「Ｙ」変数について、「１」の値は、最高品質条件すなわち全く圧縮されていないときのキャッシュ・オブジェクトのサイズに対応するものとすることができる。最も最近に使用されたオブジェクトは、少ない歪みを用いて表すことができ、最近により使用されていないオブジェクトは、その最後の使用の新しさと一貫する圧縮の範囲に従属するものとすることができる。図Ａ１３−１では、圧縮後のキャッシュ・オブジェクト・サイズＹの値が、関係あるキャッシュ・オブジェクトの使用の減少する新しさに伴って減少することがわかる。「Ｙ」変数は、キャッシュ内の各オブジェクト（圧縮されるか否かのいずれか）の絶対サイズ（任意の単位で表される）に対応するものとすることができることに留意されたい。その代わりに、１つまたは複数の他の実施形態で、「Ｙ」は、圧縮率に対応することができ、たとえば、値「１」が、フル・サイズ・オブジェクトに対応し、値「０．５」が、非圧縮サイズの半分を占めるオブジェクトに対応する。
【０６４２】
図Ａ１３−２を参照すると、１からＮまでの番号を付けられたオブジェクトのサイズＹの累積和は、Ｎの値ごとに、図Ａ１３−２に示されているようにそれでも有限の数になる可能性がある。変数「Ｙ」の単位は、１つの代表的な完全に展開された（非圧縮の）キャッシュ・オブジェクトのサイズに対応するデータ格納スペース（またはそれが必要とするデータ格納スペース）の単位とすることができる。図Ａ１３−１および−２は、本発明の１つまたは複数の実施形態の理論の理解を助けるので、データのビットおよび／またはバイト単位でキャッシュ・オブジェクトのサイズを記述する情報は、本明細書では提供しない。
【０６４３】
１つまたは複数の実施形態で、上で説明した理論的実装は、２つの理由から、変更されることが好ましい。第１に、実際には、メモリ・ストレージは、離散格納ユニットからなることが好ましい。したがって、たとえば、通常、キャッシュ・オブジェクトを１ビットより小さい格納スペースの量を占めるように圧縮することは、実際には無意味である。第２に、キャッシュに対して実行される動作の総数は、有限であることが好ましい。対照的に、上の収束公式のうちの１つによって記述される圧縮率の連続曲線を強制することは、追加キャッシュ格納スペースが必要になるたびに、キャッシュ内のすべてのキャッシュ・オブジェクトのサイズを減らすことを伴う可能性がある。これは、非実用的に多数の動作を必要とすることになる。
【０６４４】
１つまたは複数の実施形態で、キャッシュ内のオブジェクトの個数は、実際には有限になる。しかし、ゼノン・キャッシュの概念が使用される場合には、この個数を、普通のＭＲＵキャッシングを用いて可能になる個数よりはるかに多くすることができる。さらに、キャッシングされるオブジェクトは、最近に使用された場合に高品質レベル（低いレベルの歪みまたは圧縮ロッシイ・ネスからロスレス圧縮、非圧縮データまでのどこか）で格納できるというプロパティを有する。キャッシュ・オブジェクトのこの品質レベルは、キャッシュ・オブジェクトがアクセスされない各連続するキャッシュ・メモリ・アクセスに伴って徐々により悪くなる（すなわち、徐々により高いレベルの歪みまたは圧縮ロッシイ・ネスを受ける）ものとすることができる。
【０６４５】
コンピュータ・メモリは離散的であり、それ未満ではキャッシュ・オブジェクトがユーザにとっての価値を有しない可能性があるキャッシュ・オブジェクトの最小の圧縮後のサイズがある場合があるので、キャッシングされる表現は、この最小の圧縮後のサイズを生じる最大圧縮率の支配下にある可能性がある。したがって、１つまたは複数の実施形態で、キャッシュに格納できるキャッシュ・オブジェクトの最大個数は、オブジェクトのすべてが等しいサイズである場合に、キャッシュ内の総データ格納スペースを、上で説明した最小の圧縮後のサイズを有する１つのキャッシュ・オブジェクトが占めるデータ格納スペースの量によって割ったものと等しいものとすることができる。しかし、キャッシュ・オブジェクトは、すべてが等しいサイズである必要はない。
【０６４６】
上で述べた式のうちの１つ（または任意の他の収束和）によって制限された、したがって。有限の和を有する級数を設計する多数の形がある。追加の制約をも導入することもでき、それは、具体的には、用いられるＹの異なる値の個数を適度な数に制限されるように、任意の所与の値が級数の連続する値において繰り返す尤度が、Ｎのより大きい値で増加するというものである。
【０６４７】
そのような級数の例は、１、１／４、１／４、１／１６、１／１６、１／１６、１／１６、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／２５６、などである。
【０６４８】
明らかに、級数１、２つの１／４、４つの１／１６、８つの１／６４、などの和は、本明細書で前に述べたように、ｙ＝１／２＾ｎと全く同様に２である。しかし、この級数をｎ＝１６０００まで取り出すならば、ｙ（オブジェクト・データ格納サイズ）の約ｌｏｇ２（１６０００）個すなわち約１４個の値だけを使用することができる。
【０６４９】
１つまたは複数の実施形態で、上で説明した対数関数は、Ｙ（キャッシュ・オブジェクトの可能なサイズ）の使用可能な値の個数に、Ｎの値よりはるかにゆっくりと増加させる１つの形を提供する。しかし、本発明は、この対数関数の使用に限定されず、Ｙの値の個数にＮの値よりゆっくりと増加させる他の数学演算を、本発明に関連して用いることができる。
【０６５０】
１つまたは複数の実施形態で、Ｎ＝百万のときに、Ｙの２０個もの少数の値を（上述した対数ベースの公式を使用して決定されるように）使用することができる。これは、スペースがキャッシュ内で解放されなければならないときに、キャッシュ・オブジェクトの大多数が、好ましくは変更される必要のない、ある量のデータ格納スペースを占めるので、少数の動作だけが、キャッシュ・オブジェクトの間でデータ格納スペースの適切な割振りを確立するのに必要になる可能性があることを意味する。
【０６５１】
他の数学級数も、キャッシュ・メモリ管理のシステムおよび方法での使用に関する所望の判断基準を満足することができる。さらに、理論的には収束しない（すなわち、その和が無限大である）級数を使用することが可能である。というのは、実際には、どの場合にも有限の個数の項が合計されるからである。
【０６５２】
１つまたは複数の実施形態では、ランダム・アルゴリズムを使用して、基本アルゴリズムを複数の形で改善することができる。１つまたは複数の実施形態では、上で説明した２＊１／４、４＊１／１６などの級数に、少数の使用可能なキャッシュ・オブジェクト・サイズだけが含まれ、おそらくはキャッシュ内の異なるオブジェクトの間の圧縮率の明確な差につながる場合がある。ランダムな選択を使用して、あるターゲット量のスペースが新しいキャッシュ・オブジェクトのために使用可能にされるまで、キャッシュ・オブジェクトのランダムに選択されたサブ・セットを重み付きの形で「圧縮（ｓｑｕｅｅｚｅ）する」（それによって使用されるデータ格納スペースを減らす）ことができる。この手法は、有益な結果をもたらすことができる。というのは、キャッシュ・オブジェクトのキャッシュ内の正確な位置が、キャッシュ内のオブジェクトの増加する個数に伴って重要性において減少し得るからである。各オブジェクトが「圧搾」される量を、少なくとも部分的にランダム化することもできる。本明細書で述べるものに似たランダム化アルゴリズムを使用することによって、キャッシュ内に格納されたキャッシュ・オブジェクトを使用してレンダリングされるイメージ内で知覚される可能性のある、キャッシュ・オブジェクト品質の明らかな不連続性または閾値を減らすことができる。
【０６５３】
次では、本発明の１つまたは複数の態様によるデータ・キャッシュ内のキャッシュ・オブジェクトの管理の例示的な例を提示する。
【０６５４】
図Ａ１３−３は、本発明の１つまたは複数の実施形態による、複数のキャッシュ・オブジェクト３０２〜３１０を含むデータ・キャッシュ３００のブロック図である。図Ａ１３−４は、キャッシュ・オブジェクト３０２、３０４、３０８、および３１０が本発明の１つまたは複数の実施形態に従ってサイズを変更されている、図Ａ１３−３のデータ・キャッシュ３００のブロック図である。図Ａ１３−５は、アクセスされたキャッシュ・オブジェクト３０６が、本発明の１つまたは複数の実施形態に従ってサイズを変更され、キャッシュ３００に復元されている、図Ａ１３−４のデータ・キャッシュのブロック図である。
【０６５５】
図Ａ１３−３に示されたものを含む１つまたは複数の実施形態で、キャッシュ３００に、５つのキャッシュ・オブジェクト（図を簡潔にするために図Ａ１３−３〜−６では「ＣＯ」と省略する）ＣＯ  １  ３０２、ＣＯ  ２  ３０４、ＣＯ  ３  ３０６、ＣＯ  ４  ３０８、およびＣＯ  ５  ３１０を含めることができる。図Ａ１３−３に示されたキャッシュ・オブジェクトの個数（５）は、本明細書で説明するさまざまな原理を示す際の便宜のために選択されたものである。しかし、５つより少数またはより多数のキャッシュ・オブジェクトを、キャッシュ３００内に含めることができる。原則として、キャッシュ３００内に含めることができるキャッシュ・オブジェクトの個数に対する下限はない。原則として、キャッシュ３００内に含めることができるキャッシュ・オブジェクトの個数の上限は、キャッシュの総サイズを最小の受け入れられる可能なキャッシュ・オブジェクト・サイズ（本明細書の他所で論ずる）によって割った値に対応するものとすることができる。
【０６５６】
図Ａ１３−３〜−５では、本明細書で開示されるさまざまな概念を説明するために、各図示のキャッシュ・オブジェクトの幅は、そのキャッシュ・オブジェクトによって使用されるデータ格納スペースに比例することが意図されている。また、図Ａ１３−３〜−５では、左端のキャッシュ・オブジェクトから右端のキャッシュ・オブジェクトに進むことは、表示されるキャッシュ・オブジェクトのアクセスの増加する新しさに対応し、キャッシュ・オブジェクトのうちで最近最も使用されていないものが、左端に示され、キャッシュ・オブジェクトのうちで最も最近に使用されたものが、右端に示されている。
【０６５７】
図Ａ１３−４は、ＣＯ  ３  ３０６が、キャッシュ３００を使用する、コンピューティング・システム７００などのコンピューティング・システムによってアクセスされた後のキャッシュ３００を示す。この例では、ＣＯ  ３  ３０６は、キャッシュ３００内のそのオリジナルの位置に示されていない。というのは、この位置が、図Ａ１３−４に示されたキャッシュ３００の条件で上書きされているからである。さらに、空きスペース４０２が、ＣＯ  ３  ３０６の展開されたバージョンのための場所を作るために作成され、この展開されたバージョンは、図Ａ１３−３のＣＯ  ３のオリジナル・バージョンより多い、キャッシュ３００内のデータ格納スペースを占める可能性がある。図Ａ１３−５では、ＣＯ  ３０６の展開されたバージョンが、キャッシュ３００のうちで図Ａ１３−４に示されたキャッシュ３００条件で空きスペース４０２によって占められていた部分に書き込まれている。
【０６５８】
図Ａ１３−６は、本発明の１つまたは複数の実施形態による、データ・キャッシュ３００内のキャッシュ・オブジェクトにアクセスし、データ・キャッシュ３００を更新する方法６００のフローチャートである。次では、図Ａ１３−３〜−６を参照する。
【０６５９】
ステップ６０２で、キャッシュ・オブジェクト３０２、３０４、３０６、３０８、および３１０を、キャッシュ３００にアクセスするプログラムに提供する。当初にキャッシュ３００内に存在するキャッシュ・オブジェクトのグループは、図Ａ１３−３に示されている。キャッシュ３００のこの初期条件は、または複数のプログラム内のデフォルト・セッティングから、あるいは１つまたは複数のプログラム内で前に実行されたプログラム・ステップから生じる可能性がある。どの場合でも、次の議論で重要なのは、図Ａ１３−３に示された初期条件の確立の後でキャッシュ３００に対して行われる変更である。さまざまなコンピューティング・システムのうちのいずれかで動作する多数のプログラムのうちのどれであっても、キャッシュ３００と通信することができるが、便宜のために、キャッシュ３００にアクセスできるソフトウェアを、次では単に「プログラム」と称する。
【０６６０】
ステップ６０４で、どのキャッシュ・オブジェクトがプログラムによって次に使用されるかの表示を提供することができる。ステップ６０６で、この例ではＣＯ  ３  ３０６である、示されたキャッシュ・オブジェクトに、プログラムによってアクセスすることができる。
【０６６１】
ステップ６０８では、アクセスされたキャッシュ・オブジェクトが拡張可能であるかどうかに関する決定を行うことができる。本明細書では、キャッシュ・オブジェクトは、より低い圧縮率を受けることによってより多くのデータ格納スペースを占めることができるときに、拡張可能である。そのような拡張開は、新しい圧縮率に対応する（または圧縮無しに対応する）データの完全に新しいセットを供給することによるのではなく、キャッシュ・オブジェクトに既に存在するデータを増補することによって達成することができる。
【０６６２】
アクセスされたキャッシュ・オブジェクトが展開可能ではない場合には、そのキャッシュ・オブジェクトは、ステップ６１０でキャッシュに復元（ｒｅｓｔｏｒｅ）されることが好ましい。好ましくは、ステップ６１０で、復元されるキャッシュ・オブジェクトは、アクセスの後に、そのアクセスの前に占めていたのと同一の量のデータ格納スペースを占める。ＬＲＵ−ＭＲＵキャッシングの原理に整合性を有するように、キャッシュ３００に復元されるときに、アクセスされたキャッシュ・オブジェクトを、キャッシュ３００の右端またはＭＲＵ端に書き込むことができる。しかし、その代わりに、アクセスされたキャッシュ・オブジェクトを、キャッシュ３００のどの部分にでも書き込むことができる。方法６００のこの分岐を継続すると、方法６００は、ステップ６１２で終了することが好ましい。
【０６６３】
ステップ６０８を参照すると、キャッシュ・オブジェクト３０６などの、アクセスされたキャッシュ・オブジェクトが、展開可能である場合には、そのキャッシュ・オブジェクトは、本発明の１つまたは複数の実施形態に従って展開されることが好ましい（ステップ６１４）。本明細書で前に述べたように、上で説明したキャッシュ・オブジェクトの展開は、最も最近におよび／または最も頻繁にアクセスされるキャッシュ・オブジェクトがキャッシュ３００に最高品質レベルで格納される配置を提供するのを好ましく助ける。
【０６６４】
１つまたは複数の実施形態で、キャッシュ内に「Ｎ」個のキャッシュ・オブジェクトがある場合に、そのようなキャッシュ・オブジェクトの可能なサイズの個数（データ格納スペース単位で測定される）を、ｌｏｇ２（Ｎ）と等しい量までに制限することができる。上で説明したように限られた有限の個数の可能なキャッシュ・オブジェクト・サイズを確立することは、ステップ６１４で展開される、ＣＯ  ３０６などのキャッシュ・オブジェクトに関する新しい展開されたサイズを決定する計算処理上の負荷を好ましく制限する。
【０６６５】
１つまたは複数の実施形態で、ＣＯ  ３０６の展開された（または、言い換えればより少なく圧縮された）バージョンに必要なデータ格納スペースの量は、キャッシュ３００にアクセスできるコンピューティング・システム（図示せず）によって計算することができる。キャッシュ３００が、まだＣＯ  ３０６の展開されたバージョンを受け取る準備ができていない場合には、ＣＯ  ３０６の展開されたバージョンを、そこでの一時的格納のために別のメモリ格納位置（図示せず）に書き込むことができる。
【０６６６】
ステップ６１６で、ＣＯ  ３０６の展開されたバージョンを格納するのに必要なデータ格納スペース４０２を、キャッシュ３００内で使用可能にすることが好ましい。キャッシュ３００内のどのキャッシュ・オブジェクトをも変更せずにＣＯ  ３０６の展開されたバージョンを格納するのに十分なスペースがキャッシュ３００に存在する場合には、キャッシュ３００内の１つまたは複数のキャッシュ・オブジェクトのサイズの縮小を、省略することができる。しかし、キャッシュ３００内の格納スペースのすべてまたは実質的にすべてが、ＣＯ  ３０６がアクセスされる前に占められていた場合には、ＣＯ  ３０６以外の１つまたは複数のキャッシュ・オブジェクトは、キャッシュ３０６の展開されたバージョンの格納のためにキャッシュ３００内のスペースを解放するために、サイズの縮小を受ける場合がある。
【０６６７】
１つまたは複数の実施形態で、キャッシュ・オブジェクト・サイズ縮小動作の個数は、限られた個数の可能なキャッシュ・オブジェクト・サイズがある場合に減らすことができる。キャッシュ・オブジェクト・サイズ縮小動作の個数を制限することは、キャッシュ３００にアクセスするコンピューティング・システムへの計算の重荷を減らすように好ましく動作し、全体的なコンピューティングシ・ステム効率を好ましくもたらす。
【０６６８】
１つまたは複数の実施形態で、所望の量のデータ格納スペースのクリアを達成するさまざまな形がある場合がある。本明細書では、用語「クリア」は、キャッシュ３００内の１つまたは複数のキャッシュ・オブジェクトに割り振られたデータ格納スペースを減らすことによって、データ格納スペースをキャッシュ３００内で使用可能にすることに対応するものとすることができる。
【０６６９】
１つまたは複数の実施形態で、クリアされるデータ格納スペースの量は、展開されるキャッシュ・オブジェクトがコンピューティング・システムによる最も最近のアクセスの前に占めていたスペースを超える、その展開されるキャッシュ・オブジェクトが必要とする追加ストレージの量に対応するものとすることができる。しかし、他の実施形態では、クリアされるスペースの量を、最も最近にアクセスされたキャッシュ・オブジェクトがサイズにおいて増加するスペースの量より少なくまたはより多くすることができる。
【０６７０】
１つまたは複数の実施形態で、最も最近に使用された展開されるキャッシュ・オブジェクトのためにクリアされるスペースは、図Ａ１３−５に示されているように、キャッシュ３００の一方の端にあるものとすることができる。しかし、他の実施形態では、クリアされるスペースを、キャッシュ３００内の他の位置に置くことができる。
【０６７１】
１つまたは複数の実施形態で、使用可能にされるデータ格納スペースを、ＣＯ  ３  ３０６（最も最近に使用されたキャッシュ・オブジェクト）以外の図Ａ１３−３の１つまたは複数のキャッシュ・オブジェクトを犠牲にして設けることができる。具体的には、１つの残りのキャッシュ・オブジェクトだけのサイズを減らすことによって、または最も最近に使用されたキャッシュ・オブジェクトを除くすべてのキャッシュ・オブジェクトのサイズを減らすことによって、必要な追加スペースを設けることが可能である場合がある。さらに、この２つの極端の間の任意の個数のキャッシュ・オブジェクトに、展開される最も最近に使用されたキャッシュ・オブジェクトを優先して、格納スペースを捨てさせることができる。次では、最も最近にアクセスされたキャッシュ・オブジェクト以外のすべてのキャッシュ・オブジェクトが、「サイズ縮小に好適である」と考えられる。
【０６７２】
１つまたは複数の実施形態で、サイズ縮小に好適な１つまたは複数のキャッシュ・オブジェクトのサイズ縮小の範囲は、１つまたは複数の考慮事項に従って選択することができる。一実施形態で、サイズ縮小に好適なキャッシュ・オブジェクトは、等しい量または実質的に等しい量の格納スペースを捨てることができる。もう１つの実施形態で、好適なキャッシュ・オブジェクトは、展開される最も最近に使用されたキャッシュ・オブジェクト用のスペースをクリアするために、その事前縮小サイズのうちの等しい比率または実質的に等しい比率を捨てることができる。
【０６７３】
１つまたは複数の他の実施形態で、各キャッシュ・オブジェクトのサイズ縮小の範囲は、そのキャッシュ・オブジェクトが最後にどれほど最近にアクセスされたかに基づくものとすることができる。具体的には、サイズ縮小に好適なキャッシュ・オブジェクトは、その最後のアクセスの減少する新しさに伴って徐々により多くの格納スペースを捨てることができる。したがって、この手法の下では、サイズ縮小に好適なキャッシュ・オブジェクトのうちで最も最近に使用されたものは、相対的に少量の格納スペースを捨てることができ、最近最も使用されていないキャッシュ・オブジェクトは、相対的に大量の格納スペースを捨てることができ、この２つの極端の間のキャッシュ・オブジェクトは、中間の量の格納スペースを捨てることができる。
【０６７４】
本明細書での格納スペース縮小の議論は、主に、最も最近にアクセスされたものではないキャッシュ・オブジェクトのサイズの単なる縮小を対象とするが、１つまたは複数の実施形態では、１つまたは複数のキャッシュ・オブジェクトを、データ格納スペースをクリアするためにキャッシュ３００から除去することができる。さらに、そのようなキャッシュ・オブジェクト除去は、単独でまたはキャッシュ３００内に残るキャッシュ・オブジェクトのキャッシュ・オブジェクトデータ格納スペース縮小と共同してのいずれかで実践することができる。
【０６７５】
図Ａ１３−５の実施形態では、キャッシュ３００に残る４つのキャッシュ・オブジェクト３０２、３０４、３０８、および３１０のすべてが、キャッシュ３００の右端に示された位置へのＣＯ  ３０６の書込用のデータ格納スペースをクリアするために、サイズにおいて減らされている。しかし、代替実施形態では、サイズ縮小に好適な４つのキャッシュ・オブジェクト３０２、３０４、３０８、および３１０のうちの３つまたはより少数が、サイズ縮小を体験することができる。好ましくは、この方法は、ステップ６２０で終了する。
【０６７６】
１つまたは複数の実施形態では、キャッシュ・オブジェクト・サイズを決定する際の変数として各キャッシュ・オブジェクトの使用の新しさだけを用いてキャッシュ内のオブジェクトを管理するのではなく、キャッシュ・オブジェクト管理に、どのオブジェクトが次に必要になる可能性があるかに関するインテリジェントな推測を含めることもできる。したがって、必要になる可能性がより低いオブジェクトを、将来に必要になるより高い尤度を有するオブジェクトの前に「圧縮」することができる。１つまたは複数の実施形態では、この推測手法を、圧搾のためにキャッシュ内のオブジェクトをランダムに選択することができ、さらに、選択されたオブジェクトの圧搾のランダムに変化する量を生成できるアルゴリズムと組み合わせることができる。
【０６７７】
図Ａ１３−７は、本発明の１つまたは複数の実施形態と共に使用するために適合可能なコンピューティング・システム７００のブロック図である。１つまたは複数の実施形態で、中央処理装置（ＣＰＵ）７０２を、バス７０４に結合することができる。さらに、バス７０４を、発明的キャッシュ３００、ランダム・アクセス・メモリ（ＲＡＭ）７０６、読取専用メモリ（ＲＯＭ）７０８、入出力（Ｉ／Ｏ）アダプタ７１０、通信アダプタ７２２、ユーザ・インターフェース・アダプタ７０６、およびディスプレイ・アダプタ７１８に結合することができる。
【０６７８】
１つまたは複数の実施形態で、ＲＡＭ  ７０６および／またはＲＯＭ  ７０８は、ユーザ・データ、システム・データ、および／またはプログラムを保持することができる。Ｉ／Ｏアダプタ７１０は、ハード・ドライブ７１２、ＣＤ−ＲＯＭ（図示せず）または他のマスストレージ・デバイスなどの格納デバイスをコンピューティング・システム７００に接続することができる。通信アダプタ７２２は、コンピューティング・システム７００をローカル・エリア・ネットワーク、広域ネットワーク、またはインターネット・ネットワーク７２４に結合することができる。ユーザ・インターフェース・アダプタ７１６は、キーボード７２６および／またはポインティング・デバイス７１４などのユーザ入力デバイスをコンピューティング・システム７００に結合することができる。さらに、ディスプレイ・アダプタ７１８を、ＣＰＵ  ７０２によって駆動して、ディスプレイ・デバイス７２０上の表示を制御することができる。ＣＰＵ  ７０２は、任意の汎用ＣＰＵとすることができる。
【０６７９】
これまでに説明したおよび／または本明細書でこの後に説明する方法および装置を、標準ディジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェア・プログラムを実行できるすべての既知のプロセッサ、プログラマブル・ディジタル・デバイスまたはプログラマブル・ディジタル・システム、プログラマブル・アレイ・ロジック・デバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の１つまたは複数の実施形態は、適切な格納媒体での格納および処理ユニットによる実行のためにソフトウェア・プログラムで実施することもできる。
【０６８０】
本明細書では、本発明を、特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。
【０６８１】
（特許請求の範囲）
１それぞれが、初期圧縮率を有し、格納されたデータを含むキャッシュ・オブジェクトの初期グループを有するコンピューティング・システム内のキャッシュを提供する、  
所与のキャッシュ・オブジェクト以外の前記キャッシュ・オブジェクトの少なくとも１つのキャッシュ・オブジェクトによって占められるデータ格納スペースの量を減らすこと、および  
前記所与のキャッシュ・オブジェクトによって占められるデータ格納スペースの量を増やすこと  
を備えることを特徴とする方法。
２．前記減らすことは、データ格納スペースの前記量を所与の量だけ減らすことを備えることを特徴とする請求項１に記載の方法。
３．前記増やすことは、前記所与のキャッシュ・オブジェクトによって占められるデータ格納スペースの前記量を前記所与の量だけ増やすことを備えることを特徴とする請求項２に記載の方法。
４．前記減らすことは、前記少なくとも１つのキャッシュ・オブジェクトの前記初期圧縮率を増やすことを備えることを特徴とする請求項１に記載の方法。
５．前記増やすことは、前記所与のキャッシュ・オブジェクトの前記初期圧縮率を減らすことを備えることを特徴とする請求項１に記載の方法。
６．前記所与のキャッシュ・オブジェクトは、前記キャッシュ・オブジェクトのうちで最も最近に使用されたキャッシュ・オブジェクトであることを特徴とする請求項１に記載の方法。
７．前記減らすステップを体験する前記少なくとも１つのキャッシュ・オブジェクトは、前記キャッシュ・オブジェクトのうちで最近最も使用されていないキャッシュ・オブジェクトを備えることを特徴とする請求項１に記載の方法。
８．前記減らすことは、前記少なくとも１つのキャッシュ・オブジェクトに関する格納されたデータの一部を除去することを備えることを特徴とする請求項１に記載の方法。
９．前記増やすことは、前記所与のキャッシュ・オブジェクトに関する前記格納されたデータを増補することを備えることを特徴とする請求項１に記載の方法。
１０．前記キャッシュ・オブジェクトのそれぞれについて使用可能なデータ格納スペースの量は、有限個数の離散値のうちの１つと等しいものとすることができることを特徴とする請求項１に記載の方法。
１１．前記減らすことは、前記キャッシュ・オブジェクトのうちで前記所与のキャッシュ・オブジェクト以外の少なくとも１つのランダムに選択されたキャッシュ・オブジェクトに関するデータ格納スペースの前記量を減らすことを備えることを特徴とする請求項１に記載の方法。
１２．前記減らすことは、前記少なくとも１つのランダムに選択されたキャッシュ・オブジェクトに関するデータ格納スペースの前記量をランダムに決定された範囲まで減らすことを備えることを特徴とする請求項１１に記載の方法。
１３．前記ランダムに選択されたキャッシュ・オブジェクトは、ランダム方法および擬似ランダム方法のうちの１つを使用して選択されることを特徴とする請求項１１に記載の方法。
１４．前記ランダムに選択されたキャッシュ・オブジェクトの前記選択は、ヒューリスティックによって案内されることを特徴とする請求項１１に記載の方法。
１５．前記増やすことの後に、前記所与のキャッシュ・オブジェクトをロスレス圧縮された形で格納することをさらに備えることを特徴とする請求項１に記載の方法。
１６．前記増やすことの後に、前記所与のキャッシュ・オブジェクトを非圧縮の形で格納することをさらに備えることを特徴とする請求項１に記載の方法。
１７．前記減らすことは、前記キャッシュ・オブジェクトのうちで前記所与のキャッシュオブジェクト以外の少なくとも１つのキャッシュ・オブジェクトを除去することを備えることを特徴とする請求項１に記載の方法。
１８．メイン・メモリと機能的に通信できる少なくとも１つのプロセッサを有するコンピューティング・システム、および  
それぞれが、初期圧縮率を有し、格納されたデータを含むキャッシュ・オブジェクトの初期グループを有する前記コンピューティング・システム内のキャッシュ  
を備え、前記コンピューティング・システムは、  
前記キャッシュ・オブジェクトの所与のキャッシュオブジェクト以外の前記キャッシュ・オブジェクトの少なくとも１つのキャッシュ・オブジェクトによって占められるデータ格納スペースの量を減らし、  
前記所与のキャッシュ・オブジェクトによって占められるデータ格納スペースの量を増やすように動作する  
ことを特徴とする装置。
１９．前記減らすことは、データ格納スペースの前記量を所与の量だけ減らすことを備えることを特徴とする請求項１８に記載の装置。
２０．前記増やすことは、前記所与のキャッシュ・オブジェクトによって占められるデータ格納スペースの前記量を前記所与の量だけ増やすことを備えることを特徴とする請求項１９に記載の装置。
２１．前記減らすことは、前記少なくとも１つのキャッシュ・オブジェクトの前記初期圧縮率を増やすことを備えることを特徴とする請求項１８に記載の装置。
２２．前記増やすことは、前記所与のキャッシュ・オブジェクトの前記初期圧縮率を減らすことを備えることを特徴とする請求項１８に記載の装置。
２３．前記所与のキャッシュ・オブジェクトは、前記キャッシュ・オブジェクトのうちで最も最近に使用されたキャッシュ・オブジェクトであることを特徴とする請求項１８に記載の装置。
２４．前記減らすことは、前記少なくとも１つのキャッシュ・オブジェクトに関する格納されたデータの一部を除去することを備えることを特徴とする請求項１８に記載の装置。
２５．前記増やすことは、前記所与のキャッシュ・オブジェクトに関する前記格納されたデータを増補することを備えることを特徴とする請求項１８に記載の装置。
２６．前記キャッシュ・オブジェクトのそれぞれについて使用可能なデータ格納スペースの量は、有限個数の離散値のうちの１つと等しいものとすることができることを特徴とする請求項１８に記載の装置。
２７．前記減らすことは、前記キャッシュ・オブジェクトのうちで前記所与のキャッシュ・オブジェクト以外の少なくとも１つのランダムに選択されたキャッシュ・オブジェクトに関するデータ格納スペースの前記量を減らすことを備えることを特徴とする請求項１８に記載の装置。
２８．前記減らすことは、前記少なくとも１つのランダムに選択されたキャッシュ・オブジェクトに関するデータ格納スペースの前記量をランダムに決定された範囲まで減らすことを備えることを特徴とする請求項２７に記載の装置。
２９．コンピューティング・システム内でキャッシュを提供することであって、前記キャッシュは、初期条件を有するように提供すること、  
不十分なデータ格納スペースが、前記キャッシュ内に少なくとも１つの新しいオブジェクトを格納するために前記初期条件の下で前記キャッシュ内に存在する場合に、前記少なくとも１つの新しいオブジェクトのためにデータ格納スペースをクリアするために前記キャッシュ内の少なくとも１つのオブジェクトを圧縮すること、および  
前記少なくとも１つの新しいオブジェクトを前記キャッシュ内に格納すること  
を備えることを特徴とする方法。
３０．前記初期条件は、前記キャッシュが空であることに対応することを特徴とする請求項２９に記載の方法。
３１．不十分なデータ格納スペースがすべての追加の新しいオブジェクトを格納するために前記キャッシュ内に残るまで、前記キャッシュ内に格納された前記オブジェクトを圧縮せずに前記キャッシュ内に新しいオブジェクトを格納することを継続することをさらに備えることを特徴とする請求項３０に記載の方法。
３２．前記少なくとも１つの新しいオブジェクトを格納するための十分なスペースが前記初期条件の下で前記キャッシュに存在する場合に、前記圧縮することなしで前記キャッシュ内に前記少なくとも１つの新しいオブジェクトを格納することをさらに備えることを特徴とする請求項２９に記載の方法。
【０６８２】
（要約）
初期圧縮率を有し、格納されたデータを含むキャッシュ・オブジェクトの初期グループを有するコンピューティング・システム内のキャッシュを提供すること、キャッシュ・オブジェクトの所与のキャッシュ・オブジェクト以外のキャッシュ・オブジェクトの少なくとも１つのキャッシュ・オブジェクトによって占められるキャッシュ内のデータ格納スペースの量を減らすこと、および所与のキャッシュ・オブジェクトによって占められるキャッシュ内のデータ格納スペースの量を増やすことを含むことができる方法を開示する。
【０６８３】
2008517540.tif 000062
【０６８４】
2008517540.tif 000063
【０６８５】
2008517540.tif 000064
【０６８６】
2008517540.tif 000065
【０６８７】
2008517540.tif 000066
【０６８８】
2008517540.tif 000067
【０６８９】
Ａ１４
（書類名）明細書
（発明の名称）イメージとして地理空間データまたは他のベクトル・データをエンコードし、供給する方法（ＭＥＴＨＯＤ  ＦＯＲ  ＥＮＣＯＤＩＮＧ  ＡＮＤ  ＳＥＲＶＩＮＧ  ＧＥＯＳＰＡＴＩＡＬ  ＯＲ  ＯＴＨＥＲ  ＶＥＣＴＯＲ  ＤＡＴＡ  ＡＳ  ＩＭＡＧＥＳ）
【０６９０】
（関連出願の相互参照）
本願は、その開示全体が参照によって本明細書に組み込まれている、２００４年１０月２８日に出願した米国特許仮出願第６０／６２２８６７号（Ａ９）、名称「ＭＥＴＨＯＤ  ＦＯＲ  ＥＮＣＯＤＩＮＧ  ＡＮＤ  ＳＥＲＶＩＮＧ  ＧＥＯＳＰＡＴＩＡＬ  ＯＲ  ＯＴＨＥＲ  ＶＥＣＴＯＲ  ＤＡＴＡ  ＡＳ  ＩＭＡＧＥＳ」の利益を主張するものであり、本願は、２００４年１０月８日に出願した米国特許仮出願第６０／６１７４８５号（Ａ６）、名称「Ｍｅｔｈｏｄ  ｆｏｒ  Ｓｐａｔｉａｌｌｙ  Ｅｎｃｏｄｉｎｇ  Ｌａｒｇｅ  Ｔｅｘｔｓ，  Ｍｅｔａｄａｔａ，  ａｎｄ  Ｏｔｈｅｒ  Ｃｏｈｅｒｅｎｔｌｙ  Ａｃｃｅｓｓｅｄ  Ｎｏｎ−Ｉｍａｇｅ  Ｄａｔａ」の利益をも主張するものであり、本願は、その開示全体が参照によって本明細書に組み込まれている、２００４年３月１日に出願した米国特許出願第１０／７９０２５３号（Ａ１０）、名称「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｅｘａｃｔ  Ｒｅｎｄｅｒｉｎｇ  Ｉｎ  ａ  Ｚｏｏｍｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」の一部継続出願であり、米国特許出願第１０／７９０２５３号は、２００３年３月５日に出願した米国特許仮出願第６０／４５２０７５号（Ａ１）、名称「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｅｘａｃｔ  Ｒｅｎｄｅｒｉｎｇ  ｉｎ  ａ  Ｚｏｏｍｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」、２００３年３月１２日に出願した米国特許仮出願第６０／４５３８９７号（Ａ２）、名称「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｆｏｖｅａｔｅｄ，  Ｓｅａｍｌｅｓｓ，  Ｐｒｏｇｒｅｓｓｉｖｅ  Ｒｅｎｄｅｒｉｎｇ  ｉｎ  ａ  Ｚｏｏｍｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」、２００３年６月５日に出願した米国特許仮出願第６０／４７５８９７号（Ａ３）、名称「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  ｔｈｅ  Ｅｆｆｉｃｉｅｎｔ，  Ｄｙｎａｍｉｃ，  ａｎｄ  Ｃｏｎｔｉｎｕｏｕｓ  Ｄｉｓｐｌａｙ  ｏｆ  Ｍｕｌｔｉｒｅｓｏｌｕｔｉｏｎ  Ｖｉｓｕａｌ  Ｄａｔａ」、および２００３年５月３０日に出願した米国特許仮出願第６０／４７４３１３号（Ａ４）、名称「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｎｆｉｎｉｔｅ  Ｐｒｅｃｉｓｉｏｎ  Ｃｏｏｒｄｉｎａｔｅｓ  ｉｎ  ａ  Ｚｏｏｍｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」の利益を主張するものであり、これらの仮出願の開示全体が参照によって本明細書に組み込まれており、本願は、その開示全体が参照によって本明細書に組み込まれている、２００４年５月２６日に出願した米国特許出願第１０／８５４１１７号（Ａ１１）、名称「Ａ  Ｓｙｓｔｅｍ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｍｕｌｔｉｐｌｅ  Ｎｏｄｅ  Ｄｉｓｐｌａｙ」の一部継続出願でもあり、本願は、その開示全体が参照によって本明細書に組み込まれている、２００４年３月１７日に出願した米国特許出願第１０／８０３，０１０号（Ａ１２）、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  Ｆｏｒ  Ｎａｖｉｇａｔｉｎｇ  ａｎ  Ｉｍａｇｅ」の一部継続出願でもある。
【０６９１】
（背景技術）
最近、ＪＰＥＧ２０００／ＪＰＩＰ（たとえば、Ｋａｋａｄｕソフトウェア・ウェブ・サイト、ｗｗｗ．ｋａｋａｄｕｓｏｆｔｗａｒｅ．ｃｏｍで入手可能なＤａｖｉｄ  ＴａｕｂｍａｎのＫａｋａｄｕの実装を参照されたい）などのイメージ圧縮標準規格が、要求の厳しいエンジニアリング目標を満足するために、すなわち、非常に大きいイメージ（すなわち、サイズにおいてギガ・ピクセル）をサーバからクライアントへ低帯域幅通信チャネルを介して増分的にまたは選択的に配信することを可能にするために、導入されてきた。そのようなイメージがフル分解度で見られているときには、限られた領域だけが、任意の所与のときにクライアントのグラフィカル・ディスプレイにおさまることができる。これらの新しい標準規格は、そのような領域に選択的にアクセスすること、およびその領域に関連するデータを通信チャネルを介して送信することだけを対象とする。この「関心領域」すなわちＲＯＩが、連続的に変化する場合に、クライアントとサーバとの間の低帯域幅チャネルを介する連続的対話が、ＲＯＩの内側の領域のクライアントの表現を正確に保つために継続される可能性がある。従来のテクノロジは、通常、離散的にサンプリングされたイメージの増分的選択的伝送に制限される。本発明は、ベクトル・データ、ハイパーリンク、および他のスペース的に局所化された地物（ｆｅａｔｕｒｅｓ）を含めるためにこの表現および伝送のモデルを拡張する。  
【０６９２】
（発明の概要）
本発明の１つまたは複数の実施形態は、これらの選択的に圧縮解除除可能なイメージ圧縮テクノロジ、およびイメージ伝送テクノロジの地理空間データまたは概略データへの拡張に関する。この１つまたは複数の実施形態は、本願に組み込まれている文献に記載の方法を組み合わせ、拡張する。これら文献は、（１）「Ｍｅｔｈｏｄ  ｆｏｒ  Ｓｐａｔｉａｌｌｙ  Ｅｎｃｏｄｉｎｇ  Ｌａｒｇｅ  Ｔｅｘｔｓ，  Ｍｅｔａｄａｔａ，  ａｎｄ  Ｏｔｈｅｒ  Ｃｏｈｅｒｅｎｔｌｙ  Ａｃｃｅｓｓｅｄ  Ｎｏｎ−Ｉｍａｇｅ  Ｄａｔａ」（Ａ６）、（２）「Ｍｅｔｈｏｄｓ  Ａｎｄ  Ａｐｐａｒａｔｕｓ  Ｆｏｒ  Ｎａｖｉｇａｔｉｎｇ  Ａｎ  Ｉｍａｇｅ」（Ａ１２）、（３）「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｔｈｅ  Ｅｆｆｉｃｉｅｎｔ，  Ｄｙｎａｍｉｃ  Ａｎｄ  Ｃｏｎｔｉｎｕｏｕｓ  Ｄｉｓｐｌａｙ  Ｏｆ  ＭｕｌｔｉＲｅｓｏｌｕｔｉｏｎ  Ｖｉｓｕａｌ  Ｄａｔａ」（Ａ３）、（４）「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｆｏｖｅａｔｅｄ，  Ｓｅａｍｌｅｓｓ，  Ｐｒｏｇｒｅｓｓｉｖｅ  Ｒｅｎｄｅｒｉｎｇ  Ｉｎ  Ａ  Ｚｏｏｍｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」（Ａ２）、および（５）「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｍｕｌｔｉｐｌｅ  Ｎｏｄｅ  Ｄｉｓｐｌａｙ」（Ａ１１）である。
【０６９３】
これまでに説明したおよび／または本明細書でこの後に説明する方法および装置を、標準ディジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェア・プログラムを実行できるすべての既知のプロセッサ、プログラマブル・ディジタル・デバイスまたはプログラマブル・ディジタル・システム、プログラマブル・アレイ・ロジック・デバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の１つまたは複数の実施形態は、適切な格納媒体での格納および処理ユニットによる実行のためにソフトウェア・プログラムで実施することもできる。
【０６９４】
一態様によれば、本発明は、イメージを示す情報を送信する方法であって、第１イメージとして情報の１つまたは複数のノードを送信すること、第１イメージ内の事前に決定された位置での表示に利用される特性を定義するベクトルを示す情報を含む第２イメージを送信すること、ならびに第１および第２のイメージを受信するレシーバが第１および第２のイメージを相関させて、事前に決定された位置でベクトルを利用することができるように、第１および第２のイメージの間のマッピングを備える第３イメージを送信すること、を備えることを特徴とする方法を提供する。第１イメージは、地図であり、第２イメージは、事前に決定された詳細レベルで表示されるのみであるビジュアル・データを定義するベクトルのセットであることが好ましい。第１イメージは、地図であることが好ましい。第２イメージは、ハイパーリンクを含むことが好ましい。第１イメージは、地図であり、第２イメージは、ベクトルのセットを含み、ベクトルのうちの複数のベクトルは、第１イメージ上のベクトルが適用される位置に対応する位置に置かれ、ベクトルのうちの複数のベクトルは、第１イメージ上のベクトルが適用される位置に対応しない第２イメージ上の位置に置かれることが好ましい。この方法は、１つまたは複数のベクトルが現れる第２イメージ上の位置と１つまたは複数のベクトルが適用される第１イメージ上の位置との間のスペースの量を減らすために第２イメージを構成するのに効率的な詰込みアルゴリズム（ｐａｃｋｉｎｇ  ａｌｇｏｒｉｔｈｍ）を利用することをさらに備えることが好ましい。ベクトルは、ノードまたはサブ・ノードを起動するための情報を含むことが好ましい。
【０６９５】
もう１つの態様によれば、本発明は、リモート・コンピュータからデータの第１、第２、および第３のセットを受信することを備え、第１データセットは、イメージを表し、第２データ・セットは、規定された位置でのイメージの特性を定義するベクトルを表し、第３データ・セットは、位置を規定するように働くことを特徴とするイメージをレンダリングする方法を提供する。規定された位置は、地図上の街路位置であることが好ましい。ベクトルは、サブ・ノードを表し、どの条件の下でサブ・ノードを起動しなければならないかを示す情報を含むことが好ましい。ベクトルは、宣伝材料などの外部コンテンツおよび／または埋め込まれたビジュアル・コンテンツからなる群の少なくとも１つへのハイパーリンクを含むことが好ましい。ベクトルは、宣伝材料へのハイパーリンクを含むことが好ましい。ベクトルは、イメージ内の事前に決定された位置でのイメージの諸部分のレンダリング方法を指定する情報を含むことが好ましい。
【０６９６】
もう１つの態様によれば、本発明は、イメージの第１レイヤであって、内部に位置を有するイメージの地物（ｆｅａｔｕｒｅｓ）を含む第１レイヤを提供すること、およびイメージの第２レイヤであって、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応するデータ・ブロックを含み、各データ・ブロックは、各データ・ブロックに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に実質的に対応する第２レイヤ内の位置にあり、第２レイヤのサイズおよび形状は、第１レイヤのサイズおよび形状に実質的に対応する、第２レイヤを提供すること、を備えることを特徴とする方法を提供する。各データ・ブロックは、各データ・ブロックに対応する特徴の少なくとも１つの特性を記述することが好ましい。この方法は、イメージの第３レイヤであって、ポインタを含み、各ポインタは、地物（ｆｅａｔｕｒｅ）のそれぞれの１つおよびデータ・ブロックのそれぞれの１つに対応する第３レイヤを提供すること、をさらに備えることが好ましい。各ポインタは、各ポインタの位置に関する各ポインタの対応するデータ・ブロックの位置を示すことが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）に関するテキスト・データを提供することを備えることが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）のグラフィカル・イラストレーションを提供することを備えることが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）を示す幾何データを提供することを備えることが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）の２次元または３次元の形状データまたは輪郭データを提供することを備えることが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）のカラー情報を提供することを備えることが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）に関する宣伝情報またはハイパーリンク情報を提供することを備えることが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）に関する外部ウェブ・サイトへの少なくとも１つのリンクを提供することを備えることが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）に関する埋め込まれたビジュアル・コンテンツを提供することを備えることが好ましい。記述することは、少なくとも１つの地物（ｆｅａｔｕｒｅ）に関する宣伝情報を提供することを備えることが好ましい。記述することは、道路セグメントの概略詳細を提供することを備えることが好ましい。記述することは、少なくとも１つの道路、少なくとも１つの公園、領域のトポグラフィ、水域の水路学（ｈｙｄｒｏｇｒａｐｈｙ）、少なくとも１つのビルディング、少なくとも１つの公衆便所、少なくとも１つのｗｉｒｅｌｅｓｓ  ｆｉｄｅｌｉｔｙステーション、少なくとも１つの電力線、および少なくとも１つのスタジアムからなる群の少なくとも１つの概略詳細を提供することを備えることが好ましい。
【０６９７】
もう１つの態様によれば、本発明はイメージの第１レイヤであって、内部に位置を有するイメージの地物（ｆｅａｔｕｒｅｓ）を含む第１レイヤを提供すること、およびイメージの第２レイヤであって、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応するデータ・ブロックを含み、各データブロックは、各データ・ブロックに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に実質的に対応する第２レイヤ内の位置にあり、第２レイヤのサイズおよび形状は、第１レイヤのサイズおよび形状に実質的に対応する、第２レイアを提供することを含むアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムの制御の下で動作する処理ユニットを含むことを特徴とする装置を提供する。
【０６９８】
もう１つの態様によれば、本発明は、イメージの第１レイヤであって、内部に位置を有するイメージの地物（ｆｅａｔｕｒｅｓ）を含む第１レイヤを提供すること、およびイメージの第２レイヤであって地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応するデータ・ブロックを含み、各データブロックは、各データ・ブロックに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に実質的に対応する第２レイヤ内の位置にあり、第２レイヤのサイズおよび形状は、第１レイヤのサイズおよび形状に実質的に対応する、第２レイヤを提供すること、を含むアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムを含むことを特徴とする格納媒体を提供する。もう１つの態様によれば、本発明は、イメージの第１レイヤであって、内部に位置を有するイメージの地物（ｆｅａｔｕｒｅｓ）を含む第１レイヤを提供すること、イメージの第２レイヤであって、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応し、これを記述するデータ・ブロックを含み、各データ・ブロックは、各データ・ブロックに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に少なくとも実質的に対応する第２レイヤ内の位置にある、第２レイヤを提供すること、およびイメージの第３レイヤであって、第３レイヤ内の位置を有するポインタを含み、各ポインタは、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つおよびデータ・ブロックのそれぞれの１つに対応し、第３レイヤ内の各ポインタの位置は、各ポインタに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に少なくとも実質的に対応する、第３レイヤを提供することを備えることを特徴とする方法を提供する。第２レイヤおよび第３レイヤは、それぞれ、第１レイヤのサイズおよび形状に対応するサイズおよび形状を有することが好ましい。この方法は、第１レイヤ、第２レイヤ、および第３レイヤの組合せから地図イメージを形成することをさらに備えることが好ましい。
【０６９９】
この方法は、地図イメージ内のデータを平坦化する（ｆｌａｔｔｅｎｉｎｇ）ことをさらに備えることが好ましい。各ポインタは、各ポインタの位置に関する各ポインタの対応するデータの位置を示すことが好ましい。示すことは、２次元でオフセットを識別することを備えることが好ましい。オフセットの各次元は、ピクセルの整数個数、たとえば２または４に対応する単位で表されることが好ましい。示すことは、ヒルベルト曲線に沿った１次元距離としてオフセットを識別することを備えることが好ましい。１次元曲線に沿ったオフセットは、ピクセルの単位で表されることが好ましい。１次元曲線に沿ったオフセットは、ピクセルの整数個数に対応する単位で表されることが好ましい。１次元曲線に沿ったオフセットは、ピクセルの整数倍数に対応する単位で表されることが好ましい。各データ・ブロックを置くことは、第２レイヤ内の各データ・ブロックのターゲット位置であって、各データ・ブロックに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に対応するターゲット位置への各データ・ブロックの最大近接を達成するために詰込みアルゴリズムを用いて各データ・ブロックを置くこと、を備えることが好ましい。詰込みアルゴリズムは、第２レイヤ内のどの２つのデータ・ブロックもが互いにオーバーラップしないことを保証することが好ましい。
【０７００】
最大近接は、各データ・ブロックの位置と各データ・ブロックのターゲット位置との間の最短直線距離に基づいて決定されることが好ましい。最大近接は、各データ・ブロックの位置と各データ・ブロックのターゲット位置との間の２つの次元のそれぞれでのオフセットの絶対値の和に基づいて決定されることが好ましい。最大近接は、各データ・ブロックの位置と各データ・ブロックのターゲット位置との間の最小ヒルベルト曲線長に基づいて決定されることが好ましい。
【０７０１】
もう１つの態様によれば、本発明は、イメージの第１レイヤであって、第１レイヤ内の位置を有するイメージの地物（ｆｅａｔｕｒｅｓ）を含む第１レイヤを提供すること、イメージの第２レイヤであって、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応し、これを記述するデータ・ブロックを含み、各データ・ブロックは、各データ・ブロックに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に少なくとも実質的に対応する第２レイヤ内の位置にある、第２レイヤを提供すること、およびイメージの第３レイヤであって、第３レイヤ内の位置を有するポインタを含み、各ポインタは、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つおよびデータブロックのそれぞれの１つに対応し、第３レイヤ内の各ポインタの位置は、各ポインタに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に少なくとも実質的に対応する、第３レイヤを提供すること、を備えるアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムを含むことを特徴とする格納媒体を提供する。
【０７０２】
もう１つの態様によれば、本発明は、イメージの第１レイヤであって、第１レイヤ内の位置を有するイメージの地物（ｆｅａｔｕｒｅｓ）を含む第１レイヤを提供すること、イメージの第２レイヤであって、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応し、これを記述するデータ・ブロックを含み、各データ・ブロックは、各データ・ブロックに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に少なくとも実質的に対応する第２レイヤ内の位置にある、第２レイヤを提供すること、およびイメージの第３レイヤであって、第３レイヤ内の位置を有するポインタを含み、各ポインタは、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つおよびデータ・ブロックのそれぞれの１つに対応し、第３レイヤ内の各ポインタの位置は、各ポインタに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に少なくとも実質的に対応する、第３レイヤを提供すること、を備えるアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムの制御の下で動作する処理ユニットを含むことを特徴とする装置を提供する。
【０７０３】
他の態様、特徴（ｆｅａｔｕｒｅ）、利点などは、本明細書の本発明の好ましい実施形態の説明が添付図面と共に解釈されるときに、当業者に明白になるであろう。
（図面の簡単な説明）
本発明のさまざまな態様を例示するために、図面に、現在好ましい形が示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。
（図Ａ１４−１）本発明の１つまたは複数の実施形態による、データ・ブロック内の記述に適切な複数の地物（ｆｅａｔｕｒｅｓ）を含む道路地図イメージの事前レンダリング済みレイヤを示す図である。
（図Ａ１４−２）本発明の１つまたは複数の実施形態による、図Ａ１４−１の道路地図と、道路セグメントの低い集中を有する領域内のそれぞれの道路セグメントに対応するポインタおよびデータ・ブロックとを示す図である。
（図Ａ１４−３）本発明の１つまたは複数の実施形態による、１つの主な道路と共に複数の道路に属する道路セグメントの集中セットならびに交差点の高い集中を有する領域内の道路セグメントに対応するポインタおよびデータ・ブロックを示す図である。
（図Ａ１４−４）本発明の１つまたは複数の実施形態による、３つのケースに関する貪欲な四辺形詰込みアルゴリズムのテスト出力を示す図である。
（図Ａ１４−５Ａ）本発明の１つまたは複数の実施形態による、バージン諸島の道路地図データの平坦化の前のそのデータ・イメージの密な領域からとられたバイナリ８ビット・データのイメージを示す図である。
（図Ａ１４−５Ｂ）本発明の１つまたは複数の実施形態による、バージン諸島の道路地図データの平坦化の後のそのデータ・イメージの密な領域からとられたバイナリ８ビットデータのイメージを示す図である。
（図Ａ１４−６）本発明の１つまたは複数の実施形態による、ヒルベルト曲線に沿った１次元距離ｄへの２次元ポインタ・ベクトルのマッピングのための一次ヒルベルト曲線を示す図である。
（図Ａ１４−７）本発明の１つまたは複数の実施形態による、ヒルベルト曲線に沿った１次元距離ｄへの２次元ポインタ・ベクトルのマッピングのための二次ヒルベルト曲線を示す図である。
（図Ａ１４−８）本発明の１つまたは複数の実施形態による、ヒルベルト曲線に沿った１次元距離ｄへの２次元ポインタ・ベクトルのマッピングのための三次ヒルベルト曲線を示す図である。
（図Ａ１４−９）本発明の１つまたは複数の実施形態による、ヒルベルト曲線に沿った１次元距離ｄへの２次元ポインタ・ベクトルのマッピングのための四次ヒルベルト曲線を示す図である。
（図Ａ１４−１０）本発明の１つまたは複数の実施形態による、ヒルベルト曲線に沿った１次元距離ｄへの２次元ポインタ・ベクトルのマッピングのための五次ヒルベルト曲線を示す図である。
（図Ａ１４−１１）本発明の１つまたは複数の実施形態による使用のための４ピクセル×４ピクセル・サイズ・データ・ブロックを組み込んだ米国バージン諸島のうちの１つのイメージを示す図である。
（図Ａ１４−１２）本発明の１つまたは複数の実施形態による使用のための６ピクセル×６ピクセル・サイズ・データ・ブロックを組み込んだ米国バージン諸島のうちの１つのイメージを示す図である。
（図Ａ１４−１３）本発明の１つまたは複数の実施形態による使用のための８ピクセル×８ピクセル・サイズ・データ・ブロックを組み込んだ米国バージン諸島のうちの１つのイメージを示す図である。
【０７０４】
（発明を実施するための最良の形態）
以下で述べる本発明のさまざまな態様を、地図データのエンコーディングおよび／または供給のコンテクストで適用できることに留意されたい。実際に、それについて本発明を用いることのできるイメージおよび実装の範囲は、その全体をリストするには多すぎる。たとえば、本発明の特徴（ｆｅａｔｕｒｅｓ）を、人間の解剖学、複雑なトポグラフィ、配線図または青写真などの工学図面、ジーン・オントロジなどのイメージをエンコードし、かつ／または伝送するのに使用することができる。しかし、本発明は、その要素が変化する詳細レベルまたは粗さのレベルを有するイメージのエンコードおよび／または供給への特定の適用可能性を有することがわかっている。したがって、簡潔におよび明瞭にするために、本発明の諸態様を、特定の例すなわち、地図のイメージのエンコードおよび／または供給に関連して述べる。
【０７０５】
上述した文献（２）では、連続的マルチスケール道路地図レンダリングの概念が、導入された。文献（２）の発明の１つまたは複数の実施形態の基礎は、異なる分解度の道路地図または他のベクトル・ベースの図のイメージの事前にレンダリングされた「スタック」であり、このスタックでは、ビジュアル要素のカテゴリ（たとえば、国道、州道、および地方道路を含む道路の等級）が、異なる分解度で異なる視覚的重みを用いてレンダリングされる。
【０７０６】
クライアント／サーバ対話中に、これらのイメージのうちの複数のイメージの対応する領域を、ダウンロードでき、クライアントのディスプレイは、これらの領域のブレンディングされた組合せを示すことができる。ブレンディング係数およびイメージ分解度の選択を、ズーム・スケールに依存してブレンディングすることができる。最終結果は、クライアント・サイドのユーザが、連続的にズームし、パンしながら、大きい地図（たとえば、米国のすべての道路）をナビゲートでき、ズーム・スケールが変更されるにつれて道路のカテゴリが現れたり、または消えたりする、などの視覚的不連続性を一切体験しないことである。
【０７０７】
そのような不連続性ではなく、すべてのスケールで、最も関連するカテゴリを強調することができる。たとえば、国全体を見るためにズーム・アウトされるときに、最大級の主要道路に、強く重みを付け、明瞭に目立つようにすることができ、州レベルでは、二級主要道路にも、明瞭に可視になるのに十分に強く重みを付けることができる。ユーザが、最も詳細な事前レンダリングされたイメージが使用されているポイントまでズーム・インしたときには、すべての道路が、明瞭に可視であり、地理空間データの好ましい実施形態では、すべての要素が、その物理的に正しいスケール（縮尺）に近いスケールで示されることが好ましい。これらの最も詳細な事前レンダリングされるイメージの最大の穏当な分解度は、約１５ｍ／ピクセルとすることができる。しかし、ユーザの観点からは、さらにズーム・インできることが望ましい。
【０７０８】
しかし、さらにより高い詳細レベルでの事前レンダリングは、次の複数の理由から望ましくない。第１に、サーバ・サイドのファイル・サイズが極端に大きくなる（１５ｍ／ピクセルの単一の万国横メルカトル・ゾーン・イメージは、既にギガ・ピクセル範囲に含まれる可能性がある）からであり、第２に、事前レンダリングされるイメージは、高分解度道路地図レンダリングに通常関連する種類の非常に疎な白黒データの非効率的表現であるからであり、第３に、クライアントが、静的ビジュアル表現以外の、コンピュータによる複数のタスクを実行するために「実際の」ベクトル・データを必要とする場合があるからである。
【０７０９】
たとえば、経路誘導システム（ｒｏｕｔｅ  ｇｕｉｄａｎｃｅ  ｓｙｓｔｅｍ）は、ある道路がモニタまたは印刷媒体でユーザに表示されるときに、その道路を強調表示するか、その色を変更することができる。これは、クライアントが、事前レンダリングされるイメージだけとは対照的に、ベクトル・データにアクセスできる場合に限って、クライアント・サイドで行うことができる。ベクトル・データには、道路名、住所、および選択的にレイアウトし、レンダリングする柔軟性をクライアントが有することが好ましい他の情報も含まれる場合がある。道路名ラベルを地図イメージ・スタックに事前レンダリングすることは、望ましくない。というのは、これらのラベルが、クライアント・ビューの正確な位置およびスケールに応じて、異なる場所に描かれることが好ましく、異なるサイズで提供されることが好ましいからである。ユーザがズームするときに、異なるラベル・レンディションを互いにブレンディングしてはならない。そのようなデータの事前レンダリングは、フォントに関する柔軟性もすべて除去するはずである。
【０７１０】
要約すると、ベクトル・データ（本明細書では、この用語は、幾何情報と、場所の名前などの他の情報との両方を包括的に指すのに使用される）は、クライアント自体にとって有益であり、また、望まれる分解度が高いときに、事前レンダリングされた像より効率的な情報の表現であるの両方である。しかし、大きい領域が低分解度でレンダリングされる場合には、完全なベクトル・データが、極端に大きく複雑になり、事前レンダリングされるイメージがより効率的な表現になる場合がある。しかし、低分解度であっても、主な主要道路の名前など、ベクトル・データのあるサブ・セットが有益である。ベクトル・データのこのサブ・セットは、低分解度の事前レンダリング済みレイヤに関連する低分解度データ・レイヤに含めることができ、より詳細なベクトル・データは、より高い分解度の事前レンダリング済みレイヤに関連するデータ・レイヤ内で入手可能である。
【０７１１】
本発明の１つまたは複数の実施形態は、文献（１）で導入された方法を拡張して、おそらくは、文献（２）の事前レンダリングされる像と共に、スペース・ベクトル・データを選択的に増分式にエンコードし、クライアントに送信することを可能にする。従来技術では、これは、地理空間データベースを使用して達成されるであろう。このデータベースは、スペース的にインデクシングされた、すべての関連するベクトル・データを含む必要があるであろう。そのようなデータベースは、多数の実装の課題を提示する。本発明の１つまたは複数の実施形態では、普通のデータベースを使用するのではなく、ＪＰＥＧ２０００／ＪＰＩＰによってサポートされるものなどのスペース的にアドレッシング可能なイメージを使用して、ベクトル・データをエンコードし、供給する。
【０７１２】
複数のイメージ・マップ・データ表現（Ｍｕｌｔｉｐｌｅ  Ｉｍａｇｅ  Ｍａｐ  Ｄａｔａ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）
１つまたは複数の実施形態では、３つのイメージまたはチャネルが、それぞれ８ビット深さで、地図データを表すのに使用される。事前レンダリング済みレイヤは、文献（２）による、道路地図の事前計算された正確なレンディションであることが好ましい。ポインタ・レイヤは、２＊２ピクセルのブロックを含むことが好ましく、このブロックは、ポインタ・レイヤ内の位置に置かれることが好ましく、この位置は、そのポインタが対応するそれぞれの地物（ｆｅａｔｕｒｅｓ）の、事前レンダリング済みレイヤ内の、位置に密接に対応し、時々同一である。データ・レイヤは、それらを参照する２＊２個のポインタを中心とするかその近くに位置決めされたｎ＊ｍピクセルのブロックからなることが好ましい。事前レンダリング済みレイヤは、２４ビット・カラーまたは任意の他のカラー・スペースもしくはビット深さであるものとすることもできる。
【０７１３】
事前レンダリング済みレイヤ、ポインタ・レイヤ、およびデータ・レイヤが、本質的に、バイナリ・データのさまざまな量を格納する２次元メモリ・スペースであることに留意されたい。これらの３つのレイヤは、クライアントに対する道路地図または他の２次元イメージ表現の主題である共通の２次元イメージ領域に対応することが好ましい。本明細書で使用されるときに、用語レイヤの「サイズ」および「形状」は、一般に、それぞれ、そのレイヤ内のデータが関連する２次元イメージのサイズおよび形状に対応する。
【０７１４】
特定の地図イメージを形成する事前レンダリング済みレイヤ、ポインタ・レイヤ、およびデータ・レイヤは、たとえば、少なくとも互いに非常に近いかおそらくは互いに同一である２次元イメージ（これらの３つのレイヤから形成される）内の「サイズ」および「形状」を有することが好ましい。この３つのレイヤ用の格納データは、データ処理システムの物理メモリ内で分散されるけれども、このことは、当てはまる。
【０７１５】
一実施形態で、事前レンダリング済みレイヤ内の該当する「地物（ｆｅａｔｕｒｅｓ）」を、道路セグメントとすることができる。１０個の道路セグメントを有する地図において、ポインタ・レイヤ内のポインタ１は、事前レンダリング済みレイヤ内の道路セグメント１およびデータ・レイヤ内のデータ・ブロック１に対応することになる。ポインタ２は、道路セグメント２およびデータ・ブロック２に対応することになり、以下同様にして、各場合のポインタ「ｎ」は、ｎ＝１からｎ＝１０について、道路セグメント「ｎ」およびデータ・ブロック「ｎ」に対応する。さらに、ポインタ１は、事前レンダリング済みレイヤ内の道路セグメント１（または、より一般的には「地物（ｆｅａｔｕｒｅ）１」）の位置に密接に対応し、おそらくは同一に対応する、ポインタ・レイヤ内の位置にあることが好ましい。
【０７１６】
さまざまな地図レイヤ（事前レンダリング済みのポインタ、およびデータ）は、いずれかのレイヤ内のエントリ（地物（ｆｅａｔｕｒｅ）、ポインタ、またはデータ・ブロック）の、これらの３つのレイヤの他のいずれかのレイヤ内の対応するエントリ（地物（ｆｅａｔｕｒｅ）、ポインタ、またはデータ・ブロック）に対する、関連の備えの観点から、互いに重畳されていると考えることができる。したがって、３つの地図レイヤのサイズおよび形状は、互いに密接に対応し、必要に応じて、これらのレイヤのいずれかおよびこれらのレイヤ内の各エントリのいずれかにアクセスするように構成されたデータ処理システム内で、それぞれの地図レイヤ内の各エントリについての所望の関連をできる限りシームレスにすることが好ましい。本明細書の議論は、主にデータの３つのレイヤから形成された地図を対象とするが、本発明を、３つより少数または３つより多数のデータのレイヤを使用して実行することが可能であり、そのような変形形態のすべてが、本発明の範囲に含まれることが意図されていることを諒解されたい。
【０７１７】
３つの地図レイヤは、等しいサイズを有し、互いに位置決めされていることが好ましいので、単一のカラー・イメージを作るために異なる色（コンピュータ・ディスプレイでは赤、緑、青、あるいは、印刷媒体についてはシアン、マゼンタ、イエロー）でオーバーレイすることができる。図１〜３を、カラーで（電子ディスプレイ上または印刷媒体上のいずれかで）表示することができ、単一のカラーＪＰＥＧ２０００としてサーバサイドで格納することができる。しかし、説明を単純にするために、図Ａ１４−１〜−３は、本願では白黒で提示される。プリレンダリング済みレイヤだけが、クライアントのディスプレイ上で、この形で、実際に可視であることが好ましい。
【０７１８】
図Ａ１４−１に、１０２から１２４までの符号を付けられた複数の地物（ｆｅａｔｕｒｅｓ）を含む道路地図の事前レンダリング済みレイヤを示す。図を単純にするために、図Ａ１４−１では、図示の地物（ｆｅａｔｕｒｅｓ）は、すべてが道路セグメントである。しかし、地物（ｆｅａｔｕｒｅｓ）に、スポーツ・アリーナ、公園、大きいビルディングなど、多数の他のエンティティを含めることができる。図Ａ１４−１に示された領域は、例示のために含まれ、実世界の都市または街路レイアウトには対応しない。
【０７１９】
図Ａ１４−２に、本発明の１つまたは複数の実施形態による、図Ａ１４−１の道路地図、ならびに、道路セグメントの低い集中を有する領域内のそれぞれの道路セグメントに対応するポインタおよびデータ・ブロックを示す。道路セグメント１０２が、図Ａ１４−２に示されており、図Ａ１４−１からの他の道路セグメントが、図Ａ１４−２で再生されている。しかし、スペース制限に起因して、他の１１個の道路セグメントの符号（１０４〜１２４）は、図Ａ１４−２には示されていない。図Ａ１４−２および−３の全体を通じて、ポインタは、暗い灰色のブロックとして図示され、データ・ブロックは、より大きい明るい灰色のブロックとして図示されている。
【０７２０】
図Ａ１４−２には、単位面積あたりの道路セグメントの比較的低い集中を有する領域が示されているので、ポインタが対応するそれぞれの地物（ｆｅａｔｕｒｅｓ）の地図２００の第１レイヤ（事前レンダリング済みレイヤ）内の位置に密接に対応し、おそらくは同一に対応する地図２００の第２レイヤ（ポインタ・レイヤ）内の位置でポインタ（２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６、２１８、２２０、２２２、および２２４）を置くことは難しくない。同様に、データ・ブロック（２４２、２４４、２４６、２４８、２５０、２５２、２５４、２５６、２５８、２６０、２６２、および２６４）を、データ・ブロックが対応するそれぞれの地物（ｆｅａｔｕｒｅｓ）の地図２００の事前レンダリング済みレイヤ内の位置に適度に密接に対応する地図２００の第３レイヤ（データ・レイヤ）内の位置に置くことができる。
【０７２１】
図Ａ１４−３に、本発明の１つまたは複数の実施形態による、複数の下位の道路３２０および少数の主な道路３１０の道路セグメントの集中セットならびに道路セグメントの高い集中を有する領域内のそれぞれの道路セグメントに対応するポインタおよびデータ・ブロックを示す。符号３３０は、ポインタのすべてを指し、符号３４０は、データ・ブロックのすべてを指す。
【０７２２】
図Ａ１４−３の例示的領域内で、地物（ｆｅａｔｕｒｅｓ）の集中は、すべてのポインタまたはすべてのデータ・ブロックを、それらが対応するレイヤ１内の地物（ｆｅａｔｕｒｅｓ）の位置に正確に対応するそれぞれのレイヤ内の位置に置くことを可能にするには、高すぎる。ポインタ位置のオフセットの度合は、混雑の度合に応じて、小さいまたは大きい場合がある。しかし、図Ａ１４−３の道路セグメントの集中は、データ・ブロックが対応するレイヤ１内のそれぞれの地物（ｆｅａｔｕｒｅｓ）の位置に密接に対応するレイヤ３内の位置にデータ・ブロックを置くことを妨げる。
【０７２３】
したがって、データ・ブロック３４０は、都合良く地物（ｆｅａｔｕｒｅｓ）がない近くの空の領域３５０を利用し、これにより、データ・ブロック３４０が空の領域３５０にオーバー・フローすることを可能にすることによって、データ・ブロック３４０の対応するポインタのできる限り近くに分配される。空の領域３５０は、たとえば水域（ｂｏｄｙ  ｏｆ  ｗａｔｅｒ）または農園など、関連するポインタおよびデータ・ブロックを有する地物（ｆｅａｔｕｒｅｓ）の大きい集中を有しないすべてのタイプの領域とすることができる。詰込みアルゴリズムを用いて、地図３００内にデータ・ブロック３４０を効率的置くことができる。このタイプのアルゴリズムは、本願で後で述べられ、したがって、その議論は、このセクションでは繰り返さない。
【０７２４】
ユーザが、図Ａ１４−１に示された地図１００のビューにナビゲートする場合に、クライアントは、図示の３つすべてのイメージ・レイヤの関連する部分をサーバに要求することができる。事前レンダリング済みレイヤは、一般に、この３つのイメージ・レイヤのうちで、地理的領域の物理的レイアウトを表すイメージ・コンポーネントを表示する唯一のレイヤである。他の２つのイメージ・レイヤは、事前レンダリング済みレイヤ内の地物（ｆｅａｔｕｒｅｓ）に対応するポインタおよびデータ・ブロックを指定することが好ましい。
【０７２５】
一実施形態で、ポインタ・イメージは、２×２ピクセル・グリッドに位置合せされた２×２ピクセルのブロックからなり、このブロックのそれぞれは、それ自体の位置からデータ・レイヤ内の対応するデータ・ブロックの先頭（左上コーナー）までの（ｘ，ｙ）ベクトル・オフセット（ベクトルのｘ成分およびｙ成分のそれぞれは、Ｚ６ビット整数を含み、したがってそれぞれ２ピクセルである）を指定する。
【０７２６】
この実施形態では、対応するデータ・ブロックは、データ・ブロックの幅および高さを指定する２つの１６ビット値（４ピクセル）から始まることができる。幅が、まず指定され、少なくとも２ピクセルの大きさを有するように制約され、したがって、幅および高さの読取での曖昧さが回避されることが好ましい。データ・ブロックの残りは、ベクトル、テキスト、または他の情報の任意の組合せを含むことができるバイナリ・データとして扱うことができる。図Ａ１４−２〜−３の例では、データ・ブロックは、通りの名前、住所の範囲、およびベクトル表現を含む市街地図情報を含むことができる。
【０７２７】
圧縮（Ｃｏｍｐｒｅｓｓｉｏｎ）
このセクションでは、上で述べたポインタ・レイヤとデータ・レイヤとの組合せの１つまたは複数の実施形態の、既存の手法を上回る利点を提示する。１つの既存の解決策は、ウィンドウ・オブ・インタレスト（ｗｉｎｄｏｗ  ｏｆ  ｉｎｔｅｒｅｓｔ）内のすべての関連するテキスト／ベクトル情報に関する要求をスペース的データベースに送信することを用いる。次に、サーバは、ある量のテキストを応答する。既存のスペース的データベース・システムは、実質的にプレーン・テキストとしてこの情報を送り返す。
【０７２８】
しかし、本発明の１つまたは複数の実施形態では、ウェーブレット圧縮を適用することができ、これによって、サーバが、データ要求を満足すると同時に、既存システムが送信するものよりはるかに少ない量のデータを送信することを可能にする。データ・レイヤおよびポインタ・レイヤ上のデータ格納領域の間に置かれた、データ・ストレージを有しない領域は、イメージがラスタ順序で非圧縮で送信される場合よりはるかに少ない無駄を生み出す。というのは、これらの領域が、０の複雑さを有し、ウェーブレット表現で非常に少数のビットに圧縮され得るからである。
【０７２９】
スペース的コヒーレンスの活用（Ｅｘｐｌｏｉｔａｔｉｏｎ  ｏｆ  Ｓｐａｔｉａｌ  Ｃｏｈｅｒｅｎｃｅ）
通常のブラウジング・パターンには、漸進的なズームおよびパンが含まれる。複数分解度ストリーミング・イメージ・ブラウジング技法は、このコンテクストでよく働くように設計される。完全な情報を、ウィンドウ・オブ・インタレストについて送信することができ、部分的な情報を、ウィンドウ・オブ・インタレストを直接に周囲の領域について送信することができる。パンまたは他の動きの際には、関連する新しい情報（「デルタ」）だけが送信されることが好ましい。このすべてを、非常に効率的な形で行うことができる。たとえば、特に大きいデータ・ブロックを、ウィンドウ・オブ・インタレストがそのデータ・ブロックのアンカ・ポイントと交差するより十分に前に部分的に送信することができる。
【０７３０】
性能（Ｐｅｒｆｏｒｍａｎｃｅ）
本発明の１つまたは複数の実施形態で、ポインタ・レイヤは、データ・ブロックが、それが対応するポインタからどれほど離れているかを示す。田舎の区域で、データ・ブロックをポインタ位置に直接にセンタリングできることを想起されたい。この場合に、すべてのデータが、完全にローカルになることになる。しかし、都市区域では、データが「混雑」し始め、データ・ブロックが、そのデータ・ブロックが対応するそれぞれのポインタ（ポインタ・イメージ内）およびそれぞれの地物（ｆｅａｔｕｒｅｓ）（事前レンダリングされるイメージ内）からオフセットした位置にある場合がある。
【０７３１】
本発明の１つまたは複数の実施形態では、地図が生成されるときに、事前レンダリングされるイメージ内でデータ・ブロックが対応する地物（ｆｅａｔｕｒｅ）からのそのデータ・ブロックの最大変位に、上限を課すことができる。これは、事前レンダリングされるイメージ内の所与のサイズのウィンドウ・オブ・インタレストに関連するデータ・レイヤの部分の最大面積を制限し、したがって、その部分の最大の複雑さを制限する。たとえば、最大変位が３２ピクセルである場合に、データ・イメージ内のウィンドウは、事前レンダリングされるイメージ内のウィンドウ・オブ・インタレストより各辺で３２ピクセル大きいことだけが必要である。
【０７３２】
データ密度が、詰込みが可能であるポイントを超えて高まる場合に、必ず、分解度を、たとえば１５メートル／ピクセルから１２メートル／ピクセルに、高めることができる。これは、データに、より多くの「動きまわれるスペース（ｂｒｅａｔｈｉｎｇ  ｓｐａｃｅ）」を与える。異なる種類のデータを、異なる詳細レベルの間で分散させることもできることに留意されたい。したがって、たとえば、４０メートル／ピクセルの分解度でのデータの過度の混雑は、そのデータのあるクラスを３０メートル／ピクセル・レベルでよりよく格納される可能性があることを意味する。
【０７３３】
混雑は、データ・レイヤ内およびポインタ・レイヤ内で可視になる場合がある。データの異なるクラスに適当な分解度は、スペースにまたがって変化する可能性があり、その結果、たとえば、小さい街路のベクトル・データが、田舎区域では３０メートル／ピクセルでエンコード可能であるが、都市区域では１２メートル／ピクセルでのみエンコード可能になる場合がある。要するに、ポインタ・イメージおよびデータ・イメージは、視覚的にまたはデータ処理アルゴリズムを使用してのいずれかにより、データ混雑を検出し、訂正するのを簡単にする。データ・イメージの結果の階層は、任意の所与のビューに必要なデータの量を、上限を超えないように制御できるので、低帯域幅セッティングにおいてさえ、高性能ベクトル・ブラウジングを確実にするのを助けることができる。この種類の上限は、既存の地理空間データベースでは、強制することが、または定義することさえも、極端に困難である。
【０７３４】
実装の便宜（Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  Ｃｏｎｖｅｎｉｅｎｃｅ：）
本発明の１つまたは複数の態様は、地理空間データベース問題をリモート・イメージ・ブラウジング問題にマッピングすることに関する。大量のエンジニアリングが、リモート・イメージ・ブラウジングを効率的に働かせることに投入されてきた。基本的な圧縮テクノロジに加えて、これには、キャッシング、帯域幅管理、クライアントとサーバとの両方に関するメモリ使用量、およびサーバ・サイドでのファイル表現の最適化が含まれる。このテクノロジは、普通の地理空間データベース・テクノロジと対比すると、成熟しており、複数の実装で使用可能である。
【０７３５】
したがって、本発明の１つまたは複数の実施形態は、適切に配置された地理空間データベースと、その地理空間データベースと相互作用するリモート・イメージ・ブラウジング・テクノロジとの間の効率的な協力をもたらすことを企図したものである。さらに、本発明の１つまたは複数の実施形態では、クライアント・サイドのデータに関するごく単純なアダプタを有する単一のシステムだけが、イメージ・ブラウジングとデータ・ブラウジングとの両方に使用される必要がある。前述は、一方はイメージ・ブラウジング用、もう一方はデータ・ブラウジング用の、２つの準独立の複雑システムを有することより好ましい。
【０７３６】
ポインタを表す代替方法
本発明の１つまたは複数の代替実施形態では、時々ヒルベルト−ペアノ曲線とも呼ばれるヒルベルト曲線を考慮する。ヒルベルト曲線は、スペース充填曲線として知られる再帰的に定義された曲線の系列に属する（たとえば、ｈｔｔｐ：／／ｍａｔｈｗｏｒｌｄ．ｗｏｌｆｒａｍ．ｃｏｍ／ＨｉｌｂｅｒｔＣｕｒｖｅ．ｈｔｍｌ、または参照によって本明細書に組み込まれている、オリジナルの文献、Ｈｉｌｂｅｒｔ，  Ｄ．  “Ｕｅｂｅｒ  ｄｉｅ  ｓｔｅｔｉｇｅ  Ａｂｂｉｌｄｕｎｇ  ｅｉｎｅｒ  Ｌｉｎｉｅ  ａｕｆ  ｅｉｎ  Ｆｌａｃｈｅｎｓｔｕｅｃｋ．”  Ｍａｔｈ．  Ａｎｎ．  ３８，  ４５９−４６０，  １８９１を参照）。次数１、２、３、４、および５のヒルベルト曲線を、それぞれ図Ａ１４−６、−７、−８、−９、および−１０に示す。
【０７３７】
高次の極限で明白であるとおり、この１次元曲線は、単位正方形全体を充填する（形式的には、単位正方形内で密になる）。ｎ次曲線は、単位正方形上の４＾ｎ個のポイントを訪れる。一次の場合に（４＾１）、これらのポイントは、正方形のコーナーである。本発明に関連する目的のためには、ｎ次曲線が正方形内の整数座標（０，０）−（２＾ｎ−１，２＾ｎ−１）のすべてを訪れることが好ましい。ビット操作を使用することによって、ｎ次ヒルベルト曲線上の経路長と（ｘ，ｙ）座標との間で相互変換する既知の素速いアルゴリズム（Ｗａｒｒｅｎ，  Ｈｅｎｒｙ  Ｓ．  Ｊｒ．，  Ｈａｃｋｅｒ’ｓ  Ｄｅｌｉｇｈｔ，  Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  ２００３，  ｃｈａｐｔｅｒ  １４を参照）、があり、このアルゴリズムは、これによって、参照によって本明細書に組み込まれる。たとえば、二次曲線について、この相互変換は、次の表の左列から右列へまたはその逆に写像することになる。
【０７３８】
【表２３】
2008517540.tif 000068
【０７３９】
ヒルベルト曲線は、単一の数ｄとして２次元ベクトル（成分ｘおよびｙを有する）をエンコードすると同時に「近傍関係」を比較的よく保存する便利な形をヒルベルト曲線が提供するので、ポインタ・イメージのエンコーディングという問題に関係する。近傍関係とは、一般にその「ｄ」値が近いポイントは、２次元スペース内でも近いので、ベクトル位置がゆっくり変化するときに、ｄもゆっくり変化する傾向があることを意味する。しかし、この関係は、必ず成り立つわけではない。たとえば、次数２の場合に、（１，０）から（２，０）に移動するときに、経路距離「ｄ」は、１から１４になる。２Ｄスペースを１Ｄ曲線で充填し、必ず近傍関係を保存することは、可能ではない。
【０７４０】
ｎ次ヒルベルト曲線の経路距離ｄを表すことは、２＊ｎ（２かけるｎ）ビットを必要とする。２次元表現を用いるときには、ｘ座標およびｙ座標のそれぞれが、経路距離ｄ上に置かれた１ポイントを表すのにｎビットを必要とする。したがって、ベクトルを「ヒルベルト」コーディングすることによって、数の対（ｘ，ｙ）が単一の数ｄとして再パッケージ化されるが、入力（ｘ，ｙ）と出力ｄとの両方は、同一のビット数すなわち２ｎを使用する。小さい（ｘ，ｙ）ベクトルは、ｄの小さい値にエンコードされる。実際に、ｎ次ヒルベルト曲線が、この（ｎ＋１）次曲線の左下１／４に過ぎないことを観察することができる。
【０７４１】
したがって、８ビット・イメージ内のすべてのピクセルの値を、４次ヒルベルト曲線上の経路距離と解釈することができ、したがって、範囲（０，０）−（１５，１５）すなわち１６＊１６グリッド上のすべての場所のベクトルをエンコードすることができる。ｘの４ビットを下位ニブルに、ｙの４ビットを上位ニブルに詰め込むのではなく、ヒルベルト・コーディングされたピクセルは、ｘとｙの両方が４未満の場合には１６未満、ｘとｙの両方が２未満の場合には４未満の値を有する。データ詰込みアルゴリズムは、アンカ・ポイント（ポインタが挿入される場所）のできる限り近くにデータ・ブロックを詰め込むことが好ましいので、小さい値を有するベクトルは、一般的である。さらに、これらのベクトルがヒルベルト・コーディングされる場合に、これは、ポインタ・イメージ内での小さいピクセル値に変換され、したがって、よりよいイメージ圧縮性能に変換される。
【０７４２】
一実施形態では、１６ビット・イメージまたは２４ビットイメージが利用され、これらのイメージは、それぞれ２５６＊２５６グリッドまたは４０９６＊４０９６グリッド上の（ｘ，ｙ）ベクトルをエンコードすることができる。値２５６は、２＾８と等しく、値４０９６は、２＾１２と等しい。
【０７４３】
一実施形態で、ヒルベルト・コーディング・アルゴリズムは、符号付きベクトルに対処するように変更され、ここで、ｘ値およびｙ値は、正数と負数との両方にまたがる範囲にわたる。この変更は、経路距離ｄに沿って、ベクトル象限を識別する２つの余分なビットを指定することを伴う。これらの２ビットは、ｘおよびｙの符号ビットである。次に、ｘおよびｙの絶対値を、通常通りにヒルベルト・コーディングする（二重カバレッジを避けるために、ｘ＝０およびｙ＝０は、正の象限に属し、負のｘまたはｙの絶対値は、−１−ｘまたは−１−ｙとして計算される）。この実施形態では、符号ビットは、出力値の２つの最下位ビット位置に割り当てられ、その結果、象限のそれぞれのコーディングされるベクトルの数値範囲は、ほぼ等しくなる。したがって、１６ビット・イメージの例について、両端を含んで−１２８と＋１２７との間のｘ値およびｙ値を有するベクトルを、象限ごとに七次ヒルベルト曲線を使用してコーディングすることができる。−６３と＋６３との間のｘ値およびｙ値を有するベクトルは、１４ビットを用いて表すことのできるピクセル値を割り当てられ、ここで、２＾１４＝１６３８４である。ｘおよびｙが−８と７との間にある場合には、この値は、２＾８＝２５６未満である。
【０７４４】
詰込みアルゴリズム（ｐａｃｋｉｎｇ  ａｌｇｏｒｉｔｈｍ）
１つまたは複数の実施形態で、ポインタ・レイヤおよびデータ・レイヤは、事前レンダリング済みレイヤと同様に事前に計算される。ポインタ・レイヤおよびデータ・レイヤの事前計算は、関連するベクトル・データのすべてをデータ・ブロックにエンコードすること、およびポインタとデータ・ブロックとの両方をできる限り効率的にそのそれぞれのレイヤに詰め込むこと、からなる。田舎区域またはまばらな近郊区域（図Ａ１４−２を参照されたい）では、地物（ｆｅａｔｕｒｅｓ）は、よく分離される傾向があり、ポインタ・イメージおよびデータ・イメージ内の大きい空の領域をもたらす。ポインタが発生する場合に、ポインタは、それが参照する地物（ｆｅａｔｕｒｅ）に正確に乗ることが好ましく、それに対応するデータ・ブロックは、しばしば、正確にそのポインタにセンタリングされる。しかし、密な都市区域（図Ａ１４−３を参照されたい）では、地物（ｆｅａｔｕｒｅｓ）は、しばしば、事前レンダリング済みレイヤ内の対応する地物（ｆｅａｔｕｒｅｓ）の位置に密接に対応する位置にポインタおよびデータ・ブロックをおさめるには互いに近すぎる。したがって、四辺形詰込みアルゴリズムを使用して、ポインタおよびデータ・ブロックを、一切オーバーラップなしでその所望の位置のできる限り近くに置くことを試みることが役に立つ。
【０７４５】
その結果は、図Ａ１４−３で明白である。空の領域３５０は、道路３１０に沿って複数の道路３２０との交差点に存在する地物（ｆｅａｔｕｒｅｓ）に対応するデータ・ブロック３４０を充填される。都市区域は、通常、よりまばらな区域（近郊住宅地区、山、または水域）によって囲まれているので、都市データ・ブロックを、地図上のどこかで、それが対応する地物（ｆｅａｔｕｒｅｓ）を有する都市区域の適度に近くに置くことが可能である。
【０７４６】
一般に、人口密集都市内であっても、この「あふれだし」が過度に極端にはならない、十分な空きスペースがある。一般に、あふれだしのレートが高いほど、地図のベクトル・ベータはより不明確に局所化されるようになる。あふれだしは、一般に、データ・レイヤ・イメージの分解度が高められるときに劇的に減る。効率および非局所性が適度にバランスをとられる分解度を見つけることが、有益である。北米では、１５メートル／ピクセルが、一般によい選択である。１５メートル／ピクセルという分解度は、田舎区域では「やりすぎ」であるが、都市付近では、この分解度の選択は、あふれだしを制限する傾向がある。
【０７４７】
効率的な四辺形詰込みは、計算的に困難な問題である。しかし、計算幾何学の文献に、これを解くための多数の近似アルゴリズムがあり、本発明は、これらのうちのどの特定の１つにも限定されない。言い換えると、計算幾何学の文献に記載され、当業者に既知の四辺形詰込みアルゴリズムの１つまたは複数を、本発明の１つまたは複数の実施形態と共に用いて、データ・レイヤ内にデータ・ブロックを置くことができる。
【０７４８】
本発明の１つまたは複数の実施形態と共に既に使用されている好ましいアルゴリズムは、階層「四辺形ツリー」を用いるが、これは、次の動作を素速く行うことを可能にする：所与の四辺形が既にそのツリーに含まれる他の四辺形のいずれかと交差するかどうかをテストすること、オーバーラップしない四辺形を挿入すること、およびターゲット・ポイントｐの周囲の半径ｒ０＜＝ｒ＜ｒ１のリング内の「空のコーナー」（すなわち、空のスペースに接する既に挿入されている四辺形に接するコーナー）の完全なセットを見つけること。
【０７４９】
「貪欲なアルゴリズム」は、ターゲット・ポイントのできる限り近くに新しい四辺形を挿入するのに使用され、次のように進行する。  
１）ターゲット・ポイントを中心とする四辺形の挿入を試みる。これが成功する場合には、アルゴリズムは終了する。  
２）そうでない場合には、四辺形の長さまたは幅の最小値の半分になるように半径ｒ０を定義し、ｒ１＝ｒ０＊２と定義する。  
３）ｒ０とｒ１との間のすべての「空のコーナー」を見つけ、半径を増大させてソートする。  
４）これらのコーナーのそれぞれに次々と四辺形を置くことを試み、成功の際には、アルゴリズムは終了する。  
試みられた挿入のどれもが成功しない場合には、ｒ０にｒ１をセットし、ｒ１に２＊ｒ０をセットし、ステップ３に進む。
【０７５０】
好ましい実施形態では、このアルゴリズムは、置かれる四辺形の寸法と一致するかこれを超える空のスペースがイメージ内のどこかに存在するならば、四辺形を置くことに最終的に成功する。このアルゴリズムは、一度に一つの四辺形を置くという意味で「貪欲」である。この貪欲なアルゴリズムは、できる限り効率的にｎ個の四辺形を詰め込むという全体的論問題を解くことは試みない。全体論的アルゴリズムは、詰込み効率の明示的尺度の定義、無駄にされるスペースの最小化と、四辺形とその「ターゲット・ポイント」との間の距離の最小化との間の所望のトレードオフの指定、を含む。貪欲なアルゴリズムは、より少なく最適であるが、上のアルゴリズムの説明から明瞭であるように、このトレードオフを明示的に指定することを必要としない。
【０７５１】
図Ａ１４−４に、３つの場合に関する基本的な詰込みアルゴリズムの出力を示す。それぞれの場合で、このアルゴリズムは、複数の四辺形を共通のポイントのできる限り近くに連続して置いた。四辺形詰込み問題に対するこの解決策は、例として提供される。左端の場合では、四辺形のほとんどが、小さく細い。３つのうちの中央の例、大きく、および少なくとも実質的に正方形の四辺形が、使用される。右端の例では、小さい四辺形と大きい四辺形の混合が使用される。
【０７５２】
貪欲な詰込みアルゴリズムが地図のどの特定の区域をも配置について優先しないようにするために、四辺形挿入の順序をランダム化することが望ましい。したがって、好ましい実施形態では、ポインタ／データ・ブロック対が、ランダムな順序で挿入される。他の順序付けが、ある種の情況で詰込み効率をさらに改善する場合がある。たとえば、小さいブロックの前に大きいブロックを挿入することによって、無駄にされるスペースを最小にすることができる。
【０７５３】
好ましい実施形態では、ポインタ・データは、２ピクセル×２ピクセル（行に沿った２ピクセルおよび列に沿った２ピクセルを意味する）ユニットに編成される。したがって、ピクセル単位では、各ポインタが、２×２である（この表記は行×列である）ことが好ましい。しかし、代替実施形態では、ポインタの行サイズおよび列サイズを変更することができる。代替実施形態では、ポインタを、１２次ヒルベルト・コーディングを使用して、単一の２４ビット・カラー・ピクセルによって表すことができる。
【０７５４】
データ・ブロックについては、データ・ブロックのアスペクト比選択における自由があり、正方形ピクセル単位のブロック面積は、そのブロックにおさまるデータの量によって決定されるが、この面積は、多数の異なる形状の四辺形に適合する可能性がある。たとえば、２４バイトのデータ・ブロック（４バイトの高さおよび幅情報と、２０バイトの任意データとを含む）は、正確に１×２４、２×１２、３×８、４×６、６×４、８×３、または１２×２として表すことができる（この実施形態では、上で説明したように、ブロック寸法がクライアント・サイドで既知になる前に２バイト幅をデコードできるようにするためにブロック幅が少なくとも２でなければならないので、２４×１は、失格にされる）。
【０７５５】
このデータ・ブロックは、１バイトを使い残して、５ピクセル×５ピクセル・ブロック（または「５×５」）内で表すこともできる。本明細書では、近似因数分解５×５に加えて、上でリストしたすべての因数分解の集合を、「シーリング因数分解」と称する。有効なシーリング因数分解の仕様は、その面積が、当のデータ・ブロックの寸法と一致するかこれを超えること、およびどの行または列も完全には無駄にされないことである。たとえば、７×４または３×９は、それぞれ６×４および３×８に縮小できるので、好ましいシーリング因数分解ではない。最も単純な実装では、ブロック寸法を、データ長のシーリング因数分解だけに基づいて選択することができる。一般に、「より正方形の」ブロック（４×６など）は、不等辺のブロック（２×１２など）よりもよく詰め込まれる。
【０７５６】
したがって、最も単純なブロック・サイズ決定アルゴリズムは、無駄にされるバイトに対して「正方形への近さ」をどのようにトレードオフするかに応じて、４×６または５×５のいずれかを選択することができる。より洗練されたブロックサイズ選択アルゴリズムは、ターゲット・ポイントの近くでの空のスペースの検索の一部として、適応式にブロック寸法を選ぶことができる。１つの実施形態では、上のアルゴリズムのステップ１および４が、次のように変更される。１）より正方形に近い因数分解を優先し、おそらくは無駄にされるバイトに関するペナルティを伴って、望ましさによって、必要なデータ長を有するシーリング因数分解をソートする。２）各シーリング因数分解によって与えられる寸法の四辺形を、順番にターゲット・ポイントｐに置くことを試みる。３）これらの挿入のいずれかが成功する場合に、アルゴリズムは終了する。４）「空のコーナー」ｃのそれぞれについて、順番に、シーリング因数分解のそれぞれによって与えられる寸法の四辺形を順番にｃに置くことを試みる。成功の際にはアルゴリズムが終了する。
【０７５７】
このアルゴリズムのさらなる洗練は、挿入に関するスコアリング関数の指定を伴い、このスコアリング関数は、全体論的最適化関数と同様に、無駄にされるスペースと、非正方形アスペクト比と、ターゲット・ポイントからの距離とをトレードオフする。
【０７５８】
３つの地図レイヤすなわち事前レンダリング済みレイヤ、ポインタ・レイヤ、およびデータ・レイヤのそれぞれが、ＪＰＥＧ２０００表現または類似するスペース的にアクセス可能な表現として格納されることが好ましい。しかし、データ圧縮の許容可能な条件は、３つのレイヤの異なる１つについて異なる。
【０７５９】
事前レンダリング済み道路レイヤの圧縮は、ロスレスである必要がないが、表示されたときに適度な知覚的精度を有することが有益である。１５ｍ／ピクセルでは、０．５ビット／ピクセル・ロッシイ・ウェーブレット圧縮が十分に適当であることがわかっている。しかし、好ましい実施形態では、ポインタ・レイヤおよびデータ・レイヤは、ロスレスに表現される。というのは、これらのレイヤに、クライアントがその正確な再構成を必要とするデータが含まれるからである。ロスレス圧縮は、通常は、非常に効率的ではない。たとえば、通常のディジタル像は、通常、最善でも約２の因数を超えてロスレスに圧縮はされない。データ・レイヤおよびポインタ・レイヤに関してはるかにより高いロスレス圧縮率を達成し、なおかつ標準的なウェーブレット・ベースのＪＰＥＧ２０００圧縮を用いる技法が、開発された（下の「平坦化」で説明する）。
【０７６０】
代替の詰込み方法
データ・レイヤ内のデータ・ブロックを詰め込む代替実施形態を、このセクションで提示する。好ましい実施形態では、「割振り」関数が、所与の個数のバイト（ピクセルに対応する）を割り振るために定義される。この割振り関数は、類似する普通のメモリ割振り関数（Ｃでは「ｍａｌｌｏｃ」）とは３つの形で異なることが好ましい。
【０７６１】
１）普通のメモリ割振り関数は、１次元アドレス・スペース内の連続する割り振られたインターバルの始めのアドレスに対応するスカラ・ポインタを返すが、本発明の割振り関数によって返されるポインタは、データ・イメージ内の開始位置を指定する２次元ベクトルである。
【０７６２】
２）本明細書で開示される割振り関数によって割り振られるピクセルは、関数「ｍａｌｌｏｃ」によって返されるアドレスから始まる割り振られたバイトのようにすべてが連続しているのではない場合がある。
【０７６３】
３）本明細書で開示される割振り関数は、割り振られるピクセルの所望の個数だけではなく、データ・イメージ上のターゲット位置も渡される。ピクセルの所望の個数は、すべての前に割り振られたピクセルを避けながら、ターゲット位置のできる限り近くで割り振られる。
【０７６４】
「詰込みアルゴリズム」セクションで説明される「割振り」関数および以下で説明する代替の「割振り」関数は、これらの特性を共有する。しかし、前の「割振り」関数は、必ずピクセルの単一の四辺形を割り振るが、以下で説明する関数は、より柔軟にスペースを割り振ることができる。  
データ・イメージの望ましいプロパティ（Ａｌｔｅｒｎａｔｉｖｅ  Ｐａｃｋｉｎｇ  Ｍｅｔｈｏｄ）
１）少ないデータ・オーバーヘッド：今までに調査されたデータ・イメージの１つまたは複数の実施形態は、ある補助データをエンコードすることを必要とする。予備バージョンでは、このデータに、幅および高さに関する１６ビット値として格納されるブロック寸法が含まれる。したがって、オーバーヘッドは、データの割り振られたチャンクあたり４ピクセルであった。  
２）最小限の無駄にされるスペース：これまでに調査されたデータ・イメージの１つまたは複数の実施形態は、いくつかのピクセルを無駄にする場合がある。たとえば、一実施形態で、２６ピクセルを要求することが、８×４ピクセル・ブロックの割振りをもたらした場合がある。８×４＝３２個の結果のピクセルのうちで、４個はオーバーヘッドであり、もう２個は無駄にされる。  
３）よいスペース的局所化：同一のターゲット位置付近でのデータのかなり大きいチャンクの繰り返される割振りは、「混雑」をもたらす。データ・ピクセルは、ターゲットにできる限り近いことが望ましい。
４）コヒーレンス：性能の理由と、データ・イメージへの固定サイズのウィンドウを与えられて不完全なデータ・チャンクの個数を減らすこと、の両方のために、単一のチャンクのピクセルをできる限り連続した状態に保つことが望ましい。
【０７６５】
これらのプロパティの間のトレードオフは、一般に行われなければならない。たとえば、コヒーレンスおよびスペース的局所化は、類似するプロパティであるように思われるが、これらは、しばしば衝突する。長いデータ・チャンクが、混雑したスポットの近くで割り振られる場合に、最も近い連続領域が、遠くにあり、一方、データ・チャンクがその代わりに割れ目を満たすために分割されるならば、必要な個数のピクセルを近くで割り振ることができ、よりよい局所化がもたらされるが、より悪いコヒーレンスがもたらされる場合がある。
【０７６６】
本発明の１つまたは複数の実施形態は、ｎ＊ｍピクセル・ブロックになるようにデータ割振りの基本スペース単位をセットすることによって、データ詰込みを単純化し、ここで、ｎおよびｍは、小さいが、２＊２より小さくはなく、スペーシングｎ＊ｍを用いてグリッド上で整列される。したがって、これらのブロックは、「スーパー・ピクセル」と考えることができる。
【０７６７】
単一の割り振られたチャンクは、通常、ｎ＊ｍを超えるバイトを有し、したがって、そのチャンクは、複数のブロックにまたがらなければならない。したがって、ブロックは、連鎖されることが好ましい。あるブロックの最初の２つのピクセルは、チェーン内の次のブロックをポイントするポインタを備えることが好ましい（このポインタは、上で説明したようにヒルベルト・コーディングすることができる）。これは、事実上、単一リンク・リストの２次元類似物である。ベクトルは、現在のブロックに対して相対的にグリッド単位で指定することができ、その結果、たとえば、あるブロックがベクトル（＋１，０）を指定する場合には、これは、そのチャンクが右側の次のブロックに連続することを意味し、あるブロックが（−２，−１）を指定する場合には、これは、そのチャンクが左側の２ブロックおよび上の１ブロックに連続することを意味する。（０，０）ベクトル（ヌル・ポインタと同等）は、現在のブロックがチェーン内の最後のブロックであることを示すのに使用することができる。
【０７６８】
この方式でのデータ・オーバーヘッドは、ブロック・サイズが非常に小さい場合に多くなる可能性がある。２×２ブロックの限定的な場合について、１ブロックあたり４つのピクセルのうちの２つは、次のブロックへのポインタとして働き、オーバーヘッド・データが、ブロックの全データのうちの半分になる。しかし、多数の相殺される要因がある。１つは、詰込み問題が大幅に単純化され、より少ない無駄にされるスペースおよびよりよい局所化を伴うより最適の解決策がもたらされることである。
【０７６９】
一実施形態で、チャンク割振りアルゴリズムは、ｎ＊ｍブロックをシーケンシャルに割り振ることによって働く。ｋバイトについて、ｃｅｉｌ（（ｎ＊ｍ−２）／ｋ）個のブロックを割り振ることができる。あるブロックの割振りは、ターゲット・ポイントに最も近い空のブロックを突き止めること、およびそれをフルとしてマークすることからなるものとすることができる。要求された個数のブロックを割り振った後に、データおよび次ブロック・ポインタが、これらのブロックに書き込まれる。「最も近い」は、さまざまな尺度を使用して定義することができるが、有用なプロパティを有する４つの選択は、次の通りである。  
１）ユークリッド（Ｌ２）ノルム：これは、ターゲットまでの最短直線距離を有するブロックを選択し、同心リング内のブロックを充填する。  
２）マンハッタン（Ｌ１）ノルム：この距離尺度は、ｘオフセットおよびｙオフセットの絶対値の和である。円は、Ｌ２ではターゲット・ポイントから等距離のポイントのポイントの集合を定義するが、Ｌ１では、四辺形がこの集合を定義する。したがって、ブロックは、この尺度を使用するときには、集中的に、（複数の）四辺形を充填する。Ｌ１尺度は、ほとんどの応用例についてＬ２より意味をなす。というのは、データ・イメージへのウィンドウ自体が四辺形であり、２次元ポインタの最大範囲が四辺形であるからである。
３）ヒルベルト曲線ノルム：このノルムは、実際のヒルベルト曲線経路長を使用して定義され、象限は、前のセクションで説明したように下位２ビットにエンコードされる。したがって、このノルムを最小化することは、ポインタの大きさを直接に最小化する。また、前の２つのノルムと異なって、このノルムは、非縮退であり、これは、ターゲット・ポイント（最も近いブロック位置に丸められる）から任意の他のブロックまでの距離が一意であることを意味する。したがって、この実施形態では、「最も近い」割り振られていないブロックは、一意に定義される。  
４）四辺形スパイラル・ノルム：この距離は、Ｌ１ノルムに似ているが、ターゲットからＬ１等距離の四辺形経路内のブロックに対する一貫した順序付けを課すことによって、Ｌ１ノルムの縮退を破る。この経路は、この四辺形上の任意のポイントで始まり、終わることができる。便宜のために、時計回りの進行で、下ｘ、下ｙコーナーを指定することができる。このノルムは、ヒルベルト曲線ノルムに似て、「最も近い」割り振られていないブロックを一意に定義するという利点を有する。先在するフルブロックとの衝突がないと仮定すると、シーケンシャル・ブロックは、隣接し、これによって、ターゲットの回りで延びるスパイラルが形成される。
【０７７０】
割振り中にチェーン内の最良の（空き）次ブロックを選ぶ他の手段も、可能である。一実施形態で、アロケータは、ターゲット・ポイントからの各ブロックの距離だけではなく、前のブロックからの各ブロックの距離をも考慮に入れることができる。同一の尺度を、この２つの距離を測定するのに使用することができる。代替案では、異なる尺度を使用することができ、この２つの距離を、相対重み付け係数と加算するか他の形で組み合わせて、組み合わされた距離を与えることができる。次ブロックの位置を判断する際に前のブロックからの距離に大きい重みを付けることは、コヒーレンスを優先し、ターゲット・ポイントまでの絶対距離に大きい重みを付けることは、スペース的局所化を優先する。したがって、この方式は、単一のパラメータを調整することよって任意の所望の形でコヒーレンスと局所化とをトレードオフすることを可能にする。
【０７７１】
他の重要なパラメータは、ブロック・サイズ「ｎ」である。この議論では、ブロックが正方形である、すなわちｎ＝ｍであると仮定する。ｎがｍと等しくない非正方形ブロックは、ターゲット・ポイントの密度が水平と垂直で異なる情況で、またはコヒーレントなスキャン・ライン・アクセスを優先するコンピュータ・アーキテクチャでのよりよい性能のために、有用である可能性がある。ブロック・サイズは、普通の１Ｄ（１次元）メモリ内の「メモリ・アライメント」に似て、メモリ細分性を定義する。大きいブロック・サイズは、次ブロック・ポインタが割り振られるスペースの分数２／ｎ＾２を使用するのでデータ・オーバーヘッドを減らし、コヒーレンスをも改善する。しかし、大きいブロック・サイズは、ブロック全体が一時に割り振られるので、無駄にされるスペースを増やす。無駄にされるスペースは、スペース的局所化を悪化させる可能性がある。ブロック・サイズの適当な選択は、期待されるチャンク長の分布ならびにターゲット・ポイントのスペース的分布に依存する。最良の選択を行うことは、複雑であり、一般に、典型的なデータを使用する実験によって行われなければならない。
【０７７２】
地図ベクトル・データに関して、４ピクセル×４ピクセル・ブロックが、よいサイズであることがわかっている。データ・オーバーヘッドは、データ全体の１／８であり、これは、かなり多いが、無駄にされるスペースの減らされた量から生じるより隙間のない詰込みは、増やされたオーバーヘッドを好ましく、相殺する。図Ａ１４−１１〜−１３に、４＊４ブロック（図Ａ１４−１１）、６＊６ブロック（図Ａ１４−１２）、および８＊８ブロック（図Ａ１４−１３）を使用する米国バージン諸島のうちの１つのデータイメージ（高コントラスト用に画質を向上）を示す。無駄にされるスペースは、図を明瞭にするために図Ａ１４−１１〜−１３では白として描かれている（実際には、改善された圧縮性能のために、無駄にされるスペースは、値０または黒を割り当てられる）。明らかに、８＊８ブロックは、大量のスペースを無駄にすると同時に貧弱な局所化を提供するが、４＊４ブロックは、はるかに少ないスペースを無駄にし、よりよく局所化する。図Ａ１４−１１の４＊４ブロック・イメージは、他の２つより小さいファイル・サイズに圧縮されもする。
【０７７３】
データ構造が、どのブロックがフルであるかを記憶し、ターゲット・ポイントおよび前のブロック位置に基づいて最も近い空のブロックを見つけるために必要であることに留意されたい。Ｒツリー（Ａｎｔｏｎｉｎ  Ｇｕｔｔｍａｎ，  Ｒ−Ｔｒｅｅｓ：  Ａ  Ｄｙｎａｍｉｃ  Ｉｎｄｅｘ  Ｓｔｒｕｃｔｕｒｅ  ｆｏｒ  Ｓｐａｔｉａｌ  Ｓｅａｒｃｈｉｎｇ，  ＳＩＧＭＯＤ  Ｃｏｎｆｅｒｅｎｃｅ  １９８４：  ４７−５７、これは参照によって本明細書に組み込まれている）は、この問題を解決するのに使用できる効率的な疎データ構造の例を提供する。単純にビット・マップを使用することも可能であり、ここで、「０」ビットは空きブロックを示し、「１」ビットは充填されたブロックを示す。これらのデータ構造の両方が、ストライピングをサポートすることができ、これによって、イメージ全体の一部だけが、任意の所与のときにワーキング・メモリ内に保持される。これは、非常に大きいスペース的データベース・イメージをオフラインで作成することを可能にする。局所化は、よく制限されるので、後続スペース的クエリに関するこのデータ・ベースの使用は、小さいウィンドウが一時に「可視」であることだけを必要とする。
【０７７４】
イメージデータの平坦化（Ｆｌａｔｔｅｎｉｎｇ  Ｉｍａｇｅ  Ｄａｔａ）
ロッシイ圧縮またはロスレス圧縮のいずれかのほとんどの形について、イメージ関数の大きさを小さくし、したがってより少ない上位ビットを占めるようにすることによって、性能を最適化することができる。したがって、いくつかの実施形態では、オリジナル・データを「平坦化する」ために、特殊なコーディング技法が使用される。これらの技法の結果は、図Ａ１４−５で明白であり、図Ａ１４−５には、平坦化の前（図Ａ１４−５Ａ）および平坦化の後（図５Ｂ）の、データ・イメージの同一の人口稠密領域が示されている。図Ａ１４−５に使用されたデータ・イメージは、バージン諸島の道路地図データイメージである。図Ａ１４−５Ｂが、本出願書でより可視になるように故意に暗くされていることに留意されたい。図Ａ１４−５Ｂでは、提示されているように、全体としての四辺形イメージが、灰色のかすかな陰影である。さらに、図Ａ１４−５Ａで非常に明白な少量のピクセル値変動は、まだ、図Ａ１４−５Ｂで、ほとんどはイメージの下半分で可視である。図Ａ１４−５Ｂのピクセルの大多数を通じたピクセル値の一貫性は、図Ａ１４−５Ａのデータの「平坦化」の範囲の有効性を証言するものである。
【０７７５】
図Ａ１４−５Ａを参照すると、平坦化の前に、データ・イメージは、フル８ビットダイナミック・レンジを有し、高い周波数および構造化されたパターンを示し、これらが、このイメージを非常に悪く圧縮させる（実際に、このイメージのロスレスＪＰＥＧ２０００圧縮されたバージョンは、オリジナルの生のサイズより小さくはない）。「平坦化」の後には、構造のほとんどが消え、ピクセルの大多数は、８未満の値を有し、したがって、わずか３ビットを使用して表現することができる。このイメージの対応するＪＰＥＧ２０００圧縮されたバージョンは、３：１よりよい圧縮を有する。
【０７７６】
「平坦化」は、次を含む複数の単純なデータ変換からなるものとすることができる（これは、図Ａ１４−５の例に適用された変換の完全なリストである）。
【０７７７】
図Ａ１４−５に適用された平坦化技法
図Ａ１４−５の平坦化技法では、データ・ブロックの幅または高さなどの１６ビット符号なし値は、通常は、上位バイトおよび下位バイトを使用してエンコードされる。値が、時々指定されない量だけ２５５（８ビット限界）を超えるので、１６ビットを使用することができる。しかし、大多数の場合に、これらの値は、２５５を超えない。８ビットにおさまる値について、上位バイトは０になる。頻繁な０上位バイトとそれに続く大きい下位バイトは、図Ａ１４−５Ａの諸部分で明白な２ピクセル周期性の多くを説明する。１６ビットを、下の表２に示されているように再マッピングすることができる。
【０７７８】
【表２４】
2008517540.tif 000069
【０７７９】
表２では、左の８列は、以前に上位バイトであった対の第１ピクセルを表し、右の８列は、以前に下位バイトであった第２ピクセルを表す。ビットをこの形で再配分することによって、アクセス可能な値の範囲（０〜６５５３５）は変化しないままになるが、この２つのバイトがはるかに対称になる。たとえば、すべての１６ビット値０〜２５５について、この２つのバイトのそれぞれが、１６未満の値をとる。
【０７８０】
類似するビットインターリービング技法が、３２ビット以上の整数値に適用される。これらの技法は、符号付きの量にも拡張可能である。道路ベクトルの差分コーディングについて発生する、符号が頻繁に変化する変数について、符号ビットを、位置０に割り当てることができ、絶対値を、上のように交番するバイトでエンコードすることができる。説得力のある形で描かれるために、道路ベクトル・データを、ピクセル精度を超える精度で表現できることに留意されたい。１ピクセルより小さい任意の単位を、その代わりに使用することができ、あるいは、これと同等に、上の技法と共同して、固定小数点算術を使用してサブ・ピクセル精度を実装することができる。本発明の例示的実施形態では、１／１６ピクセル精度のために、４つのサブ・ピクセル・ビットが使用されている。
【０７８１】
数が上で説明したようにエンコードされるときには、数をできる限り小さくすることが望ましい。時々、コンテクストが、これを行う明白な形を暗示する。たとえば、好ましい実施形態では、各データ・ブロックは、２ピクセル以上の幅なので、エンコーディングの前にデータから２を引くことができる。より重要なことに、ポインタとデータ・ブロック内でエンコードされるすべての位置ベクトルとの両方が、絶対座標ではなくポインタ位置に対して相対的にピクセル単位で指定される。これは、エンコードされる数の大きさを大幅に減らすだけではなく、データ・イメージの一部分を、この部分の絶対位置に関わりなくローカル座標系でベクトル的にデコードし、レンダリングすることをも可能にする。
【０７８２】
好ましい実施形態では、曲線（たとえば、道路の）を定義するポイントのシーケンスのベクトル・レンダリングについて、最初のポイントだけが、オリジナルのポインタ位置に関して相対的に指定される必要がある。後続のポイントは、「デルタ」すなわち前のポイントからのステップ・ベクトルとしてエンコードすることができる。第２のそのようなポイントの後に、追加の後続のポイントは、二次導関数すなわち現在のデルタと前のデルタとの間の差としてエンコードすることができる。二次導関数を使用するエンコーディングは、一般に、道路などの構造に効率的である。というのは、これらの構造が、導関数の連続性を有する曲線の離散化である傾向があるからである。言い換えると、道路は、その方向を漸進的に変更する傾向がある。
【０７８３】
代替の平坦化技法
もう１つの「平坦化」技法が、テキスト・データと共に使用することに関して文献（１）（付録Ａ６として本明細書に添付）に記載されており、このテキストデータは、１バイトあたり単一文字で、通常はＡＳＣＩＩとしてエンコードされる。文献（１）に記載の応用例では、英語テキストがエンコードされており、したがって、文字は、英語の代表的サンプルでの文字出現の減少する頻度に基づいて再マッピングされる。同一の技法を、このコンテクストで使用することができるが、地図内のエンコードされるテキストは、ほとんどが道路名からなり、普通の英語とは非常に異なる統計を有する。たとえば、数字および大文字が、はるかに顕著である。
【０７８４】
上で提示したポインタまたはデータのエンコーディングの特定の方法が、例示であり、多数の他のエンコーディングも可能であることに留意されたい。「よい」エンコーディングは、一般に、滑らかであり、かつ／または低いダイナミック・レンジを有するイメージをもたらす。
【０７８５】
上の技法を使用すると、１ピクセルあたり１５メートル（ｍ）の米国ワシントン州キング郡の道路地図は、下の表３に示されているように圧縮される。
【０７８６】
【表２５】
2008517540.tif 000070
【０７８７】
驚くべきことに、この地図データのＪＰＥＧ２０００表現（ロッシイ事前レンダリングされた道路地図イメージ、ロスレス・ポインタ・レイヤ、およびロスレス・データ・レイヤを含む）は、実際に、表にされたテキストとしてのオリジナル・データを表す圧縮ＺＩＰファイル（このファイルは、米国勢調査局の２００２年ＴＩＧＥＲ／Ｌｉｎｅデータベースの一部である）より小さい。しかし、オリジナルＺＩＰファイルと異なって、新しい表現は、クライアントに対話的に供給される準備ができており、連続的にパン可能かつズーム可能なスペース的アクセスの効率的サポートを伴う。
【０７８８】
文献（２）（別紙Ａ１２として本明細書に添付）で導入されたオリジナルの事前レンダリングされたマルチ・スケール地図の発明は、単一の事前レンダリングされるイメージではなく、線（または他の可視地物（ｆｅａｔｕｒｅｓ））の再スケーリングされた重みを伴う、プログレッシブに、より粗い分解度でレンダリングされるそのような複数のイメージのスタックを含んだ。これらのレンディションのどれからも地物（ｆｅａｔｕｒｅｓ）は省略されないが、いくつかの地物（ｆｅａｔｕｒｅｓ）は、明瞭に集約の意味でのみ可視になるのに十分な程度には、強調されていない。たとえば、都市の地方道路は、州全体のレベルでかすかな灰色のぼけになる。
【０７８９】
本発明の１つまたは複数の実施形態を、オリジナルのベクトル・オブジェクトのサブ・セットだけが表される、より粗い事前レンダリングされた道路地図イメージに対応するポインタ・イメージおよびデータ・イメージを含むように拡張することができる。たとえば、州全体のポインタ・イメージおよびデータ・イメージは、事前レンダリングされるイメージに使用されるイメージよりはるかに低い分解度であるが、地方道路を除外して、州道および国道のデータだけを含む場合がある。これらのより粗いデータは、たとえばベクトルではなく道路名だけを指定する、「要約」とすることもできる。異なる分解度のデータは、オリジナルデータの変化する混合物またはサブ・セット、あるいは要約されたバージョンを含むことができる。この技法は、関連するデータのすべてをより小さい粗いイメージにおさめることを可能にすると同時に、そのスケールでのナビゲーションに関連するベクトル情報のサブ・セットをクライアントに与える。
【０７９０】
上で概要を示した実装は、すべての分解度での８ビット・グレイ・スケール事前レンダリング済み地図イメージを提案するが、事前レンダリングされるイメージを、カラーにすることもできる。さらに、事前レンダリングされるイメージが単一チャネル・イメージである場合であっても、それらのイメージをクライアントによってカラーで表示することができる。というのは、ベクトル・データを使用して、事前レンダリングされた材料と異なる色で重要な道路を描くことができるからである。最後に、事前レンダリングされるイメージは、クライアントがイメージとベクトル材料を適当に合成することに頼って、ベクトル・データ内に存在するある種の地物（ｆｅａｔｕｒｅｓ）または道路を省略することができる。
【０７９１】
本明細書の発明を、特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。
【０７９２】
（特許請求の範囲）
１．イメージを示す情報を送信する方法であって、  
第１イメージとして情報の１つまたは複数のノードを送信すること、  
前記第１イメージ内の事前に決定された位置での表示に利用される特性を定義するベクトルを示す情報を含む第２イメージを送信すること、および  
前記第１および第２のイメージのレシーバが前記事前に決定された位置で前記ベクトルを利用するために前記第１および第２のイメージを相関させることができるように前記第１および第２のイメージの間のマッピングを備える第３イメージを送信すること  
を備えることを特徴とする方法。
２．前記第１イメージは、地図であり、前記第２イメージは、事前に決定された詳細レベルで表示されるのみであるビジュアル・データを定義するベクトルのセットであることを特徴とする請求項１に記載の方法。
３．前記第１イメージは、地図であることを特徴とする請求項１に記載の方法。
４．前記第２イメージは、ハイパーリンクを含むことを特徴とする請求項１に記載の方法。
５．前記第１イメージは、地図であり、前記第２イメージは、ベクトルのセットを含み、前記ベクトルのうちの複数のベクトルは、前記第１イメージ上の前記ベクトルが適用される位置に対応する位置に置かれ、前記ベクトルのうちの複数のベクトルは、前記第１イメージ上の前記ベクトルが適用される前記位置に対応しない前記第２イメージ上の位置に置かれることを特徴とする請求項１に記載の方法。
６．１つまたは複数のベクトルが現れる前記第２イメージ上の位置と前記１つまたは複数のベクトルが適用される前記第１イメージ上の位置との間のスペースの量を減らすために前記第２イメージを構成するのに効率的な詰込みアルゴリズム（ｐａｃｋｉｎｇ  ａｌｇｏｒｉｔｈｍ）を利用することをさらに備えることを特徴とする請求項５に記載の方法。
７．前記ベクトルは、ノードまたはサブ・ノードを起動するための情報を含むことを特徴とする請求項６に記載の方法。
８．リモート・コンピュータからデータの第１、第２、および第３のセットを受信することを備え、前記第１データ・セットは、イメージを表し、前記第２データ・セットは、規定された位置での前記イメージの特性を定義するベクトルを表し、前記第３データ・セットは、前記位置を規定するように働くことを特徴とするイメージをレンダリングする方法。
９．前記規定された位置は、地図上の街路位置であることを特徴とする請求項８に記載の方法。
１０．前記ベクトルは、サブ・ノードを表し、どの条件の下で前記サブ・ノードを起動しなければならないかを示す情報を含むことを特徴とする請求項８に記載の方法。
１１．前記ベクトルは、外部ウェブ・サイトおよび埋め込まれたビジュアル・コンテンツからなる群の少なくとも１つへのハイパーリンクを含むことを特徴とする請求項８に記載の方法。
１２．前記ベクトルは、宣伝材料へのハイパーリンクを含むことを特徴とする請求項８に記載の方法。
１３．前記ベクトルは、イメージ内の事前に決定された位置での前記イメージの諸部分のレンダリング方法を指定する情報を含むことを特徴とする請求項８に記載の方法。
１４．イメージの第１レイヤを提供することであって、前記第１レイヤは、前記第１レイヤ内の位置を有する前記イメージの地物（ｆｅａｔｕｒｅｓ）を含むように提供すること、および
前記イメージの第２レイヤであって、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応するデータ・ブロックを含み、各前記データ・ブロックは、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に実質的に対応する前記第２レイヤ内の位置にあり、前記第２レイヤのサイズおよび形状は、前記第１レイヤのサイズおよび形状に実質的に対応する第２レイヤを提供すること  
を備えることを特徴とする方法。
１５．各前記データ・ブロックは、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の少なくとも１つの特性を記述することを特徴とする請求項１４に記載の方法。
１６．前記イメージの第３レイヤであって、ポインタを含み、各前記ポインタは、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つおよび前記データ・ブロックのそれぞれの１つに対応する、前記第３レイヤを提供することをさらに備えることを特徴とする請求項１４に記載の方法。
１７．各前記ポインタは、各前記ポインタの位置に関する各前記ポインタの対応するデータ・ブロックの位置を示すことを特徴とする請求項１６に記載の方法。
１８．前記記述することは、少なくとも１つの前記地物（ｆｅａｔｕｒｅ）に関するテキスト・データを提供することを備えることを特徴とする請求項１５に記載の方法。
１９．前記記述することは、少なくとも１つの前記地物（ｆｅａｔｕｒｅ）のグラフィカル・イラストレーションを提供することを備えることを特徴とする請求項１５に記載の方法。
２０．前記記述することは、少なくとも１つの前記地物（ｆｅａｔｕｒｅ）を示す幾何学的データを提供することを備えることを特徴とする請求項１５に記載の方法。
２１．前記幾何学的データは、輪郭データを備えることを特徴とする請求項２０に記載の方法。
２２．前記記述することは、少なくとも１つの前記地物（ｆｅａｔｕｒｅ）のカラー情報を提供することを備えることを特徴とする請求項１５に記載の方法。
２３．前記記述することは、少なくとも１つの前記地物（ｆｅａｔｕｒｅ）に関する外部ウェブ・サイトへの少なくとも１つのリンクを提供することを備えることを特徴とする請求項１５に記載の方法。
２４．前記記述することは、少なくとも１つの前記地物（ｆｅａｔｕｒｅ）に関する埋め込まれたビジュアル・コンテンツを提供することを備えることを特徴とする請求項１５に記載の方法。
２５．前記記述することは、少なくとも１つの前記地物（ｆｅａｔｕｒｅ）に関する宣伝情報を提供することを備えることを特徴とする請求項１３に記載の方法。
２６．前記記述することは、道路セグメントの概略詳細を提供することを備えることを特徴とする請求項１５に記載の方法。
２７．前記記述することは、  
少なくとも１つの道路、少なくとも１つの公園、領域の地形（ｔｏｐｏｇｒａｐｈｙ）、水域のｈｙｄｒｏｇｒａｐｈｙ、少なくとも１つのビルディング、少なくとも１つの公衆便所、少なくとも１つのｗｉｒｅｌｅｓｓ  ｆｉｄｅｌｉｔｙステーション、少なくとも１つの電力線、および少なくとも１つのスタジアムからなる群の少なくとも１つの概略詳細（ｓｃｈｅｍａｔｉｃ  ｄｅｔａｉｌ）を提供すること  
を備えることを特徴とする請求項１５に記載の方法。
２８．イメージの第１レイヤであって、前記第１レイヤ内の位置を有する前記イメージの地物（ｆｅａｔｕｒｅｓ）を含む、前記第１レイヤを提供すること、および  
前記イメージの第２レイヤであって、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応するデータ・ブロックを含み、各前記データ・ブロックは、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に実質的に対応する前記第２レイヤ内の位置にあり、前記第２レイヤのサイズおよび形状は、前記第１レイヤのサイズおよび形状に実質的に対応する、第２レイヤを提供すること  
を備えるアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムの制御の下で動作する前記処理ユニットを含むことを特徴とする装置。
２９．イメージの第１レイヤであって、前記第１レイヤ内の位置を有する前記イメージの地物（ｆｅａｔｕｒｅｓ）を含む、第１レイヤを提供すること、および  
前記イメージの第２レイヤであって、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応するデータ・ブロックを含み、各前記データ・ブロックは、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に実質的に対応する前記第２レイヤ内の位置にあり、前記第２レイヤのサイズおよび形状は、前記第１レイヤのサイズおよび形状に実質的に対応する、第２レイヤを提供すること  
を備えるアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムを含むことを特徴とする格納媒体。
３０．イメージの第１レイヤであって、前記第１レイヤ内の位置を有する前記イメージの地物（ｆｅａｔｕｒｅｓ）を含む、第１レイヤを提供すること、  
前記イメージの第２レイヤであって、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応し、これを記述するデータ・ブロックを含み、各前記データ・ブロックは、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に少なくとも実質的に対応する前記第２レイヤ内の位置にある、第２レイヤを提供すること、および  
前記イメージの第３レイヤであって、前記第３レイヤ内の位置を有するポインタを含み、各前記ポインタは、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つおよび前記データ・ブロックのそれぞれの１つに対応し、前記第３レイヤ内の各前記ポインタの前記位置は、各前記ポインタに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の前記位置に少なくとも実質的に対応する、第３レイヤを提供すること  
を備えることを特徴とする方法。
３１．前記第２レイヤおよび前記第３レイヤは、それぞれ、前記第１レイヤのサイズおよび形状に対応するサイズおよび形状を有することを特徴とする請求項３０に記載の方法。
３２．前記第１レイヤ、前記第２レイヤ、および前記第３レイヤの組合せから地図イメージを形成することをさらに備えることを特徴とする請求項３０に記載の方法。
３３．前記地図イメージ内のデータを平坦化（ｆｌａｔｔｅｎｉｎｇ）することをさらに備えることを特徴とする請求項３２に記載の方法。
３４．各前記ポインタは、各前記ポインタの位置に関する各前記ポインタの対応するデータ・ブロックの位置を示すことを特徴とする請求項３０に記載の方法。
３５．前記示すことは、２次元でオフセットを識別することを備えることを特徴とする請求項３４に記載の方法。
３６．前記オフセットの各前記次元は、ピクセル単位で表されることを特徴とする請求項３５に記載の方法。
３７．前記示すことは、ヒルベルト曲線に沿った１次元距離としてオフセットを識別することを備えることを特徴とする請求項３５に記載の方法。
３８．前記１次元曲線に沿った前記オフセットは、ピクセルの単位で表されることを特徴とする請求項３７に記載の方法。
３９．前記１次元曲線に沿った前記オフセットは、ピクセルの整数倍数に対応する単位で表されることを特徴とする請求項３７に記載の方法。
４０．前記イメージの前記第２レイヤの前記提供することは、  
前記第２レイヤ内の各前記データ・ブロックのターゲット位置であって、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に対応する、ターゲット位置への各前記データ・ブロックの最大近接を達成するために詰込みアルゴリズム（ｐａｃｋｉｎｇ  ａｌｇｏｒｉｔｈｍ）を用いて各前記データ・ブロックを置くこと  
を備えることを特徴とする請求項３０に記載の方法。
４１．前記最大近接は、各前記データ・ブロックの位置と各前記データ・ブロックの前記ターゲット位置との間の最短直線距離に基づいて決定されることを特徴とする請求項４０に記載の方法。
４２．前記最大近接は、各前記データ・ブロックの位置と各前記データ・ブロックの前記ターゲット位置との間の２つの次元のそれぞれでのオフセットの絶対値の和に基づいて決定されることを特徴とする請求項４０に記載の方法。
４３．前記最大近接は、各前記データ・ブロックの位置と各前記データ・ブロックの前記ターゲット位置との間の最小ヒルベルト曲線長に基づいて決定されることを特徴とする請求項４０に記載の方法。
４４．イメージの第１レイヤであって、前記第１レイヤ内の位置を有する前記イメージの地物（ｆｅａｔｕｒｅｓ）を含む、第１レイヤを提供すること、  
前記イメージの第２レイヤであって、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応し、これを記述するデータ・ブロックを含み、各前記データ・ブロックは、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に少なくとも実質的に対応する前記第２レイヤ内の位置にある、第２レイヤを提供すること、および  
前記イメージの第３レイヤであって、前記第３レイヤ内の位置を有するポインタを含み、各前記ポインタは、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つおよび前記データ・ブロックのそれぞれの１つに対応し、前記第３レイヤ内の各前記ポインタの前記位置は、各前記ポインタに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の前記位置に少なくとも実質的に対応する、第３レイヤを提供すること  
を備えるアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムを含むことを特徴とする格納媒体。
４５．前記第２レイヤおよび前記第３レイヤは、それぞれ前記第１レイヤのサイズおよび形状に対応するサイズおよび形状を有することを特徴とする請求項４４に記載の格納媒体。
４６．前記処理ユニットは、  
前記第１レイヤ、前記第２レイヤ、および前記第３レイヤの組合せから地図イメージを形成するさらなるアクション  
を実行することを特徴とする請求項４４に記載の格納媒体。
４７．各前記ポインタは、各前記ポインタの位置に関する各前記ポインタの対応するデータ・ブロックの位置を示すことを特徴とする請求項４４に記載の格納媒体。
４８．前記示すことは、２次元でオフセットを識別することを備えることを特徴とする請求項４４に記載の格納媒体。
４９．前記イメージの前記第２レイヤの前記提供することは、  
前記第２レイヤ内の各前記データ・ブロックのターゲット位置であって、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に対応するターゲット位置への各前記データブロックの最大近接を達成するために詰込みアルゴリズム（ｐａｃｋｉｎｇ  ａｌｇｏｒｉｔｈｍ）を用いて各前記データ・ブロックを置くこと  
を備えることを特徴とする請求項４４に記載の格納媒体。
５０．前記最大近接は、各前記データ・ブロックの位置と各前記データ・ブロックの前記ターゲット位置との間の最短直線距離に基づいて決定されることを特徴とする請求項４９に記載の格納媒体。
５１．イメージの第１レイヤであって、前記第１レイヤ内の位置を有する前記イメージの地物（ｆｅａｔｕｒｅｓ）を含む、第１レイヤを提供すること、  
前記イメージの第２レイヤであって、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応し、これを記述するデータ・ブロックを含み、各前記データ・ブロックは、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に少なくとも実質的に対応する前記第２レイヤ内の位置にある、第２レイヤを提供すること、および  
前記イメージの第３レイヤであって、前記第３レイヤ内の位置を有するポインタを含み、各前記ポインタは、前記地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つおよび前記データ・ブロックのそれぞれの１つに対応し、前記第３レイヤ内の各前記ポインタの前記位置は、各前記ポインタに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の前記位置に少なくとも実質的に対応する、第３レイヤを提供すること  
を備えるアクションを処理ユニットに実行させるように動作する１つまたは複数のソフトウェア・プログラムの制御の下で動作する前記処理ユニット  
を含むことを特徴とする装置。
５２．前記第２レイヤおよび前記第３レイヤは、それぞれ前記第１レイヤのサイズおよび形状に対応するサイズおよび形状を有することを特徴とする請求項５１に記載の装置。
５３．前記処理ユニットは、  
前記第１レイヤ、前記第２レイヤ、および前記第３レイヤの組合せから地図イメージを形成するさらなるアクション  
を実行することを特徴とする請求項５１に記載の装置。
５４．各前記ポインタは、各前記ポインタの位置に関する各前記ポインタの対応するデータ・ブロックの位置を示すことを特徴とする請求項５１に記載の装置。
５５．前記示すことは、２次元でオフセットを識別することを備えることを特徴とする請求項５４に記載の装置。
５６．前記イメージの前記第２レイヤの前記提供することは、  
前記第２レイヤ内の各前記データ・ブロックのターゲット位置への各前記データブロックの最大近接を達成するために詰込みアルゴリズム（ｐａｃｋｉｎｇ  ａｌｇｏｒｉｔｈｍ）を用いて各前記データ・ブロックを置くことであって、前記第２レイヤ内の前記ターゲット位置は、各前記データ・ブロックに対応する前記地物（ｆｅａｔｕｒｅ）の前記第１レイヤ内の位置に対応するように置くこと  
を備えることを特徴とする請求項５１に記載の装置。
５７．前記最大近接は、各前記データ・ブロックの位置と各前記データ・ブロックの前記ターゲット位置との間の最短直線距離に基づいて決定されることを特徴とする請求項５６に記載の装置。
【０７９３】
（要約）  
イメージの第１レイヤを提供することであって、第１レイヤは、第１レイヤ内の位置を有するイメージの地物（ｆｅａｔｕｒｅｓ）を含むように提供すること、およびイメージの第２レイヤを提供することであって、第２レイヤは、地物（ｆｅａｔｕｒｅｓ）のそれぞれの１つに対応するデータ・ブロックを含み、各データ・ブロックは、各データ・ブロックに対応する地物（ｆｅａｔｕｒｅ）の第１レイヤ内の位置に実質的に対応する第２レイヤ内の位置にあり、第２レイヤのサイズおよび形状は、前記第１レイヤのサイズおよび形状に実質的に対応するように提供することを含む方法およびシステムを開示する。
【０７９４】
2008517540.tif 000071
【０７９５】
2008517540.tif 000072
【０７９６】
2008517540.tif 000073
【０７９７】
2008517540.tif 000074
【０７９８】
2008517540.tif 000075
【０７９９】
2008517540.tif 000076
【０８００】
2008517540.tif 000077
【０８０１】
2008517540.tif 000078
【図１】
2008517540.tif 000079
【図２】
2008517540.tif 000080
【図３】
2008517540.tif 000081
【図４】
2008517540.tif 000082
【図５】
2008517540.tif 000083
【図６Ａ】
2008517540.tif 000084
【図６Ｂ】
2008517540.tif 000085
【図７】
2008517540.tif 000086
【図８】
2008517540.tif 000087
【図９】
2008517540.tif 000088
【図１０】
2008517540.tif 000089
【国際調査報告】
2008517540.tif 000090
2008517540.tif 000091