(57)【要約】  イメージ（３２０）の第１のレイヤーを提供する方法。第１のレイヤーはイメージの複数のフィーチャ(特徴)を含み、これらの特徴は第１のレイヤー内位置する。イメージ（３３０）の第２のレイヤーも提供され、第２のレイヤーは各特徴に応じたデータブロックを含む。各データブロックは第２のレイヤー（３３０）内に位置し、該第２のレイヤーは、実質的には各データブロックに対応する特徴の第１のレイヤー内の位置にも対応する。第２のレイヤーのサイズおよび形は実質的に第１のレイヤーのサイズおよび形に対応する。
2007529786.tif 000002
【特許請求の範囲】
【請求項１】
イメージを示す情報を伝送する方法であって、
情報の１つまたは複数のノードを第１のイメージとして伝送すること、
前記第１のイメージ内の所定の場所で表示するために利用されることになる特徴を定義するベクトルを示す情報を含む第２のイメージを伝送すること、および
前記第１および第２のイメージの受信側が前記所定の場所で前記ベクトルを利用するために前記第１および第２のイメージを相関することができるように、前記第１と第２のイメージ間でのマッピングを含む第３のイメージを伝送することを含むことを特徴とする方法。
【請求項２】
前記第１のイメージは地図であり、前記第２のイメージは、所定の詳細レベルでのみ表示されるビジュアルデータを定義するベクトルのセットであることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のイメージは地図であることを特徴とする請求項１に記載の方法。
【請求項４】
前記第２のイメージはハイパーリンクを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１のイメージは地図であり、前記第２のイメージはベクトルのセットを含み、複数の前記ベクトルは前記ベクトルが印加される予定の前記第１のイメージ上の場所に対応する場所に配置され、複数の前記ベクトルは前記ベクトルが印加される予定の前記第１のイメージ上の前記場所に対応しない前記第２のイメージ上の場所に配置されることを特徴とする請求項１に記載の方法。
【請求項６】
１つまたは複数のベクトルが現れる前記第２のイメージ上の場所と、前記１つまたは複数のベクトルが印加される予定の前記第１のイメージ上の場所との間のスペース量を減らすように、前記第２のイメージを構築するための、効率的なパッキングアルゴリズムを利用することをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記ベクトルは、ノードまたはサブノードを起動するための情報を含むことを特徴とする請求項６に記載の方法。
【請求項８】
第１、第２、および第３のデータセットをリモートコンピュータから受け取ることを含む、イメージをレンダリングする方法であって、
前記第１のデータセットはイメージを表し、
前記第２は規定の場所の前記イメージの特徴を定義するベクトルを表し、
前記第３は前記場所を規定するように働くことを特徴とする方法。
【請求項９】
前記規定の場所は地図上の街路の場所であることを特徴とする請求項８に記載の方法。
【請求項１０】
前記ベクトルはサブノードを表し、前記サブノードを起動するべき条件を示す情報を含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記ベクトルは、外部ウェブサイトおよび埋め込まれたビジュアルコンテンツからなるグループのうちの、少なくとも１つへのハイパーリンクを含むことを特徴とする請求項８に記載の方法。
【請求項１２】
前記ベクトルは広告材料へのハイパーリンクを含むことを特徴とする請求項８に記載の方法。
【請求項１３】
前記ベクトルは、前記イメージ内の所定の場所にあるイメージの一部についてのレンダリング方法を特定する情報を含むことを特徴とする請求項８に記載の方法。
【請求項１４】
第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、および、
前記フィーチャのそれぞれに対応するデータブロックを含む、前記イメージの第２のレイヤーを提供することであって、各前記データブロックは、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所にほぼ対応する前記第２のレイヤー内の場所にあり、前記第２のレイヤーのサイズおよび形状は、前記第１のレイヤーのサイズおよび形状にほぼ対応する、前記第２のレイヤーを提供することを含むことを特徴とする方法。
【請求項１５】
各前記データブロックは、各前記データブロックに対応するフィーチャの少なくとも１つの特徴を記述することを特徴とする請求項１４に記載の方法。
【請求項１６】
前記イメージの第３のレイヤーを提供することをさらに含み、前記第３のレイヤーはポインタを含み、各前記ポインタはそれぞれの前記フィーチャおよびそれぞれの前記データブロックに対応することを特徴とする請求項１４に記載の方法。
【請求項１７】
各前記ポインタは、各前記ポインタの場所に対する各前記ポインタの対応するデータブロックの場所を示すことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記記述することは、
少なくとも１つの前記フィーチャに関するテキストデータを提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項１９】
前記記述することは、
少なくとも１つの前記フィーチャのグラフィック図を提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項２０】
前記記述することは、
少なくとも１つの前記フィーチャを示す幾何学データを提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項２１】
前記幾何学データは輪郭データを含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記記述することは、
少なくとも１つの前記フィーチャに関するカラー情報を提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項２３】
前記記述することは、
少なくとも１つの前記フィーチャに関する外部ウェブサイトへの少なくとも１つのリンクを提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項２４】
前記記述することは、
少なくとも１つの前記フィーチャに関する埋め込まれたビジュアルコンテンツを提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項２５】
前記記述することは、
少なくとも１つの前記フィーチャに関する広告情報を提供することを含むことを特徴とする請求項１３に記載の方法。
【請求項２６】
前記記述することは、
道路セグメントの詳細図を提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項２７】
前記記述することは、
少なくとも１本の道路と、
少なくとも１つの公園と、
ある領域の地形と、
ある水域の水路測量と、
少なくとも１つのビルディングと、
少なくとも１つの公衆トイレと、
少なくとも１つの無線フィデリティ局と、
少なくとも１本の送電線と、
少なくとも１つのスタジアムと、
からなるグループのうちの少なくとも１つに関する詳細図を提供することを含むことを特徴とする請求項１５に記載の方法。
【請求項２８】
第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、および、
前記フィーチャのそれぞれに対応するデータブロックを含む、前記イメージの第２のレイヤーを提供することであって、各前記データブロックは、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所にほぼ対応する前記第２のレイヤー内の場所にあり、前記第２のレイヤーのサイズおよび形状は、前記第１のレイヤーのサイズおよび形状にほぼ対応する、前記第２のレイヤーを提供すること
を含むアクションを、処理ユニットに実行させるように動作可能な、１つまたは複数のソフトウェアプログラムの制御の下で動作する処理ユニット含むことを特徴とする装置。
【請求項２９】
第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、および、
前記フィーチャのそれぞれに対応するデータブロックを含む、前記イメージの第２のレイヤーを提供することであって、各前記データブロックは、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所にほぼ対応する前記第２のレイヤー内の場所にあり、前記第２のレイヤーのサイズおよび形状は、前記第１のレイヤーのサイズおよび形状にほぼ対応する、前記第２のレイヤーを提供すること
を含むアクションを、処理ユニットに実行させるように動作可能な、１つまたは複数のソフトウェアプログラムを含むことを特徴とする記憶媒体。
【請求項３０】
第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、
それぞれの前記フィーチャに対応しそれぞれの前記フィーチャを記述するデータブロックを含む、前記イメージの第２のレイヤーを提供することであって、各前記データブロックは、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所に少なくともほぼ対応する前記第２のレイヤー内の場所にある、第２のレイヤーを提供すること、および
第３のレイヤー内の場所を有するポインタを含む、前記イメージの第３のレイヤーを提供することであって、各前記ポインタはそれぞれの前記フィーチャおよびそれぞれの前記データブロックに対応し、前記第３のレイヤー内の各前記ポインタの場所は各前記ポインタに対応するフィーチャの前記第１のレイヤー内の場所に少なくともほぼ対応する、第３のレイヤーを提供することを含むことを特徴とする方法。
【請求項３１】
前記第２のレイヤーおよび前記第３のレイヤーはそれぞれ、前記第１のレイヤーのサイズおよび形状に対応するサイズおよび形状を有することを特徴とする請求項３０に記載の方法。
【請求項３２】
前記第１のレイヤー、前記第２のレイヤー、および前記第３のレイヤーの組合せから地図イメージを形成することをさらに含むことを特徴とする請求項３０に記載の方法。
【請求項３３】
前記地図イメージ内のデータを平坦化することをさらに含むことを特徴とする請求項３２に記載の方法。
【請求項３４】
各前記ポインタは、各前記ポインタの場所に対する各前記ポインタの対応するデータブロックの場所を示すことを特徴とする請求項３０に記載の方法。
【請求項３５】
前記示すことは、オフセットを２つの寸法で識別することを含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記オフセットのそれぞれの前記寸法は、ピクセル単位で表されることを特徴とする請求項３５に記載の方法。
【請求項３７】
前記示すことは、オフセットをヒルベルト曲線に沿った１次元距離として識別することを含むことを特徴とする請求項３５に記載の方法。
【請求項３８】
前記１次元曲線に沿った前記オフセットはピクセル単位で表されることを特徴とする請求項３７に記載の方法。
【請求項３９】
前記１次元曲線に沿った前記オフセットは、整数倍のピクセルに対応する単位で表されることを特徴とする請求項３７に記載の方法。
【請求項４０】
前記イメージの前記第２のレイヤーを提供することは、
各前記データブロックと前記第２のレイヤー内の各前記データブロックの目標とする場所とが最高の近さを達成するように、パッキングアルゴリズムを採用する各前記データブロックを配置することであって、前記第２のレイヤー内の目標とする場所は、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所に対応する、配置することを含むことを特徴とする請求項３０に記載の方法。
【請求項４１】
前記最高の近さは、各前記データブロックの場所と各前記データブロックの目標とする場所との間の最短直線距離に基づいて決定されることを特徴とする請求項４０に記載の方法。
【請求項４２】
前記最高の近さは、各前記データブロックの場所と各前記データブロックの目標とする場所との間の、２つの寸法それぞれにおけるオフセットの絶対値の合計に基づいて決定されることを特徴とする請求項４０に記載の方法。
【請求項４３】
前記最高の近さは、各前記データブロックの場所と各前記データブロックの目標とする場所との間の、最小ヒルベルト曲線長さに基づいて決定されることを特徴とする請求項４０に記載の方法。
【請求項４４】
第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、
それぞれの前記フィーチャに対応しそれぞれの前記フィーチャを記述するデータブロックを含む、前記イメージの第２のレイヤーを提供することであって、各前記データブロックは、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所に少なくともほぼ対応する前記第２のレイヤー内の場所にある、第２のレイヤーを提供すること、および
第３のレイヤー内の場所を有するポインタを含む、前記イメージの第３のレイヤーを提供することであって、各前記ポインタはそれぞれの前記フィーチャおよびそれぞれの前記データブロックに対応し、前記第３のレイヤー内の各前記ポインタの場所は各前記ポインタに対応するフィーチャの前記第１のレイヤー内の場所に少なくともほぼ対応する、第３のレイヤーを提供すること
を含むアクションを、処理ユニットに実行させるように動作可能な、１つまたは複数のソフトウェアプログラムを含むことを特徴とする記憶媒体。
【請求項４５】
前記第２のレイヤーおよび前記第３のレイヤーはそれぞれ、前記第１のレイヤーのサイズおよび形状に対応するサイズおよび形状を有することを特徴とする請求項４４に記載の記憶媒体。
【請求項４６】
前記第１のレイヤー、前記第２のレイヤー、および前記第３のレイヤーの組合せから地図イメージを形成することをさらに含むことを特徴とする請求項４４に記載の記憶媒体。
【請求項４７】
各前記ポインタは、各前記ポインタの場所に対する各前記ポインタの対応するデータブロックの場所を示すことを特徴とする請求項４４に記載の記憶媒体。
【請求項４８】
前記示すことは、オフセットを２つの寸法で識別することを含むことを特徴とする請求項４４に記載の記憶媒体。
【請求項４９】
前記イメージの前記第２のレイヤーを提供することは、
各前記データブロックと前記第２のレイヤー内の各前記データブロックの目標とする場所とが最高の近さを達成するように、パッキングアルゴリズムを採用する各前記データブロックを配置することであって、前記第２のレイヤー内の前記目標とする場所は、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所に対応する、配置することを含むことを特徴とする請求項４４に記載の記憶媒体。
【請求項５０】
前記最高の近さは、各前記データブロックの場所と各前記データブロックの前記目標とする場所との間の最短直線距離に基づいて決定されることを特徴とする請求項４９に記載の記憶媒体。
【請求項５１】
第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、
それぞれの前記フィーチャに対応しそれぞれの前記フィーチャを記述するデータブロックを含む、前記イメージの第２のレイヤーを提供することであって、各前記データブロックは、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所に少なくともほぼ対応する前記第２のレイヤー内の場所にある、第２のレイヤーを提供すること、および
第３のレイヤー内の場所を有するポインタを含む、前記イメージの第３のレイヤーを提供することであって、各前記ポインタはそれぞれの前記フィーチャおよびそれぞれの前記データブロックに対応し、前記第３のレイヤー内の各前記ポインタの場所は各前記ポインタに対応するフィーチャの前記第１のレイヤー内の場所に少なくともほぼ対応する、第３のレイヤーを提供すること
を含むアクションを、処理ユニットに実行させるように動作可能な、１つまたは複数のソフトウェアプログラムの制御の下で動作する処理ユニット含むことを特徴とする装置。
【請求項５２】
前記第２のレイヤーおよび前記第３のレイヤーはそれぞれ、前記第１のレイヤーのサイズおよび形状に対応するサイズおよび形状を有することを特徴とする請求項５１に記載の装置。
【請求項５３】
前記処理ユニットが、前記第１のレイヤー、前記第２のレイヤー、および前記第３のレイヤーの組合せから地図イメージを形成するさらなるアクションを実行することを特徴とする請求項５１に記載の装置。
【請求項５４】
各前記ポインタは、各前記ポインタの場所に対する各前記ポインタの対応するデータブロックの場所を示すことを特徴とする請求項５１に記載の装置。
【請求項５５】
前記示すことは、オフセットを２つの寸法で識別することを含むことを特徴とする請求項５４に記載の装置。
【請求項５６】
前記イメージの前記第２のレイヤーを提供することは、
各前記データブロックと前記第２のレイヤー内の各前記データブロックの目標とする場所とが最高の近さを達成するように、パッキングアルゴリズムを採用する各前記データブロックを配置することであって、前記第２のレイヤー内の前記目標とする場所は、各前記データブロックに対応するフィーチャの前記第１のレイヤー内の場所に対応する、配置することを含むことを特徴とする請求項５１に記載の装置。
【請求項５７】
前記最高の近さは、各前記データブロックの場所と各前記データブロックの前記目標とする場所との間の最短直線距離に基づいて決定されることを特徴とする請求項５６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
近年、超大容量（すなわちギガピクセルサイズ）のイメージを、サーバからクライアントへ低帯域幅の通信チャネルを介して増分的にまたは選択的に送達可能にするという、要求の厳しい技術目標を満たすために、ＪＰＥＧ２０００／ＪＰＩＰ（例えば、非特許文献１参照）などのイメージ圧縮標準が導入されてきた。こうしたイメージを最大解像度で表示する場合、常に制限された領域クライアントしかグラフィカルディスプレイに収めることができないため、新しい標準は、こうした領域に選択的にアクセスし、その領域に関連するデータのみを通信チャネルを介して送信することを目的としている。この「対象領域」すなわちＲＯＩが連続的に変化する場合、低帯域幅チャネルを介したクライアントとサーバとの間の連続ダイアログは、ＲＯＩ内の領域のクライアント表現を正確に維持し続けることができる。従来の技術は、通常、離散的にサンプリングされたイメージを増分的および選択的に伝送することに限定されている。
【０００２】
【非特許文献１】David Taubman's implementation of Kakadu, available on the Kakadu software web site: www.kakadusoftware.com
【非特許文献２】http://mathworld.wolfram.com/HilbertCurve.html, or for the original reference, Hilbert, D. “Uber die stetige Abbildung einer Linie auf ein Flachenstuck” Math. Ann. 38, 459-460, 1891
【非特許文献３】Warren, Henry S. Jr., Hacker's Delight, Addison-Wesley 2003, chapter 14
【非特許文献４】Antonin Guttman, R-Trees: A Dynamic Index Structure for Spatial Searching, SIDMOD Conference 1984: 47-57
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、この表現および伝送モデルを、ベクトルデータ、ハイパーリンク、および他の空間的に局在するフィーチャ（特徴：ｆｅａｔｕｒｅｓ）を含むように拡張する。
【課題を解決するための手段】
【０００４】
本発明の１つまたは複数の実施形態は、これらの選択的に伸張可能なイメージの圧縮および伝送技術を、地理情報または概略データに拡張することに関する。この１つまたは複数の実施形態は、本明細書の付録に含まれる、以下の（１）「大規模テキスト、メタデータ、および他の整合的にアクセスされた非イメージデータを空間的に符号化するための方法」、（２）「イメージをナビゲートするための方法および装置」、（３）「多重解像度ビジュアルデータの効率的、動的、および連続的な表示のためのシステムおよび方法」、（４）「ズーミングユーザインターフェースにおける窩のある、シームレスな、累進的レンダリングのためのシステムおよび方法」、および（５）「マルチノード表示のためのシステムおよび方法」の文書で説明される方法を組み合わせて拡張する。本出願に含まれる付録は、本特許出願の説明の一部を形成する。
【０００５】
本明細書の前述および／または後述の方法および装置は、標準デジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェアプログラムを実行するように動作可能な任意の既知のプロセッサ、プログラム可能デジタルデバイスまたはシステム、プログラム可能アレイ論理デバイス、あるいは、それらの任意の組合せなどの、任意の既知の技術を利用して達成可能であることに留意されたい。本発明の１つまたは複数の実施形態は、好適な記憶媒体への格納および処理ユニットによる実行のための、ソフトウェアプログラムでも具体化することができる。
【０００６】
一態様によれば、本発明は、情報の１つまたは複数のノードを第１のイメージとして伝送すること、第１のイメージ内の所定の場所（ｌｏｃａｔｉｏｎ：位置）で表示するために利用されることになる特性を定義するベクトルを示す情報を含む第２のイメージを伝送すること、ならびに、第１および第２のイメージの受信側が所定の場所でベクトルを利用するために第１および第２のイメージを相関することができるように、第１と第２のイメージ間でのマッピングを含む第３のイメージを伝送することを含む、イメージを示す情報を伝送する方法を提供する。好ましくは、第１のイメージは地図であり、第２のイメージは、所定の詳細レベルでのみ表示されるビジュアルデータを定義するベクトルのセットである。好ましくは、第１のイメージは地図である。好ましくは、第２のイメージはハイパーリンクを含む。好ましくは、第１のイメージは地図であり、第２のイメージはベクトルのセットを含み、複数のベクトルはベクトルが印加される予定の第１のイメージ上の場所に対応する場所に配置され、複数のベクトルはベクトルが印加される予定の第１のイメージ上の場所に対応しない第２のイメージ上の場所に配置される。好ましくは、この方法は、１つまたは複数のベクトルが現れる第２のイメージ上の場所と、１つまたは複数のベクトルが印加される予定の第１のイメージ上の場所との間のスペース量を減らすように、第２のイメージを構築するための、効率的なパッキングアルゴリズムを利用することをさらに含む。好ましくは、ベクトルは、ノードまたはサブノードを起動するための情報を含む。
【０００７】
他の態様によれば、本発明は、第１のデータセットはイメージを表し、第２は規定の場所のイメージの特徴を定義するベクトルを表し、第３は場所を規定するように働く、第１、第２、および第３のデータセットをリモートコンピュータから受け取ることを含む、イメージをレンダリングする方法を提供する。好ましくは、規定の場所は地図上の街路の場所である。好ましくは、ベクトルはサブノードを表し、サブノードを起動するべき条件を示す情報を含む。好ましくは、ベクトルは、広告材料などの外部コンテンツ、および／または埋め込まれたビジュアルコンテンツからなる、グループのうちの少なくとも１つへのハイパーリンクを含む。好ましくは、ベクトルは広告材料へのハイパーリンクを含む。好ましくは、ベクトルは、イメージ内の所定の場所にあるイメージの一部についてのレンダリング方法を特定する情報を含む。
【０００８】
他の態様によれば、本発明は、第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、および、それぞれのフィーチャに対応するデータブロックを含む、イメージの第２のレイヤーを提供することであって、各データブロックは、各データブロックに対応するフィーチャの第１のレイヤー内の場所にほぼ対応する第２のレイヤー内の場所にあり、第２のレイヤーのサイズおよび形状は、第１のレイヤーのサイズおよび形状にほぼ対応する、第２のレイヤーを提供することを含む方法を提供する。好ましくは、各データブロックは、各データブロックに対応するフィーチャの少なくとも１つの特徴を記述する。好ましくは、この方法はイメージの第３のレイヤーを提供することをさらに含み、第３のレイヤーはポインタを含み、各ポインタはそれぞれのフィーチャおよびそれぞれのデータブロックに対応する。好ましくは、各ポインタは、各ポインタの場所に対する各ポインタの対応するデータブロックの場所を示す。好ましくは、記述することは、少なくとも１つのフィーチャに関するテキストデータを提供することを含む。好ましくは、記述することは、少なくとも１つのフィーチャのグラフィック図を提供することを含む。好ましくは、記述することは、少なくとも１つのフィーチャを示す幾何学データを提供することを含む。好ましくは、記述することは、少なくとも１つのフィーチャに関する２次元または３次元形状、あるいは輪郭情報を提供することを含む。好ましくは、記述することは、少なくとも１つのフィーチャに関するカラー情報を提供することを含む。好ましくは、記述することは、少なくとも１つのフィーチャに関する広告またはハイパーリンク情報を提供することを含む。好ましくは、記述することは、少なくとも１つのフィーチャに関する外部ウェブサイトへの少なくとも１つのリンクを提供することを含む。好ましくは、記述することは、少なくとも１つのフィーチャに関する埋め込まれたビジュアルコンテンツを提供することを含む。好ましくは、記述することは、少なくとも１つのフィーチャに関する広告情報を提供することを含む。好ましくは、記述することは、道路セグメントの詳細図を提供することを含む。好ましくは、記述することは、少なくとも１本の道路、少なくとも１つの公園、ある領域の地形、ある水域の水路測量、少なくとも１つのビルディング、少なくとも１つの公衆トイレ、少なくとも１つの無線フィデリティ局、少なくとも１本の送電線、および少なくとも１つのスタジアム、からなるグループのうちの少なくとも１つに関する詳細図を提供することを含む。
【０００９】
さらに他の態様によれば、本発明は、第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、および、それぞれのフィーチャに対応するデータブロックを含む、イメージの第２のレイヤーを提供することであって、各データブロックは、各データブロックに対応するフィーチャの第１のレイヤー内の場所にほぼ対応する第２のレイヤー内の場所にあり、第２のレイヤーのサイズおよび形状は、第１のレイヤーのサイズおよび形状にほぼ対応する、第２のレイヤーを提供することを含むアクションを、処理ユニットに実行させるように動作可能な、１つまたは複数のソフトウェアプログラムの制御の下で動作する処理ユニット含む、装置を提供する。
【００１０】
さらに他の態様によれば、本発明は、第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、および、それぞれのフィーチャに対応するデータブロックを含む、イメージの第２のレイヤーを提供することであって、各データブロックは、各データブロックに対応するフィーチャの第１のレイヤー内の場所にほぼ対応する第２のレイヤー内の場所にあり、第２のレイヤーのサイズおよび形状は、第１のレイヤーのサイズおよび形状にほぼ対応する、第２のレイヤーを提供することを含むアクションを、処理ユニットに実行させるように動作可能な、１つまたは複数のソフトウェアプログラムを含む記憶媒体を提供する。他の態様によれば、本発明は、第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、それぞれのフィーチャに対応しそれぞれのフィーチャを記述するデータブロックを含む、イメージの第２のレイヤーを提供することであって、各データブロックは、各データブロックに対応するフィーチャの第１のレイヤー内の場所に少なくともほぼ対応する第２のレイヤー内の場所にある、第２のレイヤーを提供すること、ならびに、第３のレイヤー内の場所を有するポインタを含む、イメージの第３のレイヤーを提供することであって、各ポインタはそれぞれのフィーチャおよびそれぞれのデータブロックに対応し、第３のレイヤー内の各ポインタの場所は各ポインタに対応するフィーチャの第１のレイヤー内の場所に少なくともほぼ対応する、第３のレイヤーを提供することを含む方法を提供する。好ましくは、第２のレイヤーおよび第３のレイヤーはそれぞれ、第１のレイヤーのサイズおよび形状に対応するサイズおよび形状を有する。好ましくは、この方法は、第１のレイヤー、第２のレイヤー、および第３のレイヤーの組合せから地図イメージを形成することをさらに含む。
【００１１】
好ましくは、この方法は、地図イメージ内のデータを平坦化することをさらに含む。好ましくは、各ポインタは、各ポインタの場所に対する各ポインタの対応するデータブロックの場所を示す。好ましくは、示すことは、オフセットを２つの寸法で識別することを含む。好ましくは、オフセットのそれぞれの寸法は、例えば２または４などの整数のピクセルに対応する単位で表される。好ましくは、示すことは、オフセットをヒルベルト曲線に沿った１次元距離として識別することを含む。好ましくは、１次元曲線に沿ったオフセットはピクセル単位で表される。好ましくは、１次元曲線に沿ったオフセットは、整数のピクセルに対応する単位で表される。好ましくは、１次元曲線に沿ったオフセットは、整数倍のピクセルに対応する単位で表される。好ましくは、各データブロックを配置することは、各データブロックと第２のレイヤー内の各データブロックの目標とする場所とが最高の近さを達成するように、パッキングアルゴリズムを採用する各データブロックを配置することを含み、第２のレイヤー内の目標とする場所は、各データブロックに対応するフィーチャの第１のレイヤー内の場所に対応する。好ましくは、パッキングアルゴリズムは、第２のレイヤー内に互いに重複する２つのデータブロックが存在しないことを保証する。
【００１２】
好ましくは、最高の近さは、各データブロックの場所と各データブロックの目標とする場所との間の最短直線距離に基づいて決定される。好ましくは、最高の近さは、各データブロックの場所と各データブロックの目標とする場所との間の、２つの寸法それぞれにおけるオフセットの絶対値の合計に基づいて決定される。好ましくは、最高の近さは、各データブロックの場所と各データブロックの目標とする場所との間の、最小ヒルベルト曲線長さに基づいて決定される。
【００１３】
他の態様によれば、本発明は、第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、それぞれのフィーチャに対応しそれぞれのフィーチャを記述するデータブロックを含む、イメージの第２のレイヤーを提供することであって、各データブロックは、各データブロックに対応するフィーチャの第１のレイヤー内の場所に少なくともほぼ対応する第２のレイヤー内の場所にある、第２のレイヤーを提供すること、ならびに、第３のレイヤー内の場所を有するポインタを含む、イメージの第３のレイヤーを提供することであって、各ポインタはそれぞれのフィーチャおよびそれぞれのデータブロックに対応し、第３のレイヤー内の各ポインタの場所は各ポインタに対応するフィーチャの第１のレイヤー内の場所に少なくともほぼ対応する、第３のレイヤーを提供することを含むアクションを、処理ユニットに実行させるように動作可能な、１つまたは複数のソフトウェアプログラムを含む記憶媒体を提供する。
【００１４】
他の態様によれば、本発明は、第１のレイヤー内の場所を有するイメージのフィーチャを含む、イメージの第１のレイヤーを提供すること、それぞれのフィーチャに対応しそれぞれのフィーチャを記述するデータブロックを含む、イメージの第２のレイヤーを提供することであって、各データブロックは、各データブロックに対応するフィーチャの第１のレイヤー内の場所に少なくともほぼ対応する第２のレイヤー内の場所にある、第２のレイヤーを提供すること、ならびに、第３のレイヤー内の場所を有するポインタを含む、イメージの第３のレイヤーを提供することであって、各ポインタはそれぞれのフィーチャおよびそれぞれのデータブロックに対応し、第３のレイヤー内の各ポインタの場所は各ポインタに対応するフィーチャの第１のレイヤー内の場所に少なくともほぼ対応する、第３のレイヤーを提供することを含むアクションを、処理ユニットに実行させるように動作可能な、１つまたは複数のソフトウェアプログラムの制御の下で動作する処理ユニット含む、装置を提供する。
【００１５】
他の態様、機能、利点などは、当業者であれば、本明細書に記載の本発明の好ましい諸実施形態の説明を添付の図面と共に読めば、明らかになるであろう。
【００１６】
本発明の様々な態様を例示するために現時点で好ましい形態が図面に示されているが、本発明が図示された精密な配置構成および手段に限定されないことを理解されよう。
【発明を実施するための最良の形態】
【００１７】
後述の本発明の様々な態様は、地図データの符号化および／または処理以外のコンテキストでも適用可能であることに留意されたい。実際に、本発明が使用可能なイメージおよび実施形態の範囲は数え切れないため、全体として列挙することはできない。例えば本発明の機能を使用して、人体の解剖図、複雑な地形図、配線図や設計図などの工学図面、遺伝子オントロジ、などのイメージを符号化および／または伝送することができる。しかしながら、本発明には、要素の細部または粗さのレベルが変化するイメージの符号化および／または処理に対して、特定の適用可能性があることがわかってきた。したがって簡潔および明瞭にするために、本発明の様々な態様を特定の例、すなわち地図のイメージの符号化および／または処理に関連して説明していく。
【００１８】
（２）では、連続するマルチスケールの道路地図レンダリングの概念が紹介された。（２）の発明の１つまたは複数の実施形態の基本は、異なる解像度での道路地図または他のベクトルベース図のイメージの事前レンダリング（ｐｒｅ−ｒｅｎｄｅｒｅｄ）された「スタック」であり、視覚要素のカテゴリ（例えば高速国道、高速州道、および地方道路を含む、道路のクラス）は、異なる解像度の異なる視覚重みでレンダリングされる。
【００１９】
クライアント／サーバの対話時には、これらイメージのうちの複数の対応する地域をダウンロードすることが可能であり、クライアントのディスプレイはこれらの地域を混合した組合せを表示できる。混合係数およびイメージ解像度の選択は、ズームスケールに応じて混合することができる。最終的には、クライアント側のユーザが、ズームスケールを変更すると道路のカテゴリが表示または非表示になるようないかなる視覚的な不連続も経験することなく、連続的にズームおよびパンをしながら大規模地図（例えば米国内のすべての道路）を介してナビゲートできる結果となる。
【００２０】
むしろあらゆるスケールで、最も関連のあるカテゴリを強調することができる。例えば、国全体を表示するためにズームアウトした場合、主要な高速道路が強力に重み付けされ、それらを明瞭に際立たせることが可能であり、州レベルでは、第２の高速道路が十分明瞭に見えるように強力に重み付けすることも可能である。ユーザが、最も詳細な事前レンダリングされたイメージを使用するポイントまでズームインした場合、すべての道路が明瞭に見え、地理情報データに関する好ましい実施形態では、好ましくはすべての要素がそれらの物理的に正しいスケールに近いスケールで表示される。これらの最も詳細な事前レンダリングされたイメージの妥当な最大解像度は、約１５メートル／ピクセルである。しかしユーザの見地からすると、さらにズームインできることが望ましい。
【００２１】
しかしながら、第１に、サーバ側のファイルサイズが法外に大きくなるため（１５メートル／ピクセルでの単一のＵｎｉｖｅｒｓａｌ  Ｔｒａｎｓｖｅｒｓｅ  Ｍｅｒｃａｔｏｒゾーンイメージは、すでにギガピクセル域の可能性がある）、第２に、事前レンダリングされたイメージは、通常は高解像度道路地図レンダリングに関連付けられるこのような非常に疎な白黒データには効果がないため、および第３に、クライアントは静的視覚提示を超えたコンピュータタスクを実行するために、「実」（ｒｅａｌ）ベクトルデータを必要とする可能性があるため、などのいくつかの理由から、さらに詳細なレベルで事前レンダリングすることは望ましくない。
【００２２】
例えばルートガイダンスシステムは、モニタ上または印刷媒体でユーザに表示される場合に、ある道路をハイライト表示するか、またはその色を変更することができる。これは、事前レンダリングされたイメージだけの場合とは対照的に、クライアントがベクトルデータにアクセスできる場合のみ、クライアント側で実行することができる。ベクトルデータは、街路名、住所、および、好ましくはクライアントが選択的にレイアウトおよびレンダリングできる柔軟性を有する他の情報も含むことができる。街路名ラベルは、好ましくは異なる場所に描画され、好ましくは正確な場所およびクライアントビューのスケールに応じて異なるサイズで提供されるため、これらのラベルが地図イメージスタックに事前レンダリングすることは望ましくない。ユーザのズームに応じて、異なるラベル表現を１つの他の表現に混合すべきではない。こうしたデータの事前レンダリングは、フォントに関するいかなる柔軟性も除去してしまうことになる。
【００２３】
要約すると、ベクトルデータ（この用語は、幾何学的情報および地名などの他の情報のどちらを指す場合にも総称的に使用する）は、それ自体クライアントにとって有益であると共に、所望のレンダリング解像度が高い場合は事前レンダリングされたイメージよりも効率的な情報の表現でもある。しかしながら、広い地域を低解像度でレンダリングする場合、完全なベクトルデータは法外に大きく複雑になる可能性があり、事前レンダリングされたイメージの方が効率的な表現となる。しかしながらたとえ低解像度であっても、主要高速道路の名前など、ベクトルデータのサブセットの一部は有益である。このベクトルデータのサブセットは、高解像度の事前レンダリングレイヤーに関連付けられたデータレイヤー内でより詳細なベクトルデータが使用可能な状態で、低解像度の事前レンダリングレイヤーに関連付けられた低解像度のデータレイヤーに含めることができる。
【００２４】
本発明の１つまたは複数の実施形態は、（１）で紹介された方法を、場合によっては（２）の事前レンダリングされたイメージと共に、空間ベクトルデータを選択的かつ増分的に符号化してクライアントに伝送できるように拡張する。従来技術では、これは地理情報データベースを使用して実施された。データベースは、空間的にインデックス付けされたすべての関連ベクトルデータを含む必要がある。こうしたデータベースは多くの実施上の問題点を提示する。本発明の１つまたは複数の実施形態では、ベクトルデータを符号化および処理するために、従来のデータベースを使用する代わりに、ＪＰＥＧ２０００／ＪＰＩＰによってサポートされているような空間的にアドレス可能なイメージを使用する。
【００２５】
マルチイメージ地図データ表現
１つまたは複数の実施形態では、それぞれ８ビット深さで地図データを表すために３つのイメージまたはチャネルが使用される。事前レンダリングされたレイヤーは好ましくは（２）の通り、道路地図の事前に計算されたリテラルレンディション（ｌｉｔｅｒａｌ  ｒｅｎｄｉｔｉｏｎ）である。ポインタレイヤーは、好ましくは、好ましくは緊密に、時には等しく、ポインタが対応するそれぞれのフィーチャの事前レンダリングされたレイヤー内の場所に対応する、ポインタレイヤー内の場所に配置された２＊２ピクセルブロックを含む。さらにデータレイヤーは、好ましくは、それらを参照する２＊２ポインタの中心に配置されるかまたはその近くに位置付けられた、ｎ＊ｍピクセルブロックからなる。事前レンダリングされたレイヤーは、２４ビットカラーであるか、あるいは任意の他のカラースペースまたはビット深さとすることができる。
【００２６】
事前レンダリングされたレイヤー、ポインタレイヤー、およびデータレイヤーが、本質的に、様々な量の２進データを格納するための２次元メモリスペースであることに留意されたい。これらの３つのレイヤーは、好ましくは、道路地図の主題である共通の２次元イメージ領域、またはクライアントへの他の２次元イメージ表現に対応する。本明細書に使用される場合、レイヤーの「サイズ」および「形状」という用語は、一般に、それぞれそのレイヤー内のデータが関係する２次元イメージのサイズおよび形状に対応する。
【００２７】
好ましくは、特定の地図イメージを形成する事前レンダリングされたレイヤー、ポインタレイヤー、およびデータレイヤーは、例えば、互いに少なくとも非常に近いかまたは場合によっては等しい（これら３つのレイヤーから形成される）２次元イメージの「サイズ」および「形状」を有する。これは好ましくは真であるが、３つのレイヤーに関する格納されたデータはデータ処理システムの物理メモリ内で分散される。
【００２８】
一実施形態では、事前レンダリングされたレイヤー内の関連する「フィーチャ」を道路セグメントとすることができる。１０の道路セグメントを有する地図では、ポインタレイヤー内のポインタ１が、事前レンダリングされたレイヤー内の道路セグメント１とデータレイヤー内のデータブロック１とに対応することになる。ポインタ２は道路セグメント２とデータブロック２に対応するという具合となり、それぞれのケースで、ポインタ「ｎ」は道路セグメント「ｎ」とデータブロック「ｎ」とに対応し、ｎ＝１からｎ＝１０である。さらにポインタ１は、好ましくは、事前レンダリングされたレイヤー内の道路セグメント１（またはより一般的には「フィーチャ１」）の場所に緊密に、およびおそらくは等しく対応する、ポインタレイヤー内の場所にある。
【００２９】
様々な地図レイヤー（事前レンダリングされた、ポインタ、およびデータ）は、任意のレイヤー内のエントリ（フィーチャ、ポインタ、またはデータブロック）をこれら３つのレイヤーのうちの任意の他のレイヤー内の対応するエントリ（フィーチャ、ポインタ、またはデータブロック）に関連付ける容易さという観点から、互いに重ね合わされていると考えることができる。したがって、３つの地図レイヤーのサイズおよび形状は好ましくは互いに緊密に対応し、必要に応じて、任意のレイヤーおよびレイヤー内の任意のエントリにアクセスするように構成されたデータ処理システム内で、それぞれの地図レイヤー内の所望の関連付けを可能な限りシームレスに行う。本明細書での説明は、主に３つのレイヤーのデータで形成された地図を対象としているが、本発明は３つより多いかまたは少ないレイヤーのデータを使用しながら実施することが可能であり、こうした変形形態はすべて本発明の範囲内にあることが企図される。
【００３０】
３つの地図レイヤーは好ましくは同じサイズであり相互に位置決めされているため、異なるカラー（コンピュータディスプレイ上ではレッド、グリーン、ブルー、または印刷媒体にはシアン、マゼンタ、イエロー）でオーバレイして単一のカラーイメージを作成することができる。図１〜３はカラーで表示すること（電子ディスプレイ上または印刷媒体上のいずれかに）が可能であり、単一カラーのＪＰＥＧ２０００としてサーバ側に格納することができる。しかしながら、本明細書では便宜上図１〜３は白黒で提示されている。好ましくは、事前レンダリングされたレイヤーは、実際にクライアントのディスプレイ上ではこの形態で表示されることになる。
【００３１】
図１は、１０２から１２４まで番号付けされた複数のフィーチャを含む道路地図の事前レンダリングされたレイヤーを示す。便宜上図１では、図示されたフィーチャはすべて道路セグメントである。しかしながらフィーチャは、競技場、公園、大型ビル、などの多くの他のエンティティを含むことができる。図１に示された領域は例示的な目的で含まれており、いかなる実世界の町または街路のレイアウトにも対応していない。
【００３２】
図２は、本発明の１つまたは複数の実施形態に従った、図１の道路地図、ならびに低集中の道路セグメントを有する領域内のそれぞれの道路セグメントに対応するポインタおよびデータブロックを示す。道路セグメント１０２は図２に示され、図１からの他の道路セグメントは図２で再作成される。しかしながらスペースの制限により、他の１１の道路セグメント参照番号（１０４〜１２４）は図２には示されていない。図２および３の全体にわたって、ポインタは濃い灰色のブロックとして示され、データブロックはそれよりも大きな薄い灰色のブロックとして示される。
【００３３】
図２はユニット区域あたり比較的低集中の道路セグメントを有する領域を示すため、ポインタ（２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６、２１８、２２０、２２２、および２２４）を、ポインタが対応するそれぞれのフィーチャの地図２００の第１のレイヤー（事前レンダリングされたレイヤー）内の場所に緊密に、および場合によっては等しく対応する、地図２００の第２のレイヤー（ポインタレイヤー）内の位置に配置するのは困難ではない。同様に、データブロック（２４２、２４４、２４６、２４８、２５０、２５２、２５４、２５６、２５８、２６０、２６２、および２６４）は、データブロックが対応するそれぞれのフィーチャの地図２００の事前レンダリングされたレイヤー内の場所に適度に緊密に対応する、地図２００の第３のレイヤー（データレイヤー）内の場所に配置することができる。
【００３４】
図３は、本発明の１つまたは複数の実施形態に従った、複数の補助道路（ｍｉｎｏｒ  ｒｏａｄ）３２０およびこれより少ない数の主要道路３１０、ならびに高集中の道路セグメントを有する領域内のそれぞれの道路セグメントに対応するポインタおよびデータブロックの、道路セグメントの集中セットを示す。参照番号３３０はすべてのポインタを指し、参照番号３４０はすべてのデータブロックを指す。
【００３５】
図３の例示的領域では、すべてのポインタまたはすべてのデータブロックを、対応するレイヤー内のフィーチャの場所に正確に対応するそれぞれのレイヤー内の場所に配置するには、フィーチャが集中しすぎている。ポインタの場所に対するオフセットの度合いは、混雑の度合いに応じて低くまたは高くすることができる。しかしながら、図３の道路セグメントの集中では、データブロックが対応するレイヤー内のそれぞれのフィーチャの場所に緊密に対応するレイヤー３内の場所にデータブロックを配置するのは不可能である。
【００３６】
したがってデータブロック３４０はそれらの対応するポインタのできるだけ近くに分散され、有益なことにフィーチャのない近くの空き領域３５０を活用して、データブロック３４０を空き領域３５０へとあふれさせることができる。空き領域３５０は、例えば農場の水域などの関連するポインタおよびデータブロックを有する高集中のフィーチャを持たない、任意のタイプの領域とすることができる。パッキングアルゴリズムは、地図３００内のデータブロック３４０を効率良く配置するために使用することができる。この種のアルゴリズムについては本明細書で後述するため、その説明についてここでは繰り返さない。
【００３７】
ユーザが図１に示された地図１００のビューをナビゲートする場合、クライアントは図示された３つのすべてのイメージレイヤーの関連部分をサーバに要求することができる。事前レンダリングされたレイヤーは、一般に、地理的領域の物理レイアウトを表すイメージ構成要素を表示する３つのイメージレイヤーのうちの１つにすぎない。他の２つのイメージレイヤーが、好ましくは事前レンダリングされたレイヤー内のフィーチャに対応するポインタおよびデータブロックを特定する。
【００３８】
一実施形態では、ポインタイメージは２×２ピクセルグリッド上に整列した２×２ピクセルブロックからなり、それぞれが、それ自体の場所からデータレイヤー内の対応するデータブロックの始まり（左上隅）までの（ｘ，ｙ）ベクトルオフセットを（それぞれが１６ビットの整数、したがってそれぞれが２ピクセルを有する、ベクトルのｘおよびｙ構成要素を使用して）特定する。
【００３９】
この実施形態では、対応するデータブロックが、データブロックの幅および高さを特定する２つの１６ビット値（４ピクセル）から始まることが可能である。好ましくは、幅が第１に特定され、少なくとも２ピクセルの大きさを有するように制約されるため、幅および高さを読み取る際のあいまいさが避けられる。残りのデータブロックは、ベクトル、テキスト、または他の情報の任意の組合せを含むことが可能な２進データとして扱うことができる。図２〜３の例では、データブロックは街路名、住所範囲、およびベクトル表現を含む街路地図情報を含むことができる。
【００４０】
圧縮：
このセクションでは、既存の手法に勝る前述のポインタレイヤーおよびデータレイヤーの組合せの１つまたは複数の実施形態の利点を提示する。１つの既存のソリューションには、当該のウィンドウ内のすべての関連するテキスト／ベクトル情報に関する要求を空間データベースに送信することが含まれる。その後サーバは、ある一定量のテキストで応答する。既存の空間データベースシステムは、実質上プレーンテキストとして情報を返送する。
【００４１】
しかしながら、本発明の１つまたは複数の実施形態ではウェーブレット圧縮が適用され、サーバは既存のシステムよりもかなり少ない量のデータを送信しながらもデータ要求を満たすことができる。データ記憶域のない領域がデータレイヤーおよびポインタレイヤー上のデータ記憶領域間に配置されると、これらの領域は複雑さがゼロであり、ウェーブレット表現で非常にわずかなビットまで圧縮可能であるため、イメージが未圧縮でラスタ順に送信されているかのようになり、ほとんど無駄がない。
【００４２】
空間的コヒーレンス：
典型的なブラウジングパターンには、累進的なズームおよびパンが含まれる。多重解像度ストリーミングイメージのブラウジング技術は、このコンテキストで適切に働くように設計される。完全な情報が当該ウィンドウに伝送可能であり、空間情報が当該ウィンドウのすぐ周囲の領域に伝送可能である。パンまたは他の動きで、好ましくは関連する新しい情報のみが伝送される（「デルタ」）。これはすべて、非常に効率の良い様式で実行可能である。例えば特に大きなデータブロックは、当該ウィンドウがデータブロックのアンカポイントと交差するまで空間的に良好に伝送できる。
【００４３】
性能：
本発明の１つまたは複数の実施形態では、ポインタレイヤーは、ポインタからそれが対応するデータブロックまでの距離を示す。農村部では、データブロックをポインタ位置の中心に直接配置できることが想起される。この場合、すべてのデータは完全にローカルとなる。しかしながら都市部ではデータが「混雑」し始め、データブロックは、データブロックが対応するそれぞれのポインタ（ポインタイメージ内）およびそれぞれのフィーチャ（事前レンダリングされたイメージ内）からオフセットした位置にあるとすることができる。
【００４４】
本発明の１つまたは複数の実施形態では、地図が生成されると、事前レンダリングされたイメージ内で対応するフィーチャからのデータブロックの最大移動に上限を課すことができる。次にこれが、事前レンダリングされたイメージ内にある所与のサイズの当該ウィンドウに関連するデータレイヤーの一部の最大領域、すなわち最大複雑さを制限する。例えば最大移動が３２ピクセルの場合、データイメージ内のウィンドウは、事前レンダリングされたイメージ内の当該ウィンドウよりもそれぞれの側で３２ピクセルだけ大きければよい。
【００４５】
パッキングが可能な地点を越えてデータ密度が上昇した場合、常時例えば１５メートル／ピクセルから１２メートル／ピクセルまで解像度を上げることができる。これによりデータにはさらに「身動きする余地」が与えられる。異なる種類のデータを異なる詳細レベルの中で分散できることにも留意されたい。したがって、例えばデータが解像度４０メートル／ピクセルで極端に密集している場合、何らかのクラスのそのデータは３０メートル／ピクセルレベルの方がより良く格納できる可能性があることを示唆する。
【００４６】
密集は、データレイヤーおよびポインタレイヤーで見られる場合がある。異なるクラスのデータにとって適切な解像度は、スペース全体にわたって異なる場合があるため、例えば狭い街路のベクトルデータは農村部では３０メートル／ピクセルで符号化可能であるが、都市部では１２メートル／ピクセルでしか可能でない場合がある。つまり、ポインタおよびデータイメージは、視覚的あるいはデータ処理アルゴリズムを使用して、データの密集を容易に検出および修正できるようにする。結果として生じるデータイメージの階層は、任意の所与のビューに必要なデータの量が上限を超えないように制御できるため、たとえ低帯域幅設定であっても高性能のベクトルブラウジングを保証するのに役立てることができる。この種の上限は、既存の地理情報データベースでは、強制するかまたは画定するのでさえ非常に困難である。
【００４７】
実施の簡便さ：
本発明の１つまたは複数の態様は、地理情報データベースの問題をリモートイメージブラウジングの問題にマッピングすることに関する。多くの工学技術が、リモートイメージブラウジングを効率良く働かせることに参入してきた。基本的な圧縮技術に加えて、これにはキャッシングの最適化、帯域幅の管理、クライアントおよびサーバ両方へのメモリ使用、ならびにサーバ側でのファイル表現が含まれる。従来の地理情報データベース技術の場合とは対照的に、この技術は円熟しており、いくつかの実施形態で使用可能である。
【００４８】
したがって、本発明の１つまたは複数の実施形態は、好適に配置構成された地理情報データベースと、地理情報データベースと対話するリモートイメージブラウジング技術との間に、効率的な協働をもたらすことを企図する。さらに、本発明の１つまたは複数の実施形態では、クライアント側のデータ用に単一のアダプタのみを使用した状態で、イメージとデータの両方のブラウジングに単一のシステムのみを使用すればよい。前述の内容は、１つはイメージブラウジング用、もう１つはデータブラウジング用の、２つの準独立型複合システムを有することが好ましい。
【００４９】
ポインタを表すための代替方法
本発明の１つまたは複数の代替実施形態では、ヒルベルト−ペアノ曲線とも呼ばれることのあるヒルベルト曲線について考える。ヒルベルト曲線は、（参照により本明細書に組み込まれた（例えば、非特許文献２参照））空間充填曲線として知られる再帰的に定義された曲線の集合に属する。１次、２次、３次、４次、および５次のヒルベルト曲線は、それぞれ図６、７、８、９、および１０に示されている。
【００５０】
高次制限で明白なように、１次元曲線は単位正方形全体を充填する（正式には、単位正方形内が密になる）。ｎ次元曲線は、単位正方形上の４＾ｎポイントを訪れる。第１次（４＾１）の場合、これらのポイントは正方形のコーナーである。本発明に関する目的の場合、ｎ次曲線に正方形内の整数座標のすべて（０，０）〜（２＾ｎ−１，２＾ｎ−１）を訪れさせることが好ましい。ビット操作を使用する場合、ｎ次ヒルベルト曲線上のパス長さと（ｘ，ｙ）座標との間で相互変換（ｉｎｔｅｒ−ｃｏｎｖｅｒｔｉｎｇ）するための既知の高速アルゴリズム（例えば、非特許文献３参照）があり、これは参照により本明細書に組み込まれている。例えば２次曲線の場合、この相互変換で以下の表の左の列から右の列へ、またはその逆にマッピングすることになる。
【００５１】
【表１】
2007529786.tif 000003
【００５２】
ヒルベルト曲線は、「近隣関係」を非常に良好に保持しながら、（構成要素ｘおよびｙを有する）２次元ベクトルを単一数ｄとして符号化する簡便な方法を提供するため、ポインタイメージの符号化の問題に適切である。近隣関係とは、一般に、「ｄ」値が互いに近いポイントは２次元空間でも近いことから、ベクトル位置がゆっくりと変化する場合、ｄもゆっくりと変化する傾向があることを意味する。しかしながら、この関係は常に持続するわけではない。例えば２次の場合、（１，０）から（２，０）へ移動すると、パス距離「ｄ」は１から１４となる。１次元曲線で２次元空間を充填し、近隣関係を常に保持することは不可能である。
【００５３】
ｎ次ヒルベルト曲線のパス距離ｄを表すには、２＊ｎ（２掛けるｎ）ビットが必要である。２次元表現を使用する場合、ｘおよびｙ座標がパス距離ｄ上に配置されたポイントを表すためにそれぞれｎビットを必要とする。したがって、ベクトルの「ヒルベルト符号化」は単一の数ｄとしてペアの数（ｘ，ｙ）を再パッケージングするが、入力（ｘ，ｙ）および出力ｄの両方が同じ数のビット、２ｎを使用する。小さな（ｘ，ｙ）ベクトルはｄの小さな値に符号化される。事実上、ｎ次ヒルベルト曲線は、（ｎ＋１）次曲線の左下４分の１にすぎないことがわかる。
【００５４】
したがって、８ビットイメージのあらゆるピクセルの値は４次ヒルベルト曲線上のパス距離であり、範囲（０，０）〜（１５，１５）内、すなわち１６＊１６グリッド上のどこかでベクトルを符号化する、とみなすことができる。下位ニブルのｘの４ビットおよび上位ニブルのｙの４ビットをパッキングする代わりに、ヒルベルト符号化ピクセルは、ｘおよびｙがどちらも４未満の場合１６未満の値を有することになり、ｘおよびｙがどちらも２未満の場合値は４未満となる。データパッキングアルゴリズムは、好ましくはデータブロックをアンカポイント（ポインタが挿入されることになる場所）のできる限り近くにパッケージングするため、小さな値を伴うベクトルが一般的である。さらにこれらのベクトルがヒルベルト符号化される場合、これはポインタイメージ内の小さなピクセル値に変換されることになり、イメージ圧縮性能がさらに良くなる。
【００５５】
一実施形態では、それぞれ２５６＊２５６または４０９６＊４０９６グリッド上で（ｘ，ｙ）ベクトルを符号化することが可能な、１６ビットイメージまたは２４ビットイメージを使用する。値２５６は２＾８に等しく、値４０９６は２＾１２に等しい。
【００５６】
一実施形態では、ヒルベルト符号化アルゴリズムは、ｘおよびｙの値の範囲が正および負の数のどちらにも及ぶ符号付きベクトルに対処するように修正される。修正には、ベクトル象限を識別するパス距離ｄと共に２つの特別ビットを特定することが含まれる。これら２つのビットはｘおよびｙの符号ビットである。その後、ｘおよびｙに関する絶対値は通常通りヒルベルト符号化される。（範囲の重複を避けるために、ｘ＝０およびｙ＝０は正の象限に属し、負のｘまたはｙに関する絶対値は−１−ｘまたは−１−ｙとして算出される。）この実施形態では、各象限内の符号化ベクトルの数値範囲がほぼ等しくなるように、出力値の２つの最下位ビット位置に符号ビットが割り当てられる。したがって、１６ビットイメージの例では、ｘおよびｙの値が−１２８から＋１２７の間（両端の値を含む）のベクトルは、各象限について７次ヒルベルト曲線を使用して符号化することができる。ｘおよびｙが−６４から＋６３の間のベクトルには、１４ビットで表現可能なピクセル値を割り当てることが可能であり、２＾１４＝１６３８４である。ｘおよびｙが−８から７の間である場合、値は２＾８＝２５６未満である。
【００５７】
パッキングアルゴリズム
１つまたは複数の実施形態では、事前レンダリングされたレイヤーとまったく同様に、ポインタおよびデータのレイヤーが事前に計算される。ポインタおよびデータレイヤーに関する事前計算は、関連するベクトルデータのすべてをデータブロックに符号化すること、およびポインタおよびデータブロックの両方をできる限り効率的にそれぞれのレイヤーにパッキングすることからなる。農村部または疎な近郊地域（図２を参照）では、フィーチャは適度に分離する傾向があり、結果としてポインタおよびデータイメージ内には大規模な空き領域が生じることになる。ポインタが発生する場合、好ましくはそれらが参照するフィーチャ上に正確に位置し、それらの対応するデータブロックは、しばしばそのポインタの中心に正確に配置される。しかしながら密集した都市部（図３を参照）では、ポインタおよびデータブロックに関するフィーチャがしばしば互いに近すぎて、事前レンダリングされたレイヤー内の対応するフィーチャの場所に緊密に対応する位置に収まらない。したがって、矩形パッキングアルゴリズムを使用して、ポインタおよびデータブロックをできる限り所望の位置の近くに重複することなく配置するように試みることが有益である。
【００５８】
その結果は図３で明らかである。空き領域３５０には、複数の道路３２０との交差点で道路３１０に沿って存在するフィーチャに対応するデータブロック３４０が充填される。都市部は通常、より疎な領域（近郊、山地、または水域）に囲まれているため、都市データブロックを、それらがそのフィーチャに対応している都市部に適度に近接した地図上のどこかに配置することが可能である。
【００５９】
一般に、人口密集都市内であっても、この「過剰」が過度に重大でない空きスペースが十分にある。一般に、過剰の割合が高いほど、地図のベクトルデータは適切に局在することになる。過剰は一般に、データレイヤーイメージの解像度が上昇するにつれて急激に減少する。効率および非局所性のバランスが適切に取れている解像度を見つけることが有益である。北アメリカでは、一般に１５ｍ／ピクセルが適度な選択である。１５ｍ／ピクセルの解像度は農村部では「過度」であるが、都市近郊ではこの解像度を選択すると過剰が制限される傾向がある。
【００６０】
効率の良い矩形パッキングは、計算上は困難な問題である。しかしながら、これを解決するために、計算幾何学文献には多数の近似アルゴリズムがあり、本発明はこれらのうちのいずれか特定の１つに限定されない。特に指定のない限り、本発明の１つまたは複数の実施形態と共に、計算幾何学文献で説明された当業者にとって既知の１つまたは複数の矩形パッキングアルゴリズムを使用して、データレイヤー内にデータブロックを配置することができる。
【００６１】
すでに本発明の１つまたは複数の実施形態と共に使用されてきた好ましいアルゴリズムには、所与の矩形がすでにツリー内にある任意の他の矩形と交差するかどうかをテストすること、非重複矩形を挿入すること、および、ターゲットポイントｐを中心とする半径ｒ０＜＝ｒ＜ｒ１の円内に「空きコーナー」（すなわち、空きスペースに隣接するすでに挿入された矩形と接するコーナー）の完全なセットを見つけること、という操作を迅速に実行することが可能な、階層状の「矩形ツリー」が含まれる。
【００６２】
ターゲットポイントのできる限り近くに新しい矩形を挿入するために「貪欲（ｇｒｅｅｄｙ）アルゴリズム」が使用され、続いて以下のように進行する。
１）ターゲットポイントを中心に矩形を挿入するよう試みる。これが成功した場合、アルゴリズムは終了する。
２）成功しなかった場合、半径ｒ０が矩形の最大の長さまたは幅の半分、およびｒ１＝ｒ０＊２となるように、定義する。
３）ｒ０とｒ１との間のすべての「空きコーナー」を見つけ、増加半径順にソートする。
４）これら各コーナーに矩形を順に配置するよう試み、成功するとアルゴリズムは終了する。
【００６３】
試みた挿入がどれも成功しなかった場合、ｒ０をｒ１に設定し、ｒ１を２＊ｒ０に設定して、ステップ３に進む。
【００６４】
好ましい実施形態では、このアルゴリズムは、配置される矩形の寸法に合致するかまたはこれを超える空きスペースがイメージ内のどこかに存在すれば、最終的に矩形の配置に成功する。このアルゴリズムは、１回に１つの矩形を配置するという意味で「貪欲」である。貪欲アルゴリズムは、ｎ個の矩形をできる限り効率良くパッキングするという全体論的な問題を解決しようと試みることはない。全体論的アルゴリズムには、無駄なスペースを最小にすることと、矩形とそれらの「ターゲットポイント」の間の距離を最小にすることとの間の、所望なトレードオフを特定する、パッキング効率の明示的測度の定義が含まれる。貪欲アルゴリズムは最適とは言えないが、前述のアルゴリズムの説明から明らかなように、このトレードオフを明示的に特定する必要がない。
【００６５】
図４は、３つのケースの基本パッキングアルゴリズムの出力を実証する。それぞれのケースで、アルゴリズムはいくつかの矩形を共通ポイントのできる限り近くに順に配置する。矩形パッキング問題に対するこのソリューションは、一例として提供されている。左端のケースでは、ほとんどの矩形が小さく細い。３つのうちの中央の例では、大きい、少なくともほぼ正方形の矩形が使用される。さらに右端の例では、小さい矩形と大きい矩形の混合が使用される。
【００６６】
地図のいかなる特定の領域にも配置プリファレンスを与えることのない貪欲パッキングアルゴリズムの場合、矩形挿入の順序をランダムにすることが望ましい。したがって好ましい実施形態では、ポインタ／データブロックはランダムな順序で挿入される。他の順序付けにより、ある環境ではパッキング効率がさらに向上する場合がある。例えば、小さなブロックよりも大きなブロックを先に挿入することにより、無駄なスペースを最小限にすることができる。
【００６７】
好ましい実施形態では、ポインタデータは２ピクセル×２ピクセル（すなわち、行に沿って２ピクセル、列に沿って２ピクセル）単位で編成される。したがってピクセル単位では、各ポインタは好ましくは２×２（表記法は行×列）である。しかしながら、代替実施形態では、ポインタの行サイズおよび列サイズは変化する場合がある。代替実施形態では、ポインタは、１２次ヒルベルト符号化を使用して単一の２４ビットカラーピクセルで表すことができる。
【００６８】
データブロックの場合、データブロックのアスペクト比の選択は自由であり、正方ピクセル内のブロック領域はブロック内に収まることになるデータ量によって決定されるが、この領域を多くの異なる形状の矩形に納めることはできない。例えば、２４バイトデータブロック（幅および高さ情報の４バイトと、任意データの２０バイト）は、１×２４、２×１２、３×８、４×６、６×４、８×３、または１２×２として正確に表すことができる。（この実施形態では、前述のように、クライアント側でブロック寸法がわかる前に２バイト幅を復号できるように、ブロック幅は少なくとも２でなければならないため、２４×１は不適格である。）
【００６９】
データブロックは、１バイトを残して、５ピクセル×５ピクセルのブロック（すなわち「５×５」）内で表すこともできる。前述のすべての因数分解のセットは、近似因数分解５×５に加えて、「上限因数分解（ｃｅｉｌｉｎｇ  ｆａｃｔｏｒｉｚａｔｉｏｎ）」とも呼ばれる。有効な上限因数分解に関する規定は、その領域が問題のデータブロックの寸法と一致するかまたはこれを超えること、および全体が活用されていない行または列がないことである。例えば７×４または３×９は、それぞれ６×４および３×８に削減できるので、好ましい上限因数分解ではない。最も単純な実施では、ブロックの寸法はデータ長さの上限因数分解のみに基づいて選択することができる。一般に「平方」ブロック（４×６など）の方が、斜角（ｏｂｌｉｑｕｅ）ブロック（２×１２など）よりも適切にパッキングする。
【００７０】
最も単純なデータブロックサイジングアルゴリズムは、「どれだけ正方形に近いか（ｓｑｕａｒｅｎｅｓｓ）」と無駄になるバイトとをどのようにトレードオフするかに応じて４×６または５×５のいずれかを選択することができる。より高度なブロックサイズ選択アルゴリズムは、ブロックの寸法を、ターゲットポイント近くの空きスペース探索の一部として適応的に選ぶことができる。一実施形態では、前述のアルゴリズムのステップ１および４が以下のように修正される。１）必要なデータ長さを有する上限因数分解を、平方因数分解に関するプリファレンスおよび場合によっては無駄になるバイトに関するペナルティを伴う望ましさの順にソートする。２）各上限因数分解によって得られた寸法の矩形を、ターゲットポイントｐに配置するよう試みる。３）これらのうちいずれかの挿入が成功した場合、アルゴリズムは終了する。４）各「空きコーナー」ｃについて、各上限因数分解によって得られた寸法の矩形をｃに配置するよう試みる。成功するとアルゴリズムは終了する。
【００７１】
このアルゴリズムのさらなる改良点には、全体論的最適化機能、無駄になるスペースとのトレードオフ、非正方形のアスペクト比、およびターゲットポイントからの距離の場合と同様、挿入に関する採点機能の規定が含まれる。
【００７２】
事前レンダリングされたレイヤー、ポインタレイヤー、およびデータレイヤーの３つの地図レイヤーは、好ましくはそれぞれＪＰＥＧ２０００または同様の空間的にアクセス可能な表現として格納される。しかしながら、データ圧縮に関する許容条件は３つのレイヤーによって異なる。
【００７３】
事前レンダリングされた道路レイヤーに関する圧縮は可逆式である必要はないが、表示される場合の適度な知覚正確さを有することが有利である。１５ｍ／ピクセルでは、０．５ビット／ピクセルの不可逆式ウェーブレット圧縮が完全に適切であることがわかった。しかしながら好ましい実施形態では、ポインタおよびデータレイヤーは正確な再構築をクライアントが必要とするデータを含んでいる場合、可逆式で圧縮される。可逆式圧縮は、通常、あまり効率的ではない。例えば典型的なデジタルイメージは、通常は最高でも２分の１を超えて可逆式で圧縮することはできない。データおよびポインタレイヤーに関して、これよりもかなり高い可逆式圧縮率を達成するための技法が開発されてきた（「平坦化」のセクションで後述する）が、依然として標準のウェーブレットベースのＪＰＥＧ２０００圧縮を採用している。
【００７４】
代替パッキング方法
このセクションでは、データレイヤー内にデータブロックをパッキングするための代替実施形態を提示する。好ましい実施形態では、所与のバイト数（ピクセルに対応）を割り振るための「割り振り」関数が定義される。この割り振り関数は、好ましくは、類似した従来のメモリ割り振り関数（Ｃでは「ｍａｌｌｏｃ」）とは以下の３つの点で異なる。
【００７５】
１）従来のメモリ割り振り関数は、１次元アドレススペース内に連続して割り振られた間隔の開始アドレスに対応するスカラポインタを戻すが、本発明者らの割り振り関数によって戻されるポインタは、データイメージ内の開始位置を特定する２次元ベクトルである。
【００７６】
２）本明細書に開示された割り振り関数によって割り振られるピクセルは、割り振られたバイトが関数「ｍａｌｌｏｃ」によって戻されたアドレスから開始しているため、すべてが連続してはいない可能性がある。
【００７７】
３）本明細書に開示された割り振り関数には、割り振るための所望数のピクセル数が渡されるだけでなく、データイメージ上のターゲット位置も渡される。所望数のピクセルはターゲット位置のできる限り近くに割り振られるが、以前に割り振られたピクセルがあればこれを避ける。
【００７８】
「パッキングアルゴリズム」セクションで説明した「割り振り」関数および後述の代替の「割り振り」関数は、これらの特徴を共有する。しかしながら、前述の「割り振り」関数は常にピクセルの単一の矩形を割り振るが、後述の関数はより柔軟にスペースを割り振ることができる。
【００７９】
データイメージに関する望ましい特性：
１）低いデータオーバヘッド：これまでに探求されたデータイメージの１つまたは複数の実施形態では、いくつかの補助データを符号化する必要がある。予備のバージョンでは、このデータは幅および高さを１６ビット値として格納したブロックの寸法を含む。したがってオーバヘッドは、割り振られたデータのまとまりについて４ピクセルであった。
【００８０】
２）最低限の無駄になるスペース：これまでに探求されたデータイメージの１つまたは複数の実施形態では、ある程度のピクセルが無駄になる可能性がある。例えば一実施形態では、２６ピクセルを要求すると、結果的に８×４ピクセルブロックが割り振られる可能性があった。結果として生じる８×４＝３２のピクセルのうち、４がオーバヘッドであり、残る２が無駄となる。
【００８１】
３）良好な空間的局在化（ｌｏｃａｌｉｚａｔｉｏｎ）：かなりまとまったデータを同じターゲット位置の近くに繰り返し割り振ると、結果として「混雑」が生じることになる。データピクセルにとっては、できる限りターゲットの近くであることが望ましい。
【００８２】
４）コヒーレンス：性能上の理由と、データイメージに固定サイズのウィンドウが与えられる場合に不完全なデータのまとまりの数を減らすための、両方から、単一のまとまりのピクセルをできる限り連続させておくことが望ましい。
【００８３】
これらの特性間では、一般にトレードオフを実行しなければならない。例えば、コヒーレンスおよび空間的局在化は同様の特性のように思えるが、これらはしばしば競合する。長いデータのまとまりが混雑地点の近くに割り振られる場合、最も近い連続する領域が遠く離れている可能性があるが、隙間を埋めるためにデータのまとまりが分割されると、必要なピクセル数を近くに割り振ることが可能であり、結果として局在化は良いがコヒーレンスは悪くなる。
【００８４】
本発明の１つまたは複数の実施形態は、基本となるデータ割り振りの空間的単位をｎ＊ｍピクセルブロックとなるように設定することにより、データパッキングを簡略化し、ここでｎおよびｍは小さいが２＊２以上であり、ｎ＊ｍの間隔でグリッド上に整列される。したがってこれらのブロックは「スーパーピクセル」とみなすことができる。
【００８５】
通常、単一の割り振られたまとまりはｎ＊ｍより多くのバイトを有するため、このまとまりは複数のブロックに広がる。したがって、好ましくはブロックはチェーン接続される。ブロックの最初の２ピクセルは、好ましくは、チェーン内の次のブロックを指すポインタ（前述のように、ヒルベルト符号化済みとすることができる）を含む。これは、実際には単独リンクされたリストの２次元の相似形（ａｎａｌｏｇｕｅ）である。ベクトルは、現在のブロックを基準にしてグリッド単位で特定可能であり、例えばブロックがベクトル（＋１，０）と特定した場合、そのまとまりは右方向の次のブロックへと連続することを意味し、ブロックが（−２，−１）と特定した場合、そのまとまりは左方向に２ブロック、上方向に１ブロック連続することを意味する。（０，０）ベクトル（ｎｕｌｌポインタと等価）を使用して、現在のブロックがチェーンの最後であることを示すことができる。
【００８６】
ブロックサイズが非常に小さい場合、このスキームではデータオーバヘッドが高い可能性がある。２×２ブロックに制限されている場合、ブロックあたり４ピクセルのうちの２ピクセルが次のブロックへのポインタとして働き、オーバヘッドデータをそのブロックの合計データの半分にする。しかしながらこれを補償する多くの要素がある。その１つは、パッキング問題が大幅に簡略化され、その結果として無駄になるスペースが少なく、局在化が向上した、より最適なソリューションが生まれることである。
【００８７】
一実施形態では、ｎ＊ｍブロックを順番に割り振ることによってまとまり割り振りアルゴリズムが働く。ｋバイトの場合、ｃｅｉｌ（（ｎ＊ｍ−２）／ｋ）ブロックを割り振ることができる。ブロックの割り振りは、最も近い空きブロックをターゲットポイントに配置すること、およびこれをフルにすることからなる。必要数のブロックが割り振られた後、データおよび次のブロックのポインタがこれらのブロックに書き込まれる。「最も近い」は、様々な測度を使用して定義することができるが、有用な特性を備えた以下の４つの選択肢がある。
【００８８】
１）ユークリッド（Ｌ２）ノルム。これはターゲットまでの最短直線距離でブロックを選択し、同心円内にブロックを充填する。
【００８９】
２）マンハッタン（Ｌ１）ノルム。この距離測度は、ｘオフセットおよびｙオフセットの絶対値の合計である。円がＬ２内にターゲットポイントから等距離のポイントセットを定義し、矩形がＬ１内にこのセットを定義する。したがってブロックは、この測度を使用して同心の矩形内に充填されることになる。データイメージ内のウィンドウはそれら自体が矩形であるため、および２次元ポインタの最大範囲は矩形であるため、ほとんどの適用例でＬ１測度はＬ２よりも道理にかなっている。
【００９０】
３）ヒルベルト曲線ノルム。このノルムは、前のセクションで説明したように、象限が下位２ビットに符号化された実際のヒルベルト曲線パス長さを使用して定義される。このノルムを最小にすることは、ポインタの大きさを最小にすることに直結する。また、前述の２つのノルムとは異なりこれは非退化性（ｎｏｎ−ｄｅｇｅｎｅｒａｔｅ）であり、ターゲットポイントから（最も近いブロック位置に丸められる）任意の他のブロックまでの距離が固有であることを意味する。したがってこの実施形態では、「最も近い」非割り振りブロックは固有に定義される。
【００９１】
４）矩形スパイラルノルム。この距離はＬ１ノルムと同様であるが、ターゲットから等距離の矩形パスＬ１内のブロックに一貫した順序を課すことによって、Ｌ１ノルムの退化を壊す。このパスは矩形上の任意のポイントで開始および終了することができる。便宜上、時計回りに進んで低ｘ、低ｙコーナーを特定することができる。このノルムには、ヒルベルト曲線ノルムと同様、「最も近い」非割り振りブロックを固有に定義するという利点がある。既存のフルブロックとの衝突がないと想定すると、連続するブロックは隣接しており、それによりターゲットを中心に延在するスパイラルが形成される。
【００９２】
割り振り中にチェーン内で最良の（自由な）次のブロックを選択するための他の測度も可能である。一実施形態では、アロケータは、ターゲットポイントからの各ブロックの距離だけでなく、前のブロックからの各ブロックの距離も考慮に入れることができる。これら２つの距離を測定するために同じ測度を使用することができる。代替として、異なる速度を使用することが可能であり、これら２つの距離を加えるか、またはそうでなければ関連する重み付け因子と組み合わせて、組合せ距離を得ることもできる。次のブロックの位置を決定する際に前のブロックからの距離にかなりの重みを付けることはコヒーレンスを促進し、ターゲットポイントまでの絶対距離にかなりの重みを付けることは空間的局在化を促進する。したがってこのスキームは、単一のパラメータを調整することにより、所望の任意の様式でコヒーレンスおよび局在化をトレードオフさせることができる。
【００９３】
他の重要なパラメータは、ブロックサイズ「ｎ」である。この説明では、ブロックは正方形、すなわちｎ＝ｍであると想定する。ｎとｍが等しくない非正方形ブロックは、ターゲットポイントの密度が水平および垂直で異なるか、または、コンピュータアーキテクチャ上のより良好な性能によりコヒーレントなスキャンラインアクセスを促進するか、いずれかの状況で有用である。ブロックサイズは、通常の１Ｄ（１次元）メモリ内の「メモリ整列」と同様に、メモリの細分性を定義する。次のブロックポインタが割り振られたスペースの分数２／ｎ＾２を使用するため、大きなブロックサイズはデータのオーバヘッドを減少させ、コヒーレンスも向上する。しかしながら、ブロック全体が一度に割り振られるため、大きなブロックサイズは無駄なスペースを増加させる。無駄なスペースは空間的な局在化を悪化させる可能性がある。ブロックサイズの適切な選択は、予測されるまとまりの長さの分散、ならびにターゲットポイントの空間的な分散に依存する。最良の選択は複雑であり、一般に、典型的なデータを使用した実験によって行われるものとする。
【００９４】
地図ベクトルデータの場合、４ピクセル×４ピクセルのブロックが適したサイズであることがわかっている。データオーバヘッドは合計データの８分の１と、かなり大きいが、無駄なスペースの量を減らすことによってさらにぎっしりとパッキングされると、増加したオーバヘッドが補償される。図１１〜１３は、４＊４ブロック（図１１）、６＊６ブロック（図１２）、および８＊８ブロック（図１３）を使用して、米国バージン諸島のうちの１つに関する（ハイコントラスト用に拡張された）データイメージを示す。無駄なスペースは、図１１〜１３ではわかりやすいように白（ただし実際には、改良された補償性能の場合、無駄なスペースには値ゼロ、すなわち黒）で描画される。明らかに、８＊８ブロックは無駄なスペースがかなり多く、局在化にも乏しいが、４×４ブロックは無駄なスペースが大幅に少なくなり、局在化も向上している。さらに図１１の４＊４ブロックイメージは、他の２つよりも小さなファイルサイズに圧縮している。
【００９５】
データ構造は、どのブロックがフルであるかを追跡し、ターゲットポイントおよび前のブロック位置に基づいて最も近い空きブロックを見つける必要があることに留意されたい。Ｒツリー（例えば、参照により本明細書に組み込まれた、非特許文献４を参照）は、この問題を解決するために使用可能な、効率の良い疎なデータ構造の一例を提供する。単にビットマップを使用することも可能であり、ここで「０」ビットはフリーブロックを示し、「１」ビットは充填済みブロックを示す。これらのデータ構造は、どちらもストライピングをサポートすることが可能であり、これによって合計イメージのほんの一部のみが所与の時間に動作メモリ内に残される。これにより、かなり大規模な空間的データベースイメージをオフラインで作成することができる。局在化は適切に境界が画されているため、後続の空間的照会にデータベースを使用する場合、一度に１つの小さなウィンドウを「視覚化」するだけでよい。
【００９６】
イメージデータの平坦化
不可逆式または可逆式のいずれかの圧縮のほとんどの形では、イメージ機能を小型化し、有効ビットの占有をよりわずかにすることによって、性能を最適化することができる。したがって、いくつかの実施形態では、特別な符号化技法を使用してオリジナルデータが「平坦化」される。これらの技法の成果は図５に表されており、同じ人口密度のデータイメージ領域の平坦化前（図５Ａ）および平坦化後（図５Ｂ）が示されている。
【００９７】
図５で使用されるデータイメージは、バージン諸島の道路地図データイメージである。図５Ｂは本明細書でより見やすいように故意に暗くしてあることに留意されたい。図５Ｂに提示されるように、矩形イメージは全体として灰色のかすかな影である。さらに、図５Ａでかなり明白な少量のピクセル値変化が、依然として図５Ｂでも大部分はイメージの下半分で見られる。図５Ｂの大部分のピクセル全体を通じたピクセル値の一貫性が、図５Ａのデータの「平坦化」範囲の有効性を証明する。
【００９８】
図５Ａを参照すると、平坦化以前のデータイメージは全８ビットの動的領域を有し、圧縮をかなり不十分にする（実際、このイメージの可逆式ＪＰＥＧ２０００圧縮バージョンは、オリジナルの未加工サイズよりも小さくはない）高周波数および構造化パターンを示すことに留意されたい。「平坦化」後はほとんどの構造が失われ、大部分のピクセルは８より少ない値を有するため、３ビットだけで表すことができる。対応するイメージのＪＰＥＧ２０００圧縮バージョンは、３：１圧縮よりも良好である。
【００９９】
「平坦化」は、以下（これは、図５の例で適用された変換の完全なリストである）を含む、いくつかの単純なデータ変換で構成することができる。
【０１００】
図５に適用された平坦化技法
図５の平坦化技法では、通常、データブロックの幅または高さなどの１６ビットの符号なしの値が、上位バイトおよび下位バイトを使用して符号化されることになる。符合化される値が時として２５５をある不特定量だけ超える（８ビット制限）ため、１６ビットを使用することができる。しかしながらほとんどのケースでは、これらの値は２５５を超えない。８ビットに収まる値の場合、上位バイトはゼロとなる。頻出ゼロ上位バイトに続く有効な下位バイトは、図５Ａの一部に定期的に現れる２ピクセルの大半に反映される。以下の表２に示されるように、１６ビットを再マッピングすることができる。
【０１０１】
【表２】
2007529786.tif 000004
【０１０２】
表１では、左側８列は以前上位バイトであった第１のピクセルペアを表し、右側８列は以前下位バイトであった第２のピクセルを表す。この方法でビットを再分散することにより、アクセス可能な値の範囲（０〜６５５３５）は変更されないままであるが、２つのバイトはより対称的になる。例えばすべての１６ビット値０〜２５５について、２つのバイトはそれぞれ値＜１６であると想定される。
【０１０３】
同様にビットインタリーブ技法が、３２ビットまたはそれより大きい整数値に適用される。これらの技法は、符号付き量にも拡張可能である。道路ベクトルの差動符合化に対して発生するような、符号が頻繁に変化する変数の場合、符号ビットを位置０に割り当て可能であり、前述のような交番バイトで絶対値を符号化することができる。納得できるように描画するために、道路ベクトルデータはピクセル精度よりも大きく表すことができる。ピクセルよりも小さい任意の単位を使用するか、またはそれと同等に、前述の技法と組み合わせて固定小数点演算を使用してサブピクセル精度を実施することが可能である。例示的実施形態では、１／１６ピクセル精度に対して４サブピクセルビットが使用される。
【０１０４】
前述のように数値が符合化される場合、数値をできる限り小さくすることが望ましい。時には状況によって、これを実行するための明確な方法が提案される。例えば、好ましい実施形態では、各データブロックの幅が２またはそれ以上のピクセルであるため、符合化する前にデータ幅から２を減じることができる。さらに重要なことに、データブロック内に符号化されたポインタおよび任意の位置ベクトルの両方が、絶対座標ではなくポインタ位置に対してピクセルで特定される。これにより、符号化する数値の量が大幅に削減されるだけでなく、データイメージの一部が復号され、この部分の絶対位置に関係なくローカル座標系内でベクトル的にレンダリングできるようにもなる。
【０１０５】
好ましい実施形態では、曲線（例えば道路）を定義する一連のポイントのベクトルレンダリングの場合、最初のポインタ位置に対して第１のポイントを特定するだけでよい。その後のポイントは、「デルタ」または前のポイントからのステップベクトルとして符号化することができる。こうした第２のポイントの後、追加の後続ポイントは第２の導関数（ｄｅｒｉｖａｔｉｖｅ）または現在のデルタと前のデルタとの差異として符号化することができる。第２の導関数を使用する符合化は、一般にこうした道路などの構造に有効であるが、それはこれらの構造が導関数の連続する曲線の離散化となる傾向にあるためである。特に指定のない限り、道路はその方向を徐々に変化させる傾向にある。
【０１０６】
代替の平坦化技法
バイトあたり１文字の、通常はＡＳＣＩＩとして符号化されるテキストデータで使用するための他の「平坦化」技法について、資料１（付録Ａとして本明細書に添付）で説明する。（１）で説明される応用例では、英語のテキストが符合化されているため、文字は、英語の表現サンプル内での文字出現減少頻度に基づいて再マッピングされる。同じ技法をこの文脈でも使用することができるが、地図中で符号化されるほとんどが街路名からなるテキストは、通常の英語とはまったく異なる統計値を有する。例えば数字および大文字はさらに顕著である。
【０１０７】
前述のようなポインタまたはデータを符号化するための特定の方法は例示的であって、多くの他の符合化も可能であることに留意されたい。「適切な」符合化の結果、一般に、平滑である、ならびに／あるいは、低い動的領域を有することになる。
【０１０８】
前述の技法を使用して、ワシントン州キング郡の道路地図をピクセルあたり１５メートル（ｍ）で、以下の表３に示されるように圧縮する。
【０１０９】
【表３】
2007529786.tif 000005
【０１１０】
驚くべきことに、地図データのＪＰＥＧ２０００表現（不可逆式事前レンダリングされた道路地図イメージ、可逆式ポインタレイヤー、および可逆式データレイヤーを含む）は、実際にはオリジナルデータを表テキストとして表す圧縮済みＺＩＰファイルよりも小さい。（このファイルは、米国国勢調査局の２００２  ＴＩＧＥＲ／Ｌｉｎｅデータベースの一部である。）しかしながら、オリジナルＺＩＰファイルとは異なり、新しい表現は、連続的なパンおよびズームが可能な空間的アクセスを効率的にサポートしながら、いつでも対話形式でクライアントに提供できる。
【０１１１】
資料（２）（付録Ｂとして本明細書に添付）で紹介されるオリジナルの事前レンダリングされたマルチスケール地図の発明は、単一の事前レンダリングされたイメージではなく、漸次より粗い解像度で、ライン（または他の可視フィーチャ）の重みをスケール変更しながらレンダリングされた、こうしたイメージのスタックを含んでいた。これらのいかなる事前レンダリングからもフィーチャが省略されることはないが、いくつかのフィーチャは集合の意味でのみ明確に見えるよう十分に強調解除（ｄｅ−ｅｍｐｈａｓｉｚｅ）される。例えば、都市の地方道路は州規模レベルではかすかに灰色でぼやけて見える。
【０１１２】
本発明の１つまたは複数の実施形態は、オリジナルのベクトルオブジェクトのサブセットのみが表される、より粗い事前レンダリングされた道路地図イメージに対応するポインタおよびデータイメージを含むように拡張することができる。例えば、事前レンダリングされたイメージに使用されるよりもかなり低解像度である州規模のポインタおよびデータイメージは、すべての地方道路を除外した高速国道および高速州道に関するデータのみを含む可能性がある。これらのより粗いデータは、例えばベクトルではなく道路名のみを特定する「抄録（ａｂｓｔｒａｃｔ）」とすることもできる。解像度の異なるイメージは、オリジナルデータの変化する混合物またはサブセット、あるいは抄録化バージョンを含むこともできる。この技法は、すべての関連データをより小さな粗いイメージに収めることが可能であると同時に、そのスケールでのナビゲーションに関連したベクトル情報のサブセットもクライアントに提供する。
【０１１３】
前述の実施形態ではあらゆる解像度での８ビットグレースケールの事前レンダリングされた地図イメージを提案したが、事前レンダリングされたイメージはカラーとすることもできる。さらに事前レンダリングされたイメージは、ベクトルデータを使用して重要な道路を事前レンダリングされた材料と異なるカラーで描画することができるため、たとえ単一チャネルイメージであっても、クライアントによってカラーで表示することが可能である。最終的に事前レンダリングされたイメージは、イメージおよびベクトル材料を適切に合成するクライアントに依拠して、ベクトルデータに存在するある一定のフィーチャまたは道路を省略することができる。
【０１１４】
以上、本発明について特定の実施形態を参照しながら説明してきたが、これらの実施形態は本発明の原理および応用例を例示しているにすぎないことを理解されよう。したがって、添付の特許請求の範囲によって定義された本発明の趣旨および範囲を逸脱することなく、例示的実施形態に対して多数の修正が可能であること、ならびに他の配置構成が考案可能であることを理解されよう。
【０１１５】
（付録）
発明の名称：ズーミングユーザインターフェースにおける窩のある、シームレスな、累進的レンダリングのためのシステムおよび方法
発明者：ＢＬＡＩＳＥ  ＨＩＬＡＲＹ  ＡＧＵＥＲＡＲＹ  Ｙ  ＡＲＣＡＳ
【０１１６】
技術分野
本発明は、一般に、コンピュータ用のズーミングユーザインターフェース（ＺＵＩ）に関する。より具体的には、本発明は、優れたユーザ反応性および高いフレームレートを維持しながら、ズーミング環境において任意に大規模または複雑なビジュアルコンテンツを累進的にレンダリングするためのシステムおよび方法である。いくつかの状況では、これらの目標を満たすためにレンダリングの品質を一時的に劣化させる必要があるが、本発明は、人間の視覚系の良く知られた特性を活用することにより、この劣化を大規模にマスクする。
【０１１７】
背景技術
現在のほとんどのグラフィカルコンピュータユーザインターフェース（ＧＵＩ）は、固定空間スケールの視覚構成要素を使用するように設計される。しかしながら、コンピュータグラフィックス分野の出現から、視覚構成要素は、ディスプレイ上に固定空間スケールを持たないがズームインまたはズームアウトが可能であるような方法で、表現および操作可能であることがわかった。ズーム可能な構成要素が望ましいことは、ごく一部を挙げると、地図の表示、新聞などの大規模な異種テキストのレイアウトのブラウジング、デジタル写真のアルバムの表示、および大規模データセットの視覚化作業など、多くの応用例で明らかである。たとえ、スプレッドシートおよびレポートなどの通常のドキュメントを表示する場合でも、ドキュメントの概要が一目でわかり、その後、関心ある領域にズームインできることがしばしば有用である。多くの現在のコンピュータアプリケーションには、Ｍｉｃｒｏｓｏｆｔ（登録商標）および他のＯｆｆｉｃｅ（登録商標）製品（「表示」メニューの下の「ズーム」）、Ａｄｏｂｅ（登録商標）Ｐｈｏｔｏｓｈｏｐ（登録商標）、Ａｄｏｂｅ（登録商標）Ａｃｒｏｂａｔ（登録商標）、ＱｕａｒｋＸＰｒｅｓｓ（登録商標）、などの、ズーム可能な構成要素が含まれる。ほとんどの場合、これらのアプリケーションはドキュメントをズームインおよびズームアウトすることが可能であるが、必ずしもアプリケーションの視覚構成要素自体はズームインおよびズームアウトしない。さらにズームは通常、ユーザがソフトウェアと対話する上でそれほど重要な側面ではなく、ズーム設定は時折修正されるだけである。ドキュメント全体にわたる連続したパンが標準（すなわち、スクロールバーまたはカーソルを使用して、表示されたドキュメントを左、右、上、または下に変換する）であるが、ほぼ例外なく、連続してズームする機能はない。より一般化されたズーミングフレームワークでは、任意の種類のビジュアルコンテンツをズームすることが可能であり、ズームはパンと同様に重要なユーザ体験の一部となる。こうした線に沿ったアイデアが、超近代的なコンピュータユーザインターフェースとして、早くも１９６０年代には多くの映画に登場し（例えば、スタンリーキューブリック監督の「２００１年宇宙の旅」、ターナーエンターテイメント社、タイムワーナー社（１９６８年））、その流れは最近の映画にまで続いている（例えば、スティーブンスピルバーグ監督の「マイノリティリポート」、２０世紀フォックスおよびドリームワークスピクチャーズ（２００２年））。１９７０年代から現在に至るまで、いくつかの連続的なズーミングインターフェースが考案および／または開発されてきた（初期に登場したのは、W.C. Donelson, Spatial Management of Information, Proceedings of Computer Graphics SIGGRAPH (1978), ACM Press, p.203-9。最近の例では、２００２年夏に開始されたＺａｎｖａｓ．ｃｏｍ）。１９９１年、これらのアイデアのうちのいくつかが、正式に承認された（例えば、Kenneth Perlin and Jacob Schwartz At New York University ("Fractal Computer User Centerface with Zooming Capability")の米国特許第５３４１４６６号参照）。Ｐｅｒｌｉｎおよびその協働者等によって開発されたズーミングユーザインターフェースの原型であ��Ｐａｄと、その後継のＰａｄ＋＋は、それ以降、ある程度の開発が見られている（Ｐｅｒｌｉｎはその後の開発について、http://mrl.nyu.edu/projects/zuni/で説明している。）。
【０１１８】
しかしながら当方の知る限り、全ＺＵＩ（ズーミングユーザインターフェース）に基づく主要なアプリケーションは、いくつかの技術不足が一因となりいまだ大量には出回っておらず、本発明はその技術不足の１つに対処する。
【０１１９】
発明の開示
本発明は、新しく開発されたズーミングユーザインターフェースフレームワーク（以下、その実用名からＶｏｓｓと呼ぶ）の基となる新規なアイデアを具体化する。Ｖｏｓｓは、そのソフトウェアアーキテクチャにおけるいくつかの改革点により、その先行品よりもより強力で、より応答性が良く、より視覚的に説得力があり、より多用途である。本特許は、特にオブジェクトタイリング（ｔｉｌｉｎｇ）、詳細レベル（ｌｅｖｅｌ−ｏｆ−ｄｅｔａｉｌ）ブレンディング、およびレンダリングキューイングのための、Ｖｏｓｓの手法に関する。
【０１２０】
多重解像度ビジュアルオブジェクトは、通常、異なる解像度または詳細レベル（イメージピラミッド）でサンプリングされたイメージの離散セットからレンダリングされる。３Ｄゲーミングなどの連続ズーミングが使用されるいくつかの技術コンテキストでは、各フレームをレンダリングするために、所望の詳細レベルを取り囲む２つの隣接する詳細レベルがブレンドされるが、これは通常は、所望の詳細レベルが正確には離散セットによって表されるうちの１つであるというケースではないためである。こうした技法は、時にはトリリニア（ｔｒｉｌｉｎｅａｒ）フィルタリングまたはミップマッピング（ｍｉｐｍａｐｐｉｎｇ）と呼ばれる。ほとんどの場合、ミップマッピングされたイメージピラミッドは事前に作成され、ズーミング操作中は連続して短期メモリ（すなわちＲＡＭ）内で維持されるため、任意の必要な詳細レベルが常時使用可能である。いくつかの拡張３Ｄレンダリングシナリオでは、イメージピラミッドはそれ自体がアニメーションループ内でレンダリングされなければならないが、これらのケースでは、全体のフレームレートに影響が出ないように、この最初のレンダリングパスの複雑さを十分に制御しなければならない。
【０１２１】
本コンテキストでは、無制限量のコンテンツの任意の視覚的複雑さを介したズームおよびパンによって連続的にナビゲートできることが望ましい。このコンテンツは迅速なレンダリングが不可能であり、さらに即時使用は不可能であるが、低帯域幅接続を介したリモートな場所からのダウンロードを必要とする可能性がある。したがって、常に所望の表示フレームレート（第２パス）に匹敵するフレームレート（第１パス）で、詳細レベルをレンダリングできるとは限らない。さらに、すべてのコンテンツに関して事前に作成されたイメージピラミッドをメモリ内に維持することも不可能であり、イメージピラミッドは必要に応じてレンダリングまたは再レンダリングしなければならず、このレンダリングは所望のフレームレートに比べて遅い可能性がある。
【０１２２】
本発明には、現在のディスプレイに関連するイメージピラミッド部分のレンダリング（潜在的に遅い）に優先順位を付けるためのストラテジと、部分的な情報、すなわちイメージピラミッドの現在使用可能なサブセットのみに基づいてレンダリングされるコンテンツの平滑で連続的な知覚をユーザに提示するためのストラテジの、両方が含まれる。これらのストラテジを組み合わせて、不完全なイメージピラミッドによって生じる任意のイメージ劣化を可能な範囲までマスクしながら、使用可能なコンピューティング能力または帯域幅を最適に近い形で利用する。イメージの鮮明さの不連続または突然の変化を避けるために、空間的および時間的なブレンディングが活用される。
【０１２３】
本発明の目的は、サンプリング（すなわちピクセル化（ｐｉｘｅｌｌａｔｅ））されたビジュアルコンテンツを、従来のトリリニア補間に対する最終的なイメージ品質の劣化なしに、ズーミングユーザインターフェース内でレンダリングできるようにすることである。
【０１２４】
本発明の他の目的は、任意に大規模または複雑なビジュアルコンテンツをズーミングユーザインターフェース内に表示できるようにすることである。
【０１２５】
本発明の他の目的は、任意に複雑なビジュアルコンテンツを、たとえこのコンテンツが最終的に大量のデータを使用して表現される場合であっても、およびこれらのデータがリモートな場所に格納され、低帯域幅ネットワークを介して共有されている場合であっても、ほぼ即時に表示できるようにすることである。
【０１２６】
本発明の他の目的は、ユーザが対話フレームレートを維持しながら、ビジュアルコンテンツ上で任意に大幅なズームインができるようにすることである。
【０１２７】
本発明の他の目的は、コンテンツ全体の外観を保持するプロセス、および対話フレームレートを維持するプロセスの両方で、ユーザが複雑なビジュアルコンテンツの概観を得るために任意に大幅なズームアウトができるようにすることである。
【０１２８】
本発明の他の目的は、対話中にユーザが知覚する詳細レベル間またはレンダリング品質間の遷移を最小限にすることである。
【０１２９】
本発明の他の目的は、レンダリングに必要な情報が使用不可であるため、または依然としてレンダリングが進行中であるために、それまでのところ詳細なビジュアルコンテンツが使用不可である場合、連続的なぼかし（ｂｌｕｒｒｉｎｇ）によって、イメージ品質の安全な（ｇｒａｃｅｆｕｌ）劣化を可能にすることである。
【０１３０】
本発明の他の目的は、ビジュアルコンテンツのある部分のレンダリングが最初に使用可能になった場合、徐々に鮮明化することによってイメージ品質を安全に向上させることである。
【０１３１】
本発明のこれらおよび他の目的は、当業者であれば、本明細書で後述する再検討から明らかとなるであろう。
【０１３２】
従来技術：多重解像度イメージおよびズーミングユーザインターフェース
技術的な見地から、ズーミングユーザインターフェースは、ビジュアルコンピューティングを基礎とする通常の概念の一般化であり、従来のユーザ／コンピュータ／ドキュメントの対話モデルに固有のいくつかの制限を克服できるようにするものである。こうした制限の１つが、コンピュータアプリケーションから「オープン」可能なドキュメントのサイズにあり、従来は表示または編集を始める前にこうしたドキュメント全体を「ロード」しなければならなかった。たとえ特定のコンピュータが使用可能な短期メモリ（通常はＲＡＭ）の量が大きい場合であっても、オープニング時に何らかのリポジトリから（例えばハードディスクから、またはネットワークを介して）すべてのドキュメント情報を短期メモリに転送しなければならないため、制限付き帯域幅により、「オープン」コマンドの発行から表示または編集が開始できるまでの遅延が我慢できないほど長くなってしまい、この制限が意識される。
【０１３３】
静止デジタルイメージは、この問題の最たる例と、コンピュータサイエンスコミュニティがこの問題を克服するにあたり、ビジュアルコンピューティングに関する標準モデルをいかに超えたかの例の、両方を提供する。以下の表１は、最小の有用なイメージ（時にはアイコンとして使用されるサムネイル）から、現在一般に使用される最大のイメージまで、様々な異なるイメージタイプの典型的な圧縮サイズについての異なる帯域幅でのダウンロード時間を示す。影付きの枠は、特定接続速度での対話型ブラウジングが困難または不可能なイメージサイズを示す。
【０１３４】
【表４】
2007529786.tif 000006
【０１３５】
ほとんどのユーザがＤＳＬまたはそれよりも低帯域幅でウェブに接続しており、より大きなイメージはダウンロードに長時間かかることになるため、現在ウェブ上にあるほぼあらゆるイメージは１００Ｋ（０．１ＭＢ）未満である。ローカル設定であっても、典型的なユーザのハードドライブ上では、５００Ｋ（０．５ＭＢ）より大きいイメージに遭遇することは稀である。平均的な家庭にあるイラスト付の本、道路地図帳、地図、新聞、および美術作品が、最大解像度でデジタル化された場合すぐにサイズが何１０メガバイトにもなってしまうような、非常に多くのイメージを含んでいるという事実によって、その大きな（すなわちより詳細な）イメージがしばしば有用であることが実証される。
【０１３６】
数年前まで、大規模イメージの不足はリポジトリ内の格納スペースの不足によるものであったが、ハードドライブ技術の向上、ＣＤＲＯＭ焼付けの簡便化、および大規模ネットワークサーバの普及増加により、リポジトリスペースはもはや制限要因ではなくなった。現在の主なボトルネックは帯域幅と、それに続く短期メモリ（すなわちＲＡＭ）スペースである。この問題は現実には前述の表によって提案された内容よりもかなり悪化しており、ほとんどのコンテキストで、ユーザは単一のイメージだけでなくイメージの集合全体を表示することに関心を寄せているため、イメージが中サイズよりも大きい場合、イメージを次々とダウンロードする間待機することは非現実的になっている。
【０１３７】
ＪＰＥＧ２０００（http://www.jpeg.org/JPEG2000.html）などの現在のイメージ圧縮標準は、この問題に正確に対処するよう設計される。イメージコンテンツを線形様式（すなわち、通常は上から下および左から右へと、ピクセル全体を単一のパスで）で格納するのではなく、多重解像度分解に基づいている。イメージは第１に解像度スケールの階層にサイズ変更され、通常は２分の１、例えば５１２×５１２ピクセルイメージは、２５６×２５６ピクセル、１２８×１２８、６４×６４、３２×３２、１６×１６、８×８、４×４、２×２、および１×１へとサイズ変更される。明らかなことに、詳細部分は高解像度のみでキャプチャされ、かなり少ない量の情報を使用する大まかな部分（ｂｒｏａｄ  ｓｔｒｏｋｅｓ）は低解像度でキャプチャされる。これが、異なるサイズのイメージが詳細レベル、または省略してＬＯＤと呼ばれる理由である。一見して、この一連のサイズが異なるイメージに関する格納要件が、高解像度イメージだけの要件よりも多いように見えるかもしれないが、実際にはそうではなく、低解像度イメージは次のより高解像度のイメージの「予測子」として働く。これにより、実際には、高解像度イメージのみの非階層型表現で通常可能なよりも、全体のイメージ階層をかなり効率良く符号化することができる。
【０１３８】
イメージの一連の多重解像度バージョンがサイズの小さいものから順にリポジトリに格納されると想像した場合、通常は、イメージがデータリンクを横切ってキャッシュへと転送される場合、ユーザはイメージ全体の低解像度の概観を取得できることになり、その後、さらに詳細な部分は伝送の進行と共に「充填」されていくことになる。これは増分または累進的伝送と呼ばれる。適切に実施された場合、仮にどのようなイメージでも、どれほど大きくても、たとえリポジトリへの接続の帯域幅が中程度であっても、ほぼ瞬時に、その空間全体に（全詳細ではないが）表示可能であるという特性を有する。全詳細イメージをダウンロードするために必要な最終的な時間は同じであるが、この情報が送信される順序は、イメージの大規模フィーチャが第１に伝送されるように変更されており、これは、全詳細ならびに上から下および左から右の「読み取り順」でピクセル情報を伝送するよりも、ユーザにとってかなり役立つものである。
【０１３９】
この改良に隠されているのは、前述の従来型アプリケーションモデルには収まりきらないイメージを「オープン」するということが何を意味するかという新しい概念である。ここで、ユーザがイメージをダウンロードしながら表示可能な、その有用性が、イメージの大まかな部分はダウンロード開始直後、おそらくはダウンロードが完了するかなり前に使用可能であるという事実から生じる概念を想像してみる。したがって、アプリケーションにとって、ダウンロードが完了する間ユーザを待たせることは無意味であり、その代わりにアプリケーションはドキュメントのうちの可能な部分を即時表示するはずであり、詳細のダウンロードを「バックグラウンドで」続行する間、ユーザとの対話に遅延または不必要な中断は発生しない。これには、アプリケーションがマルチスレッド化と呼ばれる複数のタスクを一度に実行することが必要である。最新のウェブブラウザは、ウェブページのテキストレイアウトを表示し、その間にユーザとの対話を維持しながら、ウェブページ上でイメージを同時にダウンロードするために、やや異なる立場でマルチスレッド化を使用することに留意されたい。この場合、ウェブページの必要最低限のテキストレイアウトからなる基本の詳細レベルを機能強化する、追加の詳細レベルとして埋め込まれたイメージ自体について考えることができる。この類推が、後に重要性を証明することになる。
【０１４０】
明らかな階層状のイメージ表現およびイメージドキュメントの累進的伝送は、線形表現および伝送を超える進歩である。しかしながら、イメージがその最高の詳細レベルで、ユーザのディスプレイが一度に表示可能な量よりも多くの情報（すなわちより多くのピクセル）を有する場合、さらなる進歩が重要になる。現在のディスプレイ技術では、これは常に表１の下から４種類のイメージに当てはまるが、より小型のディスプレイ（ＰＤＡスクリーンなど）は、下から８つでさえも表示できない可能性がある。これは、大きなイメージにとってズーミング機能を必須にし、追加の詳細を見つけるためにズームインすることが不可能な場合、ディスプレイよりも大きなイメージの表示は無用である。
【０１４１】
大きなイメージのダウンロードが開始された場合、おそらくユーザはそれを全体として見ているであろう。第１の詳細レベルはしばしば粗すぎて、使用可能な少量の情報を大きな表示領域全体に広げるために使用される補間の種類に応じて、表示されるイメージは濃淡のむらがあるかまたはぼやけて見えることになる。その後このイメージは、累進的に詳細化されることになるが、ある地点でディスプレイを情報で「飽和」させ、任意の追加の詳細をダウンロードしても視覚的な効果がなくなる。したがって、仮にその地点を越えてダウンロードを続けても意味がない。しかしながら、ユーザが特定の領域をより詳しく見るためにズームインすることを決めたと想定すると、イメージの効果的な投影サイズは、物理的なスクリーンよりも大幅に大きくなる。そこで、前述のダウンロードモデルでは、より高い詳細レベルを昇順（ｉｎｃｒｅａｓｉｎｇ  ｏｒｄｅｒ）にダウンロードすることが必要となる。困難な点は、あらゆる詳細レベルに、前の詳細レベルのおよそ４倍の情報が含まれることであり、ユーザがズームインしていくと、ダウンロードプロセスは必然的について行けない。さらに悪いことに、ダウンロードされているほとんどの情報が、表示領域以外の高解像度詳細からなるため無駄になる。ある詳細レベルの中で選択された部分のみをダウンロードする機能が必要であることは明らかであり、すなわち、目に見える詳細のみをダウンロードするべきである。この変更に伴い、任意の大型サイズのイメージを表示できるだけでなく、こうしたイメージを任意の詳細レベルで効率良くナビゲート（すなわちズームおよびパンなど）できる、イメージブラウジングシステムが作成可能である。
【０１４２】
ドキュメントアクセスの以前のモデルは本来逐次的であり、すなわち情報オブジェクト全体が線形順序で伝送される。これに対してこのモデルはランダムアクセスであり、すなわち、情報オブジェクトの選択された部分のみが要求され、これらの要求は任意の順序で、延長期間にわたって、すなわち表示セッション中に実行することができる。ここでコンピュータおよびリポジトリは、ドキュメントと共にディスプレイ上に表示されるユーザの「ダイアログ」と並行する、拡張ダイアログに従事する。
【０１４３】
ランダムアクセスを効率的にするために、グリッド正方形またはタイルが伝送の基本単位となるように、各詳細レベルをグリッドに細分化することが（絶対に必要ではないが）便利である。各タイルのピクセル単位のサイズは、増加していく各詳細レベルに前の詳細レベルの約４倍のタイルが含まれるように、一定のサイズまたはそれより下に維持することができる。その寸法が公称タイル細部の正確な倍数でない可能性がある場合、イメージの縁部には小さなタイルが生じ、さらに最低の詳細レベルでは、イメージ全体が単一の公称タイルよりも小さくなる。結果として生じるタイリングされたイメージピラミッドが図２に示される。ダウンスケールされたイメージが単一のタイルよりも小さくなる、ピラミッドの「頂点」は、図１のタイリングされていないイメージピラミッドのように見えることに留意されたい。ＪＰＥＧ２０００イメージフォーマットには、タイリングされた多重解像度およびランダムアクセスイメージを表す際に説明したのと同じすべてのフィーチャが含まれる。
【０１４４】
ここまで、静的イメージの場合についてのみ説明してきたが、アプリケーション特有の修正を施せば、この同じ技法をほとんどどのようなタイプのビジュアルドキュメントにも適用することができる。これには、大規模テキスト、地図、または他のベクトルグラフィックス、スプレッドシート、ビデオ、およびウェブページなどの混合ドキュメントが含まれる（これらに限定されることはない）。これまでの説明では、表示専用アプリケーション、すなわち、オープンおよび描画に対応するアクションまたは方法のみの定義が必要なアプリケーションについて暗黙に考えてきた。静的イメージ用のペイントプログラムによって実施される編集コマンド、テキスト用のワードプロセッサによって実施される編集コマンドなどの、他の方法が望ましい場合があることは明らかである。さらに、タイプされた入力を挿入するなどの通常のアクションが、基礎となるドキュメントに関する空間的スケールのある一定の範囲にわたってのみ関連するという、テキスト編集の問題を考えてみる。テキストがもはや読めないほどにズームアウトした場合、対話型編集はもはや不可能である。単一の文字が画面全体を覆うほどズームインした場合、対話型編集はもはや不可能であることもわかる。したがってズーミングユーザインターフェースは、ある方法のアクションをそれらに関連する詳細レベルに限定することもできる。
【０１４５】
ビジュアルドキュメントが、内部的にはイメージとしてではなく、テキスト、スプレッドシートエントリ、またはベクトルグラフィックスなどのより抽象的なデータとして表される場合、前述のセクションで紹介されたタイリングの概念を一般化することが必要である。静止イメージの場合、（いったん伸張された）情報が正確なタイルのピクセル×ピクセルのコンテンツであるため、いったん取得したタイルをレンダリングするプロセスは自明である。さらに速度のボトルネックは通常、圧縮データをコンピュータに転送（例えばダウンロード）することである。しかしながら場合によっては、速度のボトルネックはタイルのレンダリングにあり、レンダリングを実行するために使用される情報は、すでにローカルに格納されているか、または非常にコンパクトであるためにダウンロードによる遅延が生じない可能性がある。したがって次に、これが低速プロセスの可能性があることを理解した上で、タイルレンダリングとしてのタイル描画要求に応答した、完成された完全に描画されたタイルの作成について言及する。これが低速であるかどうかが、要求されたデータが大量であり、低速接続を介してダウンロードしなければならないためであるか、あるいは、レンダリングプロセス自体が計算上集約的であるためであるかは、無関係である。
【０１４６】
完全なズーミングユーザインターフェースは、ユーザが、そのサブドキュメント（ｓｕｂ−ｄｏｃｕｍｅｎｔ）が通常は空間的に重複しない、大型で場合によっては動的な複合ドキュメントを表示できるような方法で、これらのアイデアを組み合わせる。これらのサブドキュメントは、さらにそのサブドキュメント（通常は重複しない）を含むことが可能であり、さらにその先も同様である。したがってドキュメントは、各ドキュメントがサブドキュメントの集まり、すなわち子を指すポインタを有し、子のそれぞれが親ドキュメントの空間的境界内に含まれる構造である、ツリーを形成する。こうしたそれぞれのドキュメントを、ツリーに関するプログラミング用語から借用して、ノードと呼ぶ。描画方法はすべての詳細レベルのすべてのノードについて定義されるが、アプリケーション特有の機能に対応する他の方法は、ある特定のノードについてのみ定義可能であり、それらのアクションはある特定の詳細レベルにのみ限定することができる。したがって、いくつかのノードは、ペインティングなどのコマンドを使用して編集可能な静的イメージとすることが可能であり、他のノードは編集可能なテキスト、他のノードは表示およびクリック用に設計されたウェブページとすることができる。これらはすべて、ズームおよびパンによってナビゲート可能な共通の大規模空間環境である、「スーパーノード」内に共存することができる。
【０１４７】
ズーミングユーザインターフェースが適切に実施されると、次のようないくつかの直接の結果が生じる。
【０１４８】
−  非常に大きなドキュメントは、それらを全体としてリポジトリからダウンロードせずにブラウズすることができるため、使用可能な短期メモリよりも大きい、またはそうでなければサイズが法外なドキュメントであっても、制限なく表示することができる。
【０１４９】
−  コンテンツは必要に応じてナビゲーション中にダウンロードされるだけであり、結果として使用可能な帯域幅が最適に効率良く使用される。
【０１５０】
−  ズームおよびパンは、空間的に直感的な操作であり、大量の情報を容易に理解できる方法で編成することができる。
【０１５１】
−  「スクリーンスペース」は本来無制限であるため、ウィンドウを最小化する、複数のデスクトップを使用する、あるいは、同時に複数のドキュメントまたはビューで作業するためにウィンドウを互いに後ろに隠す必要はない。代わりに、ドキュメントを所望に応じて配置構成し、ユーザはそれらすべての概観を見るためにズームアウトするか、特定の１つを見るためにズームインすることができる。これにより、それらの任意の組合せが同時にスクリーン上の有用なスケールで見えるようにするために、こうしたドキュメントの位置（またはスケールさえも）を再配置構成する可能性が排除されることはない。また、さらに旧式の手法を使用するズーミングの組合せを必ずしも除外することもない。
【０１５２】
−  ズーミングはナビゲーション本来の側面であるため、任意の種類のコンテンツを適切な空間スケールで表示することができる。
【０１５３】
−  高解像度表示は、もはやテキストおよびイメージを小さいサイズ（時には読めないほど）に縮小することを示唆してはおらず、ズームのレベルに依存して、より多くのコンテンツを一度に表示できるようにするか、またはコンテンツを通常サイズおよびより高い忠実度で表示できるようにする。
【０１５４】
−  視覚障害者が、さらにズームインするだけで、通常の視力の人と同じコンテンツを容易にナビゲートすることができる。
【０１５５】
これらの利点は、ウェブに接続された通常のコンピュータが使用可能な情報が急増している現在、特に価値がある。１０年前には、ＺＵＩで表示できるようにするこの種の非常に大規模なドキュメントは稀であり、さらに、こうしたドキュメントはかなりのスペースを要するため、ほとんどのコンピュータが使用可能なリポジトリ（例えば４０ＭＢハードディスク）上に収まることはほとんどなかった。しかしながら現在では、非常に異なる状況に直面しており、サーバは大量のドキュメントおよびドキュメント階層を容易に格納すること、およびこの情報をウェブに接続された任意のクライアントが使用できるようにすることが可能である。それでもなお、これらの潜在的に大容量のリポジトリと通常のユーザとの間の接続の帯域幅は、ローカルのハードディスクへの接続の帯域幅よりもはるかに低い。これがまさに、ＺＵＩが従来のグラフィカルユーザインターフェースに勝るその最大の利点を与えるシナリオである。
【０１５６】
（発明を実施するための最良の形態）
ある特定の所望な解像度での特定ノードのビューについて、ある特定のＬＯＤに、スクリーンピクセルあたり少なくとも１つのサンプルを含むようにレンダリングするための描画が必要ないくつかのタイルセットがある。ビューは通常はノードのＬＯＤうちの１つの解像度で精密には表示されず、それらのうちの２つの間の中間解像度で表示されることに留意されたい。したがって理想的に言えば、ズーミング環境でクライアントは、実際の解像度のすぐ上およびすぐ下の両方で可視タイルのセットを生成し、何らかの補間を使用してこの情報に基づいてディスプレイ上にピクセルをレンダリングする。最も一般的なシナリオは、空間的と詳細レベル間との両方での線形補間であり、グラフィックス文献では、これは通常トリリニア補間と呼ばれる。緊密に関連する技法は、一般に、テクスチャリングのための３Ｄグラフィックスアーキテクチャで使用される（S. L. Tanimoto and T. Pavlidis, A hierarchical data structure for picture processing, Computer Graphics and Image Processing, Vol.4, p.104-119 (1975); Lance Willliams, Pyramidal Parametrics, ACM SIGGRAPH Conference Proceedings (1982)）。
【０１５７】
残念なことに、タイルのダウンロード（またはプログラムでのレンダリング）はしばしば低速であり、特に高速ナビゲーション中は必要なすべてのタイルがいつでも使用できるわけではない。したがって本特許での革新点は、タイルのダウンロードまたは作成が低速および非同期で発生する環境で、この理想的なイメージを近似する、空間的および時間的に連続したコヒーレントなイメージをビューワに提示するためのストラテジの組合せに焦点をあてる。
【０１５８】
以下では、２つの変数名、ｆおよびｇを使用する。ｆは、＃１に定義されたディスプレイに関するタイルのサンプリング密度を指す。変数ｇとして記述するタイリング細分性は、あるＬＯＤでの線形タイリンググリッドサイズと、次に下位のＬＯＤでの線形タイリンググリッドサイズとの比として定義される。本明細書に提示された革新点のいずれも定数ｇに依拠しないが、これは一般に、所与のノードの異なる詳細レベルにわたって一定であると推定される。前のセクションで説明したＪＰＥＧ２０００の例ではｇ＝２であり、概念上、各タイルは次に高位のＬＯＤで２×２＝４タイルに「分割」される。細分性２は、同様のアプリケーションでは群を抜いて最も一般的であるが、本コンテキストでは、ｇは他の値を取ることもできる。
【０１５９】
１．詳細レベルタイル要求のキューイング。最初に、クライアントが光学機器を用いて類推により徐々に複合イメージの「焦点合わせ」ができるようにしていく、タイル要求をキューに入れるためのシステムおよび方法を紹介する。
【０１６０】
階層状にタイリングされたノードを含む情報リポジトリへの不規則な、場合によっては低帯域幅接続の問題に直面した場合、ズーミングユーザインターフェースは、ナビゲーション中にどのようにタイルを要求するかという問題に対処しなければならない。多くの状況で、こうしたすべての要求がタイムリーな形で満たされることになる、あるいは、情報が関連している期間中（すなわちユーザが他の場所でズームまたはパンする前）ずっと満たされることになる、と想定するのは非現実的である。したがって、タイル要求をインテリジェントに優先順位付けすることが望ましい。
【０１６１】
タイル要求キューイングに関する「最も外側」の規則は、ディスプレイに関する増加する詳細レベルである。このズームに依存した「関連詳細レベル」は、数値ｆ＝（タイルピクセル単位の線形タイルサイズ）／（スクリーンピクセル単位で測定されたスクリーン上に投影されたタイル長さ）によって得られる。ｆ＝１の場合、タイルピクセル対スクリーンピクセルは１：１であり、ｆ＝１０の場合、タイル内の情報はディスプレイが表示できる内容よりはるかに詳細であり（１０＊１０＝１００タイルピクセルが単一のスクリーンピクセル内に収まる）、ｆ＝０．１の場合、タイルはディスプレイに関して粗い（あらゆるタイルピクセルは、１０＊１０＝１００をカバーするように「伸長」または補間されなければならない）。この規則は、ディスプレイの領域がディスプレイの残余部分に関してサンプリング不十分（ｕｎｄｅｒｓａｍｐｌｅｄ）（すなわち粗雑に定義されるだけ）の場合、クライアントの第１の優先順位はこの「解像度ホール」の充填になることを保証する。ホール内に複数の詳細レベルがない場合、ｆ＜１のすべての詳細レベルに関する要求に、次に高位の詳細レベル（ＬＯＤのブレンディングを可能にするため。＃５を参照）に関する要求を加えて、昇順にキューに入れられる。厳密にはこれらの中で最も詳細な詳細レベルだけを現在のビューにレンダリングすればよく、より粗雑な詳細レベルは、低解像度イメージをディスプレイ上に定義するという点で冗長であるため、一見して、これが不必要なオーバヘッドを招くと推定される。しかしながら、これらのより粗雑なレベルはより大きな領域、すなわち一般にはディスプレイよりもかなり大きな領域をカバーしている。実際、任意のノードに対する最も粗雑な詳細レベルには、構造により単一のタイルのみが含まれるため、ノードの任意のビューをレンダリングするクライアントは、この「最も外側」のタイルを必ず最初にキューに入れることになる。
【０１６２】
これは、表示の堅固さにとって重要なポイントである。堅固さとは、たとえ満たされるのを待つタイル要求のバックログが大量にある場合でも、ユーザのパンおよびズームに応答して表示される内容に関してクライアントが決して「損をしない」ことを意味する。クライアントは単に、ディスプレイ上のあらゆる領域で使用可能な最高の（すなわち最高解像度の）イメージを表示するだけである。最悪の場合、これはノードに関連してこれまでに要求された最初のタイルである、最も外側のタイルとなる。したがって、第１のタイル要求のみに基づき、ノードのあらゆる空間部分は常にレンダリング可能となり、すべての後続のタイル要求は増分細分化とみなすことができる。
【０１６３】
低解像度タイルでフォールバックが生じるとイメージがぼやけた印象になるため、全体の影響は、サイズ変更のパンまたはズーム後にディスプレイがぼやけて見える可能性がある。その後タイル要求が満たされると、イメージは鮮明になる。
【０１６４】
単純な計算で、「冗長な」低解像度タイルを要求することによって生まれるオーバヘッドは実際にはわずかであることがわかり、特に、始めからあらゆる場所でノードイメージを適切に定義することの堅固さに対する代償は小さい。
【０１６５】
２．窩のある（ｆｏｖｅａｔｅｄ）タイル要求のキューイング。関連する詳細レベル内で、タイル要求は、図３に示されるようにスクリーンの中央までの距離を増加させることによってキューに入れられる。この技術は高解像度用に特化された中央領域、すなわち窩を有する人間の目からヒントを得たものである。通常、ズーミングはディスプレイの中央領域への関心に関連付けられているため、窩のあるタイル要求のキューイングは、通常ユーザがズームインする際の視覚情報に関する暗黙の優先順位付けを反映する。さらに、ユーザの目が一般に、ディスプレイの縁部よりも中央付近の領域を見ることにより多くの時間を費やすため、ディスプレイ縁部に残るぼやけは中央付近よりも目立ちにくい。
【０１６６】
窩のあるタイル要求を使用してズームインによって作成されるディスプレイ中心付近の一時的および相対的な鮮明度の増加は、図４に示されるようなズームアウトの当然の結果も反映する。この図は、２つの代替「ナビゲーションパス」を示し、１行目でユーザは、非常に高い解像度で表示される可能性があると想定する、およそディスプレイの３分の２を占める単一のドキュメント（またはノード）を見ながら、静止したままである。最初、ノードコンテンツは単一の低解像度タイルで表現され、その後、次のＬＯＤのタイルが使用可能となり、ノードコンテンツを４つ（＝２×２）のタイルを用いて２倍の解像度で見えるようにし、４×４＝１６および８×８＝６４タイルのバージョンが続く。２行目では、１行目に表示されたイメージが完全に詳細化されるまでユーザが影付きの正方形をズームインすると何が起こるかを見ていく。詳細レベルが高いタイルが再度キューに入れられるが、この場合は、部分的または完全に見えるタイルだけである。１行目に匹敵する（ディスプレイ上に見えるタイルの数に関して）地点まで詳細化が進む。３行目は、ユーザが再度ズームアウトした場合に何が使用できるか、および失われた詳細をどのように埋めるかを示す。すべての詳細レベルが表示されるが、実際には、非常に詳細なレベルは、ディスプレイが伝達できる以上に詳細な細部を表すため、おそらく３行目のディスプレイから省略されることに留意されたい。
【０１６７】
ズームアウトは通常、ディスプレイの中央を周辺より詳細なタイルで満たしたままにすることに留意されたい。したがってこのタイル要求の順序は、すべてのナビゲーション中にディスプレイの中央領域の鮮明度を一貫して優先順位付けする。
【０１６８】
３．時間的なＬＯＤのブレンディング。それ以上詳細化せずに、現在のディスプレイに必要なタイルがダウンロードまたは構築され、最初に描画される場合、同じコンテンツを表すと思われる基礎となるより粗雑なタイルの一部をすぐに見えなくするため、ユーザはこの遷移をディスプレイの一部領域におけるぼやけの突然の変化として体験する。こうした突然の遷移は目障りであり、ユーザの注意をソフトウェアの実施の詳細に不必要にひきつける。本発明者等のＺＵＩ設計の一般的な手法は、ユーザにとってシームレスなビジュアル体験を作り出すことであり、これによって、「覆われた」ままであるべきタイルまたはソフトウェアの他の側面の存在に注意をひきつけられることはない。したがってタイルは、最初に使用可能になった場合すぐには表示されないが、いくつかのフレーム、通常はおよそ１秒の間ブレンドされる。このブレンディング関数は線形（すなわち、新しいタイルの不透明度が、固定のブレンド間隔の半分で新しいタイルが５０％不透明であるような、タイルが使用可能になってからの時間の１次関数である）、指数関数、または任意の他の補間関数に従うものとすることができる。指数関数的ブレンドでは、あらゆる短い一定の時間間隔が、不透明度の一定割合の変化に対応する。例えば、新しいタイルはフレームごとに２０％ずつより不透明になり、結果として、２０％、３６％、４９％、５９％、６７％、７４％、７９％、８３％、８７％、８９％、９１％、９３％などのような連続するフレームにわたる一連の不透明度が生じる。数学的には、指数は決して１００％に達しないが、実際には短期間で不透明度は１００％と区別がつかなくなる。指数関数的ブレンドには、不透明度の最も大きな上昇はブレンド開始付近で生じるため、依然として許容可能な時間的連続性を保持しながら、ユーザには新しい情報が即時に見えなくなる、という利点がある。本発明の参照実施形態では、必要な情報が使用可能になるにつれてディスプレイの領域の焦点が平滑に合っていくような錯覚が生じる。
【０１６９】
４．連続ＬＯＤ。タイルのダウンロードまたは作成がユーザのナビゲーションに対して遅れを取る状況では、ディスプレイの隣接する領域が異なる詳細レベルを有する可能性がある。前の革新（＃３）では、詳細レベルにおける時間的不連続性の問題に対処したが、詳細レベルにおける空間的不連続性の問題に対処するためには別の革新が必要である。これらの空間的不連続性が修正されない場合、ユーザの目には、ビジュアルコンテンツが継ぎ目の片側でより鮮明に描画されるような、イメージ内の継ぎ目として見える。この問題は、各タイルの不透明度がタイル領域全体で変えられるようにすること、特に、相対的に低い詳細レベルを有するディスプレイ上のある領域とタイル縁部が接する場合、このタイル縁部で不透明度がゼロになるようにすることによって、解決する。状況によっては、相対的に低い詳細レベルの領域にコーナーが接触している場合、タイルの各コーナーでの不透明度がゼロになることも重要である。
【０１７０】
図５は、各タイル破片（ｓｈａｒｄ）にわたって不透明度が連続して変化するように、各タイルをタイル破片と呼ばれる矩形および三角形に分解する方法についての、本発明者等の最も単純な参照実施形態を示す。正方形ａｃｅｇで境界を画されたタイルＸは、左、右、上、および下に、それぞれが縁部を共有する隣接するタイルＬ、Ｒ、Ｔ、およびＢを有する。さらに、単一のコーナーを共有する隣接部ＴＬ、ＴＲ、ＢＬ、およびＢＲも有する。タイルＸが存在すると想定する。その「内部正方形」ｉｉｉｉは完全に不透明である。（繰り返される小文字は同一の頂点不透明度値を示すことに留意されたい。）しかしながら、周辺の矩形フレームの不透明度は、隣接するタイルが存在する（および完全に不透明である）かどうかによって決定される。したがって、タイルＴＬがない場合、ポイントｇは完全に透明となり、Ｌがない場合、ポイントｈは完全に透明となる、という具合である。本発明者等は、タイルの境界領域（Ｘの外側ｉｉｉｉ）をブレンディングフラップと呼ぶ。
【０１７１】
図６は、破片全体の不透明度を補間するために使用される参照方法を示す。部分（ａ）は一定不透明度の矩形を示す。部分（ｂ）は、２つの相反する縁部の不透明度が異なる矩形であり、内部全体の不透明度は、各内部ポイントの２つの縁部からの最短距離に基づく単なる線形補間である。部分（ｃ）は、３つのコーナーａｂｃすべての不透明度が異なる場合、三角形全体の不透明度を補間するための双１次（ｂｉｌｉｎｅａｒ）方法を示す。概念上あらゆる内部ポイントｐは、図に示されるように、三角形を領域Ａ、Ｂ、およびＣを伴う３つの部分三角形（ｓｕｂ−ｔｒｉａｎｇｌｅ）に細分する。ｐの不透明度はコーナーの不透明度の単なる重み付け合計であり、重みは３つの部分三角形の分数領域である（すなわち、合計三角形領域Ａ＋Ｂ＋Ｃで割ったＡ、Ｂ、およびＣ）。これはこの公式が、ｐが頂点に移動した場合にその頂点の不透明度を等しく与えることならびに、ｐが三角形の縁部上にある場合、その不透明度は２つの接続された頂点間の線形補間であることから、から、容易に検証される。
【０１７２】
破片内の不透明度は、全体としてその頂点での不透明度によって決定され、隣接する破片は常に頂点を共有する（すなわちＴ接合はない）ことから、この方法は、タイリングされた表面全体にわたって不透明度が平滑に変化していくことを保証する。このストラテジは、＃３の時間的ＬＯＤブレンディングと組み合わせて、ユーザに見える相対的な詳細レベルが、ディスプレイ領域にわたって、および時間的に連続関数となるようにする。それによって空間的継ぎ目と時間的不連続性の両方が回避され、連続的に焦点が合っていくシーンをもたらす光学機器を連想させるビジュアル体験がユーザに提示される。大規模なドキュメントをナビゲートする場合、シーンの焦点が合う速度は、リポジトリへの接続の帯域幅の関数、またはタイルレンダリングの速度の関数の、いずれか遅い方である。最終的に、革新点＃２の窩のある優先順位付けと組み合わせて、連続する詳細レベルは、ディスプレイの中央領域の焦点が最初に合わされるような方法でバイアスされる。
【０１７３】
５．一般化された線形−ミップマップ−線形ＬＯＤブレンディング。これまでは、ノード上の明らかなＬＯＤにおける空間的および時間的平滑さを保証するための、ストラテジおよび参照実施形態について論じてきた。しかしながら、連続するズーミング操作中に詳細レベルをブレンドする方法についてはまだ対処していない。使用される方法は、隣接する詳細レベルがスケールの中間領域全体にわたって線形にブレンドされる、トリリニア補間の一般化である。各詳細レベルで、各タイル破片は、空間的平滑さに関して同じ詳細レベルの隣接するタイル破片と空間的に平均化され、経時的な平滑さに関して時間的に平均化された、描画時の不透明度を有する。詳細レベルがディスプレイを不十分にサンプリングしている場合、すなわちｆ＜１（＃１を参照）の場合、目標不透明度は１００％である。しかしながら、ディスプレイを過度にサンプリングしている場合、目標不透明度は、過度のサンプリングがｇ倍の場合ゼロになるように、線形に（または任意の他の単調関数を使用して）減じられる。トリリニア補間と同様、これによって、知覚される詳細レベルが決して突然変化することのないように、ズーム操作を介した連続するブレンディングが発生する。しかしながら、常に２つの詳細レベルのブレンドを含む従来のトリリニア補間とは異なり、このスキームでブレンドされる詳細レベルの数は１つ、２つ、またはそれ以上が可能である。２つより多い数は一時的であり、まだ時間的に完全にブレンドされていない複数の詳細レベルで、タイルによって発生する。単一レベルも、一般に理想より低いＬＯＤが、まだダウンロードまたは構築されておらず、ブレンドされていない、より高位のＬＯＤの１００％不透明の「代役をつとめている」場合に発生するという点で、通常は一時的である。
【０１７４】
ノードのタイル破片セットをレンダリングするための最も単純な参照実施形態は、いわゆる「ペインタアルゴリズム」を使用することであり、すべてのタイル破片は後ろから前の順番で、すなわち、最も粗雑（最低ＬＯＤ）から最も詳細（ｇ倍未満でディスプレイを過度にサンプリングする最高ＬＯＤ）へと、レンダリングされる。最高ＬＯＤ以外のすべての目標不透明度は１００％であるが、時間的ブレンディングが不完全な場合、より低い不透明度で一時的にレンダリングされる可能性がある。最高ＬＯＤは、前述のように、ディスプレイをどれだけ過度にサンプリングするかに依存する、可変の不透明度を有する。この参照実施形態は、後からレンダリングされる破片によって完全に隠される破片をレンダリングする可能性があるという点で、最適でないことは明らかである。より最適な実施形態は、３Ｄグラフィックスで隠された表面の除去に使用されるデータ構造およびアルゴリズムに類似したデータ構造およびアルゴリズムを使用することによって可能である。
【０１７５】
６．運動の予測。高速ズームまたはパンの間、タイル要求を求め続けるのは特に困難である。これらの高速ナビゲーションパターン中であっても、ズームまたはパンの運動は線形補外（ｅｘｔｒａｐｏｌａｔｉｏｎ）（すなわち、突然の反転または方向変更を実行することが困難である）によってローカルで適切に予測される傾向がある。したがって、この時間的運動コヒーレンスを活用して、時間をわずかに進ませたタイル要求を生成し、ビジュアル品質を向上させる。これは、パンまたはズームの際に運動の方向を伸長、膨張、または収縮する仮想ビューポートを使用してタイル要求を行い、追加タイルの要求を先取りすることによって実施される。ナビゲーションが終わると、仮想ビューポートは、実際のビューポートへ戻る短い時間間隔にわたって緩和する。
【０１７６】
前述の革新点は、いずれも矩形のタイリングに制約されず、三角形または六角形のタイリング、あるいはこうした形状の混合からなる異種のタイリング、あるいは完全に任意のタイリングなどの、グリッド上に定義可能な任意のタイリングパターンに明白な形で一般化することに留意されたい。こうした代替タイリングに対処するために実行する必要のある唯一の明示的変更は、縁部および内部の不透明度がすべて別個に制御可能な、図５に類似したタイル形状の三角形分割を定義することである。
【０１７７】
2007529786.tif 000007
【０１７８】
2007529786.tif 000008
【０１７９】
2007529786.tif 000009
【０１８０】
2007529786.tif 000010
【０１８１】
2007529786.tif 000011
【０１８２】
2007529786.tif 000012
【０１８３】
発明の名称：多重解像度ビジュアルデータの効率的、動的、および連続的な表示のためのシステムおよび方法
発明者：BLAISE HILARY AGUERA Y ARCAS
【０１８４】
発明の分野
本発明は、一般に多重解像度イメージに関する。より具体的に言えば、本発明は、リアルタイムで異なる解像度または詳細レベルのコンテンツのビジュアル表現をまとめて効率的にブレンドするためのシステムおよび方法に関する。本方法は、視覚化されるデータが変化している可能性があり、所与の時点でデータの一部分のみが使用できる可能性がある、非常に動的なコンテキストであっても、知覚連続性を保証する。本発明は、コンピュータ向けのズーミングユーザインターフェース（ＺＵＩ）を含む（がこれに限定されることのない）、いくつかの分野での応用例を有する。
【０１８５】
背景技術
複雑なビジュアルデータのディスプレイを含む多くの状況では、これらのデータは異なる詳細レベル（ＬＯＤ）での表現の集合として、階層状に格納または計算される。多くの多重解像度方法および表現は、（例えば）デジタルイメージ用のウェーブレット、および３Ｄモデル用の累進的メッシュを含む（が、これらに限定されることのない）異なる種類のデータ用に考案されてきた。多重解像度方法は、場合によっては非常に長い計算をより「粗雑に」またはより「詳細に」実行可能な状況で、数学的および物理的シミュレーションでも使用され、本発明はこうしたシミュレーション、および多重解像度ビジュアルデータが対話形式で生成可能な他の状況にも適用される。さらに、本発明は、例えばマシン制御可能なパンおよびズームを備えたカメラから異なる詳細レベルで「実行中に」ビジュアルデータが取得可能な状況で、適用される。本発明は、こうした多重解像度ビジュアルデータを１つまたは複数の２Ｄディスプレイ（ＣＲＴまたはＬＣＤスクリーンなど）上に動的に表示するための汎用手法である。
【０１８６】
本発明を説明するにあたり、主な例として、（例えばＪＰＥＧ２０００イメージフォーマットで使用されるような）大規模デジタルイメージのウェーブレット分解を使用する。この分解は、その開始点として、通常は正規の矩形グリッド上のサンプルの配列である、オリジナルピクセルデータを採用する。通常、各サンプルは、そのグリッド座標に対応するスペース内のある地点で測定されたカラーまたは輝度を表す。いくつかの応用例では、グリッドは例えば１辺が何万サンプル（ピクセル）など、非常に大きい可能性がある。特に、（イメージが格納される）サーバが、低帯域幅接続によって（イメージが表示される予定の）クライアントに接続された環境で、こうしたイメージをリモートでブラウジングする場合、このような大型サイズを対話型で表示するにはかなりの問題点が見られる。イメージデータがサーバからクライアントへ単純なラスタ順で送信される場合、すべてのデータはクライアントがイメージ全体の概観を生成する前に伝送されなければならない。これには長い時間がかかる場合がある。こうした概観の生成は、計算上コストがかかり、おそらく、例えば２０，０００×２０，０００ピクセルイメージを５００×５００ピクセルにダウンサンプリングすることが必要な場合もある。こうした操作は対話式で実行するには非常に低速であるだけでなく、クライアントが全イメージデータを格納できるだけの十分なメモリを有する必要もあり、この例では、８ビットのＲＧＢカラーイメージにつき１．２ギガバイト（ＧＢ）である（＝３＊２０，０００＾２）。
【０１８７】
ほとんどのユーザがＤＳＬまたはそれよりも低帯域幅でウェブに接続しており、より大きなイメージはダウンロードに長時間かかることになるため、現在ウェブ上にあるほぼあらゆるイメージは１００Ｋ（０．１ＭＢ）未満である。ローカル設定であっても、典型的なユーザのハードドライブ上では、５００Ｋ（０．５ＭＢ）より大きいイメージに遭遇することは稀である。平均的な家庭にあるイラスト付の本、道路地図帳、地図、新聞、および美術作品が、最大解像度でデジタル化された場合すぐにサイズが何１０メガバイトにもなってしまうような、非常に多くのイメージを含んでいるという事実によって、その大きな（すなわちより詳細な）イメージがしばしば有用であることが実証される。
【０１８８】
数年前まで、大規模イメージの不足は不揮発性格納スペース（リポジトリスペース）の不足によるものであったが、ハードドライブ技術の向上、ＣＤＲＯＭ焼付けの簡便化、および大規模ネットワークサーバの普及増加により、リポジトリスペースはもはや制限要因ではなくなった。現在の主なボトルネックは帯域幅と、それに続く短期メモリ（すなわちＲＡＭ）スペースである。
【０１８９】
ＪＰＥＧ２０００（http://www.jpeg.org/JPEG2000.html）などの現在のイメージ圧縮標準は、この問題に正確に対処するよう設計される。イメージコンテンツを線形様式（すなわち、通常は上から下および左から右へと、ピクセル全体を単一のパスで）で格納するのではなく、多重解像度分解に基づいている。イメージは第１に解像度スケールの階層にサイズ変更され、通常は２分の１、例えば５１２×５１２ピクセルイメージは、２５６×２５６ピクセル、１２８×１２８、６４×６４、３２×３２、１６×１６、８×８、４×４、２×２、および１×１へとサイズ変更される。当発明者等は、各解像度のサイズが次に高位のサイズとどれだけ差があるかの係数を細分性と呼び、ここでは２であるが、この細分性を変数ｇで表す。細分性はスケールによって変化する場合があり、例えばここではｇは「イメージピラミッド」全体にわたって一定であると想定するが、これに限定されることはない。明らかなことに、詳細部分は高解像度のみでキャプチャされ、かなり少ない量の情報を使用する大まかな部分は低解像度でキャプチャされる。これが、異なるサイズのイメージが詳細レベル、または省略してＬＯＤと呼ばれる理由である。一見して、この一連のサイズが異なるイメージに関する格納要件が、高解像度イメージだけの要件よりも多いように見えるかもしれないが、実際にはそうではなく、低解像度イメージは次のより高解像度のイメージの「予測子」として働く。これにより、実際には、高解像度イメージのみの非階層型表現で通常可能なよりも、全体のイメージ階層をかなり効率良く符号化することができる。
【０１９０】
イメージの一連の多重解像度バージョンがサイズの小さいものから順にサーバのリポジトリに格納されると想像した場合、通常は、イメージがサーバからクライアントへと転送される場合、ユーザはイメージ全体の低解像度の概観を取得できることになり、その後、さらに詳細な部分は伝送の進行と共に「充填」されていくことになる。これは増分または累進的伝送と呼ばれ、多重解像度表現の主要な利点の１つである。累進的伝送が適切に実施された場合、仮にどのようなイメージでも、どれほど大きくても、たとえサーバへの接続の帯域幅が中程度であっても、ほぼ瞬時に、クライアントによってその空間全体に（全詳細ではないが）表示可能であるという特性を有する。全詳細イメージをダウンロードするために必要な最終的な時間は同じであるが、この情報が送信される順序は、イメージの大規模フィーチャが第１に伝送されるように変更されており、これは、全詳細ならびに上から下および左から右の「読み取り順」でピクセル情報を伝送するよりも、クライアントにとってかなり役立つものである。
【０１９１】
動的および対話型のコンテキストでランダムアクセスを効率的に実行するために、グリッド正方形またはタイルが伝送の基本単位となるように、各詳細レベルをグリッドに細分化することが（絶対に必要ではないが）便利である。各タイルのピクセル単位のサイズは、増加していく各詳細レベルに前の詳細レベルの約４倍のタイルが含まれるように、一定のサイズまたはそれより下に維持することができる。その寸法が公称タイル細部の正確な倍数でない可能性がある場合、イメージの縁部には小さなタイルが生じ、さらに最低の詳細レベルでは、イメージ全体が単一の公称タイルよりも小さくなる。したがって、６４×６４ピクセルタイルであると想定した場合、前述の５１２×５１２ピクセルイメージは、最高の詳細レベルで８×８タイルを有し、２５６×２５６レベルで４×４、１２８×１２８レベルで２×２、および残りの詳細レベルでは単一のタイルを有する。ＪＰＥＧ２０００イメージフォーマットは、タイリングされた多重解像度およびランダムアクセスイメージを表示するための前述の特徴を含む。
【０１９２】
大規模なタイリングされたＪＰＥＧ２０００イメージの詳細が、サイズおよび解像度が制限された２Ｄディスプレイ上でクライアントによって対話式で表示されている場合、いくつかの特定の隣接タイルのセットが、ある特定の詳細レベルで正確なレンダリングを生成することが必要である。しかしながら、この動的なコンテキストでは、これらがすべて使用可能でない可能性がある。しかしながら、特にユーザがイメージの広範な概観から始める場合、より粗雑な詳細レベルのタイルはしばしば使用可能となる。より粗雑な詳細レベルのタイルはより広い領域に空間的に広がるため、当該の領域全体が使用可能なタイルの何らかの組合せによってカバーされる確率が高い。これは、使用可能なイメージ解像度がディスプレイ領域全体にわたって一定ではないことを示唆する。
【０１９３】
以前に出願された仮特許出願で、当発明者は、同じ詳細レベルで空白スペースと接するタイルの縁部を「フェードアウト」するための方法を提案したが、これによって、詳細な詳細レベルの「対象範囲」が不完全である場合には他の結果となるような、鮮明さにおける突然の視覚的不連続性が回避される。ブレンディングのために予約されているタイルの縁部領域を、ブレンディングフラップと呼ぶ。完成された複合イメージを表示するための単純な参照実施形態は「ペインタアルゴリズム」であり、最も粗雑な詳細レベルのすべての関連タイル（すなわち、ディスプレイ領域が重複するタイル）が最初に描画され、続いて、累進的により詳細な詳細レベルのすべての関連タイルが描画されていく。前述のように、ブレンディングは各詳細レベルで不完全な領域の縁部に適用された。その結果は、所望の通り、より粗雑な詳細レベルは、より詳細な詳細レベルによって隠されない場所でのみ「透き通る（ｓｈｏｗ−ｔｈｒｏｕｇｈ）」ことになる。
【０１９４】
この単純なアルゴリズムは役立つが、いくつかの欠点があり、第１に、最終的に部分的またはたとえ完全に隠されることになる場合であってもタイルが描画されるため、処理時間が無駄である。特に、単純な計算で、各表示ピクセルはしばしばｌｏｇ２（ｆ）回（再）描画されることがわかり、ｆは最低の詳細レベルに対するディスプレイの拡大係数である。第２に、この技法はフレームバッファ内での複合に依拠しており、これによって、描画操作の中間地点で、描画される領域には最終的な外観はなく、２重バッファリングまたは関連する方法を使用して、解像度のちらつき表示を避けるためにオフスクリーンの複合を実行する必要を生じさせる。第３に、追加の複合操作が適用されない限り、この技法は不透明レンダリングにのみ使用可能であって、例えば、最終レンダリングがあらゆる場所で５０％の不透明度を有し、他のコンテンツを「透き通らせる」ことができるように保証することは不可能である。これは、ペインタアルゴリズムが下位レイヤーを完全に隠す１つの「ペイントレイヤー」（すなわち詳細レベル）の効果に厳密に依拠しているためであり、どこで詳細レベルが隠されるか、およびどこで隠されないかは、前もってわからない。
【０１９５】
発明
本発明は、ペインタアルゴリズムのすべての利点を保持しながら、これらの問題を解決する。これらの利点の１つは、非矩形または不規則なタイリング、ならびに無理（ｉｒｒａｔｉｏｎａｌ）グリッドタイリングを含む、任意の種類のＬＯＤタイリングに対処する機能であり、本発明者はこれに対して別の仮特許出願を出願している。一般にタイリングは、ビジュアルコンテンツを含む領域の多角形への細分化またはテセレーション（ｔｅｓｓｅｌａｔｉｏｎ）からなる。多重解像度コンテキストで有用となるタイリングの場合、一般に低い詳細レベルでのタイルの領域は、高い詳細レベルでのタイルの領域よりも大きいことが望ましく、それらのサイズの違いの乗法係数は細分性ｇであり、当発明者等はこれが一定であると想定する（がこれに限定されることはない）。以下では、無理数であるが矩形のタイリンググリッドを使用して、改善されたアルゴリズムについて説明する。当業者であれば、他のタイリングスキームに対する一般化は明らかであろう。
【０１９６】
（発明を実施するための最良の形態）
改善されたアルゴリズムは、４つの段階からなる。第１段階では、複合グリッドが、描画されるすべての詳細レベル内でのすべてのタイルグリッドの可視部分の重ね合わせから、イメージの基準フレーム内で構築される。無理タイリングの革新点（別の仮特許出願で詳述）が使用される場合、結果として、図１に概略的に示された不規則な複合グリッドが生じる。さらにこのグリッドは、各詳細レベルでタイルの「ブレンディングフラップ」を描画するために必要となるｘおよびｙの値に対応するグリッド線によって増補される（結果として生じるグリッドは密度が高すぎで視覚的に混雑するため、図１には図示せず）。この複合グリッドは、グリッド線に対してｘおよびｙの値のソート済みリストによって定義可能であり、すべての可視タイル（それらのブレンディングフラップを含む）を描画することが必要となるすべての矩形および三角形の頂点が、ｘおよびｙのグリッド線の交差位置にあるという特性を有する。ｘ軸に平行なｎのグリッド線と、ｙ軸に平行なｍのグリッド線があるものとする。その後、グリッドの正方形に対応するエントリを備えた２次元のｎ＊ｍのテーブルを構築する。各グリッドエントリは、ゼロに初期設定される不透明度と、初期には空白の特定タイルの参照リストという、２つのフィールドを有する。
【０１９７】
第２段階は、（単純な実施とは反対の）減少していく詳細レベル順にソートされたタイルを通り抜けることである。各タイルは整数の複合グリッド正方形をカバーする。これら正方形それぞれについて、そのテーブルエントリが１００％未満の不透明度を有するかどうかをチェックし、有する場合は現在のタイルをそのリストに追加し、それに応じて不透明度を増加させる。このステップで使用されたタイルごとの不透明度は、タイルデータ構造に格納される。この第２段階が完了した場合、複合グリッドは、これらの「タイル破片」を描画する際の不透明度と共に、各グリッド正方形内に描画するための正しいタイル片に対応するエントリを含むことになる。通常、これらの不透明度は、合計すると１になる。全体として隠される低解像度タイルはこのテーブルのどこにも参照されないが、部分的に隠されるタイルは部分的に見えるタイル破片でのみ参照されることになる。
【０１９８】
アルゴリズムの第３段階は、複合グリッドのトラバースであり、ここで、同じ詳細レベルの隣接する頂点と平均化し、その後、合計された各頂点の不透明度（通常は１００％）を保持するように頂点不透明度を再調整することによって、複合グリッドの頂点の破片不透明度が調整される。これにより、別の仮特許出願で説明されたスケールの空間的平滑化の細分化されたバージョンが実施される。細分化は、複合グリッドが一般に、特に低解像度タイルの場合、革新点＃４で定義されたタイルあたり３×３グリッドよりも高密度であるという事実から生じる。（最高のＬＯＤでは、構造により、複合グリッド化は少なくとも必要な限り詳細となる。）これにより、実際にはより多くのタイル破片からなるより平滑なブレンディングフラップを作成することによって、平均化技法が顕著な詳細レベルでかなりの平滑さを達成できるようになる。
【０１９９】
最後に第４段階では、複合グリッドが再度トラバースされ、タイル破片が実際に描画される。このアルゴリズムにはデータを介する複数のパスおよびある一定量の簿記（ｂｏｏｋｋｅｅｐｉｎｇ）が含まれるが、その結果、最終的に実施しなければならない描画がはるかに少なくなるため、単純なアルゴリズムよりもかなり性能が良くなり、レンダリングされたあらゆるタイル破片が、時には低不透明度であるが、ユーザに見えるようになる。一部のタイルはまったく描画されない可能性がある。これは、全体として表示された領域と交差するあらゆるタイルを描画する単純なアルゴリズムとは対照的である。
【０２００】
このアルゴリズムの追加の利点は、合計不透明度目標を１００％から何らかの低い値へと変更するだけで、部分的に透明なノードが描画できるようになるという点である。これは、任意の基礎となる依然として低解像度のタイルに完全に「重ねペイント」するために、最も詳細なレベルを除くあらゆる詳細レベルを最高の不透明度で描画しなければならないため、単純なアルゴリズムでは不可能である。
【０２０１】
ビューがノードに対してｘ−ｙ面で回転される場合、効率性のために何らかのわずかな変更が必要である。複合グリッドは通常の様式で構築可能であり、対角線に沿ってより大きな座標領域が見える場合、回転されない場合のグリッドよりも大きくなる可能性がある。しかしながら、タイルを通り抜ける場合、（単純な交差多角形基準により）見えるタイルのみを考慮の対象とする必要がある。また、表示領域外の複合グリッド正方形は、第２または第３段階でのトラバース時、あるいは第４段階での描画時に、更新する必要がない。性能を最適化するためにいくつかの他の実施の細部が修正可能であり、アルゴリズムはその操作および本来の特徴を最も理解しやすい形で本明細書に提示されていることに留意されたい。当業者のグラフィックスプログラマであれば、最適化実施の細部を容易に追加できる。例えば、タイル破片あたりのタイルリストを維持する必要はなく、その代わりに、各詳細レベルが完了した場合、正しい不透明度で即時に描画することが可能であり、常に破片あたりの単一タイル識別を格納することのみが必要である。別の例示的最適化は、（領域）×（残りの透明度）で表されるまだ実行されていない合計不透明度レンダリングが追跡可能なことであり、その結果、すべてがすでに描画されている場合、アルゴリズムは早期に終了可能であり、その後必要でなければ低い詳細レベルを「訪ねる」必要はまったくない。
【０２０２】
このアルゴリズムは、頂点不透明度およびタイル破片識別子を格納するためのグリッドの代わりに制約付きドローネ三角形分割を使用することによって、任意の多角形タイリングパターンに一般化することができる。このデータ構造は、その縁部がすべてのオリジナルＬＯＤグリッド内のあらゆる縁部を含む三角形分割を、効率的に作成し、特定の三角形または頂点へのアクセスは、順番にｎ＊ｌｏｇ（ｎ）回（ｎは追加された頂点または三角形の数である）実行可能な効率的な操作である。さらに結果として生じる三角形は、ほとんどのグラフィックスプラットフォームでグラフィックスレンダリングに使用される基本プリミティブである。
【０２０３】
2007529786.tif 000013
【０２０４】
マルチノード表示のためのシステムおよび方法
関連出願
本出願は、その開示が全体として参照により本明細書に組み込まれている仮出願第６０／４７４３１３号の特典を主張するものである。
【０２０５】
本発明は、コンピュータ用のズーミングユーザインターフェース（ＺＵＩ）に関する。
背景技術
現在のほとんどのグラフィカルコンピュータユーザインターフェースは、固定空間スケールの視覚構成要素を使用して設計される。ビジュアルコンテンツは、ズームインまたはズームアウト、あるいはそれ以外の方法でナビゲートすることによって、操作可能である。しかしながら、様々なオブジェクトの座標が表現可能な精度は、こうした座標を表現するように指定された、通常は１６から６４までの間のビット数によって極端に制限される。それらの表現サイズが制限されることによって、精度が制限される。
【０２０６】
ズーミングユーザインターフェースのコンテキストでは、ユーザはズームインが容易に実行可能であり、以前は単一のピクセルしかカバーしていなかった領域を、ディスプレイ全体を埋めるまで広げる。逆にユーザはズームアウト可能であり、ディスプレイ全体のコンテンツを単一ピクセルのサイズにまで縮小させる。それぞれのズームインまたはズームアウトは、ｘｙ座標をかなりの桁数で乗算または除算する可能性があるため、例えば、６４ビット浮動小数点数で使用可能な精度をほんのわずかのズームで完全に使い尽くす。その後、丸めにより、イメージ品質の顕著な劣化が生じる。
【０２０７】
本発明の一目的は、より大きな領域のズームが可能なＺＵＩを提供することである。
【０２０８】
本発明の他の目的は、座標が表現される精度が特定のズームの詳細レベルで必要な必須精度に関する、ＺＵＩを提供することである。本発明の他の目的は、有限物理サイズであるが任意の高複雑性または解像度の、パン可能およびズーム可能な２次元スペースを、より大きなパン可能およびズーム可能な２次元スペースの適切に定義された領域内に埋め込めるようにすることである。
【０２０９】
本発明の他の目的は、大幅なズームイン後のズームアウトが、ウェブブラウザの「戻る」ボタンのように動作して、ユーザが自分のビジュアルナビゲーションの行程を後戻りできるようにすることである。
【０２１０】
本発明の他の目的は、ズームアウト直後のズームインが、ウェブブラウザの「進む」ボタンに類似して動作し、ユーザが任意に長いズームアウトの効果を正確に取り消せるようにすることである。
【０２１１】
本発明の他の目的は、以下でより詳細に定義するビジュアルオブジェクトであるノードが、非常に多数の子ノード（例えば最高１０＾２８）を持てるようにすることである。
【０２１２】
本発明の他の目的は、ノードがそれ自体の子を実行中にプログラムで生成し、ナビゲーション中にコンテンツを動的に定義、作成、または修正できるようにすることである。
【０２１３】
本発明の他の目的は、たとえ任意に複雑なビジュアルコンテンツが最終的に非常に大量のデータを使用して表現される場合であっても、またたとえデータがリモートの場所に格納され、低帯域幅ネットワークを介して共有される場合であっても、このコンテンツのほぼ即時表示を可能にすることである。
【０２１４】
本発明の他の目的は、ユーザが対話型フレームレートを維持しながら、ビジュアルコンテンツ上で任意にかなりのズームインを実行できるようにすることである。
【０２１５】
本発明の他の目的は、ユーザがコンテンツ全体の外観を保持するプロセス、および対話型フレームレートを維持するプロセスの両方で、複雑なビジュアルコンテンツの概観を得るために、任意にかなりのズームアウトを実行できるようにすることである。
【０２１６】
本発明のこれらおよび他のより広範な目的は、当業者であれば以下で本明細書を再検討することから明らかとなろう。
【０２１７】
発明の開示
本発明の前述および他の目的は、ビジュアルコンテンツを複数の「ノード」として表示することによって実施される。各ノードは、好ましくはそれ自体の座標系およびレンダリング方法を有するが、親ノード内には含まれない場合があり、また親ノードの座標系およびレンダリング方法で表現されない場合がある。ユーザが例えばズームインまたはズームアウトによってビジュアルコンテンツをナビゲートする際に、ズームの結果として適切な詳細レベルが生じた場合、ノードは単に「起動」される。ノードの起動により、ノードは、異なるノードの座標系および／またはレンダリング方法ではなく、それ自体の座標系および／またはレンダリング方法において表現される。
【０２１８】
ノードが起動されるのに先立って、ノードは親ノードの座標系に表現されるか、またはまったく表現されないかのいずれかである。必要な場合にのみノードを起動することによって、座標系の精度は表示されているズームの詳細レベルの関数となる。これにより、精度の可変レベルは、システムが動作するコンピュータのメモリによって許容される最大値を含む値まで可能となる。
【０２１９】
例示の目的で、現時点で好ましい形が図面に示されているが、本発明は図示されたこの精密な配置構成および手段に限定されないことを理解されよう。
【０２２０】
図面の簡単な説明
図１はディスプレイ上のビジュアルコンテンツを示す図である。
図２は異なる詳細レベルで図１のビジュアルコンテンツのイメージを示す図である。
図３は本発明の一実施形態を示す図である。
図４はディスプレイ上の複数のノードを示す本発明の例示的実施形態を示す図である。
図５は図４に示された例示的実施形態に対応するツリー図を示す図である。
【０２２１】
好適実施例の詳細な説明
本発明者等は、ディスプレイがカメラであり、これを介してユーザが２次元表面、または２Ｄユニバース（ｕｎｉｖｅｒｓｅ）の一部をビューできる、ユーザインターフェースメタファを想定する。必ずしもそうする必要はないが、便宜上、例えば１平方メートルとすることができるように、物理的な寸法をこのユニバースに帰する。本発明は、Ｎ次元表現に等しく適用可能である。
【０２２２】
例示的ユニバースは、ビジュアル表現を有し、動的または対話型（すなわち、ビデオクリップ、アプリケーション、編集可能なテキストドキュメント、ＣＡＤ製図、または静止イメージ）ともすることが可能な、２Ｄオブジェクト、すなわちノードを含む。可視となるノードの場合、ディスプレイの何らかの領域全体または一部に描画可能な、レンダリング方法に関連付けなければならない。各ノードには、有限精度のローカル座標系が与えられる。例示の目的で、ノードは矩形であり、ローカル座標系によって表現されると想定する。
【０２２３】
これらの２つのパラメータ、レンダリング方法および座標系は、ノードの表示方法およびノード内のアイテムの位置を特定する。各ノードは、参照によりアドレス指定される０またはそれ以上の子ノードを有することができる。ノードは、各子ノードのすべての情報を含む必要がなく、一般には含まないが、その代わりに子ノードを取得するのに必要な情報を提供するアドレスのみを含む。ユーザが例えばズームインおよびズームアウトなどでナビゲートする場合、ノードは例えば図１に示されるようにスクリーン上に表示される。
【０２２４】
一般に、「ノード」は本発明における機能の基本単位である。ほとんどのノードがナビゲーション中にユーザディスプレイ上に視覚的に現れ、一部のノードは、アニメーション化および／またはユーザ入力への応答も可能である。ノードは、１つのノードが複数の子ノードを含むことができるという点で階層状である。含む側のノードは親ノードと呼ばれる。親ノードが子ノードを含む場合、その子の視覚的発現は親の視覚的発現にも含まれる。各ノードは、ノードの全体範囲が論理座標系に定義される例示的矩形に含まれるような、論理座標系を有し、例えばノードは、ノードが矩形（０，０）〜（１００，１００）に含まれるような論理座標系を定義することができる。
【０２２５】
各ノードは、その特性を定義する、
・  その論理サイズ（前述の例では１００×１００）を含む、ノードの論理座標系
・  （親）ノードの論理座標に特定される、任意の子ノードの識別、位置、およびサイズ
・  オプションで、任意の必要なユーザデータ
のデータと、
・  「構築引数」に基づくノードのデータの初期設定
・  ノードの視覚的外観のすべてまたは一部のレンダリング（この方法の出力がレンダリングされたタイルである）
・  オプションで、キーボードまたはマウスイベントなどのユーザ入力への応答
の操作または「方法」を定義する実行可能コードとを有することができる。
【０２２６】
実行可能コードは「ノードクラス」を定義し、多くの「ノードインスタンス」間で共有される場合がある。ノードインスタンスは、データコンテンツが異なる。したがって、ノードクラスは、ＪＰＥＧイメージのレンダリングに必要な論理を定義する可能性がある。初期設定コードに与えられる「構築引数」は、表示するＪＰＥＧイメージのＵＲＬを含むことになる。特定のイメージを表示するノードは、ＪＰＥＧノードクラスのインスタンスとなる。ノードの複数のインスタンスは、ソフトウェアアプリケーションが多数回同時にインスタンス化できるのと同様に、同じビジュアルコンテンツ内でのビューが可能な場合がある。
【０２２７】
複雑なビジュアルドキュメントまたはアプリケーションでは、通常、多くの異なる方法で、必要な機能をノードに分割できることに留意されたい。例えば、複数のイメージ、プルダウンメニュー、およびボタンを含むスクリプト化されたウェブページ様のドキュメントは、複雑なレンダリングおよびユーザ入力方法を備えた単一のノードとして実施可能である。代替として、あらゆる構成イメージおよびボタンの子ノードを備えたページの全体レイアウトのみを定義する親ノードとして実施可能である。これには、ボタンはすべて同じ動作を有するため、すべて同じノードクラスのインスタンスであり、イメージはすべて同じフォーマットであるため、共通ノードクラスのインスタンスでもあるなど、機能をより効果的に再使用または「属性分配（ｆａｃｔｏｒｉｎｇ）」するという、明らかな利点がある。これによりレイアウトの再配置が簡略化され、親ノードは子ノードを容易に移動またはサイズ変更できる。
【０２２８】
本発明によれば、ビジュアルコンテンツは、ユーザによって入力されたナビゲーションの状態に依存する方法で表示することができる。例えば図１は、都市の一部のイメージとすることが可能なノード１０５を示す。ノード１０５は子ノード１０１〜１０３を含むことができる。ノード１０１は都市内のビルのイメージ、ノード１０２は運動場のイメージ、およびノード１０３は競技場とすることが可能である。図示されたズームのレベルでは、ノード１０１〜１０３は比較的小さいため、ノード１０５の座標系内の正しい場所に配置された、詳細なしの小さな暗い領域として表現することが可能である。ノード１０５の座標系およびレンダリング方法のみが必要である。
【０２２９】
ユーザがズームインして、図２に示されるような異なる詳細レベル（ＬＯＤ）が生じると考えてみる。図２のＬＯＤでは、ビジュアルコンテンツがかなり大きく表示されたという事実により、ノード１０１および１０２はもはやスクリーン上には見えない。加えて、競技場ノード１０３が表示されたサイズがかなり大きいことで、個々の座席、フィールドなどの競技場の細部が表示されなければならなくなることに留意されたい。
【０２３０】
前述の内容を促進するために、競技場ノード１０３は、ノード１０５の座標系に細部なしの暗い領域としては表示されなくなるが、代わりに、それ自体の座標系およびレンダリング方法を使用して表示されるように「起動」される。それ自体の座標系およびレンダリング方法を使用して表示された場合、座席、競技フィールドなどの細部は個々に表示される。前述およびノード１０３に関連付けられた他の機能も、ノード１０３が起動された時点で実行を開始する。ノード１０３またはさらに言えば任意のノードを起動させる特定のナビゲーション条件は設計選択の機能であり、本発明にとって重要ではない。
【０２３１】
ノード１０３が表示される精度は、ノード１０５によって使用される座標系精度ならびにノード１０３の座標系精度が組み合わされた精度である。したがって、例えば当該の各ノードの座標系が８ビットを使用する場合、ノード１０３の座標系はノード１０３内のアイテムの位置を特定するためのみに使用されることから、組み合わされた精度は１６ビットとなるが、ノード１０５内のノード１０３の全体の場所はノード１０５の座標系内に指定される。競技場１０３それ自体が内部に追加のノードを含む場合、このネスティングが繰り返し続くことに留意されたい。例えば、こうしたノード２０１は実際には競技場内の特定の場内売り場とすることができる。これは、ノード１０３の座標系およびレンダリング方法に多くの細部なしで表現される。ユーザが競技場１０３のズームインを続けると、ある時点でノード２０１が起動する。これが８ビット精度を使用して表示される場合、その８ビットは、ノード２０１座標系内のどこに特定のアイテムが表示されるかを指定することになる。それでも、ノード１０３内のノード２０１の場所は、ノード１０３の座標系内で８ビットの精度に維持され、その場所は８ビットを使用するノード１０５の座標系内に維持されることになる。したがって、ノード２０１内のアイテムは最終的には２４ビットの精度を使用して表示されることになる。
【０２３２】
ノード内にノードをネストすることにより、ビジュアルコンテンツが最終的に表示される精度は、コンピュータのメモリ容量によってのみ制限される。そのノードが起動された後にノード内のビジュアルコンテンツが表示される最終的な精度は、事実上、すべての親ノードの組合せ精度および起動されたノードの精度である。したがって精度は、ネスティングのレベルに依存してコンピュータの記憶容量によってのみ制限され、必要に応じて上げることが可能であり、これはほぼ常に十分すぎるほどである。加えて、イメージが起動を必要としないＬＯＤにある場合、前述の内容に従って、含まれているノードが起動されている場合はそのノードの精度でのみ表示されることになるため、上げられた精度は必要な場合にのみ使用される。したがって、他のノード内にネストされたノードの場合、一番外側のノードから内側に移動する際に、最終的にまだ起動していないノードに達するまで、起動されたノードをトラバースすることができる。任意のこうした起動されていないノードおよびさらにその中にあるノードは、起動されている最後にトラバースされたノードの精度でのみ表示されることになる。
【０２３３】
この結果、ビジュアルコンテンツが表示される精度が必要に応じて拡張および収縮し、ユーザのナビゲーション入力で指示された場合、高い精度に対して必要な場合にのみシステムリソースを使用することでその効率を最大にする、「アコーディオン」タイプの精度が発生する。
【０２３４】
ノードが起動した場合、そのノードが、親ノードの座標およびレンダリング方法に基づく表示から子ノードの座標およびレンダリング方法に基づく表示へと変更されることにも留意されたい。この変更は、ブレンディングを使用することで最適に漸進的になることが説明されている（例えば同時係属の米国特許出願第１０／７９０２５３号を参照）。しかしながら、座標系およびレンダリング方法の情報の表示を親ノードから子ノードに漸進的に変更する他の方法も可能である。例えばシステムは、特定の領域を介した親から子へのブレンディングが発生するようにプログラムすることができる。その後、ユーザがズーム中にその領域を介してトラバースする場合、ナビゲーションがその領域中に中止されない限り切り替えが発生し、この場合、ブレンディングは適切な座標系で完全に表示されるまで続行可能である。
【０２３５】
本発明によって解決される追加の問題は、表示中にすべてのノード間の空間的相互関係を維持するためのシステムに関する。より具体的に言えば、ズームおよびパンなどの動的ナビゲーション中に、多くの異なる座標系が潜在的に異なるノードを表示するために使用される。前述のように、いくつかのノードは単に他のノードの座標系内のイメージとして表示されており、いくつかはそれら自身の座標系内に表示されている。実際、ビジュアルディスプレイ全体が異なる座標系内の異なる位置に表示されたノードで占められる可能性があり、様々なノードに使用される座標系および精度は、ノードが起動された場合、ナビゲーション中に変化する可能性がある。したがって、各ノードはそれ自体の座標系の知識のみが得られるため、ノードが互いに関して適切に配置されることを保証することが重要である。本発明は、各ノードがそれ自体をレンダリングするべき全体のビューにおける適切な位置を「知る」ことになるように、すべてのノード間での相対的な場所情報を伝播するため、および必要な場合にその情報を更新するための技法を提供する。
【０２３６】
前述の内容は、ノード構造へのフィールドの追加、および追加のアドレススタックデータ構造によって実施可能である。拡張されたノード定義には、本発明者等が「ｖｉｅｗ」フィールドと呼ぶフィールドが含まれ、このフィールドがディスプレイ全体に対してそれ自体を配置するためにノードによって使用される。ｖｉｅｗフィールドは、そのノードの座標内にノードの可視領域、すなわちノードの座標内の表示矩形のイメージを表現する。この矩形は、ノードが部分的にスクリーンから外れた場合など、ノードの領域を部分的に重複させることだけが可能である。明らかに、ナビゲーションが発生した場合、必ずしもリアルタイムでノードの有向グラフ全体をトラバースできるわけではないため、ｖｉｅｗフィールドはあらゆるノードについて常に更新を続けることはできない。
【０２３７】
スタック構造は、
Stack<Address> viewStack;
として定義され、このスタックはクライアント（ディスプレイに接続されたコンピュータ）のグローバル変数である。例示の目的で、ナビゲーションが、ルートノードによって定義されたコンテンツのユニバースの概観から始まり、その後、このルートノードがｖｉｅｗＳｔａｃｋへと押し進められ、ルートノードのｖｉｅｗフィールドはルートノードの領域全体となるように、すなわち以下のように初期化されると想定する。
【０２３８】
rootNode.view = rootNode.coordSystem;
Push(viewStack, rootNode);
概略的に言えば、ｖｉｅｗＳｔａｃｋは、ディスプレイに対するポイントによって「ピアス（ｐｉｅｒｃｅ）された」ノードシーケンスのアドレスを特定することになり、これを本発明者等の例示的実施ではディスプレイの中央となるように採用する。このシーケンスはルートノードから開始されなければならないが、無限である可能性があるため切り捨てなければならない。例示的実施形態では、「ピアスされた」ノードが、ｍｉｎｉｍｕｍＡｒｅａとして定義された何らかの最小サイズよりも小さくなった場合、シーケンスは切り捨てられる。現在のビューはその後、それぞれがノードのローカル座標系に関して現在のビューを特定する、ｖｉｅｗＳｔａｃｋ内のすべてのノードのｖｉｅｗフィールドによって表現される。ユーザがあるユニバースにかなり大幅にズームインした場合、スタック内の最後のノードのｖｉｅｗフィールドによってディスプレイの詳細な場所が最も精密に与えられる。しかしながらこの最後の要素のｖｉｅｗフィールドは、ユニバース全体に対してではなくそのローカル座標に対して、ユーザのビューポイントを特定する。他方で、ルートノードのｖｉｅｗフィールドは、ユーザがユニバース内のどこを見ているかを特定する。したがって、ｖｉｅｗＳｔａｃｋの「詳細エンド」により近いノードの方が、より高い精度であるが、ユニバース内の累進的に小さな領域に対して、ビューポジションを特定する。これが概念的に図３に示されており、起動された３つのノードのうちノード３０３は、その座標系が「最も詳細」であるため、ユーザがどこを見ているかの最も正確な指示を提供するが、ノード３０１は、詳細でないにもかかわらずビジュアルコンテンツのより大きな領域で情報を提供する。
【０２３９】
その後、問題は、すべての可視ノードのビュー（すなわちｖｉｅｗフィールド）が、ユーザがパンおよびズームでユニバースをナビゲートする間、同期を続けなければならないことに変わる。それらが同期を続けられない場合、結果としてノードの概観は、まとまりのある物理的に一貫した２Ｄ表面として動作するのではなく、ディスプレイ上をそれぞれ互いに無関係に移動することになる。
【０２４０】
任意のナビゲーション操作中のビューの変更は、次のように進行する。ｖｉｅｗＳｔａｃｋ内の最後のノードがビューの最も精密な表現を有するため、第１のステップは、この最後のノードのｖｉｅｗフィールドを変更することであり、この変更されたビューが正しい新しいビューとみなされ、任意の他の可視ノードはこれに従わなければならない。第２のステップは、新しいビューをルートノードに向かって「上方」に伝播し、スタック内の初期のノードのｖｉｅｗフィールドへの変更を累進的にさらに小さくしていくことである。ユーザが大幅にズームした場合、上方伝播のある地点で、ビューへの変更は正確に表現できないほど小さくなり、上方伝播はこのノードで停止する。上方伝播の各段階で、変更は他の可視ノードへと下方にも伝播される。したがって、第１に最後のノードの親のビューが修正され、次に、下方伝播中に最後のノードの「兄弟（ｓｉｂｌｉｎｇ）」を修正する。次の上方伝播は祖父母のビューを修正し、２番目の下方伝播は第１の伯父、その後第１の従兄弟を修正する。前述のように、「従兄弟ノード」の領域がｍｉｎｉｍｕｍＡｒｅａより小さくなった場合、またはノード全体が画面を外れた場合、下方伝播は停止される。
【０２４１】
前述の技法は、様々なノードのレイアウトをツリーに変換することが含まれ、概念的に図４および５に例示される。図４および５からわかるように、ノードの特定の表示セットに関する対応するツリーがあり、このツリー構造を使用して前述のようにビュー情報を伝播することができる。
【０２４２】
パン操作により、最後のノードをもはやｖｉｅｗＳｔａｃｋに属さないほど十分遠くに移動することができる。代替として、ズームインにより、ｖｉｅｗＳｔａｃｋの伸長が必要な程度まで子を拡大するか、またはズームアウトにより、最後のノードの領域をｖｉｅｗＳｔａｃｋの切り捨てを必要とする最小領域よりも小さくすることができる。これらのすべてのケースで、最後のノードの識別が変更される。これらの状況は下方伝播中に検出され、潜在的により長いかまたはより短いままで、それに応じてｖｉｅｗＳｔａｃｋを変更することができる。
【０２４３】
前述の単純なケースの１つが、ズーム中にノードが起動され、ビュースタック内に配置する必要が生じることである。他の例は、ズームアウトにより、以前は可視であったノードがビュースタックから除去しなければならないほど小さくなることである。
【０２４４】
このアイデアの拡張が、長い外方向へのズームに即時応答したｖｉｅｗＳｔａｃｋの切り捨てを避けることである。ｖｉｅｗＳｔａｃｋの切り捨ては、その後ユーザがパンした場合のみ必要である。長い外方向へのズームは、大幅にズームされたノードのｖｉｅｗフィールドを非常に大きく（したがって数値的に不正確に）するが、フィールド
【０２４５】
Point2D viewCenter;
【０２４６】
をｖｉｅｗ矩形の中央ポイントを表すＮｏｄｅ構造に追加することが可能であり、パンなしのズームは、任意のノードのｖｉｅｗＣｅｎｔｅｒフィールドを変更しない。この構造により、外方向への大幅なズームの直後に、再ズームインすることができる。ｖｉｅｗＳｔａｃｋがそのままで残っているため、ユーザは正確に開始ビューへと戻ることができる。この動作はウェブブラウザの「戻る」および「進む」ボタンに類似しており、「戻る」はズームアウトに類似し、「進む」は再ズームインに類似する。ウェブブラウザでは、ユーザが「戻る」を使用して前のウェブページに戻ったが、続いて代替リンクに進んだ場合、この時点で「進む」は動作を中止する。代替リンクに進むことは、ズームアウト後のパンに類似する。
【０２４７】
前述の内容は、アプリケーションが実行されているコンピュータシステムの容量にのみ制限される、実質上は無限の精度で、ビジュアルコンテンツが様々な形で表示およびナビゲート可能であることを示す。任意の所与の時点で表示されたビジュアルコンテンツは、その後ノードのアセンブリとして表示され、特定のビューに必要なノードのみが起動され、他のすべてのノードは他のノードの一部として起動されることなく表示されるか、またはまったく表示されない。当業者であれば様々な他の実施形態が明らかとなること、および本発明が本明細書で説明された諸実施形態に限定されないことを理解されよう。
【０２４８】
2007529786.tif 000014
【０２４９】
2007529786.tif 000015
【０２５０】
2007529786.tif 000016
【０２５１】
2007529786.tif 000017
【０２５２】
2007529786.tif 000018
【０２５３】
イメージをナビゲートするための方法および装置
相互参照
本出願は、その開示全体が参照により本明細書に組み込まれている、２００３年３月１２日に出願した「SYSTEM AND METHOD FOR FOVEATED, SEAMLESS, PROGRESSIVE RENDERING IN A ZOOMING USER INTERFACE」という名称の米国仮特許出願第６０／４５３８９７号の特典を主張するものである。
【０２５４】
本発明は、平滑で連続したナビゲートの動きの外観を提供するように、オブジェクトのイメージにわたってズームおよびパンなどのナビゲートするための方法および装置に関する。
【０２５５】
背景技術
ほとんどの従来のグラフィカルコンピュータユーザインターフェース（ＧＵＩ）は、固定空間スケールの視覚構成要素を使用するように設計されるが、これまで長い間、視覚構成要素はディスプレイ上に固定空間スケールを持たないが、実際にはパンならびに／あるいはズームインまたはズームアウトが可能なように表現および操作可能であると認識されてきた。イメージ上でズームインおよびズームアウトするための機能は、例えば地図の表示、新聞などのテキストレイアウトのブラウジング、デジタル写真の表示、設計図または図の表示、および他の大規模データセットの表示などに関連して望ましい。
【０２５６】
Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ、Ａｄｏｂｅ  Ｐｈｏｔｏ  Ｓｈｏｐ、Ａｄｏｂｅ  Ａｃｒｏｂａｔなどの多くの既存のコンピュータアプリケーションには、ズーム可能構成要素が含まれる。一般にこれらのコンピュータアプリケーションによって提供されるズーム機能は、ユーザがソフトウェアと対話する上でそれほど重要な側面ではなく、ズーム機能は時折使用されるだけである。これらのコンピュータアプリケーションは、ユーザがイメージ全体にわたって平滑に連続してパンできるように（例えば、スクロールバーまたはカーソルを使用して、表示されたイメージを左、右、上、または下に移動させる）するものである。しかしながら、こうしたコンピュータアプリケーションに伴う重要な問題が、ユーザが平滑に連続してズームできないことである。実際には、１０％、２５％、５０％、７５％、１００％、１５０％、２００％、５００％などの、ズームインの離散的ステップが提供される。ユーザがカーソルを使用して所望のズームを選択すると、イメージはこれに応答して、選択されたズームレベルに急峻に変化する。
【０２５７】
インターネットベースのコンピュータアプリケーションには、望ましくない品質の不連続ズームも存在する。www.mapquest.comウェブサイトの基礎となるコンピュータアプリケーションがこの点を例示している。ＭａｐＱｕｅｓｔウェブサイトでは、ユーザが１つまたは複数のアドレスを入力すると、これに応答して道路地図のイメージを受信できる。図１〜４は、米国ニューヨーク州ロングアイランドの地域地図の照会に応答してＭａｐＱｕｅｓｔウェブサイトから取得できるイメージの例である。ＭａｐＱｕｅｓｔウェブサイトでは、ユーザは１０レベルなどの離散レベルまでズームインおよびズームアウトすることができる。図１は、およそ１００メートル／ピクセルのズームレベル５でのレンダリングである。図２は、約３５メートル／ピクセルのズームレベル６のイメージである。図３は、約２０メートル／ピクセルのズームレベル７のイメージである。図４は、約１０メートル／ピクセルのズームレベル９のイメージである。
【０２５８】
図１〜４を比較するとわかるように、ズームレベル間の急峻な遷移により、ズームアウト時の突然かつ急峻な詳細の損失、およびズームイン時の突然かつ急峻な詳細の追加が発生する。例えば図１（ズームレベル５）には、一般、２次、または連絡の道路は見られないが、すぐ次のズームレベルである図２には、２次および連絡の道路が突然現れる。ＭａｐＱｕｅｓｔウェブサイトを使用する場合、こうした急峻な不連続性は非常に不快である。しかしながら、ＭａｐＱｕｅｓｔソフトウェアアプリケーションが、ズームレベル５（図１）で例えば一般道路の表示ができるように修正されたとしても、結果は依然として不満足であろうということに留意されたい。地図の視覚密度は、あるズームレベルで結果が満足となる（例えば図３のレベル７）ようにズームレベルに応じて変化するが、ズームインすると、道路が密集しておらず地図が過度にまばらに見える場合がある。ズームアウトすると、道路は最終的に互いに混ざり合い、個々の道路が区別できないような隙間のない巣がすぐに形成される。
【０２５９】
道路地図のイメージ上に平滑で連続したズーミングを提供するための機能は、道路カテゴリに関連付けられた変化する粗さのレベルによる問題が多い。米国の道路には、Ａ１：主要高速道路、Ａ２：主要道路、Ａ３：高速州道、２次道路、および連絡道路、Ａ４：一般道路、市街路、および地方道路、Ａ５：未舗装道路という、およそ５つの道路カテゴリ（米国国勢調査局によって配布されるＴｉｇｅｒ／Ｌｉｎｅ  Ｄａｔａに基づいて分類された場合）がある。これらの道路は全体オブジェクト（すなわち道路地図）の要素とみなすことができる。道路要素の粗さは、Ａ３道路よりもＡ４道路の方がかなり多いこと、Ａ２道路よりもＡ３道路の方がかなり多いこと、およびＡ１道路よりもＡ２道路の方がかなり多いことから現れる。加えて、道路の物理的寸法（例えばそれらの幅）は、大幅に異なる。Ａ１道路は約１６メートル幅、Ａ２道路は約１２メートル幅、Ａ３道路は約８メートル幅、Ａ４道路は約５メートル幅、およびＡ５道路は約２．５メートル幅とすることができる。
【０２６０】
ＭａｐＱｕｅｓｔコンピュータアプリケーションは、特定のズームレベルで適切であると思われる道路カテゴリのみを表示することによって、これらの変化する粗さのレベルに対処する。例えば、国家規模のビューではＡ１道路のみが表示され、州規模のビューではＡ１およびＡ２道路が表示され、群規模のビューではＡ１、Ａ２、およびＡ３道路が表示される可能性がある。たとえＭａｐＱｕｅｓｔが道路地図の連続したズーミングができるように修正されたとしても、この手法は混乱させる視覚的に不快な、ズーミング中の道路カテゴリの突然の出現および消失につながるであろう。
【０２６１】
（特許文献１）米国特許出願第１０／７９０２５３号明細書
（特許文献２）米国仮特許出願第６０／４７５８９７号
（特許文献３）米国仮特許出願第６０／            号
（非特許文献１）Lance Williams, Pyramidal Parametrics, Computer Graphics, Proc. SIGGRAPH '83, 17(3):1-11 (1983)
【０２６２】
（発明の開示）
（発明が解決しようとする課題）
前述の内容に鑑み、当技術分野では、サイズまたは重要性に基づくオブジェクトの要素間の視覚的な相違を保持しながらも、イメージの円滑で連続するズーミングを可能にする、複雑なオブジェクトのイメージをナビゲートするための新しい方法および装置が求められている。
【０２６３】
発明の開示
本発明の１つまたは複数の態様によれば、少なくとも１つのオブジェクトの少なくともいくつかの要素が、ズーミングに関連付けられた１つまたは複数のズームレベルに非物理的に比例するように拡大および／または縮小される、少なくとも１つのオブジェクトを有するイメージのズームインまたはズームアウトを含む、様々なアクションを実行するための方法および装置が企図される。
【０２６４】
非物理的に比例するスケーリングは、公式ｐ＝ｃ・ｄ・ｚａで表すことが可能であり、この式で、ｐは、ズームレベルでのオブジェクトの１つまたは複数の要素のピクセル単位での線形サイズであり、ｃは定数であり、ｄはオブジェクトの１つまたは複数の要素の物理単位での線形サイズであり、ｚは物理的線形サイズ／ピクセルの単位でのズームレベルであり、ａはａ≠−１のスケール指数である。
【０２６５】
非物理的スケーリングの下では、ズームレベルｚ０からｚ１の範囲内でスケール指数ａは−１に等しくなく（通常は−１＜ａ＜０）、ｚ０はｚ１よりも下位の物理線形サイズ／ピクセルである。好ましくは、ｚ０およびｚ１のうちの少なくとも１つが、オブジェクトの１つまたは複数の要素に対して異なる場合がある。ａ、ｃ、およびｄは要素によっても異なる場合があることに留意されたい。
【０２６６】
少なくとも１つのオブジェクトの少なくともいくつかの要素を、ズーミングに関連付けられた１つまたは複数のズームレベルに物理的に比例するように、拡大および／または縮小することもできる。物理的に比例するスケーリングは、公式ｐ＝ｃ・ｄ／ｚで表すことが可能であり、この式で、ｐは、ズームレベルでのオブジェクトの１つまたは複数の要素のピクセル単位での線形サイズであり、ｃは定数であり、ｄは物理単位でのオブジェクトの１つまたは複数の要素の線形サイズであり、ｚは物理的線形サイズ／ピクセルの単位でのズームレベルである。
【０２６７】
本書における前述および／または後述の方法および装置は、標準デジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェアプログラムを実行するように動作可能な任意の既知のプロセッサ、プログラム可能デジタルデバイスまたはシステム、プログラム可能アレイ論理デバイス、あるいは上記の任意の組合せなどの、任意の既知の技術を使用して達成可能であることに留意されたい。本発明は、好適な記憶媒体に格納するためおよび処理ユニットによって実行するためのソフトウェアプログラムでも具体化することができる。
【０２６８】
オブジェクトの要素は、粗さの程度が異なる可能性がある。例えば、前述のように、道路地図オブジェクトの要素の粗さは、Ａ３道路よりもＡ４道路の方がかなり多いこと、Ａ２道路よりもＡ３道路の方がかなり多いこと、およびＡ１道路よりもＡ２道路の方がかなり多いことから現れる。道路カテゴリにおける粗さの程度は、平均道路長さ、交差点頻度、および最大湾曲などの特性にも現れる。他のイメージオブジェクトの要素の粗さも他の面で現れるが、多すぎてすべてを列挙できない。したがって、所与の所定のイメージにおける要素のスケーリングは、（ｉ）こうした要素の粗さの程度、および（ｉｉ）所与の所定のイメージのズームレベルのうちの少なくとも１つに基づいて、物理的に比例するかまたは非物理的に比例する可能性がある。例えば、オブジェクトは道路地図とすることが可能であり、オブジェクトの要素は道路とすることが可能であり、変化する粗さの程度は道路階層とすることが可能である。したがって、所与の所定のイメージにおける所与の道路のスケーリングは、（ｉ）所与の道路の道路階層、および（ｉｉ）所与の所定のイメージのズームレベルに基づいて、物理的に比例するかまたは非物理的に比例する可能性がある。
【０２６９】
本発明の１つまたは複数の他の態様によれば、ズームレベルが変化する道路地図の複数の事前レンダリングされたイメージをクライアント端末で受信するアクションと、クライアント端末でズーミング情報を含む１つまたは複数のユーザナビゲーションコマンドを受信するアクションと、クライアント端末上での中間イメージの表示が平滑なナビゲーションの外観を提供するように、ナビゲーションコマンドのズーミング情報に対応する中間ズームレベルの中間イメージを取得するために、２つまたはそれ以上の事前レンダリングされたイメージをブレンドするアクションとを含む、様々なアクションを実行するための方法および装置が企図される。
【０２７０】
本発明の１つまたは複数の他の態様によれば、ズームレベルが変化する少なくとも１つのオブジェクトの複数の事前レンダリングされたイメージをクライアント端末で受信するアクションであって、この少なくとも１つのオブジェクトのうちの少なくともいくつかの要素は複数の所定のイメージを作成するために拡大および／または縮小され、このスケーリングは（ｉ）ズームレベルに物理的に比例する、および（ｉｉ）ズームレベルに非物理的に比例する、のうちの少なくとも１つである、受信するアクションと、クライアント端末でズーミング情報を含む１つまたは複数のユーザナビゲーションコマンドを受信するアクションと、ナビゲーションコマンドのズーミング情報に対応する中間ズームレベルの中間イメージを取得するために、２つまたはそれ以上の事前レンダリングされたイメージをブレンドするアクションと、クライアント端末上に中間イメージを表示するアクションとを含む、様々なアクションを実行するための方法および装置が企図される。
【０２７１】
本発明の１つまたは複数の他の態様によれば、ズームレベルが変化する道路地図の複数の事前レンダリングされたイメージを通信チャネルを介してクライアント端末に送信するアクションと、クライアント端末で複数の事前レンダリングされたイメージを受信するアクションと、クライアント端末を使用してズーミング情報を含む１つまたは複数のユーザナビゲーションコマンドを発行するアクションと、クライアント端末上での中間イメージの表示が平滑なナビゲーションの外観を提供するように、ナビゲーションコマンドのズーミング情報に対応する中間ズームレベルの中間イメージを取得するために、２つまたはそれ以上の事前レンダリングされたイメージをブレンドするアクションとを含む、様々なアクションを実行するための方法および装置が企図される。
【０２７２】
本発明の１つまたは複数の他の態様によれば、ズームレベルが変化する少なくとも１つのオブジェクトの複数の事前レンダリングされたイメージを通信チャネルを介してクライアント端末に送信するアクションであって、この少なくとも１つのオブジェクトのうちの少なくともいくつかの要素は複数の所定のイメージを作成するために拡大および／または縮小され、このスケーリングは（ｉ）ズームレベルに物理的に比例する、および（ｉｉ）ズームレベルに非物理的に比例する、のうちの少なくとも１つである、送信するアクションと、クライアント端末で複数の事前レンダリングされたイメージを受信するアクションと、クライアント端末を使用してズーミング情報を含む１つまたは複数のユーザナビゲーションコマンドを発行するアクションと、ナビゲーションコマンドのズーミング情報に対応する中間ズームレベルの中間イメージを取得するために、２つの事前レンダリングされたイメージをブレンドするアクションと、クライアント端末上に中間イメージを表示するアクションとを含む、様々なアクションを実行するための方法および装置が企図される。
【０２７３】
他の態様、特徴、および利点は、当業者であれば添付の図面と共に本明細書について説明すれば明らかとなろう。
【０２７４】
図面に示された形は本発明を例示するためのものであり、本発明は図示された精密な配置構成および手段に限定されるものでないことを理解されよう。
【０２７５】
図面の簡単な説明
図１はＭａｐＱｕｅｓｔウェブサイトから取得したズームレベル５のイメージを示す図である。
図２はＭａｐＱｕｅｓｔウェブサイトから取得したズームレベル６のイメージを示す図である。
図３はＭａｐＱｕｅｓｔウェブサイトから取得したズームレベル７のイメージを示す図である。
図４はＭａｐＱｕｅｓｔウェブサイトから取得したズームレベル９のイメージを示す図である。
図５は本発明の１つまたは複数の態様による、約３３４メートル／ピクセルのズームレベルで作成されたロングアイランドのイメージを示す図である。
図６は本発明の１つまたは複数の他の態様による、約１９１メートル／ピクセルのズームレベルで作成されたロングアイランドのイメージを示す図である。
図７は本発明の１つまたは複数の他の態様による、約１０９．２メートル／ピクセルのズームレベルで作成されたロングアイランドのイメージを示す図である。
図８は本発明の１つまたは複数の他の態様による、約６２．４メートル／ピクセルのズームレベルで作成されたロングアイランドのイメージを示す図である。
図９は本発明の１つまたは複数の他の態様による、約３５．７メートル／ピクセルのズームレベルで作成されたロングアイランドのイメージを示す図である。
図１０は本発明の１つまたは複数の他の態様による、約２０．４メートル／ピクセルのズームレベルで作成されたロングアイランドのイメージを示す図である。
図１１は本発明の１つまたは複数の他の態様による、約１１．７メートル／ピクセルのズームレベルで作成されたロングアイランドのイメージを示す図である。
図１２は本発明の１つまたは複数の態様による、イメージの平滑で連続するナビゲーションを提供するために実施可能なプロセスステップを示す流れ図である。
図１３は本発明の様々な態様による、イメージを平滑にナビゲートするために実施可能な他のプロセスステップを示す流れ図である。
図１４は本発明の１つまたは複数の他の態様による、物理的および非物理的スケーリングを示す、ピクセル単位の線幅に対するメートル／ピクセル単位のズームレベルの、対数の対数で表されるグラフを示す図である。
図１５は図１４の物理的および非物理的スケーリングにおける変化を示す、対数の対数で表されるグラフを示す図である。
図１６Ａは端点がピクセル座標の中央に精密に位置する、エイリアス除去された垂直線を示す図である。
図１６Ｂは端点がピクセル座標の中央に精密に位置する、エイリアス除去された垂直線を示す図である。
図１６Ｃは端点がピクセル座標の中央に精密に位置する、エイリアス除去された垂直線を示す図である。
図１６Ｄは端点がピクセル座標の中央に精密に位置する、エイリアス除去された垂直線を示す図である。
図１７Ａは端点がピクセル座標に厳密に収まるように位置付けられていない、傾斜したエイリアス除去された線を示す図である。
図１７Ｂは端点がピクセル座標に厳密に収まるように位置付けられていない、傾斜したエイリアス除去された線を示す図である。
図１７Ｃは端点がピクセル座標に厳密に収まるように位置付けられていない、傾斜したエイリアス除去された線を示す図である。
図１８は増分線幅を示す水平線と、２つの隣接する垂直線間の間隔にわたる線幅が２ピクセル以下ずつ変化するように間隔を空けて配置された垂直線とを含む、図１４の線幅に対するズームレベルの、対数の対数で表されるグラフを示す図である。
【０２７６】
発明を詳細な説明
次に図面を参照すると、同じ番号は同じ要素を示し、図５〜１１には米国ニューヨーク州ロングアイランドの道路網を表す一連のイメージが示されており、それぞれのイメージは異なるズームレベル（または解像度）である。本発明がどのように実施されるかについての技術的な詳細を掘り下げる前に、情報の完全性を維持しながら、本発明を使用した結果として生じる望ましい特徴、すなわち少なくとも平滑で連続したナビゲーションの外観、特にズーミングに関連して、これらのイメージについて説明する。
【０２７７】
以下で説明する本発明の様々な態様は、道路地図イメージのナビゲーション以外のコンテキストで適用可能であることに留意されたい。実際、本発明が使用可能なイメージの範囲および実施は、数が多いためにその全体を列挙することはできない。例えば本発明の特徴は、人体の解剖図、複雑な地形図、配線図や設計図などの工学図面、遺伝子オントロジなどのイメージをナビゲートするために使用できる。しかしながら、本発明が、その要素の詳細または粗さのレベルが変化するイメージのナビゲートに対する特定の適用可能性を有することがわかっている。したがって簡潔および明瞭にするために、本発明の様々な態様は特定の例すなわち道路地図のイメージに関連して説明される。
【０２７８】
平滑で連続したズーミングの外観を特許文書で実証することは不可能であるが、この特徴は、Ｐｅｎｔｉｕｍ（登録商標）搭載のコンピュータ上で好適なソフトウェアプログラムを実行することによる実験およびプロトタイプ開発を介して実証されてきた。図５に例示された道路地図のイメージ１００Ａは、物理的な長さ／ピクセル（または物理的な線形サイズ／ピクセル）の単位で特徴付けることが可能なズームレベルである。言い換えれば、ズームレベルｚは、イメージ１００Ａの単一ピクセルが表す実際の物理的線形サイズを表す。図５では、ズームレベルは約３３４メートル／ピクセルである。当業者であれば、このズームレベルが、請求される本発明の趣旨および範囲を逸脱することなく他の単位で表すことが可能であることを理解されよう。図６は、図５と同じ道路地図のイメージ１００Ｂであるが、ズームレベルｚは約１９１メートル／ピクセルである。
【０２７９】
本発明の１つまたは複数の態様によれば、本発明の１つまたは複数の態様を具体化するソフトウェアプログラムのユーザは、図５および６に示されたレベルの間でズームインまたはズームアウトすることができる。こうしたズーミングは、３３４メートル／ピクセルレベル（図５）から１９１メートル／ピクセルレベル（図６）の間、およびそれらの間の任意のレベルとの間での平滑で連続した遷移の外観を有することに留意することが重要である。同様にユーザは、ｚ＝１０９．２メートル／ピクセル（図７）、ｚ＝６２．４メートル／ピクセル（図８）、ｚ＝３５．７メートル／ピクセル（図９）、ｚ＝２０．４メートル／ピクセル（図１０）、およびｚ＝１１．７メートル／ピクセル（図１１）などの他のレベルへとズームすることができる。ここでも有利には、これらのズームレベルおよびそれらの間の任意のレベルを介した遷移は平滑で連続する動きの外観を有する。
【０２８０】
図５〜１１に示された本発明の他の重要な特徴は、１つのレベルから他のレベルへとズームする場合に、急峻に出現または消失する細部がわずかであるかまたはないことである。図８（ズームレベルｚ＝６２．４メートル／ピクセル）に示される細部は、図５（ズームレベルｚ＝３３４メートル／ピクセル）でも見つけることができる。これは、この場合は道路地図であるイメージオブジェクトが、たとえ粗さの程度が変化する要素（すなわち道路）を含む場合であっても同様である。実際、図８の道路地図１００Ｄは、少なくとも１０２などのＡ１の高速道路、１０４などのＡ３の２次道路、および１０６などのＡ４の一般道路を含む。これらの詳細は、Ａ４の一般道路１０６でさえ、図５のイメージ１００Ａにも依然として見られるが、図８のイメージ１００Ｄと比較すると大幅にズームアウトされている。
【０２８１】
さらに、ズームレベルｚ＝３３４メートル／ピクセル（図５）ではＡ４の一般道路１０６が見られるにもかかわらず、Ａ１、Ａ２、Ａ３、およびＡ４道路を互いに見分けることができる。レンダリングされたイメージ１００Ａにおけるこうした道路に与えられた相対的重みと相対して、Ａ１の主要高速道路１０２とＡ２の主要道路１０８の区別でさえも互いに見分けられる。
【０２８２】
有利には、ユーザが、例えば、図１０のイメージ１００Ｆに示されるようなズームレベルｚ＝２０．４メートル／ピクセルまでズームインを続行した場合、道路階層間を区別する機能も維持される。Ａ１の主要高速道路１０２の重みは、図８のズームレベルｚ＝６２．４メートル／ピクセルに比べて大幅に増加するが、Ａ４の一般道路１０６、またはさらにはＡ５の未舗装道路などの他の詳細を消してしまうほどまでには増加しない。それでも、Ａ４の一般道路１０６などの低い階層レベルの道路の重みは、図８のズームレベルｚ＝６２．４メートル／ピクセルでのその相対道路の重みに比べて、大幅に増加する。
【０２８３】
したがって、図５に示されるズームレベルと図１１に示されるズームレベルとの間のダイナミックレンジが相当にあり、詳細はほぼ一貫したまま（すなわち、平滑にズームしている間に突然現れたり消えたりする道路がない）であっても、ユーザが所与のズームレベルで取得しようとしている情報が、望ましくないアーティファクト（ａｒｔｉｆａｃｔ）によって隠されることはない。例えばズームレベルｚ＝３３４メートル／ピクセル（図５）で、ユーザはどのような主要高速道路が存在しており、どの方向に延在しているかについて、概略的に知りたい場合がある。この情報は、たとえＡ４の一般道路１０６が表示されていても、容易に得ることができる。ズームレベルｚ＝６２．４メートル／ピクセル（図８）で、ユーザは、特定のＡ１の主要高速道路１０２またはＡ２の主要道路１０８が特定の町または区域をサービス対象としているかどうかを知りたい場合がある。ここでもユーザは、Ａ４の一般道路１０６、またはさらにはＡ５の未舗装道路の存在および範囲などの、他のより詳細な情報に妨害されることなく、この情報を得ることができる。最終的に、ズームレベルｚ＝１１．７メートル／ピクセルで、ユーザは１１２などの特定のＡ４の一般道路を見つけることに関心を持ち、Ａ１主要高速道路１０２などのかなり大規模な道路に妨害されることなくこれを実行することができる。
【０２８４】
前述の本発明の様々な態様のうちの１つまたは複数を達成するために、１つまたは複数のコンピューティングデバイスが、コンピューティングデバイスに適切なアクションを実行させる１つまたは複数のソフトウェアプログラムを実行することが企図される。これに関して、次に、好ましくは１つまたは複数のコンピューティングデバイスおよび／または関連機器によって実行されるプロセスステップを示す流れ図である、図１２〜１３を参照する。
【０２８５】
このプロセス流れは、市販のコンピューティング機器（Ｐｅｎｔｉｕｍ（登録商標）搭載コンピュータなど）によって実行されることが好ましいが、このプロセスステップは、請求される本発明の趣旨および範囲を逸脱することなく、任意のいくつかの他の技法を使用して実行することができる。実際に、使用されるハードウェアは、標準デジタル回路と、アナログ回路と、ソフトウェアおよび／またはファームウェアプログラムを実行するように動作可能な任意の既知のプロセッサと、プログラム可能読み取り専用メモリ（ＰＲＯＭ）、プログラム可能アレイ論理デバイス（ＰＡＬ）などの、１つまたは複数のプログラム可能デジタルデバイスまたはシステムと、上記の任意の組合せと、その他などの、任意の他の既知または以下に展開される技法を使用して、実装することができる。さらに、本発明の方法は、任意の既知または以下に展開される媒体上に格納可能なソフトウェアプログラムで具体化することができる。
【０２８６】
図１２は、アクション２００で（それぞれが異なるズームレベルまたは解像度の）複数のイメージが作成され、ズーミングなどの平滑なナビゲーションの外観を達成するために２つまたはそれ以上のイメージがブレンドされる（アクション２０６）、本発明の実施形態を示す図である。本発明を実施するために必要ではないが、図１２に示された手法はサービスプロバイダとクライアントとの関係に関連して使用されることが企図される。例えばサービスプロバイダは、複数の事前レンダリングされたイメージを作成し（アクション２００）、そのイメージをユーザのクライアント端末がインターネットなどの通信チャネルを介して使用できるようにする（アクション２０２）ように、リソースを拡張する。代替として、事前レンダリングされたイメージは、ユーザが自分のコンピュータにロードおよび実行するアプリケーションプログラムの組み込み部分または関連部分とすることもできる。
【０２８７】
ブレンド手法を使用する場合、イメージオブジェクトが道路地図である場合に、３０メートル／ピクセル、５０メートル／ピクセル、７５メートル／ピクセル、１００メートル／ピクセル、２００メートル／ピクセル、３００メートル／ピクセル、５００メートル／ピクセル、１０００メートル／ピクセル、および３０００メートル／ピクセルのズームレベルで、イメージセットが適切に動作することが、実験を通じてわかってきた。しかしながら、本発明の範囲を逸脱することなく、任意数の解像度で任意数のイメージが使用可能であることに留意されたい。実際に、特定のズームレベルが前述の例とは異なる、より多いかまたは少ない数のイメージによって、他のコンテキストで他のイメージオブジェクトが最適に働く場合がある。
【０２８８】
クライアント端末がイメージをどのように取得するかにかかわらず、ズーミングコマンドなどのユーザが開始するナビゲーションコマンドに応答して（アクション２０４）、好ましくはクライアント端末は、ナビゲーションコマンドと一致する中間解像度イメージを作成するために２つまたはそれ以上のイメージをブレンドするように動作可能である（アクション２０６）。このブレンディングは、その開示全体が参照により本明細書に組み込まれた文献（例えば、Lance Williams, Pyramidal Parametrics, Computer Graphics, Proc. SIGGRAPH '83, 17(3):1-11 (1983)参照）によって説明された、周知のトリリニア補間技法などのいくつかの方法によって実施可能である。双３次（ｂｉｃｕｂｉｃ）線形補間などのイメージを補間するための他の手法も本発明に関連して有用であり、さらに他の手法も今後開発される可能性がある。本発明は、これらのブレンディング方法のうちの任意の特定の１つを必要としないかまたはこれに依存しないことに留意されたい。例えば図８に示されるように、ユーザは６２．４メートル／ピクセルのズームレベルまでナビゲートしたい場合がある。このズームレベルは２つの事前レンダリングされたイメージの間（例えばこの例では、ズームレベル５０メートル／ピクセルとズームレベル７５メートル／ピクセルとの間）とすることが可能であり、所望のズームレベル６２．４メートル／ピクセルは、トリリニア補間技法を使用して達成することができる。さらに、前述のようなブレンディング方法を使用して、５０メートル／ピクセルと７５メートル／ピクセルとの間の任意のズームレベルを取得することも可能であり、これが十分即時に実行されれば平滑で連続したナビゲーションの外観が得られる。ブレンディング技法は、図９に示された３５．７メートル／ピクセルレベルなどの、他のズームレベルまで実行することができる。こうしたケースでは、ブレンディング技法は、前述の例の３０メートル／ピクセルと５０メートル／ピクセルとの間の事前レンダリングされたイメージとして実行することができる。
【０２８９】
前述のブレンディング手法は、本発明が実行される処理ユニットの計算能力が、平滑なナビゲーションのための高イメージフレームレートを達成するために、（ｉ）第１のインスタンスでレンダリング操作を実行する、および／または（ｉｉ）「実行時（ｊｕｓｔ−ｉｎ−ｔｉｍｅ）」または「実行中」（例えばリアルタイム）にイメージレンダリングを実行するのに、十分な高さでない場合、使用することができる。しかしながら後述のように、本発明の他の諸実施形態は、ブレンディングおよび／または高フレームレートアプリケーション用にクライアントターミナルでレンダリング可能な、既知または以下に展開される高性能処理ユニットの使用を企図する。
【０２９０】
図１３のプロセス流れは、本発明による、好ましくは１つまたは複数のイメージを作成するように実行される詳細なステップおよび／またはアクションを示す。アクション２２０では、任意の既知または以下に展開される技法を使用してイメージオブジェクト（１つまたは複数）に関する情報が取得される。通常、こうしたイメージオブジェクトは、多角形、線、点などの適切なプリミティブを使用してモデル化されてきた。例えば、イメージオブジェクトが道路地図の場合、任意のＵｎｉｖｅｒｓａｌ  Ｔｒａｎｓｖｅｒｓｅ  Ｍｅｒｃａｔｏｒ（ＵＴＭ）ゾーン内の道路のモデルが容易に取得できる。モデルは通常、ゾーン内の道路を含む（任意の座標系内の）線セグメントのリストの形である。リストは、ピクセル（空間）ドメイン内の所与のプリミティブの重み（例えば見かけまたは実際の厚さ）を決定するためのある一定の技法を組み込んでいる限り、任意の既知または以下に展開されるレンダリングプロセスを使用して、空間ドメイン内のイメージ（ピクセルイメージ）に変換することができる。引き続き前述の道路地図の例を見ると、レンダリングプロセスは、空間ドメイン内の道路地図の道路をモデル化する線の重みを決定するためのある一定の技法を組み込むものとする。これらの技法について、以下で説明する。
【０２９１】
アクション２２２（図１３）で、オブジェクトの要素が分類される。道路地図オブジェクトの場合、この分類は既存のカテゴリ、すなわちＡ１、Ａ２、Ａ３、Ａ４、およびＡ５を認識する形を取ることができる。実際、これらの道路要素は変化する粗さの程度を有し、以下で説明するように、この分類に基づいて様々にレンダリングすることができる。アクション２２４では、ズームレベルに基づいて、異なる道路要素に数学的スケーリングが適用される。以下でより詳細に説明するように、数学的スケーリングは要素分類に基づいて変化することもできる。
【０２９２】
背景として、地図の道路などのイメージ要素をレンダリングするためには、実物理スケーリングおよびピクセル幅の事前設定という２つの従来技法がある。実物理スケーリング技法は、異なるスケールで道路の実物理イメージを表示しているかのように道路地図がレンダリングされることを指示する。例えばＡ１高速道路は１６メートル幅であり、Ａ２道路は１２メートル幅であり、Ａ３道路は８メートル幅であり、Ａ４道路は５メートル幅であり、Ａ５道路は２．５メートル幅であるとすることができる。これは地図の小さな区域にズームインする場合は見る人に受け入れられるが、ズームアウトする場合は、主要な道路も主要でない道路もすべてが薄すぎて見えなくなる。何らかのズームレベル、例えば州レベル（例えば約２００メートル／ピクセル）では、すべての道路がまったく見えなくなる。
【０２９３】
ピクセル幅の事前設定手法は、あらゆる道路が、ディスプレイ上の１ピクセル幅などのある一定のピクセル幅であることを指示する。高速道路などの主要道路は、例えば２ピクセル幅などにすることによって強調できる。残念ながらこの手法では、ズームインおよびズームアウトする際に地図の視覚密度を変化させる。例えば小規模な群レベルなどの何らかのズームレベルでは、この結果は満足のいくものである。しかしながら、ズームインした場合、道路は濃くならずに地図全体がまばらに見えてしまう。さらにズームアウトした場合、道路は互いに混ざり合い、個々の道路が区別できないような隙間のない巣がすぐに形成されてしまう。
【０２９４】
本発明の１つまたは複数の態様によれば、アクション２２４で、イメージは、以下でより詳細に説明するパラメータに依存して、（ｉ）ズームレベルに物理的に比例する、または（ｉｉ）ズームレベルに非物理的に比例する、のいずれかで、少なくともいくつかのイメージ要素が拡大および／または縮小されるように作成される。
【０２９５】
スケーリングが「ズームレベルに物理的に比例する」ということは、要素のサイズが人間の目からの距離に伴って変化するように見える場合、道路幅を表すピクセル数がズームレベルと共に増加または減少することを意味することに留意されたい。透視画法（ｐｅｒｓｐｅｃｔｉｖｅ）の公式で、物理サイズｄのオブジェクトの見かけの長さｙが与えられた場合、
ｙ＝ｃ・ｄ／ｘ
となり、ここでｃは有角透視を決定する定数であり、ｘは見る人からのオブジェクトの距離である。
【０２９６】
本発明では、表示ピクセルｐにおける物理線形サイズｄ’のオブジェクトの線形サイズは、
ｐ＝ｄ’・ｚａ
であり、ここでｚは物理線形サイズ／ピクセル（例えばメートル／ピクセル）の単位のズームレベルであり、ａは指数法則である。ａ＝−１およびｄ’＝ｄの場合（オブジェクトの実物理線形サイズ）、この式は寸法的に正しく、ｐ＝ｙおよびｚ＝ｘ／ｃで透視画法の公式に等しくなる。これは、物理的ズーミングと透視画法変換との間の等しさを表し、ズームインはオブジェクトを見る人に近づけることに等しく、ズームアウトはオブジェクトを遠ざけることに等しい。
【０２９７】
非物理的スケーリングを実施するためには、ａを−１以外の指数法則に設定し、ｄ’を実物理線形サイズｄ以外の物理線形サイズに設定することができる。道路地図のコンテキストでは、ｐはピクセル単位で表示される道路の幅を表し、ｄ’は物理単位の帰属（ｉｍｐｕｔｅｄ）幅を表すことが可能であり、「ズームレベルに非物理的に比例する」とは、表示ピクセル単位での道路幅が、ズームレベルに物理的に比例する以外の方法で、ズームレベルと共に増加または減少する、すなわちａ≠−１であることを意味する。スケーリングは、ある一定の望ましい結果を達成するという点で歪曲される。
【０２９８】
「線形サイズ」とは、１次元サイズを意味することに留意されたい。例えば、任意の２次元オブジェクトを想定し、その「線形」サイズを２倍にする場合、その領域は４＝２２だけ増える。２次元の場合、オブジェクトの要素の線形サイズは長さ、幅、半径、直径、および／またはユークリッド平面上のルーラで読み取ることが可能な任意の他の寸法を含むことができる。線の太さ、線の長さ、円またはディスクの直径、多角形の１辺の長さ、および２点間の距離は、すべて線形サイズの例である。この意味で、２次元の「線形サイズ」は、２Ｄユークリッド平面上にあるオブジェクトの識別された２点間の距離である。例えば線形サイズは、（ｄｘ２＋ｄｙ２）の平方根を取ることによって算出可能であり、この式でｄｘ＝ｘ１−ｘ０、ｄｙ＝ｙ１−ｙ０、および識別された２点はデカルト座標（ｘ０，ｙ０）および（ｘ１，ｙ１）によって得られる。
【０２９９】
「線形サイズ」の概念は、必然的に２次元より上の次元まで延長され、例えば容積オブジェクトを想定すると、その線形サイズを２倍にすることは、容積が８＝２３だけ増えることを意味する。同様の線形サイズの測量は、球体の表面などの非ユークリッド空間にも定義することができる。
【０３００】
任意の指数法則ａ＜０は、要素のレンダリングサイズをズームアウト時に減少させ、ズームイン時に増加させる。ａ＜−１の場合、要素のレンダリングサイズは、ズームアウト時の比例物理スケーリングよりも速く減少することになる。その反対に、−１＜ａ＜０の場合、レンダリング要素のサイズは、ズームアウト時の比例物理スケーリングよりも遅く減少する。
【０３０１】
本発明の少なくとも１つの態様によれば、ユーザが、ナビゲーション時にイメージの要素サイズにおける突然のジャンプまたは不連続性を体験することがないように、所与のオブジェクトの所与の長さについて、ｐ（ｚ）をほぼ連続させることが可能である（最も極端な不連続性、すなわちナビゲーション時に要素を突然に出現または消失させる、従来の手法とは対照的）。加えて、ｐ（ｚ）は、ズームアウトによってオブジェクトの要素が小さくなっていく（例えば、道路が狭くなっていく）、および、ズームインによってオブジェクトの要素が大きくなっていくように、ズームアウトに伴って単調に減少することが好ましい。これにより、イメージのオブジェクトに関する物性（ｐｈｙｓｉｃａｌｉｔｙ）の感覚がユーザに与えられる。
【０３０２】
前述のスケーリング特徴は、Ａ１高速道路に関するピクセル単位のレンダリングされた線幅に対するメートル／ピクセル単位のズームレベルの、対数の対数グラフである図１４を参照することで、より完全に理解することができる。（ｘ軸上に対数（ｚ）およびｙ軸上に対数（ｐ）をプロットすると、ｌｏｇ（ｘａ）＝ａ・ｌｏｇ（ｘ）の関係により、プロットが直線になるので便利である。）線（道路）幅に対するズームレベルプロットの基本的特徴は、
（ｉ）ズームイン（例えば約０．５メートル／ピクセルまで）した場合、道路幅のスケーリングは、ズームレベルに物理的に比例する可能性があること、
（ｉｉ）ズームアウト（例えば約０．５メートル／ピクセルより上）した場合、道路幅のスケーリングは、ズームレベルに非物理的に比例する可能性があること、および
（ｉｉｉ）さらにズームアウト（例えば、以下でより詳細に説明するパラメータに依存して、約５０メートル／ピクセルより上）した場合、道路幅のスケーリングは、ズームレベルに物理的に比例する可能性があること、
である。
【０３０３】
道路幅のスケーリングがズームレベルに物理的に比例するゾーンに関しては、ｐ＝ｄ’・ｚａのスケーリング公式が採用され、この式ではａ＝−１である。この例では、実際のＡ１高速道路の物理幅に関する妥当な値は、約ｄ’＝１６メートルである。したがって、少なくともある一定のズームレベルｚ０、例えば、ｚ０＝０．５メートル／ピクセルまでズームアウトした場合、Ａ１高速道路を表す線のレンダリング幅は、物理スケーリングに伴って単調に減少する。
【０３０４】
ｚ０＝０．５のズームレベルは、その下に物理スケーリングが適用される内部スケールとなるように選択される。これにより、道路地図が実物理寸法の他の詳細スケールのＧＩＳコンテンツと組み合わされた場合の、非物理的外観を避ける。この例では、１５インチディスプレイ（１６００×１２００ピクセル解像度）上で地図スケールとして表された場合、約１：２６００のスケールに対応する、ｚ０＝０．５メートル／ピクセル、または２ピクセル／メートルである。Ａ１道路に関して妥当な実物理幅であるｄ＝１６メートルでは、レンダリングされる道路は、ズームイン（０．５メートル／ピクセルまたはそれ未満）するとその実サイズであるように表示されることになる。ズームレベル０．１メートル／ピクセルでは、レンダリングされる線は約１６０ピクセル幅である。ズームレベル０．５メートル／ピクセルでは、レンダリングされる線は３２ピクセル幅である。
【０３０５】
道路幅のスケーリングがズームレベルに非物理的に比例するゾーンに関しては、ｐ＝ｄ’・ｚａのスケーリング公式が採用され、この式では−１＜ａ＜０（ズームレベルｚ０からｚ１の間）である。この例では、約ｚ０＝０．５メートル／ピクセルからｚ１＝３３００メートル／ピクセルの間で非物理スケーリングが実行される。ここでも、−１＜ａ＜０の場合、レンダリングされる道路の幅は、ズームアウトの際に比例物理スケーリングよりもゆっくりと減少する。これにより有利には、ズームアウトの際に、Ａ１道路が見えるように維持できる（さらに他の小さな道路と区別できる）。例えば図５に示されるように、Ａ１道路１０２は、ズームレベルｚ＝３３４メートル／ピクセルで見えるように維持され、他の道路と区別できる。Ａ１道路の物理幅がｄ’＝ｄ＝１６メートルであると想定すると、物理スケーリングを使用してレンダリングされる線の幅は約３３００メートル／ピクセルのズームレベルで約０．００５ピクセルとなり、事実上見えないようにレンダリングする。
【０３０６】
しかしながら、−１＜ａ＜０（この例では、ａは約−０．４７３）の非物理スケーリングを使用すると、レンダリングされる線の幅は３３００メートル／ピクセルのズームレベルで約０．８ピクセルであり、はっきり見えるようにレンダリングする。
【０３０７】
ｚ１の値は、所与の道路が依然として「実際よりも大きな」重要度を有する、最もズームアウトされたスケールになるように選択されることに留意されたい。例を挙げると、米国全体が１６００×１２００ピクセルディスプレイ上にレンダリングされる場合、解像度はほぼ３３００メートル／ピクセル、すなわち３．３キロメートル／ピクセルとなる。世界全体を見る場合、米国の高速道路の重要度が国だけの表示に比べて高められると想定する理由はない。
【０３０８】
したがって、上記例では約３３００メートル／ピクセルである、ｚ１より上のズームレベルでは、道路幅のスケーリングはズームレベルに物理的に比例するが、好ましくはｐ（ｚ）の連続性に関するｄ’が大きい（実幅ｄよりもかなり大きい）。このゾーンでは、ｐ＝ｄ’・ｚａのスケーリング公式が使用され、この式でａ＝−１である。ｚ１＝３３００メートル／ピクセルでレンダリングされる道路幅を連続させるために、Ａ１高速道路の新しい帰属物理幅、例えばｄ’＝１．６５キロメートルが選択される。ｚ１およびｄ’の新しい値は、好ましくは、外側のスケールｚ１で線のレンダリング幅は妥当なピクセル数となるように選択される。この場合、ディスプレイ上で国全体が見られるズームレベル（３３００メートル／ピクセル）では、Ａ１道路は、細いが依然としてはっきりと見える約１／２ピクセル幅とすることが可能であり、これは、１６５０メートル、すなわち１．６５キロメートルの帰属物理道路幅に対応する。
【０３０９】
前述の内容により、ズームレベルの関数としてレンダリングされる線幅に関する、以下の特定の等式セットを提案する。
【０３１０】
ｐ（ｚ）＝ｄ０・ｚ−１、ｚ≦ｚ０の場合
ｐ（ｚ）＝ｄ１・ｚａ、ｚ０＜ｚ＜ｚ１の場合
ｐ（ｚ）＝ｄ２・ｚ−１、ｚ≧ｚ１の場合
【０３１１】
上記ｐ（ｚ）の形は、６つのパラメータ、ｚ０、ｚ１、ｄ０、ｄ１、ｄ２、およびａを有する。ｚ０およびｚ１は、ｐ（ｚ）のが変化するスケールをマークする。ズームインゾーン（ｚ≦ｚ０）ではズーミングは物理的（すなわち、ｚの指数は−１）であり、物理幅はｄ０であって、好ましくは実物理幅ｄに対応する。ズームアウトゾーン（ｚ≧ｚ１）でもズーミングは物理的であるが、物理幅はｄ１であり、一般にｄに対応しない。ｚ０からｚ１の間で、レンダリングされる線幅は、−１以外の値とすることが可能なａの指数法則でスケーリングする。ｐ（ｚ）が連続するプリファレンスが与えられた場合、ｄ１およびａを一意に決定するためにはｚ０、ｚ１、ｄ０、およびｄ２を指定すれば十分であり、これは図１４に明確に示されている。
【０３１２】
Ａ１道路に関する前述の手法は、道路地図オブジェクトの他の道路要素にも適用可能である。これらのスケーリング技法をＡ１、Ａ２、Ａ３、Ａ４、およびＡ５の道路に適用する例が、図１５の対数の対数グラフに示されている。この例では、すべての道路についてｚ０＝０．５メートル／ピクセルであるが、コンテキストによっては要素間で異なる可能性がある。Ａ２道路は一般にＡ１道路よりも多少小さく、ｄ０＝１２メートルである。さらにＡ２道路は、例えば米国の州レベルでは「重要」であるため、およそ単一の州のレンダリング解像度（線形スケールでは国の約１／１０）である、ｚ１＝３１２メートル／ピクセルである。このスケールでは、１ピクセルの線幅が望ましいことがわかっているため、ｄ２＝３１２メートルは妥当な設定値である。
【０３１３】
上記で概説したＡ１およびＡ２の道路についての一般的な手法を使用して、道路地図オブジェクトの残りの要素のパラメータを確立することができる。Ａ３道路の場合、ｄ０＝８メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝５０メートル／ピクセル、およびｄ２＝１００メートルである。Ａ４街路の場合、ｄ０＝５メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝２０メートル／ピクセル、およびｄ２＝２０メートルである。さらにＡ５の未舗装道路の場合、ｄ０＝２．５メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝２０メートル／ピクセル、およびｄ２＝２０メートルである。このパラメータ設定値を使用すると、Ａ５の未舗装道路はズームレベルをズームアウトしていくと、より一層街路に類似していくが、ズームインした場合、物理スケールでは半分の幅であることに留意されたい。
【０３１４】
図１５の対数の対数プロットは、道路タイプ別のスケーリング動作の概要である。あらゆるスケールで、見かけの幅はＡ１＞Ａ２＞Ａ３＞Ａ４＞＝Ａ５であることに留意されたい。さらに、未舗装道路を除き、すべての指数法則はａ＝−０．４１付近で生じることにも留意されたい。すべての破線は−１の勾配を有し、異なる物理幅の物理スケーリングを示す。上から下の順に、これらの破線の対応する物理幅は、１．６５キロメートル、３１２メートル、１００メートル、２０メートル、１６メートル、１２メートル、８メートル、５メートル、および２．５メートルである。
【０３１５】
複数の事前レンダリングされたイメージ間の補間が使用される場合、多くのケースで、結果として生じる補間と、物理的および非物理的なスケーリング式によって決定された正しいピクセル幅でのすべての線または他の基本的幾何学的要素の理想的なレンダリングとが、人間の目では区別できないか、またはほとんど区別できないことが保証できる。本発明のこの代替実施形態を理解するために、エイリアス除去（ａｎｔｉａｌｉａｓ）された線を描画する上のいくつかの背景を以下に提示する。
【０３１６】
エイリアス除去された線の描画についての説明は、すべての基本的要素が線であり、線幅は前述のスケーリング式に従う、上記で詳細に説明した道路地図の例に沿って提示していく。図１６Ａを参照すると、線の水平位置がピクセルグリッドと正確に位置合わせされ、単に白い背景上にある１ピクセル幅の黒いピクセルのカラムからなるように、１ピクセル幅の垂直線が白い背景上に黒で描画される。本発明の様々な態様によれば、線幅が非整数ピクセルの場合を考慮し、これに対処することが望ましい。図１６Ｂを参照すると、線の端点は固定したままであるが、線の重みを１．５ピクセル幅まで増加した場合、エイリアス除去されたグラフィックス表示では、中央カラムの左右にあるピクセルのカラムは２５％グレーで描画される。図１６Ｃを参照すると、２ピクセル幅で、これらの側面カラムは５０％グレーで描画される。図１６Ｄを参照すると、３ピクセル幅で、側面カラムは１００％黒であり、結果として、予想通り３つの中実の黒いカラムが生じる。
【０３１７】
ピクセル化されたディスプレイ上に非整数幅の線を描画するためのこの手法は、結果として、線幅の変化に伴う視覚的連続性の感覚（または錯覚）を発生させ、たとえほんのわずかのピクセル数だけ幅が異なる場合であっても、幅の異なる線が明確に区別できるようになる。一般にこの手法は、エイリアス除去された線描画として知られ、描画された線に対する垂直線にわたる強度関数の線積分（または、白い背景上の黒い線の場合、「１強度」関数）が、線幅に等しいことを保証するように設計される。この方法は、端点が正確にピクセルの中心に位置していない線、垂直以外の向きにある線、および曲線に対して、容易に一般化される。
【０３１８】
図１６Ａ〜Ｄのエイリアス除去された垂直線を描画することは、一方（イメージＡ）は線が１ピクセル幅、他方（イメージＢ）は線が３ピクセル幅の、２つのイメージをアルファブレンディング（ａｌｐｈａ−ｂｌｅｎｄｉｎｇ）することによっても実施可能であることに留意されたい。アルファブレンディングは、ディスプレイ上の各ピクセルに、（１−アルファ）＊（イメージＡ内の対応するピクセル）＋アルファ＊（イメージＢ内の対応するピクセル）を割り当てる。アルファがゼロから１の間で変化すると、レンダリングされる線の有効幅は１から３ピクセルの間で平滑に変化する。このアルファブレンディング手法は、最も一般的なケースで、イメージＡおよびＢ内の２つのレンダリングされた線幅間の差異が１ピクセル以下の場合にのみ、良好な視覚的結果を生成し、そうでない場合、線は中間幅にハロー（ｈａｌｏｅｄ）が現れる可能性がある。この同じ手法を、異なる線形サイズの点、多角形、および任意の他の基本的グラフィカル要素のレンダリングに適用することができる。
【０３１９】
図１６Ａ〜Ｄに戻ると、１．５ピクセル幅の線（図１６Ｂ）および２ピクセル幅の線（図１６Ｃ）は、１ピクセル幅の線（図１６Ａ）と３ピクセル幅の線（図１６Ｄ）との間のアルファブレンディングによって構築することができる。図１７Ａ〜Ｃを参照すると、１ピクセル幅の線（図１７Ａ）、２ピクセル幅の線（図１７Ｂ）、および３ピクセル幅の線（図１７Ｃ）が任意の向きで示されている。線がピクセルグリッドと正確に位置合わせされる場合と同じ原理を、図１７Ａ〜Ｃのこの任意の向きに適用するが、良い結果を出すためには、アルファブレンディングされる線幅間の間隔が２ピクセルよりも小さい必要がある。
【０３２０】
この地図の例のコンテキストでは、図１４〜１５の対数の対数プロットを参照して、事前レンダリングに解像度の異なるイメージのセットを選択することができる。例えば次に、図１４とほぼ同様の図１８を参照するが、図１８には水平線と垂直線のセットが含まれる点が異なる。水平線は、１ピクセルずつ増分する１から１０までのピクセル間の線幅を示す。垂直線は、２つの隣接する垂直線間の間隔にわたる線幅が２ピクセル以下ずつ変化するように間隔が空けられる。したがって、垂直線は事前レンダリングに好適なズーム値のセットを表し、２つの隣接するこうして事前レンダリングされたイメージ間のアルファブレンディングは、幅が連続して変化する道路を表す線をレンダリングする場合とほとんど等価の特徴を生み出すことになる。
【０３２１】
図１８に示された垂直線で表される６つの解像度間の補間は、約９メートル／ピクセルおよびそれを超えて示されたスケーリング曲線を使用してＡ１高速道路を正確にレンダリングするのに十分である。約９メートル／ピクセル未満のレンダリングは、こうした表示がかなりズームインされ、表示される道路の数が非常に少ないため、事前レンダリングされたイメージ間を補間するよりも、それらをベクトル的にレンダリングする方が、計算上はより効率的（さらに、データ格納要件に関してもより効率的）になり、事前レンダリングを必要としない。約１０００メートル／ピクセルを超える解像度（こうした表示は、地球の表面の大きな部分を包含する）では、１ピクセル幅の線を使用するレンダリングであるため、最終的な事前レンダリングされたイメージだけを使用することが可能である。単一ピクセルよりも細い線は、同じピクセルをよりかすかにレンダリングする。したがって、Ａ１線が０．５ピクセル幅のイメージを作成するには、１ピクセル幅線のイメージに０．５アルファを掛けることができる。
【０３２２】
実際、解像度間の各間隔にわたって、１ピクセルを超えて変化する図１５のスケーリング曲線がないように、解像度のやや大きなセットが事前レンダリングされる。許容される変化を１ピクセルまで減らすことにより、結果としてレンダリング品質を向上させることができる。とりわけ、企図および説明された（例えば、参照によりその開示全体が本明細書に組み込まれた、２００４年３月１日出願の「SYSTEM AND METHOD FOR EXACT RENDERING IN A ZOOMING USER INTERFACE」という名称の米国特許出願第１０／７９０２５３号（整理番号４８９／２）参照）タイリング技法を、本発明に関連して考慮の対象とすることができる。このタイリング技法は、たとえそのレベルが事前レンダリングされたイメージと一致していない場合でも、特定のズームレベルでイメージを解決するために使用することができる。多少大きな解像度セット内の各イメージが適切な解像度で事前レンダリングおよびタイリングされた場合、その結果は、本明細書に開示されたスケーリング式に従ってすべての線の幅が連続して変化するように見える、任意の複雑さの道路地図を介してズームおよびパンでナビゲーションするための完全なシステムとなる。
【０３２３】
本発明の実施に関連して使用可能な、イメージをブレンドするための他の技法に関する追加の詳細（例えば、参照によりその開示全体が本明細書に組み込まれた、２００３年６月５日出願の「SYSTEM AND METHOD FOR THE EFFICIENT, DYNAMIC AND CONTINUOUS DISPLAY OF MULTI RESOLUTIONAL VISUAL DATA」という名称の米国仮特許出願第６０／４７５８９７号参照）が見られる。本発明の実施に関連して使用可能な、ブレンディング技法に関する他の詳細が、前述の米国仮特許出願第６０／４５３８９７号で見られる。
【０３２４】
有利には、本発明の前述の態様を使用して、ユーザは様々なズームレベルで平滑で連続したナビゲーションの外観を楽しむことができる。さらに、あるレベルから別のレベルにズームする場合、詳細が急峻に出現または消失することがほとんどないかまたはまったくない。これは、最先端技術における大幅な進歩を表す。
【０３２５】
本発明の様々な態様が、インターネットを介した対話型ソフトウェアアプリケーション、自動車対応ソフトウェアアプリケーションなど、多数の製品で適用可能であることが企図される。例えば本発明は、ユーザ要求に応答して地図および走行方向をクライアント端末に提供する、インターネットウェブサイトで使用可能である。代替として、本発明の様々な態様は、自動車内のＧＰＳナビゲーションシステムでも使用可能である。本発明は、医療用イメージング機器に組み込むことも可能であり、これによって、例えば患者の循環系、神経系などに関する詳細な情報を前述のようにレンダリングおよびナビゲートすることができる。本発明の適用範囲は多数あるため、その全体を列挙することはできないが、当業者であれば、それらが本明細書で企図され、請求された本発明の範囲内に入ることを理解されよう。
【０３２６】
本発明は、レンダリングされたイメージが広告およびその他の進歩する取引のための手段を提供する、他の適用範囲に関連して使用することも可能である。本発明のこれらの態様および用途に関連する追加の詳細（参照によりその開示全体が本明細書に組み込まれた、本明細書と同日出願の「METHOD AND APPARATUS FOR EMPLOYING MAPPING TECHNIQUES TO ADVANCE COMMERCE」という名称の米国仮特許出願第６０／            号（整理番号４８９／７）参照）も見られる。
【０３２７】
本明細書では、特定の実施形態を参照しながら本発明について説明してきたが、これらの諸実施形態は本発明の原理および適用範囲を単に例示したにすぎないことを理解されよう。したがって例示的な諸実施形態には、添付の特許請求の範囲によって定義された本発明の趣旨および範囲を逸脱することなく、多数の修正が可能であること、および他の配置構成が考案可能であることを理解されよう。
【０３２８】
2007529786.tif 000019
【０３２９】
2007529786.tif 000020
【０３３０】
2007529786.tif 000021
【０３３１】
2007529786.tif 000022
【０３３２】
2007529786.tif 000023
【０３３３】
2007529786.tif 000024
【０３３４】
2007529786.tif 000025
【０３３５】
2007529786.tif 000026
【０３３６】
2007529786.tif 000027
【０３３７】
2007529786.tif 000028
【０３３８】
2007529786.tif 000029
【０３３９】
2007529786.tif 000030
【０３４０】
2007529786.tif 000031
【０３４１】
2007529786.tif 000032
【０３４２】
2007529786.tif 000033
【０３４３】
2007529786.tif 000034
【０３４４】
2007529786.tif 000035
【０３４５】
2007529786.tif 000036
【０３４６】
大規模テキスト、メタデータ、および他の整合的にアクセスされた非イメージデータを空間的に符号化するための方法
【０３４７】
近年、超大容量（すなわちギガピクセルサイズ）のイメージを、サーバからクライアントへ低帯域幅の通信チャネルを介して増分的にまたは選択的に送達可能にするという、要求の厳しい技術目標を満たすために、ＪＰＥＧ２０００／ＪＰＩＰ（例えばDavid Taubman's implementation of Kakadu, www.kakadusoftware.comを参照のこと。ＴａｕｂｍａｎはＪＰＥＧ２０００  ＩＳＯ標準委員会に在籍していた。）などのイメージ圧縮標準が導入されてきた。こうしたイメージを最大解像度で表示する場合、常に制限された領域クライアントしかグラフィカルディスプレイに収めることができないため、新しい標準は、こうした領域に選択的にアクセスし、その領域に関連するデータのみを通信チャネルを介して送信することを目的としている。この「対象領域」すなわちＲＯＩが連続的に変化する場合、低帯域幅チャネルを介したクライアントとサーバとの間の連続ダイアログは、ＲＯＩ内の領域のクライアント表現を正確に維持し続けることができる。
【０３４８】
最も単純な例として、例えば大規模テキストであるＪａｍｅｓ  Ｊｏｙｃｅのユリシーズを想像してみる。このテキストは、各章を独自の列に入れ、これらの列を章の順序で左から右へと配列することによってフォーマット化することができる。列は、例えば１００などの文字単位の最大幅を有するものと想定される。図２は、この様式でイメージとして符号化したユリシーズのテキスト全体を示し、各テキスト文字は単一ピクセルに対応する。図１のピクセル輝度（ｉｎｔｅｎｓｉｔｙ）値は、単に対応する文字のＡＳＣＩＩコードである。グレースケールピクセルおよびＡＳＣＩＩ文字の両方が８ビット（値０〜２５５）に収まるため、ピクセル値と文字との間の対応は非常に自然である。通常のＡＳＣＩＩ表現（すなわち．ｔｘｔファイルとして）でのユリシーズの全テキストは１．５ＭＢであり、これは全体として狭帯域通信チャネルを介して伝送するには大きすぎる可能性がある。可逆式ＪＰＥＧ２０００として符号化された図１のＡＳＣＩＩテキストイメージは、２．２ＭＢである。このサイズは、本の章がより等しい長さであれば多少減ることになるが、結果としてテキストイメージ内の空きスペース（ゼロとして符合化される）は少なくなる。しかしながら、全体のファイルサイズよりもさらに重要なのは、通常のＪＰＩＰサーバがこのファイルをクライアントに選択的および増分的に提供する機能である。文字が読めるのに十分なズームレベル（これには、クライアント側ディスプレイで１ピクセル／文字をはるかに上回る必要がある）でテキストを表示している任意のクライアントは、ＪＰＩＰを使用して、テキストの関連部分のみを要求することができる。この操作は効率的であり、テキスト全体をダウンロードすることを禁止する条件の下で、たとえサーバへの接続がかなり低帯域幅であっても、テキストの読者に対する適切なパフォーマンスが達成できる。
【０３４９】
特に大規模テキストへの選択的アクセス用に設計されたクライアント／サーバ技術を使用しても、同様の効果が達成できるが、（本発明者等が呼ぶような）テキストイメージ手法には、
超大容量向けに設計された既存の技術およびプロトコルを使用すること、
いかなる性能の低下もなしに、テキストをギガバイトサイズに容易にスケールアップすること、
アクセスが本来２次元であるため、この手法は、多くの状況（例えば、ユリシーズの場合のようにテキストが列単位で表示される場合）で、テキストを１次元文字列として扱う手法よりも効率的であること、
ＪＰＥＧ２０００ではウェーブレットが使用され、テキストは多重解像度で表現されるため、最終（最も詳細な）解像度以外でテキストを読むことはできないが、低解像度ウェーブレットの広域空間サポートが、対象となる領域付近のテキストにインテリジェントなクライアント側キャッシュを提供し、スクロール中のＲＯＩの移動は非常に効率が良いこと
という、従来の実施に勝るいくつかの利点があることに留意されたい。
【０３５０】
ユニコードまたは他のメタデータはすべて、場合によってはエスケープシーケンスが埋め込まれたＡＳＣＩＩテキスト文字列を使用して表現可能であるため、この手法をフォーマット化されたテキストに拡張することで、こうしたデータは単純になる。
【０３５１】
多くのアプリケーションでは、ＪＰＥＧ２０００は、復号化されたイメージのバイト数がオリジナルのバイト数と必ずしも同一でないことを意味する、不可逆式圧縮形式として使用される。イメージバイトがテキストを表す場合、不可逆式圧縮が許容できないことは明らかである。しかしながら、ＪＰＥＧ２０００の設計目標の１つは、イメージングコミュニティのある特定の分野（例えば医療および科学）で重要な、可逆式圧縮を効率良くサポートすることであった。写真イメージの可逆式圧縮率は、通常、２：１程度しかないが、これに対して視覚的に許容可能な不可逆式イメージは、通常、２４：１で容易に圧縮できる。
【０３５２】
不可逆式および可逆式のどちらのイメージ圧縮も、空間的連続性が良好なイメージ上で最も良く動作するが、これは隣接するピクセルの輝度値間の相違が最小であることを意味する。未加工ＡＳＣＩＩ符合化は、この観点からすると明らかに最適とは言えない。符号化を向上させる非常に単純な方法の１つが、テキスト内または単に英語内で文字を頻度によって最上位から最下位へ並べ替えることであり、コード０は空きスペースのまま、コード１はスペース文字、コード２より先はｅ、ｔ、ａ、ｏ、ｉ、ｎ、ｓ、ｒ、ｈ、ｌなどとなる。図２および図３では、テキストイメージとＡＳＣＩＩ符合化およびこの種の文字頻度符合化とを比較する。ピクセル値がゼロ付近に集まることは明らかであり、少なくとも重要なことには、１つの文字と次の文字との間の相違が大幅に減少する。この頻度符合化テキストイメージが可逆式でＪＰＥＧ２０００として圧縮された場合、ファイルサイズは１．６ＭＢであり、未加工ＡＳＣＩＩテキストファイル（１．５ＭＢ）よりもわずかに大きく、ＡＳＣＩＩ符合化テキストイメージよりも３７％小さい。さらに文字符合化の最適化を行うと、圧縮されたファイルサイズはＡＳＣＩＩテキストファイルサイズよりもはるかに小さくすることができる。さらなる最適化には、
符号化を発展させるために、単なる頻度（マルコフ−０）の代わりに、文字遷移確率（マルコフ−１）を使用すること、
文字それ自体ではなく、１つの文字と次の文字との間のデルタまたは相違をピクセルとして符号化すること
が含まれるが、これらに限定されることはない。
【０３５３】
これらの追加の最適化を使用すると、サーバ側でこの様式で処理される状態にあるテキストが、実際には未加工ＡＳＣＩＩに関して圧縮されるという利点が、前述の利点に加えられる。
【０３５４】
新しい発明について、選択的イメージ伸張技術としてのＪＰＥＧ２０００／ＪＰＩＰのコンテキストで本明細書に論じるが、本発明に関するいかなる内容もその特定の形またはプロトコルに限定されることはない。例えば、ＬｉｚａｒｄＴｅｃｈのＭｒＳＩＤ形式およびプロトコルは同様の特性を有し、同様に動作する。
【０３５５】
2007529786.tif 000037
【０３５６】
2007529786.tif 000038
【０３５７】
2007529786.tif 000039
【０３５８】
地理情報または他のベクトルデータをイメージとして符合化および処理するための方法
【０３５９】
近年、超大容量（すなわちギガピクセルサイズ）のイメージを、サーバからクライアントへ低帯域幅の通信チャネルを介して増分的にまたは選択的に送達可能にするという、要求の厳しい技術目標を満たすために、ＪＰＥＧ２０００／ＪＰＩＰ（例えばDavid Taubman's implementation of Kakadu, www.kakadusoftware.comを参照のこと。ＴａｕｂｍａｎはＪＰＥＧ２０００  ＩＳＯ標準委員会に在籍していた。）などのイメージ圧縮標準が導入されてきた。こうしたイメージを最大解像度で表示する場合、常に制限された領域クライアントしかグラフィカルディスプレイに収めることができないため、新しい標準は、こうした領域に選択的にアクセスし、その領域に関連するデータのみを通信チャネルを介して送信することを目的としている。この「対象領域」すなわちＲＯＩが連続的に変化する場合、低帯域幅チャネルを介したクライアントとサーバとの間の連続ダイアログは、ＲＯＩ内の領域のクライアント表現を正確に維持し続けることができる。
【０３６０】
本発明は、以前の出願である、別紙Ａとして添付された（１）大規模テキスト、メタデータ、および他の整合的にアクセスされた非イメージデータを空間的に符号化するための方法、ならびに別紙Ｂとして添付された（２）イメージをナビゲートするための方法および装置で紹介された方法を組み合わせて拡張したものである。（２）では、連続するマルチスケールの道路地図レンダリングの概念が紹介された。（２）の発明の基本は、解像度が異なる道路地図または他のベクトルベース図の事前レンダリングされたイメージの「スタック」であり、視覚要素のカテゴリ（例えば、高速国道、高速州道、および地方道路を含む、道路のクラス）が、異なる解像度の異なる視覚重みでレンダリングされる。クライアント／サーバの対話時に、これらイメージのうちの複数の対応する領域がダウンロードされ、クライアントのディスプレイがこれら領域を混合した組合せを表示し、この混合係数および混合されるイメージ解像度の選択は、ズームスケールに依存する。最終的には、クライアント側のユーザが、ズームスケールを変更すると道路カテゴリが出現または消失するようないかなる視覚的な不連続性も体験することなく、連続的にズームおよびパンをしながら、大規模地図（例えば米国内のすべての道路）をナビゲートできる結果となる。むしろ、あらゆるスケールで最も関連するカテゴリが強調され、例えば国全体を表示するためにズームアウトされた場合、最大の高速道路を明瞭に際立たせるように強力に重み付けされるが、州レベルでは、２次高速道路も十分明瞭に見えるように強力に重み付けされる。ユーザが、最も詳細な事前レンダリングされたイメージが使用される地点までズームインした場合、すべての道路は明瞭に見え、地理情報データに関する好ましい実施形態では、すべての要素はそれらの物理的に正しいスケールに近いスケールで表示される。これらの最も詳細な事前レンダリングされたイメージの妥当な最高解像度は、約１５メートル／ピクセルとすることができるが、ユーザの見地からすると、さらにズームインできることが望ましい。より詳細な事前レンダリングは、第１に、サーバ側のファイルサイズが法外に大きくなるため（１５メートル／ピクセルでの単一のＵｎｉｖｅｒｓａｌ  Ｔｒａｎｓｖｅｒｓｅ  Ｍｅｒｃａｔｏｒゾーンイメージは、すでにギガピクセル域の可能性がある）、第２に、事前レンダリングされたイメージは、通常は高解像度道路地図レンダリングに関連付けられるこのような非常に疎な白黒データには効果がないため、および第３に、クライアントは静的視覚提示を超えたコンピュータタスクを実行するために、「実」ベクトルデータを必要とする可能性があるため、といういくつかの理由から、望ましくない。例えばルートガイダンスシステムは、ある道路をハイライト表示するか、またはその色を変更することが可能であり、これは事前レンダリングされたイメージだけの場合とは対照的に、クライアントがベクトルデータにアクセスできる場合のみ、クライアント側で実行することができる。ベクトルデータは、街路名、住所、および、クライアントが選択的にレイアウトおよびレンダリングするための柔軟性を持たなければならない他の情報も含むことができ��。街路名ラベルが正確な場所およびクライアントビューのスケールに応じて異なる場所およびサイズで描画されなければならないため、これらのラベルが地図イメージスタックに事前レンダリングすることは明らかに望ましくなく、ユーザのズームに応じて、異なるラベルレンダリングを１つの他の表現に混合すべきではない。こうしたデータの事前レンダリングはまた、フォントに関するいかなる柔軟性も除去してしまうことになる。
【０３６１】
要約すると、ベクトルデータ（この用語は、幾何学的情報および地名などの他の情報のどちらを指す場合にも総称的に使用する）は、それ自体クライアントにとって重要であると共に、所望のレンダリング解像度が高い場合は事前レンダリングされたイメージよりもより効率的な情報の表現でもある。しかしながら、広い地域を低解像度でレンダリングする場合、ベクトルデータは法外に大きく複雑になる可能性があり、事前レンダリングされたイメージの方が効率的な表現となることに留意されたい。しかしながらたとえ低解像度であっても、主要高速道路の名前など、ベクトルデータのサブセットの一部は必要である。
【０３６２】
本発明は、（１）で紹介された方法を、場合によっては（２）の事前レンダリングされたイメージと共に、空間ベクトルデータを選択的かつ増分的に符号化してクライアントに伝送できるように拡張する。従来技術を使用する場合、これは地理情報データベースを使用して実施された。データベースは、空間的にインデックス付けされたすべての関連ベクトルデータを含む必要がある。こうしたデータベースは多くの実施上の問題点を提示する。ここでは、ベクトルデータを符号化および処理するために、従来のデータベースを使用する代わりに、ＪＰＥＧ２０００／ＪＰＩＰによってサポートされているような空間的にアドレス可能なイメージを使用する。
【０３６３】
本発明者等の例示的実施形態では、それぞれ８ビット深さで地図データを表すために３つのイメージまたはチャネルが使用され、
事前レンダリングされたレイヤーは、（２）の通り、道路地図の事前に計算されたリテラルレンディションであり、
ポインタレイヤーは、それらを参照するか、通常は交差する道路地図フィーチャの位置に、またはその非常に近くに配置された、２＊２ピクセルブロックからなり、
データレイヤーは、それらを参照する２＊２ポインタの中心に配置されるかまたはその近くに位置付けられた、ｎ＊ｍピクセルブロックからなる。
【０３６４】
これら３つのチャネルは同じサイズであり、相互に位置決めされているため、異なるカラー（コンピュータディスプレイ上ではレッド、グリーン、ブルー、または印刷媒体にはシアン、マゼンタ、イエロー）でオーバレイして単一のカラーイメージを作成することができる。こうしたイメージは図２〜３で再作成される。図１は、比較および方向付けのために事前レンダリングされたレイヤーのみを示す。図示された領域は、シアトルおよび多くの近郊を含むワシントン州のキング郡である。図３ａおよび３ｂは、それぞれ地図の都市および近郊地域からのクローズアップである。
【０３６５】
2007529786.tif 000040
【０３６６】
2007529786.tif 000041
【０３６７】
2007529786.tif 000042
【０３６８】
2007529786.tif 000043
【０３６９】
ユーザが図３ａに示された地図のビューをナビゲートする場合、図に示されるように、クライアントは３つのイメージレイヤーすべての関連部分をサーバに要求する。事前レンダリングされたレイヤー（イエローで表示）は、現状のままスクリーンに表示された３つのうちの１つだけである。他の２つは、ベクトルデータを特定する。ポインタイメージは、２×２ピクセルグリッド上に整列した２×２ピクセルブロックからなり、それぞれが、それ自体の場所からデータレイヤー内の対応するデータブロックの始まり（左上隅）までの（ｘ，ｙ）ベクトルオフセットを（それぞれが１６ビットの整数、したがってそれぞれが２ピクセルを有する、ベクトルのｘおよびｙ構成要素を使用して）特定する。対応するデータブロックは、データブロックの幅および高さを特定する２つの１６ビット値（４ピクセル）から始まる。幅が第１に特定され、少なくとも２であるように制約されるため、幅および高さを読み取る際のあいまいさが避けられる。残りのデータブロックは、ベクトル、テキスト、または他の情報の任意の組合せを含むことが可能な２進データとして扱うことができる。図２〜３の例では、データブロックは街路名、住所範囲、およびベクトル表現を含む街路地図情報を含む。
【０３７０】
事前レンダリングされたレイヤーとまったく同様に、ポインタおよびデータのレイヤーが事前に計算される。ポインタおよびデータレイヤーに関する事前計算は、関連するベクトルデータのすべてをデータブロックに符号化すること、およびポインタおよびデータブロックの両方をできる限り効率的にそれぞれのイメージにパッキングすることからなる。農村部または疎な近郊地域（図３ａを参照）では、フィーチャは適度に分離する傾向があり、結果としてポインタおよびデータイメージ内には大規模な空き領域が生じることになる。ポインタが発生する場合、それらが参照するフィーチャ上に正確に位置し、それらの対応するデータブロックは、しばしばそのポインタの中心に正確に配置される。しかしながら密集した都市部（図３ｂを参照）では、ポインタおよびデータブロックに関するフィーチャがしばしば互いに近すぎて収まらない。したがって、矩形パッキングアルゴリズムを使用して、ポインタおよびデータブロックをできる限り所望の位置の近くに重複することなく配置するように試みることが必要である。その結果は図３ｂで明らかであり、シアトル近くの湖および海岸には、陸地のフィーチャに対応するデータブロックが充填される。すべての都市部は、より疎な領域（近郊、山地、または水域）に囲まれているため、都市データブロックを地図上のどこかに配置することが常時可能であり、一般に、密集都市内であっても、この「過剰」が過度に重大でない空きスペースが十分にある。過剰の割合が高いほど、地図のベクトルデータは適切に局在することになる。過剰は、データレイヤーイメージの解像度が上昇するにつれて急激に減少し、効率および非局所性のバランスが適切に取れている解像度を見つけることが常時可能である。北アメリカでは、１５ｍ／ピクセルが適度な選択であると見られる。これは農村部では「過度」であるが、都市近郊では図２および３ｂに示されるように過剰が制限される。
【０３７１】
効率の良い矩形パッキングは、計算上は困難な問題であるが、これを解決するために、計算幾何学文献には多数の近似アルゴリズムがあり、本発明はこれらのうちのいずれか特定の１つを規定しない。実際に使用されるアルゴリズムには、
所与の矩形がすでにツリー内にある任意の他の矩形と交差するかどうかをテストすること、
非重複矩形を挿入すること、
ターゲットポイントｐを中心とする半径ｒ０＜＝ｒ＜ｒ１の円内に「空きコーナー」（すなわち、空きスペースに隣接するすでに挿入された矩形と接するコーナー）の完全なセットを見つけること
という、操作を迅速にする階層状の「矩形ツリー」が含まれる。
【０３７２】
ターゲットポイントのできる限り近くに新しい矩形を挿入するために使用される「貪欲アルゴリズム」は、以下のように進行する。
【０３７３】
ターゲットポイントを中心に矩形を挿入するよう試みる。これが成功した場合、アルゴリズムは終了する。
【０３７４】
成功しなかった場合、半径ｒ０が矩形の最大の長さまたは幅の半分、およびｒ１＝ｒ０＊２となるように、定義する。
【０３７５】
ｒ０とｒ１との間のすべての「空きコーナー」を見つけ、増加半径順にソートする。
【０３７６】
これら各コーナーに矩形を順に配置するよう試み、成功するとアルゴリズムは終了する。
【０３７７】
試みた挿入がどれも成功しなかった場合、ｒ０をｒ１に設定し、ｒ１を２＊ｒ０に設定して、ステップ３に進む。
【０３７８】
このアルゴリズムは、少なくとも正確な寸法の空きスペースがイメージ内のどこかに存在する場合、常に矩形の最終的な配置に成功する。これは、１回に１つの矩形を配置するという意味で「貪欲」であり、ｎ個の矩形をできる限り効率良くパッキングするという全体論的な問題を解決しようと試みることはない。（全体論的アルゴリズムは、無駄なスペースを最小にすることと、矩形とそれらの「ターゲットポイント」の間の距離を最小にすることとの間の、所望なトレードオフを特定する、パッキング効率の明示的測度を定義することが必要となる。貪欲アルゴリズムは、前述のアルゴリズムの説明から明らかなように、このトレードオフを明示的に特定する必要がない。）
図４は、３つのケースの基本パッキングアルゴリズムの出力を実証する。それぞれのケースで、アルゴリズムはいくつかの矩形を共通ポイントのできる限り近くに順に配置した。矩形パッキング問題に対するこのソリューションは、単なる一例として提供されている。
【０３７９】
2007529786.tif 000044
【０３８０】
地図のいかなる特定の領域にも配置プリファレンスを与えることのない貪欲パッキングアルゴリズムの場合、矩形挿入の順序をランダムにすることが望ましい。したがって好ましい実施形態では、ポインタ／データブロックはランダムな順序で挿入される。他の順序付けにより、ある環境ではパッキング効率がさらに向上する場合があり、例えば、小さなブロックよりも大きなブロックを先に挿入することにより、無駄なスペースを最小限にすることができる。
【０３８１】
ポインタは常に２×２（表記法は行×列）であるが、データブロックの場合、データブロックのアスペクト比の選択は自由であり、正方ピクセル内の必要なブロック領域はブロック内に収まらなければならないデータ量によって決定されるが、この領域を多くの異なる形状の矩形に納めることはできない。例えば、２４バイトデータブロック（幅および高さ情報の４バイトと、任意データの２０バイト）は、１×２４、２×１２、３×８、４×６、６×４、８×３、または１２×２として正確に表すことができる。（前述のように、クライアント側でブロック寸法がわかる前に２バイト幅が復号化されるために、ブロック幅は少なくとも２でなければならないため、２４×１は不適格である。）ブロックは、１バイトを残して、「５×５」として表すこともできる。前述のすべての因数分解のセットは、近似因数分解５×５に加えて、「上限因数分解」とも呼ばれる。有効な上限因数分解に関する要件は、その領域が少なくとも必要な領域であること、および全体が活用されていない行または列がないことであり、例えば７×４または３×９は、それぞれ６×４および３×８に削減できるので、無効な上限因数分解である。最も単純な実施では、ブロックの寸法はデータ長さの上限因数分解のみに基づいて選択することが可能であり、一般に「平方」ブロック（４×６など）の方が、斜角ブロック（２×１２など）よりも適切にパッキングする。よって最も単純なデータブロックサイジングアルゴリズムは、「どれだけ正方形に近いか」と無駄になるバイトとをどのようにトレードオフするかに応じて４×６または５×５のいずれかを選択することになる。より高度なブロックサイズ選択アルゴリズムは、ブロックの寸法を、ターゲットポイント近くの空きスペース探索の一部として適応的に選ぶことができる。一実施形態では、前述のアルゴリズムのステップ１および４が以下のように修正される。
【０３８２】
必要なデータ長さの上限因数分解を、平方因数分解に関するプリファレンスおよび場合によっては無駄になるバイトに関するペナルティを伴う望ましさの順にソートする。各上限因数分解によって得られた寸法の矩形を、ターゲットポイントｐに配置するよう試みる。これらのうちいずれかの挿入が成功した場合、アルゴリズムは終了する。
【０３８３】
各「空きコーナー」ｃについて、各上限因数分解によって得られた寸法の矩形をｃに配置するよう試みる。成功するとアルゴリズムは終了する。
【０３８４】
このアルゴリズムのさらなる改良点には、全体論的最適化機能、無駄になるスペースとのトレードオフ、非正方形のアスペクト比、およびターゲットポイントからの距離の場合と同様、挿入に関する採点機能の規定が含まれる。
【０３８５】
事前レンダリングされた道路、ポインタ、およびデータの３つの地図レイヤーは、それぞれＪＰＥＧ２０００または同様の空間的にアクセス可能な表現として格納される。しかしながら、３つのレイヤーの格納要件は異なる。事前レンダリングされた道路レイヤーは可逆式である必要はなく、表示される場合の適度な知覚正確さを有することのみが必要である。１５ｍ／ピクセルでは、０．５ビット／ピクセルの不可逆式ウェーブレット圧縮が完全に適切であることがわかった。しかしながら、ポインタおよびデータレイヤーは、クライアントが正確に再構築できなければならないデータを含んでいる場合、可逆式で表現されなければならない。可逆式圧縮は、通常、あまり効率的ではなく、例えば典型的なデジタルイメージは、通常は最高でも２分の１を超えて可逆式で圧縮することはできない。
【０３８６】
不可逆式または可逆式のいずれかの圧縮のほとんどの形では、イメージ機能を小型化し、有効ビットの占有をよりわずかにすることによって、性能を最適化することができる。したがって、いくつかの実施形態では、特別な符号化技法を使用してオリジナルデータが「平坦化」される。これらの技法の成果は図５に表されており、同じ人口密度のデータイメージ領域の平坦化以前および以後が示されている。平坦化以前のデータイメージは全８ビットの動的領域を有し、圧縮をかなり不十分にする（実際、このイメージの可逆式ＪＰＥＧ２０００は、オリジナルの未加工サイズよりも小さくはない）高周波数および構造化パターンを示すことに留意されたい。「平坦化」後はほとんどの構造が失われ、大部分のピクセルは値＜８を有するため、３ビットに収まる。対応するイメージのＪＰＥＧ２０００は、３：１圧縮よりも良好である。「平坦化」は、以下（これは、図５の例で適用された変換の完全なリストである）を含む、いくつかの単純なデータ変換で構成することができる。
【０３８７】
通常、データブロックの幅または高さなどの１６ビットの符号なしの値が、上位バイトおよび下位バイトを使用して符号化されることになる。値が時として２５５をある不特定量だけ超える（８ビット制限）ため、１６ビットが必要となる場合があるが、ほとんどのケースでは、これらの値は小さい。８ビットに収まる値の場合、上位バイトはゼロとなる。頻出ゼロ上位バイトに続く有効な下位バイトは、図５ａの一部に定期的に現れる２ピクセルの大半に反映される。以下のように、１６ビットを再マッピングすることができる。
【０３８８】
【表５】
2007529786.tif 000045
【０３８９】
左側８列は以前上位バイトであった第１のピクセルペアを表し、右側８列は以前下位バイトであった第２のピクセルを表す。この方法でビットを再分散することにより、アクセス可能な値の範囲（０〜６５５３５）は変更されないままであるが、２つのバイトはより対称的になる。例えばすべての１６ビット値０〜２５５について、２つのバイトはそれぞれ値＜１６であると想定される。
【０３９０】
同様の技法が、３２ビットまたはそれより大きい整数値に適用される。これらの技法は、符号付き量にも拡張可能である。道路ベクトルの差動符合化に対して発生するような、符号が頻繁に変化する変数の場合、符号ビットを位置０に割り当て可能であり、前述のような交番バイトで絶対値が符号化される。納得できるように描画するために、道路ベクトルデータはピクセル精度よりもしばしば大きく表すことができることに留意されたい。ピクセルよりも小さい任意の単位を使用するか、またはそれと同等に、前述の技法と組み合わせて固定小数点を使用してサブピクセル精度を実施することが可能である。例示的実施形態では、１／１６ピクセル精度に対して４サブピクセルビットが使用される。
【０３９１】
前述のように数値が符合化される場合、数値をできる限り小さくすることが望ましい。時には状況によって、これを実行するための明確な方法が提案され、例えば、任意のデータブロックの幅は少なくとも２でなければならないため、符合化する前にデータ幅から２を減じる。さらに重要なことに、データブロック内に符号化されたポインタおよび任意の位置ベクトルの両方が、絶対座標ではなくポインタ位置に対してピクセルで特定される。これにより、符号化する数値の量が大幅に削減されるだけでなく、データイメージの一部が復号化され、この部分の絶対位置に関係なくローカル座標系内でベクトル的にレンダリングできるようにもなる。
【０３９２】
曲線（例えば道路）を定義する一連のポイントのベクトルレンダリングの場合、最初のポインタ位置に対して第１のポイントを特定するだけでよく、その後のポイントは、「デルタ」または前のポイントからのステップベクトルとして符号化することができる。こうした第２のポイントの後、後続ポイントは第２の導関数または現在のデルタと前のデルタとの差異として符号化することができる。第２の導関数を使用する符合化は、一般にこうした道路などの構造に有効であるが、それはこれらの構造が導関数の連続する曲線の離散化となる傾向にあるためであり、すなわちその方向を徐々に変化させる。
【０３９３】
バイトあたり１文字の、通常はＡＳＣＩＩとして符号化されるテキストデータで使用するための他の「平坦化」技法は［１］で説明される。［１］で説明される応用例では、英語のテキストが符合化されているため、文字は、英語の表現サンプル内での文字出現減少頻度に基づいて再マッピングされる。同じ技法をこの文脈でも使用することができるが、地図中で符号化されたほとんどが街路名からなるテキストは、通常の英語とはまったく異なる統計値を有する。例えば数字および大文字はさらに顕著である。
【０３９４】
前述のようなポインタまたはデータを符号化するための特定の方法は例示的であって、多くの他の符合化も可能であることに留意されたい。「適切な」符合化の結果、一般に、平滑である、ならびに／あるいは、低い動的領域を有することになる。
【０３９５】
2007529786.tif 000046
【０３９６】
前述の技法を使用して、キング郡の道路地図を１５ｍ／ピクセルで、以下のように圧縮する。
【０３９７】
【表６】
2007529786.tif 000047
【０３９８】
驚くべきことに、ＪＰＥＧ２０００表現（不可逆式事前レンダリングされた道路地図イメージ、可逆式ポインタレイヤー、および可逆式データレイヤーを含む）は、実際にはオリジナルデータを表テキストとして表す圧縮済みＺＩＰファイルよりも小さい。（このファイルは、米国国勢調査局の２００２  ＴＩＧＥＲ／Ｌｉｎｅデータベースの一部である。）しかしながら、オリジナルＺＩＰとは異なり、新しい表現は、連続的なパンおよびズームが可能な空間的アクセスを効率的にサポートしながら、いつでも対話形式でクライアントに提供できる。
【０３９９】
［２］で紹介されるオリジナルの事前レンダリングされたマルチスケール地図の発明は、単一の事前レンダリングされたイメージではなく、漸次より粗い解像度で、ライン（または他の可視フィーチャ）の重みをスケール変更しながらレンダリングされた、こうしたイメージのスタックを含んでいた。これらのいかなる事前レンダリングからもフィーチャが省略されることはないが、いくつかのフィーチャは集合の意味でのみ明確に見えるよう十分に強調解除され、例えば、都市の地方道路は州規模レベルではかすかに灰色でぼやけて見える。本発明は、オリジナルのベクトルオブジェクトのサブセットのみが表される、より粗い事前レンダリングされた道路地図イメージに対応するポインタおよびデータイメージを含むように拡張することができる。例えば、図１〜３よりもかなり低解像度である州規模のポインタおよびデータイメージは、すべての地方道路を除外した高速国道および高速州道に関するデータのみを含む可能性がある。これらのより粗いデータは、例えばベクトルではなく道路名のみを特定する「抄録」とすることもできる。解像度の異なるイメージは、オリジナルデータの変化する混合物またはサブセット、あるいは抄録化バージョンを含むこともできる。この技法は、すべての関連データをより小さな粗いイメージに収めることが可能であると同時に、そのスケールでのナビゲーションに関連したベクトル情報のサブセットもクライアントに提供する。
【０４００】
前述の実施形態ではあらゆる解像度での８ビットグレースケールの事前レンダリングされた地図イメージを提案したが、事前レンダリングされたイメージはカラーとすることもできる。さらに事前レンダリングされたイメージは、ベクトルデータを使用して重要な道路を事前レンダリングされた材料と異なるカラーで描画することができるため、たとえ単一チャネルイメージであっても、クライアントによってカラーで表示することが可能である。最終的に事前レンダリングされたイメージは、イメージおよびベクトル材料を適切に合成するクライアントに依拠して、ベクトルデータに存在するある一定のフィーチャまたは道路を省略することができる。
【図面の簡単な説明】
【０４０１】
【図１】本発明の１つまたは複数の実施形態に従った、データブロックを記述するために好適な複数のフィーチャを含む道路地図イメージの事前レンダリングされたレイヤーを示す図である。
【図２】本発明の１つまたは複数の実施形態に従った、図１の道路地図と、低集中の道路セグメントを有する領域内のそれぞれの道路セグメントに対応するポインタおよびデータブロックとを示す図である。
【図３】本発明の１つまたは複数の実施形態に従った、主要道路を備えた複数の道路に属する道路セグメントの集中セット、ならびに、高集中の交差点を有する領域内の道路セグメントに対応するポインタおよびデータブロックを示す図である。
【図４】本発明の１つまたは複数の実施形態に従った、３つのケースに関する貪欲矩形パッキングアルゴリズムのテスト出力を示す図である。
【図５Ａ】本発明の１つまたは複数の実施形態に従った、バージン諸島の道路地図データイメージの密集地域から平坦化前に取り出した２進数８ビットデータのイメージを示す図である。
【図５Ｂ】本発明の１つまたは複数の実施形態に従った、バージン諸島の道路地図データイメージの密集地域から平坦化後に取り出した２進数８ビットデータのイメージを示す図である。
【図６】本発明の１つまたは複数の実施形態に従った、２次元ポインタベクトルをヒルベルト曲線に沿って１次元距離ｄにマッピングするための、１次ヒルベルト曲線を示す図である。
【図７】本発明の１つまたは複数の実施形態に従った、２次元ポインタベクトルをヒルベルト曲線に沿って１次元距離ｄにマッピングするための、２次ヒルベルト曲線を示す図である。
【図８】本発明の１つまたは複数の実施形態に従った、２次元ポインタベクトルをヒルベルト曲線に沿って１次元距離ｄにマッピングするための、３次ヒルベルト曲線を示す図である。
【図９】本発明の１つまたは複数の実施形態に従った、２次元ポインタベクトルをヒルベルト曲線に沿って１次元距離ｄにマッピングするための、４次ヒルベルト曲線を示す図である。
【図１０】本発明の１つまたは複数の実施形態に従った、２次元ポインタベクトルをヒルベルト曲線に沿って１次元距離ｄにマッピングするための、５次ヒルベルト曲線を示す図である。
【図１１】本発明の１つまたは複数の実施形態に従って使用するための、４ピクセル×４ピクセルサイズのデータブロックを組み込む、米国バージン諸島のうちの１つのイメージを示す図である。
【図１２】本発明の１つまたは複数の実施形態に従って使用するための、６ピクセル×６ピクセルサイズのデータブロックを組み込む、米国バージン諸島のうちの１つのイメージを示す図である。
【図１３】本発明の１つまたは複数の実施形態に従って使用するための、８ピクセル×８ピクセルサイズのデータブロックを組み込む、米国バージン諸島のうちの１つのイメージを示す図である。
【図１】
2007529786.tif 000048
【図２】
2007529786.tif 000049
【図３】
2007529786.tif 000050
【図４】
2007529786.tif 000051
【図５Ａ】
2007529786.tif 000052
【図５Ｂ】
2007529786.tif 000053
【図６】
2007529786.tif 000054
【図７】
2007529786.tif 000055
【図８】
2007529786.tif 000056
【図９】
2007529786.tif 000057
【図１０】
2007529786.tif 000058
【図１１】
2007529786.tif 000059
【図１２】
2007529786.tif 000060
【図１３】
2007529786.tif 000061
【国際調査報告】
2007529786.tif 000062