JP2008535098A - System and method for transferring web page data - Google Patents

System and method for transferring web page data Download PDF

Info

Publication number
JP2008535098A
JP2008535098A JP2008504294A JP2008504294A JP2008535098A JP 2008535098 A JP2008535098 A JP 2008535098A JP 2008504294 A JP2008504294 A JP 2008504294A JP 2008504294 A JP2008504294 A JP 2008504294A JP 2008535098 A JP2008535098 A JP 2008535098A
Authority
JP
Japan
Prior art keywords
image
resolution
image data
data
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008504294A
Other languages
Japanese (ja)
Inventor
アグーラ ワイ アルカス ブレイス
ウォーカー ジュリアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/141,958 external-priority patent/US7546419B2/en
Priority claimed from US11/247,513 external-priority patent/US7912299B2/en
Priority claimed from US11/252,181 external-priority patent/US7930434B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority claimed from PCT/US2006/011405 external-priority patent/WO2006105158A2/en
Publication of JP2008535098A publication Critical patent/JP2008535098A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

プロキシサーバによってインターネットサイトにアクセスすることと、インターネットサイトからのイメージデータを複数解像度表現に変換することと、複数解像度表現のイメージデータをクライアントデバイスに送信することとを含むことができるシステムおよび方法を開示する。  A system and method that can include accessing an Internet site by a proxy server, converting image data from the Internet site into a multi-resolution representation, and sending the image data of the multi-resolution representation to a client device. Disclose.

Description

携帯情報端末(PDA)、携帯電話機、または無線端末などの小型デバイスでウェブをブラウズすることが有用であることが、長らく認められてきた。そのようなデバイスでウェブブラウジングを実装することにかかわる問題は、一般に、計算能力における制限のゆえに生じるのではない。そうではなく、そのような問題は、次の2つの原因から生じる。第1に、ディスプレイが、通常は非常に小さく、特により大きいディスプレイまたはウィンドウ(例えば、通常は少なくとも800×200ピクセルまたは1024×768ピクセル)用に設計されたウェブページを表示することが困難になる。第2に、小型無線デバイスは、通常、低帯域幅で広域ネットワークに接続され、伝統的なウェブブラウジングが、ビューイングの前にHTML(ハイパーテキストマークアップ言語)ページ全体をダウンロードする必要に起因して不快になる。   It has long been recognized that it is useful to browse the web with small devices such as personal digital assistants (PDAs), mobile phones, or wireless terminals. The problems associated with implementing web browsing on such devices generally do not arise due to limitations in computing power. Rather, such problems arise from the following two causes. First, the display is usually very small, making it difficult to display web pages designed specifically for larger displays or windows (eg, usually at least 800 × 200 pixels or 1024 × 768 pixels). . Second, small wireless devices are usually connected to wide area networks with low bandwidth, and traditional web browsing is due to the need to download the entire HTML (Hypertext Markup Language) page before viewing. Become uncomfortable.

この問題に対するいくつかの部分的解決策が存在する。例えば、あるコンピュータハードウェア製造業者は、BREW(Binary Runtime Environment for Wireless)に基づく、小型デバイスへのコンテンツの無線配信用の新しいプラットフォームを設計した。しかし、この種の解決策は、コンテンツプロバイダが、彼らのコンテンツをBREWテクノロジを使用して供給することに合意すること、あるいは、サードパーティコンテンツアグリゲータが、コンテンツまたはアプリケーションに特殊化されたフォーマッティングを使用して既存コンテンツを継続的に再パッケージし、やはりBREWテクノロジを使用して結果を供給することを必要とする。   There are several partial solutions to this problem. For example, a computer hardware manufacturer has designed a new platform for wireless distribution of content to small devices based on the BREW (Binary Runtime Environment for Wireless). However, this type of solution is that content providers agree to supply their content using BREW technology, or that third-party content aggregators use specialized formatting for the content or application Existing content needs to be continuously repackaged and again using BREW technology to deliver the results.

もう1つの部分的解決策は、Opera Mobile AcceleratorおよびSmall−Screen Rendering(商標)と組み合わされたOpera For Mobileである。これらのテクノロジは、モバイル無線プラットフォームに移植された、人気のあるウェブブラウザであるOperaに基づく。Small−Screen Rendering(商標)は、モバイル端末のディスプレイの水平寸法におさまるようにウェブページを動的に再フォーマットすることを試みる。Opera Mobile Acceleratorは、プロキシサーバを使用して、オンデマンドでオリジナルHTML形式のウェブページにアクセスし、その後、このHTMLを圧縮し、圧縮されたバージョンをモバイル端末に転送する。Operaによれば、Opera Mobile Acceleratorは、ウェブページのサイズを約50%から約70%だけ圧縮するが、ウェブページのサイズを90%まで減らす能力を有する。これを考慮すれば、データは、より高速に取り出され、ウェブページは、よりすばやく表示される。一般に、速度の向上は、ユーザが訪れようとしているサイトのタイプに依存する。この2つのテクノロジは、ウェブブラウジングに関するモバイル端末ディスプレイサイズおよび帯域幅の問題に対する部分的解決策を提示する。   Another partial solution is Opera For Mobile in combination with Opera Mobile Accelerator and Small-Screen Rendering ™. These technologies are based on Opera, a popular web browser that has been ported to mobile wireless platforms. Small-Screen Rendering ™ attempts to dynamically reformat web pages to fit within the horizontal dimensions of the mobile terminal display. The Opera Mobile Accelerator uses a proxy server to access the web page in the original HTML format on demand, and then compresses the HTML and transfers the compressed version to the mobile terminal. According to Opera, the Opera Mobile Accelerator compresses the size of the web page by about 50% to about 70%, but has the ability to reduce the size of the web page to 90%. Considering this, data is retrieved faster and web pages are displayed more quickly. In general, the speed increase depends on the type of site the user is trying to visit. These two technologies present a partial solution to the mobile terminal display size and bandwidth issues related to web browsing.

しかし、従来技術には、限られた帯域幅あるいは他の通信および/または処理能力の制限を有するデジタルデバイスにウェブページデータを供給する改善されたシステムおよび方法の必要がある。   However, there is a need in the prior art for improved systems and methods for supplying web page data to digital devices with limited bandwidth or other communication and / or processing power limitations.

一態様によれば、本発明は、プロキシサーバによってインターネットサイトにアクセスすることと、インターネットサイトからのイメージデータを複数解像度表現に変換することと、複数解像度表現のイメージデータをクライアントデバイスに送信することとを含むことができる方法を開示する。好ましくは、この方法は、クライアントデバイスによってウェブページをナビゲートすることをさらに含む。好ましくは、ナビゲートするステップは、(a)プロキシサーバによってインターネットサイトのイメージデータをナビゲートすることと、(b)クライアントデバイスによって複数解像度のイメージデータをナビゲートすることであって、ステップ(a)のナビゲートすることおよびステップ(b)のナビゲートすることは、実質的に同時に発生することを含む。   According to one aspect, the present invention accesses an Internet site by a proxy server, converts image data from the Internet site into a multi-resolution representation, and transmits the image data of the multi-resolution representation to a client device. A method that can include: Preferably, the method further includes navigating the web page by the client device. Preferably, the step of navigating comprises: (a) navigating the image data of the internet site by a proxy server; and (b) navigating the multi-resolution image data by the client device. Navigating) and navigating in step (b) include occurring substantially simultaneously.

好ましくは、ナビゲートすることは、ウェブページの少なくとも実質的に全体の複数解像度イメージデータをプロキシサーバで格納することと、格納された複数解像度イメージデータをクライアントデバイスによってナビゲートすることとを含む。好ましくは、変換するステップは、ナビゲートすることが必要とするインターネットサイトイメージデータをクライアントデバイスによって連続的に変換することを含む。好ましくは、変換するステップは、インターネットサイトからの選択されたイメージデータがクライアントデバイスナビゲーションに必要になる前に、プロキシサーバによって、その選択されたイメージデータを事前に変換することと、事前に変換されたイメージデータをプロキシサーバで格納することとを含む。   Preferably, navigating includes storing at least substantially the entire multi-resolution image data of the web page at the proxy server and navigating the stored multi-resolution image data by the client device. Preferably, the converting step includes continuously converting internet site image data that needs to be navigated by the client device. Preferably, the step of converting is pre-converted with the proxy server pre-converting the selected image data by the proxy server before the selected image data from the internet site is needed for client device navigation. Storing stored image data on a proxy server.

好ましくは、この方法は、格納されたイメージデータを、クライアントデバイスのナビゲーションによる必要に応じてクライアントデバイスに送信することをさらに含む。好ましくは、この方法は、格納された事前に変換されたイメージデータをクライアントデバイスに送信する前に、格納された事前に変換されたイメージデータは古くないことを保証することをさらに含む。好ましくは、保証するステップは、事前に変換されたイメージデータのタイムスタンプおよびチェックサムのうちの1つを、インターネットサイトから発する対応するイメージデータのタイムスタンプおよびチェックサムのうちのそれぞれの1つと比較することを含む。好ましくは、事前に変換するステップは、少なくとも1つのウェブページのイメージデータをプロキシサーバによって変換することと、少なくとも1つのウェブページの変換されたイメージデータをプロキシサーバで格納することとを含む。   Preferably, the method further includes transmitting the stored image data to the client device as needed by client device navigation. Preferably, the method further comprises ensuring that the stored pre-converted image data is not stale before sending the stored pre-converted image data to the client device. Preferably, the guaranteeing step compares one of the time stamp and checksum of the pre-converted image data with a respective one of the corresponding image data time stamp and checksum originating from the internet site. Including doing. Preferably, the pre-converting step includes converting the image data of at least one web page by a proxy server and storing the converted image data of at least one web page at the proxy server.

好ましくは、この方法は、クライアントデバイスとインターネットサイトとの間の双方向対話型通信を可能にすることをさらに含む。好ましくは、対話型通信は、クライアントデバイスからプロキシサーバへナビゲーションコマンドを送信することを含む。好ましくは、この方法は、クライアントデバイスに関するダイナミックインターネットグラフィックスをプロキシサーバによってエミュレートすることをさらに含む。好ましくは、エミュレートするステップは、ダイナミックHTML(ハイパーテキストマークアップ言語)と、アプレットとのうちの少なくとも1つをエミュレートすることを含む。好ましくは、ナビゲートすることは、ウェブページの少なくとも一部を見る解像度レベルをクライアントデバイスで選択することを含む。   Preferably, the method further includes enabling two-way interactive communication between the client device and the Internet site. Preferably, the interactive communication includes sending a navigation command from the client device to the proxy server. Preferably, the method further comprises emulating dynamic internet graphics for the client device by a proxy server. Preferably, the step of emulating includes emulating at least one of dynamic HTML (Hypertext Markup Language) and an applet. Preferably, navigating includes selecting at the client device a resolution level for viewing at least a portion of the web page.

好ましくは、ナビゲートすることは、クライアントデバイスでの表示のためにウェブページの領域を選択することを含む。好ましくは、ナビゲートすることは、ウェブページの領域を見る解像度を選択することをさらに含む。好ましくは、ナビゲートするステップは、クライアントデバイスで見られるウェブページの複数の部分を選択することを含む。好ましくは、ナビゲートするステップは、複数のウェブページ部分を見る複数のそれぞれの解像度を選択することをさらに含む。好ましくは、複数解像度イメージデータのナビゲートすることは、複数解像度イメージデータをパンすることを含む。好ましくは、複数解像度イメージデータのナビゲートすることは、複数解像度イメージデータをズームすることを含む。   Preferably, navigating includes selecting an area of the web page for display on the client device. Preferably, navigating further includes selecting a resolution for viewing an area of the web page. Preferably, the step of navigating includes selecting a plurality of portions of the web page viewed on the client device. Preferably, the step of navigating further comprises selecting a plurality of respective resolutions for viewing the plurality of web page portions. Preferably, navigating the multi-resolution image data includes panning the multi-resolution image data. Preferably, navigating the multi-resolution image data includes zooming the multi-resolution image data.

もう1つの態様によれば、本発明は、クライアントデバイスと、クライアントデバイスおよびインターネットサイトと通信し、クライアントデバイスとインターネットサイトとの間の中間物として働くプロキシサーバであって、インターネットサイトからのイメージデータを複数解像度ビジュアルデータフォーマットに変換するように動作可能である、プロキシサーバとを含むことができる装置を提供することができる。好ましくは、複数解像度ビジュアルデータフォーマットは、JPEG2000である。好ましくは、クライアントデバイスは、携帯電話機であり、携帯電話機は、複数解像度ビジュアルデータフォーマット内のイメージデータをナビゲートする少なくとも1つの機構を含む。好ましくは、機構は、タッチパッドであり、タッチパッドは、複数解像度ビジュアルデータフォーマット内のイメージデータをパンすることを可能にする。好ましくは、機構は、複数解像度ビジュアルデータフォーマット内のイメージデータへのズームインを可能にする。好ましくは、ズームする機構は、クライアントデバイスのユーザによって回転可能なローラーを含む。好ましくは、クライアントデバイスは、携帯電話機、PDA(携帯情報端末)、ノートブックコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、およびテレビジョンセットからなる群のうちの1つである。   According to another aspect, the present invention is a proxy server that communicates with a client device, the client device and an Internet site, and acts as an intermediate between the client device and the Internet site, the image data from the Internet site. Can be provided that can include a proxy server that is operable to convert the video to a multi-resolution visual data format. Preferably, the multi-resolution visual data format is JPEG2000. Preferably, the client device is a mobile phone, and the mobile phone includes at least one mechanism for navigating image data in a multi-resolution visual data format. Preferably, the mechanism is a touchpad that allows panning of image data in a multi-resolution visual data format. Preferably, the mechanism allows zooming in on the image data within the multi-resolution visual data format. Preferably, the zooming mechanism includes a roller that is rotatable by a user of the client device. Preferably, the client device is one of the group consisting of a mobile phone, a PDA (Personal Digital Assistant), a notebook computer, a desktop computer, a tablet computer, and a television set.

他の態様、特徴、利益などは、本明細書の本発明の好ましい実施形態の説明を添付図面と共に解釈するときに、当業者に明白になるであろう。   Other aspects, features, benefits, etc. will become apparent to those skilled in the art when the description of the preferred embodiments of the invention herein is taken in conjunction with the accompanying drawings.

本発明の様々な態様を示すために、現在好ましい形が図面に示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。   While the presently preferred form is shown in the drawings for purposes of illustrating various aspects of the invention, it is to be understood that the invention is not limited to the precise arrangements and instrumentalities shown.

図1は、本発明の1つまたは複数の実施形態によるプロキシサーバ150およびクライアントデバイス230を含む通信システム140を示すブロック図である。通信システム140は、インターネット180、クライアントデバイス230、およびプロキシサーバ150を含むことができ、プロキシサーバ150は、キャッシュ160を含むことができる。インターネット180は、プロキシサーバ150が従来の形でインターネットをブラウズすることを可能にするのに必要な通信リンク、コンピューティングハードウェア、および通信ハードウェアを含むと解釈することができる。高帯域幅接続が、プロキシサーバ150とインターネット180との間での使用に好ましいが、当技術分野で既知の任意の通信リンクを使用して、プロキシサーバ150をインターネット180に接続することができる。一般に、プロキシサーバ150を、全体としてのインターネットへのゲートウェイとして働くインターネットサービスプロバイダ(ISP)(図示せず)に接続することができる。本明細書の1つまたは複数の実施形態では、インターネット180が、そのようなインターネットサービスプロバイダを含むことが意図されている。   FIG. 1 is a block diagram illustrating a communication system 140 that includes a proxy server 150 and a client device 230 in accordance with one or more embodiments of the present invention. The communication system 140 can include the Internet 180, the client device 230, and the proxy server 150, which can include a cache 160. Internet 180 can be interpreted to include the communication links, computing hardware, and communication hardware necessary to enable proxy server 150 to browse the Internet in a conventional manner. Although a high bandwidth connection is preferred for use between the proxy server 150 and the Internet 180, the proxy server 150 can be connected to the Internet 180 using any communication link known in the art. In general, proxy server 150 may be connected to an Internet service provider (ISP) (not shown) that acts as a gateway to the Internet as a whole. In one or more embodiments herein, the Internet 180 is intended to include such Internet service providers.

プロキシサーバ150は、インターネットと通信し、インターネットからダウンロードされたイメージデータを含むデータを処理するように、適切に構成された、パーソナルコンピュータまたは他のコンピューティングデバイスとすることができる。プロキシサーバ150は、好ましくは、インターネット180にコマンドを送信し、インターネット180からイメージデータを受信することができる。   Proxy server 150 may be a personal computer or other computing device suitably configured to communicate with the Internet and process data including image data downloaded from the Internet. The proxy server 150 is preferably capable of sending commands to the Internet 180 and receiving image data from the Internet 180.

プロキシサーバ150は、イメージデータを含むデータへのすばやく簡単なアクセスを可能にするためにそのようなデータを格納するキャッシュ160を含むことができる。キャッシュ160を、プロキシサーバ150と同一の物理的エンクロージャ内に置くことによるなど、サーバ150内に物理的に組み込むことができる。あるいは、キャッシュ160を、プロキシサーバ150とは別々に収納するが、キャッシュ160にアクセス可能とすることができる。   Proxy server 150 may include a cache 160 that stores such data to allow quick and easy access to data including image data. The cache 160 can be physically incorporated within the server 150, such as by being in the same physical enclosure as the proxy server 150. Alternatively, the cache 160 may be stored separately from the proxy server 150, but the cache 160 may be accessible.

クライアントデバイス230は、好ましくは、プロキシサーバ150との通信を行うことができるポータブルコンピューティングデバイスである。しかし、クライアントデバイスを、デスクトップコンピュータなど、より大型の非ポータブルコンピューティングデバイスとすることができる。クライアントデバイス230は、携帯電話機、携帯情報端末(PDA)、ノートブックコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、およびテレビジョンセットのうちの1つとすることができる。しかし、クライアントデバイス230は、前述のアイテムの1つであることには限定されない。好ましくは、クライアントデバイス230がテレビジョンセットである場合に、このテレビジョンセットは、複数解像度イメージデータを受信でき、プロキシサーバ150などであるがこれに限定されない外部デバイスにナビゲーションコマンドを送信することができる。クライアントデバイス230は、プロキシサーバ150から受信した複数解像度イメージデータを格納する、揮発性ストレージおよび/または不揮発性ストレージを含むデータストレージ機能をも含むことができる。そのようなデータストレージは、RAM(ランダムアクセスメモリ、ROM(読取専用メモリ)、ハードドライブ、CD−ROMドライブ、CD read−write、およびバブルメモリを含むことができるが、これらに限定はされない。望まれる場合に、クライアントデバイス230は、データストレージに、キャッシュメモリを含めることができる。   Client device 230 is preferably a portable computing device capable of communicating with proxy server 150. However, the client device can be a larger non-portable computing device, such as a desktop computer. Client device 230 may be one of a mobile phone, a personal digital assistant (PDA), a notebook computer, a desktop computer, a tablet computer, and a television set. However, the client device 230 is not limited to being one of the aforementioned items. Preferably, when the client device 230 is a television set, the television set can receive multi-resolution image data and send navigation commands to an external device such as but not limited to the proxy server 150. it can. The client device 230 may also include a data storage function that includes multi-resolution image data received from the proxy server 150, including volatile storage and / or non-volatile storage. Such data storage can include, but is not limited to, RAM (random access memory, ROM (read only memory), hard drive, CD-ROM drive, CD read-write, and bubble memory. The client device 230 can include a cache memory in the data storage.

プロキシサーバ150は、図2に関してより詳細に述べるように、インターネット180からのイメージデータを複数解像度フォーマットに変換した後に、クライアントデバイス230がそのようなデータをブラウズすることを可能にするために、インターネット180とクライアントデバイス230との間の中間物として働くことができる。   Proxy server 150, as described in more detail with respect to FIG. 2, after converting image data from the Internet 180 to a multi-resolution format, allows the client device 230 to browse such data. It can act as an intermediate between 180 and client device 230.

図2Aは、本発明の1つまたは複数の実施形態に従ってカスタマイズされた、携帯電話機とすることができるクライアントデバイス230の前面を示す図である。図2Bは、図2Aのクライアントデバイス230の背面の正面図である。図2Cは、図2Aのクライアントデバイスの背面の正面図である。   FIG. 2A is a diagram illustrating the front of a client device 230, which can be a mobile phone, customized according to one or more embodiments of the present invention. FIG. 2B is a front view of the back side of the client device 230 of FIG. 2A. 2C is a front view of the back side of the client device of FIG. 2A.

図2の図に含まれる1つまたは複数の実施形態では、クライアントデバイス230は、複数解像度イメージデータをブラウズするように特に構成された携帯電話機またはPDAである。クライアントデバイス230は、本体232、ディスプレイ234、アンテナ236、タッチパッド238、ジョイスティック240、および/またはローラー242を含むことができる。図2では、ローラー242は、ある範囲までクライアントデバイス230の本体232から突き出して図示されている。この突き出しは、例示のために図示されたものである。ローラーまたはホイール242は、クライアントデバイス230のユーザからアクセス可能であることだけを必要とする。したがって、ローラーまたはホイール242は、本体232からごくわずかに突き出すことができる。あるいは、本体232の側面に凹窩(図示せず)を設け、この凹窩の中にローラー242をおさめることができ、これによって、ホイール242が、クライアントデバイス230の本体232の側面のまっすぐなエッジを有する部分を超えて突き出さないようにすることが可能になる。   In one or more embodiments included in the diagram of FIG. 2, client device 230 is a mobile phone or PDA specifically configured to browse multi-resolution image data. Client device 230 may include a main body 232, a display 234, an antenna 236, a touch pad 238, a joystick 240, and / or a roller 242. In FIG. 2, the roller 242 is shown protruding from the body 232 of the client device 230 to a certain extent. This protrusion is shown for illustration. The roller or wheel 242 need only be accessible from the user of the client device 230. Thus, the roller or wheel 242 can protrude slightly from the body 232. Alternatively, a recess (not shown) can be provided on the side of the body 232, and the roller 242 can be contained in the recess so that the wheel 242 is a straight edge on the side of the body 232 of the client device 230. It becomes possible not to protrude beyond the part which has.

1つまたは複数の実施形態で、ディスプレイ234を、クライアントデバイス230の正面に配置することができる(図2A)。しかし、他の実施形態では、ディスプレイ234をクライアントデバイス230のどこにでも配置することができる。タッチパッド238は、クライアントデバイス230の背面に配置することができ(図2B)、プロキシサーバ150から受信したイメージデータをパンするのに使用することができる。しかし、あるいは、タッチパッド238をクライアントデバイス230の任意の表面に配置することができる。あるいは、タッチパッド238を、イメージデータのズームに使用することができる。1つまたは複数の他の実施形態では、タッチパッド238を、イメージデータのパンおよびズームに使用することができる。   In one or more embodiments, the display 234 can be positioned in front of the client device 230 (FIG. 2A). However, in other embodiments, the display 234 can be located anywhere on the client device 230. The touchpad 238 can be located on the back of the client device 230 (FIG. 2B) and can be used to pan image data received from the proxy server 150. However, alternatively, the touchpad 238 can be placed on any surface of the client device 230. Alternatively, the touch pad 238 can be used for zooming the image data. In one or more other embodiments, the touchpad 238 can be used for panning and zooming image data.

クライアントデバイス230のユーザは、タッチパッド238の表面に沿って指を動かすことによって、イメージデータをパンし、またはズームすることができる。それに加えてまたはその代わりに、タッチパッド238を使用して、ディスプレイ234に表示された1つまたは複数のイメージ領域またはウェブページ領域の上でカーソルを移動することができる。複数のイメージ(必ずではないがおそらくは2つの異なるウェブページからの)がディスプレイ234に表示されている場合に、カーソルの使用は、ナビゲーションステップを実行するためにイメージの1つを識別するのに有益である場合がある。   A user of the client device 230 can pan or zoom the image data by moving a finger along the surface of the touchpad 238. Additionally or alternatively, touchpad 238 can be used to move the cursor over one or more image areas or web page areas displayed on display 234. When multiple images (possibly but not necessarily from two different web pages) are displayed on display 234, the use of a cursor is useful for identifying one of the images for performing a navigation step. It may be.

代替実施形態では、ジョイスティック240(図2C)を、タッチパッド238に加えてまたはその代わりにのいずれかで、イメージデータをパンするのに使用することができる。ジョイスティックは、クライアントデバイス230のユーザがイメージにまたがってパンすることを望む方向に対応する方向にジョイスティック240を押すことによって、イメージデータをパンするのに使用することができる。タッチパッド238と同様に、ジョイスティック240は、クライアントデバイス230のどの表面に配置してもよい。   In an alternative embodiment, joystick 240 (FIG. 2C) can be used to pan image data either in addition to or instead of touchpad 238. The joystick can be used to pan the image data by pressing the joystick 240 in a direction corresponding to the direction that the user of the client device 230 wants to pan across the image. Similar to touch pad 238, joystick 240 may be placed on any surface of client device 230.

1つまたは複数の実施形態で、ズームは、ホイール242などの別々のデバイスまたはスライダ(図示せず)などの他のデバイスを使用することによって、あるいはタッチパッド238表面の1つのエッジで上下に指を滑らせるなど、タッチパッド238での型にはまったジェスチャを使用することによって、達成することができる。後者の場合に、両手の人差し指をタッチパッド上で同時に使用することができる(一方の手はパン、他方の手はズーム)。   In one or more embodiments, zooming is performed by using a separate device, such as a wheel 242 or other device, such as a slider (not shown), or up and down at one edge of the touchpad 238 surface. This can be accomplished by using routine gestures on the touchpad 238, such as sliding the screen. In the latter case, the index finger of both hands can be used simultaneously on the touchpad (one hand pans, the other hand zooms).

タッチパッド240とホイール242との両方を含む1つまたは複数の実施形態で、クライアントデバイス230のユーザは、ズームとパンとの間で行き来してすばやく切り替えることができ、あるいは、パンおよびズームを同時に行うことさえできる。本明細書では、ホイール242を、「ローラー」とも称する。   In one or more embodiments that include both the touchpad 240 and the wheel 242, the user of the client device 230 can switch back and forth between zoom and pan, or pan and zoom at the same time. You can even do it. In this specification, the wheel 242 is also referred to as a “roller”.

上で説明した特徴のうちの1つまたは複数を使用することによって、パンおよび/またはズームを、クライアントデバイス230のユーザがより大きい表面のディスプレイ(スクリーン)234に目を通しているかのような触覚的経験にすることができる。片方の手の人差し指が、タッチパッド238を撫で、イメージをパンし、より大きいイメージがタッチパッド238を使用してディスプレイ234の背後から移動されるという感覚をもたらすことができる。類似する形で、イメージにズームインするためのホイール242の使用を用いて、ホイール242の動きが、「より大きいイメージ」をホイール242の回転方向に応じてディスプレイ234のより近くにまたはより遠くに移動するという感覚をもたらすことができる。   By using one or more of the features described above, a tactile experience as if the user of the client device 230 is looking through a larger surface display (screen) 234 is panning and / or zooming. Can be. The index finger of one hand can stroke the touch pad 238 to pan the image and provide the feeling that a larger image is moved from behind the display 234 using the touch pad 238. In a similar manner, using the wheel 242 to zoom in on the image, the movement of the wheel 242 moves the “larger image” closer or farther to the display 234 depending on the direction of rotation of the wheel 242. It can bring a sense of doing.

上で説明した触覚インターフェースは、浅い学習曲線を有する自然で馴染みのある「感覚」を実現することができる。1つまたは複数の実施形態は、イメージをパンするために指がタッチパッド238を撫でている間にディスプレイの遮られないビューを可能にするという、タッチスクリーンの使用のより従来の解決策と比較した利益をももたらすことができる。さらに、1つまたは複数の実施形態で、タッチパッド238およびホイール242を使用するのであれ他のナビゲーション機構を使用するのであれ、パンとズームとの間でたやすく交代できることおよび/またはこの2つのアクティビティを同時にもしくは実質的に同時に行えることによって、相乗的利益を得ることができる。   The haptic interface described above can realize a natural and familiar “feel” with a shallow learning curve. One or more embodiments compare to a more conventional solution of using a touch screen that allows an unobstructed view of the display while a finger is stroking the touch pad 238 to pan the image Can also bring benefits. Further, in one or more embodiments, whether using touchpad 238 and wheel 242 or other navigation mechanisms, can be easily alternated between pan and zoom and / or the two activities Can be performed simultaneously or substantially simultaneously to achieve a synergistic benefit.

1つまたは複数の実施形態で、タッチパッド238は、約2インチ(50.8mm)×約1.5インチ(38.1mm)の寸法を有するものとすることができるが、タッチパッド238は、どちらの次元においても、示された値より小さくまたはこれより大きくすることができる。   In one or more embodiments, the touchpad 238 may have a dimension of about 2 inches (50.8 mm) × about 1.5 inches (38.1 mm), In either dimension, it can be less than or greater than the indicated value.

図3は、本発明の1つまたは複数の実施形態によるクライアントデバイス230によってイメージデータをナビゲートする方法320の流れ図である。図3に示されたステップは、図示の順序での実行には限定されない。ある種の場合に、図示されたステップのうちの複数を同時に実行することができる。次では、ステップをリストし、要約し、その後、基本的な対話型ブラウジングへのステップの適用およびその変形形態を述べる。   FIG. 3 is a flow diagram of a method 320 for navigating image data by a client device 230 according to one or more embodiments of the invention. The steps shown in FIG. 3 are not limited to execution in the order shown. In certain cases, more than one of the illustrated steps can be performed simultaneously. The following lists and summarizes the steps and then describes the application of the steps to basic interactive browsing and variations thereof.

方法320には、プロキシサーバ150によってインターネット180のインターネットサイトにアクセスすること322を含めることができる。プロキシサーバは、アクセスされたインターネットサイトからのイメージデータを、空間的ランダムアクセスをサポートする複数解像度ビジュアルデータフォーマット(複数解像度イメージデータ)に変換すること324ができる。JPEG2000が、そのようなビジュアルデータフォーマットの1つの可能な例である。しかし、本発明は、この標準規格を使用することに限定はされない。本明細書では、用語「変換する」は、一般に、従来のウェブページデータを複数解像度イメージデータに変えることに適用される用語「再パッケージする」に対応する。   The method 320 may include accessing 322 an Internet site on the Internet 180 by the proxy server 150. The proxy server can convert 324 image data from the accessed Internet site into a multi-resolution visual data format (multi-resolution image data) that supports spatial random access. JPEG 2000 is one possible example of such a visual data format. However, the present invention is not limited to using this standard. As used herein, the term “convert” generally corresponds to the term “repackage” as applied to converting conventional web page data to multi-resolution image data.

方法320には、クライアントデバイス230での最終的な表示328のために、プロキシサーバ150によって複数解像度イメージデータをクライアントデバイス230に送信すること326を含めることができる。クライアントデバイス230は、ステップ326での送信の後にまたはこれと同時にのいずれかで、送信された複数解像度イメージデータをナビゲートすること330ができる。クライアントデバイス230によってナビゲート330される、送信された複数解像度イメージデータには、ダイナミックHTMLおよびアプレット機能性などであるがこれらに限定はされない、エミュレートされたインターネットグラフィカル特徴を含めることができる。   The method 320 may include transmitting 326 the multi-resolution image data to the client device 230 by the proxy server 150 for final display 328 at the client device 230. Client device 230 may navigate 330 the transmitted multi-resolution image data either after or at the same time as the transmission at step 326. The transmitted multi-resolution image data navigated 330 by the client device 230 can include emulated Internet graphical features such as, but not limited to, dynamic HTML and applet functionality.

一実施形態で、プロキシサーバ150は、インターネット180上のウェブページからのイメージデータを複数解像度イメージデータに変換する324。というのは、そのようなデータを、クライアントデバイス230のナビゲーション330が必要とするからである。   In one embodiment, the proxy server 150 converts 324 image data from a web page on the Internet 180 into multi-resolution image data. This is because the navigation 330 of the client device 230 requires such data.

その後、複数解像度イメージデータは、好ましくはクライアントデバイス230に送信され326、そこで表示される328。この実施形態では、プロキシサーバ150による、ウェブページとすることのできるインターネットサイトへのアクセス322、およびクライアントデバイス230による複数解像度イメージデータのナビゲーションは、実質的に同時に発生することができる。したがって、この実施形態では、ウェブページ(または他のタイプの)イメージデータの変換324は、クライアントデバイス230によって行われるナビゲーション330に応答して、実質的に「オンザフライ」で行われる。ナビゲーション330には、クライアントデバイス230によるパンおよびズームを含めることができるが、これに限定はされない。   The multi-resolution image data is then preferably sent 326 to the client device 230 where it is displayed 328. In this embodiment, access 322 to an Internet site, which can be a web page, by proxy server 150 and navigation of multi-resolution image data by client device 230 can occur substantially simultaneously. Thus, in this embodiment, the transformation 324 of web page (or other type) image data is performed substantially “on the fly” in response to navigation 330 performed by client device 230. Navigation 330 can include, but is not limited to, panning and zooming by client device 230.

もう1つの実施形態で、プロキシサーバは、1つまたは複数のウェブページ全体あるいは他の形のインターネットイメージデータを、複数解像度イメージデータに変換しまたは「事前変換し」、変換されたデータを、クライアントデバイス230による迅速なアクセス可能性およびクライアントデバイス230への送信のためにプロキシサーバ150にアクセス可能なキャッシュ160または他のメモリデバイスに格納することができる。この事前変換は、関係するウェブページデータがクライアントデバイス230のナビゲーション330コマンドに応答して必要になる前に実行することができる。   In another embodiment, the proxy server converts or “pre-converts” one or more entire web pages or other forms of Internet image data into multi-resolution image data, and converts the converted data to the client It can be stored in a cache 160 or other memory device accessible to the proxy server 150 for rapid accessibility by the device 230 and transmission to the client device 230. This pre-conversion can be performed before the relevant web page data is needed in response to the navigation 330 command of the client device 230.

1つまたは複数の実施形態で、プロキシサーバ150は、クライアントデバイス230からのイメージデータに関する要求にサービスするときに、オリジナルHTMLコンテンツが、キャッシングされたバージョンと比較して変更されていないことを検証することによって、キャッシングされた事前変換された複数解像度イメージデータが「古」くないことを保証することができる。この検証は、タイムスタンプの比較、チェックサムの比較、または他の周知の方法の使用によって達成することができる。「古さ」に関するある許容範囲を作り込んで、プロキシサーバが行わなければならないHTML要求の個数に上限を設けることができる。この開示では、「古」くないデータは、「新鮮」である。   In one or more embodiments, when proxy server 150 services a request for image data from client device 230, it verifies that the original HTML content has not been modified compared to the cached version. This ensures that the cached pre-converted multi-resolution image data is not “old”. This verification can be accomplished by time stamp comparison, checksum comparison, or the use of other well-known methods. A certain tolerance for “age” can be built in to place an upper limit on the number of HTML requests that the proxy server must make. In this disclosure, data that is not “old” is “fresh”.

1つまたは複数の実施形態で、プロキシサーバ150は、インターネット180またはより具体的にはインターネット180のサイトまたはインターネットページとクライアントデバイス230との間の中間物として働く。その結果、インターネット180とのプロキシサーバ150の通信は、好ましくは、クライアントデバイス230による複数解像度データのブラウズに応答するものである。また、図3に示されたステップのうちの複数を、一時に1つずつ図示のシーケンスに厳密に従って行うのではなく、対話的におよび/または同時に行うことができる。   In one or more embodiments, proxy server 150 serves as an intermediate between Internet 180 or, more specifically, a site or page of Internet 180 and client device 230. As a result, communication of the proxy server 150 with the Internet 180 is preferably responsive to browsing of multi-resolution data by the client device 230. Also, several of the steps shown in FIG. 3 can be performed interactively and / or simultaneously, rather than strictly following the sequence shown one at a time.

一般に、ウェブページイメージデータは、インターネット180からプロキシサーバ150に流れ、プロキシサーバ150で、このデータを複数解像度イメージデータに変換することができる。その時点で、複数解像度イメージデータを、キャッシュ160に格納することができ、かつ/またはクライアントデバイス230での表示のためにクライアントデバイス230に送信することができる。クライアントデバイスは、必要な場合に、受信した複数解像度イメージデータを格納することができる。   In general, web page image data flows from the Internet 180 to the proxy server 150, and the proxy server 150 can convert this data into multi-resolution image data. At that point, the multi-resolution image data can be stored in the cache 160 and / or sent to the client device 230 for display on the client device 230. The client device can store the received multi-resolution image data if necessary.

ナビゲーションコマンドまたはブラウジングコマンドは、一般に、逆の方向に進む。具体的に言うと、ナビゲーション要求および/またはウェブページもしくはインターネットサイトのブラウジングに関係する他のコマンドは、クライアントデバイス230から発し、プロキシサーバ150に進み、その後、おそらくは変更された形で、プロキシサーバ150からインターネット180に送信されることができる。プロキシサーバ150でクライアントデバイス230から受信されたコマンドの適切な変換または再構成は、そのようなコマンドをインターネット180に再送信する前に、プロキシサーバ150で実施することができる。例えば、クライアントデバイス230が、別のウェブページへのリンクをクリックする場合に、プロキシサーバ150は、ターゲットウェブページにアクセスするために、このリンクするコマンドをインターネット180に再送信することができる。クライアントデバイス230が送信できるコマンドに、パンおよびズームなどのナビゲーションコマンドを含めることができる。さらなるコマンドに、マウスまたは他のデバイスを用いるクリック、タイプすること、話すこと(音声コマンドをクライアントデバイス230で理解できる場合)、ジェスチャ、タッチパッド238の表面に沿った指または手先の移動、ホイール242の動き、あるいはジョイスティック240の動きを含めることができる。   Navigation commands or browsing commands generally go in the opposite direction. Specifically, navigation requests and / or other commands related to browsing a web page or Internet site originate from the client device 230 and go to the proxy server 150, and then possibly in a modified form. To the Internet 180. Appropriate translation or reconfiguration of commands received from the client device 230 at the proxy server 150 may be performed at the proxy server 150 before retransmitting such commands to the Internet 180. For example, if the client device 230 clicks on a link to another web page, the proxy server 150 can resend the linking command to the Internet 180 to access the target web page. Navigation commands such as pan and zoom can be included in commands that the client device 230 can send. Additional commands include clicking, typing, speaking (if the voice command can be understood by the client device 230) using a mouse or other device, gestures, finger or hand movement along the surface of the touchpad 238, wheel 242 Movement, or movement of the joystick 240 can be included.

単一のウェブページがアクセスされ322、複数解像度イメージデータに変換され324、キャッシュ160に格納される第1の例を検討する。キャッシュ160に格納された後に、複数解像度イメージデータを、クライアントデバイス230によって必要に応じてブラウズすることができる。   Consider a first example in which a single web page is accessed 322, converted to multi-resolution image data 324, and stored in cache 160. After being stored in the cache 160, the multi-resolution image data can be browsed by the client device 230 as needed.

この例を継続し、クライアントデバイス230が、低解像度レベルでの変換されたウェブページの最初のレンディション(rendition)を受信すると仮定する。この出発点(「解像度レベル1」)から、クライアントデバイス230のユーザは、そのウェブページの選択領域「A」にズームインする。クライアントデバイスが、そのローカルストレージ内により高い解像度のイメージデータを有しないと仮定すると、このズームコマンドは、好ましくは、プロキシサーバ150に送信され、プロキシサーバ150は、必要なデータをキャッシュ160から取り出すことができ、このイメージデータをクライアントデバイス230に送信することができる。   Continuing with this example, assume that client device 230 receives the first rendition of the converted web page at a low resolution level. From this starting point (“resolution level 1”), the user of the client device 230 zooms in on the selected area “A” of the web page. Assuming the client device does not have higher resolution image data in its local storage, this zoom command is preferably sent to the proxy server 150, which retrieves the necessary data from the cache 160. The image data can be transmitted to the client device 230.

好ましくは、クライアントデバイス230によって要求されるズームの範囲は、プロキシサーバ150によって、選択された解像度レベル(この例のためには「解像度レベル2」)に関連付けることができる。結果の解像度レベルは、選択された領域(領域「A」)の事前定義の解像度レベルの組のうちの1つの解像度レベルから選択することができる。あるいは、選択された解像度レベルが、事前定義の解像度レベルの1つに正確には対応しない場合には、要求される解像度レベルを、本明細書に組み込まれた文書で開示されるように、1つまたは複数の補間計算を行うことによって計算することができる。   Preferably, the range of zoom requested by the client device 230 can be associated by the proxy server 150 with a selected resolution level (“resolution level 2” for this example). The resulting resolution level can be selected from one of the predefined resolution level sets of the selected region (region “A”). Alternatively, if the selected resolution level does not exactly correspond to one of the predefined resolution levels, the required resolution level is 1 as disclosed in the document incorporated herein. It can be calculated by performing one or more interpolation calculations.

次に、クライアントデバイス230のディスプレイ234は、好ましくは、選択された領域「A」を選択された解像度で表示する。おそらく、変換されたウェブページのうちで実質的に領域Aだけが、ディスプレイ234に表示される。   Next, the display 234 of the client device 230 preferably displays the selected area “A” at the selected resolution. Presumably, substantially only region A of the converted web page is displayed on display 234.

この例を継続し、クライアントデバイス230のユーザが、次に、好ましくは領域「A」の表示に最後に使用された解像度レベル(「解像度レベル2」)を維持しながら、ウェブページ内で領域「A」から領域「B」(領域は図示せず)に横にパンすることを望む情況を検討する。領域「B」の複数解像度イメージデータが、クライアントデバイス230内で使用可能ではないと仮定すると、領域「B」に向かってパンするステップは、好ましくは、プロキシサーバ150に、領域「B」のイメージデータをキャッシュ160またはプロキシサーバ150からアクセス可能な他のデータストレージデバイスから探させ、このデータをクライアントデバイス230に送信させる。このデータを受信したときに、クライアントデバイス230は、領域「B」を「解像度レベル2」で表示できなければならない。解像度レベル2のイメージデータが、キャッシュ160内で入手可能ではなかった場合に、プロキシサーバ150が、好ましくは、関係するウェブページにインターネット180からもう一度アクセスし、そのウェブページのデータを、キャッシュ160に格納されているものより高い解像度を有する複数解像度イメージデータに変換したことに留意されたい。   Continuing this example, the user of client device 230 then preferably maintains region “A” in region “A” while maintaining region “A” in region “A”. Consider a situation where you want to pan sideways from A ”to region“ B ”(region not shown). Assuming that multi-resolution image data in region “B” is not available in client device 230, the step of panning toward region “B” preferably causes proxy server 150 to send the image in region “B”. The data is searched from the cache 160 or another data storage device accessible from the proxy server 150, and this data is transmitted to the client device 230. Upon receiving this data, client device 230 must be able to display region “B” at “resolution level 2”. If resolution level 2 image data is not available in cache 160, proxy server 150 preferably accesses the relevant web page again from the Internet 180, and the web page data is stored in cache 160. Note that it has been converted to multi-resolution image data having a higher resolution than that stored.

この例を継続し、次に、クライアントデバイス230のユーザが、好ましくは最初のウェブページの領域B内の、最初のウェブページ内のハイパーリンクをアクティブ化することを望む情況を検討する。   Continuing with this example, consider the situation in which the user of client device 230 wishes to activate a hyperlink in the first web page, preferably in region B of the first web page.

クライアントデバイス230のユーザがハイパーリンクをクリックするときに、プロキシサーバ150は、そのハイパーリンクに関連するウェブページイメージデータがキャッシュ160に置かれていないと判定することができる。したがって、プロキシサーバ150は、好ましくは、そのハイパーリンクのターゲットウェブページに関する要求を、インターネット180との通信で複製する。   When the user of the client device 230 clicks on a hyperlink, the proxy server 150 can determine that the web page image data associated with the hyperlink has not been placed in the cache 160. Accordingly, proxy server 150 preferably replicates the request for the target web page of the hyperlink in communication with the Internet 180.

好ましくは、プロキシサーバ150は、そのハイパーリンクのターゲットウェブページにアクセスする。次に、プロキシサーバ150は、そのターゲットウェブページからのイメージデータを複数解像度イメージデータに変換し、その複数解像度イメージデータをクライアントデバイス230での表示のためにクライアントデバイス230に動的にストリーミングすることができる。その代わりにまたはそれに加えて、プロキシサーバ150は、必要に応じたクライアントデバイス230による後のアクセスのために、そのターゲットウェブページの複数解像度イメージデータのすべてまたは一部をキャッシュ160に格納することができる。キャッシュ160または他の適切なストレージデバイスでのそのような格納は、クライアントデバイス230がターゲット(ハイパーリンクされた)ウェブページの複数解像度イメージデータのすべてを一度に受信し、表示することができない場合があるので、有益である可能性がある。この受信できず表示できないことは、クライアントデバイス230が、ターゲットウェブページの1つまたは複数の領域を表示する、高い解像度レベルを選択した場合に存在する可能性がより高い。一般に、クライアントデバイスが複数解像度イメージデータを表示する解像度(表示される領域の)が高いほど、表示される領域が小さくなることに留意されたい。   Preferably, proxy server 150 accesses the target web page of the hyperlink. Proxy server 150 then converts the image data from the target web page to multi-resolution image data and dynamically streams the multi-resolution image data to client device 230 for display on client device 230. Can do. Alternatively or additionally, proxy server 150 may store all or part of the multi-resolution image data of the target web page in cache 160 for later access by client device 230 as needed. it can. Such storage in cache 160 or other suitable storage device may prevent client device 230 from receiving and displaying all of the multi-resolution image data of the target (hyperlinked) web page at once. Because there is, it may be beneficial. This inability to receive and display is more likely to exist when the client device 230 selects a high resolution level that displays one or more regions of the target web page. Note that in general, the higher the resolution (displayed area) at which the client device displays multi-resolution image data, the smaller the displayed area.

1つまたは複数の実施形態で、クライアントデバイス230は、1つのウェブページの複数の領域または複数のそれぞれのウェブページから引き出された複数の領域を表示できる場合がある。この場合に、クライアントデバイス230は、好ましくは、そのような表示された領域ごとに独立に表示解像度を選択することができる。この場合に、タッチパッド238またはクライアントデバイス230内の他の機構は、好ましくは、各イメージの所望の解像度を選択するために、各そのようなイメージの上でカーソルを移動することができる。   In one or more embodiments, the client device 230 may be able to display multiple regions of a web page or multiple regions derived from multiple respective web pages. In this case, the client device 230 is preferably capable of selecting a display resolution independently for each such displayed area. In this case, the touchpad 238 or other mechanism within the client device 230 can preferably move the cursor over each such image to select the desired resolution of each image.

さらに、あるウェブページの一部だけを形成できる任意の1つのイメージの中で、解像度は、一定である必要がない。解像度は、高解像度での関心領域(region of interest)の表示と、データストレージおよび高解像度のイメージ全体を表示するのに必要な量の複数解像度イメージデータを受信するデータ通信の重荷を避けることという競合する優先順位を両立させる必要に応じて、変更することができる。   Furthermore, the resolution need not be constant in any one image that can form only a portion of a web page. Resolution refers to avoiding the burden of displaying a region of interest at high resolution and receiving data storage and the amount of multi-resolution image data required to display the entire high-resolution image. It can be changed as necessary to make competing priorities compatible.

プロキシによるウェブブラウジングに関して本明細書で説明する手法の1つまたは複数の実施形態は、下で述べる特徴を提供することができる。   One or more embodiments of the techniques described herein for proxy web browsing can provide the features described below.

上で述べたように、ズーム機能を、プロキシによるウェブブラウジングと共に提供することができる。したがって、クライアントデバイス230より幅広いディスプレイを表示するためにフォーマットされたウェブページを、それでも、ディスプレイ234などの小さいディスプレイでその列幅全体を見ることができる。テキストが、列のサイズに対して小さい場合に、単一の行の全体を読むために、水平にパンすることが有益である場合がある。しかし、連続ズームの使用は、176ピクセル幅ディスプレイにおいてさえ、多数のテキスト列の全体を読むことを可能にする(この幅は、ある市販携帯電話機の特徴である)。   As mentioned above, zoom functionality can be provided along with proxy web browsing. Thus, a web page formatted to display a wider display than the client device 230 can still be viewed in its entire column width on a small display, such as the display 234. If the text is small relative to the column size, it may be beneficial to pan horizontally to read the entire single line. However, the use of continuous zoom makes it possible to read the entire number of text strings even in a 176 pixel wide display (this width is characteristic of some commercial mobile phones).

1つまたは複数の実施形態で、これは、ウェブページのレイアウトを変更するはずの再フォーマットなしで可能である。図4に、この形で表示されているウェブページの列(元々は800×200ピクセルディスプレイでの表示用に設計された)を示す。   In one or more embodiments, this is possible without reformatting that would change the layout of the web page. FIG. 4 shows a column of web pages displayed in this manner (originally designed for display on an 800 × 200 pixel display).

複数解像度イメージデータフォーマットへの変換が適度に高速であるか、キャッシングされた複数解像度イメージコンテンツが既にキャッシュ160内で使用可能であるかのいずれかであるならば、ウェブページ全体の最初のビューを、関係するウェブページの要求のすぐ後にクライアントデバイス230で可視にレンダリングすることができる。この能力は、任意の長さのウェブページについて実現することができる。これは、ウェブページの最初のビューが、ページ全体のズームアウトされた概観またはウェブページの最上部(または任意の他の部分)のズームインされたビューのどちらであってもあてはまる。   If the conversion to the multi-resolution image data format is reasonably fast or the cached multi-resolution image content is already available in the cache 160, the first view of the entire web page Can be rendered visibly on the client device 230 immediately after the request for the relevant web page. This capability can be realized for web pages of any length. This is true whether the initial view of the web page is a zoomed out view of the entire page or a zoomed in view of the top (or any other part) of the web page.

図5Aおよび6Aに、それぞれ、20キロビット/秒接続を介する約2秒のロードの後の大きいウェブページの全般的な概観および最上部のビューを示すこれらの情況を示す。図5Bおよび6Bは、それぞれ、約10秒のデータロード時間の後の図5Aおよび6Aのより明瞭なバージョンを示す。   FIGS. 5A and 6A show these situations, respectively, showing a general overview and top view of a large web page after about 2 seconds of loading over a 20 kbps connection. FIGS. 5B and 6B show clearer versions of FIGS. 5A and 6A, respectively, after a data load time of about 10 seconds.

新聞など、様々なコンテンツを有する複雑なウェブページについて、クライアントは、文書全体のダウンロードを待たずに、即座に、興味のある区域に継続的に焦点を合わせることができる。図7を参照されたい。   For complex web pages with various content, such as newspapers, clients can immediately focus on areas of interest without waiting for the entire document to be downloaded. Please refer to FIG.

事実上無制限の長さのウェブページを、クライアントデバイス230のリソースに重い負担をかけず、最初のビューまでの時間を遅延させず、性能劣化を引き起こさずに見ることができる。   Web pages of virtually unlimited length can be viewed without overburdening the resources of the client device 230, without delaying the time to first view, and without causing performance degradation.

1つまたは複数の実施形態で、ウェブページは、非常に大きいイメージを有する場合があり、この非常に大きいイメージの微細な詳細を見るために、クライアントデバイス230は、クライアントデバイス230のリソースに重い負担をかけず、ウェブページの最初の表示までの時間を遅延させず、および/または性能劣化をもたらさずにズームインすることができる。   In one or more embodiments, a web page may have a very large image, and in order to see the fine details of this very large image, the client device 230 places a heavy burden on the client device 230 resources. Without zooming in, without delaying the time to first display of the web page and / or without causing performance degradation.

いくつかの場合に、小型デバイスのディスプレイは、その幅より高い(例えば、Samsung(登録商標)SGH−D410携帯電話機の場合に、幅176ピクセル×高さ220ピクセル)。それでも、ウェブブラウジングについて、最も制限的な変数は、列幅であり、セルラディスプレイが「ポートレート」ページセットアップではなく「ランドスケープ」ページセットアップを使用することが望ましくなる場合がある。複数解像度イメージデータは、選択可能な角距離によるビジュアルコンテンツの回転を可能にするので、より大きい寸法のディスプレイを、コンテンツブラウジング中に最も効果的に使用することができる。図8Aおよび8Bを参照されたい。   In some cases, the display of the small device is higher than its width (eg, 176 pixels wide by 220 pixels high for the Samsung® SGH-D410 mobile phone). Still, for web browsing, the most restrictive variable is column width, which may make it desirable for cellular displays to use a “landscape” page setup rather than a “portrait” page setup. Multi-resolution image data allows rotation of visual content by a selectable angular distance so that larger sized displays can be most effectively used during content browsing. See Figures 8A and 8B.

1つまたは複数の実施形態で、複数解像度イメージデータにアクセスするクライアントデバイス230は、プロキシサーバ150によって生成された複数解像度イメージデータだけではなく、複数解像度イメージデータにアクセスできる任意のサーバから発するイメージコンテンツを見ることをイネーブルされ得る。したがって、そのようなクライアントデバイス150は、多数の大きいイメージ、大きい複数解像度ベクトル地図、および従来のHTMLを使用して供給することが困難または不可能である可能性がある他の種類のイメージコンテンツを継続的にナビゲートすることをイネーブルされ得る。   In one or more embodiments, the client device 230 accessing multi-resolution image data originates from any server that can access the multi-resolution image data, not just the multi-resolution image data generated by the proxy server 150. Can be enabled to watch. Thus, such a client device 150 provides a large number of large images, large multi-resolution vector maps, and other types of image content that may be difficult or impossible to serve using conventional HTML. It may be enabled to navigate continuously.

上でリストした利益は、プロキシサーバ150を使用する複数解像度イメージデータブラウジングを、携帯電話機ユーザだけではなく、PDAまたはパームトップ無線デバイス、無線インターネットを有するノートブックコンピュータ、モデムなどの狭帯域接続を介してインターネットに接続されたホームコンピュータユーザ、および/またはホームブロードバンドユーザを含むがこれらに限定はされない、より大型のデバイスのユーザにも有益なものにするのに十分に説得力のあるものである可能性がある。   The benefits listed above allow multi-resolution image data browsing using proxy server 150 not only through mobile phone users, but also through narrowband connections such as PDA or palmtop wireless devices, notebook computers with wireless Internet, modems, etc. Can be sufficiently compelling to be useful to users of larger devices, including but not limited to home computer users connected to the Internet and / or home broadband users There is sex.

ホームブロードバンドユーザの場合に、複数解像度イメージデータをクライアントデバイス230に送信するのにプロキシサーバ150を使用するシステムの1つまたは複数の実施形態は、次を含むがこれらに限定はされない特徴を提供することができる。   For home broadband users, one or more embodiments of a system that uses proxy server 150 to transmit multi-resolution image data to client device 230 provides features including but not limited to the following: be able to.

a)小さい字体の読みやすさを改善するかイメージの詳細を調べるために、ウェブページを連続的にズームすることができ、
b)小型ディスプレイ用に設計されたウェブページを、高解像度ディスプレイでより鮮明な詳細で(テキストコンポーネントまたはベクトルコンポーネントについて)ブラウズすることができ、
c)複数のウェブページを、リッチ2D(2次元)または3D(3次元)マルチスケール環境で再配置し、操作し、サイズ変更し、従来のマルチウィンドウブラウジングまたはタブブラウジングに代わるユーザ経験を提供することができ、かつ/または、
d)プロキシサーバ150キャッシングの賢明な使用を介して、潜在的に無制限の個数のウェブページを、クライアントデバイス230の過剰なメモリまたは他のリソースを必要とせずに、ウェブのライブ大スケール「ビュー」に集約することができる。
a) Web pages can be continuously zoomed to improve the readability of small fonts or to examine image details,
b) Web pages designed for small displays can be browsed with clearer details (for text or vector components) on high resolution displays;
c) Relocate, manipulate, and resize multiple web pages in a rich 2D (2D) or 3D (3D) multiscale environment, providing a user experience that replaces traditional multi-window or tabbed browsing And / or
d) Through the judicious use of proxy server 150 caching, a potentially unlimited number of web pages can be created without the need for excessive memory or other resources on the client device 230, and live large-scale “views” of the web. Can be aggregated.

最後に、複数解像度イメージデータフォーマットでのイメージの表示は、大型ディスプレイ、高帯域幅プラットフォームおよび小型ディスプレイ、低帯域幅プラットフォームに相補的な利益を提供できるので、この形での表示は、異なるプラットフォームについて異なるバージョンのビジュアルコンテンツおよび/またはブラウザを提供することを必要とするのではなく、ユーザ経験を統一でき、クロスプラットフォームエンジニアリングおよびクロスプラットフォーム開発を単純化することができる。   Finally, displaying images in multi-resolution image data format can provide complementary benefits for large, high-bandwidth and small-display, low-bandwidth platforms, so this form of display is for different platforms. Rather than having to provide different versions of visual content and / or browsers, the user experience can be unified and cross-platform engineering and cross-platform development can be simplified.

図9は、本発明の1つまたは複数の実施形態と共に使用するために適合可能なコンピューティングシステム800のブロック図である。1つまたは複数の実施形態では、中央処理装置(CPU)802をバス804に結合することができる。さらに、バス804を、ランダムアクセスメモリ(RAM)806、読取専用メモリ(ROM)808、入出力(I/O)アダプタ810、通信アダプタ822、ユーザインターフェースアダプタ806、およびディスプレイアダプタ818に結合することができる。   FIG. 9 is a block diagram of a computing system 800 that is adaptable for use with one or more embodiments of the invention. In one or more embodiments, a central processing unit (CPU) 802 can be coupled to the bus 804. Further, the bus 804 may be coupled to a random access memory (RAM) 806, a read only memory (ROM) 808, an input / output (I / O) adapter 810, a communication adapter 822, a user interface adapter 806, and a display adapter 818. it can.

1つまたは複数の実施形態で、RAM 806および/またはROM 808は、ユーザデータ、システムデータ、および/またはプログラムを保持することができる。I/Oアダプタ810は、ハードドライブ812、CD−ROM(図示せず)、または他のマスストレージデバイスなどのストレージデバイスをコンピューティングシステム800に接続することができる。通信アダプタ822は、コンピューティングシステム800をローカルエリアネットワーク、広域ネットワーク、またはインターネットネットワーク824に結合することができる。ユーザインターフェースアダプタ816は、キーボード826および/またはポインティングデバイス814などのユーザ入力デバイスをコンピューティングシステム800に結合することができる。さらに、ディスプレイアダプタ818は、CPU 802によって駆動されて、ディスプレイデバイス820での表示を制御することができる。CPU 802は、任意の汎用CPUとすることができる。   In one or more embodiments, RAM 806 and / or ROM 808 may hold user data, system data, and / or programs. The I / O adapter 810 can connect a storage device, such as a hard drive 812, a CD-ROM (not shown), or other mass storage device, to the computing system 800. Communication adapter 822 may couple computing system 800 to a local area network, a wide area network, or an Internet network 824. User interface adapter 816 can couple user input devices such as keyboard 826 and / or pointing device 814 to computing system 800. Further, the display adapter 818 can be driven by the CPU 802 to control display on the display device 820. The CPU 802 can be any general purpose CPU.

この文書でこれまでに説明したおよび/または後で説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび/またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の1つまたは複数の実施形態は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。   Any known processor, programmable digital device or method or apparatus described earlier and / or later in this document that operates to execute standard digital circuits, analog circuits, software and / or firmware programs Note that any known technology can be used, such as a programmable digital system, a programmable array logic device, or any combination of the above. One or more embodiments of the present invention may also be implemented in a software program for storage on a suitable storage medium and execution by a processing unit.

本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および本明細書に添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。   Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. Accordingly, numerous modifications can be made to these exemplary embodiments and other arrangements can be made without departing from the spirit and scope of the invention as defined by the claims appended hereto. Please understand that it can be devised.

本願の要約の前に、追加の開示テキストが追加されていることに留意されたい。   Note that additional disclosure text has been added prior to the summary of this application.

[発明の名称]ズーミングユーザインターフェースでの正確なレンダリングのシステムおよび方法 System and method for accurate rendering with a zooming user interface

[技術分野]
本発明は、全般的にはコンピュータのグラフィカルズーミングユーザインターフェース(zooming user interface、ZUI)に関する。より具体的には、本発明は、計算的に効率的である(よいユーザ応答性および対話的フレームレートをもたらす)こと、ベクトルドローイング、テキスト、および他の非写真コンテンツが最終的に再サンプリングなしで(再サンプリングは、通常はイメージ品質の劣化につながるはずである)、そして、他のイメージの補間なしで(これも劣化につながるはずである)描かれるという意味で正確であることの、両方である形で、ズーム可能ビジュアルコンテンツをプログレッシブにレンダリングするシステムおよび方法である。
[Technical field]
The present invention relates generally to a computer graphical zooming user interface (ZUI). More specifically, the present invention is computationally efficient (resulting in good user responsiveness and interactive frame rate), vector drawing, text, and other non-photo content ultimately does not resample Both in the sense that resampling will usually lead to degradation of image quality and in the sense that it will be drawn without interpolation of other images (which should also lead to degradation) A system and method for progressively rendering zoomable visual content in such a way.

[背景技術]
ほとんどの現在のグラフィカルコンピュータユーザインターフェース(GUI)は、固定された空間的スケールのビジュアルコンポーネントを使用して設計されている。しかし、コンピュータグラフィックスという分野の誕生から、ビジュアルコンポーネントがディスプレイ上で固定された空間的スケールを有するのではなく、ビジュアルコンポーネントをズームインまたはズームアウトできる形で、ビジュアルコンポーネントを表現でき、操作できることが認められた。ズーム可能コンポーネントの望ましさは、多くの応用領域、例えば、地図の表示、新聞などの大きい異種テキストレイアウトのブラウジング、デジタル写真のアルバムのビューイング、および大きいデータセットのビジュアライゼーションを用いる作業などで明白である。スプレッドシートおよびレポートなどの普通の文書を見るときであっても、しばしば、文書の概観を見、次に、関心を持たれた領域にズームインできることが有用である。Microsoft(登録商標)Word(登録商標)および他のOffice(登録商標)プロダクト(表示メニューの下のズーム)、Adobe(登録商標)Photoshop(登録商標)、Adobe(登録商標)Acrobat(登録商標)、QuarkXPress(登録商標)など、多くの現代のコンピュータアプリケーションに、ズーム可能コンポーネントが含まれる。ほとんどの場合に、これらのアプリケーションは、文書のズームインおよびズームアウトを可能にするが、必ずしもアプリケーション自体のビジュアルコンポーネントのズームインおよびズームアウトを可能にはしない。さらに、ズームは、通常、ソフトウェアとのユーザの対話の周辺態様であり、ズームセッティングは、ときたま変更されるのみである。文書上での連続的なパンは、標準的である(すなわち、スクロールバーまたはカーソルを使用して、見られている文書を左、右、上、または下に平行移動させること)が、ユーザフレンドリな形で連続的にズームし、パンする能力は、従来技術システムには存在しない。
[Background]
Most current graphical computer user interfaces (GUIs) are designed using fixed spatial scale visual components. However, since the advent of the field of computer graphics, it has been recognized that visual components can be expressed and manipulated in such a way that they can be zoomed in or out, rather than having a fixed spatial scale on the display. It was. The desirability of zoomable components is evident in many application areas, such as displaying maps, browsing large heterogeneous text layouts such as newspapers, viewing digital photo albums, and working with large dataset visualizations. It is. Even when viewing regular documents such as spreadsheets and reports, it is often useful to be able to see an overview of the document and then zoom in on the area of interest. Microsoft® Word® and other Office® products (zoom under display menu), Adobe® Photoshop®, Adobe® Acrobat®, Many modern computer applications, such as QuarkXPress®, include zoomable components. In most cases, these applications allow zooming in and out of a document, but not necessarily zooming in and out of the visual components of the application itself. Furthermore, zoom is usually a peripheral aspect of user interaction with the software, and zoom settings are only occasionally changed. Continuous panning over a document is standard (ie, using a scroll bar or cursor to translate the document being viewed left, right, up, or down), but is user friendly. The ability to continuously zoom and pan in any way does not exist in prior art systems.

まず、複数の定義を示す。ディスプレイとは、レンダリングされた画像(imagery)をユーザに出力するのに使用される1つまたは複数のデバイスである。フレームバッファは、ディスプレイの少なくとも一部の内容を動的に表すのに使用される。ディスプレイリフレッシュレートとは、物理ディスプレイまたはその一部が、フレームバッファの内容を使用してリフレッシュされるレートである。フレームバッファのフレームレートとは、フレームバッファが更新されるレートである。   First, several definitions are shown. A display is one or more devices used to output a rendered image to a user. The frame buffer is used to dynamically represent the contents of at least a portion of the display. The display refresh rate is the rate at which a physical display or part thereof is refreshed using the contents of the frame buffer. The frame rate of the frame buffer is a rate at which the frame buffer is updated.

例えば、通常のパーソナルコンピュータでは、ディスプレイリフレッシュレートは60〜90Hzである。例えば、ほとんどのデジタルビデオは、24〜30Hzのフレームレートを有する。したがって、デジタルビデオの各フレームは、実際には、ディスプレイがリフレッシュされるときに少なくとも2回表示される。複数のフレームバッファを、異なるフレームレートで利用することができ、したがって、同一のディスプレイに実質的に同時に表示することができる。これは、例えば、異なるフレームレートを有する2つのデジタルビデオが同一ディスプレイ上で異なるウィンドウ内で再生されているときに発生するはずである。   For example, in a normal personal computer, the display refresh rate is 60 to 90 Hz. For example, most digital video has a frame rate of 24-30 Hz. Thus, each frame of digital video is actually displayed at least twice when the display is refreshed. Multiple frame buffers can be utilized at different frame rates and thus can be displayed substantially simultaneously on the same display. This should occur, for example, when two digital videos with different frame rates are being played in different windows on the same display.

ズーミングユーザインターフェース(ZUI)に関する1つの問題は、ユーザがズームするときに、ビジュアルコンテンツを異なる解像度で表示しなければならないことである。この問題に対する理想的な解決策は、すべての連続するフレームで、基礎になるビジュアルコンテンツに基づく正確な新たに計算されたイメージを表示することであるはずである。そのような手法に関する問題は、ユーザがズームするときのリアルタイムでのビジュアルコンテンツの各解像度の正確な再計算が、基礎になるビジュアルコンテンツが複雑である場合に、計算的に非実用的であることである。   One problem with the zooming user interface (ZUI) is that visual content must be displayed at different resolutions when the user zooms. The ideal solution to this problem should be to display an accurate newly calculated image based on the underlying visual content at every successive frame. The problem with such an approach is that the exact recalculation of each resolution of the visual content in real time as the user zooms is computationally impractical when the underlying visual content is complex It is.

前述の結果として、従来技術のZUIシステムは、それぞれが同一のビジュアルコンテンツの異なる解像度での表現である複数の事前計算されたイメージを使用する。我々は、これらの異なる事前計算されたイメージのそれぞれを、詳細レベル(LOD)と称する。概念上は減少する解像度のイメージのスタックとして編成される、LODの完全なセットを、LODピラミッドと称する。図10を参照されたい。そのような従来技術のシステムでは、ズームが発生するときに、システムは、LODの間で補間し、結果のイメージを所望の解像度で表示する。この手法は、計算的問題を解決しはするが、しばしばぼけて、非現実的であり、異なるLODの補間を表すという事実に起因してしばしば情報の消失を伴う、最終的な損なわれたイメージを表示する。これらの補間誤差は、ユーザがズームを停止し、どのLODの解像度とも正確には一致しない選択された解像度で静止イメージを見る機会を得るときに特に顕著である。   As a result of the foregoing, prior art ZUI systems use multiple pre-computed images, each representing a different resolution of the same visual content. We call each of these different pre-computed images a level of detail (LOD). A complete set of LODs, organized conceptually as a stack of decreasing resolution images, is referred to as a LOD pyramid. Please refer to FIG. In such prior art systems, when zoom occurs, the system interpolates between LODs and displays the resulting image at the desired resolution. Although this approach solves the computational problem, it is often blurred and unrealistic, and ultimately the corrupted image, often due to the loss of information due to the fact that it represents a different LOD interpolation. Is displayed. These interpolation errors are particularly noticeable when the user stops zooming and gets the opportunity to view a still image at a selected resolution that does not exactly match the resolution of any LOD.

事前計算されたLODの間の補間に関するもう1つの問題は、この手法が、通常、ベクトルデータを写真データまたはイメージデータと同一の形で扱うことである。青写真または線画などのベクトルデータは、レンダリングアルゴリズムを使用して抽象命令のセットを処理することによって表示され、このレンダリングアルゴリズムは、すべての所望の解像度で直線、曲線、および他のプリミティブ形状をレンダリングすることができる。スケーラブルフォントを使用してレンダリングされるテキストが、ベクトルデータの重要なスペシャルケースである。イメージデータまたは写真データ(ビットマップフォントを使用してレンダリングされるテキストを含む)は、そのように生成されるのではなく、事前計算されたLODの間の補間によって、またはオリジナルイメージの再サンプリングによってのいずれかで表示されなければならない。この後者を、我々は非ベクトルデータと称する。   Another problem with interpolation between precomputed LODs is that this approach typically treats vector data in the same way as photographic or image data. Vector data such as blueprints or line drawings are displayed by processing a set of abstract instructions using a rendering algorithm, which renders straight lines, curves, and other primitive shapes at all desired resolutions can do. Text rendered using scalable fonts is an important special case of vector data. Image data or photo data (including text rendered using bitmap fonts) is not generated as such, but by interpolation between precomputed LODs or by resampling the original image Must be displayed in either We refer to this latter as non-vector data.

ズームシーケンス中にフレームごとに新しい解像度でベクトルデータを再表示するのにレンダリングアルゴリズムを使用する従来技術のシステムは、対話的フレームレートを達成するために、単純なベクトルドローイングだけにそれ自体を制約しなければならない。その一方で、ベクトルデータについてLODを事前計算し、それらの間で補間する従来技術のシステムは、非ベクトルデータに関して、ほとんどのベクトルデータレンディションに固有の鋭いエッジが、特に補間誤差に敏感なので、著しく劣化したビジュアル品質を欠点として持つ。この劣化は、ベクトルデータのスペシャルケースであるテキストコンテンツについて、通常は受け入れられない。   Prior art systems that use rendering algorithms to redisplay vector data at a new resolution for each frame during the zoom sequence constrain itself to only simple vector drawings to achieve interactive frame rates. There must be. On the other hand, prior art systems that pre-calculate LOD for vector data and interpolate between them, for non-vector data, the sharp edges inherent in most vector data renditions are particularly sensitive to interpolation errors, so It has a bad visual quality as a drawback. This degradation is usually unacceptable for text content that is a special case of vector data.

[非特許文献1]Lance Williams. "Pyramidal Parametrics," Computer Graphics (Proc. SIGGRAPH '83) 17(3): 1-11 (1983)
[発明の開示]
[発明が解決しようとする課題]
本発明の目的は、ユーザが実際に物理オブジェクトを見、その物理オブジェクトをそのユーザ自身のより近くに移動した場合にそのユーザが見るはずのズーム効果を複製するZUIを作成することである。
[Non-Patent Document 1] Lance Williams. "Pyramidal Parametrics," Computer Graphics (Proc. SIGGRAPH '83) 17 (3): 1-11 (1983)
[Disclosure of the Invention]
[Problems to be solved by the invention]
An object of the present invention is to create a ZUI that duplicates the zoom effect that a user would see if the user actually viewed the physical object and moved the physical object closer to the user himself.

本発明の目的は、適当な解像度でイメージを表示するが、最終的な表示されるイメージ内の補間誤差を避けるか減らすZUIを作成することである。本発明のもう1つの目的は、コンテンツの明快なぼけていないビューを維持し、対話的フレームレートを維持しながら、ユーザが、ベクトルコンテンツに任意にズームインできるようにすることである。   An object of the present invention is to create a ZUI that displays an image at an appropriate resolution, but avoids or reduces interpolation errors in the final displayed image. Another object of the present invention is to allow a user to arbitrarily zoom in on vector content while maintaining a clear, unblurred view of the content and maintaining an interactive frame rate.

本発明のもう1つの目的は、コンテンツの全体的外見を保存し、対話的フレームレートを維持しながら、複雑なベクトルコンテンツの概観を得るために、ユーザが任意にズームアウトできるようにすることである。   Another object of the present invention is to allow the user to arbitrarily zoom out to obtain an overview of complex vector content while preserving the overall appearance of the content and maintaining an interactive frame rate. is there.

本発明のもう1つの目的は、対話中のLODまたはレンディション品質の間の遷移のユーザによる知覚を減らすことである。   Another object of the present invention is to reduce user perception of transitions between interactive LOD or rendition quality.

本発明のもう1つの目的は、イメージの諸部分をレンダリングするのに通常は必要な情報がまだ不完全であるときに、ぼけによるイメージ品質のグレースフルデグラデーションを可能にすることである。   Another object of the present invention is to enable graceful degradation of image quality due to blur when the information normally required to render portions of an image is still incomplete.

本発明のもう1つの目的は、イメージの諸部分をレンダリングするのに必要なより完全な情報が使用可能になるときに、イメージによりシャープに焦点を合わせることによって、イメージ品質を漸進的に高めることである。   Another object of the present invention is to progressively increase image quality by focusing more sharply on the image as more complete information necessary to render portions of the image becomes available. It is.

本発明の目的は、ベクトルデータと非ベクトルデータとの両方を最適に独立にレンダリングすることである。   An object of the present invention is to optimally and independently render both vector data and non-vector data.

本発明の上記および他の目的は、次の明細書の再検討から当業者に明白になるであろう。   These and other objects of the present invention will become apparent to those skilled in the art from a review of the following specification.

[課題を解決するための手段]
従来技術の上記および他の問題は、本発明に従って克服され、本発明は、ユーザがズームインし、ズームアウトし、回転し、パンし、または他の形でイメージのそのユーザのビューを変更するときに、動的に変化する解像度でイメージを表示できるようにするZUIを実装するためのハイブリッド戦略に関する。ビューのそのようなすべての変化を、ナビゲーションと称する。事前定義のLODのどれの解像度とも等しくない解像度へのイメージのズームは、所望の解像度を「囲む」事前定義のLODから補間された新しい解像度でイメージを表示することによって達成される。「囲むLOD」とは、所望の解像度より高い最低の解像度のLODと、所望の解像度より低い最高の解像度のLODとを意味する。所望の解像度が、最高の使用可能な解像度を有するLODの解像度より高い、または最低の解像度を有するLODの解像度より低いのいずれかである場合には、単一の「囲むLOD」だけがある。事前計算されたLODのセットに基づく所望の解像度でのイメージの動的補間を、文献では、ミップマッピングまたはトライリニア補間と称する。後者の用語は、さらに、双一次サンプリングが、囲むLODを再サンプリングするのに使用され、これに、これらの再サンプリングされたLODの間の線形補間が続くことを示す(したがって、トライリニア)(例えば、非特許文献1参照)。前述の文書は、参照によってその全体を本明細書に組み込まれている。Williamsによって導入されたミップマッピング技法の明白な変更またはこれに対する拡張は、非線形再サンプリングおよび/または囲むLODの補間を使用する。本発明では、再サンプリング動作および補間動作がゼロ次(最近傍)、線形、より高次、またはより一般に非線形であるかどうかは重要でない。
[Means for solving problems]
The above and other problems of the prior art are overcome in accordance with the present invention, which allows the user to zoom in, zoom out, rotate, pan, or otherwise change that user's view of the image. In particular, it relates to a hybrid strategy for implementing a ZUI that allows images to be displayed at dynamically changing resolutions. All such changes in the view are referred to as navigation. Zooming the image to a resolution that is not equal to any resolution of the predefined LOD is accomplished by displaying the image at a new resolution interpolated from the predefined LOD that “surrounds” the desired resolution. “Enclosing LOD” means the lowest resolution LOD higher than the desired resolution and the highest resolution LOD lower than the desired resolution. If the desired resolution is either higher than the resolution of the LOD with the highest available resolution or lower than the resolution of the LOD with the lowest resolution, there is only a single “enclosing LOD”. Dynamic interpolation of an image at a desired resolution based on a precomputed set of LODs is referred to in the literature as mip mapping or trilinear interpolation. The latter term further indicates that bilinear sampling is used to resample the surrounding LODs, followed by linear interpolation between these resampled LODs (thus trilinear) ( For example, refer nonpatent literature 1). The foregoing document is incorporated herein by reference in its entirety. An obvious change or extension to the mip mapping technique introduced by Williams uses nonlinear resampling and / or interpolation of surrounding LODs. In the present invention, it is immaterial whether the resampling and interpolation operations are zero order (nearest neighbor), linear, higher order, or more generally non-linear.

本明細書で説明する発明によれば、ユーザが、正確な所望の解像度(この解像度が事前定義のLODのうちの1つの解像度であることはほとんど絶対にない)を定義するときに、最終イメージは、好ましくはまず中間最終イメージを表示することによって表示される。中間最終イメージは、本明細書で後で説明するようにイメージが洗練される前に、所望の解像度で表示される最初のイメージである。中間最終イメージは、従来技術を使用して所望の解像度で表示されるはずのイメージに対応するものとすることができる。   In accordance with the invention described herein, when the user defines the exact desired resolution (this resolution is almost never one of the predefined LODs), the final image Is preferably displayed by first displaying the intermediate final image. The intermediate final image is the first image displayed at the desired resolution before the image is refined as described later herein. The intermediate final image may correspond to the image that should be displayed at the desired resolution using conventional techniques.

好ましい実施形態では、中間最終イメージから最終イメージへの遷移は、下で詳細に説明するように漸進的とすることができる。   In a preferred embodiment, the transition from the intermediate final image to the final image can be gradual as described in detail below.

機能強化された実施形態では、本発明は、下でより詳細に説明するように、無理数増分(すなわち、2つの整数の比として表すことができない、連続するLODの間の拡大率または縮小率)を含む任意の解像度増分でLODに間隔をおくことを可能にする。   In an enhanced embodiment, the present invention provides an irrational increment (ie, a scaling factor between successive LODs that cannot be expressed as a ratio of two integers, as described in more detail below. ) Allows the LOD to be spaced at any resolution increment.

もう1つの機能強化された実施形態では、各異なるLODのイメージの諸部分が、タイルと表され、そのようなタイルは、見る人へのすべての知覚される不完全を最小にする順序でレンダリングされる。他の実施形態では、表示されるビジュアルコンテンツは、複数のLOD(潜在的には上で説明した囲むLODのスーパーセット)からなり、これらのLODのそれぞれは、不完全を隠す形でディスプレイに最終イメージに徐々にフェードインさせるために、正しい比率で正しい位置に表示される。   In another enhanced embodiment, portions of each different LOD image are represented as tiles, and such tiles are rendered in an order that minimizes all perceived imperfections to the viewer. Is done. In other embodiments, the displayed visual content consists of a plurality of LODs (potentially a superset of the surrounding LODs described above), each of these LODs being finalized on the display in a manner that conceals imperfections. It is displayed in the correct position at the correct ratio to fade in the image gradually.

複数のLOD内の様々なタイルのレンディションは、本システムがほとんどのラップトップコンピュータおよびデスクトップパーソナルコンピュータで使用可能な通常のクロック速度を有する標準的なコンピュータで動作できるようにするために、受け入れられるレベルの計算的複雑さの中に留まりながら、ビジュアルコンテンツの外見を最適にする順序で達成される。   The renditions of various tiles in multiple LODs are accepted to allow the system to operate on standard computers with normal clock speeds that can be used on most laptop computers and desktop personal computers. Achieved in an order that optimizes the visual content appearance while remaining within the computational complexity of the levels.

本発明は、イメージがすばやいズームおよびパンの間には事前定義のLODを使用して表示されるが、ビューが十分に安定するときには、正確なLODがレンダリングされ、表示される、ハイブリッド戦略を用いる。正確なLODは、ユーザによって選択された正確な解像度でレンダリングされ、表示され、この解像度は、通常、事前定義のLODとは異なる。人間の視覚系は、ビジュアルコンテンツがまだ動いている間にはビジュアルコンテンツの微細な詳細に鈍感なので、このハイブリッド戦略は、はるかにより少ない計算を用いて連続的な「完全なレンダリング」という錯覚を生み出すことができる。   The present invention uses a hybrid strategy where the image is displayed using a predefined LOD during quick zoom and pan, but when the view is sufficiently stable, the exact LOD is rendered and displayed. . The exact LOD is rendered and displayed at the exact resolution selected by the user, and this resolution is usually different from the predefined LOD. Because the human visual system is insensitive to the fine details of visual content while the visual content is still moving, this hybrid strategy creates the illusion of continuous "perfect rendering" with much less computation be able to.

[発明を実施するための最良の形態]
図11に、本発明の実装の基本技法の流れ図を示す。図11の流れ図は、本発明の例示的実施形態を表し、イメージが初期解像度で表示されるときに実行を開始する。本発明を、クライアント/サーバモデルで使用することができるが、クライアントおよびサーバを、同一のマシン上または異なるマシン上としてもよいことに留意されたい。したがって、例えば、ホストコンピュータでリモートに格納された離散的なLODのセットを設けることができ、ユーザを、ローカルPCを介して前記ホストに接続することができる。利用される実際のハードウェアプラットフォームおよびシステムは、本発明にとってクリティカルではない。
[Best Mode for Carrying Out the Invention]
FIG. 11 shows a flow diagram of the basic technique of implementation of the present invention. The flowchart of FIG. 11 represents an exemplary embodiment of the present invention and begins execution when the image is displayed at the initial resolution. Note that although the invention can be used in a client / server model, the client and server may be on the same machine or on different machines. Thus, for example, a discrete set of LODs stored remotely at a host computer can be provided, and a user can be connected to the host via a local PC. The actual hardware platform and system utilized is not critical to the present invention.

この流れ図には、特定の解像度のイメージの初期ビューと共に開始ブロック241で入る。この例では、イメージは、静的と解釈される。そのイメージは、ブロック242で表示される。ユーザは、例えばコンピュータマウスを移動することによって、そのイメージをナビゲートすることができる。ブロック242で表示された初期ビューは、ユーザがそのイメージをナビゲートするときに変化する。基礎になるイメージ自体は、モーションビデオの場合など、動的とすることができるが、この例においては、イメージ自体は静的として扱われることに留意されたい。上で説明したように、表示されるすべてのイメージは、テキストデータもしくは他のベクトルデータならびに/または写真および他のイメージなどの非ベクトルデータを有することもできる。本発明および下の議論全体は、イメージがベクトルデータまたは非ベクトルデータあるいはその両方のどれを含むかにかかわりなく適用可能である。   The flow diagram is entered at start block 241 with an initial view of the image of a particular resolution. In this example, the image is interpreted as static. The image is displayed at block 242. The user can navigate the image, for example, by moving a computer mouse. The initial view displayed at block 242 changes as the user navigates the image. Note that the underlying image itself can be dynamic, such as in the case of motion video, but in this example the image itself is treated as static. As explained above, all displayed images can also have text data or other vector data and / or non-vector data such as photographs and other images. The present invention and the entire discussion below are applicable regardless of whether the image contains vector data or non-vector data or both.

ブロック242で表示されるビジュアルコンテンツのタイプにかかわりなく、この方法は、判断ポイント243に制御を転送し、この判断ポイント243では、ナビゲーション入力を検出することができる。そのような入力が検出されない場合には、この方法は、ブロック242にループバックし、静止ビジュアルコンテンツの表示を継続する。ナビゲーション入力が検出される場合には、制御は、図示のようにブロック244に転送される。   Regardless of the type of visual content displayed at block 242, the method transfers control to decision point 243, which can detect navigation input. If no such input is detected, the method loops back to block 242 and continues to display still visual content. If navigation input is detected, control is transferred to block 244 as shown.

判断ポイント243は、移動を検出する特定の信号を探すソフトウェアの連続ループ、ハードウェアの割込みシステム、または任意の他の所望の方法論によって実装することができる。ナビゲーション要求を検出し、分析するのに利用される特定の技法は、本発明にとってクリティカルではない。使用される方法論にかかわりなく、本システムは、要求を検出することができ、したがって、イメージをナビゲートする望みを示すことができる。本明細書の議論の多くは、ズームに関するが、これらの技法が、ズーム、パン、または他の形のナビゲートに適用可能であることに留意されたい。実際に、本明細書で説明される技法は、すべてのタイプの動的変換またはイメージ上の遠近法での変化に適用可能である。そのような変換には、例えば、3次元の平行移動および回転、イメージフィルタの適用、ローカルストレッチング、イメージの選択された領域に適用される動的空間的歪み、またはより多くの情報を明らかにする可能性があるすべての他の種類の歪みを含めることができる。もう1つの例は、イメージの上で移動することができ、イメージ内で仮想拡大鏡の下の部分を拡大する仮想拡大鏡である。判断ポイント243が、ユーザがナビゲーションを開始しようとしていることを検出するときに、ブロック244が、イメージの新しいビューをレンダリングし、表示し、この新しいビューは、例えば、前の表示されたビューと異なる解像度であってもよい。   Decision point 243 may be implemented by a continuous loop of software looking for a specific signal to detect movement, a hardware interrupt system, or any other desired methodology. The particular technique utilized to detect and analyze navigation requests is not critical to the present invention. Regardless of the methodology used, the system can detect the request and thus indicate the desire to navigate the image. Although much of the discussion herein relates to zooming, it should be noted that these techniques are applicable to zooming, panning, or other forms of navigation. Indeed, the techniques described herein are applicable to all types of dynamic transformations or perspective changes on the image. Such transformations reveal, for example, three-dimensional translation and rotation, application of image filters, local stretching, dynamic spatial distortion applied to selected areas of the image, or more information All other types of distortion that could be included. Another example is a virtual magnifying glass that can move over the image and magnify the lower part of the virtual magnifying glass within the image. When decision point 243 detects that the user is about to begin navigation, block 244 renders and displays a new view of the image, which is different from, for example, the previously displayed view. Resolution may be used.

新しいビューを表示する1つの単純な従来技術の技法は、ユーザがズームインまたはズームアウトするときにLODを補間することに基づく。選択されるLODは、所望の解像度すなわち新しいビューの解像度を「囲む」2つのLODとすることができる。補間は、従来のシステムでは、ユーザがズームするときにコンスタントに発生し、したがって、しばしば、速度を達成するために直接にハードウェアで実装される。判断ポイント245での動きの検出と、ブロック244での適当な補間されたイメージの実質的に即座の表示との組合せは、ユーザがナビゲートするときにイメージが連続的にズームして見えることをもたらす。ズームインまたはズームアウトの間には、イメージが動きつつあるので、補間されたイメージは、現実的で明瞭に見えるのに十分である。補間誤差は、イメージのコンスタントに変化するビューによって隠されるので、人間の視覚系によって最小限に検出可能であるに過ぎない。   One simple prior art technique for displaying a new view is based on interpolating the LOD as the user zooms in or out. The selected LODs can be two LODs that “enclose” the desired resolution, ie the resolution of the new view. Interpolation occurs constantly in conventional systems when the user zooms, and is therefore often implemented directly in hardware to achieve speed. The combination of motion detection at decision point 245 and a substantially immediate display of the appropriate interpolated image at block 244 ensures that the image appears to continuously zoom as the user navigates. Bring. Since the image is moving during zooming in or out, the interpolated image is sufficient to look realistic and clear. Interpolation errors are hidden by a constantly changing view of the image and are therefore only minimally detectable by the human visual system.

判断ポイント245では、本システムは、動きが実質的に止まったか否かをテストする。これは、例えばビューの1つまたは複数のパラメータの変化のレートを測定することを含む、様々な技法を使用して達成することができる。すなわち、この方法論は、ユーザが、ズームを完了した点に達したか否かを確かめる。判断ポイント245でのそのような安定化のときに、制御は、ブロック246に転送され、このブロック246で、正確なイメージがレンダリングされ、その後、制御はブロック243に戻る。したがって、すべての所望の解像度で、本システムは、正確なLODを最終的に表示する。   At decision point 245, the system tests whether the movement has substantially stopped. This can be achieved using various techniques including, for example, measuring the rate of change of one or more parameters of the view. That is, the methodology ascertains whether the user has reached a point where zooming has been completed. Upon such stabilization at decision point 245, control is transferred to block 246, where the correct image is rendered, and then control returns to block 243. Thus, at all desired resolutions, the system eventually displays an accurate LOD.

特筆すべきことに、表示は、2つの事前定義のLODの補間によって単純にレンダリングされ、表示されるのではなく、初期ビューがブロック242で表示されたときにテキストデータまたは他のベクトルデータをレンダリングするのに使用されたオリジナルアルゴリズムを使用してベクトルデータを再レンダリングすることによってレンダリングし、表示することができる。非ベクトルデータを、正確な要求されたLODでのレンダリングおよび表示のために再サンプリングすることもできる。要求された再レンダリングまたは再サンプリングは、所望の解像度での表示に必要な正確な解像度だけではなく、所望のビューに基づいて計算される、基礎になるコンテンツに対する相対的なディスプレイピクセルの正しい位置に正確に対応するサンプリンググリッド上でも実行することができる。例として、ディスプレイ上のイメージのディスプレイ平面内での1/2ピクセルの平行移動は、必要な解像度を変化させないが、サンプリンググリッドを変更し、したがって、正確なLODの再レンダリングまたは再サンプリングを必要とする。   Notably, the display is simply rendered by interpolation of two predefined LODs, not rendered, but instead renders text data or other vector data when the initial view is displayed at block 242. Can be rendered and displayed by re-rendering the vector data using the original algorithm used to do this. Non-vector data can also be resampled for rendering and display at the exact required LOD. The requested re-rendering or re-sampling is not only the exact resolution required for display at the desired resolution, but also the correct position of the display pixel relative to the underlying content, calculated based on the desired view. It can also be performed on a precisely corresponding sampling grid. As an example, a ½ pixel translation in the display plane of the image on the display does not change the required resolution, but changes the sampling grid and therefore requires accurate LOD re-rendering or resampling. To do.

図11の前述のシステムは、ビューが変化している(例えば、ナビゲーションが行われている)間には事前定義のLODに基づく補間が利用されるが、ビューが実質的に静止状態になるときには正確なビューがレンダリングされ、表示される、ハイブリッド手法を表す。   The aforementioned system of FIG. 11 uses pre-defined LOD-based interpolation while the view is changing (eg, navigation is taking place), but when the view is substantially stationary. Represents a hybrid approach where an accurate view is rendered and displayed.

本明細書での説明において、「レンダリングする」とは、ベクトルデータまたは非ベクトルデータに基づく特定のLODでのタイルのコンピュータによる生成を指す。非ベクトルデータに関して、より高いまたはより低い解像度でオリジナルのイメージを再サンプリングすることによって、これらの非ベクトルデータを任意の解像度で再レンダリングすることができる。   In the description herein, “rendering” refers to the computer generation of tiles in a particular LOD based on vector data or non-vector data. For non-vector data, these non-vector data can be re-rendered at any resolution by re-sampling the original image at a higher or lower resolution.

ここで、図11のブロック246によって表される正確な最終イメージを達成するのに必要なビジュアルコンテンツの異なる部分をレンダリングし、表示する方法論に移る。図12を参照すると、ナビゲーションが止まったと判定されるときに、制御は、ブロック333に転送され、補間されたイメージが、ズーム中の場合と同様に、即座に表示される。我々は、ナビゲーションが止まった後に一時的に表示され得るこの補間されたイメージを、中間最終イメージまたは単に中間イメージと呼ぶ。このイメージは、囲むLODの補間から生成される。いくつかの場合に、下でより詳細に説明するように、中間イメージは、3つ以上の離散LODから、または所望の解像度を囲むLOD以外の2つの離散LODから補間される場合がある。   We now move on to a methodology for rendering and displaying the different parts of the visual content necessary to achieve the correct final image represented by block 246 in FIG. Referring to FIG. 12, when it is determined that navigation has stopped, control is transferred to block 333 and the interpolated image is immediately displayed as if it were zoomed. We refer to this interpolated image that can be temporarily displayed after navigation stops as the intermediate final image or simply the intermediate image. This image is generated from interpolation of the surrounding LOD. In some cases, as described in more detail below, the intermediate image may be interpolated from more than two discrete LODs or from two other discrete LODs that surround the desired resolution.

中間イメージを表示したならば、ブロック334に入り、このブロック334は、そのイメージに、我々が最終イメージと呼ぶそのイメージの正確なレンディションに向かって漸進的にフェードし始めさせる。最終イメージは、最終イメージがどの事前定義のLODの補間をも伴わない場合があるという点で、中間イメージと異なる。代わりに、最終イメージまたはその諸部分は、新たにレンダリングされるタイルを含むことができる。写真データの場合には、新たにレンダリングされるタイルを、オリジナルデータの再サンプリングに由来するものとすることができ、ベクトルデータの場合には、新たにレンダリングされるタイルを、所望の解像度でのラスタライゼーションに由来するものとすることができる。   Once the intermediate image has been displayed, block 334 is entered, which causes the image to begin to fade progressively toward the exact rendition of the image we call the final image. The final image differs from the intermediate image in that the final image may not involve any predefined LOD interpolation. Instead, the final image or portions thereof can include newly rendered tiles. In the case of photographic data, the newly rendered tiles can be derived from resampling of the original data, and in the case of vector data, the newly rendered tiles are taken at the desired resolution. It can be derived from rasterization.

ブロック333から335に直接にスキップし、補間されたイメージを最終的な正確なイメージに即座に置換することが可能であることにも留意されたい。しかし、好ましい実施形態では、ステップ334が実行され、したがって、中間最終イメージから最終イメージへの切替えは、漸進的に滑らかに行われる。この漸進的フェードは、時々ブレンディングと呼ばれるが、ナビゲーションが止まるときにイメージに漸進的に焦点が合うようにさせ、カメラまたは他の光学機器のオートフォーカスに似た効果を生み出す。この効果によって作成される身体性の錯覚は、本発明の重要な態様である。   Note also that it is possible to skip directly from blocks 333 to 335 and immediately replace the interpolated image with the final accurate image. However, in the preferred embodiment, step 334 is performed, so the transition from the intermediate final image to the final image is made progressively smooth. This gradual fade, sometimes referred to as blending, causes the image to gradually focus when navigation stops, creating an effect similar to the autofocus of a camera or other optical device. The physical illusion created by this effect is an important aspect of the present invention.

次は、イメージ内の知覚される不規則性、突然の変化、継ぎ目、および他の不完全を最小にするために、このフェードまたはブレンディングを行うことができる形の議論である。しかし、フェードの特定の技法が、本発明にとってクリティカルではなく、多数の変形形態が、当業者に明白であろうことを理解されたい。   The following is a discussion of how this fade or blending can be done to minimize perceived irregularities, sudden changes, seams, and other imperfections in the image. However, it should be understood that the particular technique of fading is not critical to the present invention and numerous variations will be apparent to those skilled in the art.

異なるLODは、基礎になるビジュアルコンテンツの物理的面積あたりのサンプル数において異なる。したがって、第1LODが、見えるオブジェクトの1インチ(25.4mm)×1インチ(25.4mm)の面積を占め、単一の32×32サンプルタイルを生成する場合がある。しかし、この情報を、同一の1インチ(25.4mm)×1インチ(25.4mm)の面積をとり、これを64×64サンプルであるタイルとして、したがってより高い解像度で表現することによって、レンダリングすることもできる。   Different LODs differ in the number of samples per physical area of the underlying visual content. Thus, the first LOD may occupy a 1 inch (25.4 mm) x 1 inch (25.4 mm) area of visible object and produce a single 32 x 32 sample tile. However, rendering this information by taking the same 1 inch (25.4 mm) x 1 inch (25.4 mm) area and representing it as a tile that is 64 x 64 samples, and therefore at a higher resolution. You can also

我々は、無理数タイリングと呼ばれる概念を定義する。タイリング粒度は、変数gとして記述されるが、次に低い解像度のLODの直線タイリンググリッドサイズに対する、より高い解像度のLODの直線タイルグリッドサイズの比として定義される。トライリニア補間を紹介するWilliamsの論文では、g=2である。gのこの同一の値が、他の従来技術で使用されてきた。LODは、任意の形でタイルに副分割され得るが、例示的実施形態では、各LODは、一定の個数のサンプルを含む正方形または長方形のタイルのグリッドに副分割される(ビジュアルコンテンツのエッジで必要な場合を除く)。概念上、g=2のときに、あるLODの各タイルは、図13に示されているように、次に高い解像度のLODで2×2=4個のタイルに「分割」される(やはり、潜在的にエッジを除く)。   We define a concept called irrational tiling. The tiling granularity, described as the variable g, is defined as the ratio of the higher resolution LOD linear tile grid size to the next lower resolution LOD linear tiling grid size. In the Williams paper introducing trilinear interpolation, g = 2. This same value of g has been used in other prior art. The LOD may be subdivided into tiles in any way, but in the exemplary embodiment, each LOD is subdivided into a grid of square or rectangular tiles containing a certain number of samples (at the edge of the visual content). Unless necessary). Conceptually, when g = 2, each tile in a LOD is “split” into 2 × 2 = 4 tiles in the next higher resolution LOD as shown in FIG. , Potentially excluding edges).

粒度2のタイリングには、根本的な欠点がある。通常、ユーザが、タイル内のランダムな点にズームインする場合に、ズームにおけるすべてのg倍の増加は、ユーザがそれに向かってズームしている点の付近の次に高い解像度のLODに対応する単一の追加タイルのレンディションを必要とする。しかし、ユーザが、タイリンググリッド内のグリッド線にズームインしている場合には、その線の両側で1つずつの、2つの新しいタイルがレンダリングされる必要がある。最後に、ユーザが、2つのグリッド線の交差点にズームインしている場合には、4つの新しいタイルがレンダリングされる必要がある。これらのイベント(各g倍ズームに伴って1つ、2つ、または4つの新しいタイルを必要とする)が、長いズームシーケンス全体にわたってランダムに散在する場合には、全体的な性能は、一貫したものになる。しかし、すべての整数粒度タイリング(すなわち、gが整数である場合)のグリッド線は、すべてのより高い解像度のLODについてグリッド線のままになる。   There are fundamental drawbacks to tiling with a particle size of 2. Typically, when the user zooms in on a random point in the tile, every g-fold increase in zoom is simply a corresponding to the next higher resolution LOD near the point that the user is zooming towards it. Requires one additional tile rendition. However, if the user is zoomed in on a grid line in the tiling grid, two new tiles need to be rendered, one on each side of the line. Finally, if the user is zoomed in on the intersection of two grid lines, four new tiles need to be rendered. If these events (requiring one, two, or four new tiles with each g-zoom zoom) are randomly scattered throughout the long zoom sequence, the overall performance is consistent. Become a thing. However, the grid lines for all integer granularity tilings (ie when g is an integer) will remain grid lines for all higher resolution LODs.

例えば、粒度2でタイリングされた非常に大きいイメージの中心へのズームインを考慮されたい。我々は、ビジュアルコンテンツが角(0,0)、(0,1)、(1,0)、および(1,1)を有する正方形に含まれるという規約を採用して、この点の(x,y)座標を(1/2,1/2)と書く。中心は、2つのグリッド線の交差点にあるので、ユーザが各より高い解像度のLODに達するときに、4つの新しいタイルが、毎回レンダリングされる必要があり、これは、この特定の点でのズームに関する遅い性能および非効率性をもたらす。その一方で、ユーザが、無理数点(xおよびyを2つの整数の比として表現することができないグリッド点(x,y)を意味する)にズームインすると想定されたい。そのような数の例が、パイ(=3.14159...)および2の平方根(=1.414213...)である。次に、すべてのg倍のズームについてレンダリングされる必要があるタイルの個数によって与えられる1、2、および4のシーケンスが、擬似ランダムである、すなわち、周期的なパターンに従わないことを、簡単に実証することができる。この種の擬似ランダムシーケンスは、性能の観点から明らかにより望ましく、性能の観点からは、ズームに関する区別される点はない。   For example, consider zooming in on the center of a very large image tiled with granularity 2. We have adopted the convention that visual content is contained in a square with corners (0,0), (0,1), (1,0), and (1,1), and (x, y) Write the coordinates as (1/2, 1/2). Since the center is at the intersection of the two grid lines, when the user reaches each higher resolution LOD, four new tiles need to be rendered each time, which is the zoom at this particular point. Results in slow performance and inefficiencies. On the other hand, assume that the user zooms in on an irrational point (meaning a grid point (x, y) that cannot be expressed as a ratio of two integers). Examples of such numbers are pie (= 3.141459 ...) and the square root of 2 (= 1.414213 ...). Next, it is easy to see that the sequence of 1, 2, and 4 given by the number of tiles that need to be rendered for all zooms of g times is pseudo-random, ie does not follow a periodic pattern. Can be demonstrated. This type of pseudo-random sequence is clearly more desirable from a performance standpoint, and there is no distinction regarding zoom from a performance standpoint.

無理数タイリングは、この問題を解決する。g自体は、無理数、通常は3、5、または12の平方根になるようにされる。これは、所与のLODでの平均3個、5個、または12個のタイル(gに対応して)が、次に低い解像度のLODの単一のタイル内に含まれることを意味するが、連続するLODでのタイリンググリッドは、もはや、この方式ではどのグリッド線とも「一致」しないことに留意されたい(潜在的に、ビジュアルコンテンツの先頭のエッジすなわちx=0およびy=0と、各軸に沿ったある他の事前に選択された単一のグリッド線を除く)。gが、どの整数のn乗根でもなくなるように選択される(パイはそのような数である)場合には、どのLODも、グリッド線をまったく共有しない(やはり、潜在的にx=0およびy=0を除く)。したがって、各タイルが、次に低いLODで1個、2個、または4個のタイルにランダムにオーバーラップすることができることを示すことができるが、g=2では、この個数が必ず1である。   Irrational tiling solves this problem. g itself is made to be an irrational number, usually the square root of 3, 5, or 12. This means that an average of 3, 5, or 12 tiles (corresponding to g) at a given LOD is contained within a single tile of the next lower resolution LOD. Note that tiling grids in successive LODs no longer “match” any grid lines in this manner (potentially the leading edge of visual content, ie x = 0 and y = 0, Except for some other pre-selected single grid line along each axis). If g is chosen to be no nth root of any integer (pie is such a number), no LOD shares any grid lines (again, potentially x = 0 and except y = 0). Thus, it can be shown that each tile can randomly overlap one, two, or four tiles with the next lowest LOD, but this number is always 1 for g = 2. .

したがって、無理数タイリング粒度を用いると、任意の点へのズームインは、1個、2個、または4個のタイルの要求の擬似ランダムストリームを作り、性能は、どこにズームインするときであっても平均して均一になる。おそらく、無理数タイリングの最大の利益は、深いズームの後のパンに関連して現れる。ユーザが、深くズームインした後にイメージをパンするときには、ある点で、グリッド線が、ディスプレイ上で移動される。通常は、このグリッド線の他方の側の領域が、ディスプレイの残りより低い解像度のLODに対応することになるが、これらの解像度の間の差は、できる限り小さいことが望ましい。しかし、整数のgを用いると、この差は、グリッド線が多数の連続するLODにまたがってオーバーラップし得るので、しばしば極端に大きくなる。これは、図15(a)に示されている、ノード領域にまたがる解像度の「深い亀裂」を生み出す。   Thus, with irrational tiling granularity, zooming in on any point creates a pseudo-random stream of one, two, or four tile requests and the performance is no matter where you zoom in It becomes uniform on average. Perhaps the greatest benefit of irrational tiling appears in relation to panning after deep zooming. When the user pans the image after deep zooming in, at some point the grid lines are moved on the display. Normally, the area on the other side of this grid line will correspond to a lower resolution LOD than the rest of the display, but the difference between these resolutions should be as small as possible. However, using an integer g, this difference is often extremely large since grid lines can overlap across many consecutive LODs. This creates a resolution “deep crack” that spans the node region, as shown in FIG.

その一方で、無理数タイリングのグリッド線は、隣接するLODのグリッド線と絶対にオーバーラップしない(やはり、イメージの1つの角にあるものとすることができる、各方向で1つのグリッド線という可能な例外がある)ので、複数のLODの解像度の不連続性は、発生しない。相対解像度におけるこの高められた滑らかさは、空間的な連続性の錯覚をはるかに説得力のあるものにすることを可能にする。   On the other hand, irrational tiling grid lines never overlap with adjacent LOD grid lines (again, one grid line in each direction, which can be at one corner of the image). Since there are possible exceptions), discontinuities in resolution of multiple LODs do not occur. This increased smoothness in relative resolution allows the illusion of spatial continuity to be much more compelling.

図15(b)に、無理数タイリング粒度によって得られる利益を示す。図15は、ビジュアルコンテンツの複数のLODを通る断面を示し、各棒は、長方形タイルの断面を表す。したがって、上から2番目のレベルは、2つの棒があるが、2×2=4タイルLODとすることができる。最上部から最下部まで描かれた曲線631は、ズーム動作中の関連するLODでのビジュアルコンテンツの可視領域の境界を表し、解像度が高められる(より多くの詳細を明らかにするためにズームインする)ときには、検査中の面積が減る。より暗い色の棒(例えば、632)は、ズームの過程で既にレンダリングされているタイルを表す。より明るい色の棒は、まだレンダリングされておらず、したがって、表示することができない。タイリングが、図15(a)に示されているように整数的であるときには、空間にまたがる解像度の不意の変化が、一般的であり、ユーザがズームの直後にパンする場合には、矢印によって示される空間的境界で、4つのLODが不意に「終わる」ことに留意されたい。この結果のイメージは、この境界の左側では鋭く見えるが、右側では極端にぼけて見える。無理数タイリング粒度を使用して表された同一のビジュアルコンテンツは、そのような解像度の「亀裂」がなく、隣接するLODは、左のエッジに示されたものを除いて、タイル境界を共有しない。数学的には、この共有される境界は、多くとも、x軸上の1つの位置およびy軸上の1つの位置で発生し得る。図示の実施形態では、この共有される境界が、y=0およびx=0に位置決めされているが、存在する場合に、これらを、任意の他の位置に置くこともできる。   FIG. 15 (b) shows the benefits obtained by irrational tiling granularity. FIG. 15 shows a cross section through multiple LODs of visual content, where each bar represents a cross section of a rectangular tile. Therefore, the second level from the top has 2 bars, but can be 2 × 2 = 4 tile LOD. Curve 631, drawn from top to bottom, represents the boundaries of the visible content of the visual content at the associated LOD during the zoom operation, increasing the resolution (zoom in to reveal more details). Sometimes the area under inspection decreases. Darker colored bars (eg, 632) represent tiles that have already been rendered during the zoom process. The lighter colored bars have not yet been rendered and therefore cannot be displayed. When tiling is integer as shown in FIG. 15 (a), an unexpected change in resolution across space is common, and if the user pans immediately after zooming, the arrow Note that the four LODs unexpectedly “finish” at the spatial boundary indicated by. The resulting image looks sharp on the left side of this boundary, but appears extremely blurred on the right side. Identical visual content represented using irrational tiling granularity does not have such a “crack” of resolution, and adjacent LODs share tile boundaries except those shown on the left edge do not do. Mathematically, this shared boundary can occur at most at one location on the x-axis and one location on the y-axis. In the illustrated embodiment, this shared boundary is positioned at y = 0 and x = 0, but if present, they can be placed in any other location.

無理数タイリング粒度のもう1つの利益は、特にgが大きすぎない有用な範囲にわたって、整数よりはるかに多数の無理数があるので、無理数タイリング粒度がgのより微細な制御を可能にすることである。この追加の自由は、ある種のアプリケーションのズーム性能をチューニングするのに有用である可能性がある。gに、整数の無理数平方根(sqrt(2)、sqrt(5)、またはsqrt(8)など)がセットされる場合に、上で説明した実施形態では、交互のLODのグリッド線が、正確に位置合せされるはずであり、gが無理数三乗根である場合には、3つおきのLODが、正確に位置合せされるはずであり、以下同様である。これは、下で定義される合成タイルの複雑さを制限することに関する追加の利益を与える。   Another benefit of irrational tiling granularity is that there are far more irrational numbers than integers, especially over a useful range where g is not too large, so irrational tiling granularity allows finer control of g. It is to be. This additional freedom may be useful for tuning the zoom performance of certain applications. When g is set to an integer irrational square root (such as sqrt (2), sqrt (5), or sqrt (8)), in the embodiment described above, alternating LOD grid lines are accurate If g is an irrational cube root, every third LOD should be correctly aligned, and so on. This provides an additional benefit related to limiting the complexity of the composite tile defined below.

本発明の重要な態様は、タイルがレンダリングされる順序である。より具体的に言うと、様々なLODの様々なタイルは、すべての可視タイルが最初にレンダリングされるように、最適にレンダリングされる。非可視タイルは、まったくレンダリングされない場合がある。可視タイルのセット内で、レンディションは、高まる解像度の順序で進行し、その結果、低解像度LOD内のタイルが、最初にレンダリングされるようになる。どの特定のLODの中であっても、タイルは、ディスプレイの中心からの増加する距離の順序でレンダリングされ、我々は、これをフォービエイテッド(foveated)レンダリングと称する。そのようなタイルを説明された順序でソートするために、ヒープソート、クイックソート、または他のソートなどの多数のソートアルゴリズムを使用することができる。この順序付けを実装するために、辞書式キーを、「要求」をソートするのに使用して、タイルをレンダリングすることができ、外側のサブキーが可視性、中央のサブキーが物理単位あたりのサンプル内の解像度、内側のサブキーがディスプレイの中心までの距離になる。タイルレンダリング要求を順序付ける他の方法も、使用することができる。タイルの実際のレンダリングは、本明細書に記載のナビゲーションおよび表示と共に並列プロセスとして最適に行われる。レンダリングおよびナビゲーション/表示が並列プロセスとして進行するときには、ユーザ応答性は、タイルのレンダリングが遅いときであっても高いままになる可能性がある。   An important aspect of the present invention is the order in which tiles are rendered. More specifically, different tiles of different LODs are optimally rendered so that all visible tiles are rendered first. Invisible tiles may not be rendered at all. Within the set of visible tiles, renditions proceed in increasing resolution order so that tiles in the low resolution LOD are rendered first. Within any particular LOD, tiles are rendered in order of increasing distance from the center of the display, we refer to this as a focused rendering. A number of sorting algorithms such as heap sorting, quick sorting, or other sorting can be used to sort such tiles in the order described. To implement this ordering, lexicographic keys can be used to sort "requests" and tiles can be rendered with the outer subkey being visible and the middle subkey being in samples per physical unit. Resolution, the inner subkey is the distance to the center of the display. Other methods of ordering tile rendering requests can also be used. The actual rendering of the tiles is best performed as a parallel process with the navigation and display described herein. When rendering and navigation / display proceed as a parallel process, user responsiveness may remain high even when tile rendering is slow.

ここで、例示的実施形態でタイルをレンダリングするプロセスを説明する。あるタイルが、ストロークベースフォントのアルファベット活版印刷などのベクトルデータを表す場合に、このタイルのレンダリングは、アルファベットデータをラスタライズするアルゴリズムを実行することと、おそらくはそのデータをクライアントからサーバに送信することとを伴う。あるいは、ラスタライゼーションアルゴリズムに供給されるデータを、クライアントに送信することができ、クライアントは、タイルをラスタライズするアルゴリズムを実行することができる。もう1つの例で、デジタルサンプリングされた写真データを伴うタイルのレンダリングは、適当なLODでタイルを生成するためにそのデータを再サンプリングすることを用いることができる。事前に格納される離散LODについて、レンダリングは、後の表示のためにクライアントコンピュータにタイルを単純に送信することだけを用いることができる。最終イメージ内のタイルなど、離散LODの間に含まれるタイルについて、上で説明した、あるさらなる計算が必要になる場合がある。   The process of rendering tiles in an exemplary embodiment will now be described. If a tile represents vector data, such as alphabetic typography for stroke-based fonts, rendering this tile executes an algorithm that rasterizes the alphabetic data and possibly sends that data from the client to the server. Accompanied by. Alternatively, data supplied to the rasterization algorithm can be sent to the client, which can execute an algorithm to rasterize the tiles. In another example, rendering a tile with digitally sampled photographic data can be used to resample that data to generate a tile with an appropriate LOD. For pre-stored discrete LODs, rendering can only use simple transmission of tiles to the client computer for later display. For tiles that are included during discrete LODs, such as tiles in the final image, some further calculations as described above may be required.

どの所与のときでも、タイルがレンダリングされ、イメージが正確なイメージに向かってフェードし始めるときに、実際のディスプレイには、異なるLODからの異なるタイルの異なる混合物が含まれる可能性がある。したがって、ディスプレイの任意の部分に、例えばLOD 1からの20%、LOD 2からの40%、およびLOD 3からの40%が含まれる可能性がある。表示されるタイルにかかわりなく、本アルゴリズムは、表示用にレンダリングされたタイルをそれが最も必要とされるときに供給するのに最も適する優先順序で、様々なLODからのタイルをレンダリングすることを試みる。レンダリングされたタイルの実際の表示は、図14に関して後でより詳細に説明する。   At any given time, when a tile is rendered and the image begins to fade towards the correct image, the actual display may contain a different mixture of different tiles from different LODs. Thus, any portion of the display may include, for example, 20% from LOD 1, 40% from LOD 2, and 40% from LOD 3. Regardless of the tiles that are displayed, the algorithm will render tiles from various LODs in a priority order that is best suited to supply tiles rendered for display when they are most needed. Try. The actual display of the rendered tile will be described in more detail later with respect to FIG.

次では、イメージ詳細の空間的および時間的連続性を保証できるアルゴリズムを使用して複数のLODを描く方法を説明する。このアルゴリズムは、同一のディスプレイ領域をカバーするより低い解像度のタイルに優先して高解像度タイルを使用し、なおかつ、LODの間の鋭い境界を避けるために空間的ブレンディングを使用し、より高い詳細が使用可能になる場合に、そのときに(すなわち、より高い解像度のタイルがレンダリングされ終えたときに)そのより高い詳細をブレンドインするために時間的に累進的なブレンディング重みを使用して、すべてのレンダリングされたタイルを最もよく利用するように設計されている。従来技術と異なって、このアルゴリズムおよびその変形は、ディスプレイ上の所与の点で3つ以上のLODが一緒にブレンディングされることをもたらすことができ、ディスプレイ領域にまたがって滑らかに変化するブレンディング係数をもたらすこともでき、ユーザがナビゲートするのをやめた後であっても経時的に漸進的に変化するブレンディング係数をもたらすことができる。この例示的実施形態では、それでも、このアルゴリズムは、下で明白になるように、計算的に効率的であり、画像を部分的に透明なものとして、またはイメージ領域にまたがって変化する全体的な透明度を用いてレンダリングするのに使用することができる。   The following describes how to draw multiple LODs using an algorithm that can guarantee the spatial and temporal continuity of image details. This algorithm uses high resolution tiles over lower resolution tiles that cover the same display area, and uses spatial blending to avoid sharp boundaries between LODs, with higher details. When available, all at that time (ie when higher resolution tiles have been rendered), using temporally progressive blending weights to blend in that higher detail Designed to best utilize rendered tiles. Unlike the prior art, this algorithm and its variants can result in three or more LODs being blended together at a given point on the display, with a blending factor that varies smoothly across the display area. And a blending factor that gradually changes over time even after the user has stopped navigating. In this exemplary embodiment, the algorithm is nevertheless computationally efficient, as will become apparent below, and the overall variation of the image as partially transparent or across image regions. Can be used to render with transparency.

我々は、本明細書で合成タイル領域または単に合成タイルを定義する。合成タイルを定義するために、互いの上に積み重ねられたLODのすべてを考慮する。各LODは、それ自体のタイルグリッドを有する。合成グリッドは、すべてのLODからのすべてのグリッドを単一の平面に投影することによって形成される。合成グリッドは、異なるLODのすべてからのタイルの境界によって定義される、異なるサイズの様々な合成タイルから構成される。これを、図16に概念的に示す。図16は、すべてが同一のイメージを表す、3つの異なるLOD 701から703からのタイルを示す。LOD 701から703が、互いの上に積み重ねられていると想像することができる。その場合に、これらのLODのそれぞれの角750の位置を合わせ、互いの上に積み重ねた場合に、740によって表される領域は、730によって表される領域の内側になり、730および740によって表される領域は、720によって表される領域の内側になる。図16の領域710は、単一の「合成タイル」710があることを示す。合成タイルのそれぞれは、各フレーム中に検査され、フレームレートは、通常は毎秒10フレームを超えるものとすることができる。上で説明したように、このフレームレートが、必ずしもディスプレイリフレッシュレートではないことに留意されたい。   We define herein a composite tile region or simply a composite tile. To define a composite tile, consider all of the LODs stacked on top of each other. Each LOD has its own tile grid. A composite grid is formed by projecting all grids from all LODs onto a single plane. The composite grid is composed of various composite tiles of different sizes, defined by tile boundaries from all of the different LODs. This is conceptually illustrated in FIG. FIG. 16 shows tiles from three different LODs 701-703, all representing the same image. It can be imagined that LODs 701 to 703 are stacked on top of each other. In that case, when the corners 750 of each of these LODs are aligned and stacked on top of each other, the region represented by 740 will be inside the region represented by 730 and represented by 730 and 740. The area to be done is inside the area represented by 720. Region 710 in FIG. 16 indicates that there is a single “composite tile” 710. Each of the composite tiles is examined during each frame, and the frame rate can typically exceed 10 frames per second. Note that as explained above, this frame rate is not necessarily the display refresh rate.

図14に、タイルがレンダリングされるときにフレームバッファを更新するアルゴリズムの流れ図を示す。図14の配置は、フレームバッファが更新されるたびに、表示されるイメージ内のすべての合成タイルを操作することを意図されたものである。したがって、例えば、フレーム持続時間が1秒の1/20である場合に、スクリーン全体の合成タイルのそれぞれが、1秒の1/20のそれぞれの間に検査され、更新されることが好ましい。合成タイルが、図14のプロセスによって操作されるときには、合成タイルに、1つまたは複数のLOD内の関連するタイルが欠けている場合がある。図14のプロセスは、合成タイルがその中にあるすべての使用可能な重畳されたタイルの加重平均として各合成タイルを表示することを試みる。合成タイルは、すべての所与のLODで正確に1つのタイルに含まれる形で定義され、したがって、加重平均を、各LODの相対的な比率として表すことができることに留意されたい。このプロセスは、上で述べた最終イメージに向かってイメージに漸進的にフェードさせるために合成タイル内の各LODの適当な重みを判定することと、空間および時間にまたがって漸進的にこれらの重みを変更することとを試みる。   FIG. 14 shows a flowchart of an algorithm for updating the frame buffer when a tile is rendered. The arrangement of FIG. 14 is intended to manipulate all composite tiles in the displayed image each time the frame buffer is updated. Thus, for example, if the frame duration is 1/20 of a second, each of the composite tiles of the entire screen is preferably examined and updated during each 1/20 of a second. When a composite tile is manipulated by the process of FIG. 14, the composite tile may lack an associated tile in one or more LODs. The process of FIG. 14 attempts to display each composite tile as a weighted average of all available superimposed tiles within which the composite tile is located. Note that composite tiles are defined as being contained in exactly one tile for all given LODs, and thus the weighted average can be expressed as a relative proportion of each LOD. This process determines the appropriate weights for each LOD in the composite tile to progressively fade the image towards the final image described above, and progressively these weights over space and time. And try to change.

合成グリッドには、合成グリッド内のグリッド線のいずれかの交差点または角になるように定義された複数の頂点が含まれる。これらを、合成グリッド頂点と称する。我々は、LODごとに、各合成グリッド頂点で不透明度を定義する。この不透明度は、0.0と1.0との間の重みとして表すことができ、したがって、各頂点でのすべてのLOD重みの和は、イメージが完全に不透明になることが所望の結果である場合には1.0でなければならない。LODごとの各頂点での任意の特定のときの現在の重みは、メモリ内で維持される。   The composite grid includes a plurality of vertices defined to be any intersection or corner of the grid lines in the composite grid. These are referred to as composite grid vertices. We define opacity at each composite grid vertex for each LOD. This opacity can be expressed as a weight between 0.0 and 1.0, so the sum of all LOD weights at each vertex is the desired result that the image is completely opaque. In some cases it must be 1.0. The current weight at any particular time at each vertex per LOD is maintained in memory.

頂点重みを更新するアルゴリズムは、下で説明するように進行する。   The algorithm for updating the vertex weights proceeds as described below.

次の変数は、0.0と1.0との間の数になるように選択されるが、タイルごとにメモリ内で保持される:centerOpacity、各角のcornerOpacity(タイリングが長方形グリッドである場合に4個)、およびエッジごとのedgeOpacity(タイリングが長方形グリッドである場合に4個)。タイルが初めてレンダリングされるときには、真上でリストした、その不透明度のすべてに、通常は1.0がセットされる。   The following variables are selected to be a number between 0.0 and 1.0, but are kept in memory for each tile: centerOpacity, cornerOpacity at each corner (tiling is a rectangular grid 4) and edge Opacity per edge (4 if tiling is a rectangular grid). When a tile is first rendered, all of its opacity listed directly above is usually set to 1.0.

ドローイングパス中に、このアルゴリズムは、最高解像度LODから始めて、関連するLODごとに1回、合成タイリングをウォークスルーする。タイルごとの変数に加えて、このアルゴリズムは、次の変数を維持する:levelOpacityGridおよびopacityGrid。これらの変数の両方が、やはり0.0と1.0との間の数であり、合成タイリング内の頂点ごとに維持される。   During the drawing pass, the algorithm walks through composite tiling, starting with the highest resolution LOD, once for each associated LOD. In addition to the per-tile variables, this algorithm maintains the following variables: levelOpacityGrid and opacityGrid. Both of these variables are also numbers between 0.0 and 1.0 and are maintained for each vertex in the composite tiling.

このアルゴリズムは、最高解像度から最低解像度への順序で、次の動作を実行しながら各LODを順番にウォークスルーする。まず、0.0を、すべての頂点のlevelOpacityGridに割り当てる。次に、そのLODのレンダリングされたタイルごとに(いくつかのタイルがまだレンダリングされていない場合には、そのLODのタイルのセットのサブセットになる場合がある)、このアルゴリズムは、そのタイルのcenterOpacity値、cornerOpacity値、およびedgeOpacity値に基づいて、levelOpacityGridのうちでそのタイルに触れる部分を次のように更新する。   The algorithm walks through each LOD in turn, performing the following operations in order from highest resolution to lowest resolution. First, 0.0 is assigned to the levelOpacityGrid of all vertices. Then, for each rendered tile in that LOD (which may be a subset of the set of tiles in that LOD if some tiles have not yet been rendered), the algorithm uses the centerOpacity of that tile. Based on the value, the cornerOpacity value, and the edgeOpacity value, the part of the levelOpacityGrid that touches the tile is updated as follows.

頂点が完全にそのタイルの内側にある場合には、その頂点は、centerOpacityを使用して更新される。   If the vertex is completely inside the tile, the vertex is updated using centerOpacity.

頂点が、例えばそのタイルの左エッジにある場合には、その頂点は、左のedgeOpacityを用いて更新される。   If the vertex is at the left edge of the tile, for example, the vertex is updated using the left edgeOpacity.

頂点が、例えばその右上角にある場合には、その頂点は、右上のcornerOpacityを用いて更新される。   If the vertex is at the upper right corner, for example, the vertex is updated using the upper right cornerOpacity.

「更新」は、次を意味する。事前に存在するlevelOpacityGrid値が0.0より大きい場合には、新しい値に、現在の値またはこの変数がそれに更新されようとしている値のうちの最小値をセットする。事前に存在する値が0である(すなわち、この頂点がまだ操作されていない)場合には、levelOpacityGrid値に、この変数がそれに更新されようとしている値をセットする。最終的な結果は、各頂点位置のlevelOpacityGridに、この変数がそれに更新される最小の非ゼロ値がセットされることである。   “Update” means the following. If the pre-existing levelOpacityGrid value is greater than 0.0, the new value is set to the minimum of the current value or the value that this variable is about to be updated to. If the pre-existing value is 0 (ie, this vertex has not yet been manipulated), set the levelOpacityGrid value to the value that this variable is about to be updated to. The net result is that the levelOpacityGrid at each vertex position is set to the minimum non-zero value to which this variable is updated.

次に、このアルゴリズムは、levelOpacityGridをウォークスルーし、穴と称するまだレンダリングされていないタイルに接するすべての頂点に0.0をセットする。これは、ブレンディングの空間的連続性すなわち、合成タイルが穴に含まれる場合に、いつでも、現在のLODで、ドローイング不透明度が、その穴に接するすべての頂点で0にフェードしなければならないことを保証する。   The algorithm then walks through the levelOpacityGrid and sets 0.0 to all vertices that touch the unrendered tile, called the hole. This means that blending spatial continuity, that is, whenever a composite tile is included in a hole, the drawing opacity must fade to zero at all vertices that touch the hole at the current LOD. Guarantee.

機能強化された実施形態では、このアルゴリズムは、次に、levelOpacityGrid値を緩和して、LODブレンディングの空間的連続性をさらに改善する。これまでに説明した情況は、次のように描くことができる。すべての頂点は、テント支柱に類似し、その点でのlevelOpacityGridは、テント支柱の高さである。このアルゴリズムは、これまでに、穴に接するすべての点で、テント支柱がゼロの高さを有し、レンダリング済みのタイルの内側では、テント支柱にある(おそらくは)非ゼロ値がセットされることを保証している。極端な場合に、レンダリングされたタイルの内側のおそらくはすべての値に、1.0がセットされる。例示のために、レンダリングされたタイルが、まだレンダリングされた隣接タイルを有しておらず、したがって境界値が0.0であると仮定する。本明細書では、「マージン」が、0.0の境界テント支柱と1.0の内部テント支柱との間でどれほど狭いかは、指定してこなかった。このマージンが小さすぎる場合には、ブレンディングが技術的に連続である場合であっても、遷移は、空間にまたがる不透明度導関数として測定されるときに鋭すぎる可能性がある。緩和動作は、テントを平滑化し、0.0の値を必ず保存するが、おそらくは他のテント支柱を下げてテント表面によって定義される関数をより滑らかにする、すなわち、その最大の空間的導関数を制限する。様々な方法のうちのどれがこの動作を実装するのに使用されるかは、本発明にとって重要ではなく、1つの手法は、例えば、選択的低域フィルタリングを使用し、ゼロを手付かずのまま残しながら、すべての非ゼロの値をその隣接する値の加重平均に局所的に置換することである。他の方法も、当業者には明白であろう。   In an enhanced embodiment, the algorithm then relaxes the levelOpacityGrid value to further improve the spatial continuity of LOD blending. The situation described so far can be drawn as follows. All vertices are similar to a tent post where the levelOpacityGrid is the height of the tent post. The algorithm so far has that the tent post has a height of zero at every point that touches the hole, and inside the rendered tile, the (possibly) non-zero value at the tent post is set. Guarantee. In extreme cases, perhaps all values inside the rendered tile are set to 1.0. For purposes of illustration, assume that the rendered tile does not yet have a rendered adjacent tile, and therefore the boundary value is 0.0. In the present specification, it has not been specified how narrow the “margin” is between the 0.0 boundary tent column and the 1.0 internal tent column. If this margin is too small, the transition may be too sharp when measured as an opacity derivative across space, even if the blending is technically continuous. The relaxation action smoothes the tent and always preserves the value of 0.0, but possibly lowers the other tent struts to make the function defined by the tent surface smoother, ie its maximum spatial derivative Limit. Which of the various methods is used to implement this behavior is not important to the present invention, and one approach uses, for example, selective low-pass filtering, leaving zero untouched. However, locally replacing all non-zero values with a weighted average of its neighboring values. Other methods will be apparent to those skilled in the art.

次に、このアルゴリズムは、すべての合成グリッド頂点を通ってウォークし、各頂点のlevelOpacityGridおよびopacityGridの対応する値を検討し、levelOpacityGridが1.0−opacityGridより大きい場合には、levelOpacityGridに1.0−opacityGridをセットする。次に、やはり頂点ごとに、levelOpacityGridの対応する値を、opacityGridに加算する。前のステップに起因して、これがopacityGridに1.0を超えさせることは、絶対にあり得ない。このアルゴリズムのこれらのステップは、より高い解像度のLODが使用可能になるときに、できる限り多くの不透明度が、それらのより高い解像度のLODによって寄与され、穴がある場合に限ってより低い解像度のLODが「透けて見える」ことを許すことを保証する。   The algorithm then walks through all the composite grid vertices and examines the corresponding values of levelOpacityGrid and opacityGrid for each vertex, and if the levelOpacityGrid is greater than 1.0-opacityGrid, the levelOpacityGrid is set to 1.0. Set -opacityGrid Next, again, for each vertex, the corresponding value of levelOpacityGrid is added to opacityGrid. Due to the previous step, this can never cause the capacityGrid to exceed 1.0. These steps of this algorithm are such that when higher resolution LOD becomes available, as much opacity as possible is contributed by those higher resolution LODs, and lower resolution only if there are holes. Guarantees that the LOD of the “LOD” is allowed to “see through”.

現在のLODのトラバーサルの最後のステップは、頂点ごとの不透明度値としてlevelOpacityGridを使用して、現在のLODの合成タイルを実際に描くことである。機能強化された実施形態では、levelOpacityGridに、ドローイングの直前に0.0から1.0までの範囲内のスカラoverallOpacity変数を乗じることができ、これによって、overallOpacityによって与えられる部分的透明度を用いてイメージ全体を描くことが可能になる。各頂点で異なる不透明度を有する、長方形などの、イメージを含む多角形のドローイングが、標準的なプロシージャであることに留意されたい。これは、例えば、OpenGLグラフィックスライブラリまたはDirect3Dグラフィックスライブラリを使用する産業標準のテクスチャマッピング関数を使用して達成することができる。実際には、各そのような多角形の内部の中の描かれる不透明度は、空間的に補間され、多角形にまたがる不透明度の滑らかな変化がもたらされる。   The final step in the current LOD traversal is to actually draw a composite tile of the current LOD using levelOpacityGrid as the opacity value per vertex. In an enhanced embodiment, levelOpacityGrid can be multiplied by a scalar overallOpacity variable in the range of 0.0 to 1.0 just before drawing, thereby using partial transparency given by overallOpacity to image It becomes possible to draw the whole. Note that drawing a polygon containing an image, such as a rectangle, with different opacity at each vertex is a standard procedure. This can be accomplished, for example, using industry standard texture mapping functions using the OpenGL graphics library or the Direct3D graphics library. In practice, the opacity drawn within the interior of each such polygon is spatially interpolated, resulting in a smooth change in opacity across the polygon.

上で説明したアルゴリズムのもう1つの機能強化された実施形態では、タイルは、centerOpacity、cornerOpacity、およびedgeOpacityの現在の値(現在値と呼ばれる)だけではなく、targetCenterOpacity、targetCornerOpacity、およびtargetEdgeOpacityと呼ばれる値の平行セット(ターゲット値と呼ばれる)をも維持する。この機能強化された実施形態では、現在値は、タイルが初めてレンダリングされるときに、すべてに0.0がセットされるが、ターゲット値は、すべてに1.0がセットされる。その後、各フレームの後に、現在値は、ターゲット値により近い新しい値に調整される。これは、複数の数学公式を使用して実施することができるが、例として、次の形で行うことができる。新しい値=古い値*(1−b)+ターゲット値*b、ただし、bは、0.0を超え1.0未満のレートである。0.0に近いbの値は、ターゲット値に向かう非常に遅い遷移をもたらし、1.0に近いbの値は、ターゲット値に向かう非常に速い遷移をもたらす。不透明度を更新するこの方法は、ターゲットに向かう指数関数的収束をもたらし、時間的連続性の視覚的に満足な印象をもたらす。他の公式が、同一の結果を達成することができる。   In another enhanced embodiment of the algorithm described above, the tiles are not only the current values of centerOpacity, cornerOpacity, and edgeOpacity (called the current value), but also the targetCenterOpacity, targetCornerOpacity, and the targetEdget value. It also maintains a parallel set (called the target value). In this enhanced embodiment, the current values are all set to 0.0 when the tile is first rendered, but the target values are all set to 1.0. Then, after each frame, the current value is adjusted to a new value that is closer to the target value. This can be done using several mathematical formulas, but as an example, it can be done in the following way: New value = old value * (1-b) + target value * b, where b is a rate greater than 0.0 and less than 1.0. A value of b close to 0.0 results in a very slow transition toward the target value, and a value of b close to 1.0 results in a very fast transition toward the target value. This method of updating opacity results in exponential convergence towards the target, giving a visually satisfying impression of temporal continuity. Other formulas can achieve the same result.

図17は、本発明の1つまたは複数の実施形態による、図17のLODピラミッドの第2レイヤのフォービエイテッドな順序でのレンダリングの連続するステージ示す図である。   FIG. 17 is a diagram illustrating successive stages of rendering in a forbidden order of the second layer of the LOD pyramid of FIG. 17 in accordance with one or more embodiments of the present invention.

前述は、本発明の好ましい実施形態を説明するものである。本発明は、そのような好ましい実施形態に限定されず、添付の特許請求の範囲と一貫する様々な変更も、本発明に含まれる。   The foregoing describes preferred embodiments of the present invention. The present invention is not limited to such preferred embodiments, and various modifications consistent with the appended claims are also included in the present invention.

[発明の名称]複数ノードディスプレイのシステムおよび方法 System and method for multi-node display

[技術分野]
本発明は、コンピュータのズーミングユーザインターフェース(ZUI)に関する。
[Technical field]
The present invention relates to a zooming user interface (ZUI) of a computer.

[背景技術]
ほとんどの今日のグラフィカルコンピュータユーザインターフェースは、固定された空間的スケールのビジュアルコンポーネントを使用して設計されている。ビジュアルコンポーネントは、ズームインもしくはズームアウトまた他の形でそれをナビゲートすることによって操作することができる。しかし、様々なオブジェクトの座標をそれによって表すことができる精度は、そのような座標を表すために指定される、通常は16と64との間のビット数によって極端に制限される。この限られた表現サイズのゆえに、限られた精度がある。
[Background]
Most today's graphical computer user interfaces are designed with fixed spatial scale visual components. The visual component can be manipulated by zooming in or out or otherwise navigating it. However, the accuracy with which the coordinates of various objects can be represented is extremely limited by the number of bits, usually between 16 and 64, specified to represent such coordinates. Because of this limited representation size, there is limited accuracy.

ズーミングユーザインターフェースのコンテキストで、ユーザは、ズームインし、前には単一ピクセルだけをカバーした領域にディスプレイ全体を満たさせることが簡単にできる。逆に、ユーザは、ズームアウトし、ディスプレイ全体のコンテンツを、単一ピクセルのサイズに縮小させることができる。各ズームインまたはズームアウトが、xy座標を多数の桁によって乗算し、または除算する場合があるので、ほんのわずかのそのようなズームが、例えば64ビット浮動小数点数を用いて使用可能な精度を完全に使い果たす。その後は、丸めが、イメージ品質を顕著に劣化させる。   In the context of a zooming user interface, the user can easily zoom in and fill the entire display with an area that previously covered only a single pixel. Conversely, the user can zoom out and reduce the content of the entire display to the size of a single pixel. Since each zoom-in or zoom-out may multiply or divide the xy coordinates by a number of digits, only a few such zooms will fully use the precision available using, for example, 64-bit floating point numbers. Use up. Thereafter, rounding significantly degrades the image quality.

[特許文献1]米国特許出願第10/790253号明細書
[発明の開示]
[発明が解決しようとする課題]
本発明の目的は、より大きい範囲のズームが可能であるZUIを提供することである。
[Patent Document 1] US Patent Application No. 10/790253
[Disclosure of the Invention]
[Problems to be solved by the invention]
It is an object of the present invention to provide a ZUI that allows a larger range of zoom.

本発明のもう1つの目的は、座標が表現される精度が、特定のズーム詳細レベルで必要な要求された精度に関連するZUIを提供することである。本発明のもう1つの目的は、有限の物理サイズの、しかし任意に高い複雑さまたは解像度を有するパン可能かつズーム可能な2次元空間を、より大きいパン可能かつズーム可能な2次元空間の明確に定義された領域に埋め込むことを可能にすることである。   Another object of the present invention is to provide a ZUI in which the accuracy with which coordinates are represented is related to the required accuracy required at a particular zoom detail level. Another object of the present invention is to define a pannable and zoomable two-dimensional space of finite physical size, but with arbitrarily high complexity or resolution, to define a larger pannable and zoomable two-dimensional space. It is possible to embed in a defined area.

本発明のもう1つの目的は、深いズームインの後のズームアウトが、ウェブブラウザの「戻る」ボタンに似て振る舞うことを可能にし、ユーザがビジュアルナビゲーションを介するそのユーザのステップを引き返すことを可能にすることである。   Another object of the present invention is that zooming out after deep zooming in can behave like a “back” button in a web browser, allowing the user to turn back his step through visual navigation. It is to be.

本発明のもう1つの目的は、ズームアウトの直後のズームインが、ウェブブラウザの「進む」ボタンに似て振る舞うことを可能にし、ユーザが任意に長いズームアウトの効果を正確に元に戻すことを可能にすることである。   Another object of the present invention is to allow zoom-in immediately after zoom-out to behave like a “forward” button in a web browser, allowing the user to accurately reverse the effect of arbitrarily long zoom-out. Is to make it possible.

本発明のもう1つの目的は、ノード、すなわち下でより正確に定義されるビジュアルオブジェクトが、非常に多数の子ノード(例えば、10^28個まで)を有することを可能にすることである。   Another object of the present invention is to allow a node, ie a visual object defined more precisely below, to have a very large number of child nodes (eg up to 10 ^ 28).

本発明のもう1つの目的は、ノードが、オンザフライでそれ自体の子をプログラム的に生成することを可能にし、ナビゲーション中にコンテンツを動的に定義し、作成し、または変更することを可能にすることである。   Another object of the present invention is to allow nodes to programmatically create their own children on the fly, allowing content to be dynamically defined, created or modified during navigation. It is to be.

本発明のもう1つの目的は、コンテンツが最終的に非常に大量のデータを使用して表現される場合であっても、そのデータがリモート位置に格納され、低帯域幅ネットワークを介して共有される場合であっても、任意に複雑なビジュアルコンテンツのほぼ即座のビューイングを可能にすることである。   Another object of the invention is that even if the content is ultimately represented using a very large amount of data, that data is stored at a remote location and shared via a low bandwidth network. Is to allow almost immediate viewing of arbitrarily complex visual content.

本発明のもう1つの目的は、対話的フレームレートを維持しながら、ユーザがビジュアルコンテンツに任意にズームインすることを可能にすることである。   Another object of the present invention is to allow a user to arbitrarily zoom in on visual content while maintaining an interactive frame rate.

本発明のもう1つの目的は、コンテンツの全体的外見の保存と対話的フレームレートの維持との両方の過程で、複雑なビジュアルコンテンツの概観を得るために、ユーザが任意にズームアウトできるようにすることである。   Another object of the present invention is to allow the user to arbitrarily zoom out to get an overview of complex visual content, both in the process of preserving the overall appearance of the content and maintaining the interactive frame rate. It is to be.

本発明の上記および他のより広義の目的は、次の明細書の再検討から、当業者に明白になるであろう。   These and other broader objects of the present invention will become apparent to those skilled in the art from a review of the following specification.

[課題を解決するための手段]
本発明の上記および他の目的は、ビジュアルコンテンツを複数の「ノード」として表示することによって達成される。各ノードは、好ましくはそれ自体の座標系およびレンダリングメソッドを有するが、1つの親ノード内に含まれることができ、その親ノードの座標系およびレンダリングメソッドで表されることができる。ユーザが、例えばズームインまたはズームアウトによって、このビジュアルコンテンツをナビゲートするときに、ノードは、ズームが適当な詳細レベルをもたらすときに「起動」されるのみである。ノードの起動は、異なるノードの座標系および/またはレンダリングメソッドではなく、そのノードがそれ自体の座標系および/またはレンダリングメソッドで表されることを引き起こす。
[Means for solving problems]
The above and other objects of the present invention are achieved by displaying visual content as a plurality of “nodes”. Each node preferably has its own coordinate system and rendering method, but can be contained within one parent node and can be represented in the parent node's coordinate system and rendering method. When the user navigates this visual content, for example by zooming in or out, the node is only “activated” when the zoom provides the appropriate level of detail. Invoking a node causes that node to be represented in its own coordinate system and / or rendering method, rather than the coordinate system and / or rendering method of a different node.

ノードが起動される前に、そのノードは、親ノードの座標系で表されるか、あるいはまったく表されないかのいずれかになる。ノードが必要なときに限ってノードを起動することによって、座標系の精度は、表示されているもののズーム詳細レベルの関数になる。これは、このシステムが動作するコンピュータのメモリによって許される最大値を含みその最大値までの可変レベルの精度を可能にする。   Before a node is activated, it is either represented in the parent node's coordinate system or not represented at all. By activating a node only when it is needed, the accuracy of the coordinate system becomes a function of the zoom detail level of what is being displayed. This allows a variable level of accuracy up to and including the maximum value allowed by the memory of the computer on which the system operates.

例示のために、現在好ましい形が図面に示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。   For the purpose of illustration, the presently preferred form is shown in the drawings, but it should be understood that the invention is not limited to the precise arrangements and instrumentalities shown.

[発明を実施するための最良の形態]
我々は、ディスプレイがカメラであり、このカメラを介して、ユーザが2次元表面すなわち2Dユニバース(universe)の一部を見ることができる、ユーザインターフェースメタファを仮定する。便宜のために、そうする必要はないが、物理的次元をこのユニバースに帰し、その結果、このユニバースを、例えば1メートルの正方形とすることができるようにする。本発明は、N次元表現に同等に適用可能である。
[Best Mode for Carrying Out the Invention]
We assume a user interface metaphor where the display is a camera, through which the user can see a part of a two-dimensional surface or 2D universe. For convenience, it is not necessary to do so, but the physical dimension is attributed to this universe, so that it can be a square of, for example, 1 meter. The present invention is equally applicable to N-dimensional representations.

例示的なユニバースは、2Dオブジェクトまたはノードを含み、ビジュアル表現を有し、動的または対話的とすることもできる(すなわち、ビデオクリップ、アプリケーション、編集可能なテキスト文書、CAD図面、または静止イメージ)。ノードが可視になるためには、そのノードは、ディスプレイのある領域にそのノードを全体的にまたは部分的に描くことができるレンダリングメソッドに関連付けられなければならない。各ノードは、有限精度のローカル座標系をも与えられる。例示のために、我々は、ノードが、長方形であり、ローカル座標系によって表されると仮定する。   An exemplary universe includes 2D objects or nodes, has a visual representation, and can also be dynamic or interactive (ie, video clips, applications, editable text documents, CAD drawings, or still images). . In order for a node to be visible, it must be associated with a rendering method that can draw the node in whole or in part in an area of the display. Each node is also given a finite precision local coordinate system. For illustration purposes, we assume that the node is rectangular and is represented by a local coordinate system.

この2つのパラメータすなわちレンダリングメソッドおよび座標系は、ノードをどのように表示するかと、ノード内のアイテムの位置とを指定する。各ノードは、0又は1個以上の子ノードを有することができ、これらの子ノードは、参照によってアドレッシングされる。ノードは、各子ノードの全情報を含む必要がなく、一般に含まず、その代わりに、子ノードを入手するのに必要な情報を提供するアドレスだけを含む。ユーザがナビゲートし、例えばズームインし、ズームアウトするときに、ノードは、例えば図18に示されているようにスクリーンに表示される。   These two parameters, the rendering method and the coordinate system, specify how the node is displayed and the position of the item within the node. Each node can have zero or more child nodes, and these child nodes are addressed by reference. A node need not contain all the information of each child node, but generally does not contain it, but instead contains only an address that provides the information necessary to obtain the child node. As the user navigates, eg zooms in and zooms out, the nodes are displayed on the screen as shown for example in FIG.

一般に、「ノード」は、本発明における機能性の基本単位である。ほとんどのノードは、ナビゲーション中にユーザのディスプレイにビジュアルに現れ、一部のノードは、アニメーションされ、および/またはユーザ入力に応答することもできる。ノードは、あるノードが子ノードを含むことができるという点で階層的である。含む側のノードを、親ノードと呼ぶ。親ノードが子ノードを含むときには、子ノードのビジュアルマニフェステーションも、親のビジュアルマニフェステーション内に含まれる。各ノードは、論理座標系を有し、ノードの広がり全体が、この論理座標系内で定義される例示的長方形に含まれ、例えば、あるノードは、そのノードが長方形(0,0)−(100,100)に含まれるように論理座標系を定義することができる。   In general, a “node” is the basic unit of functionality in the present invention. Most nodes appear visually on the user's display during navigation, and some nodes may be animated and / or respond to user input. Nodes are hierarchical in that a node can contain child nodes. The containing node is called the parent node. When a parent node includes a child node, the child node's visual manifest station is also included within the parent visual manifest station. Each node has a logical coordinate system, and the entire extent of the node is contained in an exemplary rectangle defined within the logical coordinate system, for example, a node has a rectangular (0,0)-( 100, 100) can be defined as a logical coordinate system.

各ノードは、そのプロパティを定義する次のデータを有することができる。   Each node can have the following data defining its properties.

○ その論理サイズ(上の例では100×100)を含む、ノードの論理座標系と、
○ (親)ノードの論理座標系で指定される、任意の子ノードのアイデンティティ、位置、およびサイズと、
○ オプションとして、任意の必要なユーザデータと、
− 次の動作または「メソッド」を定義する実行可能コード
○ 「コンストラクション引数」に基づくノードデータの初期化と、
○ ノードの視覚的外見のすべてまたは一部のレンダリング(このメソッドの出力は、レンダリングされたタイルである)と、
○ オプションとして、キーボードイベントまたはマウスイベントなどのユーザ入力に対する応答。
The logical coordinate system of the node, including its logical size (100x100 in the example above);
○ The identity, position, and size of any child node specified in the (parent) node's logical coordinate system,
○ Optionally, any required user data and
− Executable code that defines the following behavior or “method”: ○ Initialization of node data based on “construction argument”;
○ Rendering all or part of the visual appearance of the node (the output of this method is the rendered tile);
○ Optionally, respond to user input such as keyboard or mouse events.

実行可能コードは、「ノードクラス」を定義し、多数の「ノードインスタンス」の間で共有されることができる。ノードインスタンスは、そのデータ内容において異なる。したがって、ノードクラスは、JPEGイメージをレンダリングするのに必要なロジックを定義することができる。初期化コードに与えられる「コンストラクション引数」は、表示されるJPEGイメージのURLを含むはずである。特定のイメージを表示するノードは、JPEGノードクラスのインスタンスになるはずである。ソフトウェアアプリケーションを同時に複数回インスタンス化できる方法と同様に、ノードの複数のインスタンスを同一のビジュアルコンテンツ内で表示可能とすることができる。   Executable code defines a “node class” and can be shared among multiple “node instances”. Node instances differ in their data content. Thus, the node class can define the logic necessary to render a JPEG image. The “construction argument” given to the initialization code should include the URL of the displayed JPEG image. A node that displays a particular image should be an instance of a JPEG node class. Similar to the way a software application can be instantiated multiple times simultaneously, multiple instances of a node can be displayed in the same visual content.

複雑なビジュアル文書またはアプリケーションでは、通常、必要な機能性を多数の異なる形でノードに分割することが可能であることに留意されたい。例えば、複数のイメージ、プルダウンメニュー、およびボタンを含む、スクリプトによって記述されたウェブページ様の文書を、複雑なレンダリングメソッドおよびユーザ入力メソッドを有する単一のノードとして実装することができる。あるいは、その文書を、ページの全体的レイアウトを定義するのみの親ノードとして実装し、すべての構成イメージおよびボタンを子ノードとして実装することができる。これは、機能性をより効果的に再利用しまたは「ファクタリングする」という明白な利益を有し、ボタンは、すべてが同一の挙動を有し、したがって、すべてを同一のノードクラスのインスタンスとすることができ、イメージは、すべてを同一フォーマットとすることができ、したがって、共通のノードクラスのインスタンスとすることもできるなどである。これは、レイアウトの再配置をも単純化し、親ノードは、子ノードを簡単に移動し、または子ノードのサイズを変更することができる。   Note that in complex visual documents or applications, it is usually possible to divide the required functionality into nodes in many different ways. For example, a web page-like document written by a script that includes multiple images, pull-down menus, and buttons can be implemented as a single node with complex rendering and user input methods. Alternatively, the document can be implemented as a parent node that only defines the overall layout of the page, and all constituent images and buttons can be implemented as child nodes. This has the obvious benefit of more effectively reusing or “factoring” the functionality, and the buttons all have the same behavior and are therefore all instances of the same node class Images can all be in the same format, and thus can be instances of a common node class, and so on. This also simplifies layout rearrangements, where a parent node can easily move child nodes or resize child nodes.

本発明によれば、ビジュアルコンテンツを、ユーザによるナビゲーション入力の状態に依存する形で表示することができる。例えば、図18に、都市の一部のイメージとすることのできるノード105を示す。ノード105は、子ノード101〜103を含むことができる。ノード101は、この都市内のビルディングのイメージとすることができ、ノード107は、運動場のイメージとすることができ、ノード103は、スポーツアリーナとすることができる。図示のズームのレベルでは、ノード101〜103は、比較的小さく、したがって、これらを、ノード105の座標系内の正しい位置に置かれた、ノード105内の詳細なしの小さい暗くされた領域として表すことができる。ノード105の座標系およびレンダリングメソッドだけが必要である。   According to the present invention, visual content can be displayed in a form that depends on the state of navigation input by a user. For example, FIG. 18 shows a node 105 that can be an image of a part of a city. The node 105 can include child nodes 101-103. Node 101 can be an image of a building in the city, node 107 can be an image of a playground, and node 103 can be a sports arena. At the level of zoom shown, nodes 101-103 are relatively small and therefore represent them as small darkened areas without details in node 105 that are placed in the correct position in the coordinate system of node 105. be able to. Only the coordinate system of the node 105 and the rendering method are required.

ユーザがズームインし、その結果、図19に示されたものなどの異なる詳細レベル(LOD)が生じる場合を考慮されたい。図19のLODでは、ノード101および107は、ビジュアルコンテンツがはるかにより大きく表示されるという事実に起因して、もはやスクリーン上で可視ではない。さらに、スポーツアリーナノード103が表示されるサイズが今ははるかにより大きいので、個々のシート、フィールドなどのスポーツアリーナの詳細が、今は表示されるはずであることに留意されたい。   Consider the case where the user zooms in, resulting in a different level of detail (LOD) such as that shown in FIG. In the LOD of FIG. 19, nodes 101 and 107 are no longer visible on the screen due to the fact that visual content is displayed much larger. Furthermore, it should be noted that since the size at which the sports arena node 103 is displayed is now much larger, details of the sports arena such as individual seats, fields, etc. should now be displayed.

前述を促進するために、スポーツアリーナノード103は、今は、ノード105の座標系内で詳細なしの暗くされた領域として表示されるのではなく、それ自体の座標系およびレンダリングメソッドを使用して表示されるために「起動」される。それ自体の座標系およびレンダリングメソッドを使用して表示されるときに、シーティング、競技のフィールドなどの詳細が、個別に示されるはずである。上で述べた他の機能、およびノード103に関連する機能も、ノード103が起動される時点で実行を開始するはずである。ノード103またはこれに関するすべてのノードの起動を引き起こす特定のナビゲーション条件は、設計選択の関数であり、本発明にとってクリティカルではない。   To facilitate the foregoing, the sports arena node 103 is now displayed using its own coordinate system and rendering method, rather than being displayed as a darkened area without details in the coordinate system of the node 105. "Activated" to be displayed. Details such as seating, competition fields, etc. should be shown individually when displayed using its own coordinate system and rendering method. The other functions described above and the functions related to the node 103 should also start executing when the node 103 is activated. The particular navigation conditions that cause the activation of node 103 or all nodes related thereto are a function of design choice and are not critical to the present invention.

ノード103が表示される精度は、ノード105によって利用される座標系ならびにノード103によって利用される座標系の組み合わされた精度である。したがって、例えば、前記ノードのそれぞれの座標系が8ビットを利用する場合に、組み合わされた精度は、ノード103の座標系がノード103内のアイテムの位置を指定することだけに利用されるが、ノード105内のノード103の全体的な位置がノード105の座標系内で指定されるので、16ビットになる。このネスティングは、スポーツアリーナ103自体がその中に追加ノードを含む場合に繰り返して継続し得ることに留意されたい。例えば、1つのそのようなノード201を、実際に、このスポーツアリーナ内の特定の場内売り場とすることができる。これは、ノード103の座標系およびレンダリングメソッド内で多くの詳細なしで表される。ユーザが、スポーツアリーナ103へのズームインを継続するときに、ある点で、ノード201が起動される。ノード201が、8ビットの精度を使用して表示される場合に、これらの8ビットは、ノード201座標系内のどこに特定のアイテムが表示されなければならないかを指定する。それでも、ノード103内のノード201の位置は、ノード103の座標系内で8ビットの精度に維持され、このノード103の位置は、ノード105の座標系内で8ビットを使用して維持される。したがって、ノード201内のアイテムは、最終的に、24ビットの精度を使用して表示される。   The accuracy with which the node 103 is displayed is the combined accuracy of the coordinate system used by the node 105 and the coordinate system used by the node 103. Thus, for example, if each coordinate system of the node uses 8 bits, the combined accuracy is only used by the coordinate system of the node 103 specifying the position of the item in the node 103, Since the overall position of the node 103 in the node 105 is specified in the coordinate system of the node 105, it becomes 16 bits. Note that this nesting may continue repeatedly if the sports arena 103 itself includes additional nodes within it. For example, one such node 201 may actually be a specific in-store counter within this sports arena. This is represented without much detail in the coordinate system of node 103 and the rendering method. When the user continues zooming in on the sports arena 103, the node 201 is activated at some point. If node 201 is displayed using 8 bits of precision, these 8 bits specify where in the node 201 coordinate system a particular item must be displayed. Nevertheless, the position of the node 201 in the node 103 is maintained with an 8-bit precision in the coordinate system of the node 103, and the position of the node 103 is maintained using 8 bits in the coordinate system of the node 105. . Thus, the items in node 201 are ultimately displayed using 24-bit precision.

ノード内でノードをネストすることによって、ビジュアルコンテンツを最終的に表示できる精度は、コンピュータのメモリ容量だけによって制限される。ノード内のビジュアルコンテンツが、そのノードが起動された後に表示される最終的な精度は、効果的に、すべての親ノードの組み合わされた精度および起動されたノードの精度になる。したがって、ネスティングのレベルに応じて、精度を、必要に応じて、コンピュータの格納容量によってのみ制限されて高めることができ、このコンピュータの格納容量は、ほとんど必ず、十分よりはるかに多い。さらに、高められた精度は、必要なときに限って利用される。というのは、イメージが、起動を必要としないLODにある場合に、上の説明によれば、そのイメージは、そのノードが起動された場合に含まれるノードの精度で表示されるに過ぎないからである。したがって、他のノード内にネストされたノードについて、最も外側のノードから内側に移動するときに、まだ起動されていないノードに最終的に達するまで、起動済みのノードをトラバースすることができる。すべてのそのような未起動ノードおよびさらにその中にあるノードは、起動された最後にトラバースされたノードの精度でのみ表示される。   By nesting nodes within nodes, the accuracy with which visual content can ultimately be displayed is limited only by the memory capacity of the computer. The final accuracy with which visual content within a node is displayed after the node is activated effectively becomes the combined accuracy of all parent nodes and the accuracy of the activated node. Thus, depending on the level of nesting, the accuracy can be increased as needed, limited only by the storage capacity of the computer, which is almost always much more than sufficient. Furthermore, the increased accuracy is only used when necessary. This is because, if the image is in a LOD that does not require booting, according to the above description, the image will only be displayed with the accuracy of the node included when the node is booted. It is. Thus, for nodes nested within other nodes, activated nodes can be traversed until they eventually reach a node that has not yet been activated when moving inward from the outermost node. All such unstarted nodes and also the nodes within them are displayed only with the accuracy of the last traversed node that was started.

これは、「アコーディオン」タイプの精度をもたらし、ここで、ビジュアルコンテンツが表示される精度は、必要に応じて、ユーザのナビゲーション入力による命令に従って伸び縮みし、より高い精度のために必要なときに限ってシステムリソースを使用することによってシステムリソースの効率を最大化する。   This results in an “accordion” type of accuracy, where the accuracy with which the visual content is displayed expands and contracts as needed according to instructions from the user's navigation input, when needed for higher accuracy. Maximize system resource efficiency by using limited system resources.

また、ノードが起動するときに、そのノードの表示が、親ノードの座標およびレンダリングメソッドに基づくものから子ノードの座標およびレンダリングメソッドに変化することに留意されたい。その変化は、例えば特許文献1に記載されている、ブレンディングの使用を介して最適に漸進的にされる。しかし、親ノードの座標系およびレンダリングメソッドでの情報の表示から子ノードに漸進的に変化する他の方法論が、可能である。例えば、特定の範囲にわたって、親から子へのブレンディングが発生するシステムを、プログラムすることができる。次に、ユーザが、ズーム中にその範囲を通ってトラバースするときに、ナビゲーションがその範囲中で止められない限り、切替えが発生し、止められた場合には、ブレンディングは、適当な座標系で完全に表示されるまで継続することができる。   It should also be noted that when a node is activated, its display changes from that based on the parent node's coordinates and rendering method to the child node's coordinates and rendering method. The change is optimally gradual through the use of blending, as described, for example, in US Pat. However, other methodologies that change progressively from displaying information in the parent node's coordinate system and rendering method to child nodes are possible. For example, a system where parent-to-child blending occurs over a specific range can be programmed. Next, when the user traverses through the range during zooming, a switchover occurs unless navigation is stopped in the range, in which case the blending is in the appropriate coordinate system. You can continue until it is fully displayed.

本発明によって解決される追加の問題は、表示中のすべてのノードの間の空間的相互関係を維持するシステムに関する。より具体的に言うと、ズームおよびパンなどの動的ナビゲーション中に、多くの異なる座標系が、潜在的に異なるノードを表示するのに使用されている。一部のノードは、上で説明したように、単に他のノードの座標系内のイメージとして表示されており、一部のノードは、それ自体の座標系で表示されている。実際に、ビジュアルディスプレイ全体に、異なる座標系内の異なる位置に表示されるノードを取り込むことができ、様々なノードに使用される座標系および精度は、ナビゲーション中に、ノードが起動されるときに変化する場合がある。したがって、各ノードはそれ自体の座標系を知っているだけなので、ノードが互いに関して正しく置かれていることを保証することが重要である。本発明は、各ノードが、レンダリングしなければならない全体的なビュー内での正しい位置を「知る」ようにするために、すべてのノードの間で相対位置情報を伝搬し、必要なときにその情報を更新する技法を提供する。   An additional problem solved by the present invention relates to a system that maintains the spatial interrelationship between all nodes being displayed. More specifically, many different coordinate systems are used to display potentially different nodes during dynamic navigation such as zooming and panning. Some nodes are simply displayed as images in the coordinate system of other nodes, as described above, and some nodes are displayed in their own coordinate system. In fact, the entire visual display can capture nodes that appear at different positions in different coordinate systems, and the coordinate system and accuracy used for the various nodes can be determined when the node is activated during navigation. May change. Therefore, it is important to ensure that the nodes are placed correctly with respect to each other, since each node only knows its own coordinate system. The present invention propagates relative position information between all nodes to ensure that each node “knows” the correct position within the overall view that it must render, and Provides techniques for updating information.

前述は、ノード構造体へのフィールドの追加および追加のアドレススタックデータ構造体を用いて達成することができる。拡張されたノード定義には、我々が「view」フィールドと呼ぶ、ディスプレイ全体に対して相対的にノード自体を位置づけるためにノードによって使用されるフィールドが含まれる。viewフィールドは、そのノードの座標で、そのノードの可視領域すなわち、そのノードの座標でのディスプレイ長方形のイメージを表す。この長方形は、ノードが部分的にオフスクリーンであるときなど、そのノードの領域と部分的にオーバーラップするだけである場合がある。明らかに、viewフィールドを、すべてのノードについて必ず更新された状態に保つことはできない。というのは、必ずしも、ナビゲーションが発生するときにリアルタイムでノードの有向グラフ全体をトラバースすることができないからである。   The foregoing can be accomplished with the addition of fields to the node structure and additional address stack data structures. The extended node definition includes a field used by the node to position itself relative to the entire display, which we call the “view” field. The view field represents the image of the display rectangle at the node's visible area, ie, the node's coordinates, at the node's coordinates. This rectangle may only partially overlap the area of the node, such as when the node is partially off-screen. Obviously, the view field cannot always be kept updated for all nodes. This is because it is not always possible to traverse the entire directed graph of nodes in real time when navigation occurs.

スタック構造体は、次のように定義される。   The stack structure is defined as follows.

Stack<Address> viewStack;
ここで、このスタックは、クライアント(ディスプレイに接続されたコンピュータ)のグローバル変数である。例示のために、ナビゲーションが、ルートノードによって定義されるコンテンツのユニバースの概観から始まると仮定する。その後、このルートノードは、viewStackにプッシュされ、ルートノードのviewフィールドは、ルートノードの領域全体になるように初期化することができる、すなわち、
rootNode.view = rootNode.coodSystem;
Push(viewStack, rootNode);
である。
Stack <Address>viewStack;
Here, this stack is a global variable of the client (computer connected to the display). For purposes of illustration, assume that navigation begins with an overview of the universe of content defined by the root node. This root node can then be pushed to viewStack and the view field of the root node can be initialized to be the entire area of the root node, ie
rootNode.view = rootNode.coodSystem;
Push (viewStack, rootNode);
It is.

概略的に言うと、viewStackは、ディスプレイに対する相対的な1つの点によって「貫かれた」ノードのシーケンスのアドレスを指定し、この点は、この例示的実装では、ディスプレイの中心であるものと解釈される。このシーケンスは、ルートノードから始まらなければならないが、無限である場合があり、したがって、切り捨てられなければならない。例示的実施形態では、このシーケンスは、「貫かれた」ノードが、minimumAreaとして定義される、ある最小サイズより小さくなるときに切り捨てられる。次に、現在のビューは、viewStack内のすべてのノードのviewフィールドによって表され、これらのviewフィールドのそれぞれは、ノードのローカル座標系に関して現在のビューを指定する。ユーザが、ユニバースに非常に深くズームした場合に、ディスプレイの詳細な位置は、スタック内の最後のノードのviewフィールドによって最も正確に与えられる。しかし、最後の要素のviewフィールドは、ユニバース全体に対して相対的にではなく、そのローカル座標に対し相対的にユーザの視点を指定するに過ぎない。その一方で、ルートノードのviewフィールドは、ユニバース内のどこをユーザが見ているかを指定する。したがって、viewStackの「微細な端」により近いノードは、ユニバース内の徐々に狭くなる面積に対して相対的にではあるが、高まる精度でビュー位置を指定する。これが、図20に概念的に示されており、図20では、起動済みの3つのノード301、302、および303のうちで、ノード303が、その座標系が「最も微細」なので、ユーザが見ているところの最も正確な表示を提供するが、ノード301が、それほど微細ではないが、ビジュアルコンテンツのはるかにより大きい領域に関する情報を提供することがわかる。   In general, viewStack specifies the address of a sequence of “pierced” nodes by one point relative to the display, which in this example implementation is interpreted as the center of the display. Is done. This sequence must start at the root node, but may be infinite and therefore must be truncated. In the exemplary embodiment, this sequence is truncated when the “pierced” node is smaller than some minimum size, defined as minimumArea. The current view is then represented by the view field of all nodes in the viewStack, each of which specifies the current view with respect to the node's local coordinate system. If the user zooms very deep into the universe, the detailed position of the display is most accurately given by the view field of the last node in the stack. However, the view field of the last element only specifies the user's viewpoint relative to its local coordinates, not relative to the entire universe. On the other hand, the view field of the root node specifies where in the universe the user is looking. Thus, nodes closer to the “fine edge” of viewStack specify the view position with increasing accuracy, albeit relative to the gradually narrowing area in the universe. This is conceptually shown in FIG. 20. In FIG. 20, among the three activated nodes 301, 302, and 303, the node 303 has the coordinate system “the finest”, so that the user sees it. It can be seen that node 301 provides information on a much larger area of visual content, although not as fine as it provides.

次に、問題は、次のように変換される:すべての可視ノードのビュー(すなわち、viewフィールド)は、ユーザがユニバースを介してナビゲートする、すなわちパンおよびズームのときに同期化された状態に保たれなければならない。これらを同期化された状態に保つことができないと、ノードが、結合力があり物理的に一貫した2D表面として振る舞うのではなく、互いに独立にディスプレイ上で移動するという外見がもたらされるはずである。   The problem is then translated as follows: the view of all visible nodes (ie the view field) is synchronized when the user navigates through the universe, ie pan and zoom Must be kept on. Failure to keep them synchronized should lead to the appearance that the nodes move on the display independently of each other, rather than behaving as a coherent and physically consistent 2D surface. .

すべてのナビゲーション動作中のビューの変更は、次のように進行する。viewStack内の最後のノードが、ビューの最も正確な表現を有するので、第1ステップは、この最後のノードのviewフィールドを変更することである。この変更されたビューは、正しい新しいビューとして採用され、すべての他の可視ノードは、後について行かなければならない。第2ステップは、この新しいビューをルートノードに向かって「上向きに」伝搬させることであり、これには、スタック内でより以前のノードのviewフィールドに対する徐々にますます小さくなる変更を行うことが含まれる。ユーザが深くズームする場合に、上向きの伝搬のある点で、ビューに対する変更が、正確に表現可能ではなくなるほどに非常に小さくなる可能性があり、上向きの伝搬は、このノードで停止する。上向き伝搬の各ステージで、変更は、下向きに他の可視ノードにも伝搬される。したがって、まず、最後のノードの親のビューが変更され、次に、下向きの伝搬で、最後のノードの「姉妹」のビューが変更される。次の上向きの伝搬は、祖父のビューを変更し、第2の下向きの伝搬は、最初の叔父を変更し、次に最初の従兄弟を変更する。下向きの伝搬は、前と同様に、「従兄弟ノード」の面積がminimumAreaより小さくなるとき、またはあるノードが完全にオフスクリーンになるときに、停止される。   View changes during all navigation operations proceed as follows. Since the last node in viewStack has the most accurate representation of the view, the first step is to change the view field of this last node. This modified view is taken as the correct new view and all other visible nodes must go after. The second step is to propagate this new view “upward” towards the root node, which may involve making progressively smaller changes to the previous node's view field in the stack. included. If the user zooms deeply, at some point in the upward propagation, changes to the view can be so small that it cannot be accurately represented, and upward propagation stops at this node. At each stage of upward propagation, changes are propagated downward to other visible nodes. Thus, first the parent view of the last node is changed, and then in the downward propagation, the “sister” view of the last node is changed. The next upward propagation changes the grandfather's view, and the second downward propagation changes the first uncle and then the first cousin. Downward propagation, as before, is stopped when the area of the “cousin node” is smaller than minimumArea or when a node is completely offscreen.

前述の技法は、様々なノードのレイアウトをツリーに変換することを伴い、これは、概念的に図21および22に示されている。図21および22からわかるように、ノードの特定の表示されるセットの対応するツリーがあり、このツリー構造を使用して、前に説明したようにビュー情報を伝搬させることができる。ノード401から408のそれぞれは、図22に示されたツリーの同一の符号を有する点に対応する。図20に概念的に示されているのは、例えば、ポインタ、別のノードのサイズおよび位置を示す情報など、ノードに関して格納されるはずの情報である。図23は、図22のツリー図の一部に対応するブロック図であり、例示的な値が、ノード403のプロパティを定義するのに使用できるデータを示すのに使用されている。この例示的なケースでは、ノード403は、子ノード406へのポインタ、子ノード406の論理サイズ(100×100)に関する情報、およびノード403の座標での子ノード406の位置を指定するデータすなわち10,20を含む。   The technique described above involves converting the layout of the various nodes into a tree, which is conceptually illustrated in FIGS. As can be seen from FIGS. 21 and 22, there is a corresponding tree of a particular displayed set of nodes, and this tree structure can be used to propagate view information as previously described. Each of nodes 401 to 408 corresponds to a point having the same symbol in the tree shown in FIG. Conceptually shown in FIG. 20 is information that should be stored for a node, such as, for example, a pointer, information indicating the size and position of another node. FIG. 23 is a block diagram corresponding to a portion of the tree diagram of FIG. 22 where exemplary values are used to indicate data that can be used to define the properties of the node 403. In this exemplary case, node 403 has a pointer to child node 406, information regarding the logical size (100 × 100) of child node 406, and data specifying the position of child node 406 in the coordinates of node 403, ie 10 , 20.

パン動作は、最後のノードがもはやviewStackに属さなくなるのに十分に遠くに、その最後のノードを移動する場合がある。その代わりに、ズームインが、viewStackを延ばすことが必要になる範囲まで子を拡大する場合があり、あるいは、ズームアウトが、最後のノードの面積を最小面積未満にし、viewStackの切捨を必要にする場合がある。これらの場合のすべてで、最後のノードのアイデンティティが変化する。これらの情況は、下向き伝搬中に検出され、これによって、viewStackがそれ相応に変更され、潜在的にviewStackがより長くなるかより短くなる場合がある。   A pan operation may move the last node far enough that the last node no longer belongs to viewStack. Instead, zooming in may expand the child to the extent that it is necessary to extend viewStack, or zooming out will make the area of the last node less than the minimum area and require viewStack truncation. There is a case. In all of these cases, the identity of the last node changes. These situations are detected during downward propagation, which changes the viewstack accordingly and potentially makes the viewstack longer or shorter.

前述の1つの単純な場合が、ズーム中に、あるノードが起動され、その結果、そのノードが、ビュースタックに置かれることを必要とすることである。もう1つの例は、ズームアウトによって、前に可視のノードが、ビュースタックから除去されなければならないほどに小さくなることである。   One simple case described above is that during zooming, a node is activated, so that it needs to be placed on the view stack. Another example is that zooming out makes previously visible nodes so small that they must be removed from the view stack.

このアイデアの拡張は、長い外向きのズームに応答する即座のviewStackの切捨を回避することである。viewStackの切捨は、ユーザがその後にパンする場合に限って必要である。長い外向きのズームは、深くズームされたノードのviewフィールドに非常に大きく(したがって、数値的に不正確に)ならせるが、ビュー長方形の中心点を表すフィールド
Point2D viewCenter;
をNode構造体に追加することができ、したがって、パンなしのズームは、どのノードのviewCenterフィールドも変更しない。この構成は、外向きの長いズームに、戻るズームインを即座に続けることを可能にする。viewStackは、変更されないままなので、ユーザは、開始したビューに正確に戻ることができる。この挙動は、ウェブブラウザの「戻る」ボタンおよび「進む」ボタンに似ており、「戻る」は、ズームアウトに類似し、「進む」は戻るズームインに類似する。ウェブブラウザでは、ユーザが、前のウェブページに戻るために「戻る」を使用するが、その後、代替リンクに従う場合に、「進む」が働くのを止めるのは、この点である。したがって、代替リンクに従うことは、ズームアウトの後のパンに類似する。
An extension of this idea is to avoid truncating the immediate viewStack in response to long outward zooms. The viewstack truncation is necessary only when the user subsequently pans. A long outward zoom makes the view field of a deeply zoomed node very large (and therefore numerically inaccurate), but is a field that represents the center point of the view rectangle
Point2D viewCenter;
Can be added to the Node structure, so zoom without panning does not change the viewCenter field of any node. This configuration makes it possible to immediately continue the zoom-in back to the long outward zoom. Since the viewStack remains unchanged, the user can accurately return to the starting view. This behavior is similar to the “back” and “forward” buttons of a web browser, where “back” is similar to zooming out and “forward” is similar to zooming back. In a web browser, the user uses “back” to return to the previous web page, but it is this point that “forward” stops working when following alternative links. Thus, following an alternate link is similar to panning after zooming out.

前述は、アプリケーションが走っているコンピュータシステムの容量だけによって制限される実質的に無限の精度で、様々な形でビジュアルコンテンツを表示でき、ナビゲートできることを提供する。任意の所与のときに表示されるビジュアルコンテンツは、ノードのアセンブリとして表示され、ここで、特定のビューに必要なノードだけが、起動済みであり、すべての他のノードは、別のノードの一部として起動されることなく表示されるか、まったく表示されない。様々な他の実施形態が当業者に明白になること、および本発明が本明細書で説明された実施形態に限定されないことを理解されたい。   The foregoing provides that visual content can be displayed and navigated in a variety of ways, with virtually unlimited accuracy limited only by the capacity of the computer system on which the application is running. The visual content displayed at any given time is displayed as an assembly of nodes, where only the nodes needed for a particular view have been activated and all other nodes are in another node's Displayed as part of it, or not displayed at all. It should be understood that various other embodiments will be apparent to those skilled in the art and that the invention is not limited to the embodiments described herein.

[発明の名称]イメージをナビゲートする方法および装置 Method and apparatus for navigating an image

[技術分野]
本発明は、滑らかで連続的なナビゲーション動きの外見を提供する形で、オブジェクトのイメージ上で、ズームし、パンするなど、ナビゲートする方法および装置に関する。
[Technical field]
The present invention relates to a method and apparatus for navigating, such as zooming and panning over an image of an object, in a manner that provides a smooth and continuous navigation motion appearance.

[背景技術]
ほとんどの従来のグラフィカルコンピュータユーザインターフェース(GUI)は、固定された空間的スケールのビジュアルコンポーネントを使用して設計されているが、ビジュアルコンポーネントを、ディスプレイ上で固定された空間的スケールを有しなくなるように表現し、操作することができることが久しく認められており、実際に、ビジュアルコンポーネントをパンし、かつ/またはズームインもしくはズームアウトすることができる。イメージにズームインし、ズームアウトする能力は、例えば、地図を見ること、新聞などのテキストレイアウトのブラウジング、デジタル写真を見ること、青写真または図面を見ること、および他の大きいデータセットを見ることに関連して望ましい。
[Background]
Most conventional graphical computer user interfaces (GUIs) are designed with a fixed spatial scale visual component, but make the visual component no longer have a fixed spatial scale on the display. It has long been recognized that it can be expressed and manipulated, and in fact, visual components can be panned and / or zoomed in or out. The ability to zoom in and out of an image, for example, to view a map, browse a text layout such as a newspaper, view a digital photo, view a blueprint or drawing, and view other large data sets Desirable in relation.

Microsoft(登録商標) Word、Adobe(登録商標) Photo Shop、Adobe(登録商標) Acrobatなどの多数の既存のコンピュータアプリケーションには、ズーム可能なコンポーネントが含まれる。一般に、これらのコンピュータアプリケーションによって提供されるズーム機能は、ソフトウェアとのユーザの対話の周辺態様であり、ズーム機能は、時々用いられるだけである。これらのコンピュータアプリケーションは、ユーザが、滑らかに連続的にイメージ上でパンする(例えば、スクロールバーまたはカーソルを使用して、見られるイメージを左、右、上、または下に平行移動する)ことを可能にする。しかし、そのようなコンピュータアプリケーションに関する重要な問題は、これらのコンピュータアプリケーションが、ユーザが滑らかに連続的にズームすることを可能にしないことである。実際に、これらのコンピュータアプリケーションは、10%、25%、50%、75%、100%、150%、200%、500%など、離散的ステップでのズームを提供する。ユーザは、カーソルを使用して所望のズームを選択し、それに応答して、イメージは、選択されたズームレベルに不意に変化する。   Many existing computer applications, such as Microsoft® Word, Adobe® Photo Shop, Adobe® Acrobat, include zoomable components. In general, the zoom function provided by these computer applications is a peripheral aspect of user interaction with the software, and the zoom function is only occasionally used. These computer applications allow the user to pan smoothly and continuously over the image (eg, using a scroll bar or cursor to translate the viewed image left, right, up, or down). enable. However, an important problem with such computer applications is that these computer applications do not allow the user to zoom smoothly and continuously. In fact, these computer applications provide zoom in discrete steps such as 10%, 25%, 50%, 75%, 100%, 150%, 200%, 500%, etc. The user uses the cursor to select the desired zoom, and in response, the image unexpectedly changes to the selected zoom level.

不連続ズームの望ましくない質は、インターネットベースのコンピュータアプリケーションにも存在する。非特許文献2のウェブサイトを基礎とするコンピュータアプリケーションが、この点を示す。MapQuestウェブサイトは、ユーザが、1つまたは複数の住所を入力し、それに応答して道路地図のイメージを受信することを可能にする。図1〜4は、米国ニューヨーク州ロングアイランドの地域地図のクエリに応答してMapQuestウェブサイトから入手できるイメージの例である。MapQuestウェブサイトは、ユーザが、10レベルなどの離散レベルにズームインし、ズームアウトすることを可能にする。図24は、約100メートル/ピクセルであるズームレベル5のレンディションである。図25は、約35メートル/ピクセルであるズームレベル6のイメージである。図26は、約20メートル/ピクセルであるズームレベル7のイメージである。図27は、約10メートル/ピクセルであるズームレベル9のイメージである。   The undesirable quality of discontinuous zoom also exists in Internet-based computer applications. A computer application based on the website of Non-Patent Document 2 shows this point. The MapQuest website allows a user to enter one or more addresses and receive an image of a road map in response. 1-4 are examples of images that can be obtained from the MapQuest website in response to a regional map query for Long Island, New York. The MapQuest website allows users to zoom in and out to discrete levels, such as 10 levels. FIG. 24 is a rendition at zoom level 5 which is approximately 100 meters / pixel. FIG. 25 is a zoom level 6 image that is approximately 35 meters / pixel. FIG. 26 is an image at zoom level 7 which is approximately 20 meters / pixel. FIG. 27 is an image at zoom level 9 which is approximately 10 meters / pixel.

図1〜4を比較することによってわかるように、ズームレベルの間の不意の遷移は、ズームアウトするときの突然の不意の詳細の消失およびズームインするときの突然の不意の詳細の追加をもたらす。例えば、地方道路、二級道路、または連絡道路は、図24(ズームレベル5)では見ることができないが、二級道路および連絡道路は、まさに次のズームレベルである図25で突然に現れる。そのような不意の不連続性は、MapQuestウェブサイトを利用するときに非常に不愉快である。しかし、MapQuestソフトウェアアプリケーションが、例えばズームレベル5(図24)で一般道路のビューを許容するように変更された場合であっても、結果は、それでも不満足であることに留意されたい。地図の視覚的密度は、ズームレベルに伴って変化するはずであり、あるズームのレベルで、結果が満足になる可能性がある(例えば、レベル7すなわち図26で)が、ズームインしたときに、道路が太くはならず、地図が非常にまばらに見えるようになるはずである。ズームアウトしたときには、道路は、最終的に互いに混ざり合い、塗りつぶされた集団をすばやく形成し、この集団の中では、個々の道路が区別不能になるはずである。   As can be seen by comparing FIGS. 1-4, the unexpected transition between zoom levels results in the loss of sudden unexpected details when zooming out and the addition of sudden unexpected details when zooming in. For example, local roads, secondary roads, or connecting roads cannot be seen in FIG. 24 (zoom level 5), but secondary roads and connecting roads appear suddenly in FIG. 25, which is exactly the next zoom level. Such unexpected discontinuities are very unpleasant when using the MapQuest website. However, it should be noted that the results are still unsatisfactory even if the MapQuest software application is modified to allow, for example, a general road view at zoom level 5 (FIG. 24). The visual density of the map should change with the zoom level, and at some zoom level the results may be satisfactory (eg, at level 7 or FIG. 26), but when zoomed in The road should not be thick and the map should look very sparse. When zoomed out, the roads will eventually blend together and quickly form a filled population within which the individual roads will be indistinguishable.

道路地図のイメージでの滑らかで連続的なズームを提供する能力は、道路カテゴリに関連する様々なレベルの粗さのゆえに問題がある。米国には、道路の約5つのカテゴリ(米国勢調査局によって配布されるTIGER/Line Dataの下での分類による)、A1すなわち一級主要道路、A2すなわち一級道路、A3すなわち州道、二級道路、および連絡道路、A4すなわち一般道路、都市街路、および田舎道、ならびにA5すなわち未舗装道路がある。これらの道路は、全体的なオブジェクト(すなわち、道路地図)の要素と考えることができる。道路要素の粗さは、A3道路よりかなり多数のA4道路があり、A2道路よりかなり多数のA3道路があり、A1道路よりかなり多数のA2道路があるので現れる。さらに、道路の物理的寸法(例えば、その幅)は、大きく変化する。A1道路は、約16メートル幅である場合があり、A2道路は、約12メートル幅である場合があり、A3道路は、約8メートル幅である場合があり、A4道路は、約5メートル幅である場合があり、A5道路は、約2.5メートル幅である場合がある。   The ability to provide smooth and continuous zoom on road map images is problematic because of the various levels of roughness associated with road categories. In the United States, there are about five categories of roads (according to classification under TIGER / Line Data distributed by the US Census Bureau), A1 or primary road, A2 or primary road, A3 or state road, secondary road, And connecting roads, A4 or ordinary roads, city streets and country roads, and A5 or unpaved roads. These roads can be thought of as elements of the overall object (ie road map). The roughness of the road element appears because there are significantly more A4 roads than A3 roads, considerably more A3 roads than A2 roads, and much more A2 roads than A1 roads. Furthermore, the physical dimensions of the road (eg, its width) vary greatly. The A1 road may be about 16 meters wide, the A2 road may be about 12 meters wide, the A3 road may be about 8 meters wide, and the A4 road is about 5 meters wide And the A5 road may be about 2.5 meters wide.

MapQuestコンピュータアプリケーションは、特定のズームレベルで適当と思われる道路カテゴリだけを表示することによって、この変化するレベルの粗さを扱う。例えば、国全体のビューは、A1道路だけを示すことができ、州全体のビューは、A1道路およびA2道路を示すことができ、郡全体のビューは、A1道路、A2道路、およびA3道路を示すことができる。MapQuestが、道路地図の連続的ズームを可能にするように変更された場合であっても、この手法は、ズーム中の道路カテゴリの突然の出現および消滅につながり、これは、混乱を招き、視覚的に不愉快である。   The MapQuest computer application handles this varying level of roughness by displaying only those road categories that may be appropriate at a particular zoom level. For example, a country-wide view can show only A1 roads, a state-wide view can show A1 and A2 roads, and a county-wide view can show A1, A2, and A3 roads. Can show. Even when MapQuest is modified to allow continuous zooming of the road map, this approach leads to the sudden appearance and disappearance of the road category being zoomed, which is confusing, visual Is unpleasant.

[特許文献2]米国特許仮出願第60/475897号明細書
[特許文献3]米国特許仮出願第60/453897号明細書
[特許文献4]米国特許仮出願第60/553803号明細書
[非特許文献2]www.mapquest.com
[発明の開示]
[発明が解決しようとする課題]
前述に鑑みて、当技術分野には、オブジェクトの要素のサイズまたは重要性に基づいて、それらの要素の間の視覚的区別を保存すると同時に、イメージの滑らかで連続的なズームを許容する、複雑なオブジェクトのイメージをナビゲートする新しい方法および装置の必要がある。
[Patent Document 2] US Provisional Patent Application No. 60/475897
[Patent Document 3] US Provisional Patent Application No. 60/453897
[Patent Document 4] US Provisional Patent Application No. 60/553803
[Non-Patent Document 2] www.mapquest.com
[Disclosure of the Invention]
[Problems to be solved by the invention]
In view of the foregoing, the art has complexities that preserve the visual distinction between elements based on the size or importance of the elements of the object, while at the same time allowing smooth and continuous zooming of the image. There is a need for new methods and apparatus for navigating images of complex objects.

[課題を解決するための手段]
本発明の1つまたは複数の態様によれば、少なくとも1つのオブジェクトを有するイメージのズームインまたはズームアウトを含む様々なアクションを実行する方法および装置が企図され、ここで、少なくとも1つのオブジェクトの少なくともいくつかの要素は、ズームに関連する1つまたは複数のズームレベルに非物理的に比例する形でスケールアップされかつ/またはスケールダウンされる。
[Means for solving problems]
In accordance with one or more aspects of the present invention, a method and apparatus for performing various actions including zooming in or out of an image having at least one object is contemplated, wherein at least some of the at least one object. These elements are scaled up and / or scaled down in a manner that is non-physically proportional to one or more zoom levels associated with zoom.

非物理的に比例するスケーリングは、次の公式p=c・d・zaによって表すことができ、pは、そのズームレベルでのオブジェクトの1つまたは複数の要素のピクセル単位の直線サイズであり、cは、定数であり、dは、オブジェクトの1つまたは複数の要素の物理単位での直線サイズであり、zは、物理直線サイズ/ピクセルの単位でのズームレベルであり、aは、スケールべきであり、a≠−1である。 Non physically proportional scaling can be represented by the following formula p = c · d · z a , p is an linear size in pixels of one or more elements of the object at that zoom level , C are constants, d is the linear size in physical units of one or more elements of the object, z is the zoom level in physical linear size / pixel units, and a is the scale Should be a ≠ -1.

非物理的スケーリングの下では、スケールべきaは、ズームレベルz0およびz1の範囲内で−1と等しくなく(通常は−1<a<0である)、z0は、z1より小さい物理直線サイズ/ピクセルを有する。z0およびz1のうちの少なくとも1つは、オブジェクトの1つまたは複数の要素について変化することができることが好ましい。a、c、およびdも、要素ごとに変更できることに留意されたい。   Under non-physical scaling, a to be scaled is not equal to -1 within the zoom levels z0 and z1 (usually -1 <a <0), and z0 is a physical linear size / less than z1. Has pixels. Preferably, at least one of z0 and z1 can vary for one or more elements of the object. Note that a, c, and d can also vary from element to element.

少なくとも1つのオブジェクトの少なくともいくつかの要素は、ズームに関連する1つまたは複数のズームレベルに物理的に比例する形でもスケールアップされ、かつ/またはスケールダウンされることができる。物理的に比例するスケーリングは、次の公式p=c・d/zによって表すことができ、pは、そのズームレベルでのオブジェクトの1つまたは複数の要素のピクセル単位の直線サイズであり、cは、定数であり、dは、オブジェクトの1つまたは複数の要素の物理単位での直線サイズであり、zは、物理直線サイズ/ピクセルの単位でのズームレベルである。   At least some elements of the at least one object may also be scaled up and / or scaled down in a manner that is physically proportional to one or more zoom levels associated with zoom. The physically proportional scaling can be represented by the following formula p = c · d / z, where p is the linear size in pixels of one or more elements of the object at that zoom level, and c Is a constant, d is the linear size in physical units of one or more elements of the object, and z is the physical linear size / zoom level in pixels.

これまでに説明したおよび/またはこの文書で後で説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび/またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。   Any known processor, programmable digital device or method or apparatus described above and / or described later in this document that operates to execute standard digital circuits, analog circuits, software and / or firmware programs Note that any known technology can be used, such as a programmable digital system, a programmable array logic device, or any combination of the above. The invention can also be implemented in software programs for storage on suitable storage media and execution by processing units.

オブジェクトの要素は、変化する度合の粗さを有するものとすることができる。例えば、上で述べたように、道路地図オブジェクトの要素の粗さは、A3道路よりかなり多数のA4道路があり、A2道路よりかなり多数のA3道路があり、A1道路よりかなり多数のA2道路があるので現れる。道路カテゴリの粗さの度合は、平均道路長、交差点の頻度、および最大曲率などのプロパティにも現れる。他のイメージオブジェクトの要素の粗さは、その全体をリストするには多すぎる他の形で現れる可能性がある。したがって、所与の所定のイメージ内の要素のスケーリングは、(i)上記要素の粗さの度合および(ii)所与の所定のイメージのズームレベルのうちの少なくとも1つに基づいて物理的にまたは非物理的に比例するものとすることができる。例えば、オブジェクトは、道路地図とすることができ、オブジェクトの要素は、道路とすることができ、変化する度合の粗さは、道路階層とすることができる。したがって、所与の所定のイメージ内の所与の道路のスケーリングは、(i)所与の道路の道路階層および(ii)所与の所定のイメージのズームレベルに基づいて物理的にまたは非物理的に比例するものとすることができる。   The elements of the object can have varying degrees of roughness. For example, as described above, the roughness of the elements of the road map object is such that there are considerably more A4 roads than A3 roads, much more A3 roads than A2 roads, and much more A2 roads than A1 roads. It appears because there is. The degree of road category roughness also appears in properties such as average road length, intersection frequency, and maximum curvature. The roughness of the elements of other image objects may appear in other ways that are too many to list in their entirety. Thus, the scaling of an element in a given given image is physically based on at least one of (i) the degree of roughness of the element and (ii) the zoom level of the given given image. Or it may be non-physically proportional. For example, the object can be a road map, the object element can be a road, and the degree of change can be a road hierarchy. Thus, the scaling of a given road within a given given image can be physically or non-physically based on (i) the road hierarchy of the given road and (ii) the zoom level of the given given image. Can be proportional to each other.

本発明の1つまたは複数のさらなる態様によれば、道路地図の変化するズームレベルの複数の事前レンダリングされたイメージをクライアント端末で受信すること、ズーム情報を含む1つまたは複数のユーザナビゲーションコマンドをクライアント端末で受け取ること、およびナビゲーションコマンドのズーム情報に対応する中間ズームレベルの中間イメージのクライアント端末での表示が滑らかなナビゲーションの外見を提供するように、その中間イメージを入手するために、事前レンダリングされたイメージのうちの2又は3以上をブレンディングすることを含む様々なアクションを実行する、方法および装置が企図される。   According to one or more further aspects of the present invention, receiving a plurality of pre-rendered images of varying zoom levels of a road map at a client terminal, one or more user navigation commands including zoom information. Pre-rendering to obtain the intermediate image so that the client terminal receives and displays the intermediate image at the intermediate zoom level corresponding to the zoom information of the navigation command on the client terminal provides a smooth navigation appearance Methods and apparatus are contemplated that perform various actions including blending two or more of the rendered images.

本発明の1つまたは複数のさらなる態様によれば、少なくとも1つのオブジェクトの変化するズームレベルの複数の事前レンダリングされたイメージをクライアント端末で受信することであって、少なくとも1つのオブジェクトの少なくともいくつかの要素は、複数の所定のイメージを作るためにスケールアップされ、かつ/またはスケールダウンされ、スケーリングは、(i)ズームレベルに物理的に比例するおよび(ii)ズームレベルに非物理的に比例するのうちの少なくとも1つであるように受信することと、ズーム情報を含む1つまたは複数のユーザナビゲーションコマンドをクライアント端末で受け取ることと、ナビゲーションコマンドのズーム情報に対応する中間ズームレベルの中間イメージを入手するために、事前レンダリングされたイメージのうちの2又は3以上をブレンディングすることと、中間イメージをクライアント端末で表示することとを含む様々なアクションを実行する、方法および装置が企図される。   According to one or more further aspects of the present invention, receiving at a client terminal a plurality of pre-rendered images of varying zoom levels of at least one object, wherein at least some of the at least one object Are scaled up and / or scaled down to produce a plurality of predetermined images, the scaling being (i) physically proportional to the zoom level and (ii) non-physically proportional to the zoom level. Receiving at least one of the following: receiving at the client terminal one or more user navigation commands including zoom information; and an intermediate image at an intermediate zoom level corresponding to the zoom information of the navigation command Pre-render to get Performing the method comprising blending two or more of the grayed by image, the various actions and displaying the intermediate image at the client terminal, method and apparatus are contemplated.

本発明の1つまたは複数のさらなる態様によれば、道路地図の変化するズームレベルの複数の事前レンダリングされたイメージを通信チャネルを介してクライアント端末に送信することと、複数の事前レンダリングされたイメージをクライアント端末で受信することと、クライアント端末を使用してズーム情報を含む1つまたは複数のユーザナビゲーションコマンドを発行することと、ナビゲーションコマンドのズーム情報に対応する中間ズームレベルの中間イメージのクライアント端末での表示が滑らかなナビゲーションの外見をもたらすように中間イメージを入手するために、事前レンダリングされたイメージのうちの2又は3以上をブレンディングすることとを含む様々なアクションを実行する、方法および装置が企図される。   According to one or more further aspects of the present invention, transmitting a plurality of pre-rendered images of varying zoom levels of a road map to a client terminal over a communication channel, and a plurality of pre-rendered images At the client terminal, using the client terminal to issue one or more user navigation commands including zoom information, and an intermediate image client terminal at an intermediate zoom level corresponding to the zoom information of the navigation command A method and apparatus for performing various actions including blending two or more of the pre-rendered images to obtain an intermediate image so that the display on the screen provides a smooth navigation appearance Is contemplated.

本発明の1つまたは複数のさらなる態様によれば、少なくとも1つのオブジェクトの変化するズームレベルの複数の事前レンダリングされたイメージを通信チャネルを介してクライアント端末に送信することであって、少なくとも1つのオブジェクトの少なくともいくつかの要素は、複数の所定のイメージを作るためにスケールアップされ、かつ/またはスケールダウンされ、スケーリングは、(i)ズームレベルに物理的に比例するおよび(ii)ズームレベルに非物理的に比例するのうちの少なくとも1つであるように送信することと、複数の事前レンダリングされたイメージをクライアント端末で受信することと、クライアント端末を使用してズーム情報を含む1つまたは複数のユーザナビゲーションコマンドを発行することと、ナビゲーションコマンドのズーム情報に対応する中間ズームレベルの中間イメージを入手するために、事前レンダリングされたイメージのうちの2つをブレンディングすることと、中間イメージをクライアント端末で表示することとを含む様々なアクションを実行する、方法および装置が企図される。   According to one or more further aspects of the present invention, transmitting a plurality of pre-rendered images of varying zoom levels of at least one object to a client terminal via a communication channel, the method comprising: At least some elements of the object are scaled up and / or scaled down to create a plurality of predetermined images, the scaling being (i) physically proportional to the zoom level and (ii) to the zoom level Transmitting at least one of non-physically proportional; receiving a plurality of pre-rendered images at a client terminal; and using the client terminal to include zoom information Issuing multiple user navigation commands and navigating Various methods including blending two of the pre-rendered images and displaying the intermediate image at the client terminal to obtain an intermediate image at an intermediate zoom level corresponding to the zoom information of the navigation command Methods and apparatus for performing various actions are contemplated.

本発明の他の態様、特徴、および利益は、添付図面と共に本明細書の説明を解釈するときに、当業者に明白になる。   Other aspects, features, and benefits of the present invention will become apparent to those skilled in the art when interpreting the description herein in conjunction with the accompanying drawings.

本発明を例示するために、現在好ましい形が図面に示されているが、本発明が図示された正確な配置および手段に限定されないことを理解されたい。   For the purpose of illustrating the invention, there are shown in the drawings forms that are presently preferred, but it is to be understood that the invention is not limited to the precise arrangements and instrumentalities shown.

[発明を実施するための最良の形態]
ここで図面を参照すると、図面では、同種の符号が同種の要素を示すが、図5〜11に、米国ニューヨーク州ロングアイランドの道路網を表す一連のイメージが示されており、各イメージは、異なるズームレベル(または解像度)である。本発明がどのように実装されるかの技術的詳細を探求する前に、これらのイメージを、本発明を使用することの結果の望ましい特徴すなわち、少なくとも、情報完全性を維持しながらの、滑らかで連続的なナビゲーション、特にズームの外見に関連してこれから述べる。
[Best Mode for Carrying Out the Invention]
Referring now to the drawings, where like symbols indicate like elements, FIGS. 5-11 show a series of images representing the road network of Long Island, New York, each image being Different zoom levels (or resolutions). Before exploring the technical details of how the present invention is implemented, these images should be smoothed out while maintaining the desired characteristics of the results of using the present invention, ie, at least while maintaining information integrity. We will now discuss this in relation to continuous navigation, especially the appearance of zooming.

下で述べる本発明の様々な態様を、道路地図イメージのナビゲーション以外のコンテキストで適用できることに留意されたい。実際に、それについて本発明を用いることのできるイメージおよび実装の範囲は、その全体をリストするには多すぎる。例えば、本発明の特徴を、人間の解剖学、複雑なトポグラフィ、配線図または青写真などの工学図面、ジーンオントロジ(gene ontology)などのイメージをナビゲートするのに使用することができる。しかし、本発明は、その要素が変化する詳細レベルまたは粗さを有するイメージのナビゲートへの特定の適用可能性を有することがわかっている。したがって、短く明瞭にするために、本発明の様々な態様を、特定の例すなわち、道路地図のイメージに関連して述べる。   Note that the various aspects of the invention described below can be applied in contexts other than navigation of road map images. Indeed, the range of images and implementations for which the present invention can be used is too much to list in its entirety. For example, features of the present invention can be used to navigate human anatomy, complex topography, engineering drawings such as wiring diagrams or blueprints, images such as gene ontology. However, it has been found that the present invention has particular applicability to navigating images with varying levels of detail or roughness of the elements. Accordingly, for the sake of clarity and clarity, various aspects of the present invention will be described in the context of a particular example, namely a road map image.

特許文書内で滑らかで連続的なズームの外見を示すことは不可能であるが、この特徴は、Pentium(登録商標)ベースコンピュータ上で適切なソフトウェアプログラムを実行することによる実験およびプロトタイプ開発を介して実証された。図28に示された道路地図のイメージ100Aは、物理的長さ/ピクセル(または物理的直線サイズ/ピクセル)の単位によって特徴を表すことのできるズームレベルである。言い換えると、ズームレベルzは、イメージ100Aの単一ピクセルが表す実際の物理直線サイズを表す。図28では、ズームレベルは、約334メートル/ピクセルである。当業者は、請求される本発明の趣旨および範囲から逸脱せずに、ズームレベルを他の単位で表すことができることを諒解するであろう。図29は、図28と同一であるが、ズームレベルzが約191メートル/ピクセルである道路地図のイメージ100Bである。   While it is impossible to show a smooth and continuous zoom appearance in a patent document, this feature has been achieved through experiments and prototype development by running an appropriate software program on a Pentium®-based computer. Has been demonstrated. The road map image 100A shown in FIG. 28 is a zoom level at which features can be expressed in units of physical length / pixel (or physical line size / pixel). In other words, the zoom level z represents the actual physical line size represented by a single pixel of the image 100A. In FIG. 28, the zoom level is about 334 meters / pixel. Those skilled in the art will appreciate that zoom levels can be expressed in other units without departing from the spirit and scope of the claimed invention. FIG. 29 is an image 100B of a road map that is the same as FIG. 28 but has a zoom level z of about 191 meters / pixel.

本発明の1つまたは複数の態様によれば、本発明の1つまたは複数の態様を実施するソフトウェアプログラムのユーザは、図5および6に示されたレベルの間でズームインし、またはズームアウトすることができる。そのようなズームが、334メートル/ピクセルレベル(図28)から191メートル/ピクセルレベル(図29)およびその間の任意のレベルへ/からの滑らかで連続的な遷移の外見を有することに留意することが重要である。同様に、ユーザは、z=109.2メートル/ピクセル(図30)、z=62.4メートル/ピクセル(図31)、z=35.7メートル/ピクセル(図32)、z=20.4メートル/ピクセル(図33)、およびz=11.7メートル/ピクセル(図34)など、他のレベルにズームすることができる。やはり、これらのズームレベルおよびそれらの間のすべてのレベルを通る遷移は、滑らかで連続的な動きの外見を有利に有する。   In accordance with one or more aspects of the present invention, a user of a software program implementing one or more aspects of the present invention zooms in or out between the levels shown in FIGS. be able to. Note that such a zoom has the appearance of a smooth continuous transition from / to the 334 meter / pixel level (FIG. 28) to the 191 meter / pixel level (FIG. 29) and to any level in between. is important. Similarly, the user has z = 109.2 meters / pixel (FIG. 30), z = 62.4 meters / pixel (FIG. 31), z = 35.7 meters / pixel (FIG. 32), z = 20.4. Other levels can be zoomed, such as meters / pixel (FIG. 33) and z = 11.7 meters / pixel (FIG. 34). Again, transitions through these zoom levels and all levels in between advantageously have a smooth and continuous motion appearance.

図5〜11に示された本発明のもう1つの重要な特徴は、あるレベルから別のレベルにズームするときに、詳細がほとんどまたはまったく不意に現れず、消滅しないことである。図31(z=62.4メートル/ピクセルのズームレベル)に示された詳細は、図28(334メートル/ピクセルのズームレベル)でも見つけることができる。これは、この例では道路地図であるイメージオブジェクトが、変化する度合の粗さの要素(すなわち、道路)を含む場合であってもそうである。実際に、図31の道路地図100Dには、少なくとも102などのA1主要道路、104などのA3二級道路、および106などのA4地方道路が含まれる。それでも、これらの詳細は、A4地方道路106であっても、まだ図28のイメージ100Aで見ることができ、図28は、図31のイメージ100Dと比較してかなりズームアウトされている。   Another important feature of the present invention shown in FIGS. 5-11 is that when zooming from one level to another, little or no details appear and disappear unexpectedly. The details shown in FIG. 31 (z = 62.4 meters / pixel zoom level) can also be found in FIG. 28 (334 meters / pixel zoom level). This is the case even if the image object, which in this example is a road map, includes elements with varying degrees of roughness (ie roads). In fact, the road map 100D of FIG. 31 includes at least A1 main roads such as 102, A3 secondary roads such as 104, and A4 local roads such as 106. Nevertheless, these details can still be seen in the image 100A of FIG. 28, even on the A4 local road 106, which is considerably zoomed out compared to the image 100D of FIG.

さらに、A4地方道路106を、z=334メートル/ピクセル(図28)のズームレベルで見ることができるが、A1道路、A2道路、A3道路、およびA4道路を、互いから区別することができる。A1一級主要道路102とA2一級道路108との間の差であっても、レンダリングされたイメージ100A内でそのような道路に与えられる相対重みに関して、互いに区別することができる。   In addition, the A4 local road 106 can be seen at a zoom level of z = 334 meters / pixel (FIG. 28), but the A1, A2, A3, and A4 roads can be distinguished from each other. Even the difference between the A1 primary road 102 and the A2 primary road 108 can be distinguished from each other with respect to the relative weights given to such roads in the rendered image 100A.

道路階層の間で区別する能力は、ユーザが、例えば図33のイメージ100Fに示されたz=20.4メートル/ピクセルのズームレベルまでズームインし続けるときにも有利に維持される。A1一級主要道路102の重みは、図31のz=62.4メートル/ピクセルのズームレベルと比べて大きく増えるが、A4地方道路106またはA5未舗装道路などの他の詳細を覆い隠すほどの範囲まで増えはしない。それでも、A4地方道路106など、より下位の階層レベルの道路の重みは、図31のズームレベルz=62.4メートル/ピクセルでの対応物と比べて、重みにおいて大きく増える。   The ability to distinguish between road hierarchies is also advantageously maintained when the user continues to zoom in to a zoom level of, for example, z = 20.4 meters / pixel shown in image 100F of FIG. The weight of the A1 primary road 102 is greatly increased compared to the zoom level of z = 62.4 meters / pixel in FIG. 31, but is so large as to obscure other details such as the A4 local road 106 or the A5 dirt road. Will not increase. Nevertheless, the weight of lower level roads such as the A4 local road 106 is greatly increased in weight compared to the counterpart at zoom level z = 62.4 meters / pixel in FIG.

したがって、図28に示されたものと図34に示されたものとの間のズームレベルのダイナミックレンジは、かなりのものであり、詳細は、実質的に一貫したままである(すなわち、道路は、滑らかにズームしている間に突然に現れも消えもしない)が、ユーザが所与のズームレベルで入手しようと努める情報は、望ましくないアーチファクトによって隠されはしない。例えば、z=334メートル/ピクセルのズームレベル(図28)では、ユーザは、どの一級主要道路が存在し、それらがどの方向に伸びるかの全般的な感じを得ることを望む場合がある。この情報は、A4地方道路106も表示される場合であっても、たやすく得ることができる。z=62.4メートル/ピクセル(図31)というズームレベルでは、ユーザは、特定のA1一級主要道路102またはA2一級道路108が特定の都市またはその近隣に便益があるかどうかを判定することを望む場合がある。やはり、ユーザは、A4地方道路106またはA5未舗装道路の存在および広がりなど、他のはるかにより詳細な情報からの干渉なしに、この情報を入手することができる。最後に、11.7メートル/ピクセルのズームレベルでは、ユーザは、112などの特定のA4地方道路を見つけることに関心を持つ場合があり、A1一級主要道路102などの大幅により大きい道路による干渉なしにそれを行うことができる。   Thus, the dynamic range of the zoom level between that shown in FIG. 28 and that shown in FIG. 34 is substantial and details remain substantially consistent (ie, the road is The information that the user seeks to obtain at a given zoom level is not obscured by unwanted artifacts. For example, at a zoom level of z = 334 meters / pixel (FIG. 28), the user may want to get a general feeling of which primary roads exist and in which direction they extend. This information can be easily obtained even when the A4 local road 106 is also displayed. At a zoom level of z = 62.4 meters / pixel (FIG. 31), the user decides whether a particular A1 primary primary road 102 or A2 primary road 108 is beneficial to or in a particular city. May want. Again, the user can obtain this information without interference from other much more detailed information, such as the presence and spread of A4 local road 106 or A5 dirt road. Finally, at a zoom level of 11.7 meters / pixel, the user may be interested in finding a particular A4 local road, such as 112, without interference from a significantly larger road, such as the A1 primary primary road 102. Can do it.

上で述べた本発明の様々な態様のうちの1つまたは複数を達成するために、1つまたは複数のコンピューティングデバイスが、そのコンピューティングデバイスに適当なアクションを実行させる1つまたは複数のソフトウェアプログラムを実行することが企図されている。これに関して、図12〜13をこれから参照するが、図12〜13は、好ましくは1つまたは複数のコンピューティングデバイスおよび/または関連機器によって実行されるプロセスステップを示す流れ図である。   One or more software that causes one or more computing devices to perform appropriate actions to accomplish one or more of the various aspects of the invention described above. It is intended to execute the program. In this regard, reference is now made to FIGS. 12-13, which are flowcharts illustrating the process steps preferably performed by one or more computing devices and / or associated equipment.

このプロセスフローは、市販コンピューティング機器(Pentium(登録商標)ベースのコンピュータなど)によって実行されることが好ましいが、複数の他の技法のどれであっても、請求される本発明の趣旨および範囲から逸脱せずに、これらのプロセスステップを実行するのに用いることができる。実際に、用いられるハードウェアは、標準的なデジタル回路、アナログ回路、ソフトウェアおよび/またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブル読取専用メモリ(PROM)などの1つまたは複数のプログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス(PAL)、あるいは上記の任意の組合せなど、任意の他の既知のまたは下で開発されるテクノロジを利用して実装することができる。さらに、本発明の方法は、既知のまたは下で開発される媒体のいずれかに格納できるソフトウェアプログラムで実施することができる。   This process flow is preferably performed by a commercially available computing device (such as a Pentium®-based computer), but the spirit and scope of the claimed invention can be any of a number of other techniques. Can be used to perform these process steps without departing from the above. In practice, the hardware used is one or more of standard digital circuits, analog circuits, all known processors that operate to execute software and / or firmware programs, programmable read only memory (PROM), etc. Can be implemented utilizing any other known or below-developed technology, such as a programmable digital device or programmable digital system, a programmable array logic device (PAL), or any combination of the above. Furthermore, the method of the present invention can be implemented in a software program that can be stored on either known or underdeveloped media.

図35は、本発明の実施形態を示し、この実施形態では、アクション200で複数のイメージが準備され(それぞれ異なるズームレベルまたは解像度で)、これらのイメージのうちの2又は3以上が、一緒にブレンディングされて、ズームなどの滑らかなナビゲーションの外見を達成する(アクション206)。本発明を実践するのに必要ではないが、図35に示された手法は、サービスプロバイダ−クライアント関係に関連して用いられることが企図されている。例えば、サービスプロバイダは、複数の事前レンダリングされたイメージを準備する(アクション200)ためにリソースを費やし、これらのイメージを、インターネットなどの通信チャネルを介してユーザのクライアント端末から使用可能にする(アクション202)。あるいは、事前レンダリングされたイメージを、ユーザがそのユーザのコンピュータにロードし、そこで実行するアプリケーションプログラムの一体の部分または関連する部分とすることができる。   FIG. 35 illustrates an embodiment of the present invention in which multiple images are prepared in action 200 (each at a different zoom level or resolution), and two or more of these images are combined together. Blended to achieve a smooth navigational appearance such as zoom (action 206). Although not necessary to practice the invention, it is contemplated that the approach shown in FIG. 35 is used in connection with a service provider-client relationship. For example, the service provider spends resources to prepare multiple pre-rendered images (action 200) and make these images available to the user's client terminal via a communication channel such as the Internet (action 202). Alternatively, the pre-rendered image can be an integral or related part of the application program that the user loads onto the user's computer and executes there.

実験を通じて、ブレンディング手法が使用されるときに、次のズームレベルのイメージのセットが、イメージオブジェクトが道路地図であるときに良く働くことがわかっている:30メートル/ピクセル、50メートル/ピクセル、75メートル/ピクセル、100メートル/ピクセル、200メートル/ピクセル、300メートル/ピクセル、500メートル/ピクセル、1000メートル/ピクセル、および3000メートル/ピクセル。しかし、本発明の範囲から逸脱せずに、任意の個数のイメージを任意の個数の解像度で用いることができることに留意されたい。実際に、他のコンテキストの他のイメージオブジェクトは、特定のズームレベルが上の例と異なる場合に、より多数またはより少数のイメージによって最も良く供給される場合がある。   Through experiments, it has been found that when a blending approach is used, the following set of zoom level images works well when the image object is a road map: 30 meters / pixel, 50 meters / pixel, 75 Meter / pixel, 100 meter / pixel, 200 meter / pixel, 300 meter / pixel, 500 meter / pixel, 1000 meter / pixel, and 3000 meter / pixel. However, it should be noted that any number of images can be used at any number of resolutions without departing from the scope of the present invention. In fact, other image objects in other contexts may be best served by more or fewer images when the particular zoom level is different from the above example.

イメージがクライアント端末によってどのように入手されるかにかかわりなく、ズームコマンドなど、ユーザが開始したナビゲーションコマンドに応答して(アクション204)、クライアント端末は、そのナビゲーションコマンドと一致する中間解像度のイメージを作るために2又は3以上のイメージをブレンディングするように動作することが好ましい(アクション206)。このブレンディングは、その開示全体が参照によって本明細書に組み込まれている非特許文献1に記載の周知のトライリニア補間技法など、複数の方法によって達成することができる。双三次線形補間など、イメージ補間の他の手法も、本発明に関連して有用であり、さらに他の手法が、将来に開発される可能性がある。本発明が、これらのブレンディング方法のどの特定の1つも必要とせず、これに依存しないことに留意されたい。例えば、図31に示されているように、ユーザが、62.4メートル/ピクセルのズームレベルにナビゲートすることを望む場合がある。このズームレベルは、事前レンダリングされたイメージの2つの間にある可能性がある(この例では、ズームレベル50メートル/ピクセルとズームレベル75メートル/ピクセルとの間にある)ので、62.4メートル/ピクセルの所望のズームレベルは、トライリニア補間技法を使用して達成することができる。さらに、50メートル/ピクセルと75メートル/ピクセルとの間のすべてのズームレベルは、上で説明したブレンディング技法を利用して入手することができ、このブレンディング技法は、実行される場合に、滑らかで連続したナビゲーションの外見を十分にすばやく提供する。このブレンディング技法は、図32に示された35.7メートル/ピクセルなど、他のズームレベルまでやり遂げることができる。その場合に、このブレンディング技法は、これまでに述べた例の30メートル/ピクセルおよび50メートル/ピクセルの事前レンダリングされたイメージの間で実行することができる。   Regardless of how the image is obtained by the client terminal, in response to a user initiated navigation command, such as a zoom command (action 204), the client terminal displays an intermediate resolution image that matches the navigation command. It is preferred to operate to blend two or more images to create (action 206). This blending can be accomplished by a number of methods, such as the well-known trilinear interpolation technique described in Non-Patent Document 1, the entire disclosure of which is incorporated herein by reference. Other techniques for image interpolation, such as bicubic linear interpolation, are also useful in connection with the present invention, and other techniques may be developed in the future. It should be noted that the present invention does not require or depend on any particular one of these blending methods. For example, as shown in FIG. 31, the user may wish to navigate to a zoom level of 62.4 meters / pixel. This zoom level can be between two of the pre-rendered images (in this example, between a zoom level of 50 meters / pixel and a zoom level of 75 meters / pixel), so 62.4 meters The desired zoom level of / pixel can be achieved using trilinear interpolation techniques. Further, all zoom levels between 50 meters / pixel and 75 meters / pixel can be obtained using the blending technique described above, which, when performed, is smooth and smooth. Provide a continuous navigation look fast enough. This blending technique can be accomplished to other zoom levels, such as 35.7 meters / pixel shown in FIG. In that case, this blending technique can be performed between the 30 meter / pixel and 50 meter / pixel pre-rendered images of the examples described so far.

上のブレンディング手法は、本発明がそこで実行される処理ユニットの計算能力が、(i)まず第1にレンダリング動作を実行するのに、および/または、(ii)滑らかなナビゲーションのための高いイメージフレームレートを達成するためにイメージレンダリングを「ジャストインタイムで」または「オンザフライで」(例えば、リアルタイムで)実行するのに十分に高くはないときに、使用することができる。しかし、下で述べるように、本発明の他の実施形態は、ブレンディングアプリケーションおよび/または高フレームレートアプリケーションのためのクライアント端末でのレンダリングが可能な既知のまたは下で開発される高性能処理ユニットの使用を企図している。   The above blending approach is that the computing power of the processing unit in which the present invention is implemented is: (i) first to perform the rendering operation and / or (ii) high image for smooth navigation. It can be used when image rendering is not high enough to perform “just in time” or “on the fly” (eg, in real time) to achieve the frame rate. However, as described below, other embodiments of the present invention provide for high performance processing units known or developed below that are capable of rendering at client terminals for blending and / or high frame rate applications. Intended for use.

図36のプロセスフローは、本発明に従って1つまたは複数のイメージを準備するために行われることが好ましい詳細なステップおよび/またはアクションを示す。アクション220で、既知のまたは下で開発される技法のいずれかを使用して、1つまたは複数のイメージオブジェクトに関する情報を入手する。通常、そのようなイメージオブジェクトは、多角形、線、点などの適当なプリミティブを使用してモデリングされる。例えば、イメージオブジェクトが道路地図であるときには、すべての万国横メルカトル(UTM)ゾーン内の道路のモデルを、たやすく入手することができる。このモデルは、通常、そのゾーン内の道路を含む線分(任意の座標系内の)のリストの形である。このリストは、既知のまたは下で開発されるレンダリングプロセスのいずれかが、ピクセル(空間的)領域内の所与のプリミティブの重み(例えば、見かけの厚さまたは実際の厚さ)を決定するある種の技法を組み込んでいる限り、そのレンダリングプロセスを使用して空間的領域内のイメージ(ピクセルイメージ)に変換することができる。上の道路地図の例に従って、このレンダリングプロセスは、空間的領域内で道路地図の道路をモデリングする線の重みを決定する、ある種の技法を組み込まれなければならない。これらの技法を、下で述べる。   The process flow of FIG. 36 illustrates the detailed steps and / or actions that are preferably performed to prepare one or more images in accordance with the present invention. At action 220, information about one or more image objects is obtained using any of the known or developed techniques below. Typically, such image objects are modeled using appropriate primitives such as polygons, lines, points, etc. For example, when the image object is a road map, it is possible to easily obtain models of roads in all Universal Mercator (UTM) zones. This model is usually in the form of a list of line segments (in an arbitrary coordinate system) that includes roads in the zone. This list is either a known or under-developed rendering process determines the weight (eg, apparent thickness or actual thickness) of a given primitive in a pixel (spatial) region As long as it incorporates some sort of technique, it can be converted to an image (pixel image) in the spatial domain using its rendering process. In accordance with the road map example above, this rendering process must incorporate some sort of technique that determines the line weights that model the roads of the road map within the spatial domain. These techniques are described below.

アクション222(図36)では、オブジェクトの要素を分類する。道路地図オブジェクトの場合には、この分類は、既に存在するカテゴリすなわち、A1、A2、A3、A4、およびA5を認識することという形をとることができる。実際に、これらの道路要素は、変化する度合の粗さを有し、下で述べるように、この分類に基づいて異なってレンダリングされ得る。アクション224では、ズームレベルに基づいて、異なる道路要素に数学的スケーリングを適用する。下でより詳細に述べるように、この数学的スケーリングは、要素分類に基づいて変化するものとすることもできる。   In action 222 (FIG. 36), the elements of the object are classified. In the case of road map objects, this classification can take the form of recognizing categories that already exist, namely A1, A2, A3, A4, and A5. In fact, these road elements have varying degrees of roughness and can be rendered differently based on this classification, as described below. Action 224 applies mathematical scaling to different road elements based on the zoom level. As described in more detail below, this mathematical scaling can also vary based on element classification.

背景として、地図の道路などのイメージ要素をレンダリングする2つの従来の技法すなわち、実物理的スケーリングおよび事前設定ピクセル幅がある。実物理的スケーリング技法は、道路地図が、異なるスケールで道路の実際の物理的イメージを見ているかのようにレンダリングされることを規定する。例えば、A1主要道路は、16メートル幅である可能性があり、A2道路は、12メートル幅である可能性があり、A3道路は、8メートル幅である可能性があり、A4道路は、5メートル幅である可能性があり、A5道路は、2.5メートル幅である可能性がある。これは、地図の小さい領域にズームインしたときに、見る人にとって許容できるものである可能性があるが、ズームアウトしたときには、主要道路と重要でない道路との両方のすべての道路が、詳細に描くには細くなりすぎる。あるズームレベル、例えば州レベル(例えば、約200メートル/ピクセル)では、道路がまったく見られなくなるはずである。   As background, there are two conventional techniques for rendering image elements such as map roads: real physical scaling and preset pixel width. Real physical scaling techniques specify that a road map is rendered as if it were looking at the actual physical image of the road at different scales. For example, the A1 main road may be 16 meters wide, the A2 road may be 12 meters wide, the A3 road may be 8 meters wide, and the A4 road may be 5 meters wide. It may be metric wide and the A5 road may be 2.5 meters wide. This may be acceptable to the viewer when zoomed in on a small area of the map, but when zoomed out, all roads, both major and non-important, are detailed Too thin. At some zoom level, for example the state level (eg about 200 meters / pixel), the road should not be seen at all.

事前設定ピクセル幅手法は、すべての道路が、ディスプレイ上の幅で1ピクセルなど、あるピクセル幅であることを規定する。主要道路などの主な道路は、それらを2ピクセル幅などにすることによって強調することができる。残念ながら、この手法は、人がズームインし、ズームアウトするときに、地図の視覚的密度を変化させる。あるズームのレベルで、例えば小さいサイズの郡レベルで、結果が、満足である場合がある。しかし、ズームインするときには、道路は、太くならず、地図が過度にまばらに見えるようになる。さらに、ズームアウトするときには、道路は、互いに混ざり合い、塗りつぶされた集団をすばやく形成し、この集団の中では、個々の道路が区別不能になるはずである。   The preset pixel width approach specifies that all roads are a certain pixel width, such as one pixel wide on the display. Major roads such as main roads can be highlighted by making them 2 pixels wide or the like. Unfortunately, this approach changes the visual density of the map as a person zooms in and out. The result may be satisfactory at some zoom level, for example, at a small size county level. However, when zooming in, the road does not get thicker and the map becomes overly sparse. In addition, when zooming out, the roads will mix with each other and quickly form a filled population within which the individual roads will be indistinguishable.

本発明の1つまたは複数の態様によれば、アクション224で、イメージは、少なくともいくつかのイメージ要素が、下でより詳細に述べるパラメータに応じて、(i)ズームレベルに物理的に比例して、または、(ii)ズームレベルに非物理的に比例してのいずれかでスケールアップされ、かつ/またはスケールダウンされる形で作られる。   In accordance with one or more aspects of the present invention, at action 224, the image is (i) physically proportional to the zoom level, at least some image elements depending on the parameters described in more detail below. Or (ii) scaled up and / or scaled down either non-physically proportional to the zoom level.

「ズームレベルに物理的に比例する」スケーリングレベルは、要素のサイズが人間の目からの距離に伴って変化して見えるはずなので、道幅を表すピクセルの個数がズームレベルに伴って増加し、または減少することを意味することに留意されたい。物理サイズdのオブジェクトの見かけの長さyを与える遠近法の公式は、
y=c・d/x
であり、ここで、cは、有角透視を決定する定数であり、xは、見る人からのオブジェクトの距離である。
A scaling level “physically proportional to the zoom level” means that the size of the element should appear to change with distance from the human eye, so the number of pixels representing the road width increases with the zoom level, or Note that it means to decrease. The perspective formula that gives the apparent length y of an object of physical size d is
y = c · d / x
Where c is a constant that determines the angled perspective and x is the distance of the object from the viewer.

本発明では、物理直線サイズd´のオブジェクトのディスプレイピクセル単位の直線サイズpは、
p=d´・za
によって与えられ、ここで、zは、物理直線サイズ/ピクセル(例えば、メートル/ピクセル)単位でのズームレベルであり、aは、べき法則である。a=−1かつd´=d(オブジェクトの実際の物理直線サイズ)のときに、この式は、次元的に正しく、遠近法の公式と同等になり、p=yかつz=x/cである。これは、物理ズームと透視変換との間の同等を表し、ズームインは、見る人のより近くにオブジェクトを移動することと同等であり、ズームアウトは、オブジェクトをより遠くに移動することと同等である。
In the present invention, the line size p in units of display pixels of the object of the physical line size d ′ is
p = d ′ · z a
Where z is the zoom level in physical line size / pixel (eg, meters / pixel) and a is the power law. When a = −1 and d ′ = d (the actual physical line size of the object), this equation is dimensionally correct and is equivalent to the perspective formula, p = y and z = x / c is there. This represents the equivalent between physical zoom and perspective transformation, zooming in is equivalent to moving the object closer to the viewer, and zooming out is equivalent to moving the object further away. is there.

非物理的スケーリングを実装するためには、aに、−1以外のべき法則をセットすることができ、d´に、実際の物理直線サイズd以外の物理直線サイズをセットすることができる。道路地図のコンテキストでは、pが、道路の表示される幅をピクセル単位で表すことができ、d´が、帰せられる幅を物理単位で表すことができるが、「ズームレベルに非物理的に比例する」は、ディスプレイピクセル単位の道幅が、ズームレベルに物理的に比例すること以外の形でズームレベルに伴って増加し、または減少することすなわちa≠−1を意味する。スケーリングは、ある種の望ましい結果を達成する形でゆがめられる。   In order to implement non-physical scaling, a power law other than −1 can be set to a, and a physical line size other than the actual physical line size d can be set to d ′. In the context of a road map, p can represent the displayed width of the road in pixels, and d ′ can represent the resulting width in physical units, but “non-physically proportional to the zoom level. “Do” means that the road width in display pixels increases or decreases with zoom level in a manner other than being physically proportional to the zoom level, ie, a ≠ −1. Scaling is distorted in a way that achieves some desired result.

「直線サイズ」は、1次元のサイズを意味することに留意されたい。例えば、2次元オブジェクトを考慮し、その「直線サイズ」を2倍にする場合に、その面積は、4=22を乗じられる。2次元の場合に、オブジェクトの要素の直線サイズは、長さ、幅、半径、直径、および/またはユークリッド平面上でものさしを用いて読み取ることのできるすべての他の測定値を含むことができる。線の太さ、線の長さ、円または円盤の直径、多角形の1辺の長さ、および2点間の距離は、すべてが直線サイズの例である。この意味で、2次元での「直線サイズ」は、2Dユークリッド平面上のオブジェクトの2つの識別された点の間の距離である。例えば、直線サイズは、(dx2+dy2)の平方根をとることによって計算することができ、ここで、dx=x1−x0、dy=y1−y0であり、2つの識別された点は、デカルト座標(x0,y0)および(x1,y1)によって与えられる。 Note that "straight line size" means a one-dimensional size. For example, when a two-dimensional object is considered and its “straight line size” is doubled, the area is multiplied by 4 = 2 2 . In the two-dimensional case, the linear size of an object's elements can include length, width, radius, diameter, and / or any other measurement that can be read using a ruler on the Euclidean plane. Line thickness, line length, circle or disk diameter, polygon side length, and distance between two points are all examples of a straight line size. In this sense, “linear size” in two dimensions is the distance between two identified points of an object on a 2D Euclidean plane. For example, the line size can be calculated by taking the square root of (dx 2 + dy 2 ), where dx = x1-x0, dy = y1-y0 and the two identified points are Cartesian Given by the coordinates (x0, y0) and (x1, y1).

「直線サイズ」の概念は、3つ以上の次元に自然に拡張され、例えば、ボリュメトリックオブジェクトを考慮する場合に、その直線サイズを2倍にすることは、体積を8=23倍に増やすことを伴う。直線サイズの同様の測定値を、球の表面など、非ユークリッド空間について定義することもできる。 The concept of “straight line size” naturally extends to more than two dimensions, for example, when considering volumetric objects, doubling the straight line size increases the volume by 8 = 2 3 times. With that. Similar measurements of line size can also be defined for non-Euclidean spaces, such as the surface of a sphere.

すべてのべき法則a<0は、要素のレンダリングされるサイズを、ズームアウトのときに減らさせ、ズームインのときに増やさせる。a<−1のときには、要素のレンダリングされるサイズは、ズームアウトのときに、比例物理的スケーリングよりすばやく減る。逆に、−1<a<0のときには、レンダリングされる要素のサイズは、ズームアウトのときに比例物理的スケーリングよりゆっくり減る。   Every power law a <0 causes the rendered size of an element to decrease when zooming out and increase when zooming in. When a <−1, the rendered size of the element decreases more quickly than proportional physical scaling when zooming out. Conversely, when -1 <a <0, the size of the rendered element decreases more slowly than proportional physical scaling when zooming out.

本発明の少なくとも1つの態様によれば、p(z)は、所与のオブジェクトの所与の長さについて、実質的に連続的になることを許され、その結果、ナビゲーション中に、ユーザは、イメージの要素のサイズの突然のジャンプまたは不連続性を経験しなくなる(最も極端な不連続性、すなわちナビゲーション中の要素の突然の出現または消滅を許す従来の手法と異なって)。さらに、p(z)は、ズームアウトがオブジェクトの要素をより小さくし(例えば、道路がより細くなる)、ズームインがオブジェクトの要素をより大きくするように、ズームアウトに伴って単調に減少することが好ましい。これは、ユーザに、イメージのオブジェクトに関する身体性の感覚を与える。   In accordance with at least one aspect of the present invention, p (z) is allowed to be substantially continuous for a given length of a given object, so that during navigation, the user can No longer experience sudden jumps or discontinuities in the size of the elements of the image (unlike conventional approaches that allow the most extreme discontinuities, ie, the sudden appearance or disappearance of elements during navigation). Furthermore, p (z) decreases monotonically with zoom-out so that zoom-out makes the object's elements smaller (eg, the road becomes thinner) and zoom-in makes the object's elements larger. Is preferred. This gives the user a sense of physicality about the object of the image.

上で述べたスケーリング特徴は、図37に関してより十分に理解することができ、図37は、A1主要道路のピクセル単位のレンダリングされる線幅対メートル/ピクセル単位のズームレベルの両対数グラフである(x軸にlog(z)、y軸にlog(p)をプロットすることは、関係log(xa)=a・log(x)に起因してプロットが直線になるので便利である)。線(道)幅対ズームレベルプロットの基本的特性は、次の通りである。 The scaling features described above can be more fully understood with respect to FIG. 37, which is a log-log graph of pixel-rendered line width of A1 main road vs. zoom level in meters / pixel. (Plotting log (z) on the x-axis and log (p) on the y-axis is convenient because the plot is a straight line due to the relationship log (x a ) = a · log (x)). The basic characteristics of a line (road) width versus zoom level plot are as follows.

(i)道幅のスケーリングは、ズームインする(例えば、約0.5メートル/ピクセルまで)ときにズームレベルに物理的に比例するものとすることができ、
(ii)道幅のスケーリングは、ズームアウトする(例えば、約0.5メートル/ピクセルまで)ときにズームレベルに非物理的に比例するものとすることができ、
(iii)道幅のスケーリングは、さらにズームアウトする(例えば、下でより詳細に述べるパラメータに応じて、約50メートル/ピクセル以上を超えて)ときにズームレベルに物理的に比例するものとすることができる。
(I) Road width scaling can be physically proportional to the zoom level when zooming in (eg, up to about 0.5 meters / pixel);
(Ii) Road width scaling can be non-physically proportional to the zoom level when zooming out (eg, up to about 0.5 meters / pixel);
(Iii) Road width scaling shall be physically proportional to the zoom level when further zooming out (eg, greater than about 50 meters / pixel or more, depending on the parameters described in more detail below). Can do.

道幅のスケーリングがズームレベルに物理的に比例するゾーンに関して、p=d’・zaというスケーリング公式が用いられ、ここで、a=−1である。この例では、実際のA1主要道路の物理的幅に関する適度な値は、約d’=16メートルである。したがって、A1主要道路を表す線のレンダリングされる幅は、少なくともあるズームレベルz0、例えばz0=0.5メートル/ピクセルまでズームアウトするときに、物理的スケーリングに伴って単調に減少する。 Respect zone road width scaling is physically proportional to the zoom level, p = d '· z a scaling formulas are used that, where it is a = -1. In this example, a reasonable value for the physical width of the actual A1 main road is about d ′ = 16 meters. Thus, the rendered width of the line representing the A1 main road decreases monotonically with physical scaling when zooming out to at least some zoom level z0, eg, z0 = 0.5 meters / pixel.

z0=0.5に関するズームレベルは、それ未満で物理的スケーリングが適用される内側スケールになるように選択される。これによって、道路地図が実際の物理寸法を有する他のより微細なスケールのGISコンテンツと組み合わされるときの非物理的外見が防がれる。この例では、z0=0.5メートル/ピクセルまたは2ピクセル/メートルは、15インチ(38.1センチメートル)ディスプレイ(1600×1200ピクセル解像度を有する)上の地図スケールとして表されるときに、約1:2600の縮尺に対応する。A1道路の適度な実際の物理的幅であるd=16メートルでは、レンダリングされる道路は、ズームインされる(0.5メートル/ピクセル以下)ときにその実際のサイズであるように見える。0.1メートル/ピクセルのズームレベルでは、レンダリングされる線は、約160ピクセル幅である。0.5メートル/ピクセルのズームレベルでは、レンダリングされる線は、約32ピクセル幅である。   The zoom level for z0 = 0.5 is selected to be the inner scale below which physical scaling is applied. This prevents the non-physical appearance when the road map is combined with other finer scale GIS content with actual physical dimensions. In this example, z0 = 0.5 meters / pixel, or 2 pixels / meter, when expressed as a map scale on a 15 inch (38.1 centimeter) display (with 1600 × 1200 pixel resolution) 1: corresponds to a scale of 2600. At d = 16 meters, which is a reasonable actual physical width of the A1 road, the rendered road appears to be its actual size when zoomed in (less than 0.5 meters / pixel). At a zoom level of 0.1 meters / pixel, the rendered line is approximately 160 pixels wide. At a zoom level of 0.5 meters / pixel, the rendered line is approximately 32 pixels wide.

道幅のスケーリングがズームレベルに非物理的に比例するゾーンに関して、p=d’・zaというスケーリング公式が用いられ、−1<a<0である(ズームレベルz0およびz1の範囲内で)。この例では、非物理的スケーリングが、約z0=0.5メートル/ピクセルとz1=3300メートル/ピクセルとの間で実行される。やはり、−1<a<0のときに、レンダリングされる道路の幅は、ズームアウトのときに比例物理的スケーリングの場合よりゆっくり減少する。有利なことに、これによって、A1道路は、ズームアウトのときに可視(かつ、他のより小さい道路から区別可能)のままであることが可能になる。例えば、図28に示されているように、A1道路102は、z=334メートル/ピクセルのズームレベルで、可視であり、他の道路から区別可能のままである。A1道路の物理的な幅が、d’=d=16メートルであると仮定すると、物理的スケーリングを使用してレンダリングされる線の幅は、約3300メートル/ピクセルのズームレベルで約0.005ピクセルであり、事実上不可視にレンダリングされるはずである。しかし、非物理的スケーリングを使用すると、−1<a<0の場合に(この例では、aは約−0.473である)、レンダリングされる線の幅は、3300メートル/ピクセルのズームレベルで約0.8ピクセルであり、明瞭に可視にレンダリングされる。 Road width scaling is with respect to the zone of non-physically proportional to the zoom level, p = d '· z a scaling formula is used that is a -1 <a <0 (in the range of zoom level z0 and z1). In this example, non-physical scaling is performed between approximately z0 = 0.5 meters / pixel and z1 = 3300 meters / pixel. Again, when -1 <a <0, the width of the rendered road decreases more slowly when zooming out than with proportional physical scaling. Advantageously, this allows the A1 road to remain visible (and distinguishable from other smaller roads) when zoomed out. For example, as shown in FIG. 28, A1 road 102 is visible at a zoom level of z = 334 meters / pixel and remains distinguishable from other roads. Assuming that the physical width of the A1 road is d ′ = d = 16 meters, the width of the line rendered using physical scaling is about 0.005 at a zoom level of about 3300 meters / pixel. Pixels and should be rendered virtually invisible. However, using non-physical scaling, when -1 <a <0 (in this example, a is approximately -0.473), the width of the rendered line is a zoom level of 3300 meters / pixel. Is approximately 0.8 pixels and is rendered clearly visible.

z1の値は、所与の道路がそれでも「物理的重要性より高い」重要性を有する最もズームアウトされたスケールになるように選択されることに留意されたい。例えば、米国全体が、1600×1200ピクセルのディスプレイ上でレンダリングされる場合に、この解像度は、約3300メートル/ピクセルまたは3.3キロメートル/ピクセルになるはずである。世界全体を見る場合に、米国主要道路が国だけのビューに対して相対的な高められた重要性を帯びる理由はない可能性がある。   Note that the value of z1 is chosen so that a given road is the most zoomed out scale that still has a “higher than physical importance” importance. For example, if the entire United States is rendered on a 1600 × 1200 pixel display, this resolution should be about 3300 meters / pixel or 3.3 kilometers / pixel. When looking at the world as a whole, there may be no reason why major US roads have an increased importance relative to the country-only view.

したがって、上の例では約3300メートル/ピクセルであるz1を超えるズームレベルでは、道幅のスケーリングは、やはり、ズームレベルに物理的に比例するが、好ましくは、p(z)の連続性のためにより大きいd’(実際の幅dよりはるかに大きい)を有する。このゾーンでは、p=d’・zaというスケーリング公式が用いられ、a=−1である。レンダリングされる道幅が、z1=3300メートル/ピクセルで連続的になるために、A1主要道路の新しい帰せられる物理的幅、例えばd’=1.65キロメートルが選択される。z1およびd’の新しい値は、外側スケールz1で、線のレンダリングされる幅が適度な個数のピクセルになるように選択されることが好ましい。この場合に、国全体をディスプレイ上で見ることができるズームレベル(約3300メートル/ピクセル)で、A1道路は、約1/2ピクセル幅とすることができ、この幅は、細いがまだ明瞭に可視であり、これは、1650メートルまたは1.65キロメートルの帰せられる物理的道幅に対応する。 Thus, at zoom levels above z1, which is about 3300 meters / pixel in the above example, the road width scaling is still physically proportional to the zoom level, but preferably due to the continuity of p (z) Has a large d ′ (much larger than the actual width d). In this zone, the scaling formula p = d ′ · z a is used, where a = −1. In order for the rendered road width to be continuous at z1 = 3300 meters / pixel, a new attributed physical width of the A1 main road, for example d ′ = 1.65 km, is selected. The new values of z1 and d ′ are preferably chosen so that the rendered width of the line is a reasonable number of pixels at the outer scale z1. In this case, at a zoom level (about 3300 meters / pixel) where the whole country can be seen on the display, the A1 road can be about 1/2 pixel wide, which is thin but still clear. Visible, which corresponds to a resulting physical road width of 1650 meters or 1.65 kilometers.

上は、ズームレベルの関数としてのレンダリングされる線幅に関する次の方程式の特定の組を暗示する。   The above implies a specific set of equations for the rendered line width as a function of zoom level:

p(z)=d0・z-1、z≦z0の場合
p(z)=d1・za、z0<z<z1の場合
p(z)=d2・z-1、z≧z1の場合
p(z)の上の形は、6つのパラメータすなわちz0、z1、d0、d1、d2、およびaを有する。z0およびz1は、p(z)の挙動が変化するスケールをマークする。ズームインされたゾーン(z≦z0)では、ズームは、物理的であり(すなわち、zの指数は−1であり)、d0の物理的幅を有し、これは、実際の物理的幅dに対応することが好ましい。ズームアウトされたゾーン(z≧z1)では、ズームは、やはり物理的であるが、d1の物理的幅を有し、これは、一般にdに対応しない。z0とz1との間では、レンダリングされる線幅は、aのべき法則を用いてスケーリングされ、このaは、−1以外の値とすることができる。p(z)が連続的であるというプリファレンスを与えられれば、z0、z1、d0、およびd2を指定することは、図37に明瞭に示されているように、d1およびaを一意に決定するのに十分である。
When p (z) = d0 · z −1 and z ≦ z0 When p (z) = d1 · z a and z0 <z <z1 When p (z) = d2 · z −1 and z ≧ z1 p The upper form of (z) has six parameters: z0, z1, d0, d1, d2, and a. z0 and z1 mark the scale on which the behavior of p (z) changes. In the zoomed-in zone (z ≦ z0), the zoom is physical (ie, the index of z is −1) and has a physical width of d0, which is equal to the actual physical width d. It is preferable to correspond. In the zoomed out zone (z ≧ z1), the zoom is still physical but has a physical width of d1, which generally does not correspond to d. Between z0 and z1, the rendered line width is scaled using the power law of a, which can be a value other than -1. Given the preference that p (z) is continuous, specifying z0, z1, d0, and d2 uniquely determines d1 and a, as clearly shown in FIG. Enough to do.

上でA1道路に関して述べた手法は、道路地図オブジェクトの他の道路要素に適用することができる。このスケーリング技法のA1道路、A2道路、A3道路、A4道路、およびA5道路への適応の例を、図38の両対数グラフに示す。この例では、すべての道路についてz0=0.5メートル/ピクセルであるが、この値は、コンテキストに応じて、要素ごとに変更することができる。A2道路は、一般にA1道路より多少狭いので、d0=12メートルである。さらに、A2道路は、例えば米国の州レベルで、「重要」であり、したがって、z1=312メートル/ピクセルであり、これは、おおむね、単一の州に関するレンダリング解像度(直線スケールで国の約1/10)である。このスケールでは、1ピクセルの線幅が望ましいことがわかっており、したがって、d2=312メートルは、適度なセッティングである。   The technique described above for the A1 road can be applied to other road elements of the road map object. An example of the application of this scaling technique to A1, A2, A3, A4, and A5 roads is shown in the log-log graph of FIG. In this example, z0 = 0.5 meters / pixel for all roads, but this value can vary from element to element depending on context. Since the A2 road is generally somewhat narrower than the A1 road, d0 = 12 meters. In addition, A2 roads are “important”, eg, at the US state level, and thus z1 = 312 meters / pixel, which is roughly the rendering resolution for a single state (approximately 1 of the country on a linear scale). / 10). At this scale, a line width of 1 pixel has been found desirable, so d2 = 312 meters is a reasonable setting.

上でA1道路およびA2道路に関して概要を示した一般的手法を使用して、道路地図オブジェクトの残りの要素のパラメータを確立することができる。A3道路については、d0=8メートル、z0=0.5メートル/ピクセル、z1=50メートル/ピクセル、およびd2=100メートルである。A4街路については、d0=5メートル、z0=0.5メートル/ピクセル、z1=20メートル/ピクセル、およびd2=20メートルである。A5未舗装道路については、d0=2.5メートル、z0=0.5メートル/ピクセル、z1=20メートル/ピクセル、およびd2=20mである。これらのパラメータセッティングを使用すると、A5未舗装道路は、ズームアウトされたズームレベルではますます街路に似て見えるが、ズームインされたときの物理的スケールは、半分の幅になることに留意されたい。   Using the general approach outlined above for the A1 and A2 roads, the parameters of the remaining elements of the road map object can be established. For the A3 road, d0 = 8 meters, z0 = 0.5 meters / pixel, z1 = 50 meters / pixel, and d2 = 100 meters. For the A4 street, d0 = 5 meters, z0 = 0.5 meters / pixel, z1 = 20 meters / pixel, and d2 = 20 meters. For A5 unpaved roads, d0 = 2.5 meters, z0 = 0.5 meters / pixel, z1 = 20 meters / pixel, and d2 = 20 m. Note that using these parameter settings, the A5 dirt road looks more like a street at the zoomed out zoom level, but the physical scale when zoomed in is half as wide. .

図38の両対数プロットに、道路タイプに関するスケーリング挙動を要約する。すべてのスケールで、A1>A2>A3>A4>=A5という見かけの幅に留意されたい。また、未舗装道路を除いて、べき法則のすべてが、a=−0.41の近傍に現れることに留意されたい。破線のすべてが、−1の傾きを有し、異なる物理的幅での物理的スケーリングを表す。上から下に、これらの破線の対応する物理的幅は、1.65キロメートル、312メートル、100メートル、20メートル、16メートル、12メートル、8メートル、5メートル、および2.5メートルである。   The logarithmic plot of FIG. 38 summarizes the scaling behavior for road types. Note the apparent width of A1> A2> A3> A4> = A5 at all scales. Also note that all of the power laws, with the exception of dirt roads, appear in the vicinity of a = −0.41. All of the dashed lines have a slope of −1 and represent physical scaling with different physical widths. From top to bottom, the corresponding physical widths of these dashed lines are 1.65 kilometers, 312 meters, 100 meters, 20 meters, 16 meters, 12 meters, 8 meters, 5 meters, and 2.5 meters.

複数の事前レンダリングされたイメージの間の補間が使用されるときには、多くの場合に、結果の補間が、物理的スケーリングの式および非物理的スケーリングの式によって決定される正しいピクセル幅のすべての線または他のプリミティブ幾何要素の理想的なレンディションから人間には区別不能またはほぼ区別不能であることを保証することが、可能である。本発明のこの代替実施形態を諒解するために、アンチエイリアシングされた線画に関するある背景を、下で提示する。   When interpolation between multiple pre-rendered images is used, in many cases the resulting interpolation will be all lines of the correct pixel width determined by physical and non-physical scaling equations Or it is possible to ensure that humans are indistinguishable or nearly indistinguishable from ideal renditions of other primitive geometric elements. In order to appreciate this alternative embodiment of the present invention, some background regarding anti-aliased line drawings is presented below.

アンチエイリアシングされた線画の議論を、上で長々と述べた道路地図の例に従って提示するが、上の道路地図の例では、すべてのプリミティブ要素が、線であり、線幅は、前に説明したようにスケーリングの式に支配される。図39Aを参照すると、白の背景の上に黒で描かれ、線の水平位置がピクセルグリッドに正確に位置合せされている1ピクセル幅の垂直線は、単純に、白の背景の上の黒ピクセルの1ピクセル幅の列からなる。本発明の様々な態様によれば、線幅が非整数個数のピクセルである場合を考慮し、これに対処することが望ましい。図39Bを参照すると、線の端点が固定されたままであるが、線の重みが1.5ピクセル幅に増やされる場合に、アンチエイリアシングされたグラフィックスディスプレイ上では、中央列の左右のピクセルの列は、25%グレイで描かれる。図39Cを参照すると、2ピクセル幅では、これらの側面に位置する列は、50%グレイで描かれる。図39Dを参照すると、3ピクセル幅では、これらの側面に位置する列は、100%黒で描かれ、その結果は、期待される通り、3つの塗りつぶされた黒の列である。   The discussion of anti-aliased line art is presented according to the example of a road map described at length above, where all primitive elements are lines and line widths are described earlier. As governed by the scaling equation. Referring to FIG. 39A, a one pixel wide vertical line drawn in black on a white background and the horizontal position of the line precisely aligned to the pixel grid is simply black on a white background. It consists of a 1 pixel wide column of pixels. In accordance with various aspects of the present invention, it is desirable to address and address the case where the line width is a non-integer number of pixels. Referring to FIG. 39B, the left and right pixel columns in the center column on an anti-aliased graphics display when the line endpoint remains fixed but the line weight is increased to 1.5 pixel width. Is drawn in 25% gray. Referring to FIG. 39C, at 2 pixels wide, the columns located on these sides are drawn in 50% gray. Referring to FIG. 39D, at 3 pixels wide, the columns located on these sides are drawn in 100% black, and the result is three filled black columns as expected.

ピクセル化されたディスプレイで非整数幅の線を描くこの手法は、線幅が変化するときに視覚的連続性の感覚(または錯覚)をもたらし、異なる幅の線が、幅において1ピクセルの分数だけ異なる場合であっても、それらの線を明瞭に区別できるようにする。一般に、この手法は、アンチエイリアシングされた線画として知られているが、描かれる線に対する垂線での輝度関数(または、白の背景の上の黒の線については「1−輝度」関数)の線積分が線幅と等しいことを保証するように設計される。この方法は、その端点が正確にピクセルの中心にあるのではない線、垂直以外の方位の線、および曲線にたやすく一般化される。   This technique of drawing non-integer width lines on a pixelated display provides a visual continuity sensation (or illusion) when the line width changes, with different width lines being a fraction of one pixel in width Make sure that the lines are clearly distinguishable, even if they are different. In general, this technique is known as anti-aliased line drawing, but it is a line of luminance function perpendicular to the line drawn (or “1-luminance” function for black lines on a white background). Designed to ensure that the integral is equal to the line width. This method is easily generalized to lines whose endpoints are not exactly in the center of the pixel, lines with orientations other than vertical, and curves.

図16A〜Dのアンチエイリアスされた垂直線を描くことは、一方(イメージA)は線が1ピクセル幅であり、他方(イメージB)は線が3ピクセル幅である2つのイメージのアルファブレンディングによって達成することもできることに留意されたい。アルファブレンディングは、ディスプレイ上の各ピクセルに(1−アルファ)*(イメージA内の対応するピクセル)+アルファ*(イメージB内の対応するピクセル)を割り当てる。アルファが0と1との間で変化するときに、レンダリングされる線の有効幅は、1ピクセルと3ピクセルとの間で滑らかに変化する。このアルファブレンディング手法は、イメージAおよびB内の2つのレンダリングされる線幅の間の差が1ピクセル以下の最も一般的な場合に限ってよい視覚的結果を作り、それ以外の場合には、線は、中間幅で後光がさして見える可能性がある。この同一の手法を、点、多角形、および異なる直線サイズの多数の他のプリミティブ幾何要素のレンダリングに適用することができる。   Drawing the anti-aliased vertical lines of FIGS. 16A-D is accomplished by alpha blending of two images where one (image A) is one pixel wide and the other (image B) is three pixels wide. Note that you can also. Alpha blending assigns (1-alpha) * (corresponding pixel in image A) + alpha * (corresponding pixel in image B) to each pixel on the display. When alpha changes between 0 and 1, the effective width of the rendered line changes smoothly between 1 and 3 pixels. This alpha blending technique produces a visual result that may be limited to the most common case where the difference between the two rendered line widths in images A and B is less than or equal to one pixel, otherwise, Lines may appear behind the light with an intermediate width. This same approach can be applied to the rendering of points, polygons, and many other primitive geometric elements of different line sizes.

もう一度図16A〜Dに移ると、1.5ピクセル幅の線(図39B)および2ピクセル幅の線(図39C)は、1ピクセル幅の線(図39A)と3ピクセル幅の線(図39D)との間のアルファブレンディングによって構成することができる。図17A〜Cを参照すると、1ピクセル幅の線(図40A)、2ピクセル幅の線(図40B)、および3ピクセル幅の線(図40C)が、任意の方位で示されている。線がピクセルグリッドに正確に位置合せされている場合と同一の原理が、図17A〜Cの任意の方位にも適用されるが、その間でアルファブレンディングが行われる線幅の間隔は、よい結果のために2ピクセルより微細にする必要がある場合がある。   Turning again to FIGS. 16A-D, the 1.5 pixel wide line (FIG. 39B) and the 2 pixel wide line (FIG. 39C) are the 1 pixel wide line (FIG. 39A) and the 3 pixel wide line (FIG. 39D). ) Between and alpha blending. Referring to FIGS. 17A-C, a 1 pixel wide line (FIG. 40A), a 2 pixel wide line (FIG. 40B), and a 3 pixel wide line (FIG. 40C) are shown in any orientation. The same principle as when the lines are precisely aligned to the pixel grid applies to any orientation of FIGS. 17A-C, but the spacing of the line widths between which alpha blending takes place is a good result. Therefore, it may be necessary to make the pixel finer than 2 pixels.

現在の地図の例のコンテキストで、異なる解像度のイメージのセットを、図14〜15の両対数プロットに関する事前レンディションのために選択することができる。例えば、ここで図41を参照するが、図41は、水平線および垂直線の組を含むことを除いて、図37に実質的に類似する。水平線は、1ピクセルの増分で、1ピクセルと10ピクセルとの間の線幅を示す。垂直線は、2つの隣接する垂直線の間のインターバルにまたがる線幅が2ピクセルを超えて変化しないように間隔をおかれている。したがって、垂直線は、事前レンディションに適切なズーム値のセットを表し、2つの隣接するそのような事前レンダリングされたイメージの間のアルファブレンディングは、連続的に可変の幅で道路を表す線のレンダリングとほぼ同等の特性を生み出す。   In the context of the current map example, a set of images with different resolutions can be selected for pre-rendition with respect to the log-log plot of FIGS. For example, referring now to FIG. 41, FIG. 41 is substantially similar to FIG. 37 except that it includes a set of horizontal and vertical lines. A horizontal line indicates a line width between 1 and 10 pixels in 1 pixel increments. The vertical lines are spaced so that the line width across the interval between two adjacent vertical lines does not change more than two pixels. Thus, a vertical line represents a set of zoom values appropriate for pre-rendition, and alpha blending between two adjacent such pre-rendered images is a continuously variable line of road representing a road. Produces almost the same characteristics as rendering.

図41に示された垂直線によって表される6つの解像度の間の補間は、約9メートル/ピクセル以上で図示のスケーリング曲線を使用してA1主要道路を正確にレンダリングするのに十分である。約9メートル/ピクセル未満のレンディションは、そのようなビューが非常にズームインされており、したがって非常に少数の道路を示すので、事前レンディションを必要とせず、これらをベクトルにレンダリングすることを、事前レンダリングされたイメージの間での補間より計算的に効率的(かつ、データ格納要件に関してより効率的)にする。約1000メートル/ピクセルを超える解像度では(そのようなビューは、地球の表面の大きい部分を含む)、最終的な事前レンダリングされたイメージだけを使用することができる。というのは、これが、1ピクセル幅の線を使用するレンディションであるからである。単一ピクセルより細い線は、同一ピクセルをよりかすかにレンダリングする。したがって、A1線が0.5ピクセル幅であるイメージを作るためには、1ピクセル幅の線のイメージに、0.5のアルファをかけることができる。   Interpolation between the six resolutions represented by the vertical lines shown in FIG. 41 is sufficient to accurately render the A1 main road using the illustrated scaling curve above about 9 meters / pixel. A rendition of less than about 9 meters / pixel would render such a vector into a vector without the need for a prior rendition, as such views are very zoomed in and thus show very few roads. Make it computationally more efficient (and more efficient with respect to data storage requirements) than interpolation between pre-rendered images. At resolutions above about 1000 meters / pixel (such views include large portions of the Earth's surface), only the final pre-rendered image can be used. This is because this is a rendition using a 1 pixel wide line. Lines thinner than a single pixel render the same pixel faintly. Thus, to create an image where the A1 line is 0.5 pixels wide, an image of a 1 pixel wide line can be multiplied by 0.5 alpha.

実際には、解像度の間の各インターバルにまたがって、図38のスケーリング曲線のすべてが1ピクセルを超えて変化しないように、解像度の多少より大きいセットが事前レンダリングされる。許容される変動を1ピクセルに減らすことは、改善されたレンダリング品質をもたらすことができる。特筆すべきことに、その開示全体が参照によって本明細書に組み込まれている同時係属の、「SYSTEM AND METHOD FOR EXACT RENDERING IN A ZOOMING USER INTERFACE」と題する2004年3月1日出願の特許文献1(代理人整理番号489/2)で企図され、述べられているタイリング技法を、本発明に関連して考慮することができる。このタイリング技法は、特定のズームレベルが事前レンダリングされたイメージと一致しない場合であっても、そのレベルでイメージを解決するのに用いることができる。解像度の多少より大きいセット内の各イメージが、適当な解像度で事前レンダリングされ、タイリングされる場合に、その結果は、すべての線が、本明細書で開示されるスケーリングの式に従って、幅において連続的に変化するように見える、任意の複雑さの道路地図を通ってズームしパンするナビゲーション用の完全なシステムである。   In practice, over each interval between resolutions, a slightly larger set of resolutions is pre-rendered so that all of the scaling curves in FIG. 38 do not change more than one pixel. Reducing the allowed variation to 1 pixel can result in improved rendering quality. Notably, the co-pending patent document 1 filed on March 1, 2004 entitled “SYSTEM AND METHOD FOR EXACT RENDERING IN A ZOOMING USER INTERFACE,” the entire disclosure of which is incorporated herein by reference. The tiling technique contemplated and described in (Attorney Docket No. 489/2) can be considered in connection with the present invention. This tiling technique can be used to resolve an image at that level, even if a particular zoom level does not match the pre-rendered image. When each image in a slightly larger set of resolutions is pre-rendered and tiled at the appropriate resolution, the result is that all lines are in width according to the scaling equation disclosed herein. It is a complete system for navigation that zooms and pans through arbitrarily complex road maps that appear to change continuously.

本発明の実装に関連して用いることができる、イメージをブレンディングする他の技法に関する追加の詳細を、その開示全体が参照によって本明細書に組み込まれている、「SYSTEM AND METHOD FOR THE EFFICIENT,DYNAMIC AND CONTINUOUS DISPLAY OF MULTI RESOLUTIONAL VISUAL DATA」と題する2003年6月5日出願の特許文献2で見出すことができる。本発明の実装に関連して用いることができるブレンディング技法に関するさらなる詳細を、その開示全体が参照によって本明細書に組み込まれている2003年3月12日出願の、「SYSTEM AND METHODFOR FOVEATED,SEAMLESS,PROGRESSIVE RENDERING IN A ZOOMING USER INTERFACE」と題する特許文献3で見出すことができる。   Additional details regarding other techniques for blending images that can be used in connection with implementations of the present invention are described in “SYSTEM AND METHOD FOR THE EFFICIENT, DYNAMIC”, the entire disclosure of which is incorporated herein by reference. It can be found in Patent Document 2 filed June 5, 2003 entitled “AND CONTINUOUS DISPLAY OF MULTI RESOLUTIONAL VISUAL DATA”. For further details regarding blending techniques that can be used in connection with the implementation of the present invention, see “SYSTEM AND METHODFOR FOVEATED, SEAMLESS,” filed Mar. 12, 2003, the entire disclosure of which is incorporated herein by reference. It can be found in Patent Document 3 entitled “PROGRESSIVE RENDERING IN A ZOOMING USER INTERFACE”.

有利なことに、本発明の上で述べた諸態様を用いると、ユーザは、様々なズームレベルを通る滑らかで連続的なナビゲーションの外見を享受する。さらに、あるレベルから別のレベルにズームするときに、詳細が不意に現れまたは消えることは、ほとんどまたはまったくない。これは、技術的現状に対する重要な前進を表す。   Advantageously, using the above-described aspects of the present invention, the user enjoys a smooth and continuous navigation look through various zoom levels. Furthermore, little or no detail appears or disappears unexpectedly when zooming from one level to another. This represents a significant advancement over the technical state of the art.

本発明の様々な態様を、インターネット上の対話型ソフトウェアアプリケーション、自動車ベースのソフトウェアアプリケーション、および類似物など、多数の製品で適用できることが企図されている。例えば、本発明を、ユーザ要求に応答してクライアント端末に地図およびドライビング指示(driving direction)を供給するインターネットウェブサイトによって用いることができる。あるいは、本発明の様々な態様を、自動車内のGPSナビゲーションシステムで用いることができる。本発明は、医療イメージング機器に組み込むこともでき、これによって、例えば患者の循環系、神経系などに関する詳細情報を、上で説明したようにレンダリングし、ナビゲートすることができる。本発明の応用例は、その全体をリストするには多すぎるが、当業者は、それらが本明細書で企図されており、請求される本発明の範囲に含まれることを認めるであろう。   It is contemplated that various aspects of the present invention can be applied in numerous products, such as interactive software applications on the Internet, automotive-based software applications, and the like. For example, the present invention can be used by an Internet website that supplies maps and driving directions to client terminals in response to user requests. Alternatively, various aspects of the invention can be used in a GPS navigation system in an automobile. The present invention can also be incorporated into medical imaging equipment, whereby detailed information relating to, for example, the patient's circulatory system, nervous system, etc. can be rendered and navigated as described above. While many applications of the present invention are too numerous to list in their entirety, those skilled in the art will appreciate that they are contemplated herein and are within the scope of the claimed invention.

本発明を、レンダリングされたイメージが、宣伝し、他の形で商取引を促進する手段を提供する他の応用例に関連して利用することもできる。本発明のこれらの態様および使用に関する追加の詳細は、その開示全体が参照によって本明細書に組み込まれている「METHODS AND APPARATUS FOR EMPLOYING MAPPING TECHNIQUES TO ADVANCE COMMERCE」と題する本願と同日出願の特許文献4(代理人整理番号489/7)で見出すことができる。   The present invention can also be used in connection with other applications in which rendered images provide a means to promote and otherwise facilitate commercial transactions. Additional details regarding these aspects and uses of the present invention can be found in US Pat. (Attorney reference number 489/7).

本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、本発明の原理および応用例の単なる例示であることを理解されたい。したがって、多数の変更を、これらの例示的実施形態に対して行うことができ、他の配置を、添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに考案できることを理解されたい。   Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. Accordingly, many modifications can be made to these exemplary embodiments and other arrangements can be devised without departing from the spirit and scope of the invention as defined by the appended claims. I want you to understand.

[発明の名称]効率的なデータキャッシュ [Title of Invention] Efficient data cache

[背景技術]
「MRUキャッシング」(MRUは、「most recently used」を表す)は、クライアント−サーバシステムでのクライアントサイドメモリの実装に関する既知の概念である。サーバが、クライアントにアクセスでき、多数のデータオブジェクトをクライアントに供給でき、これらのデータオブジェクトが、集団で、大量のメモリを占める可能性があると仮定する。しかし、クライアントとサーバとの間の使用可能な帯域幅は、限られており、したがって、サーバからデータオブジェクトが送信されることを求めるクライアント要求は、時間がかかる。データオブジェクトへのアクセスが、適度に「コヒーレント」(クライアントが最近必要としたオブジェクトが、近い将来にもう一度必要になる可能性が高いことを意味する)である場合に、MRUキャッシングは、クライアント−サーバシステムの効率を高めることができる。この手法を用いると、クライアントは、一般に、ある限られた量のメモリ(一般に、サーバ上のオブジェクトのすべてを格納するのに必要なるものよりはるかに少ない)をとっておき、このメモリ(キャッシュ)に、そこにおさまるできる限り多くの最も最近に要求されたオブジェクトを格納する。新しいオブジェクトがサーバからクライアントに送信され、クライアントのキャッシュスペースが使い果たされたときには、最長時間未使用の(least recently used、LRU)オブジェクトがキャッシュから消去され、新しいオブジェクトを格納できるデータストレージスペースを作成する。
[Background]
“MRU caching” (MRU stands for “most recently used”) is a well-known concept for the implementation of client-side memory in a client-server system. Assume that the server can access the client and supply a large number of data objects to the client, and these data objects can occupy a large amount of memory in a cluster. However, the available bandwidth between the client and server is limited, and therefore client requests that require data objects to be sent from the server are time consuming. MRU caching is client-server when access to data objects is reasonably “coherent” (meaning that an object that a client recently needed is likely to be needed again in the near future). The efficiency of the system can be increased. Using this approach, the client typically keeps a limited amount of memory (generally much less than what is needed to store all of the objects on the server), and in this memory (cache), It stores as many of the most recently requested objects as possible. When a new object is sent from the server to the client and the client's cache space is exhausted, the least recently used (LRU) object is purged from the cache, creating a data storage space where the new object can be stored. create.

一般に、クライアントがデータオブジェクトを必要とするときに、キャッシュが、まず、そのオブジェクトがキャッシングされているかどうかを知るために検査される。キャッシングされている場合には、キャッシングされた表現が使用され、低速なまたは計算的に高価なサーバ要求の必要がなくなる。通常、キャッシングされた表現の利用は、そのオブジェクトをキャッシュのMRU端に「昇格」させもする。この手法は、一般に、アクセスされるすべてのデータオブジェクトについてサーバにデータを要求しなければならないことを上回る実質的な性能の利益をもたらす。   In general, when a client needs a data object, the cache is first checked to see if the object is cached. When cached, the cached representation is used, eliminating the need for slow or computationally expensive server requests. Normally, using a cached representation also “promotes” the object to the MRU end of the cache. This approach generally provides substantial performance benefits over having to request data from the server for every data object accessed.

新しいオブジェクトが、コンピューティングシステムによってアクセスされ、キャッシュに格納されるときのキャッシュからの最長時間未使用のオブジェクトの消去は、キャッシュ使用の非効率性を引き起こす可能性がある。キャッシュ内の消去される最長時間未使用のオブジェクトさえもが、サーバによってもう一度要求される場合がある。これが発生するときには、サーバは、メインメモリまたはマスストレージデバイスなどのデータストレージのよりリモートなソースからこのオブジェクトを取り出すという比較的低速なまたは計算的に高価なタスクに取りかかる場合がある。キャッシュメモリの有限のサイズを与えられれば、オブジェクト消去は、ある頻度で発生する可能性があり、これによって、サーバまたは他のコンピューティングシステムに、かつてはキャッシュメモリ内に便利に格納されていたデータを得るためによりリモートなメモリにアクセスしてかなりのリソースを費やさせる。   Erasing the least recently used object from the cache when a new object is accessed by the computing system and stored in the cache can cause inefficiencies in cache usage. Even the longest unused object to be erased in the cache may be requested again by the server. When this occurs, the server may engage in a relatively slow or computationally expensive task of retrieving this object from a more remote source of data storage such as main memory or mass storage device. Given the finite size of the cache memory, object erasure can occur at a certain frequency, which allows data that was once conveniently stored in the cache memory to a server or other computing system. Access to more remote memory to get more resources.

[発明の開示]
[発明が解決しようとする課題]
したがって、従来技術には、キャッシュメモリ管理に対するより効率的で柔軟な手法の必要がある。
[Disclosure of the Invention]
[Problems to be solved by the invention]
Thus, there is a need in the prior art for a more efficient and flexible approach to cache memory management.

[課題を解決するための手段]
一態様によれば、本発明は、キャッシュオブジェクトの初期グループを有するコンピューティングシステム内のキャッシュを提供することであって、各キャッシュオブジェクトは、初期圧縮率を有し、格納されたデータを含み、所与のキャッシュオブジェクト以外の少なくとも1つのキャッシュオブジェクトによって占められるデータストレージスペースの量を減らすことと、所与のキャッシュオブジェクトによって占められるデータストレージスペースの量を増やすこととを含むことを特徴とする方法を提供することができる。好ましくは、減らすことは、データストレージスペースの量を所与の量だけ減らすことを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトによって占められるデータストレージスペースの量を所与の量だけ増やすことを含む。好ましくは、減らすことは、少なくとも1つのキャッシュオブジェクトの初期圧縮率を高めることを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトの初期圧縮率を下げることを含む。好ましくは、所与のキャッシュオブジェクトは、キャッシュオブジェクトのうちで最も最近に使用されたキャッシュオブジェクトである。好ましくは、減らすステップを経験する少なくとも1つのキャッシュオブジェクトは、キャッシュオブジェクトのうちで最長時間未使用のキャッシュオブジェクトを含む。
[Means for solving problems]
According to one aspect, the present invention provides a cache in a computing system having an initial group of cache objects, each cache object having an initial compression ratio and including stored data; A method comprising reducing the amount of data storage space occupied by at least one cache object other than a given cache object and increasing the amount of data storage space occupied by a given cache object Can be provided. Preferably, reducing includes reducing the amount of data storage space by a given amount. Preferably, increasing includes increasing the amount of data storage space occupied by a given cache object by a given amount. Preferably, the reducing includes increasing the initial compression ratio of the at least one cache object. Preferably, increasing includes decreasing the initial compression ratio of a given cache object. Preferably, a given cache object is the most recently used cache object among the cache objects. Preferably, the at least one cache object that undergoes the reducing step includes a cache object that has been least recently used among the cache objects.

好ましくは、減らすことは、少なくとも1つのキャッシュオブジェクトに関する格納されたデータの一部を除去することを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトに関する格納されたデータを増補することを含む。好ましくは、キャッシュオブジェクトのそれぞれについて使用可能なデータストレージスペースの量は、離散値の有限個数のうちの1つと等しいものとすることができる。好ましくは、減らすことは、キャッシュオブジェクトのうちで所与のキャッシュオブジェクト以外の少なくとも1つのランダムに選択されたキャッシュオブジェクトに関するデータストレージスペースの量を減らすこと含む。好ましくは、減らすことは、少なくとも1つのランダムに選択されたキャッシュオブジェクトに関するデータストレージスペースの量をランダムに決定された範囲まで減らすことを含む。好ましくは、ランダムに選択されたキャッシュオブジェクトは、ランダム方法および擬似ランダム方法のうちの1つを使用して選択される。好ましくは、ランダムに選択されたキャッシュオブジェクトの選択は、ヒューリスティックによって案内される。   Preferably, the reducing includes removing a portion of the stored data for the at least one cache object. Preferably, increasing includes augmenting stored data for a given cache object. Preferably, the amount of data storage space available for each of the cache objects may be equal to one of a finite number of discrete values. Preferably, reducing includes reducing the amount of data storage space for at least one randomly selected cache object other than a given cache object among the cache objects. Preferably, reducing includes reducing the amount of data storage space for the at least one randomly selected cache object to a randomly determined range. Preferably, the randomly selected cache object is selected using one of a random method and a pseudo-random method. Preferably, the selection of a randomly selected cache object is guided by a heuristic.

好ましくは、この方法は、増やすことの後に、所与のキャッシュオブジェクトを可逆圧縮された形で格納することをさらに含む。好ましくは、この方法は、増やすことの後に、所与のキャッシュオブジェクトを非圧縮の形で格納することをさらに含む。好ましくは、減らすことは、キャッシュオブジェクトのうちで所与のキャッシュオブジェクト以外の少なくとも1つのキャッシュオブジェクトを除去することを含む。   Preferably, the method further includes storing the given cache object in a lossless compressed form after incrementing. Preferably, the method further includes storing the given cache object in uncompressed form after incrementing. Preferably, the reducing comprises removing at least one cache object other than the given cache object among the cache objects.

もう1つの態様によれば、本発明は、メインメモリと機能的に通信できる少なくとも1つのプロセッサを有するコンピューティングシステムと、キャッシュオブジェクトの初期グループを有するコンピューティングシステム内のキャッシュであって、各キャッシュオブジェクトは、初期圧縮率を有し、格納されたデータを含み、コンピューティングシステムは、所与のキャッシュオブジェクト以外の少なくとも1つのキャッシュオブジェクトによって占められるデータストレージスペースの量を減らし、所与のキャッシュオブジェクトによって占められるデータストレージスペースの量を増やすように動作することを特徴とする装置を提供することができる。好ましくは、減らすことは、データストレージスペースの量を所与の量だけ減らすことを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトによって占められるデータストレージスペースの量を所与の量だけ増やすことを含む。好ましくは、減らすことは、少なくとも1つのキャッシュオブジェクトの初期圧縮率を高めることを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトの初期圧縮率を下げることを含む。   According to another aspect, the present invention provides a computing system having at least one processor functionally communicable with main memory and a cache in a computing system having an initial group of cache objects, wherein each cache The object has an initial compression ratio and contains stored data, and the computing system reduces the amount of data storage space occupied by at least one cache object other than the given cache object, and the given cache object An apparatus can be provided that operates to increase the amount of data storage space occupied by the. Preferably, reducing includes reducing the amount of data storage space by a given amount. Preferably, increasing includes increasing the amount of data storage space occupied by a given cache object by a given amount. Preferably, the reducing includes increasing the initial compression ratio of the at least one cache object. Preferably, increasing includes decreasing the initial compression ratio of a given cache object.

好ましくは、所与のキャッシュオブジェクトは、キャッシュオブジェクトのうちで最も最近に使用されたキャッシュオブジェクトである。好ましくは、減らすことは、少なくとも1つのキャッシュオブジェクトに関する格納されたデータの一部を除去することを含む。好ましくは、増やすことは、所与のキャッシュオブジェクトに関する格納されたデータを増補することを含む。好ましくは、キャッシュオブジェクトのそれぞれについて使用可能なデータストレージスペースの量は、離散値の有限個数のうちの1つと等しいものとすることができる。好ましくは、減らすことは、キャッシュオブジェクトのうちで所与のキャッシュオブジェクト以外の少なくとも1つのランダムに選択されたキャッシュオブジェクトに関するデータストレージスペースの量を減らすことを含む。好ましくは、減らすことは、少なくとも1つのランダムに選択されたキャッシュオブジェクトに関するデータストレージスペースの量をランダムに決定された範囲まで減らすことを含む。   Preferably, a given cache object is the most recently used cache object among the cache objects. Preferably, the reducing includes removing a portion of the stored data for the at least one cache object. Preferably, increasing includes augmenting stored data for a given cache object. Preferably, the amount of data storage space available for each of the cache objects may be equal to one of a finite number of discrete values. Preferably, reducing includes reducing the amount of data storage space for at least one randomly selected cache object other than a given cache object among the cache objects. Preferably, reducing includes reducing the amount of data storage space for the at least one randomly selected cache object to a randomly determined range.

もう1つの態様によれば、本発明は、コンピューティングシステム内でキャッシュを提供することであって、キャッシュは、初期条件を有し、不十分なデータストレージスペースが初期条件の下でキャッシュ内に存在して、キャッシュ内に少なくとも1つの新しいオブジェクトを格納する場合に、キャッシュ内の少なくとも1つのオブジェクトを圧縮して、少なくとも1つの新しいオブジェクトのためにデータストレージスペースをクリアすることと、少なくとも1つの新しいオブジェクトをキャッシュ内に格納することとを含むことを特徴とする方法を提供する。好ましくは、初期条件は、キャッシュが空であることに対応する。好ましくは、この方法は、任意の追加の新しいオブジェクトを格納するために不十分なデータストレージスペースがキャッシュ内に残るまで、キャッシュ内に格納されたオブジェクトを圧縮せずにキャッシュ内に新しいオブジェクトを格納することを継続することをさらに含む。好ましくは、この方法は、少なくとも1つの新しいオブジェクトを格納するための十分なスペースが初期条件の下でキャッシュに存在する場合に、圧縮することなしでキャッシュ内に少なくとも1つの新しいオブジェクトを格納することをさらに含む。   According to another aspect, the present invention provides a cache in a computing system, the cache having an initial condition, and insufficient data storage space is in the cache under the initial condition. If present and storing at least one new object in the cache, compressing at least one object in the cache to clear the data storage space for the at least one new object; and at least one Storing a new object in a cache. Preferably, the initial condition corresponds to the cache being empty. Preferably, this method stores new objects in the cache without compressing the objects stored in the cache until insufficient data storage space remains in the cache to store any additional new objects. Further comprising continuing to do. Preferably, the method stores at least one new object in the cache without compression if sufficient space exists in the cache under initial conditions for storing at least one new object. Further included.

他の態様、特徴、利益などは、本明細書の本発明の好ましい実施形態の説明が添付図面と共に解釈されるときに、当業者に明白になるであろう。   Other aspects, features, benefits, etc. will become apparent to those skilled in the art when the description of the preferred embodiments of the invention herein is taken in conjunction with the accompanying drawings.

本発明の様々な態様を例示するために、図面に、現在好ましい形が示されているが、本発明が、図示の正確な配置および手段に限定されないことを理解されたい。   For the purpose of illustrating various aspects of the invention, there are shown in the drawings embodiments that are presently preferred; it should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.

[発明を実施するための最良の形態]
本開示では、キャッシュのLRU端およびMRU端に言及する。オブジェクトは、一般にMRU端に追加され、一般にLRU端から消去される。しかし、本発明は、そのような方式に限定されない。キャッシュ内のキャッシュオブジェクトの物理的レイアウトが、LRU−MRUレイアウトに対応する必要がないことに留意されたい。キャッシュのレイアウトは、単に、コンピューティングシステムが本明細書に記載の形でオブジェクトを見つけ、挿入し、かつ/または消去することを好ましく可能にする。直線状のLRU−MRU配置は、キャッシュの動作を記述する便利な機構であるが、キャッシュメモリの多数の可能な実装を表すに過ぎない。本明細書では、用語「キャッシュ」および「キャッシュメモリ」が、交換可能に使用される。
[Best Mode for Carrying Out the Invention]
In this disclosure, reference is made to the LRU end and the MRU end of the cache. Objects are generally added to the MRU end and are generally erased from the LRU end. However, the present invention is not limited to such a method. Note that the physical layout of the cache objects in the cache need not correspond to the LRU-MRU layout. The layout of the cache simply allows the computing system to find, insert and / or delete objects in the manner described herein. A linear LRU-MRU arrangement is a convenient mechanism for describing the behavior of a cache, but represents only a number of possible implementations of cache memory. In this specification, the terms “cache” and “cache memory” are used interchangeably.

本明細書で開示されるMRUキャッシングおよびその拡張は、クライアント/サーバアーキテクチャのコンテキストで論じられるが、類似する原理が、単一のコンピュータでの効率的なハードディスクアクセス(ハードディスクへのアクセスが、RAMへのアクセスより低速であり、したがって、RAMが、ハードディスク上の最も最近に使用された内容をキャッシングするのに使用される)など、多数の他のシナリオにも適用されることに留意されたい。1つまたは複数の他の実施形態では、データは、ディスクからロードされまたはネットワークを介して送信されるのではなく、環境から収集されるか計算的に生成される。どの場合でも、クライアントは、小さいが高速の一時キャッシュメモリと、より大きいがより低速のデータソースとにアクセスでき、このデータソースから情報が繰り返して要求される。このより低速のデータソースを、本明細書では一般に「サーバ」と称する。   Although MRU caching and its extensions disclosed herein are discussed in the context of a client / server architecture, similar principles apply to efficient hard disk access on a single computer (access to hard disk to RAM). Note that it also applies to a number of other scenarios, such as RAM, which is slower to access and thus RAM is used to cache the most recently used content on the hard disk. In one or more other embodiments, data is collected from the environment or generated computationally, rather than being loaded from disk or transmitted over a network. In any case, the client can access a small but fast temporary cache memory and a larger but slower data source from which information is repeatedly requested. This slower data source is generally referred to herein as a “server”.

収束級数の次の議論は、本明細書で開示されるキャッシュメモリの装置および方法への導入として提供されるものである。   The following discussion of convergence series is provided as an introduction to the cache memory apparatus and method disclosed herein.

nが1から無限大まで変化し、p>1である級数y(n)=n^−pの無限和は、有限である。同様に、y=1/b^nの和は、b>1について有限である。例えば、後者の場合に、b=2であれば、和は正確に2である。そのような収束級数の基礎になる概念を使用して、本明細書に記載の効率的なデータキャッシングの方法および装置の1つまたは複数の実施形態を実装することができる。   The infinite sum of the series y (n) = n ^ -p where n varies from 1 to infinity and p> 1 is finite. Similarly, the sum of y = 1 / b ^ n is finite for b> 1. For example, in the latter case, if b = 2, the sum is exactly 2. Using the concepts underlying such convergence series, one or more embodiments of the efficient data caching method and apparatus described herein can be implemented.

本明細書に記載の方法および装置の1つまたは複数の実施形態は、下で説明する「ゼノンのパラドックス」に関する概念を用いることができる。この議論は、本明細書に記載の1つまたは複数の実施形態に適用可能な概念的土台を提供するが、本発明は、下で述べる概念的諸態様によって限定されない。   One or more embodiments of the methods and apparatus described herein may use the concepts relating to the “Zenon paradox” described below. While this discussion provides a conceptual basis applicable to one or more embodiments described herein, the present invention is not limited by the conceptual aspects described below.

<ゼノンキャッシングの概念>
ゼノンは、1歩(議論のために、彼は毎秒1歩進むと仮定する)で、彼の現在位置からすべての競争場の終わりまでの距離の半分を行くほどに速い走者である。パラドックスは、彼がどの1歩でも前に移動するにもかかわらず、彼が絶対にその競争場の決勝線に入らないということである。このパラドックスは、b=2を有し、n=2から無限大までの和をとる、上の1/b^n級数に簡単に関係付けられる。この概念は、キャッシュオブジェクトを使用またはアクセスの減少する新しさに伴って徐々により大きい範囲まで圧縮できるようにすることによって、キャッシュオブジェクトの格納に拡張することができる(キャッシュ自体は、「競技場」になぞらえられる)。したがって、キャッシュのMRU端からそのLRU端への進行において、ますます減少するサイズの理論的に無限の個数の追加キャッシュオブジェクトを、決してスペースを使い果たさずに導入することができる。この原理を、本明細書ではゼノンキャッシュ概念と称する。
<Concept of Zenon Caching>
Zenon is a runner fast enough to go half a distance from his current position to the end of all the racetracks in one step (for the sake of discussion, he will assume one step per second). The paradox is that he never moves into the final line of the competition field, even though he moves forward one step at a time. This paradox is simply related to the above 1 / b ^ n series, with b = 2 and taking the sum from n = 2 to infinity. This concept can be extended to store cache objects by allowing them to be progressively compressed to a larger extent as usage or access decreases (the cache itself is a “stadium”). To be compared). Thus, in the progression from the MRU end of the cache to its LRU end, a theoretically infinite number of additional cache objects of increasingly decreasing size can be introduced without running out of space. This principle is referred to herein as the Zenon cache concept.

本明細書に関係するキャッシュオブジェクトは、圧縮可能であることが好ましく、圧縮可能とは、本開示では、非可逆データ圧縮技法に従うことに対応する。非可逆データ圧縮は、データオブジェクトのフル表現より少ないバイトでデータオブジェクトを表す能力の特徴がある。より高い圧縮率は、一般に、データオブジェクトのより大きい歪みおよび圧縮データ(このオブジェクトには、1つまたは複数のイメージファイルが含まれる)を使用してレンダリングされるイメージのより低い品質をこうむる。限定なしに、非可逆圧縮技法を、サウンド、ビデオ、および多数の他のデータ型に適用可能とすることもできる。   The cache objects involved in this specification are preferably compressible, which in this disclosure corresponds to following a lossy data compression technique. Lossy data compression is characterized by the ability to represent a data object with fewer bytes than the full representation of the data object. A higher compression ratio generally incurs a higher distortion of the data object and a lower quality of the image rendered using the compressed data (this object includes one or more image files). Without limitation, lossy compression techniques may be applicable to sound, video, and many other data types.

1つまたは複数の実施形態で、データの圧縮されたバージョンは、非圧縮データの代用物として適切とすることができる。歪みの所与のレベル未満では、データの圧縮表現が、十分に適当である可能性があり、歪みの所与のレベルを超える場合に、圧縮表現は、クライアントがデータのより高品質のバージョンを待っている間の一時的手段として適切である可能性がある。より高品質のバージョンは、単に、一時的に使用されるバージョンより低く圧縮されたものとすることができ、あるいは、可逆圧縮または非圧縮とすることができる。   In one or more embodiments, a compressed version of the data may be suitable as a substitute for uncompressed data. Below a given level of distortion, the compressed representation of the data may be adequate enough, and when above a given level of distortion, the compressed representation is used by the client to create a higher quality version of the data. It may be appropriate as a temporary measure while waiting. The higher quality version can simply be compressed lower than the temporarily used version, or it can be lossless or uncompressed.

1つまたは複数の実施形態では、より低い品質の表現は、より高い品質の表現のサブセットとすることができ、これは、クライアント側での表現品質の改善が、より低い品質の表現を増補し、これによってより高い品質の表現を提供するために、単にデータの送信を用いることができることを意味する。好ましくは、この手法を用いると、高品質表現に関連するデータの完全に新しいセットを送信するという重荷をこうむる必要がない。この手法は、好ましくは、冗長性を回避し、したがって、好ましくは、効率を実質的に高める。   In one or more embodiments, lower quality representations can be a subset of higher quality representations, since improved representation quality on the client side augments lower quality representations. This means that data transmission can simply be used to provide a higher quality representation. Preferably, with this approach, the burden of sending a completely new set of data associated with a high quality representation need not be incurred. This approach preferably avoids redundancy and thus preferably substantially increases efficiency.

上で述べた手法と一貫して、あるオブジェクトの表現品質を下げるという逆のプロセスは、イメージの高品質表現に使用されるデータの圧縮または再圧縮を必要とするのではなく、その高品質表現に用いられるデータの一部を単に除去することを用いることができる。このプロパティも、好ましくは、本明細書で開示されるキャッシングの装置および方法の効率を高める。   Consistent with the technique described above, the reverse process of reducing the representation quality of an object does not require compression or recompression of the data used for the high quality representation of the image, but its high quality representation. It can be used to simply remove some of the data used in the process. This property also preferably increases the efficiency of the caching apparatus and methods disclosed herein.

1つまたは複数の実施形態で、圧縮技法は、非可逆から可逆までスケーリングされる圧縮レベルでオブジェクトを提供することができる。この特徴は、データオブジェクトの可逆表現を、複数のステップで、大きい非可逆から可逆へ、可逆バージョンを当初に送信することに対して相対的に余分な総コストをほとんどまたはまったく伴わずに作り上げることを可能にすることができる。上記の特徴を可能にするデータ型および圧縮テクノロジの例が、JPEG2000標準規格によって具現される、イメージのウェーブレット圧縮である。しかし、本発明は、JPEG2000標準規格の使用に限定されない。   In one or more embodiments, compression techniques can provide objects at a compression level that is scaled from lossy to lossless. This feature creates a reversible representation of a data object in multiple steps, from large lossy to lossless, with little or no extra total cost relative to initially sending the lossless version. Can be made possible. An example of a data type and compression technology that enables the above features is image wavelet compression, embodied by the JPEG 2000 standard. However, the present invention is not limited to the use of the JPEG2000 standard.

上のプロパティを与えられれば、メモリが「連続である」(すなわち、バイトに離散化されていない)場合に、理論的に、単にオブジェクトの圧縮後のサイズが本明細書で前に述べた収束級数のルールに従うという制約を強制することによって、無限の個数のデータオブジェクトを有限の量のメモリにキャッシングすることが可能になるはずである。上で述べた理論に従って機能することができるキャッシュの動作を、図1および2に関連して下で説明する。   Given the above properties, if the memory is “continuous” (ie, not discretized into bytes), theoretically, simply the compressed size of the object will converge as previously described herein. By enforcing the constraint of following series rules, it should be possible to cache an infinite number of data objects in a finite amount of memory. The operation of a cache that can function according to the theory described above is described below in connection with FIGS.

図42のグラフでは、変数「N」は、好ましくは各キャッシュオブジェクトの番号に対応し、各キャッシュオブジェクトの番号の値は、各そのようなキャッシュオブジェクトの使用の新しさを表し、Nの増加する値は、その番号に関連するキャッシュオブジェクトの使用の減少する新しさに対応する。変数「Y」は、各キャッシュオブジェクトのサイズに対応することが好ましい。「Y」変数について、「1」の値は、最高品質条件すなわちまったく圧縮されていないときのキャッシュオブジェクトのサイズに対応するものとすることができる。最も最近に使用されたオブジェクトは、少ない歪みを用いて表すことができ、より長時間使用されていないオブジェクトは、その最後の使用の新しさと一貫する圧縮の範囲に従属するものとすることができる。図42では、圧縮後のキャッシュオブジェクトサイズYの値が、関係あるキャッシュオブジェクトの使用の減少する新しさに伴って減少することがわかる。「Y」変数は、キャッシュ内の各オブジェクト(圧縮されていようといまいと)の絶対サイズ(任意の単位で表される)に対応するものとすることができることに留意されたい。その代わりに、1つまたは複数の他の実施形態で、「Y」は、圧縮率に対応することができ、例えば、値「1」が、フルサイズオブジェクトに対応し、値「0.5」が、非圧縮サイズの半分を占めるオブジェクトに対応する。   In the graph of FIG. 42, the variable “N” preferably corresponds to the number of each cache object, and the value of the number of each cache object represents the freshness of use of each such cache object, increasing N. The value corresponds to a decreasing newness of use of the cache object associated with that number. The variable “Y” preferably corresponds to the size of each cache object. For the “Y” variable, a value of “1” may correspond to the highest quality condition, ie the size of the cache object when not compressed at all. The most recently used objects can be represented with less distortion, and objects that have not been used for a longer time may be subject to a range of compression consistent with their last used freshness. it can. In FIG. 42, it can be seen that the value of the cache object size Y after compression decreases as the usage of the relevant cache object decreases. Note that the “Y” variable may correspond to the absolute size (expressed in arbitrary units) of each object (whether compressed or not) in the cache. Instead, in one or more other embodiments, “Y” can correspond to a compression ratio, eg, the value “1” corresponds to a full-size object, and the value “0.5”. Corresponds to an object occupying half of the uncompressed size.

図43を参照すると、1からNまでの番号を付けられたオブジェクトのサイズYの累積和は、Nの値ごとに、図43に示されているようにそれでも有限の数になる可能性がある。変数「Y」の単位は、1つの代表的な完全に展開された(非圧縮の)キャッシュオブジェクトのサイズに対応するデータストレージスペース(またはそれが必要とするデータストレージスペース)の単位とすることができる。図1および2は、本発明の1つまたは複数の実施形態の理論の理解を助けるので、データのビットおよび/またはバイト単位でキャッシュオブジェクトのサイズを記述する情報は、本明細書では提供しない。   Referring to FIG. 43, the cumulative sum of size Y of objects numbered from 1 to N can still be finite as shown in FIG. 43 for each value of N. . The unit of the variable “Y” may be a unit of data storage space (or data storage space that it requires) corresponding to the size of one representative fully expanded (uncompressed) cache object. it can. 1 and 2 assist in understanding the theory of one or more embodiments of the present invention, so information describing the size of a cache object in bits and / or bytes of data is not provided herein.

1つまたは複数の実施形態で、上で説明した理論的実装は、2つの理由から、変更されることが好ましい。第1に、実際には、メモリストレージは、離散的な記憶単位からなることが好ましい。したがって、例えば、通常、キャッシュオブジェクトを1ビットより小さいストレージスペースの量を占めるように圧縮することは、実際には無意味である。第2に、キャッシュに対して実行される動作の総数は、有限であることが好ましい。対照的に、上の収束公式のうちの1つによって記述される圧縮率の連続曲線を強制することは、追加キャッシュストレージスペースが必要になるたびに、キャッシュ内のすべてのキャッシュオブジェクトのサイズを減らすことを伴う可能性がある。これは、非実用的に多数の動作を必要とするはずである。   In one or more embodiments, the theoretical implementation described above is preferably modified for two reasons. First, in practice, the memory storage preferably consists of discrete storage units. Thus, for example, usually it does not make sense to compress a cache object to occupy an amount of storage space less than one bit. Second, the total number of operations performed on the cache is preferably finite. In contrast, forcing a continuous curve of compression ratio described by one of the convergence formulas above reduces the size of all cache objects in the cache each time additional cache storage space is needed May be accompanied. This should require a large number of operations impractically.

1つまたは複数の実施形態で、キャッシュ内のオブジェクトの個数は、実際には有限になる。しかし、ゼノンキャッシュの概念が使用される場合には、この個数を、従来のMRUキャッシングを用いて可能になる個数よりはるかに多くすることができる。さらに、キャッシングされるオブジェクトは、最近に使用された場合に高品質レベル(低いレベルの歪みまたは圧縮非可逆ネスから、可逆圧縮、非圧縮データまでのどこか)で格納できるというプロパティを有することができる。キャッシュオブジェクトのこの品質レベルは、キャッシュオブジェクトがアクセスされない各連続するキャッシュメモリアクセスに伴って徐々により悪くなる(すなわち、徐々により高いレベルの歪みまたは圧縮非可逆ネスを受ける)ものとすることができる。   In one or more embodiments, the number of objects in the cache is actually finite. However, if the concept of Zenon cache is used, this number can be much larger than would be possible with conventional MRU caching. In addition, cached objects may have the property that they can be stored at a high quality level (somewhere from low level distortion or compression lossyness to lossless compression, uncompressed data) when used recently. it can. This quality level of the cache object can be progressively worse with each successive cache memory access where the cache object is not accessed (ie, subject to progressively higher levels of distortion or compression lossyness).

コンピュータメモリは離散的であり、それ未満ではユーザにとっての価値を有しない可能性があるキャッシュオブジェクトの最小の圧縮後のサイズがある場合があるので、キャッシングされる表現は、この最小の圧縮後のサイズを生じる最大圧縮率の支配下にある可能性がある。したがって、1つまたは複数の実施形態で、キャッシュに格納できるキャッシュオブジェクトの最大個数は、オブジェクトのすべてが等しいサイズである場合に、キャッシュ内の総データストレージスペースを、上で説明した最小の圧縮後のサイズを有する1つのキャッシュオブジェクトが占めるデータストレージスペースの量によって割ったものと等しいものとすることができる。しかし、キャッシュオブジェクトは、すべてが等しいサイズである必要はない。   Since computer memory is discrete and there may be a minimum compressed size of cache objects below which it may not have value to the user, the cached representation is It may be under the control of the maximum compression ratio that causes the size. Thus, in one or more embodiments, the maximum number of cache objects that can be stored in the cache is the total data storage space in the cache, after the minimum compression described above, when all of the objects are of equal size. Divided by the amount of data storage space occupied by one cache object having a size of However, the cache objects need not all be the same size.

上で述べた式のうちの1つ(または任意の他の収束和)によって制限された、したがって有限の和を有する級数を設計する多数の形がある。追加の制約、具体的には、用いられるYの異なる値の個数を適度な数までに制限できるように、任意の所与の値が級数の連続する値において繰り返す尤度が、Nのより大きい値で増加するという制約を導入することもできる。   There are a number of ways to design a series that is limited by one of the above mentioned equations (or any other convergent sum) and thus has a finite sum. An additional constraint, specifically the likelihood that any given value repeats in a series of consecutive values is greater than N so that the number of different values of Y used can be limited to a reasonable number You can also introduce a constraint of increasing by value.

そのような級数の例が、1、1/4、1/4、1/16、1/16、1/16、1/16、1/64、1/64、1/64、1/64、1/64、1/64、1/64、1/64、1/256などである。   Examples of such series are 1, 1/4, 1/4, 1/16, 1/16, 1/16, 1/16, 1/64, 1/64, 1/64, 1/64, 1/64, 1/64, 1/64, 1/64, 1/256, and the like.

明らかに、級数1、2つの1/4、4つの1/16、8つの1/64、などの和は、本明細書で前に述べたように、y=1/2^nとまったく同様に2である。しかし、この級数をn=16000まで取り出すならば、y(オブジェクトデータストレージサイズ)の約log2(16000)個すなわち約14個の値だけを使用することができる。 Obviously, the sum of the series 1, 2 1/4, 4 1/16, 8 1/64, etc. is exactly the same as y = 1/2 ^ n, as described earlier in this specification. Is 2. However, if this series is taken up to n = 16000, only about log 2 (16000) values of y (object data storage size) or about 14 values can be used.

1つまたは複数の実施形態で、上で説明した対数関数は、Y(キャッシュオブジェクトの可能なサイズ)の使用可能な値の個数を、Nの値よりはるかにゆっくりと増加させる1つの形を提供する。しかし、本発明は、この対数関数の使用に限定されず、Yの値の個数にNの値よりゆっくりと増加させる他の数学演算を、本発明に関連して用いることができる。   In one or more embodiments, the logarithmic function described above provides one form of increasing the number of available values of Y (the possible size of the cache object) much more slowly than the value of N. To do. However, the present invention is not limited to the use of this logarithmic function, and other mathematical operations that increase the number of Y values more slowly than the value of N can be used in connection with the present invention.

1つまたは複数の実施形態で、N=百万のときに、Yの20個もの少数の値を使用することができる(上で具陳した対数ベースの公式を使用して決定される)。これは、スペースがキャッシュ内で解放されなければならないときに、キャッシュオブジェクトの大多数が、好ましくは変更される必要のない、ある量のデータストレージスペースを占めるので、少数の動作だけが、キャッシュオブジェクトの間でデータストレージスペースの適切な割振りを確立するのに必要になる可能性があることを暗示する。   In one or more embodiments, as few as 20 values of Y can be used when N = million (determined using the log-based formula provided above). This is because when a space has to be freed up in the cache, the majority of cache objects preferably occupy a certain amount of data storage space that does not need to be changed, so only a few operations Imply that it may be necessary to establish an appropriate allocation of data storage space between.

他の数学級数も、キャッシュメモリ管理のシステムおよび方法での使用に関する所望の判断基準を満足することができる。さらに、理論的には収束しない(すなわち、その和が無限大である)級数を使用することが可能である。というのは、実際には、どの場合にも有限の個数の項が合計されるからである。   Other mathematical series can also meet the desired criteria for use in cache memory management systems and methods. Further, it is possible to use a series that theoretically does not converge (ie, the sum is infinite). This is because in practice, a finite number of terms are summed up in any case.

1つまたは複数の実施形態では、ランダムアルゴリズムを使用して、基本アルゴリズムを複数の形で改善することができる。1つまたは複数の実施形態では、上で説明した2*1/4、4*1/16などの級数に、少数の使用可能なキャッシュオブジェクトサイズだけが含まれ、おそらくはキャッシュ内の異なるオブジェクトの間の圧縮率の明確な差につながる場合がある。ランダムな選択を使用して、あるターゲット量のスペースが新しいキャッシュオブジェクトのために使用可能にされるまで、キャッシュオブジェクトのランダムに選択されたサブセットを重み付きの形で「圧搾する」(それによって使用されるデータストレージスペースを減らす)ことができる。この手法は、有益な結果をもたらすことができる。というのは、キャッシュオブジェクトのキャッシュ内の正確な位置が、キャッシュ内のオブジェクトの増加する個数に伴って重要性において減少し得るからである。各オブジェクトが「圧搾」される量を、少なくとも部分的にランダム化することもできる。本明細書で述べるものに似たランダム化アルゴリズムを使用することによって、キャッシュ内に格納されたキャッシュオブジェクトを使用してレンダリングされるイメージ内で知覚され得るキャッシュオブジェクト品質の明らかな不連続性または閾値を減らすことができる。   In one or more embodiments, a random algorithm can be used to improve the basic algorithm in several ways. In one or more embodiments, the series described above, such as 2 * 1/4, 4 * 1/16, includes only a small number of available cache object sizes, possibly between different objects in the cache. May lead to a clear difference in compression ratio. Use random selection to “squeeze” a randomly selected subset of cache objects in a weighted manner until a target amount of space is made available for a new cache object (used by it) Reduced data storage space). This approach can yield beneficial results. This is because the exact location of the cache object in the cache can decrease in importance with the increasing number of objects in the cache. The amount by which each object is “squeezed” can also be at least partially randomized. Obvious discontinuities or thresholds in cache object quality that can be perceived in images rendered using cache objects stored in the cache by using a randomization algorithm similar to that described herein Can be reduced.

次では、本発明の1つまたは複数の態様によるデータキャッシュ内のキャッシュオブジェクトの管理の例示的な例を提示する。   The following presents an illustrative example of management of cache objects in a data cache according to one or more aspects of the present invention.

図44は、本発明の1つまたは複数の実施形態による、複数のキャッシュオブジェクト302〜310を含むデータキャッシュ300のブロック図である。図45は、キャッシュオブジェクト302、304、308、および310が本発明の1つまたは複数の実施形態に従ってサイズを変更されている、図44のデータキャッシュ300のブロック図である。図46は、アクセスされたキャッシュオブジェクト306が、本発明の1つまたは複数の実施形態に従ってサイズを変更され、キャッシュ300に復元されている、図45のデータキャッシュのブロック図である。   FIG. 44 is a block diagram of a data cache 300 that includes a plurality of cache objects 302-310, according to one or more embodiments of the invention. FIG. 45 is a block diagram of the data cache 300 of FIG. 44 in which the cache objects 302, 304, 308, and 310 have been resized according to one or more embodiments of the present invention. FIG. 46 is a block diagram of the data cache of FIG. 45 in which the accessed cache object 306 has been resized and restored to the cache 300 in accordance with one or more embodiments of the present invention.

図44に示されたものを含む1つまたは複数の実施形態で、キャッシュ300に、5つのキャッシュオブジェクト(図を簡潔にするために図3〜6では「CO」と省略する)CO 1 302、CO 2 304、CO 3 306、CO 4 308、およびCO 5 310を含めることができる。図44に示されたキャッシュオブジェクトの個数(5)は、本明細書で説明する様々な概念を示す際の便宜のために選択されたものである。しかし、5つより少数またはより多数のキャッシュオブジェクトを、キャッシュ300内に含めることができる。原則として、キャッシュ300内に含めることができるキャッシュオブジェクトの個数に対する下限はない。原則として、キャッシュ300内に含めることができるキャッシュオブジェクトの個数の上限は、キャッシュの総サイズを最小の受け入れられる可能なキャッシュオブジェクトサイズ(本明細書の他所で論ずる)によって割った値に対応するものとすることができる。   In one or more embodiments, including those shown in FIG. 44, cache 300 includes five cache objects (abbreviated as “CO” in FIGS. 3-6 for simplicity of illustration) CO 1 302, CO 2 304, CO 3 306, CO 4 308, and CO 5 310 can be included. The number (5) of cache objects shown in FIG. 44 is selected for convenience in showing various concepts described in this specification. However, fewer or more than five cache objects can be included in the cache 300. In principle, there is no lower limit on the number of cache objects that can be included in the cache 300. In principle, the upper limit on the number of cache objects that can be included in the cache 300 corresponds to the total size of the cache divided by the smallest acceptable cache object size (discussed elsewhere herein). It can be.

図3〜5では、本明細書で開示される様々な概念を説明するために、各図示のキャッシュオブジェクトの幅は、そのキャッシュオブジェクトによって使用されるデータストレージスペースに比例することが意図されている。また、図3〜5では、左端のキャッシュオブジェクトから右端のキャッシュオブジェクトに進むことは、表示されるキャッシュオブジェクトのアクセスの増加する新しさに対応し、キャッシュオブジェクトのうちで最長時間未使用のものが、左端に示され、キャッシュオブジェクトのうちで最も最近に使用されたものが、右端に示されている。   3-5, for purposes of illustrating the various concepts disclosed herein, the width of each illustrated cache object is intended to be proportional to the data storage space used by that cache object. . Also, in FIGS. 3 to 5, advancing from the leftmost cache object to the rightmost cache object corresponds to the newness of increasing access to the displayed cache object, and the cache object that has not been used for the longest time is displayed. The most recently used cache object is shown at the right end.

図45は、CO 3 306が、キャッシュ300を使用するコンピューティングシステム700などのコンピューティングシステムによってアクセスされた後のキャッシュ300を示す。この例では、CO 3 306は、キャッシュ300内のそのオリジナルの位置に示されていない。というのは、この位置が、図45に示されたキャッシュ300の状態で上書きされているからである。さらに、空きスペース402が、CO 3 306の展開されたバージョンのための場所を作るために作成され、この展開されたバージョンは、図44のCO 3のオリジナルバージョンより多い、キャッシュ300内のデータストレージスペースを占める可能性がある。図46では、CO 306の展開されたバージョンが、キャッシュ300のうちで図45に示されたキャッシュ300条件で空きスペース402によって占められていた部分に書き込まれている。   FIG. 45 illustrates the cache 300 after the CO 3 306 has been accessed by a computing system, such as the computing system 700 that uses the cache 300. In this example, CO 3 306 is not shown in its original location in cache 300. This is because this position has been overwritten in the state of the cache 300 shown in FIG. In addition, free space 402 is created to make room for the expanded version of CO 3 306, which is more data storage in cache 300 than the original version of CO 3 in FIG. May take up space. In FIG. 46, the expanded version of the CO 306 is written in the portion of the cache 300 that was occupied by the free space 402 under the cache 300 conditions shown in FIG.

図47は、本発明の1つまたは複数の実施形態による、データキャッシュ300内のキャッシュオブジェクトにアクセスし、データキャッシュ300を更新する方法600の流れ図である。次では、図3〜6を参照する。   FIG. 47 is a flow diagram of a method 600 for accessing a cache object in the data cache 300 and updating the data cache 300 according to one or more embodiments of the invention. Reference is now made to FIGS.

ステップ602で、キャッシュオブジェクト302、304、306、308、および310を、キャッシュ300にアクセスできるプログラムに提供する。当初にキャッシュ300内に存在するキャッシュオブジェクトのグループは、図44に示されている。キャッシュ300のこの初期状態は、または複数のプログラム内のデフォルトセッティングからあるいは1つまたは複数のプログラム内で前に実行されたプログラムステップから生じる可能性がある。どの場合でも、次の議論で重要なのは、図44に示された初期状態の確立の後でキャッシュ300に対して行われる変更である。様々なコンピューティングシステムのうちのいずれかで動作する多数のプログラムのうちのどれであっても、キャッシュ300と通信することができるが、便宜のために、キャッシュ300にアクセスできるソフトウェアを、次では単に「プログラム」と称する。   In step 602, cache objects 302, 304, 306, 308, and 310 are provided to programs that can access cache 300. The groups of cache objects that initially exist in the cache 300 are shown in FIG. This initial state of the cache 300 may arise from default settings in the programs or from program steps previously executed in the one or more programs. In any case, what is important in the following discussion is the changes made to the cache 300 after the establishment of the initial state shown in FIG. Any of a number of programs running on any of the various computing systems can communicate with the cache 300, but for convenience, software that can access the cache 300 is described below. It is simply called “program”.

ステップ604で、どのキャッシュオブジェクトがプログラムによって次に使用されるかの表示を提供することができる。ステップ606で、この例ではCO 3 306である、示されたキャッシュオブジェクトに、プログラムによってアクセスすることができる。   In step 604, an indication of which cache object will be used next by the program may be provided. At step 606, the indicated cache object, which in this example is CO 3 306, can be accessed programmatically.

ステップ608では、アクセスされたキャッシュオブジェクトが展開可能であるかどうかに関する判定を行うことができる。本明細書では、キャッシュオブジェクトは、より低い圧縮率を受けることによってより多くのデータストレージスペースを占めることができるときに、展開可能である。そのような展開は、新しい圧縮率に対応する(または圧縮の欠如に対応する)データの完全に新しいセットを供給することによるのではなく、キャッシュオブジェクトに既に存在するデータを増補することによって達成することができる。   In step 608, a determination can be made as to whether the accessed cache object is expandable. As used herein, a cache object is expandable when it can occupy more data storage space by receiving a lower compression ratio. Such expansion is achieved by augmenting data that already exists in the cache object, rather than by supplying a completely new set of data corresponding to the new compression rate (or corresponding to the lack of compression). be able to.

アクセスされたキャッシュオブジェクトが展開可能ではない場合には、そのキャッシュオブジェクトは、ステップ610でキャッシュ300に復元されることが好ましい。好ましくは、ステップ610で、復元されるキャッシュオブジェクトは、アクセスの後に、そのアクセスの前に占めていたのと同一の量のデータストレージスペースを占める。LRU−MRUキャッシングの原理と一貫して、キャッシュ300に復元されるときに、アクセスされたキャッシュオブジェクトを、キャッシュ300の右端またはMRU端に書き込むことができる。しかし、その代わりに、アクセスされたキャッシュオブジェクトを、キャッシュ300のどの部分にでも書き込むことができる。方法600のこの分岐を継続すると、方法600は、ステップ612で終了することが好ましい。   If the accessed cache object is not expandable, the cache object is preferably restored to the cache 300 at step 610. Preferably, at step 610, the restored cache object occupies the same amount of data storage space after the access as it occupied before the access. Consistent with the principle of LRU-MRU caching, accessed cache objects can be written to the right end or MRU end of the cache 300 when restored to the cache 300. However, instead, the accessed cache object can be written to any part of the cache 300. Continuing with this branch of method 600, method 600 preferably ends at step 612.

ステップ608を参照すると、キャッシュオブジェクト306などの、アクセスされたキャッシュオブジェクトが、展開可能である場合には、そのキャッシュオブジェクトは、本発明の1つまたは複数の実施形態に従って展開されることが好ましい(ステップ614)。本明細書で前に述べたように、上で説明したキャッシュオブジェクトの展開は、最も最近におよび/または最も頻繁にアクセスされるキャッシュオブジェクトがキャッシュ300に最高品質レベルで格納される配置を提供するのを好ましく助ける。   Referring to step 608, if an accessed cache object, such as cache object 306, is expandable, the cache object is preferably expanded in accordance with one or more embodiments of the present invention ( Step 614). As previously described herein, the deployment of the cache objects described above provides an arrangement in which the most recently and / or most frequently accessed cache objects are stored in the cache 300 at the highest quality level. It helps to help.

1つまたは複数の実施形態で、キャッシュ内に「N」個のキャッシュオブジェクトがある場合に、そのようなキャッシュオブジェクトの可能なサイズの個数(データストレージスペース単位で測定される)を、log2(N)と等しい量までに制限することができる。上で説明したように限られた有限の個数の可能なキャッシュオブジェクトサイズを確立することは、ステップ614で展開される、CO 306などのキャッシュオブジェクトに関する新しい展開されたサイズを決定する計算出費を好ましく制限する。 In one or more embodiments, if there are “N” cache objects in the cache, the number of possible sizes of such cache objects (measured in units of data storage space) is expressed as log 2 ( N) can be limited to an amount equal to N). Establishing a limited finite number of possible cache object sizes as described above favors the computational expense of determining a new expanded size for a cache object, such as CO 306, that is expanded in step 614. Restrict.

1つまたは複数の実施形態で、CO 306の展開された(または、言い換えればより少なく圧縮された)バージョンに必要なデータストレージスペースの量は、キャッシュ300にアクセスできるコンピューティングシステム(図示せず)によって計算することができる。キャッシュ300が、まだCO 306の展開されたバージョンを受け取る準備ができていない場合には、CO 306の展開されたバージョンを、そこでの一時的格納のために別のメモリストレージ位置(図示せず)に書き込むことができる。   In one or more embodiments, the amount of data storage space required for the expanded (or in other words, less compressed) version of CO 306 is a computing system (not shown) that can access cache 300. Can be calculated by: If the cache 300 is not yet ready to receive the expanded version of the CO 306, the expanded version of the CO 306 is stored in another memory storage location (not shown) for temporary storage therein. Can be written on.

ステップ616で、CO 306の展開されたバージョンを格納するのに必要なデータストレージスペース402を、キャッシュ300内で使用可能にすることが好ましい。キャッシュ300内のどのキャッシュオブジェクトをも変更せずにCO 306の展開されたバージョンを格納するのに十分なスペースがキャッシュ300に存在する場合には、キャッシュ300内の1つまたは複数のキャッシュオブジェクトのサイズの縮小を、省略することができる。しかし、キャッシュ300内のストレージスペースのすべてまたは実質的にすべてが、CO 306がアクセスされる前に占められていた場合には、CO 306以外の1つまたは複数のキャッシュオブジェクトは、キャッシュ306の展開されたバージョンの格納のためにキャッシュ300内のスペースを解放するために、サイズの縮小を経験する場合がある。   In step 616, the data storage space 402 required to store the expanded version of CO 306 is preferably made available in cache 300. If there is enough space in the cache 300 to store the expanded version of the CO 306 without changing any cache objects in the cache 300, then one or more cache objects in the cache 300 Size reduction can be omitted. However, if all or substantially all of the storage space in the cache 300 was occupied before the CO 306 was accessed, one or more cache objects other than the CO 306 may be expanded in the cache 306. In order to free up space in the cache 300 for storage of the modified version, a reduction in size may be experienced.

1つまたは複数の実施形態で、キャッシュオブジェクトサイズ縮小動作の個数は、限られた個数の可能なキャッシュオブジェクトサイズがある場合に減らすことができる。キャッシュオブジェクトサイズ縮小動作の個数を制限することは、キャッシュ300にアクセスするコンピューティングシステムへの計算の重荷を減らすように好ましく動作し、全体的なコンピューティングシステム効率を好ましくもたらす。   In one or more embodiments, the number of cache object size reduction operations can be reduced if there is a limited number of possible cache object sizes. Limiting the number of cache object size reduction operations preferably operates to reduce the computational burden on the computing system accessing the cache 300 and preferably results in overall computing system efficiency.

1つまたは複数の実施形態で、所望の量のデータストレージスペースのクリアを達成する様々な形がある場合がある。本明細書では、用語「クリア」は、キャッシュ300内の1つまたは複数のキャッシュオブジェクトに割り振られたデータストレージスペースを減らすことによって、データストレージスペースをキャッシュ300内で使用可能にすることに対応するものとすることができる。   In one or more embodiments, there may be various ways of achieving the desired amount of data storage space clearing. As used herein, the term “clear” corresponds to making data storage space available in the cache 300 by reducing the data storage space allocated to one or more cache objects in the cache 300. Can be.

1つまたは複数の実施形態で、クリアされるデータストレージスペースの量は、展開されるキャッシュオブジェクトがコンピューティングシステムによる最も最近のアクセスの前に占めていたスペースを超える、その展開されるキャッシュオブジェクトが必要とする追加ストレージの量に対応するものとすることができる。しかし、他の実施形態では、クリアされるスペースの量を、最も最近にアクセスされたキャッシュオブジェクトがサイズにおいて増加する量スペースより少なくまたはこれより多くすることができる。   In one or more embodiments, the amount of data storage space that is cleared is that the deployed cache object exceeds the space that the deployed cache object occupied prior to the most recent access by the computing system. It can correspond to the amount of additional storage required. However, in other embodiments, the amount of space that is cleared can be less than or more than the amount space that the most recently accessed cache object increases in size.

1つまたは複数の実施形態で、最も最近に使用された展開されるキャッシュオブジェクトのためにクリアされるスペースは、図46に示されているように、キャッシュ300の一方の端にあるものとすることができる。しかし、他の実施形態では、クリアされるスペースを、キャッシュ300内の他の位置に置くことができる。   In one or more embodiments, the space to be cleared for the most recently used deployed cache object shall be at one end of the cache 300, as shown in FIG. be able to. However, in other embodiments, the space to be cleared can be placed in other locations within the cache 300.

1つまたは複数の実施形態で、使用可能にされるデータストレージスペースを、CO 3 306(最も最近に使用されたキャッシュオブジェクト)以外の図44の1つまたは複数のキャッシュオブジェクトを犠牲にして設けることができる。具体的には、1つの残りのキャッシュオブジェクトだけのサイズを減らすことによって、または最も最近に使用されたキャッシュオブジェクトを除くすべてのキャッシュオブジェクトのサイズを減らすことによって、必要な追加スペースを設けることが可能である場合がある。さらに、この2つの極端の間の任意の個数のキャッシュオブジェクトに、展開される最も最近に使用されたキャッシュオブジェクトを優先して、ストレージスペースを捨てさせることができる。次では、最も最近にアクセスされたキャッシュオブジェクト以外のすべてのキャッシュオブジェクトが、「サイズ縮小に好適である」と考えられる。   In one or more embodiments, the available data storage space is provided at the expense of one or more of the cache objects of FIG. 44 other than CO 3 306 (the most recently used cache object). Can do. Specifically, it is possible to provide the additional space required by reducing the size of just one remaining cache object or by reducing the size of all cache objects except the most recently used cache object. It may be. Furthermore, any number of cache objects between the two extremes can be made to discard storage space in preference to the most recently used cache object being deployed. In the following, all cache objects other than the most recently accessed cache object are considered “suitable for size reduction”.

1つまたは複数の実施形態で、サイズ縮小に好適な1つまたは複数のキャッシュオブジェクトのサイズ縮小の範囲は、1つまたは複数の考慮事項に従って選択することができる。一実施形態で、サイズ縮小に好適なキャッシュオブジェクトは、等しい量または実質的に等しい量のストレージスペースを捨てることができる。もう1つの実施形態で、好適なキャッシュオブジェクトは、展開される最も最近に使用されたキャッシュオブジェクト用のスペースをクリアするために、その事前縮小サイズのうちの等しい比率または実質的に等しい比率を捨てることができる。   In one or more embodiments, the size reduction range of one or more cache objects suitable for size reduction can be selected according to one or more considerations. In one embodiment, a cache object suitable for size reduction can discard an equal or substantially equal amount of storage space. In another embodiment, the preferred cache object discards an equal or substantially equal ratio of its pre-shrink size to clear the space for the most recently used cache object being expanded. be able to.

1つまたは複数の他の実施形態で、各キャッシュオブジェクトのサイズ縮小の範囲は、そのキャッシュオブジェクトが最後にどれほど最近にアクセスされたかに基づくものとすることができる。具体的には、サイズ縮小に好適なキャッシュオブジェクトは、その最後のアクセスの減少する新しさに伴って徐々により多くのストレージスペースを捨てることができる。したがって、この手法の下では、サイズ縮小に好適なキャッシュオブジェクトのうちで最も最近に使用されたものは、相対的に少量のストレージスペースを捨てることができ、最長時間未使用のキャッシュオブジェクトは、相対的に大量のデータストレージスペースを捨てることができ、この2つの極端の間のキャッシュオブジェクトは、中間の量のストレージスペースを捨てる。   In one or more other embodiments, the size reduction range for each cache object may be based on how recently the cache object was last accessed. Specifically, a cache object suitable for size reduction can gradually throw away more storage space with the decreasing newness of its last access. Therefore, under this approach, the most recently used cache objects suitable for size reduction can throw away a relatively small amount of storage space, while the least recently used cache objects A large amount of data storage space can be thrown away, and a cache object between the two extremes throws away an intermediate amount of storage space.

本明細書でのストレージスペース縮小の議論は、主に、最も最近にアクセスされたものではないキャッシュオブジェクトのサイズの単なる縮小を対象とするが、1つまたは複数の実施形態では、1つまたは複数のキャッシュオブジェクトを、データストレージスペースをクリアするためにキャッシュ300から除去することができる。さらに、そのようなキャッシュオブジェクト除去は、単独で、またはキャッシュ300内に残るキャッシュオブジェクトのキャッシュオブジェクトデータストレージスペース縮小と組み合わせて、のいずれかで実践することができる。   The discussion of storage space reduction herein is primarily directed to merely reducing the size of cache objects that are not the most recently accessed, but in one or more embodiments, one or more Cache objects can be removed from the cache 300 to clear the data storage space. Further, such cache object removal can be practiced either alone or in combination with cache object data storage space reduction of cache objects remaining in the cache 300.

図46の実施形態では、キャッシュ300に残る4つのキャッシュオブジェクト302、304、308、および310のすべてが、キャッシュ300の右端に示された位置へのCO 306の書込用のデータストレージスペースをクリアするために、サイズにおいて減らされている。しかし、代替実施形態では、サイズ縮小に好適な4つのキャッシュオブジェクト302、304、308、および310のうちの3つまたはより少数が、サイズ縮小を経験することができる。好ましくは、この方法は、ステップ620で終了する。   In the embodiment of FIG. 46, all four cache objects 302, 304, 308, and 310 that remain in cache 300 clear the data storage space for writing CO 306 to the location shown at the right end of cache 300. In order to be reduced in size. However, in alternative embodiments, three or fewer of the four cache objects 302, 304, 308, and 310 suitable for size reduction may experience size reduction. Preferably, the method ends at step 620.

1つまたは複数の実施形態では、キャッシュオブジェクトサイズを決定する際の変数として各キャッシュオブジェクトの使用の新しさだけを用いてキャッシュ内のオブジェクトを管理するのではなく、キャッシュオブジェクト管理に、どのオブジェクトが次に必要になる可能性があるかに関するインテリジェントな推測を含めることもできる。したがって、必要になる可能性がより低いオブジェクトを、将来に必要になるより高い尤度を有するオブジェクトの前に「圧搾」することができる。1つまたは複数の実施形態では、この推測手法を、圧搾のためにキャッシュ内のオブジェクトをランダムに選択することができ、さらに、選択されたオブジェクトの圧搾のランダムに変化する量を生成できるアルゴリズムと組み合わせることができる。   In one or more embodiments, rather than managing objects in the cache using only the freshness of use of each cache object as a variable in determining the cache object size, which objects are in cache object management. It can also include intelligent guesses about what might be needed next. Thus, objects that are less likely to be needed can be “squeezed” before objects that have a higher likelihood of being needed in the future. In one or more embodiments, this inference approach can be used to randomly select objects in the cache for squeezing, and to generate a randomly varying amount of squeezing of the selected objects; Can be combined.

図48は、本発明の1つまたは複数の実施形態と共に使用するために適合可能なコンピューティングシステム900のブロック図である。1つまたは複数の実施形態で、中央処理装置(CPU)902を、バス904に結合することができる。さらに、バス904を、発明的キャッシュ300、ランダムアクセスメモリ(RAM)906、読取専用メモリ(ROM)908、入出力(I/O)アダプタ910、通信アダプタ922、ユーザインターフェースアダプタ906、およびディスプレイアダプタ918に結合することができる。   FIG. 48 is a block diagram of a computing system 900 that is adaptable for use with one or more embodiments of the invention. In one or more embodiments, a central processing unit (CPU) 902 can be coupled to the bus 904. In addition, the bus 904 is connected to an inventive cache 300, random access memory (RAM) 906, read only memory (ROM) 908, input / output (I / O) adapter 910, communication adapter 922, user interface adapter 906, and display adapter 918. Can be combined.

1つまたは複数の実施形態で、RAM 906および/またはROM 908は、ユーザデータ、システムデータ、および/またはプログラムを保持することができる。I/Oアダプタ910は、ハードドライブ912、CD−ROM(図示せず)または他のマスストレージデバイスなどのストレージデバイスをコンピューティングシステム900に接続することができる。通信アダプタ922は、コンピューティングシステム900をローカルエリアネットワーク、広域ネットワーク、またはインターネットネットワーク924に結合することができる。ユーザインターフェースアダプタ916は、キーボード926および/またはポインティングデバイス914などのユーザ入力デバイスをコンピューティングシステム900に結合することができる。さらに、ディスプレイアダプタ918を、CPU 902によって駆動して、ディスプレイデバイス920上の表示を制御することができる。CPU 902は、任意の汎用CPUとすることができる。   In one or more embodiments, RAM 906 and / or ROM 908 may hold user data, system data, and / or programs. The I / O adapter 910 can connect a storage device, such as a hard drive 912, a CD-ROM (not shown), or other mass storage device, to the computing system 900. Communication adapter 922 can couple computing system 900 to a local area network, a wide area network, or an Internet network 924. User interface adapter 916 can couple user input devices such as keyboard 926 and / or pointing device 914 to computing system 900. Further, the display adapter 918 can be driven by the CPU 902 to control the display on the display device 920. The CPU 902 can be any general purpose CPU.

これまでに説明したおよび/または本明細書でこの後に説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび/またはファームウェアプログラムを実行できるすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の1つまたは複数の実施形態は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。   Any known processor, programmable digital device or programmable digital system capable of executing standard digital circuits, analog circuits, software and / or firmware programs can be used to implement the methods and apparatus described above and / or described hereinbelow. Note that any known technology, such as a programmable array logic device, or any combination of the above may be utilized. One or more embodiments of the present invention may also be implemented in a software program for storage on a suitable storage medium and execution by a processing unit.

本明細書では、本発明を、特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。   Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. Accordingly, it will be appreciated that numerous modifications can be made to these exemplary embodiments and that other arrangements can be devised without departing from the spirit and scope of the invention as defined by the appended claims. I want to be.

[発明の名称]データを効率的にエンコードするシステムおよび方法 System and method for efficiently encoding data

[背景技術]
最近、JPEG2000/JPIP(JPEG 2000 Interactive Protocol)などのイメージ圧縮標準規格が、要求の厳しいエンジニアリング目標を満足するために、すなわち、非常に大きいイメージ(すなわち、サイズにおいてギガピクセル)をサーバからクライアントへ低帯域幅通信チャネルを介して増分的にまたは選択的に配信することを可能にするために、導入されてきた。(例えば、David TaubmanのKakaduの実装を参照されたい(例えば、非特許文献3参照))。そのようなイメージが、フル解像度で見られているときには、各イメージの限られた領域だけが、任意の所与のときにクライアントのグラフィカルディスプレイにおさまることができる。これらの新しい標準規格は、そのような領域に選択的にアクセスすること、およびその領域に関連するデータだけを通信チャネルを介して送信することを対象とする。この「関心領域」すなわちROIが、連続的に変化する場合に、クライアントとサーバとの間の低帯域幅チャネルを介する連続的対話が、ROIの内側の領域のクライアントの表現を正確に保つために継続される可能性がある。
[Background]
Recently, image compression standards such as JPEG 2000 / JPIP (JPEG 2000 Interactive Protocol) have been developed to meet demanding engineering goals, i.e. very small images (i.e. gigapixel in size) from server to client. It has been introduced to allow for incremental or selective delivery over bandwidth communication channels. (For example, see David Kabdu's implementation of Kadadu (see, for example, Non-Patent Document 3)). When such images are viewed at full resolution, only a limited area of each image can fit on the client's graphical display at any given time. These new standards are directed to selectively accessing such areas and transmitting only the data associated with those areas over the communication channel. If this “region of interest” or ROI changes continuously, the continuous interaction between the client and the server via the low bandwidth channel ensures that the representation of the client in the region inside the ROI is accurate. May continue.

[非特許文献3]www.kakadusoftware.com
[発明の開示]
[発明が解決しようとする課題]
しかし、既存の手法は、一般に、関心領域の位置を実質的にシフトするためにかなりの量のデータの送信を必要とし、したがって、そのようなシフトを実装できる速度が制限される。さらに、既存の手法は、一般に、テキストの直線的ストリングへのシーケンシャルアクセスに依存し、これによって、クライアントが関心領域の位置を大きく変更することを求めるときに、テキストナビゲーションに大きい重荷を課す。したがって、サーバからクライアントにデータを送信する改善された方法が必要である。
[Non-Patent Document 3] www.kakadusoftware.com
[Disclosure of the Invention]
[Problems to be solved by the invention]
However, existing approaches generally require the transmission of a significant amount of data to substantially shift the position of the region of interest, thus limiting the speed with which such a shift can be implemented. Furthermore, existing approaches generally rely on sequential access to a linear string of text, thereby placing a heavy burden on text navigation when the client seeks to significantly change the location of the region of interest. Therefore, there is a need for an improved method for transmitting data from a server to a client.

[課題を解決するための手段]
1つまたは複数の実施形態によれば、本発明は、複数のビジュアル特徴を識別するデータを複数のピクセル特性データ値に変換することと、それぞれのピクセル特性データ値を有するピクセルを有するイメージファイルを形成することとを含む方法を提供する。好ましくは、複数のビジュアル特徴は、少なくとも1つのグラフィカルシンボルを含む。好ましくは、ビジュアル特徴識別データは、ASCIIコードを含む。好ましくは、ビジュアル特徴識別データは、ビジュアル特徴の頻度順位置を含む。好ましくは、ビジュアル特徴識別データは、a)ビジュアル特徴の使用の頻度とb)ビジュアル特徴のうちの連続するビジュアル特徴の間の遷移確率との組合せに基づいて決定される。好ましくは、ピクセル特性データ値は、ピクセル輝度データ値、ピクセルカラーデータ値、およびイメージコントラストデータ値からなる群から選択される少なくとも1つのデータタイプを含む。
[Means for solving problems]
According to one or more embodiments, the present invention converts data identifying a plurality of visual features into a plurality of pixel characteristic data values, and an image file having pixels having respective pixel characteristic data values. Forming a method. Preferably, the plurality of visual features includes at least one graphical symbol. Preferably, the visual feature identification data includes an ASCII code. Preferably, the visual feature identification data includes frequency-order positions of visual features. Preferably, the visual feature identification data is determined based on a combination of a) frequency of use of visual features and b) transition probabilities between successive visual features of the visual features. Preferably, the pixel characteristic data value includes at least one data type selected from the group consisting of a pixel luminance data value, a pixel color data value, and an image contrast data value.

好ましくは、ピクセル特性データ値は、ピクセルカラーデータ値を含む。好ましくは、ピクセルカラーデータ値は、RBG(赤、青、緑)ピクセルカラーデータ値、HSV(色相、彩度、明度)ピクセルカラーデータ値、およびCMYK(シアン、マゼンタ、イエロー、ブラック)ピクセルカラーデータ値からなる群から選択される少なくとも1つのカラーデータ値タイプを含む。   Preferably, the pixel characteristic data value includes a pixel color data value. Preferably, the pixel color data values are RBG (red, blue, green) pixel color data values, HSV (hue, saturation, lightness) pixel color data values, and CMYK (cyan, magenta, yellow, black) pixel color data. It includes at least one color data value type selected from the group of values.

好ましくは、この方法は、さらに、前記イメージファイルを可逆圧縮することを含む。好ましくは、ビジュアル特徴識別データは、ビジュアル特徴のうちの連続するビジュアル特徴の識別データの値の差を含む。好ましくは、ビジュアル特徴は、英数字文字を含む。好ましくは、この方法は、さらに、オリジナル文書内で前記英数字文字が順序付けられているのと同一の順序で前記イメージファイル内にピクセルを置くことを含む。好ましくは、この方法は、さらに、イメージファイルをクライアントに送信することを含む。好ましくは、この方法は、さらに、クライアントによるビューイングのために少なくとも前記イメージファイルの領域を英数字文字にデコードすることを含む。好ましくは、この方法は、さらに、クライアントがデコードされたイメージファイル領域を第1次元でブラウズすることを可能にすることを含む。   Preferably, the method further includes reversibly compressing the image file. Preferably, the visual feature identification data includes a difference in values of identification data of successive visual features among the visual features. Preferably, the visual feature includes alphanumeric characters. Preferably, the method further includes placing pixels in the image file in the same order that the alphanumeric characters are ordered in the original document. Preferably, the method further includes transmitting the image file to the client. Preferably, the method further includes decoding at least a region of the image file into alphanumeric characters for viewing by the client. Preferably, the method further includes allowing the client to browse the decoded image file region in the first dimension.

好ましくは、この方法は、さらに、クライアントがデコードされたイメージファイル領域を第1次元および第2次元でブラウズすることを可能にすることを含む。好ましくは、前記第1次元でのブラウジングは、英数字文字の行に沿って進むことを含み、前記第2次元でのブラウジングは、好ましくは、英数字文字の複数の行にまたがってスクロールすることを含む。好ましくは、ブラウジングは、オリジナル文書内でのブラウジングをエミュレートする形でデコードされたファイルをブラウズすることを含む。好ましくは、この方法は、さらに、イメージファイル内のピクセルの位置を、英数字文字を含むオリジナル文書内の前記ピクセルに対応する英数字文字の位置に相関させることを含む。   Preferably, the method further includes allowing the client to browse the decoded image file region in the first dimension and the second dimension. Preferably, browsing in the first dimension includes traveling along a line of alphanumeric characters, and browsing in the second dimension preferably scrolls across multiple lines of alphanumeric characters. including. Preferably, browsing includes browsing the decoded file in a manner that emulates browsing within the original document. Preferably, the method further includes correlating the position of the pixel in the image file with the position of the alphanumeric character corresponding to the pixel in the original document containing the alphanumeric character.

好ましくは、イメージファイル内のピクセルの位置は、オリジナル文書内の対応する英数字文字の位置に少なくとも実質的に対応する。好ましくは、イメージファイル内のピクセルの位置は、オリジナル文書内の対応する英数字文字の位置と実質的に同一である。好ましくは、この方法は、さらに、少なくともイメージファイルの領域をサーバからクライアントへ送信することを含む。好ましくは、この方法は、さらに、クライアントによってイメージファイルの領域をサーバに要求することを含む。   Preferably, the position of the pixel in the image file corresponds at least substantially to the position of the corresponding alphanumeric character in the original document. Preferably, the position of the pixel in the image file is substantially the same as the position of the corresponding alphanumeric character in the original document. Preferably, the method further includes transmitting at least a region of the image file from the server to the client. Preferably, the method further includes requesting an area of the image file by the client from the server.

好ましくは、この方法は、さらに、イメージファイルの要求された領域をサーバによって送信することを含む。好ましくは、送信ステップは、クライアントによるデコードに適切な圧縮データを送信することを含む。   Preferably, the method further includes transmitting the requested area of the image file by the server. Preferably, the transmitting step includes transmitting compressed data suitable for decoding by the client.

もう1つの態様によれば、本発明の1つまたは複数の実施形態は、ソフトウェアプログラムの指示の下で動作するプロセッサを含むことができる装置であって、ソフトウェアプログラムは、複数のビジュアル特徴を識別するデータを複数のピクセル特性データ値に変換することと、それぞれのピクセル特性データ値を有するピクセルを有するイメージファイルを形成することとを含むアクションを装置に実行させる、装置を提供する。   According to another aspect, one or more embodiments of the present invention is an apparatus that can include a processor operating under the direction of a software program, the software program identifying a plurality of visual features. An apparatus is provided for causing an apparatus to perform actions including converting data to be converted into a plurality of pixel characteristic data values and forming an image file having pixels having respective pixel characteristic data values.

もう1つの態様によれば、本発明の1つまたは複数の実施形態は、ソフトウェアプログラムの指示の下で、プロセッサを含む装置に、複数のビジュアル特徴を識別するデータを複数のピクセル特性データ値に変換することと、それぞれのピクセル特性データ値を有するピクセルを有するイメージファイルを形成することとを含むアクションを実行させるように動作可能なソフトウェアプログラムを含む記憶媒体を提供することができる。   According to another aspect, one or more embodiments of the present invention provide, under the direction of a software program, data that identifies a plurality of visual features to a plurality of pixel characteristic data values to a device that includes a processor. A storage medium can be provided that includes a software program operable to perform actions including converting and forming an image file having pixels having respective pixel characteristic data values.

他の態様、特徴、利益などは、本明細書の本発明の好ましい実施形態の説明を添付図面と共に解釈するときに、当業者に明白になるであろう。   Other aspects, features, benefits, etc. will become apparent to those skilled in the art when the description of the preferred embodiments of the invention herein is taken in conjunction with the accompanying drawings.

本発明の様々な態様を例示するために、現在好ましい形が図面に示されているが、本発明が図示の正確な配置および手段に限定されないことを理解されたい。   While the presently preferred form is shown in the drawings for purposes of illustrating various aspects of the invention, it is to be understood that the invention is not limited to the precise arrangements and instrumentalities shown.

[発明を実施するための最良の形態]
本発明の1つまたは複数の実施形態は、選択的に圧縮解除可能なイメージの圧縮テクノロジおよび伝送テクノロジを、2進表現を使用して識別できるテキストデータまたは他のデータに拡張することを含むことができる。
[Best Mode for Carrying Out the Invention]
One or more embodiments of the present invention include extending selectively decompressable image compression and transmission technologies to text data or other data that can be identified using a binary representation. Can do.

本明細書では、ビジュアル特徴を識別し、かつ/または記述する2進データを、ASCII(American Standard Code for Information Interchange)または他のフォーマットなどの初期フォーマットから変換することができ、ピクセル輝度データなどであるがこれに限定されないイメージデータへの組込みに適切なフォーマットに変換することができる。   As used herein, binary data that identifies and / or describes visual features can be converted from an initial format such as ASCII (American Standard Code for Information Interchange) or other formats, such as pixel luminance data. It can be converted into a format suitable for incorporation into image data, but not limited thereto.

上で言及したビジュアル特徴には、グラフィカルシンボルおよび/または英数字文字を含めることができるが、これらに限定はされない。しかし、本明細書では、ビジュアル特徴に、2進データを使用して記述でき、かつ/または識別できるすべてのビジュアルイメージ特徴を含めることができる。さらに、そのようなデータをピクセル輝度データにエンコードすることができるが、本発明は、このフォーマットでのエンコーディングに限定されない。   The visual features referred to above can include, but are not limited to, graphical symbols and / or alphanumeric characters. However, as used herein, visual features can include all visual image features that can be described and / or identified using binary data. Further, such data can be encoded into pixel luminance data, but the present invention is not limited to encoding in this format.

1つまたは複数の実施形態で、初期データ(ビジュアル特徴識別データ)を、ピクセル輝度データ、ピクセルカラーデータ、イメージコントラストデータ、および/またはイメージデータの他の形を含むがこれらに限定されない複数の可能なタイプのピクセル特性データに変換することができる。上で述べたピクセルカラーデータには、赤、青、緑(RBG)ピクセルカラーデータ、色相、彩度、明度(HSV)ピクセルカラーデータ、シアン、マゼンタ、イエロー、ブラック(CMYK)ピクセルカラーデータ、および/または他の形のピクセルカラーデータを含めることができるが、これらに限定はされない。   In one or more embodiments, the initial data (visual feature identification data) includes a plurality of possibilities including, but not limited to, pixel luminance data, pixel color data, image contrast data, and / or other forms of image data. Can be converted into various types of pixel characteristic data. The pixel color data described above includes red, blue, green (RBG) pixel color data, hue, saturation, lightness (HSV) pixel color data, cyan, magenta, yellow, black (CMYK) pixel color data, and Other forms of pixel color data may be included, but are not limited to these.

次の議論では、大きいテキスト、具体的にはジェームズジョイス著の書籍「ユリシーズ」を検討する。1つまたは複数の実施形態で、このテキストを、各章をそれ自体の列に置き、連続する章の列を左から右に配置することによってフォーマットすることができる。しかし、章の他の配置を実施できることを諒解されたい。列は、100文字など、文字単位の最大幅を有すると仮定する。図49に、図49内の各ピクセルがオリジナルテキスト文書内の単一テキスト文字(または、空のスペースなど、テキストを含まない文字位置)に対応する、この形のイメージとしてエンコードされたユリシーズのテキスト全体を示す。図50に、図49と同一のエンコーディング法を使用する、ユリシーズの最初の5章のテキストイメージを示す。   In the next discussion, we will consider a large text, specifically the book “Ulysses” by James Joyce. In one or more embodiments, this text can be formatted by placing each chapter in its own column and arranging successive chapter columns from left to right. However, it should be appreciated that other arrangements of chapters can be implemented. Assume that the column has a maximum width in characters, such as 100 characters. 49. Ulysses text encoded as an image of this shape, where each pixel in FIG. 49 corresponds to a single text character (or character position that does not contain text, such as an empty space) in the original text document. Show the whole. FIG. 50 shows a text image of the first five chapters of Ulysses using the same encoding method as FIG.

1つまたは複数の実施形態で、各ピクセルの輝度値を、そのピクセルでエンコードされる文字のASCIIコードと等しくなるようにセットすることができる。グレイスケールピクセルとASCII文字との両方を、8ビットシーケンスを使用して表すことができる(両方が0〜255の範囲内の値を有することができる)ので、ピクセル値と文字との間の対応を、たやすく実装することができる。この開示では、テキスト文字および他の文字を、ピクセル輝度の値としてASCIIコードを使用してピクセルを用いて表すことができるが、テキスト文字および他の文字の他のコードをこの目的に用いることができることを諒解されたい。   In one or more embodiments, the luminance value of each pixel can be set equal to the ASCII code of the character encoded in that pixel. Since both grayscale pixels and ASCII characters can be represented using an 8-bit sequence (both can have values in the range of 0-255), the correspondence between pixel values and characters Can be easily implemented. In this disclosure, text characters and other characters can be represented using pixels using ASCII codes as pixel luminance values, although other codes for text characters and other characters may be used for this purpose. I want to understand what I can do.

一般に、普通のASCII表現での(すなわち、標準テキストファイルとしての)ユリシーズの全テキストは、1.5MBのストレージスペースを占め、これは、その全体を狭帯域通信チャネルを介して送信するには大きすぎる可能性がある。図49の、可逆JPEG2000イメージとしてエンコードされた文字データのピクセル特性データ表現(本明細書では「文字ピクセルイメージ」と称し、「テキストイメージ」とも称する)は、約2.2MB(メガバイト)のデータストレージスペースを必要とする。このストレージスペース要件は、本の章が長さにおいてより均等であり、文字ピクセルイメージ(テキストイメージ)内のより少ない空のスペース(0としてエンコードされる)をもたらす場合に、大幅に減らすことができる。   In general, Ulysses' full text in ordinary ASCII representation (ie, as a standard text file) occupies 1.5 MB of storage space, which is large enough to be transmitted entirely over a narrowband communication channel. It may be too much. The pixel characteristic data representation of character data encoded as a reversible JPEG2000 image in FIG. 49 (referred to herein as “character pixel image”, also referred to as “text image”) is approximately 2.2 MB (megabytes) of data storage. Requires space. This storage space requirement can be significantly reduced if the chapter of the book is more even in length, resulting in less empty space (encoded as 0) in the character pixel image (text image). .

しかし、総ファイルサイズより重要なのは、普通のJPIPサーバの、このファイルをクライアントに選択的かつ増分式に供給する能力である。具体的には、ここで重要なのは、ファイルの選択された部分を、解像度の制御可能な増分で供給するサーバの能力である。   However, more important than the total file size is the ability of an ordinary JPIP server to selectively and incrementally supply this file to the client. Specifically, what is important here is the server's ability to serve selected portions of the file in controllable increments of resolution.

1つまたは複数の実施形態で、文字を読むのに十分なズームレベル(クライアント側ディスプレイで1ピクセル/文字を十分に超えることを必要とする可能性がある)でテキストを見ているクライアントは、JPIP(または他の適切なプロトコル)を使用して、そのテキストの関連部分だけを要求することができる。この動作は、効率的であり、サーバへの非常に低帯域幅の接続を有する場合すなわち、テキスト全体をダウンロードすることが、そのようなダウンロードに伴うデータの大きさに起因して禁止的になる条件の下であっても、テキストを読む人にとって適当な性能を達成することができる。   In one or more embodiments, a client viewing text at a zoom level sufficient to read characters (which may need to be well above 1 pixel / character on the client-side display) Using JPIP (or other suitable protocol), only the relevant part of the text can be requested. This operation is efficient and has a very low bandwidth connection to the server, ie, downloading the entire text becomes prohibitive due to the size of the data associated with such a download Appropriate performance can be achieved for the reader of the text even under conditions.

1つまたは複数の実施形態で、特に大きいテキストへの選択的アクセス用に設計されたクライアント/サーバテクノロジを使用して、類似する効果を達成することができるが、上で説明した文字ピクセルイメージ手法は、従来の実装を上回る、下にリストした複数の利益を有する。   In one or more embodiments, a similar effect can be achieved using client / server technology specifically designed for selective access to large text, but the character pixel image approach described above. Has several benefits listed below over conventional implementations.

1)文字ピクセルイメージ手法は、非常に多いデータ量に関して設計された既存のテクノロジおよびプロトコルを使用することができる。   1) The character pixel image approach can use existing technologies and protocols designed for very large amounts of data.

2)文字ピクセルイメージ手法は、性能の劣化を一切伴わずに、サイズにおいて何ギガバイトもの、あるいはそれより大きいテキストに簡単にスケールアップすることができる。   2) The character pixel image approach can be easily scaled up to text that is many gigabytes in size or larger without any performance degradation.

3)関心領域内のテキストまたは他のビジュアル特徴へのアクセスは、好ましくは、本発明の1つまたは複数の実施形態で2次元である。したがって、多くの情況で(例えば、ユリシーズの事例のようにテキストが列で見られる場合に)、本明細書で開示される文字ピクセルイメージ手法は、好ましくは、1次元ストリングとしてテキストを扱う既存の手法を使用して入手可能なものより効率的なブラウジングを可能にする。   3) Access to text or other visual features in the region of interest is preferably two-dimensional in one or more embodiments of the invention. Thus, in many situations (eg, when text is viewed in a row as in the case of Ulysses), the character pixel image approach disclosed herein is preferably an existing one that treats text as a one-dimensional string. Allows browsing more efficiently than is available using techniques.

4)ウェーブレットがJPEG2000で使用されるので、文字ピクセルイメージは、好ましくは複数解像度表現の対象になる。テキストまたはビジュアル特徴識別データを使用して識別される他のビジュアル特徴は、一般に、最終的な(最も詳細な)解像度以外では読取可能ではないが、より低い解像度のウェーブレットのより広い空間的サポートは、好ましくは、関心領域付近のテキストおよび/または他のビジュアル特徴のインテリジェントなクライアント側キャッシングをもたらす。したがって、伝統的な形でテキストをスクロールするときに行われる可能性がある、オリジナルテキストの様々な領域にまたがるROIの移動を、本発明の1つまたは複数の実施形態を使用して効率的に実行することができる。   4) Since wavelets are used in JPEG2000, character pixel images are preferably the subject of multi-resolution representations. Other visual features identified using text or visual feature identification data are generally not readable except at the final (most detailed) resolution, but the wider spatial support for lower resolution wavelets is Preferably providing intelligent client-side caching of text and / or other visual features near the region of interest. Thus, ROI movement across various regions of the original text, which may occur when scrolling text in a traditional manner, can be efficiently performed using one or more embodiments of the present invention. Can be executed.

1つまたは複数の実施形態で、上の概念を、フォーマットされたテキスト、ユニコード、または他のメタデータを扱うように簡単に拡張することができる。というのは、そのようなデータのすべてを、おそらくは埋め込まれたエスケープシーケンスを用いて、ASCIIテキストストリングを使用して表すことができるからである。   In one or more embodiments, the above concepts can be easily extended to handle formatted text, Unicode, or other metadata. This is because all such data can be represented using ASCII text strings, possibly with embedded escape sequences.

選択されたアプリケーションにおいて、JPEG2000を、非可逆圧縮フォーマットとして使用することができ、これは、デコードされたイメージバイトが、必ずしもオリジナルバイトと同一ではないことを意味する。本明細書では、用語「デコード」は、テキストイメージ内のピクセルデータをオリジナルテキストデータまたは他のビジュアル特徴データに戻して変換することを指す。イメージバイトがテキストを表す場合に、非可逆圧縮は、一般に許容できない。しかし、JPEG2000の設計目標の1つは、可逆圧縮を効率的にサポートすることであった。というのは、これが、ある種のイメージング機能(医療応用および科学応用など)に重要であるからである。写真イメージの可逆圧縮比は、通常は24:1で簡単に圧縮できる視覚的に許容できる非可逆イメージと比較して、通常は約2:1に過ぎない。   In the selected application, JPEG2000 can be used as a lossy compression format, which means that the decoded image byte is not necessarily identical to the original byte. As used herein, the term “decode” refers to converting pixel data in a text image back to original text data or other visual feature data. Lossless compression is generally unacceptable when image bytes represent text. However, one of the design goals of JPEG 2000 was to efficiently support lossless compression. This is because it is important for certain imaging functions (such as medical and scientific applications). The lossless compression ratio of a photographic image is usually only about 2: 1 compared to a visually acceptable lossy image that can be easily compressed, usually 24: 1.

非可逆と可逆との両方のイメージ圧縮は、一般に、よい空間的連続性(隣接ピクセルの輝度値の間の差が小さいことを意味する)を有するイメージに対して最も良く動作する。生ASCIIエンコーディングは、この展望からは最適ではない。というのは、ASCIIでエンコードされた連続するテキスト文字が、大きく変化する値を有する場合があるからである。したがって、いくつかの代替案を、下で検討する。   Both lossy and lossless image compression generally works best for images with good spatial continuity (meaning that the difference between adjacent pixel luminance values is small). Raw ASCII encoding is not optimal from this perspective. This is because ASCII text-encoded consecutive text characters may have values that vary greatly. Therefore, some alternatives are considered below.

図51は、本発明の1つまたは複数の実施形態による頻度順エンコーディングを使用してエンコードされたユリシーズの最初の5章のテキストイメージである。   FIG. 51 is a text image of the first five chapters of Ulysses encoded using frequency-order encoding according to one or more embodiments of the present invention.

<頻度エンコーディング>
本発明の1つまたは複数の実施形態で、関係するテキストでの、英語全体での、または別の言語全体での、最高頻度から最低頻度への出現の頻度に従って文字を並べなおすことによって、エンコーディング効率を改善することができる。したがって、1つまたは複数の実施形態では、空のスペースが、コード0を有し、文字ピクセルイメージでは0のピクセル値を有する。「スペース」文字は、コード「1」を受け取ることができる(文字ピクセルイメージでの対応する値も「1」である)。e、t、a、o、i、n、s、r、h、l...などの文字のシーケンスを、「2」(「e」に対応する)から始まり、これから値255まで上に進む連続するピクセル値に変換させることができる。
<Frequency encoding>
In one or more embodiments of the present invention, encoding by reordering characters according to their frequency of occurrence from highest frequency to lowest frequency in the relevant text, in English or in another language. Efficiency can be improved. Thus, in one or more embodiments, an empty space has a code 0, and a character pixel image has a pixel value of 0. A “space” character can receive the code “1” (the corresponding value in the character pixel image is also “1”). e, t, a, o, i, n, s, r, h, l. . . Can be converted to successive pixel values starting with “2” (corresponding to “e”) and going up to a value of 255.

大きいテキストのすべての文字をこの手法を使用してピクセル値に変換する際に、255個のすべてのピクセル値が結局は使用される可能性がある。しかし、本明細書で企図されるテキスト文字(または他のビジュアル特徴)からピクセル値への変換の性質そのものによって、ピクセル値出現は、好ましくは、その数値が増えるにつれてだんだんと希になる。   In converting all characters of a large text into pixel values using this approach, all 255 pixel values may eventually be used. However, due to the very nature of the conversion from text characters (or other visual features) to pixel values as contemplated herein, pixel value appearances preferably become increasingly rare as the number increases.

図51のイメージは、このポイントを示すものである。ピクセル値は、0付近に密集する傾向がある。少なくとも同様に重要なことに、図51の実施形態の連続する文字ピクセル値の間のピクセル値の差は、好ましくは、図50の実施形態より小さい。   The image in FIG. 51 shows this point. Pixel values tend to be close to zero. At least equally important, the difference in pixel values between successive character pixel values in the embodiment of FIG. 51 is preferably smaller than in the embodiment of FIG.

0〜255の範囲内のすべてのピクセル値が、同等に出現し得る場合に、一般に、8ビットが、各ピクセル値を表すのに必要になる。しかし、一部のピクセル値が他のピクセル値よりはるかに頻繁に出現する実施形態では、好ましくは、それらのピクセル値を、情報を一切失わずにより少数のビットを用いて表現することができる。   In general, 8 bits are needed to represent each pixel value, where all pixel values in the range 0-255 can appear equally. However, in embodiments where some pixel values appear much more frequently than others, those pixel values can preferably be represented using fewer bits without losing any information.

1つの例を検討して、このポイントを示す。この極端な例では、ピクセル値は、99%の場合に0と等しく、それ以外の場合に0と255との間の別の値を有する。この場合に、エンコーディングアルゴリズムは、0の値を単一の「0」ビットを用いてエンコードし、非0値を先頭の「1」ビット(非0値の存在を知らせるため)とそれに続く非0値の8ビット表現とを用いてエンコードすることができる。したがって、この手法は、100ピクセルのうちの99ピクセルについて1ピクセルあたり7ビットを節約するが、1%の場合に限って発生する非0ピクセルを表すのに1つの余分ピクセルを使用する。したがって、上で説明したエンコーディングアルゴリズムに対応するデコーディングアルゴリズムは、好ましくは、「0」ビットを0ビット値を表すものと解釈し、「1」ビット値から始まるビットシーケンスを、先頭の「1」ビットに続くビットによって表される値を有するものと解釈する。   An example is considered to illustrate this point. In this extreme example, the pixel value is equal to 0 for 99% and has another value between 0 and 255 otherwise. In this case, the encoding algorithm encodes the value of 0 using a single “0” bit and the non-zero value with the leading “1” bit (to signal the presence of a non-zero value) followed by a non-zero. Can be encoded with an 8-bit representation of the value. Thus, this approach saves 7 bits per pixel for 99 out of 100 pixels, but uses one extra pixel to represent a non-zero pixel that occurs only in the 1% case. Accordingly, a decoding algorithm corresponding to the encoding algorithm described above preferably interprets a “0” bit as representing a 0-bit value, and converts a bit sequence starting from a “1” bit value to a leading “1”. Interpret as having the value represented by the bit following the bit.

しかし、これより極端でない情況であっても、他のピクセル値よりはるかに頻繁に発生するピクセル値の存在は、ピクセルデータの消失を一切こうむらずに、また、論理拡張によってピクセルデータによって表されるビジュアル特徴データの消失を一切こうむらずに、ストレージスペースのかなりの節約を可能にすることができる。一般に、2又は3以上のカテゴリの値出現頻度を、一般に減少する頻度を伴って発生する値を表すのに徐々に増加するビット数を使用して、確立することができる。この形で、より小さいビットシーケンスをほとんどの場合に使用することができ、これによって、データストレージスペース要件およびデータ通信帯域幅要件が節約される。   However, even in less extreme situations, the presence of pixel values that occur much more frequently than other pixel values does not incur any loss of pixel data, and is represented by pixel data through logical expansion. A significant savings in storage space can be made without incurring any loss of visual feature data. In general, the frequency of occurrence of values in two or more categories can be established using a gradually increasing number of bits to represent values that generally occur with decreasing frequency. In this way, smaller bit sequences can be used in most cases, thereby saving data storage space requirements and data communication bandwidth requirements.

中間の例では、5ビットを使用して、最も頻繁に発生するピクセル値を表し、9ビットを、より低頻度で発生する値に使用することができる。最も頻繁に発生するビジュアル特徴について、「0」とすることのできる先頭ビットを設けることができ、これに、ピクセルの実際の値を表す4ビットを続けることができる。より低頻度で発生するピクセル値について、「1」とすることのできる先頭ビットを設けることができ、これに、ピクセルの実際の値を表す8ビットを続けることができる。   In the middle example, 5 bits can be used to represent the most frequently occurring pixel values, and 9 bits can be used for less frequently occurring values. For the most frequently occurring visual features, a leading bit can be provided that can be "0", followed by 4 bits that represent the actual value of the pixel. For pixel values that occur less frequently, a leading bit can be provided that can be "1", followed by 8 bits that represent the actual value of the pixel.

1つまたは複数の他の実施形態で、頻度エンコーディングは、減らされたビット数を使用してテキストイメージを表すために空間コヒーレンスから利益を得ることができる。具体的に言うと、イメージを、8×8ピクセルブロックに分割し、したがって各ブロック内に64ピクセルを設けることができ、各ピクセルは、頻度エンコードされたビジュアル特徴(テキスト文字とすることができる)を表す。このエンコーディング法は、次に、各ブロックを再検討し、そのブロック内の最大値を有するピクセル値を表すのに必要なビット数を判定することができる。次に、判定されたビット数を使用して、そのブロック内のすべてのピクセル値を表すことができる。   In one or more other embodiments, frequency encoding can benefit from spatial coherence to represent a text image using a reduced number of bits. Specifically, the image can be divided into 8 × 8 pixel blocks, thus providing 64 pixels within each block, each pixel being a frequency encoded visual feature (which can be a text character). Represents. This encoding method can then review each block and determine the number of bits needed to represent the pixel value having the maximum value in that block. The determined number of bits can then be used to represent all pixel values in the block.

任意の所与のイメージ内のブロックの多くについて、最大の値を有するピクセルを、4ビット以下を用いて表せる可能性がある。したがって、このブロックごとの手法を用いるときに、データストレージ要件におけるかなりの節約を得ることができる。   For many of the blocks in any given image, the pixel with the largest value may be represented using 4 bits or less. Thus, considerable savings in data storage requirements can be obtained when using this block-by-block approach.

1つまたは複数の実施形態で、ユリシーズの頻度エンコードされたテキストイメージが、JPEG2000イメージとして可逆に圧縮されるときに、ファイルサイズは、生ASCIIテキストイメージ(1.5MB)よりわずかに大きく、ASCIIエンコードされたテキストイメージより37%小さい1.6MBである。文字エンコーディングのさらなる最適化を用いると、圧縮ファイルサイズをASCIIテキストファイルサイズ未満まで減らすことができる。さらなる最適化には、頻度だけ(マルコフ−0)ではなく、エンコーディングを展開するのに文字遷移確率を使用すること(マルコフ−1)、および/または文字自体ではなく、ある文字と次の文字との間のデルタすなわち差分をピクセルとしてエンコードすることを含めることができるが、これらに限定はされない。   In one or more embodiments, when a Ulysses frequency encoded text image is reversibly compressed as a JPEG2000 image, the file size is slightly larger than the raw ASCII text image (1.5 MB) and the ASCII encoding 1.6 MB which is 37% smaller than the text image. With further optimization of character encoding, the compressed file size can be reduced below the ASCII text file size. For further optimization, use the character transition probabilities to expand the encoding (Markov-1), not just the frequency (Markov-0), and / or the character and the next character, not the character itself. Encoding deltas or differences between them as pixels can be included, but is not limited to these.

これらの追加の最適化を用いると、この形で供給される準備ができたテキストが、実際に、生ASCIIより少ないデータストレージスペースを占める場合がある。   With these additional optimizations, text ready to be delivered in this form may actually occupy less data storage space than raw ASCII.

本明細書で述べる本発明の1つまたは複数の実施形態は、選択的イメージ圧縮解除技法としてJPEG2000/JPIPを使用することを含むが、本発明は、このイメージ圧縮テクノロジの使用に限定されない。例えば類似するプロパティを有するLizardTech社のMrSIDフォーマットおよびプロトコルを含むがこれに限定されない、他のイメージ圧縮フォーマットおよびイメージ圧縮プロトコルを、本発明と共に用いることができる。   Although one or more embodiments of the invention described herein include using JPEG2000 / JPIP as a selective image decompression technique, the invention is not limited to the use of this image compression technology. Other image compression formats and image compression protocols can be used with the present invention including, but not limited to, Mr. LizardTech's MrSID format and protocol with similar properties.

図52は、本発明の1つまたは複数の実施形態と共に使用するために適合可能なコンピューティングシステム1400のブロック図である。1つまたは複数の実施形態で、中央処理装置(CPU)1402を、バス1404に結合することができる。さらに、バス1404を、ランダムアクセスメモリ(RAM)1406、読取専用メモリ(ROM)1408、入出力(I/O)アダプタ1410、通信アダプタ1422、ユーザインターフェースアダプタ1406、およびディスプレイアダプタ1418に結合することができる。   FIG. 52 is a block diagram of a computing system 1400 that is adaptable for use with one or more embodiments of the invention. In one or more embodiments, a central processing unit (CPU) 1402 can be coupled to the bus 1404. Further, the bus 1404 may be coupled to a random access memory (RAM) 1406, a read only memory (ROM) 1408, an input / output (I / O) adapter 1410, a communication adapter 1422, a user interface adapter 1406, and a display adapter 1418. it can.

1つまたは複数の実施形態で、RAM 1406および/またはROM 1408は、ユーザデータ、システムデータ、および/またはプログラムを保持することができる。I/Oアダプタ1410は、ハードドライブ1412、CD−ROM(図示せず)または他のマスストレージデバイスなどのストレージデバイスをコンピューティングシステム1400に接続することができる。通信アダプタ1422は、コンピューティングシステム1400をローカルエリアネットワーク、広域ネットワーク、またはインターネットネットワーク1424に結合することができる。ユーザインターフェースアダプタ1416は、キーボード1426および/またはポインティングデバイス1414などのユーザ入力デバイスをコンピューティングシステム1400に結合することができる。さらに、ディスプレイアダプタ1418を、CPU 1402によって駆動して、ディスプレイデバイス1420上の表示を制御することができる。CPU 1402は、任意の汎用CPUとすることができる。   In one or more embodiments, RAM 1406 and / or ROM 1408 may hold user data, system data, and / or programs. The I / O adapter 1410 can connect a storage device such as a hard drive 1412, a CD-ROM (not shown) or other mass storage device to the computing system 1400. Communication adapter 1422 may couple computing system 1400 to a local area network, a wide area network, or an Internet network 1424. User interface adapter 1416 may couple user input devices, such as keyboard 1426 and / or pointing device 1414, to computing system 1400. Further, the display adapter 1418 can be driven by the CPU 1402 to control the display on the display device 1420. The CPU 1402 can be any general purpose CPU.

これまでに説明したおよび/または本文書でこの後に説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび/またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の1つまたは複数の実施形態は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。   Any known processor, programmable digital device or device that operates to execute standard digital circuits, analog circuits, software and / or firmware programs may be used for the methods and apparatus described above and / or described later in this document. Note that any known technology can be used, such as a programmable digital system, a programmable array logic device, or any combination of the above. One or more embodiments of the present invention may also be implemented in a software program for storage on a suitable storage medium and execution by a processing unit.

本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。   Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. Accordingly, it will be appreciated that numerous modifications can be made to these exemplary embodiments and that other arrangements can be devised without departing from the spirit and scope of the invention as defined by the appended claims. I want to be.

[発明の名称]イメージデータの通信および/または格納を管理するシステムおよび方法 System and method for managing communication and / or storage of image data

[背景技術]
JPEG2000/JPIPなど、最近開発されたイメージ圧縮標準規格およびイメージ伝送標準規格は、狭帯域幅通信チャネルを介する大きいイメージ(すなわち、サイズにおいてギガピクセル)の対話型表示を可能にした。しかし、これらの新生の標準規格およびテクノロジは、より意欲的な目標を達成する手段すなわち、それぞれが潜在的に非常に大きい場合もある非常に多数のイメージとの柔軟な視覚的対話を同時に可能にする手段を提供しない。
[Background]
Recently developed image compression standards and image transmission standards, such as JPEG2000 / JPIP, have enabled interactive display of large images (ie, gigapixel in size) over a narrow bandwidth communication channel. However, these emerging standards and technologies enable simultaneous flexible visual interaction with a large number of images, each of which can achieve a more ambitious goal, each potentially potentially very large. Does not provide a means to

[特許文献5]米国特許出願第11/082556号明細書
[特許文献6]米国特許仮出願第60/617485号明細書
[特許文献7]米国特許仮出願第60/619118号明細書
[特許文献8]米国特許出願第11/141958号明細書
[特許文献9]米国特許仮出願第60/619053号明細書
[発明の開示]
[発明が解決しようとする課題]
したがって、当技術分野には、イメージデータを伝送し、かつ/または格納する改善されたシステムおよび方法のための改善されたシステムおよび方法の必要がある。
[Patent Document 5] US Patent Application No. 11/082556
[Patent Document 6] US Provisional Patent Application No. 60/617485
[Patent Document 7] US Provisional Patent Application No. 60 / 619,118 Specification
[Patent Document 8] US Patent Application No. 11/141958
[Patent Document 9] US Provisional Patent Application No. 60 / 619,053
[Disclosure of the Invention]
[Problems to be solved by the invention]
Accordingly, there is a need in the art for improved systems and methods for improved systems and methods for transmitting and / or storing image data.

[課題を解決するための手段]
一態様によれば、本発明は、通信リンクを介する第1コンピュータと第2コンピュータとの間の通信を確立することであって、第2コンピュータは、圧縮されたイメージデータの形でイメージコレクションをその中に格納され、前記第1コンピュータへの通信のためにコレクション内の複数のイメージを選択することと、選択されたイメージのいずれかのフル解像度イメージデータを送信する前に第2コンピュータから第1コンピュータへ選択されたイメージのすべての低解像度イメージデータを送信することとを含むことができる方法を提供する。
[Means for solving problems]
According to one aspect, the present invention establishes communication between a first computer and a second computer via a communication link, wherein the second computer stores an image collection in the form of compressed image data. Selecting a plurality of images in a collection for communication to the first computer stored therein and a second computer from the second computer before transmitting full resolution image data of any of the selected images. Transmitting all the low resolution image data of the selected image to a computer.

他の態様、特徴、利益などは、本明細書の本発明の好ましい実施形態の説明を添付図面と共に解釈するときに、当業者に明白になるであろう。   Other aspects, features, benefits, etc. will become apparent to those skilled in the art when the description of the preferred embodiments of the invention herein is taken in conjunction with the accompanying drawings.

本発明の様々な態様を例示するために、現在好ましい形が図面に示されているが、本発明が図示された正確な配置および手段に限定されないことを理解されたい。   While the presently preferred form is shown in the drawings for purposes of illustrating various aspects of the invention, it is to be understood that the invention is not limited to the precise arrangements and instrumentalities shown.

[発明を実施するための最良の形態]
図53は、本発明の1つまたは複数の実施形態による複数のコンピュータの間でのイメージデータの通信を可能にするために接続することのできるシステム170を示すブロック図である。システム170には、ディスプレイ184およびデータストレージデバイス186に接続されたクライアントコンピュータ182が含まれることが好ましい。システム170には、データストレージデバイス190に接続することのできるサーバコンピュータ188も含まれることが好ましい。サーバコンピュータ188を、インターネット180に接続することもできる。
[Best Mode for Carrying Out the Invention]
FIG. 53 is a block diagram illustrating a system 170 that can be connected to enable communication of image data between multiple computers according to one or more embodiments of the present invention. System 170 preferably includes a client computer 182 connected to display 184 and data storage device 186. The system 170 also preferably includes a server computer 188 that can connect to the data storage device 190. Server computer 188 can also be connected to the Internet 180.

1つまたは複数の実施形態で、イメージデータを、複数のコンピュータ182、188の間で通信して、それらの間の比較的低帯域幅の接続を使用して潜在的に大きいイメージの大きいコレクションを見ることを可能にすることができる。例えば、サーバコンピュータ188に格納されたイメージの所望のビューイングおよびナビゲーションを、サーバコンピュータ188で格納されたイメージデータの選択された部分を制御可能なレベルの解像度で送信することによって達成することができる。イメージデータ114の選択性は、高解像度で特定のイメージを選択することなどとすることができ、あるいは、高解像度で特定のイメージの選択された部分を選択することとすることすらできる。   In one or more embodiments, image data is communicated between multiple computers 182, 188 to produce a large collection of potentially large images using a relatively low bandwidth connection between them. Can be allowed to see. For example, the desired viewing and navigation of images stored on the server computer 188 can be achieved by transmitting selected portions of the image data stored on the server computer 188 at a controllable level of resolution. . The selectivity of the image data 114 can be, for example, selecting a specific image at a high resolution, or even selecting a selected portion of a specific image at a high resolution.

本明細書では、クライアントコンピュータ182およびサーバ188として使用されるデバイスのタイプの変更、それらの間で伝送されるイメージデータ114のタイプ、および指定されたレベルの解像度で選択されたイメージデータを伝送する能力の様々な応用を含む様々な実施形態を述べる。   This specification changes the type of device used as client computer 182 and server 188, the type of image data 114 transmitted between them, and transmits selected image data at a specified level of resolution. Various embodiments are described, including various applications of capabilities.

図54は、本発明の1つまたは複数の実施形態による、その中に少なくとも2つの関心領域252、254を有するイメージ250のブロック図である。イメージ250は、イメージデータ114のサブセットとすることができる。あるいは、クライアントコンピュータ182によって要求されるイメージデータに応じて、イメージデータ114は、イメージ250のサブセットを表すことができる。   FIG. 54 is a block diagram of an image 250 having at least two regions of interest 252, 254 therein, according to one or more embodiments of the invention. The image 250 can be a subset of the image data 114. Alternatively, depending on the image data requested by the client computer 182, the image data 114 can represent a subset of the image 250.

1つまたは複数の実施形態では、イメージ250を、圧縮された形でサーバコンピュータ188上にまたはストレージデバイス190内に格納することができる。この形で格納されるときに、イメージ250の様々な領域の複数の解像度レベルのデータを、格納でき、クライアントコンピュータ182によってダウロードのために要求できることが好ましい。   In one or more embodiments, the image 250 may be stored in a compressed form on the server computer 188 or in the storage device 190. When stored in this manner, data of multiple resolution levels in various regions of the image 250 can preferably be stored and requested by the client computer 182 for download.

1つまたは複数の実施形態で、特定のイメージまたはイメージの領域がクライアントコンピュータ182に格納される解像度レベルを、たやすく上げ、または下げることができる。以前のダウンロードが、第1解像度レベル(フル解像度より低いものとすることができる)での領域またはイメージの格納をもたらす場合に、この第1解像度レベルを、次に高いレベルの解像度を表すデータを追加することによって、好ましくは第1解像度を表すデータを破棄する必要なしに、高めることができ、これによって冗長性が回避され、本明細書で企図されるイメージデータ通信の効率が高まる。逆に、クライアント182で格納される領域またはイメージの解像度レベルを、そこに格納された最高レベルの解像度を破棄することによって、同一の領域またはイメージのより低いレベルの解像度に対応するデータを失わずに、下げることができる。そのような解像度低下を、クライアント182で実践して、データが破棄されようとしているもの以外の1つまたは複数の領域またはイメージに必要なデータストレージスペースをクリアすることができる。   In one or more embodiments, the resolution level at which a particular image or region of an image is stored on the client computer 182 can be easily raised or lowered. If a previous download results in storage of an area or image at a first resolution level (which may be lower than full resolution), this first resolution level is replaced with data representing the next higher level resolution. The addition can preferably be done without having to discard the data representing the first resolution, thereby avoiding redundancy and increasing the efficiency of the image data communication contemplated herein. Conversely, the resolution level of the area or image stored at client 182 is discarded without discarding the data corresponding to the lower level resolution of the same area or image by discarding the highest resolution stored therein. Can be lowered. Such resolution reduction can be practiced at client 182 to clear the data storage space required for one or more regions or images other than those for which data is about to be discarded.

関係するイメージ圧縮は、例えば、JPEG2000または別の離散ウェーブレット変換ベースのイメージ圧縮方式によってもたらすことができる。しかし、本発明は、どの特定の圧縮フォーマットまたはイメージデータ表現の使用にも限定されない。バイト単位のサイズが非圧縮イメージデータより実質的に小さくないイメージフォーマットを含む、他のフォーマットを用いることができる。選択されたイメージフォーマットが、イメージデータのマルチスケール表現および格納を許すことは、単に好ましい。   Related image compression can be provided, for example, by JPEG 2000 or another discrete wavelet transform based image compression scheme. However, the present invention is not limited to the use of any particular compression format or image data representation. Other formats can be used, including image formats whose size in bytes is not substantially smaller than uncompressed image data. It is simply preferred that the selected image format allows multi-scale representation and storage of image data.

1つまたは複数の実施形態で、クライアントコンピュータ182は、イメージ250の1つまたは複数の領域をダウンロードしようと努めることができ、ここで、そのような領域を、イメージ250の一部とすることができる。1つまたは複数の関心領域252、254だけを、クライアントコンピュータ182がダウンロードしようと努める関心領域とすることができる。あるいは、クライアントコンピュータ(クライアント)182は、単に、イメージ250の残りがダウンロードされる解像度より高い解像度で、1つまたは複数の選択された領域をダウンロードしようと努めることができる。どちらの場合でも、クライアント182は、イメージ250のうちでダウンロードすべき指定された領域と、この指定された領域がサーバコンピュータ(サーバ)188によって供給される解像度レベルとの両方を識別することによって、ダウンロードを要求することができる。   In one or more embodiments, the client computer 182 can attempt to download one or more regions of the image 250, where such regions can be part of the image 250. it can. Only one or more regions of interest 252, 254 may be regions of interest that the client computer 182 seeks to download. Alternatively, the client computer (client) 182 may simply attempt to download one or more selected regions at a resolution that is higher than the resolution at which the rest of the image 250 is downloaded. In either case, the client 182 identifies both the specified area of the image 250 to be downloaded and the resolution level at which the specified area is supplied by the server computer (server) 188, You can request a download.

図54の例では、クライアント182は、低解像度でのイメージ250のすべてのダウンロードを要求することが好ましい(イメージ250の大部分がダウンロードされる正確な解像度レベルは、この議論には関係ない)。しかし、クライアント182は、より高い解像度で、またはフル解像度でさえ、関心領域1 252をダウンロードしようと努める。したがって、クライアント182は、関心領域1 252の座標および所望の解像度レベルをサーバ188に指定することが好ましい。したがって、イメージ250の大部分(関心領域1 252の外部の部分を含む)を低解像度でダウンロードすることに加えて、クライアント182は、指定された、より高い解像度で関心領域1 252をダウンロードすることが好ましい。他の情況では、クライアント182は、関心領域だけをダウンロードしようと努め、イメージ250の残りのダウンロードを省略することができる。   In the example of FIG. 54, client 182 preferably requests a full download of image 250 at a lower resolution (the exact resolution level at which the majority of image 250 is downloaded is not relevant to this discussion). However, client 182 tries to download region of interest 1 252 at a higher resolution or even at full resolution. Thus, client 182 preferably specifies server 188 with the coordinates of region of interest 1 252 and the desired resolution level. Thus, in addition to downloading a large portion of image 250 (including portions outside region of interest 1 252) at a lower resolution, client 182 downloads region of interest 1 252 at a specified higher resolution. Is preferred. In other situations, the client 182 may attempt to download only the region of interest and skip the remaining downloads of the image 250.

この形で、クライアントコンピュータ182のユーザは、高解像度でイメージ250の全体をダウンロードする必要なしに、その高解像度で関心領域1 252を見ることができる。したがって、クライアント182とサーバ188との間の比較的低帯域幅のデータ通信リンクは、それでも、イメージ250の全体を伝送することができると同時に、特定の関心の領域(この例では関心領域1 252)を高解像度で提供することができ、これによって、クライアント182が高解像度でイメージ250の全体をダウンロードする場合に発生するはずの関心領域に関する同一のビューイング経験を見る人に与えるが、このイメージ250の全体のダウンロードというオプションは、かなりより長いダウンロード時間と、クライアントコンピュータ182またはデータストレージデバイス186でのかなりより多いデータストレージスペースとを必要とする。   In this manner, the user of the client computer 182 can view the region of interest 1 252 at that high resolution without having to download the entire image 250 at the high resolution. Thus, the relatively low bandwidth data communication link between the client 182 and the server 188 can still transmit the entire image 250 while at the same time selecting a particular region of interest (region of interest 1 252 in this example). ) At a high resolution, which gives the viewer the same viewing experience regarding the region of interest that should occur when the client 182 downloads the entire image 250 at a high resolution. The 250 total download option requires significantly longer download times and significantly more data storage space at the client computer 182 or data storage device 186.

<関心領域のシフト>
1つまたは複数の実施形態で、クライアントコンピュータ182のユーザは、イメージ250を横切ってパンすることを望む場合がある。通常、ある関心領域252からもう1つの関心領域254へのパンは、両方の領域を、それらの領域が見られる解像度のレベルでクライアント182でダウンロードさせることを伴う。さらに、一般に、関心領域1 252と関心領域2 254との間のすべてのイメージテリトリは、説明されるパンを行うことを可能にするために、クライアントコンピュータ182で格納される。次で説明するように、本発明の1つまたは複数の実施形態では、そのような関心領域252、254を見ることは、上で説明した手法よりはるかに少ないデータをダウンロードすること、およびクライアントコンピュータ182でより少ないストレージスペースを使用することによって達成することができる。
<Shift of interest>
In one or more embodiments, the user of client computer 182 may desire to pan across image 250. Typically, panning from one region of interest 252 to another region of interest 254 involves having the client 182 download both regions at the level of resolution at which those regions are seen. Further, in general, all image territories between region of interest 1 252 and region of interest 2 254 are stored at client computer 182 to allow the described panning to occur. As will be described below, in one or more embodiments of the present invention, viewing such regions of interest 252, 254 downloads much less data than the techniques described above, and the client computer. This can be achieved by using less storage space at 182.

1つまたは複数の実施形態で、クライアント182は、関心領域1 252の高解像度ビューから関心領域2 254にシフトすることができる。関心領域2 254の低解像度表現に対応するイメージデータは、上で述べたイメージ250のダウンロードから、クライアントコンピュータ182内に既に存在することが好ましい。この場合に、必要なのは、クライアントコンピュータ182で関心領域2 254の高解像度レンディションに達するために、関心領域2 254の既存のイメージデータに、関係のあるより高いレベルの解像度を記述する追加イメージデータを増補することだけである。必要な場合に、関心領域1 252のより高い解像度レベルを表すイメージデータを、破棄するか上書きして、関心領域2 254についてダウンロードされる追加イメージデータのためにデータストレージデバイス186内のスペースまたは他のデータストレージスペースを作ることができる。   In one or more embodiments, client 182 can shift from a high resolution view of region of interest 1 252 to region of interest 2 254. Image data corresponding to the low resolution representation of region of interest 2 254 is preferably already present in client computer 182 from the download of image 250 described above. In this case, what is needed is additional image data that describes a higher level of resolution relevant to the existing image data of region of interest 2 254 in order to reach the high resolution rendition of region of interest 2 254 at client computer 182. It is only to augment. If necessary, the image data representing the higher resolution level of region of interest 1 252 can be discarded or overwritten to provide space or other in the data storage device 186 for additional image data downloaded for region of interest 2 254 Data storage space.

1つまたは複数の実施形態で、関心領域1 252から関心領域2 254へのビューのシフトは、漸進的に達成して、ディスプレイ184を見る人に、高解像度でダウンロードされるイメージ250の全体を有する、コンピュータ上で得ることができる経験を密接にシミュレートできるビューイング経験を与えることができる。具体的に言うと、関心領域1 252が表示される解像度のレベルを、イメージ250のほとんどが表される解像度レベルまで漸進的に下げることができる。その後、ディスプレイ184上のビューは、関心領域1 252と関心領域2 254との間の中の低解像度テリトリを横切る漸進的パンを表すことができる。最後に、関心領域2 254に達したときに、ディスプレイ184上のビューを、イメージ250を横切るパンを完了した後にまたはこのパン動作の後の部分と同時にのいずれかで、関心領域2 254の高解像度レンディションに向かって高めることができる。説明されたプロセスの完了時に、関心領域2 254を、高解像度でクライアントコンピュータ182内に格納でき、この高解像度でディスプレイ184上で表示できることが好ましい。   In one or more embodiments, the view shift from region of interest 1 252 to region of interest 2 254 is accomplished progressively to allow viewers who view display 184 to view the entire image 250 downloaded at high resolution. Having a viewing experience that can closely simulate the experience that can be obtained on a computer. Specifically, the level of resolution at which region of interest 1 252 is displayed can be progressively lowered to a resolution level at which most of image 250 is represented. The view on display 184 may then represent a progressive pan across the low resolution territory between region of interest 1 252 and region of interest 2 254. Finally, when the region of interest 2 254 is reached, the view on the display 184 is displayed either after completing panning across the image 250 or simultaneously with a later portion of this panning operation. The resolution can be increased toward rendition. Upon completion of the described process, region of interest 2 254 is preferably stored in client computer 182 at a high resolution and can be displayed on display 184 at this high resolution.

図55は、本発明の1つまたは複数の実施形態による、本明細書で開示されるテクノロジの諸態様を用いる「仮想ブック」350のブロック図である。仮想ブック350には、ディスプレイ352、逆方向キャッシュ354、および順方向キャッシュ356を含めることができる。キャッシュ354、356は、それぞれ、その中に2つのページを格納されるものとして図示されているが、任意の個数のページを、キャッシュ354および356のいずれにも格納することができる。   FIG. 55 is a block diagram of a “virtual book” 350 that uses aspects of the technology disclosed herein, according to one or more embodiments of the invention. Virtual book 350 may include display 352, reverse cache 354, and forward cache 356. Although caches 354 and 356 are each illustrated as having two pages stored therein, any number of pages can be stored in either cache 354 or 356.

1つまたは複数の実施形態で、仮想ブック352は、仮想ブック350のこの特定のケースについて、解像度の制御可能なレベルで選択されたイメージデータを提示する能力を用いる。仮想ブック350内で、各イメージを、仮想ブック350のディスプレイ352内の1ページとすることができる。ディスプレイ352は、図53のディスプレイ184に対応するものとすることができ、あるいは、仮想ブック350の特定の特徴に対処する特殊目的ディスプレイとすることができる。仮想ブック350は、図53のクライアントコンピュータ182に対応するものとすることができ、あるいは、ブックのページの通信、格納、および表示に実質的に限定された特殊目的コンピュータとすることができる。   In one or more embodiments, the virtual book 352 uses the ability to present selected image data at a controllable level of resolution for this particular case of the virtual book 350. Within the virtual book 350, each image can be a page in the display 352 of the virtual book 350. Display 352 may correspond to display 184 of FIG. 53 or may be a special purpose display that addresses certain features of virtual book 350. Virtual book 350 may correspond to client computer 182 of FIG. 53, or may be a special purpose computer substantially limited to communication, storage, and display of book pages.

1つまたは複数の実施形態で、仮想ブック350に、フル解像度で格納され、かつ/または表示される唯一のページと、表示されるページのシーケンス内で前と後との両方の、様々な他の解像度の他のページとを含めることができる。   In one or more embodiments, the virtual book 350 stores various resolutions, both the only page stored and / or displayed at full resolution, and both before and after in the sequence of displayed pages. And other pages of resolution.

1つまたは複数の実施形態で、ディスプレイ184に現在表示されているページすなわちアクティブページは、フル解像度で表示され、このページは、図55では「ページ10」である。そのような実施形態では、他のページを、アクティブページからのページ単位の増加する距離に伴ってプログレッシブにより低くなる解像度で表示することができる。より具体的には、各ページが格納される解像度は、ディスプレイ356に表示されているアクティブページの解像度を、各格納されたページとアクティブページとの間のページ数と等しい2のべきと等しい量で割った値と等しいものとすることができる。したがって、この手法を適用すると、ページ11(順方向キャッシュ356内)およびページ9(逆方向キャッシュ354内)は、それぞれ、ディスプレイ352内のアクティブページによって占められるデータストレージスペースの量の半分を占めることができる。この手法について継続すると、ページ12(順方向キャッシュ356内)およびページ8(逆方向キャッシュ354内)は、それぞれ、ディスプレイ352内のアクティブページによって占められるデータストレージスペースの量の1/4を占めることができる。   In one or more embodiments, the page currently displayed on display 184, ie, the active page, is displayed at full resolution, which is “Page 10” in FIG. In such embodiments, other pages can be displayed with progressively lower resolution with increasing distance in page units from the active page. More specifically, the resolution at which each page is stored is the power of 2 equal to the resolution of the active page displayed on display 356 equal to the number of pages between each stored page and the active page. Can be equal to the value divided by. Thus, applying this approach, page 11 (in forward cache 356) and page 9 (in reverse cache 354) each occupy half the amount of data storage space occupied by active pages in display 352. Can do. Continuing with this approach, page 12 (in forward cache 356) and page 8 (in reverse cache 354) each occupy 1/4 of the amount of data storage space occupied by active pages in display 352. Can do.

上の議論では、各ページに割り振られるデータストレージスペースの量は、それに直接に隣接するページに関して2倍だけ異なるが、当業者は、2より大きい値または2より小さい値を除算係数として用いることができることを諒解するであろう。さらに、定数によるアクティブページのデータストレージスペースの除算以外の算術式を使用して、キャッシュ354および356に格納される一連のページへのデータストレージスペースの割振りを決定することができる。   In the above discussion, the amount of data storage space allocated to each page differs by a factor of 2 with respect to the immediately adjacent pages, but those skilled in the art may use a value greater than 2 or less than 2 as a division factor. You will understand what you can do. Further, arithmetic expressions other than the division of active page data storage space by a constant can be used to determine the allocation of data storage space to a series of pages stored in caches 354 and 356.

1つまたは複数の実施形態で、新しいアクティブページを、図55に表示されて示されているページ10の代わりに選択することができる。新しい選択されるページは、ページ10に直接に隣接するページ(ページ9またはページ10のいずれか)とすることができるが、そうである必要はない。すなわち、関係のあるブック(または、離散ページを有する、すべての他のタイプの刊行物)内の1ページから最後のページまでのどのページでも、新しいアクティブページとすることができる。   In one or more embodiments, a new active page can be selected instead of the page 10 shown and shown in FIG. The new selected page can be the page directly adjacent to page 10 (either page 9 or page 10), but it need not be. That is, any page from the first page to the last page in the relevant book (or all other types of publications with discrete pages) can be the new active page.

1つまたは複数の実施形態では、新しいアクティブページの選択時に、現在アクティブなページと新しいアクティブページとの間の遷移が行われることが好ましい。この新しいアクティブページへの遷移には、新しいアクティブページをフル解像度で格納し、かつ/または表示することを可能にするために、新しいアクティブページの追加イメージデータを獲得することを含めることができる。新しいアクティブページが「ページ11」であり、上で述べた「2倍」実施形態が用いられる場合に、ページ11に割り振られるデータストレージスペースの量は、2倍にされることが好ましい。「2倍」実施形態の応用について継続すると、ページ10に割り振られるデータストレージスペースは、ページ10から離れてアクティブページとしてのページ11に向かう遷移の一部として、半分にされることが好ましい。遷移後のページ10に含まれないページ10のアクティブバージョンのデータは、破棄することができる(この破棄には、それを上書きすることを含めることができる)。しかし、その代わりに、このページ10の「余りの」データを、もう1つのキャッシュに格納することができる。ページ10の余りのデータのそのようなキャッシングは、ページ10からの遷移のすぐ後に(すなわち、穏当な回数のページ遷移のうちに)ページ10への遷移が行われる場合に、効率をもたらすことができる。   In one or more embodiments, a transition between a currently active page and a new active page is preferably made upon selection of a new active page. This transition to a new active page may include acquiring additional image data for the new active page to allow the new active page to be stored and / or displayed at full resolution. If the new active page is “page 11” and the “double” embodiment described above is used, the amount of data storage space allocated to page 11 is preferably doubled. Continuing with the application of the “twice” embodiment, the data storage space allocated to page 10 is preferably halved as part of the transition away from page 10 toward page 11 as the active page. Data of the active version of the page 10 that is not included in the page 10 after the transition can be discarded (this discarding can include overwriting it). Instead, however, the “extra” data for this page 10 can be stored in another cache. Such caching of excess data on page 10 may provide efficiency if the transition to page 10 occurs immediately after the transition from page 10 (ie, within a moderate number of page transitions). it can.

1つまたは複数の実施形態で、ページ10からページ11(または他の新しいアクティブページ)への遷移には、ページ10からの漸進的フェードアウトとページ11への漸進的フェードインとを含めて、視覚的に満足なおよび/または物理ページ遷移をしのばせる経験を仮想ブック350のユーザに与えることができる。任意選択として、古いアクティブページを折り曲げ、めくることを示すイメージのシーケンスを設けて、仮想ページ遷移がページを物理的にめくることをさらにしのばせるように見えるようにすることができる。   In one or more embodiments, the transition from page 10 to page 11 (or other new active page) includes a gradual fade-out from page 10 and a gradual fade-in to page 11. The user of the virtual book 350 can be given a satisfying experience and / or an experience to extend physical page transitions. Optionally, a sequence of images can be provided that shows folding and turning the old active page so that the virtual page transition appears to further extend the physical turning of the page.

図56は、本発明の1つまたは複数の実施形態による図55の仮想ブックの3次元バージョンの図である。図56の実施形態には、部分的透明性(粗いエッジ)のためのアルファチャネルを、赤、緑、および青の色成分に加えてイメージ情報として格納できる方法が示されている。色成分を上で述べたが、便宜のために、図56のイメージの白黒レンディションだけを、本明細書で提供する。   56 is a diagram of a three-dimensional version of the virtual book of FIG. 55 according to one or more embodiments of the invention. The embodiment of FIG. 56 shows how an alpha channel for partial transparency (coarse edges) can be stored as image information in addition to the red, green, and blue color components. Although the color components are described above, for convenience, only the black and white rendition of the image of FIG. 56 is provided herein.

1つまたは複数の実施形態で、ハードウェアアクセラレーテッド(hardware−accelerated)テクスチャマッピングを用いて、アルファチャネルをサポートすることができる。仮想ブックの2次元実施形態または3次元実施形態のいずれかに関連して実践できるもう1つの特徴は、イメージの動的変形、例えば、図56に示されているように、めくられるときにこのブックのページを曲げることである。   In one or more embodiments, hardware-accelerated texture mapping can be used to support the alpha channel. Another feature that can be practiced in connection with either the two-dimensional or three-dimensional embodiment of the virtual book is the dynamic deformation of the image, eg, when turned, as shown in FIG. Bending a book page.

<1つまたは複数のポータブルデバイスでのイメージデータの管理>
このセクションでは、プログレッシブで対話的なビジュアルコレクション伝送に基づく、デジタルイメージを格納し、これと相互作用する複数の機構を説明する。本発明の1つまたは複数の実施形態で、本明細書で開示される方法に基づく変形形態は、第2モバイルデバイスに格納されたイメージの大きいコレクションの、デスクトップコンピュータ、モバイルデバイス、または他のデバイスでのほぼ瞬間的なビューイングと、イメージを見るためにモバイルデバイスのローカルメモリを増補するのにリモートストレージを使用することと、モバイルデバイスから大きいイメージコレクションをブラウズすることとを可能にする。本発明の1つまたは複数の実施形態によって可能にされる様々な置換は、共通のクライアント/サーバイメージングおよびコレクション表現アーキテクチャに頼るものとすることができる。
<Management of image data on one or more portable devices>
This section describes several mechanisms for storing and interacting with digital images based on progressive and interactive visual collection transmission. In one or more embodiments of the present invention, a variation based on the method disclosed herein is a desktop computer, mobile device, or other device of a large collection of images stored on a second mobile device. Enables near-instant viewing, using remote storage to augment the mobile device's local memory to view images, and browsing large image collections from the mobile device. The various permutations enabled by one or more embodiments of the present invention may rely on a common client / server imaging and collection representation architecture.

本発明の1つまたは複数の実施形態は、サーバ上でデジタルイメージまたは他のビジュアルオブジェクトのコレクションを提供することと、クライアントと前記サーバとの間で通信を確立することと、サーバに常駐するビジュアルオブジェクトのコレクションの、クライアントによる効率的なマルチスケールナビゲーションを可能にすることとを含むことができる方法を提供することができる。   One or more embodiments of the present invention provide a collection of digital images or other visual objects on a server, establish communication between a client and the server, and a visual resident on the server. Enabling a multi-scale navigation by a client of a collection of objects can be provided.

この開示では、用語「デジタルイメージデータ」に、デジタル写真、デジタルイメージ、ビジュアル文書、または他の形のビジュアルコンテンツを含めることができる。本明細書では、用語「イメージ」は、用語「デジタルイメージ」に全般的に対応し、これらの用語のどちらもが、「デジタル写真」に対応することができる。本明細書では、用語「クライアント」は、用語「クライアントサイド」および用語「クライアントデバイス」に全般的に対応する。本明細書では、用語「ポータブルデバイス」、「ポータブルカメラデバイス」、および「カメラデバイス」は、デジタルイメージキャプチャリングデバイスおよび/またはデジタルイメージストレージデバイスを全般的に指す。本明細書では、「デジタルイメージキャプチャリングデバイス」は、デジタルカメラ、カメラ対応携帯電話機(カメラ対応携帯電話機と称する場合がある)、携帯情報端末、および/またはデジタル静止イメージを記録できるデジタルビデオレコーダを含むことができるが、これらに限定はされない。「デジタルイメージキャプチャリングデバイス」は、イメージデータを直接に光学的に受け取り、記録することによって(標準的なデジタルカメラを用いるなど)そのようなデータを記録できるデバイスを含むことができ、有線もしくは無線のインターネットまたは他のネットワーク接続を介してイメージデータを受信することができるデバイスをも含むことができる。   In this disclosure, the term “digital image data” may include digital photographs, digital images, visual documents, or other forms of visual content. As used herein, the term “image” generally corresponds to the term “digital image”, and both of these terms can correspond to “digital photographs”. As used herein, the term “client” generally corresponds to the term “client side” and the term “client device”. As used herein, the terms “portable device”, “portable camera device”, and “camera device” generally refer to a digital image capturing device and / or a digital image storage device. In this specification, “digital image capturing device” refers to a digital camera, a camera-compatible mobile phone (sometimes referred to as a camera-compatible mobile phone), a mobile information terminal, and / or a digital video recorder capable of recording a digital still image. It can include, but is not limited to. A “digital image capturing device” can include devices that can record such data by optically receiving and recording the image data directly (eg, using a standard digital camera), wired or wireless. Devices that can receive image data over other Internet or other network connections can also be included.

本明細書で説明する方法の1つまたは複数の実施形態は、複数解像度手法を使用して、ビジュアル文書とすることができるデジタルイメージデータのコレクションの格納、同期化、ブラウジング、および編成という問題に対処することができる。ある解像度(例えば、1024×768ピクセル=0.75メガピクセル、2592×1944ピクセル=約5メガピクセルなど)でカラーピクセルのアレイとして表すことができるデジタル写真は、エンドユーザが、他のデバイスの中でもデジタルカメラ、カメラ対応携帯電話機、およびデジタルビデオレコーダを使用して大量に作成できる一般的なビジュアル文書タイプである。   One or more embodiments of the methods described herein address the issue of storing, synchronizing, browsing, and organizing a collection of digital image data that can be a visual document using a multi-resolution approach. Can be dealt with. Digital photographs that can be represented as an array of color pixels at a certain resolution (eg, 1024 × 768 pixels = 0.75 megapixels, 2592 × 1944 pixels = about 5 megapixels, etc.) can be used by end users among other devices. A common visual document type that can be created in large quantities using digital cameras, camera-enabled cell phones, and digital video recorders.

本明細書で説明する方法の1つまたは複数は、出願人参考文書489/17NP(特許文献5)の道路地図もしくは他のベクトルデータ、または出願人参考文書489/13(特許文献6)のテキストデータなど、イメージ以外のビジュアルデータオブジェクトに適用することもできる(この両方の文書は、本文書の先頭でより詳細に識別され、この両方の文書は、参照によって本明細書に組み込まれている)。   One or more of the methods described herein may include road map or other vector data from Applicant Reference Document 489 / 17NP, or text from Applicant Reference Document 489/13. It can also be applied to visual data objects other than images, such as data (both documents are identified in more detail at the beginning of this document, both documents are incorporated herein by reference) .

既存システムのユーザが直面する問題は、カメラデバイスが、多数の潜在的に大きいビジュアル文書をすばやく作成できることである。しかし、これらのデバイスは、通常、これらの文書の満足なアーカイビング、ビューイング、または編成を可能にするのに十分なメモリまたはビジュアルブラウジング機能を有しない。   A problem faced by users of existing systems is that the camera device can quickly create a large number of potentially large visual documents. However, these devices typically do not have sufficient memory or visual browsing capabilities to allow satisfactory archiving, viewing, or organization of these documents.

カメラまたは他のポータブルデバイス内に格納されるデジタル写真または他のデジタルイメージデータは、一般に、デスクトップコンピュータまたはノートブックコンピュータに周期的にダウンロードされ、より多くの写真を撮影できるようにするためにカメラのメモリからクリアされ、デスクトップコンピュータまたはノートブックコンピュータ上で編成され、かつ/または見られる。その後、デジタル写真を、デジタル写真のセレクションを1つまたは複数のインターネットサイトにポストすることによって、友人と共有することができる。   Digital photos or other digital image data stored in a camera or other portable device is typically periodically downloaded to a desktop or notebook computer to allow the camera to take more photos. Cleared from memory, organized and / or viewed on a desktop or notebook computer. The digital photos can then be shared with friends by posting a selection of digital photos to one or more Internet sites.

<ポータブルデバイスでイメージデータを管理する伝統的手法>
ポータブルデバイスでイメージデータを管理する従来の手法を使用するときには、次のステップに従うことができる。まず、デジタルカメラまたは他のデジタルイメージデータキャプチャリングデバイスとすることのできるモバイルデバイスが、写真を撮影する。次に、潜在的にそれらの写真のある選別の後に、写真が、カメラユーザのPC(パーソナルコンピュータ)にダウンロードされ、カメラデバイスから削除される。カメラデバイスのローカルストレージは、限られている場合があり、この従来の手法では、イメージがPCに安全に格納されるまで、イメージを一時的に保持するだけである。
<Traditional methods for managing image data on portable devices>
When using conventional techniques for managing image data on portable devices, the following steps can be followed. First, a mobile device, which can be a digital camera or other digital image data capturing device, takes a picture. The photos are then downloaded to the camera user's PC (personal computer) and deleted from the camera device, potentially after some sort of those photos. The local storage of the camera device may be limited and this conventional approach only holds the image temporarily until it is securely stored on the PC.

PCは、デジタル写真の任意のサブセットをそのメモリ(例えば、ハードディスクドライブまたは他の不揮発性ストレージ)内に永久的に保存することができる。ユーザは、これらのイメージの、あるさらに選別されたサブセットを、通常は下げられた解像度で、ウェブサーバにアップロードすることができ、このウェブサーバは、ウェブ写真パブリッシングサービスによって所有されるものとすることができる。アップロードされるイメージは、PCまたは他のデバイス上のウェブブラウザを使用することによって、すべての第三者によって、またはこれらのユーザのうちで制約されたアクセス権を有するあるサブセットによって、公に見ることができるようにすることができる。   A PC can permanently store any subset of digital photos in its memory (eg, a hard disk drive or other non-volatile storage). Users can upload certain further selected subsets of these images to a web server, usually at a reduced resolution, which shall be owned by the web publishing service Can do. Uploaded images are publicly viewable by using a web browser on a PC or other device, by all third parties, or by a subset of these users with restricted access rights Can be able to.

既存の手法の制限には、カメラデバイスからPCへの長々しいダウンロード時間を含めることができる。通常、カメラデバイス上の永続ストレージの貧弱な管理もある。カメラデバイスは、通常、小さいカラーディスプレイを有し、このディスプレイ上で、見る人は、理論的に、人々が一般に自分の財布に入れて持ち歩くものと同一タイプの永続的に格納されたイメージ(家族およびペットのイメージなど)と、発呼者に関連する写真またはPDA(携帯情報端末)上の彼らの連絡先とを見ることができる。しかし、既存カメラデバイス内の永続ストレージに対する制限は、上の作業の達成を難しくする。   Limitations of existing approaches can include lengthy download times from the camera device to the PC. There is also usually poor management of persistent storage on camera devices. Camera devices usually have a small color display on which viewers can theoretically store permanently stored images (family members of the same type that people typically carry in their wallets. And images of pets) and photos associated with the caller or their contacts on a PDA (personal digital assistant). However, the limitations on persistent storage in existing camera devices make it difficult to accomplish the above tasks.

さらに、既存カメラデバイスは、他の制限を課す。既存カメラデバイスでは、そのカメラデバイスに格納されたイメージのナビゲーションが、一般に、ぎこちなく、難しい。既存カメラデバイスでは、カメラデバイス上またはPC上のいずれかでユーザに一貫した経験を与えるはずのイメージコレクションへの統一されたビジュアルインターフェースが欠けている。既存カメラデバイスは、ダウンロードが必要になる前にそのデバイスに格納できる写真の枚数に対して非常に制約的な制限を課す傾向がある。したがって、既存の手法を用いるときには、イメージを第三者が使用可能にする際に、一般に、長々しい一連のステップが伴う。   In addition, existing camera devices impose other limitations. In existing camera devices, navigation of images stored in the camera device is generally awkward and difficult. Existing camera devices lack a unified visual interface to image collections that should give the user a consistent experience either on the camera device or on the PC. Existing camera devices tend to place very restrictive limits on the number of photos that can be stored on a device before it needs to be downloaded. Thus, when using existing techniques, a lengthy sequence of steps is generally involved in making an image available to a third party.

<本発明の1つまたは複数の実施形態によるイメージデータの管理>
図57は、本発明の1つまたは複数の実施形態による、1つまたは複数のポータブルデバイス562、572と1つまたは複数の他のコンピュータとの間のイメージデータ通信を管理するシステム550のブロック図である。システム550には、クライアントサイド560およびサーバサイド570を含めることができる。しかし、代替実施形態では、図57に示されたデバイスのグループ化のクライアントステータスおよびサーバステータスを逆転することができる。
<Management of image data according to one or more embodiments of the present invention>
FIG. 57 is a block diagram of a system 550 that manages image data communication between one or more portable devices 562, 572 and one or more other computers according to one or more embodiments of the invention. It is. The system 550 can include a client side 560 and a server side 570. However, in an alternative embodiment, the client grouping and server status of the device grouping shown in FIG. 57 can be reversed.

1つまたは複数の実施形態で、システム550には、ポータブルデバイス1 562、ポータブルデバイス2 572、パーソナルコンピュータ182(図53のクライアントコンピュータ182と実質的に同一とすることができる)、サーバ188(図53のサーバコンピュータ188と実質的に同一とすることができる)、および/または追加のコンピュータ574を含めることができる。デバイス562、572とコンピュータ182、188、および574とのそれぞれは、メモリと1つまたは複数のディスプレイをそれらと共に含められることが好ましい。その代わりにまたはそれに加えて、図57のデバイスおよびコンピュータは、メモリおよび/またはディスプレイと通信することができる。   In one or more embodiments, system 550 includes portable device 1 562, portable device 2 572, personal computer 182 (which may be substantially identical to client computer 182 of FIG. 53), server 188 (FIG. 53 server computers 188) and / or additional computers 574 may be included. Each of devices 562, 572 and computers 182, 188, and 574 preferably include a memory and one or more displays along with them. Alternatively or additionally, the device and computer of FIG. 57 can communicate with memory and / or a display.

図57には、本発明の1つまたは複数の実施形態に従って使用可能な様々な可能なデータ経路が示されている。1つまたは複数の実施形態は、図57に示されたデータ経路のすべてより少ないデータ経路を使用することができる。図57に示された使用可能なデータ経路は、共通して次の特徴のうちの1つまたは複数を有することができる:1)データ経路は、サーバサイド570(イメージデータのオリジネータ)およびクライアントサイド560(イメージデータの受取側)を用いることができ、2)双方向データ経路(両端に矢印を有する線によって図示)は、これらの矢印によって指されるデバイスが、クライアント機能またはサーバ機能のいずれかで働くことができることを示し、3)接続は、ハードワイヤードネットワーク(例えば、Universal Serial Bus(USB)、Firewire(登録商標)、またはイーサネット(登録商標))または無線ネットワーク(例えば、近くのデバイスについてはBluetooth(登録商標)、より遠隔の接続についてはWiFiまたは無線広域ネットワーキングプロトコル)を用いることができ、ならびに/あるいは4)図示の接続は、アドホックであってもなくてもよい。   FIG. 57 illustrates various possible data paths that can be used in accordance with one or more embodiments of the present invention. One or more embodiments may use fewer data paths than all of the data paths shown in FIG. The available data paths shown in FIG. 57 may have one or more of the following features in common: 1) The data path is server side 570 (image data originator) and client side. 560 (image data recipient) can be used. 2) Bi-directional data paths (illustrated by lines with arrows at both ends) are either the client function or the server function indicated by the device pointed to by these arrows. 3) Connections can be hardwired networks (eg Universal Serial Bus (USB), Firewire®, or Ethernet) or wireless networks (eg for nearby devices) Bluetooth (registered trademark), WiFi or wireless wide area networking protocols) can be used for more remote connections and / or 4) the connections shown may or may not be ad hoc.

1つまたは複数の実施形態で、クライアントサイド560とサーバサイド570との両方に、カメラデバイス、パーソナルコンピュータ、および携帯情報端末を含むがこれらに限定されない1つまたは複数のデジタルコンピューティングデバイスおよび/またはデジタルストレージデバイスを含めることができる。   In one or more embodiments, both client side 560 and server side 570 include one or more digital computing devices and / or including but not limited to camera devices, personal computers, and personal digital assistants. Digital storage devices can be included.

1つまたは複数の実施形態で、クライアントデバイス(クライアント)は、1つまたは複数のディスプレイを有することができる。クライアントは、出願人参考文書489/15P(参照によって本明細書に組み込まれている、「Method for Efficiently Interacting with Dynamic,Remote Photo Albums with Large Numbers of Potentially Large Images」と題する特許文献7)に記載の効率的な複数解像度ブラウジング方法のうちの1つまたは複数を使用してサーバに常駐する文書のコレクションをブラウズすることができる。これらの方法は、大きいイメージまたは他のビジュアル文書の大きいコレクションを低帯域幅接続を介して効率的にナビゲートすることを可能にする。そのようなイメージコレクションのズーム、パン、および動的再配置は、この参照された文書に記載されている。   In one or more embodiments, a client device (client) can have one or more displays. The client is described in Applicant Reference Document 489 / 15P (Patent Document 7 entitled “Method for Efficiently Interacting with Dynamic, Remote Photo Albums with Large Numbers of Potentially Large Images” incorporated herein by reference). One or more of efficient multi-resolution browsing methods can be used to browse a collection of documents residing on the server. These methods allow a large collection of large images or other visual documents to be efficiently navigated over a low bandwidth connection. Such image collection zooming, panning, and dynamic relocation are described in this referenced document.

1つまたは複数の実施形態で、このナビゲーション方法のプロパティの1つは、情報がサーバからクライアントに送信されるときに、ディスプレイコンテンツに漸進的に焦点を合わせることができることである。この情報の焦点が合う速度は、ディスプレイピクセルに対する接続帯域幅の比によって制御することができる。ユーザが、新しいコンテンツが可視になるようにクライアントサイド560で文書をズームし、パンし、または再配置するときに、このコンテンツは、やはり、ぼけて見え、その後、焦点が合う。   In one or more embodiments, one of the properties of this navigation method is that the display content can be progressively focused as information is transmitted from the server to the client. The speed at which this information is focused can be controlled by the ratio of connection bandwidth to display pixel. When the user zooms, pans, or rearranges the document on the client side 560 so that the new content is visible, this content still appears blurred and then in focus.

<仮想ディスプレイ>
1つまたは複数の実施形態で、クライアントの「ディスプレイ」は、必ずしも、物理的である必要がなく、あるいは、エンドユーザに可視である必要がない。1つまたは複数の実施形態で、このディスプレイを、「仮想ディスプレイ」すなわち、指定された解像度を有するディスプレイの抽象モデルとすることができる。そのような「仮想ディスプレイ」は、ピクセル値がスクリーンにレンダリングされるかどうかにかかわりなく、クライアントのメモリ内のピクセル値のアレイとして表すことができる。仮想ディスプレイには、少なくとも部分的に1つまたは複数のイメージを記述するウェーブレットデータを含めることができる。ウェーブレットデータは、ある範囲の可能な解像度でイメージを表すことができることが好ましい。1つまたは複数の実施形態で、ウェーブレットデータは、JPEG2000を用いたものに対応することができる。1つまたは複数の実施形態で、仮想ディスプレイは、1つまたは複数のイメージを完全に記述するのに十分なウェーブレットデータを含むことができる。
<Virtual display>
In one or more embodiments, the client “display” does not necessarily have to be physical or visible to the end user. In one or more embodiments, the display can be an “virtual display”, ie, an abstract model of a display having a specified resolution. Such a “virtual display” can be represented as an array of pixel values in the client's memory, regardless of whether the pixel values are rendered on the screen. The virtual display can include wavelet data that at least partially describes one or more images. The wavelet data is preferably capable of representing an image with a range of possible resolutions. In one or more embodiments, the wavelet data can correspond to that using JPEG2000. In one or more embodiments, the virtual display can include sufficient wavelet data to fully describe the one or more images.

例えば、あるデバイスが、指定された解像度で、コレクション内のイメージのすべてのサムネイルを獲得することが望ましい場合に、このデバイスは、適当なサイズの「仮想ディスプレイ」を作成し、サーバとの接続を確立し、コレクション全体のビューを要求することができる。次に、サムネイルのフルセットを、この「仮想ディスプレイ」に送信し、そこでレンダリングすることができる。関連データのすべてがサーバからクライアントに送信される前に、伝送が中断された場合には、クライアントの仮想ディスプレイは、まだ、サムネイルイメージのすべてを完全に焦点があった状態で有してはいないはずである。しかし、要求されたサムネイルイメージのすべてが、これらのイメージのスクリーン上での可視バージョンのレンダリングを可能にするのに十分な解像度でクライアントの仮想ディスプレイ内に格納されることが好ましいはずである。説明した形でレンダリングされるイメージは、一般に、イメージの伝送が中断なしで終わった場合より低いビジュアル品質を有するはずである。したがって、あるイメージ劣化が、不完全な中断された伝送からのデータを使用してレンダリングされるイメージに存在する場合がある。   For example, if it is desirable for a device to obtain all thumbnails of images in a collection at a specified resolution, this device creates an appropriately sized “virtual display” and connects to the server. You can establish and request a view of the entire collection. The full set of thumbnails can then be sent to this “virtual display” where it can be rendered. If transmission is interrupted before all of the relevant data is sent from the server to the client, the client's virtual display still does not have all of the thumbnail images in full focus. It should be. However, it should be preferred that all of the requested thumbnail images be stored in the client's virtual display at a resolution sufficient to allow rendering of a visible version of these images on the screen. An image rendered in the manner described will generally have a lower visual quality than if the transmission of the image ended without interruption. Thus, some image degradation may be present in an image rendered using data from an incomplete interrupted transmission.

それでも、説明された劣化は、ネットワークにまたがってサムネイルのセットを送信する従来技術の手法(各サムネイルの完全なイメージが順番に送信される)より好ましい。この従来技術の手法の下では、接続性の時期尚早な中断は、いくつかのサムネイルが完全に(すなわち、フル解像度で)使用可能であることをもたらし、他のサムネイルが完全に使用不能であることをもたらすはずである。図58に、この差を示す。図58Aは、既存の手法を用いる不完全なイメージデータダウンロードの結果を示し、図58Bは、本発明の1つまたは複数の実施形態による不完全なイメージデータダウンロードの結果を示す。   Nevertheless, the described degradation is preferred over the prior art approach of transmitting a set of thumbnails across the network (a complete image of each thumbnail is transmitted in turn). Under this prior art approach, premature interruption of connectivity results in some thumbnails being fully usable (ie, full resolution) and other thumbnails being completely unusable. It should bring FIG. 58 shows this difference. FIG. 58A shows the result of incomplete image data download using existing techniques, and FIG. 58B shows the result of incomplete image data download according to one or more embodiments of the present invention.

図55Aは、3つのサムネイルのデータ(正方形の形状を用いて図示)のすべてが受信済みであり、残りの9つのサムネイル(Xを用いて図示)がまったく受信されていない、従来技術のシナリオを示す。図55Bは、12個すべてのサムネイル(斜線入りの正方形形状として図示)があるレベルの解像度で受信済みであり、この解像度のレベルが、見るには満足であることが好ましいが、完全な中断されないデータ伝送の完了後に入手されるはずの解像度より低い可能性が高い、本発明の1つまたは複数の実施形態を用いることによって生じる場合がある情況を示す。   FIG. 55A shows a prior art scenario where all three thumbnail data (illustrated using a square shape) have been received and the remaining nine thumbnails (illustrated using X) have not been received at all. Show. FIG. 55B shows that all 12 thumbnails (shown as hatched square shapes) have been received at a certain level of resolution, and this level of resolution is preferably satisfactory for viewing, but is not completely interrupted. Fig. 4 illustrates a situation that may arise from using one or more embodiments of the present invention that are likely to be less than the resolution that would be obtained after completion of data transmission.

1つまたは複数の実施形態で、クライアントは、最近見られたビジュアルコンテンツをキャッシングするクライアントサイドキャッシュを有することができる。標準MRU(most−recently−used)キャッシュを、本発明の1つまたは複数の実施形態のキャッシングの必要に用いることができる。しかし、参照によって本明細書に組み込まれている、「Efficient Data Cache」と題する特許文献8(依頼人参考文書489/10NP)に開示されたキャッシュを、より洗練されたクライアントサイドキャッシングを可能にするために有益に用いることができる。どちらの場合でも、所与の量のクライアントサイドメモリを、キャッシュに振り向けることができる。したがって、最近見られたイメージに戻るナビゲーションは、このイメージデータをサーバから再送信することを要求するのではなく、キャッシュ内に格納されたイメージデータを使用することを可能にすることができる。   In one or more embodiments, the client may have a client-side cache that caches recently viewed visual content. A standard-recently-used (MRU) cache can be used for the caching needs of one or more embodiments of the present invention. However, the cache disclosed in U.S. Patent No. 6,057,058 (client reference document 489 / 10NP), which is incorporated herein by reference and entitled "Efficient Data Cache", enables more sophisticated client-side caching. Can be used beneficially. In either case, a given amount of client-side memory can be directed to the cache. Thus, navigation back to a recently viewed image may allow the image data stored in the cache to be used rather than requiring this image data to be retransmitted from the server.

1つのクライアントが、複数のディスプレイを有することができる。所与のディスプレイは、物理ディスプレイまたは仮想ディスプレイとすることができる。所与のディスプレイを、ユーザ入力によって直接に駆動することができ、あるいは、コンピュータ182などのクライアントコンピュータ内のソフトウェアによってプログラム的に駆動することができる。すべてのディスプレイのピクセル単位の総サイズは、固定するか、ある限度によって制限することができ、この限度は、ビジュアルコンテンツに必要なクライアントサイドメモリの最小量を定義することができる。このクライアントサイドメモリは、キャッシュメモリに割り振られるストレージスペースと別々であることが好ましい。   One client can have multiple displays. A given display can be a physical display or a virtual display. A given display can be driven directly by user input or can be driven programmatically by software in a client computer, such as computer 182. The total size in pixels of all displays can be fixed or limited by some limit, which can define the minimum amount of client-side memory required for visual content. This client side memory is preferably separate from the storage space allocated to the cache memory.

物理ディスプレイと仮想ディスプレイとの両方を用いる実施形態を、次で説明する。クライアントデバイス内の物理ディスプレイは、ユーザに可視であり、デジタル的に格納されたイメージのコレクションを通るズームするナビゲーションおよびパンするナビゲーションと、このコレクションの再配置とを可能にすることが好ましい。ユーザは、このコレクションから1つまたは複数のイメージを選択し、これらを、ユーザの選択したイメージを格納する場所として働くことができる「ホールディングペン(holding pen)」に送ることもできる。ホールディングペンは、物理ディスプレイ上で、ある形でビジュアライズすることができる。あるイメージをホールディングペンに追加することは、そのイメージを、ユーザに不可視である場合がある仮想ディスプレイに置くことを引き起こすことが好ましい。イメージがホールディングペンに追加されるときに、ホールディングペンを表す仮想ディスプレイは、漸進的に充填される。   An embodiment using both a physical display and a virtual display is described below. The physical display in the client device is visible to the user and preferably allows zooming and panning navigation through a collection of digitally stored images and relocation of this collection. The user can also select one or more images from this collection and send them to a “holding pen” that can serve as a place to store the user's selected images. The holding pen can be visualized in some way on the physical display. Adding an image to the holding pen preferably causes the image to be placed on a virtual display that may be invisible to the user. As the image is added to the holding pen, the virtual display representing the holding pen is progressively filled.

この仮想ディスプレイは、サイズ(ピクセルの個数で測定される)においてある限度まで増加することができ、この限度に達した後には、そのサイズは、この限度で固定されたままになることができる。仮想ディスプレイは、ホールディングペン内のイメージのすべてをフル解像度で表示するには小さすぎる場合がある。この場合に、仮想ディスプレイ内に常駐するイメージに必要なデータストレージスペースが、イメージを仮想ディスプレイにおさめる必要に応じて減らされることが好ましい。したがって、オフスクリーンビュー(仮想ディスプレイ)は、ユーザが見えるイメージをホールディングペンに置くときに、イメージを増補されることが好ましい。このオフスクリーンビューの増補は、ユーザに不可視に行うことができる。   The virtual display can increase to a certain limit in size (measured in number of pixels), and after reaching this limit, the size can remain fixed at this limit. The virtual display may be too small to display all of the images in the holding pen at full resolution. In this case, the data storage space required for images residing in the virtual display is preferably reduced as necessary to fit the image on the virtual display. Thus, the off-screen view (virtual display) is preferably augmented when placing an image visible to the user on the holding pen. This off-screen view augmentation can be made invisible to the user.

ブラウジングの方法が、参照によって本明細書に組み込まれている「System and Method for Exact Rendering in a Zooming User Interface」と題する特許文献1(出願人参考文書489/2NP)に開示されている。情報をサーバからクライアントに転送する順序をクライアントのビューに基づいて決定する、その文書で開示された方法を、複数ディスプレイのシナリオのために変更することができる。489/2NP文書には、ビジュアル情報をタイルに分解することができ、各タイルが所与の解像度で空間内の1領域をカバーすることが開示されている。低解像度タイルは、大きい物理的面積を占めることができ、高解像度タイルは、より小さい物理的面積を占めることができ、各タイル内の情報の量を、実質的に同一にすることができる。   A method of browsing is disclosed in US Pat. No. 6,089,059 (Applicant Reference Document 489 / 2NP) entitled “System and Method for Exact Rendering in a Zooming User Interface”, which is incorporated herein by reference. The method disclosed in that document that determines the order in which information is transferred from the server to the client based on the client's view can be modified for multi-display scenarios. The 489/2 NP document discloses that visual information can be decomposed into tiles, each tile covering a region in space at a given resolution. Low resolution tiles can occupy a large physical area, high resolution tiles can occupy a smaller physical area, and the amount of information in each tile can be substantially the same.

489/2NP文書には、次で述べる判断基準を使用してタイルを順序付ける方法が開示されている。1つの判断基準は、ディスプレイ上のタイル解像度およびタイル位置とすることができる。タイルのソートは、辞書式とし、より低い解像度のタイルが、必ずより高い解像度のタイルに先行し、空間的位置が、ある解像度内の順序の解決においてのみ役割を演ずるものとすることができる(辞書式ソートは、本明細書では一般化されたタプルの意味で参照され、例えば、3つ組の集合{(1,2,3),(0,3,1),(4,0,0),(0,0,1),(0,3,2)}の辞書式ソートは、(0,0,1),(0,3,1),(0,3,2),(1,2,3),(4,0,0)になるはずである)。   The 489 / 2NP document discloses a method for ordering tiles using the criteria described below. One criterion may be tile resolution and tile position on the display. The sorting of the tiles is lexicographic, so that lower resolution tiles always precede higher resolution tiles, and the spatial position only plays a role in resolving order within a certain resolution ( The lexicographic sort is referred to herein as a generalized tuple meaning, for example a set of triples {(1,2,3), (0,3,1), (4,0,0 ), (0, 0, 1), (0, 3, 2)} are (0, 0, 1), (0, 3, 1), (0, 3, 2), (1 , 2, 3), (4, 0, 0).

あるいは、非辞書式ソート判断基準を用いることができる。例えば、複数のプロパティの線形組合せを使用して、タイルをソートすることができる。そのようなプロパティに、解像度(対数単位で表現することができる)と、ディスプレイの中央からのタイルの距離とを含めることができるが、これらに限定はされない。本明細書では、用語「ソートキー」は、用語「ソート判断基準」に対応する。   Alternatively, non-lexicographic sort criteria can be used. For example, tiles can be sorted using a linear combination of properties. Such properties can include, but are not limited to, resolution (which can be expressed in logarithmic units) and tile distance from the center of the display. In this specification, the term “sort key” corresponds to the term “sort criterion”.

この実施形態では、より低い解像度のタイルを、より高い解像度のタイルに優先して送信することができ、ディスプレイの中心に近いタイルを、周辺に近いタイルに優先して送信することができるが、これらのプロパティは、互いに対してトレードオフすることができる。   In this embodiment, lower resolution tiles can be sent in preference to higher resolution tiles, tiles closer to the center of the display can be sent in preference to tiles closer to the periphery, These properties can be traded off against each other.

些細な変更を実装して、上の方式を複数ディスプレイのシナリオに適合させることができることが好ましい。一実施形態では、ディスプレイ番号を、余分の辞書式ソートキーとして追加することができる。したがって、第1ディスプレイは、いずれかのタイルが第2ディスプレイに関連して送信される前に、完全に(他のソートキーに従って)洗練することができる。   It is preferable that minor changes can be implemented to adapt the above scheme to a multiple display scenario. In one embodiment, the display number can be added as an extra lexicographic sort key. Thus, the first display can be fully refined (according to other sort keys) before any tiles are transmitted in connection with the second display.

もう1つの実施形態で、ディスプレイ番号を、線形組合せに含まれる追加変数とすることができ、これによって、ディスプレイ番号が、ある形で、解像度とディスプレイの中心への近接とに対してトレードオフすることが可能になる。もう1つの実施形態で、ディスプレイ番号は、想像上の「共通空間」内で共存することができ、解像度ソートキーおよび中心への近接ソートキーは、前のように使用されることができる。この「共通空間」は、複数のディスプレイの間の想像上の空間的関係を、これらが単一のより大きいディスプレイの領域であるかのように確立する、概念的な空間である。この想像上の空間的関係を定義することによって、複数のディスプレイ内でタイルに優先順位を与えるのに必要なすべてのパラメータが決定される。   In another embodiment, the display number can be an additional variable included in the linear combination, whereby the display number trades off in some way for resolution and proximity to the center of the display. It becomes possible. In another embodiment, the display numbers can coexist in an imaginary “common space” and the resolution sort key and the center proximity sort key can be used as before. This “common space” is a conceptual space that establishes an imaginary spatial relationship between multiple displays as if they were areas of a single larger display. By defining this imaginary spatial relationship, all the parameters necessary to prioritize tiles within multiple displays are determined.

図59は、本発明の1つまたは複数の実施形態による、1つの物理ディスプレイ(スクリーン)742および2つの仮想ディスプレイ744、746を含むことができる「共通空間」740のブロック図である。物理ディスプレイ742は、「共通空間」740の中心で通常のサイズであることが好ましい。仮想ディスプレイV1 744およびV2 746は、横にずれていることが好ましく、V2は、スケールダウンされることが好ましく、その結果、そのピクセルが、物理ディスプレイのピクセルの直線サイズの半分になることが好ましい。これは、純粋に辞書式のタイルソート順序を仮定すると、V1 746内の各解像度レベルのコンテンツが、物理ディスプレイの対応する解像度の後にサーバからクライアントに送信されることが好ましい(V1は、物理ディスプレイ上のどの点よりもこの空間の中心から遠いので)ことを意味する。V2 746内の解像度は、物理ディスプレイ742とV1 744との両方について、2倍微細な解像度のすべてのタイルが送信された後に送信することができる。「共通空間」740が、実際のより大きいディスプレイまたはメモリアドレス空間のどれにも対応する必要がないことに留意されたい。「共通空間」740は、単に、異なるディスプレイにまたがるタイル優先順位の間の関係を確立するための概念的な便宜である。   FIG. 59 is a block diagram of a “common space” 740 that may include one physical display (screen) 742 and two virtual displays 744, 746 according to one or more embodiments of the present invention. The physical display 742 is preferably a normal size at the center of the “common space” 740. Virtual displays V1 744 and V2 746 are preferably offset laterally, and V2 is preferably scaled down so that the pixel is half the linear size of a physical display pixel. . It is preferred that, assuming a purely lexicographic tile sort order, the content at each resolution level in V1 746 is sent from the server to the client after the corresponding resolution of the physical display (V1 is the physical display Means farther from the center of this space than any of the above points). The resolution in V2 746 can be transmitted after all tiles with twice the resolution are transmitted for both physical display 742 and V1 744. Note that the “common space” 740 need not correspond to any actual larger display or memory address space. The “common space” 740 is merely a conceptual convenience for establishing a relationship between tile priorities across different displays.

明らかに、多数のトレードオフが可能である。これらのトレードオフは、上の辞書式の例の場合と同様に、物理ディスプレイ742の洗練に最高優先順位を与えると同時に、物理ディスプレイに焦点を合わせるのに必要ではない過剰な時間および帯域幅のすべてを、仮想ディスプレイ744、746の洗練を継続するのに使用するという結果を有することができる。これらのトレードオフは、その代わりに、物理ディスプレイに完全にではなく十分に焦点を合わせた後に仮想ディスプレイの洗練を開始することができる。物理ディスプレイ742に、十分に焦点を合わせた後に、物理ディスプレイおよび仮想ディスプレイ744、746は、一致して洗練するために帯域幅リソースを共有することができる。   Obviously many trade-offs are possible. These trade-offs, like the lexicographic example above, give top priority to the refinement of the physical display 742, while at the same time excess time and bandwidth that is not necessary to focus on the physical display. All can have the result of using them to continue the refinement of the virtual displays 744, 746. These trade-offs can instead begin to refine the virtual display after fully focusing the physical display rather than fully. After fully focusing on the physical display 742, the physical and virtual displays 744, 746 can share bandwidth resources to match and refine.

コレクション内のイメージが、JPEG2000イメージである場合には、所与のイメージのデータのすべてのサブセット自体が、JPEG2000イメージファイルを含むことができる。イメージのナビゲーション中に、クライアントは、サーバからイメージデータをプログレッシブにダウンロードすることができ、これによって、そのイメージのクライアントのサブセットの品質を増補し、フルイメージのますます正確な近似になるJPEG2000ファイルを作成する能力をクライアントに与えることができる。   If the images in the collection are JPEG2000 images, all subsets of the data for a given image itself can contain JPEG2000 image files. During image navigation, the client can progressively download image data from the server, which augments the quality of the client subset of the image and makes JPEG2000 files an increasingly accurate approximation of the full image. Give clients the ability to create.

クライアントが、イメージ内のすべての場所にナビゲートし終えた場合、またはイメージデータのすべてが伝送され終えるのに十分に長くフル解像度でイメージ全体を見た場合に、クライアントは、そのイメージのオリジナルJPEG2000ファイル全体を再作成することができる。クライアントが、大きいイメージの一部だけに接近してズームした場合に、そのクライアントは、それでも、JPEG2000ファイルを作成することができるが、そのクライアントがズームインした場所を除くすべての場所で、詳細が欠けているはずである。JPEG2000のこのプロパティを、他の複数解像度文書タイプにも拡張することができる。クライアントが、一度も所与の解像度を超えてズームインしなかった場合に、その所与の解像度を超える、そのイメージ内容に関する情報は、使用可能ではないはずである。この場合に、クライアントによって作成し、かつ/または格納できるJPEG2000イメージのバージョンは、そのイメージのオリジナルバージョンより低い全体的な解像度を有する可能性がある。   If the client has navigated to all locations in the image, or has viewed the entire image in full resolution long enough for all of the image data to be transmitted, the client can view the original JPEG2000 for that image. The entire file can be recreated. If a client zooms close to just a portion of a large image, the client can still create a JPEG2000 file, but lacks details everywhere except where the client zoomed in. Should be. This property of JPEG2000 can be extended to other multi-resolution document types. If the client has never zoomed in beyond a given resolution, information about that image content that exceeds that given resolution should not be available. In this case, the version of the JPEG 2000 image that can be created and / or stored by the client may have a lower overall resolution than the original version of the image.

上で説明した仮想ディスプレイシナリオの1つの応用例は、カメラからのイメージの長いダウンロード時間の問題を改善することである。1つまたは複数の実施形態で、カメラまたはカメラ対応モバイルデバイスは、サーバとして動作することができ、PCは、クライアントとして動作することができる。   One application of the virtual display scenario described above is to remedy the problem of long download times of images from cameras. In one or more embodiments, the camera or camera-enabled mobile device can operate as a server and the PC can operate as a client.

1つまたは複数の実施形態で、PCへのすべてのイメージの時間がかかるバッチダウンロードを開始するのではなく、カメラとPCとが接続されたときに、PCは、カメラ側で使用可能なイメージの完全なセットをすばやくブラウズすることができる。ナビゲーション中に、イメージのグループを、選択し、ホールディングペンに置くことができる。カメラ上のすべてのイメージが、その全体をPCにダウンロードされなければならない場合に、その転送を達成するのに必要な総時間が、従来技術と同一のままになることに留意されたい。しかし、サムネイル伝送という密接に関連する問題と同様に、この方法は、下でリストし、述べる、イメージの従来のシリアルダウンロードを上回る複数の利点をもたらすことができる。本発明は、下でリストされる特徴に限定されない。   In one or more embodiments, instead of initiating a time-consuming batch download of all images to the PC, when the camera and PC are connected, the PC You can browse the complete set quickly. During navigation, a group of images can be selected and placed on the holding pen. Note that if all images on the camera have to be downloaded in their entirety to a PC, the total time required to achieve the transfer remains the same as in the prior art. However, similar to the closely related issue of thumbnail transmission, this method can provide several advantages over conventional serial download of images, listed and described below. The present invention is not limited to the features listed below.

カメラまたは他のモバイルデバイス上のフルイメージセットのイメージダウンロードおよびユーザナビゲーションは、その帯域幅の使用において同時かつ協調的とすることができる(事実上、ナビゲーションは、単に、タイルがサーバからクライアントに送信される順序に影響する)。   Image download and user navigation of a full image set on a camera or other mobile device can be simultaneous and coordinated in its bandwidth usage (in effect, navigation is simply a tile sent from the server to the client. Affects the order in which they are made).

PCのディスプレイが、モバイルデバイスのディスプレイより大きい場合に、判断の前にセット全体をダウンロードするという遅延をこうむらずに、どのイメージをダウンロードするか、どのイメージをモバイルデバイスに残すか、およびどのイメージを破棄するかに関して、よりよい選択を行うことができる。   If the PC display is larger than the mobile device display, which image to download, which image to leave on the mobile device, and which image to download without incurring the delay of downloading the entire set before making a decision A better choice can be made as to whether to discard.

PC上およびモバイルデバイス上(このモバイルデバイスもディスプレイを有すると仮定して)でブラウズするという経験は、それぞれ、単純であり、経験的に類似し、これによってユーザビリティを高めることが好ましい。   The experience of browsing on a PC and a mobile device (assuming this mobile device also has a display) is respectively simple and empirically similar, which preferably increases usability.

ホールディングペン内のイメージのより低い解像度のバージョンが望まれる場合には、仮想ディスプレイ上のアイテムのサイズを小さくすることによって、ダウンロードされるデータの詳細を適切に制限することが、好ましく単純である。この形でのイメージサイズの縮小が、より高い倍率で、すなわち、破棄される解像度レベルごとに4倍で、ダウンロードを高速化すると同時に、PC上でより少ないスペースを必要とすることに留意されたい)。   If a lower resolution version of the image in the holding pen is desired, it is preferably simple to appropriately limit the details of the downloaded data by reducing the size of the items on the virtual display. Note that this reduction in image size requires a smaller amount of space on the PC while speeding up the download at a higher magnification, ie, 4x for each discarded resolution level. ).

望み通りに、仮想ディスプレイのサイズを制限すること、およびその中のイメージの個数を減らすことによって、PC上で写真に割り振られるメモリの量を制限することができる。また、異なる制約を、異なる写真に課すことができ、したがって、スペースを、新しさまたは1つもしくは複数の他の判断基準に基づいて割り振ることができる。   As desired, the amount of memory allocated to photos on the PC can be limited by limiting the size of the virtual display and reducing the number of images in it. Also, different constraints can be imposed on different photos, so space can be allocated based on novelty or one or more other criteria.

1つまたは複数の実施形態で、接続性の時期尚早な喪失は、いくつかのイメージのダウンロード動作からの完全な除去ではなく、ダウンロードされるイメージの一部またはすべての品質の劣化をもたらす(あるイメージのデータボリュームの大部分が、非常に高い解像度の詳細であり、そのうちの一部がカメラノイズであり、そのすべてが、通常のビューイングにとって、より粗いイメージ構造よりクリティカルでないことに留意されたい。したがって、イメージのすべてのより低い解像度のイメージデータが完全に伝送され終えた後に、すべてのイメージの高解像度イメージデータの伝送を行うことが好ましい)。例えば、サムネイル詳細を超える第2セットの洗練に進む前に写真のサブセットの完全なダウンロードを優先する、イメージデータのハイブリッド優先順位付けも、可能である。   In one or more embodiments, premature loss of connectivity results in degradation of the quality of some or all of the downloaded images rather than complete removal from the download operation of some images (some are Note that most of the image data volume is very high resolution details, some of which are camera noise, all of which are less critical than the coarser image structure for normal viewing Therefore, it is preferable to transmit high resolution image data of all images after all lower resolution image data of the image has been completely transmitted). For example, hybrid prioritization of image data is also possible, which favors complete download of a subset of photos before proceeding to a second set of refinements beyond thumbnail details.

1つまたは複数の実施形態で、本明細書で開示される1つまたは複数の方法は、間欠的な接続性に対して弾力的である。というのは、すべてのJPEG2000オブジェクトが、いつでも追加情報を増補され続けることができると同時に、それでも、どのビジュアルデータが既に受信されていようとも、そのビジュアルデータをブラウズし、そのビジュアルデータと対話することが可能になるからである。   In one or more embodiments, one or more methods disclosed herein are resilient to intermittent connectivity. This means that all JPEG2000 objects can continue to be augmented with additional information at any time, while still browsing and interacting with that visual data no matter what visual data has already been received This is because it becomes possible.

a)物理ディスプレイ上のアイテムのサイズの縮小と、b)PC上で写真に割り振られるメモリの量の制限とへの上の言及に関して、通常のホームユーザが、イメージのいずれをも破棄することを望まない(そのようなイメージの最初の選別の後に)場合があることに留意されたい。そのようなユーザが、彼らのPCに十分なストレージを追加することを継続する場合に、もちろん、どのコンテンツを破棄することも、必要であってはならない。ストレージの追加自体は、仮想ディスプレイの最大サイズを拡大することができる。したがって、上の(a)および(b)の特徴は、十分に大きい仮想ディスプレイサイズを作成できる場合(すなわち、十分な使用可能なクライアントサイドストレージがある場合)には、省略することができる。   With regard to the above references to a) reducing the size of items on the physical display and b) limiting the amount of memory allocated to photos on the PC, the normal home user will discard any of the images. Note that it may not be desirable (after the initial screening of such images). If such users continue to add enough storage to their PCs, of course, it should not be necessary to destroy any content. Adding storage itself can increase the maximum size of the virtual display. Thus, the above features (a) and (b) can be omitted if a sufficiently large virtual display size can be created (ie, there is sufficient client-side storage available).

「ホールディングペン」イメージがダウンロードを終えたときが、クライアントサイドのユーザに不明瞭である可能性があるので、完了に関する、ある形のビジュアル表示が望ましい。例として、チェックマークまたは緑のドットを、イメージがダウンロードを終えたときにそのイメージの隣に表示することができる。「ホールディングペン」内のすべてのイメージに緑のドットが含まれるときに、接続を、損失なしで遮断することができる。   Some form of visual display of completion is desirable because when the "holding pen" image finishes downloading, it may be obscured by the client-side user. As an example, a check mark or green dot can be displayed next to an image when the image has finished downloading. When all the images in the “holding pen” contain green dots, the connection can be disconnected without loss.

カメラがそのイメージの一部を破棄することをクライアントコンピュータ(PCとすることができる)を使用して要求することなどの動作は、出願人参考文書489/15Pで企図されたものを超える、クライアントからサーバへのある追加通信から利益を得ることができる。1つまたは複数の他の実施形態では、クライアントサイドは、サーバサイド(デジタルカメラまたは携帯電話機などのモバイルデバイスとすることができる)に、それ自体のクライアントサイドを起動し、PCからコンテンツを受け取るためにそれ自体のビューを作成するように指示することもできる。   Actions such as using a client computer (which can be a PC) to request that the camera destroy a portion of the image exceed what was contemplated in Applicant Reference Document 489 / 15P, Can benefit from some additional communication from the server to the server. In one or more other embodiments, the client side activates its own client side on the server side (which can be a mobile device such as a digital camera or mobile phone) and receives content from the PC. Can also be told to create their own view.

これは、ワールドワイドウェブのコンテキストで開発された「プッシュ」方法に似ている。PCは、PC上のコンテンツのカメラ/携帯電話機の「ビュー」をレンダリングすることができ、したがって(例えば)、PCからそのカメラにアップロードされたイメージについて、上で説明した緑の完了ドットを表示することができる。図57の相互の矢印のそれぞれを、「プッシュ」配置または「プル」配置のいずれかを使用して実装することができる。具体的に言うと、ビューポートセッティング、配置、および他のナビゲーションセッティングを、クライアントサイド560(「プル」)またはサーバサイド570(「プッシュ」)のいずれかから制御することができる。あるデバイスと対話するユーザを、別のデバイスに相互に接続することができ、これによって、「プッシュ」と「プル」との両方が同時に発生することが可能になる。   This is similar to the “push” method developed in the context of the World Wide Web. The PC can render a “view” of the camera / cell phone of the content on the PC, and thus displays (for example) the green completion dot described above for images uploaded from the PC to that camera. be able to. Each of the reciprocal arrows of FIG. 57 can be implemented using either a “push” or “pull” arrangement. Specifically, viewport settings, placement, and other navigation settings can be controlled from either the client side 560 (“pull”) or the server side 570 (“push”). Users interacting with one device can be interconnected to another device, which allows both “push” and “pull” to occur simultaneously.

これから、図57に示された潜在的なクライアント−サーバ接続を列挙し、これらをどのように使用できるかと、これらがなぜ有用であるかとを短く説明する。   We will now enumerate the potential client-server connections shown in FIG. 57 and briefly explain how they can be used and why they are useful.

カメラまたはカメラ対応携帯電話機とすることができるモバイルデバイス562は、コンテンツをユーザのPC(パーソナルコンピュータ)182に供給することができる。この接続は、通常、USBケーブルまたはBluetooth(登録商標)アドホック無線ネットワークを介して行うことができる。利益は、上で説明した。   A mobile device 562, which can be a camera or a camera-enabled mobile phone, can provide content to a user's PC (personal computer) 182. This connection can usually be made via a USB cable or a Bluetooth® ad hoc wireless network. Profit explained above.

PC 182は、コンテンツをモバイルデバイス562に戻して供給することができる。これは、とりわけ次の応用例に有用になり得る。   The PC 182 can supply the content back to the mobile device 562. This can be particularly useful for the following applications.

「財布にある写真」を、これらの写真がモバイルデバイスによって撮影されたのではない場合であっても、PCからカメラまたはモバイルデバイスに送信することができる。   “Photos in the wallet” can be sent from the PC to the camera or mobile device even if these photos were not taken by the mobile device.

PCを、ディスプレイなしのホームアプライアンスとすることができ、モバイルデバイスを、アーカイブされたビジュアル材料への主ビジュアルインターフェースとして使用することができる。このコンテキストでのモバイルデバイスは、デジタルカメラ、カメラ対応携帯電話機、PDA、またはディスプレイを有するモバイルタブレットPCとすることができる。   The PC can be a home appliance without a display and the mobile device can be used as the main visual interface to the archived visual material. The mobile device in this context can be a digital camera, a camera-enabled mobile phone, a PDA, or a mobile tablet PC with a display.

第1モバイルデバイスは、もう1つのモバイルデバイス(「ゲスト」)に直接に接続されるか、その「ゲスト」とのアドホックネットワークを形成することができる。この2つのモバイルデバイスは、互いの写真を表示し、共有することができる。   The first mobile device can be directly connected to another mobile device (“guest”) or form an ad hoc network with the “guest”. The two mobile devices can display and share each other's photos.

PCは、イメージを(プッシュを介して)リモートサーバにアップロードすることができる。サーバは、写真共有サービスとすることができ、したがって、物理ディスプレイ上のアイテムのサイズの縮小およびPC上で写真に割り振られるメモリの量の制限という上のプロセスで想定された種類のスペース制約を実装することができる。次に、リモートサーバは、そのコレクションを1つまたは複数の追加のPCに供給することができる。通常、これは、ブロードバンド接続になるはずである。しかし、他の接続タイプを用いることができる。   The PC can upload the image (via push) to the remote server. The server can be a photo sharing service, thus implementing the type of space constraints envisaged in the above process of reducing the size of items on the physical display and limiting the amount of memory allocated to photos on the PC can do. The remote server can then supply the collection to one or more additional PCs. Usually this should be a broadband connection. However, other connection types can be used.

リモートサーバは、コレクションをモバイルデバイスユーザに供給することもできる。通常、これは、モバイル無線広域ネットワークになるはずである。   The remote server can also provide the collection to mobile device users. Typically this should be a mobile wireless wide area network.

モバイルデバイスは、そのイメージを「プッシュ」を介して(すなわち、そのモバイルデバイスの制御の下で)リモートサーバにアップロードすることができる。1つまたは複数の実施形態で、このアップロードを自動的とすることができ、これによって、そのモバイルデバイスが、コンテンツをサーバに自由に転送すること、および転送が完了したときにそれらのコンテンツをローカルに削除することによって、その見かけのストレージスペースを透過的に拡張できるようになる。   A mobile device can upload its image to a remote server via “push” (ie, under the control of the mobile device). In one or more embodiments, this upload can be automatic so that the mobile device is free to transfer the content to the server and localize the content when the transfer is complete. By deleting it, the apparent storage space can be expanded transparently.

上の最後の2つのアイテムに関連して、モバイルデバイス562上でのローカルキャッシングは、モバイルデバイス562が、ローカルストレージが限られている場合であっても、ローカルストレージだけを使用して非常に大きいサムネイルコレクションをブラウズすることをサポートすることを可能にすることができることに留意されたい。最近に見られたイメージの詳細へのズームインも、関連情報がまだモバイルデバイスのローカルキャッシュにある場合に、可能とすることができる。   In relation to the last two items above, local caching on the mobile device 562 is very large using only local storage, even if the mobile device 562 has limited local storage. Note that it may be possible to support browsing a thumbnail collection. Zooming in on the details of recently viewed images may also be possible if the relevant information is still in the mobile device's local cache.

その詳細がリモートサーバでのみ使用可能なイメージへのズームインは、ぼけた詳細でないイメージをもたらし得る。しかし、モバイルデバイスが、リモートサーバ188を含むネットワーク上にある場合には、ますます詳細なイメージデータがモバイルデバイス562にダウンロードされる際に、ぼけたイメージをプログレッシブにより洗練されたものにすることができる。モバイルデバイスが、追加イメージデータを供給できるネットワークに接続されていない場合には、イメージは、最初のサムネイルイメージで使用可能なものより高い詳細を伴って提示されることができない。   Zooming in on an image whose details are only available on the remote server can result in an image with no blur details. However, if the mobile device is on a network that includes a remote server 188, it can progressively refine the blurred image as more and more detailed image data is downloaded to the mobile device 562. it can. If the mobile device is not connected to a network that can supply additional image data, the image cannot be presented with higher details than are available in the initial thumbnail image.

<低解像度イメージのモンタージュ>
本発明の1つまたは複数の実施形態では、様々な応用例のために解像度の制御可能なレベルでの選択されたイメージおよびまたはイメージ領域のダウンロードを実装するのに様々な構成で使用できる、事前計算されるステップおよび対話レンダリングアルゴリズムを定義することができる。これらの応用例の多く(関心領域に焦点を合わせること、仮想ブックなど)は、イメージの「ユニバース」とのユーザ対話を伴うものとすることができる。
<Montage of low resolution image>
One or more embodiments of the present invention can be used in various configurations to implement the downloading of selected images and / or image regions at a controllable level of resolution for various applications. Computed steps and interactive rendering algorithms can be defined. Many of these applications (focusing on a region of interest, virtual book, etc.) can involve user interaction with the “universe” of the image.

したがって、1つまたは複数の実施形態で、事前計算の開始点は、ファイル名、URL、または個々のイメージを参照する他のストリングのリストとすることができる。ユーザが、同時にこれらのイメージのすべてを見るのに十分に離れてズームアウトするときには、非常に多数のイメージファイルがある場合があるので、クライアントまたはサーバのいずれかが、イメージファイルのすべてをトラバースすることは、非実用的である。例えば、個々のイメージがオンスクリーンの2×2=4ピクセルを占める体制で、数万個または数十万個のイメージがビュー内にある場合がある。これらのイメージが、効率的な低解像度アクセスをサポートする場合であっても、単に100000個のファイルをオープンし、クローズすることは、大きいオーバーヘッドを伴い、対話的なタイムスケールで達成するには非実用的である可能性がある。したがって、本明細書で「モンタージュ」と称する、これらのイメージの低解像度バージョンのキャッシングされた表現を使用することが望ましい場合がある。   Thus, in one or more embodiments, the starting point for pre-computation can be a file name, a URL, or a list of other strings that reference individual images. When a user zooms out far enough to see all of these images at the same time, there can be a very large number of image files, so either the client or server traverses all of the image files That is impractical. For example, there may be tens of thousands or hundreds of thousands of images in a view, with each image occupying 2 × 2 = 4 pixels on-screen. Even if these images support efficient low-resolution access, simply opening and closing 100,000 files involves significant overhead and is not achievable on an interactive timescale. It may be practical. Therefore, it may be desirable to use a cached representation of the low resolution versions of these images, referred to herein as “montages”.

1つまたは複数の実施形態で、モンタージュは、図60に示されているように、低解像度でレンダリングされ、長方形領域に効率的に詰め込まれた、すべてのイメージのモザイクまたはコラージュとすることができる。モンタージュイメージファイルに埋め込むか別々に格納することができる補助メタデータは、特定のイメージファイルに伴うモンタージュイメージ上の長方形領域を識別することができる。   In one or more embodiments, the montage can be a mosaic or collage of all images rendered at low resolution and efficiently packed into a rectangular area, as shown in FIG. . Auxiliary metadata that can be embedded in the montage image file or stored separately can identify rectangular regions on the montage image that accompany the particular image file.

一実施形態で、モンタージュイメージ自体を、ズームおよびパンインターフェースを使用してナビゲートすることができる。ユーザが、モンタージュ内の1つまたは複数のイメージのモンタージュバージョンで使用可能な解像度を使い果たすのに十分にズームインするときに、そのイメージのメタデータは、クライアントに1つまたは複数の個々のイメージファイルを参照させることができ、クライアントは、これらのイメージファイルからの画像を使用して、より高い解像度でイメージをレンダリングすることができる。   In one embodiment, the montage image itself can be navigated using a zoom and pan interface. When the user zooms in enough to run out of the resolution available in the montage version of one or more images in the montage, that image's metadata is sent to the client one or more individual image files. Can be referenced, and the client can use images from these image files to render the image at a higher resolution.

1つまたは複数の実施形態で、ピクセル単位のモンタージュの全体的なサイズは、本明細書でイメージの「セット」と称する場合がある少数のイメージだけが同時に可視である段階までズームインしたときに限ってその解像度が使い果たされるように選択することができる。したがって、この少数より多数の高解像度のイメージへのアクセスは、どの所与のときにも不要であることが好ましい。後続のズーム中およびパン中に、イメージストリームは、任意の所与のときにオープンされている高解像度イメージの個数を制限するために、必要に応じてオープンし、クローズすることができる。   In one or more embodiments, the overall size of the montage in pixels is limited to zooming in to a stage where only a few images, sometimes referred to herein as “sets” of images, are visible at the same time. You can choose to use up that resolution. Thus, access to more than a few high resolution images is preferably unnecessary at any given time. During subsequent zooms and pans, the image stream can be opened and closed as needed to limit the number of high resolution images that are open at any given time.

高解像度の多数のイメージのナビゲーションに対する上の手法は、次の限界をこうむる。モンタージュレイアウトは、詰込み効率のために設計されることが好ましいが、ユーザが、オンスクリーンでのイメージの異なる配置を求める場合がある。さらに、ユーザが、スクリーン上のイメージのレイアウトを動的に再配置できることを求める場合がある。   The above approach to high resolution multiple image navigation suffers from the following limitations: The montage layout is preferably designed for clogging efficiency, but the user may want a different arrangement of images on-screen. Furthermore, the user may want to be able to dynamically rearrange the layout of the image on the screen.

1つまたは複数の実施形態で、そのような再配置を可能にするために、「テクスチャマッピング」として知られているグラフィックスレンダリング技法を利用することができ、このテクスチャマッピングは、ソフトウェアで実装することができるが、一般に、現代のパーソナルコンピュータではハードウェアアクセラレートされる。テクスチャマッピングは、「テクスチャ」またはソースイメージの一部をディスプレイに描き、任意選択としてイメージを再スケーリングし、回転し、かつ/または3次元透視変換を実行することを可能にする。他のハードウェアアクセラレーテッド変換が、しばしばサポートされ、これには、色訂正または色変更、完全な透明性または部分的な透明性、照明、オクルージョン、および座標再写像が含まれる。モンタージュの低解像度バージョンを、「テクスチャ」として使用することができ、その結果、ユーザがズームアウトしたときに、モンタージュ内の個々のイメージを、図61に示されているように、任意の形で動的に再マッピングすることができる。複数のテクスチャマップを使用することができ、その場合に、各テクスチャマップを、イメージのサブセットを含むモンタージュとすることができる。配置の間の遷移は、アニメーション付きとしても、そうしなくてもよい。再配置を、ユーザがズームインしている間に行うことができるが、再配置が、前にオフスクリーンであったイメージの新しいズームインされたビューをもたらす場合があるので、新しいイメージが、当初は非常にぼけたものになる場合があることに留意されたい。   In one or more embodiments, a graphics rendering technique known as “texture mapping” can be utilized to allow such relocation, which is implemented in software. In general, modern personal computers are hardware accelerated. Texture mapping allows a “texture” or part of the source image to be drawn on the display, optionally re-scaling, rotating, and / or performing 3D perspective transformations. Other hardware accelerated transformations are often supported and include color correction or color change, full or partial transparency, lighting, occlusion, and coordinate remap. A low-resolution version of the montage can be used as a “texture” so that when the user zooms out, the individual images in the montage are in any form, as shown in FIG. Can be remapped dynamically. Multiple texture maps can be used, where each texture map can be a montage containing a subset of images. Transitions between placements may or may not be animated. Relocation can be done while the user is zoomed in, but the new image is initially very new because relocation may result in a new zoomed-in view of the image that was previously offscreen. Note that it can be blurry.

もう1つの実施形態では、テクスチャマッピング技法を、イメージの動的再配置中にのみ使用することができる。イメージ配置が静的であるときに、ソフトウェア合成を使用して、オンスクリーンのより高精細度の再配置されたモンタージュのすべてまたは一部を組み立てることができる。このソフトウェア合成方法は、この開示で前に詳細に識別された特許文献1(出願人参考文書489/2NP)に記載の複数解像度レンダリング技法と組み合わされて特に貴重である。この方法は、事実上、オリジナルモンタージュの画像を再配置することによって新しい「ディスプレイモンタージュ」を作成することができる。   In another embodiment, texture mapping techniques can only be used during dynamic image relocation. When image placement is static, software compositing can be used to assemble all or part of the on-screen higher definition relocated montage. This software synthesis method is particularly valuable in combination with the multi-resolution rendering technique described in US Pat. No. 6,089,086 (Applicant Reference Document 489 / 2NP) previously identified in detail in this disclosure. This method can effectively create a new “display montage” by rearranging the images of the original montage.

テクスチャマッピングは、高解像度イメージを表示するのにも使用することができるが、この場合に、複数のイメージのモンタージュを含むテクスチャを使用するのではなく、個々のイメージのタイルを含むテクスチャが、使用される。この技法も、特許文献1(出願人参考文書489/2NP)に記載されている。   Texture mapping can also be used to display high-resolution images, but in this case, textures that contain tiles of individual images are used, rather than textures that contain montages of multiple images. Is done. This technique is also described in Patent Document 1 (Applicant Reference Document 489 / 2NP).

1つまたは複数の実施形態で、モンタージュ再配置を使用して、テクスチャマッピングに頼らないイメージの再編成をサポートすることができる。   In one or more embodiments, montage relocation can be used to support image reorganization that does not rely on texture mapping.

1つまたは複数の他の実施形態で、テクスチャマッピング、ソフトウェアレンダリング、またはこの2つの任意の組合せを使用して、1次元平面ではなく3次元で画像をレンダリングすることができる。3次元での動的再配置も、可能である。3次元応用例に、仮想ギャラリまたは他のウォークスルー環境ならびに仮想ブックを含めることができる。仮想ブックは、本明細書で説明され、さらに、参照によって本明細書に組み込まれている特許文献9に記載されている。   In one or more other embodiments, texture mapping, software rendering, or any combination of the two can be used to render an image in three dimensions rather than a one-dimensional plane. Dynamic relocation in three dimensions is also possible. Three-dimensional applications can include virtual gallery or other walk-through environments as well as virtual books. A virtual book is described in US Pat. No. 6,099,056, described herein and further incorporated herein by reference.

図62は、本発明の1つまたは複数の実施形態と共に使用されるように適合させることができるコンピューティングシステム1000のブロック図である。1つまたは複数の実施形態で、中央処理装置(CPU)1002を、バス1004に結合することができる。さらに、バス1004を、ランダムアクセスメモリ(RAM)1006、読取専用メモリ(ROM)1008、入出力(I/O)アダプタ1010、通信アダプタ1022、ユーザインターフェースアダプタ1006、およびディスプレイアダプタ1018に結合することができる。   FIG. 62 is a block diagram of a computing system 1000 that can be adapted for use with one or more embodiments of the invention. In one or more embodiments, a central processing unit (CPU) 1002 can be coupled to the bus 1004. Further, the bus 1004 may be coupled to a random access memory (RAM) 1006, a read only memory (ROM) 1008, an input / output (I / O) adapter 1010, a communication adapter 1022, a user interface adapter 1006, and a display adapter 1018. it can.

1つまたは複数の実施形態で、RAM 1006および/またはROM 1008は、ユーザデータ、システムデータ、および/またはプログラムを保持することができる。I/Oアダプタ1010は、ハードドライブ1012、CD−ROM(図示せず)、または他のマスストレージデバイスなどのストレージデバイスをコンピューティングシステム1000に接続することができる。通信アダプタ1022は、コンピューティングシステム1000をローカルエリアネットワーク、広域ネットワーク、またはインターネットネットワーク1024に結合することができる。ユーザインターフェースアダプタ1016は、キーボード1026および/またはポインティングデバイス1014などのユーザ入力デバイスをコンピューティングシステム1000に結合することができる。さらに、ディスプレイアダプタ1018を、CPU 1002によって駆動して、ディスプレイデバイス1020上の表示を制御することができる。CPU 1002は、任意の汎用CPUとすることができる。これまでに説明したおよび/または本文書でこの後に説明する方法および装置を、標準デジタル回路、アナログ回路、ソフトウェアおよび/またはファームウェアプログラムを実行するように動作するすべての既知のプロセッサ、プログラマブルデジタルデバイスまたはプログラマブルデジタルシステム、プログラマブルアレイロジックデバイス、あるいは上記の任意の組合せなど、既知のテクノロジのどれを利用しても達成できることに留意されたい。本発明の1つまたは複数の実施形態は、適切な記憶媒体での格納および処理ユニットによる実行のためにソフトウェアプログラムで実施することもできる。   In one or more embodiments, the RAM 1006 and / or the ROM 1008 may hold user data, system data, and / or programs. The I / O adapter 1010 can connect a storage device, such as a hard drive 1012, a CD-ROM (not shown), or other mass storage device, to the computing system 1000. Communication adapter 1022 can couple computing system 1000 to a local area network, a wide area network, or an Internet network 1024. User interface adapter 1016 can couple user input devices, such as keyboard 1026 and / or pointing device 1014, to computing system 1000. Further, the display adapter 1018 can be driven by the CPU 1002 to control the display on the display device 1020. The CPU 1002 can be any general purpose CPU. Any known processor, programmable digital device or device that operates to execute standard digital circuits, analog circuits, software and / or firmware programs may be used for the methods and apparatus described above and / or described later in this document. Note that any known technology can be used, such as a programmable digital system, a programmable array logic device, or any combination of the above. One or more embodiments of the present invention may also be implemented in a software program for storage on a suitable storage medium and execution by a processing unit.

本明細書で、本発明を特定の実施形態を参照して説明したが、これらの実施形態が、単に本発明の原理および応用例を例示するものであることを理解されたい。したがって、これらの例示的実施形態に対して多数の変更を行うことができること、および添付の特許請求の範囲によって定義される本発明の趣旨および範囲から逸脱せずに他の配置を考案できることを理解されたい。   Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. Accordingly, it will be appreciated that numerous modifications can be made to these exemplary embodiments and that other arrangements can be devised without departing from the spirit and scope of the invention as defined by the appended claims. I want to be.

[発明の名称]商取引の促進にイメージナビゲーション技法を使用する方法および装置 Method and apparatus for using image navigation techniques to promote commercial transactions

[技術分野]
本発明は、例えば製品および/またはサービスの広告および購入のための新しい環境を提供することによる、商取引の促進におけるイメージナビゲーション技法の適用の方法および装置を対象とする。
[Technical field]
The present invention is directed to a method and apparatus for application of image navigation techniques in promoting commercial transactions, for example by providing a new environment for advertising and purchasing products and / or services.

[背景技術]
デジタル地図作成アプリケーションおよびジオスペイシャル(geospatial)アプリケーションは、成長著しい産業である。これらは、多数の異なる市場の会社すなわち、Federal Express社、衣料品店、およびファーストフードチェーンなどの候補からのすばやく増加する投資を引き付けてきた。過去数年間に、地図作成は、検索エンジン、ウェブベース電子メール、および結婚仲介と共に、大きな関心を生むウェブ上のごく少数のソフトウェアアプリケーション(いわゆる「キラーアプリケーション」)の1つにもなってきた。
[Background]
Digital cartography applications and geospatial applications are fast growing industries. These have attracted rapidly increasing investments from candidates from a number of different market companies, such as FedEx Express, clothing stores, and fast food chains. Over the past few years, cartography has become one of the few software applications on the web (so-called “killer applications”) that have generated great interest, along with search engines, web-based email, and marriage brokerage.

[特許文献10]米国特許出願第10/803010号明細書
[特許文献11]米国特許仮出願第60/474313号明細書
[非特許文献4]www.w3data.com
[発明の開示]
[発明が解決しようとする課題]
地図作成は、原則として非常に視覚的でなければならないが、現在のところ、エンドユーザにとっての地図作成の有用性は、ほぼ完全にドライビングディレクションの生成にある。必ずドライビングディレクションを伴う地図イメージは、通常、不完全にレンダリングされ、ほとんど情報を伝えず、便利にナビゲートすることができず、うわべだけの飾りになっている。パンコントロールまたはズームコントロールのクリックは、長い遅延を引き起こし、その間に、ウェブブラウザは応答しなくなり、その後、前のイメージに対する視覚的関係をほとんど持たない新しい地図イメージが現れる。原則として、コンピュータは、紙の地図帳よりも効率的にデジタル地図をナビゲートできなければならないが、実際には、コンピュータによる地図のビジュアルナビゲーションは、まだ劣っている。
[Patent Document 10] US Patent Application No. 10/803010
[Patent Document 11] US Provisional Patent Application No. 60/474313
[Non-Patent Document 4] www.w3data.com
[Disclosure of the Invention]
[Problems to be solved by the invention]
Mapping must in principle be very visual, but at present, the usefulness of mapping for the end user is almost entirely in the generation of driving directions. A map image with a driving direction is always rendered incompletely, conveys little information, cannot be navigated conveniently, and is a decorative decoration. Clicking on the pan control or zoom control causes a long delay, during which time the web browser becomes unresponsive and then a new map image appears with little visual relationship to the previous image. In principle, a computer must be able to navigate a digital map more efficiently than a paper map book, but in fact, visual navigation of a map by a computer is still inferior.

[発明を実施するための最良の形態]
本発明は、低帯域幅接続を介する場合であっても、地図(または任意の他のイメージ)の連続的ですばやいビジュアルナビゲーションを可能にする新規のテクノロジと組み合わせて用いられることを意図されている。このテクノロジは、パンおよびズーム環境で地図を連続的にレンダリングする新しい技法に関する。このテクノロジは、道路網(1D曲線)および位置をマークするドット(0D点)をすべてのスケールで描画することを可能にし、連続する物理的ズームの錯覚をもたらすと同時に、地図の「視覚的密度」を上限付きに保つ、線および点のレンダリングへのフラクタル幾何学の応用である。関連するテクノロジは、テキストラベルおよびアイコンコンテキストに適用される。レンディションへのこの新しい手法は、デジタル地図描画に典型的な悪影響である、ズーム中の小道の突然の出現および消滅などの効果を防ぐ。このナビゲーションテクノロジの詳細は、その開示全体が参照によって本明細書に組み込まれている、本願と同日出願の、「METHODS AND APPARATUS FOR NAVIGATING AN IMAGE」と題する特許文献10(代理人整理番号489/9)に見ることができる。このナビゲーション技法を、本明細書では「Voss」と称する場合がある。
[Best Mode for Carrying Out the Invention]
The present invention is intended to be used in combination with a new technology that allows continuous and quick visual navigation of a map (or any other image), even when over a low bandwidth connection. . This technology relates to a new technique for continuously rendering a map in a pan and zoom environment. This technology makes it possible to draw road networks (1D curves) and dot marking points (0D points) at all scales, giving the illusion of a continuous physical zoom while simultaneously displaying the “visual density” of the map. Is an application of fractal geometry to the rendering of lines and points. Related technologies apply to text labels and icon context. This new approach to rendition prevents effects such as the sudden appearance and disappearance of the path during zooming, which are typical adverse effects in digital map drawing. Details of this navigation technology can be found in US Pat. No. 6,057,059 (Attorney Docket No. 489/9) entitled “METHODS AND APPARATUS FOR NAVIGATING AN IMAGE”, filed on the same day as this application, the entire disclosure of which is incorporated herein by reference. ) Can be seen. This navigation technique may be referred to herein as “Voss”.

Vossテクノロジの使用は、インターネット地図作成に関する複数の新規の商業的に価値のあるビジネスモデルを可能にする。これらのモデルは、両方が地理的広告から収入を生むYahoo!(登録商標) MapsおよびMapQuest(登録商標)などの事業の証明された成功を、その出発点として採用する。しかし、我々の手法は、広告を十分に超え、会社とエンドユーザとの両方にとっての実質的な価値を増やす新テクノロジの能力を利用する。本質的なアイデアは、会社および人々が、ズーム可能なコンテンツを埋め込むことができる、通常は彼らの物理的な住所にある、地図上の「不動産」を借りることを可能にすることである。このコンテンツは、大スケールの地図で見られるときにアイコンの形、すなわち、マクドナルド(登録商標)の場合には金色のアーチで現れるが、近くで見られるときには任意の種類のウェブ様コンテンツに滑らかに連続的に変形する。したがって、我々の地図作成アプリケーションをダイナミックユーザコンテンツおよび会社/住居住所データと統合することによって、我々は、ある種の「地理的ワールドワイドウェブ」を使用可能にすることができる。   The use of Voss technology enables multiple new commercially valuable business models for Internet mapping. These models are both based on Yahoo! The proven success of businesses such as (registered trademark) Map and MapQuest (registered trademark) is adopted as the starting point. But our approach takes advantage of new technology's ability to go well beyond advertising and add substantial value to both the company and the end user. The essential idea is to allow companies and people to rent “real estate” on a map that can embed zoomable content, usually at their physical address. This content appears as an icon shape when viewed on a large-scale map, that is, a golden arch in the case of McDonald's®, but smoothly into any kind of web-like content when viewed nearby. Deforms continuously. Thus, by integrating our mapping application with dynamic user content and company / residential data, we can enable certain types of “geographical world wide web”.

消費者と小売業者との両方の巨大な水平的市場のほかに、既存の地理情報サービス(GIS)プロバイダおよび関連産業との共同作用は、カーナビゲーションシステム、携帯電話機およびPDA、不動産賃貸または販売、部門別案内広告、ならびにさらに多くのものを得るはずである。これらの領域での可能なビジネス関係に、テクノロジライセンス交付、戦略的パートナーシップ、および直接垂直販売(direct vertical sales)が含まれる。   In addition to a huge horizontal market for both consumers and retailers, collaboration with existing geographic information service (GIS) providers and related industries includes car navigation systems, mobile phones and PDAs, real estate rental or sales, You will get departmental advertising, as well as more. Possible business relationships in these areas include technology licensing, strategic partnerships, and direct vertical sales.

本発明の新ナビゲーション技法の機能は、前述の米国特許出願に詳細に記載されている。この特許出願に関して、基礎テクノロジの最も関連する態様は、次の通りである。   The functionality of the new navigation technique of the present invention is described in detail in the aforementioned US patent application. With regard to this patent application, the most relevant aspects of the basic technology are as follows.

− 知覚的連続性および高度な帯域幅管理を伴う2Dワールドを介する滑らかなズームおよびパンと、
− ビジュアルコンテンツを制限なしでネストすることを可能にする、無限精度座標系と、
− 空間的包含がハイパーリンクと同等になるようにする、多数の異なるサーバに格納されたコンテンツをネストする能力。
-Smooth zoom and pan through a 2D world with perceptual continuity and advanced bandwidth management;
-An infinite precision coordinate system that allows visual content to be nested without restrictions;
-The ability to nest content stored on a number of different servers, making spatial inclusion equivalent to hyperlinks.

後ろの2つの要素に関して、追加の詳細を、参照によってその開示全体が本明細書に組み込まれている2003年5月30日出願の、「SYSTEM AND METHOD FOR INFINITE PRECISION COORDINATES IN A ZOOMING USER INTERFACE」と題する特許文献11に見ることができる。   With regard to the last two elements, additional details can be found in “SYSTEM AND METHOD FOR INFINITE PRECISION COORDINATES IN A ZOOMING USER INTERFACE” filed May 30, 2003, the entire disclosure of which is incorporated herein by reference. It can be seen in the patent document 11 entitled.

地図は、情報の多数のレイヤからなり、最終的に、Voss地図アプリケーションは、ユーザがこれらのレイヤのほとんどをオンおよびオフに切り替えることを可能にし、地図を非常にカスタマイズ可能にする。レイヤには、次が含まれる。   The map consists of multiple layers of information, and ultimately the Voss map application allows the user to switch most of these layers on and off, making the map highly customizable. The layers include the following:

1.道路と、
2.水路と、
3.行政区画と、
4.航空写真に基づくオルソイミジャリ(地図を完全にタイル表示するようにデジタル的に「歪みを除去」された航空写真)と、
5.地形図と、
6.例えば学校、教会、公衆電話、手洗い所など、公共インフラストラクチャの位置と、
7.上記のそれぞれのラベルと、
8.雲量、降雨量、および他の気象条件と、
9.交通条件と、
10.広告と
11.個人的ユーザコンテンツおよび商用ユーザコンテンツなど。
1. Road and
2. Waterways,
3. Administrative divisions,
4). Orthographics based on aerial photos (aerial photos digitally “undistorted” to fully tile the map),
5. Topographic maps,
6). For example, the location of public infrastructure, such as schools, churches, public telephones, and bathrooms,
7). Each of the above labels,
8). With cloud cover, rainfall, and other weather conditions,
9. Traffic conditions,
10. With advertisement 11. Personal user content and commercial user content.

通常のユーザの観点から最も顕著なレイヤは、1〜4および7である。広告/ユーザコンテンツレイヤ10〜11は、本願において特に重要であるが、やはり非常に重要である。1〜7を含む地図レイヤの多くは、米国連邦政府から、高い品質および無視できるコストで既に使用可能である。8〜9(および他のレイヤ)などの付加価値レイヤは、開発中のいつでもまたは展開後であっても使用可能にすることができる。   The most prominent layers from the point of view of normal users are 1-4 and 7. The advertisement / user content layers 10-11 are particularly important in the present application, but are also very important. Many of the map layers, including 1-7, are already available from the US federal government with high quality and negligible cost. Value-added layers such as 8-9 (and other layers) can be enabled at any time during development or even after deployment.

複数の会社が、一方通行の通り、高速道路の入口ランプおよび出口ランプ、ならびにドライビングディレクションを生成するのに重要な他の特徴を示す注釈を伴う機能強化された道路データを提供するが、これらは、視覚的地理学に関するものではない。本願に最も関連する商業地理情報サービス(GIS)提供は、地域別分類であり、これは、住所の正確な緯度/経度座標への変換を可能にする。地域別分類サービスの入手は禁止的ではないと判定された。   Several companies provide enhanced road data with annotations indicating one-way street, highway entrance and exit ramps, and other features important to generate driving directions. It is not about visual geography. The most relevant commercial geographic information service (GIS) offering for this application is the geographic classification, which allows the conversion of addresses to precise latitude / longitude coordinates. The availability of regional classification services was determined not to be prohibitive.

地図データのほかに、全国のイエローページ/ホワイトページデータも、本発明の実装において貴重である場合がある。この情報も、ライセンス交付され得る。全国のイエローページ/ホワイトページデータを、地域別分類と組み合わせて使用して、会社に関する地理ユーザ検索またはフィルタリング(例えば、「マンハッタンのすべてのレストランを強調表示せよ」)を可能にすることができる。おそらく最も重要なことに、地域別分類と組み合わされたディレクトリリスティングは、会社およびパーソナルユーザを地理的位置に関連付けるのを大幅に単純化し、オンライントランザクションを介して「不動産」を貸し、または譲渡することを可能にし、大量の販売スタッフの必要をなくす。   In addition to map data, national yellow page / white page data may also be valuable in the implementation of the present invention. This information can also be licensed. National yellow / white page data can be used in combination with regional classifications to enable geographic user search or filtering (eg, “Highlight all restaurants in Manhattan”) for a company. Perhaps most importantly, directory listings combined with geographic classifications greatly simplify the association of companies and personal users with geographic locations and lend or transfer "real estate" via online transactions. Enabling the need for large sales staff.

テレマーケティング用に設計された全国電話データベースおよび全国住所データベースは、CDで安価に入手することができるが、これらは、必ずしも高品質ではなく、そのカバレッジは、通常はごく部分的であり、これらのデータベースは、しばしば古い。複数の会社が、我々のものに似た、ソフトウェア指向ビジネス用に設計されたAPIを有する堅牢なディレクトリサーバを提供している。最良のものの中に、W3Data(例えば、非特許文献4参照)があり、これは、最低500ドル/月で、0.10ドル/ヒットから始まり、250000件/月の分量では0.05ドル/ヒット、1000000件/月の分量では0.03ドル/ヒットまで下がる料金で、XMLベースのAPIを使用する、彼らが「ニアタイム」全国電話リスティングと呼ぶものを提供する。米国およびカナダ全体がカバーされている。逆照会すなわち、電話番号を与えて名前をルックアップすることも可能である。「ニアタイム」データは、少なくとも90日おきに更新される。既に入手されたエントリの我々の端での90日キャッシングと組み合わされれば、これは、高品質全国リスティングを入手する非常に経済的な形である。毎晩更新される「リアルタイム」データも入手可能であるが、より高価である(0.20ドル/ヒット)。リアルタイムデータは、411オペレータ(電話番号案内)によって使用されるものと同一である。   National telephone databases and national address databases designed for telemarketing can be obtained inexpensively on CDs, but these are not always high quality and their coverage is usually very partial, and these databases Is often old. Several companies offer robust directory servers with APIs designed for software-oriented businesses similar to ours. Among the best is W3Data (see, for example, Non-Patent Document 4), which starts at $ 0.10 / hit with a minimum of $ 500 / month and $ 250,000 / month for $ 0.05 / month. Hits, offering a what they call “near-time” national phone listings, using an XML-based API, at a rate that drops to $ 0.03 / hit for a volume of 1000000 cases / month. The entire United States and Canada are covered. It is also possible to look up the name by reverse querying, i.e. by providing a phone number. “Near Time” data is updated at least every 90 days. Combined with 90-day caching at our end of already acquired entries, this is a very economical form of obtaining a high quality national listing. “Real time” data that is updated every night is also available, but is more expensive ($ 0.20 / hit). Real-time data is the same as that used by the 411 operator (phone number guidance).

W3Dataに似た、匹敵するビジネスモデルおよび価格設定モデルを有する、カテゴリによる全国ビジネスリスティングを作成できるサービスプロバイダも存在する。   There are also service providers that can create national business listings by category with comparable business and pricing models similar to W3Data.

古典的な広告ベースのビジネスモデルならびに独自データフォーマットおよびダウンロード可能なプラグイン(Flash(登録商標)、Adobe(登録商標) Acrobat、およびReal Playerなど)を伴う「メディアプレイヤ」モデルは、通常、鶏と卵の問題に直面する。広告の場は、人々が既に見ている場合に限って広告する価値を有するようになり、プラグインは(無料であっても)、既に見るべき有用なコンテンツがある場合に限ってダウンロードする価値を有するようになり、コンテンツは、それを見る準備ができているインストール済みユーザベースが既にある場合に限って、作成への投資に魅力を有するようになる。   “Media player” models with classic ad-based business models and proprietary data formats and downloadable plug-ins (such as Flash®, Acrobat®, and Real Player) are typically Face the egg problem. The place of advertising will only be worth advertising if people are already watching it, and the plug-in will be downloaded only if there is useful content to watch (even if it is free) And content will only be attractive to investment in creation if there is already an installed user base ready to view it.

Voss地図作成アプリケーションは、ダウンロード可能クライアントソフトウェアを必要とすると同時に広告を介する収入を生成するが、古典的な広告ベースのビジネスモデルの不利益をこうむらない。実質的なコマーシャルスペースが「貸される」前であっても、本発明は、地図を表示し、住所を検索する有用で視覚的に説得力のある形すなわち、既存の地図作成アプリケーションの機能性に似ているが、大幅に改善されたビジュアルインターフェースを提供する。さらに、本発明の手法は、制限されてはいるが価値のあるサービスを非商用ユーザに無料で提供して、ユーザベースを引き付ける。この制限付きサービスは、1ユーザあたり少量(5〜15MB)のサーバスペースを、ユーザの地理的位置、通常は家庭でホスティングすることからなる。クライアントソフトウェアに、ユーザがイメージおよびテキストを彼らの「物理的な住所」にドラッグアンドドロップすることを可能にする単純なオーサリング機能を含めることができ、このイメージおよびテキストを、クライアントソフトウェアを有する任意の他の許可されたユーザが見ることができる(パスワード保護を使用可能にすることができる)。ズーミングユーザインターフェース手法は、特に限られた帯域幅を介する、デジタル写真コレクションのナビゲーションに明らかに役立つので、写真アルバム共有の可能性だけでも、かなりの数のユーザを引き付ける可能性がある。追加のサーバスペースは、適度な年間料金で使用可能とすることができる。この非常に水平的な市場は、大きな収入源になる可能性が高い。   The Voss mapping application requires downloadable client software and at the same time generates revenue via advertising, but does not suffer from the disadvantages of a classic advertising-based business model. Even before substantial commercial space is “rented”, the present invention provides a useful and visually compelling form of displaying maps and searching for addresses, ie, the functionality of existing mapping applications. Provides a similar but significantly improved visual interface. Furthermore, the inventive approach provides a limited but valuable service to non-commercial users free of charge and attracts a user base. This limited service consists of hosting a small amount (5-15 MB) of server space per user at the user's geographic location, usually at home. The client software can include a simple authoring function that allows users to drag and drop images and text into their “physical address”, and this image and text can be used with any client software It can be seen by other authorized users (password protection can be enabled). The zooming user interface approach is obviously useful for navigating digital photo collections, especially over limited bandwidth, so the possibility of photo album sharing alone can attract a significant number of users. Additional server space can be made available at a reasonable annual fee. This very horizontal market is likely to be a great source of income.

したがって、通常の鶏と卵の問題は、最初から価値のあるサービスを提供することすなわち検索エンジンおよび他の有用な(現在は収益の多い)ウェブサービスについてうまく働いてきた手法によって回避される。これは、例えば、ユーザベースが蓄積されるまでは有用でない、オンラインデートサービスとは非常に対照的である。   Thus, the usual chicken and egg problem is avoided by providing valuable services from the outset, ie by techniques that have worked well for search engines and other useful (currently profitable) web services. This is in sharp contrast to, for example, an online dating service that is not useful until a user base is accumulated.

本発明の様々な態様によれば、収入源に、次を含めることができる。   In accordance with various aspects of the present invention, revenue sources can include:

1.物理的な住所に対応する地図上のスペースの商業的「レンタル」と、
2.商用ユーザ向けの「プラスサービス」(下で定義する)の料金と、
3.非商用ユーザ向けの「プラスサービス」の料金と、
4.プロフェッショナルズーム可能コンテンツオーサリングソフトウェアと、
5.PDA、携帯電話機、カーナビゲーションシステムなどのベンダおよびサービスプロバイダとのライセンス交付またはパートナーシップと、
6.情報。
1. Commercial “rental” of the space on the map corresponding to the physical address,
2. Fees for “plus service” (defined below) for commercial users,
3. "Plus service" charges for non-commercial users,
4). Professional zoomable content authoring software,
5. Licensing or partnerships with vendors and service providers such as PDAs, mobile phones, car navigation systems,
6). information.

地図上のスペースの基本的な商用レンタルは、次の変数の組合せを使用して価格設定することができる。   A basic commercial rental of the space on the map can be priced using a combination of the following variables:

1.地図上のサイトの個数と、
2.平方メートル単位の、1サイトあたりの地図面積(「フットプリント」)と、
3.集約ビューイング統計に基づく不動産の望ましさと、
4.MB単位の、コンテンツをホスティングするのに必要なサーバスペース。
1. The number of sites on the map,
2. Map area per square meter (“footprint”),
3. The desirability of real estate based on aggregate viewing statistics,
4). Server space required to host content in MB units.

商用ユーザ用のプラスサービスは、フランチャイズ、電子商取引を行うかウェブの他のより洗練された利用を望む会社、および広告注目度を高めることを望む会社向けである。   Plus services for commercial users are for franchises, companies that want to do e-commerce or other more sophisticated uses of the web, and companies that want to increase advertising attention.

1.より大きい可視の高さ − 複数のレベルを提供することができ、可視だが遮られないアイコンまたは「フラグ」が、そうでなければ可視である距離より遠くから(よりズームアウトされて)ビジネスサイトの位置を示すことが可能になる。   1. Larger visible height-can provide multiple levels, visible but unobstructed icons or “flags” from business sites farther away (more zoomed out) than otherwise visible It becomes possible to indicate the position.

2.焦点合わせの優先順位 − Vossは、ナビゲーション中にデータが使用可能になったときに、イメージの諸区域に焦点を合わせる。デフォルトでは、すべてのビジュアルコンテンツが、同等に扱われ、焦点合わせは、スクリーンの中央から外に進む。焦点合わせの優先順位は、これを用いない場合よりすばやく商業コンテンツに焦点を合わせることを可能にし、ユーザの「周辺視野」でそのコンテンツをより目立たせる。この特徴は、ユーザのナビゲーション経験を損なわずに商業的価値を与えるように調整される。   2. Focus priority-Voss focuses on areas of the image when data becomes available during navigation. By default, all visual content is treated equally and focusing proceeds out of the center of the screen. Focusing priorities allow commercial content to be focused more quickly than without it, making the content more noticeable in the user's “peripheral vision”. This feature is tailored to give commercial value without compromising the user's navigation experience.

3.従来のウェブハイパーリンクをズーム可能コンテンツに含めること − これらは、明瞭にマークされ(例えば、従来の下線付きの青いテキストを用いて)、ユーザがクリックしたときに、ウェブブラウザを開く。我々は、そのようなハイパーリンクを含めることについて料金を請求するか、Google(登録商標)のように1クリックごとに料金を請求するかのいずれかを行うことができる。   3. Including conventional web hyperlinks in zoomable content—these are clearly marked (eg, using conventional underlined blue text) and open a web browser when the user clicks. We can either charge for including such hyperlinks, or charge per click, such as Google (R).

4.貸された地理的区域に外部の商用サーバ(これ自体は任意のタイプおよびサイズのズーム可能コンテンツをホスティングする)を参照させること − これは、#3の、より意匠を凝らしたバージョンであり、地図を介して任意の種類のe−ビジネスを行うことを可能にする。我々は、やはり、フラット料金を請求するか、外部サーバに接続するユーザごとに料金を請求するかのいずれかを行うことができる(後者は、もはやクリックを必要とするのではなく、単にズームインすることを必要とするが)。   4). Let the rented geographic area refer to an external commercial server (which itself hosts zoomable content of any type and size)-this is a more elaborate version of # 3, a map Allows any kind of e-business to be conducted. We can still either charge a flat fee or charge for each user connected to an external server (the latter no longer requires a click, just zoom in) I need it).

5.ビルボード − 実際の生活と同様に、地図の多数の高注目度区域は、実質的に空のスペースを有する。会社は、このスペースを購入し、ハイパーリンクおよび「ハイパージャンプ」を含むコンテンツを挿入することができ、このハイパーリンクおよび「ハイパージャンプ」は、クリックされた場合に、ユーザを、空間を介して地図の別の場所にある商用サイトにジャンプさせる。従来のコマーシャルスペースと対照的に、ビルボードスペースは、固定位置で貸される必要はなく、その位置は、ユーザナビゲーション中にオンザフライで生成することができる。   5. Billboard—Similar to real life, many high attention areas of the map have substantially empty space. The company can purchase this space and insert hyperlinks and content containing “hyperjumps” that, when clicked, map the user through the space when clicked. Jump to a commercial site in another location. In contrast to conventional commercial space, billboard space does not need to be rented at a fixed location, which can be generated on-the-fly during user navigation.

この最後のサービスは、「エコロジ」または視覚的美学および地図のユーザビリティという問題を引き起こす。地図が、魅力的であり、ユーザにとって真のサービスのままであることが望ましいが、これは、広告および趣味の良い「区画規制」に対する制限を暗示する。地図が、実世界の地理を反映しないビルボードまたは他のコンテンツであまりに混乱した状態になった場合に、ユーザは、興味を奪われ、広告および電子商取引の場としての地図の価値が下落する。   This last service raises issues of "ecology" or visual aesthetics and map usability. While it is desirable that the maps remain attractive and remain a true service to the user, this implies limitations on advertising and tasteful “partition regulation”. If the map becomes too confused with billboards or other content that does not reflect real world geography, the user will be distracted and the value of the map as a place for advertising and e-commerce will decline.

我々使用統計が収集されるときに、これらの商用「プラスサービス」の多くの価値を、量的に論証可能とすることができる。競争的利点の量的証拠は、これらの追加機能の売上を増やすに違いない。   Many values of these commercial “plus services” can be made quantitatively demonstrable when we use statistics are collected. Quantitative evidence of competitive advantage must increase sales of these additional features.

非商用ユーザ向けプラスサービスは、異なってスケーリングされ、価格設定され、マーケティングされる、同一の製品の一部からなる。   Plus services for non-commercial users consist of parts of the same product that are scaled, priced and marketed differently.

ズーム可能Vossコンテンツの制限付きオーサリングは、無料クライアント内から可能になる。これには、テキストの挿入、デジタル写真のドラッグアンドドロップ、およびパスワードの設定が含まれる。プロフェッショナルオーサリングソフトウェアは、より柔軟なズーム可能コンテンツ作成を可能にすると同時に、ハイパーリンクおよびハイパージャンプの作成とカスタムアプレットの挿入を容易にするように設計された、クライアントの変更バージョンとすることができる。   Limited authoring of zoomable Voss content is possible from within the free client. This includes inserting text, dragging and dropping digital photos, and setting passwords. Professional authoring software can be a modified version of the client designed to facilitate the creation of hyperlinks and hyperjumps and the insertion of custom applets while allowing more flexible zoomable content creation.

本発明の使用は、空間的注意の密度、ナビゲーションルート、および他のパターンに関する大量の集約情報および個別情報を生成することができる。これらのデータは、商業的価値を有する。   The use of the present invention can generate a large amount of aggregate and individual information regarding spatial attention density, navigation routes, and other patterns. These data have commercial value.

本発明の1つまたは複数の実施形態によるプロキシサーバおよびクライアントデバイスを含む通信システムを示すブロック図である。1 is a block diagram illustrating a communication system including a proxy server and a client device according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態に従ってカスタマイズされた、携帯電話機とすることができるクライアントデバイスの前面を示す正面図である。1 is a front view of a front side of a client device, which can be a mobile phone, customized according to one or more embodiments of the present invention. FIG. 本発明の1つまたは複数の実施形態に従ってカスタマイズされた、携帯電話機とすることができるクライアントデバイスの背面を示す正面図である。FIG. 6 is a front view of the back of a client device, which can be a mobile phone, customized according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態に従ってカスタマイズされた、携帯電話機とすることができるクライアントデバイスの背面を示す正面図である。FIG. 6 is a front view of the back of a client device, which can be a mobile phone, customized according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態によるクライアントデバイスによってイメージデータをナビゲートする方法を示す流れ図である。4 is a flow diagram illustrating a method for navigating image data by a client device according to one or more embodiments of the invention. 本発明の1つまたは複数の実施形態によるクライアントデバイスで見られるウェブページコラムを示す図である。FIG. 6 illustrates a web page column as seen on a client device according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、20キロビット毎秒のレートでの約2秒のロードの後の図4のウェブページを示す図である。FIG. 5 illustrates the web page of FIG. 4 after an approximately 2 second load at a rate of 20 kilobits per second, in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、20キロビット毎秒のレートでの約10秒のロードの後の図4のウェブページを示す図である。FIG. 5 illustrates the web page of FIG. 4 after a load of about 10 seconds at a rate of 20 kilobits per second, in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、約2秒にわたって20キロビット毎秒でデータをロードした後の図4のウェブページの上部を示す図である。FIG. 5 illustrates the top of the web page of FIG. 4 after loading data at 20 kilobits per second for approximately 2 seconds according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、約10秒にわたって20キロビット毎秒でデータをロードした後の図4のウェブページの上部を示す図である。FIG. 5 illustrates the top of the web page of FIG. 4 after loading data at 20 kilobits per second for approximately 10 seconds, in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、図6のビューをキャプチャした直後にキャプチャされた図4のウェブページの一部を示すズームインされた図である。FIG. 7 is a zoomed-in view of a portion of the web page of FIG. 4 captured immediately after capturing the view of FIG. 6, in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、図4のウェブページの一部を示すポートレートビューである。5 is a portrait view showing a portion of the web page of FIG. 4 in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、図4のウェブページの一部を示すランドスケープビューである。5 is a landscape view showing a portion of the web page of FIG. 4 in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による使用に適合可能なコンピュータシステムを示すブロック図である。FIG. 7 is a block diagram illustrating a computer system that is adaptable for use with one or more embodiments of the invention. LODピラミッドを示す図である(この例では、最高解像度表現を表すピラミッドの基部は、512×512サンプルイメージであり、このイメージの連続する縮小は、2倍で示されている)。FIG. 2 shows a LOD pyramid (in this example, the base of the pyramid representing the highest resolution representation is a 512 × 512 sample image, and successive reductions of this image are shown at 2 ×). 本発明の例示的実施形態で使用される流れ図を示す図である。FIG. 4 shows a flow chart used in an exemplary embodiment of the invention. 本システムがズームの後の最終イメージをどのように表示するかを示すもう1つの流れ図である。3 is another flow diagram illustrating how the system displays a final image after zooming. 各LODのサンプル単位で等しいサイズの長方形タイルへの副分割を示すグリッド線が追加された、図1のLODピラミッドを示す図である。FIG. 2 is a diagram illustrating the LOD pyramid of FIG. 1 with the addition of grid lines indicating subdivisions into rectangular tiles of equal size for each LOD sample unit. 本発明に関連して使用される、レンダリングされたタイルをディスプレイに表示するプロセスを示すもう1つの流れ図である。4 is another flow diagram illustrating the process of displaying rendered tiles on a display used in connection with the present invention. 本明細書でより詳細に説明される、無理数タイリングと称する概念を示す図である。FIG. 3 illustrates a concept referred to as irrational tiling described in more detail herein. 上でより十分に説明されるように、合成タイルおよび合成タイルを構成するタイルを示す図である。As described more fully above, it is a diagram illustrating a composite tile and the tiles that make up the composite tile. 本発明の1つまたは複数の実施形態による、図4のLODピラミッドの第2レイヤのフォービエイテッドな順序でのレンダリングの連続するステージの1つを示す図である。FIG. 5 illustrates one of the successive stages of rendering in a forbidden order of the second layer of the LOD pyramid of FIG. 4 in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、図4のLODピラミッドの第2レイヤのフォービエイテッドな順序でのレンダリングの連続するステージの1つを示す図である。FIG. 5 illustrates one of the successive stages of rendering in a forbidden order of the second layer of the LOD pyramid of FIG. 4 in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、図4のLODピラミッドの第2レイヤのフォービエイテッドな順序でのレンダリングの連続するステージの1つを示す図である。FIG. 5 illustrates one of the successive stages of rendering in a forbidden order of the second layer of the LOD pyramid of FIG. 4 in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、図4のLODピラミッドの第2レイヤのフォービエイテッドな順序でのレンダリングの連続するステージの1つを示す図である。FIG. 5 illustrates one of the successive stages of rendering in a forbidden order of the second layer of the LOD pyramid of FIG. 4 in accordance with one or more embodiments of the present invention. ディスプレイ上のビジュアルコンテンツを示す図である。It is a figure which shows the visual content on a display. 異なる詳細レベルの図18のビジュアルコンテンツのイメージを示す図である。It is a figure which shows the image of the visual content of FIG. 18 of a different detail level. 本発明の実施形態を示す図である。It is a figure which shows embodiment of this invention. ディスプレイ上の複数のノードを示す、本発明の例示的実施形態を示す図である。FIG. 4 illustrates an exemplary embodiment of the present invention showing multiple nodes on a display. 図21に示された例示的実施形態に対応するツリー図を示す図である。FIG. 22 shows a tree diagram corresponding to the exemplary embodiment shown in FIG. 21. 図22のツリー図の一部に対応するブロック図を示す図である。It is a figure which shows the block diagram corresponding to a part of tree diagram of FIG. ズームレベル5である、MapQuestウェブサイトからとられたイメージを示す図である。FIG. 6 shows an image taken from the MapQuest website at a zoom level of 5; ズームレベル6である、MapQuestウェブサイトからとられたイメージを示す図である。FIG. 6 shows an image taken from the MapQuest website at zoom level 6; ズームレベル7である、MapQuestウェブサイトからとられたイメージを示す図である。FIG. 6 shows an image taken from the MapQuest website at zoom level 7; ズームレベル9である、MapQuestウェブサイトからとられたイメージを示す図である。FIG. 6 shows an image taken from the MapQuest website at a zoom level of 9; 本発明の1つまたは複数の態様による約334メートル/ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。FIG. 4 illustrates an image of a long island made at a zoom level of about 334 meters / pixel according to one or more aspects of the present invention. 本発明の1つまたは複数のさらなる態様による約191メートル/ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。FIG. 6 shows an image of a long island made at a zoom level of about 191 meters / pixel according to one or more further aspects of the present invention. 本発明の1つまたは複数のさらなる態様による約109.2メートル/ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。FIG. 5 shows an image of a long island made at a zoom level of about 109.2 meters / pixel according to one or more further aspects of the present invention. 本発明の1つまたは複数のさらなる態様による約62.4メートル/ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。FIG. 6 shows an image of a long island made at a zoom level of about 62.4 meters / pixel according to one or more further aspects of the present invention. 本発明の1つまたは複数のさらなる態様による約35.7メートル/ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。FIG. 6 shows an image of a long island made at a zoom level of about 35.7 meters / pixel according to one or more further aspects of the present invention. 本発明の1つまたは複数のさらなる態様による約20.4メートル/ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。FIG. 6 shows an image of a long island made at a zoom level of about 20.4 meters / pixel according to one or more further aspects of the present invention. 本発明の1つまたは複数のさらなる態様による約11.7メートル/ピクセルのズームレベルで作られたロングアイランドのイメージを示す図である。FIG. 6 shows an image of a long island made at a zoom level of about 11.7 meters / pixel according to one or more further aspects of the present invention. 本発明の1つまたは複数のさらなる態様による、イメージの滑らかで連続的なナビゲーションを提供するために実行することのできるプロセスステップを示す流れ図である。6 is a flow diagram illustrating process steps that may be performed to provide smooth and continuous navigation of images according to one or more further aspects of the present invention. 本発明の様々な態様による、イメージを滑らかにナビゲートするために実行することのできるさらなるプロセスステップを示す流れ図である。6 is a flow diagram illustrating additional process steps that can be performed to smoothly navigate an image in accordance with various aspects of the invention. 本発明の1つまたは複数のさらなる態様による、物理的スケーリングおよび非物理的スケーリングを示す、ピクセル単位の線幅対メートル/ピクセル単位のズームレベルを示す両対数グラフである。6 is a log-log graph showing line width in pixels vs. zoom level in pixels / pixel, illustrating physical scaling and non-physical scaling, according to one or more further aspects of the present invention. 図37の物理的スケーリングおよび非物理的スケーリングの変形形態を示す両対数グラフである。FIG. 38 is a log-log graph showing a variation of the physical and non-physical scaling of FIG. その端点がピクセル座標に正確にセンタリングされたアンチエイリアシングされた垂直線を示す図である。FIG. 4 shows an anti-aliased vertical line whose endpoints are accurately centered on pixel coordinates. 端点が正確なピクセル座標になるように位置決めされてはいない、傾いたアンチエイリアシングされた線を示す図である。FIG. 6 shows a tilted anti-aliased line that is not positioned so that the endpoints are in exact pixel coordinates. 増分線幅を示す水平線と、2つの隣接する垂直線の間のインターバルにまたがる線幅が2ピクセルを超えて変化しないように間隔をおかれた垂直線とを含む、図37の線幅対ズームレベルを示す両対数グラフである。The line width versus zoom of FIG. 37 including a horizontal line indicating incremental line width and a vertical line spaced so that the line width across the interval between two adjacent vertical lines does not change more than two pixels It is the log-log graph which shows a level. 本発明の1つまたは複数の実施形態による、キャッシュ内でのキャッシュオブジェクトの使用の新しさの関数としてキャッシュ内の個々のキャッシュオブジェクトのデータストレージサイズを示すグラフである。4 is a graph illustrating the data storage size of individual cache objects in the cache as a function of the freshness of use of the cache objects in the cache, according to one or more embodiments of the invention. 本発明の1つまたは複数の実施形態による、合計されるキャッシュオブジェクトの個数「N」に対してプロットされた、キャッシュ内のキャッシュオブジェクトによって占められるデータストレージスペースの累積和を示すグラフである。6 is a graph showing the cumulative sum of data storage space occupied by cache objects in a cache plotted against the number of cache objects “N” to be summed, according to one or more embodiments of the invention. 本発明の1つまたは複数の実施形態による、複数のキャッシュオブジェクトを含むデータキャッシュを示すブロック図である。FIG. 3 is a block diagram illustrating a data cache including a plurality of cache objects according to one or more embodiments of the invention. キャッシュオブジェクトが本発明の1つまたは複数の実施形態に従ってサイズを変更されている、図44のデータキャッシュを示すブロック図である。FIG. 45 is a block diagram illustrating the data cache of FIG. 44 in which the cache object has been resized according to one or more embodiments of the present invention. アクセスされたキャッシュオブジェクトが、本発明の1つまたは複数の実施形態に従ってサイズを変更され、キャッシュに復元されている、図45のデータキャッシュを示すブロック図である。FIG. 46 is a block diagram illustrating the data cache of FIG. 45 in which the accessed cache object has been resized and restored to the cache in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、データキャッシュ内のキャッシュオブジェクトにアクセスし、データキャッシュを更新する方法を示す流れ図である。3 is a flow diagram illustrating a method for accessing a cache object in a data cache and updating the data cache, according to one or more embodiments of the invention. 本発明の1つまたは複数の実施形態による使用のために適合可能なコンピューティングシステムを示すブロック図である。1 is a block diagram illustrating a computing system that is adaptable for use in accordance with one or more embodiments of the present invention. 白色が0の数値を有し、黒色が255の数値を有する、本発明の1つまたは複数の実施形態による生ASCIIエンコーディングを使用する「ユリシーズ」のフルテキストのテキストイメージを示す図である。FIG. 6 illustrates a “Ulysses” full-text text image using raw ASCII encoding according to one or more embodiments of the present invention, where white has a numeric value of 0 and black has a numeric value of 255. 本発明の1つまたは複数の実施形態に従って生ASCIIを使用してエンコードされたユリシーズの最初の5章のテキストイメージを示す図である。FIG. 6 illustrates a first five chapter text image of Ulysses encoded using raw ASCII according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による頻度順エンコーディングを使用してエンコードされたユリシーズの最初の5章のテキストイメージを示す図である。FIG. 6 illustrates a first five chapter text image of Ulysses encoded using frequency-order encoding according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態と共に使用するために適合可能とすることができるコンピューティングシステムを示すブロック図である。FIG. 6 is a block diagram illustrating a computing system that can be adapted for use with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による複数のコンピュータごとのイメージデータの通信を可能にするために接続することのできるシステムを示すブロック図である。FIG. 2 is a block diagram illustrating a system that can be connected to enable communication of image data for multiple computers according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、その中に少なくとも2つの関心領域を有するイメージを示すブロック図である。FIG. 6 is a block diagram illustrating an image having at least two regions of interest therein according to one or more embodiments of the invention. 本発明の1つまたは複数の実施形態による、本明細書で開示されるテクノロジの諸態様を用いる「仮想ブック」を示すブロック図である。FIG. 3 is a block diagram illustrating a “virtual book” using aspects of the technology disclosed herein, according to one or more embodiments of the invention. 本発明の1つまたは複数の実施形態による図55の仮想ブックの3次元バージョンを示す図である。FIG. 56 illustrates a three-dimensional version of the virtual book of FIG. 55 according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態による、1つまたは複数のポータブルデバイスと1つまたは複数の他のコンピュータとの間のイメージデータ通信を管理するシステムを示すブロック図である。1 is a block diagram illustrating a system for managing image data communication between one or more portable devices and one or more other computers in accordance with one or more embodiments of the invention. FIG. 既存の手法を用いる不完全なイメージデータダウンロードの結果を示す図である。It is a figure which shows the result of incomplete image data download using the existing method. 本発明の1つまたは複数の実施形態による不完全なイメージデータダウンロードの結果を示す図である。FIG. 4 illustrates incomplete image data download results according to one or more embodiments of the invention. 本発明の1つまたは複数の実施形態による、1つの物理ディスプレイ(スクリーン)および2つの仮想ディスプレイを含むことができる「共通空間」を示すブロック図である。FIG. 6 is a block diagram illustrating a “common space” that may include one physical display (screen) and two virtual displays, according to one or more embodiments of the invention. 本発明の1つまたは複数の実施形態に従って1つのモンタージュに詰め込まれた1000枚を超えるイメージのコレクション(様々なサイズのデジタル化された地図のコレクション)を示す図である。FIG. 3 illustrates a collection of over 1000 images (a collection of digitized maps of various sizes) packed into a montage according to one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態に従ってランダム構成に動的に再配置された約3000枚のイメージのスナップショットを示す図である。FIG. 6 shows a snapshot of about 3000 images dynamically rearranged in a random configuration in accordance with one or more embodiments of the present invention. 本発明の1つまたは複数の実施形態と共に使用されるように適合させることができるコンピュータシステムを示すブロック図である。FIG. 7 is a block diagram illustrating a computer system that can be adapted for use with one or more embodiments of the present invention.

Claims (28)

プロキシサーバによってインターネットサイトにアクセスすることと、
前記インターネットサイトからのイメージデータを複数解像度表現に変換することと、
前記複数解像度表現の前記イメージデータをクライアントデバイスに送信することと
を含むことを特徴とする方法。
Accessing internet sites through a proxy server;
Converting image data from the Internet site into a multi-resolution representation;
Transmitting the image data of the multi-resolution representation to a client device.
前記クライアントデバイスによってウェブページをナビゲートすること
をさらに含むことを特徴とする請求項1に記載の方法。
The method of claim 1, further comprising navigating a web page by the client device.
前記ナビゲートすることは、
(a)前記プロキシサーバによって前記インターネットサイトのイメージデータをナビゲートすることと、
(b)前記クライアントデバイスによって前記複数解像度イメージデータをナビゲートすることであって、ステップ(a)の前記ナビゲートすることおよびステップ(b)の前記ナビゲートすることは、実質的に同時に発生すること
を含むことを特徴とする請求項2に記載の方法。
The navigating is
(A) navigating image data of the Internet site by the proxy server;
(B) navigating the multi-resolution image data by the client device, wherein the navigating in step (a) and the navigating in step (b) occur substantially simultaneously. The method of claim 2, comprising:
前記ナビゲートすることは、
前記ウェブページの少なくとも実質的に全体の複数解像度イメージデータを前記プロキシサーバで格納することと、
前記格納された複数解像度イメージデータを前記クライアントデバイスによってナビゲートすることと
を含むことを特徴とする請求項2に記載の方法。
The navigating is
Storing at least substantially the entire multi-resolution image data of the web page at the proxy server;
The method of claim 2, comprising navigating the stored multi-resolution image data by the client device.
前記変換するステップは、
前記ナビゲートすることが必要とする前記インターネットサイトイメージデータを前記クライアントデバイスによって連続的に変換すること
を含むことを特徴とする請求項2に記載の方法。
The converting step includes:
3. The method of claim 2, comprising: continuously converting the Internet site image data that needs to be navigated by the client device.
前記変換するステップは、
インターネットサイトからの選択されたイメージデータが前記クライアントデバイスナビゲーションに必要になる前に、前記プロキシサーバによって前記選択されたイメージデータを事前に変換することと、
前記事前に変換されたイメージデータを前記プロキシサーバで格納することと
を含むことを特徴とする請求項2に記載の方法。
The converting step includes:
Pre-converting the selected image data by the proxy server before the selected image data from an internet site is needed for the client device navigation;
3. The method of claim 2, comprising storing the pre-converted image data at the proxy server.
前記格納されたイメージデータを、前記クライアントデバイスのナビゲーションによる必要に応じて前記クライアントデバイスに送信すること
をさらに含むことを特徴とする請求項6に記載の方法。
The method of claim 6, further comprising: transmitting the stored image data to the client device as needed by navigation of the client device.
前記格納された事前に変換されたイメージデータを前記クライアントデバイスに送信する前に、前記格納された事前に変換されたイメージデータは古くないことを保証すること
をさらに含むことを特徴とする請求項6に記載の方法。
The method of claim 1, further comprising: ensuring that the stored pre-converted image data is not stale before sending the stored pre-converted image data to the client device. 6. The method according to 6.
前記保証することは、
前記事前に変換されたイメージデータのタイムスタンプおよびチェックサムのうちの1つを、前記インターネットサイトから発する対応するイメージデータのタイムスタンプおよびチェックサムのうちのそれぞれの1つと比較すること
を含むことを特徴とする請求項8に記載の方法。
The guarantee is that
Comparing one of the time stamp and checksum of the pre-converted image data with a respective one of the time stamp and checksum of the corresponding image data originating from the Internet site. 9. The method of claim 8, wherein:
前記事前に変換するステップは、
少なくとも1つのウェブページのイメージデータを前記プロキシサーバによって変換することと、
前記少なくとも1つのウェブページの前記変換されたイメージデータを前記プロキシサーバで格納することと
を含むことを特徴とする請求項6に記載の方法。
The step of converting in advance includes
Converting image data of at least one web page by the proxy server;
7. The method of claim 6, comprising storing the converted image data of the at least one web page at the proxy server.
前記クライアントデバイスと前記インターネットサイトとの間の双方向対話型通信を可能にすること
をさらに含むことを特徴とする請求項2に記載の方法。
The method of claim 2, further comprising enabling interactive communication between the client device and the Internet site.
前記対話型通信は、
前記クライアントデバイスから前記プロキシサーバへナビゲーションコマンドを送信すること
を含むことを特徴とする請求項11に記載の方法。
The interactive communication is:
The method of claim 11, comprising sending a navigation command from the client device to the proxy server.
前記クライアントデバイスに関するダイナミックインターネットグラフィックスを前記プロキシサーバによってエミュレートすること
をさらに含むことを特徴とする請求項2に記載の方法。
The method of claim 2, further comprising: emulating dynamic internet graphics for the client device by the proxy server.
前記エミュレートするステップは、
ダイナミックHTML(ハイパーテキストマークアップ言語)と、
アプレットと
のうちの少なくとも1つをエミュレートすることを含むことを特徴とする請求項13に記載の方法。
The emulating step comprises:
Dynamic HTML (Hypertext Markup Language),
The method of claim 13, comprising emulating at least one of an applet.
前記ナビゲートすることは、
前記ウェブページの少なくとも一部を見る解像度レベルを前記クライアントデバイスで選択すること
を含むことを特徴とする請求項2に記載の方法。
The navigating is
The method of claim 2, comprising: selecting at the client device a resolution level for viewing at least a portion of the web page.
前記ナビゲートすることは、
前記クライアントデバイスでの表示のために前記ウェブページの領域を選択すること
を含むことを特徴とする請求項2に記載の方法。
The navigating is
The method of claim 2, comprising selecting an area of the web page for display on the client device.
前記ナビゲートすることは、
前記ウェブページの前記領域を見る解像度を選択すること
をさらに含むことを特徴とする請求項16に記載の方法。
The navigating is
The method of claim 16, further comprising: selecting a resolution for viewing the region of the web page.
前記ナビゲートすることは、
前記クライアントデバイスで見られる前記ウェブページの複数の部分を選択すること
を含むことを特徴とする請求項2に記載の方法。
The navigating is
The method of claim 2, comprising selecting a plurality of portions of the web page that are viewed on the client device.
前記ナビゲートすることは、
前記複数のウェブページ部分を見る複数のそれぞれの解像度を選択すること
をさらに含むことを特徴とする請求項18に記載の方法。
The navigating is
The method of claim 18 further comprising: selecting a plurality of respective resolutions for viewing the plurality of web page portions.
前記複数解像度イメージデータを前記ナビゲートすることは、
前記複数解像度イメージデータをパンすること
を含むことを特徴とする請求項2に記載の方法。
Navigating the multi-resolution image data,
The method of claim 2, comprising panning the multi-resolution image data.
前記複数解像度イメージデータを前記ナビゲートすることは、
前記複数解像度イメージデータをズームインすること
を含むことを特徴とする請求項2に記載の方法。
Navigating the multi-resolution image data,
The method of claim 2, comprising zooming in the multi-resolution image data.
クライアントデバイスと、
前記クライアントデバイスおよびインターネットサイトと通信し、前記クライアントデバイスと前記インターネットサイトとの間の中間物として働くプロキシサーバであって、前記プロキシサーバは、前記インターネットサイトからのイメージデータを複数解像度ビジュアルデータフォーマットに変換するように動作可能である、プロキシサーバと
を含むことを特徴とする装置。
A client device;
A proxy server that communicates with the client device and an Internet site and acts as an intermediate between the client device and the Internet site, the proxy server converting image data from the Internet site into a multi-resolution visual data format An apparatus comprising: a proxy server operable to convert.
前記複数解像度ビジュアルデータフォーマットは、JPEG2000であることを特徴とする請求項22に記載の装置。   The apparatus of claim 22, wherein the multi-resolution visual data format is JPEG2000. 前記クライアントデバイスは、携帯電話機であり、前記携帯電話機は、
前記複数解像度ビジュアルデータフォーマット内のイメージデータをナビゲートする少なくとも1つの機構
を含むことを特徴とする請求項2に記載の装置。
The client device is a mobile phone, and the mobile phone
The apparatus of claim 2, including at least one mechanism for navigating image data in the multi-resolution visual data format.
前記機構は、タッチパッドであり、前記タッチパッドは、前記複数解像度ビジュアルデータフォーマット内のイメージデータをパンすることを可能にすることを特徴とする請求項24に記載の装置。   25. The apparatus of claim 24, wherein the mechanism is a touchpad, and the touchpad allows panning of image data within the multi-resolution visual data format. 前記機構は、前記複数解像度ビジュアルデータフォーマット内のイメージデータへのズームインを可能にすることを特徴とする請求項22に記載の装置。   The apparatus of claim 22, wherein the mechanism allows zooming in on image data within the multi-resolution visual data format. ズームする前記機構は、前記クライアントデバイスのユーザによって回転可能なローラーを含むことを特徴とする請求項26に記載の装置。   27. The apparatus of claim 26, wherein the mechanism for zooming includes a roller that is rotatable by a user of the client device. 前記クライアントデバイスは、携帯電話機、PDA(携帯情報端末)、ノートブックコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、およびテレビジョンセットからなる群のうちの1つであることを特徴とする請求項22に記載の装置。   23. The client device according to claim 22, wherein the client device is one of a group consisting of a mobile phone, a PDA (Personal Digital Assistant), a notebook computer, a desktop computer, a tablet computer, and a television set. apparatus.
JP2008504294A 2005-03-29 2006-03-29 System and method for transferring web page data Pending JP2008535098A (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US66614205P 2005-03-29 2005-03-29
US67051005P 2005-04-12 2005-04-12
US11/141,958 US7546419B2 (en) 2004-06-01 2005-06-01 Efficient data cache
US11/247,513 US7912299B2 (en) 2004-10-08 2005-10-11 System and method for efficiently encoding data
US11/252,181 US7930434B2 (en) 2003-03-05 2005-10-17 System and method for managing communication and/or storage of image data
PCT/US2006/011405 WO2006105158A2 (en) 2005-03-29 2006-03-29 System and method for transferring web page data

Publications (1)

Publication Number Publication Date
JP2008535098A true JP2008535098A (en) 2008-08-28

Family

ID=39758514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008504294A Pending JP2008535098A (en) 2005-03-29 2006-03-29 System and method for transferring web page data

Country Status (1)

Country Link
JP (1) JP2008535098A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011070734A1 (en) * 2009-12-07 2011-06-16 パナソニック株式会社 Format conversion server, reproduction device and information reproduction system
JP2014521150A (en) * 2011-07-06 2014-08-25 マイクロソフト コーポレーション Predictive multi-layer cache architecture
KR101446234B1 (en) 2013-06-28 2014-10-02 동의대학교 산학협력단 Apparatus and method for reducing traffic in communicating between a ship and shore
US9621629B2 (en) 2011-07-05 2017-04-11 Rakuten, Inc. Content distribution system, cache server, and content distribution method
US11526961B2 (en) * 2019-07-10 2022-12-13 Canon Kabushiki Kaisha Information processing method, image processing apparatus, and storage medium that selectively perform upsampling to increase resolution to image data included in album data

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242644A (en) * 1997-09-11 1999-09-07 Internatl Business Mach Corp <Ibm> Data processing system, method and system for document display, and document display control method
JP2000222276A (en) * 1999-01-29 2000-08-11 Internatl Business Mach Corp <Ibm> System, method, and computer program component for changing web content to be displayed by general computing device
JP2002509662A (en) * 1996-02-21 2002-03-26 インタラクティブ ピクチャーズ コーポレイション Video view device using still images
JP2002287868A (en) * 2001-03-27 2002-10-04 Sony Corp Information processor, its display control method, program and providing medium
JP2003199100A (en) * 2001-12-26 2003-07-11 Toshiba Corp Video stream transmitter and video stream display device
JP2003308277A (en) * 2002-04-17 2003-10-31 Sony Corp Terminal device, data transmitting device, and system and method for transmitting and receiving data
JP2004046879A (en) * 2002-07-15 2004-02-12 Hewlett-Packard Development Co Lp System, method and format for scalable encoded media delivery
JP2004208213A (en) * 2002-12-26 2004-07-22 Hitachi Ltd Video signal processing system, video signal processor constituting the system, portable terminal, video signal encoding device, video signal recording device, video signal encoding/decoding device, as well as monitoring system using these devices
JP2004220260A (en) * 2003-01-14 2004-08-05 Nec Access Technica Ltd Web page browsing system and image distribution server
JP2004526227A (en) * 2000-12-22 2004-08-26 ジェネリック メディア インコーポレーティッド Distributed on-demand media conversion system and method
JP2005045666A (en) * 2003-07-24 2005-02-17 Mitsubishi Electric Corp Transcoder
JP2005527881A (en) * 2001-11-08 2005-09-15 ライトサーフ テクノロジーズ インコーポレイテッド System and method for delivering media to a number of different client devices based on their capabilities

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002509662A (en) * 1996-02-21 2002-03-26 インタラクティブ ピクチャーズ コーポレイション Video view device using still images
JPH11242644A (en) * 1997-09-11 1999-09-07 Internatl Business Mach Corp <Ibm> Data processing system, method and system for document display, and document display control method
JP2000222276A (en) * 1999-01-29 2000-08-11 Internatl Business Mach Corp <Ibm> System, method, and computer program component for changing web content to be displayed by general computing device
JP2004526227A (en) * 2000-12-22 2004-08-26 ジェネリック メディア インコーポレーティッド Distributed on-demand media conversion system and method
JP2002287868A (en) * 2001-03-27 2002-10-04 Sony Corp Information processor, its display control method, program and providing medium
JP2005527881A (en) * 2001-11-08 2005-09-15 ライトサーフ テクノロジーズ インコーポレイテッド System and method for delivering media to a number of different client devices based on their capabilities
JP2003199100A (en) * 2001-12-26 2003-07-11 Toshiba Corp Video stream transmitter and video stream display device
JP2003308277A (en) * 2002-04-17 2003-10-31 Sony Corp Terminal device, data transmitting device, and system and method for transmitting and receiving data
JP2004046879A (en) * 2002-07-15 2004-02-12 Hewlett-Packard Development Co Lp System, method and format for scalable encoded media delivery
JP2004208213A (en) * 2002-12-26 2004-07-22 Hitachi Ltd Video signal processing system, video signal processor constituting the system, portable terminal, video signal encoding device, video signal recording device, video signal encoding/decoding device, as well as monitoring system using these devices
JP2004220260A (en) * 2003-01-14 2004-08-05 Nec Access Technica Ltd Web page browsing system and image distribution server
JP2005045666A (en) * 2003-07-24 2005-02-17 Mitsubishi Electric Corp Transcoder

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011070734A1 (en) * 2009-12-07 2011-06-16 パナソニック株式会社 Format conversion server, reproduction device and information reproduction system
CN102648634A (en) * 2009-12-07 2012-08-22 松下电器产业株式会社 Format conversion server, reproduction device and information reproduction system
JPWO2011070734A1 (en) * 2009-12-07 2013-04-22 パナソニック株式会社 Format conversion server, playback device, and information playback system
US9621629B2 (en) 2011-07-05 2017-04-11 Rakuten, Inc. Content distribution system, cache server, and content distribution method
JP2014521150A (en) * 2011-07-06 2014-08-25 マイクロソフト コーポレーション Predictive multi-layer cache architecture
US9785608B2 (en) 2011-07-06 2017-10-10 Microsoft Technology Licensing, Llc Predictive, multi-layer caching architectures
KR101446234B1 (en) 2013-06-28 2014-10-02 동의대학교 산학협력단 Apparatus and method for reducing traffic in communicating between a ship and shore
US11526961B2 (en) * 2019-07-10 2022-12-13 Canon Kabushiki Kaisha Information processing method, image processing apparatus, and storage medium that selectively perform upsampling to increase resolution to image data included in album data

Similar Documents

Publication Publication Date Title
JP4831071B2 (en) System and method for managing communication and / or storage of image data
AU2006230233B2 (en) System and method for transferring web page data
CA2812008C (en) Methods and apparatus for navigating an image
JP2007529786A (en) Method for encoding and processing geographic information or other vector data as an image
CN101501664A (en) System and method for transferring web page data
US6650326B1 (en) Method of handling context during scaling with a map display
US9552129B2 (en) Interactive visual representation of points of interest data
US7222306B2 (en) Methods, systems, and programming for computer display of images, text, and/or digital content
US6785667B2 (en) Method and apparatus for extracting data objects and locating them in virtual space
US7290223B2 (en) Interface for displaying and exploring hierarchical information
US7353114B1 (en) Markup language for an interactive geographic information system
US20020089550A1 (en) Method and apparatus for organizing hierarchical screens in virtual space
US20020075311A1 (en) Method for viewing information in virtual space
US20020085035A1 (en) Method and apparatus for creating custom formats for viewing information in virtual space
WO2004109446A2 (en) A system and method for multiple node display
Möser et al. Context aware terrain visualization for wayfinding and navigation
JP4861978B2 (en) Method and apparatus for navigating images
JP2008535098A (en) System and method for transferring web page data
Sherlock et al. Interactive data styling and multifocal visualization for a multigrid web-based Digital Earth
WO2001080098A2 (en) Web browser plug-in providing 3d visualization
Buckalew et al. Oilfield Visualization on the PC Platform
Zhao et al. Image-based highly interactive Web mapping for geo-referenced data publishing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111104