JP2010033611A - High-efficiency client server, and network image view server using tiling and caching architecture - Google Patents
High-efficiency client server, and network image view server using tiling and caching architecture Download PDFInfo
- Publication number
- JP2010033611A JP2010033611A JP2009257987A JP2009257987A JP2010033611A JP 2010033611 A JP2010033611 A JP 2010033611A JP 2009257987 A JP2009257987 A JP 2009257987A JP 2009257987 A JP2009257987 A JP 2009257987A JP 2010033611 A JP2010033611 A JP 2010033611A
- Authority
- JP
- Japan
- Prior art keywords
- view
- tile
- tiles
- image
- server
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000004043 responsiveness Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 230000000750 progressive effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000227425 Pieris rapae crucivora Species 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Abstract
Description
本発明は、ネットワークサーバ上に記憶されているディジタルドキュメントの画像のワークステーションによる閲覧に関し、特に、クライアント/サーバアーキテクチャを使用する大型ディジタルドキュメント画像を閲覧することに関する。 The present invention relates to viewing by a workstation of an image of a digital document stored on a network server, and in particular to viewing a large digital document image using a client / server architecture.
ネットワーク接続環境内のワークステーションのための現行のディジタルドキュメント画像閲覧方法は、ネットワーク接続された画像ファイルサーバにアクセスするために、専用のワークステーションアプリケーションソフトウェアを使用する。画像の閲覧のために、このアプリケーションソフトウェアは、画像ファイル全体のコピーを画像ファイルサーバからネットワーク接続されたクライアントワークステーションに伝送する。この方法は、ネットワークの使用が非効率的であること、ワークステーション1台当たりのソフトウェア購入コストが高いこと、ワークステーション1台当たりのソフトウェア管理コストが高いこと、ワークステーションに対する演算負荷が高いこと、および、専用のソフトウェアが限られたタイプのワークステーションだけにしか利用できないことを含む、多くの制限を有する。他のネットワーク画像ビューワの中には、より最適化された画像伝送プロトコルを使用して画像閲覧を可能にするものもあるかも知れないが、こうしたビューワでは、専用のプロトコルと、専用のワークステーションソフトウェアとを使用することが不可欠である。 Current digital document image viewing methods for workstations in a networked environment use dedicated workstation application software to access a networked image file server. For image viewing, the application software transmits a copy of the entire image file from the image file server to a networked client workstation. This method is inefficient use of the network, high software purchase cost per workstation, high software management cost per workstation, high computational load on the workstation, And it has many limitations, including that dedicated software is available only for limited types of workstations. Some other network image viewers may allow image viewing using a more optimized image transmission protocol, but these viewers use dedicated protocols and dedicated workstation software. It is essential to use and.
本発明の目的は、専用のワークステーションソフトウェアを必要としない、コンピュータワークステーションにおいて画像閲覧するための、ネットワークサーバからグラフィック画像を取得する方法を提供することである。
本発明の別の目的は、ネットワークを効率的に使用し、それによってワークステーションからの要求に応答してより高速に画像を表示する、ネットワークサーバからグラフィック画像を取得する方法を提供することである。
It is an object of the present invention to provide a method for obtaining a graphic image from a network server for image viewing at a computer workstation that does not require dedicated workstation software.
Another object of the present invention is to provide a method for acquiring graphic images from a network server that efficiently uses the network, thereby displaying images faster in response to requests from workstations. .
本発明のさらに別の目的は、キャッシング機構を使用し、それによって、多数のクライアントがネットワークファイルサーバに同時にアクセスする時に、ネットワークファイルサーバ上のバランスのとれた負荷と、単一のクライアントに対するより短い応答時間とを実現する、ネットワークサーバからグラフィック画像を取得する方法を提供することである。 Yet another object of the present invention is to use a caching mechanism so that when multiple clients access the network file server simultaneously, a balanced load on the network file server and shorter for a single client. It is to provide a method for acquiring a graphic image from a network server that realizes response time.
本発明のさらに別の目的は、クライアントワークステーションに必要とされる計算リソースを最小化することである。
本発明のさらに別の目的は、グラフィック画像を記憶し、記憶装置から記憶済みのグラフィック画像の一部分を要求し、かつ、ワークステーション上に画像を迅速かつ効率的に表示する装置を提供することである。
Yet another object of the present invention is to minimize the computational resources required for a client workstation.
Yet another object of the present invention is to provide an apparatus for storing graphic images, requesting a portion of a stored graphic image from a storage device, and displaying the image on a workstation quickly and efficiently. is there.
本発明のさらに別の目的は、ネットワークサーバ上に記憶されているグラフィック画像の一部分を要求することと、この一部分をワークステーション上に表示することとを容易にするコンピュータプログラムを提供することである。 Yet another object of the present invention is to provide a computer program that facilitates requesting a portion of a graphic image stored on a network server and displaying the portion on a workstation. .
これらの目的と、後述の説明から明らかになる他の目的とが、本発明によって実現され、本発明は、その一側面において、コンピュータネットワークファイルサーバからグラフィック画像を識別し配送する方法であって、ディジタルドキュメント画像ファイルが記憶されているネットワークファイルサーバを設けることを含み、このサーバが、ユニフォームリソースロケータ(URL)コードの形でWebブラウザから要求を受け取り、要求されている画像ファイルおよびフォーマット選択を識別し、要求された画像を格子状のビュータイルに構成し、要求元のWebブラウザに対して、ビュータイルに関するHTMLコードを伝送するに適する、 方法を含む。 These objects and other objects that will become apparent from the following description are realized by the present invention. In one aspect, the present invention is a method for identifying and delivering graphic images from a computer network file server, comprising: Including providing a network file server in which the digital document image file is stored, which receives a request from a web browser in the form of a uniform resource locator (URL) code and identifies the requested image file and format selection. And a method suitable for transmitting the HTML code related to the view tile to the requesting Web browser.
本発明の別の側面は、ディジタルドキュメント画像ファイルを記憶するに適し、画像ファイルおよびフォーマットを識別するビューを特定するURLコードの形でクライアントのWebブラウザからの要求を受け取り、要求されているビューを構成し、この結果として得られたビューに関するHTMLコードを表示のためにクライアントのWebブラウザに伝送するようにプログラムされている、コンピュータネットワークサーバを含む装置を含む。 Another aspect of the present invention is adapted to store a digital document image file, receives a request from a client web browser in the form of a URL code identifying a view identifying the image file and format, and displays the requested view. A device including a computer network server configured and programmed to transmit HTML code relating to the resulting view to a client web browser for display.
本発明のさらに別の側面は、記憶装置内に記憶されているディジタルドキュメント画像ファイルの特定のビューを求めるワークステーションからのHTTP要求を解釈し、ディジタルドキュメント画像ファイルを検索し、要求されている画像ビューに対応する格子状のビュータイルを構成し、ワークステーションにサーバから伝送することが可能である形式で格子状のビュータイルに関するHTMLコードを計算するコードを含む、磁気媒体または光学媒体上に記録されている、ネットワークサーバで使用するためのコンピュータプログラムである。 Yet another aspect of the present invention interprets an HTTP request from a workstation for a specific view of a digital document image file stored in a storage device, retrieves the digital document image file, and requests the requested image. Record on magnetic or optical media, including code that configures a grid view tile corresponding to the view and calculates HTML code for the grid view tile in a form that can be transmitted from the server to the workstation A computer program for use with a network server.
本明細書に組み入れられておりかつ本明細書の一部分を構成する添付図面が、本発明の実施様態を例示し、後述の一般的な説明と共に、本発明の原理を説明する役割を果たす。 The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the following general description, serve to explain the principles of the invention.
以下では、添付図面に一例を示してある本発明の現時点で好ましい実施形態を詳細に説明する。この好ましい実施形態は、Intel Pentium(登録商標) Pro 200MHzプロセッサと、少なくとも128MBのRAMと、少なくとも4GBのハードディスク容量を伴うUltra−wide Fast SCSIディスクコントローラと、LAN/WAN/Internetネットワークインタフェースコントローラとから成るサーバPCである。このサーバは、NT File Systemを伴うWindows(登録商標) NT Server Version 4オペレーティングシステムと、Microsoft Internet Information Server Version 3と、ネットワーク画像サーバソフトウェアとを実行する。サーバとクライアントは、HTTP(Web)プロトコルをサポートするようにTCP/IPネットワークプロトコルで環境設定されている。クライアント側には、Webブラウザ以外のソフトウェアは不要である。好ましいWebブラウザは、Internet Explorer 3.0以上またはNetscape 3.0以上である。
Reference will now be made in detail to the presently preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. This preferred embodiment consists of an Intel Pentium Pro 200 MHz processor, at least 128 MB of RAM, an Ultra-wide Fast SCSI disk controller with at least 4 GB hard disk capacity, and a LAN / WAN / Internet network interface controller. It is a server PC. This server runs Windows® NT Server
最初に図1を参照すると、クライアントワークステーション10、20を含むネットワークが、ネットワーク接続を経由して、ネットワーク画像ビューサーバ100に接続されており、このネットワーク画像ビューサーバは、ネットワークサーバインタフェース、好ましくは、ハイパーテキストトランスファープロトコル(HTTP)を使用するWebサーバ30と、要求ブローカ(request broker)40と、フォアグラウンドビューコンポーザ50と、ビュータイルキャッシュ60と、バックグラウンドビューコンポーザ80と、ガベージコレクタ70と、画像ファイルを有するドキュメントリポジトリ90とを含む。
Referring initially to FIG. 1, a network including
ネットワーク画像ビューサーバ、すなわち、クライアントワークステーション、すなわち、「ワークステーション」100は、例えばプロセッサとI/Oとメモリとディスク記憶装置とネットワークインタフェースとで構成されているパーソナルコンピュータのような、コンピュータにおいて実現されることが可能である。ネットワーク画像ビューサーバ100は、クライアントワークステーション10、20とのネットワークHTTPプロトコルリンクを実現するためのネットワークサーバオペレーティングシステムとWebサーバソフトウェア30とによって構成されている。典型的なネットワークは、1つ(場合によっては2つ以上)のネットワークサーバによってサービスを提供される多くのワークステーションを含み、サーバは、ワークステーションによってアクセス可能なファイルを維持するためのライブラリとして機能する。
A network image view server, or client workstation, or “workstation” 100 is implemented in a computer, such as a personal computer comprised of a processor, I / O, memory, disk storage, and a network interface. Can be done. The network
本発明の方法の一実施形態による動作では、クライアントワークステーション上でWebブラウザソフトウェアを使用することによって、ユーザが、HTTP言語を使用して特別な形式のユニフォームリソースロケータ(URL)コードによって指定されるスケールと領域を有する画像ビューを要求し(110(図2))、Webサーバは、このURLコードを、画像ビュー構成ソフトウェアに送られ、閲覧される画像ファイルとビューのスケールと閲覧画像の領域とを識別する要求として復号化することが可能である。ネットワーク画像サーバは、事前計算されたハイパーリンクを含むHTMLデータをクライアントに送り、その結果として、画像の特定の区域上をクリックしてハイパーリンクを辿ることによって、画像の個々の区域を配送する特定の要求、または、画像の解像度を変化させる特定の要求がサーバに送られることになる。この要求の結果として得られるHTMLは、さらに、ユーザが行ってもよい他の選択に関する事前計算されたハイパーリンクも含むだろう。 In operation according to an embodiment of the method of the present invention, by using web browser software on a client workstation, a user is specified by a special form of uniform resource locator (URL) code using the HTTP language. An image view having a scale and a region is requested (110 (FIG. 2)), and the Web server sends this URL code to the image view configuration software, and the image file to be viewed, the scale of the view, the region of the browsed image, Can be decrypted as a request to identify. The network image server sends HTML data containing pre-computed hyperlinks to the client, and as a result, specific areas that deliver individual areas of the image by clicking on specific areas of the image and following the hyperlinks Or a specific request to change the resolution of the image is sent to the server. The resulting HTML of this request will also include pre-calculated hyperlinks regarding other selections that the user may make.
コードはネットワークを経由してネットワークサーバに送られ、ネットワークサーバでは、Webサーバソフトウェアが要求を解釈し(120)、ビュー要求URLをコモンゲートウェイインタフェース(CGI)を経由してフォアグラウンドビューコンポーザソフトウェアに送り、このコモンゲートウェイインタフェース(CGI)は、Webサーバソフトウェアに対して外部のHTTP要求を処理することを可能にするように設計されており、それによって、Webサーバソフトウェアは、URLによって求められているスケールと領域とを有する要求された特定のビューを取得するように要求ブローカに命令する(130)。フォアグラウンドビューコンポーザが初期化され(140)、要求されたビューをネットワークサーバ上の記憶装置から回収した後に、この要求されたビューを構成する(150)。フォアグラウンドビューコンポーザソフトウェアはビュー要求を解釈し、そのビューのためにどのビュータイルが必要とされているかを計算し、要求を満たすために必要なビュータイルが既に計算されてワークステーションのキャッシュメモリ内に記憶されていない場合には、そのビューのために必要とされるビュータイルを生成し(160)、その次に、Webブラウザに対してビュー構成物を記述するためのハイパーテキストマークアップランゲージ(HTML)出力ファイルを生成し、一方、要求を満たすために必要なビュータイルが既に計算されてワークステーションのキャッシュメモリ内に記憶されている場合には、既に計算済みのビュータイルがWebブラウザによって回収される。どちらの場合にも、フォアグラウンドビューコンポーザは出力をフォーマットし(170)、その次に、そのフォーマット済みの出力をWebサーバに送るバックグラウンドビューコンポーザを初期化し(180)、一方、バックグラウンドビューコンポーザは、フォーマット済みの出力を要求元のワークステーション10上のWebブラウザにネットワークを経由して伝送し(200)、この要求元のブラウザは、サーバから取り出された新たに計算したビュータイル(220)と組み合わせて、既にキャッシング済みのあらゆるビュータイルを表示する(210)。
The code is sent over the network to the network server where the web server software interprets the request (120) and sends the view request URL to the foreground view composer software via the common gateway interface (CGI), This common gateway interface (CGI) is designed to allow web server software to process external HTTP requests, so that the web server software can be scaled to the scale required by the URL. The request broker is instructed to obtain the requested specific view with the region (130). After the foreground view composer is initialized (140) and retrieves the requested view from storage on the network server, it configures the requested view (150). The foreground view composer software interprets the view request, calculates which view tiles are needed for that view, and the view tiles needed to satisfy the request are already calculated in the workstation's cache memory. If not, generate the view tiles needed for that view (160) and then hypertext markup language (HTML) to describe the view construct to the web browser. ) If an output file is generated while the view tiles needed to satisfy the request have already been calculated and stored in the workstation cache memory, the already calculated view tiles will be retrieved by the web browser The In either case, the foreground view composer formats the output (170) and then initializes the background view composer that sends the formatted output to the web server (180), while the background view composer The formatted output is transmitted to the Web browser on the requesting
ビュータイルの生成(160)は画像タイル化ルーチンによって取り扱われ、この画像タイル化ルーチンは、画像としてレンダリングされた特定のページを、ビュータイルA1、A2、B1等と呼ばれるより小さな画像の格子(図3A)(すなわち、画像ビューサーバの分脈においてはタイル)に分割する。ワークステーション上のブラウザソフトウェアから受け取ったURL要求にしたがって、これらのタイルを、特定の画像の個々の解像度(図3B)を得るように計算する。タイル化により、画像ビューサーバとクライアントワークステーションにおけるブラウザ10とにおける効果的な画像データのキャッシングが可能になる(60)。
View tile generation (160) is handled by an image tiling routine that renders a particular page rendered as an image into a smaller image grid called view tiles A1, A2, B1, etc. 3A) (ie tiles in the image view server branch). According to the URL request received from the browser software on the workstation, these tiles are calculated to obtain the individual resolution of a particular image (FIG. 3B). Tiling enables effective image data caching in the image view server and
好ましいビュータイルの形式は128×128画素のGIF画像ファイルである。GIF画像ファイル形式は、Webブラウザの互換性と画像ファイルサイズとの点で好ましい。GIF画像ファイル形式は、画像Webブラウザにおいて最も広くサポートされている形式であり、したがって、画像ビューサーバに最大のクライアント互換性を与える。GIF画像形式は、損失の少ない画像データ圧縮、適度なデータ圧縮比率、カラーとグレースケールのサポート、および、ビュータイルサイズの選択に関連する比較的小さい画像ファイルヘッダという望ましい特性を有する。2,048バイトの白黒ビュータイルの生画像データサイズと、4:1の典型的なGIF圧縮との場合は、1つのビュータイルの圧縮データは約512バイトである。TIFFとJPEGのような多くの画像ファイル形式の場合には、画像ファイルヘッダ(および、データインデックスのような他のオーバヘッド情報)は、ビュータイルのような小さな画像の場合に、画像データ自体と同じ大きさか、または、この画像データよりも大きいが、一方、白黒画像のGIFヘッダはGIF画像ファイルに対してわずかに約31バイトを付加するにすぎない。Portable Network Graphics(PNG)のような別のビュータイル形式に対してネイティブなブラウザのサポートが一般的になってきているので、こうした形式を使用してもよい。 The preferred view tile format is a 128 × 128 pixel GIF image file. The GIF image file format is preferable in terms of Web browser compatibility and image file size. The GIF image file format is the most widely supported format for image web browsers, thus providing maximum client compatibility to the image view server. The GIF image format has the desirable characteristics of low loss image data compression, reasonable data compression ratios, color and gray scale support, and relatively small image file headers associated with view tile size selection. In the case of the raw image data size of a black and white view tile of 2,048 bytes and the typical GIF compression of 4: 1, the compressed data of one view tile is about 512 bytes. For many image file formats such as TIFF and JPEG, the image file header (and other overhead information such as data index) is the same as the image data itself for small images such as view tiles. While larger or larger than this image data, the GIF header for black and white images only adds about 31 bytes to the GIF image file. As native browser support has become common for other view tile formats such as Portable Network Graphics (PNG), such formats may be used.
128画素というビュータイルのサイズは、ビュータイルの粒状感とビュータイルのオーバヘッドとの間の適切な妥協点である。128画素のビュータイルの粒状感が、標準的な画像Webブラウザとレベル2のHTMLフォーマッティングとによって得られる最小ビュー移動距離(パン距離)を決定する。これは、200画素/インチの画像を1対1のスケールで目視する時に、0.64インチのグリッド上でビュー位置を調整することを可能にする。ビュータイルのサイズを縮小することによって、ビュー位置決めのためのより精細なグリッドが実現されるが、ビュータイルのオーバヘッドが過大になるという問題が生じる。 A view tile size of 128 pixels is a good compromise between view tile graininess and view tile overhead. The 128 pixel view tile granularity determines the minimum view travel distance (pan distance) that can be obtained with a standard image web browser and level 2 HTML formatting. This makes it possible to adjust the view position on a 0.64 inch grid when viewing a 200 pixel / inch image on a one-to-one scale. By reducing the size of the view tile, a finer grid for view positioning is achieved, but the problem of excessive view tile overhead arises.
ビュータイルは、典型的には、128×128画素程度の画像ファイルである。表示されるビューが2:1に縮小される場合には、各々のビュータイルは、128×128画素に縮小された、256×256画素領域の画像ファイルである。使用可能な各々のスケールファクタ毎に、ビューを表すためのタイルの配列が存在する。固定サイズのビューのタイル化が、サーバとクライアントとにおけるキャッシング機構のより効率的な使用を可能にするので、有益である。例えば512×512画素のビューを例にあげよう。タイル化を行わない場合には、このビューは、Webブラウザによって表示される単一のGIFファイルで構成され、したがって、ユーザが256画素だけビューを移動させることを要求する場合には、512×512画素の新たなGIF画像を構成してWebブラウザに伝送する必要がある。タイル化を行う場合には、最初のビューにより16個のビュータイルが計算されてWebブラウザによる表示のために伝送される。256画素だけビューを移動することが要求される場合には、256×512画素の区域を表す8個のビュータイルを計算するだけで足りる。これに加えて、シフトしたビューでは、Webブラウザのキャッシュから得られる8個のビュータイルが再使用されるので、8個の新たなビュータイルをWebブラウザに伝送するだけで足りる。この例では、タイル化により、計算とデータ伝送を半分に減少させる。 A view tile is typically an image file of about 128 × 128 pixels. When the displayed view is reduced to 2: 1, each view tile is a 256 × 256 pixel area image file reduced to 128 × 128 pixels. For each available scale factor, there is an array of tiles to represent the view. Fixed-size view tiling is beneficial because it allows more efficient use of caching mechanisms at the server and client. Take, for example, a 512 × 512 pixel view. Without tiling, this view is composed of a single GIF file displayed by the web browser, so if the user requests to move the view by 256 pixels, it will be 512x512. It is necessary to construct a new GIF image of the pixel and transmit it to the Web browser. When tiling, 16 view tiles are calculated from the first view and transmitted for display by the web browser. If it is required to move the view by 256 pixels, it is sufficient to calculate 8 view tiles representing an area of 256 × 512 pixels. In addition to this, in the shifted view, eight view tiles obtained from the cache of the web browser are reused, so it is only necessary to transmit eight new view tiles to the web browser. In this example, tiling reduces computation and data transmission in half.
さらに、ビュータイル化により、次のビュー要求によって求められるかも知れないビュータイルを画像ビューサーバが効果的に事前計算することが可能になる。画像ビューサーバのバックグラウンドビューコンポーザは、シフトしたビューに対する要求を予測して、最も最近のビュー要求の周囲を囲むビュータイルを計算する。シフトしたビューに対する要求が生じた場合には、フォアグラウンドビューコンポーザが事前計算済みのビュータイルを使用し、そのビューのために新たなビュータイルを計算する時間を不要にすることができる。頻繁にアクセスされる画像の場合には、ビュータイルキャッシュが最も最近にアクセスされたビュータイルを保持するので、ビューのためのビュータイルがビュータイルキャッシュ内に既に存在している可能性が高い。数百万個のビュータイルが生成され、最終的には画像ビューサーバの記憶容量を越えるかも知れないので、ビュータイルキャッシュのガベージコレクタが、記憶割当ての最大限度または空き記憶空間の最小限度に達する場合に、最も長時間アクセスのないビュータイルを除去する。 Furthermore, view tiling allows the image view server to effectively precalculate view tiles that may be determined by subsequent view requests. The background view composer of the image view server predicts requests for shifted views and calculates the view tiles that surround the most recent view request. When a request for a shifted view occurs, the foreground view composer can use a pre-computed view tile, eliminating the time to calculate a new view tile for that view. For frequently accessed images, the view tile cache holds the most recently accessed view tile, so it is likely that a view tile for the view already exists in the view tile cache. Millions of view tiles are generated and may eventually exceed the storage capacity of the image view server, so the view tile cache garbage collector reaches the maximum storage allocation or the minimum free storage space If not, remove view tiles that have not been accessed for the longest time.
特定のビューサイズをレンダリングするために必要なビュータイルの個数は、ビュータイルのサイズの2乗に反比例して増大する。64ピクセルのビュータイルでは、同じビュー区域をレンダリングするために、4倍の個数のビュータイルが必要になるだろうが、これは好ましくない。ビュータイルのオーバヘッドには、データの量に関するものとネットワークトランザクションの回数に関するものとが存在する。データ量オーバヘッドは、上述のような全体の画像ファイルサイズに比例したものとして、および、HTMLテキストファイルにおいてビュータイルの参照を行うために必要とされるデータとしての画像ファイルのヘッダサイズから生じる。ビュータイルの各々がネットワークトランザクションを必要とするので、ネットワークトランザクションのオーバヘッドは、ビュータイルが小さいほど増大する。より小さいビュータイルのサイズの場合に必要とされるネットワークトランザクションの個数の増大は、ビューをレンダリングするための応答を減速させるだろう。 The number of view tiles required to render a particular view size increases in inverse proportion to the square of the view tile size. A 64 pixel view tile would require four times as many view tiles to render the same view area, which is undesirable. The overhead of view tiles is related to the amount of data and the number of network transactions. The data amount overhead arises as proportional to the overall image file size as described above and from the header size of the image file as the data required to perform view tile referencing in the HTML text file. Since each view tile requires a network transaction, the network transaction overhead increases with smaller view tiles. Increasing the number of network transactions required for smaller view tile sizes will slow down the response to rendering the view.
フォアグラウンドビューコンポーザによって生成されたHTML出力ファイルは、Webサーバソフトウェアに送られ、さらに、Webブラウザに伝送される。画像Webブラウザは、画像ビューサーバからのHTML出力を使用して、画像のビューを形成するビュータイルの配列を構成して表示することによって、画像ビューワとして機能する。HTMLページデータは、表示されるべき各ビュータイルに関するサイズと位置とハイパーリンクとをリストする。ビュータイルは、あらゆる一般的な画像Webブラウザによって表示可能であるGIF画像ファイルフォーマットで記憶される。表示されるべきビュータイルがローカルキャッシュ内に存在する場合には、Webブラウザは、こうしたビュータイルの各々をローカルキャッシュから検索し、そうでない場合には、画像ビューサーバから検索する。 The HTML output file generated by the foreground view composer is sent to the web server software and further transmitted to the web browser. The image Web browser functions as an image viewer by configuring and displaying an array of view tiles that form a view of the image using HTML output from the image view server. The HTML page data lists the size, position and hyperlink for each view tile to be displayed. View tiles are stored in a GIF image file format that can be displayed by any common image web browser. If the view tiles to be displayed are in the local cache, the web browser retrieves each of these view tiles from the local cache, otherwise from the image view server.
要求ブローカ40は、ネットワークサーバインタフェースから生の要求を受け取り(130)、その要求を解釈し、他のシステム構成要素と通信し、適切な応答が何であるべきかを決定する。さらに、要求ブローカ40は、どの時点で応答を戻すかを決定する。好ましい実施形態では、要求ブローカは、Webサーバのコモンゲートウェイインタフェース(CGI)によって具体化される。Webサーバに対する他の直接的なアプリケーションプログラムインタフェース(API)を使用するという選択肢も存在する。 Request broker 40 receives (130) a raw request from the network server interface, interprets the request, communicates with other system components, and determines what the appropriate response should be. Further, the request broker 40 determines when to return a response. In the preferred embodiment, the request broker is embodied by the common gateway interface (CGI) of the web server. There is also an option to use other direct application program interface (API) to the web server.
同じ1つの画像ビューサーバ上での多数の画像のタイル化とキャッシングをサポートするために、各々のビュータイルは、ビュータイルURLを使用するWebブラウザによる参照のために一意的に識別されなければならない。この一意性は、記憶位置とビュータイル命名との組合せによって実現される。画像相互間の一意性は、各画像について別々の記憶サブディレクトリをビュータイルキャッシュ内に有することによって実現される。各々のビュースケールに関するビュータイルの一意性は、各ビュータイルに関するファイル名によって実現される。ビュータイル名が次の形式であることが好ましい。 In order to support tiling and caching of multiple images on the same single image view server, each view tile must be uniquely identified for reference by a web browser using the view tile URL. . This uniqueness is achieved by a combination of storage location and view tile naming. Uniqueness between images is achieved by having a separate storage subdirectory for each image in the view tile cache. The uniqueness of view tiles for each view scale is realized by the file name for each view tile. The view tile name is preferably in the following format:
V<SCALE> <TILE_NUMBER>.GIF
<SCALE>値は、256分の1を単位として表したビュースケール数のbase36符号化から形成される2文字の文字列である。<TILE_NUMBER>値は、次式によって求められる通りのタイル番号のbase36符号化から形成される5文字の文字列である。
V <SCALE><TILE_NUMBER>. GIF
The <SCALE> value is a 2-character string formed from base36 encoding of the view scale number expressed in units of 256. The <TILE_NUMBER> value is a 5-character string formed from the base36 encoding of the tile number as determined by the following equation.
TILE_NUMBER = TILE_ROW*IMAGE_TILE_WIDTH + TILE_COLUMN
TILE_ROW値とTILE_COLUMN値は、この計算の場合にはゼロからスタートする。例えば、2:1のスケールにされた画像に関する第1の横列の第2のタイルは、この好ましいプロトコルでは次のように命名されることになる。
TILE_NUMBER = TILE_ROW * IMAGE_TILE_WIDTH + TILE_COLUMN
The TILE_ROW and TILE_COLUMN values start from zero for this calculation. For example, the second tile in the first row for a 2: 1 scaled image would be named as follows in this preferred protocol:
V3J00001.GIF
画像ビューサーバ上の画像番号22に関する第1の横列の第2のタイルに対する完全なURL参照は、
http://hostname/view−tile−cache−path/000022/V3J00001.GIF
となるだろう。
V3J00001. GIF
The complete URL reference for the second tile in the first row for image number 22 on the image view server is
http: // hostname / view-tile-cache-path / 000022 / V3J00001. GIF
It will be.
ビュータイル位置とビュースケールとに加えて、他のビュー属性が、ビュータイル記憶位置またはビュータイル名の形に符号化されてもよい。これらの属性は、ビュー回転角度、ビューxミラー(view x−mirror)、ビューyミラー(view y−mirror)、および、反転ビューである。これらの追加のビュー属性を伴うビュータイル名を次のように符号化することが可能である。 In addition to the view tile location and view scale, other view attributes may be encoded in the form of view tile storage locations or view tile names. These attributes are view rotation angle, view x-mirror, view y-mirror, and reverse view. The view tile names with these additional view attributes can be encoded as follows:
V<SCALE> <TILE_NUMBER> <VIEW_ANGLE>
<X_MIRROR> <Y_MIRROR> <INVERT>.GIF
VIEW_ANGLEはA<ANGLE>の形式である。X_MIRRORとY_MIRRORとINVERTは、各々に単一の文字X、Y、Iによって符号化される。次に一例を示す。
V <SCALE><TILE_NUMBER><VIEW_ANGLE>
<X_MIRROR><Y_MIRROR><INVERT>. GIF
VIEW_ANGLE is in the form of A <ANGLE>. X_MIRROR, Y_MIRROR and INVERT are each encoded by a single character X, Y, I. An example is shown below.
V3J00001A90XYI.GIF
Webブラウザ30は、画像ビューサーバの要求ブローカ40によって処理されなければならない、上記の特別にフォーマットされた要求ユニフォームリソースロケータ(URL)を認識するように構成されている。これは、URLパスまたはドキュメントファイル名拡張子に要求ブローカ40を対応づけることによって実現される。
V3J00001A90XYI. GIF
The web browser 30 is configured to recognize the specially formatted request uniform resource locator (URL) that must be processed by the request broker 40 of the image view server. This is realized by associating the request broker 40 with a URL path or a document file name extension.
フォアグラウンドビューコンポーザ50は、ビュー要求コマンドを解釈して、どのビューが構成されなければならないか判定する(140)。このビュー要求は、スケールと位置を定義することによる絶対的なビュー要求であっても、先行のビューに対する差分としてスケールと位置を定義することによる相対的なビュー要求であっても、または、ビューの選択に関するシステムデフォルトにより暗黙に定義されてもよい。 The foreground view composer 50 interprets the view request command to determine which view must be configured (140). This view request can be an absolute view request by defining scale and position, a relative view request by defining scale and position as a difference to the previous view, or a view May be implicitly defined by system defaults for selection of
ビュー計算のソフトウェアルーチン150が図7に示されており、この図では、コマンドインタプリタ151がビュー要求を受け取り、そのビューのためにどのスケールのビュータイル格子が必要とされているかを決定し(152)、グリッド内のどのビュータイルがそのビューのために必要とされているかを決定し(150)(図2)、ビュータイルを生成し(153)、フォーマットされたビュー出力を生じさせる(154)。
A view
ビュータイルジェネレータルーチン160が、図8に示す好ましい諸ステップにしたがってビュータイルの実際の生成を行う。このビュータイルジェネレータは、ビューのためにどのビュータイルが必要とされているかに関する情報をビュー計算から受け取る。ビュータイルジェネレータは、どのビュータイルが既に生成済みでありかつキャッシュ内に存在しているか調べるために、キャッシュ80内のレコードにアクセスする。必要とされるビュータイルがキャッシュ内に存在する場合には、キャッシュガーべージコレクタがビュータイルを削除することを防止するために、ビュータイルジェネレータの最終アクセス時刻が更新される。必要とされるビュータイルがキャッシュ内に存在しない場合には、ビュータイルジェネレータは、画像ファイル90からビュータイルを生成する。ビュータイルジェネレータは、白黒ラスタ画像、グレースケールラスタ画像、カラーラスタ画像、および、Adobe Portable Document Format(PDF)やPostScriptやHPGL等のような様々なコンテンツに富む非ラスタフォーマットを含む、様々なディジタルドキュメントファイルフォーマットのレンダリングをサポートするソフトウェアイメージングライブラリを使用する。白黒画像データをレンダリングする場合には、圧縮画像の視覚的により訴求力の高いレンダリングを実現するために、イメージングライブラリのスケール対グレースケーリング(scale−to−gray scaling)を使用する。
A view tile generator routine 160 performs the actual generation of view tiles according to the preferred steps shown in FIG. This view tile generator receives information from the view calculation regarding which view tiles are needed for the view. The view tile generator accesses records in the cache 80 to see which view tiles have already been generated and exist in the cache. If the required view tile exists in the cache, the last access time of the view tile generator is updated to prevent the cache garbage collector from deleting the view tile. If the required view tile does not exist in the cache, the view tile generator generates a view tile from the
例えば、特定のビュー要求が、タイルB2、C2、B3、および、C3(図4Aと図5A)とを含むかも知れない。そうである場合は、これらのタイルを閲覧した後に、クライアントが、その直ぐ左のビューを要求することを決定し、サーバはタイルA2とタイルA3とを送るだろう(図4Bと図5B)。これは、クライアントがキャッシュ内にその他のタイルを保持していることを前提としている。クライアントがキャッシュ内にその他のタイルを保持していない場合には、タイルA2、A3、B2、B3が送られる。 For example, a particular view request may include tiles B2, C2, B3, and C3 (FIGS. 4A and 5A). If so, after viewing these tiles, the client decides to request its immediate left view and the server will send tile A2 and tile A3 (FIGS. 4B and 5B). This assumes that the client has other tiles in the cache. If the client does not have other tiles in the cache, tiles A2, A3, B2, B3 are sent.
完成したビューを表示するために必要とされるビュータイルを参照するために、フォーマットされた出力が生成される(170)。このフォーマットされた出力は、表示すべき各ビュータイルの順序と位置とハイパーリンクとを記述するためにHTMLを使用する。出力フォーマッタは、白色ビュータイルを検出することと、画像に特有の白色ビュータイルに関するハイパーリンクを共通の基準白色タイルで置き換えることとによって、さらに別の最適化を行う。これは、1つの白色タイル以外の全ての白色タイルの伝送を排除し、共通の白色タイルがWebブラウザによってキャッシングされると直ちに、あらゆる白色タイルを伝送する必要を排除する。 Formatted output is generated (170) to reference the view tiles needed to display the completed view. This formatted output uses HTML to describe the order and position of each view tile to be displayed and the hyperlink. The output formatter performs further optimization by detecting white view tiles and replacing the hyperlinks associated with image specific white view tiles with a common reference white tile. This eliminates the transmission of all white tiles other than one white tile and eliminates the need to transmit every white tile as soon as the common white tile is cached by the web browser.
フォアグラウンドビューコンポーザ50は、フォアグラウンドビューが構成されている時にバックグラウンドビューコンポーザ80を停止させることと、その次に、この新たなビューの構成が完了する(180)と直ちに、最新のビューに関する情報によってバックグラウンドビューコンポーザを始動させることによって、バックグラウンドビューコンポーザを制御する。 The foreground view composer 50 stops the background view composer 80 when the foreground view is being configured, and then immediately after this new view configuration is complete (180), the foreground view composer 50 Control the background view composer by starting the background view composer.
バックグラウンドビューコンポーザ80は、サーバに対するビュー要求の間に必要とされるかも知れないビュータイルを事前計算する(すなわち、構成する)ことによって、システムの性能を最適化するようにプログラムされていることが好ましい。事前計算すべきタイルは、最も最近のビューを取り囲んでおりかつこのビューと同じスケールを有するタイルである。ビュータイルの事前計算の順序は、最も最近のビューから時計回り方向に渦巻き状の順序である。不必要であるかも知れないビュータイルの無駄な生成を防止するために、ある1つのビューの周囲の事前計算されるビュータイルの個数は、システム構成パラメータによって制限されることが好ましい。事前計算されたビュータイルの数が、最も最近のビュースケールに関して最大数に達すると、事前計算を別のビュースケールに対して行うことが可能である。バックグラウンドビューコンポーザは、より重要なシステムタスクに対する干渉を最小限に抑えるために、低い優先順位で働くようにプログラムされることが好ましい。 The background view composer 80 is programmed to optimize system performance by precomputing (ie, configuring) view tiles that may be required during view requests to the server. Is preferred. The tile to be precomputed is the tile that surrounds the most recent view and has the same scale as this view. The order of view tile pre-computation is a spiral order from the most recent view in a clockwise direction. To prevent unnecessary generation of view tiles that may be unnecessary, the number of precomputed view tiles around a view is preferably limited by system configuration parameters. When the number of precomputed view tiles reaches a maximum number with respect to the most recent view scale, a precomputation can be made for another view scale. The background view composer is preferably programmed to work at a low priority in order to minimize interference to more important system tasks.
図6Aが、バックグラウンドビューコンポーザのアルゴリズムがどのように働くかを示している。クライアントによって特定のビューが要求されると、タイルC3、C4、D3、D4が配送され、これらのタイルがWebブラウザに配送された後に、サーバプログラム内のバックグラウンドビューコンポーザルーチンは、これらのタイルを囲むタイルを構成すなわち計算することによって、これらのタイルの周囲にE4から開始してタイルを生成する。クライアントがこのスケールファクタでこのページを閲覧し続ける限りは、サーバは、最後に要求されたタイルから外方に延びるビュータイルを計算するだろう。図6Bは、2回転分のタイルの生成の後に、クライアントによって行われる別の要求を示す。この要求はタイルG3、G4、H3、H4を求めた。この要求に答えるためにタイルの事前計算が始まると、この事前計算は、第1の回転においてタイルG5、H5、I5、I4、I3、I2、H2、G2を生成するが、縦列F内ではタイルを生成しようとはしないだろう。 FIG. 6A shows how the background view composer algorithm works. When a particular view is requested by the client, tiles C3, C4, D3, D4 are delivered, and after these tiles are delivered to the web browser, the background view composer routine in the server program By constructing or calculating the surrounding tiles, the tiles are generated starting from E4 around these tiles. As long as the client continues to browse this page at this scale factor, the server will calculate a view tile that extends outward from the last requested tile. FIG. 6B shows another request made by the client after generating two tiles of rotation. This request asked for tiles G3, G4, H3, H4. When tile precalculation begins to answer this requirement, this precalculation generates tiles G5, H5, I5, I4, I3, I2, H2, G2 in the first rotation, but in column F Will not try to generate
ビュータイルキャッシュのガベージコレクタのアルゴリズム70が、ビュータイルのための記憶装置の使用を管理することが好ましい(図10A、図10B、図10C)。このガベージコレクタは、記憶域の限度を下回る形にビュータイルのキャッシュ記憶域の使用を維持するように、および、空き記憶空間の限度を上回る空き記憶空間を維持するように、ビュータイルキャッシュ60を維持する(図1)。ガベージコレクタは、ビュータイルに関するサイズと古さの統計量とを集計するために、キャッシュを絶えずスキャンする。キャッシュサイズを減少させることが必要な時には、ガベージコレクタは、キャッシュサイズが範囲内に収まるまで、最も長時間アクセスのないビュータイルを選択して削除する。ガベージコレクタは、より重要なシステムタスクに対する干渉を最小限に抑えるために、低い優先順位で動作する。空き記憶空間の限度は、システムの記憶空間の空きが無くなることを防ぐためのフェールセイフ限度として設計されている。空き記憶空間の限度を周期的にチェックし、この限度を越える場合には、空ら記憶空間がその限度よりも大きくなるまで、ガベージコレクタが重要なシステムタスクとなって、高い優先順位で動作する。 The view tile cache garbage collector algorithm 70 preferably manages the use of storage for view tiles (FIGS. 10A, 10B, 10C). The garbage collector may configure the view tile cache 60 to maintain view tile cache storage usage below the storage limit and to maintain free storage space above the free storage space limit. Maintain (FIG. 1). The garbage collector constantly scans the cache to aggregate the size and age statistics for the view tiles. When it is necessary to reduce the cache size, the garbage collector selects and deletes view tiles that have not been accessed for the longest time until the cache size is within range. The garbage collector operates at a low priority to minimize interference to more important system tasks. The free storage space limit is designed as a fail-safe limit to prevent the system storage space from running out. The free storage space limit is checked periodically, and if this limit is exceeded, the garbage collector becomes an important system task and runs at a high priority until the free storage space becomes larger than that limit. .
ディジタルドキュメントファイルは、Webサーバ上に、または、ネットワーク内の別のサーバ上に記憶されてよい。画像ファイルは、典型的には、ドキュメントリポジトリ90内にドキュメントと共に記憶される属性情報を有するディジタルドキュメントとして管理される。ディジタルドキュメント管理システムが、画像ビューサーバソフトウェアとは無関係にまたはこのソフトウェアと共同で動作することが可能である。ディジタルドキュメントファイルは、ラスタ画像ファイルであっても、非ラスタドキュメントファイルであってもよい。ディジタルドキュメントファイルが非ラスタ形式である場合には、このファイルは、閲覧のために、白黒ラスタ画像、グレースケールラスタ画像、または、カラーラスタ画像にレンダリングされる。
The digital document file may be stored on the web server or on another server in the network. The image file is typically managed as a digital document having attribute information stored with the document in the
クライアントワークステーション10上の画像Webブラウザは、表示されるべきビュータイルキャッシュ60内のビュータイルに対するハイパーリンクと、画像ビューを形成するためのタイルのレイアウトを記述するフォーマッティングとを含むHTMLデータを、画像ビューサーバ210から受け取る。Webブラウザは、最初に、ビューのための各ビュータイル220をビューサーバから取り出さなければならない。最初のビューの後で、ビューが同じスケールで先行のビューに重なる時にはいつでも、Webブラウザは、以前に表示されたビュータイルを、ビューサーバからではなくWebブラウザのローカルキャッシュから検索する(210)ことが好ましい。
The image Web browser on the
ドキュメント閲覧の性能と活用性を、タイリングした画像のプログレッシブ表示を使用することによって増大させることが可能である。画像コンテントの残り部分をダウンロードしている間に、画像の概略的なビューが表示されることを可能にする画像ファイルフォーマットを使用することによって、ドキュメントの概略的なビューをより迅速に見ることが可能である。 Document browsing performance and usability can be increased by using progressive display of tiled images. Seeing a schematic view of a document more quickly by using an image file format that allows a schematic view of the image to be displayed while downloading the rest of the image content Is possible.
ほとんどのWebブラウザは1度に1つから4つのGIF画像だけを伝送することが可能であるにすぎないので、ビュー配列内のビュータイルを全て同時にプログレッシブ表示することは一般的に不可能である。したがって、プログレッシブ表示を実現するためには、クライアント側でのタイリングとキャッシングの利点を生かしながらドキュメント閲覧区域スクリーン全体がプログレッシブ表示の利点を活用することを可能にする別のデータフォーマットを受け入れるように、クライアント側のアルゴリズムが提供されることが好ましい。これは、Java(登録商標)、Java(登録商標)Script、または、ActiveX技術で記述されたアルゴリズムを使用するWebブラウザ環境において実現されることが可能である。クライアントビューワを強化するためのクライアントソフトウェアを使用することにより、別のビュータイル画像フォーマットと画像圧縮アルゴリズムとを使用することによって性能をさらに向上させることが可能である。重要な一例は、全てのビュータイルによって共有される1つの共通画像ヘッダだけを画像ビューサーバとクライアントに伝送させ、その次に、はじめに各ビュータイルの低解像度の縮小画像データを送り、その次に各ビュータイルの最大解像度の画像データを送るという最適化を行うと同時に、Portable Network Graphics(PNG)フォーマットを使用することである。 Since most web browsers can only transmit one to four GIF images at a time, it is generally impossible to progressively display all the view tiles in the view array simultaneously. . Therefore, to achieve progressive display, accept the alternative data format that allows the entire document viewing area screen to take advantage of progressive display while taking advantage of client-side tiling and caching. A client-side algorithm is preferably provided. This can be implemented in a web browser environment that uses algorithms described in Java (registered trademark), Java (registered trademark) Script, or ActiveX technology. By using client software to enhance the client viewer, performance can be further improved by using different view tile image formats and image compression algorithms. An important example is that only one common image header shared by all view tiles is transmitted to the image view server and client, then the low resolution reduced image data for each view tile is sent first, and then The optimization is to send the image data with the maximum resolution of each view tile, and at the same time, the Portable Network Graphics (PNG) format is used.
要求されたビューのためのビュータイル配列を表示することに加えて、HTMLデータは、ビュースケールの増減、ビュー区域の移動、または、ビューサイズの変更によって現在ビューを変更するためにサーバに要求を送る方法をユーザに提供するツールバーを形成するために使用される、ハイパーリンクを含むことが可能である。こうしたハイパーリンクは、現在ビューを参照し、さらには、ユーザによって選択されるハイパーリンクに基づいて新たなビューを構成するように画像ビューサーバに命令する命令コードも含むだろう。 In addition to displaying the view tile array for the requested view, the HTML data requests the server to change the current view by increasing or decreasing the view scale, moving the view area, or changing the view size. It can include hyperlinks that are used to form a toolbar that provides the user with a way to send. Such hyperlinks will also refer to the current view and will also include instruction code that instructs the image view server to construct a new view based on the hyperlink selected by the user.
本発明の方法と装置とソフトウェア製品が、ネットワークを効率的に使用する、画像ビューサーバにアクセスするために画像Webブラウザを使用する改良されたクライアント/サーバアーキテクチャを提供する。この好ましい方法による画像タイリングとキャッシングとを使用することによって、既に受け取られかつ閲覧された画像の新たなビューをユーザが選択する時に、比較的少量のデータを伝送するだけで足りる。サーバは要求された画像を要求されたフォーマットでワークステーションに送り、その次に、画像ファイルのローカルコピーから画像を閲覧することを可能にする。画像ビューサーバは、画像Webブラウザによってワークステーション上で表示されることが可能な画像のビューを提供するネットワーク画像ビューサーバにアクセスするためのより優れた解決策を、ワークステーション用のより低コストの画像Webブラウザを使用して実現する。例えば、200画素/インチの白黒画像である場合には、Eサイズの技術図面のラスタ画像ファイルのサイズが800万バイトである。一般的に使用されているデータ圧縮を使用する場合に、この画像ファイルのサイズを250キロバイトに縮小することが可能である。約3キロバイト/秒のスループットを有する28.8キロボーの低帯域幅モデムネットワーク接続の場合には、閲覧用のワークステーションアプリケーションに前述の画像ファイルを伝送するためには83秒(250KB/3KB/秒)を要する。画像ビューサーバを使用する場合には、表示すべき画像データを送信するだけで足りる。896×512画素の典型的なビューサイズが、128×128画素のビュータイルの7×4配列で形成される。白黒ビュータイルが、一般的に各々512バイトのタイルを生じさせる圧縮フォーマットで伝送され、したがって、ビュー全体が約14キロバイト(0.5KB×28タイル)であり、伝送には約4.8秒(14KB/3KB/秒)を要する。この画像閲覧方法は、ネットワーク接続に対する要求を下げつつ、より優れた応答を実現する。ローカルエリアネットワークは典型的に10メガビット/秒の媒体を使用するので、画像ビューサーバの効率の良さは明らかには示されない。しかし、10メガビット/秒のネットワークを100人のユーザが共用する場合には、ユーザ1人当たりの平均帯域幅が約12.5キロバイト/秒にすぎず、したがって、画像ビューサーバの効率の良さがやはり利益をもたらすことになる。画像ビューサーバの別の利点は、ビュー画像のサイズが大きくなってもデータ伝送サイズが一定不変のままであるということである。より大きい画像や、より高解像度の画像や、より圧縮度の低い画像の場合のように、画像ファイルのサイズが上述の事例のサイズよりも4倍大きいサイズである場合には、従来の画像ビューワのネットワーク負荷は4倍になるが、一方、本発明の画像ビューサーバによるネットワーク負荷は変化しないままだろう。 The methods and apparatus and software products of the present invention provide an improved client / server architecture that uses an image Web browser to access an image view server that efficiently uses the network. By using image tiling and caching according to this preferred method, it is only necessary to transmit a relatively small amount of data when the user selects a new view of an already received and viewed image. The server sends the requested image to the workstation in the requested format, and then allows the image to be viewed from a local copy of the image file. An image view server provides a better solution for accessing a network image view server that provides a view of an image that can be displayed on a workstation by an image web browser, a lower cost for the workstation. This is realized using an image Web browser. For example, in the case of a monochrome image of 200 pixels / inch, the size of the raster image file of the E size technical drawing is 8 million bytes. When using commonly used data compression, the size of this image file can be reduced to 250 kilobytes. For a 28.8 kilobaud low bandwidth modem network connection with a throughput of about 3 kilobytes / second, 83 seconds (250 KB / 3 KB / second) to transmit the aforementioned image file to a viewing workstation application. ). When an image view server is used, it is sufficient to transmit image data to be displayed. A typical view size of 896 × 512 pixels is formed with a 7 × 4 array of 128 × 128 pixel view tiles. Black-and-white view tiles are typically transmitted in a compressed format that yields 512-byte tiles each, so the entire view is approximately 14 kilobytes (0.5 KB x 28 tiles) and approximately 4.8 seconds for transmission ( 14 KB / 3 KB / second). This image browsing method realizes a better response while reducing the demand for network connection. Since local area networks typically use 10 megabits / second media, the efficiency of the image view server is not clearly shown. However, if 100 users share a 10 megabit / second network, the average bandwidth per user is only about 12.5 kilobytes / second, so the efficiency of the image view server is still good. Will be profitable. Another advantage of the image view server is that the data transmission size remains constant as the view image size increases. If the size of the image file is four times larger than the size of the above case, as in the case of a larger image, a higher resolution image, or a lower compression image, a conventional image viewer is used. Network load will be quadrupled, while the network load by the image view server of the present invention will remain unchanged.
画像Webブラウザが、安価な一般的なワークステーションアプリケーションであり、Webブラウザに関するコストが、他の目的のためにワークステーションに関して必要とされるコストである場合が多く、かつ、多くの場合には、ワークステーションのオペレーティングシステムと共に含まれているので、本発明はソフトウェア購入コストを低減させる。サーバソフトウェアのコストを数百台のクライアントワークステーション全体で分担することが可能である。 The image web browser is a cheap general workstation application, and the cost associated with the web browser is often the cost required for the workstation for other purposes, and in many cases, As included with the workstation operating system, the present invention reduces the cost of purchasing software. Server software costs can be shared across hundreds of client workstations.
既に管理されている一般的なワークステーションアプリケーションである画像Webブラウザを使用することによって、専用の追加のワークステーションソフトウェアアプリケーションを排除することによって、および、各ワークステーションで管理するのではなく中央サーバだけにおいて管理すればよいサーバソフトウェアを使用することによって、ソフトウェア管理コストが低減させられる。 By using the image web browser, a common workstation application already managed, by eliminating dedicated additional workstation software applications, and only on the central server rather than managing each workstation Software management costs can be reduced by using server software that only needs to be managed.
画像Webブラウザは、一般的なタイプのワークステーション全てと、ノートブックコンピュータとパームトップコンピュータとネットワークコンピュータとWebテレビアダプタとのような他の装置とにおいて、様々に利用可能なソリューションを提供するために使用可能である。
本発明の範囲または思想から逸脱することなしに様々な改変と変形とをネットワーク画像ビューサーバと画像ビューサーバ方法とに加えることが可能であることが、当業者には明らかだろう。本明細書で説明した本発明の仕様と実施とを考察することによって、本発明の他の実施形態が当業者に明らかになるだろう。上述の仕様と実施形態が単なる具体例にすぎないことを意図しており、本発明の真の範囲と思想は後述の請求項によって示されている。
Image Web browsers to provide a variety of solutions that can be used on all common types of workstations and other devices such as notebook computers, palmtop computers, network computers, and Web TV adapters. It can be used.
It will be apparent to those skilled in the art that various modifications and variations can be made to the network image view server and the image view server method without departing from the scope or spirit of the invention. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention described herein. It is intended that the above specifications and embodiments be merely specific examples, with the true scope and spirit of the invention being indicated by the following claims.
Claims (27)
ディジタルドキュメント画像ファイルを前記ファイルサーバに格納し、
ユニフォームリソースロケータ(URL)コードの形でWebブラウザから前記ディジタルドキュメント画像の少なくとも特定された部分に対するビューの要求を受け取り、
要求されている画像ファイルおよびフォーマット選択を識別し、
前記画像ファイルを格子状のビュータイルに、前記識別されたフォーマット選択によって特定される前記要求されたビューをビュータイルの配列に分割し、ここで、前記ビュータイルの配列は、前記ディジタルドキュメント画像の前記特定された部分のビューの要求を満たす、前記格子状のビュータイルの部分集合であり、
要求元のWebブラウザに対して、前記ディジタルドキュメント画像の前記特定された部分の前記ビュータイルの配列に関するHTMLコードを伝送することを含み、
ここで、シフトされたビューの要求を受け取ったとき、前記ファイルサーバは、前記シフトされたビューの要求に答えて、シフトされたビュー全体に対する全てのビュータイルを前記ファイルサーバが変更し、計算し、伝送することなく、以前に伝送されたビュータイルのいくつかを使用して表示用のシフトされた配列を形成すべく、前記格子状のビュータイルからの追加的なビュータイルのみを、前記要求元のWebブラウザへ提供し、
前記Webブラウザはシフトされたビューの要求に答えてシフトされたビュー全体を表示し、前記シフトされたビューは、シフトされたビュー全体を表示するための、前記シフトされたビューの要求に答えて計算され転送された追加的なビュータイルと前記以前に伝送されたビュータイルのいくつかとの配列を含む、
方法。 A method for identifying and delivering graphic images from a file server,
Storing a digital document image file in the file server;
Receiving a view request for at least a specified portion of the digital document image from a web browser in the form of a uniform resource locator (URL) code;
Identify the requested image file and format selection,
Dividing the image file into a grid of view tiles and dividing the requested view identified by the identified format selection into an array of view tiles, wherein the array of view tiles is A subset of the grid-like view tiles that satisfy the view requirement of the identified portion;
Transmitting, to a requesting web browser, an HTML code relating to the array of view tiles of the identified portion of the digital document image;
Here, when a request for a shifted view is received, the file server changes and calculates all the view tiles for the entire shifted view in response to the request for the shifted view. Without requesting, only the additional view tiles from the grid-like view tiles are required to form a shifted array for display using some of the previously transmitted view tiles. To the original web browser,
The web browser displays the entire shifted view in response to the shifted view request, and the shifted view responds to the shifted view request to display the entire shifted view. Including an array of calculated and transferred additional view tiles and some of the previously transmitted view tiles;
Method.
前記要求は、画像ファイルと、前記画像ファイル内のページの番号と、表示すべき画像の位置、いずれも画像の表示に関するものであるスケール、回転角度、xミラー、yミラー、反転、領域、ビューの更新を選択するためのopコード、および、前記ビューの表現を決めるためのビューテンプレートの1つまたは複数を含むフォーマットとを識別し、前記ビュータイルに関する伝送されたHTMLコードは、要求されたフォーマットで要求されたグラフィック画像の要求されたビューを前記要求元のWebブラウザに表示させる請求項1に記載の方法。 The image file has a plurality of pages,
The request includes the image file, the page number in the image file, the position of the image to be displayed, and the scale, the rotation angle, the x mirror, the y mirror, the inversion, the region, the view An op-code for selecting an update of the view and a format including one or more of the view templates for determining the representation of the view, and the transmitted HTML code for the view tile is the requested format The method according to claim 1, wherein the requested view of the graphic image requested in step (a) is displayed on the requesting web browser.
TILE NUMBER = TILE ROW*IMAGE TILE WIDTH + TILE COLUMN
ここでTILE ROW値とTILE COLUMN値はゼロからスタートする請求項11に記載の方法。 View tile is V <SCALE><TILE NUMBER>. Named in GIF format, where the <SCALE> value is a two-character string formed from a base36 encoding of the view scale number expressed in 1/256 units, and <TILE NUMBER> is a 5-character string formed from the base36 encoding of the tile number as determined by the following equation:
TILE NUMBER = TILE ROW * IMAGE TILE WIDTH + TILE COLUMN
Where TILE ROW value and TILE 12. The method of claim 11, wherein the COLUMN value starts from zero.
V<SCALE> <TILE NUMBER> <VIEW ANGLE> <X MIRROR> <Y MIRROR> <INVERT>.GIF
の形に符号化され、ここでVIEW ANGLEはA<ANGLE>の形式であり、X MIRRORとY MIRRORとINVERTは各々に単一の文字X、Y、Iによって符号化される請求項11に記載の方法。 The rotation angle, the x mirror, the y mirror, and the inversion information are expressed as URL naming format V <SCALE><TILE NUMBER><VIEW ANGLE><X MIRROR><Y MIRROR><INVERT>. GIF
Where VIEW is encoded ANGLE is in the form of A <ANGLE> and X MIRROR and Y 12. The method of claim 11, wherein MIRROR and INVERT are each encoded by a single letter X, Y, I.
画像ファイルおよびフォーマットを識別するビューを特定するURLコードの形でWebブラウザからの要求を受け取り、
要求されている画像ファイルとフォーマットを識別し、
識別された画像ファイルと識別されたフォーマットによって特定される、要求されているビューを格子状のビュータイルに分割して前記ディジタルドキュメント画像の前記特定された部分のビューの要求を満たす前記格子状のビュータイルの部分集合を含むビュータイルの配列を形成し、
この結果として得られた前記ディジタルドキュメント画像の前記特定された部分のビュータイルの配列に関するHTMLコードをWebブラウザに伝送するようにプログラムされているファイルサーバであって、
ここで、シフトされたビューの要求を受け取ったとき、前記ファイルサーバは、前記シフトされたビューの要求に答えて、シフトされたビュー全体に対する全てのビュータイルを前記ファイルサーバが変更し、計算し、伝送することなく、以前に伝送されたビュータイルのいくつかを使用してWebブラウザによる表示用のシフトされた配列であって、前記シフトされたビューの要求に答えて計算され転送された追加的なビュータイルと前記以前に伝送されたビュータイルのいくつかとの配列をシフトされたビューとして含むシフトされた配列を形成すべく、前記格子状のビュータイルからの追加的なビュータイルのみを、前記要求元のWebブラウザへ提供する、
ファイルサーバ。 Suitable for storing digital document image files,
Receiving a request from a web browser in the form of a URL code identifying the view identifying the image file and format;
Identify the requested image file and format,
The grid view specified by the identified image file and the identified format is divided into grid view tiles to satisfy the view requirements of the specified portion of the digital document image. Form an array of view tiles containing a subset of view tiles,
A file server programmed to transmit HTML code relating to an array of view tiles of the identified portion of the digital document image obtained as a result to a web browser;
Here, when a request for a shifted view is received, the file server changes and calculates all view tiles for the entire shifted view in response to the request for the shifted view. A shifted array for display by a web browser using some of the previously transmitted view tiles without transmission, added and calculated and transferred in response to the request for the shifted view Only additional view tiles from the grid view tiles to form a shifted array that includes an array of typical view tiles and an array of some of the previously transmitted view tiles as a shifted view, Providing to the requesting Web browser;
file server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009257987A JP2010033611A (en) | 2009-11-11 | 2009-11-11 | High-efficiency client server, and network image view server using tiling and caching architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009257987A JP2010033611A (en) | 2009-11-11 | 2009-11-11 | High-efficiency client server, and network image view server using tiling and caching architecture |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007302048A Division JP2008099320A (en) | 2007-11-21 | 2007-11-21 | High-efficiency client server, and network image view server using tiling and caching architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010033611A true JP2010033611A (en) | 2010-02-12 |
Family
ID=41737910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009257987A Pending JP2010033611A (en) | 2009-11-11 | 2009-11-11 | High-efficiency client server, and network image view server using tiling and caching architecture |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010033611A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05282122A (en) * | 1992-03-30 | 1993-10-29 | Mitsubishi Electric Corp | Device for updating graphic display |
JPH1013961A (en) * | 1996-04-24 | 1998-01-16 | Fujitsu Ltd | Mobile telephone system and mobile terminal, information center and storage medium used for the system |
-
2009
- 2009-11-11 JP JP2009257987A patent/JP2010033611A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05282122A (en) * | 1992-03-30 | 1993-10-29 | Mitsubishi Electric Corp | Device for updating graphic display |
JPH1013961A (en) * | 1996-04-24 | 1998-01-16 | Fujitsu Ltd | Mobile telephone system and mobile terminal, information center and storage medium used for the system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6510459B2 (en) | Network image view server using efficient client-server, tiling and caching architecture | |
US7284069B2 (en) | Method for document viewing | |
US6950101B2 (en) | Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution | |
US6700589B1 (en) | Method, system, and program for magnifying content downloaded from a server over a network | |
US20040003117A1 (en) | Method and apparatus for dynamic optimization and network delivery of multimedia content | |
WO2003104914A2 (en) | Apparatus and method for sharing digital content of an image across a communication network | |
US7248262B2 (en) | Process and data structure for providing required resolution of data transmitted through a communications link of given bandwidth | |
JP4343432B2 (en) | Highly efficient client server, network image view server using tiling and caching architecture | |
EP1158749A2 (en) | A method and apparatus for distributing color corrected images across a network using distributed caching | |
US20050005028A1 (en) | Automated image markup system and method | |
JP2010033611A (en) | High-efficiency client server, and network image view server using tiling and caching architecture | |
JP2008099320A (en) | High-efficiency client server, and network image view server using tiling and caching architecture | |
US20100131673A1 (en) | System and method for distributing foveated data in a network | |
US7620734B2 (en) | System and method for distributing foveated data in a network | |
MXPA00007868A (en) | Network image view server using efficient client-server, tiling and caching architecture | |
CN100367277C (en) | Method and equipment for recogniting and deliverying image by computer network file server | |
Palit et al. | Modulation for scalable multimedia content delivery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100706 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101005 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101008 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110308 |