(57)【要約】  プロキシサーバによってインターネットサイトにアクセスすることと、インターネットサイトからのイメージデータを複数解像度表現に変換することと、複数解像度表現のイメージデータをクライアントデバイスに送信することとを含むことができるシステムおよび方法を開示する。
2008535098.tif 000002
【特許請求の範囲】
【請求項１】
プロキシサーバによってインターネットサイトにアクセスすることと、
前記インターネットサイトからのイメージデータを複数解像度表現に変換することと、
前記複数解像度表現の前記イメージデータをクライアントデバイスに送信することと
を含むことを特徴とする方法。
【請求項２】
前記クライアントデバイスによってウェブページをナビゲートすること
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ナビゲートすることは、
（ａ）前記プロキシサーバによって前記インターネットサイトのイメージデータをナビゲートすることと、
（ｂ）前記クライアントデバイスによって前記複数解像度イメージデータをナビゲートすることであって、ステップ（ａ）の前記ナビゲートすることおよびステップ（ｂ）の前記ナビゲートすることは、実質的に同時に発生すること
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記ナビゲートすることは、
前記ウェブページの少なくとも実質的に全体の複数解像度イメージデータを前記プロキシサーバで格納することと、
前記格納された複数解像度イメージデータを前記クライアントデバイスによってナビゲートすることと
を含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記変換するステップは、
前記ナビゲートすることが必要とする前記インターネットサイトイメージデータを前記クライアントデバイスによって連続的に変換すること
を含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記変換するステップは、
インターネットサイトからの選択されたイメージデータが前記クライアントデバイスナビゲーションに必要になる前に、前記プロキシサーバによって前記選択されたイメージデータを事前に変換することと、
前記事前に変換されたイメージデータを前記プロキシサーバで格納することと
を含むことを特徴とする請求項２に記載の方法。
【請求項７】
前記格納されたイメージデータを、前記クライアントデバイスのナビゲーションによる必要に応じて前記クライアントデバイスに送信すること
をさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記格納された事前に変換されたイメージデータを前記クライアントデバイスに送信する前に、前記格納された事前に変換されたイメージデータは古くないことを保証すること
をさらに含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記保証することは、
前記事前に変換されたイメージデータのタイムスタンプおよびチェックサムのうちの１つを、前記インターネットサイトから発する対応するイメージデータのタイムスタンプおよびチェックサムのうちのそれぞれの１つと比較すること
を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記事前に変換するステップは、
少なくとも１つのウェブページのイメージデータを前記プロキシサーバによって変換することと、
前記少なくとも１つのウェブページの前記変換されたイメージデータを前記プロキシサーバで格納することと
を含むことを特徴とする請求項６に記載の方法。
【請求項１１】
前記クライアントデバイスと前記インターネットサイトとの間の双方向対話型通信を可能にすること
をさらに含むことを特徴とする請求項２に記載の方法。
【請求項１２】
前記対話型通信は、
前記クライアントデバイスから前記プロキシサーバへナビゲーションコマンドを送信すること
を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記クライアントデバイスに関するダイナミックインターネットグラフィックスを前記プロキシサーバによってエミュレートすること
をさらに含むことを特徴とする請求項２に記載の方法。
【請求項１４】
前記エミュレートするステップは、
ダイナミックＨＴＭＬ（ハイパーテキストマークアップ言語）と、
アプレットと
のうちの少なくとも１つをエミュレートすることを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ナビゲートすることは、
前記ウェブページの少なくとも一部を見る解像度レベルを前記クライアントデバイスで選択すること
を含むことを特徴とする請求項２に記載の方法。
【請求項１６】
前記ナビゲートすることは、
前記クライアントデバイスでの表示のために前記ウェブページの領域を選択すること
を含むことを特徴とする請求項２に記載の方法。
【請求項１７】
前記ナビゲートすることは、
前記ウェブページの前記領域を見る解像度を選択すること
をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記ナビゲートすることは、
前記クライアントデバイスで見られる前記ウェブページの複数の部分を選択すること
を含むことを特徴とする請求項２に記載の方法。
【請求項１９】
前記ナビゲートすることは、
前記複数のウェブページ部分を見る複数のそれぞれの解像度を選択すること
をさらに含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記複数解像度イメージデータを前記ナビゲートすることは、
前記複数解像度イメージデータをパンすること
を含むことを特徴とする請求項２に記載の方法。
【請求項２１】
前記複数解像度イメージデータを前記ナビゲートすることは、
前記複数解像度イメージデータをズームインすること
を含むことを特徴とする請求項２に記載の方法。
【請求項２２】
クライアントデバイスと、
前記クライアントデバイスおよびインターネットサイトと通信し、前記クライアントデバイスと前記インターネットサイトとの間の中間物として働くプロキシサーバであって、前記プロキシサーバは、前記インターネットサイトからのイメージデータを複数解像度ビジュアルデータフォーマットに変換するように動作可能である、プロキシサーバと
を含むことを特徴とする装置。
【請求項２３】
前記複数解像度ビジュアルデータフォーマットは、ＪＰＥＧ２０００であることを特徴とする請求項２２に記載の装置。
【請求項２４】
前記クライアントデバイスは、携帯電話機であり、前記携帯電話機は、
前記複数解像度ビジュアルデータフォーマット内のイメージデータをナビゲートする少なくとも１つの機構
を含むことを特徴とする請求項２に記載の装置。
【請求項２５】
前記機構は、タッチパッドであり、前記タッチパッドは、前記複数解像度ビジュアルデータフォーマット内のイメージデータをパンすることを可能にすることを特徴とする請求項２４に記載の装置。
【請求項２６】
前記機構は、前記複数解像度ビジュアルデータフォーマット内のイメージデータへのズームインを可能にすることを特徴とする請求項２２に記載の装置。
【請求項２７】
ズームする前記機構は、前記クライアントデバイスのユーザによって回転可能なローラーを含むことを特徴とする請求項２６に記載の装置。
【請求項２８】
前記クライアントデバイスは、携帯電話機、ＰＤＡ（携帯情報端末）、ノートブックコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、およびテレビジョンセットからなる群のうちの１つであることを特徴とする請求項２２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
携帯情報端末（ＰＤＡ）、携帯電話機、または無線端末などの小型デバイスでウェブをブラウズすることが有用であることが、長らく認められてきた。そのようなデバイスでウェブブラウジングを実装することにかかわる問題は、一般に、計算能力における制限のゆえに生じるのではない。そうではなく、そのような問題は、次の２つの原因から生じる。第１に、ディスプレイが、通常は非常に小さく、特により大きいディスプレイまたはウィンドウ（例えば、通常は少なくとも８００×２００ピクセルまたは１０２４×７６８ピクセル）用に設計されたウェブページを表示することが困難になる。第２に、小型無線デバイスは、通常、低帯域幅で広域ネットワークに接続され、伝統的なウェブブラウジングが、ビューイングの前にＨＴＭＬ（ハイパーテキストマークアップ言語）ページ全体をダウンロードする必要に起因して不快になる。
【０００２】
この問題に対するいくつかの部分的解決策が存在する。例えば、あるコンピュータハードウェア製造業者は、ＢＲＥＷ（Ｂｉｎａｒｙ  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ）に基づく、小型デバイスへのコンテンツの無線配信用の新しいプラットフォームを設計した。しかし、この種の解決策は、コンテンツプロバイダが、彼らのコンテンツをＢＲＥＷテクノロジを使用して供給することに合意すること、あるいは、サードパーティコンテンツアグリゲータが、コンテンツまたはアプリケーションに特殊化されたフォーマッティングを使用して既存コンテンツを継続的に再パッケージし、やはりＢＲＥＷテクノロジを使用して結果を供給することを必要とする。
【０００３】
もう１つの部分的解決策は、Ｏｐｅｒａ  Ｍｏｂｉｌｅ  ＡｃｃｅｌｅｒａｔｏｒおよびＳｍａｌｌ−Ｓｃｒｅｅｎ  Ｒｅｎｄｅｒｉｎｇ（商標）と組み合わされたＯｐｅｒａ  Ｆｏｒ  Ｍｏｂｉｌｅである。これらのテクノロジは、モバイル無線プラットフォームに移植された、人気のあるウェブブラウザであるＯｐｅｒａに基づく。Ｓｍａｌｌ−Ｓｃｒｅｅｎ  Ｒｅｎｄｅｒｉｎｇ（商標）は、モバイル端末のディスプレイの水平寸法におさまるようにウェブページを動的に再フォーマットすることを試みる。Ｏｐｅｒａ  Ｍｏｂｉｌｅ  Ａｃｃｅｌｅｒａｔｏｒは、プロキシサーバを使用して、オンデマンドでオリジナルＨＴＭＬ形式のウェブページにアクセスし、その後、このＨＴＭＬを圧縮し、圧縮されたバージョンをモバイル端末に転送する。Ｏｐｅｒａによれば、Ｏｐｅｒａ  Ｍｏｂｉｌｅ  Ａｃｃｅｌｅｒａｔｏｒは、ウェブページのサイズを約５０％から約７０％だけ圧縮するが、ウェブページのサイズを９０％まで減らす能力を有する。これを考慮すれば、データは、より高速に取り出され、ウェブページは、よりすばやく表示される。一般に、速度の向上は、ユーザが訪れようとしているサイトのタイプに依存する。この２つのテクノロジは、ウェブブラウジングに関するモバイル端末ディスプレイサイズおよび帯域幅の問題に対する部分的解決策を提示する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術には、限られた帯域幅あるいは他の通信および／または処理能力の制限を有するデジタルデバイスにウェブページデータを供給する改善されたシステムおよび方法の必要がある。
【課題を解決するための手段】
【０００５】
一態様によれば、本発明は、プロキシサーバによってインターネットサイトにアクセスすることと、インターネットサイトからのイメージデータを複数解像度表現に変換することと、複数解像度表現のイメージデータをクライアントデバイスに送信することとを含むことができる方法を開示する。好ましくは、この方法は、クライアントデバイスによってウェブページをナビゲートすることをさらに含む。好ましくは、ナビゲートするステップは、（ａ）プロキシサーバによってインターネットサイトのイメージデータをナビゲートすることと、（ｂ）クライアントデバイスによって複数解像度のイメージデータをナビゲートすることであって、ステップ（ａ）のナビゲートすることおよびステップ（ｂ）のナビゲートすることは、実質的に同時に発生することを含む。
【０００６】
好ましくは、ナビゲートすることは、ウェブページの少なくとも実質的に全体の複数解像度イメージデータをプロキシサーバで格納することと、格納された複数解像度イメージデータをクライアントデバイスによってナビゲートすることとを含む。好ましくは、変換するステップは、ナビゲートすることが必要とするインターネットサイトイメージデータをクライアントデバイスによって連続的に変換することを含む。好ましくは、変換するステップは、インターネットサイトからの選択されたイメージデータがクライアントデバイスナビゲーションに必要になる前に、プロキシサーバによって、その選択されたイメージデータを事前に変換することと、事前に変換されたイメージデータをプロキシサーバで格納することとを含む。
【０００７】
好ましくは、この方法は、格納されたイメージデータを、クライアントデバイスのナビゲーションによる必要に応じてクライアントデバイスに送信することをさらに含む。好ましくは、この方法は、格納された事前に変換されたイメージデータをクライアントデバイスに送信する前に、格納された事前に変換されたイメージデータは古くないことを保証することをさらに含む。好ましくは、保証するステップは、事前に変換されたイメージデータのタイムスタンプおよびチェックサムのうちの１つを、インターネットサイトから発する対応するイメージデータのタイムスタンプおよびチェックサムのうちのそれぞれの１つと比較することを含む。好ましくは、事前に変換するステップは、少なくとも１つのウェブページのイメージデータをプロキシサーバによって変換することと、少なくとも１つのウェブページの変換されたイメージデータをプロキシサーバで格納することとを含む。
【０００８】
好ましくは、この方法は、クライアントデバイスとインターネットサイトとの間の双方向対話型通信を可能にすることをさらに含む。好ましくは、対話型通信は、クライアントデバイスからプロキシサーバへナビゲーションコマンドを送信することを含む。好ましくは、この方法は、クライアントデバイスに関するダイナミックインターネットグラフィックスをプロキシサーバによってエミュレートすることをさらに含む。好ましくは、エミュレートするステップは、ダイナミックＨＴＭＬ（ハイパーテキストマークアップ言語）と、アプレットとのうちの少なくとも１つをエミュレートすることを含む。好ましくは、ナビゲートすることは、ウェブページの少なくとも一部を見る解像度レベルをクライアントデバイスで選択することを含む。
【０００９】
好ましくは、ナビゲートすることは、クライアントデバイスでの表示のためにウェブページの領域を選択することを含む。好ましくは、ナビゲートすることは、ウェブページの領域を見る解像度を選択することをさらに含む。好ましくは、ナビゲートするステップは、クライアントデバイスで見られるウェブページの複数の部分を選択することを含む。好ましくは、ナビゲートするステップは、複数のウェブページ部分を見る複数のそれぞれの解像度を選択することをさらに含む。好ましくは、複数解像度イメージデータのナビゲートすることは、複数解像度イメージデータをパンすることを含む。好ましくは、複数解像度イメージデータのナビゲートすることは、複数解像度イメージデータをズームすることを含む。
【００１０】
もう１つの態様によれば、本発明は、クライアントデバイスと、クライアントデバイスおよびインターネットサイトと通信し、クライアントデバイスとインターネットサイトとの間の中間物として働くプロキシサーバであって、インターネットサイトからのイメージデータを複数解像度ビジュアルデータフォーマットに変換するように動作可能である、プロキシサーバとを含むことができる装置を提供することができる。好ましくは、複数解像度ビジュアルデータフォーマットは、ＪＰＥＧ２０００である。好ましくは、クライアントデバイスは、携帯電話機であり、携帯電話機は、複数解像度ビジュアルデータフォーマット内のイメージデータをナビゲートする少なくとも１つの機構を含む。好ましくは、機構は、タッチパッドであり、タッチパッドは、複数解像度ビジュアルデータフォーマット内のイメージデータをパンすることを可能にする。好ましくは、機構は、複数解像度ビジュアルデータフォーマット内のイメージデータへのズームインを可能にする。好ましくは、ズームする機構は、クライアントデバイスのユーザによって回転可能なローラーを含む。好ましくは、クライアントデバイスは、携帯電話機、ＰＤＡ（携帯情報端末）、ノートブックコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、およびテレビジョンセットからなる群のうちの１つである。
【００１１】
他の態様、特徴、利益などは、本明細書の本発明の好ましい実施形態の説明を添付図面と共に解釈するときに、当業者に明白になるであろう。
【００１２】
本発明の様々な態様を示すために、現在好ましい形が図面に示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明の１つまたは複数の実施形態によるプロキシサーバ１５０およびクライアントデバイス２３０を含む通信システム１４０を示すブロック図である。通信システム１４０は、インターネット１８０、クライアントデバイス２３０、およびプロキシサーバ１５０を含むことができ、プロキシサーバ１５０は、キャッシュ１６０を含むことができる。インターネット１８０は、プロキシサーバ１５０が従来の形でインターネットをブラウズすることを可能にするのに必要な通信リンク、コンピューティングハードウェア、および通信ハードウェアを含むと解釈することができる。高帯域幅接続が、プロキシサーバ１５０とインターネット１８０との間での使用に好ましいが、当技術分野で既知の任意の通信リンクを使用して、プロキシサーバ１５０をインターネット１８０に接続することができる。一般に、プロキシサーバ１５０を、全体としてのインターネットへのゲートウェイとして働くインターネットサービスプロバイダ（ＩＳＰ）（図示せず）に接続することができる。本明細書の１つまたは複数の実施形態では、インターネット１８０が、そのようなインターネットサービスプロバイダを含むことが意図されている。
【００１４】
プロキシサーバ１５０は、インターネットと通信し、インターネットからダウンロードされたイメージデータを含むデータを処理するように、適切に構成された、パーソナルコンピュータまたは他のコンピューティングデバイスとすることができる。プロキシサーバ１５０は、好ましくは、インターネット１８０にコマンドを送信し、インターネット１８０からイメージデータを受信することができる。
【００１５】
プロキシサーバ１５０は、イメージデータを含むデータへのすばやく簡単なアクセスを可能にするためにそのようなデータを格納するキャッシュ１６０を含むことができる。キャッシュ１６０を、プロキシサーバ１５０と同一の物理的エンクロージャ内に置くことによるなど、サーバ１５０内に物理的に組み込むことができる。あるいは、キャッシュ１６０を、プロキシサーバ１５０とは別々に収納するが、キャッシュ１６０にアクセス可能とすることができる。
【００１６】
クライアントデバイス２３０は、好ましくは、プロキシサーバ１５０との通信を行うことができるポータブルコンピューティングデバイスである。しかし、クライアントデバイスを、デスクトップコンピュータなど、より大型の非ポータブルコンピューティングデバイスとすることができる。クライアントデバイス２３０は、携帯電話機、携帯情報端末（ＰＤＡ）、ノートブックコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、およびテレビジョンセットのうちの１つとすることができる。しかし、クライアントデバイス２３０は、前述のアイテムの１つであることには限定されない。好ましくは、クライアントデバイス２３０がテレビジョンセットである場合に、このテレビジョンセットは、複数解像度イメージデータを受信でき、プロキシサーバ１５０などであるがこれに限定されない外部デバイスにナビゲーションコマンドを送信することができる。クライアントデバイス２３０は、プロキシサーバ１５０から受信した複数解像度イメージデータを格納する、揮発性ストレージおよび／または不揮発性ストレージを含むデータストレージ機能をも含むことができる。そのようなデータストレージは、ＲＡＭ（ランダムアクセスメモリ、ＲＯＭ（読取専用メモリ）、ハードドライブ、ＣＤ−ＲＯＭドライブ、ＣＤ  ｒｅａｄ−ｗｒｉｔｅ、およびバブルメモリを含むことができるが、これらに限定はされない。望まれる場合に、クライアントデバイス２３０は、データストレージに、キャッシュメモリを含めることができる。
【００１７】
プロキシサーバ１５０は、図２に関してより詳細に述べるように、インターネット１８０からのイメージデータを複数解像度フォーマットに変換した後に、クライアントデバイス２３０がそのようなデータをブラウズすることを可能にするために、インターネット１８０とクライアントデバイス２３０との間の中間物として働くことができる。
【００１８】
図２Ａは、本発明の１つまたは複数の実施形態に従ってカスタマイズされた、携帯電話機とすることができるクライアントデバイス２３０の前面を示す図である。図２Ｂは、図２Ａのクライアントデバイス２３０の背面の正面図である。図２Ｃは、図２Ａのクライアントデバイスの背面の正面図である。
【００１９】
図２の図に含まれる１つまたは複数の実施形態では、クライアントデバイス２３０は、複数解像度イメージデータをブラウズするように特に構成された携帯電話機またはＰＤＡである。クライアントデバイス２３０は、本体２３２、ディスプレイ２３４、アンテナ２３６、タッチパッド２３８、ジョイスティック２４０、および／またはローラー２４２を含むことができる。図２では、ローラー２４２は、ある範囲までクライアントデバイス２３０の本体２３２から突き出して図示されている。この突き出しは、例示のために図示されたものである。ローラーまたはホイール２４２は、クライアントデバイス２３０のユーザからアクセス可能であることだけを必要とする。したがって、ローラーまたはホイール２４２は、本体２３２からごくわずかに突き出すことができる。あるいは、本体２３２の側面に凹窩（図示せず）を設け、この凹窩の中にローラー２４２をおさめることができ、これによって、ホイール２４２が、クライアントデバイス２３０の本体２３２の側面のまっすぐなエッジを有する部分を超えて突き出さないようにすることが可能になる。
【００２０】
１つまたは複数の実施形態で、ディスプレイ２３４を、クライアントデバイス２３０の正面に配置することができる（図２Ａ）。しかし、他の実施形態では、ディスプレイ２３４をクライアントデバイス２３０のどこにでも配置することができる。タッチパッド２３８は、クライアントデバイス２３０の背面に配置することができ（図２Ｂ）、プロキシサーバ１５０から受信したイメージデータをパンするのに使用することができる。しかし、あるいは、タッチパッド２３８をクライアントデバイス２３０の任意の表面に配置することができる。あるいは、タッチパッド２３８を、イメージデータのズームに使用することができる。１つまたは複数の他の実施形態では、タッチパッド２３８を、イメージデータのパンおよびズームに使用することができる。
【００２１】
クライアントデバイス２３０のユーザは、タッチパッド２３８の表面に沿って指を動かすことによって、イメージデータをパンし、またはズームすることができる。それに加えてまたはその代わりに、タッチパッド２３８を使用して、ディスプレイ２３４に表示された１つまたは複数のイメージ領域またはウェブページ領域の上でカーソルを移動することができる。複数のイメージ（必ずではないがおそらくは２つの異なるウェブページからの）がディスプレイ２３４に表示されている場合に、カーソルの使用は、ナビゲーションステップを実行するためにイメージの１つを識別するのに有益である場合がある。
【００２２】
代替実施形態では、ジョイスティック２４０（図２Ｃ）を、タッチパッド２３８に加えてまたはその代わりにのいずれかで、イメージデータをパンするのに使用することができる。ジョイスティックは、クライアントデバイス２３０のユーザがイメージにまたがってパンすることを望む方向に対応する方向にジョイスティック２４０を押すことによって、イメージデータをパンするのに使用することができる。タッチパッド２３８と同様に、ジョイスティック２４０は、クライアントデバイス２３０のどの表面に配置してもよい。
【００２３】
１つまたは複数の実施形態で、ズームは、ホイール２４２などの別々のデバイスまたはスライダ（図示せず）などの他のデバイスを使用することによって、あるいはタッチパッド２３８表面の１つのエッジで上下に指を滑らせるなど、タッチパッド２３８での型にはまったジェスチャを使用することによって、達成することができる。後者の場合に、両手の人差し指をタッチパッド上で同時に使用することができる（一方の手はパン、他方の手はズーム）。
【００２４】
タッチパッド２４０とホイール２４２との両方を含む１つまたは複数の実施形態で、クライアントデバイス２３０のユーザは、ズームとパンとの間で行き来してすばやく切り替えることができ、あるいは、パンおよびズームを同時に行うことさえできる。本明細書では、ホイール２４２を、「ローラー」とも称する。
【００２５】
上で説明した特徴のうちの１つまたは複数を使用することによって、パンおよび／またはズームを、クライアントデバイス２３０のユーザがより大きい表面のディスプレイ（スクリーン）２３４に目を通しているかのような触覚的経験にすることができる。片方の手の人差し指が、タッチパッド２３８を撫で、イメージをパンし、より大きいイメージがタッチパッド２３８を使用してディスプレイ２３４の背後から移動されるという感覚をもたらすことができる。類似する形で、イメージにズームインするためのホイール２４２の使用を用いて、ホイール２４２の動きが、「より大きいイメージ」をホイール２４２の回転方向に応じてディスプレイ２３４のより近くにまたはより遠くに移動するという感覚をもたらすことができる。
【００２６】
上で説明した触覚インターフェースは、浅い学習曲線を有する自然で馴染みのある「感覚」を実現することができる。１つまたは複数の実施形態は、イメージをパンするために指がタッチパッド２３８を撫でている間にディスプレイの遮られないビューを可能にするという、タッチスクリーンの使用のより従来の解決策と比較した利益をももたらすことができる。さらに、１つまたは複数の実施形態で、タッチパッド２３８およびホイール２４２を使用するのであれ他のナビゲーション機構を使用するのであれ、パンとズームとの間でたやすく交代できることおよび／またはこの２つのアクティビティを同時にもしくは実質的に同時に行えることによって、相乗的利益を得ることができる。
【００２７】
１つまたは複数の実施形態で、タッチパッド２３８は、約２インチ（５０．８ｍｍ）×約１．５インチ（３８．１ｍｍ）の寸法を有するものとすることができるが、タッチパッド２３８は、どちらの次元においても、示された値より小さくまたはこれより大きくすることができる。
【００２８】
図３は、本発明の１つまたは複数の実施形態によるクライアントデバイス２３０によってイメージデータをナビゲートする方法３２０の流れ図である。図３に示されたステップは、図示の順序での実行には限定されない。ある種の場合に、図示されたステップのうちの複数を同時に実行することができる。次では、ステップをリストし、要約し、その後、基本的な対話型ブラウジングへのステップの適用およびその変形形態を述べる。
【００２９】
方法３２０には、プロキシサーバ１５０によってインターネット１８０のインターネットサイトにアクセスすること３２２を含めることができる。プロキシサーバは、アクセスされたインターネットサイトからのイメージデータを、空間的ランダムアクセスをサポートする複数解像度ビジュアルデータフォーマット（複数解像度イメージデータ）に変換すること３２４ができる。ＪＰＥＧ２０００が、そのようなビジュアルデータフォーマットの１つの可能な例である。しかし、本発明は、この標準規格を使用することに限定はされない。本明細書では、用語「変換する」は、一般に、従来のウェブページデータを複数解像度イメージデータに変えることに適用される用語「再パッケージする」に対応する。
【００３０】
方法３２０には、クライアントデバイス２３０での最終的な表示３２８のために、プロキシサーバ１５０によって複数解像度イメージデータをクライアントデバイス２３０に送信すること３２６を含めることができる。クライアントデバイス２３０は、ステップ３２６での送信の後にまたはこれと同時にのいずれかで、送信された複数解像度イメージデータをナビゲートすること３３０ができる。クライアントデバイス２３０によってナビゲート３３０される、送信された複数解像度イメージデータには、ダイナミックＨＴＭＬおよびアプレット機能性などであるがこれらに限定はされない、エミュレートされたインターネットグラフィカル特徴を含めることができる。
【００３１】
一実施形態で、プロキシサーバ１５０は、インターネット１８０上のウェブページからのイメージデータを複数解像度イメージデータに変換する３２４。というのは、そのようなデータを、クライアントデバイス２３０のナビゲーション３３０が必要とするからである。
【００３２】
その後、複数解像度イメージデータは、好ましくはクライアントデバイス２３０に送信され３２６、そこで表示される３２８。この実施形態では、プロキシサーバ１５０による、ウェブページとすることのできるインターネットサイトへのアクセス３２２、およびクライアントデバイス２３０による複数解像度イメージデータのナビゲーションは、実質的に同時に発生することができる。したがって、この実施形態では、ウェブページ（または他のタイプの）イメージデータの変換３２４は、クライアントデバイス２３０によって行われるナビゲーション３３０に応答して、実質的に「オンザフライ」で行われる。ナビゲーション３３０には、クライアントデバイス２３０によるパンおよびズームを含めることができるが、これに限定はされない。
【００３３】
もう１つの実施形態で、プロキシサーバは、１つまたは複数のウェブページ全体あるいは他の形のインターネットイメージデータを、複数解像度イメージデータに変換しまたは「事前変換し」、変換されたデータを、クライアントデバイス２３０による迅速なアクセス可能性およびクライアントデバイス２３０への送信のためにプロキシサーバ１５０にアクセス可能なキャッシュ１６０または他のメモリデバイスに格納することができる。この事前変換は、関係するウェブページデータがクライアントデバイス２３０のナビゲーション３３０コマンドに応答して必要になる前に実行することができる。
【００３４】
１つまたは複数の実施形態で、プロキシサーバ１５０は、クライアントデバイス２３０からのイメージデータに関する要求にサービスするときに、オリジナルＨＴＭＬコンテンツが、キャッシングされたバージョンと比較して変更されていないことを検証することによって、キャッシングされた事前変換された複数解像度イメージデータが「古」くないことを保証することができる。この検証は、タイムスタンプの比較、チェックサムの比較、または他の周知の方法の使用によって達成することができる。「古さ」に関するある許容範囲を作り込んで、プロキシサーバが行わなければならないＨＴＭＬ要求の個数に上限を設けることができる。この開示では、「古」くないデータは、「新鮮」である。
【００３５】
１つまたは複数の実施形態で、プロキシサーバ１５０は、インターネット１８０またはより具体的にはインターネット１８０のサイトまたはインターネットページとクライアントデバイス２３０との間の中間物として働く。その結果、インターネット１８０とのプロキシサーバ１５０の通信は、好ましくは、クライアントデバイス２３０による複数解像度データのブラウズに応答するものである。また、図３に示されたステップのうちの複数を、一時に１つずつ図示のシーケンスに厳密に従って行うのではなく、対話的におよび／または同時に行うことができる。
【００３６】
一般に、ウェブページイメージデータは、インターネット１８０からプロキシサーバ１５０に流れ、プロキシサーバ１５０で、このデータを複数解像度イメージデータに変換することができる。その時点で、複数解像度イメージデータを、キャッシュ１６０に格納することができ、かつ／またはクライアントデバイス２３０での表示のためにクライアントデバイス２３０に送信することができる。クライアントデバイスは、必要な場合に、受信した複数解像度イメージデータを格納することができる。
【００３７】
ナビゲーションコマンドまたはブラウジングコマンドは、一般に、逆の方向に進む。具体的に言うと、ナビゲーション要求および／またはウェブページもしくはインターネットサイトのブラウジングに関係する他のコマンドは、クライアントデバイス２３０から発し、プロキシサーバ１５０に進み、その後、おそらくは変更された形で、プロキシサーバ１５０からインターネット１８０に送信されることができる。プロキシサーバ１５０でクライアントデバイス２３０から受信されたコマンドの適切な変換または再構成は、そのようなコマンドをインターネット１８０に再送信する前に、プロキシサーバ１５０で実施することができる。例えば、クライアントデバイス２３０が、別のウェブページへのリンクをクリックする場合に、プロキシサーバ１５０は、ターゲットウェブページにアクセスするために、このリンクするコマンドをインターネット１８０に再送信することができる。クライアントデバイス２３０が送信できるコマンドに、パンおよびズームなどのナビゲーションコマンドを含めることができる。さらなるコマンドに、マウスまたは他のデバイスを用いるクリック、タイプすること、話すこと（音声コマンドをクライアントデバイス２３０で理解できる場合）、ジェスチャ、タッチパッド２３８の表面に沿った指または手先の移動、ホイール２４２の動き、あるいはジョイスティック２４０の動きを含めることができる。
【００３８】
単一のウェブページがアクセスされ３２２、複数解像度イメージデータに変換され３２４、キャッシュ１６０に格納される第１の例を検討する。キャッシュ１６０に格納された後に、複数解像度イメージデータを、クライアントデバイス２３０によって必要に応じてブラウズすることができる。
【００３９】
この例を継続し、クライアントデバイス２３０が、低解像度レベルでの変換されたウェブページの最初のレンディション（ｒｅｎｄｉｔｉｏｎ）を受信すると仮定する。この出発点（「解像度レベル１」）から、クライアントデバイス２３０のユーザは、そのウェブページの選択領域「Ａ」にズームインする。クライアントデバイスが、そのローカルストレージ内により高い解像度のイメージデータを有しないと仮定すると、このズームコマンドは、好ましくは、プロキシサーバ１５０に送信され、プロキシサーバ１５０は、必要なデータをキャッシュ１６０から取り出すことができ、このイメージデータをクライアントデバイス２３０に送信することができる。
【００４０】
好ましくは、クライアントデバイス２３０によって要求されるズームの範囲は、プロキシサーバ１５０によって、選択された解像度レベル（この例のためには「解像度レベル２」）に関連付けることができる。結果の解像度レベルは、選択された領域（領域「Ａ」）の事前定義の解像度レベルの組のうちの１つの解像度レベルから選択することができる。あるいは、選択された解像度レベルが、事前定義の解像度レベルの１つに正確には対応しない場合には、要求される解像度レベルを、本明細書に組み込まれた文書で開示されるように、１つまたは複数の補間計算を行うことによって計算することができる。
【００４１】
次に、クライアントデバイス２３０のディスプレイ２３４は、好ましくは、選択された領域「Ａ」を選択された解像度で表示する。おそらく、変換されたウェブページのうちで実質的に領域Ａだけが、ディスプレイ２３４に表示される。
【００４２】
この例を継続し、クライアントデバイス２３０のユーザが、次に、好ましくは領域「Ａ」の表示に最後に使用された解像度レベル（「解像度レベル２」）を維持しながら、ウェブページ内で領域「Ａ」から領域「Ｂ」（領域は図示せず）に横にパンすることを望む情況を検討する。領域「Ｂ」の複数解像度イメージデータが、クライアントデバイス２３０内で使用可能ではないと仮定すると、領域「Ｂ」に向かってパンするステップは、好ましくは、プロキシサーバ１５０に、領域「Ｂ」のイメージデータをキャッシュ１６０またはプロキシサーバ１５０からアクセス可能な他のデータストレージデバイスから探させ、このデータをクライアントデバイス２３０に送信させる。このデータを受信したときに、クライアントデバイス２３０は、領域「Ｂ」を「解像度レベル２」で表示できなければならない。解像度レベル２のイメージデータが、キャッシュ１６０内で入手可能ではなかった場合に、プロキシサーバ１５０が、好ましくは、関係するウェブページにインターネット１８０からもう一度アクセスし、そのウェブページのデータを、キャッシュ１６０に格納されているものより高い解像度を有する複数解像度イメージデータに変換したことに留意されたい。
【００４３】
この例を継続し、次に、クライアントデバイス２３０のユーザが、好ましくは最初のウェブページの領域Ｂ内の、最初のウェブページ内のハイパーリンクをアクティブ化することを望む情況を検討する。
【００４４】
クライアントデバイス２３０のユーザがハイパーリンクをクリックするときに、プロキシサーバ１５０は、そのハイパーリンクに関連するウェブページイメージデータがキャッシュ１６０に置かれていないと判定することができる。したがって、プロキシサーバ１５０は、好ましくは、そのハイパーリンクのターゲットウェブページに関する要求を、インターネット１８０との通信で複製する。
【００４５】
好ましくは、プロキシサーバ１５０は、そのハイパーリンクのターゲットウェブページにアクセスする。次に、プロキシサーバ１５０は、そのターゲットウェブページからのイメージデータを複数解像度イメージデータに変換し、その複数解像度イメージデータをクライアントデバイス２３０での表示のためにクライアントデバイス２３０に動的にストリーミングすることができる。その代わりにまたはそれに加えて、プロキシサーバ１５０は、必要に応じたクライアントデバイス２３０による後のアクセスのために、そのターゲットウェブページの複数解像度イメージデータのすべてまたは一部をキャッシュ１６０に格納することができる。キャッシュ１６０または他の適切なストレージデバイスでのそのような格納は、クライアントデバイス２３０がターゲット（ハイパーリンクされた）ウェブページの複数解像度イメージデータのすべてを一度に受信し、表示することができない場合があるので、有益である可能性がある。この受信できず表示できないことは、クライアントデバイス２３０が、ターゲットウェブページの１つまたは複数の領域を表示する、高い解像度レベルを選択した場合に存在する可能性がより高い。一般に、クライアントデバイスが複数解像度イメージデータを表示する解像度（表示される領域の）が高いほど、表示される領域が小さくなることに留意されたい。
【００４６】
１つまたは複数の実施形態で、クライアントデバイス２３０は、１つのウェブページの複数の領域または複数のそれぞれのウェブページから引き出された複数の領域を表示できる場合がある。この場合に、クライアントデバイス２３０は、好ましくは、そのような表示された領域ごとに独立に表示解像度を選択することができる。この場合に、タッチパッド２３８またはクライアントデバイス２３０内の他の機構は、好ましくは、各イメージの所望の解像度を選択するために、各そのようなイメージの上でカーソルを移動することができる。
【００４７】
さらに、あるウェブページの一部だけを形成できる任意の１つのイメージの中で、解像度は、一定である必要がない。解像度は、高解像度での関心領域（ｒｅｇｉｏｎ  ｏｆ  ｉｎｔｅｒｅｓｔ）の表示と、データストレージおよび高解像度のイメージ全体を表示するのに必要な量の複数解像度イメージデータを受信するデータ通信の重荷を避けることという競合する優先順位を両立させる必要に応じて、変更することができる。
【００４８】
プロキシによるウェブブラウジングに関して本明細書で説明する手法の１つまたは複数の実施形態は、下で述べる特徴を提供することができる。
【００４９】
上で述べたように、ズーム機能を、プロキシによるウェブブラウジングと共に提供することができる。したがって、クライアントデバイス２３０より幅広いディスプレイを表示するためにフォーマットされたウェブページを、それでも、ディスプレイ２３４などの小さいディスプレイでその列幅全体を見ることができる。テキストが、列のサイズに対して小さい場合に、単一の行の全体を読むために、水平にパンすることが有益である場合がある。しかし、連続ズームの使用は、１７６ピクセル幅ディスプレイにおいてさえ、多数のテキスト列の全体を読むことを可能にする（この幅は、ある市販携帯電話機の特徴である）。
【００５０】
１つまたは複数の実施形態で、これは、ウェブページのレイアウトを変更するはずの再フォーマットなしで可能である。図４に、この形で表示されているウェブページの列（元々は８００×２００ピクセルディスプレイでの表示用に設計された）を示す。
【００５１】
複数解像度イメージデータフォーマットへの変換が適度に高速であるか、キャッシングされた複数解像度イメージコンテンツが既にキャッシュ１６０内で使用可能であるかのいずれかであるならば、ウェブページ全体の最初のビューを、関係するウェブページの要求のすぐ後にクライアントデバイス２３０で可視にレンダリングすることができる。この能力は、任意の長さのウェブページについて実現することができる。これは、ウェブページの最初のビューが、ページ全体のズームアウトされた概観またはウェブページの最上部（または任意の他の部分）のズームインされたビューのどちらであってもあてはまる。
【００５２】
図５Ａおよび６Ａに、それぞれ、２０キロビット／秒接続を介する約２秒のロードの後の大きいウェブページの全般的な概観および最上部のビューを示すこれらの情況を示す。図５Ｂおよび６Ｂは、それぞれ、約１０秒のデータロード時間の後の図５Ａおよび６Ａのより明瞭なバージョンを示す。
【００５３】
新聞など、様々なコンテンツを有する複雑なウェブページについて、クライアントは、文書全体のダウンロードを待たずに、即座に、興味のある区域に継続的に焦点を合わせることができる。図７を参照されたい。
【００５４】
事実上無制限の長さのウェブページを、クライアントデバイス２３０のリソースに重い負担をかけず、最初のビューまでの時間を遅延させず、性能劣化を引き起こさずに見ることができる。
【００５５】
１つまたは複数の実施形態で、ウェブページは、非常に大きいイメージを有する場合があり、この非常に大きいイメージの微細な詳細を見るために、クライアントデバイス２３０は、クライアントデバイス２３０のリソースに重い負担をかけず、ウェブページの最初の表示までの時間を遅延させず、および／または性能劣化をもたらさずにズームインすることができる。
【００５６】
いくつかの場合に、小型デバイスのディスプレイは、その幅より高い（例えば、Ｓａｍｓｕｎｇ（登録商標）ＳＧＨ−Ｄ４１０携帯電話機の場合に、幅１７６ピクセル×高さ２２０ピクセル）。それでも、ウェブブラウジングについて、最も制限的な変数は、列幅であり、セルラディスプレイが「ポートレート」ページセットアップではなく「ランドスケープ」ページセットアップを使用することが望ましくなる場合がある。複数解像度イメージデータは、選択可能な角距離によるビジュアルコンテンツの回転を可能にするので、より大きい寸法のディスプレイを、コンテンツブラウジング中に最も効果的に使用することができる。図８Ａおよび８Ｂを参照されたい。
【００５７】
１つまたは複数の実施形態で、複数解像度イメージデータにアクセスするクライアントデバイス２３０は、プロキシサーバ１５０によって生成された複数解像度イメージデータだけではなく、複数解像度イメージデータにアクセスできる任意のサーバから発するイメージコンテンツを見ることをイネーブルされ得る。したがって、そのようなクライアントデバイス１５０は、多数の大きいイメージ、大きい複数解像度ベクトル地図、および従来のＨＴＭＬを使用して供給することが困難または不可能である可能性がある他の種類のイメージコンテンツを継続的にナビゲートすることをイネーブルされ得る。
【００５８】
上でリストした利益は、プロキシサーバ１５０を使用する複数解像度イメージデータブラウジングを、携帯電話機ユーザだけではなく、ＰＤＡまたはパームトップ無線デバイス、無線インターネットを有するノートブックコンピュータ、モデムなどの狭帯域接続を介してインターネットに接続されたホームコンピュータユーザ、および／またはホームブロードバンドユーザを含むがこれらに限定はされない、より大型のデバイスのユーザにも有益なものにするのに十分に説得力のあるものである可能性がある。
【００５９】
ホームブロードバンドユーザの場合に、複数解像度イメージデータをクライアントデバイス２３０に送信するのにプロキシサーバ１５０を使用するシステムの１つまたは複数の実施形態は、次を含むがこれらに限定はされない特徴を提供することができる。
【００６０】
ａ）小さい字体の読みやすさを改善するかイメージの詳細を調べるために、ウェブページを連続的にズームすることができ、
ｂ）小型ディスプレイ用に設計されたウェブページを、高解像度ディスプレイでより鮮明な詳細で（テキストコンポーネントまたはベクトルコンポーネントについて）ブラウズすることができ、
ｃ）複数のウェブページを、リッチ２Ｄ（２次元）または３Ｄ（３次元）マルチスケール環境で再配置し、操作し、サイズ変更し、従来のマルチウィンドウブラウジングまたはタブブラウジングに代わるユーザ経験を提供することができ、かつ／または、
ｄ）プロキシサーバ１５０キャッシングの賢明な使用を介して、潜在的に無制限の個数のウェブページを、クライアントデバイス２３０の過剰なメモリまたは他のリソースを必要とせずに、ウェブのライブ大スケール「ビュー」に集約することができる。
【００６１】
最後に、複数解像度イメージデータフォーマットでのイメージの表示は、大型ディスプレイ、高帯域幅プラットフォームおよび小型ディスプレイ、低帯域幅プラットフォームに相補的な利益を提供できるので、この形での表示は、異なるプラットフォームについて異なるバージョンのビジュアルコンテンツおよび／またはブラウザを提供することを必要とするのではなく、ユーザ経験を統一でき、クロスプラットフォームエンジニアリングおよびクロスプラットフォーム開発を単純化することができる。
【００６２】
図９は、本発明の１つまたは複数の実施形態と共に使用するために適合可能なコンピューティングシステム８００のブロック図である。１つまたは複数の実施形態では、中央処理装置（ＣＰＵ）８０２をバス８０４に結合することができる。さらに、バス８０４を、ランダムアクセスメモリ（ＲＡＭ）８０６、読取専用メモリ（ＲＯＭ）８０８、入出力（Ｉ／Ｏ）アダプタ８１０、通信アダプタ８２２、ユーザインターフェースアダプタ８０６、およびディスプレイアダプタ８１８に結合することができる。
【００６３】
１つまたは複数の実施形態で、ＲＡＭ  ８０６および／またはＲＯＭ  ８０８は、ユーザデータ、システムデータ、および／またはプログラムを保持することができる。Ｉ／Ｏアダプタ８１０は、ハードドライブ８１２、ＣＤ−ＲＯＭ（図示せず）、または他のマスストレージデバイスなどのストレージデバイスをコンピューティングシステム８００に接続することができる。通信アダプタ８２２は、コンピューティングシステム８００をローカルエリアネットワーク、広域ネットワーク、またはインターネットネットワーク８２４に結合することができる。ユーザインターフェースアダプタ８１６は、キーボード８２６および／またはポインティングデバイス８１４などのユーザ入力デバイスをコンピューティングシステム８００に結合することができる。さらに、ディスプレイアダプタ８１８は、ＣＰＵ  ８０２によって駆動されて、ディスプレイデバイス８２０での表示を制御することができる。ＣＰＵ  ８０２は、任意の汎用ＣＰＵとすることができる。
【００６４】
この文書でこれまでに説明したおよび／または後で説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の１つまたは複数の実施形態は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。
【００６５】
本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および本明細書に添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。
【００６６】
本願の要約の前に、追加の開示テキストが追加されていることに留意されたい。
【００６７】
[発明の名称]ズーミングユーザインターフェースでの正確なレンダリングのシステムおよび方法
【００６８】
[技術分野]
本発明は、全般的にはコンピュータのグラフィカルズーミングユーザインターフェース（ｚｏｏｍｉｎｇ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ、ＺＵＩ）に関する。より具体的には、本発明は、計算的に効率的である（よいユーザ応答性および対話的フレームレートをもたらす）こと、ベクトルドローイング、テキスト、および他の非写真コンテンツが最終的に再サンプリングなしで（再サンプリングは、通常はイメージ品質の劣化につながるはずである）、そして、他のイメージの補間なしで（これも劣化につながるはずである）描かれるという意味で正確であることの、両方である形で、ズーム可能ビジュアルコンテンツをプログレッシブにレンダリングするシステムおよび方法である。
【００６９】
[背景技術]
ほとんどの現在のグラフィカルコンピュータユーザインターフェース（ＧＵＩ）は、固定された空間的スケールのビジュアルコンポーネントを使用して設計されている。しかし、コンピュータグラフィックスという分野の誕生から、ビジュアルコンポーネントがディスプレイ上で固定された空間的スケールを有するのではなく、ビジュアルコンポーネントをズームインまたはズームアウトできる形で、ビジュアルコンポーネントを表現でき、操作できることが認められた。ズーム可能コンポーネントの望ましさは、多くの応用領域、例えば、地図の表示、新聞などの大きい異種テキストレイアウトのブラウジング、デジタル写真のアルバムのビューイング、および大きいデータセットのビジュアライゼーションを用いる作業などで明白である。スプレッドシートおよびレポートなどの普通の文書を見るときであっても、しばしば、文書の概観を見、次に、関心を持たれた領域にズームインできることが有用である。Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄ（登録商標）および他のＯｆｆｉｃｅ（登録商標）プロダクト（表示メニューの下のズーム）、Ａｄｏｂｅ（登録商標）Ｐｈｏｔｏｓｈｏｐ（登録商標）、Ａｄｏｂｅ（登録商標）Ａｃｒｏｂａｔ（登録商標）、ＱｕａｒｋＸＰｒｅｓｓ（登録商標）など、多くの現代のコンピュータアプリケーションに、ズーム可能コンポーネントが含まれる。ほとんどの場合に、これらのアプリケーションは、文書のズームインおよびズームアウトを可能にするが、必ずしもアプリケーション自体のビジュアルコンポーネントのズームインおよびズームアウトを可能にはしない。さらに、ズームは、通常、ソフトウェアとのユーザの対話の周辺態様であり、ズームセッティングは、ときたま変更されるのみである。文書上での連続的なパンは、標準的である（すなわち、スクロールバーまたはカーソルを使用して、見られている文書を左、右、上、または下に平行移動させること）が、ユーザフレンドリな形で連続的にズームし、パンする能力は、従来技術システムには存在しない。
【００７０】
まず、複数の定義を示す。ディスプレイとは、レンダリングされた画像（ｉｍａｇｅｒｙ）をユーザに出力するのに使用される１つまたは複数のデバイスである。フレームバッファは、ディスプレイの少なくとも一部の内容を動的に表すのに使用される。ディスプレイリフレッシュレートとは、物理ディスプレイまたはその一部が、フレームバッファの内容を使用してリフレッシュされるレートである。フレームバッファのフレームレートとは、フレームバッファが更新されるレートである。
【００７１】
例えば、通常のパーソナルコンピュータでは、ディスプレイリフレッシュレートは６０〜９０Ｈｚである。例えば、ほとんどのデジタルビデオは、２４〜３０Ｈｚのフレームレートを有する。したがって、デジタルビデオの各フレームは、実際には、ディスプレイがリフレッシュされるときに少なくとも２回表示される。複数のフレームバッファを、異なるフレームレートで利用することができ、したがって、同一のディスプレイに実質的に同時に表示することができる。これは、例えば、異なるフレームレートを有する２つのデジタルビデオが同一ディスプレイ上で異なるウィンドウ内で再生されているときに発生するはずである。
【００７２】
ズーミングユーザインターフェース（ＺＵＩ）に関する１つの問題は、ユーザがズームするときに、ビジュアルコンテンツを異なる解像度で表示しなければならないことである。この問題に対する理想的な解決策は、すべての連続するフレームで、基礎になるビジュアルコンテンツに基づく正確な新たに計算されたイメージを表示することであるはずである。そのような手法に関する問題は、ユーザがズームするときのリアルタイムでのビジュアルコンテンツの各解像度の正確な再計算が、基礎になるビジュアルコンテンツが複雑である場合に、計算的に非実用的であることである。
【００７３】
前述の結果として、従来技術のＺＵＩシステムは、それぞれが同一のビジュアルコンテンツの異なる解像度での表現である複数の事前計算されたイメージを使用する。我々は、これらの異なる事前計算されたイメージのそれぞれを、詳細レベル（ＬＯＤ）と称する。概念上は減少する解像度のイメージのスタックとして編成される、ＬＯＤの完全なセットを、ＬＯＤピラミッドと称する。図１０を参照されたい。そのような従来技術のシステムでは、ズームが発生するときに、システムは、ＬＯＤの間で補間し、結果のイメージを所望の解像度で表示する。この手法は、計算的問題を解決しはするが、しばしばぼけて、非現実的であり、異なるＬＯＤの補間を表すという事実に起因してしばしば情報の消失を伴う、最終的な損なわれたイメージを表示する。これらの補間誤差は、ユーザがズームを停止し、どのＬＯＤの解像度とも正確には一致しない選択された解像度で静止イメージを見る機会を得るときに特に顕著である。
【００７４】
事前計算されたＬＯＤの間の補間に関するもう１つの問題は、この手法が、通常、ベクトルデータを写真データまたはイメージデータと同一の形で扱うことである。青写真または線画などのベクトルデータは、レンダリングアルゴリズムを使用して抽象命令のセットを処理することによって表示され、このレンダリングアルゴリズムは、すべての所望の解像度で直線、曲線、および他のプリミティブ形状をレンダリングすることができる。スケーラブルフォントを使用してレンダリングされるテキストが、ベクトルデータの重要なスペシャルケースである。イメージデータまたは写真データ（ビットマップフォントを使用してレンダリングされるテキストを含む）は、そのように生成されるのではなく、事前計算されたＬＯＤの間の補間によって、またはオリジナルイメージの再サンプリングによってのいずれかで表示されなければならない。この後者を、我々は非ベクトルデータと称する。
【００７５】
ズームシーケンス中にフレームごとに新しい解像度でベクトルデータを再表示するのにレンダリングアルゴリズムを使用する従来技術のシステムは、対話的フレームレートを達成するために、単純なベクトルドローイングだけにそれ自体を制約しなければならない。その一方で、ベクトルデータについてＬＯＤを事前計算し、それらの間で補間する従来技術のシステムは、非ベクトルデータに関して、ほとんどのベクトルデータレンディションに固有の鋭いエッジが、特に補間誤差に敏感なので、著しく劣化したビジュアル品質を欠点として持つ。この劣化は、ベクトルデータのスペシャルケースであるテキストコンテンツについて、通常は受け入れられない。
【００７６】
[非特許文献１]Lance Williams. "Pyramidal Parametrics," Computer Graphics (Proc. SIGGRAPH '83) 17(3): 1-11 (1983)
[発明の開示]
[発明が解決しようとする課題]
本発明の目的は、ユーザが実際に物理オブジェクトを見、その物理オブジェクトをそのユーザ自身のより近くに移動した場合にそのユーザが見るはずのズーム効果を複製するＺＵＩを作成することである。
【００７７】
本発明の目的は、適当な解像度でイメージを表示するが、最終的な表示されるイメージ内の補間誤差を避けるか減らすＺＵＩを作成することである。本発明のもう１つの目的は、コンテンツの明快なぼけていないビューを維持し、対話的フレームレートを維持しながら、ユーザが、ベクトルコンテンツに任意にズームインできるようにすることである。
【００７８】
本発明のもう１つの目的は、コンテンツの全体的外見を保存し、対話的フレームレートを維持しながら、複雑なベクトルコンテンツの概観を得るために、ユーザが任意にズームアウトできるようにすることである。
【００７９】
本発明のもう１つの目的は、対話中のＬＯＤまたはレンディション品質の間の遷移のユーザによる知覚を減らすことである。
【００８０】
本発明のもう１つの目的は、イメージの諸部分をレンダリングするのに通常は必要な情報がまだ不完全であるときに、ぼけによるイメージ品質のグレースフルデグラデーションを可能にすることである。
【００８１】
本発明のもう１つの目的は、イメージの諸部分をレンダリングするのに必要なより完全な情報が使用可能になるときに、イメージによりシャープに焦点を合わせることによって、イメージ品質を漸進的に高めることである。
【００８２】
本発明の目的は、ベクトルデータと非ベクトルデータとの両方を最適に独立にレンダリングすることである。
【００８３】
本発明の上記および他の目的は、次の明細書の再検討から当業者に明白になるであろう。
【００８４】
[課題を解決するための手段]
従来技術の上記および他の問題は、本発明に従って克服され、本発明は、ユーザがズームインし、ズームアウトし、回転し、パンし、または他の形でイメージのそのユーザのビューを変更するときに、動的に変化する解像度でイメージを表示できるようにするＺＵＩを実装するためのハイブリッド戦略に関する。ビューのそのようなすべての変化を、ナビゲーションと称する。事前定義のＬＯＤのどれの解像度とも等しくない解像度へのイメージのズームは、所望の解像度を「囲む」事前定義のＬＯＤから補間された新しい解像度でイメージを表示することによって達成される。「囲むＬＯＤ」とは、所望の解像度より高い最低の解像度のＬＯＤと、所望の解像度より低い最高の解像度のＬＯＤとを意味する。所望の解像度が、最高の使用可能な解像度を有するＬＯＤの解像度より高い、または最低の解像度を有するＬＯＤの解像度より低いのいずれかである場合には、単一の「囲むＬＯＤ」だけがある。事前計算されたＬＯＤのセットに基づく所望の解像度でのイメージの動的補間を、文献では、ミップマッピングまたはトライリニア補間と称する。後者の用語は、さらに、双一次サンプリングが、囲むＬＯＤを再サンプリングするのに使用され、これに、これらの再サンプリングされたＬＯＤの間の線形補間が続くことを示す（したがって、トライリニア）（例えば、非特許文献１参照）。前述の文書は、参照によってその全体を本明細書に組み込まれている。Ｗｉｌｌｉａｍｓによって導入されたミップマッピング技法の明白な変更またはこれに対する拡張は、非線形再サンプリングおよび／または囲むＬＯＤの補間を使用する。本発明では、再サンプリング動作および補間動作がゼロ次（最近傍）、線形、より高次、またはより一般に非線形であるかどうかは重要でない。
【００８５】
本明細書で説明する発明によれば、ユーザが、正確な所望の解像度（この解像度が事前定義のＬＯＤのうちの１つの解像度であることはほとんど絶対にない）を定義するときに、最終イメージは、好ましくはまず中間最終イメージを表示することによって表示される。中間最終イメージは、本明細書で後で説明するようにイメージが洗練される前に、所望の解像度で表示される最初のイメージである。中間最終イメージは、従来技術を使用して所望の解像度で表示されるはずのイメージに対応するものとすることができる。
【００８６】
好ましい実施形態では、中間最終イメージから最終イメージへの遷移は、下で詳細に説明するように漸進的とすることができる。
【００８７】
機能強化された実施形態では、本発明は、下でより詳細に説明するように、無理数増分（すなわち、２つの整数の比として表すことができない、連続するＬＯＤの間の拡大率または縮小率）を含む任意の解像度増分でＬＯＤに間隔をおくことを可能にする。
【００８８】
もう１つの機能強化された実施形態では、各異なるＬＯＤのイメージの諸部分が、タイルと表され、そのようなタイルは、見る人へのすべての知覚される不完全を最小にする順序でレンダリングされる。他の実施形態では、表示されるビジュアルコンテンツは、複数のＬＯＤ（潜在的には上で説明した囲むＬＯＤのスーパーセット）からなり、これらのＬＯＤのそれぞれは、不完全を隠す形でディスプレイに最終イメージに徐々にフェードインさせるために、正しい比率で正しい位置に表示される。
【００８９】
複数のＬＯＤ内の様々なタイルのレンディションは、本システムがほとんどのラップトップコンピュータおよびデスクトップパーソナルコンピュータで使用可能な通常のクロック速度を有する標準的なコンピュータで動作できるようにするために、受け入れられるレベルの計算的複雑さの中に留まりながら、ビジュアルコンテンツの外見を最適にする順序で達成される。
【００９０】
本発明は、イメージがすばやいズームおよびパンの間には事前定義のＬＯＤを使用して表示されるが、ビューが十分に安定するときには、正確なＬＯＤがレンダリングされ、表示される、ハイブリッド戦略を用いる。正確なＬＯＤは、ユーザによって選択された正確な解像度でレンダリングされ、表示され、この解像度は、通常、事前定義のＬＯＤとは異なる。人間の視覚系は、ビジュアルコンテンツがまだ動いている間にはビジュアルコンテンツの微細な詳細に鈍感なので、このハイブリッド戦略は、はるかにより少ない計算を用いて連続的な「完全なレンダリング」という錯覚を生み出すことができる。
【００９１】
[発明を実施するための最良の形態]
図１１に、本発明の実装の基本技法の流れ図を示す。図１１の流れ図は、本発明の例示的実施形態を表し、イメージが初期解像度で表示されるときに実行を開始する。本発明を、クライアント／サーバモデルで使用することができるが、クライアントおよびサーバを、同一のマシン上または異なるマシン上としてもよいことに留意されたい。したがって、例えば、ホストコンピュータでリモートに格納された離散的なＬＯＤのセットを設けることができ、ユーザを、ローカルＰＣを介して前記ホストに接続することができる。利用される実際のハードウェアプラットフォームおよびシステムは、本発明にとってクリティカルではない。
【００９２】
この流れ図には、特定の解像度のイメージの初期ビューと共に開始ブロック２４１で入る。この例では、イメージは、静的と解釈される。そのイメージは、ブロック２４２で表示される。ユーザは、例えばコンピュータマウスを移動することによって、そのイメージをナビゲートすることができる。ブロック２４２で表示された初期ビューは、ユーザがそのイメージをナビゲートするときに変化する。基礎になるイメージ自体は、モーションビデオの場合など、動的とすることができるが、この例においては、イメージ自体は静的として扱われることに留意されたい。上で説明したように、表示されるすべてのイメージは、テキストデータもしくは他のベクトルデータならびに／または写真および他のイメージなどの非ベクトルデータを有することもできる。本発明および下の議論全体は、イメージがベクトルデータまたは非ベクトルデータあるいはその両方のどれを含むかにかかわりなく適用可能である。
【００９３】
ブロック２４２で表示されるビジュアルコンテンツのタイプにかかわりなく、この方法は、判断ポイント２４３に制御を転送し、この判断ポイント２４３では、ナビゲーション入力を検出することができる。そのような入力が検出されない場合には、この方法は、ブロック２４２にループバックし、静止ビジュアルコンテンツの表示を継続する。ナビゲーション入力が検出される場合には、制御は、図示のようにブロック２４４に転送される。
【００９４】
判断ポイント２４３は、移動を検出する特定の信号を探すソフトウェアの連続ループ、ハードウェアの割込みシステム、または任意の他の所望の方法論によって実装することができる。ナビゲーション要求を検出し、分析するのに利用される特定の技法は、本発明にとってクリティカルではない。使用される方法論にかかわりなく、本システムは、要求を検出することができ、したがって、イメージをナビゲートする望みを示すことができる。本明細書の議論の多くは、ズームに関するが、これらの技法が、ズーム、パン、または他の形のナビゲートに適用可能であることに留意されたい。実際に、本明細書で説明される技法は、すべてのタイプの動的変換またはイメージ上の遠近法での変化に適用可能である。そのような変換には、例えば、３次元の平行移動および回転、イメージフィルタの適用、ローカルストレッチング、イメージの選択された領域に適用される動的空間的歪み、またはより多くの情報を明らかにする可能性があるすべての他の種類の歪みを含めることができる。もう１つの例は、イメージの上で移動することができ、イメージ内で仮想拡大鏡の下の部分を拡大する仮想拡大鏡である。判断ポイント２４３が、ユーザがナビゲーションを開始しようとしていることを検出するときに、ブロック２４４が、イメージの新しいビューをレンダリングし、表示し、この新しいビューは、例えば、前の表示されたビューと異なる解像度であってもよい。
【００９５】
新しいビューを表示する１つの単純な従来技術の技法は、ユーザがズームインまたはズームアウトするときにＬＯＤを補間することに基づく。選択されるＬＯＤは、所望の解像度すなわち新しいビューの解像度を「囲む」２つのＬＯＤとすることができる。補間は、従来のシステムでは、ユーザがズームするときにコンスタントに発生し、したがって、しばしば、速度を達成するために直接にハードウェアで実装される。判断ポイント２４５での動きの検出と、ブロック２４４での適当な補間されたイメージの実質的に即座の表示との組合せは、ユーザがナビゲートするときにイメージが連続的にズームして見えることをもたらす。ズームインまたはズームアウトの間には、イメージが動きつつあるので、補間されたイメージは、現実的で明瞭に見えるのに十分である。補間誤差は、イメージのコンスタントに変化するビューによって隠されるので、人間の視覚系によって最小限に検出可能であるに過ぎない。
【００９６】
判断ポイント２４５では、本システムは、動きが実質的に止まったか否かをテストする。これは、例えばビューの１つまたは複数のパラメータの変化のレートを測定することを含む、様々な技法を使用して達成することができる。すなわち、この方法論は、ユーザが、ズームを完了した点に達したか否かを確かめる。判断ポイント２４５でのそのような安定化のときに、制御は、ブロック２４６に転送され、このブロック２４６で、正確なイメージがレンダリングされ、その後、制御はブロック２４３に戻る。したがって、すべての所望の解像度で、本システムは、正確なＬＯＤを最終的に表示する。
【００９７】
特筆すべきことに、表示は、２つの事前定義のＬＯＤの補間によって単純にレンダリングされ、表示されるのではなく、初期ビューがブロック２４２で表示されたときにテキストデータまたは他のベクトルデータをレンダリングするのに使用されたオリジナルアルゴリズムを使用してベクトルデータを再レンダリングすることによってレンダリングし、表示することができる。非ベクトルデータを、正確な要求されたＬＯＤでのレンダリングおよび表示のために再サンプリングすることもできる。要求された再レンダリングまたは再サンプリングは、所望の解像度での表示に必要な正確な解像度だけではなく、所望のビューに基づいて計算される、基礎になるコンテンツに対する相対的なディスプレイピクセルの正しい位置に正確に対応するサンプリンググリッド上でも実行することができる。例として、ディスプレイ上のイメージのディスプレイ平面内での１／２ピクセルの平行移動は、必要な解像度を変化させないが、サンプリンググリッドを変更し、したがって、正確なＬＯＤの再レンダリングまたは再サンプリングを必要とする。
【００９８】
図１１の前述のシステムは、ビューが変化している（例えば、ナビゲーションが行われている）間には事前定義のＬＯＤに基づく補間が利用されるが、ビューが実質的に静止状態になるときには正確なビューがレンダリングされ、表示される、ハイブリッド手法を表す。
【００９９】
本明細書での説明において、「レンダリングする」とは、ベクトルデータまたは非ベクトルデータに基づく特定のＬＯＤでのタイルのコンピュータによる生成を指す。非ベクトルデータに関して、より高いまたはより低い解像度でオリジナルのイメージを再サンプリングすることによって、これらの非ベクトルデータを任意の解像度で再レンダリングすることができる。
【０１００】
ここで、図１１のブロック２４６によって表される正確な最終イメージを達成するのに必要なビジュアルコンテンツの異なる部分をレンダリングし、表示する方法論に移る。図１２を参照すると、ナビゲーションが止まったと判定されるときに、制御は、ブロック３３３に転送され、補間されたイメージが、ズーム中の場合と同様に、即座に表示される。我々は、ナビゲーションが止まった後に一時的に表示され得るこの補間されたイメージを、中間最終イメージまたは単に中間イメージと呼ぶ。このイメージは、囲むＬＯＤの補間から生成される。いくつかの場合に、下でより詳細に説明するように、中間イメージは、３つ以上の離散ＬＯＤから、または所望の解像度を囲むＬＯＤ以外の２つの離散ＬＯＤから補間される場合がある。
【０１０１】
中間イメージを表示したならば、ブロック３３４に入り、このブロック３３４は、そのイメージに、我々が最終イメージと呼ぶそのイメージの正確なレンディションに向かって漸進的にフェードし始めさせる。最終イメージは、最終イメージがどの事前定義のＬＯＤの補間をも伴わない場合があるという点で、中間イメージと異なる。代わりに、最終イメージまたはその諸部分は、新たにレンダリングされるタイルを含むことができる。写真データの場合には、新たにレンダリングされるタイルを、オリジナルデータの再サンプリングに由来するものとすることができ、ベクトルデータの場合には、新たにレンダリングされるタイルを、所望の解像度でのラスタライゼーションに由来するものとすることができる。
【０１０２】
ブロック３３３から３３５に直接にスキップし、補間されたイメージを最終的な正確なイメージに即座に置換することが可能であることにも留意されたい。しかし、好ましい実施形態では、ステップ３３４が実行され、したがって、中間最終イメージから最終イメージへの切替えは、漸進的に滑らかに行われる。この漸進的フェードは、時々ブレンディングと呼ばれるが、ナビゲーションが止まるときにイメージに漸進的に焦点が合うようにさせ、カメラまたは他の光学機器のオートフォーカスに似た効果を生み出す。この効果によって作成される身体性の錯覚は、本発明の重要な態様である。
【０１０３】
次は、イメージ内の知覚される不規則性、突然の変化、継ぎ目、および他の不完全を最小にするために、このフェードまたはブレンディングを行うことができる形の議論である。しかし、フェードの特定の技法が、本発明にとってクリティカルではなく、多数の変形形態が、当業者に明白であろうことを理解されたい。
【０１０４】
異なるＬＯＤは、基礎になるビジュアルコンテンツの物理的面積あたりのサンプル数において異なる。したがって、第１ＬＯＤが、見えるオブジェクトの１インチ（２５．４ｍｍ）×１インチ（２５．４ｍｍ）の面積を占め、単一の３２×３２サンプルタイルを生成する場合がある。しかし、この情報を、同一の１インチ（２５．４ｍｍ）×１インチ（２５．４ｍｍ）の面積をとり、これを６４×６４サンプルであるタイルとして、したがってより高い解像度で表現することによって、レンダリングすることもできる。
【０１０５】
我々は、無理数タイリングと呼ばれる概念を定義する。タイリング粒度は、変数ｇとして記述されるが、次に低い解像度のＬＯＤの直線タイリンググリッドサイズに対する、より高い解像度のＬＯＤの直線タイルグリッドサイズの比として定義される。トライリニア補間を紹介するＷｉｌｌｉａｍｓの論文では、ｇ＝２である。ｇのこの同一の値が、他の従来技術で使用されてきた。ＬＯＤは、任意の形でタイルに副分割され得るが、例示的実施形態では、各ＬＯＤは、一定の個数のサンプルを含む正方形または長方形のタイルのグリッドに副分割される（ビジュアルコンテンツのエッジで必要な場合を除く）。概念上、ｇ＝２のときに、あるＬＯＤの各タイルは、図１３に示されているように、次に高い解像度のＬＯＤで２×２＝４個のタイルに「分割」される（やはり、潜在的にエッジを除く）。
【０１０６】
粒度２のタイリングには、根本的な欠点がある。通常、ユーザが、タイル内のランダムな点にズームインする場合に、ズームにおけるすべてのｇ倍の増加は、ユーザがそれに向かってズームしている点の付近の次に高い解像度のＬＯＤに対応する単一の追加タイルのレンディションを必要とする。しかし、ユーザが、タイリンググリッド内のグリッド線にズームインしている場合には、その線の両側で１つずつの、２つの新しいタイルがレンダリングされる必要がある。最後に、ユーザが、２つのグリッド線の交差点にズームインしている場合には、４つの新しいタイルがレンダリングされる必要がある。これらのイベント（各ｇ倍ズームに伴って１つ、２つ、または４つの新しいタイルを必要とする）が、長いズームシーケンス全体にわたってランダムに散在する場合には、全体的な性能は、一貫したものになる。しかし、すべての整数粒度タイリング（すなわち、ｇが整数である場合）のグリッド線は、すべてのより高い解像度のＬＯＤについてグリッド線のままになる。
【０１０７】
例えば、粒度２でタイリングされた非常に大きいイメージの中心へのズームインを考慮されたい。我々は、ビジュアルコンテンツが角（０，０）、（０，１）、（１，０）、および（１，１）を有する正方形に含まれるという規約を採用して、この点の（ｘ，ｙ）座標を（１／２，１／２）と書く。中心は、２つのグリッド線の交差点にあるので、ユーザが各より高い解像度のＬＯＤに達するときに、４つの新しいタイルが、毎回レンダリングされる必要があり、これは、この特定の点でのズームに関する遅い性能および非効率性をもたらす。その一方で、ユーザが、無理数点（ｘおよびｙを２つの整数の比として表現することができないグリッド点（ｘ，ｙ）を意味する）にズームインすると想定されたい。そのような数の例が、パイ（＝３．１４１５９．．．）および２の平方根（＝１．４１４２１３．．．）である。次に、すべてのｇ倍のズームについてレンダリングされる必要があるタイルの個数によって与えられる１、２、および４のシーケンスが、擬似ランダムである、すなわち、周期的なパターンに従わないことを、簡単に実証することができる。この種の擬似ランダムシーケンスは、性能の観点から明らかにより望ましく、性能の観点からは、ズームに関する区別される点はない。
【０１０８】
無理数タイリングは、この問題を解決する。ｇ自体は、無理数、通常は３、５、または１２の平方根になるようにされる。これは、所与のＬＯＤでの平均３個、５個、または１２個のタイル（ｇに対応して）が、次に低い解像度のＬＯＤの単一のタイル内に含まれることを意味するが、連続するＬＯＤでのタイリンググリッドは、もはや、この方式ではどのグリッド線とも「一致」しないことに留意されたい（潜在的に、ビジュアルコンテンツの先頭のエッジすなわちｘ＝０およびｙ＝０と、各軸に沿ったある他の事前に選択された単一のグリッド線を除く）。ｇが、どの整数のｎ乗根でもなくなるように選択される（パイはそのような数である）場合には、どのＬＯＤも、グリッド線をまったく共有しない（やはり、潜在的にｘ＝０およびｙ＝０を除く）。したがって、各タイルが、次に低いＬＯＤで１個、２個、または４個のタイルにランダムにオーバーラップすることができることを示すことができるが、ｇ＝２では、この個数が必ず１である。
【０１０９】
したがって、無理数タイリング粒度を用いると、任意の点へのズームインは、１個、２個、または４個のタイルの要求の擬似ランダムストリームを作り、性能は、どこにズームインするときであっても平均して均一になる。おそらく、無理数タイリングの最大の利益は、深いズームの後のパンに関連して現れる。ユーザが、深くズームインした後にイメージをパンするときには、ある点で、グリッド線が、ディスプレイ上で移動される。通常は、このグリッド線の他方の側の領域が、ディスプレイの残りより低い解像度のＬＯＤに対応することになるが、これらの解像度の間の差は、できる限り小さいことが望ましい。しかし、整数のｇを用いると、この差は、グリッド線が多数の連続するＬＯＤにまたがってオーバーラップし得るので、しばしば極端に大きくなる。これは、図１５（ａ）に示されている、ノード領域にまたがる解像度の「深い亀裂」を生み出す。
【０１１０】
その一方で、無理数タイリングのグリッド線は、隣接するＬＯＤのグリッド線と絶対にオーバーラップしない（やはり、イメージの１つの角にあるものとすることができる、各方向で１つのグリッド線という可能な例外がある）ので、複数のＬＯＤの解像度の不連続性は、発生しない。相対解像度におけるこの高められた滑らかさは、空間的な連続性の錯覚をはるかに説得力のあるものにすることを可能にする。
【０１１１】
図１５（ｂ）に、無理数タイリング粒度によって得られる利益を示す。図１５は、ビジュアルコンテンツの複数のＬＯＤを通る断面を示し、各棒は、長方形タイルの断面を表す。したがって、上から２番目のレベルは、２つの棒があるが、２×２＝４タイルＬＯＤとすることができる。最上部から最下部まで描かれた曲線６３１は、ズーム動作中の関連するＬＯＤでのビジュアルコンテンツの可視領域の境界を表し、解像度が高められる（より多くの詳細を明らかにするためにズームインする）ときには、検査中の面積が減る。より暗い色の棒（例えば、６３２）は、ズームの過程で既にレンダリングされているタイルを表す。より明るい色の棒は、まだレンダリングされておらず、したがって、表示することができない。タイリングが、図１５（ａ）に示されているように整数的であるときには、空間にまたがる解像度の不意の変化が、一般的であり、ユーザがズームの直後にパンする場合には、矢印によって示される空間的境界で、４つのＬＯＤが不意に「終わる」ことに留意されたい。この結果のイメージは、この境界の左側では鋭く見えるが、右側では極端にぼけて見える。無理数タイリング粒度を使用して表された同一のビジュアルコンテンツは、そのような解像度の「亀裂」がなく、隣接するＬＯＤは、左のエッジに示されたものを除いて、タイル境界を共有しない。数学的には、この共有される境界は、多くとも、ｘ軸上の１つの位置およびｙ軸上の１つの位置で発生し得る。図示の実施形態では、この共有される境界が、ｙ＝０およびｘ＝０に位置決めされているが、存在する場合に、これらを、任意の他の位置に置くこともできる。
【０１１２】
無理数タイリング粒度のもう１つの利益は、特にｇが大きすぎない有用な範囲にわたって、整数よりはるかに多数の無理数があるので、無理数タイリング粒度がｇのより微細な制御を可能にすることである。この追加の自由は、ある種のアプリケーションのズーム性能をチューニングするのに有用である可能性がある。ｇに、整数の無理数平方根（ｓｑｒｔ（２）、ｓｑｒｔ（５）、またはｓｑｒｔ（８）など）がセットされる場合に、上で説明した実施形態では、交互のＬＯＤのグリッド線が、正確に位置合せされるはずであり、ｇが無理数三乗根である場合には、３つおきのＬＯＤが、正確に位置合せされるはずであり、以下同様である。これは、下で定義される合成タイルの複雑さを制限することに関する追加の利益を与える。
【０１１３】
本発明の重要な態様は、タイルがレンダリングされる順序である。より具体的に言うと、様々なＬＯＤの様々なタイルは、すべての可視タイルが最初にレンダリングされるように、最適にレンダリングされる。非可視タイルは、まったくレンダリングされない場合がある。可視タイルのセット内で、レンディションは、高まる解像度の順序で進行し、その結果、低解像度ＬＯＤ内のタイルが、最初にレンダリングされるようになる。どの特定のＬＯＤの中であっても、タイルは、ディスプレイの中心からの増加する距離の順序でレンダリングされ、我々は、これをフォービエイテッド（ｆｏｖｅａｔｅｄ）レンダリングと称する。そのようなタイルを説明された順序でソートするために、ヒープソート、クイックソート、または他のソートなどの多数のソートアルゴリズムを使用することができる。この順序付けを実装するために、辞書式キーを、「要求」をソートするのに使用して、タイルをレンダリングすることができ、外側のサブキーが可視性、中央のサブキーが物理単位あたりのサンプル内の解像度、内側のサブキーがディスプレイの中心までの距離になる。タイルレンダリング要求を順序付ける他の方法も、使用することができる。タイルの実際のレンダリングは、本明細書に記載のナビゲーションおよび表示と共に並列プロセスとして最適に行われる。レンダリングおよびナビゲーション／表示が並列プロセスとして進行するときには、ユーザ応答性は、タイルのレンダリングが遅いときであっても高いままになる可能性がある。
【０１１４】
ここで、例示的実施形態でタイルをレンダリングするプロセスを説明する。あるタイルが、ストロークベースフォントのアルファベット活版印刷などのベクトルデータを表す場合に、このタイルのレンダリングは、アルファベットデータをラスタライズするアルゴリズムを実行することと、おそらくはそのデータをクライアントからサーバに送信することとを伴う。あるいは、ラスタライゼーションアルゴリズムに供給されるデータを、クライアントに送信することができ、クライアントは、タイルをラスタライズするアルゴリズムを実行することができる。もう１つの例で、デジタルサンプリングされた写真データを伴うタイルのレンダリングは、適当なＬＯＤでタイルを生成するためにそのデータを再サンプリングすることを用いることができる。事前に格納される離散ＬＯＤについて、レンダリングは、後の表示のためにクライアントコンピュータにタイルを単純に送信することだけを用いることができる。最終イメージ内のタイルなど、離散ＬＯＤの間に含まれるタイルについて、上で説明した、あるさらなる計算が必要になる場合がある。
【０１１５】
どの所与のときでも、タイルがレンダリングされ、イメージが正確なイメージに向かってフェードし始めるときに、実際のディスプレイには、異なるＬＯＤからの異なるタイルの異なる混合物が含まれる可能性がある。したがって、ディスプレイの任意の部分に、例えばＬＯＤ  １からの２０％、ＬＯＤ  ２からの４０％、およびＬＯＤ  ３からの４０％が含まれる可能性がある。表示されるタイルにかかわりなく、本アルゴリズムは、表示用にレンダリングされたタイルをそれが最も必要とされるときに供給するのに最も適する優先順序で、様々なＬＯＤからのタイルをレンダリングすることを試みる。レンダリングされたタイルの実際の表示は、図１４に関して後でより詳細に説明する。
【０１１６】
次では、イメージ詳細の空間的および時間的連続性を保証できるアルゴリズムを使用して複数のＬＯＤを描く方法を説明する。このアルゴリズムは、同一のディスプレイ領域をカバーするより低い解像度のタイルに優先して高解像度タイルを使用し、なおかつ、ＬＯＤの間の鋭い境界を避けるために空間的ブレンディングを使用し、より高い詳細が使用可能になる場合に、そのときに（すなわち、より高い解像度のタイルがレンダリングされ終えたときに）そのより高い詳細をブレンドインするために時間的に累進的なブレンディング重みを使用して、すべてのレンダリングされたタイルを最もよく利用するように設計されている。従来技術と異なって、このアルゴリズムおよびその変形は、ディスプレイ上の所与の点で３つ以上のＬＯＤが一緒にブレンディングされることをもたらすことができ、ディスプレイ領域にまたがって滑らかに変化するブレンディング係数をもたらすこともでき、ユーザがナビゲートするのをやめた後であっても経時的に漸進的に変化するブレンディング係数をもたらすことができる。この例示的実施形態では、それでも、このアルゴリズムは、下で明白になるように、計算的に効率的であり、画像を部分的に透明なものとして、またはイメージ領域にまたがって変化する全体的な透明度を用いてレンダリングするのに使用することができる。
【０１１７】
我々は、本明細書で合成タイル領域または単に合成タイルを定義する。合成タイルを定義するために、互いの上に積み重ねられたＬＯＤのすべてを考慮する。各ＬＯＤは、それ自体のタイルグリッドを有する。合成グリッドは、すべてのＬＯＤからのすべてのグリッドを単一の平面に投影することによって形成される。合成グリッドは、異なるＬＯＤのすべてからのタイルの境界によって定義される、異なるサイズの様々な合成タイルから構成される。これを、図１６に概念的に示す。図１６は、すべてが同一のイメージを表す、３つの異なるＬＯＤ  ７０１から７０３からのタイルを示す。ＬＯＤ  ７０１から７０３が、互いの上に積み重ねられていると想像することができる。その場合に、これらのＬＯＤのそれぞれの角７５０の位置を合わせ、互いの上に積み重ねた場合に、７４０によって表される領域は、７３０によって表される領域の内側になり、７３０および７４０によって表される領域は、７２０によって表される領域の内側になる。図１６の領域７１０は、単一の「合成タイル」７１０があることを示す。合成タイルのそれぞれは、各フレーム中に検査され、フレームレートは、通常は毎秒１０フレームを超えるものとすることができる。上で説明したように、このフレームレートが、必ずしもディスプレイリフレッシュレートではないことに留意されたい。
【０１１８】
図１４に、タイルがレンダリングされるときにフレームバッファを更新するアルゴリズムの流れ図を示す。図１４の配置は、フレームバッファが更新されるたびに、表示されるイメージ内のすべての合成タイルを操作することを意図されたものである。したがって、例えば、フレーム持続時間が１秒の１／２０である場合に、スクリーン全体の合成タイルのそれぞれが、１秒の１／２０のそれぞれの間に検査され、更新されることが好ましい。合成タイルが、図１４のプロセスによって操作されるときには、合成タイルに、１つまたは複数のＬＯＤ内の関連するタイルが欠けている場合がある。図１４のプロセスは、合成タイルがその中にあるすべての使用可能な重畳されたタイルの加重平均として各合成タイルを表示することを試みる。合成タイルは、すべての所与のＬＯＤで正確に１つのタイルに含まれる形で定義され、したがって、加重平均を、各ＬＯＤの相対的な比率として表すことができることに留意されたい。このプロセスは、上で述べた最終イメージに向かってイメージに漸進的にフェードさせるために合成タイル内の各ＬＯＤの適当な重みを判定することと、空間および時間にまたがって漸進的にこれらの重みを変更することとを試みる。
【０１１９】
合成グリッドには、合成グリッド内のグリッド線のいずれかの交差点または角になるように定義された複数の頂点が含まれる。これらを、合成グリッド頂点と称する。我々は、ＬＯＤごとに、各合成グリッド頂点で不透明度を定義する。この不透明度は、０．０と１．０との間の重みとして表すことができ、したがって、各頂点でのすべてのＬＯＤ重みの和は、イメージが完全に不透明になることが所望の結果である場合には１．０でなければならない。ＬＯＤごとの各頂点での任意の特定のときの現在の重みは、メモリ内で維持される。
【０１２０】
頂点重みを更新するアルゴリズムは、下で説明するように進行する。
【０１２１】
次の変数は、０．０と１．０との間の数になるように選択されるが、タイルごとにメモリ内で保持される：ｃｅｎｔｅｒＯｐａｃｉｔｙ、各角のｃｏｒｎｅｒＯｐａｃｉｔｙ（タイリングが長方形グリッドである場合に４個）、およびエッジごとのｅｄｇｅＯｐａｃｉｔｙ（タイリングが長方形グリッドである場合に４個）。タイルが初めてレンダリングされるときには、真上でリストした、その不透明度のすべてに、通常は１．０がセットされる。
【０１２２】
ドローイングパス中に、このアルゴリズムは、最高解像度ＬＯＤから始めて、関連するＬＯＤごとに１回、合成タイリングをウォークスルーする。タイルごとの変数に加えて、このアルゴリズムは、次の変数を維持する：ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄおよびｏｐａｃｉｔｙＧｒｉｄ。これらの変数の両方が、やはり０．０と１．０との間の数であり、合成タイリング内の頂点ごとに維持される。
【０１２３】
このアルゴリズムは、最高解像度から最低解像度への順序で、次の動作を実行しながら各ＬＯＤを順番にウォークスルーする。まず、０．０を、すべての頂点のｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄに割り当てる。次に、そのＬＯＤのレンダリングされたタイルごとに（いくつかのタイルがまだレンダリングされていない場合には、そのＬＯＤのタイルのセットのサブセットになる場合がある）、このアルゴリズムは、そのタイルのｃｅｎｔｅｒＯｐａｃｉｔｙ値、ｃｏｒｎｅｒＯｐａｃｉｔｙ値、およびｅｄｇｅＯｐａｃｉｔｙ値に基づいて、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄのうちでそのタイルに触れる部分を次のように更新する。
【０１２４】
頂点が完全にそのタイルの内側にある場合には、その頂点は、ｃｅｎｔｅｒＯｐａｃｉｔｙを使用して更新される。
【０１２５】
頂点が、例えばそのタイルの左エッジにある場合には、その頂点は、左のｅｄｇｅＯｐａｃｉｔｙを用いて更新される。
【０１２６】
頂点が、例えばその右上角にある場合には、その頂点は、右上のｃｏｒｎｅｒＯｐａｃｉｔｙを用いて更新される。
【０１２７】
「更新」は、次を意味する。事前に存在するｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄ値が０．０より大きい場合には、新しい値に、現在の値またはこの変数がそれに更新されようとしている値のうちの最小値をセットする。事前に存在する値が０である（すなわち、この頂点がまだ操作されていない）場合には、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄ値に、この変数がそれに更新されようとしている値をセットする。最終的な結果は、各頂点位置のｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄに、この変数がそれに更新される最小の非ゼロ値がセットされることである。
【０１２８】
次に、このアルゴリズムは、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄをウォークスルーし、穴と称するまだレンダリングされていないタイルに接するすべての頂点に０．０をセットする。これは、ブレンディングの空間的連続性すなわち、合成タイルが穴に含まれる場合に、いつでも、現在のＬＯＤで、ドローイング不透明度が、その穴に接するすべての頂点で０にフェードしなければならないことを保証する。
【０１２９】
機能強化された実施形態では、このアルゴリズムは、次に、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄ値を緩和して、ＬＯＤブレンディングの空間的連続性をさらに改善する。これまでに説明した情況は、次のように描くことができる。すべての頂点は、テント支柱に類似し、その点でのｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄは、テント支柱の高さである。このアルゴリズムは、これまでに、穴に接するすべての点で、テント支柱がゼロの高さを有し、レンダリング済みのタイルの内側では、テント支柱にある（おそらくは）非ゼロ値がセットされることを保証している。極端な場合に、レンダリングされたタイルの内側のおそらくはすべての値に、１．０がセットされる。例示のために、レンダリングされたタイルが、まだレンダリングされた隣接タイルを有しておらず、したがって境界値が０．０であると仮定する。本明細書では、「マージン」が、０．０の境界テント支柱と１．０の内部テント支柱との間でどれほど狭いかは、指定してこなかった。このマージンが小さすぎる場合には、ブレンディングが技術的に連続である場合であっても、遷移は、空間にまたがる不透明度導関数として測定されるときに鋭すぎる可能性がある。緩和動作は、テントを平滑化し、０．０の値を必ず保存するが、おそらくは他のテント支柱を下げてテント表面によって定義される関数をより滑らかにする、すなわち、その最大の空間的導関数を制限する。様々な方法のうちのどれがこの動作を実装するのに使用されるかは、本発明にとって重要ではなく、１つの手法は、例えば、選択的低域フィルタリングを使用し、ゼロを手付かずのまま残しながら、すべての非ゼロの値をその隣接する値の加重平均に局所的に置換することである。他の方法も、当業者には明白であろう。
【０１３０】
次に、このアルゴリズムは、すべての合成グリッド頂点を通ってウォークし、各頂点のｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄおよびｏｐａｃｉｔｙＧｒｉｄの対応する値を検討し、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄが１．０−ｏｐａｃｉｔｙＧｒｉｄより大きい場合には、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄに１．０−ｏｐａｃｉｔｙＧｒｉｄをセットする。次に、やはり頂点ごとに、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄの対応する値を、ｏｐａｃｉｔｙＧｒｉｄに加算する。前のステップに起因して、これがｏｐａｃｉｔｙＧｒｉｄに１．０を超えさせることは、絶対にあり得ない。このアルゴリズムのこれらのステップは、より高い解像度のＬＯＤが使用可能になるときに、できる限り多くの不透明度が、それらのより高い解像度のＬＯＤによって寄与され、穴がある場合に限ってより低い解像度のＬＯＤが「透けて見える」ことを許すことを保証する。
【０１３１】
現在のＬＯＤのトラバーサルの最後のステップは、頂点ごとの不透明度値としてｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄを使用して、現在のＬＯＤの合成タイルを実際に描くことである。機能強化された実施形態では、ｌｅｖｅｌＯｐａｃｉｔｙＧｒｉｄに、ドローイングの直前に０．０から１．０までの範囲内のスカラｏｖｅｒａｌｌＯｐａｃｉｔｙ変数を乗じることができ、これによって、ｏｖｅｒａｌｌＯｐａｃｉｔｙによって与えられる部分的透明度を用いてイメージ全体を描くことが可能になる。各頂点で異なる不透明度を有する、長方形などの、イメージを含む多角形のドローイングが、標準的なプロシージャであることに留意されたい。これは、例えば、ＯｐｅｎＧＬグラフィックスライブラリまたはＤｉｒｅｃｔ３Ｄグラフィックスライブラリを使用する産業標準のテクスチャマッピング関数を使用して達成することができる。実際には、各そのような多角形の内部の中の描かれる不透明度は、空間的に補間され、多角形にまたがる不透明度の滑らかな変化がもたらされる。
【０１３２】
上で説明したアルゴリズムのもう１つの機能強化された実施形態では、タイルは、ｃｅｎｔｅｒＯｐａｃｉｔｙ、ｃｏｒｎｅｒＯｐａｃｉｔｙ、およびｅｄｇｅＯｐａｃｉｔｙの現在の値（現在値と呼ばれる）だけではなく、ｔａｒｇｅｔＣｅｎｔｅｒＯｐａｃｉｔｙ、ｔａｒｇｅｔＣｏｒｎｅｒＯｐａｃｉｔｙ、およびｔａｒｇｅｔＥｄｇｅＯｐａｃｉｔｙと呼ばれる値の平行セット（ターゲット値と呼ばれる）をも維持する。この機能強化された実施形態では、現在値は、タイルが初めてレンダリングされるときに、すべてに０．０がセットされるが、ターゲット値は、すべてに１．０がセットされる。その後、各フレームの後に、現在値は、ターゲット値により近い新しい値に調整される。これは、複数の数学公式を使用して実施することができるが、例として、次の形で行うことができる。新しい値＝古い値＊（１−ｂ）＋ターゲット値＊ｂ、ただし、ｂは、０．０を超え１．０未満のレートである。０．０に近いｂの値は、ターゲット値に向かう非常に遅い遷移をもたらし、１．０に近いｂの値は、ターゲット値に向かう非常に速い遷移をもたらす。不透明度を更新するこの方法は、ターゲットに向かう指数関数的収束をもたらし、時間的連続性の視覚的に満足な印象をもたらす。他の公式が、同一の結果を達成することができる。
【０１３３】
図１７は、本発明の１つまたは複数の実施形態による、図１７のＬＯＤピラミッドの第２レイヤのフォービエイテッドな順序でのレンダリングの連続するステージ示す図である。
【０１３４】
前述は、本発明の好ましい実施形態を説明するものである。本発明は、そのような好ましい実施形態に限定されず、添付の特許請求の範囲と一貫する様々な変更も、本発明に含まれる。
【０１３５】
[発明の名称]複数ノードディスプレイのシステムおよび方法
【０１３６】
[技術分野]
本発明は、コンピュータのズーミングユーザインターフェース（ＺＵＩ）に関する。
【０１３７】
[背景技術]
ほとんどの今日のグラフィカルコンピュータユーザインターフェースは、固定された空間的スケールのビジュアルコンポーネントを使用して設計されている。ビジュアルコンポーネントは、ズームインもしくはズームアウトまた他の形でそれをナビゲートすることによって操作することができる。しかし、様々なオブジェクトの座標をそれによって表すことができる精度は、そのような座標を表すために指定される、通常は１６と６４との間のビット数によって極端に制限される。この限られた表現サイズのゆえに、限られた精度がある。
【０１３８】
ズーミングユーザインターフェースのコンテキストで、ユーザは、ズームインし、前には単一ピクセルだけをカバーした領域にディスプレイ全体を満たさせることが簡単にできる。逆に、ユーザは、ズームアウトし、ディスプレイ全体のコンテンツを、単一ピクセルのサイズに縮小させることができる。各ズームインまたはズームアウトが、ｘｙ座標を多数の桁によって乗算し、または除算する場合があるので、ほんのわずかのそのようなズームが、例えば６４ビット浮動小数点数を用いて使用可能な精度を完全に使い果たす。その後は、丸めが、イメージ品質を顕著に劣化させる。
【０１３９】
[特許文献１]米国特許出願第１０／７９０２５３号明細書
[発明の開示]
[発明が解決しようとする課題]
本発明の目的は、より大きい範囲のズームが可能であるＺＵＩを提供することである。
【０１４０】
本発明のもう１つの目的は、座標が表現される精度が、特定のズーム詳細レベルで必要な要求された精度に関連するＺＵＩを提供することである。本発明のもう１つの目的は、有限の物理サイズの、しかし任意に高い複雑さまたは解像度を有するパン可能かつズーム可能な２次元空間を、より大きいパン可能かつズーム可能な２次元空間の明確に定義された領域に埋め込むことを可能にすることである。
【０１４１】
本発明のもう１つの目的は、深いズームインの後のズームアウトが、ウェブブラウザの「戻る」ボタンに似て振る舞うことを可能にし、ユーザがビジュアルナビゲーションを介するそのユーザのステップを引き返すことを可能にすることである。
【０１４２】
本発明のもう１つの目的は、ズームアウトの直後のズームインが、ウェブブラウザの「進む」ボタンに似て振る舞うことを可能にし、ユーザが任意に長いズームアウトの効果を正確に元に戻すことを可能にすることである。
【０１４３】
本発明のもう１つの目的は、ノード、すなわち下でより正確に定義されるビジュアルオブジェクトが、非常に多数の子ノード（例えば、１０＾２８個まで）を有することを可能にすることである。
【０１４４】
本発明のもう１つの目的は、ノードが、オンザフライでそれ自体の子をプログラム的に生成することを可能にし、ナビゲーション中にコンテンツを動的に定義し、作成し、または変更することを可能にすることである。
【０１４５】
本発明のもう１つの目的は、コンテンツが最終的に非常に大量のデータを使用して表現される場合であっても、そのデータがリモート位置に格納され、低帯域幅ネットワークを介して共有される場合であっても、任意に複雑なビジュアルコンテンツのほぼ即座のビューイングを可能にすることである。
【０１４６】
本発明のもう１つの目的は、対話的フレームレートを維持しながら、ユーザがビジュアルコンテンツに任意にズームインすることを可能にすることである。
【０１４７】
本発明のもう１つの目的は、コンテンツの全体的外見の保存と対話的フレームレートの維持との両方の過程で、複雑なビジュアルコンテンツの概観を得るために、ユーザが任意にズームアウトできるようにすることである。
【０１４８】
本発明の上記および他のより広義の目的は、次の明細書の再検討から、当業者に明白になるであろう。
【０１４９】
[課題を解決するための手段]
本発明の上記および他の目的は、ビジュアルコンテンツを複数の「ノード」として表示することによって達成される。各ノードは、好ましくはそれ自体の座標系およびレンダリングメソッドを有するが、１つの親ノード内に含まれることができ、その親ノードの座標系およびレンダリングメソッドで表されることができる。ユーザが、例えばズームインまたはズームアウトによって、このビジュアルコンテンツをナビゲートするときに、ノードは、ズームが適当な詳細レベルをもたらすときに「起動」されるのみである。ノードの起動は、異なるノードの座標系および／またはレンダリングメソッドではなく、そのノードがそれ自体の座標系および／またはレンダリングメソッドで表されることを引き起こす。
【０１５０】
ノードが起動される前に、そのノードは、親ノードの座標系で表されるか、あるいはまったく表されないかのいずれかになる。ノードが必要なときに限ってノードを起動することによって、座標系の精度は、表示されているもののズーム詳細レベルの関数になる。これは、このシステムが動作するコンピュータのメモリによって許される最大値を含みその最大値までの可変レベルの精度を可能にする。
【０１５１】
例示のために、現在好ましい形が図面に示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。
【０１５２】
[発明を実施するための最良の形態]
我々は、ディスプレイがカメラであり、このカメラを介して、ユーザが２次元表面すなわち２Ｄユニバース（ｕｎｉｖｅｒｓｅ）の一部を見ることができる、ユーザインターフェースメタファを仮定する。便宜のために、そうする必要はないが、物理的次元をこのユニバースに帰し、その結果、このユニバースを、例えば１メートルの正方形とすることができるようにする。本発明は、Ｎ次元表現に同等に適用可能である。
【０１５３】
例示的なユニバースは、２Ｄオブジェクトまたはノードを含み、ビジュアル表現を有し、動的または対話的とすることもできる（すなわち、ビデオクリップ、アプリケーション、編集可能なテキスト文書、ＣＡＤ図面、または静止イメージ）。ノードが可視になるためには、そのノードは、ディスプレイのある領域にそのノードを全体的にまたは部分的に描くことができるレンダリングメソッドに関連付けられなければならない。各ノードは、有限精度のローカル座標系をも与えられる。例示のために、我々は、ノードが、長方形であり、ローカル座標系によって表されると仮定する。
【０１５４】
この２つのパラメータすなわちレンダリングメソッドおよび座標系は、ノードをどのように表示するかと、ノード内のアイテムの位置とを指定する。各ノードは、０又は１個以上の子ノードを有することができ、これらの子ノードは、参照によってアドレッシングされる。ノードは、各子ノードの全情報を含む必要がなく、一般に含まず、その代わりに、子ノードを入手するのに必要な情報を提供するアドレスだけを含む。ユーザがナビゲートし、例えばズームインし、ズームアウトするときに、ノードは、例えば図１８に示されているようにスクリーンに表示される。
【０１５５】
一般に、「ノード」は、本発明における機能性の基本単位である。ほとんどのノードは、ナビゲーション中にユーザのディスプレイにビジュアルに現れ、一部のノードは、アニメーションされ、および／またはユーザ入力に応答することもできる。ノードは、あるノードが子ノードを含むことができるという点で階層的である。含む側のノードを、親ノードと呼ぶ。親ノードが子ノードを含むときには、子ノードのビジュアルマニフェステーションも、親のビジュアルマニフェステーション内に含まれる。各ノードは、論理座標系を有し、ノードの広がり全体が、この論理座標系内で定義される例示的長方形に含まれ、例えば、あるノードは、そのノードが長方形（０，０）−（１００，１００）に含まれるように論理座標系を定義することができる。
【０１５６】
各ノードは、そのプロパティを定義する次のデータを有することができる。
【０１５７】
○  その論理サイズ（上の例では１００×１００）を含む、ノードの論理座標系と、
○  （親）ノードの論理座標系で指定される、任意の子ノードのアイデンティティ、位置、およびサイズと、
○  オプションとして、任意の必要なユーザデータと、
−  次の動作または「メソッド」を定義する実行可能コード
○  「コンストラクション引数」に基づくノードデータの初期化と、
○  ノードの視覚的外見のすべてまたは一部のレンダリング（このメソッドの出力は、レンダリングされたタイルである）と、
○  オプションとして、キーボードイベントまたはマウスイベントなどのユーザ入力に対する応答。
【０１５８】
実行可能コードは、「ノードクラス」を定義し、多数の「ノードインスタンス」の間で共有されることができる。ノードインスタンスは、そのデータ内容において異なる。したがって、ノードクラスは、ＪＰＥＧイメージをレンダリングするのに必要なロジックを定義することができる。初期化コードに与えられる「コンストラクション引数」は、表示されるＪＰＥＧイメージのＵＲＬを含むはずである。特定のイメージを表示するノードは、ＪＰＥＧノードクラスのインスタンスになるはずである。ソフトウェアアプリケーションを同時に複数回インスタンス化できる方法と同様に、ノードの複数のインスタンスを同一のビジュアルコンテンツ内で表示可能とすることができる。
【０１５９】
複雑なビジュアル文書またはアプリケーションでは、通常、必要な機能性を多数の異なる形でノードに分割することが可能であることに留意されたい。例えば、複数のイメージ、プルダウンメニュー、およびボタンを含む、スクリプトによって記述されたウェブページ様の文書を、複雑なレンダリングメソッドおよびユーザ入力メソッドを有する単一のノードとして実装することができる。あるいは、その文書を、ページの全体的レイアウトを定義するのみの親ノードとして実装し、すべての構成イメージおよびボタンを子ノードとして実装することができる。これは、機能性をより効果的に再利用しまたは「ファクタリングする」という明白な利益を有し、ボタンは、すべてが同一の挙動を有し、したがって、すべてを同一のノードクラスのインスタンスとすることができ、イメージは、すべてを同一フォーマットとすることができ、したがって、共通のノードクラスのインスタンスとすることもできるなどである。これは、レイアウトの再配置をも単純化し、親ノードは、子ノードを簡単に移動し、または子ノードのサイズを変更することができる。
【０１６０】
本発明によれば、ビジュアルコンテンツを、ユーザによるナビゲーション入力の状態に依存する形で表示することができる。例えば、図１８に、都市の一部のイメージとすることのできるノード１０５を示す。ノード１０５は、子ノード１０１〜１０３を含むことができる。ノード１０１は、この都市内のビルディングのイメージとすることができ、ノード１０７は、運動場のイメージとすることができ、ノード１０３は、スポーツアリーナとすることができる。図示のズームのレベルでは、ノード１０１〜１０３は、比較的小さく、したがって、これらを、ノード１０５の座標系内の正しい位置に置かれた、ノード１０５内の詳細なしの小さい暗くされた領域として表すことができる。ノード１０５の座標系およびレンダリングメソッドだけが必要である。
【０１６１】
ユーザがズームインし、その結果、図１９に示されたものなどの異なる詳細レベル（ＬＯＤ）が生じる場合を考慮されたい。図１９のＬＯＤでは、ノード１０１および１０７は、ビジュアルコンテンツがはるかにより大きく表示されるという事実に起因して、もはやスクリーン上で可視ではない。さらに、スポーツアリーナノード１０３が表示されるサイズが今ははるかにより大きいので、個々のシート、フィールドなどのスポーツアリーナの詳細が、今は表示されるはずであることに留意されたい。
【０１６２】
前述を促進するために、スポーツアリーナノード１０３は、今は、ノード１０５の座標系内で詳細なしの暗くされた領域として表示されるのではなく、それ自体の座標系およびレンダリングメソッドを使用して表示されるために「起動」される。それ自体の座標系およびレンダリングメソッドを使用して表示されるときに、シーティング、競技のフィールドなどの詳細が、個別に示されるはずである。上で述べた他の機能、およびノード１０３に関連する機能も、ノード１０３が起動される時点で実行を開始するはずである。ノード１０３またはこれに関するすべてのノードの起動を引き起こす特定のナビゲーション条件は、設計選択の関数であり、本発明にとってクリティカルではない。
【０１６３】
ノード１０３が表示される精度は、ノード１０５によって利用される座標系ならびにノード１０３によって利用される座標系の組み合わされた精度である。したがって、例えば、前記ノードのそれぞれの座標系が８ビットを利用する場合に、組み合わされた精度は、ノード１０３の座標系がノード１０３内のアイテムの位置を指定することだけに利用されるが、ノード１０５内のノード１０３の全体的な位置がノード１０５の座標系内で指定されるので、１６ビットになる。このネスティングは、スポーツアリーナ１０３自体がその中に追加ノードを含む場合に繰り返して継続し得ることに留意されたい。例えば、１つのそのようなノード２０１を、実際に、このスポーツアリーナ内の特定の場内売り場とすることができる。これは、ノード１０３の座標系およびレンダリングメソッド内で多くの詳細なしで表される。ユーザが、スポーツアリーナ１０３へのズームインを継続するときに、ある点で、ノード２０１が起動される。ノード２０１が、８ビットの精度を使用して表示される場合に、これらの８ビットは、ノード２０１座標系内のどこに特定のアイテムが表示されなければならないかを指定する。それでも、ノード１０３内のノード２０１の位置は、ノード１０３の座標系内で８ビットの精度に維持され、このノード１０３の位置は、ノード１０５の座標系内で８ビットを使用して維持される。したがって、ノード２０１内のアイテムは、最終的に、２４ビットの精度を使用して表示される。
【０１６４】
ノード内でノードをネストすることによって、ビジュアルコンテンツを最終的に表示できる精度は、コンピュータのメモリ容量だけによって制限される。ノード内のビジュアルコンテンツが、そのノードが起動された後に表示される最終的な精度は、効果的に、すべての親ノードの組み合わされた精度および起動されたノードの精度になる。したがって、ネスティングのレベルに応じて、精度を、必要に応じて、コンピュータの格納容量によってのみ制限されて高めることができ、このコンピュータの格納容量は、ほとんど必ず、十分よりはるかに多い。さらに、高められた精度は、必要なときに限って利用される。というのは、イメージが、起動を必要としないＬＯＤにある場合に、上の説明によれば、そのイメージは、そのノードが起動された場合に含まれるノードの精度で表示されるに過ぎないからである。したがって、他のノード内にネストされたノードについて、最も外側のノードから内側に移動するときに、まだ起動されていないノードに最終的に達するまで、起動済みのノードをトラバースすることができる。すべてのそのような未起動ノードおよびさらにその中にあるノードは、起動された最後にトラバースされたノードの精度でのみ表示される。
【０１６５】
これは、「アコーディオン」タイプの精度をもたらし、ここで、ビジュアルコンテンツが表示される精度は、必要に応じて、ユーザのナビゲーション入力による命令に従って伸び縮みし、より高い精度のために必要なときに限ってシステムリソースを使用することによってシステムリソースの効率を最大化する。
【０１６６】
また、ノードが起動するときに、そのノードの表示が、親ノードの座標およびレンダリングメソッドに基づくものから子ノードの座標およびレンダリングメソッドに変化することに留意されたい。その変化は、例えば特許文献１に記載されている、ブレンディングの使用を介して最適に漸進的にされる。しかし、親ノードの座標系およびレンダリングメソッドでの情報の表示から子ノードに漸進的に変化する他の方法論が、可能である。例えば、特定の範囲にわたって、親から子へのブレンディングが発生するシステムを、プログラムすることができる。次に、ユーザが、ズーム中にその範囲を通ってトラバースするときに、ナビゲーションがその範囲中で止められない限り、切替えが発生し、止められた場合には、ブレンディングは、適当な座標系で完全に表示されるまで継続することができる。
【０１６７】
本発明によって解決される追加の問題は、表示中のすべてのノードの間の空間的相互関係を維持するシステムに関する。より具体的に言うと、ズームおよびパンなどの動的ナビゲーション中に、多くの異なる座標系が、潜在的に異なるノードを表示するのに使用されている。一部のノードは、上で説明したように、単に他のノードの座標系内のイメージとして表示されており、一部のノードは、それ自体の座標系で表示されている。実際に、ビジュアルディスプレイ全体に、異なる座標系内の異なる位置に表示されるノードを取り込むことができ、様々なノードに使用される座標系および精度は、ナビゲーション中に、ノードが起動されるときに変化する場合がある。したがって、各ノードはそれ自体の座標系を知っているだけなので、ノードが互いに関して正しく置かれていることを保証することが重要である。本発明は、各ノードが、レンダリングしなければならない全体的なビュー内での正しい位置を「知る」ようにするために、すべてのノードの間で相対位置情報を伝搬し、必要なときにその情報を更新する技法を提供する。
【０１６８】
前述は、ノード構造体へのフィールドの追加および追加のアドレススタックデータ構造体を用いて達成することができる。拡張されたノード定義には、我々が「ｖｉｅｗ」フィールドと呼ぶ、ディスプレイ全体に対して相対的にノード自体を位置づけるためにノードによって使用されるフィールドが含まれる。ｖｉｅｗフィールドは、そのノードの座標で、そのノードの可視領域すなわち、そのノードの座標でのディスプレイ長方形のイメージを表す。この長方形は、ノードが部分的にオフスクリーンであるときなど、そのノードの領域と部分的にオーバーラップするだけである場合がある。明らかに、ｖｉｅｗフィールドを、すべてのノードについて必ず更新された状態に保つことはできない。というのは、必ずしも、ナビゲーションが発生するときにリアルタイムでノードの有向グラフ全体をトラバースすることができないからである。
【０１６９】
スタック構造体は、次のように定義される。
【０１７０】
Stack<Address> viewStack;
ここで、このスタックは、クライアント（ディスプレイに接続されたコンピュータ）のグローバル変数である。例示のために、ナビゲーションが、ルートノードによって定義されるコンテンツのユニバースの概観から始まると仮定する。その後、このルートノードは、ｖｉｅｗＳｔａｃｋにプッシュされ、ルートノードのｖｉｅｗフィールドは、ルートノードの領域全体になるように初期化することができる、すなわち、
rootNode.view = rootNode.coodSystem;
Push(viewStack, rootNode);
である。
【０１７１】
概略的に言うと、ｖｉｅｗＳｔａｃｋは、ディスプレイに対する相対的な１つの点によって「貫かれた」ノードのシーケンスのアドレスを指定し、この点は、この例示的実装では、ディスプレイの中心であるものと解釈される。このシーケンスは、ルートノードから始まらなければならないが、無限である場合があり、したがって、切り捨てられなければならない。例示的実施形態では、このシーケンスは、「貫かれた」ノードが、ｍｉｎｉｍｕｍＡｒｅａとして定義される、ある最小サイズより小さくなるときに切り捨てられる。次に、現在のビューは、ｖｉｅｗＳｔａｃｋ内のすべてのノードのｖｉｅｗフィールドによって表され、これらのｖｉｅｗフィールドのそれぞれは、ノードのローカル座標系に関して現在のビューを指定する。ユーザが、ユニバースに非常に深くズームした場合に、ディスプレイの詳細な位置は、スタック内の最後のノードのｖｉｅｗフィールドによって最も正確に与えられる。しかし、最後の要素のｖｉｅｗフィールドは、ユニバース全体に対して相対的にではなく、そのローカル座標に対し相対的にユーザの視点を指定するに過ぎない。その一方で、ルートノードのｖｉｅｗフィールドは、ユニバース内のどこをユーザが見ているかを指定する。したがって、ｖｉｅｗＳｔａｃｋの「微細な端」により近いノードは、ユニバース内の徐々に狭くなる面積に対して相対的にではあるが、高まる精度でビュー位置を指定する。これが、図２０に概念的に示されており、図２０では、起動済みの３つのノード３０１、３０２、および３０３のうちで、ノード３０３が、その座標系が「最も微細」なので、ユーザが見ているところの最も正確な表示を提供するが、ノード３０１が、それほど微細ではないが、ビジュアルコンテンツのはるかにより大きい領域に関する情報を提供することがわかる。
【０１７２】
次に、問題は、次のように変換される：すべての可視ノードのビュー（すなわち、ｖｉｅｗフィールド）は、ユーザがユニバースを介してナビゲートする、すなわちパンおよびズームのときに同期化された状態に保たれなければならない。これらを同期化された状態に保つことができないと、ノードが、結合力があり物理的に一貫した２Ｄ表面として振る舞うのではなく、互いに独立にディスプレイ上で移動するという外見がもたらされるはずである。
【０１７３】
すべてのナビゲーション動作中のビューの変更は、次のように進行する。ｖｉｅｗＳｔａｃｋ内の最後のノードが、ビューの最も正確な表現を有するので、第１ステップは、この最後のノードのｖｉｅｗフィールドを変更することである。この変更されたビューは、正しい新しいビューとして採用され、すべての他の可視ノードは、後について行かなければならない。第２ステップは、この新しいビューをルートノードに向かって「上向きに」伝搬させることであり、これには、スタック内でより以前のノードのｖｉｅｗフィールドに対する徐々にますます小さくなる変更を行うことが含まれる。ユーザが深くズームする場合に、上向きの伝搬のある点で、ビューに対する変更が、正確に表現可能ではなくなるほどに非常に小さくなる可能性があり、上向きの伝搬は、このノードで停止する。上向き伝搬の各ステージで、変更は、下向きに他の可視ノードにも伝搬される。したがって、まず、最後のノードの親のビューが変更され、次に、下向きの伝搬で、最後のノードの「姉妹」のビューが変更される。次の上向きの伝搬は、祖父のビューを変更し、第２の下向きの伝搬は、最初の叔父を変更し、次に最初の従兄弟を変更する。下向きの伝搬は、前と同様に、「従兄弟ノード」の面積がｍｉｎｉｍｕｍＡｒｅａより小さくなるとき、またはあるノードが完全にオフスクリーンになるときに、停止される。
【０１７４】
前述の技法は、様々なノードのレイアウトをツリーに変換することを伴い、これは、概念的に図２１および２２に示されている。図２１および２２からわかるように、ノードの特定の表示されるセットの対応するツリーがあり、このツリー構造を使用して、前に説明したようにビュー情報を伝搬させることができる。ノード４０１から４０８のそれぞれは、図２２に示されたツリーの同一の符号を有する点に対応する。図２０に概念的に示されているのは、例えば、ポインタ、別のノードのサイズおよび位置を示す情報など、ノードに関して格納されるはずの情報である。図２３は、図２２のツリー図の一部に対応するブロック図であり、例示的な値が、ノード４０３のプロパティを定義するのに使用できるデータを示すのに使用されている。この例示的なケースでは、ノード４０３は、子ノード４０６へのポインタ、子ノード４０６の論理サイズ（１００×１００）に関する情報、およびノード４０３の座標での子ノード４０６の位置を指定するデータすなわち１０，２０を含む。
【０１７５】
パン動作は、最後のノードがもはやｖｉｅｗＳｔａｃｋに属さなくなるのに十分に遠くに、その最後のノードを移動する場合がある。その代わりに、ズームインが、ｖｉｅｗＳｔａｃｋを延ばすことが必要になる範囲まで子を拡大する場合があり、あるいは、ズームアウトが、最後のノードの面積を最小面積未満にし、ｖｉｅｗＳｔａｃｋの切捨を必要にする場合がある。これらの場合のすべてで、最後のノードのアイデンティティが変化する。これらの情況は、下向き伝搬中に検出され、これによって、ｖｉｅｗＳｔａｃｋがそれ相応に変更され、潜在的にｖｉｅｗＳｔａｃｋがより長くなるかより短くなる場合がある。
【０１７６】
前述の１つの単純な場合が、ズーム中に、あるノードが起動され、その結果、そのノードが、ビュースタックに置かれることを必要とすることである。もう１つの例は、ズームアウトによって、前に可視のノードが、ビュースタックから除去されなければならないほどに小さくなることである。
【０１７７】
このアイデアの拡張は、長い外向きのズームに応答する即座のｖｉｅｗＳｔａｃｋの切捨を回避することである。ｖｉｅｗＳｔａｃｋの切捨は、ユーザがその後にパンする場合に限って必要である。長い外向きのズームは、深くズームされたノードのｖｉｅｗフィールドに非常に大きく（したがって、数値的に不正確に）ならせるが、ビュー長方形の中心点を表すフィールド
Point2D viewCenter;
をＮｏｄｅ構造体に追加することができ、したがって、パンなしのズームは、どのノードのｖｉｅｗＣｅｎｔｅｒフィールドも変更しない。この構成は、外向きの長いズームに、戻るズームインを即座に続けることを可能にする。ｖｉｅｗＳｔａｃｋは、変更されないままなので、ユーザは、開始したビューに正確に戻ることができる。この挙動は、ウェブブラウザの「戻る」ボタンおよび「進む」ボタンに似ており、「戻る」は、ズームアウトに類似し、「進む」は戻るズームインに類似する。ウェブブラウザでは、ユーザが、前のウェブページに戻るために「戻る」を使用するが、その後、代替リンクに従う場合に、「進む」が働くのを止めるのは、この点である。したがって、代替リンクに従うことは、ズームアウトの後のパンに類似する。
【０１７８】
前述は、アプリケーションが走っているコンピュータシステムの容量だけによって制限される実質的に無限の精度で、様々な形でビジュアルコンテンツを表示でき、ナビゲートできることを提供する。任意の所与のときに表示されるビジュアルコンテンツは、ノードのアセンブリとして表示され、ここで、特定のビューに必要なノードだけが、起動済みであり、すべての他のノードは、別のノードの一部として起動されることなく表示されるか、まったく表示されない。様々な他の実施形態が当業者に明白になること、および本発明が本明細書で説明された実施形態に限定されないことを理解されたい。
【０１７９】
[発明の名称]イメージをナビゲートする方法および装置
【０１８０】
[技術分野]
本発明は、滑らかで連続的なナビゲーション動きの外見を提供する形で、オブジェクトのイメージ上で、ズームし、パンするなど、ナビゲートする方法および装置に関する。
【０１８１】
[背景技術]
ほとんどの従来のグラフィカルコンピュータユーザインターフェース（ＧＵＩ）は、固定された空間的スケールのビジュアルコンポーネントを使用して設計されているが、ビジュアルコンポーネントを、ディスプレイ上で固定された空間的スケールを有しなくなるように表現し、操作することができることが久しく認められており、実際に、ビジュアルコンポーネントをパンし、かつ／またはズームインもしくはズームアウトすることができる。イメージにズームインし、ズームアウトする能力は、例えば、地図を見ること、新聞などのテキストレイアウトのブラウジング、デジタル写真を見ること、青写真または図面を見ること、および他の大きいデータセットを見ることに関連して望ましい。
【０１８２】
Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｏｒｄ、Ａｄｏｂｅ（登録商標）  Ｐｈｏｔｏ  Ｓｈｏｐ、Ａｄｏｂｅ（登録商標）  Ａｃｒｏｂａｔなどの多数の既存のコンピュータアプリケーションには、ズーム可能なコンポーネントが含まれる。一般に、これらのコンピュータアプリケーションによって提供されるズーム機能は、ソフトウェアとのユーザの対話の周辺態様であり、ズーム機能は、時々用いられるだけである。これらのコンピュータアプリケーションは、ユーザが、滑らかに連続的にイメージ上でパンする（例えば、スクロールバーまたはカーソルを使用して、見られるイメージを左、右、上、または下に平行移動する）ことを可能にする。しかし、そのようなコンピュータアプリケーションに関する重要な問題は、これらのコンピュータアプリケーションが、ユーザが滑らかに連続的にズームすることを可能にしないことである。実際に、これらのコンピュータアプリケーションは、１０％、２５％、５０％、７５％、１００％、１５０％、２００％、５００％など、離散的ステップでのズームを提供する。ユーザは、カーソルを使用して所望のズームを選択し、それに応答して、イメージは、選択されたズームレベルに不意に変化する。
【０１８３】
不連続ズームの望ましくない質は、インターネットベースのコンピュータアプリケーションにも存在する。非特許文献２のウェブサイトを基礎とするコンピュータアプリケーションが、この点を示す。ＭａｐＱｕｅｓｔウェブサイトは、ユーザが、１つまたは複数の住所を入力し、それに応答して道路地図のイメージを受信することを可能にする。図１〜４は、米国ニューヨーク州ロングアイランドの地域地図のクエリに応答してＭａｐＱｕｅｓｔウェブサイトから入手できるイメージの例である。ＭａｐＱｕｅｓｔウェブサイトは、ユーザが、１０レベルなどの離散レベルにズームインし、ズームアウトすることを可能にする。図２４は、約１００メートル／ピクセルであるズームレベル５のレンディションである。図２５は、約３５メートル／ピクセルであるズームレベル６のイメージである。図２６は、約２０メートル／ピクセルであるズームレベル７のイメージである。図２７は、約１０メートル／ピクセルであるズームレベル９のイメージである。
【０１８４】
図１〜４を比較することによってわかるように、ズームレベルの間の不意の遷移は、ズームアウトするときの突然の不意の詳細の消失およびズームインするときの突然の不意の詳細の追加をもたらす。例えば、地方道路、二級道路、または連絡道路は、図２４（ズームレベル５）では見ることができないが、二級道路および連絡道路は、まさに次のズームレベルである図２５で突然に現れる。そのような不意の不連続性は、ＭａｐＱｕｅｓｔウェブサイトを利用するときに非常に不愉快である。しかし、ＭａｐＱｕｅｓｔソフトウェアアプリケーションが、例えばズームレベル５（図２４）で一般道路のビューを許容するように変更された場合であっても、結果は、それでも不満足であることに留意されたい。地図の視覚的密度は、ズームレベルに伴って変化するはずであり、あるズームのレベルで、結果が満足になる可能性がある（例えば、レベル７すなわち図２６で）が、ズームインしたときに、道路が太くはならず、地図が非常にまばらに見えるようになるはずである。ズームアウトしたときには、道路は、最終的に互いに混ざり合い、塗りつぶされた集団をすばやく形成し、この集団の中では、個々の道路が区別不能になるはずである。
【０１８５】
道路地図のイメージでの滑らかで連続的なズームを提供する能力は、道路カテゴリに関連する様々なレベルの粗さのゆえに問題がある。米国には、道路の約５つのカテゴリ（米国勢調査局によって配布されるＴＩＧＥＲ／Ｌｉｎｅ  Ｄａｔａの下での分類による）、Ａ１すなわち一級主要道路、Ａ２すなわち一級道路、Ａ３すなわち州道、二級道路、および連絡道路、Ａ４すなわち一般道路、都市街路、および田舎道、ならびにＡ５すなわち未舗装道路がある。これらの道路は、全体的なオブジェクト（すなわち、道路地図）の要素と考えることができる。道路要素の粗さは、Ａ３道路よりかなり多数のＡ４道路があり、Ａ２道路よりかなり多数のＡ３道路があり、Ａ１道路よりかなり多数のＡ２道路があるので現れる。さらに、道路の物理的寸法（例えば、その幅）は、大きく変化する。Ａ１道路は、約１６メートル幅である場合があり、Ａ２道路は、約１２メートル幅である場合があり、Ａ３道路は、約８メートル幅である場合があり、Ａ４道路は、約５メートル幅である場合があり、Ａ５道路は、約２．５メートル幅である場合がある。
【０１８６】
ＭａｐＱｕｅｓｔコンピュータアプリケーションは、特定のズームレベルで適当と思われる道路カテゴリだけを表示することによって、この変化するレベルの粗さを扱う。例えば、国全体のビューは、Ａ１道路だけを示すことができ、州全体のビューは、Ａ１道路およびＡ２道路を示すことができ、郡全体のビューは、Ａ１道路、Ａ２道路、およびＡ３道路を示すことができる。ＭａｐＱｕｅｓｔが、道路地図の連続的ズームを可能にするように変更された場合であっても、この手法は、ズーム中の道路カテゴリの突然の出現および消滅につながり、これは、混乱を招き、視覚的に不愉快である。
【０１８７】
[特許文献２]米国特許仮出願第６０／４７５８９７号明細書
[特許文献３]米国特許仮出願第６０／４５３８９７号明細書
[特許文献４]米国特許仮出願第６０／５５３８０３号明細書
[非特許文献２]www.mapquest.com
[発明の開示]
[発明が解決しようとする課題]
前述に鑑みて、当技術分野には、オブジェクトの要素のサイズまたは重要性に基づいて、それらの要素の間の視覚的区別を保存すると同時に、イメージの滑らかで連続的なズームを許容する、複雑なオブジェクトのイメージをナビゲートする新しい方法および装置の必要がある。
【０１８８】
[課題を解決するための手段]
本発明の１つまたは複数の態様によれば、少なくとも１つのオブジェクトを有するイメージのズームインまたはズームアウトを含む様々なアクションを実行する方法および装置が企図され、ここで、少なくとも１つのオブジェクトの少なくともいくつかの要素は、ズームに関連する１つまたは複数のズームレベルに非物理的に比例する形でスケールアップされかつ／またはスケールダウンされる。
【０１８９】
非物理的に比例するスケーリングは、次の公式ｐ＝ｃ・ｄ・ｚaによって表すことができ、ｐは、そのズームレベルでのオブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃは、定数であり、ｄは、オブジェクトの１つまたは複数の要素の物理単位での直線サイズであり、ｚは、物理直線サイズ／ピクセルの単位でのズームレベルであり、ａは、スケールべきであり、ａ≠−１である。
【０１９０】
非物理的スケーリングの下では、スケールべきａは、ズームレベルｚ０およびｚ１の範囲内で−１と等しくなく（通常は−１＜ａ＜０である）、ｚ０は、ｚ１より小さい物理直線サイズ／ピクセルを有する。ｚ０およびｚ１のうちの少なくとも１つは、オブジェクトの１つまたは複数の要素について変化することができることが好ましい。ａ、ｃ、およびｄも、要素ごとに変更できることに留意されたい。
【０１９１】
少なくとも１つのオブジェクトの少なくともいくつかの要素は、ズームに関連する１つまたは複数のズームレベルに物理的に比例する形でもスケールアップされ、かつ／またはスケールダウンされることができる。物理的に比例するスケーリングは、次の公式ｐ＝ｃ・ｄ／ｚによって表すことができ、ｐは、そのズームレベルでのオブジェクトの１つまたは複数の要素のピクセル単位の直線サイズであり、ｃは、定数であり、ｄは、オブジェクトの１つまたは複数の要素の物理単位での直線サイズであり、ｚは、物理直線サイズ／ピクセルの単位でのズームレベルである。
【０１９２】
これまでに説明したおよび／またはこの文書で後で説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。
【０１９３】
オブジェクトの要素は、変化する度合の粗さを有するものとすることができる。例えば、上で述べたように、道路地図オブジェクトの要素の粗さは、Ａ３道路よりかなり多数のＡ４道路があり、Ａ２道路よりかなり多数のＡ３道路があり、Ａ１道路よりかなり多数のＡ２道路があるので現れる。道路カテゴリの粗さの度合は、平均道路長、交差点の頻度、および最大曲率などのプロパティにも現れる。他のイメージオブジェクトの要素の粗さは、その全体をリストするには多すぎる他の形で現れる可能性がある。したがって、所与の所定のイメージ内の要素のスケーリングは、（ｉ）上記要素の粗さの度合および（ｉｉ）所与の所定のイメージのズームレベルのうちの少なくとも１つに基づいて物理的にまたは非物理的に比例するものとすることができる。例えば、オブジェクトは、道路地図とすることができ、オブジェクトの要素は、道路とすることができ、変化する度合の粗さは、道路階層とすることができる。したがって、所与の所定のイメージ内の所与の道路のスケーリングは、（ｉ）所与の道路の道路階層および（ｉｉ）所与の所定のイメージのズームレベルに基づいて物理的にまたは非物理的に比例するものとすることができる。
【０１９４】
本発明の１つまたは複数のさらなる態様によれば、道路地図の変化するズームレベルの複数の事前レンダリングされたイメージをクライアント端末で受信すること、ズーム情報を含む１つまたは複数のユーザナビゲーションコマンドをクライアント端末で受け取ること、およびナビゲーションコマンドのズーム情報に対応する中間ズームレベルの中間イメージのクライアント端末での表示が滑らかなナビゲーションの外見を提供するように、その中間イメージを入手するために、事前レンダリングされたイメージのうちの２又は３以上をブレンディングすることを含む様々なアクションを実行する、方法および装置が企図される。
【０１９５】
本発明の１つまたは複数のさらなる態様によれば、少なくとも１つのオブジェクトの変化するズームレベルの複数の事前レンダリングされたイメージをクライアント端末で受信することであって、少なくとも１つのオブジェクトの少なくともいくつかの要素は、複数の所定のイメージを作るためにスケールアップされ、かつ／またはスケールダウンされ、スケーリングは、（ｉ）ズームレベルに物理的に比例するおよび（ｉｉ）ズームレベルに非物理的に比例するのうちの少なくとも１つであるように受信することと、ズーム情報を含む１つまたは複数のユーザナビゲーションコマンドをクライアント端末で受け取ることと、ナビゲーションコマンドのズーム情報に対応する中間ズームレベルの中間イメージを入手するために、事前レンダリングされたイメージのうちの２又は３以上をブレンディングすることと、中間イメージをクライアント端末で表示することとを含む様々なアクションを実行する、方法および装置が企図される。
【０１９６】
本発明の１つまたは複数のさらなる態様によれば、道路地図の変化するズームレベルの複数の事前レンダリングされたイメージを通信チャネルを介してクライアント端末に送信することと、複数の事前レンダリングされたイメージをクライアント端末で受信することと、クライアント端末を使用してズーム情報を含む１つまたは複数のユーザナビゲーションコマンドを発行することと、ナビゲーションコマンドのズーム情報に対応する中間ズームレベルの中間イメージのクライアント端末での表示が滑らかなナビゲーションの外見をもたらすように中間イメージを入手するために、事前レンダリングされたイメージのうちの２又は３以上をブレンディングすることとを含む様々なアクションを実行する、方法および装置が企図される。
【０１９７】
本発明の１つまたは複数のさらなる態様によれば、少なくとも１つのオブジェクトの変化するズームレベルの複数の事前レンダリングされたイメージを通信チャネルを介してクライアント端末に送信することであって、少なくとも１つのオブジェクトの少なくともいくつかの要素は、複数の所定のイメージを作るためにスケールアップされ、かつ／またはスケールダウンされ、スケーリングは、（ｉ）ズームレベルに物理的に比例するおよび（ｉｉ）ズームレベルに非物理的に比例するのうちの少なくとも１つであるように送信することと、複数の事前レンダリングされたイメージをクライアント端末で受信することと、クライアント端末を使用してズーム情報を含む１つまたは複数のユーザナビゲーションコマンドを発行することと、ナビゲーションコマンドのズーム情報に対応する中間ズームレベルの中間イメージを入手するために、事前レンダリングされたイメージのうちの２つをブレンディングすることと、中間イメージをクライアント端末で表示することとを含む様々なアクションを実行する、方法および装置が企図される。
【０１９８】
本発明の他の態様、特徴、および利益は、添付図面と共に本明細書の説明を解釈するときに、当業者に明白になる。
【０１９９】
本発明を例示するために、現在好ましい形が図面に示されているが、本発明が図示された正確な配置および手段に限定されないことを理解されたい。
【０２００】
[発明を実施するための最良の形態]
ここで図面を参照すると、図面では、同種の符号が同種の要素を示すが、図５〜１１に、米国ニューヨーク州ロングアイランドの道路網を表す一連のイメージが示されており、各イメージは、異なるズームレベル（または解像度）である。本発明がどのように実装されるかの技術的詳細を探求する前に、これらのイメージを、本発明を使用することの結果の望ましい特徴すなわち、少なくとも、情報完全性を維持しながらの、滑らかで連続的なナビゲーション、特にズームの外見に関連してこれから述べる。
【０２０１】
下で述べる本発明の様々な態様を、道路地図イメージのナビゲーション以外のコンテキストで適用できることに留意されたい。実際に、それについて本発明を用いることのできるイメージおよび実装の範囲は、その全体をリストするには多すぎる。例えば、本発明の特徴を、人間の解剖学、複雑なトポグラフィ、配線図または青写真などの工学図面、ジーンオントロジ（ｇｅｎｅ  ｏｎｔｏｌｏｇｙ）などのイメージをナビゲートするのに使用することができる。しかし、本発明は、その要素が変化する詳細レベルまたは粗さを有するイメージのナビゲートへの特定の適用可能性を有することがわかっている。したがって、短く明瞭にするために、本発明の様々な態様を、特定の例すなわち、道路地図のイメージに関連して述べる。
【０２０２】
特許文書内で滑らかで連続的なズームの外見を示すことは不可能であるが、この特徴は、Ｐｅｎｔｉｕｍ（登録商標）ベースコンピュータ上で適切なソフトウェアプログラムを実行することによる実験およびプロトタイプ開発を介して実証された。図２８に示された道路地図のイメージ１００Ａは、物理的長さ／ピクセル（または物理的直線サイズ／ピクセル）の単位によって特徴を表すことのできるズームレベルである。言い換えると、ズームレベルｚは、イメージ１００Ａの単一ピクセルが表す実際の物理直線サイズを表す。図２８では、ズームレベルは、約３３４メートル／ピクセルである。当業者は、請求される本発明の趣旨および範囲から逸脱せずに、ズームレベルを他の単位で表すことができることを諒解するであろう。図２９は、図２８と同一であるが、ズームレベルｚが約１９１メートル／ピクセルである道路地図のイメージ１００Ｂである。
【０２０３】
本発明の１つまたは複数の態様によれば、本発明の１つまたは複数の態様を実施するソフトウェアプログラムのユーザは、図５および６に示されたレベルの間でズームインし、またはズームアウトすることができる。そのようなズームが、３３４メートル／ピクセルレベル（図２８）から１９１メートル／ピクセルレベル（図２９）およびその間の任意のレベルへ／からの滑らかで連続的な遷移の外見を有することに留意することが重要である。同様に、ユーザは、ｚ＝１０９．２メートル／ピクセル（図３０）、ｚ＝６２．４メートル／ピクセル（図３１）、ｚ＝３５．７メートル／ピクセル（図３２）、ｚ＝２０．４メートル／ピクセル（図３３）、およびｚ＝１１．７メートル／ピクセル（図３４）など、他のレベルにズームすることができる。やはり、これらのズームレベルおよびそれらの間のすべてのレベルを通る遷移は、滑らかで連続的な動きの外見を有利に有する。
【０２０４】
図５〜１１に示された本発明のもう１つの重要な特徴は、あるレベルから別のレベルにズームするときに、詳細がほとんどまたはまったく不意に現れず、消滅しないことである。図３１（ｚ＝６２．４メートル／ピクセルのズームレベル）に示された詳細は、図２８（３３４メートル／ピクセルのズームレベル）でも見つけることができる。これは、この例では道路地図であるイメージオブジェクトが、変化する度合の粗さの要素（すなわち、道路）を含む場合であってもそうである。実際に、図３１の道路地図１００Ｄには、少なくとも１０２などのＡ１主要道路、１０４などのＡ３二級道路、および１０６などのＡ４地方道路が含まれる。それでも、これらの詳細は、Ａ４地方道路１０６であっても、まだ図２８のイメージ１００Ａで見ることができ、図２８は、図３１のイメージ１００Ｄと比較してかなりズームアウトされている。
【０２０５】
さらに、Ａ４地方道路１０６を、ｚ＝３３４メートル／ピクセル（図２８）のズームレベルで見ることができるが、Ａ１道路、Ａ２道路、Ａ３道路、およびＡ４道路を、互いから区別することができる。Ａ１一級主要道路１０２とＡ２一級道路１０８との間の差であっても、レンダリングされたイメージ１００Ａ内でそのような道路に与えられる相対重みに関して、互いに区別することができる。
【０２０６】
道路階層の間で区別する能力は、ユーザが、例えば図３３のイメージ１００Ｆに示されたｚ＝２０．４メートル／ピクセルのズームレベルまでズームインし続けるときにも有利に維持される。Ａ１一級主要道路１０２の重みは、図３１のｚ＝６２．４メートル／ピクセルのズームレベルと比べて大きく増えるが、Ａ４地方道路１０６またはＡ５未舗装道路などの他の詳細を覆い隠すほどの範囲まで増えはしない。それでも、Ａ４地方道路１０６など、より下位の階層レベルの道路の重みは、図３１のズームレベルｚ＝６２．４メートル／ピクセルでの対応物と比べて、重みにおいて大きく増える。
【０２０７】
したがって、図２８に示されたものと図３４に示されたものとの間のズームレベルのダイナミックレンジは、かなりのものであり、詳細は、実質的に一貫したままである（すなわち、道路は、滑らかにズームしている間に突然に現れも消えもしない）が、ユーザが所与のズームレベルで入手しようと努める情報は、望ましくないアーチファクトによって隠されはしない。例えば、ｚ＝３３４メートル／ピクセルのズームレベル（図２８）では、ユーザは、どの一級主要道路が存在し、それらがどの方向に伸びるかの全般的な感じを得ることを望む場合がある。この情報は、Ａ４地方道路１０６も表示される場合であっても、たやすく得ることができる。ｚ＝６２．４メートル／ピクセル（図３１）というズームレベルでは、ユーザは、特定のＡ１一級主要道路１０２またはＡ２一級道路１０８が特定の都市またはその近隣に便益があるかどうかを判定することを望む場合がある。やはり、ユーザは、Ａ４地方道路１０６またはＡ５未舗装道路の存在および広がりなど、他のはるかにより詳細な情報からの干渉なしに、この情報を入手することができる。最後に、１１．７メートル／ピクセルのズームレベルでは、ユーザは、１１２などの特定のＡ４地方道路を見つけることに関心を持つ場合があり、Ａ１一級主要道路１０２などの大幅により大きい道路による干渉なしにそれを行うことができる。
【０２０８】
上で述べた本発明の様々な態様のうちの１つまたは複数を達成するために、１つまたは複数のコンピューティングデバイスが、そのコンピューティングデバイスに適当なアクションを実行させる１つまたは複数のソフトウェアプログラムを実行することが企図されている。これに関して、図１２〜１３をこれから参照するが、図１２〜１３は、好ましくは１つまたは複数のコンピューティングデバイスおよび／または関連機器によって実行されるプロセスステップを示す流れ図である。
【０２０９】
このプロセスフローは、市販コンピューティング機器（Ｐｅｎｔｉｕｍ（登録商標）ベースのコンピュータなど）によって実行されることが好ましいが、複数の他の技法のどれであっても、請求される本発明の趣旨および範囲から逸脱せずに、これらのプロセスステップを実行するのに用いることができる。実際に、用いられるハードウェアは、標準的なデジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブル読取専用メモリ（ＰＲＯＭ）などの１つまたは複数のプログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス（ＰＡＬ）、あるいは上記の任意の組合せなど、任意の他の既知のまたは下で開発されるテクノロジを利用して実装することができる。さらに、本発明の方法は、既知のまたは下で開発される媒体のいずれかに格納できるソフトウェアプログラムで実施することができる。
【０２１０】
図３５は、本発明の実施形態を示し、この実施形態では、アクション２００で複数のイメージが準備され（それぞれ異なるズームレベルまたは解像度で）、これらのイメージのうちの２又は３以上が、一緒にブレンディングされて、ズームなどの滑らかなナビゲーションの外見を達成する（アクション２０６）。本発明を実践するのに必要ではないが、図３５に示された手法は、サービスプロバイダ−クライアント関係に関連して用いられることが企図されている。例えば、サービスプロバイダは、複数の事前レンダリングされたイメージを準備する（アクション２００）ためにリソースを費やし、これらのイメージを、インターネットなどの通信チャネルを介してユーザのクライアント端末から使用可能にする（アクション２０２）。あるいは、事前レンダリングされたイメージを、ユーザがそのユーザのコンピュータにロードし、そこで実行するアプリケーションプログラムの一体の部分または関連する部分とすることができる。
【０２１１】
実験を通じて、ブレンディング手法が使用されるときに、次のズームレベルのイメージのセットが、イメージオブジェクトが道路地図であるときに良く働くことがわかっている：３０メートル／ピクセル、５０メートル／ピクセル、７５メートル／ピクセル、１００メートル／ピクセル、２００メートル／ピクセル、３００メートル／ピクセル、５００メートル／ピクセル、１０００メートル／ピクセル、および３０００メートル／ピクセル。しかし、本発明の範囲から逸脱せずに、任意の個数のイメージを任意の個数の解像度で用いることができることに留意されたい。実際に、他のコンテキストの他のイメージオブジェクトは、特定のズームレベルが上の例と異なる場合に、より多数またはより少数のイメージによって最も良く供給される場合がある。
【０２１２】
イメージがクライアント端末によってどのように入手されるかにかかわりなく、ズームコマンドなど、ユーザが開始したナビゲーションコマンドに応答して（アクション２０４）、クライアント端末は、そのナビゲーションコマンドと一致する中間解像度のイメージを作るために２又は３以上のイメージをブレンディングするように動作することが好ましい（アクション２０６）。このブレンディングは、その開示全体が参照によって本明細書に組み込まれている非特許文献１に記載の周知のトライリニア補間技法など、複数の方法によって達成することができる。双三次線形補間など、イメージ補間の他の手法も、本発明に関連して有用であり、さらに他の手法が、将来に開発される可能性がある。本発明が、これらのブレンディング方法のどの特定の１つも必要とせず、これに依存しないことに留意されたい。例えば、図３１に示されているように、ユーザが、６２．４メートル／ピクセルのズームレベルにナビゲートすることを望む場合がある。このズームレベルは、事前レンダリングされたイメージの２つの間にある可能性がある（この例では、ズームレベル５０メートル／ピクセルとズームレベル７５メートル／ピクセルとの間にある）ので、６２．４メートル／ピクセルの所望のズームレベルは、トライリニア補間技法を使用して達成することができる。さらに、５０メートル／ピクセルと７５メートル／ピクセルとの間のすべてのズームレベルは、上で説明したブレンディング技法を利用して入手することができ、このブレンディング技法は、実行される場合に、滑らかで連続したナビゲーションの外見を十分にすばやく提供する。このブレンディング技法は、図３２に示された３５．７メートル／ピクセルなど、他のズームレベルまでやり遂げることができる。その場合に、このブレンディング技法は、これまでに述べた例の３０メートル／ピクセルおよび５０メートル／ピクセルの事前レンダリングされたイメージの間で実行することができる。
【０２１３】
上のブレンディング手法は、本発明がそこで実行される処理ユニットの計算能力が、（ｉ）まず第１にレンダリング動作を実行するのに、および／または、（ｉｉ）滑らかなナビゲーションのための高いイメージフレームレートを達成するためにイメージレンダリングを「ジャストインタイムで」または「オンザフライで」（例えば、リアルタイムで）実行するのに十分に高くはないときに、使用することができる。しかし、下で述べるように、本発明の他の実施形態は、ブレンディングアプリケーションおよび／または高フレームレートアプリケーションのためのクライアント端末でのレンダリングが可能な既知のまたは下で開発される高性能処理ユニットの使用を企図している。
【０２１４】
図３６のプロセスフローは、本発明に従って１つまたは複数のイメージを準備するために行われることが好ましい詳細なステップおよび／またはアクションを示す。アクション２２０で、既知のまたは下で開発される技法のいずれかを使用して、１つまたは複数のイメージオブジェクトに関する情報を入手する。通常、そのようなイメージオブジェクトは、多角形、線、点などの適当なプリミティブを使用してモデリングされる。例えば、イメージオブジェクトが道路地図であるときには、すべての万国横メルカトル（ＵＴＭ）ゾーン内の道路のモデルを、たやすく入手することができる。このモデルは、通常、そのゾーン内の道路を含む線分（任意の座標系内の）のリストの形である。このリストは、既知のまたは下で開発されるレンダリングプロセスのいずれかが、ピクセル（空間的）領域内の所与のプリミティブの重み（例えば、見かけの厚さまたは実際の厚さ）を決定するある種の技法を組み込んでいる限り、そのレンダリングプロセスを使用して空間的領域内のイメージ（ピクセルイメージ）に変換することができる。上の道路地図の例に従って、このレンダリングプロセスは、空間的領域内で道路地図の道路をモデリングする線の重みを決定する、ある種の技法を組み込まれなければならない。これらの技法を、下で述べる。
【０２１５】
アクション２２２（図３６）では、オブジェクトの要素を分類する。道路地図オブジェクトの場合には、この分類は、既に存在するカテゴリすなわち、Ａ１、Ａ２、Ａ３、Ａ４、およびＡ５を認識することという形をとることができる。実際に、これらの道路要素は、変化する度合の粗さを有し、下で述べるように、この分類に基づいて異なってレンダリングされ得る。アクション２２４では、ズームレベルに基づいて、異なる道路要素に数学的スケーリングを適用する。下でより詳細に述べるように、この数学的スケーリングは、要素分類に基づいて変化するものとすることもできる。
【０２１６】
背景として、地図の道路などのイメージ要素をレンダリングする２つの従来の技法すなわち、実物理的スケーリングおよび事前設定ピクセル幅がある。実物理的スケーリング技法は、道路地図が、異なるスケールで道路の実際の物理的イメージを見ているかのようにレンダリングされることを規定する。例えば、Ａ１主要道路は、１６メートル幅である可能性があり、Ａ２道路は、１２メートル幅である可能性があり、Ａ３道路は、８メートル幅である可能性があり、Ａ４道路は、５メートル幅である可能性があり、Ａ５道路は、２．５メートル幅である可能性がある。これは、地図の小さい領域にズームインしたときに、見る人にとって許容できるものである可能性があるが、ズームアウトしたときには、主要道路と重要でない道路との両方のすべての道路が、詳細に描くには細くなりすぎる。あるズームレベル、例えば州レベル（例えば、約２００メートル／ピクセル）では、道路がまったく見られなくなるはずである。
【０２１７】
事前設定ピクセル幅手法は、すべての道路が、ディスプレイ上の幅で１ピクセルなど、あるピクセル幅であることを規定する。主要道路などの主な道路は、それらを２ピクセル幅などにすることによって強調することができる。残念ながら、この手法は、人がズームインし、ズームアウトするときに、地図の視覚的密度を変化させる。あるズームのレベルで、例えば小さいサイズの郡レベルで、結果が、満足である場合がある。しかし、ズームインするときには、道路は、太くならず、地図が過度にまばらに見えるようになる。さらに、ズームアウトするときには、道路は、互いに混ざり合い、塗りつぶされた集団をすばやく形成し、この集団の中では、個々の道路が区別不能になるはずである。
【０２１８】
本発明の１つまたは複数の態様によれば、アクション２２４で、イメージは、少なくともいくつかのイメージ要素が、下でより詳細に述べるパラメータに応じて、（ｉ）ズームレベルに物理的に比例して、または、（ｉｉ）ズームレベルに非物理的に比例してのいずれかでスケールアップされ、かつ／またはスケールダウンされる形で作られる。
【０２１９】
「ズームレベルに物理的に比例する」スケーリングレベルは、要素のサイズが人間の目からの距離に伴って変化して見えるはずなので、道幅を表すピクセルの個数がズームレベルに伴って増加し、または減少することを意味することに留意されたい。物理サイズｄのオブジェクトの見かけの長さｙを与える遠近法の公式は、
ｙ＝ｃ・ｄ／ｘ
であり、ここで、ｃは、有角透視を決定する定数であり、ｘは、見る人からのオブジェクトの距離である。
【０２２０】
本発明では、物理直線サイズｄ´のオブジェクトのディスプレイピクセル単位の直線サイズｐは、
ｐ＝ｄ´・ｚa
によって与えられ、ここで、ｚは、物理直線サイズ／ピクセル（例えば、メートル／ピクセル）単位でのズームレベルであり、ａは、べき法則である。ａ＝−１かつｄ´＝ｄ（オブジェクトの実際の物理直線サイズ）のときに、この式は、次元的に正しく、遠近法の公式と同等になり、ｐ＝ｙかつｚ＝ｘ／ｃである。これは、物理ズームと透視変換との間の同等を表し、ズームインは、見る人のより近くにオブジェクトを移動することと同等であり、ズームアウトは、オブジェクトをより遠くに移動することと同等である。
【０２２１】
非物理的スケーリングを実装するためには、ａに、−１以外のべき法則をセットすることができ、ｄ´に、実際の物理直線サイズｄ以外の物理直線サイズをセットすることができる。道路地図のコンテキストでは、ｐが、道路の表示される幅をピクセル単位で表すことができ、ｄ´が、帰せられる幅を物理単位で表すことができるが、「ズームレベルに非物理的に比例する」は、ディスプレイピクセル単位の道幅が、ズームレベルに物理的に比例すること以外の形でズームレベルに伴って増加し、または減少することすなわちａ≠−１を意味する。スケーリングは、ある種の望ましい結果を達成する形でゆがめられる。
【０２２２】
「直線サイズ」は、１次元のサイズを意味することに留意されたい。例えば、２次元オブジェクトを考慮し、その「直線サイズ」を２倍にする場合に、その面積は、４＝２2を乗じられる。２次元の場合に、オブジェクトの要素の直線サイズは、長さ、幅、半径、直径、および／またはユークリッド平面上でものさしを用いて読み取ることのできるすべての他の測定値を含むことができる。線の太さ、線の長さ、円または円盤の直径、多角形の１辺の長さ、および２点間の距離は、すべてが直線サイズの例である。この意味で、２次元での「直線サイズ」は、２Ｄユークリッド平面上のオブジェクトの２つの識別された点の間の距離である。例えば、直線サイズは、（ｄｘ2＋ｄｙ2）の平方根をとることによって計算することができ、ここで、ｄｘ＝ｘ１−ｘ０、ｄｙ＝ｙ１−ｙ０であり、２つの識別された点は、デカルト座標（ｘ０，ｙ０）および（ｘ１，ｙ１）によって与えられる。
【０２２３】
「直線サイズ」の概念は、３つ以上の次元に自然に拡張され、例えば、ボリュメトリックオブジェクトを考慮する場合に、その直線サイズを２倍にすることは、体積を８＝２3倍に増やすことを伴う。直線サイズの同様の測定値を、球の表面など、非ユークリッド空間について定義することもできる。
【０２２４】
すべてのべき法則ａ＜０は、要素のレンダリングされるサイズを、ズームアウトのときに減らさせ、ズームインのときに増やさせる。ａ＜−１のときには、要素のレンダリングされるサイズは、ズームアウトのときに、比例物理的スケーリングよりすばやく減る。逆に、−１＜ａ＜０のときには、レンダリングされる要素のサイズは、ズームアウトのときに比例物理的スケーリングよりゆっくり減る。
【０２２５】
本発明の少なくとも１つの態様によれば、ｐ（ｚ）は、所与のオブジェクトの所与の長さについて、実質的に連続的になることを許され、その結果、ナビゲーション中に、ユーザは、イメージの要素のサイズの突然のジャンプまたは不連続性を経験しなくなる（最も極端な不連続性、すなわちナビゲーション中の要素の突然の出現または消滅を許す従来の手法と異なって）。さらに、ｐ（ｚ）は、ズームアウトがオブジェクトの要素をより小さくし（例えば、道路がより細くなる）、ズームインがオブジェクトの要素をより大きくするように、ズームアウトに伴って単調に減少することが好ましい。これは、ユーザに、イメージのオブジェクトに関する身体性の感覚を与える。
【０２２６】
上で述べたスケーリング特徴は、図３７に関してより十分に理解することができ、図３７は、Ａ１主要道路のピクセル単位のレンダリングされる線幅対メートル／ピクセル単位のズームレベルの両対数グラフである（ｘ軸にｌｏｇ（ｚ）、ｙ軸にｌｏｇ（ｐ）をプロットすることは、関係ｌｏｇ（ｘa）＝ａ・ｌｏｇ（ｘ）に起因してプロットが直線になるので便利である）。線（道）幅対ズームレベルプロットの基本的特性は、次の通りである。
【０２２７】
（ｉ）道幅のスケーリングは、ズームインする（例えば、約０．５メートル／ピクセルまで）ときにズームレベルに物理的に比例するものとすることができ、
（ｉｉ）道幅のスケーリングは、ズームアウトする（例えば、約０．５メートル／ピクセルまで）ときにズームレベルに非物理的に比例するものとすることができ、
（ｉｉｉ）道幅のスケーリングは、さらにズームアウトする（例えば、下でより詳細に述べるパラメータに応じて、約５０メートル／ピクセル以上を超えて）ときにズームレベルに物理的に比例するものとすることができる。
【０２２８】
道幅のスケーリングがズームレベルに物理的に比例するゾーンに関して、ｐ＝ｄ’・ｚaというスケーリング公式が用いられ、ここで、ａ＝−１である。この例では、実際のＡ１主要道路の物理的幅に関する適度な値は、約ｄ’＝１６メートルである。したがって、Ａ１主要道路を表す線のレンダリングされる幅は、少なくともあるズームレベルｚ０、例えばｚ０＝０．５メートル／ピクセルまでズームアウトするときに、物理的スケーリングに伴って単調に減少する。
【０２２９】
ｚ０＝０．５に関するズームレベルは、それ未満で物理的スケーリングが適用される内側スケールになるように選択される。これによって、道路地図が実際の物理寸法を有する他のより微細なスケールのＧＩＳコンテンツと組み合わされるときの非物理的外見が防がれる。この例では、ｚ０＝０．５メートル／ピクセルまたは２ピクセル／メートルは、１５インチ（３８．１センチメートル）ディスプレイ（１６００×１２００ピクセル解像度を有する）上の地図スケールとして表されるときに、約１：２６００の縮尺に対応する。Ａ１道路の適度な実際の物理的幅であるｄ＝１６メートルでは、レンダリングされる道路は、ズームインされる（０．５メートル／ピクセル以下）ときにその実際のサイズであるように見える。０．１メートル／ピクセルのズームレベルでは、レンダリングされる線は、約１６０ピクセル幅である。０．５メートル／ピクセルのズームレベルでは、レンダリングされる線は、約３２ピクセル幅である。
【０２３０】
道幅のスケーリングがズームレベルに非物理的に比例するゾーンに関して、ｐ＝ｄ’・ｚaというスケーリング公式が用いられ、−１＜ａ＜０である（ズームレベルｚ０およびｚ１の範囲内で）。この例では、非物理的スケーリングが、約ｚ０＝０．５メートル／ピクセルとｚ１＝３３００メートル／ピクセルとの間で実行される。やはり、−１＜ａ＜０のときに、レンダリングされる道路の幅は、ズームアウトのときに比例物理的スケーリングの場合よりゆっくり減少する。有利なことに、これによって、Ａ１道路は、ズームアウトのときに可視（かつ、他のより小さい道路から区別可能）のままであることが可能になる。例えば、図２８に示されているように、Ａ１道路１０２は、ｚ＝３３４メートル／ピクセルのズームレベルで、可視であり、他の道路から区別可能のままである。Ａ１道路の物理的な幅が、ｄ’＝ｄ＝１６メートルであると仮定すると、物理的スケーリングを使用してレンダリングされる線の幅は、約３３００メートル／ピクセルのズームレベルで約０．００５ピクセルであり、事実上不可視にレンダリングされるはずである。しかし、非物理的スケーリングを使用すると、−１＜ａ＜０の場合に（この例では、ａは約−０．４７３である）、レンダリングされる線の幅は、３３００メートル／ピクセルのズームレベルで約０．８ピクセルであり、明瞭に可視にレンダリングされる。
【０２３１】
ｚ１の値は、所与の道路がそれでも「物理的重要性より高い」重要性を有する最もズームアウトされたスケールになるように選択されることに留意されたい。例えば、米国全体が、１６００×１２００ピクセルのディスプレイ上でレンダリングされる場合に、この解像度は、約３３００メートル／ピクセルまたは３．３キロメートル／ピクセルになるはずである。世界全体を見る場合に、米国主要道路が国だけのビューに対して相対的な高められた重要性を帯びる理由はない可能性がある。
【０２３２】
したがって、上の例では約３３００メートル／ピクセルであるｚ１を超えるズームレベルでは、道幅のスケーリングは、やはり、ズームレベルに物理的に比例するが、好ましくは、ｐ（ｚ）の連続性のためにより大きいｄ’（実際の幅ｄよりはるかに大きい）を有する。このゾーンでは、ｐ＝ｄ’・ｚaというスケーリング公式が用いられ、ａ＝−１である。レンダリングされる道幅が、ｚ１＝３３００メートル／ピクセルで連続的になるために、Ａ１主要道路の新しい帰せられる物理的幅、例えばｄ’＝１．６５キロメートルが選択される。ｚ１およびｄ’の新しい値は、外側スケールｚ１で、線のレンダリングされる幅が適度な個数のピクセルになるように選択されることが好ましい。この場合に、国全体をディスプレイ上で見ることができるズームレベル（約３３００メートル／ピクセル）で、Ａ１道路は、約１／２ピクセル幅とすることができ、この幅は、細いがまだ明瞭に可視であり、これは、１６５０メートルまたは１．６５キロメートルの帰せられる物理的道幅に対応する。
【０２３３】
上は、ズームレベルの関数としてのレンダリングされる線幅に関する次の方程式の特定の組を暗示する。
【０２３４】
ｐ（ｚ）＝ｄ０・ｚ-1、ｚ≦ｚ０の場合
ｐ（ｚ）＝ｄ１・ｚa、ｚ０＜ｚ＜ｚ１の場合
ｐ（ｚ）＝ｄ２・ｚ-1、ｚ≧ｚ１の場合
ｐ（ｚ）の上の形は、６つのパラメータすなわちｚ０、ｚ１、ｄ０、ｄ１、ｄ２、およびａを有する。ｚ０およびｚ１は、ｐ（ｚ）の挙動が変化するスケールをマークする。ズームインされたゾーン（ｚ≦ｚ０）では、ズームは、物理的であり（すなわち、ｚの指数は−１であり）、ｄ０の物理的幅を有し、これは、実際の物理的幅ｄに対応することが好ましい。ズームアウトされたゾーン（ｚ≧ｚ１）では、ズームは、やはり物理的であるが、ｄ１の物理的幅を有し、これは、一般にｄに対応しない。ｚ０とｚ１との間では、レンダリングされる線幅は、ａのべき法則を用いてスケーリングされ、このａは、−１以外の値とすることができる。ｐ（ｚ）が連続的であるというプリファレンスを与えられれば、ｚ０、ｚ１、ｄ０、およびｄ２を指定することは、図３７に明瞭に示されているように、ｄ１およびａを一意に決定するのに十分である。
【０２３５】
上でＡ１道路に関して述べた手法は、道路地図オブジェクトの他の道路要素に適用することができる。このスケーリング技法のＡ１道路、Ａ２道路、Ａ３道路、Ａ４道路、およびＡ５道路への適応の例を、図３８の両対数グラフに示す。この例では、すべての道路についてｚ０＝０．５メートル／ピクセルであるが、この値は、コンテキストに応じて、要素ごとに変更することができる。Ａ２道路は、一般にＡ１道路より多少狭いので、ｄ０＝１２メートルである。さらに、Ａ２道路は、例えば米国の州レベルで、「重要」であり、したがって、ｚ１＝３１２メートル／ピクセルであり、これは、おおむね、単一の州に関するレンダリング解像度（直線スケールで国の約１／１０）である。このスケールでは、１ピクセルの線幅が望ましいことがわかっており、したがって、ｄ２＝３１２メートルは、適度なセッティングである。
【０２３６】
上でＡ１道路およびＡ２道路に関して概要を示した一般的手法を使用して、道路地図オブジェクトの残りの要素のパラメータを確立することができる。Ａ３道路については、ｄ０＝８メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝５０メートル／ピクセル、およびｄ２＝１００メートルである。Ａ４街路については、ｄ０＝５メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝２０メートル／ピクセル、およびｄ２＝２０メートルである。Ａ５未舗装道路については、ｄ０＝２．５メートル、ｚ０＝０．５メートル／ピクセル、ｚ１＝２０メートル／ピクセル、およびｄ２＝２０ｍである。これらのパラメータセッティングを使用すると、Ａ５未舗装道路は、ズームアウトされたズームレベルではますます街路に似て見えるが、ズームインされたときの物理的スケールは、半分の幅になることに留意されたい。
【０２３７】
図３８の両対数プロットに、道路タイプに関するスケーリング挙動を要約する。すべてのスケールで、Ａ１＞Ａ２＞Ａ３＞Ａ４＞＝Ａ５という見かけの幅に留意されたい。また、未舗装道路を除いて、べき法則のすべてが、ａ＝−０．４１の近傍に現れることに留意されたい。破線のすべてが、−１の傾きを有し、異なる物理的幅での物理的スケーリングを表す。上から下に、これらの破線の対応する物理的幅は、１．６５キロメートル、３１２メートル、１００メートル、２０メートル、１６メートル、１２メートル、８メートル、５メートル、および２．５メートルである。
【０２３８】
複数の事前レンダリングされたイメージの間の補間が使用されるときには、多くの場合に、結果の補間が、物理的スケーリングの式および非物理的スケーリングの式によって決定される正しいピクセル幅のすべての線または他のプリミティブ幾何要素の理想的なレンディションから人間には区別不能またはほぼ区別不能であることを保証することが、可能である。本発明のこの代替実施形態を諒解するために、アンチエイリアシングされた線画に関するある背景を、下で提示する。
【０２３９】
アンチエイリアシングされた線画の議論を、上で長々と述べた道路地図の例に従って提示するが、上の道路地図の例では、すべてのプリミティブ要素が、線であり、線幅は、前に説明したようにスケーリングの式に支配される。図３９Ａを参照すると、白の背景の上に黒で描かれ、線の水平位置がピクセルグリッドに正確に位置合せされている１ピクセル幅の垂直線は、単純に、白の背景の上の黒ピクセルの１ピクセル幅の列からなる。本発明の様々な態様によれば、線幅が非整数個数のピクセルである場合を考慮し、これに対処することが望ましい。図３９Ｂを参照すると、線の端点が固定されたままであるが、線の重みが１．５ピクセル幅に増やされる場合に、アンチエイリアシングされたグラフィックスディスプレイ上では、中央列の左右のピクセルの列は、２５％グレイで描かれる。図３９Ｃを参照すると、２ピクセル幅では、これらの側面に位置する列は、５０％グレイで描かれる。図３９Ｄを参照すると、３ピクセル幅では、これらの側面に位置する列は、１００％黒で描かれ、その結果は、期待される通り、３つの塗りつぶされた黒の列である。
【０２４０】
ピクセル化されたディスプレイで非整数幅の線を描くこの手法は、線幅が変化するときに視覚的連続性の感覚（または錯覚）をもたらし、異なる幅の線が、幅において１ピクセルの分数だけ異なる場合であっても、それらの線を明瞭に区別できるようにする。一般に、この手法は、アンチエイリアシングされた線画として知られているが、描かれる線に対する垂線での輝度関数（または、白の背景の上の黒の線については「１−輝度」関数）の線積分が線幅と等しいことを保証するように設計される。この方法は、その端点が正確にピクセルの中心にあるのではない線、垂直以外の方位の線、および曲線にたやすく一般化される。
【０２４１】
図１６Ａ〜Ｄのアンチエイリアスされた垂直線を描くことは、一方（イメージＡ）は線が１ピクセル幅であり、他方（イメージＢ）は線が３ピクセル幅である２つのイメージのアルファブレンディングによって達成することもできることに留意されたい。アルファブレンディングは、ディスプレイ上の各ピクセルに（１−アルファ）＊（イメージＡ内の対応するピクセル）＋アルファ＊（イメージＢ内の対応するピクセル）を割り当てる。アルファが０と１との間で変化するときに、レンダリングされる線の有効幅は、１ピクセルと３ピクセルとの間で滑らかに変化する。このアルファブレンディング手法は、イメージＡおよびＢ内の２つのレンダリングされる線幅の間の差が１ピクセル以下の最も一般的な場合に限ってよい視覚的結果を作り、それ以外の場合には、線は、中間幅で後光がさして見える可能性がある。この同一の手法を、点、多角形、および異なる直線サイズの多数の他のプリミティブ幾何要素のレンダリングに適用することができる。
【０２４２】
もう一度図１６Ａ〜Ｄに移ると、１．５ピクセル幅の線（図３９Ｂ）および２ピクセル幅の線（図３９Ｃ）は、１ピクセル幅の線（図３９Ａ）と３ピクセル幅の線（図３９Ｄ）との間のアルファブレンディングによって構成することができる。図１７Ａ〜Ｃを参照すると、１ピクセル幅の線（図４０Ａ）、２ピクセル幅の線（図４０Ｂ）、および３ピクセル幅の線（図４０Ｃ）が、任意の方位で示されている。線がピクセルグリッドに正確に位置合せされている場合と同一の原理が、図１７Ａ〜Ｃの任意の方位にも適用されるが、その間でアルファブレンディングが行われる線幅の間隔は、よい結果のために２ピクセルより微細にする必要がある場合がある。
【０２４３】
現在の地図の例のコンテキストで、異なる解像度のイメージのセットを、図１４〜１５の両対数プロットに関する事前レンディションのために選択することができる。例えば、ここで図４１を参照するが、図４１は、水平線および垂直線の組を含むことを除いて、図３７に実質的に類似する。水平線は、１ピクセルの増分で、１ピクセルと１０ピクセルとの間の線幅を示す。垂直線は、２つの隣接する垂直線の間のインターバルにまたがる線幅が２ピクセルを超えて変化しないように間隔をおかれている。したがって、垂直線は、事前レンディションに適切なズーム値のセットを表し、２つの隣接するそのような事前レンダリングされたイメージの間のアルファブレンディングは、連続的に可変の幅で道路を表す線のレンダリングとほぼ同等の特性を生み出す。
【０２４４】
図４１に示された垂直線によって表される６つの解像度の間の補間は、約９メートル／ピクセル以上で図示のスケーリング曲線を使用してＡ１主要道路を正確にレンダリングするのに十分である。約９メートル／ピクセル未満のレンディションは、そのようなビューが非常にズームインされており、したがって非常に少数の道路を示すので、事前レンディションを必要とせず、これらをベクトルにレンダリングすることを、事前レンダリングされたイメージの間での補間より計算的に効率的（かつ、データ格納要件に関してより効率的）にする。約１０００メートル／ピクセルを超える解像度では（そのようなビューは、地球の表面の大きい部分を含む）、最終的な事前レンダリングされたイメージだけを使用することができる。というのは、これが、１ピクセル幅の線を使用するレンディションであるからである。単一ピクセルより細い線は、同一ピクセルをよりかすかにレンダリングする。したがって、Ａ１線が０．５ピクセル幅であるイメージを作るためには、１ピクセル幅の線のイメージに、０．５のアルファをかけることができる。
【０２４５】
実際には、解像度の間の各インターバルにまたがって、図３８のスケーリング曲線のすべてが１ピクセルを超えて変化しないように、解像度の多少より大きいセットが事前レンダリングされる。許容される変動を１ピクセルに減らすことは、改善されたレンダリング品質をもたらすことができる。特筆すべきことに、その開示全体が参照によって本明細書に組み込まれている同時係属の、「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」と題する２００３年６月５日出願の特許文献２で見出すことができる。本発明の実装に関連して用いることができるブレンディング技法に関するさらなる詳細を、その開示全体が参照によって本明細書に組み込まれている２００３年３月１２日出願の、「SYSTEM AND METHODFOR FOVEATED,SEAMLESS,PROGRESSIVE RENDERING IN A ZOOMING USER INTERFACE」と題する特許文献３で見出すことができる。
【０２４７】
有利なことに、本発明の上で述べた諸態様を用いると、ユーザは、様々なズームレベルを通る滑らかで連続的なナビゲーションの外見を享受する。さらに、あるレベルから別のレベルにズームするときに、詳細が不意に現れまたは消えることは、ほとんどまたはまったくない。これは、技術的現状に対する重要な前進を表す。
【０２４８】
本発明の様々な態様を、インターネット上の対話型ソフトウェアアプリケーション、自動車ベースのソフトウェアアプリケーション、および類似物など、多数の製品で適用できることが企図されている。例えば、本発明を、ユーザ要求に応答してクライアント端末に地図およびドライビング指示（ｄｒｉｖｉｎｇ  ｄｉｒｅｃｔｉｏｎ）を供給するインターネットウェブサイトによって用いることができる。あるいは、本発明の様々な態様を、自動車内のＧＰＳナビゲーションシステムで用いることができる。本発明は、医療イメージング機器に組み込むこともでき、これによって、例えば患者の循環系、神経系などに関する詳細情報を、上で説明したようにレンダリングし、ナビゲートすることができる。本発明の応用例は、その全体をリストするには多すぎるが、当業者は、それらが本明細書で企図されており、請求される本発明の範囲に含まれることを認めるであろう。
【０２４９】
本発明を、レンダリングされたイメージが、宣伝し、他の形で商取引を促進する手段を提供する他の応用例に関連して利用することもできる。本発明のこれらの態様および使用に関する追加の詳細は、その開示全体が参照によって本明細書に組み込まれている「METHODS AND APPARATUS FOR EMPLOYING MAPPING TECHNIQUES TO ADVANCE COMMERCE」と題する本願と同日出願の特許文献４（代理人整理番号４８９／７）で見出すことができる。
【０２５０】
本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、本発明の原理および応用例の単なる例示であることを理解されたい。したがって、多数の変更を、これらの例示的実施形態に対して行うことができ、他の配置を、添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに考案できることを理解されたい。
【０２５１】
[発明の名称]効率的なデータキャッシュ
【０２５２】
[背景技術]
「ＭＲＵキャッシング」（ＭＲＵは、「ｍｏｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ」を表す）は、クライアント−サーバシステムでのクライアントサイドメモリの実装に関する既知の概念である。サーバが、クライアントにアクセスでき、多数のデータオブジェクトをクライアントに供給でき、これらのデータオブジェクトが、集団で、大量のメモリを占める可能性があると仮定する。しかし、クライアントとサーバとの間の使用可能な帯域幅は、限られており、したがって、サーバからデータオブジェクトが送信されることを求めるクライアント要求は、時間がかかる。データオブジェクトへのアクセスが、適度に「コヒーレント」（クライアントが最近必要としたオブジェクトが、近い将来にもう一度必要になる可能性が高いことを意味する）である場合に、ＭＲＵキャッシングは、クライアント−サーバシステムの効率を高めることができる。この手法を用いると、クライアントは、一般に、ある限られた量のメモリ（一般に、サーバ上のオブジェクトのすべてを格納するのに必要なるものよりはるかに少ない）をとっておき、このメモリ（キャッシュ）に、そこにおさまるできる限り多くの最も最近に要求されたオブジェクトを格納する。新しいオブジェクトがサーバからクライアントに送信され、クライアントのキャッシュスペースが使い果たされたときには、最長時間未使用の（ｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ、ＬＲＵ）オブジェクトがキャッシュから消去され、新しいオブジェクトを格納できるデータストレージスペースを作成する。
【０２５３】
一般に、クライアントがデータオブジェクトを必要とするときに、キャッシュが、まず、そのオブジェクトがキャッシングされているかどうかを知るために検査される。キャッシングされている場合には、キャッシングされた表現が使用され、低速なまたは計算的に高価なサーバ要求の必要がなくなる。通常、キャッシングされた表現の利用は、そのオブジェクトをキャッシュのＭＲＵ端に「昇格」させもする。この手法は、一般に、アクセスされるすべてのデータオブジェクトについてサーバにデータを要求しなければならないことを上回る実質的な性能の利益をもたらす。
【０２５４】
新しいオブジェクトが、コンピューティングシステムによってアクセスされ、キャッシュに格納されるときのキャッシュからの最長時間未使用のオブジェクトの消去は、キャッシュ使用の非効率性を引き起こす可能性がある。キャッシュ内の消去される最長時間未使用のオブジェクトさえもが、サーバによってもう一度要求される場合がある。これが発生するときには、サーバは、メインメモリまたはマスストレージデバイスなどのデータストレージのよりリモートなソースからこのオブジェクトを取り出すという比較的低速なまたは計算的に高価なタスクに取りかかる場合がある。キャッシュメモリの有限のサイズを与えられれば、オブジェクト消去は、ある頻度で発生する可能性があり、これによって、サーバまたは他のコンピューティングシステムに、かつてはキャッシュメモリ内に便利に格納されていたデータを得るためによりリモートなメモリにアクセスしてかなりのリソースを費やさせる。
【０２５５】
[発明の開示]
[発明が解決しようとする課題]
したがって、従来技術には、キャッシュメモリ管理に対するより効率的で柔軟な手法の必要がある。
【０２５６】
[課題を解決するための手段]
一態様によれば、本発明は、キャッシュオブジェクトの初期グループを有するコンピューティングシステム内のキャッシュを提供することであって、各キャッシュオブジェクトは、初期圧縮率を有し、格納されたデータを含み、所与のキャッシュオブジェクト以外の少なくとも１つのキャッシュオブジェクトによって占められるデータストレージスペースの量を減らすことと、所与のキャッシュオブジェクトによって占められるデータストレージスペースの量を増やすこととを含むことを特徴とする方法を提供することができる。好ましくは、減らすことは、データストレージスペースの量を所与の量だけ減らすことを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトによって占められるデータストレージスペースの量を所与の量だけ増やすことを含む。好ましくは、減らすことは、少なくとも１つのキャッシュオブジェクトの初期圧縮率を高めることを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトの初期圧縮率を下げることを含む。好ましくは、所与のキャッシュオブジェクトは、キャッシュオブジェクトのうちで最も最近に使用されたキャッシュオブジェクトである。好ましくは、減らすステップを経験する少なくとも１つのキャッシュオブジェクトは、キャッシュオブジェクトのうちで最長時間未使用のキャッシュオブジェクトを含む。
【０２５７】
好ましくは、減らすことは、少なくとも１つのキャッシュオブジェクトに関する格納されたデータの一部を除去することを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトに関する格納されたデータを増補することを含む。好ましくは、キャッシュオブジェクトのそれぞれについて使用可能なデータストレージスペースの量は、離散値の有限個数のうちの１つと等しいものとすることができる。好ましくは、減らすことは、キャッシュオブジェクトのうちで所与のキャッシュオブジェクト以外の少なくとも１つのランダムに選択されたキャッシュオブジェクトに関するデータストレージスペースの量を減らすこと含む。好ましくは、減らすことは、少なくとも１つのランダムに選択されたキャッシュオブジェクトに関するデータストレージスペースの量をランダムに決定された範囲まで減らすことを含む。好ましくは、ランダムに選択されたキャッシュオブジェクトは、ランダム方法および擬似ランダム方法のうちの１つを使用して選択される。好ましくは、ランダムに選択されたキャッシュオブジェクトの選択は、ヒューリスティックによって案内される。
【０２５８】
好ましくは、この方法は、増やすことの後に、所与のキャッシュオブジェクトを可逆圧縮された形で格納することをさらに含む。好ましくは、この方法は、増やすことの後に、所与のキャッシュオブジェクトを非圧縮の形で格納することをさらに含む。好ましくは、減らすことは、キャッシュオブジェクトのうちで所与のキャッシュオブジェクト以外の少なくとも１つのキャッシュオブジェクトを除去することを含む。
【０２５９】
もう１つの態様によれば、本発明は、メインメモリと機能的に通信できる少なくとも１つのプロセッサを有するコンピューティングシステムと、キャッシュオブジェクトの初期グループを有するコンピューティングシステム内のキャッシュであって、各キャッシュオブジェクトは、初期圧縮率を有し、格納されたデータを含み、コンピューティングシステムは、所与のキャッシュオブジェクト以外の少なくとも１つのキャッシュオブジェクトによって占められるデータストレージスペースの量を減らし、所与のキャッシュオブジェクトによって占められるデータストレージスペースの量を増やすように動作することを特徴とする装置を提供することができる。好ましくは、減らすことは、データストレージスペースの量を所与の量だけ減らすことを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトによって占められるデータストレージスペースの量を所与の量だけ増やすことを含む。好ましくは、減らすことは、少なくとも１つのキャッシュオブジェクトの初期圧縮率を高めることを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトの初期圧縮率を下げることを含む。
【０２６０】
好ましくは、所与のキャッシュオブジェクトは、キャッシュオブジェクトのうちで最も最近に使用されたキャッシュオブジェクトである。好ましくは、減らすことは、少なくとも１つのキャッシュオブジェクトに関する格納されたデータの一部を除去することを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトに関する格納されたデータを増補することを含む。好ましくは、キャッシュオブジェクトのそれぞれについて使用可能なデータストレージスペースの量は、離散値の有限個数のうちの１つと等しいものとすることができる。好ましくは、減らすことは、キャッシュオブジェクトのうちで所与のキャッシュオブジェクト以外の少なくとも１つのランダムに選択されたキャッシュオブジェクトに関するデータストレージスペースの量を減らすことを含む。好ましくは、減らすことは、少なくとも１つのランダムに選択されたキャッシュオブジェクトに関するデータストレージスペースの量をランダムに決定された範囲まで減らすことを含む。
【０２６１】
もう１つの態様によれば、本発明は、コンピューティングシステム内でキャッシュを提供することであって、キャッシュは、初期条件を有し、不十分なデータストレージスペースが初期条件の下でキャッシュ内に存在して、キャッシュ内に少なくとも１つの新しいオブジェクトを格納する場合に、キャッシュ内の少なくとも１つのオブジェクトを圧縮して、少なくとも１つの新しいオブジェクトのためにデータストレージスペースをクリアすることと、少なくとも１つの新しいオブジェクトをキャッシュ内に格納することとを含むことを特徴とする方法を提供する。好ましくは、初期条件は、キャッシュが空であることに対応する。好ましくは、この方法は、任意の追加の新しいオブジェクトを格納するために不十分なデータストレージスペースがキャッシュ内に残るまで、キャッシュ内に格納されたオブジェクトを圧縮せずにキャッシュ内に新しいオブジェクトを格納することを継続することをさらに含む。好ましくは、この方法は、少なくとも１つの新しいオブジェクトを格納するための十分なスペースが初期条件の下でキャッシュに存在する場合に、圧縮することなしでキャッシュ内に少なくとも１つの新しいオブジェクトを格納することをさらに含む。
【０２６２】
他の態様、特徴、利益などは、本明細書の本発明の好ましい実施形態の説明が添付図面と共に解釈されるときに、当業者に明白になるであろう。
【０２６３】
本発明の様々な態様を例示するために、図面に、現在好ましい形が示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。
【０２６４】
[発明を実施するための最良の形態]
本開示では、キャッシュのＬＲＵ端およびＭＲＵ端に言及する。オブジェクトは、一般にＭＲＵ端に追加され、一般にＬＲＵ端から消去される。しかし、本発明は、そのような方式に限定されない。キャッシュ内のキャッシュオブジェクトの物理的レイアウトが、ＬＲＵ−ＭＲＵレイアウトに対応する必要がないことに留意されたい。キャッシュのレイアウトは、単に、コンピューティングシステムが本明細書に記載の形でオブジェクトを見つけ、挿入し、かつ／または消去することを好ましく可能にする。直線状のＬＲＵ−ＭＲＵ配置は、キャッシュの動作を記述する便利な機構であるが、キャッシュメモリの多数の可能な実装を表すに過ぎない。本明細書では、用語「キャッシュ」および「キャッシュメモリ」が、交換可能に使用される。
【０２６５】
本明細書で開示されるＭＲＵキャッシングおよびその拡張は、クライアント／サーバアーキテクチャのコンテキストで論じられるが、類似する原理が、単一のコンピュータでの効率的なハードディスクアクセス（ハードディスクへのアクセスが、ＲＡＭへのアクセスより低速であり、したがって、ＲＡＭが、ハードディスク上の最も最近に使用された内容をキャッシングするのに使用される）など、多数の他のシナリオにも適用されることに留意されたい。１つまたは複数の他の実施形態では、データは、ディスクからロードされまたはネットワークを介して送信されるのではなく、環境から収集されるか計算的に生成される。どの場合でも、クライアントは、小さいが高速の一時キャッシュメモリと、より大きいがより低速のデータソースとにアクセスでき、このデータソースから情報が繰り返して要求される。このより低速のデータソースを、本明細書では一般に「サーバ」と称する。
【０２６６】
収束級数の次の議論は、本明細書で開示されるキャッシュメモリの装置および方法への導入として提供されるものである。
【０２６７】
ｎが１から無限大まで変化し、ｐ＞１である級数ｙ（ｎ）＝ｎ＾−ｐの無限和は、有限である。同様に、ｙ＝１／ｂ＾ｎの和は、ｂ＞１について有限である。例えば、後者の場合に、ｂ＝２であれば、和は正確に２である。そのような収束級数の基礎になる概念を使用して、本明細書に記載の効率的なデータキャッシングの方法および装置の１つまたは複数の実施形態を実装することができる。
【０２６８】
本明細書に記載の方法および装置の１つまたは複数の実施形態は、下で説明する「ゼノンのパラドックス」に関する概念を用いることができる。この議論は、本明細書に記載の１つまたは複数の実施形態に適用可能な概念的土台を提供するが、本発明は、下で述べる概念的諸態様によって限定されない。
【０２６９】
＜ゼノンキャッシングの概念＞
ゼノンは、１歩（議論のために、彼は毎秒１歩進むと仮定する）で、彼の現在位置からすべての競争場の終わりまでの距離の半分を行くほどに速い走者である。パラドックスは、彼がどの１歩でも前に移動するにもかかわらず、彼が絶対にその競争場の決勝線に入らないということである。このパラドックスは、ｂ＝２を有し、ｎ＝２から無限大までの和をとる、上の１／ｂ＾ｎ級数に簡単に関係付けられる。この概念は、キャッシュオブジェクトを使用またはアクセスの減少する新しさに伴って徐々により大きい範囲まで圧縮できるようにすることによって、キャッシュオブジェクトの格納に拡張することができる（キャッシュ自体は、「競技場」になぞらえられる）。したがって、キャッシュのＭＲＵ端からそのＬＲＵ端への進行において、ますます減少するサイズの理論的に無限の個数の追加キャッシュオブジェクトを、決してスペースを使い果たさずに導入することができる。この原理を、本明細書ではゼノンキャッシュ概念と称する。
【０２７０】
本明細書に関係するキャッシュオブジェクトは、圧縮可能であることが好ましく、圧縮可能とは、本開示では、非可逆データ圧縮技法に従うことに対応する。非可逆データ圧縮は、データオブジェクトのフル表現より少ないバイトでデータオブジェクトを表す能力の特徴がある。より高い圧縮率は、一般に、データオブジェクトのより大きい歪みおよび圧縮データ（このオブジェクトには、１つまたは複数のイメージファイルが含まれる）を使用してレンダリングされるイメージのより低い品質をこうむる。限定なしに、非可逆圧縮技法を、サウンド、ビデオ、および多数の他のデータ型に適用可能とすることもできる。
【０２７１】
１つまたは複数の実施形態で、データの圧縮されたバージョンは、非圧縮データの代用物として適切とすることができる。歪みの所与のレベル未満では、データの圧縮表現が、十分に適当である可能性があり、歪みの所与のレベルを超える場合に、圧縮表現は、クライアントがデータのより高品質のバージョンを待っている間の一時的手段として適切である可能性がある。より高品質のバージョンは、単に、一時的に使用されるバージョンより低く圧縮されたものとすることができ、あるいは、可逆圧縮または非圧縮とすることができる。
【０２７２】
１つまたは複数の実施形態では、より低い品質の表現は、より高い品質の表現のサブセットとすることができ、これは、クライアント側での表現品質の改善が、より低い品質の表現を増補し、これによってより高い品質の表現を提供するために、単にデータの送信を用いることができることを意味する。好ましくは、この手法を用いると、高品質表現に関連するデータの完全に新しいセットを送信するという重荷をこうむる必要がない。この手法は、好ましくは、冗長性を回避し、したがって、好ましくは、効率を実質的に高める。
【０２７３】
上で述べた手法と一貫して、あるオブジェクトの表現品質を下げるという逆のプロセスは、イメージの高品質表現に使用されるデータの圧縮または再圧縮を必要とするのではなく、その高品質表現に用いられるデータの一部を単に除去することを用いることができる。このプロパティも、好ましくは、本明細書で開示されるキャッシングの装置および方法の効率を高める。
【０２７４】
１つまたは複数の実施形態で、圧縮技法は、非可逆から可逆までスケーリングされる圧縮レベルでオブジェクトを提供することができる。この特徴は、データオブジェクトの可逆表現を、複数のステップで、大きい非可逆から可逆へ、可逆バージョンを当初に送信することに対して相対的に余分な総コストをほとんどまたはまったく伴わずに作り上げることを可能にすることができる。上記の特徴を可能にするデータ型および圧縮テクノロジの例が、ＪＰＥＧ２０００標準規格によって具現される、イメージのウェーブレット圧縮である。しかし、本発明は、ＪＰＥＧ２０００標準規格の使用に限定されない。
【０２７５】
上のプロパティを与えられれば、メモリが「連続である」（すなわち、バイトに離散化されていない）場合に、理論的に、単にオブジェクトの圧縮後のサイズが本明細書で前に述べた収束級数のルールに従うという制約を強制することによって、無限の個数のデータオブジェクトを有限の量のメモリにキャッシングすることが可能になるはずである。上で述べた理論に従って機能することができるキャッシュの動作を、図１および２に関連して下で説明する。
【０２７６】
図４２のグラフでは、変数「Ｎ」は、好ましくは各キャッシュオブジェクトの番号に対応し、各キャッシュオブジェクトの番号の値は、各そのようなキャッシュオブジェクトの使用の新しさを表し、Ｎの増加する値は、その番号に関連するキャッシュオブジェクトの使用の減少する新しさに対応する。変数「Ｙ」は、各キャッシュオブジェクトのサイズに対応することが好ましい。「Ｙ」変数について、「１」の値は、最高品質条件すなわちまったく圧縮されていないときのキャッシュオブジェクトのサイズに対応するものとすることができる。最も最近に使用されたオブジェクトは、少ない歪みを用いて表すことができ、より長時間使用されていないオブジェクトは、その最後の使用の新しさと一貫する圧縮の範囲に従属するものとすることができる。図４２では、圧縮後のキャッシュオブジェクトサイズＹの値が、関係あるキャッシュオブジェクトの使用の減少する新しさに伴って減少することがわかる。「Ｙ」変数は、キャッシュ内の各オブジェクト（圧縮されていようといまいと）の絶対サイズ（任意の単位で表される）に対応するものとすることができることに留意されたい。その代わりに、１つまたは複数の他の実施形態で、「Ｙ」は、圧縮率に対応することができ、例えば、値「１」が、フルサイズオブジェクトに対応し、値「０．５」が、非圧縮サイズの半分を占めるオブジェクトに対応する。
【０２７７】
図４３を参照すると、１からＮまでの番号を付けられたオブジェクトのサイズＹの累積和は、Ｎの値ごとに、図４３に示されているようにそれでも有限の数になる可能性がある。変数「Ｙ」の単位は、１つの代表的な完全に展開された（非圧縮の）キャッシュオブジェクトのサイズに対応するデータストレージスペース（またはそれが必要とするデータストレージスペース）の単位とすることができる。図１および２は、本発明の１つまたは複数の実施形態の理論の理解を助けるので、データのビットおよび／またはバイト単位でキャッシュオブジェクトのサイズを記述する情報は、本明細書では提供しない。
【０２７８】
１つまたは複数の実施形態で、上で説明した理論的実装は、２つの理由から、変更されることが好ましい。第１に、実際には、メモリストレージは、離散的な記憶単位からなることが好ましい。したがって、例えば、通常、キャッシュオブジェクトを１ビットより小さいストレージスペースの量を占めるように圧縮することは、実際には無意味である。第２に、キャッシュに対して実行される動作の総数は、有限であることが好ましい。対照的に、上の収束公式のうちの１つによって記述される圧縮率の連続曲線を強制することは、追加キャッシュストレージスペースが必要になるたびに、キャッシュ内のすべてのキャッシュオブジェクトのサイズを減らすことを伴う可能性がある。これは、非実用的に多数の動作を必要とするはずである。
【０２７９】
１つまたは複数の実施形態で、キャッシュ内のオブジェクトの個数は、実際には有限になる。しかし、ゼノンキャッシュの概念が使用される場合には、この個数を、従来のＭＲＵキャッシングを用いて可能になる個数よりはるかに多くすることができる。さらに、キャッシングされるオブジェクトは、最近に使用された場合に高品質レベル（低いレベルの歪みまたは圧縮非可逆ネスから、可逆圧縮、非圧縮データまでのどこか）で格納できるというプロパティを有することができる。キャッシュオブジェクトのこの品質レベルは、キャッシュオブジェクトがアクセスされない各連続するキャッシュメモリアクセスに伴って徐々により悪くなる（すなわち、徐々により高いレベルの歪みまたは圧縮非可逆ネスを受ける）ものとすることができる。
【０２８０】
コンピュータメモリは離散的であり、それ未満ではユーザにとっての価値を有しない可能性があるキャッシュオブジェクトの最小の圧縮後のサイズがある場合があるので、キャッシングされる表現は、この最小の圧縮後のサイズを生じる最大圧縮率の支配下にある可能性がある。したがって、１つまたは複数の実施形態で、キャッシュに格納できるキャッシュオブジェクトの最大個数は、オブジェクトのすべてが等しいサイズである場合に、キャッシュ内の総データストレージスペースを、上で説明した最小の圧縮後のサイズを有する１つのキャッシュオブジェクトが占めるデータストレージスペースの量によって割ったものと等しいものとすることができる。しかし、キャッシュオブジェクトは、すべてが等しいサイズである必要はない。
【０２８１】
上で述べた式のうちの１つ（または任意の他の収束和）によって制限された、したがって有限の和を有する級数を設計する多数の形がある。追加の制約、具体的には、用いられるＹの異なる値の個数を適度な数までに制限できるように、任意の所与の値が級数の連続する値において繰り返す尤度が、Ｎのより大きい値で増加するという制約を導入することもできる。
【０２８２】
そのような級数の例が、１、１／４、１／４、１／１６、１／１６、１／１６、１／１６、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／６４、１／２５６などである。
【０２８３】
明らかに、級数１、２つの１／４、４つの１／１６、８つの１／６４、などの和は、本明細書で前に述べたように、ｙ＝１／２＾ｎとまったく同様に２である。しかし、この級数をｎ＝１６０００まで取り出すならば、ｙ（オブジェクトデータストレージサイズ）の約ｌｏｇ2（１６０００）個すなわち約１４個の値だけを使用することができる。
【０２８４】
１つまたは複数の実施形態で、上で説明した対数関数は、Ｙ（キャッシュオブジェクトの可能なサイズ）の使用可能な値の個数を、Ｎの値よりはるかにゆっくりと増加させる１つの形を提供する。しかし、本発明は、この対数関数の使用に限定されず、Ｙの値の個数にＮの値よりゆっくりと増加させる他の数学演算を、本発明に関連して用いることができる。
【０２８５】
１つまたは複数の実施形態で、Ｎ＝百万のときに、Ｙの２０個もの少数の値を使用することができる（上で具陳した対数ベースの公式を使用して決定される）。これは、スペースがキャッシュ内で解放されなければならないときに、キャッシュオブジェクトの大多数が、好ましくは変更される必要のない、ある量のデータストレージスペースを占めるので、少数の動作だけが、キャッシュオブジェクトの間でデータストレージスペースの適切な割振りを確立するのに必要になる可能性があることを暗示する。
【０２８６】
他の数学級数も、キャッシュメモリ管理のシステムおよび方法での使用に関する所望の判断基準を満足することができる。さらに、理論的には収束しない（すなわち、その和が無限大である）級数を使用することが可能である。というのは、実際には、どの場合にも有限の個数の項が合計されるからである。
【０２８７】
１つまたは複数の実施形態では、ランダムアルゴリズムを使用して、基本アルゴリズムを複数の形で改善することができる。１つまたは複数の実施形態では、上で説明した２＊１／４、４＊１／１６などの級数に、少数の使用可能なキャッシュオブジェクトサイズだけが含まれ、おそらくはキャッシュ内の異なるオブジェクトの間の圧縮率の明確な差につながる場合がある。ランダムな選択を使用して、あるターゲット量のスペースが新しいキャッシュオブジェクトのために使用可能にされるまで、キャッシュオブジェクトのランダムに選択されたサブセットを重み付きの形で「圧搾する」（それによって使用されるデータストレージスペースを減らす）ことができる。この手法は、有益な結果をもたらすことができる。というのは、キャッシュオブジェクトのキャッシュ内の正確な位置が、キャッシュ内のオブジェクトの増加する個数に伴って重要性において減少し得るからである。各オブジェクトが「圧搾」される量を、少なくとも部分的にランダム化することもできる。本明細書で述べるものに似たランダム化アルゴリズムを使用することによって、キャッシュ内に格納されたキャッシュオブジェクトを使用してレンダリングされるイメージ内で知覚され得るキャッシュオブジェクト品質の明らかな不連続性または閾値を減らすことができる。
【０２８８】
次では、本発明の１つまたは複数の態様によるデータキャッシュ内のキャッシュオブジェクトの管理の例示的な例を提示する。
【０２８９】
図４４は、本発明の１つまたは複数の実施形態による、複数のキャッシュオブジェクト３０２〜３１０を含むデータキャッシュ３００のブロック図である。図４５は、キャッシュオブジェクト３０２、３０４、３０８、および３１０が本発明の１つまたは複数の実施形態に従ってサイズを変更されている、図４４のデータキャッシュ３００のブロック図である。図４６は、アクセスされたキャッシュオブジェクト３０６が、本発明の１つまたは複数の実施形態に従ってサイズを変更され、キャッシュ３００に復元されている、図４５のデータキャッシュのブロック図である。
【０２９０】
図４４に示されたものを含む１つまたは複数の実施形態で、キャッシュ３００に、５つのキャッシュオブジェクト（図を簡潔にするために図３〜６では「ＣＯ」と省略する）ＣＯ  １  ３０２、ＣＯ  ２  ３０４、ＣＯ  ３  ３０６、ＣＯ  ４  ３０８、およびＣＯ  ５  ３１０を含めることができる。図４４に示されたキャッシュオブジェクトの個数（５）は、本明細書で説明する様々な概念を示す際の便宜のために選択されたものである。しかし、５つより少数またはより多数のキャッシュオブジェクトを、キャッシュ３００内に含めることができる。原則として、キャッシュ３００内に含めることができるキャッシュオブジェクトの個数に対する下限はない。原則として、キャッシュ３００内に含めることができるキャッシュオブジェクトの個数の上限は、キャッシュの総サイズを最小の受け入れられる可能なキャッシュオブジェクトサイズ（本明細書の他所で論ずる）によって割った値に対応するものとすることができる。
【０２９１】
図３〜５では、本明細書で開示される様々な概念を説明するために、各図示のキャッシュオブジェクトの幅は、そのキャッシュオブジェクトによって使用されるデータストレージスペースに比例することが意図されている。また、図３〜５では、左端のキャッシュオブジェクトから右端のキャッシュオブジェクトに進むことは、表示されるキャッシュオブジェクトのアクセスの増加する新しさに対応し、キャッシュオブジェクトのうちで最長時間未使用のものが、左端に示され、キャッシュオブジェクトのうちで最も最近に使用されたものが、右端に示されている。
【０２９２】
図４５は、ＣＯ  ３  ３０６が、キャッシュ３００を使用するコンピューティングシステム７００などのコンピューティングシステムによってアクセスされた後のキャッシュ３００を示す。この例では、ＣＯ  ３  ３０６は、キャッシュ３００内のそのオリジナルの位置に示されていない。というのは、この位置が、図４５に示されたキャッシュ３００の状態で上書きされているからである。さらに、空きスペース４０２が、ＣＯ  ３  ３０６の展開されたバージョンのための場所を作るために作成され、この展開されたバージョンは、図４４のＣＯ  ３のオリジナルバージョンより多い、キャッシュ３００内のデータストレージスペースを占める可能性がある。図４６では、ＣＯ  ３０６の展開されたバージョンが、キャッシュ３００のうちで図４５に示されたキャッシュ３００条件で空きスペース４０２によって占められていた部分に書き込まれている。
【０２９３】
図４７は、本発明の１つまたは複数の実施形態による、データキャッシュ３００内のキャッシュオブジェクトにアクセスし、データキャッシュ３００を更新する方法６００の流れ図である。次では、図３〜６を参照する。
【０２９４】
ステップ６０２で、キャッシュオブジェクト３０２、３０４、３０６、３０８、および３１０を、キャッシュ３００にアクセスできるプログラムに提供する。当初にキャッシュ３００内に存在するキャッシュオブジェクトのグループは、図４４に示されている。キャッシュ３００のこの初期状態は、または複数のプログラム内のデフォルトセッティングからあるいは１つまたは複数のプログラム内で前に実行されたプログラムステップから生じる可能性がある。どの場合でも、次の議論で重要なのは、図４４に示された初期状態の確立の後でキャッシュ３００に対して行われる変更である。様々なコンピューティングシステムのうちのいずれかで動作する多数のプログラムのうちのどれであっても、キャッシュ３００と通信することができるが、便宜のために、キャッシュ３００にアクセスできるソフトウェアを、次では単に「プログラム」と称する。
【０２９５】
ステップ６０４で、どのキャッシュオブジェクトがプログラムによって次に使用されるかの表示を提供することができる。ステップ６０６で、この例ではＣＯ  ３  ３０６である、示されたキャッシュオブジェクトに、プログラムによってアクセスすることができる。
【０２９６】
ステップ６０８では、アクセスされたキャッシュオブジェクトが展開可能であるかどうかに関する判定を行うことができる。本明細書では、キャッシュオブジェクトは、より低い圧縮率を受けることによってより多くのデータストレージスペースを占めることができるときに、展開可能である。そのような展開は、新しい圧縮率に対応する（または圧縮の欠如に対応する）データの完全に新しいセットを供給することによるのではなく、キャッシュオブジェクトに既に存在するデータを増補することによって達成することができる。
【０２９７】
アクセスされたキャッシュオブジェクトが展開可能ではない場合には、そのキャッシュオブジェクトは、ステップ６１０でキャッシュ３００に復元されることが好ましい。好ましくは、ステップ６１０で、復元されるキャッシュオブジェクトは、アクセスの後に、そのアクセスの前に占めていたのと同一の量のデータストレージスペースを占める。ＬＲＵ−ＭＲＵキャッシングの原理と一貫して、キャッシュ３００に復元されるときに、アクセスされたキャッシュオブジェクトを、キャッシュ３００の右端またはＭＲＵ端に書き込むことができる。しかし、その代わりに、アクセスされたキャッシュオブジェクトを、キャッシュ３００のどの部分にでも書き込むことができる。方法６００のこの分岐を継続すると、方法６００は、ステップ６１２で終了することが好ましい。
【０２９８】
ステップ６０８を参照すると、キャッシュオブジェクト３０６などの、アクセスされたキャッシュオブジェクトが、展開可能である場合には、そのキャッシュオブジェクトは、本発明の１つまたは複数の実施形態に従って展開されることが好ましい（ステップ６１４）。本明細書で前に述べたように、上で説明したキャッシュオブジェクトの展開は、最も最近におよび／または最も頻繁にアクセスされるキャッシュオブジェクトがキャッシュ３００に最高品質レベルで格納される配置を提供するのを好ましく助ける。
【０２９９】
１つまたは複数の実施形態で、キャッシュ内に「Ｎ」個のキャッシュオブジェクトがある場合に、そのようなキャッシュオブジェクトの可能なサイズの個数（データストレージスペース単位で測定される）を、ｌｏｇ2（Ｎ）と等しい量までに制限することができる。上で説明したように限られた有限の個数の可能なキャッシュオブジェクトサイズを確立することは、ステップ６１４で展開される、ＣＯ  ３０６などのキャッシュオブジェクトに関する新しい展開されたサイズを決定する計算出費を好ましく制限する。
【０３００】
１つまたは複数の実施形態で、ＣＯ  ３０６の展開された（または、言い換えればより少なく圧縮された）バージョンに必要なデータストレージスペースの量は、キャッシュ３００にアクセスできるコンピューティングシステム（図示せず）によって計算することができる。キャッシュ３００が、まだＣＯ  ３０６の展開されたバージョンを受け取る準備ができていない場合には、ＣＯ  ３０６の展開されたバージョンを、そこでの一時的格納のために別のメモリストレージ位置（図示せず）に書き込むことができる。
【０３０１】
ステップ６１６で、ＣＯ  ３０６の展開されたバージョンを格納するのに必要なデータストレージスペース４０２を、キャッシュ３００内で使用可能にすることが好ましい。キャッシュ３００内のどのキャッシュオブジェクトをも変更せずにＣＯ  ３０６の展開されたバージョンを格納するのに十分なスペースがキャッシュ３００に存在する場合には、キャッシュ３００内の１つまたは複数のキャッシュオブジェクトのサイズの縮小を、省略することができる。しかし、キャッシュ３００内のストレージスペースのすべてまたは実質的にすべてが、ＣＯ  ３０６がアクセスされる前に占められていた場合には、ＣＯ  ３０６以外の１つまたは複数のキャッシュオブジェクトは、キャッシュ３０６の展開されたバージョンの格納のためにキャッシュ３００内のスペースを解放するために、サイズの縮小を経験する場合がある。
【０３０２】
１つまたは複数の実施形態で、キャッシュオブジェクトサイズ縮小動作の個数は、限られた個数の可能なキャッシュオブジェクトサイズがある場合に減らすことができる。キャッシュオブジェクトサイズ縮小動作の個数を制限することは、キャッシュ３００にアクセスするコンピューティングシステムへの計算の重荷を減らすように好ましく動作し、全体的なコンピューティングシステム効率を好ましくもたらす。
【０３０３】
１つまたは複数の実施形態で、所望の量のデータストレージスペースのクリアを達成する様々な形がある場合がある。本明細書では、用語「クリア」は、キャッシュ３００内の１つまたは複数のキャッシュオブジェクトに割り振られたデータストレージスペースを減らすことによって、データストレージスペースをキャッシュ３００内で使用可能にすることに対応するものとすることができる。
【０３０４】
１つまたは複数の実施形態で、クリアされるデータストレージスペースの量は、展開されるキャッシュオブジェクトがコンピューティングシステムによる最も最近のアクセスの前に占めていたスペースを超える、その展開されるキャッシュオブジェクトが必要とする追加ストレージの量に対応するものとすることができる。しかし、他の実施形態では、クリアされるスペースの量を、最も最近にアクセスされたキャッシュオブジェクトがサイズにおいて増加する量スペースより少なくまたはこれより多くすることができる。
【０３０５】
１つまたは複数の実施形態で、最も最近に使用された展開されるキャッシュオブジェクトのためにクリアされるスペースは、図４６に示されているように、キャッシュ３００の一方の端にあるものとすることができる。しかし、他の実施形態では、クリアされるスペースを、キャッシュ３００内の他の位置に置くことができる。
【０３０６】
１つまたは複数の実施形態で、使用可能にされるデータストレージスペースを、ＣＯ  ３  ３０６（最も最近に使用されたキャッシュオブジェクト）以外の図４４の１つまたは複数のキャッシュオブジェクトを犠牲にして設けることができる。具体的には、１つの残りのキャッシュオブジェクトだけのサイズを減らすことによって、または最も最近に使用されたキャッシュオブジェクトを除くすべてのキャッシュオブジェクトのサイズを減らすことによって、必要な追加スペースを設けることが可能である場合がある。さらに、この２つの極端の間の任意の個数のキャッシュオブジェクトに、展開される最も最近に使用されたキャッシュオブジェクトを優先して、ストレージスペースを捨てさせることができる。次では、最も最近にアクセスされたキャッシュオブジェクト以外のすべてのキャッシュオブジェクトが、「サイズ縮小に好適である」と考えられる。
【０３０７】
１つまたは複数の実施形態で、サイズ縮小に好適な１つまたは複数のキャッシュオブジェクトのサイズ縮小の範囲は、１つまたは複数の考慮事項に従って選択することができる。一実施形態で、サイズ縮小に好適なキャッシュオブジェクトは、等しい量または実質的に等しい量のストレージスペースを捨てることができる。もう１つの実施形態で、好適なキャッシュオブジェクトは、展開される最も最近に使用されたキャッシュオブジェクト用のスペースをクリアするために、その事前縮小サイズのうちの等しい比率または実質的に等しい比率を捨てることができる。
【０３０８】
１つまたは複数の他の実施形態で、各キャッシュオブジェクトのサイズ縮小の範囲は、そのキャッシュオブジェクトが最後にどれほど最近にアクセスされたかに基づくものとすることができる。具体的には、サイズ縮小に好適なキャッシュオブジェクトは、その最後のアクセスの減少する新しさに伴って徐々により多くのストレージスペースを捨てることができる。したがって、この手法の下では、サイズ縮小に好適なキャッシュオブジェクトのうちで最も最近に使用されたものは、相対的に少量のストレージスペースを捨てることができ、最長時間未使用のキャッシュオブジェクトは、相対的に大量のデータストレージスペースを捨てることができ、この２つの極端の間のキャッシュオブジェクトは、中間の量のストレージスペースを捨てる。
【０３０９】
本明細書でのストレージスペース縮小の議論は、主に、最も最近にアクセスされたものではないキャッシュオブジェクトのサイズの単なる縮小を対象とするが、１つまたは複数の実施形態では、１つまたは複数のキャッシュオブジェクトを、データストレージスペースをクリアするためにキャッシュ３００から除去することができる。さらに、そのようなキャッシュオブジェクト除去は、単独で、またはキャッシュ３００内に残るキャッシュオブジェクトのキャッシュオブジェクトデータストレージスペース縮小と組み合わせて、のいずれかで実践することができる。
【０３１０】
図４６の実施形態では、キャッシュ３００に残る４つのキャッシュオブジェクト３０２、３０４、３０８、および３１０のすべてが、キャッシュ３００の右端に示された位置へのＣＯ  ３０６の書込用のデータストレージスペースをクリアするために、サイズにおいて減らされている。しかし、代替実施形態では、サイズ縮小に好適な４つのキャッシュオブジェクト３０２、３０４、３０８、および３１０のうちの３つまたはより少数が、サイズ縮小を経験することができる。好ましくは、この方法は、ステップ６２０で終了する。
【０３１１】
１つまたは複数の実施形態では、キャッシュオブジェクトサイズを決定する際の変数として各キャッシュオブジェクトの使用の新しさだけを用いてキャッシュ内のオブジェクトを管理するのではなく、キャッシュオブジェクト管理に、どのオブジェクトが次に必要になる可能性があるかに関するインテリジェントな推測を含めることもできる。したがって、必要になる可能性がより低いオブジェクトを、将来に必要になるより高い尤度を有するオブジェクトの前に「圧搾」することができる。１つまたは複数の実施形態では、この推測手法を、圧搾のためにキャッシュ内のオブジェクトをランダムに選択することができ、さらに、選択されたオブジェクトの圧搾のランダムに変化する量を生成できるアルゴリズムと組み合わせることができる。
【０３１２】
図４８は、本発明の１つまたは複数の実施形態と共に使用するために適合可能なコンピューティングシステム９００のブロック図である。１つまたは複数の実施形態で、中央処理装置（ＣＰＵ）９０２を、バス９０４に結合することができる。さらに、バス９０４を、発明的キャッシュ３００、ランダムアクセスメモリ（ＲＡＭ）９０６、読取専用メモリ（ＲＯＭ）９０８、入出力（Ｉ／Ｏ）アダプタ９１０、通信アダプタ９２２、ユーザインターフェースアダプタ９０６、およびディスプレイアダプタ９１８に結合することができる。
【０３１３】
１つまたは複数の実施形態で、ＲＡＭ  ９０６および／またはＲＯＭ  ９０８は、ユーザデータ、システムデータ、および／またはプログラムを保持することができる。Ｉ／Ｏアダプタ９１０は、ハードドライブ９１２、ＣＤ−ＲＯＭ（図示せず）または他のマスストレージデバイスなどのストレージデバイスをコンピューティングシステム９００に接続することができる。通信アダプタ９２２は、コンピューティングシステム９００をローカルエリアネットワーク、広域ネットワーク、またはインターネットネットワーク９２４に結合することができる。ユーザインターフェースアダプタ９１６は、キーボード９２６および／またはポインティングデバイス９１４などのユーザ入力デバイスをコンピューティングシステム９００に結合することができる。さらに、ディスプレイアダプタ９１８を、ＣＰＵ  ９０２によって駆動して、ディスプレイデバイス９２０上の表示を制御することができる。ＣＰＵ  ９０２は、任意の汎用ＣＰＵとすることができる。
【０３１４】
これまでに説明したおよび／または本明細書でこの後に説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェアプログラムを実行できるすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の１つまたは複数の実施形態は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。
【０３１５】
本明細書では、本発明を、特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。
【０３１６】
[発明の名称]データを効率的にエンコードするシステムおよび方法
【０３１７】
[背景技術]
最近、ＪＰＥＧ２０００／ＪＰＩＰ（ＪＰＥＧ  ２０００  Ｉｎｔｅｒａｃｔｉｖｅ  Ｐｒｏｔｏｃｏｌ）などのイメージ圧縮標準規格が、要求の厳しいエンジニアリング目標を満足するために、すなわち、非常に大きいイメージ（すなわち、サイズにおいてギガピクセル）をサーバからクライアントへ低帯域幅通信チャネルを介して増分的にまたは選択的に配信することを可能にするために、導入されてきた。（例えば、Ｄａｖｉｄ  ＴａｕｂｍａｎのＫａｋａｄｕの実装を参照されたい（例えば、非特許文献３参照））。そのようなイメージが、フル解像度で見られているときには、各イメージの限られた領域だけが、任意の所与のときにクライアントのグラフィカルディスプレイにおさまることができる。これらの新しい標準規格は、そのような領域に選択的にアクセスすること、およびその領域に関連するデータだけを通信チャネルを介して送信することを対象とする。この「関心領域」すなわちＲＯＩが、連続的に変化する場合に、クライアントとサーバとの間の低帯域幅チャネルを介する連続的対話が、ＲＯＩの内側の領域のクライアントの表現を正確に保つために継続される可能性がある。
【０３１８】
[非特許文献３]www.kakadusoftware.com
[発明の開示]
[発明が解決しようとする課題]
しかし、既存の手法は、一般に、関心領域の位置を実質的にシフトするためにかなりの量のデータの送信を必要とし、したがって、そのようなシフトを実装できる速度が制限される。さらに、既存の手法は、一般に、テキストの直線的ストリングへのシーケンシャルアクセスに依存し、これによって、クライアントが関心領域の位置を大きく変更することを求めるときに、テキストナビゲーションに大きい重荷を課す。したがって、サーバからクライアントにデータを送信する改善された方法が必要である。
【０３１９】
[課題を解決するための手段]
１つまたは複数の実施形態によれば、本発明は、複数のビジュアル特徴を識別するデータを複数のピクセル特性データ値に変換することと、それぞれのピクセル特性データ値を有するピクセルを有するイメージファイルを形成することとを含む方法を提供する。好ましくは、複数のビジュアル特徴は、少なくとも１つのグラフィカルシンボルを含む。好ましくは、ビジュアル特徴識別データは、ＡＳＣＩＩコードを含む。好ましくは、ビジュアル特徴識別データは、ビジュアル特徴の頻度順位置を含む。好ましくは、ビジュアル特徴識別データは、ａ）ビジュアル特徴の使用の頻度とｂ）ビジュアル特徴のうちの連続するビジュアル特徴の間の遷移確率との組合せに基づいて決定される。好ましくは、ピクセル特性データ値は、ピクセル輝度データ値、ピクセルカラーデータ値、およびイメージコントラストデータ値からなる群から選択される少なくとも１つのデータタイプを含む。
【０３２０】
好ましくは、ピクセル特性データ値は、ピクセルカラーデータ値を含む。好ましくは、ピクセルカラーデータ値は、ＲＢＧ（赤、青、緑）ピクセルカラーデータ値、ＨＳＶ（色相、彩度、明度）ピクセルカラーデータ値、およびＣＭＹＫ（シアン、マゼンタ、イエロー、ブラック）ピクセルカラーデータ値からなる群から選択される少なくとも１つのカラーデータ値タイプを含む。
【０３２１】
好ましくは、この方法は、さらに、前記イメージファイルを可逆圧縮することを含む。好ましくは、ビジュアル特徴識別データは、ビジュアル特徴のうちの連続するビジュアル特徴の識別データの値の差を含む。好ましくは、ビジュアル特徴は、英数字文字を含む。好ましくは、この方法は、さらに、オリジナル文書内で前記英数字文字が順序付けられているのと同一の順序で前記イメージファイル内にピクセルを置くことを含む。好ましくは、この方法は、さらに、イメージファイルをクライアントに送信することを含む。好ましくは、この方法は、さらに、クライアントによるビューイングのために少なくとも前記イメージファイルの領域を英数字文字にデコードすることを含む。好ましくは、この方法は、さらに、クライアントがデコードされたイメージファイル領域を第１次元でブラウズすることを可能にすることを含む。
【０３２２】
好ましくは、この方法は、さらに、クライアントがデコードされたイメージファイル領域を第１次元および第２次元でブラウズすることを可能にすることを含む。好ましくは、前記第１次元でのブラウジングは、英数字文字の行に沿って進むことを含み、前記第２次元でのブラウジングは、好ましくは、英数字文字の複数の行にまたがってスクロールすることを含む。好ましくは、ブラウジングは、オリジナル文書内でのブラウジングをエミュレートする形でデコードされたファイルをブラウズすることを含む。好ましくは、この方法は、さらに、イメージファイル内のピクセルの位置を、英数字文字を含むオリジナル文書内の前記ピクセルに対応する英数字文字の位置に相関させることを含む。
【０３２３】
好ましくは、イメージファイル内のピクセルの位置は、オリジナル文書内の対応する英数字文字の位置に少なくとも実質的に対応する。好ましくは、イメージファイル内のピクセルの位置は、オリジナル文書内の対応する英数字文字の位置と実質的に同一である。好ましくは、この方法は、さらに、少なくともイメージファイルの領域をサーバからクライアントへ送信することを含む。好ましくは、この方法は、さらに、クライアントによってイメージファイルの領域をサーバに要求することを含む。
【０３２４】
好ましくは、この方法は、さらに、イメージファイルの要求された領域をサーバによって送信することを含む。好ましくは、送信ステップは、クライアントによるデコードに適切な圧縮データを送信することを含む。
【０３２５】
もう１つの態様によれば、本発明の１つまたは複数の実施形態は、ソフトウェアプログラムの指示の下で動作するプロセッサを含むことができる装置であって、ソフトウェアプログラムは、複数のビジュアル特徴を識別するデータを複数のピクセル特性データ値に変換することと、それぞれのピクセル特性データ値を有するピクセルを有するイメージファイルを形成することとを含むアクションを装置に実行させる、装置を提供する。
【０３２６】
もう１つの態様によれば、本発明の１つまたは複数の実施形態は、ソフトウェアプログラムの指示の下で、プロセッサを含む装置に、複数のビジュアル特徴を識別するデータを複数のピクセル特性データ値に変換することと、それぞれのピクセル特性データ値を有するピクセルを有するイメージファイルを形成することとを含むアクションを実行させるように動作可能なソフトウェアプログラムを含む記憶媒体を提供することができる。
【０３２７】
他の態様、特徴、利益などは、本明細書の本発明の好ましい実施形態の説明を添付図面と共に解釈するときに、当業者に明白になるであろう。
【０３２８】
本発明の様々な態様を例示するために、現在好ましい形が図面に示されているが、本発明が図示の正確な配置および手段に限定されないことを理解されたい。
【０３２９】
[発明を実施するための最良の形態]
本発明の１つまたは複数の実施形態は、選択的に圧縮解除可能なイメージの圧縮テクノロジおよび伝送テクノロジを、２進表現を使用して識別できるテキストデータまたは他のデータに拡張することを含むことができる。
【０３３０】
本明細書では、ビジュアル特徴を識別し、かつ／または記述する２進データを、ＡＳＣＩＩ（American Standard Code for Information Interchange）または他のフォーマットなどの初期フォーマットから変換することができ、ピクセル輝度データなどであるがこれに限定されないイメージデータへの組込みに適切なフォーマットに変換することができる。
【０３３１】
上で言及したビジュアル特徴には、グラフィカルシンボルおよび／または英数字文字を含めることができるが、これらに限定はされない。しかし、本明細書では、ビジュアル特徴に、２進データを使用して記述でき、かつ／または識別できるすべてのビジュアルイメージ特徴を含めることができる。さらに、そのようなデータをピクセル輝度データにエンコードすることができるが、本発明は、このフォーマットでのエンコーディングに限定されない。
【０３３２】
１つまたは複数の実施形態で、初期データ（ビジュアル特徴識別データ）を、ピクセル輝度データ、ピクセルカラーデータ、イメージコントラストデータ、および／またはイメージデータの他の形を含むがこれらに限定されない複数の可能なタイプのピクセル特性データに変換することができる。上で述べたピクセルカラーデータには、赤、青、緑（ＲＢＧ）ピクセルカラーデータ、色相、彩度、明度（ＨＳＶ）ピクセルカラーデータ、シアン、マゼンタ、イエロー、ブラック（ＣＭＹＫ）ピクセルカラーデータ、および／または他の形のピクセルカラーデータを含めることができるが、これらに限定はされない。
【０３３３】
次の議論では、大きいテキスト、具体的にはジェームズジョイス著の書籍「ユリシーズ」を検討する。１つまたは複数の実施形態で、このテキストを、各章をそれ自体の列に置き、連続する章の列を左から右に配置することによってフォーマットすることができる。しかし、章の他の配置を実施できることを諒解されたい。列は、１００文字など、文字単位の最大幅を有すると仮定する。図４９に、図４９内の各ピクセルがオリジナルテキスト文書内の単一テキスト文字（または、空のスペースなど、テキストを含まない文字位置）に対応する、この形のイメージとしてエンコードされたユリシーズのテキスト全体を示す。図５０に、図４９と同一のエンコーディング法を使用する、ユリシーズの最初の５章のテキストイメージを示す。
【０３３４】
１つまたは複数の実施形態で、各ピクセルの輝度値を、そのピクセルでエンコードされる文字のＡＳＣＩＩコードと等しくなるようにセットすることができる。グレイスケールピクセルとＡＳＣＩＩ文字との両方を、８ビットシーケンスを使用して表すことができる（両方が０〜２５５の範囲内の値を有することができる）ので、ピクセル値と文字との間の対応を、たやすく実装することができる。この開示では、テキスト文字および他の文字を、ピクセル輝度の値としてＡＳＣＩＩコードを使用してピクセルを用いて表すことができるが、テキスト文字および他の文字の他のコードをこの目的に用いることができることを諒解されたい。
【０３３５】
一般に、普通のＡＳＣＩＩ表現での（すなわち、標準テキストファイルとしての）ユリシーズの全テキストは、１．５ＭＢのストレージスペースを占め、これは、その全体を狭帯域通信チャネルを介して送信するには大きすぎる可能性がある。図４９の、可逆ＪＰＥＧ２０００イメージとしてエンコードされた文字データのピクセル特性データ表現（本明細書では「文字ピクセルイメージ」と称し、「テキストイメージ」とも称する）は、約２．２ＭＢ（メガバイト）のデータストレージスペースを必要とする。このストレージスペース要件は、本の章が長さにおいてより均等であり、文字ピクセルイメージ（テキストイメージ）内のより少ない空のスペース（０としてエンコードされる）をもたらす場合に、大幅に減らすことができる。
【０３３６】
しかし、総ファイルサイズより重要なのは、普通のＪＰＩＰサーバの、このファイルをクライアントに選択的かつ増分式に供給する能力である。具体的には、ここで重要なのは、ファイルの選択された部分を、解像度の制御可能な増分で供給するサーバの能力である。
【０３３７】
１つまたは複数の実施形態で、文字を読むのに十分なズームレベル（クライアント側ディスプレイで１ピクセル／文字を十分に超えることを必要とする可能性がある）でテキストを見ているクライアントは、ＪＰＩＰ（または他の適切なプロトコル）を使用して、そのテキストの関連部分だけを要求することができる。この動作は、効率的であり、サーバへの非常に低帯域幅の接続を有する場合すなわち、テキスト全体をダウンロードすることが、そのようなダウンロードに伴うデータの大きさに起因して禁止的になる条件の下であっても、テキストを読む人にとって適当な性能を達成することができる。
【０３３８】
１つまたは複数の実施形態で、特に大きいテキストへの選択的アクセス用に設計されたクライアント／サーバテクノロジを使用して、類似する効果を達成することができるが、上で説明した文字ピクセルイメージ手法は、従来の実装を上回る、下にリストした複数の利益を有する。
【０３３９】
１）文字ピクセルイメージ手法は、非常に多いデータ量に関して設計された既存のテクノロジおよびプロトコルを使用することができる。
【０３４０】
２）文字ピクセルイメージ手法は、性能の劣化を一切伴わずに、サイズにおいて何ギガバイトもの、あるいはそれより大きいテキストに簡単にスケールアップすることができる。
【０３４１】
３）関心領域内のテキストまたは他のビジュアル特徴へのアクセスは、好ましくは、本発明の１つまたは複数の実施形態で２次元である。したがって、多くの情況で（例えば、ユリシーズの事例のようにテキストが列で見られる場合に）、本明細書で開示される文字ピクセルイメージ手法は、好ましくは、１次元ストリングとしてテキストを扱う既存の手法を使用して入手可能なものより効率的なブラウジングを可能にする。
【０３４２】
４）ウェーブレットがＪＰＥＧ２０００で使用されるので、文字ピクセルイメージは、好ましくは複数解像度表現の対象になる。テキストまたはビジュアル特徴識別データを使用して識別される他のビジュアル特徴は、一般に、最終的な（最も詳細な）解像度以外では読取可能ではないが、より低い解像度のウェーブレットのより広い空間的サポートは、好ましくは、関心領域付近のテキストおよび／または他のビジュアル特徴のインテリジェントなクライアント側キャッシングをもたらす。したがって、伝統的な形でテキストをスクロールするときに行われる可能性がある、オリジナルテキストの様々な領域にまたがるＲＯＩの移動を、本発明の１つまたは複数の実施形態を使用して効率的に実行することができる。
【０３４３】
１つまたは複数の実施形態で、上の概念を、フォーマットされたテキスト、ユニコード、または他のメタデータを扱うように簡単に拡張することができる。というのは、そのようなデータのすべてを、おそらくは埋め込まれたエスケープシーケンスを用いて、ＡＳＣＩＩテキストストリングを使用して表すことができるからである。
【０３４４】
選択されたアプリケーションにおいて、ＪＰＥＧ２０００を、非可逆圧縮フォーマットとして使用することができ、これは、デコードされたイメージバイトが、必ずしもオリジナルバイトと同一ではないことを意味する。本明細書では、用語「デコード」は、テキストイメージ内のピクセルデータをオリジナルテキストデータまたは他のビジュアル特徴データに戻して変換することを指す。イメージバイトがテキストを表す場合に、非可逆圧縮は、一般に許容できない。しかし、ＪＰＥＧ２０００の設計目標の１つは、可逆圧縮を効率的にサポートすることであった。というのは、これが、ある種のイメージング機能（医療応用および科学応用など）に重要であるからである。写真イメージの可逆圧縮比は、通常は２４：１で簡単に圧縮できる視覚的に許容できる非可逆イメージと比較して、通常は約２：１に過ぎない。
【０３４５】
非可逆と可逆との両方のイメージ圧縮は、一般に、よい空間的連続性（隣接ピクセルの輝度値の間の差が小さいことを意味する）を有するイメージに対して最も良く動作する。生ＡＳＣＩＩエンコーディングは、この展望からは最適ではない。というのは、ＡＳＣＩＩでエンコードされた連続するテキスト文字が、大きく変化する値を有する場合があるからである。したがって、いくつかの代替案を、下で検討する。
【０３４６】
図５１は、本発明の１つまたは複数の実施形態による頻度順エンコーディングを使用してエンコードされたユリシーズの最初の５章のテキストイメージである。
【０３４７】
＜頻度エンコーディング＞
本発明の１つまたは複数の実施形態で、関係するテキストでの、英語全体での、または別の言語全体での、最高頻度から最低頻度への出現の頻度に従って文字を並べなおすことによって、エンコーディング効率を改善することができる。したがって、１つまたは複数の実施形態では、空のスペースが、コード０を有し、文字ピクセルイメージでは０のピクセル値を有する。「スペース」文字は、コード「１」を受け取ることができる（文字ピクセルイメージでの対応する値も「１」である）。ｅ、ｔ、ａ、ｏ、ｉ、ｎ、ｓ、ｒ、ｈ、ｌ．．．などの文字のシーケンスを、「２」（「ｅ」に対応する）から始まり、これから値２５５まで上に進む連続するピクセル値に変換させることができる。
【０３４８】
大きいテキストのすべての文字をこの手法を使用してピクセル値に変換する際に、２５５個のすべてのピクセル値が結局は使用される可能性がある。しかし、本明細書で企図されるテキスト文字（または他のビジュアル特徴）からピクセル値への変換の性質そのものによって、ピクセル値出現は、好ましくは、その数値が増えるにつれてだんだんと希になる。
【０３４９】
図５１のイメージは、このポイントを示すものである。ピクセル値は、０付近に密集する傾向がある。少なくとも同様に重要なことに、図５１の実施形態の連続する文字ピクセル値の間のピクセル値の差は、好ましくは、図５０の実施形態より小さい。
【０３５０】
０〜２５５の範囲内のすべてのピクセル値が、同等に出現し得る場合に、一般に、８ビットが、各ピクセル値を表すのに必要になる。しかし、一部のピクセル値が他のピクセル値よりはるかに頻繁に出現する実施形態では、好ましくは、それらのピクセル値を、情報を一切失わずにより少数のビットを用いて表現することができる。
【０３５１】
１つの例を検討して、このポイントを示す。この極端な例では、ピクセル値は、９９％の場合に０と等しく、それ以外の場合に０と２５５との間の別の値を有する。この場合に、エンコーディングアルゴリズムは、０の値を単一の「０」ビットを用いてエンコードし、非０値を先頭の「１」ビット（非０値の存在を知らせるため）とそれに続く非０値の８ビット表現とを用いてエンコードすることができる。したがって、この手法は、１００ピクセルのうちの９９ピクセルについて１ピクセルあたり７ビットを節約するが、１％の場合に限って発生する非０ピクセルを表すのに１つの余分ピクセルを使用する。したがって、上で説明したエンコーディングアルゴリズムに対応するデコーディングアルゴリズムは、好ましくは、「０」ビットを０ビット値を表すものと解釈し、「１」ビット値から始まるビットシーケンスを、先頭の「１」ビットに続くビットによって表される値を有するものと解釈する。
【０３５２】
しかし、これより極端でない情況であっても、他のピクセル値よりはるかに頻繁に発生するピクセル値の存在は、ピクセルデータの消失を一切こうむらずに、また、論理拡張によってピクセルデータによって表されるビジュアル特徴データの消失を一切こうむらずに、ストレージスペースのかなりの節約を可能にすることができる。一般に、２又は３以上のカテゴリの値出現頻度を、一般に減少する頻度を伴って発生する値を表すのに徐々に増加するビット数を使用して、確立することができる。この形で、より小さいビットシーケンスをほとんどの場合に使用することができ、これによって、データストレージスペース要件およびデータ通信帯域幅要件が節約される。
【０３５３】
中間の例では、５ビットを使用して、最も頻繁に発生するピクセル値を表し、９ビットを、より低頻度で発生する値に使用することができる。最も頻繁に発生するビジュアル特徴について、「０」とすることのできる先頭ビットを設けることができ、これに、ピクセルの実際の値を表す４ビットを続けることができる。より低頻度で発生するピクセル値について、「１」とすることのできる先頭ビットを設けることができ、これに、ピクセルの実際の値を表す８ビットを続けることができる。
【０３５４】
１つまたは複数の他の実施形態で、頻度エンコーディングは、減らされたビット数を使用してテキストイメージを表すために空間コヒーレンスから利益を得ることができる。具体的に言うと、イメージを、８×８ピクセルブロックに分割し、したがって各ブロック内に６４ピクセルを設けることができ、各ピクセルは、頻度エンコードされたビジュアル特徴（テキスト文字とすることができる）を表す。このエンコーディング法は、次に、各ブロックを再検討し、そのブロック内の最大値を有するピクセル値を表すのに必要なビット数を判定することができる。次に、判定されたビット数を使用して、そのブロック内のすべてのピクセル値を表すことができる。
【０３５５】
任意の所与のイメージ内のブロックの多くについて、最大の値を有するピクセルを、４ビット以下を用いて表せる可能性がある。したがって、このブロックごとの手法を用いるときに、データストレージ要件におけるかなりの節約を得ることができる。
【０３５６】
１つまたは複数の実施形態で、ユリシーズの頻度エンコードされたテキストイメージが、ＪＰＥＧ２０００イメージとして可逆に圧縮されるときに、ファイルサイズは、生ＡＳＣＩＩテキストイメージ（１．５ＭＢ）よりわずかに大きく、ＡＳＣＩＩエンコードされたテキストイメージより３７％小さい１．６ＭＢである。文字エンコーディングのさらなる最適化を用いると、圧縮ファイルサイズをＡＳＣＩＩテキストファイルサイズ未満まで減らすことができる。さらなる最適化には、頻度だけ（マルコフ−０）ではなく、エンコーディングを展開するのに文字遷移確率を使用すること（マルコフ−１）、および／または文字自体ではなく、ある文字と次の文字との間のデルタすなわち差分をピクセルとしてエンコードすることを含めることができるが、これらに限定はされない。
【０３５７】
これらの追加の最適化を用いると、この形で供給される準備ができたテキストが、実際に、生ＡＳＣＩＩより少ないデータストレージスペースを占める場合がある。
【０３５８】
本明細書で述べる本発明の１つまたは複数の実施形態は、選択的イメージ圧縮解除技法としてＪＰＥＧ２０００／ＪＰＩＰを使用することを含むが、本発明は、このイメージ圧縮テクノロジの使用に限定されない。例えば類似するプロパティを有するＬｉｚａｒｄＴｅｃｈ社のＭｒＳＩＤフォーマットおよびプロトコルを含むがこれに限定されない、他のイメージ圧縮フォーマットおよびイメージ圧縮プロトコルを、本発明と共に用いることができる。
【０３５９】
図５２は、本発明の１つまたは複数の実施形態と共に使用するために適合可能なコンピューティングシステム１４００のブロック図である。１つまたは複数の実施形態で、中央処理装置（ＣＰＵ）１４０２を、バス１４０４に結合することができる。さらに、バス１４０４を、ランダムアクセスメモリ（ＲＡＭ）１４０６、読取専用メモリ（ＲＯＭ）１４０８、入出力（Ｉ／Ｏ）アダプタ１４１０、通信アダプタ１４２２、ユーザインターフェースアダプタ１４０６、およびディスプレイアダプタ１４１８に結合することができる。
【０３６０】
１つまたは複数の実施形態で、ＲＡＭ  １４０６および／またはＲＯＭ  １４０８は、ユーザデータ、システムデータ、および／またはプログラムを保持することができる。Ｉ／Ｏアダプタ１４１０は、ハードドライブ１４１２、ＣＤ−ＲＯＭ（図示せず）または他のマスストレージデバイスなどのストレージデバイスをコンピューティングシステム１４００に接続することができる。通信アダプタ１４２２は、コンピューティングシステム１４００をローカルエリアネットワーク、広域ネットワーク、またはインターネットネットワーク１４２４に結合することができる。ユーザインターフェースアダプタ１４１６は、キーボード１４２６および／またはポインティングデバイス１４１４などのユーザ入力デバイスをコンピューティングシステム１４００に結合することができる。さらに、ディスプレイアダプタ１４１８を、ＣＰＵ  １４０２によって駆動して、ディスプレイデバイス１４２０上の表示を制御することができる。ＣＰＵ  １４０２は、任意の汎用ＣＰＵとすることができる。
【０３６１】
これまでに説明したおよび／または本文書でこの後に説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の１つまたは複数の実施形態は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。
【０３６２】
本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。
【０３６３】
[発明の名称]イメージデータの通信および／または格納を管理するシステムおよび方法
【０３６４】
[背景技術]
ＪＰＥＧ２０００／ＪＰＩＰなど、最近開発されたイメージ圧縮標準規格およびイメージ伝送標準規格は、狭帯域幅通信チャネルを介する大きいイメージ（すなわち、サイズにおいてギガピクセル）の対話型表示を可能にした。しかし、これらの新生の標準規格およびテクノロジは、より意欲的な目標を達成する手段すなわち、それぞれが潜在的に非常に大きい場合もある非常に多数のイメージとの柔軟な視覚的対話を同時に可能にする手段を提供しない。
【０３６５】
[特許文献５]米国特許出願第１１／０８２５５６号明細書
[特許文献６]米国特許仮出願第６０／６１７４８５号明細書
[特許文献７]米国特許仮出願第６０／６１９１１８号明細書
[特許文献８]米国特許出願第１１／１４１９５８号明細書
[特許文献９]米国特許仮出願第６０／６１９０５３号明細書
[発明の開示]
[発明が解決しようとする課題]
したがって、当技術分野には、イメージデータを伝送し、かつ／または格納する改善されたシステムおよび方法のための改善されたシステムおよび方法の必要がある。
【０３６６】
[課題を解決するための手段]
一態様によれば、本発明は、通信リンクを介する第１コンピュータと第２コンピュータとの間の通信を確立することであって、第２コンピュータは、圧縮されたイメージデータの形でイメージコレクションをその中に格納され、前記第１コンピュータへの通信のためにコレクション内の複数のイメージを選択することと、選択されたイメージのいずれかのフル解像度イメージデータを送信する前に第２コンピュータから第１コンピュータへ選択されたイメージのすべての低解像度イメージデータを送信することとを含むことができる方法を提供する。
【０３６７】
他の態様、特徴、利益などは、本明細書の本発明の好ましい実施形態の説明を添付図面と共に解釈するときに、当業者に明白になるであろう。
【０３６８】
本発明の様々な態様を例示するために、現在好ましい形が図面に示されているが、本発明が図示された正確な配置および手段に限定されないことを理解されたい。
【０３６９】
[発明を実施するための最良の形態]
図５３は、本発明の１つまたは複数の実施形態による複数のコンピュータの間でのイメージデータの通信を可能にするために接続することのできるシステム１７０を示すブロック図である。システム１７０には、ディスプレイ１８４およびデータストレージデバイス１８６に接続されたクライアントコンピュータ１８２が含まれることが好ましい。システム１７０には、データストレージデバイス１９０に接続することのできるサーバコンピュータ１８８も含まれることが好ましい。サーバコンピュータ１８８を、インターネット１８０に接続することもできる。
【０３７０】
１つまたは複数の実施形態で、イメージデータを、複数のコンピュータ１８２、１８８の間で通信して、それらの間の比較的低帯域幅の接続を使用して潜在的に大きいイメージの大きいコレクションを見ることを可能にすることができる。例えば、サーバコンピュータ１８８に格納されたイメージの所望のビューイングおよびナビゲーションを、サーバコンピュータ１８８で格納されたイメージデータの選択された部分を制御可能なレベルの解像度で送信することによって達成することができる。イメージデータ１１４の選択性は、高解像度で特定のイメージを選択することなどとすることができ、あるいは、高解像度で特定のイメージの選択された部分を選択することとすることすらできる。
【０３７１】
本明細書では、クライアントコンピュータ１８２およびサーバ１８８として使用されるデバイスのタイプの変更、それらの間で伝送されるイメージデータ１１４のタイプ、および指定されたレベルの解像度で選択されたイメージデータを伝送する能力の様々な応用を含む様々な実施形態を述べる。
【０３７２】
図５４は、本発明の１つまたは複数の実施形態による、その中に少なくとも２つの関心領域２５２、２５４を有するイメージ２５０のブロック図である。イメージ２５０は、イメージデータ１１４のサブセットとすることができる。あるいは、クライアントコンピュータ１８２によって要求されるイメージデータに応じて、イメージデータ１１４は、イメージ２５０のサブセットを表すことができる。
【０３７３】
１つまたは複数の実施形態では、イメージ２５０を、圧縮された形でサーバコンピュータ１８８上にまたはストレージデバイス１９０内に格納することができる。この形で格納されるときに、イメージ２５０の様々な領域の複数の解像度レベルのデータを、格納でき、クライアントコンピュータ１８２によってダウロードのために要求できることが好ましい。
【０３７４】
１つまたは複数の実施形態で、特定のイメージまたはイメージの領域がクライアントコンピュータ１８２に格納される解像度レベルを、たやすく上げ、または下げることができる。以前のダウンロードが、第１解像度レベル（フル解像度より低いものとすることができる）での領域またはイメージの格納をもたらす場合に、この第１解像度レベルを、次に高いレベルの解像度を表すデータを追加することによって、好ましくは第１解像度を表すデータを破棄する必要なしに、高めることができ、これによって冗長性が回避され、本明細書で企図されるイメージデータ通信の効率が高まる。逆に、クライアント１８２で格納される領域またはイメージの解像度レベルを、そこに格納された最高レベルの解像度を破棄することによって、同一の領域またはイメージのより低いレベルの解像度に対応するデータを失わずに、下げることができる。そのような解像度低下を、クライアント１８２で実践して、データが破棄されようとしているもの以外の１つまたは複数の領域またはイメージに必要なデータストレージスペースをクリアすることができる。
【０３７５】
関係するイメージ圧縮は、例えば、ＪＰＥＧ２０００または別の離散ウェーブレット変換ベースのイメージ圧縮方式によってもたらすことができる。しかし、本発明は、どの特定の圧縮フォーマットまたはイメージデータ表現の使用にも限定されない。バイト単位のサイズが非圧縮イメージデータより実質的に小さくないイメージフォーマットを含む、他のフォーマットを用いることができる。選択されたイメージフォーマットが、イメージデータのマルチスケール表現および格納を許すことは、単に好ましい。
【０３７６】
１つまたは複数の実施形態で、クライアントコンピュータ１８２は、イメージ２５０の１つまたは複数の領域をダウンロードしようと努めることができ、ここで、そのような領域を、イメージ２５０の一部とすることができる。１つまたは複数の関心領域２５２、２５４だけを、クライアントコンピュータ１８２がダウンロードしようと努める関心領域とすることができる。あるいは、クライアントコンピュータ（クライアント）１８２は、単に、イメージ２５０の残りがダウンロードされる解像度より高い解像度で、１つまたは複数の選択された領域をダウンロードしようと努めることができる。どちらの場合でも、クライアント１８２は、イメージ２５０のうちでダウンロードすべき指定された領域と、この指定された領域がサーバコンピュータ（サーバ）１８８によって供給される解像度レベルとの両方を識別することによって、ダウンロードを要求することができる。
【０３７７】
図５４の例では、クライアント１８２は、低解像度でのイメージ２５０のすべてのダウンロードを要求することが好ましい（イメージ２５０の大部分がダウンロードされる正確な解像度レベルは、この議論には関係ない）。しかし、クライアント１８２は、より高い解像度で、またはフル解像度でさえ、関心領域１  ２５２をダウンロードしようと努める。したがって、クライアント１８２は、関心領域１  ２５２の座標および所望の解像度レベルをサーバ１８８に指定することが好ましい。したがって、イメージ２５０の大部分（関心領域１  ２５２の外部の部分を含む）を低解像度でダウンロードすることに加えて、クライアント１８２は、指定された、より高い解像度で関心領域１  ２５２をダウンロードすることが好ましい。他の情況では、クライアント１８２は、関心領域だけをダウンロードしようと努め、イメージ２５０の残りのダウンロードを省略することができる。
【０３７８】
この形で、クライアントコンピュータ１８２のユーザは、高解像度でイメージ２５０の全体をダウンロードする必要なしに、その高解像度で関心領域１  ２５２を見ることができる。したがって、クライアント１８２とサーバ１８８との間の比較的低帯域幅のデータ通信リンクは、それでも、イメージ２５０の全体を伝送することができると同時に、特定の関心の領域（この例では関心領域１  ２５２）を高解像度で提供することができ、これによって、クライアント１８２が高解像度でイメージ２５０の全体をダウンロードする場合に発生するはずの関心領域に関する同一のビューイング経験を見る人に与えるが、このイメージ２５０の全体のダウンロードというオプションは、かなりより長いダウンロード時間と、クライアントコンピュータ１８２またはデータストレージデバイス１８６でのかなりより多いデータストレージスペースとを必要とする。
【０３７９】
＜関心領域のシフト＞
１つまたは複数の実施形態で、クライアントコンピュータ１８２のユーザは、イメージ２５０を横切ってパンすることを望む場合がある。通常、ある関心領域２５２からもう１つの関心領域２５４へのパンは、両方の領域を、それらの領域が見られる解像度のレベルでクライアント１８２でダウンロードさせることを伴う。さらに、一般に、関心領域１  ２５２と関心領域２  ２５４との間のすべてのイメージテリトリは、説明されるパンを行うことを可能にするために、クライアントコンピュータ１８２で格納される。次で説明するように、本発明の１つまたは複数の実施形態では、そのような関心領域２５２、２５４を見ることは、上で説明した手法よりはるかに少ないデータをダウンロードすること、およびクライアントコンピュータ１８２でより少ないストレージスペースを使用することによって達成することができる。
【０３８０】
１つまたは複数の実施形態で、クライアント１８２は、関心領域１  ２５２の高解像度ビューから関心領域２  ２５４にシフトすることができる。関心領域２  ２５４の低解像度表現に対応するイメージデータは、上で述べたイメージ２５０のダウンロードから、クライアントコンピュータ１８２内に既に存在することが好ましい。この場合に、必要なのは、クライアントコンピュータ１８２で関心領域２  ２５４の高解像度レンディションに達するために、関心領域２  ２５４の既存のイメージデータに、関係のあるより高いレベルの解像度を記述する追加イメージデータを増補することだけである。必要な場合に、関心領域１  ２５２のより高い解像度レベルを表すイメージデータを、破棄するか上書きして、関心領域２  ２５４についてダウンロードされる追加イメージデータのためにデータストレージデバイス１８６内のスペースまたは他のデータストレージスペースを作ることができる。
【０３８１】
１つまたは複数の実施形態で、関心領域１  ２５２から関心領域２  ２５４へのビューのシフトは、漸進的に達成して、ディスプレイ１８４を見る人に、高解像度でダウンロードされるイメージ２５０の全体を有する、コンピュータ上で得ることができる経験を密接にシミュレートできるビューイング経験を与えることができる。具体的に言うと、関心領域１  ２５２が表示される解像度のレベルを、イメージ２５０のほとんどが表される解像度レベルまで漸進的に下げることができる。その後、ディスプレイ１８４上のビューは、関心領域１  ２５２と関心領域２  ２５４との間の中の低解像度テリトリを横切る漸進的パンを表すことができる。最後に、関心領域２  ２５４に達したときに、ディスプレイ１８４上のビューを、イメージ２５０を横切るパンを完了した後にまたはこのパン動作の後の部分と同時にのいずれかで、関心領域２  ２５４の高解像度レンディションに向かって高めることができる。説明されたプロセスの完了時に、関心領域２  ２５４を、高解像度でクライアントコンピュータ１８２内に格納でき、この高解像度でディスプレイ１８４上で表示できることが好ましい。
【０３８２】
図５５は、本発明の１つまたは複数の実施形態による、本明細書で開示されるテクノロジの諸態様を用いる「仮想ブック」３５０のブロック図である。仮想ブック３５０には、ディスプレイ３５２、逆方向キャッシュ３５４、および順方向キャッシュ３５６を含めることができる。キャッシュ３５４、３５６は、それぞれ、その中に２つのページを格納されるものとして図示されているが、任意の個数のページを、キャッシュ３５４および３５６のいずれにも格納することができる。
【０３８３】
１つまたは複数の実施形態で、仮想ブック３５２は、仮想ブック３５０のこの特定のケースについて、解像度の制御可能なレベルで選択されたイメージデータを提示する能力を用いる。仮想ブック３５０内で、各イメージを、仮想ブック３５０のディスプレイ３５２内の１ページとすることができる。ディスプレイ３５２は、図５３のディスプレイ１８４に対応するものとすることができ、あるいは、仮想ブック３５０の特定の特徴に対処する特殊目的ディスプレイとすることができる。仮想ブック３５０は、図５３のクライアントコンピュータ１８２に対応するものとすることができ、あるいは、ブックのページの通信、格納、および表示に実質的に限定された特殊目的コンピュータとすることができる。
【０３８４】
１つまたは複数の実施形態で、仮想ブック３５０に、フル解像度で格納され、かつ／または表示される唯一のページと、表示されるページのシーケンス内で前と後との両方の、様々な他の解像度の他のページとを含めることができる。
【０３８５】
１つまたは複数の実施形態で、ディスプレイ１８４に現在表示されているページすなわちアクティブページは、フル解像度で表示され、このページは、図５５では「ページ１０」である。そのような実施形態では、他のページを、アクティブページからのページ単位の増加する距離に伴ってプログレッシブにより低くなる解像度で表示することができる。より具体的には、各ページが格納される解像度は、ディスプレイ３５６に表示されているアクティブページの解像度を、各格納されたページとアクティブページとの間のページ数と等しい２のべきと等しい量で割った値と等しいものとすることができる。したがって、この手法を適用すると、ページ１１（順方向キャッシュ３５６内）およびページ９（逆方向キャッシュ３５４内）は、それぞれ、ディスプレイ３５２内のアクティブページによって占められるデータストレージスペースの量の半分を占めることができる。この手法について継続すると、ページ１２（順方向キャッシュ３５６内）およびページ８（逆方向キャッシュ３５４内）は、それぞれ、ディスプレイ３５２内のアクティブページによって占められるデータストレージスペースの量の１／４を占めることができる。
【０３８６】
上の議論では、各ページに割り振られるデータストレージスペースの量は、それに直接に隣接するページに関して２倍だけ異なるが、当業者は、２より大きい値または２より小さい値を除算係数として用いることができることを諒解するであろう。さらに、定数によるアクティブページのデータストレージスペースの除算以外の算術式を使用して、キャッシュ３５４および３５６に格納される一連のページへのデータストレージスペースの割振りを決定することができる。
【０３８７】
１つまたは複数の実施形態で、新しいアクティブページを、図５５に表示されて示されているページ１０の代わりに選択することができる。新しい選択されるページは、ページ１０に直接に隣接するページ（ページ９またはページ１０のいずれか）とすることができるが、そうである必要はない。すなわち、関係のあるブック（または、離散ページを有する、すべての他のタイプの刊行物）内の１ページから最後のページまでのどのページでも、新しいアクティブページとすることができる。
【０３８８】
１つまたは複数の実施形態では、新しいアクティブページの選択時に、現在アクティブなページと新しいアクティブページとの間の遷移が行われることが好ましい。この新しいアクティブページへの遷移には、新しいアクティブページをフル解像度で格納し、かつ／または表示することを可能にするために、新しいアクティブページの追加イメージデータを獲得することを含めることができる。新しいアクティブページが「ページ１１」であり、上で述べた「２倍」実施形態が用いられる場合に、ページ１１に割り振られるデータストレージスペースの量は、２倍にされることが好ましい。「２倍」実施形態の応用について継続すると、ページ１０に割り振られるデータストレージスペースは、ページ１０から離れてアクティブページとしてのページ１１に向かう遷移の一部として、半分にされることが好ましい。遷移後のページ１０に含まれないページ１０のアクティブバージョンのデータは、破棄することができる（この破棄には、それを上書きすることを含めることができる）。しかし、その代わりに、このページ１０の「余りの」データを、もう１つのキャッシュに格納することができる。ページ１０の余りのデータのそのようなキャッシングは、ページ１０からの遷移のすぐ後に（すなわち、穏当な回数のページ遷移のうちに）ページ１０への遷移が行われる場合に、効率をもたらすことができる。
【０３８９】
１つまたは複数の実施形態で、ページ１０からページ１１（または他の新しいアクティブページ）への遷移には、ページ１０からの漸進的フェードアウトとページ１１への漸進的フェードインとを含めて、視覚的に満足なおよび／または物理ページ遷移をしのばせる経験を仮想ブック３５０のユーザに与えることができる。任意選択として、古いアクティブページを折り曲げ、めくることを示すイメージのシーケンスを設けて、仮想ページ遷移がページを物理的にめくることをさらにしのばせるように見えるようにすることができる。
【０３９０】
図５６は、本発明の１つまたは複数の実施形態による図５５の仮想ブックの３次元バージョンの図である。図５６の実施形態には、部分的透明性（粗いエッジ）のためのアルファチャネルを、赤、緑、および青の色成分に加えてイメージ情報として格納できる方法が示されている。色成分を上で述べたが、便宜のために、図５６のイメージの白黒レンディションだけを、本明細書で提供する。
【０３９１】
１つまたは複数の実施形態で、ハードウェアアクセラレーテッド（ｈａｒｄｗａｒｅ−ａｃｃｅｌｅｒａｔｅｄ）テクスチャマッピングを用いて、アルファチャネルをサポートすることができる。仮想ブックの２次元実施形態または３次元実施形態のいずれかに関連して実践できるもう１つの特徴は、イメージの動的変形、例えば、図５６に示されているように、めくられるときにこのブックのページを曲げることである。
【０３９２】
＜１つまたは複数のポータブルデバイスでのイメージデータの管理＞
このセクションでは、プログレッシブで対話的なビジュアルコレクション伝送に基づく、デジタルイメージを格納し、これと相互作用する複数の機構を説明する。本発明の１つまたは複数の実施形態で、本明細書で開示される方法に基づく変形形態は、第２モバイルデバイスに格納されたイメージの大きいコレクションの、デスクトップコンピュータ、モバイルデバイス、または他のデバイスでのほぼ瞬間的なビューイングと、イメージを見るためにモバイルデバイスのローカルメモリを増補するのにリモートストレージを使用することと、モバイルデバイスから大きいイメージコレクションをブラウズすることとを可能にする。本発明の１つまたは複数の実施形態によって可能にされる様々な置換は、共通のクライアント／サーバイメージングおよびコレクション表現アーキテクチャに頼るものとすることができる。
【０３９３】
本発明の１つまたは複数の実施形態は、サーバ上でデジタルイメージまたは他のビジュアルオブジェクトのコレクションを提供することと、クライアントと前記サーバとの間で通信を確立することと、サーバに常駐するビジュアルオブジェクトのコレクションの、クライアントによる効率的なマルチスケールナビゲーションを可能にすることとを含むことができる方法を提供することができる。
【０３９４】
この開示では、用語「デジタルイメージデータ」に、デジタル写真、デジタルイメージ、ビジュアル文書、または他の形のビジュアルコンテンツを含めることができる。本明細書では、用語「イメージ」は、用語「デジタルイメージ」に全般的に対応し、これらの用語のどちらもが、「デジタル写真」に対応することができる。本明細書では、用語「クライアント」は、用語「クライアントサイド」および用語「クライアントデバイス」に全般的に対応する。本明細書では、用語「ポータブルデバイス」、「ポータブルカメラデバイス」、および「カメラデバイス」は、デジタルイメージキャプチャリングデバイスおよび／またはデジタルイメージストレージデバイスを全般的に指す。本明細書では、「デジタルイメージキャプチャリングデバイス」は、デジタルカメラ、カメラ対応携帯電話機（カメラ対応携帯電話機と称する場合がある）、携帯情報端末、および／またはデジタル静止イメージを記録できるデジタルビデオレコーダを含むことができるが、これらに限定はされない。「デジタルイメージキャプチャリングデバイス」は、イメージデータを直接に光学的に受け取り、記録することによって（標準的なデジタルカメラを用いるなど）そのようなデータを記録できるデバイスを含むことができ、有線もしくは無線のインターネットまたは他のネットワーク接続を介してイメージデータを受信することができるデバイスをも含むことができる。
【０３９５】
本明細書で説明する方法の１つまたは複数の実施形態は、複数解像度手法を使用して、ビジュアル文書とすることができるデジタルイメージデータのコレクションの格納、同期化、ブラウジング、および編成という問題に対処することができる。ある解像度（例えば、１０２４×７６８ピクセル＝０．７５メガピクセル、２５９２×１９４４ピクセル＝約５メガピクセルなど）でカラーピクセルのアレイとして表すことができるデジタル写真は、エンドユーザが、他のデバイスの中でもデジタルカメラ、カメラ対応携帯電話機、およびデジタルビデオレコーダを使用して大量に作成できる一般的なビジュアル文書タイプである。
【０３９６】
本明細書で説明する方法の１つまたは複数は、出願人参考文書４８９／１７ＮＰ（特許文献５）の道路地図もしくは他のベクトルデータ、または出願人参考文書４８９／１３（特許文献６）のテキストデータなど、イメージ以外のビジュアルデータオブジェクトに適用することもできる（この両方の文書は、本文書の先頭でより詳細に識別され、この両方の文書は、参照によって本明細書に組み込まれている）。
【０３９７】
既存システムのユーザが直面する問題は、カメラデバイスが、多数の潜在的に大きいビジュアル文書をすばやく作成できることである。しかし、これらのデバイスは、通常、これらの文書の満足なアーカイビング、ビューイング、または編成を可能にするのに十分なメモリまたはビジュアルブラウジング機能を有しない。
【０３９８】
カメラまたは他のポータブルデバイス内に格納されるデジタル写真または他のデジタルイメージデータは、一般に、デスクトップコンピュータまたはノートブックコンピュータに周期的にダウンロードされ、より多くの写真を撮影できるようにするためにカメラのメモリからクリアされ、デスクトップコンピュータまたはノートブックコンピュータ上で編成され、かつ／または見られる。その後、デジタル写真を、デジタル写真のセレクションを１つまたは複数のインターネットサイトにポストすることによって、友人と共有することができる。
【０３９９】
＜ポータブルデバイスでイメージデータを管理する伝統的手法＞
ポータブルデバイスでイメージデータを管理する従来の手法を使用するときには、次のステップに従うことができる。まず、デジタルカメラまたは他のデジタルイメージデータキャプチャリングデバイスとすることのできるモバイルデバイスが、写真を撮影する。次に、潜在的にそれらの写真のある選別の後に、写真が、カメラユーザのＰＣ（パーソナルコンピュータ）にダウンロードされ、カメラデバイスから削除される。カメラデバイスのローカルストレージは、限られている場合があり、この従来の手法では、イメージがＰＣに安全に格納されるまで、イメージを一時的に保持するだけである。
【０４００】
ＰＣは、デジタル写真の任意のサブセットをそのメモリ（例えば、ハードディスクドライブまたは他の不揮発性ストレージ）内に永久的に保存することができる。ユーザは、これらのイメージの、あるさらに選別されたサブセットを、通常は下げられた解像度で、ウェブサーバにアップロードすることができ、このウェブサーバは、ウェブ写真パブリッシングサービスによって所有されるものとすることができる。アップロードされるイメージは、ＰＣまたは他のデバイス上のウェブブラウザを使用することによって、すべての第三者によって、またはこれらのユーザのうちで制約されたアクセス権を有するあるサブセットによって、公に見ることができるようにすることができる。
【０４０１】
既存の手法の制限には、カメラデバイスからＰＣへの長々しいダウンロード時間を含めることができる。通常、カメラデバイス上の永続ストレージの貧弱な管理もある。カメラデバイスは、通常、小さいカラーディスプレイを有し、このディスプレイ上で、見る人は、理論的に、人々が一般に自分の財布に入れて持ち歩くものと同一タイプの永続的に格納されたイメージ（家族およびペットのイメージなど）と、発呼者に関連する写真またはＰＤＡ（携帯情報端末）上の彼らの連絡先とを見ることができる。しかし、既存カメラデバイス内の永続ストレージに対する制限は、上の作業の達成を難しくする。
【０４０２】
さらに、既存カメラデバイスは、他の制限を課す。既存カメラデバイスでは、そのカメラデバイスに格納されたイメージのナビゲーションが、一般に、ぎこちなく、難しい。既存カメラデバイスでは、カメラデバイス上またはＰＣ上のいずれかでユーザに一貫した経験を与えるはずのイメージコレクションへの統一されたビジュアルインターフェースが欠けている。既存カメラデバイスは、ダウンロードが必要になる前にそのデバイスに格納できる写真の枚数に対して非常に制約的な制限を課す傾向がある。したがって、既存の手法を用いるときには、イメージを第三者が使用可能にする際に、一般に、長々しい一連のステップが伴う。
【０４０３】
＜本発明の１つまたは複数の実施形態によるイメージデータの管理＞
図５７は、本発明の１つまたは複数の実施形態による、１つまたは複数のポータブルデバイス５６２、５７２と１つまたは複数の他のコンピュータとの間のイメージデータ通信を管理するシステム５５０のブロック図である。システム５５０には、クライアントサイド５６０およびサーバサイド５７０を含めることができる。しかし、代替実施形態では、図５７に示されたデバイスのグループ化のクライアントステータスおよびサーバステータスを逆転することができる。
【０４０４】
１つまたは複数の実施形態で、システム５５０には、ポータブルデバイス１  ５６２、ポータブルデバイス２  ５７２、パーソナルコンピュータ１８２（図５３のクライアントコンピュータ１８２と実質的に同一とすることができる）、サーバ１８８（図５３のサーバコンピュータ１８８と実質的に同一とすることができる）、および／または追加のコンピュータ５７４を含めることができる。デバイス５６２、５７２とコンピュータ１８２、１８８、および５７４とのそれぞれは、メモリと１つまたは複数のディスプレイをそれらと共に含められることが好ましい。その代わりにまたはそれに加えて、図５７のデバイスおよびコンピュータは、メモリおよび／またはディスプレイと通信することができる。
【０４０５】
図５７には、本発明の１つまたは複数の実施形態に従って使用可能な様々な可能なデータ経路が示されている。１つまたは複数の実施形態は、図５７に示されたデータ経路のすべてより少ないデータ経路を使用することができる。図５７に示された使用可能なデータ経路は、共通して次の特徴のうちの１つまたは複数を有することができる：１）データ経路は、サーバサイド５７０（イメージデータのオリジネータ）およびクライアントサイド５６０（イメージデータの受取側）を用いることができ、２）双方向データ経路（両端に矢印を有する線によって図示）は、これらの矢印によって指されるデバイスが、クライアント機能またはサーバ機能のいずれかで働くことができることを示し、３）接続は、ハードワイヤードネットワーク（例えば、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、Ｆｉｒｅｗｉｒｅ（登録商標）、またはイーサネット（登録商標））または無線ネットワーク（例えば、近くのデバイスについてはＢｌｕｅｔｏｏｔｈ（登録商標）、より遠隔の接続についてはＷｉＦｉまたは無線広域ネットワーキングプロトコル）を用いることができ、ならびに／あるいは４）図示の接続は、アドホックであってもなくてもよい。
【０４０６】
１つまたは複数の実施形態で、クライアントサイド５６０とサーバサイド５７０との両方に、カメラデバイス、パーソナルコンピュータ、および携帯情報端末を含むがこれらに限定されない１つまたは複数のデジタルコンピューティングデバイスおよび／またはデジタルストレージデバイスを含めることができる。
【０４０７】
１つまたは複数の実施形態で、クライアントデバイス（クライアント）は、１つまたは複数のディスプレイを有することができる。クライアントは、出願人参考文書４８９／１５Ｐ（参照によって本明細書に組み込まれている、「Method for Efficiently Interacting with Dynamic,Remote Photo Albums with Large Numbers of Potentially Large Images」と題する特許文献７）に記載の効率的な複数解像度ブラウジング方法のうちの１つまたは複数を使用してサーバに常駐する文書のコレクションをブラウズすることができる。これらの方法は、大きいイメージまたは他のビジュアル文書の大きいコレクションを低帯域幅接続を介して効率的にナビゲートすることを可能にする。そのようなイメージコレクションのズーム、パン、および動的再配置は、この参照された文書に記載されている。
【０４０８】
１つまたは複数の実施形態で、このナビゲーション方法のプロパティの１つは、情報がサーバからクライアントに送信されるときに、ディスプレイコンテンツに漸進的に焦点を合わせることができることである。この情報の焦点が合う速度は、ディスプレイピクセルに対する接続帯域幅の比によって制御することができる。ユーザが、新しいコンテンツが可視になるようにクライアントサイド５６０で文書をズームし、パンし、または再配置するときに、このコンテンツは、やはり、ぼけて見え、その後、焦点が合う。
【０４０９】
＜仮想ディスプレイ＞
１つまたは複数の実施形態で、クライアントの「ディスプレイ」は、必ずしも、物理的である必要がなく、あるいは、エンドユーザに可視である必要がない。１つまたは複数の実施形態で、このディスプレイを、「仮想ディスプレイ」すなわち、指定された解像度を有するディスプレイの抽象モデルとすることができる。そのような「仮想ディスプレイ」は、ピクセル値がスクリーンにレンダリングされるかどうかにかかわりなく、クライアントのメモリ内のピクセル値のアレイとして表すことができる。仮想ディスプレイには、少なくとも部分的に１つまたは複数のイメージを記述するウェーブレットデータを含めることができる。ウェーブレットデータは、ある範囲の可能な解像度でイメージを表すことができることが好ましい。１つまたは複数の実施形態で、ウェーブレットデータは、ＪＰＥＧ２０００を用いたものに対応することができる。１つまたは複数の実施形態で、仮想ディスプレイは、１つまたは複数のイメージを完全に記述するのに十分なウェーブレットデータを含むことができる。
【０４１０】
例えば、あるデバイスが、指定された解像度で、コレクション内のイメージのすべてのサムネイルを獲得することが望ましい場合に、このデバイスは、適当なサイズの「仮想ディスプレイ」を作成し、サーバとの接続を確立し、コレクション全体のビューを要求することができる。次に、サムネイルのフルセットを、この「仮想ディスプレイ」に送信し、そこでレンダリングすることができる。関連データのすべてがサーバからクライアントに送信される前に、伝送が中断された場合には、クライアントの仮想ディスプレイは、まだ、サムネイルイメージのすべてを完全に焦点があった状態で有してはいないはずである。しかし、要求されたサムネイルイメージのすべてが、これらのイメージのスクリーン上での可視バージョンのレンダリングを可能にするのに十分な解像度でクライアントの仮想ディスプレイ内に格納されることが好ましいはずである。説明した形でレンダリングされるイメージは、一般に、イメージの伝送が中断なしで終わった場合より低いビジュアル品質を有するはずである。したがって、あるイメージ劣化が、不完全な中断された伝送からのデータを使用してレンダリングされるイメージに存在する場合がある。
【０４１１】
それでも、説明された劣化は、ネットワークにまたがってサムネイルのセットを送信する従来技術の手法（各サムネイルの完全なイメージが順番に送信される）より好ましい。この従来技術の手法の下では、接続性の時期尚早な中断は、いくつかのサムネイルが完全に（すなわち、フル解像度で）使用可能であることをもたらし、他のサムネイルが完全に使用不能であることをもたらすはずである。図５８に、この差を示す。図５８Ａは、既存の手法を用いる不完全なイメージデータダウンロードの結果を示し、図５８Ｂは、本発明の１つまたは複数の実施形態による不完全なイメージデータダウンロードの結果を示す。
【０４１２】
図５５Ａは、３つのサムネイルのデータ（正方形の形状を用いて図示）のすべてが受信済みであり、残りの９つのサムネイル（Ｘを用いて図示）がまったく受信されていない、従来技術のシナリオを示す。図５５Ｂは、１２個すべてのサムネイル（斜線入りの正方形形状として図示）があるレベルの解像度で受信済みであり、この解像度のレベルが、見るには満足であることが好ましいが、完全な中断されないデータ伝送の完了後に入手されるはずの解像度より低い可能性が高い、本発明の１つまたは複数の実施形態を用いることによって生じる場合がある情況を示す。
【０４１３】
１つまたは複数の実施形態で、クライアントは、最近見られたビジュアルコンテンツをキャッシングするクライアントサイドキャッシュを有することができる。標準ＭＲＵ（ｍｏｓｔ−ｒｅｃｅｎｔｌｙ−ｕｓｅｄ）キャッシュを、本発明の１つまたは複数の実施形態のキャッシングの必要に用いることができる。しかし、参照によって本明細書に組み込まれている、「Efficient Data Cache」と題する特許文献８（依頼人参考文書４８９／１０ＮＰ）に開示されたキャッシュを、より洗練されたクライアントサイドキャッシングを可能にするために有益に用いることができる。どちらの場合でも、所与の量のクライアントサイドメモリを、キャッシュに振り向けることができる。したがって、最近見られたイメージに戻るナビゲーションは、このイメージデータをサーバから再送信することを要求するのではなく、キャッシュ内に格納されたイメージデータを使用することを可能にすることができる。
【０４１４】
１つのクライアントが、複数のディスプレイを有することができる。所与のディスプレイは、物理ディスプレイまたは仮想ディスプレイとすることができる。所与のディスプレイを、ユーザ入力によって直接に駆動することができ、あるいは、コンピュータ１８２などのクライアントコンピュータ内のソフトウェアによってプログラム的に駆動することができる。すべてのディスプレイのピクセル単位の総サイズは、固定するか、ある限度によって制限することができ、この限度は、ビジュアルコンテンツに必要なクライアントサイドメモリの最小量を定義することができる。このクライアントサイドメモリは、キャッシュメモリに割り振られるストレージスペースと別々であることが好ましい。
【０４１５】
物理ディスプレイと仮想ディスプレイとの両方を用いる実施形態を、次で説明する。クライアントデバイス内の物理ディスプレイは、ユーザに可視であり、デジタル的に格納されたイメージのコレクションを通るズームするナビゲーションおよびパンするナビゲーションと、このコレクションの再配置とを可能にすることが好ましい。ユーザは、このコレクションから１つまたは複数のイメージを選択し、これらを、ユーザの選択したイメージを格納する場所として働くことができる「ホールディングペン（ｈｏｌｄｉｎｇ  ｐｅｎ）」に送ることもできる。ホールディングペンは、物理ディスプレイ上で、ある形でビジュアライズすることができる。あるイメージをホールディングペンに追加することは、そのイメージを、ユーザに不可視である場合がある仮想ディスプレイに置くことを引き起こすことが好ましい。イメージがホールディングペンに追加されるときに、ホールディングペンを表す仮想ディスプレイは、漸進的に充填される。
【０４１６】
この仮想ディスプレイは、サイズ（ピクセルの個数で測定される）においてある限度まで増加することができ、この限度に達した後には、そのサイズは、この限度で固定されたままになることができる。仮想ディスプレイは、ホールディングペン内のイメージのすべてをフル解像度で表示するには小さすぎる場合がある。この場合に、仮想ディスプレイ内に常駐するイメージに必要なデータストレージスペースが、イメージを仮想ディスプレイにおさめる必要に応じて減らされることが好ましい。したがって、オフスクリーンビュー（仮想ディスプレイ）は、ユーザが見えるイメージをホールディングペンに置くときに、イメージを増補されることが好ましい。このオフスクリーンビューの増補は、ユーザに不可視に行うことができる。
【０４１７】
ブラウジングの方法が、参照によって本明細書に組み込まれている「System and Method for Exact Rendering in a Zooming User Interface」と題する特許文献１（出願人参考文書４８９／２ＮＰ）に開示されている。情報をサーバからクライアントに転送する順序をクライアントのビューに基づいて決定する、その文書で開示された方法を、複数ディスプレイのシナリオのために変更することができる。４８９／２ＮＰ文書には、ビジュアル情報をタイルに分解することができ、各タイルが所与の解像度で空間内の１領域をカバーすることが開示されている。低解像度タイルは、大きい物理的面積を占めることができ、高解像度タイルは、より小さい物理的面積を占めることができ、各タイル内の情報の量を、実質的に同一にすることができる。
【０４１８】
４８９／２ＮＰ文書には、次で述べる判断基準を使用してタイルを順序付ける方法が開示されている。１つの判断基準は、ディスプレイ上のタイル解像度およびタイル位置とすることができる。タイルのソートは、辞書式とし、より低い解像度のタイルが、必ずより高い解像度のタイルに先行し、空間的位置が、ある解像度内の順序の解決においてのみ役割を演ずるものとすることができる（辞書式ソートは、本明細書では一般化されたタプルの意味で参照され、例えば、３つ組の集合｛（１，２，３），（０，３，１），（４，０，０），（０，０，１），（０，３，２）｝の辞書式ソートは、（０，０，１），（０，３，１），（０，３，２），（１，２，３），（４，０，０）になるはずである）。
【０４１９】
あるいは、非辞書式ソート判断基準を用いることができる。例えば、複数のプロパティの線形組合せを使用して、タイルをソートすることができる。そのようなプロパティに、解像度（対数単位で表現することができる）と、ディスプレイの中央からのタイルの距離とを含めることができるが、これらに限定はされない。本明細書では、用語「ソートキー」は、用語「ソート判断基準」に対応する。
【０４２０】
この実施形態では、より低い解像度のタイルを、より高い解像度のタイルに優先して送信することができ、ディスプレイの中心に近いタイルを、周辺に近いタイルに優先して送信することができるが、これらのプロパティは、互いに対してトレードオフすることができる。
【０４２１】
些細な変更を実装して、上の方式を複数ディスプレイのシナリオに適合させることができることが好ましい。一実施形態では、ディスプレイ番号を、余分の辞書式ソートキーとして追加することができる。したがって、第１ディスプレイは、いずれかのタイルが第２ディスプレイに関連して送信される前に、完全に（他のソートキーに従って）洗練することができる。
【０４２２】
もう１つの実施形態で、ディスプレイ番号を、線形組合せに含まれる追加変数とすることができ、これによって、ディスプレイ番号が、ある形で、解像度とディスプレイの中心への近接とに対してトレードオフすることが可能になる。もう１つの実施形態で、ディスプレイ番号は、想像上の「共通空間」内で共存することができ、解像度ソートキーおよび中心への近接ソートキーは、前のように使用されることができる。この「共通空間」は、複数のディスプレイの間の想像上の空間的関係を、これらが単一のより大きいディスプレイの領域であるかのように確立する、概念的な空間である。この想像上の空間的関係を定義することによって、複数のディスプレイ内でタイルに優先順位を与えるのに必要なすべてのパラメータが決定される。
【０４２３】
図５９は、本発明の１つまたは複数の実施形態による、１つの物理ディスプレイ（スクリーン）７４２および２つの仮想ディスプレイ７４４、７４６を含むことができる「共通空間」７４０のブロック図である。物理ディスプレイ７４２は、「共通空間」７４０の中心で通常のサイズであることが好ましい。仮想ディスプレイＶ１  ７４４およびＶ２  ７４６は、横にずれていることが好ましく、Ｖ２は、スケールダウンされることが好ましく、その結果、そのピクセルが、物理ディスプレイのピクセルの直線サイズの半分になることが好ましい。これは、純粋に辞書式のタイルソート順序を仮定すると、Ｖ１  ７４６内の各解像度レベルのコンテンツが、物理ディスプレイの対応する解像度の後にサーバからクライアントに送信されることが好ましい（Ｖ１は、物理ディスプレイ上のどの点よりもこの空間の中心から遠いので）ことを意味する。Ｖ２  ７４６内の解像度は、物理ディスプレイ７４２とＶ１  ７４４との両方について、２倍微細な解像度のすべてのタイルが送信された後に送信することができる。「共通空間」７４０が、実際のより大きいディスプレイまたはメモリアドレス空間のどれにも対応する必要がないことに留意されたい。「共通空間」７４０は、単に、異なるディスプレイにまたがるタイル優先順位の間の関係を確立するための概念的な便宜である。
【０４２４】
明らかに、多数のトレードオフが可能である。これらのトレードオフは、上の辞書式の例の場合と同様に、物理ディスプレイ７４２の洗練に最高優先順位を与えると同時に、物理ディスプレイに焦点を合わせるのに必要ではない過剰な時間および帯域幅のすべてを、仮想ディスプレイ７４４、７４６の洗練を継続するのに使用するという結果を有することができる。これらのトレードオフは、その代わりに、物理ディスプレイに完全にではなく十分に焦点を合わせた後に仮想ディスプレイの洗練を開始することができる。物理ディスプレイ７４２に、十分に焦点を合わせた後に、物理ディスプレイおよび仮想ディスプレイ７４４、７４６は、一致して洗練するために帯域幅リソースを共有することができる。
【０４２５】
コレクション内のイメージが、ＪＰＥＧ２０００イメージである場合には、所与のイメージのデータのすべてのサブセット自体が、ＪＰＥＧ２０００イメージファイルを含むことができる。イメージのナビゲーション中に、クライアントは、サーバからイメージデータをプログレッシブにダウンロードすることができ、これによって、そのイメージのクライアントのサブセットの品質を増補し、フルイメージのますます正確な近似になるＪＰＥＧ２０００ファイルを作成する能力をクライアントに与えることができる。
【０４２６】
クライアントが、イメージ内のすべての場所にナビゲートし終えた場合、またはイメージデータのすべてが伝送され終えるのに十分に長くフル解像度でイメージ全体を見た場合に、クライアントは、そのイメージのオリジナルＪＰＥＧ２０００ファイル全体を再作成することができる。クライアントが、大きいイメージの一部だけに接近してズームした場合に、そのクライアントは、それでも、ＪＰＥＧ２０００ファイルを作成することができるが、そのクライアントがズームインした場所を除くすべての場所で、詳細が欠けているはずである。ＪＰＥＧ２０００のこのプロパティを、他の複数解像度文書タイプにも拡張することができる。クライアントが、一度も所与の解像度を超えてズームインしなかった場合に、その所与の解像度を超える、そのイメージ内容に関する情報は、使用可能ではないはずである。この場合に、クライアントによって作成し、かつ／または格納できるＪＰＥＧ２０００イメージのバージョンは、そのイメージのオリジナルバージョンより低い全体的な解像度を有する可能性がある。
【０４２７】
上で説明した仮想ディスプレイシナリオの１つの応用例は、カメラからのイメージの長いダウンロード時間の問題を改善することである。１つまたは複数の実施形態で、カメラまたはカメラ対応モバイルデバイスは、サーバとして動作することができ、ＰＣは、クライアントとして動作することができる。
【０４２８】
１つまたは複数の実施形態で、ＰＣへのすべてのイメージの時間がかかるバッチダウンロードを開始するのではなく、カメラとＰＣとが接続されたときに、ＰＣは、カメラ側で使用可能なイメージの完全なセットをすばやくブラウズすることができる。ナビゲーション中に、イメージのグループを、選択し、ホールディングペンに置くことができる。カメラ上のすべてのイメージが、その全体をＰＣにダウンロードされなければならない場合に、その転送を達成するのに必要な総時間が、従来技術と同一のままになることに留意されたい。しかし、サムネイル伝送という密接に関連する問題と同様に、この方法は、下でリストし、述べる、イメージの従来のシリアルダウンロードを上回る複数の利点をもたらすことができる。本発明は、下でリストされる特徴に限定されない。
【０４２９】
カメラまたは他のモバイルデバイス上のフルイメージセットのイメージダウンロードおよびユーザナビゲーションは、その帯域幅の使用において同時かつ協調的とすることができる（事実上、ナビゲーションは、単に、タイルがサーバからクライアントに送信される順序に影響する）。
【０４３０】
ＰＣのディスプレイが、モバイルデバイスのディスプレイより大きい場合に、判断の前にセット全体をダウンロードするという遅延をこうむらずに、どのイメージをダウンロードするか、どのイメージをモバイルデバイスに残すか、およびどのイメージを破棄するかに関して、よりよい選択を行うことができる。
【０４３１】
ＰＣ上およびモバイルデバイス上（このモバイルデバイスもディスプレイを有すると仮定して）でブラウズするという経験は、それぞれ、単純であり、経験的に類似し、これによってユーザビリティを高めることが好ましい。
【０４３２】
ホールディングペン内のイメージのより低い解像度のバージョンが望まれる場合には、仮想ディスプレイ上のアイテムのサイズを小さくすることによって、ダウンロードされるデータの詳細を適切に制限することが、好ましく単純である。この形でのイメージサイズの縮小が、より高い倍率で、すなわち、破棄される解像度レベルごとに４倍で、ダウンロードを高速化すると同時に、ＰＣ上でより少ないスペースを必要とすることに留意されたい）。
【０４３３】
望み通りに、仮想ディスプレイのサイズを制限すること、およびその中のイメージの個数を減らすことによって、ＰＣ上で写真に割り振られるメモリの量を制限することができる。また、異なる制約を、異なる写真に課すことができ、したがって、スペースを、新しさまたは１つもしくは複数の他の判断基準に基づいて割り振ることができる。
【０４３４】
１つまたは複数の実施形態で、接続性の時期尚早な喪失は、いくつかのイメージのダウンロード動作からの完全な除去ではなく、ダウンロードされるイメージの一部またはすべての品質の劣化をもたらす（あるイメージのデータボリュームの大部分が、非常に高い解像度の詳細であり、そのうちの一部がカメラノイズであり、そのすべてが、通常のビューイングにとって、より粗いイメージ構造よりクリティカルでないことに留意されたい。したがって、イメージのすべてのより低い解像度のイメージデータが完全に伝送され終えた後に、すべてのイメージの高解像度イメージデータの伝送を行うことが好ましい）。例えば、サムネイル詳細を超える第２セットの洗練に進む前に写真のサブセットの完全なダウンロードを優先する、イメージデータのハイブリッド優先順位付けも、可能である。
【０４３５】
１つまたは複数の実施形態で、本明細書で開示される１つまたは複数の方法は、間欠的な接続性に対して弾力的である。というのは、すべてのＪＰＥＧ２０００オブジェクトが、いつでも追加情報を増補され続けることができると同時に、それでも、どのビジュアルデータが既に受信されていようとも、そのビジュアルデータをブラウズし、そのビジュアルデータと対話することが可能になるからである。
【０４３６】
ａ）物理ディスプレイ上のアイテムのサイズの縮小と、ｂ）ＰＣ上で写真に割り振られるメモリの量の制限とへの上の言及に関して、通常のホームユーザが、イメージのいずれをも破棄することを望まない（そのようなイメージの最初の選別の後に）場合があることに留意されたい。そのようなユーザが、彼らのＰＣに十分なストレージを追加することを継続する場合に、もちろん、どのコンテンツを破棄することも、必要であってはならない。ストレージの追加自体は、仮想ディスプレイの最大サイズを拡大することができる。したがって、上の（ａ）および（ｂ）の特徴は、十分に大きい仮想ディスプレイサイズを作成できる場合（すなわち、十分な使用可能なクライアントサイドストレージがある場合）には、省略することができる。
【０４３７】
「ホールディングペン」イメージがダウンロードを終えたときが、クライアントサイドのユーザに不明瞭である可能性があるので、完了に関する、ある形のビジュアル表示が望ましい。例として、チェックマークまたは緑のドットを、イメージがダウンロードを終えたときにそのイメージの隣に表示することができる。「ホールディングペン」内のすべてのイメージに緑のドットが含まれるときに、接続を、損失なしで遮断することができる。
【０４３８】
カメラがそのイメージの一部を破棄することをクライアントコンピュータ（ＰＣとすることができる）を使用して要求することなどの動作は、出願人参考文書４８９／１５Ｐで企図されたものを超える、クライアントからサーバへのある追加通信から利益を得ることができる。１つまたは複数の他の実施形態では、クライアントサイドは、サーバサイド（デジタルカメラまたは携帯電話機などのモバイルデバイスとすることができる）に、それ自体のクライアントサイドを起動し、ＰＣからコンテンツを受け取るためにそれ自体のビューを作成するように指示することもできる。
【０４３９】
これは、ワールドワイドウェブのコンテキストで開発された「プッシュ」方法に似ている。ＰＣは、ＰＣ上のコンテンツのカメラ／携帯電話機の「ビュー」をレンダリングすることができ、したがって（例えば）、ＰＣからそのカメラにアップロードされたイメージについて、上で説明した緑の完了ドットを表示することができる。図５７の相互の矢印のそれぞれを、「プッシュ」配置または「プル」配置のいずれかを使用して実装することができる。具体的に言うと、ビューポートセッティング、配置、および他のナビゲーションセッティングを、クライアントサイド５６０（「プル」）またはサーバサイド５７０（「プッシュ」）のいずれかから制御することができる。あるデバイスと対話するユーザを、別のデバイスに相互に接続することができ、これによって、「プッシュ」と「プル」との両方が同時に発生することが可能になる。
【０４４０】
これから、図５７に示された潜在的なクライアント−サーバ接続を列挙し、これらをどのように使用できるかと、これらがなぜ有用であるかとを短く説明する。
【０４４１】
カメラまたはカメラ対応携帯電話機とすることができるモバイルデバイス５６２は、コンテンツをユーザのＰＣ（パーソナルコンピュータ）１８２に供給することができる。この接続は、通常、ＵＳＢケーブルまたはＢｌｕｅｔｏｏｔｈ（登録商標）アドホック無線ネットワークを介して行うことができる。利益は、上で説明した。
【０４４２】
ＰＣ  １８２は、コンテンツをモバイルデバイス５６２に戻して供給することができる。これは、とりわけ次の応用例に有用になり得る。
【０４４３】
「財布にある写真」を、これらの写真がモバイルデバイスによって撮影されたのではない場合であっても、ＰＣからカメラまたはモバイルデバイスに送信することができる。
【０４４４】
ＰＣを、ディスプレイなしのホームアプライアンスとすることができ、モバイルデバイスを、アーカイブされたビジュアル材料への主ビジュアルインターフェースとして使用することができる。このコンテキストでのモバイルデバイスは、デジタルカメラ、カメラ対応携帯電話機、ＰＤＡ、またはディスプレイを有するモバイルタブレットＰＣとすることができる。
【０４４５】
第１モバイルデバイスは、もう１つのモバイルデバイス（「ゲスト」）に直接に接続されるか、その「ゲスト」とのアドホックネットワークを形成することができる。この２つのモバイルデバイスは、互いの写真を表示し、共有することができる。
【０４４６】
ＰＣは、イメージを（プッシュを介して）リモートサーバにアップロードすることができる。サーバは、写真共有サービスとすることができ、したがって、物理ディスプレイ上のアイテムのサイズの縮小およびＰＣ上で写真に割り振られるメモリの量の制限という上のプロセスで想定された種類のスペース制約を実装することができる。次に、リモートサーバは、そのコレクションを１つまたは複数の追加のＰＣに供給することができる。通常、これは、ブロードバンド接続になるはずである。しかし、他の接続タイプを用いることができる。
【０４４７】
リモートサーバは、コレクションをモバイルデバイスユーザに供給することもできる。通常、これは、モバイル無線広域ネットワークになるはずである。
【０４４８】
モバイルデバイスは、そのイメージを「プッシュ」を介して（すなわち、そのモバイルデバイスの制御の下で）リモートサーバにアップロードすることができる。１つまたは複数の実施形態で、このアップロードを自動的とすることができ、これによって、そのモバイルデバイスが、コンテンツをサーバに自由に転送すること、および転送が完了したときにそれらのコンテンツをローカルに削除することによって、その見かけのストレージスペースを透過的に拡張できるようになる。
【０４４９】
上の最後の２つのアイテムに関連して、モバイルデバイス５６２上でのローカルキャッシングは、モバイルデバイス５６２が、ローカルストレージが限られている場合であっても、ローカルストレージだけを使用して非常に大きいサムネイルコレクションをブラウズすることをサポートすることを可能にすることができることに留意されたい。最近に見られたイメージの詳細へのズームインも、関連情報がまだモバイルデバイスのローカルキャッシュにある場合に、可能とすることができる。
【０４５０】
その詳細がリモートサーバでのみ使用可能なイメージへのズームインは、ぼけた詳細でないイメージをもたらし得る。しかし、モバイルデバイスが、リモートサーバ１８８を含むネットワーク上にある場合には、ますます詳細なイメージデータがモバイルデバイス５６２にダウンロードされる際に、ぼけたイメージをプログレッシブにより洗練されたものにすることができる。モバイルデバイスが、追加イメージデータを供給できるネットワークに接続されていない場合には、イメージは、最初のサムネイルイメージで使用可能なものより高い詳細を伴って提示されることができない。
【０４５１】
＜低解像度イメージのモンタージュ＞
本発明の１つまたは複数の実施形態では、様々な応用例のために解像度の制御可能なレベルでの選択されたイメージおよびまたはイメージ領域のダウンロードを実装するのに様々な構成で使用できる、事前計算されるステップおよび対話レンダリングアルゴリズムを定義することができる。これらの応用例の多く（関心領域に焦点を合わせること、仮想ブックなど）は、イメージの「ユニバース」とのユーザ対話を伴うものとすることができる。
【０４５２】
したがって、１つまたは複数の実施形態で、事前計算の開始点は、ファイル名、ＵＲＬ、または個々のイメージを参照する他のストリングのリストとすることができる。ユーザが、同時にこれらのイメージのすべてを見るのに十分に離れてズームアウトするときには、非常に多数のイメージファイルがある場合があるので、クライアントまたはサーバのいずれかが、イメージファイルのすべてをトラバースすることは、非実用的である。例えば、個々のイメージがオンスクリーンの２×２＝４ピクセルを占める体制で、数万個または数十万個のイメージがビュー内にある場合がある。これらのイメージが、効率的な低解像度アクセスをサポートする場合であっても、単に１０００００個のファイルをオープンし、クローズすることは、大きいオーバーヘッドを伴い、対話的なタイムスケールで達成するには非実用的である可能性がある。したがって、本明細書で「モンタージュ」と称する、これらのイメージの低解像度バージョンのキャッシングされた表現を使用することが望ましい場合がある。
【０４５３】
１つまたは複数の実施形態で、モンタージュは、図６０に示されているように、低解像度でレンダリングされ、長方形領域に効率的に詰め込まれた、すべてのイメージのモザイクまたはコラージュとすることができる。モンタージュイメージファイルに埋め込むか別々に格納することができる補助メタデータは、特定のイメージファイルに伴うモンタージュイメージ上の長方形領域を識別することができる。
【０４５４】
一実施形態で、モンタージュイメージ自体を、ズームおよびパンインターフェースを使用してナビゲートすることができる。ユーザが、モンタージュ内の１つまたは複数のイメージのモンタージュバージョンで使用可能な解像度を使い果たすのに十分にズームインするときに、そのイメージのメタデータは、クライアントに１つまたは複数の個々のイメージファイルを参照させることができ、クライアントは、これらのイメージファイルからの画像を使用して、より高い解像度でイメージをレンダリングすることができる。
【０４５５】
１つまたは複数の実施形態で、ピクセル単位のモンタージュの全体的なサイズは、本明細書でイメージの「セット」と称する場合がある少数のイメージだけが同時に可視である段階までズームインしたときに限ってその解像度が使い果たされるように選択することができる。したがって、この少数より多数の高解像度のイメージへのアクセスは、どの所与のときにも不要であることが好ましい。後続のズーム中およびパン中に、イメージストリームは、任意の所与のときにオープンされている高解像度イメージの個数を制限するために、必要に応じてオープンし、クローズすることができる。
【０４５６】
高解像度の多数のイメージのナビゲーションに対する上の手法は、次の限界をこうむる。モンタージュレイアウトは、詰込み効率のために設計されることが好ましいが、ユーザが、オンスクリーンでのイメージの異なる配置を求める場合がある。さらに、ユーザが、スクリーン上のイメージのレイアウトを動的に再配置できることを求める場合がある。
【０４５７】
１つまたは複数の実施形態で、そのような再配置を可能にするために、「テクスチャマッピング」として知られているグラフィックスレンダリング技法を利用することができ、このテクスチャマッピングは、ソフトウェアで実装することができるが、一般に、現代のパーソナルコンピュータではハードウェアアクセラレートされる。テクスチャマッピングは、「テクスチャ」またはソースイメージの一部をディスプレイに描き、任意選択としてイメージを再スケーリングし、回転し、かつ／または３次元透視変換を実行することを可能にする。他のハードウェアアクセラレーテッド変換が、しばしばサポートされ、これには、色訂正または色変更、完全な透明性または部分的な透明性、照明、オクルージョン、および座標再写像が含まれる。モンタージュの低解像度バージョンを、「テクスチャ」として使用することができ、その結果、ユーザがズームアウトしたときに、モンタージュ内の個々のイメージを、図６１に示されているように、任意の形で動的に再マッピングすることができる。複数のテクスチャマップを使用することができ、その場合に、各テクスチャマップを、イメージのサブセットを含むモンタージュとすることができる。配置の間の遷移は、アニメーション付きとしても、そうしなくてもよい。再配置を、ユーザがズームインしている間に行うことができるが、再配置が、前にオフスクリーンであったイメージの新しいズームインされたビューをもたらす場合があるので、新しいイメージが、当初は非常にぼけたものになる場合があることに留意されたい。
【０４５８】
もう１つの実施形態では、テクスチャマッピング技法を、イメージの動的再配置中にのみ使用することができる。イメージ配置が静的であるときに、ソフトウェア合成を使用して、オンスクリーンのより高精細度の再配置されたモンタージュのすべてまたは一部を組み立てることができる。このソフトウェア合成方法は、この開示で前に詳細に識別された特許文献１（出願人参考文書４８９／２ＮＰ）に記載の複数解像度レンダリング技法と組み合わされて特に貴重である。この方法は、事実上、オリジナルモンタージュの画像を再配置することによって新しい「ディスプレイモンタージュ」を作成することができる。
【０４５９】
テクスチャマッピングは、高解像度イメージを表示するのにも使用することができるが、この場合に、複数のイメージのモンタージュを含むテクスチャを使用するのではなく、個々のイメージのタイルを含むテクスチャが、使用される。この技法も、特許文献１（出願人参考文書４８９／２ＮＰ）に記載されている。
【０４６０】
１つまたは複数の実施形態で、モンタージュ再配置を使用して、テクスチャマッピングに頼らないイメージの再編成をサポートすることができる。
【０４６１】
１つまたは複数の他の実施形態で、テクスチャマッピング、ソフトウェアレンダリング、またはこの２つの任意の組合せを使用して、１次元平面ではなく３次元で画像をレンダリングすることができる。３次元での動的再配置も、可能である。３次元応用例に、仮想ギャラリまたは他のウォークスルー環境ならびに仮想ブックを含めることができる。仮想ブックは、本明細書で説明され、さらに、参照によって本明細書に組み込まれている特許文献９に記載されている。
【０４６２】
図６２は、本発明の１つまたは複数の実施形態と共に使用されるように適合させることができるコンピューティングシステム１０００のブロック図である。１つまたは複数の実施形態で、中央処理装置（ＣＰＵ）１００２を、バス１００４に結合することができる。さらに、バス１００４を、ランダムアクセスメモリ（ＲＡＭ）１００６、読取専用メモリ（ＲＯＭ）１００８、入出力（Ｉ／Ｏ）アダプタ１０１０、通信アダプタ１０２２、ユーザインターフェースアダプタ１００６、およびディスプレイアダプタ１０１８に結合することができる。
【０４６３】
１つまたは複数の実施形態で、ＲＡＭ  １００６および／またはＲＯＭ  １００８は、ユーザデータ、システムデータ、および／またはプログラムを保持することができる。Ｉ／Ｏアダプタ１０１０は、ハードドライブ１０１２、ＣＤ−ＲＯＭ（図示せず）、または他のマスストレージデバイスなどのストレージデバイスをコンピューティングシステム１０００に接続することができる。通信アダプタ１０２２は、コンピューティングシステム１０００をローカルエリアネットワーク、広域ネットワーク、またはインターネットネットワーク１０２４に結合することができる。ユーザインターフェースアダプタ１０１６は、キーボード１０２６および／またはポインティングデバイス１０１４などのユーザ入力デバイスをコンピューティングシステム１０００に結合することができる。さらに、ディスプレイアダプタ１０１８を、ＣＰＵ  １００２によって駆動して、ディスプレイデバイス１０２０上の表示を制御することができる。ＣＰＵ  １００２は、任意の汎用ＣＰＵとすることができる。これまでに説明したおよび／または本文書でこの後に説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび／またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の１つまたは複数の実施形態は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。
【０４６４】
本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。
【０４６５】
[発明の名称]商取引の促進にイメージナビゲーション技法を使用する方法および装置
【０４６６】
[技術分野]
本発明は、例えば製品および／またはサービスの広告および購入のための新しい環境を提供することによる、商取引の促進におけるイメージナビゲーション技法の適用の方法および装置を対象とする。
【０４６７】
[背景技術]
デジタル地図作成アプリケーションおよびジオスペイシャル（ｇｅｏｓｐａｔｉａｌ）アプリケーションは、成長著しい産業である。これらは、多数の異なる市場の会社すなわち、Ｆｅｄｅｒａｌ  Ｅｘｐｒｅｓｓ社、衣料品店、およびファーストフードチェーンなどの候補からのすばやく増加する投資を引き付けてきた。過去数年間に、地図作成は、検索エンジン、ウェブベース電子メール、および結婚仲介と共に、大きな関心を生むウェブ上のごく少数のソフトウェアアプリケーション（いわゆる「キラーアプリケーション」）の１つにもなってきた。
【０４６８】
[特許文献１０]米国特許出願第１０／８０３０１０号明細書
[特許文献１１]米国特許仮出願第６０／４７４３１３号明細書
[非特許文献４]www.w3data.com
[発明の開示]
[発明が解決しようとする課題]
地図作成は、原則として非常に視覚的でなければならないが、現在のところ、エンドユーザにとっての地図作成の有用性は、ほぼ完全にドライビングディレクションの生成にある。必ずドライビングディレクションを伴う地図イメージは、通常、不完全にレンダリングされ、ほとんど情報を伝えず、便利にナビゲートすることができず、うわべだけの飾りになっている。パンコントロールまたはズームコントロールのクリックは、長い遅延を引き起こし、その間に、ウェブブラウザは応答しなくなり、その後、前のイメージに対する視覚的関係をほとんど持たない新しい地図イメージが現れる。原則として、コンピュータは、紙の地図帳よりも効率的にデジタル地図をナビゲートできなければならないが、実際には、コンピュータによる地図のビジュアルナビゲーションは、まだ劣っている。
【０４６９】
[発明を実施するための最良の形態]
本発明は、低帯域幅接続を介する場合であっても、地図（または任意の他のイメージ）の連続的ですばやいビジュアルナビゲーションを可能にする新規のテクノロジと組み合わせて用いられることを意図されている。このテクノロジは、パンおよびズーム環境で地図を連続的にレンダリングする新しい技法に関する。このテクノロジは、道路網（１Ｄ曲線）および位置をマークするドット（０Ｄ点）をすべてのスケールで描画することを可能にし、連続する物理的ズームの錯覚をもたらすと同時に、地図の「視覚的密度」を上限付きに保つ、線および点のレンダリングへのフラクタル幾何学の応用である。関連するテクノロジは、テキストラベルおよびアイコンコンテキストに適用される。レンディションへのこの新しい手法は、デジタル地図描画に典型的な悪影響である、ズーム中の小道の突然の出現および消滅などの効果を防ぐ。このナビゲーションテクノロジの詳細は、その開示全体が参照によって本明細書に組み込まれている、本願と同日出願の、「METHODS AND APPARATUS FOR NAVIGATING AN IMAGE」と題する特許文献１０（代理人整理番号４８９／９）に見ることができる。このナビゲーション技法を、本明細書では「Ｖｏｓｓ」と称する場合がある。
【０４７０】
Ｖｏｓｓテクノロジの使用は、インターネット地図作成に関する複数の新規の商業的に価値のあるビジネスモデルを可能にする。これらのモデルは、両方が地理的広告から収入を生むＹａｈｏｏ！（登録商標）  ＭａｐｓおよびＭａｐＱｕｅｓｔ（登録商標）などの事業の証明された成功を、その出発点として採用する。しかし、我々の手法は、広告を十分に超え、会社とエンドユーザとの両方にとっての実質的な価値を増やす新テクノロジの能力を利用する。本質的なアイデアは、会社および人々が、ズーム可能なコンテンツを埋め込むことができる、通常は彼らの物理的な住所にある、地図上の「不動産」を借りることを可能にすることである。このコンテンツは、大スケールの地図で見られるときにアイコンの形、すなわち、マクドナルド（登録商標）の場合には金色のアーチで現れるが、近くで見られるときには任意の種類のウェブ様コンテンツに滑らかに連続的に変形する。したがって、我々の地図作成アプリケーションをダイナミックユーザコンテンツおよび会社／住居住所データと統合することによって、我々は、ある種の「地理的ワールドワイドウェブ」を使用可能にすることができる。
【０４７１】
消費者と小売業者との両方の巨大な水平的市場のほかに、既存の地理情報サービス（ＧＩＳ）プロバイダおよび関連産業との共同作用は、カーナビゲーションシステム、携帯電話機およびＰＤＡ、不動産賃貸または販売、部門別案内広告、ならびにさらに多くのものを得るはずである。これらの領域での可能なビジネス関係に、テクノロジライセンス交付、戦略的パートナーシップ、および直接垂直販売（ｄｉｒｅｃｔ  ｖｅｒｔｉｃａｌ  ｓａｌｅｓ）が含まれる。
【０４７２】
本発明の新ナビゲーション技法の機能は、前述の米国特許出願に詳細に記載されている。この特許出願に関して、基礎テクノロジの最も関連する態様は、次の通りである。
【０４７３】
−  知覚的連続性および高度な帯域幅管理を伴う２Ｄワールドを介する滑らかなズームおよびパンと、
−  ビジュアルコンテンツを制限なしでネストすることを可能にする、無限精度座標系と、
−  空間的包含がハイパーリンクと同等になるようにする、多数の異なるサーバに格納されたコンテンツをネストする能力。
【０４７４】
後ろの２つの要素に関して、追加の詳細を、参照によってその開示全体が本明細書に組み込まれている２００３年５月３０日出願の、「SYSTEM AND METHOD FOR INFINITE PRECISION COORDINATES IN A ZOOMING USER INTERFACE」と題する特許文献１１に見ることができる。
【０４７５】
地図は、情報の多数のレイヤからなり、最終的に、Ｖｏｓｓ地図アプリケーションは、ユーザがこれらのレイヤのほとんどをオンおよびオフに切り替えることを可能にし、地図を非常にカスタマイズ可能にする。レイヤには、次が含まれる。
【０４７６】
１．道路と、
２．水路と、
３．行政区画と、
４．航空写真に基づくオルソイミジャリ（地図を完全にタイル表示するようにデジタル的に「歪みを除去」された航空写真）と、
５．地形図と、
６．例えば学校、教会、公衆電話、手洗い所など、公共インフラストラクチャの位置と、
７．上記のそれぞれのラベルと、
８．雲量、降雨量、および他の気象条件と、
９．交通条件と、
１０．広告と
１１．個人的ユーザコンテンツおよび商用ユーザコンテンツなど。
【０４７７】
通常のユーザの観点から最も顕著なレイヤは、１〜４および７である。広告／ユーザコンテンツレイヤ１０〜１１は、本願において特に重要であるが、やはり非常に重要である。１〜７を含む地図レイヤの多くは、米国連邦政府から、高い品質および無視できるコストで既に使用可能である。８〜９（および他のレイヤ）などの付加価値レイヤは、開発中のいつでもまたは展開後であっても使用可能にすることができる。
【０４７８】
複数の会社が、一方通行の通り、高速道路の入口ランプおよび出口ランプ、ならびにドライビングディレクションを生成するのに重要な他の特徴を示す注釈を伴う機能強化された道路データを提供するが、これらは、視覚的地理学に関するものではない。本願に最も関連する商業地理情報サービス（ＧＩＳ）提供は、地域別分類であり、これは、住所の正確な緯度／経度座標への変換を可能にする。地域別分類サービスの入手は禁止的ではないと判定された。
【０４７９】
地図データのほかに、全国のイエローページ／ホワイトページデータも、本発明の実装において貴重である場合がある。この情報も、ライセンス交付され得る。全国のイエローページ／ホワイトページデータを、地域別分類と組み合わせて使用して、会社に関する地理ユーザ検索またはフィルタリング（例えば、「マンハッタンのすべてのレストランを強調表示せよ」）を可能にすることができる。おそらく最も重要なことに、地域別分類と組み合わされたディレクトリリスティングは、会社およびパーソナルユーザを地理的位置に関連付けるのを大幅に単純化し、オンライントランザクションを介して「不動産」を貸し、または譲渡することを可能にし、大量の販売スタッフの必要をなくす。
【０４８０】
テレマーケティング用に設計された全国電話データベースおよび全国住所データベースは、ＣＤで安価に入手することができるが、これらは、必ずしも高品質ではなく、そのカバレッジは、通常はごく部分的であり、これらのデータベースは、しばしば古い。複数の会社が、我々のものに似た、ソフトウェア指向ビジネス用に設計されたＡＰＩを有する堅牢なディレクトリサーバを提供している。最良のものの中に、Ｗ３Ｄａｔａ（例えば、非特許文献４参照）があり、これは、最低５００ドル／月で、０．１０ドル／ヒットから始まり、２５００００件／月の分量では０．０５ドル／ヒット、１００００００件／月の分量では０．０３ドル／ヒットまで下がる料金で、ＸＭＬベースのＡＰＩを使用する、彼らが「ニアタイム」全国電話リスティングと呼ぶものを提供する。米国およびカナダ全体がカバーされている。逆照会すなわち、電話番号を与えて名前をルックアップすることも可能である。「ニアタイム」データは、少なくとも９０日おきに更新される。既に入手されたエントリの我々の端での９０日キャッシングと組み合わされれば、これは、高品質全国リスティングを入手する非常に経済的な形である。毎晩更新される「リアルタイム」データも入手可能であるが、より高価である（０．２０ドル／ヒット）。リアルタイムデータは、４１１オペレータ（電話番号案内）によって使用されるものと同一である。
【０４８１】
Ｗ３Ｄａｔａに似た、匹敵するビジネスモデルおよび価格設定モデルを有する、カテゴリによる全国ビジネスリスティングを作成できるサービスプロバイダも存在する。
【０４８２】
古典的な広告ベースのビジネスモデルならびに独自データフォーマットおよびダウンロード可能なプラグイン（Ｆｌａｓｈ（登録商標）、Ａｄｏｂｅ（登録商標）  Ａｃｒｏｂａｔ、およびＲｅａｌ  Ｐｌａｙｅｒなど）を伴う「メディアプレイヤ」モデルは、通常、鶏と卵の問題に直面する。広告の場は、人々が既に見ている場合に限って広告する価値を有するようになり、プラグインは（無料であっても）、既に見るべき有用なコンテンツがある場合に限ってダウンロードする価値を有するようになり、コンテンツは、それを見る準備ができているインストール済みユーザベースが既にある場合に限って、作成への投資に魅力を有するようになる。
【０４８３】
Ｖｏｓｓ地図作成アプリケーションは、ダウンロード可能クライアントソフトウェアを必要とすると同時に広告を介する収入を生成するが、古典的な広告ベースのビジネスモデルの不利益をこうむらない。実質的なコマーシャルスペースが「貸される」前であっても、本発明は、地図を表示し、住所を検索する有用で視覚的に説得力のある形すなわち、既存の地図作成アプリケーションの機能性に似ているが、大幅に改善されたビジュアルインターフェースを提供する。さらに、本発明の手法は、制限されてはいるが価値のあるサービスを非商用ユーザに無料で提供して、ユーザベースを引き付ける。この制限付きサービスは、１ユーザあたり少量（５〜１５ＭＢ）のサーバスペースを、ユーザの地理的位置、通常は家庭でホスティングすることからなる。クライアントソフトウェアに、ユーザがイメージおよびテキストを彼らの「物理的な住所」にドラッグアンドドロップすることを可能にする単純なオーサリング機能を含めることができ、このイメージおよびテキストを、クライアントソフトウェアを有する任意の他の許可されたユーザが見ることができる（パスワード保護を使用可能にすることができる）。ズーミングユーザインターフェース手法は、特に限られた帯域幅を介する、デジタル写真コレクションのナビゲーションに明らかに役立つので、写真アルバム共有の可能性だけでも、かなりの数のユーザを引き付ける可能性がある。追加のサーバスペースは、適度な年間料金で使用可能とすることができる。この非常に水平的な市場は、大きな収入源になる可能性が高い。
【０４８４】
したがって、通常の鶏と卵の問題は、最初から価値のあるサービスを提供することすなわち検索エンジンおよび他の有用な（現在は収益の多い）ウェブサービスについてうまく働いてきた手法によって回避される。これは、例えば、ユーザベースが蓄積されるまでは有用でない、オンラインデートサービスとは非常に対照的である。
【０４８５】
本発明の様々な態様によれば、収入源に、次を含めることができる。
【０４８６】
１．物理的な住所に対応する地図上のスペースの商業的「レンタル」と、
２．商用ユーザ向けの「プラスサービス」（下で定義する）の料金と、
３．非商用ユーザ向けの「プラスサービス」の料金と、
４．プロフェッショナルズーム可能コンテンツオーサリングソフトウェアと、
５．ＰＤＡ、携帯電話機、カーナビゲーションシステムなどのベンダおよびサービスプロバイダとのライセンス交付またはパートナーシップと、
６．情報。
【０４８７】
地図上のスペースの基本的な商用レンタルは、次の変数の組合せを使用して価格設定することができる。
【０４８８】
１．地図上のサイトの個数と、
２．平方メートル単位の、１サイトあたりの地図面積（「フットプリント」）と、
３．集約ビューイング統計に基づく不動産の望ましさと、
４．ＭＢ単位の、コンテンツをホスティングするのに必要なサーバスペース。
【０４８９】
商用ユーザ用のプラスサービスは、フランチャイズ、電子商取引を行うかウェブの他のより洗練された利用を望む会社、および広告注目度を高めることを望む会社向けである。
【０４９０】
１．より大きい可視の高さ  −  複数のレベルを提供することができ、可視だが遮られないアイコンまたは「フラグ」が、そうでなければ可視である距離より遠くから（よりズームアウトされて）ビジネスサイトの位置を示すことが可能になる。
【０４９１】
２．焦点合わせの優先順位  −  Ｖｏｓｓは、ナビゲーション中にデータが使用可能になったときに、イメージの諸区域に焦点を合わせる。デフォルトでは、すべてのビジュアルコンテンツが、同等に扱われ、焦点合わせは、スクリーンの中央から外に進む。焦点合わせの優先順位は、これを用いない場合よりすばやく商業コンテンツに焦点を合わせることを可能にし、ユーザの「周辺視野」でそのコンテンツをより目立たせる。この特徴は、ユーザのナビゲーション経験を損なわずに商業的価値を与えるように調整される。
【０４９２】
３．従来のウェブハイパーリンクをズーム可能コンテンツに含めること  −  これらは、明瞭にマークされ（例えば、従来の下線付きの青いテキストを用いて）、ユーザがクリックしたときに、ウェブブラウザを開く。我々は、そのようなハイパーリンクを含めることについて料金を請求するか、Ｇｏｏｇｌｅ（登録商標）のように１クリックごとに料金を請求するかのいずれかを行うことができる。
【０４９３】
４．貸された地理的区域に外部の商用サーバ（これ自体は任意のタイプおよびサイズのズーム可能コンテンツをホスティングする）を参照させること  −  これは、＃３の、より意匠を凝らしたバージョンであり、地図を介して任意の種類のｅ−ビジネスを行うことを可能にする。我々は、やはり、フラット料金を請求するか、外部サーバに接続するユーザごとに料金を請求するかのいずれかを行うことができる（後者は、もはやクリックを必要とするのではなく、単にズームインすることを必要とするが）。
【０４９４】
５．ビルボード  −  実際の生活と同様に、地図の多数の高注目度区域は、実質的に空のスペースを有する。会社は、このスペースを購入し、ハイパーリンクおよび「ハイパージャンプ」を含むコンテンツを挿入することができ、このハイパーリンクおよび「ハイパージャンプ」は、クリックされた場合に、ユーザを、空間を介して地図の別の場所にある商用サイトにジャンプさせる。従来のコマーシャルスペースと対照的に、ビルボードスペースは、固定位置で貸される必要はなく、その位置は、ユーザナビゲーション中にオンザフライで生成することができる。
【０４９５】
この最後のサービスは、「エコロジ」または視覚的美学および地図のユーザビリティという問題を引き起こす。地図が、魅力的であり、ユーザにとって真のサービスのままであることが望ましいが、これは、広告および趣味の良い「区画規制」に対する制限を暗示する。地図が、実世界の地理を反映しないビルボードまたは他のコンテンツであまりに混乱した状態になった場合に、ユーザは、興味を奪われ、広告および電子商取引の場としての地図の価値が下落する。
【０４９６】
我々使用統計が収集されるときに、これらの商用「プラスサービス」の多くの価値を、量的に論証可能とすることができる。競争的利点の量的証拠は、これらの追加機能の売上を増やすに違いない。
【０４９７】
非商用ユーザ向けプラスサービスは、異なってスケーリングされ、価格設定され、マーケティングされる、同一の製品の一部からなる。
【０４９８】
ズーム可能Ｖｏｓｓコンテンツの制限付きオーサリングは、無料クライアント内から可能になる。これには、テキストの挿入、デジタル写真のドラッグアンドドロップ、およびパスワードの設定が含まれる。プロフェッショナルオーサリングソフトウェアは、より柔軟なズーム可能コンテンツ作成を可能にすると同時に、ハイパーリンクおよびハイパージャンプの作成とカスタムアプレットの挿入を容易にするように設計された、クライアントの変更バージョンとすることができる。
【０４９９】
本発明の使用は、空間的注意の密度、ナビゲーションルート、および他のパターンに関する大量の集約情報および個別情報を生成することができる。これらのデータは、商業的価値を有する。
【図面の簡単な説明】
【０５００】
【図１】本発明の１つまたは複数の実施形態によるプロキシサーバおよびクライアントデバイスを含む通信システムを示すブロック図である。
【図２Ａ】本発明の１つまたは複数の実施形態に従ってカスタマイズされた、携帯電話機とすることができるクライアントデバイスの前面を示す正面図である。
【図２Ｂ】本発明の１つまたは複数の実施形態に従ってカスタマイズされた、携帯電話機とすることができるクライアントデバイスの背面を示す正面図である。
【図２Ｃ】本発明の１つまたは複数の実施形態に従ってカスタマイズされた、携帯電話機とすることができるクライアントデバイスの背面を示す正面図である。
【図３】本発明の１つまたは複数の実施形態によるクライアントデバイスによってイメージデータをナビゲートする方法を示す流れ図である。
【図４】本発明の１つまたは複数の実施形態によるクライアントデバイスで見られるウェブページコラムを示す図である。
【図５Ａ】本発明の１つまたは複数の実施形態による、２０キロビット毎秒のレートでの約２秒のロードの後の図４のウェブページを示す図である。
【図５Ｂ】本発明の１つまたは複数の実施形態による、２０キロビット毎秒のレートでの約１０秒のロードの後の図４のウェブページを示す図である。
【図６Ａ】本発明の１つまたは複数の実施形態による、約２秒にわたって２０キロビット毎秒でデータをロードした後の図４のウェブページの上部を示す図である。
【図６Ｂ】本発明の１つまたは複数の実施形態による、約１０秒にわたって２０キロビット毎秒でデータをロードした後の図４のウェブページの上部を示す図である。
【図７】本発明の１つまたは複数の実施形態による、図６のビューをキャプチャした直後にキャプチャされた図４のウェブページの一部を示すズームインされた図である。
【図８Ａ】本発明の１つまたは複数の実施形態による、図４のウェブページの一部を示すポートレートビューである。
【図８Ｂ】本発明の１つまたは複数の実施形態による、図４のウェブページの一部を示すランドスケープビューである。
【図９】本発明の１つまたは複数の実施形態による使用に適合可能なコンピュータシステムを示すブロック図である。
【図１０】ＬＯＤピラミッドを示す図である（この例では、最高解像度表現を表すピラミッドの基部は、５１２×５１２サンプルイメージであり、このイメージの連続する縮小は、２倍で示されている）。
【図１１】本発明の例示的実施形態で使用される流れ図を示す図である。
【図１２】本システムがズームの後の最終イメージをどのように表示するかを示すもう１つの流れ図である。
【図１３】各ＬＯＤのサンプル単位で等しいサイズの長方形タイルへの副分割を示すグリッド線が追加された、図１のＬＯＤピラミッドを示す図である。
【図１４】本発明に関連して使用される、レンダリングされたタイルをディスプレイに表示するプロセスを示すもう１つの流れ図である。
【図１５】本明細書でより詳細に説明される、無理数タイリングと称する概念を示す図である。
【図１６】上でより十分に説明されるように、合成タイルおよび合成タイルを構成するタイルを示す図である。
【図１７Ａ】本発明の１つまたは複数の実施形態による、図４のＬＯＤピラミッドの第２レイヤのフォービエイテッドな順序でのレンダリングの連続するステージの１つを示す図である。
【図１７Ｂ】本発明の１つまたは複数の実施形態による、図４のＬＯＤピラミッドの第２レイヤのフォービエイテッドな順序でのレンダリングの連続するステージの１つを示す図である。
【図１７Ｃ】本発明の１つまたは複数の実施形態による、図４のＬＯＤピラミッドの第２レイヤのフォービエイテッドな順序でのレンダリングの連続するステージの１つを示す図である。
【図１７Ｄ】本発明の１つまたは複数の実施形態による、図４のＬＯＤピラミッドの第２レイヤのフォービエイテッドな順序でのレンダリングの連続するステージの１つを示す図である。
【図１８】ディスプレイ上のビジュアルコンテンツを示す図である。
【図１９】異なる詳細レベルの図１８のビジュアルコンテンツのイメージを示す図である。
【図２０】本発明の実施形態を示す図である。
【図２１】ディスプレイ上の複数のノードを示す、本発明の例示的実施形態を示す図である。
【図２２】図２１に示された例示的実施形態に対応するツリー図を示す図である。
【図２３】図２２のツリー図の一部に対応するブロック図を示す図である。
【図２４】ズームレベル５である、ＭａｐＱｕｅｓｔウェブサイトからとられたイメージを示す図である。
【図２５】ズームレベル６である、ＭａｐＱｕｅｓｔウェブサイトからとられたイメージを示す図である。
【図２６】ズームレベル７である、ＭａｐＱｕｅｓｔウェブサイトからとられたイメージを示す図である。
【図２７】ズームレベル９である、ＭａｐＱｕｅｓｔウェブサイトからとられたイメージを示す図である。
【図２８】本発明の１つまたは複数の態様による約３３４メートル／ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。
【図２９】本発明の１つまたは複数のさらなる態様による約１９１メートル／ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。
【図３０】本発明の１つまたは複数のさらなる態様による約１０９．２メートル／ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。
【図３１】本発明の１つまたは複数のさらなる態様による約６２．４メートル／ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。
【図３２】本発明の１つまたは複数のさらなる態様による約３５．７メートル／ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。
【図３３】本発明の１つまたは複数のさらなる態様による約２０．４メートル／ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。
【図３４】本発明の１つまたは複数のさらなる態様による約１１．７メートル／ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。
【図３５】本発明の１つまたは複数のさらなる態様による、イメージの滑らかで連続的なナビゲーションを提供するために実行することのできるプロセスステップを示す流れ図である。
【図３６】本発明の様々な態様による、イメージを滑らかにナビゲートするために実行することのできるさらなるプロセスステップを示す流れ図である。
【図３７】本発明の１つまたは複数のさらなる態様による、物理的スケーリングおよび非物理的スケーリングを示す、ピクセル単位の線幅対メートル／ピクセル単位のズームレベルを示す両対数グラフである。
【図３８】図３７の物理的スケーリングおよび非物理的スケーリングの変形形態を示す両対数グラフである。
【図３９】その端点がピクセル座標に正確にセンタリングされたアンチエイリアシングされた垂直線を示す図である。
【図４０】端点が正確なピクセル座標になるように位置決めされてはいない、傾いたアンチエイリアシングされた線を示す図である。
【図４１】増分線幅を示す水平線と、２つの隣接する垂直線の間のインターバルにまたがる線幅が２ピクセルを超えて変化しないように間隔をおかれた垂直線とを含む、図３７の線幅対ズームレベルを示す両対数グラフである。
【図４２】本発明の１つまたは複数の実施形態による、キャッシュ内でのキャッシュオブジェクトの使用の新しさの関数としてキャッシュ内の個々のキャッシュオブジェクトのデータストレージサイズを示すグラフである。
【図４３】本発明の１つまたは複数の実施形態による、合計されるキャッシュオブジェクトの個数「Ｎ」に対してプロットされた、キャッシュ内のキャッシュオブジェクトによって占められるデータストレージスペースの累積和を示すグラフである。
【図４４】本発明の１つまたは複数の実施形態による、複数のキャッシュオブジェクトを含むデータキャッシュを示すブロック図である。
【図４５】キャッシュオブジェクトが本発明の１つまたは複数の実施形態に従ってサイズを変更されている、図４４のデータキャッシュを示すブロック図である。
【図４６】アクセスされたキャッシュオブジェクトが、本発明の１つまたは複数の実施形態に従ってサイズを変更され、キャッシュに復元されている、図４５のデータキャッシュを示すブロック図である。
【図４７】本発明の１つまたは複数の実施形態による、データキャッシュ内のキャッシュオブジェクトにアクセスし、データキャッシュを更新する方法を示す流れ図である。
【図４８】本発明の１つまたは複数の実施形態による使用のために適合可能なコンピューティングシステムを示すブロック図である。
【図４９】白色が０の数値を有し、黒色が２５５の数値を有する、本発明の１つまたは複数の実施形態による生ＡＳＣＩＩエンコーディングを使用する「ユリシーズ」のフルテキストのテキストイメージを示す図である。
【図５０】本発明の１つまたは複数の実施形態に従って生ＡＳＣＩＩを使用してエンコードされたユリシーズの最初の５章のテキストイメージを示す図である。
【図５１】本発明の１つまたは複数の実施形態による頻度順エンコーディングを使用してエンコードされたユリシーズの最初の５章のテキストイメージを示す図である。
【図５２】本発明の１つまたは複数の実施形態と共に使用するために適合可能とすることができるコンピューティングシステムを示すブロック図である。
【図５３】本発明の１つまたは複数の実施形態による複数のコンピュータごとのイメージデータの通信を可能にするために接続することのできるシステムを示すブロック図である。
【図５４】本発明の１つまたは複数の実施形態による、その中に少なくとも２つの関心領域を有するイメージを示すブロック図である。
【図５５】本発明の１つまたは複数の実施形態による、本明細書で開示されるテクノロジの諸態様を用いる「仮想ブック」を示すブロック図である。
【図５６】本発明の１つまたは複数の実施形態による図５５の仮想ブックの３次元バージョンを示す図である。
【図５７】本発明の１つまたは複数の実施形態による、１つまたは複数のポータブルデバイスと１つまたは複数の他のコンピュータとの間のイメージデータ通信を管理するシステムを示すブロック図である。
【図５８Ａ】既存の手法を用いる不完全なイメージデータダウンロードの結果を示す図である。
【図５８Ｂ】本発明の１つまたは複数の実施形態による不完全なイメージデータダウンロードの結果を示す図である。
【図５９】本発明の１つまたは複数の実施形態による、１つの物理ディスプレイ（スクリーン）および２つの仮想ディスプレイを含むことができる「共通空間」を示すブロック図である。
【図６０】本発明の１つまたは複数の実施形態に従って１つのモンタージュに詰め込まれた１０００枚を超えるイメージのコレクション（様々なサイズのデジタル化された地図のコレクション）を示す図である。
【図６１】本発明の１つまたは複数の実施形態に従ってランダム構成に動的に再配置された約３０００枚のイメージのスナップショットを示す図である。
【図６２】本発明の１つまたは複数の実施形態と共に使用されるように適合させることができるコンピュータシステムを示すブロック図である。
【図１】
2008535098.tif 000003
【図２Ａ】
2008535098.tif 000004
【図２Ｂ】
2008535098.tif 000005
【図２Ｃ】
2008535098.tif 000006
【図３】
2008535098.tif 000007
【図４】
2008535098.tif 000008
【図５Ａ】
2008535098.tif 000009
【図５Ｂ】
2008535098.tif 000010
【図６Ａ】
2008535098.tif 000011
【図６Ｂ】
2008535098.tif 000012
【図７】
2008535098.tif 000013
【図８Ａ】
2008535098.tif 000014
【図８Ｂ】
2008535098.tif 000015
【図９】
2008535098.tif 000016
【図１０】
2008535098.tif 000017
【図１１】
2008535098.tif 000018
【図１２】
2008535098.tif 000019
【図１３】
2008535098.tif 000020
【図１４】
2008535098.tif 000021
【図１５】
2008535098.tif 000022
【図１６】
2008535098.tif 000023
【図１７Ａ】
2008535098.tif 000024
【図１７Ｂ】
2008535098.tif 000025
【図１７Ｃ】
2008535098.tif 000026
【図１７Ｄ】
2008535098.tif 000027
【図１８】
2008535098.tif 000028
【図１９】
2008535098.tif 000029
【図２０】
2008535098.tif 000030
【図２１】
2008535098.tif 000031
【図２２】
2008535098.tif 000032
【図２３】
2008535098.tif 000033
【図２４】
2008535098.tif 000034
【図２５】
2008535098.tif 000035
【図２６】
2008535098.tif 000036
【図２７】
2008535098.tif 000037
【図２８】
2008535098.tif 000038
【図２９】
2008535098.tif 000039
【図３０】
2008535098.tif 000040
【図３１】
2008535098.tif 000041
【図３２】
2008535098.tif 000042
【図３３】
2008535098.tif 000043
【図３４】
2008535098.tif 000044
【図３５】
2008535098.tif 000045
【図３６】
2008535098.tif 000046
【図３７】
2008535098.tif 000047
【図３８】
2008535098.tif 000048
【図３９】
2008535098.tif 000049
【図４０】
2008535098.tif 000050
【図４１】
2008535098.tif 000051
【図４２】
2008535098.tif 000052
【図４３】
2008535098.tif 000053
【図４４】
2008535098.tif 000054
【図４５】
2008535098.tif 000055
【図４６】
2008535098.tif 000056
【図４７】
2008535098.tif 000057
【図４８】
2008535098.tif 000058
【図４９】
2008535098.tif 000059
【図５０】
2008535098.tif 000060
【図５１】
2008535098.tif 000061
【図５２】
2008535098.tif 000062
【図５３】
2008535098.tif 000063
【図５４】
2008535098.tif 000064
【図５５】
2008535098.tif 000065
【図５６】
2008535098.tif 000066
【図５７】
2008535098.tif 000067
【図５８Ａ】
2008535098.tif 000068
【図５８Ｂ】
2008535098.tif 000069
【図５９】
2008535098.tif 000070
【図６０】
2008535098.tif 000071
【図６１】
2008535098.tif 000072
【図６２】
2008535098.tif 000073